#include <tree_sitter/parser.h>

#if defined(__GNUC__) || defined(__clang__)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
#endif

#define LANGUAGE_VERSION 4
#define STATE_COUNT 14415
#define SYMBOL_COUNT 274
#define ALIAS_COUNT 7
#define TOKEN_COUNT 148
#define EXTERNAL_TOKEN_COUNT 29
#define MAX_ALIAS_SEQUENCE_LENGTH 6

enum {
  sym__simple_string = 1,
  sym__simple_symbol = 2,
  sym__simple_subshell = 3,
  sym__simple_regex = 4,
  sym__simple_word_list = 5,
  sym__simple_heredoc_body = 6,
  sym__string_beginning = 7,
  sym__symbol_beginning = 8,
  sym__subshell_beginning = 9,
  sym__regex_beginning = 10,
  sym__word_list_beginning = 11,
  sym__heredoc_body_beginning = 12,
  sym__string_middle = 13,
  sym__heredoc_body_middle = 14,
  sym__string_end = 15,
  sym__heredoc_body_end = 16,
  sym_heredoc_beginning = 17,
  sym__line_break = 18,
  sym__element_reference_left_bracket = 19,
  sym__block_ampersand = 20,
  sym__splat_star = 21,
  sym__argument_list_left_paren = 22,
  sym__scope_double_colon = 23,
  sym__keyword_colon = 24,
  sym__unary_minus = 25,
  sym__binary_minus = 26,
  sym__binary_star = 27,
  sym__singleton_class_left_angle_left_langle = 28,
  anon_sym___END__ = 29,
  sym_uninterpreted = 30,
  anon_sym_BEGIN = 31,
  anon_sym_LBRACE = 32,
  anon_sym_RBRACE = 33,
  anon_sym_END = 34,
  anon_sym_def = 35,
  anon_sym_LPAREN = 36,
  anon_sym_RPAREN = 37,
  anon_sym_DOT = 38,
  anon_sym_COLON_COLON = 39,
  anon_sym_end = 40,
  anon_sym_COMMA = 41,
  anon_sym_PIPE = 42,
  anon_sym_SEMI = 43,
  anon_sym_STAR = 44,
  anon_sym_STAR_STAR = 45,
  anon_sym_AMP = 46,
  anon_sym_EQ = 47,
  anon_sym_class = 48,
  anon_sym_LT = 49,
  anon_sym_module = 50,
  anon_sym_return = 51,
  anon_sym_yield = 52,
  anon_sym_break = 53,
  anon_sym_next = 54,
  anon_sym_redo = 55,
  anon_sym_retry = 56,
  anon_sym_if = 57,
  anon_sym_unless = 58,
  anon_sym_while = 59,
  anon_sym_until = 60,
  anon_sym_rescue = 61,
  anon_sym_for = 62,
  anon_sym_in = 63,
  anon_sym_do = 64,
  anon_sym_case = 65,
  anon_sym_when = 66,
  anon_sym_elsif = 67,
  anon_sym_else = 68,
  anon_sym_then = 69,
  anon_sym_begin = 70,
  anon_sym_ensure = 71,
  anon_sym_EQ_GT = 72,
  anon_sym_RBRACK = 73,
  anon_sym_AMP_DOT = 74,
  anon_sym_PLUS_EQ = 75,
  anon_sym_DASH_EQ = 76,
  anon_sym_STAR_EQ = 77,
  anon_sym_STAR_STAR_EQ = 78,
  anon_sym_SLASH_EQ = 79,
  anon_sym_PIPE_PIPE_EQ = 80,
  anon_sym_PIPE_EQ = 81,
  anon_sym_AMP_AMP_EQ = 82,
  anon_sym_AMP_EQ = 83,
  anon_sym_PERCENT_EQ = 84,
  anon_sym_GT_GT_EQ = 85,
  anon_sym_LT_LT_EQ = 86,
  anon_sym_CARET_EQ = 87,
  anon_sym_QMARK = 88,
  anon_sym_COLON = 89,
  anon_sym_DOT_DOT = 90,
  anon_sym_DOT_DOT_DOT = 91,
  anon_sym_and = 92,
  anon_sym_or = 93,
  anon_sym_PIPE_PIPE = 94,
  anon_sym_AMP_AMP = 95,
  anon_sym_LT_LT = 96,
  anon_sym_GT_GT = 97,
  anon_sym_EQ_EQ = 98,
  anon_sym_BANG_EQ = 99,
  anon_sym_EQ_EQ_EQ = 100,
  anon_sym_LT_EQ_GT = 101,
  anon_sym_EQ_TILDE = 102,
  anon_sym_BANG_TILDE = 103,
  anon_sym_LT_EQ = 104,
  anon_sym_GT = 105,
  anon_sym_GT_EQ = 106,
  anon_sym_CARET = 107,
  anon_sym_PLUS = 108,
  anon_sym_SLASH = 109,
  anon_sym_PERCENT = 110,
  anon_sym_defined_QMARK = 111,
  anon_sym_not = 112,
  anon_sym_BANG = 113,
  anon_sym_TILDE = 114,
  sym_constant = 115,
  sym_identifier = 116,
  sym_instance_variable = 117,
  sym_class_variable = 118,
  sym_global_variable = 119,
  anon_sym_alias = 120,
  anon_sym_defined = 121,
  anon_sym_false = 122,
  anon_sym_nil = 123,
  anon_sym_self = 124,
  anon_sym_super = 125,
  anon_sym_true = 126,
  anon_sym_undef = 127,
  anon_sym_DASH = 128,
  anon_sym_PLUS_AT = 129,
  anon_sym_DASH_AT = 130,
  anon_sym_LBRACK_RBRACK = 131,
  anon_sym_LBRACK_RBRACK_EQ = 132,
  anon_sym_BQUOTE = 133,
  sym_comment = 134,
  sym_integer = 135,
  sym_float = 136,
  aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH = 137,
  anon_sym_r = 138,
  anon_sym_TRUE = 139,
  anon_sym_FALSE = 140,
  anon_sym_NIL = 141,
  sym_keyword__FILE__ = 142,
  sym_keyword__LINE__ = 143,
  sym_keyword__ENCODING__ = 144,
  sym__character_literal = 145,
  anon_sym_LBRACK = 146,
  anon_sym_DASH_GT = 147,
  sym_program = 148,
  sym__statements = 149,
  sym__top_level_statement = 150,
  sym_begin_block = 151,
  sym_end_block = 152,
  sym__statement = 153,
  sym_method = 154,
  sym_singleton_method = 155,
  sym__method_rest = 156,
  sym_method_parameters = 157,
  sym_lambda_parameters = 158,
  sym_block_parameters = 159,
  sym__formal_parameter = 160,
  sym__simple_formal_parameter = 161,
  sym_destructured_parameter = 162,
  sym_splat_parameter = 163,
  sym_hash_splat_parameter = 164,
  sym_block_parameter = 165,
  sym_keyword_parameter = 166,
  sym_optional_parameter = 167,
  sym_class = 168,
  sym_superclass = 169,
  sym_singleton_class = 170,
  sym_module = 171,
  sym_return = 172,
  sym_yield = 173,
  sym_break = 174,
  sym_next = 175,
  sym_redo = 176,
  sym_retry = 177,
  sym_if_modifier = 178,
  sym_unless_modifier = 179,
  sym_while_modifier = 180,
  sym_until_modifier = 181,
  sym_rescue_modifier = 182,
  sym_while = 183,
  sym_until = 184,
  sym_for = 185,
  sym_in = 186,
  sym__do = 187,
  sym_case = 188,
  sym_when = 189,
  sym_pattern = 190,
  sym_if = 191,
  sym_unless = 192,
  sym_elsif = 193,
  sym_else = 194,
  sym__then = 195,
  sym__if_tail = 196,
  sym_begin = 197,
  sym_ensure = 198,
  sym_rescue = 199,
  sym_exceptions = 200,
  sym_exception_variable = 201,
  sym__body_statement = 202,
  sym__arg = 203,
  sym__primary = 204,
  sym_parenthesized_statements = 205,
  sym_element_reference = 206,
  sym_scope_resolution = 207,
  sym_call = 208,
  sym_method_call = 209,
  sym_argument_list = 210,
  sym_argument_list_with_parens = 211,
  sym__argument_list_with_parens = 212,
  sym__argument_list_with_trailing_comma = 213,
  sym__argument = 214,
  sym_splat_argument = 215,
  sym_hash_splat_argument = 216,
  sym_block_argument = 217,
  sym_do_block = 218,
  sym_block = 219,
  sym_assignment = 220,
  sym_operator_assignment = 221,
  sym_conditional = 222,
  sym_range = 223,
  sym_binary = 224,
  sym_unary = 225,
  sym_right_assignment_list = 226,
  sym__arg_or_splat_arg = 227,
  sym_left_assignment_list = 228,
  sym__mlhs = 229,
  sym__simple_mlhs = 230,
  sym_destructured_left_assignment = 231,
  sym_rest_assignment = 232,
  sym__lhs = 233,
  sym__variable = 234,
  sym_reserved_identifier = 235,
  sym_operator = 236,
  sym__method_name = 237,
  sym_setter = 238,
  sym_undef = 239,
  sym_alias = 240,
  sym_symbol = 241,
  sym_complex = 242,
  sym_rational = 243,
  sym_super = 244,
  sym_true = 245,
  sym_false = 246,
  sym_self = 247,
  sym_nil = 248,
  sym_chained_string = 249,
  sym_string = 250,
  sym_subshell = 251,
  sym_heredoc_end = 252,
  sym_array = 253,
  sym_hash = 254,
  sym__hash_items = 255,
  sym_pair = 256,
  sym_regex = 257,
  sym_lambda = 258,
  sym_empty_statement = 259,
  sym__terminator = 260,
  aux_sym__statements_repeat1 = 261,
  aux_sym_method_parameters_repeat1 = 262,
  aux_sym_lambda_parameters_repeat1 = 263,
  aux_sym_block_parameters_repeat1 = 264,
  aux_sym_case_repeat1 = 265,
  aux_sym_when_repeat1 = 266,
  aux_sym_exceptions_repeat1 = 267,
  aux_sym_argument_list_repeat1 = 268,
  aux_sym_argument_list_repeat2 = 269,
  aux_sym_undef_repeat1 = 270,
  aux_sym_symbol_repeat1 = 271,
  aux_sym_chained_string_repeat1 = 272,
  aux_sym_heredoc_end_repeat1 = 273,
  anon_alias_sym_LPAREN = 274,
  anon_alias_sym_STAR = 275,
  anon_alias_sym_DASH = 276,
  anon_alias_sym_COLON_COLON = 277,
  anon_alias_sym_LT_LT = 278,
  anon_alias_sym_LBRACK = 279,
  alias_sym_identifier = 280,
};

static const char *ts_symbol_names[] = {
  [sym__simple_string] = "_simple_string",
  [sym__simple_symbol] = "_simple_symbol",
  [sym__simple_subshell] = "_simple_subshell",
  [sym__simple_regex] = "_simple_regex",
  [sym__simple_word_list] = "_simple_word_list",
  [sym__simple_heredoc_body] = "_simple_heredoc_body",
  [sym__string_beginning] = "_string_beginning",
  [sym__symbol_beginning] = "_symbol_beginning",
  [sym__subshell_beginning] = "_subshell_beginning",
  [sym__regex_beginning] = "_regex_beginning",
  [sym__word_list_beginning] = "_word_list_beginning",
  [sym__heredoc_body_beginning] = "_heredoc_body_beginning",
  [sym__string_middle] = "_string_middle",
  [sym__heredoc_body_middle] = "_heredoc_body_middle",
  [sym__string_end] = "_string_end",
  [sym__heredoc_body_end] = "_heredoc_body_end",
  [sym_heredoc_beginning] = "heredoc_beginning",
  [sym__line_break] = "_line_break",
  [sym__element_reference_left_bracket] = "_element_reference_left_bracket",
  [sym__block_ampersand] = "_block_ampersand",
  [sym__splat_star] = "_splat_star",
  [sym__argument_list_left_paren] = "_argument_list_left_paren",
  [sym__scope_double_colon] = "_scope_double_colon",
  [sym__keyword_colon] = "_keyword_colon",
  [sym__unary_minus] = "_unary_minus",
  [sym__binary_minus] = "_binary_minus",
  [sym__binary_star] = "_binary_star",
  [sym__singleton_class_left_angle_left_langle] = "_singleton_class_left_angle_left_langle",
  [ts_builtin_sym_end] = "END",
  [anon_sym___END__] = "__END__",
  [sym_uninterpreted] = "uninterpreted",
  [anon_sym_BEGIN] = "BEGIN",
  [anon_sym_LBRACE] = "{",
  [anon_sym_RBRACE] = "}",
  [anon_sym_END] = "END",
  [anon_sym_def] = "def",
  [anon_sym_LPAREN] = "(",
  [anon_sym_RPAREN] = ")",
  [anon_sym_DOT] = ".",
  [anon_sym_COLON_COLON] = "::",
  [anon_sym_end] = "end",
  [anon_sym_COMMA] = ",",
  [anon_sym_PIPE] = "|",
  [anon_sym_SEMI] = ";",
  [anon_sym_STAR] = "*",
  [anon_sym_STAR_STAR] = "**",
  [anon_sym_AMP] = "&",
  [anon_sym_EQ] = "=",
  [anon_sym_class] = "class",
  [anon_sym_LT] = "<",
  [anon_sym_module] = "module",
  [anon_sym_return] = "return",
  [anon_sym_yield] = "yield",
  [anon_sym_break] = "break",
  [anon_sym_next] = "next",
  [anon_sym_redo] = "redo",
  [anon_sym_retry] = "retry",
  [anon_sym_if] = "if",
  [anon_sym_unless] = "unless",
  [anon_sym_while] = "while",
  [anon_sym_until] = "until",
  [anon_sym_rescue] = "rescue",
  [anon_sym_for] = "for",
  [anon_sym_in] = "in",
  [anon_sym_do] = "do",
  [anon_sym_case] = "case",
  [anon_sym_when] = "when",
  [anon_sym_elsif] = "elsif",
  [anon_sym_else] = "else",
  [anon_sym_then] = "then",
  [anon_sym_begin] = "begin",
  [anon_sym_ensure] = "ensure",
  [anon_sym_EQ_GT] = "=>",
  [anon_sym_RBRACK] = "]",
  [anon_sym_AMP_DOT] = "&.",
  [anon_sym_PLUS_EQ] = "+=",
  [anon_sym_DASH_EQ] = "-=",
  [anon_sym_STAR_EQ] = "*=",
  [anon_sym_STAR_STAR_EQ] = "**=",
  [anon_sym_SLASH_EQ] = "/=",
  [anon_sym_PIPE_PIPE_EQ] = "||=",
  [anon_sym_PIPE_EQ] = "|=",
  [anon_sym_AMP_AMP_EQ] = "&&=",
  [anon_sym_AMP_EQ] = "&=",
  [anon_sym_PERCENT_EQ] = "%=",
  [anon_sym_GT_GT_EQ] = ">>=",
  [anon_sym_LT_LT_EQ] = "<<=",
  [anon_sym_CARET_EQ] = "^=",
  [anon_sym_QMARK] = "?",
  [anon_sym_COLON] = ":",
  [anon_sym_DOT_DOT] = "..",
  [anon_sym_DOT_DOT_DOT] = "...",
  [anon_sym_and] = "and",
  [anon_sym_or] = "or",
  [anon_sym_PIPE_PIPE] = "||",
  [anon_sym_AMP_AMP] = "&&",
  [anon_sym_LT_LT] = "<<",
  [anon_sym_GT_GT] = ">>",
  [anon_sym_EQ_EQ] = "==",
  [anon_sym_BANG_EQ] = "!=",
  [anon_sym_EQ_EQ_EQ] = "===",
  [anon_sym_LT_EQ_GT] = "<=>",
  [anon_sym_EQ_TILDE] = "=~",
  [anon_sym_BANG_TILDE] = "!~",
  [anon_sym_LT_EQ] = "<=",
  [anon_sym_GT] = ">",
  [anon_sym_GT_EQ] = ">=",
  [anon_sym_CARET] = "^",
  [anon_sym_PLUS] = "+",
  [anon_sym_SLASH] = "/",
  [anon_sym_PERCENT] = "%",
  [anon_sym_defined_QMARK] = "defined?",
  [anon_sym_not] = "not",
  [anon_sym_BANG] = "!",
  [anon_sym_TILDE] = "~",
  [sym_constant] = "constant",
  [sym_identifier] = "identifier",
  [sym_instance_variable] = "instance_variable",
  [sym_class_variable] = "class_variable",
  [sym_global_variable] = "global_variable",
  [anon_sym_alias] = "alias",
  [anon_sym_defined] = "defined",
  [anon_sym_false] = "false",
  [anon_sym_nil] = "nil",
  [anon_sym_self] = "self",
  [anon_sym_super] = "super",
  [anon_sym_true] = "true",
  [anon_sym_undef] = "undef",
  [anon_sym_DASH] = "-",
  [anon_sym_PLUS_AT] = "+@",
  [anon_sym_DASH_AT] = "-@",
  [anon_sym_LBRACK_RBRACK] = "[]",
  [anon_sym_LBRACK_RBRACK_EQ] = "[]=",
  [anon_sym_BQUOTE] = "`",
  [sym_comment] = "comment",
  [sym_integer] = "integer",
  [sym_float] = "float",
  [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = "/(\\d+)?(\\+|-)?(\\d+)i/",
  [anon_sym_r] = "r",
  [anon_sym_TRUE] = "TRUE",
  [anon_sym_FALSE] = "FALSE",
  [anon_sym_NIL] = "NIL",
  [sym_keyword__FILE__] = "keyword__FILE__",
  [sym_keyword__LINE__] = "keyword__LINE__",
  [sym_keyword__ENCODING__] = "keyword__ENCODING__",
  [sym__character_literal] = "_character_literal",
  [anon_sym_LBRACK] = "[",
  [anon_sym_DASH_GT] = "->",
  [sym_program] = "program",
  [sym__statements] = "_statements",
  [sym__top_level_statement] = "_top_level_statement",
  [sym_begin_block] = "begin_block",
  [sym_end_block] = "end_block",
  [sym__statement] = "_statement",
  [sym_method] = "method",
  [sym_singleton_method] = "singleton_method",
  [sym__method_rest] = "_method_rest",
  [sym_method_parameters] = "method_parameters",
  [sym_lambda_parameters] = "lambda_parameters",
  [sym_block_parameters] = "block_parameters",
  [sym__formal_parameter] = "_formal_parameter",
  [sym__simple_formal_parameter] = "_simple_formal_parameter",
  [sym_destructured_parameter] = "destructured_parameter",
  [sym_splat_parameter] = "splat_parameter",
  [sym_hash_splat_parameter] = "hash_splat_parameter",
  [sym_block_parameter] = "block_parameter",
  [sym_keyword_parameter] = "keyword_parameter",
  [sym_optional_parameter] = "optional_parameter",
  [sym_class] = "class",
  [sym_superclass] = "superclass",
  [sym_singleton_class] = "singleton_class",
  [sym_module] = "module",
  [sym_return] = "return",
  [sym_yield] = "yield",
  [sym_break] = "break",
  [sym_next] = "next",
  [sym_redo] = "redo",
  [sym_retry] = "retry",
  [sym_if_modifier] = "if_modifier",
  [sym_unless_modifier] = "unless_modifier",
  [sym_while_modifier] = "while_modifier",
  [sym_until_modifier] = "until_modifier",
  [sym_rescue_modifier] = "rescue_modifier",
  [sym_while] = "while",
  [sym_until] = "until",
  [sym_for] = "for",
  [sym_in] = "in",
  [sym__do] = "_do",
  [sym_case] = "case",
  [sym_when] = "when",
  [sym_pattern] = "pattern",
  [sym_if] = "if",
  [sym_unless] = "unless",
  [sym_elsif] = "elsif",
  [sym_else] = "else",
  [sym__then] = "_then",
  [sym__if_tail] = "_if_tail",
  [sym_begin] = "begin",
  [sym_ensure] = "ensure",
  [sym_rescue] = "rescue",
  [sym_exceptions] = "exceptions",
  [sym_exception_variable] = "exception_variable",
  [sym__body_statement] = "_body_statement",
  [sym__arg] = "_arg",
  [sym__primary] = "_primary",
  [sym_parenthesized_statements] = "parenthesized_statements",
  [sym_element_reference] = "element_reference",
  [sym_scope_resolution] = "scope_resolution",
  [sym_call] = "call",
  [sym_method_call] = "method_call",
  [sym_argument_list] = "argument_list",
  [sym_argument_list_with_parens] = "argument_list_with_parens",
  [sym__argument_list_with_parens] = "_argument_list_with_parens",
  [sym__argument_list_with_trailing_comma] = "_argument_list_with_trailing_comma",
  [sym__argument] = "_argument",
  [sym_splat_argument] = "splat_argument",
  [sym_hash_splat_argument] = "hash_splat_argument",
  [sym_block_argument] = "block_argument",
  [sym_do_block] = "do_block",
  [sym_block] = "block",
  [sym_assignment] = "assignment",
  [sym_operator_assignment] = "operator_assignment",
  [sym_conditional] = "conditional",
  [sym_range] = "range",
  [sym_binary] = "binary",
  [sym_unary] = "unary",
  [sym_right_assignment_list] = "right_assignment_list",
  [sym__arg_or_splat_arg] = "_arg_or_splat_arg",
  [sym_left_assignment_list] = "left_assignment_list",
  [sym__mlhs] = "_mlhs",
  [sym__simple_mlhs] = "_simple_mlhs",
  [sym_destructured_left_assignment] = "destructured_left_assignment",
  [sym_rest_assignment] = "rest_assignment",
  [sym__lhs] = "_lhs",
  [sym__variable] = "_variable",
  [sym_reserved_identifier] = "reserved_identifier",
  [sym_operator] = "operator",
  [sym__method_name] = "_method_name",
  [sym_setter] = "setter",
  [sym_undef] = "undef",
  [sym_alias] = "alias",
  [sym_symbol] = "symbol",
  [sym_complex] = "complex",
  [sym_rational] = "rational",
  [sym_super] = "super",
  [sym_true] = "true",
  [sym_false] = "false",
  [sym_self] = "self",
  [sym_nil] = "nil",
  [sym_chained_string] = "chained_string",
  [sym_string] = "string",
  [sym_subshell] = "subshell",
  [sym_heredoc_end] = "heredoc_end",
  [sym_array] = "array",
  [sym_hash] = "hash",
  [sym__hash_items] = "_hash_items",
  [sym_pair] = "pair",
  [sym_regex] = "regex",
  [sym_lambda] = "lambda",
  [sym_empty_statement] = "empty_statement",
  [sym__terminator] = "_terminator",
  [aux_sym__statements_repeat1] = "_statements_repeat1",
  [aux_sym_method_parameters_repeat1] = "method_parameters_repeat1",
  [aux_sym_lambda_parameters_repeat1] = "lambda_parameters_repeat1",
  [aux_sym_block_parameters_repeat1] = "block_parameters_repeat1",
  [aux_sym_case_repeat1] = "case_repeat1",
  [aux_sym_when_repeat1] = "when_repeat1",
  [aux_sym_exceptions_repeat1] = "exceptions_repeat1",
  [aux_sym_argument_list_repeat1] = "argument_list_repeat1",
  [aux_sym_argument_list_repeat2] = "argument_list_repeat2",
  [aux_sym_undef_repeat1] = "undef_repeat1",
  [aux_sym_symbol_repeat1] = "symbol_repeat1",
  [aux_sym_chained_string_repeat1] = "chained_string_repeat1",
  [aux_sym_heredoc_end_repeat1] = "heredoc_end_repeat1",
  [anon_alias_sym_LPAREN] = "(",
  [anon_alias_sym_STAR] = "*",
  [anon_alias_sym_DASH] = "-",
  [anon_alias_sym_COLON_COLON] = "::",
  [anon_alias_sym_LT_LT] = "<<",
  [anon_alias_sym_LBRACK] = "[",
  [alias_sym_identifier] = "identifier",
};

static const TSSymbolMetadata ts_symbol_metadata[] = {
  [sym__simple_string] = {
    .visible = false,
    .named = true,
  },
  [sym__simple_symbol] = {
    .visible = false,
    .named = true,
  },
  [sym__simple_subshell] = {
    .visible = false,
    .named = true,
  },
  [sym__simple_regex] = {
    .visible = false,
    .named = true,
  },
  [sym__simple_word_list] = {
    .visible = false,
    .named = true,
  },
  [sym__simple_heredoc_body] = {
    .visible = false,
    .named = true,
  },
  [sym__string_beginning] = {
    .visible = false,
    .named = true,
  },
  [sym__symbol_beginning] = {
    .visible = false,
    .named = true,
  },
  [sym__subshell_beginning] = {
    .visible = false,
    .named = true,
  },
  [sym__regex_beginning] = {
    .visible = false,
    .named = true,
  },
  [sym__word_list_beginning] = {
    .visible = false,
    .named = true,
  },
  [sym__heredoc_body_beginning] = {
    .visible = false,
    .named = true,
  },
  [sym__string_middle] = {
    .visible = false,
    .named = true,
  },
  [sym__heredoc_body_middle] = {
    .visible = false,
    .named = true,
  },
  [sym__string_end] = {
    .visible = false,
    .named = true,
  },
  [sym__heredoc_body_end] = {
    .visible = false,
    .named = true,
  },
  [sym_heredoc_beginning] = {
    .visible = true,
    .named = true,
  },
  [sym__line_break] = {
    .visible = false,
    .named = true,
  },
  [sym__element_reference_left_bracket] = {
    .visible = false,
    .named = true,
  },
  [sym__block_ampersand] = {
    .visible = false,
    .named = true,
  },
  [sym__splat_star] = {
    .visible = false,
    .named = true,
  },
  [sym__argument_list_left_paren] = {
    .visible = false,
    .named = true,
  },
  [sym__scope_double_colon] = {
    .visible = false,
    .named = true,
  },
  [sym__keyword_colon] = {
    .visible = false,
    .named = true,
  },
  [sym__unary_minus] = {
    .visible = false,
    .named = true,
  },
  [sym__binary_minus] = {
    .visible = false,
    .named = true,
  },
  [sym__binary_star] = {
    .visible = false,
    .named = true,
  },
  [sym__singleton_class_left_angle_left_langle] = {
    .visible = false,
    .named = true,
  },
  [ts_builtin_sym_end] = {
    .visible = false,
    .named = true,
  },
  [anon_sym___END__] = {
    .visible = true,
    .named = false,
  },
  [sym_uninterpreted] = {
    .visible = true,
    .named = true,
  },
  [anon_sym_BEGIN] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_LBRACE] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_RBRACE] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_END] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_def] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_LPAREN] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_RPAREN] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_DOT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_COLON_COLON] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_end] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_COMMA] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_PIPE] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_SEMI] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_STAR] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_STAR_STAR] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_AMP] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_class] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_LT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_module] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_return] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_yield] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_break] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_next] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_redo] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_retry] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_if] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_unless] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_while] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_until] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_rescue] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_for] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_in] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_do] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_case] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_when] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_elsif] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_else] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_then] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_begin] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_ensure] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_EQ_GT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_RBRACK] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_AMP_DOT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_PLUS_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_DASH_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_STAR_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_STAR_STAR_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_SLASH_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_PIPE_PIPE_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_PIPE_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_AMP_AMP_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_AMP_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_PERCENT_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_GT_GT_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_LT_LT_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_CARET_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_QMARK] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_COLON] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_DOT_DOT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_DOT_DOT_DOT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_and] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_or] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_PIPE_PIPE] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_AMP_AMP] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_LT_LT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_GT_GT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_EQ_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_BANG_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_EQ_EQ_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_LT_EQ_GT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_EQ_TILDE] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_BANG_TILDE] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_LT_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_GT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_GT_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_CARET] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_PLUS] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_SLASH] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_PERCENT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_defined_QMARK] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_not] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_BANG] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_TILDE] = {
    .visible = true,
    .named = false,
  },
  [sym_constant] = {
    .visible = true,
    .named = true,
  },
  [sym_identifier] = {
    .visible = true,
    .named = true,
  },
  [sym_instance_variable] = {
    .visible = true,
    .named = true,
  },
  [sym_class_variable] = {
    .visible = true,
    .named = true,
  },
  [sym_global_variable] = {
    .visible = true,
    .named = true,
  },
  [anon_sym_alias] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_defined] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_false] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_nil] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_self] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_super] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_true] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_undef] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_DASH] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_PLUS_AT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_DASH_AT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_LBRACK_RBRACK] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_LBRACK_RBRACK_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_BQUOTE] = {
    .visible = true,
    .named = false,
  },
  [sym_comment] = {
    .visible = true,
    .named = true,
  },
  [sym_integer] = {
    .visible = true,
    .named = true,
  },
  [sym_float] = {
    .visible = true,
    .named = true,
  },
  [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = {
    .visible = false,
    .named = false,
  },
  [anon_sym_r] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_TRUE] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_FALSE] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_NIL] = {
    .visible = true,
    .named = false,
  },
  [sym_keyword__FILE__] = {
    .visible = true,
    .named = true,
  },
  [sym_keyword__LINE__] = {
    .visible = true,
    .named = true,
  },
  [sym_keyword__ENCODING__] = {
    .visible = true,
    .named = true,
  },
  [sym__character_literal] = {
    .visible = false,
    .named = true,
  },
  [anon_sym_LBRACK] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_DASH_GT] = {
    .visible = true,
    .named = false,
  },
  [sym_program] = {
    .visible = true,
    .named = true,
  },
  [sym__statements] = {
    .visible = false,
    .named = true,
  },
  [sym__top_level_statement] = {
    .visible = false,
    .named = true,
  },
  [sym_begin_block] = {
    .visible = true,
    .named = true,
  },
  [sym_end_block] = {
    .visible = true,
    .named = true,
  },
  [sym__statement] = {
    .visible = false,
    .named = true,
  },
  [sym_method] = {
    .visible = true,
    .named = true,
  },
  [sym_singleton_method] = {
    .visible = true,
    .named = true,
  },
  [sym__method_rest] = {
    .visible = false,
    .named = true,
  },
  [sym_method_parameters] = {
    .visible = true,
    .named = true,
  },
  [sym_lambda_parameters] = {
    .visible = true,
    .named = true,
  },
  [sym_block_parameters] = {
    .visible = true,
    .named = true,
  },
  [sym__formal_parameter] = {
    .visible = false,
    .named = true,
  },
  [sym__simple_formal_parameter] = {
    .visible = false,
    .named = true,
  },
  [sym_destructured_parameter] = {
    .visible = true,
    .named = true,
  },
  [sym_splat_parameter] = {
    .visible = true,
    .named = true,
  },
  [sym_hash_splat_parameter] = {
    .visible = true,
    .named = true,
  },
  [sym_block_parameter] = {
    .visible = true,
    .named = true,
  },
  [sym_keyword_parameter] = {
    .visible = true,
    .named = true,
  },
  [sym_optional_parameter] = {
    .visible = true,
    .named = true,
  },
  [sym_class] = {
    .visible = true,
    .named = true,
  },
  [sym_superclass] = {
    .visible = true,
    .named = true,
  },
  [sym_singleton_class] = {
    .visible = true,
    .named = true,
  },
  [sym_module] = {
    .visible = true,
    .named = true,
  },
  [sym_return] = {
    .visible = true,
    .named = true,
  },
  [sym_yield] = {
    .visible = true,
    .named = true,
  },
  [sym_break] = {
    .visible = true,
    .named = true,
  },
  [sym_next] = {
    .visible = true,
    .named = true,
  },
  [sym_redo] = {
    .visible = true,
    .named = true,
  },
  [sym_retry] = {
    .visible = true,
    .named = true,
  },
  [sym_if_modifier] = {
    .visible = true,
    .named = true,
  },
  [sym_unless_modifier] = {
    .visible = true,
    .named = true,
  },
  [sym_while_modifier] = {
    .visible = true,
    .named = true,
  },
  [sym_until_modifier] = {
    .visible = true,
    .named = true,
  },
  [sym_rescue_modifier] = {
    .visible = true,
    .named = true,
  },
  [sym_while] = {
    .visible = true,
    .named = true,
  },
  [sym_until] = {
    .visible = true,
    .named = true,
  },
  [sym_for] = {
    .visible = true,
    .named = true,
  },
  [sym_in] = {
    .visible = true,
    .named = true,
  },
  [sym__do] = {
    .visible = false,
    .named = true,
  },
  [sym_case] = {
    .visible = true,
    .named = true,
  },
  [sym_when] = {
    .visible = true,
    .named = true,
  },
  [sym_pattern] = {
    .visible = true,
    .named = true,
  },
  [sym_if] = {
    .visible = true,
    .named = true,
  },
  [sym_unless] = {
    .visible = true,
    .named = true,
  },
  [sym_elsif] = {
    .visible = true,
    .named = true,
  },
  [sym_else] = {
    .visible = true,
    .named = true,
  },
  [sym__then] = {
    .visible = false,
    .named = true,
  },
  [sym__if_tail] = {
    .visible = false,
    .named = true,
  },
  [sym_begin] = {
    .visible = true,
    .named = true,
  },
  [sym_ensure] = {
    .visible = true,
    .named = true,
  },
  [sym_rescue] = {
    .visible = true,
    .named = true,
  },
  [sym_exceptions] = {
    .visible = true,
    .named = true,
  },
  [sym_exception_variable] = {
    .visible = true,
    .named = true,
  },
  [sym__body_statement] = {
    .visible = false,
    .named = true,
  },
  [sym__arg] = {
    .visible = false,
    .named = true,
  },
  [sym__primary] = {
    .visible = false,
    .named = true,
  },
  [sym_parenthesized_statements] = {
    .visible = true,
    .named = true,
  },
  [sym_element_reference] = {
    .visible = true,
    .named = true,
  },
  [sym_scope_resolution] = {
    .visible = true,
    .named = true,
  },
  [sym_call] = {
    .visible = true,
    .named = true,
  },
  [sym_method_call] = {
    .visible = true,
    .named = true,
  },
  [sym_argument_list] = {
    .visible = true,
    .named = true,
  },
  [sym_argument_list_with_parens] = {
    .visible = true,
    .named = true,
  },
  [sym__argument_list_with_parens] = {
    .visible = false,
    .named = true,
  },
  [sym__argument_list_with_trailing_comma] = {
    .visible = false,
    .named = true,
  },
  [sym__argument] = {
    .visible = false,
    .named = true,
  },
  [sym_splat_argument] = {
    .visible = true,
    .named = true,
  },
  [sym_hash_splat_argument] = {
    .visible = true,
    .named = true,
  },
  [sym_block_argument] = {
    .visible = true,
    .named = true,
  },
  [sym_do_block] = {
    .visible = true,
    .named = true,
  },
  [sym_block] = {
    .visible = true,
    .named = true,
  },
  [sym_assignment] = {
    .visible = true,
    .named = true,
  },
  [sym_operator_assignment] = {
    .visible = true,
    .named = true,
  },
  [sym_conditional] = {
    .visible = true,
    .named = true,
  },
  [sym_range] = {
    .visible = true,
    .named = true,
  },
  [sym_binary] = {
    .visible = true,
    .named = true,
  },
  [sym_unary] = {
    .visible = true,
    .named = true,
  },
  [sym_right_assignment_list] = {
    .visible = true,
    .named = true,
  },
  [sym__arg_or_splat_arg] = {
    .visible = false,
    .named = true,
  },
  [sym_left_assignment_list] = {
    .visible = true,
    .named = true,
  },
  [sym__mlhs] = {
    .visible = false,
    .named = true,
  },
  [sym__simple_mlhs] = {
    .visible = false,
    .named = true,
  },
  [sym_destructured_left_assignment] = {
    .visible = true,
    .named = true,
  },
  [sym_rest_assignment] = {
    .visible = true,
    .named = true,
  },
  [sym__lhs] = {
    .visible = false,
    .named = true,
  },
  [sym__variable] = {
    .visible = false,
    .named = true,
  },
  [sym_reserved_identifier] = {
    .visible = true,
    .named = true,
  },
  [sym_operator] = {
    .visible = true,
    .named = true,
  },
  [sym__method_name] = {
    .visible = false,
    .named = true,
  },
  [sym_setter] = {
    .visible = true,
    .named = true,
  },
  [sym_undef] = {
    .visible = true,
    .named = true,
  },
  [sym_alias] = {
    .visible = true,
    .named = true,
  },
  [sym_symbol] = {
    .visible = true,
    .named = true,
  },
  [sym_complex] = {
    .visible = true,
    .named = true,
  },
  [sym_rational] = {
    .visible = true,
    .named = true,
  },
  [sym_super] = {
    .visible = true,
    .named = true,
  },
  [sym_true] = {
    .visible = true,
    .named = true,
  },
  [sym_false] = {
    .visible = true,
    .named = true,
  },
  [sym_self] = {
    .visible = true,
    .named = true,
  },
  [sym_nil] = {
    .visible = true,
    .named = true,
  },
  [sym_chained_string] = {
    .visible = true,
    .named = true,
  },
  [sym_string] = {
    .visible = true,
    .named = true,
  },
  [sym_subshell] = {
    .visible = true,
    .named = true,
  },
  [sym_heredoc_end] = {
    .visible = true,
    .named = true,
  },
  [sym_array] = {
    .visible = true,
    .named = true,
  },
  [sym_hash] = {
    .visible = true,
    .named = true,
  },
  [sym__hash_items] = {
    .visible = false,
    .named = true,
  },
  [sym_pair] = {
    .visible = true,
    .named = true,
  },
  [sym_regex] = {
    .visible = true,
    .named = true,
  },
  [sym_lambda] = {
    .visible = true,
    .named = true,
  },
  [sym_empty_statement] = {
    .visible = true,
    .named = true,
  },
  [sym__terminator] = {
    .visible = false,
    .named = true,
  },
  [aux_sym__statements_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_method_parameters_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_lambda_parameters_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_block_parameters_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_case_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_when_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_exceptions_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_argument_list_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_argument_list_repeat2] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_undef_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_symbol_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_chained_string_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_heredoc_end_repeat1] = {
    .visible = false,
    .named = false,
  },
  [anon_alias_sym_LPAREN] = {
    .visible = true,
    .named = false,
  },
  [anon_alias_sym_STAR] = {
    .visible = true,
    .named = false,
  },
  [anon_alias_sym_DASH] = {
    .visible = true,
    .named = false,
  },
  [anon_alias_sym_COLON_COLON] = {
    .visible = true,
    .named = false,
  },
  [anon_alias_sym_LT_LT] = {
    .visible = true,
    .named = false,
  },
  [anon_alias_sym_LBRACK] = {
    .visible = true,
    .named = false,
  },
  [alias_sym_identifier] = {
    .visible = true,
    .named = true,
  },
};

static TSSymbol ts_alias_sequences[9][MAX_ALIAS_SEQUENCE_LENGTH] = {
  [1] = {
    [0] = anon_alias_sym_DASH,
  },
  [2] = {
    [0] = anon_alias_sym_LPAREN,
  },
  [3] = {
    [1] = anon_alias_sym_DASH,
  },
  [4] = {
    [1] = anon_alias_sym_STAR,
  },
  [5] = {
    [1] = anon_alias_sym_LBRACK,
  },
  [6] = {
    [1] = anon_alias_sym_COLON_COLON,
  },
  [7] = {
    [0] = alias_sym_identifier,
  },
  [8] = {
    [1] = anon_alias_sym_LT_LT,
  },
};

static bool ts_lex(TSLexer *lexer, TSStateId state) {
  START_LEXER();
  switch (state) {
    case 0:
      if (lookahead == 0)
        ADVANCE(1);
      if (lookahead == '!')
        ADVANCE(2);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(20);
      if (lookahead == '+')
        ADVANCE(24);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(28);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == '0')
        ADVANCE(37);
      if (lookahead == ':')
        ADVANCE(55);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'B')
        ADVANCE(86);
      if (lookahead == 'E')
        ADVANCE(93);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(108);
      if (lookahead == '\\')
        SKIP(111);
      if (lookahead == ']')
        ADVANCE(112);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == '_')
        ADVANCE(115);
      if (lookahead == '`')
        ADVANCE(142);
      if (lookahead == 'a')
        ADVANCE(143);
      if (lookahead == 'b')
        ADVANCE(150);
      if (lookahead == 'c')
        ADVANCE(159);
      if (lookahead == 'd')
        ADVANCE(167);
      if (lookahead == 'e')
        ADVANCE(176);
      if (lookahead == 'f')
        ADVANCE(188);
      if (lookahead == 'i')
        ADVANCE(195);
      if (lookahead == 'm')
        ADVANCE(198);
      if (lookahead == 'n')
        ADVANCE(204);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(214);
      if (lookahead == 's')
        ADVANCE(228);
      if (lookahead == 't')
        ADVANCE(236);
      if (lookahead == 'u')
        ADVANCE(243);
      if (lookahead == 'w')
        ADVANCE(255);
      if (lookahead == 'y')
        ADVANCE(262);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(0);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(44);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 1:
      ACCEPT_TOKEN(ts_builtin_sym_end);
      END_STATE();
    case 2:
      ACCEPT_TOKEN(anon_sym_BANG);
      if (lookahead == '=')
        ADVANCE(3);
      if (lookahead == '~')
        ADVANCE(4);
      END_STATE();
    case 3:
      ACCEPT_TOKEN(anon_sym_BANG_EQ);
      END_STATE();
    case 4:
      ACCEPT_TOKEN(anon_sym_BANG_TILDE);
      END_STATE();
    case 5:
      ACCEPT_TOKEN(sym_comment);
      if (lookahead != 0 &&
          lookahead != '\n')
        ADVANCE(5);
      END_STATE();
    case 6:
      ACCEPT_TOKEN(sym_global_variable);
      if (lookahead == '-')
        ADVANCE(7);
      if (('0' <= lookahead && lookahead <= '9'))
        ADVANCE(8);
      if (lookahead == '!' ||
          lookahead == '\"' ||
          lookahead == '$' ||
          lookahead == '&' ||
          lookahead == '\'' ||
          ('*' <= lookahead && lookahead <= '@') ||
          lookahead == '\\' ||
          lookahead == '`' ||
          lookahead == '~')
        ADVANCE(9);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          ('_' <= lookahead && lookahead <= 'z'))
        ADVANCE(10);
      END_STATE();
    case 7:
      ACCEPT_TOKEN(sym_global_variable);
      if (('0' <= lookahead && lookahead <= '9'))
        ADVANCE(8);
      if (lookahead == '!' ||
          lookahead == '\"' ||
          lookahead == '$' ||
          lookahead == '&' ||
          lookahead == '\'' ||
          ('*' <= lookahead && lookahead <= ',') ||
          ('.' <= lookahead && lookahead <= '@') ||
          lookahead == '\\' ||
          lookahead == '`' ||
          lookahead == '~')
        ADVANCE(9);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          ('_' <= lookahead && lookahead <= 'z'))
        ADVANCE(10);
      END_STATE();
    case 8:
      ACCEPT_TOKEN(sym_global_variable);
      if (('0' <= lookahead && lookahead <= '9'))
        ADVANCE(8);
      END_STATE();
    case 9:
      ACCEPT_TOKEN(sym_global_variable);
      END_STATE();
    case 10:
      ACCEPT_TOKEN(sym_global_variable);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(10);
      END_STATE();
    case 11:
      ACCEPT_TOKEN(anon_sym_PERCENT);
      if (lookahead == '=')
        ADVANCE(12);
      END_STATE();
    case 12:
      ACCEPT_TOKEN(anon_sym_PERCENT_EQ);
      END_STATE();
    case 13:
      ACCEPT_TOKEN(anon_sym_AMP);
      if (lookahead == '&')
        ADVANCE(14);
      if (lookahead == '.')
        ADVANCE(16);
      if (lookahead == '=')
        ADVANCE(17);
      END_STATE();
    case 14:
      ACCEPT_TOKEN(anon_sym_AMP_AMP);
      if (lookahead == '=')
        ADVANCE(15);
      END_STATE();
    case 15:
      ACCEPT_TOKEN(anon_sym_AMP_AMP_EQ);
      END_STATE();
    case 16:
      ACCEPT_TOKEN(anon_sym_AMP_DOT);
      END_STATE();
    case 17:
      ACCEPT_TOKEN(anon_sym_AMP_EQ);
      END_STATE();
    case 18:
      ACCEPT_TOKEN(anon_sym_LPAREN);
      END_STATE();
    case 19:
      ACCEPT_TOKEN(anon_sym_RPAREN);
      END_STATE();
    case 20:
      ACCEPT_TOKEN(anon_sym_STAR);
      if (lookahead == '*')
        ADVANCE(21);
      if (lookahead == '=')
        ADVANCE(23);
      END_STATE();
    case 21:
      ACCEPT_TOKEN(anon_sym_STAR_STAR);
      if (lookahead == '=')
        ADVANCE(22);
      END_STATE();
    case 22:
      ACCEPT_TOKEN(anon_sym_STAR_STAR_EQ);
      END_STATE();
    case 23:
      ACCEPT_TOKEN(anon_sym_STAR_EQ);
      END_STATE();
    case 24:
      ACCEPT_TOKEN(anon_sym_PLUS);
      if (lookahead == '=')
        ADVANCE(25);
      if (lookahead == '@')
        ADVANCE(26);
      END_STATE();
    case 25:
      ACCEPT_TOKEN(anon_sym_PLUS_EQ);
      END_STATE();
    case 26:
      ACCEPT_TOKEN(anon_sym_PLUS_AT);
      END_STATE();
    case 27:
      ACCEPT_TOKEN(anon_sym_COMMA);
      END_STATE();
    case 28:
      ACCEPT_TOKEN(anon_sym_DASH);
      if (lookahead == '=')
        ADVANCE(29);
      if (lookahead == '>')
        ADVANCE(30);
      if (lookahead == '@')
        ADVANCE(31);
      END_STATE();
    case 29:
      ACCEPT_TOKEN(anon_sym_DASH_EQ);
      END_STATE();
    case 30:
      ACCEPT_TOKEN(anon_sym_DASH_GT);
      END_STATE();
    case 31:
      ACCEPT_TOKEN(anon_sym_DASH_AT);
      END_STATE();
    case 32:
      ACCEPT_TOKEN(anon_sym_DOT);
      if (lookahead == '.')
        ADVANCE(33);
      END_STATE();
    case 33:
      ACCEPT_TOKEN(anon_sym_DOT_DOT);
      if (lookahead == '.')
        ADVANCE(34);
      END_STATE();
    case 34:
      ACCEPT_TOKEN(anon_sym_DOT_DOT_DOT);
      END_STATE();
    case 35:
      ACCEPT_TOKEN(anon_sym_SLASH);
      if (lookahead == '=')
        ADVANCE(36);
      END_STATE();
    case 36:
      ACCEPT_TOKEN(anon_sym_SLASH_EQ);
      END_STATE();
    case 37:
      ACCEPT_TOKEN(sym_integer);
      if (lookahead == '.')
        ADVANCE(38);
      if (lookahead == '_')
        ADVANCE(43);
      if (lookahead == 'b')
        ADVANCE(45);
      if (lookahead == 'd')
        ADVANCE(47);
      if (lookahead == 'x')
        ADVANCE(49);
      if (lookahead == '+' ||
          lookahead == '-')
        ADVANCE(40);
      if (lookahead == '8' ||
          lookahead == '9')
        ADVANCE(44);
      if (lookahead == 'E' ||
          lookahead == 'e')
        ADVANCE(42);
      if (lookahead == 'O' ||
          lookahead == 'o')
        ADVANCE(51);
      if (('0' <= lookahead && lookahead <= '7'))
        ADVANCE(53);
      END_STATE();
    case 38:
      if (('0' <= lookahead && lookahead <= '9'))
        ADVANCE(39);
      END_STATE();
    case 39:
      ACCEPT_TOKEN(sym_float);
      if (lookahead == '_')
        ADVANCE(38);
      if (lookahead == '+' ||
          lookahead == '-')
        ADVANCE(40);
      if (lookahead == 'E' ||
          lookahead == 'e')
        ADVANCE(42);
      if (('0' <= lookahead && lookahead <= '9'))
        ADVANCE(39);
      END_STATE();
    case 40:
      if (('0' <= lookahead && lookahead <= '9'))
        ADVANCE(41);
      END_STATE();
    case 41:
      ACCEPT_TOKEN(sym_float);
      if (lookahead == '_')
        ADVANCE(40);
      if (('0' <= lookahead && lookahead <= '9'))
        ADVANCE(41);
      END_STATE();
    case 42:
      if (lookahead == '+' ||
          lookahead == '-')
        ADVANCE(40);
      if (('0' <= lookahead && lookahead <= '9'))
        ADVANCE(41);
      END_STATE();
    case 43:
      if (('0' <= lookahead && lookahead <= '9'))
        ADVANCE(44);
      END_STATE();
    case 44:
      ACCEPT_TOKEN(sym_integer);
      if (lookahead == '.')
        ADVANCE(38);
      if (lookahead == '_')
        ADVANCE(43);
      if (lookahead == '+' ||
          lookahead == '-')
        ADVANCE(40);
      if (lookahead == 'E' ||
          lookahead == 'e')
        ADVANCE(42);
      if (('0' <= lookahead && lookahead <= '9'))
        ADVANCE(44);
      END_STATE();
    case 45:
      if (lookahead == '0' ||
          lookahead == '1')
        ADVANCE(46);
      END_STATE();
    case 46:
      ACCEPT_TOKEN(sym_integer);
      if (lookahead == '_')
        ADVANCE(45);
      if (lookahead == '0' ||
          lookahead == '1')
        ADVANCE(46);
      END_STATE();
    case 47:
      if (('0' <= lookahead && lookahead <= '9'))
        ADVANCE(48);
      END_STATE();
    case 48:
      ACCEPT_TOKEN(sym_integer);
      if (lookahead == '_')
        ADVANCE(47);
      if (('0' <= lookahead && lookahead <= '9'))
        ADVANCE(48);
      END_STATE();
    case 49:
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f'))
        ADVANCE(50);
      END_STATE();
    case 50:
      ACCEPT_TOKEN(sym_integer);
      if (lookahead == '_')
        ADVANCE(49);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f'))
        ADVANCE(50);
      END_STATE();
    case 51:
      if (('0' <= lookahead && lookahead <= '7'))
        ADVANCE(52);
      END_STATE();
    case 52:
      ACCEPT_TOKEN(sym_integer);
      if (lookahead == '_')
        ADVANCE(51);
      if (('0' <= lookahead && lookahead <= '7'))
        ADVANCE(52);
      END_STATE();
    case 53:
      ACCEPT_TOKEN(sym_integer);
      if (lookahead == '.')
        ADVANCE(38);
      if (lookahead == '_')
        ADVANCE(54);
      if (lookahead == '+' ||
          lookahead == '-')
        ADVANCE(40);
      if (lookahead == '8' ||
          lookahead == '9')
        ADVANCE(44);
      if (lookahead == 'E' ||
          lookahead == 'e')
        ADVANCE(42);
      if (('0' <= lookahead && lookahead <= '7'))
        ADVANCE(53);
      END_STATE();
    case 54:
      if (lookahead == '8' ||
          lookahead == '9')
        ADVANCE(44);
      if (('0' <= lookahead && lookahead <= '7'))
        ADVANCE(53);
      END_STATE();
    case 55:
      ACCEPT_TOKEN(anon_sym_COLON);
      if (lookahead == ':')
        ADVANCE(56);
      END_STATE();
    case 56:
      ACCEPT_TOKEN(anon_sym_COLON_COLON);
      END_STATE();
    case 57:
      ACCEPT_TOKEN(anon_sym_SEMI);
      END_STATE();
    case 58:
      ACCEPT_TOKEN(anon_sym_LT);
      if (lookahead == '<')
        ADVANCE(59);
      if (lookahead == '=')
        ADVANCE(61);
      END_STATE();
    case 59:
      ACCEPT_TOKEN(anon_sym_LT_LT);
      if (lookahead == '=')
        ADVANCE(60);
      END_STATE();
    case 60:
      ACCEPT_TOKEN(anon_sym_LT_LT_EQ);
      END_STATE();
    case 61:
      ACCEPT_TOKEN(anon_sym_LT_EQ);
      if (lookahead == '>')
        ADVANCE(62);
      END_STATE();
    case 62:
      ACCEPT_TOKEN(anon_sym_LT_EQ_GT);
      END_STATE();
    case 63:
      ACCEPT_TOKEN(anon_sym_EQ);
      if (lookahead == '=')
        ADVANCE(64);
      if (lookahead == '>')
        ADVANCE(66);
      if (lookahead == '~')
        ADVANCE(67);
      END_STATE();
    case 64:
      ACCEPT_TOKEN(anon_sym_EQ_EQ);
      if (lookahead == '=')
        ADVANCE(65);
      END_STATE();
    case 65:
      ACCEPT_TOKEN(anon_sym_EQ_EQ_EQ);
      END_STATE();
    case 66:
      ACCEPT_TOKEN(anon_sym_EQ_GT);
      END_STATE();
    case 67:
      ACCEPT_TOKEN(anon_sym_EQ_TILDE);
      END_STATE();
    case 68:
      ACCEPT_TOKEN(anon_sym_GT);
      if (lookahead == '=')
        ADVANCE(69);
      if (lookahead == '>')
        ADVANCE(70);
      END_STATE();
    case 69:
      ACCEPT_TOKEN(anon_sym_GT_EQ);
      END_STATE();
    case 70:
      ACCEPT_TOKEN(anon_sym_GT_GT);
      if (lookahead == '=')
        ADVANCE(71);
      END_STATE();
    case 71:
      ACCEPT_TOKEN(anon_sym_GT_GT_EQ);
      END_STATE();
    case 72:
      ACCEPT_TOKEN(anon_sym_QMARK);
      if (lookahead == '\\')
        ADVANCE(73);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ')
        ADVANCE(79);
      END_STATE();
    case 73:
      ACCEPT_TOKEN(sym__character_literal);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ')
        ADVANCE(74);
      END_STATE();
    case 74:
      ACCEPT_TOKEN(sym__character_literal);
      if (lookahead == '-')
        ADVANCE(75);
      if (lookahead == '{')
        ADVANCE(80);
      if (('0' <= lookahead && lookahead <= '9'))
        ADVANCE(81);
      END_STATE();
    case 75:
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ')
        ADVANCE(76);
      END_STATE();
    case 76:
      ACCEPT_TOKEN(sym__character_literal);
      if (lookahead == 'C' ||
          lookahead == 'M')
        ADVANCE(77);
      END_STATE();
    case 77:
      if (lookahead == '-')
        ADVANCE(78);
      END_STATE();
    case 78:
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ')
        ADVANCE(79);
      END_STATE();
    case 79:
      ACCEPT_TOKEN(sym__character_literal);
      END_STATE();
    case 80:
      if (lookahead == '}')
        ADVANCE(79);
      if (('0' <= lookahead && lookahead <= '9'))
        ADVANCE(80);
      END_STATE();
    case 81:
      ACCEPT_TOKEN(sym__character_literal);
      if (('0' <= lookahead && lookahead <= '9'))
        ADVANCE(81);
      END_STATE();
    case 82:
      if (lookahead == '@')
        ADVANCE(83);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(85);
      END_STATE();
    case 83:
      if (('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(84);
      END_STATE();
    case 84:
      ACCEPT_TOKEN(sym_class_variable);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(84);
      END_STATE();
    case 85:
      ACCEPT_TOKEN(sym_instance_variable);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(85);
      END_STATE();
    case 86:
      ACCEPT_TOKEN(sym_constant);
      if (lookahead == '!')
        ADVANCE(87);
      if (lookahead == '?')
        ADVANCE(87);
      if (lookahead == 'E')
        ADVANCE(88);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(92);
      END_STATE();
    case 87:
      ACCEPT_TOKEN(sym_constant);
      END_STATE();
    case 88:
      ACCEPT_TOKEN(sym_constant);
      if (lookahead == '!')
        ADVANCE(87);
      if (lookahead == '?')
        ADVANCE(87);
      if (lookahead == 'G')
        ADVANCE(89);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(92);
      END_STATE();
    case 89:
      ACCEPT_TOKEN(sym_constant);
      if (lookahead == '!')
        ADVANCE(87);
      if (lookahead == '?')
        ADVANCE(87);
      if (lookahead == 'I')
        ADVANCE(90);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(92);
      END_STATE();
    case 90:
      ACCEPT_TOKEN(sym_constant);
      if (lookahead == '!')
        ADVANCE(87);
      if (lookahead == '?')
        ADVANCE(87);
      if (lookahead == 'N')
        ADVANCE(91);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(92);
      END_STATE();
    case 91:
      ACCEPT_TOKEN(anon_sym_BEGIN);
      if (lookahead == '!')
        ADVANCE(87);
      if (lookahead == '?')
        ADVANCE(87);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(92);
      END_STATE();
    case 92:
      ACCEPT_TOKEN(sym_constant);
      if (lookahead == '!')
        ADVANCE(87);
      if (lookahead == '?')
        ADVANCE(87);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(92);
      END_STATE();
    case 93:
      ACCEPT_TOKEN(sym_constant);
      if (lookahead == '!')
        ADVANCE(87);
      if (lookahead == '?')
        ADVANCE(87);
      if (lookahead == 'N')
        ADVANCE(94);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(92);
      END_STATE();
    case 94:
      ACCEPT_TOKEN(sym_constant);
      if (lookahead == '!')
        ADVANCE(87);
      if (lookahead == '?')
        ADVANCE(87);
      if (lookahead == 'D')
        ADVANCE(95);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(92);
      END_STATE();
    case 95:
      ACCEPT_TOKEN(anon_sym_END);
      if (lookahead == '!')
        ADVANCE(87);
      if (lookahead == '?')
        ADVANCE(87);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(92);
      END_STATE();
    case 96:
      ACCEPT_TOKEN(sym_constant);
      if (lookahead == '!')
        ADVANCE(87);
      if (lookahead == '?')
        ADVANCE(87);
      if (lookahead == 'A')
        ADVANCE(97);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('B' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(92);
      END_STATE();
    case 97:
      ACCEPT_TOKEN(sym_constant);
      if (lookahead == '!')
        ADVANCE(87);
      if (lookahead == '?')
        ADVANCE(87);
      if (lookahead == 'L')
        ADVANCE(98);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(92);
      END_STATE();
    case 98:
      ACCEPT_TOKEN(sym_constant);
      if (lookahead == '!')
        ADVANCE(87);
      if (lookahead == '?')
        ADVANCE(87);
      if (lookahead == 'S')
        ADVANCE(99);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(92);
      END_STATE();
    case 99:
      ACCEPT_TOKEN(sym_constant);
      if (lookahead == '!')
        ADVANCE(87);
      if (lookahead == '?')
        ADVANCE(87);
      if (lookahead == 'E')
        ADVANCE(100);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(92);
      END_STATE();
    case 100:
      ACCEPT_TOKEN(anon_sym_FALSE);
      if (lookahead == '!')
        ADVANCE(87);
      if (lookahead == '?')
        ADVANCE(87);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(92);
      END_STATE();
    case 101:
      ACCEPT_TOKEN(sym_constant);
      if (lookahead == '!')
        ADVANCE(87);
      if (lookahead == '?')
        ADVANCE(87);
      if (lookahead == 'I')
        ADVANCE(102);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(92);
      END_STATE();
    case 102:
      ACCEPT_TOKEN(sym_constant);
      if (lookahead == '!')
        ADVANCE(87);
      if (lookahead == '?')
        ADVANCE(87);
      if (lookahead == 'L')
        ADVANCE(103);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(92);
      END_STATE();
    case 103:
      ACCEPT_TOKEN(anon_sym_NIL);
      if (lookahead == '!')
        ADVANCE(87);
      if (lookahead == '?')
        ADVANCE(87);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(92);
      END_STATE();
    case 104:
      ACCEPT_TOKEN(sym_constant);
      if (lookahead == '!')
        ADVANCE(87);
      if (lookahead == '?')
        ADVANCE(87);
      if (lookahead == 'R')
        ADVANCE(105);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(92);
      END_STATE();
    case 105:
      ACCEPT_TOKEN(sym_constant);
      if (lookahead == '!')
        ADVANCE(87);
      if (lookahead == '?')
        ADVANCE(87);
      if (lookahead == 'U')
        ADVANCE(106);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(92);
      END_STATE();
    case 106:
      ACCEPT_TOKEN(sym_constant);
      if (lookahead == '!')
        ADVANCE(87);
      if (lookahead == '?')
        ADVANCE(87);
      if (lookahead == 'E')
        ADVANCE(107);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(92);
      END_STATE();
    case 107:
      ACCEPT_TOKEN(anon_sym_TRUE);
      if (lookahead == '!')
        ADVANCE(87);
      if (lookahead == '?')
        ADVANCE(87);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(92);
      END_STATE();
    case 108:
      ACCEPT_TOKEN(anon_sym_LBRACK);
      if (lookahead == ']')
        ADVANCE(109);
      END_STATE();
    case 109:
      ACCEPT_TOKEN(anon_sym_LBRACK_RBRACK);
      if (lookahead == '=')
        ADVANCE(110);
      END_STATE();
    case 110:
      ACCEPT_TOKEN(anon_sym_LBRACK_RBRACK_EQ);
      END_STATE();
    case 111:
      if (lookahead == '\n')
        SKIP(0);
      END_STATE();
    case 112:
      ACCEPT_TOKEN(anon_sym_RBRACK);
      END_STATE();
    case 113:
      ACCEPT_TOKEN(anon_sym_CARET);
      if (lookahead == '=')
        ADVANCE(114);
      END_STATE();
    case 114:
      ACCEPT_TOKEN(anon_sym_CARET_EQ);
      END_STATE();
    case 115:
      if (lookahead == '_')
        ADVANCE(116);
      END_STATE();
    case 116:
      if (lookahead == 'E')
        ADVANCE(117);
      if (lookahead == 'F')
        ADVANCE(130);
      if (lookahead == 'L')
        ADVANCE(136);
      END_STATE();
    case 117:
      if (lookahead == 'N')
        ADVANCE(118);
      END_STATE();
    case 118:
      if (lookahead == 'C')
        ADVANCE(119);
      if (lookahead == 'D')
        ADVANCE(127);
      END_STATE();
    case 119:
      if (lookahead == 'O')
        ADVANCE(120);
      END_STATE();
    case 120:
      if (lookahead == 'D')
        ADVANCE(121);
      END_STATE();
    case 121:
      if (lookahead == 'I')
        ADVANCE(122);
      END_STATE();
    case 122:
      if (lookahead == 'N')
        ADVANCE(123);
      END_STATE();
    case 123:
      if (lookahead == 'G')
        ADVANCE(124);
      END_STATE();
    case 124:
      if (lookahead == '_')
        ADVANCE(125);
      END_STATE();
    case 125:
      if (lookahead == '_')
        ADVANCE(126);
      END_STATE();
    case 126:
      ACCEPT_TOKEN(sym_keyword__ENCODING__);
      END_STATE();
    case 127:
      if (lookahead == '_')
        ADVANCE(128);
      END_STATE();
    case 128:
      if (lookahead == '_')
        ADVANCE(129);
      END_STATE();
    case 129:
      ACCEPT_TOKEN(anon_sym___END__);
      END_STATE();
    case 130:
      if (lookahead == 'I')
        ADVANCE(131);
      END_STATE();
    case 131:
      if (lookahead == 'L')
        ADVANCE(132);
      END_STATE();
    case 132:
      if (lookahead == 'E')
        ADVANCE(133);
      END_STATE();
    case 133:
      if (lookahead == '_')
        ADVANCE(134);
      END_STATE();
    case 134:
      if (lookahead == '_')
        ADVANCE(135);
      END_STATE();
    case 135:
      ACCEPT_TOKEN(sym_keyword__FILE__);
      END_STATE();
    case 136:
      if (lookahead == 'I')
        ADVANCE(137);
      END_STATE();
    case 137:
      if (lookahead == 'N')
        ADVANCE(138);
      END_STATE();
    case 138:
      if (lookahead == 'E')
        ADVANCE(139);
      END_STATE();
    case 139:
      if (lookahead == '_')
        ADVANCE(140);
      END_STATE();
    case 140:
      if (lookahead == '_')
        ADVANCE(141);
      END_STATE();
    case 141:
      ACCEPT_TOKEN(sym_keyword__LINE__);
      END_STATE();
    case 142:
      ACCEPT_TOKEN(anon_sym_BQUOTE);
      END_STATE();
    case 143:
      if (lookahead == 'l')
        ADVANCE(144);
      if (lookahead == 'n')
        ADVANCE(148);
      END_STATE();
    case 144:
      if (lookahead == 'i')
        ADVANCE(145);
      END_STATE();
    case 145:
      if (lookahead == 'a')
        ADVANCE(146);
      END_STATE();
    case 146:
      if (lookahead == 's')
        ADVANCE(147);
      END_STATE();
    case 147:
      ACCEPT_TOKEN(anon_sym_alias);
      END_STATE();
    case 148:
      if (lookahead == 'd')
        ADVANCE(149);
      END_STATE();
    case 149:
      ACCEPT_TOKEN(anon_sym_and);
      END_STATE();
    case 150:
      if (lookahead == 'e')
        ADVANCE(151);
      if (lookahead == 'r')
        ADVANCE(155);
      END_STATE();
    case 151:
      if (lookahead == 'g')
        ADVANCE(152);
      END_STATE();
    case 152:
      if (lookahead == 'i')
        ADVANCE(153);
      END_STATE();
    case 153:
      if (lookahead == 'n')
        ADVANCE(154);
      END_STATE();
    case 154:
      ACCEPT_TOKEN(anon_sym_begin);
      END_STATE();
    case 155:
      if (lookahead == 'e')
        ADVANCE(156);
      END_STATE();
    case 156:
      if (lookahead == 'a')
        ADVANCE(157);
      END_STATE();
    case 157:
      if (lookahead == 'k')
        ADVANCE(158);
      END_STATE();
    case 158:
      ACCEPT_TOKEN(anon_sym_break);
      END_STATE();
    case 159:
      if (lookahead == 'a')
        ADVANCE(160);
      if (lookahead == 'l')
        ADVANCE(163);
      END_STATE();
    case 160:
      if (lookahead == 's')
        ADVANCE(161);
      END_STATE();
    case 161:
      if (lookahead == 'e')
        ADVANCE(162);
      END_STATE();
    case 162:
      ACCEPT_TOKEN(anon_sym_case);
      END_STATE();
    case 163:
      if (lookahead == 'a')
        ADVANCE(164);
      END_STATE();
    case 164:
      if (lookahead == 's')
        ADVANCE(165);
      END_STATE();
    case 165:
      if (lookahead == 's')
        ADVANCE(166);
      END_STATE();
    case 166:
      ACCEPT_TOKEN(anon_sym_class);
      END_STATE();
    case 167:
      if (lookahead == 'e')
        ADVANCE(168);
      if (lookahead == 'o')
        ADVANCE(175);
      END_STATE();
    case 168:
      if (lookahead == 'f')
        ADVANCE(169);
      END_STATE();
    case 169:
      ACCEPT_TOKEN(anon_sym_def);
      if (lookahead == 'i')
        ADVANCE(170);
      END_STATE();
    case 170:
      if (lookahead == 'n')
        ADVANCE(171);
      END_STATE();
    case 171:
      if (lookahead == 'e')
        ADVANCE(172);
      END_STATE();
    case 172:
      if (lookahead == 'd')
        ADVANCE(173);
      END_STATE();
    case 173:
      ACCEPT_TOKEN(anon_sym_defined);
      if (lookahead == '?')
        ADVANCE(174);
      END_STATE();
    case 174:
      ACCEPT_TOKEN(anon_sym_defined_QMARK);
      END_STATE();
    case 175:
      ACCEPT_TOKEN(anon_sym_do);
      END_STATE();
    case 176:
      if (lookahead == 'l')
        ADVANCE(177);
      if (lookahead == 'n')
        ADVANCE(182);
      END_STATE();
    case 177:
      if (lookahead == 's')
        ADVANCE(178);
      END_STATE();
    case 178:
      if (lookahead == 'e')
        ADVANCE(179);
      if (lookahead == 'i')
        ADVANCE(180);
      END_STATE();
    case 179:
      ACCEPT_TOKEN(anon_sym_else);
      END_STATE();
    case 180:
      if (lookahead == 'f')
        ADVANCE(181);
      END_STATE();
    case 181:
      ACCEPT_TOKEN(anon_sym_elsif);
      END_STATE();
    case 182:
      if (lookahead == 'd')
        ADVANCE(183);
      if (lookahead == 's')
        ADVANCE(184);
      END_STATE();
    case 183:
      ACCEPT_TOKEN(anon_sym_end);
      END_STATE();
    case 184:
      if (lookahead == 'u')
        ADVANCE(185);
      END_STATE();
    case 185:
      if (lookahead == 'r')
        ADVANCE(186);
      END_STATE();
    case 186:
      if (lookahead == 'e')
        ADVANCE(187);
      END_STATE();
    case 187:
      ACCEPT_TOKEN(anon_sym_ensure);
      END_STATE();
    case 188:
      if (lookahead == 'a')
        ADVANCE(189);
      if (lookahead == 'o')
        ADVANCE(193);
      END_STATE();
    case 189:
      if (lookahead == 'l')
        ADVANCE(190);
      END_STATE();
    case 190:
      if (lookahead == 's')
        ADVANCE(191);
      END_STATE();
    case 191:
      if (lookahead == 'e')
        ADVANCE(192);
      END_STATE();
    case 192:
      ACCEPT_TOKEN(anon_sym_false);
      END_STATE();
    case 193:
      if (lookahead == 'r')
        ADVANCE(194);
      END_STATE();
    case 194:
      ACCEPT_TOKEN(anon_sym_for);
      END_STATE();
    case 195:
      if (lookahead == 'f')
        ADVANCE(196);
      if (lookahead == 'n')
        ADVANCE(197);
      END_STATE();
    case 196:
      ACCEPT_TOKEN(anon_sym_if);
      END_STATE();
    case 197:
      ACCEPT_TOKEN(anon_sym_in);
      END_STATE();
    case 198:
      if (lookahead == 'o')
        ADVANCE(199);
      END_STATE();
    case 199:
      if (lookahead == 'd')
        ADVANCE(200);
      END_STATE();
    case 200:
      if (lookahead == 'u')
        ADVANCE(201);
      END_STATE();
    case 201:
      if (lookahead == 'l')
        ADVANCE(202);
      END_STATE();
    case 202:
      if (lookahead == 'e')
        ADVANCE(203);
      END_STATE();
    case 203:
      ACCEPT_TOKEN(anon_sym_module);
      END_STATE();
    case 204:
      if (lookahead == 'e')
        ADVANCE(205);
      if (lookahead == 'i')
        ADVANCE(208);
      if (lookahead == 'o')
        ADVANCE(210);
      END_STATE();
    case 205:
      if (lookahead == 'x')
        ADVANCE(206);
      END_STATE();
    case 206:
      if (lookahead == 't')
        ADVANCE(207);
      END_STATE();
    case 207:
      ACCEPT_TOKEN(anon_sym_next);
      END_STATE();
    case 208:
      if (lookahead == 'l')
        ADVANCE(209);
      END_STATE();
    case 209:
      ACCEPT_TOKEN(anon_sym_nil);
      END_STATE();
    case 210:
      if (lookahead == 't')
        ADVANCE(211);
      END_STATE();
    case 211:
      ACCEPT_TOKEN(anon_sym_not);
      END_STATE();
    case 212:
      if (lookahead == 'r')
        ADVANCE(213);
      END_STATE();
    case 213:
      ACCEPT_TOKEN(anon_sym_or);
      END_STATE();
    case 214:
      ACCEPT_TOKEN(anon_sym_r);
      if (lookahead == 'e')
        ADVANCE(215);
      END_STATE();
    case 215:
      if (lookahead == 'd')
        ADVANCE(216);
      if (lookahead == 's')
        ADVANCE(218);
      if (lookahead == 't')
        ADVANCE(222);
      END_STATE();
    case 216:
      if (lookahead == 'o')
        ADVANCE(217);
      END_STATE();
    case 217:
      ACCEPT_TOKEN(anon_sym_redo);
      END_STATE();
    case 218:
      if (lookahead == 'c')
        ADVANCE(219);
      END_STATE();
    case 219:
      if (lookahead == 'u')
        ADVANCE(220);
      END_STATE();
    case 220:
      if (lookahead == 'e')
        ADVANCE(221);
      END_STATE();
    case 221:
      ACCEPT_TOKEN(anon_sym_rescue);
      END_STATE();
    case 222:
      if (lookahead == 'r')
        ADVANCE(223);
      if (lookahead == 'u')
        ADVANCE(225);
      END_STATE();
    case 223:
      if (lookahead == 'y')
        ADVANCE(224);
      END_STATE();
    case 224:
      ACCEPT_TOKEN(anon_sym_retry);
      END_STATE();
    case 225:
      if (lookahead == 'r')
        ADVANCE(226);
      END_STATE();
    case 226:
      if (lookahead == 'n')
        ADVANCE(227);
      END_STATE();
    case 227:
      ACCEPT_TOKEN(anon_sym_return);
      END_STATE();
    case 228:
      if (lookahead == 'e')
        ADVANCE(229);
      if (lookahead == 'u')
        ADVANCE(232);
      END_STATE();
    case 229:
      if (lookahead == 'l')
        ADVANCE(230);
      END_STATE();
    case 230:
      if (lookahead == 'f')
        ADVANCE(231);
      END_STATE();
    case 231:
      ACCEPT_TOKEN(anon_sym_self);
      END_STATE();
    case 232:
      if (lookahead == 'p')
        ADVANCE(233);
      END_STATE();
    case 233:
      if (lookahead == 'e')
        ADVANCE(234);
      END_STATE();
    case 234:
      if (lookahead == 'r')
        ADVANCE(235);
      END_STATE();
    case 235:
      ACCEPT_TOKEN(anon_sym_super);
      END_STATE();
    case 236:
      if (lookahead == 'h')
        ADVANCE(237);
      if (lookahead == 'r')
        ADVANCE(240);
      END_STATE();
    case 237:
      if (lookahead == 'e')
        ADVANCE(238);
      END_STATE();
    case 238:
      if (lookahead == 'n')
        ADVANCE(239);
      END_STATE();
    case 239:
      ACCEPT_TOKEN(anon_sym_then);
      END_STATE();
    case 240:
      if (lookahead == 'u')
        ADVANCE(241);
      END_STATE();
    case 241:
      if (lookahead == 'e')
        ADVANCE(242);
      END_STATE();
    case 242:
      ACCEPT_TOKEN(anon_sym_true);
      END_STATE();
    case 243:
      if (lookahead == 'n')
        ADVANCE(244);
      END_STATE();
    case 244:
      if (lookahead == 'd')
        ADVANCE(245);
      if (lookahead == 'l')
        ADVANCE(248);
      if (lookahead == 't')
        ADVANCE(252);
      END_STATE();
    case 245:
      if (lookahead == 'e')
        ADVANCE(246);
      END_STATE();
    case 246:
      if (lookahead == 'f')
        ADVANCE(247);
      END_STATE();
    case 247:
      ACCEPT_TOKEN(anon_sym_undef);
      END_STATE();
    case 248:
      if (lookahead == 'e')
        ADVANCE(249);
      END_STATE();
    case 249:
      if (lookahead == 's')
        ADVANCE(250);
      END_STATE();
    case 250:
      if (lookahead == 's')
        ADVANCE(251);
      END_STATE();
    case 251:
      ACCEPT_TOKEN(anon_sym_unless);
      END_STATE();
    case 252:
      if (lookahead == 'i')
        ADVANCE(253);
      END_STATE();
    case 253:
      if (lookahead == 'l')
        ADVANCE(254);
      END_STATE();
    case 254:
      ACCEPT_TOKEN(anon_sym_until);
      END_STATE();
    case 255:
      if (lookahead == 'h')
        ADVANCE(256);
      END_STATE();
    case 256:
      if (lookahead == 'e')
        ADVANCE(257);
      if (lookahead == 'i')
        ADVANCE(259);
      END_STATE();
    case 257:
      if (lookahead == 'n')
        ADVANCE(258);
      END_STATE();
    case 258:
      ACCEPT_TOKEN(anon_sym_when);
      END_STATE();
    case 259:
      if (lookahead == 'l')
        ADVANCE(260);
      END_STATE();
    case 260:
      if (lookahead == 'e')
        ADVANCE(261);
      END_STATE();
    case 261:
      ACCEPT_TOKEN(anon_sym_while);
      END_STATE();
    case 262:
      if (lookahead == 'i')
        ADVANCE(263);
      END_STATE();
    case 263:
      if (lookahead == 'e')
        ADVANCE(264);
      END_STATE();
    case 264:
      if (lookahead == 'l')
        ADVANCE(265);
      END_STATE();
    case 265:
      if (lookahead == 'd')
        ADVANCE(266);
      END_STATE();
    case 266:
      ACCEPT_TOKEN(anon_sym_yield);
      END_STATE();
    case 267:
      ACCEPT_TOKEN(anon_sym_LBRACE);
      END_STATE();
    case 268:
      ACCEPT_TOKEN(anon_sym_PIPE);
      if (lookahead == '=')
        ADVANCE(269);
      if (lookahead == '|')
        ADVANCE(270);
      END_STATE();
    case 269:
      ACCEPT_TOKEN(anon_sym_PIPE_EQ);
      END_STATE();
    case 270:
      ACCEPT_TOKEN(anon_sym_PIPE_PIPE);
      if (lookahead == '=')
        ADVANCE(271);
      END_STATE();
    case 271:
      ACCEPT_TOKEN(anon_sym_PIPE_PIPE_EQ);
      END_STATE();
    case 272:
      ACCEPT_TOKEN(anon_sym_RBRACE);
      END_STATE();
    case 273:
      ACCEPT_TOKEN(anon_sym_TILDE);
      END_STATE();
    case 274:
      if (lookahead == 0)
        ADVANCE(1);
      if (lookahead == '!')
        ADVANCE(275);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(276);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '?')
        ADVANCE(300);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'B')
        ADVANCE(86);
      if (lookahead == 'E')
        ADVANCE(93);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(302);
      if (lookahead == '_')
        ADVANCE(303);
      if (lookahead == 'a')
        ADVANCE(332);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(354);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(368);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'r')
        ADVANCE(384);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(402);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(418);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(274);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('e' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 275:
      ACCEPT_TOKEN(anon_sym_BANG);
      END_STATE();
    case 276:
      ACCEPT_TOKEN(anon_sym_STAR);
      END_STATE();
    case 277:
      ACCEPT_TOKEN(anon_sym_PLUS);
      if (('0' <= lookahead && lookahead <= '9'))
        ADVANCE(278);
      END_STATE();
    case 278:
      if (lookahead == 'i')
        ADVANCE(279);
      if (('0' <= lookahead && lookahead <= '9'))
        ADVANCE(278);
      END_STATE();
    case 279:
      ACCEPT_TOKEN(aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH);
      END_STATE();
    case 280:
      if (lookahead == '>')
        ADVANCE(30);
      if (('0' <= lookahead && lookahead <= '9'))
        ADVANCE(278);
      END_STATE();
    case 281:
      ACCEPT_TOKEN(sym_integer);
      if (lookahead == '+')
        ADVANCE(282);
      if (lookahead == '-')
        ADVANCE(282);
      if (lookahead == '.')
        ADVANCE(38);
      if (lookahead == '_')
        ADVANCE(43);
      if (lookahead == 'b')
        ADVANCE(45);
      if (lookahead == 'd')
        ADVANCE(47);
      if (lookahead == 'i')
        ADVANCE(279);
      if (lookahead == 'x')
        ADVANCE(49);
      if (lookahead == '8' ||
          lookahead == '9')
        ADVANCE(284);
      if (lookahead == 'E' ||
          lookahead == 'e')
        ADVANCE(42);
      if (lookahead == 'O' ||
          lookahead == 'o')
        ADVANCE(51);
      if (('0' <= lookahead && lookahead <= '7'))
        ADVANCE(285);
      END_STATE();
    case 282:
      if (('0' <= lookahead && lookahead <= '9'))
        ADVANCE(283);
      END_STATE();
    case 283:
      ACCEPT_TOKEN(sym_float);
      if (lookahead == '_')
        ADVANCE(40);
      if (lookahead == 'i')
        ADVANCE(279);
      if (('0' <= lookahead && lookahead <= '9'))
        ADVANCE(283);
      END_STATE();
    case 284:
      ACCEPT_TOKEN(sym_integer);
      if (lookahead == '+')
        ADVANCE(282);
      if (lookahead == '-')
        ADVANCE(282);
      if (lookahead == '.')
        ADVANCE(38);
      if (lookahead == '_')
        ADVANCE(43);
      if (lookahead == 'i')
        ADVANCE(279);
      if (lookahead == 'E' ||
          lookahead == 'e')
        ADVANCE(42);
      if (('0' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      END_STATE();
    case 285:
      ACCEPT_TOKEN(sym_integer);
      if (lookahead == '+')
        ADVANCE(282);
      if (lookahead == '-')
        ADVANCE(282);
      if (lookahead == '.')
        ADVANCE(38);
      if (lookahead == '_')
        ADVANCE(54);
      if (lookahead == 'i')
        ADVANCE(279);
      if (lookahead == '8' ||
          lookahead == '9')
        ADVANCE(284);
      if (lookahead == 'E' ||
          lookahead == 'e')
        ADVANCE(42);
      if (('0' <= lookahead && lookahead <= '7'))
        ADVANCE(285);
      END_STATE();
    case 286:
      if (lookahead == ':')
        ADVANCE(56);
      END_STATE();
    case 287:
      if (lookahead == 'b')
        ADVANCE(288);
      END_STATE();
    case 288:
      if (lookahead == 'e')
        ADVANCE(289);
      END_STATE();
    case 289:
      if (lookahead == 'g')
        ADVANCE(290);
      END_STATE();
    case 290:
      if (lookahead == 'i')
        ADVANCE(291);
      END_STATE();
    case 291:
      if (lookahead == 'n')
        ADVANCE(292);
      END_STATE();
    case 292:
      if (lookahead == '\n')
        ADVANCE(293);
      if (lookahead == '\r')
        ADVANCE(292);
      if (lookahead != 0)
        ADVANCE(292);
      END_STATE();
    case 293:
      if (lookahead == '=')
        ADVANCE(294);
      if (lookahead != 0)
        ADVANCE(293);
      END_STATE();
    case 294:
      if (lookahead == 'e')
        ADVANCE(295);
      if (lookahead != 0)
        ADVANCE(293);
      END_STATE();
    case 295:
      if (lookahead == 'n')
        ADVANCE(296);
      if (lookahead != 0)
        ADVANCE(293);
      END_STATE();
    case 296:
      if (lookahead == 'd')
        ADVANCE(297);
      if (lookahead != 0)
        ADVANCE(293);
      END_STATE();
    case 297:
      if (lookahead == '\n')
        ADVANCE(298);
      if (lookahead == '\r')
        ADVANCE(299);
      END_STATE();
    case 298:
      ACCEPT_TOKEN(sym_comment);
      END_STATE();
    case 299:
      if (lookahead == '\n')
        ADVANCE(298);
      END_STATE();
    case 300:
      if (lookahead == '\\')
        ADVANCE(73);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ')
        ADVANCE(79);
      END_STATE();
    case 301:
      ACCEPT_TOKEN(anon_sym_LBRACK);
      END_STATE();
    case 302:
      if (lookahead == '\n')
        SKIP(274);
      END_STATE();
    case 303:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == '_')
        ADVANCE(305);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 304:
      ACCEPT_TOKEN(sym_identifier);
      END_STATE();
    case 305:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'E')
        ADVANCE(306);
      if (lookahead == 'F')
        ADVANCE(320);
      if (lookahead == 'L')
        ADVANCE(326);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 306:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'N')
        ADVANCE(307);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 307:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'C')
        ADVANCE(308);
      if (lookahead == 'D')
        ADVANCE(317);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 308:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'O')
        ADVANCE(309);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 309:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'D')
        ADVANCE(310);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 310:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'I')
        ADVANCE(311);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 311:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'N')
        ADVANCE(312);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 312:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'G')
        ADVANCE(313);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 313:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == '_')
        ADVANCE(314);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 314:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == '_')
        ADVANCE(315);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 315:
      ACCEPT_TOKEN(sym_keyword__ENCODING__);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 316:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 317:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == '_')
        ADVANCE(318);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 318:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == '_')
        ADVANCE(319);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 319:
      ACCEPT_TOKEN(anon_sym___END__);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 320:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'I')
        ADVANCE(321);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 321:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'L')
        ADVANCE(322);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 322:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'E')
        ADVANCE(323);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 323:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == '_')
        ADVANCE(324);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 324:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == '_')
        ADVANCE(325);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 325:
      ACCEPT_TOKEN(sym_keyword__FILE__);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 326:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'I')
        ADVANCE(327);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 327:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'N')
        ADVANCE(328);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 328:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'E')
        ADVANCE(329);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 329:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == '_')
        ADVANCE(330);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 330:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == '_')
        ADVANCE(331);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 331:
      ACCEPT_TOKEN(sym_keyword__LINE__);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 332:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'l')
        ADVANCE(333);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 333:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'i')
        ADVANCE(334);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 334:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'a')
        ADVANCE(335);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('b' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 335:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 's')
        ADVANCE(336);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 336:
      ACCEPT_TOKEN(anon_sym_alias);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 337:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'e')
        ADVANCE(338);
      if (lookahead == 'r')
        ADVANCE(342);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 338:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'g')
        ADVANCE(339);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 339:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'i')
        ADVANCE(340);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 340:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'n')
        ADVANCE(341);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 341:
      ACCEPT_TOKEN(anon_sym_begin);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 342:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'e')
        ADVANCE(343);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 343:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'a')
        ADVANCE(344);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('b' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 344:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'k')
        ADVANCE(345);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 345:
      ACCEPT_TOKEN(anon_sym_break);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 346:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'a')
        ADVANCE(347);
      if (lookahead == 'l')
        ADVANCE(350);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('b' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 347:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 's')
        ADVANCE(348);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 348:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'e')
        ADVANCE(349);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 349:
      ACCEPT_TOKEN(anon_sym_case);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 350:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'a')
        ADVANCE(351);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('b' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 351:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 's')
        ADVANCE(352);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 352:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 's')
        ADVANCE(353);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 353:
      ACCEPT_TOKEN(anon_sym_class);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 354:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'e')
        ADVANCE(355);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 355:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'f')
        ADVANCE(356);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 356:
      ACCEPT_TOKEN(anon_sym_def);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'i')
        ADVANCE(357);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 357:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'n')
        ADVANCE(358);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 358:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'e')
        ADVANCE(359);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 359:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'd')
        ADVANCE(360);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 360:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(174);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 361:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'a')
        ADVANCE(362);
      if (lookahead == 'o')
        ADVANCE(366);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('b' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 362:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'l')
        ADVANCE(363);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 363:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 's')
        ADVANCE(364);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 364:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'e')
        ADVANCE(365);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 365:
      ACCEPT_TOKEN(anon_sym_false);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 366:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'r')
        ADVANCE(367);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 367:
      ACCEPT_TOKEN(anon_sym_for);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 368:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'f')
        ADVANCE(369);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 369:
      ACCEPT_TOKEN(anon_sym_if);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 370:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'o')
        ADVANCE(371);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 371:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'd')
        ADVANCE(372);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 372:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'u')
        ADVANCE(373);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 373:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'l')
        ADVANCE(374);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 374:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'e')
        ADVANCE(375);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 375:
      ACCEPT_TOKEN(anon_sym_module);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 376:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'e')
        ADVANCE(377);
      if (lookahead == 'i')
        ADVANCE(380);
      if (lookahead == 'o')
        ADVANCE(382);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 377:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'x')
        ADVANCE(378);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 378:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 't')
        ADVANCE(379);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 379:
      ACCEPT_TOKEN(anon_sym_next);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 380:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'l')
        ADVANCE(381);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 381:
      ACCEPT_TOKEN(anon_sym_nil);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 382:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 't')
        ADVANCE(383);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 383:
      ACCEPT_TOKEN(anon_sym_not);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 384:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'e')
        ADVANCE(385);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 385:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'd')
        ADVANCE(386);
      if (lookahead == 't')
        ADVANCE(388);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 386:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'o')
        ADVANCE(387);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 387:
      ACCEPT_TOKEN(anon_sym_redo);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 388:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'r')
        ADVANCE(389);
      if (lookahead == 'u')
        ADVANCE(391);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 389:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'y')
        ADVANCE(390);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 390:
      ACCEPT_TOKEN(anon_sym_retry);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 391:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'r')
        ADVANCE(392);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 392:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'n')
        ADVANCE(393);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 393:
      ACCEPT_TOKEN(anon_sym_return);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 394:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'e')
        ADVANCE(395);
      if (lookahead == 'u')
        ADVANCE(398);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 395:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'l')
        ADVANCE(396);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 396:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'f')
        ADVANCE(397);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 397:
      ACCEPT_TOKEN(anon_sym_self);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 398:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'p')
        ADVANCE(399);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 399:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'e')
        ADVANCE(400);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 400:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'r')
        ADVANCE(401);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 401:
      ACCEPT_TOKEN(anon_sym_super);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 402:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'r')
        ADVANCE(403);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 403:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'u')
        ADVANCE(404);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 404:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'e')
        ADVANCE(405);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 405:
      ACCEPT_TOKEN(anon_sym_true);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 406:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'n')
        ADVANCE(407);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 407:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'd')
        ADVANCE(408);
      if (lookahead == 'l')
        ADVANCE(411);
      if (lookahead == 't')
        ADVANCE(415);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 408:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'e')
        ADVANCE(409);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 409:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'f')
        ADVANCE(410);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 410:
      ACCEPT_TOKEN(anon_sym_undef);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 411:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'e')
        ADVANCE(412);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 412:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 's')
        ADVANCE(413);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 413:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 's')
        ADVANCE(414);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 414:
      ACCEPT_TOKEN(anon_sym_unless);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 415:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'i')
        ADVANCE(416);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 416:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'l')
        ADVANCE(417);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 417:
      ACCEPT_TOKEN(anon_sym_until);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 418:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'h')
        ADVANCE(419);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 419:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'i')
        ADVANCE(420);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 420:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'l')
        ADVANCE(421);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 421:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'e')
        ADVANCE(422);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 422:
      ACCEPT_TOKEN(anon_sym_while);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 423:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'i')
        ADVANCE(424);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 424:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'e')
        ADVANCE(425);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 425:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'l')
        ADVANCE(426);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 426:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'd')
        ADVANCE(427);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 427:
      ACCEPT_TOKEN(anon_sym_yield);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 428:
      if (lookahead == 0)
        ADVANCE(1);
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(442);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == '_')
        ADVANCE(444);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'e')
        ADVANCE(176);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 't')
        ADVANCE(453);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(255);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(428);
      END_STATE();
    case 429:
      if (lookahead == '=')
        ADVANCE(3);
      if (lookahead == '~')
        ADVANCE(4);
      END_STATE();
    case 430:
      ACCEPT_TOKEN(anon_sym_PERCENT);
      END_STATE();
    case 431:
      ACCEPT_TOKEN(anon_sym_AMP);
      if (lookahead == '&')
        ADVANCE(432);
      if (lookahead == '.')
        ADVANCE(16);
      END_STATE();
    case 432:
      ACCEPT_TOKEN(anon_sym_AMP_AMP);
      END_STATE();
    case 433:
      if (lookahead == '*')
        ADVANCE(434);
      END_STATE();
    case 434:
      ACCEPT_TOKEN(anon_sym_STAR_STAR);
      END_STATE();
    case 435:
      ACCEPT_TOKEN(anon_sym_PLUS);
      END_STATE();
    case 436:
      ACCEPT_TOKEN(anon_sym_SLASH);
      END_STATE();
    case 437:
      ACCEPT_TOKEN(anon_sym_LT);
      if (lookahead == '<')
        ADVANCE(438);
      if (lookahead == '=')
        ADVANCE(61);
      END_STATE();
    case 438:
      ACCEPT_TOKEN(anon_sym_LT_LT);
      END_STATE();
    case 439:
      if (lookahead == '=')
        ADVANCE(64);
      if (lookahead == '>')
        ADVANCE(66);
      if (lookahead == 'b')
        ADVANCE(288);
      if (lookahead == '~')
        ADVANCE(67);
      END_STATE();
    case 440:
      ACCEPT_TOKEN(anon_sym_GT);
      if (lookahead == '=')
        ADVANCE(69);
      if (lookahead == '>')
        ADVANCE(441);
      END_STATE();
    case 441:
      ACCEPT_TOKEN(anon_sym_GT_GT);
      END_STATE();
    case 442:
      if (lookahead == '\n')
        SKIP(428);
      END_STATE();
    case 443:
      ACCEPT_TOKEN(anon_sym_CARET);
      END_STATE();
    case 444:
      if (lookahead == '_')
        ADVANCE(445);
      END_STATE();
    case 445:
      if (lookahead == 'E')
        ADVANCE(446);
      END_STATE();
    case 446:
      if (lookahead == 'N')
        ADVANCE(447);
      END_STATE();
    case 447:
      if (lookahead == 'D')
        ADVANCE(127);
      END_STATE();
    case 448:
      if (lookahead == 'n')
        ADVANCE(148);
      END_STATE();
    case 449:
      if (lookahead == 'o')
        ADVANCE(175);
      END_STATE();
    case 450:
      if (lookahead == 'f')
        ADVANCE(196);
      END_STATE();
    case 451:
      if (lookahead == 'e')
        ADVANCE(452);
      END_STATE();
    case 452:
      if (lookahead == 's')
        ADVANCE(218);
      END_STATE();
    case 453:
      if (lookahead == 'h')
        ADVANCE(237);
      END_STATE();
    case 454:
      if (lookahead == 'n')
        ADVANCE(455);
      END_STATE();
    case 455:
      if (lookahead == 'l')
        ADVANCE(248);
      if (lookahead == 't')
        ADVANCE(252);
      END_STATE();
    case 456:
      ACCEPT_TOKEN(anon_sym_PIPE);
      if (lookahead == '|')
        ADVANCE(457);
      END_STATE();
    case 457:
      ACCEPT_TOKEN(anon_sym_PIPE_PIPE);
      END_STATE();
    case 458:
      if (lookahead == 0)
        ADVANCE(1);
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(460);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == '_')
        ADVANCE(444);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'e')
        ADVANCE(176);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 't')
        ADVANCE(453);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(255);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(458);
      END_STATE();
    case 459:
      ACCEPT_TOKEN(anon_sym_QMARK);
      END_STATE();
    case 460:
      if (lookahead == '\n')
        SKIP(458);
      END_STATE();
    case 461:
      if (lookahead == '!')
        ADVANCE(275);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(276);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '?')
        ADVANCE(300);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(462);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(332);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(354);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(368);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'r')
        ADVANCE(384);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(402);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(418);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(461);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('e' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 462:
      if (lookahead == '\n')
        SKIP(461);
      END_STATE();
    case 463:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == '_')
        ADVANCE(464);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 464:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'E')
        ADVANCE(465);
      if (lookahead == 'F')
        ADVANCE(320);
      if (lookahead == 'L')
        ADVANCE(326);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 465:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'N')
        ADVANCE(466);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 466:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'C')
        ADVANCE(308);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 467:
      if (lookahead == '!')
        ADVANCE(275);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(276);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '?')
        ADVANCE(300);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(468);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(354);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(368);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'r')
        ADVANCE(384);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(402);
      if (lookahead == 'u')
        ADVANCE(469);
      if (lookahead == 'w')
        ADVANCE(418);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(467);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 468:
      if (lookahead == '\n')
        SKIP(467);
      END_STATE();
    case 469:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'n')
        ADVANCE(470);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 470:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'l')
        ADVANCE(411);
      if (lookahead == 't')
        ADVANCE(415);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 471:
      ACCEPT_TOKEN(sym_uninterpreted);
      if (lookahead == '\n')
        ADVANCE(472);
      if (lookahead == '#')
        ADVANCE(473);
      if (lookahead == '=')
        ADVANCE(475);
      if (lookahead == '\\')
        ADVANCE(487);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ')
        ADVANCE(472);
      if (lookahead != 0)
        ADVANCE(474);
      END_STATE();
    case 472:
      ACCEPT_TOKEN(sym_uninterpreted);
      if (lookahead == '\n')
        ADVANCE(472);
      if (lookahead == '#')
        ADVANCE(473);
      if (lookahead == '=')
        ADVANCE(475);
      if (lookahead == '\\')
        ADVANCE(487);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ')
        ADVANCE(472);
      if (lookahead != 0)
        ADVANCE(474);
      END_STATE();
    case 473:
      ACCEPT_TOKEN(sym_uninterpreted);
      if (lookahead == '\n')
        ADVANCE(474);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ')
        ADVANCE(473);
      if (lookahead != 0)
        ADVANCE(473);
      END_STATE();
    case 474:
      ACCEPT_TOKEN(sym_uninterpreted);
      if (lookahead == '\n')
        ADVANCE(474);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ')
        ADVANCE(474);
      if (lookahead != 0)
        ADVANCE(474);
      END_STATE();
    case 475:
      ACCEPT_TOKEN(sym_uninterpreted);
      if (lookahead == '\n')
        ADVANCE(474);
      if (lookahead == 'b')
        ADVANCE(476);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ')
        ADVANCE(474);
      if (lookahead != 0)
        ADVANCE(474);
      END_STATE();
    case 476:
      ACCEPT_TOKEN(sym_uninterpreted);
      if (lookahead == '\n')
        ADVANCE(474);
      if (lookahead == 'e')
        ADVANCE(477);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ')
        ADVANCE(474);
      if (lookahead != 0)
        ADVANCE(474);
      END_STATE();
    case 477:
      ACCEPT_TOKEN(sym_uninterpreted);
      if (lookahead == '\n')
        ADVANCE(474);
      if (lookahead == 'g')
        ADVANCE(478);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ')
        ADVANCE(474);
      if (lookahead != 0)
        ADVANCE(474);
      END_STATE();
    case 478:
      ACCEPT_TOKEN(sym_uninterpreted);
      if (lookahead == '\n')
        ADVANCE(474);
      if (lookahead == 'i')
        ADVANCE(479);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ')
        ADVANCE(474);
      if (lookahead != 0)
        ADVANCE(474);
      END_STATE();
    case 479:
      ACCEPT_TOKEN(sym_uninterpreted);
      if (lookahead == '\n')
        ADVANCE(474);
      if (lookahead == 'n')
        ADVANCE(480);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ')
        ADVANCE(474);
      if (lookahead != 0)
        ADVANCE(474);
      END_STATE();
    case 480:
      ACCEPT_TOKEN(sym_uninterpreted);
      if (lookahead == '\n')
        ADVANCE(481);
      if (lookahead == '\r')
        ADVANCE(480);
      if (lookahead == '\t' ||
          lookahead == ' ')
        ADVANCE(480);
      if (lookahead != 0)
        ADVANCE(480);
      END_STATE();
    case 481:
      ACCEPT_TOKEN(sym_uninterpreted);
      if (lookahead == '\n')
        ADVANCE(481);
      if (lookahead == '=')
        ADVANCE(482);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ')
        ADVANCE(481);
      if (lookahead != 0)
        ADVANCE(481);
      END_STATE();
    case 482:
      ACCEPT_TOKEN(sym_uninterpreted);
      if (lookahead == '\n')
        ADVANCE(481);
      if (lookahead == 'e')
        ADVANCE(483);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ')
        ADVANCE(481);
      if (lookahead != 0)
        ADVANCE(481);
      END_STATE();
    case 483:
      ACCEPT_TOKEN(sym_uninterpreted);
      if (lookahead == '\n')
        ADVANCE(481);
      if (lookahead == 'n')
        ADVANCE(484);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ')
        ADVANCE(481);
      if (lookahead != 0)
        ADVANCE(481);
      END_STATE();
    case 484:
      ACCEPT_TOKEN(sym_uninterpreted);
      if (lookahead == '\n')
        ADVANCE(481);
      if (lookahead == 'd')
        ADVANCE(485);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ')
        ADVANCE(481);
      if (lookahead != 0)
        ADVANCE(481);
      END_STATE();
    case 485:
      ACCEPT_TOKEN(sym_uninterpreted);
      if (lookahead == '\n')
        ADVANCE(474);
      if (lookahead == '\r')
        ADVANCE(486);
      if (lookahead == '\t' ||
          lookahead == ' ')
        ADVANCE(474);
      if (lookahead != 0)
        ADVANCE(474);
      END_STATE();
    case 486:
      ACCEPT_TOKEN(sym_uninterpreted);
      if (lookahead == '\n')
        ADVANCE(474);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ')
        ADVANCE(474);
      if (lookahead != 0)
        ADVANCE(474);
      END_STATE();
    case 487:
      ACCEPT_TOKEN(sym_uninterpreted);
      if (lookahead == '\n')
        ADVANCE(472);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ')
        ADVANCE(474);
      if (lookahead != 0)
        ADVANCE(474);
      END_STATE();
    case 488:
      if (lookahead == '!')
        ADVANCE(275);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(489);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '?')
        ADVANCE(300);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(490);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(488);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 489:
      ACCEPT_TOKEN(anon_sym_STAR);
      if (lookahead == '*')
        ADVANCE(434);
      END_STATE();
    case 490:
      if (lookahead == '\n')
        SKIP(488);
      END_STATE();
    case 491:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'l')
        ADVANCE(333);
      if (lookahead == 'n')
        ADVANCE(492);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 492:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'd')
        ADVANCE(493);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 493:
      ACCEPT_TOKEN(anon_sym_and);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 494:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'e')
        ADVANCE(495);
      if (lookahead == 'o')
        ADVANCE(501);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 495:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'f')
        ADVANCE(496);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 496:
      ACCEPT_TOKEN(anon_sym_def);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'i')
        ADVANCE(497);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 497:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'n')
        ADVANCE(498);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 498:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'e')
        ADVANCE(499);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 499:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'd')
        ADVANCE(500);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 500:
      ACCEPT_TOKEN(anon_sym_defined);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(174);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 501:
      ACCEPT_TOKEN(anon_sym_do);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 502:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'l')
        ADVANCE(503);
      if (lookahead == 'n')
        ADVANCE(508);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 503:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 's')
        ADVANCE(504);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 504:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'e')
        ADVANCE(505);
      if (lookahead == 'i')
        ADVANCE(506);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 505:
      ACCEPT_TOKEN(anon_sym_else);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 506:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'f')
        ADVANCE(507);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 507:
      ACCEPT_TOKEN(anon_sym_elsif);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 508:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'd')
        ADVANCE(509);
      if (lookahead == 's')
        ADVANCE(510);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 509:
      ACCEPT_TOKEN(anon_sym_end);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 510:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'u')
        ADVANCE(511);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 511:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'r')
        ADVANCE(512);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 512:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'e')
        ADVANCE(513);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 513:
      ACCEPT_TOKEN(anon_sym_ensure);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 514:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'f')
        ADVANCE(369);
      if (lookahead == 'n')
        ADVANCE(515);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 515:
      ACCEPT_TOKEN(anon_sym_in);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 516:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'r')
        ADVANCE(517);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 517:
      ACCEPT_TOKEN(anon_sym_or);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 518:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'e')
        ADVANCE(519);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 519:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'd')
        ADVANCE(386);
      if (lookahead == 's')
        ADVANCE(520);
      if (lookahead == 't')
        ADVANCE(388);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 520:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'c')
        ADVANCE(521);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 521:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'u')
        ADVANCE(522);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 522:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'e')
        ADVANCE(523);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 523:
      ACCEPT_TOKEN(anon_sym_rescue);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 524:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'h')
        ADVANCE(525);
      if (lookahead == 'r')
        ADVANCE(403);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 525:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'e')
        ADVANCE(526);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 526:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'n')
        ADVANCE(527);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 527:
      ACCEPT_TOKEN(anon_sym_then);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 528:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'h')
        ADVANCE(529);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 529:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'e')
        ADVANCE(530);
      if (lookahead == 'i')
        ADVANCE(420);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 530:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'n')
        ADVANCE(531);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 531:
      ACCEPT_TOKEN(anon_sym_when);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 532:
      if (lookahead == '!')
        ADVANCE(533);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(534);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(489);
      if (lookahead == '+')
        ADVANCE(535);
      if (lookahead == '-')
        ADVANCE(536);
      if (lookahead == '.')
        ADVANCE(537);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == '[')
        ADVANCE(540);
      if (lookahead == '\\')
        SKIP(541);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == '`')
        ADVANCE(142);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == '|')
        ADVANCE(542);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(532);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      if (('_' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 533:
      ACCEPT_TOKEN(anon_sym_BANG);
      if (lookahead == '~')
        ADVANCE(4);
      END_STATE();
    case 534:
      ACCEPT_TOKEN(anon_sym_AMP);
      END_STATE();
    case 535:
      ACCEPT_TOKEN(anon_sym_PLUS);
      if (lookahead == '@')
        ADVANCE(26);
      END_STATE();
    case 536:
      ACCEPT_TOKEN(anon_sym_DASH);
      if (lookahead == '@')
        ADVANCE(31);
      END_STATE();
    case 537:
      if (lookahead == '.')
        ADVANCE(538);
      END_STATE();
    case 538:
      ACCEPT_TOKEN(anon_sym_DOT_DOT);
      END_STATE();
    case 539:
      if (lookahead == '=')
        ADVANCE(64);
      if (lookahead == 'b')
        ADVANCE(288);
      if (lookahead == '~')
        ADVANCE(67);
      END_STATE();
    case 540:
      if (lookahead == ']')
        ADVANCE(109);
      END_STATE();
    case 541:
      if (lookahead == '\n')
        SKIP(532);
      END_STATE();
    case 542:
      ACCEPT_TOKEN(anon_sym_PIPE);
      END_STATE();
    case 543:
      if (lookahead == '!')
        ADVANCE(275);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(276);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '?')
        ADVANCE(300);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'B')
        ADVANCE(86);
      if (lookahead == 'E')
        ADVANCE(93);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(544);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(332);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(354);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(368);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'r')
        ADVANCE(384);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(402);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(418);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(543);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('e' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 544:
      if (lookahead == '\n')
        SKIP(543);
      END_STATE();
    case 545:
      if (lookahead == '!')
        ADVANCE(533);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(534);
      if (lookahead == '*')
        ADVANCE(489);
      if (lookahead == '+')
        ADVANCE(535);
      if (lookahead == '-')
        ADVANCE(536);
      if (lookahead == '.')
        ADVANCE(537);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == '[')
        ADVANCE(540);
      if (lookahead == '\\')
        SKIP(546);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == '`')
        ADVANCE(142);
      if (lookahead == '|')
        ADVANCE(542);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(545);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      if (('_' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 546:
      if (lookahead == '\n')
        SKIP(545);
      END_STATE();
    case 547:
      if (lookahead == 0)
        ADVANCE(1);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '\\')
        SKIP(548);
      if (lookahead == '_')
        ADVANCE(444);
      if (lookahead == 'e')
        ADVANCE(176);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 't')
        ADVANCE(453);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(255);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(547);
      END_STATE();
    case 548:
      if (lookahead == '\n')
        SKIP(547);
      END_STATE();
    case 549:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '+')
        ADVANCE(550);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == '=')
        ADVANCE(551);
      if (lookahead == '?')
        ADVANCE(300);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(552);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(553);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(368);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(556);
      if (lookahead == 'r')
        ADVANCE(384);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(402);
      if (lookahead == 'u')
        ADVANCE(469);
      if (lookahead == 'w')
        ADVANCE(418);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(549);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 550:
      if (('0' <= lookahead && lookahead <= '9'))
        ADVANCE(278);
      END_STATE();
    case 551:
      ACCEPT_TOKEN(anon_sym_EQ);
      END_STATE();
    case 552:
      if (lookahead == '\n')
        SKIP(549);
      END_STATE();
    case 553:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'e')
        ADVANCE(554);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 554:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'f')
        ADVANCE(555);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 555:
      ACCEPT_TOKEN(anon_sym_def);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 556:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'e')
        ADVANCE(377);
      if (lookahead == 'i')
        ADVANCE(380);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 557:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '+')
        ADVANCE(550);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '?')
        ADVANCE(300);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(558);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(553);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(368);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(556);
      if (lookahead == 'r')
        ADVANCE(384);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(402);
      if (lookahead == 'u')
        ADVANCE(469);
      if (lookahead == 'w')
        ADVANCE(418);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(557);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 558:
      if (lookahead == '\n')
        SKIP(557);
      END_STATE();
    case 559:
      if (lookahead == 0)
        ADVANCE(1);
      if (lookahead == '!')
        ADVANCE(2);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(489);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(560);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == '_')
        ADVANCE(303);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(559);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 560:
      if (lookahead == '\n')
        SKIP(559);
      END_STATE();
    case 561:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(276);
      if (lookahead == '+')
        ADVANCE(550);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '?')
        ADVANCE(300);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(562);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(553);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(368);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(556);
      if (lookahead == 'r')
        ADVANCE(384);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(402);
      if (lookahead == 'u')
        ADVANCE(469);
      if (lookahead == 'w')
        ADVANCE(418);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(561);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 562:
      if (lookahead == '\n')
        SKIP(561);
      END_STATE();
    case 563:
      if (lookahead == '!')
        ADVANCE(275);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(276);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '?')
        ADVANCE(300);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(564);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(354);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(368);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'r')
        ADVANCE(384);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(402);
      if (lookahead == 'u')
        ADVANCE(469);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(563);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 564:
      if (lookahead == '\n')
        SKIP(563);
      END_STATE();
    case 565:
      if (lookahead == '!')
        ADVANCE(275);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(276);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '?')
        ADVANCE(300);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'B')
        ADVANCE(86);
      if (lookahead == 'E')
        ADVANCE(93);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(566);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(332);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(354);
      if (lookahead == 'e')
        ADVANCE(567);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(368);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(402);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(418);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(565);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 566:
      if (lookahead == '\n')
        SKIP(565);
      END_STATE();
    case 567:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'l')
        ADVANCE(568);
      if (lookahead == 'n')
        ADVANCE(508);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 568:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 's')
        ADVANCE(569);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 569:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'e')
        ADVANCE(505);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 570:
      if (lookahead == 0)
        ADVANCE(1);
      if (lookahead == '!')
        ADVANCE(2);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(20);
      if (lookahead == '+')
        ADVANCE(571);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(572);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(574);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == '_')
        ADVANCE(303);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(570);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 571:
      ACCEPT_TOKEN(anon_sym_PLUS);
      if (lookahead == '=')
        ADVANCE(25);
      if (('0' <= lookahead && lookahead <= '9'))
        ADVANCE(278);
      END_STATE();
    case 572:
      if (lookahead == '=')
        ADVANCE(29);
      if (lookahead == '>')
        ADVANCE(30);
      if (('0' <= lookahead && lookahead <= '9'))
        ADVANCE(278);
      END_STATE();
    case 573:
      ACCEPT_TOKEN(anon_sym_EQ);
      if (lookahead == '=')
        ADVANCE(64);
      if (lookahead == '~')
        ADVANCE(67);
      END_STATE();
    case 574:
      if (lookahead == '\n')
        SKIP(570);
      END_STATE();
    case 575:
      if (lookahead == 0)
        ADVANCE(1);
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(579);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == '_')
        ADVANCE(444);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'e')
        ADVANCE(176);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 't')
        ADVANCE(453);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(255);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(575);
      END_STATE();
    case 576:
      if (lookahead == '*')
        ADVANCE(21);
      if (lookahead == '=')
        ADVANCE(23);
      END_STATE();
    case 577:
      ACCEPT_TOKEN(anon_sym_PLUS);
      if (lookahead == '=')
        ADVANCE(25);
      END_STATE();
    case 578:
      if (lookahead == '=')
        ADVANCE(29);
      END_STATE();
    case 579:
      if (lookahead == '\n')
        SKIP(575);
      END_STATE();
    case 580:
      if (lookahead == 0)
        ADVANCE(1);
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(581);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == '_')
        ADVANCE(444);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'e')
        ADVANCE(176);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(582);
      if (lookahead == 't')
        ADVANCE(453);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(255);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(580);
      END_STATE();
    case 581:
      if (lookahead == '\n')
        SKIP(580);
      END_STATE();
    case 582:
      ACCEPT_TOKEN(anon_sym_r);
      if (lookahead == 'e')
        ADVANCE(452);
      END_STATE();
    case 583:
      if (lookahead == '!')
        ADVANCE(275);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(489);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '?')
        ADVANCE(300);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(584);
      if (lookahead == ']')
        ADVANCE(112);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(583);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 584:
      if (lookahead == '\n')
        SKIP(583);
      END_STATE();
    case 585:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '&')
        ADVANCE(534);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(489);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(586);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(551);
      if (lookahead == '\\')
        SKIP(587);
      if (lookahead == 'd')
        ADVANCE(588);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(542);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(585);
      if (lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 586:
      ACCEPT_TOKEN(anon_sym_DOT);
      END_STATE();
    case 587:
      if (lookahead == '\n')
        SKIP(585);
      END_STATE();
    case 588:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'o')
        ADVANCE(501);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 589:
      if (lookahead == 0)
        ADVANCE(1);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '\\')
        SKIP(590);
      if (lookahead == '_')
        ADVANCE(444);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(589);
      END_STATE();
    case 590:
      if (lookahead == '\n')
        SKIP(589);
      END_STATE();
    case 591:
      if (lookahead == 0)
        ADVANCE(1);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '\\')
        SKIP(592);
      if (lookahead == '_')
        ADVANCE(444);
      if (lookahead == 'e')
        ADVANCE(176);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'w')
        ADVANCE(593);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(591);
      END_STATE();
    case 592:
      if (lookahead == '\n')
        SKIP(591);
      END_STATE();
    case 593:
      if (lookahead == 'h')
        ADVANCE(594);
      END_STATE();
    case 594:
      if (lookahead == 'e')
        ADVANCE(257);
      END_STATE();
    case 595:
      if (lookahead == 0)
        ADVANCE(1);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '\\')
        SKIP(596);
      if (lookahead == '_')
        ADVANCE(444);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(595);
      END_STATE();
    case 596:
      if (lookahead == '\n')
        SKIP(595);
      END_STATE();
    case 597:
      if (lookahead == 'h')
        ADVANCE(598);
      END_STATE();
    case 598:
      if (lookahead == 'i')
        ADVANCE(259);
      END_STATE();
    case 599:
      if (lookahead == 0)
        ADVANCE(1);
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(600);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == '.')
        ADVANCE(601);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(602);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == '_')
        ADVANCE(444);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(599);
      END_STATE();
    case 600:
      ACCEPT_TOKEN(anon_sym_AMP);
      if (lookahead == '&')
        ADVANCE(432);
      END_STATE();
    case 601:
      if (lookahead == '.')
        ADVANCE(33);
      END_STATE();
    case 602:
      if (lookahead == '\n')
        SKIP(599);
      END_STATE();
    case 603:
      if (lookahead == 0)
        ADVANCE(1);
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(604);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == '_')
        ADVANCE(444);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(603);
      END_STATE();
    case 604:
      if (lookahead == '\n')
        SKIP(603);
      END_STATE();
    case 605:
      if (lookahead == 0)
        ADVANCE(1);
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(600);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(601);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(606);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == '_')
        ADVANCE(444);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'e')
        ADVANCE(176);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 't')
        ADVANCE(453);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(255);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(605);
      END_STATE();
    case 606:
      if (lookahead == '\n')
        SKIP(605);
      END_STATE();
    case 607:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '&')
        ADVANCE(608);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(586);
      if (lookahead == '=')
        ADVANCE(551);
      if (lookahead == '\\')
        SKIP(609);
      if (lookahead == 'i')
        ADVANCE(610);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(607);
      END_STATE();
    case 608:
      if (lookahead == '.')
        ADVANCE(16);
      END_STATE();
    case 609:
      if (lookahead == '\n')
        SKIP(607);
      END_STATE();
    case 610:
      if (lookahead == 'n')
        ADVANCE(197);
      END_STATE();
    case 611:
      if (lookahead == 0)
        ADVANCE(1);
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(612);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == '_')
        ADVANCE(444);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(611);
      END_STATE();
    case 612:
      if (lookahead == '\n')
        SKIP(611);
      END_STATE();
    case 613:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(614);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(613);
      END_STATE();
    case 614:
      if (lookahead == '\n')
        SKIP(613);
      END_STATE();
    case 615:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(616);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(615);
      END_STATE();
    case 616:
      if (lookahead == '\n')
        SKIP(615);
      END_STATE();
    case 617:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '\\')
        SKIP(618);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(617);
      END_STATE();
    case 618:
      if (lookahead == '\n')
        SKIP(617);
      END_STATE();
    case 619:
      if (lookahead == '!')
        ADVANCE(2);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(489);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(620);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(619);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 620:
      if (lookahead == '\n')
        SKIP(619);
      END_STATE();
    case 621:
      if (lookahead == '!')
        ADVANCE(2);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(20);
      if (lookahead == '+')
        ADVANCE(571);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(572);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(622);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(621);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 622:
      if (lookahead == '\n')
        SKIP(621);
      END_STATE();
    case 623:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(624);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(623);
      END_STATE();
    case 624:
      if (lookahead == '\n')
        SKIP(623);
      END_STATE();
    case 625:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(626);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(582);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(625);
      END_STATE();
    case 626:
      if (lookahead == '\n')
        SKIP(625);
      END_STATE();
    case 627:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(600);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == '.')
        ADVANCE(601);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(628);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(627);
      END_STATE();
    case 628:
      if (lookahead == '\n')
        SKIP(627);
      END_STATE();
    case 629:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(600);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(601);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(630);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(629);
      END_STATE();
    case 630:
      if (lookahead == '\n')
        SKIP(629);
      END_STATE();
    case 631:
      if (lookahead == '!')
        ADVANCE(275);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(276);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '?')
        ADVANCE(300);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'B')
        ADVANCE(86);
      if (lookahead == 'E')
        ADVANCE(93);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(632);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(332);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(354);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(368);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'r')
        ADVANCE(384);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(402);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(418);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(631);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('e' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 632:
      if (lookahead == '\n')
        SKIP(631);
      END_STATE();
    case 633:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(634);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(633);
      END_STATE();
    case 634:
      if (lookahead == '\n')
        SKIP(633);
      END_STATE();
    case 635:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ':')
        ADVANCE(636);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(637);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(635);
      END_STATE();
    case 636:
      ACCEPT_TOKEN(anon_sym_COLON);
      END_STATE();
    case 637:
      if (lookahead == '\n')
        SKIP(635);
      END_STATE();
    case 638:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '\\')
        SKIP(639);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(638);
      END_STATE();
    case 639:
      if (lookahead == '\n')
        SKIP(638);
      END_STATE();
    case 640:
      if (lookahead == '!')
        ADVANCE(2);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(489);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(641);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(640);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 641:
      if (lookahead == '\n')
        SKIP(640);
      END_STATE();
    case 642:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(643);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(642);
      END_STATE();
    case 643:
      if (lookahead == '\n')
        SKIP(642);
      END_STATE();
    case 644:
      if (lookahead == '!')
        ADVANCE(2);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(20);
      if (lookahead == '+')
        ADVANCE(571);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(572);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(645);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(644);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 645:
      if (lookahead == '\n')
        SKIP(644);
      END_STATE();
    case 646:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(647);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(646);
      END_STATE();
    case 647:
      if (lookahead == '\n')
        SKIP(646);
      END_STATE();
    case 648:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ':')
        ADVANCE(636);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(649);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(650);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(648);
      END_STATE();
    case 649:
      if (lookahead == '\n')
        SKIP(648);
      END_STATE();
    case 650:
      ACCEPT_TOKEN(anon_sym_r);
      END_STATE();
    case 651:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(600);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == '.')
        ADVANCE(601);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(652);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(651);
      END_STATE();
    case 652:
      if (lookahead == '\n')
        SKIP(651);
      END_STATE();
    case 653:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(654);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(653);
      END_STATE();
    case 654:
      if (lookahead == '\n')
        SKIP(653);
      END_STATE();
    case 655:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '\\')
        SKIP(656);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(655);
      END_STATE();
    case 656:
      if (lookahead == '\n')
        SKIP(655);
      END_STATE();
    case 657:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(600);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(601);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ':')
        ADVANCE(636);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(658);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(657);
      END_STATE();
    case 658:
      if (lookahead == '\n')
        SKIP(657);
      END_STATE();
    case 659:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '\\')
        SKIP(660);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(659);
      END_STATE();
    case 660:
      if (lookahead == '\n')
        SKIP(659);
      END_STATE();
    case 661:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '&')
        ADVANCE(534);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(489);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '\\')
        SKIP(662);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(661);
      if (lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 662:
      if (lookahead == '\n')
        SKIP(661);
      END_STATE();
    case 663:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '&')
        ADVANCE(534);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(489);
      if (lookahead == '.')
        ADVANCE(586);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '\\')
        SKIP(664);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(663);
      if (lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 664:
      if (lookahead == '\n')
        SKIP(663);
      END_STATE();
    case 665:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '&')
        ADVANCE(534);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(489);
      if (lookahead == '.')
        ADVANCE(586);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(551);
      if (lookahead == '\\')
        SKIP(666);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(665);
      if (lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 666:
      if (lookahead == '\n')
        SKIP(665);
      END_STATE();
    case 667:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '+')
        ADVANCE(550);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == '=')
        ADVANCE(551);
      if (lookahead == '?')
        ADVANCE(300);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(668);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(553);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(368);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(556);
      if (lookahead == 'r')
        ADVANCE(384);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(402);
      if (lookahead == 'u')
        ADVANCE(469);
      if (lookahead == 'w')
        ADVANCE(418);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(667);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 668:
      if (lookahead == '\n')
        SKIP(667);
      END_STATE();
    case 669:
      if (lookahead == '!')
        ADVANCE(2);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(489);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(670);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(669);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 670:
      if (lookahead == '\n')
        SKIP(669);
      END_STATE();
    case 671:
      if (lookahead == '!')
        ADVANCE(2);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(20);
      if (lookahead == '+')
        ADVANCE(571);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(572);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(672);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(671);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 672:
      if (lookahead == '\n')
        SKIP(671);
      END_STATE();
    case 673:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '\\')
        SKIP(674);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(673);
      END_STATE();
    case 674:
      if (lookahead == '\n')
        SKIP(673);
      END_STATE();
    case 675:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '\\')
        SKIP(676);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(675);
      END_STATE();
    case 676:
      if (lookahead == '\n')
        SKIP(675);
      END_STATE();
    case 677:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(600);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == '.')
        ADVANCE(601);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(678);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(677);
      END_STATE();
    case 678:
      if (lookahead == '\n')
        SKIP(677);
      END_STATE();
    case 679:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(680);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'e')
        ADVANCE(176);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 't')
        ADVANCE(453);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(255);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(679);
      END_STATE();
    case 680:
      if (lookahead == '\n')
        SKIP(679);
      END_STATE();
    case 681:
      if (lookahead == '!')
        ADVANCE(2);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(20);
      if (lookahead == '+')
        ADVANCE(571);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(572);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(682);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(681);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 682:
      if (lookahead == '\n')
        SKIP(681);
      END_STATE();
    case 683:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(684);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(683);
      END_STATE();
    case 684:
      if (lookahead == '\n')
        SKIP(683);
      END_STATE();
    case 685:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '&')
        ADVANCE(608);
      if (lookahead == '.')
        ADVANCE(586);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '?')
        ADVANCE(300);
      if (lookahead == '\\')
        SKIP(686);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(685);
      END_STATE();
    case 686:
      if (lookahead == '\n')
        SKIP(685);
      END_STATE();
    case 687:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '&')
        ADVANCE(608);
      if (lookahead == '.')
        ADVANCE(586);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '\\')
        SKIP(688);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(687);
      END_STATE();
    case 688:
      if (lookahead == '\n')
        SKIP(687);
      END_STATE();
    case 689:
      if (lookahead == '!')
        ADVANCE(275);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '&')
        ADVANCE(608);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(489);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '.')
        ADVANCE(586);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '?')
        ADVANCE(300);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(690);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(689);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 690:
      if (lookahead == '\n')
        SKIP(689);
      END_STATE();
    case 691:
      if (lookahead == '!')
        ADVANCE(275);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '&')
        ADVANCE(608);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(489);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '.')
        ADVANCE(586);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == '=')
        ADVANCE(551);
      if (lookahead == '?')
        ADVANCE(300);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(692);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(691);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 692:
      if (lookahead == '\n')
        SKIP(691);
      END_STATE();
    case 693:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '&')
        ADVANCE(608);
      if (lookahead == '.')
        ADVANCE(586);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '\\')
        SKIP(694);
      if (lookahead == 'r')
        ADVANCE(650);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(693);
      END_STATE();
    case 694:
      if (lookahead == '\n')
        SKIP(693);
      END_STATE();
    case 695:
      if (lookahead == '!')
        ADVANCE(275);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '&')
        ADVANCE(608);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(489);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '.')
        ADVANCE(586);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == '=')
        ADVANCE(551);
      if (lookahead == '?')
        ADVANCE(300);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(696);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(695);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 696:
      if (lookahead == '\n')
        SKIP(695);
      END_STATE();
    case 697:
      if (lookahead == '!')
        ADVANCE(275);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '&')
        ADVANCE(608);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(489);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '.')
        ADVANCE(586);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(698);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '?')
        ADVANCE(300);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(699);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(697);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 698:
      ACCEPT_TOKEN(anon_sym_LT);
      END_STATE();
    case 699:
      if (lookahead == '\n')
        SKIP(697);
      END_STATE();
    case 700:
      if (lookahead == '!')
        ADVANCE(275);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '&')
        ADVANCE(608);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(489);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '.')
        ADVANCE(586);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '?')
        ADVANCE(300);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(701);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(700);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 701:
      if (lookahead == '\n')
        SKIP(700);
      END_STATE();
    case 702:
      if (lookahead == '!')
        ADVANCE(275);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(489);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '?')
        ADVANCE(300);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(703);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(702);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 703:
      if (lookahead == '\n')
        SKIP(702);
      END_STATE();
    case 704:
      if (lookahead == 0)
        ADVANCE(1);
      if (lookahead == '!')
        ADVANCE(2);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(489);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(705);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == '_')
        ADVANCE(303);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(704);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 705:
      if (lookahead == '\n')
        SKIP(704);
      END_STATE();
    case 706:
      if (lookahead == 0)
        ADVANCE(1);
      if (lookahead == '!')
        ADVANCE(2);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(20);
      if (lookahead == '+')
        ADVANCE(571);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(572);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(707);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == '_')
        ADVANCE(303);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(706);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 707:
      if (lookahead == '\n')
        SKIP(706);
      END_STATE();
    case 708:
      if (lookahead == 0)
        ADVANCE(1);
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(709);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == '_')
        ADVANCE(444);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'e')
        ADVANCE(176);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 't')
        ADVANCE(453);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(255);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(708);
      END_STATE();
    case 709:
      if (lookahead == '\n')
        SKIP(708);
      END_STATE();
    case 710:
      if (lookahead == 0)
        ADVANCE(1);
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(711);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == '_')
        ADVANCE(444);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(710);
      END_STATE();
    case 711:
      if (lookahead == '\n')
        SKIP(710);
      END_STATE();
    case 712:
      if (lookahead == 0)
        ADVANCE(1);
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(713);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == '_')
        ADVANCE(444);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(712);
      END_STATE();
    case 713:
      if (lookahead == '\n')
        SKIP(712);
      END_STATE();
    case 714:
      if (lookahead == 0)
        ADVANCE(1);
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(715);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == '_')
        ADVANCE(444);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(714);
      END_STATE();
    case 715:
      if (lookahead == '\n')
        SKIP(714);
      END_STATE();
    case 716:
      if (lookahead == '!')
        ADVANCE(2);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(489);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(717);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(716);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 717:
      if (lookahead == '\n')
        SKIP(716);
      END_STATE();
    case 718:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '\\')
        SKIP(719);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 't')
        ADVANCE(453);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(718);
      END_STATE();
    case 719:
      if (lookahead == '\n')
        SKIP(718);
      END_STATE();
    case 720:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(600);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == '.')
        ADVANCE(601);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(721);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 't')
        ADVANCE(453);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(720);
      END_STATE();
    case 721:
      if (lookahead == '\n')
        SKIP(720);
      END_STATE();
    case 722:
      if (lookahead == '!')
        ADVANCE(2);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(20);
      if (lookahead == '+')
        ADVANCE(571);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(572);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(723);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(722);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 723:
      if (lookahead == '\n')
        SKIP(722);
      END_STATE();
    case 724:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(725);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 't')
        ADVANCE(453);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(724);
      END_STATE();
    case 725:
      if (lookahead == '\n')
        SKIP(724);
      END_STATE();
    case 726:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(600);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == '.')
        ADVANCE(601);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(727);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(726);
      END_STATE();
    case 727:
      if (lookahead == '\n')
        SKIP(726);
      END_STATE();
    case 728:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(729);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(728);
      END_STATE();
    case 729:
      if (lookahead == '\n')
        SKIP(728);
      END_STATE();
    case 730:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '+')
        ADVANCE(550);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '?')
        ADVANCE(300);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(731);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(553);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(556);
      if (lookahead == 'r')
        ADVANCE(384);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(402);
      if (lookahead == 'u')
        ADVANCE(469);
      if (lookahead == 'w')
        ADVANCE(418);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(730);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 731:
      if (lookahead == '\n')
        SKIP(730);
      END_STATE();
    case 732:
      if (lookahead == '!')
        ADVANCE(275);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '&')
        ADVANCE(608);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(489);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '.')
        ADVANCE(586);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '?')
        ADVANCE(300);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(733);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(732);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 733:
      if (lookahead == '\n')
        SKIP(732);
      END_STATE();
    case 734:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '\\')
        SKIP(735);
      if (lookahead == 'w')
        ADVANCE(593);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(734);
      END_STATE();
    case 735:
      if (lookahead == '\n')
        SKIP(734);
      END_STATE();
    case 736:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(600);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == '.')
        ADVANCE(601);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(737);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'w')
        ADVANCE(593);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(736);
      END_STATE();
    case 737:
      if (lookahead == '\n')
        SKIP(736);
      END_STATE();
    case 738:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(739);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'w')
        ADVANCE(593);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(738);
      END_STATE();
    case 739:
      if (lookahead == '\n')
        SKIP(738);
      END_STATE();
    case 740:
      if (lookahead == '!')
        ADVANCE(275);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(276);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(741);
      if (lookahead == '?')
        ADVANCE(300);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(742);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(354);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(368);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'r')
        ADVANCE(384);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(469);
      if (lookahead == 'w')
        ADVANCE(418);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(740);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 741:
      if (lookahead == '>')
        ADVANCE(66);
      if (lookahead == 'b')
        ADVANCE(288);
      END_STATE();
    case 742:
      if (lookahead == '\n')
        SKIP(740);
      END_STATE();
    case 743:
      if (lookahead == '!')
        ADVANCE(275);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(276);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '?')
        ADVANCE(300);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'B')
        ADVANCE(86);
      if (lookahead == 'E')
        ADVANCE(93);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(744);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(332);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(354);
      if (lookahead == 'e')
        ADVANCE(745);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(368);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'r')
        ADVANCE(384);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(402);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(418);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(743);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 744:
      if (lookahead == '\n')
        SKIP(743);
      END_STATE();
    case 745:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'n')
        ADVANCE(508);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 746:
      if (lookahead == '!')
        ADVANCE(275);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(276);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '?')
        ADVANCE(300);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'B')
        ADVANCE(86);
      if (lookahead == 'E')
        ADVANCE(93);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(747);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(332);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(354);
      if (lookahead == 'e')
        ADVANCE(748);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(368);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'r')
        ADVANCE(384);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(402);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(418);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(746);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 747:
      if (lookahead == '\n')
        SKIP(746);
      END_STATE();
    case 748:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'n')
        ADVANCE(749);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 749:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'd')
        ADVANCE(509);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 750:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '\\')
        SKIP(751);
      if (lookahead == 'e')
        ADVANCE(752);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(750);
      END_STATE();
    case 751:
      if (lookahead == '\n')
        SKIP(750);
      END_STATE();
    case 752:
      if (lookahead == 'l')
        ADVANCE(753);
      if (lookahead == 'n')
        ADVANCE(182);
      END_STATE();
    case 753:
      if (lookahead == 's')
        ADVANCE(754);
      END_STATE();
    case 754:
      if (lookahead == 'e')
        ADVANCE(179);
      END_STATE();
    case 755:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '\\')
        SKIP(756);
      if (lookahead == 'e')
        ADVANCE(752);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(755);
      END_STATE();
    case 756:
      if (lookahead == '\n')
        SKIP(755);
      END_STATE();
    case 757:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(600);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == '.')
        ADVANCE(601);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(758);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'e')
        ADVANCE(752);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(757);
      END_STATE();
    case 758:
      if (lookahead == '\n')
        SKIP(757);
      END_STATE();
    case 759:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(760);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'e')
        ADVANCE(752);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(759);
      END_STATE();
    case 760:
      if (lookahead == '\n')
        SKIP(759);
      END_STATE();
    case 761:
      if (lookahead == '!')
        ADVANCE(533);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(534);
      if (lookahead == '*')
        ADVANCE(489);
      if (lookahead == '+')
        ADVANCE(535);
      if (lookahead == '-')
        ADVANCE(536);
      if (lookahead == '.')
        ADVANCE(537);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == '[')
        ADVANCE(540);
      if (lookahead == '\\')
        SKIP(762);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == '`')
        ADVANCE(142);
      if (lookahead == '|')
        ADVANCE(542);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(761);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      if (('_' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 762:
      if (lookahead == '\n')
        SKIP(761);
      END_STATE();
    case 763:
      if (lookahead == 0)
        ADVANCE(1);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '\\')
        SKIP(764);
      if (lookahead == '_')
        ADVANCE(444);
      if (lookahead == 'e')
        ADVANCE(176);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 't')
        ADVANCE(453);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(255);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(763);
      END_STATE();
    case 764:
      if (lookahead == '\n')
        SKIP(763);
      END_STATE();
    case 765:
      if (lookahead == 0)
        ADVANCE(1);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(551);
      if (lookahead == '\\')
        SKIP(766);
      if (lookahead == '_')
        ADVANCE(444);
      if (lookahead == 'e')
        ADVANCE(176);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 't')
        ADVANCE(453);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(255);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(765);
      END_STATE();
    case 766:
      if (lookahead == '\n')
        SKIP(765);
      END_STATE();
    case 767:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ':')
        ADVANCE(636);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(768);
      if (lookahead == ']')
        ADVANCE(112);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'i')
        ADVANCE(610);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(767);
      END_STATE();
    case 768:
      if (lookahead == '\n')
        SKIP(767);
      END_STATE();
    case 769:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ':')
        ADVANCE(636);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(770);
      if (lookahead == ']')
        ADVANCE(112);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'i')
        ADVANCE(610);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(769);
      END_STATE();
    case 770:
      if (lookahead == '\n')
        SKIP(769);
      END_STATE();
    case 771:
      if (lookahead == '!')
        ADVANCE(2);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(489);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(772);
      if (lookahead == ']')
        ADVANCE(112);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(771);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 772:
      if (lookahead == '\n')
        SKIP(771);
      END_STATE();
    case 773:
      if (lookahead == '!')
        ADVANCE(2);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(20);
      if (lookahead == '+')
        ADVANCE(571);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(572);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(774);
      if (lookahead == ']')
        ADVANCE(112);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(773);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 774:
      if (lookahead == '\n')
        SKIP(773);
      END_STATE();
    case 775:
      if (lookahead == '!')
        ADVANCE(2);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(20);
      if (lookahead == '+')
        ADVANCE(571);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(572);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(55);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(776);
      if (lookahead == ']')
        ADVANCE(112);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(775);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 776:
      if (lookahead == '\n')
        SKIP(775);
      END_STATE();
    case 777:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ':')
        ADVANCE(636);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(778);
      if (lookahead == ']')
        ADVANCE(112);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'i')
        ADVANCE(610);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(777);
      END_STATE();
    case 778:
      if (lookahead == '\n')
        SKIP(777);
      END_STATE();
    case 779:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ':')
        ADVANCE(636);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(780);
      if (lookahead == ']')
        ADVANCE(112);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'i')
        ADVANCE(610);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(650);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(779);
      END_STATE();
    case 780:
      if (lookahead == '\n')
        SKIP(779);
      END_STATE();
    case 781:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(600);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(601);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(782);
      if (lookahead == ']')
        ADVANCE(112);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(781);
      END_STATE();
    case 782:
      if (lookahead == '\n')
        SKIP(781);
      END_STATE();
    case 783:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '\\')
        SKIP(784);
      if (lookahead == ']')
        ADVANCE(112);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(783);
      END_STATE();
    case 784:
      if (lookahead == '\n')
        SKIP(783);
      END_STATE();
    case 785:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '\\')
        SKIP(786);
      if (lookahead == ']')
        ADVANCE(112);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(785);
      END_STATE();
    case 786:
      if (lookahead == '\n')
        SKIP(785);
      END_STATE();
    case 787:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '\\')
        SKIP(788);
      if (lookahead == ']')
        ADVANCE(112);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(787);
      END_STATE();
    case 788:
      if (lookahead == '\n')
        SKIP(787);
      END_STATE();
    case 789:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(600);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(601);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(790);
      if (lookahead == ']')
        ADVANCE(112);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(789);
      END_STATE();
    case 790:
      if (lookahead == '\n')
        SKIP(789);
      END_STATE();
    case 791:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(792);
      if (lookahead == ']')
        ADVANCE(112);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(791);
      END_STATE();
    case 792:
      if (lookahead == '\n')
        SKIP(791);
      END_STATE();
    case 793:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(794);
      if (lookahead == ']')
        ADVANCE(112);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(793);
      END_STATE();
    case 794:
      if (lookahead == '\n')
        SKIP(793);
      END_STATE();
    case 795:
      if (lookahead == '!')
        ADVANCE(275);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(276);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '?')
        ADVANCE(300);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'B')
        ADVANCE(86);
      if (lookahead == 'E')
        ADVANCE(93);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(796);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(332);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(354);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(368);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'r')
        ADVANCE(384);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(402);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(418);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(542);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(795);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('e' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 796:
      if (lookahead == '\n')
        SKIP(795);
      END_STATE();
    case 797:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '&')
        ADVANCE(534);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(489);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(798);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '\\')
        SKIP(799);
      if (lookahead == '|')
        ADVANCE(542);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(797);
      if (lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 798:
      if (lookahead == '>')
        ADVANCE(30);
      END_STATE();
    case 799:
      if (lookahead == '\n')
        SKIP(797);
      END_STATE();
    case 800:
      if (lookahead == '!')
        ADVANCE(275);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(276);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '?')
        ADVANCE(300);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'B')
        ADVANCE(86);
      if (lookahead == 'E')
        ADVANCE(93);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(801);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(332);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(354);
      if (lookahead == 'e')
        ADVANCE(748);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(368);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'r')
        ADVANCE(384);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(402);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(418);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(542);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(800);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 801:
      if (lookahead == '\n')
        SKIP(800);
      END_STATE();
    case 802:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '=')
        ADVANCE(551);
      if (lookahead == '\\')
        SKIP(803);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(802);
      END_STATE();
    case 803:
      if (lookahead == '\n')
        SKIP(802);
      END_STATE();
    case 804:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '\\')
        SKIP(805);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(542);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(804);
      END_STATE();
    case 805:
      if (lookahead == '\n')
        SKIP(804);
      END_STATE();
    case 806:
      if (lookahead == '!')
        ADVANCE(533);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(534);
      if (lookahead == '*')
        ADVANCE(489);
      if (lookahead == '+')
        ADVANCE(535);
      if (lookahead == '-')
        ADVANCE(536);
      if (lookahead == '.')
        ADVANCE(537);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '[')
        ADVANCE(540);
      if (lookahead == '\\')
        SKIP(807);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == '`')
        ADVANCE(142);
      if (lookahead == '|')
        ADVANCE(542);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(806);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      if (('_' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 807:
      if (lookahead == '\n')
        SKIP(806);
      END_STATE();
    case 808:
      if (lookahead == 0)
        ADVANCE(1);
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(809);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == '_')
        ADVANCE(444);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'e')
        ADVANCE(176);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 't')
        ADVANCE(453);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(255);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(808);
      END_STATE();
    case 809:
      if (lookahead == '\n')
        SKIP(808);
      END_STATE();
    case 810:
      if (lookahead == '!')
        ADVANCE(275);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(489);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '?')
        ADVANCE(300);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'B')
        ADVANCE(86);
      if (lookahead == 'E')
        ADVANCE(93);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(811);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(542);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(810);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 811:
      if (lookahead == '\n')
        SKIP(810);
      END_STATE();
    case 812:
      if (lookahead == 0)
        ADVANCE(1);
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(813);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == '_')
        ADVANCE(444);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'e')
        ADVANCE(176);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(582);
      if (lookahead == 't')
        ADVANCE(453);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(255);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(812);
      END_STATE();
    case 813:
      if (lookahead == '\n')
        SKIP(812);
      END_STATE();
    case 814:
      if (lookahead == 0)
        ADVANCE(1);
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(815);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == '_')
        ADVANCE(444);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(814);
      END_STATE();
    case 815:
      if (lookahead == '\n')
        SKIP(814);
      END_STATE();
    case 816:
      if (lookahead == 0)
        ADVANCE(1);
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(817);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == '_')
        ADVANCE(444);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(816);
      END_STATE();
    case 817:
      if (lookahead == '\n')
        SKIP(816);
      END_STATE();
    case 818:
      if (lookahead == 0)
        ADVANCE(1);
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(819);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == '_')
        ADVANCE(444);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(818);
      END_STATE();
    case 819:
      if (lookahead == '\n')
        SKIP(818);
      END_STATE();
    case 820:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(276);
      if (lookahead == '+')
        ADVANCE(550);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == '=')
        ADVANCE(551);
      if (lookahead == '?')
        ADVANCE(300);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(821);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(553);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(368);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(556);
      if (lookahead == 'r')
        ADVANCE(384);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(402);
      if (lookahead == 'u')
        ADVANCE(469);
      if (lookahead == 'w')
        ADVANCE(418);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(820);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 821:
      if (lookahead == '\n')
        SKIP(820);
      END_STATE();
    case 822:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(823);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(822);
      END_STATE();
    case 823:
      if (lookahead == '\n')
        SKIP(822);
      END_STATE();
    case 824:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(825);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(824);
      END_STATE();
    case 825:
      if (lookahead == '\n')
        SKIP(824);
      END_STATE();
    case 826:
      if (lookahead == '!')
        ADVANCE(2);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(489);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(827);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(826);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 827:
      if (lookahead == '\n')
        SKIP(826);
      END_STATE();
    case 828:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(829);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(828);
      END_STATE();
    case 829:
      if (lookahead == '\n')
        SKIP(828);
      END_STATE();
    case 830:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(831);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(582);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(830);
      END_STATE();
    case 831:
      if (lookahead == '\n')
        SKIP(830);
      END_STATE();
    case 832:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(833);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(832);
      END_STATE();
    case 833:
      if (lookahead == '\n')
        SKIP(832);
      END_STATE();
    case 834:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '\\')
        SKIP(835);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(834);
      END_STATE();
    case 835:
      if (lookahead == '\n')
        SKIP(834);
      END_STATE();
    case 836:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '=')
        ADVANCE(551);
      if (lookahead == '\\')
        SKIP(837);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(836);
      END_STATE();
    case 837:
      if (lookahead == '\n')
        SKIP(836);
      END_STATE();
    case 838:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(839);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(838);
      END_STATE();
    case 839:
      if (lookahead == '\n')
        SKIP(838);
      END_STATE();
    case 840:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(841);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(582);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(840);
      END_STATE();
    case 841:
      if (lookahead == '\n')
        SKIP(840);
      END_STATE();
    case 842:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(843);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(842);
      END_STATE();
    case 843:
      if (lookahead == '\n')
        SKIP(842);
      END_STATE();
    case 844:
      if (lookahead == '!')
        ADVANCE(2);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(489);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(845);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(844);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 845:
      if (lookahead == '\n')
        SKIP(844);
      END_STATE();
    case 846:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '\\')
        SKIP(847);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(846);
      END_STATE();
    case 847:
      if (lookahead == '\n')
        SKIP(846);
      END_STATE();
    case 848:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '\\')
        SKIP(849);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(848);
      END_STATE();
    case 849:
      if (lookahead == '\n')
        SKIP(848);
      END_STATE();
    case 850:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(600);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == '.')
        ADVANCE(601);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(851);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(850);
      END_STATE();
    case 851:
      if (lookahead == '\n')
        SKIP(850);
      END_STATE();
    case 852:
      if (lookahead == '!')
        ADVANCE(2);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(20);
      if (lookahead == '+')
        ADVANCE(571);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(572);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(853);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(852);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 853:
      if (lookahead == '\n')
        SKIP(852);
      END_STATE();
    case 854:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(855);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(854);
      END_STATE();
    case 855:
      if (lookahead == '\n')
        SKIP(854);
      END_STATE();
    case 856:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ':')
        ADVANCE(636);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(857);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(856);
      END_STATE();
    case 857:
      if (lookahead == '\n')
        SKIP(856);
      END_STATE();
    case 858:
      if (lookahead == '!')
        ADVANCE(2);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(489);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(859);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(858);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 859:
      if (lookahead == '\n')
        SKIP(858);
      END_STATE();
    case 860:
      if (lookahead == '!')
        ADVANCE(2);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(20);
      if (lookahead == '+')
        ADVANCE(571);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(572);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(55);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(861);
      if (lookahead == ']')
        ADVANCE(112);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(860);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 861:
      if (lookahead == '\n')
        SKIP(860);
      END_STATE();
    case 862:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ':')
        ADVANCE(636);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(863);
      if (lookahead == ']')
        ADVANCE(112);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'i')
        ADVANCE(610);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(862);
      END_STATE();
    case 863:
      if (lookahead == '\n')
        SKIP(862);
      END_STATE();
    case 864:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(600);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(601);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(865);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(864);
      END_STATE();
    case 865:
      if (lookahead == '\n')
        SKIP(864);
      END_STATE();
    case 866:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ':')
        ADVANCE(636);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(867);
      if (lookahead == ']')
        ADVANCE(112);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'i')
        ADVANCE(610);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(866);
      END_STATE();
    case 867:
      if (lookahead == '\n')
        SKIP(866);
      END_STATE();
    case 868:
      if (lookahead == '!')
        ADVANCE(2);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(20);
      if (lookahead == '+')
        ADVANCE(571);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(572);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(869);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(868);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 869:
      if (lookahead == '\n')
        SKIP(868);
      END_STATE();
    case 870:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(871);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(870);
      END_STATE();
    case 871:
      if (lookahead == '\n')
        SKIP(870);
      END_STATE();
    case 872:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(873);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(872);
      END_STATE();
    case 873:
      if (lookahead == '\n')
        SKIP(872);
      END_STATE();
    case 874:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ':')
        ADVANCE(636);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(875);
      if (lookahead == ']')
        ADVANCE(112);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'i')
        ADVANCE(610);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(874);
      END_STATE();
    case 875:
      if (lookahead == '\n')
        SKIP(874);
      END_STATE();
    case 876:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ':')
        ADVANCE(636);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(877);
      if (lookahead == ']')
        ADVANCE(112);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'i')
        ADVANCE(610);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(650);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(876);
      END_STATE();
    case 877:
      if (lookahead == '\n')
        SKIP(876);
      END_STATE();
    case 878:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(879);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(878);
      END_STATE();
    case 879:
      if (lookahead == '\n')
        SKIP(878);
      END_STATE();
    case 880:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(881);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(880);
      END_STATE();
    case 881:
      if (lookahead == '\n')
        SKIP(880);
      END_STATE();
    case 882:
      if (lookahead == '!')
        ADVANCE(2);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(489);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(883);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(882);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 883:
      if (lookahead == '\n')
        SKIP(882);
      END_STATE();
    case 884:
      if (lookahead == '!')
        ADVANCE(2);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(20);
      if (lookahead == '+')
        ADVANCE(571);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(572);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(55);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(885);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(884);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 885:
      if (lookahead == '\n')
        SKIP(884);
      END_STATE();
    case 886:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ':')
        ADVANCE(636);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(887);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(886);
      END_STATE();
    case 887:
      if (lookahead == '\n')
        SKIP(886);
      END_STATE();
    case 888:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(600);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == '.')
        ADVANCE(601);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(889);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(888);
      END_STATE();
    case 889:
      if (lookahead == '\n')
        SKIP(888);
      END_STATE();
    case 890:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ':')
        ADVANCE(636);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(891);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(890);
      END_STATE();
    case 891:
      if (lookahead == '\n')
        SKIP(890);
      END_STATE();
    case 892:
      if (lookahead == '!')
        ADVANCE(2);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(20);
      if (lookahead == '+')
        ADVANCE(571);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(572);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(893);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(892);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 893:
      if (lookahead == '\n')
        SKIP(892);
      END_STATE();
    case 894:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(895);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(894);
      END_STATE();
    case 895:
      if (lookahead == '\n')
        SKIP(894);
      END_STATE();
    case 896:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '\\')
        SKIP(897);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(896);
      if (lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 897:
      if (lookahead == '\n')
        SKIP(896);
      END_STATE();
    case 898:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(551);
      if (lookahead == '\\')
        SKIP(899);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(898);
      END_STATE();
    case 899:
      if (lookahead == '\n')
        SKIP(898);
      END_STATE();
    case 900:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '\\')
        SKIP(901);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(900);
      END_STATE();
    case 901:
      if (lookahead == '\n')
        SKIP(900);
      END_STATE();
    case 902:
      if (lookahead == '!')
        ADVANCE(2);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(489);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(903);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(902);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 903:
      if (lookahead == '\n')
        SKIP(902);
      END_STATE();
    case 904:
      if (lookahead == '!')
        ADVANCE(2);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(20);
      if (lookahead == '+')
        ADVANCE(571);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(572);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(905);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(904);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 905:
      if (lookahead == '\n')
        SKIP(904);
      END_STATE();
    case 906:
      if (lookahead == '!')
        ADVANCE(2);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(20);
      if (lookahead == '+')
        ADVANCE(571);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(572);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(907);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(906);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 907:
      if (lookahead == '\n')
        SKIP(906);
      END_STATE();
    case 908:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(909);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(908);
      END_STATE();
    case 909:
      if (lookahead == '\n')
        SKIP(908);
      END_STATE();
    case 910:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(911);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'e')
        ADVANCE(176);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 't')
        ADVANCE(453);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(255);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(910);
      END_STATE();
    case 911:
      if (lookahead == '\n')
        SKIP(910);
      END_STATE();
    case 912:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(913);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(912);
      END_STATE();
    case 913:
      if (lookahead == '\n')
        SKIP(912);
      END_STATE();
    case 914:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(915);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(914);
      END_STATE();
    case 915:
      if (lookahead == '\n')
        SKIP(914);
      END_STATE();
    case 916:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(917);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(916);
      END_STATE();
    case 917:
      if (lookahead == '\n')
        SKIP(916);
      END_STATE();
    case 918:
      if (lookahead == '!')
        ADVANCE(275);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(276);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '?')
        ADVANCE(300);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'B')
        ADVANCE(86);
      if (lookahead == 'E')
        ADVANCE(93);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(919);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(332);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(354);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(368);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'r')
        ADVANCE(384);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(402);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(418);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(918);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('e' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 919:
      if (lookahead == '\n')
        SKIP(918);
      END_STATE();
    case 920:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(921);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(920);
      END_STATE();
    case 921:
      if (lookahead == '\n')
        SKIP(920);
      END_STATE();
    case 922:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(923);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'e')
        ADVANCE(176);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 't')
        ADVANCE(453);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(255);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(922);
      END_STATE();
    case 923:
      if (lookahead == '\n')
        SKIP(922);
      END_STATE();
    case 924:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(925);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(924);
      END_STATE();
    case 925:
      if (lookahead == '\n')
        SKIP(924);
      END_STATE();
    case 926:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(927);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(926);
      END_STATE();
    case 927:
      if (lookahead == '\n')
        SKIP(926);
      END_STATE();
    case 928:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(276);
      if (lookahead == '+')
        ADVANCE(550);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == '=')
        ADVANCE(551);
      if (lookahead == '?')
        ADVANCE(300);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(929);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(553);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(368);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(556);
      if (lookahead == 'r')
        ADVANCE(384);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(402);
      if (lookahead == 'u')
        ADVANCE(469);
      if (lookahead == 'w')
        ADVANCE(418);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(928);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 929:
      if (lookahead == '\n')
        SKIP(928);
      END_STATE();
    case 930:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '&')
        ADVANCE(608);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(586);
      if (lookahead == '=')
        ADVANCE(551);
      if (lookahead == '\\')
        SKIP(931);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'i')
        ADVANCE(610);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(930);
      END_STATE();
    case 931:
      if (lookahead == '\n')
        SKIP(930);
      END_STATE();
    case 932:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '&')
        ADVANCE(608);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(586);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '\\')
        SKIP(933);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(932);
      END_STATE();
    case 933:
      if (lookahead == '\n')
        SKIP(932);
      END_STATE();
    case 934:
      if (lookahead == '!')
        ADVANCE(2);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(489);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(935);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(934);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 935:
      if (lookahead == '\n')
        SKIP(934);
      END_STATE();
    case 936:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(937);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(936);
      END_STATE();
    case 937:
      if (lookahead == '\n')
        SKIP(936);
      END_STATE();
    case 938:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '&')
        ADVANCE(608);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(586);
      if (lookahead == '=')
        ADVANCE(551);
      if (lookahead == '\\')
        SKIP(939);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(938);
      END_STATE();
    case 939:
      if (lookahead == '\n')
        SKIP(938);
      END_STATE();
    case 940:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(941);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(940);
      END_STATE();
    case 941:
      if (lookahead == '\n')
        SKIP(940);
      END_STATE();
    case 942:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(600);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == '.')
        ADVANCE(601);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(943);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(942);
      END_STATE();
    case 943:
      if (lookahead == '\n')
        SKIP(942);
      END_STATE();
    case 944:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(945);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(944);
      END_STATE();
    case 945:
      if (lookahead == '\n')
        SKIP(944);
      END_STATE();
    case 946:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '\\')
        SKIP(947);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(946);
      END_STATE();
    case 947:
      if (lookahead == '\n')
        SKIP(946);
      END_STATE();
    case 948:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(949);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(948);
      END_STATE();
    case 949:
      if (lookahead == '\n')
        SKIP(948);
      END_STATE();
    case 950:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '&')
        ADVANCE(608);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(586);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '\\')
        SKIP(951);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(950);
      END_STATE();
    case 951:
      if (lookahead == '\n')
        SKIP(950);
      END_STATE();
    case 952:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(953);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(952);
      END_STATE();
    case 953:
      if (lookahead == '\n')
        SKIP(952);
      END_STATE();
    case 954:
      if (lookahead == '!')
        ADVANCE(2);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(489);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(955);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(954);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 955:
      if (lookahead == '\n')
        SKIP(954);
      END_STATE();
    case 956:
      if (lookahead == '!')
        ADVANCE(2);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(20);
      if (lookahead == '+')
        ADVANCE(571);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(572);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(957);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(956);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 957:
      if (lookahead == '\n')
        SKIP(956);
      END_STATE();
    case 958:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(600);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(601);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(959);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(958);
      END_STATE();
    case 959:
      if (lookahead == '\n')
        SKIP(958);
      END_STATE();
    case 960:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '\\')
        SKIP(961);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(960);
      END_STATE();
    case 961:
      if (lookahead == '\n')
        SKIP(960);
      END_STATE();
    case 962:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '\\')
        SKIP(963);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(962);
      END_STATE();
    case 963:
      if (lookahead == '\n')
        SKIP(962);
      END_STATE();
    case 964:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(965);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(964);
      END_STATE();
    case 965:
      if (lookahead == '\n')
        SKIP(964);
      END_STATE();
    case 966:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(967);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(966);
      END_STATE();
    case 967:
      if (lookahead == '\n')
        SKIP(966);
      END_STATE();
    case 968:
      if (lookahead == '!')
        ADVANCE(275);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(489);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '?')
        ADVANCE(300);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(969);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(968);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 969:
      if (lookahead == '\n')
        SKIP(968);
      END_STATE();
    case 970:
      if (lookahead == '!')
        ADVANCE(2);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(489);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(971);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(970);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 971:
      if (lookahead == '\n')
        SKIP(970);
      END_STATE();
    case 972:
      if (lookahead == '!')
        ADVANCE(2);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(20);
      if (lookahead == '+')
        ADVANCE(571);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(572);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(973);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(972);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 973:
      if (lookahead == '\n')
        SKIP(972);
      END_STATE();
    case 974:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(975);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 't')
        ADVANCE(453);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(974);
      END_STATE();
    case 975:
      if (lookahead == '\n')
        SKIP(974);
      END_STATE();
    case 976:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(977);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 't')
        ADVANCE(453);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(976);
      END_STATE();
    case 977:
      if (lookahead == '\n')
        SKIP(976);
      END_STATE();
    case 978:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(979);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 't')
        ADVANCE(453);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(978);
      END_STATE();
    case 979:
      if (lookahead == '\n')
        SKIP(978);
      END_STATE();
    case 980:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(981);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 't')
        ADVANCE(453);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(980);
      END_STATE();
    case 981:
      if (lookahead == '\n')
        SKIP(980);
      END_STATE();
    case 982:
      if (lookahead == '!')
        ADVANCE(275);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(276);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '?')
        ADVANCE(300);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'B')
        ADVANCE(86);
      if (lookahead == 'E')
        ADVANCE(93);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(983);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(332);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(354);
      if (lookahead == 'e')
        ADVANCE(984);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(368);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'r')
        ADVANCE(384);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(418);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(982);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 983:
      if (lookahead == '\n')
        SKIP(982);
      END_STATE();
    case 984:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'l')
        ADVANCE(503);
      if (lookahead == 'n')
        ADVANCE(749);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 985:
      if (lookahead == '!')
        ADVANCE(275);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(276);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '?')
        ADVANCE(300);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'B')
        ADVANCE(86);
      if (lookahead == 'E')
        ADVANCE(93);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(986);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(332);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(354);
      if (lookahead == 'e')
        ADVANCE(984);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(368);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'r')
        ADVANCE(384);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(402);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(418);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(985);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 986:
      if (lookahead == '\n')
        SKIP(985);
      END_STATE();
    case 987:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(988);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 't')
        ADVANCE(453);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(987);
      END_STATE();
    case 988:
      if (lookahead == '\n')
        SKIP(987);
      END_STATE();
    case 989:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(990);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 't')
        ADVANCE(453);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(989);
      END_STATE();
    case 990:
      if (lookahead == '\n')
        SKIP(989);
      END_STATE();
    case 991:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(992);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 't')
        ADVANCE(453);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(991);
      END_STATE();
    case 992:
      if (lookahead == '\n')
        SKIP(991);
      END_STATE();
    case 993:
      if (lookahead == '!')
        ADVANCE(275);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(276);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '?')
        ADVANCE(300);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'B')
        ADVANCE(86);
      if (lookahead == 'E')
        ADVANCE(93);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(994);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(332);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(354);
      if (lookahead == 'e')
        ADVANCE(995);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(368);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'r')
        ADVANCE(384);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(418);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(993);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 994:
      if (lookahead == '\n')
        SKIP(993);
      END_STATE();
    case 995:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'l')
        ADVANCE(568);
      if (lookahead == 'n')
        ADVANCE(749);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 996:
      if (lookahead == '!')
        ADVANCE(275);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(276);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '?')
        ADVANCE(300);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'B')
        ADVANCE(86);
      if (lookahead == 'E')
        ADVANCE(93);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(997);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(332);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(354);
      if (lookahead == 'e')
        ADVANCE(995);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(368);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'r')
        ADVANCE(384);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(402);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(418);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(996);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 997:
      if (lookahead == '\n')
        SKIP(996);
      END_STATE();
    case 998:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(999);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(998);
      END_STATE();
    case 999:
      if (lookahead == '\n')
        SKIP(998);
      END_STATE();
    case 1000:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1001);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1000);
      END_STATE();
    case 1001:
      if (lookahead == '\n')
        SKIP(1000);
      END_STATE();
    case 1002:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1003);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1002);
      END_STATE();
    case 1003:
      if (lookahead == '\n')
        SKIP(1002);
      END_STATE();
    case 1004:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(1005);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1004);
      END_STATE();
    case 1005:
      if (lookahead == '\n')
        SKIP(1004);
      END_STATE();
    case 1006:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1007);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1006);
      END_STATE();
    case 1007:
      if (lookahead == '\n')
        SKIP(1006);
      END_STATE();
    case 1008:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1009);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1008);
      END_STATE();
    case 1009:
      if (lookahead == '\n')
        SKIP(1008);
      END_STATE();
    case 1010:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(1011);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1010);
      END_STATE();
    case 1011:
      if (lookahead == '\n')
        SKIP(1010);
      END_STATE();
    case 1012:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1013);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'i')
        ADVANCE(610);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1012);
      END_STATE();
    case 1013:
      if (lookahead == '\n')
        SKIP(1012);
      END_STATE();
    case 1014:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '&')
        ADVANCE(608);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(586);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '\\')
        SKIP(1015);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'i')
        ADVANCE(610);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1014);
      END_STATE();
    case 1015:
      if (lookahead == '\n')
        SKIP(1014);
      END_STATE();
    case 1016:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1017);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'i')
        ADVANCE(610);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1016);
      END_STATE();
    case 1017:
      if (lookahead == '\n')
        SKIP(1016);
      END_STATE();
    case 1018:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(1019);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'i')
        ADVANCE(610);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1018);
      END_STATE();
    case 1019:
      if (lookahead == '\n')
        SKIP(1018);
      END_STATE();
    case 1020:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '\\')
        SKIP(1021);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1020);
      END_STATE();
    case 1021:
      if (lookahead == '\n')
        SKIP(1020);
      END_STATE();
    case 1022:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(276);
      if (lookahead == '+')
        ADVANCE(550);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '?')
        ADVANCE(300);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(1023);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(553);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(556);
      if (lookahead == 'r')
        ADVANCE(384);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(402);
      if (lookahead == 'u')
        ADVANCE(469);
      if (lookahead == 'w')
        ADVANCE(418);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1022);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 1023:
      if (lookahead == '\n')
        SKIP(1022);
      END_STATE();
    case 1024:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1025);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'w')
        ADVANCE(593);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1024);
      END_STATE();
    case 1025:
      if (lookahead == '\n')
        SKIP(1024);
      END_STATE();
    case 1026:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1027);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'w')
        ADVANCE(593);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1026);
      END_STATE();
    case 1027:
      if (lookahead == '\n')
        SKIP(1026);
      END_STATE();
    case 1028:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1029);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'w')
        ADVANCE(593);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1028);
      END_STATE();
    case 1029:
      if (lookahead == '\n')
        SKIP(1028);
      END_STATE();
    case 1030:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(1031);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'w')
        ADVANCE(593);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1030);
      END_STATE();
    case 1031:
      if (lookahead == '\n')
        SKIP(1030);
      END_STATE();
    case 1032:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '\\')
        SKIP(1033);
      if (lookahead == 't')
        ADVANCE(453);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1032);
      END_STATE();
    case 1033:
      if (lookahead == '\n')
        SKIP(1032);
      END_STATE();
    case 1034:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(600);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(601);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1035);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 't')
        ADVANCE(453);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1034);
      END_STATE();
    case 1035:
      if (lookahead == '\n')
        SKIP(1034);
      END_STATE();
    case 1036:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1037);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 't')
        ADVANCE(453);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1036);
      END_STATE();
    case 1037:
      if (lookahead == '\n')
        SKIP(1036);
      END_STATE();
    case 1038:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1039);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'w')
        ADVANCE(593);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1038);
      END_STATE();
    case 1039:
      if (lookahead == '\n')
        SKIP(1038);
      END_STATE();
    case 1040:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1041);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'w')
        ADVANCE(593);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1040);
      END_STATE();
    case 1041:
      if (lookahead == '\n')
        SKIP(1040);
      END_STATE();
    case 1042:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(1043);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'w')
        ADVANCE(593);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1042);
      END_STATE();
    case 1043:
      if (lookahead == '\n')
        SKIP(1042);
      END_STATE();
    case 1044:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1045);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'e')
        ADVANCE(752);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1044);
      END_STATE();
    case 1045:
      if (lookahead == '\n')
        SKIP(1044);
      END_STATE();
    case 1046:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1047);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'e')
        ADVANCE(752);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1046);
      END_STATE();
    case 1047:
      if (lookahead == '\n')
        SKIP(1046);
      END_STATE();
    case 1048:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1049);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'e')
        ADVANCE(752);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1048);
      END_STATE();
    case 1049:
      if (lookahead == '\n')
        SKIP(1048);
      END_STATE();
    case 1050:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(1051);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'e')
        ADVANCE(752);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1050);
      END_STATE();
    case 1051:
      if (lookahead == '\n')
        SKIP(1050);
      END_STATE();
    case 1052:
      if (lookahead == '!')
        ADVANCE(275);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(276);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '?')
        ADVANCE(300);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'B')
        ADVANCE(86);
      if (lookahead == 'E')
        ADVANCE(93);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(1053);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(332);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(354);
      if (lookahead == 'e')
        ADVANCE(567);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(368);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(418);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1052);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 1053:
      if (lookahead == '\n')
        SKIP(1052);
      END_STATE();
    case 1054:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(741);
      if (lookahead == '\\')
        SKIP(1055);
      if (lookahead == 't')
        ADVANCE(453);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1054);
      END_STATE();
    case 1055:
      if (lookahead == '\n')
        SKIP(1054);
      END_STATE();
    case 1056:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '\\')
        SKIP(1057);
      if (lookahead == 't')
        ADVANCE(453);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1056);
      END_STATE();
    case 1057:
      if (lookahead == '\n')
        SKIP(1056);
      END_STATE();
    case 1058:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(600);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(601);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1059);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 't')
        ADVANCE(453);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1058);
      END_STATE();
    case 1059:
      if (lookahead == '\n')
        SKIP(1058);
      END_STATE();
    case 1060:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(741);
      if (lookahead == '\\')
        SKIP(1061);
      if (lookahead == 't')
        ADVANCE(453);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1060);
      END_STATE();
    case 1061:
      if (lookahead == '\n')
        SKIP(1060);
      END_STATE();
    case 1062:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1063);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 't')
        ADVANCE(453);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1062);
      END_STATE();
    case 1063:
      if (lookahead == '\n')
        SKIP(1062);
      END_STATE();
    case 1064:
      if (lookahead == '!')
        ADVANCE(275);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(276);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '?')
        ADVANCE(300);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'B')
        ADVANCE(86);
      if (lookahead == 'E')
        ADVANCE(93);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(1065);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(332);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(354);
      if (lookahead == 'e')
        ADVANCE(745);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(368);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(402);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(418);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1064);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 1065:
      if (lookahead == '\n')
        SKIP(1064);
      END_STATE();
    case 1066:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '\\')
        SKIP(1067);
      if (lookahead == 'e')
        ADVANCE(1068);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1066);
      END_STATE();
    case 1067:
      if (lookahead == '\n')
        SKIP(1066);
      END_STATE();
    case 1068:
      if (lookahead == 'n')
        ADVANCE(182);
      END_STATE();
    case 1069:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '\\')
        SKIP(1070);
      if (lookahead == 'e')
        ADVANCE(1068);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1069);
      END_STATE();
    case 1070:
      if (lookahead == '\n')
        SKIP(1069);
      END_STATE();
    case 1071:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(600);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == '.')
        ADVANCE(601);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1072);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'e')
        ADVANCE(1068);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1071);
      END_STATE();
    case 1072:
      if (lookahead == '\n')
        SKIP(1071);
      END_STATE();
    case 1073:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1074);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'e')
        ADVANCE(1068);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1073);
      END_STATE();
    case 1074:
      if (lookahead == '\n')
        SKIP(1073);
      END_STATE();
    case 1075:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '\\')
        SKIP(1076);
      if (lookahead == 'e')
        ADVANCE(1077);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1075);
      END_STATE();
    case 1076:
      if (lookahead == '\n')
        SKIP(1075);
      END_STATE();
    case 1077:
      if (lookahead == 'n')
        ADVANCE(1078);
      END_STATE();
    case 1078:
      if (lookahead == 'd')
        ADVANCE(183);
      END_STATE();
    case 1079:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '\\')
        SKIP(1080);
      if (lookahead == 'e')
        ADVANCE(1077);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1079);
      END_STATE();
    case 1080:
      if (lookahead == '\n')
        SKIP(1079);
      END_STATE();
    case 1081:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(600);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == '.')
        ADVANCE(601);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1082);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'e')
        ADVANCE(1077);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1081);
      END_STATE();
    case 1082:
      if (lookahead == '\n')
        SKIP(1081);
      END_STATE();
    case 1083:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1084);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'e')
        ADVANCE(1077);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1083);
      END_STATE();
    case 1084:
      if (lookahead == '\n')
        SKIP(1083);
      END_STATE();
    case 1085:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1086);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'e')
        ADVANCE(752);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1085);
      END_STATE();
    case 1086:
      if (lookahead == '\n')
        SKIP(1085);
      END_STATE();
    case 1087:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1088);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'e')
        ADVANCE(752);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1087);
      END_STATE();
    case 1088:
      if (lookahead == '\n')
        SKIP(1087);
      END_STATE();
    case 1089:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(1090);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'e')
        ADVANCE(752);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1089);
      END_STATE();
    case 1090:
      if (lookahead == '\n')
        SKIP(1089);
      END_STATE();
    case 1091:
      if (lookahead == '!')
        ADVANCE(2);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(489);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(1092);
      if (lookahead == ']')
        ADVANCE(112);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1091);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 1092:
      if (lookahead == '\n')
        SKIP(1091);
      END_STATE();
    case 1093:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(600);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(601);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1094);
      if (lookahead == ']')
        ADVANCE(112);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1093);
      END_STATE();
    case 1094:
      if (lookahead == '\n')
        SKIP(1093);
      END_STATE();
    case 1095:
      if (lookahead == '!')
        ADVANCE(2);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(20);
      if (lookahead == '+')
        ADVANCE(571);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(572);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(1096);
      if (lookahead == ']')
        ADVANCE(112);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1095);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 1096:
      if (lookahead == '\n')
        SKIP(1095);
      END_STATE();
    case 1097:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1098);
      if (lookahead == ']')
        ADVANCE(112);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1097);
      END_STATE();
    case 1098:
      if (lookahead == '\n')
        SKIP(1097);
      END_STATE();
    case 1099:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1100);
      if (lookahead == ']')
        ADVANCE(112);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1099);
      END_STATE();
    case 1100:
      if (lookahead == '\n')
        SKIP(1099);
      END_STATE();
    case 1101:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1102);
      if (lookahead == ']')
        ADVANCE(112);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1101);
      END_STATE();
    case 1102:
      if (lookahead == '\n')
        SKIP(1101);
      END_STATE();
    case 1103:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ':')
        ADVANCE(636);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1104);
      if (lookahead == ']')
        ADVANCE(112);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1103);
      END_STATE();
    case 1104:
      if (lookahead == '\n')
        SKIP(1103);
      END_STATE();
    case 1105:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(1106);
      if (lookahead == ']')
        ADVANCE(112);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1105);
      END_STATE();
    case 1106:
      if (lookahead == '\n')
        SKIP(1105);
      END_STATE();
    case 1107:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '=')
        ADVANCE(551);
      if (lookahead == '\\')
        SKIP(1108);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1107);
      END_STATE();
    case 1108:
      if (lookahead == '\n')
        SKIP(1107);
      END_STATE();
    case 1109:
      if (lookahead == '!')
        ADVANCE(275);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(276);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '?')
        ADVANCE(300);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'B')
        ADVANCE(86);
      if (lookahead == 'E')
        ADVANCE(93);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(1110);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(332);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(354);
      if (lookahead == 'e')
        ADVANCE(748);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(368);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(402);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(418);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(542);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1109);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 1110:
      if (lookahead == '\n')
        SKIP(1109);
      END_STATE();
    case 1111:
      if (lookahead == '!')
        ADVANCE(275);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(276);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '?')
        ADVANCE(300);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(1112);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(1113);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(368);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'r')
        ADVANCE(384);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(402);
      if (lookahead == 'u')
        ADVANCE(469);
      if (lookahead == 'w')
        ADVANCE(418);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1111);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 1112:
      if (lookahead == '\n')
        SKIP(1111);
      END_STATE();
    case 1113:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!')
        ADVANCE(304);
      if (lookahead == '?')
        ADVANCE(304);
      if (lookahead == 'e')
        ADVANCE(355);
      if (lookahead == 'o')
        ADVANCE(501);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 1114:
      if (lookahead == '!')
        ADVANCE(2);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(489);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(55);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(1115);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1114);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 1115:
      if (lookahead == '\n')
        SKIP(1114);
      END_STATE();
    case 1116:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(600);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == '.')
        ADVANCE(601);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ':')
        ADVANCE(636);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1117);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1116);
      END_STATE();
    case 1117:
      if (lookahead == '\n')
        SKIP(1116);
      END_STATE();
    case 1118:
      if (lookahead == '!')
        ADVANCE(2);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(20);
      if (lookahead == '+')
        ADVANCE(571);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(572);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(55);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(1119);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1118);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 1119:
      if (lookahead == '\n')
        SKIP(1118);
      END_STATE();
    case 1120:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ':')
        ADVANCE(636);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1121);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1120);
      END_STATE();
    case 1121:
      if (lookahead == '\n')
        SKIP(1120);
      END_STATE();
    case 1122:
      if (lookahead == 0)
        ADVANCE(1);
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(1123);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == '_')
        ADVANCE(444);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'e')
        ADVANCE(176);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 't')
        ADVANCE(453);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(255);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1122);
      END_STATE();
    case 1123:
      if (lookahead == '\n')
        SKIP(1122);
      END_STATE();
    case 1124:
      if (lookahead == 0)
        ADVANCE(1);
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1125);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == '_')
        ADVANCE(444);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'e')
        ADVANCE(176);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(582);
      if (lookahead == 't')
        ADVANCE(453);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(255);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1124);
      END_STATE();
    case 1125:
      if (lookahead == '\n')
        SKIP(1124);
      END_STATE();
    case 1126:
      if (lookahead == '!')
        ADVANCE(2);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(489);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(1127);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1126);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 1127:
      if (lookahead == '\n')
        SKIP(1126);
      END_STATE();
    case 1128:
      if (lookahead == '!')
        ADVANCE(2);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(20);
      if (lookahead == '+')
        ADVANCE(571);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(572);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(1129);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1128);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 1129:
      if (lookahead == '\n')
        SKIP(1128);
      END_STATE();
    case 1130:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(600);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == '.')
        ADVANCE(601);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1131);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1130);
      END_STATE();
    case 1131:
      if (lookahead == '\n')
        SKIP(1130);
      END_STATE();
    case 1132:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1133);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1132);
      END_STATE();
    case 1133:
      if (lookahead == '\n')
        SKIP(1132);
      END_STATE();
    case 1134:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(1135);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1134);
      END_STATE();
    case 1135:
      if (lookahead == '\n')
        SKIP(1134);
      END_STATE();
    case 1136:
      if (lookahead == 0)
        ADVANCE(1);
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(600);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(601);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1137);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == '_')
        ADVANCE(444);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1136);
      END_STATE();
    case 1137:
      if (lookahead == '\n')
        SKIP(1136);
      END_STATE();
    case 1138:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(1139);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1138);
      END_STATE();
    case 1139:
      if (lookahead == '\n')
        SKIP(1138);
      END_STATE();
    case 1140:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1141);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(582);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1140);
      END_STATE();
    case 1141:
      if (lookahead == '\n')
        SKIP(1140);
      END_STATE();
    case 1142:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1143);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1142);
      END_STATE();
    case 1143:
      if (lookahead == '\n')
        SKIP(1142);
      END_STATE();
    case 1144:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1145);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1144);
      END_STATE();
    case 1145:
      if (lookahead == '\n')
        SKIP(1144);
      END_STATE();
    case 1146:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(1147);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1146);
      END_STATE();
    case 1147:
      if (lookahead == '\n')
        SKIP(1146);
      END_STATE();
    case 1148:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1149);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1148);
      END_STATE();
    case 1149:
      if (lookahead == '\n')
        SKIP(1148);
      END_STATE();
    case 1150:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1151);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1150);
      END_STATE();
    case 1151:
      if (lookahead == '\n')
        SKIP(1150);
      END_STATE();
    case 1152:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(1153);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1152);
      END_STATE();
    case 1153:
      if (lookahead == '\n')
        SKIP(1152);
      END_STATE();
    case 1154:
      if (lookahead == '!')
        ADVANCE(2);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(489);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(1155);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1154);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 1155:
      if (lookahead == '\n')
        SKIP(1154);
      END_STATE();
    case 1156:
      if (lookahead == '!')
        ADVANCE(2);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(20);
      if (lookahead == '+')
        ADVANCE(571);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(572);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(1157);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1156);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 1157:
      if (lookahead == '\n')
        SKIP(1156);
      END_STATE();
    case 1158:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1159);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1158);
      END_STATE();
    case 1159:
      if (lookahead == '\n')
        SKIP(1158);
      END_STATE();
    case 1160:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1161);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1160);
      END_STATE();
    case 1161:
      if (lookahead == '\n')
        SKIP(1160);
      END_STATE();
    case 1162:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1163);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1162);
      END_STATE();
    case 1163:
      if (lookahead == '\n')
        SKIP(1162);
      END_STATE();
    case 1164:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(1165);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1164);
      END_STATE();
    case 1165:
      if (lookahead == '\n')
        SKIP(1164);
      END_STATE();
    case 1166:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1167);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1166);
      END_STATE();
    case 1167:
      if (lookahead == '\n')
        SKIP(1166);
      END_STATE();
    case 1168:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ':')
        ADVANCE(636);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1169);
      if (lookahead == ']')
        ADVANCE(112);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1168);
      END_STATE();
    case 1169:
      if (lookahead == '\n')
        SKIP(1168);
      END_STATE();
    case 1170:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1171);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1170);
      END_STATE();
    case 1171:
      if (lookahead == '\n')
        SKIP(1170);
      END_STATE();
    case 1172:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(1173);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1172);
      END_STATE();
    case 1173:
      if (lookahead == '\n')
        SKIP(1172);
      END_STATE();
    case 1174:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(600);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(601);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1175);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1174);
      END_STATE();
    case 1175:
      if (lookahead == '\n')
        SKIP(1174);
      END_STATE();
    case 1176:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1177);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1176);
      END_STATE();
    case 1177:
      if (lookahead == '\n')
        SKIP(1176);
      END_STATE();
    case 1178:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1179);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1178);
      END_STATE();
    case 1179:
      if (lookahead == '\n')
        SKIP(1178);
      END_STATE();
    case 1180:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1181);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1180);
      END_STATE();
    case 1181:
      if (lookahead == '\n')
        SKIP(1180);
      END_STATE();
    case 1182:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1183);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1182);
      END_STATE();
    case 1183:
      if (lookahead == '\n')
        SKIP(1182);
      END_STATE();
    case 1184:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(1185);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1184);
      END_STATE();
    case 1185:
      if (lookahead == '\n')
        SKIP(1184);
      END_STATE();
    case 1186:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '&')
        ADVANCE(534);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(489);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(551);
      if (lookahead == '\\')
        SKIP(1187);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1186);
      if (lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      END_STATE();
    case 1187:
      if (lookahead == '\n')
        SKIP(1186);
      END_STATE();
    case 1188:
      if (lookahead == '!')
        ADVANCE(275);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(276);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '?')
        ADVANCE(300);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(1189);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(354);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(368);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'r')
        ADVANCE(384);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(402);
      if (lookahead == 'u')
        ADVANCE(469);
      if (lookahead == 'w')
        ADVANCE(418);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1188);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 1189:
      if (lookahead == '\n')
        SKIP(1188);
      END_STATE();
    case 1190:
      if (lookahead == '!')
        ADVANCE(2);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(489);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(1191);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1190);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 1191:
      if (lookahead == '\n')
        SKIP(1190);
      END_STATE();
    case 1192:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1193);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1192);
      END_STATE();
    case 1193:
      if (lookahead == '\n')
        SKIP(1192);
      END_STATE();
    case 1194:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '&')
        ADVANCE(608);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(586);
      if (lookahead == '=')
        ADVANCE(551);
      if (lookahead == '\\')
        SKIP(1195);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1194);
      END_STATE();
    case 1195:
      if (lookahead == '\n')
        SKIP(1194);
      END_STATE();
    case 1196:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(1197);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1196);
      END_STATE();
    case 1197:
      if (lookahead == '\n')
        SKIP(1196);
      END_STATE();
    case 1198:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1199);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'e')
        ADVANCE(176);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 't')
        ADVANCE(453);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(255);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1198);
      END_STATE();
    case 1199:
      if (lookahead == '\n')
        SKIP(1198);
      END_STATE();
    case 1200:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(600);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(601);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1201);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1200);
      END_STATE();
    case 1201:
      if (lookahead == '\n')
        SKIP(1200);
      END_STATE();
    case 1202:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1203);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1202);
      END_STATE();
    case 1203:
      if (lookahead == '\n')
        SKIP(1202);
      END_STATE();
    case 1204:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1205);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1204);
      END_STATE();
    case 1205:
      if (lookahead == '\n')
        SKIP(1204);
      END_STATE();
    case 1206:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(1207);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1206);
      END_STATE();
    case 1207:
      if (lookahead == '\n')
        SKIP(1206);
      END_STATE();
    case 1208:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1209);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1208);
      END_STATE();
    case 1209:
      if (lookahead == '\n')
        SKIP(1208);
      END_STATE();
    case 1210:
      if (lookahead == '!')
        ADVANCE(2);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(489);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(1211);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1210);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 1211:
      if (lookahead == '\n')
        SKIP(1210);
      END_STATE();
    case 1212:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1213);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(650);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1212);
      END_STATE();
    case 1213:
      if (lookahead == '\n')
        SKIP(1212);
      END_STATE();
    case 1214:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1215);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1214);
      END_STATE();
    case 1215:
      if (lookahead == '\n')
        SKIP(1214);
      END_STATE();
    case 1216:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1217);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1216);
      END_STATE();
    case 1217:
      if (lookahead == '\n')
        SKIP(1216);
      END_STATE();
    case 1218:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1219);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1218);
      END_STATE();
    case 1219:
      if (lookahead == '\n')
        SKIP(1218);
      END_STATE();
    case 1220:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1221);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1220);
      END_STATE();
    case 1221:
      if (lookahead == '\n')
        SKIP(1220);
      END_STATE();
    case 1222:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1223);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1222);
      END_STATE();
    case 1223:
      if (lookahead == '\n')
        SKIP(1222);
      END_STATE();
    case 1224:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(1225);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1224);
      END_STATE();
    case 1225:
      if (lookahead == '\n')
        SKIP(1224);
      END_STATE();
    case 1226:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1227);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1226);
      END_STATE();
    case 1227:
      if (lookahead == '\n')
        SKIP(1226);
      END_STATE();
    case 1228:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(600);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(601);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1229);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1228);
      END_STATE();
    case 1229:
      if (lookahead == '\n')
        SKIP(1228);
      END_STATE();
    case 1230:
      if (lookahead == '!')
        ADVANCE(275);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(276);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '?')
        ADVANCE(300);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'B')
        ADVANCE(86);
      if (lookahead == 'E')
        ADVANCE(93);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(1231);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(332);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(354);
      if (lookahead == 'e')
        ADVANCE(984);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(368);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(402);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(418);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1230);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 1231:
      if (lookahead == '\n')
        SKIP(1230);
      END_STATE();
    case 1232:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '\\')
        SKIP(1233);
      if (lookahead == 'e')
        ADVANCE(1234);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1232);
      END_STATE();
    case 1233:
      if (lookahead == '\n')
        SKIP(1232);
      END_STATE();
    case 1234:
      if (lookahead == 'l')
        ADVANCE(177);
      if (lookahead == 'n')
        ADVANCE(1078);
      END_STATE();
    case 1235:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '\\')
        SKIP(1236);
      if (lookahead == 'e')
        ADVANCE(1234);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1235);
      END_STATE();
    case 1236:
      if (lookahead == '\n')
        SKIP(1235);
      END_STATE();
    case 1237:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(600);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == '.')
        ADVANCE(601);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1238);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'e')
        ADVANCE(1234);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1237);
      END_STATE();
    case 1238:
      if (lookahead == '\n')
        SKIP(1237);
      END_STATE();
    case 1239:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1240);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'e')
        ADVANCE(1234);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1239);
      END_STATE();
    case 1240:
      if (lookahead == '\n')
        SKIP(1239);
      END_STATE();
    case 1241:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(600);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(601);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1242);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 't')
        ADVANCE(453);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1241);
      END_STATE();
    case 1242:
      if (lookahead == '\n')
        SKIP(1241);
      END_STATE();
    case 1243:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '\\')
        SKIP(1244);
      if (lookahead == 'e')
        ADVANCE(1245);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1243);
      END_STATE();
    case 1244:
      if (lookahead == '\n')
        SKIP(1243);
      END_STATE();
    case 1245:
      if (lookahead == 'l')
        ADVANCE(753);
      if (lookahead == 'n')
        ADVANCE(1078);
      END_STATE();
    case 1246:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '\\')
        SKIP(1247);
      if (lookahead == 'e')
        ADVANCE(1245);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1246);
      END_STATE();
    case 1247:
      if (lookahead == '\n')
        SKIP(1246);
      END_STATE();
    case 1248:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(600);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == '.')
        ADVANCE(601);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1249);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'e')
        ADVANCE(1245);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1248);
      END_STATE();
    case 1249:
      if (lookahead == '\n')
        SKIP(1248);
      END_STATE();
    case 1250:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1251);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'e')
        ADVANCE(1245);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1250);
      END_STATE();
    case 1251:
      if (lookahead == '\n')
        SKIP(1250);
      END_STATE();
    case 1252:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(600);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(601);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1253);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1252);
      END_STATE();
    case 1253:
      if (lookahead == '\n')
        SKIP(1252);
      END_STATE();
    case 1254:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1255);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'i')
        ADVANCE(610);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1254);
      END_STATE();
    case 1255:
      if (lookahead == '\n')
        SKIP(1254);
      END_STATE();
    case 1256:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1257);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'i')
        ADVANCE(610);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1256);
      END_STATE();
    case 1257:
      if (lookahead == '\n')
        SKIP(1256);
      END_STATE();
    case 1258:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(1259);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'i')
        ADVANCE(610);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1258);
      END_STATE();
    case 1259:
      if (lookahead == '\n')
        SKIP(1258);
      END_STATE();
    case 1260:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1261);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 't')
        ADVANCE(453);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1260);
      END_STATE();
    case 1261:
      if (lookahead == '\n')
        SKIP(1260);
      END_STATE();
    case 1262:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1263);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 't')
        ADVANCE(453);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1262);
      END_STATE();
    case 1263:
      if (lookahead == '\n')
        SKIP(1262);
      END_STATE();
    case 1264:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(1265);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 't')
        ADVANCE(453);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1264);
      END_STATE();
    case 1265:
      if (lookahead == '\n')
        SKIP(1264);
      END_STATE();
    case 1266:
      if (lookahead == '!')
        ADVANCE(275);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(276);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '?')
        ADVANCE(300);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'B')
        ADVANCE(86);
      if (lookahead == 'E')
        ADVANCE(93);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(1267);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(332);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(354);
      if (lookahead == 'e')
        ADVANCE(995);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(368);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'r')
        ADVANCE(384);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1266);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 1267:
      if (lookahead == '\n')
        SKIP(1266);
      END_STATE();
    case 1268:
      if (lookahead == '!')
        ADVANCE(275);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(276);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '?')
        ADVANCE(300);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'B')
        ADVANCE(86);
      if (lookahead == 'E')
        ADVANCE(93);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(1269);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(332);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(354);
      if (lookahead == 'e')
        ADVANCE(995);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(368);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'r')
        ADVANCE(384);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(402);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1268);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 1269:
      if (lookahead == '\n')
        SKIP(1268);
      END_STATE();
    case 1270:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1271);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 't')
        ADVANCE(453);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1270);
      END_STATE();
    case 1271:
      if (lookahead == '\n')
        SKIP(1270);
      END_STATE();
    case 1272:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1273);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 't')
        ADVANCE(453);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1272);
      END_STATE();
    case 1273:
      if (lookahead == '\n')
        SKIP(1272);
      END_STATE();
    case 1274:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(1275);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 't')
        ADVANCE(453);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1274);
      END_STATE();
    case 1275:
      if (lookahead == '\n')
        SKIP(1274);
      END_STATE();
    case 1276:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(600);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(601);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1277);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'w')
        ADVANCE(593);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1276);
      END_STATE();
    case 1277:
      if (lookahead == '\n')
        SKIP(1276);
      END_STATE();
    case 1278:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '&')
        ADVANCE(608);
      if (lookahead == '.')
        ADVANCE(586);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '\\')
        SKIP(1279);
      if (lookahead == 't')
        ADVANCE(453);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1278);
      END_STATE();
    case 1279:
      if (lookahead == '\n')
        SKIP(1278);
      END_STATE();
    case 1280:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1281);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'e')
        ADVANCE(1068);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1280);
      END_STATE();
    case 1281:
      if (lookahead == '\n')
        SKIP(1280);
      END_STATE();
    case 1282:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1283);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'e')
        ADVANCE(1068);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1282);
      END_STATE();
    case 1283:
      if (lookahead == '\n')
        SKIP(1282);
      END_STATE();
    case 1284:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1285);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'e')
        ADVANCE(1068);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1284);
      END_STATE();
    case 1285:
      if (lookahead == '\n')
        SKIP(1284);
      END_STATE();
    case 1286:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(1287);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'e')
        ADVANCE(1068);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1286);
      END_STATE();
    case 1287:
      if (lookahead == '\n')
        SKIP(1286);
      END_STATE();
    case 1288:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1289);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'e')
        ADVANCE(1068);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1288);
      END_STATE();
    case 1289:
      if (lookahead == '\n')
        SKIP(1288);
      END_STATE();
    case 1290:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1291);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'e')
        ADVANCE(1068);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1290);
      END_STATE();
    case 1291:
      if (lookahead == '\n')
        SKIP(1290);
      END_STATE();
    case 1292:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(1293);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'e')
        ADVANCE(1068);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1292);
      END_STATE();
    case 1293:
      if (lookahead == '\n')
        SKIP(1292);
      END_STATE();
    case 1294:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1295);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'e')
        ADVANCE(1077);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1294);
      END_STATE();
    case 1295:
      if (lookahead == '\n')
        SKIP(1294);
      END_STATE();
    case 1296:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1297);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'e')
        ADVANCE(1077);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1296);
      END_STATE();
    case 1297:
      if (lookahead == '\n')
        SKIP(1296);
      END_STATE();
    case 1298:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1299);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'e')
        ADVANCE(1077);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1298);
      END_STATE();
    case 1299:
      if (lookahead == '\n')
        SKIP(1298);
      END_STATE();
    case 1300:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(1301);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'e')
        ADVANCE(1077);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1300);
      END_STATE();
    case 1301:
      if (lookahead == '\n')
        SKIP(1300);
      END_STATE();
    case 1302:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1303);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'e')
        ADVANCE(1077);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1302);
      END_STATE();
    case 1303:
      if (lookahead == '\n')
        SKIP(1302);
      END_STATE();
    case 1304:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1305);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'e')
        ADVANCE(1077);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1304);
      END_STATE();
    case 1305:
      if (lookahead == '\n')
        SKIP(1304);
      END_STATE();
    case 1306:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(1307);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'e')
        ADVANCE(1077);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1306);
      END_STATE();
    case 1307:
      if (lookahead == '\n')
        SKIP(1306);
      END_STATE();
    case 1308:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(600);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(601);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1309);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'e')
        ADVANCE(752);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1308);
      END_STATE();
    case 1309:
      if (lookahead == '\n')
        SKIP(1308);
      END_STATE();
    case 1310:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1311);
      if (lookahead == ']')
        ADVANCE(112);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1310);
      END_STATE();
    case 1311:
      if (lookahead == '\n')
        SKIP(1310);
      END_STATE();
    case 1312:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1313);
      if (lookahead == ']')
        ADVANCE(112);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1312);
      END_STATE();
    case 1313:
      if (lookahead == '\n')
        SKIP(1312);
      END_STATE();
    case 1314:
      if (lookahead == '!')
        ADVANCE(275);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(489);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '?')
        ADVANCE(300);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(1315);
      if (lookahead == ']')
        ADVANCE(112);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1314);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 1315:
      if (lookahead == '\n')
        SKIP(1314);
      END_STATE();
    case 1316:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '\\')
        SKIP(1317);
      if (lookahead == ']')
        ADVANCE(112);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1316);
      END_STATE();
    case 1317:
      if (lookahead == '\n')
        SKIP(1316);
      END_STATE();
    case 1318:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(551);
      if (lookahead == '\\')
        SKIP(1319);
      if (lookahead == '|')
        ADVANCE(542);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1318);
      END_STATE();
    case 1319:
      if (lookahead == '\n')
        SKIP(1318);
      END_STATE();
    case 1320:
      if (lookahead == '!')
        ADVANCE(275);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(276);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '?')
        ADVANCE(300);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(1321);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(354);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(368);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'r')
        ADVANCE(384);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(402);
      if (lookahead == 'u')
        ADVANCE(469);
      if (lookahead == 'w')
        ADVANCE(418);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1320);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 1321:
      if (lookahead == '\n')
        SKIP(1320);
      END_STATE();
    case 1322:
      if (lookahead == '!')
        ADVANCE(275);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(276);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '?')
        ADVANCE(300);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'B')
        ADVANCE(86);
      if (lookahead == 'E')
        ADVANCE(93);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(1323);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(332);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(354);
      if (lookahead == 'e')
        ADVANCE(748);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(368);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(402);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(418);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1322);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 1323:
      if (lookahead == '\n')
        SKIP(1322);
      END_STATE();
    case 1324:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(600);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(601);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1325);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1324);
      END_STATE();
    case 1325:
      if (lookahead == '\n')
        SKIP(1324);
      END_STATE();
    case 1326:
      if (lookahead == '!')
        ADVANCE(2);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(489);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(55);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(1327);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1326);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 1327:
      if (lookahead == '\n')
        SKIP(1326);
      END_STATE();
    case 1328:
      if (lookahead == '!')
        ADVANCE(2);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(20);
      if (lookahead == '+')
        ADVANCE(571);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(572);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(55);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(1329);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1328);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 1329:
      if (lookahead == '\n')
        SKIP(1328);
      END_STATE();
    case 1330:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ':')
        ADVANCE(636);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1331);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1330);
      END_STATE();
    case 1331:
      if (lookahead == '\n')
        SKIP(1330);
      END_STATE();
    case 1332:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ':')
        ADVANCE(636);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1333);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1332);
      END_STATE();
    case 1333:
      if (lookahead == '\n')
        SKIP(1332);
      END_STATE();
    case 1334:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ':')
        ADVANCE(636);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1335);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1334);
      END_STATE();
    case 1335:
      if (lookahead == '\n')
        SKIP(1334);
      END_STATE();
    case 1336:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ':')
        ADVANCE(636);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(1337);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1336);
      END_STATE();
    case 1337:
      if (lookahead == '\n')
        SKIP(1336);
      END_STATE();
    case 1338:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ':')
        ADVANCE(636);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1339);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1338);
      END_STATE();
    case 1339:
      if (lookahead == '\n')
        SKIP(1338);
      END_STATE();
    case 1340:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ':')
        ADVANCE(636);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1341);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1340);
      END_STATE();
    case 1341:
      if (lookahead == '\n')
        SKIP(1340);
      END_STATE();
    case 1342:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ':')
        ADVANCE(636);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(1343);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1342);
      END_STATE();
    case 1343:
      if (lookahead == '\n')
        SKIP(1342);
      END_STATE();
    case 1344:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(600);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(601);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1345);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1344);
      END_STATE();
    case 1345:
      if (lookahead == '\n')
        SKIP(1344);
      END_STATE();
    case 1346:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ':')
        ADVANCE(636);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(1347);
      if (lookahead == ']')
        ADVANCE(112);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'i')
        ADVANCE(610);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1346);
      END_STATE();
    case 1347:
      if (lookahead == '\n')
        SKIP(1346);
      END_STATE();
    case 1348:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ':')
        ADVANCE(636);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1349);
      if (lookahead == ']')
        ADVANCE(112);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'i')
        ADVANCE(610);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(650);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1348);
      END_STATE();
    case 1349:
      if (lookahead == '\n')
        SKIP(1348);
      END_STATE();
    case 1350:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(600);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(601);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1351);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1350);
      END_STATE();
    case 1351:
      if (lookahead == '\n')
        SKIP(1350);
      END_STATE();
    case 1352:
      if (lookahead == '!')
        ADVANCE(2);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == ')')
        ADVANCE(19);
      if (lookahead == '*')
        ADVANCE(489);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(1353);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'a')
        ADVANCE(491);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(494);
      if (lookahead == 'e')
        ADVANCE(502);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(514);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'o')
        ADVANCE(516);
      if (lookahead == 'r')
        ADVANCE(518);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(524);
      if (lookahead == 'u')
        ADVANCE(406);
      if (lookahead == 'w')
        ADVANCE(528);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1352);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('g' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 1353:
      if (lookahead == '\n')
        SKIP(1352);
      END_STATE();
    case 1354:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1355);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'e')
        ADVANCE(1234);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1354);
      END_STATE();
    case 1355:
      if (lookahead == '\n')
        SKIP(1354);
      END_STATE();
    case 1356:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1357);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'e')
        ADVANCE(1234);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1356);
      END_STATE();
    case 1357:
      if (lookahead == '\n')
        SKIP(1356);
      END_STATE();
    case 1358:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1359);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'e')
        ADVANCE(1234);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1358);
      END_STATE();
    case 1359:
      if (lookahead == '\n')
        SKIP(1358);
      END_STATE();
    case 1360:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(1361);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'e')
        ADVANCE(1234);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1360);
      END_STATE();
    case 1361:
      if (lookahead == '\n')
        SKIP(1360);
      END_STATE();
    case 1362:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1363);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'e')
        ADVANCE(1234);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1362);
      END_STATE();
    case 1363:
      if (lookahead == '\n')
        SKIP(1362);
      END_STATE();
    case 1364:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1365);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'e')
        ADVANCE(1234);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1364);
      END_STATE();
    case 1365:
      if (lookahead == '\n')
        SKIP(1364);
      END_STATE();
    case 1366:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(1367);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'e')
        ADVANCE(1234);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1366);
      END_STATE();
    case 1367:
      if (lookahead == '\n')
        SKIP(1366);
      END_STATE();
    case 1368:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1369);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'e')
        ADVANCE(1245);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1368);
      END_STATE();
    case 1369:
      if (lookahead == '\n')
        SKIP(1368);
      END_STATE();
    case 1370:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1371);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'e')
        ADVANCE(1245);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1370);
      END_STATE();
    case 1371:
      if (lookahead == '\n')
        SKIP(1370);
      END_STATE();
    case 1372:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1373);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'e')
        ADVANCE(1245);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1372);
      END_STATE();
    case 1373:
      if (lookahead == '\n')
        SKIP(1372);
      END_STATE();
    case 1374:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(1375);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'e')
        ADVANCE(1245);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1374);
      END_STATE();
    case 1375:
      if (lookahead == '\n')
        SKIP(1374);
      END_STATE();
    case 1376:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1377);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'e')
        ADVANCE(1245);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1376);
      END_STATE();
    case 1377:
      if (lookahead == '\n')
        SKIP(1376);
      END_STATE();
    case 1378:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1379);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'e')
        ADVANCE(1245);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1378);
      END_STATE();
    case 1379:
      if (lookahead == '\n')
        SKIP(1378);
      END_STATE();
    case 1380:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(1381);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'e')
        ADVANCE(1245);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1380);
      END_STATE();
    case 1381:
      if (lookahead == '\n')
        SKIP(1380);
      END_STATE();
    case 1382:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '\\')
        SKIP(1383);
      if (lookahead == 'e')
        ADVANCE(1245);
      if (lookahead == 'w')
        ADVANCE(593);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1382);
      END_STATE();
    case 1383:
      if (lookahead == '\n')
        SKIP(1382);
      END_STATE();
    case 1384:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '\\')
        SKIP(1385);
      if (lookahead == 'e')
        ADVANCE(1245);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(255);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1384);
      END_STATE();
    case 1385:
      if (lookahead == '\n')
        SKIP(1384);
      END_STATE();
    case 1386:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(600);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == '.')
        ADVANCE(601);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1387);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'e')
        ADVANCE(1245);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(255);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1386);
      END_STATE();
    case 1387:
      if (lookahead == '\n')
        SKIP(1386);
      END_STATE();
    case 1388:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1389);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'e')
        ADVANCE(1245);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(255);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1388);
      END_STATE();
    case 1389:
      if (lookahead == '\n')
        SKIP(1388);
      END_STATE();
    case 1390:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1391);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 't')
        ADVANCE(453);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1390);
      END_STATE();
    case 1391:
      if (lookahead == '\n')
        SKIP(1390);
      END_STATE();
    case 1392:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '&')
        ADVANCE(608);
      if (lookahead == '.')
        ADVANCE(586);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '\\')
        SKIP(1393);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 't')
        ADVANCE(453);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1392);
      END_STATE();
    case 1393:
      if (lookahead == '\n')
        SKIP(1392);
      END_STATE();
    case 1394:
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '&')
        ADVANCE(608);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(586);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '\\')
        SKIP(1395);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 't')
        ADVANCE(453);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1394);
      END_STATE();
    case 1395:
      if (lookahead == '\n')
        SKIP(1394);
      END_STATE();
    case 1396:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(1397);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 't')
        ADVANCE(453);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1396);
      END_STATE();
    case 1397:
      if (lookahead == '\n')
        SKIP(1396);
      END_STATE();
    case 1398:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(600);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(601);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1399);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'e')
        ADVANCE(1068);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1398);
      END_STATE();
    case 1399:
      if (lookahead == '\n')
        SKIP(1398);
      END_STATE();
    case 1400:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(600);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(601);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1401);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'e')
        ADVANCE(1077);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1400);
      END_STATE();
    case 1401:
      if (lookahead == '\n')
        SKIP(1400);
      END_STATE();
    case 1402:
      if (lookahead == '!')
        ADVANCE(275);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '$')
        ADVANCE(6);
      if (lookahead == '(')
        ADVANCE(18);
      if (lookahead == '*')
        ADVANCE(276);
      if (lookahead == '+')
        ADVANCE(277);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(280);
      if (lookahead == '0')
        ADVANCE(281);
      if (lookahead == ':')
        ADVANCE(286);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '=')
        ADVANCE(287);
      if (lookahead == '?')
        ADVANCE(300);
      if (lookahead == '@')
        ADVANCE(82);
      if (lookahead == 'F')
        ADVANCE(96);
      if (lookahead == 'N')
        ADVANCE(101);
      if (lookahead == 'T')
        ADVANCE(104);
      if (lookahead == '[')
        ADVANCE(301);
      if (lookahead == '\\')
        SKIP(1403);
      if (lookahead == '_')
        ADVANCE(463);
      if (lookahead == 'b')
        ADVANCE(337);
      if (lookahead == 'c')
        ADVANCE(346);
      if (lookahead == 'd')
        ADVANCE(354);
      if (lookahead == 'f')
        ADVANCE(361);
      if (lookahead == 'i')
        ADVANCE(368);
      if (lookahead == 'm')
        ADVANCE(370);
      if (lookahead == 'n')
        ADVANCE(376);
      if (lookahead == 'r')
        ADVANCE(384);
      if (lookahead == 's')
        ADVANCE(394);
      if (lookahead == 't')
        ADVANCE(402);
      if (lookahead == 'u')
        ADVANCE(469);
      if (lookahead == 'w')
        ADVANCE(418);
      if (lookahead == 'y')
        ADVANCE(423);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(542);
      if (lookahead == '~')
        ADVANCE(273);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1402);
      if (('1' <= lookahead && lookahead <= '9'))
        ADVANCE(284);
      if (('a' <= lookahead && lookahead <= 'z'))
        ADVANCE(316);
      if (('A' <= lookahead && lookahead <= 'Z'))
        ADVANCE(92);
      END_STATE();
    case 1403:
      if (lookahead == '\n')
        SKIP(1402);
      END_STATE();
    case 1404:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(600);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(601);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ':')
        ADVANCE(636);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1405);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1404);
      END_STATE();
    case 1405:
      if (lookahead == '\n')
        SKIP(1404);
      END_STATE();
    case 1406:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(600);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(601);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1407);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '}')
        ADVANCE(272);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1406);
      END_STATE();
    case 1407:
      if (lookahead == '\n')
        SKIP(1406);
      END_STATE();
    case 1408:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(600);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(601);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1409);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'e')
        ADVANCE(1234);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1408);
      END_STATE();
    case 1409:
      if (lookahead == '\n')
        SKIP(1408);
      END_STATE();
    case 1410:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(600);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(601);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1411);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'e')
        ADVANCE(1245);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(597);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1410);
      END_STATE();
    case 1411:
      if (lookahead == '\n')
        SKIP(1410);
      END_STATE();
    case 1412:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1413);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'e')
        ADVANCE(1245);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(255);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1412);
      END_STATE();
    case 1413:
      if (lookahead == '\n')
        SKIP(1412);
      END_STATE();
    case 1414:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1415);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'e')
        ADVANCE(1245);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(255);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1414);
      END_STATE();
    case 1415:
      if (lookahead == '\n')
        SKIP(1414);
      END_STATE();
    case 1416:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1417);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'e')
        ADVANCE(1245);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(255);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1416);
      END_STATE();
    case 1417:
      if (lookahead == '\n')
        SKIP(1416);
      END_STATE();
    case 1418:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(439);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(1419);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'e')
        ADVANCE(1245);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(255);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1418);
      END_STATE();
    case 1419:
      if (lookahead == '\n')
        SKIP(1418);
      END_STATE();
    case 1420:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1421);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'e')
        ADVANCE(1245);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(255);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1420);
      END_STATE();
    case 1421:
      if (lookahead == '\n')
        SKIP(1420);
      END_STATE();
    case 1422:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(573);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1423);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'e')
        ADVANCE(1245);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(255);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1422);
      END_STATE();
    case 1423:
      if (lookahead == '\n')
        SKIP(1422);
      END_STATE();
    case 1424:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(11);
      if (lookahead == '&')
        ADVANCE(13);
      if (lookahead == '*')
        ADVANCE(576);
      if (lookahead == '+')
        ADVANCE(577);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '-')
        ADVANCE(578);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(35);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(58);
      if (lookahead == '=')
        ADVANCE(63);
      if (lookahead == '>')
        ADVANCE(68);
      if (lookahead == '?')
        ADVANCE(72);
      if (lookahead == '\\')
        SKIP(1425);
      if (lookahead == '^')
        ADVANCE(113);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'e')
        ADVANCE(1245);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(255);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(268);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1424);
      END_STATE();
    case 1425:
      if (lookahead == '\n')
        SKIP(1424);
      END_STATE();
    case 1426:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(431);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(32);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1427);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'd')
        ADVANCE(449);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 't')
        ADVANCE(453);
      if (lookahead == '{')
        ADVANCE(267);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1426);
      END_STATE();
    case 1427:
      if (lookahead == '\n')
        SKIP(1426);
      END_STATE();
    case 1428:
      if (lookahead == '!')
        ADVANCE(429);
      if (lookahead == '#')
        ADVANCE(5);
      if (lookahead == '%')
        ADVANCE(430);
      if (lookahead == '&')
        ADVANCE(600);
      if (lookahead == '*')
        ADVANCE(433);
      if (lookahead == '+')
        ADVANCE(435);
      if (lookahead == ',')
        ADVANCE(27);
      if (lookahead == '.')
        ADVANCE(601);
      if (lookahead == '/')
        ADVANCE(436);
      if (lookahead == ';')
        ADVANCE(57);
      if (lookahead == '<')
        ADVANCE(437);
      if (lookahead == '=')
        ADVANCE(539);
      if (lookahead == '>')
        ADVANCE(440);
      if (lookahead == '?')
        ADVANCE(459);
      if (lookahead == '\\')
        SKIP(1429);
      if (lookahead == '^')
        ADVANCE(443);
      if (lookahead == 'a')
        ADVANCE(448);
      if (lookahead == 'e')
        ADVANCE(1245);
      if (lookahead == 'i')
        ADVANCE(450);
      if (lookahead == 'o')
        ADVANCE(212);
      if (lookahead == 'r')
        ADVANCE(451);
      if (lookahead == 'u')
        ADVANCE(454);
      if (lookahead == 'w')
        ADVANCE(255);
      if (lookahead == '|')
        ADVANCE(456);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ')
        SKIP(1428);
      END_STATE();
    case 1429:
      if (lookahead == '\n')
        SKIP(1428);
      END_STATE();
    default:
      return false;
  }
}

static TSLexMode ts_lex_modes[STATE_COUNT] = {
  [0] = {.lex_state = 0, .external_lex_state = 1},
  [1] = {.lex_state = 274, .external_lex_state = 2},
  [2] = {.lex_state = 428, .external_lex_state = 3},
  [3] = {.lex_state = 458, .external_lex_state = 4},
  [4] = {.lex_state = 458, .external_lex_state = 4},
  [5] = {.lex_state = 458, .external_lex_state = 4},
  [6] = {.lex_state = 458, .external_lex_state = 4},
  [7] = {.lex_state = 461, .external_lex_state = 2},
  [8] = {.lex_state = 461, .external_lex_state = 2},
  [9] = {.lex_state = 461, .external_lex_state = 2},
  [10] = {.lex_state = 461, .external_lex_state = 2},
  [11] = {.lex_state = 461, .external_lex_state = 2},
  [12] = {.lex_state = 458, .external_lex_state = 4},
  [13] = {.lex_state = 467, .external_lex_state = 2},
  [14] = {.lex_state = 471},
  [15] = {.lex_state = 0},
  [16] = {.lex_state = 488, .external_lex_state = 5},
  [17] = {.lex_state = 0},
  [18] = {.lex_state = 532, .external_lex_state = 6},
  [19] = {.lex_state = 543, .external_lex_state = 2},
  [20] = {.lex_state = 545},
  [21] = {.lex_state = 547, .external_lex_state = 7},
  [22] = {.lex_state = 549, .external_lex_state = 8},
  [23] = {.lex_state = 557, .external_lex_state = 9},
  [24] = {.lex_state = 557, .external_lex_state = 8},
  [25] = {.lex_state = 559, .external_lex_state = 10},
  [26] = {.lex_state = 559, .external_lex_state = 10},
  [27] = {.lex_state = 559, .external_lex_state = 10},
  [28] = {.lex_state = 559, .external_lex_state = 10},
  [29] = {.lex_state = 458, .external_lex_state = 4},
  [30] = {.lex_state = 458, .external_lex_state = 4},
  [31] = {.lex_state = 461, .external_lex_state = 2},
  [32] = {.lex_state = 461, .external_lex_state = 2},
  [33] = {.lex_state = 467, .external_lex_state = 2},
  [34] = {.lex_state = 467, .external_lex_state = 2},
  [35] = {.lex_state = 561, .external_lex_state = 8},
  [36] = {.lex_state = 563, .external_lex_state = 11},
  [37] = {.lex_state = 565, .external_lex_state = 11},
  [38] = {.lex_state = 467, .external_lex_state = 2},
  [39] = {.lex_state = 467, .external_lex_state = 2},
  [40] = {.lex_state = 467, .external_lex_state = 2},
  [41] = {.lex_state = 570, .external_lex_state = 10},
  [42] = {.lex_state = 545, .external_lex_state = 6},
  [43] = {.lex_state = 575, .external_lex_state = 4},
  [44] = {.lex_state = 575, .external_lex_state = 4},
  [45] = {.lex_state = 570, .external_lex_state = 10},
  [46] = {.lex_state = 570, .external_lex_state = 10},
  [47] = {.lex_state = 575, .external_lex_state = 4},
  [48] = {.lex_state = 545, .external_lex_state = 6},
  [49] = {.lex_state = 580, .external_lex_state = 4},
  [50] = {.lex_state = 458, .external_lex_state = 4},
  [51] = {.lex_state = 583, .external_lex_state = 12},
  [52] = {.lex_state = 585},
  [53] = {.lex_state = 0},
  [54] = {.lex_state = 0},
  [55] = {.lex_state = 589, .external_lex_state = 7},
  [56] = {.lex_state = 591, .external_lex_state = 7},
  [57] = {.lex_state = 595, .external_lex_state = 7},
  [58] = {.lex_state = 547, .external_lex_state = 7},
  [59] = {.lex_state = 599, .external_lex_state = 13},
  [60] = {.lex_state = 603, .external_lex_state = 4},
  [61] = {.lex_state = 575, .external_lex_state = 4},
  [62] = {.lex_state = 570, .external_lex_state = 10},
  [63] = {.lex_state = 605, .external_lex_state = 13},
  [64] = {.lex_state = 549},
  [65] = {.lex_state = 549},
  [66] = {.lex_state = 549},
  [67] = {.lex_state = 607},
  [68] = {.lex_state = 611, .external_lex_state = 4},
  [69] = {.lex_state = 428, .external_lex_state = 3},
  [70] = {.lex_state = 613, .external_lex_state = 14},
  [71] = {.lex_state = 615, .external_lex_state = 15},
  [72] = {.lex_state = 615, .external_lex_state = 15},
  [73] = {.lex_state = 615, .external_lex_state = 15},
  [74] = {.lex_state = 615, .external_lex_state = 15},
  [75] = {.lex_state = 461, .external_lex_state = 2},
  [76] = {.lex_state = 461, .external_lex_state = 2},
  [77] = {.lex_state = 461, .external_lex_state = 2},
  [78] = {.lex_state = 461, .external_lex_state = 2},
  [79] = {.lex_state = 461, .external_lex_state = 2},
  [80] = {.lex_state = 615, .external_lex_state = 15},
  [81] = {.lex_state = 467, .external_lex_state = 2},
  [82] = {.lex_state = 488, .external_lex_state = 5},
  [83] = {.lex_state = 532, .external_lex_state = 6},
  [84] = {.lex_state = 543, .external_lex_state = 2},
  [85] = {.lex_state = 545},
  [86] = {.lex_state = 617, .external_lex_state = 16},
  [87] = {.lex_state = 557, .external_lex_state = 9},
  [88] = {.lex_state = 557, .external_lex_state = 8},
  [89] = {.lex_state = 619, .external_lex_state = 17},
  [90] = {.lex_state = 619, .external_lex_state = 17},
  [91] = {.lex_state = 619, .external_lex_state = 17},
  [92] = {.lex_state = 619, .external_lex_state = 17},
  [93] = {.lex_state = 615, .external_lex_state = 15},
  [94] = {.lex_state = 615, .external_lex_state = 15},
  [95] = {.lex_state = 461, .external_lex_state = 2},
  [96] = {.lex_state = 461, .external_lex_state = 2},
  [97] = {.lex_state = 467, .external_lex_state = 2},
  [98] = {.lex_state = 467, .external_lex_state = 2},
  [99] = {.lex_state = 561, .external_lex_state = 8},
  [100] = {.lex_state = 563, .external_lex_state = 11},
  [101] = {.lex_state = 565, .external_lex_state = 11},
  [102] = {.lex_state = 467, .external_lex_state = 2},
  [103] = {.lex_state = 467, .external_lex_state = 2},
  [104] = {.lex_state = 467, .external_lex_state = 2},
  [105] = {.lex_state = 621, .external_lex_state = 17},
  [106] = {.lex_state = 545, .external_lex_state = 6},
  [107] = {.lex_state = 623, .external_lex_state = 15},
  [108] = {.lex_state = 623, .external_lex_state = 15},
  [109] = {.lex_state = 621, .external_lex_state = 17},
  [110] = {.lex_state = 621, .external_lex_state = 17},
  [111] = {.lex_state = 623, .external_lex_state = 15},
  [112] = {.lex_state = 545, .external_lex_state = 6},
  [113] = {.lex_state = 625, .external_lex_state = 15},
  [114] = {.lex_state = 615, .external_lex_state = 15},
  [115] = {.lex_state = 583, .external_lex_state = 12},
  [116] = {.lex_state = 585},
  [117] = {.lex_state = 617, .external_lex_state = 16},
  [118] = {.lex_state = 617, .external_lex_state = 16},
  [119] = {.lex_state = 627, .external_lex_state = 18},
  [120] = {.lex_state = 615, .external_lex_state = 15},
  [121] = {.lex_state = 623, .external_lex_state = 15},
  [122] = {.lex_state = 621, .external_lex_state = 17},
  [123] = {.lex_state = 629, .external_lex_state = 18},
  [124] = {.lex_state = 549},
  [125] = {.lex_state = 623, .external_lex_state = 15},
  [126] = {.lex_state = 613, .external_lex_state = 14},
  [127] = {.lex_state = 461, .external_lex_state = 2},
  [128] = {.lex_state = 617, .external_lex_state = 16},
  [129] = {.lex_state = 461, .external_lex_state = 2},
  [130] = {.lex_state = 617, .external_lex_state = 16},
  [131] = {.lex_state = 461, .external_lex_state = 2},
  [132] = {.lex_state = 617, .external_lex_state = 16},
  [133] = {.lex_state = 461, .external_lex_state = 2},
  [134] = {.lex_state = 617, .external_lex_state = 16},
  [135] = {.lex_state = 461, .external_lex_state = 2},
  [136] = {.lex_state = 599, .external_lex_state = 13},
  [137] = {.lex_state = 0},
  [138] = {.lex_state = 631, .external_lex_state = 2},
  [139] = {.lex_state = 633, .external_lex_state = 19},
  [140] = {.lex_state = 635, .external_lex_state = 20},
  [141] = {.lex_state = 635, .external_lex_state = 20},
  [142] = {.lex_state = 635, .external_lex_state = 20},
  [143] = {.lex_state = 635, .external_lex_state = 20},
  [144] = {.lex_state = 0},
  [145] = {.lex_state = 461, .external_lex_state = 2},
  [146] = {.lex_state = 461, .external_lex_state = 2},
  [147] = {.lex_state = 461, .external_lex_state = 2},
  [148] = {.lex_state = 461, .external_lex_state = 2},
  [149] = {.lex_state = 461, .external_lex_state = 2},
  [150] = {.lex_state = 461, .external_lex_state = 2},
  [151] = {.lex_state = 635, .external_lex_state = 20},
  [152] = {.lex_state = 467, .external_lex_state = 2},
  [153] = {.lex_state = 488, .external_lex_state = 5},
  [154] = {.lex_state = 458, .external_lex_state = 4},
  [155] = {.lex_state = 532, .external_lex_state = 21},
  [156] = {.lex_state = 543, .external_lex_state = 2},
  [157] = {.lex_state = 545},
  [158] = {.lex_state = 638, .external_lex_state = 22},
  [159] = {.lex_state = 467, .external_lex_state = 2},
  [160] = {.lex_state = 557, .external_lex_state = 23},
  [161] = {.lex_state = 557, .external_lex_state = 24},
  [162] = {.lex_state = 640, .external_lex_state = 25},
  [163] = {.lex_state = 640, .external_lex_state = 25},
  [164] = {.lex_state = 640, .external_lex_state = 25},
  [165] = {.lex_state = 640, .external_lex_state = 25},
  [166] = {.lex_state = 642, .external_lex_state = 26},
  [167] = {.lex_state = 642, .external_lex_state = 26},
  [168] = {.lex_state = 461, .external_lex_state = 27},
  [169] = {.lex_state = 461, .external_lex_state = 27},
  [170] = {.lex_state = 467, .external_lex_state = 27},
  [171] = {.lex_state = 467, .external_lex_state = 27},
  [172] = {.lex_state = 561, .external_lex_state = 24},
  [173] = {.lex_state = 563, .external_lex_state = 28},
  [174] = {.lex_state = 565, .external_lex_state = 28},
  [175] = {.lex_state = 467, .external_lex_state = 2},
  [176] = {.lex_state = 467, .external_lex_state = 2},
  [177] = {.lex_state = 467, .external_lex_state = 27},
  [178] = {.lex_state = 467, .external_lex_state = 2},
  [179] = {.lex_state = 644, .external_lex_state = 25},
  [180] = {.lex_state = 644, .external_lex_state = 29},
  [181] = {.lex_state = 646, .external_lex_state = 26},
  [182] = {.lex_state = 646, .external_lex_state = 26},
  [183] = {.lex_state = 644, .external_lex_state = 25},
  [184] = {.lex_state = 644, .external_lex_state = 25},
  [185] = {.lex_state = 646, .external_lex_state = 26},
  [186] = {.lex_state = 648, .external_lex_state = 20},
  [187] = {.lex_state = 635, .external_lex_state = 20},
  [188] = {.lex_state = 646, .external_lex_state = 20},
  [189] = {.lex_state = 646, .external_lex_state = 20},
  [190] = {.lex_state = 646, .external_lex_state = 20},
  [191] = {.lex_state = 583, .external_lex_state = 12},
  [192] = {.lex_state = 585},
  [193] = {.lex_state = 651, .external_lex_state = 30},
  [194] = {.lex_state = 653, .external_lex_state = 20},
  [195] = {.lex_state = 646, .external_lex_state = 20},
  [196] = {.lex_state = 644, .external_lex_state = 29},
  [197] = {.lex_state = 655, .external_lex_state = 31},
  [198] = {.lex_state = 657, .external_lex_state = 30},
  [199] = {.lex_state = 549},
  [200] = {.lex_state = 646, .external_lex_state = 20},
  [201] = {.lex_state = 638, .external_lex_state = 22},
  [202] = {.lex_state = 633, .external_lex_state = 19},
  [203] = {.lex_state = 0},
  [204] = {.lex_state = 659, .external_lex_state = 31},
  [205] = {.lex_state = 655, .external_lex_state = 31},
  [206] = {.lex_state = 631, .external_lex_state = 2},
  [207] = {.lex_state = 661, .external_lex_state = 7},
  [208] = {.lex_state = 461, .external_lex_state = 2},
  [209] = {.lex_state = 467, .external_lex_state = 2},
  [210] = {.lex_state = 661, .external_lex_state = 7},
  [211] = {.lex_state = 663, .external_lex_state = 7},
  [212] = {.lex_state = 665, .external_lex_state = 7},
  [213] = {.lex_state = 585},
  [214] = {.lex_state = 585},
  [215] = {.lex_state = 458, .external_lex_state = 4},
  [216] = {.lex_state = 585},
  [217] = {.lex_state = 661, .external_lex_state = 7},
  [218] = {.lex_state = 661, .external_lex_state = 7},
  [219] = {.lex_state = 585},
  [220] = {.lex_state = 467, .external_lex_state = 2},
  [221] = {.lex_state = 458, .external_lex_state = 4},
  [222] = {.lex_state = 545},
  [223] = {.lex_state = 667, .external_lex_state = 8},
  [224] = {.lex_state = 669, .external_lex_state = 10},
  [225] = {.lex_state = 669, .external_lex_state = 10},
  [226] = {.lex_state = 669, .external_lex_state = 10},
  [227] = {.lex_state = 669, .external_lex_state = 10},
  [228] = {.lex_state = 467, .external_lex_state = 2},
  [229] = {.lex_state = 467, .external_lex_state = 2},
  [230] = {.lex_state = 467, .external_lex_state = 2},
  [231] = {.lex_state = 671, .external_lex_state = 10},
  [232] = {.lex_state = 671, .external_lex_state = 10},
  [233] = {.lex_state = 671, .external_lex_state = 10},
  [234] = {.lex_state = 0},
  [235] = {.lex_state = 673, .external_lex_state = 7},
  [236] = {.lex_state = 675, .external_lex_state = 7},
  [237] = {.lex_state = 677, .external_lex_state = 13},
  [238] = {.lex_state = 679, .external_lex_state = 4},
  [239] = {.lex_state = 681, .external_lex_state = 10},
  [240] = {.lex_state = 549},
  [241] = {.lex_state = 585},
  [242] = {.lex_state = 585},
  [243] = {.lex_state = 683, .external_lex_state = 4},
  [244] = {.lex_state = 570, .external_lex_state = 10},
  [245] = {.lex_state = 685, .external_lex_state = 32},
  [246] = {.lex_state = 687, .external_lex_state = 33},
  [247] = {.lex_state = 687, .external_lex_state = 33},
  [248] = {.lex_state = 687, .external_lex_state = 33},
  [249] = {.lex_state = 687, .external_lex_state = 33},
  [250] = {.lex_state = 461, .external_lex_state = 2},
  [251] = {.lex_state = 461, .external_lex_state = 2},
  [252] = {.lex_state = 461, .external_lex_state = 2},
  [253] = {.lex_state = 461, .external_lex_state = 2},
  [254] = {.lex_state = 461, .external_lex_state = 2},
  [255] = {.lex_state = 687, .external_lex_state = 33},
  [256] = {.lex_state = 488, .external_lex_state = 5},
  [257] = {.lex_state = 532, .external_lex_state = 6},
  [258] = {.lex_state = 543, .external_lex_state = 2},
  [259] = {.lex_state = 545},
  [260] = {.lex_state = 557, .external_lex_state = 9},
  [261] = {.lex_state = 557, .external_lex_state = 8},
  [262] = {.lex_state = 689, .external_lex_state = 34},
  [263] = {.lex_state = 689, .external_lex_state = 34},
  [264] = {.lex_state = 689, .external_lex_state = 34},
  [265] = {.lex_state = 689, .external_lex_state = 34},
  [266] = {.lex_state = 687, .external_lex_state = 33},
  [267] = {.lex_state = 687, .external_lex_state = 33},
  [268] = {.lex_state = 461, .external_lex_state = 2},
  [269] = {.lex_state = 461, .external_lex_state = 2},
  [270] = {.lex_state = 467, .external_lex_state = 2},
  [271] = {.lex_state = 467, .external_lex_state = 2},
  [272] = {.lex_state = 561, .external_lex_state = 8},
  [273] = {.lex_state = 563, .external_lex_state = 11},
  [274] = {.lex_state = 565, .external_lex_state = 11},
  [275] = {.lex_state = 691, .external_lex_state = 34},
  [276] = {.lex_state = 607, .external_lex_state = 33},
  [277] = {.lex_state = 607, .external_lex_state = 33},
  [278] = {.lex_state = 691, .external_lex_state = 34},
  [279] = {.lex_state = 691, .external_lex_state = 34},
  [280] = {.lex_state = 607, .external_lex_state = 33},
  [281] = {.lex_state = 693, .external_lex_state = 33},
  [282] = {.lex_state = 687, .external_lex_state = 33},
  [283] = {.lex_state = 583, .external_lex_state = 12},
  [284] = {.lex_state = 585},
  [285] = {.lex_state = 687, .external_lex_state = 33},
  [286] = {.lex_state = 607, .external_lex_state = 33},
  [287] = {.lex_state = 695, .external_lex_state = 34},
  [288] = {.lex_state = 607, .external_lex_state = 33},
  [289] = {.lex_state = 685, .external_lex_state = 32},
  [290] = {.lex_state = 467, .external_lex_state = 2},
  [291] = {.lex_state = 545},
  [292] = {.lex_state = 697, .external_lex_state = 35},
  [293] = {.lex_state = 687, .external_lex_state = 33},
  [294] = {.lex_state = 697, .external_lex_state = 35},
  [295] = {.lex_state = 689, .external_lex_state = 34},
  [296] = {.lex_state = 700, .external_lex_state = 35},
  [297] = {.lex_state = 700, .external_lex_state = 35},
  [298] = {.lex_state = 428, .external_lex_state = 36},
  [299] = {.lex_state = 461, .external_lex_state = 2},
  [300] = {.lex_state = 467, .external_lex_state = 2},
  [301] = {.lex_state = 467, .external_lex_state = 2},
  [302] = {.lex_state = 702, .external_lex_state = 12},
  [303] = {.lex_state = 467, .external_lex_state = 2},
  [304] = {.lex_state = 532, .external_lex_state = 21},
  [305] = {.lex_state = 545},
  [306] = {.lex_state = 467, .external_lex_state = 2},
  [307] = {.lex_state = 557, .external_lex_state = 23},
  [308] = {.lex_state = 557, .external_lex_state = 24},
  [309] = {.lex_state = 704, .external_lex_state = 37},
  [310] = {.lex_state = 704, .external_lex_state = 37},
  [311] = {.lex_state = 704, .external_lex_state = 37},
  [312] = {.lex_state = 704, .external_lex_state = 37},
  [313] = {.lex_state = 458, .external_lex_state = 38},
  [314] = {.lex_state = 458, .external_lex_state = 38},
  [315] = {.lex_state = 461, .external_lex_state = 27},
  [316] = {.lex_state = 461, .external_lex_state = 27},
  [317] = {.lex_state = 467, .external_lex_state = 27},
  [318] = {.lex_state = 467, .external_lex_state = 27},
  [319] = {.lex_state = 561, .external_lex_state = 24},
  [320] = {.lex_state = 563, .external_lex_state = 28},
  [321] = {.lex_state = 565, .external_lex_state = 28},
  [322] = {.lex_state = 467, .external_lex_state = 2},
  [323] = {.lex_state = 467, .external_lex_state = 2},
  [324] = {.lex_state = 467, .external_lex_state = 27},
  [325] = {.lex_state = 467, .external_lex_state = 2},
  [326] = {.lex_state = 706, .external_lex_state = 37},
  [327] = {.lex_state = 706, .external_lex_state = 10},
  [328] = {.lex_state = 708, .external_lex_state = 38},
  [329] = {.lex_state = 708, .external_lex_state = 38},
  [330] = {.lex_state = 706, .external_lex_state = 37},
  [331] = {.lex_state = 706, .external_lex_state = 37},
  [332] = {.lex_state = 708, .external_lex_state = 38},
  [333] = {.lex_state = 708, .external_lex_state = 4},
  [334] = {.lex_state = 708, .external_lex_state = 4},
  [335] = {.lex_state = 708, .external_lex_state = 4},
  [336] = {.lex_state = 710, .external_lex_state = 4},
  [337] = {.lex_state = 710, .external_lex_state = 4},
  [338] = {.lex_state = 708, .external_lex_state = 4},
  [339] = {.lex_state = 706, .external_lex_state = 10},
  [340] = {.lex_state = 458, .external_lex_state = 4},
  [341] = {.lex_state = 458, .external_lex_state = 4},
  [342] = {.lex_state = 603, .external_lex_state = 4},
  [343] = {.lex_state = 458, .external_lex_state = 4},
  [344] = {.lex_state = 458, .external_lex_state = 4},
  [345] = {.lex_state = 549},
  [346] = {.lex_state = 712, .external_lex_state = 4},
  [347] = {.lex_state = 638, .external_lex_state = 22},
  [348] = {.lex_state = 714, .external_lex_state = 36},
  [349] = {.lex_state = 458, .external_lex_state = 4},
  [350] = {.lex_state = 458, .external_lex_state = 4},
  [351] = {.lex_state = 458, .external_lex_state = 4},
  [352] = {.lex_state = 467, .external_lex_state = 2},
  [353] = {.lex_state = 716, .external_lex_state = 10},
  [354] = {.lex_state = 716, .external_lex_state = 10},
  [355] = {.lex_state = 716, .external_lex_state = 10},
  [356] = {.lex_state = 716, .external_lex_state = 10},
  [357] = {.lex_state = 467, .external_lex_state = 2},
  [358] = {.lex_state = 467, .external_lex_state = 2},
  [359] = {.lex_state = 467, .external_lex_state = 2},
  [360] = {.lex_state = 718, .external_lex_state = 7},
  [361] = {.lex_state = 720, .external_lex_state = 13},
  [362] = {.lex_state = 722, .external_lex_state = 10},
  [363] = {.lex_state = 549},
  [364] = {.lex_state = 724, .external_lex_state = 4},
  [365] = {.lex_state = 718, .external_lex_state = 7},
  [366] = {.lex_state = 467, .external_lex_state = 2},
  [367] = {.lex_state = 716, .external_lex_state = 10},
  [368] = {.lex_state = 716, .external_lex_state = 10},
  [369] = {.lex_state = 716, .external_lex_state = 10},
  [370] = {.lex_state = 716, .external_lex_state = 10},
  [371] = {.lex_state = 467, .external_lex_state = 2},
  [372] = {.lex_state = 467, .external_lex_state = 2},
  [373] = {.lex_state = 467, .external_lex_state = 2},
  [374] = {.lex_state = 726, .external_lex_state = 13},
  [375] = {.lex_state = 722, .external_lex_state = 10},
  [376] = {.lex_state = 549},
  [377] = {.lex_state = 728, .external_lex_state = 4},
  [378] = {.lex_state = 726, .external_lex_state = 13},
  [379] = {.lex_state = 543, .external_lex_state = 2},
  [380] = {.lex_state = 730, .external_lex_state = 8},
  [381] = {.lex_state = 732, .external_lex_state = 34},
  [382] = {.lex_state = 0},
  [383] = {.lex_state = 0},
  [384] = {.lex_state = 607, .external_lex_state = 33},
  [385] = {.lex_state = 734, .external_lex_state = 7},
  [386] = {.lex_state = 461, .external_lex_state = 2},
  [387] = {.lex_state = 734, .external_lex_state = 7},
  [388] = {.lex_state = 467, .external_lex_state = 2},
  [389] = {.lex_state = 716, .external_lex_state = 10},
  [390] = {.lex_state = 716, .external_lex_state = 10},
  [391] = {.lex_state = 716, .external_lex_state = 10},
  [392] = {.lex_state = 716, .external_lex_state = 10},
  [393] = {.lex_state = 467, .external_lex_state = 39},
  [394] = {.lex_state = 467, .external_lex_state = 2},
  [395] = {.lex_state = 467, .external_lex_state = 2},
  [396] = {.lex_state = 467, .external_lex_state = 2},
  [397] = {.lex_state = 0},
  [398] = {.lex_state = 736, .external_lex_state = 13},
  [399] = {.lex_state = 722, .external_lex_state = 10},
  [400] = {.lex_state = 549},
  [401] = {.lex_state = 738, .external_lex_state = 4},
  [402] = {.lex_state = 734, .external_lex_state = 7},
  [403] = {.lex_state = 734, .external_lex_state = 7},
  [404] = {.lex_state = 565, .external_lex_state = 2},
  [405] = {.lex_state = 461, .external_lex_state = 2},
  [406] = {.lex_state = 565, .external_lex_state = 2},
  [407] = {.lex_state = 467, .external_lex_state = 2},
  [408] = {.lex_state = 458, .external_lex_state = 4},
  [409] = {.lex_state = 565, .external_lex_state = 11},
  [410] = {.lex_state = 716, .external_lex_state = 10},
  [411] = {.lex_state = 716, .external_lex_state = 10},
  [412] = {.lex_state = 716, .external_lex_state = 10},
  [413] = {.lex_state = 716, .external_lex_state = 10},
  [414] = {.lex_state = 740, .external_lex_state = 40},
  [415] = {.lex_state = 743, .external_lex_state = 11},
  [416] = {.lex_state = 746, .external_lex_state = 2},
  [417] = {.lex_state = 467, .external_lex_state = 2},
  [418] = {.lex_state = 467, .external_lex_state = 2},
  [419] = {.lex_state = 467, .external_lex_state = 2},
  [420] = {.lex_state = 0},
  [421] = {.lex_state = 750, .external_lex_state = 7},
  [422] = {.lex_state = 755, .external_lex_state = 7},
  [423] = {.lex_state = 0},
  [424] = {.lex_state = 0},
  [425] = {.lex_state = 0},
  [426] = {.lex_state = 0},
  [427] = {.lex_state = 757, .external_lex_state = 13},
  [428] = {.lex_state = 722, .external_lex_state = 10},
  [429] = {.lex_state = 549},
  [430] = {.lex_state = 759, .external_lex_state = 4},
  [431] = {.lex_state = 565, .external_lex_state = 2},
  [432] = {.lex_state = 599, .external_lex_state = 13},
  [433] = {.lex_state = 599, .external_lex_state = 13},
  [434] = {.lex_state = 605, .external_lex_state = 13},
  [435] = {.lex_state = 545, .external_lex_state = 6},
  [436] = {.lex_state = 461, .external_lex_state = 2},
  [437] = {.lex_state = 545, .external_lex_state = 6},
  [438] = {.lex_state = 545, .external_lex_state = 6},
  [439] = {.lex_state = 761, .external_lex_state = 6},
  [440] = {.lex_state = 545, .external_lex_state = 6},
  [441] = {.lex_state = 763, .external_lex_state = 7},
  [442] = {.lex_state = 461, .external_lex_state = 2},
  [443] = {.lex_state = 763, .external_lex_state = 7},
  [444] = {.lex_state = 763, .external_lex_state = 7},
  [445] = {.lex_state = 765, .external_lex_state = 7},
  [446] = {.lex_state = 763, .external_lex_state = 7},
  [447] = {.lex_state = 458, .external_lex_state = 4},
  [448] = {.lex_state = 767, .external_lex_state = 41},
  [449] = {.lex_state = 769, .external_lex_state = 42},
  [450] = {.lex_state = 769, .external_lex_state = 42},
  [451] = {.lex_state = 769, .external_lex_state = 42},
  [452] = {.lex_state = 769, .external_lex_state = 42},
  [453] = {.lex_state = 461, .external_lex_state = 2},
  [454] = {.lex_state = 461, .external_lex_state = 2},
  [455] = {.lex_state = 461, .external_lex_state = 2},
  [456] = {.lex_state = 461, .external_lex_state = 2},
  [457] = {.lex_state = 461, .external_lex_state = 2},
  [458] = {.lex_state = 769, .external_lex_state = 42},
  [459] = {.lex_state = 467, .external_lex_state = 2},
  [460] = {.lex_state = 467, .external_lex_state = 2},
  [461] = {.lex_state = 467, .external_lex_state = 2},
  [462] = {.lex_state = 488, .external_lex_state = 5},
  [463] = {.lex_state = 532, .external_lex_state = 21},
  [464] = {.lex_state = 543, .external_lex_state = 2},
  [465] = {.lex_state = 545},
  [466] = {.lex_state = 467, .external_lex_state = 2},
  [467] = {.lex_state = 557, .external_lex_state = 23},
  [468] = {.lex_state = 557, .external_lex_state = 24},
  [469] = {.lex_state = 771, .external_lex_state = 43},
  [470] = {.lex_state = 771, .external_lex_state = 43},
  [471] = {.lex_state = 771, .external_lex_state = 43},
  [472] = {.lex_state = 771, .external_lex_state = 43},
  [473] = {.lex_state = 769, .external_lex_state = 44},
  [474] = {.lex_state = 769, .external_lex_state = 44},
  [475] = {.lex_state = 461, .external_lex_state = 27},
  [476] = {.lex_state = 461, .external_lex_state = 27},
  [477] = {.lex_state = 467, .external_lex_state = 27},
  [478] = {.lex_state = 467, .external_lex_state = 27},
  [479] = {.lex_state = 561, .external_lex_state = 24},
  [480] = {.lex_state = 563, .external_lex_state = 28},
  [481] = {.lex_state = 565, .external_lex_state = 28},
  [482] = {.lex_state = 458, .external_lex_state = 4},
  [483] = {.lex_state = 467, .external_lex_state = 2},
  [484] = {.lex_state = 467, .external_lex_state = 2},
  [485] = {.lex_state = 467, .external_lex_state = 27},
  [486] = {.lex_state = 467, .external_lex_state = 2},
  [487] = {.lex_state = 773, .external_lex_state = 43},
  [488] = {.lex_state = 775, .external_lex_state = 45},
  [489] = {.lex_state = 777, .external_lex_state = 44},
  [490] = {.lex_state = 777, .external_lex_state = 44},
  [491] = {.lex_state = 775, .external_lex_state = 43},
  [492] = {.lex_state = 775, .external_lex_state = 43},
  [493] = {.lex_state = 777, .external_lex_state = 44},
  [494] = {.lex_state = 779, .external_lex_state = 42},
  [495] = {.lex_state = 769, .external_lex_state = 42},
  [496] = {.lex_state = 777, .external_lex_state = 42},
  [497] = {.lex_state = 777, .external_lex_state = 42},
  [498] = {.lex_state = 777, .external_lex_state = 42},
  [499] = {.lex_state = 583, .external_lex_state = 12},
  [500] = {.lex_state = 585},
  [501] = {.lex_state = 781, .external_lex_state = 46},
  [502] = {.lex_state = 769, .external_lex_state = 42},
  [503] = {.lex_state = 777, .external_lex_state = 42},
  [504] = {.lex_state = 773, .external_lex_state = 45},
  [505] = {.lex_state = 783, .external_lex_state = 31},
  [506] = {.lex_state = 785, .external_lex_state = 31},
  [507] = {.lex_state = 787, .external_lex_state = 31},
  [508] = {.lex_state = 789, .external_lex_state = 46},
  [509] = {.lex_state = 549},
  [510] = {.lex_state = 791, .external_lex_state = 42},
  [511] = {.lex_state = 638, .external_lex_state = 22},
  [512] = {.lex_state = 793, .external_lex_state = 41},
  [513] = {.lex_state = 0},
  [514] = {.lex_state = 795, .external_lex_state = 2},
  [515] = {.lex_state = 797},
  [516] = {.lex_state = 585},
  [517] = {.lex_state = 585},
  [518] = {.lex_state = 797},
  [519] = {.lex_state = 800, .external_lex_state = 11},
  [520] = {.lex_state = 802, .external_lex_state = 22},
  [521] = {.lex_state = 0},
  [522] = {.lex_state = 0},
  [523] = {.lex_state = 804},
  [524] = {.lex_state = 458, .external_lex_state = 4},
  [525] = {.lex_state = 471},
  [526] = {.lex_state = 274, .external_lex_state = 2},
  [527] = {.lex_state = 461, .external_lex_state = 2},
  [528] = {.lex_state = 274, .external_lex_state = 2},
  [529] = {.lex_state = 274, .external_lex_state = 2},
  [530] = {.lex_state = 589, .external_lex_state = 7},
  [531] = {.lex_state = 467, .external_lex_state = 2},
  [532] = {.lex_state = 467, .external_lex_state = 2},
  [533] = {.lex_state = 467, .external_lex_state = 2},
  [534] = {.lex_state = 467, .external_lex_state = 2},
  [535] = {.lex_state = 467, .external_lex_state = 2},
  [536] = {.lex_state = 467, .external_lex_state = 2},
  [537] = {.lex_state = 467, .external_lex_state = 2},
  [538] = {.lex_state = 467, .external_lex_state = 2},
  [539] = {.lex_state = 467, .external_lex_state = 2},
  [540] = {.lex_state = 467, .external_lex_state = 2},
  [541] = {.lex_state = 467, .external_lex_state = 2},
  [542] = {.lex_state = 467, .external_lex_state = 2},
  [543] = {.lex_state = 467, .external_lex_state = 2},
  [544] = {.lex_state = 467, .external_lex_state = 2},
  [545] = {.lex_state = 467, .external_lex_state = 2},
  [546] = {.lex_state = 467, .external_lex_state = 2},
  [547] = {.lex_state = 467, .external_lex_state = 2},
  [548] = {.lex_state = 583, .external_lex_state = 12},
  [549] = {.lex_state = 545},
  [550] = {.lex_state = 806, .external_lex_state = 47},
  [551] = {.lex_state = 808, .external_lex_state = 36},
  [552] = {.lex_state = 708, .external_lex_state = 4},
  [553] = {.lex_state = 708, .external_lex_state = 4},
  [554] = {.lex_state = 708, .external_lex_state = 4},
  [555] = {.lex_state = 708, .external_lex_state = 4},
  [556] = {.lex_state = 461, .external_lex_state = 2},
  [557] = {.lex_state = 461, .external_lex_state = 2},
  [558] = {.lex_state = 461, .external_lex_state = 2},
  [559] = {.lex_state = 461, .external_lex_state = 2},
  [560] = {.lex_state = 461, .external_lex_state = 2},
  [561] = {.lex_state = 708, .external_lex_state = 4},
  [562] = {.lex_state = 467, .external_lex_state = 2},
  [563] = {.lex_state = 467, .external_lex_state = 2},
  [564] = {.lex_state = 702, .external_lex_state = 12},
  [565] = {.lex_state = 467, .external_lex_state = 2},
  [566] = {.lex_state = 810, .external_lex_state = 5},
  [567] = {.lex_state = 532, .external_lex_state = 21},
  [568] = {.lex_state = 543, .external_lex_state = 2},
  [569] = {.lex_state = 467, .external_lex_state = 2},
  [570] = {.lex_state = 557, .external_lex_state = 23},
  [571] = {.lex_state = 557, .external_lex_state = 24},
  [572] = {.lex_state = 706, .external_lex_state = 37},
  [573] = {.lex_state = 706, .external_lex_state = 37},
  [574] = {.lex_state = 706, .external_lex_state = 37},
  [575] = {.lex_state = 706, .external_lex_state = 37},
  [576] = {.lex_state = 708, .external_lex_state = 38},
  [577] = {.lex_state = 708, .external_lex_state = 38},
  [578] = {.lex_state = 461, .external_lex_state = 27},
  [579] = {.lex_state = 461, .external_lex_state = 27},
  [580] = {.lex_state = 467, .external_lex_state = 27},
  [581] = {.lex_state = 467, .external_lex_state = 27},
  [582] = {.lex_state = 561, .external_lex_state = 24},
  [583] = {.lex_state = 800, .external_lex_state = 28},
  [584] = {.lex_state = 563, .external_lex_state = 28},
  [585] = {.lex_state = 565, .external_lex_state = 28},
  [586] = {.lex_state = 467, .external_lex_state = 2},
  [587] = {.lex_state = 467, .external_lex_state = 2},
  [588] = {.lex_state = 467, .external_lex_state = 27},
  [589] = {.lex_state = 467, .external_lex_state = 2},
  [590] = {.lex_state = 706, .external_lex_state = 37},
  [591] = {.lex_state = 812, .external_lex_state = 4},
  [592] = {.lex_state = 708, .external_lex_state = 4},
  [593] = {.lex_state = 583, .external_lex_state = 12},
  [594] = {.lex_state = 585},
  [595] = {.lex_state = 814, .external_lex_state = 4},
  [596] = {.lex_state = 814, .external_lex_state = 4},
  [597] = {.lex_state = 706, .external_lex_state = 10},
  [598] = {.lex_state = 575, .external_lex_state = 4},
  [599] = {.lex_state = 575, .external_lex_state = 4},
  [600] = {.lex_state = 816, .external_lex_state = 4},
  [601] = {.lex_state = 575, .external_lex_state = 4},
  [602] = {.lex_state = 575, .external_lex_state = 4},
  [603] = {.lex_state = 708, .external_lex_state = 4},
  [604] = {.lex_state = 549},
  [605] = {.lex_state = 814, .external_lex_state = 4},
  [606] = {.lex_state = 638, .external_lex_state = 22},
  [607] = {.lex_state = 818, .external_lex_state = 36},
  [608] = {.lex_state = 467, .external_lex_state = 39},
  [609] = {.lex_state = 820, .external_lex_state = 8},
  [610] = {.lex_state = 467, .external_lex_state = 2},
  [611] = {.lex_state = 428, .external_lex_state = 3},
  [612] = {.lex_state = 428, .external_lex_state = 3},
  [613] = {.lex_state = 617, .external_lex_state = 16},
  [614] = {.lex_state = 461, .external_lex_state = 2},
  [615] = {.lex_state = 617, .external_lex_state = 16},
  [616] = {.lex_state = 461, .external_lex_state = 2},
  [617] = {.lex_state = 617, .external_lex_state = 16},
  [618] = {.lex_state = 461, .external_lex_state = 2},
  [619] = {.lex_state = 617, .external_lex_state = 16},
  [620] = {.lex_state = 461, .external_lex_state = 2},
  [621] = {.lex_state = 617, .external_lex_state = 16},
  [622] = {.lex_state = 461, .external_lex_state = 2},
  [623] = {.lex_state = 627, .external_lex_state = 18},
  [624] = {.lex_state = 615, .external_lex_state = 15},
  [625] = {.lex_state = 0},
  [626] = {.lex_state = 659, .external_lex_state = 31},
  [627] = {.lex_state = 467, .external_lex_state = 2},
  [628] = {.lex_state = 615, .external_lex_state = 15},
  [629] = {.lex_state = 585},
  [630] = {.lex_state = 661, .external_lex_state = 7},
  [631] = {.lex_state = 615, .external_lex_state = 15},
  [632] = {.lex_state = 0},
  [633] = {.lex_state = 621, .external_lex_state = 17},
  [634] = {.lex_state = 467, .external_lex_state = 2},
  [635] = {.lex_state = 697, .external_lex_state = 35},
  [636] = {.lex_state = 697, .external_lex_state = 35},
  [637] = {.lex_state = 700, .external_lex_state = 35},
  [638] = {.lex_state = 700, .external_lex_state = 35},
  [639] = {.lex_state = 822, .external_lex_state = 48},
  [640] = {.lex_state = 824, .external_lex_state = 49},
  [641] = {.lex_state = 824, .external_lex_state = 49},
  [642] = {.lex_state = 824, .external_lex_state = 49},
  [643] = {.lex_state = 824, .external_lex_state = 49},
  [644] = {.lex_state = 461, .external_lex_state = 2},
  [645] = {.lex_state = 461, .external_lex_state = 2},
  [646] = {.lex_state = 461, .external_lex_state = 2},
  [647] = {.lex_state = 461, .external_lex_state = 2},
  [648] = {.lex_state = 461, .external_lex_state = 2},
  [649] = {.lex_state = 824, .external_lex_state = 49},
  [650] = {.lex_state = 467, .external_lex_state = 2},
  [651] = {.lex_state = 467, .external_lex_state = 2},
  [652] = {.lex_state = 702, .external_lex_state = 12},
  [653] = {.lex_state = 467, .external_lex_state = 2},
  [654] = {.lex_state = 488, .external_lex_state = 5},
  [655] = {.lex_state = 532, .external_lex_state = 21},
  [656] = {.lex_state = 543, .external_lex_state = 2},
  [657] = {.lex_state = 545},
  [658] = {.lex_state = 467, .external_lex_state = 2},
  [659] = {.lex_state = 557, .external_lex_state = 23},
  [660] = {.lex_state = 557, .external_lex_state = 24},
  [661] = {.lex_state = 826, .external_lex_state = 50},
  [662] = {.lex_state = 826, .external_lex_state = 50},
  [663] = {.lex_state = 826, .external_lex_state = 50},
  [664] = {.lex_state = 826, .external_lex_state = 50},
  [665] = {.lex_state = 824, .external_lex_state = 51},
  [666] = {.lex_state = 824, .external_lex_state = 51},
  [667] = {.lex_state = 461, .external_lex_state = 27},
  [668] = {.lex_state = 461, .external_lex_state = 27},
  [669] = {.lex_state = 467, .external_lex_state = 27},
  [670] = {.lex_state = 467, .external_lex_state = 27},
  [671] = {.lex_state = 561, .external_lex_state = 24},
  [672] = {.lex_state = 563, .external_lex_state = 28},
  [673] = {.lex_state = 565, .external_lex_state = 28},
  [674] = {.lex_state = 467, .external_lex_state = 2},
  [675] = {.lex_state = 467, .external_lex_state = 2},
  [676] = {.lex_state = 467, .external_lex_state = 27},
  [677] = {.lex_state = 467, .external_lex_state = 2},
  [678] = {.lex_state = 644, .external_lex_state = 50},
  [679] = {.lex_state = 644, .external_lex_state = 52},
  [680] = {.lex_state = 828, .external_lex_state = 51},
  [681] = {.lex_state = 828, .external_lex_state = 51},
  [682] = {.lex_state = 644, .external_lex_state = 50},
  [683] = {.lex_state = 644, .external_lex_state = 50},
  [684] = {.lex_state = 828, .external_lex_state = 51},
  [685] = {.lex_state = 830, .external_lex_state = 49},
  [686] = {.lex_state = 824, .external_lex_state = 49},
  [687] = {.lex_state = 828, .external_lex_state = 49},
  [688] = {.lex_state = 828, .external_lex_state = 49},
  [689] = {.lex_state = 828, .external_lex_state = 49},
  [690] = {.lex_state = 583, .external_lex_state = 12},
  [691] = {.lex_state = 585},
  [692] = {.lex_state = 824, .external_lex_state = 49},
  [693] = {.lex_state = 824, .external_lex_state = 49},
  [694] = {.lex_state = 828, .external_lex_state = 49},
  [695] = {.lex_state = 644, .external_lex_state = 52},
  [696] = {.lex_state = 615, .external_lex_state = 15},
  [697] = {.lex_state = 824, .external_lex_state = 49},
  [698] = {.lex_state = 615, .external_lex_state = 49},
  [699] = {.lex_state = 824, .external_lex_state = 49},
  [700] = {.lex_state = 824, .external_lex_state = 49},
  [701] = {.lex_state = 549},
  [702] = {.lex_state = 832, .external_lex_state = 49},
  [703] = {.lex_state = 638, .external_lex_state = 22},
  [704] = {.lex_state = 822, .external_lex_state = 48},
  [705] = {.lex_state = 615, .external_lex_state = 15},
  [706] = {.lex_state = 615, .external_lex_state = 15},
  [707] = {.lex_state = 615, .external_lex_state = 15},
  [708] = {.lex_state = 718, .external_lex_state = 7},
  [709] = {.lex_state = 718, .external_lex_state = 7},
  [710] = {.lex_state = 726, .external_lex_state = 13},
  [711] = {.lex_state = 726, .external_lex_state = 13},
  [712] = {.lex_state = 0},
  [713] = {.lex_state = 0},
  [714] = {.lex_state = 736, .external_lex_state = 13},
  [715] = {.lex_state = 734, .external_lex_state = 7},
  [716] = {.lex_state = 615, .external_lex_state = 15},
  [717] = {.lex_state = 0},
  [718] = {.lex_state = 565, .external_lex_state = 2},
  [719] = {.lex_state = 627, .external_lex_state = 18},
  [720] = {.lex_state = 627, .external_lex_state = 18},
  [721] = {.lex_state = 629, .external_lex_state = 18},
  [722] = {.lex_state = 545, .external_lex_state = 6},
  [723] = {.lex_state = 834, .external_lex_state = 16},
  [724] = {.lex_state = 461, .external_lex_state = 2},
  [725] = {.lex_state = 834, .external_lex_state = 16},
  [726] = {.lex_state = 834, .external_lex_state = 16},
  [727] = {.lex_state = 836, .external_lex_state = 16},
  [728] = {.lex_state = 834, .external_lex_state = 16},
  [729] = {.lex_state = 615, .external_lex_state = 15},
  [730] = {.lex_state = 615, .external_lex_state = 15},
  [731] = {.lex_state = 783, .external_lex_state = 31},
  [732] = {.lex_state = 0},
  [733] = {.lex_state = 795, .external_lex_state = 2},
  [734] = {.lex_state = 800, .external_lex_state = 11},
  [735] = {.lex_state = 0},
  [736] = {.lex_state = 615, .external_lex_state = 15},
  [737] = {.lex_state = 461, .external_lex_state = 2},
  [738] = {.lex_state = 428, .external_lex_state = 3},
  [739] = {.lex_state = 467, .external_lex_state = 2},
  [740] = {.lex_state = 467, .external_lex_state = 2},
  [741] = {.lex_state = 467, .external_lex_state = 2},
  [742] = {.lex_state = 467, .external_lex_state = 2},
  [743] = {.lex_state = 467, .external_lex_state = 2},
  [744] = {.lex_state = 467, .external_lex_state = 2},
  [745] = {.lex_state = 467, .external_lex_state = 2},
  [746] = {.lex_state = 467, .external_lex_state = 2},
  [747] = {.lex_state = 467, .external_lex_state = 2},
  [748] = {.lex_state = 467, .external_lex_state = 2},
  [749] = {.lex_state = 467, .external_lex_state = 2},
  [750] = {.lex_state = 467, .external_lex_state = 2},
  [751] = {.lex_state = 467, .external_lex_state = 2},
  [752] = {.lex_state = 467, .external_lex_state = 2},
  [753] = {.lex_state = 467, .external_lex_state = 2},
  [754] = {.lex_state = 467, .external_lex_state = 2},
  [755] = {.lex_state = 467, .external_lex_state = 2},
  [756] = {.lex_state = 583, .external_lex_state = 12},
  [757] = {.lex_state = 545},
  [758] = {.lex_state = 806, .external_lex_state = 47},
  [759] = {.lex_state = 838, .external_lex_state = 48},
  [760] = {.lex_state = 828, .external_lex_state = 49},
  [761] = {.lex_state = 828, .external_lex_state = 49},
  [762] = {.lex_state = 828, .external_lex_state = 49},
  [763] = {.lex_state = 828, .external_lex_state = 49},
  [764] = {.lex_state = 461, .external_lex_state = 2},
  [765] = {.lex_state = 461, .external_lex_state = 2},
  [766] = {.lex_state = 461, .external_lex_state = 2},
  [767] = {.lex_state = 461, .external_lex_state = 2},
  [768] = {.lex_state = 461, .external_lex_state = 2},
  [769] = {.lex_state = 828, .external_lex_state = 49},
  [770] = {.lex_state = 467, .external_lex_state = 2},
  [771] = {.lex_state = 467, .external_lex_state = 2},
  [772] = {.lex_state = 702, .external_lex_state = 12},
  [773] = {.lex_state = 467, .external_lex_state = 2},
  [774] = {.lex_state = 810, .external_lex_state = 5},
  [775] = {.lex_state = 532, .external_lex_state = 21},
  [776] = {.lex_state = 543, .external_lex_state = 2},
  [777] = {.lex_state = 467, .external_lex_state = 2},
  [778] = {.lex_state = 557, .external_lex_state = 23},
  [779] = {.lex_state = 557, .external_lex_state = 24},
  [780] = {.lex_state = 644, .external_lex_state = 50},
  [781] = {.lex_state = 644, .external_lex_state = 50},
  [782] = {.lex_state = 644, .external_lex_state = 50},
  [783] = {.lex_state = 644, .external_lex_state = 50},
  [784] = {.lex_state = 828, .external_lex_state = 51},
  [785] = {.lex_state = 828, .external_lex_state = 51},
  [786] = {.lex_state = 461, .external_lex_state = 27},
  [787] = {.lex_state = 461, .external_lex_state = 27},
  [788] = {.lex_state = 467, .external_lex_state = 27},
  [789] = {.lex_state = 467, .external_lex_state = 27},
  [790] = {.lex_state = 561, .external_lex_state = 24},
  [791] = {.lex_state = 800, .external_lex_state = 28},
  [792] = {.lex_state = 563, .external_lex_state = 28},
  [793] = {.lex_state = 565, .external_lex_state = 28},
  [794] = {.lex_state = 467, .external_lex_state = 2},
  [795] = {.lex_state = 467, .external_lex_state = 2},
  [796] = {.lex_state = 467, .external_lex_state = 27},
  [797] = {.lex_state = 467, .external_lex_state = 2},
  [798] = {.lex_state = 644, .external_lex_state = 50},
  [799] = {.lex_state = 840, .external_lex_state = 49},
  [800] = {.lex_state = 828, .external_lex_state = 49},
  [801] = {.lex_state = 583, .external_lex_state = 12},
  [802] = {.lex_state = 585},
  [803] = {.lex_state = 828, .external_lex_state = 49},
  [804] = {.lex_state = 828, .external_lex_state = 49},
  [805] = {.lex_state = 644, .external_lex_state = 52},
  [806] = {.lex_state = 842, .external_lex_state = 15},
  [807] = {.lex_state = 842, .external_lex_state = 49},
  [808] = {.lex_state = 842, .external_lex_state = 49},
  [809] = {.lex_state = 842, .external_lex_state = 49},
  [810] = {.lex_state = 623, .external_lex_state = 15},
  [811] = {.lex_state = 828, .external_lex_state = 49},
  [812] = {.lex_state = 549},
  [813] = {.lex_state = 828, .external_lex_state = 49},
  [814] = {.lex_state = 638, .external_lex_state = 22},
  [815] = {.lex_state = 838, .external_lex_state = 48},
  [816] = {.lex_state = 467, .external_lex_state = 39},
  [817] = {.lex_state = 467, .external_lex_state = 2},
  [818] = {.lex_state = 613, .external_lex_state = 14},
  [819] = {.lex_state = 613, .external_lex_state = 14},
  [820] = {.lex_state = 617, .external_lex_state = 16},
  [821] = {.lex_state = 458, .external_lex_state = 4},
  [822] = {.lex_state = 617, .external_lex_state = 16},
  [823] = {.lex_state = 458, .external_lex_state = 4},
  [824] = {.lex_state = 617, .external_lex_state = 16},
  [825] = {.lex_state = 458, .external_lex_state = 4},
  [826] = {.lex_state = 617, .external_lex_state = 16},
  [827] = {.lex_state = 458, .external_lex_state = 4},
  [828] = {.lex_state = 617, .external_lex_state = 16},
  [829] = {.lex_state = 467, .external_lex_state = 2},
  [830] = {.lex_state = 591, .external_lex_state = 7},
  [831] = {.lex_state = 844, .external_lex_state = 10},
  [832] = {.lex_state = 844, .external_lex_state = 10},
  [833] = {.lex_state = 844, .external_lex_state = 10},
  [834] = {.lex_state = 844, .external_lex_state = 10},
  [835] = {.lex_state = 467, .external_lex_state = 2},
  [836] = {.lex_state = 467, .external_lex_state = 2},
  [837] = {.lex_state = 467, .external_lex_state = 2},
  [838] = {.lex_state = 0},
  [839] = {.lex_state = 846, .external_lex_state = 7},
  [840] = {.lex_state = 848, .external_lex_state = 7},
  [841] = {.lex_state = 850, .external_lex_state = 13},
  [842] = {.lex_state = 852, .external_lex_state = 10},
  [843] = {.lex_state = 549},
  [844] = {.lex_state = 854, .external_lex_state = 4},
  [845] = {.lex_state = 617, .external_lex_state = 16},
  [846] = {.lex_state = 461, .external_lex_state = 2},
  [847] = {.lex_state = 617, .external_lex_state = 16},
  [848] = {.lex_state = 461, .external_lex_state = 2},
  [849] = {.lex_state = 617, .external_lex_state = 16},
  [850] = {.lex_state = 461, .external_lex_state = 2},
  [851] = {.lex_state = 617, .external_lex_state = 16},
  [852] = {.lex_state = 461, .external_lex_state = 2},
  [853] = {.lex_state = 617, .external_lex_state = 16},
  [854] = {.lex_state = 461, .external_lex_state = 2},
  [855] = {.lex_state = 613, .external_lex_state = 53},
  [856] = {.lex_state = 615, .external_lex_state = 54},
  [857] = {.lex_state = 615, .external_lex_state = 54},
  [858] = {.lex_state = 615, .external_lex_state = 54},
  [859] = {.lex_state = 615, .external_lex_state = 54},
  [860] = {.lex_state = 461, .external_lex_state = 2},
  [861] = {.lex_state = 461, .external_lex_state = 2},
  [862] = {.lex_state = 461, .external_lex_state = 2},
  [863] = {.lex_state = 461, .external_lex_state = 2},
  [864] = {.lex_state = 461, .external_lex_state = 2},
  [865] = {.lex_state = 615, .external_lex_state = 54},
  [866] = {.lex_state = 467, .external_lex_state = 2},
  [867] = {.lex_state = 488, .external_lex_state = 5},
  [868] = {.lex_state = 532, .external_lex_state = 6},
  [869] = {.lex_state = 543, .external_lex_state = 2},
  [870] = {.lex_state = 545},
  [871] = {.lex_state = 617, .external_lex_state = 55},
  [872] = {.lex_state = 557, .external_lex_state = 9},
  [873] = {.lex_state = 557, .external_lex_state = 8},
  [874] = {.lex_state = 619, .external_lex_state = 56},
  [875] = {.lex_state = 619, .external_lex_state = 56},
  [876] = {.lex_state = 619, .external_lex_state = 56},
  [877] = {.lex_state = 619, .external_lex_state = 56},
  [878] = {.lex_state = 615, .external_lex_state = 54},
  [879] = {.lex_state = 615, .external_lex_state = 54},
  [880] = {.lex_state = 461, .external_lex_state = 2},
  [881] = {.lex_state = 461, .external_lex_state = 2},
  [882] = {.lex_state = 467, .external_lex_state = 2},
  [883] = {.lex_state = 467, .external_lex_state = 2},
  [884] = {.lex_state = 561, .external_lex_state = 8},
  [885] = {.lex_state = 563, .external_lex_state = 11},
  [886] = {.lex_state = 565, .external_lex_state = 11},
  [887] = {.lex_state = 467, .external_lex_state = 2},
  [888] = {.lex_state = 467, .external_lex_state = 2},
  [889] = {.lex_state = 467, .external_lex_state = 2},
  [890] = {.lex_state = 621, .external_lex_state = 56},
  [891] = {.lex_state = 545, .external_lex_state = 6},
  [892] = {.lex_state = 623, .external_lex_state = 54},
  [893] = {.lex_state = 623, .external_lex_state = 54},
  [894] = {.lex_state = 621, .external_lex_state = 56},
  [895] = {.lex_state = 621, .external_lex_state = 56},
  [896] = {.lex_state = 623, .external_lex_state = 54},
  [897] = {.lex_state = 545, .external_lex_state = 6},
  [898] = {.lex_state = 625, .external_lex_state = 54},
  [899] = {.lex_state = 615, .external_lex_state = 54},
  [900] = {.lex_state = 583, .external_lex_state = 12},
  [901] = {.lex_state = 585},
  [902] = {.lex_state = 617, .external_lex_state = 55},
  [903] = {.lex_state = 617, .external_lex_state = 55},
  [904] = {.lex_state = 627, .external_lex_state = 57},
  [905] = {.lex_state = 615, .external_lex_state = 54},
  [906] = {.lex_state = 623, .external_lex_state = 54},
  [907] = {.lex_state = 621, .external_lex_state = 56},
  [908] = {.lex_state = 629, .external_lex_state = 57},
  [909] = {.lex_state = 549},
  [910] = {.lex_state = 623, .external_lex_state = 54},
  [911] = {.lex_state = 613, .external_lex_state = 53},
  [912] = {.lex_state = 461, .external_lex_state = 2},
  [913] = {.lex_state = 856, .external_lex_state = 58},
  [914] = {.lex_state = 461, .external_lex_state = 2},
  [915] = {.lex_state = 532, .external_lex_state = 6},
  [916] = {.lex_state = 557, .external_lex_state = 9},
  [917] = {.lex_state = 557, .external_lex_state = 8},
  [918] = {.lex_state = 826, .external_lex_state = 29},
  [919] = {.lex_state = 826, .external_lex_state = 29},
  [920] = {.lex_state = 826, .external_lex_state = 29},
  [921] = {.lex_state = 826, .external_lex_state = 29},
  [922] = {.lex_state = 635, .external_lex_state = 20},
  [923] = {.lex_state = 635, .external_lex_state = 20},
  [924] = {.lex_state = 461, .external_lex_state = 2},
  [925] = {.lex_state = 461, .external_lex_state = 2},
  [926] = {.lex_state = 467, .external_lex_state = 2},
  [927] = {.lex_state = 467, .external_lex_state = 2},
  [928] = {.lex_state = 561, .external_lex_state = 8},
  [929] = {.lex_state = 563, .external_lex_state = 11},
  [930] = {.lex_state = 565, .external_lex_state = 11},
  [931] = {.lex_state = 644, .external_lex_state = 29},
  [932] = {.lex_state = 644, .external_lex_state = 29},
  [933] = {.lex_state = 651, .external_lex_state = 30},
  [934] = {.lex_state = 856, .external_lex_state = 58},
  [935] = {.lex_state = 635, .external_lex_state = 20},
  [936] = {.lex_state = 0},
  [937] = {.lex_state = 659, .external_lex_state = 31},
  [938] = {.lex_state = 467, .external_lex_state = 2},
  [939] = {.lex_state = 635, .external_lex_state = 20},
  [940] = {.lex_state = 585},
  [941] = {.lex_state = 661, .external_lex_state = 7},
  [942] = {.lex_state = 635, .external_lex_state = 20},
  [943] = {.lex_state = 0},
  [944] = {.lex_state = 644, .external_lex_state = 29},
  [945] = {.lex_state = 767, .external_lex_state = 59},
  [946] = {.lex_state = 461, .external_lex_state = 2},
  [947] = {.lex_state = 467, .external_lex_state = 2},
  [948] = {.lex_state = 532, .external_lex_state = 6},
  [949] = {.lex_state = 545},
  [950] = {.lex_state = 557, .external_lex_state = 9},
  [951] = {.lex_state = 557, .external_lex_state = 8},
  [952] = {.lex_state = 858, .external_lex_state = 45},
  [953] = {.lex_state = 858, .external_lex_state = 45},
  [954] = {.lex_state = 858, .external_lex_state = 45},
  [955] = {.lex_state = 858, .external_lex_state = 45},
  [956] = {.lex_state = 769, .external_lex_state = 42},
  [957] = {.lex_state = 769, .external_lex_state = 42},
  [958] = {.lex_state = 461, .external_lex_state = 2},
  [959] = {.lex_state = 461, .external_lex_state = 2},
  [960] = {.lex_state = 467, .external_lex_state = 2},
  [961] = {.lex_state = 467, .external_lex_state = 2},
  [962] = {.lex_state = 561, .external_lex_state = 8},
  [963] = {.lex_state = 563, .external_lex_state = 11},
  [964] = {.lex_state = 565, .external_lex_state = 11},
  [965] = {.lex_state = 467, .external_lex_state = 2},
  [966] = {.lex_state = 467, .external_lex_state = 2},
  [967] = {.lex_state = 467, .external_lex_state = 2},
  [968] = {.lex_state = 860, .external_lex_state = 45},
  [969] = {.lex_state = 862, .external_lex_state = 42},
  [970] = {.lex_state = 862, .external_lex_state = 42},
  [971] = {.lex_state = 860, .external_lex_state = 45},
  [972] = {.lex_state = 860, .external_lex_state = 45},
  [973] = {.lex_state = 862, .external_lex_state = 42},
  [974] = {.lex_state = 864, .external_lex_state = 46},
  [975] = {.lex_state = 866, .external_lex_state = 42},
  [976] = {.lex_state = 862, .external_lex_state = 42},
  [977] = {.lex_state = 868, .external_lex_state = 45},
  [978] = {.lex_state = 549},
  [979] = {.lex_state = 870, .external_lex_state = 42},
  [980] = {.lex_state = 767, .external_lex_state = 59},
  [981] = {.lex_state = 467, .external_lex_state = 2},
  [982] = {.lex_state = 697, .external_lex_state = 35},
  [983] = {.lex_state = 697, .external_lex_state = 35},
  [984] = {.lex_state = 700, .external_lex_state = 35},
  [985] = {.lex_state = 700, .external_lex_state = 35},
  [986] = {.lex_state = 467, .external_lex_state = 2},
  [987] = {.lex_state = 467, .external_lex_state = 2},
  [988] = {.lex_state = 702, .external_lex_state = 12},
  [989] = {.lex_state = 467, .external_lex_state = 2},
  [990] = {.lex_state = 467, .external_lex_state = 2},
  [991] = {.lex_state = 826, .external_lex_state = 43},
  [992] = {.lex_state = 826, .external_lex_state = 43},
  [993] = {.lex_state = 826, .external_lex_state = 43},
  [994] = {.lex_state = 826, .external_lex_state = 43},
  [995] = {.lex_state = 467, .external_lex_state = 2},
  [996] = {.lex_state = 467, .external_lex_state = 2},
  [997] = {.lex_state = 467, .external_lex_state = 27},
  [998] = {.lex_state = 467, .external_lex_state = 2},
  [999] = {.lex_state = 644, .external_lex_state = 43},
  [1000] = {.lex_state = 653, .external_lex_state = 42},
  [1001] = {.lex_state = 644, .external_lex_state = 45},
  [1002] = {.lex_state = 635, .external_lex_state = 20},
  [1003] = {.lex_state = 769, .external_lex_state = 42},
  [1004] = {.lex_state = 653, .external_lex_state = 42},
  [1005] = {.lex_state = 769, .external_lex_state = 42},
  [1006] = {.lex_state = 769, .external_lex_state = 42},
  [1007] = {.lex_state = 549},
  [1008] = {.lex_state = 646, .external_lex_state = 42},
  [1009] = {.lex_state = 638, .external_lex_state = 22},
  [1010] = {.lex_state = 872, .external_lex_state = 41},
  [1011] = {.lex_state = 635, .external_lex_state = 20},
  [1012] = {.lex_state = 635, .external_lex_state = 20},
  [1013] = {.lex_state = 635, .external_lex_state = 20},
  [1014] = {.lex_state = 718, .external_lex_state = 7},
  [1015] = {.lex_state = 718, .external_lex_state = 7},
  [1016] = {.lex_state = 726, .external_lex_state = 13},
  [1017] = {.lex_state = 726, .external_lex_state = 13},
  [1018] = {.lex_state = 0},
  [1019] = {.lex_state = 0},
  [1020] = {.lex_state = 736, .external_lex_state = 13},
  [1021] = {.lex_state = 734, .external_lex_state = 7},
  [1022] = {.lex_state = 635, .external_lex_state = 20},
  [1023] = {.lex_state = 0},
  [1024] = {.lex_state = 565, .external_lex_state = 2},
  [1025] = {.lex_state = 651, .external_lex_state = 30},
  [1026] = {.lex_state = 651, .external_lex_state = 30},
  [1027] = {.lex_state = 657, .external_lex_state = 30},
  [1028] = {.lex_state = 467, .external_lex_state = 2},
  [1029] = {.lex_state = 635, .external_lex_state = 20},
  [1030] = {.lex_state = 635, .external_lex_state = 20},
  [1031] = {.lex_state = 783, .external_lex_state = 31},
  [1032] = {.lex_state = 0},
  [1033] = {.lex_state = 795, .external_lex_state = 2},
  [1034] = {.lex_state = 800, .external_lex_state = 11},
  [1035] = {.lex_state = 0},
  [1036] = {.lex_state = 635, .external_lex_state = 20},
  [1037] = {.lex_state = 467, .external_lex_state = 2},
  [1038] = {.lex_state = 467, .external_lex_state = 2},
  [1039] = {.lex_state = 467, .external_lex_state = 2},
  [1040] = {.lex_state = 467, .external_lex_state = 2},
  [1041] = {.lex_state = 467, .external_lex_state = 2},
  [1042] = {.lex_state = 467, .external_lex_state = 2},
  [1043] = {.lex_state = 467, .external_lex_state = 2},
  [1044] = {.lex_state = 467, .external_lex_state = 2},
  [1045] = {.lex_state = 467, .external_lex_state = 2},
  [1046] = {.lex_state = 467, .external_lex_state = 2},
  [1047] = {.lex_state = 467, .external_lex_state = 2},
  [1048] = {.lex_state = 467, .external_lex_state = 2},
  [1049] = {.lex_state = 583, .external_lex_state = 12},
  [1050] = {.lex_state = 545},
  [1051] = {.lex_state = 806, .external_lex_state = 47},
  [1052] = {.lex_state = 874, .external_lex_state = 41},
  [1053] = {.lex_state = 777, .external_lex_state = 42},
  [1054] = {.lex_state = 777, .external_lex_state = 42},
  [1055] = {.lex_state = 777, .external_lex_state = 42},
  [1056] = {.lex_state = 777, .external_lex_state = 42},
  [1057] = {.lex_state = 461, .external_lex_state = 2},
  [1058] = {.lex_state = 461, .external_lex_state = 2},
  [1059] = {.lex_state = 461, .external_lex_state = 2},
  [1060] = {.lex_state = 461, .external_lex_state = 2},
  [1061] = {.lex_state = 461, .external_lex_state = 2},
  [1062] = {.lex_state = 777, .external_lex_state = 42},
  [1063] = {.lex_state = 467, .external_lex_state = 2},
  [1064] = {.lex_state = 467, .external_lex_state = 2},
  [1065] = {.lex_state = 702, .external_lex_state = 12},
  [1066] = {.lex_state = 467, .external_lex_state = 2},
  [1067] = {.lex_state = 810, .external_lex_state = 5},
  [1068] = {.lex_state = 532, .external_lex_state = 21},
  [1069] = {.lex_state = 543, .external_lex_state = 2},
  [1070] = {.lex_state = 467, .external_lex_state = 2},
  [1071] = {.lex_state = 557, .external_lex_state = 23},
  [1072] = {.lex_state = 557, .external_lex_state = 24},
  [1073] = {.lex_state = 644, .external_lex_state = 43},
  [1074] = {.lex_state = 644, .external_lex_state = 43},
  [1075] = {.lex_state = 644, .external_lex_state = 43},
  [1076] = {.lex_state = 644, .external_lex_state = 43},
  [1077] = {.lex_state = 777, .external_lex_state = 44},
  [1078] = {.lex_state = 777, .external_lex_state = 44},
  [1079] = {.lex_state = 461, .external_lex_state = 27},
  [1080] = {.lex_state = 461, .external_lex_state = 27},
  [1081] = {.lex_state = 467, .external_lex_state = 27},
  [1082] = {.lex_state = 467, .external_lex_state = 27},
  [1083] = {.lex_state = 561, .external_lex_state = 24},
  [1084] = {.lex_state = 800, .external_lex_state = 28},
  [1085] = {.lex_state = 563, .external_lex_state = 28},
  [1086] = {.lex_state = 565, .external_lex_state = 28},
  [1087] = {.lex_state = 467, .external_lex_state = 2},
  [1088] = {.lex_state = 467, .external_lex_state = 2},
  [1089] = {.lex_state = 467, .external_lex_state = 27},
  [1090] = {.lex_state = 467, .external_lex_state = 2},
  [1091] = {.lex_state = 644, .external_lex_state = 43},
  [1092] = {.lex_state = 876, .external_lex_state = 42},
  [1093] = {.lex_state = 777, .external_lex_state = 42},
  [1094] = {.lex_state = 583, .external_lex_state = 12},
  [1095] = {.lex_state = 585},
  [1096] = {.lex_state = 878, .external_lex_state = 42},
  [1097] = {.lex_state = 777, .external_lex_state = 42},
  [1098] = {.lex_state = 644, .external_lex_state = 45},
  [1099] = {.lex_state = 878, .external_lex_state = 20},
  [1100] = {.lex_state = 777, .external_lex_state = 42},
  [1101] = {.lex_state = 878, .external_lex_state = 42},
  [1102] = {.lex_state = 777, .external_lex_state = 42},
  [1103] = {.lex_state = 646, .external_lex_state = 20},
  [1104] = {.lex_state = 777, .external_lex_state = 42},
  [1105] = {.lex_state = 549},
  [1106] = {.lex_state = 878, .external_lex_state = 42},
  [1107] = {.lex_state = 638, .external_lex_state = 22},
  [1108] = {.lex_state = 880, .external_lex_state = 41},
  [1109] = {.lex_state = 467, .external_lex_state = 39},
  [1110] = {.lex_state = 467, .external_lex_state = 2},
  [1111] = {.lex_state = 467, .external_lex_state = 2},
  [1112] = {.lex_state = 856, .external_lex_state = 58},
  [1113] = {.lex_state = 856, .external_lex_state = 58},
  [1114] = {.lex_state = 458, .external_lex_state = 4},
  [1115] = {.lex_state = 0},
  [1116] = {.lex_state = 488, .external_lex_state = 5},
  [1117] = {.lex_state = 591, .external_lex_state = 7},
  [1118] = {.lex_state = 0},
  [1119] = {.lex_state = 617, .external_lex_state = 16},
  [1120] = {.lex_state = 461, .external_lex_state = 2},
  [1121] = {.lex_state = 467, .external_lex_state = 2},
  [1122] = {.lex_state = 545},
  [1123] = {.lex_state = 882, .external_lex_state = 29},
  [1124] = {.lex_state = 882, .external_lex_state = 29},
  [1125] = {.lex_state = 882, .external_lex_state = 29},
  [1126] = {.lex_state = 882, .external_lex_state = 29},
  [1127] = {.lex_state = 467, .external_lex_state = 2},
  [1128] = {.lex_state = 467, .external_lex_state = 2},
  [1129] = {.lex_state = 467, .external_lex_state = 2},
  [1130] = {.lex_state = 884, .external_lex_state = 29},
  [1131] = {.lex_state = 886, .external_lex_state = 20},
  [1132] = {.lex_state = 886, .external_lex_state = 20},
  [1133] = {.lex_state = 884, .external_lex_state = 29},
  [1134] = {.lex_state = 884, .external_lex_state = 29},
  [1135] = {.lex_state = 886, .external_lex_state = 20},
  [1136] = {.lex_state = 888, .external_lex_state = 30},
  [1137] = {.lex_state = 890, .external_lex_state = 20},
  [1138] = {.lex_state = 886, .external_lex_state = 20},
  [1139] = {.lex_state = 892, .external_lex_state = 29},
  [1140] = {.lex_state = 549},
  [1141] = {.lex_state = 894, .external_lex_state = 20},
  [1142] = {.lex_state = 661, .external_lex_state = 7},
  [1143] = {.lex_state = 545, .external_lex_state = 6},
  [1144] = {.lex_state = 797},
  [1145] = {.lex_state = 896, .external_lex_state = 7},
  [1146] = {.lex_state = 896, .external_lex_state = 7},
  [1147] = {.lex_state = 797},
  [1148] = {.lex_state = 898, .external_lex_state = 60},
  [1149] = {.lex_state = 565, .external_lex_state = 2},
  [1150] = {.lex_state = 900, .external_lex_state = 7},
  [1151] = {.lex_state = 900, .external_lex_state = 7},
  [1152] = {.lex_state = 677, .external_lex_state = 13},
  [1153] = {.lex_state = 671, .external_lex_state = 10},
  [1154] = {.lex_state = 691, .external_lex_state = 34},
  [1155] = {.lex_state = 467, .external_lex_state = 2},
  [1156] = {.lex_state = 467, .external_lex_state = 2},
  [1157] = {.lex_state = 467, .external_lex_state = 2},
  [1158] = {.lex_state = 545},
  [1159] = {.lex_state = 467, .external_lex_state = 2},
  [1160] = {.lex_state = 902, .external_lex_state = 37},
  [1161] = {.lex_state = 902, .external_lex_state = 37},
  [1162] = {.lex_state = 902, .external_lex_state = 37},
  [1163] = {.lex_state = 902, .external_lex_state = 37},
  [1164] = {.lex_state = 467, .external_lex_state = 2},
  [1165] = {.lex_state = 467, .external_lex_state = 2},
  [1166] = {.lex_state = 467, .external_lex_state = 27},
  [1167] = {.lex_state = 467, .external_lex_state = 2},
  [1168] = {.lex_state = 904, .external_lex_state = 37},
  [1169] = {.lex_state = 906, .external_lex_state = 10},
  [1170] = {.lex_state = 906, .external_lex_state = 37},
  [1171] = {.lex_state = 906, .external_lex_state = 37},
  [1172] = {.lex_state = 908, .external_lex_state = 4},
  [1173] = {.lex_state = 910, .external_lex_state = 4},
  [1174] = {.lex_state = 904, .external_lex_state = 10},
  [1175] = {.lex_state = 912, .external_lex_state = 4},
  [1176] = {.lex_state = 549},
  [1177] = {.lex_state = 914, .external_lex_state = 4},
  [1178] = {.lex_state = 638, .external_lex_state = 22},
  [1179] = {.lex_state = 916, .external_lex_state = 36},
  [1180] = {.lex_state = 677, .external_lex_state = 13},
  [1181] = {.lex_state = 677, .external_lex_state = 13},
  [1182] = {.lex_state = 458, .external_lex_state = 4},
  [1183] = {.lex_state = 918, .external_lex_state = 2},
  [1184] = {.lex_state = 461, .external_lex_state = 2},
  [1185] = {.lex_state = 918, .external_lex_state = 2},
  [1186] = {.lex_state = 543, .external_lex_state = 2},
  [1187] = {.lex_state = 673, .external_lex_state = 7},
  [1188] = {.lex_state = 467, .external_lex_state = 2},
  [1189] = {.lex_state = 467, .external_lex_state = 2},
  [1190] = {.lex_state = 467, .external_lex_state = 2},
  [1191] = {.lex_state = 467, .external_lex_state = 2},
  [1192] = {.lex_state = 467, .external_lex_state = 2},
  [1193] = {.lex_state = 467, .external_lex_state = 2},
  [1194] = {.lex_state = 467, .external_lex_state = 2},
  [1195] = {.lex_state = 467, .external_lex_state = 2},
  [1196] = {.lex_state = 467, .external_lex_state = 2},
  [1197] = {.lex_state = 467, .external_lex_state = 2},
  [1198] = {.lex_state = 467, .external_lex_state = 2},
  [1199] = {.lex_state = 467, .external_lex_state = 2},
  [1200] = {.lex_state = 467, .external_lex_state = 2},
  [1201] = {.lex_state = 467, .external_lex_state = 2},
  [1202] = {.lex_state = 467, .external_lex_state = 2},
  [1203] = {.lex_state = 467, .external_lex_state = 2},
  [1204] = {.lex_state = 467, .external_lex_state = 2},
  [1205] = {.lex_state = 545},
  [1206] = {.lex_state = 806, .external_lex_state = 47},
  [1207] = {.lex_state = 467, .external_lex_state = 2},
  [1208] = {.lex_state = 467, .external_lex_state = 2},
  [1209] = {.lex_state = 467, .external_lex_state = 2},
  [1210] = {.lex_state = 467, .external_lex_state = 2},
  [1211] = {.lex_state = 904, .external_lex_state = 37},
  [1212] = {.lex_state = 904, .external_lex_state = 37},
  [1213] = {.lex_state = 904, .external_lex_state = 37},
  [1214] = {.lex_state = 904, .external_lex_state = 37},
  [1215] = {.lex_state = 467, .external_lex_state = 2},
  [1216] = {.lex_state = 467, .external_lex_state = 2},
  [1217] = {.lex_state = 467, .external_lex_state = 27},
  [1218] = {.lex_state = 467, .external_lex_state = 2},
  [1219] = {.lex_state = 904, .external_lex_state = 37},
  [1220] = {.lex_state = 920, .external_lex_state = 4},
  [1221] = {.lex_state = 922, .external_lex_state = 4},
  [1222] = {.lex_state = 904, .external_lex_state = 10},
  [1223] = {.lex_state = 924, .external_lex_state = 4},
  [1224] = {.lex_state = 549},
  [1225] = {.lex_state = 920, .external_lex_state = 4},
  [1226] = {.lex_state = 638, .external_lex_state = 22},
  [1227] = {.lex_state = 926, .external_lex_state = 36},
  [1228] = {.lex_state = 467, .external_lex_state = 39},
  [1229] = {.lex_state = 607},
  [1230] = {.lex_state = 928, .external_lex_state = 8},
  [1231] = {.lex_state = 467, .external_lex_state = 2},
  [1232] = {.lex_state = 617, .external_lex_state = 16},
  [1233] = {.lex_state = 461, .external_lex_state = 2},
  [1234] = {.lex_state = 617, .external_lex_state = 16},
  [1235] = {.lex_state = 461, .external_lex_state = 2},
  [1236] = {.lex_state = 617, .external_lex_state = 16},
  [1237] = {.lex_state = 461, .external_lex_state = 2},
  [1238] = {.lex_state = 617, .external_lex_state = 16},
  [1239] = {.lex_state = 461, .external_lex_state = 2},
  [1240] = {.lex_state = 617, .external_lex_state = 16},
  [1241] = {.lex_state = 461, .external_lex_state = 2},
  [1242] = {.lex_state = 687, .external_lex_state = 33},
  [1243] = {.lex_state = 0},
  [1244] = {.lex_state = 659, .external_lex_state = 31},
  [1245] = {.lex_state = 467, .external_lex_state = 2},
  [1246] = {.lex_state = 687, .external_lex_state = 33},
  [1247] = {.lex_state = 585},
  [1248] = {.lex_state = 661, .external_lex_state = 7},
  [1249] = {.lex_state = 687, .external_lex_state = 33},
  [1250] = {.lex_state = 0},
  [1251] = {.lex_state = 691, .external_lex_state = 34},
  [1252] = {.lex_state = 467, .external_lex_state = 2},
  [1253] = {.lex_state = 697, .external_lex_state = 35},
  [1254] = {.lex_state = 697, .external_lex_state = 35},
  [1255] = {.lex_state = 700, .external_lex_state = 35},
  [1256] = {.lex_state = 700, .external_lex_state = 35},
  [1257] = {.lex_state = 467, .external_lex_state = 2},
  [1258] = {.lex_state = 467, .external_lex_state = 2},
  [1259] = {.lex_state = 702, .external_lex_state = 12},
  [1260] = {.lex_state = 467, .external_lex_state = 2},
  [1261] = {.lex_state = 644, .external_lex_state = 43},
  [1262] = {.lex_state = 653, .external_lex_state = 42},
  [1263] = {.lex_state = 687, .external_lex_state = 33},
  [1264] = {.lex_state = 930, .external_lex_state = 61},
  [1265] = {.lex_state = 932, .external_lex_state = 61},
  [1266] = {.lex_state = 930, .external_lex_state = 61},
  [1267] = {.lex_state = 638, .external_lex_state = 22},
  [1268] = {.lex_state = 872, .external_lex_state = 41},
  [1269] = {.lex_state = 687, .external_lex_state = 33},
  [1270] = {.lex_state = 687, .external_lex_state = 33},
  [1271] = {.lex_state = 687, .external_lex_state = 33},
  [1272] = {.lex_state = 718, .external_lex_state = 7},
  [1273] = {.lex_state = 718, .external_lex_state = 7},
  [1274] = {.lex_state = 726, .external_lex_state = 13},
  [1275] = {.lex_state = 726, .external_lex_state = 13},
  [1276] = {.lex_state = 0},
  [1277] = {.lex_state = 0},
  [1278] = {.lex_state = 736, .external_lex_state = 13},
  [1279] = {.lex_state = 734, .external_lex_state = 7},
  [1280] = {.lex_state = 687, .external_lex_state = 33},
  [1281] = {.lex_state = 0},
  [1282] = {.lex_state = 565, .external_lex_state = 2},
  [1283] = {.lex_state = 687, .external_lex_state = 33},
  [1284] = {.lex_state = 687, .external_lex_state = 33},
  [1285] = {.lex_state = 783, .external_lex_state = 31},
  [1286] = {.lex_state = 0},
  [1287] = {.lex_state = 795, .external_lex_state = 2},
  [1288] = {.lex_state = 800, .external_lex_state = 11},
  [1289] = {.lex_state = 0},
  [1290] = {.lex_state = 687, .external_lex_state = 33},
  [1291] = {.lex_state = 583, .external_lex_state = 12},
  [1292] = {.lex_state = 545},
  [1293] = {.lex_state = 806, .external_lex_state = 47},
  [1294] = {.lex_state = 467, .external_lex_state = 2},
  [1295] = {.lex_state = 467, .external_lex_state = 2},
  [1296] = {.lex_state = 467, .external_lex_state = 2},
  [1297] = {.lex_state = 810, .external_lex_state = 5},
  [1298] = {.lex_state = 467, .external_lex_state = 2},
  [1299] = {.lex_state = 934, .external_lex_state = 43},
  [1300] = {.lex_state = 934, .external_lex_state = 43},
  [1301] = {.lex_state = 934, .external_lex_state = 43},
  [1302] = {.lex_state = 934, .external_lex_state = 43},
  [1303] = {.lex_state = 800, .external_lex_state = 28},
  [1304] = {.lex_state = 467, .external_lex_state = 2},
  [1305] = {.lex_state = 467, .external_lex_state = 2},
  [1306] = {.lex_state = 467, .external_lex_state = 27},
  [1307] = {.lex_state = 467, .external_lex_state = 2},
  [1308] = {.lex_state = 644, .external_lex_state = 43},
  [1309] = {.lex_state = 936, .external_lex_state = 42},
  [1310] = {.lex_state = 930, .external_lex_state = 33},
  [1311] = {.lex_state = 938, .external_lex_state = 61},
  [1312] = {.lex_state = 607, .external_lex_state = 33},
  [1313] = {.lex_state = 549},
  [1314] = {.lex_state = 878, .external_lex_state = 42},
  [1315] = {.lex_state = 638, .external_lex_state = 22},
  [1316] = {.lex_state = 940, .external_lex_state = 41},
  [1317] = {.lex_state = 685, .external_lex_state = 32},
  [1318] = {.lex_state = 685, .external_lex_state = 32},
  [1319] = {.lex_state = 467, .external_lex_state = 2},
  [1320] = {.lex_state = 716, .external_lex_state = 10},
  [1321] = {.lex_state = 716, .external_lex_state = 10},
  [1322] = {.lex_state = 716, .external_lex_state = 10},
  [1323] = {.lex_state = 716, .external_lex_state = 10},
  [1324] = {.lex_state = 467, .external_lex_state = 2},
  [1325] = {.lex_state = 467, .external_lex_state = 2},
  [1326] = {.lex_state = 467, .external_lex_state = 2},
  [1327] = {.lex_state = 942, .external_lex_state = 13},
  [1328] = {.lex_state = 722, .external_lex_state = 10},
  [1329] = {.lex_state = 549},
  [1330] = {.lex_state = 944, .external_lex_state = 4},
  [1331] = {.lex_state = 697, .external_lex_state = 35},
  [1332] = {.lex_state = 467, .external_lex_state = 2},
  [1333] = {.lex_state = 946, .external_lex_state = 7},
  [1334] = {.lex_state = 565, .external_lex_state = 2},
  [1335] = {.lex_state = 545},
  [1336] = {.lex_state = 467, .external_lex_state = 2},
  [1337] = {.lex_state = 467, .external_lex_state = 2},
  [1338] = {.lex_state = 467, .external_lex_state = 2},
  [1339] = {.lex_state = 467, .external_lex_state = 2},
  [1340] = {.lex_state = 826, .external_lex_state = 43},
  [1341] = {.lex_state = 826, .external_lex_state = 43},
  [1342] = {.lex_state = 826, .external_lex_state = 43},
  [1343] = {.lex_state = 826, .external_lex_state = 43},
  [1344] = {.lex_state = 467, .external_lex_state = 2},
  [1345] = {.lex_state = 467, .external_lex_state = 2},
  [1346] = {.lex_state = 467, .external_lex_state = 27},
  [1347] = {.lex_state = 467, .external_lex_state = 2},
  [1348] = {.lex_state = 644, .external_lex_state = 43},
  [1349] = {.lex_state = 948, .external_lex_state = 42},
  [1350] = {.lex_state = 950, .external_lex_state = 61},
  [1351] = {.lex_state = 549},
  [1352] = {.lex_state = 878, .external_lex_state = 42},
  [1353] = {.lex_state = 638, .external_lex_state = 22},
  [1354] = {.lex_state = 952, .external_lex_state = 41},
  [1355] = {.lex_state = 458, .external_lex_state = 4},
  [1356] = {.lex_state = 565, .external_lex_state = 2},
  [1357] = {.lex_state = 458, .external_lex_state = 38},
  [1358] = {.lex_state = 617, .external_lex_state = 16},
  [1359] = {.lex_state = 461, .external_lex_state = 2},
  [1360] = {.lex_state = 467, .external_lex_state = 2},
  [1361] = {.lex_state = 467, .external_lex_state = 2},
  [1362] = {.lex_state = 467, .external_lex_state = 2},
  [1363] = {.lex_state = 467, .external_lex_state = 2},
  [1364] = {.lex_state = 603, .external_lex_state = 4},
  [1365] = {.lex_state = 549},
  [1366] = {.lex_state = 611, .external_lex_state = 4},
  [1367] = {.lex_state = 603, .external_lex_state = 4},
  [1368] = {.lex_state = 467, .external_lex_state = 2},
  [1369] = {.lex_state = 467, .external_lex_state = 2},
  [1370] = {.lex_state = 467, .external_lex_state = 2},
  [1371] = {.lex_state = 458, .external_lex_state = 4},
  [1372] = {.lex_state = 467, .external_lex_state = 2},
  [1373] = {.lex_state = 954, .external_lex_state = 43},
  [1374] = {.lex_state = 954, .external_lex_state = 43},
  [1375] = {.lex_state = 954, .external_lex_state = 43},
  [1376] = {.lex_state = 954, .external_lex_state = 43},
  [1377] = {.lex_state = 467, .external_lex_state = 2},
  [1378] = {.lex_state = 467, .external_lex_state = 2},
  [1379] = {.lex_state = 467, .external_lex_state = 27},
  [1380] = {.lex_state = 467, .external_lex_state = 2},
  [1381] = {.lex_state = 956, .external_lex_state = 43},
  [1382] = {.lex_state = 958, .external_lex_state = 46},
  [1383] = {.lex_state = 956, .external_lex_state = 45},
  [1384] = {.lex_state = 960, .external_lex_state = 31},
  [1385] = {.lex_state = 962, .external_lex_state = 31},
  [1386] = {.lex_state = 549},
  [1387] = {.lex_state = 964, .external_lex_state = 42},
  [1388] = {.lex_state = 638, .external_lex_state = 22},
  [1389] = {.lex_state = 966, .external_lex_state = 41},
  [1390] = {.lex_state = 0},
  [1391] = {.lex_state = 704, .external_lex_state = 10},
  [1392] = {.lex_state = 704, .external_lex_state = 10},
  [1393] = {.lex_state = 704, .external_lex_state = 10},
  [1394] = {.lex_state = 704, .external_lex_state = 10},
  [1395] = {.lex_state = 706, .external_lex_state = 10},
  [1396] = {.lex_state = 706, .external_lex_state = 10},
  [1397] = {.lex_state = 710, .external_lex_state = 4},
  [1398] = {.lex_state = 706, .external_lex_state = 10},
  [1399] = {.lex_state = 603, .external_lex_state = 4},
  [1400] = {.lex_state = 467, .external_lex_state = 2},
  [1401] = {.lex_state = 467, .external_lex_state = 2},
  [1402] = {.lex_state = 467, .external_lex_state = 2},
  [1403] = {.lex_state = 706, .external_lex_state = 37},
  [1404] = {.lex_state = 710, .external_lex_state = 4},
  [1405] = {.lex_state = 710, .external_lex_state = 4},
  [1406] = {.lex_state = 638, .external_lex_state = 22},
  [1407] = {.lex_state = 714, .external_lex_state = 36},
  [1408] = {.lex_state = 710, .external_lex_state = 4},
  [1409] = {.lex_state = 710, .external_lex_state = 4},
  [1410] = {.lex_state = 458, .external_lex_state = 4},
  [1411] = {.lex_state = 467, .external_lex_state = 2},
  [1412] = {.lex_state = 467, .external_lex_state = 2},
  [1413] = {.lex_state = 467, .external_lex_state = 2},
  [1414] = {.lex_state = 467, .external_lex_state = 2},
  [1415] = {.lex_state = 467, .external_lex_state = 2},
  [1416] = {.lex_state = 467, .external_lex_state = 2},
  [1417] = {.lex_state = 467, .external_lex_state = 2},
  [1418] = {.lex_state = 467, .external_lex_state = 2},
  [1419] = {.lex_state = 467, .external_lex_state = 2},
  [1420] = {.lex_state = 467, .external_lex_state = 2},
  [1421] = {.lex_state = 467, .external_lex_state = 2},
  [1422] = {.lex_state = 467, .external_lex_state = 2},
  [1423] = {.lex_state = 467, .external_lex_state = 2},
  [1424] = {.lex_state = 583, .external_lex_state = 12},
  [1425] = {.lex_state = 545},
  [1426] = {.lex_state = 806, .external_lex_state = 47},
  [1427] = {.lex_state = 467, .external_lex_state = 2},
  [1428] = {.lex_state = 467, .external_lex_state = 2},
  [1429] = {.lex_state = 702, .external_lex_state = 12},
  [1430] = {.lex_state = 810, .external_lex_state = 5},
  [1431] = {.lex_state = 467, .external_lex_state = 2},
  [1432] = {.lex_state = 800, .external_lex_state = 28},
  [1433] = {.lex_state = 706, .external_lex_state = 37},
  [1434] = {.lex_state = 814, .external_lex_state = 4},
  [1435] = {.lex_state = 708, .external_lex_state = 4},
  [1436] = {.lex_state = 708, .external_lex_state = 4},
  [1437] = {.lex_state = 814, .external_lex_state = 4},
  [1438] = {.lex_state = 708, .external_lex_state = 4},
  [1439] = {.lex_state = 708, .external_lex_state = 4},
  [1440] = {.lex_state = 638, .external_lex_state = 22},
  [1441] = {.lex_state = 818, .external_lex_state = 36},
  [1442] = {.lex_state = 458, .external_lex_state = 4},
  [1443] = {.lex_state = 461, .external_lex_state = 2},
  [1444] = {.lex_state = 458, .external_lex_state = 4},
  [1445] = {.lex_state = 458, .external_lex_state = 4},
  [1446] = {.lex_state = 968, .external_lex_state = 12},
  [1447] = {.lex_state = 603, .external_lex_state = 4},
  [1448] = {.lex_state = 467, .external_lex_state = 39},
  [1449] = {.lex_state = 467, .external_lex_state = 2},
  [1450] = {.lex_state = 467, .external_lex_state = 2},
  [1451] = {.lex_state = 720, .external_lex_state = 13},
  [1452] = {.lex_state = 467, .external_lex_state = 2},
  [1453] = {.lex_state = 467, .external_lex_state = 2},
  [1454] = {.lex_state = 467, .external_lex_state = 2},
  [1455] = {.lex_state = 467, .external_lex_state = 2},
  [1456] = {.lex_state = 970, .external_lex_state = 37},
  [1457] = {.lex_state = 970, .external_lex_state = 37},
  [1458] = {.lex_state = 970, .external_lex_state = 37},
  [1459] = {.lex_state = 970, .external_lex_state = 37},
  [1460] = {.lex_state = 467, .external_lex_state = 2},
  [1461] = {.lex_state = 467, .external_lex_state = 2},
  [1462] = {.lex_state = 467, .external_lex_state = 27},
  [1463] = {.lex_state = 467, .external_lex_state = 2},
  [1464] = {.lex_state = 972, .external_lex_state = 37},
  [1465] = {.lex_state = 974, .external_lex_state = 4},
  [1466] = {.lex_state = 972, .external_lex_state = 10},
  [1467] = {.lex_state = 976, .external_lex_state = 4},
  [1468] = {.lex_state = 549},
  [1469] = {.lex_state = 978, .external_lex_state = 4},
  [1470] = {.lex_state = 638, .external_lex_state = 22},
  [1471] = {.lex_state = 980, .external_lex_state = 36},
  [1472] = {.lex_state = 720, .external_lex_state = 13},
  [1473] = {.lex_state = 720, .external_lex_state = 13},
  [1474] = {.lex_state = 982, .external_lex_state = 11},
  [1475] = {.lex_state = 461, .external_lex_state = 2},
  [1476] = {.lex_state = 982, .external_lex_state = 11},
  [1477] = {.lex_state = 467, .external_lex_state = 2},
  [1478] = {.lex_state = 467, .external_lex_state = 2},
  [1479] = {.lex_state = 467, .external_lex_state = 2},
  [1480] = {.lex_state = 467, .external_lex_state = 2},
  [1481] = {.lex_state = 467, .external_lex_state = 2},
  [1482] = {.lex_state = 985, .external_lex_state = 11},
  [1483] = {.lex_state = 985, .external_lex_state = 11},
  [1484] = {.lex_state = 982, .external_lex_state = 11},
  [1485] = {.lex_state = 467, .external_lex_state = 2},
  [1486] = {.lex_state = 467, .external_lex_state = 2},
  [1487] = {.lex_state = 467, .external_lex_state = 2},
  [1488] = {.lex_state = 467, .external_lex_state = 2},
  [1489] = {.lex_state = 467, .external_lex_state = 2},
  [1490] = {.lex_state = 467, .external_lex_state = 2},
  [1491] = {.lex_state = 467, .external_lex_state = 2},
  [1492] = {.lex_state = 467, .external_lex_state = 2},
  [1493] = {.lex_state = 467, .external_lex_state = 2},
  [1494] = {.lex_state = 467, .external_lex_state = 2},
  [1495] = {.lex_state = 467, .external_lex_state = 2},
  [1496] = {.lex_state = 467, .external_lex_state = 2},
  [1497] = {.lex_state = 467, .external_lex_state = 2},
  [1498] = {.lex_state = 467, .external_lex_state = 2},
  [1499] = {.lex_state = 467, .external_lex_state = 2},
  [1500] = {.lex_state = 467, .external_lex_state = 2},
  [1501] = {.lex_state = 972, .external_lex_state = 37},
  [1502] = {.lex_state = 972, .external_lex_state = 37},
  [1503] = {.lex_state = 972, .external_lex_state = 37},
  [1504] = {.lex_state = 972, .external_lex_state = 37},
  [1505] = {.lex_state = 467, .external_lex_state = 2},
  [1506] = {.lex_state = 467, .external_lex_state = 2},
  [1507] = {.lex_state = 467, .external_lex_state = 27},
  [1508] = {.lex_state = 467, .external_lex_state = 2},
  [1509] = {.lex_state = 972, .external_lex_state = 37},
  [1510] = {.lex_state = 987, .external_lex_state = 4},
  [1511] = {.lex_state = 972, .external_lex_state = 10},
  [1512] = {.lex_state = 989, .external_lex_state = 4},
  [1513] = {.lex_state = 549},
  [1514] = {.lex_state = 987, .external_lex_state = 4},
  [1515] = {.lex_state = 638, .external_lex_state = 22},
  [1516] = {.lex_state = 991, .external_lex_state = 36},
  [1517] = {.lex_state = 467, .external_lex_state = 39},
  [1518] = {.lex_state = 467, .external_lex_state = 2},
  [1519] = {.lex_state = 993, .external_lex_state = 2},
  [1520] = {.lex_state = 461, .external_lex_state = 2},
  [1521] = {.lex_state = 993, .external_lex_state = 2},
  [1522] = {.lex_state = 996, .external_lex_state = 2},
  [1523] = {.lex_state = 996, .external_lex_state = 2},
  [1524] = {.lex_state = 993, .external_lex_state = 2},
  [1525] = {.lex_state = 726, .external_lex_state = 13},
  [1526] = {.lex_state = 467, .external_lex_state = 2},
  [1527] = {.lex_state = 467, .external_lex_state = 2},
  [1528] = {.lex_state = 467, .external_lex_state = 2},
  [1529] = {.lex_state = 467, .external_lex_state = 2},
  [1530] = {.lex_state = 970, .external_lex_state = 37},
  [1531] = {.lex_state = 970, .external_lex_state = 37},
  [1532] = {.lex_state = 970, .external_lex_state = 37},
  [1533] = {.lex_state = 970, .external_lex_state = 37},
  [1534] = {.lex_state = 467, .external_lex_state = 2},
  [1535] = {.lex_state = 467, .external_lex_state = 2},
  [1536] = {.lex_state = 467, .external_lex_state = 27},
  [1537] = {.lex_state = 467, .external_lex_state = 2},
  [1538] = {.lex_state = 972, .external_lex_state = 37},
  [1539] = {.lex_state = 998, .external_lex_state = 4},
  [1540] = {.lex_state = 972, .external_lex_state = 10},
  [1541] = {.lex_state = 1000, .external_lex_state = 4},
  [1542] = {.lex_state = 549},
  [1543] = {.lex_state = 1002, .external_lex_state = 4},
  [1544] = {.lex_state = 638, .external_lex_state = 22},
  [1545] = {.lex_state = 1004, .external_lex_state = 36},
  [1546] = {.lex_state = 726, .external_lex_state = 13},
  [1547] = {.lex_state = 726, .external_lex_state = 13},
  [1548] = {.lex_state = 746, .external_lex_state = 2},
  [1549] = {.lex_state = 461, .external_lex_state = 2},
  [1550] = {.lex_state = 746, .external_lex_state = 2},
  [1551] = {.lex_state = 467, .external_lex_state = 2},
  [1552] = {.lex_state = 467, .external_lex_state = 2},
  [1553] = {.lex_state = 467, .external_lex_state = 2},
  [1554] = {.lex_state = 467, .external_lex_state = 2},
  [1555] = {.lex_state = 467, .external_lex_state = 2},
  [1556] = {.lex_state = 467, .external_lex_state = 2},
  [1557] = {.lex_state = 746, .external_lex_state = 2},
  [1558] = {.lex_state = 467, .external_lex_state = 2},
  [1559] = {.lex_state = 467, .external_lex_state = 2},
  [1560] = {.lex_state = 467, .external_lex_state = 2},
  [1561] = {.lex_state = 467, .external_lex_state = 2},
  [1562] = {.lex_state = 467, .external_lex_state = 2},
  [1563] = {.lex_state = 467, .external_lex_state = 2},
  [1564] = {.lex_state = 746, .external_lex_state = 2},
  [1565] = {.lex_state = 467, .external_lex_state = 2},
  [1566] = {.lex_state = 467, .external_lex_state = 2},
  [1567] = {.lex_state = 467, .external_lex_state = 2},
  [1568] = {.lex_state = 467, .external_lex_state = 2},
  [1569] = {.lex_state = 972, .external_lex_state = 37},
  [1570] = {.lex_state = 972, .external_lex_state = 37},
  [1571] = {.lex_state = 972, .external_lex_state = 37},
  [1572] = {.lex_state = 972, .external_lex_state = 37},
  [1573] = {.lex_state = 467, .external_lex_state = 2},
  [1574] = {.lex_state = 467, .external_lex_state = 2},
  [1575] = {.lex_state = 467, .external_lex_state = 27},
  [1576] = {.lex_state = 467, .external_lex_state = 2},
  [1577] = {.lex_state = 972, .external_lex_state = 37},
  [1578] = {.lex_state = 1006, .external_lex_state = 4},
  [1579] = {.lex_state = 575, .external_lex_state = 4},
  [1580] = {.lex_state = 1008, .external_lex_state = 4},
  [1581] = {.lex_state = 549},
  [1582] = {.lex_state = 1006, .external_lex_state = 4},
  [1583] = {.lex_state = 638, .external_lex_state = 22},
  [1584] = {.lex_state = 1010, .external_lex_state = 36},
  [1585] = {.lex_state = 467, .external_lex_state = 39},
  [1586] = {.lex_state = 467, .external_lex_state = 2},
  [1587] = {.lex_state = 746, .external_lex_state = 2},
  [1588] = {.lex_state = 467, .external_lex_state = 2},
  [1589] = {.lex_state = 467, .external_lex_state = 2},
  [1590] = {.lex_state = 467, .external_lex_state = 2},
  [1591] = {.lex_state = 467, .external_lex_state = 2},
  [1592] = {.lex_state = 826, .external_lex_state = 43},
  [1593] = {.lex_state = 826, .external_lex_state = 43},
  [1594] = {.lex_state = 826, .external_lex_state = 43},
  [1595] = {.lex_state = 826, .external_lex_state = 43},
  [1596] = {.lex_state = 467, .external_lex_state = 2},
  [1597] = {.lex_state = 467, .external_lex_state = 2},
  [1598] = {.lex_state = 467, .external_lex_state = 27},
  [1599] = {.lex_state = 467, .external_lex_state = 2},
  [1600] = {.lex_state = 644, .external_lex_state = 43},
  [1601] = {.lex_state = 1012, .external_lex_state = 42},
  [1602] = {.lex_state = 644, .external_lex_state = 45},
  [1603] = {.lex_state = 1014, .external_lex_state = 61},
  [1604] = {.lex_state = 549},
  [1605] = {.lex_state = 1016, .external_lex_state = 42},
  [1606] = {.lex_state = 638, .external_lex_state = 22},
  [1607] = {.lex_state = 1018, .external_lex_state = 41},
  [1608] = {.lex_state = 467, .external_lex_state = 2},
  [1609] = {.lex_state = 1020, .external_lex_state = 7},
  [1610] = {.lex_state = 1022, .external_lex_state = 8},
  [1611] = {.lex_state = 617, .external_lex_state = 55},
  [1612] = {.lex_state = 461, .external_lex_state = 2},
  [1613] = {.lex_state = 736, .external_lex_state = 13},
  [1614] = {.lex_state = 467, .external_lex_state = 2},
  [1615] = {.lex_state = 467, .external_lex_state = 2},
  [1616] = {.lex_state = 467, .external_lex_state = 2},
  [1617] = {.lex_state = 467, .external_lex_state = 2},
  [1618] = {.lex_state = 970, .external_lex_state = 37},
  [1619] = {.lex_state = 970, .external_lex_state = 37},
  [1620] = {.lex_state = 970, .external_lex_state = 37},
  [1621] = {.lex_state = 970, .external_lex_state = 37},
  [1622] = {.lex_state = 467, .external_lex_state = 2},
  [1623] = {.lex_state = 467, .external_lex_state = 2},
  [1624] = {.lex_state = 467, .external_lex_state = 27},
  [1625] = {.lex_state = 467, .external_lex_state = 2},
  [1626] = {.lex_state = 972, .external_lex_state = 37},
  [1627] = {.lex_state = 1024, .external_lex_state = 4},
  [1628] = {.lex_state = 972, .external_lex_state = 10},
  [1629] = {.lex_state = 1026, .external_lex_state = 4},
  [1630] = {.lex_state = 549},
  [1631] = {.lex_state = 1028, .external_lex_state = 4},
  [1632] = {.lex_state = 638, .external_lex_state = 22},
  [1633] = {.lex_state = 1030, .external_lex_state = 36},
  [1634] = {.lex_state = 467, .external_lex_state = 2},
  [1635] = {.lex_state = 467, .external_lex_state = 2},
  [1636] = {.lex_state = 716, .external_lex_state = 10},
  [1637] = {.lex_state = 716, .external_lex_state = 10},
  [1638] = {.lex_state = 716, .external_lex_state = 10},
  [1639] = {.lex_state = 716, .external_lex_state = 10},
  [1640] = {.lex_state = 467, .external_lex_state = 2},
  [1641] = {.lex_state = 467, .external_lex_state = 2},
  [1642] = {.lex_state = 467, .external_lex_state = 2},
  [1643] = {.lex_state = 1032, .external_lex_state = 7},
  [1644] = {.lex_state = 1034, .external_lex_state = 13},
  [1645] = {.lex_state = 722, .external_lex_state = 10},
  [1646] = {.lex_state = 1032, .external_lex_state = 7},
  [1647] = {.lex_state = 549},
  [1648] = {.lex_state = 1036, .external_lex_state = 4},
  [1649] = {.lex_state = 736, .external_lex_state = 13},
  [1650] = {.lex_state = 736, .external_lex_state = 13},
  [1651] = {.lex_state = 458, .external_lex_state = 4},
  [1652] = {.lex_state = 467, .external_lex_state = 2},
  [1653] = {.lex_state = 467, .external_lex_state = 2},
  [1654] = {.lex_state = 467, .external_lex_state = 2},
  [1655] = {.lex_state = 467, .external_lex_state = 2},
  [1656] = {.lex_state = 467, .external_lex_state = 2},
  [1657] = {.lex_state = 467, .external_lex_state = 2},
  [1658] = {.lex_state = 467, .external_lex_state = 2},
  [1659] = {.lex_state = 467, .external_lex_state = 2},
  [1660] = {.lex_state = 467, .external_lex_state = 2},
  [1661] = {.lex_state = 467, .external_lex_state = 2},
  [1662] = {.lex_state = 467, .external_lex_state = 2},
  [1663] = {.lex_state = 467, .external_lex_state = 2},
  [1664] = {.lex_state = 0},
  [1665] = {.lex_state = 734, .external_lex_state = 7},
  [1666] = {.lex_state = 467, .external_lex_state = 2},
  [1667] = {.lex_state = 467, .external_lex_state = 2},
  [1668] = {.lex_state = 467, .external_lex_state = 2},
  [1669] = {.lex_state = 467, .external_lex_state = 2},
  [1670] = {.lex_state = 972, .external_lex_state = 37},
  [1671] = {.lex_state = 972, .external_lex_state = 37},
  [1672] = {.lex_state = 972, .external_lex_state = 37},
  [1673] = {.lex_state = 972, .external_lex_state = 37},
  [1674] = {.lex_state = 467, .external_lex_state = 2},
  [1675] = {.lex_state = 467, .external_lex_state = 2},
  [1676] = {.lex_state = 467, .external_lex_state = 27},
  [1677] = {.lex_state = 467, .external_lex_state = 2},
  [1678] = {.lex_state = 972, .external_lex_state = 37},
  [1679] = {.lex_state = 1038, .external_lex_state = 4},
  [1680] = {.lex_state = 972, .external_lex_state = 10},
  [1681] = {.lex_state = 1040, .external_lex_state = 4},
  [1682] = {.lex_state = 549},
  [1683] = {.lex_state = 1038, .external_lex_state = 4},
  [1684] = {.lex_state = 638, .external_lex_state = 22},
  [1685] = {.lex_state = 1042, .external_lex_state = 36},
  [1686] = {.lex_state = 467, .external_lex_state = 39},
  [1687] = {.lex_state = 467, .external_lex_state = 2},
  [1688] = {.lex_state = 734, .external_lex_state = 7},
  [1689] = {.lex_state = 617, .external_lex_state = 55},
  [1690] = {.lex_state = 461, .external_lex_state = 2},
  [1691] = {.lex_state = 757, .external_lex_state = 13},
  [1692] = {.lex_state = 467, .external_lex_state = 2},
  [1693] = {.lex_state = 467, .external_lex_state = 2},
  [1694] = {.lex_state = 467, .external_lex_state = 2},
  [1695] = {.lex_state = 467, .external_lex_state = 2},
  [1696] = {.lex_state = 970, .external_lex_state = 37},
  [1697] = {.lex_state = 970, .external_lex_state = 37},
  [1698] = {.lex_state = 970, .external_lex_state = 37},
  [1699] = {.lex_state = 970, .external_lex_state = 37},
  [1700] = {.lex_state = 467, .external_lex_state = 2},
  [1701] = {.lex_state = 467, .external_lex_state = 2},
  [1702] = {.lex_state = 467, .external_lex_state = 27},
  [1703] = {.lex_state = 467, .external_lex_state = 2},
  [1704] = {.lex_state = 972, .external_lex_state = 37},
  [1705] = {.lex_state = 1044, .external_lex_state = 4},
  [1706] = {.lex_state = 972, .external_lex_state = 10},
  [1707] = {.lex_state = 1046, .external_lex_state = 4},
  [1708] = {.lex_state = 549},
  [1709] = {.lex_state = 1048, .external_lex_state = 4},
  [1710] = {.lex_state = 638, .external_lex_state = 22},
  [1711] = {.lex_state = 1050, .external_lex_state = 36},
  [1712] = {.lex_state = 1052, .external_lex_state = 2},
  [1713] = {.lex_state = 461, .external_lex_state = 2},
  [1714] = {.lex_state = 1052, .external_lex_state = 2},
  [1715] = {.lex_state = 467, .external_lex_state = 2},
  [1716] = {.lex_state = 467, .external_lex_state = 2},
  [1717] = {.lex_state = 970, .external_lex_state = 10},
  [1718] = {.lex_state = 970, .external_lex_state = 10},
  [1719] = {.lex_state = 970, .external_lex_state = 10},
  [1720] = {.lex_state = 970, .external_lex_state = 10},
  [1721] = {.lex_state = 565, .external_lex_state = 2},
  [1722] = {.lex_state = 557, .external_lex_state = 8},
  [1723] = {.lex_state = 467, .external_lex_state = 2},
  [1724] = {.lex_state = 467, .external_lex_state = 2},
  [1725] = {.lex_state = 467, .external_lex_state = 2},
  [1726] = {.lex_state = 906, .external_lex_state = 10},
  [1727] = {.lex_state = 906, .external_lex_state = 10},
  [1728] = {.lex_state = 565, .external_lex_state = 2},
  [1729] = {.lex_state = 1054, .external_lex_state = 7},
  [1730] = {.lex_state = 1056, .external_lex_state = 7},
  [1731] = {.lex_state = 1058, .external_lex_state = 13},
  [1732] = {.lex_state = 972, .external_lex_state = 10},
  [1733] = {.lex_state = 1060, .external_lex_state = 7},
  [1734] = {.lex_state = 1060, .external_lex_state = 7},
  [1735] = {.lex_state = 549},
  [1736] = {.lex_state = 1062, .external_lex_state = 4},
  [1737] = {.lex_state = 1052, .external_lex_state = 2},
  [1738] = {.lex_state = 743, .external_lex_state = 2},
  [1739] = {.lex_state = 461, .external_lex_state = 2},
  [1740] = {.lex_state = 743, .external_lex_state = 2},
  [1741] = {.lex_state = 467, .external_lex_state = 2},
  [1742] = {.lex_state = 1064, .external_lex_state = 11},
  [1743] = {.lex_state = 716, .external_lex_state = 10},
  [1744] = {.lex_state = 716, .external_lex_state = 10},
  [1745] = {.lex_state = 716, .external_lex_state = 10},
  [1746] = {.lex_state = 716, .external_lex_state = 10},
  [1747] = {.lex_state = 467, .external_lex_state = 2},
  [1748] = {.lex_state = 467, .external_lex_state = 2},
  [1749] = {.lex_state = 467, .external_lex_state = 2},
  [1750] = {.lex_state = 0},
  [1751] = {.lex_state = 1066, .external_lex_state = 7},
  [1752] = {.lex_state = 1069, .external_lex_state = 7},
  [1753] = {.lex_state = 1071, .external_lex_state = 13},
  [1754] = {.lex_state = 722, .external_lex_state = 10},
  [1755] = {.lex_state = 549},
  [1756] = {.lex_state = 1073, .external_lex_state = 4},
  [1757] = {.lex_state = 743, .external_lex_state = 2},
  [1758] = {.lex_state = 467, .external_lex_state = 2},
  [1759] = {.lex_state = 716, .external_lex_state = 10},
  [1760] = {.lex_state = 716, .external_lex_state = 10},
  [1761] = {.lex_state = 716, .external_lex_state = 10},
  [1762] = {.lex_state = 716, .external_lex_state = 10},
  [1763] = {.lex_state = 467, .external_lex_state = 2},
  [1764] = {.lex_state = 467, .external_lex_state = 2},
  [1765] = {.lex_state = 467, .external_lex_state = 2},
  [1766] = {.lex_state = 0},
  [1767] = {.lex_state = 1075, .external_lex_state = 7},
  [1768] = {.lex_state = 1079, .external_lex_state = 7},
  [1769] = {.lex_state = 1081, .external_lex_state = 13},
  [1770] = {.lex_state = 722, .external_lex_state = 10},
  [1771] = {.lex_state = 549},
  [1772] = {.lex_state = 1083, .external_lex_state = 4},
  [1773] = {.lex_state = 757, .external_lex_state = 13},
  [1774] = {.lex_state = 757, .external_lex_state = 13},
  [1775] = {.lex_state = 0},
  [1776] = {.lex_state = 0},
  [1777] = {.lex_state = 0},
  [1778] = {.lex_state = 565, .external_lex_state = 2},
  [1779] = {.lex_state = 750, .external_lex_state = 7},
  [1780] = {.lex_state = 467, .external_lex_state = 2},
  [1781] = {.lex_state = 467, .external_lex_state = 2},
  [1782] = {.lex_state = 467, .external_lex_state = 2},
  [1783] = {.lex_state = 467, .external_lex_state = 2},
  [1784] = {.lex_state = 467, .external_lex_state = 2},
  [1785] = {.lex_state = 458, .external_lex_state = 4},
  [1786] = {.lex_state = 467, .external_lex_state = 2},
  [1787] = {.lex_state = 467, .external_lex_state = 2},
  [1788] = {.lex_state = 467, .external_lex_state = 2},
  [1789] = {.lex_state = 467, .external_lex_state = 2},
  [1790] = {.lex_state = 467, .external_lex_state = 2},
  [1791] = {.lex_state = 467, .external_lex_state = 2},
  [1792] = {.lex_state = 467, .external_lex_state = 2},
  [1793] = {.lex_state = 467, .external_lex_state = 2},
  [1794] = {.lex_state = 467, .external_lex_state = 2},
  [1795] = {.lex_state = 467, .external_lex_state = 2},
  [1796] = {.lex_state = 467, .external_lex_state = 2},
  [1797] = {.lex_state = 467, .external_lex_state = 2},
  [1798] = {.lex_state = 467, .external_lex_state = 2},
  [1799] = {.lex_state = 467, .external_lex_state = 2},
  [1800] = {.lex_state = 467, .external_lex_state = 2},
  [1801] = {.lex_state = 467, .external_lex_state = 2},
  [1802] = {.lex_state = 972, .external_lex_state = 37},
  [1803] = {.lex_state = 972, .external_lex_state = 37},
  [1804] = {.lex_state = 972, .external_lex_state = 37},
  [1805] = {.lex_state = 972, .external_lex_state = 37},
  [1806] = {.lex_state = 467, .external_lex_state = 2},
  [1807] = {.lex_state = 467, .external_lex_state = 2},
  [1808] = {.lex_state = 467, .external_lex_state = 27},
  [1809] = {.lex_state = 467, .external_lex_state = 2},
  [1810] = {.lex_state = 972, .external_lex_state = 37},
  [1811] = {.lex_state = 1085, .external_lex_state = 4},
  [1812] = {.lex_state = 972, .external_lex_state = 10},
  [1813] = {.lex_state = 1087, .external_lex_state = 4},
  [1814] = {.lex_state = 549},
  [1815] = {.lex_state = 1085, .external_lex_state = 4},
  [1816] = {.lex_state = 638, .external_lex_state = 22},
  [1817] = {.lex_state = 1089, .external_lex_state = 36},
  [1818] = {.lex_state = 467, .external_lex_state = 39},
  [1819] = {.lex_state = 467, .external_lex_state = 2},
  [1820] = {.lex_state = 0},
  [1821] = {.lex_state = 617, .external_lex_state = 16},
  [1822] = {.lex_state = 461, .external_lex_state = 2},
  [1823] = {.lex_state = 545, .external_lex_state = 6},
  [1824] = {.lex_state = 547, .external_lex_state = 7},
  [1825] = {.lex_state = 617, .external_lex_state = 16},
  [1826] = {.lex_state = 461, .external_lex_state = 2},
  [1827] = {.lex_state = 763, .external_lex_state = 7},
  [1828] = {.lex_state = 545, .external_lex_state = 6},
  [1829] = {.lex_state = 763, .external_lex_state = 7},
  [1830] = {.lex_state = 617, .external_lex_state = 16},
  [1831] = {.lex_state = 461, .external_lex_state = 2},
  [1832] = {.lex_state = 617, .external_lex_state = 16},
  [1833] = {.lex_state = 461, .external_lex_state = 2},
  [1834] = {.lex_state = 617, .external_lex_state = 16},
  [1835] = {.lex_state = 461, .external_lex_state = 2},
  [1836] = {.lex_state = 617, .external_lex_state = 16},
  [1837] = {.lex_state = 461, .external_lex_state = 2},
  [1838] = {.lex_state = 617, .external_lex_state = 16},
  [1839] = {.lex_state = 461, .external_lex_state = 2},
  [1840] = {.lex_state = 467, .external_lex_state = 2},
  [1841] = {.lex_state = 1091, .external_lex_state = 45},
  [1842] = {.lex_state = 1091, .external_lex_state = 45},
  [1843] = {.lex_state = 1091, .external_lex_state = 45},
  [1844] = {.lex_state = 1091, .external_lex_state = 45},
  [1845] = {.lex_state = 467, .external_lex_state = 2},
  [1846] = {.lex_state = 467, .external_lex_state = 2},
  [1847] = {.lex_state = 467, .external_lex_state = 2},
  [1848] = {.lex_state = 1093, .external_lex_state = 46},
  [1849] = {.lex_state = 1095, .external_lex_state = 45},
  [1850] = {.lex_state = 549},
  [1851] = {.lex_state = 1097, .external_lex_state = 42},
  [1852] = {.lex_state = 1093, .external_lex_state = 46},
  [1853] = {.lex_state = 771, .external_lex_state = 45},
  [1854] = {.lex_state = 771, .external_lex_state = 45},
  [1855] = {.lex_state = 771, .external_lex_state = 45},
  [1856] = {.lex_state = 771, .external_lex_state = 45},
  [1857] = {.lex_state = 775, .external_lex_state = 45},
  [1858] = {.lex_state = 775, .external_lex_state = 45},
  [1859] = {.lex_state = 781, .external_lex_state = 46},
  [1860] = {.lex_state = 769, .external_lex_state = 42},
  [1861] = {.lex_state = 0},
  [1862] = {.lex_state = 659, .external_lex_state = 31},
  [1863] = {.lex_state = 467, .external_lex_state = 2},
  [1864] = {.lex_state = 769, .external_lex_state = 42},
  [1865] = {.lex_state = 585},
  [1866] = {.lex_state = 661, .external_lex_state = 7},
  [1867] = {.lex_state = 769, .external_lex_state = 42},
  [1868] = {.lex_state = 0},
  [1869] = {.lex_state = 775, .external_lex_state = 45},
  [1870] = {.lex_state = 1093, .external_lex_state = 46},
  [1871] = {.lex_state = 467, .external_lex_state = 2},
  [1872] = {.lex_state = 697, .external_lex_state = 35},
  [1873] = {.lex_state = 697, .external_lex_state = 35},
  [1874] = {.lex_state = 700, .external_lex_state = 35},
  [1875] = {.lex_state = 700, .external_lex_state = 35},
  [1876] = {.lex_state = 467, .external_lex_state = 2},
  [1877] = {.lex_state = 467, .external_lex_state = 2},
  [1878] = {.lex_state = 467, .external_lex_state = 2},
  [1879] = {.lex_state = 467, .external_lex_state = 2},
  [1880] = {.lex_state = 467, .external_lex_state = 2},
  [1881] = {.lex_state = 467, .external_lex_state = 2},
  [1882] = {.lex_state = 467, .external_lex_state = 27},
  [1883] = {.lex_state = 467, .external_lex_state = 2},
  [1884] = {.lex_state = 773, .external_lex_state = 43},
  [1885] = {.lex_state = 1099, .external_lex_state = 42},
  [1886] = {.lex_state = 769, .external_lex_state = 42},
  [1887] = {.lex_state = 1099, .external_lex_state = 42},
  [1888] = {.lex_state = 549},
  [1889] = {.lex_state = 791, .external_lex_state = 42},
  [1890] = {.lex_state = 638, .external_lex_state = 22},
  [1891] = {.lex_state = 793, .external_lex_state = 41},
  [1892] = {.lex_state = 769, .external_lex_state = 42},
  [1893] = {.lex_state = 769, .external_lex_state = 42},
  [1894] = {.lex_state = 769, .external_lex_state = 42},
  [1895] = {.lex_state = 718, .external_lex_state = 7},
  [1896] = {.lex_state = 718, .external_lex_state = 7},
  [1897] = {.lex_state = 726, .external_lex_state = 13},
  [1898] = {.lex_state = 726, .external_lex_state = 13},
  [1899] = {.lex_state = 0},
  [1900] = {.lex_state = 0},
  [1901] = {.lex_state = 736, .external_lex_state = 13},
  [1902] = {.lex_state = 734, .external_lex_state = 7},
  [1903] = {.lex_state = 769, .external_lex_state = 42},
  [1904] = {.lex_state = 0},
  [1905] = {.lex_state = 565, .external_lex_state = 2},
  [1906] = {.lex_state = 781, .external_lex_state = 46},
  [1907] = {.lex_state = 781, .external_lex_state = 46},
  [1908] = {.lex_state = 789, .external_lex_state = 46},
  [1909] = {.lex_state = 467, .external_lex_state = 2},
  [1910] = {.lex_state = 769, .external_lex_state = 42},
  [1911] = {.lex_state = 769, .external_lex_state = 42},
  [1912] = {.lex_state = 783, .external_lex_state = 31},
  [1913] = {.lex_state = 0},
  [1914] = {.lex_state = 795, .external_lex_state = 2},
  [1915] = {.lex_state = 800, .external_lex_state = 11},
  [1916] = {.lex_state = 0},
  [1917] = {.lex_state = 769, .external_lex_state = 42},
  [1918] = {.lex_state = 467, .external_lex_state = 2},
  [1919] = {.lex_state = 467, .external_lex_state = 2},
  [1920] = {.lex_state = 467, .external_lex_state = 2},
  [1921] = {.lex_state = 467, .external_lex_state = 2},
  [1922] = {.lex_state = 467, .external_lex_state = 2},
  [1923] = {.lex_state = 467, .external_lex_state = 2},
  [1924] = {.lex_state = 467, .external_lex_state = 2},
  [1925] = {.lex_state = 467, .external_lex_state = 2},
  [1926] = {.lex_state = 467, .external_lex_state = 2},
  [1927] = {.lex_state = 467, .external_lex_state = 2},
  [1928] = {.lex_state = 467, .external_lex_state = 2},
  [1929] = {.lex_state = 467, .external_lex_state = 2},
  [1930] = {.lex_state = 583, .external_lex_state = 12},
  [1931] = {.lex_state = 545},
  [1932] = {.lex_state = 806, .external_lex_state = 47},
  [1933] = {.lex_state = 467, .external_lex_state = 2},
  [1934] = {.lex_state = 467, .external_lex_state = 2},
  [1935] = {.lex_state = 467, .external_lex_state = 2},
  [1936] = {.lex_state = 810, .external_lex_state = 5},
  [1937] = {.lex_state = 467, .external_lex_state = 2},
  [1938] = {.lex_state = 773, .external_lex_state = 43},
  [1939] = {.lex_state = 773, .external_lex_state = 43},
  [1940] = {.lex_state = 773, .external_lex_state = 43},
  [1941] = {.lex_state = 773, .external_lex_state = 43},
  [1942] = {.lex_state = 800, .external_lex_state = 28},
  [1943] = {.lex_state = 467, .external_lex_state = 2},
  [1944] = {.lex_state = 467, .external_lex_state = 2},
  [1945] = {.lex_state = 467, .external_lex_state = 27},
  [1946] = {.lex_state = 467, .external_lex_state = 2},
  [1947] = {.lex_state = 773, .external_lex_state = 43},
  [1948] = {.lex_state = 1101, .external_lex_state = 42},
  [1949] = {.lex_state = 773, .external_lex_state = 45},
  [1950] = {.lex_state = 1103, .external_lex_state = 42},
  [1951] = {.lex_state = 1101, .external_lex_state = 42},
  [1952] = {.lex_state = 777, .external_lex_state = 42},
  [1953] = {.lex_state = 549},
  [1954] = {.lex_state = 1101, .external_lex_state = 42},
  [1955] = {.lex_state = 638, .external_lex_state = 22},
  [1956] = {.lex_state = 1105, .external_lex_state = 41},
  [1957] = {.lex_state = 0},
  [1958] = {.lex_state = 583, .external_lex_state = 12},
  [1959] = {.lex_state = 467, .external_lex_state = 39},
  [1960] = {.lex_state = 467, .external_lex_state = 2},
  [1961] = {.lex_state = 467, .external_lex_state = 2},
  [1962] = {.lex_state = 767, .external_lex_state = 59},
  [1963] = {.lex_state = 767, .external_lex_state = 59},
  [1964] = {.lex_state = 458, .external_lex_state = 4},
  [1965] = {.lex_state = 797},
  [1966] = {.lex_state = 0},
  [1967] = {.lex_state = 631, .external_lex_state = 2},
  [1968] = {.lex_state = 661},
  [1969] = {.lex_state = 0},
  [1970] = {.lex_state = 797},
  [1971] = {.lex_state = 797},
  [1972] = {.lex_state = 1107, .external_lex_state = 22},
  [1973] = {.lex_state = 0},
  [1974] = {.lex_state = 585},
  [1975] = {.lex_state = 804},
  [1976] = {.lex_state = 804},
  [1977] = {.lex_state = 804},
  [1978] = {.lex_state = 585},
  [1979] = {.lex_state = 800, .external_lex_state = 11},
  [1980] = {.lex_state = 461, .external_lex_state = 2},
  [1981] = {.lex_state = 800, .external_lex_state = 11},
  [1982] = {.lex_state = 458, .external_lex_state = 4},
  [1983] = {.lex_state = 797},
  [1984] = {.lex_state = 1109, .external_lex_state = 11},
  [1985] = {.lex_state = 0},
  [1986] = {.lex_state = 746, .external_lex_state = 11},
  [1987] = {.lex_state = 800, .external_lex_state = 11},
  [1988] = {.lex_state = 1111, .external_lex_state = 2},
  [1989] = {.lex_state = 467, .external_lex_state = 2},
  [1990] = {.lex_state = 458, .external_lex_state = 4},
  [1991] = {.lex_state = 545},
  [1992] = {.lex_state = 0},
  [1993] = {.lex_state = 0},
  [1994] = {.lex_state = 617, .external_lex_state = 55},
  [1995] = {.lex_state = 461, .external_lex_state = 2},
  [1996] = {.lex_state = 591, .external_lex_state = 7},
  [1997] = {.lex_state = 274, .external_lex_state = 2},
  [1998] = {.lex_state = 599, .external_lex_state = 13},
  [1999] = {.lex_state = 599, .external_lex_state = 13},
  [2000] = {.lex_state = 599, .external_lex_state = 13},
  [2001] = {.lex_state = 599, .external_lex_state = 13},
  [2002] = {.lex_state = 599, .external_lex_state = 13},
  [2003] = {.lex_state = 599, .external_lex_state = 13},
  [2004] = {.lex_state = 599, .external_lex_state = 13},
  [2005] = {.lex_state = 599, .external_lex_state = 13},
  [2006] = {.lex_state = 599, .external_lex_state = 13},
  [2007] = {.lex_state = 599, .external_lex_state = 13},
  [2008] = {.lex_state = 599, .external_lex_state = 13},
  [2009] = {.lex_state = 467, .external_lex_state = 2},
  [2010] = {.lex_state = 1114, .external_lex_state = 29},
  [2011] = {.lex_state = 1114, .external_lex_state = 29},
  [2012] = {.lex_state = 1114, .external_lex_state = 29},
  [2013] = {.lex_state = 1114, .external_lex_state = 29},
  [2014] = {.lex_state = 467, .external_lex_state = 2},
  [2015] = {.lex_state = 467, .external_lex_state = 2},
  [2016] = {.lex_state = 467, .external_lex_state = 2},
  [2017] = {.lex_state = 1116, .external_lex_state = 30},
  [2018] = {.lex_state = 1118, .external_lex_state = 29},
  [2019] = {.lex_state = 549},
  [2020] = {.lex_state = 1120, .external_lex_state = 20},
  [2021] = {.lex_state = 599, .external_lex_state = 13},
  [2022] = {.lex_state = 599, .external_lex_state = 13},
  [2023] = {.lex_state = 599, .external_lex_state = 13},
  [2024] = {.lex_state = 599, .external_lex_state = 13},
  [2025] = {.lex_state = 599, .external_lex_state = 13},
  [2026] = {.lex_state = 575, .external_lex_state = 4},
  [2027] = {.lex_state = 783, .external_lex_state = 31},
  [2028] = {.lex_state = 0},
  [2029] = {.lex_state = 570, .external_lex_state = 10},
  [2030] = {.lex_state = 702, .external_lex_state = 12},
  [2031] = {.lex_state = 570, .external_lex_state = 10},
  [2032] = {.lex_state = 570, .external_lex_state = 10},
  [2033] = {.lex_state = 570, .external_lex_state = 10},
  [2034] = {.lex_state = 617, .external_lex_state = 16},
  [2035] = {.lex_state = 461, .external_lex_state = 2},
  [2036] = {.lex_state = 617, .external_lex_state = 16},
  [2037] = {.lex_state = 461, .external_lex_state = 2},
  [2038] = {.lex_state = 617, .external_lex_state = 16},
  [2039] = {.lex_state = 461, .external_lex_state = 2},
  [2040] = {.lex_state = 617, .external_lex_state = 16},
  [2041] = {.lex_state = 461, .external_lex_state = 2},
  [2042] = {.lex_state = 617, .external_lex_state = 16},
  [2043] = {.lex_state = 461, .external_lex_state = 2},
  [2044] = {.lex_state = 1122, .external_lex_state = 3},
  [2045] = {.lex_state = 575, .external_lex_state = 4},
  [2046] = {.lex_state = 575, .external_lex_state = 4},
  [2047] = {.lex_state = 575, .external_lex_state = 4},
  [2048] = {.lex_state = 575, .external_lex_state = 4},
  [2049] = {.lex_state = 461, .external_lex_state = 2},
  [2050] = {.lex_state = 461, .external_lex_state = 2},
  [2051] = {.lex_state = 461, .external_lex_state = 2},
  [2052] = {.lex_state = 461, .external_lex_state = 2},
  [2053] = {.lex_state = 461, .external_lex_state = 2},
  [2054] = {.lex_state = 575, .external_lex_state = 4},
  [2055] = {.lex_state = 467, .external_lex_state = 2},
  [2056] = {.lex_state = 488, .external_lex_state = 5},
  [2057] = {.lex_state = 532, .external_lex_state = 6},
  [2058] = {.lex_state = 543, .external_lex_state = 2},
  [2059] = {.lex_state = 557, .external_lex_state = 9},
  [2060] = {.lex_state = 557, .external_lex_state = 8},
  [2061] = {.lex_state = 570, .external_lex_state = 10},
  [2062] = {.lex_state = 570, .external_lex_state = 10},
  [2063] = {.lex_state = 570, .external_lex_state = 10},
  [2064] = {.lex_state = 570, .external_lex_state = 10},
  [2065] = {.lex_state = 575, .external_lex_state = 4},
  [2066] = {.lex_state = 575, .external_lex_state = 4},
  [2067] = {.lex_state = 461, .external_lex_state = 2},
  [2068] = {.lex_state = 461, .external_lex_state = 2},
  [2069] = {.lex_state = 467, .external_lex_state = 2},
  [2070] = {.lex_state = 467, .external_lex_state = 2},
  [2071] = {.lex_state = 561, .external_lex_state = 8},
  [2072] = {.lex_state = 563, .external_lex_state = 11},
  [2073] = {.lex_state = 565, .external_lex_state = 11},
  [2074] = {.lex_state = 467, .external_lex_state = 2},
  [2075] = {.lex_state = 467, .external_lex_state = 2},
  [2076] = {.lex_state = 467, .external_lex_state = 2},
  [2077] = {.lex_state = 1124, .external_lex_state = 4},
  [2078] = {.lex_state = 575, .external_lex_state = 4},
  [2079] = {.lex_state = 583, .external_lex_state = 12},
  [2080] = {.lex_state = 585},
  [2081] = {.lex_state = 816, .external_lex_state = 4},
  [2082] = {.lex_state = 816, .external_lex_state = 4},
  [2083] = {.lex_state = 570, .external_lex_state = 10},
  [2084] = {.lex_state = 575, .external_lex_state = 4},
  [2085] = {.lex_state = 549},
  [2086] = {.lex_state = 816, .external_lex_state = 4},
  [2087] = {.lex_state = 1122, .external_lex_state = 3},
  [2088] = {.lex_state = 816, .external_lex_state = 4},
  [2089] = {.lex_state = 575, .external_lex_state = 4},
  [2090] = {.lex_state = 960, .external_lex_state = 31},
  [2091] = {.lex_state = 0},
  [2092] = {.lex_state = 808, .external_lex_state = 3},
  [2093] = {.lex_state = 461, .external_lex_state = 2},
  [2094] = {.lex_state = 488, .external_lex_state = 5},
  [2095] = {.lex_state = 532, .external_lex_state = 6},
  [2096] = {.lex_state = 557, .external_lex_state = 9},
  [2097] = {.lex_state = 557, .external_lex_state = 8},
  [2098] = {.lex_state = 706, .external_lex_state = 10},
  [2099] = {.lex_state = 706, .external_lex_state = 10},
  [2100] = {.lex_state = 706, .external_lex_state = 10},
  [2101] = {.lex_state = 706, .external_lex_state = 10},
  [2102] = {.lex_state = 708, .external_lex_state = 4},
  [2103] = {.lex_state = 708, .external_lex_state = 4},
  [2104] = {.lex_state = 461, .external_lex_state = 2},
  [2105] = {.lex_state = 461, .external_lex_state = 2},
  [2106] = {.lex_state = 467, .external_lex_state = 2},
  [2107] = {.lex_state = 467, .external_lex_state = 2},
  [2108] = {.lex_state = 561, .external_lex_state = 8},
  [2109] = {.lex_state = 563, .external_lex_state = 11},
  [2110] = {.lex_state = 565, .external_lex_state = 11},
  [2111] = {.lex_state = 814, .external_lex_state = 4},
  [2112] = {.lex_state = 808, .external_lex_state = 3},
  [2113] = {.lex_state = 467, .external_lex_state = 2},
  [2114] = {.lex_state = 708, .external_lex_state = 4},
  [2115] = {.lex_state = 1126, .external_lex_state = 37},
  [2116] = {.lex_state = 1126, .external_lex_state = 37},
  [2117] = {.lex_state = 1126, .external_lex_state = 37},
  [2118] = {.lex_state = 1126, .external_lex_state = 37},
  [2119] = {.lex_state = 467, .external_lex_state = 2},
  [2120] = {.lex_state = 467, .external_lex_state = 2},
  [2121] = {.lex_state = 467, .external_lex_state = 27},
  [2122] = {.lex_state = 467, .external_lex_state = 2},
  [2123] = {.lex_state = 1128, .external_lex_state = 37},
  [2124] = {.lex_state = 545, .external_lex_state = 21},
  [2125] = {.lex_state = 545, .external_lex_state = 21},
  [2126] = {.lex_state = 0},
  [2127] = {.lex_state = 631, .external_lex_state = 2},
  [2128] = {.lex_state = 1130, .external_lex_state = 13},
  [2129] = {.lex_state = 1128, .external_lex_state = 10},
  [2130] = {.lex_state = 549},
  [2131] = {.lex_state = 1132, .external_lex_state = 4},
  [2132] = {.lex_state = 1134, .external_lex_state = 36},
  [2133] = {.lex_state = 0},
  [2134] = {.lex_state = 659, .external_lex_state = 31},
  [2135] = {.lex_state = 467, .external_lex_state = 2},
  [2136] = {.lex_state = 708, .external_lex_state = 4},
  [2137] = {.lex_state = 585},
  [2138] = {.lex_state = 661, .external_lex_state = 7},
  [2139] = {.lex_state = 708, .external_lex_state = 4},
  [2140] = {.lex_state = 0},
  [2141] = {.lex_state = 816, .external_lex_state = 4},
  [2142] = {.lex_state = 467, .external_lex_state = 2},
  [2143] = {.lex_state = 697, .external_lex_state = 35},
  [2144] = {.lex_state = 697, .external_lex_state = 35},
  [2145] = {.lex_state = 700, .external_lex_state = 35},
  [2146] = {.lex_state = 700, .external_lex_state = 35},
  [2147] = {.lex_state = 708, .external_lex_state = 4},
  [2148] = {.lex_state = 708, .external_lex_state = 4},
  [2149] = {.lex_state = 708, .external_lex_state = 4},
  [2150] = {.lex_state = 708, .external_lex_state = 4},
  [2151] = {.lex_state = 718, .external_lex_state = 7},
  [2152] = {.lex_state = 718, .external_lex_state = 7},
  [2153] = {.lex_state = 726, .external_lex_state = 13},
  [2154] = {.lex_state = 726, .external_lex_state = 13},
  [2155] = {.lex_state = 0},
  [2156] = {.lex_state = 575, .external_lex_state = 4},
  [2157] = {.lex_state = 0},
  [2158] = {.lex_state = 746, .external_lex_state = 11},
  [2159] = {.lex_state = 800, .external_lex_state = 11},
  [2160] = {.lex_state = 0},
  [2161] = {.lex_state = 736, .external_lex_state = 13},
  [2162] = {.lex_state = 734, .external_lex_state = 7},
  [2163] = {.lex_state = 708, .external_lex_state = 4},
  [2164] = {.lex_state = 0},
  [2165] = {.lex_state = 565, .external_lex_state = 2},
  [2166] = {.lex_state = 814, .external_lex_state = 4},
  [2167] = {.lex_state = 814, .external_lex_state = 4},
  [2168] = {.lex_state = 708, .external_lex_state = 4},
  [2169] = {.lex_state = 467, .external_lex_state = 2},
  [2170] = {.lex_state = 708, .external_lex_state = 4},
  [2171] = {.lex_state = 708, .external_lex_state = 4},
  [2172] = {.lex_state = 783, .external_lex_state = 31},
  [2173] = {.lex_state = 0},
  [2174] = {.lex_state = 795, .external_lex_state = 2},
  [2175] = {.lex_state = 800, .external_lex_state = 11},
  [2176] = {.lex_state = 0},
  [2177] = {.lex_state = 708, .external_lex_state = 4},
  [2178] = {.lex_state = 467, .external_lex_state = 2},
  [2179] = {.lex_state = 467, .external_lex_state = 2},
  [2180] = {.lex_state = 467, .external_lex_state = 2},
  [2181] = {.lex_state = 467, .external_lex_state = 2},
  [2182] = {.lex_state = 467, .external_lex_state = 2},
  [2183] = {.lex_state = 467, .external_lex_state = 2},
  [2184] = {.lex_state = 467, .external_lex_state = 2},
  [2185] = {.lex_state = 467, .external_lex_state = 2},
  [2186] = {.lex_state = 467, .external_lex_state = 2},
  [2187] = {.lex_state = 467, .external_lex_state = 2},
  [2188] = {.lex_state = 467, .external_lex_state = 2},
  [2189] = {.lex_state = 467, .external_lex_state = 2},
  [2190] = {.lex_state = 708, .external_lex_state = 4},
  [2191] = {.lex_state = 795, .external_lex_state = 2},
  [2192] = {.lex_state = 800, .external_lex_state = 11},
  [2193] = {.lex_state = 575, .external_lex_state = 4},
  [2194] = {.lex_state = 575, .external_lex_state = 4},
  [2195] = {.lex_state = 461, .external_lex_state = 2},
  [2196] = {.lex_state = 575, .external_lex_state = 4},
  [2197] = {.lex_state = 575, .external_lex_state = 4},
  [2198] = {.lex_state = 968, .external_lex_state = 12},
  [2199] = {.lex_state = 816, .external_lex_state = 4},
  [2200] = {.lex_state = 467, .external_lex_state = 39},
  [2201] = {.lex_state = 467, .external_lex_state = 2},
  [2202] = {.lex_state = 467, .external_lex_state = 2},
  [2203] = {.lex_state = 808, .external_lex_state = 3},
  [2204] = {.lex_state = 808, .external_lex_state = 3},
  [2205] = {.lex_state = 467, .external_lex_state = 2},
  [2206] = {.lex_state = 467, .external_lex_state = 2},
  [2207] = {.lex_state = 467, .external_lex_state = 2},
  [2208] = {.lex_state = 467, .external_lex_state = 2},
  [2209] = {.lex_state = 467, .external_lex_state = 2},
  [2210] = {.lex_state = 1136, .external_lex_state = 13},
  [2211] = {.lex_state = 605, .external_lex_state = 13},
  [2212] = {.lex_state = 605, .external_lex_state = 13},
  [2213] = {.lex_state = 1136, .external_lex_state = 13},
  [2214] = {.lex_state = 549},
  [2215] = {.lex_state = 611, .external_lex_state = 4},
  [2216] = {.lex_state = 607},
  [2217] = {.lex_state = 599, .external_lex_state = 13},
  [2218] = {.lex_state = 428, .external_lex_state = 3},
  [2219] = {.lex_state = 613, .external_lex_state = 14},
  [2220] = {.lex_state = 617, .external_lex_state = 16},
  [2221] = {.lex_state = 615, .external_lex_state = 15},
  [2222] = {.lex_state = 617, .external_lex_state = 16},
  [2223] = {.lex_state = 615, .external_lex_state = 15},
  [2224] = {.lex_state = 617, .external_lex_state = 16},
  [2225] = {.lex_state = 615, .external_lex_state = 15},
  [2226] = {.lex_state = 617, .external_lex_state = 16},
  [2227] = {.lex_state = 615, .external_lex_state = 15},
  [2228] = {.lex_state = 617, .external_lex_state = 16},
  [2229] = {.lex_state = 615, .external_lex_state = 15},
  [2230] = {.lex_state = 0},
  [2231] = {.lex_state = 888, .external_lex_state = 30},
  [2232] = {.lex_state = 545, .external_lex_state = 6},
  [2233] = {.lex_state = 565, .external_lex_state = 2},
  [2234] = {.lex_state = 615, .external_lex_state = 15},
  [2235] = {.lex_state = 942, .external_lex_state = 13},
  [2236] = {.lex_state = 946, .external_lex_state = 7},
  [2237] = {.lex_state = 565, .external_lex_state = 2},
  [2238] = {.lex_state = 615, .external_lex_state = 15},
  [2239] = {.lex_state = 565, .external_lex_state = 2},
  [2240] = {.lex_state = 615, .external_lex_state = 62},
  [2241] = {.lex_state = 617, .external_lex_state = 16},
  [2242] = {.lex_state = 461, .external_lex_state = 2},
  [2243] = {.lex_state = 617, .external_lex_state = 16},
  [2244] = {.lex_state = 461, .external_lex_state = 2},
  [2245] = {.lex_state = 617, .external_lex_state = 16},
  [2246] = {.lex_state = 461, .external_lex_state = 2},
  [2247] = {.lex_state = 617, .external_lex_state = 16},
  [2248] = {.lex_state = 461, .external_lex_state = 2},
  [2249] = {.lex_state = 617, .external_lex_state = 16},
  [2250] = {.lex_state = 461, .external_lex_state = 2},
  [2251] = {.lex_state = 822, .external_lex_state = 63},
  [2252] = {.lex_state = 461, .external_lex_state = 2},
  [2253] = {.lex_state = 467, .external_lex_state = 2},
  [2254] = {.lex_state = 532, .external_lex_state = 6},
  [2255] = {.lex_state = 545},
  [2256] = {.lex_state = 557, .external_lex_state = 9},
  [2257] = {.lex_state = 557, .external_lex_state = 8},
  [2258] = {.lex_state = 619, .external_lex_state = 52},
  [2259] = {.lex_state = 619, .external_lex_state = 52},
  [2260] = {.lex_state = 619, .external_lex_state = 52},
  [2261] = {.lex_state = 619, .external_lex_state = 52},
  [2262] = {.lex_state = 824, .external_lex_state = 49},
  [2263] = {.lex_state = 824, .external_lex_state = 49},
  [2264] = {.lex_state = 461, .external_lex_state = 2},
  [2265] = {.lex_state = 461, .external_lex_state = 2},
  [2266] = {.lex_state = 467, .external_lex_state = 2},
  [2267] = {.lex_state = 467, .external_lex_state = 2},
  [2268] = {.lex_state = 561, .external_lex_state = 8},
  [2269] = {.lex_state = 563, .external_lex_state = 11},
  [2270] = {.lex_state = 565, .external_lex_state = 11},
  [2271] = {.lex_state = 467, .external_lex_state = 2},
  [2272] = {.lex_state = 467, .external_lex_state = 2},
  [2273] = {.lex_state = 467, .external_lex_state = 2},
  [2274] = {.lex_state = 621, .external_lex_state = 52},
  [2275] = {.lex_state = 842, .external_lex_state = 49},
  [2276] = {.lex_state = 842, .external_lex_state = 49},
  [2277] = {.lex_state = 621, .external_lex_state = 52},
  [2278] = {.lex_state = 621, .external_lex_state = 52},
  [2279] = {.lex_state = 842, .external_lex_state = 49},
  [2280] = {.lex_state = 615, .external_lex_state = 49},
  [2281] = {.lex_state = 615, .external_lex_state = 49},
  [2282] = {.lex_state = 842, .external_lex_state = 49},
  [2283] = {.lex_state = 621, .external_lex_state = 52},
  [2284] = {.lex_state = 549},
  [2285] = {.lex_state = 623, .external_lex_state = 49},
  [2286] = {.lex_state = 822, .external_lex_state = 63},
  [2287] = {.lex_state = 615, .external_lex_state = 49},
  [2288] = {.lex_state = 824, .external_lex_state = 49},
  [2289] = {.lex_state = 960, .external_lex_state = 31},
  [2290] = {.lex_state = 0},
  [2291] = {.lex_state = 826, .external_lex_state = 52},
  [2292] = {.lex_state = 826, .external_lex_state = 52},
  [2293] = {.lex_state = 826, .external_lex_state = 52},
  [2294] = {.lex_state = 826, .external_lex_state = 52},
  [2295] = {.lex_state = 644, .external_lex_state = 52},
  [2296] = {.lex_state = 644, .external_lex_state = 52},
  [2297] = {.lex_state = 824, .external_lex_state = 49},
  [2298] = {.lex_state = 824, .external_lex_state = 49},
  [2299] = {.lex_state = 0},
  [2300] = {.lex_state = 659, .external_lex_state = 31},
  [2301] = {.lex_state = 467, .external_lex_state = 2},
  [2302] = {.lex_state = 824, .external_lex_state = 49},
  [2303] = {.lex_state = 585},
  [2304] = {.lex_state = 661, .external_lex_state = 7},
  [2305] = {.lex_state = 824, .external_lex_state = 49},
  [2306] = {.lex_state = 0},
  [2307] = {.lex_state = 644, .external_lex_state = 52},
  [2308] = {.lex_state = 615, .external_lex_state = 49},
  [2309] = {.lex_state = 467, .external_lex_state = 2},
  [2310] = {.lex_state = 697, .external_lex_state = 35},
  [2311] = {.lex_state = 697, .external_lex_state = 35},
  [2312] = {.lex_state = 700, .external_lex_state = 35},
  [2313] = {.lex_state = 700, .external_lex_state = 35},
  [2314] = {.lex_state = 467, .external_lex_state = 2},
  [2315] = {.lex_state = 467, .external_lex_state = 2},
  [2316] = {.lex_state = 467, .external_lex_state = 2},
  [2317] = {.lex_state = 644, .external_lex_state = 50},
  [2318] = {.lex_state = 824, .external_lex_state = 49},
  [2319] = {.lex_state = 824, .external_lex_state = 49},
  [2320] = {.lex_state = 824, .external_lex_state = 49},
  [2321] = {.lex_state = 638, .external_lex_state = 22},
  [2322] = {.lex_state = 822, .external_lex_state = 48},
  [2323] = {.lex_state = 824, .external_lex_state = 49},
  [2324] = {.lex_state = 824, .external_lex_state = 49},
  [2325] = {.lex_state = 824, .external_lex_state = 49},
  [2326] = {.lex_state = 718, .external_lex_state = 7},
  [2327] = {.lex_state = 718, .external_lex_state = 7},
  [2328] = {.lex_state = 726, .external_lex_state = 13},
  [2329] = {.lex_state = 726, .external_lex_state = 13},
  [2330] = {.lex_state = 0},
  [2331] = {.lex_state = 0},
  [2332] = {.lex_state = 736, .external_lex_state = 13},
  [2333] = {.lex_state = 734, .external_lex_state = 7},
  [2334] = {.lex_state = 824, .external_lex_state = 49},
  [2335] = {.lex_state = 0},
  [2336] = {.lex_state = 565, .external_lex_state = 2},
  [2337] = {.lex_state = 824, .external_lex_state = 49},
  [2338] = {.lex_state = 824, .external_lex_state = 49},
  [2339] = {.lex_state = 824, .external_lex_state = 49},
  [2340] = {.lex_state = 467, .external_lex_state = 2},
  [2341] = {.lex_state = 824, .external_lex_state = 49},
  [2342] = {.lex_state = 824, .external_lex_state = 49},
  [2343] = {.lex_state = 783, .external_lex_state = 31},
  [2344] = {.lex_state = 0},
  [2345] = {.lex_state = 795, .external_lex_state = 2},
  [2346] = {.lex_state = 800, .external_lex_state = 11},
  [2347] = {.lex_state = 0},
  [2348] = {.lex_state = 824, .external_lex_state = 49},
  [2349] = {.lex_state = 467, .external_lex_state = 2},
  [2350] = {.lex_state = 467, .external_lex_state = 2},
  [2351] = {.lex_state = 467, .external_lex_state = 2},
  [2352] = {.lex_state = 467, .external_lex_state = 2},
  [2353] = {.lex_state = 467, .external_lex_state = 2},
  [2354] = {.lex_state = 467, .external_lex_state = 2},
  [2355] = {.lex_state = 467, .external_lex_state = 2},
  [2356] = {.lex_state = 467, .external_lex_state = 2},
  [2357] = {.lex_state = 467, .external_lex_state = 2},
  [2358] = {.lex_state = 467, .external_lex_state = 2},
  [2359] = {.lex_state = 467, .external_lex_state = 2},
  [2360] = {.lex_state = 467, .external_lex_state = 2},
  [2361] = {.lex_state = 583, .external_lex_state = 12},
  [2362] = {.lex_state = 545},
  [2363] = {.lex_state = 806, .external_lex_state = 47},
  [2364] = {.lex_state = 467, .external_lex_state = 2},
  [2365] = {.lex_state = 467, .external_lex_state = 2},
  [2366] = {.lex_state = 702, .external_lex_state = 12},
  [2367] = {.lex_state = 810, .external_lex_state = 5},
  [2368] = {.lex_state = 467, .external_lex_state = 2},
  [2369] = {.lex_state = 800, .external_lex_state = 28},
  [2370] = {.lex_state = 644, .external_lex_state = 50},
  [2371] = {.lex_state = 828, .external_lex_state = 49},
  [2372] = {.lex_state = 828, .external_lex_state = 49},
  [2373] = {.lex_state = 828, .external_lex_state = 49},
  [2374] = {.lex_state = 828, .external_lex_state = 49},
  [2375] = {.lex_state = 828, .external_lex_state = 49},
  [2376] = {.lex_state = 828, .external_lex_state = 49},
  [2377] = {.lex_state = 638, .external_lex_state = 22},
  [2378] = {.lex_state = 838, .external_lex_state = 48},
  [2379] = {.lex_state = 824, .external_lex_state = 49},
  [2380] = {.lex_state = 461, .external_lex_state = 2},
  [2381] = {.lex_state = 824, .external_lex_state = 49},
  [2382] = {.lex_state = 824, .external_lex_state = 49},
  [2383] = {.lex_state = 968, .external_lex_state = 12},
  [2384] = {.lex_state = 615, .external_lex_state = 49},
  [2385] = {.lex_state = 467, .external_lex_state = 39},
  [2386] = {.lex_state = 467, .external_lex_state = 2},
  [2387] = {.lex_state = 467, .external_lex_state = 2},
  [2388] = {.lex_state = 822, .external_lex_state = 63},
  [2389] = {.lex_state = 822, .external_lex_state = 63},
  [2390] = {.lex_state = 985, .external_lex_state = 11},
  [2391] = {.lex_state = 996, .external_lex_state = 2},
  [2392] = {.lex_state = 746, .external_lex_state = 2},
  [2393] = {.lex_state = 746, .external_lex_state = 2},
  [2394] = {.lex_state = 1020, .external_lex_state = 7},
  [2395] = {.lex_state = 615, .external_lex_state = 15},
  [2396] = {.lex_state = 0},
  [2397] = {.lex_state = 734, .external_lex_state = 7},
  [2398] = {.lex_state = 615, .external_lex_state = 15},
  [2399] = {.lex_state = 0},
  [2400] = {.lex_state = 617, .external_lex_state = 16},
  [2401] = {.lex_state = 617, .external_lex_state = 16},
  [2402] = {.lex_state = 461, .external_lex_state = 2},
  [2403] = {.lex_state = 834, .external_lex_state = 16},
  [2404] = {.lex_state = 545, .external_lex_state = 6},
  [2405] = {.lex_state = 834, .external_lex_state = 16},
  [2406] = {.lex_state = 0},
  [2407] = {.lex_state = 615, .external_lex_state = 15},
  [2408] = {.lex_state = 0},
  [2409] = {.lex_state = 631, .external_lex_state = 2},
  [2410] = {.lex_state = 615, .external_lex_state = 15},
  [2411] = {.lex_state = 0},
  [2412] = {.lex_state = 746, .external_lex_state = 11},
  [2413] = {.lex_state = 800, .external_lex_state = 11},
  [2414] = {.lex_state = 615, .external_lex_state = 15},
  [2415] = {.lex_state = 627, .external_lex_state = 18},
  [2416] = {.lex_state = 627, .external_lex_state = 18},
  [2417] = {.lex_state = 627, .external_lex_state = 18},
  [2418] = {.lex_state = 627, .external_lex_state = 18},
  [2419] = {.lex_state = 627, .external_lex_state = 18},
  [2420] = {.lex_state = 627, .external_lex_state = 18},
  [2421] = {.lex_state = 627, .external_lex_state = 18},
  [2422] = {.lex_state = 627, .external_lex_state = 18},
  [2423] = {.lex_state = 627, .external_lex_state = 18},
  [2424] = {.lex_state = 627, .external_lex_state = 18},
  [2425] = {.lex_state = 627, .external_lex_state = 18},
  [2426] = {.lex_state = 1116, .external_lex_state = 30},
  [2427] = {.lex_state = 627, .external_lex_state = 18},
  [2428] = {.lex_state = 627, .external_lex_state = 18},
  [2429] = {.lex_state = 627, .external_lex_state = 18},
  [2430] = {.lex_state = 627, .external_lex_state = 18},
  [2431] = {.lex_state = 627, .external_lex_state = 18},
  [2432] = {.lex_state = 623, .external_lex_state = 15},
  [2433] = {.lex_state = 783, .external_lex_state = 31},
  [2434] = {.lex_state = 0},
  [2435] = {.lex_state = 621, .external_lex_state = 17},
  [2436] = {.lex_state = 702, .external_lex_state = 12},
  [2437] = {.lex_state = 621, .external_lex_state = 17},
  [2438] = {.lex_state = 621, .external_lex_state = 17},
  [2439] = {.lex_state = 621, .external_lex_state = 17},
  [2440] = {.lex_state = 617, .external_lex_state = 16},
  [2441] = {.lex_state = 461, .external_lex_state = 2},
  [2442] = {.lex_state = 617, .external_lex_state = 16},
  [2443] = {.lex_state = 461, .external_lex_state = 2},
  [2444] = {.lex_state = 617, .external_lex_state = 16},
  [2445] = {.lex_state = 461, .external_lex_state = 2},
  [2446] = {.lex_state = 617, .external_lex_state = 16},
  [2447] = {.lex_state = 461, .external_lex_state = 2},
  [2448] = {.lex_state = 617, .external_lex_state = 16},
  [2449] = {.lex_state = 461, .external_lex_state = 2},
  [2450] = {.lex_state = 1138, .external_lex_state = 63},
  [2451] = {.lex_state = 842, .external_lex_state = 49},
  [2452] = {.lex_state = 842, .external_lex_state = 49},
  [2453] = {.lex_state = 842, .external_lex_state = 49},
  [2454] = {.lex_state = 842, .external_lex_state = 49},
  [2455] = {.lex_state = 461, .external_lex_state = 2},
  [2456] = {.lex_state = 461, .external_lex_state = 2},
  [2457] = {.lex_state = 461, .external_lex_state = 2},
  [2458] = {.lex_state = 461, .external_lex_state = 2},
  [2459] = {.lex_state = 461, .external_lex_state = 2},
  [2460] = {.lex_state = 842, .external_lex_state = 49},
  [2461] = {.lex_state = 467, .external_lex_state = 2},
  [2462] = {.lex_state = 488, .external_lex_state = 5},
  [2463] = {.lex_state = 532, .external_lex_state = 6},
  [2464] = {.lex_state = 543, .external_lex_state = 2},
  [2465] = {.lex_state = 557, .external_lex_state = 9},
  [2466] = {.lex_state = 557, .external_lex_state = 8},
  [2467] = {.lex_state = 621, .external_lex_state = 52},
  [2468] = {.lex_state = 621, .external_lex_state = 52},
  [2469] = {.lex_state = 621, .external_lex_state = 52},
  [2470] = {.lex_state = 621, .external_lex_state = 52},
  [2471] = {.lex_state = 842, .external_lex_state = 49},
  [2472] = {.lex_state = 842, .external_lex_state = 49},
  [2473] = {.lex_state = 461, .external_lex_state = 2},
  [2474] = {.lex_state = 461, .external_lex_state = 2},
  [2475] = {.lex_state = 467, .external_lex_state = 2},
  [2476] = {.lex_state = 467, .external_lex_state = 2},
  [2477] = {.lex_state = 561, .external_lex_state = 8},
  [2478] = {.lex_state = 563, .external_lex_state = 11},
  [2479] = {.lex_state = 565, .external_lex_state = 11},
  [2480] = {.lex_state = 467, .external_lex_state = 2},
  [2481] = {.lex_state = 467, .external_lex_state = 2},
  [2482] = {.lex_state = 467, .external_lex_state = 2},
  [2483] = {.lex_state = 1140, .external_lex_state = 49},
  [2484] = {.lex_state = 842, .external_lex_state = 49},
  [2485] = {.lex_state = 583, .external_lex_state = 12},
  [2486] = {.lex_state = 585},
  [2487] = {.lex_state = 842, .external_lex_state = 49},
  [2488] = {.lex_state = 842, .external_lex_state = 49},
  [2489] = {.lex_state = 621, .external_lex_state = 52},
  [2490] = {.lex_state = 842, .external_lex_state = 49},
  [2491] = {.lex_state = 549},
  [2492] = {.lex_state = 842, .external_lex_state = 49},
  [2493] = {.lex_state = 1138, .external_lex_state = 63},
  [2494] = {.lex_state = 842, .external_lex_state = 49},
  [2495] = {.lex_state = 842, .external_lex_state = 49},
  [2496] = {.lex_state = 960, .external_lex_state = 31},
  [2497] = {.lex_state = 0},
  [2498] = {.lex_state = 838, .external_lex_state = 63},
  [2499] = {.lex_state = 461, .external_lex_state = 2},
  [2500] = {.lex_state = 488, .external_lex_state = 5},
  [2501] = {.lex_state = 532, .external_lex_state = 6},
  [2502] = {.lex_state = 557, .external_lex_state = 9},
  [2503] = {.lex_state = 557, .external_lex_state = 8},
  [2504] = {.lex_state = 644, .external_lex_state = 52},
  [2505] = {.lex_state = 644, .external_lex_state = 52},
  [2506] = {.lex_state = 644, .external_lex_state = 52},
  [2507] = {.lex_state = 644, .external_lex_state = 52},
  [2508] = {.lex_state = 828, .external_lex_state = 49},
  [2509] = {.lex_state = 828, .external_lex_state = 49},
  [2510] = {.lex_state = 461, .external_lex_state = 2},
  [2511] = {.lex_state = 461, .external_lex_state = 2},
  [2512] = {.lex_state = 467, .external_lex_state = 2},
  [2513] = {.lex_state = 467, .external_lex_state = 2},
  [2514] = {.lex_state = 561, .external_lex_state = 8},
  [2515] = {.lex_state = 563, .external_lex_state = 11},
  [2516] = {.lex_state = 565, .external_lex_state = 11},
  [2517] = {.lex_state = 828, .external_lex_state = 49},
  [2518] = {.lex_state = 838, .external_lex_state = 63},
  [2519] = {.lex_state = 828, .external_lex_state = 49},
  [2520] = {.lex_state = 0},
  [2521] = {.lex_state = 631, .external_lex_state = 2},
  [2522] = {.lex_state = 0},
  [2523] = {.lex_state = 659, .external_lex_state = 31},
  [2524] = {.lex_state = 467, .external_lex_state = 2},
  [2525] = {.lex_state = 828, .external_lex_state = 49},
  [2526] = {.lex_state = 585},
  [2527] = {.lex_state = 661, .external_lex_state = 7},
  [2528] = {.lex_state = 828, .external_lex_state = 49},
  [2529] = {.lex_state = 0},
  [2530] = {.lex_state = 842, .external_lex_state = 49},
  [2531] = {.lex_state = 467, .external_lex_state = 2},
  [2532] = {.lex_state = 697, .external_lex_state = 35},
  [2533] = {.lex_state = 697, .external_lex_state = 35},
  [2534] = {.lex_state = 700, .external_lex_state = 35},
  [2535] = {.lex_state = 700, .external_lex_state = 35},
  [2536] = {.lex_state = 828, .external_lex_state = 49},
  [2537] = {.lex_state = 828, .external_lex_state = 49},
  [2538] = {.lex_state = 828, .external_lex_state = 49},
  [2539] = {.lex_state = 828, .external_lex_state = 49},
  [2540] = {.lex_state = 718, .external_lex_state = 7},
  [2541] = {.lex_state = 718, .external_lex_state = 7},
  [2542] = {.lex_state = 726, .external_lex_state = 13},
  [2543] = {.lex_state = 726, .external_lex_state = 13},
  [2544] = {.lex_state = 0},
  [2545] = {.lex_state = 623, .external_lex_state = 15},
  [2546] = {.lex_state = 0},
  [2547] = {.lex_state = 746, .external_lex_state = 11},
  [2548] = {.lex_state = 800, .external_lex_state = 11},
  [2549] = {.lex_state = 0},
  [2550] = {.lex_state = 736, .external_lex_state = 13},
  [2551] = {.lex_state = 734, .external_lex_state = 7},
  [2552] = {.lex_state = 828, .external_lex_state = 49},
  [2553] = {.lex_state = 0},
  [2554] = {.lex_state = 565, .external_lex_state = 2},
  [2555] = {.lex_state = 828, .external_lex_state = 49},
  [2556] = {.lex_state = 828, .external_lex_state = 49},
  [2557] = {.lex_state = 828, .external_lex_state = 49},
  [2558] = {.lex_state = 467, .external_lex_state = 2},
  [2559] = {.lex_state = 828, .external_lex_state = 49},
  [2560] = {.lex_state = 828, .external_lex_state = 49},
  [2561] = {.lex_state = 783, .external_lex_state = 31},
  [2562] = {.lex_state = 0},
  [2563] = {.lex_state = 795, .external_lex_state = 2},
  [2564] = {.lex_state = 800, .external_lex_state = 11},
  [2565] = {.lex_state = 0},
  [2566] = {.lex_state = 828, .external_lex_state = 49},
  [2567] = {.lex_state = 467, .external_lex_state = 2},
  [2568] = {.lex_state = 467, .external_lex_state = 2},
  [2569] = {.lex_state = 467, .external_lex_state = 2},
  [2570] = {.lex_state = 467, .external_lex_state = 2},
  [2571] = {.lex_state = 467, .external_lex_state = 2},
  [2572] = {.lex_state = 467, .external_lex_state = 2},
  [2573] = {.lex_state = 467, .external_lex_state = 2},
  [2574] = {.lex_state = 467, .external_lex_state = 2},
  [2575] = {.lex_state = 467, .external_lex_state = 2},
  [2576] = {.lex_state = 467, .external_lex_state = 2},
  [2577] = {.lex_state = 467, .external_lex_state = 2},
  [2578] = {.lex_state = 467, .external_lex_state = 2},
  [2579] = {.lex_state = 828, .external_lex_state = 49},
  [2580] = {.lex_state = 795, .external_lex_state = 2},
  [2581] = {.lex_state = 800, .external_lex_state = 11},
  [2582] = {.lex_state = 623, .external_lex_state = 15},
  [2583] = {.lex_state = 842, .external_lex_state = 49},
  [2584] = {.lex_state = 461, .external_lex_state = 2},
  [2585] = {.lex_state = 842, .external_lex_state = 49},
  [2586] = {.lex_state = 842, .external_lex_state = 49},
  [2587] = {.lex_state = 968, .external_lex_state = 12},
  [2588] = {.lex_state = 842, .external_lex_state = 49},
  [2589] = {.lex_state = 467, .external_lex_state = 39},
  [2590] = {.lex_state = 467, .external_lex_state = 2},
  [2591] = {.lex_state = 467, .external_lex_state = 2},
  [2592] = {.lex_state = 838, .external_lex_state = 63},
  [2593] = {.lex_state = 838, .external_lex_state = 63},
  [2594] = {.lex_state = 467, .external_lex_state = 2},
  [2595] = {.lex_state = 467, .external_lex_state = 2},
  [2596] = {.lex_state = 467, .external_lex_state = 2},
  [2597] = {.lex_state = 467, .external_lex_state = 2},
  [2598] = {.lex_state = 467, .external_lex_state = 2},
  [2599] = {.lex_state = 629, .external_lex_state = 18},
  [2600] = {.lex_state = 629, .external_lex_state = 18},
  [2601] = {.lex_state = 629, .external_lex_state = 18},
  [2602] = {.lex_state = 629, .external_lex_state = 18},
  [2603] = {.lex_state = 549},
  [2604] = {.lex_state = 623, .external_lex_state = 15},
  [2605] = {.lex_state = 627, .external_lex_state = 18},
  [2606] = {.lex_state = 613, .external_lex_state = 14},
  [2607] = {.lex_state = 461, .external_lex_state = 2},
  [2608] = {.lex_state = 428, .external_lex_state = 3},
  [2609] = {.lex_state = 458, .external_lex_state = 4},
  [2610] = {.lex_state = 458, .external_lex_state = 4},
  [2611] = {.lex_state = 458, .external_lex_state = 4},
  [2612] = {.lex_state = 458, .external_lex_state = 4},
  [2613] = {.lex_state = 850, .external_lex_state = 13},
  [2614] = {.lex_state = 467, .external_lex_state = 2},
  [2615] = {.lex_state = 467, .external_lex_state = 2},
  [2616] = {.lex_state = 467, .external_lex_state = 2},
  [2617] = {.lex_state = 467, .external_lex_state = 2},
  [2618] = {.lex_state = 467, .external_lex_state = 2},
  [2619] = {.lex_state = 467, .external_lex_state = 2},
  [2620] = {.lex_state = 467, .external_lex_state = 27},
  [2621] = {.lex_state = 467, .external_lex_state = 2},
  [2622] = {.lex_state = 1128, .external_lex_state = 37},
  [2623] = {.lex_state = 1142, .external_lex_state = 4},
  [2624] = {.lex_state = 1144, .external_lex_state = 4},
  [2625] = {.lex_state = 549},
  [2626] = {.lex_state = 1132, .external_lex_state = 4},
  [2627] = {.lex_state = 638, .external_lex_state = 22},
  [2628] = {.lex_state = 1146, .external_lex_state = 36},
  [2629] = {.lex_state = 850, .external_lex_state = 13},
  [2630] = {.lex_state = 850, .external_lex_state = 13},
  [2631] = {.lex_state = 591, .external_lex_state = 7},
  [2632] = {.lex_state = 631, .external_lex_state = 2},
  [2633] = {.lex_state = 846, .external_lex_state = 7},
  [2634] = {.lex_state = 467, .external_lex_state = 2},
  [2635] = {.lex_state = 467, .external_lex_state = 2},
  [2636] = {.lex_state = 467, .external_lex_state = 2},
  [2637] = {.lex_state = 467, .external_lex_state = 2},
  [2638] = {.lex_state = 467, .external_lex_state = 2},
  [2639] = {.lex_state = 467, .external_lex_state = 2},
  [2640] = {.lex_state = 467, .external_lex_state = 2},
  [2641] = {.lex_state = 467, .external_lex_state = 2},
  [2642] = {.lex_state = 467, .external_lex_state = 2},
  [2643] = {.lex_state = 467, .external_lex_state = 2},
  [2644] = {.lex_state = 467, .external_lex_state = 2},
  [2645] = {.lex_state = 467, .external_lex_state = 2},
  [2646] = {.lex_state = 467, .external_lex_state = 2},
  [2647] = {.lex_state = 467, .external_lex_state = 2},
  [2648] = {.lex_state = 467, .external_lex_state = 2},
  [2649] = {.lex_state = 467, .external_lex_state = 2},
  [2650] = {.lex_state = 467, .external_lex_state = 2},
  [2651] = {.lex_state = 467, .external_lex_state = 2},
  [2652] = {.lex_state = 467, .external_lex_state = 2},
  [2653] = {.lex_state = 467, .external_lex_state = 2},
  [2654] = {.lex_state = 467, .external_lex_state = 2},
  [2655] = {.lex_state = 1128, .external_lex_state = 37},
  [2656] = {.lex_state = 1128, .external_lex_state = 37},
  [2657] = {.lex_state = 1128, .external_lex_state = 37},
  [2658] = {.lex_state = 1128, .external_lex_state = 37},
  [2659] = {.lex_state = 467, .external_lex_state = 2},
  [2660] = {.lex_state = 467, .external_lex_state = 2},
  [2661] = {.lex_state = 467, .external_lex_state = 27},
  [2662] = {.lex_state = 467, .external_lex_state = 2},
  [2663] = {.lex_state = 1128, .external_lex_state = 37},
  [2664] = {.lex_state = 1148, .external_lex_state = 4},
  [2665] = {.lex_state = 1128, .external_lex_state = 10},
  [2666] = {.lex_state = 1150, .external_lex_state = 4},
  [2667] = {.lex_state = 549},
  [2668] = {.lex_state = 1148, .external_lex_state = 4},
  [2669] = {.lex_state = 638, .external_lex_state = 22},
  [2670] = {.lex_state = 1152, .external_lex_state = 36},
  [2671] = {.lex_state = 467, .external_lex_state = 39},
  [2672] = {.lex_state = 467, .external_lex_state = 2},
  [2673] = {.lex_state = 633, .external_lex_state = 19},
  [2674] = {.lex_state = 617, .external_lex_state = 16},
  [2675] = {.lex_state = 635, .external_lex_state = 20},
  [2676] = {.lex_state = 617, .external_lex_state = 16},
  [2677] = {.lex_state = 635, .external_lex_state = 20},
  [2678] = {.lex_state = 617, .external_lex_state = 16},
  [2679] = {.lex_state = 635, .external_lex_state = 20},
  [2680] = {.lex_state = 617, .external_lex_state = 16},
  [2681] = {.lex_state = 635, .external_lex_state = 20},
  [2682] = {.lex_state = 617, .external_lex_state = 16},
  [2683] = {.lex_state = 617, .external_lex_state = 16},
  [2684] = {.lex_state = 461, .external_lex_state = 2},
  [2685] = {.lex_state = 617, .external_lex_state = 16},
  [2686] = {.lex_state = 461, .external_lex_state = 2},
  [2687] = {.lex_state = 617, .external_lex_state = 16},
  [2688] = {.lex_state = 461, .external_lex_state = 2},
  [2689] = {.lex_state = 617, .external_lex_state = 16},
  [2690] = {.lex_state = 461, .external_lex_state = 2},
  [2691] = {.lex_state = 617, .external_lex_state = 16},
  [2692] = {.lex_state = 461, .external_lex_state = 2},
  [2693] = {.lex_state = 627, .external_lex_state = 57},
  [2694] = {.lex_state = 615, .external_lex_state = 54},
  [2695] = {.lex_state = 0},
  [2696] = {.lex_state = 659, .external_lex_state = 31},
  [2697] = {.lex_state = 467, .external_lex_state = 2},
  [2698] = {.lex_state = 615, .external_lex_state = 54},
  [2699] = {.lex_state = 585},
  [2700] = {.lex_state = 661, .external_lex_state = 7},
  [2701] = {.lex_state = 615, .external_lex_state = 54},
  [2702] = {.lex_state = 0},
  [2703] = {.lex_state = 621, .external_lex_state = 56},
  [2704] = {.lex_state = 467, .external_lex_state = 2},
  [2705] = {.lex_state = 697, .external_lex_state = 35},
  [2706] = {.lex_state = 697, .external_lex_state = 35},
  [2707] = {.lex_state = 700, .external_lex_state = 35},
  [2708] = {.lex_state = 700, .external_lex_state = 35},
  [2709] = {.lex_state = 822, .external_lex_state = 64},
  [2710] = {.lex_state = 824, .external_lex_state = 65},
  [2711] = {.lex_state = 824, .external_lex_state = 65},
  [2712] = {.lex_state = 824, .external_lex_state = 65},
  [2713] = {.lex_state = 824, .external_lex_state = 65},
  [2714] = {.lex_state = 461, .external_lex_state = 2},
  [2715] = {.lex_state = 461, .external_lex_state = 2},
  [2716] = {.lex_state = 461, .external_lex_state = 2},
  [2717] = {.lex_state = 461, .external_lex_state = 2},
  [2718] = {.lex_state = 461, .external_lex_state = 2},
  [2719] = {.lex_state = 824, .external_lex_state = 65},
  [2720] = {.lex_state = 467, .external_lex_state = 2},
  [2721] = {.lex_state = 467, .external_lex_state = 2},
  [2722] = {.lex_state = 702, .external_lex_state = 12},
  [2723] = {.lex_state = 467, .external_lex_state = 2},
  [2724] = {.lex_state = 488, .external_lex_state = 5},
  [2725] = {.lex_state = 532, .external_lex_state = 21},
  [2726] = {.lex_state = 543, .external_lex_state = 2},
  [2727] = {.lex_state = 545},
  [2728] = {.lex_state = 467, .external_lex_state = 2},
  [2729] = {.lex_state = 557, .external_lex_state = 23},
  [2730] = {.lex_state = 557, .external_lex_state = 24},
  [2731] = {.lex_state = 826, .external_lex_state = 66},
  [2732] = {.lex_state = 826, .external_lex_state = 66},
  [2733] = {.lex_state = 826, .external_lex_state = 66},
  [2734] = {.lex_state = 826, .external_lex_state = 66},
  [2735] = {.lex_state = 824, .external_lex_state = 67},
  [2736] = {.lex_state = 824, .external_lex_state = 67},
  [2737] = {.lex_state = 461, .external_lex_state = 27},
  [2738] = {.lex_state = 461, .external_lex_state = 27},
  [2739] = {.lex_state = 467, .external_lex_state = 27},
  [2740] = {.lex_state = 467, .external_lex_state = 27},
  [2741] = {.lex_state = 561, .external_lex_state = 24},
  [2742] = {.lex_state = 563, .external_lex_state = 28},
  [2743] = {.lex_state = 565, .external_lex_state = 28},
  [2744] = {.lex_state = 467, .external_lex_state = 2},
  [2745] = {.lex_state = 467, .external_lex_state = 2},
  [2746] = {.lex_state = 467, .external_lex_state = 27},
  [2747] = {.lex_state = 467, .external_lex_state = 2},
  [2748] = {.lex_state = 644, .external_lex_state = 66},
  [2749] = {.lex_state = 644, .external_lex_state = 68},
  [2750] = {.lex_state = 828, .external_lex_state = 67},
  [2751] = {.lex_state = 828, .external_lex_state = 67},
  [2752] = {.lex_state = 644, .external_lex_state = 66},
  [2753] = {.lex_state = 644, .external_lex_state = 66},
  [2754] = {.lex_state = 828, .external_lex_state = 67},
  [2755] = {.lex_state = 830, .external_lex_state = 65},
  [2756] = {.lex_state = 824, .external_lex_state = 65},
  [2757] = {.lex_state = 828, .external_lex_state = 65},
  [2758] = {.lex_state = 828, .external_lex_state = 65},
  [2759] = {.lex_state = 828, .external_lex_state = 65},
  [2760] = {.lex_state = 583, .external_lex_state = 12},
  [2761] = {.lex_state = 585},
  [2762] = {.lex_state = 824, .external_lex_state = 65},
  [2763] = {.lex_state = 824, .external_lex_state = 65},
  [2764] = {.lex_state = 828, .external_lex_state = 65},
  [2765] = {.lex_state = 644, .external_lex_state = 68},
  [2766] = {.lex_state = 615, .external_lex_state = 54},
  [2767] = {.lex_state = 824, .external_lex_state = 65},
  [2768] = {.lex_state = 615, .external_lex_state = 65},
  [2769] = {.lex_state = 824, .external_lex_state = 65},
  [2770] = {.lex_state = 824, .external_lex_state = 65},
  [2771] = {.lex_state = 549},
  [2772] = {.lex_state = 832, .external_lex_state = 65},
  [2773] = {.lex_state = 638, .external_lex_state = 22},
  [2774] = {.lex_state = 822, .external_lex_state = 64},
  [2775] = {.lex_state = 615, .external_lex_state = 54},
  [2776] = {.lex_state = 615, .external_lex_state = 54},
  [2777] = {.lex_state = 615, .external_lex_state = 54},
  [2778] = {.lex_state = 718, .external_lex_state = 7},
  [2779] = {.lex_state = 718, .external_lex_state = 7},
  [2780] = {.lex_state = 726, .external_lex_state = 13},
  [2781] = {.lex_state = 726, .external_lex_state = 13},
  [2782] = {.lex_state = 0},
  [2783] = {.lex_state = 0},
  [2784] = {.lex_state = 736, .external_lex_state = 13},
  [2785] = {.lex_state = 734, .external_lex_state = 7},
  [2786] = {.lex_state = 615, .external_lex_state = 54},
  [2787] = {.lex_state = 0},
  [2788] = {.lex_state = 565, .external_lex_state = 2},
  [2789] = {.lex_state = 627, .external_lex_state = 57},
  [2790] = {.lex_state = 627, .external_lex_state = 57},
  [2791] = {.lex_state = 629, .external_lex_state = 57},
  [2792] = {.lex_state = 545, .external_lex_state = 6},
  [2793] = {.lex_state = 834, .external_lex_state = 55},
  [2794] = {.lex_state = 461, .external_lex_state = 2},
  [2795] = {.lex_state = 834, .external_lex_state = 55},
  [2796] = {.lex_state = 834, .external_lex_state = 55},
  [2797] = {.lex_state = 836, .external_lex_state = 55},
  [2798] = {.lex_state = 834, .external_lex_state = 55},
  [2799] = {.lex_state = 615, .external_lex_state = 54},
  [2800] = {.lex_state = 615, .external_lex_state = 54},
  [2801] = {.lex_state = 783, .external_lex_state = 31},
  [2802] = {.lex_state = 0},
  [2803] = {.lex_state = 795, .external_lex_state = 2},
  [2804] = {.lex_state = 800, .external_lex_state = 11},
  [2805] = {.lex_state = 0},
  [2806] = {.lex_state = 615, .external_lex_state = 54},
  [2807] = {.lex_state = 461, .external_lex_state = 2},
  [2808] = {.lex_state = 0},
  [2809] = {.lex_state = 467, .external_lex_state = 2},
  [2810] = {.lex_state = 467, .external_lex_state = 2},
  [2811] = {.lex_state = 467, .external_lex_state = 2},
  [2812] = {.lex_state = 467, .external_lex_state = 2},
  [2813] = {.lex_state = 467, .external_lex_state = 2},
  [2814] = {.lex_state = 467, .external_lex_state = 2},
  [2815] = {.lex_state = 467, .external_lex_state = 2},
  [2816] = {.lex_state = 467, .external_lex_state = 2},
  [2817] = {.lex_state = 467, .external_lex_state = 2},
  [2818] = {.lex_state = 467, .external_lex_state = 2},
  [2819] = {.lex_state = 467, .external_lex_state = 2},
  [2820] = {.lex_state = 467, .external_lex_state = 2},
  [2821] = {.lex_state = 467, .external_lex_state = 2},
  [2822] = {.lex_state = 467, .external_lex_state = 2},
  [2823] = {.lex_state = 467, .external_lex_state = 2},
  [2824] = {.lex_state = 467, .external_lex_state = 2},
  [2825] = {.lex_state = 467, .external_lex_state = 2},
  [2826] = {.lex_state = 583, .external_lex_state = 12},
  [2827] = {.lex_state = 545},
  [2828] = {.lex_state = 806, .external_lex_state = 47},
  [2829] = {.lex_state = 838, .external_lex_state = 64},
  [2830] = {.lex_state = 828, .external_lex_state = 65},
  [2831] = {.lex_state = 828, .external_lex_state = 65},
  [2832] = {.lex_state = 828, .external_lex_state = 65},
  [2833] = {.lex_state = 828, .external_lex_state = 65},
  [2834] = {.lex_state = 461, .external_lex_state = 2},
  [2835] = {.lex_state = 461, .external_lex_state = 2},
  [2836] = {.lex_state = 461, .external_lex_state = 2},
  [2837] = {.lex_state = 461, .external_lex_state = 2},
  [2838] = {.lex_state = 461, .external_lex_state = 2},
  [2839] = {.lex_state = 828, .external_lex_state = 65},
  [2840] = {.lex_state = 467, .external_lex_state = 2},
  [2841] = {.lex_state = 467, .external_lex_state = 2},
  [2842] = {.lex_state = 702, .external_lex_state = 12},
  [2843] = {.lex_state = 467, .external_lex_state = 2},
  [2844] = {.lex_state = 810, .external_lex_state = 5},
  [2845] = {.lex_state = 532, .external_lex_state = 21},
  [2846] = {.lex_state = 543, .external_lex_state = 2},
  [2847] = {.lex_state = 467, .external_lex_state = 2},
  [2848] = {.lex_state = 557, .external_lex_state = 23},
  [2849] = {.lex_state = 557, .external_lex_state = 24},
  [2850] = {.lex_state = 644, .external_lex_state = 66},
  [2851] = {.lex_state = 644, .external_lex_state = 66},
  [2852] = {.lex_state = 644, .external_lex_state = 66},
  [2853] = {.lex_state = 644, .external_lex_state = 66},
  [2854] = {.lex_state = 828, .external_lex_state = 67},
  [2855] = {.lex_state = 828, .external_lex_state = 67},
  [2856] = {.lex_state = 461, .external_lex_state = 27},
  [2857] = {.lex_state = 461, .external_lex_state = 27},
  [2858] = {.lex_state = 467, .external_lex_state = 27},
  [2859] = {.lex_state = 467, .external_lex_state = 27},
  [2860] = {.lex_state = 561, .external_lex_state = 24},
  [2861] = {.lex_state = 800, .external_lex_state = 28},
  [2862] = {.lex_state = 563, .external_lex_state = 28},
  [2863] = {.lex_state = 565, .external_lex_state = 28},
  [2864] = {.lex_state = 467, .external_lex_state = 2},
  [2865] = {.lex_state = 467, .external_lex_state = 2},
  [2866] = {.lex_state = 467, .external_lex_state = 27},
  [2867] = {.lex_state = 467, .external_lex_state = 2},
  [2868] = {.lex_state = 644, .external_lex_state = 66},
  [2869] = {.lex_state = 840, .external_lex_state = 65},
  [2870] = {.lex_state = 828, .external_lex_state = 65},
  [2871] = {.lex_state = 583, .external_lex_state = 12},
  [2872] = {.lex_state = 585},
  [2873] = {.lex_state = 828, .external_lex_state = 65},
  [2874] = {.lex_state = 828, .external_lex_state = 65},
  [2875] = {.lex_state = 644, .external_lex_state = 68},
  [2876] = {.lex_state = 842, .external_lex_state = 54},
  [2877] = {.lex_state = 842, .external_lex_state = 65},
  [2878] = {.lex_state = 842, .external_lex_state = 65},
  [2879] = {.lex_state = 842, .external_lex_state = 65},
  [2880] = {.lex_state = 623, .external_lex_state = 54},
  [2881] = {.lex_state = 828, .external_lex_state = 65},
  [2882] = {.lex_state = 549},
  [2883] = {.lex_state = 828, .external_lex_state = 65},
  [2884] = {.lex_state = 638, .external_lex_state = 22},
  [2885] = {.lex_state = 838, .external_lex_state = 64},
  [2886] = {.lex_state = 467, .external_lex_state = 39},
  [2887] = {.lex_state = 467, .external_lex_state = 2},
  [2888] = {.lex_state = 613, .external_lex_state = 53},
  [2889] = {.lex_state = 613, .external_lex_state = 53},
  [2890] = {.lex_state = 617, .external_lex_state = 55},
  [2891] = {.lex_state = 617, .external_lex_state = 16},
  [2892] = {.lex_state = 461, .external_lex_state = 2},
  [2893] = {.lex_state = 635, .external_lex_state = 20},
  [2894] = {.lex_state = 0},
  [2895] = {.lex_state = 888, .external_lex_state = 30},
  [2896] = {.lex_state = 545, .external_lex_state = 6},
  [2897] = {.lex_state = 565, .external_lex_state = 2},
  [2898] = {.lex_state = 635, .external_lex_state = 20},
  [2899] = {.lex_state = 617, .external_lex_state = 16},
  [2900] = {.lex_state = 461, .external_lex_state = 2},
  [2901] = {.lex_state = 864, .external_lex_state = 46},
  [2902] = {.lex_state = 860, .external_lex_state = 45},
  [2903] = {.lex_state = 467, .external_lex_state = 2},
  [2904] = {.lex_state = 467, .external_lex_state = 2},
  [2905] = {.lex_state = 467, .external_lex_state = 2},
  [2906] = {.lex_state = 467, .external_lex_state = 2},
  [2907] = {.lex_state = 1154, .external_lex_state = 43},
  [2908] = {.lex_state = 1154, .external_lex_state = 43},
  [2909] = {.lex_state = 1154, .external_lex_state = 43},
  [2910] = {.lex_state = 1154, .external_lex_state = 43},
  [2911] = {.lex_state = 467, .external_lex_state = 2},
  [2912] = {.lex_state = 467, .external_lex_state = 2},
  [2913] = {.lex_state = 467, .external_lex_state = 27},
  [2914] = {.lex_state = 467, .external_lex_state = 2},
  [2915] = {.lex_state = 1156, .external_lex_state = 43},
  [2916] = {.lex_state = 1158, .external_lex_state = 42},
  [2917] = {.lex_state = 1156, .external_lex_state = 45},
  [2918] = {.lex_state = 1160, .external_lex_state = 42},
  [2919] = {.lex_state = 549},
  [2920] = {.lex_state = 1162, .external_lex_state = 42},
  [2921] = {.lex_state = 638, .external_lex_state = 22},
  [2922] = {.lex_state = 1164, .external_lex_state = 41},
  [2923] = {.lex_state = 864, .external_lex_state = 46},
  [2924] = {.lex_state = 864, .external_lex_state = 46},
  [2925] = {.lex_state = 467, .external_lex_state = 2},
  [2926] = {.lex_state = 467, .external_lex_state = 2},
  [2927] = {.lex_state = 467, .external_lex_state = 2},
  [2928] = {.lex_state = 467, .external_lex_state = 2},
  [2929] = {.lex_state = 467, .external_lex_state = 2},
  [2930] = {.lex_state = 467, .external_lex_state = 2},
  [2931] = {.lex_state = 467, .external_lex_state = 2},
  [2932] = {.lex_state = 467, .external_lex_state = 2},
  [2933] = {.lex_state = 467, .external_lex_state = 2},
  [2934] = {.lex_state = 467, .external_lex_state = 2},
  [2935] = {.lex_state = 467, .external_lex_state = 2},
  [2936] = {.lex_state = 467, .external_lex_state = 2},
  [2937] = {.lex_state = 583, .external_lex_state = 12},
  [2938] = {.lex_state = 545},
  [2939] = {.lex_state = 806, .external_lex_state = 47},
  [2940] = {.lex_state = 467, .external_lex_state = 2},
  [2941] = {.lex_state = 467, .external_lex_state = 2},
  [2942] = {.lex_state = 702, .external_lex_state = 12},
  [2943] = {.lex_state = 467, .external_lex_state = 2},
  [2944] = {.lex_state = 810, .external_lex_state = 5},
  [2945] = {.lex_state = 467, .external_lex_state = 2},
  [2946] = {.lex_state = 1156, .external_lex_state = 43},
  [2947] = {.lex_state = 1156, .external_lex_state = 43},
  [2948] = {.lex_state = 1156, .external_lex_state = 43},
  [2949] = {.lex_state = 1156, .external_lex_state = 43},
  [2950] = {.lex_state = 800, .external_lex_state = 28},
  [2951] = {.lex_state = 467, .external_lex_state = 2},
  [2952] = {.lex_state = 467, .external_lex_state = 2},
  [2953] = {.lex_state = 467, .external_lex_state = 27},
  [2954] = {.lex_state = 467, .external_lex_state = 2},
  [2955] = {.lex_state = 1156, .external_lex_state = 43},
  [2956] = {.lex_state = 1166, .external_lex_state = 42},
  [2957] = {.lex_state = 1156, .external_lex_state = 45},
  [2958] = {.lex_state = 1168, .external_lex_state = 42},
  [2959] = {.lex_state = 862, .external_lex_state = 42},
  [2960] = {.lex_state = 1170, .external_lex_state = 42},
  [2961] = {.lex_state = 862, .external_lex_state = 42},
  [2962] = {.lex_state = 862, .external_lex_state = 42},
  [2963] = {.lex_state = 549},
  [2964] = {.lex_state = 1166, .external_lex_state = 42},
  [2965] = {.lex_state = 638, .external_lex_state = 22},
  [2966] = {.lex_state = 1172, .external_lex_state = 41},
  [2967] = {.lex_state = 467, .external_lex_state = 39},
  [2968] = {.lex_state = 467, .external_lex_state = 2},
  [2969] = {.lex_state = 942, .external_lex_state = 13},
  [2970] = {.lex_state = 946, .external_lex_state = 7},
  [2971] = {.lex_state = 565, .external_lex_state = 2},
  [2972] = {.lex_state = 635, .external_lex_state = 20},
  [2973] = {.lex_state = 565, .external_lex_state = 2},
  [2974] = {.lex_state = 635, .external_lex_state = 26},
  [2975] = {.lex_state = 826, .external_lex_state = 45},
  [2976] = {.lex_state = 826, .external_lex_state = 45},
  [2977] = {.lex_state = 826, .external_lex_state = 45},
  [2978] = {.lex_state = 826, .external_lex_state = 45},
  [2979] = {.lex_state = 653, .external_lex_state = 42},
  [2980] = {.lex_state = 653, .external_lex_state = 42},
  [2981] = {.lex_state = 769, .external_lex_state = 42},
  [2982] = {.lex_state = 960, .external_lex_state = 31},
  [2983] = {.lex_state = 0},
  [2984] = {.lex_state = 653, .external_lex_state = 42},
  [2985] = {.lex_state = 653, .external_lex_state = 42},
  [2986] = {.lex_state = 653, .external_lex_state = 42},
  [2987] = {.lex_state = 653, .external_lex_state = 42},
  [2988] = {.lex_state = 769, .external_lex_state = 42},
  [2989] = {.lex_state = 467, .external_lex_state = 2},
  [2990] = {.lex_state = 467, .external_lex_state = 2},
  [2991] = {.lex_state = 467, .external_lex_state = 2},
  [2992] = {.lex_state = 467, .external_lex_state = 2},
  [2993] = {.lex_state = 467, .external_lex_state = 2},
  [2994] = {.lex_state = 467, .external_lex_state = 2},
  [2995] = {.lex_state = 467, .external_lex_state = 2},
  [2996] = {.lex_state = 467, .external_lex_state = 2},
  [2997] = {.lex_state = 467, .external_lex_state = 2},
  [2998] = {.lex_state = 467, .external_lex_state = 2},
  [2999] = {.lex_state = 467, .external_lex_state = 2},
  [3000] = {.lex_state = 467, .external_lex_state = 2},
  [3001] = {.lex_state = 467, .external_lex_state = 2},
  [3002] = {.lex_state = 769, .external_lex_state = 42},
  [3003] = {.lex_state = 461, .external_lex_state = 2},
  [3004] = {.lex_state = 769, .external_lex_state = 42},
  [3005] = {.lex_state = 769, .external_lex_state = 42},
  [3006] = {.lex_state = 968, .external_lex_state = 12},
  [3007] = {.lex_state = 653, .external_lex_state = 42},
  [3008] = {.lex_state = 467, .external_lex_state = 39},
  [3009] = {.lex_state = 467, .external_lex_state = 2},
  [3010] = {.lex_state = 467, .external_lex_state = 2},
  [3011] = {.lex_state = 985, .external_lex_state = 11},
  [3012] = {.lex_state = 996, .external_lex_state = 2},
  [3013] = {.lex_state = 746, .external_lex_state = 2},
  [3014] = {.lex_state = 746, .external_lex_state = 2},
  [3015] = {.lex_state = 1020, .external_lex_state = 7},
  [3016] = {.lex_state = 635, .external_lex_state = 20},
  [3017] = {.lex_state = 0},
  [3018] = {.lex_state = 734, .external_lex_state = 7},
  [3019] = {.lex_state = 635, .external_lex_state = 20},
  [3020] = {.lex_state = 0},
  [3021] = {.lex_state = 864, .external_lex_state = 46},
  [3022] = {.lex_state = 0},
  [3023] = {.lex_state = 635, .external_lex_state = 20},
  [3024] = {.lex_state = 0},
  [3025] = {.lex_state = 631, .external_lex_state = 2},
  [3026] = {.lex_state = 635, .external_lex_state = 20},
  [3027] = {.lex_state = 0},
  [3028] = {.lex_state = 746, .external_lex_state = 11},
  [3029] = {.lex_state = 800, .external_lex_state = 11},
  [3030] = {.lex_state = 635, .external_lex_state = 20},
  [3031] = {.lex_state = 651, .external_lex_state = 30},
  [3032] = {.lex_state = 651, .external_lex_state = 30},
  [3033] = {.lex_state = 651, .external_lex_state = 30},
  [3034] = {.lex_state = 651, .external_lex_state = 30},
  [3035] = {.lex_state = 651, .external_lex_state = 30},
  [3036] = {.lex_state = 651, .external_lex_state = 30},
  [3037] = {.lex_state = 1116, .external_lex_state = 30},
  [3038] = {.lex_state = 651, .external_lex_state = 30},
  [3039] = {.lex_state = 651, .external_lex_state = 30},
  [3040] = {.lex_state = 651, .external_lex_state = 30},
  [3041] = {.lex_state = 651, .external_lex_state = 30},
  [3042] = {.lex_state = 651, .external_lex_state = 30},
  [3043] = {.lex_state = 646, .external_lex_state = 20},
  [3044] = {.lex_state = 783, .external_lex_state = 31},
  [3045] = {.lex_state = 0},
  [3046] = {.lex_state = 644, .external_lex_state = 29},
  [3047] = {.lex_state = 702, .external_lex_state = 12},
  [3048] = {.lex_state = 644, .external_lex_state = 29},
  [3049] = {.lex_state = 644, .external_lex_state = 29},
  [3050] = {.lex_state = 644, .external_lex_state = 29},
  [3051] = {.lex_state = 617, .external_lex_state = 16},
  [3052] = {.lex_state = 461, .external_lex_state = 2},
  [3053] = {.lex_state = 617, .external_lex_state = 16},
  [3054] = {.lex_state = 461, .external_lex_state = 2},
  [3055] = {.lex_state = 617, .external_lex_state = 16},
  [3056] = {.lex_state = 461, .external_lex_state = 2},
  [3057] = {.lex_state = 617, .external_lex_state = 16},
  [3058] = {.lex_state = 461, .external_lex_state = 2},
  [3059] = {.lex_state = 617, .external_lex_state = 16},
  [3060] = {.lex_state = 461, .external_lex_state = 2},
  [3061] = {.lex_state = 874, .external_lex_state = 59},
  [3062] = {.lex_state = 461, .external_lex_state = 2},
  [3063] = {.lex_state = 488, .external_lex_state = 5},
  [3064] = {.lex_state = 532, .external_lex_state = 6},
  [3065] = {.lex_state = 557, .external_lex_state = 9},
  [3066] = {.lex_state = 557, .external_lex_state = 8},
  [3067] = {.lex_state = 644, .external_lex_state = 45},
  [3068] = {.lex_state = 644, .external_lex_state = 45},
  [3069] = {.lex_state = 644, .external_lex_state = 45},
  [3070] = {.lex_state = 644, .external_lex_state = 45},
  [3071] = {.lex_state = 777, .external_lex_state = 42},
  [3072] = {.lex_state = 777, .external_lex_state = 42},
  [3073] = {.lex_state = 461, .external_lex_state = 2},
  [3074] = {.lex_state = 461, .external_lex_state = 2},
  [3075] = {.lex_state = 467, .external_lex_state = 2},
  [3076] = {.lex_state = 467, .external_lex_state = 2},
  [3077] = {.lex_state = 561, .external_lex_state = 8},
  [3078] = {.lex_state = 563, .external_lex_state = 11},
  [3079] = {.lex_state = 565, .external_lex_state = 11},
  [3080] = {.lex_state = 878, .external_lex_state = 42},
  [3081] = {.lex_state = 874, .external_lex_state = 59},
  [3082] = {.lex_state = 878, .external_lex_state = 42},
  [3083] = {.lex_state = 777, .external_lex_state = 42},
  [3084] = {.lex_state = 960, .external_lex_state = 31},
  [3085] = {.lex_state = 0},
  [3086] = {.lex_state = 878, .external_lex_state = 42},
  [3087] = {.lex_state = 777, .external_lex_state = 42},
  [3088] = {.lex_state = 0},
  [3089] = {.lex_state = 631, .external_lex_state = 2},
  [3090] = {.lex_state = 0},
  [3091] = {.lex_state = 659, .external_lex_state = 31},
  [3092] = {.lex_state = 467, .external_lex_state = 2},
  [3093] = {.lex_state = 777, .external_lex_state = 42},
  [3094] = {.lex_state = 585},
  [3095] = {.lex_state = 661, .external_lex_state = 7},
  [3096] = {.lex_state = 777, .external_lex_state = 42},
  [3097] = {.lex_state = 0},
  [3098] = {.lex_state = 878, .external_lex_state = 42},
  [3099] = {.lex_state = 467, .external_lex_state = 2},
  [3100] = {.lex_state = 697, .external_lex_state = 35},
  [3101] = {.lex_state = 697, .external_lex_state = 35},
  [3102] = {.lex_state = 700, .external_lex_state = 35},
  [3103] = {.lex_state = 700, .external_lex_state = 35},
  [3104] = {.lex_state = 777, .external_lex_state = 42},
  [3105] = {.lex_state = 777, .external_lex_state = 42},
  [3106] = {.lex_state = 777, .external_lex_state = 42},
  [3107] = {.lex_state = 777, .external_lex_state = 42},
  [3108] = {.lex_state = 718, .external_lex_state = 7},
  [3109] = {.lex_state = 718, .external_lex_state = 7},
  [3110] = {.lex_state = 726, .external_lex_state = 13},
  [3111] = {.lex_state = 726, .external_lex_state = 13},
  [3112] = {.lex_state = 0},
  [3113] = {.lex_state = 646, .external_lex_state = 20},
  [3114] = {.lex_state = 0},
  [3115] = {.lex_state = 746, .external_lex_state = 11},
  [3116] = {.lex_state = 800, .external_lex_state = 11},
  [3117] = {.lex_state = 0},
  [3118] = {.lex_state = 736, .external_lex_state = 13},
  [3119] = {.lex_state = 734, .external_lex_state = 7},
  [3120] = {.lex_state = 777, .external_lex_state = 42},
  [3121] = {.lex_state = 0},
  [3122] = {.lex_state = 565, .external_lex_state = 2},
  [3123] = {.lex_state = 878, .external_lex_state = 42},
  [3124] = {.lex_state = 878, .external_lex_state = 42},
  [3125] = {.lex_state = 777, .external_lex_state = 42},
  [3126] = {.lex_state = 467, .external_lex_state = 2},
  [3127] = {.lex_state = 777, .external_lex_state = 42},
  [3128] = {.lex_state = 777, .external_lex_state = 42},
  [3129] = {.lex_state = 783, .external_lex_state = 31},
  [3130] = {.lex_state = 0},
  [3131] = {.lex_state = 795, .external_lex_state = 2},
  [3132] = {.lex_state = 800, .external_lex_state = 11},
  [3133] = {.lex_state = 0},
  [3134] = {.lex_state = 777, .external_lex_state = 42},
  [3135] = {.lex_state = 467, .external_lex_state = 2},
  [3136] = {.lex_state = 467, .external_lex_state = 2},
  [3137] = {.lex_state = 467, .external_lex_state = 2},
  [3138] = {.lex_state = 467, .external_lex_state = 2},
  [3139] = {.lex_state = 467, .external_lex_state = 2},
  [3140] = {.lex_state = 467, .external_lex_state = 2},
  [3141] = {.lex_state = 467, .external_lex_state = 2},
  [3142] = {.lex_state = 467, .external_lex_state = 2},
  [3143] = {.lex_state = 467, .external_lex_state = 2},
  [3144] = {.lex_state = 467, .external_lex_state = 2},
  [3145] = {.lex_state = 467, .external_lex_state = 2},
  [3146] = {.lex_state = 467, .external_lex_state = 2},
  [3147] = {.lex_state = 777, .external_lex_state = 42},
  [3148] = {.lex_state = 795, .external_lex_state = 2},
  [3149] = {.lex_state = 800, .external_lex_state = 11},
  [3150] = {.lex_state = 646, .external_lex_state = 20},
  [3151] = {.lex_state = 777, .external_lex_state = 42},
  [3152] = {.lex_state = 461, .external_lex_state = 2},
  [3153] = {.lex_state = 777, .external_lex_state = 42},
  [3154] = {.lex_state = 777, .external_lex_state = 42},
  [3155] = {.lex_state = 968, .external_lex_state = 12},
  [3156] = {.lex_state = 878, .external_lex_state = 42},
  [3157] = {.lex_state = 467, .external_lex_state = 39},
  [3158] = {.lex_state = 467, .external_lex_state = 2},
  [3159] = {.lex_state = 467, .external_lex_state = 2},
  [3160] = {.lex_state = 874, .external_lex_state = 59},
  [3161] = {.lex_state = 874, .external_lex_state = 59},
  [3162] = {.lex_state = 467, .external_lex_state = 2},
  [3163] = {.lex_state = 467, .external_lex_state = 2},
  [3164] = {.lex_state = 467, .external_lex_state = 2},
  [3165] = {.lex_state = 467, .external_lex_state = 2},
  [3166] = {.lex_state = 467, .external_lex_state = 2},
  [3167] = {.lex_state = 1174, .external_lex_state = 30},
  [3168] = {.lex_state = 657, .external_lex_state = 30},
  [3169] = {.lex_state = 657, .external_lex_state = 30},
  [3170] = {.lex_state = 1174, .external_lex_state = 30},
  [3171] = {.lex_state = 549},
  [3172] = {.lex_state = 646, .external_lex_state = 20},
  [3173] = {.lex_state = 651, .external_lex_state = 30},
  [3174] = {.lex_state = 864, .external_lex_state = 46},
  [3175] = {.lex_state = 856, .external_lex_state = 58},
  [3176] = {.lex_state = 458, .external_lex_state = 4},
  [3177] = {.lex_state = 488, .external_lex_state = 5},
  [3178] = {.lex_state = 461, .external_lex_state = 2},
  [3179] = {.lex_state = 488, .external_lex_state = 5},
  [3180] = {.lex_state = 659, .external_lex_state = 31},
  [3181] = {.lex_state = 591, .external_lex_state = 7},
  [3182] = {.lex_state = 661, .external_lex_state = 7},
  [3183] = {.lex_state = 617, .external_lex_state = 16},
  [3184] = {.lex_state = 888, .external_lex_state = 30},
  [3185] = {.lex_state = 884, .external_lex_state = 29},
  [3186] = {.lex_state = 467, .external_lex_state = 2},
  [3187] = {.lex_state = 467, .external_lex_state = 2},
  [3188] = {.lex_state = 467, .external_lex_state = 2},
  [3189] = {.lex_state = 467, .external_lex_state = 2},
  [3190] = {.lex_state = 467, .external_lex_state = 2},
  [3191] = {.lex_state = 467, .external_lex_state = 2},
  [3192] = {.lex_state = 467, .external_lex_state = 27},
  [3193] = {.lex_state = 467, .external_lex_state = 2},
  [3194] = {.lex_state = 956, .external_lex_state = 43},
  [3195] = {.lex_state = 1176, .external_lex_state = 42},
  [3196] = {.lex_state = 1178, .external_lex_state = 42},
  [3197] = {.lex_state = 549},
  [3198] = {.lex_state = 964, .external_lex_state = 42},
  [3199] = {.lex_state = 638, .external_lex_state = 22},
  [3200] = {.lex_state = 966, .external_lex_state = 41},
  [3201] = {.lex_state = 888, .external_lex_state = 30},
  [3202] = {.lex_state = 888, .external_lex_state = 30},
  [3203] = {.lex_state = 467, .external_lex_state = 2},
  [3204] = {.lex_state = 467, .external_lex_state = 2},
  [3205] = {.lex_state = 585},
  [3206] = {.lex_state = 467, .external_lex_state = 2},
  [3207] = {.lex_state = 467, .external_lex_state = 2},
  [3208] = {.lex_state = 467, .external_lex_state = 2},
  [3209] = {.lex_state = 467, .external_lex_state = 2},
  [3210] = {.lex_state = 467, .external_lex_state = 2},
  [3211] = {.lex_state = 467, .external_lex_state = 2},
  [3212] = {.lex_state = 467, .external_lex_state = 2},
  [3213] = {.lex_state = 467, .external_lex_state = 2},
  [3214] = {.lex_state = 467, .external_lex_state = 2},
  [3215] = {.lex_state = 467, .external_lex_state = 2},
  [3216] = {.lex_state = 583, .external_lex_state = 12},
  [3217] = {.lex_state = 545},
  [3218] = {.lex_state = 806, .external_lex_state = 47},
  [3219] = {.lex_state = 467, .external_lex_state = 2},
  [3220] = {.lex_state = 467, .external_lex_state = 2},
  [3221] = {.lex_state = 467, .external_lex_state = 2},
  [3222] = {.lex_state = 810, .external_lex_state = 5},
  [3223] = {.lex_state = 467, .external_lex_state = 2},
  [3224] = {.lex_state = 956, .external_lex_state = 43},
  [3225] = {.lex_state = 956, .external_lex_state = 43},
  [3226] = {.lex_state = 956, .external_lex_state = 43},
  [3227] = {.lex_state = 956, .external_lex_state = 43},
  [3228] = {.lex_state = 800, .external_lex_state = 28},
  [3229] = {.lex_state = 467, .external_lex_state = 2},
  [3230] = {.lex_state = 467, .external_lex_state = 2},
  [3231] = {.lex_state = 467, .external_lex_state = 27},
  [3232] = {.lex_state = 467, .external_lex_state = 2},
  [3233] = {.lex_state = 956, .external_lex_state = 43},
  [3234] = {.lex_state = 1180, .external_lex_state = 42},
  [3235] = {.lex_state = 956, .external_lex_state = 45},
  [3236] = {.lex_state = 886, .external_lex_state = 20},
  [3237] = {.lex_state = 1182, .external_lex_state = 42},
  [3238] = {.lex_state = 886, .external_lex_state = 20},
  [3239] = {.lex_state = 549},
  [3240] = {.lex_state = 1180, .external_lex_state = 42},
  [3241] = {.lex_state = 638, .external_lex_state = 22},
  [3242] = {.lex_state = 1184, .external_lex_state = 41},
  [3243] = {.lex_state = 467, .external_lex_state = 39},
  [3244] = {.lex_state = 467, .external_lex_state = 2},
  [3245] = {.lex_state = 1186, .external_lex_state = 7},
  [3246] = {.lex_state = 458, .external_lex_state = 4},
  [3247] = {.lex_state = 565, .external_lex_state = 11},
  [3248] = {.lex_state = 0},
  [3249] = {.lex_state = 900, .external_lex_state = 7},
  [3250] = {.lex_state = 900, .external_lex_state = 7},
  [3251] = {.lex_state = 900, .external_lex_state = 7},
  [3252] = {.lex_state = 585},
  [3253] = {.lex_state = 1188, .external_lex_state = 11},
  [3254] = {.lex_state = 467, .external_lex_state = 2},
  [3255] = {.lex_state = 458, .external_lex_state = 4},
  [3256] = {.lex_state = 0},
  [3257] = {.lex_state = 661},
  [3258] = {.lex_state = 565, .external_lex_state = 2},
  [3259] = {.lex_state = 467, .external_lex_state = 2},
  [3260] = {.lex_state = 467, .external_lex_state = 2},
  [3261] = {.lex_state = 467, .external_lex_state = 2},
  [3262] = {.lex_state = 467, .external_lex_state = 2},
  [3263] = {.lex_state = 1190, .external_lex_state = 43},
  [3264] = {.lex_state = 1190, .external_lex_state = 43},
  [3265] = {.lex_state = 1190, .external_lex_state = 43},
  [3266] = {.lex_state = 1190, .external_lex_state = 43},
  [3267] = {.lex_state = 467, .external_lex_state = 2},
  [3268] = {.lex_state = 467, .external_lex_state = 2},
  [3269] = {.lex_state = 467, .external_lex_state = 27},
  [3270] = {.lex_state = 467, .external_lex_state = 2},
  [3271] = {.lex_state = 956, .external_lex_state = 43},
  [3272] = {.lex_state = 1192, .external_lex_state = 42},
  [3273] = {.lex_state = 1194, .external_lex_state = 61},
  [3274] = {.lex_state = 549},
  [3275] = {.lex_state = 1180, .external_lex_state = 42},
  [3276] = {.lex_state = 638, .external_lex_state = 22},
  [3277] = {.lex_state = 1196, .external_lex_state = 41},
  [3278] = {.lex_state = 467, .external_lex_state = 2},
  [3279] = {.lex_state = 467, .external_lex_state = 2},
  [3280] = {.lex_state = 467, .external_lex_state = 2},
  [3281] = {.lex_state = 467, .external_lex_state = 2},
  [3282] = {.lex_state = 912, .external_lex_state = 4},
  [3283] = {.lex_state = 549},
  [3284] = {.lex_state = 683, .external_lex_state = 4},
  [3285] = {.lex_state = 912, .external_lex_state = 4},
  [3286] = {.lex_state = 902, .external_lex_state = 10},
  [3287] = {.lex_state = 902, .external_lex_state = 10},
  [3288] = {.lex_state = 902, .external_lex_state = 10},
  [3289] = {.lex_state = 902, .external_lex_state = 10},
  [3290] = {.lex_state = 908, .external_lex_state = 4},
  [3291] = {.lex_state = 906, .external_lex_state = 10},
  [3292] = {.lex_state = 912, .external_lex_state = 4},
  [3293] = {.lex_state = 467, .external_lex_state = 2},
  [3294] = {.lex_state = 467, .external_lex_state = 2},
  [3295] = {.lex_state = 467, .external_lex_state = 2},
  [3296] = {.lex_state = 904, .external_lex_state = 37},
  [3297] = {.lex_state = 908, .external_lex_state = 4},
  [3298] = {.lex_state = 908, .external_lex_state = 4},
  [3299] = {.lex_state = 638, .external_lex_state = 22},
  [3300] = {.lex_state = 916, .external_lex_state = 36},
  [3301] = {.lex_state = 908, .external_lex_state = 4},
  [3302] = {.lex_state = 908, .external_lex_state = 4},
  [3303] = {.lex_state = 467, .external_lex_state = 2},
  [3304] = {.lex_state = 467, .external_lex_state = 2},
  [3305] = {.lex_state = 467, .external_lex_state = 2},
  [3306] = {.lex_state = 467, .external_lex_state = 2},
  [3307] = {.lex_state = 467, .external_lex_state = 2},
  [3308] = {.lex_state = 467, .external_lex_state = 2},
  [3309] = {.lex_state = 467, .external_lex_state = 2},
  [3310] = {.lex_state = 467, .external_lex_state = 2},
  [3311] = {.lex_state = 467, .external_lex_state = 2},
  [3312] = {.lex_state = 467, .external_lex_state = 2},
  [3313] = {.lex_state = 467, .external_lex_state = 2},
  [3314] = {.lex_state = 467, .external_lex_state = 2},
  [3315] = {.lex_state = 467, .external_lex_state = 2},
  [3316] = {.lex_state = 545},
  [3317] = {.lex_state = 806, .external_lex_state = 47},
  [3318] = {.lex_state = 467, .external_lex_state = 2},
  [3319] = {.lex_state = 467, .external_lex_state = 2},
  [3320] = {.lex_state = 467, .external_lex_state = 2},
  [3321] = {.lex_state = 904, .external_lex_state = 37},
  [3322] = {.lex_state = 920, .external_lex_state = 4},
  [3323] = {.lex_state = 920, .external_lex_state = 4},
  [3324] = {.lex_state = 638, .external_lex_state = 22},
  [3325] = {.lex_state = 926, .external_lex_state = 36},
  [3326] = {.lex_state = 968, .external_lex_state = 12},
  [3327] = {.lex_state = 912, .external_lex_state = 4},
  [3328] = {.lex_state = 467, .external_lex_state = 39},
  [3329] = {.lex_state = 467, .external_lex_state = 2},
  [3330] = {.lex_state = 467, .external_lex_state = 2},
  [3331] = {.lex_state = 617, .external_lex_state = 55},
  [3332] = {.lex_state = 461, .external_lex_state = 2},
  [3333] = {.lex_state = 543, .external_lex_state = 2},
  [3334] = {.lex_state = 677, .external_lex_state = 13},
  [3335] = {.lex_state = 677, .external_lex_state = 13},
  [3336] = {.lex_state = 677, .external_lex_state = 13},
  [3337] = {.lex_state = 677, .external_lex_state = 13},
  [3338] = {.lex_state = 677, .external_lex_state = 13},
  [3339] = {.lex_state = 677, .external_lex_state = 13},
  [3340] = {.lex_state = 677, .external_lex_state = 13},
  [3341] = {.lex_state = 677, .external_lex_state = 13},
  [3342] = {.lex_state = 677, .external_lex_state = 13},
  [3343] = {.lex_state = 677, .external_lex_state = 13},
  [3344] = {.lex_state = 677, .external_lex_state = 13},
  [3345] = {.lex_state = 1116, .external_lex_state = 30},
  [3346] = {.lex_state = 677, .external_lex_state = 13},
  [3347] = {.lex_state = 677, .external_lex_state = 13},
  [3348] = {.lex_state = 677, .external_lex_state = 13},
  [3349] = {.lex_state = 677, .external_lex_state = 13},
  [3350] = {.lex_state = 677, .external_lex_state = 13},
  [3351] = {.lex_state = 671, .external_lex_state = 10},
  [3352] = {.lex_state = 702, .external_lex_state = 12},
  [3353] = {.lex_state = 671, .external_lex_state = 10},
  [3354] = {.lex_state = 671, .external_lex_state = 10},
  [3355] = {.lex_state = 671, .external_lex_state = 10},
  [3356] = {.lex_state = 467, .external_lex_state = 2},
  [3357] = {.lex_state = 681, .external_lex_state = 10},
  [3358] = {.lex_state = 681, .external_lex_state = 10},
  [3359] = {.lex_state = 681, .external_lex_state = 10},
  [3360] = {.lex_state = 681, .external_lex_state = 10},
  [3361] = {.lex_state = 467, .external_lex_state = 2},
  [3362] = {.lex_state = 467, .external_lex_state = 2},
  [3363] = {.lex_state = 467, .external_lex_state = 2},
  [3364] = {.lex_state = 924, .external_lex_state = 4},
  [3365] = {.lex_state = 1198, .external_lex_state = 4},
  [3366] = {.lex_state = 681, .external_lex_state = 10},
  [3367] = {.lex_state = 549},
  [3368] = {.lex_state = 924, .external_lex_state = 4},
  [3369] = {.lex_state = 924, .external_lex_state = 4},
  [3370] = {.lex_state = 904, .external_lex_state = 10},
  [3371] = {.lex_state = 904, .external_lex_state = 10},
  [3372] = {.lex_state = 904, .external_lex_state = 10},
  [3373] = {.lex_state = 904, .external_lex_state = 10},
  [3374] = {.lex_state = 920, .external_lex_state = 4},
  [3375] = {.lex_state = 924, .external_lex_state = 4},
  [3376] = {.lex_state = 920, .external_lex_state = 4},
  [3377] = {.lex_state = 920, .external_lex_state = 4},
  [3378] = {.lex_state = 467, .external_lex_state = 2},
  [3379] = {.lex_state = 467, .external_lex_state = 2},
  [3380] = {.lex_state = 467, .external_lex_state = 2},
  [3381] = {.lex_state = 467, .external_lex_state = 2},
  [3382] = {.lex_state = 467, .external_lex_state = 2},
  [3383] = {.lex_state = 467, .external_lex_state = 2},
  [3384] = {.lex_state = 467, .external_lex_state = 2},
  [3385] = {.lex_state = 467, .external_lex_state = 2},
  [3386] = {.lex_state = 467, .external_lex_state = 2},
  [3387] = {.lex_state = 467, .external_lex_state = 2},
  [3388] = {.lex_state = 467, .external_lex_state = 2},
  [3389] = {.lex_state = 467, .external_lex_state = 2},
  [3390] = {.lex_state = 467, .external_lex_state = 2},
  [3391] = {.lex_state = 968, .external_lex_state = 12},
  [3392] = {.lex_state = 924, .external_lex_state = 4},
  [3393] = {.lex_state = 467, .external_lex_state = 39},
  [3394] = {.lex_state = 467, .external_lex_state = 2},
  [3395] = {.lex_state = 467, .external_lex_state = 2},
  [3396] = {.lex_state = 467, .external_lex_state = 2},
  [3397] = {.lex_state = 467, .external_lex_state = 2},
  [3398] = {.lex_state = 467, .external_lex_state = 2},
  [3399] = {.lex_state = 467, .external_lex_state = 2},
  [3400] = {.lex_state = 467, .external_lex_state = 2},
  [3401] = {.lex_state = 1200, .external_lex_state = 13},
  [3402] = {.lex_state = 1200, .external_lex_state = 13},
  [3403] = {.lex_state = 549},
  [3404] = {.lex_state = 683, .external_lex_state = 4},
  [3405] = {.lex_state = 677, .external_lex_state = 13},
  [3406] = {.lex_state = 685, .external_lex_state = 32},
  [3407] = {.lex_state = 617, .external_lex_state = 16},
  [3408] = {.lex_state = 687, .external_lex_state = 33},
  [3409] = {.lex_state = 617, .external_lex_state = 16},
  [3410] = {.lex_state = 687, .external_lex_state = 33},
  [3411] = {.lex_state = 617, .external_lex_state = 16},
  [3412] = {.lex_state = 687, .external_lex_state = 33},
  [3413] = {.lex_state = 617, .external_lex_state = 16},
  [3414] = {.lex_state = 687, .external_lex_state = 33},
  [3415] = {.lex_state = 617, .external_lex_state = 16},
  [3416] = {.lex_state = 687, .external_lex_state = 33},
  [3417] = {.lex_state = 0},
  [3418] = {.lex_state = 888, .external_lex_state = 30},
  [3419] = {.lex_state = 545, .external_lex_state = 6},
  [3420] = {.lex_state = 565, .external_lex_state = 2},
  [3421] = {.lex_state = 687, .external_lex_state = 33},
  [3422] = {.lex_state = 942, .external_lex_state = 13},
  [3423] = {.lex_state = 946, .external_lex_state = 7},
  [3424] = {.lex_state = 565, .external_lex_state = 2},
  [3425] = {.lex_state = 687, .external_lex_state = 33},
  [3426] = {.lex_state = 565, .external_lex_state = 2},
  [3427] = {.lex_state = 687, .external_lex_state = 69},
  [3428] = {.lex_state = 467, .external_lex_state = 2},
  [3429] = {.lex_state = 619, .external_lex_state = 45},
  [3430] = {.lex_state = 619, .external_lex_state = 45},
  [3431] = {.lex_state = 619, .external_lex_state = 45},
  [3432] = {.lex_state = 619, .external_lex_state = 45},
  [3433] = {.lex_state = 467, .external_lex_state = 2},
  [3434] = {.lex_state = 467, .external_lex_state = 2},
  [3435] = {.lex_state = 467, .external_lex_state = 2},
  [3436] = {.lex_state = 1202, .external_lex_state = 42},
  [3437] = {.lex_state = 621, .external_lex_state = 45},
  [3438] = {.lex_state = 549},
  [3439] = {.lex_state = 1204, .external_lex_state = 42},
  [3440] = {.lex_state = 1202, .external_lex_state = 42},
  [3441] = {.lex_state = 930, .external_lex_state = 61},
  [3442] = {.lex_state = 960, .external_lex_state = 31},
  [3443] = {.lex_state = 0},
  [3444] = {.lex_state = 1202, .external_lex_state = 42},
  [3445] = {.lex_state = 467, .external_lex_state = 2},
  [3446] = {.lex_state = 930, .external_lex_state = 61},
  [3447] = {.lex_state = 461, .external_lex_state = 2},
  [3448] = {.lex_state = 930, .external_lex_state = 61},
  [3449] = {.lex_state = 930, .external_lex_state = 61},
  [3450] = {.lex_state = 968, .external_lex_state = 12},
  [3451] = {.lex_state = 932, .external_lex_state = 61},
  [3452] = {.lex_state = 467, .external_lex_state = 2},
  [3453] = {.lex_state = 985, .external_lex_state = 11},
  [3454] = {.lex_state = 996, .external_lex_state = 2},
  [3455] = {.lex_state = 746, .external_lex_state = 2},
  [3456] = {.lex_state = 746, .external_lex_state = 2},
  [3457] = {.lex_state = 1020, .external_lex_state = 7},
  [3458] = {.lex_state = 687, .external_lex_state = 33},
  [3459] = {.lex_state = 0},
  [3460] = {.lex_state = 734, .external_lex_state = 7},
  [3461] = {.lex_state = 687, .external_lex_state = 33},
  [3462] = {.lex_state = 0},
  [3463] = {.lex_state = 0},
  [3464] = {.lex_state = 607, .external_lex_state = 33},
  [3465] = {.lex_state = 0},
  [3466] = {.lex_state = 631, .external_lex_state = 2},
  [3467] = {.lex_state = 607, .external_lex_state = 33},
  [3468] = {.lex_state = 0},
  [3469] = {.lex_state = 746, .external_lex_state = 11},
  [3470] = {.lex_state = 800, .external_lex_state = 11},
  [3471] = {.lex_state = 687, .external_lex_state = 33},
  [3472] = {.lex_state = 607, .external_lex_state = 33},
  [3473] = {.lex_state = 783, .external_lex_state = 31},
  [3474] = {.lex_state = 0},
  [3475] = {.lex_state = 691, .external_lex_state = 34},
  [3476] = {.lex_state = 702, .external_lex_state = 12},
  [3477] = {.lex_state = 691, .external_lex_state = 34},
  [3478] = {.lex_state = 691, .external_lex_state = 34},
  [3479] = {.lex_state = 691, .external_lex_state = 34},
  [3480] = {.lex_state = 1206, .external_lex_state = 59},
  [3481] = {.lex_state = 1208, .external_lex_state = 42},
  [3482] = {.lex_state = 1208, .external_lex_state = 42},
  [3483] = {.lex_state = 1208, .external_lex_state = 42},
  [3484] = {.lex_state = 1208, .external_lex_state = 42},
  [3485] = {.lex_state = 461, .external_lex_state = 2},
  [3486] = {.lex_state = 461, .external_lex_state = 2},
  [3487] = {.lex_state = 461, .external_lex_state = 2},
  [3488] = {.lex_state = 461, .external_lex_state = 2},
  [3489] = {.lex_state = 461, .external_lex_state = 2},
  [3490] = {.lex_state = 1208, .external_lex_state = 42},
  [3491] = {.lex_state = 467, .external_lex_state = 2},
  [3492] = {.lex_state = 488, .external_lex_state = 5},
  [3493] = {.lex_state = 532, .external_lex_state = 6},
  [3494] = {.lex_state = 543, .external_lex_state = 2},
  [3495] = {.lex_state = 557, .external_lex_state = 9},
  [3496] = {.lex_state = 557, .external_lex_state = 8},
  [3497] = {.lex_state = 1210, .external_lex_state = 45},
  [3498] = {.lex_state = 1210, .external_lex_state = 45},
  [3499] = {.lex_state = 1210, .external_lex_state = 45},
  [3500] = {.lex_state = 1210, .external_lex_state = 45},
  [3501] = {.lex_state = 1208, .external_lex_state = 42},
  [3502] = {.lex_state = 1208, .external_lex_state = 42},
  [3503] = {.lex_state = 461, .external_lex_state = 2},
  [3504] = {.lex_state = 461, .external_lex_state = 2},
  [3505] = {.lex_state = 467, .external_lex_state = 2},
  [3506] = {.lex_state = 467, .external_lex_state = 2},
  [3507] = {.lex_state = 561, .external_lex_state = 8},
  [3508] = {.lex_state = 563, .external_lex_state = 11},
  [3509] = {.lex_state = 565, .external_lex_state = 11},
  [3510] = {.lex_state = 467, .external_lex_state = 2},
  [3511] = {.lex_state = 467, .external_lex_state = 2},
  [3512] = {.lex_state = 467, .external_lex_state = 2},
  [3513] = {.lex_state = 1212, .external_lex_state = 42},
  [3514] = {.lex_state = 1208, .external_lex_state = 42},
  [3515] = {.lex_state = 583, .external_lex_state = 12},
  [3516] = {.lex_state = 585},
  [3517] = {.lex_state = 1214, .external_lex_state = 42},
  [3518] = {.lex_state = 621, .external_lex_state = 45},
  [3519] = {.lex_state = 1208, .external_lex_state = 42},
  [3520] = {.lex_state = 549},
  [3521] = {.lex_state = 1216, .external_lex_state = 42},
  [3522] = {.lex_state = 1206, .external_lex_state = 59},
  [3523] = {.lex_state = 1214, .external_lex_state = 42},
  [3524] = {.lex_state = 934, .external_lex_state = 45},
  [3525] = {.lex_state = 934, .external_lex_state = 45},
  [3526] = {.lex_state = 934, .external_lex_state = 45},
  [3527] = {.lex_state = 934, .external_lex_state = 45},
  [3528] = {.lex_state = 936, .external_lex_state = 42},
  [3529] = {.lex_state = 1214, .external_lex_state = 42},
  [3530] = {.lex_state = 467, .external_lex_state = 2},
  [3531] = {.lex_state = 467, .external_lex_state = 2},
  [3532] = {.lex_state = 467, .external_lex_state = 2},
  [3533] = {.lex_state = 644, .external_lex_state = 43},
  [3534] = {.lex_state = 936, .external_lex_state = 42},
  [3535] = {.lex_state = 936, .external_lex_state = 42},
  [3536] = {.lex_state = 638, .external_lex_state = 22},
  [3537] = {.lex_state = 940, .external_lex_state = 41},
  [3538] = {.lex_state = 936, .external_lex_state = 42},
  [3539] = {.lex_state = 936, .external_lex_state = 42},
  [3540] = {.lex_state = 467, .external_lex_state = 2},
  [3541] = {.lex_state = 467, .external_lex_state = 2},
  [3542] = {.lex_state = 467, .external_lex_state = 2},
  [3543] = {.lex_state = 467, .external_lex_state = 2},
  [3544] = {.lex_state = 467, .external_lex_state = 2},
  [3545] = {.lex_state = 467, .external_lex_state = 2},
  [3546] = {.lex_state = 467, .external_lex_state = 2},
  [3547] = {.lex_state = 467, .external_lex_state = 2},
  [3548] = {.lex_state = 467, .external_lex_state = 2},
  [3549] = {.lex_state = 467, .external_lex_state = 2},
  [3550] = {.lex_state = 467, .external_lex_state = 2},
  [3551] = {.lex_state = 467, .external_lex_state = 2},
  [3552] = {.lex_state = 467, .external_lex_state = 2},
  [3553] = {.lex_state = 607, .external_lex_state = 33},
  [3554] = {.lex_state = 968, .external_lex_state = 12},
  [3555] = {.lex_state = 938, .external_lex_state = 61},
  [3556] = {.lex_state = 467, .external_lex_state = 39},
  [3557] = {.lex_state = 467, .external_lex_state = 2},
  [3558] = {.lex_state = 467, .external_lex_state = 2},
  [3559] = {.lex_state = 685, .external_lex_state = 32},
  [3560] = {.lex_state = 942, .external_lex_state = 13},
  [3561] = {.lex_state = 467, .external_lex_state = 2},
  [3562] = {.lex_state = 467, .external_lex_state = 2},
  [3563] = {.lex_state = 467, .external_lex_state = 2},
  [3564] = {.lex_state = 467, .external_lex_state = 2},
  [3565] = {.lex_state = 970, .external_lex_state = 37},
  [3566] = {.lex_state = 970, .external_lex_state = 37},
  [3567] = {.lex_state = 970, .external_lex_state = 37},
  [3568] = {.lex_state = 970, .external_lex_state = 37},
  [3569] = {.lex_state = 467, .external_lex_state = 2},
  [3570] = {.lex_state = 467, .external_lex_state = 2},
  [3571] = {.lex_state = 467, .external_lex_state = 27},
  [3572] = {.lex_state = 467, .external_lex_state = 2},
  [3573] = {.lex_state = 972, .external_lex_state = 37},
  [3574] = {.lex_state = 1218, .external_lex_state = 4},
  [3575] = {.lex_state = 972, .external_lex_state = 10},
  [3576] = {.lex_state = 1220, .external_lex_state = 4},
  [3577] = {.lex_state = 549},
  [3578] = {.lex_state = 1222, .external_lex_state = 4},
  [3579] = {.lex_state = 638, .external_lex_state = 22},
  [3580] = {.lex_state = 1224, .external_lex_state = 36},
  [3581] = {.lex_state = 942, .external_lex_state = 13},
  [3582] = {.lex_state = 942, .external_lex_state = 13},
  [3583] = {.lex_state = 467, .external_lex_state = 2},
  [3584] = {.lex_state = 467, .external_lex_state = 2},
  [3585] = {.lex_state = 467, .external_lex_state = 2},
  [3586] = {.lex_state = 467, .external_lex_state = 2},
  [3587] = {.lex_state = 467, .external_lex_state = 2},
  [3588] = {.lex_state = 467, .external_lex_state = 2},
  [3589] = {.lex_state = 467, .external_lex_state = 2},
  [3590] = {.lex_state = 467, .external_lex_state = 2},
  [3591] = {.lex_state = 467, .external_lex_state = 2},
  [3592] = {.lex_state = 467, .external_lex_state = 2},
  [3593] = {.lex_state = 467, .external_lex_state = 2},
  [3594] = {.lex_state = 467, .external_lex_state = 2},
  [3595] = {.lex_state = 565, .external_lex_state = 2},
  [3596] = {.lex_state = 467, .external_lex_state = 39},
  [3597] = {.lex_state = 467, .external_lex_state = 2},
  [3598] = {.lex_state = 942, .external_lex_state = 13},
  [3599] = {.lex_state = 565, .external_lex_state = 2},
  [3600] = {.lex_state = 458, .external_lex_state = 4},
  [3601] = {.lex_state = 0},
  [3602] = {.lex_state = 697, .external_lex_state = 35},
  [3603] = {.lex_state = 467, .external_lex_state = 2},
  [3604] = {.lex_state = 619, .external_lex_state = 45},
  [3605] = {.lex_state = 619, .external_lex_state = 45},
  [3606] = {.lex_state = 619, .external_lex_state = 45},
  [3607] = {.lex_state = 619, .external_lex_state = 45},
  [3608] = {.lex_state = 467, .external_lex_state = 2},
  [3609] = {.lex_state = 467, .external_lex_state = 2},
  [3610] = {.lex_state = 467, .external_lex_state = 2},
  [3611] = {.lex_state = 1226, .external_lex_state = 42},
  [3612] = {.lex_state = 549},
  [3613] = {.lex_state = 1216, .external_lex_state = 42},
  [3614] = {.lex_state = 1226, .external_lex_state = 42},
  [3615] = {.lex_state = 826, .external_lex_state = 45},
  [3616] = {.lex_state = 826, .external_lex_state = 45},
  [3617] = {.lex_state = 826, .external_lex_state = 45},
  [3618] = {.lex_state = 826, .external_lex_state = 45},
  [3619] = {.lex_state = 948, .external_lex_state = 42},
  [3620] = {.lex_state = 1226, .external_lex_state = 42},
  [3621] = {.lex_state = 467, .external_lex_state = 2},
  [3622] = {.lex_state = 467, .external_lex_state = 2},
  [3623] = {.lex_state = 467, .external_lex_state = 2},
  [3624] = {.lex_state = 644, .external_lex_state = 43},
  [3625] = {.lex_state = 948, .external_lex_state = 42},
  [3626] = {.lex_state = 948, .external_lex_state = 42},
  [3627] = {.lex_state = 638, .external_lex_state = 22},
  [3628] = {.lex_state = 952, .external_lex_state = 41},
  [3629] = {.lex_state = 948, .external_lex_state = 42},
  [3630] = {.lex_state = 948, .external_lex_state = 42},
  [3631] = {.lex_state = 467, .external_lex_state = 2},
  [3632] = {.lex_state = 467, .external_lex_state = 2},
  [3633] = {.lex_state = 467, .external_lex_state = 2},
  [3634] = {.lex_state = 467, .external_lex_state = 2},
  [3635] = {.lex_state = 467, .external_lex_state = 2},
  [3636] = {.lex_state = 467, .external_lex_state = 2},
  [3637] = {.lex_state = 467, .external_lex_state = 2},
  [3638] = {.lex_state = 467, .external_lex_state = 2},
  [3639] = {.lex_state = 467, .external_lex_state = 2},
  [3640] = {.lex_state = 467, .external_lex_state = 2},
  [3641] = {.lex_state = 467, .external_lex_state = 2},
  [3642] = {.lex_state = 467, .external_lex_state = 2},
  [3643] = {.lex_state = 467, .external_lex_state = 2},
  [3644] = {.lex_state = 968, .external_lex_state = 12},
  [3645] = {.lex_state = 950, .external_lex_state = 61},
  [3646] = {.lex_state = 467, .external_lex_state = 39},
  [3647] = {.lex_state = 467, .external_lex_state = 2},
  [3648] = {.lex_state = 467, .external_lex_state = 2},
  [3649] = {.lex_state = 458, .external_lex_state = 4},
  [3650] = {.lex_state = 0},
  [3651] = {.lex_state = 428, .external_lex_state = 36},
  [3652] = {.lex_state = 617, .external_lex_state = 16},
  [3653] = {.lex_state = 603, .external_lex_state = 4},
  [3654] = {.lex_state = 603, .external_lex_state = 4},
  [3655] = {.lex_state = 603, .external_lex_state = 4},
  [3656] = {.lex_state = 467, .external_lex_state = 2},
  [3657] = {.lex_state = 467, .external_lex_state = 2},
  [3658] = {.lex_state = 467, .external_lex_state = 2},
  [3659] = {.lex_state = 467, .external_lex_state = 2},
  [3660] = {.lex_state = 467, .external_lex_state = 2},
  [3661] = {.lex_state = 467, .external_lex_state = 2},
  [3662] = {.lex_state = 467, .external_lex_state = 2},
  [3663] = {.lex_state = 467, .external_lex_state = 2},
  [3664] = {.lex_state = 467, .external_lex_state = 2},
  [3665] = {.lex_state = 467, .external_lex_state = 2},
  [3666] = {.lex_state = 467, .external_lex_state = 2},
  [3667] = {.lex_state = 467, .external_lex_state = 2},
  [3668] = {.lex_state = 467, .external_lex_state = 39},
  [3669] = {.lex_state = 467, .external_lex_state = 2},
  [3670] = {.lex_state = 467, .external_lex_state = 2},
  [3671] = {.lex_state = 882, .external_lex_state = 45},
  [3672] = {.lex_state = 882, .external_lex_state = 45},
  [3673] = {.lex_state = 882, .external_lex_state = 45},
  [3674] = {.lex_state = 882, .external_lex_state = 45},
  [3675] = {.lex_state = 467, .external_lex_state = 2},
  [3676] = {.lex_state = 467, .external_lex_state = 2},
  [3677] = {.lex_state = 467, .external_lex_state = 2},
  [3678] = {.lex_state = 1228, .external_lex_state = 46},
  [3679] = {.lex_state = 892, .external_lex_state = 45},
  [3680] = {.lex_state = 549},
  [3681] = {.lex_state = 894, .external_lex_state = 42},
  [3682] = {.lex_state = 1228, .external_lex_state = 46},
  [3683] = {.lex_state = 954, .external_lex_state = 45},
  [3684] = {.lex_state = 954, .external_lex_state = 45},
  [3685] = {.lex_state = 954, .external_lex_state = 45},
  [3686] = {.lex_state = 954, .external_lex_state = 45},
  [3687] = {.lex_state = 958, .external_lex_state = 46},
  [3688] = {.lex_state = 1228, .external_lex_state = 46},
  [3689] = {.lex_state = 467, .external_lex_state = 2},
  [3690] = {.lex_state = 467, .external_lex_state = 2},
  [3691] = {.lex_state = 467, .external_lex_state = 2},
  [3692] = {.lex_state = 956, .external_lex_state = 43},
  [3693] = {.lex_state = 1176, .external_lex_state = 42},
  [3694] = {.lex_state = 1176, .external_lex_state = 42},
  [3695] = {.lex_state = 638, .external_lex_state = 22},
  [3696] = {.lex_state = 966, .external_lex_state = 41},
  [3697] = {.lex_state = 958, .external_lex_state = 46},
  [3698] = {.lex_state = 958, .external_lex_state = 46},
  [3699] = {.lex_state = 467, .external_lex_state = 2},
  [3700] = {.lex_state = 467, .external_lex_state = 2},
  [3701] = {.lex_state = 467, .external_lex_state = 2},
  [3702] = {.lex_state = 467, .external_lex_state = 2},
  [3703] = {.lex_state = 467, .external_lex_state = 2},
  [3704] = {.lex_state = 467, .external_lex_state = 2},
  [3705] = {.lex_state = 467, .external_lex_state = 2},
  [3706] = {.lex_state = 467, .external_lex_state = 2},
  [3707] = {.lex_state = 467, .external_lex_state = 2},
  [3708] = {.lex_state = 467, .external_lex_state = 2},
  [3709] = {.lex_state = 467, .external_lex_state = 2},
  [3710] = {.lex_state = 467, .external_lex_state = 2},
  [3711] = {.lex_state = 467, .external_lex_state = 2},
  [3712] = {.lex_state = 467, .external_lex_state = 2},
  [3713] = {.lex_state = 467, .external_lex_state = 2},
  [3714] = {.lex_state = 467, .external_lex_state = 2},
  [3715] = {.lex_state = 956, .external_lex_state = 43},
  [3716] = {.lex_state = 1180, .external_lex_state = 42},
  [3717] = {.lex_state = 1180, .external_lex_state = 42},
  [3718] = {.lex_state = 638, .external_lex_state = 22},
  [3719] = {.lex_state = 1184, .external_lex_state = 41},
  [3720] = {.lex_state = 458, .external_lex_state = 4},
  [3721] = {.lex_state = 0},
  [3722] = {.lex_state = 702, .external_lex_state = 12},
  [3723] = {.lex_state = 467, .external_lex_state = 39},
  [3724] = {.lex_state = 467, .external_lex_state = 2},
  [3725] = {.lex_state = 467, .external_lex_state = 2},
  [3726] = {.lex_state = 710, .external_lex_state = 4},
  [3727] = {.lex_state = 710, .external_lex_state = 4},
  [3728] = {.lex_state = 710, .external_lex_state = 4},
  [3729] = {.lex_state = 467, .external_lex_state = 2},
  [3730] = {.lex_state = 968, .external_lex_state = 12},
  [3731] = {.lex_state = 710, .external_lex_state = 4},
  [3732] = {.lex_state = 467, .external_lex_state = 2},
  [3733] = {.lex_state = 603, .external_lex_state = 4},
  [3734] = {.lex_state = 710, .external_lex_state = 4},
  [3735] = {.lex_state = 710, .external_lex_state = 4},
  [3736] = {.lex_state = 710, .external_lex_state = 4},
  [3737] = {.lex_state = 710, .external_lex_state = 4},
  [3738] = {.lex_state = 710, .external_lex_state = 4},
  [3739] = {.lex_state = 710, .external_lex_state = 4},
  [3740] = {.lex_state = 1116, .external_lex_state = 30},
  [3741] = {.lex_state = 710, .external_lex_state = 4},
  [3742] = {.lex_state = 710, .external_lex_state = 4},
  [3743] = {.lex_state = 710, .external_lex_state = 4},
  [3744] = {.lex_state = 710, .external_lex_state = 4},
  [3745] = {.lex_state = 710, .external_lex_state = 4},
  [3746] = {.lex_state = 708, .external_lex_state = 4},
  [3747] = {.lex_state = 783, .external_lex_state = 31},
  [3748] = {.lex_state = 0},
  [3749] = {.lex_state = 706, .external_lex_state = 10},
  [3750] = {.lex_state = 702, .external_lex_state = 12},
  [3751] = {.lex_state = 706, .external_lex_state = 10},
  [3752] = {.lex_state = 706, .external_lex_state = 10},
  [3753] = {.lex_state = 706, .external_lex_state = 10},
  [3754] = {.lex_state = 814, .external_lex_state = 4},
  [3755] = {.lex_state = 814, .external_lex_state = 4},
  [3756] = {.lex_state = 708, .external_lex_state = 4},
  [3757] = {.lex_state = 960, .external_lex_state = 31},
  [3758] = {.lex_state = 0},
  [3759] = {.lex_state = 0},
  [3760] = {.lex_state = 631, .external_lex_state = 2},
  [3761] = {.lex_state = 814, .external_lex_state = 4},
  [3762] = {.lex_state = 708, .external_lex_state = 4},
  [3763] = {.lex_state = 0},
  [3764] = {.lex_state = 746, .external_lex_state = 11},
  [3765] = {.lex_state = 800, .external_lex_state = 11},
  [3766] = {.lex_state = 467, .external_lex_state = 2},
  [3767] = {.lex_state = 708, .external_lex_state = 4},
  [3768] = {.lex_state = 708, .external_lex_state = 4},
  [3769] = {.lex_state = 461, .external_lex_state = 2},
  [3770] = {.lex_state = 708, .external_lex_state = 4},
  [3771] = {.lex_state = 708, .external_lex_state = 4},
  [3772] = {.lex_state = 968, .external_lex_state = 12},
  [3773] = {.lex_state = 814, .external_lex_state = 4},
  [3774] = {.lex_state = 467, .external_lex_state = 2},
  [3775] = {.lex_state = 617, .external_lex_state = 55},
  [3776] = {.lex_state = 461, .external_lex_state = 2},
  [3777] = {.lex_state = 458, .external_lex_state = 4},
  [3778] = {.lex_state = 968, .external_lex_state = 70},
  [3779] = {.lex_state = 461, .external_lex_state = 2},
  [3780] = {.lex_state = 458, .external_lex_state = 4},
  [3781] = {.lex_state = 968, .external_lex_state = 70},
  [3782] = {.lex_state = 968, .external_lex_state = 12},
  [3783] = {.lex_state = 458, .external_lex_state = 4},
  [3784] = {.lex_state = 710, .external_lex_state = 4},
  [3785] = {.lex_state = 458, .external_lex_state = 4},
  [3786] = {.lex_state = 458, .external_lex_state = 4},
  [3787] = {.lex_state = 710, .external_lex_state = 4},
  [3788] = {.lex_state = 710, .external_lex_state = 4},
  [3789] = {.lex_state = 603, .external_lex_state = 4},
  [3790] = {.lex_state = 467, .external_lex_state = 2},
  [3791] = {.lex_state = 467, .external_lex_state = 2},
  [3792] = {.lex_state = 467, .external_lex_state = 2},
  [3793] = {.lex_state = 467, .external_lex_state = 2},
  [3794] = {.lex_state = 976, .external_lex_state = 4},
  [3795] = {.lex_state = 549},
  [3796] = {.lex_state = 724, .external_lex_state = 4},
  [3797] = {.lex_state = 976, .external_lex_state = 4},
  [3798] = {.lex_state = 970, .external_lex_state = 10},
  [3799] = {.lex_state = 970, .external_lex_state = 10},
  [3800] = {.lex_state = 970, .external_lex_state = 10},
  [3801] = {.lex_state = 970, .external_lex_state = 10},
  [3802] = {.lex_state = 974, .external_lex_state = 4},
  [3803] = {.lex_state = 976, .external_lex_state = 4},
  [3804] = {.lex_state = 467, .external_lex_state = 2},
  [3805] = {.lex_state = 467, .external_lex_state = 2},
  [3806] = {.lex_state = 467, .external_lex_state = 2},
  [3807] = {.lex_state = 972, .external_lex_state = 37},
  [3808] = {.lex_state = 974, .external_lex_state = 4},
  [3809] = {.lex_state = 974, .external_lex_state = 4},
  [3810] = {.lex_state = 638, .external_lex_state = 22},
  [3811] = {.lex_state = 980, .external_lex_state = 36},
  [3812] = {.lex_state = 974, .external_lex_state = 4},
  [3813] = {.lex_state = 974, .external_lex_state = 4},
  [3814] = {.lex_state = 467, .external_lex_state = 2},
  [3815] = {.lex_state = 467, .external_lex_state = 2},
  [3816] = {.lex_state = 467, .external_lex_state = 2},
  [3817] = {.lex_state = 467, .external_lex_state = 2},
  [3818] = {.lex_state = 467, .external_lex_state = 2},
  [3819] = {.lex_state = 467, .external_lex_state = 2},
  [3820] = {.lex_state = 467, .external_lex_state = 2},
  [3821] = {.lex_state = 467, .external_lex_state = 2},
  [3822] = {.lex_state = 467, .external_lex_state = 2},
  [3823] = {.lex_state = 467, .external_lex_state = 2},
  [3824] = {.lex_state = 467, .external_lex_state = 2},
  [3825] = {.lex_state = 467, .external_lex_state = 2},
  [3826] = {.lex_state = 467, .external_lex_state = 2},
  [3827] = {.lex_state = 467, .external_lex_state = 2},
  [3828] = {.lex_state = 467, .external_lex_state = 2},
  [3829] = {.lex_state = 467, .external_lex_state = 2},
  [3830] = {.lex_state = 972, .external_lex_state = 37},
  [3831] = {.lex_state = 987, .external_lex_state = 4},
  [3832] = {.lex_state = 987, .external_lex_state = 4},
  [3833] = {.lex_state = 638, .external_lex_state = 22},
  [3834] = {.lex_state = 991, .external_lex_state = 36},
  [3835] = {.lex_state = 968, .external_lex_state = 12},
  [3836] = {.lex_state = 976, .external_lex_state = 4},
  [3837] = {.lex_state = 467, .external_lex_state = 39},
  [3838] = {.lex_state = 467, .external_lex_state = 2},
  [3839] = {.lex_state = 467, .external_lex_state = 2},
  [3840] = {.lex_state = 617, .external_lex_state = 55},
  [3841] = {.lex_state = 461, .external_lex_state = 2},
  [3842] = {.lex_state = 720, .external_lex_state = 13},
  [3843] = {.lex_state = 720, .external_lex_state = 13},
  [3844] = {.lex_state = 720, .external_lex_state = 13},
  [3845] = {.lex_state = 720, .external_lex_state = 13},
  [3846] = {.lex_state = 720, .external_lex_state = 13},
  [3847] = {.lex_state = 985, .external_lex_state = 2},
  [3848] = {.lex_state = 461, .external_lex_state = 2},
  [3849] = {.lex_state = 985, .external_lex_state = 2},
  [3850] = {.lex_state = 467, .external_lex_state = 2},
  [3851] = {.lex_state = 458, .external_lex_state = 4},
  [3852] = {.lex_state = 1230, .external_lex_state = 11},
  [3853] = {.lex_state = 716, .external_lex_state = 10},
  [3854] = {.lex_state = 716, .external_lex_state = 10},
  [3855] = {.lex_state = 716, .external_lex_state = 10},
  [3856] = {.lex_state = 716, .external_lex_state = 10},
  [3857] = {.lex_state = 461, .external_lex_state = 2},
  [3858] = {.lex_state = 746, .external_lex_state = 11},
  [3859] = {.lex_state = 467, .external_lex_state = 2},
  [3860] = {.lex_state = 467, .external_lex_state = 2},
  [3861] = {.lex_state = 467, .external_lex_state = 2},
  [3862] = {.lex_state = 0},
  [3863] = {.lex_state = 1232, .external_lex_state = 7},
  [3864] = {.lex_state = 1235, .external_lex_state = 7},
  [3865] = {.lex_state = 0},
  [3866] = {.lex_state = 0},
  [3867] = {.lex_state = 1237, .external_lex_state = 13},
  [3868] = {.lex_state = 722, .external_lex_state = 10},
  [3869] = {.lex_state = 549},
  [3870] = {.lex_state = 1239, .external_lex_state = 4},
  [3871] = {.lex_state = 985, .external_lex_state = 2},
  [3872] = {.lex_state = 985, .external_lex_state = 11},
  [3873] = {.lex_state = 720, .external_lex_state = 13},
  [3874] = {.lex_state = 720, .external_lex_state = 13},
  [3875] = {.lex_state = 720, .external_lex_state = 13},
  [3876] = {.lex_state = 720, .external_lex_state = 13},
  [3877] = {.lex_state = 720, .external_lex_state = 13},
  [3878] = {.lex_state = 720, .external_lex_state = 13},
  [3879] = {.lex_state = 1116, .external_lex_state = 30},
  [3880] = {.lex_state = 720, .external_lex_state = 13},
  [3881] = {.lex_state = 720, .external_lex_state = 13},
  [3882] = {.lex_state = 720, .external_lex_state = 13},
  [3883] = {.lex_state = 720, .external_lex_state = 13},
  [3884] = {.lex_state = 720, .external_lex_state = 13},
  [3885] = {.lex_state = 467, .external_lex_state = 2},
  [3886] = {.lex_state = 722, .external_lex_state = 10},
  [3887] = {.lex_state = 722, .external_lex_state = 10},
  [3888] = {.lex_state = 722, .external_lex_state = 10},
  [3889] = {.lex_state = 722, .external_lex_state = 10},
  [3890] = {.lex_state = 467, .external_lex_state = 2},
  [3891] = {.lex_state = 467, .external_lex_state = 2},
  [3892] = {.lex_state = 467, .external_lex_state = 2},
  [3893] = {.lex_state = 989, .external_lex_state = 4},
  [3894] = {.lex_state = 722, .external_lex_state = 10},
  [3895] = {.lex_state = 549},
  [3896] = {.lex_state = 989, .external_lex_state = 4},
  [3897] = {.lex_state = 989, .external_lex_state = 4},
  [3898] = {.lex_state = 972, .external_lex_state = 10},
  [3899] = {.lex_state = 972, .external_lex_state = 10},
  [3900] = {.lex_state = 972, .external_lex_state = 10},
  [3901] = {.lex_state = 972, .external_lex_state = 10},
  [3902] = {.lex_state = 987, .external_lex_state = 4},
  [3903] = {.lex_state = 989, .external_lex_state = 4},
  [3904] = {.lex_state = 987, .external_lex_state = 4},
  [3905] = {.lex_state = 987, .external_lex_state = 4},
  [3906] = {.lex_state = 467, .external_lex_state = 2},
  [3907] = {.lex_state = 467, .external_lex_state = 2},
  [3908] = {.lex_state = 467, .external_lex_state = 2},
  [3909] = {.lex_state = 467, .external_lex_state = 2},
  [3910] = {.lex_state = 467, .external_lex_state = 2},
  [3911] = {.lex_state = 467, .external_lex_state = 2},
  [3912] = {.lex_state = 467, .external_lex_state = 2},
  [3913] = {.lex_state = 467, .external_lex_state = 2},
  [3914] = {.lex_state = 467, .external_lex_state = 2},
  [3915] = {.lex_state = 467, .external_lex_state = 2},
  [3916] = {.lex_state = 467, .external_lex_state = 2},
  [3917] = {.lex_state = 467, .external_lex_state = 2},
  [3918] = {.lex_state = 467, .external_lex_state = 2},
  [3919] = {.lex_state = 968, .external_lex_state = 12},
  [3920] = {.lex_state = 989, .external_lex_state = 4},
  [3921] = {.lex_state = 467, .external_lex_state = 39},
  [3922] = {.lex_state = 467, .external_lex_state = 2},
  [3923] = {.lex_state = 467, .external_lex_state = 2},
  [3924] = {.lex_state = 467, .external_lex_state = 2},
  [3925] = {.lex_state = 467, .external_lex_state = 2},
  [3926] = {.lex_state = 467, .external_lex_state = 2},
  [3927] = {.lex_state = 467, .external_lex_state = 2},
  [3928] = {.lex_state = 467, .external_lex_state = 2},
  [3929] = {.lex_state = 1241, .external_lex_state = 13},
  [3930] = {.lex_state = 1241, .external_lex_state = 13},
  [3931] = {.lex_state = 549},
  [3932] = {.lex_state = 724, .external_lex_state = 4},
  [3933] = {.lex_state = 720, .external_lex_state = 13},
  [3934] = {.lex_state = 617, .external_lex_state = 55},
  [3935] = {.lex_state = 461, .external_lex_state = 2},
  [3936] = {.lex_state = 467, .external_lex_state = 2},
  [3937] = {.lex_state = 458, .external_lex_state = 4},
  [3938] = {.lex_state = 716, .external_lex_state = 10},
  [3939] = {.lex_state = 716, .external_lex_state = 10},
  [3940] = {.lex_state = 716, .external_lex_state = 10},
  [3941] = {.lex_state = 716, .external_lex_state = 10},
  [3942] = {.lex_state = 467, .external_lex_state = 2},
  [3943] = {.lex_state = 467, .external_lex_state = 2},
  [3944] = {.lex_state = 467, .external_lex_state = 2},
  [3945] = {.lex_state = 0},
  [3946] = {.lex_state = 1243, .external_lex_state = 7},
  [3947] = {.lex_state = 1246, .external_lex_state = 7},
  [3948] = {.lex_state = 0},
  [3949] = {.lex_state = 1248, .external_lex_state = 13},
  [3950] = {.lex_state = 722, .external_lex_state = 10},
  [3951] = {.lex_state = 549},
  [3952] = {.lex_state = 1250, .external_lex_state = 4},
  [3953] = {.lex_state = 996, .external_lex_state = 2},
  [3954] = {.lex_state = 467, .external_lex_state = 2},
  [3955] = {.lex_state = 467, .external_lex_state = 2},
  [3956] = {.lex_state = 467, .external_lex_state = 2},
  [3957] = {.lex_state = 467, .external_lex_state = 2},
  [3958] = {.lex_state = 1000, .external_lex_state = 4},
  [3959] = {.lex_state = 549},
  [3960] = {.lex_state = 728, .external_lex_state = 4},
  [3961] = {.lex_state = 1000, .external_lex_state = 4},
  [3962] = {.lex_state = 970, .external_lex_state = 10},
  [3963] = {.lex_state = 970, .external_lex_state = 10},
  [3964] = {.lex_state = 970, .external_lex_state = 10},
  [3965] = {.lex_state = 970, .external_lex_state = 10},
  [3966] = {.lex_state = 998, .external_lex_state = 4},
  [3967] = {.lex_state = 1000, .external_lex_state = 4},
  [3968] = {.lex_state = 467, .external_lex_state = 2},
  [3969] = {.lex_state = 467, .external_lex_state = 2},
  [3970] = {.lex_state = 467, .external_lex_state = 2},
  [3971] = {.lex_state = 972, .external_lex_state = 37},
  [3972] = {.lex_state = 998, .external_lex_state = 4},
  [3973] = {.lex_state = 998, .external_lex_state = 4},
  [3974] = {.lex_state = 638, .external_lex_state = 22},
  [3975] = {.lex_state = 1004, .external_lex_state = 36},
  [3976] = {.lex_state = 998, .external_lex_state = 4},
  [3977] = {.lex_state = 998, .external_lex_state = 4},
  [3978] = {.lex_state = 467, .external_lex_state = 2},
  [3979] = {.lex_state = 467, .external_lex_state = 2},
  [3980] = {.lex_state = 467, .external_lex_state = 2},
  [3981] = {.lex_state = 467, .external_lex_state = 2},
  [3982] = {.lex_state = 467, .external_lex_state = 2},
  [3983] = {.lex_state = 467, .external_lex_state = 2},
  [3984] = {.lex_state = 467, .external_lex_state = 2},
  [3985] = {.lex_state = 467, .external_lex_state = 2},
  [3986] = {.lex_state = 467, .external_lex_state = 2},
  [3987] = {.lex_state = 467, .external_lex_state = 2},
  [3988] = {.lex_state = 467, .external_lex_state = 2},
  [3989] = {.lex_state = 467, .external_lex_state = 2},
  [3990] = {.lex_state = 467, .external_lex_state = 2},
  [3991] = {.lex_state = 467, .external_lex_state = 2},
  [3992] = {.lex_state = 467, .external_lex_state = 2},
  [3993] = {.lex_state = 467, .external_lex_state = 2},
  [3994] = {.lex_state = 972, .external_lex_state = 37},
  [3995] = {.lex_state = 1006, .external_lex_state = 4},
  [3996] = {.lex_state = 1006, .external_lex_state = 4},
  [3997] = {.lex_state = 638, .external_lex_state = 22},
  [3998] = {.lex_state = 1010, .external_lex_state = 36},
  [3999] = {.lex_state = 968, .external_lex_state = 12},
  [4000] = {.lex_state = 1000, .external_lex_state = 4},
  [4001] = {.lex_state = 467, .external_lex_state = 39},
  [4002] = {.lex_state = 467, .external_lex_state = 2},
  [4003] = {.lex_state = 467, .external_lex_state = 2},
  [4004] = {.lex_state = 617, .external_lex_state = 55},
  [4005] = {.lex_state = 461, .external_lex_state = 2},
  [4006] = {.lex_state = 726, .external_lex_state = 13},
  [4007] = {.lex_state = 726, .external_lex_state = 13},
  [4008] = {.lex_state = 726, .external_lex_state = 13},
  [4009] = {.lex_state = 726, .external_lex_state = 13},
  [4010] = {.lex_state = 726, .external_lex_state = 13},
  [4011] = {.lex_state = 726, .external_lex_state = 13},
  [4012] = {.lex_state = 1116, .external_lex_state = 30},
  [4013] = {.lex_state = 726, .external_lex_state = 13},
  [4014] = {.lex_state = 726, .external_lex_state = 13},
  [4015] = {.lex_state = 726, .external_lex_state = 13},
  [4016] = {.lex_state = 726, .external_lex_state = 13},
  [4017] = {.lex_state = 726, .external_lex_state = 13},
  [4018] = {.lex_state = 458, .external_lex_state = 4},
  [4019] = {.lex_state = 0},
  [4020] = {.lex_state = 467, .external_lex_state = 2},
  [4021] = {.lex_state = 722, .external_lex_state = 10},
  [4022] = {.lex_state = 722, .external_lex_state = 10},
  [4023] = {.lex_state = 722, .external_lex_state = 10},
  [4024] = {.lex_state = 722, .external_lex_state = 10},
  [4025] = {.lex_state = 467, .external_lex_state = 2},
  [4026] = {.lex_state = 467, .external_lex_state = 2},
  [4027] = {.lex_state = 467, .external_lex_state = 2},
  [4028] = {.lex_state = 1008, .external_lex_state = 4},
  [4029] = {.lex_state = 549},
  [4030] = {.lex_state = 1008, .external_lex_state = 4},
  [4031] = {.lex_state = 1008, .external_lex_state = 4},
  [4032] = {.lex_state = 972, .external_lex_state = 10},
  [4033] = {.lex_state = 972, .external_lex_state = 10},
  [4034] = {.lex_state = 972, .external_lex_state = 10},
  [4035] = {.lex_state = 972, .external_lex_state = 10},
  [4036] = {.lex_state = 1006, .external_lex_state = 4},
  [4037] = {.lex_state = 1008, .external_lex_state = 4},
  [4038] = {.lex_state = 1006, .external_lex_state = 4},
  [4039] = {.lex_state = 1006, .external_lex_state = 4},
  [4040] = {.lex_state = 467, .external_lex_state = 2},
  [4041] = {.lex_state = 467, .external_lex_state = 2},
  [4042] = {.lex_state = 467, .external_lex_state = 2},
  [4043] = {.lex_state = 467, .external_lex_state = 2},
  [4044] = {.lex_state = 467, .external_lex_state = 2},
  [4045] = {.lex_state = 467, .external_lex_state = 2},
  [4046] = {.lex_state = 467, .external_lex_state = 2},
  [4047] = {.lex_state = 467, .external_lex_state = 2},
  [4048] = {.lex_state = 467, .external_lex_state = 2},
  [4049] = {.lex_state = 467, .external_lex_state = 2},
  [4050] = {.lex_state = 467, .external_lex_state = 2},
  [4051] = {.lex_state = 467, .external_lex_state = 2},
  [4052] = {.lex_state = 467, .external_lex_state = 2},
  [4053] = {.lex_state = 968, .external_lex_state = 12},
  [4054] = {.lex_state = 1008, .external_lex_state = 4},
  [4055] = {.lex_state = 467, .external_lex_state = 39},
  [4056] = {.lex_state = 467, .external_lex_state = 2},
  [4057] = {.lex_state = 467, .external_lex_state = 2},
  [4058] = {.lex_state = 467, .external_lex_state = 2},
  [4059] = {.lex_state = 467, .external_lex_state = 2},
  [4060] = {.lex_state = 467, .external_lex_state = 2},
  [4061] = {.lex_state = 467, .external_lex_state = 2},
  [4062] = {.lex_state = 467, .external_lex_state = 2},
  [4063] = {.lex_state = 1252, .external_lex_state = 13},
  [4064] = {.lex_state = 1252, .external_lex_state = 13},
  [4065] = {.lex_state = 549},
  [4066] = {.lex_state = 728, .external_lex_state = 4},
  [4067] = {.lex_state = 726, .external_lex_state = 13},
  [4068] = {.lex_state = 458, .external_lex_state = 4},
  [4069] = {.lex_state = 0},
  [4070] = {.lex_state = 467, .external_lex_state = 2},
  [4071] = {.lex_state = 619, .external_lex_state = 45},
  [4072] = {.lex_state = 619, .external_lex_state = 45},
  [4073] = {.lex_state = 619, .external_lex_state = 45},
  [4074] = {.lex_state = 619, .external_lex_state = 45},
  [4075] = {.lex_state = 467, .external_lex_state = 2},
  [4076] = {.lex_state = 467, .external_lex_state = 2},
  [4077] = {.lex_state = 467, .external_lex_state = 2},
  [4078] = {.lex_state = 1254, .external_lex_state = 42},
  [4079] = {.lex_state = 621, .external_lex_state = 45},
  [4080] = {.lex_state = 549},
  [4081] = {.lex_state = 1256, .external_lex_state = 42},
  [4082] = {.lex_state = 1254, .external_lex_state = 42},
  [4083] = {.lex_state = 826, .external_lex_state = 45},
  [4084] = {.lex_state = 826, .external_lex_state = 45},
  [4085] = {.lex_state = 826, .external_lex_state = 45},
  [4086] = {.lex_state = 826, .external_lex_state = 45},
  [4087] = {.lex_state = 1012, .external_lex_state = 42},
  [4088] = {.lex_state = 1254, .external_lex_state = 42},
  [4089] = {.lex_state = 467, .external_lex_state = 2},
  [4090] = {.lex_state = 467, .external_lex_state = 2},
  [4091] = {.lex_state = 467, .external_lex_state = 2},
  [4092] = {.lex_state = 644, .external_lex_state = 43},
  [4093] = {.lex_state = 1012, .external_lex_state = 42},
  [4094] = {.lex_state = 1012, .external_lex_state = 42},
  [4095] = {.lex_state = 638, .external_lex_state = 22},
  [4096] = {.lex_state = 1018, .external_lex_state = 41},
  [4097] = {.lex_state = 1012, .external_lex_state = 42},
  [4098] = {.lex_state = 1012, .external_lex_state = 42},
  [4099] = {.lex_state = 467, .external_lex_state = 2},
  [4100] = {.lex_state = 467, .external_lex_state = 2},
  [4101] = {.lex_state = 467, .external_lex_state = 2},
  [4102] = {.lex_state = 467, .external_lex_state = 2},
  [4103] = {.lex_state = 467, .external_lex_state = 2},
  [4104] = {.lex_state = 467, .external_lex_state = 2},
  [4105] = {.lex_state = 467, .external_lex_state = 2},
  [4106] = {.lex_state = 467, .external_lex_state = 2},
  [4107] = {.lex_state = 467, .external_lex_state = 2},
  [4108] = {.lex_state = 467, .external_lex_state = 2},
  [4109] = {.lex_state = 467, .external_lex_state = 2},
  [4110] = {.lex_state = 467, .external_lex_state = 2},
  [4111] = {.lex_state = 467, .external_lex_state = 2},
  [4112] = {.lex_state = 467, .external_lex_state = 2},
  [4113] = {.lex_state = 467, .external_lex_state = 2},
  [4114] = {.lex_state = 467, .external_lex_state = 2},
  [4115] = {.lex_state = 467, .external_lex_state = 2},
  [4116] = {.lex_state = 644, .external_lex_state = 43},
  [4117] = {.lex_state = 644, .external_lex_state = 43},
  [4118] = {.lex_state = 644, .external_lex_state = 43},
  [4119] = {.lex_state = 644, .external_lex_state = 43},
  [4120] = {.lex_state = 467, .external_lex_state = 2},
  [4121] = {.lex_state = 467, .external_lex_state = 2},
  [4122] = {.lex_state = 467, .external_lex_state = 27},
  [4123] = {.lex_state = 467, .external_lex_state = 2},
  [4124] = {.lex_state = 644, .external_lex_state = 43},
  [4125] = {.lex_state = 1016, .external_lex_state = 42},
  [4126] = {.lex_state = 1016, .external_lex_state = 42},
  [4127] = {.lex_state = 549},
  [4128] = {.lex_state = 1016, .external_lex_state = 42},
  [4129] = {.lex_state = 638, .external_lex_state = 22},
  [4130] = {.lex_state = 1258, .external_lex_state = 41},
  [4131] = {.lex_state = 968, .external_lex_state = 12},
  [4132] = {.lex_state = 1014, .external_lex_state = 61},
  [4133] = {.lex_state = 467, .external_lex_state = 39},
  [4134] = {.lex_state = 467, .external_lex_state = 2},
  [4135] = {.lex_state = 467, .external_lex_state = 2},
  [4136] = {.lex_state = 726, .external_lex_state = 13},
  [4137] = {.lex_state = 746, .external_lex_state = 2},
  [4138] = {.lex_state = 734, .external_lex_state = 7},
  [4139] = {.lex_state = 617, .external_lex_state = 55},
  [4140] = {.lex_state = 467, .external_lex_state = 2},
  [4141] = {.lex_state = 467, .external_lex_state = 2},
  [4142] = {.lex_state = 467, .external_lex_state = 2},
  [4143] = {.lex_state = 467, .external_lex_state = 2},
  [4144] = {.lex_state = 1026, .external_lex_state = 4},
  [4145] = {.lex_state = 549},
  [4146] = {.lex_state = 738, .external_lex_state = 4},
  [4147] = {.lex_state = 1026, .external_lex_state = 4},
  [4148] = {.lex_state = 970, .external_lex_state = 10},
  [4149] = {.lex_state = 970, .external_lex_state = 10},
  [4150] = {.lex_state = 970, .external_lex_state = 10},
  [4151] = {.lex_state = 970, .external_lex_state = 10},
  [4152] = {.lex_state = 1024, .external_lex_state = 4},
  [4153] = {.lex_state = 1026, .external_lex_state = 4},
  [4154] = {.lex_state = 467, .external_lex_state = 2},
  [4155] = {.lex_state = 467, .external_lex_state = 2},
  [4156] = {.lex_state = 467, .external_lex_state = 2},
  [4157] = {.lex_state = 972, .external_lex_state = 37},
  [4158] = {.lex_state = 1024, .external_lex_state = 4},
  [4159] = {.lex_state = 1024, .external_lex_state = 4},
  [4160] = {.lex_state = 638, .external_lex_state = 22},
  [4161] = {.lex_state = 1030, .external_lex_state = 36},
  [4162] = {.lex_state = 1024, .external_lex_state = 4},
  [4163] = {.lex_state = 1024, .external_lex_state = 4},
  [4164] = {.lex_state = 467, .external_lex_state = 2},
  [4165] = {.lex_state = 467, .external_lex_state = 2},
  [4166] = {.lex_state = 467, .external_lex_state = 2},
  [4167] = {.lex_state = 467, .external_lex_state = 2},
  [4168] = {.lex_state = 467, .external_lex_state = 2},
  [4169] = {.lex_state = 467, .external_lex_state = 2},
  [4170] = {.lex_state = 467, .external_lex_state = 2},
  [4171] = {.lex_state = 467, .external_lex_state = 2},
  [4172] = {.lex_state = 467, .external_lex_state = 2},
  [4173] = {.lex_state = 467, .external_lex_state = 2},
  [4174] = {.lex_state = 467, .external_lex_state = 2},
  [4175] = {.lex_state = 467, .external_lex_state = 2},
  [4176] = {.lex_state = 467, .external_lex_state = 2},
  [4177] = {.lex_state = 467, .external_lex_state = 2},
  [4178] = {.lex_state = 467, .external_lex_state = 2},
  [4179] = {.lex_state = 467, .external_lex_state = 2},
  [4180] = {.lex_state = 972, .external_lex_state = 37},
  [4181] = {.lex_state = 1038, .external_lex_state = 4},
  [4182] = {.lex_state = 1038, .external_lex_state = 4},
  [4183] = {.lex_state = 638, .external_lex_state = 22},
  [4184] = {.lex_state = 1042, .external_lex_state = 36},
  [4185] = {.lex_state = 968, .external_lex_state = 12},
  [4186] = {.lex_state = 1026, .external_lex_state = 4},
  [4187] = {.lex_state = 467, .external_lex_state = 39},
  [4188] = {.lex_state = 467, .external_lex_state = 2},
  [4189] = {.lex_state = 467, .external_lex_state = 2},
  [4190] = {.lex_state = 1034, .external_lex_state = 13},
  [4191] = {.lex_state = 1034, .external_lex_state = 13},
  [4192] = {.lex_state = 467, .external_lex_state = 2},
  [4193] = {.lex_state = 467, .external_lex_state = 2},
  [4194] = {.lex_state = 467, .external_lex_state = 2},
  [4195] = {.lex_state = 467, .external_lex_state = 2},
  [4196] = {.lex_state = 970, .external_lex_state = 37},
  [4197] = {.lex_state = 970, .external_lex_state = 37},
  [4198] = {.lex_state = 970, .external_lex_state = 37},
  [4199] = {.lex_state = 970, .external_lex_state = 37},
  [4200] = {.lex_state = 467, .external_lex_state = 2},
  [4201] = {.lex_state = 467, .external_lex_state = 2},
  [4202] = {.lex_state = 467, .external_lex_state = 27},
  [4203] = {.lex_state = 467, .external_lex_state = 2},
  [4204] = {.lex_state = 972, .external_lex_state = 37},
  [4205] = {.lex_state = 1260, .external_lex_state = 4},
  [4206] = {.lex_state = 1262, .external_lex_state = 4},
  [4207] = {.lex_state = 549},
  [4208] = {.lex_state = 1062, .external_lex_state = 4},
  [4209] = {.lex_state = 638, .external_lex_state = 22},
  [4210] = {.lex_state = 1264, .external_lex_state = 36},
  [4211] = {.lex_state = 1034, .external_lex_state = 13},
  [4212] = {.lex_state = 1034, .external_lex_state = 13},
  [4213] = {.lex_state = 1266, .external_lex_state = 2},
  [4214] = {.lex_state = 461, .external_lex_state = 2},
  [4215] = {.lex_state = 1266, .external_lex_state = 2},
  [4216] = {.lex_state = 467, .external_lex_state = 39},
  [4217] = {.lex_state = 1268, .external_lex_state = 2},
  [4218] = {.lex_state = 1268, .external_lex_state = 2},
  [4219] = {.lex_state = 1266, .external_lex_state = 2},
  [4220] = {.lex_state = 1032, .external_lex_state = 7},
  [4221] = {.lex_state = 467, .external_lex_state = 2},
  [4222] = {.lex_state = 467, .external_lex_state = 2},
  [4223] = {.lex_state = 467, .external_lex_state = 2},
  [4224] = {.lex_state = 467, .external_lex_state = 2},
  [4225] = {.lex_state = 467, .external_lex_state = 2},
  [4226] = {.lex_state = 467, .external_lex_state = 2},
  [4227] = {.lex_state = 467, .external_lex_state = 2},
  [4228] = {.lex_state = 467, .external_lex_state = 2},
  [4229] = {.lex_state = 467, .external_lex_state = 2},
  [4230] = {.lex_state = 467, .external_lex_state = 2},
  [4231] = {.lex_state = 467, .external_lex_state = 2},
  [4232] = {.lex_state = 467, .external_lex_state = 2},
  [4233] = {.lex_state = 467, .external_lex_state = 2},
  [4234] = {.lex_state = 467, .external_lex_state = 2},
  [4235] = {.lex_state = 467, .external_lex_state = 2},
  [4236] = {.lex_state = 467, .external_lex_state = 2},
  [4237] = {.lex_state = 972, .external_lex_state = 37},
  [4238] = {.lex_state = 972, .external_lex_state = 37},
  [4239] = {.lex_state = 972, .external_lex_state = 37},
  [4240] = {.lex_state = 972, .external_lex_state = 37},
  [4241] = {.lex_state = 467, .external_lex_state = 2},
  [4242] = {.lex_state = 467, .external_lex_state = 2},
  [4243] = {.lex_state = 467, .external_lex_state = 27},
  [4244] = {.lex_state = 467, .external_lex_state = 2},
  [4245] = {.lex_state = 972, .external_lex_state = 37},
  [4246] = {.lex_state = 1270, .external_lex_state = 4},
  [4247] = {.lex_state = 972, .external_lex_state = 10},
  [4248] = {.lex_state = 1272, .external_lex_state = 4},
  [4249] = {.lex_state = 549},
  [4250] = {.lex_state = 1270, .external_lex_state = 4},
  [4251] = {.lex_state = 638, .external_lex_state = 22},
  [4252] = {.lex_state = 1274, .external_lex_state = 36},
  [4253] = {.lex_state = 467, .external_lex_state = 39},
  [4254] = {.lex_state = 467, .external_lex_state = 2},
  [4255] = {.lex_state = 736, .external_lex_state = 13},
  [4256] = {.lex_state = 736, .external_lex_state = 13},
  [4257] = {.lex_state = 736, .external_lex_state = 13},
  [4258] = {.lex_state = 736, .external_lex_state = 13},
  [4259] = {.lex_state = 736, .external_lex_state = 13},
  [4260] = {.lex_state = 736, .external_lex_state = 13},
  [4261] = {.lex_state = 1116, .external_lex_state = 30},
  [4262] = {.lex_state = 736, .external_lex_state = 13},
  [4263] = {.lex_state = 736, .external_lex_state = 13},
  [4264] = {.lex_state = 736, .external_lex_state = 13},
  [4265] = {.lex_state = 736, .external_lex_state = 13},
  [4266] = {.lex_state = 736, .external_lex_state = 13},
  [4267] = {.lex_state = 458, .external_lex_state = 4},
  [4268] = {.lex_state = 0},
  [4269] = {.lex_state = 467, .external_lex_state = 2},
  [4270] = {.lex_state = 722, .external_lex_state = 10},
  [4271] = {.lex_state = 722, .external_lex_state = 10},
  [4272] = {.lex_state = 722, .external_lex_state = 10},
  [4273] = {.lex_state = 722, .external_lex_state = 10},
  [4274] = {.lex_state = 467, .external_lex_state = 2},
  [4275] = {.lex_state = 467, .external_lex_state = 2},
  [4276] = {.lex_state = 467, .external_lex_state = 2},
  [4277] = {.lex_state = 1040, .external_lex_state = 4},
  [4278] = {.lex_state = 722, .external_lex_state = 10},
  [4279] = {.lex_state = 549},
  [4280] = {.lex_state = 1040, .external_lex_state = 4},
  [4281] = {.lex_state = 1040, .external_lex_state = 4},
  [4282] = {.lex_state = 972, .external_lex_state = 10},
  [4283] = {.lex_state = 972, .external_lex_state = 10},
  [4284] = {.lex_state = 972, .external_lex_state = 10},
  [4285] = {.lex_state = 972, .external_lex_state = 10},
  [4286] = {.lex_state = 1038, .external_lex_state = 4},
  [4287] = {.lex_state = 1040, .external_lex_state = 4},
  [4288] = {.lex_state = 1038, .external_lex_state = 4},
  [4289] = {.lex_state = 1038, .external_lex_state = 4},
  [4290] = {.lex_state = 467, .external_lex_state = 2},
  [4291] = {.lex_state = 467, .external_lex_state = 2},
  [4292] = {.lex_state = 467, .external_lex_state = 2},
  [4293] = {.lex_state = 467, .external_lex_state = 2},
  [4294] = {.lex_state = 467, .external_lex_state = 2},
  [4295] = {.lex_state = 467, .external_lex_state = 2},
  [4296] = {.lex_state = 467, .external_lex_state = 2},
  [4297] = {.lex_state = 467, .external_lex_state = 2},
  [4298] = {.lex_state = 467, .external_lex_state = 2},
  [4299] = {.lex_state = 467, .external_lex_state = 2},
  [4300] = {.lex_state = 467, .external_lex_state = 2},
  [4301] = {.lex_state = 467, .external_lex_state = 2},
  [4302] = {.lex_state = 467, .external_lex_state = 2},
  [4303] = {.lex_state = 968, .external_lex_state = 12},
  [4304] = {.lex_state = 1040, .external_lex_state = 4},
  [4305] = {.lex_state = 467, .external_lex_state = 39},
  [4306] = {.lex_state = 467, .external_lex_state = 2},
  [4307] = {.lex_state = 467, .external_lex_state = 2},
  [4308] = {.lex_state = 467, .external_lex_state = 2},
  [4309] = {.lex_state = 467, .external_lex_state = 2},
  [4310] = {.lex_state = 467, .external_lex_state = 2},
  [4311] = {.lex_state = 467, .external_lex_state = 2},
  [4312] = {.lex_state = 467, .external_lex_state = 2},
  [4313] = {.lex_state = 1276, .external_lex_state = 13},
  [4314] = {.lex_state = 1276, .external_lex_state = 13},
  [4315] = {.lex_state = 549},
  [4316] = {.lex_state = 738, .external_lex_state = 4},
  [4317] = {.lex_state = 736, .external_lex_state = 13},
  [4318] = {.lex_state = 565, .external_lex_state = 2},
  [4319] = {.lex_state = 617, .external_lex_state = 55},
  [4320] = {.lex_state = 467, .external_lex_state = 2},
  [4321] = {.lex_state = 467, .external_lex_state = 2},
  [4322] = {.lex_state = 467, .external_lex_state = 2},
  [4323] = {.lex_state = 467, .external_lex_state = 2},
  [4324] = {.lex_state = 1046, .external_lex_state = 4},
  [4325] = {.lex_state = 549},
  [4326] = {.lex_state = 759, .external_lex_state = 4},
  [4327] = {.lex_state = 1046, .external_lex_state = 4},
  [4328] = {.lex_state = 970, .external_lex_state = 10},
  [4329] = {.lex_state = 970, .external_lex_state = 10},
  [4330] = {.lex_state = 970, .external_lex_state = 10},
  [4331] = {.lex_state = 970, .external_lex_state = 10},
  [4332] = {.lex_state = 1044, .external_lex_state = 4},
  [4333] = {.lex_state = 1046, .external_lex_state = 4},
  [4334] = {.lex_state = 467, .external_lex_state = 2},
  [4335] = {.lex_state = 467, .external_lex_state = 2},
  [4336] = {.lex_state = 467, .external_lex_state = 2},
  [4337] = {.lex_state = 972, .external_lex_state = 37},
  [4338] = {.lex_state = 1044, .external_lex_state = 4},
  [4339] = {.lex_state = 1044, .external_lex_state = 4},
  [4340] = {.lex_state = 638, .external_lex_state = 22},
  [4341] = {.lex_state = 1050, .external_lex_state = 36},
  [4342] = {.lex_state = 1044, .external_lex_state = 4},
  [4343] = {.lex_state = 1044, .external_lex_state = 4},
  [4344] = {.lex_state = 467, .external_lex_state = 2},
  [4345] = {.lex_state = 467, .external_lex_state = 2},
  [4346] = {.lex_state = 467, .external_lex_state = 2},
  [4347] = {.lex_state = 467, .external_lex_state = 2},
  [4348] = {.lex_state = 467, .external_lex_state = 2},
  [4349] = {.lex_state = 467, .external_lex_state = 2},
  [4350] = {.lex_state = 467, .external_lex_state = 2},
  [4351] = {.lex_state = 467, .external_lex_state = 2},
  [4352] = {.lex_state = 467, .external_lex_state = 2},
  [4353] = {.lex_state = 467, .external_lex_state = 2},
  [4354] = {.lex_state = 467, .external_lex_state = 2},
  [4355] = {.lex_state = 467, .external_lex_state = 2},
  [4356] = {.lex_state = 467, .external_lex_state = 2},
  [4357] = {.lex_state = 467, .external_lex_state = 2},
  [4358] = {.lex_state = 467, .external_lex_state = 2},
  [4359] = {.lex_state = 467, .external_lex_state = 2},
  [4360] = {.lex_state = 972, .external_lex_state = 37},
  [4361] = {.lex_state = 1085, .external_lex_state = 4},
  [4362] = {.lex_state = 1085, .external_lex_state = 4},
  [4363] = {.lex_state = 638, .external_lex_state = 22},
  [4364] = {.lex_state = 1089, .external_lex_state = 36},
  [4365] = {.lex_state = 968, .external_lex_state = 12},
  [4366] = {.lex_state = 1046, .external_lex_state = 4},
  [4367] = {.lex_state = 467, .external_lex_state = 39},
  [4368] = {.lex_state = 467, .external_lex_state = 2},
  [4369] = {.lex_state = 467, .external_lex_state = 2},
  [4370] = {.lex_state = 617, .external_lex_state = 55},
  [4371] = {.lex_state = 461, .external_lex_state = 2},
  [4372] = {.lex_state = 1058, .external_lex_state = 13},
  [4373] = {.lex_state = 1058, .external_lex_state = 13},
  [4374] = {.lex_state = 467, .external_lex_state = 2},
  [4375] = {.lex_state = 467, .external_lex_state = 2},
  [4376] = {.lex_state = 467, .external_lex_state = 2},
  [4377] = {.lex_state = 972, .external_lex_state = 37},
  [4378] = {.lex_state = 1260, .external_lex_state = 4},
  [4379] = {.lex_state = 1260, .external_lex_state = 4},
  [4380] = {.lex_state = 638, .external_lex_state = 22},
  [4381] = {.lex_state = 1264, .external_lex_state = 36},
  [4382] = {.lex_state = 700, .external_lex_state = 35},
  [4383] = {.lex_state = 1278, .external_lex_state = 71},
  [4384] = {.lex_state = 1278, .external_lex_state = 71},
  [4385] = {.lex_state = 700, .external_lex_state = 35},
  [4386] = {.lex_state = 700, .external_lex_state = 35},
  [4387] = {.lex_state = 1278, .external_lex_state = 71},
  [4388] = {.lex_state = 687, .external_lex_state = 33},
  [4389] = {.lex_state = 1278, .external_lex_state = 71},
  [4390] = {.lex_state = 700, .external_lex_state = 35},
  [4391] = {.lex_state = 1278, .external_lex_state = 71},
  [4392] = {.lex_state = 1058, .external_lex_state = 13},
  [4393] = {.lex_state = 1058, .external_lex_state = 13},
  [4394] = {.lex_state = 0},
  [4395] = {.lex_state = 0},
  [4396] = {.lex_state = 565, .external_lex_state = 2},
  [4397] = {.lex_state = 1056, .external_lex_state = 7},
  [4398] = {.lex_state = 467, .external_lex_state = 2},
  [4399] = {.lex_state = 467, .external_lex_state = 2},
  [4400] = {.lex_state = 467, .external_lex_state = 2},
  [4401] = {.lex_state = 467, .external_lex_state = 2},
  [4402] = {.lex_state = 467, .external_lex_state = 2},
  [4403] = {.lex_state = 467, .external_lex_state = 2},
  [4404] = {.lex_state = 467, .external_lex_state = 2},
  [4405] = {.lex_state = 467, .external_lex_state = 2},
  [4406] = {.lex_state = 467, .external_lex_state = 2},
  [4407] = {.lex_state = 467, .external_lex_state = 2},
  [4408] = {.lex_state = 467, .external_lex_state = 2},
  [4409] = {.lex_state = 467, .external_lex_state = 2},
  [4410] = {.lex_state = 467, .external_lex_state = 2},
  [4411] = {.lex_state = 467, .external_lex_state = 2},
  [4412] = {.lex_state = 467, .external_lex_state = 2},
  [4413] = {.lex_state = 972, .external_lex_state = 37},
  [4414] = {.lex_state = 1270, .external_lex_state = 4},
  [4415] = {.lex_state = 1270, .external_lex_state = 4},
  [4416] = {.lex_state = 638, .external_lex_state = 22},
  [4417] = {.lex_state = 1274, .external_lex_state = 36},
  [4418] = {.lex_state = 467, .external_lex_state = 39},
  [4419] = {.lex_state = 1060, .external_lex_state = 7},
  [4420] = {.lex_state = 467, .external_lex_state = 39},
  [4421] = {.lex_state = 467, .external_lex_state = 2},
  [4422] = {.lex_state = 565, .external_lex_state = 2},
  [4423] = {.lex_state = 617, .external_lex_state = 55},
  [4424] = {.lex_state = 461, .external_lex_state = 2},
  [4425] = {.lex_state = 1071, .external_lex_state = 13},
  [4426] = {.lex_state = 467, .external_lex_state = 2},
  [4427] = {.lex_state = 467, .external_lex_state = 2},
  [4428] = {.lex_state = 467, .external_lex_state = 2},
  [4429] = {.lex_state = 467, .external_lex_state = 2},
  [4430] = {.lex_state = 970, .external_lex_state = 37},
  [4431] = {.lex_state = 970, .external_lex_state = 37},
  [4432] = {.lex_state = 970, .external_lex_state = 37},
  [4433] = {.lex_state = 970, .external_lex_state = 37},
  [4434] = {.lex_state = 467, .external_lex_state = 2},
  [4435] = {.lex_state = 467, .external_lex_state = 2},
  [4436] = {.lex_state = 467, .external_lex_state = 27},
  [4437] = {.lex_state = 467, .external_lex_state = 2},
  [4438] = {.lex_state = 972, .external_lex_state = 37},
  [4439] = {.lex_state = 1280, .external_lex_state = 4},
  [4440] = {.lex_state = 972, .external_lex_state = 10},
  [4441] = {.lex_state = 1282, .external_lex_state = 4},
  [4442] = {.lex_state = 549},
  [4443] = {.lex_state = 1284, .external_lex_state = 4},
  [4444] = {.lex_state = 638, .external_lex_state = 22},
  [4445] = {.lex_state = 1286, .external_lex_state = 36},
  [4446] = {.lex_state = 1071, .external_lex_state = 13},
  [4447] = {.lex_state = 1071, .external_lex_state = 13},
  [4448] = {.lex_state = 743, .external_lex_state = 2},
  [4449] = {.lex_state = 1066, .external_lex_state = 7},
  [4450] = {.lex_state = 467, .external_lex_state = 2},
  [4451] = {.lex_state = 467, .external_lex_state = 2},
  [4452] = {.lex_state = 467, .external_lex_state = 2},
  [4453] = {.lex_state = 467, .external_lex_state = 2},
  [4454] = {.lex_state = 467, .external_lex_state = 2},
  [4455] = {.lex_state = 467, .external_lex_state = 2},
  [4456] = {.lex_state = 467, .external_lex_state = 2},
  [4457] = {.lex_state = 467, .external_lex_state = 2},
  [4458] = {.lex_state = 467, .external_lex_state = 2},
  [4459] = {.lex_state = 467, .external_lex_state = 2},
  [4460] = {.lex_state = 467, .external_lex_state = 2},
  [4461] = {.lex_state = 467, .external_lex_state = 2},
  [4462] = {.lex_state = 467, .external_lex_state = 2},
  [4463] = {.lex_state = 467, .external_lex_state = 2},
  [4464] = {.lex_state = 467, .external_lex_state = 2},
  [4465] = {.lex_state = 467, .external_lex_state = 2},
  [4466] = {.lex_state = 467, .external_lex_state = 2},
  [4467] = {.lex_state = 467, .external_lex_state = 2},
  [4468] = {.lex_state = 467, .external_lex_state = 2},
  [4469] = {.lex_state = 467, .external_lex_state = 2},
  [4470] = {.lex_state = 467, .external_lex_state = 2},
  [4471] = {.lex_state = 972, .external_lex_state = 37},
  [4472] = {.lex_state = 972, .external_lex_state = 37},
  [4473] = {.lex_state = 972, .external_lex_state = 37},
  [4474] = {.lex_state = 972, .external_lex_state = 37},
  [4475] = {.lex_state = 467, .external_lex_state = 2},
  [4476] = {.lex_state = 467, .external_lex_state = 2},
  [4477] = {.lex_state = 467, .external_lex_state = 27},
  [4478] = {.lex_state = 467, .external_lex_state = 2},
  [4479] = {.lex_state = 972, .external_lex_state = 37},
  [4480] = {.lex_state = 1288, .external_lex_state = 4},
  [4481] = {.lex_state = 972, .external_lex_state = 10},
  [4482] = {.lex_state = 1290, .external_lex_state = 4},
  [4483] = {.lex_state = 549},
  [4484] = {.lex_state = 1288, .external_lex_state = 4},
  [4485] = {.lex_state = 638, .external_lex_state = 22},
  [4486] = {.lex_state = 1292, .external_lex_state = 36},
  [4487] = {.lex_state = 467, .external_lex_state = 39},
  [4488] = {.lex_state = 467, .external_lex_state = 2},
  [4489] = {.lex_state = 0},
  [4490] = {.lex_state = 1081, .external_lex_state = 13},
  [4491] = {.lex_state = 467, .external_lex_state = 2},
  [4492] = {.lex_state = 467, .external_lex_state = 2},
  [4493] = {.lex_state = 467, .external_lex_state = 2},
  [4494] = {.lex_state = 467, .external_lex_state = 2},
  [4495] = {.lex_state = 970, .external_lex_state = 37},
  [4496] = {.lex_state = 970, .external_lex_state = 37},
  [4497] = {.lex_state = 970, .external_lex_state = 37},
  [4498] = {.lex_state = 970, .external_lex_state = 37},
  [4499] = {.lex_state = 467, .external_lex_state = 2},
  [4500] = {.lex_state = 467, .external_lex_state = 2},
  [4501] = {.lex_state = 467, .external_lex_state = 27},
  [4502] = {.lex_state = 467, .external_lex_state = 2},
  [4503] = {.lex_state = 972, .external_lex_state = 37},
  [4504] = {.lex_state = 1294, .external_lex_state = 4},
  [4505] = {.lex_state = 972, .external_lex_state = 10},
  [4506] = {.lex_state = 1296, .external_lex_state = 4},
  [4507] = {.lex_state = 549},
  [4508] = {.lex_state = 1298, .external_lex_state = 4},
  [4509] = {.lex_state = 638, .external_lex_state = 22},
  [4510] = {.lex_state = 1300, .external_lex_state = 36},
  [4511] = {.lex_state = 1081, .external_lex_state = 13},
  [4512] = {.lex_state = 1081, .external_lex_state = 13},
  [4513] = {.lex_state = 746, .external_lex_state = 2},
  [4514] = {.lex_state = 1075, .external_lex_state = 7},
  [4515] = {.lex_state = 467, .external_lex_state = 2},
  [4516] = {.lex_state = 467, .external_lex_state = 2},
  [4517] = {.lex_state = 467, .external_lex_state = 2},
  [4518] = {.lex_state = 467, .external_lex_state = 2},
  [4519] = {.lex_state = 467, .external_lex_state = 2},
  [4520] = {.lex_state = 467, .external_lex_state = 2},
  [4521] = {.lex_state = 467, .external_lex_state = 2},
  [4522] = {.lex_state = 467, .external_lex_state = 2},
  [4523] = {.lex_state = 467, .external_lex_state = 2},
  [4524] = {.lex_state = 467, .external_lex_state = 2},
  [4525] = {.lex_state = 467, .external_lex_state = 2},
  [4526] = {.lex_state = 467, .external_lex_state = 2},
  [4527] = {.lex_state = 467, .external_lex_state = 2},
  [4528] = {.lex_state = 467, .external_lex_state = 2},
  [4529] = {.lex_state = 467, .external_lex_state = 2},
  [4530] = {.lex_state = 467, .external_lex_state = 2},
  [4531] = {.lex_state = 467, .external_lex_state = 2},
  [4532] = {.lex_state = 467, .external_lex_state = 2},
  [4533] = {.lex_state = 467, .external_lex_state = 2},
  [4534] = {.lex_state = 467, .external_lex_state = 2},
  [4535] = {.lex_state = 467, .external_lex_state = 2},
  [4536] = {.lex_state = 972, .external_lex_state = 37},
  [4537] = {.lex_state = 972, .external_lex_state = 37},
  [4538] = {.lex_state = 972, .external_lex_state = 37},
  [4539] = {.lex_state = 972, .external_lex_state = 37},
  [4540] = {.lex_state = 467, .external_lex_state = 2},
  [4541] = {.lex_state = 467, .external_lex_state = 2},
  [4542] = {.lex_state = 467, .external_lex_state = 27},
  [4543] = {.lex_state = 467, .external_lex_state = 2},
  [4544] = {.lex_state = 972, .external_lex_state = 37},
  [4545] = {.lex_state = 1302, .external_lex_state = 4},
  [4546] = {.lex_state = 972, .external_lex_state = 10},
  [4547] = {.lex_state = 1304, .external_lex_state = 4},
  [4548] = {.lex_state = 549},
  [4549] = {.lex_state = 1302, .external_lex_state = 4},
  [4550] = {.lex_state = 638, .external_lex_state = 22},
  [4551] = {.lex_state = 1306, .external_lex_state = 36},
  [4552] = {.lex_state = 467, .external_lex_state = 39},
  [4553] = {.lex_state = 467, .external_lex_state = 2},
  [4554] = {.lex_state = 0},
  [4555] = {.lex_state = 0},
  [4556] = {.lex_state = 565, .external_lex_state = 2},
  [4557] = {.lex_state = 757, .external_lex_state = 13},
  [4558] = {.lex_state = 757, .external_lex_state = 13},
  [4559] = {.lex_state = 757, .external_lex_state = 13},
  [4560] = {.lex_state = 757, .external_lex_state = 13},
  [4561] = {.lex_state = 757, .external_lex_state = 13},
  [4562] = {.lex_state = 757, .external_lex_state = 13},
  [4563] = {.lex_state = 757, .external_lex_state = 13},
  [4564] = {.lex_state = 757, .external_lex_state = 13},
  [4565] = {.lex_state = 757, .external_lex_state = 13},
  [4566] = {.lex_state = 757, .external_lex_state = 13},
  [4567] = {.lex_state = 757, .external_lex_state = 13},
  [4568] = {.lex_state = 1116, .external_lex_state = 30},
  [4569] = {.lex_state = 757, .external_lex_state = 13},
  [4570] = {.lex_state = 757, .external_lex_state = 13},
  [4571] = {.lex_state = 757, .external_lex_state = 13},
  [4572] = {.lex_state = 757, .external_lex_state = 13},
  [4573] = {.lex_state = 757, .external_lex_state = 13},
  [4574] = {.lex_state = 467, .external_lex_state = 2},
  [4575] = {.lex_state = 722, .external_lex_state = 10},
  [4576] = {.lex_state = 722, .external_lex_state = 10},
  [4577] = {.lex_state = 722, .external_lex_state = 10},
  [4578] = {.lex_state = 722, .external_lex_state = 10},
  [4579] = {.lex_state = 467, .external_lex_state = 2},
  [4580] = {.lex_state = 467, .external_lex_state = 2},
  [4581] = {.lex_state = 467, .external_lex_state = 2},
  [4582] = {.lex_state = 1087, .external_lex_state = 4},
  [4583] = {.lex_state = 722, .external_lex_state = 10},
  [4584] = {.lex_state = 549},
  [4585] = {.lex_state = 1087, .external_lex_state = 4},
  [4586] = {.lex_state = 1087, .external_lex_state = 4},
  [4587] = {.lex_state = 972, .external_lex_state = 10},
  [4588] = {.lex_state = 972, .external_lex_state = 10},
  [4589] = {.lex_state = 972, .external_lex_state = 10},
  [4590] = {.lex_state = 972, .external_lex_state = 10},
  [4591] = {.lex_state = 1085, .external_lex_state = 4},
  [4592] = {.lex_state = 1087, .external_lex_state = 4},
  [4593] = {.lex_state = 1085, .external_lex_state = 4},
  [4594] = {.lex_state = 1085, .external_lex_state = 4},
  [4595] = {.lex_state = 467, .external_lex_state = 2},
  [4596] = {.lex_state = 467, .external_lex_state = 2},
  [4597] = {.lex_state = 467, .external_lex_state = 2},
  [4598] = {.lex_state = 467, .external_lex_state = 2},
  [4599] = {.lex_state = 467, .external_lex_state = 2},
  [4600] = {.lex_state = 467, .external_lex_state = 2},
  [4601] = {.lex_state = 467, .external_lex_state = 2},
  [4602] = {.lex_state = 467, .external_lex_state = 2},
  [4603] = {.lex_state = 467, .external_lex_state = 2},
  [4604] = {.lex_state = 467, .external_lex_state = 2},
  [4605] = {.lex_state = 467, .external_lex_state = 2},
  [4606] = {.lex_state = 467, .external_lex_state = 2},
  [4607] = {.lex_state = 467, .external_lex_state = 2},
  [4608] = {.lex_state = 968, .external_lex_state = 12},
  [4609] = {.lex_state = 1087, .external_lex_state = 4},
  [4610] = {.lex_state = 467, .external_lex_state = 39},
  [4611] = {.lex_state = 467, .external_lex_state = 2},
  [4612] = {.lex_state = 467, .external_lex_state = 2},
  [4613] = {.lex_state = 467, .external_lex_state = 2},
  [4614] = {.lex_state = 467, .external_lex_state = 2},
  [4615] = {.lex_state = 467, .external_lex_state = 2},
  [4616] = {.lex_state = 467, .external_lex_state = 2},
  [4617] = {.lex_state = 467, .external_lex_state = 2},
  [4618] = {.lex_state = 1308, .external_lex_state = 13},
  [4619] = {.lex_state = 1308, .external_lex_state = 13},
  [4620] = {.lex_state = 549},
  [4621] = {.lex_state = 759, .external_lex_state = 4},
  [4622] = {.lex_state = 757, .external_lex_state = 13},
  [4623] = {.lex_state = 458, .external_lex_state = 4},
  [4624] = {.lex_state = 545, .external_lex_state = 6},
  [4625] = {.lex_state = 617, .external_lex_state = 16},
  [4626] = {.lex_state = 763, .external_lex_state = 7},
  [4627] = {.lex_state = 617, .external_lex_state = 16},
  [4628] = {.lex_state = 763, .external_lex_state = 7},
  [4629] = {.lex_state = 545, .external_lex_state = 6},
  [4630] = {.lex_state = 767, .external_lex_state = 41},
  [4631] = {.lex_state = 617, .external_lex_state = 16},
  [4632] = {.lex_state = 769, .external_lex_state = 42},
  [4633] = {.lex_state = 617, .external_lex_state = 16},
  [4634] = {.lex_state = 769, .external_lex_state = 42},
  [4635] = {.lex_state = 617, .external_lex_state = 16},
  [4636] = {.lex_state = 769, .external_lex_state = 42},
  [4637] = {.lex_state = 617, .external_lex_state = 16},
  [4638] = {.lex_state = 769, .external_lex_state = 42},
  [4639] = {.lex_state = 617, .external_lex_state = 16},
  [4640] = {.lex_state = 1093, .external_lex_state = 46},
  [4641] = {.lex_state = 467, .external_lex_state = 2},
  [4642] = {.lex_state = 467, .external_lex_state = 2},
  [4643] = {.lex_state = 467, .external_lex_state = 2},
  [4644] = {.lex_state = 773, .external_lex_state = 43},
  [4645] = {.lex_state = 1099, .external_lex_state = 42},
  [4646] = {.lex_state = 1310, .external_lex_state = 42},
  [4647] = {.lex_state = 638, .external_lex_state = 22},
  [4648] = {.lex_state = 793, .external_lex_state = 41},
  [4649] = {.lex_state = 1093, .external_lex_state = 46},
  [4650] = {.lex_state = 1093, .external_lex_state = 46},
  [4651] = {.lex_state = 467, .external_lex_state = 2},
  [4652] = {.lex_state = 467, .external_lex_state = 2},
  [4653] = {.lex_state = 467, .external_lex_state = 2},
  [4654] = {.lex_state = 467, .external_lex_state = 2},
  [4655] = {.lex_state = 467, .external_lex_state = 2},
  [4656] = {.lex_state = 467, .external_lex_state = 2},
  [4657] = {.lex_state = 467, .external_lex_state = 2},
  [4658] = {.lex_state = 467, .external_lex_state = 2},
  [4659] = {.lex_state = 467, .external_lex_state = 2},
  [4660] = {.lex_state = 467, .external_lex_state = 2},
  [4661] = {.lex_state = 467, .external_lex_state = 2},
  [4662] = {.lex_state = 467, .external_lex_state = 2},
  [4663] = {.lex_state = 467, .external_lex_state = 2},
  [4664] = {.lex_state = 467, .external_lex_state = 2},
  [4665] = {.lex_state = 467, .external_lex_state = 2},
  [4666] = {.lex_state = 773, .external_lex_state = 43},
  [4667] = {.lex_state = 1101, .external_lex_state = 42},
  [4668] = {.lex_state = 1312, .external_lex_state = 42},
  [4669] = {.lex_state = 638, .external_lex_state = 22},
  [4670] = {.lex_state = 1105, .external_lex_state = 41},
  [4671] = {.lex_state = 467, .external_lex_state = 39},
  [4672] = {.lex_state = 467, .external_lex_state = 2},
  [4673] = {.lex_state = 769, .external_lex_state = 42},
  [4674] = {.lex_state = 0},
  [4675] = {.lex_state = 888, .external_lex_state = 30},
  [4676] = {.lex_state = 545, .external_lex_state = 6},
  [4677] = {.lex_state = 565, .external_lex_state = 2},
  [4678] = {.lex_state = 769, .external_lex_state = 42},
  [4679] = {.lex_state = 942, .external_lex_state = 13},
  [4680] = {.lex_state = 946, .external_lex_state = 7},
  [4681] = {.lex_state = 565, .external_lex_state = 2},
  [4682] = {.lex_state = 769, .external_lex_state = 42},
  [4683] = {.lex_state = 565, .external_lex_state = 2},
  [4684] = {.lex_state = 769, .external_lex_state = 44},
  [4685] = {.lex_state = 1099, .external_lex_state = 42},
  [4686] = {.lex_state = 1099, .external_lex_state = 42},
  [4687] = {.lex_state = 1099, .external_lex_state = 42},
  [4688] = {.lex_state = 1099, .external_lex_state = 42},
  [4689] = {.lex_state = 1099, .external_lex_state = 42},
  [4690] = {.lex_state = 1099, .external_lex_state = 42},
  [4691] = {.lex_state = 467, .external_lex_state = 2},
  [4692] = {.lex_state = 467, .external_lex_state = 2},
  [4693] = {.lex_state = 467, .external_lex_state = 2},
  [4694] = {.lex_state = 467, .external_lex_state = 2},
  [4695] = {.lex_state = 467, .external_lex_state = 2},
  [4696] = {.lex_state = 467, .external_lex_state = 2},
  [4697] = {.lex_state = 467, .external_lex_state = 2},
  [4698] = {.lex_state = 467, .external_lex_state = 2},
  [4699] = {.lex_state = 467, .external_lex_state = 2},
  [4700] = {.lex_state = 467, .external_lex_state = 2},
  [4701] = {.lex_state = 467, .external_lex_state = 2},
  [4702] = {.lex_state = 467, .external_lex_state = 2},
  [4703] = {.lex_state = 467, .external_lex_state = 2},
  [4704] = {.lex_state = 968, .external_lex_state = 12},
  [4705] = {.lex_state = 1099, .external_lex_state = 42},
  [4706] = {.lex_state = 467, .external_lex_state = 39},
  [4707] = {.lex_state = 467, .external_lex_state = 2},
  [4708] = {.lex_state = 467, .external_lex_state = 2},
  [4709] = {.lex_state = 985, .external_lex_state = 11},
  [4710] = {.lex_state = 996, .external_lex_state = 2},
  [4711] = {.lex_state = 746, .external_lex_state = 2},
  [4712] = {.lex_state = 746, .external_lex_state = 2},
  [4713] = {.lex_state = 1020, .external_lex_state = 7},
  [4714] = {.lex_state = 769, .external_lex_state = 42},
  [4715] = {.lex_state = 0},
  [4716] = {.lex_state = 734, .external_lex_state = 7},
  [4717] = {.lex_state = 769, .external_lex_state = 42},
  [4718] = {.lex_state = 0},
  [4719] = {.lex_state = 1093, .external_lex_state = 46},
  [4720] = {.lex_state = 0},
  [4721] = {.lex_state = 769, .external_lex_state = 42},
  [4722] = {.lex_state = 0},
  [4723] = {.lex_state = 631, .external_lex_state = 2},
  [4724] = {.lex_state = 769, .external_lex_state = 42},
  [4725] = {.lex_state = 0},
  [4726] = {.lex_state = 746, .external_lex_state = 11},
  [4727] = {.lex_state = 800, .external_lex_state = 11},
  [4728] = {.lex_state = 769, .external_lex_state = 42},
  [4729] = {.lex_state = 781, .external_lex_state = 46},
  [4730] = {.lex_state = 781, .external_lex_state = 46},
  [4731] = {.lex_state = 781, .external_lex_state = 46},
  [4732] = {.lex_state = 781, .external_lex_state = 46},
  [4733] = {.lex_state = 781, .external_lex_state = 46},
  [4734] = {.lex_state = 781, .external_lex_state = 46},
  [4735] = {.lex_state = 1116, .external_lex_state = 30},
  [4736] = {.lex_state = 781, .external_lex_state = 46},
  [4737] = {.lex_state = 781, .external_lex_state = 46},
  [4738] = {.lex_state = 781, .external_lex_state = 46},
  [4739] = {.lex_state = 781, .external_lex_state = 46},
  [4740] = {.lex_state = 781, .external_lex_state = 46},
  [4741] = {.lex_state = 777, .external_lex_state = 42},
  [4742] = {.lex_state = 783, .external_lex_state = 31},
  [4743] = {.lex_state = 0},
  [4744] = {.lex_state = 775, .external_lex_state = 45},
  [4745] = {.lex_state = 702, .external_lex_state = 12},
  [4746] = {.lex_state = 775, .external_lex_state = 45},
  [4747] = {.lex_state = 775, .external_lex_state = 45},
  [4748] = {.lex_state = 775, .external_lex_state = 45},
  [4749] = {.lex_state = 773, .external_lex_state = 45},
  [4750] = {.lex_state = 773, .external_lex_state = 45},
  [4751] = {.lex_state = 773, .external_lex_state = 45},
  [4752] = {.lex_state = 773, .external_lex_state = 45},
  [4753] = {.lex_state = 1101, .external_lex_state = 42},
  [4754] = {.lex_state = 1101, .external_lex_state = 42},
  [4755] = {.lex_state = 1101, .external_lex_state = 42},
  [4756] = {.lex_state = 0},
  [4757] = {.lex_state = 631, .external_lex_state = 2},
  [4758] = {.lex_state = 1101, .external_lex_state = 42},
  [4759] = {.lex_state = 777, .external_lex_state = 42},
  [4760] = {.lex_state = 0},
  [4761] = {.lex_state = 746, .external_lex_state = 11},
  [4762] = {.lex_state = 800, .external_lex_state = 11},
  [4763] = {.lex_state = 1101, .external_lex_state = 42},
  [4764] = {.lex_state = 1101, .external_lex_state = 42},
  [4765] = {.lex_state = 467, .external_lex_state = 2},
  [4766] = {.lex_state = 467, .external_lex_state = 2},
  [4767] = {.lex_state = 467, .external_lex_state = 2},
  [4768] = {.lex_state = 467, .external_lex_state = 2},
  [4769] = {.lex_state = 467, .external_lex_state = 2},
  [4770] = {.lex_state = 467, .external_lex_state = 2},
  [4771] = {.lex_state = 467, .external_lex_state = 2},
  [4772] = {.lex_state = 467, .external_lex_state = 2},
  [4773] = {.lex_state = 467, .external_lex_state = 2},
  [4774] = {.lex_state = 467, .external_lex_state = 2},
  [4775] = {.lex_state = 467, .external_lex_state = 2},
  [4776] = {.lex_state = 467, .external_lex_state = 2},
  [4777] = {.lex_state = 467, .external_lex_state = 2},
  [4778] = {.lex_state = 777, .external_lex_state = 42},
  [4779] = {.lex_state = 968, .external_lex_state = 12},
  [4780] = {.lex_state = 1101, .external_lex_state = 42},
  [4781] = {.lex_state = 467, .external_lex_state = 39},
  [4782] = {.lex_state = 467, .external_lex_state = 2},
  [4783] = {.lex_state = 467, .external_lex_state = 2},
  [4784] = {.lex_state = 1314, .external_lex_state = 12},
  [4785] = {.lex_state = 461, .external_lex_state = 2},
  [4786] = {.lex_state = 1316, .external_lex_state = 31},
  [4787] = {.lex_state = 583, .external_lex_state = 12},
  [4788] = {.lex_state = 467, .external_lex_state = 2},
  [4789] = {.lex_state = 781, .external_lex_state = 46},
  [4790] = {.lex_state = 789, .external_lex_state = 46},
  [4791] = {.lex_state = 789, .external_lex_state = 46},
  [4792] = {.lex_state = 781, .external_lex_state = 46},
  [4793] = {.lex_state = 781, .external_lex_state = 46},
  [4794] = {.lex_state = 1093, .external_lex_state = 46},
  [4795] = {.lex_state = 767, .external_lex_state = 59},
  [4796] = {.lex_state = 585},
  [4797] = {.lex_state = 631, .external_lex_state = 2},
  [4798] = {.lex_state = 545},
  [4799] = {.lex_state = 1318, .external_lex_state = 22},
  [4800] = {.lex_state = 585},
  [4801] = {.lex_state = 458, .external_lex_state = 4},
  [4802] = {.lex_state = 0},
  [4803] = {.lex_state = 0},
  [4804] = {.lex_state = 1320, .external_lex_state = 2},
  [4805] = {.lex_state = 467, .external_lex_state = 2},
  [4806] = {.lex_state = 0},
  [4807] = {.lex_state = 661},
  [4808] = {.lex_state = 0},
  [4809] = {.lex_state = 795, .external_lex_state = 2},
  [4810] = {.lex_state = 800, .external_lex_state = 11},
  [4811] = {.lex_state = 0},
  [4812] = {.lex_state = 804},
  [4813] = {.lex_state = 617, .external_lex_state = 55},
  [4814] = {.lex_state = 461, .external_lex_state = 2},
  [4815] = {.lex_state = 585},
  [4816] = {.lex_state = 746, .external_lex_state = 11},
  [4817] = {.lex_state = 545},
  [4818] = {.lex_state = 585},
  [4819] = {.lex_state = 458, .external_lex_state = 4},
  [4820] = {.lex_state = 1322, .external_lex_state = 11},
  [4821] = {.lex_state = 0},
  [4822] = {.lex_state = 746, .external_lex_state = 2},
  [4823] = {.lex_state = 746, .external_lex_state = 11},
  [4824] = {.lex_state = 467, .external_lex_state = 2},
  [4825] = {.lex_state = 619, .external_lex_state = 29},
  [4826] = {.lex_state = 619, .external_lex_state = 29},
  [4827] = {.lex_state = 619, .external_lex_state = 29},
  [4828] = {.lex_state = 619, .external_lex_state = 29},
  [4829] = {.lex_state = 467, .external_lex_state = 2},
  [4830] = {.lex_state = 467, .external_lex_state = 2},
  [4831] = {.lex_state = 467, .external_lex_state = 2},
  [4832] = {.lex_state = 1324, .external_lex_state = 30},
  [4833] = {.lex_state = 621, .external_lex_state = 29},
  [4834] = {.lex_state = 549},
  [4835] = {.lex_state = 1216, .external_lex_state = 20},
  [4836] = {.lex_state = 1324, .external_lex_state = 30},
  [4837] = {.lex_state = 0},
  [4838] = {.lex_state = 545},
  [4839] = {.lex_state = 274, .external_lex_state = 2},
  [4840] = {.lex_state = 617, .external_lex_state = 55},
  [4841] = {.lex_state = 591, .external_lex_state = 7},
  [4842] = {.lex_state = 1116, .external_lex_state = 30},
  [4843] = {.lex_state = 467, .external_lex_state = 2},
  [4844] = {.lex_state = 467, .external_lex_state = 2},
  [4845] = {.lex_state = 467, .external_lex_state = 2},
  [4846] = {.lex_state = 467, .external_lex_state = 2},
  [4847] = {.lex_state = 1326, .external_lex_state = 43},
  [4848] = {.lex_state = 1326, .external_lex_state = 43},
  [4849] = {.lex_state = 1326, .external_lex_state = 43},
  [4850] = {.lex_state = 1326, .external_lex_state = 43},
  [4851] = {.lex_state = 467, .external_lex_state = 2},
  [4852] = {.lex_state = 467, .external_lex_state = 2},
  [4853] = {.lex_state = 467, .external_lex_state = 27},
  [4854] = {.lex_state = 467, .external_lex_state = 2},
  [4855] = {.lex_state = 1328, .external_lex_state = 43},
  [4856] = {.lex_state = 1330, .external_lex_state = 42},
  [4857] = {.lex_state = 1328, .external_lex_state = 45},
  [4858] = {.lex_state = 1332, .external_lex_state = 42},
  [4859] = {.lex_state = 549},
  [4860] = {.lex_state = 1334, .external_lex_state = 42},
  [4861] = {.lex_state = 638, .external_lex_state = 22},
  [4862] = {.lex_state = 1336, .external_lex_state = 41},
  [4863] = {.lex_state = 1116, .external_lex_state = 30},
  [4864] = {.lex_state = 1116, .external_lex_state = 30},
  [4865] = {.lex_state = 467, .external_lex_state = 2},
  [4866] = {.lex_state = 467, .external_lex_state = 2},
  [4867] = {.lex_state = 467, .external_lex_state = 2},
  [4868] = {.lex_state = 467, .external_lex_state = 2},
  [4869] = {.lex_state = 467, .external_lex_state = 2},
  [4870] = {.lex_state = 467, .external_lex_state = 2},
  [4871] = {.lex_state = 467, .external_lex_state = 2},
  [4872] = {.lex_state = 467, .external_lex_state = 2},
  [4873] = {.lex_state = 467, .external_lex_state = 2},
  [4874] = {.lex_state = 467, .external_lex_state = 2},
  [4875] = {.lex_state = 467, .external_lex_state = 2},
  [4876] = {.lex_state = 467, .external_lex_state = 2},
  [4877] = {.lex_state = 467, .external_lex_state = 2},
  [4878] = {.lex_state = 467, .external_lex_state = 2},
  [4879] = {.lex_state = 467, .external_lex_state = 2},
  [4880] = {.lex_state = 467, .external_lex_state = 2},
  [4881] = {.lex_state = 467, .external_lex_state = 2},
  [4882] = {.lex_state = 1328, .external_lex_state = 43},
  [4883] = {.lex_state = 1328, .external_lex_state = 43},
  [4884] = {.lex_state = 1328, .external_lex_state = 43},
  [4885] = {.lex_state = 1328, .external_lex_state = 43},
  [4886] = {.lex_state = 467, .external_lex_state = 2},
  [4887] = {.lex_state = 467, .external_lex_state = 2},
  [4888] = {.lex_state = 467, .external_lex_state = 27},
  [4889] = {.lex_state = 467, .external_lex_state = 2},
  [4890] = {.lex_state = 1328, .external_lex_state = 43},
  [4891] = {.lex_state = 1338, .external_lex_state = 42},
  [4892] = {.lex_state = 1328, .external_lex_state = 45},
  [4893] = {.lex_state = 1340, .external_lex_state = 42},
  [4894] = {.lex_state = 549},
  [4895] = {.lex_state = 1338, .external_lex_state = 42},
  [4896] = {.lex_state = 638, .external_lex_state = 22},
  [4897] = {.lex_state = 1342, .external_lex_state = 41},
  [4898] = {.lex_state = 467, .external_lex_state = 39},
  [4899] = {.lex_state = 467, .external_lex_state = 2},
  [4900] = {.lex_state = 575, .external_lex_state = 4},
  [4901] = {.lex_state = 0},
  [4902] = {.lex_state = 570, .external_lex_state = 10},
  [4903] = {.lex_state = 960, .external_lex_state = 31},
  [4904] = {.lex_state = 0},
  [4905] = {.lex_state = 808, .external_lex_state = 36},
  [4906] = {.lex_state = 617, .external_lex_state = 16},
  [4907] = {.lex_state = 708, .external_lex_state = 4},
  [4908] = {.lex_state = 617, .external_lex_state = 16},
  [4909] = {.lex_state = 708, .external_lex_state = 4},
  [4910] = {.lex_state = 617, .external_lex_state = 16},
  [4911] = {.lex_state = 708, .external_lex_state = 4},
  [4912] = {.lex_state = 617, .external_lex_state = 16},
  [4913] = {.lex_state = 708, .external_lex_state = 4},
  [4914] = {.lex_state = 617, .external_lex_state = 16},
  [4915] = {.lex_state = 617, .external_lex_state = 16},
  [4916] = {.lex_state = 461, .external_lex_state = 2},
  [4917] = {.lex_state = 617, .external_lex_state = 16},
  [4918] = {.lex_state = 461, .external_lex_state = 2},
  [4919] = {.lex_state = 617, .external_lex_state = 16},
  [4920] = {.lex_state = 461, .external_lex_state = 2},
  [4921] = {.lex_state = 617, .external_lex_state = 16},
  [4922] = {.lex_state = 461, .external_lex_state = 2},
  [4923] = {.lex_state = 617, .external_lex_state = 16},
  [4924] = {.lex_state = 461, .external_lex_state = 2},
  [4925] = {.lex_state = 816, .external_lex_state = 4},
  [4926] = {.lex_state = 575, .external_lex_state = 4},
  [4927] = {.lex_state = 0},
  [4928] = {.lex_state = 659, .external_lex_state = 31},
  [4929] = {.lex_state = 467, .external_lex_state = 2},
  [4930] = {.lex_state = 575, .external_lex_state = 4},
  [4931] = {.lex_state = 585},
  [4932] = {.lex_state = 661, .external_lex_state = 7},
  [4933] = {.lex_state = 575, .external_lex_state = 4},
  [4934] = {.lex_state = 0},
  [4935] = {.lex_state = 467, .external_lex_state = 2},
  [4936] = {.lex_state = 697, .external_lex_state = 35},
  [4937] = {.lex_state = 697, .external_lex_state = 35},
  [4938] = {.lex_state = 700, .external_lex_state = 35},
  [4939] = {.lex_state = 700, .external_lex_state = 35},
  [4940] = {.lex_state = 575, .external_lex_state = 4},
  [4941] = {.lex_state = 575, .external_lex_state = 4},
  [4942] = {.lex_state = 575, .external_lex_state = 4},
  [4943] = {.lex_state = 575, .external_lex_state = 4},
  [4944] = {.lex_state = 718, .external_lex_state = 7},
  [4945] = {.lex_state = 718, .external_lex_state = 7},
  [4946] = {.lex_state = 726, .external_lex_state = 13},
  [4947] = {.lex_state = 726, .external_lex_state = 13},
  [4948] = {.lex_state = 0},
  [4949] = {.lex_state = 0},
  [4950] = {.lex_state = 736, .external_lex_state = 13},
  [4951] = {.lex_state = 734, .external_lex_state = 7},
  [4952] = {.lex_state = 575, .external_lex_state = 4},
  [4953] = {.lex_state = 0},
  [4954] = {.lex_state = 565, .external_lex_state = 2},
  [4955] = {.lex_state = 816, .external_lex_state = 4},
  [4956] = {.lex_state = 816, .external_lex_state = 4},
  [4957] = {.lex_state = 575, .external_lex_state = 4},
  [4958] = {.lex_state = 575, .external_lex_state = 4},
  [4959] = {.lex_state = 575, .external_lex_state = 4},
  [4960] = {.lex_state = 783, .external_lex_state = 31},
  [4961] = {.lex_state = 0},
  [4962] = {.lex_state = 0},
  [4963] = {.lex_state = 575, .external_lex_state = 4},
  [4964] = {.lex_state = 467, .external_lex_state = 2},
  [4965] = {.lex_state = 467, .external_lex_state = 2},
  [4966] = {.lex_state = 467, .external_lex_state = 2},
  [4967] = {.lex_state = 467, .external_lex_state = 2},
  [4968] = {.lex_state = 467, .external_lex_state = 2},
  [4969] = {.lex_state = 467, .external_lex_state = 2},
  [4970] = {.lex_state = 467, .external_lex_state = 2},
  [4971] = {.lex_state = 467, .external_lex_state = 2},
  [4972] = {.lex_state = 467, .external_lex_state = 2},
  [4973] = {.lex_state = 467, .external_lex_state = 2},
  [4974] = {.lex_state = 467, .external_lex_state = 2},
  [4975] = {.lex_state = 467, .external_lex_state = 2},
  [4976] = {.lex_state = 467, .external_lex_state = 39},
  [4977] = {.lex_state = 467, .external_lex_state = 2},
  [4978] = {.lex_state = 1122, .external_lex_state = 3},
  [4979] = {.lex_state = 1122, .external_lex_state = 3},
  [4980] = {.lex_state = 575, .external_lex_state = 4},
  [4981] = {.lex_state = 0},
  [4982] = {.lex_state = 617, .external_lex_state = 16},
  [4983] = {.lex_state = 461, .external_lex_state = 2},
  [4984] = {.lex_state = 1126, .external_lex_state = 10},
  [4985] = {.lex_state = 1126, .external_lex_state = 10},
  [4986] = {.lex_state = 1126, .external_lex_state = 10},
  [4987] = {.lex_state = 1126, .external_lex_state = 10},
  [4988] = {.lex_state = 1130, .external_lex_state = 13},
  [4989] = {.lex_state = 467, .external_lex_state = 2},
  [4990] = {.lex_state = 467, .external_lex_state = 2},
  [4991] = {.lex_state = 467, .external_lex_state = 2},
  [4992] = {.lex_state = 1128, .external_lex_state = 37},
  [4993] = {.lex_state = 1142, .external_lex_state = 4},
  [4994] = {.lex_state = 1142, .external_lex_state = 4},
  [4995] = {.lex_state = 638, .external_lex_state = 22},
  [4996] = {.lex_state = 1146, .external_lex_state = 36},
  [4997] = {.lex_state = 1130, .external_lex_state = 13},
  [4998] = {.lex_state = 1130, .external_lex_state = 13},
  [4999] = {.lex_state = 575, .external_lex_state = 4},
  [5000] = {.lex_state = 0},
  [5001] = {.lex_state = 467, .external_lex_state = 2},
  [5002] = {.lex_state = 467, .external_lex_state = 2},
  [5003] = {.lex_state = 467, .external_lex_state = 2},
  [5004] = {.lex_state = 467, .external_lex_state = 2},
  [5005] = {.lex_state = 467, .external_lex_state = 2},
  [5006] = {.lex_state = 467, .external_lex_state = 2},
  [5007] = {.lex_state = 467, .external_lex_state = 2},
  [5008] = {.lex_state = 467, .external_lex_state = 2},
  [5009] = {.lex_state = 467, .external_lex_state = 2},
  [5010] = {.lex_state = 467, .external_lex_state = 2},
  [5011] = {.lex_state = 467, .external_lex_state = 2},
  [5012] = {.lex_state = 467, .external_lex_state = 2},
  [5013] = {.lex_state = 467, .external_lex_state = 2},
  [5014] = {.lex_state = 467, .external_lex_state = 2},
  [5015] = {.lex_state = 467, .external_lex_state = 2},
  [5016] = {.lex_state = 1128, .external_lex_state = 37},
  [5017] = {.lex_state = 1148, .external_lex_state = 4},
  [5018] = {.lex_state = 1148, .external_lex_state = 4},
  [5019] = {.lex_state = 638, .external_lex_state = 22},
  [5020] = {.lex_state = 1152, .external_lex_state = 36},
  [5021] = {.lex_state = 467, .external_lex_state = 39},
  [5022] = {.lex_state = 467, .external_lex_state = 2},
  [5023] = {.lex_state = 708, .external_lex_state = 4},
  [5024] = {.lex_state = 0},
  [5025] = {.lex_state = 888, .external_lex_state = 30},
  [5026] = {.lex_state = 545, .external_lex_state = 6},
  [5027] = {.lex_state = 565, .external_lex_state = 2},
  [5028] = {.lex_state = 708, .external_lex_state = 4},
  [5029] = {.lex_state = 942, .external_lex_state = 13},
  [5030] = {.lex_state = 946, .external_lex_state = 7},
  [5031] = {.lex_state = 565, .external_lex_state = 2},
  [5032] = {.lex_state = 708, .external_lex_state = 4},
  [5033] = {.lex_state = 565, .external_lex_state = 2},
  [5034] = {.lex_state = 708, .external_lex_state = 38},
  [5035] = {.lex_state = 985, .external_lex_state = 11},
  [5036] = {.lex_state = 996, .external_lex_state = 2},
  [5037] = {.lex_state = 746, .external_lex_state = 2},
  [5038] = {.lex_state = 746, .external_lex_state = 2},
  [5039] = {.lex_state = 1020, .external_lex_state = 7},
  [5040] = {.lex_state = 575, .external_lex_state = 4},
  [5041] = {.lex_state = 0},
  [5042] = {.lex_state = 746, .external_lex_state = 2},
  [5043] = {.lex_state = 746, .external_lex_state = 11},
  [5044] = {.lex_state = 708, .external_lex_state = 4},
  [5045] = {.lex_state = 0},
  [5046] = {.lex_state = 734, .external_lex_state = 7},
  [5047] = {.lex_state = 708, .external_lex_state = 4},
  [5048] = {.lex_state = 0},
  [5049] = {.lex_state = 816, .external_lex_state = 4},
  [5050] = {.lex_state = 0},
  [5051] = {.lex_state = 708, .external_lex_state = 4},
  [5052] = {.lex_state = 708, .external_lex_state = 4},
  [5053] = {.lex_state = 814, .external_lex_state = 4},
  [5054] = {.lex_state = 814, .external_lex_state = 4},
  [5055] = {.lex_state = 814, .external_lex_state = 4},
  [5056] = {.lex_state = 814, .external_lex_state = 4},
  [5057] = {.lex_state = 814, .external_lex_state = 4},
  [5058] = {.lex_state = 814, .external_lex_state = 4},
  [5059] = {.lex_state = 1116, .external_lex_state = 30},
  [5060] = {.lex_state = 814, .external_lex_state = 4},
  [5061] = {.lex_state = 814, .external_lex_state = 4},
  [5062] = {.lex_state = 814, .external_lex_state = 4},
  [5063] = {.lex_state = 814, .external_lex_state = 4},
  [5064] = {.lex_state = 814, .external_lex_state = 4},
  [5065] = {.lex_state = 575, .external_lex_state = 4},
  [5066] = {.lex_state = 617, .external_lex_state = 55},
  [5067] = {.lex_state = 461, .external_lex_state = 2},
  [5068] = {.lex_state = 575, .external_lex_state = 4},
  [5069] = {.lex_state = 575, .external_lex_state = 4},
  [5070] = {.lex_state = 968, .external_lex_state = 70},
  [5071] = {.lex_state = 968, .external_lex_state = 12},
  [5072] = {.lex_state = 575, .external_lex_state = 4},
  [5073] = {.lex_state = 814, .external_lex_state = 4},
  [5074] = {.lex_state = 708, .external_lex_state = 4},
  [5075] = {.lex_state = 708, .external_lex_state = 4},
  [5076] = {.lex_state = 814, .external_lex_state = 4},
  [5077] = {.lex_state = 814, .external_lex_state = 4},
  [5078] = {.lex_state = 816, .external_lex_state = 4},
  [5079] = {.lex_state = 808, .external_lex_state = 3},
  [5080] = {.lex_state = 1136, .external_lex_state = 13},
  [5081] = {.lex_state = 1136, .external_lex_state = 13},
  [5082] = {.lex_state = 1136, .external_lex_state = 13},
  [5083] = {.lex_state = 1136, .external_lex_state = 13},
  [5084] = {.lex_state = 467, .external_lex_state = 2},
  [5085] = {.lex_state = 467, .external_lex_state = 2},
  [5086] = {.lex_state = 467, .external_lex_state = 2},
  [5087] = {.lex_state = 467, .external_lex_state = 2},
  [5088] = {.lex_state = 467, .external_lex_state = 2},
  [5089] = {.lex_state = 467, .external_lex_state = 2},
  [5090] = {.lex_state = 467, .external_lex_state = 2},
  [5091] = {.lex_state = 467, .external_lex_state = 2},
  [5092] = {.lex_state = 467, .external_lex_state = 2},
  [5093] = {.lex_state = 467, .external_lex_state = 2},
  [5094] = {.lex_state = 467, .external_lex_state = 2},
  [5095] = {.lex_state = 467, .external_lex_state = 2},
  [5096] = {.lex_state = 467, .external_lex_state = 39},
  [5097] = {.lex_state = 1136, .external_lex_state = 13},
  [5098] = {.lex_state = 467, .external_lex_state = 39},
  [5099] = {.lex_state = 467, .external_lex_state = 2},
  [5100] = {.lex_state = 613, .external_lex_state = 14},
  [5101] = {.lex_state = 615, .external_lex_state = 15},
  [5102] = {.lex_state = 615, .external_lex_state = 15},
  [5103] = {.lex_state = 615, .external_lex_state = 15},
  [5104] = {.lex_state = 615, .external_lex_state = 15},
  [5105] = {.lex_state = 615, .external_lex_state = 15},
  [5106] = {.lex_state = 585},
  [5107] = {.lex_state = 615, .external_lex_state = 15},
  [5108] = {.lex_state = 615, .external_lex_state = 15},
  [5109] = {.lex_state = 0},
  [5110] = {.lex_state = 565, .external_lex_state = 2},
  [5111] = {.lex_state = 565, .external_lex_state = 2},
  [5112] = {.lex_state = 615, .external_lex_state = 15},
  [5113] = {.lex_state = 0},
  [5114] = {.lex_state = 615, .external_lex_state = 15},
  [5115] = {.lex_state = 0},
  [5116] = {.lex_state = 822, .external_lex_state = 48},
  [5117] = {.lex_state = 617, .external_lex_state = 16},
  [5118] = {.lex_state = 824, .external_lex_state = 49},
  [5119] = {.lex_state = 617, .external_lex_state = 16},
  [5120] = {.lex_state = 824, .external_lex_state = 49},
  [5121] = {.lex_state = 617, .external_lex_state = 16},
  [5122] = {.lex_state = 824, .external_lex_state = 49},
  [5123] = {.lex_state = 617, .external_lex_state = 16},
  [5124] = {.lex_state = 824, .external_lex_state = 49},
  [5125] = {.lex_state = 617, .external_lex_state = 16},
  [5126] = {.lex_state = 617, .external_lex_state = 16},
  [5127] = {.lex_state = 461, .external_lex_state = 2},
  [5128] = {.lex_state = 615, .external_lex_state = 49},
  [5129] = {.lex_state = 621, .external_lex_state = 52},
  [5130] = {.lex_state = 615, .external_lex_state = 49},
  [5131] = {.lex_state = 615, .external_lex_state = 49},
  [5132] = {.lex_state = 467, .external_lex_state = 2},
  [5133] = {.lex_state = 467, .external_lex_state = 2},
  [5134] = {.lex_state = 467, .external_lex_state = 2},
  [5135] = {.lex_state = 467, .external_lex_state = 2},
  [5136] = {.lex_state = 467, .external_lex_state = 2},
  [5137] = {.lex_state = 467, .external_lex_state = 2},
  [5138] = {.lex_state = 467, .external_lex_state = 2},
  [5139] = {.lex_state = 467, .external_lex_state = 2},
  [5140] = {.lex_state = 467, .external_lex_state = 2},
  [5141] = {.lex_state = 467, .external_lex_state = 2},
  [5142] = {.lex_state = 467, .external_lex_state = 2},
  [5143] = {.lex_state = 467, .external_lex_state = 2},
  [5144] = {.lex_state = 583, .external_lex_state = 12},
  [5145] = {.lex_state = 545},
  [5146] = {.lex_state = 806, .external_lex_state = 47},
  [5147] = {.lex_state = 810, .external_lex_state = 5},
  [5148] = {.lex_state = 800, .external_lex_state = 28},
  [5149] = {.lex_state = 842, .external_lex_state = 49},
  [5150] = {.lex_state = 842, .external_lex_state = 49},
  [5151] = {.lex_state = 467, .external_lex_state = 39},
  [5152] = {.lex_state = 467, .external_lex_state = 2},
  [5153] = {.lex_state = 824, .external_lex_state = 49},
  [5154] = {.lex_state = 0},
  [5155] = {.lex_state = 824, .external_lex_state = 49},
  [5156] = {.lex_state = 0},
  [5157] = {.lex_state = 888, .external_lex_state = 30},
  [5158] = {.lex_state = 545, .external_lex_state = 6},
  [5159] = {.lex_state = 565, .external_lex_state = 2},
  [5160] = {.lex_state = 824, .external_lex_state = 49},
  [5161] = {.lex_state = 942, .external_lex_state = 13},
  [5162] = {.lex_state = 946, .external_lex_state = 7},
  [5163] = {.lex_state = 565, .external_lex_state = 2},
  [5164] = {.lex_state = 824, .external_lex_state = 49},
  [5165] = {.lex_state = 565, .external_lex_state = 2},
  [5166] = {.lex_state = 824, .external_lex_state = 51},
  [5167] = {.lex_state = 824, .external_lex_state = 49},
  [5168] = {.lex_state = 824, .external_lex_state = 49},
  [5169] = {.lex_state = 824, .external_lex_state = 49},
  [5170] = {.lex_state = 467, .external_lex_state = 2},
  [5171] = {.lex_state = 968, .external_lex_state = 12},
  [5172] = {.lex_state = 824, .external_lex_state = 49},
  [5173] = {.lex_state = 467, .external_lex_state = 2},
  [5174] = {.lex_state = 985, .external_lex_state = 11},
  [5175] = {.lex_state = 996, .external_lex_state = 2},
  [5176] = {.lex_state = 746, .external_lex_state = 2},
  [5177] = {.lex_state = 746, .external_lex_state = 2},
  [5178] = {.lex_state = 1020, .external_lex_state = 7},
  [5179] = {.lex_state = 824, .external_lex_state = 49},
  [5180] = {.lex_state = 0},
  [5181] = {.lex_state = 734, .external_lex_state = 7},
  [5182] = {.lex_state = 824, .external_lex_state = 49},
  [5183] = {.lex_state = 0},
  [5184] = {.lex_state = 615, .external_lex_state = 49},
  [5185] = {.lex_state = 0},
  [5186] = {.lex_state = 824, .external_lex_state = 49},
  [5187] = {.lex_state = 0},
  [5188] = {.lex_state = 631, .external_lex_state = 2},
  [5189] = {.lex_state = 824, .external_lex_state = 49},
  [5190] = {.lex_state = 0},
  [5191] = {.lex_state = 746, .external_lex_state = 11},
  [5192] = {.lex_state = 800, .external_lex_state = 11},
  [5193] = {.lex_state = 824, .external_lex_state = 49},
  [5194] = {.lex_state = 824, .external_lex_state = 49},
  [5195] = {.lex_state = 824, .external_lex_state = 49},
  [5196] = {.lex_state = 824, .external_lex_state = 49},
  [5197] = {.lex_state = 824, .external_lex_state = 49},
  [5198] = {.lex_state = 824, .external_lex_state = 49},
  [5199] = {.lex_state = 824, .external_lex_state = 49},
  [5200] = {.lex_state = 1116, .external_lex_state = 30},
  [5201] = {.lex_state = 824, .external_lex_state = 49},
  [5202] = {.lex_state = 824, .external_lex_state = 49},
  [5203] = {.lex_state = 824, .external_lex_state = 49},
  [5204] = {.lex_state = 824, .external_lex_state = 49},
  [5205] = {.lex_state = 824, .external_lex_state = 49},
  [5206] = {.lex_state = 828, .external_lex_state = 49},
  [5207] = {.lex_state = 783, .external_lex_state = 31},
  [5208] = {.lex_state = 0},
  [5209] = {.lex_state = 644, .external_lex_state = 52},
  [5210] = {.lex_state = 702, .external_lex_state = 12},
  [5211] = {.lex_state = 644, .external_lex_state = 52},
  [5212] = {.lex_state = 644, .external_lex_state = 52},
  [5213] = {.lex_state = 644, .external_lex_state = 52},
  [5214] = {.lex_state = 828, .external_lex_state = 49},
  [5215] = {.lex_state = 828, .external_lex_state = 49},
  [5216] = {.lex_state = 828, .external_lex_state = 49},
  [5217] = {.lex_state = 960, .external_lex_state = 31},
  [5218] = {.lex_state = 0},
  [5219] = {.lex_state = 0},
  [5220] = {.lex_state = 631, .external_lex_state = 2},
  [5221] = {.lex_state = 828, .external_lex_state = 49},
  [5222] = {.lex_state = 828, .external_lex_state = 49},
  [5223] = {.lex_state = 0},
  [5224] = {.lex_state = 746, .external_lex_state = 11},
  [5225] = {.lex_state = 800, .external_lex_state = 11},
  [5226] = {.lex_state = 467, .external_lex_state = 2},
  [5227] = {.lex_state = 828, .external_lex_state = 49},
  [5228] = {.lex_state = 828, .external_lex_state = 49},
  [5229] = {.lex_state = 461, .external_lex_state = 2},
  [5230] = {.lex_state = 828, .external_lex_state = 49},
  [5231] = {.lex_state = 828, .external_lex_state = 49},
  [5232] = {.lex_state = 968, .external_lex_state = 12},
  [5233] = {.lex_state = 828, .external_lex_state = 49},
  [5234] = {.lex_state = 467, .external_lex_state = 2},
  [5235] = {.lex_state = 617, .external_lex_state = 55},
  [5236] = {.lex_state = 461, .external_lex_state = 2},
  [5237] = {.lex_state = 824, .external_lex_state = 49},
  [5238] = {.lex_state = 824, .external_lex_state = 49},
  [5239] = {.lex_state = 968, .external_lex_state = 70},
  [5240] = {.lex_state = 968, .external_lex_state = 12},
  [5241] = {.lex_state = 824, .external_lex_state = 49},
  [5242] = {.lex_state = 824, .external_lex_state = 49},
  [5243] = {.lex_state = 824, .external_lex_state = 49},
  [5244] = {.lex_state = 824, .external_lex_state = 49},
  [5245] = {.lex_state = 824, .external_lex_state = 49},
  [5246] = {.lex_state = 824, .external_lex_state = 49},
  [5247] = {.lex_state = 615, .external_lex_state = 49},
  [5248] = {.lex_state = 822, .external_lex_state = 63},
  [5249] = {.lex_state = 615, .external_lex_state = 15},
  [5250] = {.lex_state = 0},
  [5251] = {.lex_state = 0},
  [5252] = {.lex_state = 985, .external_lex_state = 2},
  [5253] = {.lex_state = 615, .external_lex_state = 15},
  [5254] = {.lex_state = 0},
  [5255] = {.lex_state = 0},
  [5256] = {.lex_state = 615, .external_lex_state = 15},
  [5257] = {.lex_state = 0},
  [5258] = {.lex_state = 615, .external_lex_state = 15},
  [5259] = {.lex_state = 0},
  [5260] = {.lex_state = 746, .external_lex_state = 2},
  [5261] = {.lex_state = 615, .external_lex_state = 15},
  [5262] = {.lex_state = 0},
  [5263] = {.lex_state = 615, .external_lex_state = 15},
  [5264] = {.lex_state = 834, .external_lex_state = 16},
  [5265] = {.lex_state = 617, .external_lex_state = 16},
  [5266] = {.lex_state = 834, .external_lex_state = 16},
  [5267] = {.lex_state = 545, .external_lex_state = 6},
  [5268] = {.lex_state = 615, .external_lex_state = 15},
  [5269] = {.lex_state = 0},
  [5270] = {.lex_state = 615, .external_lex_state = 15},
  [5271] = {.lex_state = 0},
  [5272] = {.lex_state = 746, .external_lex_state = 2},
  [5273] = {.lex_state = 746, .external_lex_state = 11},
  [5274] = {.lex_state = 467, .external_lex_state = 2},
  [5275] = {.lex_state = 623, .external_lex_state = 15},
  [5276] = {.lex_state = 0},
  [5277] = {.lex_state = 621, .external_lex_state = 17},
  [5278] = {.lex_state = 960, .external_lex_state = 31},
  [5279] = {.lex_state = 0},
  [5280] = {.lex_state = 838, .external_lex_state = 48},
  [5281] = {.lex_state = 617, .external_lex_state = 16},
  [5282] = {.lex_state = 828, .external_lex_state = 49},
  [5283] = {.lex_state = 617, .external_lex_state = 16},
  [5284] = {.lex_state = 828, .external_lex_state = 49},
  [5285] = {.lex_state = 617, .external_lex_state = 16},
  [5286] = {.lex_state = 828, .external_lex_state = 49},
  [5287] = {.lex_state = 617, .external_lex_state = 16},
  [5288] = {.lex_state = 828, .external_lex_state = 49},
  [5289] = {.lex_state = 617, .external_lex_state = 16},
  [5290] = {.lex_state = 617, .external_lex_state = 16},
  [5291] = {.lex_state = 461, .external_lex_state = 2},
  [5292] = {.lex_state = 617, .external_lex_state = 16},
  [5293] = {.lex_state = 461, .external_lex_state = 2},
  [5294] = {.lex_state = 617, .external_lex_state = 16},
  [5295] = {.lex_state = 461, .external_lex_state = 2},
  [5296] = {.lex_state = 617, .external_lex_state = 16},
  [5297] = {.lex_state = 461, .external_lex_state = 2},
  [5298] = {.lex_state = 617, .external_lex_state = 16},
  [5299] = {.lex_state = 461, .external_lex_state = 2},
  [5300] = {.lex_state = 842, .external_lex_state = 49},
  [5301] = {.lex_state = 842, .external_lex_state = 49},
  [5302] = {.lex_state = 0},
  [5303] = {.lex_state = 659, .external_lex_state = 31},
  [5304] = {.lex_state = 467, .external_lex_state = 2},
  [5305] = {.lex_state = 842, .external_lex_state = 49},
  [5306] = {.lex_state = 585},
  [5307] = {.lex_state = 661, .external_lex_state = 7},
  [5308] = {.lex_state = 842, .external_lex_state = 49},
  [5309] = {.lex_state = 0},
  [5310] = {.lex_state = 467, .external_lex_state = 2},
  [5311] = {.lex_state = 697, .external_lex_state = 35},
  [5312] = {.lex_state = 697, .external_lex_state = 35},
  [5313] = {.lex_state = 700, .external_lex_state = 35},
  [5314] = {.lex_state = 700, .external_lex_state = 35},
  [5315] = {.lex_state = 842, .external_lex_state = 49},
  [5316] = {.lex_state = 842, .external_lex_state = 49},
  [5317] = {.lex_state = 842, .external_lex_state = 49},
  [5318] = {.lex_state = 842, .external_lex_state = 49},
  [5319] = {.lex_state = 718, .external_lex_state = 7},
  [5320] = {.lex_state = 718, .external_lex_state = 7},
  [5321] = {.lex_state = 726, .external_lex_state = 13},
  [5322] = {.lex_state = 726, .external_lex_state = 13},
  [5323] = {.lex_state = 0},
  [5324] = {.lex_state = 0},
  [5325] = {.lex_state = 736, .external_lex_state = 13},
  [5326] = {.lex_state = 734, .external_lex_state = 7},
  [5327] = {.lex_state = 842, .external_lex_state = 49},
  [5328] = {.lex_state = 0},
  [5329] = {.lex_state = 565, .external_lex_state = 2},
  [5330] = {.lex_state = 842, .external_lex_state = 49},
  [5331] = {.lex_state = 842, .external_lex_state = 49},
  [5332] = {.lex_state = 842, .external_lex_state = 49},
  [5333] = {.lex_state = 842, .external_lex_state = 49},
  [5334] = {.lex_state = 842, .external_lex_state = 49},
  [5335] = {.lex_state = 783, .external_lex_state = 31},
  [5336] = {.lex_state = 0},
  [5337] = {.lex_state = 795, .external_lex_state = 2},
  [5338] = {.lex_state = 800, .external_lex_state = 11},
  [5339] = {.lex_state = 0},
  [5340] = {.lex_state = 842, .external_lex_state = 49},
  [5341] = {.lex_state = 467, .external_lex_state = 2},
  [5342] = {.lex_state = 467, .external_lex_state = 2},
  [5343] = {.lex_state = 467, .external_lex_state = 2},
  [5344] = {.lex_state = 467, .external_lex_state = 2},
  [5345] = {.lex_state = 467, .external_lex_state = 2},
  [5346] = {.lex_state = 467, .external_lex_state = 2},
  [5347] = {.lex_state = 467, .external_lex_state = 2},
  [5348] = {.lex_state = 467, .external_lex_state = 2},
  [5349] = {.lex_state = 467, .external_lex_state = 2},
  [5350] = {.lex_state = 467, .external_lex_state = 2},
  [5351] = {.lex_state = 467, .external_lex_state = 2},
  [5352] = {.lex_state = 467, .external_lex_state = 2},
  [5353] = {.lex_state = 842, .external_lex_state = 49},
  [5354] = {.lex_state = 467, .external_lex_state = 39},
  [5355] = {.lex_state = 467, .external_lex_state = 2},
  [5356] = {.lex_state = 1138, .external_lex_state = 63},
  [5357] = {.lex_state = 1138, .external_lex_state = 63},
  [5358] = {.lex_state = 842, .external_lex_state = 49},
  [5359] = {.lex_state = 0},
  [5360] = {.lex_state = 617, .external_lex_state = 16},
  [5361] = {.lex_state = 461, .external_lex_state = 2},
  [5362] = {.lex_state = 623, .external_lex_state = 15},
  [5363] = {.lex_state = 0},
  [5364] = {.lex_state = 828, .external_lex_state = 49},
  [5365] = {.lex_state = 0},
  [5366] = {.lex_state = 888, .external_lex_state = 30},
  [5367] = {.lex_state = 545, .external_lex_state = 6},
  [5368] = {.lex_state = 565, .external_lex_state = 2},
  [5369] = {.lex_state = 828, .external_lex_state = 49},
  [5370] = {.lex_state = 942, .external_lex_state = 13},
  [5371] = {.lex_state = 946, .external_lex_state = 7},
  [5372] = {.lex_state = 565, .external_lex_state = 2},
  [5373] = {.lex_state = 828, .external_lex_state = 49},
  [5374] = {.lex_state = 565, .external_lex_state = 2},
  [5375] = {.lex_state = 828, .external_lex_state = 51},
  [5376] = {.lex_state = 985, .external_lex_state = 11},
  [5377] = {.lex_state = 996, .external_lex_state = 2},
  [5378] = {.lex_state = 746, .external_lex_state = 2},
  [5379] = {.lex_state = 746, .external_lex_state = 2},
  [5380] = {.lex_state = 1020, .external_lex_state = 7},
  [5381] = {.lex_state = 623, .external_lex_state = 15},
  [5382] = {.lex_state = 0},
  [5383] = {.lex_state = 746, .external_lex_state = 2},
  [5384] = {.lex_state = 746, .external_lex_state = 11},
  [5385] = {.lex_state = 828, .external_lex_state = 49},
  [5386] = {.lex_state = 0},
  [5387] = {.lex_state = 734, .external_lex_state = 7},
  [5388] = {.lex_state = 828, .external_lex_state = 49},
  [5389] = {.lex_state = 0},
  [5390] = {.lex_state = 842, .external_lex_state = 49},
  [5391] = {.lex_state = 0},
  [5392] = {.lex_state = 828, .external_lex_state = 49},
  [5393] = {.lex_state = 828, .external_lex_state = 49},
  [5394] = {.lex_state = 828, .external_lex_state = 49},
  [5395] = {.lex_state = 828, .external_lex_state = 49},
  [5396] = {.lex_state = 828, .external_lex_state = 49},
  [5397] = {.lex_state = 828, .external_lex_state = 49},
  [5398] = {.lex_state = 828, .external_lex_state = 49},
  [5399] = {.lex_state = 828, .external_lex_state = 49},
  [5400] = {.lex_state = 1116, .external_lex_state = 30},
  [5401] = {.lex_state = 828, .external_lex_state = 49},
  [5402] = {.lex_state = 828, .external_lex_state = 49},
  [5403] = {.lex_state = 828, .external_lex_state = 49},
  [5404] = {.lex_state = 828, .external_lex_state = 49},
  [5405] = {.lex_state = 828, .external_lex_state = 49},
  [5406] = {.lex_state = 623, .external_lex_state = 15},
  [5407] = {.lex_state = 617, .external_lex_state = 55},
  [5408] = {.lex_state = 461, .external_lex_state = 2},
  [5409] = {.lex_state = 842, .external_lex_state = 49},
  [5410] = {.lex_state = 842, .external_lex_state = 49},
  [5411] = {.lex_state = 968, .external_lex_state = 70},
  [5412] = {.lex_state = 968, .external_lex_state = 12},
  [5413] = {.lex_state = 842, .external_lex_state = 49},
  [5414] = {.lex_state = 828, .external_lex_state = 49},
  [5415] = {.lex_state = 828, .external_lex_state = 49},
  [5416] = {.lex_state = 828, .external_lex_state = 49},
  [5417] = {.lex_state = 828, .external_lex_state = 49},
  [5418] = {.lex_state = 828, .external_lex_state = 49},
  [5419] = {.lex_state = 842, .external_lex_state = 49},
  [5420] = {.lex_state = 838, .external_lex_state = 63},
  [5421] = {.lex_state = 629, .external_lex_state = 18},
  [5422] = {.lex_state = 629, .external_lex_state = 18},
  [5423] = {.lex_state = 629, .external_lex_state = 18},
  [5424] = {.lex_state = 629, .external_lex_state = 18},
  [5425] = {.lex_state = 467, .external_lex_state = 2},
  [5426] = {.lex_state = 467, .external_lex_state = 2},
  [5427] = {.lex_state = 467, .external_lex_state = 2},
  [5428] = {.lex_state = 467, .external_lex_state = 2},
  [5429] = {.lex_state = 467, .external_lex_state = 2},
  [5430] = {.lex_state = 467, .external_lex_state = 2},
  [5431] = {.lex_state = 467, .external_lex_state = 2},
  [5432] = {.lex_state = 467, .external_lex_state = 2},
  [5433] = {.lex_state = 467, .external_lex_state = 2},
  [5434] = {.lex_state = 467, .external_lex_state = 2},
  [5435] = {.lex_state = 467, .external_lex_state = 2},
  [5436] = {.lex_state = 467, .external_lex_state = 2},
  [5437] = {.lex_state = 467, .external_lex_state = 39},
  [5438] = {.lex_state = 629, .external_lex_state = 18},
  [5439] = {.lex_state = 467, .external_lex_state = 39},
  [5440] = {.lex_state = 467, .external_lex_state = 2},
  [5441] = {.lex_state = 467, .external_lex_state = 2},
  [5442] = {.lex_state = 467, .external_lex_state = 2},
  [5443] = {.lex_state = 467, .external_lex_state = 2},
  [5444] = {.lex_state = 467, .external_lex_state = 2},
  [5445] = {.lex_state = 1144, .external_lex_state = 4},
  [5446] = {.lex_state = 549},
  [5447] = {.lex_state = 854, .external_lex_state = 4},
  [5448] = {.lex_state = 1144, .external_lex_state = 4},
  [5449] = {.lex_state = 1142, .external_lex_state = 4},
  [5450] = {.lex_state = 1144, .external_lex_state = 4},
  [5451] = {.lex_state = 1142, .external_lex_state = 4},
  [5452] = {.lex_state = 1142, .external_lex_state = 4},
  [5453] = {.lex_state = 467, .external_lex_state = 2},
  [5454] = {.lex_state = 467, .external_lex_state = 2},
  [5455] = {.lex_state = 467, .external_lex_state = 2},
  [5456] = {.lex_state = 467, .external_lex_state = 2},
  [5457] = {.lex_state = 467, .external_lex_state = 2},
  [5458] = {.lex_state = 467, .external_lex_state = 2},
  [5459] = {.lex_state = 467, .external_lex_state = 2},
  [5460] = {.lex_state = 467, .external_lex_state = 2},
  [5461] = {.lex_state = 467, .external_lex_state = 2},
  [5462] = {.lex_state = 467, .external_lex_state = 2},
  [5463] = {.lex_state = 467, .external_lex_state = 2},
  [5464] = {.lex_state = 467, .external_lex_state = 2},
  [5465] = {.lex_state = 467, .external_lex_state = 2},
  [5466] = {.lex_state = 968, .external_lex_state = 12},
  [5467] = {.lex_state = 1144, .external_lex_state = 4},
  [5468] = {.lex_state = 467, .external_lex_state = 39},
  [5469] = {.lex_state = 467, .external_lex_state = 2},
  [5470] = {.lex_state = 467, .external_lex_state = 2},
  [5471] = {.lex_state = 631, .external_lex_state = 2},
  [5472] = {.lex_state = 850, .external_lex_state = 13},
  [5473] = {.lex_state = 850, .external_lex_state = 13},
  [5474] = {.lex_state = 850, .external_lex_state = 13},
  [5475] = {.lex_state = 850, .external_lex_state = 13},
  [5476] = {.lex_state = 850, .external_lex_state = 13},
  [5477] = {.lex_state = 850, .external_lex_state = 13},
  [5478] = {.lex_state = 850, .external_lex_state = 13},
  [5479] = {.lex_state = 850, .external_lex_state = 13},
  [5480] = {.lex_state = 850, .external_lex_state = 13},
  [5481] = {.lex_state = 850, .external_lex_state = 13},
  [5482] = {.lex_state = 850, .external_lex_state = 13},
  [5483] = {.lex_state = 1116, .external_lex_state = 30},
  [5484] = {.lex_state = 850, .external_lex_state = 13},
  [5485] = {.lex_state = 850, .external_lex_state = 13},
  [5486] = {.lex_state = 850, .external_lex_state = 13},
  [5487] = {.lex_state = 850, .external_lex_state = 13},
  [5488] = {.lex_state = 850, .external_lex_state = 13},
  [5489] = {.lex_state = 467, .external_lex_state = 2},
  [5490] = {.lex_state = 852, .external_lex_state = 10},
  [5491] = {.lex_state = 852, .external_lex_state = 10},
  [5492] = {.lex_state = 852, .external_lex_state = 10},
  [5493] = {.lex_state = 852, .external_lex_state = 10},
  [5494] = {.lex_state = 467, .external_lex_state = 2},
  [5495] = {.lex_state = 467, .external_lex_state = 2},
  [5496] = {.lex_state = 467, .external_lex_state = 2},
  [5497] = {.lex_state = 1150, .external_lex_state = 4},
  [5498] = {.lex_state = 852, .external_lex_state = 10},
  [5499] = {.lex_state = 549},
  [5500] = {.lex_state = 1150, .external_lex_state = 4},
  [5501] = {.lex_state = 1150, .external_lex_state = 4},
  [5502] = {.lex_state = 1128, .external_lex_state = 10},
  [5503] = {.lex_state = 1128, .external_lex_state = 10},
  [5504] = {.lex_state = 1128, .external_lex_state = 10},
  [5505] = {.lex_state = 1128, .external_lex_state = 10},
  [5506] = {.lex_state = 1148, .external_lex_state = 4},
  [5507] = {.lex_state = 1150, .external_lex_state = 4},
  [5508] = {.lex_state = 1148, .external_lex_state = 4},
  [5509] = {.lex_state = 1148, .external_lex_state = 4},
  [5510] = {.lex_state = 467, .external_lex_state = 2},
  [5511] = {.lex_state = 467, .external_lex_state = 2},
  [5512] = {.lex_state = 467, .external_lex_state = 2},
  [5513] = {.lex_state = 467, .external_lex_state = 2},
  [5514] = {.lex_state = 467, .external_lex_state = 2},
  [5515] = {.lex_state = 467, .external_lex_state = 2},
  [5516] = {.lex_state = 467, .external_lex_state = 2},
  [5517] = {.lex_state = 467, .external_lex_state = 2},
  [5518] = {.lex_state = 467, .external_lex_state = 2},
  [5519] = {.lex_state = 467, .external_lex_state = 2},
  [5520] = {.lex_state = 467, .external_lex_state = 2},
  [5521] = {.lex_state = 467, .external_lex_state = 2},
  [5522] = {.lex_state = 467, .external_lex_state = 2},
  [5523] = {.lex_state = 968, .external_lex_state = 12},
  [5524] = {.lex_state = 1150, .external_lex_state = 4},
  [5525] = {.lex_state = 467, .external_lex_state = 39},
  [5526] = {.lex_state = 467, .external_lex_state = 2},
  [5527] = {.lex_state = 467, .external_lex_state = 2},
  [5528] = {.lex_state = 467, .external_lex_state = 2},
  [5529] = {.lex_state = 467, .external_lex_state = 2},
  [5530] = {.lex_state = 467, .external_lex_state = 2},
  [5531] = {.lex_state = 467, .external_lex_state = 2},
  [5532] = {.lex_state = 467, .external_lex_state = 2},
  [5533] = {.lex_state = 1344, .external_lex_state = 13},
  [5534] = {.lex_state = 1344, .external_lex_state = 13},
  [5535] = {.lex_state = 549},
  [5536] = {.lex_state = 854, .external_lex_state = 4},
  [5537] = {.lex_state = 850, .external_lex_state = 13},
  [5538] = {.lex_state = 633, .external_lex_state = 19},
  [5539] = {.lex_state = 635, .external_lex_state = 20},
  [5540] = {.lex_state = 635, .external_lex_state = 20},
  [5541] = {.lex_state = 635, .external_lex_state = 20},
  [5542] = {.lex_state = 635, .external_lex_state = 20},
  [5543] = {.lex_state = 613, .external_lex_state = 53},
  [5544] = {.lex_state = 617, .external_lex_state = 16},
  [5545] = {.lex_state = 615, .external_lex_state = 54},
  [5546] = {.lex_state = 617, .external_lex_state = 16},
  [5547] = {.lex_state = 615, .external_lex_state = 54},
  [5548] = {.lex_state = 617, .external_lex_state = 16},
  [5549] = {.lex_state = 615, .external_lex_state = 54},
  [5550] = {.lex_state = 617, .external_lex_state = 16},
  [5551] = {.lex_state = 615, .external_lex_state = 54},
  [5552] = {.lex_state = 617, .external_lex_state = 16},
  [5553] = {.lex_state = 615, .external_lex_state = 54},
  [5554] = {.lex_state = 0},
  [5555] = {.lex_state = 888, .external_lex_state = 30},
  [5556] = {.lex_state = 545, .external_lex_state = 6},
  [5557] = {.lex_state = 565, .external_lex_state = 2},
  [5558] = {.lex_state = 615, .external_lex_state = 54},
  [5559] = {.lex_state = 942, .external_lex_state = 13},
  [5560] = {.lex_state = 946, .external_lex_state = 7},
  [5561] = {.lex_state = 565, .external_lex_state = 2},
  [5562] = {.lex_state = 615, .external_lex_state = 54},
  [5563] = {.lex_state = 565, .external_lex_state = 2},
  [5564] = {.lex_state = 615, .external_lex_state = 72},
  [5565] = {.lex_state = 617, .external_lex_state = 16},
  [5566] = {.lex_state = 461, .external_lex_state = 2},
  [5567] = {.lex_state = 617, .external_lex_state = 16},
  [5568] = {.lex_state = 461, .external_lex_state = 2},
  [5569] = {.lex_state = 617, .external_lex_state = 16},
  [5570] = {.lex_state = 461, .external_lex_state = 2},
  [5571] = {.lex_state = 617, .external_lex_state = 16},
  [5572] = {.lex_state = 461, .external_lex_state = 2},
  [5573] = {.lex_state = 617, .external_lex_state = 16},
  [5574] = {.lex_state = 461, .external_lex_state = 2},
  [5575] = {.lex_state = 822, .external_lex_state = 73},
  [5576] = {.lex_state = 461, .external_lex_state = 2},
  [5577] = {.lex_state = 467, .external_lex_state = 2},
  [5578] = {.lex_state = 532, .external_lex_state = 6},
  [5579] = {.lex_state = 545},
  [5580] = {.lex_state = 557, .external_lex_state = 9},
  [5581] = {.lex_state = 557, .external_lex_state = 8},
  [5582] = {.lex_state = 619, .external_lex_state = 68},
  [5583] = {.lex_state = 619, .external_lex_state = 68},
  [5584] = {.lex_state = 619, .external_lex_state = 68},
  [5585] = {.lex_state = 619, .external_lex_state = 68},
  [5586] = {.lex_state = 824, .external_lex_state = 65},
  [5587] = {.lex_state = 824, .external_lex_state = 65},
  [5588] = {.lex_state = 461, .external_lex_state = 2},
  [5589] = {.lex_state = 461, .external_lex_state = 2},
  [5590] = {.lex_state = 467, .external_lex_state = 2},
  [5591] = {.lex_state = 467, .external_lex_state = 2},
  [5592] = {.lex_state = 561, .external_lex_state = 8},
  [5593] = {.lex_state = 563, .external_lex_state = 11},
  [5594] = {.lex_state = 565, .external_lex_state = 11},
  [5595] = {.lex_state = 467, .external_lex_state = 2},
  [5596] = {.lex_state = 467, .external_lex_state = 2},
  [5597] = {.lex_state = 467, .external_lex_state = 2},
  [5598] = {.lex_state = 621, .external_lex_state = 68},
  [5599] = {.lex_state = 842, .external_lex_state = 65},
  [5600] = {.lex_state = 842, .external_lex_state = 65},
  [5601] = {.lex_state = 621, .external_lex_state = 68},
  [5602] = {.lex_state = 621, .external_lex_state = 68},
  [5603] = {.lex_state = 842, .external_lex_state = 65},
  [5604] = {.lex_state = 615, .external_lex_state = 65},
  [5605] = {.lex_state = 615, .external_lex_state = 65},
  [5606] = {.lex_state = 842, .external_lex_state = 65},
  [5607] = {.lex_state = 621, .external_lex_state = 68},
  [5608] = {.lex_state = 549},
  [5609] = {.lex_state = 623, .external_lex_state = 65},
  [5610] = {.lex_state = 822, .external_lex_state = 73},
  [5611] = {.lex_state = 615, .external_lex_state = 65},
  [5612] = {.lex_state = 824, .external_lex_state = 65},
  [5613] = {.lex_state = 960, .external_lex_state = 31},
  [5614] = {.lex_state = 0},
  [5615] = {.lex_state = 826, .external_lex_state = 68},
  [5616] = {.lex_state = 826, .external_lex_state = 68},
  [5617] = {.lex_state = 826, .external_lex_state = 68},
  [5618] = {.lex_state = 826, .external_lex_state = 68},
  [5619] = {.lex_state = 644, .external_lex_state = 68},
  [5620] = {.lex_state = 644, .external_lex_state = 68},
  [5621] = {.lex_state = 824, .external_lex_state = 65},
  [5622] = {.lex_state = 824, .external_lex_state = 65},
  [5623] = {.lex_state = 0},
  [5624] = {.lex_state = 659, .external_lex_state = 31},
  [5625] = {.lex_state = 467, .external_lex_state = 2},
  [5626] = {.lex_state = 824, .external_lex_state = 65},
  [5627] = {.lex_state = 585},
  [5628] = {.lex_state = 661, .external_lex_state = 7},
  [5629] = {.lex_state = 824, .external_lex_state = 65},
  [5630] = {.lex_state = 0},
  [5631] = {.lex_state = 644, .external_lex_state = 68},
  [5632] = {.lex_state = 615, .external_lex_state = 65},
  [5633] = {.lex_state = 467, .external_lex_state = 2},
  [5634] = {.lex_state = 697, .external_lex_state = 35},
  [5635] = {.lex_state = 697, .external_lex_state = 35},
  [5636] = {.lex_state = 700, .external_lex_state = 35},
  [5637] = {.lex_state = 700, .external_lex_state = 35},
  [5638] = {.lex_state = 467, .external_lex_state = 2},
  [5639] = {.lex_state = 467, .external_lex_state = 2},
  [5640] = {.lex_state = 467, .external_lex_state = 2},
  [5641] = {.lex_state = 644, .external_lex_state = 66},
  [5642] = {.lex_state = 824, .external_lex_state = 65},
  [5643] = {.lex_state = 824, .external_lex_state = 65},
  [5644] = {.lex_state = 824, .external_lex_state = 65},
  [5645] = {.lex_state = 638, .external_lex_state = 22},
  [5646] = {.lex_state = 822, .external_lex_state = 64},
  [5647] = {.lex_state = 824, .external_lex_state = 65},
  [5648] = {.lex_state = 824, .external_lex_state = 65},
  [5649] = {.lex_state = 824, .external_lex_state = 65},
  [5650] = {.lex_state = 718, .external_lex_state = 7},
  [5651] = {.lex_state = 718, .external_lex_state = 7},
  [5652] = {.lex_state = 726, .external_lex_state = 13},
  [5653] = {.lex_state = 726, .external_lex_state = 13},
  [5654] = {.lex_state = 0},
  [5655] = {.lex_state = 0},
  [5656] = {.lex_state = 736, .external_lex_state = 13},
  [5657] = {.lex_state = 734, .external_lex_state = 7},
  [5658] = {.lex_state = 824, .external_lex_state = 65},
  [5659] = {.lex_state = 0},
  [5660] = {.lex_state = 565, .external_lex_state = 2},
  [5661] = {.lex_state = 824, .external_lex_state = 65},
  [5662] = {.lex_state = 824, .external_lex_state = 65},
  [5663] = {.lex_state = 824, .external_lex_state = 65},
  [5664] = {.lex_state = 467, .external_lex_state = 2},
  [5665] = {.lex_state = 824, .external_lex_state = 65},
  [5666] = {.lex_state = 824, .external_lex_state = 65},
  [5667] = {.lex_state = 783, .external_lex_state = 31},
  [5668] = {.lex_state = 0},
  [5669] = {.lex_state = 795, .external_lex_state = 2},
  [5670] = {.lex_state = 800, .external_lex_state = 11},
  [5671] = {.lex_state = 0},
  [5672] = {.lex_state = 824, .external_lex_state = 65},
  [5673] = {.lex_state = 467, .external_lex_state = 2},
  [5674] = {.lex_state = 467, .external_lex_state = 2},
  [5675] = {.lex_state = 467, .external_lex_state = 2},
  [5676] = {.lex_state = 467, .external_lex_state = 2},
  [5677] = {.lex_state = 467, .external_lex_state = 2},
  [5678] = {.lex_state = 467, .external_lex_state = 2},
  [5679] = {.lex_state = 467, .external_lex_state = 2},
  [5680] = {.lex_state = 467, .external_lex_state = 2},
  [5681] = {.lex_state = 467, .external_lex_state = 2},
  [5682] = {.lex_state = 467, .external_lex_state = 2},
  [5683] = {.lex_state = 467, .external_lex_state = 2},
  [5684] = {.lex_state = 467, .external_lex_state = 2},
  [5685] = {.lex_state = 583, .external_lex_state = 12},
  [5686] = {.lex_state = 545},
  [5687] = {.lex_state = 806, .external_lex_state = 47},
  [5688] = {.lex_state = 467, .external_lex_state = 2},
  [5689] = {.lex_state = 467, .external_lex_state = 2},
  [5690] = {.lex_state = 702, .external_lex_state = 12},
  [5691] = {.lex_state = 810, .external_lex_state = 5},
  [5692] = {.lex_state = 467, .external_lex_state = 2},
  [5693] = {.lex_state = 800, .external_lex_state = 28},
  [5694] = {.lex_state = 644, .external_lex_state = 66},
  [5695] = {.lex_state = 828, .external_lex_state = 65},
  [5696] = {.lex_state = 828, .external_lex_state = 65},
  [5697] = {.lex_state = 828, .external_lex_state = 65},
  [5698] = {.lex_state = 828, .external_lex_state = 65},
  [5699] = {.lex_state = 828, .external_lex_state = 65},
  [5700] = {.lex_state = 828, .external_lex_state = 65},
  [5701] = {.lex_state = 638, .external_lex_state = 22},
  [5702] = {.lex_state = 838, .external_lex_state = 64},
  [5703] = {.lex_state = 824, .external_lex_state = 65},
  [5704] = {.lex_state = 461, .external_lex_state = 2},
  [5705] = {.lex_state = 824, .external_lex_state = 65},
  [5706] = {.lex_state = 824, .external_lex_state = 65},
  [5707] = {.lex_state = 968, .external_lex_state = 12},
  [5708] = {.lex_state = 615, .external_lex_state = 65},
  [5709] = {.lex_state = 467, .external_lex_state = 39},
  [5710] = {.lex_state = 467, .external_lex_state = 2},
  [5711] = {.lex_state = 467, .external_lex_state = 2},
  [5712] = {.lex_state = 822, .external_lex_state = 73},
  [5713] = {.lex_state = 822, .external_lex_state = 73},
  [5714] = {.lex_state = 985, .external_lex_state = 11},
  [5715] = {.lex_state = 996, .external_lex_state = 2},
  [5716] = {.lex_state = 746, .external_lex_state = 2},
  [5717] = {.lex_state = 746, .external_lex_state = 2},
  [5718] = {.lex_state = 1020, .external_lex_state = 7},
  [5719] = {.lex_state = 615, .external_lex_state = 54},
  [5720] = {.lex_state = 0},
  [5721] = {.lex_state = 734, .external_lex_state = 7},
  [5722] = {.lex_state = 615, .external_lex_state = 54},
  [5723] = {.lex_state = 0},
  [5724] = {.lex_state = 617, .external_lex_state = 55},
  [5725] = {.lex_state = 617, .external_lex_state = 16},
  [5726] = {.lex_state = 461, .external_lex_state = 2},
  [5727] = {.lex_state = 834, .external_lex_state = 55},
  [5728] = {.lex_state = 545, .external_lex_state = 6},
  [5729] = {.lex_state = 834, .external_lex_state = 55},
  [5730] = {.lex_state = 0},
  [5731] = {.lex_state = 615, .external_lex_state = 54},
  [5732] = {.lex_state = 0},
  [5733] = {.lex_state = 631, .external_lex_state = 2},
  [5734] = {.lex_state = 615, .external_lex_state = 54},
  [5735] = {.lex_state = 0},
  [5736] = {.lex_state = 746, .external_lex_state = 11},
  [5737] = {.lex_state = 800, .external_lex_state = 11},
  [5738] = {.lex_state = 615, .external_lex_state = 54},
  [5739] = {.lex_state = 627, .external_lex_state = 57},
  [5740] = {.lex_state = 627, .external_lex_state = 57},
  [5741] = {.lex_state = 627, .external_lex_state = 57},
  [5742] = {.lex_state = 627, .external_lex_state = 57},
  [5743] = {.lex_state = 627, .external_lex_state = 57},
  [5744] = {.lex_state = 627, .external_lex_state = 57},
  [5745] = {.lex_state = 627, .external_lex_state = 57},
  [5746] = {.lex_state = 627, .external_lex_state = 57},
  [5747] = {.lex_state = 627, .external_lex_state = 57},
  [5748] = {.lex_state = 627, .external_lex_state = 57},
  [5749] = {.lex_state = 627, .external_lex_state = 57},
  [5750] = {.lex_state = 1116, .external_lex_state = 30},
  [5751] = {.lex_state = 627, .external_lex_state = 57},
  [5752] = {.lex_state = 627, .external_lex_state = 57},
  [5753] = {.lex_state = 627, .external_lex_state = 57},
  [5754] = {.lex_state = 627, .external_lex_state = 57},
  [5755] = {.lex_state = 627, .external_lex_state = 57},
  [5756] = {.lex_state = 623, .external_lex_state = 54},
  [5757] = {.lex_state = 783, .external_lex_state = 31},
  [5758] = {.lex_state = 0},
  [5759] = {.lex_state = 621, .external_lex_state = 56},
  [5760] = {.lex_state = 702, .external_lex_state = 12},
  [5761] = {.lex_state = 621, .external_lex_state = 56},
  [5762] = {.lex_state = 621, .external_lex_state = 56},
  [5763] = {.lex_state = 621, .external_lex_state = 56},
  [5764] = {.lex_state = 617, .external_lex_state = 16},
  [5765] = {.lex_state = 461, .external_lex_state = 2},
  [5766] = {.lex_state = 617, .external_lex_state = 16},
  [5767] = {.lex_state = 461, .external_lex_state = 2},
  [5768] = {.lex_state = 617, .external_lex_state = 16},
  [5769] = {.lex_state = 461, .external_lex_state = 2},
  [5770] = {.lex_state = 617, .external_lex_state = 16},
  [5771] = {.lex_state = 461, .external_lex_state = 2},
  [5772] = {.lex_state = 617, .external_lex_state = 16},
  [5773] = {.lex_state = 461, .external_lex_state = 2},
  [5774] = {.lex_state = 1138, .external_lex_state = 73},
  [5775] = {.lex_state = 842, .external_lex_state = 65},
  [5776] = {.lex_state = 842, .external_lex_state = 65},
  [5777] = {.lex_state = 842, .external_lex_state = 65},
  [5778] = {.lex_state = 842, .external_lex_state = 65},
  [5779] = {.lex_state = 461, .external_lex_state = 2},
  [5780] = {.lex_state = 461, .external_lex_state = 2},
  [5781] = {.lex_state = 461, .external_lex_state = 2},
  [5782] = {.lex_state = 461, .external_lex_state = 2},
  [5783] = {.lex_state = 461, .external_lex_state = 2},
  [5784] = {.lex_state = 842, .external_lex_state = 65},
  [5785] = {.lex_state = 467, .external_lex_state = 2},
  [5786] = {.lex_state = 488, .external_lex_state = 5},
  [5787] = {.lex_state = 532, .external_lex_state = 6},
  [5788] = {.lex_state = 543, .external_lex_state = 2},
  [5789] = {.lex_state = 557, .external_lex_state = 9},
  [5790] = {.lex_state = 557, .external_lex_state = 8},
  [5791] = {.lex_state = 621, .external_lex_state = 68},
  [5792] = {.lex_state = 621, .external_lex_state = 68},
  [5793] = {.lex_state = 621, .external_lex_state = 68},
  [5794] = {.lex_state = 621, .external_lex_state = 68},
  [5795] = {.lex_state = 842, .external_lex_state = 65},
  [5796] = {.lex_state = 842, .external_lex_state = 65},
  [5797] = {.lex_state = 461, .external_lex_state = 2},
  [5798] = {.lex_state = 461, .external_lex_state = 2},
  [5799] = {.lex_state = 467, .external_lex_state = 2},
  [5800] = {.lex_state = 467, .external_lex_state = 2},
  [5801] = {.lex_state = 561, .external_lex_state = 8},
  [5802] = {.lex_state = 563, .external_lex_state = 11},
  [5803] = {.lex_state = 565, .external_lex_state = 11},
  [5804] = {.lex_state = 467, .external_lex_state = 2},
  [5805] = {.lex_state = 467, .external_lex_state = 2},
  [5806] = {.lex_state = 467, .external_lex_state = 2},
  [5807] = {.lex_state = 1140, .external_lex_state = 65},
  [5808] = {.lex_state = 842, .external_lex_state = 65},
  [5809] = {.lex_state = 583, .external_lex_state = 12},
  [5810] = {.lex_state = 585},
  [5811] = {.lex_state = 842, .external_lex_state = 65},
  [5812] = {.lex_state = 842, .external_lex_state = 65},
  [5813] = {.lex_state = 621, .external_lex_state = 68},
  [5814] = {.lex_state = 842, .external_lex_state = 65},
  [5815] = {.lex_state = 549},
  [5816] = {.lex_state = 842, .external_lex_state = 65},
  [5817] = {.lex_state = 1138, .external_lex_state = 73},
  [5818] = {.lex_state = 842, .external_lex_state = 65},
  [5819] = {.lex_state = 842, .external_lex_state = 65},
  [5820] = {.lex_state = 960, .external_lex_state = 31},
  [5821] = {.lex_state = 0},
  [5822] = {.lex_state = 838, .external_lex_state = 73},
  [5823] = {.lex_state = 461, .external_lex_state = 2},
  [5824] = {.lex_state = 488, .external_lex_state = 5},
  [5825] = {.lex_state = 532, .external_lex_state = 6},
  [5826] = {.lex_state = 557, .external_lex_state = 9},
  [5827] = {.lex_state = 557, .external_lex_state = 8},
  [5828] = {.lex_state = 644, .external_lex_state = 68},
  [5829] = {.lex_state = 644, .external_lex_state = 68},
  [5830] = {.lex_state = 644, .external_lex_state = 68},
  [5831] = {.lex_state = 644, .external_lex_state = 68},
  [5832] = {.lex_state = 828, .external_lex_state = 65},
  [5833] = {.lex_state = 828, .external_lex_state = 65},
  [5834] = {.lex_state = 461, .external_lex_state = 2},
  [5835] = {.lex_state = 461, .external_lex_state = 2},
  [5836] = {.lex_state = 467, .external_lex_state = 2},
  [5837] = {.lex_state = 467, .external_lex_state = 2},
  [5838] = {.lex_state = 561, .external_lex_state = 8},
  [5839] = {.lex_state = 563, .external_lex_state = 11},
  [5840] = {.lex_state = 565, .external_lex_state = 11},
  [5841] = {.lex_state = 828, .external_lex_state = 65},
  [5842] = {.lex_state = 838, .external_lex_state = 73},
  [5843] = {.lex_state = 828, .external_lex_state = 65},
  [5844] = {.lex_state = 0},
  [5845] = {.lex_state = 631, .external_lex_state = 2},
  [5846] = {.lex_state = 0},
  [5847] = {.lex_state = 659, .external_lex_state = 31},
  [5848] = {.lex_state = 467, .external_lex_state = 2},
  [5849] = {.lex_state = 828, .external_lex_state = 65},
  [5850] = {.lex_state = 585},
  [5851] = {.lex_state = 661, .external_lex_state = 7},
  [5852] = {.lex_state = 828, .external_lex_state = 65},
  [5853] = {.lex_state = 0},
  [5854] = {.lex_state = 842, .external_lex_state = 65},
  [5855] = {.lex_state = 467, .external_lex_state = 2},
  [5856] = {.lex_state = 697, .external_lex_state = 35},
  [5857] = {.lex_state = 697, .external_lex_state = 35},
  [5858] = {.lex_state = 700, .external_lex_state = 35},
  [5859] = {.lex_state = 700, .external_lex_state = 35},
  [5860] = {.lex_state = 828, .external_lex_state = 65},
  [5861] = {.lex_state = 828, .external_lex_state = 65},
  [5862] = {.lex_state = 828, .external_lex_state = 65},
  [5863] = {.lex_state = 828, .external_lex_state = 65},
  [5864] = {.lex_state = 718, .external_lex_state = 7},
  [5865] = {.lex_state = 718, .external_lex_state = 7},
  [5866] = {.lex_state = 726, .external_lex_state = 13},
  [5867] = {.lex_state = 726, .external_lex_state = 13},
  [5868] = {.lex_state = 0},
  [5869] = {.lex_state = 623, .external_lex_state = 54},
  [5870] = {.lex_state = 0},
  [5871] = {.lex_state = 746, .external_lex_state = 11},
  [5872] = {.lex_state = 800, .external_lex_state = 11},
  [5873] = {.lex_state = 0},
  [5874] = {.lex_state = 736, .external_lex_state = 13},
  [5875] = {.lex_state = 734, .external_lex_state = 7},
  [5876] = {.lex_state = 828, .external_lex_state = 65},
  [5877] = {.lex_state = 0},
  [5878] = {.lex_state = 565, .external_lex_state = 2},
  [5879] = {.lex_state = 828, .external_lex_state = 65},
  [5880] = {.lex_state = 828, .external_lex_state = 65},
  [5881] = {.lex_state = 828, .external_lex_state = 65},
  [5882] = {.lex_state = 467, .external_lex_state = 2},
  [5883] = {.lex_state = 828, .external_lex_state = 65},
  [5884] = {.lex_state = 828, .external_lex_state = 65},
  [5885] = {.lex_state = 783, .external_lex_state = 31},
  [5886] = {.lex_state = 0},
  [5887] = {.lex_state = 795, .external_lex_state = 2},
  [5888] = {.lex_state = 800, .external_lex_state = 11},
  [5889] = {.lex_state = 0},
  [5890] = {.lex_state = 828, .external_lex_state = 65},
  [5891] = {.lex_state = 467, .external_lex_state = 2},
  [5892] = {.lex_state = 467, .external_lex_state = 2},
  [5893] = {.lex_state = 467, .external_lex_state = 2},
  [5894] = {.lex_state = 467, .external_lex_state = 2},
  [5895] = {.lex_state = 467, .external_lex_state = 2},
  [5896] = {.lex_state = 467, .external_lex_state = 2},
  [5897] = {.lex_state = 467, .external_lex_state = 2},
  [5898] = {.lex_state = 467, .external_lex_state = 2},
  [5899] = {.lex_state = 467, .external_lex_state = 2},
  [5900] = {.lex_state = 467, .external_lex_state = 2},
  [5901] = {.lex_state = 467, .external_lex_state = 2},
  [5902] = {.lex_state = 467, .external_lex_state = 2},
  [5903] = {.lex_state = 828, .external_lex_state = 65},
  [5904] = {.lex_state = 795, .external_lex_state = 2},
  [5905] = {.lex_state = 800, .external_lex_state = 11},
  [5906] = {.lex_state = 623, .external_lex_state = 54},
  [5907] = {.lex_state = 842, .external_lex_state = 65},
  [5908] = {.lex_state = 461, .external_lex_state = 2},
  [5909] = {.lex_state = 842, .external_lex_state = 65},
  [5910] = {.lex_state = 842, .external_lex_state = 65},
  [5911] = {.lex_state = 968, .external_lex_state = 12},
  [5912] = {.lex_state = 842, .external_lex_state = 65},
  [5913] = {.lex_state = 467, .external_lex_state = 39},
  [5914] = {.lex_state = 467, .external_lex_state = 2},
  [5915] = {.lex_state = 467, .external_lex_state = 2},
  [5916] = {.lex_state = 838, .external_lex_state = 73},
  [5917] = {.lex_state = 838, .external_lex_state = 73},
  [5918] = {.lex_state = 467, .external_lex_state = 2},
  [5919] = {.lex_state = 467, .external_lex_state = 2},
  [5920] = {.lex_state = 467, .external_lex_state = 2},
  [5921] = {.lex_state = 467, .external_lex_state = 2},
  [5922] = {.lex_state = 467, .external_lex_state = 2},
  [5923] = {.lex_state = 629, .external_lex_state = 57},
  [5924] = {.lex_state = 629, .external_lex_state = 57},
  [5925] = {.lex_state = 629, .external_lex_state = 57},
  [5926] = {.lex_state = 629, .external_lex_state = 57},
  [5927] = {.lex_state = 549},
  [5928] = {.lex_state = 623, .external_lex_state = 54},
  [5929] = {.lex_state = 627, .external_lex_state = 57},
  [5930] = {.lex_state = 613, .external_lex_state = 53},
  [5931] = {.lex_state = 461, .external_lex_state = 2},
  [5932] = {.lex_state = 0},
  [5933] = {.lex_state = 856, .external_lex_state = 58},
  [5934] = {.lex_state = 617, .external_lex_state = 16},
  [5935] = {.lex_state = 635, .external_lex_state = 20},
  [5936] = {.lex_state = 585},
  [5937] = {.lex_state = 635, .external_lex_state = 20},
  [5938] = {.lex_state = 635, .external_lex_state = 20},
  [5939] = {.lex_state = 0},
  [5940] = {.lex_state = 767, .external_lex_state = 59},
  [5941] = {.lex_state = 617, .external_lex_state = 16},
  [5942] = {.lex_state = 467, .external_lex_state = 2},
  [5943] = {.lex_state = 467, .external_lex_state = 2},
  [5944] = {.lex_state = 467, .external_lex_state = 2},
  [5945] = {.lex_state = 467, .external_lex_state = 2},
  [5946] = {.lex_state = 1160, .external_lex_state = 42},
  [5947] = {.lex_state = 549},
  [5948] = {.lex_state = 870, .external_lex_state = 42},
  [5949] = {.lex_state = 1160, .external_lex_state = 42},
  [5950] = {.lex_state = 1154, .external_lex_state = 45},
  [5951] = {.lex_state = 1154, .external_lex_state = 45},
  [5952] = {.lex_state = 1154, .external_lex_state = 45},
  [5953] = {.lex_state = 1154, .external_lex_state = 45},
  [5954] = {.lex_state = 1158, .external_lex_state = 42},
  [5955] = {.lex_state = 1160, .external_lex_state = 42},
  [5956] = {.lex_state = 467, .external_lex_state = 2},
  [5957] = {.lex_state = 467, .external_lex_state = 2},
  [5958] = {.lex_state = 467, .external_lex_state = 2},
  [5959] = {.lex_state = 1156, .external_lex_state = 43},
  [5960] = {.lex_state = 1158, .external_lex_state = 42},
  [5961] = {.lex_state = 1158, .external_lex_state = 42},
  [5962] = {.lex_state = 638, .external_lex_state = 22},
  [5963] = {.lex_state = 1164, .external_lex_state = 41},
  [5964] = {.lex_state = 1158, .external_lex_state = 42},
  [5965] = {.lex_state = 1158, .external_lex_state = 42},
  [5966] = {.lex_state = 467, .external_lex_state = 2},
  [5967] = {.lex_state = 467, .external_lex_state = 2},
  [5968] = {.lex_state = 467, .external_lex_state = 2},
  [5969] = {.lex_state = 467, .external_lex_state = 2},
  [5970] = {.lex_state = 467, .external_lex_state = 2},
  [5971] = {.lex_state = 467, .external_lex_state = 2},
  [5972] = {.lex_state = 467, .external_lex_state = 2},
  [5973] = {.lex_state = 467, .external_lex_state = 2},
  [5974] = {.lex_state = 467, .external_lex_state = 2},
  [5975] = {.lex_state = 467, .external_lex_state = 2},
  [5976] = {.lex_state = 467, .external_lex_state = 2},
  [5977] = {.lex_state = 467, .external_lex_state = 2},
  [5978] = {.lex_state = 467, .external_lex_state = 2},
  [5979] = {.lex_state = 467, .external_lex_state = 2},
  [5980] = {.lex_state = 467, .external_lex_state = 2},
  [5981] = {.lex_state = 467, .external_lex_state = 2},
  [5982] = {.lex_state = 1156, .external_lex_state = 43},
  [5983] = {.lex_state = 1166, .external_lex_state = 42},
  [5984] = {.lex_state = 1166, .external_lex_state = 42},
  [5985] = {.lex_state = 638, .external_lex_state = 22},
  [5986] = {.lex_state = 1172, .external_lex_state = 41},
  [5987] = {.lex_state = 968, .external_lex_state = 12},
  [5988] = {.lex_state = 1160, .external_lex_state = 42},
  [5989] = {.lex_state = 467, .external_lex_state = 39},
  [5990] = {.lex_state = 467, .external_lex_state = 2},
  [5991] = {.lex_state = 467, .external_lex_state = 2},
  [5992] = {.lex_state = 864, .external_lex_state = 46},
  [5993] = {.lex_state = 864, .external_lex_state = 46},
  [5994] = {.lex_state = 864, .external_lex_state = 46},
  [5995] = {.lex_state = 864, .external_lex_state = 46},
  [5996] = {.lex_state = 864, .external_lex_state = 46},
  [5997] = {.lex_state = 864, .external_lex_state = 46},
  [5998] = {.lex_state = 1116, .external_lex_state = 30},
  [5999] = {.lex_state = 864, .external_lex_state = 46},
  [6000] = {.lex_state = 864, .external_lex_state = 46},
  [6001] = {.lex_state = 864, .external_lex_state = 46},
  [6002] = {.lex_state = 864, .external_lex_state = 46},
  [6003] = {.lex_state = 864, .external_lex_state = 46},
  [6004] = {.lex_state = 862, .external_lex_state = 42},
  [6005] = {.lex_state = 783, .external_lex_state = 31},
  [6006] = {.lex_state = 0},
  [6007] = {.lex_state = 860, .external_lex_state = 45},
  [6008] = {.lex_state = 702, .external_lex_state = 12},
  [6009] = {.lex_state = 860, .external_lex_state = 45},
  [6010] = {.lex_state = 860, .external_lex_state = 45},
  [6011] = {.lex_state = 860, .external_lex_state = 45},
  [6012] = {.lex_state = 1346, .external_lex_state = 59},
  [6013] = {.lex_state = 862, .external_lex_state = 42},
  [6014] = {.lex_state = 862, .external_lex_state = 42},
  [6015] = {.lex_state = 862, .external_lex_state = 42},
  [6016] = {.lex_state = 862, .external_lex_state = 42},
  [6017] = {.lex_state = 461, .external_lex_state = 2},
  [6018] = {.lex_state = 461, .external_lex_state = 2},
  [6019] = {.lex_state = 461, .external_lex_state = 2},
  [6020] = {.lex_state = 461, .external_lex_state = 2},
  [6021] = {.lex_state = 461, .external_lex_state = 2},
  [6022] = {.lex_state = 862, .external_lex_state = 42},
  [6023] = {.lex_state = 467, .external_lex_state = 2},
  [6024] = {.lex_state = 488, .external_lex_state = 5},
  [6025] = {.lex_state = 532, .external_lex_state = 6},
  [6026] = {.lex_state = 543, .external_lex_state = 2},
  [6027] = {.lex_state = 557, .external_lex_state = 9},
  [6028] = {.lex_state = 557, .external_lex_state = 8},
  [6029] = {.lex_state = 868, .external_lex_state = 45},
  [6030] = {.lex_state = 868, .external_lex_state = 45},
  [6031] = {.lex_state = 868, .external_lex_state = 45},
  [6032] = {.lex_state = 868, .external_lex_state = 45},
  [6033] = {.lex_state = 862, .external_lex_state = 42},
  [6034] = {.lex_state = 862, .external_lex_state = 42},
  [6035] = {.lex_state = 461, .external_lex_state = 2},
  [6036] = {.lex_state = 461, .external_lex_state = 2},
  [6037] = {.lex_state = 467, .external_lex_state = 2},
  [6038] = {.lex_state = 467, .external_lex_state = 2},
  [6039] = {.lex_state = 561, .external_lex_state = 8},
  [6040] = {.lex_state = 563, .external_lex_state = 11},
  [6041] = {.lex_state = 565, .external_lex_state = 11},
  [6042] = {.lex_state = 467, .external_lex_state = 2},
  [6043] = {.lex_state = 467, .external_lex_state = 2},
  [6044] = {.lex_state = 467, .external_lex_state = 2},
  [6045] = {.lex_state = 1348, .external_lex_state = 42},
  [6046] = {.lex_state = 862, .external_lex_state = 42},
  [6047] = {.lex_state = 583, .external_lex_state = 12},
  [6048] = {.lex_state = 585},
  [6049] = {.lex_state = 1170, .external_lex_state = 42},
  [6050] = {.lex_state = 862, .external_lex_state = 42},
  [6051] = {.lex_state = 868, .external_lex_state = 45},
  [6052] = {.lex_state = 862, .external_lex_state = 42},
  [6053] = {.lex_state = 549},
  [6054] = {.lex_state = 1170, .external_lex_state = 42},
  [6055] = {.lex_state = 1346, .external_lex_state = 59},
  [6056] = {.lex_state = 1170, .external_lex_state = 42},
  [6057] = {.lex_state = 862, .external_lex_state = 42},
  [6058] = {.lex_state = 960, .external_lex_state = 31},
  [6059] = {.lex_state = 0},
  [6060] = {.lex_state = 1156, .external_lex_state = 45},
  [6061] = {.lex_state = 1156, .external_lex_state = 45},
  [6062] = {.lex_state = 1156, .external_lex_state = 45},
  [6063] = {.lex_state = 1156, .external_lex_state = 45},
  [6064] = {.lex_state = 1166, .external_lex_state = 42},
  [6065] = {.lex_state = 0},
  [6066] = {.lex_state = 631, .external_lex_state = 2},
  [6067] = {.lex_state = 1170, .external_lex_state = 42},
  [6068] = {.lex_state = 862, .external_lex_state = 42},
  [6069] = {.lex_state = 0},
  [6070] = {.lex_state = 746, .external_lex_state = 11},
  [6071] = {.lex_state = 800, .external_lex_state = 11},
  [6072] = {.lex_state = 1166, .external_lex_state = 42},
  [6073] = {.lex_state = 1166, .external_lex_state = 42},
  [6074] = {.lex_state = 467, .external_lex_state = 2},
  [6075] = {.lex_state = 467, .external_lex_state = 2},
  [6076] = {.lex_state = 467, .external_lex_state = 2},
  [6077] = {.lex_state = 467, .external_lex_state = 2},
  [6078] = {.lex_state = 467, .external_lex_state = 2},
  [6079] = {.lex_state = 467, .external_lex_state = 2},
  [6080] = {.lex_state = 467, .external_lex_state = 2},
  [6081] = {.lex_state = 467, .external_lex_state = 2},
  [6082] = {.lex_state = 467, .external_lex_state = 2},
  [6083] = {.lex_state = 467, .external_lex_state = 2},
  [6084] = {.lex_state = 467, .external_lex_state = 2},
  [6085] = {.lex_state = 467, .external_lex_state = 2},
  [6086] = {.lex_state = 467, .external_lex_state = 2},
  [6087] = {.lex_state = 795, .external_lex_state = 2},
  [6088] = {.lex_state = 800, .external_lex_state = 11},
  [6089] = {.lex_state = 862, .external_lex_state = 42},
  [6090] = {.lex_state = 862, .external_lex_state = 42},
  [6091] = {.lex_state = 461, .external_lex_state = 2},
  [6092] = {.lex_state = 862, .external_lex_state = 42},
  [6093] = {.lex_state = 862, .external_lex_state = 42},
  [6094] = {.lex_state = 968, .external_lex_state = 12},
  [6095] = {.lex_state = 1170, .external_lex_state = 42},
  [6096] = {.lex_state = 467, .external_lex_state = 39},
  [6097] = {.lex_state = 467, .external_lex_state = 2},
  [6098] = {.lex_state = 467, .external_lex_state = 2},
  [6099] = {.lex_state = 467, .external_lex_state = 2},
  [6100] = {.lex_state = 864, .external_lex_state = 46},
  [6101] = {.lex_state = 864, .external_lex_state = 46},
  [6102] = {.lex_state = 864, .external_lex_state = 46},
  [6103] = {.lex_state = 565, .external_lex_state = 2},
  [6104] = {.lex_state = 565, .external_lex_state = 2},
  [6105] = {.lex_state = 635, .external_lex_state = 20},
  [6106] = {.lex_state = 0},
  [6107] = {.lex_state = 635, .external_lex_state = 20},
  [6108] = {.lex_state = 0},
  [6109] = {.lex_state = 769, .external_lex_state = 42},
  [6110] = {.lex_state = 0},
  [6111] = {.lex_state = 653, .external_lex_state = 42},
  [6112] = {.lex_state = 653, .external_lex_state = 42},
  [6113] = {.lex_state = 653, .external_lex_state = 42},
  [6114] = {.lex_state = 653, .external_lex_state = 42},
  [6115] = {.lex_state = 653, .external_lex_state = 42},
  [6116] = {.lex_state = 653, .external_lex_state = 42},
  [6117] = {.lex_state = 653, .external_lex_state = 42},
  [6118] = {.lex_state = 1116, .external_lex_state = 30},
  [6119] = {.lex_state = 653, .external_lex_state = 42},
  [6120] = {.lex_state = 653, .external_lex_state = 42},
  [6121] = {.lex_state = 653, .external_lex_state = 42},
  [6122] = {.lex_state = 653, .external_lex_state = 42},
  [6123] = {.lex_state = 653, .external_lex_state = 42},
  [6124] = {.lex_state = 617, .external_lex_state = 55},
  [6125] = {.lex_state = 461, .external_lex_state = 2},
  [6126] = {.lex_state = 769, .external_lex_state = 42},
  [6127] = {.lex_state = 769, .external_lex_state = 42},
  [6128] = {.lex_state = 968, .external_lex_state = 70},
  [6129] = {.lex_state = 968, .external_lex_state = 12},
  [6130] = {.lex_state = 769, .external_lex_state = 42},
  [6131] = {.lex_state = 653, .external_lex_state = 42},
  [6132] = {.lex_state = 769, .external_lex_state = 42},
  [6133] = {.lex_state = 769, .external_lex_state = 42},
  [6134] = {.lex_state = 653, .external_lex_state = 42},
  [6135] = {.lex_state = 653, .external_lex_state = 42},
  [6136] = {.lex_state = 653, .external_lex_state = 42},
  [6137] = {.lex_state = 635, .external_lex_state = 20},
  [6138] = {.lex_state = 0},
  [6139] = {.lex_state = 0},
  [6140] = {.lex_state = 985, .external_lex_state = 2},
  [6141] = {.lex_state = 635, .external_lex_state = 20},
  [6142] = {.lex_state = 0},
  [6143] = {.lex_state = 0},
  [6144] = {.lex_state = 635, .external_lex_state = 20},
  [6145] = {.lex_state = 0},
  [6146] = {.lex_state = 635, .external_lex_state = 20},
  [6147] = {.lex_state = 0},
  [6148] = {.lex_state = 746, .external_lex_state = 2},
  [6149] = {.lex_state = 635, .external_lex_state = 20},
  [6150] = {.lex_state = 0},
  [6151] = {.lex_state = 635, .external_lex_state = 20},
  [6152] = {.lex_state = 635, .external_lex_state = 20},
  [6153] = {.lex_state = 0},
  [6154] = {.lex_state = 635, .external_lex_state = 20},
  [6155] = {.lex_state = 0},
  [6156] = {.lex_state = 746, .external_lex_state = 2},
  [6157] = {.lex_state = 746, .external_lex_state = 11},
  [6158] = {.lex_state = 467, .external_lex_state = 2},
  [6159] = {.lex_state = 646, .external_lex_state = 20},
  [6160] = {.lex_state = 0},
  [6161] = {.lex_state = 644, .external_lex_state = 29},
  [6162] = {.lex_state = 960, .external_lex_state = 31},
  [6163] = {.lex_state = 0},
  [6164] = {.lex_state = 874, .external_lex_state = 41},
  [6165] = {.lex_state = 617, .external_lex_state = 16},
  [6166] = {.lex_state = 777, .external_lex_state = 42},
  [6167] = {.lex_state = 617, .external_lex_state = 16},
  [6168] = {.lex_state = 777, .external_lex_state = 42},
  [6169] = {.lex_state = 617, .external_lex_state = 16},
  [6170] = {.lex_state = 777, .external_lex_state = 42},
  [6171] = {.lex_state = 617, .external_lex_state = 16},
  [6172] = {.lex_state = 777, .external_lex_state = 42},
  [6173] = {.lex_state = 617, .external_lex_state = 16},
  [6174] = {.lex_state = 617, .external_lex_state = 16},
  [6175] = {.lex_state = 461, .external_lex_state = 2},
  [6176] = {.lex_state = 777, .external_lex_state = 42},
  [6177] = {.lex_state = 0},
  [6178] = {.lex_state = 646, .external_lex_state = 20},
  [6179] = {.lex_state = 0},
  [6180] = {.lex_state = 777, .external_lex_state = 42},
  [6181] = {.lex_state = 0},
  [6182] = {.lex_state = 888, .external_lex_state = 30},
  [6183] = {.lex_state = 545, .external_lex_state = 6},
  [6184] = {.lex_state = 565, .external_lex_state = 2},
  [6185] = {.lex_state = 777, .external_lex_state = 42},
  [6186] = {.lex_state = 942, .external_lex_state = 13},
  [6187] = {.lex_state = 946, .external_lex_state = 7},
  [6188] = {.lex_state = 565, .external_lex_state = 2},
  [6189] = {.lex_state = 777, .external_lex_state = 42},
  [6190] = {.lex_state = 565, .external_lex_state = 2},
  [6191] = {.lex_state = 777, .external_lex_state = 44},
  [6192] = {.lex_state = 985, .external_lex_state = 11},
  [6193] = {.lex_state = 996, .external_lex_state = 2},
  [6194] = {.lex_state = 746, .external_lex_state = 2},
  [6195] = {.lex_state = 746, .external_lex_state = 2},
  [6196] = {.lex_state = 1020, .external_lex_state = 7},
  [6197] = {.lex_state = 646, .external_lex_state = 20},
  [6198] = {.lex_state = 0},
  [6199] = {.lex_state = 746, .external_lex_state = 2},
  [6200] = {.lex_state = 746, .external_lex_state = 11},
  [6201] = {.lex_state = 777, .external_lex_state = 42},
  [6202] = {.lex_state = 0},
  [6203] = {.lex_state = 734, .external_lex_state = 7},
  [6204] = {.lex_state = 777, .external_lex_state = 42},
  [6205] = {.lex_state = 0},
  [6206] = {.lex_state = 878, .external_lex_state = 42},
  [6207] = {.lex_state = 0},
  [6208] = {.lex_state = 777, .external_lex_state = 42},
  [6209] = {.lex_state = 777, .external_lex_state = 42},
  [6210] = {.lex_state = 878, .external_lex_state = 42},
  [6211] = {.lex_state = 878, .external_lex_state = 42},
  [6212] = {.lex_state = 878, .external_lex_state = 42},
  [6213] = {.lex_state = 878, .external_lex_state = 42},
  [6214] = {.lex_state = 878, .external_lex_state = 42},
  [6215] = {.lex_state = 878, .external_lex_state = 42},
  [6216] = {.lex_state = 1116, .external_lex_state = 30},
  [6217] = {.lex_state = 878, .external_lex_state = 42},
  [6218] = {.lex_state = 878, .external_lex_state = 42},
  [6219] = {.lex_state = 878, .external_lex_state = 42},
  [6220] = {.lex_state = 878, .external_lex_state = 42},
  [6221] = {.lex_state = 878, .external_lex_state = 42},
  [6222] = {.lex_state = 646, .external_lex_state = 20},
  [6223] = {.lex_state = 617, .external_lex_state = 55},
  [6224] = {.lex_state = 461, .external_lex_state = 2},
  [6225] = {.lex_state = 777, .external_lex_state = 42},
  [6226] = {.lex_state = 777, .external_lex_state = 42},
  [6227] = {.lex_state = 968, .external_lex_state = 70},
  [6228] = {.lex_state = 968, .external_lex_state = 12},
  [6229] = {.lex_state = 777, .external_lex_state = 42},
  [6230] = {.lex_state = 878, .external_lex_state = 42},
  [6231] = {.lex_state = 777, .external_lex_state = 42},
  [6232] = {.lex_state = 777, .external_lex_state = 42},
  [6233] = {.lex_state = 878, .external_lex_state = 42},
  [6234] = {.lex_state = 878, .external_lex_state = 42},
  [6235] = {.lex_state = 878, .external_lex_state = 42},
  [6236] = {.lex_state = 874, .external_lex_state = 59},
  [6237] = {.lex_state = 1174, .external_lex_state = 30},
  [6238] = {.lex_state = 1174, .external_lex_state = 30},
  [6239] = {.lex_state = 1174, .external_lex_state = 30},
  [6240] = {.lex_state = 1174, .external_lex_state = 30},
  [6241] = {.lex_state = 467, .external_lex_state = 2},
  [6242] = {.lex_state = 467, .external_lex_state = 2},
  [6243] = {.lex_state = 467, .external_lex_state = 2},
  [6244] = {.lex_state = 467, .external_lex_state = 2},
  [6245] = {.lex_state = 467, .external_lex_state = 2},
  [6246] = {.lex_state = 467, .external_lex_state = 2},
  [6247] = {.lex_state = 467, .external_lex_state = 2},
  [6248] = {.lex_state = 467, .external_lex_state = 2},
  [6249] = {.lex_state = 467, .external_lex_state = 2},
  [6250] = {.lex_state = 467, .external_lex_state = 2},
  [6251] = {.lex_state = 467, .external_lex_state = 2},
  [6252] = {.lex_state = 467, .external_lex_state = 2},
  [6253] = {.lex_state = 467, .external_lex_state = 39},
  [6254] = {.lex_state = 1174, .external_lex_state = 30},
  [6255] = {.lex_state = 467, .external_lex_state = 39},
  [6256] = {.lex_state = 467, .external_lex_state = 2},
  [6257] = {.lex_state = 617, .external_lex_state = 55},
  [6258] = {.lex_state = 461, .external_lex_state = 2},
  [6259] = {.lex_state = 659, .external_lex_state = 31},
  [6260] = {.lex_state = 661, .external_lex_state = 7},
  [6261] = {.lex_state = 467, .external_lex_state = 2},
  [6262] = {.lex_state = 467, .external_lex_state = 2},
  [6263] = {.lex_state = 467, .external_lex_state = 2},
  [6264] = {.lex_state = 467, .external_lex_state = 2},
  [6265] = {.lex_state = 1178, .external_lex_state = 42},
  [6266] = {.lex_state = 549},
  [6267] = {.lex_state = 894, .external_lex_state = 42},
  [6268] = {.lex_state = 1178, .external_lex_state = 42},
  [6269] = {.lex_state = 1176, .external_lex_state = 42},
  [6270] = {.lex_state = 1178, .external_lex_state = 42},
  [6271] = {.lex_state = 1176, .external_lex_state = 42},
  [6272] = {.lex_state = 1176, .external_lex_state = 42},
  [6273] = {.lex_state = 467, .external_lex_state = 2},
  [6274] = {.lex_state = 467, .external_lex_state = 2},
  [6275] = {.lex_state = 467, .external_lex_state = 2},
  [6276] = {.lex_state = 467, .external_lex_state = 2},
  [6277] = {.lex_state = 467, .external_lex_state = 2},
  [6278] = {.lex_state = 467, .external_lex_state = 2},
  [6279] = {.lex_state = 467, .external_lex_state = 2},
  [6280] = {.lex_state = 467, .external_lex_state = 2},
  [6281] = {.lex_state = 467, .external_lex_state = 2},
  [6282] = {.lex_state = 467, .external_lex_state = 2},
  [6283] = {.lex_state = 467, .external_lex_state = 2},
  [6284] = {.lex_state = 467, .external_lex_state = 2},
  [6285] = {.lex_state = 467, .external_lex_state = 2},
  [6286] = {.lex_state = 968, .external_lex_state = 12},
  [6287] = {.lex_state = 1178, .external_lex_state = 42},
  [6288] = {.lex_state = 467, .external_lex_state = 39},
  [6289] = {.lex_state = 467, .external_lex_state = 2},
  [6290] = {.lex_state = 467, .external_lex_state = 2},
  [6291] = {.lex_state = 888, .external_lex_state = 30},
  [6292] = {.lex_state = 888, .external_lex_state = 30},
  [6293] = {.lex_state = 545, .external_lex_state = 6},
  [6294] = {.lex_state = 888, .external_lex_state = 30},
  [6295] = {.lex_state = 888, .external_lex_state = 30},
  [6296] = {.lex_state = 888, .external_lex_state = 30},
  [6297] = {.lex_state = 888, .external_lex_state = 30},
  [6298] = {.lex_state = 1116, .external_lex_state = 30},
  [6299] = {.lex_state = 888, .external_lex_state = 30},
  [6300] = {.lex_state = 888, .external_lex_state = 30},
  [6301] = {.lex_state = 888, .external_lex_state = 30},
  [6302] = {.lex_state = 888, .external_lex_state = 30},
  [6303] = {.lex_state = 888, .external_lex_state = 30},
  [6304] = {.lex_state = 886, .external_lex_state = 20},
  [6305] = {.lex_state = 783, .external_lex_state = 31},
  [6306] = {.lex_state = 0},
  [6307] = {.lex_state = 884, .external_lex_state = 29},
  [6308] = {.lex_state = 702, .external_lex_state = 12},
  [6309] = {.lex_state = 884, .external_lex_state = 29},
  [6310] = {.lex_state = 884, .external_lex_state = 29},
  [6311] = {.lex_state = 884, .external_lex_state = 29},
  [6312] = {.lex_state = 467, .external_lex_state = 2},
  [6313] = {.lex_state = 892, .external_lex_state = 45},
  [6314] = {.lex_state = 892, .external_lex_state = 45},
  [6315] = {.lex_state = 892, .external_lex_state = 45},
  [6316] = {.lex_state = 892, .external_lex_state = 45},
  [6317] = {.lex_state = 467, .external_lex_state = 2},
  [6318] = {.lex_state = 467, .external_lex_state = 2},
  [6319] = {.lex_state = 467, .external_lex_state = 2},
  [6320] = {.lex_state = 1182, .external_lex_state = 42},
  [6321] = {.lex_state = 892, .external_lex_state = 45},
  [6322] = {.lex_state = 549},
  [6323] = {.lex_state = 1182, .external_lex_state = 42},
  [6324] = {.lex_state = 1182, .external_lex_state = 42},
  [6325] = {.lex_state = 956, .external_lex_state = 45},
  [6326] = {.lex_state = 956, .external_lex_state = 45},
  [6327] = {.lex_state = 956, .external_lex_state = 45},
  [6328] = {.lex_state = 956, .external_lex_state = 45},
  [6329] = {.lex_state = 1180, .external_lex_state = 42},
  [6330] = {.lex_state = 0},
  [6331] = {.lex_state = 631, .external_lex_state = 2},
  [6332] = {.lex_state = 1182, .external_lex_state = 42},
  [6333] = {.lex_state = 886, .external_lex_state = 20},
  [6334] = {.lex_state = 0},
  [6335] = {.lex_state = 746, .external_lex_state = 11},
  [6336] = {.lex_state = 800, .external_lex_state = 11},
  [6337] = {.lex_state = 1180, .external_lex_state = 42},
  [6338] = {.lex_state = 1180, .external_lex_state = 42},
  [6339] = {.lex_state = 467, .external_lex_state = 2},
  [6340] = {.lex_state = 467, .external_lex_state = 2},
  [6341] = {.lex_state = 467, .external_lex_state = 2},
  [6342] = {.lex_state = 467, .external_lex_state = 2},
  [6343] = {.lex_state = 467, .external_lex_state = 2},
  [6344] = {.lex_state = 467, .external_lex_state = 2},
  [6345] = {.lex_state = 467, .external_lex_state = 2},
  [6346] = {.lex_state = 467, .external_lex_state = 2},
  [6347] = {.lex_state = 467, .external_lex_state = 2},
  [6348] = {.lex_state = 467, .external_lex_state = 2},
  [6349] = {.lex_state = 467, .external_lex_state = 2},
  [6350] = {.lex_state = 467, .external_lex_state = 2},
  [6351] = {.lex_state = 467, .external_lex_state = 2},
  [6352] = {.lex_state = 795, .external_lex_state = 2},
  [6353] = {.lex_state = 800, .external_lex_state = 11},
  [6354] = {.lex_state = 886, .external_lex_state = 20},
  [6355] = {.lex_state = 968, .external_lex_state = 12},
  [6356] = {.lex_state = 1182, .external_lex_state = 42},
  [6357] = {.lex_state = 467, .external_lex_state = 39},
  [6358] = {.lex_state = 467, .external_lex_state = 2},
  [6359] = {.lex_state = 467, .external_lex_state = 2},
  [6360] = {.lex_state = 467, .external_lex_state = 2},
  [6361] = {.lex_state = 467, .external_lex_state = 2},
  [6362] = {.lex_state = 467, .external_lex_state = 2},
  [6363] = {.lex_state = 467, .external_lex_state = 2},
  [6364] = {.lex_state = 467, .external_lex_state = 2},
  [6365] = {.lex_state = 1228, .external_lex_state = 30},
  [6366] = {.lex_state = 1228, .external_lex_state = 30},
  [6367] = {.lex_state = 549},
  [6368] = {.lex_state = 894, .external_lex_state = 20},
  [6369] = {.lex_state = 888, .external_lex_state = 30},
  [6370] = {.lex_state = 565, .external_lex_state = 2},
  [6371] = {.lex_state = 565, .external_lex_state = 11},
  [6372] = {.lex_state = 0},
  [6373] = {.lex_state = 795, .external_lex_state = 2},
  [6374] = {.lex_state = 800, .external_lex_state = 11},
  [6375] = {.lex_state = 0},
  [6376] = {.lex_state = 900, .external_lex_state = 7},
  [6377] = {.lex_state = 467, .external_lex_state = 2},
  [6378] = {.lex_state = 467, .external_lex_state = 2},
  [6379] = {.lex_state = 467, .external_lex_state = 2},
  [6380] = {.lex_state = 467, .external_lex_state = 2},
  [6381] = {.lex_state = 1350, .external_lex_state = 13},
  [6382] = {.lex_state = 549},
  [6383] = {.lex_state = 944, .external_lex_state = 4},
  [6384] = {.lex_state = 1350, .external_lex_state = 13},
  [6385] = {.lex_state = 458, .external_lex_state = 4},
  [6386] = {.lex_state = 661},
  [6387] = {.lex_state = 900, .external_lex_state = 7},
  [6388] = {.lex_state = 900, .external_lex_state = 7},
  [6389] = {.lex_state = 467, .external_lex_state = 2},
  [6390] = {.lex_state = 1352, .external_lex_state = 45},
  [6391] = {.lex_state = 1352, .external_lex_state = 45},
  [6392] = {.lex_state = 1352, .external_lex_state = 45},
  [6393] = {.lex_state = 1352, .external_lex_state = 45},
  [6394] = {.lex_state = 467, .external_lex_state = 2},
  [6395] = {.lex_state = 467, .external_lex_state = 2},
  [6396] = {.lex_state = 467, .external_lex_state = 2},
  [6397] = {.lex_state = 1208, .external_lex_state = 42},
  [6398] = {.lex_state = 549},
  [6399] = {.lex_state = 1182, .external_lex_state = 42},
  [6400] = {.lex_state = 1208, .external_lex_state = 42},
  [6401] = {.lex_state = 1190, .external_lex_state = 45},
  [6402] = {.lex_state = 1190, .external_lex_state = 45},
  [6403] = {.lex_state = 1190, .external_lex_state = 45},
  [6404] = {.lex_state = 1190, .external_lex_state = 45},
  [6405] = {.lex_state = 1192, .external_lex_state = 42},
  [6406] = {.lex_state = 1208, .external_lex_state = 42},
  [6407] = {.lex_state = 467, .external_lex_state = 2},
  [6408] = {.lex_state = 467, .external_lex_state = 2},
  [6409] = {.lex_state = 467, .external_lex_state = 2},
  [6410] = {.lex_state = 956, .external_lex_state = 43},
  [6411] = {.lex_state = 1192, .external_lex_state = 42},
  [6412] = {.lex_state = 1192, .external_lex_state = 42},
  [6413] = {.lex_state = 638, .external_lex_state = 22},
  [6414] = {.lex_state = 1196, .external_lex_state = 41},
  [6415] = {.lex_state = 1192, .external_lex_state = 42},
  [6416] = {.lex_state = 1192, .external_lex_state = 42},
  [6417] = {.lex_state = 467, .external_lex_state = 2},
  [6418] = {.lex_state = 467, .external_lex_state = 2},
  [6419] = {.lex_state = 467, .external_lex_state = 2},
  [6420] = {.lex_state = 467, .external_lex_state = 2},
  [6421] = {.lex_state = 467, .external_lex_state = 2},
  [6422] = {.lex_state = 467, .external_lex_state = 2},
  [6423] = {.lex_state = 467, .external_lex_state = 2},
  [6424] = {.lex_state = 467, .external_lex_state = 2},
  [6425] = {.lex_state = 467, .external_lex_state = 2},
  [6426] = {.lex_state = 467, .external_lex_state = 2},
  [6427] = {.lex_state = 467, .external_lex_state = 2},
  [6428] = {.lex_state = 467, .external_lex_state = 2},
  [6429] = {.lex_state = 467, .external_lex_state = 2},
  [6430] = {.lex_state = 968, .external_lex_state = 12},
  [6431] = {.lex_state = 1194, .external_lex_state = 61},
  [6432] = {.lex_state = 467, .external_lex_state = 39},
  [6433] = {.lex_state = 467, .external_lex_state = 2},
  [6434] = {.lex_state = 467, .external_lex_state = 2},
  [6435] = {.lex_state = 912, .external_lex_state = 4},
  [6436] = {.lex_state = 912, .external_lex_state = 4},
  [6437] = {.lex_state = 912, .external_lex_state = 4},
  [6438] = {.lex_state = 467, .external_lex_state = 2},
  [6439] = {.lex_state = 467, .external_lex_state = 2},
  [6440] = {.lex_state = 467, .external_lex_state = 2},
  [6441] = {.lex_state = 467, .external_lex_state = 2},
  [6442] = {.lex_state = 467, .external_lex_state = 2},
  [6443] = {.lex_state = 467, .external_lex_state = 2},
  [6444] = {.lex_state = 467, .external_lex_state = 2},
  [6445] = {.lex_state = 467, .external_lex_state = 2},
  [6446] = {.lex_state = 467, .external_lex_state = 2},
  [6447] = {.lex_state = 467, .external_lex_state = 2},
  [6448] = {.lex_state = 467, .external_lex_state = 2},
  [6449] = {.lex_state = 467, .external_lex_state = 2},
  [6450] = {.lex_state = 467, .external_lex_state = 39},
  [6451] = {.lex_state = 467, .external_lex_state = 2},
  [6452] = {.lex_state = 908, .external_lex_state = 4},
  [6453] = {.lex_state = 908, .external_lex_state = 4},
  [6454] = {.lex_state = 908, .external_lex_state = 4},
  [6455] = {.lex_state = 467, .external_lex_state = 2},
  [6456] = {.lex_state = 968, .external_lex_state = 12},
  [6457] = {.lex_state = 908, .external_lex_state = 4},
  [6458] = {.lex_state = 467, .external_lex_state = 2},
  [6459] = {.lex_state = 912, .external_lex_state = 4},
  [6460] = {.lex_state = 908, .external_lex_state = 4},
  [6461] = {.lex_state = 908, .external_lex_state = 4},
  [6462] = {.lex_state = 908, .external_lex_state = 4},
  [6463] = {.lex_state = 908, .external_lex_state = 4},
  [6464] = {.lex_state = 908, .external_lex_state = 4},
  [6465] = {.lex_state = 908, .external_lex_state = 4},
  [6466] = {.lex_state = 1116, .external_lex_state = 30},
  [6467] = {.lex_state = 908, .external_lex_state = 4},
  [6468] = {.lex_state = 908, .external_lex_state = 4},
  [6469] = {.lex_state = 908, .external_lex_state = 4},
  [6470] = {.lex_state = 908, .external_lex_state = 4},
  [6471] = {.lex_state = 908, .external_lex_state = 4},
  [6472] = {.lex_state = 906, .external_lex_state = 10},
  [6473] = {.lex_state = 702, .external_lex_state = 12},
  [6474] = {.lex_state = 906, .external_lex_state = 10},
  [6475] = {.lex_state = 906, .external_lex_state = 10},
  [6476] = {.lex_state = 906, .external_lex_state = 10},
  [6477] = {.lex_state = 920, .external_lex_state = 4},
  [6478] = {.lex_state = 920, .external_lex_state = 4},
  [6479] = {.lex_state = 920, .external_lex_state = 4},
  [6480] = {.lex_state = 467, .external_lex_state = 2},
  [6481] = {.lex_state = 968, .external_lex_state = 12},
  [6482] = {.lex_state = 920, .external_lex_state = 4},
  [6483] = {.lex_state = 467, .external_lex_state = 2},
  [6484] = {.lex_state = 968, .external_lex_state = 70},
  [6485] = {.lex_state = 968, .external_lex_state = 12},
  [6486] = {.lex_state = 908, .external_lex_state = 4},
  [6487] = {.lex_state = 908, .external_lex_state = 4},
  [6488] = {.lex_state = 908, .external_lex_state = 4},
  [6489] = {.lex_state = 912, .external_lex_state = 4},
  [6490] = {.lex_state = 918, .external_lex_state = 2},
  [6491] = {.lex_state = 617, .external_lex_state = 55},
  [6492] = {.lex_state = 467, .external_lex_state = 2},
  [6493] = {.lex_state = 671, .external_lex_state = 10},
  [6494] = {.lex_state = 960, .external_lex_state = 31},
  [6495] = {.lex_state = 0},
  [6496] = {.lex_state = 924, .external_lex_state = 4},
  [6497] = {.lex_state = 924, .external_lex_state = 4},
  [6498] = {.lex_state = 924, .external_lex_state = 4},
  [6499] = {.lex_state = 467, .external_lex_state = 2},
  [6500] = {.lex_state = 467, .external_lex_state = 2},
  [6501] = {.lex_state = 467, .external_lex_state = 2},
  [6502] = {.lex_state = 467, .external_lex_state = 2},
  [6503] = {.lex_state = 467, .external_lex_state = 2},
  [6504] = {.lex_state = 467, .external_lex_state = 2},
  [6505] = {.lex_state = 467, .external_lex_state = 2},
  [6506] = {.lex_state = 467, .external_lex_state = 2},
  [6507] = {.lex_state = 467, .external_lex_state = 2},
  [6508] = {.lex_state = 467, .external_lex_state = 2},
  [6509] = {.lex_state = 467, .external_lex_state = 2},
  [6510] = {.lex_state = 467, .external_lex_state = 2},
  [6511] = {.lex_state = 467, .external_lex_state = 39},
  [6512] = {.lex_state = 467, .external_lex_state = 2},
  [6513] = {.lex_state = 924, .external_lex_state = 4},
  [6514] = {.lex_state = 920, .external_lex_state = 4},
  [6515] = {.lex_state = 920, .external_lex_state = 4},
  [6516] = {.lex_state = 920, .external_lex_state = 4},
  [6517] = {.lex_state = 920, .external_lex_state = 4},
  [6518] = {.lex_state = 920, .external_lex_state = 4},
  [6519] = {.lex_state = 920, .external_lex_state = 4},
  [6520] = {.lex_state = 1116, .external_lex_state = 30},
  [6521] = {.lex_state = 920, .external_lex_state = 4},
  [6522] = {.lex_state = 920, .external_lex_state = 4},
  [6523] = {.lex_state = 920, .external_lex_state = 4},
  [6524] = {.lex_state = 920, .external_lex_state = 4},
  [6525] = {.lex_state = 920, .external_lex_state = 4},
  [6526] = {.lex_state = 968, .external_lex_state = 70},
  [6527] = {.lex_state = 968, .external_lex_state = 12},
  [6528] = {.lex_state = 920, .external_lex_state = 4},
  [6529] = {.lex_state = 920, .external_lex_state = 4},
  [6530] = {.lex_state = 920, .external_lex_state = 4},
  [6531] = {.lex_state = 924, .external_lex_state = 4},
  [6532] = {.lex_state = 1200, .external_lex_state = 13},
  [6533] = {.lex_state = 1200, .external_lex_state = 13},
  [6534] = {.lex_state = 1200, .external_lex_state = 13},
  [6535] = {.lex_state = 1200, .external_lex_state = 13},
  [6536] = {.lex_state = 467, .external_lex_state = 2},
  [6537] = {.lex_state = 467, .external_lex_state = 2},
  [6538] = {.lex_state = 467, .external_lex_state = 2},
  [6539] = {.lex_state = 467, .external_lex_state = 2},
  [6540] = {.lex_state = 467, .external_lex_state = 2},
  [6541] = {.lex_state = 467, .external_lex_state = 2},
  [6542] = {.lex_state = 467, .external_lex_state = 2},
  [6543] = {.lex_state = 467, .external_lex_state = 2},
  [6544] = {.lex_state = 467, .external_lex_state = 2},
  [6545] = {.lex_state = 467, .external_lex_state = 2},
  [6546] = {.lex_state = 467, .external_lex_state = 2},
  [6547] = {.lex_state = 467, .external_lex_state = 2},
  [6548] = {.lex_state = 467, .external_lex_state = 39},
  [6549] = {.lex_state = 1200, .external_lex_state = 13},
  [6550] = {.lex_state = 467, .external_lex_state = 39},
  [6551] = {.lex_state = 467, .external_lex_state = 2},
  [6552] = {.lex_state = 685, .external_lex_state = 32},
  [6553] = {.lex_state = 687, .external_lex_state = 33},
  [6554] = {.lex_state = 687, .external_lex_state = 33},
  [6555] = {.lex_state = 687, .external_lex_state = 33},
  [6556] = {.lex_state = 687, .external_lex_state = 33},
  [6557] = {.lex_state = 687, .external_lex_state = 33},
  [6558] = {.lex_state = 585},
  [6559] = {.lex_state = 687, .external_lex_state = 33},
  [6560] = {.lex_state = 687, .external_lex_state = 33},
  [6561] = {.lex_state = 0},
  [6562] = {.lex_state = 565, .external_lex_state = 2},
  [6563] = {.lex_state = 565, .external_lex_state = 2},
  [6564] = {.lex_state = 687, .external_lex_state = 33},
  [6565] = {.lex_state = 0},
  [6566] = {.lex_state = 687, .external_lex_state = 33},
  [6567] = {.lex_state = 0},
  [6568] = {.lex_state = 1202, .external_lex_state = 42},
  [6569] = {.lex_state = 467, .external_lex_state = 2},
  [6570] = {.lex_state = 467, .external_lex_state = 2},
  [6571] = {.lex_state = 467, .external_lex_state = 2},
  [6572] = {.lex_state = 644, .external_lex_state = 43},
  [6573] = {.lex_state = 653, .external_lex_state = 42},
  [6574] = {.lex_state = 1202, .external_lex_state = 42},
  [6575] = {.lex_state = 638, .external_lex_state = 22},
  [6576] = {.lex_state = 872, .external_lex_state = 41},
  [6577] = {.lex_state = 1202, .external_lex_state = 42},
  [6578] = {.lex_state = 1202, .external_lex_state = 42},
  [6579] = {.lex_state = 467, .external_lex_state = 2},
  [6580] = {.lex_state = 467, .external_lex_state = 2},
  [6581] = {.lex_state = 467, .external_lex_state = 2},
  [6582] = {.lex_state = 467, .external_lex_state = 2},
  [6583] = {.lex_state = 467, .external_lex_state = 2},
  [6584] = {.lex_state = 467, .external_lex_state = 2},
  [6585] = {.lex_state = 467, .external_lex_state = 2},
  [6586] = {.lex_state = 467, .external_lex_state = 2},
  [6587] = {.lex_state = 467, .external_lex_state = 2},
  [6588] = {.lex_state = 467, .external_lex_state = 2},
  [6589] = {.lex_state = 467, .external_lex_state = 2},
  [6590] = {.lex_state = 467, .external_lex_state = 2},
  [6591] = {.lex_state = 467, .external_lex_state = 2},
  [6592] = {.lex_state = 467, .external_lex_state = 2},
  [6593] = {.lex_state = 467, .external_lex_state = 2},
  [6594] = {.lex_state = 644, .external_lex_state = 43},
  [6595] = {.lex_state = 878, .external_lex_state = 42},
  [6596] = {.lex_state = 1216, .external_lex_state = 42},
  [6597] = {.lex_state = 638, .external_lex_state = 22},
  [6598] = {.lex_state = 880, .external_lex_state = 41},
  [6599] = {.lex_state = 467, .external_lex_state = 39},
  [6600] = {.lex_state = 467, .external_lex_state = 2},
  [6601] = {.lex_state = 930, .external_lex_state = 61},
  [6602] = {.lex_state = 0},
  [6603] = {.lex_state = 1202, .external_lex_state = 42},
  [6604] = {.lex_state = 617, .external_lex_state = 55},
  [6605] = {.lex_state = 461, .external_lex_state = 2},
  [6606] = {.lex_state = 930, .external_lex_state = 61},
  [6607] = {.lex_state = 930, .external_lex_state = 61},
  [6608] = {.lex_state = 968, .external_lex_state = 70},
  [6609] = {.lex_state = 968, .external_lex_state = 12},
  [6610] = {.lex_state = 930, .external_lex_state = 61},
  [6611] = {.lex_state = 1202, .external_lex_state = 42},
  [6612] = {.lex_state = 687, .external_lex_state = 33},
  [6613] = {.lex_state = 0},
  [6614] = {.lex_state = 0},
  [6615] = {.lex_state = 985, .external_lex_state = 2},
  [6616] = {.lex_state = 687, .external_lex_state = 33},
  [6617] = {.lex_state = 0},
  [6618] = {.lex_state = 0},
  [6619] = {.lex_state = 687, .external_lex_state = 33},
  [6620] = {.lex_state = 0},
  [6621] = {.lex_state = 687, .external_lex_state = 33},
  [6622] = {.lex_state = 0},
  [6623] = {.lex_state = 746, .external_lex_state = 2},
  [6624] = {.lex_state = 687, .external_lex_state = 33},
  [6625] = {.lex_state = 0},
  [6626] = {.lex_state = 687, .external_lex_state = 33},
  [6627] = {.lex_state = 607, .external_lex_state = 33},
  [6628] = {.lex_state = 0},
  [6629] = {.lex_state = 607, .external_lex_state = 33},
  [6630] = {.lex_state = 0},
  [6631] = {.lex_state = 746, .external_lex_state = 2},
  [6632] = {.lex_state = 746, .external_lex_state = 11},
  [6633] = {.lex_state = 607, .external_lex_state = 33},
  [6634] = {.lex_state = 0},
  [6635] = {.lex_state = 691, .external_lex_state = 34},
  [6636] = {.lex_state = 960, .external_lex_state = 31},
  [6637] = {.lex_state = 0},
  [6638] = {.lex_state = 617, .external_lex_state = 16},
  [6639] = {.lex_state = 461, .external_lex_state = 2},
  [6640] = {.lex_state = 617, .external_lex_state = 16},
  [6641] = {.lex_state = 461, .external_lex_state = 2},
  [6642] = {.lex_state = 617, .external_lex_state = 16},
  [6643] = {.lex_state = 461, .external_lex_state = 2},
  [6644] = {.lex_state = 617, .external_lex_state = 16},
  [6645] = {.lex_state = 461, .external_lex_state = 2},
  [6646] = {.lex_state = 617, .external_lex_state = 16},
  [6647] = {.lex_state = 461, .external_lex_state = 2},
  [6648] = {.lex_state = 1214, .external_lex_state = 42},
  [6649] = {.lex_state = 1208, .external_lex_state = 42},
  [6650] = {.lex_state = 0},
  [6651] = {.lex_state = 659, .external_lex_state = 31},
  [6652] = {.lex_state = 467, .external_lex_state = 2},
  [6653] = {.lex_state = 1208, .external_lex_state = 42},
  [6654] = {.lex_state = 585},
  [6655] = {.lex_state = 661, .external_lex_state = 7},
  [6656] = {.lex_state = 1208, .external_lex_state = 42},
  [6657] = {.lex_state = 0},
  [6658] = {.lex_state = 467, .external_lex_state = 2},
  [6659] = {.lex_state = 697, .external_lex_state = 35},
  [6660] = {.lex_state = 697, .external_lex_state = 35},
  [6661] = {.lex_state = 700, .external_lex_state = 35},
  [6662] = {.lex_state = 700, .external_lex_state = 35},
  [6663] = {.lex_state = 467, .external_lex_state = 2},
  [6664] = {.lex_state = 467, .external_lex_state = 2},
  [6665] = {.lex_state = 702, .external_lex_state = 12},
  [6666] = {.lex_state = 467, .external_lex_state = 2},
  [6667] = {.lex_state = 644, .external_lex_state = 43},
  [6668] = {.lex_state = 936, .external_lex_state = 42},
  [6669] = {.lex_state = 1208, .external_lex_state = 42},
  [6670] = {.lex_state = 1208, .external_lex_state = 42},
  [6671] = {.lex_state = 1214, .external_lex_state = 42},
  [6672] = {.lex_state = 1208, .external_lex_state = 42},
  [6673] = {.lex_state = 638, .external_lex_state = 22},
  [6674] = {.lex_state = 940, .external_lex_state = 41},
  [6675] = {.lex_state = 1208, .external_lex_state = 42},
  [6676] = {.lex_state = 1208, .external_lex_state = 42},
  [6677] = {.lex_state = 1208, .external_lex_state = 42},
  [6678] = {.lex_state = 718, .external_lex_state = 7},
  [6679] = {.lex_state = 718, .external_lex_state = 7},
  [6680] = {.lex_state = 726, .external_lex_state = 13},
  [6681] = {.lex_state = 726, .external_lex_state = 13},
  [6682] = {.lex_state = 0},
  [6683] = {.lex_state = 0},
  [6684] = {.lex_state = 736, .external_lex_state = 13},
  [6685] = {.lex_state = 734, .external_lex_state = 7},
  [6686] = {.lex_state = 1208, .external_lex_state = 42},
  [6687] = {.lex_state = 0},
  [6688] = {.lex_state = 565, .external_lex_state = 2},
  [6689] = {.lex_state = 1214, .external_lex_state = 42},
  [6690] = {.lex_state = 1214, .external_lex_state = 42},
  [6691] = {.lex_state = 1208, .external_lex_state = 42},
  [6692] = {.lex_state = 1208, .external_lex_state = 42},
  [6693] = {.lex_state = 1208, .external_lex_state = 42},
  [6694] = {.lex_state = 783, .external_lex_state = 31},
  [6695] = {.lex_state = 0},
  [6696] = {.lex_state = 795, .external_lex_state = 2},
  [6697] = {.lex_state = 800, .external_lex_state = 11},
  [6698] = {.lex_state = 0},
  [6699] = {.lex_state = 1208, .external_lex_state = 42},
  [6700] = {.lex_state = 467, .external_lex_state = 2},
  [6701] = {.lex_state = 467, .external_lex_state = 2},
  [6702] = {.lex_state = 467, .external_lex_state = 2},
  [6703] = {.lex_state = 467, .external_lex_state = 2},
  [6704] = {.lex_state = 467, .external_lex_state = 2},
  [6705] = {.lex_state = 467, .external_lex_state = 2},
  [6706] = {.lex_state = 467, .external_lex_state = 2},
  [6707] = {.lex_state = 467, .external_lex_state = 2},
  [6708] = {.lex_state = 467, .external_lex_state = 2},
  [6709] = {.lex_state = 467, .external_lex_state = 2},
  [6710] = {.lex_state = 467, .external_lex_state = 2},
  [6711] = {.lex_state = 467, .external_lex_state = 2},
  [6712] = {.lex_state = 862, .external_lex_state = 42},
  [6713] = {.lex_state = 467, .external_lex_state = 39},
  [6714] = {.lex_state = 467, .external_lex_state = 2},
  [6715] = {.lex_state = 1206, .external_lex_state = 59},
  [6716] = {.lex_state = 1206, .external_lex_state = 59},
  [6717] = {.lex_state = 936, .external_lex_state = 42},
  [6718] = {.lex_state = 936, .external_lex_state = 42},
  [6719] = {.lex_state = 936, .external_lex_state = 42},
  [6720] = {.lex_state = 467, .external_lex_state = 2},
  [6721] = {.lex_state = 968, .external_lex_state = 12},
  [6722] = {.lex_state = 936, .external_lex_state = 42},
  [6723] = {.lex_state = 467, .external_lex_state = 2},
  [6724] = {.lex_state = 1214, .external_lex_state = 42},
  [6725] = {.lex_state = 936, .external_lex_state = 42},
  [6726] = {.lex_state = 936, .external_lex_state = 42},
  [6727] = {.lex_state = 936, .external_lex_state = 42},
  [6728] = {.lex_state = 936, .external_lex_state = 42},
  [6729] = {.lex_state = 936, .external_lex_state = 42},
  [6730] = {.lex_state = 936, .external_lex_state = 42},
  [6731] = {.lex_state = 1116, .external_lex_state = 30},
  [6732] = {.lex_state = 936, .external_lex_state = 42},
  [6733] = {.lex_state = 936, .external_lex_state = 42},
  [6734] = {.lex_state = 936, .external_lex_state = 42},
  [6735] = {.lex_state = 936, .external_lex_state = 42},
  [6736] = {.lex_state = 936, .external_lex_state = 42},
  [6737] = {.lex_state = 968, .external_lex_state = 70},
  [6738] = {.lex_state = 968, .external_lex_state = 12},
  [6739] = {.lex_state = 936, .external_lex_state = 42},
  [6740] = {.lex_state = 936, .external_lex_state = 42},
  [6741] = {.lex_state = 936, .external_lex_state = 42},
  [6742] = {.lex_state = 1214, .external_lex_state = 42},
  [6743] = {.lex_state = 467, .external_lex_state = 2},
  [6744] = {.lex_state = 467, .external_lex_state = 2},
  [6745] = {.lex_state = 467, .external_lex_state = 2},
  [6746] = {.lex_state = 467, .external_lex_state = 2},
  [6747] = {.lex_state = 1220, .external_lex_state = 4},
  [6748] = {.lex_state = 549},
  [6749] = {.lex_state = 944, .external_lex_state = 4},
  [6750] = {.lex_state = 1220, .external_lex_state = 4},
  [6751] = {.lex_state = 970, .external_lex_state = 10},
  [6752] = {.lex_state = 970, .external_lex_state = 10},
  [6753] = {.lex_state = 970, .external_lex_state = 10},
  [6754] = {.lex_state = 970, .external_lex_state = 10},
  [6755] = {.lex_state = 1218, .external_lex_state = 4},
  [6756] = {.lex_state = 1220, .external_lex_state = 4},
  [6757] = {.lex_state = 467, .external_lex_state = 2},
  [6758] = {.lex_state = 467, .external_lex_state = 2},
  [6759] = {.lex_state = 467, .external_lex_state = 2},
  [6760] = {.lex_state = 972, .external_lex_state = 37},
  [6761] = {.lex_state = 1218, .external_lex_state = 4},
  [6762] = {.lex_state = 1218, .external_lex_state = 4},
  [6763] = {.lex_state = 638, .external_lex_state = 22},
  [6764] = {.lex_state = 1224, .external_lex_state = 36},
  [6765] = {.lex_state = 1218, .external_lex_state = 4},
  [6766] = {.lex_state = 1218, .external_lex_state = 4},
  [6767] = {.lex_state = 467, .external_lex_state = 2},
  [6768] = {.lex_state = 467, .external_lex_state = 2},
  [6769] = {.lex_state = 467, .external_lex_state = 2},
  [6770] = {.lex_state = 467, .external_lex_state = 2},
  [6771] = {.lex_state = 467, .external_lex_state = 2},
  [6772] = {.lex_state = 467, .external_lex_state = 2},
  [6773] = {.lex_state = 467, .external_lex_state = 2},
  [6774] = {.lex_state = 467, .external_lex_state = 2},
  [6775] = {.lex_state = 467, .external_lex_state = 2},
  [6776] = {.lex_state = 467, .external_lex_state = 2},
  [6777] = {.lex_state = 467, .external_lex_state = 2},
  [6778] = {.lex_state = 467, .external_lex_state = 2},
  [6779] = {.lex_state = 467, .external_lex_state = 2},
  [6780] = {.lex_state = 968, .external_lex_state = 12},
  [6781] = {.lex_state = 1220, .external_lex_state = 4},
  [6782] = {.lex_state = 467, .external_lex_state = 39},
  [6783] = {.lex_state = 467, .external_lex_state = 2},
  [6784] = {.lex_state = 467, .external_lex_state = 2},
  [6785] = {.lex_state = 942, .external_lex_state = 13},
  [6786] = {.lex_state = 942, .external_lex_state = 13},
  [6787] = {.lex_state = 942, .external_lex_state = 13},
  [6788] = {.lex_state = 942, .external_lex_state = 13},
  [6789] = {.lex_state = 942, .external_lex_state = 13},
  [6790] = {.lex_state = 942, .external_lex_state = 13},
  [6791] = {.lex_state = 1116, .external_lex_state = 30},
  [6792] = {.lex_state = 942, .external_lex_state = 13},
  [6793] = {.lex_state = 942, .external_lex_state = 13},
  [6794] = {.lex_state = 942, .external_lex_state = 13},
  [6795] = {.lex_state = 942, .external_lex_state = 13},
  [6796] = {.lex_state = 942, .external_lex_state = 13},
  [6797] = {.lex_state = 458, .external_lex_state = 4},
  [6798] = {.lex_state = 0},
  [6799] = {.lex_state = 467, .external_lex_state = 2},
  [6800] = {.lex_state = 1350, .external_lex_state = 13},
  [6801] = {.lex_state = 1350, .external_lex_state = 13},
  [6802] = {.lex_state = 942, .external_lex_state = 13},
  [6803] = {.lex_state = 458, .external_lex_state = 4},
  [6804] = {.lex_state = 0},
  [6805] = {.lex_state = 1226, .external_lex_state = 42},
  [6806] = {.lex_state = 467, .external_lex_state = 2},
  [6807] = {.lex_state = 467, .external_lex_state = 2},
  [6808] = {.lex_state = 467, .external_lex_state = 2},
  [6809] = {.lex_state = 644, .external_lex_state = 43},
  [6810] = {.lex_state = 948, .external_lex_state = 42},
  [6811] = {.lex_state = 1226, .external_lex_state = 42},
  [6812] = {.lex_state = 638, .external_lex_state = 22},
  [6813] = {.lex_state = 952, .external_lex_state = 41},
  [6814] = {.lex_state = 1226, .external_lex_state = 42},
  [6815] = {.lex_state = 1226, .external_lex_state = 42},
  [6816] = {.lex_state = 467, .external_lex_state = 2},
  [6817] = {.lex_state = 467, .external_lex_state = 2},
  [6818] = {.lex_state = 467, .external_lex_state = 2},
  [6819] = {.lex_state = 467, .external_lex_state = 2},
  [6820] = {.lex_state = 467, .external_lex_state = 2},
  [6821] = {.lex_state = 467, .external_lex_state = 2},
  [6822] = {.lex_state = 467, .external_lex_state = 2},
  [6823] = {.lex_state = 467, .external_lex_state = 2},
  [6824] = {.lex_state = 467, .external_lex_state = 2},
  [6825] = {.lex_state = 467, .external_lex_state = 2},
  [6826] = {.lex_state = 467, .external_lex_state = 2},
  [6827] = {.lex_state = 467, .external_lex_state = 2},
  [6828] = {.lex_state = 467, .external_lex_state = 39},
  [6829] = {.lex_state = 467, .external_lex_state = 2},
  [6830] = {.lex_state = 948, .external_lex_state = 42},
  [6831] = {.lex_state = 948, .external_lex_state = 42},
  [6832] = {.lex_state = 948, .external_lex_state = 42},
  [6833] = {.lex_state = 467, .external_lex_state = 2},
  [6834] = {.lex_state = 968, .external_lex_state = 12},
  [6835] = {.lex_state = 948, .external_lex_state = 42},
  [6836] = {.lex_state = 467, .external_lex_state = 2},
  [6837] = {.lex_state = 1226, .external_lex_state = 42},
  [6838] = {.lex_state = 948, .external_lex_state = 42},
  [6839] = {.lex_state = 948, .external_lex_state = 42},
  [6840] = {.lex_state = 948, .external_lex_state = 42},
  [6841] = {.lex_state = 948, .external_lex_state = 42},
  [6842] = {.lex_state = 948, .external_lex_state = 42},
  [6843] = {.lex_state = 948, .external_lex_state = 42},
  [6844] = {.lex_state = 1116, .external_lex_state = 30},
  [6845] = {.lex_state = 948, .external_lex_state = 42},
  [6846] = {.lex_state = 948, .external_lex_state = 42},
  [6847] = {.lex_state = 948, .external_lex_state = 42},
  [6848] = {.lex_state = 948, .external_lex_state = 42},
  [6849] = {.lex_state = 948, .external_lex_state = 42},
  [6850] = {.lex_state = 968, .external_lex_state = 70},
  [6851] = {.lex_state = 968, .external_lex_state = 12},
  [6852] = {.lex_state = 948, .external_lex_state = 42},
  [6853] = {.lex_state = 948, .external_lex_state = 42},
  [6854] = {.lex_state = 948, .external_lex_state = 42},
  [6855] = {.lex_state = 1226, .external_lex_state = 42},
  [6856] = {.lex_state = 458, .external_lex_state = 4},
  [6857] = {.lex_state = 428, .external_lex_state = 36},
  [6858] = {.lex_state = 603, .external_lex_state = 4},
  [6859] = {.lex_state = 603, .external_lex_state = 4},
  [6860] = {.lex_state = 603, .external_lex_state = 4},
  [6861] = {.lex_state = 603, .external_lex_state = 4},
  [6862] = {.lex_state = 603, .external_lex_state = 4},
  [6863] = {.lex_state = 603, .external_lex_state = 4},
  [6864] = {.lex_state = 1116, .external_lex_state = 30},
  [6865] = {.lex_state = 603, .external_lex_state = 4},
  [6866] = {.lex_state = 603, .external_lex_state = 4},
  [6867] = {.lex_state = 603, .external_lex_state = 4},
  [6868] = {.lex_state = 603, .external_lex_state = 4},
  [6869] = {.lex_state = 603, .external_lex_state = 4},
  [6870] = {.lex_state = 603, .external_lex_state = 4},
  [6871] = {.lex_state = 603, .external_lex_state = 4},
  [6872] = {.lex_state = 603, .external_lex_state = 4},
  [6873] = {.lex_state = 1228, .external_lex_state = 46},
  [6874] = {.lex_state = 1228, .external_lex_state = 46},
  [6875] = {.lex_state = 1228, .external_lex_state = 46},
  [6876] = {.lex_state = 467, .external_lex_state = 2},
  [6877] = {.lex_state = 467, .external_lex_state = 2},
  [6878] = {.lex_state = 467, .external_lex_state = 2},
  [6879] = {.lex_state = 467, .external_lex_state = 2},
  [6880] = {.lex_state = 467, .external_lex_state = 2},
  [6881] = {.lex_state = 467, .external_lex_state = 2},
  [6882] = {.lex_state = 467, .external_lex_state = 2},
  [6883] = {.lex_state = 467, .external_lex_state = 2},
  [6884] = {.lex_state = 467, .external_lex_state = 2},
  [6885] = {.lex_state = 467, .external_lex_state = 2},
  [6886] = {.lex_state = 467, .external_lex_state = 2},
  [6887] = {.lex_state = 467, .external_lex_state = 2},
  [6888] = {.lex_state = 467, .external_lex_state = 39},
  [6889] = {.lex_state = 467, .external_lex_state = 2},
  [6890] = {.lex_state = 1176, .external_lex_state = 42},
  [6891] = {.lex_state = 1176, .external_lex_state = 42},
  [6892] = {.lex_state = 1176, .external_lex_state = 42},
  [6893] = {.lex_state = 467, .external_lex_state = 2},
  [6894] = {.lex_state = 968, .external_lex_state = 12},
  [6895] = {.lex_state = 1176, .external_lex_state = 42},
  [6896] = {.lex_state = 467, .external_lex_state = 2},
  [6897] = {.lex_state = 1228, .external_lex_state = 46},
  [6898] = {.lex_state = 958, .external_lex_state = 46},
  [6899] = {.lex_state = 958, .external_lex_state = 46},
  [6900] = {.lex_state = 958, .external_lex_state = 46},
  [6901] = {.lex_state = 958, .external_lex_state = 46},
  [6902] = {.lex_state = 958, .external_lex_state = 46},
  [6903] = {.lex_state = 958, .external_lex_state = 46},
  [6904] = {.lex_state = 1116, .external_lex_state = 30},
  [6905] = {.lex_state = 958, .external_lex_state = 46},
  [6906] = {.lex_state = 958, .external_lex_state = 46},
  [6907] = {.lex_state = 958, .external_lex_state = 46},
  [6908] = {.lex_state = 958, .external_lex_state = 46},
  [6909] = {.lex_state = 958, .external_lex_state = 46},
  [6910] = {.lex_state = 1180, .external_lex_state = 42},
  [6911] = {.lex_state = 1180, .external_lex_state = 42},
  [6912] = {.lex_state = 1180, .external_lex_state = 42},
  [6913] = {.lex_state = 467, .external_lex_state = 2},
  [6914] = {.lex_state = 968, .external_lex_state = 12},
  [6915] = {.lex_state = 1180, .external_lex_state = 42},
  [6916] = {.lex_state = 467, .external_lex_state = 2},
  [6917] = {.lex_state = 458, .external_lex_state = 4},
  [6918] = {.lex_state = 702, .external_lex_state = 12},
  [6919] = {.lex_state = 467, .external_lex_state = 2},
  [6920] = {.lex_state = 958, .external_lex_state = 46},
  [6921] = {.lex_state = 958, .external_lex_state = 46},
  [6922] = {.lex_state = 958, .external_lex_state = 46},
  [6923] = {.lex_state = 1228, .external_lex_state = 46},
  [6924] = {.lex_state = 710, .external_lex_state = 4},
  [6925] = {.lex_state = 968, .external_lex_state = 70},
  [6926] = {.lex_state = 968, .external_lex_state = 12},
  [6927] = {.lex_state = 710, .external_lex_state = 4},
  [6928] = {.lex_state = 467, .external_lex_state = 2},
  [6929] = {.lex_state = 708, .external_lex_state = 4},
  [6930] = {.lex_state = 0},
  [6931] = {.lex_state = 706, .external_lex_state = 10},
  [6932] = {.lex_state = 960, .external_lex_state = 31},
  [6933] = {.lex_state = 0},
  [6934] = {.lex_state = 708, .external_lex_state = 4},
  [6935] = {.lex_state = 0},
  [6936] = {.lex_state = 708, .external_lex_state = 4},
  [6937] = {.lex_state = 0},
  [6938] = {.lex_state = 708, .external_lex_state = 4},
  [6939] = {.lex_state = 0},
  [6940] = {.lex_state = 746, .external_lex_state = 2},
  [6941] = {.lex_state = 746, .external_lex_state = 11},
  [6942] = {.lex_state = 814, .external_lex_state = 4},
  [6943] = {.lex_state = 617, .external_lex_state = 55},
  [6944] = {.lex_state = 461, .external_lex_state = 2},
  [6945] = {.lex_state = 708, .external_lex_state = 4},
  [6946] = {.lex_state = 708, .external_lex_state = 4},
  [6947] = {.lex_state = 968, .external_lex_state = 70},
  [6948] = {.lex_state = 968, .external_lex_state = 12},
  [6949] = {.lex_state = 708, .external_lex_state = 4},
  [6950] = {.lex_state = 814, .external_lex_state = 4},
  [6951] = {.lex_state = 458, .external_lex_state = 4},
  [6952] = {.lex_state = 617, .external_lex_state = 55},
  [6953] = {.lex_state = 617, .external_lex_state = 55},
  [6954] = {.lex_state = 461, .external_lex_state = 2},
  [6955] = {.lex_state = 458, .external_lex_state = 4},
  [6956] = {.lex_state = 968, .external_lex_state = 70},
  [6957] = {.lex_state = 467, .external_lex_state = 39},
  [6958] = {.lex_state = 710, .external_lex_state = 4},
  [6959] = {.lex_state = 976, .external_lex_state = 4},
  [6960] = {.lex_state = 976, .external_lex_state = 4},
  [6961] = {.lex_state = 976, .external_lex_state = 4},
  [6962] = {.lex_state = 467, .external_lex_state = 2},
  [6963] = {.lex_state = 467, .external_lex_state = 2},
  [6964] = {.lex_state = 467, .external_lex_state = 2},
  [6965] = {.lex_state = 467, .external_lex_state = 2},
  [6966] = {.lex_state = 467, .external_lex_state = 2},
  [6967] = {.lex_state = 467, .external_lex_state = 2},
  [6968] = {.lex_state = 467, .external_lex_state = 2},
  [6969] = {.lex_state = 467, .external_lex_state = 2},
  [6970] = {.lex_state = 467, .external_lex_state = 2},
  [6971] = {.lex_state = 467, .external_lex_state = 2},
  [6972] = {.lex_state = 467, .external_lex_state = 2},
  [6973] = {.lex_state = 467, .external_lex_state = 2},
  [6974] = {.lex_state = 467, .external_lex_state = 39},
  [6975] = {.lex_state = 467, .external_lex_state = 2},
  [6976] = {.lex_state = 974, .external_lex_state = 4},
  [6977] = {.lex_state = 974, .external_lex_state = 4},
  [6978] = {.lex_state = 974, .external_lex_state = 4},
  [6979] = {.lex_state = 467, .external_lex_state = 2},
  [6980] = {.lex_state = 968, .external_lex_state = 12},
  [6981] = {.lex_state = 974, .external_lex_state = 4},
  [6982] = {.lex_state = 467, .external_lex_state = 2},
  [6983] = {.lex_state = 976, .external_lex_state = 4},
  [6984] = {.lex_state = 974, .external_lex_state = 4},
  [6985] = {.lex_state = 974, .external_lex_state = 4},
  [6986] = {.lex_state = 974, .external_lex_state = 4},
  [6987] = {.lex_state = 974, .external_lex_state = 4},
  [6988] = {.lex_state = 974, .external_lex_state = 4},
  [6989] = {.lex_state = 974, .external_lex_state = 4},
  [6990] = {.lex_state = 1116, .external_lex_state = 30},
  [6991] = {.lex_state = 974, .external_lex_state = 4},
  [6992] = {.lex_state = 974, .external_lex_state = 4},
  [6993] = {.lex_state = 974, .external_lex_state = 4},
  [6994] = {.lex_state = 974, .external_lex_state = 4},
  [6995] = {.lex_state = 974, .external_lex_state = 4},
  [6996] = {.lex_state = 987, .external_lex_state = 4},
  [6997] = {.lex_state = 987, .external_lex_state = 4},
  [6998] = {.lex_state = 987, .external_lex_state = 4},
  [6999] = {.lex_state = 467, .external_lex_state = 2},
  [7000] = {.lex_state = 968, .external_lex_state = 12},
  [7001] = {.lex_state = 987, .external_lex_state = 4},
  [7002] = {.lex_state = 467, .external_lex_state = 2},
  [7003] = {.lex_state = 968, .external_lex_state = 70},
  [7004] = {.lex_state = 968, .external_lex_state = 12},
  [7005] = {.lex_state = 974, .external_lex_state = 4},
  [7006] = {.lex_state = 974, .external_lex_state = 4},
  [7007] = {.lex_state = 974, .external_lex_state = 4},
  [7008] = {.lex_state = 976, .external_lex_state = 4},
  [7009] = {.lex_state = 982, .external_lex_state = 11},
  [7010] = {.lex_state = 617, .external_lex_state = 55},
  [7011] = {.lex_state = 617, .external_lex_state = 55},
  [7012] = {.lex_state = 461, .external_lex_state = 2},
  [7013] = {.lex_state = 1237, .external_lex_state = 13},
  [7014] = {.lex_state = 467, .external_lex_state = 2},
  [7015] = {.lex_state = 467, .external_lex_state = 2},
  [7016] = {.lex_state = 467, .external_lex_state = 2},
  [7017] = {.lex_state = 467, .external_lex_state = 2},
  [7018] = {.lex_state = 970, .external_lex_state = 37},
  [7019] = {.lex_state = 970, .external_lex_state = 37},
  [7020] = {.lex_state = 970, .external_lex_state = 37},
  [7021] = {.lex_state = 970, .external_lex_state = 37},
  [7022] = {.lex_state = 467, .external_lex_state = 2},
  [7023] = {.lex_state = 467, .external_lex_state = 2},
  [7024] = {.lex_state = 467, .external_lex_state = 27},
  [7025] = {.lex_state = 467, .external_lex_state = 2},
  [7026] = {.lex_state = 972, .external_lex_state = 37},
  [7027] = {.lex_state = 1354, .external_lex_state = 4},
  [7028] = {.lex_state = 972, .external_lex_state = 10},
  [7029] = {.lex_state = 1356, .external_lex_state = 4},
  [7030] = {.lex_state = 549},
  [7031] = {.lex_state = 1358, .external_lex_state = 4},
  [7032] = {.lex_state = 638, .external_lex_state = 22},
  [7033] = {.lex_state = 1360, .external_lex_state = 36},
  [7034] = {.lex_state = 718, .external_lex_state = 7},
  [7035] = {.lex_state = 746, .external_lex_state = 2},
  [7036] = {.lex_state = 1237, .external_lex_state = 13},
  [7037] = {.lex_state = 1237, .external_lex_state = 13},
  [7038] = {.lex_state = 458, .external_lex_state = 4},
  [7039] = {.lex_state = 0},
  [7040] = {.lex_state = 985, .external_lex_state = 2},
  [7041] = {.lex_state = 1232, .external_lex_state = 7},
  [7042] = {.lex_state = 467, .external_lex_state = 2},
  [7043] = {.lex_state = 467, .external_lex_state = 2},
  [7044] = {.lex_state = 467, .external_lex_state = 2},
  [7045] = {.lex_state = 467, .external_lex_state = 2},
  [7046] = {.lex_state = 467, .external_lex_state = 2},
  [7047] = {.lex_state = 467, .external_lex_state = 2},
  [7048] = {.lex_state = 467, .external_lex_state = 2},
  [7049] = {.lex_state = 467, .external_lex_state = 2},
  [7050] = {.lex_state = 467, .external_lex_state = 2},
  [7051] = {.lex_state = 467, .external_lex_state = 2},
  [7052] = {.lex_state = 467, .external_lex_state = 2},
  [7053] = {.lex_state = 467, .external_lex_state = 2},
  [7054] = {.lex_state = 467, .external_lex_state = 2},
  [7055] = {.lex_state = 467, .external_lex_state = 2},
  [7056] = {.lex_state = 467, .external_lex_state = 2},
  [7057] = {.lex_state = 467, .external_lex_state = 2},
  [7058] = {.lex_state = 467, .external_lex_state = 2},
  [7059] = {.lex_state = 467, .external_lex_state = 2},
  [7060] = {.lex_state = 467, .external_lex_state = 2},
  [7061] = {.lex_state = 467, .external_lex_state = 2},
  [7062] = {.lex_state = 467, .external_lex_state = 2},
  [7063] = {.lex_state = 972, .external_lex_state = 37},
  [7064] = {.lex_state = 972, .external_lex_state = 37},
  [7065] = {.lex_state = 972, .external_lex_state = 37},
  [7066] = {.lex_state = 972, .external_lex_state = 37},
  [7067] = {.lex_state = 467, .external_lex_state = 2},
  [7068] = {.lex_state = 467, .external_lex_state = 2},
  [7069] = {.lex_state = 467, .external_lex_state = 27},
  [7070] = {.lex_state = 467, .external_lex_state = 2},
  [7071] = {.lex_state = 972, .external_lex_state = 37},
  [7072] = {.lex_state = 1362, .external_lex_state = 4},
  [7073] = {.lex_state = 972, .external_lex_state = 10},
  [7074] = {.lex_state = 1364, .external_lex_state = 4},
  [7075] = {.lex_state = 549},
  [7076] = {.lex_state = 1362, .external_lex_state = 4},
  [7077] = {.lex_state = 638, .external_lex_state = 22},
  [7078] = {.lex_state = 1366, .external_lex_state = 36},
  [7079] = {.lex_state = 467, .external_lex_state = 39},
  [7080] = {.lex_state = 467, .external_lex_state = 2},
  [7081] = {.lex_state = 0},
  [7082] = {.lex_state = 467, .external_lex_state = 2},
  [7083] = {.lex_state = 989, .external_lex_state = 4},
  [7084] = {.lex_state = 989, .external_lex_state = 4},
  [7085] = {.lex_state = 989, .external_lex_state = 4},
  [7086] = {.lex_state = 467, .external_lex_state = 2},
  [7087] = {.lex_state = 467, .external_lex_state = 2},
  [7088] = {.lex_state = 467, .external_lex_state = 2},
  [7089] = {.lex_state = 467, .external_lex_state = 2},
  [7090] = {.lex_state = 467, .external_lex_state = 2},
  [7091] = {.lex_state = 467, .external_lex_state = 2},
  [7092] = {.lex_state = 467, .external_lex_state = 2},
  [7093] = {.lex_state = 467, .external_lex_state = 2},
  [7094] = {.lex_state = 467, .external_lex_state = 2},
  [7095] = {.lex_state = 467, .external_lex_state = 2},
  [7096] = {.lex_state = 467, .external_lex_state = 2},
  [7097] = {.lex_state = 467, .external_lex_state = 2},
  [7098] = {.lex_state = 467, .external_lex_state = 39},
  [7099] = {.lex_state = 467, .external_lex_state = 2},
  [7100] = {.lex_state = 989, .external_lex_state = 4},
  [7101] = {.lex_state = 987, .external_lex_state = 4},
  [7102] = {.lex_state = 987, .external_lex_state = 4},
  [7103] = {.lex_state = 987, .external_lex_state = 4},
  [7104] = {.lex_state = 987, .external_lex_state = 4},
  [7105] = {.lex_state = 987, .external_lex_state = 4},
  [7106] = {.lex_state = 987, .external_lex_state = 4},
  [7107] = {.lex_state = 1116, .external_lex_state = 30},
  [7108] = {.lex_state = 987, .external_lex_state = 4},
  [7109] = {.lex_state = 987, .external_lex_state = 4},
  [7110] = {.lex_state = 987, .external_lex_state = 4},
  [7111] = {.lex_state = 987, .external_lex_state = 4},
  [7112] = {.lex_state = 987, .external_lex_state = 4},
  [7113] = {.lex_state = 968, .external_lex_state = 70},
  [7114] = {.lex_state = 968, .external_lex_state = 12},
  [7115] = {.lex_state = 987, .external_lex_state = 4},
  [7116] = {.lex_state = 987, .external_lex_state = 4},
  [7117] = {.lex_state = 987, .external_lex_state = 4},
  [7118] = {.lex_state = 989, .external_lex_state = 4},
  [7119] = {.lex_state = 1241, .external_lex_state = 13},
  [7120] = {.lex_state = 1241, .external_lex_state = 13},
  [7121] = {.lex_state = 1241, .external_lex_state = 13},
  [7122] = {.lex_state = 1241, .external_lex_state = 13},
  [7123] = {.lex_state = 467, .external_lex_state = 2},
  [7124] = {.lex_state = 467, .external_lex_state = 2},
  [7125] = {.lex_state = 467, .external_lex_state = 2},
  [7126] = {.lex_state = 467, .external_lex_state = 2},
  [7127] = {.lex_state = 467, .external_lex_state = 2},
  [7128] = {.lex_state = 467, .external_lex_state = 2},
  [7129] = {.lex_state = 467, .external_lex_state = 2},
  [7130] = {.lex_state = 467, .external_lex_state = 2},
  [7131] = {.lex_state = 467, .external_lex_state = 2},
  [7132] = {.lex_state = 467, .external_lex_state = 2},
  [7133] = {.lex_state = 467, .external_lex_state = 2},
  [7134] = {.lex_state = 467, .external_lex_state = 2},
  [7135] = {.lex_state = 467, .external_lex_state = 39},
  [7136] = {.lex_state = 1241, .external_lex_state = 13},
  [7137] = {.lex_state = 467, .external_lex_state = 39},
  [7138] = {.lex_state = 467, .external_lex_state = 2},
  [7139] = {.lex_state = 993, .external_lex_state = 2},
  [7140] = {.lex_state = 617, .external_lex_state = 55},
  [7141] = {.lex_state = 1248, .external_lex_state = 13},
  [7142] = {.lex_state = 467, .external_lex_state = 2},
  [7143] = {.lex_state = 467, .external_lex_state = 2},
  [7144] = {.lex_state = 467, .external_lex_state = 2},
  [7145] = {.lex_state = 467, .external_lex_state = 2},
  [7146] = {.lex_state = 970, .external_lex_state = 37},
  [7147] = {.lex_state = 970, .external_lex_state = 37},
  [7148] = {.lex_state = 970, .external_lex_state = 37},
  [7149] = {.lex_state = 970, .external_lex_state = 37},
  [7150] = {.lex_state = 467, .external_lex_state = 2},
  [7151] = {.lex_state = 467, .external_lex_state = 2},
  [7152] = {.lex_state = 467, .external_lex_state = 27},
  [7153] = {.lex_state = 467, .external_lex_state = 2},
  [7154] = {.lex_state = 972, .external_lex_state = 37},
  [7155] = {.lex_state = 1368, .external_lex_state = 4},
  [7156] = {.lex_state = 972, .external_lex_state = 10},
  [7157] = {.lex_state = 1370, .external_lex_state = 4},
  [7158] = {.lex_state = 549},
  [7159] = {.lex_state = 1372, .external_lex_state = 4},
  [7160] = {.lex_state = 638, .external_lex_state = 22},
  [7161] = {.lex_state = 1374, .external_lex_state = 36},
  [7162] = {.lex_state = 1248, .external_lex_state = 13},
  [7163] = {.lex_state = 1248, .external_lex_state = 13},
  [7164] = {.lex_state = 458, .external_lex_state = 4},
  [7165] = {.lex_state = 0},
  [7166] = {.lex_state = 996, .external_lex_state = 2},
  [7167] = {.lex_state = 461, .external_lex_state = 2},
  [7168] = {.lex_state = 996, .external_lex_state = 2},
  [7169] = {.lex_state = 996, .external_lex_state = 2},
  [7170] = {.lex_state = 1243, .external_lex_state = 7},
  [7171] = {.lex_state = 467, .external_lex_state = 2},
  [7172] = {.lex_state = 467, .external_lex_state = 2},
  [7173] = {.lex_state = 467, .external_lex_state = 2},
  [7174] = {.lex_state = 467, .external_lex_state = 2},
  [7175] = {.lex_state = 467, .external_lex_state = 2},
  [7176] = {.lex_state = 467, .external_lex_state = 2},
  [7177] = {.lex_state = 467, .external_lex_state = 2},
  [7178] = {.lex_state = 467, .external_lex_state = 2},
  [7179] = {.lex_state = 467, .external_lex_state = 2},
  [7180] = {.lex_state = 467, .external_lex_state = 2},
  [7181] = {.lex_state = 467, .external_lex_state = 2},
  [7182] = {.lex_state = 467, .external_lex_state = 2},
  [7183] = {.lex_state = 467, .external_lex_state = 2},
  [7184] = {.lex_state = 467, .external_lex_state = 2},
  [7185] = {.lex_state = 467, .external_lex_state = 2},
  [7186] = {.lex_state = 467, .external_lex_state = 2},
  [7187] = {.lex_state = 467, .external_lex_state = 2},
  [7188] = {.lex_state = 467, .external_lex_state = 2},
  [7189] = {.lex_state = 467, .external_lex_state = 2},
  [7190] = {.lex_state = 467, .external_lex_state = 2},
  [7191] = {.lex_state = 467, .external_lex_state = 2},
  [7192] = {.lex_state = 972, .external_lex_state = 37},
  [7193] = {.lex_state = 972, .external_lex_state = 37},
  [7194] = {.lex_state = 972, .external_lex_state = 37},
  [7195] = {.lex_state = 972, .external_lex_state = 37},
  [7196] = {.lex_state = 467, .external_lex_state = 2},
  [7197] = {.lex_state = 467, .external_lex_state = 2},
  [7198] = {.lex_state = 467, .external_lex_state = 27},
  [7199] = {.lex_state = 467, .external_lex_state = 2},
  [7200] = {.lex_state = 972, .external_lex_state = 37},
  [7201] = {.lex_state = 1376, .external_lex_state = 4},
  [7202] = {.lex_state = 972, .external_lex_state = 10},
  [7203] = {.lex_state = 1378, .external_lex_state = 4},
  [7204] = {.lex_state = 549},
  [7205] = {.lex_state = 1376, .external_lex_state = 4},
  [7206] = {.lex_state = 638, .external_lex_state = 22},
  [7207] = {.lex_state = 1380, .external_lex_state = 36},
  [7208] = {.lex_state = 467, .external_lex_state = 39},
  [7209] = {.lex_state = 467, .external_lex_state = 2},
  [7210] = {.lex_state = 1000, .external_lex_state = 4},
  [7211] = {.lex_state = 1000, .external_lex_state = 4},
  [7212] = {.lex_state = 1000, .external_lex_state = 4},
  [7213] = {.lex_state = 467, .external_lex_state = 2},
  [7214] = {.lex_state = 467, .external_lex_state = 2},
  [7215] = {.lex_state = 467, .external_lex_state = 2},
  [7216] = {.lex_state = 467, .external_lex_state = 2},
  [7217] = {.lex_state = 467, .external_lex_state = 2},
  [7218] = {.lex_state = 467, .external_lex_state = 2},
  [7219] = {.lex_state = 467, .external_lex_state = 2},
  [7220] = {.lex_state = 467, .external_lex_state = 2},
  [7221] = {.lex_state = 467, .external_lex_state = 2},
  [7222] = {.lex_state = 467, .external_lex_state = 2},
  [7223] = {.lex_state = 467, .external_lex_state = 2},
  [7224] = {.lex_state = 467, .external_lex_state = 2},
  [7225] = {.lex_state = 467, .external_lex_state = 39},
  [7226] = {.lex_state = 467, .external_lex_state = 2},
  [7227] = {.lex_state = 998, .external_lex_state = 4},
  [7228] = {.lex_state = 998, .external_lex_state = 4},
  [7229] = {.lex_state = 998, .external_lex_state = 4},
  [7230] = {.lex_state = 467, .external_lex_state = 2},
  [7231] = {.lex_state = 968, .external_lex_state = 12},
  [7232] = {.lex_state = 998, .external_lex_state = 4},
  [7233] = {.lex_state = 467, .external_lex_state = 2},
  [7234] = {.lex_state = 1000, .external_lex_state = 4},
  [7235] = {.lex_state = 998, .external_lex_state = 4},
  [7236] = {.lex_state = 998, .external_lex_state = 4},
  [7237] = {.lex_state = 998, .external_lex_state = 4},
  [7238] = {.lex_state = 998, .external_lex_state = 4},
  [7239] = {.lex_state = 998, .external_lex_state = 4},
  [7240] = {.lex_state = 998, .external_lex_state = 4},
  [7241] = {.lex_state = 1116, .external_lex_state = 30},
  [7242] = {.lex_state = 998, .external_lex_state = 4},
  [7243] = {.lex_state = 998, .external_lex_state = 4},
  [7244] = {.lex_state = 998, .external_lex_state = 4},
  [7245] = {.lex_state = 998, .external_lex_state = 4},
  [7246] = {.lex_state = 998, .external_lex_state = 4},
  [7247] = {.lex_state = 1006, .external_lex_state = 4},
  [7248] = {.lex_state = 1006, .external_lex_state = 4},
  [7249] = {.lex_state = 1006, .external_lex_state = 4},
  [7250] = {.lex_state = 467, .external_lex_state = 2},
  [7251] = {.lex_state = 968, .external_lex_state = 12},
  [7252] = {.lex_state = 1006, .external_lex_state = 4},
  [7253] = {.lex_state = 467, .external_lex_state = 2},
  [7254] = {.lex_state = 968, .external_lex_state = 70},
  [7255] = {.lex_state = 968, .external_lex_state = 12},
  [7256] = {.lex_state = 998, .external_lex_state = 4},
  [7257] = {.lex_state = 998, .external_lex_state = 4},
  [7258] = {.lex_state = 998, .external_lex_state = 4},
  [7259] = {.lex_state = 1000, .external_lex_state = 4},
  [7260] = {.lex_state = 746, .external_lex_state = 2},
  [7261] = {.lex_state = 617, .external_lex_state = 55},
  [7262] = {.lex_state = 467, .external_lex_state = 2},
  [7263] = {.lex_state = 458, .external_lex_state = 4},
  [7264] = {.lex_state = 1008, .external_lex_state = 4},
  [7265] = {.lex_state = 1008, .external_lex_state = 4},
  [7266] = {.lex_state = 1008, .external_lex_state = 4},
  [7267] = {.lex_state = 467, .external_lex_state = 2},
  [7268] = {.lex_state = 467, .external_lex_state = 2},
  [7269] = {.lex_state = 467, .external_lex_state = 2},
  [7270] = {.lex_state = 467, .external_lex_state = 2},
  [7271] = {.lex_state = 467, .external_lex_state = 2},
  [7272] = {.lex_state = 467, .external_lex_state = 2},
  [7273] = {.lex_state = 467, .external_lex_state = 2},
  [7274] = {.lex_state = 467, .external_lex_state = 2},
  [7275] = {.lex_state = 467, .external_lex_state = 2},
  [7276] = {.lex_state = 467, .external_lex_state = 2},
  [7277] = {.lex_state = 467, .external_lex_state = 2},
  [7278] = {.lex_state = 467, .external_lex_state = 2},
  [7279] = {.lex_state = 467, .external_lex_state = 39},
  [7280] = {.lex_state = 467, .external_lex_state = 2},
  [7281] = {.lex_state = 1008, .external_lex_state = 4},
  [7282] = {.lex_state = 1006, .external_lex_state = 4},
  [7283] = {.lex_state = 1006, .external_lex_state = 4},
  [7284] = {.lex_state = 1006, .external_lex_state = 4},
  [7285] = {.lex_state = 1006, .external_lex_state = 4},
  [7286] = {.lex_state = 1006, .external_lex_state = 4},
  [7287] = {.lex_state = 1006, .external_lex_state = 4},
  [7288] = {.lex_state = 1116, .external_lex_state = 30},
  [7289] = {.lex_state = 1006, .external_lex_state = 4},
  [7290] = {.lex_state = 1006, .external_lex_state = 4},
  [7291] = {.lex_state = 1006, .external_lex_state = 4},
  [7292] = {.lex_state = 1006, .external_lex_state = 4},
  [7293] = {.lex_state = 1006, .external_lex_state = 4},
  [7294] = {.lex_state = 968, .external_lex_state = 70},
  [7295] = {.lex_state = 968, .external_lex_state = 12},
  [7296] = {.lex_state = 1006, .external_lex_state = 4},
  [7297] = {.lex_state = 1006, .external_lex_state = 4},
  [7298] = {.lex_state = 1006, .external_lex_state = 4},
  [7299] = {.lex_state = 1008, .external_lex_state = 4},
  [7300] = {.lex_state = 1252, .external_lex_state = 13},
  [7301] = {.lex_state = 1252, .external_lex_state = 13},
  [7302] = {.lex_state = 1252, .external_lex_state = 13},
  [7303] = {.lex_state = 1252, .external_lex_state = 13},
  [7304] = {.lex_state = 467, .external_lex_state = 2},
  [7305] = {.lex_state = 467, .external_lex_state = 2},
  [7306] = {.lex_state = 467, .external_lex_state = 2},
  [7307] = {.lex_state = 467, .external_lex_state = 2},
  [7308] = {.lex_state = 467, .external_lex_state = 2},
  [7309] = {.lex_state = 467, .external_lex_state = 2},
  [7310] = {.lex_state = 467, .external_lex_state = 2},
  [7311] = {.lex_state = 467, .external_lex_state = 2},
  [7312] = {.lex_state = 467, .external_lex_state = 2},
  [7313] = {.lex_state = 467, .external_lex_state = 2},
  [7314] = {.lex_state = 467, .external_lex_state = 2},
  [7315] = {.lex_state = 467, .external_lex_state = 2},
  [7316] = {.lex_state = 467, .external_lex_state = 39},
  [7317] = {.lex_state = 1252, .external_lex_state = 13},
  [7318] = {.lex_state = 467, .external_lex_state = 39},
  [7319] = {.lex_state = 467, .external_lex_state = 2},
  [7320] = {.lex_state = 458, .external_lex_state = 4},
  [7321] = {.lex_state = 1254, .external_lex_state = 42},
  [7322] = {.lex_state = 467, .external_lex_state = 2},
  [7323] = {.lex_state = 467, .external_lex_state = 2},
  [7324] = {.lex_state = 467, .external_lex_state = 2},
  [7325] = {.lex_state = 644, .external_lex_state = 43},
  [7326] = {.lex_state = 1012, .external_lex_state = 42},
  [7327] = {.lex_state = 1254, .external_lex_state = 42},
  [7328] = {.lex_state = 638, .external_lex_state = 22},
  [7329] = {.lex_state = 1018, .external_lex_state = 41},
  [7330] = {.lex_state = 1254, .external_lex_state = 42},
  [7331] = {.lex_state = 1254, .external_lex_state = 42},
  [7332] = {.lex_state = 467, .external_lex_state = 2},
  [7333] = {.lex_state = 467, .external_lex_state = 2},
  [7334] = {.lex_state = 467, .external_lex_state = 2},
  [7335] = {.lex_state = 467, .external_lex_state = 2},
  [7336] = {.lex_state = 467, .external_lex_state = 2},
  [7337] = {.lex_state = 467, .external_lex_state = 2},
  [7338] = {.lex_state = 467, .external_lex_state = 2},
  [7339] = {.lex_state = 467, .external_lex_state = 2},
  [7340] = {.lex_state = 467, .external_lex_state = 2},
  [7341] = {.lex_state = 467, .external_lex_state = 2},
  [7342] = {.lex_state = 467, .external_lex_state = 2},
  [7343] = {.lex_state = 467, .external_lex_state = 2},
  [7344] = {.lex_state = 467, .external_lex_state = 2},
  [7345] = {.lex_state = 467, .external_lex_state = 2},
  [7346] = {.lex_state = 467, .external_lex_state = 2},
  [7347] = {.lex_state = 644, .external_lex_state = 43},
  [7348] = {.lex_state = 1016, .external_lex_state = 42},
  [7349] = {.lex_state = 1256, .external_lex_state = 42},
  [7350] = {.lex_state = 638, .external_lex_state = 22},
  [7351] = {.lex_state = 1258, .external_lex_state = 41},
  [7352] = {.lex_state = 467, .external_lex_state = 39},
  [7353] = {.lex_state = 467, .external_lex_state = 2},
  [7354] = {.lex_state = 1012, .external_lex_state = 42},
  [7355] = {.lex_state = 1012, .external_lex_state = 42},
  [7356] = {.lex_state = 1012, .external_lex_state = 42},
  [7357] = {.lex_state = 467, .external_lex_state = 2},
  [7358] = {.lex_state = 968, .external_lex_state = 12},
  [7359] = {.lex_state = 1012, .external_lex_state = 42},
  [7360] = {.lex_state = 467, .external_lex_state = 2},
  [7361] = {.lex_state = 1254, .external_lex_state = 42},
  [7362] = {.lex_state = 1012, .external_lex_state = 42},
  [7363] = {.lex_state = 1012, .external_lex_state = 42},
  [7364] = {.lex_state = 1012, .external_lex_state = 42},
  [7365] = {.lex_state = 1012, .external_lex_state = 42},
  [7366] = {.lex_state = 1012, .external_lex_state = 42},
  [7367] = {.lex_state = 1012, .external_lex_state = 42},
  [7368] = {.lex_state = 1116, .external_lex_state = 30},
  [7369] = {.lex_state = 1012, .external_lex_state = 42},
  [7370] = {.lex_state = 1012, .external_lex_state = 42},
  [7371] = {.lex_state = 1012, .external_lex_state = 42},
  [7372] = {.lex_state = 1012, .external_lex_state = 42},
  [7373] = {.lex_state = 1012, .external_lex_state = 42},
  [7374] = {.lex_state = 644, .external_lex_state = 45},
  [7375] = {.lex_state = 644, .external_lex_state = 45},
  [7376] = {.lex_state = 644, .external_lex_state = 45},
  [7377] = {.lex_state = 644, .external_lex_state = 45},
  [7378] = {.lex_state = 1016, .external_lex_state = 42},
  [7379] = {.lex_state = 1016, .external_lex_state = 42},
  [7380] = {.lex_state = 1016, .external_lex_state = 42},
  [7381] = {.lex_state = 1016, .external_lex_state = 42},
  [7382] = {.lex_state = 1016, .external_lex_state = 42},
  [7383] = {.lex_state = 1016, .external_lex_state = 42},
  [7384] = {.lex_state = 467, .external_lex_state = 2},
  [7385] = {.lex_state = 467, .external_lex_state = 2},
  [7386] = {.lex_state = 467, .external_lex_state = 2},
  [7387] = {.lex_state = 467, .external_lex_state = 2},
  [7388] = {.lex_state = 467, .external_lex_state = 2},
  [7389] = {.lex_state = 467, .external_lex_state = 2},
  [7390] = {.lex_state = 467, .external_lex_state = 2},
  [7391] = {.lex_state = 467, .external_lex_state = 2},
  [7392] = {.lex_state = 467, .external_lex_state = 2},
  [7393] = {.lex_state = 467, .external_lex_state = 2},
  [7394] = {.lex_state = 467, .external_lex_state = 2},
  [7395] = {.lex_state = 467, .external_lex_state = 2},
  [7396] = {.lex_state = 467, .external_lex_state = 2},
  [7397] = {.lex_state = 968, .external_lex_state = 12},
  [7398] = {.lex_state = 1016, .external_lex_state = 42},
  [7399] = {.lex_state = 467, .external_lex_state = 39},
  [7400] = {.lex_state = 467, .external_lex_state = 2},
  [7401] = {.lex_state = 467, .external_lex_state = 2},
  [7402] = {.lex_state = 968, .external_lex_state = 70},
  [7403] = {.lex_state = 968, .external_lex_state = 12},
  [7404] = {.lex_state = 1012, .external_lex_state = 42},
  [7405] = {.lex_state = 1012, .external_lex_state = 42},
  [7406] = {.lex_state = 1012, .external_lex_state = 42},
  [7407] = {.lex_state = 1254, .external_lex_state = 42},
  [7408] = {.lex_state = 458, .external_lex_state = 4},
  [7409] = {.lex_state = 0},
  [7410] = {.lex_state = 734, .external_lex_state = 7},
  [7411] = {.lex_state = 1026, .external_lex_state = 4},
  [7412] = {.lex_state = 1026, .external_lex_state = 4},
  [7413] = {.lex_state = 1026, .external_lex_state = 4},
  [7414] = {.lex_state = 467, .external_lex_state = 2},
  [7415] = {.lex_state = 467, .external_lex_state = 2},
  [7416] = {.lex_state = 467, .external_lex_state = 2},
  [7417] = {.lex_state = 467, .external_lex_state = 2},
  [7418] = {.lex_state = 467, .external_lex_state = 2},
  [7419] = {.lex_state = 467, .external_lex_state = 2},
  [7420] = {.lex_state = 467, .external_lex_state = 2},
  [7421] = {.lex_state = 467, .external_lex_state = 2},
  [7422] = {.lex_state = 467, .external_lex_state = 2},
  [7423] = {.lex_state = 467, .external_lex_state = 2},
  [7424] = {.lex_state = 467, .external_lex_state = 2},
  [7425] = {.lex_state = 467, .external_lex_state = 2},
  [7426] = {.lex_state = 467, .external_lex_state = 39},
  [7427] = {.lex_state = 467, .external_lex_state = 2},
  [7428] = {.lex_state = 1024, .external_lex_state = 4},
  [7429] = {.lex_state = 1024, .external_lex_state = 4},
  [7430] = {.lex_state = 1024, .external_lex_state = 4},
  [7431] = {.lex_state = 467, .external_lex_state = 2},
  [7432] = {.lex_state = 968, .external_lex_state = 12},
  [7433] = {.lex_state = 1024, .external_lex_state = 4},
  [7434] = {.lex_state = 467, .external_lex_state = 2},
  [7435] = {.lex_state = 1026, .external_lex_state = 4},
  [7436] = {.lex_state = 1024, .external_lex_state = 4},
  [7437] = {.lex_state = 1024, .external_lex_state = 4},
  [7438] = {.lex_state = 1024, .external_lex_state = 4},
  [7439] = {.lex_state = 1024, .external_lex_state = 4},
  [7440] = {.lex_state = 1024, .external_lex_state = 4},
  [7441] = {.lex_state = 1024, .external_lex_state = 4},
  [7442] = {.lex_state = 1116, .external_lex_state = 30},
  [7443] = {.lex_state = 1024, .external_lex_state = 4},
  [7444] = {.lex_state = 1024, .external_lex_state = 4},
  [7445] = {.lex_state = 1024, .external_lex_state = 4},
  [7446] = {.lex_state = 1024, .external_lex_state = 4},
  [7447] = {.lex_state = 1024, .external_lex_state = 4},
  [7448] = {.lex_state = 1038, .external_lex_state = 4},
  [7449] = {.lex_state = 1038, .external_lex_state = 4},
  [7450] = {.lex_state = 1038, .external_lex_state = 4},
  [7451] = {.lex_state = 467, .external_lex_state = 2},
  [7452] = {.lex_state = 968, .external_lex_state = 12},
  [7453] = {.lex_state = 1038, .external_lex_state = 4},
  [7454] = {.lex_state = 467, .external_lex_state = 2},
  [7455] = {.lex_state = 968, .external_lex_state = 70},
  [7456] = {.lex_state = 968, .external_lex_state = 12},
  [7457] = {.lex_state = 1024, .external_lex_state = 4},
  [7458] = {.lex_state = 1024, .external_lex_state = 4},
  [7459] = {.lex_state = 1024, .external_lex_state = 4},
  [7460] = {.lex_state = 1026, .external_lex_state = 4},
  [7461] = {.lex_state = 467, .external_lex_state = 2},
  [7462] = {.lex_state = 467, .external_lex_state = 2},
  [7463] = {.lex_state = 467, .external_lex_state = 2},
  [7464] = {.lex_state = 467, .external_lex_state = 2},
  [7465] = {.lex_state = 1262, .external_lex_state = 4},
  [7466] = {.lex_state = 549},
  [7467] = {.lex_state = 1036, .external_lex_state = 4},
  [7468] = {.lex_state = 1262, .external_lex_state = 4},
  [7469] = {.lex_state = 1260, .external_lex_state = 4},
  [7470] = {.lex_state = 1262, .external_lex_state = 4},
  [7471] = {.lex_state = 1260, .external_lex_state = 4},
  [7472] = {.lex_state = 1260, .external_lex_state = 4},
  [7473] = {.lex_state = 467, .external_lex_state = 2},
  [7474] = {.lex_state = 467, .external_lex_state = 2},
  [7475] = {.lex_state = 467, .external_lex_state = 2},
  [7476] = {.lex_state = 467, .external_lex_state = 2},
  [7477] = {.lex_state = 467, .external_lex_state = 2},
  [7478] = {.lex_state = 467, .external_lex_state = 2},
  [7479] = {.lex_state = 467, .external_lex_state = 2},
  [7480] = {.lex_state = 467, .external_lex_state = 2},
  [7481] = {.lex_state = 467, .external_lex_state = 2},
  [7482] = {.lex_state = 467, .external_lex_state = 2},
  [7483] = {.lex_state = 467, .external_lex_state = 2},
  [7484] = {.lex_state = 467, .external_lex_state = 2},
  [7485] = {.lex_state = 467, .external_lex_state = 2},
  [7486] = {.lex_state = 968, .external_lex_state = 12},
  [7487] = {.lex_state = 1262, .external_lex_state = 4},
  [7488] = {.lex_state = 467, .external_lex_state = 39},
  [7489] = {.lex_state = 467, .external_lex_state = 2},
  [7490] = {.lex_state = 467, .external_lex_state = 2},
  [7491] = {.lex_state = 617, .external_lex_state = 55},
  [7492] = {.lex_state = 461, .external_lex_state = 2},
  [7493] = {.lex_state = 1032, .external_lex_state = 7},
  [7494] = {.lex_state = 467, .external_lex_state = 2},
  [7495] = {.lex_state = 716, .external_lex_state = 10},
  [7496] = {.lex_state = 716, .external_lex_state = 10},
  [7497] = {.lex_state = 716, .external_lex_state = 10},
  [7498] = {.lex_state = 716, .external_lex_state = 10},
  [7499] = {.lex_state = 467, .external_lex_state = 2},
  [7500] = {.lex_state = 467, .external_lex_state = 2},
  [7501] = {.lex_state = 467, .external_lex_state = 2},
  [7502] = {.lex_state = 0},
  [7503] = {.lex_state = 1382, .external_lex_state = 7},
  [7504] = {.lex_state = 1384, .external_lex_state = 7},
  [7505] = {.lex_state = 0},
  [7506] = {.lex_state = 1386, .external_lex_state = 13},
  [7507] = {.lex_state = 722, .external_lex_state = 10},
  [7508] = {.lex_state = 549},
  [7509] = {.lex_state = 1388, .external_lex_state = 4},
  [7510] = {.lex_state = 1268, .external_lex_state = 2},
  [7511] = {.lex_state = 467, .external_lex_state = 39},
  [7512] = {.lex_state = 1268, .external_lex_state = 2},
  [7513] = {.lex_state = 1034, .external_lex_state = 13},
  [7514] = {.lex_state = 1034, .external_lex_state = 13},
  [7515] = {.lex_state = 1034, .external_lex_state = 13},
  [7516] = {.lex_state = 1034, .external_lex_state = 13},
  [7517] = {.lex_state = 1034, .external_lex_state = 13},
  [7518] = {.lex_state = 1034, .external_lex_state = 13},
  [7519] = {.lex_state = 1116, .external_lex_state = 30},
  [7520] = {.lex_state = 1034, .external_lex_state = 13},
  [7521] = {.lex_state = 1034, .external_lex_state = 13},
  [7522] = {.lex_state = 1034, .external_lex_state = 13},
  [7523] = {.lex_state = 1034, .external_lex_state = 13},
  [7524] = {.lex_state = 1034, .external_lex_state = 13},
  [7525] = {.lex_state = 467, .external_lex_state = 2},
  [7526] = {.lex_state = 722, .external_lex_state = 10},
  [7527] = {.lex_state = 722, .external_lex_state = 10},
  [7528] = {.lex_state = 722, .external_lex_state = 10},
  [7529] = {.lex_state = 722, .external_lex_state = 10},
  [7530] = {.lex_state = 467, .external_lex_state = 2},
  [7531] = {.lex_state = 467, .external_lex_state = 2},
  [7532] = {.lex_state = 467, .external_lex_state = 2},
  [7533] = {.lex_state = 1272, .external_lex_state = 4},
  [7534] = {.lex_state = 722, .external_lex_state = 10},
  [7535] = {.lex_state = 549},
  [7536] = {.lex_state = 1272, .external_lex_state = 4},
  [7537] = {.lex_state = 1272, .external_lex_state = 4},
  [7538] = {.lex_state = 972, .external_lex_state = 10},
  [7539] = {.lex_state = 972, .external_lex_state = 10},
  [7540] = {.lex_state = 972, .external_lex_state = 10},
  [7541] = {.lex_state = 972, .external_lex_state = 10},
  [7542] = {.lex_state = 1270, .external_lex_state = 4},
  [7543] = {.lex_state = 1272, .external_lex_state = 4},
  [7544] = {.lex_state = 1270, .external_lex_state = 4},
  [7545] = {.lex_state = 1270, .external_lex_state = 4},
  [7546] = {.lex_state = 467, .external_lex_state = 2},
  [7547] = {.lex_state = 467, .external_lex_state = 2},
  [7548] = {.lex_state = 467, .external_lex_state = 2},
  [7549] = {.lex_state = 467, .external_lex_state = 2},
  [7550] = {.lex_state = 467, .external_lex_state = 2},
  [7551] = {.lex_state = 467, .external_lex_state = 2},
  [7552] = {.lex_state = 467, .external_lex_state = 2},
  [7553] = {.lex_state = 467, .external_lex_state = 2},
  [7554] = {.lex_state = 467, .external_lex_state = 2},
  [7555] = {.lex_state = 467, .external_lex_state = 2},
  [7556] = {.lex_state = 467, .external_lex_state = 2},
  [7557] = {.lex_state = 467, .external_lex_state = 2},
  [7558] = {.lex_state = 467, .external_lex_state = 2},
  [7559] = {.lex_state = 968, .external_lex_state = 12},
  [7560] = {.lex_state = 1272, .external_lex_state = 4},
  [7561] = {.lex_state = 467, .external_lex_state = 39},
  [7562] = {.lex_state = 467, .external_lex_state = 2},
  [7563] = {.lex_state = 467, .external_lex_state = 2},
  [7564] = {.lex_state = 467, .external_lex_state = 2},
  [7565] = {.lex_state = 1034, .external_lex_state = 13},
  [7566] = {.lex_state = 1034, .external_lex_state = 13},
  [7567] = {.lex_state = 1034, .external_lex_state = 13},
  [7568] = {.lex_state = 467, .external_lex_state = 2},
  [7569] = {.lex_state = 458, .external_lex_state = 4},
  [7570] = {.lex_state = 1040, .external_lex_state = 4},
  [7571] = {.lex_state = 1040, .external_lex_state = 4},
  [7572] = {.lex_state = 1040, .external_lex_state = 4},
  [7573] = {.lex_state = 467, .external_lex_state = 2},
  [7574] = {.lex_state = 467, .external_lex_state = 2},
  [7575] = {.lex_state = 467, .external_lex_state = 2},
  [7576] = {.lex_state = 467, .external_lex_state = 2},
  [7577] = {.lex_state = 467, .external_lex_state = 2},
  [7578] = {.lex_state = 467, .external_lex_state = 2},
  [7579] = {.lex_state = 467, .external_lex_state = 2},
  [7580] = {.lex_state = 467, .external_lex_state = 2},
  [7581] = {.lex_state = 467, .external_lex_state = 2},
  [7582] = {.lex_state = 467, .external_lex_state = 2},
  [7583] = {.lex_state = 467, .external_lex_state = 2},
  [7584] = {.lex_state = 467, .external_lex_state = 2},
  [7585] = {.lex_state = 467, .external_lex_state = 39},
  [7586] = {.lex_state = 467, .external_lex_state = 2},
  [7587] = {.lex_state = 1040, .external_lex_state = 4},
  [7588] = {.lex_state = 1038, .external_lex_state = 4},
  [7589] = {.lex_state = 1038, .external_lex_state = 4},
  [7590] = {.lex_state = 1038, .external_lex_state = 4},
  [7591] = {.lex_state = 1038, .external_lex_state = 4},
  [7592] = {.lex_state = 1038, .external_lex_state = 4},
  [7593] = {.lex_state = 1038, .external_lex_state = 4},
  [7594] = {.lex_state = 1116, .external_lex_state = 30},
  [7595] = {.lex_state = 1038, .external_lex_state = 4},
  [7596] = {.lex_state = 1038, .external_lex_state = 4},
  [7597] = {.lex_state = 1038, .external_lex_state = 4},
  [7598] = {.lex_state = 1038, .external_lex_state = 4},
  [7599] = {.lex_state = 1038, .external_lex_state = 4},
  [7600] = {.lex_state = 968, .external_lex_state = 70},
  [7601] = {.lex_state = 968, .external_lex_state = 12},
  [7602] = {.lex_state = 1038, .external_lex_state = 4},
  [7603] = {.lex_state = 1038, .external_lex_state = 4},
  [7604] = {.lex_state = 1038, .external_lex_state = 4},
  [7605] = {.lex_state = 1040, .external_lex_state = 4},
  [7606] = {.lex_state = 1276, .external_lex_state = 13},
  [7607] = {.lex_state = 1276, .external_lex_state = 13},
  [7608] = {.lex_state = 1276, .external_lex_state = 13},
  [7609] = {.lex_state = 1276, .external_lex_state = 13},
  [7610] = {.lex_state = 467, .external_lex_state = 2},
  [7611] = {.lex_state = 467, .external_lex_state = 2},
  [7612] = {.lex_state = 467, .external_lex_state = 2},
  [7613] = {.lex_state = 467, .external_lex_state = 2},
  [7614] = {.lex_state = 467, .external_lex_state = 2},
  [7615] = {.lex_state = 467, .external_lex_state = 2},
  [7616] = {.lex_state = 467, .external_lex_state = 2},
  [7617] = {.lex_state = 467, .external_lex_state = 2},
  [7618] = {.lex_state = 467, .external_lex_state = 2},
  [7619] = {.lex_state = 467, .external_lex_state = 2},
  [7620] = {.lex_state = 467, .external_lex_state = 2},
  [7621] = {.lex_state = 467, .external_lex_state = 2},
  [7622] = {.lex_state = 467, .external_lex_state = 39},
  [7623] = {.lex_state = 1276, .external_lex_state = 13},
  [7624] = {.lex_state = 467, .external_lex_state = 39},
  [7625] = {.lex_state = 467, .external_lex_state = 2},
  [7626] = {.lex_state = 565, .external_lex_state = 2},
  [7627] = {.lex_state = 1046, .external_lex_state = 4},
  [7628] = {.lex_state = 1046, .external_lex_state = 4},
  [7629] = {.lex_state = 1046, .external_lex_state = 4},
  [7630] = {.lex_state = 467, .external_lex_state = 2},
  [7631] = {.lex_state = 467, .external_lex_state = 2},
  [7632] = {.lex_state = 467, .external_lex_state = 2},
  [7633] = {.lex_state = 467, .external_lex_state = 2},
  [7634] = {.lex_state = 467, .external_lex_state = 2},
  [7635] = {.lex_state = 467, .external_lex_state = 2},
  [7636] = {.lex_state = 467, .external_lex_state = 2},
  [7637] = {.lex_state = 467, .external_lex_state = 2},
  [7638] = {.lex_state = 467, .external_lex_state = 2},
  [7639] = {.lex_state = 467, .external_lex_state = 2},
  [7640] = {.lex_state = 467, .external_lex_state = 2},
  [7641] = {.lex_state = 467, .external_lex_state = 2},
  [7642] = {.lex_state = 467, .external_lex_state = 39},
  [7643] = {.lex_state = 467, .external_lex_state = 2},
  [7644] = {.lex_state = 1044, .external_lex_state = 4},
  [7645] = {.lex_state = 1044, .external_lex_state = 4},
  [7646] = {.lex_state = 1044, .external_lex_state = 4},
  [7647] = {.lex_state = 467, .external_lex_state = 2},
  [7648] = {.lex_state = 968, .external_lex_state = 12},
  [7649] = {.lex_state = 1044, .external_lex_state = 4},
  [7650] = {.lex_state = 467, .external_lex_state = 2},
  [7651] = {.lex_state = 1046, .external_lex_state = 4},
  [7652] = {.lex_state = 1044, .external_lex_state = 4},
  [7653] = {.lex_state = 1044, .external_lex_state = 4},
  [7654] = {.lex_state = 1044, .external_lex_state = 4},
  [7655] = {.lex_state = 1044, .external_lex_state = 4},
  [7656] = {.lex_state = 1044, .external_lex_state = 4},
  [7657] = {.lex_state = 1044, .external_lex_state = 4},
  [7658] = {.lex_state = 1116, .external_lex_state = 30},
  [7659] = {.lex_state = 1044, .external_lex_state = 4},
  [7660] = {.lex_state = 1044, .external_lex_state = 4},
  [7661] = {.lex_state = 1044, .external_lex_state = 4},
  [7662] = {.lex_state = 1044, .external_lex_state = 4},
  [7663] = {.lex_state = 1044, .external_lex_state = 4},
  [7664] = {.lex_state = 1085, .external_lex_state = 4},
  [7665] = {.lex_state = 1085, .external_lex_state = 4},
  [7666] = {.lex_state = 1085, .external_lex_state = 4},
  [7667] = {.lex_state = 467, .external_lex_state = 2},
  [7668] = {.lex_state = 968, .external_lex_state = 12},
  [7669] = {.lex_state = 1085, .external_lex_state = 4},
  [7670] = {.lex_state = 467, .external_lex_state = 2},
  [7671] = {.lex_state = 968, .external_lex_state = 70},
  [7672] = {.lex_state = 968, .external_lex_state = 12},
  [7673] = {.lex_state = 1044, .external_lex_state = 4},
  [7674] = {.lex_state = 1044, .external_lex_state = 4},
  [7675] = {.lex_state = 1044, .external_lex_state = 4},
  [7676] = {.lex_state = 1046, .external_lex_state = 4},
  [7677] = {.lex_state = 1052, .external_lex_state = 2},
  [7678] = {.lex_state = 617, .external_lex_state = 55},
  [7679] = {.lex_state = 1260, .external_lex_state = 4},
  [7680] = {.lex_state = 1260, .external_lex_state = 4},
  [7681] = {.lex_state = 1260, .external_lex_state = 4},
  [7682] = {.lex_state = 467, .external_lex_state = 2},
  [7683] = {.lex_state = 968, .external_lex_state = 12},
  [7684] = {.lex_state = 1260, .external_lex_state = 4},
  [7685] = {.lex_state = 467, .external_lex_state = 2},
  [7686] = {.lex_state = 583, .external_lex_state = 12},
  [7687] = {.lex_state = 806, .external_lex_state = 47},
  [7688] = {.lex_state = 467, .external_lex_state = 2},
  [7689] = {.lex_state = 467, .external_lex_state = 2},
  [7690] = {.lex_state = 702, .external_lex_state = 12},
  [7691] = {.lex_state = 467, .external_lex_state = 2},
  [7692] = {.lex_state = 810, .external_lex_state = 5},
  [7693] = {.lex_state = 467, .external_lex_state = 2},
  [7694] = {.lex_state = 970, .external_lex_state = 37},
  [7695] = {.lex_state = 970, .external_lex_state = 37},
  [7696] = {.lex_state = 970, .external_lex_state = 37},
  [7697] = {.lex_state = 970, .external_lex_state = 37},
  [7698] = {.lex_state = 800, .external_lex_state = 28},
  [7699] = {.lex_state = 467, .external_lex_state = 2},
  [7700] = {.lex_state = 467, .external_lex_state = 2},
  [7701] = {.lex_state = 467, .external_lex_state = 27},
  [7702] = {.lex_state = 467, .external_lex_state = 2},
  [7703] = {.lex_state = 972, .external_lex_state = 37},
  [7704] = {.lex_state = 1390, .external_lex_state = 4},
  [7705] = {.lex_state = 1392, .external_lex_state = 71},
  [7706] = {.lex_state = 1392, .external_lex_state = 71},
  [7707] = {.lex_state = 1394, .external_lex_state = 71},
  [7708] = {.lex_state = 1394, .external_lex_state = 71},
  [7709] = {.lex_state = 1278, .external_lex_state = 71},
  [7710] = {.lex_state = 549},
  [7711] = {.lex_state = 1270, .external_lex_state = 4},
  [7712] = {.lex_state = 638, .external_lex_state = 22},
  [7713] = {.lex_state = 1396, .external_lex_state = 36},
  [7714] = {.lex_state = 0},
  [7715] = {.lex_state = 0},
  [7716] = {.lex_state = 565, .external_lex_state = 2},
  [7717] = {.lex_state = 1058, .external_lex_state = 13},
  [7718] = {.lex_state = 1058, .external_lex_state = 13},
  [7719] = {.lex_state = 1058, .external_lex_state = 13},
  [7720] = {.lex_state = 1058, .external_lex_state = 13},
  [7721] = {.lex_state = 1058, .external_lex_state = 13},
  [7722] = {.lex_state = 1058, .external_lex_state = 13},
  [7723] = {.lex_state = 1116, .external_lex_state = 30},
  [7724] = {.lex_state = 1058, .external_lex_state = 13},
  [7725] = {.lex_state = 1058, .external_lex_state = 13},
  [7726] = {.lex_state = 1058, .external_lex_state = 13},
  [7727] = {.lex_state = 1058, .external_lex_state = 13},
  [7728] = {.lex_state = 1058, .external_lex_state = 13},
  [7729] = {.lex_state = 1270, .external_lex_state = 4},
  [7730] = {.lex_state = 1270, .external_lex_state = 4},
  [7731] = {.lex_state = 1270, .external_lex_state = 4},
  [7732] = {.lex_state = 467, .external_lex_state = 2},
  [7733] = {.lex_state = 968, .external_lex_state = 12},
  [7734] = {.lex_state = 1270, .external_lex_state = 4},
  [7735] = {.lex_state = 467, .external_lex_state = 2},
  [7736] = {.lex_state = 1060, .external_lex_state = 7},
  [7737] = {.lex_state = 467, .external_lex_state = 39},
  [7738] = {.lex_state = 467, .external_lex_state = 2},
  [7739] = {.lex_state = 1058, .external_lex_state = 13},
  [7740] = {.lex_state = 1058, .external_lex_state = 13},
  [7741] = {.lex_state = 1058, .external_lex_state = 13},
  [7742] = {.lex_state = 743, .external_lex_state = 2},
  [7743] = {.lex_state = 617, .external_lex_state = 55},
  [7744] = {.lex_state = 467, .external_lex_state = 2},
  [7745] = {.lex_state = 467, .external_lex_state = 2},
  [7746] = {.lex_state = 467, .external_lex_state = 2},
  [7747] = {.lex_state = 467, .external_lex_state = 2},
  [7748] = {.lex_state = 1282, .external_lex_state = 4},
  [7749] = {.lex_state = 549},
  [7750] = {.lex_state = 1073, .external_lex_state = 4},
  [7751] = {.lex_state = 1282, .external_lex_state = 4},
  [7752] = {.lex_state = 970, .external_lex_state = 10},
  [7753] = {.lex_state = 970, .external_lex_state = 10},
  [7754] = {.lex_state = 970, .external_lex_state = 10},
  [7755] = {.lex_state = 970, .external_lex_state = 10},
  [7756] = {.lex_state = 1280, .external_lex_state = 4},
  [7757] = {.lex_state = 1282, .external_lex_state = 4},
  [7758] = {.lex_state = 467, .external_lex_state = 2},
  [7759] = {.lex_state = 467, .external_lex_state = 2},
  [7760] = {.lex_state = 467, .external_lex_state = 2},
  [7761] = {.lex_state = 972, .external_lex_state = 37},
  [7762] = {.lex_state = 1280, .external_lex_state = 4},
  [7763] = {.lex_state = 1280, .external_lex_state = 4},
  [7764] = {.lex_state = 638, .external_lex_state = 22},
  [7765] = {.lex_state = 1286, .external_lex_state = 36},
  [7766] = {.lex_state = 1280, .external_lex_state = 4},
  [7767] = {.lex_state = 1280, .external_lex_state = 4},
  [7768] = {.lex_state = 467, .external_lex_state = 2},
  [7769] = {.lex_state = 467, .external_lex_state = 2},
  [7770] = {.lex_state = 467, .external_lex_state = 2},
  [7771] = {.lex_state = 467, .external_lex_state = 2},
  [7772] = {.lex_state = 467, .external_lex_state = 2},
  [7773] = {.lex_state = 467, .external_lex_state = 2},
  [7774] = {.lex_state = 467, .external_lex_state = 2},
  [7775] = {.lex_state = 467, .external_lex_state = 2},
  [7776] = {.lex_state = 467, .external_lex_state = 2},
  [7777] = {.lex_state = 467, .external_lex_state = 2},
  [7778] = {.lex_state = 467, .external_lex_state = 2},
  [7779] = {.lex_state = 467, .external_lex_state = 2},
  [7780] = {.lex_state = 467, .external_lex_state = 2},
  [7781] = {.lex_state = 467, .external_lex_state = 2},
  [7782] = {.lex_state = 467, .external_lex_state = 2},
  [7783] = {.lex_state = 467, .external_lex_state = 2},
  [7784] = {.lex_state = 972, .external_lex_state = 37},
  [7785] = {.lex_state = 1288, .external_lex_state = 4},
  [7786] = {.lex_state = 1288, .external_lex_state = 4},
  [7787] = {.lex_state = 638, .external_lex_state = 22},
  [7788] = {.lex_state = 1292, .external_lex_state = 36},
  [7789] = {.lex_state = 968, .external_lex_state = 12},
  [7790] = {.lex_state = 1282, .external_lex_state = 4},
  [7791] = {.lex_state = 467, .external_lex_state = 39},
  [7792] = {.lex_state = 467, .external_lex_state = 2},
  [7793] = {.lex_state = 467, .external_lex_state = 2},
  [7794] = {.lex_state = 743, .external_lex_state = 2},
  [7795] = {.lex_state = 1071, .external_lex_state = 13},
  [7796] = {.lex_state = 1071, .external_lex_state = 13},
  [7797] = {.lex_state = 1071, .external_lex_state = 13},
  [7798] = {.lex_state = 1071, .external_lex_state = 13},
  [7799] = {.lex_state = 1071, .external_lex_state = 13},
  [7800] = {.lex_state = 1071, .external_lex_state = 13},
  [7801] = {.lex_state = 1071, .external_lex_state = 13},
  [7802] = {.lex_state = 1071, .external_lex_state = 13},
  [7803] = {.lex_state = 1071, .external_lex_state = 13},
  [7804] = {.lex_state = 1071, .external_lex_state = 13},
  [7805] = {.lex_state = 1071, .external_lex_state = 13},
  [7806] = {.lex_state = 1116, .external_lex_state = 30},
  [7807] = {.lex_state = 1071, .external_lex_state = 13},
  [7808] = {.lex_state = 1071, .external_lex_state = 13},
  [7809] = {.lex_state = 1071, .external_lex_state = 13},
  [7810] = {.lex_state = 1071, .external_lex_state = 13},
  [7811] = {.lex_state = 1071, .external_lex_state = 13},
  [7812] = {.lex_state = 467, .external_lex_state = 2},
  [7813] = {.lex_state = 722, .external_lex_state = 10},
  [7814] = {.lex_state = 722, .external_lex_state = 10},
  [7815] = {.lex_state = 722, .external_lex_state = 10},
  [7816] = {.lex_state = 722, .external_lex_state = 10},
  [7817] = {.lex_state = 467, .external_lex_state = 2},
  [7818] = {.lex_state = 467, .external_lex_state = 2},
  [7819] = {.lex_state = 467, .external_lex_state = 2},
  [7820] = {.lex_state = 1290, .external_lex_state = 4},
  [7821] = {.lex_state = 722, .external_lex_state = 10},
  [7822] = {.lex_state = 549},
  [7823] = {.lex_state = 1290, .external_lex_state = 4},
  [7824] = {.lex_state = 1290, .external_lex_state = 4},
  [7825] = {.lex_state = 972, .external_lex_state = 10},
  [7826] = {.lex_state = 972, .external_lex_state = 10},
  [7827] = {.lex_state = 972, .external_lex_state = 10},
  [7828] = {.lex_state = 972, .external_lex_state = 10},
  [7829] = {.lex_state = 1288, .external_lex_state = 4},
  [7830] = {.lex_state = 1290, .external_lex_state = 4},
  [7831] = {.lex_state = 1288, .external_lex_state = 4},
  [7832] = {.lex_state = 1288, .external_lex_state = 4},
  [7833] = {.lex_state = 467, .external_lex_state = 2},
  [7834] = {.lex_state = 467, .external_lex_state = 2},
  [7835] = {.lex_state = 467, .external_lex_state = 2},
  [7836] = {.lex_state = 467, .external_lex_state = 2},
  [7837] = {.lex_state = 467, .external_lex_state = 2},
  [7838] = {.lex_state = 467, .external_lex_state = 2},
  [7839] = {.lex_state = 467, .external_lex_state = 2},
  [7840] = {.lex_state = 467, .external_lex_state = 2},
  [7841] = {.lex_state = 467, .external_lex_state = 2},
  [7842] = {.lex_state = 467, .external_lex_state = 2},
  [7843] = {.lex_state = 467, .external_lex_state = 2},
  [7844] = {.lex_state = 467, .external_lex_state = 2},
  [7845] = {.lex_state = 467, .external_lex_state = 2},
  [7846] = {.lex_state = 968, .external_lex_state = 12},
  [7847] = {.lex_state = 1290, .external_lex_state = 4},
  [7848] = {.lex_state = 467, .external_lex_state = 39},
  [7849] = {.lex_state = 467, .external_lex_state = 2},
  [7850] = {.lex_state = 467, .external_lex_state = 2},
  [7851] = {.lex_state = 467, .external_lex_state = 2},
  [7852] = {.lex_state = 467, .external_lex_state = 2},
  [7853] = {.lex_state = 467, .external_lex_state = 2},
  [7854] = {.lex_state = 467, .external_lex_state = 2},
  [7855] = {.lex_state = 467, .external_lex_state = 2},
  [7856] = {.lex_state = 1398, .external_lex_state = 13},
  [7857] = {.lex_state = 1398, .external_lex_state = 13},
  [7858] = {.lex_state = 549},
  [7859] = {.lex_state = 1073, .external_lex_state = 4},
  [7860] = {.lex_state = 1071, .external_lex_state = 13},
  [7861] = {.lex_state = 467, .external_lex_state = 2},
  [7862] = {.lex_state = 467, .external_lex_state = 2},
  [7863] = {.lex_state = 467, .external_lex_state = 2},
  [7864] = {.lex_state = 467, .external_lex_state = 2},
  [7865] = {.lex_state = 1296, .external_lex_state = 4},
  [7866] = {.lex_state = 549},
  [7867] = {.lex_state = 1083, .external_lex_state = 4},
  [7868] = {.lex_state = 1296, .external_lex_state = 4},
  [7869] = {.lex_state = 970, .external_lex_state = 10},
  [7870] = {.lex_state = 970, .external_lex_state = 10},
  [7871] = {.lex_state = 970, .external_lex_state = 10},
  [7872] = {.lex_state = 970, .external_lex_state = 10},
  [7873] = {.lex_state = 1294, .external_lex_state = 4},
  [7874] = {.lex_state = 1296, .external_lex_state = 4},
  [7875] = {.lex_state = 467, .external_lex_state = 2},
  [7876] = {.lex_state = 467, .external_lex_state = 2},
  [7877] = {.lex_state = 467, .external_lex_state = 2},
  [7878] = {.lex_state = 972, .external_lex_state = 37},
  [7879] = {.lex_state = 1294, .external_lex_state = 4},
  [7880] = {.lex_state = 1294, .external_lex_state = 4},
  [7881] = {.lex_state = 638, .external_lex_state = 22},
  [7882] = {.lex_state = 1300, .external_lex_state = 36},
  [7883] = {.lex_state = 1294, .external_lex_state = 4},
  [7884] = {.lex_state = 1294, .external_lex_state = 4},
  [7885] = {.lex_state = 467, .external_lex_state = 2},
  [7886] = {.lex_state = 467, .external_lex_state = 2},
  [7887] = {.lex_state = 467, .external_lex_state = 2},
  [7888] = {.lex_state = 467, .external_lex_state = 2},
  [7889] = {.lex_state = 467, .external_lex_state = 2},
  [7890] = {.lex_state = 467, .external_lex_state = 2},
  [7891] = {.lex_state = 467, .external_lex_state = 2},
  [7892] = {.lex_state = 467, .external_lex_state = 2},
  [7893] = {.lex_state = 467, .external_lex_state = 2},
  [7894] = {.lex_state = 467, .external_lex_state = 2},
  [7895] = {.lex_state = 467, .external_lex_state = 2},
  [7896] = {.lex_state = 467, .external_lex_state = 2},
  [7897] = {.lex_state = 467, .external_lex_state = 2},
  [7898] = {.lex_state = 467, .external_lex_state = 2},
  [7899] = {.lex_state = 467, .external_lex_state = 2},
  [7900] = {.lex_state = 467, .external_lex_state = 2},
  [7901] = {.lex_state = 972, .external_lex_state = 37},
  [7902] = {.lex_state = 1302, .external_lex_state = 4},
  [7903] = {.lex_state = 1302, .external_lex_state = 4},
  [7904] = {.lex_state = 638, .external_lex_state = 22},
  [7905] = {.lex_state = 1306, .external_lex_state = 36},
  [7906] = {.lex_state = 968, .external_lex_state = 12},
  [7907] = {.lex_state = 1296, .external_lex_state = 4},
  [7908] = {.lex_state = 467, .external_lex_state = 39},
  [7909] = {.lex_state = 467, .external_lex_state = 2},
  [7910] = {.lex_state = 467, .external_lex_state = 2},
  [7911] = {.lex_state = 746, .external_lex_state = 2},
  [7912] = {.lex_state = 1081, .external_lex_state = 13},
  [7913] = {.lex_state = 1081, .external_lex_state = 13},
  [7914] = {.lex_state = 1081, .external_lex_state = 13},
  [7915] = {.lex_state = 1081, .external_lex_state = 13},
  [7916] = {.lex_state = 1081, .external_lex_state = 13},
  [7917] = {.lex_state = 1081, .external_lex_state = 13},
  [7918] = {.lex_state = 1081, .external_lex_state = 13},
  [7919] = {.lex_state = 1081, .external_lex_state = 13},
  [7920] = {.lex_state = 1081, .external_lex_state = 13},
  [7921] = {.lex_state = 1081, .external_lex_state = 13},
  [7922] = {.lex_state = 1081, .external_lex_state = 13},
  [7923] = {.lex_state = 1116, .external_lex_state = 30},
  [7924] = {.lex_state = 1081, .external_lex_state = 13},
  [7925] = {.lex_state = 1081, .external_lex_state = 13},
  [7926] = {.lex_state = 1081, .external_lex_state = 13},
  [7927] = {.lex_state = 1081, .external_lex_state = 13},
  [7928] = {.lex_state = 1081, .external_lex_state = 13},
  [7929] = {.lex_state = 467, .external_lex_state = 2},
  [7930] = {.lex_state = 722, .external_lex_state = 10},
  [7931] = {.lex_state = 722, .external_lex_state = 10},
  [7932] = {.lex_state = 722, .external_lex_state = 10},
  [7933] = {.lex_state = 722, .external_lex_state = 10},
  [7934] = {.lex_state = 467, .external_lex_state = 2},
  [7935] = {.lex_state = 467, .external_lex_state = 2},
  [7936] = {.lex_state = 467, .external_lex_state = 2},
  [7937] = {.lex_state = 1304, .external_lex_state = 4},
  [7938] = {.lex_state = 722, .external_lex_state = 10},
  [7939] = {.lex_state = 549},
  [7940] = {.lex_state = 1304, .external_lex_state = 4},
  [7941] = {.lex_state = 1304, .external_lex_state = 4},
  [7942] = {.lex_state = 972, .external_lex_state = 10},
  [7943] = {.lex_state = 972, .external_lex_state = 10},
  [7944] = {.lex_state = 972, .external_lex_state = 10},
  [7945] = {.lex_state = 972, .external_lex_state = 10},
  [7946] = {.lex_state = 1302, .external_lex_state = 4},
  [7947] = {.lex_state = 1304, .external_lex_state = 4},
  [7948] = {.lex_state = 1302, .external_lex_state = 4},
  [7949] = {.lex_state = 1302, .external_lex_state = 4},
  [7950] = {.lex_state = 467, .external_lex_state = 2},
  [7951] = {.lex_state = 467, .external_lex_state = 2},
  [7952] = {.lex_state = 467, .external_lex_state = 2},
  [7953] = {.lex_state = 467, .external_lex_state = 2},
  [7954] = {.lex_state = 467, .external_lex_state = 2},
  [7955] = {.lex_state = 467, .external_lex_state = 2},
  [7956] = {.lex_state = 467, .external_lex_state = 2},
  [7957] = {.lex_state = 467, .external_lex_state = 2},
  [7958] = {.lex_state = 467, .external_lex_state = 2},
  [7959] = {.lex_state = 467, .external_lex_state = 2},
  [7960] = {.lex_state = 467, .external_lex_state = 2},
  [7961] = {.lex_state = 467, .external_lex_state = 2},
  [7962] = {.lex_state = 467, .external_lex_state = 2},
  [7963] = {.lex_state = 968, .external_lex_state = 12},
  [7964] = {.lex_state = 1304, .external_lex_state = 4},
  [7965] = {.lex_state = 467, .external_lex_state = 39},
  [7966] = {.lex_state = 467, .external_lex_state = 2},
  [7967] = {.lex_state = 467, .external_lex_state = 2},
  [7968] = {.lex_state = 467, .external_lex_state = 2},
  [7969] = {.lex_state = 467, .external_lex_state = 2},
  [7970] = {.lex_state = 467, .external_lex_state = 2},
  [7971] = {.lex_state = 467, .external_lex_state = 2},
  [7972] = {.lex_state = 467, .external_lex_state = 2},
  [7973] = {.lex_state = 1400, .external_lex_state = 13},
  [7974] = {.lex_state = 1400, .external_lex_state = 13},
  [7975] = {.lex_state = 549},
  [7976] = {.lex_state = 1083, .external_lex_state = 4},
  [7977] = {.lex_state = 1081, .external_lex_state = 13},
  [7978] = {.lex_state = 0},
  [7979] = {.lex_state = 467, .external_lex_state = 2},
  [7980] = {.lex_state = 1087, .external_lex_state = 4},
  [7981] = {.lex_state = 1087, .external_lex_state = 4},
  [7982] = {.lex_state = 1087, .external_lex_state = 4},
  [7983] = {.lex_state = 467, .external_lex_state = 2},
  [7984] = {.lex_state = 467, .external_lex_state = 2},
  [7985] = {.lex_state = 467, .external_lex_state = 2},
  [7986] = {.lex_state = 467, .external_lex_state = 2},
  [7987] = {.lex_state = 467, .external_lex_state = 2},
  [7988] = {.lex_state = 467, .external_lex_state = 2},
  [7989] = {.lex_state = 467, .external_lex_state = 2},
  [7990] = {.lex_state = 467, .external_lex_state = 2},
  [7991] = {.lex_state = 467, .external_lex_state = 2},
  [7992] = {.lex_state = 467, .external_lex_state = 2},
  [7993] = {.lex_state = 467, .external_lex_state = 2},
  [7994] = {.lex_state = 467, .external_lex_state = 2},
  [7995] = {.lex_state = 467, .external_lex_state = 39},
  [7996] = {.lex_state = 467, .external_lex_state = 2},
  [7997] = {.lex_state = 1087, .external_lex_state = 4},
  [7998] = {.lex_state = 1085, .external_lex_state = 4},
  [7999] = {.lex_state = 1085, .external_lex_state = 4},
  [8000] = {.lex_state = 1085, .external_lex_state = 4},
  [8001] = {.lex_state = 1085, .external_lex_state = 4},
  [8002] = {.lex_state = 1085, .external_lex_state = 4},
  [8003] = {.lex_state = 1085, .external_lex_state = 4},
  [8004] = {.lex_state = 1116, .external_lex_state = 30},
  [8005] = {.lex_state = 1085, .external_lex_state = 4},
  [8006] = {.lex_state = 1085, .external_lex_state = 4},
  [8007] = {.lex_state = 1085, .external_lex_state = 4},
  [8008] = {.lex_state = 1085, .external_lex_state = 4},
  [8009] = {.lex_state = 1085, .external_lex_state = 4},
  [8010] = {.lex_state = 968, .external_lex_state = 70},
  [8011] = {.lex_state = 968, .external_lex_state = 12},
  [8012] = {.lex_state = 1085, .external_lex_state = 4},
  [8013] = {.lex_state = 1085, .external_lex_state = 4},
  [8014] = {.lex_state = 1085, .external_lex_state = 4},
  [8015] = {.lex_state = 1087, .external_lex_state = 4},
  [8016] = {.lex_state = 1308, .external_lex_state = 13},
  [8017] = {.lex_state = 1308, .external_lex_state = 13},
  [8018] = {.lex_state = 1308, .external_lex_state = 13},
  [8019] = {.lex_state = 1308, .external_lex_state = 13},
  [8020] = {.lex_state = 467, .external_lex_state = 2},
  [8021] = {.lex_state = 467, .external_lex_state = 2},
  [8022] = {.lex_state = 467, .external_lex_state = 2},
  [8023] = {.lex_state = 467, .external_lex_state = 2},
  [8024] = {.lex_state = 467, .external_lex_state = 2},
  [8025] = {.lex_state = 467, .external_lex_state = 2},
  [8026] = {.lex_state = 467, .external_lex_state = 2},
  [8027] = {.lex_state = 467, .external_lex_state = 2},
  [8028] = {.lex_state = 467, .external_lex_state = 2},
  [8029] = {.lex_state = 467, .external_lex_state = 2},
  [8030] = {.lex_state = 467, .external_lex_state = 2},
  [8031] = {.lex_state = 467, .external_lex_state = 2},
  [8032] = {.lex_state = 467, .external_lex_state = 39},
  [8033] = {.lex_state = 1308, .external_lex_state = 13},
  [8034] = {.lex_state = 467, .external_lex_state = 39},
  [8035] = {.lex_state = 467, .external_lex_state = 2},
  [8036] = {.lex_state = 545, .external_lex_state = 6},
  [8037] = {.lex_state = 763, .external_lex_state = 7},
  [8038] = {.lex_state = 763, .external_lex_state = 7},
  [8039] = {.lex_state = 767, .external_lex_state = 41},
  [8040] = {.lex_state = 769, .external_lex_state = 42},
  [8041] = {.lex_state = 769, .external_lex_state = 42},
  [8042] = {.lex_state = 769, .external_lex_state = 42},
  [8043] = {.lex_state = 769, .external_lex_state = 42},
  [8044] = {.lex_state = 467, .external_lex_state = 2},
  [8045] = {.lex_state = 467, .external_lex_state = 2},
  [8046] = {.lex_state = 467, .external_lex_state = 2},
  [8047] = {.lex_state = 467, .external_lex_state = 2},
  [8048] = {.lex_state = 1310, .external_lex_state = 42},
  [8049] = {.lex_state = 549},
  [8050] = {.lex_state = 1097, .external_lex_state = 42},
  [8051] = {.lex_state = 1310, .external_lex_state = 42},
  [8052] = {.lex_state = 1310, .external_lex_state = 42},
  [8053] = {.lex_state = 467, .external_lex_state = 2},
  [8054] = {.lex_state = 968, .external_lex_state = 12},
  [8055] = {.lex_state = 1310, .external_lex_state = 42},
  [8056] = {.lex_state = 467, .external_lex_state = 2},
  [8057] = {.lex_state = 1093, .external_lex_state = 46},
  [8058] = {.lex_state = 1093, .external_lex_state = 46},
  [8059] = {.lex_state = 1093, .external_lex_state = 46},
  [8060] = {.lex_state = 1093, .external_lex_state = 46},
  [8061] = {.lex_state = 1093, .external_lex_state = 46},
  [8062] = {.lex_state = 1093, .external_lex_state = 46},
  [8063] = {.lex_state = 1116, .external_lex_state = 30},
  [8064] = {.lex_state = 1093, .external_lex_state = 46},
  [8065] = {.lex_state = 1093, .external_lex_state = 46},
  [8066] = {.lex_state = 1093, .external_lex_state = 46},
  [8067] = {.lex_state = 1093, .external_lex_state = 46},
  [8068] = {.lex_state = 1093, .external_lex_state = 46},
  [8069] = {.lex_state = 467, .external_lex_state = 2},
  [8070] = {.lex_state = 1095, .external_lex_state = 45},
  [8071] = {.lex_state = 1095, .external_lex_state = 45},
  [8072] = {.lex_state = 1095, .external_lex_state = 45},
  [8073] = {.lex_state = 1095, .external_lex_state = 45},
  [8074] = {.lex_state = 467, .external_lex_state = 2},
  [8075] = {.lex_state = 467, .external_lex_state = 2},
  [8076] = {.lex_state = 467, .external_lex_state = 2},
  [8077] = {.lex_state = 1312, .external_lex_state = 42},
  [8078] = {.lex_state = 1095, .external_lex_state = 45},
  [8079] = {.lex_state = 549},
  [8080] = {.lex_state = 1312, .external_lex_state = 42},
  [8081] = {.lex_state = 1312, .external_lex_state = 42},
  [8082] = {.lex_state = 1312, .external_lex_state = 42},
  [8083] = {.lex_state = 467, .external_lex_state = 2},
  [8084] = {.lex_state = 968, .external_lex_state = 12},
  [8085] = {.lex_state = 1312, .external_lex_state = 42},
  [8086] = {.lex_state = 467, .external_lex_state = 2},
  [8087] = {.lex_state = 467, .external_lex_state = 2},
  [8088] = {.lex_state = 1093, .external_lex_state = 46},
  [8089] = {.lex_state = 1093, .external_lex_state = 46},
  [8090] = {.lex_state = 1093, .external_lex_state = 46},
  [8091] = {.lex_state = 769, .external_lex_state = 42},
  [8092] = {.lex_state = 585},
  [8093] = {.lex_state = 769, .external_lex_state = 42},
  [8094] = {.lex_state = 769, .external_lex_state = 42},
  [8095] = {.lex_state = 0},
  [8096] = {.lex_state = 565, .external_lex_state = 2},
  [8097] = {.lex_state = 565, .external_lex_state = 2},
  [8098] = {.lex_state = 769, .external_lex_state = 42},
  [8099] = {.lex_state = 0},
  [8100] = {.lex_state = 769, .external_lex_state = 42},
  [8101] = {.lex_state = 0},
  [8102] = {.lex_state = 1099, .external_lex_state = 42},
  [8103] = {.lex_state = 1099, .external_lex_state = 42},
  [8104] = {.lex_state = 1099, .external_lex_state = 42},
  [8105] = {.lex_state = 1099, .external_lex_state = 42},
  [8106] = {.lex_state = 1099, .external_lex_state = 42},
  [8107] = {.lex_state = 1099, .external_lex_state = 42},
  [8108] = {.lex_state = 1099, .external_lex_state = 42},
  [8109] = {.lex_state = 1116, .external_lex_state = 30},
  [8110] = {.lex_state = 1099, .external_lex_state = 42},
  [8111] = {.lex_state = 1099, .external_lex_state = 42},
  [8112] = {.lex_state = 1099, .external_lex_state = 42},
  [8113] = {.lex_state = 1099, .external_lex_state = 42},
  [8114] = {.lex_state = 1099, .external_lex_state = 42},
  [8115] = {.lex_state = 968, .external_lex_state = 70},
  [8116] = {.lex_state = 968, .external_lex_state = 12},
  [8117] = {.lex_state = 1099, .external_lex_state = 42},
  [8118] = {.lex_state = 1099, .external_lex_state = 42},
  [8119] = {.lex_state = 1099, .external_lex_state = 42},
  [8120] = {.lex_state = 1099, .external_lex_state = 42},
  [8121] = {.lex_state = 769, .external_lex_state = 42},
  [8122] = {.lex_state = 0},
  [8123] = {.lex_state = 0},
  [8124] = {.lex_state = 985, .external_lex_state = 2},
  [8125] = {.lex_state = 769, .external_lex_state = 42},
  [8126] = {.lex_state = 0},
  [8127] = {.lex_state = 0},
  [8128] = {.lex_state = 769, .external_lex_state = 42},
  [8129] = {.lex_state = 0},
  [8130] = {.lex_state = 769, .external_lex_state = 42},
  [8131] = {.lex_state = 0},
  [8132] = {.lex_state = 746, .external_lex_state = 2},
  [8133] = {.lex_state = 769, .external_lex_state = 42},
  [8134] = {.lex_state = 0},
  [8135] = {.lex_state = 769, .external_lex_state = 42},
  [8136] = {.lex_state = 769, .external_lex_state = 42},
  [8137] = {.lex_state = 0},
  [8138] = {.lex_state = 769, .external_lex_state = 42},
  [8139] = {.lex_state = 0},
  [8140] = {.lex_state = 746, .external_lex_state = 2},
  [8141] = {.lex_state = 746, .external_lex_state = 11},
  [8142] = {.lex_state = 467, .external_lex_state = 2},
  [8143] = {.lex_state = 777, .external_lex_state = 42},
  [8144] = {.lex_state = 0},
  [8145] = {.lex_state = 775, .external_lex_state = 45},
  [8146] = {.lex_state = 960, .external_lex_state = 31},
  [8147] = {.lex_state = 0},
  [8148] = {.lex_state = 777, .external_lex_state = 42},
  [8149] = {.lex_state = 0},
  [8150] = {.lex_state = 777, .external_lex_state = 42},
  [8151] = {.lex_state = 0},
  [8152] = {.lex_state = 746, .external_lex_state = 2},
  [8153] = {.lex_state = 746, .external_lex_state = 11},
  [8154] = {.lex_state = 1101, .external_lex_state = 42},
  [8155] = {.lex_state = 1101, .external_lex_state = 42},
  [8156] = {.lex_state = 1101, .external_lex_state = 42},
  [8157] = {.lex_state = 1101, .external_lex_state = 42},
  [8158] = {.lex_state = 1101, .external_lex_state = 42},
  [8159] = {.lex_state = 1101, .external_lex_state = 42},
  [8160] = {.lex_state = 1101, .external_lex_state = 42},
  [8161] = {.lex_state = 1116, .external_lex_state = 30},
  [8162] = {.lex_state = 1101, .external_lex_state = 42},
  [8163] = {.lex_state = 1101, .external_lex_state = 42},
  [8164] = {.lex_state = 1101, .external_lex_state = 42},
  [8165] = {.lex_state = 1101, .external_lex_state = 42},
  [8166] = {.lex_state = 1101, .external_lex_state = 42},
  [8167] = {.lex_state = 968, .external_lex_state = 70},
  [8168] = {.lex_state = 968, .external_lex_state = 12},
  [8169] = {.lex_state = 1101, .external_lex_state = 42},
  [8170] = {.lex_state = 1101, .external_lex_state = 42},
  [8171] = {.lex_state = 1101, .external_lex_state = 42},
  [8172] = {.lex_state = 1101, .external_lex_state = 42},
  [8173] = {.lex_state = 617, .external_lex_state = 55},
  [8174] = {.lex_state = 461, .external_lex_state = 2},
  [8175] = {.lex_state = 1316, .external_lex_state = 31},
  [8176] = {.lex_state = 781, .external_lex_state = 46},
  [8177] = {.lex_state = 467, .external_lex_state = 39},
  [8178] = {.lex_state = 781, .external_lex_state = 46},
  [8179] = {.lex_state = 631, .external_lex_state = 2},
  [8180] = {.lex_state = 545},
  [8181] = {.lex_state = 585},
  [8182] = {.lex_state = 1402, .external_lex_state = 2},
  [8183] = {.lex_state = 467, .external_lex_state = 2},
  [8184] = {.lex_state = 797},
  [8185] = {.lex_state = 585},
  [8186] = {.lex_state = 458, .external_lex_state = 4},
  [8187] = {.lex_state = 585},
  [8188] = {.lex_state = 0},
  [8189] = {.lex_state = 1228, .external_lex_state = 30},
  [8190] = {.lex_state = 1228, .external_lex_state = 30},
  [8191] = {.lex_state = 585},
  [8192] = {.lex_state = 0},
  [8193] = {.lex_state = 661},
  [8194] = {.lex_state = 804},
  [8195] = {.lex_state = 0},
  [8196] = {.lex_state = 631, .external_lex_state = 2},
  [8197] = {.lex_state = 804},
  [8198] = {.lex_state = 0},
  [8199] = {.lex_state = 746, .external_lex_state = 11},
  [8200] = {.lex_state = 800, .external_lex_state = 11},
  [8201] = {.lex_state = 804},
  [8202] = {.lex_state = 800, .external_lex_state = 11},
  [8203] = {.lex_state = 617, .external_lex_state = 55},
  [8204] = {.lex_state = 746, .external_lex_state = 11},
  [8205] = {.lex_state = 545},
  [8206] = {.lex_state = 585},
  [8207] = {.lex_state = 797},
  [8208] = {.lex_state = 585},
  [8209] = {.lex_state = 458, .external_lex_state = 4},
  [8210] = {.lex_state = 0},
  [8211] = {.lex_state = 746, .external_lex_state = 2},
  [8212] = {.lex_state = 1324, .external_lex_state = 30},
  [8213] = {.lex_state = 1324, .external_lex_state = 30},
  [8214] = {.lex_state = 1324, .external_lex_state = 30},
  [8215] = {.lex_state = 467, .external_lex_state = 2},
  [8216] = {.lex_state = 467, .external_lex_state = 2},
  [8217] = {.lex_state = 467, .external_lex_state = 2},
  [8218] = {.lex_state = 467, .external_lex_state = 2},
  [8219] = {.lex_state = 467, .external_lex_state = 2},
  [8220] = {.lex_state = 467, .external_lex_state = 2},
  [8221] = {.lex_state = 467, .external_lex_state = 2},
  [8222] = {.lex_state = 467, .external_lex_state = 2},
  [8223] = {.lex_state = 467, .external_lex_state = 2},
  [8224] = {.lex_state = 467, .external_lex_state = 2},
  [8225] = {.lex_state = 467, .external_lex_state = 2},
  [8226] = {.lex_state = 467, .external_lex_state = 2},
  [8227] = {.lex_state = 1216, .external_lex_state = 20},
  [8228] = {.lex_state = 467, .external_lex_state = 39},
  [8229] = {.lex_state = 467, .external_lex_state = 2},
  [8230] = {.lex_state = 0},
  [8231] = {.lex_state = 274, .external_lex_state = 2},
  [8232] = {.lex_state = 467, .external_lex_state = 2},
  [8233] = {.lex_state = 1114, .external_lex_state = 45},
  [8234] = {.lex_state = 1114, .external_lex_state = 45},
  [8235] = {.lex_state = 1114, .external_lex_state = 45},
  [8236] = {.lex_state = 1114, .external_lex_state = 45},
  [8237] = {.lex_state = 467, .external_lex_state = 2},
  [8238] = {.lex_state = 467, .external_lex_state = 2},
  [8239] = {.lex_state = 467, .external_lex_state = 2},
  [8240] = {.lex_state = 1332, .external_lex_state = 42},
  [8241] = {.lex_state = 1118, .external_lex_state = 45},
  [8242] = {.lex_state = 549},
  [8243] = {.lex_state = 1120, .external_lex_state = 42},
  [8244] = {.lex_state = 1332, .external_lex_state = 42},
  [8245] = {.lex_state = 1326, .external_lex_state = 45},
  [8246] = {.lex_state = 1326, .external_lex_state = 45},
  [8247] = {.lex_state = 1326, .external_lex_state = 45},
  [8248] = {.lex_state = 1326, .external_lex_state = 45},
  [8249] = {.lex_state = 1330, .external_lex_state = 42},
  [8250] = {.lex_state = 1332, .external_lex_state = 42},
  [8251] = {.lex_state = 467, .external_lex_state = 2},
  [8252] = {.lex_state = 467, .external_lex_state = 2},
  [8253] = {.lex_state = 467, .external_lex_state = 2},
  [8254] = {.lex_state = 1328, .external_lex_state = 43},
  [8255] = {.lex_state = 1330, .external_lex_state = 42},
  [8256] = {.lex_state = 1330, .external_lex_state = 42},
  [8257] = {.lex_state = 638, .external_lex_state = 22},
  [8258] = {.lex_state = 1336, .external_lex_state = 41},
  [8259] = {.lex_state = 1330, .external_lex_state = 42},
  [8260] = {.lex_state = 1330, .external_lex_state = 42},
  [8261] = {.lex_state = 467, .external_lex_state = 2},
  [8262] = {.lex_state = 467, .external_lex_state = 2},
  [8263] = {.lex_state = 467, .external_lex_state = 2},
  [8264] = {.lex_state = 467, .external_lex_state = 2},
  [8265] = {.lex_state = 467, .external_lex_state = 2},
  [8266] = {.lex_state = 467, .external_lex_state = 2},
  [8267] = {.lex_state = 467, .external_lex_state = 2},
  [8268] = {.lex_state = 467, .external_lex_state = 2},
  [8269] = {.lex_state = 467, .external_lex_state = 2},
  [8270] = {.lex_state = 467, .external_lex_state = 2},
  [8271] = {.lex_state = 467, .external_lex_state = 2},
  [8272] = {.lex_state = 467, .external_lex_state = 2},
  [8273] = {.lex_state = 467, .external_lex_state = 2},
  [8274] = {.lex_state = 467, .external_lex_state = 2},
  [8275] = {.lex_state = 467, .external_lex_state = 2},
  [8276] = {.lex_state = 467, .external_lex_state = 2},
  [8277] = {.lex_state = 1328, .external_lex_state = 43},
  [8278] = {.lex_state = 1338, .external_lex_state = 42},
  [8279] = {.lex_state = 1338, .external_lex_state = 42},
  [8280] = {.lex_state = 638, .external_lex_state = 22},
  [8281] = {.lex_state = 1342, .external_lex_state = 41},
  [8282] = {.lex_state = 968, .external_lex_state = 12},
  [8283] = {.lex_state = 1332, .external_lex_state = 42},
  [8284] = {.lex_state = 467, .external_lex_state = 39},
  [8285] = {.lex_state = 467, .external_lex_state = 2},
  [8286] = {.lex_state = 467, .external_lex_state = 2},
  [8287] = {.lex_state = 1116, .external_lex_state = 30},
  [8288] = {.lex_state = 1116, .external_lex_state = 30},
  [8289] = {.lex_state = 1116, .external_lex_state = 30},
  [8290] = {.lex_state = 1116, .external_lex_state = 30},
  [8291] = {.lex_state = 1116, .external_lex_state = 30},
  [8292] = {.lex_state = 1116, .external_lex_state = 30},
  [8293] = {.lex_state = 1116, .external_lex_state = 30},
  [8294] = {.lex_state = 599, .external_lex_state = 13},
  [8295] = {.lex_state = 1116, .external_lex_state = 30},
  [8296] = {.lex_state = 1116, .external_lex_state = 30},
  [8297] = {.lex_state = 1116, .external_lex_state = 30},
  [8298] = {.lex_state = 1116, .external_lex_state = 30},
  [8299] = {.lex_state = 1116, .external_lex_state = 30},
  [8300] = {.lex_state = 467, .external_lex_state = 2},
  [8301] = {.lex_state = 1118, .external_lex_state = 45},
  [8302] = {.lex_state = 1118, .external_lex_state = 45},
  [8303] = {.lex_state = 1118, .external_lex_state = 45},
  [8304] = {.lex_state = 1118, .external_lex_state = 45},
  [8305] = {.lex_state = 467, .external_lex_state = 2},
  [8306] = {.lex_state = 467, .external_lex_state = 2},
  [8307] = {.lex_state = 467, .external_lex_state = 2},
  [8308] = {.lex_state = 1340, .external_lex_state = 42},
  [8309] = {.lex_state = 1118, .external_lex_state = 45},
  [8310] = {.lex_state = 549},
  [8311] = {.lex_state = 1340, .external_lex_state = 42},
  [8312] = {.lex_state = 1340, .external_lex_state = 42},
  [8313] = {.lex_state = 1328, .external_lex_state = 45},
  [8314] = {.lex_state = 1328, .external_lex_state = 45},
  [8315] = {.lex_state = 1328, .external_lex_state = 45},
  [8316] = {.lex_state = 1328, .external_lex_state = 45},
  [8317] = {.lex_state = 1338, .external_lex_state = 42},
  [8318] = {.lex_state = 1340, .external_lex_state = 42},
  [8319] = {.lex_state = 1338, .external_lex_state = 42},
  [8320] = {.lex_state = 1338, .external_lex_state = 42},
  [8321] = {.lex_state = 467, .external_lex_state = 2},
  [8322] = {.lex_state = 467, .external_lex_state = 2},
  [8323] = {.lex_state = 467, .external_lex_state = 2},
  [8324] = {.lex_state = 467, .external_lex_state = 2},
  [8325] = {.lex_state = 467, .external_lex_state = 2},
  [8326] = {.lex_state = 467, .external_lex_state = 2},
  [8327] = {.lex_state = 467, .external_lex_state = 2},
  [8328] = {.lex_state = 467, .external_lex_state = 2},
  [8329] = {.lex_state = 467, .external_lex_state = 2},
  [8330] = {.lex_state = 467, .external_lex_state = 2},
  [8331] = {.lex_state = 467, .external_lex_state = 2},
  [8332] = {.lex_state = 467, .external_lex_state = 2},
  [8333] = {.lex_state = 467, .external_lex_state = 2},
  [8334] = {.lex_state = 968, .external_lex_state = 12},
  [8335] = {.lex_state = 1340, .external_lex_state = 42},
  [8336] = {.lex_state = 467, .external_lex_state = 39},
  [8337] = {.lex_state = 467, .external_lex_state = 2},
  [8338] = {.lex_state = 467, .external_lex_state = 2},
  [8339] = {.lex_state = 467, .external_lex_state = 2},
  [8340] = {.lex_state = 467, .external_lex_state = 2},
  [8341] = {.lex_state = 467, .external_lex_state = 2},
  [8342] = {.lex_state = 467, .external_lex_state = 2},
  [8343] = {.lex_state = 467, .external_lex_state = 2},
  [8344] = {.lex_state = 1404, .external_lex_state = 30},
  [8345] = {.lex_state = 1404, .external_lex_state = 30},
  [8346] = {.lex_state = 549},
  [8347] = {.lex_state = 1120, .external_lex_state = 20},
  [8348] = {.lex_state = 1116, .external_lex_state = 30},
  [8349] = {.lex_state = 575, .external_lex_state = 4},
  [8350] = {.lex_state = 570, .external_lex_state = 10},
  [8351] = {.lex_state = 0},
  [8352] = {.lex_state = 808, .external_lex_state = 36},
  [8353] = {.lex_state = 708, .external_lex_state = 4},
  [8354] = {.lex_state = 708, .external_lex_state = 4},
  [8355] = {.lex_state = 708, .external_lex_state = 4},
  [8356] = {.lex_state = 708, .external_lex_state = 4},
  [8357] = {.lex_state = 1122, .external_lex_state = 3},
  [8358] = {.lex_state = 617, .external_lex_state = 16},
  [8359] = {.lex_state = 575, .external_lex_state = 4},
  [8360] = {.lex_state = 617, .external_lex_state = 16},
  [8361] = {.lex_state = 575, .external_lex_state = 4},
  [8362] = {.lex_state = 617, .external_lex_state = 16},
  [8363] = {.lex_state = 575, .external_lex_state = 4},
  [8364] = {.lex_state = 617, .external_lex_state = 16},
  [8365] = {.lex_state = 575, .external_lex_state = 4},
  [8366] = {.lex_state = 617, .external_lex_state = 16},
  [8367] = {.lex_state = 575, .external_lex_state = 4},
  [8368] = {.lex_state = 0},
  [8369] = {.lex_state = 888, .external_lex_state = 30},
  [8370] = {.lex_state = 545, .external_lex_state = 6},
  [8371] = {.lex_state = 565, .external_lex_state = 2},
  [8372] = {.lex_state = 575, .external_lex_state = 4},
  [8373] = {.lex_state = 942, .external_lex_state = 13},
  [8374] = {.lex_state = 946, .external_lex_state = 7},
  [8375] = {.lex_state = 565, .external_lex_state = 2},
  [8376] = {.lex_state = 575, .external_lex_state = 4},
  [8377] = {.lex_state = 565, .external_lex_state = 2},
  [8378] = {.lex_state = 575, .external_lex_state = 38},
  [8379] = {.lex_state = 985, .external_lex_state = 11},
  [8380] = {.lex_state = 996, .external_lex_state = 2},
  [8381] = {.lex_state = 746, .external_lex_state = 2},
  [8382] = {.lex_state = 746, .external_lex_state = 2},
  [8383] = {.lex_state = 1020, .external_lex_state = 7},
  [8384] = {.lex_state = 575, .external_lex_state = 4},
  [8385] = {.lex_state = 0},
  [8386] = {.lex_state = 734, .external_lex_state = 7},
  [8387] = {.lex_state = 575, .external_lex_state = 4},
  [8388] = {.lex_state = 0},
  [8389] = {.lex_state = 0},
  [8390] = {.lex_state = 575, .external_lex_state = 4},
  [8391] = {.lex_state = 816, .external_lex_state = 4},
  [8392] = {.lex_state = 816, .external_lex_state = 4},
  [8393] = {.lex_state = 816, .external_lex_state = 4},
  [8394] = {.lex_state = 816, .external_lex_state = 4},
  [8395] = {.lex_state = 816, .external_lex_state = 4},
  [8396] = {.lex_state = 816, .external_lex_state = 4},
  [8397] = {.lex_state = 1116, .external_lex_state = 30},
  [8398] = {.lex_state = 816, .external_lex_state = 4},
  [8399] = {.lex_state = 816, .external_lex_state = 4},
  [8400] = {.lex_state = 816, .external_lex_state = 4},
  [8401] = {.lex_state = 816, .external_lex_state = 4},
  [8402] = {.lex_state = 816, .external_lex_state = 4},
  [8403] = {.lex_state = 816, .external_lex_state = 4},
  [8404] = {.lex_state = 575, .external_lex_state = 4},
  [8405] = {.lex_state = 575, .external_lex_state = 4},
  [8406] = {.lex_state = 816, .external_lex_state = 4},
  [8407] = {.lex_state = 816, .external_lex_state = 4},
  [8408] = {.lex_state = 1122, .external_lex_state = 3},
  [8409] = {.lex_state = 575, .external_lex_state = 4},
  [8410] = {.lex_state = 808, .external_lex_state = 3},
  [8411] = {.lex_state = 617, .external_lex_state = 16},
  [8412] = {.lex_state = 1142, .external_lex_state = 4},
  [8413] = {.lex_state = 1142, .external_lex_state = 4},
  [8414] = {.lex_state = 1142, .external_lex_state = 4},
  [8415] = {.lex_state = 467, .external_lex_state = 2},
  [8416] = {.lex_state = 968, .external_lex_state = 12},
  [8417] = {.lex_state = 1142, .external_lex_state = 4},
  [8418] = {.lex_state = 467, .external_lex_state = 2},
  [8419] = {.lex_state = 575, .external_lex_state = 4},
  [8420] = {.lex_state = 1130, .external_lex_state = 13},
  [8421] = {.lex_state = 1130, .external_lex_state = 13},
  [8422] = {.lex_state = 1130, .external_lex_state = 13},
  [8423] = {.lex_state = 1130, .external_lex_state = 13},
  [8424] = {.lex_state = 1130, .external_lex_state = 13},
  [8425] = {.lex_state = 1130, .external_lex_state = 13},
  [8426] = {.lex_state = 1116, .external_lex_state = 30},
  [8427] = {.lex_state = 1130, .external_lex_state = 13},
  [8428] = {.lex_state = 1130, .external_lex_state = 13},
  [8429] = {.lex_state = 1130, .external_lex_state = 13},
  [8430] = {.lex_state = 1130, .external_lex_state = 13},
  [8431] = {.lex_state = 1130, .external_lex_state = 13},
  [8432] = {.lex_state = 1148, .external_lex_state = 4},
  [8433] = {.lex_state = 1148, .external_lex_state = 4},
  [8434] = {.lex_state = 1148, .external_lex_state = 4},
  [8435] = {.lex_state = 467, .external_lex_state = 2},
  [8436] = {.lex_state = 968, .external_lex_state = 12},
  [8437] = {.lex_state = 1148, .external_lex_state = 4},
  [8438] = {.lex_state = 467, .external_lex_state = 2},
  [8439] = {.lex_state = 467, .external_lex_state = 2},
  [8440] = {.lex_state = 467, .external_lex_state = 2},
  [8441] = {.lex_state = 467, .external_lex_state = 2},
  [8442] = {.lex_state = 467, .external_lex_state = 2},
  [8443] = {.lex_state = 467, .external_lex_state = 2},
  [8444] = {.lex_state = 1406, .external_lex_state = 13},
  [8445] = {.lex_state = 1406, .external_lex_state = 13},
  [8446] = {.lex_state = 549},
  [8447] = {.lex_state = 1132, .external_lex_state = 4},
  [8448] = {.lex_state = 1130, .external_lex_state = 13},
  [8449] = {.lex_state = 708, .external_lex_state = 4},
  [8450] = {.lex_state = 585},
  [8451] = {.lex_state = 708, .external_lex_state = 4},
  [8452] = {.lex_state = 708, .external_lex_state = 4},
  [8453] = {.lex_state = 0},
  [8454] = {.lex_state = 565, .external_lex_state = 2},
  [8455] = {.lex_state = 565, .external_lex_state = 2},
  [8456] = {.lex_state = 708, .external_lex_state = 4},
  [8457] = {.lex_state = 0},
  [8458] = {.lex_state = 708, .external_lex_state = 4},
  [8459] = {.lex_state = 0},
  [8460] = {.lex_state = 708, .external_lex_state = 4},
  [8461] = {.lex_state = 0},
  [8462] = {.lex_state = 0},
  [8463] = {.lex_state = 985, .external_lex_state = 2},
  [8464] = {.lex_state = 708, .external_lex_state = 4},
  [8465] = {.lex_state = 0},
  [8466] = {.lex_state = 0},
  [8467] = {.lex_state = 708, .external_lex_state = 4},
  [8468] = {.lex_state = 0},
  [8469] = {.lex_state = 708, .external_lex_state = 4},
  [8470] = {.lex_state = 0},
  [8471] = {.lex_state = 746, .external_lex_state = 2},
  [8472] = {.lex_state = 575, .external_lex_state = 4},
  [8473] = {.lex_state = 0},
  [8474] = {.lex_state = 746, .external_lex_state = 2},
  [8475] = {.lex_state = 708, .external_lex_state = 4},
  [8476] = {.lex_state = 0},
  [8477] = {.lex_state = 708, .external_lex_state = 4},
  [8478] = {.lex_state = 467, .external_lex_state = 2},
  [8479] = {.lex_state = 575, .external_lex_state = 4},
  [8480] = {.lex_state = 617, .external_lex_state = 55},
  [8481] = {.lex_state = 575, .external_lex_state = 4},
  [8482] = {.lex_state = 968, .external_lex_state = 70},
  [8483] = {.lex_state = 467, .external_lex_state = 39},
  [8484] = {.lex_state = 814, .external_lex_state = 4},
  [8485] = {.lex_state = 1136, .external_lex_state = 13},
  [8486] = {.lex_state = 1136, .external_lex_state = 13},
  [8487] = {.lex_state = 1136, .external_lex_state = 13},
  [8488] = {.lex_state = 1136, .external_lex_state = 13},
  [8489] = {.lex_state = 1136, .external_lex_state = 13},
  [8490] = {.lex_state = 1136, .external_lex_state = 13},
  [8491] = {.lex_state = 1116, .external_lex_state = 30},
  [8492] = {.lex_state = 1136, .external_lex_state = 13},
  [8493] = {.lex_state = 1136, .external_lex_state = 13},
  [8494] = {.lex_state = 1136, .external_lex_state = 13},
  [8495] = {.lex_state = 1136, .external_lex_state = 13},
  [8496] = {.lex_state = 1136, .external_lex_state = 13},
  [8497] = {.lex_state = 605, .external_lex_state = 13},
  [8498] = {.lex_state = 467, .external_lex_state = 39},
  [8499] = {.lex_state = 1136, .external_lex_state = 13},
  [8500] = {.lex_state = 1136, .external_lex_state = 13},
  [8501] = {.lex_state = 545, .external_lex_state = 6},
  [8502] = {.lex_state = 615, .external_lex_state = 15},
  [8503] = {.lex_state = 615, .external_lex_state = 15},
  [8504] = {.lex_state = 0},
  [8505] = {.lex_state = 615, .external_lex_state = 15},
  [8506] = {.lex_state = 0},
  [8507] = {.lex_state = 615, .external_lex_state = 15},
  [8508] = {.lex_state = 822, .external_lex_state = 48},
  [8509] = {.lex_state = 824, .external_lex_state = 49},
  [8510] = {.lex_state = 824, .external_lex_state = 49},
  [8511] = {.lex_state = 824, .external_lex_state = 49},
  [8512] = {.lex_state = 824, .external_lex_state = 49},
  [8513] = {.lex_state = 822, .external_lex_state = 63},
  [8514] = {.lex_state = 617, .external_lex_state = 16},
  [8515] = {.lex_state = 615, .external_lex_state = 49},
  [8516] = {.lex_state = 615, .external_lex_state = 49},
  [8517] = {.lex_state = 615, .external_lex_state = 49},
  [8518] = {.lex_state = 615, .external_lex_state = 49},
  [8519] = {.lex_state = 615, .external_lex_state = 49},
  [8520] = {.lex_state = 615, .external_lex_state = 49},
  [8521] = {.lex_state = 1116, .external_lex_state = 30},
  [8522] = {.lex_state = 615, .external_lex_state = 49},
  [8523] = {.lex_state = 615, .external_lex_state = 49},
  [8524] = {.lex_state = 615, .external_lex_state = 49},
  [8525] = {.lex_state = 615, .external_lex_state = 49},
  [8526] = {.lex_state = 615, .external_lex_state = 49},
  [8527] = {.lex_state = 842, .external_lex_state = 49},
  [8528] = {.lex_state = 783, .external_lex_state = 31},
  [8529] = {.lex_state = 0},
  [8530] = {.lex_state = 621, .external_lex_state = 52},
  [8531] = {.lex_state = 702, .external_lex_state = 12},
  [8532] = {.lex_state = 621, .external_lex_state = 52},
  [8533] = {.lex_state = 621, .external_lex_state = 52},
  [8534] = {.lex_state = 621, .external_lex_state = 52},
  [8535] = {.lex_state = 0},
  [8536] = {.lex_state = 631, .external_lex_state = 2},
  [8537] = {.lex_state = 842, .external_lex_state = 49},
  [8538] = {.lex_state = 0},
  [8539] = {.lex_state = 746, .external_lex_state = 11},
  [8540] = {.lex_state = 800, .external_lex_state = 11},
  [8541] = {.lex_state = 842, .external_lex_state = 49},
  [8542] = {.lex_state = 615, .external_lex_state = 49},
  [8543] = {.lex_state = 615, .external_lex_state = 49},
  [8544] = {.lex_state = 615, .external_lex_state = 49},
  [8545] = {.lex_state = 824, .external_lex_state = 49},
  [8546] = {.lex_state = 824, .external_lex_state = 49},
  [8547] = {.lex_state = 585},
  [8548] = {.lex_state = 824, .external_lex_state = 49},
  [8549] = {.lex_state = 824, .external_lex_state = 49},
  [8550] = {.lex_state = 0},
  [8551] = {.lex_state = 565, .external_lex_state = 2},
  [8552] = {.lex_state = 565, .external_lex_state = 2},
  [8553] = {.lex_state = 824, .external_lex_state = 49},
  [8554] = {.lex_state = 0},
  [8555] = {.lex_state = 824, .external_lex_state = 49},
  [8556] = {.lex_state = 0},
  [8557] = {.lex_state = 824, .external_lex_state = 49},
  [8558] = {.lex_state = 968, .external_lex_state = 70},
  [8559] = {.lex_state = 968, .external_lex_state = 12},
  [8560] = {.lex_state = 824, .external_lex_state = 49},
  [8561] = {.lex_state = 824, .external_lex_state = 49},
  [8562] = {.lex_state = 0},
  [8563] = {.lex_state = 0},
  [8564] = {.lex_state = 985, .external_lex_state = 2},
  [8565] = {.lex_state = 824, .external_lex_state = 49},
  [8566] = {.lex_state = 0},
  [8567] = {.lex_state = 0},
  [8568] = {.lex_state = 824, .external_lex_state = 49},
  [8569] = {.lex_state = 0},
  [8570] = {.lex_state = 824, .external_lex_state = 49},
  [8571] = {.lex_state = 0},
  [8572] = {.lex_state = 746, .external_lex_state = 2},
  [8573] = {.lex_state = 824, .external_lex_state = 49},
  [8574] = {.lex_state = 0},
  [8575] = {.lex_state = 824, .external_lex_state = 49},
  [8576] = {.lex_state = 824, .external_lex_state = 49},
  [8577] = {.lex_state = 0},
  [8578] = {.lex_state = 824, .external_lex_state = 49},
  [8579] = {.lex_state = 0},
  [8580] = {.lex_state = 746, .external_lex_state = 2},
  [8581] = {.lex_state = 746, .external_lex_state = 11},
  [8582] = {.lex_state = 467, .external_lex_state = 2},
  [8583] = {.lex_state = 828, .external_lex_state = 49},
  [8584] = {.lex_state = 0},
  [8585] = {.lex_state = 644, .external_lex_state = 52},
  [8586] = {.lex_state = 960, .external_lex_state = 31},
  [8587] = {.lex_state = 0},
  [8588] = {.lex_state = 828, .external_lex_state = 49},
  [8589] = {.lex_state = 0},
  [8590] = {.lex_state = 828, .external_lex_state = 49},
  [8591] = {.lex_state = 0},
  [8592] = {.lex_state = 828, .external_lex_state = 49},
  [8593] = {.lex_state = 0},
  [8594] = {.lex_state = 746, .external_lex_state = 2},
  [8595] = {.lex_state = 746, .external_lex_state = 11},
  [8596] = {.lex_state = 828, .external_lex_state = 49},
  [8597] = {.lex_state = 617, .external_lex_state = 55},
  [8598] = {.lex_state = 461, .external_lex_state = 2},
  [8599] = {.lex_state = 828, .external_lex_state = 49},
  [8600] = {.lex_state = 828, .external_lex_state = 49},
  [8601] = {.lex_state = 968, .external_lex_state = 70},
  [8602] = {.lex_state = 968, .external_lex_state = 12},
  [8603] = {.lex_state = 828, .external_lex_state = 49},
  [8604] = {.lex_state = 828, .external_lex_state = 49},
  [8605] = {.lex_state = 824, .external_lex_state = 49},
  [8606] = {.lex_state = 617, .external_lex_state = 55},
  [8607] = {.lex_state = 824, .external_lex_state = 49},
  [8608] = {.lex_state = 968, .external_lex_state = 70},
  [8609] = {.lex_state = 467, .external_lex_state = 39},
  [8610] = {.lex_state = 824, .external_lex_state = 49},
  [8611] = {.lex_state = 615, .external_lex_state = 15},
  [8612] = {.lex_state = 0},
  [8613] = {.lex_state = 0},
  [8614] = {.lex_state = 615, .external_lex_state = 15},
  [8615] = {.lex_state = 0},
  [8616] = {.lex_state = 615, .external_lex_state = 15},
  [8617] = {.lex_state = 615, .external_lex_state = 15},
  [8618] = {.lex_state = 615, .external_lex_state = 15},
  [8619] = {.lex_state = 0},
  [8620] = {.lex_state = 615, .external_lex_state = 15},
  [8621] = {.lex_state = 834, .external_lex_state = 16},
  [8622] = {.lex_state = 834, .external_lex_state = 16},
  [8623] = {.lex_state = 615, .external_lex_state = 15},
  [8624] = {.lex_state = 615, .external_lex_state = 15},
  [8625] = {.lex_state = 0},
  [8626] = {.lex_state = 746, .external_lex_state = 2},
  [8627] = {.lex_state = 627, .external_lex_state = 18},
  [8628] = {.lex_state = 623, .external_lex_state = 15},
  [8629] = {.lex_state = 621, .external_lex_state = 17},
  [8630] = {.lex_state = 0},
  [8631] = {.lex_state = 838, .external_lex_state = 48},
  [8632] = {.lex_state = 828, .external_lex_state = 49},
  [8633] = {.lex_state = 828, .external_lex_state = 49},
  [8634] = {.lex_state = 828, .external_lex_state = 49},
  [8635] = {.lex_state = 828, .external_lex_state = 49},
  [8636] = {.lex_state = 1138, .external_lex_state = 63},
  [8637] = {.lex_state = 617, .external_lex_state = 16},
  [8638] = {.lex_state = 842, .external_lex_state = 49},
  [8639] = {.lex_state = 617, .external_lex_state = 16},
  [8640] = {.lex_state = 842, .external_lex_state = 49},
  [8641] = {.lex_state = 617, .external_lex_state = 16},
  [8642] = {.lex_state = 842, .external_lex_state = 49},
  [8643] = {.lex_state = 617, .external_lex_state = 16},
  [8644] = {.lex_state = 842, .external_lex_state = 49},
  [8645] = {.lex_state = 617, .external_lex_state = 16},
  [8646] = {.lex_state = 842, .external_lex_state = 49},
  [8647] = {.lex_state = 0},
  [8648] = {.lex_state = 888, .external_lex_state = 30},
  [8649] = {.lex_state = 545, .external_lex_state = 6},
  [8650] = {.lex_state = 565, .external_lex_state = 2},
  [8651] = {.lex_state = 842, .external_lex_state = 49},
  [8652] = {.lex_state = 942, .external_lex_state = 13},
  [8653] = {.lex_state = 946, .external_lex_state = 7},
  [8654] = {.lex_state = 565, .external_lex_state = 2},
  [8655] = {.lex_state = 842, .external_lex_state = 49},
  [8656] = {.lex_state = 565, .external_lex_state = 2},
  [8657] = {.lex_state = 842, .external_lex_state = 51},
  [8658] = {.lex_state = 985, .external_lex_state = 11},
  [8659] = {.lex_state = 996, .external_lex_state = 2},
  [8660] = {.lex_state = 746, .external_lex_state = 2},
  [8661] = {.lex_state = 746, .external_lex_state = 2},
  [8662] = {.lex_state = 1020, .external_lex_state = 7},
  [8663] = {.lex_state = 842, .external_lex_state = 49},
  [8664] = {.lex_state = 0},
  [8665] = {.lex_state = 734, .external_lex_state = 7},
  [8666] = {.lex_state = 842, .external_lex_state = 49},
  [8667] = {.lex_state = 0},
  [8668] = {.lex_state = 0},
  [8669] = {.lex_state = 842, .external_lex_state = 49},
  [8670] = {.lex_state = 842, .external_lex_state = 49},
  [8671] = {.lex_state = 842, .external_lex_state = 49},
  [8672] = {.lex_state = 842, .external_lex_state = 49},
  [8673] = {.lex_state = 842, .external_lex_state = 49},
  [8674] = {.lex_state = 842, .external_lex_state = 49},
  [8675] = {.lex_state = 842, .external_lex_state = 49},
  [8676] = {.lex_state = 842, .external_lex_state = 49},
  [8677] = {.lex_state = 1116, .external_lex_state = 30},
  [8678] = {.lex_state = 842, .external_lex_state = 49},
  [8679] = {.lex_state = 842, .external_lex_state = 49},
  [8680] = {.lex_state = 842, .external_lex_state = 49},
  [8681] = {.lex_state = 842, .external_lex_state = 49},
  [8682] = {.lex_state = 842, .external_lex_state = 49},
  [8683] = {.lex_state = 842, .external_lex_state = 49},
  [8684] = {.lex_state = 842, .external_lex_state = 49},
  [8685] = {.lex_state = 842, .external_lex_state = 49},
  [8686] = {.lex_state = 842, .external_lex_state = 49},
  [8687] = {.lex_state = 842, .external_lex_state = 49},
  [8688] = {.lex_state = 1138, .external_lex_state = 63},
  [8689] = {.lex_state = 842, .external_lex_state = 49},
  [8690] = {.lex_state = 838, .external_lex_state = 63},
  [8691] = {.lex_state = 617, .external_lex_state = 16},
  [8692] = {.lex_state = 623, .external_lex_state = 15},
  [8693] = {.lex_state = 828, .external_lex_state = 49},
  [8694] = {.lex_state = 585},
  [8695] = {.lex_state = 828, .external_lex_state = 49},
  [8696] = {.lex_state = 828, .external_lex_state = 49},
  [8697] = {.lex_state = 0},
  [8698] = {.lex_state = 565, .external_lex_state = 2},
  [8699] = {.lex_state = 565, .external_lex_state = 2},
  [8700] = {.lex_state = 828, .external_lex_state = 49},
  [8701] = {.lex_state = 0},
  [8702] = {.lex_state = 828, .external_lex_state = 49},
  [8703] = {.lex_state = 0},
  [8704] = {.lex_state = 828, .external_lex_state = 49},
  [8705] = {.lex_state = 0},
  [8706] = {.lex_state = 0},
  [8707] = {.lex_state = 985, .external_lex_state = 2},
  [8708] = {.lex_state = 828, .external_lex_state = 49},
  [8709] = {.lex_state = 0},
  [8710] = {.lex_state = 0},
  [8711] = {.lex_state = 828, .external_lex_state = 49},
  [8712] = {.lex_state = 0},
  [8713] = {.lex_state = 828, .external_lex_state = 49},
  [8714] = {.lex_state = 0},
  [8715] = {.lex_state = 746, .external_lex_state = 2},
  [8716] = {.lex_state = 623, .external_lex_state = 15},
  [8717] = {.lex_state = 0},
  [8718] = {.lex_state = 746, .external_lex_state = 2},
  [8719] = {.lex_state = 828, .external_lex_state = 49},
  [8720] = {.lex_state = 0},
  [8721] = {.lex_state = 828, .external_lex_state = 49},
  [8722] = {.lex_state = 467, .external_lex_state = 2},
  [8723] = {.lex_state = 842, .external_lex_state = 49},
  [8724] = {.lex_state = 617, .external_lex_state = 55},
  [8725] = {.lex_state = 842, .external_lex_state = 49},
  [8726] = {.lex_state = 968, .external_lex_state = 70},
  [8727] = {.lex_state = 467, .external_lex_state = 39},
  [8728] = {.lex_state = 828, .external_lex_state = 49},
  [8729] = {.lex_state = 629, .external_lex_state = 18},
  [8730] = {.lex_state = 629, .external_lex_state = 18},
  [8731] = {.lex_state = 629, .external_lex_state = 18},
  [8732] = {.lex_state = 629, .external_lex_state = 18},
  [8733] = {.lex_state = 629, .external_lex_state = 18},
  [8734] = {.lex_state = 629, .external_lex_state = 18},
  [8735] = {.lex_state = 1116, .external_lex_state = 30},
  [8736] = {.lex_state = 629, .external_lex_state = 18},
  [8737] = {.lex_state = 629, .external_lex_state = 18},
  [8738] = {.lex_state = 629, .external_lex_state = 18},
  [8739] = {.lex_state = 629, .external_lex_state = 18},
  [8740] = {.lex_state = 629, .external_lex_state = 18},
  [8741] = {.lex_state = 629, .external_lex_state = 18},
  [8742] = {.lex_state = 467, .external_lex_state = 39},
  [8743] = {.lex_state = 629, .external_lex_state = 18},
  [8744] = {.lex_state = 629, .external_lex_state = 18},
  [8745] = {.lex_state = 1144, .external_lex_state = 4},
  [8746] = {.lex_state = 1144, .external_lex_state = 4},
  [8747] = {.lex_state = 1144, .external_lex_state = 4},
  [8748] = {.lex_state = 467, .external_lex_state = 2},
  [8749] = {.lex_state = 467, .external_lex_state = 2},
  [8750] = {.lex_state = 467, .external_lex_state = 2},
  [8751] = {.lex_state = 467, .external_lex_state = 2},
  [8752] = {.lex_state = 467, .external_lex_state = 2},
  [8753] = {.lex_state = 467, .external_lex_state = 2},
  [8754] = {.lex_state = 467, .external_lex_state = 2},
  [8755] = {.lex_state = 467, .external_lex_state = 2},
  [8756] = {.lex_state = 467, .external_lex_state = 2},
  [8757] = {.lex_state = 467, .external_lex_state = 2},
  [8758] = {.lex_state = 467, .external_lex_state = 2},
  [8759] = {.lex_state = 467, .external_lex_state = 2},
  [8760] = {.lex_state = 467, .external_lex_state = 39},
  [8761] = {.lex_state = 467, .external_lex_state = 2},
  [8762] = {.lex_state = 1144, .external_lex_state = 4},
  [8763] = {.lex_state = 1142, .external_lex_state = 4},
  [8764] = {.lex_state = 1142, .external_lex_state = 4},
  [8765] = {.lex_state = 1142, .external_lex_state = 4},
  [8766] = {.lex_state = 1142, .external_lex_state = 4},
  [8767] = {.lex_state = 1142, .external_lex_state = 4},
  [8768] = {.lex_state = 1142, .external_lex_state = 4},
  [8769] = {.lex_state = 1116, .external_lex_state = 30},
  [8770] = {.lex_state = 1142, .external_lex_state = 4},
  [8771] = {.lex_state = 1142, .external_lex_state = 4},
  [8772] = {.lex_state = 1142, .external_lex_state = 4},
  [8773] = {.lex_state = 1142, .external_lex_state = 4},
  [8774] = {.lex_state = 1142, .external_lex_state = 4},
  [8775] = {.lex_state = 968, .external_lex_state = 70},
  [8776] = {.lex_state = 968, .external_lex_state = 12},
  [8777] = {.lex_state = 1142, .external_lex_state = 4},
  [8778] = {.lex_state = 1142, .external_lex_state = 4},
  [8779] = {.lex_state = 1142, .external_lex_state = 4},
  [8780] = {.lex_state = 1144, .external_lex_state = 4},
  [8781] = {.lex_state = 467, .external_lex_state = 2},
  [8782] = {.lex_state = 1150, .external_lex_state = 4},
  [8783] = {.lex_state = 1150, .external_lex_state = 4},
  [8784] = {.lex_state = 1150, .external_lex_state = 4},
  [8785] = {.lex_state = 467, .external_lex_state = 2},
  [8786] = {.lex_state = 467, .external_lex_state = 2},
  [8787] = {.lex_state = 467, .external_lex_state = 2},
  [8788] = {.lex_state = 467, .external_lex_state = 2},
  [8789] = {.lex_state = 467, .external_lex_state = 2},
  [8790] = {.lex_state = 467, .external_lex_state = 2},
  [8791] = {.lex_state = 467, .external_lex_state = 2},
  [8792] = {.lex_state = 467, .external_lex_state = 2},
  [8793] = {.lex_state = 467, .external_lex_state = 2},
  [8794] = {.lex_state = 467, .external_lex_state = 2},
  [8795] = {.lex_state = 467, .external_lex_state = 2},
  [8796] = {.lex_state = 467, .external_lex_state = 2},
  [8797] = {.lex_state = 467, .external_lex_state = 39},
  [8798] = {.lex_state = 467, .external_lex_state = 2},
  [8799] = {.lex_state = 1150, .external_lex_state = 4},
  [8800] = {.lex_state = 1148, .external_lex_state = 4},
  [8801] = {.lex_state = 1148, .external_lex_state = 4},
  [8802] = {.lex_state = 1148, .external_lex_state = 4},
  [8803] = {.lex_state = 1148, .external_lex_state = 4},
  [8804] = {.lex_state = 1148, .external_lex_state = 4},
  [8805] = {.lex_state = 1148, .external_lex_state = 4},
  [8806] = {.lex_state = 1116, .external_lex_state = 30},
  [8807] = {.lex_state = 1148, .external_lex_state = 4},
  [8808] = {.lex_state = 1148, .external_lex_state = 4},
  [8809] = {.lex_state = 1148, .external_lex_state = 4},
  [8810] = {.lex_state = 1148, .external_lex_state = 4},
  [8811] = {.lex_state = 1148, .external_lex_state = 4},
  [8812] = {.lex_state = 968, .external_lex_state = 70},
  [8813] = {.lex_state = 968, .external_lex_state = 12},
  [8814] = {.lex_state = 1148, .external_lex_state = 4},
  [8815] = {.lex_state = 1148, .external_lex_state = 4},
  [8816] = {.lex_state = 1148, .external_lex_state = 4},
  [8817] = {.lex_state = 1150, .external_lex_state = 4},
  [8818] = {.lex_state = 1344, .external_lex_state = 13},
  [8819] = {.lex_state = 1344, .external_lex_state = 13},
  [8820] = {.lex_state = 1344, .external_lex_state = 13},
  [8821] = {.lex_state = 1344, .external_lex_state = 13},
  [8822] = {.lex_state = 467, .external_lex_state = 2},
  [8823] = {.lex_state = 467, .external_lex_state = 2},
  [8824] = {.lex_state = 467, .external_lex_state = 2},
  [8825] = {.lex_state = 467, .external_lex_state = 2},
  [8826] = {.lex_state = 467, .external_lex_state = 2},
  [8827] = {.lex_state = 467, .external_lex_state = 2},
  [8828] = {.lex_state = 467, .external_lex_state = 2},
  [8829] = {.lex_state = 467, .external_lex_state = 2},
  [8830] = {.lex_state = 467, .external_lex_state = 2},
  [8831] = {.lex_state = 467, .external_lex_state = 2},
  [8832] = {.lex_state = 467, .external_lex_state = 2},
  [8833] = {.lex_state = 467, .external_lex_state = 2},
  [8834] = {.lex_state = 467, .external_lex_state = 39},
  [8835] = {.lex_state = 1344, .external_lex_state = 13},
  [8836] = {.lex_state = 467, .external_lex_state = 39},
  [8837] = {.lex_state = 467, .external_lex_state = 2},
  [8838] = {.lex_state = 613, .external_lex_state = 53},
  [8839] = {.lex_state = 615, .external_lex_state = 54},
  [8840] = {.lex_state = 615, .external_lex_state = 54},
  [8841] = {.lex_state = 615, .external_lex_state = 54},
  [8842] = {.lex_state = 615, .external_lex_state = 54},
  [8843] = {.lex_state = 615, .external_lex_state = 54},
  [8844] = {.lex_state = 585},
  [8845] = {.lex_state = 615, .external_lex_state = 54},
  [8846] = {.lex_state = 615, .external_lex_state = 54},
  [8847] = {.lex_state = 0},
  [8848] = {.lex_state = 565, .external_lex_state = 2},
  [8849] = {.lex_state = 565, .external_lex_state = 2},
  [8850] = {.lex_state = 615, .external_lex_state = 54},
  [8851] = {.lex_state = 0},
  [8852] = {.lex_state = 615, .external_lex_state = 54},
  [8853] = {.lex_state = 0},
  [8854] = {.lex_state = 822, .external_lex_state = 64},
  [8855] = {.lex_state = 617, .external_lex_state = 16},
  [8856] = {.lex_state = 824, .external_lex_state = 65},
  [8857] = {.lex_state = 617, .external_lex_state = 16},
  [8858] = {.lex_state = 824, .external_lex_state = 65},
  [8859] = {.lex_state = 617, .external_lex_state = 16},
  [8860] = {.lex_state = 824, .external_lex_state = 65},
  [8861] = {.lex_state = 617, .external_lex_state = 16},
  [8862] = {.lex_state = 824, .external_lex_state = 65},
  [8863] = {.lex_state = 617, .external_lex_state = 16},
  [8864] = {.lex_state = 617, .external_lex_state = 16},
  [8865] = {.lex_state = 461, .external_lex_state = 2},
  [8866] = {.lex_state = 615, .external_lex_state = 65},
  [8867] = {.lex_state = 621, .external_lex_state = 68},
  [8868] = {.lex_state = 615, .external_lex_state = 65},
  [8869] = {.lex_state = 615, .external_lex_state = 65},
  [8870] = {.lex_state = 467, .external_lex_state = 2},
  [8871] = {.lex_state = 467, .external_lex_state = 2},
  [8872] = {.lex_state = 467, .external_lex_state = 2},
  [8873] = {.lex_state = 467, .external_lex_state = 2},
  [8874] = {.lex_state = 467, .external_lex_state = 2},
  [8875] = {.lex_state = 467, .external_lex_state = 2},
  [8876] = {.lex_state = 467, .external_lex_state = 2},
  [8877] = {.lex_state = 467, .external_lex_state = 2},
  [8878] = {.lex_state = 467, .external_lex_state = 2},
  [8879] = {.lex_state = 467, .external_lex_state = 2},
  [8880] = {.lex_state = 467, .external_lex_state = 2},
  [8881] = {.lex_state = 467, .external_lex_state = 2},
  [8882] = {.lex_state = 583, .external_lex_state = 12},
  [8883] = {.lex_state = 545},
  [8884] = {.lex_state = 806, .external_lex_state = 47},
  [8885] = {.lex_state = 810, .external_lex_state = 5},
  [8886] = {.lex_state = 800, .external_lex_state = 28},
  [8887] = {.lex_state = 842, .external_lex_state = 65},
  [8888] = {.lex_state = 842, .external_lex_state = 65},
  [8889] = {.lex_state = 467, .external_lex_state = 39},
  [8890] = {.lex_state = 467, .external_lex_state = 2},
  [8891] = {.lex_state = 824, .external_lex_state = 65},
  [8892] = {.lex_state = 0},
  [8893] = {.lex_state = 824, .external_lex_state = 65},
  [8894] = {.lex_state = 0},
  [8895] = {.lex_state = 888, .external_lex_state = 30},
  [8896] = {.lex_state = 545, .external_lex_state = 6},
  [8897] = {.lex_state = 565, .external_lex_state = 2},
  [8898] = {.lex_state = 824, .external_lex_state = 65},
  [8899] = {.lex_state = 942, .external_lex_state = 13},
  [8900] = {.lex_state = 946, .external_lex_state = 7},
  [8901] = {.lex_state = 565, .external_lex_state = 2},
  [8902] = {.lex_state = 824, .external_lex_state = 65},
  [8903] = {.lex_state = 565, .external_lex_state = 2},
  [8904] = {.lex_state = 824, .external_lex_state = 67},
  [8905] = {.lex_state = 824, .external_lex_state = 65},
  [8906] = {.lex_state = 824, .external_lex_state = 65},
  [8907] = {.lex_state = 824, .external_lex_state = 65},
  [8908] = {.lex_state = 467, .external_lex_state = 2},
  [8909] = {.lex_state = 968, .external_lex_state = 12},
  [8910] = {.lex_state = 824, .external_lex_state = 65},
  [8911] = {.lex_state = 467, .external_lex_state = 2},
  [8912] = {.lex_state = 985, .external_lex_state = 11},
  [8913] = {.lex_state = 996, .external_lex_state = 2},
  [8914] = {.lex_state = 746, .external_lex_state = 2},
  [8915] = {.lex_state = 746, .external_lex_state = 2},
  [8916] = {.lex_state = 1020, .external_lex_state = 7},
  [8917] = {.lex_state = 824, .external_lex_state = 65},
  [8918] = {.lex_state = 0},
  [8919] = {.lex_state = 734, .external_lex_state = 7},
  [8920] = {.lex_state = 824, .external_lex_state = 65},
  [8921] = {.lex_state = 0},
  [8922] = {.lex_state = 615, .external_lex_state = 65},
  [8923] = {.lex_state = 0},
  [8924] = {.lex_state = 824, .external_lex_state = 65},
  [8925] = {.lex_state = 0},
  [8926] = {.lex_state = 631, .external_lex_state = 2},
  [8927] = {.lex_state = 824, .external_lex_state = 65},
  [8928] = {.lex_state = 0},
  [8929] = {.lex_state = 746, .external_lex_state = 11},
  [8930] = {.lex_state = 800, .external_lex_state = 11},
  [8931] = {.lex_state = 824, .external_lex_state = 65},
  [8932] = {.lex_state = 824, .external_lex_state = 65},
  [8933] = {.lex_state = 824, .external_lex_state = 65},
  [8934] = {.lex_state = 824, .external_lex_state = 65},
  [8935] = {.lex_state = 824, .external_lex_state = 65},
  [8936] = {.lex_state = 824, .external_lex_state = 65},
  [8937] = {.lex_state = 824, .external_lex_state = 65},
  [8938] = {.lex_state = 1116, .external_lex_state = 30},
  [8939] = {.lex_state = 824, .external_lex_state = 65},
  [8940] = {.lex_state = 824, .external_lex_state = 65},
  [8941] = {.lex_state = 824, .external_lex_state = 65},
  [8942] = {.lex_state = 824, .external_lex_state = 65},
  [8943] = {.lex_state = 824, .external_lex_state = 65},
  [8944] = {.lex_state = 828, .external_lex_state = 65},
  [8945] = {.lex_state = 783, .external_lex_state = 31},
  [8946] = {.lex_state = 0},
  [8947] = {.lex_state = 644, .external_lex_state = 68},
  [8948] = {.lex_state = 702, .external_lex_state = 12},
  [8949] = {.lex_state = 644, .external_lex_state = 68},
  [8950] = {.lex_state = 644, .external_lex_state = 68},
  [8951] = {.lex_state = 644, .external_lex_state = 68},
  [8952] = {.lex_state = 828, .external_lex_state = 65},
  [8953] = {.lex_state = 828, .external_lex_state = 65},
  [8954] = {.lex_state = 828, .external_lex_state = 65},
  [8955] = {.lex_state = 960, .external_lex_state = 31},
  [8956] = {.lex_state = 0},
  [8957] = {.lex_state = 0},
  [8958] = {.lex_state = 631, .external_lex_state = 2},
  [8959] = {.lex_state = 828, .external_lex_state = 65},
  [8960] = {.lex_state = 828, .external_lex_state = 65},
  [8961] = {.lex_state = 0},
  [8962] = {.lex_state = 746, .external_lex_state = 11},
  [8963] = {.lex_state = 800, .external_lex_state = 11},
  [8964] = {.lex_state = 467, .external_lex_state = 2},
  [8965] = {.lex_state = 828, .external_lex_state = 65},
  [8966] = {.lex_state = 828, .external_lex_state = 65},
  [8967] = {.lex_state = 461, .external_lex_state = 2},
  [8968] = {.lex_state = 828, .external_lex_state = 65},
  [8969] = {.lex_state = 828, .external_lex_state = 65},
  [8970] = {.lex_state = 968, .external_lex_state = 12},
  [8971] = {.lex_state = 828, .external_lex_state = 65},
  [8972] = {.lex_state = 467, .external_lex_state = 2},
  [8973] = {.lex_state = 617, .external_lex_state = 55},
  [8974] = {.lex_state = 461, .external_lex_state = 2},
  [8975] = {.lex_state = 824, .external_lex_state = 65},
  [8976] = {.lex_state = 824, .external_lex_state = 65},
  [8977] = {.lex_state = 968, .external_lex_state = 70},
  [8978] = {.lex_state = 968, .external_lex_state = 12},
  [8979] = {.lex_state = 824, .external_lex_state = 65},
  [8980] = {.lex_state = 824, .external_lex_state = 65},
  [8981] = {.lex_state = 824, .external_lex_state = 65},
  [8982] = {.lex_state = 824, .external_lex_state = 65},
  [8983] = {.lex_state = 824, .external_lex_state = 65},
  [8984] = {.lex_state = 824, .external_lex_state = 65},
  [8985] = {.lex_state = 615, .external_lex_state = 65},
  [8986] = {.lex_state = 822, .external_lex_state = 73},
  [8987] = {.lex_state = 615, .external_lex_state = 54},
  [8988] = {.lex_state = 0},
  [8989] = {.lex_state = 0},
  [8990] = {.lex_state = 985, .external_lex_state = 2},
  [8991] = {.lex_state = 615, .external_lex_state = 54},
  [8992] = {.lex_state = 0},
  [8993] = {.lex_state = 0},
  [8994] = {.lex_state = 615, .external_lex_state = 54},
  [8995] = {.lex_state = 0},
  [8996] = {.lex_state = 615, .external_lex_state = 54},
  [8997] = {.lex_state = 0},
  [8998] = {.lex_state = 746, .external_lex_state = 2},
  [8999] = {.lex_state = 615, .external_lex_state = 54},
  [9000] = {.lex_state = 0},
  [9001] = {.lex_state = 615, .external_lex_state = 54},
  [9002] = {.lex_state = 834, .external_lex_state = 55},
  [9003] = {.lex_state = 617, .external_lex_state = 16},
  [9004] = {.lex_state = 834, .external_lex_state = 55},
  [9005] = {.lex_state = 545, .external_lex_state = 6},
  [9006] = {.lex_state = 615, .external_lex_state = 54},
  [9007] = {.lex_state = 0},
  [9008] = {.lex_state = 615, .external_lex_state = 54},
  [9009] = {.lex_state = 0},
  [9010] = {.lex_state = 746, .external_lex_state = 2},
  [9011] = {.lex_state = 746, .external_lex_state = 11},
  [9012] = {.lex_state = 467, .external_lex_state = 2},
  [9013] = {.lex_state = 623, .external_lex_state = 54},
  [9014] = {.lex_state = 0},
  [9015] = {.lex_state = 621, .external_lex_state = 56},
  [9016] = {.lex_state = 960, .external_lex_state = 31},
  [9017] = {.lex_state = 0},
  [9018] = {.lex_state = 838, .external_lex_state = 64},
  [9019] = {.lex_state = 617, .external_lex_state = 16},
  [9020] = {.lex_state = 828, .external_lex_state = 65},
  [9021] = {.lex_state = 617, .external_lex_state = 16},
  [9022] = {.lex_state = 828, .external_lex_state = 65},
  [9023] = {.lex_state = 617, .external_lex_state = 16},
  [9024] = {.lex_state = 828, .external_lex_state = 65},
  [9025] = {.lex_state = 617, .external_lex_state = 16},
  [9026] = {.lex_state = 828, .external_lex_state = 65},
  [9027] = {.lex_state = 617, .external_lex_state = 16},
  [9028] = {.lex_state = 617, .external_lex_state = 16},
  [9029] = {.lex_state = 461, .external_lex_state = 2},
  [9030] = {.lex_state = 617, .external_lex_state = 16},
  [9031] = {.lex_state = 461, .external_lex_state = 2},
  [9032] = {.lex_state = 617, .external_lex_state = 16},
  [9033] = {.lex_state = 461, .external_lex_state = 2},
  [9034] = {.lex_state = 617, .external_lex_state = 16},
  [9035] = {.lex_state = 461, .external_lex_state = 2},
  [9036] = {.lex_state = 617, .external_lex_state = 16},
  [9037] = {.lex_state = 461, .external_lex_state = 2},
  [9038] = {.lex_state = 842, .external_lex_state = 65},
  [9039] = {.lex_state = 842, .external_lex_state = 65},
  [9040] = {.lex_state = 0},
  [9041] = {.lex_state = 659, .external_lex_state = 31},
  [9042] = {.lex_state = 467, .external_lex_state = 2},
  [9043] = {.lex_state = 842, .external_lex_state = 65},
  [9044] = {.lex_state = 585},
  [9045] = {.lex_state = 661, .external_lex_state = 7},
  [9046] = {.lex_state = 842, .external_lex_state = 65},
  [9047] = {.lex_state = 0},
  [9048] = {.lex_state = 467, .external_lex_state = 2},
  [9049] = {.lex_state = 697, .external_lex_state = 35},
  [9050] = {.lex_state = 697, .external_lex_state = 35},
  [9051] = {.lex_state = 700, .external_lex_state = 35},
  [9052] = {.lex_state = 700, .external_lex_state = 35},
  [9053] = {.lex_state = 842, .external_lex_state = 65},
  [9054] = {.lex_state = 842, .external_lex_state = 65},
  [9055] = {.lex_state = 842, .external_lex_state = 65},
  [9056] = {.lex_state = 842, .external_lex_state = 65},
  [9057] = {.lex_state = 718, .external_lex_state = 7},
  [9058] = {.lex_state = 718, .external_lex_state = 7},
  [9059] = {.lex_state = 726, .external_lex_state = 13},
  [9060] = {.lex_state = 726, .external_lex_state = 13},
  [9061] = {.lex_state = 0},
  [9062] = {.lex_state = 0},
  [9063] = {.lex_state = 736, .external_lex_state = 13},
  [9064] = {.lex_state = 734, .external_lex_state = 7},
  [9065] = {.lex_state = 842, .external_lex_state = 65},
  [9066] = {.lex_state = 0},
  [9067] = {.lex_state = 565, .external_lex_state = 2},
  [9068] = {.lex_state = 842, .external_lex_state = 65},
  [9069] = {.lex_state = 842, .external_lex_state = 65},
  [9070] = {.lex_state = 842, .external_lex_state = 65},
  [9071] = {.lex_state = 842, .external_lex_state = 65},
  [9072] = {.lex_state = 842, .external_lex_state = 65},
  [9073] = {.lex_state = 783, .external_lex_state = 31},
  [9074] = {.lex_state = 0},
  [9075] = {.lex_state = 795, .external_lex_state = 2},
  [9076] = {.lex_state = 800, .external_lex_state = 11},
  [9077] = {.lex_state = 0},
  [9078] = {.lex_state = 842, .external_lex_state = 65},
  [9079] = {.lex_state = 467, .external_lex_state = 2},
  [9080] = {.lex_state = 467, .external_lex_state = 2},
  [9081] = {.lex_state = 467, .external_lex_state = 2},
  [9082] = {.lex_state = 467, .external_lex_state = 2},
  [9083] = {.lex_state = 467, .external_lex_state = 2},
  [9084] = {.lex_state = 467, .external_lex_state = 2},
  [9085] = {.lex_state = 467, .external_lex_state = 2},
  [9086] = {.lex_state = 467, .external_lex_state = 2},
  [9087] = {.lex_state = 467, .external_lex_state = 2},
  [9088] = {.lex_state = 467, .external_lex_state = 2},
  [9089] = {.lex_state = 467, .external_lex_state = 2},
  [9090] = {.lex_state = 467, .external_lex_state = 2},
  [9091] = {.lex_state = 842, .external_lex_state = 65},
  [9092] = {.lex_state = 467, .external_lex_state = 39},
  [9093] = {.lex_state = 467, .external_lex_state = 2},
  [9094] = {.lex_state = 1138, .external_lex_state = 73},
  [9095] = {.lex_state = 1138, .external_lex_state = 73},
  [9096] = {.lex_state = 842, .external_lex_state = 65},
  [9097] = {.lex_state = 0},
  [9098] = {.lex_state = 617, .external_lex_state = 16},
  [9099] = {.lex_state = 461, .external_lex_state = 2},
  [9100] = {.lex_state = 623, .external_lex_state = 54},
  [9101] = {.lex_state = 0},
  [9102] = {.lex_state = 828, .external_lex_state = 65},
  [9103] = {.lex_state = 0},
  [9104] = {.lex_state = 888, .external_lex_state = 30},
  [9105] = {.lex_state = 545, .external_lex_state = 6},
  [9106] = {.lex_state = 565, .external_lex_state = 2},
  [9107] = {.lex_state = 828, .external_lex_state = 65},
  [9108] = {.lex_state = 942, .external_lex_state = 13},
  [9109] = {.lex_state = 946, .external_lex_state = 7},
  [9110] = {.lex_state = 565, .external_lex_state = 2},
  [9111] = {.lex_state = 828, .external_lex_state = 65},
  [9112] = {.lex_state = 565, .external_lex_state = 2},
  [9113] = {.lex_state = 828, .external_lex_state = 67},
  [9114] = {.lex_state = 985, .external_lex_state = 11},
  [9115] = {.lex_state = 996, .external_lex_state = 2},
  [9116] = {.lex_state = 746, .external_lex_state = 2},
  [9117] = {.lex_state = 746, .external_lex_state = 2},
  [9118] = {.lex_state = 1020, .external_lex_state = 7},
  [9119] = {.lex_state = 623, .external_lex_state = 54},
  [9120] = {.lex_state = 0},
  [9121] = {.lex_state = 746, .external_lex_state = 2},
  [9122] = {.lex_state = 746, .external_lex_state = 11},
  [9123] = {.lex_state = 828, .external_lex_state = 65},
  [9124] = {.lex_state = 0},
  [9125] = {.lex_state = 734, .external_lex_state = 7},
  [9126] = {.lex_state = 828, .external_lex_state = 65},
  [9127] = {.lex_state = 0},
  [9128] = {.lex_state = 842, .external_lex_state = 65},
  [9129] = {.lex_state = 0},
  [9130] = {.lex_state = 828, .external_lex_state = 65},
  [9131] = {.lex_state = 828, .external_lex_state = 65},
  [9132] = {.lex_state = 828, .external_lex_state = 65},
  [9133] = {.lex_state = 828, .external_lex_state = 65},
  [9134] = {.lex_state = 828, .external_lex_state = 65},
  [9135] = {.lex_state = 828, .external_lex_state = 65},
  [9136] = {.lex_state = 828, .external_lex_state = 65},
  [9137] = {.lex_state = 828, .external_lex_state = 65},
  [9138] = {.lex_state = 1116, .external_lex_state = 30},
  [9139] = {.lex_state = 828, .external_lex_state = 65},
  [9140] = {.lex_state = 828, .external_lex_state = 65},
  [9141] = {.lex_state = 828, .external_lex_state = 65},
  [9142] = {.lex_state = 828, .external_lex_state = 65},
  [9143] = {.lex_state = 828, .external_lex_state = 65},
  [9144] = {.lex_state = 623, .external_lex_state = 54},
  [9145] = {.lex_state = 617, .external_lex_state = 55},
  [9146] = {.lex_state = 461, .external_lex_state = 2},
  [9147] = {.lex_state = 842, .external_lex_state = 65},
  [9148] = {.lex_state = 842, .external_lex_state = 65},
  [9149] = {.lex_state = 968, .external_lex_state = 70},
  [9150] = {.lex_state = 968, .external_lex_state = 12},
  [9151] = {.lex_state = 842, .external_lex_state = 65},
  [9152] = {.lex_state = 828, .external_lex_state = 65},
  [9153] = {.lex_state = 828, .external_lex_state = 65},
  [9154] = {.lex_state = 828, .external_lex_state = 65},
  [9155] = {.lex_state = 828, .external_lex_state = 65},
  [9156] = {.lex_state = 828, .external_lex_state = 65},
  [9157] = {.lex_state = 842, .external_lex_state = 65},
  [9158] = {.lex_state = 838, .external_lex_state = 73},
  [9159] = {.lex_state = 629, .external_lex_state = 57},
  [9160] = {.lex_state = 629, .external_lex_state = 57},
  [9161] = {.lex_state = 629, .external_lex_state = 57},
  [9162] = {.lex_state = 629, .external_lex_state = 57},
  [9163] = {.lex_state = 467, .external_lex_state = 2},
  [9164] = {.lex_state = 467, .external_lex_state = 2},
  [9165] = {.lex_state = 467, .external_lex_state = 2},
  [9166] = {.lex_state = 467, .external_lex_state = 2},
  [9167] = {.lex_state = 467, .external_lex_state = 2},
  [9168] = {.lex_state = 467, .external_lex_state = 2},
  [9169] = {.lex_state = 467, .external_lex_state = 2},
  [9170] = {.lex_state = 467, .external_lex_state = 2},
  [9171] = {.lex_state = 467, .external_lex_state = 2},
  [9172] = {.lex_state = 467, .external_lex_state = 2},
  [9173] = {.lex_state = 467, .external_lex_state = 2},
  [9174] = {.lex_state = 467, .external_lex_state = 2},
  [9175] = {.lex_state = 467, .external_lex_state = 39},
  [9176] = {.lex_state = 629, .external_lex_state = 57},
  [9177] = {.lex_state = 467, .external_lex_state = 39},
  [9178] = {.lex_state = 467, .external_lex_state = 2},
  [9179] = {.lex_state = 856, .external_lex_state = 58},
  [9180] = {.lex_state = 545, .external_lex_state = 6},
  [9181] = {.lex_state = 635, .external_lex_state = 20},
  [9182] = {.lex_state = 767, .external_lex_state = 59},
  [9183] = {.lex_state = 1160, .external_lex_state = 42},
  [9184] = {.lex_state = 1160, .external_lex_state = 42},
  [9185] = {.lex_state = 1160, .external_lex_state = 42},
  [9186] = {.lex_state = 467, .external_lex_state = 2},
  [9187] = {.lex_state = 467, .external_lex_state = 2},
  [9188] = {.lex_state = 467, .external_lex_state = 2},
  [9189] = {.lex_state = 467, .external_lex_state = 2},
  [9190] = {.lex_state = 467, .external_lex_state = 2},
  [9191] = {.lex_state = 467, .external_lex_state = 2},
  [9192] = {.lex_state = 467, .external_lex_state = 2},
  [9193] = {.lex_state = 467, .external_lex_state = 2},
  [9194] = {.lex_state = 467, .external_lex_state = 2},
  [9195] = {.lex_state = 467, .external_lex_state = 2},
  [9196] = {.lex_state = 467, .external_lex_state = 2},
  [9197] = {.lex_state = 467, .external_lex_state = 2},
  [9198] = {.lex_state = 467, .external_lex_state = 39},
  [9199] = {.lex_state = 467, .external_lex_state = 2},
  [9200] = {.lex_state = 1158, .external_lex_state = 42},
  [9201] = {.lex_state = 1158, .external_lex_state = 42},
  [9202] = {.lex_state = 1158, .external_lex_state = 42},
  [9203] = {.lex_state = 467, .external_lex_state = 2},
  [9204] = {.lex_state = 968, .external_lex_state = 12},
  [9205] = {.lex_state = 1158, .external_lex_state = 42},
  [9206] = {.lex_state = 467, .external_lex_state = 2},
  [9207] = {.lex_state = 1160, .external_lex_state = 42},
  [9208] = {.lex_state = 1158, .external_lex_state = 42},
  [9209] = {.lex_state = 1158, .external_lex_state = 42},
  [9210] = {.lex_state = 1158, .external_lex_state = 42},
  [9211] = {.lex_state = 1158, .external_lex_state = 42},
  [9212] = {.lex_state = 1158, .external_lex_state = 42},
  [9213] = {.lex_state = 1158, .external_lex_state = 42},
  [9214] = {.lex_state = 1116, .external_lex_state = 30},
  [9215] = {.lex_state = 1158, .external_lex_state = 42},
  [9216] = {.lex_state = 1158, .external_lex_state = 42},
  [9217] = {.lex_state = 1158, .external_lex_state = 42},
  [9218] = {.lex_state = 1158, .external_lex_state = 42},
  [9219] = {.lex_state = 1158, .external_lex_state = 42},
  [9220] = {.lex_state = 1166, .external_lex_state = 42},
  [9221] = {.lex_state = 1166, .external_lex_state = 42},
  [9222] = {.lex_state = 1166, .external_lex_state = 42},
  [9223] = {.lex_state = 467, .external_lex_state = 2},
  [9224] = {.lex_state = 968, .external_lex_state = 12},
  [9225] = {.lex_state = 1166, .external_lex_state = 42},
  [9226] = {.lex_state = 467, .external_lex_state = 2},
  [9227] = {.lex_state = 968, .external_lex_state = 70},
  [9228] = {.lex_state = 968, .external_lex_state = 12},
  [9229] = {.lex_state = 1158, .external_lex_state = 42},
  [9230] = {.lex_state = 1158, .external_lex_state = 42},
  [9231] = {.lex_state = 1158, .external_lex_state = 42},
  [9232] = {.lex_state = 1160, .external_lex_state = 42},
  [9233] = {.lex_state = 467, .external_lex_state = 2},
  [9234] = {.lex_state = 862, .external_lex_state = 42},
  [9235] = {.lex_state = 0},
  [9236] = {.lex_state = 860, .external_lex_state = 45},
  [9237] = {.lex_state = 960, .external_lex_state = 31},
  [9238] = {.lex_state = 0},
  [9239] = {.lex_state = 617, .external_lex_state = 16},
  [9240] = {.lex_state = 461, .external_lex_state = 2},
  [9241] = {.lex_state = 617, .external_lex_state = 16},
  [9242] = {.lex_state = 461, .external_lex_state = 2},
  [9243] = {.lex_state = 617, .external_lex_state = 16},
  [9244] = {.lex_state = 461, .external_lex_state = 2},
  [9245] = {.lex_state = 617, .external_lex_state = 16},
  [9246] = {.lex_state = 461, .external_lex_state = 2},
  [9247] = {.lex_state = 617, .external_lex_state = 16},
  [9248] = {.lex_state = 461, .external_lex_state = 2},
  [9249] = {.lex_state = 1170, .external_lex_state = 42},
  [9250] = {.lex_state = 862, .external_lex_state = 42},
  [9251] = {.lex_state = 0},
  [9252] = {.lex_state = 659, .external_lex_state = 31},
  [9253] = {.lex_state = 467, .external_lex_state = 2},
  [9254] = {.lex_state = 862, .external_lex_state = 42},
  [9255] = {.lex_state = 585},
  [9256] = {.lex_state = 661, .external_lex_state = 7},
  [9257] = {.lex_state = 862, .external_lex_state = 42},
  [9258] = {.lex_state = 0},
  [9259] = {.lex_state = 467, .external_lex_state = 2},
  [9260] = {.lex_state = 697, .external_lex_state = 35},
  [9261] = {.lex_state = 697, .external_lex_state = 35},
  [9262] = {.lex_state = 700, .external_lex_state = 35},
  [9263] = {.lex_state = 700, .external_lex_state = 35},
  [9264] = {.lex_state = 862, .external_lex_state = 42},
  [9265] = {.lex_state = 862, .external_lex_state = 42},
  [9266] = {.lex_state = 862, .external_lex_state = 42},
  [9267] = {.lex_state = 862, .external_lex_state = 42},
  [9268] = {.lex_state = 718, .external_lex_state = 7},
  [9269] = {.lex_state = 718, .external_lex_state = 7},
  [9270] = {.lex_state = 726, .external_lex_state = 13},
  [9271] = {.lex_state = 726, .external_lex_state = 13},
  [9272] = {.lex_state = 0},
  [9273] = {.lex_state = 0},
  [9274] = {.lex_state = 736, .external_lex_state = 13},
  [9275] = {.lex_state = 734, .external_lex_state = 7},
  [9276] = {.lex_state = 862, .external_lex_state = 42},
  [9277] = {.lex_state = 0},
  [9278] = {.lex_state = 565, .external_lex_state = 2},
  [9279] = {.lex_state = 1170, .external_lex_state = 42},
  [9280] = {.lex_state = 1170, .external_lex_state = 42},
  [9281] = {.lex_state = 862, .external_lex_state = 42},
  [9282] = {.lex_state = 862, .external_lex_state = 42},
  [9283] = {.lex_state = 862, .external_lex_state = 42},
  [9284] = {.lex_state = 783, .external_lex_state = 31},
  [9285] = {.lex_state = 0},
  [9286] = {.lex_state = 0},
  [9287] = {.lex_state = 862, .external_lex_state = 42},
  [9288] = {.lex_state = 467, .external_lex_state = 2},
  [9289] = {.lex_state = 467, .external_lex_state = 2},
  [9290] = {.lex_state = 467, .external_lex_state = 2},
  [9291] = {.lex_state = 467, .external_lex_state = 2},
  [9292] = {.lex_state = 467, .external_lex_state = 2},
  [9293] = {.lex_state = 467, .external_lex_state = 2},
  [9294] = {.lex_state = 467, .external_lex_state = 2},
  [9295] = {.lex_state = 467, .external_lex_state = 2},
  [9296] = {.lex_state = 467, .external_lex_state = 2},
  [9297] = {.lex_state = 467, .external_lex_state = 2},
  [9298] = {.lex_state = 467, .external_lex_state = 2},
  [9299] = {.lex_state = 467, .external_lex_state = 2},
  [9300] = {.lex_state = 467, .external_lex_state = 39},
  [9301] = {.lex_state = 467, .external_lex_state = 2},
  [9302] = {.lex_state = 1346, .external_lex_state = 59},
  [9303] = {.lex_state = 1346, .external_lex_state = 59},
  [9304] = {.lex_state = 862, .external_lex_state = 42},
  [9305] = {.lex_state = 0},
  [9306] = {.lex_state = 862, .external_lex_state = 42},
  [9307] = {.lex_state = 0},
  [9308] = {.lex_state = 862, .external_lex_state = 42},
  [9309] = {.lex_state = 0},
  [9310] = {.lex_state = 746, .external_lex_state = 2},
  [9311] = {.lex_state = 746, .external_lex_state = 11},
  [9312] = {.lex_state = 1170, .external_lex_state = 42},
  [9313] = {.lex_state = 1166, .external_lex_state = 42},
  [9314] = {.lex_state = 1166, .external_lex_state = 42},
  [9315] = {.lex_state = 1166, .external_lex_state = 42},
  [9316] = {.lex_state = 1166, .external_lex_state = 42},
  [9317] = {.lex_state = 1166, .external_lex_state = 42},
  [9318] = {.lex_state = 1166, .external_lex_state = 42},
  [9319] = {.lex_state = 1116, .external_lex_state = 30},
  [9320] = {.lex_state = 1166, .external_lex_state = 42},
  [9321] = {.lex_state = 1166, .external_lex_state = 42},
  [9322] = {.lex_state = 1166, .external_lex_state = 42},
  [9323] = {.lex_state = 1166, .external_lex_state = 42},
  [9324] = {.lex_state = 1166, .external_lex_state = 42},
  [9325] = {.lex_state = 862, .external_lex_state = 42},
  [9326] = {.lex_state = 617, .external_lex_state = 55},
  [9327] = {.lex_state = 461, .external_lex_state = 2},
  [9328] = {.lex_state = 862, .external_lex_state = 42},
  [9329] = {.lex_state = 862, .external_lex_state = 42},
  [9330] = {.lex_state = 968, .external_lex_state = 70},
  [9331] = {.lex_state = 968, .external_lex_state = 12},
  [9332] = {.lex_state = 862, .external_lex_state = 42},
  [9333] = {.lex_state = 1166, .external_lex_state = 42},
  [9334] = {.lex_state = 1166, .external_lex_state = 42},
  [9335] = {.lex_state = 1166, .external_lex_state = 42},
  [9336] = {.lex_state = 1170, .external_lex_state = 42},
  [9337] = {.lex_state = 864, .external_lex_state = 46},
  [9338] = {.lex_state = 467, .external_lex_state = 39},
  [9339] = {.lex_state = 864, .external_lex_state = 46},
  [9340] = {.lex_state = 635, .external_lex_state = 20},
  [9341] = {.lex_state = 0},
  [9342] = {.lex_state = 635, .external_lex_state = 20},
  [9343] = {.lex_state = 0},
  [9344] = {.lex_state = 635, .external_lex_state = 20},
  [9345] = {.lex_state = 769, .external_lex_state = 42},
  [9346] = {.lex_state = 467, .external_lex_state = 2},
  [9347] = {.lex_state = 769, .external_lex_state = 42},
  [9348] = {.lex_state = 617, .external_lex_state = 55},
  [9349] = {.lex_state = 769, .external_lex_state = 42},
  [9350] = {.lex_state = 968, .external_lex_state = 70},
  [9351] = {.lex_state = 467, .external_lex_state = 39},
  [9352] = {.lex_state = 653, .external_lex_state = 42},
  [9353] = {.lex_state = 635, .external_lex_state = 20},
  [9354] = {.lex_state = 0},
  [9355] = {.lex_state = 0},
  [9356] = {.lex_state = 635, .external_lex_state = 20},
  [9357] = {.lex_state = 0},
  [9358] = {.lex_state = 635, .external_lex_state = 20},
  [9359] = {.lex_state = 635, .external_lex_state = 20},
  [9360] = {.lex_state = 635, .external_lex_state = 20},
  [9361] = {.lex_state = 0},
  [9362] = {.lex_state = 635, .external_lex_state = 20},
  [9363] = {.lex_state = 635, .external_lex_state = 20},
  [9364] = {.lex_state = 635, .external_lex_state = 20},
  [9365] = {.lex_state = 0},
  [9366] = {.lex_state = 746, .external_lex_state = 2},
  [9367] = {.lex_state = 651, .external_lex_state = 30},
  [9368] = {.lex_state = 646, .external_lex_state = 20},
  [9369] = {.lex_state = 644, .external_lex_state = 29},
  [9370] = {.lex_state = 0},
  [9371] = {.lex_state = 874, .external_lex_state = 41},
  [9372] = {.lex_state = 777, .external_lex_state = 42},
  [9373] = {.lex_state = 777, .external_lex_state = 42},
  [9374] = {.lex_state = 777, .external_lex_state = 42},
  [9375] = {.lex_state = 777, .external_lex_state = 42},
  [9376] = {.lex_state = 874, .external_lex_state = 59},
  [9377] = {.lex_state = 617, .external_lex_state = 16},
  [9378] = {.lex_state = 777, .external_lex_state = 42},
  [9379] = {.lex_state = 646, .external_lex_state = 20},
  [9380] = {.lex_state = 777, .external_lex_state = 42},
  [9381] = {.lex_state = 585},
  [9382] = {.lex_state = 777, .external_lex_state = 42},
  [9383] = {.lex_state = 777, .external_lex_state = 42},
  [9384] = {.lex_state = 0},
  [9385] = {.lex_state = 565, .external_lex_state = 2},
  [9386] = {.lex_state = 565, .external_lex_state = 2},
  [9387] = {.lex_state = 777, .external_lex_state = 42},
  [9388] = {.lex_state = 0},
  [9389] = {.lex_state = 777, .external_lex_state = 42},
  [9390] = {.lex_state = 0},
  [9391] = {.lex_state = 777, .external_lex_state = 42},
  [9392] = {.lex_state = 0},
  [9393] = {.lex_state = 0},
  [9394] = {.lex_state = 985, .external_lex_state = 2},
  [9395] = {.lex_state = 777, .external_lex_state = 42},
  [9396] = {.lex_state = 0},
  [9397] = {.lex_state = 0},
  [9398] = {.lex_state = 777, .external_lex_state = 42},
  [9399] = {.lex_state = 0},
  [9400] = {.lex_state = 777, .external_lex_state = 42},
  [9401] = {.lex_state = 0},
  [9402] = {.lex_state = 746, .external_lex_state = 2},
  [9403] = {.lex_state = 646, .external_lex_state = 20},
  [9404] = {.lex_state = 0},
  [9405] = {.lex_state = 746, .external_lex_state = 2},
  [9406] = {.lex_state = 777, .external_lex_state = 42},
  [9407] = {.lex_state = 0},
  [9408] = {.lex_state = 777, .external_lex_state = 42},
  [9409] = {.lex_state = 467, .external_lex_state = 2},
  [9410] = {.lex_state = 777, .external_lex_state = 42},
  [9411] = {.lex_state = 617, .external_lex_state = 55},
  [9412] = {.lex_state = 777, .external_lex_state = 42},
  [9413] = {.lex_state = 968, .external_lex_state = 70},
  [9414] = {.lex_state = 467, .external_lex_state = 39},
  [9415] = {.lex_state = 878, .external_lex_state = 42},
  [9416] = {.lex_state = 1174, .external_lex_state = 30},
  [9417] = {.lex_state = 1174, .external_lex_state = 30},
  [9418] = {.lex_state = 1174, .external_lex_state = 30},
  [9419] = {.lex_state = 1174, .external_lex_state = 30},
  [9420] = {.lex_state = 1174, .external_lex_state = 30},
  [9421] = {.lex_state = 1174, .external_lex_state = 30},
  [9422] = {.lex_state = 1116, .external_lex_state = 30},
  [9423] = {.lex_state = 1174, .external_lex_state = 30},
  [9424] = {.lex_state = 1174, .external_lex_state = 30},
  [9425] = {.lex_state = 1174, .external_lex_state = 30},
  [9426] = {.lex_state = 1174, .external_lex_state = 30},
  [9427] = {.lex_state = 1174, .external_lex_state = 30},
  [9428] = {.lex_state = 657, .external_lex_state = 30},
  [9429] = {.lex_state = 467, .external_lex_state = 39},
  [9430] = {.lex_state = 1174, .external_lex_state = 30},
  [9431] = {.lex_state = 1174, .external_lex_state = 30},
  [9432] = {.lex_state = 488, .external_lex_state = 5},
  [9433] = {.lex_state = 617, .external_lex_state = 55},
  [9434] = {.lex_state = 1178, .external_lex_state = 42},
  [9435] = {.lex_state = 1178, .external_lex_state = 42},
  [9436] = {.lex_state = 1178, .external_lex_state = 42},
  [9437] = {.lex_state = 467, .external_lex_state = 2},
  [9438] = {.lex_state = 467, .external_lex_state = 2},
  [9439] = {.lex_state = 467, .external_lex_state = 2},
  [9440] = {.lex_state = 467, .external_lex_state = 2},
  [9441] = {.lex_state = 467, .external_lex_state = 2},
  [9442] = {.lex_state = 467, .external_lex_state = 2},
  [9443] = {.lex_state = 467, .external_lex_state = 2},
  [9444] = {.lex_state = 467, .external_lex_state = 2},
  [9445] = {.lex_state = 467, .external_lex_state = 2},
  [9446] = {.lex_state = 467, .external_lex_state = 2},
  [9447] = {.lex_state = 467, .external_lex_state = 2},
  [9448] = {.lex_state = 467, .external_lex_state = 2},
  [9449] = {.lex_state = 467, .external_lex_state = 39},
  [9450] = {.lex_state = 467, .external_lex_state = 2},
  [9451] = {.lex_state = 1178, .external_lex_state = 42},
  [9452] = {.lex_state = 1176, .external_lex_state = 42},
  [9453] = {.lex_state = 1176, .external_lex_state = 42},
  [9454] = {.lex_state = 1176, .external_lex_state = 42},
  [9455] = {.lex_state = 1176, .external_lex_state = 42},
  [9456] = {.lex_state = 1176, .external_lex_state = 42},
  [9457] = {.lex_state = 1176, .external_lex_state = 42},
  [9458] = {.lex_state = 1116, .external_lex_state = 30},
  [9459] = {.lex_state = 1176, .external_lex_state = 42},
  [9460] = {.lex_state = 1176, .external_lex_state = 42},
  [9461] = {.lex_state = 1176, .external_lex_state = 42},
  [9462] = {.lex_state = 1176, .external_lex_state = 42},
  [9463] = {.lex_state = 1176, .external_lex_state = 42},
  [9464] = {.lex_state = 968, .external_lex_state = 70},
  [9465] = {.lex_state = 968, .external_lex_state = 12},
  [9466] = {.lex_state = 1176, .external_lex_state = 42},
  [9467] = {.lex_state = 1176, .external_lex_state = 42},
  [9468] = {.lex_state = 1176, .external_lex_state = 42},
  [9469] = {.lex_state = 1178, .external_lex_state = 42},
  [9470] = {.lex_state = 458, .external_lex_state = 4},
  [9471] = {.lex_state = 467, .external_lex_state = 2},
  [9472] = {.lex_state = 886, .external_lex_state = 20},
  [9473] = {.lex_state = 0},
  [9474] = {.lex_state = 884, .external_lex_state = 29},
  [9475] = {.lex_state = 960, .external_lex_state = 31},
  [9476] = {.lex_state = 0},
  [9477] = {.lex_state = 1182, .external_lex_state = 42},
  [9478] = {.lex_state = 1182, .external_lex_state = 42},
  [9479] = {.lex_state = 1182, .external_lex_state = 42},
  [9480] = {.lex_state = 467, .external_lex_state = 2},
  [9481] = {.lex_state = 467, .external_lex_state = 2},
  [9482] = {.lex_state = 467, .external_lex_state = 2},
  [9483] = {.lex_state = 467, .external_lex_state = 2},
  [9484] = {.lex_state = 467, .external_lex_state = 2},
  [9485] = {.lex_state = 467, .external_lex_state = 2},
  [9486] = {.lex_state = 467, .external_lex_state = 2},
  [9487] = {.lex_state = 467, .external_lex_state = 2},
  [9488] = {.lex_state = 467, .external_lex_state = 2},
  [9489] = {.lex_state = 467, .external_lex_state = 2},
  [9490] = {.lex_state = 467, .external_lex_state = 2},
  [9491] = {.lex_state = 467, .external_lex_state = 2},
  [9492] = {.lex_state = 467, .external_lex_state = 39},
  [9493] = {.lex_state = 467, .external_lex_state = 2},
  [9494] = {.lex_state = 886, .external_lex_state = 20},
  [9495] = {.lex_state = 0},
  [9496] = {.lex_state = 886, .external_lex_state = 20},
  [9497] = {.lex_state = 0},
  [9498] = {.lex_state = 746, .external_lex_state = 2},
  [9499] = {.lex_state = 746, .external_lex_state = 11},
  [9500] = {.lex_state = 1182, .external_lex_state = 42},
  [9501] = {.lex_state = 1180, .external_lex_state = 42},
  [9502] = {.lex_state = 1180, .external_lex_state = 42},
  [9503] = {.lex_state = 1180, .external_lex_state = 42},
  [9504] = {.lex_state = 1180, .external_lex_state = 42},
  [9505] = {.lex_state = 1180, .external_lex_state = 42},
  [9506] = {.lex_state = 1180, .external_lex_state = 42},
  [9507] = {.lex_state = 1116, .external_lex_state = 30},
  [9508] = {.lex_state = 1180, .external_lex_state = 42},
  [9509] = {.lex_state = 1180, .external_lex_state = 42},
  [9510] = {.lex_state = 1180, .external_lex_state = 42},
  [9511] = {.lex_state = 1180, .external_lex_state = 42},
  [9512] = {.lex_state = 1180, .external_lex_state = 42},
  [9513] = {.lex_state = 886, .external_lex_state = 20},
  [9514] = {.lex_state = 968, .external_lex_state = 70},
  [9515] = {.lex_state = 968, .external_lex_state = 12},
  [9516] = {.lex_state = 1180, .external_lex_state = 42},
  [9517] = {.lex_state = 1180, .external_lex_state = 42},
  [9518] = {.lex_state = 1180, .external_lex_state = 42},
  [9519] = {.lex_state = 1182, .external_lex_state = 42},
  [9520] = {.lex_state = 1228, .external_lex_state = 30},
  [9521] = {.lex_state = 1228, .external_lex_state = 30},
  [9522] = {.lex_state = 1228, .external_lex_state = 30},
  [9523] = {.lex_state = 1228, .external_lex_state = 30},
  [9524] = {.lex_state = 467, .external_lex_state = 2},
  [9525] = {.lex_state = 467, .external_lex_state = 2},
  [9526] = {.lex_state = 467, .external_lex_state = 2},
  [9527] = {.lex_state = 467, .external_lex_state = 2},
  [9528] = {.lex_state = 467, .external_lex_state = 2},
  [9529] = {.lex_state = 467, .external_lex_state = 2},
  [9530] = {.lex_state = 467, .external_lex_state = 2},
  [9531] = {.lex_state = 467, .external_lex_state = 2},
  [9532] = {.lex_state = 467, .external_lex_state = 2},
  [9533] = {.lex_state = 467, .external_lex_state = 2},
  [9534] = {.lex_state = 467, .external_lex_state = 2},
  [9535] = {.lex_state = 467, .external_lex_state = 2},
  [9536] = {.lex_state = 467, .external_lex_state = 39},
  [9537] = {.lex_state = 1228, .external_lex_state = 30},
  [9538] = {.lex_state = 467, .external_lex_state = 39},
  [9539] = {.lex_state = 467, .external_lex_state = 2},
  [9540] = {.lex_state = 565, .external_lex_state = 2},
  [9541] = {.lex_state = 565, .external_lex_state = 11},
  [9542] = {.lex_state = 900, .external_lex_state = 7},
  [9543] = {.lex_state = 0},
  [9544] = {.lex_state = 631, .external_lex_state = 2},
  [9545] = {.lex_state = 900, .external_lex_state = 7},
  [9546] = {.lex_state = 0},
  [9547] = {.lex_state = 746, .external_lex_state = 11},
  [9548] = {.lex_state = 800, .external_lex_state = 11},
  [9549] = {.lex_state = 900, .external_lex_state = 7},
  [9550] = {.lex_state = 1350, .external_lex_state = 13},
  [9551] = {.lex_state = 1350, .external_lex_state = 13},
  [9552] = {.lex_state = 1350, .external_lex_state = 13},
  [9553] = {.lex_state = 467, .external_lex_state = 2},
  [9554] = {.lex_state = 467, .external_lex_state = 2},
  [9555] = {.lex_state = 467, .external_lex_state = 2},
  [9556] = {.lex_state = 467, .external_lex_state = 2},
  [9557] = {.lex_state = 467, .external_lex_state = 2},
  [9558] = {.lex_state = 467, .external_lex_state = 2},
  [9559] = {.lex_state = 467, .external_lex_state = 2},
  [9560] = {.lex_state = 467, .external_lex_state = 2},
  [9561] = {.lex_state = 467, .external_lex_state = 2},
  [9562] = {.lex_state = 467, .external_lex_state = 2},
  [9563] = {.lex_state = 467, .external_lex_state = 2},
  [9564] = {.lex_state = 467, .external_lex_state = 2},
  [9565] = {.lex_state = 467, .external_lex_state = 39},
  [9566] = {.lex_state = 467, .external_lex_state = 2},
  [9567] = {.lex_state = 0},
  [9568] = {.lex_state = 661},
  [9569] = {.lex_state = 900, .external_lex_state = 7},
  [9570] = {.lex_state = 1208, .external_lex_state = 42},
  [9571] = {.lex_state = 467, .external_lex_state = 2},
  [9572] = {.lex_state = 467, .external_lex_state = 2},
  [9573] = {.lex_state = 467, .external_lex_state = 2},
  [9574] = {.lex_state = 956, .external_lex_state = 43},
  [9575] = {.lex_state = 1192, .external_lex_state = 42},
  [9576] = {.lex_state = 1208, .external_lex_state = 42},
  [9577] = {.lex_state = 638, .external_lex_state = 22},
  [9578] = {.lex_state = 1196, .external_lex_state = 41},
  [9579] = {.lex_state = 1208, .external_lex_state = 42},
  [9580] = {.lex_state = 1208, .external_lex_state = 42},
  [9581] = {.lex_state = 467, .external_lex_state = 2},
  [9582] = {.lex_state = 467, .external_lex_state = 2},
  [9583] = {.lex_state = 467, .external_lex_state = 2},
  [9584] = {.lex_state = 467, .external_lex_state = 2},
  [9585] = {.lex_state = 467, .external_lex_state = 2},
  [9586] = {.lex_state = 467, .external_lex_state = 2},
  [9587] = {.lex_state = 467, .external_lex_state = 2},
  [9588] = {.lex_state = 467, .external_lex_state = 2},
  [9589] = {.lex_state = 467, .external_lex_state = 2},
  [9590] = {.lex_state = 467, .external_lex_state = 2},
  [9591] = {.lex_state = 467, .external_lex_state = 2},
  [9592] = {.lex_state = 467, .external_lex_state = 2},
  [9593] = {.lex_state = 467, .external_lex_state = 39},
  [9594] = {.lex_state = 467, .external_lex_state = 2},
  [9595] = {.lex_state = 1192, .external_lex_state = 42},
  [9596] = {.lex_state = 1192, .external_lex_state = 42},
  [9597] = {.lex_state = 1192, .external_lex_state = 42},
  [9598] = {.lex_state = 467, .external_lex_state = 2},
  [9599] = {.lex_state = 968, .external_lex_state = 12},
  [9600] = {.lex_state = 1192, .external_lex_state = 42},
  [9601] = {.lex_state = 467, .external_lex_state = 2},
  [9602] = {.lex_state = 1208, .external_lex_state = 42},
  [9603] = {.lex_state = 1192, .external_lex_state = 42},
  [9604] = {.lex_state = 1192, .external_lex_state = 42},
  [9605] = {.lex_state = 1192, .external_lex_state = 42},
  [9606] = {.lex_state = 1192, .external_lex_state = 42},
  [9607] = {.lex_state = 1192, .external_lex_state = 42},
  [9608] = {.lex_state = 1192, .external_lex_state = 42},
  [9609] = {.lex_state = 1116, .external_lex_state = 30},
  [9610] = {.lex_state = 1192, .external_lex_state = 42},
  [9611] = {.lex_state = 1192, .external_lex_state = 42},
  [9612] = {.lex_state = 1192, .external_lex_state = 42},
  [9613] = {.lex_state = 1192, .external_lex_state = 42},
  [9614] = {.lex_state = 1192, .external_lex_state = 42},
  [9615] = {.lex_state = 968, .external_lex_state = 70},
  [9616] = {.lex_state = 968, .external_lex_state = 12},
  [9617] = {.lex_state = 1192, .external_lex_state = 42},
  [9618] = {.lex_state = 1192, .external_lex_state = 42},
  [9619] = {.lex_state = 1192, .external_lex_state = 42},
  [9620] = {.lex_state = 1208, .external_lex_state = 42},
  [9621] = {.lex_state = 912, .external_lex_state = 4},
  [9622] = {.lex_state = 912, .external_lex_state = 4},
  [9623] = {.lex_state = 912, .external_lex_state = 4},
  [9624] = {.lex_state = 912, .external_lex_state = 4},
  [9625] = {.lex_state = 912, .external_lex_state = 4},
  [9626] = {.lex_state = 912, .external_lex_state = 4},
  [9627] = {.lex_state = 1116, .external_lex_state = 30},
  [9628] = {.lex_state = 912, .external_lex_state = 4},
  [9629] = {.lex_state = 912, .external_lex_state = 4},
  [9630] = {.lex_state = 912, .external_lex_state = 4},
  [9631] = {.lex_state = 912, .external_lex_state = 4},
  [9632] = {.lex_state = 912, .external_lex_state = 4},
  [9633] = {.lex_state = 912, .external_lex_state = 4},
  [9634] = {.lex_state = 912, .external_lex_state = 4},
  [9635] = {.lex_state = 912, .external_lex_state = 4},
  [9636] = {.lex_state = 908, .external_lex_state = 4},
  [9637] = {.lex_state = 968, .external_lex_state = 70},
  [9638] = {.lex_state = 968, .external_lex_state = 12},
  [9639] = {.lex_state = 908, .external_lex_state = 4},
  [9640] = {.lex_state = 467, .external_lex_state = 2},
  [9641] = {.lex_state = 906, .external_lex_state = 10},
  [9642] = {.lex_state = 960, .external_lex_state = 31},
  [9643] = {.lex_state = 0},
  [9644] = {.lex_state = 920, .external_lex_state = 4},
  [9645] = {.lex_state = 968, .external_lex_state = 70},
  [9646] = {.lex_state = 968, .external_lex_state = 12},
  [9647] = {.lex_state = 920, .external_lex_state = 4},
  [9648] = {.lex_state = 968, .external_lex_state = 70},
  [9649] = {.lex_state = 467, .external_lex_state = 39},
  [9650] = {.lex_state = 908, .external_lex_state = 4},
  [9651] = {.lex_state = 918, .external_lex_state = 2},
  [9652] = {.lex_state = 677, .external_lex_state = 13},
  [9653] = {.lex_state = 671, .external_lex_state = 10},
  [9654] = {.lex_state = 0},
  [9655] = {.lex_state = 924, .external_lex_state = 4},
  [9656] = {.lex_state = 924, .external_lex_state = 4},
  [9657] = {.lex_state = 924, .external_lex_state = 4},
  [9658] = {.lex_state = 924, .external_lex_state = 4},
  [9659] = {.lex_state = 924, .external_lex_state = 4},
  [9660] = {.lex_state = 924, .external_lex_state = 4},
  [9661] = {.lex_state = 1116, .external_lex_state = 30},
  [9662] = {.lex_state = 924, .external_lex_state = 4},
  [9663] = {.lex_state = 924, .external_lex_state = 4},
  [9664] = {.lex_state = 924, .external_lex_state = 4},
  [9665] = {.lex_state = 924, .external_lex_state = 4},
  [9666] = {.lex_state = 924, .external_lex_state = 4},
  [9667] = {.lex_state = 924, .external_lex_state = 4},
  [9668] = {.lex_state = 924, .external_lex_state = 4},
  [9669] = {.lex_state = 924, .external_lex_state = 4},
  [9670] = {.lex_state = 467, .external_lex_state = 2},
  [9671] = {.lex_state = 968, .external_lex_state = 70},
  [9672] = {.lex_state = 467, .external_lex_state = 39},
  [9673] = {.lex_state = 920, .external_lex_state = 4},
  [9674] = {.lex_state = 1200, .external_lex_state = 13},
  [9675] = {.lex_state = 1200, .external_lex_state = 13},
  [9676] = {.lex_state = 1200, .external_lex_state = 13},
  [9677] = {.lex_state = 1200, .external_lex_state = 13},
  [9678] = {.lex_state = 1200, .external_lex_state = 13},
  [9679] = {.lex_state = 1200, .external_lex_state = 13},
  [9680] = {.lex_state = 1116, .external_lex_state = 30},
  [9681] = {.lex_state = 1200, .external_lex_state = 13},
  [9682] = {.lex_state = 1200, .external_lex_state = 13},
  [9683] = {.lex_state = 1200, .external_lex_state = 13},
  [9684] = {.lex_state = 1200, .external_lex_state = 13},
  [9685] = {.lex_state = 1200, .external_lex_state = 13},
  [9686] = {.lex_state = 467, .external_lex_state = 39},
  [9687] = {.lex_state = 1200, .external_lex_state = 13},
  [9688] = {.lex_state = 1200, .external_lex_state = 13},
  [9689] = {.lex_state = 545, .external_lex_state = 6},
  [9690] = {.lex_state = 687, .external_lex_state = 33},
  [9691] = {.lex_state = 687, .external_lex_state = 33},
  [9692] = {.lex_state = 0},
  [9693] = {.lex_state = 687, .external_lex_state = 33},
  [9694] = {.lex_state = 0},
  [9695] = {.lex_state = 687, .external_lex_state = 33},
  [9696] = {.lex_state = 1202, .external_lex_state = 42},
  [9697] = {.lex_state = 1202, .external_lex_state = 42},
  [9698] = {.lex_state = 1202, .external_lex_state = 42},
  [9699] = {.lex_state = 467, .external_lex_state = 2},
  [9700] = {.lex_state = 968, .external_lex_state = 12},
  [9701] = {.lex_state = 1202, .external_lex_state = 42},
  [9702] = {.lex_state = 467, .external_lex_state = 2},
  [9703] = {.lex_state = 1202, .external_lex_state = 42},
  [9704] = {.lex_state = 1202, .external_lex_state = 42},
  [9705] = {.lex_state = 1202, .external_lex_state = 42},
  [9706] = {.lex_state = 1202, .external_lex_state = 42},
  [9707] = {.lex_state = 1202, .external_lex_state = 42},
  [9708] = {.lex_state = 1202, .external_lex_state = 42},
  [9709] = {.lex_state = 1116, .external_lex_state = 30},
  [9710] = {.lex_state = 1202, .external_lex_state = 42},
  [9711] = {.lex_state = 1202, .external_lex_state = 42},
  [9712] = {.lex_state = 1202, .external_lex_state = 42},
  [9713] = {.lex_state = 1202, .external_lex_state = 42},
  [9714] = {.lex_state = 1202, .external_lex_state = 42},
  [9715] = {.lex_state = 467, .external_lex_state = 2},
  [9716] = {.lex_state = 621, .external_lex_state = 45},
  [9717] = {.lex_state = 621, .external_lex_state = 45},
  [9718] = {.lex_state = 621, .external_lex_state = 45},
  [9719] = {.lex_state = 621, .external_lex_state = 45},
  [9720] = {.lex_state = 467, .external_lex_state = 2},
  [9721] = {.lex_state = 467, .external_lex_state = 2},
  [9722] = {.lex_state = 467, .external_lex_state = 2},
  [9723] = {.lex_state = 1216, .external_lex_state = 42},
  [9724] = {.lex_state = 549},
  [9725] = {.lex_state = 1216, .external_lex_state = 42},
  [9726] = {.lex_state = 1216, .external_lex_state = 42},
  [9727] = {.lex_state = 1216, .external_lex_state = 42},
  [9728] = {.lex_state = 467, .external_lex_state = 2},
  [9729] = {.lex_state = 968, .external_lex_state = 12},
  [9730] = {.lex_state = 1216, .external_lex_state = 42},
  [9731] = {.lex_state = 467, .external_lex_state = 2},
  [9732] = {.lex_state = 1202, .external_lex_state = 42},
  [9733] = {.lex_state = 1202, .external_lex_state = 42},
  [9734] = {.lex_state = 1202, .external_lex_state = 42},
  [9735] = {.lex_state = 930, .external_lex_state = 61},
  [9736] = {.lex_state = 930, .external_lex_state = 61},
  [9737] = {.lex_state = 617, .external_lex_state = 55},
  [9738] = {.lex_state = 930, .external_lex_state = 61},
  [9739] = {.lex_state = 968, .external_lex_state = 70},
  [9740] = {.lex_state = 687, .external_lex_state = 33},
  [9741] = {.lex_state = 0},
  [9742] = {.lex_state = 0},
  [9743] = {.lex_state = 687, .external_lex_state = 33},
  [9744] = {.lex_state = 0},
  [9745] = {.lex_state = 687, .external_lex_state = 33},
  [9746] = {.lex_state = 687, .external_lex_state = 33},
  [9747] = {.lex_state = 687, .external_lex_state = 33},
  [9748] = {.lex_state = 0},
  [9749] = {.lex_state = 687, .external_lex_state = 33},
  [9750] = {.lex_state = 607, .external_lex_state = 33},
  [9751] = {.lex_state = 607, .external_lex_state = 33},
  [9752] = {.lex_state = 0},
  [9753] = {.lex_state = 746, .external_lex_state = 2},
  [9754] = {.lex_state = 607, .external_lex_state = 33},
  [9755] = {.lex_state = 691, .external_lex_state = 34},
  [9756] = {.lex_state = 0},
  [9757] = {.lex_state = 1206, .external_lex_state = 59},
  [9758] = {.lex_state = 617, .external_lex_state = 16},
  [9759] = {.lex_state = 1208, .external_lex_state = 42},
  [9760] = {.lex_state = 617, .external_lex_state = 16},
  [9761] = {.lex_state = 1208, .external_lex_state = 42},
  [9762] = {.lex_state = 617, .external_lex_state = 16},
  [9763] = {.lex_state = 1208, .external_lex_state = 42},
  [9764] = {.lex_state = 617, .external_lex_state = 16},
  [9765] = {.lex_state = 1208, .external_lex_state = 42},
  [9766] = {.lex_state = 617, .external_lex_state = 16},
  [9767] = {.lex_state = 1208, .external_lex_state = 42},
  [9768] = {.lex_state = 0},
  [9769] = {.lex_state = 888, .external_lex_state = 30},
  [9770] = {.lex_state = 545, .external_lex_state = 6},
  [9771] = {.lex_state = 565, .external_lex_state = 2},
  [9772] = {.lex_state = 1208, .external_lex_state = 42},
  [9773] = {.lex_state = 942, .external_lex_state = 13},
  [9774] = {.lex_state = 946, .external_lex_state = 7},
  [9775] = {.lex_state = 565, .external_lex_state = 2},
  [9776] = {.lex_state = 1208, .external_lex_state = 42},
  [9777] = {.lex_state = 565, .external_lex_state = 2},
  [9778] = {.lex_state = 1208, .external_lex_state = 44},
  [9779] = {.lex_state = 1214, .external_lex_state = 42},
  [9780] = {.lex_state = 1214, .external_lex_state = 42},
  [9781] = {.lex_state = 1208, .external_lex_state = 42},
  [9782] = {.lex_state = 960, .external_lex_state = 31},
  [9783] = {.lex_state = 0},
  [9784] = {.lex_state = 1214, .external_lex_state = 42},
  [9785] = {.lex_state = 467, .external_lex_state = 2},
  [9786] = {.lex_state = 1208, .external_lex_state = 42},
  [9787] = {.lex_state = 461, .external_lex_state = 2},
  [9788] = {.lex_state = 1208, .external_lex_state = 42},
  [9789] = {.lex_state = 1208, .external_lex_state = 42},
  [9790] = {.lex_state = 968, .external_lex_state = 12},
  [9791] = {.lex_state = 1214, .external_lex_state = 42},
  [9792] = {.lex_state = 467, .external_lex_state = 2},
  [9793] = {.lex_state = 985, .external_lex_state = 11},
  [9794] = {.lex_state = 996, .external_lex_state = 2},
  [9795] = {.lex_state = 746, .external_lex_state = 2},
  [9796] = {.lex_state = 746, .external_lex_state = 2},
  [9797] = {.lex_state = 1020, .external_lex_state = 7},
  [9798] = {.lex_state = 1208, .external_lex_state = 42},
  [9799] = {.lex_state = 0},
  [9800] = {.lex_state = 734, .external_lex_state = 7},
  [9801] = {.lex_state = 1208, .external_lex_state = 42},
  [9802] = {.lex_state = 0},
  [9803] = {.lex_state = 0},
  [9804] = {.lex_state = 1208, .external_lex_state = 42},
  [9805] = {.lex_state = 0},
  [9806] = {.lex_state = 631, .external_lex_state = 2},
  [9807] = {.lex_state = 1208, .external_lex_state = 42},
  [9808] = {.lex_state = 0},
  [9809] = {.lex_state = 746, .external_lex_state = 11},
  [9810] = {.lex_state = 800, .external_lex_state = 11},
  [9811] = {.lex_state = 1208, .external_lex_state = 42},
  [9812] = {.lex_state = 1214, .external_lex_state = 42},
  [9813] = {.lex_state = 1214, .external_lex_state = 42},
  [9814] = {.lex_state = 1214, .external_lex_state = 42},
  [9815] = {.lex_state = 1214, .external_lex_state = 42},
  [9816] = {.lex_state = 1214, .external_lex_state = 42},
  [9817] = {.lex_state = 1214, .external_lex_state = 42},
  [9818] = {.lex_state = 1116, .external_lex_state = 30},
  [9819] = {.lex_state = 1214, .external_lex_state = 42},
  [9820] = {.lex_state = 1214, .external_lex_state = 42},
  [9821] = {.lex_state = 1214, .external_lex_state = 42},
  [9822] = {.lex_state = 1214, .external_lex_state = 42},
  [9823] = {.lex_state = 1214, .external_lex_state = 42},
  [9824] = {.lex_state = 1214, .external_lex_state = 42},
  [9825] = {.lex_state = 1208, .external_lex_state = 42},
  [9826] = {.lex_state = 1208, .external_lex_state = 42},
  [9827] = {.lex_state = 1214, .external_lex_state = 42},
  [9828] = {.lex_state = 1214, .external_lex_state = 42},
  [9829] = {.lex_state = 1206, .external_lex_state = 59},
  [9830] = {.lex_state = 936, .external_lex_state = 42},
  [9831] = {.lex_state = 968, .external_lex_state = 70},
  [9832] = {.lex_state = 968, .external_lex_state = 12},
  [9833] = {.lex_state = 936, .external_lex_state = 42},
  [9834] = {.lex_state = 467, .external_lex_state = 2},
  [9835] = {.lex_state = 968, .external_lex_state = 70},
  [9836] = {.lex_state = 467, .external_lex_state = 39},
  [9837] = {.lex_state = 936, .external_lex_state = 42},
  [9838] = {.lex_state = 1220, .external_lex_state = 4},
  [9839] = {.lex_state = 1220, .external_lex_state = 4},
  [9840] = {.lex_state = 1220, .external_lex_state = 4},
  [9841] = {.lex_state = 467, .external_lex_state = 2},
  [9842] = {.lex_state = 467, .external_lex_state = 2},
  [9843] = {.lex_state = 467, .external_lex_state = 2},
  [9844] = {.lex_state = 467, .external_lex_state = 2},
  [9845] = {.lex_state = 467, .external_lex_state = 2},
  [9846] = {.lex_state = 467, .external_lex_state = 2},
  [9847] = {.lex_state = 467, .external_lex_state = 2},
  [9848] = {.lex_state = 467, .external_lex_state = 2},
  [9849] = {.lex_state = 467, .external_lex_state = 2},
  [9850] = {.lex_state = 467, .external_lex_state = 2},
  [9851] = {.lex_state = 467, .external_lex_state = 2},
  [9852] = {.lex_state = 467, .external_lex_state = 2},
  [9853] = {.lex_state = 467, .external_lex_state = 39},
  [9854] = {.lex_state = 467, .external_lex_state = 2},
  [9855] = {.lex_state = 1218, .external_lex_state = 4},
  [9856] = {.lex_state = 1218, .external_lex_state = 4},
  [9857] = {.lex_state = 1218, .external_lex_state = 4},
  [9858] = {.lex_state = 467, .external_lex_state = 2},
  [9859] = {.lex_state = 968, .external_lex_state = 12},
  [9860] = {.lex_state = 1218, .external_lex_state = 4},
  [9861] = {.lex_state = 467, .external_lex_state = 2},
  [9862] = {.lex_state = 1220, .external_lex_state = 4},
  [9863] = {.lex_state = 1218, .external_lex_state = 4},
  [9864] = {.lex_state = 1218, .external_lex_state = 4},
  [9865] = {.lex_state = 1218, .external_lex_state = 4},
  [9866] = {.lex_state = 1218, .external_lex_state = 4},
  [9867] = {.lex_state = 1218, .external_lex_state = 4},
  [9868] = {.lex_state = 1218, .external_lex_state = 4},
  [9869] = {.lex_state = 1116, .external_lex_state = 30},
  [9870] = {.lex_state = 1218, .external_lex_state = 4},
  [9871] = {.lex_state = 1218, .external_lex_state = 4},
  [9872] = {.lex_state = 1218, .external_lex_state = 4},
  [9873] = {.lex_state = 1218, .external_lex_state = 4},
  [9874] = {.lex_state = 1218, .external_lex_state = 4},
  [9875] = {.lex_state = 968, .external_lex_state = 70},
  [9876] = {.lex_state = 968, .external_lex_state = 12},
  [9877] = {.lex_state = 1218, .external_lex_state = 4},
  [9878] = {.lex_state = 1218, .external_lex_state = 4},
  [9879] = {.lex_state = 1218, .external_lex_state = 4},
  [9880] = {.lex_state = 1220, .external_lex_state = 4},
  [9881] = {.lex_state = 467, .external_lex_state = 2},
  [9882] = {.lex_state = 458, .external_lex_state = 4},
  [9883] = {.lex_state = 1350, .external_lex_state = 13},
  [9884] = {.lex_state = 467, .external_lex_state = 39},
  [9885] = {.lex_state = 1350, .external_lex_state = 13},
  [9886] = {.lex_state = 458, .external_lex_state = 4},
  [9887] = {.lex_state = 1226, .external_lex_state = 42},
  [9888] = {.lex_state = 1226, .external_lex_state = 42},
  [9889] = {.lex_state = 1226, .external_lex_state = 42},
  [9890] = {.lex_state = 467, .external_lex_state = 2},
  [9891] = {.lex_state = 968, .external_lex_state = 12},
  [9892] = {.lex_state = 1226, .external_lex_state = 42},
  [9893] = {.lex_state = 467, .external_lex_state = 2},
  [9894] = {.lex_state = 1226, .external_lex_state = 42},
  [9895] = {.lex_state = 1226, .external_lex_state = 42},
  [9896] = {.lex_state = 1226, .external_lex_state = 42},
  [9897] = {.lex_state = 1226, .external_lex_state = 42},
  [9898] = {.lex_state = 1226, .external_lex_state = 42},
  [9899] = {.lex_state = 1226, .external_lex_state = 42},
  [9900] = {.lex_state = 1116, .external_lex_state = 30},
  [9901] = {.lex_state = 1226, .external_lex_state = 42},
  [9902] = {.lex_state = 1226, .external_lex_state = 42},
  [9903] = {.lex_state = 1226, .external_lex_state = 42},
  [9904] = {.lex_state = 1226, .external_lex_state = 42},
  [9905] = {.lex_state = 1226, .external_lex_state = 42},
  [9906] = {.lex_state = 1226, .external_lex_state = 42},
  [9907] = {.lex_state = 1226, .external_lex_state = 42},
  [9908] = {.lex_state = 1226, .external_lex_state = 42},
  [9909] = {.lex_state = 948, .external_lex_state = 42},
  [9910] = {.lex_state = 968, .external_lex_state = 70},
  [9911] = {.lex_state = 968, .external_lex_state = 12},
  [9912] = {.lex_state = 948, .external_lex_state = 42},
  [9913] = {.lex_state = 467, .external_lex_state = 2},
  [9914] = {.lex_state = 968, .external_lex_state = 70},
  [9915] = {.lex_state = 467, .external_lex_state = 39},
  [9916] = {.lex_state = 948, .external_lex_state = 42},
  [9917] = {.lex_state = 467, .external_lex_state = 2},
  [9918] = {.lex_state = 467, .external_lex_state = 39},
  [9919] = {.lex_state = 603, .external_lex_state = 4},
  [9920] = {.lex_state = 1228, .external_lex_state = 46},
  [9921] = {.lex_state = 1228, .external_lex_state = 46},
  [9922] = {.lex_state = 1228, .external_lex_state = 46},
  [9923] = {.lex_state = 1228, .external_lex_state = 46},
  [9924] = {.lex_state = 1228, .external_lex_state = 46},
  [9925] = {.lex_state = 1228, .external_lex_state = 46},
  [9926] = {.lex_state = 1116, .external_lex_state = 30},
  [9927] = {.lex_state = 1228, .external_lex_state = 46},
  [9928] = {.lex_state = 1228, .external_lex_state = 46},
  [9929] = {.lex_state = 1228, .external_lex_state = 46},
  [9930] = {.lex_state = 1228, .external_lex_state = 46},
  [9931] = {.lex_state = 1228, .external_lex_state = 46},
  [9932] = {.lex_state = 467, .external_lex_state = 2},
  [9933] = {.lex_state = 1228, .external_lex_state = 46},
  [9934] = {.lex_state = 1228, .external_lex_state = 46},
  [9935] = {.lex_state = 1228, .external_lex_state = 46},
  [9936] = {.lex_state = 1176, .external_lex_state = 42},
  [9937] = {.lex_state = 968, .external_lex_state = 70},
  [9938] = {.lex_state = 968, .external_lex_state = 12},
  [9939] = {.lex_state = 1176, .external_lex_state = 42},
  [9940] = {.lex_state = 467, .external_lex_state = 2},
  [9941] = {.lex_state = 1180, .external_lex_state = 42},
  [9942] = {.lex_state = 968, .external_lex_state = 70},
  [9943] = {.lex_state = 968, .external_lex_state = 12},
  [9944] = {.lex_state = 1180, .external_lex_state = 42},
  [9945] = {.lex_state = 958, .external_lex_state = 46},
  [9946] = {.lex_state = 467, .external_lex_state = 39},
  [9947] = {.lex_state = 958, .external_lex_state = 46},
  [9948] = {.lex_state = 968, .external_lex_state = 70},
  [9949] = {.lex_state = 710, .external_lex_state = 4},
  [9950] = {.lex_state = 708, .external_lex_state = 4},
  [9951] = {.lex_state = 706, .external_lex_state = 10},
  [9952] = {.lex_state = 0},
  [9953] = {.lex_state = 708, .external_lex_state = 4},
  [9954] = {.lex_state = 708, .external_lex_state = 4},
  [9955] = {.lex_state = 708, .external_lex_state = 4},
  [9956] = {.lex_state = 0},
  [9957] = {.lex_state = 746, .external_lex_state = 2},
  [9958] = {.lex_state = 708, .external_lex_state = 4},
  [9959] = {.lex_state = 617, .external_lex_state = 55},
  [9960] = {.lex_state = 708, .external_lex_state = 4},
  [9961] = {.lex_state = 968, .external_lex_state = 70},
  [9962] = {.lex_state = 458, .external_lex_state = 4},
  [9963] = {.lex_state = 968, .external_lex_state = 70},
  [9964] = {.lex_state = 617, .external_lex_state = 55},
  [9965] = {.lex_state = 458, .external_lex_state = 4},
  [9966] = {.lex_state = 458, .external_lex_state = 4},
  [9967] = {.lex_state = 467, .external_lex_state = 39},
  [9968] = {.lex_state = 976, .external_lex_state = 4},
  [9969] = {.lex_state = 976, .external_lex_state = 4},
  [9970] = {.lex_state = 976, .external_lex_state = 4},
  [9971] = {.lex_state = 976, .external_lex_state = 4},
  [9972] = {.lex_state = 976, .external_lex_state = 4},
  [9973] = {.lex_state = 976, .external_lex_state = 4},
  [9974] = {.lex_state = 1116, .external_lex_state = 30},
  [9975] = {.lex_state = 976, .external_lex_state = 4},
  [9976] = {.lex_state = 976, .external_lex_state = 4},
  [9977] = {.lex_state = 976, .external_lex_state = 4},
  [9978] = {.lex_state = 976, .external_lex_state = 4},
  [9979] = {.lex_state = 976, .external_lex_state = 4},
  [9980] = {.lex_state = 976, .external_lex_state = 4},
  [9981] = {.lex_state = 976, .external_lex_state = 4},
  [9982] = {.lex_state = 976, .external_lex_state = 4},
  [9983] = {.lex_state = 974, .external_lex_state = 4},
  [9984] = {.lex_state = 968, .external_lex_state = 70},
  [9985] = {.lex_state = 968, .external_lex_state = 12},
  [9986] = {.lex_state = 974, .external_lex_state = 4},
  [9987] = {.lex_state = 467, .external_lex_state = 2},
  [9988] = {.lex_state = 987, .external_lex_state = 4},
  [9989] = {.lex_state = 968, .external_lex_state = 70},
  [9990] = {.lex_state = 968, .external_lex_state = 12},
  [9991] = {.lex_state = 987, .external_lex_state = 4},
  [9992] = {.lex_state = 968, .external_lex_state = 70},
  [9993] = {.lex_state = 467, .external_lex_state = 39},
  [9994] = {.lex_state = 974, .external_lex_state = 4},
  [9995] = {.lex_state = 982, .external_lex_state = 11},
  [9996] = {.lex_state = 985, .external_lex_state = 2},
  [9997] = {.lex_state = 617, .external_lex_state = 55},
  [9998] = {.lex_state = 467, .external_lex_state = 2},
  [9999] = {.lex_state = 467, .external_lex_state = 2},
  [10000] = {.lex_state = 467, .external_lex_state = 2},
  [10001] = {.lex_state = 467, .external_lex_state = 2},
  [10002] = {.lex_state = 1356, .external_lex_state = 4},
  [10003] = {.lex_state = 549},
  [10004] = {.lex_state = 1239, .external_lex_state = 4},
  [10005] = {.lex_state = 1356, .external_lex_state = 4},
  [10006] = {.lex_state = 970, .external_lex_state = 10},
  [10007] = {.lex_state = 970, .external_lex_state = 10},
  [10008] = {.lex_state = 970, .external_lex_state = 10},
  [10009] = {.lex_state = 970, .external_lex_state = 10},
  [10010] = {.lex_state = 1354, .external_lex_state = 4},
  [10011] = {.lex_state = 1356, .external_lex_state = 4},
  [10012] = {.lex_state = 467, .external_lex_state = 2},
  [10013] = {.lex_state = 467, .external_lex_state = 2},
  [10014] = {.lex_state = 467, .external_lex_state = 2},
  [10015] = {.lex_state = 972, .external_lex_state = 37},
  [10016] = {.lex_state = 1354, .external_lex_state = 4},
  [10017] = {.lex_state = 1354, .external_lex_state = 4},
  [10018] = {.lex_state = 638, .external_lex_state = 22},
  [10019] = {.lex_state = 1360, .external_lex_state = 36},
  [10020] = {.lex_state = 1354, .external_lex_state = 4},
  [10021] = {.lex_state = 1354, .external_lex_state = 4},
  [10022] = {.lex_state = 467, .external_lex_state = 2},
  [10023] = {.lex_state = 467, .external_lex_state = 2},
  [10024] = {.lex_state = 467, .external_lex_state = 2},
  [10025] = {.lex_state = 467, .external_lex_state = 2},
  [10026] = {.lex_state = 467, .external_lex_state = 2},
  [10027] = {.lex_state = 467, .external_lex_state = 2},
  [10028] = {.lex_state = 467, .external_lex_state = 2},
  [10029] = {.lex_state = 467, .external_lex_state = 2},
  [10030] = {.lex_state = 467, .external_lex_state = 2},
  [10031] = {.lex_state = 467, .external_lex_state = 2},
  [10032] = {.lex_state = 467, .external_lex_state = 2},
  [10033] = {.lex_state = 467, .external_lex_state = 2},
  [10034] = {.lex_state = 467, .external_lex_state = 2},
  [10035] = {.lex_state = 467, .external_lex_state = 2},
  [10036] = {.lex_state = 467, .external_lex_state = 2},
  [10037] = {.lex_state = 467, .external_lex_state = 2},
  [10038] = {.lex_state = 972, .external_lex_state = 37},
  [10039] = {.lex_state = 1362, .external_lex_state = 4},
  [10040] = {.lex_state = 1362, .external_lex_state = 4},
  [10041] = {.lex_state = 638, .external_lex_state = 22},
  [10042] = {.lex_state = 1366, .external_lex_state = 36},
  [10043] = {.lex_state = 968, .external_lex_state = 12},
  [10044] = {.lex_state = 1356, .external_lex_state = 4},
  [10045] = {.lex_state = 467, .external_lex_state = 39},
  [10046] = {.lex_state = 467, .external_lex_state = 2},
  [10047] = {.lex_state = 467, .external_lex_state = 2},
  [10048] = {.lex_state = 982, .external_lex_state = 2},
  [10049] = {.lex_state = 461, .external_lex_state = 2},
  [10050] = {.lex_state = 982, .external_lex_state = 2},
  [10051] = {.lex_state = 985, .external_lex_state = 2},
  [10052] = {.lex_state = 985, .external_lex_state = 2},
  [10053] = {.lex_state = 982, .external_lex_state = 2},
  [10054] = {.lex_state = 458, .external_lex_state = 4},
  [10055] = {.lex_state = 985, .external_lex_state = 2},
  [10056] = {.lex_state = 1237, .external_lex_state = 13},
  [10057] = {.lex_state = 1237, .external_lex_state = 13},
  [10058] = {.lex_state = 1237, .external_lex_state = 13},
  [10059] = {.lex_state = 1237, .external_lex_state = 13},
  [10060] = {.lex_state = 1237, .external_lex_state = 13},
  [10061] = {.lex_state = 1237, .external_lex_state = 13},
  [10062] = {.lex_state = 1237, .external_lex_state = 13},
  [10063] = {.lex_state = 1237, .external_lex_state = 13},
  [10064] = {.lex_state = 1237, .external_lex_state = 13},
  [10065] = {.lex_state = 1237, .external_lex_state = 13},
  [10066] = {.lex_state = 1237, .external_lex_state = 13},
  [10067] = {.lex_state = 1116, .external_lex_state = 30},
  [10068] = {.lex_state = 1237, .external_lex_state = 13},
  [10069] = {.lex_state = 1237, .external_lex_state = 13},
  [10070] = {.lex_state = 1237, .external_lex_state = 13},
  [10071] = {.lex_state = 1237, .external_lex_state = 13},
  [10072] = {.lex_state = 1237, .external_lex_state = 13},
  [10073] = {.lex_state = 467, .external_lex_state = 2},
  [10074] = {.lex_state = 722, .external_lex_state = 10},
  [10075] = {.lex_state = 722, .external_lex_state = 10},
  [10076] = {.lex_state = 722, .external_lex_state = 10},
  [10077] = {.lex_state = 722, .external_lex_state = 10},
  [10078] = {.lex_state = 467, .external_lex_state = 2},
  [10079] = {.lex_state = 467, .external_lex_state = 2},
  [10080] = {.lex_state = 467, .external_lex_state = 2},
  [10081] = {.lex_state = 1364, .external_lex_state = 4},
  [10082] = {.lex_state = 722, .external_lex_state = 10},
  [10083] = {.lex_state = 549},
  [10084] = {.lex_state = 1364, .external_lex_state = 4},
  [10085] = {.lex_state = 1364, .external_lex_state = 4},
  [10086] = {.lex_state = 972, .external_lex_state = 10},
  [10087] = {.lex_state = 972, .external_lex_state = 10},
  [10088] = {.lex_state = 972, .external_lex_state = 10},
  [10089] = {.lex_state = 972, .external_lex_state = 10},
  [10090] = {.lex_state = 1362, .external_lex_state = 4},
  [10091] = {.lex_state = 1364, .external_lex_state = 4},
  [10092] = {.lex_state = 1362, .external_lex_state = 4},
  [10093] = {.lex_state = 1362, .external_lex_state = 4},
  [10094] = {.lex_state = 467, .external_lex_state = 2},
  [10095] = {.lex_state = 467, .external_lex_state = 2},
  [10096] = {.lex_state = 467, .external_lex_state = 2},
  [10097] = {.lex_state = 467, .external_lex_state = 2},
  [10098] = {.lex_state = 467, .external_lex_state = 2},
  [10099] = {.lex_state = 467, .external_lex_state = 2},
  [10100] = {.lex_state = 467, .external_lex_state = 2},
  [10101] = {.lex_state = 467, .external_lex_state = 2},
  [10102] = {.lex_state = 467, .external_lex_state = 2},
  [10103] = {.lex_state = 467, .external_lex_state = 2},
  [10104] = {.lex_state = 467, .external_lex_state = 2},
  [10105] = {.lex_state = 467, .external_lex_state = 2},
  [10106] = {.lex_state = 467, .external_lex_state = 2},
  [10107] = {.lex_state = 968, .external_lex_state = 12},
  [10108] = {.lex_state = 1364, .external_lex_state = 4},
  [10109] = {.lex_state = 467, .external_lex_state = 39},
  [10110] = {.lex_state = 467, .external_lex_state = 2},
  [10111] = {.lex_state = 467, .external_lex_state = 2},
  [10112] = {.lex_state = 467, .external_lex_state = 2},
  [10113] = {.lex_state = 467, .external_lex_state = 2},
  [10114] = {.lex_state = 467, .external_lex_state = 2},
  [10115] = {.lex_state = 467, .external_lex_state = 2},
  [10116] = {.lex_state = 467, .external_lex_state = 2},
  [10117] = {.lex_state = 1408, .external_lex_state = 13},
  [10118] = {.lex_state = 1408, .external_lex_state = 13},
  [10119] = {.lex_state = 549},
  [10120] = {.lex_state = 1239, .external_lex_state = 4},
  [10121] = {.lex_state = 1237, .external_lex_state = 13},
  [10122] = {.lex_state = 0},
  [10123] = {.lex_state = 720, .external_lex_state = 13},
  [10124] = {.lex_state = 989, .external_lex_state = 4},
  [10125] = {.lex_state = 989, .external_lex_state = 4},
  [10126] = {.lex_state = 989, .external_lex_state = 4},
  [10127] = {.lex_state = 989, .external_lex_state = 4},
  [10128] = {.lex_state = 989, .external_lex_state = 4},
  [10129] = {.lex_state = 989, .external_lex_state = 4},
  [10130] = {.lex_state = 1116, .external_lex_state = 30},
  [10131] = {.lex_state = 989, .external_lex_state = 4},
  [10132] = {.lex_state = 989, .external_lex_state = 4},
  [10133] = {.lex_state = 989, .external_lex_state = 4},
  [10134] = {.lex_state = 989, .external_lex_state = 4},
  [10135] = {.lex_state = 989, .external_lex_state = 4},
  [10136] = {.lex_state = 989, .external_lex_state = 4},
  [10137] = {.lex_state = 989, .external_lex_state = 4},
  [10138] = {.lex_state = 989, .external_lex_state = 4},
  [10139] = {.lex_state = 467, .external_lex_state = 2},
  [10140] = {.lex_state = 968, .external_lex_state = 70},
  [10141] = {.lex_state = 467, .external_lex_state = 39},
  [10142] = {.lex_state = 987, .external_lex_state = 4},
  [10143] = {.lex_state = 1241, .external_lex_state = 13},
  [10144] = {.lex_state = 1241, .external_lex_state = 13},
  [10145] = {.lex_state = 1241, .external_lex_state = 13},
  [10146] = {.lex_state = 1241, .external_lex_state = 13},
  [10147] = {.lex_state = 1241, .external_lex_state = 13},
  [10148] = {.lex_state = 1241, .external_lex_state = 13},
  [10149] = {.lex_state = 1116, .external_lex_state = 30},
  [10150] = {.lex_state = 1241, .external_lex_state = 13},
  [10151] = {.lex_state = 1241, .external_lex_state = 13},
  [10152] = {.lex_state = 1241, .external_lex_state = 13},
  [10153] = {.lex_state = 1241, .external_lex_state = 13},
  [10154] = {.lex_state = 1241, .external_lex_state = 13},
  [10155] = {.lex_state = 467, .external_lex_state = 39},
  [10156] = {.lex_state = 1241, .external_lex_state = 13},
  [10157] = {.lex_state = 1241, .external_lex_state = 13},
  [10158] = {.lex_state = 993, .external_lex_state = 2},
  [10159] = {.lex_state = 467, .external_lex_state = 2},
  [10160] = {.lex_state = 467, .external_lex_state = 2},
  [10161] = {.lex_state = 467, .external_lex_state = 2},
  [10162] = {.lex_state = 467, .external_lex_state = 2},
  [10163] = {.lex_state = 1370, .external_lex_state = 4},
  [10164] = {.lex_state = 549},
  [10165] = {.lex_state = 1250, .external_lex_state = 4},
  [10166] = {.lex_state = 1370, .external_lex_state = 4},
  [10167] = {.lex_state = 970, .external_lex_state = 10},
  [10168] = {.lex_state = 970, .external_lex_state = 10},
  [10169] = {.lex_state = 970, .external_lex_state = 10},
  [10170] = {.lex_state = 970, .external_lex_state = 10},
  [10171] = {.lex_state = 1368, .external_lex_state = 4},
  [10172] = {.lex_state = 1370, .external_lex_state = 4},
  [10173] = {.lex_state = 467, .external_lex_state = 2},
  [10174] = {.lex_state = 467, .external_lex_state = 2},
  [10175] = {.lex_state = 467, .external_lex_state = 2},
  [10176] = {.lex_state = 972, .external_lex_state = 37},
  [10177] = {.lex_state = 1368, .external_lex_state = 4},
  [10178] = {.lex_state = 1368, .external_lex_state = 4},
  [10179] = {.lex_state = 638, .external_lex_state = 22},
  [10180] = {.lex_state = 1374, .external_lex_state = 36},
  [10181] = {.lex_state = 1368, .external_lex_state = 4},
  [10182] = {.lex_state = 1368, .external_lex_state = 4},
  [10183] = {.lex_state = 467, .external_lex_state = 2},
  [10184] = {.lex_state = 467, .external_lex_state = 2},
  [10185] = {.lex_state = 467, .external_lex_state = 2},
  [10186] = {.lex_state = 467, .external_lex_state = 2},
  [10187] = {.lex_state = 467, .external_lex_state = 2},
  [10188] = {.lex_state = 467, .external_lex_state = 2},
  [10189] = {.lex_state = 467, .external_lex_state = 2},
  [10190] = {.lex_state = 467, .external_lex_state = 2},
  [10191] = {.lex_state = 467, .external_lex_state = 2},
  [10192] = {.lex_state = 467, .external_lex_state = 2},
  [10193] = {.lex_state = 467, .external_lex_state = 2},
  [10194] = {.lex_state = 467, .external_lex_state = 2},
  [10195] = {.lex_state = 467, .external_lex_state = 2},
  [10196] = {.lex_state = 467, .external_lex_state = 2},
  [10197] = {.lex_state = 467, .external_lex_state = 2},
  [10198] = {.lex_state = 467, .external_lex_state = 2},
  [10199] = {.lex_state = 972, .external_lex_state = 37},
  [10200] = {.lex_state = 1376, .external_lex_state = 4},
  [10201] = {.lex_state = 1376, .external_lex_state = 4},
  [10202] = {.lex_state = 638, .external_lex_state = 22},
  [10203] = {.lex_state = 1380, .external_lex_state = 36},
  [10204] = {.lex_state = 968, .external_lex_state = 12},
  [10205] = {.lex_state = 1370, .external_lex_state = 4},
  [10206] = {.lex_state = 467, .external_lex_state = 39},
  [10207] = {.lex_state = 467, .external_lex_state = 2},
  [10208] = {.lex_state = 467, .external_lex_state = 2},
  [10209] = {.lex_state = 458, .external_lex_state = 4},
  [10210] = {.lex_state = 617, .external_lex_state = 55},
  [10211] = {.lex_state = 461, .external_lex_state = 2},
  [10212] = {.lex_state = 996, .external_lex_state = 2},
  [10213] = {.lex_state = 1248, .external_lex_state = 13},
  [10214] = {.lex_state = 1248, .external_lex_state = 13},
  [10215] = {.lex_state = 1248, .external_lex_state = 13},
  [10216] = {.lex_state = 1248, .external_lex_state = 13},
  [10217] = {.lex_state = 1248, .external_lex_state = 13},
  [10218] = {.lex_state = 1248, .external_lex_state = 13},
  [10219] = {.lex_state = 1248, .external_lex_state = 13},
  [10220] = {.lex_state = 1248, .external_lex_state = 13},
  [10221] = {.lex_state = 1248, .external_lex_state = 13},
  [10222] = {.lex_state = 1248, .external_lex_state = 13},
  [10223] = {.lex_state = 1248, .external_lex_state = 13},
  [10224] = {.lex_state = 1116, .external_lex_state = 30},
  [10225] = {.lex_state = 1248, .external_lex_state = 13},
  [10226] = {.lex_state = 1248, .external_lex_state = 13},
  [10227] = {.lex_state = 1248, .external_lex_state = 13},
  [10228] = {.lex_state = 1248, .external_lex_state = 13},
  [10229] = {.lex_state = 1248, .external_lex_state = 13},
  [10230] = {.lex_state = 467, .external_lex_state = 2},
  [10231] = {.lex_state = 722, .external_lex_state = 10},
  [10232] = {.lex_state = 722, .external_lex_state = 10},
  [10233] = {.lex_state = 722, .external_lex_state = 10},
  [10234] = {.lex_state = 722, .external_lex_state = 10},
  [10235] = {.lex_state = 467, .external_lex_state = 2},
  [10236] = {.lex_state = 467, .external_lex_state = 2},
  [10237] = {.lex_state = 467, .external_lex_state = 2},
  [10238] = {.lex_state = 1378, .external_lex_state = 4},
  [10239] = {.lex_state = 722, .external_lex_state = 10},
  [10240] = {.lex_state = 549},
  [10241] = {.lex_state = 1378, .external_lex_state = 4},
  [10242] = {.lex_state = 1378, .external_lex_state = 4},
  [10243] = {.lex_state = 972, .external_lex_state = 10},
  [10244] = {.lex_state = 972, .external_lex_state = 10},
  [10245] = {.lex_state = 972, .external_lex_state = 10},
  [10246] = {.lex_state = 972, .external_lex_state = 10},
  [10247] = {.lex_state = 1376, .external_lex_state = 4},
  [10248] = {.lex_state = 1378, .external_lex_state = 4},
  [10249] = {.lex_state = 1376, .external_lex_state = 4},
  [10250] = {.lex_state = 1376, .external_lex_state = 4},
  [10251] = {.lex_state = 467, .external_lex_state = 2},
  [10252] = {.lex_state = 467, .external_lex_state = 2},
  [10253] = {.lex_state = 467, .external_lex_state = 2},
  [10254] = {.lex_state = 467, .external_lex_state = 2},
  [10255] = {.lex_state = 467, .external_lex_state = 2},
  [10256] = {.lex_state = 467, .external_lex_state = 2},
  [10257] = {.lex_state = 467, .external_lex_state = 2},
  [10258] = {.lex_state = 467, .external_lex_state = 2},
  [10259] = {.lex_state = 467, .external_lex_state = 2},
  [10260] = {.lex_state = 467, .external_lex_state = 2},
  [10261] = {.lex_state = 467, .external_lex_state = 2},
  [10262] = {.lex_state = 467, .external_lex_state = 2},
  [10263] = {.lex_state = 467, .external_lex_state = 2},
  [10264] = {.lex_state = 968, .external_lex_state = 12},
  [10265] = {.lex_state = 1378, .external_lex_state = 4},
  [10266] = {.lex_state = 467, .external_lex_state = 39},
  [10267] = {.lex_state = 467, .external_lex_state = 2},
  [10268] = {.lex_state = 467, .external_lex_state = 2},
  [10269] = {.lex_state = 467, .external_lex_state = 2},
  [10270] = {.lex_state = 467, .external_lex_state = 2},
  [10271] = {.lex_state = 467, .external_lex_state = 2},
  [10272] = {.lex_state = 467, .external_lex_state = 2},
  [10273] = {.lex_state = 467, .external_lex_state = 2},
  [10274] = {.lex_state = 1410, .external_lex_state = 13},
  [10275] = {.lex_state = 1410, .external_lex_state = 13},
  [10276] = {.lex_state = 549},
  [10277] = {.lex_state = 1250, .external_lex_state = 4},
  [10278] = {.lex_state = 1248, .external_lex_state = 13},
  [10279] = {.lex_state = 1000, .external_lex_state = 4},
  [10280] = {.lex_state = 1000, .external_lex_state = 4},
  [10281] = {.lex_state = 1000, .external_lex_state = 4},
  [10282] = {.lex_state = 1000, .external_lex_state = 4},
  [10283] = {.lex_state = 1000, .external_lex_state = 4},
  [10284] = {.lex_state = 1000, .external_lex_state = 4},
  [10285] = {.lex_state = 1116, .external_lex_state = 30},
  [10286] = {.lex_state = 1000, .external_lex_state = 4},
  [10287] = {.lex_state = 1000, .external_lex_state = 4},
  [10288] = {.lex_state = 1000, .external_lex_state = 4},
  [10289] = {.lex_state = 1000, .external_lex_state = 4},
  [10290] = {.lex_state = 1000, .external_lex_state = 4},
  [10291] = {.lex_state = 1000, .external_lex_state = 4},
  [10292] = {.lex_state = 1000, .external_lex_state = 4},
  [10293] = {.lex_state = 1000, .external_lex_state = 4},
  [10294] = {.lex_state = 998, .external_lex_state = 4},
  [10295] = {.lex_state = 968, .external_lex_state = 70},
  [10296] = {.lex_state = 968, .external_lex_state = 12},
  [10297] = {.lex_state = 998, .external_lex_state = 4},
  [10298] = {.lex_state = 467, .external_lex_state = 2},
  [10299] = {.lex_state = 1006, .external_lex_state = 4},
  [10300] = {.lex_state = 968, .external_lex_state = 70},
  [10301] = {.lex_state = 968, .external_lex_state = 12},
  [10302] = {.lex_state = 1006, .external_lex_state = 4},
  [10303] = {.lex_state = 968, .external_lex_state = 70},
  [10304] = {.lex_state = 467, .external_lex_state = 39},
  [10305] = {.lex_state = 998, .external_lex_state = 4},
  [10306] = {.lex_state = 746, .external_lex_state = 2},
  [10307] = {.lex_state = 726, .external_lex_state = 13},
  [10308] = {.lex_state = 1008, .external_lex_state = 4},
  [10309] = {.lex_state = 1008, .external_lex_state = 4},
  [10310] = {.lex_state = 1008, .external_lex_state = 4},
  [10311] = {.lex_state = 1008, .external_lex_state = 4},
  [10312] = {.lex_state = 1008, .external_lex_state = 4},
  [10313] = {.lex_state = 1008, .external_lex_state = 4},
  [10314] = {.lex_state = 1116, .external_lex_state = 30},
  [10315] = {.lex_state = 1008, .external_lex_state = 4},
  [10316] = {.lex_state = 1008, .external_lex_state = 4},
  [10317] = {.lex_state = 1008, .external_lex_state = 4},
  [10318] = {.lex_state = 1008, .external_lex_state = 4},
  [10319] = {.lex_state = 1008, .external_lex_state = 4},
  [10320] = {.lex_state = 1008, .external_lex_state = 4},
  [10321] = {.lex_state = 1008, .external_lex_state = 4},
  [10322] = {.lex_state = 1008, .external_lex_state = 4},
  [10323] = {.lex_state = 467, .external_lex_state = 2},
  [10324] = {.lex_state = 968, .external_lex_state = 70},
  [10325] = {.lex_state = 467, .external_lex_state = 39},
  [10326] = {.lex_state = 1006, .external_lex_state = 4},
  [10327] = {.lex_state = 1252, .external_lex_state = 13},
  [10328] = {.lex_state = 1252, .external_lex_state = 13},
  [10329] = {.lex_state = 1252, .external_lex_state = 13},
  [10330] = {.lex_state = 1252, .external_lex_state = 13},
  [10331] = {.lex_state = 1252, .external_lex_state = 13},
  [10332] = {.lex_state = 1252, .external_lex_state = 13},
  [10333] = {.lex_state = 1116, .external_lex_state = 30},
  [10334] = {.lex_state = 1252, .external_lex_state = 13},
  [10335] = {.lex_state = 1252, .external_lex_state = 13},
  [10336] = {.lex_state = 1252, .external_lex_state = 13},
  [10337] = {.lex_state = 1252, .external_lex_state = 13},
  [10338] = {.lex_state = 1252, .external_lex_state = 13},
  [10339] = {.lex_state = 467, .external_lex_state = 39},
  [10340] = {.lex_state = 1252, .external_lex_state = 13},
  [10341] = {.lex_state = 1252, .external_lex_state = 13},
  [10342] = {.lex_state = 1254, .external_lex_state = 42},
  [10343] = {.lex_state = 1254, .external_lex_state = 42},
  [10344] = {.lex_state = 1254, .external_lex_state = 42},
  [10345] = {.lex_state = 467, .external_lex_state = 2},
  [10346] = {.lex_state = 968, .external_lex_state = 12},
  [10347] = {.lex_state = 1254, .external_lex_state = 42},
  [10348] = {.lex_state = 467, .external_lex_state = 2},
  [10349] = {.lex_state = 1254, .external_lex_state = 42},
  [10350] = {.lex_state = 1254, .external_lex_state = 42},
  [10351] = {.lex_state = 1254, .external_lex_state = 42},
  [10352] = {.lex_state = 1254, .external_lex_state = 42},
  [10353] = {.lex_state = 1254, .external_lex_state = 42},
  [10354] = {.lex_state = 1254, .external_lex_state = 42},
  [10355] = {.lex_state = 1116, .external_lex_state = 30},
  [10356] = {.lex_state = 1254, .external_lex_state = 42},
  [10357] = {.lex_state = 1254, .external_lex_state = 42},
  [10358] = {.lex_state = 1254, .external_lex_state = 42},
  [10359] = {.lex_state = 1254, .external_lex_state = 42},
  [10360] = {.lex_state = 1254, .external_lex_state = 42},
  [10361] = {.lex_state = 467, .external_lex_state = 2},
  [10362] = {.lex_state = 621, .external_lex_state = 45},
  [10363] = {.lex_state = 621, .external_lex_state = 45},
  [10364] = {.lex_state = 621, .external_lex_state = 45},
  [10365] = {.lex_state = 621, .external_lex_state = 45},
  [10366] = {.lex_state = 467, .external_lex_state = 2},
  [10367] = {.lex_state = 467, .external_lex_state = 2},
  [10368] = {.lex_state = 467, .external_lex_state = 2},
  [10369] = {.lex_state = 1256, .external_lex_state = 42},
  [10370] = {.lex_state = 549},
  [10371] = {.lex_state = 1256, .external_lex_state = 42},
  [10372] = {.lex_state = 1256, .external_lex_state = 42},
  [10373] = {.lex_state = 1256, .external_lex_state = 42},
  [10374] = {.lex_state = 467, .external_lex_state = 2},
  [10375] = {.lex_state = 968, .external_lex_state = 12},
  [10376] = {.lex_state = 1256, .external_lex_state = 42},
  [10377] = {.lex_state = 467, .external_lex_state = 2},
  [10378] = {.lex_state = 1254, .external_lex_state = 42},
  [10379] = {.lex_state = 1254, .external_lex_state = 42},
  [10380] = {.lex_state = 1254, .external_lex_state = 42},
  [10381] = {.lex_state = 1012, .external_lex_state = 42},
  [10382] = {.lex_state = 968, .external_lex_state = 70},
  [10383] = {.lex_state = 968, .external_lex_state = 12},
  [10384] = {.lex_state = 1012, .external_lex_state = 42},
  [10385] = {.lex_state = 467, .external_lex_state = 2},
  [10386] = {.lex_state = 1016, .external_lex_state = 42},
  [10387] = {.lex_state = 1016, .external_lex_state = 42},
  [10388] = {.lex_state = 1016, .external_lex_state = 42},
  [10389] = {.lex_state = 1016, .external_lex_state = 42},
  [10390] = {.lex_state = 1016, .external_lex_state = 42},
  [10391] = {.lex_state = 1016, .external_lex_state = 42},
  [10392] = {.lex_state = 1016, .external_lex_state = 42},
  [10393] = {.lex_state = 1116, .external_lex_state = 30},
  [10394] = {.lex_state = 1016, .external_lex_state = 42},
  [10395] = {.lex_state = 1016, .external_lex_state = 42},
  [10396] = {.lex_state = 1016, .external_lex_state = 42},
  [10397] = {.lex_state = 1016, .external_lex_state = 42},
  [10398] = {.lex_state = 1016, .external_lex_state = 42},
  [10399] = {.lex_state = 968, .external_lex_state = 70},
  [10400] = {.lex_state = 968, .external_lex_state = 12},
  [10401] = {.lex_state = 1016, .external_lex_state = 42},
  [10402] = {.lex_state = 1016, .external_lex_state = 42},
  [10403] = {.lex_state = 1016, .external_lex_state = 42},
  [10404] = {.lex_state = 1016, .external_lex_state = 42},
  [10405] = {.lex_state = 968, .external_lex_state = 70},
  [10406] = {.lex_state = 467, .external_lex_state = 39},
  [10407] = {.lex_state = 1012, .external_lex_state = 42},
  [10408] = {.lex_state = 458, .external_lex_state = 4},
  [10409] = {.lex_state = 1026, .external_lex_state = 4},
  [10410] = {.lex_state = 1026, .external_lex_state = 4},
  [10411] = {.lex_state = 1026, .external_lex_state = 4},
  [10412] = {.lex_state = 1026, .external_lex_state = 4},
  [10413] = {.lex_state = 1026, .external_lex_state = 4},
  [10414] = {.lex_state = 1026, .external_lex_state = 4},
  [10415] = {.lex_state = 1116, .external_lex_state = 30},
  [10416] = {.lex_state = 1026, .external_lex_state = 4},
  [10417] = {.lex_state = 1026, .external_lex_state = 4},
  [10418] = {.lex_state = 1026, .external_lex_state = 4},
  [10419] = {.lex_state = 1026, .external_lex_state = 4},
  [10420] = {.lex_state = 1026, .external_lex_state = 4},
  [10421] = {.lex_state = 1026, .external_lex_state = 4},
  [10422] = {.lex_state = 1026, .external_lex_state = 4},
  [10423] = {.lex_state = 1026, .external_lex_state = 4},
  [10424] = {.lex_state = 1024, .external_lex_state = 4},
  [10425] = {.lex_state = 968, .external_lex_state = 70},
  [10426] = {.lex_state = 968, .external_lex_state = 12},
  [10427] = {.lex_state = 1024, .external_lex_state = 4},
  [10428] = {.lex_state = 467, .external_lex_state = 2},
  [10429] = {.lex_state = 1038, .external_lex_state = 4},
  [10430] = {.lex_state = 968, .external_lex_state = 70},
  [10431] = {.lex_state = 968, .external_lex_state = 12},
  [10432] = {.lex_state = 1038, .external_lex_state = 4},
  [10433] = {.lex_state = 968, .external_lex_state = 70},
  [10434] = {.lex_state = 467, .external_lex_state = 39},
  [10435] = {.lex_state = 1024, .external_lex_state = 4},
  [10436] = {.lex_state = 1262, .external_lex_state = 4},
  [10437] = {.lex_state = 1262, .external_lex_state = 4},
  [10438] = {.lex_state = 1262, .external_lex_state = 4},
  [10439] = {.lex_state = 467, .external_lex_state = 2},
  [10440] = {.lex_state = 467, .external_lex_state = 2},
  [10441] = {.lex_state = 467, .external_lex_state = 2},
  [10442] = {.lex_state = 467, .external_lex_state = 2},
  [10443] = {.lex_state = 467, .external_lex_state = 2},
  [10444] = {.lex_state = 467, .external_lex_state = 2},
  [10445] = {.lex_state = 467, .external_lex_state = 2},
  [10446] = {.lex_state = 467, .external_lex_state = 2},
  [10447] = {.lex_state = 467, .external_lex_state = 2},
  [10448] = {.lex_state = 467, .external_lex_state = 2},
  [10449] = {.lex_state = 467, .external_lex_state = 2},
  [10450] = {.lex_state = 467, .external_lex_state = 2},
  [10451] = {.lex_state = 467, .external_lex_state = 39},
  [10452] = {.lex_state = 467, .external_lex_state = 2},
  [10453] = {.lex_state = 1262, .external_lex_state = 4},
  [10454] = {.lex_state = 1260, .external_lex_state = 4},
  [10455] = {.lex_state = 1260, .external_lex_state = 4},
  [10456] = {.lex_state = 1260, .external_lex_state = 4},
  [10457] = {.lex_state = 1260, .external_lex_state = 4},
  [10458] = {.lex_state = 1260, .external_lex_state = 4},
  [10459] = {.lex_state = 1260, .external_lex_state = 4},
  [10460] = {.lex_state = 1116, .external_lex_state = 30},
  [10461] = {.lex_state = 1260, .external_lex_state = 4},
  [10462] = {.lex_state = 1260, .external_lex_state = 4},
  [10463] = {.lex_state = 1260, .external_lex_state = 4},
  [10464] = {.lex_state = 1260, .external_lex_state = 4},
  [10465] = {.lex_state = 1260, .external_lex_state = 4},
  [10466] = {.lex_state = 968, .external_lex_state = 70},
  [10467] = {.lex_state = 968, .external_lex_state = 12},
  [10468] = {.lex_state = 1260, .external_lex_state = 4},
  [10469] = {.lex_state = 1260, .external_lex_state = 4},
  [10470] = {.lex_state = 1260, .external_lex_state = 4},
  [10471] = {.lex_state = 1262, .external_lex_state = 4},
  [10472] = {.lex_state = 1266, .external_lex_state = 2},
  [10473] = {.lex_state = 617, .external_lex_state = 55},
  [10474] = {.lex_state = 1386, .external_lex_state = 13},
  [10475] = {.lex_state = 467, .external_lex_state = 2},
  [10476] = {.lex_state = 467, .external_lex_state = 2},
  [10477] = {.lex_state = 467, .external_lex_state = 2},
  [10478] = {.lex_state = 467, .external_lex_state = 2},
  [10479] = {.lex_state = 970, .external_lex_state = 37},
  [10480] = {.lex_state = 970, .external_lex_state = 37},
  [10481] = {.lex_state = 970, .external_lex_state = 37},
  [10482] = {.lex_state = 970, .external_lex_state = 37},
  [10483] = {.lex_state = 467, .external_lex_state = 2},
  [10484] = {.lex_state = 467, .external_lex_state = 2},
  [10485] = {.lex_state = 467, .external_lex_state = 27},
  [10486] = {.lex_state = 467, .external_lex_state = 2},
  [10487] = {.lex_state = 972, .external_lex_state = 37},
  [10488] = {.lex_state = 1412, .external_lex_state = 4},
  [10489] = {.lex_state = 972, .external_lex_state = 10},
  [10490] = {.lex_state = 1414, .external_lex_state = 4},
  [10491] = {.lex_state = 549},
  [10492] = {.lex_state = 1416, .external_lex_state = 4},
  [10493] = {.lex_state = 638, .external_lex_state = 22},
  [10494] = {.lex_state = 1418, .external_lex_state = 36},
  [10495] = {.lex_state = 1386, .external_lex_state = 13},
  [10496] = {.lex_state = 1386, .external_lex_state = 13},
  [10497] = {.lex_state = 0},
  [10498] = {.lex_state = 1268, .external_lex_state = 2},
  [10499] = {.lex_state = 461, .external_lex_state = 2},
  [10500] = {.lex_state = 1268, .external_lex_state = 2},
  [10501] = {.lex_state = 1268, .external_lex_state = 2},
  [10502] = {.lex_state = 1382, .external_lex_state = 7},
  [10503] = {.lex_state = 467, .external_lex_state = 2},
  [10504] = {.lex_state = 467, .external_lex_state = 2},
  [10505] = {.lex_state = 467, .external_lex_state = 2},
  [10506] = {.lex_state = 467, .external_lex_state = 2},
  [10507] = {.lex_state = 467, .external_lex_state = 2},
  [10508] = {.lex_state = 467, .external_lex_state = 2},
  [10509] = {.lex_state = 467, .external_lex_state = 2},
  [10510] = {.lex_state = 467, .external_lex_state = 2},
  [10511] = {.lex_state = 467, .external_lex_state = 2},
  [10512] = {.lex_state = 467, .external_lex_state = 2},
  [10513] = {.lex_state = 467, .external_lex_state = 2},
  [10514] = {.lex_state = 467, .external_lex_state = 2},
  [10515] = {.lex_state = 467, .external_lex_state = 2},
  [10516] = {.lex_state = 467, .external_lex_state = 2},
  [10517] = {.lex_state = 467, .external_lex_state = 2},
  [10518] = {.lex_state = 467, .external_lex_state = 2},
  [10519] = {.lex_state = 467, .external_lex_state = 2},
  [10520] = {.lex_state = 467, .external_lex_state = 2},
  [10521] = {.lex_state = 467, .external_lex_state = 2},
  [10522] = {.lex_state = 467, .external_lex_state = 2},
  [10523] = {.lex_state = 467, .external_lex_state = 2},
  [10524] = {.lex_state = 972, .external_lex_state = 37},
  [10525] = {.lex_state = 972, .external_lex_state = 37},
  [10526] = {.lex_state = 972, .external_lex_state = 37},
  [10527] = {.lex_state = 972, .external_lex_state = 37},
  [10528] = {.lex_state = 467, .external_lex_state = 2},
  [10529] = {.lex_state = 467, .external_lex_state = 2},
  [10530] = {.lex_state = 467, .external_lex_state = 27},
  [10531] = {.lex_state = 467, .external_lex_state = 2},
  [10532] = {.lex_state = 972, .external_lex_state = 37},
  [10533] = {.lex_state = 1420, .external_lex_state = 4},
  [10534] = {.lex_state = 972, .external_lex_state = 10},
  [10535] = {.lex_state = 1422, .external_lex_state = 4},
  [10536] = {.lex_state = 549},
  [10537] = {.lex_state = 1420, .external_lex_state = 4},
  [10538] = {.lex_state = 638, .external_lex_state = 22},
  [10539] = {.lex_state = 1424, .external_lex_state = 36},
  [10540] = {.lex_state = 467, .external_lex_state = 39},
  [10541] = {.lex_state = 467, .external_lex_state = 2},
  [10542] = {.lex_state = 1032, .external_lex_state = 7},
  [10543] = {.lex_state = 0},
  [10544] = {.lex_state = 467, .external_lex_state = 2},
  [10545] = {.lex_state = 1272, .external_lex_state = 4},
  [10546] = {.lex_state = 1272, .external_lex_state = 4},
  [10547] = {.lex_state = 1272, .external_lex_state = 4},
  [10548] = {.lex_state = 467, .external_lex_state = 2},
  [10549] = {.lex_state = 467, .external_lex_state = 2},
  [10550] = {.lex_state = 467, .external_lex_state = 2},
  [10551] = {.lex_state = 467, .external_lex_state = 2},
  [10552] = {.lex_state = 467, .external_lex_state = 2},
  [10553] = {.lex_state = 467, .external_lex_state = 2},
  [10554] = {.lex_state = 467, .external_lex_state = 2},
  [10555] = {.lex_state = 467, .external_lex_state = 2},
  [10556] = {.lex_state = 467, .external_lex_state = 2},
  [10557] = {.lex_state = 467, .external_lex_state = 2},
  [10558] = {.lex_state = 467, .external_lex_state = 2},
  [10559] = {.lex_state = 467, .external_lex_state = 2},
  [10560] = {.lex_state = 467, .external_lex_state = 39},
  [10561] = {.lex_state = 467, .external_lex_state = 2},
  [10562] = {.lex_state = 1272, .external_lex_state = 4},
  [10563] = {.lex_state = 1270, .external_lex_state = 4},
  [10564] = {.lex_state = 1270, .external_lex_state = 4},
  [10565] = {.lex_state = 1270, .external_lex_state = 4},
  [10566] = {.lex_state = 1270, .external_lex_state = 4},
  [10567] = {.lex_state = 1270, .external_lex_state = 4},
  [10568] = {.lex_state = 1270, .external_lex_state = 4},
  [10569] = {.lex_state = 1116, .external_lex_state = 30},
  [10570] = {.lex_state = 1270, .external_lex_state = 4},
  [10571] = {.lex_state = 1270, .external_lex_state = 4},
  [10572] = {.lex_state = 1270, .external_lex_state = 4},
  [10573] = {.lex_state = 1270, .external_lex_state = 4},
  [10574] = {.lex_state = 1270, .external_lex_state = 4},
  [10575] = {.lex_state = 968, .external_lex_state = 70},
  [10576] = {.lex_state = 968, .external_lex_state = 12},
  [10577] = {.lex_state = 1270, .external_lex_state = 4},
  [10578] = {.lex_state = 1270, .external_lex_state = 4},
  [10579] = {.lex_state = 1270, .external_lex_state = 4},
  [10580] = {.lex_state = 1272, .external_lex_state = 4},
  [10581] = {.lex_state = 1034, .external_lex_state = 13},
  [10582] = {.lex_state = 467, .external_lex_state = 39},
  [10583] = {.lex_state = 1034, .external_lex_state = 13},
  [10584] = {.lex_state = 736, .external_lex_state = 13},
  [10585] = {.lex_state = 1040, .external_lex_state = 4},
  [10586] = {.lex_state = 1040, .external_lex_state = 4},
  [10587] = {.lex_state = 1040, .external_lex_state = 4},
  [10588] = {.lex_state = 1040, .external_lex_state = 4},
  [10589] = {.lex_state = 1040, .external_lex_state = 4},
  [10590] = {.lex_state = 1040, .external_lex_state = 4},
  [10591] = {.lex_state = 1116, .external_lex_state = 30},
  [10592] = {.lex_state = 1040, .external_lex_state = 4},
  [10593] = {.lex_state = 1040, .external_lex_state = 4},
  [10594] = {.lex_state = 1040, .external_lex_state = 4},
  [10595] = {.lex_state = 1040, .external_lex_state = 4},
  [10596] = {.lex_state = 1040, .external_lex_state = 4},
  [10597] = {.lex_state = 1040, .external_lex_state = 4},
  [10598] = {.lex_state = 1040, .external_lex_state = 4},
  [10599] = {.lex_state = 1040, .external_lex_state = 4},
  [10600] = {.lex_state = 467, .external_lex_state = 2},
  [10601] = {.lex_state = 968, .external_lex_state = 70},
  [10602] = {.lex_state = 467, .external_lex_state = 39},
  [10603] = {.lex_state = 1038, .external_lex_state = 4},
  [10604] = {.lex_state = 1276, .external_lex_state = 13},
  [10605] = {.lex_state = 1276, .external_lex_state = 13},
  [10606] = {.lex_state = 1276, .external_lex_state = 13},
  [10607] = {.lex_state = 1276, .external_lex_state = 13},
  [10608] = {.lex_state = 1276, .external_lex_state = 13},
  [10609] = {.lex_state = 1276, .external_lex_state = 13},
  [10610] = {.lex_state = 1116, .external_lex_state = 30},
  [10611] = {.lex_state = 1276, .external_lex_state = 13},
  [10612] = {.lex_state = 1276, .external_lex_state = 13},
  [10613] = {.lex_state = 1276, .external_lex_state = 13},
  [10614] = {.lex_state = 1276, .external_lex_state = 13},
  [10615] = {.lex_state = 1276, .external_lex_state = 13},
  [10616] = {.lex_state = 467, .external_lex_state = 39},
  [10617] = {.lex_state = 1276, .external_lex_state = 13},
  [10618] = {.lex_state = 1276, .external_lex_state = 13},
  [10619] = {.lex_state = 1046, .external_lex_state = 4},
  [10620] = {.lex_state = 1046, .external_lex_state = 4},
  [10621] = {.lex_state = 1046, .external_lex_state = 4},
  [10622] = {.lex_state = 1046, .external_lex_state = 4},
  [10623] = {.lex_state = 1046, .external_lex_state = 4},
  [10624] = {.lex_state = 1046, .external_lex_state = 4},
  [10625] = {.lex_state = 1116, .external_lex_state = 30},
  [10626] = {.lex_state = 1046, .external_lex_state = 4},
  [10627] = {.lex_state = 1046, .external_lex_state = 4},
  [10628] = {.lex_state = 1046, .external_lex_state = 4},
  [10629] = {.lex_state = 1046, .external_lex_state = 4},
  [10630] = {.lex_state = 1046, .external_lex_state = 4},
  [10631] = {.lex_state = 1046, .external_lex_state = 4},
  [10632] = {.lex_state = 1046, .external_lex_state = 4},
  [10633] = {.lex_state = 1046, .external_lex_state = 4},
  [10634] = {.lex_state = 1044, .external_lex_state = 4},
  [10635] = {.lex_state = 968, .external_lex_state = 70},
  [10636] = {.lex_state = 968, .external_lex_state = 12},
  [10637] = {.lex_state = 1044, .external_lex_state = 4},
  [10638] = {.lex_state = 467, .external_lex_state = 2},
  [10639] = {.lex_state = 1085, .external_lex_state = 4},
  [10640] = {.lex_state = 968, .external_lex_state = 70},
  [10641] = {.lex_state = 968, .external_lex_state = 12},
  [10642] = {.lex_state = 1085, .external_lex_state = 4},
  [10643] = {.lex_state = 968, .external_lex_state = 70},
  [10644] = {.lex_state = 467, .external_lex_state = 39},
  [10645] = {.lex_state = 1044, .external_lex_state = 4},
  [10646] = {.lex_state = 1052, .external_lex_state = 2},
  [10647] = {.lex_state = 1260, .external_lex_state = 4},
  [10648] = {.lex_state = 968, .external_lex_state = 70},
  [10649] = {.lex_state = 968, .external_lex_state = 12},
  [10650] = {.lex_state = 1260, .external_lex_state = 4},
  [10651] = {.lex_state = 1278, .external_lex_state = 71},
  [10652] = {.lex_state = 783, .external_lex_state = 31},
  [10653] = {.lex_state = 0},
  [10654] = {.lex_state = 702, .external_lex_state = 12},
  [10655] = {.lex_state = 700, .external_lex_state = 35},
  [10656] = {.lex_state = 700, .external_lex_state = 35},
  [10657] = {.lex_state = 700, .external_lex_state = 35},
  [10658] = {.lex_state = 467, .external_lex_state = 2},
  [10659] = {.lex_state = 716, .external_lex_state = 10},
  [10660] = {.lex_state = 716, .external_lex_state = 10},
  [10661] = {.lex_state = 716, .external_lex_state = 10},
  [10662] = {.lex_state = 716, .external_lex_state = 10},
  [10663] = {.lex_state = 467, .external_lex_state = 2},
  [10664] = {.lex_state = 467, .external_lex_state = 2},
  [10665] = {.lex_state = 467, .external_lex_state = 2},
  [10666] = {.lex_state = 1426, .external_lex_state = 4},
  [10667] = {.lex_state = 549},
  [10668] = {.lex_state = 1272, .external_lex_state = 4},
  [10669] = {.lex_state = 1426, .external_lex_state = 4},
  [10670] = {.lex_state = 1392, .external_lex_state = 71},
  [10671] = {.lex_state = 960, .external_lex_state = 31},
  [10672] = {.lex_state = 0},
  [10673] = {.lex_state = 970, .external_lex_state = 10},
  [10674] = {.lex_state = 970, .external_lex_state = 10},
  [10675] = {.lex_state = 970, .external_lex_state = 10},
  [10676] = {.lex_state = 970, .external_lex_state = 10},
  [10677] = {.lex_state = 1390, .external_lex_state = 4},
  [10678] = {.lex_state = 0},
  [10679] = {.lex_state = 631, .external_lex_state = 2},
  [10680] = {.lex_state = 1426, .external_lex_state = 4},
  [10681] = {.lex_state = 467, .external_lex_state = 2},
  [10682] = {.lex_state = 467, .external_lex_state = 2},
  [10683] = {.lex_state = 467, .external_lex_state = 2},
  [10684] = {.lex_state = 972, .external_lex_state = 37},
  [10685] = {.lex_state = 1390, .external_lex_state = 4},
  [10686] = {.lex_state = 1390, .external_lex_state = 4},
  [10687] = {.lex_state = 638, .external_lex_state = 22},
  [10688] = {.lex_state = 1396, .external_lex_state = 36},
  [10689] = {.lex_state = 1278, .external_lex_state = 71},
  [10690] = {.lex_state = 0},
  [10691] = {.lex_state = 746, .external_lex_state = 11},
  [10692] = {.lex_state = 800, .external_lex_state = 11},
  [10693] = {.lex_state = 1390, .external_lex_state = 4},
  [10694] = {.lex_state = 1390, .external_lex_state = 4},
  [10695] = {.lex_state = 467, .external_lex_state = 2},
  [10696] = {.lex_state = 467, .external_lex_state = 2},
  [10697] = {.lex_state = 467, .external_lex_state = 2},
  [10698] = {.lex_state = 467, .external_lex_state = 2},
  [10699] = {.lex_state = 467, .external_lex_state = 2},
  [10700] = {.lex_state = 467, .external_lex_state = 2},
  [10701] = {.lex_state = 467, .external_lex_state = 2},
  [10702] = {.lex_state = 467, .external_lex_state = 2},
  [10703] = {.lex_state = 467, .external_lex_state = 2},
  [10704] = {.lex_state = 467, .external_lex_state = 2},
  [10705] = {.lex_state = 467, .external_lex_state = 2},
  [10706] = {.lex_state = 467, .external_lex_state = 2},
  [10707] = {.lex_state = 467, .external_lex_state = 2},
  [10708] = {.lex_state = 795, .external_lex_state = 2},
  [10709] = {.lex_state = 800, .external_lex_state = 11},
  [10710] = {.lex_state = 1278, .external_lex_state = 71},
  [10711] = {.lex_state = 1392, .external_lex_state = 71},
  [10712] = {.lex_state = 461, .external_lex_state = 2},
  [10713] = {.lex_state = 1392, .external_lex_state = 71},
  [10714] = {.lex_state = 1392, .external_lex_state = 71},
  [10715] = {.lex_state = 968, .external_lex_state = 12},
  [10716] = {.lex_state = 1394, .external_lex_state = 71},
  [10717] = {.lex_state = 467, .external_lex_state = 39},
  [10718] = {.lex_state = 467, .external_lex_state = 2},
  [10719] = {.lex_state = 467, .external_lex_state = 2},
  [10720] = {.lex_state = 0},
  [10721] = {.lex_state = 0},
  [10722] = {.lex_state = 467, .external_lex_state = 2},
  [10723] = {.lex_state = 1270, .external_lex_state = 4},
  [10724] = {.lex_state = 968, .external_lex_state = 70},
  [10725] = {.lex_state = 968, .external_lex_state = 12},
  [10726] = {.lex_state = 1270, .external_lex_state = 4},
  [10727] = {.lex_state = 1060, .external_lex_state = 7},
  [10728] = {.lex_state = 1058, .external_lex_state = 13},
  [10729] = {.lex_state = 467, .external_lex_state = 39},
  [10730] = {.lex_state = 1058, .external_lex_state = 13},
  [10731] = {.lex_state = 743, .external_lex_state = 2},
  [10732] = {.lex_state = 1282, .external_lex_state = 4},
  [10733] = {.lex_state = 1282, .external_lex_state = 4},
  [10734] = {.lex_state = 1282, .external_lex_state = 4},
  [10735] = {.lex_state = 467, .external_lex_state = 2},
  [10736] = {.lex_state = 467, .external_lex_state = 2},
  [10737] = {.lex_state = 467, .external_lex_state = 2},
  [10738] = {.lex_state = 467, .external_lex_state = 2},
  [10739] = {.lex_state = 467, .external_lex_state = 2},
  [10740] = {.lex_state = 467, .external_lex_state = 2},
  [10741] = {.lex_state = 467, .external_lex_state = 2},
  [10742] = {.lex_state = 467, .external_lex_state = 2},
  [10743] = {.lex_state = 467, .external_lex_state = 2},
  [10744] = {.lex_state = 467, .external_lex_state = 2},
  [10745] = {.lex_state = 467, .external_lex_state = 2},
  [10746] = {.lex_state = 467, .external_lex_state = 2},
  [10747] = {.lex_state = 467, .external_lex_state = 39},
  [10748] = {.lex_state = 467, .external_lex_state = 2},
  [10749] = {.lex_state = 1280, .external_lex_state = 4},
  [10750] = {.lex_state = 1280, .external_lex_state = 4},
  [10751] = {.lex_state = 1280, .external_lex_state = 4},
  [10752] = {.lex_state = 467, .external_lex_state = 2},
  [10753] = {.lex_state = 968, .external_lex_state = 12},
  [10754] = {.lex_state = 1280, .external_lex_state = 4},
  [10755] = {.lex_state = 467, .external_lex_state = 2},
  [10756] = {.lex_state = 1282, .external_lex_state = 4},
  [10757] = {.lex_state = 1280, .external_lex_state = 4},
  [10758] = {.lex_state = 1280, .external_lex_state = 4},
  [10759] = {.lex_state = 1280, .external_lex_state = 4},
  [10760] = {.lex_state = 1280, .external_lex_state = 4},
  [10761] = {.lex_state = 1280, .external_lex_state = 4},
  [10762] = {.lex_state = 1280, .external_lex_state = 4},
  [10763] = {.lex_state = 1116, .external_lex_state = 30},
  [10764] = {.lex_state = 1280, .external_lex_state = 4},
  [10765] = {.lex_state = 1280, .external_lex_state = 4},
  [10766] = {.lex_state = 1280, .external_lex_state = 4},
  [10767] = {.lex_state = 1280, .external_lex_state = 4},
  [10768] = {.lex_state = 1280, .external_lex_state = 4},
  [10769] = {.lex_state = 1288, .external_lex_state = 4},
  [10770] = {.lex_state = 1288, .external_lex_state = 4},
  [10771] = {.lex_state = 1288, .external_lex_state = 4},
  [10772] = {.lex_state = 467, .external_lex_state = 2},
  [10773] = {.lex_state = 968, .external_lex_state = 12},
  [10774] = {.lex_state = 1288, .external_lex_state = 4},
  [10775] = {.lex_state = 467, .external_lex_state = 2},
  [10776] = {.lex_state = 968, .external_lex_state = 70},
  [10777] = {.lex_state = 968, .external_lex_state = 12},
  [10778] = {.lex_state = 1280, .external_lex_state = 4},
  [10779] = {.lex_state = 1280, .external_lex_state = 4},
  [10780] = {.lex_state = 1280, .external_lex_state = 4},
  [10781] = {.lex_state = 1282, .external_lex_state = 4},
  [10782] = {.lex_state = 467, .external_lex_state = 2},
  [10783] = {.lex_state = 1290, .external_lex_state = 4},
  [10784] = {.lex_state = 1290, .external_lex_state = 4},
  [10785] = {.lex_state = 1290, .external_lex_state = 4},
  [10786] = {.lex_state = 467, .external_lex_state = 2},
  [10787] = {.lex_state = 467, .external_lex_state = 2},
  [10788] = {.lex_state = 467, .external_lex_state = 2},
  [10789] = {.lex_state = 467, .external_lex_state = 2},
  [10790] = {.lex_state = 467, .external_lex_state = 2},
  [10791] = {.lex_state = 467, .external_lex_state = 2},
  [10792] = {.lex_state = 467, .external_lex_state = 2},
  [10793] = {.lex_state = 467, .external_lex_state = 2},
  [10794] = {.lex_state = 467, .external_lex_state = 2},
  [10795] = {.lex_state = 467, .external_lex_state = 2},
  [10796] = {.lex_state = 467, .external_lex_state = 2},
  [10797] = {.lex_state = 467, .external_lex_state = 2},
  [10798] = {.lex_state = 467, .external_lex_state = 39},
  [10799] = {.lex_state = 467, .external_lex_state = 2},
  [10800] = {.lex_state = 1290, .external_lex_state = 4},
  [10801] = {.lex_state = 1288, .external_lex_state = 4},
  [10802] = {.lex_state = 1288, .external_lex_state = 4},
  [10803] = {.lex_state = 1288, .external_lex_state = 4},
  [10804] = {.lex_state = 1288, .external_lex_state = 4},
  [10805] = {.lex_state = 1288, .external_lex_state = 4},
  [10806] = {.lex_state = 1288, .external_lex_state = 4},
  [10807] = {.lex_state = 1116, .external_lex_state = 30},
  [10808] = {.lex_state = 1288, .external_lex_state = 4},
  [10809] = {.lex_state = 1288, .external_lex_state = 4},
  [10810] = {.lex_state = 1288, .external_lex_state = 4},
  [10811] = {.lex_state = 1288, .external_lex_state = 4},
  [10812] = {.lex_state = 1288, .external_lex_state = 4},
  [10813] = {.lex_state = 968, .external_lex_state = 70},
  [10814] = {.lex_state = 968, .external_lex_state = 12},
  [10815] = {.lex_state = 1288, .external_lex_state = 4},
  [10816] = {.lex_state = 1288, .external_lex_state = 4},
  [10817] = {.lex_state = 1288, .external_lex_state = 4},
  [10818] = {.lex_state = 1290, .external_lex_state = 4},
  [10819] = {.lex_state = 1398, .external_lex_state = 13},
  [10820] = {.lex_state = 1398, .external_lex_state = 13},
  [10821] = {.lex_state = 1398, .external_lex_state = 13},
  [10822] = {.lex_state = 1398, .external_lex_state = 13},
  [10823] = {.lex_state = 467, .external_lex_state = 2},
  [10824] = {.lex_state = 467, .external_lex_state = 2},
  [10825] = {.lex_state = 467, .external_lex_state = 2},
  [10826] = {.lex_state = 467, .external_lex_state = 2},
  [10827] = {.lex_state = 467, .external_lex_state = 2},
  [10828] = {.lex_state = 467, .external_lex_state = 2},
  [10829] = {.lex_state = 467, .external_lex_state = 2},
  [10830] = {.lex_state = 467, .external_lex_state = 2},
  [10831] = {.lex_state = 467, .external_lex_state = 2},
  [10832] = {.lex_state = 467, .external_lex_state = 2},
  [10833] = {.lex_state = 467, .external_lex_state = 2},
  [10834] = {.lex_state = 467, .external_lex_state = 2},
  [10835] = {.lex_state = 467, .external_lex_state = 39},
  [10836] = {.lex_state = 1398, .external_lex_state = 13},
  [10837] = {.lex_state = 467, .external_lex_state = 39},
  [10838] = {.lex_state = 467, .external_lex_state = 2},
  [10839] = {.lex_state = 1296, .external_lex_state = 4},
  [10840] = {.lex_state = 1296, .external_lex_state = 4},
  [10841] = {.lex_state = 1296, .external_lex_state = 4},
  [10842] = {.lex_state = 467, .external_lex_state = 2},
  [10843] = {.lex_state = 467, .external_lex_state = 2},
  [10844] = {.lex_state = 467, .external_lex_state = 2},
  [10845] = {.lex_state = 467, .external_lex_state = 2},
  [10846] = {.lex_state = 467, .external_lex_state = 2},
  [10847] = {.lex_state = 467, .external_lex_state = 2},
  [10848] = {.lex_state = 467, .external_lex_state = 2},
  [10849] = {.lex_state = 467, .external_lex_state = 2},
  [10850] = {.lex_state = 467, .external_lex_state = 2},
  [10851] = {.lex_state = 467, .external_lex_state = 2},
  [10852] = {.lex_state = 467, .external_lex_state = 2},
  [10853] = {.lex_state = 467, .external_lex_state = 2},
  [10854] = {.lex_state = 467, .external_lex_state = 39},
  [10855] = {.lex_state = 467, .external_lex_state = 2},
  [10856] = {.lex_state = 1294, .external_lex_state = 4},
  [10857] = {.lex_state = 1294, .external_lex_state = 4},
  [10858] = {.lex_state = 1294, .external_lex_state = 4},
  [10859] = {.lex_state = 467, .external_lex_state = 2},
  [10860] = {.lex_state = 968, .external_lex_state = 12},
  [10861] = {.lex_state = 1294, .external_lex_state = 4},
  [10862] = {.lex_state = 467, .external_lex_state = 2},
  [10863] = {.lex_state = 1296, .external_lex_state = 4},
  [10864] = {.lex_state = 1294, .external_lex_state = 4},
  [10865] = {.lex_state = 1294, .external_lex_state = 4},
  [10866] = {.lex_state = 1294, .external_lex_state = 4},
  [10867] = {.lex_state = 1294, .external_lex_state = 4},
  [10868] = {.lex_state = 1294, .external_lex_state = 4},
  [10869] = {.lex_state = 1294, .external_lex_state = 4},
  [10870] = {.lex_state = 1116, .external_lex_state = 30},
  [10871] = {.lex_state = 1294, .external_lex_state = 4},
  [10872] = {.lex_state = 1294, .external_lex_state = 4},
  [10873] = {.lex_state = 1294, .external_lex_state = 4},
  [10874] = {.lex_state = 1294, .external_lex_state = 4},
  [10875] = {.lex_state = 1294, .external_lex_state = 4},
  [10876] = {.lex_state = 1302, .external_lex_state = 4},
  [10877] = {.lex_state = 1302, .external_lex_state = 4},
  [10878] = {.lex_state = 1302, .external_lex_state = 4},
  [10879] = {.lex_state = 467, .external_lex_state = 2},
  [10880] = {.lex_state = 968, .external_lex_state = 12},
  [10881] = {.lex_state = 1302, .external_lex_state = 4},
  [10882] = {.lex_state = 467, .external_lex_state = 2},
  [10883] = {.lex_state = 968, .external_lex_state = 70},
  [10884] = {.lex_state = 968, .external_lex_state = 12},
  [10885] = {.lex_state = 1294, .external_lex_state = 4},
  [10886] = {.lex_state = 1294, .external_lex_state = 4},
  [10887] = {.lex_state = 1294, .external_lex_state = 4},
  [10888] = {.lex_state = 1296, .external_lex_state = 4},
  [10889] = {.lex_state = 467, .external_lex_state = 2},
  [10890] = {.lex_state = 1304, .external_lex_state = 4},
  [10891] = {.lex_state = 1304, .external_lex_state = 4},
  [10892] = {.lex_state = 1304, .external_lex_state = 4},
  [10893] = {.lex_state = 467, .external_lex_state = 2},
  [10894] = {.lex_state = 467, .external_lex_state = 2},
  [10895] = {.lex_state = 467, .external_lex_state = 2},
  [10896] = {.lex_state = 467, .external_lex_state = 2},
  [10897] = {.lex_state = 467, .external_lex_state = 2},
  [10898] = {.lex_state = 467, .external_lex_state = 2},
  [10899] = {.lex_state = 467, .external_lex_state = 2},
  [10900] = {.lex_state = 467, .external_lex_state = 2},
  [10901] = {.lex_state = 467, .external_lex_state = 2},
  [10902] = {.lex_state = 467, .external_lex_state = 2},
  [10903] = {.lex_state = 467, .external_lex_state = 2},
  [10904] = {.lex_state = 467, .external_lex_state = 2},
  [10905] = {.lex_state = 467, .external_lex_state = 39},
  [10906] = {.lex_state = 467, .external_lex_state = 2},
  [10907] = {.lex_state = 1304, .external_lex_state = 4},
  [10908] = {.lex_state = 1302, .external_lex_state = 4},
  [10909] = {.lex_state = 1302, .external_lex_state = 4},
  [10910] = {.lex_state = 1302, .external_lex_state = 4},
  [10911] = {.lex_state = 1302, .external_lex_state = 4},
  [10912] = {.lex_state = 1302, .external_lex_state = 4},
  [10913] = {.lex_state = 1302, .external_lex_state = 4},
  [10914] = {.lex_state = 1116, .external_lex_state = 30},
  [10915] = {.lex_state = 1302, .external_lex_state = 4},
  [10916] = {.lex_state = 1302, .external_lex_state = 4},
  [10917] = {.lex_state = 1302, .external_lex_state = 4},
  [10918] = {.lex_state = 1302, .external_lex_state = 4},
  [10919] = {.lex_state = 1302, .external_lex_state = 4},
  [10920] = {.lex_state = 968, .external_lex_state = 70},
  [10921] = {.lex_state = 968, .external_lex_state = 12},
  [10922] = {.lex_state = 1302, .external_lex_state = 4},
  [10923] = {.lex_state = 1302, .external_lex_state = 4},
  [10924] = {.lex_state = 1302, .external_lex_state = 4},
  [10925] = {.lex_state = 1304, .external_lex_state = 4},
  [10926] = {.lex_state = 1400, .external_lex_state = 13},
  [10927] = {.lex_state = 1400, .external_lex_state = 13},
  [10928] = {.lex_state = 1400, .external_lex_state = 13},
  [10929] = {.lex_state = 1400, .external_lex_state = 13},
  [10930] = {.lex_state = 467, .external_lex_state = 2},
  [10931] = {.lex_state = 467, .external_lex_state = 2},
  [10932] = {.lex_state = 467, .external_lex_state = 2},
  [10933] = {.lex_state = 467, .external_lex_state = 2},
  [10934] = {.lex_state = 467, .external_lex_state = 2},
  [10935] = {.lex_state = 467, .external_lex_state = 2},
  [10936] = {.lex_state = 467, .external_lex_state = 2},
  [10937] = {.lex_state = 467, .external_lex_state = 2},
  [10938] = {.lex_state = 467, .external_lex_state = 2},
  [10939] = {.lex_state = 467, .external_lex_state = 2},
  [10940] = {.lex_state = 467, .external_lex_state = 2},
  [10941] = {.lex_state = 467, .external_lex_state = 2},
  [10942] = {.lex_state = 467, .external_lex_state = 39},
  [10943] = {.lex_state = 1400, .external_lex_state = 13},
  [10944] = {.lex_state = 467, .external_lex_state = 39},
  [10945] = {.lex_state = 467, .external_lex_state = 2},
  [10946] = {.lex_state = 757, .external_lex_state = 13},
  [10947] = {.lex_state = 1087, .external_lex_state = 4},
  [10948] = {.lex_state = 1087, .external_lex_state = 4},
  [10949] = {.lex_state = 1087, .external_lex_state = 4},
  [10950] = {.lex_state = 1087, .external_lex_state = 4},
  [10951] = {.lex_state = 1087, .external_lex_state = 4},
  [10952] = {.lex_state = 1087, .external_lex_state = 4},
  [10953] = {.lex_state = 1116, .external_lex_state = 30},
  [10954] = {.lex_state = 1087, .external_lex_state = 4},
  [10955] = {.lex_state = 1087, .external_lex_state = 4},
  [10956] = {.lex_state = 1087, .external_lex_state = 4},
  [10957] = {.lex_state = 1087, .external_lex_state = 4},
  [10958] = {.lex_state = 1087, .external_lex_state = 4},
  [10959] = {.lex_state = 1087, .external_lex_state = 4},
  [10960] = {.lex_state = 1087, .external_lex_state = 4},
  [10961] = {.lex_state = 1087, .external_lex_state = 4},
  [10962] = {.lex_state = 467, .external_lex_state = 2},
  [10963] = {.lex_state = 968, .external_lex_state = 70},
  [10964] = {.lex_state = 467, .external_lex_state = 39},
  [10965] = {.lex_state = 1085, .external_lex_state = 4},
  [10966] = {.lex_state = 1308, .external_lex_state = 13},
  [10967] = {.lex_state = 1308, .external_lex_state = 13},
  [10968] = {.lex_state = 1308, .external_lex_state = 13},
  [10969] = {.lex_state = 1308, .external_lex_state = 13},
  [10970] = {.lex_state = 1308, .external_lex_state = 13},
  [10971] = {.lex_state = 1308, .external_lex_state = 13},
  [10972] = {.lex_state = 1116, .external_lex_state = 30},
  [10973] = {.lex_state = 1308, .external_lex_state = 13},
  [10974] = {.lex_state = 1308, .external_lex_state = 13},
  [10975] = {.lex_state = 1308, .external_lex_state = 13},
  [10976] = {.lex_state = 1308, .external_lex_state = 13},
  [10977] = {.lex_state = 1308, .external_lex_state = 13},
  [10978] = {.lex_state = 467, .external_lex_state = 39},
  [10979] = {.lex_state = 1308, .external_lex_state = 13},
  [10980] = {.lex_state = 1308, .external_lex_state = 13},
  [10981] = {.lex_state = 1310, .external_lex_state = 42},
  [10982] = {.lex_state = 1310, .external_lex_state = 42},
  [10983] = {.lex_state = 1310, .external_lex_state = 42},
  [10984] = {.lex_state = 467, .external_lex_state = 2},
  [10985] = {.lex_state = 467, .external_lex_state = 2},
  [10986] = {.lex_state = 467, .external_lex_state = 2},
  [10987] = {.lex_state = 467, .external_lex_state = 2},
  [10988] = {.lex_state = 467, .external_lex_state = 2},
  [10989] = {.lex_state = 467, .external_lex_state = 2},
  [10990] = {.lex_state = 467, .external_lex_state = 2},
  [10991] = {.lex_state = 467, .external_lex_state = 2},
  [10992] = {.lex_state = 467, .external_lex_state = 2},
  [10993] = {.lex_state = 467, .external_lex_state = 2},
  [10994] = {.lex_state = 467, .external_lex_state = 2},
  [10995] = {.lex_state = 467, .external_lex_state = 2},
  [10996] = {.lex_state = 467, .external_lex_state = 39},
  [10997] = {.lex_state = 467, .external_lex_state = 2},
  [10998] = {.lex_state = 1310, .external_lex_state = 42},
  [10999] = {.lex_state = 968, .external_lex_state = 70},
  [11000] = {.lex_state = 968, .external_lex_state = 12},
  [11001] = {.lex_state = 1310, .external_lex_state = 42},
  [11002] = {.lex_state = 467, .external_lex_state = 2},
  [11003] = {.lex_state = 1312, .external_lex_state = 42},
  [11004] = {.lex_state = 1312, .external_lex_state = 42},
  [11005] = {.lex_state = 1312, .external_lex_state = 42},
  [11006] = {.lex_state = 467, .external_lex_state = 2},
  [11007] = {.lex_state = 467, .external_lex_state = 2},
  [11008] = {.lex_state = 467, .external_lex_state = 2},
  [11009] = {.lex_state = 467, .external_lex_state = 2},
  [11010] = {.lex_state = 467, .external_lex_state = 2},
  [11011] = {.lex_state = 467, .external_lex_state = 2},
  [11012] = {.lex_state = 467, .external_lex_state = 2},
  [11013] = {.lex_state = 467, .external_lex_state = 2},
  [11014] = {.lex_state = 467, .external_lex_state = 2},
  [11015] = {.lex_state = 467, .external_lex_state = 2},
  [11016] = {.lex_state = 467, .external_lex_state = 2},
  [11017] = {.lex_state = 467, .external_lex_state = 2},
  [11018] = {.lex_state = 467, .external_lex_state = 39},
  [11019] = {.lex_state = 467, .external_lex_state = 2},
  [11020] = {.lex_state = 1312, .external_lex_state = 42},
  [11021] = {.lex_state = 968, .external_lex_state = 70},
  [11022] = {.lex_state = 968, .external_lex_state = 12},
  [11023] = {.lex_state = 1312, .external_lex_state = 42},
  [11024] = {.lex_state = 1093, .external_lex_state = 46},
  [11025] = {.lex_state = 467, .external_lex_state = 39},
  [11026] = {.lex_state = 1093, .external_lex_state = 46},
  [11027] = {.lex_state = 545, .external_lex_state = 6},
  [11028] = {.lex_state = 769, .external_lex_state = 42},
  [11029] = {.lex_state = 769, .external_lex_state = 42},
  [11030] = {.lex_state = 0},
  [11031] = {.lex_state = 769, .external_lex_state = 42},
  [11032] = {.lex_state = 0},
  [11033] = {.lex_state = 769, .external_lex_state = 42},
  [11034] = {.lex_state = 467, .external_lex_state = 2},
  [11035] = {.lex_state = 968, .external_lex_state = 70},
  [11036] = {.lex_state = 467, .external_lex_state = 39},
  [11037] = {.lex_state = 1099, .external_lex_state = 42},
  [11038] = {.lex_state = 769, .external_lex_state = 42},
  [11039] = {.lex_state = 0},
  [11040] = {.lex_state = 0},
  [11041] = {.lex_state = 769, .external_lex_state = 42},
  [11042] = {.lex_state = 0},
  [11043] = {.lex_state = 769, .external_lex_state = 42},
  [11044] = {.lex_state = 769, .external_lex_state = 42},
  [11045] = {.lex_state = 769, .external_lex_state = 42},
  [11046] = {.lex_state = 0},
  [11047] = {.lex_state = 769, .external_lex_state = 42},
  [11048] = {.lex_state = 769, .external_lex_state = 42},
  [11049] = {.lex_state = 769, .external_lex_state = 42},
  [11050] = {.lex_state = 0},
  [11051] = {.lex_state = 746, .external_lex_state = 2},
  [11052] = {.lex_state = 781, .external_lex_state = 46},
  [11053] = {.lex_state = 777, .external_lex_state = 42},
  [11054] = {.lex_state = 775, .external_lex_state = 45},
  [11055] = {.lex_state = 0},
  [11056] = {.lex_state = 777, .external_lex_state = 42},
  [11057] = {.lex_state = 777, .external_lex_state = 42},
  [11058] = {.lex_state = 0},
  [11059] = {.lex_state = 746, .external_lex_state = 2},
  [11060] = {.lex_state = 467, .external_lex_state = 2},
  [11061] = {.lex_state = 968, .external_lex_state = 70},
  [11062] = {.lex_state = 467, .external_lex_state = 39},
  [11063] = {.lex_state = 1101, .external_lex_state = 42},
  [11064] = {.lex_state = 1314, .external_lex_state = 12},
  [11065] = {.lex_state = 617, .external_lex_state = 55},
  [11066] = {.lex_state = 789, .external_lex_state = 46},
  [11067] = {.lex_state = 467, .external_lex_state = 39},
  [11068] = {.lex_state = 585},
  [11069] = {.lex_state = 545},
  [11070] = {.lex_state = 631, .external_lex_state = 2},
  [11071] = {.lex_state = 585},
  [11072] = {.lex_state = 467, .external_lex_state = 2},
  [11073] = {.lex_state = 716, .external_lex_state = 29},
  [11074] = {.lex_state = 716, .external_lex_state = 29},
  [11075] = {.lex_state = 716, .external_lex_state = 29},
  [11076] = {.lex_state = 716, .external_lex_state = 29},
  [11077] = {.lex_state = 467, .external_lex_state = 2},
  [11078] = {.lex_state = 467, .external_lex_state = 2},
  [11079] = {.lex_state = 467, .external_lex_state = 2},
  [11080] = {.lex_state = 1350, .external_lex_state = 30},
  [11081] = {.lex_state = 722, .external_lex_state = 29},
  [11082] = {.lex_state = 549},
  [11083] = {.lex_state = 944, .external_lex_state = 20},
  [11084] = {.lex_state = 1350, .external_lex_state = 30},
  [11085] = {.lex_state = 545},
  [11086] = {.lex_state = 797},
  [11087] = {.lex_state = 585},
  [11088] = {.lex_state = 585},
  [11089] = {.lex_state = 804},
  [11090] = {.lex_state = 0},
  [11091] = {.lex_state = 804},
  [11092] = {.lex_state = 0},
  [11093] = {.lex_state = 746, .external_lex_state = 2},
  [11094] = {.lex_state = 746, .external_lex_state = 11},
  [11095] = {.lex_state = 800, .external_lex_state = 11},
  [11096] = {.lex_state = 585},
  [11097] = {.lex_state = 746, .external_lex_state = 11},
  [11098] = {.lex_state = 585},
  [11099] = {.lex_state = 545},
  [11100] = {.lex_state = 797},
  [11101] = {.lex_state = 458, .external_lex_state = 4},
  [11102] = {.lex_state = 0},
  [11103] = {.lex_state = 1324, .external_lex_state = 30},
  [11104] = {.lex_state = 1324, .external_lex_state = 30},
  [11105] = {.lex_state = 1324, .external_lex_state = 30},
  [11106] = {.lex_state = 1324, .external_lex_state = 30},
  [11107] = {.lex_state = 1324, .external_lex_state = 30},
  [11108] = {.lex_state = 1324, .external_lex_state = 30},
  [11109] = {.lex_state = 1116, .external_lex_state = 30},
  [11110] = {.lex_state = 1324, .external_lex_state = 30},
  [11111] = {.lex_state = 1324, .external_lex_state = 30},
  [11112] = {.lex_state = 1324, .external_lex_state = 30},
  [11113] = {.lex_state = 1324, .external_lex_state = 30},
  [11114] = {.lex_state = 1324, .external_lex_state = 30},
  [11115] = {.lex_state = 467, .external_lex_state = 2},
  [11116] = {.lex_state = 1324, .external_lex_state = 30},
  [11117] = {.lex_state = 1324, .external_lex_state = 30},
  [11118] = {.lex_state = 1324, .external_lex_state = 30},
  [11119] = {.lex_state = 1332, .external_lex_state = 42},
  [11120] = {.lex_state = 1332, .external_lex_state = 42},
  [11121] = {.lex_state = 1332, .external_lex_state = 42},
  [11122] = {.lex_state = 467, .external_lex_state = 2},
  [11123] = {.lex_state = 467, .external_lex_state = 2},
  [11124] = {.lex_state = 467, .external_lex_state = 2},
  [11125] = {.lex_state = 467, .external_lex_state = 2},
  [11126] = {.lex_state = 467, .external_lex_state = 2},
  [11127] = {.lex_state = 467, .external_lex_state = 2},
  [11128] = {.lex_state = 467, .external_lex_state = 2},
  [11129] = {.lex_state = 467, .external_lex_state = 2},
  [11130] = {.lex_state = 467, .external_lex_state = 2},
  [11131] = {.lex_state = 467, .external_lex_state = 2},
  [11132] = {.lex_state = 467, .external_lex_state = 2},
  [11133] = {.lex_state = 467, .external_lex_state = 2},
  [11134] = {.lex_state = 467, .external_lex_state = 39},
  [11135] = {.lex_state = 467, .external_lex_state = 2},
  [11136] = {.lex_state = 1330, .external_lex_state = 42},
  [11137] = {.lex_state = 1330, .external_lex_state = 42},
  [11138] = {.lex_state = 1330, .external_lex_state = 42},
  [11139] = {.lex_state = 467, .external_lex_state = 2},
  [11140] = {.lex_state = 968, .external_lex_state = 12},
  [11141] = {.lex_state = 1330, .external_lex_state = 42},
  [11142] = {.lex_state = 467, .external_lex_state = 2},
  [11143] = {.lex_state = 1332, .external_lex_state = 42},
  [11144] = {.lex_state = 1330, .external_lex_state = 42},
  [11145] = {.lex_state = 1330, .external_lex_state = 42},
  [11146] = {.lex_state = 1330, .external_lex_state = 42},
  [11147] = {.lex_state = 1330, .external_lex_state = 42},
  [11148] = {.lex_state = 1330, .external_lex_state = 42},
  [11149] = {.lex_state = 1330, .external_lex_state = 42},
  [11150] = {.lex_state = 1116, .external_lex_state = 30},
  [11151] = {.lex_state = 1330, .external_lex_state = 42},
  [11152] = {.lex_state = 1330, .external_lex_state = 42},
  [11153] = {.lex_state = 1330, .external_lex_state = 42},
  [11154] = {.lex_state = 1330, .external_lex_state = 42},
  [11155] = {.lex_state = 1330, .external_lex_state = 42},
  [11156] = {.lex_state = 1338, .external_lex_state = 42},
  [11157] = {.lex_state = 1338, .external_lex_state = 42},
  [11158] = {.lex_state = 1338, .external_lex_state = 42},
  [11159] = {.lex_state = 467, .external_lex_state = 2},
  [11160] = {.lex_state = 968, .external_lex_state = 12},
  [11161] = {.lex_state = 1338, .external_lex_state = 42},
  [11162] = {.lex_state = 467, .external_lex_state = 2},
  [11163] = {.lex_state = 968, .external_lex_state = 70},
  [11164] = {.lex_state = 968, .external_lex_state = 12},
  [11165] = {.lex_state = 1330, .external_lex_state = 42},
  [11166] = {.lex_state = 1330, .external_lex_state = 42},
  [11167] = {.lex_state = 1330, .external_lex_state = 42},
  [11168] = {.lex_state = 1332, .external_lex_state = 42},
  [11169] = {.lex_state = 467, .external_lex_state = 2},
  [11170] = {.lex_state = 1340, .external_lex_state = 42},
  [11171] = {.lex_state = 1340, .external_lex_state = 42},
  [11172] = {.lex_state = 1340, .external_lex_state = 42},
  [11173] = {.lex_state = 467, .external_lex_state = 2},
  [11174] = {.lex_state = 467, .external_lex_state = 2},
  [11175] = {.lex_state = 467, .external_lex_state = 2},
  [11176] = {.lex_state = 467, .external_lex_state = 2},
  [11177] = {.lex_state = 467, .external_lex_state = 2},
  [11178] = {.lex_state = 467, .external_lex_state = 2},
  [11179] = {.lex_state = 467, .external_lex_state = 2},
  [11180] = {.lex_state = 467, .external_lex_state = 2},
  [11181] = {.lex_state = 467, .external_lex_state = 2},
  [11182] = {.lex_state = 467, .external_lex_state = 2},
  [11183] = {.lex_state = 467, .external_lex_state = 2},
  [11184] = {.lex_state = 467, .external_lex_state = 2},
  [11185] = {.lex_state = 467, .external_lex_state = 39},
  [11186] = {.lex_state = 467, .external_lex_state = 2},
  [11187] = {.lex_state = 1340, .external_lex_state = 42},
  [11188] = {.lex_state = 1338, .external_lex_state = 42},
  [11189] = {.lex_state = 1338, .external_lex_state = 42},
  [11190] = {.lex_state = 1338, .external_lex_state = 42},
  [11191] = {.lex_state = 1338, .external_lex_state = 42},
  [11192] = {.lex_state = 1338, .external_lex_state = 42},
  [11193] = {.lex_state = 1338, .external_lex_state = 42},
  [11194] = {.lex_state = 1116, .external_lex_state = 30},
  [11195] = {.lex_state = 1338, .external_lex_state = 42},
  [11196] = {.lex_state = 1338, .external_lex_state = 42},
  [11197] = {.lex_state = 1338, .external_lex_state = 42},
  [11198] = {.lex_state = 1338, .external_lex_state = 42},
  [11199] = {.lex_state = 1338, .external_lex_state = 42},
  [11200] = {.lex_state = 968, .external_lex_state = 70},
  [11201] = {.lex_state = 968, .external_lex_state = 12},
  [11202] = {.lex_state = 1338, .external_lex_state = 42},
  [11203] = {.lex_state = 1338, .external_lex_state = 42},
  [11204] = {.lex_state = 1338, .external_lex_state = 42},
  [11205] = {.lex_state = 1340, .external_lex_state = 42},
  [11206] = {.lex_state = 1404, .external_lex_state = 30},
  [11207] = {.lex_state = 1404, .external_lex_state = 30},
  [11208] = {.lex_state = 1404, .external_lex_state = 30},
  [11209] = {.lex_state = 1404, .external_lex_state = 30},
  [11210] = {.lex_state = 467, .external_lex_state = 2},
  [11211] = {.lex_state = 467, .external_lex_state = 2},
  [11212] = {.lex_state = 467, .external_lex_state = 2},
  [11213] = {.lex_state = 467, .external_lex_state = 2},
  [11214] = {.lex_state = 467, .external_lex_state = 2},
  [11215] = {.lex_state = 467, .external_lex_state = 2},
  [11216] = {.lex_state = 467, .external_lex_state = 2},
  [11217] = {.lex_state = 467, .external_lex_state = 2},
  [11218] = {.lex_state = 467, .external_lex_state = 2},
  [11219] = {.lex_state = 467, .external_lex_state = 2},
  [11220] = {.lex_state = 467, .external_lex_state = 2},
  [11221] = {.lex_state = 467, .external_lex_state = 2},
  [11222] = {.lex_state = 467, .external_lex_state = 39},
  [11223] = {.lex_state = 1404, .external_lex_state = 30},
  [11224] = {.lex_state = 467, .external_lex_state = 39},
  [11225] = {.lex_state = 467, .external_lex_state = 2},
  [11226] = {.lex_state = 570, .external_lex_state = 10},
  [11227] = {.lex_state = 1122, .external_lex_state = 3},
  [11228] = {.lex_state = 575, .external_lex_state = 4},
  [11229] = {.lex_state = 575, .external_lex_state = 4},
  [11230] = {.lex_state = 575, .external_lex_state = 4},
  [11231] = {.lex_state = 575, .external_lex_state = 4},
  [11232] = {.lex_state = 575, .external_lex_state = 4},
  [11233] = {.lex_state = 585},
  [11234] = {.lex_state = 575, .external_lex_state = 4},
  [11235] = {.lex_state = 575, .external_lex_state = 4},
  [11236] = {.lex_state = 0},
  [11237] = {.lex_state = 565, .external_lex_state = 2},
  [11238] = {.lex_state = 565, .external_lex_state = 2},
  [11239] = {.lex_state = 575, .external_lex_state = 4},
  [11240] = {.lex_state = 0},
  [11241] = {.lex_state = 575, .external_lex_state = 4},
  [11242] = {.lex_state = 0},
  [11243] = {.lex_state = 575, .external_lex_state = 4},
  [11244] = {.lex_state = 0},
  [11245] = {.lex_state = 0},
  [11246] = {.lex_state = 985, .external_lex_state = 2},
  [11247] = {.lex_state = 575, .external_lex_state = 4},
  [11248] = {.lex_state = 0},
  [11249] = {.lex_state = 0},
  [11250] = {.lex_state = 575, .external_lex_state = 4},
  [11251] = {.lex_state = 0},
  [11252] = {.lex_state = 575, .external_lex_state = 4},
  [11253] = {.lex_state = 0},
  [11254] = {.lex_state = 746, .external_lex_state = 2},
  [11255] = {.lex_state = 575, .external_lex_state = 4},
  [11256] = {.lex_state = 0},
  [11257] = {.lex_state = 575, .external_lex_state = 4},
  [11258] = {.lex_state = 467, .external_lex_state = 2},
  [11259] = {.lex_state = 467, .external_lex_state = 39},
  [11260] = {.lex_state = 816, .external_lex_state = 4},
  [11261] = {.lex_state = 808, .external_lex_state = 3},
  [11262] = {.lex_state = 1142, .external_lex_state = 4},
  [11263] = {.lex_state = 968, .external_lex_state = 70},
  [11264] = {.lex_state = 968, .external_lex_state = 12},
  [11265] = {.lex_state = 1142, .external_lex_state = 4},
  [11266] = {.lex_state = 467, .external_lex_state = 2},
  [11267] = {.lex_state = 1148, .external_lex_state = 4},
  [11268] = {.lex_state = 968, .external_lex_state = 70},
  [11269] = {.lex_state = 968, .external_lex_state = 12},
  [11270] = {.lex_state = 1148, .external_lex_state = 4},
  [11271] = {.lex_state = 1406, .external_lex_state = 13},
  [11272] = {.lex_state = 1406, .external_lex_state = 13},
  [11273] = {.lex_state = 1406, .external_lex_state = 13},
  [11274] = {.lex_state = 1406, .external_lex_state = 13},
  [11275] = {.lex_state = 467, .external_lex_state = 2},
  [11276] = {.lex_state = 467, .external_lex_state = 2},
  [11277] = {.lex_state = 467, .external_lex_state = 2},
  [11278] = {.lex_state = 467, .external_lex_state = 2},
  [11279] = {.lex_state = 467, .external_lex_state = 2},
  [11280] = {.lex_state = 467, .external_lex_state = 2},
  [11281] = {.lex_state = 467, .external_lex_state = 2},
  [11282] = {.lex_state = 467, .external_lex_state = 2},
  [11283] = {.lex_state = 467, .external_lex_state = 2},
  [11284] = {.lex_state = 467, .external_lex_state = 2},
  [11285] = {.lex_state = 467, .external_lex_state = 2},
  [11286] = {.lex_state = 467, .external_lex_state = 2},
  [11287] = {.lex_state = 467, .external_lex_state = 39},
  [11288] = {.lex_state = 1406, .external_lex_state = 13},
  [11289] = {.lex_state = 467, .external_lex_state = 39},
  [11290] = {.lex_state = 467, .external_lex_state = 2},
  [11291] = {.lex_state = 545, .external_lex_state = 6},
  [11292] = {.lex_state = 708, .external_lex_state = 4},
  [11293] = {.lex_state = 708, .external_lex_state = 4},
  [11294] = {.lex_state = 0},
  [11295] = {.lex_state = 708, .external_lex_state = 4},
  [11296] = {.lex_state = 0},
  [11297] = {.lex_state = 708, .external_lex_state = 4},
  [11298] = {.lex_state = 708, .external_lex_state = 4},
  [11299] = {.lex_state = 0},
  [11300] = {.lex_state = 0},
  [11301] = {.lex_state = 708, .external_lex_state = 4},
  [11302] = {.lex_state = 0},
  [11303] = {.lex_state = 708, .external_lex_state = 4},
  [11304] = {.lex_state = 708, .external_lex_state = 4},
  [11305] = {.lex_state = 708, .external_lex_state = 4},
  [11306] = {.lex_state = 0},
  [11307] = {.lex_state = 575, .external_lex_state = 4},
  [11308] = {.lex_state = 0},
  [11309] = {.lex_state = 708, .external_lex_state = 4},
  [11310] = {.lex_state = 814, .external_lex_state = 4},
  [11311] = {.lex_state = 575, .external_lex_state = 4},
  [11312] = {.lex_state = 575, .external_lex_state = 4},
  [11313] = {.lex_state = 708, .external_lex_state = 4},
  [11314] = {.lex_state = 467, .external_lex_state = 39},
  [11315] = {.lex_state = 467, .external_lex_state = 2},
  [11316] = {.lex_state = 605, .external_lex_state = 13},
  [11317] = {.lex_state = 615, .external_lex_state = 15},
  [11318] = {.lex_state = 615, .external_lex_state = 15},
  [11319] = {.lex_state = 615, .external_lex_state = 15},
  [11320] = {.lex_state = 822, .external_lex_state = 63},
  [11321] = {.lex_state = 467, .external_lex_state = 2},
  [11322] = {.lex_state = 842, .external_lex_state = 49},
  [11323] = {.lex_state = 0},
  [11324] = {.lex_state = 621, .external_lex_state = 52},
  [11325] = {.lex_state = 960, .external_lex_state = 31},
  [11326] = {.lex_state = 0},
  [11327] = {.lex_state = 842, .external_lex_state = 49},
  [11328] = {.lex_state = 0},
  [11329] = {.lex_state = 842, .external_lex_state = 49},
  [11330] = {.lex_state = 0},
  [11331] = {.lex_state = 746, .external_lex_state = 2},
  [11332] = {.lex_state = 746, .external_lex_state = 11},
  [11333] = {.lex_state = 467, .external_lex_state = 39},
  [11334] = {.lex_state = 615, .external_lex_state = 49},
  [11335] = {.lex_state = 545, .external_lex_state = 6},
  [11336] = {.lex_state = 824, .external_lex_state = 49},
  [11337] = {.lex_state = 824, .external_lex_state = 49},
  [11338] = {.lex_state = 0},
  [11339] = {.lex_state = 824, .external_lex_state = 49},
  [11340] = {.lex_state = 0},
  [11341] = {.lex_state = 824, .external_lex_state = 49},
  [11342] = {.lex_state = 968, .external_lex_state = 70},
  [11343] = {.lex_state = 824, .external_lex_state = 49},
  [11344] = {.lex_state = 0},
  [11345] = {.lex_state = 0},
  [11346] = {.lex_state = 824, .external_lex_state = 49},
  [11347] = {.lex_state = 0},
  [11348] = {.lex_state = 824, .external_lex_state = 49},
  [11349] = {.lex_state = 824, .external_lex_state = 49},
  [11350] = {.lex_state = 824, .external_lex_state = 49},
  [11351] = {.lex_state = 0},
  [11352] = {.lex_state = 824, .external_lex_state = 49},
  [11353] = {.lex_state = 824, .external_lex_state = 49},
  [11354] = {.lex_state = 824, .external_lex_state = 49},
  [11355] = {.lex_state = 0},
  [11356] = {.lex_state = 746, .external_lex_state = 2},
  [11357] = {.lex_state = 824, .external_lex_state = 49},
  [11358] = {.lex_state = 828, .external_lex_state = 49},
  [11359] = {.lex_state = 644, .external_lex_state = 52},
  [11360] = {.lex_state = 0},
  [11361] = {.lex_state = 828, .external_lex_state = 49},
  [11362] = {.lex_state = 828, .external_lex_state = 49},
  [11363] = {.lex_state = 828, .external_lex_state = 49},
  [11364] = {.lex_state = 0},
  [11365] = {.lex_state = 746, .external_lex_state = 2},
  [11366] = {.lex_state = 828, .external_lex_state = 49},
  [11367] = {.lex_state = 617, .external_lex_state = 55},
  [11368] = {.lex_state = 828, .external_lex_state = 49},
  [11369] = {.lex_state = 968, .external_lex_state = 70},
  [11370] = {.lex_state = 824, .external_lex_state = 49},
  [11371] = {.lex_state = 824, .external_lex_state = 49},
  [11372] = {.lex_state = 824, .external_lex_state = 49},
  [11373] = {.lex_state = 467, .external_lex_state = 39},
  [11374] = {.lex_state = 615, .external_lex_state = 15},
  [11375] = {.lex_state = 0},
  [11376] = {.lex_state = 615, .external_lex_state = 15},
  [11377] = {.lex_state = 615, .external_lex_state = 15},
  [11378] = {.lex_state = 615, .external_lex_state = 15},
  [11379] = {.lex_state = 0},
  [11380] = {.lex_state = 621, .external_lex_state = 17},
  [11381] = {.lex_state = 1138, .external_lex_state = 63},
  [11382] = {.lex_state = 842, .external_lex_state = 49},
  [11383] = {.lex_state = 842, .external_lex_state = 49},
  [11384] = {.lex_state = 842, .external_lex_state = 49},
  [11385] = {.lex_state = 842, .external_lex_state = 49},
  [11386] = {.lex_state = 842, .external_lex_state = 49},
  [11387] = {.lex_state = 585},
  [11388] = {.lex_state = 842, .external_lex_state = 49},
  [11389] = {.lex_state = 842, .external_lex_state = 49},
  [11390] = {.lex_state = 0},
  [11391] = {.lex_state = 565, .external_lex_state = 2},
  [11392] = {.lex_state = 565, .external_lex_state = 2},
  [11393] = {.lex_state = 842, .external_lex_state = 49},
  [11394] = {.lex_state = 0},
  [11395] = {.lex_state = 842, .external_lex_state = 49},
  [11396] = {.lex_state = 0},
  [11397] = {.lex_state = 842, .external_lex_state = 49},
  [11398] = {.lex_state = 0},
  [11399] = {.lex_state = 0},
  [11400] = {.lex_state = 985, .external_lex_state = 2},
  [11401] = {.lex_state = 842, .external_lex_state = 49},
  [11402] = {.lex_state = 0},
  [11403] = {.lex_state = 0},
  [11404] = {.lex_state = 842, .external_lex_state = 49},
  [11405] = {.lex_state = 0},
  [11406] = {.lex_state = 842, .external_lex_state = 49},
  [11407] = {.lex_state = 0},
  [11408] = {.lex_state = 746, .external_lex_state = 2},
  [11409] = {.lex_state = 842, .external_lex_state = 49},
  [11410] = {.lex_state = 0},
  [11411] = {.lex_state = 842, .external_lex_state = 49},
  [11412] = {.lex_state = 467, .external_lex_state = 2},
  [11413] = {.lex_state = 467, .external_lex_state = 39},
  [11414] = {.lex_state = 842, .external_lex_state = 49},
  [11415] = {.lex_state = 838, .external_lex_state = 63},
  [11416] = {.lex_state = 545, .external_lex_state = 6},
  [11417] = {.lex_state = 828, .external_lex_state = 49},
  [11418] = {.lex_state = 828, .external_lex_state = 49},
  [11419] = {.lex_state = 0},
  [11420] = {.lex_state = 828, .external_lex_state = 49},
  [11421] = {.lex_state = 0},
  [11422] = {.lex_state = 828, .external_lex_state = 49},
  [11423] = {.lex_state = 828, .external_lex_state = 49},
  [11424] = {.lex_state = 0},
  [11425] = {.lex_state = 0},
  [11426] = {.lex_state = 828, .external_lex_state = 49},
  [11427] = {.lex_state = 0},
  [11428] = {.lex_state = 828, .external_lex_state = 49},
  [11429] = {.lex_state = 828, .external_lex_state = 49},
  [11430] = {.lex_state = 828, .external_lex_state = 49},
  [11431] = {.lex_state = 0},
  [11432] = {.lex_state = 623, .external_lex_state = 15},
  [11433] = {.lex_state = 0},
  [11434] = {.lex_state = 828, .external_lex_state = 49},
  [11435] = {.lex_state = 828, .external_lex_state = 49},
  [11436] = {.lex_state = 842, .external_lex_state = 49},
  [11437] = {.lex_state = 842, .external_lex_state = 49},
  [11438] = {.lex_state = 828, .external_lex_state = 49},
  [11439] = {.lex_state = 467, .external_lex_state = 39},
  [11440] = {.lex_state = 467, .external_lex_state = 2},
  [11441] = {.lex_state = 629, .external_lex_state = 18},
  [11442] = {.lex_state = 1144, .external_lex_state = 4},
  [11443] = {.lex_state = 1144, .external_lex_state = 4},
  [11444] = {.lex_state = 1144, .external_lex_state = 4},
  [11445] = {.lex_state = 1144, .external_lex_state = 4},
  [11446] = {.lex_state = 1144, .external_lex_state = 4},
  [11447] = {.lex_state = 1144, .external_lex_state = 4},
  [11448] = {.lex_state = 1116, .external_lex_state = 30},
  [11449] = {.lex_state = 1144, .external_lex_state = 4},
  [11450] = {.lex_state = 1144, .external_lex_state = 4},
  [11451] = {.lex_state = 1144, .external_lex_state = 4},
  [11452] = {.lex_state = 1144, .external_lex_state = 4},
  [11453] = {.lex_state = 1144, .external_lex_state = 4},
  [11454] = {.lex_state = 1144, .external_lex_state = 4},
  [11455] = {.lex_state = 1144, .external_lex_state = 4},
  [11456] = {.lex_state = 1144, .external_lex_state = 4},
  [11457] = {.lex_state = 467, .external_lex_state = 2},
  [11458] = {.lex_state = 968, .external_lex_state = 70},
  [11459] = {.lex_state = 467, .external_lex_state = 39},
  [11460] = {.lex_state = 1142, .external_lex_state = 4},
  [11461] = {.lex_state = 850, .external_lex_state = 13},
  [11462] = {.lex_state = 1150, .external_lex_state = 4},
  [11463] = {.lex_state = 1150, .external_lex_state = 4},
  [11464] = {.lex_state = 1150, .external_lex_state = 4},
  [11465] = {.lex_state = 1150, .external_lex_state = 4},
  [11466] = {.lex_state = 1150, .external_lex_state = 4},
  [11467] = {.lex_state = 1150, .external_lex_state = 4},
  [11468] = {.lex_state = 1116, .external_lex_state = 30},
  [11469] = {.lex_state = 1150, .external_lex_state = 4},
  [11470] = {.lex_state = 1150, .external_lex_state = 4},
  [11471] = {.lex_state = 1150, .external_lex_state = 4},
  [11472] = {.lex_state = 1150, .external_lex_state = 4},
  [11473] = {.lex_state = 1150, .external_lex_state = 4},
  [11474] = {.lex_state = 1150, .external_lex_state = 4},
  [11475] = {.lex_state = 1150, .external_lex_state = 4},
  [11476] = {.lex_state = 1150, .external_lex_state = 4},
  [11477] = {.lex_state = 467, .external_lex_state = 2},
  [11478] = {.lex_state = 968, .external_lex_state = 70},
  [11479] = {.lex_state = 467, .external_lex_state = 39},
  [11480] = {.lex_state = 1148, .external_lex_state = 4},
  [11481] = {.lex_state = 1344, .external_lex_state = 13},
  [11482] = {.lex_state = 1344, .external_lex_state = 13},
  [11483] = {.lex_state = 1344, .external_lex_state = 13},
  [11484] = {.lex_state = 1344, .external_lex_state = 13},
  [11485] = {.lex_state = 1344, .external_lex_state = 13},
  [11486] = {.lex_state = 1344, .external_lex_state = 13},
  [11487] = {.lex_state = 1116, .external_lex_state = 30},
  [11488] = {.lex_state = 1344, .external_lex_state = 13},
  [11489] = {.lex_state = 1344, .external_lex_state = 13},
  [11490] = {.lex_state = 1344, .external_lex_state = 13},
  [11491] = {.lex_state = 1344, .external_lex_state = 13},
  [11492] = {.lex_state = 1344, .external_lex_state = 13},
  [11493] = {.lex_state = 467, .external_lex_state = 39},
  [11494] = {.lex_state = 1344, .external_lex_state = 13},
  [11495] = {.lex_state = 1344, .external_lex_state = 13},
  [11496] = {.lex_state = 545, .external_lex_state = 6},
  [11497] = {.lex_state = 615, .external_lex_state = 54},
  [11498] = {.lex_state = 615, .external_lex_state = 54},
  [11499] = {.lex_state = 0},
  [11500] = {.lex_state = 615, .external_lex_state = 54},
  [11501] = {.lex_state = 0},
  [11502] = {.lex_state = 615, .external_lex_state = 54},
  [11503] = {.lex_state = 822, .external_lex_state = 64},
  [11504] = {.lex_state = 824, .external_lex_state = 65},
  [11505] = {.lex_state = 824, .external_lex_state = 65},
  [11506] = {.lex_state = 824, .external_lex_state = 65},
  [11507] = {.lex_state = 824, .external_lex_state = 65},
  [11508] = {.lex_state = 822, .external_lex_state = 73},
  [11509] = {.lex_state = 617, .external_lex_state = 16},
  [11510] = {.lex_state = 615, .external_lex_state = 65},
  [11511] = {.lex_state = 615, .external_lex_state = 65},
  [11512] = {.lex_state = 615, .external_lex_state = 65},
  [11513] = {.lex_state = 615, .external_lex_state = 65},
  [11514] = {.lex_state = 615, .external_lex_state = 65},
  [11515] = {.lex_state = 615, .external_lex_state = 65},
  [11516] = {.lex_state = 1116, .external_lex_state = 30},
  [11517] = {.lex_state = 615, .external_lex_state = 65},
  [11518] = {.lex_state = 615, .external_lex_state = 65},
  [11519] = {.lex_state = 615, .external_lex_state = 65},
  [11520] = {.lex_state = 615, .external_lex_state = 65},
  [11521] = {.lex_state = 615, .external_lex_state = 65},
  [11522] = {.lex_state = 842, .external_lex_state = 65},
  [11523] = {.lex_state = 783, .external_lex_state = 31},
  [11524] = {.lex_state = 0},
  [11525] = {.lex_state = 621, .external_lex_state = 68},
  [11526] = {.lex_state = 702, .external_lex_state = 12},
  [11527] = {.lex_state = 621, .external_lex_state = 68},
  [11528] = {.lex_state = 621, .external_lex_state = 68},
  [11529] = {.lex_state = 621, .external_lex_state = 68},
  [11530] = {.lex_state = 0},
  [11531] = {.lex_state = 631, .external_lex_state = 2},
  [11532] = {.lex_state = 842, .external_lex_state = 65},
  [11533] = {.lex_state = 0},
  [11534] = {.lex_state = 746, .external_lex_state = 11},
  [11535] = {.lex_state = 800, .external_lex_state = 11},
  [11536] = {.lex_state = 842, .external_lex_state = 65},
  [11537] = {.lex_state = 615, .external_lex_state = 65},
  [11538] = {.lex_state = 615, .external_lex_state = 65},
  [11539] = {.lex_state = 615, .external_lex_state = 65},
  [11540] = {.lex_state = 824, .external_lex_state = 65},
  [11541] = {.lex_state = 824, .external_lex_state = 65},
  [11542] = {.lex_state = 585},
  [11543] = {.lex_state = 824, .external_lex_state = 65},
  [11544] = {.lex_state = 824, .external_lex_state = 65},
  [11545] = {.lex_state = 0},
  [11546] = {.lex_state = 565, .external_lex_state = 2},
  [11547] = {.lex_state = 565, .external_lex_state = 2},
  [11548] = {.lex_state = 824, .external_lex_state = 65},
  [11549] = {.lex_state = 0},
  [11550] = {.lex_state = 824, .external_lex_state = 65},
  [11551] = {.lex_state = 0},
  [11552] = {.lex_state = 824, .external_lex_state = 65},
  [11553] = {.lex_state = 968, .external_lex_state = 70},
  [11554] = {.lex_state = 968, .external_lex_state = 12},
  [11555] = {.lex_state = 824, .external_lex_state = 65},
  [11556] = {.lex_state = 824, .external_lex_state = 65},
  [11557] = {.lex_state = 0},
  [11558] = {.lex_state = 0},
  [11559] = {.lex_state = 985, .external_lex_state = 2},
  [11560] = {.lex_state = 824, .external_lex_state = 65},
  [11561] = {.lex_state = 0},
  [11562] = {.lex_state = 0},
  [11563] = {.lex_state = 824, .external_lex_state = 65},
  [11564] = {.lex_state = 0},
  [11565] = {.lex_state = 824, .external_lex_state = 65},
  [11566] = {.lex_state = 0},
  [11567] = {.lex_state = 746, .external_lex_state = 2},
  [11568] = {.lex_state = 824, .external_lex_state = 65},
  [11569] = {.lex_state = 0},
  [11570] = {.lex_state = 824, .external_lex_state = 65},
  [11571] = {.lex_state = 824, .external_lex_state = 65},
  [11572] = {.lex_state = 0},
  [11573] = {.lex_state = 824, .external_lex_state = 65},
  [11574] = {.lex_state = 0},
  [11575] = {.lex_state = 746, .external_lex_state = 2},
  [11576] = {.lex_state = 746, .external_lex_state = 11},
  [11577] = {.lex_state = 467, .external_lex_state = 2},
  [11578] = {.lex_state = 828, .external_lex_state = 65},
  [11579] = {.lex_state = 0},
  [11580] = {.lex_state = 644, .external_lex_state = 68},
  [11581] = {.lex_state = 960, .external_lex_state = 31},
  [11582] = {.lex_state = 0},
  [11583] = {.lex_state = 828, .external_lex_state = 65},
  [11584] = {.lex_state = 0},
  [11585] = {.lex_state = 828, .external_lex_state = 65},
  [11586] = {.lex_state = 0},
  [11587] = {.lex_state = 828, .external_lex_state = 65},
  [11588] = {.lex_state = 0},
  [11589] = {.lex_state = 746, .external_lex_state = 2},
  [11590] = {.lex_state = 746, .external_lex_state = 11},
  [11591] = {.lex_state = 828, .external_lex_state = 65},
  [11592] = {.lex_state = 617, .external_lex_state = 55},
  [11593] = {.lex_state = 461, .external_lex_state = 2},
  [11594] = {.lex_state = 828, .external_lex_state = 65},
  [11595] = {.lex_state = 828, .external_lex_state = 65},
  [11596] = {.lex_state = 968, .external_lex_state = 70},
  [11597] = {.lex_state = 968, .external_lex_state = 12},
  [11598] = {.lex_state = 828, .external_lex_state = 65},
  [11599] = {.lex_state = 828, .external_lex_state = 65},
  [11600] = {.lex_state = 824, .external_lex_state = 65},
  [11601] = {.lex_state = 617, .external_lex_state = 55},
  [11602] = {.lex_state = 824, .external_lex_state = 65},
  [11603] = {.lex_state = 968, .external_lex_state = 70},
  [11604] = {.lex_state = 467, .external_lex_state = 39},
  [11605] = {.lex_state = 824, .external_lex_state = 65},
  [11606] = {.lex_state = 615, .external_lex_state = 54},
  [11607] = {.lex_state = 0},
  [11608] = {.lex_state = 0},
  [11609] = {.lex_state = 615, .external_lex_state = 54},
  [11610] = {.lex_state = 0},
  [11611] = {.lex_state = 615, .external_lex_state = 54},
  [11612] = {.lex_state = 615, .external_lex_state = 54},
  [11613] = {.lex_state = 615, .external_lex_state = 54},
  [11614] = {.lex_state = 0},
  [11615] = {.lex_state = 615, .external_lex_state = 54},
  [11616] = {.lex_state = 834, .external_lex_state = 55},
  [11617] = {.lex_state = 834, .external_lex_state = 55},
  [11618] = {.lex_state = 615, .external_lex_state = 54},
  [11619] = {.lex_state = 615, .external_lex_state = 54},
  [11620] = {.lex_state = 0},
  [11621] = {.lex_state = 746, .external_lex_state = 2},
  [11622] = {.lex_state = 627, .external_lex_state = 57},
  [11623] = {.lex_state = 623, .external_lex_state = 54},
  [11624] = {.lex_state = 621, .external_lex_state = 56},
  [11625] = {.lex_state = 0},
  [11626] = {.lex_state = 838, .external_lex_state = 64},
  [11627] = {.lex_state = 828, .external_lex_state = 65},
  [11628] = {.lex_state = 828, .external_lex_state = 65},
  [11629] = {.lex_state = 828, .external_lex_state = 65},
  [11630] = {.lex_state = 828, .external_lex_state = 65},
  [11631] = {.lex_state = 1138, .external_lex_state = 73},
  [11632] = {.lex_state = 617, .external_lex_state = 16},
  [11633] = {.lex_state = 842, .external_lex_state = 65},
  [11634] = {.lex_state = 617, .external_lex_state = 16},
  [11635] = {.lex_state = 842, .external_lex_state = 65},
  [11636] = {.lex_state = 617, .external_lex_state = 16},
  [11637] = {.lex_state = 842, .external_lex_state = 65},
  [11638] = {.lex_state = 617, .external_lex_state = 16},
  [11639] = {.lex_state = 842, .external_lex_state = 65},
  [11640] = {.lex_state = 617, .external_lex_state = 16},
  [11641] = {.lex_state = 842, .external_lex_state = 65},
  [11642] = {.lex_state = 0},
  [11643] = {.lex_state = 888, .external_lex_state = 30},
  [11644] = {.lex_state = 545, .external_lex_state = 6},
  [11645] = {.lex_state = 565, .external_lex_state = 2},
  [11646] = {.lex_state = 842, .external_lex_state = 65},
  [11647] = {.lex_state = 942, .external_lex_state = 13},
  [11648] = {.lex_state = 946, .external_lex_state = 7},
  [11649] = {.lex_state = 565, .external_lex_state = 2},
  [11650] = {.lex_state = 842, .external_lex_state = 65},
  [11651] = {.lex_state = 565, .external_lex_state = 2},
  [11652] = {.lex_state = 842, .external_lex_state = 67},
  [11653] = {.lex_state = 985, .external_lex_state = 11},
  [11654] = {.lex_state = 996, .external_lex_state = 2},
  [11655] = {.lex_state = 746, .external_lex_state = 2},
  [11656] = {.lex_state = 746, .external_lex_state = 2},
  [11657] = {.lex_state = 1020, .external_lex_state = 7},
  [11658] = {.lex_state = 842, .external_lex_state = 65},
  [11659] = {.lex_state = 0},
  [11660] = {.lex_state = 734, .external_lex_state = 7},
  [11661] = {.lex_state = 842, .external_lex_state = 65},
  [11662] = {.lex_state = 0},
  [11663] = {.lex_state = 0},
  [11664] = {.lex_state = 842, .external_lex_state = 65},
  [11665] = {.lex_state = 842, .external_lex_state = 65},
  [11666] = {.lex_state = 842, .external_lex_state = 65},
  [11667] = {.lex_state = 842, .external_lex_state = 65},
  [11668] = {.lex_state = 842, .external_lex_state = 65},
  [11669] = {.lex_state = 842, .external_lex_state = 65},
  [11670] = {.lex_state = 842, .external_lex_state = 65},
  [11671] = {.lex_state = 842, .external_lex_state = 65},
  [11672] = {.lex_state = 1116, .external_lex_state = 30},
  [11673] = {.lex_state = 842, .external_lex_state = 65},
  [11674] = {.lex_state = 842, .external_lex_state = 65},
  [11675] = {.lex_state = 842, .external_lex_state = 65},
  [11676] = {.lex_state = 842, .external_lex_state = 65},
  [11677] = {.lex_state = 842, .external_lex_state = 65},
  [11678] = {.lex_state = 842, .external_lex_state = 65},
  [11679] = {.lex_state = 842, .external_lex_state = 65},
  [11680] = {.lex_state = 842, .external_lex_state = 65},
  [11681] = {.lex_state = 842, .external_lex_state = 65},
  [11682] = {.lex_state = 842, .external_lex_state = 65},
  [11683] = {.lex_state = 1138, .external_lex_state = 73},
  [11684] = {.lex_state = 842, .external_lex_state = 65},
  [11685] = {.lex_state = 838, .external_lex_state = 73},
  [11686] = {.lex_state = 617, .external_lex_state = 16},
  [11687] = {.lex_state = 623, .external_lex_state = 54},
  [11688] = {.lex_state = 828, .external_lex_state = 65},
  [11689] = {.lex_state = 585},
  [11690] = {.lex_state = 828, .external_lex_state = 65},
  [11691] = {.lex_state = 828, .external_lex_state = 65},
  [11692] = {.lex_state = 0},
  [11693] = {.lex_state = 565, .external_lex_state = 2},
  [11694] = {.lex_state = 565, .external_lex_state = 2},
  [11695] = {.lex_state = 828, .external_lex_state = 65},
  [11696] = {.lex_state = 0},
  [11697] = {.lex_state = 828, .external_lex_state = 65},
  [11698] = {.lex_state = 0},
  [11699] = {.lex_state = 828, .external_lex_state = 65},
  [11700] = {.lex_state = 0},
  [11701] = {.lex_state = 0},
  [11702] = {.lex_state = 985, .external_lex_state = 2},
  [11703] = {.lex_state = 828, .external_lex_state = 65},
  [11704] = {.lex_state = 0},
  [11705] = {.lex_state = 0},
  [11706] = {.lex_state = 828, .external_lex_state = 65},
  [11707] = {.lex_state = 0},
  [11708] = {.lex_state = 828, .external_lex_state = 65},
  [11709] = {.lex_state = 0},
  [11710] = {.lex_state = 746, .external_lex_state = 2},
  [11711] = {.lex_state = 623, .external_lex_state = 54},
  [11712] = {.lex_state = 0},
  [11713] = {.lex_state = 746, .external_lex_state = 2},
  [11714] = {.lex_state = 828, .external_lex_state = 65},
  [11715] = {.lex_state = 0},
  [11716] = {.lex_state = 828, .external_lex_state = 65},
  [11717] = {.lex_state = 467, .external_lex_state = 2},
  [11718] = {.lex_state = 842, .external_lex_state = 65},
  [11719] = {.lex_state = 617, .external_lex_state = 55},
  [11720] = {.lex_state = 842, .external_lex_state = 65},
  [11721] = {.lex_state = 968, .external_lex_state = 70},
  [11722] = {.lex_state = 467, .external_lex_state = 39},
  [11723] = {.lex_state = 828, .external_lex_state = 65},
  [11724] = {.lex_state = 629, .external_lex_state = 57},
  [11725] = {.lex_state = 629, .external_lex_state = 57},
  [11726] = {.lex_state = 629, .external_lex_state = 57},
  [11727] = {.lex_state = 629, .external_lex_state = 57},
  [11728] = {.lex_state = 629, .external_lex_state = 57},
  [11729] = {.lex_state = 629, .external_lex_state = 57},
  [11730] = {.lex_state = 1116, .external_lex_state = 30},
  [11731] = {.lex_state = 629, .external_lex_state = 57},
  [11732] = {.lex_state = 629, .external_lex_state = 57},
  [11733] = {.lex_state = 629, .external_lex_state = 57},
  [11734] = {.lex_state = 629, .external_lex_state = 57},
  [11735] = {.lex_state = 629, .external_lex_state = 57},
  [11736] = {.lex_state = 629, .external_lex_state = 57},
  [11737] = {.lex_state = 467, .external_lex_state = 39},
  [11738] = {.lex_state = 629, .external_lex_state = 57},
  [11739] = {.lex_state = 629, .external_lex_state = 57},
  [11740] = {.lex_state = 635, .external_lex_state = 20},
  [11741] = {.lex_state = 1160, .external_lex_state = 42},
  [11742] = {.lex_state = 1160, .external_lex_state = 42},
  [11743] = {.lex_state = 1160, .external_lex_state = 42},
  [11744] = {.lex_state = 1160, .external_lex_state = 42},
  [11745] = {.lex_state = 1160, .external_lex_state = 42},
  [11746] = {.lex_state = 1160, .external_lex_state = 42},
  [11747] = {.lex_state = 1116, .external_lex_state = 30},
  [11748] = {.lex_state = 1160, .external_lex_state = 42},
  [11749] = {.lex_state = 1160, .external_lex_state = 42},
  [11750] = {.lex_state = 1160, .external_lex_state = 42},
  [11751] = {.lex_state = 1160, .external_lex_state = 42},
  [11752] = {.lex_state = 1160, .external_lex_state = 42},
  [11753] = {.lex_state = 1160, .external_lex_state = 42},
  [11754] = {.lex_state = 1160, .external_lex_state = 42},
  [11755] = {.lex_state = 1160, .external_lex_state = 42},
  [11756] = {.lex_state = 1158, .external_lex_state = 42},
  [11757] = {.lex_state = 968, .external_lex_state = 70},
  [11758] = {.lex_state = 968, .external_lex_state = 12},
  [11759] = {.lex_state = 1158, .external_lex_state = 42},
  [11760] = {.lex_state = 467, .external_lex_state = 2},
  [11761] = {.lex_state = 1166, .external_lex_state = 42},
  [11762] = {.lex_state = 968, .external_lex_state = 70},
  [11763] = {.lex_state = 968, .external_lex_state = 12},
  [11764] = {.lex_state = 1166, .external_lex_state = 42},
  [11765] = {.lex_state = 968, .external_lex_state = 70},
  [11766] = {.lex_state = 467, .external_lex_state = 39},
  [11767] = {.lex_state = 1158, .external_lex_state = 42},
  [11768] = {.lex_state = 864, .external_lex_state = 46},
  [11769] = {.lex_state = 862, .external_lex_state = 42},
  [11770] = {.lex_state = 860, .external_lex_state = 45},
  [11771] = {.lex_state = 0},
  [11772] = {.lex_state = 1346, .external_lex_state = 59},
  [11773] = {.lex_state = 617, .external_lex_state = 16},
  [11774] = {.lex_state = 862, .external_lex_state = 42},
  [11775] = {.lex_state = 617, .external_lex_state = 16},
  [11776] = {.lex_state = 862, .external_lex_state = 42},
  [11777] = {.lex_state = 617, .external_lex_state = 16},
  [11778] = {.lex_state = 862, .external_lex_state = 42},
  [11779] = {.lex_state = 617, .external_lex_state = 16},
  [11780] = {.lex_state = 862, .external_lex_state = 42},
  [11781] = {.lex_state = 617, .external_lex_state = 16},
  [11782] = {.lex_state = 862, .external_lex_state = 42},
  [11783] = {.lex_state = 0},
  [11784] = {.lex_state = 888, .external_lex_state = 30},
  [11785] = {.lex_state = 545, .external_lex_state = 6},
  [11786] = {.lex_state = 565, .external_lex_state = 2},
  [11787] = {.lex_state = 862, .external_lex_state = 42},
  [11788] = {.lex_state = 942, .external_lex_state = 13},
  [11789] = {.lex_state = 946, .external_lex_state = 7},
  [11790] = {.lex_state = 565, .external_lex_state = 2},
  [11791] = {.lex_state = 862, .external_lex_state = 42},
  [11792] = {.lex_state = 565, .external_lex_state = 2},
  [11793] = {.lex_state = 862, .external_lex_state = 44},
  [11794] = {.lex_state = 985, .external_lex_state = 11},
  [11795] = {.lex_state = 996, .external_lex_state = 2},
  [11796] = {.lex_state = 746, .external_lex_state = 2},
  [11797] = {.lex_state = 746, .external_lex_state = 2},
  [11798] = {.lex_state = 1020, .external_lex_state = 7},
  [11799] = {.lex_state = 862, .external_lex_state = 42},
  [11800] = {.lex_state = 0},
  [11801] = {.lex_state = 734, .external_lex_state = 7},
  [11802] = {.lex_state = 862, .external_lex_state = 42},
  [11803] = {.lex_state = 0},
  [11804] = {.lex_state = 0},
  [11805] = {.lex_state = 862, .external_lex_state = 42},
  [11806] = {.lex_state = 1170, .external_lex_state = 42},
  [11807] = {.lex_state = 1170, .external_lex_state = 42},
  [11808] = {.lex_state = 1170, .external_lex_state = 42},
  [11809] = {.lex_state = 1170, .external_lex_state = 42},
  [11810] = {.lex_state = 1170, .external_lex_state = 42},
  [11811] = {.lex_state = 1170, .external_lex_state = 42},
  [11812] = {.lex_state = 1116, .external_lex_state = 30},
  [11813] = {.lex_state = 1170, .external_lex_state = 42},
  [11814] = {.lex_state = 1170, .external_lex_state = 42},
  [11815] = {.lex_state = 1170, .external_lex_state = 42},
  [11816] = {.lex_state = 1170, .external_lex_state = 42},
  [11817] = {.lex_state = 1170, .external_lex_state = 42},
  [11818] = {.lex_state = 1170, .external_lex_state = 42},
  [11819] = {.lex_state = 862, .external_lex_state = 42},
  [11820] = {.lex_state = 862, .external_lex_state = 42},
  [11821] = {.lex_state = 1170, .external_lex_state = 42},
  [11822] = {.lex_state = 1170, .external_lex_state = 42},
  [11823] = {.lex_state = 1346, .external_lex_state = 59},
  [11824] = {.lex_state = 862, .external_lex_state = 42},
  [11825] = {.lex_state = 862, .external_lex_state = 42},
  [11826] = {.lex_state = 862, .external_lex_state = 42},
  [11827] = {.lex_state = 0},
  [11828] = {.lex_state = 746, .external_lex_state = 2},
  [11829] = {.lex_state = 467, .external_lex_state = 2},
  [11830] = {.lex_state = 862, .external_lex_state = 42},
  [11831] = {.lex_state = 617, .external_lex_state = 55},
  [11832] = {.lex_state = 862, .external_lex_state = 42},
  [11833] = {.lex_state = 968, .external_lex_state = 70},
  [11834] = {.lex_state = 467, .external_lex_state = 39},
  [11835] = {.lex_state = 1166, .external_lex_state = 42},
  [11836] = {.lex_state = 467, .external_lex_state = 39},
  [11837] = {.lex_state = 635, .external_lex_state = 20},
  [11838] = {.lex_state = 635, .external_lex_state = 20},
  [11839] = {.lex_state = 653, .external_lex_state = 42},
  [11840] = {.lex_state = 769, .external_lex_state = 42},
  [11841] = {.lex_state = 769, .external_lex_state = 42},
  [11842] = {.lex_state = 769, .external_lex_state = 42},
  [11843] = {.lex_state = 467, .external_lex_state = 39},
  [11844] = {.lex_state = 635, .external_lex_state = 20},
  [11845] = {.lex_state = 0},
  [11846] = {.lex_state = 635, .external_lex_state = 20},
  [11847] = {.lex_state = 635, .external_lex_state = 20},
  [11848] = {.lex_state = 635, .external_lex_state = 20},
  [11849] = {.lex_state = 0},
  [11850] = {.lex_state = 644, .external_lex_state = 29},
  [11851] = {.lex_state = 874, .external_lex_state = 59},
  [11852] = {.lex_state = 545, .external_lex_state = 6},
  [11853] = {.lex_state = 777, .external_lex_state = 42},
  [11854] = {.lex_state = 777, .external_lex_state = 42},
  [11855] = {.lex_state = 0},
  [11856] = {.lex_state = 777, .external_lex_state = 42},
  [11857] = {.lex_state = 0},
  [11858] = {.lex_state = 777, .external_lex_state = 42},
  [11859] = {.lex_state = 777, .external_lex_state = 42},
  [11860] = {.lex_state = 0},
  [11861] = {.lex_state = 0},
  [11862] = {.lex_state = 777, .external_lex_state = 42},
  [11863] = {.lex_state = 0},
  [11864] = {.lex_state = 777, .external_lex_state = 42},
  [11865] = {.lex_state = 777, .external_lex_state = 42},
  [11866] = {.lex_state = 777, .external_lex_state = 42},
  [11867] = {.lex_state = 0},
  [11868] = {.lex_state = 646, .external_lex_state = 20},
  [11869] = {.lex_state = 0},
  [11870] = {.lex_state = 777, .external_lex_state = 42},
  [11871] = {.lex_state = 878, .external_lex_state = 42},
  [11872] = {.lex_state = 777, .external_lex_state = 42},
  [11873] = {.lex_state = 777, .external_lex_state = 42},
  [11874] = {.lex_state = 777, .external_lex_state = 42},
  [11875] = {.lex_state = 467, .external_lex_state = 39},
  [11876] = {.lex_state = 467, .external_lex_state = 2},
  [11877] = {.lex_state = 657, .external_lex_state = 30},
  [11878] = {.lex_state = 488, .external_lex_state = 5},
  [11879] = {.lex_state = 1178, .external_lex_state = 42},
  [11880] = {.lex_state = 1178, .external_lex_state = 42},
  [11881] = {.lex_state = 1178, .external_lex_state = 42},
  [11882] = {.lex_state = 1178, .external_lex_state = 42},
  [11883] = {.lex_state = 1178, .external_lex_state = 42},
  [11884] = {.lex_state = 1178, .external_lex_state = 42},
  [11885] = {.lex_state = 1116, .external_lex_state = 30},
  [11886] = {.lex_state = 1178, .external_lex_state = 42},
  [11887] = {.lex_state = 1178, .external_lex_state = 42},
  [11888] = {.lex_state = 1178, .external_lex_state = 42},
  [11889] = {.lex_state = 1178, .external_lex_state = 42},
  [11890] = {.lex_state = 1178, .external_lex_state = 42},
  [11891] = {.lex_state = 1178, .external_lex_state = 42},
  [11892] = {.lex_state = 1178, .external_lex_state = 42},
  [11893] = {.lex_state = 1178, .external_lex_state = 42},
  [11894] = {.lex_state = 467, .external_lex_state = 2},
  [11895] = {.lex_state = 968, .external_lex_state = 70},
  [11896] = {.lex_state = 467, .external_lex_state = 39},
  [11897] = {.lex_state = 1176, .external_lex_state = 42},
  [11898] = {.lex_state = 888, .external_lex_state = 30},
  [11899] = {.lex_state = 886, .external_lex_state = 20},
  [11900] = {.lex_state = 884, .external_lex_state = 29},
  [11901] = {.lex_state = 0},
  [11902] = {.lex_state = 1182, .external_lex_state = 42},
  [11903] = {.lex_state = 1182, .external_lex_state = 42},
  [11904] = {.lex_state = 1182, .external_lex_state = 42},
  [11905] = {.lex_state = 1182, .external_lex_state = 42},
  [11906] = {.lex_state = 1182, .external_lex_state = 42},
  [11907] = {.lex_state = 1182, .external_lex_state = 42},
  [11908] = {.lex_state = 1116, .external_lex_state = 30},
  [11909] = {.lex_state = 1182, .external_lex_state = 42},
  [11910] = {.lex_state = 1182, .external_lex_state = 42},
  [11911] = {.lex_state = 1182, .external_lex_state = 42},
  [11912] = {.lex_state = 1182, .external_lex_state = 42},
  [11913] = {.lex_state = 1182, .external_lex_state = 42},
  [11914] = {.lex_state = 1182, .external_lex_state = 42},
  [11915] = {.lex_state = 1182, .external_lex_state = 42},
  [11916] = {.lex_state = 1182, .external_lex_state = 42},
  [11917] = {.lex_state = 886, .external_lex_state = 20},
  [11918] = {.lex_state = 886, .external_lex_state = 20},
  [11919] = {.lex_state = 0},
  [11920] = {.lex_state = 746, .external_lex_state = 2},
  [11921] = {.lex_state = 467, .external_lex_state = 2},
  [11922] = {.lex_state = 968, .external_lex_state = 70},
  [11923] = {.lex_state = 467, .external_lex_state = 39},
  [11924] = {.lex_state = 1180, .external_lex_state = 42},
  [11925] = {.lex_state = 1228, .external_lex_state = 30},
  [11926] = {.lex_state = 1228, .external_lex_state = 30},
  [11927] = {.lex_state = 1228, .external_lex_state = 30},
  [11928] = {.lex_state = 1228, .external_lex_state = 30},
  [11929] = {.lex_state = 1228, .external_lex_state = 30},
  [11930] = {.lex_state = 1228, .external_lex_state = 30},
  [11931] = {.lex_state = 1116, .external_lex_state = 30},
  [11932] = {.lex_state = 1228, .external_lex_state = 30},
  [11933] = {.lex_state = 1228, .external_lex_state = 30},
  [11934] = {.lex_state = 1228, .external_lex_state = 30},
  [11935] = {.lex_state = 1228, .external_lex_state = 30},
  [11936] = {.lex_state = 1228, .external_lex_state = 30},
  [11937] = {.lex_state = 467, .external_lex_state = 39},
  [11938] = {.lex_state = 1228, .external_lex_state = 30},
  [11939] = {.lex_state = 1228, .external_lex_state = 30},
  [11940] = {.lex_state = 565, .external_lex_state = 2},
  [11941] = {.lex_state = 900, .external_lex_state = 7},
  [11942] = {.lex_state = 0},
  [11943] = {.lex_state = 900, .external_lex_state = 7},
  [11944] = {.lex_state = 0},
  [11945] = {.lex_state = 746, .external_lex_state = 2},
  [11946] = {.lex_state = 746, .external_lex_state = 11},
  [11947] = {.lex_state = 1350, .external_lex_state = 13},
  [11948] = {.lex_state = 1350, .external_lex_state = 13},
  [11949] = {.lex_state = 1350, .external_lex_state = 13},
  [11950] = {.lex_state = 1350, .external_lex_state = 13},
  [11951] = {.lex_state = 1350, .external_lex_state = 13},
  [11952] = {.lex_state = 1350, .external_lex_state = 13},
  [11953] = {.lex_state = 1116, .external_lex_state = 30},
  [11954] = {.lex_state = 1350, .external_lex_state = 13},
  [11955] = {.lex_state = 1350, .external_lex_state = 13},
  [11956] = {.lex_state = 1350, .external_lex_state = 13},
  [11957] = {.lex_state = 1350, .external_lex_state = 13},
  [11958] = {.lex_state = 1350, .external_lex_state = 13},
  [11959] = {.lex_state = 1350, .external_lex_state = 13},
  [11960] = {.lex_state = 1350, .external_lex_state = 13},
  [11961] = {.lex_state = 900, .external_lex_state = 7},
  [11962] = {.lex_state = 0},
  [11963] = {.lex_state = 900, .external_lex_state = 7},
  [11964] = {.lex_state = 661},
  [11965] = {.lex_state = 1208, .external_lex_state = 42},
  [11966] = {.lex_state = 1208, .external_lex_state = 42},
  [11967] = {.lex_state = 1208, .external_lex_state = 42},
  [11968] = {.lex_state = 467, .external_lex_state = 2},
  [11969] = {.lex_state = 968, .external_lex_state = 12},
  [11970] = {.lex_state = 1208, .external_lex_state = 42},
  [11971] = {.lex_state = 467, .external_lex_state = 2},
  [11972] = {.lex_state = 1208, .external_lex_state = 42},
  [11973] = {.lex_state = 1208, .external_lex_state = 42},
  [11974] = {.lex_state = 1208, .external_lex_state = 42},
  [11975] = {.lex_state = 1208, .external_lex_state = 42},
  [11976] = {.lex_state = 1208, .external_lex_state = 42},
  [11977] = {.lex_state = 1208, .external_lex_state = 42},
  [11978] = {.lex_state = 1116, .external_lex_state = 30},
  [11979] = {.lex_state = 1208, .external_lex_state = 42},
  [11980] = {.lex_state = 1208, .external_lex_state = 42},
  [11981] = {.lex_state = 1208, .external_lex_state = 42},
  [11982] = {.lex_state = 1208, .external_lex_state = 42},
  [11983] = {.lex_state = 1208, .external_lex_state = 42},
  [11984] = {.lex_state = 1208, .external_lex_state = 42},
  [11985] = {.lex_state = 1208, .external_lex_state = 42},
  [11986] = {.lex_state = 1208, .external_lex_state = 42},
  [11987] = {.lex_state = 1192, .external_lex_state = 42},
  [11988] = {.lex_state = 968, .external_lex_state = 70},
  [11989] = {.lex_state = 968, .external_lex_state = 12},
  [11990] = {.lex_state = 1192, .external_lex_state = 42},
  [11991] = {.lex_state = 467, .external_lex_state = 2},
  [11992] = {.lex_state = 968, .external_lex_state = 70},
  [11993] = {.lex_state = 467, .external_lex_state = 39},
  [11994] = {.lex_state = 1192, .external_lex_state = 42},
  [11995] = {.lex_state = 467, .external_lex_state = 2},
  [11996] = {.lex_state = 467, .external_lex_state = 39},
  [11997] = {.lex_state = 912, .external_lex_state = 4},
  [11998] = {.lex_state = 968, .external_lex_state = 70},
  [11999] = {.lex_state = 908, .external_lex_state = 4},
  [12000] = {.lex_state = 906, .external_lex_state = 10},
  [12001] = {.lex_state = 0},
  [12002] = {.lex_state = 968, .external_lex_state = 70},
  [12003] = {.lex_state = 467, .external_lex_state = 39},
  [12004] = {.lex_state = 671, .external_lex_state = 10},
  [12005] = {.lex_state = 467, .external_lex_state = 2},
  [12006] = {.lex_state = 467, .external_lex_state = 39},
  [12007] = {.lex_state = 924, .external_lex_state = 4},
  [12008] = {.lex_state = 920, .external_lex_state = 4},
  [12009] = {.lex_state = 467, .external_lex_state = 39},
  [12010] = {.lex_state = 467, .external_lex_state = 2},
  [12011] = {.lex_state = 687, .external_lex_state = 33},
  [12012] = {.lex_state = 687, .external_lex_state = 33},
  [12013] = {.lex_state = 687, .external_lex_state = 33},
  [12014] = {.lex_state = 1202, .external_lex_state = 42},
  [12015] = {.lex_state = 968, .external_lex_state = 70},
  [12016] = {.lex_state = 968, .external_lex_state = 12},
  [12017] = {.lex_state = 1202, .external_lex_state = 42},
  [12018] = {.lex_state = 467, .external_lex_state = 2},
  [12019] = {.lex_state = 1216, .external_lex_state = 42},
  [12020] = {.lex_state = 1216, .external_lex_state = 42},
  [12021] = {.lex_state = 1216, .external_lex_state = 42},
  [12022] = {.lex_state = 467, .external_lex_state = 2},
  [12023] = {.lex_state = 467, .external_lex_state = 2},
  [12024] = {.lex_state = 467, .external_lex_state = 2},
  [12025] = {.lex_state = 467, .external_lex_state = 2},
  [12026] = {.lex_state = 467, .external_lex_state = 2},
  [12027] = {.lex_state = 467, .external_lex_state = 2},
  [12028] = {.lex_state = 467, .external_lex_state = 2},
  [12029] = {.lex_state = 467, .external_lex_state = 2},
  [12030] = {.lex_state = 467, .external_lex_state = 2},
  [12031] = {.lex_state = 467, .external_lex_state = 2},
  [12032] = {.lex_state = 467, .external_lex_state = 2},
  [12033] = {.lex_state = 467, .external_lex_state = 2},
  [12034] = {.lex_state = 467, .external_lex_state = 39},
  [12035] = {.lex_state = 467, .external_lex_state = 2},
  [12036] = {.lex_state = 1216, .external_lex_state = 42},
  [12037] = {.lex_state = 968, .external_lex_state = 70},
  [12038] = {.lex_state = 968, .external_lex_state = 12},
  [12039] = {.lex_state = 1216, .external_lex_state = 42},
  [12040] = {.lex_state = 467, .external_lex_state = 39},
  [12041] = {.lex_state = 1202, .external_lex_state = 42},
  [12042] = {.lex_state = 930, .external_lex_state = 61},
  [12043] = {.lex_state = 930, .external_lex_state = 61},
  [12044] = {.lex_state = 687, .external_lex_state = 33},
  [12045] = {.lex_state = 0},
  [12046] = {.lex_state = 687, .external_lex_state = 33},
  [12047] = {.lex_state = 687, .external_lex_state = 33},
  [12048] = {.lex_state = 607, .external_lex_state = 33},
  [12049] = {.lex_state = 0},
  [12050] = {.lex_state = 691, .external_lex_state = 34},
  [12051] = {.lex_state = 1206, .external_lex_state = 59},
  [12052] = {.lex_state = 1208, .external_lex_state = 42},
  [12053] = {.lex_state = 1208, .external_lex_state = 42},
  [12054] = {.lex_state = 1208, .external_lex_state = 42},
  [12055] = {.lex_state = 1208, .external_lex_state = 42},
  [12056] = {.lex_state = 1208, .external_lex_state = 42},
  [12057] = {.lex_state = 585},
  [12058] = {.lex_state = 1208, .external_lex_state = 42},
  [12059] = {.lex_state = 1208, .external_lex_state = 42},
  [12060] = {.lex_state = 0},
  [12061] = {.lex_state = 565, .external_lex_state = 2},
  [12062] = {.lex_state = 565, .external_lex_state = 2},
  [12063] = {.lex_state = 1208, .external_lex_state = 42},
  [12064] = {.lex_state = 0},
  [12065] = {.lex_state = 1208, .external_lex_state = 42},
  [12066] = {.lex_state = 0},
  [12067] = {.lex_state = 1208, .external_lex_state = 42},
  [12068] = {.lex_state = 0},
  [12069] = {.lex_state = 1214, .external_lex_state = 42},
  [12070] = {.lex_state = 617, .external_lex_state = 55},
  [12071] = {.lex_state = 461, .external_lex_state = 2},
  [12072] = {.lex_state = 1208, .external_lex_state = 42},
  [12073] = {.lex_state = 1208, .external_lex_state = 42},
  [12074] = {.lex_state = 968, .external_lex_state = 70},
  [12075] = {.lex_state = 968, .external_lex_state = 12},
  [12076] = {.lex_state = 1208, .external_lex_state = 42},
  [12077] = {.lex_state = 1214, .external_lex_state = 42},
  [12078] = {.lex_state = 1208, .external_lex_state = 42},
  [12079] = {.lex_state = 0},
  [12080] = {.lex_state = 0},
  [12081] = {.lex_state = 985, .external_lex_state = 2},
  [12082] = {.lex_state = 1208, .external_lex_state = 42},
  [12083] = {.lex_state = 0},
  [12084] = {.lex_state = 0},
  [12085] = {.lex_state = 1208, .external_lex_state = 42},
  [12086] = {.lex_state = 0},
  [12087] = {.lex_state = 1208, .external_lex_state = 42},
  [12088] = {.lex_state = 0},
  [12089] = {.lex_state = 746, .external_lex_state = 2},
  [12090] = {.lex_state = 1208, .external_lex_state = 42},
  [12091] = {.lex_state = 0},
  [12092] = {.lex_state = 1208, .external_lex_state = 42},
  [12093] = {.lex_state = 1208, .external_lex_state = 42},
  [12094] = {.lex_state = 0},
  [12095] = {.lex_state = 1208, .external_lex_state = 42},
  [12096] = {.lex_state = 0},
  [12097] = {.lex_state = 746, .external_lex_state = 2},
  [12098] = {.lex_state = 746, .external_lex_state = 11},
  [12099] = {.lex_state = 467, .external_lex_state = 2},
  [12100] = {.lex_state = 467, .external_lex_state = 39},
  [12101] = {.lex_state = 1214, .external_lex_state = 42},
  [12102] = {.lex_state = 968, .external_lex_state = 70},
  [12103] = {.lex_state = 936, .external_lex_state = 42},
  [12104] = {.lex_state = 467, .external_lex_state = 39},
  [12105] = {.lex_state = 1220, .external_lex_state = 4},
  [12106] = {.lex_state = 1220, .external_lex_state = 4},
  [12107] = {.lex_state = 1220, .external_lex_state = 4},
  [12108] = {.lex_state = 1220, .external_lex_state = 4},
  [12109] = {.lex_state = 1220, .external_lex_state = 4},
  [12110] = {.lex_state = 1220, .external_lex_state = 4},
  [12111] = {.lex_state = 1116, .external_lex_state = 30},
  [12112] = {.lex_state = 1220, .external_lex_state = 4},
  [12113] = {.lex_state = 1220, .external_lex_state = 4},
  [12114] = {.lex_state = 1220, .external_lex_state = 4},
  [12115] = {.lex_state = 1220, .external_lex_state = 4},
  [12116] = {.lex_state = 1220, .external_lex_state = 4},
  [12117] = {.lex_state = 1220, .external_lex_state = 4},
  [12118] = {.lex_state = 1220, .external_lex_state = 4},
  [12119] = {.lex_state = 1220, .external_lex_state = 4},
  [12120] = {.lex_state = 1218, .external_lex_state = 4},
  [12121] = {.lex_state = 968, .external_lex_state = 70},
  [12122] = {.lex_state = 968, .external_lex_state = 12},
  [12123] = {.lex_state = 1218, .external_lex_state = 4},
  [12124] = {.lex_state = 467, .external_lex_state = 2},
  [12125] = {.lex_state = 968, .external_lex_state = 70},
  [12126] = {.lex_state = 467, .external_lex_state = 39},
  [12127] = {.lex_state = 1218, .external_lex_state = 4},
  [12128] = {.lex_state = 942, .external_lex_state = 13},
  [12129] = {.lex_state = 467, .external_lex_state = 39},
  [12130] = {.lex_state = 1226, .external_lex_state = 42},
  [12131] = {.lex_state = 968, .external_lex_state = 70},
  [12132] = {.lex_state = 968, .external_lex_state = 12},
  [12133] = {.lex_state = 1226, .external_lex_state = 42},
  [12134] = {.lex_state = 467, .external_lex_state = 2},
  [12135] = {.lex_state = 467, .external_lex_state = 39},
  [12136] = {.lex_state = 1226, .external_lex_state = 42},
  [12137] = {.lex_state = 968, .external_lex_state = 70},
  [12138] = {.lex_state = 948, .external_lex_state = 42},
  [12139] = {.lex_state = 467, .external_lex_state = 39},
  [12140] = {.lex_state = 603, .external_lex_state = 4},
  [12141] = {.lex_state = 467, .external_lex_state = 39},
  [12142] = {.lex_state = 467, .external_lex_state = 2},
  [12143] = {.lex_state = 1228, .external_lex_state = 46},
  [12144] = {.lex_state = 467, .external_lex_state = 39},
  [12145] = {.lex_state = 1228, .external_lex_state = 46},
  [12146] = {.lex_state = 968, .external_lex_state = 70},
  [12147] = {.lex_state = 958, .external_lex_state = 46},
  [12148] = {.lex_state = 968, .external_lex_state = 70},
  [12149] = {.lex_state = 467, .external_lex_state = 39},
  [12150] = {.lex_state = 706, .external_lex_state = 10},
  [12151] = {.lex_state = 708, .external_lex_state = 4},
  [12152] = {.lex_state = 0},
  [12153] = {.lex_state = 708, .external_lex_state = 4},
  [12154] = {.lex_state = 708, .external_lex_state = 4},
  [12155] = {.lex_state = 968, .external_lex_state = 70},
  [12156] = {.lex_state = 458, .external_lex_state = 4},
  [12157] = {.lex_state = 467, .external_lex_state = 2},
  [12158] = {.lex_state = 467, .external_lex_state = 39},
  [12159] = {.lex_state = 976, .external_lex_state = 4},
  [12160] = {.lex_state = 968, .external_lex_state = 70},
  [12161] = {.lex_state = 974, .external_lex_state = 4},
  [12162] = {.lex_state = 968, .external_lex_state = 70},
  [12163] = {.lex_state = 467, .external_lex_state = 39},
  [12164] = {.lex_state = 985, .external_lex_state = 2},
  [12165] = {.lex_state = 1356, .external_lex_state = 4},
  [12166] = {.lex_state = 1356, .external_lex_state = 4},
  [12167] = {.lex_state = 1356, .external_lex_state = 4},
  [12168] = {.lex_state = 467, .external_lex_state = 2},
  [12169] = {.lex_state = 467, .external_lex_state = 2},
  [12170] = {.lex_state = 467, .external_lex_state = 2},
  [12171] = {.lex_state = 467, .external_lex_state = 2},
  [12172] = {.lex_state = 467, .external_lex_state = 2},
  [12173] = {.lex_state = 467, .external_lex_state = 2},
  [12174] = {.lex_state = 467, .external_lex_state = 2},
  [12175] = {.lex_state = 467, .external_lex_state = 2},
  [12176] = {.lex_state = 467, .external_lex_state = 2},
  [12177] = {.lex_state = 467, .external_lex_state = 2},
  [12178] = {.lex_state = 467, .external_lex_state = 2},
  [12179] = {.lex_state = 467, .external_lex_state = 2},
  [12180] = {.lex_state = 467, .external_lex_state = 39},
  [12181] = {.lex_state = 467, .external_lex_state = 2},
  [12182] = {.lex_state = 1354, .external_lex_state = 4},
  [12183] = {.lex_state = 1354, .external_lex_state = 4},
  [12184] = {.lex_state = 1354, .external_lex_state = 4},
  [12185] = {.lex_state = 467, .external_lex_state = 2},
  [12186] = {.lex_state = 968, .external_lex_state = 12},
  [12187] = {.lex_state = 1354, .external_lex_state = 4},
  [12188] = {.lex_state = 467, .external_lex_state = 2},
  [12189] = {.lex_state = 1356, .external_lex_state = 4},
  [12190] = {.lex_state = 1354, .external_lex_state = 4},
  [12191] = {.lex_state = 1354, .external_lex_state = 4},
  [12192] = {.lex_state = 1354, .external_lex_state = 4},
  [12193] = {.lex_state = 1354, .external_lex_state = 4},
  [12194] = {.lex_state = 1354, .external_lex_state = 4},
  [12195] = {.lex_state = 1354, .external_lex_state = 4},
  [12196] = {.lex_state = 1116, .external_lex_state = 30},
  [12197] = {.lex_state = 1354, .external_lex_state = 4},
  [12198] = {.lex_state = 1354, .external_lex_state = 4},
  [12199] = {.lex_state = 1354, .external_lex_state = 4},
  [12200] = {.lex_state = 1354, .external_lex_state = 4},
  [12201] = {.lex_state = 1354, .external_lex_state = 4},
  [12202] = {.lex_state = 1362, .external_lex_state = 4},
  [12203] = {.lex_state = 1362, .external_lex_state = 4},
  [12204] = {.lex_state = 1362, .external_lex_state = 4},
  [12205] = {.lex_state = 467, .external_lex_state = 2},
  [12206] = {.lex_state = 968, .external_lex_state = 12},
  [12207] = {.lex_state = 1362, .external_lex_state = 4},
  [12208] = {.lex_state = 467, .external_lex_state = 2},
  [12209] = {.lex_state = 968, .external_lex_state = 70},
  [12210] = {.lex_state = 968, .external_lex_state = 12},
  [12211] = {.lex_state = 1354, .external_lex_state = 4},
  [12212] = {.lex_state = 1354, .external_lex_state = 4},
  [12213] = {.lex_state = 1354, .external_lex_state = 4},
  [12214] = {.lex_state = 1356, .external_lex_state = 4},
  [12215] = {.lex_state = 617, .external_lex_state = 55},
  [12216] = {.lex_state = 461, .external_lex_state = 2},
  [12217] = {.lex_state = 0},
  [12218] = {.lex_state = 0},
  [12219] = {.lex_state = 985, .external_lex_state = 2},
  [12220] = {.lex_state = 467, .external_lex_state = 2},
  [12221] = {.lex_state = 1364, .external_lex_state = 4},
  [12222] = {.lex_state = 1364, .external_lex_state = 4},
  [12223] = {.lex_state = 1364, .external_lex_state = 4},
  [12224] = {.lex_state = 467, .external_lex_state = 2},
  [12225] = {.lex_state = 467, .external_lex_state = 2},
  [12226] = {.lex_state = 467, .external_lex_state = 2},
  [12227] = {.lex_state = 467, .external_lex_state = 2},
  [12228] = {.lex_state = 467, .external_lex_state = 2},
  [12229] = {.lex_state = 467, .external_lex_state = 2},
  [12230] = {.lex_state = 467, .external_lex_state = 2},
  [12231] = {.lex_state = 467, .external_lex_state = 2},
  [12232] = {.lex_state = 467, .external_lex_state = 2},
  [12233] = {.lex_state = 467, .external_lex_state = 2},
  [12234] = {.lex_state = 467, .external_lex_state = 2},
  [12235] = {.lex_state = 467, .external_lex_state = 2},
  [12236] = {.lex_state = 467, .external_lex_state = 39},
  [12237] = {.lex_state = 467, .external_lex_state = 2},
  [12238] = {.lex_state = 1364, .external_lex_state = 4},
  [12239] = {.lex_state = 1362, .external_lex_state = 4},
  [12240] = {.lex_state = 1362, .external_lex_state = 4},
  [12241] = {.lex_state = 1362, .external_lex_state = 4},
  [12242] = {.lex_state = 1362, .external_lex_state = 4},
  [12243] = {.lex_state = 1362, .external_lex_state = 4},
  [12244] = {.lex_state = 1362, .external_lex_state = 4},
  [12245] = {.lex_state = 1116, .external_lex_state = 30},
  [12246] = {.lex_state = 1362, .external_lex_state = 4},
  [12247] = {.lex_state = 1362, .external_lex_state = 4},
  [12248] = {.lex_state = 1362, .external_lex_state = 4},
  [12249] = {.lex_state = 1362, .external_lex_state = 4},
  [12250] = {.lex_state = 1362, .external_lex_state = 4},
  [12251] = {.lex_state = 968, .external_lex_state = 70},
  [12252] = {.lex_state = 968, .external_lex_state = 12},
  [12253] = {.lex_state = 1362, .external_lex_state = 4},
  [12254] = {.lex_state = 1362, .external_lex_state = 4},
  [12255] = {.lex_state = 1362, .external_lex_state = 4},
  [12256] = {.lex_state = 1364, .external_lex_state = 4},
  [12257] = {.lex_state = 1408, .external_lex_state = 13},
  [12258] = {.lex_state = 1408, .external_lex_state = 13},
  [12259] = {.lex_state = 1408, .external_lex_state = 13},
  [12260] = {.lex_state = 1408, .external_lex_state = 13},
  [12261] = {.lex_state = 467, .external_lex_state = 2},
  [12262] = {.lex_state = 467, .external_lex_state = 2},
  [12263] = {.lex_state = 467, .external_lex_state = 2},
  [12264] = {.lex_state = 467, .external_lex_state = 2},
  [12265] = {.lex_state = 467, .external_lex_state = 2},
  [12266] = {.lex_state = 467, .external_lex_state = 2},
  [12267] = {.lex_state = 467, .external_lex_state = 2},
  [12268] = {.lex_state = 467, .external_lex_state = 2},
  [12269] = {.lex_state = 467, .external_lex_state = 2},
  [12270] = {.lex_state = 467, .external_lex_state = 2},
  [12271] = {.lex_state = 467, .external_lex_state = 2},
  [12272] = {.lex_state = 467, .external_lex_state = 2},
  [12273] = {.lex_state = 467, .external_lex_state = 39},
  [12274] = {.lex_state = 1408, .external_lex_state = 13},
  [12275] = {.lex_state = 467, .external_lex_state = 39},
  [12276] = {.lex_state = 467, .external_lex_state = 2},
  [12277] = {.lex_state = 458, .external_lex_state = 4},
  [12278] = {.lex_state = 467, .external_lex_state = 2},
  [12279] = {.lex_state = 467, .external_lex_state = 39},
  [12280] = {.lex_state = 989, .external_lex_state = 4},
  [12281] = {.lex_state = 987, .external_lex_state = 4},
  [12282] = {.lex_state = 467, .external_lex_state = 39},
  [12283] = {.lex_state = 467, .external_lex_state = 2},
  [12284] = {.lex_state = 1370, .external_lex_state = 4},
  [12285] = {.lex_state = 1370, .external_lex_state = 4},
  [12286] = {.lex_state = 1370, .external_lex_state = 4},
  [12287] = {.lex_state = 467, .external_lex_state = 2},
  [12288] = {.lex_state = 467, .external_lex_state = 2},
  [12289] = {.lex_state = 467, .external_lex_state = 2},
  [12290] = {.lex_state = 467, .external_lex_state = 2},
  [12291] = {.lex_state = 467, .external_lex_state = 2},
  [12292] = {.lex_state = 467, .external_lex_state = 2},
  [12293] = {.lex_state = 467, .external_lex_state = 2},
  [12294] = {.lex_state = 467, .external_lex_state = 2},
  [12295] = {.lex_state = 467, .external_lex_state = 2},
  [12296] = {.lex_state = 467, .external_lex_state = 2},
  [12297] = {.lex_state = 467, .external_lex_state = 2},
  [12298] = {.lex_state = 467, .external_lex_state = 2},
  [12299] = {.lex_state = 467, .external_lex_state = 39},
  [12300] = {.lex_state = 467, .external_lex_state = 2},
  [12301] = {.lex_state = 1368, .external_lex_state = 4},
  [12302] = {.lex_state = 1368, .external_lex_state = 4},
  [12303] = {.lex_state = 1368, .external_lex_state = 4},
  [12304] = {.lex_state = 467, .external_lex_state = 2},
  [12305] = {.lex_state = 968, .external_lex_state = 12},
  [12306] = {.lex_state = 1368, .external_lex_state = 4},
  [12307] = {.lex_state = 467, .external_lex_state = 2},
  [12308] = {.lex_state = 1370, .external_lex_state = 4},
  [12309] = {.lex_state = 1368, .external_lex_state = 4},
  [12310] = {.lex_state = 1368, .external_lex_state = 4},
  [12311] = {.lex_state = 1368, .external_lex_state = 4},
  [12312] = {.lex_state = 1368, .external_lex_state = 4},
  [12313] = {.lex_state = 1368, .external_lex_state = 4},
  [12314] = {.lex_state = 1368, .external_lex_state = 4},
  [12315] = {.lex_state = 1116, .external_lex_state = 30},
  [12316] = {.lex_state = 1368, .external_lex_state = 4},
  [12317] = {.lex_state = 1368, .external_lex_state = 4},
  [12318] = {.lex_state = 1368, .external_lex_state = 4},
  [12319] = {.lex_state = 1368, .external_lex_state = 4},
  [12320] = {.lex_state = 1368, .external_lex_state = 4},
  [12321] = {.lex_state = 1376, .external_lex_state = 4},
  [12322] = {.lex_state = 1376, .external_lex_state = 4},
  [12323] = {.lex_state = 1376, .external_lex_state = 4},
  [12324] = {.lex_state = 467, .external_lex_state = 2},
  [12325] = {.lex_state = 968, .external_lex_state = 12},
  [12326] = {.lex_state = 1376, .external_lex_state = 4},
  [12327] = {.lex_state = 467, .external_lex_state = 2},
  [12328] = {.lex_state = 968, .external_lex_state = 70},
  [12329] = {.lex_state = 968, .external_lex_state = 12},
  [12330] = {.lex_state = 1368, .external_lex_state = 4},
  [12331] = {.lex_state = 1368, .external_lex_state = 4},
  [12332] = {.lex_state = 1368, .external_lex_state = 4},
  [12333] = {.lex_state = 1370, .external_lex_state = 4},
  [12334] = {.lex_state = 996, .external_lex_state = 2},
  [12335] = {.lex_state = 617, .external_lex_state = 55},
  [12336] = {.lex_state = 467, .external_lex_state = 2},
  [12337] = {.lex_state = 1378, .external_lex_state = 4},
  [12338] = {.lex_state = 1378, .external_lex_state = 4},
  [12339] = {.lex_state = 1378, .external_lex_state = 4},
  [12340] = {.lex_state = 467, .external_lex_state = 2},
  [12341] = {.lex_state = 467, .external_lex_state = 2},
  [12342] = {.lex_state = 467, .external_lex_state = 2},
  [12343] = {.lex_state = 467, .external_lex_state = 2},
  [12344] = {.lex_state = 467, .external_lex_state = 2},
  [12345] = {.lex_state = 467, .external_lex_state = 2},
  [12346] = {.lex_state = 467, .external_lex_state = 2},
  [12347] = {.lex_state = 467, .external_lex_state = 2},
  [12348] = {.lex_state = 467, .external_lex_state = 2},
  [12349] = {.lex_state = 467, .external_lex_state = 2},
  [12350] = {.lex_state = 467, .external_lex_state = 2},
  [12351] = {.lex_state = 467, .external_lex_state = 2},
  [12352] = {.lex_state = 467, .external_lex_state = 39},
  [12353] = {.lex_state = 467, .external_lex_state = 2},
  [12354] = {.lex_state = 1378, .external_lex_state = 4},
  [12355] = {.lex_state = 1376, .external_lex_state = 4},
  [12356] = {.lex_state = 1376, .external_lex_state = 4},
  [12357] = {.lex_state = 1376, .external_lex_state = 4},
  [12358] = {.lex_state = 1376, .external_lex_state = 4},
  [12359] = {.lex_state = 1376, .external_lex_state = 4},
  [12360] = {.lex_state = 1376, .external_lex_state = 4},
  [12361] = {.lex_state = 1116, .external_lex_state = 30},
  [12362] = {.lex_state = 1376, .external_lex_state = 4},
  [12363] = {.lex_state = 1376, .external_lex_state = 4},
  [12364] = {.lex_state = 1376, .external_lex_state = 4},
  [12365] = {.lex_state = 1376, .external_lex_state = 4},
  [12366] = {.lex_state = 1376, .external_lex_state = 4},
  [12367] = {.lex_state = 968, .external_lex_state = 70},
  [12368] = {.lex_state = 968, .external_lex_state = 12},
  [12369] = {.lex_state = 1376, .external_lex_state = 4},
  [12370] = {.lex_state = 1376, .external_lex_state = 4},
  [12371] = {.lex_state = 1376, .external_lex_state = 4},
  [12372] = {.lex_state = 1378, .external_lex_state = 4},
  [12373] = {.lex_state = 1410, .external_lex_state = 13},
  [12374] = {.lex_state = 1410, .external_lex_state = 13},
  [12375] = {.lex_state = 1410, .external_lex_state = 13},
  [12376] = {.lex_state = 1410, .external_lex_state = 13},
  [12377] = {.lex_state = 467, .external_lex_state = 2},
  [12378] = {.lex_state = 467, .external_lex_state = 2},
  [12379] = {.lex_state = 467, .external_lex_state = 2},
  [12380] = {.lex_state = 467, .external_lex_state = 2},
  [12381] = {.lex_state = 467, .external_lex_state = 2},
  [12382] = {.lex_state = 467, .external_lex_state = 2},
  [12383] = {.lex_state = 467, .external_lex_state = 2},
  [12384] = {.lex_state = 467, .external_lex_state = 2},
  [12385] = {.lex_state = 467, .external_lex_state = 2},
  [12386] = {.lex_state = 467, .external_lex_state = 2},
  [12387] = {.lex_state = 467, .external_lex_state = 2},
  [12388] = {.lex_state = 467, .external_lex_state = 2},
  [12389] = {.lex_state = 467, .external_lex_state = 39},
  [12390] = {.lex_state = 1410, .external_lex_state = 13},
  [12391] = {.lex_state = 467, .external_lex_state = 39},
  [12392] = {.lex_state = 467, .external_lex_state = 2},
  [12393] = {.lex_state = 467, .external_lex_state = 2},
  [12394] = {.lex_state = 467, .external_lex_state = 39},
  [12395] = {.lex_state = 1000, .external_lex_state = 4},
  [12396] = {.lex_state = 968, .external_lex_state = 70},
  [12397] = {.lex_state = 998, .external_lex_state = 4},
  [12398] = {.lex_state = 968, .external_lex_state = 70},
  [12399] = {.lex_state = 467, .external_lex_state = 39},
  [12400] = {.lex_state = 467, .external_lex_state = 2},
  [12401] = {.lex_state = 467, .external_lex_state = 39},
  [12402] = {.lex_state = 1008, .external_lex_state = 4},
  [12403] = {.lex_state = 1006, .external_lex_state = 4},
  [12404] = {.lex_state = 467, .external_lex_state = 39},
  [12405] = {.lex_state = 467, .external_lex_state = 2},
  [12406] = {.lex_state = 1254, .external_lex_state = 42},
  [12407] = {.lex_state = 968, .external_lex_state = 70},
  [12408] = {.lex_state = 968, .external_lex_state = 12},
  [12409] = {.lex_state = 1254, .external_lex_state = 42},
  [12410] = {.lex_state = 467, .external_lex_state = 2},
  [12411] = {.lex_state = 1256, .external_lex_state = 42},
  [12412] = {.lex_state = 1256, .external_lex_state = 42},
  [12413] = {.lex_state = 1256, .external_lex_state = 42},
  [12414] = {.lex_state = 467, .external_lex_state = 2},
  [12415] = {.lex_state = 467, .external_lex_state = 2},
  [12416] = {.lex_state = 467, .external_lex_state = 2},
  [12417] = {.lex_state = 467, .external_lex_state = 2},
  [12418] = {.lex_state = 467, .external_lex_state = 2},
  [12419] = {.lex_state = 467, .external_lex_state = 2},
  [12420] = {.lex_state = 467, .external_lex_state = 2},
  [12421] = {.lex_state = 467, .external_lex_state = 2},
  [12422] = {.lex_state = 467, .external_lex_state = 2},
  [12423] = {.lex_state = 467, .external_lex_state = 2},
  [12424] = {.lex_state = 467, .external_lex_state = 2},
  [12425] = {.lex_state = 467, .external_lex_state = 2},
  [12426] = {.lex_state = 467, .external_lex_state = 39},
  [12427] = {.lex_state = 467, .external_lex_state = 2},
  [12428] = {.lex_state = 1256, .external_lex_state = 42},
  [12429] = {.lex_state = 968, .external_lex_state = 70},
  [12430] = {.lex_state = 968, .external_lex_state = 12},
  [12431] = {.lex_state = 1256, .external_lex_state = 42},
  [12432] = {.lex_state = 467, .external_lex_state = 39},
  [12433] = {.lex_state = 1254, .external_lex_state = 42},
  [12434] = {.lex_state = 968, .external_lex_state = 70},
  [12435] = {.lex_state = 1012, .external_lex_state = 42},
  [12436] = {.lex_state = 467, .external_lex_state = 2},
  [12437] = {.lex_state = 968, .external_lex_state = 70},
  [12438] = {.lex_state = 467, .external_lex_state = 39},
  [12439] = {.lex_state = 1016, .external_lex_state = 42},
  [12440] = {.lex_state = 467, .external_lex_state = 39},
  [12441] = {.lex_state = 467, .external_lex_state = 2},
  [12442] = {.lex_state = 467, .external_lex_state = 39},
  [12443] = {.lex_state = 1026, .external_lex_state = 4},
  [12444] = {.lex_state = 968, .external_lex_state = 70},
  [12445] = {.lex_state = 1024, .external_lex_state = 4},
  [12446] = {.lex_state = 968, .external_lex_state = 70},
  [12447] = {.lex_state = 467, .external_lex_state = 39},
  [12448] = {.lex_state = 1262, .external_lex_state = 4},
  [12449] = {.lex_state = 1262, .external_lex_state = 4},
  [12450] = {.lex_state = 1262, .external_lex_state = 4},
  [12451] = {.lex_state = 1262, .external_lex_state = 4},
  [12452] = {.lex_state = 1262, .external_lex_state = 4},
  [12453] = {.lex_state = 1262, .external_lex_state = 4},
  [12454] = {.lex_state = 1116, .external_lex_state = 30},
  [12455] = {.lex_state = 1262, .external_lex_state = 4},
  [12456] = {.lex_state = 1262, .external_lex_state = 4},
  [12457] = {.lex_state = 1262, .external_lex_state = 4},
  [12458] = {.lex_state = 1262, .external_lex_state = 4},
  [12459] = {.lex_state = 1262, .external_lex_state = 4},
  [12460] = {.lex_state = 1262, .external_lex_state = 4},
  [12461] = {.lex_state = 1262, .external_lex_state = 4},
  [12462] = {.lex_state = 1262, .external_lex_state = 4},
  [12463] = {.lex_state = 467, .external_lex_state = 2},
  [12464] = {.lex_state = 968, .external_lex_state = 70},
  [12465] = {.lex_state = 467, .external_lex_state = 39},
  [12466] = {.lex_state = 1260, .external_lex_state = 4},
  [12467] = {.lex_state = 1266, .external_lex_state = 2},
  [12468] = {.lex_state = 467, .external_lex_state = 2},
  [12469] = {.lex_state = 467, .external_lex_state = 2},
  [12470] = {.lex_state = 467, .external_lex_state = 2},
  [12471] = {.lex_state = 467, .external_lex_state = 2},
  [12472] = {.lex_state = 1414, .external_lex_state = 4},
  [12473] = {.lex_state = 549},
  [12474] = {.lex_state = 1388, .external_lex_state = 4},
  [12475] = {.lex_state = 1414, .external_lex_state = 4},
  [12476] = {.lex_state = 970, .external_lex_state = 10},
  [12477] = {.lex_state = 970, .external_lex_state = 10},
  [12478] = {.lex_state = 970, .external_lex_state = 10},
  [12479] = {.lex_state = 970, .external_lex_state = 10},
  [12480] = {.lex_state = 1412, .external_lex_state = 4},
  [12481] = {.lex_state = 1414, .external_lex_state = 4},
  [12482] = {.lex_state = 467, .external_lex_state = 2},
  [12483] = {.lex_state = 467, .external_lex_state = 2},
  [12484] = {.lex_state = 467, .external_lex_state = 2},
  [12485] = {.lex_state = 972, .external_lex_state = 37},
  [12486] = {.lex_state = 1412, .external_lex_state = 4},
  [12487] = {.lex_state = 1412, .external_lex_state = 4},
  [12488] = {.lex_state = 638, .external_lex_state = 22},
  [12489] = {.lex_state = 1418, .external_lex_state = 36},
  [12490] = {.lex_state = 1412, .external_lex_state = 4},
  [12491] = {.lex_state = 1412, .external_lex_state = 4},
  [12492] = {.lex_state = 467, .external_lex_state = 2},
  [12493] = {.lex_state = 467, .external_lex_state = 2},
  [12494] = {.lex_state = 467, .external_lex_state = 2},
  [12495] = {.lex_state = 467, .external_lex_state = 2},
  [12496] = {.lex_state = 467, .external_lex_state = 2},
  [12497] = {.lex_state = 467, .external_lex_state = 2},
  [12498] = {.lex_state = 467, .external_lex_state = 2},
  [12499] = {.lex_state = 467, .external_lex_state = 2},
  [12500] = {.lex_state = 467, .external_lex_state = 2},
  [12501] = {.lex_state = 467, .external_lex_state = 2},
  [12502] = {.lex_state = 467, .external_lex_state = 2},
  [12503] = {.lex_state = 467, .external_lex_state = 2},
  [12504] = {.lex_state = 467, .external_lex_state = 2},
  [12505] = {.lex_state = 467, .external_lex_state = 2},
  [12506] = {.lex_state = 467, .external_lex_state = 2},
  [12507] = {.lex_state = 467, .external_lex_state = 2},
  [12508] = {.lex_state = 972, .external_lex_state = 37},
  [12509] = {.lex_state = 1420, .external_lex_state = 4},
  [12510] = {.lex_state = 1420, .external_lex_state = 4},
  [12511] = {.lex_state = 638, .external_lex_state = 22},
  [12512] = {.lex_state = 1424, .external_lex_state = 36},
  [12513] = {.lex_state = 968, .external_lex_state = 12},
  [12514] = {.lex_state = 1414, .external_lex_state = 4},
  [12515] = {.lex_state = 467, .external_lex_state = 39},
  [12516] = {.lex_state = 467, .external_lex_state = 2},
  [12517] = {.lex_state = 467, .external_lex_state = 2},
  [12518] = {.lex_state = 617, .external_lex_state = 55},
  [12519] = {.lex_state = 461, .external_lex_state = 2},
  [12520] = {.lex_state = 1268, .external_lex_state = 2},
  [12521] = {.lex_state = 1386, .external_lex_state = 13},
  [12522] = {.lex_state = 1386, .external_lex_state = 13},
  [12523] = {.lex_state = 1386, .external_lex_state = 13},
  [12524] = {.lex_state = 1386, .external_lex_state = 13},
  [12525] = {.lex_state = 1386, .external_lex_state = 13},
  [12526] = {.lex_state = 1386, .external_lex_state = 13},
  [12527] = {.lex_state = 1386, .external_lex_state = 13},
  [12528] = {.lex_state = 1386, .external_lex_state = 13},
  [12529] = {.lex_state = 1386, .external_lex_state = 13},
  [12530] = {.lex_state = 1386, .external_lex_state = 13},
  [12531] = {.lex_state = 1386, .external_lex_state = 13},
  [12532] = {.lex_state = 1116, .external_lex_state = 30},
  [12533] = {.lex_state = 1386, .external_lex_state = 13},
  [12534] = {.lex_state = 1386, .external_lex_state = 13},
  [12535] = {.lex_state = 1386, .external_lex_state = 13},
  [12536] = {.lex_state = 1386, .external_lex_state = 13},
  [12537] = {.lex_state = 1386, .external_lex_state = 13},
  [12538] = {.lex_state = 467, .external_lex_state = 2},
  [12539] = {.lex_state = 722, .external_lex_state = 10},
  [12540] = {.lex_state = 722, .external_lex_state = 10},
  [12541] = {.lex_state = 722, .external_lex_state = 10},
  [12542] = {.lex_state = 722, .external_lex_state = 10},
  [12543] = {.lex_state = 467, .external_lex_state = 2},
  [12544] = {.lex_state = 467, .external_lex_state = 2},
  [12545] = {.lex_state = 467, .external_lex_state = 2},
  [12546] = {.lex_state = 1422, .external_lex_state = 4},
  [12547] = {.lex_state = 722, .external_lex_state = 10},
  [12548] = {.lex_state = 549},
  [12549] = {.lex_state = 1422, .external_lex_state = 4},
  [12550] = {.lex_state = 1422, .external_lex_state = 4},
  [12551] = {.lex_state = 972, .external_lex_state = 10},
  [12552] = {.lex_state = 972, .external_lex_state = 10},
  [12553] = {.lex_state = 972, .external_lex_state = 10},
  [12554] = {.lex_state = 972, .external_lex_state = 10},
  [12555] = {.lex_state = 1420, .external_lex_state = 4},
  [12556] = {.lex_state = 1422, .external_lex_state = 4},
  [12557] = {.lex_state = 1420, .external_lex_state = 4},
  [12558] = {.lex_state = 1420, .external_lex_state = 4},
  [12559] = {.lex_state = 467, .external_lex_state = 2},
  [12560] = {.lex_state = 467, .external_lex_state = 2},
  [12561] = {.lex_state = 467, .external_lex_state = 2},
  [12562] = {.lex_state = 467, .external_lex_state = 2},
  [12563] = {.lex_state = 467, .external_lex_state = 2},
  [12564] = {.lex_state = 467, .external_lex_state = 2},
  [12565] = {.lex_state = 467, .external_lex_state = 2},
  [12566] = {.lex_state = 467, .external_lex_state = 2},
  [12567] = {.lex_state = 467, .external_lex_state = 2},
  [12568] = {.lex_state = 467, .external_lex_state = 2},
  [12569] = {.lex_state = 467, .external_lex_state = 2},
  [12570] = {.lex_state = 467, .external_lex_state = 2},
  [12571] = {.lex_state = 467, .external_lex_state = 2},
  [12572] = {.lex_state = 968, .external_lex_state = 12},
  [12573] = {.lex_state = 1422, .external_lex_state = 4},
  [12574] = {.lex_state = 467, .external_lex_state = 39},
  [12575] = {.lex_state = 467, .external_lex_state = 2},
  [12576] = {.lex_state = 467, .external_lex_state = 2},
  [12577] = {.lex_state = 467, .external_lex_state = 2},
  [12578] = {.lex_state = 467, .external_lex_state = 2},
  [12579] = {.lex_state = 467, .external_lex_state = 2},
  [12580] = {.lex_state = 467, .external_lex_state = 2},
  [12581] = {.lex_state = 467, .external_lex_state = 2},
  [12582] = {.lex_state = 1428, .external_lex_state = 13},
  [12583] = {.lex_state = 1428, .external_lex_state = 13},
  [12584] = {.lex_state = 549},
  [12585] = {.lex_state = 1388, .external_lex_state = 4},
  [12586] = {.lex_state = 1386, .external_lex_state = 13},
  [12587] = {.lex_state = 0},
  [12588] = {.lex_state = 1034, .external_lex_state = 13},
  [12589] = {.lex_state = 1272, .external_lex_state = 4},
  [12590] = {.lex_state = 1272, .external_lex_state = 4},
  [12591] = {.lex_state = 1272, .external_lex_state = 4},
  [12592] = {.lex_state = 1272, .external_lex_state = 4},
  [12593] = {.lex_state = 1272, .external_lex_state = 4},
  [12594] = {.lex_state = 1272, .external_lex_state = 4},
  [12595] = {.lex_state = 1116, .external_lex_state = 30},
  [12596] = {.lex_state = 1272, .external_lex_state = 4},
  [12597] = {.lex_state = 1272, .external_lex_state = 4},
  [12598] = {.lex_state = 1272, .external_lex_state = 4},
  [12599] = {.lex_state = 1272, .external_lex_state = 4},
  [12600] = {.lex_state = 1272, .external_lex_state = 4},
  [12601] = {.lex_state = 1272, .external_lex_state = 4},
  [12602] = {.lex_state = 1272, .external_lex_state = 4},
  [12603] = {.lex_state = 1272, .external_lex_state = 4},
  [12604] = {.lex_state = 467, .external_lex_state = 2},
  [12605] = {.lex_state = 968, .external_lex_state = 70},
  [12606] = {.lex_state = 467, .external_lex_state = 39},
  [12607] = {.lex_state = 1270, .external_lex_state = 4},
  [12608] = {.lex_state = 467, .external_lex_state = 39},
  [12609] = {.lex_state = 467, .external_lex_state = 2},
  [12610] = {.lex_state = 467, .external_lex_state = 39},
  [12611] = {.lex_state = 1040, .external_lex_state = 4},
  [12612] = {.lex_state = 1038, .external_lex_state = 4},
  [12613] = {.lex_state = 467, .external_lex_state = 39},
  [12614] = {.lex_state = 467, .external_lex_state = 2},
  [12615] = {.lex_state = 467, .external_lex_state = 2},
  [12616] = {.lex_state = 467, .external_lex_state = 39},
  [12617] = {.lex_state = 1046, .external_lex_state = 4},
  [12618] = {.lex_state = 968, .external_lex_state = 70},
  [12619] = {.lex_state = 1044, .external_lex_state = 4},
  [12620] = {.lex_state = 968, .external_lex_state = 70},
  [12621] = {.lex_state = 467, .external_lex_state = 39},
  [12622] = {.lex_state = 968, .external_lex_state = 70},
  [12623] = {.lex_state = 1278, .external_lex_state = 71},
  [12624] = {.lex_state = 0},
  [12625] = {.lex_state = 700, .external_lex_state = 35},
  [12626] = {.lex_state = 960, .external_lex_state = 31},
  [12627] = {.lex_state = 0},
  [12628] = {.lex_state = 1426, .external_lex_state = 4},
  [12629] = {.lex_state = 467, .external_lex_state = 2},
  [12630] = {.lex_state = 467, .external_lex_state = 2},
  [12631] = {.lex_state = 467, .external_lex_state = 2},
  [12632] = {.lex_state = 972, .external_lex_state = 37},
  [12633] = {.lex_state = 1390, .external_lex_state = 4},
  [12634] = {.lex_state = 1426, .external_lex_state = 4},
  [12635] = {.lex_state = 638, .external_lex_state = 22},
  [12636] = {.lex_state = 1396, .external_lex_state = 36},
  [12637] = {.lex_state = 1426, .external_lex_state = 4},
  [12638] = {.lex_state = 1426, .external_lex_state = 4},
  [12639] = {.lex_state = 467, .external_lex_state = 2},
  [12640] = {.lex_state = 467, .external_lex_state = 2},
  [12641] = {.lex_state = 467, .external_lex_state = 2},
  [12642] = {.lex_state = 467, .external_lex_state = 2},
  [12643] = {.lex_state = 467, .external_lex_state = 2},
  [12644] = {.lex_state = 467, .external_lex_state = 2},
  [12645] = {.lex_state = 467, .external_lex_state = 2},
  [12646] = {.lex_state = 467, .external_lex_state = 2},
  [12647] = {.lex_state = 467, .external_lex_state = 2},
  [12648] = {.lex_state = 467, .external_lex_state = 2},
  [12649] = {.lex_state = 467, .external_lex_state = 2},
  [12650] = {.lex_state = 467, .external_lex_state = 2},
  [12651] = {.lex_state = 467, .external_lex_state = 39},
  [12652] = {.lex_state = 467, .external_lex_state = 2},
  [12653] = {.lex_state = 1392, .external_lex_state = 71},
  [12654] = {.lex_state = 0},
  [12655] = {.lex_state = 1278, .external_lex_state = 71},
  [12656] = {.lex_state = 0},
  [12657] = {.lex_state = 1390, .external_lex_state = 4},
  [12658] = {.lex_state = 1390, .external_lex_state = 4},
  [12659] = {.lex_state = 1390, .external_lex_state = 4},
  [12660] = {.lex_state = 467, .external_lex_state = 2},
  [12661] = {.lex_state = 968, .external_lex_state = 12},
  [12662] = {.lex_state = 1390, .external_lex_state = 4},
  [12663] = {.lex_state = 467, .external_lex_state = 2},
  [12664] = {.lex_state = 1278, .external_lex_state = 71},
  [12665] = {.lex_state = 0},
  [12666] = {.lex_state = 746, .external_lex_state = 2},
  [12667] = {.lex_state = 746, .external_lex_state = 11},
  [12668] = {.lex_state = 1426, .external_lex_state = 4},
  [12669] = {.lex_state = 1390, .external_lex_state = 4},
  [12670] = {.lex_state = 1390, .external_lex_state = 4},
  [12671] = {.lex_state = 1390, .external_lex_state = 4},
  [12672] = {.lex_state = 1390, .external_lex_state = 4},
  [12673] = {.lex_state = 1390, .external_lex_state = 4},
  [12674] = {.lex_state = 1390, .external_lex_state = 4},
  [12675] = {.lex_state = 1116, .external_lex_state = 30},
  [12676] = {.lex_state = 1390, .external_lex_state = 4},
  [12677] = {.lex_state = 1390, .external_lex_state = 4},
  [12678] = {.lex_state = 1390, .external_lex_state = 4},
  [12679] = {.lex_state = 1390, .external_lex_state = 4},
  [12680] = {.lex_state = 1390, .external_lex_state = 4},
  [12681] = {.lex_state = 1278, .external_lex_state = 71},
  [12682] = {.lex_state = 617, .external_lex_state = 55},
  [12683] = {.lex_state = 461, .external_lex_state = 2},
  [12684] = {.lex_state = 1392, .external_lex_state = 71},
  [12685] = {.lex_state = 1394, .external_lex_state = 71},
  [12686] = {.lex_state = 968, .external_lex_state = 70},
  [12687] = {.lex_state = 968, .external_lex_state = 12},
  [12688] = {.lex_state = 1392, .external_lex_state = 71},
  [12689] = {.lex_state = 1390, .external_lex_state = 4},
  [12690] = {.lex_state = 1390, .external_lex_state = 4},
  [12691] = {.lex_state = 1390, .external_lex_state = 4},
  [12692] = {.lex_state = 1426, .external_lex_state = 4},
  [12693] = {.lex_state = 0},
  [12694] = {.lex_state = 1058, .external_lex_state = 13},
  [12695] = {.lex_state = 968, .external_lex_state = 70},
  [12696] = {.lex_state = 467, .external_lex_state = 39},
  [12697] = {.lex_state = 1282, .external_lex_state = 4},
  [12698] = {.lex_state = 1282, .external_lex_state = 4},
  [12699] = {.lex_state = 1282, .external_lex_state = 4},
  [12700] = {.lex_state = 1282, .external_lex_state = 4},
  [12701] = {.lex_state = 1282, .external_lex_state = 4},
  [12702] = {.lex_state = 1282, .external_lex_state = 4},
  [12703] = {.lex_state = 1116, .external_lex_state = 30},
  [12704] = {.lex_state = 1282, .external_lex_state = 4},
  [12705] = {.lex_state = 1282, .external_lex_state = 4},
  [12706] = {.lex_state = 1282, .external_lex_state = 4},
  [12707] = {.lex_state = 1282, .external_lex_state = 4},
  [12708] = {.lex_state = 1282, .external_lex_state = 4},
  [12709] = {.lex_state = 1282, .external_lex_state = 4},
  [12710] = {.lex_state = 1282, .external_lex_state = 4},
  [12711] = {.lex_state = 1282, .external_lex_state = 4},
  [12712] = {.lex_state = 1280, .external_lex_state = 4},
  [12713] = {.lex_state = 968, .external_lex_state = 70},
  [12714] = {.lex_state = 968, .external_lex_state = 12},
  [12715] = {.lex_state = 1280, .external_lex_state = 4},
  [12716] = {.lex_state = 467, .external_lex_state = 2},
  [12717] = {.lex_state = 1288, .external_lex_state = 4},
  [12718] = {.lex_state = 968, .external_lex_state = 70},
  [12719] = {.lex_state = 968, .external_lex_state = 12},
  [12720] = {.lex_state = 1288, .external_lex_state = 4},
  [12721] = {.lex_state = 968, .external_lex_state = 70},
  [12722] = {.lex_state = 467, .external_lex_state = 39},
  [12723] = {.lex_state = 1280, .external_lex_state = 4},
  [12724] = {.lex_state = 1071, .external_lex_state = 13},
  [12725] = {.lex_state = 1290, .external_lex_state = 4},
  [12726] = {.lex_state = 1290, .external_lex_state = 4},
  [12727] = {.lex_state = 1290, .external_lex_state = 4},
  [12728] = {.lex_state = 1290, .external_lex_state = 4},
  [12729] = {.lex_state = 1290, .external_lex_state = 4},
  [12730] = {.lex_state = 1290, .external_lex_state = 4},
  [12731] = {.lex_state = 1116, .external_lex_state = 30},
  [12732] = {.lex_state = 1290, .external_lex_state = 4},
  [12733] = {.lex_state = 1290, .external_lex_state = 4},
  [12734] = {.lex_state = 1290, .external_lex_state = 4},
  [12735] = {.lex_state = 1290, .external_lex_state = 4},
  [12736] = {.lex_state = 1290, .external_lex_state = 4},
  [12737] = {.lex_state = 1290, .external_lex_state = 4},
  [12738] = {.lex_state = 1290, .external_lex_state = 4},
  [12739] = {.lex_state = 1290, .external_lex_state = 4},
  [12740] = {.lex_state = 467, .external_lex_state = 2},
  [12741] = {.lex_state = 968, .external_lex_state = 70},
  [12742] = {.lex_state = 467, .external_lex_state = 39},
  [12743] = {.lex_state = 1288, .external_lex_state = 4},
  [12744] = {.lex_state = 1398, .external_lex_state = 13},
  [12745] = {.lex_state = 1398, .external_lex_state = 13},
  [12746] = {.lex_state = 1398, .external_lex_state = 13},
  [12747] = {.lex_state = 1398, .external_lex_state = 13},
  [12748] = {.lex_state = 1398, .external_lex_state = 13},
  [12749] = {.lex_state = 1398, .external_lex_state = 13},
  [12750] = {.lex_state = 1116, .external_lex_state = 30},
  [12751] = {.lex_state = 1398, .external_lex_state = 13},
  [12752] = {.lex_state = 1398, .external_lex_state = 13},
  [12753] = {.lex_state = 1398, .external_lex_state = 13},
  [12754] = {.lex_state = 1398, .external_lex_state = 13},
  [12755] = {.lex_state = 1398, .external_lex_state = 13},
  [12756] = {.lex_state = 467, .external_lex_state = 39},
  [12757] = {.lex_state = 1398, .external_lex_state = 13},
  [12758] = {.lex_state = 1398, .external_lex_state = 13},
  [12759] = {.lex_state = 1296, .external_lex_state = 4},
  [12760] = {.lex_state = 1296, .external_lex_state = 4},
  [12761] = {.lex_state = 1296, .external_lex_state = 4},
  [12762] = {.lex_state = 1296, .external_lex_state = 4},
  [12763] = {.lex_state = 1296, .external_lex_state = 4},
  [12764] = {.lex_state = 1296, .external_lex_state = 4},
  [12765] = {.lex_state = 1116, .external_lex_state = 30},
  [12766] = {.lex_state = 1296, .external_lex_state = 4},
  [12767] = {.lex_state = 1296, .external_lex_state = 4},
  [12768] = {.lex_state = 1296, .external_lex_state = 4},
  [12769] = {.lex_state = 1296, .external_lex_state = 4},
  [12770] = {.lex_state = 1296, .external_lex_state = 4},
  [12771] = {.lex_state = 1296, .external_lex_state = 4},
  [12772] = {.lex_state = 1296, .external_lex_state = 4},
  [12773] = {.lex_state = 1296, .external_lex_state = 4},
  [12774] = {.lex_state = 1294, .external_lex_state = 4},
  [12775] = {.lex_state = 968, .external_lex_state = 70},
  [12776] = {.lex_state = 968, .external_lex_state = 12},
  [12777] = {.lex_state = 1294, .external_lex_state = 4},
  [12778] = {.lex_state = 467, .external_lex_state = 2},
  [12779] = {.lex_state = 1302, .external_lex_state = 4},
  [12780] = {.lex_state = 968, .external_lex_state = 70},
  [12781] = {.lex_state = 968, .external_lex_state = 12},
  [12782] = {.lex_state = 1302, .external_lex_state = 4},
  [12783] = {.lex_state = 968, .external_lex_state = 70},
  [12784] = {.lex_state = 467, .external_lex_state = 39},
  [12785] = {.lex_state = 1294, .external_lex_state = 4},
  [12786] = {.lex_state = 1081, .external_lex_state = 13},
  [12787] = {.lex_state = 1304, .external_lex_state = 4},
  [12788] = {.lex_state = 1304, .external_lex_state = 4},
  [12789] = {.lex_state = 1304, .external_lex_state = 4},
  [12790] = {.lex_state = 1304, .external_lex_state = 4},
  [12791] = {.lex_state = 1304, .external_lex_state = 4},
  [12792] = {.lex_state = 1304, .external_lex_state = 4},
  [12793] = {.lex_state = 1116, .external_lex_state = 30},
  [12794] = {.lex_state = 1304, .external_lex_state = 4},
  [12795] = {.lex_state = 1304, .external_lex_state = 4},
  [12796] = {.lex_state = 1304, .external_lex_state = 4},
  [12797] = {.lex_state = 1304, .external_lex_state = 4},
  [12798] = {.lex_state = 1304, .external_lex_state = 4},
  [12799] = {.lex_state = 1304, .external_lex_state = 4},
  [12800] = {.lex_state = 1304, .external_lex_state = 4},
  [12801] = {.lex_state = 1304, .external_lex_state = 4},
  [12802] = {.lex_state = 467, .external_lex_state = 2},
  [12803] = {.lex_state = 968, .external_lex_state = 70},
  [12804] = {.lex_state = 467, .external_lex_state = 39},
  [12805] = {.lex_state = 1302, .external_lex_state = 4},
  [12806] = {.lex_state = 1400, .external_lex_state = 13},
  [12807] = {.lex_state = 1400, .external_lex_state = 13},
  [12808] = {.lex_state = 1400, .external_lex_state = 13},
  [12809] = {.lex_state = 1400, .external_lex_state = 13},
  [12810] = {.lex_state = 1400, .external_lex_state = 13},
  [12811] = {.lex_state = 1400, .external_lex_state = 13},
  [12812] = {.lex_state = 1116, .external_lex_state = 30},
  [12813] = {.lex_state = 1400, .external_lex_state = 13},
  [12814] = {.lex_state = 1400, .external_lex_state = 13},
  [12815] = {.lex_state = 1400, .external_lex_state = 13},
  [12816] = {.lex_state = 1400, .external_lex_state = 13},
  [12817] = {.lex_state = 1400, .external_lex_state = 13},
  [12818] = {.lex_state = 467, .external_lex_state = 39},
  [12819] = {.lex_state = 1400, .external_lex_state = 13},
  [12820] = {.lex_state = 1400, .external_lex_state = 13},
  [12821] = {.lex_state = 467, .external_lex_state = 2},
  [12822] = {.lex_state = 467, .external_lex_state = 39},
  [12823] = {.lex_state = 1087, .external_lex_state = 4},
  [12824] = {.lex_state = 1085, .external_lex_state = 4},
  [12825] = {.lex_state = 467, .external_lex_state = 39},
  [12826] = {.lex_state = 467, .external_lex_state = 2},
  [12827] = {.lex_state = 1310, .external_lex_state = 42},
  [12828] = {.lex_state = 1310, .external_lex_state = 42},
  [12829] = {.lex_state = 1310, .external_lex_state = 42},
  [12830] = {.lex_state = 1310, .external_lex_state = 42},
  [12831] = {.lex_state = 1310, .external_lex_state = 42},
  [12832] = {.lex_state = 1310, .external_lex_state = 42},
  [12833] = {.lex_state = 1116, .external_lex_state = 30},
  [12834] = {.lex_state = 1310, .external_lex_state = 42},
  [12835] = {.lex_state = 1310, .external_lex_state = 42},
  [12836] = {.lex_state = 1310, .external_lex_state = 42},
  [12837] = {.lex_state = 1310, .external_lex_state = 42},
  [12838] = {.lex_state = 1310, .external_lex_state = 42},
  [12839] = {.lex_state = 1310, .external_lex_state = 42},
  [12840] = {.lex_state = 1310, .external_lex_state = 42},
  [12841] = {.lex_state = 1310, .external_lex_state = 42},
  [12842] = {.lex_state = 968, .external_lex_state = 70},
  [12843] = {.lex_state = 1093, .external_lex_state = 46},
  [12844] = {.lex_state = 1312, .external_lex_state = 42},
  [12845] = {.lex_state = 1312, .external_lex_state = 42},
  [12846] = {.lex_state = 1312, .external_lex_state = 42},
  [12847] = {.lex_state = 1312, .external_lex_state = 42},
  [12848] = {.lex_state = 1312, .external_lex_state = 42},
  [12849] = {.lex_state = 1312, .external_lex_state = 42},
  [12850] = {.lex_state = 1116, .external_lex_state = 30},
  [12851] = {.lex_state = 1312, .external_lex_state = 42},
  [12852] = {.lex_state = 1312, .external_lex_state = 42},
  [12853] = {.lex_state = 1312, .external_lex_state = 42},
  [12854] = {.lex_state = 1312, .external_lex_state = 42},
  [12855] = {.lex_state = 1312, .external_lex_state = 42},
  [12856] = {.lex_state = 1312, .external_lex_state = 42},
  [12857] = {.lex_state = 1312, .external_lex_state = 42},
  [12858] = {.lex_state = 1312, .external_lex_state = 42},
  [12859] = {.lex_state = 968, .external_lex_state = 70},
  [12860] = {.lex_state = 467, .external_lex_state = 39},
  [12861] = {.lex_state = 769, .external_lex_state = 42},
  [12862] = {.lex_state = 769, .external_lex_state = 42},
  [12863] = {.lex_state = 769, .external_lex_state = 42},
  [12864] = {.lex_state = 1099, .external_lex_state = 42},
  [12865] = {.lex_state = 467, .external_lex_state = 39},
  [12866] = {.lex_state = 769, .external_lex_state = 42},
  [12867] = {.lex_state = 0},
  [12868] = {.lex_state = 769, .external_lex_state = 42},
  [12869] = {.lex_state = 769, .external_lex_state = 42},
  [12870] = {.lex_state = 769, .external_lex_state = 42},
  [12871] = {.lex_state = 0},
  [12872] = {.lex_state = 775, .external_lex_state = 45},
  [12873] = {.lex_state = 777, .external_lex_state = 42},
  [12874] = {.lex_state = 0},
  [12875] = {.lex_state = 1101, .external_lex_state = 42},
  [12876] = {.lex_state = 467, .external_lex_state = 39},
  [12877] = {.lex_state = 1314, .external_lex_state = 12},
  [12878] = {.lex_state = 789, .external_lex_state = 46},
  [12879] = {.lex_state = 631, .external_lex_state = 2},
  [12880] = {.lex_state = 585},
  [12881] = {.lex_state = 585},
  [12882] = {.lex_state = 545},
  [12883] = {.lex_state = 1350, .external_lex_state = 30},
  [12884] = {.lex_state = 467, .external_lex_state = 2},
  [12885] = {.lex_state = 467, .external_lex_state = 2},
  [12886] = {.lex_state = 467, .external_lex_state = 2},
  [12887] = {.lex_state = 467, .external_lex_state = 2},
  [12888] = {.lex_state = 970, .external_lex_state = 43},
  [12889] = {.lex_state = 970, .external_lex_state = 43},
  [12890] = {.lex_state = 970, .external_lex_state = 43},
  [12891] = {.lex_state = 970, .external_lex_state = 43},
  [12892] = {.lex_state = 467, .external_lex_state = 2},
  [12893] = {.lex_state = 467, .external_lex_state = 2},
  [12894] = {.lex_state = 467, .external_lex_state = 27},
  [12895] = {.lex_state = 467, .external_lex_state = 2},
  [12896] = {.lex_state = 972, .external_lex_state = 43},
  [12897] = {.lex_state = 1218, .external_lex_state = 42},
  [12898] = {.lex_state = 972, .external_lex_state = 45},
  [12899] = {.lex_state = 1220, .external_lex_state = 42},
  [12900] = {.lex_state = 549},
  [12901] = {.lex_state = 1222, .external_lex_state = 42},
  [12902] = {.lex_state = 638, .external_lex_state = 22},
  [12903] = {.lex_state = 1224, .external_lex_state = 41},
  [12904] = {.lex_state = 1350, .external_lex_state = 30},
  [12905] = {.lex_state = 1350, .external_lex_state = 30},
  [12906] = {.lex_state = 467, .external_lex_state = 2},
  [12907] = {.lex_state = 467, .external_lex_state = 2},
  [12908] = {.lex_state = 467, .external_lex_state = 2},
  [12909] = {.lex_state = 467, .external_lex_state = 2},
  [12910] = {.lex_state = 467, .external_lex_state = 2},
  [12911] = {.lex_state = 467, .external_lex_state = 2},
  [12912] = {.lex_state = 467, .external_lex_state = 2},
  [12913] = {.lex_state = 467, .external_lex_state = 2},
  [12914] = {.lex_state = 467, .external_lex_state = 2},
  [12915] = {.lex_state = 467, .external_lex_state = 2},
  [12916] = {.lex_state = 467, .external_lex_state = 2},
  [12917] = {.lex_state = 467, .external_lex_state = 2},
  [12918] = {.lex_state = 467, .external_lex_state = 2},
  [12919] = {.lex_state = 467, .external_lex_state = 2},
  [12920] = {.lex_state = 467, .external_lex_state = 2},
  [12921] = {.lex_state = 467, .external_lex_state = 2},
  [12922] = {.lex_state = 972, .external_lex_state = 43},
  [12923] = {.lex_state = 972, .external_lex_state = 43},
  [12924] = {.lex_state = 972, .external_lex_state = 43},
  [12925] = {.lex_state = 972, .external_lex_state = 43},
  [12926] = {.lex_state = 467, .external_lex_state = 2},
  [12927] = {.lex_state = 467, .external_lex_state = 2},
  [12928] = {.lex_state = 467, .external_lex_state = 27},
  [12929] = {.lex_state = 467, .external_lex_state = 2},
  [12930] = {.lex_state = 972, .external_lex_state = 43},
  [12931] = {.lex_state = 1006, .external_lex_state = 42},
  [12932] = {.lex_state = 972, .external_lex_state = 45},
  [12933] = {.lex_state = 1008, .external_lex_state = 42},
  [12934] = {.lex_state = 549},
  [12935] = {.lex_state = 1006, .external_lex_state = 42},
  [12936] = {.lex_state = 638, .external_lex_state = 22},
  [12937] = {.lex_state = 1010, .external_lex_state = 41},
  [12938] = {.lex_state = 467, .external_lex_state = 39},
  [12939] = {.lex_state = 467, .external_lex_state = 2},
  [12940] = {.lex_state = 585},
  [12941] = {.lex_state = 545},
  [12942] = {.lex_state = 804},
  [12943] = {.lex_state = 804},
  [12944] = {.lex_state = 0},
  [12945] = {.lex_state = 746, .external_lex_state = 2},
  [12946] = {.lex_state = 746, .external_lex_state = 11},
  [12947] = {.lex_state = 585},
  [12948] = {.lex_state = 585},
  [12949] = {.lex_state = 545},
  [12950] = {.lex_state = 458, .external_lex_state = 4},
  [12951] = {.lex_state = 467, .external_lex_state = 2},
  [12952] = {.lex_state = 1324, .external_lex_state = 30},
  [12953] = {.lex_state = 467, .external_lex_state = 39},
  [12954] = {.lex_state = 1324, .external_lex_state = 30},
  [12955] = {.lex_state = 1332, .external_lex_state = 42},
  [12956] = {.lex_state = 1332, .external_lex_state = 42},
  [12957] = {.lex_state = 1332, .external_lex_state = 42},
  [12958] = {.lex_state = 1332, .external_lex_state = 42},
  [12959] = {.lex_state = 1332, .external_lex_state = 42},
  [12960] = {.lex_state = 1332, .external_lex_state = 42},
  [12961] = {.lex_state = 1116, .external_lex_state = 30},
  [12962] = {.lex_state = 1332, .external_lex_state = 42},
  [12963] = {.lex_state = 1332, .external_lex_state = 42},
  [12964] = {.lex_state = 1332, .external_lex_state = 42},
  [12965] = {.lex_state = 1332, .external_lex_state = 42},
  [12966] = {.lex_state = 1332, .external_lex_state = 42},
  [12967] = {.lex_state = 1332, .external_lex_state = 42},
  [12968] = {.lex_state = 1332, .external_lex_state = 42},
  [12969] = {.lex_state = 1332, .external_lex_state = 42},
  [12970] = {.lex_state = 1330, .external_lex_state = 42},
  [12971] = {.lex_state = 968, .external_lex_state = 70},
  [12972] = {.lex_state = 968, .external_lex_state = 12},
  [12973] = {.lex_state = 1330, .external_lex_state = 42},
  [12974] = {.lex_state = 467, .external_lex_state = 2},
  [12975] = {.lex_state = 1338, .external_lex_state = 42},
  [12976] = {.lex_state = 968, .external_lex_state = 70},
  [12977] = {.lex_state = 968, .external_lex_state = 12},
  [12978] = {.lex_state = 1338, .external_lex_state = 42},
  [12979] = {.lex_state = 968, .external_lex_state = 70},
  [12980] = {.lex_state = 467, .external_lex_state = 39},
  [12981] = {.lex_state = 1330, .external_lex_state = 42},
  [12982] = {.lex_state = 1116, .external_lex_state = 30},
  [12983] = {.lex_state = 1340, .external_lex_state = 42},
  [12984] = {.lex_state = 1340, .external_lex_state = 42},
  [12985] = {.lex_state = 1340, .external_lex_state = 42},
  [12986] = {.lex_state = 1340, .external_lex_state = 42},
  [12987] = {.lex_state = 1340, .external_lex_state = 42},
  [12988] = {.lex_state = 1340, .external_lex_state = 42},
  [12989] = {.lex_state = 1116, .external_lex_state = 30},
  [12990] = {.lex_state = 1340, .external_lex_state = 42},
  [12991] = {.lex_state = 1340, .external_lex_state = 42},
  [12992] = {.lex_state = 1340, .external_lex_state = 42},
  [12993] = {.lex_state = 1340, .external_lex_state = 42},
  [12994] = {.lex_state = 1340, .external_lex_state = 42},
  [12995] = {.lex_state = 1340, .external_lex_state = 42},
  [12996] = {.lex_state = 1340, .external_lex_state = 42},
  [12997] = {.lex_state = 1340, .external_lex_state = 42},
  [12998] = {.lex_state = 467, .external_lex_state = 2},
  [12999] = {.lex_state = 968, .external_lex_state = 70},
  [13000] = {.lex_state = 467, .external_lex_state = 39},
  [13001] = {.lex_state = 1338, .external_lex_state = 42},
  [13002] = {.lex_state = 1404, .external_lex_state = 30},
  [13003] = {.lex_state = 1404, .external_lex_state = 30},
  [13004] = {.lex_state = 1404, .external_lex_state = 30},
  [13005] = {.lex_state = 1404, .external_lex_state = 30},
  [13006] = {.lex_state = 1404, .external_lex_state = 30},
  [13007] = {.lex_state = 1404, .external_lex_state = 30},
  [13008] = {.lex_state = 1116, .external_lex_state = 30},
  [13009] = {.lex_state = 1404, .external_lex_state = 30},
  [13010] = {.lex_state = 1404, .external_lex_state = 30},
  [13011] = {.lex_state = 1404, .external_lex_state = 30},
  [13012] = {.lex_state = 1404, .external_lex_state = 30},
  [13013] = {.lex_state = 1404, .external_lex_state = 30},
  [13014] = {.lex_state = 467, .external_lex_state = 39},
  [13015] = {.lex_state = 1404, .external_lex_state = 30},
  [13016] = {.lex_state = 1404, .external_lex_state = 30},
  [13017] = {.lex_state = 545, .external_lex_state = 6},
  [13018] = {.lex_state = 575, .external_lex_state = 4},
  [13019] = {.lex_state = 575, .external_lex_state = 4},
  [13020] = {.lex_state = 0},
  [13021] = {.lex_state = 575, .external_lex_state = 4},
  [13022] = {.lex_state = 0},
  [13023] = {.lex_state = 575, .external_lex_state = 4},
  [13024] = {.lex_state = 575, .external_lex_state = 4},
  [13025] = {.lex_state = 0},
  [13026] = {.lex_state = 0},
  [13027] = {.lex_state = 575, .external_lex_state = 4},
  [13028] = {.lex_state = 0},
  [13029] = {.lex_state = 575, .external_lex_state = 4},
  [13030] = {.lex_state = 575, .external_lex_state = 4},
  [13031] = {.lex_state = 575, .external_lex_state = 4},
  [13032] = {.lex_state = 0},
  [13033] = {.lex_state = 575, .external_lex_state = 4},
  [13034] = {.lex_state = 816, .external_lex_state = 4},
  [13035] = {.lex_state = 575, .external_lex_state = 4},
  [13036] = {.lex_state = 467, .external_lex_state = 39},
  [13037] = {.lex_state = 968, .external_lex_state = 70},
  [13038] = {.lex_state = 1130, .external_lex_state = 13},
  [13039] = {.lex_state = 968, .external_lex_state = 70},
  [13040] = {.lex_state = 1406, .external_lex_state = 13},
  [13041] = {.lex_state = 1406, .external_lex_state = 13},
  [13042] = {.lex_state = 1406, .external_lex_state = 13},
  [13043] = {.lex_state = 1406, .external_lex_state = 13},
  [13044] = {.lex_state = 1406, .external_lex_state = 13},
  [13045] = {.lex_state = 1406, .external_lex_state = 13},
  [13046] = {.lex_state = 1116, .external_lex_state = 30},
  [13047] = {.lex_state = 1406, .external_lex_state = 13},
  [13048] = {.lex_state = 1406, .external_lex_state = 13},
  [13049] = {.lex_state = 1406, .external_lex_state = 13},
  [13050] = {.lex_state = 1406, .external_lex_state = 13},
  [13051] = {.lex_state = 1406, .external_lex_state = 13},
  [13052] = {.lex_state = 467, .external_lex_state = 39},
  [13053] = {.lex_state = 1406, .external_lex_state = 13},
  [13054] = {.lex_state = 1406, .external_lex_state = 13},
  [13055] = {.lex_state = 708, .external_lex_state = 4},
  [13056] = {.lex_state = 708, .external_lex_state = 4},
  [13057] = {.lex_state = 708, .external_lex_state = 4},
  [13058] = {.lex_state = 708, .external_lex_state = 4},
  [13059] = {.lex_state = 0},
  [13060] = {.lex_state = 708, .external_lex_state = 4},
  [13061] = {.lex_state = 708, .external_lex_state = 4},
  [13062] = {.lex_state = 575, .external_lex_state = 4},
  [13063] = {.lex_state = 708, .external_lex_state = 4},
  [13064] = {.lex_state = 1136, .external_lex_state = 13},
  [13065] = {.lex_state = 615, .external_lex_state = 49},
  [13066] = {.lex_state = 842, .external_lex_state = 49},
  [13067] = {.lex_state = 621, .external_lex_state = 52},
  [13068] = {.lex_state = 0},
  [13069] = {.lex_state = 842, .external_lex_state = 49},
  [13070] = {.lex_state = 842, .external_lex_state = 49},
  [13071] = {.lex_state = 0},
  [13072] = {.lex_state = 746, .external_lex_state = 2},
  [13073] = {.lex_state = 467, .external_lex_state = 39},
  [13074] = {.lex_state = 824, .external_lex_state = 49},
  [13075] = {.lex_state = 824, .external_lex_state = 49},
  [13076] = {.lex_state = 824, .external_lex_state = 49},
  [13077] = {.lex_state = 824, .external_lex_state = 49},
  [13078] = {.lex_state = 0},
  [13079] = {.lex_state = 824, .external_lex_state = 49},
  [13080] = {.lex_state = 824, .external_lex_state = 49},
  [13081] = {.lex_state = 824, .external_lex_state = 49},
  [13082] = {.lex_state = 0},
  [13083] = {.lex_state = 644, .external_lex_state = 52},
  [13084] = {.lex_state = 828, .external_lex_state = 49},
  [13085] = {.lex_state = 0},
  [13086] = {.lex_state = 828, .external_lex_state = 49},
  [13087] = {.lex_state = 828, .external_lex_state = 49},
  [13088] = {.lex_state = 824, .external_lex_state = 49},
  [13089] = {.lex_state = 615, .external_lex_state = 15},
  [13090] = {.lex_state = 615, .external_lex_state = 15},
  [13091] = {.lex_state = 545, .external_lex_state = 6},
  [13092] = {.lex_state = 842, .external_lex_state = 49},
  [13093] = {.lex_state = 842, .external_lex_state = 49},
  [13094] = {.lex_state = 0},
  [13095] = {.lex_state = 842, .external_lex_state = 49},
  [13096] = {.lex_state = 0},
  [13097] = {.lex_state = 842, .external_lex_state = 49},
  [13098] = {.lex_state = 842, .external_lex_state = 49},
  [13099] = {.lex_state = 0},
  [13100] = {.lex_state = 0},
  [13101] = {.lex_state = 842, .external_lex_state = 49},
  [13102] = {.lex_state = 0},
  [13103] = {.lex_state = 842, .external_lex_state = 49},
  [13104] = {.lex_state = 842, .external_lex_state = 49},
  [13105] = {.lex_state = 842, .external_lex_state = 49},
  [13106] = {.lex_state = 0},
  [13107] = {.lex_state = 842, .external_lex_state = 49},
  [13108] = {.lex_state = 842, .external_lex_state = 49},
  [13109] = {.lex_state = 842, .external_lex_state = 49},
  [13110] = {.lex_state = 467, .external_lex_state = 39},
  [13111] = {.lex_state = 828, .external_lex_state = 49},
  [13112] = {.lex_state = 828, .external_lex_state = 49},
  [13113] = {.lex_state = 828, .external_lex_state = 49},
  [13114] = {.lex_state = 828, .external_lex_state = 49},
  [13115] = {.lex_state = 0},
  [13116] = {.lex_state = 828, .external_lex_state = 49},
  [13117] = {.lex_state = 828, .external_lex_state = 49},
  [13118] = {.lex_state = 623, .external_lex_state = 15},
  [13119] = {.lex_state = 828, .external_lex_state = 49},
  [13120] = {.lex_state = 629, .external_lex_state = 18},
  [13121] = {.lex_state = 467, .external_lex_state = 2},
  [13122] = {.lex_state = 467, .external_lex_state = 39},
  [13123] = {.lex_state = 1144, .external_lex_state = 4},
  [13124] = {.lex_state = 1142, .external_lex_state = 4},
  [13125] = {.lex_state = 467, .external_lex_state = 39},
  [13126] = {.lex_state = 467, .external_lex_state = 2},
  [13127] = {.lex_state = 467, .external_lex_state = 39},
  [13128] = {.lex_state = 1150, .external_lex_state = 4},
  [13129] = {.lex_state = 1148, .external_lex_state = 4},
  [13130] = {.lex_state = 467, .external_lex_state = 39},
  [13131] = {.lex_state = 467, .external_lex_state = 2},
  [13132] = {.lex_state = 615, .external_lex_state = 54},
  [13133] = {.lex_state = 615, .external_lex_state = 54},
  [13134] = {.lex_state = 615, .external_lex_state = 54},
  [13135] = {.lex_state = 822, .external_lex_state = 73},
  [13136] = {.lex_state = 467, .external_lex_state = 2},
  [13137] = {.lex_state = 842, .external_lex_state = 65},
  [13138] = {.lex_state = 0},
  [13139] = {.lex_state = 621, .external_lex_state = 68},
  [13140] = {.lex_state = 960, .external_lex_state = 31},
  [13141] = {.lex_state = 0},
  [13142] = {.lex_state = 842, .external_lex_state = 65},
  [13143] = {.lex_state = 0},
  [13144] = {.lex_state = 842, .external_lex_state = 65},
  [13145] = {.lex_state = 0},
  [13146] = {.lex_state = 746, .external_lex_state = 2},
  [13147] = {.lex_state = 746, .external_lex_state = 11},
  [13148] = {.lex_state = 467, .external_lex_state = 39},
  [13149] = {.lex_state = 615, .external_lex_state = 65},
  [13150] = {.lex_state = 545, .external_lex_state = 6},
  [13151] = {.lex_state = 824, .external_lex_state = 65},
  [13152] = {.lex_state = 824, .external_lex_state = 65},
  [13153] = {.lex_state = 0},
  [13154] = {.lex_state = 824, .external_lex_state = 65},
  [13155] = {.lex_state = 0},
  [13156] = {.lex_state = 824, .external_lex_state = 65},
  [13157] = {.lex_state = 968, .external_lex_state = 70},
  [13158] = {.lex_state = 824, .external_lex_state = 65},
  [13159] = {.lex_state = 0},
  [13160] = {.lex_state = 0},
  [13161] = {.lex_state = 824, .external_lex_state = 65},
  [13162] = {.lex_state = 0},
  [13163] = {.lex_state = 824, .external_lex_state = 65},
  [13164] = {.lex_state = 824, .external_lex_state = 65},
  [13165] = {.lex_state = 824, .external_lex_state = 65},
  [13166] = {.lex_state = 0},
  [13167] = {.lex_state = 824, .external_lex_state = 65},
  [13168] = {.lex_state = 824, .external_lex_state = 65},
  [13169] = {.lex_state = 824, .external_lex_state = 65},
  [13170] = {.lex_state = 0},
  [13171] = {.lex_state = 746, .external_lex_state = 2},
  [13172] = {.lex_state = 824, .external_lex_state = 65},
  [13173] = {.lex_state = 828, .external_lex_state = 65},
  [13174] = {.lex_state = 644, .external_lex_state = 68},
  [13175] = {.lex_state = 0},
  [13176] = {.lex_state = 828, .external_lex_state = 65},
  [13177] = {.lex_state = 828, .external_lex_state = 65},
  [13178] = {.lex_state = 828, .external_lex_state = 65},
  [13179] = {.lex_state = 0},
  [13180] = {.lex_state = 746, .external_lex_state = 2},
  [13181] = {.lex_state = 828, .external_lex_state = 65},
  [13182] = {.lex_state = 617, .external_lex_state = 55},
  [13183] = {.lex_state = 828, .external_lex_state = 65},
  [13184] = {.lex_state = 968, .external_lex_state = 70},
  [13185] = {.lex_state = 824, .external_lex_state = 65},
  [13186] = {.lex_state = 824, .external_lex_state = 65},
  [13187] = {.lex_state = 824, .external_lex_state = 65},
  [13188] = {.lex_state = 467, .external_lex_state = 39},
  [13189] = {.lex_state = 615, .external_lex_state = 54},
  [13190] = {.lex_state = 0},
  [13191] = {.lex_state = 615, .external_lex_state = 54},
  [13192] = {.lex_state = 615, .external_lex_state = 54},
  [13193] = {.lex_state = 615, .external_lex_state = 54},
  [13194] = {.lex_state = 0},
  [13195] = {.lex_state = 621, .external_lex_state = 56},
  [13196] = {.lex_state = 1138, .external_lex_state = 73},
  [13197] = {.lex_state = 842, .external_lex_state = 65},
  [13198] = {.lex_state = 842, .external_lex_state = 65},
  [13199] = {.lex_state = 842, .external_lex_state = 65},
  [13200] = {.lex_state = 842, .external_lex_state = 65},
  [13201] = {.lex_state = 842, .external_lex_state = 65},
  [13202] = {.lex_state = 585},
  [13203] = {.lex_state = 842, .external_lex_state = 65},
  [13204] = {.lex_state = 842, .external_lex_state = 65},
  [13205] = {.lex_state = 0},
  [13206] = {.lex_state = 565, .external_lex_state = 2},
  [13207] = {.lex_state = 565, .external_lex_state = 2},
  [13208] = {.lex_state = 842, .external_lex_state = 65},
  [13209] = {.lex_state = 0},
  [13210] = {.lex_state = 842, .external_lex_state = 65},
  [13211] = {.lex_state = 0},
  [13212] = {.lex_state = 842, .external_lex_state = 65},
  [13213] = {.lex_state = 0},
  [13214] = {.lex_state = 0},
  [13215] = {.lex_state = 985, .external_lex_state = 2},
  [13216] = {.lex_state = 842, .external_lex_state = 65},
  [13217] = {.lex_state = 0},
  [13218] = {.lex_state = 0},
  [13219] = {.lex_state = 842, .external_lex_state = 65},
  [13220] = {.lex_state = 0},
  [13221] = {.lex_state = 842, .external_lex_state = 65},
  [13222] = {.lex_state = 0},
  [13223] = {.lex_state = 746, .external_lex_state = 2},
  [13224] = {.lex_state = 842, .external_lex_state = 65},
  [13225] = {.lex_state = 0},
  [13226] = {.lex_state = 842, .external_lex_state = 65},
  [13227] = {.lex_state = 467, .external_lex_state = 2},
  [13228] = {.lex_state = 467, .external_lex_state = 39},
  [13229] = {.lex_state = 842, .external_lex_state = 65},
  [13230] = {.lex_state = 838, .external_lex_state = 73},
  [13231] = {.lex_state = 545, .external_lex_state = 6},
  [13232] = {.lex_state = 828, .external_lex_state = 65},
  [13233] = {.lex_state = 828, .external_lex_state = 65},
  [13234] = {.lex_state = 0},
  [13235] = {.lex_state = 828, .external_lex_state = 65},
  [13236] = {.lex_state = 0},
  [13237] = {.lex_state = 828, .external_lex_state = 65},
  [13238] = {.lex_state = 828, .external_lex_state = 65},
  [13239] = {.lex_state = 0},
  [13240] = {.lex_state = 0},
  [13241] = {.lex_state = 828, .external_lex_state = 65},
  [13242] = {.lex_state = 0},
  [13243] = {.lex_state = 828, .external_lex_state = 65},
  [13244] = {.lex_state = 828, .external_lex_state = 65},
  [13245] = {.lex_state = 828, .external_lex_state = 65},
  [13246] = {.lex_state = 0},
  [13247] = {.lex_state = 623, .external_lex_state = 54},
  [13248] = {.lex_state = 0},
  [13249] = {.lex_state = 828, .external_lex_state = 65},
  [13250] = {.lex_state = 828, .external_lex_state = 65},
  [13251] = {.lex_state = 842, .external_lex_state = 65},
  [13252] = {.lex_state = 842, .external_lex_state = 65},
  [13253] = {.lex_state = 828, .external_lex_state = 65},
  [13254] = {.lex_state = 467, .external_lex_state = 39},
  [13255] = {.lex_state = 467, .external_lex_state = 2},
  [13256] = {.lex_state = 629, .external_lex_state = 57},
  [13257] = {.lex_state = 467, .external_lex_state = 2},
  [13258] = {.lex_state = 467, .external_lex_state = 39},
  [13259] = {.lex_state = 1160, .external_lex_state = 42},
  [13260] = {.lex_state = 968, .external_lex_state = 70},
  [13261] = {.lex_state = 1158, .external_lex_state = 42},
  [13262] = {.lex_state = 968, .external_lex_state = 70},
  [13263] = {.lex_state = 467, .external_lex_state = 39},
  [13264] = {.lex_state = 860, .external_lex_state = 45},
  [13265] = {.lex_state = 1346, .external_lex_state = 59},
  [13266] = {.lex_state = 862, .external_lex_state = 42},
  [13267] = {.lex_state = 862, .external_lex_state = 42},
  [13268] = {.lex_state = 862, .external_lex_state = 42},
  [13269] = {.lex_state = 862, .external_lex_state = 42},
  [13270] = {.lex_state = 862, .external_lex_state = 42},
  [13271] = {.lex_state = 585},
  [13272] = {.lex_state = 862, .external_lex_state = 42},
  [13273] = {.lex_state = 862, .external_lex_state = 42},
  [13274] = {.lex_state = 0},
  [13275] = {.lex_state = 565, .external_lex_state = 2},
  [13276] = {.lex_state = 565, .external_lex_state = 2},
  [13277] = {.lex_state = 862, .external_lex_state = 42},
  [13278] = {.lex_state = 0},
  [13279] = {.lex_state = 862, .external_lex_state = 42},
  [13280] = {.lex_state = 0},
  [13281] = {.lex_state = 862, .external_lex_state = 42},
  [13282] = {.lex_state = 0},
  [13283] = {.lex_state = 0},
  [13284] = {.lex_state = 985, .external_lex_state = 2},
  [13285] = {.lex_state = 862, .external_lex_state = 42},
  [13286] = {.lex_state = 0},
  [13287] = {.lex_state = 0},
  [13288] = {.lex_state = 862, .external_lex_state = 42},
  [13289] = {.lex_state = 0},
  [13290] = {.lex_state = 862, .external_lex_state = 42},
  [13291] = {.lex_state = 0},
  [13292] = {.lex_state = 746, .external_lex_state = 2},
  [13293] = {.lex_state = 862, .external_lex_state = 42},
  [13294] = {.lex_state = 0},
  [13295] = {.lex_state = 862, .external_lex_state = 42},
  [13296] = {.lex_state = 467, .external_lex_state = 2},
  [13297] = {.lex_state = 467, .external_lex_state = 39},
  [13298] = {.lex_state = 1170, .external_lex_state = 42},
  [13299] = {.lex_state = 862, .external_lex_state = 42},
  [13300] = {.lex_state = 0},
  [13301] = {.lex_state = 1166, .external_lex_state = 42},
  [13302] = {.lex_state = 862, .external_lex_state = 42},
  [13303] = {.lex_state = 862, .external_lex_state = 42},
  [13304] = {.lex_state = 467, .external_lex_state = 39},
  [13305] = {.lex_state = 769, .external_lex_state = 42},
  [13306] = {.lex_state = 635, .external_lex_state = 20},
  [13307] = {.lex_state = 635, .external_lex_state = 20},
  [13308] = {.lex_state = 777, .external_lex_state = 42},
  [13309] = {.lex_state = 777, .external_lex_state = 42},
  [13310] = {.lex_state = 777, .external_lex_state = 42},
  [13311] = {.lex_state = 777, .external_lex_state = 42},
  [13312] = {.lex_state = 0},
  [13313] = {.lex_state = 777, .external_lex_state = 42},
  [13314] = {.lex_state = 777, .external_lex_state = 42},
  [13315] = {.lex_state = 646, .external_lex_state = 20},
  [13316] = {.lex_state = 777, .external_lex_state = 42},
  [13317] = {.lex_state = 1174, .external_lex_state = 30},
  [13318] = {.lex_state = 467, .external_lex_state = 2},
  [13319] = {.lex_state = 467, .external_lex_state = 39},
  [13320] = {.lex_state = 1178, .external_lex_state = 42},
  [13321] = {.lex_state = 1176, .external_lex_state = 42},
  [13322] = {.lex_state = 467, .external_lex_state = 39},
  [13323] = {.lex_state = 884, .external_lex_state = 29},
  [13324] = {.lex_state = 467, .external_lex_state = 2},
  [13325] = {.lex_state = 467, .external_lex_state = 39},
  [13326] = {.lex_state = 1182, .external_lex_state = 42},
  [13327] = {.lex_state = 886, .external_lex_state = 20},
  [13328] = {.lex_state = 0},
  [13329] = {.lex_state = 1180, .external_lex_state = 42},
  [13330] = {.lex_state = 467, .external_lex_state = 39},
  [13331] = {.lex_state = 467, .external_lex_state = 2},
  [13332] = {.lex_state = 900, .external_lex_state = 7},
  [13333] = {.lex_state = 900, .external_lex_state = 7},
  [13334] = {.lex_state = 0},
  [13335] = {.lex_state = 746, .external_lex_state = 2},
  [13336] = {.lex_state = 467, .external_lex_state = 2},
  [13337] = {.lex_state = 900, .external_lex_state = 7},
  [13338] = {.lex_state = 900, .external_lex_state = 7},
  [13339] = {.lex_state = 1208, .external_lex_state = 42},
  [13340] = {.lex_state = 968, .external_lex_state = 70},
  [13341] = {.lex_state = 968, .external_lex_state = 12},
  [13342] = {.lex_state = 1208, .external_lex_state = 42},
  [13343] = {.lex_state = 467, .external_lex_state = 2},
  [13344] = {.lex_state = 467, .external_lex_state = 39},
  [13345] = {.lex_state = 1208, .external_lex_state = 42},
  [13346] = {.lex_state = 968, .external_lex_state = 70},
  [13347] = {.lex_state = 1192, .external_lex_state = 42},
  [13348] = {.lex_state = 467, .external_lex_state = 39},
  [13349] = {.lex_state = 912, .external_lex_state = 4},
  [13350] = {.lex_state = 467, .external_lex_state = 39},
  [13351] = {.lex_state = 906, .external_lex_state = 10},
  [13352] = {.lex_state = 924, .external_lex_state = 4},
  [13353] = {.lex_state = 467, .external_lex_state = 39},
  [13354] = {.lex_state = 1200, .external_lex_state = 13},
  [13355] = {.lex_state = 968, .external_lex_state = 70},
  [13356] = {.lex_state = 1202, .external_lex_state = 42},
  [13357] = {.lex_state = 1216, .external_lex_state = 42},
  [13358] = {.lex_state = 1216, .external_lex_state = 42},
  [13359] = {.lex_state = 1216, .external_lex_state = 42},
  [13360] = {.lex_state = 1216, .external_lex_state = 42},
  [13361] = {.lex_state = 1216, .external_lex_state = 42},
  [13362] = {.lex_state = 1216, .external_lex_state = 42},
  [13363] = {.lex_state = 1116, .external_lex_state = 30},
  [13364] = {.lex_state = 1216, .external_lex_state = 42},
  [13365] = {.lex_state = 1216, .external_lex_state = 42},
  [13366] = {.lex_state = 1216, .external_lex_state = 42},
  [13367] = {.lex_state = 1216, .external_lex_state = 42},
  [13368] = {.lex_state = 1216, .external_lex_state = 42},
  [13369] = {.lex_state = 1216, .external_lex_state = 42},
  [13370] = {.lex_state = 1216, .external_lex_state = 42},
  [13371] = {.lex_state = 1216, .external_lex_state = 42},
  [13372] = {.lex_state = 968, .external_lex_state = 70},
  [13373] = {.lex_state = 467, .external_lex_state = 39},
  [13374] = {.lex_state = 687, .external_lex_state = 33},
  [13375] = {.lex_state = 607, .external_lex_state = 33},
  [13376] = {.lex_state = 545, .external_lex_state = 6},
  [13377] = {.lex_state = 1208, .external_lex_state = 42},
  [13378] = {.lex_state = 1208, .external_lex_state = 42},
  [13379] = {.lex_state = 0},
  [13380] = {.lex_state = 1208, .external_lex_state = 42},
  [13381] = {.lex_state = 0},
  [13382] = {.lex_state = 1208, .external_lex_state = 42},
  [13383] = {.lex_state = 1208, .external_lex_state = 42},
  [13384] = {.lex_state = 1208, .external_lex_state = 42},
  [13385] = {.lex_state = 617, .external_lex_state = 55},
  [13386] = {.lex_state = 1208, .external_lex_state = 42},
  [13387] = {.lex_state = 968, .external_lex_state = 70},
  [13388] = {.lex_state = 1208, .external_lex_state = 42},
  [13389] = {.lex_state = 0},
  [13390] = {.lex_state = 0},
  [13391] = {.lex_state = 1208, .external_lex_state = 42},
  [13392] = {.lex_state = 0},
  [13393] = {.lex_state = 1208, .external_lex_state = 42},
  [13394] = {.lex_state = 1208, .external_lex_state = 42},
  [13395] = {.lex_state = 1208, .external_lex_state = 42},
  [13396] = {.lex_state = 0},
  [13397] = {.lex_state = 1208, .external_lex_state = 42},
  [13398] = {.lex_state = 1208, .external_lex_state = 42},
  [13399] = {.lex_state = 1208, .external_lex_state = 42},
  [13400] = {.lex_state = 0},
  [13401] = {.lex_state = 746, .external_lex_state = 2},
  [13402] = {.lex_state = 1214, .external_lex_state = 42},
  [13403] = {.lex_state = 1208, .external_lex_state = 42},
  [13404] = {.lex_state = 467, .external_lex_state = 39},
  [13405] = {.lex_state = 467, .external_lex_state = 2},
  [13406] = {.lex_state = 467, .external_lex_state = 39},
  [13407] = {.lex_state = 1220, .external_lex_state = 4},
  [13408] = {.lex_state = 968, .external_lex_state = 70},
  [13409] = {.lex_state = 1218, .external_lex_state = 4},
  [13410] = {.lex_state = 467, .external_lex_state = 39},
  [13411] = {.lex_state = 968, .external_lex_state = 70},
  [13412] = {.lex_state = 1226, .external_lex_state = 42},
  [13413] = {.lex_state = 467, .external_lex_state = 39},
  [13414] = {.lex_state = 1228, .external_lex_state = 46},
  [13415] = {.lex_state = 467, .external_lex_state = 39},
  [13416] = {.lex_state = 708, .external_lex_state = 4},
  [13417] = {.lex_state = 976, .external_lex_state = 4},
  [13418] = {.lex_state = 467, .external_lex_state = 39},
  [13419] = {.lex_state = 1356, .external_lex_state = 4},
  [13420] = {.lex_state = 1356, .external_lex_state = 4},
  [13421] = {.lex_state = 1356, .external_lex_state = 4},
  [13422] = {.lex_state = 1356, .external_lex_state = 4},
  [13423] = {.lex_state = 1356, .external_lex_state = 4},
  [13424] = {.lex_state = 1356, .external_lex_state = 4},
  [13425] = {.lex_state = 1116, .external_lex_state = 30},
  [13426] = {.lex_state = 1356, .external_lex_state = 4},
  [13427] = {.lex_state = 1356, .external_lex_state = 4},
  [13428] = {.lex_state = 1356, .external_lex_state = 4},
  [13429] = {.lex_state = 1356, .external_lex_state = 4},
  [13430] = {.lex_state = 1356, .external_lex_state = 4},
  [13431] = {.lex_state = 1356, .external_lex_state = 4},
  [13432] = {.lex_state = 1356, .external_lex_state = 4},
  [13433] = {.lex_state = 1356, .external_lex_state = 4},
  [13434] = {.lex_state = 1354, .external_lex_state = 4},
  [13435] = {.lex_state = 968, .external_lex_state = 70},
  [13436] = {.lex_state = 968, .external_lex_state = 12},
  [13437] = {.lex_state = 1354, .external_lex_state = 4},
  [13438] = {.lex_state = 467, .external_lex_state = 2},
  [13439] = {.lex_state = 1362, .external_lex_state = 4},
  [13440] = {.lex_state = 968, .external_lex_state = 70},
  [13441] = {.lex_state = 968, .external_lex_state = 12},
  [13442] = {.lex_state = 1362, .external_lex_state = 4},
  [13443] = {.lex_state = 968, .external_lex_state = 70},
  [13444] = {.lex_state = 467, .external_lex_state = 39},
  [13445] = {.lex_state = 1354, .external_lex_state = 4},
  [13446] = {.lex_state = 982, .external_lex_state = 2},
  [13447] = {.lex_state = 617, .external_lex_state = 55},
  [13448] = {.lex_state = 0},
  [13449] = {.lex_state = 1237, .external_lex_state = 13},
  [13450] = {.lex_state = 1364, .external_lex_state = 4},
  [13451] = {.lex_state = 1364, .external_lex_state = 4},
  [13452] = {.lex_state = 1364, .external_lex_state = 4},
  [13453] = {.lex_state = 1364, .external_lex_state = 4},
  [13454] = {.lex_state = 1364, .external_lex_state = 4},
  [13455] = {.lex_state = 1364, .external_lex_state = 4},
  [13456] = {.lex_state = 1116, .external_lex_state = 30},
  [13457] = {.lex_state = 1364, .external_lex_state = 4},
  [13458] = {.lex_state = 1364, .external_lex_state = 4},
  [13459] = {.lex_state = 1364, .external_lex_state = 4},
  [13460] = {.lex_state = 1364, .external_lex_state = 4},
  [13461] = {.lex_state = 1364, .external_lex_state = 4},
  [13462] = {.lex_state = 1364, .external_lex_state = 4},
  [13463] = {.lex_state = 1364, .external_lex_state = 4},
  [13464] = {.lex_state = 1364, .external_lex_state = 4},
  [13465] = {.lex_state = 467, .external_lex_state = 2},
  [13466] = {.lex_state = 968, .external_lex_state = 70},
  [13467] = {.lex_state = 467, .external_lex_state = 39},
  [13468] = {.lex_state = 1362, .external_lex_state = 4},
  [13469] = {.lex_state = 1408, .external_lex_state = 13},
  [13470] = {.lex_state = 1408, .external_lex_state = 13},
  [13471] = {.lex_state = 1408, .external_lex_state = 13},
  [13472] = {.lex_state = 1408, .external_lex_state = 13},
  [13473] = {.lex_state = 1408, .external_lex_state = 13},
  [13474] = {.lex_state = 1408, .external_lex_state = 13},
  [13475] = {.lex_state = 1116, .external_lex_state = 30},
  [13476] = {.lex_state = 1408, .external_lex_state = 13},
  [13477] = {.lex_state = 1408, .external_lex_state = 13},
  [13478] = {.lex_state = 1408, .external_lex_state = 13},
  [13479] = {.lex_state = 1408, .external_lex_state = 13},
  [13480] = {.lex_state = 1408, .external_lex_state = 13},
  [13481] = {.lex_state = 467, .external_lex_state = 39},
  [13482] = {.lex_state = 1408, .external_lex_state = 13},
  [13483] = {.lex_state = 1408, .external_lex_state = 13},
  [13484] = {.lex_state = 989, .external_lex_state = 4},
  [13485] = {.lex_state = 467, .external_lex_state = 39},
  [13486] = {.lex_state = 1241, .external_lex_state = 13},
  [13487] = {.lex_state = 1370, .external_lex_state = 4},
  [13488] = {.lex_state = 1370, .external_lex_state = 4},
  [13489] = {.lex_state = 1370, .external_lex_state = 4},
  [13490] = {.lex_state = 1370, .external_lex_state = 4},
  [13491] = {.lex_state = 1370, .external_lex_state = 4},
  [13492] = {.lex_state = 1370, .external_lex_state = 4},
  [13493] = {.lex_state = 1116, .external_lex_state = 30},
  [13494] = {.lex_state = 1370, .external_lex_state = 4},
  [13495] = {.lex_state = 1370, .external_lex_state = 4},
  [13496] = {.lex_state = 1370, .external_lex_state = 4},
  [13497] = {.lex_state = 1370, .external_lex_state = 4},
  [13498] = {.lex_state = 1370, .external_lex_state = 4},
  [13499] = {.lex_state = 1370, .external_lex_state = 4},
  [13500] = {.lex_state = 1370, .external_lex_state = 4},
  [13501] = {.lex_state = 1370, .external_lex_state = 4},
  [13502] = {.lex_state = 1368, .external_lex_state = 4},
  [13503] = {.lex_state = 968, .external_lex_state = 70},
  [13504] = {.lex_state = 968, .external_lex_state = 12},
  [13505] = {.lex_state = 1368, .external_lex_state = 4},
  [13506] = {.lex_state = 467, .external_lex_state = 2},
  [13507] = {.lex_state = 1376, .external_lex_state = 4},
  [13508] = {.lex_state = 968, .external_lex_state = 70},
  [13509] = {.lex_state = 968, .external_lex_state = 12},
  [13510] = {.lex_state = 1376, .external_lex_state = 4},
  [13511] = {.lex_state = 968, .external_lex_state = 70},
  [13512] = {.lex_state = 467, .external_lex_state = 39},
  [13513] = {.lex_state = 1368, .external_lex_state = 4},
  [13514] = {.lex_state = 996, .external_lex_state = 2},
  [13515] = {.lex_state = 1248, .external_lex_state = 13},
  [13516] = {.lex_state = 1378, .external_lex_state = 4},
  [13517] = {.lex_state = 1378, .external_lex_state = 4},
  [13518] = {.lex_state = 1378, .external_lex_state = 4},
  [13519] = {.lex_state = 1378, .external_lex_state = 4},
  [13520] = {.lex_state = 1378, .external_lex_state = 4},
  [13521] = {.lex_state = 1378, .external_lex_state = 4},
  [13522] = {.lex_state = 1116, .external_lex_state = 30},
  [13523] = {.lex_state = 1378, .external_lex_state = 4},
  [13524] = {.lex_state = 1378, .external_lex_state = 4},
  [13525] = {.lex_state = 1378, .external_lex_state = 4},
  [13526] = {.lex_state = 1378, .external_lex_state = 4},
  [13527] = {.lex_state = 1378, .external_lex_state = 4},
  [13528] = {.lex_state = 1378, .external_lex_state = 4},
  [13529] = {.lex_state = 1378, .external_lex_state = 4},
  [13530] = {.lex_state = 1378, .external_lex_state = 4},
  [13531] = {.lex_state = 467, .external_lex_state = 2},
  [13532] = {.lex_state = 968, .external_lex_state = 70},
  [13533] = {.lex_state = 467, .external_lex_state = 39},
  [13534] = {.lex_state = 1376, .external_lex_state = 4},
  [13535] = {.lex_state = 1410, .external_lex_state = 13},
  [13536] = {.lex_state = 1410, .external_lex_state = 13},
  [13537] = {.lex_state = 1410, .external_lex_state = 13},
  [13538] = {.lex_state = 1410, .external_lex_state = 13},
  [13539] = {.lex_state = 1410, .external_lex_state = 13},
  [13540] = {.lex_state = 1410, .external_lex_state = 13},
  [13541] = {.lex_state = 1116, .external_lex_state = 30},
  [13542] = {.lex_state = 1410, .external_lex_state = 13},
  [13543] = {.lex_state = 1410, .external_lex_state = 13},
  [13544] = {.lex_state = 1410, .external_lex_state = 13},
  [13545] = {.lex_state = 1410, .external_lex_state = 13},
  [13546] = {.lex_state = 1410, .external_lex_state = 13},
  [13547] = {.lex_state = 467, .external_lex_state = 39},
  [13548] = {.lex_state = 1410, .external_lex_state = 13},
  [13549] = {.lex_state = 1410, .external_lex_state = 13},
  [13550] = {.lex_state = 1000, .external_lex_state = 4},
  [13551] = {.lex_state = 467, .external_lex_state = 39},
  [13552] = {.lex_state = 1008, .external_lex_state = 4},
  [13553] = {.lex_state = 467, .external_lex_state = 39},
  [13554] = {.lex_state = 1252, .external_lex_state = 13},
  [13555] = {.lex_state = 968, .external_lex_state = 70},
  [13556] = {.lex_state = 1254, .external_lex_state = 42},
  [13557] = {.lex_state = 1256, .external_lex_state = 42},
  [13558] = {.lex_state = 1256, .external_lex_state = 42},
  [13559] = {.lex_state = 1256, .external_lex_state = 42},
  [13560] = {.lex_state = 1256, .external_lex_state = 42},
  [13561] = {.lex_state = 1256, .external_lex_state = 42},
  [13562] = {.lex_state = 1256, .external_lex_state = 42},
  [13563] = {.lex_state = 1116, .external_lex_state = 30},
  [13564] = {.lex_state = 1256, .external_lex_state = 42},
  [13565] = {.lex_state = 1256, .external_lex_state = 42},
  [13566] = {.lex_state = 1256, .external_lex_state = 42},
  [13567] = {.lex_state = 1256, .external_lex_state = 42},
  [13568] = {.lex_state = 1256, .external_lex_state = 42},
  [13569] = {.lex_state = 1256, .external_lex_state = 42},
  [13570] = {.lex_state = 1256, .external_lex_state = 42},
  [13571] = {.lex_state = 1256, .external_lex_state = 42},
  [13572] = {.lex_state = 968, .external_lex_state = 70},
  [13573] = {.lex_state = 467, .external_lex_state = 39},
  [13574] = {.lex_state = 1016, .external_lex_state = 42},
  [13575] = {.lex_state = 467, .external_lex_state = 39},
  [13576] = {.lex_state = 1026, .external_lex_state = 4},
  [13577] = {.lex_state = 467, .external_lex_state = 39},
  [13578] = {.lex_state = 467, .external_lex_state = 2},
  [13579] = {.lex_state = 467, .external_lex_state = 39},
  [13580] = {.lex_state = 1262, .external_lex_state = 4},
  [13581] = {.lex_state = 1260, .external_lex_state = 4},
  [13582] = {.lex_state = 467, .external_lex_state = 39},
  [13583] = {.lex_state = 1414, .external_lex_state = 4},
  [13584] = {.lex_state = 1414, .external_lex_state = 4},
  [13585] = {.lex_state = 1414, .external_lex_state = 4},
  [13586] = {.lex_state = 467, .external_lex_state = 2},
  [13587] = {.lex_state = 467, .external_lex_state = 2},
  [13588] = {.lex_state = 467, .external_lex_state = 2},
  [13589] = {.lex_state = 467, .external_lex_state = 2},
  [13590] = {.lex_state = 467, .external_lex_state = 2},
  [13591] = {.lex_state = 467, .external_lex_state = 2},
  [13592] = {.lex_state = 467, .external_lex_state = 2},
  [13593] = {.lex_state = 467, .external_lex_state = 2},
  [13594] = {.lex_state = 467, .external_lex_state = 2},
  [13595] = {.lex_state = 467, .external_lex_state = 2},
  [13596] = {.lex_state = 467, .external_lex_state = 2},
  [13597] = {.lex_state = 467, .external_lex_state = 2},
  [13598] = {.lex_state = 467, .external_lex_state = 39},
  [13599] = {.lex_state = 467, .external_lex_state = 2},
  [13600] = {.lex_state = 1412, .external_lex_state = 4},
  [13601] = {.lex_state = 1412, .external_lex_state = 4},
  [13602] = {.lex_state = 1412, .external_lex_state = 4},
  [13603] = {.lex_state = 467, .external_lex_state = 2},
  [13604] = {.lex_state = 968, .external_lex_state = 12},
  [13605] = {.lex_state = 1412, .external_lex_state = 4},
  [13606] = {.lex_state = 467, .external_lex_state = 2},
  [13607] = {.lex_state = 1414, .external_lex_state = 4},
  [13608] = {.lex_state = 1412, .external_lex_state = 4},
  [13609] = {.lex_state = 1412, .external_lex_state = 4},
  [13610] = {.lex_state = 1412, .external_lex_state = 4},
  [13611] = {.lex_state = 1412, .external_lex_state = 4},
  [13612] = {.lex_state = 1412, .external_lex_state = 4},
  [13613] = {.lex_state = 1412, .external_lex_state = 4},
  [13614] = {.lex_state = 1116, .external_lex_state = 30},
  [13615] = {.lex_state = 1412, .external_lex_state = 4},
  [13616] = {.lex_state = 1412, .external_lex_state = 4},
  [13617] = {.lex_state = 1412, .external_lex_state = 4},
  [13618] = {.lex_state = 1412, .external_lex_state = 4},
  [13619] = {.lex_state = 1412, .external_lex_state = 4},
  [13620] = {.lex_state = 1420, .external_lex_state = 4},
  [13621] = {.lex_state = 1420, .external_lex_state = 4},
  [13622] = {.lex_state = 1420, .external_lex_state = 4},
  [13623] = {.lex_state = 467, .external_lex_state = 2},
  [13624] = {.lex_state = 968, .external_lex_state = 12},
  [13625] = {.lex_state = 1420, .external_lex_state = 4},
  [13626] = {.lex_state = 467, .external_lex_state = 2},
  [13627] = {.lex_state = 968, .external_lex_state = 70},
  [13628] = {.lex_state = 968, .external_lex_state = 12},
  [13629] = {.lex_state = 1412, .external_lex_state = 4},
  [13630] = {.lex_state = 1412, .external_lex_state = 4},
  [13631] = {.lex_state = 1412, .external_lex_state = 4},
  [13632] = {.lex_state = 1414, .external_lex_state = 4},
  [13633] = {.lex_state = 1268, .external_lex_state = 2},
  [13634] = {.lex_state = 617, .external_lex_state = 55},
  [13635] = {.lex_state = 467, .external_lex_state = 2},
  [13636] = {.lex_state = 1422, .external_lex_state = 4},
  [13637] = {.lex_state = 1422, .external_lex_state = 4},
  [13638] = {.lex_state = 1422, .external_lex_state = 4},
  [13639] = {.lex_state = 467, .external_lex_state = 2},
  [13640] = {.lex_state = 467, .external_lex_state = 2},
  [13641] = {.lex_state = 467, .external_lex_state = 2},
  [13642] = {.lex_state = 467, .external_lex_state = 2},
  [13643] = {.lex_state = 467, .external_lex_state = 2},
  [13644] = {.lex_state = 467, .external_lex_state = 2},
  [13645] = {.lex_state = 467, .external_lex_state = 2},
  [13646] = {.lex_state = 467, .external_lex_state = 2},
  [13647] = {.lex_state = 467, .external_lex_state = 2},
  [13648] = {.lex_state = 467, .external_lex_state = 2},
  [13649] = {.lex_state = 467, .external_lex_state = 2},
  [13650] = {.lex_state = 467, .external_lex_state = 2},
  [13651] = {.lex_state = 467, .external_lex_state = 39},
  [13652] = {.lex_state = 467, .external_lex_state = 2},
  [13653] = {.lex_state = 1422, .external_lex_state = 4},
  [13654] = {.lex_state = 1420, .external_lex_state = 4},
  [13655] = {.lex_state = 1420, .external_lex_state = 4},
  [13656] = {.lex_state = 1420, .external_lex_state = 4},
  [13657] = {.lex_state = 1420, .external_lex_state = 4},
  [13658] = {.lex_state = 1420, .external_lex_state = 4},
  [13659] = {.lex_state = 1420, .external_lex_state = 4},
  [13660] = {.lex_state = 1116, .external_lex_state = 30},
  [13661] = {.lex_state = 1420, .external_lex_state = 4},
  [13662] = {.lex_state = 1420, .external_lex_state = 4},
  [13663] = {.lex_state = 1420, .external_lex_state = 4},
  [13664] = {.lex_state = 1420, .external_lex_state = 4},
  [13665] = {.lex_state = 1420, .external_lex_state = 4},
  [13666] = {.lex_state = 968, .external_lex_state = 70},
  [13667] = {.lex_state = 968, .external_lex_state = 12},
  [13668] = {.lex_state = 1420, .external_lex_state = 4},
  [13669] = {.lex_state = 1420, .external_lex_state = 4},
  [13670] = {.lex_state = 1420, .external_lex_state = 4},
  [13671] = {.lex_state = 1422, .external_lex_state = 4},
  [13672] = {.lex_state = 1428, .external_lex_state = 13},
  [13673] = {.lex_state = 1428, .external_lex_state = 13},
  [13674] = {.lex_state = 1428, .external_lex_state = 13},
  [13675] = {.lex_state = 1428, .external_lex_state = 13},
  [13676] = {.lex_state = 467, .external_lex_state = 2},
  [13677] = {.lex_state = 467, .external_lex_state = 2},
  [13678] = {.lex_state = 467, .external_lex_state = 2},
  [13679] = {.lex_state = 467, .external_lex_state = 2},
  [13680] = {.lex_state = 467, .external_lex_state = 2},
  [13681] = {.lex_state = 467, .external_lex_state = 2},
  [13682] = {.lex_state = 467, .external_lex_state = 2},
  [13683] = {.lex_state = 467, .external_lex_state = 2},
  [13684] = {.lex_state = 467, .external_lex_state = 2},
  [13685] = {.lex_state = 467, .external_lex_state = 2},
  [13686] = {.lex_state = 467, .external_lex_state = 2},
  [13687] = {.lex_state = 467, .external_lex_state = 2},
  [13688] = {.lex_state = 467, .external_lex_state = 39},
  [13689] = {.lex_state = 1428, .external_lex_state = 13},
  [13690] = {.lex_state = 467, .external_lex_state = 39},
  [13691] = {.lex_state = 467, .external_lex_state = 2},
  [13692] = {.lex_state = 467, .external_lex_state = 2},
  [13693] = {.lex_state = 467, .external_lex_state = 39},
  [13694] = {.lex_state = 1272, .external_lex_state = 4},
  [13695] = {.lex_state = 1270, .external_lex_state = 4},
  [13696] = {.lex_state = 467, .external_lex_state = 39},
  [13697] = {.lex_state = 1040, .external_lex_state = 4},
  [13698] = {.lex_state = 467, .external_lex_state = 39},
  [13699] = {.lex_state = 1276, .external_lex_state = 13},
  [13700] = {.lex_state = 1046, .external_lex_state = 4},
  [13701] = {.lex_state = 467, .external_lex_state = 39},
  [13702] = {.lex_state = 1278, .external_lex_state = 71},
  [13703] = {.lex_state = 700, .external_lex_state = 35},
  [13704] = {.lex_state = 0},
  [13705] = {.lex_state = 1426, .external_lex_state = 4},
  [13706] = {.lex_state = 1426, .external_lex_state = 4},
  [13707] = {.lex_state = 1426, .external_lex_state = 4},
  [13708] = {.lex_state = 467, .external_lex_state = 2},
  [13709] = {.lex_state = 968, .external_lex_state = 12},
  [13710] = {.lex_state = 1426, .external_lex_state = 4},
  [13711] = {.lex_state = 467, .external_lex_state = 2},
  [13712] = {.lex_state = 1426, .external_lex_state = 4},
  [13713] = {.lex_state = 1426, .external_lex_state = 4},
  [13714] = {.lex_state = 1426, .external_lex_state = 4},
  [13715] = {.lex_state = 1426, .external_lex_state = 4},
  [13716] = {.lex_state = 1426, .external_lex_state = 4},
  [13717] = {.lex_state = 1426, .external_lex_state = 4},
  [13718] = {.lex_state = 1116, .external_lex_state = 30},
  [13719] = {.lex_state = 1426, .external_lex_state = 4},
  [13720] = {.lex_state = 1426, .external_lex_state = 4},
  [13721] = {.lex_state = 1426, .external_lex_state = 4},
  [13722] = {.lex_state = 1426, .external_lex_state = 4},
  [13723] = {.lex_state = 1426, .external_lex_state = 4},
  [13724] = {.lex_state = 1426, .external_lex_state = 4},
  [13725] = {.lex_state = 1426, .external_lex_state = 4},
  [13726] = {.lex_state = 1426, .external_lex_state = 4},
  [13727] = {.lex_state = 1392, .external_lex_state = 71},
  [13728] = {.lex_state = 1278, .external_lex_state = 71},
  [13729] = {.lex_state = 1390, .external_lex_state = 4},
  [13730] = {.lex_state = 968, .external_lex_state = 70},
  [13731] = {.lex_state = 968, .external_lex_state = 12},
  [13732] = {.lex_state = 1390, .external_lex_state = 4},
  [13733] = {.lex_state = 1278, .external_lex_state = 71},
  [13734] = {.lex_state = 0},
  [13735] = {.lex_state = 746, .external_lex_state = 2},
  [13736] = {.lex_state = 467, .external_lex_state = 2},
  [13737] = {.lex_state = 1392, .external_lex_state = 71},
  [13738] = {.lex_state = 617, .external_lex_state = 55},
  [13739] = {.lex_state = 1394, .external_lex_state = 71},
  [13740] = {.lex_state = 968, .external_lex_state = 70},
  [13741] = {.lex_state = 467, .external_lex_state = 39},
  [13742] = {.lex_state = 1390, .external_lex_state = 4},
  [13743] = {.lex_state = 467, .external_lex_state = 2},
  [13744] = {.lex_state = 467, .external_lex_state = 39},
  [13745] = {.lex_state = 1282, .external_lex_state = 4},
  [13746] = {.lex_state = 968, .external_lex_state = 70},
  [13747] = {.lex_state = 1280, .external_lex_state = 4},
  [13748] = {.lex_state = 968, .external_lex_state = 70},
  [13749] = {.lex_state = 467, .external_lex_state = 39},
  [13750] = {.lex_state = 467, .external_lex_state = 2},
  [13751] = {.lex_state = 467, .external_lex_state = 39},
  [13752] = {.lex_state = 1290, .external_lex_state = 4},
  [13753] = {.lex_state = 1288, .external_lex_state = 4},
  [13754] = {.lex_state = 467, .external_lex_state = 39},
  [13755] = {.lex_state = 467, .external_lex_state = 2},
  [13756] = {.lex_state = 467, .external_lex_state = 2},
  [13757] = {.lex_state = 467, .external_lex_state = 39},
  [13758] = {.lex_state = 1296, .external_lex_state = 4},
  [13759] = {.lex_state = 968, .external_lex_state = 70},
  [13760] = {.lex_state = 1294, .external_lex_state = 4},
  [13761] = {.lex_state = 968, .external_lex_state = 70},
  [13762] = {.lex_state = 467, .external_lex_state = 39},
  [13763] = {.lex_state = 467, .external_lex_state = 2},
  [13764] = {.lex_state = 467, .external_lex_state = 39},
  [13765] = {.lex_state = 1304, .external_lex_state = 4},
  [13766] = {.lex_state = 1302, .external_lex_state = 4},
  [13767] = {.lex_state = 467, .external_lex_state = 39},
  [13768] = {.lex_state = 467, .external_lex_state = 2},
  [13769] = {.lex_state = 1087, .external_lex_state = 4},
  [13770] = {.lex_state = 467, .external_lex_state = 39},
  [13771] = {.lex_state = 1308, .external_lex_state = 13},
  [13772] = {.lex_state = 467, .external_lex_state = 2},
  [13773] = {.lex_state = 467, .external_lex_state = 39},
  [13774] = {.lex_state = 1310, .external_lex_state = 42},
  [13775] = {.lex_state = 467, .external_lex_state = 2},
  [13776] = {.lex_state = 467, .external_lex_state = 39},
  [13777] = {.lex_state = 1312, .external_lex_state = 42},
  [13778] = {.lex_state = 769, .external_lex_state = 42},
  [13779] = {.lex_state = 769, .external_lex_state = 42},
  [13780] = {.lex_state = 777, .external_lex_state = 42},
  [13781] = {.lex_state = 631, .external_lex_state = 2},
  [13782] = {.lex_state = 585},
  [13783] = {.lex_state = 467, .external_lex_state = 2},
  [13784] = {.lex_state = 716, .external_lex_state = 45},
  [13785] = {.lex_state = 716, .external_lex_state = 45},
  [13786] = {.lex_state = 716, .external_lex_state = 45},
  [13787] = {.lex_state = 716, .external_lex_state = 45},
  [13788] = {.lex_state = 467, .external_lex_state = 2},
  [13789] = {.lex_state = 467, .external_lex_state = 2},
  [13790] = {.lex_state = 467, .external_lex_state = 2},
  [13791] = {.lex_state = 1220, .external_lex_state = 42},
  [13792] = {.lex_state = 722, .external_lex_state = 45},
  [13793] = {.lex_state = 549},
  [13794] = {.lex_state = 944, .external_lex_state = 42},
  [13795] = {.lex_state = 1220, .external_lex_state = 42},
  [13796] = {.lex_state = 970, .external_lex_state = 45},
  [13797] = {.lex_state = 970, .external_lex_state = 45},
  [13798] = {.lex_state = 970, .external_lex_state = 45},
  [13799] = {.lex_state = 970, .external_lex_state = 45},
  [13800] = {.lex_state = 1218, .external_lex_state = 42},
  [13801] = {.lex_state = 1220, .external_lex_state = 42},
  [13802] = {.lex_state = 467, .external_lex_state = 2},
  [13803] = {.lex_state = 467, .external_lex_state = 2},
  [13804] = {.lex_state = 467, .external_lex_state = 2},
  [13805] = {.lex_state = 972, .external_lex_state = 43},
  [13806] = {.lex_state = 1218, .external_lex_state = 42},
  [13807] = {.lex_state = 1218, .external_lex_state = 42},
  [13808] = {.lex_state = 638, .external_lex_state = 22},
  [13809] = {.lex_state = 1224, .external_lex_state = 41},
  [13810] = {.lex_state = 1218, .external_lex_state = 42},
  [13811] = {.lex_state = 1218, .external_lex_state = 42},
  [13812] = {.lex_state = 467, .external_lex_state = 2},
  [13813] = {.lex_state = 467, .external_lex_state = 2},
  [13814] = {.lex_state = 467, .external_lex_state = 2},
  [13815] = {.lex_state = 467, .external_lex_state = 2},
  [13816] = {.lex_state = 467, .external_lex_state = 2},
  [13817] = {.lex_state = 467, .external_lex_state = 2},
  [13818] = {.lex_state = 467, .external_lex_state = 2},
  [13819] = {.lex_state = 467, .external_lex_state = 2},
  [13820] = {.lex_state = 467, .external_lex_state = 2},
  [13821] = {.lex_state = 467, .external_lex_state = 2},
  [13822] = {.lex_state = 467, .external_lex_state = 2},
  [13823] = {.lex_state = 467, .external_lex_state = 2},
  [13824] = {.lex_state = 467, .external_lex_state = 2},
  [13825] = {.lex_state = 467, .external_lex_state = 2},
  [13826] = {.lex_state = 467, .external_lex_state = 2},
  [13827] = {.lex_state = 467, .external_lex_state = 2},
  [13828] = {.lex_state = 972, .external_lex_state = 43},
  [13829] = {.lex_state = 1006, .external_lex_state = 42},
  [13830] = {.lex_state = 1006, .external_lex_state = 42},
  [13831] = {.lex_state = 638, .external_lex_state = 22},
  [13832] = {.lex_state = 1010, .external_lex_state = 41},
  [13833] = {.lex_state = 968, .external_lex_state = 12},
  [13834] = {.lex_state = 1220, .external_lex_state = 42},
  [13835] = {.lex_state = 467, .external_lex_state = 39},
  [13836] = {.lex_state = 467, .external_lex_state = 2},
  [13837] = {.lex_state = 467, .external_lex_state = 2},
  [13838] = {.lex_state = 1350, .external_lex_state = 30},
  [13839] = {.lex_state = 1350, .external_lex_state = 30},
  [13840] = {.lex_state = 1350, .external_lex_state = 30},
  [13841] = {.lex_state = 1350, .external_lex_state = 30},
  [13842] = {.lex_state = 1350, .external_lex_state = 30},
  [13843] = {.lex_state = 1350, .external_lex_state = 30},
  [13844] = {.lex_state = 1116, .external_lex_state = 30},
  [13845] = {.lex_state = 1350, .external_lex_state = 30},
  [13846] = {.lex_state = 1350, .external_lex_state = 30},
  [13847] = {.lex_state = 1350, .external_lex_state = 30},
  [13848] = {.lex_state = 1350, .external_lex_state = 30},
  [13849] = {.lex_state = 1350, .external_lex_state = 30},
  [13850] = {.lex_state = 467, .external_lex_state = 2},
  [13851] = {.lex_state = 722, .external_lex_state = 45},
  [13852] = {.lex_state = 722, .external_lex_state = 45},
  [13853] = {.lex_state = 722, .external_lex_state = 45},
  [13854] = {.lex_state = 722, .external_lex_state = 45},
  [13855] = {.lex_state = 467, .external_lex_state = 2},
  [13856] = {.lex_state = 467, .external_lex_state = 2},
  [13857] = {.lex_state = 467, .external_lex_state = 2},
  [13858] = {.lex_state = 1008, .external_lex_state = 42},
  [13859] = {.lex_state = 722, .external_lex_state = 45},
  [13860] = {.lex_state = 549},
  [13861] = {.lex_state = 1008, .external_lex_state = 42},
  [13862] = {.lex_state = 1008, .external_lex_state = 42},
  [13863] = {.lex_state = 972, .external_lex_state = 45},
  [13864] = {.lex_state = 972, .external_lex_state = 45},
  [13865] = {.lex_state = 972, .external_lex_state = 45},
  [13866] = {.lex_state = 972, .external_lex_state = 45},
  [13867] = {.lex_state = 1006, .external_lex_state = 42},
  [13868] = {.lex_state = 1008, .external_lex_state = 42},
  [13869] = {.lex_state = 1006, .external_lex_state = 42},
  [13870] = {.lex_state = 1006, .external_lex_state = 42},
  [13871] = {.lex_state = 467, .external_lex_state = 2},
  [13872] = {.lex_state = 467, .external_lex_state = 2},
  [13873] = {.lex_state = 467, .external_lex_state = 2},
  [13874] = {.lex_state = 467, .external_lex_state = 2},
  [13875] = {.lex_state = 467, .external_lex_state = 2},
  [13876] = {.lex_state = 467, .external_lex_state = 2},
  [13877] = {.lex_state = 467, .external_lex_state = 2},
  [13878] = {.lex_state = 467, .external_lex_state = 2},
  [13879] = {.lex_state = 467, .external_lex_state = 2},
  [13880] = {.lex_state = 467, .external_lex_state = 2},
  [13881] = {.lex_state = 467, .external_lex_state = 2},
  [13882] = {.lex_state = 467, .external_lex_state = 2},
  [13883] = {.lex_state = 467, .external_lex_state = 2},
  [13884] = {.lex_state = 968, .external_lex_state = 12},
  [13885] = {.lex_state = 1008, .external_lex_state = 42},
  [13886] = {.lex_state = 467, .external_lex_state = 39},
  [13887] = {.lex_state = 467, .external_lex_state = 2},
  [13888] = {.lex_state = 467, .external_lex_state = 2},
  [13889] = {.lex_state = 467, .external_lex_state = 2},
  [13890] = {.lex_state = 1350, .external_lex_state = 30},
  [13891] = {.lex_state = 1350, .external_lex_state = 30},
  [13892] = {.lex_state = 1350, .external_lex_state = 30},
  [13893] = {.lex_state = 585},
  [13894] = {.lex_state = 585},
  [13895] = {.lex_state = 804},
  [13896] = {.lex_state = 0},
  [13897] = {.lex_state = 746, .external_lex_state = 11},
  [13898] = {.lex_state = 585},
  [13899] = {.lex_state = 585},
  [13900] = {.lex_state = 1324, .external_lex_state = 30},
  [13901] = {.lex_state = 467, .external_lex_state = 39},
  [13902] = {.lex_state = 467, .external_lex_state = 2},
  [13903] = {.lex_state = 467, .external_lex_state = 39},
  [13904] = {.lex_state = 1332, .external_lex_state = 42},
  [13905] = {.lex_state = 968, .external_lex_state = 70},
  [13906] = {.lex_state = 1330, .external_lex_state = 42},
  [13907] = {.lex_state = 968, .external_lex_state = 70},
  [13908] = {.lex_state = 467, .external_lex_state = 39},
  [13909] = {.lex_state = 467, .external_lex_state = 2},
  [13910] = {.lex_state = 467, .external_lex_state = 39},
  [13911] = {.lex_state = 1340, .external_lex_state = 42},
  [13912] = {.lex_state = 1338, .external_lex_state = 42},
  [13913] = {.lex_state = 467, .external_lex_state = 39},
  [13914] = {.lex_state = 467, .external_lex_state = 2},
  [13915] = {.lex_state = 575, .external_lex_state = 4},
  [13916] = {.lex_state = 575, .external_lex_state = 4},
  [13917] = {.lex_state = 575, .external_lex_state = 4},
  [13918] = {.lex_state = 575, .external_lex_state = 4},
  [13919] = {.lex_state = 0},
  [13920] = {.lex_state = 575, .external_lex_state = 4},
  [13921] = {.lex_state = 575, .external_lex_state = 4},
  [13922] = {.lex_state = 575, .external_lex_state = 4},
  [13923] = {.lex_state = 467, .external_lex_state = 2},
  [13924] = {.lex_state = 708, .external_lex_state = 4},
  [13925] = {.lex_state = 621, .external_lex_state = 52},
  [13926] = {.lex_state = 842, .external_lex_state = 49},
  [13927] = {.lex_state = 0},
  [13928] = {.lex_state = 824, .external_lex_state = 49},
  [13929] = {.lex_state = 824, .external_lex_state = 49},
  [13930] = {.lex_state = 828, .external_lex_state = 49},
  [13931] = {.lex_state = 842, .external_lex_state = 49},
  [13932] = {.lex_state = 842, .external_lex_state = 49},
  [13933] = {.lex_state = 842, .external_lex_state = 49},
  [13934] = {.lex_state = 842, .external_lex_state = 49},
  [13935] = {.lex_state = 0},
  [13936] = {.lex_state = 842, .external_lex_state = 49},
  [13937] = {.lex_state = 842, .external_lex_state = 49},
  [13938] = {.lex_state = 842, .external_lex_state = 49},
  [13939] = {.lex_state = 828, .external_lex_state = 49},
  [13940] = {.lex_state = 1144, .external_lex_state = 4},
  [13941] = {.lex_state = 467, .external_lex_state = 39},
  [13942] = {.lex_state = 1150, .external_lex_state = 4},
  [13943] = {.lex_state = 467, .external_lex_state = 39},
  [13944] = {.lex_state = 1344, .external_lex_state = 13},
  [13945] = {.lex_state = 615, .external_lex_state = 65},
  [13946] = {.lex_state = 842, .external_lex_state = 65},
  [13947] = {.lex_state = 621, .external_lex_state = 68},
  [13948] = {.lex_state = 0},
  [13949] = {.lex_state = 842, .external_lex_state = 65},
  [13950] = {.lex_state = 842, .external_lex_state = 65},
  [13951] = {.lex_state = 0},
  [13952] = {.lex_state = 746, .external_lex_state = 2},
  [13953] = {.lex_state = 467, .external_lex_state = 39},
  [13954] = {.lex_state = 824, .external_lex_state = 65},
  [13955] = {.lex_state = 824, .external_lex_state = 65},
  [13956] = {.lex_state = 824, .external_lex_state = 65},
  [13957] = {.lex_state = 824, .external_lex_state = 65},
  [13958] = {.lex_state = 0},
  [13959] = {.lex_state = 824, .external_lex_state = 65},
  [13960] = {.lex_state = 824, .external_lex_state = 65},
  [13961] = {.lex_state = 824, .external_lex_state = 65},
  [13962] = {.lex_state = 0},
  [13963] = {.lex_state = 644, .external_lex_state = 68},
  [13964] = {.lex_state = 828, .external_lex_state = 65},
  [13965] = {.lex_state = 0},
  [13966] = {.lex_state = 828, .external_lex_state = 65},
  [13967] = {.lex_state = 828, .external_lex_state = 65},
  [13968] = {.lex_state = 824, .external_lex_state = 65},
  [13969] = {.lex_state = 615, .external_lex_state = 54},
  [13970] = {.lex_state = 615, .external_lex_state = 54},
  [13971] = {.lex_state = 545, .external_lex_state = 6},
  [13972] = {.lex_state = 842, .external_lex_state = 65},
  [13973] = {.lex_state = 842, .external_lex_state = 65},
  [13974] = {.lex_state = 0},
  [13975] = {.lex_state = 842, .external_lex_state = 65},
  [13976] = {.lex_state = 0},
  [13977] = {.lex_state = 842, .external_lex_state = 65},
  [13978] = {.lex_state = 842, .external_lex_state = 65},
  [13979] = {.lex_state = 0},
  [13980] = {.lex_state = 0},
  [13981] = {.lex_state = 842, .external_lex_state = 65},
  [13982] = {.lex_state = 0},
  [13983] = {.lex_state = 842, .external_lex_state = 65},
  [13984] = {.lex_state = 842, .external_lex_state = 65},
  [13985] = {.lex_state = 842, .external_lex_state = 65},
  [13986] = {.lex_state = 0},
  [13987] = {.lex_state = 842, .external_lex_state = 65},
  [13988] = {.lex_state = 842, .external_lex_state = 65},
  [13989] = {.lex_state = 842, .external_lex_state = 65},
  [13990] = {.lex_state = 467, .external_lex_state = 39},
  [13991] = {.lex_state = 828, .external_lex_state = 65},
  [13992] = {.lex_state = 828, .external_lex_state = 65},
  [13993] = {.lex_state = 828, .external_lex_state = 65},
  [13994] = {.lex_state = 828, .external_lex_state = 65},
  [13995] = {.lex_state = 0},
  [13996] = {.lex_state = 828, .external_lex_state = 65},
  [13997] = {.lex_state = 828, .external_lex_state = 65},
  [13998] = {.lex_state = 623, .external_lex_state = 54},
  [13999] = {.lex_state = 828, .external_lex_state = 65},
  [14000] = {.lex_state = 629, .external_lex_state = 57},
  [14001] = {.lex_state = 1160, .external_lex_state = 42},
  [14002] = {.lex_state = 467, .external_lex_state = 39},
  [14003] = {.lex_state = 545, .external_lex_state = 6},
  [14004] = {.lex_state = 862, .external_lex_state = 42},
  [14005] = {.lex_state = 862, .external_lex_state = 42},
  [14006] = {.lex_state = 0},
  [14007] = {.lex_state = 862, .external_lex_state = 42},
  [14008] = {.lex_state = 0},
  [14009] = {.lex_state = 862, .external_lex_state = 42},
  [14010] = {.lex_state = 862, .external_lex_state = 42},
  [14011] = {.lex_state = 0},
  [14012] = {.lex_state = 0},
  [14013] = {.lex_state = 862, .external_lex_state = 42},
  [14014] = {.lex_state = 0},
  [14015] = {.lex_state = 862, .external_lex_state = 42},
  [14016] = {.lex_state = 862, .external_lex_state = 42},
  [14017] = {.lex_state = 862, .external_lex_state = 42},
  [14018] = {.lex_state = 0},
  [14019] = {.lex_state = 862, .external_lex_state = 42},
  [14020] = {.lex_state = 1170, .external_lex_state = 42},
  [14021] = {.lex_state = 862, .external_lex_state = 42},
  [14022] = {.lex_state = 467, .external_lex_state = 39},
  [14023] = {.lex_state = 862, .external_lex_state = 42},
  [14024] = {.lex_state = 777, .external_lex_state = 42},
  [14025] = {.lex_state = 1178, .external_lex_state = 42},
  [14026] = {.lex_state = 467, .external_lex_state = 39},
  [14027] = {.lex_state = 1182, .external_lex_state = 42},
  [14028] = {.lex_state = 467, .external_lex_state = 39},
  [14029] = {.lex_state = 886, .external_lex_state = 20},
  [14030] = {.lex_state = 1228, .external_lex_state = 30},
  [14031] = {.lex_state = 900, .external_lex_state = 7},
  [14032] = {.lex_state = 0},
  [14033] = {.lex_state = 1350, .external_lex_state = 13},
  [14034] = {.lex_state = 968, .external_lex_state = 70},
  [14035] = {.lex_state = 1208, .external_lex_state = 42},
  [14036] = {.lex_state = 467, .external_lex_state = 39},
  [14037] = {.lex_state = 467, .external_lex_state = 2},
  [14038] = {.lex_state = 467, .external_lex_state = 39},
  [14039] = {.lex_state = 1216, .external_lex_state = 42},
  [14040] = {.lex_state = 1208, .external_lex_state = 42},
  [14041] = {.lex_state = 1208, .external_lex_state = 42},
  [14042] = {.lex_state = 1208, .external_lex_state = 42},
  [14043] = {.lex_state = 1208, .external_lex_state = 42},
  [14044] = {.lex_state = 1208, .external_lex_state = 42},
  [14045] = {.lex_state = 1208, .external_lex_state = 42},
  [14046] = {.lex_state = 0},
  [14047] = {.lex_state = 1208, .external_lex_state = 42},
  [14048] = {.lex_state = 1208, .external_lex_state = 42},
  [14049] = {.lex_state = 1208, .external_lex_state = 42},
  [14050] = {.lex_state = 0},
  [14051] = {.lex_state = 1208, .external_lex_state = 42},
  [14052] = {.lex_state = 1220, .external_lex_state = 4},
  [14053] = {.lex_state = 467, .external_lex_state = 39},
  [14054] = {.lex_state = 467, .external_lex_state = 2},
  [14055] = {.lex_state = 467, .external_lex_state = 39},
  [14056] = {.lex_state = 1356, .external_lex_state = 4},
  [14057] = {.lex_state = 968, .external_lex_state = 70},
  [14058] = {.lex_state = 1354, .external_lex_state = 4},
  [14059] = {.lex_state = 968, .external_lex_state = 70},
  [14060] = {.lex_state = 467, .external_lex_state = 39},
  [14061] = {.lex_state = 982, .external_lex_state = 2},
  [14062] = {.lex_state = 467, .external_lex_state = 2},
  [14063] = {.lex_state = 467, .external_lex_state = 39},
  [14064] = {.lex_state = 1364, .external_lex_state = 4},
  [14065] = {.lex_state = 1362, .external_lex_state = 4},
  [14066] = {.lex_state = 467, .external_lex_state = 39},
  [14067] = {.lex_state = 467, .external_lex_state = 2},
  [14068] = {.lex_state = 467, .external_lex_state = 2},
  [14069] = {.lex_state = 467, .external_lex_state = 39},
  [14070] = {.lex_state = 1370, .external_lex_state = 4},
  [14071] = {.lex_state = 968, .external_lex_state = 70},
  [14072] = {.lex_state = 1368, .external_lex_state = 4},
  [14073] = {.lex_state = 968, .external_lex_state = 70},
  [14074] = {.lex_state = 467, .external_lex_state = 39},
  [14075] = {.lex_state = 467, .external_lex_state = 2},
  [14076] = {.lex_state = 467, .external_lex_state = 39},
  [14077] = {.lex_state = 1378, .external_lex_state = 4},
  [14078] = {.lex_state = 1376, .external_lex_state = 4},
  [14079] = {.lex_state = 467, .external_lex_state = 39},
  [14080] = {.lex_state = 467, .external_lex_state = 2},
  [14081] = {.lex_state = 467, .external_lex_state = 2},
  [14082] = {.lex_state = 467, .external_lex_state = 39},
  [14083] = {.lex_state = 1256, .external_lex_state = 42},
  [14084] = {.lex_state = 1262, .external_lex_state = 4},
  [14085] = {.lex_state = 467, .external_lex_state = 39},
  [14086] = {.lex_state = 1414, .external_lex_state = 4},
  [14087] = {.lex_state = 1414, .external_lex_state = 4},
  [14088] = {.lex_state = 1414, .external_lex_state = 4},
  [14089] = {.lex_state = 1414, .external_lex_state = 4},
  [14090] = {.lex_state = 1414, .external_lex_state = 4},
  [14091] = {.lex_state = 1414, .external_lex_state = 4},
  [14092] = {.lex_state = 1116, .external_lex_state = 30},
  [14093] = {.lex_state = 1414, .external_lex_state = 4},
  [14094] = {.lex_state = 1414, .external_lex_state = 4},
  [14095] = {.lex_state = 1414, .external_lex_state = 4},
  [14096] = {.lex_state = 1414, .external_lex_state = 4},
  [14097] = {.lex_state = 1414, .external_lex_state = 4},
  [14098] = {.lex_state = 1414, .external_lex_state = 4},
  [14099] = {.lex_state = 1414, .external_lex_state = 4},
  [14100] = {.lex_state = 1414, .external_lex_state = 4},
  [14101] = {.lex_state = 1412, .external_lex_state = 4},
  [14102] = {.lex_state = 968, .external_lex_state = 70},
  [14103] = {.lex_state = 968, .external_lex_state = 12},
  [14104] = {.lex_state = 1412, .external_lex_state = 4},
  [14105] = {.lex_state = 467, .external_lex_state = 2},
  [14106] = {.lex_state = 1420, .external_lex_state = 4},
  [14107] = {.lex_state = 968, .external_lex_state = 70},
  [14108] = {.lex_state = 968, .external_lex_state = 12},
  [14109] = {.lex_state = 1420, .external_lex_state = 4},
  [14110] = {.lex_state = 968, .external_lex_state = 70},
  [14111] = {.lex_state = 467, .external_lex_state = 39},
  [14112] = {.lex_state = 1412, .external_lex_state = 4},
  [14113] = {.lex_state = 1268, .external_lex_state = 2},
  [14114] = {.lex_state = 1386, .external_lex_state = 13},
  [14115] = {.lex_state = 1422, .external_lex_state = 4},
  [14116] = {.lex_state = 1422, .external_lex_state = 4},
  [14117] = {.lex_state = 1422, .external_lex_state = 4},
  [14118] = {.lex_state = 1422, .external_lex_state = 4},
  [14119] = {.lex_state = 1422, .external_lex_state = 4},
  [14120] = {.lex_state = 1422, .external_lex_state = 4},
  [14121] = {.lex_state = 1116, .external_lex_state = 30},
  [14122] = {.lex_state = 1422, .external_lex_state = 4},
  [14123] = {.lex_state = 1422, .external_lex_state = 4},
  [14124] = {.lex_state = 1422, .external_lex_state = 4},
  [14125] = {.lex_state = 1422, .external_lex_state = 4},
  [14126] = {.lex_state = 1422, .external_lex_state = 4},
  [14127] = {.lex_state = 1422, .external_lex_state = 4},
  [14128] = {.lex_state = 1422, .external_lex_state = 4},
  [14129] = {.lex_state = 1422, .external_lex_state = 4},
  [14130] = {.lex_state = 467, .external_lex_state = 2},
  [14131] = {.lex_state = 968, .external_lex_state = 70},
  [14132] = {.lex_state = 467, .external_lex_state = 39},
  [14133] = {.lex_state = 1420, .external_lex_state = 4},
  [14134] = {.lex_state = 1428, .external_lex_state = 13},
  [14135] = {.lex_state = 1428, .external_lex_state = 13},
  [14136] = {.lex_state = 1428, .external_lex_state = 13},
  [14137] = {.lex_state = 1428, .external_lex_state = 13},
  [14138] = {.lex_state = 1428, .external_lex_state = 13},
  [14139] = {.lex_state = 1428, .external_lex_state = 13},
  [14140] = {.lex_state = 1116, .external_lex_state = 30},
  [14141] = {.lex_state = 1428, .external_lex_state = 13},
  [14142] = {.lex_state = 1428, .external_lex_state = 13},
  [14143] = {.lex_state = 1428, .external_lex_state = 13},
  [14144] = {.lex_state = 1428, .external_lex_state = 13},
  [14145] = {.lex_state = 1428, .external_lex_state = 13},
  [14146] = {.lex_state = 467, .external_lex_state = 39},
  [14147] = {.lex_state = 1428, .external_lex_state = 13},
  [14148] = {.lex_state = 1428, .external_lex_state = 13},
  [14149] = {.lex_state = 1272, .external_lex_state = 4},
  [14150] = {.lex_state = 467, .external_lex_state = 39},
  [14151] = {.lex_state = 700, .external_lex_state = 35},
  [14152] = {.lex_state = 1426, .external_lex_state = 4},
  [14153] = {.lex_state = 968, .external_lex_state = 70},
  [14154] = {.lex_state = 968, .external_lex_state = 12},
  [14155] = {.lex_state = 1426, .external_lex_state = 4},
  [14156] = {.lex_state = 467, .external_lex_state = 2},
  [14157] = {.lex_state = 467, .external_lex_state = 39},
  [14158] = {.lex_state = 1426, .external_lex_state = 4},
  [14159] = {.lex_state = 968, .external_lex_state = 70},
  [14160] = {.lex_state = 1278, .external_lex_state = 71},
  [14161] = {.lex_state = 0},
  [14162] = {.lex_state = 1390, .external_lex_state = 4},
  [14163] = {.lex_state = 1392, .external_lex_state = 71},
  [14164] = {.lex_state = 1394, .external_lex_state = 71},
  [14165] = {.lex_state = 467, .external_lex_state = 39},
  [14166] = {.lex_state = 1282, .external_lex_state = 4},
  [14167] = {.lex_state = 467, .external_lex_state = 39},
  [14168] = {.lex_state = 1290, .external_lex_state = 4},
  [14169] = {.lex_state = 467, .external_lex_state = 39},
  [14170] = {.lex_state = 1398, .external_lex_state = 13},
  [14171] = {.lex_state = 1296, .external_lex_state = 4},
  [14172] = {.lex_state = 467, .external_lex_state = 39},
  [14173] = {.lex_state = 1304, .external_lex_state = 4},
  [14174] = {.lex_state = 467, .external_lex_state = 39},
  [14175] = {.lex_state = 1400, .external_lex_state = 13},
  [14176] = {.lex_state = 1310, .external_lex_state = 42},
  [14177] = {.lex_state = 467, .external_lex_state = 39},
  [14178] = {.lex_state = 1312, .external_lex_state = 42},
  [14179] = {.lex_state = 467, .external_lex_state = 39},
  [14180] = {.lex_state = 1220, .external_lex_state = 42},
  [14181] = {.lex_state = 1220, .external_lex_state = 42},
  [14182] = {.lex_state = 1220, .external_lex_state = 42},
  [14183] = {.lex_state = 467, .external_lex_state = 2},
  [14184] = {.lex_state = 467, .external_lex_state = 2},
  [14185] = {.lex_state = 467, .external_lex_state = 2},
  [14186] = {.lex_state = 467, .external_lex_state = 2},
  [14187] = {.lex_state = 467, .external_lex_state = 2},
  [14188] = {.lex_state = 467, .external_lex_state = 2},
  [14189] = {.lex_state = 467, .external_lex_state = 2},
  [14190] = {.lex_state = 467, .external_lex_state = 2},
  [14191] = {.lex_state = 467, .external_lex_state = 2},
  [14192] = {.lex_state = 467, .external_lex_state = 2},
  [14193] = {.lex_state = 467, .external_lex_state = 2},
  [14194] = {.lex_state = 467, .external_lex_state = 2},
  [14195] = {.lex_state = 467, .external_lex_state = 39},
  [14196] = {.lex_state = 467, .external_lex_state = 2},
  [14197] = {.lex_state = 1218, .external_lex_state = 42},
  [14198] = {.lex_state = 1218, .external_lex_state = 42},
  [14199] = {.lex_state = 1218, .external_lex_state = 42},
  [14200] = {.lex_state = 467, .external_lex_state = 2},
  [14201] = {.lex_state = 968, .external_lex_state = 12},
  [14202] = {.lex_state = 1218, .external_lex_state = 42},
  [14203] = {.lex_state = 467, .external_lex_state = 2},
  [14204] = {.lex_state = 1220, .external_lex_state = 42},
  [14205] = {.lex_state = 1218, .external_lex_state = 42},
  [14206] = {.lex_state = 1218, .external_lex_state = 42},
  [14207] = {.lex_state = 1218, .external_lex_state = 42},
  [14208] = {.lex_state = 1218, .external_lex_state = 42},
  [14209] = {.lex_state = 1218, .external_lex_state = 42},
  [14210] = {.lex_state = 1218, .external_lex_state = 42},
  [14211] = {.lex_state = 1116, .external_lex_state = 30},
  [14212] = {.lex_state = 1218, .external_lex_state = 42},
  [14213] = {.lex_state = 1218, .external_lex_state = 42},
  [14214] = {.lex_state = 1218, .external_lex_state = 42},
  [14215] = {.lex_state = 1218, .external_lex_state = 42},
  [14216] = {.lex_state = 1218, .external_lex_state = 42},
  [14217] = {.lex_state = 1006, .external_lex_state = 42},
  [14218] = {.lex_state = 1006, .external_lex_state = 42},
  [14219] = {.lex_state = 1006, .external_lex_state = 42},
  [14220] = {.lex_state = 467, .external_lex_state = 2},
  [14221] = {.lex_state = 968, .external_lex_state = 12},
  [14222] = {.lex_state = 1006, .external_lex_state = 42},
  [14223] = {.lex_state = 467, .external_lex_state = 2},
  [14224] = {.lex_state = 968, .external_lex_state = 70},
  [14225] = {.lex_state = 968, .external_lex_state = 12},
  [14226] = {.lex_state = 1218, .external_lex_state = 42},
  [14227] = {.lex_state = 1218, .external_lex_state = 42},
  [14228] = {.lex_state = 1218, .external_lex_state = 42},
  [14229] = {.lex_state = 1220, .external_lex_state = 42},
  [14230] = {.lex_state = 467, .external_lex_state = 2},
  [14231] = {.lex_state = 1008, .external_lex_state = 42},
  [14232] = {.lex_state = 1008, .external_lex_state = 42},
  [14233] = {.lex_state = 1008, .external_lex_state = 42},
  [14234] = {.lex_state = 467, .external_lex_state = 2},
  [14235] = {.lex_state = 467, .external_lex_state = 2},
  [14236] = {.lex_state = 467, .external_lex_state = 2},
  [14237] = {.lex_state = 467, .external_lex_state = 2},
  [14238] = {.lex_state = 467, .external_lex_state = 2},
  [14239] = {.lex_state = 467, .external_lex_state = 2},
  [14240] = {.lex_state = 467, .external_lex_state = 2},
  [14241] = {.lex_state = 467, .external_lex_state = 2},
  [14242] = {.lex_state = 467, .external_lex_state = 2},
  [14243] = {.lex_state = 467, .external_lex_state = 2},
  [14244] = {.lex_state = 467, .external_lex_state = 2},
  [14245] = {.lex_state = 467, .external_lex_state = 2},
  [14246] = {.lex_state = 467, .external_lex_state = 39},
  [14247] = {.lex_state = 467, .external_lex_state = 2},
  [14248] = {.lex_state = 1008, .external_lex_state = 42},
  [14249] = {.lex_state = 1006, .external_lex_state = 42},
  [14250] = {.lex_state = 1006, .external_lex_state = 42},
  [14251] = {.lex_state = 1006, .external_lex_state = 42},
  [14252] = {.lex_state = 1006, .external_lex_state = 42},
  [14253] = {.lex_state = 1006, .external_lex_state = 42},
  [14254] = {.lex_state = 1006, .external_lex_state = 42},
  [14255] = {.lex_state = 1116, .external_lex_state = 30},
  [14256] = {.lex_state = 1006, .external_lex_state = 42},
  [14257] = {.lex_state = 1006, .external_lex_state = 42},
  [14258] = {.lex_state = 1006, .external_lex_state = 42},
  [14259] = {.lex_state = 1006, .external_lex_state = 42},
  [14260] = {.lex_state = 1006, .external_lex_state = 42},
  [14261] = {.lex_state = 968, .external_lex_state = 70},
  [14262] = {.lex_state = 968, .external_lex_state = 12},
  [14263] = {.lex_state = 1006, .external_lex_state = 42},
  [14264] = {.lex_state = 1006, .external_lex_state = 42},
  [14265] = {.lex_state = 1006, .external_lex_state = 42},
  [14266] = {.lex_state = 1008, .external_lex_state = 42},
  [14267] = {.lex_state = 1350, .external_lex_state = 30},
  [14268] = {.lex_state = 467, .external_lex_state = 39},
  [14269] = {.lex_state = 1350, .external_lex_state = 30},
  [14270] = {.lex_state = 631, .external_lex_state = 2},
  [14271] = {.lex_state = 585},
  [14272] = {.lex_state = 804},
  [14273] = {.lex_state = 746, .external_lex_state = 11},
  [14274] = {.lex_state = 585},
  [14275] = {.lex_state = 1332, .external_lex_state = 42},
  [14276] = {.lex_state = 467, .external_lex_state = 39},
  [14277] = {.lex_state = 1340, .external_lex_state = 42},
  [14278] = {.lex_state = 467, .external_lex_state = 39},
  [14279] = {.lex_state = 1404, .external_lex_state = 30},
  [14280] = {.lex_state = 575, .external_lex_state = 4},
  [14281] = {.lex_state = 1406, .external_lex_state = 13},
  [14282] = {.lex_state = 842, .external_lex_state = 49},
  [14283] = {.lex_state = 842, .external_lex_state = 49},
  [14284] = {.lex_state = 621, .external_lex_state = 68},
  [14285] = {.lex_state = 842, .external_lex_state = 65},
  [14286] = {.lex_state = 0},
  [14287] = {.lex_state = 824, .external_lex_state = 65},
  [14288] = {.lex_state = 824, .external_lex_state = 65},
  [14289] = {.lex_state = 828, .external_lex_state = 65},
  [14290] = {.lex_state = 842, .external_lex_state = 65},
  [14291] = {.lex_state = 842, .external_lex_state = 65},
  [14292] = {.lex_state = 842, .external_lex_state = 65},
  [14293] = {.lex_state = 842, .external_lex_state = 65},
  [14294] = {.lex_state = 0},
  [14295] = {.lex_state = 842, .external_lex_state = 65},
  [14296] = {.lex_state = 842, .external_lex_state = 65},
  [14297] = {.lex_state = 842, .external_lex_state = 65},
  [14298] = {.lex_state = 828, .external_lex_state = 65},
  [14299] = {.lex_state = 862, .external_lex_state = 42},
  [14300] = {.lex_state = 862, .external_lex_state = 42},
  [14301] = {.lex_state = 862, .external_lex_state = 42},
  [14302] = {.lex_state = 862, .external_lex_state = 42},
  [14303] = {.lex_state = 0},
  [14304] = {.lex_state = 862, .external_lex_state = 42},
  [14305] = {.lex_state = 862, .external_lex_state = 42},
  [14306] = {.lex_state = 862, .external_lex_state = 42},
  [14307] = {.lex_state = 900, .external_lex_state = 7},
  [14308] = {.lex_state = 1216, .external_lex_state = 42},
  [14309] = {.lex_state = 467, .external_lex_state = 39},
  [14310] = {.lex_state = 1208, .external_lex_state = 42},
  [14311] = {.lex_state = 1208, .external_lex_state = 42},
  [14312] = {.lex_state = 1356, .external_lex_state = 4},
  [14313] = {.lex_state = 467, .external_lex_state = 39},
  [14314] = {.lex_state = 1364, .external_lex_state = 4},
  [14315] = {.lex_state = 467, .external_lex_state = 39},
  [14316] = {.lex_state = 1408, .external_lex_state = 13},
  [14317] = {.lex_state = 1370, .external_lex_state = 4},
  [14318] = {.lex_state = 467, .external_lex_state = 39},
  [14319] = {.lex_state = 1378, .external_lex_state = 4},
  [14320] = {.lex_state = 467, .external_lex_state = 39},
  [14321] = {.lex_state = 1410, .external_lex_state = 13},
  [14322] = {.lex_state = 1256, .external_lex_state = 42},
  [14323] = {.lex_state = 467, .external_lex_state = 39},
  [14324] = {.lex_state = 467, .external_lex_state = 2},
  [14325] = {.lex_state = 467, .external_lex_state = 39},
  [14326] = {.lex_state = 1414, .external_lex_state = 4},
  [14327] = {.lex_state = 968, .external_lex_state = 70},
  [14328] = {.lex_state = 1412, .external_lex_state = 4},
  [14329] = {.lex_state = 968, .external_lex_state = 70},
  [14330] = {.lex_state = 467, .external_lex_state = 39},
  [14331] = {.lex_state = 467, .external_lex_state = 2},
  [14332] = {.lex_state = 467, .external_lex_state = 39},
  [14333] = {.lex_state = 1422, .external_lex_state = 4},
  [14334] = {.lex_state = 1420, .external_lex_state = 4},
  [14335] = {.lex_state = 467, .external_lex_state = 39},
  [14336] = {.lex_state = 467, .external_lex_state = 2},
  [14337] = {.lex_state = 968, .external_lex_state = 70},
  [14338] = {.lex_state = 1426, .external_lex_state = 4},
  [14339] = {.lex_state = 467, .external_lex_state = 39},
  [14340] = {.lex_state = 1278, .external_lex_state = 71},
  [14341] = {.lex_state = 1220, .external_lex_state = 42},
  [14342] = {.lex_state = 1220, .external_lex_state = 42},
  [14343] = {.lex_state = 1220, .external_lex_state = 42},
  [14344] = {.lex_state = 1220, .external_lex_state = 42},
  [14345] = {.lex_state = 1220, .external_lex_state = 42},
  [14346] = {.lex_state = 1220, .external_lex_state = 42},
  [14347] = {.lex_state = 1116, .external_lex_state = 30},
  [14348] = {.lex_state = 1220, .external_lex_state = 42},
  [14349] = {.lex_state = 1220, .external_lex_state = 42},
  [14350] = {.lex_state = 1220, .external_lex_state = 42},
  [14351] = {.lex_state = 1220, .external_lex_state = 42},
  [14352] = {.lex_state = 1220, .external_lex_state = 42},
  [14353] = {.lex_state = 1220, .external_lex_state = 42},
  [14354] = {.lex_state = 1220, .external_lex_state = 42},
  [14355] = {.lex_state = 1220, .external_lex_state = 42},
  [14356] = {.lex_state = 1218, .external_lex_state = 42},
  [14357] = {.lex_state = 968, .external_lex_state = 70},
  [14358] = {.lex_state = 968, .external_lex_state = 12},
  [14359] = {.lex_state = 1218, .external_lex_state = 42},
  [14360] = {.lex_state = 467, .external_lex_state = 2},
  [14361] = {.lex_state = 1006, .external_lex_state = 42},
  [14362] = {.lex_state = 968, .external_lex_state = 70},
  [14363] = {.lex_state = 968, .external_lex_state = 12},
  [14364] = {.lex_state = 1006, .external_lex_state = 42},
  [14365] = {.lex_state = 968, .external_lex_state = 70},
  [14366] = {.lex_state = 467, .external_lex_state = 39},
  [14367] = {.lex_state = 1218, .external_lex_state = 42},
  [14368] = {.lex_state = 1350, .external_lex_state = 30},
  [14369] = {.lex_state = 1008, .external_lex_state = 42},
  [14370] = {.lex_state = 1008, .external_lex_state = 42},
  [14371] = {.lex_state = 1008, .external_lex_state = 42},
  [14372] = {.lex_state = 1008, .external_lex_state = 42},
  [14373] = {.lex_state = 1008, .external_lex_state = 42},
  [14374] = {.lex_state = 1008, .external_lex_state = 42},
  [14375] = {.lex_state = 1116, .external_lex_state = 30},
  [14376] = {.lex_state = 1008, .external_lex_state = 42},
  [14377] = {.lex_state = 1008, .external_lex_state = 42},
  [14378] = {.lex_state = 1008, .external_lex_state = 42},
  [14379] = {.lex_state = 1008, .external_lex_state = 42},
  [14380] = {.lex_state = 1008, .external_lex_state = 42},
  [14381] = {.lex_state = 1008, .external_lex_state = 42},
  [14382] = {.lex_state = 1008, .external_lex_state = 42},
  [14383] = {.lex_state = 1008, .external_lex_state = 42},
  [14384] = {.lex_state = 467, .external_lex_state = 2},
  [14385] = {.lex_state = 968, .external_lex_state = 70},
  [14386] = {.lex_state = 467, .external_lex_state = 39},
  [14387] = {.lex_state = 1006, .external_lex_state = 42},
  [14388] = {.lex_state = 467, .external_lex_state = 39},
  [14389] = {.lex_state = 631, .external_lex_state = 2},
  [14390] = {.lex_state = 746, .external_lex_state = 11},
  [14391] = {.lex_state = 842, .external_lex_state = 65},
  [14392] = {.lex_state = 842, .external_lex_state = 65},
  [14393] = {.lex_state = 862, .external_lex_state = 42},
  [14394] = {.lex_state = 1414, .external_lex_state = 4},
  [14395] = {.lex_state = 467, .external_lex_state = 39},
  [14396] = {.lex_state = 1422, .external_lex_state = 4},
  [14397] = {.lex_state = 467, .external_lex_state = 39},
  [14398] = {.lex_state = 1428, .external_lex_state = 13},
  [14399] = {.lex_state = 467, .external_lex_state = 2},
  [14400] = {.lex_state = 467, .external_lex_state = 39},
  [14401] = {.lex_state = 1220, .external_lex_state = 42},
  [14402] = {.lex_state = 968, .external_lex_state = 70},
  [14403] = {.lex_state = 1218, .external_lex_state = 42},
  [14404] = {.lex_state = 968, .external_lex_state = 70},
  [14405] = {.lex_state = 467, .external_lex_state = 39},
  [14406] = {.lex_state = 467, .external_lex_state = 2},
  [14407] = {.lex_state = 467, .external_lex_state = 39},
  [14408] = {.lex_state = 1008, .external_lex_state = 42},
  [14409] = {.lex_state = 1006, .external_lex_state = 42},
  [14410] = {.lex_state = 467, .external_lex_state = 39},
  [14411] = {.lex_state = 1220, .external_lex_state = 42},
  [14412] = {.lex_state = 467, .external_lex_state = 39},
  [14413] = {.lex_state = 1008, .external_lex_state = 42},
  [14414] = {.lex_state = 467, .external_lex_state = 39},
};

enum {
  ts_external_token__simple_string,
  ts_external_token__simple_symbol,
  ts_external_token__simple_subshell,
  ts_external_token__simple_regex,
  ts_external_token__simple_word_list,
  ts_external_token__simple_heredoc_body,
  ts_external_token__string_beginning,
  ts_external_token__symbol_beginning,
  ts_external_token__subshell_beginning,
  ts_external_token__regex_beginning,
  ts_external_token__word_list_beginning,
  ts_external_token__heredoc_body_beginning,
  ts_external_token__string_middle,
  ts_external_token__heredoc_body_middle,
  ts_external_token__string_end,
  ts_external_token__heredoc_body_end,
  ts_external_token_heredoc_beginning,
  ts_external_token__line_break,
  ts_external_token_SLASH,
  ts_external_token__element_reference_left_bracket,
  ts_external_token__block_ampersand,
  ts_external_token__splat_star,
  ts_external_token__argument_list_left_paren,
  ts_external_token__scope_double_colon,
  ts_external_token__keyword_colon,
  ts_external_token__unary_minus,
  ts_external_token__binary_minus,
  ts_external_token__binary_star,
  ts_external_token__singleton_class_left_angle_left_langle,
};

static TSSymbol ts_external_scanner_symbol_map[EXTERNAL_TOKEN_COUNT] = {
  [ts_external_token__simple_string] = sym__simple_string,
  [ts_external_token__simple_symbol] = sym__simple_symbol,
  [ts_external_token__simple_subshell] = sym__simple_subshell,
  [ts_external_token__simple_regex] = sym__simple_regex,
  [ts_external_token__simple_word_list] = sym__simple_word_list,
  [ts_external_token__simple_heredoc_body] = sym__simple_heredoc_body,
  [ts_external_token__string_beginning] = sym__string_beginning,
  [ts_external_token__symbol_beginning] = sym__symbol_beginning,
  [ts_external_token__subshell_beginning] = sym__subshell_beginning,
  [ts_external_token__regex_beginning] = sym__regex_beginning,
  [ts_external_token__word_list_beginning] = sym__word_list_beginning,
  [ts_external_token__heredoc_body_beginning] = sym__heredoc_body_beginning,
  [ts_external_token__string_middle] = sym__string_middle,
  [ts_external_token__heredoc_body_middle] = sym__heredoc_body_middle,
  [ts_external_token__string_end] = sym__string_end,
  [ts_external_token__heredoc_body_end] = sym__heredoc_body_end,
  [ts_external_token_heredoc_beginning] = sym_heredoc_beginning,
  [ts_external_token__line_break] = sym__line_break,
  [ts_external_token_SLASH] = anon_sym_SLASH,
  [ts_external_token__element_reference_left_bracket] = sym__element_reference_left_bracket,
  [ts_external_token__block_ampersand] = sym__block_ampersand,
  [ts_external_token__splat_star] = sym__splat_star,
  [ts_external_token__argument_list_left_paren] = sym__argument_list_left_paren,
  [ts_external_token__scope_double_colon] = sym__scope_double_colon,
  [ts_external_token__keyword_colon] = sym__keyword_colon,
  [ts_external_token__unary_minus] = sym__unary_minus,
  [ts_external_token__binary_minus] = sym__binary_minus,
  [ts_external_token__binary_star] = sym__binary_star,
  [ts_external_token__singleton_class_left_angle_left_langle] = sym__singleton_class_left_angle_left_langle,
};

static bool ts_external_scanner_states[74][EXTERNAL_TOKEN_COUNT] = {
  [1] = {
    [ts_external_token__simple_string] = true,
    [ts_external_token__simple_symbol] = true,
    [ts_external_token__simple_subshell] = true,
    [ts_external_token__simple_regex] = true,
    [ts_external_token__simple_word_list] = true,
    [ts_external_token__simple_heredoc_body] = true,
    [ts_external_token__string_beginning] = true,
    [ts_external_token__symbol_beginning] = true,
    [ts_external_token__subshell_beginning] = true,
    [ts_external_token__regex_beginning] = true,
    [ts_external_token__word_list_beginning] = true,
    [ts_external_token__heredoc_body_beginning] = true,
    [ts_external_token__string_middle] = true,
    [ts_external_token__heredoc_body_middle] = true,
    [ts_external_token__string_end] = true,
    [ts_external_token__heredoc_body_end] = true,
    [ts_external_token_heredoc_beginning] = true,
    [ts_external_token__line_break] = true,
    [ts_external_token_SLASH] = true,
    [ts_external_token__element_reference_left_bracket] = true,
    [ts_external_token__block_ampersand] = true,
    [ts_external_token__splat_star] = true,
    [ts_external_token__argument_list_left_paren] = true,
    [ts_external_token__scope_double_colon] = true,
    [ts_external_token__keyword_colon] = true,
    [ts_external_token__unary_minus] = true,
    [ts_external_token__binary_minus] = true,
    [ts_external_token__binary_star] = true,
    [ts_external_token__singleton_class_left_angle_left_langle] = true,
  },
  [2] = {
    [ts_external_token__simple_string] = true,
    [ts_external_token__simple_symbol] = true,
    [ts_external_token__simple_subshell] = true,
    [ts_external_token__simple_regex] = true,
    [ts_external_token__simple_word_list] = true,
    [ts_external_token__string_beginning] = true,
    [ts_external_token__symbol_beginning] = true,
    [ts_external_token__subshell_beginning] = true,
    [ts_external_token__regex_beginning] = true,
    [ts_external_token__word_list_beginning] = true,
    [ts_external_token_heredoc_beginning] = true,
    [ts_external_token__unary_minus] = true,
  },
  [3] = {
    [ts_external_token__simple_string] = true,
    [ts_external_token__simple_heredoc_body] = true,
    [ts_external_token__string_beginning] = true,
    [ts_external_token__heredoc_body_beginning] = true,
    [ts_external_token__line_break] = true,
    [ts_external_token_SLASH] = true,
    [ts_external_token__element_reference_left_bracket] = true,
    [ts_external_token__scope_double_colon] = true,
    [ts_external_token__binary_minus] = true,
    [ts_external_token__binary_star] = true,
  },
  [4] = {
    [ts_external_token__simple_heredoc_body] = true,
    [ts_external_token__heredoc_body_beginning] = true,
    [ts_external_token__line_break] = true,
    [ts_external_token_SLASH] = true,
    [ts_external_token__element_reference_left_bracket] = true,
    [ts_external_token__scope_double_colon] = true,
    [ts_external_token__binary_minus] = true,
    [ts_external_token__binary_star] = true,
  },
  [5] = {
    [ts_external_token__simple_string] = true,
    [ts_external_token__simple_symbol] = true,
    [ts_external_token__simple_subshell] = true,
    [ts_external_token__simple_regex] = true,
    [ts_external_token__simple_word_list] = true,
    [ts_external_token__simple_heredoc_body] = true,
    [ts_external_token__string_beginning] = true,
    [ts_external_token__symbol_beginning] = true,
    [ts_external_token__subshell_beginning] = true,
    [ts_external_token__regex_beginning] = true,
    [ts_external_token__word_list_beginning] = true,
    [ts_external_token__heredoc_body_beginning] = true,
    [ts_external_token_heredoc_beginning] = true,
    [ts_external_token__unary_minus] = true,
  },
  [6] = {
    [ts_external_token__simple_symbol] = true,
    [ts_external_token__symbol_beginning] = true,
    [ts_external_token_SLASH] = true,
  },
  [7] = {
    [ts_external_token__simple_heredoc_body] = true,
    [ts_external_token__heredoc_body_beginning] = true,
    [ts_external_token__line_break] = true,
  },
  [8] = {
    [ts_external_token__simple_string] = true,
    [ts_external_token__simple_symbol] = true,
    [ts_external_token__simple_subshell] = true,
    [ts_external_token__simple_regex] = true,
    [ts_external_token__simple_word_list] = true,
    [ts_external_token__string_beginning] = true,
    [ts_external_token__symbol_beginning] = true,
    [ts_external_token__subshell_beginning] = true,
    [ts_external_token__regex_beginning] = true,
    [ts_external_token__word_list_beginning] = true,
    [ts_external_token_heredoc_beginning] = true,
  },
  [9] = {
    [ts_external_token__simple_string] = true,
    [ts_external_token__simple_symbol] = true,
    [ts_external_token__simple_subshell] = true,
    [ts_external_token__simple_regex] = true,
    [ts_external_token__simple_word_list] = true,
    [ts_external_token__string_beginning] = true,
    [ts_external_token__symbol_beginning] = true,
    [ts_external_token__subshell_beginning] = true,
    [ts_external_token__regex_beginning] = true,
    [ts_external_token__word_list_beginning] = true,
    [ts_external_token_heredoc_beginning] = true,
    [ts_external_token__singleton_class_left_angle_left_langle] = true,
  },
  [10] = {
    [ts_external_token__simple_string] = true,
    [ts_external_token__simple_symbol] = true,
    [ts_external_token__simple_subshell] = true,
    [ts_external_token__simple_regex] = true,
    [ts_external_token__simple_word_list] = true,
    [ts_external_token__simple_heredoc_body] = true,
    [ts_external_token__string_beginning] = true,
    [ts_external_token__symbol_beginning] = true,
    [ts_external_token__subshell_beginning] = true,
    [ts_external_token__regex_beginning] = true,
    [ts_external_token__word_list_beginning] = true,
    [ts_external_token__heredoc_body_beginning] = true,
    [ts_external_token_heredoc_beginning] = true,
    [ts_external_token__line_break] = true,
    [ts_external_token_SLASH] = true,
    [ts_external_token__element_reference_left_bracket] = true,
    [ts_external_token__block_ampersand] = true,
    [ts_external_token__splat_star] = true,
    [ts_external_token__argument_list_left_paren] = true,
    [ts_external_token__scope_double_colon] = true,
    [ts_external_token__unary_minus] = true,
    [ts_external_token__binary_minus] = true,
    [ts_external_token__binary_star] = true,
  },
  [11] = {
    [ts_external_token__simple_string] = true,
    [ts_external_token__simple_symbol] = true,
    [ts_external_token__simple_subshell] = true,
    [ts_external_token__simple_regex] = true,
    [ts_external_token__simple_word_list] = true,
    [ts_external_token__simple_heredoc_body] = true,
    [ts_external_token__string_beginning] = true,
    [ts_external_token__symbol_beginning] = true,
    [ts_external_token__subshell_beginning] = true,
    [ts_external_token__regex_beginning] = true,
    [ts_external_token__word_list_beginning] = true,
    [ts_external_token__heredoc_body_beginning] = true,
    [ts_external_token_heredoc_beginning] = true,
    [ts_external_token__line_break] = true,
    [ts_external_token__unary_minus] = true,
  },
  [12] = {
    [ts_external_token__simple_string] = true,
    [ts_external_token__simple_symbol] = true,
    [ts_external_token__simple_subshell] = true,
    [ts_external_token__simple_regex] = true,
    [ts_external_token__simple_word_list] = true,
    [ts_external_token__simple_heredoc_body] = true,
    [ts_external_token__string_beginning] = true,
    [ts_external_token__symbol_beginning] = true,
    [ts_external_token__subshell_beginning] = true,
    [ts_external_token__regex_beginning] = true,
    [ts_external_token__word_list_beginning] = true,
    [ts_external_token__heredoc_body_beginning] = true,
    [ts_external_token_heredoc_beginning] = true,
    [ts_external_token__block_ampersand] = true,
    [ts_external_token__splat_star] = true,
    [ts_external_token__unary_minus] = true,
  },
  [13] = {
    [ts_external_token__simple_heredoc_body] = true,
    [ts_external_token__heredoc_body_beginning] = true,
    [ts_external_token__line_break] = true,
    [ts_external_token_SLASH] = true,
    [ts_external_token__binary_minus] = true,
    [ts_external_token__binary_star] = true,
  },
  [14] = {
    [ts_external_token__simple_string] = true,
    [ts_external_token__string_beginning] = true,
    [ts_external_token__string_middle] = true,
    [ts_external_token__string_end] = true,
    [ts_external_token_SLASH] = true,
    [ts_external_token__element_reference_left_bracket] = true,
    [ts_external_token__scope_double_colon] = true,
    [ts_external_token__binary_minus] = true,
    [ts_external_token__binary_star] = true,
  },
  [15] = {
    [ts_external_token__string_middle] = true,
    [ts_external_token__string_end] = true,
    [ts_external_token_SLASH] = true,
    [ts_external_token__element_reference_left_bracket] = true,
    [ts_external_token__scope_double_colon] = true,
    [ts_external_token__binary_minus] = true,
    [ts_external_token__binary_star] = true,
  },
  [16] = {
    [ts_external_token__string_middle] = true,
    [ts_external_token__string_end] = true,
  },
  [17] = {
    [ts_external_token__simple_string] = true,
    [ts_external_token__simple_symbol] = true,
    [ts_external_token__simple_subshell] = true,
    [ts_external_token__simple_regex] = true,
    [ts_external_token__simple_word_list] = true,
    [ts_external_token__string_beginning] = true,
    [ts_external_token__symbol_beginning] = true,
    [ts_external_token__subshell_beginning] = true,
    [ts_external_token__regex_beginning] = true,
    [ts_external_token__word_list_beginning] = true,
    [ts_external_token__string_middle] = true,
    [ts_external_token__string_end] = true,
    [ts_external_token_heredoc_beginning] = true,
    [ts_external_token_SLASH] = true,
    [ts_external_token__element_reference_left_bracket] = true,
    [ts_external_token__block_ampersand] = true,
    [ts_external_token__splat_star] = true,
    [ts_external_token__argument_list_left_paren] = true,
    [ts_external_token__scope_double_colon] = true,
    [ts_external_token__unary_minus] = true,
    [ts_external_token__binary_minus] = true,
    [ts_external_token__binary_star] = true,
  },
  [18] = {
    [ts_external_token__string_middle] = true,
    [ts_external_token__string_end] = true,
    [ts_external_token_SLASH] = true,
    [ts_external_token__binary_minus] = true,
    [ts_external_token__binary_star] = true,
  },
  [19] = {
    [ts_external_token__simple_string] = true,
    [ts_external_token__string_beginning] = true,
    [ts_external_token_SLASH] = true,
    [ts_external_token__element_reference_left_bracket] = true,
    [ts_external_token__scope_double_colon] = true,
    [ts_external_token__keyword_colon] = true,
    [ts_external_token__binary_minus] = true,
    [ts_external_token__binary_star] = true,
  },
  [20] = {
    [ts_external_token_SLASH] = true,
    [ts_external_token__element_reference_left_bracket] = true,
    [ts_external_token__scope_double_colon] = true,
    [ts_external_token__binary_minus] = true,
    [ts_external_token__binary_star] = true,
  },
  [21] = {
    [ts_external_token__simple_symbol] = true,
    [ts_external_token__symbol_beginning] = true,
    [ts_external_token_SLASH] = true,
    [ts_external_token__keyword_colon] = true,
  },
  [22] = {
    [ts_external_token__keyword_colon] = true,
  },
  [23] = {
    [ts_external_token__simple_string] = true,
    [ts_external_token__simple_symbol] = true,
    [ts_external_token__simple_subshell] = true,
    [ts_external_token__simple_regex] = true,
    [ts_external_token__simple_word_list] = true,
    [ts_external_token__string_beginning] = true,
    [ts_external_token__symbol_beginning] = true,
    [ts_external_token__subshell_beginning] = true,
    [ts_external_token__regex_beginning] = true,
    [ts_external_token__word_list_beginning] = true,
    [ts_external_token_heredoc_beginning] = true,
    [ts_external_token__keyword_colon] = true,
    [ts_external_token__singleton_class_left_angle_left_langle] = true,
  },
  [24] = {
    [ts_external_token__simple_string] = true,
    [ts_external_token__simple_symbol] = true,
    [ts_external_token__simple_subshell] = true,
    [ts_external_token__simple_regex] = true,
    [ts_external_token__simple_word_list] = true,
    [ts_external_token__string_beginning] = true,
    [ts_external_token__symbol_beginning] = true,
    [ts_external_token__subshell_beginning] = true,
    [ts_external_token__regex_beginning] = true,
    [ts_external_token__word_list_beginning] = true,
    [ts_external_token_heredoc_beginning] = true,
    [ts_external_token__keyword_colon] = true,
  },
  [25] = {
    [ts_external_token__simple_string] = true,
    [ts_external_token__simple_symbol] = true,
    [ts_external_token__simple_subshell] = true,
    [ts_external_token__simple_regex] = true,
    [ts_external_token__simple_word_list] = true,
    [ts_external_token__string_beginning] = true,
    [ts_external_token__symbol_beginning] = true,
    [ts_external_token__subshell_beginning] = true,
    [ts_external_token__regex_beginning] = true,
    [ts_external_token__word_list_beginning] = true,
    [ts_external_token_heredoc_beginning] = true,
    [ts_external_token_SLASH] = true,
    [ts_external_token__element_reference_left_bracket] = true,
    [ts_external_token__block_ampersand] = true,
    [ts_external_token__splat_star] = true,
    [ts_external_token__argument_list_left_paren] = true,
    [ts_external_token__scope_double_colon] = true,
    [ts_external_token__keyword_colon] = true,
    [ts_external_token__unary_minus] = true,
    [ts_external_token__binary_minus] = true,
    [ts_external_token__binary_star] = true,
  },
  [26] = {
    [ts_external_token_SLASH] = true,
    [ts_external_token__element_reference_left_bracket] = true,
    [ts_external_token__scope_double_colon] = true,
    [ts_external_token__keyword_colon] = true,
    [ts_external_token__binary_minus] = true,
    [ts_external_token__binary_star] = true,
  },
  [27] = {
    [ts_external_token__simple_string] = true,
    [ts_external_token__simple_symbol] = true,
    [ts_external_token__simple_subshell] = true,
    [ts_external_token__simple_regex] = true,
    [ts_external_token__simple_word_list] = true,
    [ts_external_token__string_beginning] = true,
    [ts_external_token__symbol_beginning] = true,
    [ts_external_token__subshell_beginning] = true,
    [ts_external_token__regex_beginning] = true,
    [ts_external_token__word_list_beginning] = true,
    [ts_external_token_heredoc_beginning] = true,
    [ts_external_token__keyword_colon] = true,
    [ts_external_token__unary_minus] = true,
  },
  [28] = {
    [ts_external_token__simple_string] = true,
    [ts_external_token__simple_symbol] = true,
    [ts_external_token__simple_subshell] = true,
    [ts_external_token__simple_regex] = true,
    [ts_external_token__simple_word_list] = true,
    [ts_external_token__simple_heredoc_body] = true,
    [ts_external_token__string_beginning] = true,
    [ts_external_token__symbol_beginning] = true,
    [ts_external_token__subshell_beginning] = true,
    [ts_external_token__regex_beginning] = true,
    [ts_external_token__word_list_beginning] = true,
    [ts_external_token__heredoc_body_beginning] = true,
    [ts_external_token_heredoc_beginning] = true,
    [ts_external_token__line_break] = true,
    [ts_external_token__keyword_colon] = true,
    [ts_external_token__unary_minus] = true,
  },
  [29] = {
    [ts_external_token__simple_string] = true,
    [ts_external_token__simple_symbol] = true,
    [ts_external_token__simple_subshell] = true,
    [ts_external_token__simple_regex] = true,
    [ts_external_token__simple_word_list] = true,
    [ts_external_token__string_beginning] = true,
    [ts_external_token__symbol_beginning] = true,
    [ts_external_token__subshell_beginning] = true,
    [ts_external_token__regex_beginning] = true,
    [ts_external_token__word_list_beginning] = true,
    [ts_external_token_heredoc_beginning] = true,
    [ts_external_token_SLASH] = true,
    [ts_external_token__element_reference_left_bracket] = true,
    [ts_external_token__block_ampersand] = true,
    [ts_external_token__splat_star] = true,
    [ts_external_token__argument_list_left_paren] = true,
    [ts_external_token__scope_double_colon] = true,
    [ts_external_token__unary_minus] = true,
    [ts_external_token__binary_minus] = true,
    [ts_external_token__binary_star] = true,
  },
  [30] = {
    [ts_external_token_SLASH] = true,
    [ts_external_token__binary_minus] = true,
    [ts_external_token__binary_star] = true,
  },
  [31] = {
    [ts_external_token__simple_heredoc_body] = true,
    [ts_external_token__heredoc_body_beginning] = true,
  },
  [32] = {
    [ts_external_token__simple_string] = true,
    [ts_external_token__string_beginning] = true,
    [ts_external_token__element_reference_left_bracket] = true,
    [ts_external_token__scope_double_colon] = true,
  },
  [33] = {
    [ts_external_token__element_reference_left_bracket] = true,
    [ts_external_token__scope_double_colon] = true,
  },
  [34] = {
    [ts_external_token__simple_string] = true,
    [ts_external_token__simple_symbol] = true,
    [ts_external_token__simple_subshell] = true,
    [ts_external_token__simple_regex] = true,
    [ts_external_token__simple_word_list] = true,
    [ts_external_token__string_beginning] = true,
    [ts_external_token__symbol_beginning] = true,
    [ts_external_token__subshell_beginning] = true,
    [ts_external_token__regex_beginning] = true,
    [ts_external_token__word_list_beginning] = true,
    [ts_external_token_heredoc_beginning] = true,
    [ts_external_token__element_reference_left_bracket] = true,
    [ts_external_token__block_ampersand] = true,
    [ts_external_token__splat_star] = true,
    [ts_external_token__argument_list_left_paren] = true,
    [ts_external_token__scope_double_colon] = true,
    [ts_external_token__unary_minus] = true,
  },
  [35] = {
    [ts_external_token__simple_string] = true,
    [ts_external_token__simple_symbol] = true,
    [ts_external_token__simple_subshell] = true,
    [ts_external_token__simple_regex] = true,
    [ts_external_token__simple_word_list] = true,
    [ts_external_token__simple_heredoc_body] = true,
    [ts_external_token__string_beginning] = true,
    [ts_external_token__symbol_beginning] = true,
    [ts_external_token__subshell_beginning] = true,
    [ts_external_token__regex_beginning] = true,
    [ts_external_token__word_list_beginning] = true,
    [ts_external_token__heredoc_body_beginning] = true,
    [ts_external_token_heredoc_beginning] = true,
    [ts_external_token__line_break] = true,
    [ts_external_token__element_reference_left_bracket] = true,
    [ts_external_token__block_ampersand] = true,
    [ts_external_token__splat_star] = true,
    [ts_external_token__argument_list_left_paren] = true,
    [ts_external_token__scope_double_colon] = true,
    [ts_external_token__unary_minus] = true,
  },
  [36] = {
    [ts_external_token__simple_string] = true,
    [ts_external_token__simple_heredoc_body] = true,
    [ts_external_token__string_beginning] = true,
    [ts_external_token__heredoc_body_beginning] = true,
    [ts_external_token__line_break] = true,
    [ts_external_token_SLASH] = true,
    [ts_external_token__element_reference_left_bracket] = true,
    [ts_external_token__scope_double_colon] = true,
    [ts_external_token__keyword_colon] = true,
    [ts_external_token__binary_minus] = true,
    [ts_external_token__binary_star] = true,
  },
  [37] = {
    [ts_external_token__simple_string] = true,
    [ts_external_token__simple_symbol] = true,
    [ts_external_token__simple_subshell] = true,
    [ts_external_token__simple_regex] = true,
    [ts_external_token__simple_word_list] = true,
    [ts_external_token__simple_heredoc_body] = true,
    [ts_external_token__string_beginning] = true,
    [ts_external_token__symbol_beginning] = true,
    [ts_external_token__subshell_beginning] = true,
    [ts_external_token__regex_beginning] = true,
    [ts_external_token__word_list_beginning] = true,
    [ts_external_token__heredoc_body_beginning] = true,
    [ts_external_token_heredoc_beginning] = true,
    [ts_external_token__line_break] = true,
    [ts_external_token_SLASH] = true,
    [ts_external_token__element_reference_left_bracket] = true,
    [ts_external_token__block_ampersand] = true,
    [ts_external_token__splat_star] = true,
    [ts_external_token__argument_list_left_paren] = true,
    [ts_external_token__scope_double_colon] = true,
    [ts_external_token__keyword_colon] = true,
    [ts_external_token__unary_minus] = true,
    [ts_external_token__binary_minus] = true,
    [ts_external_token__binary_star] = true,
  },
  [38] = {
    [ts_external_token__simple_heredoc_body] = true,
    [ts_external_token__heredoc_body_beginning] = true,
    [ts_external_token__line_break] = true,
    [ts_external_token_SLASH] = true,
    [ts_external_token__element_reference_left_bracket] = true,
    [ts_external_token__scope_double_colon] = true,
    [ts_external_token__keyword_colon] = true,
    [ts_external_token__binary_minus] = true,
    [ts_external_token__binary_star] = true,
  },
  [39] = {
    [ts_external_token__simple_string] = true,
    [ts_external_token__simple_symbol] = true,
    [ts_external_token__simple_subshell] = true,
    [ts_external_token__simple_regex] = true,
    [ts_external_token__simple_word_list] = true,
    [ts_external_token__string_beginning] = true,
    [ts_external_token__symbol_beginning] = true,
    [ts_external_token__subshell_beginning] = true,
    [ts_external_token__regex_beginning] = true,
    [ts_external_token__word_list_beginning] = true,
    [ts_external_token_heredoc_beginning] = true,
    [ts_external_token__splat_star] = true,
    [ts_external_token__unary_minus] = true,
  },
  [40] = {
    [ts_external_token__simple_string] = true,
    [ts_external_token__simple_symbol] = true,
    [ts_external_token__simple_subshell] = true,
    [ts_external_token__simple_regex] = true,
    [ts_external_token__simple_word_list] = true,
    [ts_external_token__simple_heredoc_body] = true,
    [ts_external_token__string_beginning] = true,
    [ts_external_token__symbol_beginning] = true,
    [ts_external_token__subshell_beginning] = true,
    [ts_external_token__regex_beginning] = true,
    [ts_external_token__word_list_beginning] = true,
    [ts_external_token__heredoc_body_beginning] = true,
    [ts_external_token_heredoc_beginning] = true,
    [ts_external_token__line_break] = true,
    [ts_external_token__splat_star] = true,
    [ts_external_token__unary_minus] = true,
  },
  [41] = {
    [ts_external_token__simple_string] = true,
    [ts_external_token__simple_heredoc_body] = true,
    [ts_external_token__string_beginning] = true,
    [ts_external_token__heredoc_body_beginning] = true,
    [ts_external_token_SLASH] = true,
    [ts_external_token__element_reference_left_bracket] = true,
    [ts_external_token__scope_double_colon] = true,
    [ts_external_token__keyword_colon] = true,
    [ts_external_token__binary_minus] = true,
    [ts_external_token__binary_star] = true,
  },
  [42] = {
    [ts_external_token__simple_heredoc_body] = true,
    [ts_external_token__heredoc_body_beginning] = true,
    [ts_external_token_SLASH] = true,
    [ts_external_token__element_reference_left_bracket] = true,
    [ts_external_token__scope_double_colon] = true,
    [ts_external_token__binary_minus] = true,
    [ts_external_token__binary_star] = true,
  },
  [43] = {
    [ts_external_token__simple_string] = true,
    [ts_external_token__simple_symbol] = true,
    [ts_external_token__simple_subshell] = true,
    [ts_external_token__simple_regex] = true,
    [ts_external_token__simple_word_list] = true,
    [ts_external_token__simple_heredoc_body] = true,
    [ts_external_token__string_beginning] = true,
    [ts_external_token__symbol_beginning] = true,
    [ts_external_token__subshell_beginning] = true,
    [ts_external_token__regex_beginning] = true,
    [ts_external_token__word_list_beginning] = true,
    [ts_external_token__heredoc_body_beginning] = true,
    [ts_external_token_heredoc_beginning] = true,
    [ts_external_token_SLASH] = true,
    [ts_external_token__element_reference_left_bracket] = true,
    [ts_external_token__block_ampersand] = true,
    [ts_external_token__splat_star] = true,
    [ts_external_token__argument_list_left_paren] = true,
    [ts_external_token__scope_double_colon] = true,
    [ts_external_token__keyword_colon] = true,
    [ts_external_token__unary_minus] = true,
    [ts_external_token__binary_minus] = true,
    [ts_external_token__binary_star] = true,
  },
  [44] = {
    [ts_external_token__simple_heredoc_body] = true,
    [ts_external_token__heredoc_body_beginning] = true,
    [ts_external_token_SLASH] = true,
    [ts_external_token__element_reference_left_bracket] = true,
    [ts_external_token__scope_double_colon] = true,
    [ts_external_token__keyword_colon] = true,
    [ts_external_token__binary_minus] = true,
    [ts_external_token__binary_star] = true,
  },
  [45] = {
    [ts_external_token__simple_string] = true,
    [ts_external_token__simple_symbol] = true,
    [ts_external_token__simple_subshell] = true,
    [ts_external_token__simple_regex] = true,
    [ts_external_token__simple_word_list] = true,
    [ts_external_token__simple_heredoc_body] = true,
    [ts_external_token__string_beginning] = true,
    [ts_external_token__symbol_beginning] = true,
    [ts_external_token__subshell_beginning] = true,
    [ts_external_token__regex_beginning] = true,
    [ts_external_token__word_list_beginning] = true,
    [ts_external_token__heredoc_body_beginning] = true,
    [ts_external_token_heredoc_beginning] = true,
    [ts_external_token_SLASH] = true,
    [ts_external_token__element_reference_left_bracket] = true,
    [ts_external_token__block_ampersand] = true,
    [ts_external_token__splat_star] = true,
    [ts_external_token__argument_list_left_paren] = true,
    [ts_external_token__scope_double_colon] = true,
    [ts_external_token__unary_minus] = true,
    [ts_external_token__binary_minus] = true,
    [ts_external_token__binary_star] = true,
  },
  [46] = {
    [ts_external_token__simple_heredoc_body] = true,
    [ts_external_token__heredoc_body_beginning] = true,
    [ts_external_token_SLASH] = true,
    [ts_external_token__binary_minus] = true,
    [ts_external_token__binary_star] = true,
  },
  [47] = {
    [ts_external_token_SLASH] = true,
    [ts_external_token__argument_list_left_paren] = true,
  },
  [48] = {
    [ts_external_token__simple_string] = true,
    [ts_external_token__simple_heredoc_body] = true,
    [ts_external_token__string_beginning] = true,
    [ts_external_token__heredoc_body_beginning] = true,
    [ts_external_token__string_middle] = true,
    [ts_external_token__string_end] = true,
    [ts_external_token_SLASH] = true,
    [ts_external_token__element_reference_left_bracket] = true,
    [ts_external_token__scope_double_colon] = true,
    [ts_external_token__keyword_colon] = true,
    [ts_external_token__binary_minus] = true,
    [ts_external_token__binary_star] = true,
  },
  [49] = {
    [ts_external_token__simple_heredoc_body] = true,
    [ts_external_token__heredoc_body_beginning] = true,
    [ts_external_token__string_middle] = true,
    [ts_external_token__string_end] = true,
    [ts_external_token_SLASH] = true,
    [ts_external_token__element_reference_left_bracket] = true,
    [ts_external_token__scope_double_colon] = true,
    [ts_external_token__binary_minus] = true,
    [ts_external_token__binary_star] = true,
  },
  [50] = {
    [ts_external_token__simple_string] = true,
    [ts_external_token__simple_symbol] = true,
    [ts_external_token__simple_subshell] = true,
    [ts_external_token__simple_regex] = true,
    [ts_external_token__simple_word_list] = true,
    [ts_external_token__simple_heredoc_body] = true,
    [ts_external_token__string_beginning] = true,
    [ts_external_token__symbol_beginning] = true,
    [ts_external_token__subshell_beginning] = true,
    [ts_external_token__regex_beginning] = true,
    [ts_external_token__word_list_beginning] = true,
    [ts_external_token__heredoc_body_beginning] = true,
    [ts_external_token__string_middle] = true,
    [ts_external_token__string_end] = true,
    [ts_external_token_heredoc_beginning] = true,
    [ts_external_token_SLASH] = true,
    [ts_external_token__element_reference_left_bracket] = true,
    [ts_external_token__block_ampersand] = true,
    [ts_external_token__splat_star] = true,
    [ts_external_token__argument_list_left_paren] = true,
    [ts_external_token__scope_double_colon] = true,
    [ts_external_token__keyword_colon] = true,
    [ts_external_token__unary_minus] = true,
    [ts_external_token__binary_minus] = true,
    [ts_external_token__binary_star] = true,
  },
  [51] = {
    [ts_external_token__simple_heredoc_body] = true,
    [ts_external_token__heredoc_body_beginning] = true,
    [ts_external_token__string_middle] = true,
    [ts_external_token__string_end] = true,
    [ts_external_token_SLASH] = true,
    [ts_external_token__element_reference_left_bracket] = true,
    [ts_external_token__scope_double_colon] = true,
    [ts_external_token__keyword_colon] = true,
    [ts_external_token__binary_minus] = true,
    [ts_external_token__binary_star] = true,
  },
  [52] = {
    [ts_external_token__simple_string] = true,
    [ts_external_token__simple_symbol] = true,
    [ts_external_token__simple_subshell] = true,
    [ts_external_token__simple_regex] = true,
    [ts_external_token__simple_word_list] = true,
    [ts_external_token__simple_heredoc_body] = true,
    [ts_external_token__string_beginning] = true,
    [ts_external_token__symbol_beginning] = true,
    [ts_external_token__subshell_beginning] = true,
    [ts_external_token__regex_beginning] = true,
    [ts_external_token__word_list_beginning] = true,
    [ts_external_token__heredoc_body_beginning] = true,
    [ts_external_token__string_middle] = true,
    [ts_external_token__string_end] = true,
    [ts_external_token_heredoc_beginning] = true,
    [ts_external_token_SLASH] = true,
    [ts_external_token__element_reference_left_bracket] = true,
    [ts_external_token__block_ampersand] = true,
    [ts_external_token__splat_star] = true,
    [ts_external_token__argument_list_left_paren] = true,
    [ts_external_token__scope_double_colon] = true,
    [ts_external_token__unary_minus] = true,
    [ts_external_token__binary_minus] = true,
    [ts_external_token__binary_star] = true,
  },
  [53] = {
    [ts_external_token__simple_string] = true,
    [ts_external_token__string_beginning] = true,
    [ts_external_token__heredoc_body_middle] = true,
    [ts_external_token__heredoc_body_end] = true,
    [ts_external_token_SLASH] = true,
    [ts_external_token__element_reference_left_bracket] = true,
    [ts_external_token__scope_double_colon] = true,
    [ts_external_token__binary_minus] = true,
    [ts_external_token__binary_star] = true,
  },
  [54] = {
    [ts_external_token__heredoc_body_middle] = true,
    [ts_external_token__heredoc_body_end] = true,
    [ts_external_token_SLASH] = true,
    [ts_external_token__element_reference_left_bracket] = true,
    [ts_external_token__scope_double_colon] = true,
    [ts_external_token__binary_minus] = true,
    [ts_external_token__binary_star] = true,
  },
  [55] = {
    [ts_external_token__heredoc_body_middle] = true,
    [ts_external_token__heredoc_body_end] = true,
  },
  [56] = {
    [ts_external_token__simple_string] = true,
    [ts_external_token__simple_symbol] = true,
    [ts_external_token__simple_subshell] = true,
    [ts_external_token__simple_regex] = true,
    [ts_external_token__simple_word_list] = true,
    [ts_external_token__string_beginning] = true,
    [ts_external_token__symbol_beginning] = true,
    [ts_external_token__subshell_beginning] = true,
    [ts_external_token__regex_beginning] = true,
    [ts_external_token__word_list_beginning] = true,
    [ts_external_token__heredoc_body_middle] = true,
    [ts_external_token__heredoc_body_end] = true,
    [ts_external_token_heredoc_beginning] = true,
    [ts_external_token_SLASH] = true,
    [ts_external_token__element_reference_left_bracket] = true,
    [ts_external_token__block_ampersand] = true,
    [ts_external_token__splat_star] = true,
    [ts_external_token__argument_list_left_paren] = true,
    [ts_external_token__scope_double_colon] = true,
    [ts_external_token__unary_minus] = true,
    [ts_external_token__binary_minus] = true,
    [ts_external_token__binary_star] = true,
  },
  [57] = {
    [ts_external_token__heredoc_body_middle] = true,
    [ts_external_token__heredoc_body_end] = true,
    [ts_external_token_SLASH] = true,
    [ts_external_token__binary_minus] = true,
    [ts_external_token__binary_star] = true,
  },
  [58] = {
    [ts_external_token__simple_string] = true,
    [ts_external_token__string_beginning] = true,
    [ts_external_token_SLASH] = true,
    [ts_external_token__element_reference_left_bracket] = true,
    [ts_external_token__scope_double_colon] = true,
    [ts_external_token__binary_minus] = true,
    [ts_external_token__binary_star] = true,
  },
  [59] = {
    [ts_external_token__simple_string] = true,
    [ts_external_token__simple_heredoc_body] = true,
    [ts_external_token__string_beginning] = true,
    [ts_external_token__heredoc_body_beginning] = true,
    [ts_external_token_SLASH] = true,
    [ts_external_token__element_reference_left_bracket] = true,
    [ts_external_token__scope_double_colon] = true,
    [ts_external_token__binary_minus] = true,
    [ts_external_token__binary_star] = true,
  },
  [60] = {
    [ts_external_token__simple_heredoc_body] = true,
    [ts_external_token__heredoc_body_beginning] = true,
    [ts_external_token__line_break] = true,
    [ts_external_token__keyword_colon] = true,
  },
  [61] = {
    [ts_external_token__simple_heredoc_body] = true,
    [ts_external_token__heredoc_body_beginning] = true,
    [ts_external_token__element_reference_left_bracket] = true,
    [ts_external_token__scope_double_colon] = true,
  },
  [62] = {
    [ts_external_token__string_middle] = true,
    [ts_external_token__string_end] = true,
    [ts_external_token_SLASH] = true,
    [ts_external_token__element_reference_left_bracket] = true,
    [ts_external_token__scope_double_colon] = true,
    [ts_external_token__keyword_colon] = true,
    [ts_external_token__binary_minus] = true,
    [ts_external_token__binary_star] = true,
  },
  [63] = {
    [ts_external_token__simple_string] = true,
    [ts_external_token__simple_heredoc_body] = true,
    [ts_external_token__string_beginning] = true,
    [ts_external_token__heredoc_body_beginning] = true,
    [ts_external_token__string_middle] = true,
    [ts_external_token__string_end] = true,
    [ts_external_token_SLASH] = true,
    [ts_external_token__element_reference_left_bracket] = true,
    [ts_external_token__scope_double_colon] = true,
    [ts_external_token__binary_minus] = true,
    [ts_external_token__binary_star] = true,
  },
  [64] = {
    [ts_external_token__simple_string] = true,
    [ts_external_token__simple_heredoc_body] = true,
    [ts_external_token__string_beginning] = true,
    [ts_external_token__heredoc_body_beginning] = true,
    [ts_external_token__heredoc_body_middle] = true,
    [ts_external_token__heredoc_body_end] = true,
    [ts_external_token_SLASH] = true,
    [ts_external_token__element_reference_left_bracket] = true,
    [ts_external_token__scope_double_colon] = true,
    [ts_external_token__keyword_colon] = true,
    [ts_external_token__binary_minus] = true,
    [ts_external_token__binary_star] = true,
  },
  [65] = {
    [ts_external_token__simple_heredoc_body] = true,
    [ts_external_token__heredoc_body_beginning] = true,
    [ts_external_token__heredoc_body_middle] = true,
    [ts_external_token__heredoc_body_end] = true,
    [ts_external_token_SLASH] = true,
    [ts_external_token__element_reference_left_bracket] = true,
    [ts_external_token__scope_double_colon] = true,
    [ts_external_token__binary_minus] = true,
    [ts_external_token__binary_star] = true,
  },
  [66] = {
    [ts_external_token__simple_string] = true,
    [ts_external_token__simple_symbol] = true,
    [ts_external_token__simple_subshell] = true,
    [ts_external_token__simple_regex] = true,
    [ts_external_token__simple_word_list] = true,
    [ts_external_token__simple_heredoc_body] = true,
    [ts_external_token__string_beginning] = true,
    [ts_external_token__symbol_beginning] = true,
    [ts_external_token__subshell_beginning] = true,
    [ts_external_token__regex_beginning] = true,
    [ts_external_token__word_list_beginning] = true,
    [ts_external_token__heredoc_body_beginning] = true,
    [ts_external_token__heredoc_body_middle] = true,
    [ts_external_token__heredoc_body_end] = true,
    [ts_external_token_heredoc_beginning] = true,
    [ts_external_token_SLASH] = true,
    [ts_external_token__element_reference_left_bracket] = true,
    [ts_external_token__block_ampersand] = true,
    [ts_external_token__splat_star] = true,
    [ts_external_token__argument_list_left_paren] = true,
    [ts_external_token__scope_double_colon] = true,
    [ts_external_token__keyword_colon] = true,
    [ts_external_token__unary_minus] = true,
    [ts_external_token__binary_minus] = true,
    [ts_external_token__binary_star] = true,
  },
  [67] = {
    [ts_external_token__simple_heredoc_body] = true,
    [ts_external_token__heredoc_body_beginning] = true,
    [ts_external_token__heredoc_body_middle] = true,
    [ts_external_token__heredoc_body_end] = true,
    [ts_external_token_SLASH] = true,
    [ts_external_token__element_reference_left_bracket] = true,
    [ts_external_token__scope_double_colon] = true,
    [ts_external_token__keyword_colon] = true,
    [ts_external_token__binary_minus] = true,
    [ts_external_token__binary_star] = true,
  },
  [68] = {
    [ts_external_token__simple_string] = true,
    [ts_external_token__simple_symbol] = true,
    [ts_external_token__simple_subshell] = true,
    [ts_external_token__simple_regex] = true,
    [ts_external_token__simple_word_list] = true,
    [ts_external_token__simple_heredoc_body] = true,
    [ts_external_token__string_beginning] = true,
    [ts_external_token__symbol_beginning] = true,
    [ts_external_token__subshell_beginning] = true,
    [ts_external_token__regex_beginning] = true,
    [ts_external_token__word_list_beginning] = true,
    [ts_external_token__heredoc_body_beginning] = true,
    [ts_external_token__heredoc_body_middle] = true,
    [ts_external_token__heredoc_body_end] = true,
    [ts_external_token_heredoc_beginning] = true,
    [ts_external_token_SLASH] = true,
    [ts_external_token__element_reference_left_bracket] = true,
    [ts_external_token__block_ampersand] = true,
    [ts_external_token__splat_star] = true,
    [ts_external_token__argument_list_left_paren] = true,
    [ts_external_token__scope_double_colon] = true,
    [ts_external_token__unary_minus] = true,
    [ts_external_token__binary_minus] = true,
    [ts_external_token__binary_star] = true,
  },
  [69] = {
    [ts_external_token__element_reference_left_bracket] = true,
    [ts_external_token__scope_double_colon] = true,
    [ts_external_token__keyword_colon] = true,
  },
  [70] = {
    [ts_external_token__simple_string] = true,
    [ts_external_token__simple_symbol] = true,
    [ts_external_token__simple_subshell] = true,
    [ts_external_token__simple_regex] = true,
    [ts_external_token__simple_word_list] = true,
    [ts_external_token__string_beginning] = true,
    [ts_external_token__symbol_beginning] = true,
    [ts_external_token__subshell_beginning] = true,
    [ts_external_token__regex_beginning] = true,
    [ts_external_token__word_list_beginning] = true,
    [ts_external_token_heredoc_beginning] = true,
    [ts_external_token__block_ampersand] = true,
    [ts_external_token__splat_star] = true,
    [ts_external_token__unary_minus] = true,
  },
  [71] = {
    [ts_external_token__simple_heredoc_body] = true,
    [ts_external_token__heredoc_body_beginning] = true,
    [ts_external_token__line_break] = true,
    [ts_external_token__element_reference_left_bracket] = true,
    [ts_external_token__scope_double_colon] = true,
  },
  [72] = {
    [ts_external_token__heredoc_body_middle] = true,
    [ts_external_token__heredoc_body_end] = true,
    [ts_external_token_SLASH] = true,
    [ts_external_token__element_reference_left_bracket] = true,
    [ts_external_token__scope_double_colon] = true,
    [ts_external_token__keyword_colon] = true,
    [ts_external_token__binary_minus] = true,
    [ts_external_token__binary_star] = true,
  },
  [73] = {
    [ts_external_token__simple_string] = true,
    [ts_external_token__simple_heredoc_body] = true,
    [ts_external_token__string_beginning] = true,
    [ts_external_token__heredoc_body_beginning] = true,
    [ts_external_token__heredoc_body_middle] = true,
    [ts_external_token__heredoc_body_end] = true,
    [ts_external_token_SLASH] = true,
    [ts_external_token__element_reference_left_bracket] = true,
    [ts_external_token__scope_double_colon] = true,
    [ts_external_token__binary_minus] = true,
    [ts_external_token__binary_star] = true,
  },
};

static uint16_t ts_parse_table[STATE_COUNT][SYMBOL_COUNT] = {
  [0] = {
    [sym__simple_string] = ACTIONS(1),
    [sym__simple_symbol] = ACTIONS(1),
    [sym__simple_subshell] = ACTIONS(1),
    [sym__simple_regex] = ACTIONS(1),
    [sym__simple_word_list] = ACTIONS(1),
    [sym__simple_heredoc_body] = ACTIONS(1),
    [sym__string_beginning] = ACTIONS(1),
    [sym__symbol_beginning] = ACTIONS(1),
    [sym__subshell_beginning] = ACTIONS(1),
    [sym__regex_beginning] = ACTIONS(1),
    [sym__word_list_beginning] = ACTIONS(1),
    [sym__heredoc_body_beginning] = ACTIONS(1),
    [sym__string_middle] = ACTIONS(1),
    [sym__heredoc_body_middle] = ACTIONS(1),
    [sym__string_end] = ACTIONS(1),
    [sym__heredoc_body_end] = ACTIONS(1),
    [sym_heredoc_beginning] = ACTIONS(1),
    [sym__line_break] = ACTIONS(1),
    [sym__element_reference_left_bracket] = ACTIONS(1),
    [sym__block_ampersand] = ACTIONS(1),
    [sym__splat_star] = ACTIONS(1),
    [sym__argument_list_left_paren] = ACTIONS(1),
    [sym__scope_double_colon] = ACTIONS(1),
    [sym__keyword_colon] = ACTIONS(1),
    [sym__unary_minus] = ACTIONS(1),
    [sym__binary_minus] = ACTIONS(1),
    [sym__binary_star] = ACTIONS(1),
    [sym__singleton_class_left_angle_left_langle] = ACTIONS(1),
    [ts_builtin_sym_end] = ACTIONS(1),
    [anon_sym___END__] = ACTIONS(1),
    [anon_sym_BEGIN] = ACTIONS(3),
    [anon_sym_LBRACE] = ACTIONS(1),
    [anon_sym_RBRACE] = ACTIONS(1),
    [anon_sym_END] = ACTIONS(3),
    [anon_sym_def] = ACTIONS(3),
    [anon_sym_LPAREN] = ACTIONS(1),
    [anon_sym_RPAREN] = ACTIONS(1),
    [anon_sym_DOT] = ACTIONS(3),
    [anon_sym_COLON_COLON] = ACTIONS(1),
    [anon_sym_end] = ACTIONS(1),
    [anon_sym_COMMA] = ACTIONS(1),
    [anon_sym_PIPE] = ACTIONS(3),
    [anon_sym_SEMI] = ACTIONS(1),
    [anon_sym_STAR] = ACTIONS(3),
    [anon_sym_STAR_STAR] = ACTIONS(3),
    [anon_sym_AMP] = ACTIONS(3),
    [anon_sym_EQ] = ACTIONS(3),
    [anon_sym_class] = ACTIONS(1),
    [anon_sym_LT] = ACTIONS(3),
    [anon_sym_module] = ACTIONS(1),
    [anon_sym_return] = ACTIONS(1),
    [anon_sym_yield] = ACTIONS(1),
    [anon_sym_break] = ACTIONS(1),
    [anon_sym_next] = ACTIONS(1),
    [anon_sym_redo] = ACTIONS(1),
    [anon_sym_retry] = ACTIONS(1),
    [anon_sym_if] = ACTIONS(1),
    [anon_sym_unless] = ACTIONS(1),
    [anon_sym_while] = ACTIONS(1),
    [anon_sym_until] = ACTIONS(1),
    [anon_sym_rescue] = ACTIONS(1),
    [anon_sym_for] = ACTIONS(1),
    [anon_sym_in] = ACTIONS(1),
    [anon_sym_do] = ACTIONS(1),
    [anon_sym_case] = ACTIONS(1),
    [anon_sym_when] = ACTIONS(1),
    [anon_sym_elsif] = ACTIONS(1),
    [anon_sym_else] = ACTIONS(1),
    [anon_sym_then] = ACTIONS(1),
    [anon_sym_begin] = ACTIONS(1),
    [anon_sym_ensure] = ACTIONS(1),
    [anon_sym_EQ_GT] = ACTIONS(1),
    [anon_sym_RBRACK] = ACTIONS(1),
    [anon_sym_AMP_DOT] = ACTIONS(1),
    [anon_sym_PLUS_EQ] = ACTIONS(1),
    [anon_sym_DASH_EQ] = ACTIONS(1),
    [anon_sym_STAR_EQ] = ACTIONS(1),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1),
    [anon_sym_SLASH_EQ] = ACTIONS(1),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1),
    [anon_sym_PIPE_EQ] = ACTIONS(1),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1),
    [anon_sym_AMP_EQ] = ACTIONS(1),
    [anon_sym_PERCENT_EQ] = ACTIONS(1),
    [anon_sym_GT_GT_EQ] = ACTIONS(1),
    [anon_sym_LT_LT_EQ] = ACTIONS(1),
    [anon_sym_CARET_EQ] = ACTIONS(1),
    [anon_sym_QMARK] = ACTIONS(3),
    [anon_sym_COLON] = ACTIONS(3),
    [anon_sym_DOT_DOT] = ACTIONS(3),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1),
    [anon_sym_and] = ACTIONS(1),
    [anon_sym_or] = ACTIONS(1),
    [anon_sym_PIPE_PIPE] = ACTIONS(3),
    [anon_sym_AMP_AMP] = ACTIONS(3),
    [anon_sym_LT_LT] = ACTIONS(3),
    [anon_sym_GT_GT] = ACTIONS(3),
    [anon_sym_EQ_EQ] = ACTIONS(3),
    [anon_sym_BANG_EQ] = ACTIONS(1),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1),
    [anon_sym_LT_EQ_GT] = ACTIONS(1),
    [anon_sym_EQ_TILDE] = ACTIONS(1),
    [anon_sym_BANG_TILDE] = ACTIONS(1),
    [anon_sym_LT_EQ] = ACTIONS(3),
    [anon_sym_GT] = ACTIONS(3),
    [anon_sym_GT_EQ] = ACTIONS(1),
    [anon_sym_CARET] = ACTIONS(3),
    [anon_sym_PLUS] = ACTIONS(3),
    [anon_sym_SLASH] = ACTIONS(3),
    [anon_sym_PERCENT] = ACTIONS(3),
    [anon_sym_defined_QMARK] = ACTIONS(1),
    [anon_sym_not] = ACTIONS(1),
    [anon_sym_BANG] = ACTIONS(3),
    [anon_sym_TILDE] = ACTIONS(1),
    [sym_constant] = ACTIONS(5),
    [sym_instance_variable] = ACTIONS(3),
    [sym_class_variable] = ACTIONS(3),
    [sym_global_variable] = ACTIONS(3),
    [anon_sym_alias] = ACTIONS(1),
    [anon_sym_defined] = ACTIONS(3),
    [anon_sym_false] = ACTIONS(1),
    [anon_sym_nil] = ACTIONS(1),
    [anon_sym_self] = ACTIONS(1),
    [anon_sym_super] = ACTIONS(1),
    [anon_sym_true] = ACTIONS(1),
    [anon_sym_undef] = ACTIONS(1),
    [anon_sym_DASH] = ACTIONS(3),
    [anon_sym_PLUS_AT] = ACTIONS(1),
    [anon_sym_DASH_AT] = ACTIONS(1),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(3),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(1),
    [anon_sym_BQUOTE] = ACTIONS(1),
    [sym_comment] = ACTIONS(7),
    [sym_integer] = ACTIONS(3),
    [sym_float] = ACTIONS(5),
    [anon_sym_r] = ACTIONS(3),
    [anon_sym_TRUE] = ACTIONS(3),
    [anon_sym_FALSE] = ACTIONS(3),
    [anon_sym_NIL] = ACTIONS(3),
    [sym_keyword__FILE__] = ACTIONS(1),
    [sym_keyword__LINE__] = ACTIONS(1),
    [sym_keyword__ENCODING__] = ACTIONS(1),
    [sym__character_literal] = ACTIONS(3),
    [anon_sym_LBRACK] = ACTIONS(3),
    [anon_sym_DASH_GT] = ACTIONS(1),
  },
  [1] = {
    [sym_program] = STATE(53),
    [sym__statements] = STATE(54),
    [sym__top_level_statement] = STATE(55),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(57),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(59),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(64),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(68),
    [sym__variable] = STATE(62),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(32),
    [ts_builtin_sym_end] = ACTIONS(34),
    [anon_sym___END__] = ACTIONS(36),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(84),
    [anon_sym_defined_QMARK] = ACTIONS(86),
    [anon_sym_not] = ACTIONS(88),
    [anon_sym_BANG] = ACTIONS(90),
    [anon_sym_TILDE] = ACTIONS(90),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2] = {
    [sym__simple_string] = ACTIONS(126),
    [sym__simple_heredoc_body] = ACTIONS(126),
    [sym__string_beginning] = ACTIONS(126),
    [sym__heredoc_body_beginning] = ACTIONS(126),
    [sym__line_break] = ACTIONS(126),
    [sym__element_reference_left_bracket] = ACTIONS(126),
    [sym__scope_double_colon] = ACTIONS(126),
    [sym__binary_minus] = ACTIONS(126),
    [sym__binary_star] = ACTIONS(126),
    [ts_builtin_sym_end] = ACTIONS(126),
    [anon_sym___END__] = ACTIONS(126),
    [anon_sym_LBRACE] = ACTIONS(126),
    [anon_sym_RBRACE] = ACTIONS(126),
    [anon_sym_RPAREN] = ACTIONS(126),
    [anon_sym_DOT] = ACTIONS(128),
    [anon_sym_end] = ACTIONS(126),
    [anon_sym_COMMA] = ACTIONS(126),
    [anon_sym_PIPE] = ACTIONS(128),
    [anon_sym_SEMI] = ACTIONS(126),
    [anon_sym_STAR_STAR] = ACTIONS(126),
    [anon_sym_AMP] = ACTIONS(128),
    [anon_sym_LT] = ACTIONS(128),
    [anon_sym_if] = ACTIONS(126),
    [anon_sym_unless] = ACTIONS(126),
    [anon_sym_while] = ACTIONS(126),
    [anon_sym_until] = ACTIONS(126),
    [anon_sym_rescue] = ACTIONS(126),
    [anon_sym_do] = ACTIONS(126),
    [anon_sym_when] = ACTIONS(126),
    [anon_sym_elsif] = ACTIONS(126),
    [anon_sym_else] = ACTIONS(126),
    [anon_sym_then] = ACTIONS(126),
    [anon_sym_ensure] = ACTIONS(126),
    [anon_sym_EQ_GT] = ACTIONS(126),
    [anon_sym_AMP_DOT] = ACTIONS(126),
    [anon_sym_QMARK] = ACTIONS(128),
    [anon_sym_DOT_DOT] = ACTIONS(128),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(126),
    [anon_sym_and] = ACTIONS(126),
    [anon_sym_or] = ACTIONS(126),
    [anon_sym_PIPE_PIPE] = ACTIONS(126),
    [anon_sym_AMP_AMP] = ACTIONS(126),
    [anon_sym_LT_LT] = ACTIONS(126),
    [anon_sym_GT_GT] = ACTIONS(126),
    [anon_sym_EQ_EQ] = ACTIONS(128),
    [anon_sym_BANG_EQ] = ACTIONS(126),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(126),
    [anon_sym_LT_EQ_GT] = ACTIONS(126),
    [anon_sym_EQ_TILDE] = ACTIONS(126),
    [anon_sym_BANG_TILDE] = ACTIONS(126),
    [anon_sym_LT_EQ] = ACTIONS(128),
    [anon_sym_GT] = ACTIONS(128),
    [anon_sym_GT_EQ] = ACTIONS(126),
    [anon_sym_CARET] = ACTIONS(126),
    [anon_sym_PLUS] = ACTIONS(126),
    [anon_sym_SLASH] = ACTIONS(126),
    [anon_sym_PERCENT] = ACTIONS(126),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(128),
  },
  [3] = {
    [sym__simple_heredoc_body] = ACTIONS(130),
    [sym__heredoc_body_beginning] = ACTIONS(130),
    [sym__line_break] = ACTIONS(130),
    [sym__element_reference_left_bracket] = ACTIONS(130),
    [sym__scope_double_colon] = ACTIONS(130),
    [sym__binary_minus] = ACTIONS(130),
    [sym__binary_star] = ACTIONS(130),
    [ts_builtin_sym_end] = ACTIONS(130),
    [anon_sym___END__] = ACTIONS(130),
    [anon_sym_LBRACE] = ACTIONS(130),
    [anon_sym_RBRACE] = ACTIONS(130),
    [anon_sym_RPAREN] = ACTIONS(130),
    [anon_sym_DOT] = ACTIONS(132),
    [anon_sym_end] = ACTIONS(130),
    [anon_sym_COMMA] = ACTIONS(130),
    [anon_sym_PIPE] = ACTIONS(132),
    [anon_sym_SEMI] = ACTIONS(130),
    [anon_sym_STAR_STAR] = ACTIONS(130),
    [anon_sym_AMP] = ACTIONS(132),
    [anon_sym_LT] = ACTIONS(132),
    [anon_sym_if] = ACTIONS(130),
    [anon_sym_unless] = ACTIONS(130),
    [anon_sym_while] = ACTIONS(130),
    [anon_sym_until] = ACTIONS(130),
    [anon_sym_rescue] = ACTIONS(130),
    [anon_sym_do] = ACTIONS(130),
    [anon_sym_when] = ACTIONS(130),
    [anon_sym_elsif] = ACTIONS(130),
    [anon_sym_else] = ACTIONS(130),
    [anon_sym_then] = ACTIONS(130),
    [anon_sym_ensure] = ACTIONS(130),
    [anon_sym_EQ_GT] = ACTIONS(130),
    [anon_sym_AMP_DOT] = ACTIONS(130),
    [anon_sym_QMARK] = ACTIONS(130),
    [anon_sym_DOT_DOT] = ACTIONS(132),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(130),
    [anon_sym_and] = ACTIONS(130),
    [anon_sym_or] = ACTIONS(130),
    [anon_sym_PIPE_PIPE] = ACTIONS(130),
    [anon_sym_AMP_AMP] = ACTIONS(130),
    [anon_sym_LT_LT] = ACTIONS(130),
    [anon_sym_GT_GT] = ACTIONS(130),
    [anon_sym_EQ_EQ] = ACTIONS(132),
    [anon_sym_BANG_EQ] = ACTIONS(130),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(130),
    [anon_sym_LT_EQ_GT] = ACTIONS(130),
    [anon_sym_EQ_TILDE] = ACTIONS(130),
    [anon_sym_BANG_TILDE] = ACTIONS(130),
    [anon_sym_LT_EQ] = ACTIONS(132),
    [anon_sym_GT] = ACTIONS(132),
    [anon_sym_GT_EQ] = ACTIONS(130),
    [anon_sym_CARET] = ACTIONS(130),
    [anon_sym_PLUS] = ACTIONS(130),
    [anon_sym_SLASH] = ACTIONS(130),
    [anon_sym_PERCENT] = ACTIONS(130),
    [sym_comment] = ACTIONS(110),
  },
  [4] = {
    [sym__simple_heredoc_body] = ACTIONS(134),
    [sym__heredoc_body_beginning] = ACTIONS(134),
    [sym__line_break] = ACTIONS(134),
    [sym__element_reference_left_bracket] = ACTIONS(134),
    [sym__scope_double_colon] = ACTIONS(134),
    [sym__binary_minus] = ACTIONS(134),
    [sym__binary_star] = ACTIONS(134),
    [ts_builtin_sym_end] = ACTIONS(134),
    [anon_sym___END__] = ACTIONS(134),
    [anon_sym_LBRACE] = ACTIONS(134),
    [anon_sym_RBRACE] = ACTIONS(134),
    [anon_sym_RPAREN] = ACTIONS(134),
    [anon_sym_DOT] = ACTIONS(136),
    [anon_sym_end] = ACTIONS(134),
    [anon_sym_COMMA] = ACTIONS(134),
    [anon_sym_PIPE] = ACTIONS(136),
    [anon_sym_SEMI] = ACTIONS(134),
    [anon_sym_STAR_STAR] = ACTIONS(134),
    [anon_sym_AMP] = ACTIONS(136),
    [anon_sym_LT] = ACTIONS(136),
    [anon_sym_if] = ACTIONS(134),
    [anon_sym_unless] = ACTIONS(134),
    [anon_sym_while] = ACTIONS(134),
    [anon_sym_until] = ACTIONS(134),
    [anon_sym_rescue] = ACTIONS(134),
    [anon_sym_do] = ACTIONS(134),
    [anon_sym_when] = ACTIONS(134),
    [anon_sym_elsif] = ACTIONS(134),
    [anon_sym_else] = ACTIONS(134),
    [anon_sym_then] = ACTIONS(134),
    [anon_sym_ensure] = ACTIONS(134),
    [anon_sym_EQ_GT] = ACTIONS(134),
    [anon_sym_AMP_DOT] = ACTIONS(134),
    [anon_sym_QMARK] = ACTIONS(134),
    [anon_sym_DOT_DOT] = ACTIONS(136),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(134),
    [anon_sym_and] = ACTIONS(134),
    [anon_sym_or] = ACTIONS(134),
    [anon_sym_PIPE_PIPE] = ACTIONS(134),
    [anon_sym_AMP_AMP] = ACTIONS(134),
    [anon_sym_LT_LT] = ACTIONS(134),
    [anon_sym_GT_GT] = ACTIONS(134),
    [anon_sym_EQ_EQ] = ACTIONS(136),
    [anon_sym_BANG_EQ] = ACTIONS(134),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(134),
    [anon_sym_LT_EQ_GT] = ACTIONS(134),
    [anon_sym_EQ_TILDE] = ACTIONS(134),
    [anon_sym_BANG_TILDE] = ACTIONS(134),
    [anon_sym_LT_EQ] = ACTIONS(136),
    [anon_sym_GT] = ACTIONS(136),
    [anon_sym_GT_EQ] = ACTIONS(134),
    [anon_sym_CARET] = ACTIONS(134),
    [anon_sym_PLUS] = ACTIONS(134),
    [anon_sym_SLASH] = ACTIONS(134),
    [anon_sym_PERCENT] = ACTIONS(134),
    [sym_comment] = ACTIONS(110),
  },
  [5] = {
    [sym__simple_heredoc_body] = ACTIONS(138),
    [sym__heredoc_body_beginning] = ACTIONS(138),
    [sym__line_break] = ACTIONS(138),
    [sym__element_reference_left_bracket] = ACTIONS(138),
    [sym__scope_double_colon] = ACTIONS(138),
    [sym__binary_minus] = ACTIONS(138),
    [sym__binary_star] = ACTIONS(138),
    [ts_builtin_sym_end] = ACTIONS(138),
    [anon_sym___END__] = ACTIONS(138),
    [anon_sym_LBRACE] = ACTIONS(138),
    [anon_sym_RBRACE] = ACTIONS(138),
    [anon_sym_RPAREN] = ACTIONS(138),
    [anon_sym_DOT] = ACTIONS(140),
    [anon_sym_end] = ACTIONS(138),
    [anon_sym_COMMA] = ACTIONS(138),
    [anon_sym_PIPE] = ACTIONS(140),
    [anon_sym_SEMI] = ACTIONS(138),
    [anon_sym_STAR_STAR] = ACTIONS(138),
    [anon_sym_AMP] = ACTIONS(140),
    [anon_sym_LT] = ACTIONS(140),
    [anon_sym_if] = ACTIONS(138),
    [anon_sym_unless] = ACTIONS(138),
    [anon_sym_while] = ACTIONS(138),
    [anon_sym_until] = ACTIONS(138),
    [anon_sym_rescue] = ACTIONS(138),
    [anon_sym_do] = ACTIONS(138),
    [anon_sym_when] = ACTIONS(138),
    [anon_sym_elsif] = ACTIONS(138),
    [anon_sym_else] = ACTIONS(138),
    [anon_sym_then] = ACTIONS(138),
    [anon_sym_ensure] = ACTIONS(138),
    [anon_sym_EQ_GT] = ACTIONS(138),
    [anon_sym_AMP_DOT] = ACTIONS(138),
    [anon_sym_QMARK] = ACTIONS(138),
    [anon_sym_DOT_DOT] = ACTIONS(140),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(138),
    [anon_sym_and] = ACTIONS(138),
    [anon_sym_or] = ACTIONS(138),
    [anon_sym_PIPE_PIPE] = ACTIONS(138),
    [anon_sym_AMP_AMP] = ACTIONS(138),
    [anon_sym_LT_LT] = ACTIONS(138),
    [anon_sym_GT_GT] = ACTIONS(138),
    [anon_sym_EQ_EQ] = ACTIONS(140),
    [anon_sym_BANG_EQ] = ACTIONS(138),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(138),
    [anon_sym_LT_EQ_GT] = ACTIONS(138),
    [anon_sym_EQ_TILDE] = ACTIONS(138),
    [anon_sym_BANG_TILDE] = ACTIONS(138),
    [anon_sym_LT_EQ] = ACTIONS(140),
    [anon_sym_GT] = ACTIONS(140),
    [anon_sym_GT_EQ] = ACTIONS(138),
    [anon_sym_CARET] = ACTIONS(138),
    [anon_sym_PLUS] = ACTIONS(138),
    [anon_sym_SLASH] = ACTIONS(138),
    [anon_sym_PERCENT] = ACTIONS(138),
    [sym_comment] = ACTIONS(110),
  },
  [6] = {
    [sym__simple_heredoc_body] = ACTIONS(142),
    [sym__heredoc_body_beginning] = ACTIONS(142),
    [sym__line_break] = ACTIONS(142),
    [sym__element_reference_left_bracket] = ACTIONS(142),
    [sym__scope_double_colon] = ACTIONS(142),
    [sym__binary_minus] = ACTIONS(142),
    [sym__binary_star] = ACTIONS(142),
    [ts_builtin_sym_end] = ACTIONS(142),
    [anon_sym___END__] = ACTIONS(142),
    [anon_sym_LBRACE] = ACTIONS(142),
    [anon_sym_RBRACE] = ACTIONS(142),
    [anon_sym_RPAREN] = ACTIONS(142),
    [anon_sym_DOT] = ACTIONS(144),
    [anon_sym_end] = ACTIONS(142),
    [anon_sym_COMMA] = ACTIONS(142),
    [anon_sym_PIPE] = ACTIONS(144),
    [anon_sym_SEMI] = ACTIONS(142),
    [anon_sym_STAR_STAR] = ACTIONS(142),
    [anon_sym_AMP] = ACTIONS(144),
    [anon_sym_LT] = ACTIONS(144),
    [anon_sym_if] = ACTIONS(142),
    [anon_sym_unless] = ACTIONS(142),
    [anon_sym_while] = ACTIONS(142),
    [anon_sym_until] = ACTIONS(142),
    [anon_sym_rescue] = ACTIONS(142),
    [anon_sym_do] = ACTIONS(142),
    [anon_sym_when] = ACTIONS(142),
    [anon_sym_elsif] = ACTIONS(142),
    [anon_sym_else] = ACTIONS(142),
    [anon_sym_then] = ACTIONS(142),
    [anon_sym_ensure] = ACTIONS(142),
    [anon_sym_EQ_GT] = ACTIONS(142),
    [anon_sym_AMP_DOT] = ACTIONS(142),
    [anon_sym_QMARK] = ACTIONS(142),
    [anon_sym_DOT_DOT] = ACTIONS(144),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(142),
    [anon_sym_and] = ACTIONS(142),
    [anon_sym_or] = ACTIONS(142),
    [anon_sym_PIPE_PIPE] = ACTIONS(142),
    [anon_sym_AMP_AMP] = ACTIONS(142),
    [anon_sym_LT_LT] = ACTIONS(142),
    [anon_sym_GT_GT] = ACTIONS(142),
    [anon_sym_EQ_EQ] = ACTIONS(144),
    [anon_sym_BANG_EQ] = ACTIONS(142),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(142),
    [anon_sym_LT_EQ_GT] = ACTIONS(142),
    [anon_sym_EQ_TILDE] = ACTIONS(142),
    [anon_sym_BANG_TILDE] = ACTIONS(142),
    [anon_sym_LT_EQ] = ACTIONS(144),
    [anon_sym_GT] = ACTIONS(144),
    [anon_sym_GT_EQ] = ACTIONS(142),
    [anon_sym_CARET] = ACTIONS(142),
    [anon_sym_PLUS] = ACTIONS(142),
    [anon_sym_SLASH] = ACTIONS(142),
    [anon_sym_PERCENT] = ACTIONS(142),
    [sym_comment] = ACTIONS(110),
  },
  [7] = {
    [sym__statement] = STATE(117),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(127),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [8] = {
    [sym__statement] = STATE(128),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(129),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [9] = {
    [sym__statement] = STATE(130),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(131),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [10] = {
    [sym__statement] = STATE(132),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(133),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [11] = {
    [sym__statement] = STATE(134),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(135),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [12] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [ts_builtin_sym_end] = ACTIONS(250),
    [anon_sym___END__] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_RBRACE] = ACTIONS(250),
    [anon_sym_RPAREN] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_end] = ACTIONS(250),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_when] = ACTIONS(250),
    [anon_sym_elsif] = ACTIONS(250),
    [anon_sym_else] = ACTIONS(250),
    [anon_sym_then] = ACTIONS(250),
    [anon_sym_ensure] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
  },
  [13] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(136),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(64),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(68),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(32),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(84),
    [anon_sym_defined_QMARK] = ACTIONS(86),
    [anon_sym_not] = ACTIONS(88),
    [anon_sym_BANG] = ACTIONS(90),
    [anon_sym_TILDE] = ACTIONS(90),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [14] = {
    [sym_uninterpreted] = ACTIONS(254),
    [sym_comment] = ACTIONS(256),
  },
  [15] = {
    [anon_sym_LBRACE] = ACTIONS(258),
    [sym_comment] = ACTIONS(110),
  },
  [16] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(193),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_hash_splat_argument] = STATE(197),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(199),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(200),
    [sym__variable] = STATE(196),
    [sym_reserved_identifier] = STATE(201),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(202),
    [sym_subshell] = STATE(151),
    [sym_heredoc_end] = STATE(203),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym__hash_items] = STATE(204),
    [sym_pair] = STATE(205),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(260),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(272),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(286),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_RBRACE] = ACTIONS(290),
    [anon_sym_def] = ACTIONS(292),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(302),
    [anon_sym_class] = ACTIONS(304),
    [anon_sym_module] = ACTIONS(306),
    [anon_sym_return] = ACTIONS(308),
    [anon_sym_yield] = ACTIONS(310),
    [anon_sym_break] = ACTIONS(312),
    [anon_sym_next] = ACTIONS(314),
    [anon_sym_redo] = ACTIONS(316),
    [anon_sym_retry] = ACTIONS(318),
    [anon_sym_if] = ACTIONS(320),
    [anon_sym_unless] = ACTIONS(322),
    [anon_sym_while] = ACTIONS(324),
    [anon_sym_until] = ACTIONS(326),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(328),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(330),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(332),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(334),
    [anon_sym_defined_QMARK] = ACTIONS(336),
    [anon_sym_not] = ACTIONS(338),
    [anon_sym_BANG] = ACTIONS(340),
    [anon_sym_TILDE] = ACTIONS(340),
    [sym_constant] = ACTIONS(342),
    [sym_identifier] = ACTIONS(342),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(346),
    [anon_sym_nil] = ACTIONS(348),
    [anon_sym_self] = ACTIONS(350),
    [anon_sym_super] = ACTIONS(352),
    [anon_sym_true] = ACTIONS(354),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(370),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [17] = {
    [anon_sym_LBRACE] = ACTIONS(376),
    [sym_comment] = ACTIONS(110),
  },
  [18] = {
    [sym__method_rest] = STATE(215),
    [sym__variable] = STATE(216),
    [sym_operator] = STATE(217),
    [sym__method_name] = STATE(218),
    [sym_setter] = STATE(217),
    [sym_symbol] = STATE(217),
    [sym_super] = STATE(219),
    [sym_self] = STATE(219),
    [sym__simple_symbol] = ACTIONS(378),
    [sym__symbol_beginning] = ACTIONS(380),
    [anon_sym_LPAREN] = ACTIONS(382),
    [anon_sym_PIPE] = ACTIONS(384),
    [anon_sym_STAR] = ACTIONS(386),
    [anon_sym_STAR_STAR] = ACTIONS(384),
    [anon_sym_AMP] = ACTIONS(384),
    [anon_sym_LT] = ACTIONS(386),
    [anon_sym_DOT_DOT] = ACTIONS(384),
    [anon_sym_LT_LT] = ACTIONS(384),
    [anon_sym_GT_GT] = ACTIONS(384),
    [anon_sym_EQ_EQ] = ACTIONS(386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(384),
    [anon_sym_LT_EQ_GT] = ACTIONS(384),
    [anon_sym_EQ_TILDE] = ACTIONS(384),
    [anon_sym_BANG_TILDE] = ACTIONS(384),
    [anon_sym_LT_EQ] = ACTIONS(386),
    [anon_sym_GT] = ACTIONS(386),
    [anon_sym_GT_EQ] = ACTIONS(384),
    [anon_sym_CARET] = ACTIONS(384),
    [anon_sym_PLUS] = ACTIONS(386),
    [anon_sym_SLASH] = ACTIONS(384),
    [anon_sym_PERCENT] = ACTIONS(384),
    [anon_sym_BANG] = ACTIONS(386),
    [anon_sym_TILDE] = ACTIONS(384),
    [sym_constant] = ACTIONS(388),
    [sym_identifier] = ACTIONS(390),
    [sym_instance_variable] = ACTIONS(388),
    [sym_class_variable] = ACTIONS(388),
    [sym_global_variable] = ACTIONS(388),
    [anon_sym_self] = ACTIONS(392),
    [anon_sym_super] = ACTIONS(394),
    [anon_sym_DASH] = ACTIONS(386),
    [anon_sym_PLUS_AT] = ACTIONS(384),
    [anon_sym_DASH_AT] = ACTIONS(384),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(386),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(384),
    [anon_sym_BQUOTE] = ACTIONS(384),
    [sym_comment] = ACTIONS(110),
  },
  [19] = {
    [sym__statements] = STATE(234),
    [sym__top_level_statement] = STATE(235),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(236),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(237),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(240),
    [sym__mlhs] = STATE(241),
    [sym__simple_mlhs] = STATE(242),
    [sym_destructured_left_assignment] = STATE(242),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(243),
    [sym__variable] = STATE(239),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(396),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_RPAREN] = ACTIONS(398),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(402),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(412),
    [anon_sym_defined_QMARK] = ACTIONS(414),
    [anon_sym_not] = ACTIONS(416),
    [anon_sym_BANG] = ACTIONS(418),
    [anon_sym_TILDE] = ACTIONS(418),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [20] = {
    [sym_constant] = ACTIONS(428),
    [sym_identifier] = ACTIONS(428),
    [sym_comment] = ACTIONS(110),
  },
  [21] = {
    [sym__simple_heredoc_body] = ACTIONS(430),
    [sym__heredoc_body_beginning] = ACTIONS(430),
    [sym__line_break] = ACTIONS(430),
    [ts_builtin_sym_end] = ACTIONS(430),
    [anon_sym___END__] = ACTIONS(430),
    [anon_sym_RBRACE] = ACTIONS(430),
    [anon_sym_RPAREN] = ACTIONS(430),
    [anon_sym_end] = ACTIONS(430),
    [anon_sym_SEMI] = ACTIONS(430),
    [anon_sym_if] = ACTIONS(430),
    [anon_sym_unless] = ACTIONS(430),
    [anon_sym_while] = ACTIONS(430),
    [anon_sym_until] = ACTIONS(430),
    [anon_sym_rescue] = ACTIONS(430),
    [anon_sym_when] = ACTIONS(430),
    [anon_sym_elsif] = ACTIONS(430),
    [anon_sym_else] = ACTIONS(430),
    [anon_sym_then] = ACTIONS(430),
    [anon_sym_ensure] = ACTIONS(430),
    [sym_comment] = ACTIONS(110),
  },
  [22] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(285),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(287),
    [sym_call] = STATE(287),
    [sym_method_call] = STATE(286),
    [sym__lhs] = STATE(288),
    [sym__variable] = STATE(287),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(458),
    [anon_sym_COLON_COLON] = ACTIONS(460),
    [anon_sym_COMMA] = ACTIONS(462),
    [anon_sym_EQ] = ACTIONS(462),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(494),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [23] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(293),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(294),
    [sym_call] = STATE(295),
    [sym_method_call] = STATE(286),
    [sym__lhs] = STATE(255),
    [sym__variable] = STATE(295),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [sym__singleton_class_left_angle_left_langle] = ACTIONS(522),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(458),
    [anon_sym_COLON_COLON] = ACTIONS(524),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(526),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [24] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(293),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(297),
    [sym_call] = STATE(295),
    [sym_method_call] = STATE(286),
    [sym__lhs] = STATE(255),
    [sym__variable] = STATE(295),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(458),
    [anon_sym_COLON_COLON] = ACTIONS(524),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(528),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [25] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(336),
    [sym__primary] = STATE(337),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(339),
    [sym_call] = STATE(339),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(340),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(342),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(345),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(346),
    [sym__variable] = STATE(339),
    [sym_reserved_identifier] = STATE(347),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(348),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(536),
    [sym__splat_star] = ACTIONS(538),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(542),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [ts_builtin_sym_end] = ACTIONS(532),
    [anon_sym___END__] = ACTIONS(544),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(554),
    [anon_sym_yield] = ACTIONS(556),
    [anon_sym_break] = ACTIONS(558),
    [anon_sym_next] = ACTIONS(560),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(572),
    [anon_sym_not] = ACTIONS(574),
    [anon_sym_BANG] = ACTIONS(576),
    [anon_sym_TILDE] = ACTIONS(578),
    [sym_constant] = ACTIONS(580),
    [sym_identifier] = ACTIONS(580),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(588),
    [anon_sym_super] = ACTIONS(590),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [26] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(336),
    [sym__primary] = STATE(337),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(339),
    [sym_call] = STATE(339),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(349),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(342),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(345),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(346),
    [sym__variable] = STATE(339),
    [sym_reserved_identifier] = STATE(347),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(348),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(536),
    [sym__splat_star] = ACTIONS(538),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(542),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [ts_builtin_sym_end] = ACTIONS(602),
    [anon_sym___END__] = ACTIONS(604),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(554),
    [anon_sym_yield] = ACTIONS(556),
    [anon_sym_break] = ACTIONS(558),
    [anon_sym_next] = ACTIONS(560),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(572),
    [anon_sym_not] = ACTIONS(574),
    [anon_sym_BANG] = ACTIONS(576),
    [anon_sym_TILDE] = ACTIONS(578),
    [sym_constant] = ACTIONS(580),
    [sym_identifier] = ACTIONS(580),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(588),
    [anon_sym_super] = ACTIONS(590),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [27] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(336),
    [sym__primary] = STATE(337),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(339),
    [sym_call] = STATE(339),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(350),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(342),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(345),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(346),
    [sym__variable] = STATE(339),
    [sym_reserved_identifier] = STATE(347),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(348),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(536),
    [sym__splat_star] = ACTIONS(538),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(542),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [ts_builtin_sym_end] = ACTIONS(606),
    [anon_sym___END__] = ACTIONS(608),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(554),
    [anon_sym_yield] = ACTIONS(556),
    [anon_sym_break] = ACTIONS(558),
    [anon_sym_next] = ACTIONS(560),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(572),
    [anon_sym_not] = ACTIONS(574),
    [anon_sym_BANG] = ACTIONS(576),
    [anon_sym_TILDE] = ACTIONS(578),
    [sym_constant] = ACTIONS(580),
    [sym_identifier] = ACTIONS(580),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(588),
    [anon_sym_super] = ACTIONS(590),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [28] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(336),
    [sym__primary] = STATE(337),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(339),
    [sym_call] = STATE(339),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(351),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(342),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(345),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(346),
    [sym__variable] = STATE(339),
    [sym_reserved_identifier] = STATE(347),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(348),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(536),
    [sym__splat_star] = ACTIONS(538),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(542),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [ts_builtin_sym_end] = ACTIONS(610),
    [anon_sym___END__] = ACTIONS(612),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(554),
    [anon_sym_yield] = ACTIONS(556),
    [anon_sym_break] = ACTIONS(558),
    [anon_sym_next] = ACTIONS(560),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(572),
    [anon_sym_not] = ACTIONS(574),
    [anon_sym_BANG] = ACTIONS(576),
    [anon_sym_TILDE] = ACTIONS(578),
    [sym_constant] = ACTIONS(580),
    [sym_identifier] = ACTIONS(580),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(588),
    [anon_sym_super] = ACTIONS(590),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [29] = {
    [sym__simple_heredoc_body] = ACTIONS(614),
    [sym__heredoc_body_beginning] = ACTIONS(614),
    [sym__line_break] = ACTIONS(614),
    [sym__element_reference_left_bracket] = ACTIONS(614),
    [sym__scope_double_colon] = ACTIONS(614),
    [sym__binary_minus] = ACTIONS(614),
    [sym__binary_star] = ACTIONS(614),
    [ts_builtin_sym_end] = ACTIONS(614),
    [anon_sym___END__] = ACTIONS(614),
    [anon_sym_LBRACE] = ACTIONS(614),
    [anon_sym_RBRACE] = ACTIONS(614),
    [anon_sym_RPAREN] = ACTIONS(614),
    [anon_sym_DOT] = ACTIONS(616),
    [anon_sym_end] = ACTIONS(614),
    [anon_sym_COMMA] = ACTIONS(614),
    [anon_sym_PIPE] = ACTIONS(616),
    [anon_sym_SEMI] = ACTIONS(614),
    [anon_sym_STAR_STAR] = ACTIONS(614),
    [anon_sym_AMP] = ACTIONS(616),
    [anon_sym_LT] = ACTIONS(616),
    [anon_sym_if] = ACTIONS(614),
    [anon_sym_unless] = ACTIONS(614),
    [anon_sym_while] = ACTIONS(614),
    [anon_sym_until] = ACTIONS(614),
    [anon_sym_rescue] = ACTIONS(614),
    [anon_sym_do] = ACTIONS(614),
    [anon_sym_when] = ACTIONS(614),
    [anon_sym_elsif] = ACTIONS(614),
    [anon_sym_else] = ACTIONS(614),
    [anon_sym_then] = ACTIONS(614),
    [anon_sym_ensure] = ACTIONS(614),
    [anon_sym_EQ_GT] = ACTIONS(614),
    [anon_sym_AMP_DOT] = ACTIONS(614),
    [anon_sym_QMARK] = ACTIONS(614),
    [anon_sym_DOT_DOT] = ACTIONS(616),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(614),
    [anon_sym_and] = ACTIONS(614),
    [anon_sym_or] = ACTIONS(614),
    [anon_sym_PIPE_PIPE] = ACTIONS(614),
    [anon_sym_AMP_AMP] = ACTIONS(614),
    [anon_sym_LT_LT] = ACTIONS(614),
    [anon_sym_GT_GT] = ACTIONS(614),
    [anon_sym_EQ_EQ] = ACTIONS(616),
    [anon_sym_BANG_EQ] = ACTIONS(614),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(614),
    [anon_sym_LT_EQ_GT] = ACTIONS(614),
    [anon_sym_EQ_TILDE] = ACTIONS(614),
    [anon_sym_BANG_TILDE] = ACTIONS(614),
    [anon_sym_LT_EQ] = ACTIONS(616),
    [anon_sym_GT] = ACTIONS(616),
    [anon_sym_GT_EQ] = ACTIONS(614),
    [anon_sym_CARET] = ACTIONS(614),
    [anon_sym_PLUS] = ACTIONS(614),
    [anon_sym_SLASH] = ACTIONS(614),
    [anon_sym_PERCENT] = ACTIONS(614),
    [sym_comment] = ACTIONS(110),
  },
  [30] = {
    [sym__simple_heredoc_body] = ACTIONS(618),
    [sym__heredoc_body_beginning] = ACTIONS(618),
    [sym__line_break] = ACTIONS(618),
    [sym__element_reference_left_bracket] = ACTIONS(618),
    [sym__scope_double_colon] = ACTIONS(618),
    [sym__binary_minus] = ACTIONS(618),
    [sym__binary_star] = ACTIONS(618),
    [ts_builtin_sym_end] = ACTIONS(618),
    [anon_sym___END__] = ACTIONS(618),
    [anon_sym_LBRACE] = ACTIONS(618),
    [anon_sym_RBRACE] = ACTIONS(618),
    [anon_sym_RPAREN] = ACTIONS(618),
    [anon_sym_DOT] = ACTIONS(620),
    [anon_sym_end] = ACTIONS(618),
    [anon_sym_COMMA] = ACTIONS(618),
    [anon_sym_PIPE] = ACTIONS(620),
    [anon_sym_SEMI] = ACTIONS(618),
    [anon_sym_STAR_STAR] = ACTIONS(618),
    [anon_sym_AMP] = ACTIONS(620),
    [anon_sym_LT] = ACTIONS(620),
    [anon_sym_if] = ACTIONS(618),
    [anon_sym_unless] = ACTIONS(618),
    [anon_sym_while] = ACTIONS(618),
    [anon_sym_until] = ACTIONS(618),
    [anon_sym_rescue] = ACTIONS(618),
    [anon_sym_do] = ACTIONS(618),
    [anon_sym_when] = ACTIONS(618),
    [anon_sym_elsif] = ACTIONS(618),
    [anon_sym_else] = ACTIONS(618),
    [anon_sym_then] = ACTIONS(618),
    [anon_sym_ensure] = ACTIONS(618),
    [anon_sym_EQ_GT] = ACTIONS(618),
    [anon_sym_AMP_DOT] = ACTIONS(618),
    [anon_sym_QMARK] = ACTIONS(618),
    [anon_sym_DOT_DOT] = ACTIONS(620),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(618),
    [anon_sym_and] = ACTIONS(618),
    [anon_sym_or] = ACTIONS(618),
    [anon_sym_PIPE_PIPE] = ACTIONS(618),
    [anon_sym_AMP_AMP] = ACTIONS(618),
    [anon_sym_LT_LT] = ACTIONS(618),
    [anon_sym_GT_GT] = ACTIONS(618),
    [anon_sym_EQ_EQ] = ACTIONS(620),
    [anon_sym_BANG_EQ] = ACTIONS(618),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(618),
    [anon_sym_LT_EQ_GT] = ACTIONS(618),
    [anon_sym_EQ_TILDE] = ACTIONS(618),
    [anon_sym_BANG_TILDE] = ACTIONS(618),
    [anon_sym_LT_EQ] = ACTIONS(620),
    [anon_sym_GT] = ACTIONS(620),
    [anon_sym_GT_EQ] = ACTIONS(618),
    [anon_sym_CARET] = ACTIONS(618),
    [anon_sym_PLUS] = ACTIONS(618),
    [anon_sym_SLASH] = ACTIONS(618),
    [anon_sym_PERCENT] = ACTIONS(618),
    [sym_comment] = ACTIONS(110),
  },
  [31] = {
    [sym__statement] = STATE(360),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(361),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [32] = {
    [sym__statement] = STATE(365),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(361),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [33] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(374),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [34] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(378),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [35] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(285),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(381),
    [sym_call] = STATE(381),
    [sym_method_call] = STATE(286),
    [sym__mlhs] = STATE(382),
    [sym__simple_mlhs] = STATE(383),
    [sym_destructured_left_assignment] = STATE(383),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(384),
    [sym__variable] = STATE(381),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(658),
    [anon_sym_COLON_COLON] = ACTIONS(460),
    [anon_sym_STAR] = ACTIONS(660),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(494),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [36] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_when] = STATE(397),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(398),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(400),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(401),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(387),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__terminator] = STATE(402),
    [aux_sym_case_repeat1] = STATE(403),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(666),
    [sym__unary_minus] = ACTIONS(668),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_when] = ACTIONS(678),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(680),
    [anon_sym_defined_QMARK] = ACTIONS(682),
    [anon_sym_not] = ACTIONS(684),
    [anon_sym_BANG] = ACTIONS(686),
    [anon_sym_TILDE] = ACTIONS(686),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [37] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(426),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(431),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(692),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(696),
    [anon_sym_SEMI] = ACTIONS(698),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [38] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(432),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(64),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(68),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(32),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(84),
    [anon_sym_defined_QMARK] = ACTIONS(86),
    [anon_sym_not] = ACTIONS(88),
    [anon_sym_BANG] = ACTIONS(90),
    [anon_sym_TILDE] = ACTIONS(90),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [39] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(433),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(64),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(68),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(32),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(84),
    [anon_sym_defined_QMARK] = ACTIONS(86),
    [anon_sym_not] = ACTIONS(88),
    [anon_sym_BANG] = ACTIONS(90),
    [anon_sym_TILDE] = ACTIONS(90),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [40] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(434),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(64),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(68),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(32),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(84),
    [anon_sym_defined_QMARK] = ACTIONS(86),
    [anon_sym_not] = ACTIONS(88),
    [anon_sym_BANG] = ACTIONS(90),
    [anon_sym_TILDE] = ACTIONS(90),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [41] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [ts_builtin_sym_end] = ACTIONS(722),
    [anon_sym___END__] = ACTIONS(724),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [42] = {
    [sym_operator] = STATE(438),
    [sym__method_name] = STATE(440),
    [sym_setter] = STATE(438),
    [sym_symbol] = STATE(438),
    [sym__simple_symbol] = ACTIONS(728),
    [sym__symbol_beginning] = ACTIONS(730),
    [anon_sym_PIPE] = ACTIONS(732),
    [anon_sym_STAR] = ACTIONS(734),
    [anon_sym_STAR_STAR] = ACTIONS(732),
    [anon_sym_AMP] = ACTIONS(732),
    [anon_sym_LT] = ACTIONS(734),
    [anon_sym_DOT_DOT] = ACTIONS(732),
    [anon_sym_LT_LT] = ACTIONS(732),
    [anon_sym_GT_GT] = ACTIONS(732),
    [anon_sym_EQ_EQ] = ACTIONS(734),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(732),
    [anon_sym_LT_EQ_GT] = ACTIONS(732),
    [anon_sym_EQ_TILDE] = ACTIONS(732),
    [anon_sym_BANG_TILDE] = ACTIONS(732),
    [anon_sym_LT_EQ] = ACTIONS(734),
    [anon_sym_GT] = ACTIONS(734),
    [anon_sym_GT_EQ] = ACTIONS(732),
    [anon_sym_CARET] = ACTIONS(732),
    [anon_sym_PLUS] = ACTIONS(734),
    [anon_sym_SLASH] = ACTIONS(732),
    [anon_sym_PERCENT] = ACTIONS(732),
    [anon_sym_BANG] = ACTIONS(734),
    [anon_sym_TILDE] = ACTIONS(732),
    [sym_constant] = ACTIONS(736),
    [sym_identifier] = ACTIONS(738),
    [sym_instance_variable] = ACTIONS(736),
    [sym_class_variable] = ACTIONS(736),
    [sym_global_variable] = ACTIONS(736),
    [anon_sym_DASH] = ACTIONS(734),
    [anon_sym_PLUS_AT] = ACTIONS(732),
    [anon_sym_DASH_AT] = ACTIONS(732),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(734),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(732),
    [anon_sym_BQUOTE] = ACTIONS(732),
    [sym_comment] = ACTIONS(110),
  },
  [43] = {
    [sym__simple_heredoc_body] = ACTIONS(740),
    [sym__heredoc_body_beginning] = ACTIONS(740),
    [sym__line_break] = ACTIONS(740),
    [sym__element_reference_left_bracket] = ACTIONS(740),
    [sym__scope_double_colon] = ACTIONS(740),
    [sym__binary_minus] = ACTIONS(740),
    [sym__binary_star] = ACTIONS(740),
    [ts_builtin_sym_end] = ACTIONS(740),
    [anon_sym___END__] = ACTIONS(740),
    [anon_sym_LBRACE] = ACTIONS(740),
    [anon_sym_RBRACE] = ACTIONS(740),
    [anon_sym_RPAREN] = ACTIONS(740),
    [anon_sym_DOT] = ACTIONS(742),
    [anon_sym_end] = ACTIONS(740),
    [anon_sym_COMMA] = ACTIONS(740),
    [anon_sym_PIPE] = ACTIONS(742),
    [anon_sym_SEMI] = ACTIONS(740),
    [anon_sym_STAR_STAR] = ACTIONS(742),
    [anon_sym_AMP] = ACTIONS(742),
    [anon_sym_EQ] = ACTIONS(742),
    [anon_sym_LT] = ACTIONS(742),
    [anon_sym_if] = ACTIONS(740),
    [anon_sym_unless] = ACTIONS(740),
    [anon_sym_while] = ACTIONS(740),
    [anon_sym_until] = ACTIONS(740),
    [anon_sym_rescue] = ACTIONS(740),
    [anon_sym_do] = ACTIONS(740),
    [anon_sym_when] = ACTIONS(740),
    [anon_sym_elsif] = ACTIONS(740),
    [anon_sym_else] = ACTIONS(740),
    [anon_sym_then] = ACTIONS(740),
    [anon_sym_ensure] = ACTIONS(740),
    [anon_sym_AMP_DOT] = ACTIONS(740),
    [anon_sym_PLUS_EQ] = ACTIONS(740),
    [anon_sym_DASH_EQ] = ACTIONS(740),
    [anon_sym_STAR_EQ] = ACTIONS(740),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(740),
    [anon_sym_SLASH_EQ] = ACTIONS(740),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(740),
    [anon_sym_PIPE_EQ] = ACTIONS(740),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(740),
    [anon_sym_AMP_EQ] = ACTIONS(740),
    [anon_sym_PERCENT_EQ] = ACTIONS(740),
    [anon_sym_GT_GT_EQ] = ACTIONS(740),
    [anon_sym_LT_LT_EQ] = ACTIONS(740),
    [anon_sym_CARET_EQ] = ACTIONS(740),
    [anon_sym_QMARK] = ACTIONS(740),
    [anon_sym_DOT_DOT] = ACTIONS(742),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(740),
    [anon_sym_and] = ACTIONS(740),
    [anon_sym_or] = ACTIONS(740),
    [anon_sym_PIPE_PIPE] = ACTIONS(742),
    [anon_sym_AMP_AMP] = ACTIONS(742),
    [anon_sym_LT_LT] = ACTIONS(742),
    [anon_sym_GT_GT] = ACTIONS(742),
    [anon_sym_EQ_EQ] = ACTIONS(742),
    [anon_sym_BANG_EQ] = ACTIONS(740),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(740),
    [anon_sym_LT_EQ_GT] = ACTIONS(740),
    [anon_sym_EQ_TILDE] = ACTIONS(740),
    [anon_sym_BANG_TILDE] = ACTIONS(740),
    [anon_sym_LT_EQ] = ACTIONS(742),
    [anon_sym_GT] = ACTIONS(742),
    [anon_sym_GT_EQ] = ACTIONS(740),
    [anon_sym_CARET] = ACTIONS(742),
    [anon_sym_PLUS] = ACTIONS(742),
    [anon_sym_SLASH] = ACTIONS(742),
    [anon_sym_PERCENT] = ACTIONS(742),
    [sym_comment] = ACTIONS(256),
  },
  [44] = {
    [sym__simple_heredoc_body] = ACTIONS(744),
    [sym__heredoc_body_beginning] = ACTIONS(744),
    [sym__line_break] = ACTIONS(744),
    [sym__element_reference_left_bracket] = ACTIONS(744),
    [sym__scope_double_colon] = ACTIONS(744),
    [sym__binary_minus] = ACTIONS(744),
    [sym__binary_star] = ACTIONS(744),
    [ts_builtin_sym_end] = ACTIONS(744),
    [anon_sym___END__] = ACTIONS(744),
    [anon_sym_LBRACE] = ACTIONS(744),
    [anon_sym_RBRACE] = ACTIONS(744),
    [anon_sym_RPAREN] = ACTIONS(744),
    [anon_sym_DOT] = ACTIONS(746),
    [anon_sym_end] = ACTIONS(744),
    [anon_sym_COMMA] = ACTIONS(744),
    [anon_sym_PIPE] = ACTIONS(746),
    [anon_sym_SEMI] = ACTIONS(744),
    [anon_sym_STAR_STAR] = ACTIONS(746),
    [anon_sym_AMP] = ACTIONS(746),
    [anon_sym_EQ] = ACTIONS(746),
    [anon_sym_LT] = ACTIONS(746),
    [anon_sym_if] = ACTIONS(744),
    [anon_sym_unless] = ACTIONS(744),
    [anon_sym_while] = ACTIONS(744),
    [anon_sym_until] = ACTIONS(744),
    [anon_sym_rescue] = ACTIONS(744),
    [anon_sym_do] = ACTIONS(744),
    [anon_sym_when] = ACTIONS(744),
    [anon_sym_elsif] = ACTIONS(744),
    [anon_sym_else] = ACTIONS(744),
    [anon_sym_then] = ACTIONS(744),
    [anon_sym_ensure] = ACTIONS(744),
    [anon_sym_AMP_DOT] = ACTIONS(744),
    [anon_sym_PLUS_EQ] = ACTIONS(744),
    [anon_sym_DASH_EQ] = ACTIONS(744),
    [anon_sym_STAR_EQ] = ACTIONS(744),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(744),
    [anon_sym_SLASH_EQ] = ACTIONS(744),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(744),
    [anon_sym_PIPE_EQ] = ACTIONS(744),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(744),
    [anon_sym_AMP_EQ] = ACTIONS(744),
    [anon_sym_PERCENT_EQ] = ACTIONS(744),
    [anon_sym_GT_GT_EQ] = ACTIONS(744),
    [anon_sym_LT_LT_EQ] = ACTIONS(744),
    [anon_sym_CARET_EQ] = ACTIONS(744),
    [anon_sym_QMARK] = ACTIONS(744),
    [anon_sym_DOT_DOT] = ACTIONS(746),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(744),
    [anon_sym_and] = ACTIONS(744),
    [anon_sym_or] = ACTIONS(744),
    [anon_sym_PIPE_PIPE] = ACTIONS(746),
    [anon_sym_AMP_AMP] = ACTIONS(746),
    [anon_sym_LT_LT] = ACTIONS(746),
    [anon_sym_GT_GT] = ACTIONS(746),
    [anon_sym_EQ_EQ] = ACTIONS(746),
    [anon_sym_BANG_EQ] = ACTIONS(744),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(744),
    [anon_sym_LT_EQ_GT] = ACTIONS(744),
    [anon_sym_EQ_TILDE] = ACTIONS(744),
    [anon_sym_BANG_TILDE] = ACTIONS(744),
    [anon_sym_LT_EQ] = ACTIONS(746),
    [anon_sym_GT] = ACTIONS(746),
    [anon_sym_GT_EQ] = ACTIONS(744),
    [anon_sym_CARET] = ACTIONS(746),
    [anon_sym_PLUS] = ACTIONS(746),
    [anon_sym_SLASH] = ACTIONS(746),
    [anon_sym_PERCENT] = ACTIONS(746),
    [sym_comment] = ACTIONS(256),
  },
  [45] = {
    [sym__simple_string] = ACTIONS(748),
    [sym__simple_symbol] = ACTIONS(748),
    [sym__simple_subshell] = ACTIONS(748),
    [sym__simple_regex] = ACTIONS(748),
    [sym__simple_word_list] = ACTIONS(748),
    [sym__simple_heredoc_body] = ACTIONS(748),
    [sym__string_beginning] = ACTIONS(748),
    [sym__symbol_beginning] = ACTIONS(748),
    [sym__subshell_beginning] = ACTIONS(748),
    [sym__regex_beginning] = ACTIONS(748),
    [sym__word_list_beginning] = ACTIONS(748),
    [sym__heredoc_body_beginning] = ACTIONS(748),
    [sym_heredoc_beginning] = ACTIONS(748),
    [sym__line_break] = ACTIONS(748),
    [sym__element_reference_left_bracket] = ACTIONS(748),
    [sym__block_ampersand] = ACTIONS(748),
    [sym__splat_star] = ACTIONS(748),
    [sym__argument_list_left_paren] = ACTIONS(748),
    [sym__scope_double_colon] = ACTIONS(748),
    [sym__unary_minus] = ACTIONS(748),
    [sym__binary_minus] = ACTIONS(748),
    [sym__binary_star] = ACTIONS(748),
    [ts_builtin_sym_end] = ACTIONS(748),
    [anon_sym___END__] = ACTIONS(750),
    [anon_sym_LBRACE] = ACTIONS(748),
    [anon_sym_def] = ACTIONS(750),
    [anon_sym_LPAREN] = ACTIONS(748),
    [anon_sym_DOT] = ACTIONS(750),
    [anon_sym_COLON_COLON] = ACTIONS(748),
    [anon_sym_end] = ACTIONS(750),
    [anon_sym_COMMA] = ACTIONS(748),
    [anon_sym_PIPE] = ACTIONS(750),
    [anon_sym_SEMI] = ACTIONS(748),
    [anon_sym_STAR] = ACTIONS(750),
    [anon_sym_STAR_STAR] = ACTIONS(750),
    [anon_sym_AMP] = ACTIONS(750),
    [anon_sym_EQ] = ACTIONS(750),
    [anon_sym_class] = ACTIONS(750),
    [anon_sym_LT] = ACTIONS(750),
    [anon_sym_module] = ACTIONS(750),
    [anon_sym_return] = ACTIONS(750),
    [anon_sym_yield] = ACTIONS(750),
    [anon_sym_break] = ACTIONS(750),
    [anon_sym_next] = ACTIONS(750),
    [anon_sym_redo] = ACTIONS(750),
    [anon_sym_retry] = ACTIONS(750),
    [anon_sym_if] = ACTIONS(750),
    [anon_sym_unless] = ACTIONS(750),
    [anon_sym_while] = ACTIONS(750),
    [anon_sym_until] = ACTIONS(750),
    [anon_sym_rescue] = ACTIONS(750),
    [anon_sym_for] = ACTIONS(750),
    [anon_sym_in] = ACTIONS(750),
    [anon_sym_do] = ACTIONS(750),
    [anon_sym_case] = ACTIONS(750),
    [anon_sym_when] = ACTIONS(750),
    [anon_sym_elsif] = ACTIONS(750),
    [anon_sym_else] = ACTIONS(750),
    [anon_sym_then] = ACTIONS(750),
    [anon_sym_begin] = ACTIONS(750),
    [anon_sym_ensure] = ACTIONS(750),
    [anon_sym_AMP_DOT] = ACTIONS(748),
    [anon_sym_PLUS_EQ] = ACTIONS(748),
    [anon_sym_DASH_EQ] = ACTIONS(748),
    [anon_sym_STAR_EQ] = ACTIONS(748),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(748),
    [anon_sym_SLASH_EQ] = ACTIONS(748),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(748),
    [anon_sym_PIPE_EQ] = ACTIONS(748),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(748),
    [anon_sym_AMP_EQ] = ACTIONS(748),
    [anon_sym_PERCENT_EQ] = ACTIONS(748),
    [anon_sym_GT_GT_EQ] = ACTIONS(748),
    [anon_sym_LT_LT_EQ] = ACTIONS(748),
    [anon_sym_CARET_EQ] = ACTIONS(748),
    [anon_sym_QMARK] = ACTIONS(750),
    [anon_sym_DOT_DOT] = ACTIONS(750),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(748),
    [anon_sym_and] = ACTIONS(750),
    [anon_sym_or] = ACTIONS(750),
    [anon_sym_PIPE_PIPE] = ACTIONS(750),
    [anon_sym_AMP_AMP] = ACTIONS(750),
    [anon_sym_LT_LT] = ACTIONS(750),
    [anon_sym_GT_GT] = ACTIONS(750),
    [anon_sym_EQ_EQ] = ACTIONS(750),
    [anon_sym_BANG_EQ] = ACTIONS(748),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(748),
    [anon_sym_LT_EQ_GT] = ACTIONS(748),
    [anon_sym_EQ_TILDE] = ACTIONS(748),
    [anon_sym_BANG_TILDE] = ACTIONS(748),
    [anon_sym_LT_EQ] = ACTIONS(750),
    [anon_sym_GT] = ACTIONS(750),
    [anon_sym_GT_EQ] = ACTIONS(748),
    [anon_sym_CARET] = ACTIONS(750),
    [anon_sym_PLUS] = ACTIONS(750),
    [anon_sym_SLASH] = ACTIONS(750),
    [anon_sym_PERCENT] = ACTIONS(750),
    [anon_sym_defined_QMARK] = ACTIONS(748),
    [anon_sym_not] = ACTIONS(750),
    [anon_sym_BANG] = ACTIONS(750),
    [anon_sym_TILDE] = ACTIONS(748),
    [sym_constant] = ACTIONS(752),
    [sym_identifier] = ACTIONS(752),
    [sym_instance_variable] = ACTIONS(750),
    [sym_class_variable] = ACTIONS(750),
    [sym_global_variable] = ACTIONS(750),
    [anon_sym_alias] = ACTIONS(750),
    [anon_sym_defined] = ACTIONS(750),
    [anon_sym_false] = ACTIONS(750),
    [anon_sym_nil] = ACTIONS(750),
    [anon_sym_self] = ACTIONS(750),
    [anon_sym_super] = ACTIONS(750),
    [anon_sym_true] = ACTIONS(750),
    [anon_sym_undef] = ACTIONS(750),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(750),
    [sym_float] = ACTIONS(752),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(748),
    [anon_sym_TRUE] = ACTIONS(750),
    [anon_sym_FALSE] = ACTIONS(750),
    [anon_sym_NIL] = ACTIONS(750),
    [sym_keyword__FILE__] = ACTIONS(750),
    [sym_keyword__LINE__] = ACTIONS(750),
    [sym_keyword__ENCODING__] = ACTIONS(750),
    [sym__character_literal] = ACTIONS(750),
    [anon_sym_LBRACK] = ACTIONS(748),
    [anon_sym_DASH_GT] = ACTIONS(748),
  },
  [46] = {
    [sym__simple_string] = ACTIONS(754),
    [sym__simple_symbol] = ACTIONS(754),
    [sym__simple_subshell] = ACTIONS(754),
    [sym__simple_regex] = ACTIONS(754),
    [sym__simple_word_list] = ACTIONS(754),
    [sym__simple_heredoc_body] = ACTIONS(754),
    [sym__string_beginning] = ACTIONS(754),
    [sym__symbol_beginning] = ACTIONS(754),
    [sym__subshell_beginning] = ACTIONS(754),
    [sym__regex_beginning] = ACTIONS(754),
    [sym__word_list_beginning] = ACTIONS(754),
    [sym__heredoc_body_beginning] = ACTIONS(754),
    [sym_heredoc_beginning] = ACTIONS(754),
    [sym__line_break] = ACTIONS(754),
    [sym__element_reference_left_bracket] = ACTIONS(754),
    [sym__block_ampersand] = ACTIONS(754),
    [sym__splat_star] = ACTIONS(754),
    [sym__argument_list_left_paren] = ACTIONS(754),
    [sym__scope_double_colon] = ACTIONS(754),
    [sym__unary_minus] = ACTIONS(754),
    [sym__binary_minus] = ACTIONS(754),
    [sym__binary_star] = ACTIONS(754),
    [ts_builtin_sym_end] = ACTIONS(754),
    [anon_sym___END__] = ACTIONS(756),
    [anon_sym_LBRACE] = ACTIONS(754),
    [anon_sym_def] = ACTIONS(756),
    [anon_sym_LPAREN] = ACTIONS(754),
    [anon_sym_DOT] = ACTIONS(756),
    [anon_sym_COLON_COLON] = ACTIONS(754),
    [anon_sym_end] = ACTIONS(756),
    [anon_sym_COMMA] = ACTIONS(754),
    [anon_sym_PIPE] = ACTIONS(756),
    [anon_sym_SEMI] = ACTIONS(754),
    [anon_sym_STAR] = ACTIONS(756),
    [anon_sym_STAR_STAR] = ACTIONS(756),
    [anon_sym_AMP] = ACTIONS(756),
    [anon_sym_EQ] = ACTIONS(756),
    [anon_sym_class] = ACTIONS(756),
    [anon_sym_LT] = ACTIONS(756),
    [anon_sym_module] = ACTIONS(756),
    [anon_sym_return] = ACTIONS(756),
    [anon_sym_yield] = ACTIONS(756),
    [anon_sym_break] = ACTIONS(756),
    [anon_sym_next] = ACTIONS(756),
    [anon_sym_redo] = ACTIONS(756),
    [anon_sym_retry] = ACTIONS(756),
    [anon_sym_if] = ACTIONS(756),
    [anon_sym_unless] = ACTIONS(756),
    [anon_sym_while] = ACTIONS(756),
    [anon_sym_until] = ACTIONS(756),
    [anon_sym_rescue] = ACTIONS(756),
    [anon_sym_for] = ACTIONS(756),
    [anon_sym_in] = ACTIONS(756),
    [anon_sym_do] = ACTIONS(756),
    [anon_sym_case] = ACTIONS(756),
    [anon_sym_when] = ACTIONS(756),
    [anon_sym_elsif] = ACTIONS(756),
    [anon_sym_else] = ACTIONS(756),
    [anon_sym_then] = ACTIONS(756),
    [anon_sym_begin] = ACTIONS(756),
    [anon_sym_ensure] = ACTIONS(756),
    [anon_sym_AMP_DOT] = ACTIONS(754),
    [anon_sym_PLUS_EQ] = ACTIONS(754),
    [anon_sym_DASH_EQ] = ACTIONS(754),
    [anon_sym_STAR_EQ] = ACTIONS(754),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(754),
    [anon_sym_SLASH_EQ] = ACTIONS(754),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(754),
    [anon_sym_PIPE_EQ] = ACTIONS(754),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(754),
    [anon_sym_AMP_EQ] = ACTIONS(754),
    [anon_sym_PERCENT_EQ] = ACTIONS(754),
    [anon_sym_GT_GT_EQ] = ACTIONS(754),
    [anon_sym_LT_LT_EQ] = ACTIONS(754),
    [anon_sym_CARET_EQ] = ACTIONS(754),
    [anon_sym_QMARK] = ACTIONS(756),
    [anon_sym_DOT_DOT] = ACTIONS(756),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(754),
    [anon_sym_and] = ACTIONS(756),
    [anon_sym_or] = ACTIONS(756),
    [anon_sym_PIPE_PIPE] = ACTIONS(756),
    [anon_sym_AMP_AMP] = ACTIONS(756),
    [anon_sym_LT_LT] = ACTIONS(756),
    [anon_sym_GT_GT] = ACTIONS(756),
    [anon_sym_EQ_EQ] = ACTIONS(756),
    [anon_sym_BANG_EQ] = ACTIONS(754),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(754),
    [anon_sym_LT_EQ_GT] = ACTIONS(754),
    [anon_sym_EQ_TILDE] = ACTIONS(754),
    [anon_sym_BANG_TILDE] = ACTIONS(754),
    [anon_sym_LT_EQ] = ACTIONS(756),
    [anon_sym_GT] = ACTIONS(756),
    [anon_sym_GT_EQ] = ACTIONS(754),
    [anon_sym_CARET] = ACTIONS(756),
    [anon_sym_PLUS] = ACTIONS(756),
    [anon_sym_SLASH] = ACTIONS(756),
    [anon_sym_PERCENT] = ACTIONS(756),
    [anon_sym_defined_QMARK] = ACTIONS(754),
    [anon_sym_not] = ACTIONS(756),
    [anon_sym_BANG] = ACTIONS(756),
    [anon_sym_TILDE] = ACTIONS(754),
    [sym_constant] = ACTIONS(758),
    [sym_identifier] = ACTIONS(758),
    [sym_instance_variable] = ACTIONS(756),
    [sym_class_variable] = ACTIONS(756),
    [sym_global_variable] = ACTIONS(756),
    [anon_sym_alias] = ACTIONS(756),
    [anon_sym_defined] = ACTIONS(756),
    [anon_sym_false] = ACTIONS(756),
    [anon_sym_nil] = ACTIONS(756),
    [anon_sym_self] = ACTIONS(756),
    [anon_sym_super] = ACTIONS(756),
    [anon_sym_true] = ACTIONS(756),
    [anon_sym_undef] = ACTIONS(756),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(756),
    [sym_float] = ACTIONS(758),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(754),
    [anon_sym_TRUE] = ACTIONS(756),
    [anon_sym_FALSE] = ACTIONS(756),
    [anon_sym_NIL] = ACTIONS(756),
    [sym_keyword__FILE__] = ACTIONS(756),
    [sym_keyword__LINE__] = ACTIONS(756),
    [sym_keyword__ENCODING__] = ACTIONS(756),
    [sym__character_literal] = ACTIONS(756),
    [anon_sym_LBRACK] = ACTIONS(754),
    [anon_sym_DASH_GT] = ACTIONS(754),
  },
  [47] = {
    [sym__simple_heredoc_body] = ACTIONS(760),
    [sym__heredoc_body_beginning] = ACTIONS(760),
    [sym__line_break] = ACTIONS(760),
    [sym__element_reference_left_bracket] = ACTIONS(760),
    [sym__scope_double_colon] = ACTIONS(760),
    [sym__binary_minus] = ACTIONS(760),
    [sym__binary_star] = ACTIONS(760),
    [ts_builtin_sym_end] = ACTIONS(760),
    [anon_sym___END__] = ACTIONS(760),
    [anon_sym_LBRACE] = ACTIONS(760),
    [anon_sym_RBRACE] = ACTIONS(760),
    [anon_sym_RPAREN] = ACTIONS(760),
    [anon_sym_DOT] = ACTIONS(762),
    [anon_sym_end] = ACTIONS(760),
    [anon_sym_COMMA] = ACTIONS(760),
    [anon_sym_PIPE] = ACTIONS(762),
    [anon_sym_SEMI] = ACTIONS(760),
    [anon_sym_STAR_STAR] = ACTIONS(762),
    [anon_sym_AMP] = ACTIONS(762),
    [anon_sym_EQ] = ACTIONS(762),
    [anon_sym_LT] = ACTIONS(762),
    [anon_sym_if] = ACTIONS(760),
    [anon_sym_unless] = ACTIONS(760),
    [anon_sym_while] = ACTIONS(760),
    [anon_sym_until] = ACTIONS(760),
    [anon_sym_rescue] = ACTIONS(760),
    [anon_sym_do] = ACTIONS(760),
    [anon_sym_when] = ACTIONS(760),
    [anon_sym_elsif] = ACTIONS(760),
    [anon_sym_else] = ACTIONS(760),
    [anon_sym_then] = ACTIONS(760),
    [anon_sym_ensure] = ACTIONS(760),
    [anon_sym_AMP_DOT] = ACTIONS(760),
    [anon_sym_PLUS_EQ] = ACTIONS(760),
    [anon_sym_DASH_EQ] = ACTIONS(760),
    [anon_sym_STAR_EQ] = ACTIONS(760),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(760),
    [anon_sym_SLASH_EQ] = ACTIONS(760),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(760),
    [anon_sym_PIPE_EQ] = ACTIONS(760),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(760),
    [anon_sym_AMP_EQ] = ACTIONS(760),
    [anon_sym_PERCENT_EQ] = ACTIONS(760),
    [anon_sym_GT_GT_EQ] = ACTIONS(760),
    [anon_sym_LT_LT_EQ] = ACTIONS(760),
    [anon_sym_CARET_EQ] = ACTIONS(760),
    [anon_sym_QMARK] = ACTIONS(760),
    [anon_sym_DOT_DOT] = ACTIONS(762),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(760),
    [anon_sym_and] = ACTIONS(760),
    [anon_sym_or] = ACTIONS(760),
    [anon_sym_PIPE_PIPE] = ACTIONS(762),
    [anon_sym_AMP_AMP] = ACTIONS(762),
    [anon_sym_LT_LT] = ACTIONS(762),
    [anon_sym_GT_GT] = ACTIONS(762),
    [anon_sym_EQ_EQ] = ACTIONS(762),
    [anon_sym_BANG_EQ] = ACTIONS(760),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(760),
    [anon_sym_LT_EQ_GT] = ACTIONS(760),
    [anon_sym_EQ_TILDE] = ACTIONS(760),
    [anon_sym_BANG_TILDE] = ACTIONS(760),
    [anon_sym_LT_EQ] = ACTIONS(762),
    [anon_sym_GT] = ACTIONS(762),
    [anon_sym_GT_EQ] = ACTIONS(760),
    [anon_sym_CARET] = ACTIONS(762),
    [anon_sym_PLUS] = ACTIONS(762),
    [anon_sym_SLASH] = ACTIONS(762),
    [anon_sym_PERCENT] = ACTIONS(762),
    [sym_comment] = ACTIONS(256),
  },
  [48] = {
    [sym_operator] = STATE(444),
    [sym__method_name] = STATE(446),
    [sym_setter] = STATE(444),
    [sym_symbol] = STATE(444),
    [sym__simple_symbol] = ACTIONS(764),
    [sym__symbol_beginning] = ACTIONS(766),
    [anon_sym_PIPE] = ACTIONS(768),
    [anon_sym_STAR] = ACTIONS(770),
    [anon_sym_STAR_STAR] = ACTIONS(768),
    [anon_sym_AMP] = ACTIONS(768),
    [anon_sym_LT] = ACTIONS(770),
    [anon_sym_DOT_DOT] = ACTIONS(768),
    [anon_sym_LT_LT] = ACTIONS(768),
    [anon_sym_GT_GT] = ACTIONS(768),
    [anon_sym_EQ_EQ] = ACTIONS(770),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(768),
    [anon_sym_LT_EQ_GT] = ACTIONS(768),
    [anon_sym_EQ_TILDE] = ACTIONS(768),
    [anon_sym_BANG_TILDE] = ACTIONS(768),
    [anon_sym_LT_EQ] = ACTIONS(770),
    [anon_sym_GT] = ACTIONS(770),
    [anon_sym_GT_EQ] = ACTIONS(768),
    [anon_sym_CARET] = ACTIONS(768),
    [anon_sym_PLUS] = ACTIONS(770),
    [anon_sym_SLASH] = ACTIONS(768),
    [anon_sym_PERCENT] = ACTIONS(768),
    [anon_sym_BANG] = ACTIONS(770),
    [anon_sym_TILDE] = ACTIONS(768),
    [sym_constant] = ACTIONS(772),
    [sym_identifier] = ACTIONS(774),
    [sym_instance_variable] = ACTIONS(772),
    [sym_class_variable] = ACTIONS(772),
    [sym_global_variable] = ACTIONS(772),
    [anon_sym_DASH] = ACTIONS(770),
    [anon_sym_PLUS_AT] = ACTIONS(768),
    [anon_sym_DASH_AT] = ACTIONS(768),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(770),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(768),
    [anon_sym_BQUOTE] = ACTIONS(768),
    [sym_comment] = ACTIONS(110),
  },
  [49] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [ts_builtin_sym_end] = ACTIONS(250),
    [anon_sym___END__] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_RBRACE] = ACTIONS(250),
    [anon_sym_RPAREN] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_end] = ACTIONS(250),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_when] = ACTIONS(250),
    [anon_sym_elsif] = ACTIONS(250),
    [anon_sym_else] = ACTIONS(250),
    [anon_sym_then] = ACTIONS(250),
    [anon_sym_ensure] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [anon_sym_r] = ACTIONS(776),
  },
  [50] = {
    [sym__simple_heredoc_body] = ACTIONS(778),
    [sym__heredoc_body_beginning] = ACTIONS(778),
    [sym__line_break] = ACTIONS(778),
    [sym__element_reference_left_bracket] = ACTIONS(778),
    [sym__scope_double_colon] = ACTIONS(778),
    [sym__binary_minus] = ACTIONS(778),
    [sym__binary_star] = ACTIONS(778),
    [ts_builtin_sym_end] = ACTIONS(778),
    [anon_sym___END__] = ACTIONS(778),
    [anon_sym_LBRACE] = ACTIONS(778),
    [anon_sym_RBRACE] = ACTIONS(778),
    [anon_sym_RPAREN] = ACTIONS(778),
    [anon_sym_DOT] = ACTIONS(780),
    [anon_sym_end] = ACTIONS(778),
    [anon_sym_COMMA] = ACTIONS(778),
    [anon_sym_PIPE] = ACTIONS(780),
    [anon_sym_SEMI] = ACTIONS(778),
    [anon_sym_STAR_STAR] = ACTIONS(778),
    [anon_sym_AMP] = ACTIONS(780),
    [anon_sym_LT] = ACTIONS(780),
    [anon_sym_if] = ACTIONS(778),
    [anon_sym_unless] = ACTIONS(778),
    [anon_sym_while] = ACTIONS(778),
    [anon_sym_until] = ACTIONS(778),
    [anon_sym_rescue] = ACTIONS(778),
    [anon_sym_do] = ACTIONS(778),
    [anon_sym_when] = ACTIONS(778),
    [anon_sym_elsif] = ACTIONS(778),
    [anon_sym_else] = ACTIONS(778),
    [anon_sym_then] = ACTIONS(778),
    [anon_sym_ensure] = ACTIONS(778),
    [anon_sym_EQ_GT] = ACTIONS(778),
    [anon_sym_AMP_DOT] = ACTIONS(778),
    [anon_sym_QMARK] = ACTIONS(778),
    [anon_sym_DOT_DOT] = ACTIONS(780),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(778),
    [anon_sym_and] = ACTIONS(778),
    [anon_sym_or] = ACTIONS(778),
    [anon_sym_PIPE_PIPE] = ACTIONS(778),
    [anon_sym_AMP_AMP] = ACTIONS(778),
    [anon_sym_LT_LT] = ACTIONS(778),
    [anon_sym_GT_GT] = ACTIONS(778),
    [anon_sym_EQ_EQ] = ACTIONS(780),
    [anon_sym_BANG_EQ] = ACTIONS(778),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(778),
    [anon_sym_LT_EQ_GT] = ACTIONS(778),
    [anon_sym_EQ_TILDE] = ACTIONS(778),
    [anon_sym_BANG_TILDE] = ACTIONS(778),
    [anon_sym_LT_EQ] = ACTIONS(780),
    [anon_sym_GT] = ACTIONS(780),
    [anon_sym_GT_EQ] = ACTIONS(778),
    [anon_sym_CARET] = ACTIONS(778),
    [anon_sym_PLUS] = ACTIONS(778),
    [anon_sym_SLASH] = ACTIONS(778),
    [anon_sym_PERCENT] = ACTIONS(778),
    [sym_comment] = ACTIONS(110),
  },
  [51] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(501),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(505),
    [sym__argument] = STATE(506),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(509),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(510),
    [sym__variable] = STATE(504),
    [sym_reserved_identifier] = STATE(511),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(512),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(513),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(804),
    [sym__splat_star] = ACTIONS(806),
    [sym__unary_minus] = ACTIONS(808),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(818),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(824),
    [anon_sym_yield] = ACTIONS(826),
    [anon_sym_break] = ACTIONS(828),
    [anon_sym_next] = ACTIONS(830),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_RBRACK] = ACTIONS(850),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(852),
    [anon_sym_defined_QMARK] = ACTIONS(854),
    [anon_sym_not] = ACTIONS(856),
    [anon_sym_BANG] = ACTIONS(858),
    [anon_sym_TILDE] = ACTIONS(858),
    [sym_constant] = ACTIONS(860),
    [sym_identifier] = ACTIONS(860),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [52] = {
    [sym_lambda_parameters] = STATE(521),
    [sym__simple_formal_parameter] = STATE(522),
    [sym_splat_parameter] = STATE(523),
    [sym_hash_splat_parameter] = STATE(523),
    [sym_block_parameter] = STATE(523),
    [sym_keyword_parameter] = STATE(523),
    [sym_optional_parameter] = STATE(523),
    [sym_do_block] = STATE(524),
    [sym_block] = STATE(524),
    [anon_sym_LBRACE] = ACTIONS(894),
    [anon_sym_LPAREN] = ACTIONS(896),
    [anon_sym_STAR] = ACTIONS(898),
    [anon_sym_STAR_STAR] = ACTIONS(900),
    [anon_sym_AMP] = ACTIONS(902),
    [anon_sym_do] = ACTIONS(904),
    [sym_identifier] = ACTIONS(906),
    [sym_comment] = ACTIONS(110),
  },
  [53] = {
    [ts_builtin_sym_end] = ACTIONS(908),
    [sym_comment] = ACTIONS(110),
  },
  [54] = {
    [ts_builtin_sym_end] = ACTIONS(910),
    [anon_sym___END__] = ACTIONS(912),
    [sym_comment] = ACTIONS(110),
  },
  [55] = {
    [sym_heredoc_end] = STATE(528),
    [sym__terminator] = STATE(529),
    [aux_sym__statements_repeat1] = STATE(530),
    [sym__simple_heredoc_body] = ACTIONS(914),
    [sym__heredoc_body_beginning] = ACTIONS(916),
    [sym__line_break] = ACTIONS(918),
    [ts_builtin_sym_end] = ACTIONS(920),
    [anon_sym___END__] = ACTIONS(920),
    [anon_sym_SEMI] = ACTIONS(918),
    [sym_comment] = ACTIONS(110),
  },
  [56] = {
    [sym__simple_heredoc_body] = ACTIONS(922),
    [sym__heredoc_body_beginning] = ACTIONS(922),
    [sym__line_break] = ACTIONS(922),
    [ts_builtin_sym_end] = ACTIONS(922),
    [anon_sym___END__] = ACTIONS(922),
    [anon_sym_RBRACE] = ACTIONS(922),
    [anon_sym_RPAREN] = ACTIONS(922),
    [anon_sym_end] = ACTIONS(922),
    [anon_sym_SEMI] = ACTIONS(922),
    [anon_sym_rescue] = ACTIONS(922),
    [anon_sym_when] = ACTIONS(922),
    [anon_sym_elsif] = ACTIONS(922),
    [anon_sym_else] = ACTIONS(922),
    [anon_sym_ensure] = ACTIONS(922),
    [sym_comment] = ACTIONS(110),
  },
  [57] = {
    [sym__simple_heredoc_body] = ACTIONS(922),
    [sym__heredoc_body_beginning] = ACTIONS(922),
    [sym__line_break] = ACTIONS(922),
    [ts_builtin_sym_end] = ACTIONS(922),
    [anon_sym___END__] = ACTIONS(922),
    [anon_sym_SEMI] = ACTIONS(922),
    [anon_sym_if] = ACTIONS(924),
    [anon_sym_unless] = ACTIONS(926),
    [anon_sym_while] = ACTIONS(928),
    [anon_sym_until] = ACTIONS(930),
    [anon_sym_rescue] = ACTIONS(932),
    [sym_comment] = ACTIONS(110),
  },
  [58] = {
    [sym__simple_heredoc_body] = ACTIONS(934),
    [sym__heredoc_body_beginning] = ACTIONS(934),
    [sym__line_break] = ACTIONS(934),
    [ts_builtin_sym_end] = ACTIONS(934),
    [anon_sym___END__] = ACTIONS(934),
    [anon_sym_RBRACE] = ACTIONS(934),
    [anon_sym_RPAREN] = ACTIONS(934),
    [anon_sym_end] = ACTIONS(934),
    [anon_sym_SEMI] = ACTIONS(934),
    [anon_sym_if] = ACTIONS(934),
    [anon_sym_unless] = ACTIONS(934),
    [anon_sym_while] = ACTIONS(934),
    [anon_sym_until] = ACTIONS(934),
    [anon_sym_rescue] = ACTIONS(934),
    [anon_sym_when] = ACTIONS(934),
    [anon_sym_elsif] = ACTIONS(934),
    [anon_sym_else] = ACTIONS(934),
    [anon_sym_then] = ACTIONS(934),
    [anon_sym_ensure] = ACTIONS(934),
    [sym_comment] = ACTIONS(110),
  },
  [59] = {
    [sym__simple_heredoc_body] = ACTIONS(934),
    [sym__heredoc_body_beginning] = ACTIONS(934),
    [sym__line_break] = ACTIONS(934),
    [sym__binary_minus] = ACTIONS(936),
    [sym__binary_star] = ACTIONS(938),
    [ts_builtin_sym_end] = ACTIONS(934),
    [anon_sym___END__] = ACTIONS(934),
    [anon_sym_PIPE] = ACTIONS(940),
    [anon_sym_SEMI] = ACTIONS(934),
    [anon_sym_STAR_STAR] = ACTIONS(942),
    [anon_sym_AMP] = ACTIONS(944),
    [anon_sym_LT] = ACTIONS(946),
    [anon_sym_if] = ACTIONS(934),
    [anon_sym_unless] = ACTIONS(934),
    [anon_sym_while] = ACTIONS(934),
    [anon_sym_until] = ACTIONS(934),
    [anon_sym_rescue] = ACTIONS(934),
    [anon_sym_QMARK] = ACTIONS(948),
    [anon_sym_DOT_DOT] = ACTIONS(950),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(952),
    [anon_sym_and] = ACTIONS(954),
    [anon_sym_or] = ACTIONS(954),
    [anon_sym_PIPE_PIPE] = ACTIONS(956),
    [anon_sym_AMP_AMP] = ACTIONS(956),
    [anon_sym_LT_LT] = ACTIONS(958),
    [anon_sym_GT_GT] = ACTIONS(958),
    [anon_sym_EQ_EQ] = ACTIONS(960),
    [anon_sym_BANG_EQ] = ACTIONS(956),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(956),
    [anon_sym_LT_EQ_GT] = ACTIONS(956),
    [anon_sym_EQ_TILDE] = ACTIONS(956),
    [anon_sym_BANG_TILDE] = ACTIONS(956),
    [anon_sym_LT_EQ] = ACTIONS(946),
    [anon_sym_GT] = ACTIONS(946),
    [anon_sym_GT_EQ] = ACTIONS(962),
    [anon_sym_CARET] = ACTIONS(964),
    [anon_sym_PLUS] = ACTIONS(966),
    [anon_sym_SLASH] = ACTIONS(942),
    [anon_sym_PERCENT] = ACTIONS(942),
    [sym_comment] = ACTIONS(110),
  },
  [60] = {
    [sym__simple_heredoc_body] = ACTIONS(968),
    [sym__heredoc_body_beginning] = ACTIONS(968),
    [sym__line_break] = ACTIONS(968),
    [sym__element_reference_left_bracket] = ACTIONS(970),
    [sym__scope_double_colon] = ACTIONS(972),
    [sym__binary_minus] = ACTIONS(968),
    [sym__binary_star] = ACTIONS(968),
    [ts_builtin_sym_end] = ACTIONS(968),
    [anon_sym___END__] = ACTIONS(968),
    [anon_sym_DOT] = ACTIONS(974),
    [anon_sym_COMMA] = ACTIONS(968),
    [anon_sym_PIPE] = ACTIONS(976),
    [anon_sym_SEMI] = ACTIONS(968),
    [anon_sym_STAR_STAR] = ACTIONS(968),
    [anon_sym_AMP] = ACTIONS(976),
    [anon_sym_LT] = ACTIONS(976),
    [anon_sym_if] = ACTIONS(968),
    [anon_sym_unless] = ACTIONS(968),
    [anon_sym_while] = ACTIONS(968),
    [anon_sym_until] = ACTIONS(968),
    [anon_sym_rescue] = ACTIONS(968),
    [anon_sym_AMP_DOT] = ACTIONS(978),
    [anon_sym_QMARK] = ACTIONS(968),
    [anon_sym_DOT_DOT] = ACTIONS(976),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(968),
    [anon_sym_and] = ACTIONS(968),
    [anon_sym_or] = ACTIONS(968),
    [anon_sym_PIPE_PIPE] = ACTIONS(968),
    [anon_sym_AMP_AMP] = ACTIONS(968),
    [anon_sym_LT_LT] = ACTIONS(968),
    [anon_sym_GT_GT] = ACTIONS(968),
    [anon_sym_EQ_EQ] = ACTIONS(976),
    [anon_sym_BANG_EQ] = ACTIONS(968),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(968),
    [anon_sym_LT_EQ_GT] = ACTIONS(968),
    [anon_sym_EQ_TILDE] = ACTIONS(968),
    [anon_sym_BANG_TILDE] = ACTIONS(968),
    [anon_sym_LT_EQ] = ACTIONS(976),
    [anon_sym_GT] = ACTIONS(976),
    [anon_sym_GT_EQ] = ACTIONS(968),
    [anon_sym_CARET] = ACTIONS(968),
    [anon_sym_PLUS] = ACTIONS(968),
    [anon_sym_SLASH] = ACTIONS(968),
    [anon_sym_PERCENT] = ACTIONS(968),
    [sym_comment] = ACTIONS(110),
  },
  [61] = {
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym__line_break] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [ts_builtin_sym_end] = ACTIONS(980),
    [anon_sym___END__] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(980),
    [anon_sym_RBRACE] = ACTIONS(980),
    [anon_sym_RPAREN] = ACTIONS(980),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_end] = ACTIONS(980),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_if] = ACTIONS(980),
    [anon_sym_unless] = ACTIONS(980),
    [anon_sym_while] = ACTIONS(980),
    [anon_sym_until] = ACTIONS(980),
    [anon_sym_rescue] = ACTIONS(980),
    [anon_sym_do] = ACTIONS(980),
    [anon_sym_when] = ACTIONS(980),
    [anon_sym_elsif] = ACTIONS(980),
    [anon_sym_else] = ACTIONS(980),
    [anon_sym_then] = ACTIONS(980),
    [anon_sym_ensure] = ACTIONS(980),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(980),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(980),
    [anon_sym_or] = ACTIONS(980),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [sym_comment] = ACTIONS(256),
  },
  [62] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(595),
    [sym__primary] = STATE(596),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(597),
    [sym_call] = STATE(597),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(598),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(600),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_do_block] = STATE(602),
    [sym_block] = STATE(602),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(605),
    [sym__variable] = STATE(597),
    [sym_reserved_identifier] = STATE(606),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(607),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(1006),
    [sym__splat_star] = ACTIONS(1008),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(1012),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [ts_builtin_sym_end] = ACTIONS(980),
    [anon_sym___END__] = ACTIONS(982),
    [anon_sym_LBRACE] = ACTIONS(1014),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(1024),
    [anon_sym_yield] = ACTIONS(1026),
    [anon_sym_break] = ACTIONS(1028),
    [anon_sym_next] = ACTIONS(1030),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(982),
    [anon_sym_unless] = ACTIONS(982),
    [anon_sym_while] = ACTIONS(982),
    [anon_sym_until] = ACTIONS(982),
    [anon_sym_rescue] = ACTIONS(982),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(1038),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(1044),
    [anon_sym_not] = ACTIONS(1046),
    [anon_sym_BANG] = ACTIONS(1048),
    [anon_sym_TILDE] = ACTIONS(1050),
    [sym_constant] = ACTIONS(1052),
    [sym_identifier] = ACTIONS(1052),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(588),
    [anon_sym_super] = ACTIONS(590),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [63] = {
    [sym__simple_heredoc_body] = ACTIONS(968),
    [sym__heredoc_body_beginning] = ACTIONS(968),
    [sym__line_break] = ACTIONS(968),
    [sym__binary_minus] = ACTIONS(968),
    [sym__binary_star] = ACTIONS(968),
    [ts_builtin_sym_end] = ACTIONS(968),
    [anon_sym___END__] = ACTIONS(968),
    [anon_sym_RBRACE] = ACTIONS(968),
    [anon_sym_RPAREN] = ACTIONS(968),
    [anon_sym_end] = ACTIONS(968),
    [anon_sym_COMMA] = ACTIONS(968),
    [anon_sym_PIPE] = ACTIONS(976),
    [anon_sym_SEMI] = ACTIONS(968),
    [anon_sym_STAR_STAR] = ACTIONS(968),
    [anon_sym_AMP] = ACTIONS(976),
    [anon_sym_LT] = ACTIONS(976),
    [anon_sym_if] = ACTIONS(968),
    [anon_sym_unless] = ACTIONS(968),
    [anon_sym_while] = ACTIONS(968),
    [anon_sym_until] = ACTIONS(968),
    [anon_sym_rescue] = ACTIONS(968),
    [anon_sym_do] = ACTIONS(968),
    [anon_sym_when] = ACTIONS(968),
    [anon_sym_elsif] = ACTIONS(968),
    [anon_sym_else] = ACTIONS(968),
    [anon_sym_then] = ACTIONS(968),
    [anon_sym_ensure] = ACTIONS(968),
    [anon_sym_EQ_GT] = ACTIONS(968),
    [anon_sym_QMARK] = ACTIONS(968),
    [anon_sym_DOT_DOT] = ACTIONS(976),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(968),
    [anon_sym_and] = ACTIONS(968),
    [anon_sym_or] = ACTIONS(968),
    [anon_sym_PIPE_PIPE] = ACTIONS(968),
    [anon_sym_AMP_AMP] = ACTIONS(968),
    [anon_sym_LT_LT] = ACTIONS(968),
    [anon_sym_GT_GT] = ACTIONS(968),
    [anon_sym_EQ_EQ] = ACTIONS(976),
    [anon_sym_BANG_EQ] = ACTIONS(968),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(968),
    [anon_sym_LT_EQ_GT] = ACTIONS(968),
    [anon_sym_EQ_TILDE] = ACTIONS(968),
    [anon_sym_BANG_TILDE] = ACTIONS(968),
    [anon_sym_LT_EQ] = ACTIONS(976),
    [anon_sym_GT] = ACTIONS(976),
    [anon_sym_GT_EQ] = ACTIONS(968),
    [anon_sym_CARET] = ACTIONS(968),
    [anon_sym_PLUS] = ACTIONS(968),
    [anon_sym_SLASH] = ACTIONS(968),
    [anon_sym_PERCENT] = ACTIONS(968),
    [sym_comment] = ACTIONS(110),
  },
  [64] = {
    [anon_sym_EQ] = ACTIONS(1068),
    [sym_comment] = ACTIONS(256),
  },
  [65] = {
    [anon_sym_EQ] = ACTIONS(1070),
    [sym_comment] = ACTIONS(256),
  },
  [66] = {
    [anon_sym_COMMA] = ACTIONS(1072),
    [anon_sym_EQ] = ACTIONS(1074),
    [sym_comment] = ACTIONS(256),
  },
  [67] = {
    [anon_sym_RPAREN] = ACTIONS(1076),
    [anon_sym_COMMA] = ACTIONS(1076),
    [anon_sym_EQ] = ACTIONS(1076),
    [anon_sym_in] = ACTIONS(1076),
    [sym_comment] = ACTIONS(256),
  },
  [68] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [ts_builtin_sym_end] = ACTIONS(250),
    [anon_sym___END__] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(1076),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(1078),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(1080),
    [anon_sym_DASH_EQ] = ACTIONS(1080),
    [anon_sym_STAR_EQ] = ACTIONS(1080),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1080),
    [anon_sym_SLASH_EQ] = ACTIONS(1080),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1080),
    [anon_sym_PIPE_EQ] = ACTIONS(1080),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1080),
    [anon_sym_AMP_EQ] = ACTIONS(1080),
    [anon_sym_PERCENT_EQ] = ACTIONS(1080),
    [anon_sym_GT_GT_EQ] = ACTIONS(1080),
    [anon_sym_LT_LT_EQ] = ACTIONS(1080),
    [anon_sym_CARET_EQ] = ACTIONS(1080),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [69] = {
    [sym_string] = STATE(611),
    [aux_sym_chained_string_repeat1] = STATE(612),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(20),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [ts_builtin_sym_end] = ACTIONS(250),
    [anon_sym___END__] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_RBRACE] = ACTIONS(250),
    [anon_sym_RPAREN] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_end] = ACTIONS(250),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_when] = ACTIONS(250),
    [anon_sym_elsif] = ACTIONS(250),
    [anon_sym_else] = ACTIONS(250),
    [anon_sym_then] = ACTIONS(250),
    [anon_sym_ensure] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(120),
  },
  [70] = {
    [sym__simple_string] = ACTIONS(126),
    [sym__string_beginning] = ACTIONS(126),
    [sym__string_middle] = ACTIONS(126),
    [sym__string_end] = ACTIONS(126),
    [sym__element_reference_left_bracket] = ACTIONS(126),
    [sym__scope_double_colon] = ACTIONS(126),
    [sym__binary_minus] = ACTIONS(126),
    [sym__binary_star] = ACTIONS(126),
    [anon_sym_DOT] = ACTIONS(128),
    [anon_sym_COMMA] = ACTIONS(126),
    [anon_sym_PIPE] = ACTIONS(128),
    [anon_sym_STAR_STAR] = ACTIONS(126),
    [anon_sym_AMP] = ACTIONS(128),
    [anon_sym_LT] = ACTIONS(128),
    [anon_sym_if] = ACTIONS(126),
    [anon_sym_unless] = ACTIONS(126),
    [anon_sym_while] = ACTIONS(126),
    [anon_sym_until] = ACTIONS(126),
    [anon_sym_rescue] = ACTIONS(126),
    [anon_sym_AMP_DOT] = ACTIONS(126),
    [anon_sym_QMARK] = ACTIONS(128),
    [anon_sym_DOT_DOT] = ACTIONS(128),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(126),
    [anon_sym_and] = ACTIONS(126),
    [anon_sym_or] = ACTIONS(126),
    [anon_sym_PIPE_PIPE] = ACTIONS(126),
    [anon_sym_AMP_AMP] = ACTIONS(126),
    [anon_sym_LT_LT] = ACTIONS(126),
    [anon_sym_GT_GT] = ACTIONS(126),
    [anon_sym_EQ_EQ] = ACTIONS(128),
    [anon_sym_BANG_EQ] = ACTIONS(126),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(126),
    [anon_sym_LT_EQ_GT] = ACTIONS(126),
    [anon_sym_EQ_TILDE] = ACTIONS(126),
    [anon_sym_BANG_TILDE] = ACTIONS(126),
    [anon_sym_LT_EQ] = ACTIONS(128),
    [anon_sym_GT] = ACTIONS(128),
    [anon_sym_GT_EQ] = ACTIONS(126),
    [anon_sym_CARET] = ACTIONS(126),
    [anon_sym_PLUS] = ACTIONS(126),
    [anon_sym_SLASH] = ACTIONS(126),
    [anon_sym_PERCENT] = ACTIONS(126),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(128),
  },
  [71] = {
    [sym__string_middle] = ACTIONS(130),
    [sym__string_end] = ACTIONS(130),
    [sym__element_reference_left_bracket] = ACTIONS(130),
    [sym__scope_double_colon] = ACTIONS(130),
    [sym__binary_minus] = ACTIONS(130),
    [sym__binary_star] = ACTIONS(130),
    [anon_sym_DOT] = ACTIONS(132),
    [anon_sym_COMMA] = ACTIONS(130),
    [anon_sym_PIPE] = ACTIONS(132),
    [anon_sym_STAR_STAR] = ACTIONS(130),
    [anon_sym_AMP] = ACTIONS(132),
    [anon_sym_LT] = ACTIONS(132),
    [anon_sym_if] = ACTIONS(130),
    [anon_sym_unless] = ACTIONS(130),
    [anon_sym_while] = ACTIONS(130),
    [anon_sym_until] = ACTIONS(130),
    [anon_sym_rescue] = ACTIONS(130),
    [anon_sym_AMP_DOT] = ACTIONS(130),
    [anon_sym_QMARK] = ACTIONS(130),
    [anon_sym_DOT_DOT] = ACTIONS(132),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(130),
    [anon_sym_and] = ACTIONS(130),
    [anon_sym_or] = ACTIONS(130),
    [anon_sym_PIPE_PIPE] = ACTIONS(130),
    [anon_sym_AMP_AMP] = ACTIONS(130),
    [anon_sym_LT_LT] = ACTIONS(130),
    [anon_sym_GT_GT] = ACTIONS(130),
    [anon_sym_EQ_EQ] = ACTIONS(132),
    [anon_sym_BANG_EQ] = ACTIONS(130),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(130),
    [anon_sym_LT_EQ_GT] = ACTIONS(130),
    [anon_sym_EQ_TILDE] = ACTIONS(130),
    [anon_sym_BANG_TILDE] = ACTIONS(130),
    [anon_sym_LT_EQ] = ACTIONS(132),
    [anon_sym_GT] = ACTIONS(132),
    [anon_sym_GT_EQ] = ACTIONS(130),
    [anon_sym_CARET] = ACTIONS(130),
    [anon_sym_PLUS] = ACTIONS(130),
    [anon_sym_SLASH] = ACTIONS(130),
    [anon_sym_PERCENT] = ACTIONS(130),
    [sym_comment] = ACTIONS(110),
  },
  [72] = {
    [sym__string_middle] = ACTIONS(134),
    [sym__string_end] = ACTIONS(134),
    [sym__element_reference_left_bracket] = ACTIONS(134),
    [sym__scope_double_colon] = ACTIONS(134),
    [sym__binary_minus] = ACTIONS(134),
    [sym__binary_star] = ACTIONS(134),
    [anon_sym_DOT] = ACTIONS(136),
    [anon_sym_COMMA] = ACTIONS(134),
    [anon_sym_PIPE] = ACTIONS(136),
    [anon_sym_STAR_STAR] = ACTIONS(134),
    [anon_sym_AMP] = ACTIONS(136),
    [anon_sym_LT] = ACTIONS(136),
    [anon_sym_if] = ACTIONS(134),
    [anon_sym_unless] = ACTIONS(134),
    [anon_sym_while] = ACTIONS(134),
    [anon_sym_until] = ACTIONS(134),
    [anon_sym_rescue] = ACTIONS(134),
    [anon_sym_AMP_DOT] = ACTIONS(134),
    [anon_sym_QMARK] = ACTIONS(134),
    [anon_sym_DOT_DOT] = ACTIONS(136),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(134),
    [anon_sym_and] = ACTIONS(134),
    [anon_sym_or] = ACTIONS(134),
    [anon_sym_PIPE_PIPE] = ACTIONS(134),
    [anon_sym_AMP_AMP] = ACTIONS(134),
    [anon_sym_LT_LT] = ACTIONS(134),
    [anon_sym_GT_GT] = ACTIONS(134),
    [anon_sym_EQ_EQ] = ACTIONS(136),
    [anon_sym_BANG_EQ] = ACTIONS(134),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(134),
    [anon_sym_LT_EQ_GT] = ACTIONS(134),
    [anon_sym_EQ_TILDE] = ACTIONS(134),
    [anon_sym_BANG_TILDE] = ACTIONS(134),
    [anon_sym_LT_EQ] = ACTIONS(136),
    [anon_sym_GT] = ACTIONS(136),
    [anon_sym_GT_EQ] = ACTIONS(134),
    [anon_sym_CARET] = ACTIONS(134),
    [anon_sym_PLUS] = ACTIONS(134),
    [anon_sym_SLASH] = ACTIONS(134),
    [anon_sym_PERCENT] = ACTIONS(134),
    [sym_comment] = ACTIONS(110),
  },
  [73] = {
    [sym__string_middle] = ACTIONS(138),
    [sym__string_end] = ACTIONS(138),
    [sym__element_reference_left_bracket] = ACTIONS(138),
    [sym__scope_double_colon] = ACTIONS(138),
    [sym__binary_minus] = ACTIONS(138),
    [sym__binary_star] = ACTIONS(138),
    [anon_sym_DOT] = ACTIONS(140),
    [anon_sym_COMMA] = ACTIONS(138),
    [anon_sym_PIPE] = ACTIONS(140),
    [anon_sym_STAR_STAR] = ACTIONS(138),
    [anon_sym_AMP] = ACTIONS(140),
    [anon_sym_LT] = ACTIONS(140),
    [anon_sym_if] = ACTIONS(138),
    [anon_sym_unless] = ACTIONS(138),
    [anon_sym_while] = ACTIONS(138),
    [anon_sym_until] = ACTIONS(138),
    [anon_sym_rescue] = ACTIONS(138),
    [anon_sym_AMP_DOT] = ACTIONS(138),
    [anon_sym_QMARK] = ACTIONS(138),
    [anon_sym_DOT_DOT] = ACTIONS(140),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(138),
    [anon_sym_and] = ACTIONS(138),
    [anon_sym_or] = ACTIONS(138),
    [anon_sym_PIPE_PIPE] = ACTIONS(138),
    [anon_sym_AMP_AMP] = ACTIONS(138),
    [anon_sym_LT_LT] = ACTIONS(138),
    [anon_sym_GT_GT] = ACTIONS(138),
    [anon_sym_EQ_EQ] = ACTIONS(140),
    [anon_sym_BANG_EQ] = ACTIONS(138),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(138),
    [anon_sym_LT_EQ_GT] = ACTIONS(138),
    [anon_sym_EQ_TILDE] = ACTIONS(138),
    [anon_sym_BANG_TILDE] = ACTIONS(138),
    [anon_sym_LT_EQ] = ACTIONS(140),
    [anon_sym_GT] = ACTIONS(140),
    [anon_sym_GT_EQ] = ACTIONS(138),
    [anon_sym_CARET] = ACTIONS(138),
    [anon_sym_PLUS] = ACTIONS(138),
    [anon_sym_SLASH] = ACTIONS(138),
    [anon_sym_PERCENT] = ACTIONS(138),
    [sym_comment] = ACTIONS(110),
  },
  [74] = {
    [sym__string_middle] = ACTIONS(142),
    [sym__string_end] = ACTIONS(142),
    [sym__element_reference_left_bracket] = ACTIONS(142),
    [sym__scope_double_colon] = ACTIONS(142),
    [sym__binary_minus] = ACTIONS(142),
    [sym__binary_star] = ACTIONS(142),
    [anon_sym_DOT] = ACTIONS(144),
    [anon_sym_COMMA] = ACTIONS(142),
    [anon_sym_PIPE] = ACTIONS(144),
    [anon_sym_STAR_STAR] = ACTIONS(142),
    [anon_sym_AMP] = ACTIONS(144),
    [anon_sym_LT] = ACTIONS(144),
    [anon_sym_if] = ACTIONS(142),
    [anon_sym_unless] = ACTIONS(142),
    [anon_sym_while] = ACTIONS(142),
    [anon_sym_until] = ACTIONS(142),
    [anon_sym_rescue] = ACTIONS(142),
    [anon_sym_AMP_DOT] = ACTIONS(142),
    [anon_sym_QMARK] = ACTIONS(142),
    [anon_sym_DOT_DOT] = ACTIONS(144),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(142),
    [anon_sym_and] = ACTIONS(142),
    [anon_sym_or] = ACTIONS(142),
    [anon_sym_PIPE_PIPE] = ACTIONS(142),
    [anon_sym_AMP_AMP] = ACTIONS(142),
    [anon_sym_LT_LT] = ACTIONS(142),
    [anon_sym_GT_GT] = ACTIONS(142),
    [anon_sym_EQ_EQ] = ACTIONS(144),
    [anon_sym_BANG_EQ] = ACTIONS(142),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(142),
    [anon_sym_LT_EQ_GT] = ACTIONS(142),
    [anon_sym_EQ_TILDE] = ACTIONS(142),
    [anon_sym_BANG_TILDE] = ACTIONS(142),
    [anon_sym_LT_EQ] = ACTIONS(144),
    [anon_sym_GT] = ACTIONS(144),
    [anon_sym_GT_EQ] = ACTIONS(142),
    [anon_sym_CARET] = ACTIONS(142),
    [anon_sym_PLUS] = ACTIONS(142),
    [anon_sym_SLASH] = ACTIONS(142),
    [anon_sym_PERCENT] = ACTIONS(142),
    [sym_comment] = ACTIONS(110),
  },
  [75] = {
    [sym__statement] = STATE(613),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(614),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [76] = {
    [sym__statement] = STATE(615),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(616),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [77] = {
    [sym__statement] = STATE(617),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(618),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [78] = {
    [sym__statement] = STATE(619),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(620),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [79] = {
    [sym__statement] = STATE(621),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(622),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [80] = {
    [sym__string_middle] = ACTIONS(250),
    [sym__string_end] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
  },
  [81] = {
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(623),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [82] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(193),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_hash_splat_argument] = STATE(197),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(199),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(200),
    [sym__variable] = STATE(196),
    [sym_reserved_identifier] = STATE(201),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(202),
    [sym_subshell] = STATE(151),
    [sym_heredoc_end] = STATE(625),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym__hash_items] = STATE(626),
    [sym_pair] = STATE(205),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(260),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(272),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(286),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_RBRACE] = ACTIONS(1082),
    [anon_sym_def] = ACTIONS(292),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(302),
    [anon_sym_class] = ACTIONS(304),
    [anon_sym_module] = ACTIONS(306),
    [anon_sym_return] = ACTIONS(308),
    [anon_sym_yield] = ACTIONS(310),
    [anon_sym_break] = ACTIONS(312),
    [anon_sym_next] = ACTIONS(314),
    [anon_sym_redo] = ACTIONS(316),
    [anon_sym_retry] = ACTIONS(318),
    [anon_sym_if] = ACTIONS(320),
    [anon_sym_unless] = ACTIONS(322),
    [anon_sym_while] = ACTIONS(324),
    [anon_sym_until] = ACTIONS(326),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(328),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(330),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(332),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(334),
    [anon_sym_defined_QMARK] = ACTIONS(336),
    [anon_sym_not] = ACTIONS(338),
    [anon_sym_BANG] = ACTIONS(340),
    [anon_sym_TILDE] = ACTIONS(340),
    [sym_constant] = ACTIONS(342),
    [sym_identifier] = ACTIONS(342),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(346),
    [anon_sym_nil] = ACTIONS(348),
    [anon_sym_self] = ACTIONS(350),
    [anon_sym_super] = ACTIONS(352),
    [anon_sym_true] = ACTIONS(354),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(370),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [83] = {
    [sym__method_rest] = STATE(628),
    [sym__variable] = STATE(629),
    [sym_operator] = STATE(217),
    [sym__method_name] = STATE(630),
    [sym_setter] = STATE(217),
    [sym_symbol] = STATE(217),
    [sym_super] = STATE(219),
    [sym_self] = STATE(219),
    [sym__simple_symbol] = ACTIONS(378),
    [sym__symbol_beginning] = ACTIONS(380),
    [anon_sym_LPAREN] = ACTIONS(1084),
    [anon_sym_PIPE] = ACTIONS(384),
    [anon_sym_STAR] = ACTIONS(386),
    [anon_sym_STAR_STAR] = ACTIONS(384),
    [anon_sym_AMP] = ACTIONS(384),
    [anon_sym_LT] = ACTIONS(386),
    [anon_sym_DOT_DOT] = ACTIONS(384),
    [anon_sym_LT_LT] = ACTIONS(384),
    [anon_sym_GT_GT] = ACTIONS(384),
    [anon_sym_EQ_EQ] = ACTIONS(386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(384),
    [anon_sym_LT_EQ_GT] = ACTIONS(384),
    [anon_sym_EQ_TILDE] = ACTIONS(384),
    [anon_sym_BANG_TILDE] = ACTIONS(384),
    [anon_sym_LT_EQ] = ACTIONS(386),
    [anon_sym_GT] = ACTIONS(386),
    [anon_sym_GT_EQ] = ACTIONS(384),
    [anon_sym_CARET] = ACTIONS(384),
    [anon_sym_PLUS] = ACTIONS(386),
    [anon_sym_SLASH] = ACTIONS(384),
    [anon_sym_PERCENT] = ACTIONS(384),
    [anon_sym_BANG] = ACTIONS(386),
    [anon_sym_TILDE] = ACTIONS(384),
    [sym_constant] = ACTIONS(388),
    [sym_identifier] = ACTIONS(390),
    [sym_instance_variable] = ACTIONS(388),
    [sym_class_variable] = ACTIONS(388),
    [sym_global_variable] = ACTIONS(388),
    [anon_sym_self] = ACTIONS(392),
    [anon_sym_super] = ACTIONS(394),
    [anon_sym_DASH] = ACTIONS(386),
    [anon_sym_PLUS_AT] = ACTIONS(384),
    [anon_sym_DASH_AT] = ACTIONS(384),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(386),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(384),
    [anon_sym_BQUOTE] = ACTIONS(384),
    [sym_comment] = ACTIONS(110),
  },
  [84] = {
    [sym__statements] = STATE(632),
    [sym__top_level_statement] = STATE(235),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(236),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(237),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(240),
    [sym__mlhs] = STATE(241),
    [sym__simple_mlhs] = STATE(242),
    [sym_destructured_left_assignment] = STATE(242),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(243),
    [sym__variable] = STATE(239),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(396),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_RPAREN] = ACTIONS(1086),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(402),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(412),
    [anon_sym_defined_QMARK] = ACTIONS(414),
    [anon_sym_not] = ACTIONS(416),
    [anon_sym_BANG] = ACTIONS(418),
    [anon_sym_TILDE] = ACTIONS(418),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [85] = {
    [sym_constant] = ACTIONS(1088),
    [sym_identifier] = ACTIONS(1088),
    [sym_comment] = ACTIONS(110),
  },
  [86] = {
    [sym__string_middle] = ACTIONS(430),
    [sym__string_end] = ACTIONS(430),
    [anon_sym_if] = ACTIONS(430),
    [anon_sym_unless] = ACTIONS(430),
    [anon_sym_while] = ACTIONS(430),
    [anon_sym_until] = ACTIONS(430),
    [anon_sym_rescue] = ACTIONS(430),
    [sym_comment] = ACTIONS(110),
  },
  [87] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(293),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(636),
    [sym_call] = STATE(295),
    [sym_method_call] = STATE(286),
    [sym__lhs] = STATE(255),
    [sym__variable] = STATE(295),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [sym__singleton_class_left_angle_left_langle] = ACTIONS(1090),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(458),
    [anon_sym_COLON_COLON] = ACTIONS(524),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(1092),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [88] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(293),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(638),
    [sym_call] = STATE(295),
    [sym_method_call] = STATE(286),
    [sym__lhs] = STATE(255),
    [sym__variable] = STATE(295),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(458),
    [anon_sym_COLON_COLON] = ACTIONS(524),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(1094),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [89] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(692),
    [sym__primary] = STATE(693),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(695),
    [sym_call] = STATE(695),
    [sym_method_call] = STATE(694),
    [sym_argument_list] = STATE(696),
    [sym__argument_list_with_parens] = STATE(697),
    [sym__argument] = STATE(698),
    [sym_splat_argument] = STATE(699),
    [sym_hash_splat_argument] = STATE(699),
    [sym_block_argument] = STATE(699),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(701),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(702),
    [sym__variable] = STATE(695),
    [sym_reserved_identifier] = STATE(703),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(704),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_pair] = STATE(699),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(1096),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__string_beginning] = ACTIONS(1106),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym__string_middle] = ACTIONS(532),
    [sym__string_end] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(1118),
    [sym__splat_star] = ACTIONS(1120),
    [sym__argument_list_left_paren] = ACTIONS(1122),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(1124),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(1128),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(1134),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(1136),
    [anon_sym_return] = ACTIONS(1138),
    [anon_sym_yield] = ACTIONS(1140),
    [anon_sym_break] = ACTIONS(1142),
    [anon_sym_next] = ACTIONS(1144),
    [anon_sym_redo] = ACTIONS(1146),
    [anon_sym_retry] = ACTIONS(1148),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(1150),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1152),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1154),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(1156),
    [anon_sym_not] = ACTIONS(1158),
    [anon_sym_BANG] = ACTIONS(1160),
    [anon_sym_TILDE] = ACTIONS(1162),
    [sym_constant] = ACTIONS(1164),
    [sym_identifier] = ACTIONS(1164),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(1168),
    [anon_sym_nil] = ACTIONS(1170),
    [anon_sym_self] = ACTIONS(1172),
    [anon_sym_super] = ACTIONS(1174),
    [anon_sym_true] = ACTIONS(1176),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(1192),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [90] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(692),
    [sym__primary] = STATE(693),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(695),
    [sym_call] = STATE(695),
    [sym_method_call] = STATE(694),
    [sym_argument_list] = STATE(705),
    [sym__argument_list_with_parens] = STATE(697),
    [sym__argument] = STATE(698),
    [sym_splat_argument] = STATE(699),
    [sym_hash_splat_argument] = STATE(699),
    [sym_block_argument] = STATE(699),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(701),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(702),
    [sym__variable] = STATE(695),
    [sym_reserved_identifier] = STATE(703),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(704),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_pair] = STATE(699),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(1096),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__string_beginning] = ACTIONS(1106),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym__string_middle] = ACTIONS(602),
    [sym__string_end] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(1118),
    [sym__splat_star] = ACTIONS(1120),
    [sym__argument_list_left_paren] = ACTIONS(1122),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(1124),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(1128),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(1134),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(1136),
    [anon_sym_return] = ACTIONS(1138),
    [anon_sym_yield] = ACTIONS(1140),
    [anon_sym_break] = ACTIONS(1142),
    [anon_sym_next] = ACTIONS(1144),
    [anon_sym_redo] = ACTIONS(1146),
    [anon_sym_retry] = ACTIONS(1148),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(1150),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1152),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1154),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(1156),
    [anon_sym_not] = ACTIONS(1158),
    [anon_sym_BANG] = ACTIONS(1160),
    [anon_sym_TILDE] = ACTIONS(1162),
    [sym_constant] = ACTIONS(1164),
    [sym_identifier] = ACTIONS(1164),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(1168),
    [anon_sym_nil] = ACTIONS(1170),
    [anon_sym_self] = ACTIONS(1172),
    [anon_sym_super] = ACTIONS(1174),
    [anon_sym_true] = ACTIONS(1176),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(1192),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [91] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(692),
    [sym__primary] = STATE(693),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(695),
    [sym_call] = STATE(695),
    [sym_method_call] = STATE(694),
    [sym_argument_list] = STATE(706),
    [sym__argument_list_with_parens] = STATE(697),
    [sym__argument] = STATE(698),
    [sym_splat_argument] = STATE(699),
    [sym_hash_splat_argument] = STATE(699),
    [sym_block_argument] = STATE(699),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(701),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(702),
    [sym__variable] = STATE(695),
    [sym_reserved_identifier] = STATE(703),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(704),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_pair] = STATE(699),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(1096),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__string_beginning] = ACTIONS(1106),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym__string_middle] = ACTIONS(606),
    [sym__string_end] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(1118),
    [sym__splat_star] = ACTIONS(1120),
    [sym__argument_list_left_paren] = ACTIONS(1122),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(1124),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(1128),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(1134),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(1136),
    [anon_sym_return] = ACTIONS(1138),
    [anon_sym_yield] = ACTIONS(1140),
    [anon_sym_break] = ACTIONS(1142),
    [anon_sym_next] = ACTIONS(1144),
    [anon_sym_redo] = ACTIONS(1146),
    [anon_sym_retry] = ACTIONS(1148),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(1150),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1152),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1154),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(1156),
    [anon_sym_not] = ACTIONS(1158),
    [anon_sym_BANG] = ACTIONS(1160),
    [anon_sym_TILDE] = ACTIONS(1162),
    [sym_constant] = ACTIONS(1164),
    [sym_identifier] = ACTIONS(1164),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(1168),
    [anon_sym_nil] = ACTIONS(1170),
    [anon_sym_self] = ACTIONS(1172),
    [anon_sym_super] = ACTIONS(1174),
    [anon_sym_true] = ACTIONS(1176),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(1192),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [92] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(692),
    [sym__primary] = STATE(693),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(695),
    [sym_call] = STATE(695),
    [sym_method_call] = STATE(694),
    [sym_argument_list] = STATE(707),
    [sym__argument_list_with_parens] = STATE(697),
    [sym__argument] = STATE(698),
    [sym_splat_argument] = STATE(699),
    [sym_hash_splat_argument] = STATE(699),
    [sym_block_argument] = STATE(699),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(701),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(702),
    [sym__variable] = STATE(695),
    [sym_reserved_identifier] = STATE(703),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(704),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_pair] = STATE(699),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(1096),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__string_beginning] = ACTIONS(1106),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym__string_middle] = ACTIONS(610),
    [sym__string_end] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(1118),
    [sym__splat_star] = ACTIONS(1120),
    [sym__argument_list_left_paren] = ACTIONS(1122),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(1124),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(1128),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(1134),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(1136),
    [anon_sym_return] = ACTIONS(1138),
    [anon_sym_yield] = ACTIONS(1140),
    [anon_sym_break] = ACTIONS(1142),
    [anon_sym_next] = ACTIONS(1144),
    [anon_sym_redo] = ACTIONS(1146),
    [anon_sym_retry] = ACTIONS(1148),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(1150),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1152),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1154),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(1156),
    [anon_sym_not] = ACTIONS(1158),
    [anon_sym_BANG] = ACTIONS(1160),
    [anon_sym_TILDE] = ACTIONS(1162),
    [sym_constant] = ACTIONS(1164),
    [sym_identifier] = ACTIONS(1164),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(1168),
    [anon_sym_nil] = ACTIONS(1170),
    [anon_sym_self] = ACTIONS(1172),
    [anon_sym_super] = ACTIONS(1174),
    [anon_sym_true] = ACTIONS(1176),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(1192),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [93] = {
    [sym__string_middle] = ACTIONS(614),
    [sym__string_end] = ACTIONS(614),
    [sym__element_reference_left_bracket] = ACTIONS(614),
    [sym__scope_double_colon] = ACTIONS(614),
    [sym__binary_minus] = ACTIONS(614),
    [sym__binary_star] = ACTIONS(614),
    [anon_sym_DOT] = ACTIONS(616),
    [anon_sym_COMMA] = ACTIONS(614),
    [anon_sym_PIPE] = ACTIONS(616),
    [anon_sym_STAR_STAR] = ACTIONS(614),
    [anon_sym_AMP] = ACTIONS(616),
    [anon_sym_LT] = ACTIONS(616),
    [anon_sym_if] = ACTIONS(614),
    [anon_sym_unless] = ACTIONS(614),
    [anon_sym_while] = ACTIONS(614),
    [anon_sym_until] = ACTIONS(614),
    [anon_sym_rescue] = ACTIONS(614),
    [anon_sym_AMP_DOT] = ACTIONS(614),
    [anon_sym_QMARK] = ACTIONS(614),
    [anon_sym_DOT_DOT] = ACTIONS(616),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(614),
    [anon_sym_and] = ACTIONS(614),
    [anon_sym_or] = ACTIONS(614),
    [anon_sym_PIPE_PIPE] = ACTIONS(614),
    [anon_sym_AMP_AMP] = ACTIONS(614),
    [anon_sym_LT_LT] = ACTIONS(614),
    [anon_sym_GT_GT] = ACTIONS(614),
    [anon_sym_EQ_EQ] = ACTIONS(616),
    [anon_sym_BANG_EQ] = ACTIONS(614),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(614),
    [anon_sym_LT_EQ_GT] = ACTIONS(614),
    [anon_sym_EQ_TILDE] = ACTIONS(614),
    [anon_sym_BANG_TILDE] = ACTIONS(614),
    [anon_sym_LT_EQ] = ACTIONS(616),
    [anon_sym_GT] = ACTIONS(616),
    [anon_sym_GT_EQ] = ACTIONS(614),
    [anon_sym_CARET] = ACTIONS(614),
    [anon_sym_PLUS] = ACTIONS(614),
    [anon_sym_SLASH] = ACTIONS(614),
    [anon_sym_PERCENT] = ACTIONS(614),
    [sym_comment] = ACTIONS(110),
  },
  [94] = {
    [sym__string_middle] = ACTIONS(618),
    [sym__string_end] = ACTIONS(618),
    [sym__element_reference_left_bracket] = ACTIONS(618),
    [sym__scope_double_colon] = ACTIONS(618),
    [sym__binary_minus] = ACTIONS(618),
    [sym__binary_star] = ACTIONS(618),
    [anon_sym_DOT] = ACTIONS(620),
    [anon_sym_COMMA] = ACTIONS(618),
    [anon_sym_PIPE] = ACTIONS(620),
    [anon_sym_STAR_STAR] = ACTIONS(618),
    [anon_sym_AMP] = ACTIONS(620),
    [anon_sym_LT] = ACTIONS(620),
    [anon_sym_if] = ACTIONS(618),
    [anon_sym_unless] = ACTIONS(618),
    [anon_sym_while] = ACTIONS(618),
    [anon_sym_until] = ACTIONS(618),
    [anon_sym_rescue] = ACTIONS(618),
    [anon_sym_AMP_DOT] = ACTIONS(618),
    [anon_sym_QMARK] = ACTIONS(618),
    [anon_sym_DOT_DOT] = ACTIONS(620),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(618),
    [anon_sym_and] = ACTIONS(618),
    [anon_sym_or] = ACTIONS(618),
    [anon_sym_PIPE_PIPE] = ACTIONS(618),
    [anon_sym_AMP_AMP] = ACTIONS(618),
    [anon_sym_LT_LT] = ACTIONS(618),
    [anon_sym_GT_GT] = ACTIONS(618),
    [anon_sym_EQ_EQ] = ACTIONS(620),
    [anon_sym_BANG_EQ] = ACTIONS(618),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(618),
    [anon_sym_LT_EQ_GT] = ACTIONS(618),
    [anon_sym_EQ_TILDE] = ACTIONS(618),
    [anon_sym_BANG_TILDE] = ACTIONS(618),
    [anon_sym_LT_EQ] = ACTIONS(620),
    [anon_sym_GT] = ACTIONS(620),
    [anon_sym_GT_EQ] = ACTIONS(618),
    [anon_sym_CARET] = ACTIONS(618),
    [anon_sym_PLUS] = ACTIONS(618),
    [anon_sym_SLASH] = ACTIONS(618),
    [anon_sym_PERCENT] = ACTIONS(618),
    [sym_comment] = ACTIONS(110),
  },
  [95] = {
    [sym__statement] = STATE(708),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(361),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [96] = {
    [sym__statement] = STATE(709),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(361),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [97] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(710),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [98] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(711),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [99] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(285),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(381),
    [sym_call] = STATE(381),
    [sym_method_call] = STATE(286),
    [sym__mlhs] = STATE(712),
    [sym__simple_mlhs] = STATE(383),
    [sym_destructured_left_assignment] = STATE(383),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(384),
    [sym__variable] = STATE(381),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(658),
    [anon_sym_COLON_COLON] = ACTIONS(460),
    [anon_sym_STAR] = ACTIONS(660),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(494),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [100] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_when] = STATE(713),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(714),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(400),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(401),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(387),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__terminator] = STATE(402),
    [aux_sym_case_repeat1] = STATE(715),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(666),
    [sym__unary_minus] = ACTIONS(668),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_when] = ACTIONS(678),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(680),
    [anon_sym_defined_QMARK] = ACTIONS(682),
    [anon_sym_not] = ACTIONS(684),
    [anon_sym_BANG] = ACTIONS(686),
    [anon_sym_TILDE] = ACTIONS(686),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [101] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(717),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(718),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(692),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(1198),
    [anon_sym_SEMI] = ACTIONS(698),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [102] = {
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(719),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [103] = {
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(720),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [104] = {
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(721),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [105] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__string_middle] = ACTIONS(722),
    [sym__string_end] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [106] = {
    [sym_operator] = STATE(438),
    [sym__method_name] = STATE(722),
    [sym_setter] = STATE(438),
    [sym_symbol] = STATE(438),
    [sym__simple_symbol] = ACTIONS(728),
    [sym__symbol_beginning] = ACTIONS(730),
    [anon_sym_PIPE] = ACTIONS(732),
    [anon_sym_STAR] = ACTIONS(734),
    [anon_sym_STAR_STAR] = ACTIONS(732),
    [anon_sym_AMP] = ACTIONS(732),
    [anon_sym_LT] = ACTIONS(734),
    [anon_sym_DOT_DOT] = ACTIONS(732),
    [anon_sym_LT_LT] = ACTIONS(732),
    [anon_sym_GT_GT] = ACTIONS(732),
    [anon_sym_EQ_EQ] = ACTIONS(734),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(732),
    [anon_sym_LT_EQ_GT] = ACTIONS(732),
    [anon_sym_EQ_TILDE] = ACTIONS(732),
    [anon_sym_BANG_TILDE] = ACTIONS(732),
    [anon_sym_LT_EQ] = ACTIONS(734),
    [anon_sym_GT] = ACTIONS(734),
    [anon_sym_GT_EQ] = ACTIONS(732),
    [anon_sym_CARET] = ACTIONS(732),
    [anon_sym_PLUS] = ACTIONS(734),
    [anon_sym_SLASH] = ACTIONS(732),
    [anon_sym_PERCENT] = ACTIONS(732),
    [anon_sym_BANG] = ACTIONS(734),
    [anon_sym_TILDE] = ACTIONS(732),
    [sym_constant] = ACTIONS(736),
    [sym_identifier] = ACTIONS(738),
    [sym_instance_variable] = ACTIONS(736),
    [sym_class_variable] = ACTIONS(736),
    [sym_global_variable] = ACTIONS(736),
    [anon_sym_DASH] = ACTIONS(734),
    [anon_sym_PLUS_AT] = ACTIONS(732),
    [anon_sym_DASH_AT] = ACTIONS(732),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(734),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(732),
    [anon_sym_BQUOTE] = ACTIONS(732),
    [sym_comment] = ACTIONS(110),
  },
  [107] = {
    [sym__string_middle] = ACTIONS(740),
    [sym__string_end] = ACTIONS(740),
    [sym__element_reference_left_bracket] = ACTIONS(740),
    [sym__scope_double_colon] = ACTIONS(740),
    [sym__binary_minus] = ACTIONS(740),
    [sym__binary_star] = ACTIONS(740),
    [anon_sym_DOT] = ACTIONS(742),
    [anon_sym_COMMA] = ACTIONS(740),
    [anon_sym_PIPE] = ACTIONS(742),
    [anon_sym_STAR_STAR] = ACTIONS(742),
    [anon_sym_AMP] = ACTIONS(742),
    [anon_sym_EQ] = ACTIONS(742),
    [anon_sym_LT] = ACTIONS(742),
    [anon_sym_if] = ACTIONS(740),
    [anon_sym_unless] = ACTIONS(740),
    [anon_sym_while] = ACTIONS(740),
    [anon_sym_until] = ACTIONS(740),
    [anon_sym_rescue] = ACTIONS(740),
    [anon_sym_AMP_DOT] = ACTIONS(740),
    [anon_sym_PLUS_EQ] = ACTIONS(740),
    [anon_sym_DASH_EQ] = ACTIONS(740),
    [anon_sym_STAR_EQ] = ACTIONS(740),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(740),
    [anon_sym_SLASH_EQ] = ACTIONS(740),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(740),
    [anon_sym_PIPE_EQ] = ACTIONS(740),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(740),
    [anon_sym_AMP_EQ] = ACTIONS(740),
    [anon_sym_PERCENT_EQ] = ACTIONS(740),
    [anon_sym_GT_GT_EQ] = ACTIONS(740),
    [anon_sym_LT_LT_EQ] = ACTIONS(740),
    [anon_sym_CARET_EQ] = ACTIONS(740),
    [anon_sym_QMARK] = ACTIONS(740),
    [anon_sym_DOT_DOT] = ACTIONS(742),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(740),
    [anon_sym_and] = ACTIONS(740),
    [anon_sym_or] = ACTIONS(740),
    [anon_sym_PIPE_PIPE] = ACTIONS(742),
    [anon_sym_AMP_AMP] = ACTIONS(742),
    [anon_sym_LT_LT] = ACTIONS(742),
    [anon_sym_GT_GT] = ACTIONS(742),
    [anon_sym_EQ_EQ] = ACTIONS(742),
    [anon_sym_BANG_EQ] = ACTIONS(740),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(740),
    [anon_sym_LT_EQ_GT] = ACTIONS(740),
    [anon_sym_EQ_TILDE] = ACTIONS(740),
    [anon_sym_BANG_TILDE] = ACTIONS(740),
    [anon_sym_LT_EQ] = ACTIONS(742),
    [anon_sym_GT] = ACTIONS(742),
    [anon_sym_GT_EQ] = ACTIONS(740),
    [anon_sym_CARET] = ACTIONS(742),
    [anon_sym_PLUS] = ACTIONS(742),
    [anon_sym_SLASH] = ACTIONS(742),
    [anon_sym_PERCENT] = ACTIONS(742),
    [sym_comment] = ACTIONS(256),
  },
  [108] = {
    [sym__string_middle] = ACTIONS(744),
    [sym__string_end] = ACTIONS(744),
    [sym__element_reference_left_bracket] = ACTIONS(744),
    [sym__scope_double_colon] = ACTIONS(744),
    [sym__binary_minus] = ACTIONS(744),
    [sym__binary_star] = ACTIONS(744),
    [anon_sym_DOT] = ACTIONS(746),
    [anon_sym_COMMA] = ACTIONS(744),
    [anon_sym_PIPE] = ACTIONS(746),
    [anon_sym_STAR_STAR] = ACTIONS(746),
    [anon_sym_AMP] = ACTIONS(746),
    [anon_sym_EQ] = ACTIONS(746),
    [anon_sym_LT] = ACTIONS(746),
    [anon_sym_if] = ACTIONS(744),
    [anon_sym_unless] = ACTIONS(744),
    [anon_sym_while] = ACTIONS(744),
    [anon_sym_until] = ACTIONS(744),
    [anon_sym_rescue] = ACTIONS(744),
    [anon_sym_AMP_DOT] = ACTIONS(744),
    [anon_sym_PLUS_EQ] = ACTIONS(744),
    [anon_sym_DASH_EQ] = ACTIONS(744),
    [anon_sym_STAR_EQ] = ACTIONS(744),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(744),
    [anon_sym_SLASH_EQ] = ACTIONS(744),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(744),
    [anon_sym_PIPE_EQ] = ACTIONS(744),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(744),
    [anon_sym_AMP_EQ] = ACTIONS(744),
    [anon_sym_PERCENT_EQ] = ACTIONS(744),
    [anon_sym_GT_GT_EQ] = ACTIONS(744),
    [anon_sym_LT_LT_EQ] = ACTIONS(744),
    [anon_sym_CARET_EQ] = ACTIONS(744),
    [anon_sym_QMARK] = ACTIONS(744),
    [anon_sym_DOT_DOT] = ACTIONS(746),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(744),
    [anon_sym_and] = ACTIONS(744),
    [anon_sym_or] = ACTIONS(744),
    [anon_sym_PIPE_PIPE] = ACTIONS(746),
    [anon_sym_AMP_AMP] = ACTIONS(746),
    [anon_sym_LT_LT] = ACTIONS(746),
    [anon_sym_GT_GT] = ACTIONS(746),
    [anon_sym_EQ_EQ] = ACTIONS(746),
    [anon_sym_BANG_EQ] = ACTIONS(744),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(744),
    [anon_sym_LT_EQ_GT] = ACTIONS(744),
    [anon_sym_EQ_TILDE] = ACTIONS(744),
    [anon_sym_BANG_TILDE] = ACTIONS(744),
    [anon_sym_LT_EQ] = ACTIONS(746),
    [anon_sym_GT] = ACTIONS(746),
    [anon_sym_GT_EQ] = ACTIONS(744),
    [anon_sym_CARET] = ACTIONS(746),
    [anon_sym_PLUS] = ACTIONS(746),
    [anon_sym_SLASH] = ACTIONS(746),
    [anon_sym_PERCENT] = ACTIONS(746),
    [sym_comment] = ACTIONS(256),
  },
  [109] = {
    [sym__simple_string] = ACTIONS(748),
    [sym__simple_symbol] = ACTIONS(748),
    [sym__simple_subshell] = ACTIONS(748),
    [sym__simple_regex] = ACTIONS(748),
    [sym__simple_word_list] = ACTIONS(748),
    [sym__string_beginning] = ACTIONS(748),
    [sym__symbol_beginning] = ACTIONS(748),
    [sym__subshell_beginning] = ACTIONS(748),
    [sym__regex_beginning] = ACTIONS(748),
    [sym__word_list_beginning] = ACTIONS(748),
    [sym__string_middle] = ACTIONS(748),
    [sym__string_end] = ACTIONS(748),
    [sym_heredoc_beginning] = ACTIONS(748),
    [sym__element_reference_left_bracket] = ACTIONS(748),
    [sym__block_ampersand] = ACTIONS(748),
    [sym__splat_star] = ACTIONS(748),
    [sym__argument_list_left_paren] = ACTIONS(748),
    [sym__scope_double_colon] = ACTIONS(748),
    [sym__unary_minus] = ACTIONS(748),
    [sym__binary_minus] = ACTIONS(748),
    [sym__binary_star] = ACTIONS(748),
    [anon_sym_LBRACE] = ACTIONS(748),
    [anon_sym_def] = ACTIONS(750),
    [anon_sym_LPAREN] = ACTIONS(748),
    [anon_sym_DOT] = ACTIONS(750),
    [anon_sym_COLON_COLON] = ACTIONS(748),
    [anon_sym_end] = ACTIONS(750),
    [anon_sym_COMMA] = ACTIONS(748),
    [anon_sym_PIPE] = ACTIONS(750),
    [anon_sym_STAR] = ACTIONS(750),
    [anon_sym_STAR_STAR] = ACTIONS(750),
    [anon_sym_AMP] = ACTIONS(750),
    [anon_sym_EQ] = ACTIONS(750),
    [anon_sym_class] = ACTIONS(750),
    [anon_sym_LT] = ACTIONS(750),
    [anon_sym_module] = ACTIONS(750),
    [anon_sym_return] = ACTIONS(750),
    [anon_sym_yield] = ACTIONS(750),
    [anon_sym_break] = ACTIONS(750),
    [anon_sym_next] = ACTIONS(750),
    [anon_sym_redo] = ACTIONS(750),
    [anon_sym_retry] = ACTIONS(750),
    [anon_sym_if] = ACTIONS(750),
    [anon_sym_unless] = ACTIONS(750),
    [anon_sym_while] = ACTIONS(750),
    [anon_sym_until] = ACTIONS(750),
    [anon_sym_rescue] = ACTIONS(750),
    [anon_sym_for] = ACTIONS(750),
    [anon_sym_in] = ACTIONS(750),
    [anon_sym_do] = ACTIONS(750),
    [anon_sym_case] = ACTIONS(750),
    [anon_sym_when] = ACTIONS(750),
    [anon_sym_elsif] = ACTIONS(750),
    [anon_sym_else] = ACTIONS(750),
    [anon_sym_then] = ACTIONS(750),
    [anon_sym_begin] = ACTIONS(750),
    [anon_sym_ensure] = ACTIONS(750),
    [anon_sym_AMP_DOT] = ACTIONS(748),
    [anon_sym_PLUS_EQ] = ACTIONS(748),
    [anon_sym_DASH_EQ] = ACTIONS(748),
    [anon_sym_STAR_EQ] = ACTIONS(748),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(748),
    [anon_sym_SLASH_EQ] = ACTIONS(748),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(748),
    [anon_sym_PIPE_EQ] = ACTIONS(748),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(748),
    [anon_sym_AMP_EQ] = ACTIONS(748),
    [anon_sym_PERCENT_EQ] = ACTIONS(748),
    [anon_sym_GT_GT_EQ] = ACTIONS(748),
    [anon_sym_LT_LT_EQ] = ACTIONS(748),
    [anon_sym_CARET_EQ] = ACTIONS(748),
    [anon_sym_QMARK] = ACTIONS(750),
    [anon_sym_DOT_DOT] = ACTIONS(750),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(748),
    [anon_sym_and] = ACTIONS(750),
    [anon_sym_or] = ACTIONS(750),
    [anon_sym_PIPE_PIPE] = ACTIONS(750),
    [anon_sym_AMP_AMP] = ACTIONS(750),
    [anon_sym_LT_LT] = ACTIONS(750),
    [anon_sym_GT_GT] = ACTIONS(750),
    [anon_sym_EQ_EQ] = ACTIONS(750),
    [anon_sym_BANG_EQ] = ACTIONS(748),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(748),
    [anon_sym_LT_EQ_GT] = ACTIONS(748),
    [anon_sym_EQ_TILDE] = ACTIONS(748),
    [anon_sym_BANG_TILDE] = ACTIONS(748),
    [anon_sym_LT_EQ] = ACTIONS(750),
    [anon_sym_GT] = ACTIONS(750),
    [anon_sym_GT_EQ] = ACTIONS(748),
    [anon_sym_CARET] = ACTIONS(750),
    [anon_sym_PLUS] = ACTIONS(750),
    [anon_sym_SLASH] = ACTIONS(750),
    [anon_sym_PERCENT] = ACTIONS(750),
    [anon_sym_defined_QMARK] = ACTIONS(748),
    [anon_sym_not] = ACTIONS(750),
    [anon_sym_BANG] = ACTIONS(750),
    [anon_sym_TILDE] = ACTIONS(748),
    [sym_constant] = ACTIONS(752),
    [sym_identifier] = ACTIONS(752),
    [sym_instance_variable] = ACTIONS(750),
    [sym_class_variable] = ACTIONS(750),
    [sym_global_variable] = ACTIONS(750),
    [anon_sym_alias] = ACTIONS(750),
    [anon_sym_defined] = ACTIONS(750),
    [anon_sym_false] = ACTIONS(750),
    [anon_sym_nil] = ACTIONS(750),
    [anon_sym_self] = ACTIONS(750),
    [anon_sym_super] = ACTIONS(750),
    [anon_sym_true] = ACTIONS(750),
    [anon_sym_undef] = ACTIONS(750),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(750),
    [sym_float] = ACTIONS(752),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(748),
    [anon_sym_TRUE] = ACTIONS(750),
    [anon_sym_FALSE] = ACTIONS(750),
    [anon_sym_NIL] = ACTIONS(750),
    [sym_keyword__FILE__] = ACTIONS(750),
    [sym_keyword__LINE__] = ACTIONS(750),
    [sym_keyword__ENCODING__] = ACTIONS(750),
    [sym__character_literal] = ACTIONS(750),
    [anon_sym_LBRACK] = ACTIONS(748),
    [anon_sym_DASH_GT] = ACTIONS(748),
  },
  [110] = {
    [sym__simple_string] = ACTIONS(754),
    [sym__simple_symbol] = ACTIONS(754),
    [sym__simple_subshell] = ACTIONS(754),
    [sym__simple_regex] = ACTIONS(754),
    [sym__simple_word_list] = ACTIONS(754),
    [sym__string_beginning] = ACTIONS(754),
    [sym__symbol_beginning] = ACTIONS(754),
    [sym__subshell_beginning] = ACTIONS(754),
    [sym__regex_beginning] = ACTIONS(754),
    [sym__word_list_beginning] = ACTIONS(754),
    [sym__string_middle] = ACTIONS(754),
    [sym__string_end] = ACTIONS(754),
    [sym_heredoc_beginning] = ACTIONS(754),
    [sym__element_reference_left_bracket] = ACTIONS(754),
    [sym__block_ampersand] = ACTIONS(754),
    [sym__splat_star] = ACTIONS(754),
    [sym__argument_list_left_paren] = ACTIONS(754),
    [sym__scope_double_colon] = ACTIONS(754),
    [sym__unary_minus] = ACTIONS(754),
    [sym__binary_minus] = ACTIONS(754),
    [sym__binary_star] = ACTIONS(754),
    [anon_sym_LBRACE] = ACTIONS(754),
    [anon_sym_def] = ACTIONS(756),
    [anon_sym_LPAREN] = ACTIONS(754),
    [anon_sym_DOT] = ACTIONS(756),
    [anon_sym_COLON_COLON] = ACTIONS(754),
    [anon_sym_end] = ACTIONS(756),
    [anon_sym_COMMA] = ACTIONS(754),
    [anon_sym_PIPE] = ACTIONS(756),
    [anon_sym_STAR] = ACTIONS(756),
    [anon_sym_STAR_STAR] = ACTIONS(756),
    [anon_sym_AMP] = ACTIONS(756),
    [anon_sym_EQ] = ACTIONS(756),
    [anon_sym_class] = ACTIONS(756),
    [anon_sym_LT] = ACTIONS(756),
    [anon_sym_module] = ACTIONS(756),
    [anon_sym_return] = ACTIONS(756),
    [anon_sym_yield] = ACTIONS(756),
    [anon_sym_break] = ACTIONS(756),
    [anon_sym_next] = ACTIONS(756),
    [anon_sym_redo] = ACTIONS(756),
    [anon_sym_retry] = ACTIONS(756),
    [anon_sym_if] = ACTIONS(756),
    [anon_sym_unless] = ACTIONS(756),
    [anon_sym_while] = ACTIONS(756),
    [anon_sym_until] = ACTIONS(756),
    [anon_sym_rescue] = ACTIONS(756),
    [anon_sym_for] = ACTIONS(756),
    [anon_sym_in] = ACTIONS(756),
    [anon_sym_do] = ACTIONS(756),
    [anon_sym_case] = ACTIONS(756),
    [anon_sym_when] = ACTIONS(756),
    [anon_sym_elsif] = ACTIONS(756),
    [anon_sym_else] = ACTIONS(756),
    [anon_sym_then] = ACTIONS(756),
    [anon_sym_begin] = ACTIONS(756),
    [anon_sym_ensure] = ACTIONS(756),
    [anon_sym_AMP_DOT] = ACTIONS(754),
    [anon_sym_PLUS_EQ] = ACTIONS(754),
    [anon_sym_DASH_EQ] = ACTIONS(754),
    [anon_sym_STAR_EQ] = ACTIONS(754),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(754),
    [anon_sym_SLASH_EQ] = ACTIONS(754),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(754),
    [anon_sym_PIPE_EQ] = ACTIONS(754),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(754),
    [anon_sym_AMP_EQ] = ACTIONS(754),
    [anon_sym_PERCENT_EQ] = ACTIONS(754),
    [anon_sym_GT_GT_EQ] = ACTIONS(754),
    [anon_sym_LT_LT_EQ] = ACTIONS(754),
    [anon_sym_CARET_EQ] = ACTIONS(754),
    [anon_sym_QMARK] = ACTIONS(756),
    [anon_sym_DOT_DOT] = ACTIONS(756),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(754),
    [anon_sym_and] = ACTIONS(756),
    [anon_sym_or] = ACTIONS(756),
    [anon_sym_PIPE_PIPE] = ACTIONS(756),
    [anon_sym_AMP_AMP] = ACTIONS(756),
    [anon_sym_LT_LT] = ACTIONS(756),
    [anon_sym_GT_GT] = ACTIONS(756),
    [anon_sym_EQ_EQ] = ACTIONS(756),
    [anon_sym_BANG_EQ] = ACTIONS(754),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(754),
    [anon_sym_LT_EQ_GT] = ACTIONS(754),
    [anon_sym_EQ_TILDE] = ACTIONS(754),
    [anon_sym_BANG_TILDE] = ACTIONS(754),
    [anon_sym_LT_EQ] = ACTIONS(756),
    [anon_sym_GT] = ACTIONS(756),
    [anon_sym_GT_EQ] = ACTIONS(754),
    [anon_sym_CARET] = ACTIONS(756),
    [anon_sym_PLUS] = ACTIONS(756),
    [anon_sym_SLASH] = ACTIONS(756),
    [anon_sym_PERCENT] = ACTIONS(756),
    [anon_sym_defined_QMARK] = ACTIONS(754),
    [anon_sym_not] = ACTIONS(756),
    [anon_sym_BANG] = ACTIONS(756),
    [anon_sym_TILDE] = ACTIONS(754),
    [sym_constant] = ACTIONS(758),
    [sym_identifier] = ACTIONS(758),
    [sym_instance_variable] = ACTIONS(756),
    [sym_class_variable] = ACTIONS(756),
    [sym_global_variable] = ACTIONS(756),
    [anon_sym_alias] = ACTIONS(756),
    [anon_sym_defined] = ACTIONS(756),
    [anon_sym_false] = ACTIONS(756),
    [anon_sym_nil] = ACTIONS(756),
    [anon_sym_self] = ACTIONS(756),
    [anon_sym_super] = ACTIONS(756),
    [anon_sym_true] = ACTIONS(756),
    [anon_sym_undef] = ACTIONS(756),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(756),
    [sym_float] = ACTIONS(758),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(754),
    [anon_sym_TRUE] = ACTIONS(756),
    [anon_sym_FALSE] = ACTIONS(756),
    [anon_sym_NIL] = ACTIONS(756),
    [sym_keyword__FILE__] = ACTIONS(756),
    [sym_keyword__LINE__] = ACTIONS(756),
    [sym_keyword__ENCODING__] = ACTIONS(756),
    [sym__character_literal] = ACTIONS(756),
    [anon_sym_LBRACK] = ACTIONS(754),
    [anon_sym_DASH_GT] = ACTIONS(754),
  },
  [111] = {
    [sym__string_middle] = ACTIONS(760),
    [sym__string_end] = ACTIONS(760),
    [sym__element_reference_left_bracket] = ACTIONS(760),
    [sym__scope_double_colon] = ACTIONS(760),
    [sym__binary_minus] = ACTIONS(760),
    [sym__binary_star] = ACTIONS(760),
    [anon_sym_DOT] = ACTIONS(762),
    [anon_sym_COMMA] = ACTIONS(760),
    [anon_sym_PIPE] = ACTIONS(762),
    [anon_sym_STAR_STAR] = ACTIONS(762),
    [anon_sym_AMP] = ACTIONS(762),
    [anon_sym_EQ] = ACTIONS(762),
    [anon_sym_LT] = ACTIONS(762),
    [anon_sym_if] = ACTIONS(760),
    [anon_sym_unless] = ACTIONS(760),
    [anon_sym_while] = ACTIONS(760),
    [anon_sym_until] = ACTIONS(760),
    [anon_sym_rescue] = ACTIONS(760),
    [anon_sym_AMP_DOT] = ACTIONS(760),
    [anon_sym_PLUS_EQ] = ACTIONS(760),
    [anon_sym_DASH_EQ] = ACTIONS(760),
    [anon_sym_STAR_EQ] = ACTIONS(760),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(760),
    [anon_sym_SLASH_EQ] = ACTIONS(760),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(760),
    [anon_sym_PIPE_EQ] = ACTIONS(760),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(760),
    [anon_sym_AMP_EQ] = ACTIONS(760),
    [anon_sym_PERCENT_EQ] = ACTIONS(760),
    [anon_sym_GT_GT_EQ] = ACTIONS(760),
    [anon_sym_LT_LT_EQ] = ACTIONS(760),
    [anon_sym_CARET_EQ] = ACTIONS(760),
    [anon_sym_QMARK] = ACTIONS(760),
    [anon_sym_DOT_DOT] = ACTIONS(762),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(760),
    [anon_sym_and] = ACTIONS(760),
    [anon_sym_or] = ACTIONS(760),
    [anon_sym_PIPE_PIPE] = ACTIONS(762),
    [anon_sym_AMP_AMP] = ACTIONS(762),
    [anon_sym_LT_LT] = ACTIONS(762),
    [anon_sym_GT_GT] = ACTIONS(762),
    [anon_sym_EQ_EQ] = ACTIONS(762),
    [anon_sym_BANG_EQ] = ACTIONS(760),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(760),
    [anon_sym_LT_EQ_GT] = ACTIONS(760),
    [anon_sym_EQ_TILDE] = ACTIONS(760),
    [anon_sym_BANG_TILDE] = ACTIONS(760),
    [anon_sym_LT_EQ] = ACTIONS(762),
    [anon_sym_GT] = ACTIONS(762),
    [anon_sym_GT_EQ] = ACTIONS(760),
    [anon_sym_CARET] = ACTIONS(762),
    [anon_sym_PLUS] = ACTIONS(762),
    [anon_sym_SLASH] = ACTIONS(762),
    [anon_sym_PERCENT] = ACTIONS(762),
    [sym_comment] = ACTIONS(256),
  },
  [112] = {
    [sym_operator] = STATE(726),
    [sym__method_name] = STATE(728),
    [sym_setter] = STATE(726),
    [sym_symbol] = STATE(726),
    [sym__simple_symbol] = ACTIONS(1200),
    [sym__symbol_beginning] = ACTIONS(1202),
    [anon_sym_PIPE] = ACTIONS(1204),
    [anon_sym_STAR] = ACTIONS(1206),
    [anon_sym_STAR_STAR] = ACTIONS(1204),
    [anon_sym_AMP] = ACTIONS(1204),
    [anon_sym_LT] = ACTIONS(1206),
    [anon_sym_DOT_DOT] = ACTIONS(1204),
    [anon_sym_LT_LT] = ACTIONS(1204),
    [anon_sym_GT_GT] = ACTIONS(1204),
    [anon_sym_EQ_EQ] = ACTIONS(1206),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1204),
    [anon_sym_LT_EQ_GT] = ACTIONS(1204),
    [anon_sym_EQ_TILDE] = ACTIONS(1204),
    [anon_sym_BANG_TILDE] = ACTIONS(1204),
    [anon_sym_LT_EQ] = ACTIONS(1206),
    [anon_sym_GT] = ACTIONS(1206),
    [anon_sym_GT_EQ] = ACTIONS(1204),
    [anon_sym_CARET] = ACTIONS(1204),
    [anon_sym_PLUS] = ACTIONS(1206),
    [anon_sym_SLASH] = ACTIONS(1204),
    [anon_sym_PERCENT] = ACTIONS(1204),
    [anon_sym_BANG] = ACTIONS(1206),
    [anon_sym_TILDE] = ACTIONS(1204),
    [sym_constant] = ACTIONS(1208),
    [sym_identifier] = ACTIONS(1210),
    [sym_instance_variable] = ACTIONS(1208),
    [sym_class_variable] = ACTIONS(1208),
    [sym_global_variable] = ACTIONS(1208),
    [anon_sym_DASH] = ACTIONS(1206),
    [anon_sym_PLUS_AT] = ACTIONS(1204),
    [anon_sym_DASH_AT] = ACTIONS(1204),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1206),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(1204),
    [anon_sym_BQUOTE] = ACTIONS(1204),
    [sym_comment] = ACTIONS(110),
  },
  [113] = {
    [sym__string_middle] = ACTIONS(250),
    [sym__string_end] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [anon_sym_r] = ACTIONS(1212),
  },
  [114] = {
    [sym__string_middle] = ACTIONS(778),
    [sym__string_end] = ACTIONS(778),
    [sym__element_reference_left_bracket] = ACTIONS(778),
    [sym__scope_double_colon] = ACTIONS(778),
    [sym__binary_minus] = ACTIONS(778),
    [sym__binary_star] = ACTIONS(778),
    [anon_sym_DOT] = ACTIONS(780),
    [anon_sym_COMMA] = ACTIONS(778),
    [anon_sym_PIPE] = ACTIONS(780),
    [anon_sym_STAR_STAR] = ACTIONS(778),
    [anon_sym_AMP] = ACTIONS(780),
    [anon_sym_LT] = ACTIONS(780),
    [anon_sym_if] = ACTIONS(778),
    [anon_sym_unless] = ACTIONS(778),
    [anon_sym_while] = ACTIONS(778),
    [anon_sym_until] = ACTIONS(778),
    [anon_sym_rescue] = ACTIONS(778),
    [anon_sym_AMP_DOT] = ACTIONS(778),
    [anon_sym_QMARK] = ACTIONS(778),
    [anon_sym_DOT_DOT] = ACTIONS(780),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(778),
    [anon_sym_and] = ACTIONS(778),
    [anon_sym_or] = ACTIONS(778),
    [anon_sym_PIPE_PIPE] = ACTIONS(778),
    [anon_sym_AMP_AMP] = ACTIONS(778),
    [anon_sym_LT_LT] = ACTIONS(778),
    [anon_sym_GT_GT] = ACTIONS(778),
    [anon_sym_EQ_EQ] = ACTIONS(780),
    [anon_sym_BANG_EQ] = ACTIONS(778),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(778),
    [anon_sym_LT_EQ_GT] = ACTIONS(778),
    [anon_sym_EQ_TILDE] = ACTIONS(778),
    [anon_sym_BANG_TILDE] = ACTIONS(778),
    [anon_sym_LT_EQ] = ACTIONS(780),
    [anon_sym_GT] = ACTIONS(780),
    [anon_sym_GT_EQ] = ACTIONS(778),
    [anon_sym_CARET] = ACTIONS(778),
    [anon_sym_PLUS] = ACTIONS(778),
    [anon_sym_SLASH] = ACTIONS(778),
    [anon_sym_PERCENT] = ACTIONS(778),
    [sym_comment] = ACTIONS(110),
  },
  [115] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(501),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(731),
    [sym__argument] = STATE(506),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(509),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(510),
    [sym__variable] = STATE(504),
    [sym_reserved_identifier] = STATE(511),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(512),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(732),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(804),
    [sym__splat_star] = ACTIONS(806),
    [sym__unary_minus] = ACTIONS(808),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(818),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(824),
    [anon_sym_yield] = ACTIONS(826),
    [anon_sym_break] = ACTIONS(828),
    [anon_sym_next] = ACTIONS(830),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_RBRACK] = ACTIONS(1214),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(852),
    [anon_sym_defined_QMARK] = ACTIONS(854),
    [anon_sym_not] = ACTIONS(856),
    [anon_sym_BANG] = ACTIONS(858),
    [anon_sym_TILDE] = ACTIONS(858),
    [sym_constant] = ACTIONS(860),
    [sym_identifier] = ACTIONS(860),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [116] = {
    [sym_lambda_parameters] = STATE(735),
    [sym__simple_formal_parameter] = STATE(522),
    [sym_splat_parameter] = STATE(523),
    [sym_hash_splat_parameter] = STATE(523),
    [sym_block_parameter] = STATE(523),
    [sym_keyword_parameter] = STATE(523),
    [sym_optional_parameter] = STATE(523),
    [sym_do_block] = STATE(736),
    [sym_block] = STATE(736),
    [anon_sym_LBRACE] = ACTIONS(1216),
    [anon_sym_LPAREN] = ACTIONS(896),
    [anon_sym_STAR] = ACTIONS(898),
    [anon_sym_STAR_STAR] = ACTIONS(900),
    [anon_sym_AMP] = ACTIONS(902),
    [anon_sym_do] = ACTIONS(1218),
    [sym_identifier] = ACTIONS(906),
    [sym_comment] = ACTIONS(110),
  },
  [117] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(1222),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [118] = {
    [sym__string_middle] = ACTIONS(934),
    [sym__string_end] = ACTIONS(934),
    [anon_sym_if] = ACTIONS(934),
    [anon_sym_unless] = ACTIONS(934),
    [anon_sym_while] = ACTIONS(934),
    [anon_sym_until] = ACTIONS(934),
    [anon_sym_rescue] = ACTIONS(934),
    [sym_comment] = ACTIONS(110),
  },
  [119] = {
    [sym__string_middle] = ACTIONS(934),
    [sym__string_end] = ACTIONS(934),
    [sym__binary_minus] = ACTIONS(1234),
    [sym__binary_star] = ACTIONS(1236),
    [anon_sym_PIPE] = ACTIONS(1238),
    [anon_sym_STAR_STAR] = ACTIONS(1240),
    [anon_sym_AMP] = ACTIONS(1242),
    [anon_sym_LT] = ACTIONS(1244),
    [anon_sym_if] = ACTIONS(934),
    [anon_sym_unless] = ACTIONS(934),
    [anon_sym_while] = ACTIONS(934),
    [anon_sym_until] = ACTIONS(934),
    [anon_sym_rescue] = ACTIONS(934),
    [anon_sym_QMARK] = ACTIONS(1246),
    [anon_sym_DOT_DOT] = ACTIONS(1248),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1250),
    [anon_sym_and] = ACTIONS(1252),
    [anon_sym_or] = ACTIONS(1252),
    [anon_sym_PIPE_PIPE] = ACTIONS(1254),
    [anon_sym_AMP_AMP] = ACTIONS(1254),
    [anon_sym_LT_LT] = ACTIONS(1256),
    [anon_sym_GT_GT] = ACTIONS(1256),
    [anon_sym_EQ_EQ] = ACTIONS(1258),
    [anon_sym_BANG_EQ] = ACTIONS(1254),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1254),
    [anon_sym_LT_EQ_GT] = ACTIONS(1254),
    [anon_sym_EQ_TILDE] = ACTIONS(1254),
    [anon_sym_BANG_TILDE] = ACTIONS(1254),
    [anon_sym_LT_EQ] = ACTIONS(1244),
    [anon_sym_GT] = ACTIONS(1244),
    [anon_sym_GT_EQ] = ACTIONS(1260),
    [anon_sym_CARET] = ACTIONS(1262),
    [anon_sym_PLUS] = ACTIONS(1264),
    [anon_sym_SLASH] = ACTIONS(1240),
    [anon_sym_PERCENT] = ACTIONS(1240),
    [sym_comment] = ACTIONS(110),
  },
  [120] = {
    [sym__string_middle] = ACTIONS(968),
    [sym__string_end] = ACTIONS(968),
    [sym__element_reference_left_bracket] = ACTIONS(1266),
    [sym__scope_double_colon] = ACTIONS(1268),
    [sym__binary_minus] = ACTIONS(968),
    [sym__binary_star] = ACTIONS(968),
    [anon_sym_DOT] = ACTIONS(1270),
    [anon_sym_COMMA] = ACTIONS(968),
    [anon_sym_PIPE] = ACTIONS(976),
    [anon_sym_STAR_STAR] = ACTIONS(968),
    [anon_sym_AMP] = ACTIONS(976),
    [anon_sym_LT] = ACTIONS(976),
    [anon_sym_if] = ACTIONS(968),
    [anon_sym_unless] = ACTIONS(968),
    [anon_sym_while] = ACTIONS(968),
    [anon_sym_until] = ACTIONS(968),
    [anon_sym_rescue] = ACTIONS(968),
    [anon_sym_AMP_DOT] = ACTIONS(1272),
    [anon_sym_QMARK] = ACTIONS(968),
    [anon_sym_DOT_DOT] = ACTIONS(976),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(968),
    [anon_sym_and] = ACTIONS(968),
    [anon_sym_or] = ACTIONS(968),
    [anon_sym_PIPE_PIPE] = ACTIONS(968),
    [anon_sym_AMP_AMP] = ACTIONS(968),
    [anon_sym_LT_LT] = ACTIONS(968),
    [anon_sym_GT_GT] = ACTIONS(968),
    [anon_sym_EQ_EQ] = ACTIONS(976),
    [anon_sym_BANG_EQ] = ACTIONS(968),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(968),
    [anon_sym_LT_EQ_GT] = ACTIONS(968),
    [anon_sym_EQ_TILDE] = ACTIONS(968),
    [anon_sym_BANG_TILDE] = ACTIONS(968),
    [anon_sym_LT_EQ] = ACTIONS(976),
    [anon_sym_GT] = ACTIONS(976),
    [anon_sym_GT_EQ] = ACTIONS(968),
    [anon_sym_CARET] = ACTIONS(968),
    [anon_sym_PLUS] = ACTIONS(968),
    [anon_sym_SLASH] = ACTIONS(968),
    [anon_sym_PERCENT] = ACTIONS(968),
    [sym_comment] = ACTIONS(110),
  },
  [121] = {
    [sym__string_middle] = ACTIONS(980),
    [sym__string_end] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_if] = ACTIONS(980),
    [anon_sym_unless] = ACTIONS(980),
    [anon_sym_while] = ACTIONS(980),
    [anon_sym_until] = ACTIONS(980),
    [anon_sym_rescue] = ACTIONS(980),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(980),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(980),
    [anon_sym_or] = ACTIONS(980),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [sym_comment] = ACTIONS(256),
  },
  [122] = {
    [sym_method] = STATE(769),
    [sym_singleton_method] = STATE(769),
    [sym_class] = STATE(769),
    [sym_singleton_class] = STATE(769),
    [sym_module] = STATE(769),
    [sym_return] = STATE(769),
    [sym_yield] = STATE(769),
    [sym_break] = STATE(769),
    [sym_next] = STATE(769),
    [sym_redo] = STATE(769),
    [sym_retry] = STATE(769),
    [sym_while] = STATE(769),
    [sym_until] = STATE(769),
    [sym_for] = STATE(769),
    [sym_case] = STATE(769),
    [sym_if] = STATE(769),
    [sym_unless] = STATE(769),
    [sym_begin] = STATE(769),
    [sym__arg] = STATE(803),
    [sym__primary] = STATE(804),
    [sym_parenthesized_statements] = STATE(769),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(805),
    [sym_call] = STATE(805),
    [sym_method_call] = STATE(694),
    [sym_argument_list] = STATE(806),
    [sym__argument_list_with_parens] = STATE(807),
    [sym__argument] = STATE(808),
    [sym_splat_argument] = STATE(809),
    [sym_hash_splat_argument] = STATE(809),
    [sym_block_argument] = STATE(809),
    [sym_do_block] = STATE(810),
    [sym_block] = STATE(810),
    [sym_assignment] = STATE(811),
    [sym_operator_assignment] = STATE(811),
    [sym_conditional] = STATE(811),
    [sym_range] = STATE(811),
    [sym_binary] = STATE(811),
    [sym_unary] = STATE(811),
    [sym_left_assignment_list] = STATE(812),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(813),
    [sym__variable] = STATE(805),
    [sym_reserved_identifier] = STATE(814),
    [sym_symbol] = STATE(769),
    [sym_complex] = STATE(769),
    [sym_rational] = STATE(769),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(769),
    [sym_string] = STATE(815),
    [sym_subshell] = STATE(769),
    [sym_array] = STATE(769),
    [sym_hash] = STATE(769),
    [sym_pair] = STATE(809),
    [sym_regex] = STATE(769),
    [sym_lambda] = STATE(769),
    [sym__simple_string] = ACTIONS(1274),
    [sym__simple_symbol] = ACTIONS(1276),
    [sym__simple_subshell] = ACTIONS(1278),
    [sym__simple_regex] = ACTIONS(1280),
    [sym__simple_word_list] = ACTIONS(1282),
    [sym__string_beginning] = ACTIONS(1284),
    [sym__symbol_beginning] = ACTIONS(1286),
    [sym__subshell_beginning] = ACTIONS(1288),
    [sym__regex_beginning] = ACTIONS(1290),
    [sym__word_list_beginning] = ACTIONS(1292),
    [sym__string_middle] = ACTIONS(980),
    [sym__string_end] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1294),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(1296),
    [sym__splat_star] = ACTIONS(1298),
    [sym__argument_list_left_paren] = ACTIONS(1300),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(1302),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(1304),
    [anon_sym_def] = ACTIONS(1306),
    [anon_sym_LPAREN] = ACTIONS(1308),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1310),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1312),
    [anon_sym_return] = ACTIONS(1314),
    [anon_sym_yield] = ACTIONS(1316),
    [anon_sym_break] = ACTIONS(1318),
    [anon_sym_next] = ACTIONS(1320),
    [anon_sym_redo] = ACTIONS(1322),
    [anon_sym_retry] = ACTIONS(1324),
    [anon_sym_if] = ACTIONS(982),
    [anon_sym_unless] = ACTIONS(982),
    [anon_sym_while] = ACTIONS(982),
    [anon_sym_until] = ACTIONS(982),
    [anon_sym_rescue] = ACTIONS(982),
    [anon_sym_for] = ACTIONS(1326),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(1328),
    [anon_sym_case] = ACTIONS(1330),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1332),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(1334),
    [anon_sym_not] = ACTIONS(1336),
    [anon_sym_BANG] = ACTIONS(1338),
    [anon_sym_TILDE] = ACTIONS(1340),
    [sym_constant] = ACTIONS(1342),
    [sym_identifier] = ACTIONS(1342),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(1168),
    [anon_sym_nil] = ACTIONS(1170),
    [anon_sym_self] = ACTIONS(1172),
    [anon_sym_super] = ACTIONS(1174),
    [anon_sym_true] = ACTIONS(1176),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1344),
    [sym_float] = ACTIONS(1346),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1348),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1350),
    [sym_keyword__LINE__] = ACTIONS(1350),
    [sym_keyword__ENCODING__] = ACTIONS(1350),
    [sym__character_literal] = ACTIONS(1352),
    [anon_sym_LBRACK] = ACTIONS(1354),
    [anon_sym_DASH_GT] = ACTIONS(1356),
  },
  [123] = {
    [sym__string_middle] = ACTIONS(968),
    [sym__string_end] = ACTIONS(968),
    [sym__binary_minus] = ACTIONS(968),
    [sym__binary_star] = ACTIONS(968),
    [anon_sym_COMMA] = ACTIONS(968),
    [anon_sym_PIPE] = ACTIONS(976),
    [anon_sym_STAR_STAR] = ACTIONS(968),
    [anon_sym_AMP] = ACTIONS(976),
    [anon_sym_LT] = ACTIONS(976),
    [anon_sym_if] = ACTIONS(968),
    [anon_sym_unless] = ACTIONS(968),
    [anon_sym_while] = ACTIONS(968),
    [anon_sym_until] = ACTIONS(968),
    [anon_sym_rescue] = ACTIONS(968),
    [anon_sym_QMARK] = ACTIONS(968),
    [anon_sym_DOT_DOT] = ACTIONS(976),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(968),
    [anon_sym_and] = ACTIONS(968),
    [anon_sym_or] = ACTIONS(968),
    [anon_sym_PIPE_PIPE] = ACTIONS(968),
    [anon_sym_AMP_AMP] = ACTIONS(968),
    [anon_sym_LT_LT] = ACTIONS(968),
    [anon_sym_GT_GT] = ACTIONS(968),
    [anon_sym_EQ_EQ] = ACTIONS(976),
    [anon_sym_BANG_EQ] = ACTIONS(968),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(968),
    [anon_sym_LT_EQ_GT] = ACTIONS(968),
    [anon_sym_EQ_TILDE] = ACTIONS(968),
    [anon_sym_BANG_TILDE] = ACTIONS(968),
    [anon_sym_LT_EQ] = ACTIONS(976),
    [anon_sym_GT] = ACTIONS(976),
    [anon_sym_GT_EQ] = ACTIONS(968),
    [anon_sym_CARET] = ACTIONS(968),
    [anon_sym_PLUS] = ACTIONS(968),
    [anon_sym_SLASH] = ACTIONS(968),
    [anon_sym_PERCENT] = ACTIONS(968),
    [sym_comment] = ACTIONS(110),
  },
  [124] = {
    [anon_sym_EQ] = ACTIONS(1358),
    [sym_comment] = ACTIONS(256),
  },
  [125] = {
    [sym__string_middle] = ACTIONS(250),
    [sym__string_end] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(1076),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(1360),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(1362),
    [anon_sym_DASH_EQ] = ACTIONS(1362),
    [anon_sym_STAR_EQ] = ACTIONS(1362),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1362),
    [anon_sym_SLASH_EQ] = ACTIONS(1362),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1362),
    [anon_sym_PIPE_EQ] = ACTIONS(1362),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1362),
    [anon_sym_AMP_EQ] = ACTIONS(1362),
    [anon_sym_PERCENT_EQ] = ACTIONS(1362),
    [anon_sym_GT_GT_EQ] = ACTIONS(1362),
    [anon_sym_LT_LT_EQ] = ACTIONS(1362),
    [anon_sym_CARET_EQ] = ACTIONS(1362),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [126] = {
    [sym_string] = STATE(818),
    [aux_sym_chained_string_repeat1] = STATE(819),
    [sym__simple_string] = ACTIONS(146),
    [sym__string_beginning] = ACTIONS(156),
    [sym__string_middle] = ACTIONS(250),
    [sym__string_end] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(244),
  },
  [127] = {
    [sym__statement] = STATE(820),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [128] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(1364),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [129] = {
    [sym__statement] = STATE(822),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [130] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(1366),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [131] = {
    [sym__statement] = STATE(824),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [132] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(1368),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [133] = {
    [sym__statement] = STATE(826),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [134] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(1370),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [135] = {
    [sym__statement] = STATE(828),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [136] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [ts_builtin_sym_end] = ACTIONS(1372),
    [anon_sym___END__] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(942),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_if] = ACTIONS(1372),
    [anon_sym_unless] = ACTIONS(1372),
    [anon_sym_while] = ACTIONS(1372),
    [anon_sym_until] = ACTIONS(1372),
    [anon_sym_rescue] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [137] = {
    [ts_builtin_sym_end] = ACTIONS(1376),
    [sym_comment] = ACTIONS(110),
  },
  [138] = {
    [sym__statements] = STATE(838),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(841),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(1380),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [139] = {
    [sym__simple_string] = ACTIONS(126),
    [sym__string_beginning] = ACTIONS(126),
    [sym__element_reference_left_bracket] = ACTIONS(126),
    [sym__scope_double_colon] = ACTIONS(126),
    [sym__keyword_colon] = ACTIONS(126),
    [sym__binary_minus] = ACTIONS(126),
    [sym__binary_star] = ACTIONS(126),
    [anon_sym_DOT] = ACTIONS(128),
    [anon_sym_PIPE] = ACTIONS(128),
    [anon_sym_STAR_STAR] = ACTIONS(126),
    [anon_sym_AMP] = ACTIONS(128),
    [anon_sym_LT] = ACTIONS(128),
    [anon_sym_EQ_GT] = ACTIONS(126),
    [anon_sym_AMP_DOT] = ACTIONS(126),
    [anon_sym_QMARK] = ACTIONS(128),
    [anon_sym_DOT_DOT] = ACTIONS(128),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(126),
    [anon_sym_and] = ACTIONS(126),
    [anon_sym_or] = ACTIONS(126),
    [anon_sym_PIPE_PIPE] = ACTIONS(126),
    [anon_sym_AMP_AMP] = ACTIONS(126),
    [anon_sym_LT_LT] = ACTIONS(126),
    [anon_sym_GT_GT] = ACTIONS(126),
    [anon_sym_EQ_EQ] = ACTIONS(128),
    [anon_sym_BANG_EQ] = ACTIONS(126),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(126),
    [anon_sym_LT_EQ_GT] = ACTIONS(126),
    [anon_sym_EQ_TILDE] = ACTIONS(126),
    [anon_sym_BANG_TILDE] = ACTIONS(126),
    [anon_sym_LT_EQ] = ACTIONS(128),
    [anon_sym_GT] = ACTIONS(128),
    [anon_sym_GT_EQ] = ACTIONS(126),
    [anon_sym_CARET] = ACTIONS(126),
    [anon_sym_PLUS] = ACTIONS(126),
    [anon_sym_SLASH] = ACTIONS(126),
    [anon_sym_PERCENT] = ACTIONS(126),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(128),
  },
  [140] = {
    [sym__element_reference_left_bracket] = ACTIONS(130),
    [sym__scope_double_colon] = ACTIONS(130),
    [sym__binary_minus] = ACTIONS(130),
    [sym__binary_star] = ACTIONS(130),
    [anon_sym_LBRACE] = ACTIONS(130),
    [anon_sym_RPAREN] = ACTIONS(130),
    [anon_sym_DOT] = ACTIONS(132),
    [anon_sym_COMMA] = ACTIONS(130),
    [anon_sym_PIPE] = ACTIONS(132),
    [anon_sym_SEMI] = ACTIONS(130),
    [anon_sym_STAR_STAR] = ACTIONS(130),
    [anon_sym_AMP] = ACTIONS(132),
    [anon_sym_LT] = ACTIONS(132),
    [anon_sym_do] = ACTIONS(130),
    [anon_sym_EQ_GT] = ACTIONS(130),
    [anon_sym_AMP_DOT] = ACTIONS(130),
    [anon_sym_QMARK] = ACTIONS(130),
    [anon_sym_COLON] = ACTIONS(130),
    [anon_sym_DOT_DOT] = ACTIONS(132),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(130),
    [anon_sym_and] = ACTIONS(130),
    [anon_sym_or] = ACTIONS(130),
    [anon_sym_PIPE_PIPE] = ACTIONS(130),
    [anon_sym_AMP_AMP] = ACTIONS(130),
    [anon_sym_LT_LT] = ACTIONS(130),
    [anon_sym_GT_GT] = ACTIONS(130),
    [anon_sym_EQ_EQ] = ACTIONS(132),
    [anon_sym_BANG_EQ] = ACTIONS(130),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(130),
    [anon_sym_LT_EQ_GT] = ACTIONS(130),
    [anon_sym_EQ_TILDE] = ACTIONS(130),
    [anon_sym_BANG_TILDE] = ACTIONS(130),
    [anon_sym_LT_EQ] = ACTIONS(132),
    [anon_sym_GT] = ACTIONS(132),
    [anon_sym_GT_EQ] = ACTIONS(130),
    [anon_sym_CARET] = ACTIONS(130),
    [anon_sym_PLUS] = ACTIONS(130),
    [anon_sym_SLASH] = ACTIONS(130),
    [anon_sym_PERCENT] = ACTIONS(130),
    [sym_comment] = ACTIONS(110),
  },
  [141] = {
    [sym__element_reference_left_bracket] = ACTIONS(134),
    [sym__scope_double_colon] = ACTIONS(134),
    [sym__binary_minus] = ACTIONS(134),
    [sym__binary_star] = ACTIONS(134),
    [anon_sym_LBRACE] = ACTIONS(134),
    [anon_sym_RPAREN] = ACTIONS(134),
    [anon_sym_DOT] = ACTIONS(136),
    [anon_sym_COMMA] = ACTIONS(134),
    [anon_sym_PIPE] = ACTIONS(136),
    [anon_sym_SEMI] = ACTIONS(134),
    [anon_sym_STAR_STAR] = ACTIONS(134),
    [anon_sym_AMP] = ACTIONS(136),
    [anon_sym_LT] = ACTIONS(136),
    [anon_sym_do] = ACTIONS(134),
    [anon_sym_EQ_GT] = ACTIONS(134),
    [anon_sym_AMP_DOT] = ACTIONS(134),
    [anon_sym_QMARK] = ACTIONS(134),
    [anon_sym_COLON] = ACTIONS(134),
    [anon_sym_DOT_DOT] = ACTIONS(136),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(134),
    [anon_sym_and] = ACTIONS(134),
    [anon_sym_or] = ACTIONS(134),
    [anon_sym_PIPE_PIPE] = ACTIONS(134),
    [anon_sym_AMP_AMP] = ACTIONS(134),
    [anon_sym_LT_LT] = ACTIONS(134),
    [anon_sym_GT_GT] = ACTIONS(134),
    [anon_sym_EQ_EQ] = ACTIONS(136),
    [anon_sym_BANG_EQ] = ACTIONS(134),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(134),
    [anon_sym_LT_EQ_GT] = ACTIONS(134),
    [anon_sym_EQ_TILDE] = ACTIONS(134),
    [anon_sym_BANG_TILDE] = ACTIONS(134),
    [anon_sym_LT_EQ] = ACTIONS(136),
    [anon_sym_GT] = ACTIONS(136),
    [anon_sym_GT_EQ] = ACTIONS(134),
    [anon_sym_CARET] = ACTIONS(134),
    [anon_sym_PLUS] = ACTIONS(134),
    [anon_sym_SLASH] = ACTIONS(134),
    [anon_sym_PERCENT] = ACTIONS(134),
    [sym_comment] = ACTIONS(110),
  },
  [142] = {
    [sym__element_reference_left_bracket] = ACTIONS(138),
    [sym__scope_double_colon] = ACTIONS(138),
    [sym__binary_minus] = ACTIONS(138),
    [sym__binary_star] = ACTIONS(138),
    [anon_sym_LBRACE] = ACTIONS(138),
    [anon_sym_RPAREN] = ACTIONS(138),
    [anon_sym_DOT] = ACTIONS(140),
    [anon_sym_COMMA] = ACTIONS(138),
    [anon_sym_PIPE] = ACTIONS(140),
    [anon_sym_SEMI] = ACTIONS(138),
    [anon_sym_STAR_STAR] = ACTIONS(138),
    [anon_sym_AMP] = ACTIONS(140),
    [anon_sym_LT] = ACTIONS(140),
    [anon_sym_do] = ACTIONS(138),
    [anon_sym_EQ_GT] = ACTIONS(138),
    [anon_sym_AMP_DOT] = ACTIONS(138),
    [anon_sym_QMARK] = ACTIONS(138),
    [anon_sym_COLON] = ACTIONS(138),
    [anon_sym_DOT_DOT] = ACTIONS(140),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(138),
    [anon_sym_and] = ACTIONS(138),
    [anon_sym_or] = ACTIONS(138),
    [anon_sym_PIPE_PIPE] = ACTIONS(138),
    [anon_sym_AMP_AMP] = ACTIONS(138),
    [anon_sym_LT_LT] = ACTIONS(138),
    [anon_sym_GT_GT] = ACTIONS(138),
    [anon_sym_EQ_EQ] = ACTIONS(140),
    [anon_sym_BANG_EQ] = ACTIONS(138),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(138),
    [anon_sym_LT_EQ_GT] = ACTIONS(138),
    [anon_sym_EQ_TILDE] = ACTIONS(138),
    [anon_sym_BANG_TILDE] = ACTIONS(138),
    [anon_sym_LT_EQ] = ACTIONS(140),
    [anon_sym_GT] = ACTIONS(140),
    [anon_sym_GT_EQ] = ACTIONS(138),
    [anon_sym_CARET] = ACTIONS(138),
    [anon_sym_PLUS] = ACTIONS(138),
    [anon_sym_SLASH] = ACTIONS(138),
    [anon_sym_PERCENT] = ACTIONS(138),
    [sym_comment] = ACTIONS(110),
  },
  [143] = {
    [sym__element_reference_left_bracket] = ACTIONS(142),
    [sym__scope_double_colon] = ACTIONS(142),
    [sym__binary_minus] = ACTIONS(142),
    [sym__binary_star] = ACTIONS(142),
    [anon_sym_LBRACE] = ACTIONS(142),
    [anon_sym_RPAREN] = ACTIONS(142),
    [anon_sym_DOT] = ACTIONS(144),
    [anon_sym_COMMA] = ACTIONS(142),
    [anon_sym_PIPE] = ACTIONS(144),
    [anon_sym_SEMI] = ACTIONS(142),
    [anon_sym_STAR_STAR] = ACTIONS(142),
    [anon_sym_AMP] = ACTIONS(144),
    [anon_sym_LT] = ACTIONS(144),
    [anon_sym_do] = ACTIONS(142),
    [anon_sym_EQ_GT] = ACTIONS(142),
    [anon_sym_AMP_DOT] = ACTIONS(142),
    [anon_sym_QMARK] = ACTIONS(142),
    [anon_sym_COLON] = ACTIONS(142),
    [anon_sym_DOT_DOT] = ACTIONS(144),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(142),
    [anon_sym_and] = ACTIONS(142),
    [anon_sym_or] = ACTIONS(142),
    [anon_sym_PIPE_PIPE] = ACTIONS(142),
    [anon_sym_AMP_AMP] = ACTIONS(142),
    [anon_sym_LT_LT] = ACTIONS(142),
    [anon_sym_GT_GT] = ACTIONS(142),
    [anon_sym_EQ_EQ] = ACTIONS(144),
    [anon_sym_BANG_EQ] = ACTIONS(142),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(142),
    [anon_sym_LT_EQ_GT] = ACTIONS(142),
    [anon_sym_EQ_TILDE] = ACTIONS(142),
    [anon_sym_BANG_TILDE] = ACTIONS(142),
    [anon_sym_LT_EQ] = ACTIONS(144),
    [anon_sym_GT] = ACTIONS(144),
    [anon_sym_GT_EQ] = ACTIONS(142),
    [anon_sym_CARET] = ACTIONS(142),
    [anon_sym_PLUS] = ACTIONS(142),
    [anon_sym_SLASH] = ACTIONS(142),
    [anon_sym_PERCENT] = ACTIONS(142),
    [sym_comment] = ACTIONS(110),
  },
  [144] = {
    [anon_sym_RBRACE] = ACTIONS(1398),
    [anon_sym_RPAREN] = ACTIONS(1398),
    [anon_sym_RBRACK] = ACTIONS(1398),
    [sym_comment] = ACTIONS(110),
  },
  [145] = {
    [sym__statement] = STATE(845),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(846),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [146] = {
    [sym__statement] = STATE(847),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(848),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [147] = {
    [sym__statement] = STATE(849),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(850),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [148] = {
    [sym__statement] = STATE(851),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(852),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [149] = {
    [sym__statement] = STATE(853),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(854),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [150] = {
    [sym__statement] = STATE(902),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [aux_sym_heredoc_end_repeat1] = STATE(912),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [151] = {
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_RPAREN] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_COLON] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
  },
  [152] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(933),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(199),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(200),
    [sym__variable] = STATE(196),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(286),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1514),
    [anon_sym_yield] = ACTIONS(1516),
    [anon_sym_break] = ACTIONS(1518),
    [anon_sym_next] = ACTIONS(1520),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(334),
    [anon_sym_defined_QMARK] = ACTIONS(336),
    [anon_sym_not] = ACTIONS(1540),
    [anon_sym_BANG] = ACTIONS(340),
    [anon_sym_TILDE] = ACTIONS(340),
    [sym_constant] = ACTIONS(1542),
    [sym_identifier] = ACTIONS(1542),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_false] = ACTIONS(364),
    [anon_sym_nil] = ACTIONS(366),
    [anon_sym_self] = ACTIONS(1544),
    [anon_sym_super] = ACTIONS(1546),
    [anon_sym_true] = ACTIONS(362),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [153] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(193),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_hash_splat_argument] = STATE(197),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(199),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(200),
    [sym__variable] = STATE(196),
    [sym_reserved_identifier] = STATE(201),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(202),
    [sym_subshell] = STATE(151),
    [sym_heredoc_end] = STATE(936),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym__hash_items] = STATE(937),
    [sym_pair] = STATE(205),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(260),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(272),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(286),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_RBRACE] = ACTIONS(1550),
    [anon_sym_def] = ACTIONS(292),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(302),
    [anon_sym_class] = ACTIONS(304),
    [anon_sym_module] = ACTIONS(306),
    [anon_sym_return] = ACTIONS(308),
    [anon_sym_yield] = ACTIONS(310),
    [anon_sym_break] = ACTIONS(312),
    [anon_sym_next] = ACTIONS(314),
    [anon_sym_redo] = ACTIONS(316),
    [anon_sym_retry] = ACTIONS(318),
    [anon_sym_if] = ACTIONS(320),
    [anon_sym_unless] = ACTIONS(322),
    [anon_sym_while] = ACTIONS(324),
    [anon_sym_until] = ACTIONS(326),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(328),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(330),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(332),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(334),
    [anon_sym_defined_QMARK] = ACTIONS(336),
    [anon_sym_not] = ACTIONS(338),
    [anon_sym_BANG] = ACTIONS(340),
    [anon_sym_TILDE] = ACTIONS(340),
    [sym_constant] = ACTIONS(342),
    [sym_identifier] = ACTIONS(342),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(346),
    [anon_sym_nil] = ACTIONS(348),
    [anon_sym_self] = ACTIONS(350),
    [anon_sym_super] = ACTIONS(352),
    [anon_sym_true] = ACTIONS(354),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(370),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [154] = {
    [sym__simple_heredoc_body] = ACTIONS(1552),
    [sym__heredoc_body_beginning] = ACTIONS(1552),
    [sym__line_break] = ACTIONS(1552),
    [sym__element_reference_left_bracket] = ACTIONS(1552),
    [sym__scope_double_colon] = ACTIONS(1552),
    [sym__binary_minus] = ACTIONS(1552),
    [sym__binary_star] = ACTIONS(1552),
    [ts_builtin_sym_end] = ACTIONS(1552),
    [anon_sym___END__] = ACTIONS(1552),
    [anon_sym_LBRACE] = ACTIONS(1552),
    [anon_sym_RBRACE] = ACTIONS(1552),
    [anon_sym_RPAREN] = ACTIONS(1552),
    [anon_sym_DOT] = ACTIONS(1554),
    [anon_sym_end] = ACTIONS(1552),
    [anon_sym_COMMA] = ACTIONS(1552),
    [anon_sym_PIPE] = ACTIONS(1554),
    [anon_sym_SEMI] = ACTIONS(1552),
    [anon_sym_STAR_STAR] = ACTIONS(1552),
    [anon_sym_AMP] = ACTIONS(1554),
    [anon_sym_LT] = ACTIONS(1554),
    [anon_sym_if] = ACTIONS(1552),
    [anon_sym_unless] = ACTIONS(1552),
    [anon_sym_while] = ACTIONS(1552),
    [anon_sym_until] = ACTIONS(1552),
    [anon_sym_rescue] = ACTIONS(1552),
    [anon_sym_do] = ACTIONS(1552),
    [anon_sym_when] = ACTIONS(1552),
    [anon_sym_elsif] = ACTIONS(1552),
    [anon_sym_else] = ACTIONS(1552),
    [anon_sym_then] = ACTIONS(1552),
    [anon_sym_ensure] = ACTIONS(1552),
    [anon_sym_EQ_GT] = ACTIONS(1552),
    [anon_sym_AMP_DOT] = ACTIONS(1552),
    [anon_sym_QMARK] = ACTIONS(1552),
    [anon_sym_DOT_DOT] = ACTIONS(1554),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1552),
    [anon_sym_and] = ACTIONS(1552),
    [anon_sym_or] = ACTIONS(1552),
    [anon_sym_PIPE_PIPE] = ACTIONS(1552),
    [anon_sym_AMP_AMP] = ACTIONS(1552),
    [anon_sym_LT_LT] = ACTIONS(1552),
    [anon_sym_GT_GT] = ACTIONS(1552),
    [anon_sym_EQ_EQ] = ACTIONS(1554),
    [anon_sym_BANG_EQ] = ACTIONS(1552),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1552),
    [anon_sym_LT_EQ_GT] = ACTIONS(1552),
    [anon_sym_EQ_TILDE] = ACTIONS(1552),
    [anon_sym_BANG_TILDE] = ACTIONS(1552),
    [anon_sym_LT_EQ] = ACTIONS(1554),
    [anon_sym_GT] = ACTIONS(1554),
    [anon_sym_GT_EQ] = ACTIONS(1552),
    [anon_sym_CARET] = ACTIONS(1552),
    [anon_sym_PLUS] = ACTIONS(1552),
    [anon_sym_SLASH] = ACTIONS(1552),
    [anon_sym_PERCENT] = ACTIONS(1552),
    [sym_comment] = ACTIONS(110),
  },
  [155] = {
    [sym__method_rest] = STATE(939),
    [sym__variable] = STATE(940),
    [sym_operator] = STATE(217),
    [sym__method_name] = STATE(941),
    [sym_setter] = STATE(217),
    [sym_symbol] = STATE(217),
    [sym_super] = STATE(219),
    [sym_self] = STATE(219),
    [sym__simple_symbol] = ACTIONS(378),
    [sym__symbol_beginning] = ACTIONS(380),
    [sym__keyword_colon] = ACTIONS(1556),
    [anon_sym_LPAREN] = ACTIONS(1558),
    [anon_sym_PIPE] = ACTIONS(384),
    [anon_sym_STAR] = ACTIONS(386),
    [anon_sym_STAR_STAR] = ACTIONS(384),
    [anon_sym_AMP] = ACTIONS(384),
    [anon_sym_LT] = ACTIONS(386),
    [anon_sym_DOT_DOT] = ACTIONS(384),
    [anon_sym_LT_LT] = ACTIONS(384),
    [anon_sym_GT_GT] = ACTIONS(384),
    [anon_sym_EQ_EQ] = ACTIONS(386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(384),
    [anon_sym_LT_EQ_GT] = ACTIONS(384),
    [anon_sym_EQ_TILDE] = ACTIONS(384),
    [anon_sym_BANG_TILDE] = ACTIONS(384),
    [anon_sym_LT_EQ] = ACTIONS(386),
    [anon_sym_GT] = ACTIONS(386),
    [anon_sym_GT_EQ] = ACTIONS(384),
    [anon_sym_CARET] = ACTIONS(384),
    [anon_sym_PLUS] = ACTIONS(386),
    [anon_sym_SLASH] = ACTIONS(384),
    [anon_sym_PERCENT] = ACTIONS(384),
    [anon_sym_BANG] = ACTIONS(386),
    [anon_sym_TILDE] = ACTIONS(384),
    [sym_constant] = ACTIONS(388),
    [sym_identifier] = ACTIONS(390),
    [sym_instance_variable] = ACTIONS(388),
    [sym_class_variable] = ACTIONS(388),
    [sym_global_variable] = ACTIONS(388),
    [anon_sym_self] = ACTIONS(392),
    [anon_sym_super] = ACTIONS(394),
    [anon_sym_DASH] = ACTIONS(386),
    [anon_sym_PLUS_AT] = ACTIONS(384),
    [anon_sym_DASH_AT] = ACTIONS(384),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(386),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(384),
    [anon_sym_BQUOTE] = ACTIONS(384),
    [sym_comment] = ACTIONS(110),
  },
  [156] = {
    [sym__statements] = STATE(943),
    [sym__top_level_statement] = STATE(235),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(236),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(237),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(240),
    [sym__mlhs] = STATE(241),
    [sym__simple_mlhs] = STATE(242),
    [sym_destructured_left_assignment] = STATE(242),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(243),
    [sym__variable] = STATE(239),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(396),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_RPAREN] = ACTIONS(1560),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(402),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(412),
    [anon_sym_defined_QMARK] = ACTIONS(414),
    [anon_sym_not] = ACTIONS(416),
    [anon_sym_BANG] = ACTIONS(418),
    [anon_sym_TILDE] = ACTIONS(418),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [157] = {
    [sym_constant] = ACTIONS(1562),
    [sym_identifier] = ACTIONS(1562),
    [sym_comment] = ACTIONS(110),
  },
  [158] = {
    [sym__keyword_colon] = ACTIONS(1556),
    [sym_comment] = ACTIONS(110),
  },
  [159] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(974),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(977),
    [sym_call] = STATE(977),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(978),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(979),
    [sym__variable] = STATE(977),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(1568),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(1578),
    [anon_sym_yield] = ACTIONS(1580),
    [anon_sym_break] = ACTIONS(1582),
    [anon_sym_next] = ACTIONS(1584),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(1604),
    [anon_sym_defined_QMARK] = ACTIONS(1606),
    [anon_sym_not] = ACTIONS(1608),
    [anon_sym_BANG] = ACTIONS(1610),
    [anon_sym_TILDE] = ACTIONS(1610),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [160] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(293),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(983),
    [sym_call] = STATE(295),
    [sym_method_call] = STATE(286),
    [sym__lhs] = STATE(255),
    [sym__variable] = STATE(295),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__singleton_class_left_angle_left_langle] = ACTIONS(1628),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(458),
    [anon_sym_COLON_COLON] = ACTIONS(524),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(1630),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [161] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(293),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(985),
    [sym_call] = STATE(295),
    [sym_method_call] = STATE(286),
    [sym__lhs] = STATE(255),
    [sym__variable] = STATE(295),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [sym__keyword_colon] = ACTIONS(1556),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(458),
    [anon_sym_COLON_COLON] = ACTIONS(524),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(1632),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [162] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1000),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1002),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(1004),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_reserved_identifier] = STATE(1009),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1010),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(1634),
    [sym__splat_star] = ACTIONS(1636),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(1640),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(1642),
    [anon_sym_yield] = ACTIONS(1644),
    [anon_sym_break] = ACTIONS(1646),
    [anon_sym_next] = ACTIONS(1648),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(1652),
    [anon_sym_BANG] = ACTIONS(1654),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(1658),
    [sym_identifier] = ACTIONS(1658),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [163] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1000),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1011),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(1004),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_reserved_identifier] = STATE(1009),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1010),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(1634),
    [sym__splat_star] = ACTIONS(1636),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(1640),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(1642),
    [anon_sym_yield] = ACTIONS(1644),
    [anon_sym_break] = ACTIONS(1646),
    [anon_sym_next] = ACTIONS(1648),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(1652),
    [anon_sym_BANG] = ACTIONS(1654),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(1658),
    [sym_identifier] = ACTIONS(1658),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [164] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1000),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1012),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(1004),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_reserved_identifier] = STATE(1009),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1010),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(1634),
    [sym__splat_star] = ACTIONS(1636),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(1640),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(1642),
    [anon_sym_yield] = ACTIONS(1644),
    [anon_sym_break] = ACTIONS(1646),
    [anon_sym_next] = ACTIONS(1648),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(1652),
    [anon_sym_BANG] = ACTIONS(1654),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(1658),
    [sym_identifier] = ACTIONS(1658),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [165] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1000),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1013),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(1004),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_reserved_identifier] = STATE(1009),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1010),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(1634),
    [sym__splat_star] = ACTIONS(1636),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(1640),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(1642),
    [anon_sym_yield] = ACTIONS(1644),
    [anon_sym_break] = ACTIONS(1646),
    [anon_sym_next] = ACTIONS(1648),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(1652),
    [anon_sym_BANG] = ACTIONS(1654),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(1658),
    [sym_identifier] = ACTIONS(1658),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [166] = {
    [sym__element_reference_left_bracket] = ACTIONS(614),
    [sym__scope_double_colon] = ACTIONS(614),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__binary_minus] = ACTIONS(614),
    [sym__binary_star] = ACTIONS(614),
    [anon_sym_DOT] = ACTIONS(616),
    [anon_sym_PIPE] = ACTIONS(616),
    [anon_sym_STAR_STAR] = ACTIONS(614),
    [anon_sym_AMP] = ACTIONS(616),
    [anon_sym_LT] = ACTIONS(616),
    [anon_sym_EQ_GT] = ACTIONS(614),
    [anon_sym_AMP_DOT] = ACTIONS(614),
    [anon_sym_QMARK] = ACTIONS(614),
    [anon_sym_DOT_DOT] = ACTIONS(616),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(614),
    [anon_sym_and] = ACTIONS(614),
    [anon_sym_or] = ACTIONS(614),
    [anon_sym_PIPE_PIPE] = ACTIONS(614),
    [anon_sym_AMP_AMP] = ACTIONS(614),
    [anon_sym_LT_LT] = ACTIONS(614),
    [anon_sym_GT_GT] = ACTIONS(614),
    [anon_sym_EQ_EQ] = ACTIONS(616),
    [anon_sym_BANG_EQ] = ACTIONS(614),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(614),
    [anon_sym_LT_EQ_GT] = ACTIONS(614),
    [anon_sym_EQ_TILDE] = ACTIONS(614),
    [anon_sym_BANG_TILDE] = ACTIONS(614),
    [anon_sym_LT_EQ] = ACTIONS(616),
    [anon_sym_GT] = ACTIONS(616),
    [anon_sym_GT_EQ] = ACTIONS(614),
    [anon_sym_CARET] = ACTIONS(614),
    [anon_sym_PLUS] = ACTIONS(614),
    [anon_sym_SLASH] = ACTIONS(614),
    [anon_sym_PERCENT] = ACTIONS(614),
    [sym_comment] = ACTIONS(110),
  },
  [167] = {
    [sym__element_reference_left_bracket] = ACTIONS(618),
    [sym__scope_double_colon] = ACTIONS(618),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__binary_minus] = ACTIONS(618),
    [sym__binary_star] = ACTIONS(618),
    [anon_sym_DOT] = ACTIONS(620),
    [anon_sym_PIPE] = ACTIONS(620),
    [anon_sym_STAR_STAR] = ACTIONS(618),
    [anon_sym_AMP] = ACTIONS(620),
    [anon_sym_LT] = ACTIONS(620),
    [anon_sym_EQ_GT] = ACTIONS(618),
    [anon_sym_AMP_DOT] = ACTIONS(618),
    [anon_sym_QMARK] = ACTIONS(618),
    [anon_sym_DOT_DOT] = ACTIONS(620),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(618),
    [anon_sym_and] = ACTIONS(618),
    [anon_sym_or] = ACTIONS(618),
    [anon_sym_PIPE_PIPE] = ACTIONS(618),
    [anon_sym_AMP_AMP] = ACTIONS(618),
    [anon_sym_LT_LT] = ACTIONS(618),
    [anon_sym_GT_GT] = ACTIONS(618),
    [anon_sym_EQ_EQ] = ACTIONS(620),
    [anon_sym_BANG_EQ] = ACTIONS(618),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(618),
    [anon_sym_LT_EQ_GT] = ACTIONS(618),
    [anon_sym_EQ_TILDE] = ACTIONS(618),
    [anon_sym_BANG_TILDE] = ACTIONS(618),
    [anon_sym_LT_EQ] = ACTIONS(620),
    [anon_sym_GT] = ACTIONS(620),
    [anon_sym_GT_EQ] = ACTIONS(618),
    [anon_sym_CARET] = ACTIONS(618),
    [anon_sym_PLUS] = ACTIONS(618),
    [anon_sym_SLASH] = ACTIONS(618),
    [anon_sym_PERCENT] = ACTIONS(618),
    [sym_comment] = ACTIONS(110),
  },
  [168] = {
    [sym__statement] = STATE(1014),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(361),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [169] = {
    [sym__statement] = STATE(1015),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(361),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [170] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1016),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [171] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1017),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [172] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(285),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(381),
    [sym_call] = STATE(381),
    [sym_method_call] = STATE(286),
    [sym__mlhs] = STATE(1018),
    [sym__simple_mlhs] = STATE(383),
    [sym_destructured_left_assignment] = STATE(383),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(384),
    [sym__variable] = STATE(381),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [sym__keyword_colon] = ACTIONS(1556),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(658),
    [anon_sym_COLON_COLON] = ACTIONS(460),
    [anon_sym_STAR] = ACTIONS(660),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(494),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [173] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_when] = STATE(1019),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1020),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(400),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(401),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(387),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__terminator] = STATE(402),
    [aux_sym_case_repeat1] = STATE(1021),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(666),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(668),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_when] = ACTIONS(678),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(680),
    [anon_sym_defined_QMARK] = ACTIONS(682),
    [anon_sym_not] = ACTIONS(684),
    [anon_sym_BANG] = ACTIONS(686),
    [anon_sym_TILDE] = ACTIONS(686),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [174] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(1023),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(1024),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(692),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(1660),
    [anon_sym_SEMI] = ACTIONS(698),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [175] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(1025),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(199),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(200),
    [sym__variable] = STATE(196),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(286),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1514),
    [anon_sym_yield] = ACTIONS(1516),
    [anon_sym_break] = ACTIONS(1518),
    [anon_sym_next] = ACTIONS(1520),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(334),
    [anon_sym_defined_QMARK] = ACTIONS(336),
    [anon_sym_not] = ACTIONS(1540),
    [anon_sym_BANG] = ACTIONS(340),
    [anon_sym_TILDE] = ACTIONS(340),
    [sym_constant] = ACTIONS(1542),
    [sym_identifier] = ACTIONS(1542),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_false] = ACTIONS(364),
    [anon_sym_nil] = ACTIONS(366),
    [anon_sym_self] = ACTIONS(1544),
    [anon_sym_super] = ACTIONS(1546),
    [anon_sym_true] = ACTIONS(362),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [176] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(1026),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(199),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(200),
    [sym__variable] = STATE(196),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(286),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1514),
    [anon_sym_yield] = ACTIONS(1516),
    [anon_sym_break] = ACTIONS(1518),
    [anon_sym_next] = ACTIONS(1520),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(334),
    [anon_sym_defined_QMARK] = ACTIONS(336),
    [anon_sym_not] = ACTIONS(1540),
    [anon_sym_BANG] = ACTIONS(340),
    [anon_sym_TILDE] = ACTIONS(340),
    [sym_constant] = ACTIONS(1542),
    [sym_identifier] = ACTIONS(1542),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_false] = ACTIONS(364),
    [anon_sym_nil] = ACTIONS(366),
    [anon_sym_self] = ACTIONS(1544),
    [anon_sym_super] = ACTIONS(1546),
    [anon_sym_true] = ACTIONS(362),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [177] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(1026),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(199),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(200),
    [sym__variable] = STATE(196),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(286),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1514),
    [anon_sym_yield] = ACTIONS(1516),
    [anon_sym_break] = ACTIONS(1518),
    [anon_sym_next] = ACTIONS(1520),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(334),
    [anon_sym_defined_QMARK] = ACTIONS(336),
    [anon_sym_not] = ACTIONS(1540),
    [anon_sym_BANG] = ACTIONS(340),
    [anon_sym_TILDE] = ACTIONS(340),
    [sym_constant] = ACTIONS(1542),
    [sym_identifier] = ACTIONS(1542),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_false] = ACTIONS(364),
    [anon_sym_nil] = ACTIONS(366),
    [anon_sym_self] = ACTIONS(1544),
    [anon_sym_super] = ACTIONS(1546),
    [anon_sym_true] = ACTIONS(362),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [178] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(1027),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(199),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(200),
    [sym__variable] = STATE(196),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(286),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1514),
    [anon_sym_yield] = ACTIONS(1516),
    [anon_sym_break] = ACTIONS(1518),
    [anon_sym_next] = ACTIONS(1520),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(334),
    [anon_sym_defined_QMARK] = ACTIONS(336),
    [anon_sym_not] = ACTIONS(1540),
    [anon_sym_BANG] = ACTIONS(340),
    [anon_sym_TILDE] = ACTIONS(340),
    [sym_constant] = ACTIONS(1542),
    [sym_identifier] = ACTIONS(1542),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_false] = ACTIONS(364),
    [anon_sym_nil] = ACTIONS(366),
    [anon_sym_self] = ACTIONS(1544),
    [anon_sym_super] = ACTIONS(1546),
    [anon_sym_true] = ACTIONS(362),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [179] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(1662),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [180] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [181] = {
    [sym__element_reference_left_bracket] = ACTIONS(740),
    [sym__scope_double_colon] = ACTIONS(740),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__binary_minus] = ACTIONS(740),
    [sym__binary_star] = ACTIONS(740),
    [anon_sym_DOT] = ACTIONS(742),
    [anon_sym_COMMA] = ACTIONS(740),
    [anon_sym_PIPE] = ACTIONS(742),
    [anon_sym_STAR_STAR] = ACTIONS(742),
    [anon_sym_AMP] = ACTIONS(742),
    [anon_sym_EQ] = ACTIONS(742),
    [anon_sym_LT] = ACTIONS(742),
    [anon_sym_EQ_GT] = ACTIONS(740),
    [anon_sym_AMP_DOT] = ACTIONS(740),
    [anon_sym_PLUS_EQ] = ACTIONS(740),
    [anon_sym_DASH_EQ] = ACTIONS(740),
    [anon_sym_STAR_EQ] = ACTIONS(740),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(740),
    [anon_sym_SLASH_EQ] = ACTIONS(740),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(740),
    [anon_sym_PIPE_EQ] = ACTIONS(740),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(740),
    [anon_sym_AMP_EQ] = ACTIONS(740),
    [anon_sym_PERCENT_EQ] = ACTIONS(740),
    [anon_sym_GT_GT_EQ] = ACTIONS(740),
    [anon_sym_LT_LT_EQ] = ACTIONS(740),
    [anon_sym_CARET_EQ] = ACTIONS(740),
    [anon_sym_QMARK] = ACTIONS(740),
    [anon_sym_DOT_DOT] = ACTIONS(742),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(740),
    [anon_sym_and] = ACTIONS(740),
    [anon_sym_or] = ACTIONS(740),
    [anon_sym_PIPE_PIPE] = ACTIONS(742),
    [anon_sym_AMP_AMP] = ACTIONS(742),
    [anon_sym_LT_LT] = ACTIONS(742),
    [anon_sym_GT_GT] = ACTIONS(742),
    [anon_sym_EQ_EQ] = ACTIONS(742),
    [anon_sym_BANG_EQ] = ACTIONS(740),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(740),
    [anon_sym_LT_EQ_GT] = ACTIONS(740),
    [anon_sym_EQ_TILDE] = ACTIONS(740),
    [anon_sym_BANG_TILDE] = ACTIONS(740),
    [anon_sym_LT_EQ] = ACTIONS(742),
    [anon_sym_GT] = ACTIONS(742),
    [anon_sym_GT_EQ] = ACTIONS(740),
    [anon_sym_CARET] = ACTIONS(742),
    [anon_sym_PLUS] = ACTIONS(742),
    [anon_sym_SLASH] = ACTIONS(742),
    [anon_sym_PERCENT] = ACTIONS(742),
    [sym_comment] = ACTIONS(256),
  },
  [182] = {
    [sym__element_reference_left_bracket] = ACTIONS(744),
    [sym__scope_double_colon] = ACTIONS(744),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__binary_minus] = ACTIONS(744),
    [sym__binary_star] = ACTIONS(744),
    [anon_sym_DOT] = ACTIONS(746),
    [anon_sym_COMMA] = ACTIONS(744),
    [anon_sym_PIPE] = ACTIONS(746),
    [anon_sym_STAR_STAR] = ACTIONS(746),
    [anon_sym_AMP] = ACTIONS(746),
    [anon_sym_EQ] = ACTIONS(746),
    [anon_sym_LT] = ACTIONS(746),
    [anon_sym_EQ_GT] = ACTIONS(744),
    [anon_sym_AMP_DOT] = ACTIONS(744),
    [anon_sym_PLUS_EQ] = ACTIONS(744),
    [anon_sym_DASH_EQ] = ACTIONS(744),
    [anon_sym_STAR_EQ] = ACTIONS(744),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(744),
    [anon_sym_SLASH_EQ] = ACTIONS(744),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(744),
    [anon_sym_PIPE_EQ] = ACTIONS(744),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(744),
    [anon_sym_AMP_EQ] = ACTIONS(744),
    [anon_sym_PERCENT_EQ] = ACTIONS(744),
    [anon_sym_GT_GT_EQ] = ACTIONS(744),
    [anon_sym_LT_LT_EQ] = ACTIONS(744),
    [anon_sym_CARET_EQ] = ACTIONS(744),
    [anon_sym_QMARK] = ACTIONS(744),
    [anon_sym_DOT_DOT] = ACTIONS(746),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(744),
    [anon_sym_and] = ACTIONS(744),
    [anon_sym_or] = ACTIONS(744),
    [anon_sym_PIPE_PIPE] = ACTIONS(746),
    [anon_sym_AMP_AMP] = ACTIONS(746),
    [anon_sym_LT_LT] = ACTIONS(746),
    [anon_sym_GT_GT] = ACTIONS(746),
    [anon_sym_EQ_EQ] = ACTIONS(746),
    [anon_sym_BANG_EQ] = ACTIONS(744),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(744),
    [anon_sym_LT_EQ_GT] = ACTIONS(744),
    [anon_sym_EQ_TILDE] = ACTIONS(744),
    [anon_sym_BANG_TILDE] = ACTIONS(744),
    [anon_sym_LT_EQ] = ACTIONS(746),
    [anon_sym_GT] = ACTIONS(746),
    [anon_sym_GT_EQ] = ACTIONS(744),
    [anon_sym_CARET] = ACTIONS(746),
    [anon_sym_PLUS] = ACTIONS(746),
    [anon_sym_SLASH] = ACTIONS(746),
    [anon_sym_PERCENT] = ACTIONS(746),
    [sym_comment] = ACTIONS(256),
  },
  [183] = {
    [sym__simple_string] = ACTIONS(748),
    [sym__simple_symbol] = ACTIONS(748),
    [sym__simple_subshell] = ACTIONS(748),
    [sym__simple_regex] = ACTIONS(748),
    [sym__simple_word_list] = ACTIONS(748),
    [sym__string_beginning] = ACTIONS(748),
    [sym__symbol_beginning] = ACTIONS(748),
    [sym__subshell_beginning] = ACTIONS(748),
    [sym__regex_beginning] = ACTIONS(748),
    [sym__word_list_beginning] = ACTIONS(748),
    [sym_heredoc_beginning] = ACTIONS(748),
    [sym__element_reference_left_bracket] = ACTIONS(748),
    [sym__block_ampersand] = ACTIONS(748),
    [sym__splat_star] = ACTIONS(748),
    [sym__argument_list_left_paren] = ACTIONS(748),
    [sym__scope_double_colon] = ACTIONS(748),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(748),
    [sym__binary_minus] = ACTIONS(748),
    [sym__binary_star] = ACTIONS(748),
    [anon_sym_LBRACE] = ACTIONS(748),
    [anon_sym_def] = ACTIONS(750),
    [anon_sym_LPAREN] = ACTIONS(748),
    [anon_sym_DOT] = ACTIONS(750),
    [anon_sym_COLON_COLON] = ACTIONS(748),
    [anon_sym_end] = ACTIONS(750),
    [anon_sym_COMMA] = ACTIONS(748),
    [anon_sym_PIPE] = ACTIONS(750),
    [anon_sym_STAR] = ACTIONS(750),
    [anon_sym_STAR_STAR] = ACTIONS(750),
    [anon_sym_AMP] = ACTIONS(750),
    [anon_sym_EQ] = ACTIONS(750),
    [anon_sym_class] = ACTIONS(750),
    [anon_sym_LT] = ACTIONS(750),
    [anon_sym_module] = ACTIONS(750),
    [anon_sym_return] = ACTIONS(750),
    [anon_sym_yield] = ACTIONS(750),
    [anon_sym_break] = ACTIONS(750),
    [anon_sym_next] = ACTIONS(750),
    [anon_sym_redo] = ACTIONS(750),
    [anon_sym_retry] = ACTIONS(750),
    [anon_sym_if] = ACTIONS(750),
    [anon_sym_unless] = ACTIONS(750),
    [anon_sym_while] = ACTIONS(750),
    [anon_sym_until] = ACTIONS(750),
    [anon_sym_rescue] = ACTIONS(750),
    [anon_sym_for] = ACTIONS(750),
    [anon_sym_in] = ACTIONS(750),
    [anon_sym_do] = ACTIONS(750),
    [anon_sym_case] = ACTIONS(750),
    [anon_sym_when] = ACTIONS(750),
    [anon_sym_elsif] = ACTIONS(750),
    [anon_sym_else] = ACTIONS(750),
    [anon_sym_then] = ACTIONS(750),
    [anon_sym_begin] = ACTIONS(750),
    [anon_sym_ensure] = ACTIONS(750),
    [anon_sym_EQ_GT] = ACTIONS(748),
    [anon_sym_AMP_DOT] = ACTIONS(748),
    [anon_sym_PLUS_EQ] = ACTIONS(748),
    [anon_sym_DASH_EQ] = ACTIONS(748),
    [anon_sym_STAR_EQ] = ACTIONS(748),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(748),
    [anon_sym_SLASH_EQ] = ACTIONS(748),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(748),
    [anon_sym_PIPE_EQ] = ACTIONS(748),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(748),
    [anon_sym_AMP_EQ] = ACTIONS(748),
    [anon_sym_PERCENT_EQ] = ACTIONS(748),
    [anon_sym_GT_GT_EQ] = ACTIONS(748),
    [anon_sym_LT_LT_EQ] = ACTIONS(748),
    [anon_sym_CARET_EQ] = ACTIONS(748),
    [anon_sym_QMARK] = ACTIONS(750),
    [anon_sym_DOT_DOT] = ACTIONS(750),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(748),
    [anon_sym_and] = ACTIONS(750),
    [anon_sym_or] = ACTIONS(750),
    [anon_sym_PIPE_PIPE] = ACTIONS(750),
    [anon_sym_AMP_AMP] = ACTIONS(750),
    [anon_sym_LT_LT] = ACTIONS(750),
    [anon_sym_GT_GT] = ACTIONS(750),
    [anon_sym_EQ_EQ] = ACTIONS(750),
    [anon_sym_BANG_EQ] = ACTIONS(748),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(748),
    [anon_sym_LT_EQ_GT] = ACTIONS(748),
    [anon_sym_EQ_TILDE] = ACTIONS(748),
    [anon_sym_BANG_TILDE] = ACTIONS(748),
    [anon_sym_LT_EQ] = ACTIONS(750),
    [anon_sym_GT] = ACTIONS(750),
    [anon_sym_GT_EQ] = ACTIONS(748),
    [anon_sym_CARET] = ACTIONS(750),
    [anon_sym_PLUS] = ACTIONS(750),
    [anon_sym_SLASH] = ACTIONS(750),
    [anon_sym_PERCENT] = ACTIONS(750),
    [anon_sym_defined_QMARK] = ACTIONS(748),
    [anon_sym_not] = ACTIONS(750),
    [anon_sym_BANG] = ACTIONS(750),
    [anon_sym_TILDE] = ACTIONS(748),
    [sym_constant] = ACTIONS(752),
    [sym_identifier] = ACTIONS(752),
    [sym_instance_variable] = ACTIONS(750),
    [sym_class_variable] = ACTIONS(750),
    [sym_global_variable] = ACTIONS(750),
    [anon_sym_alias] = ACTIONS(750),
    [anon_sym_defined] = ACTIONS(750),
    [anon_sym_false] = ACTIONS(750),
    [anon_sym_nil] = ACTIONS(750),
    [anon_sym_self] = ACTIONS(750),
    [anon_sym_super] = ACTIONS(750),
    [anon_sym_true] = ACTIONS(750),
    [anon_sym_undef] = ACTIONS(750),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(750),
    [sym_float] = ACTIONS(752),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(748),
    [anon_sym_TRUE] = ACTIONS(750),
    [anon_sym_FALSE] = ACTIONS(750),
    [anon_sym_NIL] = ACTIONS(750),
    [sym_keyword__FILE__] = ACTIONS(750),
    [sym_keyword__LINE__] = ACTIONS(750),
    [sym_keyword__ENCODING__] = ACTIONS(750),
    [sym__character_literal] = ACTIONS(750),
    [anon_sym_LBRACK] = ACTIONS(748),
    [anon_sym_DASH_GT] = ACTIONS(748),
  },
  [184] = {
    [sym__simple_string] = ACTIONS(754),
    [sym__simple_symbol] = ACTIONS(754),
    [sym__simple_subshell] = ACTIONS(754),
    [sym__simple_regex] = ACTIONS(754),
    [sym__simple_word_list] = ACTIONS(754),
    [sym__string_beginning] = ACTIONS(754),
    [sym__symbol_beginning] = ACTIONS(754),
    [sym__subshell_beginning] = ACTIONS(754),
    [sym__regex_beginning] = ACTIONS(754),
    [sym__word_list_beginning] = ACTIONS(754),
    [sym_heredoc_beginning] = ACTIONS(754),
    [sym__element_reference_left_bracket] = ACTIONS(754),
    [sym__block_ampersand] = ACTIONS(754),
    [sym__splat_star] = ACTIONS(754),
    [sym__argument_list_left_paren] = ACTIONS(754),
    [sym__scope_double_colon] = ACTIONS(754),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(754),
    [sym__binary_minus] = ACTIONS(754),
    [sym__binary_star] = ACTIONS(754),
    [anon_sym_LBRACE] = ACTIONS(754),
    [anon_sym_def] = ACTIONS(756),
    [anon_sym_LPAREN] = ACTIONS(754),
    [anon_sym_DOT] = ACTIONS(756),
    [anon_sym_COLON_COLON] = ACTIONS(754),
    [anon_sym_end] = ACTIONS(756),
    [anon_sym_COMMA] = ACTIONS(754),
    [anon_sym_PIPE] = ACTIONS(756),
    [anon_sym_STAR] = ACTIONS(756),
    [anon_sym_STAR_STAR] = ACTIONS(756),
    [anon_sym_AMP] = ACTIONS(756),
    [anon_sym_EQ] = ACTIONS(756),
    [anon_sym_class] = ACTIONS(756),
    [anon_sym_LT] = ACTIONS(756),
    [anon_sym_module] = ACTIONS(756),
    [anon_sym_return] = ACTIONS(756),
    [anon_sym_yield] = ACTIONS(756),
    [anon_sym_break] = ACTIONS(756),
    [anon_sym_next] = ACTIONS(756),
    [anon_sym_redo] = ACTIONS(756),
    [anon_sym_retry] = ACTIONS(756),
    [anon_sym_if] = ACTIONS(756),
    [anon_sym_unless] = ACTIONS(756),
    [anon_sym_while] = ACTIONS(756),
    [anon_sym_until] = ACTIONS(756),
    [anon_sym_rescue] = ACTIONS(756),
    [anon_sym_for] = ACTIONS(756),
    [anon_sym_in] = ACTIONS(756),
    [anon_sym_do] = ACTIONS(756),
    [anon_sym_case] = ACTIONS(756),
    [anon_sym_when] = ACTIONS(756),
    [anon_sym_elsif] = ACTIONS(756),
    [anon_sym_else] = ACTIONS(756),
    [anon_sym_then] = ACTIONS(756),
    [anon_sym_begin] = ACTIONS(756),
    [anon_sym_ensure] = ACTIONS(756),
    [anon_sym_EQ_GT] = ACTIONS(754),
    [anon_sym_AMP_DOT] = ACTIONS(754),
    [anon_sym_PLUS_EQ] = ACTIONS(754),
    [anon_sym_DASH_EQ] = ACTIONS(754),
    [anon_sym_STAR_EQ] = ACTIONS(754),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(754),
    [anon_sym_SLASH_EQ] = ACTIONS(754),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(754),
    [anon_sym_PIPE_EQ] = ACTIONS(754),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(754),
    [anon_sym_AMP_EQ] = ACTIONS(754),
    [anon_sym_PERCENT_EQ] = ACTIONS(754),
    [anon_sym_GT_GT_EQ] = ACTIONS(754),
    [anon_sym_LT_LT_EQ] = ACTIONS(754),
    [anon_sym_CARET_EQ] = ACTIONS(754),
    [anon_sym_QMARK] = ACTIONS(756),
    [anon_sym_DOT_DOT] = ACTIONS(756),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(754),
    [anon_sym_and] = ACTIONS(756),
    [anon_sym_or] = ACTIONS(756),
    [anon_sym_PIPE_PIPE] = ACTIONS(756),
    [anon_sym_AMP_AMP] = ACTIONS(756),
    [anon_sym_LT_LT] = ACTIONS(756),
    [anon_sym_GT_GT] = ACTIONS(756),
    [anon_sym_EQ_EQ] = ACTIONS(756),
    [anon_sym_BANG_EQ] = ACTIONS(754),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(754),
    [anon_sym_LT_EQ_GT] = ACTIONS(754),
    [anon_sym_EQ_TILDE] = ACTIONS(754),
    [anon_sym_BANG_TILDE] = ACTIONS(754),
    [anon_sym_LT_EQ] = ACTIONS(756),
    [anon_sym_GT] = ACTIONS(756),
    [anon_sym_GT_EQ] = ACTIONS(754),
    [anon_sym_CARET] = ACTIONS(756),
    [anon_sym_PLUS] = ACTIONS(756),
    [anon_sym_SLASH] = ACTIONS(756),
    [anon_sym_PERCENT] = ACTIONS(756),
    [anon_sym_defined_QMARK] = ACTIONS(754),
    [anon_sym_not] = ACTIONS(756),
    [anon_sym_BANG] = ACTIONS(756),
    [anon_sym_TILDE] = ACTIONS(754),
    [sym_constant] = ACTIONS(758),
    [sym_identifier] = ACTIONS(758),
    [sym_instance_variable] = ACTIONS(756),
    [sym_class_variable] = ACTIONS(756),
    [sym_global_variable] = ACTIONS(756),
    [anon_sym_alias] = ACTIONS(756),
    [anon_sym_defined] = ACTIONS(756),
    [anon_sym_false] = ACTIONS(756),
    [anon_sym_nil] = ACTIONS(756),
    [anon_sym_self] = ACTIONS(756),
    [anon_sym_super] = ACTIONS(756),
    [anon_sym_true] = ACTIONS(756),
    [anon_sym_undef] = ACTIONS(756),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(756),
    [sym_float] = ACTIONS(758),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(754),
    [anon_sym_TRUE] = ACTIONS(756),
    [anon_sym_FALSE] = ACTIONS(756),
    [anon_sym_NIL] = ACTIONS(756),
    [sym_keyword__FILE__] = ACTIONS(756),
    [sym_keyword__LINE__] = ACTIONS(756),
    [sym_keyword__ENCODING__] = ACTIONS(756),
    [sym__character_literal] = ACTIONS(756),
    [anon_sym_LBRACK] = ACTIONS(754),
    [anon_sym_DASH_GT] = ACTIONS(754),
  },
  [185] = {
    [sym__element_reference_left_bracket] = ACTIONS(760),
    [sym__scope_double_colon] = ACTIONS(760),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__binary_minus] = ACTIONS(760),
    [sym__binary_star] = ACTIONS(760),
    [anon_sym_DOT] = ACTIONS(762),
    [anon_sym_COMMA] = ACTIONS(760),
    [anon_sym_PIPE] = ACTIONS(762),
    [anon_sym_STAR_STAR] = ACTIONS(762),
    [anon_sym_AMP] = ACTIONS(762),
    [anon_sym_EQ] = ACTIONS(762),
    [anon_sym_LT] = ACTIONS(762),
    [anon_sym_EQ_GT] = ACTIONS(760),
    [anon_sym_AMP_DOT] = ACTIONS(760),
    [anon_sym_PLUS_EQ] = ACTIONS(760),
    [anon_sym_DASH_EQ] = ACTIONS(760),
    [anon_sym_STAR_EQ] = ACTIONS(760),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(760),
    [anon_sym_SLASH_EQ] = ACTIONS(760),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(760),
    [anon_sym_PIPE_EQ] = ACTIONS(760),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(760),
    [anon_sym_AMP_EQ] = ACTIONS(760),
    [anon_sym_PERCENT_EQ] = ACTIONS(760),
    [anon_sym_GT_GT_EQ] = ACTIONS(760),
    [anon_sym_LT_LT_EQ] = ACTIONS(760),
    [anon_sym_CARET_EQ] = ACTIONS(760),
    [anon_sym_QMARK] = ACTIONS(760),
    [anon_sym_DOT_DOT] = ACTIONS(762),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(760),
    [anon_sym_and] = ACTIONS(760),
    [anon_sym_or] = ACTIONS(760),
    [anon_sym_PIPE_PIPE] = ACTIONS(762),
    [anon_sym_AMP_AMP] = ACTIONS(762),
    [anon_sym_LT_LT] = ACTIONS(762),
    [anon_sym_GT_GT] = ACTIONS(762),
    [anon_sym_EQ_EQ] = ACTIONS(762),
    [anon_sym_BANG_EQ] = ACTIONS(760),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(760),
    [anon_sym_LT_EQ_GT] = ACTIONS(760),
    [anon_sym_EQ_TILDE] = ACTIONS(760),
    [anon_sym_BANG_TILDE] = ACTIONS(760),
    [anon_sym_LT_EQ] = ACTIONS(762),
    [anon_sym_GT] = ACTIONS(762),
    [anon_sym_GT_EQ] = ACTIONS(760),
    [anon_sym_CARET] = ACTIONS(762),
    [anon_sym_PLUS] = ACTIONS(762),
    [anon_sym_SLASH] = ACTIONS(762),
    [anon_sym_PERCENT] = ACTIONS(762),
    [sym_comment] = ACTIONS(256),
  },
  [186] = {
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_RPAREN] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_COLON] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [anon_sym_r] = ACTIONS(1664),
  },
  [187] = {
    [sym__element_reference_left_bracket] = ACTIONS(778),
    [sym__scope_double_colon] = ACTIONS(778),
    [sym__binary_minus] = ACTIONS(778),
    [sym__binary_star] = ACTIONS(778),
    [anon_sym_LBRACE] = ACTIONS(778),
    [anon_sym_RPAREN] = ACTIONS(778),
    [anon_sym_DOT] = ACTIONS(780),
    [anon_sym_COMMA] = ACTIONS(778),
    [anon_sym_PIPE] = ACTIONS(780),
    [anon_sym_SEMI] = ACTIONS(778),
    [anon_sym_STAR_STAR] = ACTIONS(778),
    [anon_sym_AMP] = ACTIONS(780),
    [anon_sym_LT] = ACTIONS(780),
    [anon_sym_do] = ACTIONS(778),
    [anon_sym_EQ_GT] = ACTIONS(778),
    [anon_sym_AMP_DOT] = ACTIONS(778),
    [anon_sym_QMARK] = ACTIONS(778),
    [anon_sym_COLON] = ACTIONS(778),
    [anon_sym_DOT_DOT] = ACTIONS(780),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(778),
    [anon_sym_and] = ACTIONS(778),
    [anon_sym_or] = ACTIONS(778),
    [anon_sym_PIPE_PIPE] = ACTIONS(778),
    [anon_sym_AMP_AMP] = ACTIONS(778),
    [anon_sym_LT_LT] = ACTIONS(778),
    [anon_sym_GT_GT] = ACTIONS(778),
    [anon_sym_EQ_EQ] = ACTIONS(780),
    [anon_sym_BANG_EQ] = ACTIONS(778),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(778),
    [anon_sym_LT_EQ_GT] = ACTIONS(778),
    [anon_sym_EQ_TILDE] = ACTIONS(778),
    [anon_sym_BANG_TILDE] = ACTIONS(778),
    [anon_sym_LT_EQ] = ACTIONS(780),
    [anon_sym_GT] = ACTIONS(780),
    [anon_sym_GT_EQ] = ACTIONS(778),
    [anon_sym_CARET] = ACTIONS(778),
    [anon_sym_PLUS] = ACTIONS(778),
    [anon_sym_SLASH] = ACTIONS(778),
    [anon_sym_PERCENT] = ACTIONS(778),
    [sym_comment] = ACTIONS(110),
  },
  [188] = {
    [sym__element_reference_left_bracket] = ACTIONS(760),
    [sym__scope_double_colon] = ACTIONS(760),
    [sym__binary_minus] = ACTIONS(760),
    [sym__binary_star] = ACTIONS(760),
    [anon_sym_DOT] = ACTIONS(762),
    [anon_sym_COMMA] = ACTIONS(760),
    [anon_sym_PIPE] = ACTIONS(762),
    [anon_sym_STAR_STAR] = ACTIONS(762),
    [anon_sym_AMP] = ACTIONS(762),
    [anon_sym_EQ] = ACTIONS(762),
    [anon_sym_LT] = ACTIONS(762),
    [anon_sym_EQ_GT] = ACTIONS(760),
    [anon_sym_AMP_DOT] = ACTIONS(760),
    [anon_sym_PLUS_EQ] = ACTIONS(760),
    [anon_sym_DASH_EQ] = ACTIONS(760),
    [anon_sym_STAR_EQ] = ACTIONS(760),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(760),
    [anon_sym_SLASH_EQ] = ACTIONS(760),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(760),
    [anon_sym_PIPE_EQ] = ACTIONS(760),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(760),
    [anon_sym_AMP_EQ] = ACTIONS(760),
    [anon_sym_PERCENT_EQ] = ACTIONS(760),
    [anon_sym_GT_GT_EQ] = ACTIONS(760),
    [anon_sym_LT_LT_EQ] = ACTIONS(760),
    [anon_sym_CARET_EQ] = ACTIONS(760),
    [anon_sym_QMARK] = ACTIONS(760),
    [anon_sym_DOT_DOT] = ACTIONS(762),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(760),
    [anon_sym_and] = ACTIONS(760),
    [anon_sym_or] = ACTIONS(760),
    [anon_sym_PIPE_PIPE] = ACTIONS(762),
    [anon_sym_AMP_AMP] = ACTIONS(762),
    [anon_sym_LT_LT] = ACTIONS(762),
    [anon_sym_GT_GT] = ACTIONS(762),
    [anon_sym_EQ_EQ] = ACTIONS(762),
    [anon_sym_BANG_EQ] = ACTIONS(760),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(760),
    [anon_sym_LT_EQ_GT] = ACTIONS(760),
    [anon_sym_EQ_TILDE] = ACTIONS(760),
    [anon_sym_BANG_TILDE] = ACTIONS(760),
    [anon_sym_LT_EQ] = ACTIONS(762),
    [anon_sym_GT] = ACTIONS(762),
    [anon_sym_GT_EQ] = ACTIONS(760),
    [anon_sym_CARET] = ACTIONS(762),
    [anon_sym_PLUS] = ACTIONS(762),
    [anon_sym_SLASH] = ACTIONS(762),
    [anon_sym_PERCENT] = ACTIONS(762),
    [sym_comment] = ACTIONS(256),
  },
  [189] = {
    [sym__element_reference_left_bracket] = ACTIONS(740),
    [sym__scope_double_colon] = ACTIONS(740),
    [sym__binary_minus] = ACTIONS(740),
    [sym__binary_star] = ACTIONS(740),
    [anon_sym_DOT] = ACTIONS(742),
    [anon_sym_COMMA] = ACTIONS(740),
    [anon_sym_PIPE] = ACTIONS(742),
    [anon_sym_STAR_STAR] = ACTIONS(742),
    [anon_sym_AMP] = ACTIONS(742),
    [anon_sym_EQ] = ACTIONS(742),
    [anon_sym_LT] = ACTIONS(742),
    [anon_sym_EQ_GT] = ACTIONS(740),
    [anon_sym_AMP_DOT] = ACTIONS(740),
    [anon_sym_PLUS_EQ] = ACTIONS(740),
    [anon_sym_DASH_EQ] = ACTIONS(740),
    [anon_sym_STAR_EQ] = ACTIONS(740),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(740),
    [anon_sym_SLASH_EQ] = ACTIONS(740),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(740),
    [anon_sym_PIPE_EQ] = ACTIONS(740),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(740),
    [anon_sym_AMP_EQ] = ACTIONS(740),
    [anon_sym_PERCENT_EQ] = ACTIONS(740),
    [anon_sym_GT_GT_EQ] = ACTIONS(740),
    [anon_sym_LT_LT_EQ] = ACTIONS(740),
    [anon_sym_CARET_EQ] = ACTIONS(740),
    [anon_sym_QMARK] = ACTIONS(740),
    [anon_sym_DOT_DOT] = ACTIONS(742),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(740),
    [anon_sym_and] = ACTIONS(740),
    [anon_sym_or] = ACTIONS(740),
    [anon_sym_PIPE_PIPE] = ACTIONS(742),
    [anon_sym_AMP_AMP] = ACTIONS(742),
    [anon_sym_LT_LT] = ACTIONS(742),
    [anon_sym_GT_GT] = ACTIONS(742),
    [anon_sym_EQ_EQ] = ACTIONS(742),
    [anon_sym_BANG_EQ] = ACTIONS(740),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(740),
    [anon_sym_LT_EQ_GT] = ACTIONS(740),
    [anon_sym_EQ_TILDE] = ACTIONS(740),
    [anon_sym_BANG_TILDE] = ACTIONS(740),
    [anon_sym_LT_EQ] = ACTIONS(742),
    [anon_sym_GT] = ACTIONS(742),
    [anon_sym_GT_EQ] = ACTIONS(740),
    [anon_sym_CARET] = ACTIONS(742),
    [anon_sym_PLUS] = ACTIONS(742),
    [anon_sym_SLASH] = ACTIONS(742),
    [anon_sym_PERCENT] = ACTIONS(742),
    [sym_comment] = ACTIONS(256),
  },
  [190] = {
    [sym__element_reference_left_bracket] = ACTIONS(744),
    [sym__scope_double_colon] = ACTIONS(744),
    [sym__binary_minus] = ACTIONS(744),
    [sym__binary_star] = ACTIONS(744),
    [anon_sym_DOT] = ACTIONS(746),
    [anon_sym_COMMA] = ACTIONS(744),
    [anon_sym_PIPE] = ACTIONS(746),
    [anon_sym_STAR_STAR] = ACTIONS(746),
    [anon_sym_AMP] = ACTIONS(746),
    [anon_sym_EQ] = ACTIONS(746),
    [anon_sym_LT] = ACTIONS(746),
    [anon_sym_EQ_GT] = ACTIONS(744),
    [anon_sym_AMP_DOT] = ACTIONS(744),
    [anon_sym_PLUS_EQ] = ACTIONS(744),
    [anon_sym_DASH_EQ] = ACTIONS(744),
    [anon_sym_STAR_EQ] = ACTIONS(744),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(744),
    [anon_sym_SLASH_EQ] = ACTIONS(744),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(744),
    [anon_sym_PIPE_EQ] = ACTIONS(744),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(744),
    [anon_sym_AMP_EQ] = ACTIONS(744),
    [anon_sym_PERCENT_EQ] = ACTIONS(744),
    [anon_sym_GT_GT_EQ] = ACTIONS(744),
    [anon_sym_LT_LT_EQ] = ACTIONS(744),
    [anon_sym_CARET_EQ] = ACTIONS(744),
    [anon_sym_QMARK] = ACTIONS(744),
    [anon_sym_DOT_DOT] = ACTIONS(746),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(744),
    [anon_sym_and] = ACTIONS(744),
    [anon_sym_or] = ACTIONS(744),
    [anon_sym_PIPE_PIPE] = ACTIONS(746),
    [anon_sym_AMP_AMP] = ACTIONS(746),
    [anon_sym_LT_LT] = ACTIONS(746),
    [anon_sym_GT_GT] = ACTIONS(746),
    [anon_sym_EQ_EQ] = ACTIONS(746),
    [anon_sym_BANG_EQ] = ACTIONS(744),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(744),
    [anon_sym_LT_EQ_GT] = ACTIONS(744),
    [anon_sym_EQ_TILDE] = ACTIONS(744),
    [anon_sym_BANG_TILDE] = ACTIONS(744),
    [anon_sym_LT_EQ] = ACTIONS(746),
    [anon_sym_GT] = ACTIONS(746),
    [anon_sym_GT_EQ] = ACTIONS(744),
    [anon_sym_CARET] = ACTIONS(746),
    [anon_sym_PLUS] = ACTIONS(746),
    [anon_sym_SLASH] = ACTIONS(746),
    [anon_sym_PERCENT] = ACTIONS(746),
    [sym_comment] = ACTIONS(256),
  },
  [191] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(501),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(1031),
    [sym__argument] = STATE(506),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(509),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(510),
    [sym__variable] = STATE(504),
    [sym_reserved_identifier] = STATE(511),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(512),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(1032),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(804),
    [sym__splat_star] = ACTIONS(806),
    [sym__unary_minus] = ACTIONS(808),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(818),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(824),
    [anon_sym_yield] = ACTIONS(826),
    [anon_sym_break] = ACTIONS(828),
    [anon_sym_next] = ACTIONS(830),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_RBRACK] = ACTIONS(1666),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(852),
    [anon_sym_defined_QMARK] = ACTIONS(854),
    [anon_sym_not] = ACTIONS(856),
    [anon_sym_BANG] = ACTIONS(858),
    [anon_sym_TILDE] = ACTIONS(858),
    [sym_constant] = ACTIONS(860),
    [sym_identifier] = ACTIONS(860),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [192] = {
    [sym_lambda_parameters] = STATE(1035),
    [sym__simple_formal_parameter] = STATE(522),
    [sym_splat_parameter] = STATE(523),
    [sym_hash_splat_parameter] = STATE(523),
    [sym_block_parameter] = STATE(523),
    [sym_keyword_parameter] = STATE(523),
    [sym_optional_parameter] = STATE(523),
    [sym_do_block] = STATE(1036),
    [sym_block] = STATE(1036),
    [anon_sym_LBRACE] = ACTIONS(1668),
    [anon_sym_LPAREN] = ACTIONS(896),
    [anon_sym_STAR] = ACTIONS(898),
    [anon_sym_STAR_STAR] = ACTIONS(900),
    [anon_sym_AMP] = ACTIONS(902),
    [anon_sym_do] = ACTIONS(1670),
    [sym_identifier] = ACTIONS(906),
    [sym_comment] = ACTIONS(110),
  },
  [193] = {
    [sym__binary_minus] = ACTIONS(1672),
    [sym__binary_star] = ACTIONS(1674),
    [anon_sym_PIPE] = ACTIONS(1676),
    [anon_sym_STAR_STAR] = ACTIONS(1678),
    [anon_sym_AMP] = ACTIONS(1680),
    [anon_sym_LT] = ACTIONS(1682),
    [anon_sym_EQ_GT] = ACTIONS(1662),
    [anon_sym_QMARK] = ACTIONS(1684),
    [anon_sym_DOT_DOT] = ACTIONS(1686),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1688),
    [anon_sym_and] = ACTIONS(1690),
    [anon_sym_or] = ACTIONS(1690),
    [anon_sym_PIPE_PIPE] = ACTIONS(1692),
    [anon_sym_AMP_AMP] = ACTIONS(1692),
    [anon_sym_LT_LT] = ACTIONS(1694),
    [anon_sym_GT_GT] = ACTIONS(1694),
    [anon_sym_EQ_EQ] = ACTIONS(1696),
    [anon_sym_BANG_EQ] = ACTIONS(1692),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1692),
    [anon_sym_LT_EQ_GT] = ACTIONS(1692),
    [anon_sym_EQ_TILDE] = ACTIONS(1692),
    [anon_sym_BANG_TILDE] = ACTIONS(1692),
    [anon_sym_LT_EQ] = ACTIONS(1682),
    [anon_sym_GT] = ACTIONS(1682),
    [anon_sym_GT_EQ] = ACTIONS(1698),
    [anon_sym_CARET] = ACTIONS(1700),
    [anon_sym_PLUS] = ACTIONS(1702),
    [anon_sym_SLASH] = ACTIONS(1678),
    [anon_sym_PERCENT] = ACTIONS(1678),
    [sym_comment] = ACTIONS(110),
  },
  [194] = {
    [sym__element_reference_left_bracket] = ACTIONS(1704),
    [sym__scope_double_colon] = ACTIONS(1706),
    [sym__binary_minus] = ACTIONS(968),
    [sym__binary_star] = ACTIONS(968),
    [anon_sym_DOT] = ACTIONS(1708),
    [anon_sym_COMMA] = ACTIONS(968),
    [anon_sym_PIPE] = ACTIONS(976),
    [anon_sym_STAR_STAR] = ACTIONS(968),
    [anon_sym_AMP] = ACTIONS(976),
    [anon_sym_LT] = ACTIONS(976),
    [anon_sym_EQ_GT] = ACTIONS(968),
    [anon_sym_AMP_DOT] = ACTIONS(1710),
    [anon_sym_QMARK] = ACTIONS(968),
    [anon_sym_DOT_DOT] = ACTIONS(976),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(968),
    [anon_sym_and] = ACTIONS(968),
    [anon_sym_or] = ACTIONS(968),
    [anon_sym_PIPE_PIPE] = ACTIONS(968),
    [anon_sym_AMP_AMP] = ACTIONS(968),
    [anon_sym_LT_LT] = ACTIONS(968),
    [anon_sym_GT_GT] = ACTIONS(968),
    [anon_sym_EQ_EQ] = ACTIONS(976),
    [anon_sym_BANG_EQ] = ACTIONS(968),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(968),
    [anon_sym_LT_EQ_GT] = ACTIONS(968),
    [anon_sym_EQ_TILDE] = ACTIONS(968),
    [anon_sym_BANG_TILDE] = ACTIONS(968),
    [anon_sym_LT_EQ] = ACTIONS(976),
    [anon_sym_GT] = ACTIONS(976),
    [anon_sym_GT_EQ] = ACTIONS(968),
    [anon_sym_CARET] = ACTIONS(968),
    [anon_sym_PLUS] = ACTIONS(968),
    [anon_sym_SLASH] = ACTIONS(968),
    [anon_sym_PERCENT] = ACTIONS(968),
    [sym_comment] = ACTIONS(110),
  },
  [195] = {
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_EQ_GT] = ACTIONS(980),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(980),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(980),
    [anon_sym_or] = ACTIONS(980),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [sym_comment] = ACTIONS(256),
  },
  [196] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(1096),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1099),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(1101),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_do_block] = STATE(1103),
    [sym_block] = STATE(1103),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1105),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1106),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1107),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(1108),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(1734),
    [sym__splat_star] = ACTIONS(1736),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(1740),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(1742),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(1752),
    [anon_sym_yield] = ACTIONS(1754),
    [anon_sym_break] = ACTIONS(1756),
    [anon_sym_next] = ACTIONS(1758),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(1774),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(980),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(1780),
    [anon_sym_not] = ACTIONS(1782),
    [anon_sym_BANG] = ACTIONS(1784),
    [anon_sym_TILDE] = ACTIONS(1786),
    [sym_constant] = ACTIONS(1788),
    [sym_identifier] = ACTIONS(1788),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [197] = {
    [sym__simple_heredoc_body] = ACTIONS(1804),
    [sym__heredoc_body_beginning] = ACTIONS(1804),
    [anon_sym_RBRACE] = ACTIONS(1804),
    [anon_sym_COMMA] = ACTIONS(1804),
    [sym_comment] = ACTIONS(110),
  },
  [198] = {
    [sym__binary_minus] = ACTIONS(968),
    [sym__binary_star] = ACTIONS(968),
    [anon_sym_LBRACE] = ACTIONS(968),
    [anon_sym_RPAREN] = ACTIONS(968),
    [anon_sym_COMMA] = ACTIONS(968),
    [anon_sym_PIPE] = ACTIONS(976),
    [anon_sym_SEMI] = ACTIONS(968),
    [anon_sym_STAR_STAR] = ACTIONS(968),
    [anon_sym_AMP] = ACTIONS(976),
    [anon_sym_LT] = ACTIONS(976),
    [anon_sym_do] = ACTIONS(968),
    [anon_sym_EQ_GT] = ACTIONS(968),
    [anon_sym_QMARK] = ACTIONS(968),
    [anon_sym_COLON] = ACTIONS(968),
    [anon_sym_DOT_DOT] = ACTIONS(976),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(968),
    [anon_sym_and] = ACTIONS(968),
    [anon_sym_or] = ACTIONS(968),
    [anon_sym_PIPE_PIPE] = ACTIONS(968),
    [anon_sym_AMP_AMP] = ACTIONS(968),
    [anon_sym_LT_LT] = ACTIONS(968),
    [anon_sym_GT_GT] = ACTIONS(968),
    [anon_sym_EQ_EQ] = ACTIONS(976),
    [anon_sym_BANG_EQ] = ACTIONS(968),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(968),
    [anon_sym_LT_EQ_GT] = ACTIONS(968),
    [anon_sym_EQ_TILDE] = ACTIONS(968),
    [anon_sym_BANG_TILDE] = ACTIONS(968),
    [anon_sym_LT_EQ] = ACTIONS(976),
    [anon_sym_GT] = ACTIONS(976),
    [anon_sym_GT_EQ] = ACTIONS(968),
    [anon_sym_CARET] = ACTIONS(968),
    [anon_sym_PLUS] = ACTIONS(968),
    [anon_sym_SLASH] = ACTIONS(968),
    [anon_sym_PERCENT] = ACTIONS(968),
    [sym_comment] = ACTIONS(110),
  },
  [199] = {
    [anon_sym_EQ] = ACTIONS(1806),
    [sym_comment] = ACTIONS(256),
  },
  [200] = {
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(1076),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(1808),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(1810),
    [anon_sym_DASH_EQ] = ACTIONS(1810),
    [anon_sym_STAR_EQ] = ACTIONS(1810),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1810),
    [anon_sym_SLASH_EQ] = ACTIONS(1810),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1810),
    [anon_sym_PIPE_EQ] = ACTIONS(1810),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1810),
    [anon_sym_AMP_EQ] = ACTIONS(1810),
    [anon_sym_PERCENT_EQ] = ACTIONS(1810),
    [anon_sym_GT_GT_EQ] = ACTIONS(1810),
    [anon_sym_LT_LT_EQ] = ACTIONS(1810),
    [anon_sym_CARET_EQ] = ACTIONS(1810),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [201] = {
    [sym__keyword_colon] = ACTIONS(1812),
    [sym_comment] = ACTIONS(110),
  },
  [202] = {
    [sym_string] = STATE(1112),
    [aux_sym_chained_string_repeat1] = STATE(1113),
    [sym__simple_string] = ACTIONS(1504),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(1662),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(1548),
  },
  [203] = {
    [anon_sym_RBRACE] = ACTIONS(1814),
    [sym_comment] = ACTIONS(110),
  },
  [204] = {
    [sym_heredoc_end] = STATE(1115),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RBRACE] = ACTIONS(1814),
    [sym_comment] = ACTIONS(110),
  },
  [205] = {
    [sym__simple_heredoc_body] = ACTIONS(1816),
    [sym__heredoc_body_beginning] = ACTIONS(1816),
    [anon_sym_RBRACE] = ACTIONS(1816),
    [anon_sym_COMMA] = ACTIONS(1818),
    [sym_comment] = ACTIONS(110),
  },
  [206] = {
    [sym__statements] = STATE(1118),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(841),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(1820),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [207] = {
    [sym__simple_heredoc_body] = ACTIONS(130),
    [sym__heredoc_body_beginning] = ACTIONS(130),
    [sym__line_break] = ACTIONS(130),
    [anon_sym_LPAREN] = ACTIONS(130),
    [anon_sym_SEMI] = ACTIONS(130),
    [anon_sym_STAR] = ACTIONS(132),
    [anon_sym_STAR_STAR] = ACTIONS(130),
    [anon_sym_AMP] = ACTIONS(130),
    [sym_identifier] = ACTIONS(132),
    [sym_comment] = ACTIONS(110),
  },
  [208] = {
    [sym__statement] = STATE(1119),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(1120),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [209] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(1136),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(1139),
    [sym_call] = STATE(1139),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(1140),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1141),
    [sym__variable] = STATE(1139),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(1822),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_yield] = ACTIONS(1828),
    [anon_sym_break] = ACTIONS(1830),
    [anon_sym_next] = ACTIONS(1832),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(1834),
    [anon_sym_defined_QMARK] = ACTIONS(1836),
    [anon_sym_not] = ACTIONS(1838),
    [anon_sym_BANG] = ACTIONS(1840),
    [anon_sym_TILDE] = ACTIONS(1840),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [210] = {
    [sym__simple_heredoc_body] = ACTIONS(1856),
    [sym__heredoc_body_beginning] = ACTIONS(1856),
    [sym__line_break] = ACTIONS(1856),
    [anon_sym_LPAREN] = ACTIONS(1856),
    [anon_sym_SEMI] = ACTIONS(1856),
    [anon_sym_STAR] = ACTIONS(1858),
    [anon_sym_STAR_STAR] = ACTIONS(1856),
    [anon_sym_AMP] = ACTIONS(1856),
    [sym_identifier] = ACTIONS(1858),
    [sym_comment] = ACTIONS(110),
  },
  [211] = {
    [sym__simple_heredoc_body] = ACTIONS(1860),
    [sym__heredoc_body_beginning] = ACTIONS(1860),
    [sym__line_break] = ACTIONS(1860),
    [anon_sym_LPAREN] = ACTIONS(1860),
    [anon_sym_DOT] = ACTIONS(722),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_SEMI] = ACTIONS(1860),
    [anon_sym_STAR] = ACTIONS(1862),
    [anon_sym_STAR_STAR] = ACTIONS(1860),
    [anon_sym_AMP] = ACTIONS(1860),
    [sym_identifier] = ACTIONS(1862),
    [sym_comment] = ACTIONS(110),
  },
  [212] = {
    [sym__simple_heredoc_body] = ACTIONS(1860),
    [sym__heredoc_body_beginning] = ACTIONS(1860),
    [sym__line_break] = ACTIONS(1860),
    [anon_sym_LPAREN] = ACTIONS(1860),
    [anon_sym_DOT] = ACTIONS(722),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_SEMI] = ACTIONS(1860),
    [anon_sym_STAR] = ACTIONS(1862),
    [anon_sym_STAR_STAR] = ACTIONS(1860),
    [anon_sym_AMP] = ACTIONS(1860),
    [anon_sym_EQ] = ACTIONS(1864),
    [sym_identifier] = ACTIONS(1862),
    [sym_comment] = ACTIONS(256),
  },
  [213] = {
    [anon_sym_DOT] = ACTIONS(748),
    [anon_sym_COLON_COLON] = ACTIONS(748),
    [sym_comment] = ACTIONS(110),
  },
  [214] = {
    [anon_sym_DOT] = ACTIONS(754),
    [anon_sym_COLON_COLON] = ACTIONS(754),
    [sym_comment] = ACTIONS(110),
  },
  [215] = {
    [sym__simple_heredoc_body] = ACTIONS(1866),
    [sym__heredoc_body_beginning] = ACTIONS(1866),
    [sym__line_break] = ACTIONS(1866),
    [sym__element_reference_left_bracket] = ACTIONS(1866),
    [sym__scope_double_colon] = ACTIONS(1866),
    [sym__binary_minus] = ACTIONS(1866),
    [sym__binary_star] = ACTIONS(1866),
    [ts_builtin_sym_end] = ACTIONS(1866),
    [anon_sym___END__] = ACTIONS(1866),
    [anon_sym_LBRACE] = ACTIONS(1866),
    [anon_sym_RBRACE] = ACTIONS(1866),
    [anon_sym_RPAREN] = ACTIONS(1866),
    [anon_sym_DOT] = ACTIONS(1868),
    [anon_sym_end] = ACTIONS(1866),
    [anon_sym_COMMA] = ACTIONS(1866),
    [anon_sym_PIPE] = ACTIONS(1868),
    [anon_sym_SEMI] = ACTIONS(1866),
    [anon_sym_STAR_STAR] = ACTIONS(1866),
    [anon_sym_AMP] = ACTIONS(1868),
    [anon_sym_LT] = ACTIONS(1868),
    [anon_sym_if] = ACTIONS(1866),
    [anon_sym_unless] = ACTIONS(1866),
    [anon_sym_while] = ACTIONS(1866),
    [anon_sym_until] = ACTIONS(1866),
    [anon_sym_rescue] = ACTIONS(1866),
    [anon_sym_do] = ACTIONS(1866),
    [anon_sym_when] = ACTIONS(1866),
    [anon_sym_elsif] = ACTIONS(1866),
    [anon_sym_else] = ACTIONS(1866),
    [anon_sym_then] = ACTIONS(1866),
    [anon_sym_ensure] = ACTIONS(1866),
    [anon_sym_EQ_GT] = ACTIONS(1866),
    [anon_sym_AMP_DOT] = ACTIONS(1866),
    [anon_sym_QMARK] = ACTIONS(1866),
    [anon_sym_DOT_DOT] = ACTIONS(1868),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1866),
    [anon_sym_and] = ACTIONS(1866),
    [anon_sym_or] = ACTIONS(1866),
    [anon_sym_PIPE_PIPE] = ACTIONS(1866),
    [anon_sym_AMP_AMP] = ACTIONS(1866),
    [anon_sym_LT_LT] = ACTIONS(1866),
    [anon_sym_GT_GT] = ACTIONS(1866),
    [anon_sym_EQ_EQ] = ACTIONS(1868),
    [anon_sym_BANG_EQ] = ACTIONS(1866),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1866),
    [anon_sym_LT_EQ_GT] = ACTIONS(1866),
    [anon_sym_EQ_TILDE] = ACTIONS(1866),
    [anon_sym_BANG_TILDE] = ACTIONS(1866),
    [anon_sym_LT_EQ] = ACTIONS(1868),
    [anon_sym_GT] = ACTIONS(1868),
    [anon_sym_GT_EQ] = ACTIONS(1866),
    [anon_sym_CARET] = ACTIONS(1866),
    [anon_sym_PLUS] = ACTIONS(1866),
    [anon_sym_SLASH] = ACTIONS(1866),
    [anon_sym_PERCENT] = ACTIONS(1866),
    [sym_comment] = ACTIONS(110),
  },
  [216] = {
    [anon_sym_DOT] = ACTIONS(1870),
    [anon_sym_COLON_COLON] = ACTIONS(1870),
    [sym_comment] = ACTIONS(110),
  },
  [217] = {
    [sym__simple_heredoc_body] = ACTIONS(1860),
    [sym__heredoc_body_beginning] = ACTIONS(1860),
    [sym__line_break] = ACTIONS(1860),
    [anon_sym_LPAREN] = ACTIONS(1860),
    [anon_sym_SEMI] = ACTIONS(1860),
    [anon_sym_STAR] = ACTIONS(1862),
    [anon_sym_STAR_STAR] = ACTIONS(1860),
    [anon_sym_AMP] = ACTIONS(1860),
    [sym_identifier] = ACTIONS(1862),
    [sym_comment] = ACTIONS(110),
  },
  [218] = {
    [sym_method_parameters] = STATE(1149),
    [sym__simple_formal_parameter] = STATE(1150),
    [sym_splat_parameter] = STATE(1151),
    [sym_hash_splat_parameter] = STATE(1151),
    [sym_block_parameter] = STATE(1151),
    [sym_keyword_parameter] = STATE(1151),
    [sym_optional_parameter] = STATE(1151),
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(1149),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym__line_break] = ACTIONS(692),
    [anon_sym_LPAREN] = ACTIONS(1872),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(1874),
    [anon_sym_STAR_STAR] = ACTIONS(1876),
    [anon_sym_AMP] = ACTIONS(1878),
    [sym_identifier] = ACTIONS(1880),
    [sym_comment] = ACTIONS(110),
  },
  [219] = {
    [anon_sym_DOT] = ACTIONS(722),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [sym_comment] = ACTIONS(110),
  },
  [220] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1152),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(240),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(243),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(396),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(412),
    [anon_sym_defined_QMARK] = ACTIONS(414),
    [anon_sym_not] = ACTIONS(416),
    [anon_sym_BANG] = ACTIONS(418),
    [anon_sym_TILDE] = ACTIONS(418),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [221] = {
    [sym__simple_heredoc_body] = ACTIONS(1882),
    [sym__heredoc_body_beginning] = ACTIONS(1882),
    [sym__line_break] = ACTIONS(1882),
    [sym__element_reference_left_bracket] = ACTIONS(1882),
    [sym__scope_double_colon] = ACTIONS(1882),
    [sym__binary_minus] = ACTIONS(1882),
    [sym__binary_star] = ACTIONS(1882),
    [ts_builtin_sym_end] = ACTIONS(1882),
    [anon_sym___END__] = ACTIONS(1882),
    [anon_sym_LBRACE] = ACTIONS(1882),
    [anon_sym_RBRACE] = ACTIONS(1882),
    [anon_sym_RPAREN] = ACTIONS(1882),
    [anon_sym_DOT] = ACTIONS(1884),
    [anon_sym_end] = ACTIONS(1882),
    [anon_sym_COMMA] = ACTIONS(1882),
    [anon_sym_PIPE] = ACTIONS(1884),
    [anon_sym_SEMI] = ACTIONS(1882),
    [anon_sym_STAR_STAR] = ACTIONS(1882),
    [anon_sym_AMP] = ACTIONS(1884),
    [anon_sym_LT] = ACTIONS(1884),
    [anon_sym_if] = ACTIONS(1882),
    [anon_sym_unless] = ACTIONS(1882),
    [anon_sym_while] = ACTIONS(1882),
    [anon_sym_until] = ACTIONS(1882),
    [anon_sym_rescue] = ACTIONS(1882),
    [anon_sym_do] = ACTIONS(1882),
    [anon_sym_when] = ACTIONS(1882),
    [anon_sym_elsif] = ACTIONS(1882),
    [anon_sym_else] = ACTIONS(1882),
    [anon_sym_then] = ACTIONS(1882),
    [anon_sym_ensure] = ACTIONS(1882),
    [anon_sym_EQ_GT] = ACTIONS(1882),
    [anon_sym_AMP_DOT] = ACTIONS(1882),
    [anon_sym_QMARK] = ACTIONS(1882),
    [anon_sym_DOT_DOT] = ACTIONS(1884),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1882),
    [anon_sym_and] = ACTIONS(1882),
    [anon_sym_or] = ACTIONS(1882),
    [anon_sym_PIPE_PIPE] = ACTIONS(1882),
    [anon_sym_AMP_AMP] = ACTIONS(1882),
    [anon_sym_LT_LT] = ACTIONS(1882),
    [anon_sym_GT_GT] = ACTIONS(1882),
    [anon_sym_EQ_EQ] = ACTIONS(1884),
    [anon_sym_BANG_EQ] = ACTIONS(1882),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1882),
    [anon_sym_LT_EQ_GT] = ACTIONS(1882),
    [anon_sym_EQ_TILDE] = ACTIONS(1882),
    [anon_sym_BANG_TILDE] = ACTIONS(1882),
    [anon_sym_LT_EQ] = ACTIONS(1884),
    [anon_sym_GT] = ACTIONS(1884),
    [anon_sym_GT_EQ] = ACTIONS(1882),
    [anon_sym_CARET] = ACTIONS(1882),
    [anon_sym_PLUS] = ACTIONS(1882),
    [anon_sym_SLASH] = ACTIONS(1882),
    [anon_sym_PERCENT] = ACTIONS(1882),
    [sym_comment] = ACTIONS(110),
  },
  [222] = {
    [sym_constant] = ACTIONS(1886),
    [sym_identifier] = ACTIONS(1886),
    [sym_comment] = ACTIONS(110),
  },
  [223] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(285),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(1154),
    [sym_call] = STATE(1154),
    [sym_method_call] = STATE(286),
    [sym__lhs] = STATE(288),
    [sym__variable] = STATE(1154),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(458),
    [anon_sym_RPAREN] = ACTIONS(462),
    [anon_sym_COLON_COLON] = ACTIONS(460),
    [anon_sym_COMMA] = ACTIONS(462),
    [anon_sym_EQ] = ACTIONS(462),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(494),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [224] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1172),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1174),
    [sym_call] = STATE(1174),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(340),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(1175),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1176),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(1174),
    [sym_reserved_identifier] = STATE(1178),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(1179),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(1888),
    [sym__splat_star] = ACTIONS(1890),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(1892),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_RPAREN] = ACTIONS(532),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(1896),
    [anon_sym_yield] = ACTIONS(1898),
    [anon_sym_break] = ACTIONS(1900),
    [anon_sym_next] = ACTIONS(1902),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(1904),
    [anon_sym_not] = ACTIONS(1906),
    [anon_sym_BANG] = ACTIONS(1908),
    [anon_sym_TILDE] = ACTIONS(1910),
    [sym_constant] = ACTIONS(1912),
    [sym_identifier] = ACTIONS(1912),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [225] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1172),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1174),
    [sym_call] = STATE(1174),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(349),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(1175),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1176),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(1174),
    [sym_reserved_identifier] = STATE(1178),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(1179),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(1888),
    [sym__splat_star] = ACTIONS(1890),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(1892),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_RPAREN] = ACTIONS(602),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(1896),
    [anon_sym_yield] = ACTIONS(1898),
    [anon_sym_break] = ACTIONS(1900),
    [anon_sym_next] = ACTIONS(1902),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(1904),
    [anon_sym_not] = ACTIONS(1906),
    [anon_sym_BANG] = ACTIONS(1908),
    [anon_sym_TILDE] = ACTIONS(1910),
    [sym_constant] = ACTIONS(1912),
    [sym_identifier] = ACTIONS(1912),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [226] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1172),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1174),
    [sym_call] = STATE(1174),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(350),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(1175),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1176),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(1174),
    [sym_reserved_identifier] = STATE(1178),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(1179),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(1888),
    [sym__splat_star] = ACTIONS(1890),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(1892),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_RPAREN] = ACTIONS(606),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(1896),
    [anon_sym_yield] = ACTIONS(1898),
    [anon_sym_break] = ACTIONS(1900),
    [anon_sym_next] = ACTIONS(1902),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(1904),
    [anon_sym_not] = ACTIONS(1906),
    [anon_sym_BANG] = ACTIONS(1908),
    [anon_sym_TILDE] = ACTIONS(1910),
    [sym_constant] = ACTIONS(1912),
    [sym_identifier] = ACTIONS(1912),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [227] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1172),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1174),
    [sym_call] = STATE(1174),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(351),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(1175),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1176),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(1174),
    [sym_reserved_identifier] = STATE(1178),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(1179),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(1888),
    [sym__splat_star] = ACTIONS(1890),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(1892),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_RPAREN] = ACTIONS(610),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(1896),
    [anon_sym_yield] = ACTIONS(1898),
    [anon_sym_break] = ACTIONS(1900),
    [anon_sym_next] = ACTIONS(1902),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(1904),
    [anon_sym_not] = ACTIONS(1906),
    [anon_sym_BANG] = ACTIONS(1908),
    [anon_sym_TILDE] = ACTIONS(1910),
    [sym_constant] = ACTIONS(1912),
    [sym_identifier] = ACTIONS(1912),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [228] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1180),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(240),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(243),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(396),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(412),
    [anon_sym_defined_QMARK] = ACTIONS(414),
    [anon_sym_not] = ACTIONS(416),
    [anon_sym_BANG] = ACTIONS(418),
    [anon_sym_TILDE] = ACTIONS(418),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [229] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1181),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(240),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(243),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(396),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(412),
    [anon_sym_defined_QMARK] = ACTIONS(414),
    [anon_sym_not] = ACTIONS(416),
    [anon_sym_BANG] = ACTIONS(418),
    [anon_sym_TILDE] = ACTIONS(418),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [230] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(434),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(240),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(243),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(396),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(412),
    [anon_sym_defined_QMARK] = ACTIONS(414),
    [anon_sym_not] = ACTIONS(416),
    [anon_sym_BANG] = ACTIONS(418),
    [anon_sym_TILDE] = ACTIONS(418),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [231] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_RBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_RPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [232] = {
    [sym__simple_string] = ACTIONS(748),
    [sym__simple_symbol] = ACTIONS(748),
    [sym__simple_subshell] = ACTIONS(748),
    [sym__simple_regex] = ACTIONS(748),
    [sym__simple_word_list] = ACTIONS(748),
    [sym__simple_heredoc_body] = ACTIONS(748),
    [sym__string_beginning] = ACTIONS(748),
    [sym__symbol_beginning] = ACTIONS(748),
    [sym__subshell_beginning] = ACTIONS(748),
    [sym__regex_beginning] = ACTIONS(748),
    [sym__word_list_beginning] = ACTIONS(748),
    [sym__heredoc_body_beginning] = ACTIONS(748),
    [sym_heredoc_beginning] = ACTIONS(748),
    [sym__line_break] = ACTIONS(748),
    [sym__element_reference_left_bracket] = ACTIONS(748),
    [sym__block_ampersand] = ACTIONS(748),
    [sym__splat_star] = ACTIONS(748),
    [sym__argument_list_left_paren] = ACTIONS(748),
    [sym__scope_double_colon] = ACTIONS(748),
    [sym__unary_minus] = ACTIONS(748),
    [sym__binary_minus] = ACTIONS(748),
    [sym__binary_star] = ACTIONS(748),
    [anon_sym_LBRACE] = ACTIONS(748),
    [anon_sym_RBRACE] = ACTIONS(748),
    [anon_sym_def] = ACTIONS(750),
    [anon_sym_LPAREN] = ACTIONS(748),
    [anon_sym_RPAREN] = ACTIONS(748),
    [anon_sym_DOT] = ACTIONS(750),
    [anon_sym_COLON_COLON] = ACTIONS(748),
    [anon_sym_end] = ACTIONS(750),
    [anon_sym_COMMA] = ACTIONS(748),
    [anon_sym_PIPE] = ACTIONS(750),
    [anon_sym_SEMI] = ACTIONS(748),
    [anon_sym_STAR] = ACTIONS(750),
    [anon_sym_STAR_STAR] = ACTIONS(750),
    [anon_sym_AMP] = ACTIONS(750),
    [anon_sym_EQ] = ACTIONS(750),
    [anon_sym_class] = ACTIONS(750),
    [anon_sym_LT] = ACTIONS(750),
    [anon_sym_module] = ACTIONS(750),
    [anon_sym_return] = ACTIONS(750),
    [anon_sym_yield] = ACTIONS(750),
    [anon_sym_break] = ACTIONS(750),
    [anon_sym_next] = ACTIONS(750),
    [anon_sym_redo] = ACTIONS(750),
    [anon_sym_retry] = ACTIONS(750),
    [anon_sym_if] = ACTIONS(750),
    [anon_sym_unless] = ACTIONS(750),
    [anon_sym_while] = ACTIONS(750),
    [anon_sym_until] = ACTIONS(750),
    [anon_sym_rescue] = ACTIONS(750),
    [anon_sym_for] = ACTIONS(750),
    [anon_sym_in] = ACTIONS(750),
    [anon_sym_do] = ACTIONS(750),
    [anon_sym_case] = ACTIONS(750),
    [anon_sym_when] = ACTIONS(750),
    [anon_sym_elsif] = ACTIONS(750),
    [anon_sym_else] = ACTIONS(750),
    [anon_sym_then] = ACTIONS(750),
    [anon_sym_begin] = ACTIONS(750),
    [anon_sym_ensure] = ACTIONS(750),
    [anon_sym_AMP_DOT] = ACTIONS(748),
    [anon_sym_PLUS_EQ] = ACTIONS(748),
    [anon_sym_DASH_EQ] = ACTIONS(748),
    [anon_sym_STAR_EQ] = ACTIONS(748),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(748),
    [anon_sym_SLASH_EQ] = ACTIONS(748),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(748),
    [anon_sym_PIPE_EQ] = ACTIONS(748),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(748),
    [anon_sym_AMP_EQ] = ACTIONS(748),
    [anon_sym_PERCENT_EQ] = ACTIONS(748),
    [anon_sym_GT_GT_EQ] = ACTIONS(748),
    [anon_sym_LT_LT_EQ] = ACTIONS(748),
    [anon_sym_CARET_EQ] = ACTIONS(748),
    [anon_sym_QMARK] = ACTIONS(750),
    [anon_sym_DOT_DOT] = ACTIONS(750),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(748),
    [anon_sym_and] = ACTIONS(750),
    [anon_sym_or] = ACTIONS(750),
    [anon_sym_PIPE_PIPE] = ACTIONS(750),
    [anon_sym_AMP_AMP] = ACTIONS(750),
    [anon_sym_LT_LT] = ACTIONS(750),
    [anon_sym_GT_GT] = ACTIONS(750),
    [anon_sym_EQ_EQ] = ACTIONS(750),
    [anon_sym_BANG_EQ] = ACTIONS(748),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(748),
    [anon_sym_LT_EQ_GT] = ACTIONS(748),
    [anon_sym_EQ_TILDE] = ACTIONS(748),
    [anon_sym_BANG_TILDE] = ACTIONS(748),
    [anon_sym_LT_EQ] = ACTIONS(750),
    [anon_sym_GT] = ACTIONS(750),
    [anon_sym_GT_EQ] = ACTIONS(748),
    [anon_sym_CARET] = ACTIONS(750),
    [anon_sym_PLUS] = ACTIONS(750),
    [anon_sym_SLASH] = ACTIONS(750),
    [anon_sym_PERCENT] = ACTIONS(750),
    [anon_sym_defined_QMARK] = ACTIONS(748),
    [anon_sym_not] = ACTIONS(750),
    [anon_sym_BANG] = ACTIONS(750),
    [anon_sym_TILDE] = ACTIONS(748),
    [sym_constant] = ACTIONS(752),
    [sym_identifier] = ACTIONS(752),
    [sym_instance_variable] = ACTIONS(750),
    [sym_class_variable] = ACTIONS(750),
    [sym_global_variable] = ACTIONS(750),
    [anon_sym_alias] = ACTIONS(750),
    [anon_sym_defined] = ACTIONS(750),
    [anon_sym_false] = ACTIONS(750),
    [anon_sym_nil] = ACTIONS(750),
    [anon_sym_self] = ACTIONS(750),
    [anon_sym_super] = ACTIONS(750),
    [anon_sym_true] = ACTIONS(750),
    [anon_sym_undef] = ACTIONS(750),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(750),
    [sym_float] = ACTIONS(752),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(748),
    [anon_sym_TRUE] = ACTIONS(750),
    [anon_sym_FALSE] = ACTIONS(750),
    [anon_sym_NIL] = ACTIONS(750),
    [sym_keyword__FILE__] = ACTIONS(750),
    [sym_keyword__LINE__] = ACTIONS(750),
    [sym_keyword__ENCODING__] = ACTIONS(750),
    [sym__character_literal] = ACTIONS(750),
    [anon_sym_LBRACK] = ACTIONS(748),
    [anon_sym_DASH_GT] = ACTIONS(748),
  },
  [233] = {
    [sym__simple_string] = ACTIONS(754),
    [sym__simple_symbol] = ACTIONS(754),
    [sym__simple_subshell] = ACTIONS(754),
    [sym__simple_regex] = ACTIONS(754),
    [sym__simple_word_list] = ACTIONS(754),
    [sym__simple_heredoc_body] = ACTIONS(754),
    [sym__string_beginning] = ACTIONS(754),
    [sym__symbol_beginning] = ACTIONS(754),
    [sym__subshell_beginning] = ACTIONS(754),
    [sym__regex_beginning] = ACTIONS(754),
    [sym__word_list_beginning] = ACTIONS(754),
    [sym__heredoc_body_beginning] = ACTIONS(754),
    [sym_heredoc_beginning] = ACTIONS(754),
    [sym__line_break] = ACTIONS(754),
    [sym__element_reference_left_bracket] = ACTIONS(754),
    [sym__block_ampersand] = ACTIONS(754),
    [sym__splat_star] = ACTIONS(754),
    [sym__argument_list_left_paren] = ACTIONS(754),
    [sym__scope_double_colon] = ACTIONS(754),
    [sym__unary_minus] = ACTIONS(754),
    [sym__binary_minus] = ACTIONS(754),
    [sym__binary_star] = ACTIONS(754),
    [anon_sym_LBRACE] = ACTIONS(754),
    [anon_sym_RBRACE] = ACTIONS(754),
    [anon_sym_def] = ACTIONS(756),
    [anon_sym_LPAREN] = ACTIONS(754),
    [anon_sym_RPAREN] = ACTIONS(754),
    [anon_sym_DOT] = ACTIONS(756),
    [anon_sym_COLON_COLON] = ACTIONS(754),
    [anon_sym_end] = ACTIONS(756),
    [anon_sym_COMMA] = ACTIONS(754),
    [anon_sym_PIPE] = ACTIONS(756),
    [anon_sym_SEMI] = ACTIONS(754),
    [anon_sym_STAR] = ACTIONS(756),
    [anon_sym_STAR_STAR] = ACTIONS(756),
    [anon_sym_AMP] = ACTIONS(756),
    [anon_sym_EQ] = ACTIONS(756),
    [anon_sym_class] = ACTIONS(756),
    [anon_sym_LT] = ACTIONS(756),
    [anon_sym_module] = ACTIONS(756),
    [anon_sym_return] = ACTIONS(756),
    [anon_sym_yield] = ACTIONS(756),
    [anon_sym_break] = ACTIONS(756),
    [anon_sym_next] = ACTIONS(756),
    [anon_sym_redo] = ACTIONS(756),
    [anon_sym_retry] = ACTIONS(756),
    [anon_sym_if] = ACTIONS(756),
    [anon_sym_unless] = ACTIONS(756),
    [anon_sym_while] = ACTIONS(756),
    [anon_sym_until] = ACTIONS(756),
    [anon_sym_rescue] = ACTIONS(756),
    [anon_sym_for] = ACTIONS(756),
    [anon_sym_in] = ACTIONS(756),
    [anon_sym_do] = ACTIONS(756),
    [anon_sym_case] = ACTIONS(756),
    [anon_sym_when] = ACTIONS(756),
    [anon_sym_elsif] = ACTIONS(756),
    [anon_sym_else] = ACTIONS(756),
    [anon_sym_then] = ACTIONS(756),
    [anon_sym_begin] = ACTIONS(756),
    [anon_sym_ensure] = ACTIONS(756),
    [anon_sym_AMP_DOT] = ACTIONS(754),
    [anon_sym_PLUS_EQ] = ACTIONS(754),
    [anon_sym_DASH_EQ] = ACTIONS(754),
    [anon_sym_STAR_EQ] = ACTIONS(754),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(754),
    [anon_sym_SLASH_EQ] = ACTIONS(754),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(754),
    [anon_sym_PIPE_EQ] = ACTIONS(754),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(754),
    [anon_sym_AMP_EQ] = ACTIONS(754),
    [anon_sym_PERCENT_EQ] = ACTIONS(754),
    [anon_sym_GT_GT_EQ] = ACTIONS(754),
    [anon_sym_LT_LT_EQ] = ACTIONS(754),
    [anon_sym_CARET_EQ] = ACTIONS(754),
    [anon_sym_QMARK] = ACTIONS(756),
    [anon_sym_DOT_DOT] = ACTIONS(756),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(754),
    [anon_sym_and] = ACTIONS(756),
    [anon_sym_or] = ACTIONS(756),
    [anon_sym_PIPE_PIPE] = ACTIONS(756),
    [anon_sym_AMP_AMP] = ACTIONS(756),
    [anon_sym_LT_LT] = ACTIONS(756),
    [anon_sym_GT_GT] = ACTIONS(756),
    [anon_sym_EQ_EQ] = ACTIONS(756),
    [anon_sym_BANG_EQ] = ACTIONS(754),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(754),
    [anon_sym_LT_EQ_GT] = ACTIONS(754),
    [anon_sym_EQ_TILDE] = ACTIONS(754),
    [anon_sym_BANG_TILDE] = ACTIONS(754),
    [anon_sym_LT_EQ] = ACTIONS(756),
    [anon_sym_GT] = ACTIONS(756),
    [anon_sym_GT_EQ] = ACTIONS(754),
    [anon_sym_CARET] = ACTIONS(756),
    [anon_sym_PLUS] = ACTIONS(756),
    [anon_sym_SLASH] = ACTIONS(756),
    [anon_sym_PERCENT] = ACTIONS(756),
    [anon_sym_defined_QMARK] = ACTIONS(754),
    [anon_sym_not] = ACTIONS(756),
    [anon_sym_BANG] = ACTIONS(756),
    [anon_sym_TILDE] = ACTIONS(754),
    [sym_constant] = ACTIONS(758),
    [sym_identifier] = ACTIONS(758),
    [sym_instance_variable] = ACTIONS(756),
    [sym_class_variable] = ACTIONS(756),
    [sym_global_variable] = ACTIONS(756),
    [anon_sym_alias] = ACTIONS(756),
    [anon_sym_defined] = ACTIONS(756),
    [anon_sym_false] = ACTIONS(756),
    [anon_sym_nil] = ACTIONS(756),
    [anon_sym_self] = ACTIONS(756),
    [anon_sym_super] = ACTIONS(756),
    [anon_sym_true] = ACTIONS(756),
    [anon_sym_undef] = ACTIONS(756),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(756),
    [sym_float] = ACTIONS(758),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(754),
    [anon_sym_TRUE] = ACTIONS(756),
    [anon_sym_FALSE] = ACTIONS(756),
    [anon_sym_NIL] = ACTIONS(756),
    [sym_keyword__FILE__] = ACTIONS(756),
    [sym_keyword__LINE__] = ACTIONS(756),
    [sym_keyword__ENCODING__] = ACTIONS(756),
    [sym__character_literal] = ACTIONS(756),
    [anon_sym_LBRACK] = ACTIONS(754),
    [anon_sym_DASH_GT] = ACTIONS(754),
  },
  [234] = {
    [anon_sym_RPAREN] = ACTIONS(1920),
    [sym_comment] = ACTIONS(110),
  },
  [235] = {
    [sym_heredoc_end] = STATE(1185),
    [sym__terminator] = STATE(1186),
    [aux_sym__statements_repeat1] = STATE(1187),
    [sym__simple_heredoc_body] = ACTIONS(1922),
    [sym__heredoc_body_beginning] = ACTIONS(1924),
    [sym__line_break] = ACTIONS(1926),
    [anon_sym_RPAREN] = ACTIONS(920),
    [anon_sym_SEMI] = ACTIONS(1926),
    [sym_comment] = ACTIONS(110),
  },
  [236] = {
    [sym__simple_heredoc_body] = ACTIONS(922),
    [sym__heredoc_body_beginning] = ACTIONS(922),
    [sym__line_break] = ACTIONS(922),
    [anon_sym_RPAREN] = ACTIONS(922),
    [anon_sym_SEMI] = ACTIONS(922),
    [anon_sym_if] = ACTIONS(1928),
    [anon_sym_unless] = ACTIONS(1930),
    [anon_sym_while] = ACTIONS(1932),
    [anon_sym_until] = ACTIONS(1934),
    [anon_sym_rescue] = ACTIONS(1936),
    [sym_comment] = ACTIONS(110),
  },
  [237] = {
    [sym__simple_heredoc_body] = ACTIONS(934),
    [sym__heredoc_body_beginning] = ACTIONS(934),
    [sym__line_break] = ACTIONS(934),
    [sym__binary_minus] = ACTIONS(1938),
    [sym__binary_star] = ACTIONS(1940),
    [anon_sym_RPAREN] = ACTIONS(934),
    [anon_sym_PIPE] = ACTIONS(1942),
    [anon_sym_SEMI] = ACTIONS(934),
    [anon_sym_STAR_STAR] = ACTIONS(1944),
    [anon_sym_AMP] = ACTIONS(1946),
    [anon_sym_LT] = ACTIONS(1948),
    [anon_sym_if] = ACTIONS(934),
    [anon_sym_unless] = ACTIONS(934),
    [anon_sym_while] = ACTIONS(934),
    [anon_sym_until] = ACTIONS(934),
    [anon_sym_rescue] = ACTIONS(934),
    [anon_sym_QMARK] = ACTIONS(1950),
    [anon_sym_DOT_DOT] = ACTIONS(1952),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1954),
    [anon_sym_and] = ACTIONS(1956),
    [anon_sym_or] = ACTIONS(1956),
    [anon_sym_PIPE_PIPE] = ACTIONS(1958),
    [anon_sym_AMP_AMP] = ACTIONS(1958),
    [anon_sym_LT_LT] = ACTIONS(1960),
    [anon_sym_GT_GT] = ACTIONS(1960),
    [anon_sym_EQ_EQ] = ACTIONS(1962),
    [anon_sym_BANG_EQ] = ACTIONS(1958),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1958),
    [anon_sym_LT_EQ_GT] = ACTIONS(1958),
    [anon_sym_EQ_TILDE] = ACTIONS(1958),
    [anon_sym_BANG_TILDE] = ACTIONS(1958),
    [anon_sym_LT_EQ] = ACTIONS(1948),
    [anon_sym_GT] = ACTIONS(1948),
    [anon_sym_GT_EQ] = ACTIONS(1964),
    [anon_sym_CARET] = ACTIONS(1966),
    [anon_sym_PLUS] = ACTIONS(1968),
    [anon_sym_SLASH] = ACTIONS(1944),
    [anon_sym_PERCENT] = ACTIONS(1944),
    [sym_comment] = ACTIONS(110),
  },
  [238] = {
    [sym__simple_heredoc_body] = ACTIONS(968),
    [sym__heredoc_body_beginning] = ACTIONS(968),
    [sym__line_break] = ACTIONS(968),
    [sym__element_reference_left_bracket] = ACTIONS(970),
    [sym__scope_double_colon] = ACTIONS(1970),
    [sym__binary_minus] = ACTIONS(968),
    [sym__binary_star] = ACTIONS(968),
    [anon_sym_LBRACE] = ACTIONS(968),
    [anon_sym_RBRACE] = ACTIONS(968),
    [anon_sym_RPAREN] = ACTIONS(968),
    [anon_sym_DOT] = ACTIONS(1972),
    [anon_sym_end] = ACTIONS(968),
    [anon_sym_COMMA] = ACTIONS(968),
    [anon_sym_PIPE] = ACTIONS(976),
    [anon_sym_SEMI] = ACTIONS(968),
    [anon_sym_STAR_STAR] = ACTIONS(968),
    [anon_sym_AMP] = ACTIONS(976),
    [anon_sym_LT] = ACTIONS(976),
    [anon_sym_if] = ACTIONS(968),
    [anon_sym_unless] = ACTIONS(968),
    [anon_sym_while] = ACTIONS(968),
    [anon_sym_until] = ACTIONS(968),
    [anon_sym_rescue] = ACTIONS(968),
    [anon_sym_do] = ACTIONS(968),
    [anon_sym_when] = ACTIONS(968),
    [anon_sym_elsif] = ACTIONS(968),
    [anon_sym_else] = ACTIONS(968),
    [anon_sym_then] = ACTIONS(968),
    [anon_sym_ensure] = ACTIONS(968),
    [anon_sym_AMP_DOT] = ACTIONS(1974),
    [anon_sym_QMARK] = ACTIONS(968),
    [anon_sym_DOT_DOT] = ACTIONS(976),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(968),
    [anon_sym_and] = ACTIONS(968),
    [anon_sym_or] = ACTIONS(968),
    [anon_sym_PIPE_PIPE] = ACTIONS(968),
    [anon_sym_AMP_AMP] = ACTIONS(968),
    [anon_sym_LT_LT] = ACTIONS(968),
    [anon_sym_GT_GT] = ACTIONS(968),
    [anon_sym_EQ_EQ] = ACTIONS(976),
    [anon_sym_BANG_EQ] = ACTIONS(968),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(968),
    [anon_sym_LT_EQ_GT] = ACTIONS(968),
    [anon_sym_EQ_TILDE] = ACTIONS(968),
    [anon_sym_BANG_TILDE] = ACTIONS(968),
    [anon_sym_LT_EQ] = ACTIONS(976),
    [anon_sym_GT] = ACTIONS(976),
    [anon_sym_GT_EQ] = ACTIONS(968),
    [anon_sym_CARET] = ACTIONS(968),
    [anon_sym_PLUS] = ACTIONS(968),
    [anon_sym_SLASH] = ACTIONS(968),
    [anon_sym_PERCENT] = ACTIONS(968),
    [sym_comment] = ACTIONS(110),
  },
  [239] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1220),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1222),
    [sym_call] = STATE(1222),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(598),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(1223),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_do_block] = STATE(602),
    [sym_block] = STATE(602),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1224),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1225),
    [sym__variable] = STATE(1222),
    [sym_reserved_identifier] = STATE(1226),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1227),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(1976),
    [sym__splat_star] = ACTIONS(1978),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(1980),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(1014),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_RPAREN] = ACTIONS(980),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(1982),
    [anon_sym_yield] = ACTIONS(1984),
    [anon_sym_break] = ACTIONS(1986),
    [anon_sym_next] = ACTIONS(1988),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(982),
    [anon_sym_unless] = ACTIONS(982),
    [anon_sym_while] = ACTIONS(982),
    [anon_sym_until] = ACTIONS(982),
    [anon_sym_rescue] = ACTIONS(982),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(1038),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(1990),
    [anon_sym_not] = ACTIONS(1992),
    [anon_sym_BANG] = ACTIONS(1994),
    [anon_sym_TILDE] = ACTIONS(1996),
    [sym_constant] = ACTIONS(1998),
    [sym_identifier] = ACTIONS(1998),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [240] = {
    [anon_sym_EQ] = ACTIONS(2000),
    [sym_comment] = ACTIONS(256),
  },
  [241] = {
    [anon_sym_RPAREN] = ACTIONS(2002),
    [anon_sym_EQ] = ACTIONS(1070),
    [sym_comment] = ACTIONS(256),
  },
  [242] = {
    [anon_sym_RPAREN] = ACTIONS(1074),
    [anon_sym_COMMA] = ACTIONS(2004),
    [anon_sym_EQ] = ACTIONS(1074),
    [sym_comment] = ACTIONS(256),
  },
  [243] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_RPAREN] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(1076),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(2006),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(2008),
    [anon_sym_DASH_EQ] = ACTIONS(2008),
    [anon_sym_STAR_EQ] = ACTIONS(2008),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2008),
    [anon_sym_SLASH_EQ] = ACTIONS(2008),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2008),
    [anon_sym_PIPE_EQ] = ACTIONS(2008),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2008),
    [anon_sym_AMP_EQ] = ACTIONS(2008),
    [anon_sym_PERCENT_EQ] = ACTIONS(2008),
    [anon_sym_GT_GT_EQ] = ACTIONS(2008),
    [anon_sym_LT_LT_EQ] = ACTIONS(2008),
    [anon_sym_CARET_EQ] = ACTIONS(2008),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [244] = {
    [sym__simple_string] = ACTIONS(2010),
    [sym__simple_symbol] = ACTIONS(2010),
    [sym__simple_subshell] = ACTIONS(2010),
    [sym__simple_regex] = ACTIONS(2010),
    [sym__simple_word_list] = ACTIONS(2010),
    [sym__simple_heredoc_body] = ACTIONS(2010),
    [sym__string_beginning] = ACTIONS(2010),
    [sym__symbol_beginning] = ACTIONS(2010),
    [sym__subshell_beginning] = ACTIONS(2010),
    [sym__regex_beginning] = ACTIONS(2010),
    [sym__word_list_beginning] = ACTIONS(2010),
    [sym__heredoc_body_beginning] = ACTIONS(2010),
    [sym_heredoc_beginning] = ACTIONS(2010),
    [sym__line_break] = ACTIONS(2010),
    [sym__element_reference_left_bracket] = ACTIONS(2010),
    [sym__block_ampersand] = ACTIONS(2010),
    [sym__splat_star] = ACTIONS(2010),
    [sym__argument_list_left_paren] = ACTIONS(2010),
    [sym__scope_double_colon] = ACTIONS(2010),
    [sym__unary_minus] = ACTIONS(2010),
    [sym__binary_minus] = ACTIONS(2010),
    [sym__binary_star] = ACTIONS(2010),
    [ts_builtin_sym_end] = ACTIONS(2010),
    [anon_sym___END__] = ACTIONS(2012),
    [anon_sym_LBRACE] = ACTIONS(2010),
    [anon_sym_def] = ACTIONS(2012),
    [anon_sym_LPAREN] = ACTIONS(2010),
    [anon_sym_DOT] = ACTIONS(2012),
    [anon_sym_COLON_COLON] = ACTIONS(2010),
    [anon_sym_end] = ACTIONS(2012),
    [anon_sym_COMMA] = ACTIONS(2010),
    [anon_sym_PIPE] = ACTIONS(2012),
    [anon_sym_SEMI] = ACTIONS(2010),
    [anon_sym_STAR] = ACTIONS(2012),
    [anon_sym_STAR_STAR] = ACTIONS(2012),
    [anon_sym_AMP] = ACTIONS(2012),
    [anon_sym_EQ] = ACTIONS(2012),
    [anon_sym_class] = ACTIONS(2012),
    [anon_sym_LT] = ACTIONS(2012),
    [anon_sym_module] = ACTIONS(2012),
    [anon_sym_return] = ACTIONS(2012),
    [anon_sym_yield] = ACTIONS(2012),
    [anon_sym_break] = ACTIONS(2012),
    [anon_sym_next] = ACTIONS(2012),
    [anon_sym_redo] = ACTIONS(2012),
    [anon_sym_retry] = ACTIONS(2012),
    [anon_sym_if] = ACTIONS(2012),
    [anon_sym_unless] = ACTIONS(2012),
    [anon_sym_while] = ACTIONS(2012),
    [anon_sym_until] = ACTIONS(2012),
    [anon_sym_rescue] = ACTIONS(2012),
    [anon_sym_for] = ACTIONS(2012),
    [anon_sym_in] = ACTIONS(2012),
    [anon_sym_do] = ACTIONS(2012),
    [anon_sym_case] = ACTIONS(2012),
    [anon_sym_when] = ACTIONS(2012),
    [anon_sym_elsif] = ACTIONS(2012),
    [anon_sym_else] = ACTIONS(2012),
    [anon_sym_then] = ACTIONS(2012),
    [anon_sym_begin] = ACTIONS(2012),
    [anon_sym_ensure] = ACTIONS(2012),
    [anon_sym_AMP_DOT] = ACTIONS(2010),
    [anon_sym_PLUS_EQ] = ACTIONS(2010),
    [anon_sym_DASH_EQ] = ACTIONS(2010),
    [anon_sym_STAR_EQ] = ACTIONS(2010),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2010),
    [anon_sym_SLASH_EQ] = ACTIONS(2010),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2010),
    [anon_sym_PIPE_EQ] = ACTIONS(2010),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2010),
    [anon_sym_AMP_EQ] = ACTIONS(2010),
    [anon_sym_PERCENT_EQ] = ACTIONS(2010),
    [anon_sym_GT_GT_EQ] = ACTIONS(2010),
    [anon_sym_LT_LT_EQ] = ACTIONS(2010),
    [anon_sym_CARET_EQ] = ACTIONS(2010),
    [anon_sym_QMARK] = ACTIONS(2012),
    [anon_sym_DOT_DOT] = ACTIONS(2012),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2010),
    [anon_sym_and] = ACTIONS(2012),
    [anon_sym_or] = ACTIONS(2012),
    [anon_sym_PIPE_PIPE] = ACTIONS(2012),
    [anon_sym_AMP_AMP] = ACTIONS(2012),
    [anon_sym_LT_LT] = ACTIONS(2012),
    [anon_sym_GT_GT] = ACTIONS(2012),
    [anon_sym_EQ_EQ] = ACTIONS(2012),
    [anon_sym_BANG_EQ] = ACTIONS(2010),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2010),
    [anon_sym_LT_EQ_GT] = ACTIONS(2010),
    [anon_sym_EQ_TILDE] = ACTIONS(2010),
    [anon_sym_BANG_TILDE] = ACTIONS(2010),
    [anon_sym_LT_EQ] = ACTIONS(2012),
    [anon_sym_GT] = ACTIONS(2012),
    [anon_sym_GT_EQ] = ACTIONS(2010),
    [anon_sym_CARET] = ACTIONS(2012),
    [anon_sym_PLUS] = ACTIONS(2012),
    [anon_sym_SLASH] = ACTIONS(2012),
    [anon_sym_PERCENT] = ACTIONS(2012),
    [anon_sym_defined_QMARK] = ACTIONS(2010),
    [anon_sym_not] = ACTIONS(2012),
    [anon_sym_BANG] = ACTIONS(2012),
    [anon_sym_TILDE] = ACTIONS(2010),
    [sym_constant] = ACTIONS(2014),
    [sym_identifier] = ACTIONS(2014),
    [sym_instance_variable] = ACTIONS(2012),
    [sym_class_variable] = ACTIONS(2012),
    [sym_global_variable] = ACTIONS(2012),
    [anon_sym_alias] = ACTIONS(2012),
    [anon_sym_defined] = ACTIONS(2012),
    [anon_sym_false] = ACTIONS(2012),
    [anon_sym_nil] = ACTIONS(2012),
    [anon_sym_self] = ACTIONS(2012),
    [anon_sym_super] = ACTIONS(2012),
    [anon_sym_true] = ACTIONS(2012),
    [anon_sym_undef] = ACTIONS(2012),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(2012),
    [sym_float] = ACTIONS(2014),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(2010),
    [anon_sym_TRUE] = ACTIONS(2012),
    [anon_sym_FALSE] = ACTIONS(2012),
    [anon_sym_NIL] = ACTIONS(2012),
    [sym_keyword__FILE__] = ACTIONS(2012),
    [sym_keyword__LINE__] = ACTIONS(2012),
    [sym_keyword__ENCODING__] = ACTIONS(2012),
    [sym__character_literal] = ACTIONS(2012),
    [anon_sym_LBRACK] = ACTIONS(2010),
    [anon_sym_DASH_GT] = ACTIONS(2010),
  },
  [245] = {
    [sym__simple_string] = ACTIONS(126),
    [sym__string_beginning] = ACTIONS(126),
    [sym__element_reference_left_bracket] = ACTIONS(126),
    [sym__scope_double_colon] = ACTIONS(126),
    [anon_sym_DOT] = ACTIONS(126),
    [anon_sym_AMP_DOT] = ACTIONS(126),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(128),
  },
  [246] = {
    [sym__element_reference_left_bracket] = ACTIONS(130),
    [sym__scope_double_colon] = ACTIONS(130),
    [anon_sym_DOT] = ACTIONS(130),
    [anon_sym_AMP_DOT] = ACTIONS(130),
    [sym_comment] = ACTIONS(110),
  },
  [247] = {
    [sym__element_reference_left_bracket] = ACTIONS(134),
    [sym__scope_double_colon] = ACTIONS(134),
    [anon_sym_DOT] = ACTIONS(134),
    [anon_sym_AMP_DOT] = ACTIONS(134),
    [sym_comment] = ACTIONS(110),
  },
  [248] = {
    [sym__element_reference_left_bracket] = ACTIONS(138),
    [sym__scope_double_colon] = ACTIONS(138),
    [anon_sym_DOT] = ACTIONS(138),
    [anon_sym_AMP_DOT] = ACTIONS(138),
    [sym_comment] = ACTIONS(110),
  },
  [249] = {
    [sym__element_reference_left_bracket] = ACTIONS(142),
    [sym__scope_double_colon] = ACTIONS(142),
    [anon_sym_DOT] = ACTIONS(142),
    [anon_sym_AMP_DOT] = ACTIONS(142),
    [sym_comment] = ACTIONS(110),
  },
  [250] = {
    [sym__statement] = STATE(1232),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(1233),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [251] = {
    [sym__statement] = STATE(1234),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(1235),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [252] = {
    [sym__statement] = STATE(1236),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(1237),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [253] = {
    [sym__statement] = STATE(1238),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(1239),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [254] = {
    [sym__statement] = STATE(1240),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(1241),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [255] = {
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
  },
  [256] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(193),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_hash_splat_argument] = STATE(197),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(199),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(200),
    [sym__variable] = STATE(196),
    [sym_reserved_identifier] = STATE(201),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(202),
    [sym_subshell] = STATE(151),
    [sym_heredoc_end] = STATE(1243),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym__hash_items] = STATE(1244),
    [sym_pair] = STATE(205),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(260),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(272),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(286),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_RBRACE] = ACTIONS(2016),
    [anon_sym_def] = ACTIONS(292),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(302),
    [anon_sym_class] = ACTIONS(304),
    [anon_sym_module] = ACTIONS(306),
    [anon_sym_return] = ACTIONS(308),
    [anon_sym_yield] = ACTIONS(310),
    [anon_sym_break] = ACTIONS(312),
    [anon_sym_next] = ACTIONS(314),
    [anon_sym_redo] = ACTIONS(316),
    [anon_sym_retry] = ACTIONS(318),
    [anon_sym_if] = ACTIONS(320),
    [anon_sym_unless] = ACTIONS(322),
    [anon_sym_while] = ACTIONS(324),
    [anon_sym_until] = ACTIONS(326),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(328),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(330),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(332),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(334),
    [anon_sym_defined_QMARK] = ACTIONS(336),
    [anon_sym_not] = ACTIONS(338),
    [anon_sym_BANG] = ACTIONS(340),
    [anon_sym_TILDE] = ACTIONS(340),
    [sym_constant] = ACTIONS(342),
    [sym_identifier] = ACTIONS(342),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(346),
    [anon_sym_nil] = ACTIONS(348),
    [anon_sym_self] = ACTIONS(350),
    [anon_sym_super] = ACTIONS(352),
    [anon_sym_true] = ACTIONS(354),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(370),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [257] = {
    [sym__method_rest] = STATE(1246),
    [sym__variable] = STATE(1247),
    [sym_operator] = STATE(217),
    [sym__method_name] = STATE(1248),
    [sym_setter] = STATE(217),
    [sym_symbol] = STATE(217),
    [sym_super] = STATE(219),
    [sym_self] = STATE(219),
    [sym__simple_symbol] = ACTIONS(378),
    [sym__symbol_beginning] = ACTIONS(380),
    [anon_sym_LPAREN] = ACTIONS(2018),
    [anon_sym_PIPE] = ACTIONS(384),
    [anon_sym_STAR] = ACTIONS(386),
    [anon_sym_STAR_STAR] = ACTIONS(384),
    [anon_sym_AMP] = ACTIONS(384),
    [anon_sym_LT] = ACTIONS(386),
    [anon_sym_DOT_DOT] = ACTIONS(384),
    [anon_sym_LT_LT] = ACTIONS(384),
    [anon_sym_GT_GT] = ACTIONS(384),
    [anon_sym_EQ_EQ] = ACTIONS(386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(384),
    [anon_sym_LT_EQ_GT] = ACTIONS(384),
    [anon_sym_EQ_TILDE] = ACTIONS(384),
    [anon_sym_BANG_TILDE] = ACTIONS(384),
    [anon_sym_LT_EQ] = ACTIONS(386),
    [anon_sym_GT] = ACTIONS(386),
    [anon_sym_GT_EQ] = ACTIONS(384),
    [anon_sym_CARET] = ACTIONS(384),
    [anon_sym_PLUS] = ACTIONS(386),
    [anon_sym_SLASH] = ACTIONS(384),
    [anon_sym_PERCENT] = ACTIONS(384),
    [anon_sym_BANG] = ACTIONS(386),
    [anon_sym_TILDE] = ACTIONS(384),
    [sym_constant] = ACTIONS(388),
    [sym_identifier] = ACTIONS(390),
    [sym_instance_variable] = ACTIONS(388),
    [sym_class_variable] = ACTIONS(388),
    [sym_global_variable] = ACTIONS(388),
    [anon_sym_self] = ACTIONS(392),
    [anon_sym_super] = ACTIONS(394),
    [anon_sym_DASH] = ACTIONS(386),
    [anon_sym_PLUS_AT] = ACTIONS(384),
    [anon_sym_DASH_AT] = ACTIONS(384),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(386),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(384),
    [anon_sym_BQUOTE] = ACTIONS(384),
    [sym_comment] = ACTIONS(110),
  },
  [258] = {
    [sym__statements] = STATE(1250),
    [sym__top_level_statement] = STATE(235),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(236),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(237),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(240),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(243),
    [sym__variable] = STATE(239),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(396),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_RPAREN] = ACTIONS(2020),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(412),
    [anon_sym_defined_QMARK] = ACTIONS(414),
    [anon_sym_not] = ACTIONS(416),
    [anon_sym_BANG] = ACTIONS(418),
    [anon_sym_TILDE] = ACTIONS(418),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [259] = {
    [sym_constant] = ACTIONS(2022),
    [sym_identifier] = ACTIONS(2022),
    [sym_comment] = ACTIONS(110),
  },
  [260] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(293),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(1254),
    [sym_call] = STATE(295),
    [sym_method_call] = STATE(286),
    [sym__lhs] = STATE(255),
    [sym__variable] = STATE(295),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [sym__singleton_class_left_angle_left_langle] = ACTIONS(2024),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(458),
    [anon_sym_COLON_COLON] = ACTIONS(524),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(2026),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [261] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(293),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(1256),
    [sym_call] = STATE(295),
    [sym_method_call] = STATE(286),
    [sym__lhs] = STATE(255),
    [sym__variable] = STATE(295),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(458),
    [anon_sym_COLON_COLON] = ACTIONS(524),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(2028),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [262] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1262),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1263),
    [sym__argument_list_with_parens] = STATE(1264),
    [sym__argument] = STATE(1265),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_reserved_identifier] = STATE(1267),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1268),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(2030),
    [sym__splat_star] = ACTIONS(2032),
    [sym__argument_list_left_paren] = ACTIONS(2034),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(1640),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(532),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2036),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(1642),
    [anon_sym_yield] = ACTIONS(1644),
    [anon_sym_break] = ACTIONS(1646),
    [anon_sym_next] = ACTIONS(1648),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2038),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(1652),
    [anon_sym_BANG] = ACTIONS(1656),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(2040),
    [sym_identifier] = ACTIONS(2040),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [263] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1262),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1269),
    [sym__argument_list_with_parens] = STATE(1264),
    [sym__argument] = STATE(1265),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_reserved_identifier] = STATE(1267),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1268),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(2030),
    [sym__splat_star] = ACTIONS(2032),
    [sym__argument_list_left_paren] = ACTIONS(2034),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(1640),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(602),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2036),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(1642),
    [anon_sym_yield] = ACTIONS(1644),
    [anon_sym_break] = ACTIONS(1646),
    [anon_sym_next] = ACTIONS(1648),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2038),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(1652),
    [anon_sym_BANG] = ACTIONS(1656),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(2040),
    [sym_identifier] = ACTIONS(2040),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [264] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1262),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1270),
    [sym__argument_list_with_parens] = STATE(1264),
    [sym__argument] = STATE(1265),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_reserved_identifier] = STATE(1267),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1268),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(2030),
    [sym__splat_star] = ACTIONS(2032),
    [sym__argument_list_left_paren] = ACTIONS(2034),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(1640),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(606),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2036),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(1642),
    [anon_sym_yield] = ACTIONS(1644),
    [anon_sym_break] = ACTIONS(1646),
    [anon_sym_next] = ACTIONS(1648),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2038),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(1652),
    [anon_sym_BANG] = ACTIONS(1656),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(2040),
    [sym_identifier] = ACTIONS(2040),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [265] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1262),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1271),
    [sym__argument_list_with_parens] = STATE(1264),
    [sym__argument] = STATE(1265),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_reserved_identifier] = STATE(1267),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1268),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(2030),
    [sym__splat_star] = ACTIONS(2032),
    [sym__argument_list_left_paren] = ACTIONS(2034),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(1640),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(610),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2036),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(1642),
    [anon_sym_yield] = ACTIONS(1644),
    [anon_sym_break] = ACTIONS(1646),
    [anon_sym_next] = ACTIONS(1648),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2038),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(1652),
    [anon_sym_BANG] = ACTIONS(1656),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(2040),
    [sym_identifier] = ACTIONS(2040),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [266] = {
    [sym__element_reference_left_bracket] = ACTIONS(614),
    [sym__scope_double_colon] = ACTIONS(614),
    [anon_sym_DOT] = ACTIONS(614),
    [anon_sym_AMP_DOT] = ACTIONS(614),
    [sym_comment] = ACTIONS(110),
  },
  [267] = {
    [sym__element_reference_left_bracket] = ACTIONS(618),
    [sym__scope_double_colon] = ACTIONS(618),
    [anon_sym_DOT] = ACTIONS(618),
    [anon_sym_AMP_DOT] = ACTIONS(618),
    [sym_comment] = ACTIONS(110),
  },
  [268] = {
    [sym__statement] = STATE(1272),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(361),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [269] = {
    [sym__statement] = STATE(1273),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(361),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [270] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1274),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [271] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1275),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [272] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(285),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(381),
    [sym_call] = STATE(381),
    [sym_method_call] = STATE(286),
    [sym__mlhs] = STATE(1276),
    [sym__simple_mlhs] = STATE(383),
    [sym_destructured_left_assignment] = STATE(383),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(384),
    [sym__variable] = STATE(381),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(658),
    [anon_sym_COLON_COLON] = ACTIONS(460),
    [anon_sym_STAR] = ACTIONS(660),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(494),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [273] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_when] = STATE(1277),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1278),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(400),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(401),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(387),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__terminator] = STATE(402),
    [aux_sym_case_repeat1] = STATE(1279),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(666),
    [sym__unary_minus] = ACTIONS(668),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_when] = ACTIONS(678),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(680),
    [anon_sym_defined_QMARK] = ACTIONS(682),
    [anon_sym_not] = ACTIONS(684),
    [anon_sym_BANG] = ACTIONS(686),
    [anon_sym_TILDE] = ACTIONS(686),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [274] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(1281),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(1282),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(692),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(2042),
    [anon_sym_SEMI] = ACTIONS(698),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [275] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__unary_minus] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_RPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(722),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(722),
    [anon_sym_EQ] = ACTIONS(722),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(722),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [276] = {
    [sym__element_reference_left_bracket] = ACTIONS(740),
    [sym__scope_double_colon] = ACTIONS(740),
    [anon_sym_RPAREN] = ACTIONS(740),
    [anon_sym_DOT] = ACTIONS(740),
    [anon_sym_COMMA] = ACTIONS(740),
    [anon_sym_EQ] = ACTIONS(740),
    [anon_sym_in] = ACTIONS(740),
    [anon_sym_AMP_DOT] = ACTIONS(740),
    [sym_comment] = ACTIONS(256),
  },
  [277] = {
    [sym__element_reference_left_bracket] = ACTIONS(744),
    [sym__scope_double_colon] = ACTIONS(744),
    [anon_sym_RPAREN] = ACTIONS(744),
    [anon_sym_DOT] = ACTIONS(744),
    [anon_sym_COMMA] = ACTIONS(744),
    [anon_sym_EQ] = ACTIONS(744),
    [anon_sym_in] = ACTIONS(744),
    [anon_sym_AMP_DOT] = ACTIONS(744),
    [sym_comment] = ACTIONS(256),
  },
  [278] = {
    [sym__simple_string] = ACTIONS(748),
    [sym__simple_symbol] = ACTIONS(748),
    [sym__simple_subshell] = ACTIONS(748),
    [sym__simple_regex] = ACTIONS(748),
    [sym__simple_word_list] = ACTIONS(748),
    [sym__string_beginning] = ACTIONS(748),
    [sym__symbol_beginning] = ACTIONS(748),
    [sym__subshell_beginning] = ACTIONS(748),
    [sym__regex_beginning] = ACTIONS(748),
    [sym__word_list_beginning] = ACTIONS(748),
    [sym_heredoc_beginning] = ACTIONS(748),
    [sym__element_reference_left_bracket] = ACTIONS(748),
    [sym__block_ampersand] = ACTIONS(748),
    [sym__splat_star] = ACTIONS(748),
    [sym__argument_list_left_paren] = ACTIONS(748),
    [sym__scope_double_colon] = ACTIONS(748),
    [sym__unary_minus] = ACTIONS(748),
    [anon_sym_LBRACE] = ACTIONS(748),
    [anon_sym_def] = ACTIONS(750),
    [anon_sym_LPAREN] = ACTIONS(748),
    [anon_sym_RPAREN] = ACTIONS(748),
    [anon_sym_DOT] = ACTIONS(748),
    [anon_sym_COLON_COLON] = ACTIONS(748),
    [anon_sym_end] = ACTIONS(750),
    [anon_sym_COMMA] = ACTIONS(748),
    [anon_sym_STAR] = ACTIONS(750),
    [anon_sym_STAR_STAR] = ACTIONS(748),
    [anon_sym_EQ] = ACTIONS(748),
    [anon_sym_class] = ACTIONS(750),
    [anon_sym_module] = ACTIONS(750),
    [anon_sym_return] = ACTIONS(750),
    [anon_sym_yield] = ACTIONS(750),
    [anon_sym_break] = ACTIONS(750),
    [anon_sym_next] = ACTIONS(750),
    [anon_sym_redo] = ACTIONS(750),
    [anon_sym_retry] = ACTIONS(750),
    [anon_sym_if] = ACTIONS(750),
    [anon_sym_unless] = ACTIONS(750),
    [anon_sym_while] = ACTIONS(750),
    [anon_sym_until] = ACTIONS(750),
    [anon_sym_rescue] = ACTIONS(750),
    [anon_sym_for] = ACTIONS(750),
    [anon_sym_in] = ACTIONS(750),
    [anon_sym_do] = ACTIONS(750),
    [anon_sym_case] = ACTIONS(750),
    [anon_sym_when] = ACTIONS(750),
    [anon_sym_elsif] = ACTIONS(750),
    [anon_sym_else] = ACTIONS(750),
    [anon_sym_then] = ACTIONS(750),
    [anon_sym_begin] = ACTIONS(750),
    [anon_sym_ensure] = ACTIONS(750),
    [anon_sym_AMP_DOT] = ACTIONS(748),
    [anon_sym_and] = ACTIONS(750),
    [anon_sym_or] = ACTIONS(750),
    [anon_sym_PLUS] = ACTIONS(750),
    [anon_sym_defined_QMARK] = ACTIONS(748),
    [anon_sym_not] = ACTIONS(750),
    [anon_sym_BANG] = ACTIONS(748),
    [anon_sym_TILDE] = ACTIONS(748),
    [sym_constant] = ACTIONS(752),
    [sym_identifier] = ACTIONS(752),
    [sym_instance_variable] = ACTIONS(750),
    [sym_class_variable] = ACTIONS(750),
    [sym_global_variable] = ACTIONS(750),
    [anon_sym_alias] = ACTIONS(750),
    [anon_sym_defined] = ACTIONS(750),
    [anon_sym_false] = ACTIONS(750),
    [anon_sym_nil] = ACTIONS(750),
    [anon_sym_self] = ACTIONS(750),
    [anon_sym_super] = ACTIONS(750),
    [anon_sym_true] = ACTIONS(750),
    [anon_sym_undef] = ACTIONS(750),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(750),
    [sym_float] = ACTIONS(752),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(748),
    [anon_sym_TRUE] = ACTIONS(750),
    [anon_sym_FALSE] = ACTIONS(750),
    [anon_sym_NIL] = ACTIONS(750),
    [sym_keyword__FILE__] = ACTIONS(750),
    [sym_keyword__LINE__] = ACTIONS(750),
    [sym_keyword__ENCODING__] = ACTIONS(750),
    [sym__character_literal] = ACTIONS(750),
    [anon_sym_LBRACK] = ACTIONS(748),
    [anon_sym_DASH_GT] = ACTIONS(748),
  },
  [279] = {
    [sym__simple_string] = ACTIONS(754),
    [sym__simple_symbol] = ACTIONS(754),
    [sym__simple_subshell] = ACTIONS(754),
    [sym__simple_regex] = ACTIONS(754),
    [sym__simple_word_list] = ACTIONS(754),
    [sym__string_beginning] = ACTIONS(754),
    [sym__symbol_beginning] = ACTIONS(754),
    [sym__subshell_beginning] = ACTIONS(754),
    [sym__regex_beginning] = ACTIONS(754),
    [sym__word_list_beginning] = ACTIONS(754),
    [sym_heredoc_beginning] = ACTIONS(754),
    [sym__element_reference_left_bracket] = ACTIONS(754),
    [sym__block_ampersand] = ACTIONS(754),
    [sym__splat_star] = ACTIONS(754),
    [sym__argument_list_left_paren] = ACTIONS(754),
    [sym__scope_double_colon] = ACTIONS(754),
    [sym__unary_minus] = ACTIONS(754),
    [anon_sym_LBRACE] = ACTIONS(754),
    [anon_sym_def] = ACTIONS(756),
    [anon_sym_LPAREN] = ACTIONS(754),
    [anon_sym_RPAREN] = ACTIONS(754),
    [anon_sym_DOT] = ACTIONS(754),
    [anon_sym_COLON_COLON] = ACTIONS(754),
    [anon_sym_end] = ACTIONS(756),
    [anon_sym_COMMA] = ACTIONS(754),
    [anon_sym_STAR] = ACTIONS(756),
    [anon_sym_STAR_STAR] = ACTIONS(754),
    [anon_sym_EQ] = ACTIONS(754),
    [anon_sym_class] = ACTIONS(756),
    [anon_sym_module] = ACTIONS(756),
    [anon_sym_return] = ACTIONS(756),
    [anon_sym_yield] = ACTIONS(756),
    [anon_sym_break] = ACTIONS(756),
    [anon_sym_next] = ACTIONS(756),
    [anon_sym_redo] = ACTIONS(756),
    [anon_sym_retry] = ACTIONS(756),
    [anon_sym_if] = ACTIONS(756),
    [anon_sym_unless] = ACTIONS(756),
    [anon_sym_while] = ACTIONS(756),
    [anon_sym_until] = ACTIONS(756),
    [anon_sym_rescue] = ACTIONS(756),
    [anon_sym_for] = ACTIONS(756),
    [anon_sym_in] = ACTIONS(756),
    [anon_sym_do] = ACTIONS(756),
    [anon_sym_case] = ACTIONS(756),
    [anon_sym_when] = ACTIONS(756),
    [anon_sym_elsif] = ACTIONS(756),
    [anon_sym_else] = ACTIONS(756),
    [anon_sym_then] = ACTIONS(756),
    [anon_sym_begin] = ACTIONS(756),
    [anon_sym_ensure] = ACTIONS(756),
    [anon_sym_AMP_DOT] = ACTIONS(754),
    [anon_sym_and] = ACTIONS(756),
    [anon_sym_or] = ACTIONS(756),
    [anon_sym_PLUS] = ACTIONS(756),
    [anon_sym_defined_QMARK] = ACTIONS(754),
    [anon_sym_not] = ACTIONS(756),
    [anon_sym_BANG] = ACTIONS(754),
    [anon_sym_TILDE] = ACTIONS(754),
    [sym_constant] = ACTIONS(758),
    [sym_identifier] = ACTIONS(758),
    [sym_instance_variable] = ACTIONS(756),
    [sym_class_variable] = ACTIONS(756),
    [sym_global_variable] = ACTIONS(756),
    [anon_sym_alias] = ACTIONS(756),
    [anon_sym_defined] = ACTIONS(756),
    [anon_sym_false] = ACTIONS(756),
    [anon_sym_nil] = ACTIONS(756),
    [anon_sym_self] = ACTIONS(756),
    [anon_sym_super] = ACTIONS(756),
    [anon_sym_true] = ACTIONS(756),
    [anon_sym_undef] = ACTIONS(756),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(756),
    [sym_float] = ACTIONS(758),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(754),
    [anon_sym_TRUE] = ACTIONS(756),
    [anon_sym_FALSE] = ACTIONS(756),
    [anon_sym_NIL] = ACTIONS(756),
    [sym_keyword__FILE__] = ACTIONS(756),
    [sym_keyword__LINE__] = ACTIONS(756),
    [sym_keyword__ENCODING__] = ACTIONS(756),
    [sym__character_literal] = ACTIONS(756),
    [anon_sym_LBRACK] = ACTIONS(754),
    [anon_sym_DASH_GT] = ACTIONS(754),
  },
  [280] = {
    [sym__element_reference_left_bracket] = ACTIONS(760),
    [sym__scope_double_colon] = ACTIONS(760),
    [anon_sym_RPAREN] = ACTIONS(760),
    [anon_sym_DOT] = ACTIONS(760),
    [anon_sym_COMMA] = ACTIONS(760),
    [anon_sym_EQ] = ACTIONS(760),
    [anon_sym_in] = ACTIONS(760),
    [anon_sym_AMP_DOT] = ACTIONS(760),
    [sym_comment] = ACTIONS(256),
  },
  [281] = {
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [anon_sym_r] = ACTIONS(2044),
  },
  [282] = {
    [sym__element_reference_left_bracket] = ACTIONS(778),
    [sym__scope_double_colon] = ACTIONS(778),
    [anon_sym_DOT] = ACTIONS(778),
    [anon_sym_AMP_DOT] = ACTIONS(778),
    [sym_comment] = ACTIONS(110),
  },
  [283] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(501),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(1285),
    [sym__argument] = STATE(506),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(509),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(510),
    [sym__variable] = STATE(504),
    [sym_reserved_identifier] = STATE(511),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(512),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(1286),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(804),
    [sym__splat_star] = ACTIONS(806),
    [sym__unary_minus] = ACTIONS(808),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(818),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(824),
    [anon_sym_yield] = ACTIONS(826),
    [anon_sym_break] = ACTIONS(828),
    [anon_sym_next] = ACTIONS(830),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_RBRACK] = ACTIONS(2046),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(852),
    [anon_sym_defined_QMARK] = ACTIONS(854),
    [anon_sym_not] = ACTIONS(856),
    [anon_sym_BANG] = ACTIONS(858),
    [anon_sym_TILDE] = ACTIONS(858),
    [sym_constant] = ACTIONS(860),
    [sym_identifier] = ACTIONS(860),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [284] = {
    [sym_lambda_parameters] = STATE(1289),
    [sym__simple_formal_parameter] = STATE(522),
    [sym_splat_parameter] = STATE(523),
    [sym_hash_splat_parameter] = STATE(523),
    [sym_block_parameter] = STATE(523),
    [sym_keyword_parameter] = STATE(523),
    [sym_optional_parameter] = STATE(523),
    [sym_do_block] = STATE(1290),
    [sym_block] = STATE(1290),
    [anon_sym_LBRACE] = ACTIONS(2048),
    [anon_sym_LPAREN] = ACTIONS(896),
    [anon_sym_STAR] = ACTIONS(898),
    [anon_sym_STAR_STAR] = ACTIONS(900),
    [anon_sym_AMP] = ACTIONS(902),
    [anon_sym_do] = ACTIONS(2050),
    [sym_identifier] = ACTIONS(906),
    [sym_comment] = ACTIONS(110),
  },
  [285] = {
    [sym__element_reference_left_bracket] = ACTIONS(2052),
    [sym__scope_double_colon] = ACTIONS(2054),
    [anon_sym_DOT] = ACTIONS(2056),
    [anon_sym_AMP_DOT] = ACTIONS(2056),
    [sym_comment] = ACTIONS(110),
  },
  [286] = {
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__scope_double_colon] = ACTIONS(980),
    [anon_sym_RPAREN] = ACTIONS(980),
    [anon_sym_DOT] = ACTIONS(980),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_EQ] = ACTIONS(980),
    [anon_sym_in] = ACTIONS(980),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [sym_comment] = ACTIONS(256),
  },
  [287] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1309),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1310),
    [sym__argument_list_with_parens] = STATE(1264),
    [sym__argument] = STATE(1311),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_do_block] = STATE(1312),
    [sym_block] = STATE(1312),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1313),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1314),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1315),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1316),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(2058),
    [sym__splat_star] = ACTIONS(2060),
    [sym__argument_list_left_paren] = ACTIONS(2034),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(2062),
    [anon_sym_LBRACE] = ACTIONS(2064),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(980),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2066),
    [anon_sym_EQ] = ACTIONS(980),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2068),
    [anon_sym_yield] = ACTIONS(2070),
    [anon_sym_break] = ACTIONS(2072),
    [anon_sym_next] = ACTIONS(2074),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(2076),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2078),
    [anon_sym_defined_QMARK] = ACTIONS(2080),
    [anon_sym_not] = ACTIONS(2082),
    [anon_sym_BANG] = ACTIONS(2084),
    [anon_sym_TILDE] = ACTIONS(2084),
    [sym_constant] = ACTIONS(2086),
    [sym_identifier] = ACTIONS(2086),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [288] = {
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [anon_sym_RPAREN] = ACTIONS(2088),
    [anon_sym_DOT] = ACTIONS(250),
    [anon_sym_COMMA] = ACTIONS(2088),
    [anon_sym_EQ] = ACTIONS(2088),
    [anon_sym_in] = ACTIONS(2088),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [sym_comment] = ACTIONS(256),
  },
  [289] = {
    [sym_string] = STATE(1317),
    [aux_sym_chained_string_repeat1] = STATE(1318),
    [sym__simple_string] = ACTIONS(432),
    [sym__string_beginning] = ACTIONS(442),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(516),
  },
  [290] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1327),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1329),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1330),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2090),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2100),
    [anon_sym_defined_QMARK] = ACTIONS(2102),
    [anon_sym_not] = ACTIONS(2104),
    [anon_sym_BANG] = ACTIONS(2106),
    [anon_sym_TILDE] = ACTIONS(2106),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [291] = {
    [sym_constant] = ACTIONS(2108),
    [sym_identifier] = ACTIONS(2108),
    [sym_comment] = ACTIONS(110),
  },
  [292] = {
    [sym_superclass] = STATE(1333),
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(1334),
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__unary_minus] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(722),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(722),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(2110),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(722),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [293] = {
    [sym__element_reference_left_bracket] = ACTIONS(2052),
    [sym__scope_double_colon] = ACTIONS(2112),
    [anon_sym_DOT] = ACTIONS(2056),
    [anon_sym_AMP_DOT] = ACTIONS(2056),
    [sym_comment] = ACTIONS(110),
  },
  [294] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_superclass] = STATE(1333),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1349),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1310),
    [sym__argument_list_with_parens] = STATE(1264),
    [sym__argument] = STATE(1350),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_do_block] = STATE(1312),
    [sym_block] = STATE(1312),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1353),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1354),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__terminator] = STATE(1334),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(2114),
    [sym__splat_star] = ACTIONS(2116),
    [sym__argument_list_left_paren] = ACTIONS(2034),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(2064),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(980),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2120),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(2110),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(2076),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2138),
    [sym_identifier] = ACTIONS(2138),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [295] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1349),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1310),
    [sym__argument_list_with_parens] = STATE(1264),
    [sym__argument] = STATE(1350),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_do_block] = STATE(1312),
    [sym_block] = STATE(1312),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1353),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1354),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(2114),
    [sym__splat_star] = ACTIONS(2116),
    [sym__argument_list_left_paren] = ACTIONS(2034),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(2064),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(980),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2120),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(2076),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2138),
    [sym_identifier] = ACTIONS(2138),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [296] = {
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(1356),
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__unary_minus] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(722),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(2140),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(722),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(722),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [297] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1349),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1310),
    [sym__argument_list_with_parens] = STATE(1264),
    [sym__argument] = STATE(1350),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_do_block] = STATE(1312),
    [sym_block] = STATE(1312),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1353),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1354),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__terminator] = STATE(1356),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(2114),
    [sym__splat_star] = ACTIONS(2116),
    [sym__argument_list_left_paren] = ACTIONS(2034),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(2064),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(980),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(2142),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2120),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(2076),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2138),
    [sym_identifier] = ACTIONS(2138),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [298] = {
    [sym__simple_string] = ACTIONS(126),
    [sym__simple_heredoc_body] = ACTIONS(126),
    [sym__string_beginning] = ACTIONS(126),
    [sym__heredoc_body_beginning] = ACTIONS(126),
    [sym__line_break] = ACTIONS(126),
    [sym__element_reference_left_bracket] = ACTIONS(126),
    [sym__scope_double_colon] = ACTIONS(126),
    [sym__keyword_colon] = ACTIONS(126),
    [sym__binary_minus] = ACTIONS(126),
    [sym__binary_star] = ACTIONS(126),
    [ts_builtin_sym_end] = ACTIONS(126),
    [anon_sym___END__] = ACTIONS(126),
    [anon_sym_LBRACE] = ACTIONS(126),
    [anon_sym_RBRACE] = ACTIONS(126),
    [anon_sym_RPAREN] = ACTIONS(126),
    [anon_sym_DOT] = ACTIONS(128),
    [anon_sym_end] = ACTIONS(126),
    [anon_sym_COMMA] = ACTIONS(126),
    [anon_sym_PIPE] = ACTIONS(128),
    [anon_sym_SEMI] = ACTIONS(126),
    [anon_sym_STAR_STAR] = ACTIONS(126),
    [anon_sym_AMP] = ACTIONS(128),
    [anon_sym_LT] = ACTIONS(128),
    [anon_sym_if] = ACTIONS(126),
    [anon_sym_unless] = ACTIONS(126),
    [anon_sym_while] = ACTIONS(126),
    [anon_sym_until] = ACTIONS(126),
    [anon_sym_rescue] = ACTIONS(126),
    [anon_sym_do] = ACTIONS(126),
    [anon_sym_when] = ACTIONS(126),
    [anon_sym_elsif] = ACTIONS(126),
    [anon_sym_else] = ACTIONS(126),
    [anon_sym_then] = ACTIONS(126),
    [anon_sym_ensure] = ACTIONS(126),
    [anon_sym_EQ_GT] = ACTIONS(126),
    [anon_sym_AMP_DOT] = ACTIONS(126),
    [anon_sym_QMARK] = ACTIONS(128),
    [anon_sym_DOT_DOT] = ACTIONS(128),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(126),
    [anon_sym_and] = ACTIONS(126),
    [anon_sym_or] = ACTIONS(126),
    [anon_sym_PIPE_PIPE] = ACTIONS(126),
    [anon_sym_AMP_AMP] = ACTIONS(126),
    [anon_sym_LT_LT] = ACTIONS(126),
    [anon_sym_GT_GT] = ACTIONS(126),
    [anon_sym_EQ_EQ] = ACTIONS(128),
    [anon_sym_BANG_EQ] = ACTIONS(126),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(126),
    [anon_sym_LT_EQ_GT] = ACTIONS(126),
    [anon_sym_EQ_TILDE] = ACTIONS(126),
    [anon_sym_BANG_TILDE] = ACTIONS(126),
    [anon_sym_LT_EQ] = ACTIONS(128),
    [anon_sym_GT] = ACTIONS(128),
    [anon_sym_GT_EQ] = ACTIONS(126),
    [anon_sym_CARET] = ACTIONS(126),
    [anon_sym_PLUS] = ACTIONS(126),
    [anon_sym_SLASH] = ACTIONS(126),
    [anon_sym_PERCENT] = ACTIONS(126),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(128),
  },
  [299] = {
    [sym__statement] = STATE(1358),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(1359),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [300] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1364),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1365),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1366),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2144),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2146),
    [anon_sym_defined_QMARK] = ACTIONS(2148),
    [anon_sym_not] = ACTIONS(2150),
    [anon_sym_BANG] = ACTIONS(2152),
    [anon_sym_TILDE] = ACTIONS(2152),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [301] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1367),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1365),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1366),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2144),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2146),
    [anon_sym_defined_QMARK] = ACTIONS(2148),
    [anon_sym_not] = ACTIONS(2150),
    [anon_sym_BANG] = ACTIONS(2152),
    [anon_sym_TILDE] = ACTIONS(2152),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [302] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1382),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(1384),
    [sym__argument] = STATE(1385),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1386),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1387),
    [sym__variable] = STATE(1383),
    [sym_reserved_identifier] = STATE(1388),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1389),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(1390),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(2154),
    [sym__splat_star] = ACTIONS(2156),
    [sym__unary_minus] = ACTIONS(2158),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(2160),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2162),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2164),
    [anon_sym_yield] = ACTIONS(2166),
    [anon_sym_break] = ACTIONS(2168),
    [anon_sym_next] = ACTIONS(2170),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2172),
    [anon_sym_defined_QMARK] = ACTIONS(2174),
    [anon_sym_not] = ACTIONS(2176),
    [anon_sym_BANG] = ACTIONS(2178),
    [anon_sym_TILDE] = ACTIONS(2178),
    [sym_constant] = ACTIONS(2180),
    [sym_identifier] = ACTIONS(2180),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [303] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1397),
    [sym__primary] = STATE(337),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(339),
    [sym_call] = STATE(339),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(345),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(346),
    [sym__variable] = STATE(339),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(542),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2182),
    [anon_sym_yield] = ACTIONS(2184),
    [anon_sym_break] = ACTIONS(2186),
    [anon_sym_next] = ACTIONS(2188),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2190),
    [anon_sym_defined_QMARK] = ACTIONS(572),
    [anon_sym_not] = ACTIONS(2192),
    [anon_sym_BANG] = ACTIONS(578),
    [anon_sym_TILDE] = ACTIONS(578),
    [sym_constant] = ACTIONS(2194),
    [sym_identifier] = ACTIONS(2194),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2196),
    [anon_sym_super] = ACTIONS(2198),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [304] = {
    [sym__method_rest] = STATE(215),
    [sym__variable] = STATE(216),
    [sym_operator] = STATE(217),
    [sym__method_name] = STATE(218),
    [sym_setter] = STATE(217),
    [sym_symbol] = STATE(217),
    [sym_super] = STATE(219),
    [sym_self] = STATE(219),
    [sym__simple_symbol] = ACTIONS(378),
    [sym__symbol_beginning] = ACTIONS(380),
    [sym__keyword_colon] = ACTIONS(1556),
    [anon_sym_LPAREN] = ACTIONS(382),
    [anon_sym_PIPE] = ACTIONS(384),
    [anon_sym_STAR] = ACTIONS(386),
    [anon_sym_STAR_STAR] = ACTIONS(384),
    [anon_sym_AMP] = ACTIONS(384),
    [anon_sym_LT] = ACTIONS(386),
    [anon_sym_DOT_DOT] = ACTIONS(384),
    [anon_sym_LT_LT] = ACTIONS(384),
    [anon_sym_GT_GT] = ACTIONS(384),
    [anon_sym_EQ_EQ] = ACTIONS(386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(384),
    [anon_sym_LT_EQ_GT] = ACTIONS(384),
    [anon_sym_EQ_TILDE] = ACTIONS(384),
    [anon_sym_BANG_TILDE] = ACTIONS(384),
    [anon_sym_LT_EQ] = ACTIONS(386),
    [anon_sym_GT] = ACTIONS(386),
    [anon_sym_GT_EQ] = ACTIONS(384),
    [anon_sym_CARET] = ACTIONS(384),
    [anon_sym_PLUS] = ACTIONS(386),
    [anon_sym_SLASH] = ACTIONS(384),
    [anon_sym_PERCENT] = ACTIONS(384),
    [anon_sym_BANG] = ACTIONS(386),
    [anon_sym_TILDE] = ACTIONS(384),
    [sym_constant] = ACTIONS(388),
    [sym_identifier] = ACTIONS(390),
    [sym_instance_variable] = ACTIONS(388),
    [sym_class_variable] = ACTIONS(388),
    [sym_global_variable] = ACTIONS(388),
    [anon_sym_self] = ACTIONS(392),
    [anon_sym_super] = ACTIONS(394),
    [anon_sym_DASH] = ACTIONS(386),
    [anon_sym_PLUS_AT] = ACTIONS(384),
    [anon_sym_DASH_AT] = ACTIONS(384),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(386),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(384),
    [anon_sym_BQUOTE] = ACTIONS(384),
    [sym_comment] = ACTIONS(110),
  },
  [305] = {
    [sym_constant] = ACTIONS(2200),
    [sym_identifier] = ACTIONS(2200),
    [sym_comment] = ACTIONS(110),
  },
  [306] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1399),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1365),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1366),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2144),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2146),
    [anon_sym_defined_QMARK] = ACTIONS(2148),
    [anon_sym_not] = ACTIONS(2150),
    [anon_sym_BANG] = ACTIONS(2152),
    [anon_sym_TILDE] = ACTIONS(2152),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [307] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(293),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(294),
    [sym_call] = STATE(295),
    [sym_method_call] = STATE(286),
    [sym__lhs] = STATE(255),
    [sym__variable] = STATE(295),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__singleton_class_left_angle_left_langle] = ACTIONS(522),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(458),
    [anon_sym_COLON_COLON] = ACTIONS(524),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(526),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [308] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(293),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(297),
    [sym_call] = STATE(295),
    [sym_method_call] = STATE(286),
    [sym__lhs] = STATE(255),
    [sym__variable] = STATE(295),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [sym__keyword_colon] = ACTIONS(1556),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(458),
    [anon_sym_COLON_COLON] = ACTIONS(524),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(528),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [309] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1404),
    [sym__primary] = STATE(337),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(339),
    [sym_call] = STATE(339),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(340),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(1405),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(345),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(346),
    [sym__variable] = STATE(339),
    [sym_reserved_identifier] = STATE(1406),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(1407),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(2202),
    [sym__splat_star] = ACTIONS(2204),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(542),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [ts_builtin_sym_end] = ACTIONS(532),
    [anon_sym___END__] = ACTIONS(544),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(554),
    [anon_sym_yield] = ACTIONS(556),
    [anon_sym_break] = ACTIONS(558),
    [anon_sym_next] = ACTIONS(560),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(572),
    [anon_sym_not] = ACTIONS(574),
    [anon_sym_BANG] = ACTIONS(576),
    [anon_sym_TILDE] = ACTIONS(578),
    [sym_constant] = ACTIONS(2206),
    [sym_identifier] = ACTIONS(2206),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(588),
    [anon_sym_super] = ACTIONS(590),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [310] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1404),
    [sym__primary] = STATE(337),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(339),
    [sym_call] = STATE(339),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(349),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(1405),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(345),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(346),
    [sym__variable] = STATE(339),
    [sym_reserved_identifier] = STATE(1406),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(1407),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(2202),
    [sym__splat_star] = ACTIONS(2204),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(542),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [ts_builtin_sym_end] = ACTIONS(602),
    [anon_sym___END__] = ACTIONS(604),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(554),
    [anon_sym_yield] = ACTIONS(556),
    [anon_sym_break] = ACTIONS(558),
    [anon_sym_next] = ACTIONS(560),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(572),
    [anon_sym_not] = ACTIONS(574),
    [anon_sym_BANG] = ACTIONS(576),
    [anon_sym_TILDE] = ACTIONS(578),
    [sym_constant] = ACTIONS(2206),
    [sym_identifier] = ACTIONS(2206),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(588),
    [anon_sym_super] = ACTIONS(590),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [311] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1404),
    [sym__primary] = STATE(337),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(339),
    [sym_call] = STATE(339),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(350),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(1405),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(345),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(346),
    [sym__variable] = STATE(339),
    [sym_reserved_identifier] = STATE(1406),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(1407),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(2202),
    [sym__splat_star] = ACTIONS(2204),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(542),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [ts_builtin_sym_end] = ACTIONS(606),
    [anon_sym___END__] = ACTIONS(608),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(554),
    [anon_sym_yield] = ACTIONS(556),
    [anon_sym_break] = ACTIONS(558),
    [anon_sym_next] = ACTIONS(560),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(572),
    [anon_sym_not] = ACTIONS(574),
    [anon_sym_BANG] = ACTIONS(576),
    [anon_sym_TILDE] = ACTIONS(578),
    [sym_constant] = ACTIONS(2206),
    [sym_identifier] = ACTIONS(2206),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(588),
    [anon_sym_super] = ACTIONS(590),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [312] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1404),
    [sym__primary] = STATE(337),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(339),
    [sym_call] = STATE(339),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(351),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(1405),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(345),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(346),
    [sym__variable] = STATE(339),
    [sym_reserved_identifier] = STATE(1406),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(1407),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(2202),
    [sym__splat_star] = ACTIONS(2204),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(542),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [ts_builtin_sym_end] = ACTIONS(610),
    [anon_sym___END__] = ACTIONS(612),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(554),
    [anon_sym_yield] = ACTIONS(556),
    [anon_sym_break] = ACTIONS(558),
    [anon_sym_next] = ACTIONS(560),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(572),
    [anon_sym_not] = ACTIONS(574),
    [anon_sym_BANG] = ACTIONS(576),
    [anon_sym_TILDE] = ACTIONS(578),
    [sym_constant] = ACTIONS(2206),
    [sym_identifier] = ACTIONS(2206),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(588),
    [anon_sym_super] = ACTIONS(590),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [313] = {
    [sym__simple_heredoc_body] = ACTIONS(614),
    [sym__heredoc_body_beginning] = ACTIONS(614),
    [sym__line_break] = ACTIONS(614),
    [sym__element_reference_left_bracket] = ACTIONS(614),
    [sym__scope_double_colon] = ACTIONS(614),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__binary_minus] = ACTIONS(614),
    [sym__binary_star] = ACTIONS(614),
    [ts_builtin_sym_end] = ACTIONS(614),
    [anon_sym___END__] = ACTIONS(614),
    [anon_sym_LBRACE] = ACTIONS(614),
    [anon_sym_RBRACE] = ACTIONS(614),
    [anon_sym_RPAREN] = ACTIONS(614),
    [anon_sym_DOT] = ACTIONS(616),
    [anon_sym_end] = ACTIONS(614),
    [anon_sym_COMMA] = ACTIONS(614),
    [anon_sym_PIPE] = ACTIONS(616),
    [anon_sym_SEMI] = ACTIONS(614),
    [anon_sym_STAR_STAR] = ACTIONS(614),
    [anon_sym_AMP] = ACTIONS(616),
    [anon_sym_LT] = ACTIONS(616),
    [anon_sym_if] = ACTIONS(614),
    [anon_sym_unless] = ACTIONS(614),
    [anon_sym_while] = ACTIONS(614),
    [anon_sym_until] = ACTIONS(614),
    [anon_sym_rescue] = ACTIONS(614),
    [anon_sym_do] = ACTIONS(614),
    [anon_sym_when] = ACTIONS(614),
    [anon_sym_elsif] = ACTIONS(614),
    [anon_sym_else] = ACTIONS(614),
    [anon_sym_then] = ACTIONS(614),
    [anon_sym_ensure] = ACTIONS(614),
    [anon_sym_EQ_GT] = ACTIONS(614),
    [anon_sym_AMP_DOT] = ACTIONS(614),
    [anon_sym_QMARK] = ACTIONS(614),
    [anon_sym_DOT_DOT] = ACTIONS(616),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(614),
    [anon_sym_and] = ACTIONS(614),
    [anon_sym_or] = ACTIONS(614),
    [anon_sym_PIPE_PIPE] = ACTIONS(614),
    [anon_sym_AMP_AMP] = ACTIONS(614),
    [anon_sym_LT_LT] = ACTIONS(614),
    [anon_sym_GT_GT] = ACTIONS(614),
    [anon_sym_EQ_EQ] = ACTIONS(616),
    [anon_sym_BANG_EQ] = ACTIONS(614),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(614),
    [anon_sym_LT_EQ_GT] = ACTIONS(614),
    [anon_sym_EQ_TILDE] = ACTIONS(614),
    [anon_sym_BANG_TILDE] = ACTIONS(614),
    [anon_sym_LT_EQ] = ACTIONS(616),
    [anon_sym_GT] = ACTIONS(616),
    [anon_sym_GT_EQ] = ACTIONS(614),
    [anon_sym_CARET] = ACTIONS(614),
    [anon_sym_PLUS] = ACTIONS(614),
    [anon_sym_SLASH] = ACTIONS(614),
    [anon_sym_PERCENT] = ACTIONS(614),
    [sym_comment] = ACTIONS(110),
  },
  [314] = {
    [sym__simple_heredoc_body] = ACTIONS(618),
    [sym__heredoc_body_beginning] = ACTIONS(618),
    [sym__line_break] = ACTIONS(618),
    [sym__element_reference_left_bracket] = ACTIONS(618),
    [sym__scope_double_colon] = ACTIONS(618),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__binary_minus] = ACTIONS(618),
    [sym__binary_star] = ACTIONS(618),
    [ts_builtin_sym_end] = ACTIONS(618),
    [anon_sym___END__] = ACTIONS(618),
    [anon_sym_LBRACE] = ACTIONS(618),
    [anon_sym_RBRACE] = ACTIONS(618),
    [anon_sym_RPAREN] = ACTIONS(618),
    [anon_sym_DOT] = ACTIONS(620),
    [anon_sym_end] = ACTIONS(618),
    [anon_sym_COMMA] = ACTIONS(618),
    [anon_sym_PIPE] = ACTIONS(620),
    [anon_sym_SEMI] = ACTIONS(618),
    [anon_sym_STAR_STAR] = ACTIONS(618),
    [anon_sym_AMP] = ACTIONS(620),
    [anon_sym_LT] = ACTIONS(620),
    [anon_sym_if] = ACTIONS(618),
    [anon_sym_unless] = ACTIONS(618),
    [anon_sym_while] = ACTIONS(618),
    [anon_sym_until] = ACTIONS(618),
    [anon_sym_rescue] = ACTIONS(618),
    [anon_sym_do] = ACTIONS(618),
    [anon_sym_when] = ACTIONS(618),
    [anon_sym_elsif] = ACTIONS(618),
    [anon_sym_else] = ACTIONS(618),
    [anon_sym_then] = ACTIONS(618),
    [anon_sym_ensure] = ACTIONS(618),
    [anon_sym_EQ_GT] = ACTIONS(618),
    [anon_sym_AMP_DOT] = ACTIONS(618),
    [anon_sym_QMARK] = ACTIONS(618),
    [anon_sym_DOT_DOT] = ACTIONS(620),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(618),
    [anon_sym_and] = ACTIONS(618),
    [anon_sym_or] = ACTIONS(618),
    [anon_sym_PIPE_PIPE] = ACTIONS(618),
    [anon_sym_AMP_AMP] = ACTIONS(618),
    [anon_sym_LT_LT] = ACTIONS(618),
    [anon_sym_GT_GT] = ACTIONS(618),
    [anon_sym_EQ_EQ] = ACTIONS(620),
    [anon_sym_BANG_EQ] = ACTIONS(618),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(618),
    [anon_sym_LT_EQ_GT] = ACTIONS(618),
    [anon_sym_EQ_TILDE] = ACTIONS(618),
    [anon_sym_BANG_TILDE] = ACTIONS(618),
    [anon_sym_LT_EQ] = ACTIONS(620),
    [anon_sym_GT] = ACTIONS(620),
    [anon_sym_GT_EQ] = ACTIONS(618),
    [anon_sym_CARET] = ACTIONS(618),
    [anon_sym_PLUS] = ACTIONS(618),
    [anon_sym_SLASH] = ACTIONS(618),
    [anon_sym_PERCENT] = ACTIONS(618),
    [sym_comment] = ACTIONS(110),
  },
  [315] = {
    [sym__statement] = STATE(360),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(361),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [316] = {
    [sym__statement] = STATE(365),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(361),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [317] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(374),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [318] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(378),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [319] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(285),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(381),
    [sym_call] = STATE(381),
    [sym_method_call] = STATE(286),
    [sym__mlhs] = STATE(382),
    [sym__simple_mlhs] = STATE(383),
    [sym_destructured_left_assignment] = STATE(383),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(384),
    [sym__variable] = STATE(381),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [sym__keyword_colon] = ACTIONS(1556),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(658),
    [anon_sym_COLON_COLON] = ACTIONS(460),
    [anon_sym_STAR] = ACTIONS(660),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(494),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [320] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_when] = STATE(397),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(398),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(400),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(401),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(387),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__terminator] = STATE(402),
    [aux_sym_case_repeat1] = STATE(403),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(666),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(668),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_when] = ACTIONS(678),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(680),
    [anon_sym_defined_QMARK] = ACTIONS(682),
    [anon_sym_not] = ACTIONS(684),
    [anon_sym_BANG] = ACTIONS(686),
    [anon_sym_TILDE] = ACTIONS(686),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [321] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(426),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(431),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(692),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(696),
    [anon_sym_SEMI] = ACTIONS(698),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [322] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1408),
    [sym__primary] = STATE(337),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(339),
    [sym_call] = STATE(339),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(345),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(346),
    [sym__variable] = STATE(339),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(542),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2182),
    [anon_sym_yield] = ACTIONS(2184),
    [anon_sym_break] = ACTIONS(2186),
    [anon_sym_next] = ACTIONS(2188),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2190),
    [anon_sym_defined_QMARK] = ACTIONS(572),
    [anon_sym_not] = ACTIONS(2192),
    [anon_sym_BANG] = ACTIONS(578),
    [anon_sym_TILDE] = ACTIONS(578),
    [sym_constant] = ACTIONS(2194),
    [sym_identifier] = ACTIONS(2194),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2196),
    [anon_sym_super] = ACTIONS(2198),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [323] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1409),
    [sym__primary] = STATE(337),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(339),
    [sym_call] = STATE(339),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(345),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(346),
    [sym__variable] = STATE(339),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(542),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2182),
    [anon_sym_yield] = ACTIONS(2184),
    [anon_sym_break] = ACTIONS(2186),
    [anon_sym_next] = ACTIONS(2188),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2190),
    [anon_sym_defined_QMARK] = ACTIONS(572),
    [anon_sym_not] = ACTIONS(2192),
    [anon_sym_BANG] = ACTIONS(578),
    [anon_sym_TILDE] = ACTIONS(578),
    [sym_constant] = ACTIONS(2194),
    [sym_identifier] = ACTIONS(2194),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2196),
    [anon_sym_super] = ACTIONS(2198),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [324] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1409),
    [sym__primary] = STATE(337),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(339),
    [sym_call] = STATE(339),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(345),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(346),
    [sym__variable] = STATE(339),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(542),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2182),
    [anon_sym_yield] = ACTIONS(2184),
    [anon_sym_break] = ACTIONS(2186),
    [anon_sym_next] = ACTIONS(2188),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2190),
    [anon_sym_defined_QMARK] = ACTIONS(572),
    [anon_sym_not] = ACTIONS(2192),
    [anon_sym_BANG] = ACTIONS(578),
    [anon_sym_TILDE] = ACTIONS(578),
    [sym_constant] = ACTIONS(2194),
    [sym_identifier] = ACTIONS(2194),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2196),
    [anon_sym_super] = ACTIONS(2198),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [325] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1410),
    [sym__primary] = STATE(337),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(339),
    [sym_call] = STATE(339),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(345),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(346),
    [sym__variable] = STATE(339),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(542),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2182),
    [anon_sym_yield] = ACTIONS(2184),
    [anon_sym_break] = ACTIONS(2186),
    [anon_sym_next] = ACTIONS(2188),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2190),
    [anon_sym_defined_QMARK] = ACTIONS(572),
    [anon_sym_not] = ACTIONS(2192),
    [anon_sym_BANG] = ACTIONS(578),
    [anon_sym_TILDE] = ACTIONS(578),
    [sym_constant] = ACTIONS(2194),
    [sym_identifier] = ACTIONS(2194),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2196),
    [anon_sym_super] = ACTIONS(2198),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [326] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(2208),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [ts_builtin_sym_end] = ACTIONS(722),
    [anon_sym___END__] = ACTIONS(724),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [327] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [ts_builtin_sym_end] = ACTIONS(722),
    [anon_sym___END__] = ACTIONS(724),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [328] = {
    [sym__simple_heredoc_body] = ACTIONS(740),
    [sym__heredoc_body_beginning] = ACTIONS(740),
    [sym__line_break] = ACTIONS(740),
    [sym__element_reference_left_bracket] = ACTIONS(740),
    [sym__scope_double_colon] = ACTIONS(740),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__binary_minus] = ACTIONS(740),
    [sym__binary_star] = ACTIONS(740),
    [ts_builtin_sym_end] = ACTIONS(740),
    [anon_sym___END__] = ACTIONS(740),
    [anon_sym_LBRACE] = ACTIONS(740),
    [anon_sym_RBRACE] = ACTIONS(740),
    [anon_sym_RPAREN] = ACTIONS(740),
    [anon_sym_DOT] = ACTIONS(742),
    [anon_sym_end] = ACTIONS(740),
    [anon_sym_COMMA] = ACTIONS(740),
    [anon_sym_PIPE] = ACTIONS(742),
    [anon_sym_SEMI] = ACTIONS(740),
    [anon_sym_STAR_STAR] = ACTIONS(742),
    [anon_sym_AMP] = ACTIONS(742),
    [anon_sym_EQ] = ACTIONS(742),
    [anon_sym_LT] = ACTIONS(742),
    [anon_sym_if] = ACTIONS(740),
    [anon_sym_unless] = ACTIONS(740),
    [anon_sym_while] = ACTIONS(740),
    [anon_sym_until] = ACTIONS(740),
    [anon_sym_rescue] = ACTIONS(740),
    [anon_sym_do] = ACTIONS(740),
    [anon_sym_when] = ACTIONS(740),
    [anon_sym_elsif] = ACTIONS(740),
    [anon_sym_else] = ACTIONS(740),
    [anon_sym_then] = ACTIONS(740),
    [anon_sym_ensure] = ACTIONS(740),
    [anon_sym_EQ_GT] = ACTIONS(740),
    [anon_sym_AMP_DOT] = ACTIONS(740),
    [anon_sym_PLUS_EQ] = ACTIONS(740),
    [anon_sym_DASH_EQ] = ACTIONS(740),
    [anon_sym_STAR_EQ] = ACTIONS(740),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(740),
    [anon_sym_SLASH_EQ] = ACTIONS(740),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(740),
    [anon_sym_PIPE_EQ] = ACTIONS(740),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(740),
    [anon_sym_AMP_EQ] = ACTIONS(740),
    [anon_sym_PERCENT_EQ] = ACTIONS(740),
    [anon_sym_GT_GT_EQ] = ACTIONS(740),
    [anon_sym_LT_LT_EQ] = ACTIONS(740),
    [anon_sym_CARET_EQ] = ACTIONS(740),
    [anon_sym_QMARK] = ACTIONS(740),
    [anon_sym_DOT_DOT] = ACTIONS(742),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(740),
    [anon_sym_and] = ACTIONS(740),
    [anon_sym_or] = ACTIONS(740),
    [anon_sym_PIPE_PIPE] = ACTIONS(742),
    [anon_sym_AMP_AMP] = ACTIONS(742),
    [anon_sym_LT_LT] = ACTIONS(742),
    [anon_sym_GT_GT] = ACTIONS(742),
    [anon_sym_EQ_EQ] = ACTIONS(742),
    [anon_sym_BANG_EQ] = ACTIONS(740),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(740),
    [anon_sym_LT_EQ_GT] = ACTIONS(740),
    [anon_sym_EQ_TILDE] = ACTIONS(740),
    [anon_sym_BANG_TILDE] = ACTIONS(740),
    [anon_sym_LT_EQ] = ACTIONS(742),
    [anon_sym_GT] = ACTIONS(742),
    [anon_sym_GT_EQ] = ACTIONS(740),
    [anon_sym_CARET] = ACTIONS(742),
    [anon_sym_PLUS] = ACTIONS(742),
    [anon_sym_SLASH] = ACTIONS(742),
    [anon_sym_PERCENT] = ACTIONS(742),
    [sym_comment] = ACTIONS(256),
  },
  [329] = {
    [sym__simple_heredoc_body] = ACTIONS(744),
    [sym__heredoc_body_beginning] = ACTIONS(744),
    [sym__line_break] = ACTIONS(744),
    [sym__element_reference_left_bracket] = ACTIONS(744),
    [sym__scope_double_colon] = ACTIONS(744),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__binary_minus] = ACTIONS(744),
    [sym__binary_star] = ACTIONS(744),
    [ts_builtin_sym_end] = ACTIONS(744),
    [anon_sym___END__] = ACTIONS(744),
    [anon_sym_LBRACE] = ACTIONS(744),
    [anon_sym_RBRACE] = ACTIONS(744),
    [anon_sym_RPAREN] = ACTIONS(744),
    [anon_sym_DOT] = ACTIONS(746),
    [anon_sym_end] = ACTIONS(744),
    [anon_sym_COMMA] = ACTIONS(744),
    [anon_sym_PIPE] = ACTIONS(746),
    [anon_sym_SEMI] = ACTIONS(744),
    [anon_sym_STAR_STAR] = ACTIONS(746),
    [anon_sym_AMP] = ACTIONS(746),
    [anon_sym_EQ] = ACTIONS(746),
    [anon_sym_LT] = ACTIONS(746),
    [anon_sym_if] = ACTIONS(744),
    [anon_sym_unless] = ACTIONS(744),
    [anon_sym_while] = ACTIONS(744),
    [anon_sym_until] = ACTIONS(744),
    [anon_sym_rescue] = ACTIONS(744),
    [anon_sym_do] = ACTIONS(744),
    [anon_sym_when] = ACTIONS(744),
    [anon_sym_elsif] = ACTIONS(744),
    [anon_sym_else] = ACTIONS(744),
    [anon_sym_then] = ACTIONS(744),
    [anon_sym_ensure] = ACTIONS(744),
    [anon_sym_EQ_GT] = ACTIONS(744),
    [anon_sym_AMP_DOT] = ACTIONS(744),
    [anon_sym_PLUS_EQ] = ACTIONS(744),
    [anon_sym_DASH_EQ] = ACTIONS(744),
    [anon_sym_STAR_EQ] = ACTIONS(744),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(744),
    [anon_sym_SLASH_EQ] = ACTIONS(744),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(744),
    [anon_sym_PIPE_EQ] = ACTIONS(744),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(744),
    [anon_sym_AMP_EQ] = ACTIONS(744),
    [anon_sym_PERCENT_EQ] = ACTIONS(744),
    [anon_sym_GT_GT_EQ] = ACTIONS(744),
    [anon_sym_LT_LT_EQ] = ACTIONS(744),
    [anon_sym_CARET_EQ] = ACTIONS(744),
    [anon_sym_QMARK] = ACTIONS(744),
    [anon_sym_DOT_DOT] = ACTIONS(746),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(744),
    [anon_sym_and] = ACTIONS(744),
    [anon_sym_or] = ACTIONS(744),
    [anon_sym_PIPE_PIPE] = ACTIONS(746),
    [anon_sym_AMP_AMP] = ACTIONS(746),
    [anon_sym_LT_LT] = ACTIONS(746),
    [anon_sym_GT_GT] = ACTIONS(746),
    [anon_sym_EQ_EQ] = ACTIONS(746),
    [anon_sym_BANG_EQ] = ACTIONS(744),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(744),
    [anon_sym_LT_EQ_GT] = ACTIONS(744),
    [anon_sym_EQ_TILDE] = ACTIONS(744),
    [anon_sym_BANG_TILDE] = ACTIONS(744),
    [anon_sym_LT_EQ] = ACTIONS(746),
    [anon_sym_GT] = ACTIONS(746),
    [anon_sym_GT_EQ] = ACTIONS(744),
    [anon_sym_CARET] = ACTIONS(746),
    [anon_sym_PLUS] = ACTIONS(746),
    [anon_sym_SLASH] = ACTIONS(746),
    [anon_sym_PERCENT] = ACTIONS(746),
    [sym_comment] = ACTIONS(256),
  },
  [330] = {
    [sym__simple_string] = ACTIONS(748),
    [sym__simple_symbol] = ACTIONS(748),
    [sym__simple_subshell] = ACTIONS(748),
    [sym__simple_regex] = ACTIONS(748),
    [sym__simple_word_list] = ACTIONS(748),
    [sym__simple_heredoc_body] = ACTIONS(748),
    [sym__string_beginning] = ACTIONS(748),
    [sym__symbol_beginning] = ACTIONS(748),
    [sym__subshell_beginning] = ACTIONS(748),
    [sym__regex_beginning] = ACTIONS(748),
    [sym__word_list_beginning] = ACTIONS(748),
    [sym__heredoc_body_beginning] = ACTIONS(748),
    [sym_heredoc_beginning] = ACTIONS(748),
    [sym__line_break] = ACTIONS(748),
    [sym__element_reference_left_bracket] = ACTIONS(748),
    [sym__block_ampersand] = ACTIONS(748),
    [sym__splat_star] = ACTIONS(748),
    [sym__argument_list_left_paren] = ACTIONS(748),
    [sym__scope_double_colon] = ACTIONS(748),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(748),
    [sym__binary_minus] = ACTIONS(748),
    [sym__binary_star] = ACTIONS(748),
    [ts_builtin_sym_end] = ACTIONS(748),
    [anon_sym___END__] = ACTIONS(750),
    [anon_sym_LBRACE] = ACTIONS(748),
    [anon_sym_def] = ACTIONS(750),
    [anon_sym_LPAREN] = ACTIONS(748),
    [anon_sym_DOT] = ACTIONS(750),
    [anon_sym_COLON_COLON] = ACTIONS(748),
    [anon_sym_end] = ACTIONS(750),
    [anon_sym_COMMA] = ACTIONS(748),
    [anon_sym_PIPE] = ACTIONS(750),
    [anon_sym_SEMI] = ACTIONS(748),
    [anon_sym_STAR] = ACTIONS(750),
    [anon_sym_STAR_STAR] = ACTIONS(750),
    [anon_sym_AMP] = ACTIONS(750),
    [anon_sym_EQ] = ACTIONS(750),
    [anon_sym_class] = ACTIONS(750),
    [anon_sym_LT] = ACTIONS(750),
    [anon_sym_module] = ACTIONS(750),
    [anon_sym_return] = ACTIONS(750),
    [anon_sym_yield] = ACTIONS(750),
    [anon_sym_break] = ACTIONS(750),
    [anon_sym_next] = ACTIONS(750),
    [anon_sym_redo] = ACTIONS(750),
    [anon_sym_retry] = ACTIONS(750),
    [anon_sym_if] = ACTIONS(750),
    [anon_sym_unless] = ACTIONS(750),
    [anon_sym_while] = ACTIONS(750),
    [anon_sym_until] = ACTIONS(750),
    [anon_sym_rescue] = ACTIONS(750),
    [anon_sym_for] = ACTIONS(750),
    [anon_sym_in] = ACTIONS(750),
    [anon_sym_do] = ACTIONS(750),
    [anon_sym_case] = ACTIONS(750),
    [anon_sym_when] = ACTIONS(750),
    [anon_sym_elsif] = ACTIONS(750),
    [anon_sym_else] = ACTIONS(750),
    [anon_sym_then] = ACTIONS(750),
    [anon_sym_begin] = ACTIONS(750),
    [anon_sym_ensure] = ACTIONS(750),
    [anon_sym_EQ_GT] = ACTIONS(748),
    [anon_sym_AMP_DOT] = ACTIONS(748),
    [anon_sym_PLUS_EQ] = ACTIONS(748),
    [anon_sym_DASH_EQ] = ACTIONS(748),
    [anon_sym_STAR_EQ] = ACTIONS(748),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(748),
    [anon_sym_SLASH_EQ] = ACTIONS(748),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(748),
    [anon_sym_PIPE_EQ] = ACTIONS(748),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(748),
    [anon_sym_AMP_EQ] = ACTIONS(748),
    [anon_sym_PERCENT_EQ] = ACTIONS(748),
    [anon_sym_GT_GT_EQ] = ACTIONS(748),
    [anon_sym_LT_LT_EQ] = ACTIONS(748),
    [anon_sym_CARET_EQ] = ACTIONS(748),
    [anon_sym_QMARK] = ACTIONS(750),
    [anon_sym_DOT_DOT] = ACTIONS(750),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(748),
    [anon_sym_and] = ACTIONS(750),
    [anon_sym_or] = ACTIONS(750),
    [anon_sym_PIPE_PIPE] = ACTIONS(750),
    [anon_sym_AMP_AMP] = ACTIONS(750),
    [anon_sym_LT_LT] = ACTIONS(750),
    [anon_sym_GT_GT] = ACTIONS(750),
    [anon_sym_EQ_EQ] = ACTIONS(750),
    [anon_sym_BANG_EQ] = ACTIONS(748),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(748),
    [anon_sym_LT_EQ_GT] = ACTIONS(748),
    [anon_sym_EQ_TILDE] = ACTIONS(748),
    [anon_sym_BANG_TILDE] = ACTIONS(748),
    [anon_sym_LT_EQ] = ACTIONS(750),
    [anon_sym_GT] = ACTIONS(750),
    [anon_sym_GT_EQ] = ACTIONS(748),
    [anon_sym_CARET] = ACTIONS(750),
    [anon_sym_PLUS] = ACTIONS(750),
    [anon_sym_SLASH] = ACTIONS(750),
    [anon_sym_PERCENT] = ACTIONS(750),
    [anon_sym_defined_QMARK] = ACTIONS(748),
    [anon_sym_not] = ACTIONS(750),
    [anon_sym_BANG] = ACTIONS(750),
    [anon_sym_TILDE] = ACTIONS(748),
    [sym_constant] = ACTIONS(752),
    [sym_identifier] = ACTIONS(752),
    [sym_instance_variable] = ACTIONS(750),
    [sym_class_variable] = ACTIONS(750),
    [sym_global_variable] = ACTIONS(750),
    [anon_sym_alias] = ACTIONS(750),
    [anon_sym_defined] = ACTIONS(750),
    [anon_sym_false] = ACTIONS(750),
    [anon_sym_nil] = ACTIONS(750),
    [anon_sym_self] = ACTIONS(750),
    [anon_sym_super] = ACTIONS(750),
    [anon_sym_true] = ACTIONS(750),
    [anon_sym_undef] = ACTIONS(750),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(750),
    [sym_float] = ACTIONS(752),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(748),
    [anon_sym_TRUE] = ACTIONS(750),
    [anon_sym_FALSE] = ACTIONS(750),
    [anon_sym_NIL] = ACTIONS(750),
    [sym_keyword__FILE__] = ACTIONS(750),
    [sym_keyword__LINE__] = ACTIONS(750),
    [sym_keyword__ENCODING__] = ACTIONS(750),
    [sym__character_literal] = ACTIONS(750),
    [anon_sym_LBRACK] = ACTIONS(748),
    [anon_sym_DASH_GT] = ACTIONS(748),
  },
  [331] = {
    [sym__simple_string] = ACTIONS(754),
    [sym__simple_symbol] = ACTIONS(754),
    [sym__simple_subshell] = ACTIONS(754),
    [sym__simple_regex] = ACTIONS(754),
    [sym__simple_word_list] = ACTIONS(754),
    [sym__simple_heredoc_body] = ACTIONS(754),
    [sym__string_beginning] = ACTIONS(754),
    [sym__symbol_beginning] = ACTIONS(754),
    [sym__subshell_beginning] = ACTIONS(754),
    [sym__regex_beginning] = ACTIONS(754),
    [sym__word_list_beginning] = ACTIONS(754),
    [sym__heredoc_body_beginning] = ACTIONS(754),
    [sym_heredoc_beginning] = ACTIONS(754),
    [sym__line_break] = ACTIONS(754),
    [sym__element_reference_left_bracket] = ACTIONS(754),
    [sym__block_ampersand] = ACTIONS(754),
    [sym__splat_star] = ACTIONS(754),
    [sym__argument_list_left_paren] = ACTIONS(754),
    [sym__scope_double_colon] = ACTIONS(754),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(754),
    [sym__binary_minus] = ACTIONS(754),
    [sym__binary_star] = ACTIONS(754),
    [ts_builtin_sym_end] = ACTIONS(754),
    [anon_sym___END__] = ACTIONS(756),
    [anon_sym_LBRACE] = ACTIONS(754),
    [anon_sym_def] = ACTIONS(756),
    [anon_sym_LPAREN] = ACTIONS(754),
    [anon_sym_DOT] = ACTIONS(756),
    [anon_sym_COLON_COLON] = ACTIONS(754),
    [anon_sym_end] = ACTIONS(756),
    [anon_sym_COMMA] = ACTIONS(754),
    [anon_sym_PIPE] = ACTIONS(756),
    [anon_sym_SEMI] = ACTIONS(754),
    [anon_sym_STAR] = ACTIONS(756),
    [anon_sym_STAR_STAR] = ACTIONS(756),
    [anon_sym_AMP] = ACTIONS(756),
    [anon_sym_EQ] = ACTIONS(756),
    [anon_sym_class] = ACTIONS(756),
    [anon_sym_LT] = ACTIONS(756),
    [anon_sym_module] = ACTIONS(756),
    [anon_sym_return] = ACTIONS(756),
    [anon_sym_yield] = ACTIONS(756),
    [anon_sym_break] = ACTIONS(756),
    [anon_sym_next] = ACTIONS(756),
    [anon_sym_redo] = ACTIONS(756),
    [anon_sym_retry] = ACTIONS(756),
    [anon_sym_if] = ACTIONS(756),
    [anon_sym_unless] = ACTIONS(756),
    [anon_sym_while] = ACTIONS(756),
    [anon_sym_until] = ACTIONS(756),
    [anon_sym_rescue] = ACTIONS(756),
    [anon_sym_for] = ACTIONS(756),
    [anon_sym_in] = ACTIONS(756),
    [anon_sym_do] = ACTIONS(756),
    [anon_sym_case] = ACTIONS(756),
    [anon_sym_when] = ACTIONS(756),
    [anon_sym_elsif] = ACTIONS(756),
    [anon_sym_else] = ACTIONS(756),
    [anon_sym_then] = ACTIONS(756),
    [anon_sym_begin] = ACTIONS(756),
    [anon_sym_ensure] = ACTIONS(756),
    [anon_sym_EQ_GT] = ACTIONS(754),
    [anon_sym_AMP_DOT] = ACTIONS(754),
    [anon_sym_PLUS_EQ] = ACTIONS(754),
    [anon_sym_DASH_EQ] = ACTIONS(754),
    [anon_sym_STAR_EQ] = ACTIONS(754),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(754),
    [anon_sym_SLASH_EQ] = ACTIONS(754),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(754),
    [anon_sym_PIPE_EQ] = ACTIONS(754),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(754),
    [anon_sym_AMP_EQ] = ACTIONS(754),
    [anon_sym_PERCENT_EQ] = ACTIONS(754),
    [anon_sym_GT_GT_EQ] = ACTIONS(754),
    [anon_sym_LT_LT_EQ] = ACTIONS(754),
    [anon_sym_CARET_EQ] = ACTIONS(754),
    [anon_sym_QMARK] = ACTIONS(756),
    [anon_sym_DOT_DOT] = ACTIONS(756),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(754),
    [anon_sym_and] = ACTIONS(756),
    [anon_sym_or] = ACTIONS(756),
    [anon_sym_PIPE_PIPE] = ACTIONS(756),
    [anon_sym_AMP_AMP] = ACTIONS(756),
    [anon_sym_LT_LT] = ACTIONS(756),
    [anon_sym_GT_GT] = ACTIONS(756),
    [anon_sym_EQ_EQ] = ACTIONS(756),
    [anon_sym_BANG_EQ] = ACTIONS(754),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(754),
    [anon_sym_LT_EQ_GT] = ACTIONS(754),
    [anon_sym_EQ_TILDE] = ACTIONS(754),
    [anon_sym_BANG_TILDE] = ACTIONS(754),
    [anon_sym_LT_EQ] = ACTIONS(756),
    [anon_sym_GT] = ACTIONS(756),
    [anon_sym_GT_EQ] = ACTIONS(754),
    [anon_sym_CARET] = ACTIONS(756),
    [anon_sym_PLUS] = ACTIONS(756),
    [anon_sym_SLASH] = ACTIONS(756),
    [anon_sym_PERCENT] = ACTIONS(756),
    [anon_sym_defined_QMARK] = ACTIONS(754),
    [anon_sym_not] = ACTIONS(756),
    [anon_sym_BANG] = ACTIONS(756),
    [anon_sym_TILDE] = ACTIONS(754),
    [sym_constant] = ACTIONS(758),
    [sym_identifier] = ACTIONS(758),
    [sym_instance_variable] = ACTIONS(756),
    [sym_class_variable] = ACTIONS(756),
    [sym_global_variable] = ACTIONS(756),
    [anon_sym_alias] = ACTIONS(756),
    [anon_sym_defined] = ACTIONS(756),
    [anon_sym_false] = ACTIONS(756),
    [anon_sym_nil] = ACTIONS(756),
    [anon_sym_self] = ACTIONS(756),
    [anon_sym_super] = ACTIONS(756),
    [anon_sym_true] = ACTIONS(756),
    [anon_sym_undef] = ACTIONS(756),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(756),
    [sym_float] = ACTIONS(758),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(754),
    [anon_sym_TRUE] = ACTIONS(756),
    [anon_sym_FALSE] = ACTIONS(756),
    [anon_sym_NIL] = ACTIONS(756),
    [sym_keyword__FILE__] = ACTIONS(756),
    [sym_keyword__LINE__] = ACTIONS(756),
    [sym_keyword__ENCODING__] = ACTIONS(756),
    [sym__character_literal] = ACTIONS(756),
    [anon_sym_LBRACK] = ACTIONS(754),
    [anon_sym_DASH_GT] = ACTIONS(754),
  },
  [332] = {
    [sym__simple_heredoc_body] = ACTIONS(760),
    [sym__heredoc_body_beginning] = ACTIONS(760),
    [sym__line_break] = ACTIONS(760),
    [sym__element_reference_left_bracket] = ACTIONS(760),
    [sym__scope_double_colon] = ACTIONS(760),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__binary_minus] = ACTIONS(760),
    [sym__binary_star] = ACTIONS(760),
    [ts_builtin_sym_end] = ACTIONS(760),
    [anon_sym___END__] = ACTIONS(760),
    [anon_sym_LBRACE] = ACTIONS(760),
    [anon_sym_RBRACE] = ACTIONS(760),
    [anon_sym_RPAREN] = ACTIONS(760),
    [anon_sym_DOT] = ACTIONS(762),
    [anon_sym_end] = ACTIONS(760),
    [anon_sym_COMMA] = ACTIONS(760),
    [anon_sym_PIPE] = ACTIONS(762),
    [anon_sym_SEMI] = ACTIONS(760),
    [anon_sym_STAR_STAR] = ACTIONS(762),
    [anon_sym_AMP] = ACTIONS(762),
    [anon_sym_EQ] = ACTIONS(762),
    [anon_sym_LT] = ACTIONS(762),
    [anon_sym_if] = ACTIONS(760),
    [anon_sym_unless] = ACTIONS(760),
    [anon_sym_while] = ACTIONS(760),
    [anon_sym_until] = ACTIONS(760),
    [anon_sym_rescue] = ACTIONS(760),
    [anon_sym_do] = ACTIONS(760),
    [anon_sym_when] = ACTIONS(760),
    [anon_sym_elsif] = ACTIONS(760),
    [anon_sym_else] = ACTIONS(760),
    [anon_sym_then] = ACTIONS(760),
    [anon_sym_ensure] = ACTIONS(760),
    [anon_sym_EQ_GT] = ACTIONS(760),
    [anon_sym_AMP_DOT] = ACTIONS(760),
    [anon_sym_PLUS_EQ] = ACTIONS(760),
    [anon_sym_DASH_EQ] = ACTIONS(760),
    [anon_sym_STAR_EQ] = ACTIONS(760),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(760),
    [anon_sym_SLASH_EQ] = ACTIONS(760),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(760),
    [anon_sym_PIPE_EQ] = ACTIONS(760),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(760),
    [anon_sym_AMP_EQ] = ACTIONS(760),
    [anon_sym_PERCENT_EQ] = ACTIONS(760),
    [anon_sym_GT_GT_EQ] = ACTIONS(760),
    [anon_sym_LT_LT_EQ] = ACTIONS(760),
    [anon_sym_CARET_EQ] = ACTIONS(760),
    [anon_sym_QMARK] = ACTIONS(760),
    [anon_sym_DOT_DOT] = ACTIONS(762),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(760),
    [anon_sym_and] = ACTIONS(760),
    [anon_sym_or] = ACTIONS(760),
    [anon_sym_PIPE_PIPE] = ACTIONS(762),
    [anon_sym_AMP_AMP] = ACTIONS(762),
    [anon_sym_LT_LT] = ACTIONS(762),
    [anon_sym_GT_GT] = ACTIONS(762),
    [anon_sym_EQ_EQ] = ACTIONS(762),
    [anon_sym_BANG_EQ] = ACTIONS(760),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(760),
    [anon_sym_LT_EQ_GT] = ACTIONS(760),
    [anon_sym_EQ_TILDE] = ACTIONS(760),
    [anon_sym_BANG_TILDE] = ACTIONS(760),
    [anon_sym_LT_EQ] = ACTIONS(762),
    [anon_sym_GT] = ACTIONS(762),
    [anon_sym_GT_EQ] = ACTIONS(760),
    [anon_sym_CARET] = ACTIONS(762),
    [anon_sym_PLUS] = ACTIONS(762),
    [anon_sym_SLASH] = ACTIONS(762),
    [anon_sym_PERCENT] = ACTIONS(762),
    [sym_comment] = ACTIONS(256),
  },
  [333] = {
    [sym__simple_heredoc_body] = ACTIONS(760),
    [sym__heredoc_body_beginning] = ACTIONS(760),
    [sym__line_break] = ACTIONS(760),
    [sym__element_reference_left_bracket] = ACTIONS(760),
    [sym__scope_double_colon] = ACTIONS(760),
    [sym__binary_minus] = ACTIONS(760),
    [sym__binary_star] = ACTIONS(760),
    [ts_builtin_sym_end] = ACTIONS(760),
    [anon_sym___END__] = ACTIONS(760),
    [anon_sym_LBRACE] = ACTIONS(760),
    [anon_sym_RBRACE] = ACTIONS(760),
    [anon_sym_RPAREN] = ACTIONS(760),
    [anon_sym_DOT] = ACTIONS(762),
    [anon_sym_end] = ACTIONS(760),
    [anon_sym_COMMA] = ACTIONS(760),
    [anon_sym_PIPE] = ACTIONS(762),
    [anon_sym_SEMI] = ACTIONS(760),
    [anon_sym_STAR_STAR] = ACTIONS(762),
    [anon_sym_AMP] = ACTIONS(762),
    [anon_sym_EQ] = ACTIONS(762),
    [anon_sym_LT] = ACTIONS(762),
    [anon_sym_if] = ACTIONS(760),
    [anon_sym_unless] = ACTIONS(760),
    [anon_sym_while] = ACTIONS(760),
    [anon_sym_until] = ACTIONS(760),
    [anon_sym_rescue] = ACTIONS(760),
    [anon_sym_do] = ACTIONS(760),
    [anon_sym_when] = ACTIONS(760),
    [anon_sym_elsif] = ACTIONS(760),
    [anon_sym_else] = ACTIONS(760),
    [anon_sym_then] = ACTIONS(760),
    [anon_sym_ensure] = ACTIONS(760),
    [anon_sym_EQ_GT] = ACTIONS(760),
    [anon_sym_AMP_DOT] = ACTIONS(760),
    [anon_sym_PLUS_EQ] = ACTIONS(760),
    [anon_sym_DASH_EQ] = ACTIONS(760),
    [anon_sym_STAR_EQ] = ACTIONS(760),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(760),
    [anon_sym_SLASH_EQ] = ACTIONS(760),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(760),
    [anon_sym_PIPE_EQ] = ACTIONS(760),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(760),
    [anon_sym_AMP_EQ] = ACTIONS(760),
    [anon_sym_PERCENT_EQ] = ACTIONS(760),
    [anon_sym_GT_GT_EQ] = ACTIONS(760),
    [anon_sym_LT_LT_EQ] = ACTIONS(760),
    [anon_sym_CARET_EQ] = ACTIONS(760),
    [anon_sym_QMARK] = ACTIONS(760),
    [anon_sym_DOT_DOT] = ACTIONS(762),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(760),
    [anon_sym_and] = ACTIONS(760),
    [anon_sym_or] = ACTIONS(760),
    [anon_sym_PIPE_PIPE] = ACTIONS(762),
    [anon_sym_AMP_AMP] = ACTIONS(762),
    [anon_sym_LT_LT] = ACTIONS(762),
    [anon_sym_GT_GT] = ACTIONS(762),
    [anon_sym_EQ_EQ] = ACTIONS(762),
    [anon_sym_BANG_EQ] = ACTIONS(760),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(760),
    [anon_sym_LT_EQ_GT] = ACTIONS(760),
    [anon_sym_EQ_TILDE] = ACTIONS(760),
    [anon_sym_BANG_TILDE] = ACTIONS(760),
    [anon_sym_LT_EQ] = ACTIONS(762),
    [anon_sym_GT] = ACTIONS(762),
    [anon_sym_GT_EQ] = ACTIONS(760),
    [anon_sym_CARET] = ACTIONS(762),
    [anon_sym_PLUS] = ACTIONS(762),
    [anon_sym_SLASH] = ACTIONS(762),
    [anon_sym_PERCENT] = ACTIONS(762),
    [sym_comment] = ACTIONS(256),
  },
  [334] = {
    [sym__simple_heredoc_body] = ACTIONS(740),
    [sym__heredoc_body_beginning] = ACTIONS(740),
    [sym__line_break] = ACTIONS(740),
    [sym__element_reference_left_bracket] = ACTIONS(740),
    [sym__scope_double_colon] = ACTIONS(740),
    [sym__binary_minus] = ACTIONS(740),
    [sym__binary_star] = ACTIONS(740),
    [ts_builtin_sym_end] = ACTIONS(740),
    [anon_sym___END__] = ACTIONS(740),
    [anon_sym_LBRACE] = ACTIONS(740),
    [anon_sym_RBRACE] = ACTIONS(740),
    [anon_sym_RPAREN] = ACTIONS(740),
    [anon_sym_DOT] = ACTIONS(742),
    [anon_sym_end] = ACTIONS(740),
    [anon_sym_COMMA] = ACTIONS(740),
    [anon_sym_PIPE] = ACTIONS(742),
    [anon_sym_SEMI] = ACTIONS(740),
    [anon_sym_STAR_STAR] = ACTIONS(742),
    [anon_sym_AMP] = ACTIONS(742),
    [anon_sym_EQ] = ACTIONS(742),
    [anon_sym_LT] = ACTIONS(742),
    [anon_sym_if] = ACTIONS(740),
    [anon_sym_unless] = ACTIONS(740),
    [anon_sym_while] = ACTIONS(740),
    [anon_sym_until] = ACTIONS(740),
    [anon_sym_rescue] = ACTIONS(740),
    [anon_sym_do] = ACTIONS(740),
    [anon_sym_when] = ACTIONS(740),
    [anon_sym_elsif] = ACTIONS(740),
    [anon_sym_else] = ACTIONS(740),
    [anon_sym_then] = ACTIONS(740),
    [anon_sym_ensure] = ACTIONS(740),
    [anon_sym_EQ_GT] = ACTIONS(740),
    [anon_sym_AMP_DOT] = ACTIONS(740),
    [anon_sym_PLUS_EQ] = ACTIONS(740),
    [anon_sym_DASH_EQ] = ACTIONS(740),
    [anon_sym_STAR_EQ] = ACTIONS(740),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(740),
    [anon_sym_SLASH_EQ] = ACTIONS(740),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(740),
    [anon_sym_PIPE_EQ] = ACTIONS(740),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(740),
    [anon_sym_AMP_EQ] = ACTIONS(740),
    [anon_sym_PERCENT_EQ] = ACTIONS(740),
    [anon_sym_GT_GT_EQ] = ACTIONS(740),
    [anon_sym_LT_LT_EQ] = ACTIONS(740),
    [anon_sym_CARET_EQ] = ACTIONS(740),
    [anon_sym_QMARK] = ACTIONS(740),
    [anon_sym_DOT_DOT] = ACTIONS(742),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(740),
    [anon_sym_and] = ACTIONS(740),
    [anon_sym_or] = ACTIONS(740),
    [anon_sym_PIPE_PIPE] = ACTIONS(742),
    [anon_sym_AMP_AMP] = ACTIONS(742),
    [anon_sym_LT_LT] = ACTIONS(742),
    [anon_sym_GT_GT] = ACTIONS(742),
    [anon_sym_EQ_EQ] = ACTIONS(742),
    [anon_sym_BANG_EQ] = ACTIONS(740),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(740),
    [anon_sym_LT_EQ_GT] = ACTIONS(740),
    [anon_sym_EQ_TILDE] = ACTIONS(740),
    [anon_sym_BANG_TILDE] = ACTIONS(740),
    [anon_sym_LT_EQ] = ACTIONS(742),
    [anon_sym_GT] = ACTIONS(742),
    [anon_sym_GT_EQ] = ACTIONS(740),
    [anon_sym_CARET] = ACTIONS(742),
    [anon_sym_PLUS] = ACTIONS(742),
    [anon_sym_SLASH] = ACTIONS(742),
    [anon_sym_PERCENT] = ACTIONS(742),
    [sym_comment] = ACTIONS(256),
  },
  [335] = {
    [sym__simple_heredoc_body] = ACTIONS(744),
    [sym__heredoc_body_beginning] = ACTIONS(744),
    [sym__line_break] = ACTIONS(744),
    [sym__element_reference_left_bracket] = ACTIONS(744),
    [sym__scope_double_colon] = ACTIONS(744),
    [sym__binary_minus] = ACTIONS(744),
    [sym__binary_star] = ACTIONS(744),
    [ts_builtin_sym_end] = ACTIONS(744),
    [anon_sym___END__] = ACTIONS(744),
    [anon_sym_LBRACE] = ACTIONS(744),
    [anon_sym_RBRACE] = ACTIONS(744),
    [anon_sym_RPAREN] = ACTIONS(744),
    [anon_sym_DOT] = ACTIONS(746),
    [anon_sym_end] = ACTIONS(744),
    [anon_sym_COMMA] = ACTIONS(744),
    [anon_sym_PIPE] = ACTIONS(746),
    [anon_sym_SEMI] = ACTIONS(744),
    [anon_sym_STAR_STAR] = ACTIONS(746),
    [anon_sym_AMP] = ACTIONS(746),
    [anon_sym_EQ] = ACTIONS(746),
    [anon_sym_LT] = ACTIONS(746),
    [anon_sym_if] = ACTIONS(744),
    [anon_sym_unless] = ACTIONS(744),
    [anon_sym_while] = ACTIONS(744),
    [anon_sym_until] = ACTIONS(744),
    [anon_sym_rescue] = ACTIONS(744),
    [anon_sym_do] = ACTIONS(744),
    [anon_sym_when] = ACTIONS(744),
    [anon_sym_elsif] = ACTIONS(744),
    [anon_sym_else] = ACTIONS(744),
    [anon_sym_then] = ACTIONS(744),
    [anon_sym_ensure] = ACTIONS(744),
    [anon_sym_EQ_GT] = ACTIONS(744),
    [anon_sym_AMP_DOT] = ACTIONS(744),
    [anon_sym_PLUS_EQ] = ACTIONS(744),
    [anon_sym_DASH_EQ] = ACTIONS(744),
    [anon_sym_STAR_EQ] = ACTIONS(744),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(744),
    [anon_sym_SLASH_EQ] = ACTIONS(744),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(744),
    [anon_sym_PIPE_EQ] = ACTIONS(744),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(744),
    [anon_sym_AMP_EQ] = ACTIONS(744),
    [anon_sym_PERCENT_EQ] = ACTIONS(744),
    [anon_sym_GT_GT_EQ] = ACTIONS(744),
    [anon_sym_LT_LT_EQ] = ACTIONS(744),
    [anon_sym_CARET_EQ] = ACTIONS(744),
    [anon_sym_QMARK] = ACTIONS(744),
    [anon_sym_DOT_DOT] = ACTIONS(746),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(744),
    [anon_sym_and] = ACTIONS(744),
    [anon_sym_or] = ACTIONS(744),
    [anon_sym_PIPE_PIPE] = ACTIONS(746),
    [anon_sym_AMP_AMP] = ACTIONS(746),
    [anon_sym_LT_LT] = ACTIONS(746),
    [anon_sym_GT_GT] = ACTIONS(746),
    [anon_sym_EQ_EQ] = ACTIONS(746),
    [anon_sym_BANG_EQ] = ACTIONS(744),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(744),
    [anon_sym_LT_EQ_GT] = ACTIONS(744),
    [anon_sym_EQ_TILDE] = ACTIONS(744),
    [anon_sym_BANG_TILDE] = ACTIONS(744),
    [anon_sym_LT_EQ] = ACTIONS(746),
    [anon_sym_GT] = ACTIONS(746),
    [anon_sym_GT_EQ] = ACTIONS(744),
    [anon_sym_CARET] = ACTIONS(746),
    [anon_sym_PLUS] = ACTIONS(746),
    [anon_sym_SLASH] = ACTIONS(746),
    [anon_sym_PERCENT] = ACTIONS(746),
    [sym_comment] = ACTIONS(256),
  },
  [336] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__line_break] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(2212),
    [sym__binary_star] = ACTIONS(2214),
    [ts_builtin_sym_end] = ACTIONS(2210),
    [anon_sym___END__] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(2218),
    [anon_sym_SEMI] = ACTIONS(2210),
    [anon_sym_STAR_STAR] = ACTIONS(2220),
    [anon_sym_AMP] = ACTIONS(2222),
    [anon_sym_LT] = ACTIONS(2224),
    [anon_sym_if] = ACTIONS(2210),
    [anon_sym_unless] = ACTIONS(2210),
    [anon_sym_while] = ACTIONS(2210),
    [anon_sym_until] = ACTIONS(2210),
    [anon_sym_rescue] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(2208),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(2226),
    [anon_sym_DOT_DOT] = ACTIONS(2228),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2230),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(2232),
    [anon_sym_AMP_AMP] = ACTIONS(2232),
    [anon_sym_LT_LT] = ACTIONS(2234),
    [anon_sym_GT_GT] = ACTIONS(2234),
    [anon_sym_EQ_EQ] = ACTIONS(2236),
    [anon_sym_BANG_EQ] = ACTIONS(2232),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2232),
    [anon_sym_LT_EQ_GT] = ACTIONS(2232),
    [anon_sym_EQ_TILDE] = ACTIONS(2232),
    [anon_sym_BANG_TILDE] = ACTIONS(2232),
    [anon_sym_LT_EQ] = ACTIONS(2224),
    [anon_sym_GT] = ACTIONS(2224),
    [anon_sym_GT_EQ] = ACTIONS(2238),
    [anon_sym_CARET] = ACTIONS(2240),
    [anon_sym_PLUS] = ACTIONS(2242),
    [anon_sym_SLASH] = ACTIONS(2220),
    [anon_sym_PERCENT] = ACTIONS(2220),
    [sym_comment] = ACTIONS(110),
  },
  [337] = {
    [sym__simple_heredoc_body] = ACTIONS(968),
    [sym__heredoc_body_beginning] = ACTIONS(968),
    [sym__line_break] = ACTIONS(968),
    [sym__element_reference_left_bracket] = ACTIONS(2244),
    [sym__scope_double_colon] = ACTIONS(2246),
    [sym__binary_minus] = ACTIONS(968),
    [sym__binary_star] = ACTIONS(968),
    [ts_builtin_sym_end] = ACTIONS(968),
    [anon_sym___END__] = ACTIONS(968),
    [anon_sym_DOT] = ACTIONS(2248),
    [anon_sym_COMMA] = ACTIONS(968),
    [anon_sym_PIPE] = ACTIONS(976),
    [anon_sym_SEMI] = ACTIONS(968),
    [anon_sym_STAR_STAR] = ACTIONS(968),
    [anon_sym_AMP] = ACTIONS(976),
    [anon_sym_LT] = ACTIONS(976),
    [anon_sym_if] = ACTIONS(968),
    [anon_sym_unless] = ACTIONS(968),
    [anon_sym_while] = ACTIONS(968),
    [anon_sym_until] = ACTIONS(968),
    [anon_sym_rescue] = ACTIONS(968),
    [anon_sym_EQ_GT] = ACTIONS(968),
    [anon_sym_AMP_DOT] = ACTIONS(2250),
    [anon_sym_QMARK] = ACTIONS(968),
    [anon_sym_DOT_DOT] = ACTIONS(976),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(968),
    [anon_sym_and] = ACTIONS(968),
    [anon_sym_or] = ACTIONS(968),
    [anon_sym_PIPE_PIPE] = ACTIONS(968),
    [anon_sym_AMP_AMP] = ACTIONS(968),
    [anon_sym_LT_LT] = ACTIONS(968),
    [anon_sym_GT_GT] = ACTIONS(968),
    [anon_sym_EQ_EQ] = ACTIONS(976),
    [anon_sym_BANG_EQ] = ACTIONS(968),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(968),
    [anon_sym_LT_EQ_GT] = ACTIONS(968),
    [anon_sym_EQ_TILDE] = ACTIONS(968),
    [anon_sym_BANG_TILDE] = ACTIONS(968),
    [anon_sym_LT_EQ] = ACTIONS(976),
    [anon_sym_GT] = ACTIONS(976),
    [anon_sym_GT_EQ] = ACTIONS(968),
    [anon_sym_CARET] = ACTIONS(968),
    [anon_sym_PLUS] = ACTIONS(968),
    [anon_sym_SLASH] = ACTIONS(968),
    [anon_sym_PERCENT] = ACTIONS(968),
    [sym_comment] = ACTIONS(110),
  },
  [338] = {
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym__line_break] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [ts_builtin_sym_end] = ACTIONS(980),
    [anon_sym___END__] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(980),
    [anon_sym_RBRACE] = ACTIONS(980),
    [anon_sym_RPAREN] = ACTIONS(980),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_end] = ACTIONS(980),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_if] = ACTIONS(980),
    [anon_sym_unless] = ACTIONS(980),
    [anon_sym_while] = ACTIONS(980),
    [anon_sym_until] = ACTIONS(980),
    [anon_sym_rescue] = ACTIONS(980),
    [anon_sym_do] = ACTIONS(980),
    [anon_sym_when] = ACTIONS(980),
    [anon_sym_elsif] = ACTIONS(980),
    [anon_sym_else] = ACTIONS(980),
    [anon_sym_then] = ACTIONS(980),
    [anon_sym_ensure] = ACTIONS(980),
    [anon_sym_EQ_GT] = ACTIONS(980),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(980),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(980),
    [anon_sym_or] = ACTIONS(980),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [sym_comment] = ACTIONS(256),
  },
  [339] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1434),
    [sym__primary] = STATE(596),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(597),
    [sym_call] = STATE(597),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(1435),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(1437),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_do_block] = STATE(1439),
    [sym_block] = STATE(1439),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(605),
    [sym__variable] = STATE(597),
    [sym_reserved_identifier] = STATE(1440),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1441),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(2252),
    [sym__splat_star] = ACTIONS(2254),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(1012),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [ts_builtin_sym_end] = ACTIONS(980),
    [anon_sym___END__] = ACTIONS(982),
    [anon_sym_LBRACE] = ACTIONS(2258),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(1024),
    [anon_sym_yield] = ACTIONS(1026),
    [anon_sym_break] = ACTIONS(1028),
    [anon_sym_next] = ACTIONS(1030),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(982),
    [anon_sym_unless] = ACTIONS(982),
    [anon_sym_while] = ACTIONS(982),
    [anon_sym_until] = ACTIONS(982),
    [anon_sym_rescue] = ACTIONS(982),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(2260),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(980),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(1044),
    [anon_sym_not] = ACTIONS(1046),
    [anon_sym_BANG] = ACTIONS(1048),
    [anon_sym_TILDE] = ACTIONS(1050),
    [sym_constant] = ACTIONS(2262),
    [sym_identifier] = ACTIONS(2262),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(588),
    [anon_sym_super] = ACTIONS(590),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [340] = {
    [sym__simple_heredoc_body] = ACTIONS(2264),
    [sym__heredoc_body_beginning] = ACTIONS(2264),
    [sym__line_break] = ACTIONS(2264),
    [sym__element_reference_left_bracket] = ACTIONS(2264),
    [sym__scope_double_colon] = ACTIONS(2264),
    [sym__binary_minus] = ACTIONS(2264),
    [sym__binary_star] = ACTIONS(2264),
    [ts_builtin_sym_end] = ACTIONS(2264),
    [anon_sym___END__] = ACTIONS(2264),
    [anon_sym_LBRACE] = ACTIONS(2264),
    [anon_sym_RBRACE] = ACTIONS(2264),
    [anon_sym_RPAREN] = ACTIONS(2264),
    [anon_sym_DOT] = ACTIONS(2266),
    [anon_sym_end] = ACTIONS(2264),
    [anon_sym_COMMA] = ACTIONS(2264),
    [anon_sym_PIPE] = ACTIONS(2266),
    [anon_sym_SEMI] = ACTIONS(2264),
    [anon_sym_STAR_STAR] = ACTIONS(2264),
    [anon_sym_AMP] = ACTIONS(2266),
    [anon_sym_LT] = ACTIONS(2266),
    [anon_sym_if] = ACTIONS(2264),
    [anon_sym_unless] = ACTIONS(2264),
    [anon_sym_while] = ACTIONS(2264),
    [anon_sym_until] = ACTIONS(2264),
    [anon_sym_rescue] = ACTIONS(2264),
    [anon_sym_do] = ACTIONS(2264),
    [anon_sym_when] = ACTIONS(2264),
    [anon_sym_elsif] = ACTIONS(2264),
    [anon_sym_else] = ACTIONS(2264),
    [anon_sym_then] = ACTIONS(2264),
    [anon_sym_ensure] = ACTIONS(2264),
    [anon_sym_EQ_GT] = ACTIONS(2264),
    [anon_sym_AMP_DOT] = ACTIONS(2264),
    [anon_sym_QMARK] = ACTIONS(2264),
    [anon_sym_DOT_DOT] = ACTIONS(2266),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2264),
    [anon_sym_and] = ACTIONS(2264),
    [anon_sym_or] = ACTIONS(2264),
    [anon_sym_PIPE_PIPE] = ACTIONS(2264),
    [anon_sym_AMP_AMP] = ACTIONS(2264),
    [anon_sym_LT_LT] = ACTIONS(2264),
    [anon_sym_GT_GT] = ACTIONS(2264),
    [anon_sym_EQ_EQ] = ACTIONS(2266),
    [anon_sym_BANG_EQ] = ACTIONS(2264),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2264),
    [anon_sym_LT_EQ_GT] = ACTIONS(2264),
    [anon_sym_EQ_TILDE] = ACTIONS(2264),
    [anon_sym_BANG_TILDE] = ACTIONS(2264),
    [anon_sym_LT_EQ] = ACTIONS(2266),
    [anon_sym_GT] = ACTIONS(2266),
    [anon_sym_GT_EQ] = ACTIONS(2264),
    [anon_sym_CARET] = ACTIONS(2264),
    [anon_sym_PLUS] = ACTIONS(2264),
    [anon_sym_SLASH] = ACTIONS(2264),
    [anon_sym_PERCENT] = ACTIONS(2264),
    [sym_comment] = ACTIONS(110),
  },
  [341] = {
    [sym_heredoc_end] = STATE(1444),
    [aux_sym_argument_list_repeat2] = STATE(1445),
    [sym__simple_heredoc_body] = ACTIONS(2268),
    [sym__heredoc_body_beginning] = ACTIONS(2270),
    [sym__line_break] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [ts_builtin_sym_end] = ACTIONS(2272),
    [anon_sym___END__] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_RBRACE] = ACTIONS(2272),
    [anon_sym_RPAREN] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_end] = ACTIONS(2272),
    [anon_sym_COMMA] = ACTIONS(2272),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_STAR_STAR] = ACTIONS(2272),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_if] = ACTIONS(2272),
    [anon_sym_unless] = ACTIONS(2272),
    [anon_sym_while] = ACTIONS(2272),
    [anon_sym_until] = ACTIONS(2272),
    [anon_sym_rescue] = ACTIONS(2272),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_when] = ACTIONS(2272),
    [anon_sym_elsif] = ACTIONS(2272),
    [anon_sym_else] = ACTIONS(2272),
    [anon_sym_then] = ACTIONS(2272),
    [anon_sym_ensure] = ACTIONS(2272),
    [anon_sym_EQ_GT] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2272),
    [anon_sym_AMP_AMP] = ACTIONS(2272),
    [anon_sym_LT_LT] = ACTIONS(2272),
    [anon_sym_GT_GT] = ACTIONS(2272),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2272),
    [anon_sym_PLUS] = ACTIONS(2272),
    [anon_sym_SLASH] = ACTIONS(2272),
    [anon_sym_PERCENT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(110),
  },
  [342] = {
    [sym_heredoc_end] = STATE(1444),
    [aux_sym_argument_list_repeat1] = STATE(1447),
    [aux_sym_argument_list_repeat2] = STATE(1445),
    [sym__simple_heredoc_body] = ACTIONS(2268),
    [sym__heredoc_body_beginning] = ACTIONS(2270),
    [sym__line_break] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [ts_builtin_sym_end] = ACTIONS(2272),
    [anon_sym___END__] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(2276),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_STAR_STAR] = ACTIONS(2272),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_if] = ACTIONS(2272),
    [anon_sym_unless] = ACTIONS(2272),
    [anon_sym_while] = ACTIONS(2272),
    [anon_sym_until] = ACTIONS(2272),
    [anon_sym_rescue] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2272),
    [anon_sym_AMP_AMP] = ACTIONS(2272),
    [anon_sym_LT_LT] = ACTIONS(2272),
    [anon_sym_GT_GT] = ACTIONS(2272),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2272),
    [anon_sym_PLUS] = ACTIONS(2272),
    [anon_sym_SLASH] = ACTIONS(2272),
    [anon_sym_PERCENT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(110),
  },
  [343] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__line_break] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(2210),
    [sym__binary_star] = ACTIONS(2210),
    [ts_builtin_sym_end] = ACTIONS(2210),
    [anon_sym___END__] = ACTIONS(2210),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_RBRACE] = ACTIONS(2210),
    [anon_sym_RPAREN] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_end] = ACTIONS(2210),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(2216),
    [anon_sym_SEMI] = ACTIONS(2210),
    [anon_sym_STAR_STAR] = ACTIONS(2210),
    [anon_sym_AMP] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(2216),
    [anon_sym_if] = ACTIONS(2210),
    [anon_sym_unless] = ACTIONS(2210),
    [anon_sym_while] = ACTIONS(2210),
    [anon_sym_until] = ACTIONS(2210),
    [anon_sym_rescue] = ACTIONS(2210),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_when] = ACTIONS(2210),
    [anon_sym_elsif] = ACTIONS(2210),
    [anon_sym_else] = ACTIONS(2210),
    [anon_sym_then] = ACTIONS(2210),
    [anon_sym_ensure] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(2210),
    [anon_sym_DOT_DOT] = ACTIONS(2216),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2210),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(2210),
    [anon_sym_AMP_AMP] = ACTIONS(2210),
    [anon_sym_LT_LT] = ACTIONS(2210),
    [anon_sym_GT_GT] = ACTIONS(2210),
    [anon_sym_EQ_EQ] = ACTIONS(2216),
    [anon_sym_BANG_EQ] = ACTIONS(2210),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2210),
    [anon_sym_LT_EQ_GT] = ACTIONS(2210),
    [anon_sym_EQ_TILDE] = ACTIONS(2210),
    [anon_sym_BANG_TILDE] = ACTIONS(2210),
    [anon_sym_LT_EQ] = ACTIONS(2216),
    [anon_sym_GT] = ACTIONS(2216),
    [anon_sym_GT_EQ] = ACTIONS(2210),
    [anon_sym_CARET] = ACTIONS(2210),
    [anon_sym_PLUS] = ACTIONS(2210),
    [anon_sym_SLASH] = ACTIONS(2210),
    [anon_sym_PERCENT] = ACTIONS(2210),
    [sym_comment] = ACTIONS(110),
  },
  [344] = {
    [sym__simple_heredoc_body] = ACTIONS(968),
    [sym__heredoc_body_beginning] = ACTIONS(968),
    [sym__line_break] = ACTIONS(968),
    [sym__element_reference_left_bracket] = ACTIONS(968),
    [sym__scope_double_colon] = ACTIONS(968),
    [sym__binary_minus] = ACTIONS(968),
    [sym__binary_star] = ACTIONS(968),
    [ts_builtin_sym_end] = ACTIONS(968),
    [anon_sym___END__] = ACTIONS(968),
    [anon_sym_LBRACE] = ACTIONS(968),
    [anon_sym_RBRACE] = ACTIONS(968),
    [anon_sym_RPAREN] = ACTIONS(968),
    [anon_sym_DOT] = ACTIONS(976),
    [anon_sym_end] = ACTIONS(968),
    [anon_sym_COMMA] = ACTIONS(968),
    [anon_sym_PIPE] = ACTIONS(976),
    [anon_sym_SEMI] = ACTIONS(968),
    [anon_sym_STAR_STAR] = ACTIONS(968),
    [anon_sym_AMP] = ACTIONS(976),
    [anon_sym_LT] = ACTIONS(976),
    [anon_sym_if] = ACTIONS(968),
    [anon_sym_unless] = ACTIONS(968),
    [anon_sym_while] = ACTIONS(968),
    [anon_sym_until] = ACTIONS(968),
    [anon_sym_rescue] = ACTIONS(968),
    [anon_sym_do] = ACTIONS(968),
    [anon_sym_when] = ACTIONS(968),
    [anon_sym_elsif] = ACTIONS(968),
    [anon_sym_else] = ACTIONS(968),
    [anon_sym_then] = ACTIONS(968),
    [anon_sym_ensure] = ACTIONS(968),
    [anon_sym_EQ_GT] = ACTIONS(968),
    [anon_sym_AMP_DOT] = ACTIONS(968),
    [anon_sym_QMARK] = ACTIONS(968),
    [anon_sym_DOT_DOT] = ACTIONS(976),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(968),
    [anon_sym_and] = ACTIONS(968),
    [anon_sym_or] = ACTIONS(968),
    [anon_sym_PIPE_PIPE] = ACTIONS(968),
    [anon_sym_AMP_AMP] = ACTIONS(968),
    [anon_sym_LT_LT] = ACTIONS(968),
    [anon_sym_GT_GT] = ACTIONS(968),
    [anon_sym_EQ_EQ] = ACTIONS(976),
    [anon_sym_BANG_EQ] = ACTIONS(968),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(968),
    [anon_sym_LT_EQ_GT] = ACTIONS(968),
    [anon_sym_EQ_TILDE] = ACTIONS(968),
    [anon_sym_BANG_TILDE] = ACTIONS(968),
    [anon_sym_LT_EQ] = ACTIONS(976),
    [anon_sym_GT] = ACTIONS(976),
    [anon_sym_GT_EQ] = ACTIONS(968),
    [anon_sym_CARET] = ACTIONS(968),
    [anon_sym_PLUS] = ACTIONS(968),
    [anon_sym_SLASH] = ACTIONS(968),
    [anon_sym_PERCENT] = ACTIONS(968),
    [sym_comment] = ACTIONS(110),
  },
  [345] = {
    [anon_sym_EQ] = ACTIONS(2278),
    [sym_comment] = ACTIONS(256),
  },
  [346] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [ts_builtin_sym_end] = ACTIONS(250),
    [anon_sym___END__] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(2280),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(2282),
    [anon_sym_DASH_EQ] = ACTIONS(2282),
    [anon_sym_STAR_EQ] = ACTIONS(2282),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2282),
    [anon_sym_SLASH_EQ] = ACTIONS(2282),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2282),
    [anon_sym_PIPE_EQ] = ACTIONS(2282),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2282),
    [anon_sym_AMP_EQ] = ACTIONS(2282),
    [anon_sym_PERCENT_EQ] = ACTIONS(2282),
    [anon_sym_GT_GT_EQ] = ACTIONS(2282),
    [anon_sym_LT_LT_EQ] = ACTIONS(2282),
    [anon_sym_CARET_EQ] = ACTIONS(2282),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [347] = {
    [sym__keyword_colon] = ACTIONS(2284),
    [sym_comment] = ACTIONS(110),
  },
  [348] = {
    [sym_string] = STATE(611),
    [aux_sym_chained_string_repeat1] = STATE(612),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(20),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(2208),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [ts_builtin_sym_end] = ACTIONS(250),
    [anon_sym___END__] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(120),
  },
  [349] = {
    [sym__simple_heredoc_body] = ACTIONS(2286),
    [sym__heredoc_body_beginning] = ACTIONS(2286),
    [sym__line_break] = ACTIONS(2286),
    [sym__element_reference_left_bracket] = ACTIONS(2286),
    [sym__scope_double_colon] = ACTIONS(2286),
    [sym__binary_minus] = ACTIONS(2286),
    [sym__binary_star] = ACTIONS(2286),
    [ts_builtin_sym_end] = ACTIONS(2286),
    [anon_sym___END__] = ACTIONS(2286),
    [anon_sym_LBRACE] = ACTIONS(2286),
    [anon_sym_RBRACE] = ACTIONS(2286),
    [anon_sym_RPAREN] = ACTIONS(2286),
    [anon_sym_DOT] = ACTIONS(2288),
    [anon_sym_end] = ACTIONS(2286),
    [anon_sym_COMMA] = ACTIONS(2286),
    [anon_sym_PIPE] = ACTIONS(2288),
    [anon_sym_SEMI] = ACTIONS(2286),
    [anon_sym_STAR_STAR] = ACTIONS(2286),
    [anon_sym_AMP] = ACTIONS(2288),
    [anon_sym_LT] = ACTIONS(2288),
    [anon_sym_if] = ACTIONS(2286),
    [anon_sym_unless] = ACTIONS(2286),
    [anon_sym_while] = ACTIONS(2286),
    [anon_sym_until] = ACTIONS(2286),
    [anon_sym_rescue] = ACTIONS(2286),
    [anon_sym_do] = ACTIONS(2286),
    [anon_sym_when] = ACTIONS(2286),
    [anon_sym_elsif] = ACTIONS(2286),
    [anon_sym_else] = ACTIONS(2286),
    [anon_sym_then] = ACTIONS(2286),
    [anon_sym_ensure] = ACTIONS(2286),
    [anon_sym_EQ_GT] = ACTIONS(2286),
    [anon_sym_AMP_DOT] = ACTIONS(2286),
    [anon_sym_QMARK] = ACTIONS(2286),
    [anon_sym_DOT_DOT] = ACTIONS(2288),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2286),
    [anon_sym_and] = ACTIONS(2286),
    [anon_sym_or] = ACTIONS(2286),
    [anon_sym_PIPE_PIPE] = ACTIONS(2286),
    [anon_sym_AMP_AMP] = ACTIONS(2286),
    [anon_sym_LT_LT] = ACTIONS(2286),
    [anon_sym_GT_GT] = ACTIONS(2286),
    [anon_sym_EQ_EQ] = ACTIONS(2288),
    [anon_sym_BANG_EQ] = ACTIONS(2286),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2286),
    [anon_sym_LT_EQ_GT] = ACTIONS(2286),
    [anon_sym_EQ_TILDE] = ACTIONS(2286),
    [anon_sym_BANG_TILDE] = ACTIONS(2286),
    [anon_sym_LT_EQ] = ACTIONS(2288),
    [anon_sym_GT] = ACTIONS(2288),
    [anon_sym_GT_EQ] = ACTIONS(2286),
    [anon_sym_CARET] = ACTIONS(2286),
    [anon_sym_PLUS] = ACTIONS(2286),
    [anon_sym_SLASH] = ACTIONS(2286),
    [anon_sym_PERCENT] = ACTIONS(2286),
    [sym_comment] = ACTIONS(110),
  },
  [350] = {
    [sym__simple_heredoc_body] = ACTIONS(2290),
    [sym__heredoc_body_beginning] = ACTIONS(2290),
    [sym__line_break] = ACTIONS(2290),
    [sym__element_reference_left_bracket] = ACTIONS(2290),
    [sym__scope_double_colon] = ACTIONS(2290),
    [sym__binary_minus] = ACTIONS(2290),
    [sym__binary_star] = ACTIONS(2290),
    [ts_builtin_sym_end] = ACTIONS(2290),
    [anon_sym___END__] = ACTIONS(2290),
    [anon_sym_LBRACE] = ACTIONS(2290),
    [anon_sym_RBRACE] = ACTIONS(2290),
    [anon_sym_RPAREN] = ACTIONS(2290),
    [anon_sym_DOT] = ACTIONS(2292),
    [anon_sym_end] = ACTIONS(2290),
    [anon_sym_COMMA] = ACTIONS(2290),
    [anon_sym_PIPE] = ACTIONS(2292),
    [anon_sym_SEMI] = ACTIONS(2290),
    [anon_sym_STAR_STAR] = ACTIONS(2290),
    [anon_sym_AMP] = ACTIONS(2292),
    [anon_sym_LT] = ACTIONS(2292),
    [anon_sym_if] = ACTIONS(2290),
    [anon_sym_unless] = ACTIONS(2290),
    [anon_sym_while] = ACTIONS(2290),
    [anon_sym_until] = ACTIONS(2290),
    [anon_sym_rescue] = ACTIONS(2290),
    [anon_sym_do] = ACTIONS(2290),
    [anon_sym_when] = ACTIONS(2290),
    [anon_sym_elsif] = ACTIONS(2290),
    [anon_sym_else] = ACTIONS(2290),
    [anon_sym_then] = ACTIONS(2290),
    [anon_sym_ensure] = ACTIONS(2290),
    [anon_sym_EQ_GT] = ACTIONS(2290),
    [anon_sym_AMP_DOT] = ACTIONS(2290),
    [anon_sym_QMARK] = ACTIONS(2290),
    [anon_sym_DOT_DOT] = ACTIONS(2292),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2290),
    [anon_sym_and] = ACTIONS(2290),
    [anon_sym_or] = ACTIONS(2290),
    [anon_sym_PIPE_PIPE] = ACTIONS(2290),
    [anon_sym_AMP_AMP] = ACTIONS(2290),
    [anon_sym_LT_LT] = ACTIONS(2290),
    [anon_sym_GT_GT] = ACTIONS(2290),
    [anon_sym_EQ_EQ] = ACTIONS(2292),
    [anon_sym_BANG_EQ] = ACTIONS(2290),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2290),
    [anon_sym_LT_EQ_GT] = ACTIONS(2290),
    [anon_sym_EQ_TILDE] = ACTIONS(2290),
    [anon_sym_BANG_TILDE] = ACTIONS(2290),
    [anon_sym_LT_EQ] = ACTIONS(2292),
    [anon_sym_GT] = ACTIONS(2292),
    [anon_sym_GT_EQ] = ACTIONS(2290),
    [anon_sym_CARET] = ACTIONS(2290),
    [anon_sym_PLUS] = ACTIONS(2290),
    [anon_sym_SLASH] = ACTIONS(2290),
    [anon_sym_PERCENT] = ACTIONS(2290),
    [sym_comment] = ACTIONS(110),
  },
  [351] = {
    [sym__simple_heredoc_body] = ACTIONS(2294),
    [sym__heredoc_body_beginning] = ACTIONS(2294),
    [sym__line_break] = ACTIONS(2294),
    [sym__element_reference_left_bracket] = ACTIONS(2294),
    [sym__scope_double_colon] = ACTIONS(2294),
    [sym__binary_minus] = ACTIONS(2294),
    [sym__binary_star] = ACTIONS(2294),
    [ts_builtin_sym_end] = ACTIONS(2294),
    [anon_sym___END__] = ACTIONS(2294),
    [anon_sym_LBRACE] = ACTIONS(2294),
    [anon_sym_RBRACE] = ACTIONS(2294),
    [anon_sym_RPAREN] = ACTIONS(2294),
    [anon_sym_DOT] = ACTIONS(2296),
    [anon_sym_end] = ACTIONS(2294),
    [anon_sym_COMMA] = ACTIONS(2294),
    [anon_sym_PIPE] = ACTIONS(2296),
    [anon_sym_SEMI] = ACTIONS(2294),
    [anon_sym_STAR_STAR] = ACTIONS(2294),
    [anon_sym_AMP] = ACTIONS(2296),
    [anon_sym_LT] = ACTIONS(2296),
    [anon_sym_if] = ACTIONS(2294),
    [anon_sym_unless] = ACTIONS(2294),
    [anon_sym_while] = ACTIONS(2294),
    [anon_sym_until] = ACTIONS(2294),
    [anon_sym_rescue] = ACTIONS(2294),
    [anon_sym_do] = ACTIONS(2294),
    [anon_sym_when] = ACTIONS(2294),
    [anon_sym_elsif] = ACTIONS(2294),
    [anon_sym_else] = ACTIONS(2294),
    [anon_sym_then] = ACTIONS(2294),
    [anon_sym_ensure] = ACTIONS(2294),
    [anon_sym_EQ_GT] = ACTIONS(2294),
    [anon_sym_AMP_DOT] = ACTIONS(2294),
    [anon_sym_QMARK] = ACTIONS(2294),
    [anon_sym_DOT_DOT] = ACTIONS(2296),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2294),
    [anon_sym_and] = ACTIONS(2294),
    [anon_sym_or] = ACTIONS(2294),
    [anon_sym_PIPE_PIPE] = ACTIONS(2294),
    [anon_sym_AMP_AMP] = ACTIONS(2294),
    [anon_sym_LT_LT] = ACTIONS(2294),
    [anon_sym_GT_GT] = ACTIONS(2294),
    [anon_sym_EQ_EQ] = ACTIONS(2296),
    [anon_sym_BANG_EQ] = ACTIONS(2294),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2294),
    [anon_sym_LT_EQ_GT] = ACTIONS(2294),
    [anon_sym_EQ_TILDE] = ACTIONS(2294),
    [anon_sym_BANG_TILDE] = ACTIONS(2294),
    [anon_sym_LT_EQ] = ACTIONS(2296),
    [anon_sym_GT] = ACTIONS(2296),
    [anon_sym_GT_EQ] = ACTIONS(2294),
    [anon_sym_CARET] = ACTIONS(2294),
    [anon_sym_PLUS] = ACTIONS(2294),
    [anon_sym_SLASH] = ACTIONS(2294),
    [anon_sym_PERCENT] = ACTIONS(2294),
    [sym_comment] = ACTIONS(110),
  },
  [352] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1451),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [353] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1465),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1466),
    [sym_call] = STATE(1466),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(340),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(1467),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1468),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1469),
    [sym__variable] = STATE(1466),
    [sym_reserved_identifier] = STATE(1470),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(1471),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(2298),
    [sym__splat_star] = ACTIONS(2300),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(2302),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2304),
    [anon_sym_yield] = ACTIONS(2306),
    [anon_sym_break] = ACTIONS(2308),
    [anon_sym_next] = ACTIONS(2310),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(544),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(2312),
    [anon_sym_not] = ACTIONS(2314),
    [anon_sym_BANG] = ACTIONS(2316),
    [anon_sym_TILDE] = ACTIONS(2318),
    [sym_constant] = ACTIONS(2320),
    [sym_identifier] = ACTIONS(2320),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [354] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1465),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1466),
    [sym_call] = STATE(1466),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(349),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(1467),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1468),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1469),
    [sym__variable] = STATE(1466),
    [sym_reserved_identifier] = STATE(1470),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(1471),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(2298),
    [sym__splat_star] = ACTIONS(2300),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(2302),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2304),
    [anon_sym_yield] = ACTIONS(2306),
    [anon_sym_break] = ACTIONS(2308),
    [anon_sym_next] = ACTIONS(2310),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(604),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(2312),
    [anon_sym_not] = ACTIONS(2314),
    [anon_sym_BANG] = ACTIONS(2316),
    [anon_sym_TILDE] = ACTIONS(2318),
    [sym_constant] = ACTIONS(2320),
    [sym_identifier] = ACTIONS(2320),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [355] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1465),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1466),
    [sym_call] = STATE(1466),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(350),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(1467),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1468),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1469),
    [sym__variable] = STATE(1466),
    [sym_reserved_identifier] = STATE(1470),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(1471),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(2298),
    [sym__splat_star] = ACTIONS(2300),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(2302),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2304),
    [anon_sym_yield] = ACTIONS(2306),
    [anon_sym_break] = ACTIONS(2308),
    [anon_sym_next] = ACTIONS(2310),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(608),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(2312),
    [anon_sym_not] = ACTIONS(2314),
    [anon_sym_BANG] = ACTIONS(2316),
    [anon_sym_TILDE] = ACTIONS(2318),
    [sym_constant] = ACTIONS(2320),
    [sym_identifier] = ACTIONS(2320),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [356] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1465),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1466),
    [sym_call] = STATE(1466),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(351),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(1467),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1468),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1469),
    [sym__variable] = STATE(1466),
    [sym_reserved_identifier] = STATE(1470),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(1471),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(2298),
    [sym__splat_star] = ACTIONS(2300),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(2302),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2304),
    [anon_sym_yield] = ACTIONS(2306),
    [anon_sym_break] = ACTIONS(2308),
    [anon_sym_next] = ACTIONS(2310),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(612),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(2312),
    [anon_sym_not] = ACTIONS(2314),
    [anon_sym_BANG] = ACTIONS(2316),
    [anon_sym_TILDE] = ACTIONS(2318),
    [sym_constant] = ACTIONS(2320),
    [sym_identifier] = ACTIONS(2320),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [357] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1472),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [358] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1473),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [359] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(434),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [360] = {
    [sym__then] = STATE(1483),
    [sym_heredoc_end] = STATE(1476),
    [sym__terminator] = STATE(1484),
    [sym__simple_heredoc_body] = ACTIONS(2322),
    [sym__heredoc_body_beginning] = ACTIONS(2324),
    [sym__line_break] = ACTIONS(2326),
    [anon_sym_SEMI] = ACTIONS(2326),
    [anon_sym_if] = ACTIONS(2328),
    [anon_sym_unless] = ACTIONS(2330),
    [anon_sym_while] = ACTIONS(2332),
    [anon_sym_until] = ACTIONS(2334),
    [anon_sym_rescue] = ACTIONS(2336),
    [anon_sym_then] = ACTIONS(2338),
    [sym_comment] = ACTIONS(110),
  },
  [361] = {
    [sym__simple_heredoc_body] = ACTIONS(934),
    [sym__heredoc_body_beginning] = ACTIONS(934),
    [sym__line_break] = ACTIONS(934),
    [sym__binary_minus] = ACTIONS(2340),
    [sym__binary_star] = ACTIONS(2342),
    [anon_sym_PIPE] = ACTIONS(2344),
    [anon_sym_SEMI] = ACTIONS(934),
    [anon_sym_STAR_STAR] = ACTIONS(2346),
    [anon_sym_AMP] = ACTIONS(2348),
    [anon_sym_LT] = ACTIONS(2350),
    [anon_sym_if] = ACTIONS(934),
    [anon_sym_unless] = ACTIONS(934),
    [anon_sym_while] = ACTIONS(934),
    [anon_sym_until] = ACTIONS(934),
    [anon_sym_rescue] = ACTIONS(934),
    [anon_sym_then] = ACTIONS(934),
    [anon_sym_QMARK] = ACTIONS(2352),
    [anon_sym_DOT_DOT] = ACTIONS(2354),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2356),
    [anon_sym_and] = ACTIONS(2358),
    [anon_sym_or] = ACTIONS(2358),
    [anon_sym_PIPE_PIPE] = ACTIONS(2360),
    [anon_sym_AMP_AMP] = ACTIONS(2360),
    [anon_sym_LT_LT] = ACTIONS(2362),
    [anon_sym_GT_GT] = ACTIONS(2362),
    [anon_sym_EQ_EQ] = ACTIONS(2364),
    [anon_sym_BANG_EQ] = ACTIONS(2360),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2360),
    [anon_sym_LT_EQ_GT] = ACTIONS(2360),
    [anon_sym_EQ_TILDE] = ACTIONS(2360),
    [anon_sym_BANG_TILDE] = ACTIONS(2360),
    [anon_sym_LT_EQ] = ACTIONS(2350),
    [anon_sym_GT] = ACTIONS(2350),
    [anon_sym_GT_EQ] = ACTIONS(2366),
    [anon_sym_CARET] = ACTIONS(2368),
    [anon_sym_PLUS] = ACTIONS(2370),
    [anon_sym_SLASH] = ACTIONS(2346),
    [anon_sym_PERCENT] = ACTIONS(2346),
    [sym_comment] = ACTIONS(110),
  },
  [362] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1510),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1511),
    [sym_call] = STATE(1511),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(598),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(1512),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_do_block] = STATE(602),
    [sym_block] = STATE(602),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1513),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1514),
    [sym__variable] = STATE(1511),
    [sym_reserved_identifier] = STATE(1515),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1516),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(2372),
    [sym__splat_star] = ACTIONS(2374),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(2376),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(1014),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2378),
    [anon_sym_yield] = ACTIONS(2380),
    [anon_sym_break] = ACTIONS(2382),
    [anon_sym_next] = ACTIONS(2384),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(982),
    [anon_sym_unless] = ACTIONS(982),
    [anon_sym_while] = ACTIONS(982),
    [anon_sym_until] = ACTIONS(982),
    [anon_sym_rescue] = ACTIONS(982),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(1038),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(982),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(2386),
    [anon_sym_not] = ACTIONS(2388),
    [anon_sym_BANG] = ACTIONS(2390),
    [anon_sym_TILDE] = ACTIONS(2392),
    [sym_constant] = ACTIONS(2394),
    [sym_identifier] = ACTIONS(2394),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [363] = {
    [anon_sym_EQ] = ACTIONS(2396),
    [sym_comment] = ACTIONS(256),
  },
  [364] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(1076),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(2398),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_then] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(2400),
    [anon_sym_DASH_EQ] = ACTIONS(2400),
    [anon_sym_STAR_EQ] = ACTIONS(2400),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2400),
    [anon_sym_SLASH_EQ] = ACTIONS(2400),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2400),
    [anon_sym_PIPE_EQ] = ACTIONS(2400),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2400),
    [anon_sym_AMP_EQ] = ACTIONS(2400),
    [anon_sym_PERCENT_EQ] = ACTIONS(2400),
    [anon_sym_GT_GT_EQ] = ACTIONS(2400),
    [anon_sym_LT_LT_EQ] = ACTIONS(2400),
    [anon_sym_CARET_EQ] = ACTIONS(2400),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [365] = {
    [sym__then] = STATE(1523),
    [sym_heredoc_end] = STATE(1521),
    [sym__terminator] = STATE(1524),
    [sym__simple_heredoc_body] = ACTIONS(2402),
    [sym__heredoc_body_beginning] = ACTIONS(2404),
    [sym__line_break] = ACTIONS(2406),
    [anon_sym_SEMI] = ACTIONS(2406),
    [anon_sym_if] = ACTIONS(2328),
    [anon_sym_unless] = ACTIONS(2330),
    [anon_sym_while] = ACTIONS(2332),
    [anon_sym_until] = ACTIONS(2334),
    [anon_sym_rescue] = ACTIONS(2336),
    [anon_sym_then] = ACTIONS(2408),
    [sym_comment] = ACTIONS(110),
  },
  [366] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1525),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [367] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1539),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(340),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(1541),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1542),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1543),
    [sym__variable] = STATE(1540),
    [sym_reserved_identifier] = STATE(1544),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(1545),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(2410),
    [sym__splat_star] = ACTIONS(2412),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(2414),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2416),
    [anon_sym_yield] = ACTIONS(2418),
    [anon_sym_break] = ACTIONS(2420),
    [anon_sym_next] = ACTIONS(2422),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(2432),
    [anon_sym_not] = ACTIONS(2434),
    [anon_sym_BANG] = ACTIONS(2436),
    [anon_sym_TILDE] = ACTIONS(2438),
    [sym_constant] = ACTIONS(2440),
    [sym_identifier] = ACTIONS(2440),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [368] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1539),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(349),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(1541),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1542),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1543),
    [sym__variable] = STATE(1540),
    [sym_reserved_identifier] = STATE(1544),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(1545),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(2410),
    [sym__splat_star] = ACTIONS(2412),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(2414),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2416),
    [anon_sym_yield] = ACTIONS(2418),
    [anon_sym_break] = ACTIONS(2420),
    [anon_sym_next] = ACTIONS(2422),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(2432),
    [anon_sym_not] = ACTIONS(2434),
    [anon_sym_BANG] = ACTIONS(2436),
    [anon_sym_TILDE] = ACTIONS(2438),
    [sym_constant] = ACTIONS(2440),
    [sym_identifier] = ACTIONS(2440),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [369] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1539),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(350),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(1541),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1542),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1543),
    [sym__variable] = STATE(1540),
    [sym_reserved_identifier] = STATE(1544),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(1545),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(2410),
    [sym__splat_star] = ACTIONS(2412),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(2414),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2416),
    [anon_sym_yield] = ACTIONS(2418),
    [anon_sym_break] = ACTIONS(2420),
    [anon_sym_next] = ACTIONS(2422),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(2432),
    [anon_sym_not] = ACTIONS(2434),
    [anon_sym_BANG] = ACTIONS(2436),
    [anon_sym_TILDE] = ACTIONS(2438),
    [sym_constant] = ACTIONS(2440),
    [sym_identifier] = ACTIONS(2440),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [370] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1539),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(351),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(1541),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1542),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1543),
    [sym__variable] = STATE(1540),
    [sym_reserved_identifier] = STATE(1544),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(1545),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(2410),
    [sym__splat_star] = ACTIONS(2412),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(2414),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2416),
    [anon_sym_yield] = ACTIONS(2418),
    [anon_sym_break] = ACTIONS(2420),
    [anon_sym_next] = ACTIONS(2422),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(2432),
    [anon_sym_not] = ACTIONS(2434),
    [anon_sym_BANG] = ACTIONS(2436),
    [anon_sym_TILDE] = ACTIONS(2438),
    [sym_constant] = ACTIONS(2440),
    [sym_identifier] = ACTIONS(2440),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [371] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1546),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [372] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1547),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [373] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(434),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [374] = {
    [sym__do] = STATE(1564),
    [sym_heredoc_end] = STATE(1550),
    [sym__terminator] = STATE(1557),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym__line_break] = ACTIONS(2446),
    [sym__binary_minus] = ACTIONS(2448),
    [sym__binary_star] = ACTIONS(2450),
    [anon_sym_PIPE] = ACTIONS(2452),
    [anon_sym_SEMI] = ACTIONS(2446),
    [anon_sym_STAR_STAR] = ACTIONS(2454),
    [anon_sym_AMP] = ACTIONS(2456),
    [anon_sym_LT] = ACTIONS(2458),
    [anon_sym_do] = ACTIONS(2460),
    [anon_sym_QMARK] = ACTIONS(2462),
    [anon_sym_DOT_DOT] = ACTIONS(2464),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2466),
    [anon_sym_and] = ACTIONS(2468),
    [anon_sym_or] = ACTIONS(2468),
    [anon_sym_PIPE_PIPE] = ACTIONS(2470),
    [anon_sym_AMP_AMP] = ACTIONS(2470),
    [anon_sym_LT_LT] = ACTIONS(2472),
    [anon_sym_GT_GT] = ACTIONS(2472),
    [anon_sym_EQ_EQ] = ACTIONS(2474),
    [anon_sym_BANG_EQ] = ACTIONS(2470),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2470),
    [anon_sym_LT_EQ_GT] = ACTIONS(2470),
    [anon_sym_EQ_TILDE] = ACTIONS(2470),
    [anon_sym_BANG_TILDE] = ACTIONS(2470),
    [anon_sym_LT_EQ] = ACTIONS(2458),
    [anon_sym_GT] = ACTIONS(2458),
    [anon_sym_GT_EQ] = ACTIONS(2476),
    [anon_sym_CARET] = ACTIONS(2478),
    [anon_sym_PLUS] = ACTIONS(2480),
    [anon_sym_SLASH] = ACTIONS(2454),
    [anon_sym_PERCENT] = ACTIONS(2454),
    [sym_comment] = ACTIONS(110),
  },
  [375] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1578),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(1579),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(1580),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_do_block] = STATE(602),
    [sym_block] = STATE(602),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1581),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1582),
    [sym__variable] = STATE(1540),
    [sym_reserved_identifier] = STATE(1583),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1584),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(2482),
    [sym__splat_star] = ACTIONS(2484),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(2486),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(1014),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2488),
    [anon_sym_yield] = ACTIONS(2490),
    [anon_sym_break] = ACTIONS(2492),
    [anon_sym_next] = ACTIONS(2494),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(982),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(2504),
    [anon_sym_not] = ACTIONS(2506),
    [anon_sym_BANG] = ACTIONS(2508),
    [anon_sym_TILDE] = ACTIONS(2510),
    [sym_constant] = ACTIONS(2512),
    [sym_identifier] = ACTIONS(2512),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [376] = {
    [anon_sym_EQ] = ACTIONS(2514),
    [sym_comment] = ACTIONS(256),
  },
  [377] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(1076),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(2516),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(2518),
    [anon_sym_DASH_EQ] = ACTIONS(2518),
    [anon_sym_STAR_EQ] = ACTIONS(2518),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2518),
    [anon_sym_SLASH_EQ] = ACTIONS(2518),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2518),
    [anon_sym_PIPE_EQ] = ACTIONS(2518),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2518),
    [anon_sym_AMP_EQ] = ACTIONS(2518),
    [anon_sym_PERCENT_EQ] = ACTIONS(2518),
    [anon_sym_GT_GT_EQ] = ACTIONS(2518),
    [anon_sym_LT_LT_EQ] = ACTIONS(2518),
    [anon_sym_CARET_EQ] = ACTIONS(2518),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [378] = {
    [sym__do] = STATE(1587),
    [sym_heredoc_end] = STATE(1550),
    [sym__terminator] = STATE(1557),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym__line_break] = ACTIONS(2446),
    [sym__binary_minus] = ACTIONS(2448),
    [sym__binary_star] = ACTIONS(2450),
    [anon_sym_PIPE] = ACTIONS(2452),
    [anon_sym_SEMI] = ACTIONS(2446),
    [anon_sym_STAR_STAR] = ACTIONS(2454),
    [anon_sym_AMP] = ACTIONS(2456),
    [anon_sym_LT] = ACTIONS(2458),
    [anon_sym_do] = ACTIONS(2460),
    [anon_sym_QMARK] = ACTIONS(2462),
    [anon_sym_DOT_DOT] = ACTIONS(2464),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2466),
    [anon_sym_and] = ACTIONS(2468),
    [anon_sym_or] = ACTIONS(2468),
    [anon_sym_PIPE_PIPE] = ACTIONS(2470),
    [anon_sym_AMP_AMP] = ACTIONS(2470),
    [anon_sym_LT_LT] = ACTIONS(2472),
    [anon_sym_GT_GT] = ACTIONS(2472),
    [anon_sym_EQ_EQ] = ACTIONS(2474),
    [anon_sym_BANG_EQ] = ACTIONS(2470),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2470),
    [anon_sym_LT_EQ_GT] = ACTIONS(2470),
    [anon_sym_EQ_TILDE] = ACTIONS(2470),
    [anon_sym_BANG_TILDE] = ACTIONS(2470),
    [anon_sym_LT_EQ] = ACTIONS(2458),
    [anon_sym_GT] = ACTIONS(2458),
    [anon_sym_GT_EQ] = ACTIONS(2476),
    [anon_sym_CARET] = ACTIONS(2478),
    [anon_sym_PLUS] = ACTIONS(2480),
    [anon_sym_SLASH] = ACTIONS(2454),
    [anon_sym_PERCENT] = ACTIONS(2454),
    [sym_comment] = ACTIONS(110),
  },
  [379] = {
    [sym__statements] = STATE(1250),
    [sym__top_level_statement] = STATE(235),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(236),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(237),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(240),
    [sym__mlhs] = STATE(241),
    [sym__simple_mlhs] = STATE(242),
    [sym_destructured_left_assignment] = STATE(242),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(243),
    [sym__variable] = STATE(239),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(396),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_RPAREN] = ACTIONS(2020),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(402),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(412),
    [anon_sym_defined_QMARK] = ACTIONS(414),
    [anon_sym_not] = ACTIONS(416),
    [anon_sym_BANG] = ACTIONS(418),
    [anon_sym_TILDE] = ACTIONS(418),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [380] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(285),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(381),
    [sym_call] = STATE(381),
    [sym_method_call] = STATE(286),
    [sym__lhs] = STATE(288),
    [sym__variable] = STATE(381),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(458),
    [anon_sym_COLON_COLON] = ACTIONS(460),
    [anon_sym_COMMA] = ACTIONS(462),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_in] = ACTIONS(2520),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(494),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [381] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1601),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1310),
    [sym__argument_list_with_parens] = STATE(1264),
    [sym__argument] = STATE(1603),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_do_block] = STATE(1312),
    [sym_block] = STATE(1312),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1605),
    [sym__variable] = STATE(1602),
    [sym_reserved_identifier] = STATE(1606),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1607),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(2522),
    [sym__splat_star] = ACTIONS(2524),
    [sym__argument_list_left_paren] = ACTIONS(2034),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(2526),
    [anon_sym_LBRACE] = ACTIONS(2064),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(980),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2528),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2530),
    [anon_sym_yield] = ACTIONS(2532),
    [anon_sym_break] = ACTIONS(2534),
    [anon_sym_next] = ACTIONS(2536),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(982),
    [anon_sym_do] = ACTIONS(2076),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2538),
    [anon_sym_defined_QMARK] = ACTIONS(2540),
    [anon_sym_not] = ACTIONS(2542),
    [anon_sym_BANG] = ACTIONS(2544),
    [anon_sym_TILDE] = ACTIONS(2544),
    [sym_constant] = ACTIONS(2546),
    [sym_identifier] = ACTIONS(2546),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [382] = {
    [sym_in] = STATE(1609),
    [anon_sym_in] = ACTIONS(2548),
    [sym_comment] = ACTIONS(110),
  },
  [383] = {
    [anon_sym_COMMA] = ACTIONS(2550),
    [anon_sym_in] = ACTIONS(1074),
    [sym_comment] = ACTIONS(110),
  },
  [384] = {
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [anon_sym_RPAREN] = ACTIONS(1076),
    [anon_sym_DOT] = ACTIONS(250),
    [anon_sym_COMMA] = ACTIONS(1076),
    [anon_sym_EQ] = ACTIONS(1076),
    [anon_sym_in] = ACTIONS(1076),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [sym_comment] = ACTIONS(256),
  },
  [385] = {
    [sym__simple_heredoc_body] = ACTIONS(1398),
    [sym__heredoc_body_beginning] = ACTIONS(1398),
    [sym__line_break] = ACTIONS(1398),
    [anon_sym_SEMI] = ACTIONS(1398),
    [anon_sym_when] = ACTIONS(1398),
    [sym_comment] = ACTIONS(110),
  },
  [386] = {
    [sym__statement] = STATE(1611),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [aux_sym_heredoc_end_repeat1] = STATE(1612),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [387] = {
    [sym__simple_heredoc_body] = ACTIONS(2552),
    [sym__heredoc_body_beginning] = ACTIONS(2552),
    [sym__line_break] = ACTIONS(2552),
    [anon_sym_SEMI] = ACTIONS(2552),
    [anon_sym_when] = ACTIONS(2552),
    [sym_comment] = ACTIONS(110),
  },
  [388] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1613),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(400),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(401),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(668),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(680),
    [anon_sym_defined_QMARK] = ACTIONS(682),
    [anon_sym_not] = ACTIONS(684),
    [anon_sym_BANG] = ACTIONS(686),
    [anon_sym_TILDE] = ACTIONS(686),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [389] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1627),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1628),
    [sym_call] = STATE(1628),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(340),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(1629),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1630),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1631),
    [sym__variable] = STATE(1628),
    [sym_reserved_identifier] = STATE(1632),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(1633),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(2554),
    [sym__splat_star] = ACTIONS(2556),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(2558),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2560),
    [anon_sym_yield] = ACTIONS(2562),
    [anon_sym_break] = ACTIONS(2564),
    [anon_sym_next] = ACTIONS(2566),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(544),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(2568),
    [anon_sym_not] = ACTIONS(2570),
    [anon_sym_BANG] = ACTIONS(2572),
    [anon_sym_TILDE] = ACTIONS(2574),
    [sym_constant] = ACTIONS(2576),
    [sym_identifier] = ACTIONS(2576),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [390] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1627),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1628),
    [sym_call] = STATE(1628),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(349),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(1629),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1630),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1631),
    [sym__variable] = STATE(1628),
    [sym_reserved_identifier] = STATE(1632),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(1633),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(2554),
    [sym__splat_star] = ACTIONS(2556),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(2558),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2560),
    [anon_sym_yield] = ACTIONS(2562),
    [anon_sym_break] = ACTIONS(2564),
    [anon_sym_next] = ACTIONS(2566),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(604),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(2568),
    [anon_sym_not] = ACTIONS(2570),
    [anon_sym_BANG] = ACTIONS(2572),
    [anon_sym_TILDE] = ACTIONS(2574),
    [sym_constant] = ACTIONS(2576),
    [sym_identifier] = ACTIONS(2576),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [391] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1627),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1628),
    [sym_call] = STATE(1628),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(350),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(1629),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1630),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1631),
    [sym__variable] = STATE(1628),
    [sym_reserved_identifier] = STATE(1632),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(1633),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(2554),
    [sym__splat_star] = ACTIONS(2556),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(2558),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2560),
    [anon_sym_yield] = ACTIONS(2562),
    [anon_sym_break] = ACTIONS(2564),
    [anon_sym_next] = ACTIONS(2566),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(608),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(2568),
    [anon_sym_not] = ACTIONS(2570),
    [anon_sym_BANG] = ACTIONS(2572),
    [anon_sym_TILDE] = ACTIONS(2574),
    [sym_constant] = ACTIONS(2576),
    [sym_identifier] = ACTIONS(2576),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [392] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1627),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1628),
    [sym_call] = STATE(1628),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(351),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(1629),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1630),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1631),
    [sym__variable] = STATE(1628),
    [sym_reserved_identifier] = STATE(1632),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(1633),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(2554),
    [sym__splat_star] = ACTIONS(2556),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(2558),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2560),
    [anon_sym_yield] = ACTIONS(2562),
    [anon_sym_break] = ACTIONS(2564),
    [anon_sym_next] = ACTIONS(2566),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(612),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(2568),
    [anon_sym_not] = ACTIONS(2570),
    [anon_sym_BANG] = ACTIONS(2572),
    [anon_sym_TILDE] = ACTIONS(2574),
    [sym_constant] = ACTIONS(2576),
    [sym_identifier] = ACTIONS(2576),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [393] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_pattern] = STATE(1643),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1644),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1645),
    [sym_call] = STATE(1645),
    [sym_method_call] = STATE(61),
    [sym_splat_argument] = STATE(1646),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1647),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1648),
    [sym__variable] = STATE(1645),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(2578),
    [sym__unary_minus] = ACTIONS(2580),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2582),
    [anon_sym_yield] = ACTIONS(2584),
    [anon_sym_break] = ACTIONS(2586),
    [anon_sym_next] = ACTIONS(2588),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2590),
    [anon_sym_defined_QMARK] = ACTIONS(2592),
    [anon_sym_not] = ACTIONS(2594),
    [anon_sym_BANG] = ACTIONS(2596),
    [anon_sym_TILDE] = ACTIONS(2596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [394] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1649),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(400),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(401),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(668),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(680),
    [anon_sym_defined_QMARK] = ACTIONS(682),
    [anon_sym_not] = ACTIONS(684),
    [anon_sym_BANG] = ACTIONS(686),
    [anon_sym_TILDE] = ACTIONS(686),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [395] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1650),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(400),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(401),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(668),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(680),
    [anon_sym_defined_QMARK] = ACTIONS(682),
    [anon_sym_not] = ACTIONS(684),
    [anon_sym_BANG] = ACTIONS(686),
    [anon_sym_TILDE] = ACTIONS(686),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [396] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(434),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(400),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(401),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(668),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(680),
    [anon_sym_defined_QMARK] = ACTIONS(682),
    [anon_sym_not] = ACTIONS(684),
    [anon_sym_BANG] = ACTIONS(686),
    [anon_sym_TILDE] = ACTIONS(686),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [397] = {
    [anon_sym_end] = ACTIONS(2598),
    [sym_comment] = ACTIONS(110),
  },
  [398] = {
    [sym_when] = STATE(1664),
    [sym_heredoc_end] = STATE(387),
    [sym__terminator] = STATE(402),
    [aux_sym_case_repeat1] = STATE(1665),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym__line_break] = ACTIONS(666),
    [sym__binary_minus] = ACTIONS(2600),
    [sym__binary_star] = ACTIONS(2602),
    [anon_sym_PIPE] = ACTIONS(2604),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_STAR_STAR] = ACTIONS(2606),
    [anon_sym_AMP] = ACTIONS(2608),
    [anon_sym_LT] = ACTIONS(2610),
    [anon_sym_when] = ACTIONS(2612),
    [anon_sym_QMARK] = ACTIONS(2614),
    [anon_sym_DOT_DOT] = ACTIONS(2616),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2618),
    [anon_sym_and] = ACTIONS(2620),
    [anon_sym_or] = ACTIONS(2620),
    [anon_sym_PIPE_PIPE] = ACTIONS(2622),
    [anon_sym_AMP_AMP] = ACTIONS(2622),
    [anon_sym_LT_LT] = ACTIONS(2624),
    [anon_sym_GT_GT] = ACTIONS(2624),
    [anon_sym_EQ_EQ] = ACTIONS(2626),
    [anon_sym_BANG_EQ] = ACTIONS(2622),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2622),
    [anon_sym_LT_EQ_GT] = ACTIONS(2622),
    [anon_sym_EQ_TILDE] = ACTIONS(2622),
    [anon_sym_BANG_TILDE] = ACTIONS(2622),
    [anon_sym_LT_EQ] = ACTIONS(2610),
    [anon_sym_GT] = ACTIONS(2610),
    [anon_sym_GT_EQ] = ACTIONS(2628),
    [anon_sym_CARET] = ACTIONS(2630),
    [anon_sym_PLUS] = ACTIONS(2632),
    [anon_sym_SLASH] = ACTIONS(2606),
    [anon_sym_PERCENT] = ACTIONS(2606),
    [sym_comment] = ACTIONS(110),
  },
  [399] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1679),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1680),
    [sym_call] = STATE(1680),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(598),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(1681),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_do_block] = STATE(602),
    [sym_block] = STATE(602),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1682),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1683),
    [sym__variable] = STATE(1680),
    [sym_reserved_identifier] = STATE(1684),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1685),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(2634),
    [sym__splat_star] = ACTIONS(2636),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(2638),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(1014),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2640),
    [anon_sym_yield] = ACTIONS(2642),
    [anon_sym_break] = ACTIONS(2644),
    [anon_sym_next] = ACTIONS(2646),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(1038),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(982),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(2648),
    [anon_sym_not] = ACTIONS(2650),
    [anon_sym_BANG] = ACTIONS(2652),
    [anon_sym_TILDE] = ACTIONS(2654),
    [sym_constant] = ACTIONS(2656),
    [sym_identifier] = ACTIONS(2656),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [400] = {
    [anon_sym_EQ] = ACTIONS(2658),
    [sym_comment] = ACTIONS(256),
  },
  [401] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(1076),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(2660),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_when] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(2662),
    [anon_sym_DASH_EQ] = ACTIONS(2662),
    [anon_sym_STAR_EQ] = ACTIONS(2662),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2662),
    [anon_sym_SLASH_EQ] = ACTIONS(2662),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2662),
    [anon_sym_PIPE_EQ] = ACTIONS(2662),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2662),
    [anon_sym_AMP_EQ] = ACTIONS(2662),
    [anon_sym_PERCENT_EQ] = ACTIONS(2662),
    [anon_sym_GT_GT_EQ] = ACTIONS(2662),
    [anon_sym_LT_LT_EQ] = ACTIONS(2662),
    [anon_sym_CARET_EQ] = ACTIONS(2662),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [402] = {
    [sym__simple_heredoc_body] = ACTIONS(2664),
    [sym__heredoc_body_beginning] = ACTIONS(2664),
    [sym__line_break] = ACTIONS(2664),
    [anon_sym_SEMI] = ACTIONS(2664),
    [anon_sym_when] = ACTIONS(2664),
    [sym_comment] = ACTIONS(110),
  },
  [403] = {
    [sym_when] = STATE(1664),
    [sym_heredoc_end] = STATE(387),
    [sym__terminator] = STATE(1688),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym__line_break] = ACTIONS(666),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_when] = ACTIONS(2612),
    [sym_comment] = ACTIONS(110),
  },
  [404] = {
    [sym__simple_string] = ACTIONS(1398),
    [sym__simple_symbol] = ACTIONS(1398),
    [sym__simple_subshell] = ACTIONS(1398),
    [sym__simple_regex] = ACTIONS(1398),
    [sym__simple_word_list] = ACTIONS(1398),
    [sym__string_beginning] = ACTIONS(1398),
    [sym__symbol_beginning] = ACTIONS(1398),
    [sym__subshell_beginning] = ACTIONS(1398),
    [sym__regex_beginning] = ACTIONS(1398),
    [sym__word_list_beginning] = ACTIONS(1398),
    [sym_heredoc_beginning] = ACTIONS(1398),
    [sym__unary_minus] = ACTIONS(1398),
    [anon_sym_BEGIN] = ACTIONS(2666),
    [anon_sym_LBRACE] = ACTIONS(1398),
    [anon_sym_END] = ACTIONS(2666),
    [anon_sym_def] = ACTIONS(2666),
    [anon_sym_LPAREN] = ACTIONS(1398),
    [anon_sym_COLON_COLON] = ACTIONS(1398),
    [anon_sym_end] = ACTIONS(2666),
    [anon_sym_SEMI] = ACTIONS(1398),
    [anon_sym_STAR] = ACTIONS(1398),
    [anon_sym_class] = ACTIONS(2666),
    [anon_sym_module] = ACTIONS(2666),
    [anon_sym_return] = ACTIONS(2666),
    [anon_sym_yield] = ACTIONS(2666),
    [anon_sym_break] = ACTIONS(2666),
    [anon_sym_next] = ACTIONS(2666),
    [anon_sym_redo] = ACTIONS(2666),
    [anon_sym_retry] = ACTIONS(2666),
    [anon_sym_if] = ACTIONS(2666),
    [anon_sym_unless] = ACTIONS(2666),
    [anon_sym_while] = ACTIONS(2666),
    [anon_sym_until] = ACTIONS(2666),
    [anon_sym_rescue] = ACTIONS(2666),
    [anon_sym_for] = ACTIONS(2666),
    [anon_sym_case] = ACTIONS(2666),
    [anon_sym_else] = ACTIONS(2666),
    [anon_sym_begin] = ACTIONS(2666),
    [anon_sym_ensure] = ACTIONS(2666),
    [anon_sym_PLUS] = ACTIONS(2666),
    [anon_sym_defined_QMARK] = ACTIONS(1398),
    [anon_sym_not] = ACTIONS(2666),
    [anon_sym_BANG] = ACTIONS(1398),
    [anon_sym_TILDE] = ACTIONS(1398),
    [sym_constant] = ACTIONS(2668),
    [sym_identifier] = ACTIONS(2668),
    [sym_instance_variable] = ACTIONS(2666),
    [sym_class_variable] = ACTIONS(2666),
    [sym_global_variable] = ACTIONS(2666),
    [anon_sym_alias] = ACTIONS(2666),
    [anon_sym_false] = ACTIONS(2666),
    [anon_sym_nil] = ACTIONS(2666),
    [anon_sym_self] = ACTIONS(2666),
    [anon_sym_super] = ACTIONS(2666),
    [anon_sym_true] = ACTIONS(2666),
    [anon_sym_undef] = ACTIONS(2666),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(2666),
    [sym_float] = ACTIONS(2668),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1398),
    [anon_sym_TRUE] = ACTIONS(2666),
    [anon_sym_FALSE] = ACTIONS(2666),
    [anon_sym_NIL] = ACTIONS(2666),
    [sym_keyword__FILE__] = ACTIONS(2666),
    [sym_keyword__LINE__] = ACTIONS(2666),
    [sym_keyword__ENCODING__] = ACTIONS(2666),
    [sym__character_literal] = ACTIONS(2666),
    [anon_sym_LBRACK] = ACTIONS(1398),
    [anon_sym_DASH_GT] = ACTIONS(1398),
  },
  [405] = {
    [sym__statement] = STATE(1689),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [aux_sym_heredoc_end_repeat1] = STATE(1690),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [406] = {
    [sym__simple_string] = ACTIONS(2552),
    [sym__simple_symbol] = ACTIONS(2552),
    [sym__simple_subshell] = ACTIONS(2552),
    [sym__simple_regex] = ACTIONS(2552),
    [sym__simple_word_list] = ACTIONS(2552),
    [sym__string_beginning] = ACTIONS(2552),
    [sym__symbol_beginning] = ACTIONS(2552),
    [sym__subshell_beginning] = ACTIONS(2552),
    [sym__regex_beginning] = ACTIONS(2552),
    [sym__word_list_beginning] = ACTIONS(2552),
    [sym_heredoc_beginning] = ACTIONS(2552),
    [sym__unary_minus] = ACTIONS(2552),
    [anon_sym_BEGIN] = ACTIONS(2670),
    [anon_sym_LBRACE] = ACTIONS(2552),
    [anon_sym_END] = ACTIONS(2670),
    [anon_sym_def] = ACTIONS(2670),
    [anon_sym_LPAREN] = ACTIONS(2552),
    [anon_sym_COLON_COLON] = ACTIONS(2552),
    [anon_sym_end] = ACTIONS(2670),
    [anon_sym_SEMI] = ACTIONS(2552),
    [anon_sym_STAR] = ACTIONS(2552),
    [anon_sym_class] = ACTIONS(2670),
    [anon_sym_module] = ACTIONS(2670),
    [anon_sym_return] = ACTIONS(2670),
    [anon_sym_yield] = ACTIONS(2670),
    [anon_sym_break] = ACTIONS(2670),
    [anon_sym_next] = ACTIONS(2670),
    [anon_sym_redo] = ACTIONS(2670),
    [anon_sym_retry] = ACTIONS(2670),
    [anon_sym_if] = ACTIONS(2670),
    [anon_sym_unless] = ACTIONS(2670),
    [anon_sym_while] = ACTIONS(2670),
    [anon_sym_until] = ACTIONS(2670),
    [anon_sym_rescue] = ACTIONS(2670),
    [anon_sym_for] = ACTIONS(2670),
    [anon_sym_case] = ACTIONS(2670),
    [anon_sym_else] = ACTIONS(2670),
    [anon_sym_begin] = ACTIONS(2670),
    [anon_sym_ensure] = ACTIONS(2670),
    [anon_sym_PLUS] = ACTIONS(2670),
    [anon_sym_defined_QMARK] = ACTIONS(2552),
    [anon_sym_not] = ACTIONS(2670),
    [anon_sym_BANG] = ACTIONS(2552),
    [anon_sym_TILDE] = ACTIONS(2552),
    [sym_constant] = ACTIONS(2672),
    [sym_identifier] = ACTIONS(2672),
    [sym_instance_variable] = ACTIONS(2670),
    [sym_class_variable] = ACTIONS(2670),
    [sym_global_variable] = ACTIONS(2670),
    [anon_sym_alias] = ACTIONS(2670),
    [anon_sym_false] = ACTIONS(2670),
    [anon_sym_nil] = ACTIONS(2670),
    [anon_sym_self] = ACTIONS(2670),
    [anon_sym_super] = ACTIONS(2670),
    [anon_sym_true] = ACTIONS(2670),
    [anon_sym_undef] = ACTIONS(2670),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(2670),
    [sym_float] = ACTIONS(2672),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(2552),
    [anon_sym_TRUE] = ACTIONS(2670),
    [anon_sym_FALSE] = ACTIONS(2670),
    [anon_sym_NIL] = ACTIONS(2670),
    [sym_keyword__FILE__] = ACTIONS(2670),
    [sym_keyword__LINE__] = ACTIONS(2670),
    [sym_keyword__ENCODING__] = ACTIONS(2670),
    [sym__character_literal] = ACTIONS(2670),
    [anon_sym_LBRACK] = ACTIONS(2552),
    [anon_sym_DASH_GT] = ACTIONS(2552),
  },
  [407] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1691),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [408] = {
    [sym__simple_heredoc_body] = ACTIONS(2674),
    [sym__heredoc_body_beginning] = ACTIONS(2674),
    [sym__line_break] = ACTIONS(2674),
    [sym__element_reference_left_bracket] = ACTIONS(2674),
    [sym__scope_double_colon] = ACTIONS(2674),
    [sym__binary_minus] = ACTIONS(2674),
    [sym__binary_star] = ACTIONS(2674),
    [ts_builtin_sym_end] = ACTIONS(2674),
    [anon_sym___END__] = ACTIONS(2674),
    [anon_sym_LBRACE] = ACTIONS(2674),
    [anon_sym_RBRACE] = ACTIONS(2674),
    [anon_sym_RPAREN] = ACTIONS(2674),
    [anon_sym_DOT] = ACTIONS(2676),
    [anon_sym_end] = ACTIONS(2674),
    [anon_sym_COMMA] = ACTIONS(2674),
    [anon_sym_PIPE] = ACTIONS(2676),
    [anon_sym_SEMI] = ACTIONS(2674),
    [anon_sym_STAR_STAR] = ACTIONS(2674),
    [anon_sym_AMP] = ACTIONS(2676),
    [anon_sym_LT] = ACTIONS(2676),
    [anon_sym_if] = ACTIONS(2674),
    [anon_sym_unless] = ACTIONS(2674),
    [anon_sym_while] = ACTIONS(2674),
    [anon_sym_until] = ACTIONS(2674),
    [anon_sym_rescue] = ACTIONS(2674),
    [anon_sym_do] = ACTIONS(2674),
    [anon_sym_when] = ACTIONS(2674),
    [anon_sym_elsif] = ACTIONS(2674),
    [anon_sym_else] = ACTIONS(2674),
    [anon_sym_then] = ACTIONS(2674),
    [anon_sym_ensure] = ACTIONS(2674),
    [anon_sym_EQ_GT] = ACTIONS(2674),
    [anon_sym_AMP_DOT] = ACTIONS(2674),
    [anon_sym_QMARK] = ACTIONS(2674),
    [anon_sym_DOT_DOT] = ACTIONS(2676),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2674),
    [anon_sym_and] = ACTIONS(2674),
    [anon_sym_or] = ACTIONS(2674),
    [anon_sym_PIPE_PIPE] = ACTIONS(2674),
    [anon_sym_AMP_AMP] = ACTIONS(2674),
    [anon_sym_LT_LT] = ACTIONS(2674),
    [anon_sym_GT_GT] = ACTIONS(2674),
    [anon_sym_EQ_EQ] = ACTIONS(2676),
    [anon_sym_BANG_EQ] = ACTIONS(2674),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2674),
    [anon_sym_LT_EQ_GT] = ACTIONS(2674),
    [anon_sym_EQ_TILDE] = ACTIONS(2674),
    [anon_sym_BANG_TILDE] = ACTIONS(2674),
    [anon_sym_LT_EQ] = ACTIONS(2676),
    [anon_sym_GT] = ACTIONS(2676),
    [anon_sym_GT_EQ] = ACTIONS(2674),
    [anon_sym_CARET] = ACTIONS(2674),
    [anon_sym_PLUS] = ACTIONS(2674),
    [anon_sym_SLASH] = ACTIONS(2674),
    [anon_sym_PERCENT] = ACTIONS(2674),
    [sym_comment] = ACTIONS(110),
  },
  [409] = {
    [sym__simple_string] = ACTIONS(2552),
    [sym__simple_symbol] = ACTIONS(2552),
    [sym__simple_subshell] = ACTIONS(2552),
    [sym__simple_regex] = ACTIONS(2552),
    [sym__simple_word_list] = ACTIONS(2552),
    [sym__simple_heredoc_body] = ACTIONS(430),
    [sym__string_beginning] = ACTIONS(2552),
    [sym__symbol_beginning] = ACTIONS(2552),
    [sym__subshell_beginning] = ACTIONS(2552),
    [sym__regex_beginning] = ACTIONS(2552),
    [sym__word_list_beginning] = ACTIONS(2552),
    [sym__heredoc_body_beginning] = ACTIONS(430),
    [sym_heredoc_beginning] = ACTIONS(2552),
    [sym__line_break] = ACTIONS(430),
    [sym__unary_minus] = ACTIONS(2552),
    [anon_sym_BEGIN] = ACTIONS(2670),
    [anon_sym_LBRACE] = ACTIONS(2552),
    [anon_sym_END] = ACTIONS(2670),
    [anon_sym_def] = ACTIONS(2670),
    [anon_sym_LPAREN] = ACTIONS(2552),
    [anon_sym_COLON_COLON] = ACTIONS(2552),
    [anon_sym_end] = ACTIONS(2670),
    [anon_sym_SEMI] = ACTIONS(2552),
    [anon_sym_STAR] = ACTIONS(2552),
    [anon_sym_class] = ACTIONS(2670),
    [anon_sym_module] = ACTIONS(2670),
    [anon_sym_return] = ACTIONS(2670),
    [anon_sym_yield] = ACTIONS(2670),
    [anon_sym_break] = ACTIONS(2670),
    [anon_sym_next] = ACTIONS(2670),
    [anon_sym_redo] = ACTIONS(2670),
    [anon_sym_retry] = ACTIONS(2670),
    [anon_sym_if] = ACTIONS(2670),
    [anon_sym_unless] = ACTIONS(2670),
    [anon_sym_while] = ACTIONS(2670),
    [anon_sym_until] = ACTIONS(2670),
    [anon_sym_rescue] = ACTIONS(2670),
    [anon_sym_for] = ACTIONS(2670),
    [anon_sym_case] = ACTIONS(2670),
    [anon_sym_else] = ACTIONS(2670),
    [anon_sym_begin] = ACTIONS(2670),
    [anon_sym_ensure] = ACTIONS(2670),
    [anon_sym_PLUS] = ACTIONS(2670),
    [anon_sym_defined_QMARK] = ACTIONS(2552),
    [anon_sym_not] = ACTIONS(2670),
    [anon_sym_BANG] = ACTIONS(2552),
    [anon_sym_TILDE] = ACTIONS(2552),
    [sym_constant] = ACTIONS(2672),
    [sym_identifier] = ACTIONS(2672),
    [sym_instance_variable] = ACTIONS(2670),
    [sym_class_variable] = ACTIONS(2670),
    [sym_global_variable] = ACTIONS(2670),
    [anon_sym_alias] = ACTIONS(2670),
    [anon_sym_false] = ACTIONS(2670),
    [anon_sym_nil] = ACTIONS(2670),
    [anon_sym_self] = ACTIONS(2670),
    [anon_sym_super] = ACTIONS(2670),
    [anon_sym_true] = ACTIONS(2670),
    [anon_sym_undef] = ACTIONS(2670),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(2670),
    [sym_float] = ACTIONS(2672),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(2552),
    [anon_sym_TRUE] = ACTIONS(2670),
    [anon_sym_FALSE] = ACTIONS(2670),
    [anon_sym_NIL] = ACTIONS(2670),
    [sym_keyword__FILE__] = ACTIONS(2670),
    [sym_keyword__LINE__] = ACTIONS(2670),
    [sym_keyword__ENCODING__] = ACTIONS(2670),
    [sym__character_literal] = ACTIONS(2670),
    [anon_sym_LBRACK] = ACTIONS(2552),
    [anon_sym_DASH_GT] = ACTIONS(2552),
  },
  [410] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1705),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1706),
    [sym_call] = STATE(1706),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(340),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(1707),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1708),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1709),
    [sym__variable] = STATE(1706),
    [sym_reserved_identifier] = STATE(1710),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(1711),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(2678),
    [sym__splat_star] = ACTIONS(2680),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(2682),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(544),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2684),
    [anon_sym_yield] = ACTIONS(2686),
    [anon_sym_break] = ACTIONS(2688),
    [anon_sym_next] = ACTIONS(2690),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(544),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(544),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(2692),
    [anon_sym_not] = ACTIONS(2694),
    [anon_sym_BANG] = ACTIONS(2696),
    [anon_sym_TILDE] = ACTIONS(2698),
    [sym_constant] = ACTIONS(2700),
    [sym_identifier] = ACTIONS(2700),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [411] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1705),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1706),
    [sym_call] = STATE(1706),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(349),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(1707),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1708),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1709),
    [sym__variable] = STATE(1706),
    [sym_reserved_identifier] = STATE(1710),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(1711),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(2678),
    [sym__splat_star] = ACTIONS(2680),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(2682),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(604),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2684),
    [anon_sym_yield] = ACTIONS(2686),
    [anon_sym_break] = ACTIONS(2688),
    [anon_sym_next] = ACTIONS(2690),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(604),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(604),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(2692),
    [anon_sym_not] = ACTIONS(2694),
    [anon_sym_BANG] = ACTIONS(2696),
    [anon_sym_TILDE] = ACTIONS(2698),
    [sym_constant] = ACTIONS(2700),
    [sym_identifier] = ACTIONS(2700),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [412] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1705),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1706),
    [sym_call] = STATE(1706),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(350),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(1707),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1708),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1709),
    [sym__variable] = STATE(1706),
    [sym_reserved_identifier] = STATE(1710),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(1711),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(2678),
    [sym__splat_star] = ACTIONS(2680),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(2682),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(608),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2684),
    [anon_sym_yield] = ACTIONS(2686),
    [anon_sym_break] = ACTIONS(2688),
    [anon_sym_next] = ACTIONS(2690),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(608),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(608),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(2692),
    [anon_sym_not] = ACTIONS(2694),
    [anon_sym_BANG] = ACTIONS(2696),
    [anon_sym_TILDE] = ACTIONS(2698),
    [sym_constant] = ACTIONS(2700),
    [sym_identifier] = ACTIONS(2700),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [413] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1705),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1706),
    [sym_call] = STATE(1706),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(351),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(1707),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1708),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1709),
    [sym__variable] = STATE(1706),
    [sym_reserved_identifier] = STATE(1710),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(1711),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(2678),
    [sym__splat_star] = ACTIONS(2680),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(2682),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(612),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2684),
    [anon_sym_yield] = ACTIONS(2686),
    [anon_sym_break] = ACTIONS(2688),
    [anon_sym_next] = ACTIONS(2690),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(612),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(612),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(2692),
    [anon_sym_not] = ACTIONS(2694),
    [anon_sym_BANG] = ACTIONS(2696),
    [anon_sym_TILDE] = ACTIONS(2698),
    [sym_constant] = ACTIONS(2700),
    [sym_identifier] = ACTIONS(2700),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [414] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym__then] = STATE(1728),
    [sym_begin] = STATE(12),
    [sym_exceptions] = STATE(1729),
    [sym_exception_variable] = STATE(1730),
    [sym__arg] = STATE(1731),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_splat_argument] = STATE(1733),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym__arg_or_splat_arg] = STATE(1734),
    [sym_left_assignment_list] = STATE(1735),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1736),
    [sym__variable] = STATE(1732),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1714),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__terminator] = STATE(1737),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2702),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2704),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2706),
    [sym__splat_star] = ACTIONS(2708),
    [sym__unary_minus] = ACTIONS(2710),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_SEMI] = ACTIONS(2706),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2712),
    [anon_sym_yield] = ACTIONS(2714),
    [anon_sym_break] = ACTIONS(2716),
    [anon_sym_next] = ACTIONS(2718),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_then] = ACTIONS(2720),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_EQ_GT] = ACTIONS(2722),
    [anon_sym_PLUS] = ACTIONS(2724),
    [anon_sym_defined_QMARK] = ACTIONS(2726),
    [anon_sym_not] = ACTIONS(2728),
    [anon_sym_BANG] = ACTIONS(2730),
    [anon_sym_TILDE] = ACTIONS(2730),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [415] = {
    [sym__statements] = STATE(1750),
    [sym__top_level_statement] = STATE(1751),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1752),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1753),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1754),
    [sym_call] = STATE(1754),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1755),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1756),
    [sym__variable] = STATE(1754),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1740),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(1757),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2738),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2740),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2742),
    [sym__unary_minus] = ACTIONS(2744),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(2746),
    [anon_sym_SEMI] = ACTIONS(2748),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2750),
    [anon_sym_yield] = ACTIONS(2752),
    [anon_sym_break] = ACTIONS(2754),
    [anon_sym_next] = ACTIONS(2756),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(2746),
    [anon_sym_PLUS] = ACTIONS(2758),
    [anon_sym_defined_QMARK] = ACTIONS(2760),
    [anon_sym_not] = ACTIONS(2762),
    [anon_sym_BANG] = ACTIONS(2764),
    [anon_sym_TILDE] = ACTIONS(2764),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [416] = {
    [sym__statements] = STATE(1766),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(2768),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [417] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1773),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [418] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1774),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [419] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(434),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [420] = {
    [sym_else] = STATE(1775),
    [sym_ensure] = STATE(1776),
    [sym_rescue] = STATE(1777),
    [anon_sym_end] = ACTIONS(2786),
    [anon_sym_rescue] = ACTIONS(2788),
    [anon_sym_else] = ACTIONS(2790),
    [anon_sym_ensure] = ACTIONS(2792),
    [sym_comment] = ACTIONS(110),
  },
  [421] = {
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(1778),
    [aux_sym__statements_repeat1] = STATE(1779),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym__line_break] = ACTIONS(692),
    [anon_sym_end] = ACTIONS(920),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_rescue] = ACTIONS(920),
    [anon_sym_else] = ACTIONS(920),
    [anon_sym_ensure] = ACTIONS(920),
    [sym_comment] = ACTIONS(110),
  },
  [422] = {
    [sym__simple_heredoc_body] = ACTIONS(922),
    [sym__heredoc_body_beginning] = ACTIONS(922),
    [sym__line_break] = ACTIONS(922),
    [anon_sym_end] = ACTIONS(922),
    [anon_sym_SEMI] = ACTIONS(922),
    [anon_sym_if] = ACTIONS(2794),
    [anon_sym_unless] = ACTIONS(2796),
    [anon_sym_while] = ACTIONS(2798),
    [anon_sym_until] = ACTIONS(2800),
    [anon_sym_rescue] = ACTIONS(2802),
    [anon_sym_else] = ACTIONS(922),
    [anon_sym_ensure] = ACTIONS(922),
    [sym_comment] = ACTIONS(110),
  },
  [423] = {
    [sym_ensure] = STATE(1776),
    [anon_sym_end] = ACTIONS(2786),
    [anon_sym_ensure] = ACTIONS(2792),
    [sym_comment] = ACTIONS(110),
  },
  [424] = {
    [anon_sym_end] = ACTIONS(2786),
    [sym_comment] = ACTIONS(110),
  },
  [425] = {
    [sym_else] = STATE(1775),
    [sym_ensure] = STATE(1776),
    [anon_sym_end] = ACTIONS(2786),
    [anon_sym_else] = ACTIONS(2790),
    [anon_sym_ensure] = ACTIONS(2792),
    [sym_comment] = ACTIONS(110),
  },
  [426] = {
    [anon_sym_end] = ACTIONS(2804),
    [sym_comment] = ACTIONS(110),
  },
  [427] = {
    [sym__simple_heredoc_body] = ACTIONS(934),
    [sym__heredoc_body_beginning] = ACTIONS(934),
    [sym__line_break] = ACTIONS(934),
    [sym__binary_minus] = ACTIONS(2806),
    [sym__binary_star] = ACTIONS(2808),
    [anon_sym_end] = ACTIONS(934),
    [anon_sym_PIPE] = ACTIONS(2810),
    [anon_sym_SEMI] = ACTIONS(934),
    [anon_sym_STAR_STAR] = ACTIONS(2812),
    [anon_sym_AMP] = ACTIONS(2814),
    [anon_sym_LT] = ACTIONS(2816),
    [anon_sym_if] = ACTIONS(934),
    [anon_sym_unless] = ACTIONS(934),
    [anon_sym_while] = ACTIONS(934),
    [anon_sym_until] = ACTIONS(934),
    [anon_sym_rescue] = ACTIONS(934),
    [anon_sym_else] = ACTIONS(934),
    [anon_sym_ensure] = ACTIONS(934),
    [anon_sym_QMARK] = ACTIONS(2818),
    [anon_sym_DOT_DOT] = ACTIONS(2820),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2822),
    [anon_sym_and] = ACTIONS(2824),
    [anon_sym_or] = ACTIONS(2824),
    [anon_sym_PIPE_PIPE] = ACTIONS(2826),
    [anon_sym_AMP_AMP] = ACTIONS(2826),
    [anon_sym_LT_LT] = ACTIONS(2828),
    [anon_sym_GT_GT] = ACTIONS(2828),
    [anon_sym_EQ_EQ] = ACTIONS(2830),
    [anon_sym_BANG_EQ] = ACTIONS(2826),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2826),
    [anon_sym_LT_EQ_GT] = ACTIONS(2826),
    [anon_sym_EQ_TILDE] = ACTIONS(2826),
    [anon_sym_BANG_TILDE] = ACTIONS(2826),
    [anon_sym_LT_EQ] = ACTIONS(2816),
    [anon_sym_GT] = ACTIONS(2816),
    [anon_sym_GT_EQ] = ACTIONS(2832),
    [anon_sym_CARET] = ACTIONS(2834),
    [anon_sym_PLUS] = ACTIONS(2836),
    [anon_sym_SLASH] = ACTIONS(2812),
    [anon_sym_PERCENT] = ACTIONS(2812),
    [sym_comment] = ACTIONS(110),
  },
  [428] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1811),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1812),
    [sym_call] = STATE(1812),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(598),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(1813),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_do_block] = STATE(602),
    [sym_block] = STATE(602),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1814),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1815),
    [sym__variable] = STATE(1812),
    [sym_reserved_identifier] = STATE(1816),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1817),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(2838),
    [sym__splat_star] = ACTIONS(2840),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(2842),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(1014),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(982),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2844),
    [anon_sym_yield] = ACTIONS(2846),
    [anon_sym_break] = ACTIONS(2848),
    [anon_sym_next] = ACTIONS(2850),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(982),
    [anon_sym_unless] = ACTIONS(982),
    [anon_sym_while] = ACTIONS(982),
    [anon_sym_until] = ACTIONS(982),
    [anon_sym_rescue] = ACTIONS(982),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(1038),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(982),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(982),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(2852),
    [anon_sym_not] = ACTIONS(2854),
    [anon_sym_BANG] = ACTIONS(2856),
    [anon_sym_TILDE] = ACTIONS(2858),
    [sym_constant] = ACTIONS(2860),
    [sym_identifier] = ACTIONS(2860),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [429] = {
    [anon_sym_EQ] = ACTIONS(2862),
    [sym_comment] = ACTIONS(256),
  },
  [430] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_end] = ACTIONS(250),
    [anon_sym_COMMA] = ACTIONS(1076),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(2864),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_else] = ACTIONS(250),
    [anon_sym_ensure] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(2866),
    [anon_sym_DASH_EQ] = ACTIONS(2866),
    [anon_sym_STAR_EQ] = ACTIONS(2866),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2866),
    [anon_sym_SLASH_EQ] = ACTIONS(2866),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2866),
    [anon_sym_PIPE_EQ] = ACTIONS(2866),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2866),
    [anon_sym_AMP_EQ] = ACTIONS(2866),
    [anon_sym_PERCENT_EQ] = ACTIONS(2866),
    [anon_sym_GT_GT_EQ] = ACTIONS(2866),
    [anon_sym_LT_LT_EQ] = ACTIONS(2866),
    [anon_sym_CARET_EQ] = ACTIONS(2866),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [431] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(1820),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(2868),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [432] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [ts_builtin_sym_end] = ACTIONS(2870),
    [anon_sym___END__] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(942),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [433] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(936),
    [sym__binary_star] = ACTIONS(938),
    [ts_builtin_sym_end] = ACTIONS(2870),
    [anon_sym___END__] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(940),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(942),
    [anon_sym_AMP] = ACTIONS(944),
    [anon_sym_LT] = ACTIONS(946),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(948),
    [anon_sym_DOT_DOT] = ACTIONS(950),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(952),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(956),
    [anon_sym_AMP_AMP] = ACTIONS(956),
    [anon_sym_LT_LT] = ACTIONS(958),
    [anon_sym_GT_GT] = ACTIONS(958),
    [anon_sym_EQ_EQ] = ACTIONS(960),
    [anon_sym_BANG_EQ] = ACTIONS(956),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(956),
    [anon_sym_LT_EQ_GT] = ACTIONS(956),
    [anon_sym_EQ_TILDE] = ACTIONS(956),
    [anon_sym_BANG_TILDE] = ACTIONS(956),
    [anon_sym_LT_EQ] = ACTIONS(946),
    [anon_sym_GT] = ACTIONS(946),
    [anon_sym_GT_EQ] = ACTIONS(962),
    [anon_sym_CARET] = ACTIONS(964),
    [anon_sym_PLUS] = ACTIONS(966),
    [anon_sym_SLASH] = ACTIONS(942),
    [anon_sym_PERCENT] = ACTIONS(942),
    [sym_comment] = ACTIONS(110),
  },
  [434] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [ts_builtin_sym_end] = ACTIONS(2870),
    [anon_sym___END__] = ACTIONS(2870),
    [anon_sym_RBRACE] = ACTIONS(2870),
    [anon_sym_RPAREN] = ACTIONS(2870),
    [anon_sym_end] = ACTIONS(2870),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(2870),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_when] = ACTIONS(2870),
    [anon_sym_elsif] = ACTIONS(2870),
    [anon_sym_else] = ACTIONS(2870),
    [anon_sym_then] = ACTIONS(2870),
    [anon_sym_ensure] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [435] = {
    [sym__simple_symbol] = ACTIONS(130),
    [sym__symbol_beginning] = ACTIONS(130),
    [anon_sym_PIPE] = ACTIONS(130),
    [anon_sym_STAR] = ACTIONS(132),
    [anon_sym_STAR_STAR] = ACTIONS(130),
    [anon_sym_AMP] = ACTIONS(130),
    [anon_sym_LT] = ACTIONS(132),
    [anon_sym_DOT_DOT] = ACTIONS(130),
    [anon_sym_LT_LT] = ACTIONS(130),
    [anon_sym_GT_GT] = ACTIONS(130),
    [anon_sym_EQ_EQ] = ACTIONS(132),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(130),
    [anon_sym_LT_EQ_GT] = ACTIONS(130),
    [anon_sym_EQ_TILDE] = ACTIONS(130),
    [anon_sym_BANG_TILDE] = ACTIONS(130),
    [anon_sym_LT_EQ] = ACTIONS(132),
    [anon_sym_GT] = ACTIONS(132),
    [anon_sym_GT_EQ] = ACTIONS(130),
    [anon_sym_CARET] = ACTIONS(130),
    [anon_sym_PLUS] = ACTIONS(132),
    [anon_sym_SLASH] = ACTIONS(130),
    [anon_sym_PERCENT] = ACTIONS(130),
    [anon_sym_BANG] = ACTIONS(132),
    [anon_sym_TILDE] = ACTIONS(130),
    [sym_constant] = ACTIONS(132),
    [sym_identifier] = ACTIONS(132),
    [sym_instance_variable] = ACTIONS(132),
    [sym_class_variable] = ACTIONS(132),
    [sym_global_variable] = ACTIONS(132),
    [anon_sym_DASH] = ACTIONS(132),
    [anon_sym_PLUS_AT] = ACTIONS(130),
    [anon_sym_DASH_AT] = ACTIONS(130),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(132),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(130),
    [anon_sym_BQUOTE] = ACTIONS(130),
    [sym_comment] = ACTIONS(110),
  },
  [436] = {
    [sym__statement] = STATE(1821),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(1822),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [437] = {
    [sym__simple_symbol] = ACTIONS(1856),
    [sym__symbol_beginning] = ACTIONS(1856),
    [anon_sym_PIPE] = ACTIONS(1856),
    [anon_sym_STAR] = ACTIONS(1858),
    [anon_sym_STAR_STAR] = ACTIONS(1856),
    [anon_sym_AMP] = ACTIONS(1856),
    [anon_sym_LT] = ACTIONS(1858),
    [anon_sym_DOT_DOT] = ACTIONS(1856),
    [anon_sym_LT_LT] = ACTIONS(1856),
    [anon_sym_GT_GT] = ACTIONS(1856),
    [anon_sym_EQ_EQ] = ACTIONS(1858),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1856),
    [anon_sym_LT_EQ_GT] = ACTIONS(1856),
    [anon_sym_EQ_TILDE] = ACTIONS(1856),
    [anon_sym_BANG_TILDE] = ACTIONS(1856),
    [anon_sym_LT_EQ] = ACTIONS(1858),
    [anon_sym_GT] = ACTIONS(1858),
    [anon_sym_GT_EQ] = ACTIONS(1856),
    [anon_sym_CARET] = ACTIONS(1856),
    [anon_sym_PLUS] = ACTIONS(1858),
    [anon_sym_SLASH] = ACTIONS(1856),
    [anon_sym_PERCENT] = ACTIONS(1856),
    [anon_sym_BANG] = ACTIONS(1858),
    [anon_sym_TILDE] = ACTIONS(1856),
    [sym_constant] = ACTIONS(1858),
    [sym_identifier] = ACTIONS(1858),
    [sym_instance_variable] = ACTIONS(1858),
    [sym_class_variable] = ACTIONS(1858),
    [sym_global_variable] = ACTIONS(1858),
    [anon_sym_DASH] = ACTIONS(1858),
    [anon_sym_PLUS_AT] = ACTIONS(1856),
    [anon_sym_DASH_AT] = ACTIONS(1856),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1858),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(1856),
    [anon_sym_BQUOTE] = ACTIONS(1856),
    [sym_comment] = ACTIONS(110),
  },
  [438] = {
    [sym__simple_symbol] = ACTIONS(1860),
    [sym__symbol_beginning] = ACTIONS(1860),
    [anon_sym_PIPE] = ACTIONS(1860),
    [anon_sym_STAR] = ACTIONS(1862),
    [anon_sym_STAR_STAR] = ACTIONS(1860),
    [anon_sym_AMP] = ACTIONS(1860),
    [anon_sym_LT] = ACTIONS(1862),
    [anon_sym_DOT_DOT] = ACTIONS(1860),
    [anon_sym_LT_LT] = ACTIONS(1860),
    [anon_sym_GT_GT] = ACTIONS(1860),
    [anon_sym_EQ_EQ] = ACTIONS(1862),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1860),
    [anon_sym_LT_EQ_GT] = ACTIONS(1860),
    [anon_sym_EQ_TILDE] = ACTIONS(1860),
    [anon_sym_BANG_TILDE] = ACTIONS(1860),
    [anon_sym_LT_EQ] = ACTIONS(1862),
    [anon_sym_GT] = ACTIONS(1862),
    [anon_sym_GT_EQ] = ACTIONS(1860),
    [anon_sym_CARET] = ACTIONS(1860),
    [anon_sym_PLUS] = ACTIONS(1862),
    [anon_sym_SLASH] = ACTIONS(1860),
    [anon_sym_PERCENT] = ACTIONS(1860),
    [anon_sym_BANG] = ACTIONS(1862),
    [anon_sym_TILDE] = ACTIONS(1860),
    [sym_constant] = ACTIONS(1862),
    [sym_identifier] = ACTIONS(1862),
    [sym_instance_variable] = ACTIONS(1862),
    [sym_class_variable] = ACTIONS(1862),
    [sym_global_variable] = ACTIONS(1862),
    [anon_sym_DASH] = ACTIONS(1862),
    [anon_sym_PLUS_AT] = ACTIONS(1860),
    [anon_sym_DASH_AT] = ACTIONS(1860),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1862),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(1860),
    [anon_sym_BQUOTE] = ACTIONS(1860),
    [sym_comment] = ACTIONS(110),
  },
  [439] = {
    [sym__simple_symbol] = ACTIONS(1860),
    [sym__symbol_beginning] = ACTIONS(1860),
    [anon_sym_PIPE] = ACTIONS(1860),
    [anon_sym_STAR] = ACTIONS(1862),
    [anon_sym_STAR_STAR] = ACTIONS(1860),
    [anon_sym_AMP] = ACTIONS(1860),
    [anon_sym_EQ] = ACTIONS(2874),
    [anon_sym_LT] = ACTIONS(1862),
    [anon_sym_DOT_DOT] = ACTIONS(1860),
    [anon_sym_LT_LT] = ACTIONS(1860),
    [anon_sym_GT_GT] = ACTIONS(1860),
    [anon_sym_EQ_EQ] = ACTIONS(1862),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1860),
    [anon_sym_LT_EQ_GT] = ACTIONS(1860),
    [anon_sym_EQ_TILDE] = ACTIONS(1860),
    [anon_sym_BANG_TILDE] = ACTIONS(1860),
    [anon_sym_LT_EQ] = ACTIONS(1862),
    [anon_sym_GT] = ACTIONS(1862),
    [anon_sym_GT_EQ] = ACTIONS(1860),
    [anon_sym_CARET] = ACTIONS(1860),
    [anon_sym_PLUS] = ACTIONS(1862),
    [anon_sym_SLASH] = ACTIONS(1860),
    [anon_sym_PERCENT] = ACTIONS(1860),
    [anon_sym_BANG] = ACTIONS(1862),
    [anon_sym_TILDE] = ACTIONS(1860),
    [sym_constant] = ACTIONS(1862),
    [sym_identifier] = ACTIONS(1862),
    [sym_instance_variable] = ACTIONS(1862),
    [sym_class_variable] = ACTIONS(1862),
    [sym_global_variable] = ACTIONS(1862),
    [anon_sym_DASH] = ACTIONS(1862),
    [anon_sym_PLUS_AT] = ACTIONS(1860),
    [anon_sym_DASH_AT] = ACTIONS(1860),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1862),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(1860),
    [anon_sym_BQUOTE] = ACTIONS(1860),
    [sym_comment] = ACTIONS(256),
  },
  [440] = {
    [sym_operator] = STATE(444),
    [sym__method_name] = STATE(1824),
    [sym_setter] = STATE(444),
    [sym_symbol] = STATE(444),
    [sym__simple_symbol] = ACTIONS(764),
    [sym__symbol_beginning] = ACTIONS(766),
    [anon_sym_PIPE] = ACTIONS(768),
    [anon_sym_STAR] = ACTIONS(770),
    [anon_sym_STAR_STAR] = ACTIONS(768),
    [anon_sym_AMP] = ACTIONS(768),
    [anon_sym_LT] = ACTIONS(770),
    [anon_sym_DOT_DOT] = ACTIONS(768),
    [anon_sym_LT_LT] = ACTIONS(768),
    [anon_sym_GT_GT] = ACTIONS(768),
    [anon_sym_EQ_EQ] = ACTIONS(770),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(768),
    [anon_sym_LT_EQ_GT] = ACTIONS(768),
    [anon_sym_EQ_TILDE] = ACTIONS(768),
    [anon_sym_BANG_TILDE] = ACTIONS(768),
    [anon_sym_LT_EQ] = ACTIONS(770),
    [anon_sym_GT] = ACTIONS(770),
    [anon_sym_GT_EQ] = ACTIONS(768),
    [anon_sym_CARET] = ACTIONS(768),
    [anon_sym_PLUS] = ACTIONS(770),
    [anon_sym_SLASH] = ACTIONS(768),
    [anon_sym_PERCENT] = ACTIONS(768),
    [anon_sym_BANG] = ACTIONS(770),
    [anon_sym_TILDE] = ACTIONS(768),
    [sym_constant] = ACTIONS(772),
    [sym_identifier] = ACTIONS(774),
    [sym_instance_variable] = ACTIONS(772),
    [sym_class_variable] = ACTIONS(772),
    [sym_global_variable] = ACTIONS(772),
    [anon_sym_DASH] = ACTIONS(770),
    [anon_sym_PLUS_AT] = ACTIONS(768),
    [anon_sym_DASH_AT] = ACTIONS(768),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(770),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(768),
    [anon_sym_BQUOTE] = ACTIONS(768),
    [sym_comment] = ACTIONS(110),
  },
  [441] = {
    [sym__simple_heredoc_body] = ACTIONS(130),
    [sym__heredoc_body_beginning] = ACTIONS(130),
    [sym__line_break] = ACTIONS(130),
    [ts_builtin_sym_end] = ACTIONS(130),
    [anon_sym___END__] = ACTIONS(130),
    [anon_sym_RBRACE] = ACTIONS(130),
    [anon_sym_RPAREN] = ACTIONS(130),
    [anon_sym_end] = ACTIONS(130),
    [anon_sym_COMMA] = ACTIONS(130),
    [anon_sym_SEMI] = ACTIONS(130),
    [anon_sym_if] = ACTIONS(130),
    [anon_sym_unless] = ACTIONS(130),
    [anon_sym_while] = ACTIONS(130),
    [anon_sym_until] = ACTIONS(130),
    [anon_sym_rescue] = ACTIONS(130),
    [anon_sym_when] = ACTIONS(130),
    [anon_sym_elsif] = ACTIONS(130),
    [anon_sym_else] = ACTIONS(130),
    [anon_sym_then] = ACTIONS(130),
    [anon_sym_ensure] = ACTIONS(130),
    [sym_comment] = ACTIONS(110),
  },
  [442] = {
    [sym__statement] = STATE(1825),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(1826),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [443] = {
    [sym__simple_heredoc_body] = ACTIONS(1856),
    [sym__heredoc_body_beginning] = ACTIONS(1856),
    [sym__line_break] = ACTIONS(1856),
    [ts_builtin_sym_end] = ACTIONS(1856),
    [anon_sym___END__] = ACTIONS(1856),
    [anon_sym_RBRACE] = ACTIONS(1856),
    [anon_sym_RPAREN] = ACTIONS(1856),
    [anon_sym_end] = ACTIONS(1856),
    [anon_sym_COMMA] = ACTIONS(1856),
    [anon_sym_SEMI] = ACTIONS(1856),
    [anon_sym_if] = ACTIONS(1856),
    [anon_sym_unless] = ACTIONS(1856),
    [anon_sym_while] = ACTIONS(1856),
    [anon_sym_until] = ACTIONS(1856),
    [anon_sym_rescue] = ACTIONS(1856),
    [anon_sym_when] = ACTIONS(1856),
    [anon_sym_elsif] = ACTIONS(1856),
    [anon_sym_else] = ACTIONS(1856),
    [anon_sym_then] = ACTIONS(1856),
    [anon_sym_ensure] = ACTIONS(1856),
    [sym_comment] = ACTIONS(110),
  },
  [444] = {
    [sym__simple_heredoc_body] = ACTIONS(1860),
    [sym__heredoc_body_beginning] = ACTIONS(1860),
    [sym__line_break] = ACTIONS(1860),
    [ts_builtin_sym_end] = ACTIONS(1860),
    [anon_sym___END__] = ACTIONS(1860),
    [anon_sym_RBRACE] = ACTIONS(1860),
    [anon_sym_RPAREN] = ACTIONS(1860),
    [anon_sym_end] = ACTIONS(1860),
    [anon_sym_COMMA] = ACTIONS(1860),
    [anon_sym_SEMI] = ACTIONS(1860),
    [anon_sym_if] = ACTIONS(1860),
    [anon_sym_unless] = ACTIONS(1860),
    [anon_sym_while] = ACTIONS(1860),
    [anon_sym_until] = ACTIONS(1860),
    [anon_sym_rescue] = ACTIONS(1860),
    [anon_sym_when] = ACTIONS(1860),
    [anon_sym_elsif] = ACTIONS(1860),
    [anon_sym_else] = ACTIONS(1860),
    [anon_sym_then] = ACTIONS(1860),
    [anon_sym_ensure] = ACTIONS(1860),
    [sym_comment] = ACTIONS(110),
  },
  [445] = {
    [sym__simple_heredoc_body] = ACTIONS(1860),
    [sym__heredoc_body_beginning] = ACTIONS(1860),
    [sym__line_break] = ACTIONS(1860),
    [ts_builtin_sym_end] = ACTIONS(1860),
    [anon_sym___END__] = ACTIONS(1860),
    [anon_sym_RBRACE] = ACTIONS(1860),
    [anon_sym_RPAREN] = ACTIONS(1860),
    [anon_sym_end] = ACTIONS(1860),
    [anon_sym_COMMA] = ACTIONS(1860),
    [anon_sym_SEMI] = ACTIONS(1860),
    [anon_sym_EQ] = ACTIONS(2876),
    [anon_sym_if] = ACTIONS(1860),
    [anon_sym_unless] = ACTIONS(1860),
    [anon_sym_while] = ACTIONS(1860),
    [anon_sym_until] = ACTIONS(1860),
    [anon_sym_rescue] = ACTIONS(1860),
    [anon_sym_when] = ACTIONS(1860),
    [anon_sym_elsif] = ACTIONS(1860),
    [anon_sym_else] = ACTIONS(1860),
    [anon_sym_then] = ACTIONS(1860),
    [anon_sym_ensure] = ACTIONS(1860),
    [sym_comment] = ACTIONS(256),
  },
  [446] = {
    [aux_sym_undef_repeat1] = STATE(1829),
    [sym__simple_heredoc_body] = ACTIONS(2878),
    [sym__heredoc_body_beginning] = ACTIONS(2878),
    [sym__line_break] = ACTIONS(2878),
    [ts_builtin_sym_end] = ACTIONS(2878),
    [anon_sym___END__] = ACTIONS(2878),
    [anon_sym_RBRACE] = ACTIONS(2878),
    [anon_sym_RPAREN] = ACTIONS(2878),
    [anon_sym_end] = ACTIONS(2878),
    [anon_sym_COMMA] = ACTIONS(2880),
    [anon_sym_SEMI] = ACTIONS(2878),
    [anon_sym_if] = ACTIONS(2878),
    [anon_sym_unless] = ACTIONS(2878),
    [anon_sym_while] = ACTIONS(2878),
    [anon_sym_until] = ACTIONS(2878),
    [anon_sym_rescue] = ACTIONS(2878),
    [anon_sym_when] = ACTIONS(2878),
    [anon_sym_elsif] = ACTIONS(2878),
    [anon_sym_else] = ACTIONS(2878),
    [anon_sym_then] = ACTIONS(2878),
    [anon_sym_ensure] = ACTIONS(2878),
    [sym_comment] = ACTIONS(110),
  },
  [447] = {
    [sym__simple_heredoc_body] = ACTIONS(2882),
    [sym__heredoc_body_beginning] = ACTIONS(2882),
    [sym__line_break] = ACTIONS(2882),
    [sym__element_reference_left_bracket] = ACTIONS(2882),
    [sym__scope_double_colon] = ACTIONS(2882),
    [sym__binary_minus] = ACTIONS(2882),
    [sym__binary_star] = ACTIONS(2882),
    [ts_builtin_sym_end] = ACTIONS(2882),
    [anon_sym___END__] = ACTIONS(2882),
    [anon_sym_LBRACE] = ACTIONS(2882),
    [anon_sym_RBRACE] = ACTIONS(2882),
    [anon_sym_RPAREN] = ACTIONS(2882),
    [anon_sym_DOT] = ACTIONS(2884),
    [anon_sym_end] = ACTIONS(2882),
    [anon_sym_COMMA] = ACTIONS(2882),
    [anon_sym_PIPE] = ACTIONS(2884),
    [anon_sym_SEMI] = ACTIONS(2882),
    [anon_sym_STAR_STAR] = ACTIONS(2882),
    [anon_sym_AMP] = ACTIONS(2884),
    [anon_sym_LT] = ACTIONS(2884),
    [anon_sym_if] = ACTIONS(2882),
    [anon_sym_unless] = ACTIONS(2882),
    [anon_sym_while] = ACTIONS(2882),
    [anon_sym_until] = ACTIONS(2882),
    [anon_sym_rescue] = ACTIONS(2882),
    [anon_sym_do] = ACTIONS(2882),
    [anon_sym_when] = ACTIONS(2882),
    [anon_sym_elsif] = ACTIONS(2882),
    [anon_sym_else] = ACTIONS(2882),
    [anon_sym_then] = ACTIONS(2882),
    [anon_sym_ensure] = ACTIONS(2882),
    [anon_sym_EQ_GT] = ACTIONS(2882),
    [anon_sym_AMP_DOT] = ACTIONS(2882),
    [anon_sym_QMARK] = ACTIONS(2882),
    [anon_sym_DOT_DOT] = ACTIONS(2884),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2882),
    [anon_sym_and] = ACTIONS(2882),
    [anon_sym_or] = ACTIONS(2882),
    [anon_sym_PIPE_PIPE] = ACTIONS(2882),
    [anon_sym_AMP_AMP] = ACTIONS(2882),
    [anon_sym_LT_LT] = ACTIONS(2882),
    [anon_sym_GT_GT] = ACTIONS(2882),
    [anon_sym_EQ_EQ] = ACTIONS(2884),
    [anon_sym_BANG_EQ] = ACTIONS(2882),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2882),
    [anon_sym_LT_EQ_GT] = ACTIONS(2882),
    [anon_sym_EQ_TILDE] = ACTIONS(2882),
    [anon_sym_BANG_TILDE] = ACTIONS(2882),
    [anon_sym_LT_EQ] = ACTIONS(2884),
    [anon_sym_GT] = ACTIONS(2884),
    [anon_sym_GT_EQ] = ACTIONS(2882),
    [anon_sym_CARET] = ACTIONS(2882),
    [anon_sym_PLUS] = ACTIONS(2882),
    [anon_sym_SLASH] = ACTIONS(2882),
    [anon_sym_PERCENT] = ACTIONS(2882),
    [sym_comment] = ACTIONS(110),
  },
  [448] = {
    [sym__simple_string] = ACTIONS(126),
    [sym__simple_heredoc_body] = ACTIONS(126),
    [sym__string_beginning] = ACTIONS(126),
    [sym__heredoc_body_beginning] = ACTIONS(126),
    [sym__element_reference_left_bracket] = ACTIONS(126),
    [sym__scope_double_colon] = ACTIONS(126),
    [sym__keyword_colon] = ACTIONS(126),
    [sym__binary_minus] = ACTIONS(126),
    [sym__binary_star] = ACTIONS(126),
    [anon_sym_LBRACE] = ACTIONS(126),
    [anon_sym_RBRACE] = ACTIONS(126),
    [anon_sym_RPAREN] = ACTIONS(126),
    [anon_sym_DOT] = ACTIONS(128),
    [anon_sym_COMMA] = ACTIONS(126),
    [anon_sym_PIPE] = ACTIONS(128),
    [anon_sym_SEMI] = ACTIONS(126),
    [anon_sym_STAR_STAR] = ACTIONS(126),
    [anon_sym_AMP] = ACTIONS(128),
    [anon_sym_EQ] = ACTIONS(128),
    [anon_sym_LT] = ACTIONS(128),
    [anon_sym_in] = ACTIONS(126),
    [anon_sym_do] = ACTIONS(126),
    [anon_sym_EQ_GT] = ACTIONS(126),
    [anon_sym_RBRACK] = ACTIONS(126),
    [anon_sym_AMP_DOT] = ACTIONS(126),
    [anon_sym_QMARK] = ACTIONS(128),
    [anon_sym_COLON] = ACTIONS(126),
    [anon_sym_DOT_DOT] = ACTIONS(128),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(126),
    [anon_sym_and] = ACTIONS(126),
    [anon_sym_or] = ACTIONS(126),
    [anon_sym_PIPE_PIPE] = ACTIONS(126),
    [anon_sym_AMP_AMP] = ACTIONS(126),
    [anon_sym_LT_LT] = ACTIONS(126),
    [anon_sym_GT_GT] = ACTIONS(126),
    [anon_sym_EQ_EQ] = ACTIONS(128),
    [anon_sym_BANG_EQ] = ACTIONS(126),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(126),
    [anon_sym_LT_EQ_GT] = ACTIONS(126),
    [anon_sym_EQ_TILDE] = ACTIONS(126),
    [anon_sym_BANG_TILDE] = ACTIONS(126),
    [anon_sym_LT_EQ] = ACTIONS(128),
    [anon_sym_GT] = ACTIONS(128),
    [anon_sym_GT_EQ] = ACTIONS(126),
    [anon_sym_CARET] = ACTIONS(126),
    [anon_sym_PLUS] = ACTIONS(126),
    [anon_sym_SLASH] = ACTIONS(126),
    [anon_sym_PERCENT] = ACTIONS(126),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(128),
  },
  [449] = {
    [sym__simple_heredoc_body] = ACTIONS(130),
    [sym__heredoc_body_beginning] = ACTIONS(130),
    [sym__element_reference_left_bracket] = ACTIONS(130),
    [sym__scope_double_colon] = ACTIONS(130),
    [sym__binary_minus] = ACTIONS(130),
    [sym__binary_star] = ACTIONS(130),
    [anon_sym_LBRACE] = ACTIONS(130),
    [anon_sym_RBRACE] = ACTIONS(130),
    [anon_sym_RPAREN] = ACTIONS(130),
    [anon_sym_DOT] = ACTIONS(132),
    [anon_sym_COMMA] = ACTIONS(130),
    [anon_sym_PIPE] = ACTIONS(132),
    [anon_sym_SEMI] = ACTIONS(130),
    [anon_sym_STAR_STAR] = ACTIONS(130),
    [anon_sym_AMP] = ACTIONS(132),
    [anon_sym_EQ] = ACTIONS(132),
    [anon_sym_LT] = ACTIONS(132),
    [anon_sym_in] = ACTIONS(130),
    [anon_sym_do] = ACTIONS(130),
    [anon_sym_EQ_GT] = ACTIONS(130),
    [anon_sym_RBRACK] = ACTIONS(130),
    [anon_sym_AMP_DOT] = ACTIONS(130),
    [anon_sym_QMARK] = ACTIONS(130),
    [anon_sym_COLON] = ACTIONS(130),
    [anon_sym_DOT_DOT] = ACTIONS(132),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(130),
    [anon_sym_and] = ACTIONS(130),
    [anon_sym_or] = ACTIONS(130),
    [anon_sym_PIPE_PIPE] = ACTIONS(130),
    [anon_sym_AMP_AMP] = ACTIONS(130),
    [anon_sym_LT_LT] = ACTIONS(130),
    [anon_sym_GT_GT] = ACTIONS(130),
    [anon_sym_EQ_EQ] = ACTIONS(132),
    [anon_sym_BANG_EQ] = ACTIONS(130),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(130),
    [anon_sym_LT_EQ_GT] = ACTIONS(130),
    [anon_sym_EQ_TILDE] = ACTIONS(130),
    [anon_sym_BANG_TILDE] = ACTIONS(130),
    [anon_sym_LT_EQ] = ACTIONS(132),
    [anon_sym_GT] = ACTIONS(132),
    [anon_sym_GT_EQ] = ACTIONS(130),
    [anon_sym_CARET] = ACTIONS(130),
    [anon_sym_PLUS] = ACTIONS(130),
    [anon_sym_SLASH] = ACTIONS(130),
    [anon_sym_PERCENT] = ACTIONS(130),
    [sym_comment] = ACTIONS(256),
  },
  [450] = {
    [sym__simple_heredoc_body] = ACTIONS(134),
    [sym__heredoc_body_beginning] = ACTIONS(134),
    [sym__element_reference_left_bracket] = ACTIONS(134),
    [sym__scope_double_colon] = ACTIONS(134),
    [sym__binary_minus] = ACTIONS(134),
    [sym__binary_star] = ACTIONS(134),
    [anon_sym_LBRACE] = ACTIONS(134),
    [anon_sym_RBRACE] = ACTIONS(134),
    [anon_sym_RPAREN] = ACTIONS(134),
    [anon_sym_DOT] = ACTIONS(136),
    [anon_sym_COMMA] = ACTIONS(134),
    [anon_sym_PIPE] = ACTIONS(136),
    [anon_sym_SEMI] = ACTIONS(134),
    [anon_sym_STAR_STAR] = ACTIONS(134),
    [anon_sym_AMP] = ACTIONS(136),
    [anon_sym_EQ] = ACTIONS(136),
    [anon_sym_LT] = ACTIONS(136),
    [anon_sym_in] = ACTIONS(134),
    [anon_sym_do] = ACTIONS(134),
    [anon_sym_EQ_GT] = ACTIONS(134),
    [anon_sym_RBRACK] = ACTIONS(134),
    [anon_sym_AMP_DOT] = ACTIONS(134),
    [anon_sym_QMARK] = ACTIONS(134),
    [anon_sym_COLON] = ACTIONS(134),
    [anon_sym_DOT_DOT] = ACTIONS(136),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(134),
    [anon_sym_and] = ACTIONS(134),
    [anon_sym_or] = ACTIONS(134),
    [anon_sym_PIPE_PIPE] = ACTIONS(134),
    [anon_sym_AMP_AMP] = ACTIONS(134),
    [anon_sym_LT_LT] = ACTIONS(134),
    [anon_sym_GT_GT] = ACTIONS(134),
    [anon_sym_EQ_EQ] = ACTIONS(136),
    [anon_sym_BANG_EQ] = ACTIONS(134),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(134),
    [anon_sym_LT_EQ_GT] = ACTIONS(134),
    [anon_sym_EQ_TILDE] = ACTIONS(134),
    [anon_sym_BANG_TILDE] = ACTIONS(134),
    [anon_sym_LT_EQ] = ACTIONS(136),
    [anon_sym_GT] = ACTIONS(136),
    [anon_sym_GT_EQ] = ACTIONS(134),
    [anon_sym_CARET] = ACTIONS(134),
    [anon_sym_PLUS] = ACTIONS(134),
    [anon_sym_SLASH] = ACTIONS(134),
    [anon_sym_PERCENT] = ACTIONS(134),
    [sym_comment] = ACTIONS(256),
  },
  [451] = {
    [sym__simple_heredoc_body] = ACTIONS(138),
    [sym__heredoc_body_beginning] = ACTIONS(138),
    [sym__element_reference_left_bracket] = ACTIONS(138),
    [sym__scope_double_colon] = ACTIONS(138),
    [sym__binary_minus] = ACTIONS(138),
    [sym__binary_star] = ACTIONS(138),
    [anon_sym_LBRACE] = ACTIONS(138),
    [anon_sym_RBRACE] = ACTIONS(138),
    [anon_sym_RPAREN] = ACTIONS(138),
    [anon_sym_DOT] = ACTIONS(140),
    [anon_sym_COMMA] = ACTIONS(138),
    [anon_sym_PIPE] = ACTIONS(140),
    [anon_sym_SEMI] = ACTIONS(138),
    [anon_sym_STAR_STAR] = ACTIONS(138),
    [anon_sym_AMP] = ACTIONS(140),
    [anon_sym_EQ] = ACTIONS(140),
    [anon_sym_LT] = ACTIONS(140),
    [anon_sym_in] = ACTIONS(138),
    [anon_sym_do] = ACTIONS(138),
    [anon_sym_EQ_GT] = ACTIONS(138),
    [anon_sym_RBRACK] = ACTIONS(138),
    [anon_sym_AMP_DOT] = ACTIONS(138),
    [anon_sym_QMARK] = ACTIONS(138),
    [anon_sym_COLON] = ACTIONS(138),
    [anon_sym_DOT_DOT] = ACTIONS(140),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(138),
    [anon_sym_and] = ACTIONS(138),
    [anon_sym_or] = ACTIONS(138),
    [anon_sym_PIPE_PIPE] = ACTIONS(138),
    [anon_sym_AMP_AMP] = ACTIONS(138),
    [anon_sym_LT_LT] = ACTIONS(138),
    [anon_sym_GT_GT] = ACTIONS(138),
    [anon_sym_EQ_EQ] = ACTIONS(140),
    [anon_sym_BANG_EQ] = ACTIONS(138),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(138),
    [anon_sym_LT_EQ_GT] = ACTIONS(138),
    [anon_sym_EQ_TILDE] = ACTIONS(138),
    [anon_sym_BANG_TILDE] = ACTIONS(138),
    [anon_sym_LT_EQ] = ACTIONS(140),
    [anon_sym_GT] = ACTIONS(140),
    [anon_sym_GT_EQ] = ACTIONS(138),
    [anon_sym_CARET] = ACTIONS(138),
    [anon_sym_PLUS] = ACTIONS(138),
    [anon_sym_SLASH] = ACTIONS(138),
    [anon_sym_PERCENT] = ACTIONS(138),
    [sym_comment] = ACTIONS(256),
  },
  [452] = {
    [sym__simple_heredoc_body] = ACTIONS(142),
    [sym__heredoc_body_beginning] = ACTIONS(142),
    [sym__element_reference_left_bracket] = ACTIONS(142),
    [sym__scope_double_colon] = ACTIONS(142),
    [sym__binary_minus] = ACTIONS(142),
    [sym__binary_star] = ACTIONS(142),
    [anon_sym_LBRACE] = ACTIONS(142),
    [anon_sym_RBRACE] = ACTIONS(142),
    [anon_sym_RPAREN] = ACTIONS(142),
    [anon_sym_DOT] = ACTIONS(144),
    [anon_sym_COMMA] = ACTIONS(142),
    [anon_sym_PIPE] = ACTIONS(144),
    [anon_sym_SEMI] = ACTIONS(142),
    [anon_sym_STAR_STAR] = ACTIONS(142),
    [anon_sym_AMP] = ACTIONS(144),
    [anon_sym_EQ] = ACTIONS(144),
    [anon_sym_LT] = ACTIONS(144),
    [anon_sym_in] = ACTIONS(142),
    [anon_sym_do] = ACTIONS(142),
    [anon_sym_EQ_GT] = ACTIONS(142),
    [anon_sym_RBRACK] = ACTIONS(142),
    [anon_sym_AMP_DOT] = ACTIONS(142),
    [anon_sym_QMARK] = ACTIONS(142),
    [anon_sym_COLON] = ACTIONS(142),
    [anon_sym_DOT_DOT] = ACTIONS(144),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(142),
    [anon_sym_and] = ACTIONS(142),
    [anon_sym_or] = ACTIONS(142),
    [anon_sym_PIPE_PIPE] = ACTIONS(142),
    [anon_sym_AMP_AMP] = ACTIONS(142),
    [anon_sym_LT_LT] = ACTIONS(142),
    [anon_sym_GT_GT] = ACTIONS(142),
    [anon_sym_EQ_EQ] = ACTIONS(144),
    [anon_sym_BANG_EQ] = ACTIONS(142),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(142),
    [anon_sym_LT_EQ_GT] = ACTIONS(142),
    [anon_sym_EQ_TILDE] = ACTIONS(142),
    [anon_sym_BANG_TILDE] = ACTIONS(142),
    [anon_sym_LT_EQ] = ACTIONS(144),
    [anon_sym_GT] = ACTIONS(144),
    [anon_sym_GT_EQ] = ACTIONS(142),
    [anon_sym_CARET] = ACTIONS(142),
    [anon_sym_PLUS] = ACTIONS(142),
    [anon_sym_SLASH] = ACTIONS(142),
    [anon_sym_PERCENT] = ACTIONS(142),
    [sym_comment] = ACTIONS(256),
  },
  [453] = {
    [sym__statement] = STATE(1830),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(1831),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [454] = {
    [sym__statement] = STATE(1832),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(1833),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [455] = {
    [sym__statement] = STATE(1834),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(1835),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [456] = {
    [sym__statement] = STATE(1836),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(1837),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [457] = {
    [sym__statement] = STATE(1838),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(1839),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [458] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_RBRACE] = ACTIONS(250),
    [anon_sym_RPAREN] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_in] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_RBRACK] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_COLON] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(256),
  },
  [459] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1848),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(1849),
    [sym_call] = STATE(1849),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1850),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1851),
    [sym__variable] = STATE(1849),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2886),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2888),
    [anon_sym_yield] = ACTIONS(2890),
    [anon_sym_break] = ACTIONS(2892),
    [anon_sym_next] = ACTIONS(2894),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2896),
    [anon_sym_defined_QMARK] = ACTIONS(2898),
    [anon_sym_not] = ACTIONS(2900),
    [anon_sym_BANG] = ACTIONS(2902),
    [anon_sym_TILDE] = ACTIONS(2902),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [460] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1852),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(1849),
    [sym_call] = STATE(1849),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1850),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1851),
    [sym__variable] = STATE(1849),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2886),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2888),
    [anon_sym_yield] = ACTIONS(2890),
    [anon_sym_break] = ACTIONS(2892),
    [anon_sym_next] = ACTIONS(2894),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2896),
    [anon_sym_defined_QMARK] = ACTIONS(2898),
    [anon_sym_not] = ACTIONS(2900),
    [anon_sym_BANG] = ACTIONS(2902),
    [anon_sym_TILDE] = ACTIONS(2902),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [461] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1859),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(509),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(510),
    [sym__variable] = STATE(504),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(808),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2904),
    [anon_sym_yield] = ACTIONS(2906),
    [anon_sym_break] = ACTIONS(2908),
    [anon_sym_next] = ACTIONS(2910),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(852),
    [anon_sym_defined_QMARK] = ACTIONS(854),
    [anon_sym_not] = ACTIONS(2912),
    [anon_sym_BANG] = ACTIONS(858),
    [anon_sym_TILDE] = ACTIONS(858),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [462] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(193),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_hash_splat_argument] = STATE(197),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(199),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(200),
    [sym__variable] = STATE(196),
    [sym_reserved_identifier] = STATE(201),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(202),
    [sym_subshell] = STATE(151),
    [sym_heredoc_end] = STATE(1861),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym__hash_items] = STATE(1862),
    [sym_pair] = STATE(205),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(260),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(272),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(286),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_RBRACE] = ACTIONS(2920),
    [anon_sym_def] = ACTIONS(292),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(302),
    [anon_sym_class] = ACTIONS(304),
    [anon_sym_module] = ACTIONS(306),
    [anon_sym_return] = ACTIONS(308),
    [anon_sym_yield] = ACTIONS(310),
    [anon_sym_break] = ACTIONS(312),
    [anon_sym_next] = ACTIONS(314),
    [anon_sym_redo] = ACTIONS(316),
    [anon_sym_retry] = ACTIONS(318),
    [anon_sym_if] = ACTIONS(320),
    [anon_sym_unless] = ACTIONS(322),
    [anon_sym_while] = ACTIONS(324),
    [anon_sym_until] = ACTIONS(326),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(328),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(330),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(332),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(334),
    [anon_sym_defined_QMARK] = ACTIONS(336),
    [anon_sym_not] = ACTIONS(338),
    [anon_sym_BANG] = ACTIONS(340),
    [anon_sym_TILDE] = ACTIONS(340),
    [sym_constant] = ACTIONS(342),
    [sym_identifier] = ACTIONS(342),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(346),
    [anon_sym_nil] = ACTIONS(348),
    [anon_sym_self] = ACTIONS(350),
    [anon_sym_super] = ACTIONS(352),
    [anon_sym_true] = ACTIONS(354),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(370),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [463] = {
    [sym__method_rest] = STATE(1864),
    [sym__variable] = STATE(1865),
    [sym_operator] = STATE(217),
    [sym__method_name] = STATE(1866),
    [sym_setter] = STATE(217),
    [sym_symbol] = STATE(217),
    [sym_super] = STATE(219),
    [sym_self] = STATE(219),
    [sym__simple_symbol] = ACTIONS(378),
    [sym__symbol_beginning] = ACTIONS(380),
    [sym__keyword_colon] = ACTIONS(1556),
    [anon_sym_LPAREN] = ACTIONS(2922),
    [anon_sym_PIPE] = ACTIONS(384),
    [anon_sym_STAR] = ACTIONS(386),
    [anon_sym_STAR_STAR] = ACTIONS(384),
    [anon_sym_AMP] = ACTIONS(384),
    [anon_sym_LT] = ACTIONS(386),
    [anon_sym_DOT_DOT] = ACTIONS(384),
    [anon_sym_LT_LT] = ACTIONS(384),
    [anon_sym_GT_GT] = ACTIONS(384),
    [anon_sym_EQ_EQ] = ACTIONS(386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(384),
    [anon_sym_LT_EQ_GT] = ACTIONS(384),
    [anon_sym_EQ_TILDE] = ACTIONS(384),
    [anon_sym_BANG_TILDE] = ACTIONS(384),
    [anon_sym_LT_EQ] = ACTIONS(386),
    [anon_sym_GT] = ACTIONS(386),
    [anon_sym_GT_EQ] = ACTIONS(384),
    [anon_sym_CARET] = ACTIONS(384),
    [anon_sym_PLUS] = ACTIONS(386),
    [anon_sym_SLASH] = ACTIONS(384),
    [anon_sym_PERCENT] = ACTIONS(384),
    [anon_sym_BANG] = ACTIONS(386),
    [anon_sym_TILDE] = ACTIONS(384),
    [sym_constant] = ACTIONS(388),
    [sym_identifier] = ACTIONS(390),
    [sym_instance_variable] = ACTIONS(388),
    [sym_class_variable] = ACTIONS(388),
    [sym_global_variable] = ACTIONS(388),
    [anon_sym_self] = ACTIONS(392),
    [anon_sym_super] = ACTIONS(394),
    [anon_sym_DASH] = ACTIONS(386),
    [anon_sym_PLUS_AT] = ACTIONS(384),
    [anon_sym_DASH_AT] = ACTIONS(384),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(386),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(384),
    [anon_sym_BQUOTE] = ACTIONS(384),
    [sym_comment] = ACTIONS(110),
  },
  [464] = {
    [sym__statements] = STATE(1868),
    [sym__top_level_statement] = STATE(235),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(236),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(237),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(240),
    [sym__mlhs] = STATE(241),
    [sym__simple_mlhs] = STATE(242),
    [sym_destructured_left_assignment] = STATE(242),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(243),
    [sym__variable] = STATE(239),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(396),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_RPAREN] = ACTIONS(2924),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(402),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(412),
    [anon_sym_defined_QMARK] = ACTIONS(414),
    [anon_sym_not] = ACTIONS(416),
    [anon_sym_BANG] = ACTIONS(418),
    [anon_sym_TILDE] = ACTIONS(418),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [465] = {
    [sym_constant] = ACTIONS(2926),
    [sym_identifier] = ACTIONS(2926),
    [sym_comment] = ACTIONS(110),
  },
  [466] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1870),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(1849),
    [sym_call] = STATE(1849),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1850),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1851),
    [sym__variable] = STATE(1849),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2886),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2888),
    [anon_sym_yield] = ACTIONS(2890),
    [anon_sym_break] = ACTIONS(2892),
    [anon_sym_next] = ACTIONS(2894),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2896),
    [anon_sym_defined_QMARK] = ACTIONS(2898),
    [anon_sym_not] = ACTIONS(2900),
    [anon_sym_BANG] = ACTIONS(2902),
    [anon_sym_TILDE] = ACTIONS(2902),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [467] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(293),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(1873),
    [sym_call] = STATE(295),
    [sym_method_call] = STATE(286),
    [sym__lhs] = STATE(255),
    [sym__variable] = STATE(295),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__singleton_class_left_angle_left_langle] = ACTIONS(2928),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(458),
    [anon_sym_COLON_COLON] = ACTIONS(524),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(2930),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [468] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(293),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(1875),
    [sym_call] = STATE(295),
    [sym_method_call] = STATE(286),
    [sym__lhs] = STATE(255),
    [sym__variable] = STATE(295),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [sym__keyword_colon] = ACTIONS(1556),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(458),
    [anon_sym_COLON_COLON] = ACTIONS(524),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(2932),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [469] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1885),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1886),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(1887),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1888),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1889),
    [sym__variable] = STATE(504),
    [sym_reserved_identifier] = STATE(1890),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1891),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(2934),
    [sym__splat_star] = ACTIONS(2936),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2938),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(824),
    [anon_sym_yield] = ACTIONS(826),
    [anon_sym_break] = ACTIONS(828),
    [anon_sym_next] = ACTIONS(830),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_RBRACK] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(2940),
    [anon_sym_not] = ACTIONS(2942),
    [anon_sym_BANG] = ACTIONS(2944),
    [anon_sym_TILDE] = ACTIONS(2946),
    [sym_constant] = ACTIONS(2948),
    [sym_identifier] = ACTIONS(2948),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [470] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1885),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1892),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(1887),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1888),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1889),
    [sym__variable] = STATE(504),
    [sym_reserved_identifier] = STATE(1890),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1891),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(2934),
    [sym__splat_star] = ACTIONS(2936),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2938),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(824),
    [anon_sym_yield] = ACTIONS(826),
    [anon_sym_break] = ACTIONS(828),
    [anon_sym_next] = ACTIONS(830),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_RBRACK] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(2940),
    [anon_sym_not] = ACTIONS(2942),
    [anon_sym_BANG] = ACTIONS(2944),
    [anon_sym_TILDE] = ACTIONS(2946),
    [sym_constant] = ACTIONS(2948),
    [sym_identifier] = ACTIONS(2948),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [471] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1885),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1893),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(1887),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1888),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1889),
    [sym__variable] = STATE(504),
    [sym_reserved_identifier] = STATE(1890),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1891),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(2934),
    [sym__splat_star] = ACTIONS(2936),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2938),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(824),
    [anon_sym_yield] = ACTIONS(826),
    [anon_sym_break] = ACTIONS(828),
    [anon_sym_next] = ACTIONS(830),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_RBRACK] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(2940),
    [anon_sym_not] = ACTIONS(2942),
    [anon_sym_BANG] = ACTIONS(2944),
    [anon_sym_TILDE] = ACTIONS(2946),
    [sym_constant] = ACTIONS(2948),
    [sym_identifier] = ACTIONS(2948),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [472] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1885),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1894),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(1887),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1888),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1889),
    [sym__variable] = STATE(504),
    [sym_reserved_identifier] = STATE(1890),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1891),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(2934),
    [sym__splat_star] = ACTIONS(2936),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2938),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(824),
    [anon_sym_yield] = ACTIONS(826),
    [anon_sym_break] = ACTIONS(828),
    [anon_sym_next] = ACTIONS(830),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_RBRACK] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(2940),
    [anon_sym_not] = ACTIONS(2942),
    [anon_sym_BANG] = ACTIONS(2944),
    [anon_sym_TILDE] = ACTIONS(2946),
    [sym_constant] = ACTIONS(2948),
    [sym_identifier] = ACTIONS(2948),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [473] = {
    [sym__simple_heredoc_body] = ACTIONS(614),
    [sym__heredoc_body_beginning] = ACTIONS(614),
    [sym__element_reference_left_bracket] = ACTIONS(614),
    [sym__scope_double_colon] = ACTIONS(614),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__binary_minus] = ACTIONS(614),
    [sym__binary_star] = ACTIONS(614),
    [anon_sym_LBRACE] = ACTIONS(614),
    [anon_sym_RBRACE] = ACTIONS(614),
    [anon_sym_RPAREN] = ACTIONS(614),
    [anon_sym_DOT] = ACTIONS(616),
    [anon_sym_COMMA] = ACTIONS(614),
    [anon_sym_PIPE] = ACTIONS(616),
    [anon_sym_SEMI] = ACTIONS(614),
    [anon_sym_STAR_STAR] = ACTIONS(614),
    [anon_sym_AMP] = ACTIONS(616),
    [anon_sym_EQ] = ACTIONS(616),
    [anon_sym_LT] = ACTIONS(616),
    [anon_sym_in] = ACTIONS(614),
    [anon_sym_do] = ACTIONS(614),
    [anon_sym_EQ_GT] = ACTIONS(614),
    [anon_sym_RBRACK] = ACTIONS(614),
    [anon_sym_AMP_DOT] = ACTIONS(614),
    [anon_sym_QMARK] = ACTIONS(614),
    [anon_sym_COLON] = ACTIONS(614),
    [anon_sym_DOT_DOT] = ACTIONS(616),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(614),
    [anon_sym_and] = ACTIONS(614),
    [anon_sym_or] = ACTIONS(614),
    [anon_sym_PIPE_PIPE] = ACTIONS(614),
    [anon_sym_AMP_AMP] = ACTIONS(614),
    [anon_sym_LT_LT] = ACTIONS(614),
    [anon_sym_GT_GT] = ACTIONS(614),
    [anon_sym_EQ_EQ] = ACTIONS(616),
    [anon_sym_BANG_EQ] = ACTIONS(614),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(614),
    [anon_sym_LT_EQ_GT] = ACTIONS(614),
    [anon_sym_EQ_TILDE] = ACTIONS(614),
    [anon_sym_BANG_TILDE] = ACTIONS(614),
    [anon_sym_LT_EQ] = ACTIONS(616),
    [anon_sym_GT] = ACTIONS(616),
    [anon_sym_GT_EQ] = ACTIONS(614),
    [anon_sym_CARET] = ACTIONS(614),
    [anon_sym_PLUS] = ACTIONS(614),
    [anon_sym_SLASH] = ACTIONS(614),
    [anon_sym_PERCENT] = ACTIONS(614),
    [sym_comment] = ACTIONS(256),
  },
  [474] = {
    [sym__simple_heredoc_body] = ACTIONS(618),
    [sym__heredoc_body_beginning] = ACTIONS(618),
    [sym__element_reference_left_bracket] = ACTIONS(618),
    [sym__scope_double_colon] = ACTIONS(618),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__binary_minus] = ACTIONS(618),
    [sym__binary_star] = ACTIONS(618),
    [anon_sym_LBRACE] = ACTIONS(618),
    [anon_sym_RBRACE] = ACTIONS(618),
    [anon_sym_RPAREN] = ACTIONS(618),
    [anon_sym_DOT] = ACTIONS(620),
    [anon_sym_COMMA] = ACTIONS(618),
    [anon_sym_PIPE] = ACTIONS(620),
    [anon_sym_SEMI] = ACTIONS(618),
    [anon_sym_STAR_STAR] = ACTIONS(618),
    [anon_sym_AMP] = ACTIONS(620),
    [anon_sym_EQ] = ACTIONS(620),
    [anon_sym_LT] = ACTIONS(620),
    [anon_sym_in] = ACTIONS(618),
    [anon_sym_do] = ACTIONS(618),
    [anon_sym_EQ_GT] = ACTIONS(618),
    [anon_sym_RBRACK] = ACTIONS(618),
    [anon_sym_AMP_DOT] = ACTIONS(618),
    [anon_sym_QMARK] = ACTIONS(618),
    [anon_sym_COLON] = ACTIONS(618),
    [anon_sym_DOT_DOT] = ACTIONS(620),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(618),
    [anon_sym_and] = ACTIONS(618),
    [anon_sym_or] = ACTIONS(618),
    [anon_sym_PIPE_PIPE] = ACTIONS(618),
    [anon_sym_AMP_AMP] = ACTIONS(618),
    [anon_sym_LT_LT] = ACTIONS(618),
    [anon_sym_GT_GT] = ACTIONS(618),
    [anon_sym_EQ_EQ] = ACTIONS(620),
    [anon_sym_BANG_EQ] = ACTIONS(618),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(618),
    [anon_sym_LT_EQ_GT] = ACTIONS(618),
    [anon_sym_EQ_TILDE] = ACTIONS(618),
    [anon_sym_BANG_TILDE] = ACTIONS(618),
    [anon_sym_LT_EQ] = ACTIONS(620),
    [anon_sym_GT] = ACTIONS(620),
    [anon_sym_GT_EQ] = ACTIONS(618),
    [anon_sym_CARET] = ACTIONS(618),
    [anon_sym_PLUS] = ACTIONS(618),
    [anon_sym_SLASH] = ACTIONS(618),
    [anon_sym_PERCENT] = ACTIONS(618),
    [sym_comment] = ACTIONS(256),
  },
  [475] = {
    [sym__statement] = STATE(1895),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(361),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [476] = {
    [sym__statement] = STATE(1896),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(361),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [477] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1897),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [478] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1898),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [479] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(285),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(381),
    [sym_call] = STATE(381),
    [sym_method_call] = STATE(286),
    [sym__mlhs] = STATE(1899),
    [sym__simple_mlhs] = STATE(383),
    [sym_destructured_left_assignment] = STATE(383),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(384),
    [sym__variable] = STATE(381),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [sym__keyword_colon] = ACTIONS(1556),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(658),
    [anon_sym_COLON_COLON] = ACTIONS(460),
    [anon_sym_STAR] = ACTIONS(660),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(494),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [480] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_when] = STATE(1900),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1901),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(400),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(401),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(387),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__terminator] = STATE(402),
    [aux_sym_case_repeat1] = STATE(1902),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(666),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(668),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_when] = ACTIONS(678),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(680),
    [anon_sym_defined_QMARK] = ACTIONS(682),
    [anon_sym_not] = ACTIONS(684),
    [anon_sym_BANG] = ACTIONS(686),
    [anon_sym_TILDE] = ACTIONS(686),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [481] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(1904),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(1905),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(692),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(2950),
    [anon_sym_SEMI] = ACTIONS(698),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [482] = {
    [sym__simple_heredoc_body] = ACTIONS(2952),
    [sym__heredoc_body_beginning] = ACTIONS(2952),
    [sym__line_break] = ACTIONS(2952),
    [sym__element_reference_left_bracket] = ACTIONS(2952),
    [sym__scope_double_colon] = ACTIONS(2952),
    [sym__binary_minus] = ACTIONS(2952),
    [sym__binary_star] = ACTIONS(2952),
    [ts_builtin_sym_end] = ACTIONS(2952),
    [anon_sym___END__] = ACTIONS(2952),
    [anon_sym_LBRACE] = ACTIONS(2952),
    [anon_sym_RBRACE] = ACTIONS(2952),
    [anon_sym_RPAREN] = ACTIONS(2952),
    [anon_sym_DOT] = ACTIONS(2954),
    [anon_sym_end] = ACTIONS(2952),
    [anon_sym_COMMA] = ACTIONS(2952),
    [anon_sym_PIPE] = ACTIONS(2954),
    [anon_sym_SEMI] = ACTIONS(2952),
    [anon_sym_STAR_STAR] = ACTIONS(2952),
    [anon_sym_AMP] = ACTIONS(2954),
    [anon_sym_LT] = ACTIONS(2954),
    [anon_sym_if] = ACTIONS(2952),
    [anon_sym_unless] = ACTIONS(2952),
    [anon_sym_while] = ACTIONS(2952),
    [anon_sym_until] = ACTIONS(2952),
    [anon_sym_rescue] = ACTIONS(2952),
    [anon_sym_do] = ACTIONS(2952),
    [anon_sym_when] = ACTIONS(2952),
    [anon_sym_elsif] = ACTIONS(2952),
    [anon_sym_else] = ACTIONS(2952),
    [anon_sym_then] = ACTIONS(2952),
    [anon_sym_ensure] = ACTIONS(2952),
    [anon_sym_EQ_GT] = ACTIONS(2952),
    [anon_sym_AMP_DOT] = ACTIONS(2952),
    [anon_sym_QMARK] = ACTIONS(2952),
    [anon_sym_DOT_DOT] = ACTIONS(2954),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2952),
    [anon_sym_and] = ACTIONS(2952),
    [anon_sym_or] = ACTIONS(2952),
    [anon_sym_PIPE_PIPE] = ACTIONS(2952),
    [anon_sym_AMP_AMP] = ACTIONS(2952),
    [anon_sym_LT_LT] = ACTIONS(2952),
    [anon_sym_GT_GT] = ACTIONS(2952),
    [anon_sym_EQ_EQ] = ACTIONS(2954),
    [anon_sym_BANG_EQ] = ACTIONS(2952),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2952),
    [anon_sym_LT_EQ_GT] = ACTIONS(2952),
    [anon_sym_EQ_TILDE] = ACTIONS(2952),
    [anon_sym_BANG_TILDE] = ACTIONS(2952),
    [anon_sym_LT_EQ] = ACTIONS(2954),
    [anon_sym_GT] = ACTIONS(2954),
    [anon_sym_GT_EQ] = ACTIONS(2952),
    [anon_sym_CARET] = ACTIONS(2952),
    [anon_sym_PLUS] = ACTIONS(2952),
    [anon_sym_SLASH] = ACTIONS(2952),
    [anon_sym_PERCENT] = ACTIONS(2952),
    [sym_comment] = ACTIONS(110),
  },
  [483] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1906),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(509),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(510),
    [sym__variable] = STATE(504),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(808),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2904),
    [anon_sym_yield] = ACTIONS(2906),
    [anon_sym_break] = ACTIONS(2908),
    [anon_sym_next] = ACTIONS(2910),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(852),
    [anon_sym_defined_QMARK] = ACTIONS(854),
    [anon_sym_not] = ACTIONS(2912),
    [anon_sym_BANG] = ACTIONS(858),
    [anon_sym_TILDE] = ACTIONS(858),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [484] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1907),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(509),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(510),
    [sym__variable] = STATE(504),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(808),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2904),
    [anon_sym_yield] = ACTIONS(2906),
    [anon_sym_break] = ACTIONS(2908),
    [anon_sym_next] = ACTIONS(2910),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(852),
    [anon_sym_defined_QMARK] = ACTIONS(854),
    [anon_sym_not] = ACTIONS(2912),
    [anon_sym_BANG] = ACTIONS(858),
    [anon_sym_TILDE] = ACTIONS(858),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [485] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1907),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(509),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(510),
    [sym__variable] = STATE(504),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(808),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2904),
    [anon_sym_yield] = ACTIONS(2906),
    [anon_sym_break] = ACTIONS(2908),
    [anon_sym_next] = ACTIONS(2910),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(852),
    [anon_sym_defined_QMARK] = ACTIONS(854),
    [anon_sym_not] = ACTIONS(2912),
    [anon_sym_BANG] = ACTIONS(858),
    [anon_sym_TILDE] = ACTIONS(858),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [486] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1908),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(509),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(510),
    [sym__variable] = STATE(504),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(808),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2904),
    [anon_sym_yield] = ACTIONS(2906),
    [anon_sym_break] = ACTIONS(2908),
    [anon_sym_next] = ACTIONS(2910),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(852),
    [anon_sym_defined_QMARK] = ACTIONS(854),
    [anon_sym_not] = ACTIONS(2912),
    [anon_sym_BANG] = ACTIONS(858),
    [anon_sym_TILDE] = ACTIONS(858),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [487] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(2956),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_RBRACK] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [488] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_RBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_RPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_RBRACK] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_COLON] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [489] = {
    [sym__simple_heredoc_body] = ACTIONS(740),
    [sym__heredoc_body_beginning] = ACTIONS(740),
    [sym__element_reference_left_bracket] = ACTIONS(740),
    [sym__scope_double_colon] = ACTIONS(740),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__binary_minus] = ACTIONS(740),
    [sym__binary_star] = ACTIONS(740),
    [anon_sym_LBRACE] = ACTIONS(740),
    [anon_sym_RBRACE] = ACTIONS(740),
    [anon_sym_RPAREN] = ACTIONS(740),
    [anon_sym_DOT] = ACTIONS(742),
    [anon_sym_COMMA] = ACTIONS(740),
    [anon_sym_PIPE] = ACTIONS(742),
    [anon_sym_SEMI] = ACTIONS(740),
    [anon_sym_STAR_STAR] = ACTIONS(742),
    [anon_sym_AMP] = ACTIONS(742),
    [anon_sym_EQ] = ACTIONS(742),
    [anon_sym_LT] = ACTIONS(742),
    [anon_sym_in] = ACTIONS(740),
    [anon_sym_do] = ACTIONS(740),
    [anon_sym_EQ_GT] = ACTIONS(740),
    [anon_sym_RBRACK] = ACTIONS(740),
    [anon_sym_AMP_DOT] = ACTIONS(740),
    [anon_sym_PLUS_EQ] = ACTIONS(740),
    [anon_sym_DASH_EQ] = ACTIONS(740),
    [anon_sym_STAR_EQ] = ACTIONS(740),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(740),
    [anon_sym_SLASH_EQ] = ACTIONS(740),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(740),
    [anon_sym_PIPE_EQ] = ACTIONS(740),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(740),
    [anon_sym_AMP_EQ] = ACTIONS(740),
    [anon_sym_PERCENT_EQ] = ACTIONS(740),
    [anon_sym_GT_GT_EQ] = ACTIONS(740),
    [anon_sym_LT_LT_EQ] = ACTIONS(740),
    [anon_sym_CARET_EQ] = ACTIONS(740),
    [anon_sym_QMARK] = ACTIONS(740),
    [anon_sym_COLON] = ACTIONS(740),
    [anon_sym_DOT_DOT] = ACTIONS(742),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(740),
    [anon_sym_and] = ACTIONS(740),
    [anon_sym_or] = ACTIONS(740),
    [anon_sym_PIPE_PIPE] = ACTIONS(742),
    [anon_sym_AMP_AMP] = ACTIONS(742),
    [anon_sym_LT_LT] = ACTIONS(742),
    [anon_sym_GT_GT] = ACTIONS(742),
    [anon_sym_EQ_EQ] = ACTIONS(742),
    [anon_sym_BANG_EQ] = ACTIONS(740),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(740),
    [anon_sym_LT_EQ_GT] = ACTIONS(740),
    [anon_sym_EQ_TILDE] = ACTIONS(740),
    [anon_sym_BANG_TILDE] = ACTIONS(740),
    [anon_sym_LT_EQ] = ACTIONS(742),
    [anon_sym_GT] = ACTIONS(742),
    [anon_sym_GT_EQ] = ACTIONS(740),
    [anon_sym_CARET] = ACTIONS(742),
    [anon_sym_PLUS] = ACTIONS(742),
    [anon_sym_SLASH] = ACTIONS(742),
    [anon_sym_PERCENT] = ACTIONS(742),
    [sym_comment] = ACTIONS(256),
  },
  [490] = {
    [sym__simple_heredoc_body] = ACTIONS(744),
    [sym__heredoc_body_beginning] = ACTIONS(744),
    [sym__element_reference_left_bracket] = ACTIONS(744),
    [sym__scope_double_colon] = ACTIONS(744),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__binary_minus] = ACTIONS(744),
    [sym__binary_star] = ACTIONS(744),
    [anon_sym_LBRACE] = ACTIONS(744),
    [anon_sym_RBRACE] = ACTIONS(744),
    [anon_sym_RPAREN] = ACTIONS(744),
    [anon_sym_DOT] = ACTIONS(746),
    [anon_sym_COMMA] = ACTIONS(744),
    [anon_sym_PIPE] = ACTIONS(746),
    [anon_sym_SEMI] = ACTIONS(744),
    [anon_sym_STAR_STAR] = ACTIONS(746),
    [anon_sym_AMP] = ACTIONS(746),
    [anon_sym_EQ] = ACTIONS(746),
    [anon_sym_LT] = ACTIONS(746),
    [anon_sym_in] = ACTIONS(744),
    [anon_sym_do] = ACTIONS(744),
    [anon_sym_EQ_GT] = ACTIONS(744),
    [anon_sym_RBRACK] = ACTIONS(744),
    [anon_sym_AMP_DOT] = ACTIONS(744),
    [anon_sym_PLUS_EQ] = ACTIONS(744),
    [anon_sym_DASH_EQ] = ACTIONS(744),
    [anon_sym_STAR_EQ] = ACTIONS(744),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(744),
    [anon_sym_SLASH_EQ] = ACTIONS(744),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(744),
    [anon_sym_PIPE_EQ] = ACTIONS(744),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(744),
    [anon_sym_AMP_EQ] = ACTIONS(744),
    [anon_sym_PERCENT_EQ] = ACTIONS(744),
    [anon_sym_GT_GT_EQ] = ACTIONS(744),
    [anon_sym_LT_LT_EQ] = ACTIONS(744),
    [anon_sym_CARET_EQ] = ACTIONS(744),
    [anon_sym_QMARK] = ACTIONS(744),
    [anon_sym_COLON] = ACTIONS(744),
    [anon_sym_DOT_DOT] = ACTIONS(746),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(744),
    [anon_sym_and] = ACTIONS(744),
    [anon_sym_or] = ACTIONS(744),
    [anon_sym_PIPE_PIPE] = ACTIONS(746),
    [anon_sym_AMP_AMP] = ACTIONS(746),
    [anon_sym_LT_LT] = ACTIONS(746),
    [anon_sym_GT_GT] = ACTIONS(746),
    [anon_sym_EQ_EQ] = ACTIONS(746),
    [anon_sym_BANG_EQ] = ACTIONS(744),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(744),
    [anon_sym_LT_EQ_GT] = ACTIONS(744),
    [anon_sym_EQ_TILDE] = ACTIONS(744),
    [anon_sym_BANG_TILDE] = ACTIONS(744),
    [anon_sym_LT_EQ] = ACTIONS(746),
    [anon_sym_GT] = ACTIONS(746),
    [anon_sym_GT_EQ] = ACTIONS(744),
    [anon_sym_CARET] = ACTIONS(746),
    [anon_sym_PLUS] = ACTIONS(746),
    [anon_sym_SLASH] = ACTIONS(746),
    [anon_sym_PERCENT] = ACTIONS(746),
    [sym_comment] = ACTIONS(256),
  },
  [491] = {
    [sym__simple_string] = ACTIONS(748),
    [sym__simple_symbol] = ACTIONS(748),
    [sym__simple_subshell] = ACTIONS(748),
    [sym__simple_regex] = ACTIONS(748),
    [sym__simple_word_list] = ACTIONS(748),
    [sym__simple_heredoc_body] = ACTIONS(748),
    [sym__string_beginning] = ACTIONS(748),
    [sym__symbol_beginning] = ACTIONS(748),
    [sym__subshell_beginning] = ACTIONS(748),
    [sym__regex_beginning] = ACTIONS(748),
    [sym__word_list_beginning] = ACTIONS(748),
    [sym__heredoc_body_beginning] = ACTIONS(748),
    [sym_heredoc_beginning] = ACTIONS(748),
    [sym__element_reference_left_bracket] = ACTIONS(748),
    [sym__block_ampersand] = ACTIONS(748),
    [sym__splat_star] = ACTIONS(748),
    [sym__argument_list_left_paren] = ACTIONS(748),
    [sym__scope_double_colon] = ACTIONS(748),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(748),
    [sym__binary_minus] = ACTIONS(748),
    [sym__binary_star] = ACTIONS(748),
    [anon_sym_LBRACE] = ACTIONS(748),
    [anon_sym_RBRACE] = ACTIONS(748),
    [anon_sym_def] = ACTIONS(750),
    [anon_sym_LPAREN] = ACTIONS(748),
    [anon_sym_RPAREN] = ACTIONS(748),
    [anon_sym_DOT] = ACTIONS(750),
    [anon_sym_COLON_COLON] = ACTIONS(748),
    [anon_sym_end] = ACTIONS(750),
    [anon_sym_COMMA] = ACTIONS(748),
    [anon_sym_PIPE] = ACTIONS(750),
    [anon_sym_SEMI] = ACTIONS(748),
    [anon_sym_STAR] = ACTIONS(750),
    [anon_sym_STAR_STAR] = ACTIONS(750),
    [anon_sym_AMP] = ACTIONS(750),
    [anon_sym_EQ] = ACTIONS(750),
    [anon_sym_class] = ACTIONS(750),
    [anon_sym_LT] = ACTIONS(750),
    [anon_sym_module] = ACTIONS(750),
    [anon_sym_return] = ACTIONS(750),
    [anon_sym_yield] = ACTIONS(750),
    [anon_sym_break] = ACTIONS(750),
    [anon_sym_next] = ACTIONS(750),
    [anon_sym_redo] = ACTIONS(750),
    [anon_sym_retry] = ACTIONS(750),
    [anon_sym_if] = ACTIONS(750),
    [anon_sym_unless] = ACTIONS(750),
    [anon_sym_while] = ACTIONS(750),
    [anon_sym_until] = ACTIONS(750),
    [anon_sym_rescue] = ACTIONS(750),
    [anon_sym_for] = ACTIONS(750),
    [anon_sym_in] = ACTIONS(750),
    [anon_sym_do] = ACTIONS(750),
    [anon_sym_case] = ACTIONS(750),
    [anon_sym_when] = ACTIONS(750),
    [anon_sym_elsif] = ACTIONS(750),
    [anon_sym_else] = ACTIONS(750),
    [anon_sym_then] = ACTIONS(750),
    [anon_sym_begin] = ACTIONS(750),
    [anon_sym_ensure] = ACTIONS(750),
    [anon_sym_EQ_GT] = ACTIONS(748),
    [anon_sym_RBRACK] = ACTIONS(748),
    [anon_sym_AMP_DOT] = ACTIONS(748),
    [anon_sym_PLUS_EQ] = ACTIONS(748),
    [anon_sym_DASH_EQ] = ACTIONS(748),
    [anon_sym_STAR_EQ] = ACTIONS(748),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(748),
    [anon_sym_SLASH_EQ] = ACTIONS(748),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(748),
    [anon_sym_PIPE_EQ] = ACTIONS(748),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(748),
    [anon_sym_AMP_EQ] = ACTIONS(748),
    [anon_sym_PERCENT_EQ] = ACTIONS(748),
    [anon_sym_GT_GT_EQ] = ACTIONS(748),
    [anon_sym_LT_LT_EQ] = ACTIONS(748),
    [anon_sym_CARET_EQ] = ACTIONS(748),
    [anon_sym_QMARK] = ACTIONS(750),
    [anon_sym_COLON] = ACTIONS(750),
    [anon_sym_DOT_DOT] = ACTIONS(750),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(748),
    [anon_sym_and] = ACTIONS(750),
    [anon_sym_or] = ACTIONS(750),
    [anon_sym_PIPE_PIPE] = ACTIONS(750),
    [anon_sym_AMP_AMP] = ACTIONS(750),
    [anon_sym_LT_LT] = ACTIONS(750),
    [anon_sym_GT_GT] = ACTIONS(750),
    [anon_sym_EQ_EQ] = ACTIONS(750),
    [anon_sym_BANG_EQ] = ACTIONS(748),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(748),
    [anon_sym_LT_EQ_GT] = ACTIONS(748),
    [anon_sym_EQ_TILDE] = ACTIONS(748),
    [anon_sym_BANG_TILDE] = ACTIONS(748),
    [anon_sym_LT_EQ] = ACTIONS(750),
    [anon_sym_GT] = ACTIONS(750),
    [anon_sym_GT_EQ] = ACTIONS(748),
    [anon_sym_CARET] = ACTIONS(750),
    [anon_sym_PLUS] = ACTIONS(750),
    [anon_sym_SLASH] = ACTIONS(750),
    [anon_sym_PERCENT] = ACTIONS(750),
    [anon_sym_defined_QMARK] = ACTIONS(748),
    [anon_sym_not] = ACTIONS(750),
    [anon_sym_BANG] = ACTIONS(750),
    [anon_sym_TILDE] = ACTIONS(748),
    [sym_constant] = ACTIONS(752),
    [sym_identifier] = ACTIONS(752),
    [sym_instance_variable] = ACTIONS(750),
    [sym_class_variable] = ACTIONS(750),
    [sym_global_variable] = ACTIONS(750),
    [anon_sym_alias] = ACTIONS(750),
    [anon_sym_defined] = ACTIONS(750),
    [anon_sym_false] = ACTIONS(750),
    [anon_sym_nil] = ACTIONS(750),
    [anon_sym_self] = ACTIONS(750),
    [anon_sym_super] = ACTIONS(750),
    [anon_sym_true] = ACTIONS(750),
    [anon_sym_undef] = ACTIONS(750),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(750),
    [sym_float] = ACTIONS(752),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(748),
    [anon_sym_TRUE] = ACTIONS(750),
    [anon_sym_FALSE] = ACTIONS(750),
    [anon_sym_NIL] = ACTIONS(750),
    [sym_keyword__FILE__] = ACTIONS(750),
    [sym_keyword__LINE__] = ACTIONS(750),
    [sym_keyword__ENCODING__] = ACTIONS(750),
    [sym__character_literal] = ACTIONS(750),
    [anon_sym_LBRACK] = ACTIONS(748),
    [anon_sym_DASH_GT] = ACTIONS(748),
  },
  [492] = {
    [sym__simple_string] = ACTIONS(754),
    [sym__simple_symbol] = ACTIONS(754),
    [sym__simple_subshell] = ACTIONS(754),
    [sym__simple_regex] = ACTIONS(754),
    [sym__simple_word_list] = ACTIONS(754),
    [sym__simple_heredoc_body] = ACTIONS(754),
    [sym__string_beginning] = ACTIONS(754),
    [sym__symbol_beginning] = ACTIONS(754),
    [sym__subshell_beginning] = ACTIONS(754),
    [sym__regex_beginning] = ACTIONS(754),
    [sym__word_list_beginning] = ACTIONS(754),
    [sym__heredoc_body_beginning] = ACTIONS(754),
    [sym_heredoc_beginning] = ACTIONS(754),
    [sym__element_reference_left_bracket] = ACTIONS(754),
    [sym__block_ampersand] = ACTIONS(754),
    [sym__splat_star] = ACTIONS(754),
    [sym__argument_list_left_paren] = ACTIONS(754),
    [sym__scope_double_colon] = ACTIONS(754),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(754),
    [sym__binary_minus] = ACTIONS(754),
    [sym__binary_star] = ACTIONS(754),
    [anon_sym_LBRACE] = ACTIONS(754),
    [anon_sym_RBRACE] = ACTIONS(754),
    [anon_sym_def] = ACTIONS(756),
    [anon_sym_LPAREN] = ACTIONS(754),
    [anon_sym_RPAREN] = ACTIONS(754),
    [anon_sym_DOT] = ACTIONS(756),
    [anon_sym_COLON_COLON] = ACTIONS(754),
    [anon_sym_end] = ACTIONS(756),
    [anon_sym_COMMA] = ACTIONS(754),
    [anon_sym_PIPE] = ACTIONS(756),
    [anon_sym_SEMI] = ACTIONS(754),
    [anon_sym_STAR] = ACTIONS(756),
    [anon_sym_STAR_STAR] = ACTIONS(756),
    [anon_sym_AMP] = ACTIONS(756),
    [anon_sym_EQ] = ACTIONS(756),
    [anon_sym_class] = ACTIONS(756),
    [anon_sym_LT] = ACTIONS(756),
    [anon_sym_module] = ACTIONS(756),
    [anon_sym_return] = ACTIONS(756),
    [anon_sym_yield] = ACTIONS(756),
    [anon_sym_break] = ACTIONS(756),
    [anon_sym_next] = ACTIONS(756),
    [anon_sym_redo] = ACTIONS(756),
    [anon_sym_retry] = ACTIONS(756),
    [anon_sym_if] = ACTIONS(756),
    [anon_sym_unless] = ACTIONS(756),
    [anon_sym_while] = ACTIONS(756),
    [anon_sym_until] = ACTIONS(756),
    [anon_sym_rescue] = ACTIONS(756),
    [anon_sym_for] = ACTIONS(756),
    [anon_sym_in] = ACTIONS(756),
    [anon_sym_do] = ACTIONS(756),
    [anon_sym_case] = ACTIONS(756),
    [anon_sym_when] = ACTIONS(756),
    [anon_sym_elsif] = ACTIONS(756),
    [anon_sym_else] = ACTIONS(756),
    [anon_sym_then] = ACTIONS(756),
    [anon_sym_begin] = ACTIONS(756),
    [anon_sym_ensure] = ACTIONS(756),
    [anon_sym_EQ_GT] = ACTIONS(754),
    [anon_sym_RBRACK] = ACTIONS(754),
    [anon_sym_AMP_DOT] = ACTIONS(754),
    [anon_sym_PLUS_EQ] = ACTIONS(754),
    [anon_sym_DASH_EQ] = ACTIONS(754),
    [anon_sym_STAR_EQ] = ACTIONS(754),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(754),
    [anon_sym_SLASH_EQ] = ACTIONS(754),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(754),
    [anon_sym_PIPE_EQ] = ACTIONS(754),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(754),
    [anon_sym_AMP_EQ] = ACTIONS(754),
    [anon_sym_PERCENT_EQ] = ACTIONS(754),
    [anon_sym_GT_GT_EQ] = ACTIONS(754),
    [anon_sym_LT_LT_EQ] = ACTIONS(754),
    [anon_sym_CARET_EQ] = ACTIONS(754),
    [anon_sym_QMARK] = ACTIONS(756),
    [anon_sym_COLON] = ACTIONS(756),
    [anon_sym_DOT_DOT] = ACTIONS(756),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(754),
    [anon_sym_and] = ACTIONS(756),
    [anon_sym_or] = ACTIONS(756),
    [anon_sym_PIPE_PIPE] = ACTIONS(756),
    [anon_sym_AMP_AMP] = ACTIONS(756),
    [anon_sym_LT_LT] = ACTIONS(756),
    [anon_sym_GT_GT] = ACTIONS(756),
    [anon_sym_EQ_EQ] = ACTIONS(756),
    [anon_sym_BANG_EQ] = ACTIONS(754),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(754),
    [anon_sym_LT_EQ_GT] = ACTIONS(754),
    [anon_sym_EQ_TILDE] = ACTIONS(754),
    [anon_sym_BANG_TILDE] = ACTIONS(754),
    [anon_sym_LT_EQ] = ACTIONS(756),
    [anon_sym_GT] = ACTIONS(756),
    [anon_sym_GT_EQ] = ACTIONS(754),
    [anon_sym_CARET] = ACTIONS(756),
    [anon_sym_PLUS] = ACTIONS(756),
    [anon_sym_SLASH] = ACTIONS(756),
    [anon_sym_PERCENT] = ACTIONS(756),
    [anon_sym_defined_QMARK] = ACTIONS(754),
    [anon_sym_not] = ACTIONS(756),
    [anon_sym_BANG] = ACTIONS(756),
    [anon_sym_TILDE] = ACTIONS(754),
    [sym_constant] = ACTIONS(758),
    [sym_identifier] = ACTIONS(758),
    [sym_instance_variable] = ACTIONS(756),
    [sym_class_variable] = ACTIONS(756),
    [sym_global_variable] = ACTIONS(756),
    [anon_sym_alias] = ACTIONS(756),
    [anon_sym_defined] = ACTIONS(756),
    [anon_sym_false] = ACTIONS(756),
    [anon_sym_nil] = ACTIONS(756),
    [anon_sym_self] = ACTIONS(756),
    [anon_sym_super] = ACTIONS(756),
    [anon_sym_true] = ACTIONS(756),
    [anon_sym_undef] = ACTIONS(756),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(756),
    [sym_float] = ACTIONS(758),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(754),
    [anon_sym_TRUE] = ACTIONS(756),
    [anon_sym_FALSE] = ACTIONS(756),
    [anon_sym_NIL] = ACTIONS(756),
    [sym_keyword__FILE__] = ACTIONS(756),
    [sym_keyword__LINE__] = ACTIONS(756),
    [sym_keyword__ENCODING__] = ACTIONS(756),
    [sym__character_literal] = ACTIONS(756),
    [anon_sym_LBRACK] = ACTIONS(754),
    [anon_sym_DASH_GT] = ACTIONS(754),
  },
  [493] = {
    [sym__simple_heredoc_body] = ACTIONS(760),
    [sym__heredoc_body_beginning] = ACTIONS(760),
    [sym__element_reference_left_bracket] = ACTIONS(760),
    [sym__scope_double_colon] = ACTIONS(760),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__binary_minus] = ACTIONS(760),
    [sym__binary_star] = ACTIONS(760),
    [anon_sym_LBRACE] = ACTIONS(760),
    [anon_sym_RBRACE] = ACTIONS(760),
    [anon_sym_RPAREN] = ACTIONS(760),
    [anon_sym_DOT] = ACTIONS(762),
    [anon_sym_COMMA] = ACTIONS(760),
    [anon_sym_PIPE] = ACTIONS(762),
    [anon_sym_SEMI] = ACTIONS(760),
    [anon_sym_STAR_STAR] = ACTIONS(762),
    [anon_sym_AMP] = ACTIONS(762),
    [anon_sym_EQ] = ACTIONS(762),
    [anon_sym_LT] = ACTIONS(762),
    [anon_sym_in] = ACTIONS(760),
    [anon_sym_do] = ACTIONS(760),
    [anon_sym_EQ_GT] = ACTIONS(760),
    [anon_sym_RBRACK] = ACTIONS(760),
    [anon_sym_AMP_DOT] = ACTIONS(760),
    [anon_sym_PLUS_EQ] = ACTIONS(760),
    [anon_sym_DASH_EQ] = ACTIONS(760),
    [anon_sym_STAR_EQ] = ACTIONS(760),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(760),
    [anon_sym_SLASH_EQ] = ACTIONS(760),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(760),
    [anon_sym_PIPE_EQ] = ACTIONS(760),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(760),
    [anon_sym_AMP_EQ] = ACTIONS(760),
    [anon_sym_PERCENT_EQ] = ACTIONS(760),
    [anon_sym_GT_GT_EQ] = ACTIONS(760),
    [anon_sym_LT_LT_EQ] = ACTIONS(760),
    [anon_sym_CARET_EQ] = ACTIONS(760),
    [anon_sym_QMARK] = ACTIONS(760),
    [anon_sym_COLON] = ACTIONS(760),
    [anon_sym_DOT_DOT] = ACTIONS(762),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(760),
    [anon_sym_and] = ACTIONS(760),
    [anon_sym_or] = ACTIONS(760),
    [anon_sym_PIPE_PIPE] = ACTIONS(762),
    [anon_sym_AMP_AMP] = ACTIONS(762),
    [anon_sym_LT_LT] = ACTIONS(762),
    [anon_sym_GT_GT] = ACTIONS(762),
    [anon_sym_EQ_EQ] = ACTIONS(762),
    [anon_sym_BANG_EQ] = ACTIONS(760),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(760),
    [anon_sym_LT_EQ_GT] = ACTIONS(760),
    [anon_sym_EQ_TILDE] = ACTIONS(760),
    [anon_sym_BANG_TILDE] = ACTIONS(760),
    [anon_sym_LT_EQ] = ACTIONS(762),
    [anon_sym_GT] = ACTIONS(762),
    [anon_sym_GT_EQ] = ACTIONS(760),
    [anon_sym_CARET] = ACTIONS(762),
    [anon_sym_PLUS] = ACTIONS(762),
    [anon_sym_SLASH] = ACTIONS(762),
    [anon_sym_PERCENT] = ACTIONS(762),
    [sym_comment] = ACTIONS(256),
  },
  [494] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_RBRACE] = ACTIONS(250),
    [anon_sym_RPAREN] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_in] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_RBRACK] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_COLON] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(256),
    [anon_sym_r] = ACTIONS(2958),
  },
  [495] = {
    [sym__simple_heredoc_body] = ACTIONS(778),
    [sym__heredoc_body_beginning] = ACTIONS(778),
    [sym__element_reference_left_bracket] = ACTIONS(778),
    [sym__scope_double_colon] = ACTIONS(778),
    [sym__binary_minus] = ACTIONS(778),
    [sym__binary_star] = ACTIONS(778),
    [anon_sym_LBRACE] = ACTIONS(778),
    [anon_sym_RBRACE] = ACTIONS(778),
    [anon_sym_RPAREN] = ACTIONS(778),
    [anon_sym_DOT] = ACTIONS(780),
    [anon_sym_COMMA] = ACTIONS(778),
    [anon_sym_PIPE] = ACTIONS(780),
    [anon_sym_SEMI] = ACTIONS(778),
    [anon_sym_STAR_STAR] = ACTIONS(778),
    [anon_sym_AMP] = ACTIONS(780),
    [anon_sym_EQ] = ACTIONS(780),
    [anon_sym_LT] = ACTIONS(780),
    [anon_sym_in] = ACTIONS(778),
    [anon_sym_do] = ACTIONS(778),
    [anon_sym_EQ_GT] = ACTIONS(778),
    [anon_sym_RBRACK] = ACTIONS(778),
    [anon_sym_AMP_DOT] = ACTIONS(778),
    [anon_sym_QMARK] = ACTIONS(778),
    [anon_sym_COLON] = ACTIONS(778),
    [anon_sym_DOT_DOT] = ACTIONS(780),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(778),
    [anon_sym_and] = ACTIONS(778),
    [anon_sym_or] = ACTIONS(778),
    [anon_sym_PIPE_PIPE] = ACTIONS(778),
    [anon_sym_AMP_AMP] = ACTIONS(778),
    [anon_sym_LT_LT] = ACTIONS(778),
    [anon_sym_GT_GT] = ACTIONS(778),
    [anon_sym_EQ_EQ] = ACTIONS(780),
    [anon_sym_BANG_EQ] = ACTIONS(778),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(778),
    [anon_sym_LT_EQ_GT] = ACTIONS(778),
    [anon_sym_EQ_TILDE] = ACTIONS(778),
    [anon_sym_BANG_TILDE] = ACTIONS(778),
    [anon_sym_LT_EQ] = ACTIONS(780),
    [anon_sym_GT] = ACTIONS(780),
    [anon_sym_GT_EQ] = ACTIONS(778),
    [anon_sym_CARET] = ACTIONS(778),
    [anon_sym_PLUS] = ACTIONS(778),
    [anon_sym_SLASH] = ACTIONS(778),
    [anon_sym_PERCENT] = ACTIONS(778),
    [sym_comment] = ACTIONS(256),
  },
  [496] = {
    [sym__simple_heredoc_body] = ACTIONS(760),
    [sym__heredoc_body_beginning] = ACTIONS(760),
    [sym__element_reference_left_bracket] = ACTIONS(760),
    [sym__scope_double_colon] = ACTIONS(760),
    [sym__binary_minus] = ACTIONS(760),
    [sym__binary_star] = ACTIONS(760),
    [anon_sym_LBRACE] = ACTIONS(760),
    [anon_sym_RBRACE] = ACTIONS(760),
    [anon_sym_RPAREN] = ACTIONS(760),
    [anon_sym_DOT] = ACTIONS(762),
    [anon_sym_COMMA] = ACTIONS(760),
    [anon_sym_PIPE] = ACTIONS(762),
    [anon_sym_SEMI] = ACTIONS(760),
    [anon_sym_STAR_STAR] = ACTIONS(762),
    [anon_sym_AMP] = ACTIONS(762),
    [anon_sym_EQ] = ACTIONS(762),
    [anon_sym_LT] = ACTIONS(762),
    [anon_sym_in] = ACTIONS(760),
    [anon_sym_do] = ACTIONS(760),
    [anon_sym_EQ_GT] = ACTIONS(760),
    [anon_sym_RBRACK] = ACTIONS(760),
    [anon_sym_AMP_DOT] = ACTIONS(760),
    [anon_sym_PLUS_EQ] = ACTIONS(760),
    [anon_sym_DASH_EQ] = ACTIONS(760),
    [anon_sym_STAR_EQ] = ACTIONS(760),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(760),
    [anon_sym_SLASH_EQ] = ACTIONS(760),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(760),
    [anon_sym_PIPE_EQ] = ACTIONS(760),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(760),
    [anon_sym_AMP_EQ] = ACTIONS(760),
    [anon_sym_PERCENT_EQ] = ACTIONS(760),
    [anon_sym_GT_GT_EQ] = ACTIONS(760),
    [anon_sym_LT_LT_EQ] = ACTIONS(760),
    [anon_sym_CARET_EQ] = ACTIONS(760),
    [anon_sym_QMARK] = ACTIONS(760),
    [anon_sym_COLON] = ACTIONS(760),
    [anon_sym_DOT_DOT] = ACTIONS(762),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(760),
    [anon_sym_and] = ACTIONS(760),
    [anon_sym_or] = ACTIONS(760),
    [anon_sym_PIPE_PIPE] = ACTIONS(762),
    [anon_sym_AMP_AMP] = ACTIONS(762),
    [anon_sym_LT_LT] = ACTIONS(762),
    [anon_sym_GT_GT] = ACTIONS(762),
    [anon_sym_EQ_EQ] = ACTIONS(762),
    [anon_sym_BANG_EQ] = ACTIONS(760),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(760),
    [anon_sym_LT_EQ_GT] = ACTIONS(760),
    [anon_sym_EQ_TILDE] = ACTIONS(760),
    [anon_sym_BANG_TILDE] = ACTIONS(760),
    [anon_sym_LT_EQ] = ACTIONS(762),
    [anon_sym_GT] = ACTIONS(762),
    [anon_sym_GT_EQ] = ACTIONS(760),
    [anon_sym_CARET] = ACTIONS(762),
    [anon_sym_PLUS] = ACTIONS(762),
    [anon_sym_SLASH] = ACTIONS(762),
    [anon_sym_PERCENT] = ACTIONS(762),
    [sym_comment] = ACTIONS(256),
  },
  [497] = {
    [sym__simple_heredoc_body] = ACTIONS(740),
    [sym__heredoc_body_beginning] = ACTIONS(740),
    [sym__element_reference_left_bracket] = ACTIONS(740),
    [sym__scope_double_colon] = ACTIONS(740),
    [sym__binary_minus] = ACTIONS(740),
    [sym__binary_star] = ACTIONS(740),
    [anon_sym_LBRACE] = ACTIONS(740),
    [anon_sym_RBRACE] = ACTIONS(740),
    [anon_sym_RPAREN] = ACTIONS(740),
    [anon_sym_DOT] = ACTIONS(742),
    [anon_sym_COMMA] = ACTIONS(740),
    [anon_sym_PIPE] = ACTIONS(742),
    [anon_sym_SEMI] = ACTIONS(740),
    [anon_sym_STAR_STAR] = ACTIONS(742),
    [anon_sym_AMP] = ACTIONS(742),
    [anon_sym_EQ] = ACTIONS(742),
    [anon_sym_LT] = ACTIONS(742),
    [anon_sym_in] = ACTIONS(740),
    [anon_sym_do] = ACTIONS(740),
    [anon_sym_EQ_GT] = ACTIONS(740),
    [anon_sym_RBRACK] = ACTIONS(740),
    [anon_sym_AMP_DOT] = ACTIONS(740),
    [anon_sym_PLUS_EQ] = ACTIONS(740),
    [anon_sym_DASH_EQ] = ACTIONS(740),
    [anon_sym_STAR_EQ] = ACTIONS(740),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(740),
    [anon_sym_SLASH_EQ] = ACTIONS(740),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(740),
    [anon_sym_PIPE_EQ] = ACTIONS(740),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(740),
    [anon_sym_AMP_EQ] = ACTIONS(740),
    [anon_sym_PERCENT_EQ] = ACTIONS(740),
    [anon_sym_GT_GT_EQ] = ACTIONS(740),
    [anon_sym_LT_LT_EQ] = ACTIONS(740),
    [anon_sym_CARET_EQ] = ACTIONS(740),
    [anon_sym_QMARK] = ACTIONS(740),
    [anon_sym_COLON] = ACTIONS(740),
    [anon_sym_DOT_DOT] = ACTIONS(742),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(740),
    [anon_sym_and] = ACTIONS(740),
    [anon_sym_or] = ACTIONS(740),
    [anon_sym_PIPE_PIPE] = ACTIONS(742),
    [anon_sym_AMP_AMP] = ACTIONS(742),
    [anon_sym_LT_LT] = ACTIONS(742),
    [anon_sym_GT_GT] = ACTIONS(742),
    [anon_sym_EQ_EQ] = ACTIONS(742),
    [anon_sym_BANG_EQ] = ACTIONS(740),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(740),
    [anon_sym_LT_EQ_GT] = ACTIONS(740),
    [anon_sym_EQ_TILDE] = ACTIONS(740),
    [anon_sym_BANG_TILDE] = ACTIONS(740),
    [anon_sym_LT_EQ] = ACTIONS(742),
    [anon_sym_GT] = ACTIONS(742),
    [anon_sym_GT_EQ] = ACTIONS(740),
    [anon_sym_CARET] = ACTIONS(742),
    [anon_sym_PLUS] = ACTIONS(742),
    [anon_sym_SLASH] = ACTIONS(742),
    [anon_sym_PERCENT] = ACTIONS(742),
    [sym_comment] = ACTIONS(256),
  },
  [498] = {
    [sym__simple_heredoc_body] = ACTIONS(744),
    [sym__heredoc_body_beginning] = ACTIONS(744),
    [sym__element_reference_left_bracket] = ACTIONS(744),
    [sym__scope_double_colon] = ACTIONS(744),
    [sym__binary_minus] = ACTIONS(744),
    [sym__binary_star] = ACTIONS(744),
    [anon_sym_LBRACE] = ACTIONS(744),
    [anon_sym_RBRACE] = ACTIONS(744),
    [anon_sym_RPAREN] = ACTIONS(744),
    [anon_sym_DOT] = ACTIONS(746),
    [anon_sym_COMMA] = ACTIONS(744),
    [anon_sym_PIPE] = ACTIONS(746),
    [anon_sym_SEMI] = ACTIONS(744),
    [anon_sym_STAR_STAR] = ACTIONS(746),
    [anon_sym_AMP] = ACTIONS(746),
    [anon_sym_EQ] = ACTIONS(746),
    [anon_sym_LT] = ACTIONS(746),
    [anon_sym_in] = ACTIONS(744),
    [anon_sym_do] = ACTIONS(744),
    [anon_sym_EQ_GT] = ACTIONS(744),
    [anon_sym_RBRACK] = ACTIONS(744),
    [anon_sym_AMP_DOT] = ACTIONS(744),
    [anon_sym_PLUS_EQ] = ACTIONS(744),
    [anon_sym_DASH_EQ] = ACTIONS(744),
    [anon_sym_STAR_EQ] = ACTIONS(744),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(744),
    [anon_sym_SLASH_EQ] = ACTIONS(744),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(744),
    [anon_sym_PIPE_EQ] = ACTIONS(744),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(744),
    [anon_sym_AMP_EQ] = ACTIONS(744),
    [anon_sym_PERCENT_EQ] = ACTIONS(744),
    [anon_sym_GT_GT_EQ] = ACTIONS(744),
    [anon_sym_LT_LT_EQ] = ACTIONS(744),
    [anon_sym_CARET_EQ] = ACTIONS(744),
    [anon_sym_QMARK] = ACTIONS(744),
    [anon_sym_COLON] = ACTIONS(744),
    [anon_sym_DOT_DOT] = ACTIONS(746),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(744),
    [anon_sym_and] = ACTIONS(744),
    [anon_sym_or] = ACTIONS(744),
    [anon_sym_PIPE_PIPE] = ACTIONS(746),
    [anon_sym_AMP_AMP] = ACTIONS(746),
    [anon_sym_LT_LT] = ACTIONS(746),
    [anon_sym_GT_GT] = ACTIONS(746),
    [anon_sym_EQ_EQ] = ACTIONS(746),
    [anon_sym_BANG_EQ] = ACTIONS(744),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(744),
    [anon_sym_LT_EQ_GT] = ACTIONS(744),
    [anon_sym_EQ_TILDE] = ACTIONS(744),
    [anon_sym_BANG_TILDE] = ACTIONS(744),
    [anon_sym_LT_EQ] = ACTIONS(746),
    [anon_sym_GT] = ACTIONS(746),
    [anon_sym_GT_EQ] = ACTIONS(744),
    [anon_sym_CARET] = ACTIONS(746),
    [anon_sym_PLUS] = ACTIONS(746),
    [anon_sym_SLASH] = ACTIONS(746),
    [anon_sym_PERCENT] = ACTIONS(746),
    [sym_comment] = ACTIONS(256),
  },
  [499] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(501),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(1912),
    [sym__argument] = STATE(506),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(509),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(510),
    [sym__variable] = STATE(504),
    [sym_reserved_identifier] = STATE(511),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(512),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(1913),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(804),
    [sym__splat_star] = ACTIONS(806),
    [sym__unary_minus] = ACTIONS(808),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(818),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(824),
    [anon_sym_yield] = ACTIONS(826),
    [anon_sym_break] = ACTIONS(828),
    [anon_sym_next] = ACTIONS(830),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_RBRACK] = ACTIONS(2960),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(852),
    [anon_sym_defined_QMARK] = ACTIONS(854),
    [anon_sym_not] = ACTIONS(856),
    [anon_sym_BANG] = ACTIONS(858),
    [anon_sym_TILDE] = ACTIONS(858),
    [sym_constant] = ACTIONS(860),
    [sym_identifier] = ACTIONS(860),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [500] = {
    [sym_lambda_parameters] = STATE(1916),
    [sym__simple_formal_parameter] = STATE(522),
    [sym_splat_parameter] = STATE(523),
    [sym_hash_splat_parameter] = STATE(523),
    [sym_block_parameter] = STATE(523),
    [sym_keyword_parameter] = STATE(523),
    [sym_optional_parameter] = STATE(523),
    [sym_do_block] = STATE(1917),
    [sym_block] = STATE(1917),
    [anon_sym_LBRACE] = ACTIONS(2962),
    [anon_sym_LPAREN] = ACTIONS(896),
    [anon_sym_STAR] = ACTIONS(898),
    [anon_sym_STAR_STAR] = ACTIONS(900),
    [anon_sym_AMP] = ACTIONS(902),
    [anon_sym_do] = ACTIONS(2964),
    [sym_identifier] = ACTIONS(906),
    [sym_comment] = ACTIONS(110),
  },
  [501] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(2966),
    [sym__binary_star] = ACTIONS(2968),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(2970),
    [anon_sym_STAR_STAR] = ACTIONS(2972),
    [anon_sym_AMP] = ACTIONS(2974),
    [anon_sym_LT] = ACTIONS(2976),
    [anon_sym_EQ_GT] = ACTIONS(2956),
    [anon_sym_RBRACK] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(2978),
    [anon_sym_DOT_DOT] = ACTIONS(2980),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2982),
    [anon_sym_and] = ACTIONS(2984),
    [anon_sym_or] = ACTIONS(2984),
    [anon_sym_PIPE_PIPE] = ACTIONS(2986),
    [anon_sym_AMP_AMP] = ACTIONS(2986),
    [anon_sym_LT_LT] = ACTIONS(2988),
    [anon_sym_GT_GT] = ACTIONS(2988),
    [anon_sym_EQ_EQ] = ACTIONS(2990),
    [anon_sym_BANG_EQ] = ACTIONS(2986),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2986),
    [anon_sym_LT_EQ_GT] = ACTIONS(2986),
    [anon_sym_EQ_TILDE] = ACTIONS(2986),
    [anon_sym_BANG_TILDE] = ACTIONS(2986),
    [anon_sym_LT_EQ] = ACTIONS(2976),
    [anon_sym_GT] = ACTIONS(2976),
    [anon_sym_GT_EQ] = ACTIONS(2992),
    [anon_sym_CARET] = ACTIONS(2994),
    [anon_sym_PLUS] = ACTIONS(2996),
    [anon_sym_SLASH] = ACTIONS(2972),
    [anon_sym_PERCENT] = ACTIONS(2972),
    [sym_comment] = ACTIONS(110),
  },
  [502] = {
    [sym__simple_heredoc_body] = ACTIONS(968),
    [sym__heredoc_body_beginning] = ACTIONS(968),
    [sym__element_reference_left_bracket] = ACTIONS(2998),
    [sym__scope_double_colon] = ACTIONS(3000),
    [sym__binary_minus] = ACTIONS(968),
    [sym__binary_star] = ACTIONS(968),
    [anon_sym_LBRACE] = ACTIONS(968),
    [anon_sym_RBRACE] = ACTIONS(968),
    [anon_sym_RPAREN] = ACTIONS(968),
    [anon_sym_DOT] = ACTIONS(3002),
    [anon_sym_COMMA] = ACTIONS(968),
    [anon_sym_PIPE] = ACTIONS(976),
    [anon_sym_SEMI] = ACTIONS(968),
    [anon_sym_STAR_STAR] = ACTIONS(968),
    [anon_sym_AMP] = ACTIONS(976),
    [anon_sym_EQ] = ACTIONS(976),
    [anon_sym_LT] = ACTIONS(976),
    [anon_sym_in] = ACTIONS(968),
    [anon_sym_do] = ACTIONS(968),
    [anon_sym_EQ_GT] = ACTIONS(968),
    [anon_sym_RBRACK] = ACTIONS(968),
    [anon_sym_AMP_DOT] = ACTIONS(3004),
    [anon_sym_QMARK] = ACTIONS(968),
    [anon_sym_COLON] = ACTIONS(968),
    [anon_sym_DOT_DOT] = ACTIONS(976),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(968),
    [anon_sym_and] = ACTIONS(968),
    [anon_sym_or] = ACTIONS(968),
    [anon_sym_PIPE_PIPE] = ACTIONS(968),
    [anon_sym_AMP_AMP] = ACTIONS(968),
    [anon_sym_LT_LT] = ACTIONS(968),
    [anon_sym_GT_GT] = ACTIONS(968),
    [anon_sym_EQ_EQ] = ACTIONS(976),
    [anon_sym_BANG_EQ] = ACTIONS(968),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(968),
    [anon_sym_LT_EQ_GT] = ACTIONS(968),
    [anon_sym_EQ_TILDE] = ACTIONS(968),
    [anon_sym_BANG_TILDE] = ACTIONS(968),
    [anon_sym_LT_EQ] = ACTIONS(976),
    [anon_sym_GT] = ACTIONS(976),
    [anon_sym_GT_EQ] = ACTIONS(968),
    [anon_sym_CARET] = ACTIONS(968),
    [anon_sym_PLUS] = ACTIONS(968),
    [anon_sym_SLASH] = ACTIONS(968),
    [anon_sym_PERCENT] = ACTIONS(968),
    [sym_comment] = ACTIONS(256),
  },
  [503] = {
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(980),
    [anon_sym_RBRACE] = ACTIONS(980),
    [anon_sym_RPAREN] = ACTIONS(980),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_in] = ACTIONS(980),
    [anon_sym_do] = ACTIONS(980),
    [anon_sym_EQ_GT] = ACTIONS(980),
    [anon_sym_RBRACK] = ACTIONS(980),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(980),
    [anon_sym_COLON] = ACTIONS(980),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(980),
    [anon_sym_or] = ACTIONS(980),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [sym_comment] = ACTIONS(256),
  },
  [504] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(1948),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1949),
    [sym_call] = STATE(1949),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1950),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(1951),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_do_block] = STATE(1952),
    [sym_block] = STATE(1952),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1953),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1954),
    [sym__variable] = STATE(1949),
    [sym_reserved_identifier] = STATE(1955),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(1956),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(3006),
    [sym__splat_star] = ACTIONS(3008),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(3010),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(3012),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(3014),
    [anon_sym_yield] = ACTIONS(3016),
    [anon_sym_break] = ACTIONS(3018),
    [anon_sym_next] = ACTIONS(3020),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(3022),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(980),
    [anon_sym_RBRACK] = ACTIONS(980),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(3024),
    [anon_sym_not] = ACTIONS(3026),
    [anon_sym_BANG] = ACTIONS(3028),
    [anon_sym_TILDE] = ACTIONS(3030),
    [sym_constant] = ACTIONS(3032),
    [sym_identifier] = ACTIONS(3032),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [505] = {
    [sym_heredoc_end] = STATE(1957),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RBRACK] = ACTIONS(1370),
    [sym_comment] = ACTIONS(110),
  },
  [506] = {
    [sym__simple_heredoc_body] = ACTIONS(3034),
    [sym__heredoc_body_beginning] = ACTIONS(3034),
    [anon_sym_COMMA] = ACTIONS(3036),
    [anon_sym_RBRACK] = ACTIONS(3034),
    [sym_comment] = ACTIONS(110),
  },
  [507] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [anon_sym_RPAREN] = ACTIONS(2210),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_RBRACK] = ACTIONS(2210),
    [sym_comment] = ACTIONS(110),
  },
  [508] = {
    [sym__simple_heredoc_body] = ACTIONS(968),
    [sym__heredoc_body_beginning] = ACTIONS(968),
    [sym__binary_minus] = ACTIONS(968),
    [sym__binary_star] = ACTIONS(968),
    [anon_sym_RBRACE] = ACTIONS(968),
    [anon_sym_RPAREN] = ACTIONS(968),
    [anon_sym_COMMA] = ACTIONS(968),
    [anon_sym_PIPE] = ACTIONS(976),
    [anon_sym_STAR_STAR] = ACTIONS(968),
    [anon_sym_AMP] = ACTIONS(976),
    [anon_sym_LT] = ACTIONS(976),
    [anon_sym_EQ_GT] = ACTIONS(968),
    [anon_sym_RBRACK] = ACTIONS(968),
    [anon_sym_QMARK] = ACTIONS(968),
    [anon_sym_DOT_DOT] = ACTIONS(976),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(968),
    [anon_sym_and] = ACTIONS(968),
    [anon_sym_or] = ACTIONS(968),
    [anon_sym_PIPE_PIPE] = ACTIONS(968),
    [anon_sym_AMP_AMP] = ACTIONS(968),
    [anon_sym_LT_LT] = ACTIONS(968),
    [anon_sym_GT_GT] = ACTIONS(968),
    [anon_sym_EQ_EQ] = ACTIONS(976),
    [anon_sym_BANG_EQ] = ACTIONS(968),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(968),
    [anon_sym_LT_EQ_GT] = ACTIONS(968),
    [anon_sym_EQ_TILDE] = ACTIONS(968),
    [anon_sym_BANG_TILDE] = ACTIONS(968),
    [anon_sym_LT_EQ] = ACTIONS(976),
    [anon_sym_GT] = ACTIONS(976),
    [anon_sym_GT_EQ] = ACTIONS(968),
    [anon_sym_CARET] = ACTIONS(968),
    [anon_sym_PLUS] = ACTIONS(968),
    [anon_sym_SLASH] = ACTIONS(968),
    [anon_sym_PERCENT] = ACTIONS(968),
    [sym_comment] = ACTIONS(110),
  },
  [509] = {
    [anon_sym_EQ] = ACTIONS(3038),
    [sym_comment] = ACTIONS(256),
  },
  [510] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(3040),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_RBRACK] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(3042),
    [anon_sym_DASH_EQ] = ACTIONS(3042),
    [anon_sym_STAR_EQ] = ACTIONS(3042),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3042),
    [anon_sym_SLASH_EQ] = ACTIONS(3042),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3042),
    [anon_sym_PIPE_EQ] = ACTIONS(3042),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3042),
    [anon_sym_AMP_EQ] = ACTIONS(3042),
    [anon_sym_PERCENT_EQ] = ACTIONS(3042),
    [anon_sym_GT_GT_EQ] = ACTIONS(3042),
    [anon_sym_LT_LT_EQ] = ACTIONS(3042),
    [anon_sym_CARET_EQ] = ACTIONS(3042),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [511] = {
    [sym__keyword_colon] = ACTIONS(3044),
    [sym_comment] = ACTIONS(110),
  },
  [512] = {
    [sym_string] = STATE(1962),
    [aux_sym_chained_string_repeat1] = STATE(1963),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(2956),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_RBRACK] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(1626),
  },
  [513] = {
    [anon_sym_RBRACK] = ACTIONS(1370),
    [sym_comment] = ACTIONS(110),
  },
  [514] = {
    [sym__statements] = STATE(1966),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(1967),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(841),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(3046),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_PIPE] = ACTIONS(3048),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [515] = {
    [sym__formal_parameter] = STATE(1973),
    [sym__simple_formal_parameter] = STATE(1974),
    [sym_destructured_parameter] = STATE(1974),
    [sym_splat_parameter] = STATE(523),
    [sym_hash_splat_parameter] = STATE(523),
    [sym_block_parameter] = STATE(523),
    [sym_keyword_parameter] = STATE(523),
    [sym_optional_parameter] = STATE(523),
    [anon_sym_LPAREN] = ACTIONS(3050),
    [anon_sym_RPAREN] = ACTIONS(3052),
    [anon_sym_STAR] = ACTIONS(3054),
    [anon_sym_STAR_STAR] = ACTIONS(3056),
    [anon_sym_AMP] = ACTIONS(902),
    [sym_identifier] = ACTIONS(3058),
    [sym_comment] = ACTIONS(110),
  },
  [516] = {
    [anon_sym_LBRACE] = ACTIONS(3060),
    [anon_sym_COMMA] = ACTIONS(3060),
    [anon_sym_do] = ACTIONS(3062),
    [sym_identifier] = ACTIONS(3064),
    [sym_comment] = ACTIONS(110),
  },
  [517] = {
    [anon_sym_LBRACE] = ACTIONS(3066),
    [anon_sym_COMMA] = ACTIONS(3066),
    [anon_sym_do] = ACTIONS(3068),
    [sym_identifier] = ACTIONS(3070),
    [sym_comment] = ACTIONS(110),
  },
  [518] = {
    [sym_lambda] = STATE(1977),
    [sym_identifier] = ACTIONS(3072),
    [sym_comment] = ACTIONS(110),
    [anon_sym_DASH_GT] = ACTIONS(3074),
  },
  [519] = {
    [sym__statements] = STATE(1985),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(1986),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1981),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(1987),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(3076),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(3078),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(3080),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(3082),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(3086),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [520] = {
    [sym__keyword_colon] = ACTIONS(3088),
    [anon_sym_LBRACE] = ACTIONS(3090),
    [anon_sym_COMMA] = ACTIONS(3090),
    [anon_sym_EQ] = ACTIONS(3092),
    [anon_sym_do] = ACTIONS(3090),
    [sym_comment] = ACTIONS(256),
  },
  [521] = {
    [sym_do_block] = STATE(1990),
    [sym_block] = STATE(1990),
    [anon_sym_LBRACE] = ACTIONS(894),
    [anon_sym_do] = ACTIONS(3094),
    [sym_comment] = ACTIONS(110),
  },
  [522] = {
    [aux_sym_lambda_parameters_repeat1] = STATE(1992),
    [anon_sym_LBRACE] = ACTIONS(3096),
    [anon_sym_COMMA] = ACTIONS(3098),
    [anon_sym_do] = ACTIONS(3096),
    [sym_comment] = ACTIONS(110),
  },
  [523] = {
    [anon_sym_LBRACE] = ACTIONS(3090),
    [anon_sym_RPAREN] = ACTIONS(3090),
    [anon_sym_COMMA] = ACTIONS(3090),
    [anon_sym_PIPE] = ACTIONS(3090),
    [anon_sym_SEMI] = ACTIONS(3090),
    [anon_sym_do] = ACTIONS(3090),
    [sym_comment] = ACTIONS(110),
  },
  [524] = {
    [sym__simple_heredoc_body] = ACTIONS(3100),
    [sym__heredoc_body_beginning] = ACTIONS(3100),
    [sym__line_break] = ACTIONS(3100),
    [sym__element_reference_left_bracket] = ACTIONS(3100),
    [sym__scope_double_colon] = ACTIONS(3100),
    [sym__binary_minus] = ACTIONS(3100),
    [sym__binary_star] = ACTIONS(3100),
    [ts_builtin_sym_end] = ACTIONS(3100),
    [anon_sym___END__] = ACTIONS(3100),
    [anon_sym_LBRACE] = ACTIONS(3100),
    [anon_sym_RBRACE] = ACTIONS(3100),
    [anon_sym_RPAREN] = ACTIONS(3100),
    [anon_sym_DOT] = ACTIONS(3102),
    [anon_sym_end] = ACTIONS(3100),
    [anon_sym_COMMA] = ACTIONS(3100),
    [anon_sym_PIPE] = ACTIONS(3102),
    [anon_sym_SEMI] = ACTIONS(3100),
    [anon_sym_STAR_STAR] = ACTIONS(3100),
    [anon_sym_AMP] = ACTIONS(3102),
    [anon_sym_LT] = ACTIONS(3102),
    [anon_sym_if] = ACTIONS(3100),
    [anon_sym_unless] = ACTIONS(3100),
    [anon_sym_while] = ACTIONS(3100),
    [anon_sym_until] = ACTIONS(3100),
    [anon_sym_rescue] = ACTIONS(3100),
    [anon_sym_do] = ACTIONS(3100),
    [anon_sym_when] = ACTIONS(3100),
    [anon_sym_elsif] = ACTIONS(3100),
    [anon_sym_else] = ACTIONS(3100),
    [anon_sym_then] = ACTIONS(3100),
    [anon_sym_ensure] = ACTIONS(3100),
    [anon_sym_EQ_GT] = ACTIONS(3100),
    [anon_sym_AMP_DOT] = ACTIONS(3100),
    [anon_sym_QMARK] = ACTIONS(3100),
    [anon_sym_DOT_DOT] = ACTIONS(3102),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3100),
    [anon_sym_and] = ACTIONS(3100),
    [anon_sym_or] = ACTIONS(3100),
    [anon_sym_PIPE_PIPE] = ACTIONS(3100),
    [anon_sym_AMP_AMP] = ACTIONS(3100),
    [anon_sym_LT_LT] = ACTIONS(3100),
    [anon_sym_GT_GT] = ACTIONS(3100),
    [anon_sym_EQ_EQ] = ACTIONS(3102),
    [anon_sym_BANG_EQ] = ACTIONS(3100),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3100),
    [anon_sym_LT_EQ_GT] = ACTIONS(3100),
    [anon_sym_EQ_TILDE] = ACTIONS(3100),
    [anon_sym_BANG_TILDE] = ACTIONS(3100),
    [anon_sym_LT_EQ] = ACTIONS(3102),
    [anon_sym_GT] = ACTIONS(3102),
    [anon_sym_GT_EQ] = ACTIONS(3100),
    [anon_sym_CARET] = ACTIONS(3100),
    [anon_sym_PLUS] = ACTIONS(3100),
    [anon_sym_SLASH] = ACTIONS(3100),
    [anon_sym_PERCENT] = ACTIONS(3100),
    [sym_comment] = ACTIONS(110),
  },
  [525] = {
    [sym_uninterpreted] = ACTIONS(3104),
    [sym_comment] = ACTIONS(256),
  },
  [526] = {
    [sym__simple_string] = ACTIONS(1398),
    [sym__simple_symbol] = ACTIONS(1398),
    [sym__simple_subshell] = ACTIONS(1398),
    [sym__simple_regex] = ACTIONS(1398),
    [sym__simple_word_list] = ACTIONS(1398),
    [sym__string_beginning] = ACTIONS(1398),
    [sym__symbol_beginning] = ACTIONS(1398),
    [sym__subshell_beginning] = ACTIONS(1398),
    [sym__regex_beginning] = ACTIONS(1398),
    [sym__word_list_beginning] = ACTIONS(1398),
    [sym_heredoc_beginning] = ACTIONS(1398),
    [sym__unary_minus] = ACTIONS(1398),
    [ts_builtin_sym_end] = ACTIONS(1398),
    [anon_sym___END__] = ACTIONS(2666),
    [anon_sym_BEGIN] = ACTIONS(2666),
    [anon_sym_LBRACE] = ACTIONS(1398),
    [anon_sym_END] = ACTIONS(2666),
    [anon_sym_def] = ACTIONS(2666),
    [anon_sym_LPAREN] = ACTIONS(1398),
    [anon_sym_COLON_COLON] = ACTIONS(1398),
    [anon_sym_SEMI] = ACTIONS(1398),
    [anon_sym_STAR] = ACTIONS(1398),
    [anon_sym_class] = ACTIONS(2666),
    [anon_sym_module] = ACTIONS(2666),
    [anon_sym_return] = ACTIONS(2666),
    [anon_sym_yield] = ACTIONS(2666),
    [anon_sym_break] = ACTIONS(2666),
    [anon_sym_next] = ACTIONS(2666),
    [anon_sym_redo] = ACTIONS(2666),
    [anon_sym_retry] = ACTIONS(2666),
    [anon_sym_if] = ACTIONS(2666),
    [anon_sym_unless] = ACTIONS(2666),
    [anon_sym_while] = ACTIONS(2666),
    [anon_sym_until] = ACTIONS(2666),
    [anon_sym_for] = ACTIONS(2666),
    [anon_sym_case] = ACTIONS(2666),
    [anon_sym_begin] = ACTIONS(2666),
    [anon_sym_PLUS] = ACTIONS(2666),
    [anon_sym_defined_QMARK] = ACTIONS(1398),
    [anon_sym_not] = ACTIONS(2666),
    [anon_sym_BANG] = ACTIONS(1398),
    [anon_sym_TILDE] = ACTIONS(1398),
    [sym_constant] = ACTIONS(2668),
    [sym_identifier] = ACTIONS(2668),
    [sym_instance_variable] = ACTIONS(2666),
    [sym_class_variable] = ACTIONS(2666),
    [sym_global_variable] = ACTIONS(2666),
    [anon_sym_alias] = ACTIONS(2666),
    [anon_sym_false] = ACTIONS(2666),
    [anon_sym_nil] = ACTIONS(2666),
    [anon_sym_self] = ACTIONS(2666),
    [anon_sym_super] = ACTIONS(2666),
    [anon_sym_true] = ACTIONS(2666),
    [anon_sym_undef] = ACTIONS(2666),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(2666),
    [sym_float] = ACTIONS(2668),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1398),
    [anon_sym_TRUE] = ACTIONS(2666),
    [anon_sym_FALSE] = ACTIONS(2666),
    [anon_sym_NIL] = ACTIONS(2666),
    [sym_keyword__FILE__] = ACTIONS(2666),
    [sym_keyword__LINE__] = ACTIONS(2666),
    [sym_keyword__ENCODING__] = ACTIONS(2666),
    [sym__character_literal] = ACTIONS(2666),
    [anon_sym_LBRACK] = ACTIONS(1398),
    [anon_sym_DASH_GT] = ACTIONS(1398),
  },
  [527] = {
    [sym__statement] = STATE(1994),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [aux_sym_heredoc_end_repeat1] = STATE(1995),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [528] = {
    [sym__simple_string] = ACTIONS(2552),
    [sym__simple_symbol] = ACTIONS(2552),
    [sym__simple_subshell] = ACTIONS(2552),
    [sym__simple_regex] = ACTIONS(2552),
    [sym__simple_word_list] = ACTIONS(2552),
    [sym__string_beginning] = ACTIONS(2552),
    [sym__symbol_beginning] = ACTIONS(2552),
    [sym__subshell_beginning] = ACTIONS(2552),
    [sym__regex_beginning] = ACTIONS(2552),
    [sym__word_list_beginning] = ACTIONS(2552),
    [sym_heredoc_beginning] = ACTIONS(2552),
    [sym__unary_minus] = ACTIONS(2552),
    [ts_builtin_sym_end] = ACTIONS(2552),
    [anon_sym___END__] = ACTIONS(2670),
    [anon_sym_BEGIN] = ACTIONS(2670),
    [anon_sym_LBRACE] = ACTIONS(2552),
    [anon_sym_END] = ACTIONS(2670),
    [anon_sym_def] = ACTIONS(2670),
    [anon_sym_LPAREN] = ACTIONS(2552),
    [anon_sym_COLON_COLON] = ACTIONS(2552),
    [anon_sym_SEMI] = ACTIONS(2552),
    [anon_sym_STAR] = ACTIONS(2552),
    [anon_sym_class] = ACTIONS(2670),
    [anon_sym_module] = ACTIONS(2670),
    [anon_sym_return] = ACTIONS(2670),
    [anon_sym_yield] = ACTIONS(2670),
    [anon_sym_break] = ACTIONS(2670),
    [anon_sym_next] = ACTIONS(2670),
    [anon_sym_redo] = ACTIONS(2670),
    [anon_sym_retry] = ACTIONS(2670),
    [anon_sym_if] = ACTIONS(2670),
    [anon_sym_unless] = ACTIONS(2670),
    [anon_sym_while] = ACTIONS(2670),
    [anon_sym_until] = ACTIONS(2670),
    [anon_sym_for] = ACTIONS(2670),
    [anon_sym_case] = ACTIONS(2670),
    [anon_sym_begin] = ACTIONS(2670),
    [anon_sym_PLUS] = ACTIONS(2670),
    [anon_sym_defined_QMARK] = ACTIONS(2552),
    [anon_sym_not] = ACTIONS(2670),
    [anon_sym_BANG] = ACTIONS(2552),
    [anon_sym_TILDE] = ACTIONS(2552),
    [sym_constant] = ACTIONS(2672),
    [sym_identifier] = ACTIONS(2672),
    [sym_instance_variable] = ACTIONS(2670),
    [sym_class_variable] = ACTIONS(2670),
    [sym_global_variable] = ACTIONS(2670),
    [anon_sym_alias] = ACTIONS(2670),
    [anon_sym_false] = ACTIONS(2670),
    [anon_sym_nil] = ACTIONS(2670),
    [anon_sym_self] = ACTIONS(2670),
    [anon_sym_super] = ACTIONS(2670),
    [anon_sym_true] = ACTIONS(2670),
    [anon_sym_undef] = ACTIONS(2670),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(2670),
    [sym_float] = ACTIONS(2672),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(2552),
    [anon_sym_TRUE] = ACTIONS(2670),
    [anon_sym_FALSE] = ACTIONS(2670),
    [anon_sym_NIL] = ACTIONS(2670),
    [sym_keyword__FILE__] = ACTIONS(2670),
    [sym_keyword__LINE__] = ACTIONS(2670),
    [sym_keyword__ENCODING__] = ACTIONS(2670),
    [sym__character_literal] = ACTIONS(2670),
    [anon_sym_LBRACK] = ACTIONS(2552),
    [anon_sym_DASH_GT] = ACTIONS(2552),
  },
  [529] = {
    [sym__top_level_statement] = STATE(1996),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(57),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(59),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(64),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(68),
    [sym__variable] = STATE(62),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(32),
    [ts_builtin_sym_end] = ACTIONS(3106),
    [anon_sym___END__] = ACTIONS(3108),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(84),
    [anon_sym_defined_QMARK] = ACTIONS(86),
    [anon_sym_not] = ACTIONS(88),
    [anon_sym_BANG] = ACTIONS(90),
    [anon_sym_TILDE] = ACTIONS(90),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [530] = {
    [sym_heredoc_end] = STATE(528),
    [sym__terminator] = STATE(1997),
    [sym__simple_heredoc_body] = ACTIONS(914),
    [sym__heredoc_body_beginning] = ACTIONS(916),
    [sym__line_break] = ACTIONS(918),
    [ts_builtin_sym_end] = ACTIONS(3106),
    [anon_sym___END__] = ACTIONS(3106),
    [anon_sym_SEMI] = ACTIONS(918),
    [sym_comment] = ACTIONS(110),
  },
  [531] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1998),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(64),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(68),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(32),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(84),
    [anon_sym_defined_QMARK] = ACTIONS(86),
    [anon_sym_not] = ACTIONS(88),
    [anon_sym_BANG] = ACTIONS(90),
    [anon_sym_TILDE] = ACTIONS(90),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [532] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1999),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(64),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(68),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(32),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(84),
    [anon_sym_defined_QMARK] = ACTIONS(86),
    [anon_sym_not] = ACTIONS(88),
    [anon_sym_BANG] = ACTIONS(90),
    [anon_sym_TILDE] = ACTIONS(90),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [533] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2000),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(64),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(68),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(32),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(84),
    [anon_sym_defined_QMARK] = ACTIONS(86),
    [anon_sym_not] = ACTIONS(88),
    [anon_sym_BANG] = ACTIONS(90),
    [anon_sym_TILDE] = ACTIONS(90),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [534] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2001),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(64),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(68),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(32),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(84),
    [anon_sym_defined_QMARK] = ACTIONS(86),
    [anon_sym_not] = ACTIONS(88),
    [anon_sym_BANG] = ACTIONS(90),
    [anon_sym_TILDE] = ACTIONS(90),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [535] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2002),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(64),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(68),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(32),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(84),
    [anon_sym_defined_QMARK] = ACTIONS(86),
    [anon_sym_not] = ACTIONS(88),
    [anon_sym_BANG] = ACTIONS(90),
    [anon_sym_TILDE] = ACTIONS(90),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [536] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2003),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(64),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(68),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(32),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(84),
    [anon_sym_defined_QMARK] = ACTIONS(86),
    [anon_sym_not] = ACTIONS(88),
    [anon_sym_BANG] = ACTIONS(90),
    [anon_sym_TILDE] = ACTIONS(90),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [537] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2004),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(64),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(68),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(32),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(84),
    [anon_sym_defined_QMARK] = ACTIONS(86),
    [anon_sym_not] = ACTIONS(88),
    [anon_sym_BANG] = ACTIONS(90),
    [anon_sym_TILDE] = ACTIONS(90),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [538] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2005),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(64),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(68),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(32),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(84),
    [anon_sym_defined_QMARK] = ACTIONS(86),
    [anon_sym_not] = ACTIONS(88),
    [anon_sym_BANG] = ACTIONS(90),
    [anon_sym_TILDE] = ACTIONS(90),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [539] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2006),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(64),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(68),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(32),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(84),
    [anon_sym_defined_QMARK] = ACTIONS(86),
    [anon_sym_not] = ACTIONS(88),
    [anon_sym_BANG] = ACTIONS(90),
    [anon_sym_TILDE] = ACTIONS(90),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [540] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2007),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(64),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(68),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(32),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(84),
    [anon_sym_defined_QMARK] = ACTIONS(86),
    [anon_sym_not] = ACTIONS(88),
    [anon_sym_BANG] = ACTIONS(90),
    [anon_sym_TILDE] = ACTIONS(90),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [541] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2008),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(64),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(68),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(32),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(84),
    [anon_sym_defined_QMARK] = ACTIONS(86),
    [anon_sym_not] = ACTIONS(88),
    [anon_sym_BANG] = ACTIONS(90),
    [anon_sym_TILDE] = ACTIONS(90),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [542] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(2017),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [543] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2021),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(64),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(68),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(32),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(84),
    [anon_sym_defined_QMARK] = ACTIONS(86),
    [anon_sym_not] = ACTIONS(88),
    [anon_sym_BANG] = ACTIONS(90),
    [anon_sym_TILDE] = ACTIONS(90),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [544] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2022),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(64),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(68),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(32),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(84),
    [anon_sym_defined_QMARK] = ACTIONS(86),
    [anon_sym_not] = ACTIONS(88),
    [anon_sym_BANG] = ACTIONS(90),
    [anon_sym_TILDE] = ACTIONS(90),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [545] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2023),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(64),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(68),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(32),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(84),
    [anon_sym_defined_QMARK] = ACTIONS(86),
    [anon_sym_not] = ACTIONS(88),
    [anon_sym_BANG] = ACTIONS(90),
    [anon_sym_TILDE] = ACTIONS(90),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [546] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2024),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(64),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(68),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(32),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(84),
    [anon_sym_defined_QMARK] = ACTIONS(86),
    [anon_sym_not] = ACTIONS(88),
    [anon_sym_BANG] = ACTIONS(90),
    [anon_sym_TILDE] = ACTIONS(90),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [547] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2025),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(64),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(68),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(32),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(84),
    [anon_sym_defined_QMARK] = ACTIONS(86),
    [anon_sym_not] = ACTIONS(88),
    [anon_sym_BANG] = ACTIONS(90),
    [anon_sym_TILDE] = ACTIONS(90),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [548] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(501),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(2027),
    [sym__argument] = STATE(506),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(509),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(510),
    [sym__variable] = STATE(504),
    [sym_reserved_identifier] = STATE(511),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(512),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(2028),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(804),
    [sym__splat_star] = ACTIONS(806),
    [sym__unary_minus] = ACTIONS(808),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(818),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(824),
    [anon_sym_yield] = ACTIONS(826),
    [anon_sym_break] = ACTIONS(828),
    [anon_sym_next] = ACTIONS(830),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_RBRACK] = ACTIONS(3128),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(852),
    [anon_sym_defined_QMARK] = ACTIONS(854),
    [anon_sym_not] = ACTIONS(856),
    [anon_sym_BANG] = ACTIONS(858),
    [anon_sym_TILDE] = ACTIONS(858),
    [sym_constant] = ACTIONS(860),
    [sym_identifier] = ACTIONS(860),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [549] = {
    [sym_constant] = ACTIONS(3130),
    [sym_identifier] = ACTIONS(3130),
    [sym_comment] = ACTIONS(110),
  },
  [550] = {
    [sym_argument_list_with_parens] = STATE(2032),
    [sym__argument_list_with_parens] = STATE(2033),
    [sym_operator] = STATE(2032),
    [sym__argument_list_left_paren] = ACTIONS(3132),
    [anon_sym_PIPE] = ACTIONS(3134),
    [anon_sym_STAR] = ACTIONS(3136),
    [anon_sym_STAR_STAR] = ACTIONS(3134),
    [anon_sym_AMP] = ACTIONS(3134),
    [anon_sym_LT] = ACTIONS(3136),
    [anon_sym_DOT_DOT] = ACTIONS(3134),
    [anon_sym_LT_LT] = ACTIONS(3134),
    [anon_sym_GT_GT] = ACTIONS(3134),
    [anon_sym_EQ_EQ] = ACTIONS(3136),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3134),
    [anon_sym_LT_EQ_GT] = ACTIONS(3134),
    [anon_sym_EQ_TILDE] = ACTIONS(3134),
    [anon_sym_BANG_TILDE] = ACTIONS(3134),
    [anon_sym_LT_EQ] = ACTIONS(3136),
    [anon_sym_GT] = ACTIONS(3136),
    [anon_sym_GT_EQ] = ACTIONS(3134),
    [anon_sym_CARET] = ACTIONS(3134),
    [anon_sym_PLUS] = ACTIONS(3136),
    [anon_sym_SLASH] = ACTIONS(3134),
    [anon_sym_PERCENT] = ACTIONS(3134),
    [anon_sym_BANG] = ACTIONS(3136),
    [anon_sym_TILDE] = ACTIONS(3134),
    [sym_constant] = ACTIONS(3138),
    [sym_identifier] = ACTIONS(3138),
    [anon_sym_DASH] = ACTIONS(3136),
    [anon_sym_PLUS_AT] = ACTIONS(3134),
    [anon_sym_DASH_AT] = ACTIONS(3134),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(3136),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(3134),
    [anon_sym_BQUOTE] = ACTIONS(3134),
    [sym_comment] = ACTIONS(110),
  },
  [551] = {
    [sym__simple_string] = ACTIONS(126),
    [sym__simple_heredoc_body] = ACTIONS(126),
    [sym__string_beginning] = ACTIONS(126),
    [sym__heredoc_body_beginning] = ACTIONS(126),
    [sym__line_break] = ACTIONS(126),
    [sym__element_reference_left_bracket] = ACTIONS(126),
    [sym__scope_double_colon] = ACTIONS(126),
    [sym__keyword_colon] = ACTIONS(126),
    [sym__binary_minus] = ACTIONS(126),
    [sym__binary_star] = ACTIONS(126),
    [ts_builtin_sym_end] = ACTIONS(126),
    [anon_sym___END__] = ACTIONS(126),
    [anon_sym_LBRACE] = ACTIONS(126),
    [anon_sym_RBRACE] = ACTIONS(126),
    [anon_sym_RPAREN] = ACTIONS(126),
    [anon_sym_DOT] = ACTIONS(128),
    [anon_sym_end] = ACTIONS(126),
    [anon_sym_COMMA] = ACTIONS(126),
    [anon_sym_PIPE] = ACTIONS(128),
    [anon_sym_SEMI] = ACTIONS(126),
    [anon_sym_STAR_STAR] = ACTIONS(128),
    [anon_sym_AMP] = ACTIONS(128),
    [anon_sym_EQ] = ACTIONS(128),
    [anon_sym_LT] = ACTIONS(128),
    [anon_sym_if] = ACTIONS(126),
    [anon_sym_unless] = ACTIONS(126),
    [anon_sym_while] = ACTIONS(126),
    [anon_sym_until] = ACTIONS(126),
    [anon_sym_rescue] = ACTIONS(126),
    [anon_sym_do] = ACTIONS(126),
    [anon_sym_when] = ACTIONS(126),
    [anon_sym_elsif] = ACTIONS(126),
    [anon_sym_else] = ACTIONS(126),
    [anon_sym_then] = ACTIONS(126),
    [anon_sym_ensure] = ACTIONS(126),
    [anon_sym_EQ_GT] = ACTIONS(126),
    [anon_sym_AMP_DOT] = ACTIONS(126),
    [anon_sym_PLUS_EQ] = ACTIONS(126),
    [anon_sym_DASH_EQ] = ACTIONS(126),
    [anon_sym_STAR_EQ] = ACTIONS(126),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(126),
    [anon_sym_SLASH_EQ] = ACTIONS(126),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(126),
    [anon_sym_PIPE_EQ] = ACTIONS(126),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(126),
    [anon_sym_AMP_EQ] = ACTIONS(126),
    [anon_sym_PERCENT_EQ] = ACTIONS(126),
    [anon_sym_GT_GT_EQ] = ACTIONS(126),
    [anon_sym_LT_LT_EQ] = ACTIONS(126),
    [anon_sym_CARET_EQ] = ACTIONS(126),
    [anon_sym_QMARK] = ACTIONS(128),
    [anon_sym_DOT_DOT] = ACTIONS(128),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(126),
    [anon_sym_and] = ACTIONS(126),
    [anon_sym_or] = ACTIONS(126),
    [anon_sym_PIPE_PIPE] = ACTIONS(128),
    [anon_sym_AMP_AMP] = ACTIONS(128),
    [anon_sym_LT_LT] = ACTIONS(128),
    [anon_sym_GT_GT] = ACTIONS(128),
    [anon_sym_EQ_EQ] = ACTIONS(128),
    [anon_sym_BANG_EQ] = ACTIONS(126),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(126),
    [anon_sym_LT_EQ_GT] = ACTIONS(126),
    [anon_sym_EQ_TILDE] = ACTIONS(126),
    [anon_sym_BANG_TILDE] = ACTIONS(126),
    [anon_sym_LT_EQ] = ACTIONS(128),
    [anon_sym_GT] = ACTIONS(128),
    [anon_sym_GT_EQ] = ACTIONS(126),
    [anon_sym_CARET] = ACTIONS(128),
    [anon_sym_PLUS] = ACTIONS(128),
    [anon_sym_SLASH] = ACTIONS(128),
    [anon_sym_PERCENT] = ACTIONS(128),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(128),
  },
  [552] = {
    [sym__simple_heredoc_body] = ACTIONS(130),
    [sym__heredoc_body_beginning] = ACTIONS(130),
    [sym__line_break] = ACTIONS(130),
    [sym__element_reference_left_bracket] = ACTIONS(130),
    [sym__scope_double_colon] = ACTIONS(130),
    [sym__binary_minus] = ACTIONS(130),
    [sym__binary_star] = ACTIONS(130),
    [ts_builtin_sym_end] = ACTIONS(130),
    [anon_sym___END__] = ACTIONS(130),
    [anon_sym_LBRACE] = ACTIONS(130),
    [anon_sym_RBRACE] = ACTIONS(130),
    [anon_sym_RPAREN] = ACTIONS(130),
    [anon_sym_DOT] = ACTIONS(132),
    [anon_sym_end] = ACTIONS(130),
    [anon_sym_COMMA] = ACTIONS(130),
    [anon_sym_PIPE] = ACTIONS(132),
    [anon_sym_SEMI] = ACTIONS(130),
    [anon_sym_STAR_STAR] = ACTIONS(132),
    [anon_sym_AMP] = ACTIONS(132),
    [anon_sym_EQ] = ACTIONS(132),
    [anon_sym_LT] = ACTIONS(132),
    [anon_sym_if] = ACTIONS(130),
    [anon_sym_unless] = ACTIONS(130),
    [anon_sym_while] = ACTIONS(130),
    [anon_sym_until] = ACTIONS(130),
    [anon_sym_rescue] = ACTIONS(130),
    [anon_sym_do] = ACTIONS(130),
    [anon_sym_when] = ACTIONS(130),
    [anon_sym_elsif] = ACTIONS(130),
    [anon_sym_else] = ACTIONS(130),
    [anon_sym_then] = ACTIONS(130),
    [anon_sym_ensure] = ACTIONS(130),
    [anon_sym_EQ_GT] = ACTIONS(130),
    [anon_sym_AMP_DOT] = ACTIONS(130),
    [anon_sym_PLUS_EQ] = ACTIONS(130),
    [anon_sym_DASH_EQ] = ACTIONS(130),
    [anon_sym_STAR_EQ] = ACTIONS(130),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(130),
    [anon_sym_SLASH_EQ] = ACTIONS(130),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(130),
    [anon_sym_PIPE_EQ] = ACTIONS(130),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(130),
    [anon_sym_AMP_EQ] = ACTIONS(130),
    [anon_sym_PERCENT_EQ] = ACTIONS(130),
    [anon_sym_GT_GT_EQ] = ACTIONS(130),
    [anon_sym_LT_LT_EQ] = ACTIONS(130),
    [anon_sym_CARET_EQ] = ACTIONS(130),
    [anon_sym_QMARK] = ACTIONS(130),
    [anon_sym_DOT_DOT] = ACTIONS(132),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(130),
    [anon_sym_and] = ACTIONS(130),
    [anon_sym_or] = ACTIONS(130),
    [anon_sym_PIPE_PIPE] = ACTIONS(132),
    [anon_sym_AMP_AMP] = ACTIONS(132),
    [anon_sym_LT_LT] = ACTIONS(132),
    [anon_sym_GT_GT] = ACTIONS(132),
    [anon_sym_EQ_EQ] = ACTIONS(132),
    [anon_sym_BANG_EQ] = ACTIONS(130),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(130),
    [anon_sym_LT_EQ_GT] = ACTIONS(130),
    [anon_sym_EQ_TILDE] = ACTIONS(130),
    [anon_sym_BANG_TILDE] = ACTIONS(130),
    [anon_sym_LT_EQ] = ACTIONS(132),
    [anon_sym_GT] = ACTIONS(132),
    [anon_sym_GT_EQ] = ACTIONS(130),
    [anon_sym_CARET] = ACTIONS(132),
    [anon_sym_PLUS] = ACTIONS(132),
    [anon_sym_SLASH] = ACTIONS(132),
    [anon_sym_PERCENT] = ACTIONS(132),
    [sym_comment] = ACTIONS(256),
  },
  [553] = {
    [sym__simple_heredoc_body] = ACTIONS(134),
    [sym__heredoc_body_beginning] = ACTIONS(134),
    [sym__line_break] = ACTIONS(134),
    [sym__element_reference_left_bracket] = ACTIONS(134),
    [sym__scope_double_colon] = ACTIONS(134),
    [sym__binary_minus] = ACTIONS(134),
    [sym__binary_star] = ACTIONS(134),
    [ts_builtin_sym_end] = ACTIONS(134),
    [anon_sym___END__] = ACTIONS(134),
    [anon_sym_LBRACE] = ACTIONS(134),
    [anon_sym_RBRACE] = ACTIONS(134),
    [anon_sym_RPAREN] = ACTIONS(134),
    [anon_sym_DOT] = ACTIONS(136),
    [anon_sym_end] = ACTIONS(134),
    [anon_sym_COMMA] = ACTIONS(134),
    [anon_sym_PIPE] = ACTIONS(136),
    [anon_sym_SEMI] = ACTIONS(134),
    [anon_sym_STAR_STAR] = ACTIONS(136),
    [anon_sym_AMP] = ACTIONS(136),
    [anon_sym_EQ] = ACTIONS(136),
    [anon_sym_LT] = ACTIONS(136),
    [anon_sym_if] = ACTIONS(134),
    [anon_sym_unless] = ACTIONS(134),
    [anon_sym_while] = ACTIONS(134),
    [anon_sym_until] = ACTIONS(134),
    [anon_sym_rescue] = ACTIONS(134),
    [anon_sym_do] = ACTIONS(134),
    [anon_sym_when] = ACTIONS(134),
    [anon_sym_elsif] = ACTIONS(134),
    [anon_sym_else] = ACTIONS(134),
    [anon_sym_then] = ACTIONS(134),
    [anon_sym_ensure] = ACTIONS(134),
    [anon_sym_EQ_GT] = ACTIONS(134),
    [anon_sym_AMP_DOT] = ACTIONS(134),
    [anon_sym_PLUS_EQ] = ACTIONS(134),
    [anon_sym_DASH_EQ] = ACTIONS(134),
    [anon_sym_STAR_EQ] = ACTIONS(134),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(134),
    [anon_sym_SLASH_EQ] = ACTIONS(134),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(134),
    [anon_sym_PIPE_EQ] = ACTIONS(134),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(134),
    [anon_sym_AMP_EQ] = ACTIONS(134),
    [anon_sym_PERCENT_EQ] = ACTIONS(134),
    [anon_sym_GT_GT_EQ] = ACTIONS(134),
    [anon_sym_LT_LT_EQ] = ACTIONS(134),
    [anon_sym_CARET_EQ] = ACTIONS(134),
    [anon_sym_QMARK] = ACTIONS(134),
    [anon_sym_DOT_DOT] = ACTIONS(136),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(134),
    [anon_sym_and] = ACTIONS(134),
    [anon_sym_or] = ACTIONS(134),
    [anon_sym_PIPE_PIPE] = ACTIONS(136),
    [anon_sym_AMP_AMP] = ACTIONS(136),
    [anon_sym_LT_LT] = ACTIONS(136),
    [anon_sym_GT_GT] = ACTIONS(136),
    [anon_sym_EQ_EQ] = ACTIONS(136),
    [anon_sym_BANG_EQ] = ACTIONS(134),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(134),
    [anon_sym_LT_EQ_GT] = ACTIONS(134),
    [anon_sym_EQ_TILDE] = ACTIONS(134),
    [anon_sym_BANG_TILDE] = ACTIONS(134),
    [anon_sym_LT_EQ] = ACTIONS(136),
    [anon_sym_GT] = ACTIONS(136),
    [anon_sym_GT_EQ] = ACTIONS(134),
    [anon_sym_CARET] = ACTIONS(136),
    [anon_sym_PLUS] = ACTIONS(136),
    [anon_sym_SLASH] = ACTIONS(136),
    [anon_sym_PERCENT] = ACTIONS(136),
    [sym_comment] = ACTIONS(256),
  },
  [554] = {
    [sym__simple_heredoc_body] = ACTIONS(138),
    [sym__heredoc_body_beginning] = ACTIONS(138),
    [sym__line_break] = ACTIONS(138),
    [sym__element_reference_left_bracket] = ACTIONS(138),
    [sym__scope_double_colon] = ACTIONS(138),
    [sym__binary_minus] = ACTIONS(138),
    [sym__binary_star] = ACTIONS(138),
    [ts_builtin_sym_end] = ACTIONS(138),
    [anon_sym___END__] = ACTIONS(138),
    [anon_sym_LBRACE] = ACTIONS(138),
    [anon_sym_RBRACE] = ACTIONS(138),
    [anon_sym_RPAREN] = ACTIONS(138),
    [anon_sym_DOT] = ACTIONS(140),
    [anon_sym_end] = ACTIONS(138),
    [anon_sym_COMMA] = ACTIONS(138),
    [anon_sym_PIPE] = ACTIONS(140),
    [anon_sym_SEMI] = ACTIONS(138),
    [anon_sym_STAR_STAR] = ACTIONS(140),
    [anon_sym_AMP] = ACTIONS(140),
    [anon_sym_EQ] = ACTIONS(140),
    [anon_sym_LT] = ACTIONS(140),
    [anon_sym_if] = ACTIONS(138),
    [anon_sym_unless] = ACTIONS(138),
    [anon_sym_while] = ACTIONS(138),
    [anon_sym_until] = ACTIONS(138),
    [anon_sym_rescue] = ACTIONS(138),
    [anon_sym_do] = ACTIONS(138),
    [anon_sym_when] = ACTIONS(138),
    [anon_sym_elsif] = ACTIONS(138),
    [anon_sym_else] = ACTIONS(138),
    [anon_sym_then] = ACTIONS(138),
    [anon_sym_ensure] = ACTIONS(138),
    [anon_sym_EQ_GT] = ACTIONS(138),
    [anon_sym_AMP_DOT] = ACTIONS(138),
    [anon_sym_PLUS_EQ] = ACTIONS(138),
    [anon_sym_DASH_EQ] = ACTIONS(138),
    [anon_sym_STAR_EQ] = ACTIONS(138),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(138),
    [anon_sym_SLASH_EQ] = ACTIONS(138),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(138),
    [anon_sym_PIPE_EQ] = ACTIONS(138),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(138),
    [anon_sym_AMP_EQ] = ACTIONS(138),
    [anon_sym_PERCENT_EQ] = ACTIONS(138),
    [anon_sym_GT_GT_EQ] = ACTIONS(138),
    [anon_sym_LT_LT_EQ] = ACTIONS(138),
    [anon_sym_CARET_EQ] = ACTIONS(138),
    [anon_sym_QMARK] = ACTIONS(138),
    [anon_sym_DOT_DOT] = ACTIONS(140),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(138),
    [anon_sym_and] = ACTIONS(138),
    [anon_sym_or] = ACTIONS(138),
    [anon_sym_PIPE_PIPE] = ACTIONS(140),
    [anon_sym_AMP_AMP] = ACTIONS(140),
    [anon_sym_LT_LT] = ACTIONS(140),
    [anon_sym_GT_GT] = ACTIONS(140),
    [anon_sym_EQ_EQ] = ACTIONS(140),
    [anon_sym_BANG_EQ] = ACTIONS(138),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(138),
    [anon_sym_LT_EQ_GT] = ACTIONS(138),
    [anon_sym_EQ_TILDE] = ACTIONS(138),
    [anon_sym_BANG_TILDE] = ACTIONS(138),
    [anon_sym_LT_EQ] = ACTIONS(140),
    [anon_sym_GT] = ACTIONS(140),
    [anon_sym_GT_EQ] = ACTIONS(138),
    [anon_sym_CARET] = ACTIONS(140),
    [anon_sym_PLUS] = ACTIONS(140),
    [anon_sym_SLASH] = ACTIONS(140),
    [anon_sym_PERCENT] = ACTIONS(140),
    [sym_comment] = ACTIONS(256),
  },
  [555] = {
    [sym__simple_heredoc_body] = ACTIONS(142),
    [sym__heredoc_body_beginning] = ACTIONS(142),
    [sym__line_break] = ACTIONS(142),
    [sym__element_reference_left_bracket] = ACTIONS(142),
    [sym__scope_double_colon] = ACTIONS(142),
    [sym__binary_minus] = ACTIONS(142),
    [sym__binary_star] = ACTIONS(142),
    [ts_builtin_sym_end] = ACTIONS(142),
    [anon_sym___END__] = ACTIONS(142),
    [anon_sym_LBRACE] = ACTIONS(142),
    [anon_sym_RBRACE] = ACTIONS(142),
    [anon_sym_RPAREN] = ACTIONS(142),
    [anon_sym_DOT] = ACTIONS(144),
    [anon_sym_end] = ACTIONS(142),
    [anon_sym_COMMA] = ACTIONS(142),
    [anon_sym_PIPE] = ACTIONS(144),
    [anon_sym_SEMI] = ACTIONS(142),
    [anon_sym_STAR_STAR] = ACTIONS(144),
    [anon_sym_AMP] = ACTIONS(144),
    [anon_sym_EQ] = ACTIONS(144),
    [anon_sym_LT] = ACTIONS(144),
    [anon_sym_if] = ACTIONS(142),
    [anon_sym_unless] = ACTIONS(142),
    [anon_sym_while] = ACTIONS(142),
    [anon_sym_until] = ACTIONS(142),
    [anon_sym_rescue] = ACTIONS(142),
    [anon_sym_do] = ACTIONS(142),
    [anon_sym_when] = ACTIONS(142),
    [anon_sym_elsif] = ACTIONS(142),
    [anon_sym_else] = ACTIONS(142),
    [anon_sym_then] = ACTIONS(142),
    [anon_sym_ensure] = ACTIONS(142),
    [anon_sym_EQ_GT] = ACTIONS(142),
    [anon_sym_AMP_DOT] = ACTIONS(142),
    [anon_sym_PLUS_EQ] = ACTIONS(142),
    [anon_sym_DASH_EQ] = ACTIONS(142),
    [anon_sym_STAR_EQ] = ACTIONS(142),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(142),
    [anon_sym_SLASH_EQ] = ACTIONS(142),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(142),
    [anon_sym_PIPE_EQ] = ACTIONS(142),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(142),
    [anon_sym_AMP_EQ] = ACTIONS(142),
    [anon_sym_PERCENT_EQ] = ACTIONS(142),
    [anon_sym_GT_GT_EQ] = ACTIONS(142),
    [anon_sym_LT_LT_EQ] = ACTIONS(142),
    [anon_sym_CARET_EQ] = ACTIONS(142),
    [anon_sym_QMARK] = ACTIONS(142),
    [anon_sym_DOT_DOT] = ACTIONS(144),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(142),
    [anon_sym_and] = ACTIONS(142),
    [anon_sym_or] = ACTIONS(142),
    [anon_sym_PIPE_PIPE] = ACTIONS(144),
    [anon_sym_AMP_AMP] = ACTIONS(144),
    [anon_sym_LT_LT] = ACTIONS(144),
    [anon_sym_GT_GT] = ACTIONS(144),
    [anon_sym_EQ_EQ] = ACTIONS(144),
    [anon_sym_BANG_EQ] = ACTIONS(142),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(142),
    [anon_sym_LT_EQ_GT] = ACTIONS(142),
    [anon_sym_EQ_TILDE] = ACTIONS(142),
    [anon_sym_BANG_TILDE] = ACTIONS(142),
    [anon_sym_LT_EQ] = ACTIONS(144),
    [anon_sym_GT] = ACTIONS(144),
    [anon_sym_GT_EQ] = ACTIONS(142),
    [anon_sym_CARET] = ACTIONS(144),
    [anon_sym_PLUS] = ACTIONS(144),
    [anon_sym_SLASH] = ACTIONS(144),
    [anon_sym_PERCENT] = ACTIONS(144),
    [sym_comment] = ACTIONS(256),
  },
  [556] = {
    [sym__statement] = STATE(2034),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(2035),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [557] = {
    [sym__statement] = STATE(2036),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(2037),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [558] = {
    [sym__statement] = STATE(2038),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(2039),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [559] = {
    [sym__statement] = STATE(2040),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(2041),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [560] = {
    [sym__statement] = STATE(2042),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(2043),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [561] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [ts_builtin_sym_end] = ACTIONS(250),
    [anon_sym___END__] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_RBRACE] = ACTIONS(250),
    [anon_sym_RPAREN] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_end] = ACTIONS(250),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_when] = ACTIONS(250),
    [anon_sym_elsif] = ACTIONS(250),
    [anon_sym_else] = ACTIONS(250),
    [anon_sym_then] = ACTIONS(250),
    [anon_sym_ensure] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [562] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(2081),
    [sym__primary] = STATE(2082),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(2083),
    [sym_call] = STATE(2083),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(2085),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2086),
    [sym__variable] = STATE(2083),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(3162),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(3174),
    [anon_sym_yield] = ACTIONS(3176),
    [anon_sym_break] = ACTIONS(3178),
    [anon_sym_next] = ACTIONS(3180),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(3200),
    [anon_sym_defined_QMARK] = ACTIONS(3202),
    [anon_sym_not] = ACTIONS(3204),
    [anon_sym_BANG] = ACTIONS(3206),
    [anon_sym_TILDE] = ACTIONS(3206),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [563] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(2088),
    [sym__primary] = STATE(2082),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(2083),
    [sym_call] = STATE(2083),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(2085),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2086),
    [sym__variable] = STATE(2083),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(3162),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(3174),
    [anon_sym_yield] = ACTIONS(3176),
    [anon_sym_break] = ACTIONS(3178),
    [anon_sym_next] = ACTIONS(3180),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(3200),
    [anon_sym_defined_QMARK] = ACTIONS(3202),
    [anon_sym_not] = ACTIONS(3204),
    [anon_sym_BANG] = ACTIONS(3206),
    [anon_sym_TILDE] = ACTIONS(3206),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [564] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1382),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(2090),
    [sym__argument] = STATE(1385),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1386),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1387),
    [sym__variable] = STATE(1383),
    [sym_reserved_identifier] = STATE(1388),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1389),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(2091),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(2154),
    [sym__splat_star] = ACTIONS(2156),
    [sym__unary_minus] = ACTIONS(2158),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(3222),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2162),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2164),
    [anon_sym_yield] = ACTIONS(2166),
    [anon_sym_break] = ACTIONS(2168),
    [anon_sym_next] = ACTIONS(2170),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2172),
    [anon_sym_defined_QMARK] = ACTIONS(2174),
    [anon_sym_not] = ACTIONS(2176),
    [anon_sym_BANG] = ACTIONS(2178),
    [anon_sym_TILDE] = ACTIONS(2178),
    [sym_constant] = ACTIONS(2180),
    [sym_identifier] = ACTIONS(2180),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [565] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(2111),
    [sym__primary] = STATE(596),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(597),
    [sym_call] = STATE(597),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(605),
    [sym__variable] = STATE(597),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(1012),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(3236),
    [anon_sym_yield] = ACTIONS(3238),
    [anon_sym_break] = ACTIONS(3240),
    [anon_sym_next] = ACTIONS(3242),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(3262),
    [anon_sym_defined_QMARK] = ACTIONS(1044),
    [anon_sym_not] = ACTIONS(3264),
    [anon_sym_BANG] = ACTIONS(1050),
    [anon_sym_TILDE] = ACTIONS(1050),
    [sym_constant] = ACTIONS(2194),
    [sym_identifier] = ACTIONS(2194),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2196),
    [anon_sym_super] = ACTIONS(2198),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [566] = {
    [sym__statements] = STATE(2126),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(2127),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2128),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_hash_splat_argument] = STATE(197),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(2130),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2131),
    [sym__variable] = STATE(2129),
    [sym_reserved_identifier] = STATE(201),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(2132),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(2133),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym__hash_items] = STATE(2134),
    [sym_pair] = STATE(205),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3268),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(3270),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_PIPE] = ACTIONS(3048),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(302),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(3272),
    [anon_sym_yield] = ACTIONS(3274),
    [anon_sym_break] = ACTIONS(3276),
    [anon_sym_next] = ACTIONS(3278),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(3280),
    [anon_sym_defined_QMARK] = ACTIONS(3282),
    [anon_sym_not] = ACTIONS(3284),
    [anon_sym_BANG] = ACTIONS(3286),
    [anon_sym_TILDE] = ACTIONS(3286),
    [sym_constant] = ACTIONS(3288),
    [sym_identifier] = ACTIONS(3288),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(3290),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(3292),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [567] = {
    [sym__method_rest] = STATE(2136),
    [sym__variable] = STATE(2137),
    [sym_operator] = STATE(217),
    [sym__method_name] = STATE(2138),
    [sym_setter] = STATE(217),
    [sym_symbol] = STATE(217),
    [sym_super] = STATE(219),
    [sym_self] = STATE(219),
    [sym__simple_symbol] = ACTIONS(378),
    [sym__symbol_beginning] = ACTIONS(380),
    [sym__keyword_colon] = ACTIONS(1556),
    [anon_sym_LPAREN] = ACTIONS(3294),
    [anon_sym_PIPE] = ACTIONS(384),
    [anon_sym_STAR] = ACTIONS(386),
    [anon_sym_STAR_STAR] = ACTIONS(384),
    [anon_sym_AMP] = ACTIONS(384),
    [anon_sym_LT] = ACTIONS(386),
    [anon_sym_DOT_DOT] = ACTIONS(384),
    [anon_sym_LT_LT] = ACTIONS(384),
    [anon_sym_GT_GT] = ACTIONS(384),
    [anon_sym_EQ_EQ] = ACTIONS(386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(384),
    [anon_sym_LT_EQ_GT] = ACTIONS(384),
    [anon_sym_EQ_TILDE] = ACTIONS(384),
    [anon_sym_BANG_TILDE] = ACTIONS(384),
    [anon_sym_LT_EQ] = ACTIONS(386),
    [anon_sym_GT] = ACTIONS(386),
    [anon_sym_GT_EQ] = ACTIONS(384),
    [anon_sym_CARET] = ACTIONS(384),
    [anon_sym_PLUS] = ACTIONS(386),
    [anon_sym_SLASH] = ACTIONS(384),
    [anon_sym_PERCENT] = ACTIONS(384),
    [anon_sym_BANG] = ACTIONS(386),
    [anon_sym_TILDE] = ACTIONS(384),
    [sym_constant] = ACTIONS(388),
    [sym_identifier] = ACTIONS(390),
    [sym_instance_variable] = ACTIONS(388),
    [sym_class_variable] = ACTIONS(388),
    [sym_global_variable] = ACTIONS(388),
    [anon_sym_self] = ACTIONS(392),
    [anon_sym_super] = ACTIONS(394),
    [anon_sym_DASH] = ACTIONS(386),
    [anon_sym_PLUS_AT] = ACTIONS(384),
    [anon_sym_DASH_AT] = ACTIONS(384),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(386),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(384),
    [anon_sym_BQUOTE] = ACTIONS(384),
    [sym_comment] = ACTIONS(110),
  },
  [568] = {
    [sym__statements] = STATE(2140),
    [sym__top_level_statement] = STATE(235),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(236),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(237),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(240),
    [sym__mlhs] = STATE(241),
    [sym__simple_mlhs] = STATE(242),
    [sym_destructured_left_assignment] = STATE(242),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(243),
    [sym__variable] = STATE(239),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(396),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_RPAREN] = ACTIONS(3296),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(402),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(412),
    [anon_sym_defined_QMARK] = ACTIONS(414),
    [anon_sym_not] = ACTIONS(416),
    [anon_sym_BANG] = ACTIONS(418),
    [anon_sym_TILDE] = ACTIONS(418),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [569] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(2141),
    [sym__primary] = STATE(2082),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(2083),
    [sym_call] = STATE(2083),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(2085),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2086),
    [sym__variable] = STATE(2083),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(3162),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(3174),
    [anon_sym_yield] = ACTIONS(3176),
    [anon_sym_break] = ACTIONS(3178),
    [anon_sym_next] = ACTIONS(3180),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(3200),
    [anon_sym_defined_QMARK] = ACTIONS(3202),
    [anon_sym_not] = ACTIONS(3204),
    [anon_sym_BANG] = ACTIONS(3206),
    [anon_sym_TILDE] = ACTIONS(3206),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [570] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(293),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(2144),
    [sym_call] = STATE(295),
    [sym_method_call] = STATE(286),
    [sym__lhs] = STATE(255),
    [sym__variable] = STATE(295),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__singleton_class_left_angle_left_langle] = ACTIONS(3298),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(458),
    [anon_sym_COLON_COLON] = ACTIONS(524),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(3300),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [571] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(293),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(2146),
    [sym_call] = STATE(295),
    [sym_method_call] = STATE(286),
    [sym__lhs] = STATE(255),
    [sym__variable] = STATE(295),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [sym__keyword_colon] = ACTIONS(1556),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(458),
    [anon_sym_COLON_COLON] = ACTIONS(524),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(3302),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [572] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1434),
    [sym__primary] = STATE(596),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(597),
    [sym_call] = STATE(597),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2147),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(1437),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(605),
    [sym__variable] = STATE(597),
    [sym_reserved_identifier] = STATE(1440),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1441),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(2252),
    [sym__splat_star] = ACTIONS(2254),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(1012),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [ts_builtin_sym_end] = ACTIONS(532),
    [anon_sym___END__] = ACTIONS(544),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(544),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(1024),
    [anon_sym_yield] = ACTIONS(1026),
    [anon_sym_break] = ACTIONS(1028),
    [anon_sym_next] = ACTIONS(1030),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_PLUS_EQ] = ACTIONS(532),
    [anon_sym_DASH_EQ] = ACTIONS(532),
    [anon_sym_STAR_EQ] = ACTIONS(532),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(532),
    [anon_sym_SLASH_EQ] = ACTIONS(532),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(532),
    [anon_sym_PIPE_EQ] = ACTIONS(532),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(532),
    [anon_sym_AMP_EQ] = ACTIONS(532),
    [anon_sym_PERCENT_EQ] = ACTIONS(532),
    [anon_sym_GT_GT_EQ] = ACTIONS(532),
    [anon_sym_LT_LT_EQ] = ACTIONS(532),
    [anon_sym_CARET_EQ] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(544),
    [anon_sym_AMP_AMP] = ACTIONS(544),
    [anon_sym_LT_LT] = ACTIONS(544),
    [anon_sym_GT_GT] = ACTIONS(544),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(544),
    [anon_sym_PERCENT] = ACTIONS(544),
    [anon_sym_defined_QMARK] = ACTIONS(1044),
    [anon_sym_not] = ACTIONS(1046),
    [anon_sym_BANG] = ACTIONS(1048),
    [anon_sym_TILDE] = ACTIONS(1050),
    [sym_constant] = ACTIONS(2262),
    [sym_identifier] = ACTIONS(2262),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(588),
    [anon_sym_super] = ACTIONS(590),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [573] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1434),
    [sym__primary] = STATE(596),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(597),
    [sym_call] = STATE(597),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2148),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(1437),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(605),
    [sym__variable] = STATE(597),
    [sym_reserved_identifier] = STATE(1440),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1441),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(2252),
    [sym__splat_star] = ACTIONS(2254),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(1012),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [ts_builtin_sym_end] = ACTIONS(602),
    [anon_sym___END__] = ACTIONS(604),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(604),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(1024),
    [anon_sym_yield] = ACTIONS(1026),
    [anon_sym_break] = ACTIONS(1028),
    [anon_sym_next] = ACTIONS(1030),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_PLUS_EQ] = ACTIONS(602),
    [anon_sym_DASH_EQ] = ACTIONS(602),
    [anon_sym_STAR_EQ] = ACTIONS(602),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(602),
    [anon_sym_SLASH_EQ] = ACTIONS(602),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(602),
    [anon_sym_PIPE_EQ] = ACTIONS(602),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(602),
    [anon_sym_AMP_EQ] = ACTIONS(602),
    [anon_sym_PERCENT_EQ] = ACTIONS(602),
    [anon_sym_GT_GT_EQ] = ACTIONS(602),
    [anon_sym_LT_LT_EQ] = ACTIONS(602),
    [anon_sym_CARET_EQ] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(604),
    [anon_sym_AMP_AMP] = ACTIONS(604),
    [anon_sym_LT_LT] = ACTIONS(604),
    [anon_sym_GT_GT] = ACTIONS(604),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(604),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(604),
    [anon_sym_PERCENT] = ACTIONS(604),
    [anon_sym_defined_QMARK] = ACTIONS(1044),
    [anon_sym_not] = ACTIONS(1046),
    [anon_sym_BANG] = ACTIONS(1048),
    [anon_sym_TILDE] = ACTIONS(1050),
    [sym_constant] = ACTIONS(2262),
    [sym_identifier] = ACTIONS(2262),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(588),
    [anon_sym_super] = ACTIONS(590),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [574] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1434),
    [sym__primary] = STATE(596),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(597),
    [sym_call] = STATE(597),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2149),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(1437),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(605),
    [sym__variable] = STATE(597),
    [sym_reserved_identifier] = STATE(1440),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1441),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(2252),
    [sym__splat_star] = ACTIONS(2254),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(1012),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [ts_builtin_sym_end] = ACTIONS(606),
    [anon_sym___END__] = ACTIONS(608),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(608),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(1024),
    [anon_sym_yield] = ACTIONS(1026),
    [anon_sym_break] = ACTIONS(1028),
    [anon_sym_next] = ACTIONS(1030),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_PLUS_EQ] = ACTIONS(606),
    [anon_sym_DASH_EQ] = ACTIONS(606),
    [anon_sym_STAR_EQ] = ACTIONS(606),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(606),
    [anon_sym_SLASH_EQ] = ACTIONS(606),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(606),
    [anon_sym_PIPE_EQ] = ACTIONS(606),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(606),
    [anon_sym_AMP_EQ] = ACTIONS(606),
    [anon_sym_PERCENT_EQ] = ACTIONS(606),
    [anon_sym_GT_GT_EQ] = ACTIONS(606),
    [anon_sym_LT_LT_EQ] = ACTIONS(606),
    [anon_sym_CARET_EQ] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(608),
    [anon_sym_AMP_AMP] = ACTIONS(608),
    [anon_sym_LT_LT] = ACTIONS(608),
    [anon_sym_GT_GT] = ACTIONS(608),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(608),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(608),
    [anon_sym_PERCENT] = ACTIONS(608),
    [anon_sym_defined_QMARK] = ACTIONS(1044),
    [anon_sym_not] = ACTIONS(1046),
    [anon_sym_BANG] = ACTIONS(1048),
    [anon_sym_TILDE] = ACTIONS(1050),
    [sym_constant] = ACTIONS(2262),
    [sym_identifier] = ACTIONS(2262),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(588),
    [anon_sym_super] = ACTIONS(590),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [575] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1434),
    [sym__primary] = STATE(596),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(597),
    [sym_call] = STATE(597),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2150),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(1437),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(605),
    [sym__variable] = STATE(597),
    [sym_reserved_identifier] = STATE(1440),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1441),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(2252),
    [sym__splat_star] = ACTIONS(2254),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(1012),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [ts_builtin_sym_end] = ACTIONS(610),
    [anon_sym___END__] = ACTIONS(612),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(612),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(1024),
    [anon_sym_yield] = ACTIONS(1026),
    [anon_sym_break] = ACTIONS(1028),
    [anon_sym_next] = ACTIONS(1030),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_PLUS_EQ] = ACTIONS(610),
    [anon_sym_DASH_EQ] = ACTIONS(610),
    [anon_sym_STAR_EQ] = ACTIONS(610),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(610),
    [anon_sym_SLASH_EQ] = ACTIONS(610),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(610),
    [anon_sym_PIPE_EQ] = ACTIONS(610),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(610),
    [anon_sym_AMP_EQ] = ACTIONS(610),
    [anon_sym_PERCENT_EQ] = ACTIONS(610),
    [anon_sym_GT_GT_EQ] = ACTIONS(610),
    [anon_sym_LT_LT_EQ] = ACTIONS(610),
    [anon_sym_CARET_EQ] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(612),
    [anon_sym_AMP_AMP] = ACTIONS(612),
    [anon_sym_LT_LT] = ACTIONS(612),
    [anon_sym_GT_GT] = ACTIONS(612),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(612),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(612),
    [anon_sym_PERCENT] = ACTIONS(612),
    [anon_sym_defined_QMARK] = ACTIONS(1044),
    [anon_sym_not] = ACTIONS(1046),
    [anon_sym_BANG] = ACTIONS(1048),
    [anon_sym_TILDE] = ACTIONS(1050),
    [sym_constant] = ACTIONS(2262),
    [sym_identifier] = ACTIONS(2262),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(588),
    [anon_sym_super] = ACTIONS(590),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [576] = {
    [sym__simple_heredoc_body] = ACTIONS(614),
    [sym__heredoc_body_beginning] = ACTIONS(614),
    [sym__line_break] = ACTIONS(614),
    [sym__element_reference_left_bracket] = ACTIONS(614),
    [sym__scope_double_colon] = ACTIONS(614),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__binary_minus] = ACTIONS(614),
    [sym__binary_star] = ACTIONS(614),
    [ts_builtin_sym_end] = ACTIONS(614),
    [anon_sym___END__] = ACTIONS(614),
    [anon_sym_LBRACE] = ACTIONS(614),
    [anon_sym_RBRACE] = ACTIONS(614),
    [anon_sym_RPAREN] = ACTIONS(614),
    [anon_sym_DOT] = ACTIONS(616),
    [anon_sym_end] = ACTIONS(614),
    [anon_sym_COMMA] = ACTIONS(614),
    [anon_sym_PIPE] = ACTIONS(616),
    [anon_sym_SEMI] = ACTIONS(614),
    [anon_sym_STAR_STAR] = ACTIONS(616),
    [anon_sym_AMP] = ACTIONS(616),
    [anon_sym_EQ] = ACTIONS(616),
    [anon_sym_LT] = ACTIONS(616),
    [anon_sym_if] = ACTIONS(614),
    [anon_sym_unless] = ACTIONS(614),
    [anon_sym_while] = ACTIONS(614),
    [anon_sym_until] = ACTIONS(614),
    [anon_sym_rescue] = ACTIONS(614),
    [anon_sym_do] = ACTIONS(614),
    [anon_sym_when] = ACTIONS(614),
    [anon_sym_elsif] = ACTIONS(614),
    [anon_sym_else] = ACTIONS(614),
    [anon_sym_then] = ACTIONS(614),
    [anon_sym_ensure] = ACTIONS(614),
    [anon_sym_EQ_GT] = ACTIONS(614),
    [anon_sym_AMP_DOT] = ACTIONS(614),
    [anon_sym_PLUS_EQ] = ACTIONS(614),
    [anon_sym_DASH_EQ] = ACTIONS(614),
    [anon_sym_STAR_EQ] = ACTIONS(614),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(614),
    [anon_sym_SLASH_EQ] = ACTIONS(614),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(614),
    [anon_sym_PIPE_EQ] = ACTIONS(614),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(614),
    [anon_sym_AMP_EQ] = ACTIONS(614),
    [anon_sym_PERCENT_EQ] = ACTIONS(614),
    [anon_sym_GT_GT_EQ] = ACTIONS(614),
    [anon_sym_LT_LT_EQ] = ACTIONS(614),
    [anon_sym_CARET_EQ] = ACTIONS(614),
    [anon_sym_QMARK] = ACTIONS(614),
    [anon_sym_DOT_DOT] = ACTIONS(616),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(614),
    [anon_sym_and] = ACTIONS(614),
    [anon_sym_or] = ACTIONS(614),
    [anon_sym_PIPE_PIPE] = ACTIONS(616),
    [anon_sym_AMP_AMP] = ACTIONS(616),
    [anon_sym_LT_LT] = ACTIONS(616),
    [anon_sym_GT_GT] = ACTIONS(616),
    [anon_sym_EQ_EQ] = ACTIONS(616),
    [anon_sym_BANG_EQ] = ACTIONS(614),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(614),
    [anon_sym_LT_EQ_GT] = ACTIONS(614),
    [anon_sym_EQ_TILDE] = ACTIONS(614),
    [anon_sym_BANG_TILDE] = ACTIONS(614),
    [anon_sym_LT_EQ] = ACTIONS(616),
    [anon_sym_GT] = ACTIONS(616),
    [anon_sym_GT_EQ] = ACTIONS(614),
    [anon_sym_CARET] = ACTIONS(616),
    [anon_sym_PLUS] = ACTIONS(616),
    [anon_sym_SLASH] = ACTIONS(616),
    [anon_sym_PERCENT] = ACTIONS(616),
    [sym_comment] = ACTIONS(256),
  },
  [577] = {
    [sym__simple_heredoc_body] = ACTIONS(618),
    [sym__heredoc_body_beginning] = ACTIONS(618),
    [sym__line_break] = ACTIONS(618),
    [sym__element_reference_left_bracket] = ACTIONS(618),
    [sym__scope_double_colon] = ACTIONS(618),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__binary_minus] = ACTIONS(618),
    [sym__binary_star] = ACTIONS(618),
    [ts_builtin_sym_end] = ACTIONS(618),
    [anon_sym___END__] = ACTIONS(618),
    [anon_sym_LBRACE] = ACTIONS(618),
    [anon_sym_RBRACE] = ACTIONS(618),
    [anon_sym_RPAREN] = ACTIONS(618),
    [anon_sym_DOT] = ACTIONS(620),
    [anon_sym_end] = ACTIONS(618),
    [anon_sym_COMMA] = ACTIONS(618),
    [anon_sym_PIPE] = ACTIONS(620),
    [anon_sym_SEMI] = ACTIONS(618),
    [anon_sym_STAR_STAR] = ACTIONS(620),
    [anon_sym_AMP] = ACTIONS(620),
    [anon_sym_EQ] = ACTIONS(620),
    [anon_sym_LT] = ACTIONS(620),
    [anon_sym_if] = ACTIONS(618),
    [anon_sym_unless] = ACTIONS(618),
    [anon_sym_while] = ACTIONS(618),
    [anon_sym_until] = ACTIONS(618),
    [anon_sym_rescue] = ACTIONS(618),
    [anon_sym_do] = ACTIONS(618),
    [anon_sym_when] = ACTIONS(618),
    [anon_sym_elsif] = ACTIONS(618),
    [anon_sym_else] = ACTIONS(618),
    [anon_sym_then] = ACTIONS(618),
    [anon_sym_ensure] = ACTIONS(618),
    [anon_sym_EQ_GT] = ACTIONS(618),
    [anon_sym_AMP_DOT] = ACTIONS(618),
    [anon_sym_PLUS_EQ] = ACTIONS(618),
    [anon_sym_DASH_EQ] = ACTIONS(618),
    [anon_sym_STAR_EQ] = ACTIONS(618),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(618),
    [anon_sym_SLASH_EQ] = ACTIONS(618),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(618),
    [anon_sym_PIPE_EQ] = ACTIONS(618),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(618),
    [anon_sym_AMP_EQ] = ACTIONS(618),
    [anon_sym_PERCENT_EQ] = ACTIONS(618),
    [anon_sym_GT_GT_EQ] = ACTIONS(618),
    [anon_sym_LT_LT_EQ] = ACTIONS(618),
    [anon_sym_CARET_EQ] = ACTIONS(618),
    [anon_sym_QMARK] = ACTIONS(618),
    [anon_sym_DOT_DOT] = ACTIONS(620),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(618),
    [anon_sym_and] = ACTIONS(618),
    [anon_sym_or] = ACTIONS(618),
    [anon_sym_PIPE_PIPE] = ACTIONS(620),
    [anon_sym_AMP_AMP] = ACTIONS(620),
    [anon_sym_LT_LT] = ACTIONS(620),
    [anon_sym_GT_GT] = ACTIONS(620),
    [anon_sym_EQ_EQ] = ACTIONS(620),
    [anon_sym_BANG_EQ] = ACTIONS(618),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(618),
    [anon_sym_LT_EQ_GT] = ACTIONS(618),
    [anon_sym_EQ_TILDE] = ACTIONS(618),
    [anon_sym_BANG_TILDE] = ACTIONS(618),
    [anon_sym_LT_EQ] = ACTIONS(620),
    [anon_sym_GT] = ACTIONS(620),
    [anon_sym_GT_EQ] = ACTIONS(618),
    [anon_sym_CARET] = ACTIONS(620),
    [anon_sym_PLUS] = ACTIONS(620),
    [anon_sym_SLASH] = ACTIONS(620),
    [anon_sym_PERCENT] = ACTIONS(620),
    [sym_comment] = ACTIONS(256),
  },
  [578] = {
    [sym__statement] = STATE(2151),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(361),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [579] = {
    [sym__statement] = STATE(2152),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(361),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [580] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2153),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [581] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2154),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [582] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(285),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(381),
    [sym_call] = STATE(381),
    [sym_method_call] = STATE(286),
    [sym__mlhs] = STATE(2155),
    [sym__simple_mlhs] = STATE(383),
    [sym_destructured_left_assignment] = STATE(383),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(384),
    [sym__variable] = STATE(381),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [sym__keyword_colon] = ACTIONS(1556),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(658),
    [anon_sym_COLON_COLON] = ACTIONS(460),
    [anon_sym_STAR] = ACTIONS(660),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(494),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [583] = {
    [sym__statements] = STATE(2157),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(2158),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1981),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(2159),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(3076),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(3078),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(3080),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(3304),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(3086),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [584] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_when] = STATE(2160),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2161),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(400),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(401),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(387),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__terminator] = STATE(402),
    [aux_sym_case_repeat1] = STATE(2162),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(666),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(668),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_when] = ACTIONS(678),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(680),
    [anon_sym_defined_QMARK] = ACTIONS(682),
    [anon_sym_not] = ACTIONS(684),
    [anon_sym_BANG] = ACTIONS(686),
    [anon_sym_TILDE] = ACTIONS(686),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [585] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(2164),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(2165),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(692),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(3306),
    [anon_sym_SEMI] = ACTIONS(698),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [586] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(2166),
    [sym__primary] = STATE(596),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(597),
    [sym_call] = STATE(597),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(605),
    [sym__variable] = STATE(597),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(1012),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(3236),
    [anon_sym_yield] = ACTIONS(3238),
    [anon_sym_break] = ACTIONS(3240),
    [anon_sym_next] = ACTIONS(3242),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(3262),
    [anon_sym_defined_QMARK] = ACTIONS(1044),
    [anon_sym_not] = ACTIONS(3264),
    [anon_sym_BANG] = ACTIONS(1050),
    [anon_sym_TILDE] = ACTIONS(1050),
    [sym_constant] = ACTIONS(2194),
    [sym_identifier] = ACTIONS(2194),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2196),
    [anon_sym_super] = ACTIONS(2198),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [587] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(2167),
    [sym__primary] = STATE(596),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(597),
    [sym_call] = STATE(597),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(605),
    [sym__variable] = STATE(597),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(1012),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(3236),
    [anon_sym_yield] = ACTIONS(3238),
    [anon_sym_break] = ACTIONS(3240),
    [anon_sym_next] = ACTIONS(3242),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(3262),
    [anon_sym_defined_QMARK] = ACTIONS(1044),
    [anon_sym_not] = ACTIONS(3264),
    [anon_sym_BANG] = ACTIONS(1050),
    [anon_sym_TILDE] = ACTIONS(1050),
    [sym_constant] = ACTIONS(2194),
    [sym_identifier] = ACTIONS(2194),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2196),
    [anon_sym_super] = ACTIONS(2198),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [588] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(2167),
    [sym__primary] = STATE(596),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(597),
    [sym_call] = STATE(597),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(605),
    [sym__variable] = STATE(597),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(1012),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(3236),
    [anon_sym_yield] = ACTIONS(3238),
    [anon_sym_break] = ACTIONS(3240),
    [anon_sym_next] = ACTIONS(3242),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(3262),
    [anon_sym_defined_QMARK] = ACTIONS(1044),
    [anon_sym_not] = ACTIONS(3264),
    [anon_sym_BANG] = ACTIONS(1050),
    [anon_sym_TILDE] = ACTIONS(1050),
    [sym_constant] = ACTIONS(2194),
    [sym_identifier] = ACTIONS(2194),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2196),
    [anon_sym_super] = ACTIONS(2198),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [589] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(2168),
    [sym__primary] = STATE(596),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(597),
    [sym_call] = STATE(597),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(605),
    [sym__variable] = STATE(597),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(1012),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(3236),
    [anon_sym_yield] = ACTIONS(3238),
    [anon_sym_break] = ACTIONS(3240),
    [anon_sym_next] = ACTIONS(3242),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(3262),
    [anon_sym_defined_QMARK] = ACTIONS(1044),
    [anon_sym_not] = ACTIONS(3264),
    [anon_sym_BANG] = ACTIONS(1050),
    [anon_sym_TILDE] = ACTIONS(1050),
    [sym_constant] = ACTIONS(2194),
    [sym_identifier] = ACTIONS(2194),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2196),
    [anon_sym_super] = ACTIONS(2198),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [590] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(3308),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [ts_builtin_sym_end] = ACTIONS(722),
    [anon_sym___END__] = ACTIONS(724),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [591] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [ts_builtin_sym_end] = ACTIONS(250),
    [anon_sym___END__] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_RBRACE] = ACTIONS(250),
    [anon_sym_RPAREN] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_end] = ACTIONS(250),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_when] = ACTIONS(250),
    [anon_sym_elsif] = ACTIONS(250),
    [anon_sym_else] = ACTIONS(250),
    [anon_sym_then] = ACTIONS(250),
    [anon_sym_ensure] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
    [anon_sym_r] = ACTIONS(3310),
  },
  [592] = {
    [sym__simple_heredoc_body] = ACTIONS(778),
    [sym__heredoc_body_beginning] = ACTIONS(778),
    [sym__line_break] = ACTIONS(778),
    [sym__element_reference_left_bracket] = ACTIONS(778),
    [sym__scope_double_colon] = ACTIONS(778),
    [sym__binary_minus] = ACTIONS(778),
    [sym__binary_star] = ACTIONS(778),
    [ts_builtin_sym_end] = ACTIONS(778),
    [anon_sym___END__] = ACTIONS(778),
    [anon_sym_LBRACE] = ACTIONS(778),
    [anon_sym_RBRACE] = ACTIONS(778),
    [anon_sym_RPAREN] = ACTIONS(778),
    [anon_sym_DOT] = ACTIONS(780),
    [anon_sym_end] = ACTIONS(778),
    [anon_sym_COMMA] = ACTIONS(778),
    [anon_sym_PIPE] = ACTIONS(780),
    [anon_sym_SEMI] = ACTIONS(778),
    [anon_sym_STAR_STAR] = ACTIONS(780),
    [anon_sym_AMP] = ACTIONS(780),
    [anon_sym_EQ] = ACTIONS(780),
    [anon_sym_LT] = ACTIONS(780),
    [anon_sym_if] = ACTIONS(778),
    [anon_sym_unless] = ACTIONS(778),
    [anon_sym_while] = ACTIONS(778),
    [anon_sym_until] = ACTIONS(778),
    [anon_sym_rescue] = ACTIONS(778),
    [anon_sym_do] = ACTIONS(778),
    [anon_sym_when] = ACTIONS(778),
    [anon_sym_elsif] = ACTIONS(778),
    [anon_sym_else] = ACTIONS(778),
    [anon_sym_then] = ACTIONS(778),
    [anon_sym_ensure] = ACTIONS(778),
    [anon_sym_EQ_GT] = ACTIONS(778),
    [anon_sym_AMP_DOT] = ACTIONS(778),
    [anon_sym_PLUS_EQ] = ACTIONS(778),
    [anon_sym_DASH_EQ] = ACTIONS(778),
    [anon_sym_STAR_EQ] = ACTIONS(778),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(778),
    [anon_sym_SLASH_EQ] = ACTIONS(778),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(778),
    [anon_sym_PIPE_EQ] = ACTIONS(778),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(778),
    [anon_sym_AMP_EQ] = ACTIONS(778),
    [anon_sym_PERCENT_EQ] = ACTIONS(778),
    [anon_sym_GT_GT_EQ] = ACTIONS(778),
    [anon_sym_LT_LT_EQ] = ACTIONS(778),
    [anon_sym_CARET_EQ] = ACTIONS(778),
    [anon_sym_QMARK] = ACTIONS(778),
    [anon_sym_DOT_DOT] = ACTIONS(780),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(778),
    [anon_sym_and] = ACTIONS(778),
    [anon_sym_or] = ACTIONS(778),
    [anon_sym_PIPE_PIPE] = ACTIONS(780),
    [anon_sym_AMP_AMP] = ACTIONS(780),
    [anon_sym_LT_LT] = ACTIONS(780),
    [anon_sym_GT_GT] = ACTIONS(780),
    [anon_sym_EQ_EQ] = ACTIONS(780),
    [anon_sym_BANG_EQ] = ACTIONS(778),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(778),
    [anon_sym_LT_EQ_GT] = ACTIONS(778),
    [anon_sym_EQ_TILDE] = ACTIONS(778),
    [anon_sym_BANG_TILDE] = ACTIONS(778),
    [anon_sym_LT_EQ] = ACTIONS(780),
    [anon_sym_GT] = ACTIONS(780),
    [anon_sym_GT_EQ] = ACTIONS(778),
    [anon_sym_CARET] = ACTIONS(780),
    [anon_sym_PLUS] = ACTIONS(780),
    [anon_sym_SLASH] = ACTIONS(780),
    [anon_sym_PERCENT] = ACTIONS(780),
    [sym_comment] = ACTIONS(256),
  },
  [593] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(501),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(2172),
    [sym__argument] = STATE(506),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(509),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(510),
    [sym__variable] = STATE(504),
    [sym_reserved_identifier] = STATE(511),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(512),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(2173),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(804),
    [sym__splat_star] = ACTIONS(806),
    [sym__unary_minus] = ACTIONS(808),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(818),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(824),
    [anon_sym_yield] = ACTIONS(826),
    [anon_sym_break] = ACTIONS(828),
    [anon_sym_next] = ACTIONS(830),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_RBRACK] = ACTIONS(3312),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(852),
    [anon_sym_defined_QMARK] = ACTIONS(854),
    [anon_sym_not] = ACTIONS(856),
    [anon_sym_BANG] = ACTIONS(858),
    [anon_sym_TILDE] = ACTIONS(858),
    [sym_constant] = ACTIONS(860),
    [sym_identifier] = ACTIONS(860),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [594] = {
    [sym_lambda_parameters] = STATE(2176),
    [sym__simple_formal_parameter] = STATE(522),
    [sym_splat_parameter] = STATE(523),
    [sym_hash_splat_parameter] = STATE(523),
    [sym_block_parameter] = STATE(523),
    [sym_keyword_parameter] = STATE(523),
    [sym_optional_parameter] = STATE(523),
    [sym_do_block] = STATE(2177),
    [sym_block] = STATE(2177),
    [anon_sym_LBRACE] = ACTIONS(3314),
    [anon_sym_LPAREN] = ACTIONS(896),
    [anon_sym_STAR] = ACTIONS(898),
    [anon_sym_STAR_STAR] = ACTIONS(900),
    [anon_sym_AMP] = ACTIONS(902),
    [anon_sym_do] = ACTIONS(3316),
    [sym_identifier] = ACTIONS(906),
    [sym_comment] = ACTIONS(110),
  },
  [595] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__line_break] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(3318),
    [sym__binary_star] = ACTIONS(3320),
    [ts_builtin_sym_end] = ACTIONS(2210),
    [anon_sym___END__] = ACTIONS(2210),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(3322),
    [anon_sym_SEMI] = ACTIONS(2210),
    [anon_sym_STAR_STAR] = ACTIONS(3324),
    [anon_sym_AMP] = ACTIONS(3326),
    [anon_sym_EQ] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(3328),
    [anon_sym_if] = ACTIONS(2210),
    [anon_sym_unless] = ACTIONS(2210),
    [anon_sym_while] = ACTIONS(2210),
    [anon_sym_until] = ACTIONS(2210),
    [anon_sym_rescue] = ACTIONS(2210),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(3308),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_PLUS_EQ] = ACTIONS(2210),
    [anon_sym_DASH_EQ] = ACTIONS(2210),
    [anon_sym_STAR_EQ] = ACTIONS(2210),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2210),
    [anon_sym_SLASH_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2210),
    [anon_sym_AMP_EQ] = ACTIONS(2210),
    [anon_sym_PERCENT_EQ] = ACTIONS(2210),
    [anon_sym_GT_GT_EQ] = ACTIONS(2210),
    [anon_sym_LT_LT_EQ] = ACTIONS(2210),
    [anon_sym_CARET_EQ] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(3330),
    [anon_sym_DOT_DOT] = ACTIONS(3332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3334),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(3336),
    [anon_sym_AMP_AMP] = ACTIONS(3336),
    [anon_sym_LT_LT] = ACTIONS(3338),
    [anon_sym_GT_GT] = ACTIONS(3338),
    [anon_sym_EQ_EQ] = ACTIONS(3336),
    [anon_sym_BANG_EQ] = ACTIONS(3340),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3340),
    [anon_sym_LT_EQ_GT] = ACTIONS(3340),
    [anon_sym_EQ_TILDE] = ACTIONS(3340),
    [anon_sym_BANG_TILDE] = ACTIONS(3340),
    [anon_sym_LT_EQ] = ACTIONS(3328),
    [anon_sym_GT] = ACTIONS(3328),
    [anon_sym_GT_EQ] = ACTIONS(3342),
    [anon_sym_CARET] = ACTIONS(3322),
    [anon_sym_PLUS] = ACTIONS(3344),
    [anon_sym_SLASH] = ACTIONS(3324),
    [anon_sym_PERCENT] = ACTIONS(3324),
    [sym_comment] = ACTIONS(256),
  },
  [596] = {
    [sym__simple_heredoc_body] = ACTIONS(968),
    [sym__heredoc_body_beginning] = ACTIONS(968),
    [sym__line_break] = ACTIONS(968),
    [sym__element_reference_left_bracket] = ACTIONS(2244),
    [sym__scope_double_colon] = ACTIONS(2246),
    [sym__binary_minus] = ACTIONS(968),
    [sym__binary_star] = ACTIONS(968),
    [ts_builtin_sym_end] = ACTIONS(968),
    [anon_sym___END__] = ACTIONS(968),
    [anon_sym_LBRACE] = ACTIONS(968),
    [anon_sym_DOT] = ACTIONS(2248),
    [anon_sym_COMMA] = ACTIONS(968),
    [anon_sym_PIPE] = ACTIONS(976),
    [anon_sym_SEMI] = ACTIONS(968),
    [anon_sym_STAR_STAR] = ACTIONS(976),
    [anon_sym_AMP] = ACTIONS(976),
    [anon_sym_EQ] = ACTIONS(976),
    [anon_sym_LT] = ACTIONS(976),
    [anon_sym_if] = ACTIONS(968),
    [anon_sym_unless] = ACTIONS(968),
    [anon_sym_while] = ACTIONS(968),
    [anon_sym_until] = ACTIONS(968),
    [anon_sym_rescue] = ACTIONS(968),
    [anon_sym_do] = ACTIONS(968),
    [anon_sym_EQ_GT] = ACTIONS(968),
    [anon_sym_AMP_DOT] = ACTIONS(2250),
    [anon_sym_PLUS_EQ] = ACTIONS(968),
    [anon_sym_DASH_EQ] = ACTIONS(968),
    [anon_sym_STAR_EQ] = ACTIONS(968),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(968),
    [anon_sym_SLASH_EQ] = ACTIONS(968),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(968),
    [anon_sym_PIPE_EQ] = ACTIONS(968),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(968),
    [anon_sym_AMP_EQ] = ACTIONS(968),
    [anon_sym_PERCENT_EQ] = ACTIONS(968),
    [anon_sym_GT_GT_EQ] = ACTIONS(968),
    [anon_sym_LT_LT_EQ] = ACTIONS(968),
    [anon_sym_CARET_EQ] = ACTIONS(968),
    [anon_sym_QMARK] = ACTIONS(968),
    [anon_sym_DOT_DOT] = ACTIONS(976),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(968),
    [anon_sym_and] = ACTIONS(968),
    [anon_sym_or] = ACTIONS(968),
    [anon_sym_PIPE_PIPE] = ACTIONS(976),
    [anon_sym_AMP_AMP] = ACTIONS(976),
    [anon_sym_LT_LT] = ACTIONS(976),
    [anon_sym_GT_GT] = ACTIONS(976),
    [anon_sym_EQ_EQ] = ACTIONS(976),
    [anon_sym_BANG_EQ] = ACTIONS(968),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(968),
    [anon_sym_LT_EQ_GT] = ACTIONS(968),
    [anon_sym_EQ_TILDE] = ACTIONS(968),
    [anon_sym_BANG_TILDE] = ACTIONS(968),
    [anon_sym_LT_EQ] = ACTIONS(976),
    [anon_sym_GT] = ACTIONS(976),
    [anon_sym_GT_EQ] = ACTIONS(968),
    [anon_sym_CARET] = ACTIONS(976),
    [anon_sym_PLUS] = ACTIONS(976),
    [anon_sym_SLASH] = ACTIONS(976),
    [anon_sym_PERCENT] = ACTIONS(976),
    [sym_comment] = ACTIONS(256),
  },
  [597] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1434),
    [sym__primary] = STATE(596),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(597),
    [sym_call] = STATE(597),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2190),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(1437),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_do_block] = STATE(1439),
    [sym_block] = STATE(1439),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(605),
    [sym__variable] = STATE(597),
    [sym_reserved_identifier] = STATE(1440),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1441),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(2252),
    [sym__splat_star] = ACTIONS(2254),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(1012),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [ts_builtin_sym_end] = ACTIONS(980),
    [anon_sym___END__] = ACTIONS(982),
    [anon_sym_LBRACE] = ACTIONS(2258),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(1024),
    [anon_sym_yield] = ACTIONS(1026),
    [anon_sym_break] = ACTIONS(1028),
    [anon_sym_next] = ACTIONS(1030),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(982),
    [anon_sym_unless] = ACTIONS(982),
    [anon_sym_while] = ACTIONS(982),
    [anon_sym_until] = ACTIONS(982),
    [anon_sym_rescue] = ACTIONS(982),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(982),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(980),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(1044),
    [anon_sym_not] = ACTIONS(1046),
    [anon_sym_BANG] = ACTIONS(1048),
    [anon_sym_TILDE] = ACTIONS(1050),
    [sym_constant] = ACTIONS(2262),
    [sym_identifier] = ACTIONS(2262),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(588),
    [anon_sym_super] = ACTIONS(590),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [598] = {
    [sym_do_block] = STATE(2193),
    [sym_block] = STATE(2193),
    [sym__simple_heredoc_body] = ACTIONS(3346),
    [sym__heredoc_body_beginning] = ACTIONS(3346),
    [sym__line_break] = ACTIONS(3346),
    [sym__element_reference_left_bracket] = ACTIONS(3346),
    [sym__scope_double_colon] = ACTIONS(3346),
    [sym__binary_minus] = ACTIONS(3346),
    [sym__binary_star] = ACTIONS(3346),
    [ts_builtin_sym_end] = ACTIONS(3346),
    [anon_sym___END__] = ACTIONS(3346),
    [anon_sym_LBRACE] = ACTIONS(3348),
    [anon_sym_RBRACE] = ACTIONS(3346),
    [anon_sym_RPAREN] = ACTIONS(3346),
    [anon_sym_DOT] = ACTIONS(3350),
    [anon_sym_end] = ACTIONS(3346),
    [anon_sym_COMMA] = ACTIONS(3346),
    [anon_sym_PIPE] = ACTIONS(3350),
    [anon_sym_SEMI] = ACTIONS(3346),
    [anon_sym_STAR_STAR] = ACTIONS(3350),
    [anon_sym_AMP] = ACTIONS(3350),
    [anon_sym_EQ] = ACTIONS(3350),
    [anon_sym_LT] = ACTIONS(3350),
    [anon_sym_if] = ACTIONS(3346),
    [anon_sym_unless] = ACTIONS(3346),
    [anon_sym_while] = ACTIONS(3346),
    [anon_sym_until] = ACTIONS(3346),
    [anon_sym_rescue] = ACTIONS(3346),
    [anon_sym_do] = ACTIONS(3352),
    [anon_sym_when] = ACTIONS(3346),
    [anon_sym_elsif] = ACTIONS(3346),
    [anon_sym_else] = ACTIONS(3346),
    [anon_sym_then] = ACTIONS(3346),
    [anon_sym_ensure] = ACTIONS(3346),
    [anon_sym_AMP_DOT] = ACTIONS(3346),
    [anon_sym_PLUS_EQ] = ACTIONS(3346),
    [anon_sym_DASH_EQ] = ACTIONS(3346),
    [anon_sym_STAR_EQ] = ACTIONS(3346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3346),
    [anon_sym_SLASH_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3346),
    [anon_sym_AMP_EQ] = ACTIONS(3346),
    [anon_sym_PERCENT_EQ] = ACTIONS(3346),
    [anon_sym_GT_GT_EQ] = ACTIONS(3346),
    [anon_sym_LT_LT_EQ] = ACTIONS(3346),
    [anon_sym_CARET_EQ] = ACTIONS(3346),
    [anon_sym_QMARK] = ACTIONS(3346),
    [anon_sym_DOT_DOT] = ACTIONS(3350),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3346),
    [anon_sym_and] = ACTIONS(3346),
    [anon_sym_or] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE] = ACTIONS(3350),
    [anon_sym_AMP_AMP] = ACTIONS(3350),
    [anon_sym_LT_LT] = ACTIONS(3350),
    [anon_sym_GT_GT] = ACTIONS(3350),
    [anon_sym_EQ_EQ] = ACTIONS(3350),
    [anon_sym_BANG_EQ] = ACTIONS(3346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3346),
    [anon_sym_LT_EQ_GT] = ACTIONS(3346),
    [anon_sym_EQ_TILDE] = ACTIONS(3346),
    [anon_sym_BANG_TILDE] = ACTIONS(3346),
    [anon_sym_LT_EQ] = ACTIONS(3350),
    [anon_sym_GT] = ACTIONS(3350),
    [anon_sym_GT_EQ] = ACTIONS(3346),
    [anon_sym_CARET] = ACTIONS(3350),
    [anon_sym_PLUS] = ACTIONS(3350),
    [anon_sym_SLASH] = ACTIONS(3350),
    [anon_sym_PERCENT] = ACTIONS(3350),
    [sym_comment] = ACTIONS(256),
  },
  [599] = {
    [sym_heredoc_end] = STATE(2196),
    [aux_sym_argument_list_repeat2] = STATE(2197),
    [sym__simple_heredoc_body] = ACTIONS(3354),
    [sym__heredoc_body_beginning] = ACTIONS(3356),
    [sym__line_break] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [ts_builtin_sym_end] = ACTIONS(2272),
    [anon_sym___END__] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_RBRACE] = ACTIONS(2272),
    [anon_sym_RPAREN] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_end] = ACTIONS(2272),
    [anon_sym_COMMA] = ACTIONS(2272),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_STAR_STAR] = ACTIONS(2274),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_EQ] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_if] = ACTIONS(2272),
    [anon_sym_unless] = ACTIONS(2272),
    [anon_sym_while] = ACTIONS(2272),
    [anon_sym_until] = ACTIONS(2272),
    [anon_sym_rescue] = ACTIONS(2272),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_when] = ACTIONS(2272),
    [anon_sym_elsif] = ACTIONS(2272),
    [anon_sym_else] = ACTIONS(2272),
    [anon_sym_then] = ACTIONS(2272),
    [anon_sym_ensure] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_PLUS_EQ] = ACTIONS(2272),
    [anon_sym_DASH_EQ] = ACTIONS(2272),
    [anon_sym_STAR_EQ] = ACTIONS(2272),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2272),
    [anon_sym_SLASH_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2272),
    [anon_sym_AMP_EQ] = ACTIONS(2272),
    [anon_sym_PERCENT_EQ] = ACTIONS(2272),
    [anon_sym_GT_GT_EQ] = ACTIONS(2272),
    [anon_sym_LT_LT_EQ] = ACTIONS(2272),
    [anon_sym_CARET_EQ] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2274),
    [anon_sym_AMP_AMP] = ACTIONS(2274),
    [anon_sym_LT_LT] = ACTIONS(2274),
    [anon_sym_GT_GT] = ACTIONS(2274),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2274),
    [anon_sym_PLUS] = ACTIONS(2274),
    [anon_sym_SLASH] = ACTIONS(2274),
    [anon_sym_PERCENT] = ACTIONS(2274),
    [sym_comment] = ACTIONS(256),
  },
  [600] = {
    [sym_heredoc_end] = STATE(2196),
    [aux_sym_argument_list_repeat1] = STATE(2199),
    [aux_sym_argument_list_repeat2] = STATE(2197),
    [sym__simple_heredoc_body] = ACTIONS(3354),
    [sym__heredoc_body_beginning] = ACTIONS(3356),
    [sym__line_break] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [ts_builtin_sym_end] = ACTIONS(2272),
    [anon_sym___END__] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(3358),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_STAR_STAR] = ACTIONS(2274),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_EQ] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_if] = ACTIONS(2272),
    [anon_sym_unless] = ACTIONS(2272),
    [anon_sym_while] = ACTIONS(2272),
    [anon_sym_until] = ACTIONS(2272),
    [anon_sym_rescue] = ACTIONS(2272),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_PLUS_EQ] = ACTIONS(2272),
    [anon_sym_DASH_EQ] = ACTIONS(2272),
    [anon_sym_STAR_EQ] = ACTIONS(2272),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2272),
    [anon_sym_SLASH_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2272),
    [anon_sym_AMP_EQ] = ACTIONS(2272),
    [anon_sym_PERCENT_EQ] = ACTIONS(2272),
    [anon_sym_GT_GT_EQ] = ACTIONS(2272),
    [anon_sym_LT_LT_EQ] = ACTIONS(2272),
    [anon_sym_CARET_EQ] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2274),
    [anon_sym_AMP_AMP] = ACTIONS(2274),
    [anon_sym_LT_LT] = ACTIONS(2274),
    [anon_sym_GT_GT] = ACTIONS(2274),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2274),
    [anon_sym_PLUS] = ACTIONS(2274),
    [anon_sym_SLASH] = ACTIONS(2274),
    [anon_sym_PERCENT] = ACTIONS(2274),
    [sym_comment] = ACTIONS(256),
  },
  [601] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__line_break] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(2210),
    [sym__binary_star] = ACTIONS(2210),
    [ts_builtin_sym_end] = ACTIONS(2210),
    [anon_sym___END__] = ACTIONS(2210),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_RBRACE] = ACTIONS(2210),
    [anon_sym_RPAREN] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_end] = ACTIONS(2210),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(2216),
    [anon_sym_SEMI] = ACTIONS(2210),
    [anon_sym_STAR_STAR] = ACTIONS(2216),
    [anon_sym_AMP] = ACTIONS(2216),
    [anon_sym_EQ] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(2216),
    [anon_sym_if] = ACTIONS(2210),
    [anon_sym_unless] = ACTIONS(2210),
    [anon_sym_while] = ACTIONS(2210),
    [anon_sym_until] = ACTIONS(2210),
    [anon_sym_rescue] = ACTIONS(2210),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_when] = ACTIONS(2210),
    [anon_sym_elsif] = ACTIONS(2210),
    [anon_sym_else] = ACTIONS(2210),
    [anon_sym_then] = ACTIONS(2210),
    [anon_sym_ensure] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_PLUS_EQ] = ACTIONS(2210),
    [anon_sym_DASH_EQ] = ACTIONS(2210),
    [anon_sym_STAR_EQ] = ACTIONS(2210),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2210),
    [anon_sym_SLASH_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2210),
    [anon_sym_AMP_EQ] = ACTIONS(2210),
    [anon_sym_PERCENT_EQ] = ACTIONS(2210),
    [anon_sym_GT_GT_EQ] = ACTIONS(2210),
    [anon_sym_LT_LT_EQ] = ACTIONS(2210),
    [anon_sym_CARET_EQ] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(2210),
    [anon_sym_DOT_DOT] = ACTIONS(2216),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2210),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(2216),
    [anon_sym_AMP_AMP] = ACTIONS(2216),
    [anon_sym_LT_LT] = ACTIONS(2216),
    [anon_sym_GT_GT] = ACTIONS(2216),
    [anon_sym_EQ_EQ] = ACTIONS(2216),
    [anon_sym_BANG_EQ] = ACTIONS(2210),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2210),
    [anon_sym_LT_EQ_GT] = ACTIONS(2210),
    [anon_sym_EQ_TILDE] = ACTIONS(2210),
    [anon_sym_BANG_TILDE] = ACTIONS(2210),
    [anon_sym_LT_EQ] = ACTIONS(2216),
    [anon_sym_GT] = ACTIONS(2216),
    [anon_sym_GT_EQ] = ACTIONS(2210),
    [anon_sym_CARET] = ACTIONS(2216),
    [anon_sym_PLUS] = ACTIONS(2216),
    [anon_sym_SLASH] = ACTIONS(2216),
    [anon_sym_PERCENT] = ACTIONS(2216),
    [sym_comment] = ACTIONS(256),
  },
  [602] = {
    [sym__simple_heredoc_body] = ACTIONS(3346),
    [sym__heredoc_body_beginning] = ACTIONS(3346),
    [sym__line_break] = ACTIONS(3346),
    [sym__element_reference_left_bracket] = ACTIONS(3346),
    [sym__scope_double_colon] = ACTIONS(3346),
    [sym__binary_minus] = ACTIONS(3346),
    [sym__binary_star] = ACTIONS(3346),
    [ts_builtin_sym_end] = ACTIONS(3346),
    [anon_sym___END__] = ACTIONS(3346),
    [anon_sym_LBRACE] = ACTIONS(3346),
    [anon_sym_RBRACE] = ACTIONS(3346),
    [anon_sym_RPAREN] = ACTIONS(3346),
    [anon_sym_DOT] = ACTIONS(3350),
    [anon_sym_end] = ACTIONS(3346),
    [anon_sym_COMMA] = ACTIONS(3346),
    [anon_sym_PIPE] = ACTIONS(3350),
    [anon_sym_SEMI] = ACTIONS(3346),
    [anon_sym_STAR_STAR] = ACTIONS(3350),
    [anon_sym_AMP] = ACTIONS(3350),
    [anon_sym_EQ] = ACTIONS(3350),
    [anon_sym_LT] = ACTIONS(3350),
    [anon_sym_if] = ACTIONS(3346),
    [anon_sym_unless] = ACTIONS(3346),
    [anon_sym_while] = ACTIONS(3346),
    [anon_sym_until] = ACTIONS(3346),
    [anon_sym_rescue] = ACTIONS(3346),
    [anon_sym_do] = ACTIONS(3346),
    [anon_sym_when] = ACTIONS(3346),
    [anon_sym_elsif] = ACTIONS(3346),
    [anon_sym_else] = ACTIONS(3346),
    [anon_sym_then] = ACTIONS(3346),
    [anon_sym_ensure] = ACTIONS(3346),
    [anon_sym_AMP_DOT] = ACTIONS(3346),
    [anon_sym_PLUS_EQ] = ACTIONS(3346),
    [anon_sym_DASH_EQ] = ACTIONS(3346),
    [anon_sym_STAR_EQ] = ACTIONS(3346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3346),
    [anon_sym_SLASH_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3346),
    [anon_sym_AMP_EQ] = ACTIONS(3346),
    [anon_sym_PERCENT_EQ] = ACTIONS(3346),
    [anon_sym_GT_GT_EQ] = ACTIONS(3346),
    [anon_sym_LT_LT_EQ] = ACTIONS(3346),
    [anon_sym_CARET_EQ] = ACTIONS(3346),
    [anon_sym_QMARK] = ACTIONS(3346),
    [anon_sym_DOT_DOT] = ACTIONS(3350),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3346),
    [anon_sym_and] = ACTIONS(3346),
    [anon_sym_or] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE] = ACTIONS(3350),
    [anon_sym_AMP_AMP] = ACTIONS(3350),
    [anon_sym_LT_LT] = ACTIONS(3350),
    [anon_sym_GT_GT] = ACTIONS(3350),
    [anon_sym_EQ_EQ] = ACTIONS(3350),
    [anon_sym_BANG_EQ] = ACTIONS(3346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3346),
    [anon_sym_LT_EQ_GT] = ACTIONS(3346),
    [anon_sym_EQ_TILDE] = ACTIONS(3346),
    [anon_sym_BANG_TILDE] = ACTIONS(3346),
    [anon_sym_LT_EQ] = ACTIONS(3350),
    [anon_sym_GT] = ACTIONS(3350),
    [anon_sym_GT_EQ] = ACTIONS(3346),
    [anon_sym_CARET] = ACTIONS(3350),
    [anon_sym_PLUS] = ACTIONS(3350),
    [anon_sym_SLASH] = ACTIONS(3350),
    [anon_sym_PERCENT] = ACTIONS(3350),
    [sym_comment] = ACTIONS(256),
  },
  [603] = {
    [sym__simple_heredoc_body] = ACTIONS(968),
    [sym__heredoc_body_beginning] = ACTIONS(968),
    [sym__line_break] = ACTIONS(968),
    [sym__element_reference_left_bracket] = ACTIONS(968),
    [sym__scope_double_colon] = ACTIONS(968),
    [sym__binary_minus] = ACTIONS(968),
    [sym__binary_star] = ACTIONS(968),
    [ts_builtin_sym_end] = ACTIONS(968),
    [anon_sym___END__] = ACTIONS(968),
    [anon_sym_LBRACE] = ACTIONS(968),
    [anon_sym_RBRACE] = ACTIONS(968),
    [anon_sym_RPAREN] = ACTIONS(968),
    [anon_sym_DOT] = ACTIONS(976),
    [anon_sym_end] = ACTIONS(968),
    [anon_sym_COMMA] = ACTIONS(968),
    [anon_sym_PIPE] = ACTIONS(976),
    [anon_sym_SEMI] = ACTIONS(968),
    [anon_sym_STAR_STAR] = ACTIONS(976),
    [anon_sym_AMP] = ACTIONS(976),
    [anon_sym_EQ] = ACTIONS(976),
    [anon_sym_LT] = ACTIONS(976),
    [anon_sym_if] = ACTIONS(968),
    [anon_sym_unless] = ACTIONS(968),
    [anon_sym_while] = ACTIONS(968),
    [anon_sym_until] = ACTIONS(968),
    [anon_sym_rescue] = ACTIONS(968),
    [anon_sym_do] = ACTIONS(968),
    [anon_sym_when] = ACTIONS(968),
    [anon_sym_elsif] = ACTIONS(968),
    [anon_sym_else] = ACTIONS(968),
    [anon_sym_then] = ACTIONS(968),
    [anon_sym_ensure] = ACTIONS(968),
    [anon_sym_EQ_GT] = ACTIONS(968),
    [anon_sym_AMP_DOT] = ACTIONS(968),
    [anon_sym_PLUS_EQ] = ACTIONS(968),
    [anon_sym_DASH_EQ] = ACTIONS(968),
    [anon_sym_STAR_EQ] = ACTIONS(968),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(968),
    [anon_sym_SLASH_EQ] = ACTIONS(968),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(968),
    [anon_sym_PIPE_EQ] = ACTIONS(968),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(968),
    [anon_sym_AMP_EQ] = ACTIONS(968),
    [anon_sym_PERCENT_EQ] = ACTIONS(968),
    [anon_sym_GT_GT_EQ] = ACTIONS(968),
    [anon_sym_LT_LT_EQ] = ACTIONS(968),
    [anon_sym_CARET_EQ] = ACTIONS(968),
    [anon_sym_QMARK] = ACTIONS(968),
    [anon_sym_DOT_DOT] = ACTIONS(976),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(968),
    [anon_sym_and] = ACTIONS(968),
    [anon_sym_or] = ACTIONS(968),
    [anon_sym_PIPE_PIPE] = ACTIONS(976),
    [anon_sym_AMP_AMP] = ACTIONS(976),
    [anon_sym_LT_LT] = ACTIONS(976),
    [anon_sym_GT_GT] = ACTIONS(976),
    [anon_sym_EQ_EQ] = ACTIONS(976),
    [anon_sym_BANG_EQ] = ACTIONS(968),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(968),
    [anon_sym_LT_EQ_GT] = ACTIONS(968),
    [anon_sym_EQ_TILDE] = ACTIONS(968),
    [anon_sym_BANG_TILDE] = ACTIONS(968),
    [anon_sym_LT_EQ] = ACTIONS(976),
    [anon_sym_GT] = ACTIONS(976),
    [anon_sym_GT_EQ] = ACTIONS(968),
    [anon_sym_CARET] = ACTIONS(976),
    [anon_sym_PLUS] = ACTIONS(976),
    [anon_sym_SLASH] = ACTIONS(976),
    [anon_sym_PERCENT] = ACTIONS(976),
    [sym_comment] = ACTIONS(256),
  },
  [604] = {
    [anon_sym_EQ] = ACTIONS(3360),
    [sym_comment] = ACTIONS(256),
  },
  [605] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [ts_builtin_sym_end] = ACTIONS(250),
    [anon_sym___END__] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(3362),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(3364),
    [anon_sym_DASH_EQ] = ACTIONS(3364),
    [anon_sym_STAR_EQ] = ACTIONS(3364),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3364),
    [anon_sym_SLASH_EQ] = ACTIONS(3364),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3364),
    [anon_sym_PIPE_EQ] = ACTIONS(3364),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3364),
    [anon_sym_AMP_EQ] = ACTIONS(3364),
    [anon_sym_PERCENT_EQ] = ACTIONS(3364),
    [anon_sym_GT_GT_EQ] = ACTIONS(3364),
    [anon_sym_LT_LT_EQ] = ACTIONS(3364),
    [anon_sym_CARET_EQ] = ACTIONS(3364),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [606] = {
    [sym__keyword_colon] = ACTIONS(3366),
    [sym_comment] = ACTIONS(110),
  },
  [607] = {
    [sym_string] = STATE(2203),
    [aux_sym_chained_string_repeat1] = STATE(2204),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(3308),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [ts_builtin_sym_end] = ACTIONS(250),
    [anon_sym___END__] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(3266),
  },
  [608] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2210),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_splat_argument] = STATE(2211),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_right_assignment_list] = STATE(2212),
    [sym__arg_or_splat_arg] = STATE(2213),
    [sym_left_assignment_list] = STATE(2214),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2215),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(3368),
    [sym__unary_minus] = ACTIONS(3370),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(3372),
    [anon_sym_defined_QMARK] = ACTIONS(3374),
    [anon_sym_not] = ACTIONS(3376),
    [anon_sym_BANG] = ACTIONS(3378),
    [anon_sym_TILDE] = ACTIONS(3378),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [609] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(285),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(287),
    [sym_call] = STATE(287),
    [sym_method_call] = STATE(286),
    [sym__mlhs] = STATE(2216),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(384),
    [sym__variable] = STATE(287),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(658),
    [anon_sym_COLON_COLON] = ACTIONS(460),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_EQ] = ACTIONS(3380),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(494),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [610] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2217),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(64),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(68),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(32),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(84),
    [anon_sym_defined_QMARK] = ACTIONS(86),
    [anon_sym_not] = ACTIONS(88),
    [anon_sym_BANG] = ACTIONS(90),
    [anon_sym_TILDE] = ACTIONS(90),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [611] = {
    [sym__simple_string] = ACTIONS(3382),
    [sym__simple_heredoc_body] = ACTIONS(3382),
    [sym__string_beginning] = ACTIONS(3382),
    [sym__heredoc_body_beginning] = ACTIONS(3382),
    [sym__line_break] = ACTIONS(3382),
    [sym__element_reference_left_bracket] = ACTIONS(3382),
    [sym__scope_double_colon] = ACTIONS(3382),
    [sym__binary_minus] = ACTIONS(3382),
    [sym__binary_star] = ACTIONS(3382),
    [ts_builtin_sym_end] = ACTIONS(3382),
    [anon_sym___END__] = ACTIONS(3382),
    [anon_sym_LBRACE] = ACTIONS(3382),
    [anon_sym_RBRACE] = ACTIONS(3382),
    [anon_sym_RPAREN] = ACTIONS(3382),
    [anon_sym_DOT] = ACTIONS(3384),
    [anon_sym_end] = ACTIONS(3382),
    [anon_sym_COMMA] = ACTIONS(3382),
    [anon_sym_PIPE] = ACTIONS(3384),
    [anon_sym_SEMI] = ACTIONS(3382),
    [anon_sym_STAR_STAR] = ACTIONS(3382),
    [anon_sym_AMP] = ACTIONS(3384),
    [anon_sym_LT] = ACTIONS(3384),
    [anon_sym_if] = ACTIONS(3382),
    [anon_sym_unless] = ACTIONS(3382),
    [anon_sym_while] = ACTIONS(3382),
    [anon_sym_until] = ACTIONS(3382),
    [anon_sym_rescue] = ACTIONS(3382),
    [anon_sym_do] = ACTIONS(3382),
    [anon_sym_when] = ACTIONS(3382),
    [anon_sym_elsif] = ACTIONS(3382),
    [anon_sym_else] = ACTIONS(3382),
    [anon_sym_then] = ACTIONS(3382),
    [anon_sym_ensure] = ACTIONS(3382),
    [anon_sym_EQ_GT] = ACTIONS(3382),
    [anon_sym_AMP_DOT] = ACTIONS(3382),
    [anon_sym_QMARK] = ACTIONS(3384),
    [anon_sym_DOT_DOT] = ACTIONS(3384),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3382),
    [anon_sym_and] = ACTIONS(3382),
    [anon_sym_or] = ACTIONS(3382),
    [anon_sym_PIPE_PIPE] = ACTIONS(3382),
    [anon_sym_AMP_AMP] = ACTIONS(3382),
    [anon_sym_LT_LT] = ACTIONS(3382),
    [anon_sym_GT_GT] = ACTIONS(3382),
    [anon_sym_EQ_EQ] = ACTIONS(3384),
    [anon_sym_BANG_EQ] = ACTIONS(3382),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3382),
    [anon_sym_LT_EQ_GT] = ACTIONS(3382),
    [anon_sym_EQ_TILDE] = ACTIONS(3382),
    [anon_sym_BANG_TILDE] = ACTIONS(3382),
    [anon_sym_LT_EQ] = ACTIONS(3384),
    [anon_sym_GT] = ACTIONS(3384),
    [anon_sym_GT_EQ] = ACTIONS(3382),
    [anon_sym_CARET] = ACTIONS(3382),
    [anon_sym_PLUS] = ACTIONS(3382),
    [anon_sym_SLASH] = ACTIONS(3382),
    [anon_sym_PERCENT] = ACTIONS(3382),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(3384),
  },
  [612] = {
    [sym_string] = STATE(2218),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_heredoc_body] = ACTIONS(3386),
    [sym__string_beginning] = ACTIONS(20),
    [sym__heredoc_body_beginning] = ACTIONS(3386),
    [sym__line_break] = ACTIONS(3386),
    [sym__element_reference_left_bracket] = ACTIONS(3386),
    [sym__scope_double_colon] = ACTIONS(3386),
    [sym__binary_minus] = ACTIONS(3386),
    [sym__binary_star] = ACTIONS(3386),
    [ts_builtin_sym_end] = ACTIONS(3386),
    [anon_sym___END__] = ACTIONS(3386),
    [anon_sym_LBRACE] = ACTIONS(3386),
    [anon_sym_RBRACE] = ACTIONS(3386),
    [anon_sym_RPAREN] = ACTIONS(3386),
    [anon_sym_DOT] = ACTIONS(3388),
    [anon_sym_end] = ACTIONS(3386),
    [anon_sym_COMMA] = ACTIONS(3386),
    [anon_sym_PIPE] = ACTIONS(3388),
    [anon_sym_SEMI] = ACTIONS(3386),
    [anon_sym_STAR_STAR] = ACTIONS(3386),
    [anon_sym_AMP] = ACTIONS(3388),
    [anon_sym_LT] = ACTIONS(3388),
    [anon_sym_if] = ACTIONS(3386),
    [anon_sym_unless] = ACTIONS(3386),
    [anon_sym_while] = ACTIONS(3386),
    [anon_sym_until] = ACTIONS(3386),
    [anon_sym_rescue] = ACTIONS(3386),
    [anon_sym_do] = ACTIONS(3386),
    [anon_sym_when] = ACTIONS(3386),
    [anon_sym_elsif] = ACTIONS(3386),
    [anon_sym_else] = ACTIONS(3386),
    [anon_sym_then] = ACTIONS(3386),
    [anon_sym_ensure] = ACTIONS(3386),
    [anon_sym_EQ_GT] = ACTIONS(3386),
    [anon_sym_AMP_DOT] = ACTIONS(3386),
    [anon_sym_QMARK] = ACTIONS(3388),
    [anon_sym_DOT_DOT] = ACTIONS(3388),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3386),
    [anon_sym_and] = ACTIONS(3386),
    [anon_sym_or] = ACTIONS(3386),
    [anon_sym_PIPE_PIPE] = ACTIONS(3386),
    [anon_sym_AMP_AMP] = ACTIONS(3386),
    [anon_sym_LT_LT] = ACTIONS(3386),
    [anon_sym_GT_GT] = ACTIONS(3386),
    [anon_sym_EQ_EQ] = ACTIONS(3388),
    [anon_sym_BANG_EQ] = ACTIONS(3386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3386),
    [anon_sym_LT_EQ_GT] = ACTIONS(3386),
    [anon_sym_EQ_TILDE] = ACTIONS(3386),
    [anon_sym_BANG_TILDE] = ACTIONS(3386),
    [anon_sym_LT_EQ] = ACTIONS(3388),
    [anon_sym_GT] = ACTIONS(3388),
    [anon_sym_GT_EQ] = ACTIONS(3386),
    [anon_sym_CARET] = ACTIONS(3386),
    [anon_sym_PLUS] = ACTIONS(3386),
    [anon_sym_SLASH] = ACTIONS(3386),
    [anon_sym_PERCENT] = ACTIONS(3386),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(120),
  },
  [613] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(3390),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [614] = {
    [sym__statement] = STATE(2220),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [615] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(3392),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [616] = {
    [sym__statement] = STATE(2222),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [617] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(3394),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [618] = {
    [sym__statement] = STATE(2224),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [619] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(3396),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [620] = {
    [sym__statement] = STATE(2226),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [621] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(3398),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [622] = {
    [sym__statement] = STATE(2228),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [623] = {
    [sym__string_middle] = ACTIONS(1372),
    [sym__string_end] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_STAR_STAR] = ACTIONS(1240),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_if] = ACTIONS(1372),
    [anon_sym_unless] = ACTIONS(1372),
    [anon_sym_while] = ACTIONS(1372),
    [anon_sym_until] = ACTIONS(1372),
    [anon_sym_rescue] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [624] = {
    [sym__string_middle] = ACTIONS(1552),
    [sym__string_end] = ACTIONS(1552),
    [sym__element_reference_left_bracket] = ACTIONS(1552),
    [sym__scope_double_colon] = ACTIONS(1552),
    [sym__binary_minus] = ACTIONS(1552),
    [sym__binary_star] = ACTIONS(1552),
    [anon_sym_DOT] = ACTIONS(1554),
    [anon_sym_COMMA] = ACTIONS(1552),
    [anon_sym_PIPE] = ACTIONS(1554),
    [anon_sym_STAR_STAR] = ACTIONS(1552),
    [anon_sym_AMP] = ACTIONS(1554),
    [anon_sym_LT] = ACTIONS(1554),
    [anon_sym_if] = ACTIONS(1552),
    [anon_sym_unless] = ACTIONS(1552),
    [anon_sym_while] = ACTIONS(1552),
    [anon_sym_until] = ACTIONS(1552),
    [anon_sym_rescue] = ACTIONS(1552),
    [anon_sym_AMP_DOT] = ACTIONS(1552),
    [anon_sym_QMARK] = ACTIONS(1552),
    [anon_sym_DOT_DOT] = ACTIONS(1554),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1552),
    [anon_sym_and] = ACTIONS(1552),
    [anon_sym_or] = ACTIONS(1552),
    [anon_sym_PIPE_PIPE] = ACTIONS(1552),
    [anon_sym_AMP_AMP] = ACTIONS(1552),
    [anon_sym_LT_LT] = ACTIONS(1552),
    [anon_sym_GT_GT] = ACTIONS(1552),
    [anon_sym_EQ_EQ] = ACTIONS(1554),
    [anon_sym_BANG_EQ] = ACTIONS(1552),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1552),
    [anon_sym_LT_EQ_GT] = ACTIONS(1552),
    [anon_sym_EQ_TILDE] = ACTIONS(1552),
    [anon_sym_BANG_TILDE] = ACTIONS(1552),
    [anon_sym_LT_EQ] = ACTIONS(1554),
    [anon_sym_GT] = ACTIONS(1554),
    [anon_sym_GT_EQ] = ACTIONS(1552),
    [anon_sym_CARET] = ACTIONS(1552),
    [anon_sym_PLUS] = ACTIONS(1552),
    [anon_sym_SLASH] = ACTIONS(1552),
    [anon_sym_PERCENT] = ACTIONS(1552),
    [sym_comment] = ACTIONS(110),
  },
  [625] = {
    [anon_sym_RBRACE] = ACTIONS(3400),
    [sym_comment] = ACTIONS(110),
  },
  [626] = {
    [sym_heredoc_end] = STATE(2230),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RBRACE] = ACTIONS(3400),
    [sym_comment] = ACTIONS(110),
  },
  [627] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(2231),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(1139),
    [sym_call] = STATE(1139),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(1140),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1141),
    [sym__variable] = STATE(1139),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(1822),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_yield] = ACTIONS(1828),
    [anon_sym_break] = ACTIONS(1830),
    [anon_sym_next] = ACTIONS(1832),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(1834),
    [anon_sym_defined_QMARK] = ACTIONS(1836),
    [anon_sym_not] = ACTIONS(1838),
    [anon_sym_BANG] = ACTIONS(1840),
    [anon_sym_TILDE] = ACTIONS(1840),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [628] = {
    [sym__string_middle] = ACTIONS(1866),
    [sym__string_end] = ACTIONS(1866),
    [sym__element_reference_left_bracket] = ACTIONS(1866),
    [sym__scope_double_colon] = ACTIONS(1866),
    [sym__binary_minus] = ACTIONS(1866),
    [sym__binary_star] = ACTIONS(1866),
    [anon_sym_DOT] = ACTIONS(1868),
    [anon_sym_COMMA] = ACTIONS(1866),
    [anon_sym_PIPE] = ACTIONS(1868),
    [anon_sym_STAR_STAR] = ACTIONS(1866),
    [anon_sym_AMP] = ACTIONS(1868),
    [anon_sym_LT] = ACTIONS(1868),
    [anon_sym_if] = ACTIONS(1866),
    [anon_sym_unless] = ACTIONS(1866),
    [anon_sym_while] = ACTIONS(1866),
    [anon_sym_until] = ACTIONS(1866),
    [anon_sym_rescue] = ACTIONS(1866),
    [anon_sym_AMP_DOT] = ACTIONS(1866),
    [anon_sym_QMARK] = ACTIONS(1866),
    [anon_sym_DOT_DOT] = ACTIONS(1868),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1866),
    [anon_sym_and] = ACTIONS(1866),
    [anon_sym_or] = ACTIONS(1866),
    [anon_sym_PIPE_PIPE] = ACTIONS(1866),
    [anon_sym_AMP_AMP] = ACTIONS(1866),
    [anon_sym_LT_LT] = ACTIONS(1866),
    [anon_sym_GT_GT] = ACTIONS(1866),
    [anon_sym_EQ_EQ] = ACTIONS(1868),
    [anon_sym_BANG_EQ] = ACTIONS(1866),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1866),
    [anon_sym_LT_EQ_GT] = ACTIONS(1866),
    [anon_sym_EQ_TILDE] = ACTIONS(1866),
    [anon_sym_BANG_TILDE] = ACTIONS(1866),
    [anon_sym_LT_EQ] = ACTIONS(1868),
    [anon_sym_GT] = ACTIONS(1868),
    [anon_sym_GT_EQ] = ACTIONS(1866),
    [anon_sym_CARET] = ACTIONS(1866),
    [anon_sym_PLUS] = ACTIONS(1866),
    [anon_sym_SLASH] = ACTIONS(1866),
    [anon_sym_PERCENT] = ACTIONS(1866),
    [sym_comment] = ACTIONS(110),
  },
  [629] = {
    [anon_sym_DOT] = ACTIONS(3402),
    [anon_sym_COLON_COLON] = ACTIONS(3402),
    [sym_comment] = ACTIONS(110),
  },
  [630] = {
    [sym_method_parameters] = STATE(2233),
    [sym__simple_formal_parameter] = STATE(1150),
    [sym_splat_parameter] = STATE(1151),
    [sym_hash_splat_parameter] = STATE(1151),
    [sym_block_parameter] = STATE(1151),
    [sym_keyword_parameter] = STATE(1151),
    [sym_optional_parameter] = STATE(1151),
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(2233),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym__line_break] = ACTIONS(692),
    [anon_sym_LPAREN] = ACTIONS(1872),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(1874),
    [anon_sym_STAR_STAR] = ACTIONS(1876),
    [anon_sym_AMP] = ACTIONS(1878),
    [sym_identifier] = ACTIONS(1880),
    [sym_comment] = ACTIONS(110),
  },
  [631] = {
    [sym__string_middle] = ACTIONS(1882),
    [sym__string_end] = ACTIONS(1882),
    [sym__element_reference_left_bracket] = ACTIONS(1882),
    [sym__scope_double_colon] = ACTIONS(1882),
    [sym__binary_minus] = ACTIONS(1882),
    [sym__binary_star] = ACTIONS(1882),
    [anon_sym_DOT] = ACTIONS(1884),
    [anon_sym_COMMA] = ACTIONS(1882),
    [anon_sym_PIPE] = ACTIONS(1884),
    [anon_sym_STAR_STAR] = ACTIONS(1882),
    [anon_sym_AMP] = ACTIONS(1884),
    [anon_sym_LT] = ACTIONS(1884),
    [anon_sym_if] = ACTIONS(1882),
    [anon_sym_unless] = ACTIONS(1882),
    [anon_sym_while] = ACTIONS(1882),
    [anon_sym_until] = ACTIONS(1882),
    [anon_sym_rescue] = ACTIONS(1882),
    [anon_sym_AMP_DOT] = ACTIONS(1882),
    [anon_sym_QMARK] = ACTIONS(1882),
    [anon_sym_DOT_DOT] = ACTIONS(1884),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1882),
    [anon_sym_and] = ACTIONS(1882),
    [anon_sym_or] = ACTIONS(1882),
    [anon_sym_PIPE_PIPE] = ACTIONS(1882),
    [anon_sym_AMP_AMP] = ACTIONS(1882),
    [anon_sym_LT_LT] = ACTIONS(1882),
    [anon_sym_GT_GT] = ACTIONS(1882),
    [anon_sym_EQ_EQ] = ACTIONS(1884),
    [anon_sym_BANG_EQ] = ACTIONS(1882),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1882),
    [anon_sym_LT_EQ_GT] = ACTIONS(1882),
    [anon_sym_EQ_TILDE] = ACTIONS(1882),
    [anon_sym_BANG_TILDE] = ACTIONS(1882),
    [anon_sym_LT_EQ] = ACTIONS(1884),
    [anon_sym_GT] = ACTIONS(1884),
    [anon_sym_GT_EQ] = ACTIONS(1882),
    [anon_sym_CARET] = ACTIONS(1882),
    [anon_sym_PLUS] = ACTIONS(1882),
    [anon_sym_SLASH] = ACTIONS(1882),
    [anon_sym_PERCENT] = ACTIONS(1882),
    [sym_comment] = ACTIONS(110),
  },
  [632] = {
    [anon_sym_RPAREN] = ACTIONS(3404),
    [sym_comment] = ACTIONS(110),
  },
  [633] = {
    [sym__simple_string] = ACTIONS(2010),
    [sym__simple_symbol] = ACTIONS(2010),
    [sym__simple_subshell] = ACTIONS(2010),
    [sym__simple_regex] = ACTIONS(2010),
    [sym__simple_word_list] = ACTIONS(2010),
    [sym__string_beginning] = ACTIONS(2010),
    [sym__symbol_beginning] = ACTIONS(2010),
    [sym__subshell_beginning] = ACTIONS(2010),
    [sym__regex_beginning] = ACTIONS(2010),
    [sym__word_list_beginning] = ACTIONS(2010),
    [sym__string_middle] = ACTIONS(2010),
    [sym__string_end] = ACTIONS(2010),
    [sym_heredoc_beginning] = ACTIONS(2010),
    [sym__element_reference_left_bracket] = ACTIONS(2010),
    [sym__block_ampersand] = ACTIONS(2010),
    [sym__splat_star] = ACTIONS(2010),
    [sym__argument_list_left_paren] = ACTIONS(2010),
    [sym__scope_double_colon] = ACTIONS(2010),
    [sym__unary_minus] = ACTIONS(2010),
    [sym__binary_minus] = ACTIONS(2010),
    [sym__binary_star] = ACTIONS(2010),
    [anon_sym_LBRACE] = ACTIONS(2010),
    [anon_sym_def] = ACTIONS(2012),
    [anon_sym_LPAREN] = ACTIONS(2010),
    [anon_sym_DOT] = ACTIONS(2012),
    [anon_sym_COLON_COLON] = ACTIONS(2010),
    [anon_sym_end] = ACTIONS(2012),
    [anon_sym_COMMA] = ACTIONS(2010),
    [anon_sym_PIPE] = ACTIONS(2012),
    [anon_sym_STAR] = ACTIONS(2012),
    [anon_sym_STAR_STAR] = ACTIONS(2012),
    [anon_sym_AMP] = ACTIONS(2012),
    [anon_sym_EQ] = ACTIONS(2012),
    [anon_sym_class] = ACTIONS(2012),
    [anon_sym_LT] = ACTIONS(2012),
    [anon_sym_module] = ACTIONS(2012),
    [anon_sym_return] = ACTIONS(2012),
    [anon_sym_yield] = ACTIONS(2012),
    [anon_sym_break] = ACTIONS(2012),
    [anon_sym_next] = ACTIONS(2012),
    [anon_sym_redo] = ACTIONS(2012),
    [anon_sym_retry] = ACTIONS(2012),
    [anon_sym_if] = ACTIONS(2012),
    [anon_sym_unless] = ACTIONS(2012),
    [anon_sym_while] = ACTIONS(2012),
    [anon_sym_until] = ACTIONS(2012),
    [anon_sym_rescue] = ACTIONS(2012),
    [anon_sym_for] = ACTIONS(2012),
    [anon_sym_in] = ACTIONS(2012),
    [anon_sym_do] = ACTIONS(2012),
    [anon_sym_case] = ACTIONS(2012),
    [anon_sym_when] = ACTIONS(2012),
    [anon_sym_elsif] = ACTIONS(2012),
    [anon_sym_else] = ACTIONS(2012),
    [anon_sym_then] = ACTIONS(2012),
    [anon_sym_begin] = ACTIONS(2012),
    [anon_sym_ensure] = ACTIONS(2012),
    [anon_sym_AMP_DOT] = ACTIONS(2010),
    [anon_sym_PLUS_EQ] = ACTIONS(2010),
    [anon_sym_DASH_EQ] = ACTIONS(2010),
    [anon_sym_STAR_EQ] = ACTIONS(2010),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2010),
    [anon_sym_SLASH_EQ] = ACTIONS(2010),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2010),
    [anon_sym_PIPE_EQ] = ACTIONS(2010),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2010),
    [anon_sym_AMP_EQ] = ACTIONS(2010),
    [anon_sym_PERCENT_EQ] = ACTIONS(2010),
    [anon_sym_GT_GT_EQ] = ACTIONS(2010),
    [anon_sym_LT_LT_EQ] = ACTIONS(2010),
    [anon_sym_CARET_EQ] = ACTIONS(2010),
    [anon_sym_QMARK] = ACTIONS(2012),
    [anon_sym_DOT_DOT] = ACTIONS(2012),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2010),
    [anon_sym_and] = ACTIONS(2012),
    [anon_sym_or] = ACTIONS(2012),
    [anon_sym_PIPE_PIPE] = ACTIONS(2012),
    [anon_sym_AMP_AMP] = ACTIONS(2012),
    [anon_sym_LT_LT] = ACTIONS(2012),
    [anon_sym_GT_GT] = ACTIONS(2012),
    [anon_sym_EQ_EQ] = ACTIONS(2012),
    [anon_sym_BANG_EQ] = ACTIONS(2010),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2010),
    [anon_sym_LT_EQ_GT] = ACTIONS(2010),
    [anon_sym_EQ_TILDE] = ACTIONS(2010),
    [anon_sym_BANG_TILDE] = ACTIONS(2010),
    [anon_sym_LT_EQ] = ACTIONS(2012),
    [anon_sym_GT] = ACTIONS(2012),
    [anon_sym_GT_EQ] = ACTIONS(2010),
    [anon_sym_CARET] = ACTIONS(2012),
    [anon_sym_PLUS] = ACTIONS(2012),
    [anon_sym_SLASH] = ACTIONS(2012),
    [anon_sym_PERCENT] = ACTIONS(2012),
    [anon_sym_defined_QMARK] = ACTIONS(2010),
    [anon_sym_not] = ACTIONS(2012),
    [anon_sym_BANG] = ACTIONS(2012),
    [anon_sym_TILDE] = ACTIONS(2010),
    [sym_constant] = ACTIONS(2014),
    [sym_identifier] = ACTIONS(2014),
    [sym_instance_variable] = ACTIONS(2012),
    [sym_class_variable] = ACTIONS(2012),
    [sym_global_variable] = ACTIONS(2012),
    [anon_sym_alias] = ACTIONS(2012),
    [anon_sym_defined] = ACTIONS(2012),
    [anon_sym_false] = ACTIONS(2012),
    [anon_sym_nil] = ACTIONS(2012),
    [anon_sym_self] = ACTIONS(2012),
    [anon_sym_super] = ACTIONS(2012),
    [anon_sym_true] = ACTIONS(2012),
    [anon_sym_undef] = ACTIONS(2012),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(2012),
    [sym_float] = ACTIONS(2014),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(2010),
    [anon_sym_TRUE] = ACTIONS(2012),
    [anon_sym_FALSE] = ACTIONS(2012),
    [anon_sym_NIL] = ACTIONS(2012),
    [sym_keyword__FILE__] = ACTIONS(2012),
    [sym_keyword__LINE__] = ACTIONS(2012),
    [sym_keyword__ENCODING__] = ACTIONS(2012),
    [sym__character_literal] = ACTIONS(2012),
    [anon_sym_LBRACK] = ACTIONS(2010),
    [anon_sym_DASH_GT] = ACTIONS(2010),
  },
  [634] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2235),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1329),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1330),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2090),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2100),
    [anon_sym_defined_QMARK] = ACTIONS(2102),
    [anon_sym_not] = ACTIONS(2104),
    [anon_sym_BANG] = ACTIONS(2106),
    [anon_sym_TILDE] = ACTIONS(2106),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [635] = {
    [sym_superclass] = STATE(2236),
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(2237),
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__unary_minus] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(722),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(722),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(2110),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(722),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [636] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_superclass] = STATE(2236),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1349),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1310),
    [sym__argument_list_with_parens] = STATE(1264),
    [sym__argument] = STATE(1350),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_do_block] = STATE(1312),
    [sym_block] = STATE(1312),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1353),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1354),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__terminator] = STATE(2237),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(2114),
    [sym__splat_star] = ACTIONS(2116),
    [sym__argument_list_left_paren] = ACTIONS(2034),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(2064),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(980),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2120),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(2110),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(2076),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2138),
    [sym_identifier] = ACTIONS(2138),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [637] = {
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(2239),
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__unary_minus] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(722),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(3406),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(722),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(722),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [638] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1349),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1310),
    [sym__argument_list_with_parens] = STATE(1264),
    [sym__argument] = STATE(1350),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_do_block] = STATE(1312),
    [sym_block] = STATE(1312),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1353),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1354),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__terminator] = STATE(2239),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(2114),
    [sym__splat_star] = ACTIONS(2116),
    [sym__argument_list_left_paren] = ACTIONS(2034),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(2064),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(980),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(3408),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2120),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(2076),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2138),
    [sym_identifier] = ACTIONS(2138),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [639] = {
    [sym__simple_string] = ACTIONS(126),
    [sym__simple_heredoc_body] = ACTIONS(126),
    [sym__string_beginning] = ACTIONS(126),
    [sym__heredoc_body_beginning] = ACTIONS(126),
    [sym__string_middle] = ACTIONS(126),
    [sym__string_end] = ACTIONS(126),
    [sym__element_reference_left_bracket] = ACTIONS(126),
    [sym__scope_double_colon] = ACTIONS(126),
    [sym__keyword_colon] = ACTIONS(126),
    [sym__binary_minus] = ACTIONS(126),
    [sym__binary_star] = ACTIONS(126),
    [anon_sym_DOT] = ACTIONS(128),
    [anon_sym_COMMA] = ACTIONS(126),
    [anon_sym_PIPE] = ACTIONS(128),
    [anon_sym_STAR_STAR] = ACTIONS(126),
    [anon_sym_AMP] = ACTIONS(128),
    [anon_sym_LT] = ACTIONS(128),
    [anon_sym_if] = ACTIONS(126),
    [anon_sym_unless] = ACTIONS(126),
    [anon_sym_while] = ACTIONS(126),
    [anon_sym_until] = ACTIONS(126),
    [anon_sym_rescue] = ACTIONS(126),
    [anon_sym_EQ_GT] = ACTIONS(126),
    [anon_sym_AMP_DOT] = ACTIONS(126),
    [anon_sym_QMARK] = ACTIONS(128),
    [anon_sym_DOT_DOT] = ACTIONS(128),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(126),
    [anon_sym_and] = ACTIONS(126),
    [anon_sym_or] = ACTIONS(126),
    [anon_sym_PIPE_PIPE] = ACTIONS(126),
    [anon_sym_AMP_AMP] = ACTIONS(126),
    [anon_sym_LT_LT] = ACTIONS(126),
    [anon_sym_GT_GT] = ACTIONS(126),
    [anon_sym_EQ_EQ] = ACTIONS(128),
    [anon_sym_BANG_EQ] = ACTIONS(126),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(126),
    [anon_sym_LT_EQ_GT] = ACTIONS(126),
    [anon_sym_EQ_TILDE] = ACTIONS(126),
    [anon_sym_BANG_TILDE] = ACTIONS(126),
    [anon_sym_LT_EQ] = ACTIONS(128),
    [anon_sym_GT] = ACTIONS(128),
    [anon_sym_GT_EQ] = ACTIONS(126),
    [anon_sym_CARET] = ACTIONS(126),
    [anon_sym_PLUS] = ACTIONS(126),
    [anon_sym_SLASH] = ACTIONS(126),
    [anon_sym_PERCENT] = ACTIONS(126),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(128),
  },
  [640] = {
    [sym__simple_heredoc_body] = ACTIONS(130),
    [sym__heredoc_body_beginning] = ACTIONS(130),
    [sym__string_middle] = ACTIONS(130),
    [sym__string_end] = ACTIONS(130),
    [sym__element_reference_left_bracket] = ACTIONS(130),
    [sym__scope_double_colon] = ACTIONS(130),
    [sym__binary_minus] = ACTIONS(130),
    [sym__binary_star] = ACTIONS(130),
    [anon_sym_DOT] = ACTIONS(132),
    [anon_sym_COMMA] = ACTIONS(130),
    [anon_sym_PIPE] = ACTIONS(132),
    [anon_sym_STAR_STAR] = ACTIONS(130),
    [anon_sym_AMP] = ACTIONS(132),
    [anon_sym_LT] = ACTIONS(132),
    [anon_sym_if] = ACTIONS(130),
    [anon_sym_unless] = ACTIONS(130),
    [anon_sym_while] = ACTIONS(130),
    [anon_sym_until] = ACTIONS(130),
    [anon_sym_rescue] = ACTIONS(130),
    [anon_sym_EQ_GT] = ACTIONS(130),
    [anon_sym_AMP_DOT] = ACTIONS(130),
    [anon_sym_QMARK] = ACTIONS(130),
    [anon_sym_DOT_DOT] = ACTIONS(132),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(130),
    [anon_sym_and] = ACTIONS(130),
    [anon_sym_or] = ACTIONS(130),
    [anon_sym_PIPE_PIPE] = ACTIONS(130),
    [anon_sym_AMP_AMP] = ACTIONS(130),
    [anon_sym_LT_LT] = ACTIONS(130),
    [anon_sym_GT_GT] = ACTIONS(130),
    [anon_sym_EQ_EQ] = ACTIONS(132),
    [anon_sym_BANG_EQ] = ACTIONS(130),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(130),
    [anon_sym_LT_EQ_GT] = ACTIONS(130),
    [anon_sym_EQ_TILDE] = ACTIONS(130),
    [anon_sym_BANG_TILDE] = ACTIONS(130),
    [anon_sym_LT_EQ] = ACTIONS(132),
    [anon_sym_GT] = ACTIONS(132),
    [anon_sym_GT_EQ] = ACTIONS(130),
    [anon_sym_CARET] = ACTIONS(130),
    [anon_sym_PLUS] = ACTIONS(130),
    [anon_sym_SLASH] = ACTIONS(130),
    [anon_sym_PERCENT] = ACTIONS(130),
    [sym_comment] = ACTIONS(110),
  },
  [641] = {
    [sym__simple_heredoc_body] = ACTIONS(134),
    [sym__heredoc_body_beginning] = ACTIONS(134),
    [sym__string_middle] = ACTIONS(134),
    [sym__string_end] = ACTIONS(134),
    [sym__element_reference_left_bracket] = ACTIONS(134),
    [sym__scope_double_colon] = ACTIONS(134),
    [sym__binary_minus] = ACTIONS(134),
    [sym__binary_star] = ACTIONS(134),
    [anon_sym_DOT] = ACTIONS(136),
    [anon_sym_COMMA] = ACTIONS(134),
    [anon_sym_PIPE] = ACTIONS(136),
    [anon_sym_STAR_STAR] = ACTIONS(134),
    [anon_sym_AMP] = ACTIONS(136),
    [anon_sym_LT] = ACTIONS(136),
    [anon_sym_if] = ACTIONS(134),
    [anon_sym_unless] = ACTIONS(134),
    [anon_sym_while] = ACTIONS(134),
    [anon_sym_until] = ACTIONS(134),
    [anon_sym_rescue] = ACTIONS(134),
    [anon_sym_EQ_GT] = ACTIONS(134),
    [anon_sym_AMP_DOT] = ACTIONS(134),
    [anon_sym_QMARK] = ACTIONS(134),
    [anon_sym_DOT_DOT] = ACTIONS(136),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(134),
    [anon_sym_and] = ACTIONS(134),
    [anon_sym_or] = ACTIONS(134),
    [anon_sym_PIPE_PIPE] = ACTIONS(134),
    [anon_sym_AMP_AMP] = ACTIONS(134),
    [anon_sym_LT_LT] = ACTIONS(134),
    [anon_sym_GT_GT] = ACTIONS(134),
    [anon_sym_EQ_EQ] = ACTIONS(136),
    [anon_sym_BANG_EQ] = ACTIONS(134),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(134),
    [anon_sym_LT_EQ_GT] = ACTIONS(134),
    [anon_sym_EQ_TILDE] = ACTIONS(134),
    [anon_sym_BANG_TILDE] = ACTIONS(134),
    [anon_sym_LT_EQ] = ACTIONS(136),
    [anon_sym_GT] = ACTIONS(136),
    [anon_sym_GT_EQ] = ACTIONS(134),
    [anon_sym_CARET] = ACTIONS(134),
    [anon_sym_PLUS] = ACTIONS(134),
    [anon_sym_SLASH] = ACTIONS(134),
    [anon_sym_PERCENT] = ACTIONS(134),
    [sym_comment] = ACTIONS(110),
  },
  [642] = {
    [sym__simple_heredoc_body] = ACTIONS(138),
    [sym__heredoc_body_beginning] = ACTIONS(138),
    [sym__string_middle] = ACTIONS(138),
    [sym__string_end] = ACTIONS(138),
    [sym__element_reference_left_bracket] = ACTIONS(138),
    [sym__scope_double_colon] = ACTIONS(138),
    [sym__binary_minus] = ACTIONS(138),
    [sym__binary_star] = ACTIONS(138),
    [anon_sym_DOT] = ACTIONS(140),
    [anon_sym_COMMA] = ACTIONS(138),
    [anon_sym_PIPE] = ACTIONS(140),
    [anon_sym_STAR_STAR] = ACTIONS(138),
    [anon_sym_AMP] = ACTIONS(140),
    [anon_sym_LT] = ACTIONS(140),
    [anon_sym_if] = ACTIONS(138),
    [anon_sym_unless] = ACTIONS(138),
    [anon_sym_while] = ACTIONS(138),
    [anon_sym_until] = ACTIONS(138),
    [anon_sym_rescue] = ACTIONS(138),
    [anon_sym_EQ_GT] = ACTIONS(138),
    [anon_sym_AMP_DOT] = ACTIONS(138),
    [anon_sym_QMARK] = ACTIONS(138),
    [anon_sym_DOT_DOT] = ACTIONS(140),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(138),
    [anon_sym_and] = ACTIONS(138),
    [anon_sym_or] = ACTIONS(138),
    [anon_sym_PIPE_PIPE] = ACTIONS(138),
    [anon_sym_AMP_AMP] = ACTIONS(138),
    [anon_sym_LT_LT] = ACTIONS(138),
    [anon_sym_GT_GT] = ACTIONS(138),
    [anon_sym_EQ_EQ] = ACTIONS(140),
    [anon_sym_BANG_EQ] = ACTIONS(138),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(138),
    [anon_sym_LT_EQ_GT] = ACTIONS(138),
    [anon_sym_EQ_TILDE] = ACTIONS(138),
    [anon_sym_BANG_TILDE] = ACTIONS(138),
    [anon_sym_LT_EQ] = ACTIONS(140),
    [anon_sym_GT] = ACTIONS(140),
    [anon_sym_GT_EQ] = ACTIONS(138),
    [anon_sym_CARET] = ACTIONS(138),
    [anon_sym_PLUS] = ACTIONS(138),
    [anon_sym_SLASH] = ACTIONS(138),
    [anon_sym_PERCENT] = ACTIONS(138),
    [sym_comment] = ACTIONS(110),
  },
  [643] = {
    [sym__simple_heredoc_body] = ACTIONS(142),
    [sym__heredoc_body_beginning] = ACTIONS(142),
    [sym__string_middle] = ACTIONS(142),
    [sym__string_end] = ACTIONS(142),
    [sym__element_reference_left_bracket] = ACTIONS(142),
    [sym__scope_double_colon] = ACTIONS(142),
    [sym__binary_minus] = ACTIONS(142),
    [sym__binary_star] = ACTIONS(142),
    [anon_sym_DOT] = ACTIONS(144),
    [anon_sym_COMMA] = ACTIONS(142),
    [anon_sym_PIPE] = ACTIONS(144),
    [anon_sym_STAR_STAR] = ACTIONS(142),
    [anon_sym_AMP] = ACTIONS(144),
    [anon_sym_LT] = ACTIONS(144),
    [anon_sym_if] = ACTIONS(142),
    [anon_sym_unless] = ACTIONS(142),
    [anon_sym_while] = ACTIONS(142),
    [anon_sym_until] = ACTIONS(142),
    [anon_sym_rescue] = ACTIONS(142),
    [anon_sym_EQ_GT] = ACTIONS(142),
    [anon_sym_AMP_DOT] = ACTIONS(142),
    [anon_sym_QMARK] = ACTIONS(142),
    [anon_sym_DOT_DOT] = ACTIONS(144),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(142),
    [anon_sym_and] = ACTIONS(142),
    [anon_sym_or] = ACTIONS(142),
    [anon_sym_PIPE_PIPE] = ACTIONS(142),
    [anon_sym_AMP_AMP] = ACTIONS(142),
    [anon_sym_LT_LT] = ACTIONS(142),
    [anon_sym_GT_GT] = ACTIONS(142),
    [anon_sym_EQ_EQ] = ACTIONS(144),
    [anon_sym_BANG_EQ] = ACTIONS(142),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(142),
    [anon_sym_LT_EQ_GT] = ACTIONS(142),
    [anon_sym_EQ_TILDE] = ACTIONS(142),
    [anon_sym_BANG_TILDE] = ACTIONS(142),
    [anon_sym_LT_EQ] = ACTIONS(144),
    [anon_sym_GT] = ACTIONS(144),
    [anon_sym_GT_EQ] = ACTIONS(142),
    [anon_sym_CARET] = ACTIONS(142),
    [anon_sym_PLUS] = ACTIONS(142),
    [anon_sym_SLASH] = ACTIONS(142),
    [anon_sym_PERCENT] = ACTIONS(142),
    [sym_comment] = ACTIONS(110),
  },
  [644] = {
    [sym__statement] = STATE(2241),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(2242),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [645] = {
    [sym__statement] = STATE(2243),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(2244),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [646] = {
    [sym__statement] = STATE(2245),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(2246),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [647] = {
    [sym__statement] = STATE(2247),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(2248),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [648] = {
    [sym__statement] = STATE(2249),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(2250),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [649] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__string_middle] = ACTIONS(250),
    [sym__string_end] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
  },
  [650] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(2280),
    [sym__primary] = STATE(2281),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(2282),
    [sym_scope_resolution] = STATE(2283),
    [sym_call] = STATE(2283),
    [sym_method_call] = STATE(2282),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(2284),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2285),
    [sym__variable] = STATE(2283),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(2274),
    [sym_true] = STATE(2282),
    [sym_false] = STATE(2282),
    [sym_self] = STATE(2274),
    [sym_nil] = STATE(2282),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2286),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(3410),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__string_beginning] = ACTIONS(3412),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__unary_minus] = ACTIONS(3414),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(3416),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_COLON_COLON] = ACTIONS(3418),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3420),
    [anon_sym_module] = ACTIONS(3422),
    [anon_sym_return] = ACTIONS(3424),
    [anon_sym_yield] = ACTIONS(3426),
    [anon_sym_break] = ACTIONS(3428),
    [anon_sym_next] = ACTIONS(3430),
    [anon_sym_redo] = ACTIONS(3432),
    [anon_sym_retry] = ACTIONS(3434),
    [anon_sym_if] = ACTIONS(3436),
    [anon_sym_unless] = ACTIONS(3438),
    [anon_sym_while] = ACTIONS(3440),
    [anon_sym_until] = ACTIONS(3442),
    [anon_sym_for] = ACTIONS(3444),
    [anon_sym_case] = ACTIONS(3446),
    [anon_sym_begin] = ACTIONS(3448),
    [anon_sym_PLUS] = ACTIONS(3450),
    [anon_sym_defined_QMARK] = ACTIONS(3452),
    [anon_sym_not] = ACTIONS(3454),
    [anon_sym_BANG] = ACTIONS(3456),
    [anon_sym_TILDE] = ACTIONS(3456),
    [sym_constant] = ACTIONS(3458),
    [sym_identifier] = ACTIONS(3458),
    [sym_instance_variable] = ACTIONS(3460),
    [sym_class_variable] = ACTIONS(3460),
    [sym_global_variable] = ACTIONS(3460),
    [anon_sym_false] = ACTIONS(3462),
    [anon_sym_nil] = ACTIONS(3464),
    [anon_sym_self] = ACTIONS(3466),
    [anon_sym_super] = ACTIONS(3468),
    [anon_sym_true] = ACTIONS(3470),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(3470),
    [anon_sym_FALSE] = ACTIONS(3462),
    [anon_sym_NIL] = ACTIONS(3464),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(3472),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [651] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(2287),
    [sym__primary] = STATE(2281),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(2282),
    [sym_scope_resolution] = STATE(2283),
    [sym_call] = STATE(2283),
    [sym_method_call] = STATE(2282),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(2284),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2285),
    [sym__variable] = STATE(2283),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(2274),
    [sym_true] = STATE(2282),
    [sym_false] = STATE(2282),
    [sym_self] = STATE(2274),
    [sym_nil] = STATE(2282),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2286),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(3410),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__string_beginning] = ACTIONS(3412),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__unary_minus] = ACTIONS(3414),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(3416),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_COLON_COLON] = ACTIONS(3418),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3420),
    [anon_sym_module] = ACTIONS(3422),
    [anon_sym_return] = ACTIONS(3424),
    [anon_sym_yield] = ACTIONS(3426),
    [anon_sym_break] = ACTIONS(3428),
    [anon_sym_next] = ACTIONS(3430),
    [anon_sym_redo] = ACTIONS(3432),
    [anon_sym_retry] = ACTIONS(3434),
    [anon_sym_if] = ACTIONS(3436),
    [anon_sym_unless] = ACTIONS(3438),
    [anon_sym_while] = ACTIONS(3440),
    [anon_sym_until] = ACTIONS(3442),
    [anon_sym_for] = ACTIONS(3444),
    [anon_sym_case] = ACTIONS(3446),
    [anon_sym_begin] = ACTIONS(3448),
    [anon_sym_PLUS] = ACTIONS(3450),
    [anon_sym_defined_QMARK] = ACTIONS(3452),
    [anon_sym_not] = ACTIONS(3454),
    [anon_sym_BANG] = ACTIONS(3456),
    [anon_sym_TILDE] = ACTIONS(3456),
    [sym_constant] = ACTIONS(3458),
    [sym_identifier] = ACTIONS(3458),
    [sym_instance_variable] = ACTIONS(3460),
    [sym_class_variable] = ACTIONS(3460),
    [sym_global_variable] = ACTIONS(3460),
    [anon_sym_false] = ACTIONS(3462),
    [anon_sym_nil] = ACTIONS(3464),
    [anon_sym_self] = ACTIONS(3466),
    [anon_sym_super] = ACTIONS(3468),
    [anon_sym_true] = ACTIONS(3470),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(3470),
    [anon_sym_FALSE] = ACTIONS(3462),
    [anon_sym_NIL] = ACTIONS(3464),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(3472),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [652] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1382),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(2289),
    [sym__argument] = STATE(1385),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1386),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1387),
    [sym__variable] = STATE(1383),
    [sym_reserved_identifier] = STATE(1388),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1389),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(2290),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(2154),
    [sym__splat_star] = ACTIONS(2156),
    [sym__unary_minus] = ACTIONS(2158),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(3474),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2162),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2164),
    [anon_sym_yield] = ACTIONS(2166),
    [anon_sym_break] = ACTIONS(2168),
    [anon_sym_next] = ACTIONS(2170),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2172),
    [anon_sym_defined_QMARK] = ACTIONS(2174),
    [anon_sym_not] = ACTIONS(2176),
    [anon_sym_BANG] = ACTIONS(2178),
    [anon_sym_TILDE] = ACTIONS(2178),
    [sym_constant] = ACTIONS(2180),
    [sym_identifier] = ACTIONS(2180),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [653] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(2297),
    [sym__primary] = STATE(693),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(695),
    [sym_call] = STATE(695),
    [sym_method_call] = STATE(694),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(701),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(702),
    [sym__variable] = STATE(695),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2286),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(3410),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__string_beginning] = ACTIONS(3412),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__unary_minus] = ACTIONS(1124),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(3416),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3420),
    [anon_sym_module] = ACTIONS(3422),
    [anon_sym_return] = ACTIONS(3476),
    [anon_sym_yield] = ACTIONS(3478),
    [anon_sym_break] = ACTIONS(3480),
    [anon_sym_next] = ACTIONS(3482),
    [anon_sym_redo] = ACTIONS(3432),
    [anon_sym_retry] = ACTIONS(3434),
    [anon_sym_if] = ACTIONS(3436),
    [anon_sym_unless] = ACTIONS(3438),
    [anon_sym_while] = ACTIONS(3440),
    [anon_sym_until] = ACTIONS(3442),
    [anon_sym_for] = ACTIONS(3444),
    [anon_sym_case] = ACTIONS(3446),
    [anon_sym_begin] = ACTIONS(3448),
    [anon_sym_PLUS] = ACTIONS(3484),
    [anon_sym_defined_QMARK] = ACTIONS(1156),
    [anon_sym_not] = ACTIONS(3486),
    [anon_sym_BANG] = ACTIONS(1162),
    [anon_sym_TILDE] = ACTIONS(1162),
    [sym_constant] = ACTIONS(3488),
    [sym_identifier] = ACTIONS(3488),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_false] = ACTIONS(1186),
    [anon_sym_nil] = ACTIONS(1188),
    [anon_sym_self] = ACTIONS(3490),
    [anon_sym_super] = ACTIONS(3492),
    [anon_sym_true] = ACTIONS(1184),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(3472),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [654] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(193),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_hash_splat_argument] = STATE(197),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(199),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(200),
    [sym__variable] = STATE(196),
    [sym_reserved_identifier] = STATE(201),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(202),
    [sym_subshell] = STATE(151),
    [sym_heredoc_end] = STATE(2299),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym__hash_items] = STATE(2300),
    [sym_pair] = STATE(205),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(260),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(272),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(286),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_RBRACE] = ACTIONS(3494),
    [anon_sym_def] = ACTIONS(292),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(302),
    [anon_sym_class] = ACTIONS(304),
    [anon_sym_module] = ACTIONS(306),
    [anon_sym_return] = ACTIONS(308),
    [anon_sym_yield] = ACTIONS(310),
    [anon_sym_break] = ACTIONS(312),
    [anon_sym_next] = ACTIONS(314),
    [anon_sym_redo] = ACTIONS(316),
    [anon_sym_retry] = ACTIONS(318),
    [anon_sym_if] = ACTIONS(320),
    [anon_sym_unless] = ACTIONS(322),
    [anon_sym_while] = ACTIONS(324),
    [anon_sym_until] = ACTIONS(326),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(328),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(330),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(332),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(334),
    [anon_sym_defined_QMARK] = ACTIONS(336),
    [anon_sym_not] = ACTIONS(338),
    [anon_sym_BANG] = ACTIONS(340),
    [anon_sym_TILDE] = ACTIONS(340),
    [sym_constant] = ACTIONS(342),
    [sym_identifier] = ACTIONS(342),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(346),
    [anon_sym_nil] = ACTIONS(348),
    [anon_sym_self] = ACTIONS(350),
    [anon_sym_super] = ACTIONS(352),
    [anon_sym_true] = ACTIONS(354),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(370),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [655] = {
    [sym__method_rest] = STATE(2302),
    [sym__variable] = STATE(2303),
    [sym_operator] = STATE(217),
    [sym__method_name] = STATE(2304),
    [sym_setter] = STATE(217),
    [sym_symbol] = STATE(217),
    [sym_super] = STATE(219),
    [sym_self] = STATE(219),
    [sym__simple_symbol] = ACTIONS(378),
    [sym__symbol_beginning] = ACTIONS(380),
    [sym__keyword_colon] = ACTIONS(1556),
    [anon_sym_LPAREN] = ACTIONS(3496),
    [anon_sym_PIPE] = ACTIONS(384),
    [anon_sym_STAR] = ACTIONS(386),
    [anon_sym_STAR_STAR] = ACTIONS(384),
    [anon_sym_AMP] = ACTIONS(384),
    [anon_sym_LT] = ACTIONS(386),
    [anon_sym_DOT_DOT] = ACTIONS(384),
    [anon_sym_LT_LT] = ACTIONS(384),
    [anon_sym_GT_GT] = ACTIONS(384),
    [anon_sym_EQ_EQ] = ACTIONS(386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(384),
    [anon_sym_LT_EQ_GT] = ACTIONS(384),
    [anon_sym_EQ_TILDE] = ACTIONS(384),
    [anon_sym_BANG_TILDE] = ACTIONS(384),
    [anon_sym_LT_EQ] = ACTIONS(386),
    [anon_sym_GT] = ACTIONS(386),
    [anon_sym_GT_EQ] = ACTIONS(384),
    [anon_sym_CARET] = ACTIONS(384),
    [anon_sym_PLUS] = ACTIONS(386),
    [anon_sym_SLASH] = ACTIONS(384),
    [anon_sym_PERCENT] = ACTIONS(384),
    [anon_sym_BANG] = ACTIONS(386),
    [anon_sym_TILDE] = ACTIONS(384),
    [sym_constant] = ACTIONS(388),
    [sym_identifier] = ACTIONS(390),
    [sym_instance_variable] = ACTIONS(388),
    [sym_class_variable] = ACTIONS(388),
    [sym_global_variable] = ACTIONS(388),
    [anon_sym_self] = ACTIONS(392),
    [anon_sym_super] = ACTIONS(394),
    [anon_sym_DASH] = ACTIONS(386),
    [anon_sym_PLUS_AT] = ACTIONS(384),
    [anon_sym_DASH_AT] = ACTIONS(384),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(386),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(384),
    [anon_sym_BQUOTE] = ACTIONS(384),
    [sym_comment] = ACTIONS(110),
  },
  [656] = {
    [sym__statements] = STATE(2306),
    [sym__top_level_statement] = STATE(235),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(236),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(237),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(240),
    [sym__mlhs] = STATE(241),
    [sym__simple_mlhs] = STATE(242),
    [sym_destructured_left_assignment] = STATE(242),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(243),
    [sym__variable] = STATE(239),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(396),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_RPAREN] = ACTIONS(3498),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(402),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(412),
    [anon_sym_defined_QMARK] = ACTIONS(414),
    [anon_sym_not] = ACTIONS(416),
    [anon_sym_BANG] = ACTIONS(418),
    [anon_sym_TILDE] = ACTIONS(418),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [657] = {
    [sym_constant] = ACTIONS(3500),
    [sym_identifier] = ACTIONS(3500),
    [sym_comment] = ACTIONS(110),
  },
  [658] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(2308),
    [sym__primary] = STATE(2281),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(2282),
    [sym_scope_resolution] = STATE(2283),
    [sym_call] = STATE(2283),
    [sym_method_call] = STATE(2282),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(2284),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2285),
    [sym__variable] = STATE(2283),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(2274),
    [sym_true] = STATE(2282),
    [sym_false] = STATE(2282),
    [sym_self] = STATE(2274),
    [sym_nil] = STATE(2282),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2286),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(3410),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__string_beginning] = ACTIONS(3412),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__unary_minus] = ACTIONS(3414),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(3416),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_COLON_COLON] = ACTIONS(3418),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3420),
    [anon_sym_module] = ACTIONS(3422),
    [anon_sym_return] = ACTIONS(3424),
    [anon_sym_yield] = ACTIONS(3426),
    [anon_sym_break] = ACTIONS(3428),
    [anon_sym_next] = ACTIONS(3430),
    [anon_sym_redo] = ACTIONS(3432),
    [anon_sym_retry] = ACTIONS(3434),
    [anon_sym_if] = ACTIONS(3436),
    [anon_sym_unless] = ACTIONS(3438),
    [anon_sym_while] = ACTIONS(3440),
    [anon_sym_until] = ACTIONS(3442),
    [anon_sym_for] = ACTIONS(3444),
    [anon_sym_case] = ACTIONS(3446),
    [anon_sym_begin] = ACTIONS(3448),
    [anon_sym_PLUS] = ACTIONS(3450),
    [anon_sym_defined_QMARK] = ACTIONS(3452),
    [anon_sym_not] = ACTIONS(3454),
    [anon_sym_BANG] = ACTIONS(3456),
    [anon_sym_TILDE] = ACTIONS(3456),
    [sym_constant] = ACTIONS(3458),
    [sym_identifier] = ACTIONS(3458),
    [sym_instance_variable] = ACTIONS(3460),
    [sym_class_variable] = ACTIONS(3460),
    [sym_global_variable] = ACTIONS(3460),
    [anon_sym_false] = ACTIONS(3462),
    [anon_sym_nil] = ACTIONS(3464),
    [anon_sym_self] = ACTIONS(3466),
    [anon_sym_super] = ACTIONS(3468),
    [anon_sym_true] = ACTIONS(3470),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(3470),
    [anon_sym_FALSE] = ACTIONS(3462),
    [anon_sym_NIL] = ACTIONS(3464),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(3472),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [659] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(293),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(2311),
    [sym_call] = STATE(295),
    [sym_method_call] = STATE(286),
    [sym__lhs] = STATE(255),
    [sym__variable] = STATE(295),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__singleton_class_left_angle_left_langle] = ACTIONS(3502),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(458),
    [anon_sym_COLON_COLON] = ACTIONS(524),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(3504),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [660] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(293),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(2313),
    [sym_call] = STATE(295),
    [sym_method_call] = STATE(286),
    [sym__lhs] = STATE(255),
    [sym__variable] = STATE(295),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [sym__keyword_colon] = ACTIONS(1556),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(458),
    [anon_sym_COLON_COLON] = ACTIONS(524),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(3506),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [661] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(2318),
    [sym__primary] = STATE(693),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(695),
    [sym_call] = STATE(695),
    [sym_method_call] = STATE(694),
    [sym_argument_list] = STATE(2319),
    [sym__argument_list_with_parens] = STATE(697),
    [sym__argument] = STATE(2320),
    [sym_splat_argument] = STATE(699),
    [sym_hash_splat_argument] = STATE(699),
    [sym_block_argument] = STATE(699),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(701),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(702),
    [sym__variable] = STATE(695),
    [sym_reserved_identifier] = STATE(2321),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2322),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_pair] = STATE(699),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(1096),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(1106),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym__string_middle] = ACTIONS(532),
    [sym__string_end] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(3508),
    [sym__splat_star] = ACTIONS(3510),
    [sym__argument_list_left_paren] = ACTIONS(1122),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(1124),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(1128),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(1134),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(1136),
    [anon_sym_return] = ACTIONS(1138),
    [anon_sym_yield] = ACTIONS(1140),
    [anon_sym_break] = ACTIONS(1142),
    [anon_sym_next] = ACTIONS(1144),
    [anon_sym_redo] = ACTIONS(1146),
    [anon_sym_retry] = ACTIONS(1148),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(1150),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1152),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1154),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(1156),
    [anon_sym_not] = ACTIONS(1158),
    [anon_sym_BANG] = ACTIONS(1160),
    [anon_sym_TILDE] = ACTIONS(1162),
    [sym_constant] = ACTIONS(3512),
    [sym_identifier] = ACTIONS(3512),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(1168),
    [anon_sym_nil] = ACTIONS(1170),
    [anon_sym_self] = ACTIONS(1172),
    [anon_sym_super] = ACTIONS(1174),
    [anon_sym_true] = ACTIONS(1176),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(1192),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [662] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(2318),
    [sym__primary] = STATE(693),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(695),
    [sym_call] = STATE(695),
    [sym_method_call] = STATE(694),
    [sym_argument_list] = STATE(2323),
    [sym__argument_list_with_parens] = STATE(697),
    [sym__argument] = STATE(2320),
    [sym_splat_argument] = STATE(699),
    [sym_hash_splat_argument] = STATE(699),
    [sym_block_argument] = STATE(699),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(701),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(702),
    [sym__variable] = STATE(695),
    [sym_reserved_identifier] = STATE(2321),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2322),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_pair] = STATE(699),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(1096),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(1106),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym__string_middle] = ACTIONS(602),
    [sym__string_end] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(3508),
    [sym__splat_star] = ACTIONS(3510),
    [sym__argument_list_left_paren] = ACTIONS(1122),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(1124),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(1128),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(1134),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(1136),
    [anon_sym_return] = ACTIONS(1138),
    [anon_sym_yield] = ACTIONS(1140),
    [anon_sym_break] = ACTIONS(1142),
    [anon_sym_next] = ACTIONS(1144),
    [anon_sym_redo] = ACTIONS(1146),
    [anon_sym_retry] = ACTIONS(1148),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(1150),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1152),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1154),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(1156),
    [anon_sym_not] = ACTIONS(1158),
    [anon_sym_BANG] = ACTIONS(1160),
    [anon_sym_TILDE] = ACTIONS(1162),
    [sym_constant] = ACTIONS(3512),
    [sym_identifier] = ACTIONS(3512),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(1168),
    [anon_sym_nil] = ACTIONS(1170),
    [anon_sym_self] = ACTIONS(1172),
    [anon_sym_super] = ACTIONS(1174),
    [anon_sym_true] = ACTIONS(1176),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(1192),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [663] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(2318),
    [sym__primary] = STATE(693),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(695),
    [sym_call] = STATE(695),
    [sym_method_call] = STATE(694),
    [sym_argument_list] = STATE(2324),
    [sym__argument_list_with_parens] = STATE(697),
    [sym__argument] = STATE(2320),
    [sym_splat_argument] = STATE(699),
    [sym_hash_splat_argument] = STATE(699),
    [sym_block_argument] = STATE(699),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(701),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(702),
    [sym__variable] = STATE(695),
    [sym_reserved_identifier] = STATE(2321),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2322),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_pair] = STATE(699),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(1096),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(1106),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym__string_middle] = ACTIONS(606),
    [sym__string_end] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(3508),
    [sym__splat_star] = ACTIONS(3510),
    [sym__argument_list_left_paren] = ACTIONS(1122),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(1124),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(1128),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(1134),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(1136),
    [anon_sym_return] = ACTIONS(1138),
    [anon_sym_yield] = ACTIONS(1140),
    [anon_sym_break] = ACTIONS(1142),
    [anon_sym_next] = ACTIONS(1144),
    [anon_sym_redo] = ACTIONS(1146),
    [anon_sym_retry] = ACTIONS(1148),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(1150),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1152),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1154),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(1156),
    [anon_sym_not] = ACTIONS(1158),
    [anon_sym_BANG] = ACTIONS(1160),
    [anon_sym_TILDE] = ACTIONS(1162),
    [sym_constant] = ACTIONS(3512),
    [sym_identifier] = ACTIONS(3512),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(1168),
    [anon_sym_nil] = ACTIONS(1170),
    [anon_sym_self] = ACTIONS(1172),
    [anon_sym_super] = ACTIONS(1174),
    [anon_sym_true] = ACTIONS(1176),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(1192),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [664] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(2318),
    [sym__primary] = STATE(693),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(695),
    [sym_call] = STATE(695),
    [sym_method_call] = STATE(694),
    [sym_argument_list] = STATE(2325),
    [sym__argument_list_with_parens] = STATE(697),
    [sym__argument] = STATE(2320),
    [sym_splat_argument] = STATE(699),
    [sym_hash_splat_argument] = STATE(699),
    [sym_block_argument] = STATE(699),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(701),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(702),
    [sym__variable] = STATE(695),
    [sym_reserved_identifier] = STATE(2321),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2322),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_pair] = STATE(699),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(1096),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(1106),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym__string_middle] = ACTIONS(610),
    [sym__string_end] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(3508),
    [sym__splat_star] = ACTIONS(3510),
    [sym__argument_list_left_paren] = ACTIONS(1122),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(1124),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(1128),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(1134),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(1136),
    [anon_sym_return] = ACTIONS(1138),
    [anon_sym_yield] = ACTIONS(1140),
    [anon_sym_break] = ACTIONS(1142),
    [anon_sym_next] = ACTIONS(1144),
    [anon_sym_redo] = ACTIONS(1146),
    [anon_sym_retry] = ACTIONS(1148),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(1150),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1152),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1154),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(1156),
    [anon_sym_not] = ACTIONS(1158),
    [anon_sym_BANG] = ACTIONS(1160),
    [anon_sym_TILDE] = ACTIONS(1162),
    [sym_constant] = ACTIONS(3512),
    [sym_identifier] = ACTIONS(3512),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(1168),
    [anon_sym_nil] = ACTIONS(1170),
    [anon_sym_self] = ACTIONS(1172),
    [anon_sym_super] = ACTIONS(1174),
    [anon_sym_true] = ACTIONS(1176),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(1192),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [665] = {
    [sym__simple_heredoc_body] = ACTIONS(614),
    [sym__heredoc_body_beginning] = ACTIONS(614),
    [sym__string_middle] = ACTIONS(614),
    [sym__string_end] = ACTIONS(614),
    [sym__element_reference_left_bracket] = ACTIONS(614),
    [sym__scope_double_colon] = ACTIONS(614),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__binary_minus] = ACTIONS(614),
    [sym__binary_star] = ACTIONS(614),
    [anon_sym_DOT] = ACTIONS(616),
    [anon_sym_COMMA] = ACTIONS(614),
    [anon_sym_PIPE] = ACTIONS(616),
    [anon_sym_STAR_STAR] = ACTIONS(614),
    [anon_sym_AMP] = ACTIONS(616),
    [anon_sym_LT] = ACTIONS(616),
    [anon_sym_if] = ACTIONS(614),
    [anon_sym_unless] = ACTIONS(614),
    [anon_sym_while] = ACTIONS(614),
    [anon_sym_until] = ACTIONS(614),
    [anon_sym_rescue] = ACTIONS(614),
    [anon_sym_EQ_GT] = ACTIONS(614),
    [anon_sym_AMP_DOT] = ACTIONS(614),
    [anon_sym_QMARK] = ACTIONS(614),
    [anon_sym_DOT_DOT] = ACTIONS(616),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(614),
    [anon_sym_and] = ACTIONS(614),
    [anon_sym_or] = ACTIONS(614),
    [anon_sym_PIPE_PIPE] = ACTIONS(614),
    [anon_sym_AMP_AMP] = ACTIONS(614),
    [anon_sym_LT_LT] = ACTIONS(614),
    [anon_sym_GT_GT] = ACTIONS(614),
    [anon_sym_EQ_EQ] = ACTIONS(616),
    [anon_sym_BANG_EQ] = ACTIONS(614),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(614),
    [anon_sym_LT_EQ_GT] = ACTIONS(614),
    [anon_sym_EQ_TILDE] = ACTIONS(614),
    [anon_sym_BANG_TILDE] = ACTIONS(614),
    [anon_sym_LT_EQ] = ACTIONS(616),
    [anon_sym_GT] = ACTIONS(616),
    [anon_sym_GT_EQ] = ACTIONS(614),
    [anon_sym_CARET] = ACTIONS(614),
    [anon_sym_PLUS] = ACTIONS(614),
    [anon_sym_SLASH] = ACTIONS(614),
    [anon_sym_PERCENT] = ACTIONS(614),
    [sym_comment] = ACTIONS(110),
  },
  [666] = {
    [sym__simple_heredoc_body] = ACTIONS(618),
    [sym__heredoc_body_beginning] = ACTIONS(618),
    [sym__string_middle] = ACTIONS(618),
    [sym__string_end] = ACTIONS(618),
    [sym__element_reference_left_bracket] = ACTIONS(618),
    [sym__scope_double_colon] = ACTIONS(618),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__binary_minus] = ACTIONS(618),
    [sym__binary_star] = ACTIONS(618),
    [anon_sym_DOT] = ACTIONS(620),
    [anon_sym_COMMA] = ACTIONS(618),
    [anon_sym_PIPE] = ACTIONS(620),
    [anon_sym_STAR_STAR] = ACTIONS(618),
    [anon_sym_AMP] = ACTIONS(620),
    [anon_sym_LT] = ACTIONS(620),
    [anon_sym_if] = ACTIONS(618),
    [anon_sym_unless] = ACTIONS(618),
    [anon_sym_while] = ACTIONS(618),
    [anon_sym_until] = ACTIONS(618),
    [anon_sym_rescue] = ACTIONS(618),
    [anon_sym_EQ_GT] = ACTIONS(618),
    [anon_sym_AMP_DOT] = ACTIONS(618),
    [anon_sym_QMARK] = ACTIONS(618),
    [anon_sym_DOT_DOT] = ACTIONS(620),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(618),
    [anon_sym_and] = ACTIONS(618),
    [anon_sym_or] = ACTIONS(618),
    [anon_sym_PIPE_PIPE] = ACTIONS(618),
    [anon_sym_AMP_AMP] = ACTIONS(618),
    [anon_sym_LT_LT] = ACTIONS(618),
    [anon_sym_GT_GT] = ACTIONS(618),
    [anon_sym_EQ_EQ] = ACTIONS(620),
    [anon_sym_BANG_EQ] = ACTIONS(618),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(618),
    [anon_sym_LT_EQ_GT] = ACTIONS(618),
    [anon_sym_EQ_TILDE] = ACTIONS(618),
    [anon_sym_BANG_TILDE] = ACTIONS(618),
    [anon_sym_LT_EQ] = ACTIONS(620),
    [anon_sym_GT] = ACTIONS(620),
    [anon_sym_GT_EQ] = ACTIONS(618),
    [anon_sym_CARET] = ACTIONS(618),
    [anon_sym_PLUS] = ACTIONS(618),
    [anon_sym_SLASH] = ACTIONS(618),
    [anon_sym_PERCENT] = ACTIONS(618),
    [sym_comment] = ACTIONS(110),
  },
  [667] = {
    [sym__statement] = STATE(2326),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(361),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [668] = {
    [sym__statement] = STATE(2327),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(361),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [669] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2328),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [670] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2329),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [671] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(285),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(381),
    [sym_call] = STATE(381),
    [sym_method_call] = STATE(286),
    [sym__mlhs] = STATE(2330),
    [sym__simple_mlhs] = STATE(383),
    [sym_destructured_left_assignment] = STATE(383),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(384),
    [sym__variable] = STATE(381),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [sym__keyword_colon] = ACTIONS(1556),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(658),
    [anon_sym_COLON_COLON] = ACTIONS(460),
    [anon_sym_STAR] = ACTIONS(660),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(494),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [672] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_when] = STATE(2331),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2332),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(400),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(401),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(387),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__terminator] = STATE(402),
    [aux_sym_case_repeat1] = STATE(2333),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(666),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(668),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_when] = ACTIONS(678),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(680),
    [anon_sym_defined_QMARK] = ACTIONS(682),
    [anon_sym_not] = ACTIONS(684),
    [anon_sym_BANG] = ACTIONS(686),
    [anon_sym_TILDE] = ACTIONS(686),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [673] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(2335),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(2336),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(692),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(3514),
    [anon_sym_SEMI] = ACTIONS(698),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [674] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(2337),
    [sym__primary] = STATE(693),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(695),
    [sym_call] = STATE(695),
    [sym_method_call] = STATE(694),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(701),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(702),
    [sym__variable] = STATE(695),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2286),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(3410),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__string_beginning] = ACTIONS(3412),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__unary_minus] = ACTIONS(1124),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(3416),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3420),
    [anon_sym_module] = ACTIONS(3422),
    [anon_sym_return] = ACTIONS(3476),
    [anon_sym_yield] = ACTIONS(3478),
    [anon_sym_break] = ACTIONS(3480),
    [anon_sym_next] = ACTIONS(3482),
    [anon_sym_redo] = ACTIONS(3432),
    [anon_sym_retry] = ACTIONS(3434),
    [anon_sym_if] = ACTIONS(3436),
    [anon_sym_unless] = ACTIONS(3438),
    [anon_sym_while] = ACTIONS(3440),
    [anon_sym_until] = ACTIONS(3442),
    [anon_sym_for] = ACTIONS(3444),
    [anon_sym_case] = ACTIONS(3446),
    [anon_sym_begin] = ACTIONS(3448),
    [anon_sym_PLUS] = ACTIONS(3484),
    [anon_sym_defined_QMARK] = ACTIONS(1156),
    [anon_sym_not] = ACTIONS(3486),
    [anon_sym_BANG] = ACTIONS(1162),
    [anon_sym_TILDE] = ACTIONS(1162),
    [sym_constant] = ACTIONS(3488),
    [sym_identifier] = ACTIONS(3488),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_false] = ACTIONS(1186),
    [anon_sym_nil] = ACTIONS(1188),
    [anon_sym_self] = ACTIONS(3490),
    [anon_sym_super] = ACTIONS(3492),
    [anon_sym_true] = ACTIONS(1184),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(3472),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [675] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(2338),
    [sym__primary] = STATE(693),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(695),
    [sym_call] = STATE(695),
    [sym_method_call] = STATE(694),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(701),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(702),
    [sym__variable] = STATE(695),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2286),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(3410),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__string_beginning] = ACTIONS(3412),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__unary_minus] = ACTIONS(1124),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(3416),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3420),
    [anon_sym_module] = ACTIONS(3422),
    [anon_sym_return] = ACTIONS(3476),
    [anon_sym_yield] = ACTIONS(3478),
    [anon_sym_break] = ACTIONS(3480),
    [anon_sym_next] = ACTIONS(3482),
    [anon_sym_redo] = ACTIONS(3432),
    [anon_sym_retry] = ACTIONS(3434),
    [anon_sym_if] = ACTIONS(3436),
    [anon_sym_unless] = ACTIONS(3438),
    [anon_sym_while] = ACTIONS(3440),
    [anon_sym_until] = ACTIONS(3442),
    [anon_sym_for] = ACTIONS(3444),
    [anon_sym_case] = ACTIONS(3446),
    [anon_sym_begin] = ACTIONS(3448),
    [anon_sym_PLUS] = ACTIONS(3484),
    [anon_sym_defined_QMARK] = ACTIONS(1156),
    [anon_sym_not] = ACTIONS(3486),
    [anon_sym_BANG] = ACTIONS(1162),
    [anon_sym_TILDE] = ACTIONS(1162),
    [sym_constant] = ACTIONS(3488),
    [sym_identifier] = ACTIONS(3488),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_false] = ACTIONS(1186),
    [anon_sym_nil] = ACTIONS(1188),
    [anon_sym_self] = ACTIONS(3490),
    [anon_sym_super] = ACTIONS(3492),
    [anon_sym_true] = ACTIONS(1184),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(3472),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [676] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(2338),
    [sym__primary] = STATE(693),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(695),
    [sym_call] = STATE(695),
    [sym_method_call] = STATE(694),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(701),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(702),
    [sym__variable] = STATE(695),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2286),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(3410),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__string_beginning] = ACTIONS(3412),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(1124),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(3416),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3420),
    [anon_sym_module] = ACTIONS(3422),
    [anon_sym_return] = ACTIONS(3476),
    [anon_sym_yield] = ACTIONS(3478),
    [anon_sym_break] = ACTIONS(3480),
    [anon_sym_next] = ACTIONS(3482),
    [anon_sym_redo] = ACTIONS(3432),
    [anon_sym_retry] = ACTIONS(3434),
    [anon_sym_if] = ACTIONS(3436),
    [anon_sym_unless] = ACTIONS(3438),
    [anon_sym_while] = ACTIONS(3440),
    [anon_sym_until] = ACTIONS(3442),
    [anon_sym_for] = ACTIONS(3444),
    [anon_sym_case] = ACTIONS(3446),
    [anon_sym_begin] = ACTIONS(3448),
    [anon_sym_PLUS] = ACTIONS(3484),
    [anon_sym_defined_QMARK] = ACTIONS(1156),
    [anon_sym_not] = ACTIONS(3486),
    [anon_sym_BANG] = ACTIONS(1162),
    [anon_sym_TILDE] = ACTIONS(1162),
    [sym_constant] = ACTIONS(3488),
    [sym_identifier] = ACTIONS(3488),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_false] = ACTIONS(1186),
    [anon_sym_nil] = ACTIONS(1188),
    [anon_sym_self] = ACTIONS(3490),
    [anon_sym_super] = ACTIONS(3492),
    [anon_sym_true] = ACTIONS(1184),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(3472),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [677] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(2339),
    [sym__primary] = STATE(693),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(695),
    [sym_call] = STATE(695),
    [sym_method_call] = STATE(694),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(701),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(702),
    [sym__variable] = STATE(695),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2286),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(3410),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__string_beginning] = ACTIONS(3412),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__unary_minus] = ACTIONS(1124),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(3416),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3420),
    [anon_sym_module] = ACTIONS(3422),
    [anon_sym_return] = ACTIONS(3476),
    [anon_sym_yield] = ACTIONS(3478),
    [anon_sym_break] = ACTIONS(3480),
    [anon_sym_next] = ACTIONS(3482),
    [anon_sym_redo] = ACTIONS(3432),
    [anon_sym_retry] = ACTIONS(3434),
    [anon_sym_if] = ACTIONS(3436),
    [anon_sym_unless] = ACTIONS(3438),
    [anon_sym_while] = ACTIONS(3440),
    [anon_sym_until] = ACTIONS(3442),
    [anon_sym_for] = ACTIONS(3444),
    [anon_sym_case] = ACTIONS(3446),
    [anon_sym_begin] = ACTIONS(3448),
    [anon_sym_PLUS] = ACTIONS(3484),
    [anon_sym_defined_QMARK] = ACTIONS(1156),
    [anon_sym_not] = ACTIONS(3486),
    [anon_sym_BANG] = ACTIONS(1162),
    [anon_sym_TILDE] = ACTIONS(1162),
    [sym_constant] = ACTIONS(3488),
    [sym_identifier] = ACTIONS(3488),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_false] = ACTIONS(1186),
    [anon_sym_nil] = ACTIONS(1188),
    [anon_sym_self] = ACTIONS(3490),
    [anon_sym_super] = ACTIONS(3492),
    [anon_sym_true] = ACTIONS(1184),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(3472),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [678] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym__string_middle] = ACTIONS(722),
    [sym__string_end] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(3516),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [679] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym__string_middle] = ACTIONS(722),
    [sym__string_end] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [680] = {
    [sym__simple_heredoc_body] = ACTIONS(740),
    [sym__heredoc_body_beginning] = ACTIONS(740),
    [sym__string_middle] = ACTIONS(740),
    [sym__string_end] = ACTIONS(740),
    [sym__element_reference_left_bracket] = ACTIONS(740),
    [sym__scope_double_colon] = ACTIONS(740),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__binary_minus] = ACTIONS(740),
    [sym__binary_star] = ACTIONS(740),
    [anon_sym_LBRACE] = ACTIONS(740),
    [anon_sym_DOT] = ACTIONS(742),
    [anon_sym_COMMA] = ACTIONS(740),
    [anon_sym_PIPE] = ACTIONS(742),
    [anon_sym_STAR_STAR] = ACTIONS(742),
    [anon_sym_AMP] = ACTIONS(742),
    [anon_sym_EQ] = ACTIONS(742),
    [anon_sym_LT] = ACTIONS(742),
    [anon_sym_if] = ACTIONS(740),
    [anon_sym_unless] = ACTIONS(740),
    [anon_sym_while] = ACTIONS(740),
    [anon_sym_until] = ACTIONS(740),
    [anon_sym_rescue] = ACTIONS(740),
    [anon_sym_do] = ACTIONS(740),
    [anon_sym_EQ_GT] = ACTIONS(740),
    [anon_sym_AMP_DOT] = ACTIONS(740),
    [anon_sym_PLUS_EQ] = ACTIONS(740),
    [anon_sym_DASH_EQ] = ACTIONS(740),
    [anon_sym_STAR_EQ] = ACTIONS(740),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(740),
    [anon_sym_SLASH_EQ] = ACTIONS(740),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(740),
    [anon_sym_PIPE_EQ] = ACTIONS(740),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(740),
    [anon_sym_AMP_EQ] = ACTIONS(740),
    [anon_sym_PERCENT_EQ] = ACTIONS(740),
    [anon_sym_GT_GT_EQ] = ACTIONS(740),
    [anon_sym_LT_LT_EQ] = ACTIONS(740),
    [anon_sym_CARET_EQ] = ACTIONS(740),
    [anon_sym_QMARK] = ACTIONS(740),
    [anon_sym_DOT_DOT] = ACTIONS(742),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(740),
    [anon_sym_and] = ACTIONS(740),
    [anon_sym_or] = ACTIONS(740),
    [anon_sym_PIPE_PIPE] = ACTIONS(742),
    [anon_sym_AMP_AMP] = ACTIONS(742),
    [anon_sym_LT_LT] = ACTIONS(742),
    [anon_sym_GT_GT] = ACTIONS(742),
    [anon_sym_EQ_EQ] = ACTIONS(742),
    [anon_sym_BANG_EQ] = ACTIONS(740),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(740),
    [anon_sym_LT_EQ_GT] = ACTIONS(740),
    [anon_sym_EQ_TILDE] = ACTIONS(740),
    [anon_sym_BANG_TILDE] = ACTIONS(740),
    [anon_sym_LT_EQ] = ACTIONS(742),
    [anon_sym_GT] = ACTIONS(742),
    [anon_sym_GT_EQ] = ACTIONS(740),
    [anon_sym_CARET] = ACTIONS(742),
    [anon_sym_PLUS] = ACTIONS(742),
    [anon_sym_SLASH] = ACTIONS(742),
    [anon_sym_PERCENT] = ACTIONS(742),
    [sym_comment] = ACTIONS(256),
  },
  [681] = {
    [sym__simple_heredoc_body] = ACTIONS(744),
    [sym__heredoc_body_beginning] = ACTIONS(744),
    [sym__string_middle] = ACTIONS(744),
    [sym__string_end] = ACTIONS(744),
    [sym__element_reference_left_bracket] = ACTIONS(744),
    [sym__scope_double_colon] = ACTIONS(744),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__binary_minus] = ACTIONS(744),
    [sym__binary_star] = ACTIONS(744),
    [anon_sym_LBRACE] = ACTIONS(744),
    [anon_sym_DOT] = ACTIONS(746),
    [anon_sym_COMMA] = ACTIONS(744),
    [anon_sym_PIPE] = ACTIONS(746),
    [anon_sym_STAR_STAR] = ACTIONS(746),
    [anon_sym_AMP] = ACTIONS(746),
    [anon_sym_EQ] = ACTIONS(746),
    [anon_sym_LT] = ACTIONS(746),
    [anon_sym_if] = ACTIONS(744),
    [anon_sym_unless] = ACTIONS(744),
    [anon_sym_while] = ACTIONS(744),
    [anon_sym_until] = ACTIONS(744),
    [anon_sym_rescue] = ACTIONS(744),
    [anon_sym_do] = ACTIONS(744),
    [anon_sym_EQ_GT] = ACTIONS(744),
    [anon_sym_AMP_DOT] = ACTIONS(744),
    [anon_sym_PLUS_EQ] = ACTIONS(744),
    [anon_sym_DASH_EQ] = ACTIONS(744),
    [anon_sym_STAR_EQ] = ACTIONS(744),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(744),
    [anon_sym_SLASH_EQ] = ACTIONS(744),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(744),
    [anon_sym_PIPE_EQ] = ACTIONS(744),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(744),
    [anon_sym_AMP_EQ] = ACTIONS(744),
    [anon_sym_PERCENT_EQ] = ACTIONS(744),
    [anon_sym_GT_GT_EQ] = ACTIONS(744),
    [anon_sym_LT_LT_EQ] = ACTIONS(744),
    [anon_sym_CARET_EQ] = ACTIONS(744),
    [anon_sym_QMARK] = ACTIONS(744),
    [anon_sym_DOT_DOT] = ACTIONS(746),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(744),
    [anon_sym_and] = ACTIONS(744),
    [anon_sym_or] = ACTIONS(744),
    [anon_sym_PIPE_PIPE] = ACTIONS(746),
    [anon_sym_AMP_AMP] = ACTIONS(746),
    [anon_sym_LT_LT] = ACTIONS(746),
    [anon_sym_GT_GT] = ACTIONS(746),
    [anon_sym_EQ_EQ] = ACTIONS(746),
    [anon_sym_BANG_EQ] = ACTIONS(744),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(744),
    [anon_sym_LT_EQ_GT] = ACTIONS(744),
    [anon_sym_EQ_TILDE] = ACTIONS(744),
    [anon_sym_BANG_TILDE] = ACTIONS(744),
    [anon_sym_LT_EQ] = ACTIONS(746),
    [anon_sym_GT] = ACTIONS(746),
    [anon_sym_GT_EQ] = ACTIONS(744),
    [anon_sym_CARET] = ACTIONS(746),
    [anon_sym_PLUS] = ACTIONS(746),
    [anon_sym_SLASH] = ACTIONS(746),
    [anon_sym_PERCENT] = ACTIONS(746),
    [sym_comment] = ACTIONS(256),
  },
  [682] = {
    [sym__simple_string] = ACTIONS(748),
    [sym__simple_symbol] = ACTIONS(748),
    [sym__simple_subshell] = ACTIONS(748),
    [sym__simple_regex] = ACTIONS(748),
    [sym__simple_word_list] = ACTIONS(748),
    [sym__simple_heredoc_body] = ACTIONS(748),
    [sym__string_beginning] = ACTIONS(748),
    [sym__symbol_beginning] = ACTIONS(748),
    [sym__subshell_beginning] = ACTIONS(748),
    [sym__regex_beginning] = ACTIONS(748),
    [sym__word_list_beginning] = ACTIONS(748),
    [sym__heredoc_body_beginning] = ACTIONS(748),
    [sym__string_middle] = ACTIONS(748),
    [sym__string_end] = ACTIONS(748),
    [sym_heredoc_beginning] = ACTIONS(748),
    [sym__element_reference_left_bracket] = ACTIONS(748),
    [sym__block_ampersand] = ACTIONS(748),
    [sym__splat_star] = ACTIONS(748),
    [sym__argument_list_left_paren] = ACTIONS(748),
    [sym__scope_double_colon] = ACTIONS(748),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(748),
    [sym__binary_minus] = ACTIONS(748),
    [sym__binary_star] = ACTIONS(748),
    [anon_sym_LBRACE] = ACTIONS(748),
    [anon_sym_def] = ACTIONS(750),
    [anon_sym_LPAREN] = ACTIONS(748),
    [anon_sym_DOT] = ACTIONS(750),
    [anon_sym_COLON_COLON] = ACTIONS(748),
    [anon_sym_end] = ACTIONS(750),
    [anon_sym_COMMA] = ACTIONS(748),
    [anon_sym_PIPE] = ACTIONS(750),
    [anon_sym_STAR] = ACTIONS(750),
    [anon_sym_STAR_STAR] = ACTIONS(750),
    [anon_sym_AMP] = ACTIONS(750),
    [anon_sym_EQ] = ACTIONS(750),
    [anon_sym_class] = ACTIONS(750),
    [anon_sym_LT] = ACTIONS(750),
    [anon_sym_module] = ACTIONS(750),
    [anon_sym_return] = ACTIONS(750),
    [anon_sym_yield] = ACTIONS(750),
    [anon_sym_break] = ACTIONS(750),
    [anon_sym_next] = ACTIONS(750),
    [anon_sym_redo] = ACTIONS(750),
    [anon_sym_retry] = ACTIONS(750),
    [anon_sym_if] = ACTIONS(750),
    [anon_sym_unless] = ACTIONS(750),
    [anon_sym_while] = ACTIONS(750),
    [anon_sym_until] = ACTIONS(750),
    [anon_sym_rescue] = ACTIONS(750),
    [anon_sym_for] = ACTIONS(750),
    [anon_sym_in] = ACTIONS(750),
    [anon_sym_do] = ACTIONS(750),
    [anon_sym_case] = ACTIONS(750),
    [anon_sym_when] = ACTIONS(750),
    [anon_sym_elsif] = ACTIONS(750),
    [anon_sym_else] = ACTIONS(750),
    [anon_sym_then] = ACTIONS(750),
    [anon_sym_begin] = ACTIONS(750),
    [anon_sym_ensure] = ACTIONS(750),
    [anon_sym_EQ_GT] = ACTIONS(748),
    [anon_sym_AMP_DOT] = ACTIONS(748),
    [anon_sym_PLUS_EQ] = ACTIONS(748),
    [anon_sym_DASH_EQ] = ACTIONS(748),
    [anon_sym_STAR_EQ] = ACTIONS(748),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(748),
    [anon_sym_SLASH_EQ] = ACTIONS(748),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(748),
    [anon_sym_PIPE_EQ] = ACTIONS(748),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(748),
    [anon_sym_AMP_EQ] = ACTIONS(748),
    [anon_sym_PERCENT_EQ] = ACTIONS(748),
    [anon_sym_GT_GT_EQ] = ACTIONS(748),
    [anon_sym_LT_LT_EQ] = ACTIONS(748),
    [anon_sym_CARET_EQ] = ACTIONS(748),
    [anon_sym_QMARK] = ACTIONS(750),
    [anon_sym_DOT_DOT] = ACTIONS(750),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(748),
    [anon_sym_and] = ACTIONS(750),
    [anon_sym_or] = ACTIONS(750),
    [anon_sym_PIPE_PIPE] = ACTIONS(750),
    [anon_sym_AMP_AMP] = ACTIONS(750),
    [anon_sym_LT_LT] = ACTIONS(750),
    [anon_sym_GT_GT] = ACTIONS(750),
    [anon_sym_EQ_EQ] = ACTIONS(750),
    [anon_sym_BANG_EQ] = ACTIONS(748),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(748),
    [anon_sym_LT_EQ_GT] = ACTIONS(748),
    [anon_sym_EQ_TILDE] = ACTIONS(748),
    [anon_sym_BANG_TILDE] = ACTIONS(748),
    [anon_sym_LT_EQ] = ACTIONS(750),
    [anon_sym_GT] = ACTIONS(750),
    [anon_sym_GT_EQ] = ACTIONS(748),
    [anon_sym_CARET] = ACTIONS(750),
    [anon_sym_PLUS] = ACTIONS(750),
    [anon_sym_SLASH] = ACTIONS(750),
    [anon_sym_PERCENT] = ACTIONS(750),
    [anon_sym_defined_QMARK] = ACTIONS(748),
    [anon_sym_not] = ACTIONS(750),
    [anon_sym_BANG] = ACTIONS(750),
    [anon_sym_TILDE] = ACTIONS(748),
    [sym_constant] = ACTIONS(752),
    [sym_identifier] = ACTIONS(752),
    [sym_instance_variable] = ACTIONS(750),
    [sym_class_variable] = ACTIONS(750),
    [sym_global_variable] = ACTIONS(750),
    [anon_sym_alias] = ACTIONS(750),
    [anon_sym_defined] = ACTIONS(750),
    [anon_sym_false] = ACTIONS(750),
    [anon_sym_nil] = ACTIONS(750),
    [anon_sym_self] = ACTIONS(750),
    [anon_sym_super] = ACTIONS(750),
    [anon_sym_true] = ACTIONS(750),
    [anon_sym_undef] = ACTIONS(750),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(750),
    [sym_float] = ACTIONS(752),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(748),
    [anon_sym_TRUE] = ACTIONS(750),
    [anon_sym_FALSE] = ACTIONS(750),
    [anon_sym_NIL] = ACTIONS(750),
    [sym_keyword__FILE__] = ACTIONS(750),
    [sym_keyword__LINE__] = ACTIONS(750),
    [sym_keyword__ENCODING__] = ACTIONS(750),
    [sym__character_literal] = ACTIONS(750),
    [anon_sym_LBRACK] = ACTIONS(748),
    [anon_sym_DASH_GT] = ACTIONS(748),
  },
  [683] = {
    [sym__simple_string] = ACTIONS(754),
    [sym__simple_symbol] = ACTIONS(754),
    [sym__simple_subshell] = ACTIONS(754),
    [sym__simple_regex] = ACTIONS(754),
    [sym__simple_word_list] = ACTIONS(754),
    [sym__simple_heredoc_body] = ACTIONS(754),
    [sym__string_beginning] = ACTIONS(754),
    [sym__symbol_beginning] = ACTIONS(754),
    [sym__subshell_beginning] = ACTIONS(754),
    [sym__regex_beginning] = ACTIONS(754),
    [sym__word_list_beginning] = ACTIONS(754),
    [sym__heredoc_body_beginning] = ACTIONS(754),
    [sym__string_middle] = ACTIONS(754),
    [sym__string_end] = ACTIONS(754),
    [sym_heredoc_beginning] = ACTIONS(754),
    [sym__element_reference_left_bracket] = ACTIONS(754),
    [sym__block_ampersand] = ACTIONS(754),
    [sym__splat_star] = ACTIONS(754),
    [sym__argument_list_left_paren] = ACTIONS(754),
    [sym__scope_double_colon] = ACTIONS(754),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(754),
    [sym__binary_minus] = ACTIONS(754),
    [sym__binary_star] = ACTIONS(754),
    [anon_sym_LBRACE] = ACTIONS(754),
    [anon_sym_def] = ACTIONS(756),
    [anon_sym_LPAREN] = ACTIONS(754),
    [anon_sym_DOT] = ACTIONS(756),
    [anon_sym_COLON_COLON] = ACTIONS(754),
    [anon_sym_end] = ACTIONS(756),
    [anon_sym_COMMA] = ACTIONS(754),
    [anon_sym_PIPE] = ACTIONS(756),
    [anon_sym_STAR] = ACTIONS(756),
    [anon_sym_STAR_STAR] = ACTIONS(756),
    [anon_sym_AMP] = ACTIONS(756),
    [anon_sym_EQ] = ACTIONS(756),
    [anon_sym_class] = ACTIONS(756),
    [anon_sym_LT] = ACTIONS(756),
    [anon_sym_module] = ACTIONS(756),
    [anon_sym_return] = ACTIONS(756),
    [anon_sym_yield] = ACTIONS(756),
    [anon_sym_break] = ACTIONS(756),
    [anon_sym_next] = ACTIONS(756),
    [anon_sym_redo] = ACTIONS(756),
    [anon_sym_retry] = ACTIONS(756),
    [anon_sym_if] = ACTIONS(756),
    [anon_sym_unless] = ACTIONS(756),
    [anon_sym_while] = ACTIONS(756),
    [anon_sym_until] = ACTIONS(756),
    [anon_sym_rescue] = ACTIONS(756),
    [anon_sym_for] = ACTIONS(756),
    [anon_sym_in] = ACTIONS(756),
    [anon_sym_do] = ACTIONS(756),
    [anon_sym_case] = ACTIONS(756),
    [anon_sym_when] = ACTIONS(756),
    [anon_sym_elsif] = ACTIONS(756),
    [anon_sym_else] = ACTIONS(756),
    [anon_sym_then] = ACTIONS(756),
    [anon_sym_begin] = ACTIONS(756),
    [anon_sym_ensure] = ACTIONS(756),
    [anon_sym_EQ_GT] = ACTIONS(754),
    [anon_sym_AMP_DOT] = ACTIONS(754),
    [anon_sym_PLUS_EQ] = ACTIONS(754),
    [anon_sym_DASH_EQ] = ACTIONS(754),
    [anon_sym_STAR_EQ] = ACTIONS(754),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(754),
    [anon_sym_SLASH_EQ] = ACTIONS(754),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(754),
    [anon_sym_PIPE_EQ] = ACTIONS(754),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(754),
    [anon_sym_AMP_EQ] = ACTIONS(754),
    [anon_sym_PERCENT_EQ] = ACTIONS(754),
    [anon_sym_GT_GT_EQ] = ACTIONS(754),
    [anon_sym_LT_LT_EQ] = ACTIONS(754),
    [anon_sym_CARET_EQ] = ACTIONS(754),
    [anon_sym_QMARK] = ACTIONS(756),
    [anon_sym_DOT_DOT] = ACTIONS(756),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(754),
    [anon_sym_and] = ACTIONS(756),
    [anon_sym_or] = ACTIONS(756),
    [anon_sym_PIPE_PIPE] = ACTIONS(756),
    [anon_sym_AMP_AMP] = ACTIONS(756),
    [anon_sym_LT_LT] = ACTIONS(756),
    [anon_sym_GT_GT] = ACTIONS(756),
    [anon_sym_EQ_EQ] = ACTIONS(756),
    [anon_sym_BANG_EQ] = ACTIONS(754),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(754),
    [anon_sym_LT_EQ_GT] = ACTIONS(754),
    [anon_sym_EQ_TILDE] = ACTIONS(754),
    [anon_sym_BANG_TILDE] = ACTIONS(754),
    [anon_sym_LT_EQ] = ACTIONS(756),
    [anon_sym_GT] = ACTIONS(756),
    [anon_sym_GT_EQ] = ACTIONS(754),
    [anon_sym_CARET] = ACTIONS(756),
    [anon_sym_PLUS] = ACTIONS(756),
    [anon_sym_SLASH] = ACTIONS(756),
    [anon_sym_PERCENT] = ACTIONS(756),
    [anon_sym_defined_QMARK] = ACTIONS(754),
    [anon_sym_not] = ACTIONS(756),
    [anon_sym_BANG] = ACTIONS(756),
    [anon_sym_TILDE] = ACTIONS(754),
    [sym_constant] = ACTIONS(758),
    [sym_identifier] = ACTIONS(758),
    [sym_instance_variable] = ACTIONS(756),
    [sym_class_variable] = ACTIONS(756),
    [sym_global_variable] = ACTIONS(756),
    [anon_sym_alias] = ACTIONS(756),
    [anon_sym_defined] = ACTIONS(756),
    [anon_sym_false] = ACTIONS(756),
    [anon_sym_nil] = ACTIONS(756),
    [anon_sym_self] = ACTIONS(756),
    [anon_sym_super] = ACTIONS(756),
    [anon_sym_true] = ACTIONS(756),
    [anon_sym_undef] = ACTIONS(756),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(756),
    [sym_float] = ACTIONS(758),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(754),
    [anon_sym_TRUE] = ACTIONS(756),
    [anon_sym_FALSE] = ACTIONS(756),
    [anon_sym_NIL] = ACTIONS(756),
    [sym_keyword__FILE__] = ACTIONS(756),
    [sym_keyword__LINE__] = ACTIONS(756),
    [sym_keyword__ENCODING__] = ACTIONS(756),
    [sym__character_literal] = ACTIONS(756),
    [anon_sym_LBRACK] = ACTIONS(754),
    [anon_sym_DASH_GT] = ACTIONS(754),
  },
  [684] = {
    [sym__simple_heredoc_body] = ACTIONS(760),
    [sym__heredoc_body_beginning] = ACTIONS(760),
    [sym__string_middle] = ACTIONS(760),
    [sym__string_end] = ACTIONS(760),
    [sym__element_reference_left_bracket] = ACTIONS(760),
    [sym__scope_double_colon] = ACTIONS(760),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__binary_minus] = ACTIONS(760),
    [sym__binary_star] = ACTIONS(760),
    [anon_sym_LBRACE] = ACTIONS(760),
    [anon_sym_DOT] = ACTIONS(762),
    [anon_sym_COMMA] = ACTIONS(760),
    [anon_sym_PIPE] = ACTIONS(762),
    [anon_sym_STAR_STAR] = ACTIONS(762),
    [anon_sym_AMP] = ACTIONS(762),
    [anon_sym_EQ] = ACTIONS(762),
    [anon_sym_LT] = ACTIONS(762),
    [anon_sym_if] = ACTIONS(760),
    [anon_sym_unless] = ACTIONS(760),
    [anon_sym_while] = ACTIONS(760),
    [anon_sym_until] = ACTIONS(760),
    [anon_sym_rescue] = ACTIONS(760),
    [anon_sym_do] = ACTIONS(760),
    [anon_sym_EQ_GT] = ACTIONS(760),
    [anon_sym_AMP_DOT] = ACTIONS(760),
    [anon_sym_PLUS_EQ] = ACTIONS(760),
    [anon_sym_DASH_EQ] = ACTIONS(760),
    [anon_sym_STAR_EQ] = ACTIONS(760),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(760),
    [anon_sym_SLASH_EQ] = ACTIONS(760),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(760),
    [anon_sym_PIPE_EQ] = ACTIONS(760),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(760),
    [anon_sym_AMP_EQ] = ACTIONS(760),
    [anon_sym_PERCENT_EQ] = ACTIONS(760),
    [anon_sym_GT_GT_EQ] = ACTIONS(760),
    [anon_sym_LT_LT_EQ] = ACTIONS(760),
    [anon_sym_CARET_EQ] = ACTIONS(760),
    [anon_sym_QMARK] = ACTIONS(760),
    [anon_sym_DOT_DOT] = ACTIONS(762),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(760),
    [anon_sym_and] = ACTIONS(760),
    [anon_sym_or] = ACTIONS(760),
    [anon_sym_PIPE_PIPE] = ACTIONS(762),
    [anon_sym_AMP_AMP] = ACTIONS(762),
    [anon_sym_LT_LT] = ACTIONS(762),
    [anon_sym_GT_GT] = ACTIONS(762),
    [anon_sym_EQ_EQ] = ACTIONS(762),
    [anon_sym_BANG_EQ] = ACTIONS(760),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(760),
    [anon_sym_LT_EQ_GT] = ACTIONS(760),
    [anon_sym_EQ_TILDE] = ACTIONS(760),
    [anon_sym_BANG_TILDE] = ACTIONS(760),
    [anon_sym_LT_EQ] = ACTIONS(762),
    [anon_sym_GT] = ACTIONS(762),
    [anon_sym_GT_EQ] = ACTIONS(760),
    [anon_sym_CARET] = ACTIONS(762),
    [anon_sym_PLUS] = ACTIONS(762),
    [anon_sym_SLASH] = ACTIONS(762),
    [anon_sym_PERCENT] = ACTIONS(762),
    [sym_comment] = ACTIONS(256),
  },
  [685] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__string_middle] = ACTIONS(250),
    [sym__string_end] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [anon_sym_r] = ACTIONS(3518),
  },
  [686] = {
    [sym__simple_heredoc_body] = ACTIONS(778),
    [sym__heredoc_body_beginning] = ACTIONS(778),
    [sym__string_middle] = ACTIONS(778),
    [sym__string_end] = ACTIONS(778),
    [sym__element_reference_left_bracket] = ACTIONS(778),
    [sym__scope_double_colon] = ACTIONS(778),
    [sym__binary_minus] = ACTIONS(778),
    [sym__binary_star] = ACTIONS(778),
    [anon_sym_DOT] = ACTIONS(780),
    [anon_sym_COMMA] = ACTIONS(778),
    [anon_sym_PIPE] = ACTIONS(780),
    [anon_sym_STAR_STAR] = ACTIONS(778),
    [anon_sym_AMP] = ACTIONS(780),
    [anon_sym_LT] = ACTIONS(780),
    [anon_sym_if] = ACTIONS(778),
    [anon_sym_unless] = ACTIONS(778),
    [anon_sym_while] = ACTIONS(778),
    [anon_sym_until] = ACTIONS(778),
    [anon_sym_rescue] = ACTIONS(778),
    [anon_sym_EQ_GT] = ACTIONS(778),
    [anon_sym_AMP_DOT] = ACTIONS(778),
    [anon_sym_QMARK] = ACTIONS(778),
    [anon_sym_DOT_DOT] = ACTIONS(780),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(778),
    [anon_sym_and] = ACTIONS(778),
    [anon_sym_or] = ACTIONS(778),
    [anon_sym_PIPE_PIPE] = ACTIONS(778),
    [anon_sym_AMP_AMP] = ACTIONS(778),
    [anon_sym_LT_LT] = ACTIONS(778),
    [anon_sym_GT_GT] = ACTIONS(778),
    [anon_sym_EQ_EQ] = ACTIONS(780),
    [anon_sym_BANG_EQ] = ACTIONS(778),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(778),
    [anon_sym_LT_EQ_GT] = ACTIONS(778),
    [anon_sym_EQ_TILDE] = ACTIONS(778),
    [anon_sym_BANG_TILDE] = ACTIONS(778),
    [anon_sym_LT_EQ] = ACTIONS(780),
    [anon_sym_GT] = ACTIONS(780),
    [anon_sym_GT_EQ] = ACTIONS(778),
    [anon_sym_CARET] = ACTIONS(778),
    [anon_sym_PLUS] = ACTIONS(778),
    [anon_sym_SLASH] = ACTIONS(778),
    [anon_sym_PERCENT] = ACTIONS(778),
    [sym_comment] = ACTIONS(110),
  },
  [687] = {
    [sym__simple_heredoc_body] = ACTIONS(760),
    [sym__heredoc_body_beginning] = ACTIONS(760),
    [sym__string_middle] = ACTIONS(760),
    [sym__string_end] = ACTIONS(760),
    [sym__element_reference_left_bracket] = ACTIONS(760),
    [sym__scope_double_colon] = ACTIONS(760),
    [sym__binary_minus] = ACTIONS(760),
    [sym__binary_star] = ACTIONS(760),
    [anon_sym_LBRACE] = ACTIONS(760),
    [anon_sym_DOT] = ACTIONS(762),
    [anon_sym_COMMA] = ACTIONS(760),
    [anon_sym_PIPE] = ACTIONS(762),
    [anon_sym_STAR_STAR] = ACTIONS(762),
    [anon_sym_AMP] = ACTIONS(762),
    [anon_sym_EQ] = ACTIONS(762),
    [anon_sym_LT] = ACTIONS(762),
    [anon_sym_if] = ACTIONS(760),
    [anon_sym_unless] = ACTIONS(760),
    [anon_sym_while] = ACTIONS(760),
    [anon_sym_until] = ACTIONS(760),
    [anon_sym_rescue] = ACTIONS(760),
    [anon_sym_do] = ACTIONS(760),
    [anon_sym_EQ_GT] = ACTIONS(760),
    [anon_sym_AMP_DOT] = ACTIONS(760),
    [anon_sym_PLUS_EQ] = ACTIONS(760),
    [anon_sym_DASH_EQ] = ACTIONS(760),
    [anon_sym_STAR_EQ] = ACTIONS(760),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(760),
    [anon_sym_SLASH_EQ] = ACTIONS(760),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(760),
    [anon_sym_PIPE_EQ] = ACTIONS(760),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(760),
    [anon_sym_AMP_EQ] = ACTIONS(760),
    [anon_sym_PERCENT_EQ] = ACTIONS(760),
    [anon_sym_GT_GT_EQ] = ACTIONS(760),
    [anon_sym_LT_LT_EQ] = ACTIONS(760),
    [anon_sym_CARET_EQ] = ACTIONS(760),
    [anon_sym_QMARK] = ACTIONS(760),
    [anon_sym_DOT_DOT] = ACTIONS(762),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(760),
    [anon_sym_and] = ACTIONS(760),
    [anon_sym_or] = ACTIONS(760),
    [anon_sym_PIPE_PIPE] = ACTIONS(762),
    [anon_sym_AMP_AMP] = ACTIONS(762),
    [anon_sym_LT_LT] = ACTIONS(762),
    [anon_sym_GT_GT] = ACTIONS(762),
    [anon_sym_EQ_EQ] = ACTIONS(762),
    [anon_sym_BANG_EQ] = ACTIONS(760),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(760),
    [anon_sym_LT_EQ_GT] = ACTIONS(760),
    [anon_sym_EQ_TILDE] = ACTIONS(760),
    [anon_sym_BANG_TILDE] = ACTIONS(760),
    [anon_sym_LT_EQ] = ACTIONS(762),
    [anon_sym_GT] = ACTIONS(762),
    [anon_sym_GT_EQ] = ACTIONS(760),
    [anon_sym_CARET] = ACTIONS(762),
    [anon_sym_PLUS] = ACTIONS(762),
    [anon_sym_SLASH] = ACTIONS(762),
    [anon_sym_PERCENT] = ACTIONS(762),
    [sym_comment] = ACTIONS(256),
  },
  [688] = {
    [sym__simple_heredoc_body] = ACTIONS(740),
    [sym__heredoc_body_beginning] = ACTIONS(740),
    [sym__string_middle] = ACTIONS(740),
    [sym__string_end] = ACTIONS(740),
    [sym__element_reference_left_bracket] = ACTIONS(740),
    [sym__scope_double_colon] = ACTIONS(740),
    [sym__binary_minus] = ACTIONS(740),
    [sym__binary_star] = ACTIONS(740),
    [anon_sym_LBRACE] = ACTIONS(740),
    [anon_sym_DOT] = ACTIONS(742),
    [anon_sym_COMMA] = ACTIONS(740),
    [anon_sym_PIPE] = ACTIONS(742),
    [anon_sym_STAR_STAR] = ACTIONS(742),
    [anon_sym_AMP] = ACTIONS(742),
    [anon_sym_EQ] = ACTIONS(742),
    [anon_sym_LT] = ACTIONS(742),
    [anon_sym_if] = ACTIONS(740),
    [anon_sym_unless] = ACTIONS(740),
    [anon_sym_while] = ACTIONS(740),
    [anon_sym_until] = ACTIONS(740),
    [anon_sym_rescue] = ACTIONS(740),
    [anon_sym_do] = ACTIONS(740),
    [anon_sym_EQ_GT] = ACTIONS(740),
    [anon_sym_AMP_DOT] = ACTIONS(740),
    [anon_sym_PLUS_EQ] = ACTIONS(740),
    [anon_sym_DASH_EQ] = ACTIONS(740),
    [anon_sym_STAR_EQ] = ACTIONS(740),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(740),
    [anon_sym_SLASH_EQ] = ACTIONS(740),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(740),
    [anon_sym_PIPE_EQ] = ACTIONS(740),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(740),
    [anon_sym_AMP_EQ] = ACTIONS(740),
    [anon_sym_PERCENT_EQ] = ACTIONS(740),
    [anon_sym_GT_GT_EQ] = ACTIONS(740),
    [anon_sym_LT_LT_EQ] = ACTIONS(740),
    [anon_sym_CARET_EQ] = ACTIONS(740),
    [anon_sym_QMARK] = ACTIONS(740),
    [anon_sym_DOT_DOT] = ACTIONS(742),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(740),
    [anon_sym_and] = ACTIONS(740),
    [anon_sym_or] = ACTIONS(740),
    [anon_sym_PIPE_PIPE] = ACTIONS(742),
    [anon_sym_AMP_AMP] = ACTIONS(742),
    [anon_sym_LT_LT] = ACTIONS(742),
    [anon_sym_GT_GT] = ACTIONS(742),
    [anon_sym_EQ_EQ] = ACTIONS(742),
    [anon_sym_BANG_EQ] = ACTIONS(740),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(740),
    [anon_sym_LT_EQ_GT] = ACTIONS(740),
    [anon_sym_EQ_TILDE] = ACTIONS(740),
    [anon_sym_BANG_TILDE] = ACTIONS(740),
    [anon_sym_LT_EQ] = ACTIONS(742),
    [anon_sym_GT] = ACTIONS(742),
    [anon_sym_GT_EQ] = ACTIONS(740),
    [anon_sym_CARET] = ACTIONS(742),
    [anon_sym_PLUS] = ACTIONS(742),
    [anon_sym_SLASH] = ACTIONS(742),
    [anon_sym_PERCENT] = ACTIONS(742),
    [sym_comment] = ACTIONS(256),
  },
  [689] = {
    [sym__simple_heredoc_body] = ACTIONS(744),
    [sym__heredoc_body_beginning] = ACTIONS(744),
    [sym__string_middle] = ACTIONS(744),
    [sym__string_end] = ACTIONS(744),
    [sym__element_reference_left_bracket] = ACTIONS(744),
    [sym__scope_double_colon] = ACTIONS(744),
    [sym__binary_minus] = ACTIONS(744),
    [sym__binary_star] = ACTIONS(744),
    [anon_sym_LBRACE] = ACTIONS(744),
    [anon_sym_DOT] = ACTIONS(746),
    [anon_sym_COMMA] = ACTIONS(744),
    [anon_sym_PIPE] = ACTIONS(746),
    [anon_sym_STAR_STAR] = ACTIONS(746),
    [anon_sym_AMP] = ACTIONS(746),
    [anon_sym_EQ] = ACTIONS(746),
    [anon_sym_LT] = ACTIONS(746),
    [anon_sym_if] = ACTIONS(744),
    [anon_sym_unless] = ACTIONS(744),
    [anon_sym_while] = ACTIONS(744),
    [anon_sym_until] = ACTIONS(744),
    [anon_sym_rescue] = ACTIONS(744),
    [anon_sym_do] = ACTIONS(744),
    [anon_sym_EQ_GT] = ACTIONS(744),
    [anon_sym_AMP_DOT] = ACTIONS(744),
    [anon_sym_PLUS_EQ] = ACTIONS(744),
    [anon_sym_DASH_EQ] = ACTIONS(744),
    [anon_sym_STAR_EQ] = ACTIONS(744),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(744),
    [anon_sym_SLASH_EQ] = ACTIONS(744),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(744),
    [anon_sym_PIPE_EQ] = ACTIONS(744),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(744),
    [anon_sym_AMP_EQ] = ACTIONS(744),
    [anon_sym_PERCENT_EQ] = ACTIONS(744),
    [anon_sym_GT_GT_EQ] = ACTIONS(744),
    [anon_sym_LT_LT_EQ] = ACTIONS(744),
    [anon_sym_CARET_EQ] = ACTIONS(744),
    [anon_sym_QMARK] = ACTIONS(744),
    [anon_sym_DOT_DOT] = ACTIONS(746),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(744),
    [anon_sym_and] = ACTIONS(744),
    [anon_sym_or] = ACTIONS(744),
    [anon_sym_PIPE_PIPE] = ACTIONS(746),
    [anon_sym_AMP_AMP] = ACTIONS(746),
    [anon_sym_LT_LT] = ACTIONS(746),
    [anon_sym_GT_GT] = ACTIONS(746),
    [anon_sym_EQ_EQ] = ACTIONS(746),
    [anon_sym_BANG_EQ] = ACTIONS(744),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(744),
    [anon_sym_LT_EQ_GT] = ACTIONS(744),
    [anon_sym_EQ_TILDE] = ACTIONS(744),
    [anon_sym_BANG_TILDE] = ACTIONS(744),
    [anon_sym_LT_EQ] = ACTIONS(746),
    [anon_sym_GT] = ACTIONS(746),
    [anon_sym_GT_EQ] = ACTIONS(744),
    [anon_sym_CARET] = ACTIONS(746),
    [anon_sym_PLUS] = ACTIONS(746),
    [anon_sym_SLASH] = ACTIONS(746),
    [anon_sym_PERCENT] = ACTIONS(746),
    [sym_comment] = ACTIONS(256),
  },
  [690] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(501),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(2343),
    [sym__argument] = STATE(506),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(509),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(510),
    [sym__variable] = STATE(504),
    [sym_reserved_identifier] = STATE(511),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(512),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(2344),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(804),
    [sym__splat_star] = ACTIONS(806),
    [sym__unary_minus] = ACTIONS(808),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(818),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(824),
    [anon_sym_yield] = ACTIONS(826),
    [anon_sym_break] = ACTIONS(828),
    [anon_sym_next] = ACTIONS(830),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_RBRACK] = ACTIONS(3520),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(852),
    [anon_sym_defined_QMARK] = ACTIONS(854),
    [anon_sym_not] = ACTIONS(856),
    [anon_sym_BANG] = ACTIONS(858),
    [anon_sym_TILDE] = ACTIONS(858),
    [sym_constant] = ACTIONS(860),
    [sym_identifier] = ACTIONS(860),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [691] = {
    [sym_lambda_parameters] = STATE(2347),
    [sym__simple_formal_parameter] = STATE(522),
    [sym_splat_parameter] = STATE(523),
    [sym_hash_splat_parameter] = STATE(523),
    [sym_block_parameter] = STATE(523),
    [sym_keyword_parameter] = STATE(523),
    [sym_optional_parameter] = STATE(523),
    [sym_do_block] = STATE(2348),
    [sym_block] = STATE(2348),
    [anon_sym_LBRACE] = ACTIONS(3522),
    [anon_sym_LPAREN] = ACTIONS(896),
    [anon_sym_STAR] = ACTIONS(898),
    [anon_sym_STAR_STAR] = ACTIONS(900),
    [anon_sym_AMP] = ACTIONS(902),
    [anon_sym_do] = ACTIONS(3524),
    [sym_identifier] = ACTIONS(906),
    [sym_comment] = ACTIONS(110),
  },
  [692] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__string_middle] = ACTIONS(2210),
    [sym__string_end] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(3526),
    [sym__binary_star] = ACTIONS(3528),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(3530),
    [anon_sym_STAR_STAR] = ACTIONS(3532),
    [anon_sym_AMP] = ACTIONS(3534),
    [anon_sym_LT] = ACTIONS(3536),
    [anon_sym_if] = ACTIONS(2210),
    [anon_sym_unless] = ACTIONS(2210),
    [anon_sym_while] = ACTIONS(2210),
    [anon_sym_until] = ACTIONS(2210),
    [anon_sym_rescue] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(3516),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(3538),
    [anon_sym_DOT_DOT] = ACTIONS(3540),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3542),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(3544),
    [anon_sym_AMP_AMP] = ACTIONS(3544),
    [anon_sym_LT_LT] = ACTIONS(3546),
    [anon_sym_GT_GT] = ACTIONS(3546),
    [anon_sym_EQ_EQ] = ACTIONS(3548),
    [anon_sym_BANG_EQ] = ACTIONS(3544),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3544),
    [anon_sym_LT_EQ_GT] = ACTIONS(3544),
    [anon_sym_EQ_TILDE] = ACTIONS(3544),
    [anon_sym_BANG_TILDE] = ACTIONS(3544),
    [anon_sym_LT_EQ] = ACTIONS(3536),
    [anon_sym_GT] = ACTIONS(3536),
    [anon_sym_GT_EQ] = ACTIONS(3550),
    [anon_sym_CARET] = ACTIONS(3552),
    [anon_sym_PLUS] = ACTIONS(3554),
    [anon_sym_SLASH] = ACTIONS(3532),
    [anon_sym_PERCENT] = ACTIONS(3532),
    [sym_comment] = ACTIONS(110),
  },
  [693] = {
    [sym__simple_heredoc_body] = ACTIONS(968),
    [sym__heredoc_body_beginning] = ACTIONS(968),
    [sym__string_middle] = ACTIONS(968),
    [sym__string_end] = ACTIONS(968),
    [sym__element_reference_left_bracket] = ACTIONS(3556),
    [sym__scope_double_colon] = ACTIONS(3558),
    [sym__binary_minus] = ACTIONS(968),
    [sym__binary_star] = ACTIONS(968),
    [anon_sym_DOT] = ACTIONS(3560),
    [anon_sym_COMMA] = ACTIONS(968),
    [anon_sym_PIPE] = ACTIONS(976),
    [anon_sym_STAR_STAR] = ACTIONS(968),
    [anon_sym_AMP] = ACTIONS(976),
    [anon_sym_LT] = ACTIONS(976),
    [anon_sym_if] = ACTIONS(968),
    [anon_sym_unless] = ACTIONS(968),
    [anon_sym_while] = ACTIONS(968),
    [anon_sym_until] = ACTIONS(968),
    [anon_sym_rescue] = ACTIONS(968),
    [anon_sym_EQ_GT] = ACTIONS(968),
    [anon_sym_AMP_DOT] = ACTIONS(3562),
    [anon_sym_QMARK] = ACTIONS(968),
    [anon_sym_DOT_DOT] = ACTIONS(976),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(968),
    [anon_sym_and] = ACTIONS(968),
    [anon_sym_or] = ACTIONS(968),
    [anon_sym_PIPE_PIPE] = ACTIONS(968),
    [anon_sym_AMP_AMP] = ACTIONS(968),
    [anon_sym_LT_LT] = ACTIONS(968),
    [anon_sym_GT_GT] = ACTIONS(968),
    [anon_sym_EQ_EQ] = ACTIONS(976),
    [anon_sym_BANG_EQ] = ACTIONS(968),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(968),
    [anon_sym_LT_EQ_GT] = ACTIONS(968),
    [anon_sym_EQ_TILDE] = ACTIONS(968),
    [anon_sym_BANG_TILDE] = ACTIONS(968),
    [anon_sym_LT_EQ] = ACTIONS(976),
    [anon_sym_GT] = ACTIONS(976),
    [anon_sym_GT_EQ] = ACTIONS(968),
    [anon_sym_CARET] = ACTIONS(968),
    [anon_sym_PLUS] = ACTIONS(968),
    [anon_sym_SLASH] = ACTIONS(968),
    [anon_sym_PERCENT] = ACTIONS(968),
    [sym_comment] = ACTIONS(110),
  },
  [694] = {
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym__string_middle] = ACTIONS(980),
    [sym__string_end] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(980),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_if] = ACTIONS(980),
    [anon_sym_unless] = ACTIONS(980),
    [anon_sym_while] = ACTIONS(980),
    [anon_sym_until] = ACTIONS(980),
    [anon_sym_rescue] = ACTIONS(980),
    [anon_sym_do] = ACTIONS(980),
    [anon_sym_EQ_GT] = ACTIONS(980),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(980),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(980),
    [anon_sym_or] = ACTIONS(980),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [sym_comment] = ACTIONS(256),
  },
  [695] = {
    [sym_method] = STATE(769),
    [sym_singleton_method] = STATE(769),
    [sym_class] = STATE(769),
    [sym_singleton_class] = STATE(769),
    [sym_module] = STATE(769),
    [sym_return] = STATE(769),
    [sym_yield] = STATE(769),
    [sym_break] = STATE(769),
    [sym_next] = STATE(769),
    [sym_redo] = STATE(769),
    [sym_retry] = STATE(769),
    [sym_while] = STATE(769),
    [sym_until] = STATE(769),
    [sym_for] = STATE(769),
    [sym_case] = STATE(769),
    [sym_if] = STATE(769),
    [sym_unless] = STATE(769),
    [sym_begin] = STATE(769),
    [sym__arg] = STATE(2371),
    [sym__primary] = STATE(804),
    [sym_parenthesized_statements] = STATE(769),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(805),
    [sym_call] = STATE(805),
    [sym_method_call] = STATE(694),
    [sym_argument_list] = STATE(2372),
    [sym__argument_list_with_parens] = STATE(2373),
    [sym__argument] = STATE(2374),
    [sym_splat_argument] = STATE(2375),
    [sym_hash_splat_argument] = STATE(2375),
    [sym_block_argument] = STATE(2375),
    [sym_do_block] = STATE(2376),
    [sym_block] = STATE(2376),
    [sym_assignment] = STATE(811),
    [sym_operator_assignment] = STATE(811),
    [sym_conditional] = STATE(811),
    [sym_range] = STATE(811),
    [sym_binary] = STATE(811),
    [sym_unary] = STATE(811),
    [sym_left_assignment_list] = STATE(812),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(813),
    [sym__variable] = STATE(805),
    [sym_reserved_identifier] = STATE(2377),
    [sym_symbol] = STATE(769),
    [sym_complex] = STATE(769),
    [sym_rational] = STATE(769),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(769),
    [sym_string] = STATE(2378),
    [sym_subshell] = STATE(769),
    [sym_array] = STATE(769),
    [sym_hash] = STATE(769),
    [sym_pair] = STATE(2375),
    [sym_regex] = STATE(769),
    [sym_lambda] = STATE(769),
    [sym__simple_string] = ACTIONS(1274),
    [sym__simple_symbol] = ACTIONS(1276),
    [sym__simple_subshell] = ACTIONS(1278),
    [sym__simple_regex] = ACTIONS(1280),
    [sym__simple_word_list] = ACTIONS(1282),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(1284),
    [sym__symbol_beginning] = ACTIONS(1286),
    [sym__subshell_beginning] = ACTIONS(1288),
    [sym__regex_beginning] = ACTIONS(1290),
    [sym__word_list_beginning] = ACTIONS(1292),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym__string_middle] = ACTIONS(980),
    [sym__string_end] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1294),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(3564),
    [sym__splat_star] = ACTIONS(3566),
    [sym__argument_list_left_paren] = ACTIONS(3568),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(1302),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(3570),
    [anon_sym_def] = ACTIONS(1306),
    [anon_sym_LPAREN] = ACTIONS(1308),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1310),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1312),
    [anon_sym_return] = ACTIONS(1314),
    [anon_sym_yield] = ACTIONS(1316),
    [anon_sym_break] = ACTIONS(1318),
    [anon_sym_next] = ACTIONS(1320),
    [anon_sym_redo] = ACTIONS(1322),
    [anon_sym_retry] = ACTIONS(1324),
    [anon_sym_if] = ACTIONS(982),
    [anon_sym_unless] = ACTIONS(982),
    [anon_sym_while] = ACTIONS(982),
    [anon_sym_until] = ACTIONS(982),
    [anon_sym_rescue] = ACTIONS(982),
    [anon_sym_for] = ACTIONS(1326),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(3572),
    [anon_sym_case] = ACTIONS(1330),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1332),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(980),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(1334),
    [anon_sym_not] = ACTIONS(1336),
    [anon_sym_BANG] = ACTIONS(1338),
    [anon_sym_TILDE] = ACTIONS(1340),
    [sym_constant] = ACTIONS(3574),
    [sym_identifier] = ACTIONS(3574),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(1168),
    [anon_sym_nil] = ACTIONS(1170),
    [anon_sym_self] = ACTIONS(1172),
    [anon_sym_super] = ACTIONS(1174),
    [anon_sym_true] = ACTIONS(1176),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1344),
    [sym_float] = ACTIONS(1346),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1348),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1350),
    [sym_keyword__LINE__] = ACTIONS(1350),
    [sym_keyword__ENCODING__] = ACTIONS(1350),
    [sym__character_literal] = ACTIONS(1352),
    [anon_sym_LBRACK] = ACTIONS(1354),
    [anon_sym_DASH_GT] = ACTIONS(1356),
  },
  [696] = {
    [sym__string_middle] = ACTIONS(2264),
    [sym__string_end] = ACTIONS(2264),
    [sym__element_reference_left_bracket] = ACTIONS(2264),
    [sym__scope_double_colon] = ACTIONS(2264),
    [sym__binary_minus] = ACTIONS(2264),
    [sym__binary_star] = ACTIONS(2264),
    [anon_sym_DOT] = ACTIONS(2266),
    [anon_sym_COMMA] = ACTIONS(2264),
    [anon_sym_PIPE] = ACTIONS(2266),
    [anon_sym_STAR_STAR] = ACTIONS(2264),
    [anon_sym_AMP] = ACTIONS(2266),
    [anon_sym_LT] = ACTIONS(2266),
    [anon_sym_if] = ACTIONS(2264),
    [anon_sym_unless] = ACTIONS(2264),
    [anon_sym_while] = ACTIONS(2264),
    [anon_sym_until] = ACTIONS(2264),
    [anon_sym_rescue] = ACTIONS(2264),
    [anon_sym_AMP_DOT] = ACTIONS(2264),
    [anon_sym_QMARK] = ACTIONS(2264),
    [anon_sym_DOT_DOT] = ACTIONS(2266),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2264),
    [anon_sym_and] = ACTIONS(2264),
    [anon_sym_or] = ACTIONS(2264),
    [anon_sym_PIPE_PIPE] = ACTIONS(2264),
    [anon_sym_AMP_AMP] = ACTIONS(2264),
    [anon_sym_LT_LT] = ACTIONS(2264),
    [anon_sym_GT_GT] = ACTIONS(2264),
    [anon_sym_EQ_EQ] = ACTIONS(2266),
    [anon_sym_BANG_EQ] = ACTIONS(2264),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2264),
    [anon_sym_LT_EQ_GT] = ACTIONS(2264),
    [anon_sym_EQ_TILDE] = ACTIONS(2264),
    [anon_sym_BANG_TILDE] = ACTIONS(2264),
    [anon_sym_LT_EQ] = ACTIONS(2266),
    [anon_sym_GT] = ACTIONS(2266),
    [anon_sym_GT_EQ] = ACTIONS(2264),
    [anon_sym_CARET] = ACTIONS(2264),
    [anon_sym_PLUS] = ACTIONS(2264),
    [anon_sym_SLASH] = ACTIONS(2264),
    [anon_sym_PERCENT] = ACTIONS(2264),
    [sym_comment] = ACTIONS(110),
  },
  [697] = {
    [sym_heredoc_end] = STATE(2381),
    [aux_sym_argument_list_repeat2] = STATE(2382),
    [sym__simple_heredoc_body] = ACTIONS(3576),
    [sym__heredoc_body_beginning] = ACTIONS(3578),
    [sym__string_middle] = ACTIONS(2272),
    [sym__string_end] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(2272),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_STAR_STAR] = ACTIONS(2272),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_if] = ACTIONS(2272),
    [anon_sym_unless] = ACTIONS(2272),
    [anon_sym_while] = ACTIONS(2272),
    [anon_sym_until] = ACTIONS(2272),
    [anon_sym_rescue] = ACTIONS(2272),
    [anon_sym_EQ_GT] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2272),
    [anon_sym_AMP_AMP] = ACTIONS(2272),
    [anon_sym_LT_LT] = ACTIONS(2272),
    [anon_sym_GT_GT] = ACTIONS(2272),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2272),
    [anon_sym_PLUS] = ACTIONS(2272),
    [anon_sym_SLASH] = ACTIONS(2272),
    [anon_sym_PERCENT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(110),
  },
  [698] = {
    [sym_heredoc_end] = STATE(2381),
    [aux_sym_argument_list_repeat1] = STATE(2384),
    [aux_sym_argument_list_repeat2] = STATE(2382),
    [sym__simple_heredoc_body] = ACTIONS(3576),
    [sym__heredoc_body_beginning] = ACTIONS(3578),
    [sym__string_middle] = ACTIONS(2272),
    [sym__string_end] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(3580),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_STAR_STAR] = ACTIONS(2272),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_if] = ACTIONS(2272),
    [anon_sym_unless] = ACTIONS(2272),
    [anon_sym_while] = ACTIONS(2272),
    [anon_sym_until] = ACTIONS(2272),
    [anon_sym_rescue] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2272),
    [anon_sym_AMP_AMP] = ACTIONS(2272),
    [anon_sym_LT_LT] = ACTIONS(2272),
    [anon_sym_GT_GT] = ACTIONS(2272),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2272),
    [anon_sym_PLUS] = ACTIONS(2272),
    [anon_sym_SLASH] = ACTIONS(2272),
    [anon_sym_PERCENT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(110),
  },
  [699] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__string_middle] = ACTIONS(2210),
    [sym__string_end] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(2210),
    [sym__binary_star] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(2216),
    [anon_sym_STAR_STAR] = ACTIONS(2210),
    [anon_sym_AMP] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(2216),
    [anon_sym_if] = ACTIONS(2210),
    [anon_sym_unless] = ACTIONS(2210),
    [anon_sym_while] = ACTIONS(2210),
    [anon_sym_until] = ACTIONS(2210),
    [anon_sym_rescue] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(2210),
    [anon_sym_DOT_DOT] = ACTIONS(2216),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2210),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(2210),
    [anon_sym_AMP_AMP] = ACTIONS(2210),
    [anon_sym_LT_LT] = ACTIONS(2210),
    [anon_sym_GT_GT] = ACTIONS(2210),
    [anon_sym_EQ_EQ] = ACTIONS(2216),
    [anon_sym_BANG_EQ] = ACTIONS(2210),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2210),
    [anon_sym_LT_EQ_GT] = ACTIONS(2210),
    [anon_sym_EQ_TILDE] = ACTIONS(2210),
    [anon_sym_BANG_TILDE] = ACTIONS(2210),
    [anon_sym_LT_EQ] = ACTIONS(2216),
    [anon_sym_GT] = ACTIONS(2216),
    [anon_sym_GT_EQ] = ACTIONS(2210),
    [anon_sym_CARET] = ACTIONS(2210),
    [anon_sym_PLUS] = ACTIONS(2210),
    [anon_sym_SLASH] = ACTIONS(2210),
    [anon_sym_PERCENT] = ACTIONS(2210),
    [sym_comment] = ACTIONS(110),
  },
  [700] = {
    [sym__simple_heredoc_body] = ACTIONS(968),
    [sym__heredoc_body_beginning] = ACTIONS(968),
    [sym__string_middle] = ACTIONS(968),
    [sym__string_end] = ACTIONS(968),
    [sym__element_reference_left_bracket] = ACTIONS(968),
    [sym__scope_double_colon] = ACTIONS(968),
    [sym__binary_minus] = ACTIONS(968),
    [sym__binary_star] = ACTIONS(968),
    [anon_sym_DOT] = ACTIONS(976),
    [anon_sym_COMMA] = ACTIONS(968),
    [anon_sym_PIPE] = ACTIONS(976),
    [anon_sym_STAR_STAR] = ACTIONS(968),
    [anon_sym_AMP] = ACTIONS(976),
    [anon_sym_LT] = ACTIONS(976),
    [anon_sym_if] = ACTIONS(968),
    [anon_sym_unless] = ACTIONS(968),
    [anon_sym_while] = ACTIONS(968),
    [anon_sym_until] = ACTIONS(968),
    [anon_sym_rescue] = ACTIONS(968),
    [anon_sym_EQ_GT] = ACTIONS(968),
    [anon_sym_AMP_DOT] = ACTIONS(968),
    [anon_sym_QMARK] = ACTIONS(968),
    [anon_sym_DOT_DOT] = ACTIONS(976),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(968),
    [anon_sym_and] = ACTIONS(968),
    [anon_sym_or] = ACTIONS(968),
    [anon_sym_PIPE_PIPE] = ACTIONS(968),
    [anon_sym_AMP_AMP] = ACTIONS(968),
    [anon_sym_LT_LT] = ACTIONS(968),
    [anon_sym_GT_GT] = ACTIONS(968),
    [anon_sym_EQ_EQ] = ACTIONS(976),
    [anon_sym_BANG_EQ] = ACTIONS(968),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(968),
    [anon_sym_LT_EQ_GT] = ACTIONS(968),
    [anon_sym_EQ_TILDE] = ACTIONS(968),
    [anon_sym_BANG_TILDE] = ACTIONS(968),
    [anon_sym_LT_EQ] = ACTIONS(976),
    [anon_sym_GT] = ACTIONS(976),
    [anon_sym_GT_EQ] = ACTIONS(968),
    [anon_sym_CARET] = ACTIONS(968),
    [anon_sym_PLUS] = ACTIONS(968),
    [anon_sym_SLASH] = ACTIONS(968),
    [anon_sym_PERCENT] = ACTIONS(968),
    [sym_comment] = ACTIONS(110),
  },
  [701] = {
    [anon_sym_EQ] = ACTIONS(3582),
    [sym_comment] = ACTIONS(256),
  },
  [702] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__string_middle] = ACTIONS(250),
    [sym__string_end] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(3584),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(3586),
    [anon_sym_DASH_EQ] = ACTIONS(3586),
    [anon_sym_STAR_EQ] = ACTIONS(3586),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3586),
    [anon_sym_SLASH_EQ] = ACTIONS(3586),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3586),
    [anon_sym_PIPE_EQ] = ACTIONS(3586),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3586),
    [anon_sym_AMP_EQ] = ACTIONS(3586),
    [anon_sym_PERCENT_EQ] = ACTIONS(3586),
    [anon_sym_GT_GT_EQ] = ACTIONS(3586),
    [anon_sym_LT_LT_EQ] = ACTIONS(3586),
    [anon_sym_CARET_EQ] = ACTIONS(3586),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [703] = {
    [sym__keyword_colon] = ACTIONS(3588),
    [sym_comment] = ACTIONS(110),
  },
  [704] = {
    [sym_string] = STATE(2388),
    [aux_sym_chained_string_repeat1] = STATE(2389),
    [sym__simple_string] = ACTIONS(3410),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(3412),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__string_middle] = ACTIONS(250),
    [sym__string_end] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(3516),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(3472),
  },
  [705] = {
    [sym__string_middle] = ACTIONS(2286),
    [sym__string_end] = ACTIONS(2286),
    [sym__element_reference_left_bracket] = ACTIONS(2286),
    [sym__scope_double_colon] = ACTIONS(2286),
    [sym__binary_minus] = ACTIONS(2286),
    [sym__binary_star] = ACTIONS(2286),
    [anon_sym_DOT] = ACTIONS(2288),
    [anon_sym_COMMA] = ACTIONS(2286),
    [anon_sym_PIPE] = ACTIONS(2288),
    [anon_sym_STAR_STAR] = ACTIONS(2286),
    [anon_sym_AMP] = ACTIONS(2288),
    [anon_sym_LT] = ACTIONS(2288),
    [anon_sym_if] = ACTIONS(2286),
    [anon_sym_unless] = ACTIONS(2286),
    [anon_sym_while] = ACTIONS(2286),
    [anon_sym_until] = ACTIONS(2286),
    [anon_sym_rescue] = ACTIONS(2286),
    [anon_sym_AMP_DOT] = ACTIONS(2286),
    [anon_sym_QMARK] = ACTIONS(2286),
    [anon_sym_DOT_DOT] = ACTIONS(2288),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2286),
    [anon_sym_and] = ACTIONS(2286),
    [anon_sym_or] = ACTIONS(2286),
    [anon_sym_PIPE_PIPE] = ACTIONS(2286),
    [anon_sym_AMP_AMP] = ACTIONS(2286),
    [anon_sym_LT_LT] = ACTIONS(2286),
    [anon_sym_GT_GT] = ACTIONS(2286),
    [anon_sym_EQ_EQ] = ACTIONS(2288),
    [anon_sym_BANG_EQ] = ACTIONS(2286),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2286),
    [anon_sym_LT_EQ_GT] = ACTIONS(2286),
    [anon_sym_EQ_TILDE] = ACTIONS(2286),
    [anon_sym_BANG_TILDE] = ACTIONS(2286),
    [anon_sym_LT_EQ] = ACTIONS(2288),
    [anon_sym_GT] = ACTIONS(2288),
    [anon_sym_GT_EQ] = ACTIONS(2286),
    [anon_sym_CARET] = ACTIONS(2286),
    [anon_sym_PLUS] = ACTIONS(2286),
    [anon_sym_SLASH] = ACTIONS(2286),
    [anon_sym_PERCENT] = ACTIONS(2286),
    [sym_comment] = ACTIONS(110),
  },
  [706] = {
    [sym__string_middle] = ACTIONS(2290),
    [sym__string_end] = ACTIONS(2290),
    [sym__element_reference_left_bracket] = ACTIONS(2290),
    [sym__scope_double_colon] = ACTIONS(2290),
    [sym__binary_minus] = ACTIONS(2290),
    [sym__binary_star] = ACTIONS(2290),
    [anon_sym_DOT] = ACTIONS(2292),
    [anon_sym_COMMA] = ACTIONS(2290),
    [anon_sym_PIPE] = ACTIONS(2292),
    [anon_sym_STAR_STAR] = ACTIONS(2290),
    [anon_sym_AMP] = ACTIONS(2292),
    [anon_sym_LT] = ACTIONS(2292),
    [anon_sym_if] = ACTIONS(2290),
    [anon_sym_unless] = ACTIONS(2290),
    [anon_sym_while] = ACTIONS(2290),
    [anon_sym_until] = ACTIONS(2290),
    [anon_sym_rescue] = ACTIONS(2290),
    [anon_sym_AMP_DOT] = ACTIONS(2290),
    [anon_sym_QMARK] = ACTIONS(2290),
    [anon_sym_DOT_DOT] = ACTIONS(2292),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2290),
    [anon_sym_and] = ACTIONS(2290),
    [anon_sym_or] = ACTIONS(2290),
    [anon_sym_PIPE_PIPE] = ACTIONS(2290),
    [anon_sym_AMP_AMP] = ACTIONS(2290),
    [anon_sym_LT_LT] = ACTIONS(2290),
    [anon_sym_GT_GT] = ACTIONS(2290),
    [anon_sym_EQ_EQ] = ACTIONS(2292),
    [anon_sym_BANG_EQ] = ACTIONS(2290),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2290),
    [anon_sym_LT_EQ_GT] = ACTIONS(2290),
    [anon_sym_EQ_TILDE] = ACTIONS(2290),
    [anon_sym_BANG_TILDE] = ACTIONS(2290),
    [anon_sym_LT_EQ] = ACTIONS(2292),
    [anon_sym_GT] = ACTIONS(2292),
    [anon_sym_GT_EQ] = ACTIONS(2290),
    [anon_sym_CARET] = ACTIONS(2290),
    [anon_sym_PLUS] = ACTIONS(2290),
    [anon_sym_SLASH] = ACTIONS(2290),
    [anon_sym_PERCENT] = ACTIONS(2290),
    [sym_comment] = ACTIONS(110),
  },
  [707] = {
    [sym__string_middle] = ACTIONS(2294),
    [sym__string_end] = ACTIONS(2294),
    [sym__element_reference_left_bracket] = ACTIONS(2294),
    [sym__scope_double_colon] = ACTIONS(2294),
    [sym__binary_minus] = ACTIONS(2294),
    [sym__binary_star] = ACTIONS(2294),
    [anon_sym_DOT] = ACTIONS(2296),
    [anon_sym_COMMA] = ACTIONS(2294),
    [anon_sym_PIPE] = ACTIONS(2296),
    [anon_sym_STAR_STAR] = ACTIONS(2294),
    [anon_sym_AMP] = ACTIONS(2296),
    [anon_sym_LT] = ACTIONS(2296),
    [anon_sym_if] = ACTIONS(2294),
    [anon_sym_unless] = ACTIONS(2294),
    [anon_sym_while] = ACTIONS(2294),
    [anon_sym_until] = ACTIONS(2294),
    [anon_sym_rescue] = ACTIONS(2294),
    [anon_sym_AMP_DOT] = ACTIONS(2294),
    [anon_sym_QMARK] = ACTIONS(2294),
    [anon_sym_DOT_DOT] = ACTIONS(2296),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2294),
    [anon_sym_and] = ACTIONS(2294),
    [anon_sym_or] = ACTIONS(2294),
    [anon_sym_PIPE_PIPE] = ACTIONS(2294),
    [anon_sym_AMP_AMP] = ACTIONS(2294),
    [anon_sym_LT_LT] = ACTIONS(2294),
    [anon_sym_GT_GT] = ACTIONS(2294),
    [anon_sym_EQ_EQ] = ACTIONS(2296),
    [anon_sym_BANG_EQ] = ACTIONS(2294),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2294),
    [anon_sym_LT_EQ_GT] = ACTIONS(2294),
    [anon_sym_EQ_TILDE] = ACTIONS(2294),
    [anon_sym_BANG_TILDE] = ACTIONS(2294),
    [anon_sym_LT_EQ] = ACTIONS(2296),
    [anon_sym_GT] = ACTIONS(2296),
    [anon_sym_GT_EQ] = ACTIONS(2294),
    [anon_sym_CARET] = ACTIONS(2294),
    [anon_sym_PLUS] = ACTIONS(2294),
    [anon_sym_SLASH] = ACTIONS(2294),
    [anon_sym_PERCENT] = ACTIONS(2294),
    [sym_comment] = ACTIONS(110),
  },
  [708] = {
    [sym__then] = STATE(2390),
    [sym_heredoc_end] = STATE(1476),
    [sym__terminator] = STATE(1484),
    [sym__simple_heredoc_body] = ACTIONS(2322),
    [sym__heredoc_body_beginning] = ACTIONS(2324),
    [sym__line_break] = ACTIONS(2326),
    [anon_sym_SEMI] = ACTIONS(2326),
    [anon_sym_if] = ACTIONS(2328),
    [anon_sym_unless] = ACTIONS(2330),
    [anon_sym_while] = ACTIONS(2332),
    [anon_sym_until] = ACTIONS(2334),
    [anon_sym_rescue] = ACTIONS(2336),
    [anon_sym_then] = ACTIONS(2338),
    [sym_comment] = ACTIONS(110),
  },
  [709] = {
    [sym__then] = STATE(2391),
    [sym_heredoc_end] = STATE(1521),
    [sym__terminator] = STATE(1524),
    [sym__simple_heredoc_body] = ACTIONS(2402),
    [sym__heredoc_body_beginning] = ACTIONS(2404),
    [sym__line_break] = ACTIONS(2406),
    [anon_sym_SEMI] = ACTIONS(2406),
    [anon_sym_if] = ACTIONS(2328),
    [anon_sym_unless] = ACTIONS(2330),
    [anon_sym_while] = ACTIONS(2332),
    [anon_sym_until] = ACTIONS(2334),
    [anon_sym_rescue] = ACTIONS(2336),
    [anon_sym_then] = ACTIONS(2408),
    [sym_comment] = ACTIONS(110),
  },
  [710] = {
    [sym__do] = STATE(2392),
    [sym_heredoc_end] = STATE(1550),
    [sym__terminator] = STATE(1557),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym__line_break] = ACTIONS(2446),
    [sym__binary_minus] = ACTIONS(2448),
    [sym__binary_star] = ACTIONS(2450),
    [anon_sym_PIPE] = ACTIONS(2452),
    [anon_sym_SEMI] = ACTIONS(2446),
    [anon_sym_STAR_STAR] = ACTIONS(2454),
    [anon_sym_AMP] = ACTIONS(2456),
    [anon_sym_LT] = ACTIONS(2458),
    [anon_sym_do] = ACTIONS(2460),
    [anon_sym_QMARK] = ACTIONS(2462),
    [anon_sym_DOT_DOT] = ACTIONS(2464),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2466),
    [anon_sym_and] = ACTIONS(2468),
    [anon_sym_or] = ACTIONS(2468),
    [anon_sym_PIPE_PIPE] = ACTIONS(2470),
    [anon_sym_AMP_AMP] = ACTIONS(2470),
    [anon_sym_LT_LT] = ACTIONS(2472),
    [anon_sym_GT_GT] = ACTIONS(2472),
    [anon_sym_EQ_EQ] = ACTIONS(2474),
    [anon_sym_BANG_EQ] = ACTIONS(2470),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2470),
    [anon_sym_LT_EQ_GT] = ACTIONS(2470),
    [anon_sym_EQ_TILDE] = ACTIONS(2470),
    [anon_sym_BANG_TILDE] = ACTIONS(2470),
    [anon_sym_LT_EQ] = ACTIONS(2458),
    [anon_sym_GT] = ACTIONS(2458),
    [anon_sym_GT_EQ] = ACTIONS(2476),
    [anon_sym_CARET] = ACTIONS(2478),
    [anon_sym_PLUS] = ACTIONS(2480),
    [anon_sym_SLASH] = ACTIONS(2454),
    [anon_sym_PERCENT] = ACTIONS(2454),
    [sym_comment] = ACTIONS(110),
  },
  [711] = {
    [sym__do] = STATE(2393),
    [sym_heredoc_end] = STATE(1550),
    [sym__terminator] = STATE(1557),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym__line_break] = ACTIONS(2446),
    [sym__binary_minus] = ACTIONS(2448),
    [sym__binary_star] = ACTIONS(2450),
    [anon_sym_PIPE] = ACTIONS(2452),
    [anon_sym_SEMI] = ACTIONS(2446),
    [anon_sym_STAR_STAR] = ACTIONS(2454),
    [anon_sym_AMP] = ACTIONS(2456),
    [anon_sym_LT] = ACTIONS(2458),
    [anon_sym_do] = ACTIONS(2460),
    [anon_sym_QMARK] = ACTIONS(2462),
    [anon_sym_DOT_DOT] = ACTIONS(2464),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2466),
    [anon_sym_and] = ACTIONS(2468),
    [anon_sym_or] = ACTIONS(2468),
    [anon_sym_PIPE_PIPE] = ACTIONS(2470),
    [anon_sym_AMP_AMP] = ACTIONS(2470),
    [anon_sym_LT_LT] = ACTIONS(2472),
    [anon_sym_GT_GT] = ACTIONS(2472),
    [anon_sym_EQ_EQ] = ACTIONS(2474),
    [anon_sym_BANG_EQ] = ACTIONS(2470),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2470),
    [anon_sym_LT_EQ_GT] = ACTIONS(2470),
    [anon_sym_EQ_TILDE] = ACTIONS(2470),
    [anon_sym_BANG_TILDE] = ACTIONS(2470),
    [anon_sym_LT_EQ] = ACTIONS(2458),
    [anon_sym_GT] = ACTIONS(2458),
    [anon_sym_GT_EQ] = ACTIONS(2476),
    [anon_sym_CARET] = ACTIONS(2478),
    [anon_sym_PLUS] = ACTIONS(2480),
    [anon_sym_SLASH] = ACTIONS(2454),
    [anon_sym_PERCENT] = ACTIONS(2454),
    [sym_comment] = ACTIONS(110),
  },
  [712] = {
    [sym_in] = STATE(2394),
    [anon_sym_in] = ACTIONS(2548),
    [sym_comment] = ACTIONS(110),
  },
  [713] = {
    [anon_sym_end] = ACTIONS(3590),
    [sym_comment] = ACTIONS(110),
  },
  [714] = {
    [sym_when] = STATE(2396),
    [sym_heredoc_end] = STATE(387),
    [sym__terminator] = STATE(402),
    [aux_sym_case_repeat1] = STATE(2397),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym__line_break] = ACTIONS(666),
    [sym__binary_minus] = ACTIONS(2600),
    [sym__binary_star] = ACTIONS(2602),
    [anon_sym_PIPE] = ACTIONS(2604),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_STAR_STAR] = ACTIONS(2606),
    [anon_sym_AMP] = ACTIONS(2608),
    [anon_sym_LT] = ACTIONS(2610),
    [anon_sym_when] = ACTIONS(2612),
    [anon_sym_QMARK] = ACTIONS(2614),
    [anon_sym_DOT_DOT] = ACTIONS(2616),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2618),
    [anon_sym_and] = ACTIONS(2620),
    [anon_sym_or] = ACTIONS(2620),
    [anon_sym_PIPE_PIPE] = ACTIONS(2622),
    [anon_sym_AMP_AMP] = ACTIONS(2622),
    [anon_sym_LT_LT] = ACTIONS(2624),
    [anon_sym_GT_GT] = ACTIONS(2624),
    [anon_sym_EQ_EQ] = ACTIONS(2626),
    [anon_sym_BANG_EQ] = ACTIONS(2622),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2622),
    [anon_sym_LT_EQ_GT] = ACTIONS(2622),
    [anon_sym_EQ_TILDE] = ACTIONS(2622),
    [anon_sym_BANG_TILDE] = ACTIONS(2622),
    [anon_sym_LT_EQ] = ACTIONS(2610),
    [anon_sym_GT] = ACTIONS(2610),
    [anon_sym_GT_EQ] = ACTIONS(2628),
    [anon_sym_CARET] = ACTIONS(2630),
    [anon_sym_PLUS] = ACTIONS(2632),
    [anon_sym_SLASH] = ACTIONS(2606),
    [anon_sym_PERCENT] = ACTIONS(2606),
    [sym_comment] = ACTIONS(110),
  },
  [715] = {
    [sym_when] = STATE(2396),
    [sym_heredoc_end] = STATE(387),
    [sym__terminator] = STATE(1688),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym__line_break] = ACTIONS(666),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_when] = ACTIONS(2612),
    [sym_comment] = ACTIONS(110),
  },
  [716] = {
    [sym__string_middle] = ACTIONS(2674),
    [sym__string_end] = ACTIONS(2674),
    [sym__element_reference_left_bracket] = ACTIONS(2674),
    [sym__scope_double_colon] = ACTIONS(2674),
    [sym__binary_minus] = ACTIONS(2674),
    [sym__binary_star] = ACTIONS(2674),
    [anon_sym_DOT] = ACTIONS(2676),
    [anon_sym_COMMA] = ACTIONS(2674),
    [anon_sym_PIPE] = ACTIONS(2676),
    [anon_sym_STAR_STAR] = ACTIONS(2674),
    [anon_sym_AMP] = ACTIONS(2676),
    [anon_sym_LT] = ACTIONS(2676),
    [anon_sym_if] = ACTIONS(2674),
    [anon_sym_unless] = ACTIONS(2674),
    [anon_sym_while] = ACTIONS(2674),
    [anon_sym_until] = ACTIONS(2674),
    [anon_sym_rescue] = ACTIONS(2674),
    [anon_sym_AMP_DOT] = ACTIONS(2674),
    [anon_sym_QMARK] = ACTIONS(2674),
    [anon_sym_DOT_DOT] = ACTIONS(2676),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2674),
    [anon_sym_and] = ACTIONS(2674),
    [anon_sym_or] = ACTIONS(2674),
    [anon_sym_PIPE_PIPE] = ACTIONS(2674),
    [anon_sym_AMP_AMP] = ACTIONS(2674),
    [anon_sym_LT_LT] = ACTIONS(2674),
    [anon_sym_GT_GT] = ACTIONS(2674),
    [anon_sym_EQ_EQ] = ACTIONS(2676),
    [anon_sym_BANG_EQ] = ACTIONS(2674),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2674),
    [anon_sym_LT_EQ_GT] = ACTIONS(2674),
    [anon_sym_EQ_TILDE] = ACTIONS(2674),
    [anon_sym_BANG_TILDE] = ACTIONS(2674),
    [anon_sym_LT_EQ] = ACTIONS(2676),
    [anon_sym_GT] = ACTIONS(2676),
    [anon_sym_GT_EQ] = ACTIONS(2674),
    [anon_sym_CARET] = ACTIONS(2674),
    [anon_sym_PLUS] = ACTIONS(2674),
    [anon_sym_SLASH] = ACTIONS(2674),
    [anon_sym_PERCENT] = ACTIONS(2674),
    [sym_comment] = ACTIONS(110),
  },
  [717] = {
    [anon_sym_end] = ACTIONS(3592),
    [sym_comment] = ACTIONS(110),
  },
  [718] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(2399),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(3594),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [719] = {
    [sym__string_middle] = ACTIONS(2870),
    [sym__string_end] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(1240),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [720] = {
    [sym__string_middle] = ACTIONS(2870),
    [sym__string_end] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(1234),
    [sym__binary_star] = ACTIONS(1236),
    [anon_sym_PIPE] = ACTIONS(1238),
    [anon_sym_STAR_STAR] = ACTIONS(1240),
    [anon_sym_AMP] = ACTIONS(1242),
    [anon_sym_LT] = ACTIONS(1244),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(1246),
    [anon_sym_DOT_DOT] = ACTIONS(1248),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1250),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(1254),
    [anon_sym_AMP_AMP] = ACTIONS(1254),
    [anon_sym_LT_LT] = ACTIONS(1256),
    [anon_sym_GT_GT] = ACTIONS(1256),
    [anon_sym_EQ_EQ] = ACTIONS(1258),
    [anon_sym_BANG_EQ] = ACTIONS(1254),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1254),
    [anon_sym_LT_EQ_GT] = ACTIONS(1254),
    [anon_sym_EQ_TILDE] = ACTIONS(1254),
    [anon_sym_BANG_TILDE] = ACTIONS(1254),
    [anon_sym_LT_EQ] = ACTIONS(1244),
    [anon_sym_GT] = ACTIONS(1244),
    [anon_sym_GT_EQ] = ACTIONS(1260),
    [anon_sym_CARET] = ACTIONS(1262),
    [anon_sym_PLUS] = ACTIONS(1264),
    [anon_sym_SLASH] = ACTIONS(1240),
    [anon_sym_PERCENT] = ACTIONS(1240),
    [sym_comment] = ACTIONS(110),
  },
  [721] = {
    [sym__string_middle] = ACTIONS(2870),
    [sym__string_end] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(2870),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [722] = {
    [sym_operator] = STATE(726),
    [sym__method_name] = STATE(2400),
    [sym_setter] = STATE(726),
    [sym_symbol] = STATE(726),
    [sym__simple_symbol] = ACTIONS(1200),
    [sym__symbol_beginning] = ACTIONS(1202),
    [anon_sym_PIPE] = ACTIONS(1204),
    [anon_sym_STAR] = ACTIONS(1206),
    [anon_sym_STAR_STAR] = ACTIONS(1204),
    [anon_sym_AMP] = ACTIONS(1204),
    [anon_sym_LT] = ACTIONS(1206),
    [anon_sym_DOT_DOT] = ACTIONS(1204),
    [anon_sym_LT_LT] = ACTIONS(1204),
    [anon_sym_GT_GT] = ACTIONS(1204),
    [anon_sym_EQ_EQ] = ACTIONS(1206),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1204),
    [anon_sym_LT_EQ_GT] = ACTIONS(1204),
    [anon_sym_EQ_TILDE] = ACTIONS(1204),
    [anon_sym_BANG_TILDE] = ACTIONS(1204),
    [anon_sym_LT_EQ] = ACTIONS(1206),
    [anon_sym_GT] = ACTIONS(1206),
    [anon_sym_GT_EQ] = ACTIONS(1204),
    [anon_sym_CARET] = ACTIONS(1204),
    [anon_sym_PLUS] = ACTIONS(1206),
    [anon_sym_SLASH] = ACTIONS(1204),
    [anon_sym_PERCENT] = ACTIONS(1204),
    [anon_sym_BANG] = ACTIONS(1206),
    [anon_sym_TILDE] = ACTIONS(1204),
    [sym_constant] = ACTIONS(1208),
    [sym_identifier] = ACTIONS(1210),
    [sym_instance_variable] = ACTIONS(1208),
    [sym_class_variable] = ACTIONS(1208),
    [sym_global_variable] = ACTIONS(1208),
    [anon_sym_DASH] = ACTIONS(1206),
    [anon_sym_PLUS_AT] = ACTIONS(1204),
    [anon_sym_DASH_AT] = ACTIONS(1204),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1206),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(1204),
    [anon_sym_BQUOTE] = ACTIONS(1204),
    [sym_comment] = ACTIONS(110),
  },
  [723] = {
    [sym__string_middle] = ACTIONS(130),
    [sym__string_end] = ACTIONS(130),
    [anon_sym_COMMA] = ACTIONS(130),
    [anon_sym_if] = ACTIONS(130),
    [anon_sym_unless] = ACTIONS(130),
    [anon_sym_while] = ACTIONS(130),
    [anon_sym_until] = ACTIONS(130),
    [anon_sym_rescue] = ACTIONS(130),
    [sym_comment] = ACTIONS(110),
  },
  [724] = {
    [sym__statement] = STATE(2401),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(2402),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [725] = {
    [sym__string_middle] = ACTIONS(1856),
    [sym__string_end] = ACTIONS(1856),
    [anon_sym_COMMA] = ACTIONS(1856),
    [anon_sym_if] = ACTIONS(1856),
    [anon_sym_unless] = ACTIONS(1856),
    [anon_sym_while] = ACTIONS(1856),
    [anon_sym_until] = ACTIONS(1856),
    [anon_sym_rescue] = ACTIONS(1856),
    [sym_comment] = ACTIONS(110),
  },
  [726] = {
    [sym__string_middle] = ACTIONS(1860),
    [sym__string_end] = ACTIONS(1860),
    [anon_sym_COMMA] = ACTIONS(1860),
    [anon_sym_if] = ACTIONS(1860),
    [anon_sym_unless] = ACTIONS(1860),
    [anon_sym_while] = ACTIONS(1860),
    [anon_sym_until] = ACTIONS(1860),
    [anon_sym_rescue] = ACTIONS(1860),
    [sym_comment] = ACTIONS(110),
  },
  [727] = {
    [sym__string_middle] = ACTIONS(1860),
    [sym__string_end] = ACTIONS(1860),
    [anon_sym_COMMA] = ACTIONS(1860),
    [anon_sym_EQ] = ACTIONS(3596),
    [anon_sym_if] = ACTIONS(1860),
    [anon_sym_unless] = ACTIONS(1860),
    [anon_sym_while] = ACTIONS(1860),
    [anon_sym_until] = ACTIONS(1860),
    [anon_sym_rescue] = ACTIONS(1860),
    [sym_comment] = ACTIONS(256),
  },
  [728] = {
    [aux_sym_undef_repeat1] = STATE(2405),
    [sym__string_middle] = ACTIONS(2878),
    [sym__string_end] = ACTIONS(2878),
    [anon_sym_COMMA] = ACTIONS(3598),
    [anon_sym_if] = ACTIONS(2878),
    [anon_sym_unless] = ACTIONS(2878),
    [anon_sym_while] = ACTIONS(2878),
    [anon_sym_until] = ACTIONS(2878),
    [anon_sym_rescue] = ACTIONS(2878),
    [sym_comment] = ACTIONS(110),
  },
  [729] = {
    [sym__string_middle] = ACTIONS(2882),
    [sym__string_end] = ACTIONS(2882),
    [sym__element_reference_left_bracket] = ACTIONS(2882),
    [sym__scope_double_colon] = ACTIONS(2882),
    [sym__binary_minus] = ACTIONS(2882),
    [sym__binary_star] = ACTIONS(2882),
    [anon_sym_DOT] = ACTIONS(2884),
    [anon_sym_COMMA] = ACTIONS(2882),
    [anon_sym_PIPE] = ACTIONS(2884),
    [anon_sym_STAR_STAR] = ACTIONS(2882),
    [anon_sym_AMP] = ACTIONS(2884),
    [anon_sym_LT] = ACTIONS(2884),
    [anon_sym_if] = ACTIONS(2882),
    [anon_sym_unless] = ACTIONS(2882),
    [anon_sym_while] = ACTIONS(2882),
    [anon_sym_until] = ACTIONS(2882),
    [anon_sym_rescue] = ACTIONS(2882),
    [anon_sym_AMP_DOT] = ACTIONS(2882),
    [anon_sym_QMARK] = ACTIONS(2882),
    [anon_sym_DOT_DOT] = ACTIONS(2884),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2882),
    [anon_sym_and] = ACTIONS(2882),
    [anon_sym_or] = ACTIONS(2882),
    [anon_sym_PIPE_PIPE] = ACTIONS(2882),
    [anon_sym_AMP_AMP] = ACTIONS(2882),
    [anon_sym_LT_LT] = ACTIONS(2882),
    [anon_sym_GT_GT] = ACTIONS(2882),
    [anon_sym_EQ_EQ] = ACTIONS(2884),
    [anon_sym_BANG_EQ] = ACTIONS(2882),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2882),
    [anon_sym_LT_EQ_GT] = ACTIONS(2882),
    [anon_sym_EQ_TILDE] = ACTIONS(2882),
    [anon_sym_BANG_TILDE] = ACTIONS(2882),
    [anon_sym_LT_EQ] = ACTIONS(2884),
    [anon_sym_GT] = ACTIONS(2884),
    [anon_sym_GT_EQ] = ACTIONS(2882),
    [anon_sym_CARET] = ACTIONS(2882),
    [anon_sym_PLUS] = ACTIONS(2882),
    [anon_sym_SLASH] = ACTIONS(2882),
    [anon_sym_PERCENT] = ACTIONS(2882),
    [sym_comment] = ACTIONS(110),
  },
  [730] = {
    [sym__string_middle] = ACTIONS(2952),
    [sym__string_end] = ACTIONS(2952),
    [sym__element_reference_left_bracket] = ACTIONS(2952),
    [sym__scope_double_colon] = ACTIONS(2952),
    [sym__binary_minus] = ACTIONS(2952),
    [sym__binary_star] = ACTIONS(2952),
    [anon_sym_DOT] = ACTIONS(2954),
    [anon_sym_COMMA] = ACTIONS(2952),
    [anon_sym_PIPE] = ACTIONS(2954),
    [anon_sym_STAR_STAR] = ACTIONS(2952),
    [anon_sym_AMP] = ACTIONS(2954),
    [anon_sym_LT] = ACTIONS(2954),
    [anon_sym_if] = ACTIONS(2952),
    [anon_sym_unless] = ACTIONS(2952),
    [anon_sym_while] = ACTIONS(2952),
    [anon_sym_until] = ACTIONS(2952),
    [anon_sym_rescue] = ACTIONS(2952),
    [anon_sym_AMP_DOT] = ACTIONS(2952),
    [anon_sym_QMARK] = ACTIONS(2952),
    [anon_sym_DOT_DOT] = ACTIONS(2954),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2952),
    [anon_sym_and] = ACTIONS(2952),
    [anon_sym_or] = ACTIONS(2952),
    [anon_sym_PIPE_PIPE] = ACTIONS(2952),
    [anon_sym_AMP_AMP] = ACTIONS(2952),
    [anon_sym_LT_LT] = ACTIONS(2952),
    [anon_sym_GT_GT] = ACTIONS(2952),
    [anon_sym_EQ_EQ] = ACTIONS(2954),
    [anon_sym_BANG_EQ] = ACTIONS(2952),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2952),
    [anon_sym_LT_EQ_GT] = ACTIONS(2952),
    [anon_sym_EQ_TILDE] = ACTIONS(2952),
    [anon_sym_BANG_TILDE] = ACTIONS(2952),
    [anon_sym_LT_EQ] = ACTIONS(2954),
    [anon_sym_GT] = ACTIONS(2954),
    [anon_sym_GT_EQ] = ACTIONS(2952),
    [anon_sym_CARET] = ACTIONS(2952),
    [anon_sym_PLUS] = ACTIONS(2952),
    [anon_sym_SLASH] = ACTIONS(2952),
    [anon_sym_PERCENT] = ACTIONS(2952),
    [sym_comment] = ACTIONS(110),
  },
  [731] = {
    [sym_heredoc_end] = STATE(2406),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RBRACK] = ACTIONS(3398),
    [sym_comment] = ACTIONS(110),
  },
  [732] = {
    [anon_sym_RBRACK] = ACTIONS(3398),
    [sym_comment] = ACTIONS(110),
  },
  [733] = {
    [sym__statements] = STATE(2408),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(2409),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(841),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(3600),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_PIPE] = ACTIONS(3048),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [734] = {
    [sym__statements] = STATE(2411),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(2412),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1981),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(2413),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(3076),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(3078),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(3080),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(3602),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(3086),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [735] = {
    [sym_do_block] = STATE(2414),
    [sym_block] = STATE(2414),
    [anon_sym_LBRACE] = ACTIONS(1216),
    [anon_sym_do] = ACTIONS(3604),
    [sym_comment] = ACTIONS(110),
  },
  [736] = {
    [sym__string_middle] = ACTIONS(3100),
    [sym__string_end] = ACTIONS(3100),
    [sym__element_reference_left_bracket] = ACTIONS(3100),
    [sym__scope_double_colon] = ACTIONS(3100),
    [sym__binary_minus] = ACTIONS(3100),
    [sym__binary_star] = ACTIONS(3100),
    [anon_sym_DOT] = ACTIONS(3102),
    [anon_sym_COMMA] = ACTIONS(3100),
    [anon_sym_PIPE] = ACTIONS(3102),
    [anon_sym_STAR_STAR] = ACTIONS(3100),
    [anon_sym_AMP] = ACTIONS(3102),
    [anon_sym_LT] = ACTIONS(3102),
    [anon_sym_if] = ACTIONS(3100),
    [anon_sym_unless] = ACTIONS(3100),
    [anon_sym_while] = ACTIONS(3100),
    [anon_sym_until] = ACTIONS(3100),
    [anon_sym_rescue] = ACTIONS(3100),
    [anon_sym_AMP_DOT] = ACTIONS(3100),
    [anon_sym_QMARK] = ACTIONS(3100),
    [anon_sym_DOT_DOT] = ACTIONS(3102),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3100),
    [anon_sym_and] = ACTIONS(3100),
    [anon_sym_or] = ACTIONS(3100),
    [anon_sym_PIPE_PIPE] = ACTIONS(3100),
    [anon_sym_AMP_AMP] = ACTIONS(3100),
    [anon_sym_LT_LT] = ACTIONS(3100),
    [anon_sym_GT_GT] = ACTIONS(3100),
    [anon_sym_EQ_EQ] = ACTIONS(3102),
    [anon_sym_BANG_EQ] = ACTIONS(3100),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3100),
    [anon_sym_LT_EQ_GT] = ACTIONS(3100),
    [anon_sym_EQ_TILDE] = ACTIONS(3100),
    [anon_sym_BANG_TILDE] = ACTIONS(3100),
    [anon_sym_LT_EQ] = ACTIONS(3102),
    [anon_sym_GT] = ACTIONS(3102),
    [anon_sym_GT_EQ] = ACTIONS(3100),
    [anon_sym_CARET] = ACTIONS(3100),
    [anon_sym_PLUS] = ACTIONS(3100),
    [anon_sym_SLASH] = ACTIONS(3100),
    [anon_sym_PERCENT] = ACTIONS(3100),
    [sym_comment] = ACTIONS(110),
  },
  [737] = {
    [sym__simple_string] = ACTIONS(3606),
    [sym__simple_symbol] = ACTIONS(3606),
    [sym__simple_subshell] = ACTIONS(3606),
    [sym__simple_regex] = ACTIONS(3606),
    [sym__simple_word_list] = ACTIONS(3606),
    [sym__string_beginning] = ACTIONS(3606),
    [sym__symbol_beginning] = ACTIONS(3606),
    [sym__subshell_beginning] = ACTIONS(3606),
    [sym__regex_beginning] = ACTIONS(3606),
    [sym__word_list_beginning] = ACTIONS(3606),
    [sym_heredoc_beginning] = ACTIONS(3606),
    [sym__unary_minus] = ACTIONS(3606),
    [anon_sym_LBRACE] = ACTIONS(3606),
    [anon_sym_def] = ACTIONS(3608),
    [anon_sym_LPAREN] = ACTIONS(3606),
    [anon_sym_COLON_COLON] = ACTIONS(3606),
    [anon_sym_SEMI] = ACTIONS(3606),
    [anon_sym_STAR] = ACTIONS(3606),
    [anon_sym_class] = ACTIONS(3608),
    [anon_sym_module] = ACTIONS(3608),
    [anon_sym_return] = ACTIONS(3608),
    [anon_sym_yield] = ACTIONS(3608),
    [anon_sym_break] = ACTIONS(3608),
    [anon_sym_next] = ACTIONS(3608),
    [anon_sym_redo] = ACTIONS(3608),
    [anon_sym_retry] = ACTIONS(3608),
    [anon_sym_if] = ACTIONS(3608),
    [anon_sym_unless] = ACTIONS(3608),
    [anon_sym_while] = ACTIONS(3608),
    [anon_sym_until] = ACTIONS(3608),
    [anon_sym_for] = ACTIONS(3608),
    [anon_sym_case] = ACTIONS(3608),
    [anon_sym_begin] = ACTIONS(3608),
    [anon_sym_PLUS] = ACTIONS(3608),
    [anon_sym_defined_QMARK] = ACTIONS(3606),
    [anon_sym_not] = ACTIONS(3608),
    [anon_sym_BANG] = ACTIONS(3606),
    [anon_sym_TILDE] = ACTIONS(3606),
    [sym_constant] = ACTIONS(3610),
    [sym_identifier] = ACTIONS(3610),
    [sym_instance_variable] = ACTIONS(3608),
    [sym_class_variable] = ACTIONS(3608),
    [sym_global_variable] = ACTIONS(3608),
    [anon_sym_alias] = ACTIONS(3608),
    [anon_sym_false] = ACTIONS(3608),
    [anon_sym_nil] = ACTIONS(3608),
    [anon_sym_self] = ACTIONS(3608),
    [anon_sym_super] = ACTIONS(3608),
    [anon_sym_true] = ACTIONS(3608),
    [anon_sym_undef] = ACTIONS(3608),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3608),
    [sym_float] = ACTIONS(3610),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3606),
    [anon_sym_TRUE] = ACTIONS(3608),
    [anon_sym_FALSE] = ACTIONS(3608),
    [anon_sym_NIL] = ACTIONS(3608),
    [sym_keyword__FILE__] = ACTIONS(3608),
    [sym_keyword__LINE__] = ACTIONS(3608),
    [sym_keyword__ENCODING__] = ACTIONS(3608),
    [sym__character_literal] = ACTIONS(3608),
    [anon_sym_LBRACK] = ACTIONS(3606),
    [anon_sym_DASH_GT] = ACTIONS(3606),
  },
  [738] = {
    [sym__simple_string] = ACTIONS(3612),
    [sym__simple_heredoc_body] = ACTIONS(3612),
    [sym__string_beginning] = ACTIONS(3612),
    [sym__heredoc_body_beginning] = ACTIONS(3612),
    [sym__line_break] = ACTIONS(3612),
    [sym__element_reference_left_bracket] = ACTIONS(3612),
    [sym__scope_double_colon] = ACTIONS(3612),
    [sym__binary_minus] = ACTIONS(3612),
    [sym__binary_star] = ACTIONS(3612),
    [ts_builtin_sym_end] = ACTIONS(3612),
    [anon_sym___END__] = ACTIONS(3612),
    [anon_sym_LBRACE] = ACTIONS(3612),
    [anon_sym_RBRACE] = ACTIONS(3612),
    [anon_sym_RPAREN] = ACTIONS(3612),
    [anon_sym_DOT] = ACTIONS(3614),
    [anon_sym_end] = ACTIONS(3612),
    [anon_sym_COMMA] = ACTIONS(3612),
    [anon_sym_PIPE] = ACTIONS(3614),
    [anon_sym_SEMI] = ACTIONS(3612),
    [anon_sym_STAR_STAR] = ACTIONS(3612),
    [anon_sym_AMP] = ACTIONS(3614),
    [anon_sym_LT] = ACTIONS(3614),
    [anon_sym_if] = ACTIONS(3612),
    [anon_sym_unless] = ACTIONS(3612),
    [anon_sym_while] = ACTIONS(3612),
    [anon_sym_until] = ACTIONS(3612),
    [anon_sym_rescue] = ACTIONS(3612),
    [anon_sym_do] = ACTIONS(3612),
    [anon_sym_when] = ACTIONS(3612),
    [anon_sym_elsif] = ACTIONS(3612),
    [anon_sym_else] = ACTIONS(3612),
    [anon_sym_then] = ACTIONS(3612),
    [anon_sym_ensure] = ACTIONS(3612),
    [anon_sym_EQ_GT] = ACTIONS(3612),
    [anon_sym_AMP_DOT] = ACTIONS(3612),
    [anon_sym_QMARK] = ACTIONS(3614),
    [anon_sym_DOT_DOT] = ACTIONS(3614),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3612),
    [anon_sym_and] = ACTIONS(3612),
    [anon_sym_or] = ACTIONS(3612),
    [anon_sym_PIPE_PIPE] = ACTIONS(3612),
    [anon_sym_AMP_AMP] = ACTIONS(3612),
    [anon_sym_LT_LT] = ACTIONS(3612),
    [anon_sym_GT_GT] = ACTIONS(3612),
    [anon_sym_EQ_EQ] = ACTIONS(3614),
    [anon_sym_BANG_EQ] = ACTIONS(3612),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3612),
    [anon_sym_LT_EQ_GT] = ACTIONS(3612),
    [anon_sym_EQ_TILDE] = ACTIONS(3612),
    [anon_sym_BANG_TILDE] = ACTIONS(3612),
    [anon_sym_LT_EQ] = ACTIONS(3614),
    [anon_sym_GT] = ACTIONS(3614),
    [anon_sym_GT_EQ] = ACTIONS(3612),
    [anon_sym_CARET] = ACTIONS(3612),
    [anon_sym_PLUS] = ACTIONS(3612),
    [anon_sym_SLASH] = ACTIONS(3612),
    [anon_sym_PERCENT] = ACTIONS(3612),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(3614),
  },
  [739] = {
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(2415),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [740] = {
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(2416),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [741] = {
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(2417),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [742] = {
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(2418),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [743] = {
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(2419),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [744] = {
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(2420),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [745] = {
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(2421),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [746] = {
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(2422),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [747] = {
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(2423),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [748] = {
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(2424),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [749] = {
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(2425),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [750] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(2426),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [751] = {
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(2427),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [752] = {
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(2428),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [753] = {
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(2429),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [754] = {
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(2430),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [755] = {
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(2431),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [756] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(501),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(2433),
    [sym__argument] = STATE(506),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(509),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(510),
    [sym__variable] = STATE(504),
    [sym_reserved_identifier] = STATE(511),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(512),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(2434),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(804),
    [sym__splat_star] = ACTIONS(806),
    [sym__unary_minus] = ACTIONS(808),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(818),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(824),
    [anon_sym_yield] = ACTIONS(826),
    [anon_sym_break] = ACTIONS(828),
    [anon_sym_next] = ACTIONS(830),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_RBRACK] = ACTIONS(3616),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(852),
    [anon_sym_defined_QMARK] = ACTIONS(854),
    [anon_sym_not] = ACTIONS(856),
    [anon_sym_BANG] = ACTIONS(858),
    [anon_sym_TILDE] = ACTIONS(858),
    [sym_constant] = ACTIONS(860),
    [sym_identifier] = ACTIONS(860),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [757] = {
    [sym_constant] = ACTIONS(3618),
    [sym_identifier] = ACTIONS(3618),
    [sym_comment] = ACTIONS(110),
  },
  [758] = {
    [sym_argument_list_with_parens] = STATE(2438),
    [sym__argument_list_with_parens] = STATE(2439),
    [sym_operator] = STATE(2438),
    [sym__argument_list_left_paren] = ACTIONS(3620),
    [anon_sym_PIPE] = ACTIONS(3622),
    [anon_sym_STAR] = ACTIONS(3624),
    [anon_sym_STAR_STAR] = ACTIONS(3622),
    [anon_sym_AMP] = ACTIONS(3622),
    [anon_sym_LT] = ACTIONS(3624),
    [anon_sym_DOT_DOT] = ACTIONS(3622),
    [anon_sym_LT_LT] = ACTIONS(3622),
    [anon_sym_GT_GT] = ACTIONS(3622),
    [anon_sym_EQ_EQ] = ACTIONS(3624),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3622),
    [anon_sym_LT_EQ_GT] = ACTIONS(3622),
    [anon_sym_EQ_TILDE] = ACTIONS(3622),
    [anon_sym_BANG_TILDE] = ACTIONS(3622),
    [anon_sym_LT_EQ] = ACTIONS(3624),
    [anon_sym_GT] = ACTIONS(3624),
    [anon_sym_GT_EQ] = ACTIONS(3622),
    [anon_sym_CARET] = ACTIONS(3622),
    [anon_sym_PLUS] = ACTIONS(3624),
    [anon_sym_SLASH] = ACTIONS(3622),
    [anon_sym_PERCENT] = ACTIONS(3622),
    [anon_sym_BANG] = ACTIONS(3624),
    [anon_sym_TILDE] = ACTIONS(3622),
    [sym_constant] = ACTIONS(3626),
    [sym_identifier] = ACTIONS(3626),
    [anon_sym_DASH] = ACTIONS(3624),
    [anon_sym_PLUS_AT] = ACTIONS(3622),
    [anon_sym_DASH_AT] = ACTIONS(3622),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(3624),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(3622),
    [anon_sym_BQUOTE] = ACTIONS(3622),
    [sym_comment] = ACTIONS(110),
  },
  [759] = {
    [sym__simple_string] = ACTIONS(126),
    [sym__simple_heredoc_body] = ACTIONS(126),
    [sym__string_beginning] = ACTIONS(126),
    [sym__heredoc_body_beginning] = ACTIONS(126),
    [sym__string_middle] = ACTIONS(126),
    [sym__string_end] = ACTIONS(126),
    [sym__element_reference_left_bracket] = ACTIONS(126),
    [sym__scope_double_colon] = ACTIONS(126),
    [sym__keyword_colon] = ACTIONS(126),
    [sym__binary_minus] = ACTIONS(126),
    [sym__binary_star] = ACTIONS(126),
    [anon_sym_LBRACE] = ACTIONS(126),
    [anon_sym_DOT] = ACTIONS(128),
    [anon_sym_COMMA] = ACTIONS(126),
    [anon_sym_PIPE] = ACTIONS(128),
    [anon_sym_STAR_STAR] = ACTIONS(128),
    [anon_sym_AMP] = ACTIONS(128),
    [anon_sym_EQ] = ACTIONS(128),
    [anon_sym_LT] = ACTIONS(128),
    [anon_sym_if] = ACTIONS(126),
    [anon_sym_unless] = ACTIONS(126),
    [anon_sym_while] = ACTIONS(126),
    [anon_sym_until] = ACTIONS(126),
    [anon_sym_rescue] = ACTIONS(126),
    [anon_sym_do] = ACTIONS(126),
    [anon_sym_EQ_GT] = ACTIONS(126),
    [anon_sym_AMP_DOT] = ACTIONS(126),
    [anon_sym_PLUS_EQ] = ACTIONS(126),
    [anon_sym_DASH_EQ] = ACTIONS(126),
    [anon_sym_STAR_EQ] = ACTIONS(126),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(126),
    [anon_sym_SLASH_EQ] = ACTIONS(126),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(126),
    [anon_sym_PIPE_EQ] = ACTIONS(126),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(126),
    [anon_sym_AMP_EQ] = ACTIONS(126),
    [anon_sym_PERCENT_EQ] = ACTIONS(126),
    [anon_sym_GT_GT_EQ] = ACTIONS(126),
    [anon_sym_LT_LT_EQ] = ACTIONS(126),
    [anon_sym_CARET_EQ] = ACTIONS(126),
    [anon_sym_QMARK] = ACTIONS(128),
    [anon_sym_DOT_DOT] = ACTIONS(128),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(126),
    [anon_sym_and] = ACTIONS(126),
    [anon_sym_or] = ACTIONS(126),
    [anon_sym_PIPE_PIPE] = ACTIONS(128),
    [anon_sym_AMP_AMP] = ACTIONS(128),
    [anon_sym_LT_LT] = ACTIONS(128),
    [anon_sym_GT_GT] = ACTIONS(128),
    [anon_sym_EQ_EQ] = ACTIONS(128),
    [anon_sym_BANG_EQ] = ACTIONS(126),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(126),
    [anon_sym_LT_EQ_GT] = ACTIONS(126),
    [anon_sym_EQ_TILDE] = ACTIONS(126),
    [anon_sym_BANG_TILDE] = ACTIONS(126),
    [anon_sym_LT_EQ] = ACTIONS(128),
    [anon_sym_GT] = ACTIONS(128),
    [anon_sym_GT_EQ] = ACTIONS(126),
    [anon_sym_CARET] = ACTIONS(128),
    [anon_sym_PLUS] = ACTIONS(128),
    [anon_sym_SLASH] = ACTIONS(128),
    [anon_sym_PERCENT] = ACTIONS(128),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(128),
  },
  [760] = {
    [sym__simple_heredoc_body] = ACTIONS(130),
    [sym__heredoc_body_beginning] = ACTIONS(130),
    [sym__string_middle] = ACTIONS(130),
    [sym__string_end] = ACTIONS(130),
    [sym__element_reference_left_bracket] = ACTIONS(130),
    [sym__scope_double_colon] = ACTIONS(130),
    [sym__binary_minus] = ACTIONS(130),
    [sym__binary_star] = ACTIONS(130),
    [anon_sym_LBRACE] = ACTIONS(130),
    [anon_sym_DOT] = ACTIONS(132),
    [anon_sym_COMMA] = ACTIONS(130),
    [anon_sym_PIPE] = ACTIONS(132),
    [anon_sym_STAR_STAR] = ACTIONS(132),
    [anon_sym_AMP] = ACTIONS(132),
    [anon_sym_EQ] = ACTIONS(132),
    [anon_sym_LT] = ACTIONS(132),
    [anon_sym_if] = ACTIONS(130),
    [anon_sym_unless] = ACTIONS(130),
    [anon_sym_while] = ACTIONS(130),
    [anon_sym_until] = ACTIONS(130),
    [anon_sym_rescue] = ACTIONS(130),
    [anon_sym_do] = ACTIONS(130),
    [anon_sym_EQ_GT] = ACTIONS(130),
    [anon_sym_AMP_DOT] = ACTIONS(130),
    [anon_sym_PLUS_EQ] = ACTIONS(130),
    [anon_sym_DASH_EQ] = ACTIONS(130),
    [anon_sym_STAR_EQ] = ACTIONS(130),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(130),
    [anon_sym_SLASH_EQ] = ACTIONS(130),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(130),
    [anon_sym_PIPE_EQ] = ACTIONS(130),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(130),
    [anon_sym_AMP_EQ] = ACTIONS(130),
    [anon_sym_PERCENT_EQ] = ACTIONS(130),
    [anon_sym_GT_GT_EQ] = ACTIONS(130),
    [anon_sym_LT_LT_EQ] = ACTIONS(130),
    [anon_sym_CARET_EQ] = ACTIONS(130),
    [anon_sym_QMARK] = ACTIONS(130),
    [anon_sym_DOT_DOT] = ACTIONS(132),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(130),
    [anon_sym_and] = ACTIONS(130),
    [anon_sym_or] = ACTIONS(130),
    [anon_sym_PIPE_PIPE] = ACTIONS(132),
    [anon_sym_AMP_AMP] = ACTIONS(132),
    [anon_sym_LT_LT] = ACTIONS(132),
    [anon_sym_GT_GT] = ACTIONS(132),
    [anon_sym_EQ_EQ] = ACTIONS(132),
    [anon_sym_BANG_EQ] = ACTIONS(130),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(130),
    [anon_sym_LT_EQ_GT] = ACTIONS(130),
    [anon_sym_EQ_TILDE] = ACTIONS(130),
    [anon_sym_BANG_TILDE] = ACTIONS(130),
    [anon_sym_LT_EQ] = ACTIONS(132),
    [anon_sym_GT] = ACTIONS(132),
    [anon_sym_GT_EQ] = ACTIONS(130),
    [anon_sym_CARET] = ACTIONS(132),
    [anon_sym_PLUS] = ACTIONS(132),
    [anon_sym_SLASH] = ACTIONS(132),
    [anon_sym_PERCENT] = ACTIONS(132),
    [sym_comment] = ACTIONS(256),
  },
  [761] = {
    [sym__simple_heredoc_body] = ACTIONS(134),
    [sym__heredoc_body_beginning] = ACTIONS(134),
    [sym__string_middle] = ACTIONS(134),
    [sym__string_end] = ACTIONS(134),
    [sym__element_reference_left_bracket] = ACTIONS(134),
    [sym__scope_double_colon] = ACTIONS(134),
    [sym__binary_minus] = ACTIONS(134),
    [sym__binary_star] = ACTIONS(134),
    [anon_sym_LBRACE] = ACTIONS(134),
    [anon_sym_DOT] = ACTIONS(136),
    [anon_sym_COMMA] = ACTIONS(134),
    [anon_sym_PIPE] = ACTIONS(136),
    [anon_sym_STAR_STAR] = ACTIONS(136),
    [anon_sym_AMP] = ACTIONS(136),
    [anon_sym_EQ] = ACTIONS(136),
    [anon_sym_LT] = ACTIONS(136),
    [anon_sym_if] = ACTIONS(134),
    [anon_sym_unless] = ACTIONS(134),
    [anon_sym_while] = ACTIONS(134),
    [anon_sym_until] = ACTIONS(134),
    [anon_sym_rescue] = ACTIONS(134),
    [anon_sym_do] = ACTIONS(134),
    [anon_sym_EQ_GT] = ACTIONS(134),
    [anon_sym_AMP_DOT] = ACTIONS(134),
    [anon_sym_PLUS_EQ] = ACTIONS(134),
    [anon_sym_DASH_EQ] = ACTIONS(134),
    [anon_sym_STAR_EQ] = ACTIONS(134),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(134),
    [anon_sym_SLASH_EQ] = ACTIONS(134),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(134),
    [anon_sym_PIPE_EQ] = ACTIONS(134),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(134),
    [anon_sym_AMP_EQ] = ACTIONS(134),
    [anon_sym_PERCENT_EQ] = ACTIONS(134),
    [anon_sym_GT_GT_EQ] = ACTIONS(134),
    [anon_sym_LT_LT_EQ] = ACTIONS(134),
    [anon_sym_CARET_EQ] = ACTIONS(134),
    [anon_sym_QMARK] = ACTIONS(134),
    [anon_sym_DOT_DOT] = ACTIONS(136),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(134),
    [anon_sym_and] = ACTIONS(134),
    [anon_sym_or] = ACTIONS(134),
    [anon_sym_PIPE_PIPE] = ACTIONS(136),
    [anon_sym_AMP_AMP] = ACTIONS(136),
    [anon_sym_LT_LT] = ACTIONS(136),
    [anon_sym_GT_GT] = ACTIONS(136),
    [anon_sym_EQ_EQ] = ACTIONS(136),
    [anon_sym_BANG_EQ] = ACTIONS(134),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(134),
    [anon_sym_LT_EQ_GT] = ACTIONS(134),
    [anon_sym_EQ_TILDE] = ACTIONS(134),
    [anon_sym_BANG_TILDE] = ACTIONS(134),
    [anon_sym_LT_EQ] = ACTIONS(136),
    [anon_sym_GT] = ACTIONS(136),
    [anon_sym_GT_EQ] = ACTIONS(134),
    [anon_sym_CARET] = ACTIONS(136),
    [anon_sym_PLUS] = ACTIONS(136),
    [anon_sym_SLASH] = ACTIONS(136),
    [anon_sym_PERCENT] = ACTIONS(136),
    [sym_comment] = ACTIONS(256),
  },
  [762] = {
    [sym__simple_heredoc_body] = ACTIONS(138),
    [sym__heredoc_body_beginning] = ACTIONS(138),
    [sym__string_middle] = ACTIONS(138),
    [sym__string_end] = ACTIONS(138),
    [sym__element_reference_left_bracket] = ACTIONS(138),
    [sym__scope_double_colon] = ACTIONS(138),
    [sym__binary_minus] = ACTIONS(138),
    [sym__binary_star] = ACTIONS(138),
    [anon_sym_LBRACE] = ACTIONS(138),
    [anon_sym_DOT] = ACTIONS(140),
    [anon_sym_COMMA] = ACTIONS(138),
    [anon_sym_PIPE] = ACTIONS(140),
    [anon_sym_STAR_STAR] = ACTIONS(140),
    [anon_sym_AMP] = ACTIONS(140),
    [anon_sym_EQ] = ACTIONS(140),
    [anon_sym_LT] = ACTIONS(140),
    [anon_sym_if] = ACTIONS(138),
    [anon_sym_unless] = ACTIONS(138),
    [anon_sym_while] = ACTIONS(138),
    [anon_sym_until] = ACTIONS(138),
    [anon_sym_rescue] = ACTIONS(138),
    [anon_sym_do] = ACTIONS(138),
    [anon_sym_EQ_GT] = ACTIONS(138),
    [anon_sym_AMP_DOT] = ACTIONS(138),
    [anon_sym_PLUS_EQ] = ACTIONS(138),
    [anon_sym_DASH_EQ] = ACTIONS(138),
    [anon_sym_STAR_EQ] = ACTIONS(138),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(138),
    [anon_sym_SLASH_EQ] = ACTIONS(138),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(138),
    [anon_sym_PIPE_EQ] = ACTIONS(138),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(138),
    [anon_sym_AMP_EQ] = ACTIONS(138),
    [anon_sym_PERCENT_EQ] = ACTIONS(138),
    [anon_sym_GT_GT_EQ] = ACTIONS(138),
    [anon_sym_LT_LT_EQ] = ACTIONS(138),
    [anon_sym_CARET_EQ] = ACTIONS(138),
    [anon_sym_QMARK] = ACTIONS(138),
    [anon_sym_DOT_DOT] = ACTIONS(140),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(138),
    [anon_sym_and] = ACTIONS(138),
    [anon_sym_or] = ACTIONS(138),
    [anon_sym_PIPE_PIPE] = ACTIONS(140),
    [anon_sym_AMP_AMP] = ACTIONS(140),
    [anon_sym_LT_LT] = ACTIONS(140),
    [anon_sym_GT_GT] = ACTIONS(140),
    [anon_sym_EQ_EQ] = ACTIONS(140),
    [anon_sym_BANG_EQ] = ACTIONS(138),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(138),
    [anon_sym_LT_EQ_GT] = ACTIONS(138),
    [anon_sym_EQ_TILDE] = ACTIONS(138),
    [anon_sym_BANG_TILDE] = ACTIONS(138),
    [anon_sym_LT_EQ] = ACTIONS(140),
    [anon_sym_GT] = ACTIONS(140),
    [anon_sym_GT_EQ] = ACTIONS(138),
    [anon_sym_CARET] = ACTIONS(140),
    [anon_sym_PLUS] = ACTIONS(140),
    [anon_sym_SLASH] = ACTIONS(140),
    [anon_sym_PERCENT] = ACTIONS(140),
    [sym_comment] = ACTIONS(256),
  },
  [763] = {
    [sym__simple_heredoc_body] = ACTIONS(142),
    [sym__heredoc_body_beginning] = ACTIONS(142),
    [sym__string_middle] = ACTIONS(142),
    [sym__string_end] = ACTIONS(142),
    [sym__element_reference_left_bracket] = ACTIONS(142),
    [sym__scope_double_colon] = ACTIONS(142),
    [sym__binary_minus] = ACTIONS(142),
    [sym__binary_star] = ACTIONS(142),
    [anon_sym_LBRACE] = ACTIONS(142),
    [anon_sym_DOT] = ACTIONS(144),
    [anon_sym_COMMA] = ACTIONS(142),
    [anon_sym_PIPE] = ACTIONS(144),
    [anon_sym_STAR_STAR] = ACTIONS(144),
    [anon_sym_AMP] = ACTIONS(144),
    [anon_sym_EQ] = ACTIONS(144),
    [anon_sym_LT] = ACTIONS(144),
    [anon_sym_if] = ACTIONS(142),
    [anon_sym_unless] = ACTIONS(142),
    [anon_sym_while] = ACTIONS(142),
    [anon_sym_until] = ACTIONS(142),
    [anon_sym_rescue] = ACTIONS(142),
    [anon_sym_do] = ACTIONS(142),
    [anon_sym_EQ_GT] = ACTIONS(142),
    [anon_sym_AMP_DOT] = ACTIONS(142),
    [anon_sym_PLUS_EQ] = ACTIONS(142),
    [anon_sym_DASH_EQ] = ACTIONS(142),
    [anon_sym_STAR_EQ] = ACTIONS(142),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(142),
    [anon_sym_SLASH_EQ] = ACTIONS(142),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(142),
    [anon_sym_PIPE_EQ] = ACTIONS(142),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(142),
    [anon_sym_AMP_EQ] = ACTIONS(142),
    [anon_sym_PERCENT_EQ] = ACTIONS(142),
    [anon_sym_GT_GT_EQ] = ACTIONS(142),
    [anon_sym_LT_LT_EQ] = ACTIONS(142),
    [anon_sym_CARET_EQ] = ACTIONS(142),
    [anon_sym_QMARK] = ACTIONS(142),
    [anon_sym_DOT_DOT] = ACTIONS(144),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(142),
    [anon_sym_and] = ACTIONS(142),
    [anon_sym_or] = ACTIONS(142),
    [anon_sym_PIPE_PIPE] = ACTIONS(144),
    [anon_sym_AMP_AMP] = ACTIONS(144),
    [anon_sym_LT_LT] = ACTIONS(144),
    [anon_sym_GT_GT] = ACTIONS(144),
    [anon_sym_EQ_EQ] = ACTIONS(144),
    [anon_sym_BANG_EQ] = ACTIONS(142),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(142),
    [anon_sym_LT_EQ_GT] = ACTIONS(142),
    [anon_sym_EQ_TILDE] = ACTIONS(142),
    [anon_sym_BANG_TILDE] = ACTIONS(142),
    [anon_sym_LT_EQ] = ACTIONS(144),
    [anon_sym_GT] = ACTIONS(144),
    [anon_sym_GT_EQ] = ACTIONS(142),
    [anon_sym_CARET] = ACTIONS(144),
    [anon_sym_PLUS] = ACTIONS(144),
    [anon_sym_SLASH] = ACTIONS(144),
    [anon_sym_PERCENT] = ACTIONS(144),
    [sym_comment] = ACTIONS(256),
  },
  [764] = {
    [sym__statement] = STATE(2440),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(2441),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [765] = {
    [sym__statement] = STATE(2442),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(2443),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [766] = {
    [sym__statement] = STATE(2444),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(2445),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [767] = {
    [sym__statement] = STATE(2446),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(2447),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [768] = {
    [sym__statement] = STATE(2448),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(2449),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [769] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__string_middle] = ACTIONS(250),
    [sym__string_end] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [770] = {
    [sym_method] = STATE(2460),
    [sym_singleton_method] = STATE(2460),
    [sym_class] = STATE(2460),
    [sym_singleton_class] = STATE(2460),
    [sym_module] = STATE(2460),
    [sym_return] = STATE(2460),
    [sym_yield] = STATE(2460),
    [sym_break] = STATE(2460),
    [sym_next] = STATE(2460),
    [sym_redo] = STATE(2460),
    [sym_retry] = STATE(2460),
    [sym_while] = STATE(2460),
    [sym_until] = STATE(2460),
    [sym_for] = STATE(2460),
    [sym_case] = STATE(2460),
    [sym_if] = STATE(2460),
    [sym_unless] = STATE(2460),
    [sym_begin] = STATE(2460),
    [sym__arg] = STATE(2487),
    [sym__primary] = STATE(2488),
    [sym_parenthesized_statements] = STATE(2460),
    [sym_element_reference] = STATE(2282),
    [sym_scope_resolution] = STATE(2489),
    [sym_call] = STATE(2489),
    [sym_method_call] = STATE(2282),
    [sym_assignment] = STATE(2490),
    [sym_operator_assignment] = STATE(2490),
    [sym_conditional] = STATE(2490),
    [sym_range] = STATE(2490),
    [sym_binary] = STATE(2490),
    [sym_unary] = STATE(2490),
    [sym_left_assignment_list] = STATE(2491),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2492),
    [sym__variable] = STATE(2489),
    [sym_symbol] = STATE(2460),
    [sym_complex] = STATE(2460),
    [sym_rational] = STATE(2460),
    [sym_super] = STATE(2274),
    [sym_true] = STATE(2282),
    [sym_false] = STATE(2282),
    [sym_self] = STATE(2274),
    [sym_nil] = STATE(2282),
    [sym_chained_string] = STATE(2460),
    [sym_string] = STATE(2493),
    [sym_subshell] = STATE(2460),
    [sym_array] = STATE(2460),
    [sym_hash] = STATE(2460),
    [sym_regex] = STATE(2460),
    [sym_lambda] = STATE(2460),
    [sym__simple_string] = ACTIONS(3628),
    [sym__simple_symbol] = ACTIONS(3630),
    [sym__simple_subshell] = ACTIONS(3632),
    [sym__simple_regex] = ACTIONS(3634),
    [sym__simple_word_list] = ACTIONS(3636),
    [sym__string_beginning] = ACTIONS(3638),
    [sym__symbol_beginning] = ACTIONS(3640),
    [sym__subshell_beginning] = ACTIONS(3642),
    [sym__regex_beginning] = ACTIONS(3644),
    [sym__word_list_beginning] = ACTIONS(3646),
    [sym_heredoc_beginning] = ACTIONS(3648),
    [sym__unary_minus] = ACTIONS(3650),
    [anon_sym_LBRACE] = ACTIONS(3652),
    [anon_sym_def] = ACTIONS(3654),
    [anon_sym_LPAREN] = ACTIONS(3656),
    [anon_sym_COLON_COLON] = ACTIONS(3418),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3658),
    [anon_sym_module] = ACTIONS(3660),
    [anon_sym_return] = ACTIONS(3662),
    [anon_sym_yield] = ACTIONS(3664),
    [anon_sym_break] = ACTIONS(3666),
    [anon_sym_next] = ACTIONS(3668),
    [anon_sym_redo] = ACTIONS(3670),
    [anon_sym_retry] = ACTIONS(3672),
    [anon_sym_if] = ACTIONS(3674),
    [anon_sym_unless] = ACTIONS(3676),
    [anon_sym_while] = ACTIONS(3678),
    [anon_sym_until] = ACTIONS(3680),
    [anon_sym_for] = ACTIONS(3682),
    [anon_sym_case] = ACTIONS(3684),
    [anon_sym_begin] = ACTIONS(3686),
    [anon_sym_PLUS] = ACTIONS(3688),
    [anon_sym_defined_QMARK] = ACTIONS(3690),
    [anon_sym_not] = ACTIONS(3692),
    [anon_sym_BANG] = ACTIONS(3694),
    [anon_sym_TILDE] = ACTIONS(3694),
    [sym_constant] = ACTIONS(3458),
    [sym_identifier] = ACTIONS(3458),
    [sym_instance_variable] = ACTIONS(3460),
    [sym_class_variable] = ACTIONS(3460),
    [sym_global_variable] = ACTIONS(3460),
    [anon_sym_false] = ACTIONS(3462),
    [anon_sym_nil] = ACTIONS(3464),
    [anon_sym_self] = ACTIONS(3466),
    [anon_sym_super] = ACTIONS(3468),
    [anon_sym_true] = ACTIONS(3470),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3696),
    [sym_float] = ACTIONS(3698),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3700),
    [anon_sym_TRUE] = ACTIONS(3470),
    [anon_sym_FALSE] = ACTIONS(3462),
    [anon_sym_NIL] = ACTIONS(3464),
    [sym_keyword__FILE__] = ACTIONS(3702),
    [sym_keyword__LINE__] = ACTIONS(3702),
    [sym_keyword__ENCODING__] = ACTIONS(3702),
    [sym__character_literal] = ACTIONS(3704),
    [anon_sym_LBRACK] = ACTIONS(3706),
    [anon_sym_DASH_GT] = ACTIONS(3708),
  },
  [771] = {
    [sym_method] = STATE(2460),
    [sym_singleton_method] = STATE(2460),
    [sym_class] = STATE(2460),
    [sym_singleton_class] = STATE(2460),
    [sym_module] = STATE(2460),
    [sym_return] = STATE(2460),
    [sym_yield] = STATE(2460),
    [sym_break] = STATE(2460),
    [sym_next] = STATE(2460),
    [sym_redo] = STATE(2460),
    [sym_retry] = STATE(2460),
    [sym_while] = STATE(2460),
    [sym_until] = STATE(2460),
    [sym_for] = STATE(2460),
    [sym_case] = STATE(2460),
    [sym_if] = STATE(2460),
    [sym_unless] = STATE(2460),
    [sym_begin] = STATE(2460),
    [sym__arg] = STATE(2494),
    [sym__primary] = STATE(2488),
    [sym_parenthesized_statements] = STATE(2460),
    [sym_element_reference] = STATE(2282),
    [sym_scope_resolution] = STATE(2489),
    [sym_call] = STATE(2489),
    [sym_method_call] = STATE(2282),
    [sym_assignment] = STATE(2490),
    [sym_operator_assignment] = STATE(2490),
    [sym_conditional] = STATE(2490),
    [sym_range] = STATE(2490),
    [sym_binary] = STATE(2490),
    [sym_unary] = STATE(2490),
    [sym_left_assignment_list] = STATE(2491),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2492),
    [sym__variable] = STATE(2489),
    [sym_symbol] = STATE(2460),
    [sym_complex] = STATE(2460),
    [sym_rational] = STATE(2460),
    [sym_super] = STATE(2274),
    [sym_true] = STATE(2282),
    [sym_false] = STATE(2282),
    [sym_self] = STATE(2274),
    [sym_nil] = STATE(2282),
    [sym_chained_string] = STATE(2460),
    [sym_string] = STATE(2493),
    [sym_subshell] = STATE(2460),
    [sym_array] = STATE(2460),
    [sym_hash] = STATE(2460),
    [sym_regex] = STATE(2460),
    [sym_lambda] = STATE(2460),
    [sym__simple_string] = ACTIONS(3628),
    [sym__simple_symbol] = ACTIONS(3630),
    [sym__simple_subshell] = ACTIONS(3632),
    [sym__simple_regex] = ACTIONS(3634),
    [sym__simple_word_list] = ACTIONS(3636),
    [sym__string_beginning] = ACTIONS(3638),
    [sym__symbol_beginning] = ACTIONS(3640),
    [sym__subshell_beginning] = ACTIONS(3642),
    [sym__regex_beginning] = ACTIONS(3644),
    [sym__word_list_beginning] = ACTIONS(3646),
    [sym_heredoc_beginning] = ACTIONS(3648),
    [sym__unary_minus] = ACTIONS(3650),
    [anon_sym_LBRACE] = ACTIONS(3652),
    [anon_sym_def] = ACTIONS(3654),
    [anon_sym_LPAREN] = ACTIONS(3656),
    [anon_sym_COLON_COLON] = ACTIONS(3418),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3658),
    [anon_sym_module] = ACTIONS(3660),
    [anon_sym_return] = ACTIONS(3662),
    [anon_sym_yield] = ACTIONS(3664),
    [anon_sym_break] = ACTIONS(3666),
    [anon_sym_next] = ACTIONS(3668),
    [anon_sym_redo] = ACTIONS(3670),
    [anon_sym_retry] = ACTIONS(3672),
    [anon_sym_if] = ACTIONS(3674),
    [anon_sym_unless] = ACTIONS(3676),
    [anon_sym_while] = ACTIONS(3678),
    [anon_sym_until] = ACTIONS(3680),
    [anon_sym_for] = ACTIONS(3682),
    [anon_sym_case] = ACTIONS(3684),
    [anon_sym_begin] = ACTIONS(3686),
    [anon_sym_PLUS] = ACTIONS(3688),
    [anon_sym_defined_QMARK] = ACTIONS(3690),
    [anon_sym_not] = ACTIONS(3692),
    [anon_sym_BANG] = ACTIONS(3694),
    [anon_sym_TILDE] = ACTIONS(3694),
    [sym_constant] = ACTIONS(3458),
    [sym_identifier] = ACTIONS(3458),
    [sym_instance_variable] = ACTIONS(3460),
    [sym_class_variable] = ACTIONS(3460),
    [sym_global_variable] = ACTIONS(3460),
    [anon_sym_false] = ACTIONS(3462),
    [anon_sym_nil] = ACTIONS(3464),
    [anon_sym_self] = ACTIONS(3466),
    [anon_sym_super] = ACTIONS(3468),
    [anon_sym_true] = ACTIONS(3470),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3696),
    [sym_float] = ACTIONS(3698),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3700),
    [anon_sym_TRUE] = ACTIONS(3470),
    [anon_sym_FALSE] = ACTIONS(3462),
    [anon_sym_NIL] = ACTIONS(3464),
    [sym_keyword__FILE__] = ACTIONS(3702),
    [sym_keyword__LINE__] = ACTIONS(3702),
    [sym_keyword__ENCODING__] = ACTIONS(3702),
    [sym__character_literal] = ACTIONS(3704),
    [anon_sym_LBRACK] = ACTIONS(3706),
    [anon_sym_DASH_GT] = ACTIONS(3708),
  },
  [772] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1382),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(2496),
    [sym__argument] = STATE(1385),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1386),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1387),
    [sym__variable] = STATE(1383),
    [sym_reserved_identifier] = STATE(1388),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1389),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(2497),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(2154),
    [sym__splat_star] = ACTIONS(2156),
    [sym__unary_minus] = ACTIONS(2158),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(3710),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2162),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2164),
    [anon_sym_yield] = ACTIONS(2166),
    [anon_sym_break] = ACTIONS(2168),
    [anon_sym_next] = ACTIONS(2170),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2172),
    [anon_sym_defined_QMARK] = ACTIONS(2174),
    [anon_sym_not] = ACTIONS(2176),
    [anon_sym_BANG] = ACTIONS(2178),
    [anon_sym_TILDE] = ACTIONS(2178),
    [sym_constant] = ACTIONS(2180),
    [sym_identifier] = ACTIONS(2180),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [773] = {
    [sym_method] = STATE(769),
    [sym_singleton_method] = STATE(769),
    [sym_class] = STATE(769),
    [sym_singleton_class] = STATE(769),
    [sym_module] = STATE(769),
    [sym_return] = STATE(769),
    [sym_yield] = STATE(769),
    [sym_break] = STATE(769),
    [sym_next] = STATE(769),
    [sym_redo] = STATE(769),
    [sym_retry] = STATE(769),
    [sym_while] = STATE(769),
    [sym_until] = STATE(769),
    [sym_for] = STATE(769),
    [sym_case] = STATE(769),
    [sym_if] = STATE(769),
    [sym_unless] = STATE(769),
    [sym_begin] = STATE(769),
    [sym__arg] = STATE(2517),
    [sym__primary] = STATE(804),
    [sym_parenthesized_statements] = STATE(769),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(805),
    [sym_call] = STATE(805),
    [sym_method_call] = STATE(694),
    [sym_assignment] = STATE(811),
    [sym_operator_assignment] = STATE(811),
    [sym_conditional] = STATE(811),
    [sym_range] = STATE(811),
    [sym_binary] = STATE(811),
    [sym_unary] = STATE(811),
    [sym_left_assignment_list] = STATE(812),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(813),
    [sym__variable] = STATE(805),
    [sym_symbol] = STATE(769),
    [sym_complex] = STATE(769),
    [sym_rational] = STATE(769),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(769),
    [sym_string] = STATE(2518),
    [sym_subshell] = STATE(769),
    [sym_array] = STATE(769),
    [sym_hash] = STATE(769),
    [sym_regex] = STATE(769),
    [sym_lambda] = STATE(769),
    [sym__simple_string] = ACTIONS(3712),
    [sym__simple_symbol] = ACTIONS(1276),
    [sym__simple_subshell] = ACTIONS(1278),
    [sym__simple_regex] = ACTIONS(1280),
    [sym__simple_word_list] = ACTIONS(1282),
    [sym__string_beginning] = ACTIONS(3714),
    [sym__symbol_beginning] = ACTIONS(1286),
    [sym__subshell_beginning] = ACTIONS(1288),
    [sym__regex_beginning] = ACTIONS(1290),
    [sym__word_list_beginning] = ACTIONS(1292),
    [sym_heredoc_beginning] = ACTIONS(1294),
    [sym__unary_minus] = ACTIONS(1302),
    [anon_sym_LBRACE] = ACTIONS(3716),
    [anon_sym_def] = ACTIONS(3718),
    [anon_sym_LPAREN] = ACTIONS(1308),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3720),
    [anon_sym_module] = ACTIONS(3722),
    [anon_sym_return] = ACTIONS(3724),
    [anon_sym_yield] = ACTIONS(3726),
    [anon_sym_break] = ACTIONS(3728),
    [anon_sym_next] = ACTIONS(3730),
    [anon_sym_redo] = ACTIONS(3732),
    [anon_sym_retry] = ACTIONS(3734),
    [anon_sym_if] = ACTIONS(3736),
    [anon_sym_unless] = ACTIONS(3738),
    [anon_sym_while] = ACTIONS(3740),
    [anon_sym_until] = ACTIONS(3742),
    [anon_sym_for] = ACTIONS(3744),
    [anon_sym_case] = ACTIONS(3746),
    [anon_sym_begin] = ACTIONS(3748),
    [anon_sym_PLUS] = ACTIONS(3750),
    [anon_sym_defined_QMARK] = ACTIONS(1334),
    [anon_sym_not] = ACTIONS(3752),
    [anon_sym_BANG] = ACTIONS(1340),
    [anon_sym_TILDE] = ACTIONS(1340),
    [sym_constant] = ACTIONS(3488),
    [sym_identifier] = ACTIONS(3488),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_false] = ACTIONS(1186),
    [anon_sym_nil] = ACTIONS(1188),
    [anon_sym_self] = ACTIONS(3490),
    [anon_sym_super] = ACTIONS(3492),
    [anon_sym_true] = ACTIONS(1184),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1344),
    [sym_float] = ACTIONS(1346),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1348),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1350),
    [sym_keyword__LINE__] = ACTIONS(1350),
    [sym_keyword__ENCODING__] = ACTIONS(1350),
    [sym__character_literal] = ACTIONS(3754),
    [anon_sym_LBRACK] = ACTIONS(1354),
    [anon_sym_DASH_GT] = ACTIONS(1356),
  },
  [774] = {
    [sym__statements] = STATE(2520),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(2521),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2128),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_hash_splat_argument] = STATE(197),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(2130),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2131),
    [sym__variable] = STATE(2129),
    [sym_reserved_identifier] = STATE(201),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(2132),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(2522),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym__hash_items] = STATE(2523),
    [sym_pair] = STATE(205),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3268),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(3756),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_PIPE] = ACTIONS(3048),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(302),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(3272),
    [anon_sym_yield] = ACTIONS(3274),
    [anon_sym_break] = ACTIONS(3276),
    [anon_sym_next] = ACTIONS(3278),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(3280),
    [anon_sym_defined_QMARK] = ACTIONS(3282),
    [anon_sym_not] = ACTIONS(3284),
    [anon_sym_BANG] = ACTIONS(3286),
    [anon_sym_TILDE] = ACTIONS(3286),
    [sym_constant] = ACTIONS(3288),
    [sym_identifier] = ACTIONS(3288),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(3290),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(3292),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [775] = {
    [sym__method_rest] = STATE(2525),
    [sym__variable] = STATE(2526),
    [sym_operator] = STATE(217),
    [sym__method_name] = STATE(2527),
    [sym_setter] = STATE(217),
    [sym_symbol] = STATE(217),
    [sym_super] = STATE(219),
    [sym_self] = STATE(219),
    [sym__simple_symbol] = ACTIONS(378),
    [sym__symbol_beginning] = ACTIONS(380),
    [sym__keyword_colon] = ACTIONS(1556),
    [anon_sym_LPAREN] = ACTIONS(3758),
    [anon_sym_PIPE] = ACTIONS(384),
    [anon_sym_STAR] = ACTIONS(386),
    [anon_sym_STAR_STAR] = ACTIONS(384),
    [anon_sym_AMP] = ACTIONS(384),
    [anon_sym_LT] = ACTIONS(386),
    [anon_sym_DOT_DOT] = ACTIONS(384),
    [anon_sym_LT_LT] = ACTIONS(384),
    [anon_sym_GT_GT] = ACTIONS(384),
    [anon_sym_EQ_EQ] = ACTIONS(386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(384),
    [anon_sym_LT_EQ_GT] = ACTIONS(384),
    [anon_sym_EQ_TILDE] = ACTIONS(384),
    [anon_sym_BANG_TILDE] = ACTIONS(384),
    [anon_sym_LT_EQ] = ACTIONS(386),
    [anon_sym_GT] = ACTIONS(386),
    [anon_sym_GT_EQ] = ACTIONS(384),
    [anon_sym_CARET] = ACTIONS(384),
    [anon_sym_PLUS] = ACTIONS(386),
    [anon_sym_SLASH] = ACTIONS(384),
    [anon_sym_PERCENT] = ACTIONS(384),
    [anon_sym_BANG] = ACTIONS(386),
    [anon_sym_TILDE] = ACTIONS(384),
    [sym_constant] = ACTIONS(388),
    [sym_identifier] = ACTIONS(390),
    [sym_instance_variable] = ACTIONS(388),
    [sym_class_variable] = ACTIONS(388),
    [sym_global_variable] = ACTIONS(388),
    [anon_sym_self] = ACTIONS(392),
    [anon_sym_super] = ACTIONS(394),
    [anon_sym_DASH] = ACTIONS(386),
    [anon_sym_PLUS_AT] = ACTIONS(384),
    [anon_sym_DASH_AT] = ACTIONS(384),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(386),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(384),
    [anon_sym_BQUOTE] = ACTIONS(384),
    [sym_comment] = ACTIONS(110),
  },
  [776] = {
    [sym__statements] = STATE(2529),
    [sym__top_level_statement] = STATE(235),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(236),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(237),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(240),
    [sym__mlhs] = STATE(241),
    [sym__simple_mlhs] = STATE(242),
    [sym_destructured_left_assignment] = STATE(242),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(243),
    [sym__variable] = STATE(239),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(396),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_RPAREN] = ACTIONS(3760),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(402),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(412),
    [anon_sym_defined_QMARK] = ACTIONS(414),
    [anon_sym_not] = ACTIONS(416),
    [anon_sym_BANG] = ACTIONS(418),
    [anon_sym_TILDE] = ACTIONS(418),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [777] = {
    [sym_method] = STATE(2460),
    [sym_singleton_method] = STATE(2460),
    [sym_class] = STATE(2460),
    [sym_singleton_class] = STATE(2460),
    [sym_module] = STATE(2460),
    [sym_return] = STATE(2460),
    [sym_yield] = STATE(2460),
    [sym_break] = STATE(2460),
    [sym_next] = STATE(2460),
    [sym_redo] = STATE(2460),
    [sym_retry] = STATE(2460),
    [sym_while] = STATE(2460),
    [sym_until] = STATE(2460),
    [sym_for] = STATE(2460),
    [sym_case] = STATE(2460),
    [sym_if] = STATE(2460),
    [sym_unless] = STATE(2460),
    [sym_begin] = STATE(2460),
    [sym__arg] = STATE(2530),
    [sym__primary] = STATE(2488),
    [sym_parenthesized_statements] = STATE(2460),
    [sym_element_reference] = STATE(2282),
    [sym_scope_resolution] = STATE(2489),
    [sym_call] = STATE(2489),
    [sym_method_call] = STATE(2282),
    [sym_assignment] = STATE(2490),
    [sym_operator_assignment] = STATE(2490),
    [sym_conditional] = STATE(2490),
    [sym_range] = STATE(2490),
    [sym_binary] = STATE(2490),
    [sym_unary] = STATE(2490),
    [sym_left_assignment_list] = STATE(2491),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2492),
    [sym__variable] = STATE(2489),
    [sym_symbol] = STATE(2460),
    [sym_complex] = STATE(2460),
    [sym_rational] = STATE(2460),
    [sym_super] = STATE(2274),
    [sym_true] = STATE(2282),
    [sym_false] = STATE(2282),
    [sym_self] = STATE(2274),
    [sym_nil] = STATE(2282),
    [sym_chained_string] = STATE(2460),
    [sym_string] = STATE(2493),
    [sym_subshell] = STATE(2460),
    [sym_array] = STATE(2460),
    [sym_hash] = STATE(2460),
    [sym_regex] = STATE(2460),
    [sym_lambda] = STATE(2460),
    [sym__simple_string] = ACTIONS(3628),
    [sym__simple_symbol] = ACTIONS(3630),
    [sym__simple_subshell] = ACTIONS(3632),
    [sym__simple_regex] = ACTIONS(3634),
    [sym__simple_word_list] = ACTIONS(3636),
    [sym__string_beginning] = ACTIONS(3638),
    [sym__symbol_beginning] = ACTIONS(3640),
    [sym__subshell_beginning] = ACTIONS(3642),
    [sym__regex_beginning] = ACTIONS(3644),
    [sym__word_list_beginning] = ACTIONS(3646),
    [sym_heredoc_beginning] = ACTIONS(3648),
    [sym__unary_minus] = ACTIONS(3650),
    [anon_sym_LBRACE] = ACTIONS(3652),
    [anon_sym_def] = ACTIONS(3654),
    [anon_sym_LPAREN] = ACTIONS(3656),
    [anon_sym_COLON_COLON] = ACTIONS(3418),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3658),
    [anon_sym_module] = ACTIONS(3660),
    [anon_sym_return] = ACTIONS(3662),
    [anon_sym_yield] = ACTIONS(3664),
    [anon_sym_break] = ACTIONS(3666),
    [anon_sym_next] = ACTIONS(3668),
    [anon_sym_redo] = ACTIONS(3670),
    [anon_sym_retry] = ACTIONS(3672),
    [anon_sym_if] = ACTIONS(3674),
    [anon_sym_unless] = ACTIONS(3676),
    [anon_sym_while] = ACTIONS(3678),
    [anon_sym_until] = ACTIONS(3680),
    [anon_sym_for] = ACTIONS(3682),
    [anon_sym_case] = ACTIONS(3684),
    [anon_sym_begin] = ACTIONS(3686),
    [anon_sym_PLUS] = ACTIONS(3688),
    [anon_sym_defined_QMARK] = ACTIONS(3690),
    [anon_sym_not] = ACTIONS(3692),
    [anon_sym_BANG] = ACTIONS(3694),
    [anon_sym_TILDE] = ACTIONS(3694),
    [sym_constant] = ACTIONS(3458),
    [sym_identifier] = ACTIONS(3458),
    [sym_instance_variable] = ACTIONS(3460),
    [sym_class_variable] = ACTIONS(3460),
    [sym_global_variable] = ACTIONS(3460),
    [anon_sym_false] = ACTIONS(3462),
    [anon_sym_nil] = ACTIONS(3464),
    [anon_sym_self] = ACTIONS(3466),
    [anon_sym_super] = ACTIONS(3468),
    [anon_sym_true] = ACTIONS(3470),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3696),
    [sym_float] = ACTIONS(3698),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3700),
    [anon_sym_TRUE] = ACTIONS(3470),
    [anon_sym_FALSE] = ACTIONS(3462),
    [anon_sym_NIL] = ACTIONS(3464),
    [sym_keyword__FILE__] = ACTIONS(3702),
    [sym_keyword__LINE__] = ACTIONS(3702),
    [sym_keyword__ENCODING__] = ACTIONS(3702),
    [sym__character_literal] = ACTIONS(3704),
    [anon_sym_LBRACK] = ACTIONS(3706),
    [anon_sym_DASH_GT] = ACTIONS(3708),
  },
  [778] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(293),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(2533),
    [sym_call] = STATE(295),
    [sym_method_call] = STATE(286),
    [sym__lhs] = STATE(255),
    [sym__variable] = STATE(295),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__singleton_class_left_angle_left_langle] = ACTIONS(3762),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(458),
    [anon_sym_COLON_COLON] = ACTIONS(524),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(3764),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [779] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(293),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(2535),
    [sym_call] = STATE(295),
    [sym_method_call] = STATE(286),
    [sym__lhs] = STATE(255),
    [sym__variable] = STATE(295),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [sym__keyword_colon] = ACTIONS(1556),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(458),
    [anon_sym_COLON_COLON] = ACTIONS(524),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(3766),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [780] = {
    [sym_method] = STATE(769),
    [sym_singleton_method] = STATE(769),
    [sym_class] = STATE(769),
    [sym_singleton_class] = STATE(769),
    [sym_module] = STATE(769),
    [sym_return] = STATE(769),
    [sym_yield] = STATE(769),
    [sym_break] = STATE(769),
    [sym_next] = STATE(769),
    [sym_redo] = STATE(769),
    [sym_retry] = STATE(769),
    [sym_while] = STATE(769),
    [sym_until] = STATE(769),
    [sym_for] = STATE(769),
    [sym_case] = STATE(769),
    [sym_if] = STATE(769),
    [sym_unless] = STATE(769),
    [sym_begin] = STATE(769),
    [sym__arg] = STATE(2371),
    [sym__primary] = STATE(804),
    [sym_parenthesized_statements] = STATE(769),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(805),
    [sym_call] = STATE(805),
    [sym_method_call] = STATE(694),
    [sym_argument_list] = STATE(2536),
    [sym__argument_list_with_parens] = STATE(2373),
    [sym__argument] = STATE(2374),
    [sym_splat_argument] = STATE(2375),
    [sym_hash_splat_argument] = STATE(2375),
    [sym_block_argument] = STATE(2375),
    [sym_assignment] = STATE(811),
    [sym_operator_assignment] = STATE(811),
    [sym_conditional] = STATE(811),
    [sym_range] = STATE(811),
    [sym_binary] = STATE(811),
    [sym_unary] = STATE(811),
    [sym_left_assignment_list] = STATE(812),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(813),
    [sym__variable] = STATE(805),
    [sym_reserved_identifier] = STATE(2377),
    [sym_symbol] = STATE(769),
    [sym_complex] = STATE(769),
    [sym_rational] = STATE(769),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(769),
    [sym_string] = STATE(2378),
    [sym_subshell] = STATE(769),
    [sym_array] = STATE(769),
    [sym_hash] = STATE(769),
    [sym_pair] = STATE(2375),
    [sym_regex] = STATE(769),
    [sym_lambda] = STATE(769),
    [sym__simple_string] = ACTIONS(1274),
    [sym__simple_symbol] = ACTIONS(1276),
    [sym__simple_subshell] = ACTIONS(1278),
    [sym__simple_regex] = ACTIONS(1280),
    [sym__simple_word_list] = ACTIONS(1282),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(1284),
    [sym__symbol_beginning] = ACTIONS(1286),
    [sym__subshell_beginning] = ACTIONS(1288),
    [sym__regex_beginning] = ACTIONS(1290),
    [sym__word_list_beginning] = ACTIONS(1292),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym__string_middle] = ACTIONS(532),
    [sym__string_end] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(1294),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(3564),
    [sym__splat_star] = ACTIONS(3566),
    [sym__argument_list_left_paren] = ACTIONS(3568),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(1302),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(1306),
    [anon_sym_LPAREN] = ACTIONS(1308),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(544),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(1310),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(1312),
    [anon_sym_return] = ACTIONS(1314),
    [anon_sym_yield] = ACTIONS(1316),
    [anon_sym_break] = ACTIONS(1318),
    [anon_sym_next] = ACTIONS(1320),
    [anon_sym_redo] = ACTIONS(1322),
    [anon_sym_retry] = ACTIONS(1324),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(1326),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(1330),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1332),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_PLUS_EQ] = ACTIONS(532),
    [anon_sym_DASH_EQ] = ACTIONS(532),
    [anon_sym_STAR_EQ] = ACTIONS(532),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(532),
    [anon_sym_SLASH_EQ] = ACTIONS(532),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(532),
    [anon_sym_PIPE_EQ] = ACTIONS(532),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(532),
    [anon_sym_AMP_EQ] = ACTIONS(532),
    [anon_sym_PERCENT_EQ] = ACTIONS(532),
    [anon_sym_GT_GT_EQ] = ACTIONS(532),
    [anon_sym_LT_LT_EQ] = ACTIONS(532),
    [anon_sym_CARET_EQ] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(544),
    [anon_sym_AMP_AMP] = ACTIONS(544),
    [anon_sym_LT_LT] = ACTIONS(544),
    [anon_sym_GT_GT] = ACTIONS(544),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(544),
    [anon_sym_PERCENT] = ACTIONS(544),
    [anon_sym_defined_QMARK] = ACTIONS(1334),
    [anon_sym_not] = ACTIONS(1336),
    [anon_sym_BANG] = ACTIONS(1338),
    [anon_sym_TILDE] = ACTIONS(1340),
    [sym_constant] = ACTIONS(3574),
    [sym_identifier] = ACTIONS(3574),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(1168),
    [anon_sym_nil] = ACTIONS(1170),
    [anon_sym_self] = ACTIONS(1172),
    [anon_sym_super] = ACTIONS(1174),
    [anon_sym_true] = ACTIONS(1176),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1344),
    [sym_float] = ACTIONS(1346),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1348),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1350),
    [sym_keyword__LINE__] = ACTIONS(1350),
    [sym_keyword__ENCODING__] = ACTIONS(1350),
    [sym__character_literal] = ACTIONS(1352),
    [anon_sym_LBRACK] = ACTIONS(1354),
    [anon_sym_DASH_GT] = ACTIONS(1356),
  },
  [781] = {
    [sym_method] = STATE(769),
    [sym_singleton_method] = STATE(769),
    [sym_class] = STATE(769),
    [sym_singleton_class] = STATE(769),
    [sym_module] = STATE(769),
    [sym_return] = STATE(769),
    [sym_yield] = STATE(769),
    [sym_break] = STATE(769),
    [sym_next] = STATE(769),
    [sym_redo] = STATE(769),
    [sym_retry] = STATE(769),
    [sym_while] = STATE(769),
    [sym_until] = STATE(769),
    [sym_for] = STATE(769),
    [sym_case] = STATE(769),
    [sym_if] = STATE(769),
    [sym_unless] = STATE(769),
    [sym_begin] = STATE(769),
    [sym__arg] = STATE(2371),
    [sym__primary] = STATE(804),
    [sym_parenthesized_statements] = STATE(769),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(805),
    [sym_call] = STATE(805),
    [sym_method_call] = STATE(694),
    [sym_argument_list] = STATE(2537),
    [sym__argument_list_with_parens] = STATE(2373),
    [sym__argument] = STATE(2374),
    [sym_splat_argument] = STATE(2375),
    [sym_hash_splat_argument] = STATE(2375),
    [sym_block_argument] = STATE(2375),
    [sym_assignment] = STATE(811),
    [sym_operator_assignment] = STATE(811),
    [sym_conditional] = STATE(811),
    [sym_range] = STATE(811),
    [sym_binary] = STATE(811),
    [sym_unary] = STATE(811),
    [sym_left_assignment_list] = STATE(812),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(813),
    [sym__variable] = STATE(805),
    [sym_reserved_identifier] = STATE(2377),
    [sym_symbol] = STATE(769),
    [sym_complex] = STATE(769),
    [sym_rational] = STATE(769),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(769),
    [sym_string] = STATE(2378),
    [sym_subshell] = STATE(769),
    [sym_array] = STATE(769),
    [sym_hash] = STATE(769),
    [sym_pair] = STATE(2375),
    [sym_regex] = STATE(769),
    [sym_lambda] = STATE(769),
    [sym__simple_string] = ACTIONS(1274),
    [sym__simple_symbol] = ACTIONS(1276),
    [sym__simple_subshell] = ACTIONS(1278),
    [sym__simple_regex] = ACTIONS(1280),
    [sym__simple_word_list] = ACTIONS(1282),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(1284),
    [sym__symbol_beginning] = ACTIONS(1286),
    [sym__subshell_beginning] = ACTIONS(1288),
    [sym__regex_beginning] = ACTIONS(1290),
    [sym__word_list_beginning] = ACTIONS(1292),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym__string_middle] = ACTIONS(602),
    [sym__string_end] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(1294),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(3564),
    [sym__splat_star] = ACTIONS(3566),
    [sym__argument_list_left_paren] = ACTIONS(3568),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(1302),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(1306),
    [anon_sym_LPAREN] = ACTIONS(1308),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(604),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(1310),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(1312),
    [anon_sym_return] = ACTIONS(1314),
    [anon_sym_yield] = ACTIONS(1316),
    [anon_sym_break] = ACTIONS(1318),
    [anon_sym_next] = ACTIONS(1320),
    [anon_sym_redo] = ACTIONS(1322),
    [anon_sym_retry] = ACTIONS(1324),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(1326),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(1330),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1332),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_PLUS_EQ] = ACTIONS(602),
    [anon_sym_DASH_EQ] = ACTIONS(602),
    [anon_sym_STAR_EQ] = ACTIONS(602),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(602),
    [anon_sym_SLASH_EQ] = ACTIONS(602),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(602),
    [anon_sym_PIPE_EQ] = ACTIONS(602),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(602),
    [anon_sym_AMP_EQ] = ACTIONS(602),
    [anon_sym_PERCENT_EQ] = ACTIONS(602),
    [anon_sym_GT_GT_EQ] = ACTIONS(602),
    [anon_sym_LT_LT_EQ] = ACTIONS(602),
    [anon_sym_CARET_EQ] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(604),
    [anon_sym_AMP_AMP] = ACTIONS(604),
    [anon_sym_LT_LT] = ACTIONS(604),
    [anon_sym_GT_GT] = ACTIONS(604),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(604),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(604),
    [anon_sym_PERCENT] = ACTIONS(604),
    [anon_sym_defined_QMARK] = ACTIONS(1334),
    [anon_sym_not] = ACTIONS(1336),
    [anon_sym_BANG] = ACTIONS(1338),
    [anon_sym_TILDE] = ACTIONS(1340),
    [sym_constant] = ACTIONS(3574),
    [sym_identifier] = ACTIONS(3574),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(1168),
    [anon_sym_nil] = ACTIONS(1170),
    [anon_sym_self] = ACTIONS(1172),
    [anon_sym_super] = ACTIONS(1174),
    [anon_sym_true] = ACTIONS(1176),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1344),
    [sym_float] = ACTIONS(1346),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1348),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1350),
    [sym_keyword__LINE__] = ACTIONS(1350),
    [sym_keyword__ENCODING__] = ACTIONS(1350),
    [sym__character_literal] = ACTIONS(1352),
    [anon_sym_LBRACK] = ACTIONS(1354),
    [anon_sym_DASH_GT] = ACTIONS(1356),
  },
  [782] = {
    [sym_method] = STATE(769),
    [sym_singleton_method] = STATE(769),
    [sym_class] = STATE(769),
    [sym_singleton_class] = STATE(769),
    [sym_module] = STATE(769),
    [sym_return] = STATE(769),
    [sym_yield] = STATE(769),
    [sym_break] = STATE(769),
    [sym_next] = STATE(769),
    [sym_redo] = STATE(769),
    [sym_retry] = STATE(769),
    [sym_while] = STATE(769),
    [sym_until] = STATE(769),
    [sym_for] = STATE(769),
    [sym_case] = STATE(769),
    [sym_if] = STATE(769),
    [sym_unless] = STATE(769),
    [sym_begin] = STATE(769),
    [sym__arg] = STATE(2371),
    [sym__primary] = STATE(804),
    [sym_parenthesized_statements] = STATE(769),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(805),
    [sym_call] = STATE(805),
    [sym_method_call] = STATE(694),
    [sym_argument_list] = STATE(2538),
    [sym__argument_list_with_parens] = STATE(2373),
    [sym__argument] = STATE(2374),
    [sym_splat_argument] = STATE(2375),
    [sym_hash_splat_argument] = STATE(2375),
    [sym_block_argument] = STATE(2375),
    [sym_assignment] = STATE(811),
    [sym_operator_assignment] = STATE(811),
    [sym_conditional] = STATE(811),
    [sym_range] = STATE(811),
    [sym_binary] = STATE(811),
    [sym_unary] = STATE(811),
    [sym_left_assignment_list] = STATE(812),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(813),
    [sym__variable] = STATE(805),
    [sym_reserved_identifier] = STATE(2377),
    [sym_symbol] = STATE(769),
    [sym_complex] = STATE(769),
    [sym_rational] = STATE(769),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(769),
    [sym_string] = STATE(2378),
    [sym_subshell] = STATE(769),
    [sym_array] = STATE(769),
    [sym_hash] = STATE(769),
    [sym_pair] = STATE(2375),
    [sym_regex] = STATE(769),
    [sym_lambda] = STATE(769),
    [sym__simple_string] = ACTIONS(1274),
    [sym__simple_symbol] = ACTIONS(1276),
    [sym__simple_subshell] = ACTIONS(1278),
    [sym__simple_regex] = ACTIONS(1280),
    [sym__simple_word_list] = ACTIONS(1282),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(1284),
    [sym__symbol_beginning] = ACTIONS(1286),
    [sym__subshell_beginning] = ACTIONS(1288),
    [sym__regex_beginning] = ACTIONS(1290),
    [sym__word_list_beginning] = ACTIONS(1292),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym__string_middle] = ACTIONS(606),
    [sym__string_end] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(1294),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(3564),
    [sym__splat_star] = ACTIONS(3566),
    [sym__argument_list_left_paren] = ACTIONS(3568),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(1302),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(1306),
    [anon_sym_LPAREN] = ACTIONS(1308),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(608),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(1310),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(1312),
    [anon_sym_return] = ACTIONS(1314),
    [anon_sym_yield] = ACTIONS(1316),
    [anon_sym_break] = ACTIONS(1318),
    [anon_sym_next] = ACTIONS(1320),
    [anon_sym_redo] = ACTIONS(1322),
    [anon_sym_retry] = ACTIONS(1324),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(1326),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(1330),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1332),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_PLUS_EQ] = ACTIONS(606),
    [anon_sym_DASH_EQ] = ACTIONS(606),
    [anon_sym_STAR_EQ] = ACTIONS(606),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(606),
    [anon_sym_SLASH_EQ] = ACTIONS(606),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(606),
    [anon_sym_PIPE_EQ] = ACTIONS(606),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(606),
    [anon_sym_AMP_EQ] = ACTIONS(606),
    [anon_sym_PERCENT_EQ] = ACTIONS(606),
    [anon_sym_GT_GT_EQ] = ACTIONS(606),
    [anon_sym_LT_LT_EQ] = ACTIONS(606),
    [anon_sym_CARET_EQ] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(608),
    [anon_sym_AMP_AMP] = ACTIONS(608),
    [anon_sym_LT_LT] = ACTIONS(608),
    [anon_sym_GT_GT] = ACTIONS(608),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(608),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(608),
    [anon_sym_PERCENT] = ACTIONS(608),
    [anon_sym_defined_QMARK] = ACTIONS(1334),
    [anon_sym_not] = ACTIONS(1336),
    [anon_sym_BANG] = ACTIONS(1338),
    [anon_sym_TILDE] = ACTIONS(1340),
    [sym_constant] = ACTIONS(3574),
    [sym_identifier] = ACTIONS(3574),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(1168),
    [anon_sym_nil] = ACTIONS(1170),
    [anon_sym_self] = ACTIONS(1172),
    [anon_sym_super] = ACTIONS(1174),
    [anon_sym_true] = ACTIONS(1176),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1344),
    [sym_float] = ACTIONS(1346),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1348),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1350),
    [sym_keyword__LINE__] = ACTIONS(1350),
    [sym_keyword__ENCODING__] = ACTIONS(1350),
    [sym__character_literal] = ACTIONS(1352),
    [anon_sym_LBRACK] = ACTIONS(1354),
    [anon_sym_DASH_GT] = ACTIONS(1356),
  },
  [783] = {
    [sym_method] = STATE(769),
    [sym_singleton_method] = STATE(769),
    [sym_class] = STATE(769),
    [sym_singleton_class] = STATE(769),
    [sym_module] = STATE(769),
    [sym_return] = STATE(769),
    [sym_yield] = STATE(769),
    [sym_break] = STATE(769),
    [sym_next] = STATE(769),
    [sym_redo] = STATE(769),
    [sym_retry] = STATE(769),
    [sym_while] = STATE(769),
    [sym_until] = STATE(769),
    [sym_for] = STATE(769),
    [sym_case] = STATE(769),
    [sym_if] = STATE(769),
    [sym_unless] = STATE(769),
    [sym_begin] = STATE(769),
    [sym__arg] = STATE(2371),
    [sym__primary] = STATE(804),
    [sym_parenthesized_statements] = STATE(769),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(805),
    [sym_call] = STATE(805),
    [sym_method_call] = STATE(694),
    [sym_argument_list] = STATE(2539),
    [sym__argument_list_with_parens] = STATE(2373),
    [sym__argument] = STATE(2374),
    [sym_splat_argument] = STATE(2375),
    [sym_hash_splat_argument] = STATE(2375),
    [sym_block_argument] = STATE(2375),
    [sym_assignment] = STATE(811),
    [sym_operator_assignment] = STATE(811),
    [sym_conditional] = STATE(811),
    [sym_range] = STATE(811),
    [sym_binary] = STATE(811),
    [sym_unary] = STATE(811),
    [sym_left_assignment_list] = STATE(812),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(813),
    [sym__variable] = STATE(805),
    [sym_reserved_identifier] = STATE(2377),
    [sym_symbol] = STATE(769),
    [sym_complex] = STATE(769),
    [sym_rational] = STATE(769),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(769),
    [sym_string] = STATE(2378),
    [sym_subshell] = STATE(769),
    [sym_array] = STATE(769),
    [sym_hash] = STATE(769),
    [sym_pair] = STATE(2375),
    [sym_regex] = STATE(769),
    [sym_lambda] = STATE(769),
    [sym__simple_string] = ACTIONS(1274),
    [sym__simple_symbol] = ACTIONS(1276),
    [sym__simple_subshell] = ACTIONS(1278),
    [sym__simple_regex] = ACTIONS(1280),
    [sym__simple_word_list] = ACTIONS(1282),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(1284),
    [sym__symbol_beginning] = ACTIONS(1286),
    [sym__subshell_beginning] = ACTIONS(1288),
    [sym__regex_beginning] = ACTIONS(1290),
    [sym__word_list_beginning] = ACTIONS(1292),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym__string_middle] = ACTIONS(610),
    [sym__string_end] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(1294),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(3564),
    [sym__splat_star] = ACTIONS(3566),
    [sym__argument_list_left_paren] = ACTIONS(3568),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(1302),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(1306),
    [anon_sym_LPAREN] = ACTIONS(1308),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(612),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(1310),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(1312),
    [anon_sym_return] = ACTIONS(1314),
    [anon_sym_yield] = ACTIONS(1316),
    [anon_sym_break] = ACTIONS(1318),
    [anon_sym_next] = ACTIONS(1320),
    [anon_sym_redo] = ACTIONS(1322),
    [anon_sym_retry] = ACTIONS(1324),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(1326),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(1330),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1332),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_PLUS_EQ] = ACTIONS(610),
    [anon_sym_DASH_EQ] = ACTIONS(610),
    [anon_sym_STAR_EQ] = ACTIONS(610),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(610),
    [anon_sym_SLASH_EQ] = ACTIONS(610),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(610),
    [anon_sym_PIPE_EQ] = ACTIONS(610),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(610),
    [anon_sym_AMP_EQ] = ACTIONS(610),
    [anon_sym_PERCENT_EQ] = ACTIONS(610),
    [anon_sym_GT_GT_EQ] = ACTIONS(610),
    [anon_sym_LT_LT_EQ] = ACTIONS(610),
    [anon_sym_CARET_EQ] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(612),
    [anon_sym_AMP_AMP] = ACTIONS(612),
    [anon_sym_LT_LT] = ACTIONS(612),
    [anon_sym_GT_GT] = ACTIONS(612),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(612),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(612),
    [anon_sym_PERCENT] = ACTIONS(612),
    [anon_sym_defined_QMARK] = ACTIONS(1334),
    [anon_sym_not] = ACTIONS(1336),
    [anon_sym_BANG] = ACTIONS(1338),
    [anon_sym_TILDE] = ACTIONS(1340),
    [sym_constant] = ACTIONS(3574),
    [sym_identifier] = ACTIONS(3574),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(1168),
    [anon_sym_nil] = ACTIONS(1170),
    [anon_sym_self] = ACTIONS(1172),
    [anon_sym_super] = ACTIONS(1174),
    [anon_sym_true] = ACTIONS(1176),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1344),
    [sym_float] = ACTIONS(1346),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1348),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1350),
    [sym_keyword__LINE__] = ACTIONS(1350),
    [sym_keyword__ENCODING__] = ACTIONS(1350),
    [sym__character_literal] = ACTIONS(1352),
    [anon_sym_LBRACK] = ACTIONS(1354),
    [anon_sym_DASH_GT] = ACTIONS(1356),
  },
  [784] = {
    [sym__simple_heredoc_body] = ACTIONS(614),
    [sym__heredoc_body_beginning] = ACTIONS(614),
    [sym__string_middle] = ACTIONS(614),
    [sym__string_end] = ACTIONS(614),
    [sym__element_reference_left_bracket] = ACTIONS(614),
    [sym__scope_double_colon] = ACTIONS(614),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__binary_minus] = ACTIONS(614),
    [sym__binary_star] = ACTIONS(614),
    [anon_sym_LBRACE] = ACTIONS(614),
    [anon_sym_DOT] = ACTIONS(616),
    [anon_sym_COMMA] = ACTIONS(614),
    [anon_sym_PIPE] = ACTIONS(616),
    [anon_sym_STAR_STAR] = ACTIONS(616),
    [anon_sym_AMP] = ACTIONS(616),
    [anon_sym_EQ] = ACTIONS(616),
    [anon_sym_LT] = ACTIONS(616),
    [anon_sym_if] = ACTIONS(614),
    [anon_sym_unless] = ACTIONS(614),
    [anon_sym_while] = ACTIONS(614),
    [anon_sym_until] = ACTIONS(614),
    [anon_sym_rescue] = ACTIONS(614),
    [anon_sym_do] = ACTIONS(614),
    [anon_sym_EQ_GT] = ACTIONS(614),
    [anon_sym_AMP_DOT] = ACTIONS(614),
    [anon_sym_PLUS_EQ] = ACTIONS(614),
    [anon_sym_DASH_EQ] = ACTIONS(614),
    [anon_sym_STAR_EQ] = ACTIONS(614),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(614),
    [anon_sym_SLASH_EQ] = ACTIONS(614),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(614),
    [anon_sym_PIPE_EQ] = ACTIONS(614),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(614),
    [anon_sym_AMP_EQ] = ACTIONS(614),
    [anon_sym_PERCENT_EQ] = ACTIONS(614),
    [anon_sym_GT_GT_EQ] = ACTIONS(614),
    [anon_sym_LT_LT_EQ] = ACTIONS(614),
    [anon_sym_CARET_EQ] = ACTIONS(614),
    [anon_sym_QMARK] = ACTIONS(614),
    [anon_sym_DOT_DOT] = ACTIONS(616),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(614),
    [anon_sym_and] = ACTIONS(614),
    [anon_sym_or] = ACTIONS(614),
    [anon_sym_PIPE_PIPE] = ACTIONS(616),
    [anon_sym_AMP_AMP] = ACTIONS(616),
    [anon_sym_LT_LT] = ACTIONS(616),
    [anon_sym_GT_GT] = ACTIONS(616),
    [anon_sym_EQ_EQ] = ACTIONS(616),
    [anon_sym_BANG_EQ] = ACTIONS(614),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(614),
    [anon_sym_LT_EQ_GT] = ACTIONS(614),
    [anon_sym_EQ_TILDE] = ACTIONS(614),
    [anon_sym_BANG_TILDE] = ACTIONS(614),
    [anon_sym_LT_EQ] = ACTIONS(616),
    [anon_sym_GT] = ACTIONS(616),
    [anon_sym_GT_EQ] = ACTIONS(614),
    [anon_sym_CARET] = ACTIONS(616),
    [anon_sym_PLUS] = ACTIONS(616),
    [anon_sym_SLASH] = ACTIONS(616),
    [anon_sym_PERCENT] = ACTIONS(616),
    [sym_comment] = ACTIONS(256),
  },
  [785] = {
    [sym__simple_heredoc_body] = ACTIONS(618),
    [sym__heredoc_body_beginning] = ACTIONS(618),
    [sym__string_middle] = ACTIONS(618),
    [sym__string_end] = ACTIONS(618),
    [sym__element_reference_left_bracket] = ACTIONS(618),
    [sym__scope_double_colon] = ACTIONS(618),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__binary_minus] = ACTIONS(618),
    [sym__binary_star] = ACTIONS(618),
    [anon_sym_LBRACE] = ACTIONS(618),
    [anon_sym_DOT] = ACTIONS(620),
    [anon_sym_COMMA] = ACTIONS(618),
    [anon_sym_PIPE] = ACTIONS(620),
    [anon_sym_STAR_STAR] = ACTIONS(620),
    [anon_sym_AMP] = ACTIONS(620),
    [anon_sym_EQ] = ACTIONS(620),
    [anon_sym_LT] = ACTIONS(620),
    [anon_sym_if] = ACTIONS(618),
    [anon_sym_unless] = ACTIONS(618),
    [anon_sym_while] = ACTIONS(618),
    [anon_sym_until] = ACTIONS(618),
    [anon_sym_rescue] = ACTIONS(618),
    [anon_sym_do] = ACTIONS(618),
    [anon_sym_EQ_GT] = ACTIONS(618),
    [anon_sym_AMP_DOT] = ACTIONS(618),
    [anon_sym_PLUS_EQ] = ACTIONS(618),
    [anon_sym_DASH_EQ] = ACTIONS(618),
    [anon_sym_STAR_EQ] = ACTIONS(618),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(618),
    [anon_sym_SLASH_EQ] = ACTIONS(618),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(618),
    [anon_sym_PIPE_EQ] = ACTIONS(618),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(618),
    [anon_sym_AMP_EQ] = ACTIONS(618),
    [anon_sym_PERCENT_EQ] = ACTIONS(618),
    [anon_sym_GT_GT_EQ] = ACTIONS(618),
    [anon_sym_LT_LT_EQ] = ACTIONS(618),
    [anon_sym_CARET_EQ] = ACTIONS(618),
    [anon_sym_QMARK] = ACTIONS(618),
    [anon_sym_DOT_DOT] = ACTIONS(620),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(618),
    [anon_sym_and] = ACTIONS(618),
    [anon_sym_or] = ACTIONS(618),
    [anon_sym_PIPE_PIPE] = ACTIONS(620),
    [anon_sym_AMP_AMP] = ACTIONS(620),
    [anon_sym_LT_LT] = ACTIONS(620),
    [anon_sym_GT_GT] = ACTIONS(620),
    [anon_sym_EQ_EQ] = ACTIONS(620),
    [anon_sym_BANG_EQ] = ACTIONS(618),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(618),
    [anon_sym_LT_EQ_GT] = ACTIONS(618),
    [anon_sym_EQ_TILDE] = ACTIONS(618),
    [anon_sym_BANG_TILDE] = ACTIONS(618),
    [anon_sym_LT_EQ] = ACTIONS(620),
    [anon_sym_GT] = ACTIONS(620),
    [anon_sym_GT_EQ] = ACTIONS(618),
    [anon_sym_CARET] = ACTIONS(620),
    [anon_sym_PLUS] = ACTIONS(620),
    [anon_sym_SLASH] = ACTIONS(620),
    [anon_sym_PERCENT] = ACTIONS(620),
    [sym_comment] = ACTIONS(256),
  },
  [786] = {
    [sym__statement] = STATE(2540),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(361),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [787] = {
    [sym__statement] = STATE(2541),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(361),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [788] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2542),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [789] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2543),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [790] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(285),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(381),
    [sym_call] = STATE(381),
    [sym_method_call] = STATE(286),
    [sym__mlhs] = STATE(2544),
    [sym__simple_mlhs] = STATE(383),
    [sym_destructured_left_assignment] = STATE(383),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(384),
    [sym__variable] = STATE(381),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [sym__keyword_colon] = ACTIONS(1556),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(658),
    [anon_sym_COLON_COLON] = ACTIONS(460),
    [anon_sym_STAR] = ACTIONS(660),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(494),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [791] = {
    [sym__statements] = STATE(2546),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(2547),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1981),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(2548),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(3076),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(3078),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(3080),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(3768),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(3086),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [792] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_when] = STATE(2549),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2550),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(400),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(401),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(387),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__terminator] = STATE(402),
    [aux_sym_case_repeat1] = STATE(2551),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(666),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(668),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_when] = ACTIONS(678),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(680),
    [anon_sym_defined_QMARK] = ACTIONS(682),
    [anon_sym_not] = ACTIONS(684),
    [anon_sym_BANG] = ACTIONS(686),
    [anon_sym_TILDE] = ACTIONS(686),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [793] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(2553),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(2554),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(692),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(3770),
    [anon_sym_SEMI] = ACTIONS(698),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [794] = {
    [sym_method] = STATE(769),
    [sym_singleton_method] = STATE(769),
    [sym_class] = STATE(769),
    [sym_singleton_class] = STATE(769),
    [sym_module] = STATE(769),
    [sym_return] = STATE(769),
    [sym_yield] = STATE(769),
    [sym_break] = STATE(769),
    [sym_next] = STATE(769),
    [sym_redo] = STATE(769),
    [sym_retry] = STATE(769),
    [sym_while] = STATE(769),
    [sym_until] = STATE(769),
    [sym_for] = STATE(769),
    [sym_case] = STATE(769),
    [sym_if] = STATE(769),
    [sym_unless] = STATE(769),
    [sym_begin] = STATE(769),
    [sym__arg] = STATE(2555),
    [sym__primary] = STATE(804),
    [sym_parenthesized_statements] = STATE(769),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(805),
    [sym_call] = STATE(805),
    [sym_method_call] = STATE(694),
    [sym_assignment] = STATE(811),
    [sym_operator_assignment] = STATE(811),
    [sym_conditional] = STATE(811),
    [sym_range] = STATE(811),
    [sym_binary] = STATE(811),
    [sym_unary] = STATE(811),
    [sym_left_assignment_list] = STATE(812),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(813),
    [sym__variable] = STATE(805),
    [sym_symbol] = STATE(769),
    [sym_complex] = STATE(769),
    [sym_rational] = STATE(769),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(769),
    [sym_string] = STATE(2518),
    [sym_subshell] = STATE(769),
    [sym_array] = STATE(769),
    [sym_hash] = STATE(769),
    [sym_regex] = STATE(769),
    [sym_lambda] = STATE(769),
    [sym__simple_string] = ACTIONS(3712),
    [sym__simple_symbol] = ACTIONS(1276),
    [sym__simple_subshell] = ACTIONS(1278),
    [sym__simple_regex] = ACTIONS(1280),
    [sym__simple_word_list] = ACTIONS(1282),
    [sym__string_beginning] = ACTIONS(3714),
    [sym__symbol_beginning] = ACTIONS(1286),
    [sym__subshell_beginning] = ACTIONS(1288),
    [sym__regex_beginning] = ACTIONS(1290),
    [sym__word_list_beginning] = ACTIONS(1292),
    [sym_heredoc_beginning] = ACTIONS(1294),
    [sym__unary_minus] = ACTIONS(1302),
    [anon_sym_LBRACE] = ACTIONS(3716),
    [anon_sym_def] = ACTIONS(3718),
    [anon_sym_LPAREN] = ACTIONS(1308),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3720),
    [anon_sym_module] = ACTIONS(3722),
    [anon_sym_return] = ACTIONS(3724),
    [anon_sym_yield] = ACTIONS(3726),
    [anon_sym_break] = ACTIONS(3728),
    [anon_sym_next] = ACTIONS(3730),
    [anon_sym_redo] = ACTIONS(3732),
    [anon_sym_retry] = ACTIONS(3734),
    [anon_sym_if] = ACTIONS(3736),
    [anon_sym_unless] = ACTIONS(3738),
    [anon_sym_while] = ACTIONS(3740),
    [anon_sym_until] = ACTIONS(3742),
    [anon_sym_for] = ACTIONS(3744),
    [anon_sym_case] = ACTIONS(3746),
    [anon_sym_begin] = ACTIONS(3748),
    [anon_sym_PLUS] = ACTIONS(3750),
    [anon_sym_defined_QMARK] = ACTIONS(1334),
    [anon_sym_not] = ACTIONS(3752),
    [anon_sym_BANG] = ACTIONS(1340),
    [anon_sym_TILDE] = ACTIONS(1340),
    [sym_constant] = ACTIONS(3488),
    [sym_identifier] = ACTIONS(3488),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_false] = ACTIONS(1186),
    [anon_sym_nil] = ACTIONS(1188),
    [anon_sym_self] = ACTIONS(3490),
    [anon_sym_super] = ACTIONS(3492),
    [anon_sym_true] = ACTIONS(1184),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1344),
    [sym_float] = ACTIONS(1346),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1348),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1350),
    [sym_keyword__LINE__] = ACTIONS(1350),
    [sym_keyword__ENCODING__] = ACTIONS(1350),
    [sym__character_literal] = ACTIONS(3754),
    [anon_sym_LBRACK] = ACTIONS(1354),
    [anon_sym_DASH_GT] = ACTIONS(1356),
  },
  [795] = {
    [sym_method] = STATE(769),
    [sym_singleton_method] = STATE(769),
    [sym_class] = STATE(769),
    [sym_singleton_class] = STATE(769),
    [sym_module] = STATE(769),
    [sym_return] = STATE(769),
    [sym_yield] = STATE(769),
    [sym_break] = STATE(769),
    [sym_next] = STATE(769),
    [sym_redo] = STATE(769),
    [sym_retry] = STATE(769),
    [sym_while] = STATE(769),
    [sym_until] = STATE(769),
    [sym_for] = STATE(769),
    [sym_case] = STATE(769),
    [sym_if] = STATE(769),
    [sym_unless] = STATE(769),
    [sym_begin] = STATE(769),
    [sym__arg] = STATE(2556),
    [sym__primary] = STATE(804),
    [sym_parenthesized_statements] = STATE(769),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(805),
    [sym_call] = STATE(805),
    [sym_method_call] = STATE(694),
    [sym_assignment] = STATE(811),
    [sym_operator_assignment] = STATE(811),
    [sym_conditional] = STATE(811),
    [sym_range] = STATE(811),
    [sym_binary] = STATE(811),
    [sym_unary] = STATE(811),
    [sym_left_assignment_list] = STATE(812),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(813),
    [sym__variable] = STATE(805),
    [sym_symbol] = STATE(769),
    [sym_complex] = STATE(769),
    [sym_rational] = STATE(769),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(769),
    [sym_string] = STATE(2518),
    [sym_subshell] = STATE(769),
    [sym_array] = STATE(769),
    [sym_hash] = STATE(769),
    [sym_regex] = STATE(769),
    [sym_lambda] = STATE(769),
    [sym__simple_string] = ACTIONS(3712),
    [sym__simple_symbol] = ACTIONS(1276),
    [sym__simple_subshell] = ACTIONS(1278),
    [sym__simple_regex] = ACTIONS(1280),
    [sym__simple_word_list] = ACTIONS(1282),
    [sym__string_beginning] = ACTIONS(3714),
    [sym__symbol_beginning] = ACTIONS(1286),
    [sym__subshell_beginning] = ACTIONS(1288),
    [sym__regex_beginning] = ACTIONS(1290),
    [sym__word_list_beginning] = ACTIONS(1292),
    [sym_heredoc_beginning] = ACTIONS(1294),
    [sym__unary_minus] = ACTIONS(1302),
    [anon_sym_LBRACE] = ACTIONS(3716),
    [anon_sym_def] = ACTIONS(3718),
    [anon_sym_LPAREN] = ACTIONS(1308),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3720),
    [anon_sym_module] = ACTIONS(3722),
    [anon_sym_return] = ACTIONS(3724),
    [anon_sym_yield] = ACTIONS(3726),
    [anon_sym_break] = ACTIONS(3728),
    [anon_sym_next] = ACTIONS(3730),
    [anon_sym_redo] = ACTIONS(3732),
    [anon_sym_retry] = ACTIONS(3734),
    [anon_sym_if] = ACTIONS(3736),
    [anon_sym_unless] = ACTIONS(3738),
    [anon_sym_while] = ACTIONS(3740),
    [anon_sym_until] = ACTIONS(3742),
    [anon_sym_for] = ACTIONS(3744),
    [anon_sym_case] = ACTIONS(3746),
    [anon_sym_begin] = ACTIONS(3748),
    [anon_sym_PLUS] = ACTIONS(3750),
    [anon_sym_defined_QMARK] = ACTIONS(1334),
    [anon_sym_not] = ACTIONS(3752),
    [anon_sym_BANG] = ACTIONS(1340),
    [anon_sym_TILDE] = ACTIONS(1340),
    [sym_constant] = ACTIONS(3488),
    [sym_identifier] = ACTIONS(3488),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_false] = ACTIONS(1186),
    [anon_sym_nil] = ACTIONS(1188),
    [anon_sym_self] = ACTIONS(3490),
    [anon_sym_super] = ACTIONS(3492),
    [anon_sym_true] = ACTIONS(1184),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1344),
    [sym_float] = ACTIONS(1346),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1348),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1350),
    [sym_keyword__LINE__] = ACTIONS(1350),
    [sym_keyword__ENCODING__] = ACTIONS(1350),
    [sym__character_literal] = ACTIONS(3754),
    [anon_sym_LBRACK] = ACTIONS(1354),
    [anon_sym_DASH_GT] = ACTIONS(1356),
  },
  [796] = {
    [sym_method] = STATE(769),
    [sym_singleton_method] = STATE(769),
    [sym_class] = STATE(769),
    [sym_singleton_class] = STATE(769),
    [sym_module] = STATE(769),
    [sym_return] = STATE(769),
    [sym_yield] = STATE(769),
    [sym_break] = STATE(769),
    [sym_next] = STATE(769),
    [sym_redo] = STATE(769),
    [sym_retry] = STATE(769),
    [sym_while] = STATE(769),
    [sym_until] = STATE(769),
    [sym_for] = STATE(769),
    [sym_case] = STATE(769),
    [sym_if] = STATE(769),
    [sym_unless] = STATE(769),
    [sym_begin] = STATE(769),
    [sym__arg] = STATE(2556),
    [sym__primary] = STATE(804),
    [sym_parenthesized_statements] = STATE(769),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(805),
    [sym_call] = STATE(805),
    [sym_method_call] = STATE(694),
    [sym_assignment] = STATE(811),
    [sym_operator_assignment] = STATE(811),
    [sym_conditional] = STATE(811),
    [sym_range] = STATE(811),
    [sym_binary] = STATE(811),
    [sym_unary] = STATE(811),
    [sym_left_assignment_list] = STATE(812),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(813),
    [sym__variable] = STATE(805),
    [sym_symbol] = STATE(769),
    [sym_complex] = STATE(769),
    [sym_rational] = STATE(769),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(769),
    [sym_string] = STATE(2518),
    [sym_subshell] = STATE(769),
    [sym_array] = STATE(769),
    [sym_hash] = STATE(769),
    [sym_regex] = STATE(769),
    [sym_lambda] = STATE(769),
    [sym__simple_string] = ACTIONS(3712),
    [sym__simple_symbol] = ACTIONS(1276),
    [sym__simple_subshell] = ACTIONS(1278),
    [sym__simple_regex] = ACTIONS(1280),
    [sym__simple_word_list] = ACTIONS(1282),
    [sym__string_beginning] = ACTIONS(3714),
    [sym__symbol_beginning] = ACTIONS(1286),
    [sym__subshell_beginning] = ACTIONS(1288),
    [sym__regex_beginning] = ACTIONS(1290),
    [sym__word_list_beginning] = ACTIONS(1292),
    [sym_heredoc_beginning] = ACTIONS(1294),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(1302),
    [anon_sym_LBRACE] = ACTIONS(3716),
    [anon_sym_def] = ACTIONS(3718),
    [anon_sym_LPAREN] = ACTIONS(1308),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3720),
    [anon_sym_module] = ACTIONS(3722),
    [anon_sym_return] = ACTIONS(3724),
    [anon_sym_yield] = ACTIONS(3726),
    [anon_sym_break] = ACTIONS(3728),
    [anon_sym_next] = ACTIONS(3730),
    [anon_sym_redo] = ACTIONS(3732),
    [anon_sym_retry] = ACTIONS(3734),
    [anon_sym_if] = ACTIONS(3736),
    [anon_sym_unless] = ACTIONS(3738),
    [anon_sym_while] = ACTIONS(3740),
    [anon_sym_until] = ACTIONS(3742),
    [anon_sym_for] = ACTIONS(3744),
    [anon_sym_case] = ACTIONS(3746),
    [anon_sym_begin] = ACTIONS(3748),
    [anon_sym_PLUS] = ACTIONS(3750),
    [anon_sym_defined_QMARK] = ACTIONS(1334),
    [anon_sym_not] = ACTIONS(3752),
    [anon_sym_BANG] = ACTIONS(1340),
    [anon_sym_TILDE] = ACTIONS(1340),
    [sym_constant] = ACTIONS(3488),
    [sym_identifier] = ACTIONS(3488),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_false] = ACTIONS(1186),
    [anon_sym_nil] = ACTIONS(1188),
    [anon_sym_self] = ACTIONS(3490),
    [anon_sym_super] = ACTIONS(3492),
    [anon_sym_true] = ACTIONS(1184),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1344),
    [sym_float] = ACTIONS(1346),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1348),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1350),
    [sym_keyword__LINE__] = ACTIONS(1350),
    [sym_keyword__ENCODING__] = ACTIONS(1350),
    [sym__character_literal] = ACTIONS(3754),
    [anon_sym_LBRACK] = ACTIONS(1354),
    [anon_sym_DASH_GT] = ACTIONS(1356),
  },
  [797] = {
    [sym_method] = STATE(769),
    [sym_singleton_method] = STATE(769),
    [sym_class] = STATE(769),
    [sym_singleton_class] = STATE(769),
    [sym_module] = STATE(769),
    [sym_return] = STATE(769),
    [sym_yield] = STATE(769),
    [sym_break] = STATE(769),
    [sym_next] = STATE(769),
    [sym_redo] = STATE(769),
    [sym_retry] = STATE(769),
    [sym_while] = STATE(769),
    [sym_until] = STATE(769),
    [sym_for] = STATE(769),
    [sym_case] = STATE(769),
    [sym_if] = STATE(769),
    [sym_unless] = STATE(769),
    [sym_begin] = STATE(769),
    [sym__arg] = STATE(2557),
    [sym__primary] = STATE(804),
    [sym_parenthesized_statements] = STATE(769),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(805),
    [sym_call] = STATE(805),
    [sym_method_call] = STATE(694),
    [sym_assignment] = STATE(811),
    [sym_operator_assignment] = STATE(811),
    [sym_conditional] = STATE(811),
    [sym_range] = STATE(811),
    [sym_binary] = STATE(811),
    [sym_unary] = STATE(811),
    [sym_left_assignment_list] = STATE(812),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(813),
    [sym__variable] = STATE(805),
    [sym_symbol] = STATE(769),
    [sym_complex] = STATE(769),
    [sym_rational] = STATE(769),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(769),
    [sym_string] = STATE(2518),
    [sym_subshell] = STATE(769),
    [sym_array] = STATE(769),
    [sym_hash] = STATE(769),
    [sym_regex] = STATE(769),
    [sym_lambda] = STATE(769),
    [sym__simple_string] = ACTIONS(3712),
    [sym__simple_symbol] = ACTIONS(1276),
    [sym__simple_subshell] = ACTIONS(1278),
    [sym__simple_regex] = ACTIONS(1280),
    [sym__simple_word_list] = ACTIONS(1282),
    [sym__string_beginning] = ACTIONS(3714),
    [sym__symbol_beginning] = ACTIONS(1286),
    [sym__subshell_beginning] = ACTIONS(1288),
    [sym__regex_beginning] = ACTIONS(1290),
    [sym__word_list_beginning] = ACTIONS(1292),
    [sym_heredoc_beginning] = ACTIONS(1294),
    [sym__unary_minus] = ACTIONS(1302),
    [anon_sym_LBRACE] = ACTIONS(3716),
    [anon_sym_def] = ACTIONS(3718),
    [anon_sym_LPAREN] = ACTIONS(1308),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3720),
    [anon_sym_module] = ACTIONS(3722),
    [anon_sym_return] = ACTIONS(3724),
    [anon_sym_yield] = ACTIONS(3726),
    [anon_sym_break] = ACTIONS(3728),
    [anon_sym_next] = ACTIONS(3730),
    [anon_sym_redo] = ACTIONS(3732),
    [anon_sym_retry] = ACTIONS(3734),
    [anon_sym_if] = ACTIONS(3736),
    [anon_sym_unless] = ACTIONS(3738),
    [anon_sym_while] = ACTIONS(3740),
    [anon_sym_until] = ACTIONS(3742),
    [anon_sym_for] = ACTIONS(3744),
    [anon_sym_case] = ACTIONS(3746),
    [anon_sym_begin] = ACTIONS(3748),
    [anon_sym_PLUS] = ACTIONS(3750),
    [anon_sym_defined_QMARK] = ACTIONS(1334),
    [anon_sym_not] = ACTIONS(3752),
    [anon_sym_BANG] = ACTIONS(1340),
    [anon_sym_TILDE] = ACTIONS(1340),
    [sym_constant] = ACTIONS(3488),
    [sym_identifier] = ACTIONS(3488),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_false] = ACTIONS(1186),
    [anon_sym_nil] = ACTIONS(1188),
    [anon_sym_self] = ACTIONS(3490),
    [anon_sym_super] = ACTIONS(3492),
    [anon_sym_true] = ACTIONS(1184),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1344),
    [sym_float] = ACTIONS(1346),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1348),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1350),
    [sym_keyword__LINE__] = ACTIONS(1350),
    [sym_keyword__ENCODING__] = ACTIONS(1350),
    [sym__character_literal] = ACTIONS(3754),
    [anon_sym_LBRACK] = ACTIONS(1354),
    [anon_sym_DASH_GT] = ACTIONS(1356),
  },
  [798] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym__string_middle] = ACTIONS(722),
    [sym__string_end] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(3772),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [799] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__string_middle] = ACTIONS(250),
    [sym__string_end] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
    [anon_sym_r] = ACTIONS(3774),
  },
  [800] = {
    [sym__simple_heredoc_body] = ACTIONS(778),
    [sym__heredoc_body_beginning] = ACTIONS(778),
    [sym__string_middle] = ACTIONS(778),
    [sym__string_end] = ACTIONS(778),
    [sym__element_reference_left_bracket] = ACTIONS(778),
    [sym__scope_double_colon] = ACTIONS(778),
    [sym__binary_minus] = ACTIONS(778),
    [sym__binary_star] = ACTIONS(778),
    [anon_sym_LBRACE] = ACTIONS(778),
    [anon_sym_DOT] = ACTIONS(780),
    [anon_sym_COMMA] = ACTIONS(778),
    [anon_sym_PIPE] = ACTIONS(780),
    [anon_sym_STAR_STAR] = ACTIONS(780),
    [anon_sym_AMP] = ACTIONS(780),
    [anon_sym_EQ] = ACTIONS(780),
    [anon_sym_LT] = ACTIONS(780),
    [anon_sym_if] = ACTIONS(778),
    [anon_sym_unless] = ACTIONS(778),
    [anon_sym_while] = ACTIONS(778),
    [anon_sym_until] = ACTIONS(778),
    [anon_sym_rescue] = ACTIONS(778),
    [anon_sym_do] = ACTIONS(778),
    [anon_sym_EQ_GT] = ACTIONS(778),
    [anon_sym_AMP_DOT] = ACTIONS(778),
    [anon_sym_PLUS_EQ] = ACTIONS(778),
    [anon_sym_DASH_EQ] = ACTIONS(778),
    [anon_sym_STAR_EQ] = ACTIONS(778),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(778),
    [anon_sym_SLASH_EQ] = ACTIONS(778),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(778),
    [anon_sym_PIPE_EQ] = ACTIONS(778),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(778),
    [anon_sym_AMP_EQ] = ACTIONS(778),
    [anon_sym_PERCENT_EQ] = ACTIONS(778),
    [anon_sym_GT_GT_EQ] = ACTIONS(778),
    [anon_sym_LT_LT_EQ] = ACTIONS(778),
    [anon_sym_CARET_EQ] = ACTIONS(778),
    [anon_sym_QMARK] = ACTIONS(778),
    [anon_sym_DOT_DOT] = ACTIONS(780),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(778),
    [anon_sym_and] = ACTIONS(778),
    [anon_sym_or] = ACTIONS(778),
    [anon_sym_PIPE_PIPE] = ACTIONS(780),
    [anon_sym_AMP_AMP] = ACTIONS(780),
    [anon_sym_LT_LT] = ACTIONS(780),
    [anon_sym_GT_GT] = ACTIONS(780),
    [anon_sym_EQ_EQ] = ACTIONS(780),
    [anon_sym_BANG_EQ] = ACTIONS(778),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(778),
    [anon_sym_LT_EQ_GT] = ACTIONS(778),
    [anon_sym_EQ_TILDE] = ACTIONS(778),
    [anon_sym_BANG_TILDE] = ACTIONS(778),
    [anon_sym_LT_EQ] = ACTIONS(780),
    [anon_sym_GT] = ACTIONS(780),
    [anon_sym_GT_EQ] = ACTIONS(778),
    [anon_sym_CARET] = ACTIONS(780),
    [anon_sym_PLUS] = ACTIONS(780),
    [anon_sym_SLASH] = ACTIONS(780),
    [anon_sym_PERCENT] = ACTIONS(780),
    [sym_comment] = ACTIONS(256),
  },
  [801] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(501),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(2561),
    [sym__argument] = STATE(506),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(509),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(510),
    [sym__variable] = STATE(504),
    [sym_reserved_identifier] = STATE(511),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(512),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(2562),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(804),
    [sym__splat_star] = ACTIONS(806),
    [sym__unary_minus] = ACTIONS(808),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(818),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(824),
    [anon_sym_yield] = ACTIONS(826),
    [anon_sym_break] = ACTIONS(828),
    [anon_sym_next] = ACTIONS(830),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_RBRACK] = ACTIONS(3776),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(852),
    [anon_sym_defined_QMARK] = ACTIONS(854),
    [anon_sym_not] = ACTIONS(856),
    [anon_sym_BANG] = ACTIONS(858),
    [anon_sym_TILDE] = ACTIONS(858),
    [sym_constant] = ACTIONS(860),
    [sym_identifier] = ACTIONS(860),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [802] = {
    [sym_lambda_parameters] = STATE(2565),
    [sym__simple_formal_parameter] = STATE(522),
    [sym_splat_parameter] = STATE(523),
    [sym_hash_splat_parameter] = STATE(523),
    [sym_block_parameter] = STATE(523),
    [sym_keyword_parameter] = STATE(523),
    [sym_optional_parameter] = STATE(523),
    [sym_do_block] = STATE(2566),
    [sym_block] = STATE(2566),
    [anon_sym_LBRACE] = ACTIONS(3778),
    [anon_sym_LPAREN] = ACTIONS(896),
    [anon_sym_STAR] = ACTIONS(898),
    [anon_sym_STAR_STAR] = ACTIONS(900),
    [anon_sym_AMP] = ACTIONS(902),
    [anon_sym_do] = ACTIONS(3780),
    [sym_identifier] = ACTIONS(906),
    [sym_comment] = ACTIONS(110),
  },
  [803] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__string_middle] = ACTIONS(2210),
    [sym__string_end] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(3782),
    [sym__binary_star] = ACTIONS(3784),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(3786),
    [anon_sym_STAR_STAR] = ACTIONS(3788),
    [anon_sym_AMP] = ACTIONS(3790),
    [anon_sym_EQ] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(3792),
    [anon_sym_if] = ACTIONS(2210),
    [anon_sym_unless] = ACTIONS(2210),
    [anon_sym_while] = ACTIONS(2210),
    [anon_sym_until] = ACTIONS(2210),
    [anon_sym_rescue] = ACTIONS(2210),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(3772),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_PLUS_EQ] = ACTIONS(2210),
    [anon_sym_DASH_EQ] = ACTIONS(2210),
    [anon_sym_STAR_EQ] = ACTIONS(2210),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2210),
    [anon_sym_SLASH_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2210),
    [anon_sym_AMP_EQ] = ACTIONS(2210),
    [anon_sym_PERCENT_EQ] = ACTIONS(2210),
    [anon_sym_GT_GT_EQ] = ACTIONS(2210),
    [anon_sym_LT_LT_EQ] = ACTIONS(2210),
    [anon_sym_CARET_EQ] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(3794),
    [anon_sym_DOT_DOT] = ACTIONS(3796),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3798),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(3800),
    [anon_sym_AMP_AMP] = ACTIONS(3800),
    [anon_sym_LT_LT] = ACTIONS(3802),
    [anon_sym_GT_GT] = ACTIONS(3802),
    [anon_sym_EQ_EQ] = ACTIONS(3800),
    [anon_sym_BANG_EQ] = ACTIONS(3804),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3804),
    [anon_sym_LT_EQ_GT] = ACTIONS(3804),
    [anon_sym_EQ_TILDE] = ACTIONS(3804),
    [anon_sym_BANG_TILDE] = ACTIONS(3804),
    [anon_sym_LT_EQ] = ACTIONS(3792),
    [anon_sym_GT] = ACTIONS(3792),
    [anon_sym_GT_EQ] = ACTIONS(3806),
    [anon_sym_CARET] = ACTIONS(3786),
    [anon_sym_PLUS] = ACTIONS(3808),
    [anon_sym_SLASH] = ACTIONS(3788),
    [anon_sym_PERCENT] = ACTIONS(3788),
    [sym_comment] = ACTIONS(256),
  },
  [804] = {
    [sym__simple_heredoc_body] = ACTIONS(968),
    [sym__heredoc_body_beginning] = ACTIONS(968),
    [sym__string_middle] = ACTIONS(968),
    [sym__string_end] = ACTIONS(968),
    [sym__element_reference_left_bracket] = ACTIONS(3556),
    [sym__scope_double_colon] = ACTIONS(3558),
    [sym__binary_minus] = ACTIONS(968),
    [sym__binary_star] = ACTIONS(968),
    [anon_sym_LBRACE] = ACTIONS(968),
    [anon_sym_DOT] = ACTIONS(3560),
    [anon_sym_COMMA] = ACTIONS(968),
    [anon_sym_PIPE] = ACTIONS(976),
    [anon_sym_STAR_STAR] = ACTIONS(976),
    [anon_sym_AMP] = ACTIONS(976),
    [anon_sym_EQ] = ACTIONS(976),
    [anon_sym_LT] = ACTIONS(976),
    [anon_sym_if] = ACTIONS(968),
    [anon_sym_unless] = ACTIONS(968),
    [anon_sym_while] = ACTIONS(968),
    [anon_sym_until] = ACTIONS(968),
    [anon_sym_rescue] = ACTIONS(968),
    [anon_sym_do] = ACTIONS(968),
    [anon_sym_EQ_GT] = ACTIONS(968),
    [anon_sym_AMP_DOT] = ACTIONS(3562),
    [anon_sym_PLUS_EQ] = ACTIONS(968),
    [anon_sym_DASH_EQ] = ACTIONS(968),
    [anon_sym_STAR_EQ] = ACTIONS(968),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(968),
    [anon_sym_SLASH_EQ] = ACTIONS(968),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(968),
    [anon_sym_PIPE_EQ] = ACTIONS(968),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(968),
    [anon_sym_AMP_EQ] = ACTIONS(968),
    [anon_sym_PERCENT_EQ] = ACTIONS(968),
    [anon_sym_GT_GT_EQ] = ACTIONS(968),
    [anon_sym_LT_LT_EQ] = ACTIONS(968),
    [anon_sym_CARET_EQ] = ACTIONS(968),
    [anon_sym_QMARK] = ACTIONS(968),
    [anon_sym_DOT_DOT] = ACTIONS(976),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(968),
    [anon_sym_and] = ACTIONS(968),
    [anon_sym_or] = ACTIONS(968),
    [anon_sym_PIPE_PIPE] = ACTIONS(976),
    [anon_sym_AMP_AMP] = ACTIONS(976),
    [anon_sym_LT_LT] = ACTIONS(976),
    [anon_sym_GT_GT] = ACTIONS(976),
    [anon_sym_EQ_EQ] = ACTIONS(976),
    [anon_sym_BANG_EQ] = ACTIONS(968),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(968),
    [anon_sym_LT_EQ_GT] = ACTIONS(968),
    [anon_sym_EQ_TILDE] = ACTIONS(968),
    [anon_sym_BANG_TILDE] = ACTIONS(968),
    [anon_sym_LT_EQ] = ACTIONS(976),
    [anon_sym_GT] = ACTIONS(976),
    [anon_sym_GT_EQ] = ACTIONS(968),
    [anon_sym_CARET] = ACTIONS(976),
    [anon_sym_PLUS] = ACTIONS(976),
    [anon_sym_SLASH] = ACTIONS(976),
    [anon_sym_PERCENT] = ACTIONS(976),
    [sym_comment] = ACTIONS(256),
  },
  [805] = {
    [sym_method] = STATE(769),
    [sym_singleton_method] = STATE(769),
    [sym_class] = STATE(769),
    [sym_singleton_class] = STATE(769),
    [sym_module] = STATE(769),
    [sym_return] = STATE(769),
    [sym_yield] = STATE(769),
    [sym_break] = STATE(769),
    [sym_next] = STATE(769),
    [sym_redo] = STATE(769),
    [sym_retry] = STATE(769),
    [sym_while] = STATE(769),
    [sym_until] = STATE(769),
    [sym_for] = STATE(769),
    [sym_case] = STATE(769),
    [sym_if] = STATE(769),
    [sym_unless] = STATE(769),
    [sym_begin] = STATE(769),
    [sym__arg] = STATE(2371),
    [sym__primary] = STATE(804),
    [sym_parenthesized_statements] = STATE(769),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(805),
    [sym_call] = STATE(805),
    [sym_method_call] = STATE(694),
    [sym_argument_list] = STATE(2579),
    [sym__argument_list_with_parens] = STATE(2373),
    [sym__argument] = STATE(2374),
    [sym_splat_argument] = STATE(2375),
    [sym_hash_splat_argument] = STATE(2375),
    [sym_block_argument] = STATE(2375),
    [sym_do_block] = STATE(2376),
    [sym_block] = STATE(2376),
    [sym_assignment] = STATE(811),
    [sym_operator_assignment] = STATE(811),
    [sym_conditional] = STATE(811),
    [sym_range] = STATE(811),
    [sym_binary] = STATE(811),
    [sym_unary] = STATE(811),
    [sym_left_assignment_list] = STATE(812),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(813),
    [sym__variable] = STATE(805),
    [sym_reserved_identifier] = STATE(2377),
    [sym_symbol] = STATE(769),
    [sym_complex] = STATE(769),
    [sym_rational] = STATE(769),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(769),
    [sym_string] = STATE(2378),
    [sym_subshell] = STATE(769),
    [sym_array] = STATE(769),
    [sym_hash] = STATE(769),
    [sym_pair] = STATE(2375),
    [sym_regex] = STATE(769),
    [sym_lambda] = STATE(769),
    [sym__simple_string] = ACTIONS(1274),
    [sym__simple_symbol] = ACTIONS(1276),
    [sym__simple_subshell] = ACTIONS(1278),
    [sym__simple_regex] = ACTIONS(1280),
    [sym__simple_word_list] = ACTIONS(1282),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(1284),
    [sym__symbol_beginning] = ACTIONS(1286),
    [sym__subshell_beginning] = ACTIONS(1288),
    [sym__regex_beginning] = ACTIONS(1290),
    [sym__word_list_beginning] = ACTIONS(1292),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym__string_middle] = ACTIONS(980),
    [sym__string_end] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1294),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(3564),
    [sym__splat_star] = ACTIONS(3566),
    [sym__argument_list_left_paren] = ACTIONS(3568),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(1302),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(3570),
    [anon_sym_def] = ACTIONS(1306),
    [anon_sym_LPAREN] = ACTIONS(1308),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1310),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1312),
    [anon_sym_return] = ACTIONS(1314),
    [anon_sym_yield] = ACTIONS(1316),
    [anon_sym_break] = ACTIONS(1318),
    [anon_sym_next] = ACTIONS(1320),
    [anon_sym_redo] = ACTIONS(1322),
    [anon_sym_retry] = ACTIONS(1324),
    [anon_sym_if] = ACTIONS(982),
    [anon_sym_unless] = ACTIONS(982),
    [anon_sym_while] = ACTIONS(982),
    [anon_sym_until] = ACTIONS(982),
    [anon_sym_rescue] = ACTIONS(982),
    [anon_sym_for] = ACTIONS(1326),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(982),
    [anon_sym_case] = ACTIONS(1330),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1332),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(980),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(1334),
    [anon_sym_not] = ACTIONS(1336),
    [anon_sym_BANG] = ACTIONS(1338),
    [anon_sym_TILDE] = ACTIONS(1340),
    [sym_constant] = ACTIONS(3574),
    [sym_identifier] = ACTIONS(3574),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(1168),
    [anon_sym_nil] = ACTIONS(1170),
    [anon_sym_self] = ACTIONS(1172),
    [anon_sym_super] = ACTIONS(1174),
    [anon_sym_true] = ACTIONS(1176),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1344),
    [sym_float] = ACTIONS(1346),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1348),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1350),
    [sym_keyword__LINE__] = ACTIONS(1350),
    [sym_keyword__ENCODING__] = ACTIONS(1350),
    [sym__character_literal] = ACTIONS(1352),
    [anon_sym_LBRACK] = ACTIONS(1354),
    [anon_sym_DASH_GT] = ACTIONS(1356),
  },
  [806] = {
    [sym_do_block] = STATE(2582),
    [sym_block] = STATE(2582),
    [sym__string_middle] = ACTIONS(3346),
    [sym__string_end] = ACTIONS(3346),
    [sym__element_reference_left_bracket] = ACTIONS(3346),
    [sym__scope_double_colon] = ACTIONS(3346),
    [sym__binary_minus] = ACTIONS(3346),
    [sym__binary_star] = ACTIONS(3346),
    [anon_sym_LBRACE] = ACTIONS(3810),
    [anon_sym_DOT] = ACTIONS(3350),
    [anon_sym_COMMA] = ACTIONS(3346),
    [anon_sym_PIPE] = ACTIONS(3350),
    [anon_sym_STAR_STAR] = ACTIONS(3350),
    [anon_sym_AMP] = ACTIONS(3350),
    [anon_sym_EQ] = ACTIONS(3350),
    [anon_sym_LT] = ACTIONS(3350),
    [anon_sym_if] = ACTIONS(3346),
    [anon_sym_unless] = ACTIONS(3346),
    [anon_sym_while] = ACTIONS(3346),
    [anon_sym_until] = ACTIONS(3346),
    [anon_sym_rescue] = ACTIONS(3346),
    [anon_sym_do] = ACTIONS(3812),
    [anon_sym_AMP_DOT] = ACTIONS(3346),
    [anon_sym_PLUS_EQ] = ACTIONS(3346),
    [anon_sym_DASH_EQ] = ACTIONS(3346),
    [anon_sym_STAR_EQ] = ACTIONS(3346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3346),
    [anon_sym_SLASH_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3346),
    [anon_sym_AMP_EQ] = ACTIONS(3346),
    [anon_sym_PERCENT_EQ] = ACTIONS(3346),
    [anon_sym_GT_GT_EQ] = ACTIONS(3346),
    [anon_sym_LT_LT_EQ] = ACTIONS(3346),
    [anon_sym_CARET_EQ] = ACTIONS(3346),
    [anon_sym_QMARK] = ACTIONS(3346),
    [anon_sym_DOT_DOT] = ACTIONS(3350),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3346),
    [anon_sym_and] = ACTIONS(3346),
    [anon_sym_or] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE] = ACTIONS(3350),
    [anon_sym_AMP_AMP] = ACTIONS(3350),
    [anon_sym_LT_LT] = ACTIONS(3350),
    [anon_sym_GT_GT] = ACTIONS(3350),
    [anon_sym_EQ_EQ] = ACTIONS(3350),
    [anon_sym_BANG_EQ] = ACTIONS(3346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3346),
    [anon_sym_LT_EQ_GT] = ACTIONS(3346),
    [anon_sym_EQ_TILDE] = ACTIONS(3346),
    [anon_sym_BANG_TILDE] = ACTIONS(3346),
    [anon_sym_LT_EQ] = ACTIONS(3350),
    [anon_sym_GT] = ACTIONS(3350),
    [anon_sym_GT_EQ] = ACTIONS(3346),
    [anon_sym_CARET] = ACTIONS(3350),
    [anon_sym_PLUS] = ACTIONS(3350),
    [anon_sym_SLASH] = ACTIONS(3350),
    [anon_sym_PERCENT] = ACTIONS(3350),
    [sym_comment] = ACTIONS(256),
  },
  [807] = {
    [sym_heredoc_end] = STATE(2585),
    [aux_sym_argument_list_repeat2] = STATE(2586),
    [sym__simple_heredoc_body] = ACTIONS(3814),
    [sym__heredoc_body_beginning] = ACTIONS(3816),
    [sym__string_middle] = ACTIONS(2272),
    [sym__string_end] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(2272),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_STAR_STAR] = ACTIONS(2274),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_EQ] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_if] = ACTIONS(2272),
    [anon_sym_unless] = ACTIONS(2272),
    [anon_sym_while] = ACTIONS(2272),
    [anon_sym_until] = ACTIONS(2272),
    [anon_sym_rescue] = ACTIONS(2272),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_PLUS_EQ] = ACTIONS(2272),
    [anon_sym_DASH_EQ] = ACTIONS(2272),
    [anon_sym_STAR_EQ] = ACTIONS(2272),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2272),
    [anon_sym_SLASH_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2272),
    [anon_sym_AMP_EQ] = ACTIONS(2272),
    [anon_sym_PERCENT_EQ] = ACTIONS(2272),
    [anon_sym_GT_GT_EQ] = ACTIONS(2272),
    [anon_sym_LT_LT_EQ] = ACTIONS(2272),
    [anon_sym_CARET_EQ] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2274),
    [anon_sym_AMP_AMP] = ACTIONS(2274),
    [anon_sym_LT_LT] = ACTIONS(2274),
    [anon_sym_GT_GT] = ACTIONS(2274),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2274),
    [anon_sym_PLUS] = ACTIONS(2274),
    [anon_sym_SLASH] = ACTIONS(2274),
    [anon_sym_PERCENT] = ACTIONS(2274),
    [sym_comment] = ACTIONS(256),
  },
  [808] = {
    [sym_heredoc_end] = STATE(2585),
    [aux_sym_argument_list_repeat1] = STATE(2588),
    [aux_sym_argument_list_repeat2] = STATE(2586),
    [sym__simple_heredoc_body] = ACTIONS(3814),
    [sym__heredoc_body_beginning] = ACTIONS(3816),
    [sym__string_middle] = ACTIONS(2272),
    [sym__string_end] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(3818),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_STAR_STAR] = ACTIONS(2274),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_EQ] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_if] = ACTIONS(2272),
    [anon_sym_unless] = ACTIONS(2272),
    [anon_sym_while] = ACTIONS(2272),
    [anon_sym_until] = ACTIONS(2272),
    [anon_sym_rescue] = ACTIONS(2272),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_PLUS_EQ] = ACTIONS(2272),
    [anon_sym_DASH_EQ] = ACTIONS(2272),
    [anon_sym_STAR_EQ] = ACTIONS(2272),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2272),
    [anon_sym_SLASH_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2272),
    [anon_sym_AMP_EQ] = ACTIONS(2272),
    [anon_sym_PERCENT_EQ] = ACTIONS(2272),
    [anon_sym_GT_GT_EQ] = ACTIONS(2272),
    [anon_sym_LT_LT_EQ] = ACTIONS(2272),
    [anon_sym_CARET_EQ] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2274),
    [anon_sym_AMP_AMP] = ACTIONS(2274),
    [anon_sym_LT_LT] = ACTIONS(2274),
    [anon_sym_GT_GT] = ACTIONS(2274),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2274),
    [anon_sym_PLUS] = ACTIONS(2274),
    [anon_sym_SLASH] = ACTIONS(2274),
    [anon_sym_PERCENT] = ACTIONS(2274),
    [sym_comment] = ACTIONS(256),
  },
  [809] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__string_middle] = ACTIONS(2210),
    [sym__string_end] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(2210),
    [sym__binary_star] = ACTIONS(2210),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(2216),
    [anon_sym_STAR_STAR] = ACTIONS(2216),
    [anon_sym_AMP] = ACTIONS(2216),
    [anon_sym_EQ] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(2216),
    [anon_sym_if] = ACTIONS(2210),
    [anon_sym_unless] = ACTIONS(2210),
    [anon_sym_while] = ACTIONS(2210),
    [anon_sym_until] = ACTIONS(2210),
    [anon_sym_rescue] = ACTIONS(2210),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_PLUS_EQ] = ACTIONS(2210),
    [anon_sym_DASH_EQ] = ACTIONS(2210),
    [anon_sym_STAR_EQ] = ACTIONS(2210),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2210),
    [anon_sym_SLASH_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2210),
    [anon_sym_AMP_EQ] = ACTIONS(2210),
    [anon_sym_PERCENT_EQ] = ACTIONS(2210),
    [anon_sym_GT_GT_EQ] = ACTIONS(2210),
    [anon_sym_LT_LT_EQ] = ACTIONS(2210),
    [anon_sym_CARET_EQ] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(2210),
    [anon_sym_DOT_DOT] = ACTIONS(2216),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2210),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(2216),
    [anon_sym_AMP_AMP] = ACTIONS(2216),
    [anon_sym_LT_LT] = ACTIONS(2216),
    [anon_sym_GT_GT] = ACTIONS(2216),
    [anon_sym_EQ_EQ] = ACTIONS(2216),
    [anon_sym_BANG_EQ] = ACTIONS(2210),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2210),
    [anon_sym_LT_EQ_GT] = ACTIONS(2210),
    [anon_sym_EQ_TILDE] = ACTIONS(2210),
    [anon_sym_BANG_TILDE] = ACTIONS(2210),
    [anon_sym_LT_EQ] = ACTIONS(2216),
    [anon_sym_GT] = ACTIONS(2216),
    [anon_sym_GT_EQ] = ACTIONS(2210),
    [anon_sym_CARET] = ACTIONS(2216),
    [anon_sym_PLUS] = ACTIONS(2216),
    [anon_sym_SLASH] = ACTIONS(2216),
    [anon_sym_PERCENT] = ACTIONS(2216),
    [sym_comment] = ACTIONS(256),
  },
  [810] = {
    [sym__string_middle] = ACTIONS(3346),
    [sym__string_end] = ACTIONS(3346),
    [sym__element_reference_left_bracket] = ACTIONS(3346),
    [sym__scope_double_colon] = ACTIONS(3346),
    [sym__binary_minus] = ACTIONS(3346),
    [sym__binary_star] = ACTIONS(3346),
    [anon_sym_DOT] = ACTIONS(3350),
    [anon_sym_COMMA] = ACTIONS(3346),
    [anon_sym_PIPE] = ACTIONS(3350),
    [anon_sym_STAR_STAR] = ACTIONS(3350),
    [anon_sym_AMP] = ACTIONS(3350),
    [anon_sym_EQ] = ACTIONS(3350),
    [anon_sym_LT] = ACTIONS(3350),
    [anon_sym_if] = ACTIONS(3346),
    [anon_sym_unless] = ACTIONS(3346),
    [anon_sym_while] = ACTIONS(3346),
    [anon_sym_until] = ACTIONS(3346),
    [anon_sym_rescue] = ACTIONS(3346),
    [anon_sym_AMP_DOT] = ACTIONS(3346),
    [anon_sym_PLUS_EQ] = ACTIONS(3346),
    [anon_sym_DASH_EQ] = ACTIONS(3346),
    [anon_sym_STAR_EQ] = ACTIONS(3346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3346),
    [anon_sym_SLASH_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3346),
    [anon_sym_AMP_EQ] = ACTIONS(3346),
    [anon_sym_PERCENT_EQ] = ACTIONS(3346),
    [anon_sym_GT_GT_EQ] = ACTIONS(3346),
    [anon_sym_LT_LT_EQ] = ACTIONS(3346),
    [anon_sym_CARET_EQ] = ACTIONS(3346),
    [anon_sym_QMARK] = ACTIONS(3346),
    [anon_sym_DOT_DOT] = ACTIONS(3350),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3346),
    [anon_sym_and] = ACTIONS(3346),
    [anon_sym_or] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE] = ACTIONS(3350),
    [anon_sym_AMP_AMP] = ACTIONS(3350),
    [anon_sym_LT_LT] = ACTIONS(3350),
    [anon_sym_GT_GT] = ACTIONS(3350),
    [anon_sym_EQ_EQ] = ACTIONS(3350),
    [anon_sym_BANG_EQ] = ACTIONS(3346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3346),
    [anon_sym_LT_EQ_GT] = ACTIONS(3346),
    [anon_sym_EQ_TILDE] = ACTIONS(3346),
    [anon_sym_BANG_TILDE] = ACTIONS(3346),
    [anon_sym_LT_EQ] = ACTIONS(3350),
    [anon_sym_GT] = ACTIONS(3350),
    [anon_sym_GT_EQ] = ACTIONS(3346),
    [anon_sym_CARET] = ACTIONS(3350),
    [anon_sym_PLUS] = ACTIONS(3350),
    [anon_sym_SLASH] = ACTIONS(3350),
    [anon_sym_PERCENT] = ACTIONS(3350),
    [sym_comment] = ACTIONS(256),
  },
  [811] = {
    [sym__simple_heredoc_body] = ACTIONS(968),
    [sym__heredoc_body_beginning] = ACTIONS(968),
    [sym__string_middle] = ACTIONS(968),
    [sym__string_end] = ACTIONS(968),
    [sym__element_reference_left_bracket] = ACTIONS(968),
    [sym__scope_double_colon] = ACTIONS(968),
    [sym__binary_minus] = ACTIONS(968),
    [sym__binary_star] = ACTIONS(968),
    [anon_sym_LBRACE] = ACTIONS(968),
    [anon_sym_DOT] = ACTIONS(976),
    [anon_sym_COMMA] = ACTIONS(968),
    [anon_sym_PIPE] = ACTIONS(976),
    [anon_sym_STAR_STAR] = ACTIONS(976),
    [anon_sym_AMP] = ACTIONS(976),
    [anon_sym_EQ] = ACTIONS(976),
    [anon_sym_LT] = ACTIONS(976),
    [anon_sym_if] = ACTIONS(968),
    [anon_sym_unless] = ACTIONS(968),
    [anon_sym_while] = ACTIONS(968),
    [anon_sym_until] = ACTIONS(968),
    [anon_sym_rescue] = ACTIONS(968),
    [anon_sym_do] = ACTIONS(968),
    [anon_sym_EQ_GT] = ACTIONS(968),
    [anon_sym_AMP_DOT] = ACTIONS(968),
    [anon_sym_PLUS_EQ] = ACTIONS(968),
    [anon_sym_DASH_EQ] = ACTIONS(968),
    [anon_sym_STAR_EQ] = ACTIONS(968),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(968),
    [anon_sym_SLASH_EQ] = ACTIONS(968),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(968),
    [anon_sym_PIPE_EQ] = ACTIONS(968),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(968),
    [anon_sym_AMP_EQ] = ACTIONS(968),
    [anon_sym_PERCENT_EQ] = ACTIONS(968),
    [anon_sym_GT_GT_EQ] = ACTIONS(968),
    [anon_sym_LT_LT_EQ] = ACTIONS(968),
    [anon_sym_CARET_EQ] = ACTIONS(968),
    [anon_sym_QMARK] = ACTIONS(968),
    [anon_sym_DOT_DOT] = ACTIONS(976),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(968),
    [anon_sym_and] = ACTIONS(968),
    [anon_sym_or] = ACTIONS(968),
    [anon_sym_PIPE_PIPE] = ACTIONS(976),
    [anon_sym_AMP_AMP] = ACTIONS(976),
    [anon_sym_LT_LT] = ACTIONS(976),
    [anon_sym_GT_GT] = ACTIONS(976),
    [anon_sym_EQ_EQ] = ACTIONS(976),
    [anon_sym_BANG_EQ] = ACTIONS(968),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(968),
    [anon_sym_LT_EQ_GT] = ACTIONS(968),
    [anon_sym_EQ_TILDE] = ACTIONS(968),
    [anon_sym_BANG_TILDE] = ACTIONS(968),
    [anon_sym_LT_EQ] = ACTIONS(976),
    [anon_sym_GT] = ACTIONS(976),
    [anon_sym_GT_EQ] = ACTIONS(968),
    [anon_sym_CARET] = ACTIONS(976),
    [anon_sym_PLUS] = ACTIONS(976),
    [anon_sym_SLASH] = ACTIONS(976),
    [anon_sym_PERCENT] = ACTIONS(976),
    [sym_comment] = ACTIONS(256),
  },
  [812] = {
    [anon_sym_EQ] = ACTIONS(3820),
    [sym_comment] = ACTIONS(256),
  },
  [813] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__string_middle] = ACTIONS(250),
    [sym__string_end] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(3822),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(3824),
    [anon_sym_DASH_EQ] = ACTIONS(3824),
    [anon_sym_STAR_EQ] = ACTIONS(3824),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3824),
    [anon_sym_SLASH_EQ] = ACTIONS(3824),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3824),
    [anon_sym_PIPE_EQ] = ACTIONS(3824),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3824),
    [anon_sym_AMP_EQ] = ACTIONS(3824),
    [anon_sym_PERCENT_EQ] = ACTIONS(3824),
    [anon_sym_GT_GT_EQ] = ACTIONS(3824),
    [anon_sym_LT_LT_EQ] = ACTIONS(3824),
    [anon_sym_CARET_EQ] = ACTIONS(3824),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [814] = {
    [sym__keyword_colon] = ACTIONS(3826),
    [sym_comment] = ACTIONS(110),
  },
  [815] = {
    [sym_string] = STATE(2592),
    [aux_sym_chained_string_repeat1] = STATE(2593),
    [sym__simple_string] = ACTIONS(3712),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(3714),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__string_middle] = ACTIONS(250),
    [sym__string_end] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(3772),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(3754),
  },
  [816] = {
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(2599),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_splat_argument] = STATE(2600),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_right_assignment_list] = STATE(2601),
    [sym__arg_or_splat_arg] = STATE(2602),
    [sym_left_assignment_list] = STATE(2603),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2604),
    [sym__variable] = STATE(122),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__splat_star] = ACTIONS(3828),
    [sym__unary_minus] = ACTIONS(3830),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(3832),
    [anon_sym_defined_QMARK] = ACTIONS(3834),
    [anon_sym_not] = ACTIONS(3836),
    [anon_sym_BANG] = ACTIONS(3838),
    [anon_sym_TILDE] = ACTIONS(3838),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [817] = {
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(2605),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [818] = {
    [sym__simple_string] = ACTIONS(3382),
    [sym__string_beginning] = ACTIONS(3382),
    [sym__string_middle] = ACTIONS(3382),
    [sym__string_end] = ACTIONS(3382),
    [sym__element_reference_left_bracket] = ACTIONS(3382),
    [sym__scope_double_colon] = ACTIONS(3382),
    [sym__binary_minus] = ACTIONS(3382),
    [sym__binary_star] = ACTIONS(3382),
    [anon_sym_DOT] = ACTIONS(3384),
    [anon_sym_COMMA] = ACTIONS(3382),
    [anon_sym_PIPE] = ACTIONS(3384),
    [anon_sym_STAR_STAR] = ACTIONS(3382),
    [anon_sym_AMP] = ACTIONS(3384),
    [anon_sym_LT] = ACTIONS(3384),
    [anon_sym_if] = ACTIONS(3382),
    [anon_sym_unless] = ACTIONS(3382),
    [anon_sym_while] = ACTIONS(3382),
    [anon_sym_until] = ACTIONS(3382),
    [anon_sym_rescue] = ACTIONS(3382),
    [anon_sym_AMP_DOT] = ACTIONS(3382),
    [anon_sym_QMARK] = ACTIONS(3384),
    [anon_sym_DOT_DOT] = ACTIONS(3384),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3382),
    [anon_sym_and] = ACTIONS(3382),
    [anon_sym_or] = ACTIONS(3382),
    [anon_sym_PIPE_PIPE] = ACTIONS(3382),
    [anon_sym_AMP_AMP] = ACTIONS(3382),
    [anon_sym_LT_LT] = ACTIONS(3382),
    [anon_sym_GT_GT] = ACTIONS(3382),
    [anon_sym_EQ_EQ] = ACTIONS(3384),
    [anon_sym_BANG_EQ] = ACTIONS(3382),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3382),
    [anon_sym_LT_EQ_GT] = ACTIONS(3382),
    [anon_sym_EQ_TILDE] = ACTIONS(3382),
    [anon_sym_BANG_TILDE] = ACTIONS(3382),
    [anon_sym_LT_EQ] = ACTIONS(3384),
    [anon_sym_GT] = ACTIONS(3384),
    [anon_sym_GT_EQ] = ACTIONS(3382),
    [anon_sym_CARET] = ACTIONS(3382),
    [anon_sym_PLUS] = ACTIONS(3382),
    [anon_sym_SLASH] = ACTIONS(3382),
    [anon_sym_PERCENT] = ACTIONS(3382),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(3384),
  },
  [819] = {
    [sym_string] = STATE(2606),
    [sym__simple_string] = ACTIONS(146),
    [sym__string_beginning] = ACTIONS(156),
    [sym__string_middle] = ACTIONS(3386),
    [sym__string_end] = ACTIONS(3386),
    [sym__element_reference_left_bracket] = ACTIONS(3386),
    [sym__scope_double_colon] = ACTIONS(3386),
    [sym__binary_minus] = ACTIONS(3386),
    [sym__binary_star] = ACTIONS(3386),
    [anon_sym_DOT] = ACTIONS(3388),
    [anon_sym_COMMA] = ACTIONS(3386),
    [anon_sym_PIPE] = ACTIONS(3388),
    [anon_sym_STAR_STAR] = ACTIONS(3386),
    [anon_sym_AMP] = ACTIONS(3388),
    [anon_sym_LT] = ACTIONS(3388),
    [anon_sym_if] = ACTIONS(3386),
    [anon_sym_unless] = ACTIONS(3386),
    [anon_sym_while] = ACTIONS(3386),
    [anon_sym_until] = ACTIONS(3386),
    [anon_sym_rescue] = ACTIONS(3386),
    [anon_sym_AMP_DOT] = ACTIONS(3386),
    [anon_sym_QMARK] = ACTIONS(3388),
    [anon_sym_DOT_DOT] = ACTIONS(3388),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3386),
    [anon_sym_and] = ACTIONS(3386),
    [anon_sym_or] = ACTIONS(3386),
    [anon_sym_PIPE_PIPE] = ACTIONS(3386),
    [anon_sym_AMP_AMP] = ACTIONS(3386),
    [anon_sym_LT_LT] = ACTIONS(3386),
    [anon_sym_GT_GT] = ACTIONS(3386),
    [anon_sym_EQ_EQ] = ACTIONS(3388),
    [anon_sym_BANG_EQ] = ACTIONS(3386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3386),
    [anon_sym_LT_EQ_GT] = ACTIONS(3386),
    [anon_sym_EQ_TILDE] = ACTIONS(3386),
    [anon_sym_BANG_TILDE] = ACTIONS(3386),
    [anon_sym_LT_EQ] = ACTIONS(3388),
    [anon_sym_GT] = ACTIONS(3388),
    [anon_sym_GT_EQ] = ACTIONS(3386),
    [anon_sym_CARET] = ACTIONS(3386),
    [anon_sym_PLUS] = ACTIONS(3386),
    [anon_sym_SLASH] = ACTIONS(3386),
    [anon_sym_PERCENT] = ACTIONS(3386),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(244),
  },
  [820] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(3842),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [821] = {
    [sym__simple_heredoc_body] = ACTIONS(3844),
    [sym__heredoc_body_beginning] = ACTIONS(3844),
    [sym__line_break] = ACTIONS(3844),
    [sym__element_reference_left_bracket] = ACTIONS(3844),
    [sym__scope_double_colon] = ACTIONS(3844),
    [sym__binary_minus] = ACTIONS(3844),
    [sym__binary_star] = ACTIONS(3844),
    [ts_builtin_sym_end] = ACTIONS(3844),
    [anon_sym___END__] = ACTIONS(3844),
    [anon_sym_LBRACE] = ACTIONS(3844),
    [anon_sym_RBRACE] = ACTIONS(3844),
    [anon_sym_RPAREN] = ACTIONS(3844),
    [anon_sym_DOT] = ACTIONS(3846),
    [anon_sym_end] = ACTIONS(3844),
    [anon_sym_COMMA] = ACTIONS(3844),
    [anon_sym_PIPE] = ACTIONS(3846),
    [anon_sym_SEMI] = ACTIONS(3844),
    [anon_sym_STAR_STAR] = ACTIONS(3844),
    [anon_sym_AMP] = ACTIONS(3846),
    [anon_sym_LT] = ACTIONS(3846),
    [anon_sym_if] = ACTIONS(3844),
    [anon_sym_unless] = ACTIONS(3844),
    [anon_sym_while] = ACTIONS(3844),
    [anon_sym_until] = ACTIONS(3844),
    [anon_sym_rescue] = ACTIONS(3844),
    [anon_sym_do] = ACTIONS(3844),
    [anon_sym_when] = ACTIONS(3844),
    [anon_sym_elsif] = ACTIONS(3844),
    [anon_sym_else] = ACTIONS(3844),
    [anon_sym_then] = ACTIONS(3844),
    [anon_sym_ensure] = ACTIONS(3844),
    [anon_sym_EQ_GT] = ACTIONS(3844),
    [anon_sym_AMP_DOT] = ACTIONS(3844),
    [anon_sym_QMARK] = ACTIONS(3844),
    [anon_sym_DOT_DOT] = ACTIONS(3846),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3844),
    [anon_sym_and] = ACTIONS(3844),
    [anon_sym_or] = ACTIONS(3844),
    [anon_sym_PIPE_PIPE] = ACTIONS(3844),
    [anon_sym_AMP_AMP] = ACTIONS(3844),
    [anon_sym_LT_LT] = ACTIONS(3844),
    [anon_sym_GT_GT] = ACTIONS(3844),
    [anon_sym_EQ_EQ] = ACTIONS(3846),
    [anon_sym_BANG_EQ] = ACTIONS(3844),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3844),
    [anon_sym_LT_EQ_GT] = ACTIONS(3844),
    [anon_sym_EQ_TILDE] = ACTIONS(3844),
    [anon_sym_BANG_TILDE] = ACTIONS(3844),
    [anon_sym_LT_EQ] = ACTIONS(3846),
    [anon_sym_GT] = ACTIONS(3846),
    [anon_sym_GT_EQ] = ACTIONS(3844),
    [anon_sym_CARET] = ACTIONS(3844),
    [anon_sym_PLUS] = ACTIONS(3844),
    [anon_sym_SLASH] = ACTIONS(3844),
    [anon_sym_PERCENT] = ACTIONS(3844),
    [sym_comment] = ACTIONS(110),
  },
  [822] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(3848),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [823] = {
    [sym__simple_heredoc_body] = ACTIONS(3850),
    [sym__heredoc_body_beginning] = ACTIONS(3850),
    [sym__line_break] = ACTIONS(3850),
    [sym__element_reference_left_bracket] = ACTIONS(3850),
    [sym__scope_double_colon] = ACTIONS(3850),
    [sym__binary_minus] = ACTIONS(3850),
    [sym__binary_star] = ACTIONS(3850),
    [ts_builtin_sym_end] = ACTIONS(3850),
    [anon_sym___END__] = ACTIONS(3850),
    [anon_sym_LBRACE] = ACTIONS(3850),
    [anon_sym_RBRACE] = ACTIONS(3850),
    [anon_sym_RPAREN] = ACTIONS(3850),
    [anon_sym_DOT] = ACTIONS(3852),
    [anon_sym_end] = ACTIONS(3850),
    [anon_sym_COMMA] = ACTIONS(3850),
    [anon_sym_PIPE] = ACTIONS(3852),
    [anon_sym_SEMI] = ACTIONS(3850),
    [anon_sym_STAR_STAR] = ACTIONS(3850),
    [anon_sym_AMP] = ACTIONS(3852),
    [anon_sym_LT] = ACTIONS(3852),
    [anon_sym_if] = ACTIONS(3850),
    [anon_sym_unless] = ACTIONS(3850),
    [anon_sym_while] = ACTIONS(3850),
    [anon_sym_until] = ACTIONS(3850),
    [anon_sym_rescue] = ACTIONS(3850),
    [anon_sym_do] = ACTIONS(3850),
    [anon_sym_when] = ACTIONS(3850),
    [anon_sym_elsif] = ACTIONS(3850),
    [anon_sym_else] = ACTIONS(3850),
    [anon_sym_then] = ACTIONS(3850),
    [anon_sym_ensure] = ACTIONS(3850),
    [anon_sym_EQ_GT] = ACTIONS(3850),
    [anon_sym_AMP_DOT] = ACTIONS(3850),
    [anon_sym_QMARK] = ACTIONS(3850),
    [anon_sym_DOT_DOT] = ACTIONS(3852),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3850),
    [anon_sym_and] = ACTIONS(3850),
    [anon_sym_or] = ACTIONS(3850),
    [anon_sym_PIPE_PIPE] = ACTIONS(3850),
    [anon_sym_AMP_AMP] = ACTIONS(3850),
    [anon_sym_LT_LT] = ACTIONS(3850),
    [anon_sym_GT_GT] = ACTIONS(3850),
    [anon_sym_EQ_EQ] = ACTIONS(3852),
    [anon_sym_BANG_EQ] = ACTIONS(3850),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3850),
    [anon_sym_LT_EQ_GT] = ACTIONS(3850),
    [anon_sym_EQ_TILDE] = ACTIONS(3850),
    [anon_sym_BANG_TILDE] = ACTIONS(3850),
    [anon_sym_LT_EQ] = ACTIONS(3852),
    [anon_sym_GT] = ACTIONS(3852),
    [anon_sym_GT_EQ] = ACTIONS(3850),
    [anon_sym_CARET] = ACTIONS(3850),
    [anon_sym_PLUS] = ACTIONS(3850),
    [anon_sym_SLASH] = ACTIONS(3850),
    [anon_sym_PERCENT] = ACTIONS(3850),
    [sym_comment] = ACTIONS(110),
  },
  [824] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(3854),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [825] = {
    [sym__simple_heredoc_body] = ACTIONS(3856),
    [sym__heredoc_body_beginning] = ACTIONS(3856),
    [sym__line_break] = ACTIONS(3856),
    [sym__element_reference_left_bracket] = ACTIONS(3856),
    [sym__scope_double_colon] = ACTIONS(3856),
    [sym__binary_minus] = ACTIONS(3856),
    [sym__binary_star] = ACTIONS(3856),
    [ts_builtin_sym_end] = ACTIONS(3856),
    [anon_sym___END__] = ACTIONS(3856),
    [anon_sym_LBRACE] = ACTIONS(3856),
    [anon_sym_RBRACE] = ACTIONS(3856),
    [anon_sym_RPAREN] = ACTIONS(3856),
    [anon_sym_DOT] = ACTIONS(3858),
    [anon_sym_end] = ACTIONS(3856),
    [anon_sym_COMMA] = ACTIONS(3856),
    [anon_sym_PIPE] = ACTIONS(3858),
    [anon_sym_SEMI] = ACTIONS(3856),
    [anon_sym_STAR_STAR] = ACTIONS(3856),
    [anon_sym_AMP] = ACTIONS(3858),
    [anon_sym_LT] = ACTIONS(3858),
    [anon_sym_if] = ACTIONS(3856),
    [anon_sym_unless] = ACTIONS(3856),
    [anon_sym_while] = ACTIONS(3856),
    [anon_sym_until] = ACTIONS(3856),
    [anon_sym_rescue] = ACTIONS(3856),
    [anon_sym_do] = ACTIONS(3856),
    [anon_sym_when] = ACTIONS(3856),
    [anon_sym_elsif] = ACTIONS(3856),
    [anon_sym_else] = ACTIONS(3856),
    [anon_sym_then] = ACTIONS(3856),
    [anon_sym_ensure] = ACTIONS(3856),
    [anon_sym_EQ_GT] = ACTIONS(3856),
    [anon_sym_AMP_DOT] = ACTIONS(3856),
    [anon_sym_QMARK] = ACTIONS(3856),
    [anon_sym_DOT_DOT] = ACTIONS(3858),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3856),
    [anon_sym_and] = ACTIONS(3856),
    [anon_sym_or] = ACTIONS(3856),
    [anon_sym_PIPE_PIPE] = ACTIONS(3856),
    [anon_sym_AMP_AMP] = ACTIONS(3856),
    [anon_sym_LT_LT] = ACTIONS(3856),
    [anon_sym_GT_GT] = ACTIONS(3856),
    [anon_sym_EQ_EQ] = ACTIONS(3858),
    [anon_sym_BANG_EQ] = ACTIONS(3856),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3856),
    [anon_sym_LT_EQ_GT] = ACTIONS(3856),
    [anon_sym_EQ_TILDE] = ACTIONS(3856),
    [anon_sym_BANG_TILDE] = ACTIONS(3856),
    [anon_sym_LT_EQ] = ACTIONS(3858),
    [anon_sym_GT] = ACTIONS(3858),
    [anon_sym_GT_EQ] = ACTIONS(3856),
    [anon_sym_CARET] = ACTIONS(3856),
    [anon_sym_PLUS] = ACTIONS(3856),
    [anon_sym_SLASH] = ACTIONS(3856),
    [anon_sym_PERCENT] = ACTIONS(3856),
    [sym_comment] = ACTIONS(110),
  },
  [826] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(3860),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [827] = {
    [sym__simple_heredoc_body] = ACTIONS(3862),
    [sym__heredoc_body_beginning] = ACTIONS(3862),
    [sym__line_break] = ACTIONS(3862),
    [sym__element_reference_left_bracket] = ACTIONS(3862),
    [sym__scope_double_colon] = ACTIONS(3862),
    [sym__binary_minus] = ACTIONS(3862),
    [sym__binary_star] = ACTIONS(3862),
    [ts_builtin_sym_end] = ACTIONS(3862),
    [anon_sym___END__] = ACTIONS(3862),
    [anon_sym_LBRACE] = ACTIONS(3862),
    [anon_sym_RBRACE] = ACTIONS(3862),
    [anon_sym_RPAREN] = ACTIONS(3862),
    [anon_sym_DOT] = ACTIONS(3864),
    [anon_sym_end] = ACTIONS(3862),
    [anon_sym_COMMA] = ACTIONS(3862),
    [anon_sym_PIPE] = ACTIONS(3864),
    [anon_sym_SEMI] = ACTIONS(3862),
    [anon_sym_STAR_STAR] = ACTIONS(3862),
    [anon_sym_AMP] = ACTIONS(3864),
    [anon_sym_LT] = ACTIONS(3864),
    [anon_sym_if] = ACTIONS(3862),
    [anon_sym_unless] = ACTIONS(3862),
    [anon_sym_while] = ACTIONS(3862),
    [anon_sym_until] = ACTIONS(3862),
    [anon_sym_rescue] = ACTIONS(3862),
    [anon_sym_do] = ACTIONS(3862),
    [anon_sym_when] = ACTIONS(3862),
    [anon_sym_elsif] = ACTIONS(3862),
    [anon_sym_else] = ACTIONS(3862),
    [anon_sym_then] = ACTIONS(3862),
    [anon_sym_ensure] = ACTIONS(3862),
    [anon_sym_EQ_GT] = ACTIONS(3862),
    [anon_sym_AMP_DOT] = ACTIONS(3862),
    [anon_sym_QMARK] = ACTIONS(3862),
    [anon_sym_DOT_DOT] = ACTIONS(3864),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3862),
    [anon_sym_and] = ACTIONS(3862),
    [anon_sym_or] = ACTIONS(3862),
    [anon_sym_PIPE_PIPE] = ACTIONS(3862),
    [anon_sym_AMP_AMP] = ACTIONS(3862),
    [anon_sym_LT_LT] = ACTIONS(3862),
    [anon_sym_GT_GT] = ACTIONS(3862),
    [anon_sym_EQ_EQ] = ACTIONS(3864),
    [anon_sym_BANG_EQ] = ACTIONS(3862),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3862),
    [anon_sym_LT_EQ_GT] = ACTIONS(3862),
    [anon_sym_EQ_TILDE] = ACTIONS(3862),
    [anon_sym_BANG_TILDE] = ACTIONS(3862),
    [anon_sym_LT_EQ] = ACTIONS(3864),
    [anon_sym_GT] = ACTIONS(3864),
    [anon_sym_GT_EQ] = ACTIONS(3862),
    [anon_sym_CARET] = ACTIONS(3862),
    [anon_sym_PLUS] = ACTIONS(3862),
    [anon_sym_SLASH] = ACTIONS(3862),
    [anon_sym_PERCENT] = ACTIONS(3862),
    [sym_comment] = ACTIONS(110),
  },
  [828] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(3866),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [829] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2613),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [830] = {
    [sym__simple_heredoc_body] = ACTIONS(3868),
    [sym__heredoc_body_beginning] = ACTIONS(3868),
    [sym__line_break] = ACTIONS(3868),
    [ts_builtin_sym_end] = ACTIONS(3868),
    [anon_sym___END__] = ACTIONS(3868),
    [anon_sym_RBRACE] = ACTIONS(3868),
    [anon_sym_RPAREN] = ACTIONS(3868),
    [anon_sym_end] = ACTIONS(3868),
    [anon_sym_SEMI] = ACTIONS(3868),
    [anon_sym_rescue] = ACTIONS(3868),
    [anon_sym_when] = ACTIONS(3868),
    [anon_sym_elsif] = ACTIONS(3868),
    [anon_sym_else] = ACTIONS(3868),
    [anon_sym_ensure] = ACTIONS(3868),
    [sym_comment] = ACTIONS(110),
  },
  [831] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2623),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(340),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(2624),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(2625),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2626),
    [sym__variable] = STATE(2129),
    [sym_reserved_identifier] = STATE(2627),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(2628),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(3870),
    [sym__splat_star] = ACTIONS(3872),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(3874),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(3272),
    [anon_sym_yield] = ACTIONS(3274),
    [anon_sym_break] = ACTIONS(3276),
    [anon_sym_next] = ACTIONS(3278),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(3876),
    [anon_sym_not] = ACTIONS(3878),
    [anon_sym_BANG] = ACTIONS(3880),
    [anon_sym_TILDE] = ACTIONS(3882),
    [sym_constant] = ACTIONS(3884),
    [sym_identifier] = ACTIONS(3884),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [832] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2623),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(349),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(2624),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(2625),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2626),
    [sym__variable] = STATE(2129),
    [sym_reserved_identifier] = STATE(2627),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(2628),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(3870),
    [sym__splat_star] = ACTIONS(3872),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(3874),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(3272),
    [anon_sym_yield] = ACTIONS(3274),
    [anon_sym_break] = ACTIONS(3276),
    [anon_sym_next] = ACTIONS(3278),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(3876),
    [anon_sym_not] = ACTIONS(3878),
    [anon_sym_BANG] = ACTIONS(3880),
    [anon_sym_TILDE] = ACTIONS(3882),
    [sym_constant] = ACTIONS(3884),
    [sym_identifier] = ACTIONS(3884),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [833] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2623),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(350),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(2624),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(2625),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2626),
    [sym__variable] = STATE(2129),
    [sym_reserved_identifier] = STATE(2627),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(2628),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(3870),
    [sym__splat_star] = ACTIONS(3872),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(3874),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(3272),
    [anon_sym_yield] = ACTIONS(3274),
    [anon_sym_break] = ACTIONS(3276),
    [anon_sym_next] = ACTIONS(3278),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(3876),
    [anon_sym_not] = ACTIONS(3878),
    [anon_sym_BANG] = ACTIONS(3880),
    [anon_sym_TILDE] = ACTIONS(3882),
    [sym_constant] = ACTIONS(3884),
    [sym_identifier] = ACTIONS(3884),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [834] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2623),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(351),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(2624),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(2625),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2626),
    [sym__variable] = STATE(2129),
    [sym_reserved_identifier] = STATE(2627),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(2628),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(3870),
    [sym__splat_star] = ACTIONS(3872),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(3874),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(3272),
    [anon_sym_yield] = ACTIONS(3274),
    [anon_sym_break] = ACTIONS(3276),
    [anon_sym_next] = ACTIONS(3278),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(3876),
    [anon_sym_not] = ACTIONS(3878),
    [anon_sym_BANG] = ACTIONS(3880),
    [anon_sym_TILDE] = ACTIONS(3882),
    [sym_constant] = ACTIONS(3884),
    [sym_identifier] = ACTIONS(3884),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [835] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2629),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [836] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2630),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [837] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(434),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [838] = {
    [anon_sym_RBRACE] = ACTIONS(3886),
    [sym_comment] = ACTIONS(110),
  },
  [839] = {
    [sym_heredoc_end] = STATE(1185),
    [sym__terminator] = STATE(2632),
    [aux_sym__statements_repeat1] = STATE(2633),
    [sym__simple_heredoc_body] = ACTIONS(1922),
    [sym__heredoc_body_beginning] = ACTIONS(1924),
    [sym__line_break] = ACTIONS(1926),
    [anon_sym_RBRACE] = ACTIONS(920),
    [anon_sym_SEMI] = ACTIONS(1926),
    [sym_comment] = ACTIONS(110),
  },
  [840] = {
    [sym__simple_heredoc_body] = ACTIONS(922),
    [sym__heredoc_body_beginning] = ACTIONS(922),
    [sym__line_break] = ACTIONS(922),
    [anon_sym_RBRACE] = ACTIONS(922),
    [anon_sym_SEMI] = ACTIONS(922),
    [anon_sym_if] = ACTIONS(3888),
    [anon_sym_unless] = ACTIONS(3890),
    [anon_sym_while] = ACTIONS(3892),
    [anon_sym_until] = ACTIONS(3894),
    [anon_sym_rescue] = ACTIONS(3896),
    [sym_comment] = ACTIONS(110),
  },
  [841] = {
    [sym__simple_heredoc_body] = ACTIONS(934),
    [sym__heredoc_body_beginning] = ACTIONS(934),
    [sym__line_break] = ACTIONS(934),
    [sym__binary_minus] = ACTIONS(3898),
    [sym__binary_star] = ACTIONS(3900),
    [anon_sym_RBRACE] = ACTIONS(934),
    [anon_sym_PIPE] = ACTIONS(3902),
    [anon_sym_SEMI] = ACTIONS(934),
    [anon_sym_STAR_STAR] = ACTIONS(3904),
    [anon_sym_AMP] = ACTIONS(3906),
    [anon_sym_LT] = ACTIONS(3908),
    [anon_sym_if] = ACTIONS(934),
    [anon_sym_unless] = ACTIONS(934),
    [anon_sym_while] = ACTIONS(934),
    [anon_sym_until] = ACTIONS(934),
    [anon_sym_rescue] = ACTIONS(934),
    [anon_sym_QMARK] = ACTIONS(3910),
    [anon_sym_DOT_DOT] = ACTIONS(3912),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3914),
    [anon_sym_and] = ACTIONS(3916),
    [anon_sym_or] = ACTIONS(3916),
    [anon_sym_PIPE_PIPE] = ACTIONS(3918),
    [anon_sym_AMP_AMP] = ACTIONS(3918),
    [anon_sym_LT_LT] = ACTIONS(3920),
    [anon_sym_GT_GT] = ACTIONS(3920),
    [anon_sym_EQ_EQ] = ACTIONS(3922),
    [anon_sym_BANG_EQ] = ACTIONS(3918),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3918),
    [anon_sym_LT_EQ_GT] = ACTIONS(3918),
    [anon_sym_EQ_TILDE] = ACTIONS(3918),
    [anon_sym_BANG_TILDE] = ACTIONS(3918),
    [anon_sym_LT_EQ] = ACTIONS(3908),
    [anon_sym_GT] = ACTIONS(3908),
    [anon_sym_GT_EQ] = ACTIONS(3924),
    [anon_sym_CARET] = ACTIONS(3926),
    [anon_sym_PLUS] = ACTIONS(3928),
    [anon_sym_SLASH] = ACTIONS(3904),
    [anon_sym_PERCENT] = ACTIONS(3904),
    [sym_comment] = ACTIONS(110),
  },
  [842] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(2664),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2665),
    [sym_call] = STATE(2665),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(598),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(2666),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_do_block] = STATE(602),
    [sym_block] = STATE(602),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(2667),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2668),
    [sym__variable] = STATE(2665),
    [sym_reserved_identifier] = STATE(2669),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2670),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(3930),
    [sym__splat_star] = ACTIONS(3932),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(3934),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(1014),
    [anon_sym_RBRACE] = ACTIONS(980),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(3936),
    [anon_sym_yield] = ACTIONS(3938),
    [anon_sym_break] = ACTIONS(3940),
    [anon_sym_next] = ACTIONS(3942),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(982),
    [anon_sym_unless] = ACTIONS(982),
    [anon_sym_while] = ACTIONS(982),
    [anon_sym_until] = ACTIONS(982),
    [anon_sym_rescue] = ACTIONS(982),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(1038),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(3944),
    [anon_sym_not] = ACTIONS(3946),
    [anon_sym_BANG] = ACTIONS(3948),
    [anon_sym_TILDE] = ACTIONS(3950),
    [sym_constant] = ACTIONS(3952),
    [sym_identifier] = ACTIONS(3952),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [843] = {
    [anon_sym_EQ] = ACTIONS(3954),
    [sym_comment] = ACTIONS(256),
  },
  [844] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_RBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(1076),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(3956),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(3958),
    [anon_sym_DASH_EQ] = ACTIONS(3958),
    [anon_sym_STAR_EQ] = ACTIONS(3958),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3958),
    [anon_sym_SLASH_EQ] = ACTIONS(3958),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3958),
    [anon_sym_PIPE_EQ] = ACTIONS(3958),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3958),
    [anon_sym_AMP_EQ] = ACTIONS(3958),
    [anon_sym_PERCENT_EQ] = ACTIONS(3958),
    [anon_sym_GT_GT_EQ] = ACTIONS(3958),
    [anon_sym_LT_LT_EQ] = ACTIONS(3958),
    [anon_sym_CARET_EQ] = ACTIONS(3958),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [845] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(3960),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [846] = {
    [sym__statement] = STATE(2674),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [847] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(3962),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [848] = {
    [sym__statement] = STATE(2676),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [849] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(3964),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [850] = {
    [sym__statement] = STATE(2678),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [851] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(3966),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [852] = {
    [sym__statement] = STATE(2680),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [853] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(3968),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [854] = {
    [sym__statement] = STATE(2682),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [855] = {
    [sym__simple_string] = ACTIONS(126),
    [sym__string_beginning] = ACTIONS(126),
    [sym__heredoc_body_middle] = ACTIONS(126),
    [sym__heredoc_body_end] = ACTIONS(126),
    [sym__element_reference_left_bracket] = ACTIONS(126),
    [sym__scope_double_colon] = ACTIONS(126),
    [sym__binary_minus] = ACTIONS(126),
    [sym__binary_star] = ACTIONS(126),
    [anon_sym_DOT] = ACTIONS(128),
    [anon_sym_COMMA] = ACTIONS(126),
    [anon_sym_PIPE] = ACTIONS(128),
    [anon_sym_STAR_STAR] = ACTIONS(126),
    [anon_sym_AMP] = ACTIONS(128),
    [anon_sym_LT] = ACTIONS(128),
    [anon_sym_if] = ACTIONS(126),
    [anon_sym_unless] = ACTIONS(126),
    [anon_sym_while] = ACTIONS(126),
    [anon_sym_until] = ACTIONS(126),
    [anon_sym_rescue] = ACTIONS(126),
    [anon_sym_AMP_DOT] = ACTIONS(126),
    [anon_sym_QMARK] = ACTIONS(128),
    [anon_sym_DOT_DOT] = ACTIONS(128),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(126),
    [anon_sym_and] = ACTIONS(126),
    [anon_sym_or] = ACTIONS(126),
    [anon_sym_PIPE_PIPE] = ACTIONS(126),
    [anon_sym_AMP_AMP] = ACTIONS(126),
    [anon_sym_LT_LT] = ACTIONS(126),
    [anon_sym_GT_GT] = ACTIONS(126),
    [anon_sym_EQ_EQ] = ACTIONS(128),
    [anon_sym_BANG_EQ] = ACTIONS(126),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(126),
    [anon_sym_LT_EQ_GT] = ACTIONS(126),
    [anon_sym_EQ_TILDE] = ACTIONS(126),
    [anon_sym_BANG_TILDE] = ACTIONS(126),
    [anon_sym_LT_EQ] = ACTIONS(128),
    [anon_sym_GT] = ACTIONS(128),
    [anon_sym_GT_EQ] = ACTIONS(126),
    [anon_sym_CARET] = ACTIONS(126),
    [anon_sym_PLUS] = ACTIONS(126),
    [anon_sym_SLASH] = ACTIONS(126),
    [anon_sym_PERCENT] = ACTIONS(126),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(128),
  },
  [856] = {
    [sym__heredoc_body_middle] = ACTIONS(130),
    [sym__heredoc_body_end] = ACTIONS(130),
    [sym__element_reference_left_bracket] = ACTIONS(130),
    [sym__scope_double_colon] = ACTIONS(130),
    [sym__binary_minus] = ACTIONS(130),
    [sym__binary_star] = ACTIONS(130),
    [anon_sym_DOT] = ACTIONS(132),
    [anon_sym_COMMA] = ACTIONS(130),
    [anon_sym_PIPE] = ACTIONS(132),
    [anon_sym_STAR_STAR] = ACTIONS(130),
    [anon_sym_AMP] = ACTIONS(132),
    [anon_sym_LT] = ACTIONS(132),
    [anon_sym_if] = ACTIONS(130),
    [anon_sym_unless] = ACTIONS(130),
    [anon_sym_while] = ACTIONS(130),
    [anon_sym_until] = ACTIONS(130),
    [anon_sym_rescue] = ACTIONS(130),
    [anon_sym_AMP_DOT] = ACTIONS(130),
    [anon_sym_QMARK] = ACTIONS(130),
    [anon_sym_DOT_DOT] = ACTIONS(132),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(130),
    [anon_sym_and] = ACTIONS(130),
    [anon_sym_or] = ACTIONS(130),
    [anon_sym_PIPE_PIPE] = ACTIONS(130),
    [anon_sym_AMP_AMP] = ACTIONS(130),
    [anon_sym_LT_LT] = ACTIONS(130),
    [anon_sym_GT_GT] = ACTIONS(130),
    [anon_sym_EQ_EQ] = ACTIONS(132),
    [anon_sym_BANG_EQ] = ACTIONS(130),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(130),
    [anon_sym_LT_EQ_GT] = ACTIONS(130),
    [anon_sym_EQ_TILDE] = ACTIONS(130),
    [anon_sym_BANG_TILDE] = ACTIONS(130),
    [anon_sym_LT_EQ] = ACTIONS(132),
    [anon_sym_GT] = ACTIONS(132),
    [anon_sym_GT_EQ] = ACTIONS(130),
    [anon_sym_CARET] = ACTIONS(130),
    [anon_sym_PLUS] = ACTIONS(130),
    [anon_sym_SLASH] = ACTIONS(130),
    [anon_sym_PERCENT] = ACTIONS(130),
    [sym_comment] = ACTIONS(110),
  },
  [857] = {
    [sym__heredoc_body_middle] = ACTIONS(134),
    [sym__heredoc_body_end] = ACTIONS(134),
    [sym__element_reference_left_bracket] = ACTIONS(134),
    [sym__scope_double_colon] = ACTIONS(134),
    [sym__binary_minus] = ACTIONS(134),
    [sym__binary_star] = ACTIONS(134),
    [anon_sym_DOT] = ACTIONS(136),
    [anon_sym_COMMA] = ACTIONS(134),
    [anon_sym_PIPE] = ACTIONS(136),
    [anon_sym_STAR_STAR] = ACTIONS(134),
    [anon_sym_AMP] = ACTIONS(136),
    [anon_sym_LT] = ACTIONS(136),
    [anon_sym_if] = ACTIONS(134),
    [anon_sym_unless] = ACTIONS(134),
    [anon_sym_while] = ACTIONS(134),
    [anon_sym_until] = ACTIONS(134),
    [anon_sym_rescue] = ACTIONS(134),
    [anon_sym_AMP_DOT] = ACTIONS(134),
    [anon_sym_QMARK] = ACTIONS(134),
    [anon_sym_DOT_DOT] = ACTIONS(136),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(134),
    [anon_sym_and] = ACTIONS(134),
    [anon_sym_or] = ACTIONS(134),
    [anon_sym_PIPE_PIPE] = ACTIONS(134),
    [anon_sym_AMP_AMP] = ACTIONS(134),
    [anon_sym_LT_LT] = ACTIONS(134),
    [anon_sym_GT_GT] = ACTIONS(134),
    [anon_sym_EQ_EQ] = ACTIONS(136),
    [anon_sym_BANG_EQ] = ACTIONS(134),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(134),
    [anon_sym_LT_EQ_GT] = ACTIONS(134),
    [anon_sym_EQ_TILDE] = ACTIONS(134),
    [anon_sym_BANG_TILDE] = ACTIONS(134),
    [anon_sym_LT_EQ] = ACTIONS(136),
    [anon_sym_GT] = ACTIONS(136),
    [anon_sym_GT_EQ] = ACTIONS(134),
    [anon_sym_CARET] = ACTIONS(134),
    [anon_sym_PLUS] = ACTIONS(134),
    [anon_sym_SLASH] = ACTIONS(134),
    [anon_sym_PERCENT] = ACTIONS(134),
    [sym_comment] = ACTIONS(110),
  },
  [858] = {
    [sym__heredoc_body_middle] = ACTIONS(138),
    [sym__heredoc_body_end] = ACTIONS(138),
    [sym__element_reference_left_bracket] = ACTIONS(138),
    [sym__scope_double_colon] = ACTIONS(138),
    [sym__binary_minus] = ACTIONS(138),
    [sym__binary_star] = ACTIONS(138),
    [anon_sym_DOT] = ACTIONS(140),
    [anon_sym_COMMA] = ACTIONS(138),
    [anon_sym_PIPE] = ACTIONS(140),
    [anon_sym_STAR_STAR] = ACTIONS(138),
    [anon_sym_AMP] = ACTIONS(140),
    [anon_sym_LT] = ACTIONS(140),
    [anon_sym_if] = ACTIONS(138),
    [anon_sym_unless] = ACTIONS(138),
    [anon_sym_while] = ACTIONS(138),
    [anon_sym_until] = ACTIONS(138),
    [anon_sym_rescue] = ACTIONS(138),
    [anon_sym_AMP_DOT] = ACTIONS(138),
    [anon_sym_QMARK] = ACTIONS(138),
    [anon_sym_DOT_DOT] = ACTIONS(140),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(138),
    [anon_sym_and] = ACTIONS(138),
    [anon_sym_or] = ACTIONS(138),
    [anon_sym_PIPE_PIPE] = ACTIONS(138),
    [anon_sym_AMP_AMP] = ACTIONS(138),
    [anon_sym_LT_LT] = ACTIONS(138),
    [anon_sym_GT_GT] = ACTIONS(138),
    [anon_sym_EQ_EQ] = ACTIONS(140),
    [anon_sym_BANG_EQ] = ACTIONS(138),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(138),
    [anon_sym_LT_EQ_GT] = ACTIONS(138),
    [anon_sym_EQ_TILDE] = ACTIONS(138),
    [anon_sym_BANG_TILDE] = ACTIONS(138),
    [anon_sym_LT_EQ] = ACTIONS(140),
    [anon_sym_GT] = ACTIONS(140),
    [anon_sym_GT_EQ] = ACTIONS(138),
    [anon_sym_CARET] = ACTIONS(138),
    [anon_sym_PLUS] = ACTIONS(138),
    [anon_sym_SLASH] = ACTIONS(138),
    [anon_sym_PERCENT] = ACTIONS(138),
    [sym_comment] = ACTIONS(110),
  },
  [859] = {
    [sym__heredoc_body_middle] = ACTIONS(142),
    [sym__heredoc_body_end] = ACTIONS(142),
    [sym__element_reference_left_bracket] = ACTIONS(142),
    [sym__scope_double_colon] = ACTIONS(142),
    [sym__binary_minus] = ACTIONS(142),
    [sym__binary_star] = ACTIONS(142),
    [anon_sym_DOT] = ACTIONS(144),
    [anon_sym_COMMA] = ACTIONS(142),
    [anon_sym_PIPE] = ACTIONS(144),
    [anon_sym_STAR_STAR] = ACTIONS(142),
    [anon_sym_AMP] = ACTIONS(144),
    [anon_sym_LT] = ACTIONS(144),
    [anon_sym_if] = ACTIONS(142),
    [anon_sym_unless] = ACTIONS(142),
    [anon_sym_while] = ACTIONS(142),
    [anon_sym_until] = ACTIONS(142),
    [anon_sym_rescue] = ACTIONS(142),
    [anon_sym_AMP_DOT] = ACTIONS(142),
    [anon_sym_QMARK] = ACTIONS(142),
    [anon_sym_DOT_DOT] = ACTIONS(144),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(142),
    [anon_sym_and] = ACTIONS(142),
    [anon_sym_or] = ACTIONS(142),
    [anon_sym_PIPE_PIPE] = ACTIONS(142),
    [anon_sym_AMP_AMP] = ACTIONS(142),
    [anon_sym_LT_LT] = ACTIONS(142),
    [anon_sym_GT_GT] = ACTIONS(142),
    [anon_sym_EQ_EQ] = ACTIONS(144),
    [anon_sym_BANG_EQ] = ACTIONS(142),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(142),
    [anon_sym_LT_EQ_GT] = ACTIONS(142),
    [anon_sym_EQ_TILDE] = ACTIONS(142),
    [anon_sym_BANG_TILDE] = ACTIONS(142),
    [anon_sym_LT_EQ] = ACTIONS(144),
    [anon_sym_GT] = ACTIONS(144),
    [anon_sym_GT_EQ] = ACTIONS(142),
    [anon_sym_CARET] = ACTIONS(142),
    [anon_sym_PLUS] = ACTIONS(142),
    [anon_sym_SLASH] = ACTIONS(142),
    [anon_sym_PERCENT] = ACTIONS(142),
    [sym_comment] = ACTIONS(110),
  },
  [860] = {
    [sym__statement] = STATE(2683),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(2684),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [861] = {
    [sym__statement] = STATE(2685),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(2686),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [862] = {
    [sym__statement] = STATE(2687),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(2688),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [863] = {
    [sym__statement] = STATE(2689),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(2690),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [864] = {
    [sym__statement] = STATE(2691),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(2692),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [865] = {
    [sym__heredoc_body_middle] = ACTIONS(250),
    [sym__heredoc_body_end] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
  },
  [866] = {
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(2693),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [867] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(193),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_hash_splat_argument] = STATE(197),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(199),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(200),
    [sym__variable] = STATE(196),
    [sym_reserved_identifier] = STATE(201),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(202),
    [sym_subshell] = STATE(151),
    [sym_heredoc_end] = STATE(2695),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym__hash_items] = STATE(2696),
    [sym_pair] = STATE(205),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(260),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(272),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(286),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_RBRACE] = ACTIONS(3970),
    [anon_sym_def] = ACTIONS(292),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(302),
    [anon_sym_class] = ACTIONS(304),
    [anon_sym_module] = ACTIONS(306),
    [anon_sym_return] = ACTIONS(308),
    [anon_sym_yield] = ACTIONS(310),
    [anon_sym_break] = ACTIONS(312),
    [anon_sym_next] = ACTIONS(314),
    [anon_sym_redo] = ACTIONS(316),
    [anon_sym_retry] = ACTIONS(318),
    [anon_sym_if] = ACTIONS(320),
    [anon_sym_unless] = ACTIONS(322),
    [anon_sym_while] = ACTIONS(324),
    [anon_sym_until] = ACTIONS(326),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(328),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(330),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(332),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(334),
    [anon_sym_defined_QMARK] = ACTIONS(336),
    [anon_sym_not] = ACTIONS(338),
    [anon_sym_BANG] = ACTIONS(340),
    [anon_sym_TILDE] = ACTIONS(340),
    [sym_constant] = ACTIONS(342),
    [sym_identifier] = ACTIONS(342),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(346),
    [anon_sym_nil] = ACTIONS(348),
    [anon_sym_self] = ACTIONS(350),
    [anon_sym_super] = ACTIONS(352),
    [anon_sym_true] = ACTIONS(354),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(370),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [868] = {
    [sym__method_rest] = STATE(2698),
    [sym__variable] = STATE(2699),
    [sym_operator] = STATE(217),
    [sym__method_name] = STATE(2700),
    [sym_setter] = STATE(217),
    [sym_symbol] = STATE(217),
    [sym_super] = STATE(219),
    [sym_self] = STATE(219),
    [sym__simple_symbol] = ACTIONS(378),
    [sym__symbol_beginning] = ACTIONS(380),
    [anon_sym_LPAREN] = ACTIONS(3972),
    [anon_sym_PIPE] = ACTIONS(384),
    [anon_sym_STAR] = ACTIONS(386),
    [anon_sym_STAR_STAR] = ACTIONS(384),
    [anon_sym_AMP] = ACTIONS(384),
    [anon_sym_LT] = ACTIONS(386),
    [anon_sym_DOT_DOT] = ACTIONS(384),
    [anon_sym_LT_LT] = ACTIONS(384),
    [anon_sym_GT_GT] = ACTIONS(384),
    [anon_sym_EQ_EQ] = ACTIONS(386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(384),
    [anon_sym_LT_EQ_GT] = ACTIONS(384),
    [anon_sym_EQ_TILDE] = ACTIONS(384),
    [anon_sym_BANG_TILDE] = ACTIONS(384),
    [anon_sym_LT_EQ] = ACTIONS(386),
    [anon_sym_GT] = ACTIONS(386),
    [anon_sym_GT_EQ] = ACTIONS(384),
    [anon_sym_CARET] = ACTIONS(384),
    [anon_sym_PLUS] = ACTIONS(386),
    [anon_sym_SLASH] = ACTIONS(384),
    [anon_sym_PERCENT] = ACTIONS(384),
    [anon_sym_BANG] = ACTIONS(386),
    [anon_sym_TILDE] = ACTIONS(384),
    [sym_constant] = ACTIONS(388),
    [sym_identifier] = ACTIONS(390),
    [sym_instance_variable] = ACTIONS(388),
    [sym_class_variable] = ACTIONS(388),
    [sym_global_variable] = ACTIONS(388),
    [anon_sym_self] = ACTIONS(392),
    [anon_sym_super] = ACTIONS(394),
    [anon_sym_DASH] = ACTIONS(386),
    [anon_sym_PLUS_AT] = ACTIONS(384),
    [anon_sym_DASH_AT] = ACTIONS(384),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(386),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(384),
    [anon_sym_BQUOTE] = ACTIONS(384),
    [sym_comment] = ACTIONS(110),
  },
  [869] = {
    [sym__statements] = STATE(2702),
    [sym__top_level_statement] = STATE(235),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(236),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(237),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(240),
    [sym__mlhs] = STATE(241),
    [sym__simple_mlhs] = STATE(242),
    [sym_destructured_left_assignment] = STATE(242),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(243),
    [sym__variable] = STATE(239),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(396),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_RPAREN] = ACTIONS(3974),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(402),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(412),
    [anon_sym_defined_QMARK] = ACTIONS(414),
    [anon_sym_not] = ACTIONS(416),
    [anon_sym_BANG] = ACTIONS(418),
    [anon_sym_TILDE] = ACTIONS(418),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [870] = {
    [sym_constant] = ACTIONS(3976),
    [sym_identifier] = ACTIONS(3976),
    [sym_comment] = ACTIONS(110),
  },
  [871] = {
    [sym__heredoc_body_middle] = ACTIONS(430),
    [sym__heredoc_body_end] = ACTIONS(430),
    [anon_sym_if] = ACTIONS(430),
    [anon_sym_unless] = ACTIONS(430),
    [anon_sym_while] = ACTIONS(430),
    [anon_sym_until] = ACTIONS(430),
    [anon_sym_rescue] = ACTIONS(430),
    [sym_comment] = ACTIONS(110),
  },
  [872] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(293),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(2706),
    [sym_call] = STATE(295),
    [sym_method_call] = STATE(286),
    [sym__lhs] = STATE(255),
    [sym__variable] = STATE(295),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [sym__singleton_class_left_angle_left_langle] = ACTIONS(3978),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(458),
    [anon_sym_COLON_COLON] = ACTIONS(524),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(3980),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [873] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(293),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(2708),
    [sym_call] = STATE(295),
    [sym_method_call] = STATE(286),
    [sym__lhs] = STATE(255),
    [sym__variable] = STATE(295),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(458),
    [anon_sym_COLON_COLON] = ACTIONS(524),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(3982),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [874] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(2762),
    [sym__primary] = STATE(2763),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2765),
    [sym_call] = STATE(2765),
    [sym_method_call] = STATE(2764),
    [sym_argument_list] = STATE(2766),
    [sym__argument_list_with_parens] = STATE(2767),
    [sym__argument] = STATE(2768),
    [sym_splat_argument] = STATE(2769),
    [sym_hash_splat_argument] = STATE(2769),
    [sym_block_argument] = STATE(2769),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(2771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2772),
    [sym__variable] = STATE(2765),
    [sym_reserved_identifier] = STATE(2773),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(2774),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_pair] = STATE(2769),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(3984),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__string_beginning] = ACTIONS(3994),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym__heredoc_body_middle] = ACTIONS(532),
    [sym__heredoc_body_end] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(4006),
    [sym__splat_star] = ACTIONS(4008),
    [sym__argument_list_left_paren] = ACTIONS(4010),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(4012),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(4016),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(4022),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(4024),
    [anon_sym_return] = ACTIONS(4026),
    [anon_sym_yield] = ACTIONS(4028),
    [anon_sym_break] = ACTIONS(4030),
    [anon_sym_next] = ACTIONS(4032),
    [anon_sym_redo] = ACTIONS(4034),
    [anon_sym_retry] = ACTIONS(4036),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(4038),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(4040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(4042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(4044),
    [anon_sym_not] = ACTIONS(4046),
    [anon_sym_BANG] = ACTIONS(4048),
    [anon_sym_TILDE] = ACTIONS(4050),
    [sym_constant] = ACTIONS(4052),
    [sym_identifier] = ACTIONS(4052),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(4056),
    [anon_sym_nil] = ACTIONS(4058),
    [anon_sym_self] = ACTIONS(4060),
    [anon_sym_super] = ACTIONS(4062),
    [anon_sym_true] = ACTIONS(4064),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(4080),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [875] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(2762),
    [sym__primary] = STATE(2763),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2765),
    [sym_call] = STATE(2765),
    [sym_method_call] = STATE(2764),
    [sym_argument_list] = STATE(2775),
    [sym__argument_list_with_parens] = STATE(2767),
    [sym__argument] = STATE(2768),
    [sym_splat_argument] = STATE(2769),
    [sym_hash_splat_argument] = STATE(2769),
    [sym_block_argument] = STATE(2769),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(2771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2772),
    [sym__variable] = STATE(2765),
    [sym_reserved_identifier] = STATE(2773),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(2774),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_pair] = STATE(2769),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(3984),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__string_beginning] = ACTIONS(3994),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym__heredoc_body_middle] = ACTIONS(602),
    [sym__heredoc_body_end] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(4006),
    [sym__splat_star] = ACTIONS(4008),
    [sym__argument_list_left_paren] = ACTIONS(4010),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(4012),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(4016),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(4022),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(4024),
    [anon_sym_return] = ACTIONS(4026),
    [anon_sym_yield] = ACTIONS(4028),
    [anon_sym_break] = ACTIONS(4030),
    [anon_sym_next] = ACTIONS(4032),
    [anon_sym_redo] = ACTIONS(4034),
    [anon_sym_retry] = ACTIONS(4036),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(4038),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(4040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(4042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(4044),
    [anon_sym_not] = ACTIONS(4046),
    [anon_sym_BANG] = ACTIONS(4048),
    [anon_sym_TILDE] = ACTIONS(4050),
    [sym_constant] = ACTIONS(4052),
    [sym_identifier] = ACTIONS(4052),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(4056),
    [anon_sym_nil] = ACTIONS(4058),
    [anon_sym_self] = ACTIONS(4060),
    [anon_sym_super] = ACTIONS(4062),
    [anon_sym_true] = ACTIONS(4064),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(4080),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [876] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(2762),
    [sym__primary] = STATE(2763),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2765),
    [sym_call] = STATE(2765),
    [sym_method_call] = STATE(2764),
    [sym_argument_list] = STATE(2776),
    [sym__argument_list_with_parens] = STATE(2767),
    [sym__argument] = STATE(2768),
    [sym_splat_argument] = STATE(2769),
    [sym_hash_splat_argument] = STATE(2769),
    [sym_block_argument] = STATE(2769),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(2771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2772),
    [sym__variable] = STATE(2765),
    [sym_reserved_identifier] = STATE(2773),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(2774),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_pair] = STATE(2769),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(3984),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__string_beginning] = ACTIONS(3994),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym__heredoc_body_middle] = ACTIONS(606),
    [sym__heredoc_body_end] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(4006),
    [sym__splat_star] = ACTIONS(4008),
    [sym__argument_list_left_paren] = ACTIONS(4010),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(4012),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(4016),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(4022),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(4024),
    [anon_sym_return] = ACTIONS(4026),
    [anon_sym_yield] = ACTIONS(4028),
    [anon_sym_break] = ACTIONS(4030),
    [anon_sym_next] = ACTIONS(4032),
    [anon_sym_redo] = ACTIONS(4034),
    [anon_sym_retry] = ACTIONS(4036),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(4038),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(4040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(4042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(4044),
    [anon_sym_not] = ACTIONS(4046),
    [anon_sym_BANG] = ACTIONS(4048),
    [anon_sym_TILDE] = ACTIONS(4050),
    [sym_constant] = ACTIONS(4052),
    [sym_identifier] = ACTIONS(4052),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(4056),
    [anon_sym_nil] = ACTIONS(4058),
    [anon_sym_self] = ACTIONS(4060),
    [anon_sym_super] = ACTIONS(4062),
    [anon_sym_true] = ACTIONS(4064),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(4080),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [877] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(2762),
    [sym__primary] = STATE(2763),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2765),
    [sym_call] = STATE(2765),
    [sym_method_call] = STATE(2764),
    [sym_argument_list] = STATE(2777),
    [sym__argument_list_with_parens] = STATE(2767),
    [sym__argument] = STATE(2768),
    [sym_splat_argument] = STATE(2769),
    [sym_hash_splat_argument] = STATE(2769),
    [sym_block_argument] = STATE(2769),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(2771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2772),
    [sym__variable] = STATE(2765),
    [sym_reserved_identifier] = STATE(2773),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(2774),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_pair] = STATE(2769),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(3984),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__string_beginning] = ACTIONS(3994),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym__heredoc_body_middle] = ACTIONS(610),
    [sym__heredoc_body_end] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(4006),
    [sym__splat_star] = ACTIONS(4008),
    [sym__argument_list_left_paren] = ACTIONS(4010),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(4012),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(4016),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(4022),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(4024),
    [anon_sym_return] = ACTIONS(4026),
    [anon_sym_yield] = ACTIONS(4028),
    [anon_sym_break] = ACTIONS(4030),
    [anon_sym_next] = ACTIONS(4032),
    [anon_sym_redo] = ACTIONS(4034),
    [anon_sym_retry] = ACTIONS(4036),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(4038),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(4040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(4042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(4044),
    [anon_sym_not] = ACTIONS(4046),
    [anon_sym_BANG] = ACTIONS(4048),
    [anon_sym_TILDE] = ACTIONS(4050),
    [sym_constant] = ACTIONS(4052),
    [sym_identifier] = ACTIONS(4052),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(4056),
    [anon_sym_nil] = ACTIONS(4058),
    [anon_sym_self] = ACTIONS(4060),
    [anon_sym_super] = ACTIONS(4062),
    [anon_sym_true] = ACTIONS(4064),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(4080),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [878] = {
    [sym__heredoc_body_middle] = ACTIONS(614),
    [sym__heredoc_body_end] = ACTIONS(614),
    [sym__element_reference_left_bracket] = ACTIONS(614),
    [sym__scope_double_colon] = ACTIONS(614),
    [sym__binary_minus] = ACTIONS(614),
    [sym__binary_star] = ACTIONS(614),
    [anon_sym_DOT] = ACTIONS(616),
    [anon_sym_COMMA] = ACTIONS(614),
    [anon_sym_PIPE] = ACTIONS(616),
    [anon_sym_STAR_STAR] = ACTIONS(614),
    [anon_sym_AMP] = ACTIONS(616),
    [anon_sym_LT] = ACTIONS(616),
    [anon_sym_if] = ACTIONS(614),
    [anon_sym_unless] = ACTIONS(614),
    [anon_sym_while] = ACTIONS(614),
    [anon_sym_until] = ACTIONS(614),
    [anon_sym_rescue] = ACTIONS(614),
    [anon_sym_AMP_DOT] = ACTIONS(614),
    [anon_sym_QMARK] = ACTIONS(614),
    [anon_sym_DOT_DOT] = ACTIONS(616),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(614),
    [anon_sym_and] = ACTIONS(614),
    [anon_sym_or] = ACTIONS(614),
    [anon_sym_PIPE_PIPE] = ACTIONS(614),
    [anon_sym_AMP_AMP] = ACTIONS(614),
    [anon_sym_LT_LT] = ACTIONS(614),
    [anon_sym_GT_GT] = ACTIONS(614),
    [anon_sym_EQ_EQ] = ACTIONS(616),
    [anon_sym_BANG_EQ] = ACTIONS(614),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(614),
    [anon_sym_LT_EQ_GT] = ACTIONS(614),
    [anon_sym_EQ_TILDE] = ACTIONS(614),
    [anon_sym_BANG_TILDE] = ACTIONS(614),
    [anon_sym_LT_EQ] = ACTIONS(616),
    [anon_sym_GT] = ACTIONS(616),
    [anon_sym_GT_EQ] = ACTIONS(614),
    [anon_sym_CARET] = ACTIONS(614),
    [anon_sym_PLUS] = ACTIONS(614),
    [anon_sym_SLASH] = ACTIONS(614),
    [anon_sym_PERCENT] = ACTIONS(614),
    [sym_comment] = ACTIONS(110),
  },
  [879] = {
    [sym__heredoc_body_middle] = ACTIONS(618),
    [sym__heredoc_body_end] = ACTIONS(618),
    [sym__element_reference_left_bracket] = ACTIONS(618),
    [sym__scope_double_colon] = ACTIONS(618),
    [sym__binary_minus] = ACTIONS(618),
    [sym__binary_star] = ACTIONS(618),
    [anon_sym_DOT] = ACTIONS(620),
    [anon_sym_COMMA] = ACTIONS(618),
    [anon_sym_PIPE] = ACTIONS(620),
    [anon_sym_STAR_STAR] = ACTIONS(618),
    [anon_sym_AMP] = ACTIONS(620),
    [anon_sym_LT] = ACTIONS(620),
    [anon_sym_if] = ACTIONS(618),
    [anon_sym_unless] = ACTIONS(618),
    [anon_sym_while] = ACTIONS(618),
    [anon_sym_until] = ACTIONS(618),
    [anon_sym_rescue] = ACTIONS(618),
    [anon_sym_AMP_DOT] = ACTIONS(618),
    [anon_sym_QMARK] = ACTIONS(618),
    [anon_sym_DOT_DOT] = ACTIONS(620),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(618),
    [anon_sym_and] = ACTIONS(618),
    [anon_sym_or] = ACTIONS(618),
    [anon_sym_PIPE_PIPE] = ACTIONS(618),
    [anon_sym_AMP_AMP] = ACTIONS(618),
    [anon_sym_LT_LT] = ACTIONS(618),
    [anon_sym_GT_GT] = ACTIONS(618),
    [anon_sym_EQ_EQ] = ACTIONS(620),
    [anon_sym_BANG_EQ] = ACTIONS(618),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(618),
    [anon_sym_LT_EQ_GT] = ACTIONS(618),
    [anon_sym_EQ_TILDE] = ACTIONS(618),
    [anon_sym_BANG_TILDE] = ACTIONS(618),
    [anon_sym_LT_EQ] = ACTIONS(620),
    [anon_sym_GT] = ACTIONS(620),
    [anon_sym_GT_EQ] = ACTIONS(618),
    [anon_sym_CARET] = ACTIONS(618),
    [anon_sym_PLUS] = ACTIONS(618),
    [anon_sym_SLASH] = ACTIONS(618),
    [anon_sym_PERCENT] = ACTIONS(618),
    [sym_comment] = ACTIONS(110),
  },
  [880] = {
    [sym__statement] = STATE(2778),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(361),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [881] = {
    [sym__statement] = STATE(2779),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(361),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [882] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2780),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [883] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2781),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [884] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(285),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(381),
    [sym_call] = STATE(381),
    [sym_method_call] = STATE(286),
    [sym__mlhs] = STATE(2782),
    [sym__simple_mlhs] = STATE(383),
    [sym_destructured_left_assignment] = STATE(383),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(384),
    [sym__variable] = STATE(381),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(658),
    [anon_sym_COLON_COLON] = ACTIONS(460),
    [anon_sym_STAR] = ACTIONS(660),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(494),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [885] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_when] = STATE(2783),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2784),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(400),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(401),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(387),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__terminator] = STATE(402),
    [aux_sym_case_repeat1] = STATE(2785),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(666),
    [sym__unary_minus] = ACTIONS(668),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_when] = ACTIONS(678),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(680),
    [anon_sym_defined_QMARK] = ACTIONS(682),
    [anon_sym_not] = ACTIONS(684),
    [anon_sym_BANG] = ACTIONS(686),
    [anon_sym_TILDE] = ACTIONS(686),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [886] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(2787),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(2788),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(692),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(4086),
    [anon_sym_SEMI] = ACTIONS(698),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [887] = {
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(2789),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [888] = {
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(2790),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [889] = {
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(2791),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [890] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_middle] = ACTIONS(722),
    [sym__heredoc_body_end] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [891] = {
    [sym_operator] = STATE(438),
    [sym__method_name] = STATE(2792),
    [sym_setter] = STATE(438),
    [sym_symbol] = STATE(438),
    [sym__simple_symbol] = ACTIONS(728),
    [sym__symbol_beginning] = ACTIONS(730),
    [anon_sym_PIPE] = ACTIONS(732),
    [anon_sym_STAR] = ACTIONS(734),
    [anon_sym_STAR_STAR] = ACTIONS(732),
    [anon_sym_AMP] = ACTIONS(732),
    [anon_sym_LT] = ACTIONS(734),
    [anon_sym_DOT_DOT] = ACTIONS(732),
    [anon_sym_LT_LT] = ACTIONS(732),
    [anon_sym_GT_GT] = ACTIONS(732),
    [anon_sym_EQ_EQ] = ACTIONS(734),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(732),
    [anon_sym_LT_EQ_GT] = ACTIONS(732),
    [anon_sym_EQ_TILDE] = ACTIONS(732),
    [anon_sym_BANG_TILDE] = ACTIONS(732),
    [anon_sym_LT_EQ] = ACTIONS(734),
    [anon_sym_GT] = ACTIONS(734),
    [anon_sym_GT_EQ] = ACTIONS(732),
    [anon_sym_CARET] = ACTIONS(732),
    [anon_sym_PLUS] = ACTIONS(734),
    [anon_sym_SLASH] = ACTIONS(732),
    [anon_sym_PERCENT] = ACTIONS(732),
    [anon_sym_BANG] = ACTIONS(734),
    [anon_sym_TILDE] = ACTIONS(732),
    [sym_constant] = ACTIONS(736),
    [sym_identifier] = ACTIONS(738),
    [sym_instance_variable] = ACTIONS(736),
    [sym_class_variable] = ACTIONS(736),
    [sym_global_variable] = ACTIONS(736),
    [anon_sym_DASH] = ACTIONS(734),
    [anon_sym_PLUS_AT] = ACTIONS(732),
    [anon_sym_DASH_AT] = ACTIONS(732),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(734),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(732),
    [anon_sym_BQUOTE] = ACTIONS(732),
    [sym_comment] = ACTIONS(110),
  },
  [892] = {
    [sym__heredoc_body_middle] = ACTIONS(740),
    [sym__heredoc_body_end] = ACTIONS(740),
    [sym__element_reference_left_bracket] = ACTIONS(740),
    [sym__scope_double_colon] = ACTIONS(740),
    [sym__binary_minus] = ACTIONS(740),
    [sym__binary_star] = ACTIONS(740),
    [anon_sym_DOT] = ACTIONS(742),
    [anon_sym_COMMA] = ACTIONS(740),
    [anon_sym_PIPE] = ACTIONS(742),
    [anon_sym_STAR_STAR] = ACTIONS(742),
    [anon_sym_AMP] = ACTIONS(742),
    [anon_sym_EQ] = ACTIONS(742),
    [anon_sym_LT] = ACTIONS(742),
    [anon_sym_if] = ACTIONS(740),
    [anon_sym_unless] = ACTIONS(740),
    [anon_sym_while] = ACTIONS(740),
    [anon_sym_until] = ACTIONS(740),
    [anon_sym_rescue] = ACTIONS(740),
    [anon_sym_AMP_DOT] = ACTIONS(740),
    [anon_sym_PLUS_EQ] = ACTIONS(740),
    [anon_sym_DASH_EQ] = ACTIONS(740),
    [anon_sym_STAR_EQ] = ACTIONS(740),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(740),
    [anon_sym_SLASH_EQ] = ACTIONS(740),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(740),
    [anon_sym_PIPE_EQ] = ACTIONS(740),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(740),
    [anon_sym_AMP_EQ] = ACTIONS(740),
    [anon_sym_PERCENT_EQ] = ACTIONS(740),
    [anon_sym_GT_GT_EQ] = ACTIONS(740),
    [anon_sym_LT_LT_EQ] = ACTIONS(740),
    [anon_sym_CARET_EQ] = ACTIONS(740),
    [anon_sym_QMARK] = ACTIONS(740),
    [anon_sym_DOT_DOT] = ACTIONS(742),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(740),
    [anon_sym_and] = ACTIONS(740),
    [anon_sym_or] = ACTIONS(740),
    [anon_sym_PIPE_PIPE] = ACTIONS(742),
    [anon_sym_AMP_AMP] = ACTIONS(742),
    [anon_sym_LT_LT] = ACTIONS(742),
    [anon_sym_GT_GT] = ACTIONS(742),
    [anon_sym_EQ_EQ] = ACTIONS(742),
    [anon_sym_BANG_EQ] = ACTIONS(740),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(740),
    [anon_sym_LT_EQ_GT] = ACTIONS(740),
    [anon_sym_EQ_TILDE] = ACTIONS(740),
    [anon_sym_BANG_TILDE] = ACTIONS(740),
    [anon_sym_LT_EQ] = ACTIONS(742),
    [anon_sym_GT] = ACTIONS(742),
    [anon_sym_GT_EQ] = ACTIONS(740),
    [anon_sym_CARET] = ACTIONS(742),
    [anon_sym_PLUS] = ACTIONS(742),
    [anon_sym_SLASH] = ACTIONS(742),
    [anon_sym_PERCENT] = ACTIONS(742),
    [sym_comment] = ACTIONS(256),
  },
  [893] = {
    [sym__heredoc_body_middle] = ACTIONS(744),
    [sym__heredoc_body_end] = ACTIONS(744),
    [sym__element_reference_left_bracket] = ACTIONS(744),
    [sym__scope_double_colon] = ACTIONS(744),
    [sym__binary_minus] = ACTIONS(744),
    [sym__binary_star] = ACTIONS(744),
    [anon_sym_DOT] = ACTIONS(746),
    [anon_sym_COMMA] = ACTIONS(744),
    [anon_sym_PIPE] = ACTIONS(746),
    [anon_sym_STAR_STAR] = ACTIONS(746),
    [anon_sym_AMP] = ACTIONS(746),
    [anon_sym_EQ] = ACTIONS(746),
    [anon_sym_LT] = ACTIONS(746),
    [anon_sym_if] = ACTIONS(744),
    [anon_sym_unless] = ACTIONS(744),
    [anon_sym_while] = ACTIONS(744),
    [anon_sym_until] = ACTIONS(744),
    [anon_sym_rescue] = ACTIONS(744),
    [anon_sym_AMP_DOT] = ACTIONS(744),
    [anon_sym_PLUS_EQ] = ACTIONS(744),
    [anon_sym_DASH_EQ] = ACTIONS(744),
    [anon_sym_STAR_EQ] = ACTIONS(744),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(744),
    [anon_sym_SLASH_EQ] = ACTIONS(744),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(744),
    [anon_sym_PIPE_EQ] = ACTIONS(744),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(744),
    [anon_sym_AMP_EQ] = ACTIONS(744),
    [anon_sym_PERCENT_EQ] = ACTIONS(744),
    [anon_sym_GT_GT_EQ] = ACTIONS(744),
    [anon_sym_LT_LT_EQ] = ACTIONS(744),
    [anon_sym_CARET_EQ] = ACTIONS(744),
    [anon_sym_QMARK] = ACTIONS(744),
    [anon_sym_DOT_DOT] = ACTIONS(746),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(744),
    [anon_sym_and] = ACTIONS(744),
    [anon_sym_or] = ACTIONS(744),
    [anon_sym_PIPE_PIPE] = ACTIONS(746),
    [anon_sym_AMP_AMP] = ACTIONS(746),
    [anon_sym_LT_LT] = ACTIONS(746),
    [anon_sym_GT_GT] = ACTIONS(746),
    [anon_sym_EQ_EQ] = ACTIONS(746),
    [anon_sym_BANG_EQ] = ACTIONS(744),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(744),
    [anon_sym_LT_EQ_GT] = ACTIONS(744),
    [anon_sym_EQ_TILDE] = ACTIONS(744),
    [anon_sym_BANG_TILDE] = ACTIONS(744),
    [anon_sym_LT_EQ] = ACTIONS(746),
    [anon_sym_GT] = ACTIONS(746),
    [anon_sym_GT_EQ] = ACTIONS(744),
    [anon_sym_CARET] = ACTIONS(746),
    [anon_sym_PLUS] = ACTIONS(746),
    [anon_sym_SLASH] = ACTIONS(746),
    [anon_sym_PERCENT] = ACTIONS(746),
    [sym_comment] = ACTIONS(256),
  },
  [894] = {
    [sym__simple_string] = ACTIONS(748),
    [sym__simple_symbol] = ACTIONS(748),
    [sym__simple_subshell] = ACTIONS(748),
    [sym__simple_regex] = ACTIONS(748),
    [sym__simple_word_list] = ACTIONS(748),
    [sym__string_beginning] = ACTIONS(748),
    [sym__symbol_beginning] = ACTIONS(748),
    [sym__subshell_beginning] = ACTIONS(748),
    [sym__regex_beginning] = ACTIONS(748),
    [sym__word_list_beginning] = ACTIONS(748),
    [sym__heredoc_body_middle] = ACTIONS(748),
    [sym__heredoc_body_end] = ACTIONS(748),
    [sym_heredoc_beginning] = ACTIONS(748),
    [sym__element_reference_left_bracket] = ACTIONS(748),
    [sym__block_ampersand] = ACTIONS(748),
    [sym__splat_star] = ACTIONS(748),
    [sym__argument_list_left_paren] = ACTIONS(748),
    [sym__scope_double_colon] = ACTIONS(748),
    [sym__unary_minus] = ACTIONS(748),
    [sym__binary_minus] = ACTIONS(748),
    [sym__binary_star] = ACTIONS(748),
    [anon_sym_LBRACE] = ACTIONS(748),
    [anon_sym_def] = ACTIONS(750),
    [anon_sym_LPAREN] = ACTIONS(748),
    [anon_sym_DOT] = ACTIONS(750),
    [anon_sym_COLON_COLON] = ACTIONS(748),
    [anon_sym_end] = ACTIONS(750),
    [anon_sym_COMMA] = ACTIONS(748),
    [anon_sym_PIPE] = ACTIONS(750),
    [anon_sym_STAR] = ACTIONS(750),
    [anon_sym_STAR_STAR] = ACTIONS(750),
    [anon_sym_AMP] = ACTIONS(750),
    [anon_sym_EQ] = ACTIONS(750),
    [anon_sym_class] = ACTIONS(750),
    [anon_sym_LT] = ACTIONS(750),
    [anon_sym_module] = ACTIONS(750),
    [anon_sym_return] = ACTIONS(750),
    [anon_sym_yield] = ACTIONS(750),
    [anon_sym_break] = ACTIONS(750),
    [anon_sym_next] = ACTIONS(750),
    [anon_sym_redo] = ACTIONS(750),
    [anon_sym_retry] = ACTIONS(750),
    [anon_sym_if] = ACTIONS(750),
    [anon_sym_unless] = ACTIONS(750),
    [anon_sym_while] = ACTIONS(750),
    [anon_sym_until] = ACTIONS(750),
    [anon_sym_rescue] = ACTIONS(750),
    [anon_sym_for] = ACTIONS(750),
    [anon_sym_in] = ACTIONS(750),
    [anon_sym_do] = ACTIONS(750),
    [anon_sym_case] = ACTIONS(750),
    [anon_sym_when] = ACTIONS(750),
    [anon_sym_elsif] = ACTIONS(750),
    [anon_sym_else] = ACTIONS(750),
    [anon_sym_then] = ACTIONS(750),
    [anon_sym_begin] = ACTIONS(750),
    [anon_sym_ensure] = ACTIONS(750),
    [anon_sym_AMP_DOT] = ACTIONS(748),
    [anon_sym_PLUS_EQ] = ACTIONS(748),
    [anon_sym_DASH_EQ] = ACTIONS(748),
    [anon_sym_STAR_EQ] = ACTIONS(748),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(748),
    [anon_sym_SLASH_EQ] = ACTIONS(748),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(748),
    [anon_sym_PIPE_EQ] = ACTIONS(748),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(748),
    [anon_sym_AMP_EQ] = ACTIONS(748),
    [anon_sym_PERCENT_EQ] = ACTIONS(748),
    [anon_sym_GT_GT_EQ] = ACTIONS(748),
    [anon_sym_LT_LT_EQ] = ACTIONS(748),
    [anon_sym_CARET_EQ] = ACTIONS(748),
    [anon_sym_QMARK] = ACTIONS(750),
    [anon_sym_DOT_DOT] = ACTIONS(750),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(748),
    [anon_sym_and] = ACTIONS(750),
    [anon_sym_or] = ACTIONS(750),
    [anon_sym_PIPE_PIPE] = ACTIONS(750),
    [anon_sym_AMP_AMP] = ACTIONS(750),
    [anon_sym_LT_LT] = ACTIONS(750),
    [anon_sym_GT_GT] = ACTIONS(750),
    [anon_sym_EQ_EQ] = ACTIONS(750),
    [anon_sym_BANG_EQ] = ACTIONS(748),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(748),
    [anon_sym_LT_EQ_GT] = ACTIONS(748),
    [anon_sym_EQ_TILDE] = ACTIONS(748),
    [anon_sym_BANG_TILDE] = ACTIONS(748),
    [anon_sym_LT_EQ] = ACTIONS(750),
    [anon_sym_GT] = ACTIONS(750),
    [anon_sym_GT_EQ] = ACTIONS(748),
    [anon_sym_CARET] = ACTIONS(750),
    [anon_sym_PLUS] = ACTIONS(750),
    [anon_sym_SLASH] = ACTIONS(750),
    [anon_sym_PERCENT] = ACTIONS(750),
    [anon_sym_defined_QMARK] = ACTIONS(748),
    [anon_sym_not] = ACTIONS(750),
    [anon_sym_BANG] = ACTIONS(750),
    [anon_sym_TILDE] = ACTIONS(748),
    [sym_constant] = ACTIONS(752),
    [sym_identifier] = ACTIONS(752),
    [sym_instance_variable] = ACTIONS(750),
    [sym_class_variable] = ACTIONS(750),
    [sym_global_variable] = ACTIONS(750),
    [anon_sym_alias] = ACTIONS(750),
    [anon_sym_defined] = ACTIONS(750),
    [anon_sym_false] = ACTIONS(750),
    [anon_sym_nil] = ACTIONS(750),
    [anon_sym_self] = ACTIONS(750),
    [anon_sym_super] = ACTIONS(750),
    [anon_sym_true] = ACTIONS(750),
    [anon_sym_undef] = ACTIONS(750),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(750),
    [sym_float] = ACTIONS(752),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(748),
    [anon_sym_TRUE] = ACTIONS(750),
    [anon_sym_FALSE] = ACTIONS(750),
    [anon_sym_NIL] = ACTIONS(750),
    [sym_keyword__FILE__] = ACTIONS(750),
    [sym_keyword__LINE__] = ACTIONS(750),
    [sym_keyword__ENCODING__] = ACTIONS(750),
    [sym__character_literal] = ACTIONS(750),
    [anon_sym_LBRACK] = ACTIONS(748),
    [anon_sym_DASH_GT] = ACTIONS(748),
  },
  [895] = {
    [sym__simple_string] = ACTIONS(754),
    [sym__simple_symbol] = ACTIONS(754),
    [sym__simple_subshell] = ACTIONS(754),
    [sym__simple_regex] = ACTIONS(754),
    [sym__simple_word_list] = ACTIONS(754),
    [sym__string_beginning] = ACTIONS(754),
    [sym__symbol_beginning] = ACTIONS(754),
    [sym__subshell_beginning] = ACTIONS(754),
    [sym__regex_beginning] = ACTIONS(754),
    [sym__word_list_beginning] = ACTIONS(754),
    [sym__heredoc_body_middle] = ACTIONS(754),
    [sym__heredoc_body_end] = ACTIONS(754),
    [sym_heredoc_beginning] = ACTIONS(754),
    [sym__element_reference_left_bracket] = ACTIONS(754),
    [sym__block_ampersand] = ACTIONS(754),
    [sym__splat_star] = ACTIONS(754),
    [sym__argument_list_left_paren] = ACTIONS(754),
    [sym__scope_double_colon] = ACTIONS(754),
    [sym__unary_minus] = ACTIONS(754),
    [sym__binary_minus] = ACTIONS(754),
    [sym__binary_star] = ACTIONS(754),
    [anon_sym_LBRACE] = ACTIONS(754),
    [anon_sym_def] = ACTIONS(756),
    [anon_sym_LPAREN] = ACTIONS(754),
    [anon_sym_DOT] = ACTIONS(756),
    [anon_sym_COLON_COLON] = ACTIONS(754),
    [anon_sym_end] = ACTIONS(756),
    [anon_sym_COMMA] = ACTIONS(754),
    [anon_sym_PIPE] = ACTIONS(756),
    [anon_sym_STAR] = ACTIONS(756),
    [anon_sym_STAR_STAR] = ACTIONS(756),
    [anon_sym_AMP] = ACTIONS(756),
    [anon_sym_EQ] = ACTIONS(756),
    [anon_sym_class] = ACTIONS(756),
    [anon_sym_LT] = ACTIONS(756),
    [anon_sym_module] = ACTIONS(756),
    [anon_sym_return] = ACTIONS(756),
    [anon_sym_yield] = ACTIONS(756),
    [anon_sym_break] = ACTIONS(756),
    [anon_sym_next] = ACTIONS(756),
    [anon_sym_redo] = ACTIONS(756),
    [anon_sym_retry] = ACTIONS(756),
    [anon_sym_if] = ACTIONS(756),
    [anon_sym_unless] = ACTIONS(756),
    [anon_sym_while] = ACTIONS(756),
    [anon_sym_until] = ACTIONS(756),
    [anon_sym_rescue] = ACTIONS(756),
    [anon_sym_for] = ACTIONS(756),
    [anon_sym_in] = ACTIONS(756),
    [anon_sym_do] = ACTIONS(756),
    [anon_sym_case] = ACTIONS(756),
    [anon_sym_when] = ACTIONS(756),
    [anon_sym_elsif] = ACTIONS(756),
    [anon_sym_else] = ACTIONS(756),
    [anon_sym_then] = ACTIONS(756),
    [anon_sym_begin] = ACTIONS(756),
    [anon_sym_ensure] = ACTIONS(756),
    [anon_sym_AMP_DOT] = ACTIONS(754),
    [anon_sym_PLUS_EQ] = ACTIONS(754),
    [anon_sym_DASH_EQ] = ACTIONS(754),
    [anon_sym_STAR_EQ] = ACTIONS(754),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(754),
    [anon_sym_SLASH_EQ] = ACTIONS(754),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(754),
    [anon_sym_PIPE_EQ] = ACTIONS(754),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(754),
    [anon_sym_AMP_EQ] = ACTIONS(754),
    [anon_sym_PERCENT_EQ] = ACTIONS(754),
    [anon_sym_GT_GT_EQ] = ACTIONS(754),
    [anon_sym_LT_LT_EQ] = ACTIONS(754),
    [anon_sym_CARET_EQ] = ACTIONS(754),
    [anon_sym_QMARK] = ACTIONS(756),
    [anon_sym_DOT_DOT] = ACTIONS(756),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(754),
    [anon_sym_and] = ACTIONS(756),
    [anon_sym_or] = ACTIONS(756),
    [anon_sym_PIPE_PIPE] = ACTIONS(756),
    [anon_sym_AMP_AMP] = ACTIONS(756),
    [anon_sym_LT_LT] = ACTIONS(756),
    [anon_sym_GT_GT] = ACTIONS(756),
    [anon_sym_EQ_EQ] = ACTIONS(756),
    [anon_sym_BANG_EQ] = ACTIONS(754),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(754),
    [anon_sym_LT_EQ_GT] = ACTIONS(754),
    [anon_sym_EQ_TILDE] = ACTIONS(754),
    [anon_sym_BANG_TILDE] = ACTIONS(754),
    [anon_sym_LT_EQ] = ACTIONS(756),
    [anon_sym_GT] = ACTIONS(756),
    [anon_sym_GT_EQ] = ACTIONS(754),
    [anon_sym_CARET] = ACTIONS(756),
    [anon_sym_PLUS] = ACTIONS(756),
    [anon_sym_SLASH] = ACTIONS(756),
    [anon_sym_PERCENT] = ACTIONS(756),
    [anon_sym_defined_QMARK] = ACTIONS(754),
    [anon_sym_not] = ACTIONS(756),
    [anon_sym_BANG] = ACTIONS(756),
    [anon_sym_TILDE] = ACTIONS(754),
    [sym_constant] = ACTIONS(758),
    [sym_identifier] = ACTIONS(758),
    [sym_instance_variable] = ACTIONS(756),
    [sym_class_variable] = ACTIONS(756),
    [sym_global_variable] = ACTIONS(756),
    [anon_sym_alias] = ACTIONS(756),
    [anon_sym_defined] = ACTIONS(756),
    [anon_sym_false] = ACTIONS(756),
    [anon_sym_nil] = ACTIONS(756),
    [anon_sym_self] = ACTIONS(756),
    [anon_sym_super] = ACTIONS(756),
    [anon_sym_true] = ACTIONS(756),
    [anon_sym_undef] = ACTIONS(756),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(756),
    [sym_float] = ACTIONS(758),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(754),
    [anon_sym_TRUE] = ACTIONS(756),
    [anon_sym_FALSE] = ACTIONS(756),
    [anon_sym_NIL] = ACTIONS(756),
    [sym_keyword__FILE__] = ACTIONS(756),
    [sym_keyword__LINE__] = ACTIONS(756),
    [sym_keyword__ENCODING__] = ACTIONS(756),
    [sym__character_literal] = ACTIONS(756),
    [anon_sym_LBRACK] = ACTIONS(754),
    [anon_sym_DASH_GT] = ACTIONS(754),
  },
  [896] = {
    [sym__heredoc_body_middle] = ACTIONS(760),
    [sym__heredoc_body_end] = ACTIONS(760),
    [sym__element_reference_left_bracket] = ACTIONS(760),
    [sym__scope_double_colon] = ACTIONS(760),
    [sym__binary_minus] = ACTIONS(760),
    [sym__binary_star] = ACTIONS(760),
    [anon_sym_DOT] = ACTIONS(762),
    [anon_sym_COMMA] = ACTIONS(760),
    [anon_sym_PIPE] = ACTIONS(762),
    [anon_sym_STAR_STAR] = ACTIONS(762),
    [anon_sym_AMP] = ACTIONS(762),
    [anon_sym_EQ] = ACTIONS(762),
    [anon_sym_LT] = ACTIONS(762),
    [anon_sym_if] = ACTIONS(760),
    [anon_sym_unless] = ACTIONS(760),
    [anon_sym_while] = ACTIONS(760),
    [anon_sym_until] = ACTIONS(760),
    [anon_sym_rescue] = ACTIONS(760),
    [anon_sym_AMP_DOT] = ACTIONS(760),
    [anon_sym_PLUS_EQ] = ACTIONS(760),
    [anon_sym_DASH_EQ] = ACTIONS(760),
    [anon_sym_STAR_EQ] = ACTIONS(760),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(760),
    [anon_sym_SLASH_EQ] = ACTIONS(760),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(760),
    [anon_sym_PIPE_EQ] = ACTIONS(760),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(760),
    [anon_sym_AMP_EQ] = ACTIONS(760),
    [anon_sym_PERCENT_EQ] = ACTIONS(760),
    [anon_sym_GT_GT_EQ] = ACTIONS(760),
    [anon_sym_LT_LT_EQ] = ACTIONS(760),
    [anon_sym_CARET_EQ] = ACTIONS(760),
    [anon_sym_QMARK] = ACTIONS(760),
    [anon_sym_DOT_DOT] = ACTIONS(762),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(760),
    [anon_sym_and] = ACTIONS(760),
    [anon_sym_or] = ACTIONS(760),
    [anon_sym_PIPE_PIPE] = ACTIONS(762),
    [anon_sym_AMP_AMP] = ACTIONS(762),
    [anon_sym_LT_LT] = ACTIONS(762),
    [anon_sym_GT_GT] = ACTIONS(762),
    [anon_sym_EQ_EQ] = ACTIONS(762),
    [anon_sym_BANG_EQ] = ACTIONS(760),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(760),
    [anon_sym_LT_EQ_GT] = ACTIONS(760),
    [anon_sym_EQ_TILDE] = ACTIONS(760),
    [anon_sym_BANG_TILDE] = ACTIONS(760),
    [anon_sym_LT_EQ] = ACTIONS(762),
    [anon_sym_GT] = ACTIONS(762),
    [anon_sym_GT_EQ] = ACTIONS(760),
    [anon_sym_CARET] = ACTIONS(762),
    [anon_sym_PLUS] = ACTIONS(762),
    [anon_sym_SLASH] = ACTIONS(762),
    [anon_sym_PERCENT] = ACTIONS(762),
    [sym_comment] = ACTIONS(256),
  },
  [897] = {
    [sym_operator] = STATE(2796),
    [sym__method_name] = STATE(2798),
    [sym_setter] = STATE(2796),
    [sym_symbol] = STATE(2796),
    [sym__simple_symbol] = ACTIONS(4088),
    [sym__symbol_beginning] = ACTIONS(4090),
    [anon_sym_PIPE] = ACTIONS(4092),
    [anon_sym_STAR] = ACTIONS(4094),
    [anon_sym_STAR_STAR] = ACTIONS(4092),
    [anon_sym_AMP] = ACTIONS(4092),
    [anon_sym_LT] = ACTIONS(4094),
    [anon_sym_DOT_DOT] = ACTIONS(4092),
    [anon_sym_LT_LT] = ACTIONS(4092),
    [anon_sym_GT_GT] = ACTIONS(4092),
    [anon_sym_EQ_EQ] = ACTIONS(4094),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4092),
    [anon_sym_LT_EQ_GT] = ACTIONS(4092),
    [anon_sym_EQ_TILDE] = ACTIONS(4092),
    [anon_sym_BANG_TILDE] = ACTIONS(4092),
    [anon_sym_LT_EQ] = ACTIONS(4094),
    [anon_sym_GT] = ACTIONS(4094),
    [anon_sym_GT_EQ] = ACTIONS(4092),
    [anon_sym_CARET] = ACTIONS(4092),
    [anon_sym_PLUS] = ACTIONS(4094),
    [anon_sym_SLASH] = ACTIONS(4092),
    [anon_sym_PERCENT] = ACTIONS(4092),
    [anon_sym_BANG] = ACTIONS(4094),
    [anon_sym_TILDE] = ACTIONS(4092),
    [sym_constant] = ACTIONS(4096),
    [sym_identifier] = ACTIONS(4098),
    [sym_instance_variable] = ACTIONS(4096),
    [sym_class_variable] = ACTIONS(4096),
    [sym_global_variable] = ACTIONS(4096),
    [anon_sym_DASH] = ACTIONS(4094),
    [anon_sym_PLUS_AT] = ACTIONS(4092),
    [anon_sym_DASH_AT] = ACTIONS(4092),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(4094),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(4092),
    [anon_sym_BQUOTE] = ACTIONS(4092),
    [sym_comment] = ACTIONS(110),
  },
  [898] = {
    [sym__heredoc_body_middle] = ACTIONS(250),
    [sym__heredoc_body_end] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [anon_sym_r] = ACTIONS(4100),
  },
  [899] = {
    [sym__heredoc_body_middle] = ACTIONS(778),
    [sym__heredoc_body_end] = ACTIONS(778),
    [sym__element_reference_left_bracket] = ACTIONS(778),
    [sym__scope_double_colon] = ACTIONS(778),
    [sym__binary_minus] = ACTIONS(778),
    [sym__binary_star] = ACTIONS(778),
    [anon_sym_DOT] = ACTIONS(780),
    [anon_sym_COMMA] = ACTIONS(778),
    [anon_sym_PIPE] = ACTIONS(780),
    [anon_sym_STAR_STAR] = ACTIONS(778),
    [anon_sym_AMP] = ACTIONS(780),
    [anon_sym_LT] = ACTIONS(780),
    [anon_sym_if] = ACTIONS(778),
    [anon_sym_unless] = ACTIONS(778),
    [anon_sym_while] = ACTIONS(778),
    [anon_sym_until] = ACTIONS(778),
    [anon_sym_rescue] = ACTIONS(778),
    [anon_sym_AMP_DOT] = ACTIONS(778),
    [anon_sym_QMARK] = ACTIONS(778),
    [anon_sym_DOT_DOT] = ACTIONS(780),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(778),
    [anon_sym_and] = ACTIONS(778),
    [anon_sym_or] = ACTIONS(778),
    [anon_sym_PIPE_PIPE] = ACTIONS(778),
    [anon_sym_AMP_AMP] = ACTIONS(778),
    [anon_sym_LT_LT] = ACTIONS(778),
    [anon_sym_GT_GT] = ACTIONS(778),
    [anon_sym_EQ_EQ] = ACTIONS(780),
    [anon_sym_BANG_EQ] = ACTIONS(778),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(778),
    [anon_sym_LT_EQ_GT] = ACTIONS(778),
    [anon_sym_EQ_TILDE] = ACTIONS(778),
    [anon_sym_BANG_TILDE] = ACTIONS(778),
    [anon_sym_LT_EQ] = ACTIONS(780),
    [anon_sym_GT] = ACTIONS(780),
    [anon_sym_GT_EQ] = ACTIONS(778),
    [anon_sym_CARET] = ACTIONS(778),
    [anon_sym_PLUS] = ACTIONS(778),
    [anon_sym_SLASH] = ACTIONS(778),
    [anon_sym_PERCENT] = ACTIONS(778),
    [sym_comment] = ACTIONS(110),
  },
  [900] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(501),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(2801),
    [sym__argument] = STATE(506),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(509),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(510),
    [sym__variable] = STATE(504),
    [sym_reserved_identifier] = STATE(511),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(512),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(2802),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(804),
    [sym__splat_star] = ACTIONS(806),
    [sym__unary_minus] = ACTIONS(808),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(818),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(824),
    [anon_sym_yield] = ACTIONS(826),
    [anon_sym_break] = ACTIONS(828),
    [anon_sym_next] = ACTIONS(830),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_RBRACK] = ACTIONS(4102),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(852),
    [anon_sym_defined_QMARK] = ACTIONS(854),
    [anon_sym_not] = ACTIONS(856),
    [anon_sym_BANG] = ACTIONS(858),
    [anon_sym_TILDE] = ACTIONS(858),
    [sym_constant] = ACTIONS(860),
    [sym_identifier] = ACTIONS(860),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [901] = {
    [sym_lambda_parameters] = STATE(2805),
    [sym__simple_formal_parameter] = STATE(522),
    [sym_splat_parameter] = STATE(523),
    [sym_hash_splat_parameter] = STATE(523),
    [sym_block_parameter] = STATE(523),
    [sym_keyword_parameter] = STATE(523),
    [sym_optional_parameter] = STATE(523),
    [sym_do_block] = STATE(2806),
    [sym_block] = STATE(2806),
    [anon_sym_LBRACE] = ACTIONS(4104),
    [anon_sym_LPAREN] = ACTIONS(896),
    [anon_sym_STAR] = ACTIONS(898),
    [anon_sym_STAR_STAR] = ACTIONS(900),
    [anon_sym_AMP] = ACTIONS(902),
    [anon_sym_do] = ACTIONS(4106),
    [sym_identifier] = ACTIONS(906),
    [sym_comment] = ACTIONS(110),
  },
  [902] = {
    [sym__heredoc_body_middle] = ACTIONS(4108),
    [sym__heredoc_body_end] = ACTIONS(4110),
    [anon_sym_if] = ACTIONS(4112),
    [anon_sym_unless] = ACTIONS(4114),
    [anon_sym_while] = ACTIONS(4116),
    [anon_sym_until] = ACTIONS(4118),
    [anon_sym_rescue] = ACTIONS(4120),
    [sym_comment] = ACTIONS(110),
  },
  [903] = {
    [sym__heredoc_body_middle] = ACTIONS(934),
    [sym__heredoc_body_end] = ACTIONS(934),
    [anon_sym_if] = ACTIONS(934),
    [anon_sym_unless] = ACTIONS(934),
    [anon_sym_while] = ACTIONS(934),
    [anon_sym_until] = ACTIONS(934),
    [anon_sym_rescue] = ACTIONS(934),
    [sym_comment] = ACTIONS(110),
  },
  [904] = {
    [sym__heredoc_body_middle] = ACTIONS(934),
    [sym__heredoc_body_end] = ACTIONS(934),
    [sym__binary_minus] = ACTIONS(4122),
    [sym__binary_star] = ACTIONS(4124),
    [anon_sym_PIPE] = ACTIONS(4126),
    [anon_sym_STAR_STAR] = ACTIONS(4128),
    [anon_sym_AMP] = ACTIONS(4130),
    [anon_sym_LT] = ACTIONS(4132),
    [anon_sym_if] = ACTIONS(934),
    [anon_sym_unless] = ACTIONS(934),
    [anon_sym_while] = ACTIONS(934),
    [anon_sym_until] = ACTIONS(934),
    [anon_sym_rescue] = ACTIONS(934),
    [anon_sym_QMARK] = ACTIONS(4134),
    [anon_sym_DOT_DOT] = ACTIONS(4136),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4138),
    [anon_sym_and] = ACTIONS(4140),
    [anon_sym_or] = ACTIONS(4140),
    [anon_sym_PIPE_PIPE] = ACTIONS(4142),
    [anon_sym_AMP_AMP] = ACTIONS(4142),
    [anon_sym_LT_LT] = ACTIONS(4144),
    [anon_sym_GT_GT] = ACTIONS(4144),
    [anon_sym_EQ_EQ] = ACTIONS(4146),
    [anon_sym_BANG_EQ] = ACTIONS(4142),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4142),
    [anon_sym_LT_EQ_GT] = ACTIONS(4142),
    [anon_sym_EQ_TILDE] = ACTIONS(4142),
    [anon_sym_BANG_TILDE] = ACTIONS(4142),
    [anon_sym_LT_EQ] = ACTIONS(4132),
    [anon_sym_GT] = ACTIONS(4132),
    [anon_sym_GT_EQ] = ACTIONS(4148),
    [anon_sym_CARET] = ACTIONS(4150),
    [anon_sym_PLUS] = ACTIONS(4152),
    [anon_sym_SLASH] = ACTIONS(4128),
    [anon_sym_PERCENT] = ACTIONS(4128),
    [sym_comment] = ACTIONS(110),
  },
  [905] = {
    [sym__heredoc_body_middle] = ACTIONS(968),
    [sym__heredoc_body_end] = ACTIONS(968),
    [sym__element_reference_left_bracket] = ACTIONS(4154),
    [sym__scope_double_colon] = ACTIONS(4156),
    [sym__binary_minus] = ACTIONS(968),
    [sym__binary_star] = ACTIONS(968),
    [anon_sym_DOT] = ACTIONS(4158),
    [anon_sym_COMMA] = ACTIONS(968),
    [anon_sym_PIPE] = ACTIONS(976),
    [anon_sym_STAR_STAR] = ACTIONS(968),
    [anon_sym_AMP] = ACTIONS(976),
    [anon_sym_LT] = ACTIONS(976),
    [anon_sym_if] = ACTIONS(968),
    [anon_sym_unless] = ACTIONS(968),
    [anon_sym_while] = ACTIONS(968),
    [anon_sym_until] = ACTIONS(968),
    [anon_sym_rescue] = ACTIONS(968),
    [anon_sym_AMP_DOT] = ACTIONS(4160),
    [anon_sym_QMARK] = ACTIONS(968),
    [anon_sym_DOT_DOT] = ACTIONS(976),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(968),
    [anon_sym_and] = ACTIONS(968),
    [anon_sym_or] = ACTIONS(968),
    [anon_sym_PIPE_PIPE] = ACTIONS(968),
    [anon_sym_AMP_AMP] = ACTIONS(968),
    [anon_sym_LT_LT] = ACTIONS(968),
    [anon_sym_GT_GT] = ACTIONS(968),
    [anon_sym_EQ_EQ] = ACTIONS(976),
    [anon_sym_BANG_EQ] = ACTIONS(968),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(968),
    [anon_sym_LT_EQ_GT] = ACTIONS(968),
    [anon_sym_EQ_TILDE] = ACTIONS(968),
    [anon_sym_BANG_TILDE] = ACTIONS(968),
    [anon_sym_LT_EQ] = ACTIONS(976),
    [anon_sym_GT] = ACTIONS(976),
    [anon_sym_GT_EQ] = ACTIONS(968),
    [anon_sym_CARET] = ACTIONS(968),
    [anon_sym_PLUS] = ACTIONS(968),
    [anon_sym_SLASH] = ACTIONS(968),
    [anon_sym_PERCENT] = ACTIONS(968),
    [sym_comment] = ACTIONS(110),
  },
  [906] = {
    [sym__heredoc_body_middle] = ACTIONS(980),
    [sym__heredoc_body_end] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_if] = ACTIONS(980),
    [anon_sym_unless] = ACTIONS(980),
    [anon_sym_while] = ACTIONS(980),
    [anon_sym_until] = ACTIONS(980),
    [anon_sym_rescue] = ACTIONS(980),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(980),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(980),
    [anon_sym_or] = ACTIONS(980),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [sym_comment] = ACTIONS(256),
  },
  [907] = {
    [sym_method] = STATE(2839),
    [sym_singleton_method] = STATE(2839),
    [sym_class] = STATE(2839),
    [sym_singleton_class] = STATE(2839),
    [sym_module] = STATE(2839),
    [sym_return] = STATE(2839),
    [sym_yield] = STATE(2839),
    [sym_break] = STATE(2839),
    [sym_next] = STATE(2839),
    [sym_redo] = STATE(2839),
    [sym_retry] = STATE(2839),
    [sym_while] = STATE(2839),
    [sym_until] = STATE(2839),
    [sym_for] = STATE(2839),
    [sym_case] = STATE(2839),
    [sym_if] = STATE(2839),
    [sym_unless] = STATE(2839),
    [sym_begin] = STATE(2839),
    [sym__arg] = STATE(2873),
    [sym__primary] = STATE(2874),
    [sym_parenthesized_statements] = STATE(2839),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2875),
    [sym_call] = STATE(2875),
    [sym_method_call] = STATE(2764),
    [sym_argument_list] = STATE(2876),
    [sym__argument_list_with_parens] = STATE(2877),
    [sym__argument] = STATE(2878),
    [sym_splat_argument] = STATE(2879),
    [sym_hash_splat_argument] = STATE(2879),
    [sym_block_argument] = STATE(2879),
    [sym_do_block] = STATE(2880),
    [sym_block] = STATE(2880),
    [sym_assignment] = STATE(2881),
    [sym_operator_assignment] = STATE(2881),
    [sym_conditional] = STATE(2881),
    [sym_range] = STATE(2881),
    [sym_binary] = STATE(2881),
    [sym_unary] = STATE(2881),
    [sym_left_assignment_list] = STATE(2882),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2883),
    [sym__variable] = STATE(2875),
    [sym_reserved_identifier] = STATE(2884),
    [sym_symbol] = STATE(2839),
    [sym_complex] = STATE(2839),
    [sym_rational] = STATE(2839),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2839),
    [sym_string] = STATE(2885),
    [sym_subshell] = STATE(2839),
    [sym_array] = STATE(2839),
    [sym_hash] = STATE(2839),
    [sym_pair] = STATE(2879),
    [sym_regex] = STATE(2839),
    [sym_lambda] = STATE(2839),
    [sym__simple_string] = ACTIONS(4162),
    [sym__simple_symbol] = ACTIONS(4164),
    [sym__simple_subshell] = ACTIONS(4166),
    [sym__simple_regex] = ACTIONS(4168),
    [sym__simple_word_list] = ACTIONS(4170),
    [sym__string_beginning] = ACTIONS(4172),
    [sym__symbol_beginning] = ACTIONS(4174),
    [sym__subshell_beginning] = ACTIONS(4176),
    [sym__regex_beginning] = ACTIONS(4178),
    [sym__word_list_beginning] = ACTIONS(4180),
    [sym__heredoc_body_middle] = ACTIONS(980),
    [sym__heredoc_body_end] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(4182),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(4184),
    [sym__splat_star] = ACTIONS(4186),
    [sym__argument_list_left_paren] = ACTIONS(4188),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(4190),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(4192),
    [anon_sym_def] = ACTIONS(4194),
    [anon_sym_LPAREN] = ACTIONS(4196),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(4198),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(4200),
    [anon_sym_return] = ACTIONS(4202),
    [anon_sym_yield] = ACTIONS(4204),
    [anon_sym_break] = ACTIONS(4206),
    [anon_sym_next] = ACTIONS(4208),
    [anon_sym_redo] = ACTIONS(4210),
    [anon_sym_retry] = ACTIONS(4212),
    [anon_sym_if] = ACTIONS(982),
    [anon_sym_unless] = ACTIONS(982),
    [anon_sym_while] = ACTIONS(982),
    [anon_sym_until] = ACTIONS(982),
    [anon_sym_rescue] = ACTIONS(982),
    [anon_sym_for] = ACTIONS(4214),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(4216),
    [anon_sym_case] = ACTIONS(4218),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(4220),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(4222),
    [anon_sym_not] = ACTIONS(4224),
    [anon_sym_BANG] = ACTIONS(4226),
    [anon_sym_TILDE] = ACTIONS(4228),
    [sym_constant] = ACTIONS(4230),
    [sym_identifier] = ACTIONS(4230),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(4056),
    [anon_sym_nil] = ACTIONS(4058),
    [anon_sym_self] = ACTIONS(4060),
    [anon_sym_super] = ACTIONS(4062),
    [anon_sym_true] = ACTIONS(4064),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(4232),
    [sym_float] = ACTIONS(4234),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4236),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4238),
    [sym_keyword__LINE__] = ACTIONS(4238),
    [sym_keyword__ENCODING__] = ACTIONS(4238),
    [sym__character_literal] = ACTIONS(4240),
    [anon_sym_LBRACK] = ACTIONS(4242),
    [anon_sym_DASH_GT] = ACTIONS(4244),
  },
  [908] = {
    [sym__heredoc_body_middle] = ACTIONS(968),
    [sym__heredoc_body_end] = ACTIONS(968),
    [sym__binary_minus] = ACTIONS(968),
    [sym__binary_star] = ACTIONS(968),
    [anon_sym_COMMA] = ACTIONS(968),
    [anon_sym_PIPE] = ACTIONS(976),
    [anon_sym_STAR_STAR] = ACTIONS(968),
    [anon_sym_AMP] = ACTIONS(976),
    [anon_sym_LT] = ACTIONS(976),
    [anon_sym_if] = ACTIONS(968),
    [anon_sym_unless] = ACTIONS(968),
    [anon_sym_while] = ACTIONS(968),
    [anon_sym_until] = ACTIONS(968),
    [anon_sym_rescue] = ACTIONS(968),
    [anon_sym_QMARK] = ACTIONS(968),
    [anon_sym_DOT_DOT] = ACTIONS(976),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(968),
    [anon_sym_and] = ACTIONS(968),
    [anon_sym_or] = ACTIONS(968),
    [anon_sym_PIPE_PIPE] = ACTIONS(968),
    [anon_sym_AMP_AMP] = ACTIONS(968),
    [anon_sym_LT_LT] = ACTIONS(968),
    [anon_sym_GT_GT] = ACTIONS(968),
    [anon_sym_EQ_EQ] = ACTIONS(976),
    [anon_sym_BANG_EQ] = ACTIONS(968),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(968),
    [anon_sym_LT_EQ_GT] = ACTIONS(968),
    [anon_sym_EQ_TILDE] = ACTIONS(968),
    [anon_sym_BANG_TILDE] = ACTIONS(968),
    [anon_sym_LT_EQ] = ACTIONS(976),
    [anon_sym_GT] = ACTIONS(976),
    [anon_sym_GT_EQ] = ACTIONS(968),
    [anon_sym_CARET] = ACTIONS(968),
    [anon_sym_PLUS] = ACTIONS(968),
    [anon_sym_SLASH] = ACTIONS(968),
    [anon_sym_PERCENT] = ACTIONS(968),
    [sym_comment] = ACTIONS(110),
  },
  [909] = {
    [anon_sym_EQ] = ACTIONS(4246),
    [sym_comment] = ACTIONS(256),
  },
  [910] = {
    [sym__heredoc_body_middle] = ACTIONS(250),
    [sym__heredoc_body_end] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(1076),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(4248),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(4250),
    [anon_sym_DASH_EQ] = ACTIONS(4250),
    [anon_sym_STAR_EQ] = ACTIONS(4250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(4250),
    [anon_sym_SLASH_EQ] = ACTIONS(4250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(4250),
    [anon_sym_PIPE_EQ] = ACTIONS(4250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(4250),
    [anon_sym_AMP_EQ] = ACTIONS(4250),
    [anon_sym_PERCENT_EQ] = ACTIONS(4250),
    [anon_sym_GT_GT_EQ] = ACTIONS(4250),
    [anon_sym_LT_LT_EQ] = ACTIONS(4250),
    [anon_sym_CARET_EQ] = ACTIONS(4250),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [911] = {
    [sym_string] = STATE(2888),
    [aux_sym_chained_string_repeat1] = STATE(2889),
    [sym__simple_string] = ACTIONS(1400),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__heredoc_body_middle] = ACTIONS(250),
    [sym__heredoc_body_end] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(1498),
  },
  [912] = {
    [sym__statement] = STATE(2890),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [913] = {
    [sym__simple_string] = ACTIONS(126),
    [sym__string_beginning] = ACTIONS(126),
    [sym__element_reference_left_bracket] = ACTIONS(126),
    [sym__scope_double_colon] = ACTIONS(126),
    [sym__binary_minus] = ACTIONS(126),
    [sym__binary_star] = ACTIONS(126),
    [anon_sym_LBRACE] = ACTIONS(126),
    [anon_sym_RPAREN] = ACTIONS(126),
    [anon_sym_DOT] = ACTIONS(128),
    [anon_sym_COMMA] = ACTIONS(126),
    [anon_sym_PIPE] = ACTIONS(128),
    [anon_sym_SEMI] = ACTIONS(126),
    [anon_sym_STAR_STAR] = ACTIONS(126),
    [anon_sym_AMP] = ACTIONS(128),
    [anon_sym_LT] = ACTIONS(128),
    [anon_sym_do] = ACTIONS(126),
    [anon_sym_EQ_GT] = ACTIONS(126),
    [anon_sym_AMP_DOT] = ACTIONS(126),
    [anon_sym_QMARK] = ACTIONS(128),
    [anon_sym_COLON] = ACTIONS(126),
    [anon_sym_DOT_DOT] = ACTIONS(128),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(126),
    [anon_sym_and] = ACTIONS(126),
    [anon_sym_or] = ACTIONS(126),
    [anon_sym_PIPE_PIPE] = ACTIONS(126),
    [anon_sym_AMP_AMP] = ACTIONS(126),
    [anon_sym_LT_LT] = ACTIONS(126),
    [anon_sym_GT_GT] = ACTIONS(126),
    [anon_sym_EQ_EQ] = ACTIONS(128),
    [anon_sym_BANG_EQ] = ACTIONS(126),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(126),
    [anon_sym_LT_EQ_GT] = ACTIONS(126),
    [anon_sym_EQ_TILDE] = ACTIONS(126),
    [anon_sym_BANG_TILDE] = ACTIONS(126),
    [anon_sym_LT_EQ] = ACTIONS(128),
    [anon_sym_GT] = ACTIONS(128),
    [anon_sym_GT_EQ] = ACTIONS(126),
    [anon_sym_CARET] = ACTIONS(126),
    [anon_sym_PLUS] = ACTIONS(126),
    [anon_sym_SLASH] = ACTIONS(126),
    [anon_sym_PERCENT] = ACTIONS(126),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(128),
  },
  [914] = {
    [sym__statement] = STATE(2891),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(2892),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [915] = {
    [sym__method_rest] = STATE(939),
    [sym__variable] = STATE(940),
    [sym_operator] = STATE(217),
    [sym__method_name] = STATE(941),
    [sym_setter] = STATE(217),
    [sym_symbol] = STATE(217),
    [sym_super] = STATE(219),
    [sym_self] = STATE(219),
    [sym__simple_symbol] = ACTIONS(378),
    [sym__symbol_beginning] = ACTIONS(380),
    [anon_sym_LPAREN] = ACTIONS(1558),
    [anon_sym_PIPE] = ACTIONS(384),
    [anon_sym_STAR] = ACTIONS(386),
    [anon_sym_STAR_STAR] = ACTIONS(384),
    [anon_sym_AMP] = ACTIONS(384),
    [anon_sym_LT] = ACTIONS(386),
    [anon_sym_DOT_DOT] = ACTIONS(384),
    [anon_sym_LT_LT] = ACTIONS(384),
    [anon_sym_GT_GT] = ACTIONS(384),
    [anon_sym_EQ_EQ] = ACTIONS(386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(384),
    [anon_sym_LT_EQ_GT] = ACTIONS(384),
    [anon_sym_EQ_TILDE] = ACTIONS(384),
    [anon_sym_BANG_TILDE] = ACTIONS(384),
    [anon_sym_LT_EQ] = ACTIONS(386),
    [anon_sym_GT] = ACTIONS(386),
    [anon_sym_GT_EQ] = ACTIONS(384),
    [anon_sym_CARET] = ACTIONS(384),
    [anon_sym_PLUS] = ACTIONS(386),
    [anon_sym_SLASH] = ACTIONS(384),
    [anon_sym_PERCENT] = ACTIONS(384),
    [anon_sym_BANG] = ACTIONS(386),
    [anon_sym_TILDE] = ACTIONS(384),
    [sym_constant] = ACTIONS(388),
    [sym_identifier] = ACTIONS(390),
    [sym_instance_variable] = ACTIONS(388),
    [sym_class_variable] = ACTIONS(388),
    [sym_global_variable] = ACTIONS(388),
    [anon_sym_self] = ACTIONS(392),
    [anon_sym_super] = ACTIONS(394),
    [anon_sym_DASH] = ACTIONS(386),
    [anon_sym_PLUS_AT] = ACTIONS(384),
    [anon_sym_DASH_AT] = ACTIONS(384),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(386),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(384),
    [anon_sym_BQUOTE] = ACTIONS(384),
    [sym_comment] = ACTIONS(110),
  },
  [916] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(293),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(983),
    [sym_call] = STATE(295),
    [sym_method_call] = STATE(286),
    [sym__lhs] = STATE(255),
    [sym__variable] = STATE(295),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [sym__singleton_class_left_angle_left_langle] = ACTIONS(1628),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(458),
    [anon_sym_COLON_COLON] = ACTIONS(524),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(1630),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [917] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(293),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(985),
    [sym_call] = STATE(295),
    [sym_method_call] = STATE(286),
    [sym__lhs] = STATE(255),
    [sym__variable] = STATE(295),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(458),
    [anon_sym_COLON_COLON] = ACTIONS(524),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(1632),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [918] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1000),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1002),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(1004),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_reserved_identifier] = STATE(1009),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1010),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(1634),
    [sym__splat_star] = ACTIONS(1636),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(1640),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(1642),
    [anon_sym_yield] = ACTIONS(1644),
    [anon_sym_break] = ACTIONS(1646),
    [anon_sym_next] = ACTIONS(1648),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(1652),
    [anon_sym_BANG] = ACTIONS(1654),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(1658),
    [sym_identifier] = ACTIONS(1658),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [919] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1000),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1011),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(1004),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_reserved_identifier] = STATE(1009),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1010),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(1634),
    [sym__splat_star] = ACTIONS(1636),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(1640),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(1642),
    [anon_sym_yield] = ACTIONS(1644),
    [anon_sym_break] = ACTIONS(1646),
    [anon_sym_next] = ACTIONS(1648),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(1652),
    [anon_sym_BANG] = ACTIONS(1654),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(1658),
    [sym_identifier] = ACTIONS(1658),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [920] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1000),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1012),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(1004),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_reserved_identifier] = STATE(1009),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1010),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(1634),
    [sym__splat_star] = ACTIONS(1636),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(1640),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(1642),
    [anon_sym_yield] = ACTIONS(1644),
    [anon_sym_break] = ACTIONS(1646),
    [anon_sym_next] = ACTIONS(1648),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(1652),
    [anon_sym_BANG] = ACTIONS(1654),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(1658),
    [sym_identifier] = ACTIONS(1658),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [921] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1000),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1013),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(1004),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_reserved_identifier] = STATE(1009),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1010),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(1634),
    [sym__splat_star] = ACTIONS(1636),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(1640),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(1642),
    [anon_sym_yield] = ACTIONS(1644),
    [anon_sym_break] = ACTIONS(1646),
    [anon_sym_next] = ACTIONS(1648),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(1652),
    [anon_sym_BANG] = ACTIONS(1654),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(1658),
    [sym_identifier] = ACTIONS(1658),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [922] = {
    [sym__element_reference_left_bracket] = ACTIONS(614),
    [sym__scope_double_colon] = ACTIONS(614),
    [sym__binary_minus] = ACTIONS(614),
    [sym__binary_star] = ACTIONS(614),
    [anon_sym_LBRACE] = ACTIONS(614),
    [anon_sym_RPAREN] = ACTIONS(614),
    [anon_sym_DOT] = ACTIONS(616),
    [anon_sym_COMMA] = ACTIONS(614),
    [anon_sym_PIPE] = ACTIONS(616),
    [anon_sym_SEMI] = ACTIONS(614),
    [anon_sym_STAR_STAR] = ACTIONS(614),
    [anon_sym_AMP] = ACTIONS(616),
    [anon_sym_LT] = ACTIONS(616),
    [anon_sym_do] = ACTIONS(614),
    [anon_sym_EQ_GT] = ACTIONS(614),
    [anon_sym_AMP_DOT] = ACTIONS(614),
    [anon_sym_QMARK] = ACTIONS(614),
    [anon_sym_COLON] = ACTIONS(614),
    [anon_sym_DOT_DOT] = ACTIONS(616),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(614),
    [anon_sym_and] = ACTIONS(614),
    [anon_sym_or] = ACTIONS(614),
    [anon_sym_PIPE_PIPE] = ACTIONS(614),
    [anon_sym_AMP_AMP] = ACTIONS(614),
    [anon_sym_LT_LT] = ACTIONS(614),
    [anon_sym_GT_GT] = ACTIONS(614),
    [anon_sym_EQ_EQ] = ACTIONS(616),
    [anon_sym_BANG_EQ] = ACTIONS(614),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(614),
    [anon_sym_LT_EQ_GT] = ACTIONS(614),
    [anon_sym_EQ_TILDE] = ACTIONS(614),
    [anon_sym_BANG_TILDE] = ACTIONS(614),
    [anon_sym_LT_EQ] = ACTIONS(616),
    [anon_sym_GT] = ACTIONS(616),
    [anon_sym_GT_EQ] = ACTIONS(614),
    [anon_sym_CARET] = ACTIONS(614),
    [anon_sym_PLUS] = ACTIONS(614),
    [anon_sym_SLASH] = ACTIONS(614),
    [anon_sym_PERCENT] = ACTIONS(614),
    [sym_comment] = ACTIONS(110),
  },
  [923] = {
    [sym__element_reference_left_bracket] = ACTIONS(618),
    [sym__scope_double_colon] = ACTIONS(618),
    [sym__binary_minus] = ACTIONS(618),
    [sym__binary_star] = ACTIONS(618),
    [anon_sym_LBRACE] = ACTIONS(618),
    [anon_sym_RPAREN] = ACTIONS(618),
    [anon_sym_DOT] = ACTIONS(620),
    [anon_sym_COMMA] = ACTIONS(618),
    [anon_sym_PIPE] = ACTIONS(620),
    [anon_sym_SEMI] = ACTIONS(618),
    [anon_sym_STAR_STAR] = ACTIONS(618),
    [anon_sym_AMP] = ACTIONS(620),
    [anon_sym_LT] = ACTIONS(620),
    [anon_sym_do] = ACTIONS(618),
    [anon_sym_EQ_GT] = ACTIONS(618),
    [anon_sym_AMP_DOT] = ACTIONS(618),
    [anon_sym_QMARK] = ACTIONS(618),
    [anon_sym_COLON] = ACTIONS(618),
    [anon_sym_DOT_DOT] = ACTIONS(620),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(618),
    [anon_sym_and] = ACTIONS(618),
    [anon_sym_or] = ACTIONS(618),
    [anon_sym_PIPE_PIPE] = ACTIONS(618),
    [anon_sym_AMP_AMP] = ACTIONS(618),
    [anon_sym_LT_LT] = ACTIONS(618),
    [anon_sym_GT_GT] = ACTIONS(618),
    [anon_sym_EQ_EQ] = ACTIONS(620),
    [anon_sym_BANG_EQ] = ACTIONS(618),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(618),
    [anon_sym_LT_EQ_GT] = ACTIONS(618),
    [anon_sym_EQ_TILDE] = ACTIONS(618),
    [anon_sym_BANG_TILDE] = ACTIONS(618),
    [anon_sym_LT_EQ] = ACTIONS(620),
    [anon_sym_GT] = ACTIONS(620),
    [anon_sym_GT_EQ] = ACTIONS(618),
    [anon_sym_CARET] = ACTIONS(618),
    [anon_sym_PLUS] = ACTIONS(618),
    [anon_sym_SLASH] = ACTIONS(618),
    [anon_sym_PERCENT] = ACTIONS(618),
    [sym_comment] = ACTIONS(110),
  },
  [924] = {
    [sym__statement] = STATE(1014),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(361),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [925] = {
    [sym__statement] = STATE(1015),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(361),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [926] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1016),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [927] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1017),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [928] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(285),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(381),
    [sym_call] = STATE(381),
    [sym_method_call] = STATE(286),
    [sym__mlhs] = STATE(1018),
    [sym__simple_mlhs] = STATE(383),
    [sym_destructured_left_assignment] = STATE(383),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(384),
    [sym__variable] = STATE(381),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(658),
    [anon_sym_COLON_COLON] = ACTIONS(460),
    [anon_sym_STAR] = ACTIONS(660),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(494),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [929] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_when] = STATE(1019),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1020),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(400),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(401),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(387),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__terminator] = STATE(402),
    [aux_sym_case_repeat1] = STATE(1021),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(666),
    [sym__unary_minus] = ACTIONS(668),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_when] = ACTIONS(678),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(680),
    [anon_sym_defined_QMARK] = ACTIONS(682),
    [anon_sym_not] = ACTIONS(684),
    [anon_sym_BANG] = ACTIONS(686),
    [anon_sym_TILDE] = ACTIONS(686),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [930] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(1023),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(1024),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(692),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(1660),
    [anon_sym_SEMI] = ACTIONS(698),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [931] = {
    [sym__simple_string] = ACTIONS(748),
    [sym__simple_symbol] = ACTIONS(748),
    [sym__simple_subshell] = ACTIONS(748),
    [sym__simple_regex] = ACTIONS(748),
    [sym__simple_word_list] = ACTIONS(748),
    [sym__string_beginning] = ACTIONS(748),
    [sym__symbol_beginning] = ACTIONS(748),
    [sym__subshell_beginning] = ACTIONS(748),
    [sym__regex_beginning] = ACTIONS(748),
    [sym__word_list_beginning] = ACTIONS(748),
    [sym_heredoc_beginning] = ACTIONS(748),
    [sym__element_reference_left_bracket] = ACTIONS(748),
    [sym__block_ampersand] = ACTIONS(748),
    [sym__splat_star] = ACTIONS(748),
    [sym__argument_list_left_paren] = ACTIONS(748),
    [sym__scope_double_colon] = ACTIONS(748),
    [sym__unary_minus] = ACTIONS(748),
    [sym__binary_minus] = ACTIONS(748),
    [sym__binary_star] = ACTIONS(748),
    [anon_sym_LBRACE] = ACTIONS(748),
    [anon_sym_def] = ACTIONS(750),
    [anon_sym_LPAREN] = ACTIONS(748),
    [anon_sym_DOT] = ACTIONS(750),
    [anon_sym_COLON_COLON] = ACTIONS(748),
    [anon_sym_end] = ACTIONS(750),
    [anon_sym_COMMA] = ACTIONS(748),
    [anon_sym_PIPE] = ACTIONS(750),
    [anon_sym_STAR] = ACTIONS(750),
    [anon_sym_STAR_STAR] = ACTIONS(750),
    [anon_sym_AMP] = ACTIONS(750),
    [anon_sym_EQ] = ACTIONS(750),
    [anon_sym_class] = ACTIONS(750),
    [anon_sym_LT] = ACTIONS(750),
    [anon_sym_module] = ACTIONS(750),
    [anon_sym_return] = ACTIONS(750),
    [anon_sym_yield] = ACTIONS(750),
    [anon_sym_break] = ACTIONS(750),
    [anon_sym_next] = ACTIONS(750),
    [anon_sym_redo] = ACTIONS(750),
    [anon_sym_retry] = ACTIONS(750),
    [anon_sym_if] = ACTIONS(750),
    [anon_sym_unless] = ACTIONS(750),
    [anon_sym_while] = ACTIONS(750),
    [anon_sym_until] = ACTIONS(750),
    [anon_sym_rescue] = ACTIONS(750),
    [anon_sym_for] = ACTIONS(750),
    [anon_sym_in] = ACTIONS(750),
    [anon_sym_do] = ACTIONS(750),
    [anon_sym_case] = ACTIONS(750),
    [anon_sym_when] = ACTIONS(750),
    [anon_sym_elsif] = ACTIONS(750),
    [anon_sym_else] = ACTIONS(750),
    [anon_sym_then] = ACTIONS(750),
    [anon_sym_begin] = ACTIONS(750),
    [anon_sym_ensure] = ACTIONS(750),
    [anon_sym_EQ_GT] = ACTIONS(748),
    [anon_sym_AMP_DOT] = ACTIONS(748),
    [anon_sym_PLUS_EQ] = ACTIONS(748),
    [anon_sym_DASH_EQ] = ACTIONS(748),
    [anon_sym_STAR_EQ] = ACTIONS(748),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(748),
    [anon_sym_SLASH_EQ] = ACTIONS(748),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(748),
    [anon_sym_PIPE_EQ] = ACTIONS(748),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(748),
    [anon_sym_AMP_EQ] = ACTIONS(748),
    [anon_sym_PERCENT_EQ] = ACTIONS(748),
    [anon_sym_GT_GT_EQ] = ACTIONS(748),
    [anon_sym_LT_LT_EQ] = ACTIONS(748),
    [anon_sym_CARET_EQ] = ACTIONS(748),
    [anon_sym_QMARK] = ACTIONS(750),
    [anon_sym_DOT_DOT] = ACTIONS(750),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(748),
    [anon_sym_and] = ACTIONS(750),
    [anon_sym_or] = ACTIONS(750),
    [anon_sym_PIPE_PIPE] = ACTIONS(750),
    [anon_sym_AMP_AMP] = ACTIONS(750),
    [anon_sym_LT_LT] = ACTIONS(750),
    [anon_sym_GT_GT] = ACTIONS(750),
    [anon_sym_EQ_EQ] = ACTIONS(750),
    [anon_sym_BANG_EQ] = ACTIONS(748),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(748),
    [anon_sym_LT_EQ_GT] = ACTIONS(748),
    [anon_sym_EQ_TILDE] = ACTIONS(748),
    [anon_sym_BANG_TILDE] = ACTIONS(748),
    [anon_sym_LT_EQ] = ACTIONS(750),
    [anon_sym_GT] = ACTIONS(750),
    [anon_sym_GT_EQ] = ACTIONS(748),
    [anon_sym_CARET] = ACTIONS(750),
    [anon_sym_PLUS] = ACTIONS(750),
    [anon_sym_SLASH] = ACTIONS(750),
    [anon_sym_PERCENT] = ACTIONS(750),
    [anon_sym_defined_QMARK] = ACTIONS(748),
    [anon_sym_not] = ACTIONS(750),
    [anon_sym_BANG] = ACTIONS(750),
    [anon_sym_TILDE] = ACTIONS(748),
    [sym_constant] = ACTIONS(752),
    [sym_identifier] = ACTIONS(752),
    [sym_instance_variable] = ACTIONS(750),
    [sym_class_variable] = ACTIONS(750),
    [sym_global_variable] = ACTIONS(750),
    [anon_sym_alias] = ACTIONS(750),
    [anon_sym_defined] = ACTIONS(750),
    [anon_sym_false] = ACTIONS(750),
    [anon_sym_nil] = ACTIONS(750),
    [anon_sym_self] = ACTIONS(750),
    [anon_sym_super] = ACTIONS(750),
    [anon_sym_true] = ACTIONS(750),
    [anon_sym_undef] = ACTIONS(750),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(750),
    [sym_float] = ACTIONS(752),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(748),
    [anon_sym_TRUE] = ACTIONS(750),
    [anon_sym_FALSE] = ACTIONS(750),
    [anon_sym_NIL] = ACTIONS(750),
    [sym_keyword__FILE__] = ACTIONS(750),
    [sym_keyword__LINE__] = ACTIONS(750),
    [sym_keyword__ENCODING__] = ACTIONS(750),
    [sym__character_literal] = ACTIONS(750),
    [anon_sym_LBRACK] = ACTIONS(748),
    [anon_sym_DASH_GT] = ACTIONS(748),
  },
  [932] = {
    [sym__simple_string] = ACTIONS(754),
    [sym__simple_symbol] = ACTIONS(754),
    [sym__simple_subshell] = ACTIONS(754),
    [sym__simple_regex] = ACTIONS(754),
    [sym__simple_word_list] = ACTIONS(754),
    [sym__string_beginning] = ACTIONS(754),
    [sym__symbol_beginning] = ACTIONS(754),
    [sym__subshell_beginning] = ACTIONS(754),
    [sym__regex_beginning] = ACTIONS(754),
    [sym__word_list_beginning] = ACTIONS(754),
    [sym_heredoc_beginning] = ACTIONS(754),
    [sym__element_reference_left_bracket] = ACTIONS(754),
    [sym__block_ampersand] = ACTIONS(754),
    [sym__splat_star] = ACTIONS(754),
    [sym__argument_list_left_paren] = ACTIONS(754),
    [sym__scope_double_colon] = ACTIONS(754),
    [sym__unary_minus] = ACTIONS(754),
    [sym__binary_minus] = ACTIONS(754),
    [sym__binary_star] = ACTIONS(754),
    [anon_sym_LBRACE] = ACTIONS(754),
    [anon_sym_def] = ACTIONS(756),
    [anon_sym_LPAREN] = ACTIONS(754),
    [anon_sym_DOT] = ACTIONS(756),
    [anon_sym_COLON_COLON] = ACTIONS(754),
    [anon_sym_end] = ACTIONS(756),
    [anon_sym_COMMA] = ACTIONS(754),
    [anon_sym_PIPE] = ACTIONS(756),
    [anon_sym_STAR] = ACTIONS(756),
    [anon_sym_STAR_STAR] = ACTIONS(756),
    [anon_sym_AMP] = ACTIONS(756),
    [anon_sym_EQ] = ACTIONS(756),
    [anon_sym_class] = ACTIONS(756),
    [anon_sym_LT] = ACTIONS(756),
    [anon_sym_module] = ACTIONS(756),
    [anon_sym_return] = ACTIONS(756),
    [anon_sym_yield] = ACTIONS(756),
    [anon_sym_break] = ACTIONS(756),
    [anon_sym_next] = ACTIONS(756),
    [anon_sym_redo] = ACTIONS(756),
    [anon_sym_retry] = ACTIONS(756),
    [anon_sym_if] = ACTIONS(756),
    [anon_sym_unless] = ACTIONS(756),
    [anon_sym_while] = ACTIONS(756),
    [anon_sym_until] = ACTIONS(756),
    [anon_sym_rescue] = ACTIONS(756),
    [anon_sym_for] = ACTIONS(756),
    [anon_sym_in] = ACTIONS(756),
    [anon_sym_do] = ACTIONS(756),
    [anon_sym_case] = ACTIONS(756),
    [anon_sym_when] = ACTIONS(756),
    [anon_sym_elsif] = ACTIONS(756),
    [anon_sym_else] = ACTIONS(756),
    [anon_sym_then] = ACTIONS(756),
    [anon_sym_begin] = ACTIONS(756),
    [anon_sym_ensure] = ACTIONS(756),
    [anon_sym_EQ_GT] = ACTIONS(754),
    [anon_sym_AMP_DOT] = ACTIONS(754),
    [anon_sym_PLUS_EQ] = ACTIONS(754),
    [anon_sym_DASH_EQ] = ACTIONS(754),
    [anon_sym_STAR_EQ] = ACTIONS(754),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(754),
    [anon_sym_SLASH_EQ] = ACTIONS(754),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(754),
    [anon_sym_PIPE_EQ] = ACTIONS(754),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(754),
    [anon_sym_AMP_EQ] = ACTIONS(754),
    [anon_sym_PERCENT_EQ] = ACTIONS(754),
    [anon_sym_GT_GT_EQ] = ACTIONS(754),
    [anon_sym_LT_LT_EQ] = ACTIONS(754),
    [anon_sym_CARET_EQ] = ACTIONS(754),
    [anon_sym_QMARK] = ACTIONS(756),
    [anon_sym_DOT_DOT] = ACTIONS(756),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(754),
    [anon_sym_and] = ACTIONS(756),
    [anon_sym_or] = ACTIONS(756),
    [anon_sym_PIPE_PIPE] = ACTIONS(756),
    [anon_sym_AMP_AMP] = ACTIONS(756),
    [anon_sym_LT_LT] = ACTIONS(756),
    [anon_sym_GT_GT] = ACTIONS(756),
    [anon_sym_EQ_EQ] = ACTIONS(756),
    [anon_sym_BANG_EQ] = ACTIONS(754),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(754),
    [anon_sym_LT_EQ_GT] = ACTIONS(754),
    [anon_sym_EQ_TILDE] = ACTIONS(754),
    [anon_sym_BANG_TILDE] = ACTIONS(754),
    [anon_sym_LT_EQ] = ACTIONS(756),
    [anon_sym_GT] = ACTIONS(756),
    [anon_sym_GT_EQ] = ACTIONS(754),
    [anon_sym_CARET] = ACTIONS(756),
    [anon_sym_PLUS] = ACTIONS(756),
    [anon_sym_SLASH] = ACTIONS(756),
    [anon_sym_PERCENT] = ACTIONS(756),
    [anon_sym_defined_QMARK] = ACTIONS(754),
    [anon_sym_not] = ACTIONS(756),
    [anon_sym_BANG] = ACTIONS(756),
    [anon_sym_TILDE] = ACTIONS(754),
    [sym_constant] = ACTIONS(758),
    [sym_identifier] = ACTIONS(758),
    [sym_instance_variable] = ACTIONS(756),
    [sym_class_variable] = ACTIONS(756),
    [sym_global_variable] = ACTIONS(756),
    [anon_sym_alias] = ACTIONS(756),
    [anon_sym_defined] = ACTIONS(756),
    [anon_sym_false] = ACTIONS(756),
    [anon_sym_nil] = ACTIONS(756),
    [anon_sym_self] = ACTIONS(756),
    [anon_sym_super] = ACTIONS(756),
    [anon_sym_true] = ACTIONS(756),
    [anon_sym_undef] = ACTIONS(756),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(756),
    [sym_float] = ACTIONS(758),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(754),
    [anon_sym_TRUE] = ACTIONS(756),
    [anon_sym_FALSE] = ACTIONS(756),
    [anon_sym_NIL] = ACTIONS(756),
    [sym_keyword__FILE__] = ACTIONS(756),
    [sym_keyword__LINE__] = ACTIONS(756),
    [sym_keyword__ENCODING__] = ACTIONS(756),
    [sym__character_literal] = ACTIONS(756),
    [anon_sym_LBRACK] = ACTIONS(754),
    [anon_sym_DASH_GT] = ACTIONS(754),
  },
  [933] = {
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_STAR_STAR] = ACTIONS(1678),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_EQ_GT] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [934] = {
    [sym_string] = STATE(1112),
    [aux_sym_chained_string_repeat1] = STATE(1113),
    [sym__simple_string] = ACTIONS(1504),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_RPAREN] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_COLON] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(1548),
  },
  [935] = {
    [sym__element_reference_left_bracket] = ACTIONS(1552),
    [sym__scope_double_colon] = ACTIONS(1552),
    [sym__binary_minus] = ACTIONS(1552),
    [sym__binary_star] = ACTIONS(1552),
    [anon_sym_LBRACE] = ACTIONS(1552),
    [anon_sym_RPAREN] = ACTIONS(1552),
    [anon_sym_DOT] = ACTIONS(1554),
    [anon_sym_COMMA] = ACTIONS(1552),
    [anon_sym_PIPE] = ACTIONS(1554),
    [anon_sym_SEMI] = ACTIONS(1552),
    [anon_sym_STAR_STAR] = ACTIONS(1552),
    [anon_sym_AMP] = ACTIONS(1554),
    [anon_sym_LT] = ACTIONS(1554),
    [anon_sym_do] = ACTIONS(1552),
    [anon_sym_EQ_GT] = ACTIONS(1552),
    [anon_sym_AMP_DOT] = ACTIONS(1552),
    [anon_sym_QMARK] = ACTIONS(1552),
    [anon_sym_COLON] = ACTIONS(1552),
    [anon_sym_DOT_DOT] = ACTIONS(1554),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1552),
    [anon_sym_and] = ACTIONS(1552),
    [anon_sym_or] = ACTIONS(1552),
    [anon_sym_PIPE_PIPE] = ACTIONS(1552),
    [anon_sym_AMP_AMP] = ACTIONS(1552),
    [anon_sym_LT_LT] = ACTIONS(1552),
    [anon_sym_GT_GT] = ACTIONS(1552),
    [anon_sym_EQ_EQ] = ACTIONS(1554),
    [anon_sym_BANG_EQ] = ACTIONS(1552),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1552),
    [anon_sym_LT_EQ_GT] = ACTIONS(1552),
    [anon_sym_EQ_TILDE] = ACTIONS(1552),
    [anon_sym_BANG_TILDE] = ACTIONS(1552),
    [anon_sym_LT_EQ] = ACTIONS(1554),
    [anon_sym_GT] = ACTIONS(1554),
    [anon_sym_GT_EQ] = ACTIONS(1552),
    [anon_sym_CARET] = ACTIONS(1552),
    [anon_sym_PLUS] = ACTIONS(1552),
    [anon_sym_SLASH] = ACTIONS(1552),
    [anon_sym_PERCENT] = ACTIONS(1552),
    [sym_comment] = ACTIONS(110),
  },
  [936] = {
    [anon_sym_RBRACE] = ACTIONS(4252),
    [sym_comment] = ACTIONS(110),
  },
  [937] = {
    [sym_heredoc_end] = STATE(2894),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RBRACE] = ACTIONS(4252),
    [sym_comment] = ACTIONS(110),
  },
  [938] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(2895),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(1139),
    [sym_call] = STATE(1139),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(1140),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1141),
    [sym__variable] = STATE(1139),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(1822),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_yield] = ACTIONS(1828),
    [anon_sym_break] = ACTIONS(1830),
    [anon_sym_next] = ACTIONS(1832),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(1834),
    [anon_sym_defined_QMARK] = ACTIONS(1836),
    [anon_sym_not] = ACTIONS(1838),
    [anon_sym_BANG] = ACTIONS(1840),
    [anon_sym_TILDE] = ACTIONS(1840),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [939] = {
    [sym__element_reference_left_bracket] = ACTIONS(1866),
    [sym__scope_double_colon] = ACTIONS(1866),
    [sym__binary_minus] = ACTIONS(1866),
    [sym__binary_star] = ACTIONS(1866),
    [anon_sym_LBRACE] = ACTIONS(1866),
    [anon_sym_RPAREN] = ACTIONS(1866),
    [anon_sym_DOT] = ACTIONS(1868),
    [anon_sym_COMMA] = ACTIONS(1866),
    [anon_sym_PIPE] = ACTIONS(1868),
    [anon_sym_SEMI] = ACTIONS(1866),
    [anon_sym_STAR_STAR] = ACTIONS(1866),
    [anon_sym_AMP] = ACTIONS(1868),
    [anon_sym_LT] = ACTIONS(1868),
    [anon_sym_do] = ACTIONS(1866),
    [anon_sym_EQ_GT] = ACTIONS(1866),
    [anon_sym_AMP_DOT] = ACTIONS(1866),
    [anon_sym_QMARK] = ACTIONS(1866),
    [anon_sym_COLON] = ACTIONS(1866),
    [anon_sym_DOT_DOT] = ACTIONS(1868),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1866),
    [anon_sym_and] = ACTIONS(1866),
    [anon_sym_or] = ACTIONS(1866),
    [anon_sym_PIPE_PIPE] = ACTIONS(1866),
    [anon_sym_AMP_AMP] = ACTIONS(1866),
    [anon_sym_LT_LT] = ACTIONS(1866),
    [anon_sym_GT_GT] = ACTIONS(1866),
    [anon_sym_EQ_EQ] = ACTIONS(1868),
    [anon_sym_BANG_EQ] = ACTIONS(1866),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1866),
    [anon_sym_LT_EQ_GT] = ACTIONS(1866),
    [anon_sym_EQ_TILDE] = ACTIONS(1866),
    [anon_sym_BANG_TILDE] = ACTIONS(1866),
    [anon_sym_LT_EQ] = ACTIONS(1868),
    [anon_sym_GT] = ACTIONS(1868),
    [anon_sym_GT_EQ] = ACTIONS(1866),
    [anon_sym_CARET] = ACTIONS(1866),
    [anon_sym_PLUS] = ACTIONS(1866),
    [anon_sym_SLASH] = ACTIONS(1866),
    [anon_sym_PERCENT] = ACTIONS(1866),
    [sym_comment] = ACTIONS(110),
  },
  [940] = {
    [anon_sym_DOT] = ACTIONS(4254),
    [anon_sym_COLON_COLON] = ACTIONS(4254),
    [sym_comment] = ACTIONS(110),
  },
  [941] = {
    [sym_method_parameters] = STATE(2897),
    [sym__simple_formal_parameter] = STATE(1150),
    [sym_splat_parameter] = STATE(1151),
    [sym_hash_splat_parameter] = STATE(1151),
    [sym_block_parameter] = STATE(1151),
    [sym_keyword_parameter] = STATE(1151),
    [sym_optional_parameter] = STATE(1151),
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(2897),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym__line_break] = ACTIONS(692),
    [anon_sym_LPAREN] = ACTIONS(1872),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(1874),
    [anon_sym_STAR_STAR] = ACTIONS(1876),
    [anon_sym_AMP] = ACTIONS(1878),
    [sym_identifier] = ACTIONS(1880),
    [sym_comment] = ACTIONS(110),
  },
  [942] = {
    [sym__element_reference_left_bracket] = ACTIONS(1882),
    [sym__scope_double_colon] = ACTIONS(1882),
    [sym__binary_minus] = ACTIONS(1882),
    [sym__binary_star] = ACTIONS(1882),
    [anon_sym_LBRACE] = ACTIONS(1882),
    [anon_sym_RPAREN] = ACTIONS(1882),
    [anon_sym_DOT] = ACTIONS(1884),
    [anon_sym_COMMA] = ACTIONS(1882),
    [anon_sym_PIPE] = ACTIONS(1884),
    [anon_sym_SEMI] = ACTIONS(1882),
    [anon_sym_STAR_STAR] = ACTIONS(1882),
    [anon_sym_AMP] = ACTIONS(1884),
    [anon_sym_LT] = ACTIONS(1884),
    [anon_sym_do] = ACTIONS(1882),
    [anon_sym_EQ_GT] = ACTIONS(1882),
    [anon_sym_AMP_DOT] = ACTIONS(1882),
    [anon_sym_QMARK] = ACTIONS(1882),
    [anon_sym_COLON] = ACTIONS(1882),
    [anon_sym_DOT_DOT] = ACTIONS(1884),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1882),
    [anon_sym_and] = ACTIONS(1882),
    [anon_sym_or] = ACTIONS(1882),
    [anon_sym_PIPE_PIPE] = ACTIONS(1882),
    [anon_sym_AMP_AMP] = ACTIONS(1882),
    [anon_sym_LT_LT] = ACTIONS(1882),
    [anon_sym_GT_GT] = ACTIONS(1882),
    [anon_sym_EQ_EQ] = ACTIONS(1884),
    [anon_sym_BANG_EQ] = ACTIONS(1882),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1882),
    [anon_sym_LT_EQ_GT] = ACTIONS(1882),
    [anon_sym_EQ_TILDE] = ACTIONS(1882),
    [anon_sym_BANG_TILDE] = ACTIONS(1882),
    [anon_sym_LT_EQ] = ACTIONS(1884),
    [anon_sym_GT] = ACTIONS(1884),
    [anon_sym_GT_EQ] = ACTIONS(1882),
    [anon_sym_CARET] = ACTIONS(1882),
    [anon_sym_PLUS] = ACTIONS(1882),
    [anon_sym_SLASH] = ACTIONS(1882),
    [anon_sym_PERCENT] = ACTIONS(1882),
    [sym_comment] = ACTIONS(110),
  },
  [943] = {
    [anon_sym_RPAREN] = ACTIONS(4256),
    [sym_comment] = ACTIONS(110),
  },
  [944] = {
    [sym__simple_string] = ACTIONS(2010),
    [sym__simple_symbol] = ACTIONS(2010),
    [sym__simple_subshell] = ACTIONS(2010),
    [sym__simple_regex] = ACTIONS(2010),
    [sym__simple_word_list] = ACTIONS(2010),
    [sym__string_beginning] = ACTIONS(2010),
    [sym__symbol_beginning] = ACTIONS(2010),
    [sym__subshell_beginning] = ACTIONS(2010),
    [sym__regex_beginning] = ACTIONS(2010),
    [sym__word_list_beginning] = ACTIONS(2010),
    [sym_heredoc_beginning] = ACTIONS(2010),
    [sym__element_reference_left_bracket] = ACTIONS(2010),
    [sym__block_ampersand] = ACTIONS(2010),
    [sym__splat_star] = ACTIONS(2010),
    [sym__argument_list_left_paren] = ACTIONS(2010),
    [sym__scope_double_colon] = ACTIONS(2010),
    [sym__unary_minus] = ACTIONS(2010),
    [sym__binary_minus] = ACTIONS(2010),
    [sym__binary_star] = ACTIONS(2010),
    [anon_sym_LBRACE] = ACTIONS(2010),
    [anon_sym_def] = ACTIONS(2012),
    [anon_sym_LPAREN] = ACTIONS(2010),
    [anon_sym_DOT] = ACTIONS(2012),
    [anon_sym_COLON_COLON] = ACTIONS(2010),
    [anon_sym_end] = ACTIONS(2012),
    [anon_sym_COMMA] = ACTIONS(2010),
    [anon_sym_PIPE] = ACTIONS(2012),
    [anon_sym_STAR] = ACTIONS(2012),
    [anon_sym_STAR_STAR] = ACTIONS(2012),
    [anon_sym_AMP] = ACTIONS(2012),
    [anon_sym_EQ] = ACTIONS(2012),
    [anon_sym_class] = ACTIONS(2012),
    [anon_sym_LT] = ACTIONS(2012),
    [anon_sym_module] = ACTIONS(2012),
    [anon_sym_return] = ACTIONS(2012),
    [anon_sym_yield] = ACTIONS(2012),
    [anon_sym_break] = ACTIONS(2012),
    [anon_sym_next] = ACTIONS(2012),
    [anon_sym_redo] = ACTIONS(2012),
    [anon_sym_retry] = ACTIONS(2012),
    [anon_sym_if] = ACTIONS(2012),
    [anon_sym_unless] = ACTIONS(2012),
    [anon_sym_while] = ACTIONS(2012),
    [anon_sym_until] = ACTIONS(2012),
    [anon_sym_rescue] = ACTIONS(2012),
    [anon_sym_for] = ACTIONS(2012),
    [anon_sym_in] = ACTIONS(2012),
    [anon_sym_do] = ACTIONS(2012),
    [anon_sym_case] = ACTIONS(2012),
    [anon_sym_when] = ACTIONS(2012),
    [anon_sym_elsif] = ACTIONS(2012),
    [anon_sym_else] = ACTIONS(2012),
    [anon_sym_then] = ACTIONS(2012),
    [anon_sym_begin] = ACTIONS(2012),
    [anon_sym_ensure] = ACTIONS(2012),
    [anon_sym_EQ_GT] = ACTIONS(2010),
    [anon_sym_AMP_DOT] = ACTIONS(2010),
    [anon_sym_PLUS_EQ] = ACTIONS(2010),
    [anon_sym_DASH_EQ] = ACTIONS(2010),
    [anon_sym_STAR_EQ] = ACTIONS(2010),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2010),
    [anon_sym_SLASH_EQ] = ACTIONS(2010),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2010),
    [anon_sym_PIPE_EQ] = ACTIONS(2010),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2010),
    [anon_sym_AMP_EQ] = ACTIONS(2010),
    [anon_sym_PERCENT_EQ] = ACTIONS(2010),
    [anon_sym_GT_GT_EQ] = ACTIONS(2010),
    [anon_sym_LT_LT_EQ] = ACTIONS(2010),
    [anon_sym_CARET_EQ] = ACTIONS(2010),
    [anon_sym_QMARK] = ACTIONS(2012),
    [anon_sym_DOT_DOT] = ACTIONS(2012),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2010),
    [anon_sym_and] = ACTIONS(2012),
    [anon_sym_or] = ACTIONS(2012),
    [anon_sym_PIPE_PIPE] = ACTIONS(2012),
    [anon_sym_AMP_AMP] = ACTIONS(2012),
    [anon_sym_LT_LT] = ACTIONS(2012),
    [anon_sym_GT_GT] = ACTIONS(2012),
    [anon_sym_EQ_EQ] = ACTIONS(2012),
    [anon_sym_BANG_EQ] = ACTIONS(2010),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2010),
    [anon_sym_LT_EQ_GT] = ACTIONS(2010),
    [anon_sym_EQ_TILDE] = ACTIONS(2010),
    [anon_sym_BANG_TILDE] = ACTIONS(2010),
    [anon_sym_LT_EQ] = ACTIONS(2012),
    [anon_sym_GT] = ACTIONS(2012),
    [anon_sym_GT_EQ] = ACTIONS(2010),
    [anon_sym_CARET] = ACTIONS(2012),
    [anon_sym_PLUS] = ACTIONS(2012),
    [anon_sym_SLASH] = ACTIONS(2012),
    [anon_sym_PERCENT] = ACTIONS(2012),
    [anon_sym_defined_QMARK] = ACTIONS(2010),
    [anon_sym_not] = ACTIONS(2012),
    [anon_sym_BANG] = ACTIONS(2012),
    [anon_sym_TILDE] = ACTIONS(2010),
    [sym_constant] = ACTIONS(2014),
    [sym_identifier] = ACTIONS(2014),
    [sym_instance_variable] = ACTIONS(2012),
    [sym_class_variable] = ACTIONS(2012),
    [sym_global_variable] = ACTIONS(2012),
    [anon_sym_alias] = ACTIONS(2012),
    [anon_sym_defined] = ACTIONS(2012),
    [anon_sym_false] = ACTIONS(2012),
    [anon_sym_nil] = ACTIONS(2012),
    [anon_sym_self] = ACTIONS(2012),
    [anon_sym_super] = ACTIONS(2012),
    [anon_sym_true] = ACTIONS(2012),
    [anon_sym_undef] = ACTIONS(2012),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(2012),
    [sym_float] = ACTIONS(2014),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(2010),
    [anon_sym_TRUE] = ACTIONS(2012),
    [anon_sym_FALSE] = ACTIONS(2012),
    [anon_sym_NIL] = ACTIONS(2012),
    [sym_keyword__FILE__] = ACTIONS(2012),
    [sym_keyword__LINE__] = ACTIONS(2012),
    [sym_keyword__ENCODING__] = ACTIONS(2012),
    [sym__character_literal] = ACTIONS(2012),
    [anon_sym_LBRACK] = ACTIONS(2010),
    [anon_sym_DASH_GT] = ACTIONS(2010),
  },
  [945] = {
    [sym__simple_string] = ACTIONS(126),
    [sym__simple_heredoc_body] = ACTIONS(126),
    [sym__string_beginning] = ACTIONS(126),
    [sym__heredoc_body_beginning] = ACTIONS(126),
    [sym__element_reference_left_bracket] = ACTIONS(126),
    [sym__scope_double_colon] = ACTIONS(126),
    [sym__binary_minus] = ACTIONS(126),
    [sym__binary_star] = ACTIONS(126),
    [anon_sym_LBRACE] = ACTIONS(126),
    [anon_sym_RBRACE] = ACTIONS(126),
    [anon_sym_RPAREN] = ACTIONS(126),
    [anon_sym_DOT] = ACTIONS(128),
    [anon_sym_COMMA] = ACTIONS(126),
    [anon_sym_PIPE] = ACTIONS(128),
    [anon_sym_SEMI] = ACTIONS(126),
    [anon_sym_STAR_STAR] = ACTIONS(126),
    [anon_sym_AMP] = ACTIONS(128),
    [anon_sym_EQ] = ACTIONS(128),
    [anon_sym_LT] = ACTIONS(128),
    [anon_sym_in] = ACTIONS(126),
    [anon_sym_do] = ACTIONS(126),
    [anon_sym_EQ_GT] = ACTIONS(126),
    [anon_sym_RBRACK] = ACTIONS(126),
    [anon_sym_AMP_DOT] = ACTIONS(126),
    [anon_sym_QMARK] = ACTIONS(128),
    [anon_sym_COLON] = ACTIONS(126),
    [anon_sym_DOT_DOT] = ACTIONS(128),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(126),
    [anon_sym_and] = ACTIONS(126),
    [anon_sym_or] = ACTIONS(126),
    [anon_sym_PIPE_PIPE] = ACTIONS(126),
    [anon_sym_AMP_AMP] = ACTIONS(126),
    [anon_sym_LT_LT] = ACTIONS(126),
    [anon_sym_GT_GT] = ACTIONS(126),
    [anon_sym_EQ_EQ] = ACTIONS(128),
    [anon_sym_BANG_EQ] = ACTIONS(126),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(126),
    [anon_sym_LT_EQ_GT] = ACTIONS(126),
    [anon_sym_EQ_TILDE] = ACTIONS(126),
    [anon_sym_BANG_TILDE] = ACTIONS(126),
    [anon_sym_LT_EQ] = ACTIONS(128),
    [anon_sym_GT] = ACTIONS(128),
    [anon_sym_GT_EQ] = ACTIONS(126),
    [anon_sym_CARET] = ACTIONS(126),
    [anon_sym_PLUS] = ACTIONS(126),
    [anon_sym_SLASH] = ACTIONS(126),
    [anon_sym_PERCENT] = ACTIONS(126),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(128),
  },
  [946] = {
    [sym__statement] = STATE(2899),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(2900),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [947] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(2901),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(977),
    [sym_call] = STATE(977),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(978),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(979),
    [sym__variable] = STATE(977),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(1568),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(1578),
    [anon_sym_yield] = ACTIONS(1580),
    [anon_sym_break] = ACTIONS(1582),
    [anon_sym_next] = ACTIONS(1584),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(1604),
    [anon_sym_defined_QMARK] = ACTIONS(1606),
    [anon_sym_not] = ACTIONS(1608),
    [anon_sym_BANG] = ACTIONS(1610),
    [anon_sym_TILDE] = ACTIONS(1610),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [948] = {
    [sym__method_rest] = STATE(1864),
    [sym__variable] = STATE(1865),
    [sym_operator] = STATE(217),
    [sym__method_name] = STATE(1866),
    [sym_setter] = STATE(217),
    [sym_symbol] = STATE(217),
    [sym_super] = STATE(219),
    [sym_self] = STATE(219),
    [sym__simple_symbol] = ACTIONS(378),
    [sym__symbol_beginning] = ACTIONS(380),
    [anon_sym_LPAREN] = ACTIONS(2922),
    [anon_sym_PIPE] = ACTIONS(384),
    [anon_sym_STAR] = ACTIONS(386),
    [anon_sym_STAR_STAR] = ACTIONS(384),
    [anon_sym_AMP] = ACTIONS(384),
    [anon_sym_LT] = ACTIONS(386),
    [anon_sym_DOT_DOT] = ACTIONS(384),
    [anon_sym_LT_LT] = ACTIONS(384),
    [anon_sym_GT_GT] = ACTIONS(384),
    [anon_sym_EQ_EQ] = ACTIONS(386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(384),
    [anon_sym_LT_EQ_GT] = ACTIONS(384),
    [anon_sym_EQ_TILDE] = ACTIONS(384),
    [anon_sym_BANG_TILDE] = ACTIONS(384),
    [anon_sym_LT_EQ] = ACTIONS(386),
    [anon_sym_GT] = ACTIONS(386),
    [anon_sym_GT_EQ] = ACTIONS(384),
    [anon_sym_CARET] = ACTIONS(384),
    [anon_sym_PLUS] = ACTIONS(386),
    [anon_sym_SLASH] = ACTIONS(384),
    [anon_sym_PERCENT] = ACTIONS(384),
    [anon_sym_BANG] = ACTIONS(386),
    [anon_sym_TILDE] = ACTIONS(384),
    [sym_constant] = ACTIONS(388),
    [sym_identifier] = ACTIONS(390),
    [sym_instance_variable] = ACTIONS(388),
    [sym_class_variable] = ACTIONS(388),
    [sym_global_variable] = ACTIONS(388),
    [anon_sym_self] = ACTIONS(392),
    [anon_sym_super] = ACTIONS(394),
    [anon_sym_DASH] = ACTIONS(386),
    [anon_sym_PLUS_AT] = ACTIONS(384),
    [anon_sym_DASH_AT] = ACTIONS(384),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(386),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(384),
    [anon_sym_BQUOTE] = ACTIONS(384),
    [sym_comment] = ACTIONS(110),
  },
  [949] = {
    [sym_constant] = ACTIONS(4258),
    [sym_identifier] = ACTIONS(4258),
    [sym_comment] = ACTIONS(110),
  },
  [950] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(293),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(1873),
    [sym_call] = STATE(295),
    [sym_method_call] = STATE(286),
    [sym__lhs] = STATE(255),
    [sym__variable] = STATE(295),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [sym__singleton_class_left_angle_left_langle] = ACTIONS(2928),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(458),
    [anon_sym_COLON_COLON] = ACTIONS(524),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(2930),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [951] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(293),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(1875),
    [sym_call] = STATE(295),
    [sym_method_call] = STATE(286),
    [sym__lhs] = STATE(255),
    [sym__variable] = STATE(295),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(458),
    [anon_sym_COLON_COLON] = ACTIONS(524),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(2932),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [952] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(2916),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2917),
    [sym_call] = STATE(2917),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1886),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(2918),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(2919),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2920),
    [sym__variable] = STATE(2917),
    [sym_reserved_identifier] = STATE(2921),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(2922),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(4260),
    [sym__splat_star] = ACTIONS(4262),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(4264),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_RBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(4266),
    [anon_sym_yield] = ACTIONS(4268),
    [anon_sym_break] = ACTIONS(4270),
    [anon_sym_next] = ACTIONS(4272),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(4274),
    [anon_sym_not] = ACTIONS(4276),
    [anon_sym_BANG] = ACTIONS(4278),
    [anon_sym_TILDE] = ACTIONS(4280),
    [sym_constant] = ACTIONS(4282),
    [sym_identifier] = ACTIONS(4282),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [953] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(2916),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2917),
    [sym_call] = STATE(2917),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1892),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(2918),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(2919),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2920),
    [sym__variable] = STATE(2917),
    [sym_reserved_identifier] = STATE(2921),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(2922),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(4260),
    [sym__splat_star] = ACTIONS(4262),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(4264),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_RBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(4266),
    [anon_sym_yield] = ACTIONS(4268),
    [anon_sym_break] = ACTIONS(4270),
    [anon_sym_next] = ACTIONS(4272),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(4274),
    [anon_sym_not] = ACTIONS(4276),
    [anon_sym_BANG] = ACTIONS(4278),
    [anon_sym_TILDE] = ACTIONS(4280),
    [sym_constant] = ACTIONS(4282),
    [sym_identifier] = ACTIONS(4282),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [954] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(2916),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2917),
    [sym_call] = STATE(2917),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1893),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(2918),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(2919),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2920),
    [sym__variable] = STATE(2917),
    [sym_reserved_identifier] = STATE(2921),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(2922),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(4260),
    [sym__splat_star] = ACTIONS(4262),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(4264),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_RBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(4266),
    [anon_sym_yield] = ACTIONS(4268),
    [anon_sym_break] = ACTIONS(4270),
    [anon_sym_next] = ACTIONS(4272),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(4274),
    [anon_sym_not] = ACTIONS(4276),
    [anon_sym_BANG] = ACTIONS(4278),
    [anon_sym_TILDE] = ACTIONS(4280),
    [sym_constant] = ACTIONS(4282),
    [sym_identifier] = ACTIONS(4282),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [955] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(2916),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2917),
    [sym_call] = STATE(2917),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1894),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(2918),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(2919),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2920),
    [sym__variable] = STATE(2917),
    [sym_reserved_identifier] = STATE(2921),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(2922),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(4260),
    [sym__splat_star] = ACTIONS(4262),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(4264),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_RBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(4266),
    [anon_sym_yield] = ACTIONS(4268),
    [anon_sym_break] = ACTIONS(4270),
    [anon_sym_next] = ACTIONS(4272),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(4274),
    [anon_sym_not] = ACTIONS(4276),
    [anon_sym_BANG] = ACTIONS(4278),
    [anon_sym_TILDE] = ACTIONS(4280),
    [sym_constant] = ACTIONS(4282),
    [sym_identifier] = ACTIONS(4282),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [956] = {
    [sym__simple_heredoc_body] = ACTIONS(614),
    [sym__heredoc_body_beginning] = ACTIONS(614),
    [sym__element_reference_left_bracket] = ACTIONS(614),
    [sym__scope_double_colon] = ACTIONS(614),
    [sym__binary_minus] = ACTIONS(614),
    [sym__binary_star] = ACTIONS(614),
    [anon_sym_LBRACE] = ACTIONS(614),
    [anon_sym_RBRACE] = ACTIONS(614),
    [anon_sym_RPAREN] = ACTIONS(614),
    [anon_sym_DOT] = ACTIONS(616),
    [anon_sym_COMMA] = ACTIONS(614),
    [anon_sym_PIPE] = ACTIONS(616),
    [anon_sym_SEMI] = ACTIONS(614),
    [anon_sym_STAR_STAR] = ACTIONS(614),
    [anon_sym_AMP] = ACTIONS(616),
    [anon_sym_EQ] = ACTIONS(616),
    [anon_sym_LT] = ACTIONS(616),
    [anon_sym_in] = ACTIONS(614),
    [anon_sym_do] = ACTIONS(614),
    [anon_sym_EQ_GT] = ACTIONS(614),
    [anon_sym_RBRACK] = ACTIONS(614),
    [anon_sym_AMP_DOT] = ACTIONS(614),
    [anon_sym_QMARK] = ACTIONS(614),
    [anon_sym_COLON] = ACTIONS(614),
    [anon_sym_DOT_DOT] = ACTIONS(616),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(614),
    [anon_sym_and] = ACTIONS(614),
    [anon_sym_or] = ACTIONS(614),
    [anon_sym_PIPE_PIPE] = ACTIONS(614),
    [anon_sym_AMP_AMP] = ACTIONS(614),
    [anon_sym_LT_LT] = ACTIONS(614),
    [anon_sym_GT_GT] = ACTIONS(614),
    [anon_sym_EQ_EQ] = ACTIONS(616),
    [anon_sym_BANG_EQ] = ACTIONS(614),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(614),
    [anon_sym_LT_EQ_GT] = ACTIONS(614),
    [anon_sym_EQ_TILDE] = ACTIONS(614),
    [anon_sym_BANG_TILDE] = ACTIONS(614),
    [anon_sym_LT_EQ] = ACTIONS(616),
    [anon_sym_GT] = ACTIONS(616),
    [anon_sym_GT_EQ] = ACTIONS(614),
    [anon_sym_CARET] = ACTIONS(614),
    [anon_sym_PLUS] = ACTIONS(614),
    [anon_sym_SLASH] = ACTIONS(614),
    [anon_sym_PERCENT] = ACTIONS(614),
    [sym_comment] = ACTIONS(256),
  },
  [957] = {
    [sym__simple_heredoc_body] = ACTIONS(618),
    [sym__heredoc_body_beginning] = ACTIONS(618),
    [sym__element_reference_left_bracket] = ACTIONS(618),
    [sym__scope_double_colon] = ACTIONS(618),
    [sym__binary_minus] = ACTIONS(618),
    [sym__binary_star] = ACTIONS(618),
    [anon_sym_LBRACE] = ACTIONS(618),
    [anon_sym_RBRACE] = ACTIONS(618),
    [anon_sym_RPAREN] = ACTIONS(618),
    [anon_sym_DOT] = ACTIONS(620),
    [anon_sym_COMMA] = ACTIONS(618),
    [anon_sym_PIPE] = ACTIONS(620),
    [anon_sym_SEMI] = ACTIONS(618),
    [anon_sym_STAR_STAR] = ACTIONS(618),
    [anon_sym_AMP] = ACTIONS(620),
    [anon_sym_EQ] = ACTIONS(620),
    [anon_sym_LT] = ACTIONS(620),
    [anon_sym_in] = ACTIONS(618),
    [anon_sym_do] = ACTIONS(618),
    [anon_sym_EQ_GT] = ACTIONS(618),
    [anon_sym_RBRACK] = ACTIONS(618),
    [anon_sym_AMP_DOT] = ACTIONS(618),
    [anon_sym_QMARK] = ACTIONS(618),
    [anon_sym_COLON] = ACTIONS(618),
    [anon_sym_DOT_DOT] = ACTIONS(620),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(618),
    [anon_sym_and] = ACTIONS(618),
    [anon_sym_or] = ACTIONS(618),
    [anon_sym_PIPE_PIPE] = ACTIONS(618),
    [anon_sym_AMP_AMP] = ACTIONS(618),
    [anon_sym_LT_LT] = ACTIONS(618),
    [anon_sym_GT_GT] = ACTIONS(618),
    [anon_sym_EQ_EQ] = ACTIONS(620),
    [anon_sym_BANG_EQ] = ACTIONS(618),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(618),
    [anon_sym_LT_EQ_GT] = ACTIONS(618),
    [anon_sym_EQ_TILDE] = ACTIONS(618),
    [anon_sym_BANG_TILDE] = ACTIONS(618),
    [anon_sym_LT_EQ] = ACTIONS(620),
    [anon_sym_GT] = ACTIONS(620),
    [anon_sym_GT_EQ] = ACTIONS(618),
    [anon_sym_CARET] = ACTIONS(618),
    [anon_sym_PLUS] = ACTIONS(618),
    [anon_sym_SLASH] = ACTIONS(618),
    [anon_sym_PERCENT] = ACTIONS(618),
    [sym_comment] = ACTIONS(256),
  },
  [958] = {
    [sym__statement] = STATE(1895),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(361),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [959] = {
    [sym__statement] = STATE(1896),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(361),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [960] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1897),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [961] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1898),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [962] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(285),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(381),
    [sym_call] = STATE(381),
    [sym_method_call] = STATE(286),
    [sym__mlhs] = STATE(1899),
    [sym__simple_mlhs] = STATE(383),
    [sym_destructured_left_assignment] = STATE(383),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(384),
    [sym__variable] = STATE(381),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(658),
    [anon_sym_COLON_COLON] = ACTIONS(460),
    [anon_sym_STAR] = ACTIONS(660),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(494),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [963] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_when] = STATE(1900),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1901),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(400),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(401),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(387),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__terminator] = STATE(402),
    [aux_sym_case_repeat1] = STATE(1902),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(666),
    [sym__unary_minus] = ACTIONS(668),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_when] = ACTIONS(678),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(680),
    [anon_sym_defined_QMARK] = ACTIONS(682),
    [anon_sym_not] = ACTIONS(684),
    [anon_sym_BANG] = ACTIONS(686),
    [anon_sym_TILDE] = ACTIONS(686),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [964] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(1904),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(1905),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(692),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(2950),
    [anon_sym_SEMI] = ACTIONS(698),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [965] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(2923),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(977),
    [sym_call] = STATE(977),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(978),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(979),
    [sym__variable] = STATE(977),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(1568),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(1578),
    [anon_sym_yield] = ACTIONS(1580),
    [anon_sym_break] = ACTIONS(1582),
    [anon_sym_next] = ACTIONS(1584),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(1604),
    [anon_sym_defined_QMARK] = ACTIONS(1606),
    [anon_sym_not] = ACTIONS(1608),
    [anon_sym_BANG] = ACTIONS(1610),
    [anon_sym_TILDE] = ACTIONS(1610),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [966] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(2924),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(977),
    [sym_call] = STATE(977),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(978),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(979),
    [sym__variable] = STATE(977),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(1568),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(1578),
    [anon_sym_yield] = ACTIONS(1580),
    [anon_sym_break] = ACTIONS(1582),
    [anon_sym_next] = ACTIONS(1584),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(1604),
    [anon_sym_defined_QMARK] = ACTIONS(1606),
    [anon_sym_not] = ACTIONS(1608),
    [anon_sym_BANG] = ACTIONS(1610),
    [anon_sym_TILDE] = ACTIONS(1610),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [967] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1908),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(977),
    [sym_call] = STATE(977),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(978),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(979),
    [sym__variable] = STATE(977),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(1568),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(1578),
    [anon_sym_yield] = ACTIONS(1580),
    [anon_sym_break] = ACTIONS(1582),
    [anon_sym_next] = ACTIONS(1584),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(1604),
    [anon_sym_defined_QMARK] = ACTIONS(1606),
    [anon_sym_not] = ACTIONS(1608),
    [anon_sym_BANG] = ACTIONS(1610),
    [anon_sym_TILDE] = ACTIONS(1610),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [968] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_RBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_RPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_RBRACK] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_COLON] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [969] = {
    [sym__simple_heredoc_body] = ACTIONS(740),
    [sym__heredoc_body_beginning] = ACTIONS(740),
    [sym__element_reference_left_bracket] = ACTIONS(740),
    [sym__scope_double_colon] = ACTIONS(740),
    [sym__binary_minus] = ACTIONS(740),
    [sym__binary_star] = ACTIONS(740),
    [anon_sym_LBRACE] = ACTIONS(740),
    [anon_sym_RBRACE] = ACTIONS(740),
    [anon_sym_RPAREN] = ACTIONS(740),
    [anon_sym_DOT] = ACTIONS(742),
    [anon_sym_COMMA] = ACTIONS(740),
    [anon_sym_PIPE] = ACTIONS(742),
    [anon_sym_SEMI] = ACTIONS(740),
    [anon_sym_STAR_STAR] = ACTIONS(742),
    [anon_sym_AMP] = ACTIONS(742),
    [anon_sym_EQ] = ACTIONS(742),
    [anon_sym_LT] = ACTIONS(742),
    [anon_sym_in] = ACTIONS(740),
    [anon_sym_do] = ACTIONS(740),
    [anon_sym_RBRACK] = ACTIONS(740),
    [anon_sym_AMP_DOT] = ACTIONS(740),
    [anon_sym_PLUS_EQ] = ACTIONS(740),
    [anon_sym_DASH_EQ] = ACTIONS(740),
    [anon_sym_STAR_EQ] = ACTIONS(740),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(740),
    [anon_sym_SLASH_EQ] = ACTIONS(740),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(740),
    [anon_sym_PIPE_EQ] = ACTIONS(740),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(740),
    [anon_sym_AMP_EQ] = ACTIONS(740),
    [anon_sym_PERCENT_EQ] = ACTIONS(740),
    [anon_sym_GT_GT_EQ] = ACTIONS(740),
    [anon_sym_LT_LT_EQ] = ACTIONS(740),
    [anon_sym_CARET_EQ] = ACTIONS(740),
    [anon_sym_QMARK] = ACTIONS(740),
    [anon_sym_COLON] = ACTIONS(740),
    [anon_sym_DOT_DOT] = ACTIONS(742),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(740),
    [anon_sym_and] = ACTIONS(740),
    [anon_sym_or] = ACTIONS(740),
    [anon_sym_PIPE_PIPE] = ACTIONS(742),
    [anon_sym_AMP_AMP] = ACTIONS(742),
    [anon_sym_LT_LT] = ACTIONS(742),
    [anon_sym_GT_GT] = ACTIONS(742),
    [anon_sym_EQ_EQ] = ACTIONS(742),
    [anon_sym_BANG_EQ] = ACTIONS(740),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(740),
    [anon_sym_LT_EQ_GT] = ACTIONS(740),
    [anon_sym_EQ_TILDE] = ACTIONS(740),
    [anon_sym_BANG_TILDE] = ACTIONS(740),
    [anon_sym_LT_EQ] = ACTIONS(742),
    [anon_sym_GT] = ACTIONS(742),
    [anon_sym_GT_EQ] = ACTIONS(740),
    [anon_sym_CARET] = ACTIONS(742),
    [anon_sym_PLUS] = ACTIONS(742),
    [anon_sym_SLASH] = ACTIONS(742),
    [anon_sym_PERCENT] = ACTIONS(742),
    [sym_comment] = ACTIONS(256),
  },
  [970] = {
    [sym__simple_heredoc_body] = ACTIONS(744),
    [sym__heredoc_body_beginning] = ACTIONS(744),
    [sym__element_reference_left_bracket] = ACTIONS(744),
    [sym__scope_double_colon] = ACTIONS(744),
    [sym__binary_minus] = ACTIONS(744),
    [sym__binary_star] = ACTIONS(744),
    [anon_sym_LBRACE] = ACTIONS(744),
    [anon_sym_RBRACE] = ACTIONS(744),
    [anon_sym_RPAREN] = ACTIONS(744),
    [anon_sym_DOT] = ACTIONS(746),
    [anon_sym_COMMA] = ACTIONS(744),
    [anon_sym_PIPE] = ACTIONS(746),
    [anon_sym_SEMI] = ACTIONS(744),
    [anon_sym_STAR_STAR] = ACTIONS(746),
    [anon_sym_AMP] = ACTIONS(746),
    [anon_sym_EQ] = ACTIONS(746),
    [anon_sym_LT] = ACTIONS(746),
    [anon_sym_in] = ACTIONS(744),
    [anon_sym_do] = ACTIONS(744),
    [anon_sym_RBRACK] = ACTIONS(744),
    [anon_sym_AMP_DOT] = ACTIONS(744),
    [anon_sym_PLUS_EQ] = ACTIONS(744),
    [anon_sym_DASH_EQ] = ACTIONS(744),
    [anon_sym_STAR_EQ] = ACTIONS(744),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(744),
    [anon_sym_SLASH_EQ] = ACTIONS(744),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(744),
    [anon_sym_PIPE_EQ] = ACTIONS(744),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(744),
    [anon_sym_AMP_EQ] = ACTIONS(744),
    [anon_sym_PERCENT_EQ] = ACTIONS(744),
    [anon_sym_GT_GT_EQ] = ACTIONS(744),
    [anon_sym_LT_LT_EQ] = ACTIONS(744),
    [anon_sym_CARET_EQ] = ACTIONS(744),
    [anon_sym_QMARK] = ACTIONS(744),
    [anon_sym_COLON] = ACTIONS(744),
    [anon_sym_DOT_DOT] = ACTIONS(746),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(744),
    [anon_sym_and] = ACTIONS(744),
    [anon_sym_or] = ACTIONS(744),
    [anon_sym_PIPE_PIPE] = ACTIONS(746),
    [anon_sym_AMP_AMP] = ACTIONS(746),
    [anon_sym_LT_LT] = ACTIONS(746),
    [anon_sym_GT_GT] = ACTIONS(746),
    [anon_sym_EQ_EQ] = ACTIONS(746),
    [anon_sym_BANG_EQ] = ACTIONS(744),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(744),
    [anon_sym_LT_EQ_GT] = ACTIONS(744),
    [anon_sym_EQ_TILDE] = ACTIONS(744),
    [anon_sym_BANG_TILDE] = ACTIONS(744),
    [anon_sym_LT_EQ] = ACTIONS(746),
    [anon_sym_GT] = ACTIONS(746),
    [anon_sym_GT_EQ] = ACTIONS(744),
    [anon_sym_CARET] = ACTIONS(746),
    [anon_sym_PLUS] = ACTIONS(746),
    [anon_sym_SLASH] = ACTIONS(746),
    [anon_sym_PERCENT] = ACTIONS(746),
    [sym_comment] = ACTIONS(256),
  },
  [971] = {
    [sym__simple_string] = ACTIONS(748),
    [sym__simple_symbol] = ACTIONS(748),
    [sym__simple_subshell] = ACTIONS(748),
    [sym__simple_regex] = ACTIONS(748),
    [sym__simple_word_list] = ACTIONS(748),
    [sym__simple_heredoc_body] = ACTIONS(748),
    [sym__string_beginning] = ACTIONS(748),
    [sym__symbol_beginning] = ACTIONS(748),
    [sym__subshell_beginning] = ACTIONS(748),
    [sym__regex_beginning] = ACTIONS(748),
    [sym__word_list_beginning] = ACTIONS(748),
    [sym__heredoc_body_beginning] = ACTIONS(748),
    [sym_heredoc_beginning] = ACTIONS(748),
    [sym__element_reference_left_bracket] = ACTIONS(748),
    [sym__block_ampersand] = ACTIONS(748),
    [sym__splat_star] = ACTIONS(748),
    [sym__argument_list_left_paren] = ACTIONS(748),
    [sym__scope_double_colon] = ACTIONS(748),
    [sym__unary_minus] = ACTIONS(748),
    [sym__binary_minus] = ACTIONS(748),
    [sym__binary_star] = ACTIONS(748),
    [anon_sym_LBRACE] = ACTIONS(748),
    [anon_sym_RBRACE] = ACTIONS(748),
    [anon_sym_def] = ACTIONS(750),
    [anon_sym_LPAREN] = ACTIONS(748),
    [anon_sym_RPAREN] = ACTIONS(748),
    [anon_sym_DOT] = ACTIONS(750),
    [anon_sym_COLON_COLON] = ACTIONS(748),
    [anon_sym_end] = ACTIONS(750),
    [anon_sym_COMMA] = ACTIONS(748),
    [anon_sym_PIPE] = ACTIONS(750),
    [anon_sym_SEMI] = ACTIONS(748),
    [anon_sym_STAR] = ACTIONS(750),
    [anon_sym_STAR_STAR] = ACTIONS(750),
    [anon_sym_AMP] = ACTIONS(750),
    [anon_sym_EQ] = ACTIONS(750),
    [anon_sym_class] = ACTIONS(750),
    [anon_sym_LT] = ACTIONS(750),
    [anon_sym_module] = ACTIONS(750),
    [anon_sym_return] = ACTIONS(750),
    [anon_sym_yield] = ACTIONS(750),
    [anon_sym_break] = ACTIONS(750),
    [anon_sym_next] = ACTIONS(750),
    [anon_sym_redo] = ACTIONS(750),
    [anon_sym_retry] = ACTIONS(750),
    [anon_sym_if] = ACTIONS(750),
    [anon_sym_unless] = ACTIONS(750),
    [anon_sym_while] = ACTIONS(750),
    [anon_sym_until] = ACTIONS(750),
    [anon_sym_rescue] = ACTIONS(750),
    [anon_sym_for] = ACTIONS(750),
    [anon_sym_in] = ACTIONS(750),
    [anon_sym_do] = ACTIONS(750),
    [anon_sym_case] = ACTIONS(750),
    [anon_sym_when] = ACTIONS(750),
    [anon_sym_elsif] = ACTIONS(750),
    [anon_sym_else] = ACTIONS(750),
    [anon_sym_then] = ACTIONS(750),
    [anon_sym_begin] = ACTIONS(750),
    [anon_sym_ensure] = ACTIONS(750),
    [anon_sym_RBRACK] = ACTIONS(748),
    [anon_sym_AMP_DOT] = ACTIONS(748),
    [anon_sym_PLUS_EQ] = ACTIONS(748),
    [anon_sym_DASH_EQ] = ACTIONS(748),
    [anon_sym_STAR_EQ] = ACTIONS(748),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(748),
    [anon_sym_SLASH_EQ] = ACTIONS(748),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(748),
    [anon_sym_PIPE_EQ] = ACTIONS(748),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(748),
    [anon_sym_AMP_EQ] = ACTIONS(748),
    [anon_sym_PERCENT_EQ] = ACTIONS(748),
    [anon_sym_GT_GT_EQ] = ACTIONS(748),
    [anon_sym_LT_LT_EQ] = ACTIONS(748),
    [anon_sym_CARET_EQ] = ACTIONS(748),
    [anon_sym_QMARK] = ACTIONS(750),
    [anon_sym_COLON] = ACTIONS(750),
    [anon_sym_DOT_DOT] = ACTIONS(750),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(748),
    [anon_sym_and] = ACTIONS(750),
    [anon_sym_or] = ACTIONS(750),
    [anon_sym_PIPE_PIPE] = ACTIONS(750),
    [anon_sym_AMP_AMP] = ACTIONS(750),
    [anon_sym_LT_LT] = ACTIONS(750),
    [anon_sym_GT_GT] = ACTIONS(750),
    [anon_sym_EQ_EQ] = ACTIONS(750),
    [anon_sym_BANG_EQ] = ACTIONS(748),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(748),
    [anon_sym_LT_EQ_GT] = ACTIONS(748),
    [anon_sym_EQ_TILDE] = ACTIONS(748),
    [anon_sym_BANG_TILDE] = ACTIONS(748),
    [anon_sym_LT_EQ] = ACTIONS(750),
    [anon_sym_GT] = ACTIONS(750),
    [anon_sym_GT_EQ] = ACTIONS(748),
    [anon_sym_CARET] = ACTIONS(750),
    [anon_sym_PLUS] = ACTIONS(750),
    [anon_sym_SLASH] = ACTIONS(750),
    [anon_sym_PERCENT] = ACTIONS(750),
    [anon_sym_defined_QMARK] = ACTIONS(748),
    [anon_sym_not] = ACTIONS(750),
    [anon_sym_BANG] = ACTIONS(750),
    [anon_sym_TILDE] = ACTIONS(748),
    [sym_constant] = ACTIONS(752),
    [sym_identifier] = ACTIONS(752),
    [sym_instance_variable] = ACTIONS(750),
    [sym_class_variable] = ACTIONS(750),
    [sym_global_variable] = ACTIONS(750),
    [anon_sym_alias] = ACTIONS(750),
    [anon_sym_defined] = ACTIONS(750),
    [anon_sym_false] = ACTIONS(750),
    [anon_sym_nil] = ACTIONS(750),
    [anon_sym_self] = ACTIONS(750),
    [anon_sym_super] = ACTIONS(750),
    [anon_sym_true] = ACTIONS(750),
    [anon_sym_undef] = ACTIONS(750),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(750),
    [sym_float] = ACTIONS(752),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(748),
    [anon_sym_TRUE] = ACTIONS(750),
    [anon_sym_FALSE] = ACTIONS(750),
    [anon_sym_NIL] = ACTIONS(750),
    [sym_keyword__FILE__] = ACTIONS(750),
    [sym_keyword__LINE__] = ACTIONS(750),
    [sym_keyword__ENCODING__] = ACTIONS(750),
    [sym__character_literal] = ACTIONS(750),
    [anon_sym_LBRACK] = ACTIONS(748),
    [anon_sym_DASH_GT] = ACTIONS(748),
  },
  [972] = {
    [sym__simple_string] = ACTIONS(754),
    [sym__simple_symbol] = ACTIONS(754),
    [sym__simple_subshell] = ACTIONS(754),
    [sym__simple_regex] = ACTIONS(754),
    [sym__simple_word_list] = ACTIONS(754),
    [sym__simple_heredoc_body] = ACTIONS(754),
    [sym__string_beginning] = ACTIONS(754),
    [sym__symbol_beginning] = ACTIONS(754),
    [sym__subshell_beginning] = ACTIONS(754),
    [sym__regex_beginning] = ACTIONS(754),
    [sym__word_list_beginning] = ACTIONS(754),
    [sym__heredoc_body_beginning] = ACTIONS(754),
    [sym_heredoc_beginning] = ACTIONS(754),
    [sym__element_reference_left_bracket] = ACTIONS(754),
    [sym__block_ampersand] = ACTIONS(754),
    [sym__splat_star] = ACTIONS(754),
    [sym__argument_list_left_paren] = ACTIONS(754),
    [sym__scope_double_colon] = ACTIONS(754),
    [sym__unary_minus] = ACTIONS(754),
    [sym__binary_minus] = ACTIONS(754),
    [sym__binary_star] = ACTIONS(754),
    [anon_sym_LBRACE] = ACTIONS(754),
    [anon_sym_RBRACE] = ACTIONS(754),
    [anon_sym_def] = ACTIONS(756),
    [anon_sym_LPAREN] = ACTIONS(754),
    [anon_sym_RPAREN] = ACTIONS(754),
    [anon_sym_DOT] = ACTIONS(756),
    [anon_sym_COLON_COLON] = ACTIONS(754),
    [anon_sym_end] = ACTIONS(756),
    [anon_sym_COMMA] = ACTIONS(754),
    [anon_sym_PIPE] = ACTIONS(756),
    [anon_sym_SEMI] = ACTIONS(754),
    [anon_sym_STAR] = ACTIONS(756),
    [anon_sym_STAR_STAR] = ACTIONS(756),
    [anon_sym_AMP] = ACTIONS(756),
    [anon_sym_EQ] = ACTIONS(756),
    [anon_sym_class] = ACTIONS(756),
    [anon_sym_LT] = ACTIONS(756),
    [anon_sym_module] = ACTIONS(756),
    [anon_sym_return] = ACTIONS(756),
    [anon_sym_yield] = ACTIONS(756),
    [anon_sym_break] = ACTIONS(756),
    [anon_sym_next] = ACTIONS(756),
    [anon_sym_redo] = ACTIONS(756),
    [anon_sym_retry] = ACTIONS(756),
    [anon_sym_if] = ACTIONS(756),
    [anon_sym_unless] = ACTIONS(756),
    [anon_sym_while] = ACTIONS(756),
    [anon_sym_until] = ACTIONS(756),
    [anon_sym_rescue] = ACTIONS(756),
    [anon_sym_for] = ACTIONS(756),
    [anon_sym_in] = ACTIONS(756),
    [anon_sym_do] = ACTIONS(756),
    [anon_sym_case] = ACTIONS(756),
    [anon_sym_when] = ACTIONS(756),
    [anon_sym_elsif] = ACTIONS(756),
    [anon_sym_else] = ACTIONS(756),
    [anon_sym_then] = ACTIONS(756),
    [anon_sym_begin] = ACTIONS(756),
    [anon_sym_ensure] = ACTIONS(756),
    [anon_sym_RBRACK] = ACTIONS(754),
    [anon_sym_AMP_DOT] = ACTIONS(754),
    [anon_sym_PLUS_EQ] = ACTIONS(754),
    [anon_sym_DASH_EQ] = ACTIONS(754),
    [anon_sym_STAR_EQ] = ACTIONS(754),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(754),
    [anon_sym_SLASH_EQ] = ACTIONS(754),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(754),
    [anon_sym_PIPE_EQ] = ACTIONS(754),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(754),
    [anon_sym_AMP_EQ] = ACTIONS(754),
    [anon_sym_PERCENT_EQ] = ACTIONS(754),
    [anon_sym_GT_GT_EQ] = ACTIONS(754),
    [anon_sym_LT_LT_EQ] = ACTIONS(754),
    [anon_sym_CARET_EQ] = ACTIONS(754),
    [anon_sym_QMARK] = ACTIONS(756),
    [anon_sym_COLON] = ACTIONS(756),
    [anon_sym_DOT_DOT] = ACTIONS(756),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(754),
    [anon_sym_and] = ACTIONS(756),
    [anon_sym_or] = ACTIONS(756),
    [anon_sym_PIPE_PIPE] = ACTIONS(756),
    [anon_sym_AMP_AMP] = ACTIONS(756),
    [anon_sym_LT_LT] = ACTIONS(756),
    [anon_sym_GT_GT] = ACTIONS(756),
    [anon_sym_EQ_EQ] = ACTIONS(756),
    [anon_sym_BANG_EQ] = ACTIONS(754),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(754),
    [anon_sym_LT_EQ_GT] = ACTIONS(754),
    [anon_sym_EQ_TILDE] = ACTIONS(754),
    [anon_sym_BANG_TILDE] = ACTIONS(754),
    [anon_sym_LT_EQ] = ACTIONS(756),
    [anon_sym_GT] = ACTIONS(756),
    [anon_sym_GT_EQ] = ACTIONS(754),
    [anon_sym_CARET] = ACTIONS(756),
    [anon_sym_PLUS] = ACTIONS(756),
    [anon_sym_SLASH] = ACTIONS(756),
    [anon_sym_PERCENT] = ACTIONS(756),
    [anon_sym_defined_QMARK] = ACTIONS(754),
    [anon_sym_not] = ACTIONS(756),
    [anon_sym_BANG] = ACTIONS(756),
    [anon_sym_TILDE] = ACTIONS(754),
    [sym_constant] = ACTIONS(758),
    [sym_identifier] = ACTIONS(758),
    [sym_instance_variable] = ACTIONS(756),
    [sym_class_variable] = ACTIONS(756),
    [sym_global_variable] = ACTIONS(756),
    [anon_sym_alias] = ACTIONS(756),
    [anon_sym_defined] = ACTIONS(756),
    [anon_sym_false] = ACTIONS(756),
    [anon_sym_nil] = ACTIONS(756),
    [anon_sym_self] = ACTIONS(756),
    [anon_sym_super] = ACTIONS(756),
    [anon_sym_true] = ACTIONS(756),
    [anon_sym_undef] = ACTIONS(756),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(756),
    [sym_float] = ACTIONS(758),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(754),
    [anon_sym_TRUE] = ACTIONS(756),
    [anon_sym_FALSE] = ACTIONS(756),
    [anon_sym_NIL] = ACTIONS(756),
    [sym_keyword__FILE__] = ACTIONS(756),
    [sym_keyword__LINE__] = ACTIONS(756),
    [sym_keyword__ENCODING__] = ACTIONS(756),
    [sym__character_literal] = ACTIONS(756),
    [anon_sym_LBRACK] = ACTIONS(754),
    [anon_sym_DASH_GT] = ACTIONS(754),
  },
  [973] = {
    [sym__simple_heredoc_body] = ACTIONS(760),
    [sym__heredoc_body_beginning] = ACTIONS(760),
    [sym__element_reference_left_bracket] = ACTIONS(760),
    [sym__scope_double_colon] = ACTIONS(760),
    [sym__binary_minus] = ACTIONS(760),
    [sym__binary_star] = ACTIONS(760),
    [anon_sym_LBRACE] = ACTIONS(760),
    [anon_sym_RBRACE] = ACTIONS(760),
    [anon_sym_RPAREN] = ACTIONS(760),
    [anon_sym_DOT] = ACTIONS(762),
    [anon_sym_COMMA] = ACTIONS(760),
    [anon_sym_PIPE] = ACTIONS(762),
    [anon_sym_SEMI] = ACTIONS(760),
    [anon_sym_STAR_STAR] = ACTIONS(762),
    [anon_sym_AMP] = ACTIONS(762),
    [anon_sym_EQ] = ACTIONS(762),
    [anon_sym_LT] = ACTIONS(762),
    [anon_sym_in] = ACTIONS(760),
    [anon_sym_do] = ACTIONS(760),
    [anon_sym_RBRACK] = ACTIONS(760),
    [anon_sym_AMP_DOT] = ACTIONS(760),
    [anon_sym_PLUS_EQ] = ACTIONS(760),
    [anon_sym_DASH_EQ] = ACTIONS(760),
    [anon_sym_STAR_EQ] = ACTIONS(760),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(760),
    [anon_sym_SLASH_EQ] = ACTIONS(760),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(760),
    [anon_sym_PIPE_EQ] = ACTIONS(760),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(760),
    [anon_sym_AMP_EQ] = ACTIONS(760),
    [anon_sym_PERCENT_EQ] = ACTIONS(760),
    [anon_sym_GT_GT_EQ] = ACTIONS(760),
    [anon_sym_LT_LT_EQ] = ACTIONS(760),
    [anon_sym_CARET_EQ] = ACTIONS(760),
    [anon_sym_QMARK] = ACTIONS(760),
    [anon_sym_COLON] = ACTIONS(760),
    [anon_sym_DOT_DOT] = ACTIONS(762),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(760),
    [anon_sym_and] = ACTIONS(760),
    [anon_sym_or] = ACTIONS(760),
    [anon_sym_PIPE_PIPE] = ACTIONS(762),
    [anon_sym_AMP_AMP] = ACTIONS(762),
    [anon_sym_LT_LT] = ACTIONS(762),
    [anon_sym_GT_GT] = ACTIONS(762),
    [anon_sym_EQ_EQ] = ACTIONS(762),
    [anon_sym_BANG_EQ] = ACTIONS(760),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(760),
    [anon_sym_LT_EQ_GT] = ACTIONS(760),
    [anon_sym_EQ_TILDE] = ACTIONS(760),
    [anon_sym_BANG_TILDE] = ACTIONS(760),
    [anon_sym_LT_EQ] = ACTIONS(762),
    [anon_sym_GT] = ACTIONS(762),
    [anon_sym_GT_EQ] = ACTIONS(760),
    [anon_sym_CARET] = ACTIONS(762),
    [anon_sym_PLUS] = ACTIONS(762),
    [anon_sym_SLASH] = ACTIONS(762),
    [anon_sym_PERCENT] = ACTIONS(762),
    [sym_comment] = ACTIONS(256),
  },
  [974] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(4286),
    [sym__binary_star] = ACTIONS(4288),
    [anon_sym_RBRACE] = ACTIONS(4284),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(4290),
    [anon_sym_STAR_STAR] = ACTIONS(4292),
    [anon_sym_AMP] = ACTIONS(4294),
    [anon_sym_LT] = ACTIONS(4296),
    [anon_sym_QMARK] = ACTIONS(4298),
    [anon_sym_DOT_DOT] = ACTIONS(4300),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4302),
    [anon_sym_and] = ACTIONS(4304),
    [anon_sym_or] = ACTIONS(4304),
    [anon_sym_PIPE_PIPE] = ACTIONS(4306),
    [anon_sym_AMP_AMP] = ACTIONS(4306),
    [anon_sym_LT_LT] = ACTIONS(4308),
    [anon_sym_GT_GT] = ACTIONS(4308),
    [anon_sym_EQ_EQ] = ACTIONS(4310),
    [anon_sym_BANG_EQ] = ACTIONS(4306),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4306),
    [anon_sym_LT_EQ_GT] = ACTIONS(4306),
    [anon_sym_EQ_TILDE] = ACTIONS(4306),
    [anon_sym_BANG_TILDE] = ACTIONS(4306),
    [anon_sym_LT_EQ] = ACTIONS(4296),
    [anon_sym_GT] = ACTIONS(4296),
    [anon_sym_GT_EQ] = ACTIONS(4312),
    [anon_sym_CARET] = ACTIONS(4314),
    [anon_sym_PLUS] = ACTIONS(4316),
    [anon_sym_SLASH] = ACTIONS(4292),
    [anon_sym_PERCENT] = ACTIONS(4292),
    [sym_comment] = ACTIONS(110),
  },
  [975] = {
    [sym__simple_heredoc_body] = ACTIONS(968),
    [sym__heredoc_body_beginning] = ACTIONS(968),
    [sym__element_reference_left_bracket] = ACTIONS(4318),
    [sym__scope_double_colon] = ACTIONS(4320),
    [sym__binary_minus] = ACTIONS(968),
    [sym__binary_star] = ACTIONS(968),
    [anon_sym_LBRACE] = ACTIONS(968),
    [anon_sym_RBRACE] = ACTIONS(968),
    [anon_sym_RPAREN] = ACTIONS(968),
    [anon_sym_DOT] = ACTIONS(4322),
    [anon_sym_COMMA] = ACTIONS(968),
    [anon_sym_PIPE] = ACTIONS(976),
    [anon_sym_SEMI] = ACTIONS(968),
    [anon_sym_STAR_STAR] = ACTIONS(968),
    [anon_sym_AMP] = ACTIONS(976),
    [anon_sym_EQ] = ACTIONS(976),
    [anon_sym_LT] = ACTIONS(976),
    [anon_sym_in] = ACTIONS(968),
    [anon_sym_do] = ACTIONS(968),
    [anon_sym_RBRACK] = ACTIONS(968),
    [anon_sym_AMP_DOT] = ACTIONS(4324),
    [anon_sym_QMARK] = ACTIONS(968),
    [anon_sym_COLON] = ACTIONS(968),
    [anon_sym_DOT_DOT] = ACTIONS(976),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(968),
    [anon_sym_and] = ACTIONS(968),
    [anon_sym_or] = ACTIONS(968),
    [anon_sym_PIPE_PIPE] = ACTIONS(968),
    [anon_sym_AMP_AMP] = ACTIONS(968),
    [anon_sym_LT_LT] = ACTIONS(968),
    [anon_sym_GT_GT] = ACTIONS(968),
    [anon_sym_EQ_EQ] = ACTIONS(976),
    [anon_sym_BANG_EQ] = ACTIONS(968),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(968),
    [anon_sym_LT_EQ_GT] = ACTIONS(968),
    [anon_sym_EQ_TILDE] = ACTIONS(968),
    [anon_sym_BANG_TILDE] = ACTIONS(968),
    [anon_sym_LT_EQ] = ACTIONS(976),
    [anon_sym_GT] = ACTIONS(976),
    [anon_sym_GT_EQ] = ACTIONS(968),
    [anon_sym_CARET] = ACTIONS(968),
    [anon_sym_PLUS] = ACTIONS(968),
    [anon_sym_SLASH] = ACTIONS(968),
    [anon_sym_PERCENT] = ACTIONS(968),
    [sym_comment] = ACTIONS(256),
  },
  [976] = {
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(980),
    [anon_sym_RBRACE] = ACTIONS(980),
    [anon_sym_RPAREN] = ACTIONS(980),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_in] = ACTIONS(980),
    [anon_sym_do] = ACTIONS(980),
    [anon_sym_RBRACK] = ACTIONS(980),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(980),
    [anon_sym_COLON] = ACTIONS(980),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(980),
    [anon_sym_or] = ACTIONS(980),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [sym_comment] = ACTIONS(256),
  },
  [977] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(2956),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2957),
    [sym_call] = STATE(2957),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(2958),
    [sym__argument_list_with_parens] = STATE(2959),
    [sym__argument] = STATE(2960),
    [sym_splat_argument] = STATE(2961),
    [sym_hash_splat_argument] = STATE(2961),
    [sym_block_argument] = STATE(2961),
    [sym_do_block] = STATE(2962),
    [sym_block] = STATE(2962),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(2963),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2964),
    [sym__variable] = STATE(2957),
    [sym_reserved_identifier] = STATE(2965),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(2966),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(2961),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(4326),
    [sym__splat_star] = ACTIONS(4328),
    [sym__argument_list_left_paren] = ACTIONS(4330),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(4332),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(4334),
    [anon_sym_RBRACE] = ACTIONS(980),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(4336),
    [anon_sym_yield] = ACTIONS(4338),
    [anon_sym_break] = ACTIONS(4340),
    [anon_sym_next] = ACTIONS(4342),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(4344),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(4346),
    [anon_sym_not] = ACTIONS(4348),
    [anon_sym_BANG] = ACTIONS(4350),
    [anon_sym_TILDE] = ACTIONS(4352),
    [sym_constant] = ACTIONS(4354),
    [sym_identifier] = ACTIONS(4354),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [978] = {
    [anon_sym_EQ] = ACTIONS(4356),
    [sym_comment] = ACTIONS(256),
  },
  [979] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_RBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(4358),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(4360),
    [anon_sym_DASH_EQ] = ACTIONS(4360),
    [anon_sym_STAR_EQ] = ACTIONS(4360),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(4360),
    [anon_sym_SLASH_EQ] = ACTIONS(4360),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(4360),
    [anon_sym_PIPE_EQ] = ACTIONS(4360),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(4360),
    [anon_sym_AMP_EQ] = ACTIONS(4360),
    [anon_sym_PERCENT_EQ] = ACTIONS(4360),
    [anon_sym_GT_GT_EQ] = ACTIONS(4360),
    [anon_sym_LT_LT_EQ] = ACTIONS(4360),
    [anon_sym_CARET_EQ] = ACTIONS(4360),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [980] = {
    [sym_string] = STATE(1962),
    [aux_sym_chained_string_repeat1] = STATE(1963),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_RBRACE] = ACTIONS(250),
    [anon_sym_RPAREN] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_in] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_RBRACK] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_COLON] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(1626),
  },
  [981] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2969),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1329),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1330),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2090),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2100),
    [anon_sym_defined_QMARK] = ACTIONS(2102),
    [anon_sym_not] = ACTIONS(2104),
    [anon_sym_BANG] = ACTIONS(2106),
    [anon_sym_TILDE] = ACTIONS(2106),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [982] = {
    [sym_superclass] = STATE(2970),
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(2971),
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__unary_minus] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(722),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(722),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(2110),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(722),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [983] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_superclass] = STATE(2970),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1349),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1310),
    [sym__argument_list_with_parens] = STATE(1264),
    [sym__argument] = STATE(1350),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_do_block] = STATE(1312),
    [sym_block] = STATE(1312),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1353),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1354),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__terminator] = STATE(2971),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(2114),
    [sym__splat_star] = ACTIONS(2116),
    [sym__argument_list_left_paren] = ACTIONS(2034),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(2064),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(980),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2120),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(2110),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(2076),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2138),
    [sym_identifier] = ACTIONS(2138),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [984] = {
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(2973),
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__unary_minus] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(722),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(4362),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(722),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(722),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [985] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1349),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1310),
    [sym__argument_list_with_parens] = STATE(1264),
    [sym__argument] = STATE(1350),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_do_block] = STATE(1312),
    [sym_block] = STATE(1312),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1353),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1354),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__terminator] = STATE(2973),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(2114),
    [sym__splat_star] = ACTIONS(2116),
    [sym__argument_list_left_paren] = ACTIONS(2034),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(2064),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(980),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(4364),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2120),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(2076),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2138),
    [sym_identifier] = ACTIONS(2138),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [986] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(2979),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(1640),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(4366),
    [anon_sym_yield] = ACTIONS(4368),
    [anon_sym_break] = ACTIONS(4370),
    [anon_sym_next] = ACTIONS(4372),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2038),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(4374),
    [anon_sym_BANG] = ACTIONS(1656),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [987] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(2980),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(1640),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(4366),
    [anon_sym_yield] = ACTIONS(4368),
    [anon_sym_break] = ACTIONS(4370),
    [anon_sym_next] = ACTIONS(4372),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2038),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(4374),
    [anon_sym_BANG] = ACTIONS(1656),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [988] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1382),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(2982),
    [sym__argument] = STATE(1385),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1386),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1387),
    [sym__variable] = STATE(1383),
    [sym_reserved_identifier] = STATE(1388),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1389),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(2983),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(2154),
    [sym__splat_star] = ACTIONS(2156),
    [sym__unary_minus] = ACTIONS(2158),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(4376),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2162),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2164),
    [anon_sym_yield] = ACTIONS(2166),
    [anon_sym_break] = ACTIONS(2168),
    [anon_sym_next] = ACTIONS(2170),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2172),
    [anon_sym_defined_QMARK] = ACTIONS(2174),
    [anon_sym_not] = ACTIONS(2176),
    [anon_sym_BANG] = ACTIONS(2178),
    [anon_sym_TILDE] = ACTIONS(2178),
    [sym_constant] = ACTIONS(2180),
    [sym_identifier] = ACTIONS(2180),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [989] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(2984),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(1640),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(4366),
    [anon_sym_yield] = ACTIONS(4368),
    [anon_sym_break] = ACTIONS(4370),
    [anon_sym_next] = ACTIONS(4372),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2038),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(4374),
    [anon_sym_BANG] = ACTIONS(1656),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [990] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(2985),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(1640),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(4366),
    [anon_sym_yield] = ACTIONS(4368),
    [anon_sym_break] = ACTIONS(4370),
    [anon_sym_next] = ACTIONS(4372),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2038),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(4374),
    [anon_sym_BANG] = ACTIONS(1656),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [991] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1000),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1886),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(1004),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_reserved_identifier] = STATE(1009),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1010),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(1634),
    [sym__splat_star] = ACTIONS(1636),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(1640),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(1642),
    [anon_sym_yield] = ACTIONS(1644),
    [anon_sym_break] = ACTIONS(1646),
    [anon_sym_next] = ACTIONS(1648),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(1652),
    [anon_sym_BANG] = ACTIONS(1654),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(1658),
    [sym_identifier] = ACTIONS(1658),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [992] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1000),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1892),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(1004),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_reserved_identifier] = STATE(1009),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1010),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(1634),
    [sym__splat_star] = ACTIONS(1636),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(1640),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(1642),
    [anon_sym_yield] = ACTIONS(1644),
    [anon_sym_break] = ACTIONS(1646),
    [anon_sym_next] = ACTIONS(1648),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(1652),
    [anon_sym_BANG] = ACTIONS(1654),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(1658),
    [sym_identifier] = ACTIONS(1658),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [993] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1000),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1893),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(1004),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_reserved_identifier] = STATE(1009),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1010),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(1634),
    [sym__splat_star] = ACTIONS(1636),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(1640),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(1642),
    [anon_sym_yield] = ACTIONS(1644),
    [anon_sym_break] = ACTIONS(1646),
    [anon_sym_next] = ACTIONS(1648),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(1652),
    [anon_sym_BANG] = ACTIONS(1654),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(1658),
    [sym_identifier] = ACTIONS(1658),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [994] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1000),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1894),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(1004),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_reserved_identifier] = STATE(1009),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1010),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(1634),
    [sym__splat_star] = ACTIONS(1636),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(1640),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(1642),
    [anon_sym_yield] = ACTIONS(1644),
    [anon_sym_break] = ACTIONS(1646),
    [anon_sym_next] = ACTIONS(1648),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(1652),
    [anon_sym_BANG] = ACTIONS(1654),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(1658),
    [sym_identifier] = ACTIONS(1658),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [995] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(2986),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(1640),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(4366),
    [anon_sym_yield] = ACTIONS(4368),
    [anon_sym_break] = ACTIONS(4370),
    [anon_sym_next] = ACTIONS(4372),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2038),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(4374),
    [anon_sym_BANG] = ACTIONS(1656),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [996] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(2987),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(1640),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(4366),
    [anon_sym_yield] = ACTIONS(4368),
    [anon_sym_break] = ACTIONS(4370),
    [anon_sym_next] = ACTIONS(4372),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2038),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(4374),
    [anon_sym_BANG] = ACTIONS(1656),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [997] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(2987),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(1640),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(4366),
    [anon_sym_yield] = ACTIONS(4368),
    [anon_sym_break] = ACTIONS(4370),
    [anon_sym_next] = ACTIONS(4372),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2038),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(4374),
    [anon_sym_BANG] = ACTIONS(1656),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [998] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(2988),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(1640),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(4366),
    [anon_sym_yield] = ACTIONS(4368),
    [anon_sym_break] = ACTIONS(4370),
    [anon_sym_next] = ACTIONS(4372),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2038),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(4374),
    [anon_sym_BANG] = ACTIONS(1656),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [999] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(4378),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [1000] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(4380),
    [sym__binary_star] = ACTIONS(4382),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(4384),
    [anon_sym_STAR_STAR] = ACTIONS(4386),
    [anon_sym_AMP] = ACTIONS(4388),
    [anon_sym_LT] = ACTIONS(4390),
    [anon_sym_EQ_GT] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(4392),
    [anon_sym_DOT_DOT] = ACTIONS(4394),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4396),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(4398),
    [anon_sym_AMP_AMP] = ACTIONS(4398),
    [anon_sym_LT_LT] = ACTIONS(4400),
    [anon_sym_GT_GT] = ACTIONS(4400),
    [anon_sym_EQ_EQ] = ACTIONS(4402),
    [anon_sym_BANG_EQ] = ACTIONS(4398),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4398),
    [anon_sym_LT_EQ_GT] = ACTIONS(4398),
    [anon_sym_EQ_TILDE] = ACTIONS(4398),
    [anon_sym_BANG_TILDE] = ACTIONS(4398),
    [anon_sym_LT_EQ] = ACTIONS(4390),
    [anon_sym_GT] = ACTIONS(4390),
    [anon_sym_GT_EQ] = ACTIONS(4404),
    [anon_sym_CARET] = ACTIONS(4406),
    [anon_sym_PLUS] = ACTIONS(4408),
    [anon_sym_SLASH] = ACTIONS(4386),
    [anon_sym_PERCENT] = ACTIONS(4386),
    [sym_comment] = ACTIONS(110),
  },
  [1001] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(1096),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1950),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(1101),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_do_block] = STATE(1952),
    [sym_block] = STATE(1952),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1105),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1106),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1107),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(1108),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(1734),
    [sym__splat_star] = ACTIONS(1736),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(1740),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(3012),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(1752),
    [anon_sym_yield] = ACTIONS(1754),
    [anon_sym_break] = ACTIONS(1756),
    [anon_sym_next] = ACTIONS(1758),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(3022),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(980),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(1780),
    [anon_sym_not] = ACTIONS(1782),
    [anon_sym_BANG] = ACTIONS(1784),
    [anon_sym_TILDE] = ACTIONS(1786),
    [sym_constant] = ACTIONS(1788),
    [sym_identifier] = ACTIONS(1788),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [1002] = {
    [sym__element_reference_left_bracket] = ACTIONS(2264),
    [sym__scope_double_colon] = ACTIONS(2264),
    [sym__binary_minus] = ACTIONS(2264),
    [sym__binary_star] = ACTIONS(2264),
    [anon_sym_LBRACE] = ACTIONS(2264),
    [anon_sym_RPAREN] = ACTIONS(2264),
    [anon_sym_DOT] = ACTIONS(2266),
    [anon_sym_COMMA] = ACTIONS(2264),
    [anon_sym_PIPE] = ACTIONS(2266),
    [anon_sym_SEMI] = ACTIONS(2264),
    [anon_sym_STAR_STAR] = ACTIONS(2264),
    [anon_sym_AMP] = ACTIONS(2266),
    [anon_sym_LT] = ACTIONS(2266),
    [anon_sym_do] = ACTIONS(2264),
    [anon_sym_EQ_GT] = ACTIONS(2264),
    [anon_sym_AMP_DOT] = ACTIONS(2264),
    [anon_sym_QMARK] = ACTIONS(2264),
    [anon_sym_COLON] = ACTIONS(2264),
    [anon_sym_DOT_DOT] = ACTIONS(2266),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2264),
    [anon_sym_and] = ACTIONS(2264),
    [anon_sym_or] = ACTIONS(2264),
    [anon_sym_PIPE_PIPE] = ACTIONS(2264),
    [anon_sym_AMP_AMP] = ACTIONS(2264),
    [anon_sym_LT_LT] = ACTIONS(2264),
    [anon_sym_GT_GT] = ACTIONS(2264),
    [anon_sym_EQ_EQ] = ACTIONS(2266),
    [anon_sym_BANG_EQ] = ACTIONS(2264),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2264),
    [anon_sym_LT_EQ_GT] = ACTIONS(2264),
    [anon_sym_EQ_TILDE] = ACTIONS(2264),
    [anon_sym_BANG_TILDE] = ACTIONS(2264),
    [anon_sym_LT_EQ] = ACTIONS(2266),
    [anon_sym_GT] = ACTIONS(2266),
    [anon_sym_GT_EQ] = ACTIONS(2264),
    [anon_sym_CARET] = ACTIONS(2264),
    [anon_sym_PLUS] = ACTIONS(2264),
    [anon_sym_SLASH] = ACTIONS(2264),
    [anon_sym_PERCENT] = ACTIONS(2264),
    [sym_comment] = ACTIONS(110),
  },
  [1003] = {
    [sym_heredoc_end] = STATE(3004),
    [aux_sym_argument_list_repeat2] = STATE(3005),
    [sym__simple_heredoc_body] = ACTIONS(4410),
    [sym__heredoc_body_beginning] = ACTIONS(4412),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_RBRACE] = ACTIONS(2272),
    [anon_sym_RPAREN] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(2272),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_STAR_STAR] = ACTIONS(2272),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_EQ] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_in] = ACTIONS(2272),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_EQ_GT] = ACTIONS(2272),
    [anon_sym_RBRACK] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_COLON] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2272),
    [anon_sym_AMP_AMP] = ACTIONS(2272),
    [anon_sym_LT_LT] = ACTIONS(2272),
    [anon_sym_GT_GT] = ACTIONS(2272),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2272),
    [anon_sym_PLUS] = ACTIONS(2272),
    [anon_sym_SLASH] = ACTIONS(2272),
    [anon_sym_PERCENT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(256),
  },
  [1004] = {
    [sym_heredoc_end] = STATE(3004),
    [aux_sym_argument_list_repeat1] = STATE(3007),
    [aux_sym_argument_list_repeat2] = STATE(3005),
    [sym__simple_heredoc_body] = ACTIONS(4410),
    [sym__heredoc_body_beginning] = ACTIONS(4412),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(4414),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_STAR_STAR] = ACTIONS(2272),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_EQ_GT] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2272),
    [anon_sym_AMP_AMP] = ACTIONS(2272),
    [anon_sym_LT_LT] = ACTIONS(2272),
    [anon_sym_GT_GT] = ACTIONS(2272),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2272),
    [anon_sym_PLUS] = ACTIONS(2272),
    [anon_sym_SLASH] = ACTIONS(2272),
    [anon_sym_PERCENT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(110),
  },
  [1005] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(2210),
    [sym__binary_star] = ACTIONS(2210),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_RBRACE] = ACTIONS(2210),
    [anon_sym_RPAREN] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(2216),
    [anon_sym_SEMI] = ACTIONS(2210),
    [anon_sym_STAR_STAR] = ACTIONS(2210),
    [anon_sym_AMP] = ACTIONS(2216),
    [anon_sym_EQ] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(2216),
    [anon_sym_in] = ACTIONS(2210),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(2210),
    [anon_sym_RBRACK] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(2210),
    [anon_sym_COLON] = ACTIONS(2210),
    [anon_sym_DOT_DOT] = ACTIONS(2216),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2210),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(2210),
    [anon_sym_AMP_AMP] = ACTIONS(2210),
    [anon_sym_LT_LT] = ACTIONS(2210),
    [anon_sym_GT_GT] = ACTIONS(2210),
    [anon_sym_EQ_EQ] = ACTIONS(2216),
    [anon_sym_BANG_EQ] = ACTIONS(2210),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2210),
    [anon_sym_LT_EQ_GT] = ACTIONS(2210),
    [anon_sym_EQ_TILDE] = ACTIONS(2210),
    [anon_sym_BANG_TILDE] = ACTIONS(2210),
    [anon_sym_LT_EQ] = ACTIONS(2216),
    [anon_sym_GT] = ACTIONS(2216),
    [anon_sym_GT_EQ] = ACTIONS(2210),
    [anon_sym_CARET] = ACTIONS(2210),
    [anon_sym_PLUS] = ACTIONS(2210),
    [anon_sym_SLASH] = ACTIONS(2210),
    [anon_sym_PERCENT] = ACTIONS(2210),
    [sym_comment] = ACTIONS(256),
  },
  [1006] = {
    [sym__simple_heredoc_body] = ACTIONS(968),
    [sym__heredoc_body_beginning] = ACTIONS(968),
    [sym__element_reference_left_bracket] = ACTIONS(968),
    [sym__scope_double_colon] = ACTIONS(968),
    [sym__binary_minus] = ACTIONS(968),
    [sym__binary_star] = ACTIONS(968),
    [anon_sym_LBRACE] = ACTIONS(968),
    [anon_sym_RBRACE] = ACTIONS(968),
    [anon_sym_RPAREN] = ACTIONS(968),
    [anon_sym_DOT] = ACTIONS(976),
    [anon_sym_COMMA] = ACTIONS(968),
    [anon_sym_PIPE] = ACTIONS(976),
    [anon_sym_SEMI] = ACTIONS(968),
    [anon_sym_STAR_STAR] = ACTIONS(968),
    [anon_sym_AMP] = ACTIONS(976),
    [anon_sym_EQ] = ACTIONS(976),
    [anon_sym_LT] = ACTIONS(976),
    [anon_sym_in] = ACTIONS(968),
    [anon_sym_do] = ACTIONS(968),
    [anon_sym_EQ_GT] = ACTIONS(968),
    [anon_sym_RBRACK] = ACTIONS(968),
    [anon_sym_AMP_DOT] = ACTIONS(968),
    [anon_sym_QMARK] = ACTIONS(968),
    [anon_sym_COLON] = ACTIONS(968),
    [anon_sym_DOT_DOT] = ACTIONS(976),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(968),
    [anon_sym_and] = ACTIONS(968),
    [anon_sym_or] = ACTIONS(968),
    [anon_sym_PIPE_PIPE] = ACTIONS(968),
    [anon_sym_AMP_AMP] = ACTIONS(968),
    [anon_sym_LT_LT] = ACTIONS(968),
    [anon_sym_GT_GT] = ACTIONS(968),
    [anon_sym_EQ_EQ] = ACTIONS(976),
    [anon_sym_BANG_EQ] = ACTIONS(968),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(968),
    [anon_sym_LT_EQ_GT] = ACTIONS(968),
    [anon_sym_EQ_TILDE] = ACTIONS(968),
    [anon_sym_BANG_TILDE] = ACTIONS(968),
    [anon_sym_LT_EQ] = ACTIONS(976),
    [anon_sym_GT] = ACTIONS(976),
    [anon_sym_GT_EQ] = ACTIONS(968),
    [anon_sym_CARET] = ACTIONS(968),
    [anon_sym_PLUS] = ACTIONS(968),
    [anon_sym_SLASH] = ACTIONS(968),
    [anon_sym_PERCENT] = ACTIONS(968),
    [sym_comment] = ACTIONS(256),
  },
  [1007] = {
    [anon_sym_EQ] = ACTIONS(4416),
    [sym_comment] = ACTIONS(256),
  },
  [1008] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(4418),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(4420),
    [anon_sym_DASH_EQ] = ACTIONS(4420),
    [anon_sym_STAR_EQ] = ACTIONS(4420),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(4420),
    [anon_sym_SLASH_EQ] = ACTIONS(4420),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(4420),
    [anon_sym_PIPE_EQ] = ACTIONS(4420),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(4420),
    [anon_sym_AMP_EQ] = ACTIONS(4420),
    [anon_sym_PERCENT_EQ] = ACTIONS(4420),
    [anon_sym_GT_GT_EQ] = ACTIONS(4420),
    [anon_sym_LT_LT_EQ] = ACTIONS(4420),
    [anon_sym_CARET_EQ] = ACTIONS(4420),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [1009] = {
    [sym__keyword_colon] = ACTIONS(4422),
    [sym_comment] = ACTIONS(110),
  },
  [1010] = {
    [sym_string] = STATE(1962),
    [aux_sym_chained_string_repeat1] = STATE(1963),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(4378),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(1626),
  },
  [1011] = {
    [sym__element_reference_left_bracket] = ACTIONS(2286),
    [sym__scope_double_colon] = ACTIONS(2286),
    [sym__binary_minus] = ACTIONS(2286),
    [sym__binary_star] = ACTIONS(2286),
    [anon_sym_LBRACE] = ACTIONS(2286),
    [anon_sym_RPAREN] = ACTIONS(2286),
    [anon_sym_DOT] = ACTIONS(2288),
    [anon_sym_COMMA] = ACTIONS(2286),
    [anon_sym_PIPE] = ACTIONS(2288),
    [anon_sym_SEMI] = ACTIONS(2286),
    [anon_sym_STAR_STAR] = ACTIONS(2286),
    [anon_sym_AMP] = ACTIONS(2288),
    [anon_sym_LT] = ACTIONS(2288),
    [anon_sym_do] = ACTIONS(2286),
    [anon_sym_EQ_GT] = ACTIONS(2286),
    [anon_sym_AMP_DOT] = ACTIONS(2286),
    [anon_sym_QMARK] = ACTIONS(2286),
    [anon_sym_COLON] = ACTIONS(2286),
    [anon_sym_DOT_DOT] = ACTIONS(2288),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2286),
    [anon_sym_and] = ACTIONS(2286),
    [anon_sym_or] = ACTIONS(2286),
    [anon_sym_PIPE_PIPE] = ACTIONS(2286),
    [anon_sym_AMP_AMP] = ACTIONS(2286),
    [anon_sym_LT_LT] = ACTIONS(2286),
    [anon_sym_GT_GT] = ACTIONS(2286),
    [anon_sym_EQ_EQ] = ACTIONS(2288),
    [anon_sym_BANG_EQ] = ACTIONS(2286),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2286),
    [anon_sym_LT_EQ_GT] = ACTIONS(2286),
    [anon_sym_EQ_TILDE] = ACTIONS(2286),
    [anon_sym_BANG_TILDE] = ACTIONS(2286),
    [anon_sym_LT_EQ] = ACTIONS(2288),
    [anon_sym_GT] = ACTIONS(2288),
    [anon_sym_GT_EQ] = ACTIONS(2286),
    [anon_sym_CARET] = ACTIONS(2286),
    [anon_sym_PLUS] = ACTIONS(2286),
    [anon_sym_SLASH] = ACTIONS(2286),
    [anon_sym_PERCENT] = ACTIONS(2286),
    [sym_comment] = ACTIONS(110),
  },
  [1012] = {
    [sym__element_reference_left_bracket] = ACTIONS(2290),
    [sym__scope_double_colon] = ACTIONS(2290),
    [sym__binary_minus] = ACTIONS(2290),
    [sym__binary_star] = ACTIONS(2290),
    [anon_sym_LBRACE] = ACTIONS(2290),
    [anon_sym_RPAREN] = ACTIONS(2290),
    [anon_sym_DOT] = ACTIONS(2292),
    [anon_sym_COMMA] = ACTIONS(2290),
    [anon_sym_PIPE] = ACTIONS(2292),
    [anon_sym_SEMI] = ACTIONS(2290),
    [anon_sym_STAR_STAR] = ACTIONS(2290),
    [anon_sym_AMP] = ACTIONS(2292),
    [anon_sym_LT] = ACTIONS(2292),
    [anon_sym_do] = ACTIONS(2290),
    [anon_sym_EQ_GT] = ACTIONS(2290),
    [anon_sym_AMP_DOT] = ACTIONS(2290),
    [anon_sym_QMARK] = ACTIONS(2290),
    [anon_sym_COLON] = ACTIONS(2290),
    [anon_sym_DOT_DOT] = ACTIONS(2292),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2290),
    [anon_sym_and] = ACTIONS(2290),
    [anon_sym_or] = ACTIONS(2290),
    [anon_sym_PIPE_PIPE] = ACTIONS(2290),
    [anon_sym_AMP_AMP] = ACTIONS(2290),
    [anon_sym_LT_LT] = ACTIONS(2290),
    [anon_sym_GT_GT] = ACTIONS(2290),
    [anon_sym_EQ_EQ] = ACTIONS(2292),
    [anon_sym_BANG_EQ] = ACTIONS(2290),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2290),
    [anon_sym_LT_EQ_GT] = ACTIONS(2290),
    [anon_sym_EQ_TILDE] = ACTIONS(2290),
    [anon_sym_BANG_TILDE] = ACTIONS(2290),
    [anon_sym_LT_EQ] = ACTIONS(2292),
    [anon_sym_GT] = ACTIONS(2292),
    [anon_sym_GT_EQ] = ACTIONS(2290),
    [anon_sym_CARET] = ACTIONS(2290),
    [anon_sym_PLUS] = ACTIONS(2290),
    [anon_sym_SLASH] = ACTIONS(2290),
    [anon_sym_PERCENT] = ACTIONS(2290),
    [sym_comment] = ACTIONS(110),
  },
  [1013] = {
    [sym__element_reference_left_bracket] = ACTIONS(2294),
    [sym__scope_double_colon] = ACTIONS(2294),
    [sym__binary_minus] = ACTIONS(2294),
    [sym__binary_star] = ACTIONS(2294),
    [anon_sym_LBRACE] = ACTIONS(2294),
    [anon_sym_RPAREN] = ACTIONS(2294),
    [anon_sym_DOT] = ACTIONS(2296),
    [anon_sym_COMMA] = ACTIONS(2294),
    [anon_sym_PIPE] = ACTIONS(2296),
    [anon_sym_SEMI] = ACTIONS(2294),
    [anon_sym_STAR_STAR] = ACTIONS(2294),
    [anon_sym_AMP] = ACTIONS(2296),
    [anon_sym_LT] = ACTIONS(2296),
    [anon_sym_do] = ACTIONS(2294),
    [anon_sym_EQ_GT] = ACTIONS(2294),
    [anon_sym_AMP_DOT] = ACTIONS(2294),
    [anon_sym_QMARK] = ACTIONS(2294),
    [anon_sym_COLON] = ACTIONS(2294),
    [anon_sym_DOT_DOT] = ACTIONS(2296),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2294),
    [anon_sym_and] = ACTIONS(2294),
    [anon_sym_or] = ACTIONS(2294),
    [anon_sym_PIPE_PIPE] = ACTIONS(2294),
    [anon_sym_AMP_AMP] = ACTIONS(2294),
    [anon_sym_LT_LT] = ACTIONS(2294),
    [anon_sym_GT_GT] = ACTIONS(2294),
    [anon_sym_EQ_EQ] = ACTIONS(2296),
    [anon_sym_BANG_EQ] = ACTIONS(2294),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2294),
    [anon_sym_LT_EQ_GT] = ACTIONS(2294),
    [anon_sym_EQ_TILDE] = ACTIONS(2294),
    [anon_sym_BANG_TILDE] = ACTIONS(2294),
    [anon_sym_LT_EQ] = ACTIONS(2296),
    [anon_sym_GT] = ACTIONS(2296),
    [anon_sym_GT_EQ] = ACTIONS(2294),
    [anon_sym_CARET] = ACTIONS(2294),
    [anon_sym_PLUS] = ACTIONS(2294),
    [anon_sym_SLASH] = ACTIONS(2294),
    [anon_sym_PERCENT] = ACTIONS(2294),
    [sym_comment] = ACTIONS(110),
  },
  [1014] = {
    [sym__then] = STATE(3011),
    [sym_heredoc_end] = STATE(1476),
    [sym__terminator] = STATE(1484),
    [sym__simple_heredoc_body] = ACTIONS(2322),
    [sym__heredoc_body_beginning] = ACTIONS(2324),
    [sym__line_break] = ACTIONS(2326),
    [anon_sym_SEMI] = ACTIONS(2326),
    [anon_sym_if] = ACTIONS(2328),
    [anon_sym_unless] = ACTIONS(2330),
    [anon_sym_while] = ACTIONS(2332),
    [anon_sym_until] = ACTIONS(2334),
    [anon_sym_rescue] = ACTIONS(2336),
    [anon_sym_then] = ACTIONS(2338),
    [sym_comment] = ACTIONS(110),
  },
  [1015] = {
    [sym__then] = STATE(3012),
    [sym_heredoc_end] = STATE(1521),
    [sym__terminator] = STATE(1524),
    [sym__simple_heredoc_body] = ACTIONS(2402),
    [sym__heredoc_body_beginning] = ACTIONS(2404),
    [sym__line_break] = ACTIONS(2406),
    [anon_sym_SEMI] = ACTIONS(2406),
    [anon_sym_if] = ACTIONS(2328),
    [anon_sym_unless] = ACTIONS(2330),
    [anon_sym_while] = ACTIONS(2332),
    [anon_sym_until] = ACTIONS(2334),
    [anon_sym_rescue] = ACTIONS(2336),
    [anon_sym_then] = ACTIONS(2408),
    [sym_comment] = ACTIONS(110),
  },
  [1016] = {
    [sym__do] = STATE(3013),
    [sym_heredoc_end] = STATE(1550),
    [sym__terminator] = STATE(1557),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym__line_break] = ACTIONS(2446),
    [sym__binary_minus] = ACTIONS(2448),
    [sym__binary_star] = ACTIONS(2450),
    [anon_sym_PIPE] = ACTIONS(2452),
    [anon_sym_SEMI] = ACTIONS(2446),
    [anon_sym_STAR_STAR] = ACTIONS(2454),
    [anon_sym_AMP] = ACTIONS(2456),
    [anon_sym_LT] = ACTIONS(2458),
    [anon_sym_do] = ACTIONS(2460),
    [anon_sym_QMARK] = ACTIONS(2462),
    [anon_sym_DOT_DOT] = ACTIONS(2464),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2466),
    [anon_sym_and] = ACTIONS(2468),
    [anon_sym_or] = ACTIONS(2468),
    [anon_sym_PIPE_PIPE] = ACTIONS(2470),
    [anon_sym_AMP_AMP] = ACTIONS(2470),
    [anon_sym_LT_LT] = ACTIONS(2472),
    [anon_sym_GT_GT] = ACTIONS(2472),
    [anon_sym_EQ_EQ] = ACTIONS(2474),
    [anon_sym_BANG_EQ] = ACTIONS(2470),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2470),
    [anon_sym_LT_EQ_GT] = ACTIONS(2470),
    [anon_sym_EQ_TILDE] = ACTIONS(2470),
    [anon_sym_BANG_TILDE] = ACTIONS(2470),
    [anon_sym_LT_EQ] = ACTIONS(2458),
    [anon_sym_GT] = ACTIONS(2458),
    [anon_sym_GT_EQ] = ACTIONS(2476),
    [anon_sym_CARET] = ACTIONS(2478),
    [anon_sym_PLUS] = ACTIONS(2480),
    [anon_sym_SLASH] = ACTIONS(2454),
    [anon_sym_PERCENT] = ACTIONS(2454),
    [sym_comment] = ACTIONS(110),
  },
  [1017] = {
    [sym__do] = STATE(3014),
    [sym_heredoc_end] = STATE(1550),
    [sym__terminator] = STATE(1557),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym__line_break] = ACTIONS(2446),
    [sym__binary_minus] = ACTIONS(2448),
    [sym__binary_star] = ACTIONS(2450),
    [anon_sym_PIPE] = ACTIONS(2452),
    [anon_sym_SEMI] = ACTIONS(2446),
    [anon_sym_STAR_STAR] = ACTIONS(2454),
    [anon_sym_AMP] = ACTIONS(2456),
    [anon_sym_LT] = ACTIONS(2458),
    [anon_sym_do] = ACTIONS(2460),
    [anon_sym_QMARK] = ACTIONS(2462),
    [anon_sym_DOT_DOT] = ACTIONS(2464),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2466),
    [anon_sym_and] = ACTIONS(2468),
    [anon_sym_or] = ACTIONS(2468),
    [anon_sym_PIPE_PIPE] = ACTIONS(2470),
    [anon_sym_AMP_AMP] = ACTIONS(2470),
    [anon_sym_LT_LT] = ACTIONS(2472),
    [anon_sym_GT_GT] = ACTIONS(2472),
    [anon_sym_EQ_EQ] = ACTIONS(2474),
    [anon_sym_BANG_EQ] = ACTIONS(2470),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2470),
    [anon_sym_LT_EQ_GT] = ACTIONS(2470),
    [anon_sym_EQ_TILDE] = ACTIONS(2470),
    [anon_sym_BANG_TILDE] = ACTIONS(2470),
    [anon_sym_LT_EQ] = ACTIONS(2458),
    [anon_sym_GT] = ACTIONS(2458),
    [anon_sym_GT_EQ] = ACTIONS(2476),
    [anon_sym_CARET] = ACTIONS(2478),
    [anon_sym_PLUS] = ACTIONS(2480),
    [anon_sym_SLASH] = ACTIONS(2454),
    [anon_sym_PERCENT] = ACTIONS(2454),
    [sym_comment] = ACTIONS(110),
  },
  [1018] = {
    [sym_in] = STATE(3015),
    [anon_sym_in] = ACTIONS(2548),
    [sym_comment] = ACTIONS(110),
  },
  [1019] = {
    [anon_sym_end] = ACTIONS(4424),
    [sym_comment] = ACTIONS(110),
  },
  [1020] = {
    [sym_when] = STATE(3017),
    [sym_heredoc_end] = STATE(387),
    [sym__terminator] = STATE(402),
    [aux_sym_case_repeat1] = STATE(3018),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym__line_break] = ACTIONS(666),
    [sym__binary_minus] = ACTIONS(2600),
    [sym__binary_star] = ACTIONS(2602),
    [anon_sym_PIPE] = ACTIONS(2604),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_STAR_STAR] = ACTIONS(2606),
    [anon_sym_AMP] = ACTIONS(2608),
    [anon_sym_LT] = ACTIONS(2610),
    [anon_sym_when] = ACTIONS(2612),
    [anon_sym_QMARK] = ACTIONS(2614),
    [anon_sym_DOT_DOT] = ACTIONS(2616),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2618),
    [anon_sym_and] = ACTIONS(2620),
    [anon_sym_or] = ACTIONS(2620),
    [anon_sym_PIPE_PIPE] = ACTIONS(2622),
    [anon_sym_AMP_AMP] = ACTIONS(2622),
    [anon_sym_LT_LT] = ACTIONS(2624),
    [anon_sym_GT_GT] = ACTIONS(2624),
    [anon_sym_EQ_EQ] = ACTIONS(2626),
    [anon_sym_BANG_EQ] = ACTIONS(2622),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2622),
    [anon_sym_LT_EQ_GT] = ACTIONS(2622),
    [anon_sym_EQ_TILDE] = ACTIONS(2622),
    [anon_sym_BANG_TILDE] = ACTIONS(2622),
    [anon_sym_LT_EQ] = ACTIONS(2610),
    [anon_sym_GT] = ACTIONS(2610),
    [anon_sym_GT_EQ] = ACTIONS(2628),
    [anon_sym_CARET] = ACTIONS(2630),
    [anon_sym_PLUS] = ACTIONS(2632),
    [anon_sym_SLASH] = ACTIONS(2606),
    [anon_sym_PERCENT] = ACTIONS(2606),
    [sym_comment] = ACTIONS(110),
  },
  [1021] = {
    [sym_when] = STATE(3017),
    [sym_heredoc_end] = STATE(387),
    [sym__terminator] = STATE(1688),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym__line_break] = ACTIONS(666),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_when] = ACTIONS(2612),
    [sym_comment] = ACTIONS(110),
  },
  [1022] = {
    [sym__element_reference_left_bracket] = ACTIONS(2674),
    [sym__scope_double_colon] = ACTIONS(2674),
    [sym__binary_minus] = ACTIONS(2674),
    [sym__binary_star] = ACTIONS(2674),
    [anon_sym_LBRACE] = ACTIONS(2674),
    [anon_sym_RPAREN] = ACTIONS(2674),
    [anon_sym_DOT] = ACTIONS(2676),
    [anon_sym_COMMA] = ACTIONS(2674),
    [anon_sym_PIPE] = ACTIONS(2676),
    [anon_sym_SEMI] = ACTIONS(2674),
    [anon_sym_STAR_STAR] = ACTIONS(2674),
    [anon_sym_AMP] = ACTIONS(2676),
    [anon_sym_LT] = ACTIONS(2676),
    [anon_sym_do] = ACTIONS(2674),
    [anon_sym_EQ_GT] = ACTIONS(2674),
    [anon_sym_AMP_DOT] = ACTIONS(2674),
    [anon_sym_QMARK] = ACTIONS(2674),
    [anon_sym_COLON] = ACTIONS(2674),
    [anon_sym_DOT_DOT] = ACTIONS(2676),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2674),
    [anon_sym_and] = ACTIONS(2674),
    [anon_sym_or] = ACTIONS(2674),
    [anon_sym_PIPE_PIPE] = ACTIONS(2674),
    [anon_sym_AMP_AMP] = ACTIONS(2674),
    [anon_sym_LT_LT] = ACTIONS(2674),
    [anon_sym_GT_GT] = ACTIONS(2674),
    [anon_sym_EQ_EQ] = ACTIONS(2676),
    [anon_sym_BANG_EQ] = ACTIONS(2674),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2674),
    [anon_sym_LT_EQ_GT] = ACTIONS(2674),
    [anon_sym_EQ_TILDE] = ACTIONS(2674),
    [anon_sym_BANG_TILDE] = ACTIONS(2674),
    [anon_sym_LT_EQ] = ACTIONS(2676),
    [anon_sym_GT] = ACTIONS(2676),
    [anon_sym_GT_EQ] = ACTIONS(2674),
    [anon_sym_CARET] = ACTIONS(2674),
    [anon_sym_PLUS] = ACTIONS(2674),
    [anon_sym_SLASH] = ACTIONS(2674),
    [anon_sym_PERCENT] = ACTIONS(2674),
    [sym_comment] = ACTIONS(110),
  },
  [1023] = {
    [anon_sym_end] = ACTIONS(4426),
    [sym_comment] = ACTIONS(110),
  },
  [1024] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(3020),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(4428),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1025] = {
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(1678),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [1026] = {
    [sym__binary_minus] = ACTIONS(1672),
    [sym__binary_star] = ACTIONS(1674),
    [anon_sym_PIPE] = ACTIONS(1676),
    [anon_sym_STAR_STAR] = ACTIONS(1678),
    [anon_sym_AMP] = ACTIONS(1680),
    [anon_sym_LT] = ACTIONS(1682),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(1684),
    [anon_sym_DOT_DOT] = ACTIONS(1686),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1688),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(1692),
    [anon_sym_AMP_AMP] = ACTIONS(1692),
    [anon_sym_LT_LT] = ACTIONS(1694),
    [anon_sym_GT_GT] = ACTIONS(1694),
    [anon_sym_EQ_EQ] = ACTIONS(1696),
    [anon_sym_BANG_EQ] = ACTIONS(1692),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1692),
    [anon_sym_LT_EQ_GT] = ACTIONS(1692),
    [anon_sym_EQ_TILDE] = ACTIONS(1692),
    [anon_sym_BANG_TILDE] = ACTIONS(1692),
    [anon_sym_LT_EQ] = ACTIONS(1682),
    [anon_sym_GT] = ACTIONS(1682),
    [anon_sym_GT_EQ] = ACTIONS(1698),
    [anon_sym_CARET] = ACTIONS(1700),
    [anon_sym_PLUS] = ACTIONS(1702),
    [anon_sym_SLASH] = ACTIONS(1678),
    [anon_sym_PERCENT] = ACTIONS(1678),
    [sym_comment] = ACTIONS(110),
  },
  [1027] = {
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_RPAREN] = ACTIONS(2870),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(2870),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_COLON] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [1028] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3021),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(977),
    [sym_call] = STATE(977),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(978),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(979),
    [sym__variable] = STATE(977),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(1568),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(1578),
    [anon_sym_yield] = ACTIONS(1580),
    [anon_sym_break] = ACTIONS(1582),
    [anon_sym_next] = ACTIONS(1584),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(1604),
    [anon_sym_defined_QMARK] = ACTIONS(1606),
    [anon_sym_not] = ACTIONS(1608),
    [anon_sym_BANG] = ACTIONS(1610),
    [anon_sym_TILDE] = ACTIONS(1610),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1029] = {
    [sym__element_reference_left_bracket] = ACTIONS(2882),
    [sym__scope_double_colon] = ACTIONS(2882),
    [sym__binary_minus] = ACTIONS(2882),
    [sym__binary_star] = ACTIONS(2882),
    [anon_sym_LBRACE] = ACTIONS(2882),
    [anon_sym_RPAREN] = ACTIONS(2882),
    [anon_sym_DOT] = ACTIONS(2884),
    [anon_sym_COMMA] = ACTIONS(2882),
    [anon_sym_PIPE] = ACTIONS(2884),
    [anon_sym_SEMI] = ACTIONS(2882),
    [anon_sym_STAR_STAR] = ACTIONS(2882),
    [anon_sym_AMP] = ACTIONS(2884),
    [anon_sym_LT] = ACTIONS(2884),
    [anon_sym_do] = ACTIONS(2882),
    [anon_sym_EQ_GT] = ACTIONS(2882),
    [anon_sym_AMP_DOT] = ACTIONS(2882),
    [anon_sym_QMARK] = ACTIONS(2882),
    [anon_sym_COLON] = ACTIONS(2882),
    [anon_sym_DOT_DOT] = ACTIONS(2884),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2882),
    [anon_sym_and] = ACTIONS(2882),
    [anon_sym_or] = ACTIONS(2882),
    [anon_sym_PIPE_PIPE] = ACTIONS(2882),
    [anon_sym_AMP_AMP] = ACTIONS(2882),
    [anon_sym_LT_LT] = ACTIONS(2882),
    [anon_sym_GT_GT] = ACTIONS(2882),
    [anon_sym_EQ_EQ] = ACTIONS(2884),
    [anon_sym_BANG_EQ] = ACTIONS(2882),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2882),
    [anon_sym_LT_EQ_GT] = ACTIONS(2882),
    [anon_sym_EQ_TILDE] = ACTIONS(2882),
    [anon_sym_BANG_TILDE] = ACTIONS(2882),
    [anon_sym_LT_EQ] = ACTIONS(2884),
    [anon_sym_GT] = ACTIONS(2884),
    [anon_sym_GT_EQ] = ACTIONS(2882),
    [anon_sym_CARET] = ACTIONS(2882),
    [anon_sym_PLUS] = ACTIONS(2882),
    [anon_sym_SLASH] = ACTIONS(2882),
    [anon_sym_PERCENT] = ACTIONS(2882),
    [sym_comment] = ACTIONS(110),
  },
  [1030] = {
    [sym__element_reference_left_bracket] = ACTIONS(2952),
    [sym__scope_double_colon] = ACTIONS(2952),
    [sym__binary_minus] = ACTIONS(2952),
    [sym__binary_star] = ACTIONS(2952),
    [anon_sym_LBRACE] = ACTIONS(2952),
    [anon_sym_RPAREN] = ACTIONS(2952),
    [anon_sym_DOT] = ACTIONS(2954),
    [anon_sym_COMMA] = ACTIONS(2952),
    [anon_sym_PIPE] = ACTIONS(2954),
    [anon_sym_SEMI] = ACTIONS(2952),
    [anon_sym_STAR_STAR] = ACTIONS(2952),
    [anon_sym_AMP] = ACTIONS(2954),
    [anon_sym_LT] = ACTIONS(2954),
    [anon_sym_do] = ACTIONS(2952),
    [anon_sym_EQ_GT] = ACTIONS(2952),
    [anon_sym_AMP_DOT] = ACTIONS(2952),
    [anon_sym_QMARK] = ACTIONS(2952),
    [anon_sym_COLON] = ACTIONS(2952),
    [anon_sym_DOT_DOT] = ACTIONS(2954),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2952),
    [anon_sym_and] = ACTIONS(2952),
    [anon_sym_or] = ACTIONS(2952),
    [anon_sym_PIPE_PIPE] = ACTIONS(2952),
    [anon_sym_AMP_AMP] = ACTIONS(2952),
    [anon_sym_LT_LT] = ACTIONS(2952),
    [anon_sym_GT_GT] = ACTIONS(2952),
    [anon_sym_EQ_EQ] = ACTIONS(2954),
    [anon_sym_BANG_EQ] = ACTIONS(2952),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2952),
    [anon_sym_LT_EQ_GT] = ACTIONS(2952),
    [anon_sym_EQ_TILDE] = ACTIONS(2952),
    [anon_sym_BANG_TILDE] = ACTIONS(2952),
    [anon_sym_LT_EQ] = ACTIONS(2954),
    [anon_sym_GT] = ACTIONS(2954),
    [anon_sym_GT_EQ] = ACTIONS(2952),
    [anon_sym_CARET] = ACTIONS(2952),
    [anon_sym_PLUS] = ACTIONS(2952),
    [anon_sym_SLASH] = ACTIONS(2952),
    [anon_sym_PERCENT] = ACTIONS(2952),
    [sym_comment] = ACTIONS(110),
  },
  [1031] = {
    [sym_heredoc_end] = STATE(3022),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RBRACK] = ACTIONS(3968),
    [sym_comment] = ACTIONS(110),
  },
  [1032] = {
    [anon_sym_RBRACK] = ACTIONS(3968),
    [sym_comment] = ACTIONS(110),
  },
  [1033] = {
    [sym__statements] = STATE(3024),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(3025),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(841),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(4430),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_PIPE] = ACTIONS(3048),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1034] = {
    [sym__statements] = STATE(3027),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(3028),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1981),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(3029),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(3076),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(3078),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(3080),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(4432),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(3086),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1035] = {
    [sym_do_block] = STATE(3030),
    [sym_block] = STATE(3030),
    [anon_sym_LBRACE] = ACTIONS(1668),
    [anon_sym_do] = ACTIONS(4434),
    [sym_comment] = ACTIONS(110),
  },
  [1036] = {
    [sym__element_reference_left_bracket] = ACTIONS(3100),
    [sym__scope_double_colon] = ACTIONS(3100),
    [sym__binary_minus] = ACTIONS(3100),
    [sym__binary_star] = ACTIONS(3100),
    [anon_sym_LBRACE] = ACTIONS(3100),
    [anon_sym_RPAREN] = ACTIONS(3100),
    [anon_sym_DOT] = ACTIONS(3102),
    [anon_sym_COMMA] = ACTIONS(3100),
    [anon_sym_PIPE] = ACTIONS(3102),
    [anon_sym_SEMI] = ACTIONS(3100),
    [anon_sym_STAR_STAR] = ACTIONS(3100),
    [anon_sym_AMP] = ACTIONS(3102),
    [anon_sym_LT] = ACTIONS(3102),
    [anon_sym_do] = ACTIONS(3100),
    [anon_sym_EQ_GT] = ACTIONS(3100),
    [anon_sym_AMP_DOT] = ACTIONS(3100),
    [anon_sym_QMARK] = ACTIONS(3100),
    [anon_sym_COLON] = ACTIONS(3100),
    [anon_sym_DOT_DOT] = ACTIONS(3102),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3100),
    [anon_sym_and] = ACTIONS(3100),
    [anon_sym_or] = ACTIONS(3100),
    [anon_sym_PIPE_PIPE] = ACTIONS(3100),
    [anon_sym_AMP_AMP] = ACTIONS(3100),
    [anon_sym_LT_LT] = ACTIONS(3100),
    [anon_sym_GT_GT] = ACTIONS(3100),
    [anon_sym_EQ_EQ] = ACTIONS(3102),
    [anon_sym_BANG_EQ] = ACTIONS(3100),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3100),
    [anon_sym_LT_EQ_GT] = ACTIONS(3100),
    [anon_sym_EQ_TILDE] = ACTIONS(3100),
    [anon_sym_BANG_TILDE] = ACTIONS(3100),
    [anon_sym_LT_EQ] = ACTIONS(3102),
    [anon_sym_GT] = ACTIONS(3102),
    [anon_sym_GT_EQ] = ACTIONS(3100),
    [anon_sym_CARET] = ACTIONS(3100),
    [anon_sym_PLUS] = ACTIONS(3100),
    [anon_sym_SLASH] = ACTIONS(3100),
    [anon_sym_PERCENT] = ACTIONS(3100),
    [sym_comment] = ACTIONS(110),
  },
  [1037] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(3031),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(199),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(200),
    [sym__variable] = STATE(196),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(286),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1514),
    [anon_sym_yield] = ACTIONS(1516),
    [anon_sym_break] = ACTIONS(1518),
    [anon_sym_next] = ACTIONS(1520),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(334),
    [anon_sym_defined_QMARK] = ACTIONS(336),
    [anon_sym_not] = ACTIONS(1540),
    [anon_sym_BANG] = ACTIONS(340),
    [anon_sym_TILDE] = ACTIONS(340),
    [sym_constant] = ACTIONS(1542),
    [sym_identifier] = ACTIONS(1542),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_false] = ACTIONS(364),
    [anon_sym_nil] = ACTIONS(366),
    [anon_sym_self] = ACTIONS(1544),
    [anon_sym_super] = ACTIONS(1546),
    [anon_sym_true] = ACTIONS(362),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [1038] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(3032),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(199),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(200),
    [sym__variable] = STATE(196),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(286),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1514),
    [anon_sym_yield] = ACTIONS(1516),
    [anon_sym_break] = ACTIONS(1518),
    [anon_sym_next] = ACTIONS(1520),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(334),
    [anon_sym_defined_QMARK] = ACTIONS(336),
    [anon_sym_not] = ACTIONS(1540),
    [anon_sym_BANG] = ACTIONS(340),
    [anon_sym_TILDE] = ACTIONS(340),
    [sym_constant] = ACTIONS(1542),
    [sym_identifier] = ACTIONS(1542),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_false] = ACTIONS(364),
    [anon_sym_nil] = ACTIONS(366),
    [anon_sym_self] = ACTIONS(1544),
    [anon_sym_super] = ACTIONS(1546),
    [anon_sym_true] = ACTIONS(362),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [1039] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(3033),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(199),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(200),
    [sym__variable] = STATE(196),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(286),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1514),
    [anon_sym_yield] = ACTIONS(1516),
    [anon_sym_break] = ACTIONS(1518),
    [anon_sym_next] = ACTIONS(1520),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(334),
    [anon_sym_defined_QMARK] = ACTIONS(336),
    [anon_sym_not] = ACTIONS(1540),
    [anon_sym_BANG] = ACTIONS(340),
    [anon_sym_TILDE] = ACTIONS(340),
    [sym_constant] = ACTIONS(1542),
    [sym_identifier] = ACTIONS(1542),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_false] = ACTIONS(364),
    [anon_sym_nil] = ACTIONS(366),
    [anon_sym_self] = ACTIONS(1544),
    [anon_sym_super] = ACTIONS(1546),
    [anon_sym_true] = ACTIONS(362),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [1040] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(3034),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(199),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(200),
    [sym__variable] = STATE(196),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(286),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1514),
    [anon_sym_yield] = ACTIONS(1516),
    [anon_sym_break] = ACTIONS(1518),
    [anon_sym_next] = ACTIONS(1520),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(334),
    [anon_sym_defined_QMARK] = ACTIONS(336),
    [anon_sym_not] = ACTIONS(1540),
    [anon_sym_BANG] = ACTIONS(340),
    [anon_sym_TILDE] = ACTIONS(340),
    [sym_constant] = ACTIONS(1542),
    [sym_identifier] = ACTIONS(1542),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_false] = ACTIONS(364),
    [anon_sym_nil] = ACTIONS(366),
    [anon_sym_self] = ACTIONS(1544),
    [anon_sym_super] = ACTIONS(1546),
    [anon_sym_true] = ACTIONS(362),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [1041] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(3035),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(199),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(200),
    [sym__variable] = STATE(196),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(286),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1514),
    [anon_sym_yield] = ACTIONS(1516),
    [anon_sym_break] = ACTIONS(1518),
    [anon_sym_next] = ACTIONS(1520),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(334),
    [anon_sym_defined_QMARK] = ACTIONS(336),
    [anon_sym_not] = ACTIONS(1540),
    [anon_sym_BANG] = ACTIONS(340),
    [anon_sym_TILDE] = ACTIONS(340),
    [sym_constant] = ACTIONS(1542),
    [sym_identifier] = ACTIONS(1542),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_false] = ACTIONS(364),
    [anon_sym_nil] = ACTIONS(366),
    [anon_sym_self] = ACTIONS(1544),
    [anon_sym_super] = ACTIONS(1546),
    [anon_sym_true] = ACTIONS(362),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [1042] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(3036),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(199),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(200),
    [sym__variable] = STATE(196),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(286),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1514),
    [anon_sym_yield] = ACTIONS(1516),
    [anon_sym_break] = ACTIONS(1518),
    [anon_sym_next] = ACTIONS(1520),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(334),
    [anon_sym_defined_QMARK] = ACTIONS(336),
    [anon_sym_not] = ACTIONS(1540),
    [anon_sym_BANG] = ACTIONS(340),
    [anon_sym_TILDE] = ACTIONS(340),
    [sym_constant] = ACTIONS(1542),
    [sym_identifier] = ACTIONS(1542),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_false] = ACTIONS(364),
    [anon_sym_nil] = ACTIONS(366),
    [anon_sym_self] = ACTIONS(1544),
    [anon_sym_super] = ACTIONS(1546),
    [anon_sym_true] = ACTIONS(362),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [1043] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(3037),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [1044] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(3038),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(199),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(200),
    [sym__variable] = STATE(196),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(286),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1514),
    [anon_sym_yield] = ACTIONS(1516),
    [anon_sym_break] = ACTIONS(1518),
    [anon_sym_next] = ACTIONS(1520),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(334),
    [anon_sym_defined_QMARK] = ACTIONS(336),
    [anon_sym_not] = ACTIONS(1540),
    [anon_sym_BANG] = ACTIONS(340),
    [anon_sym_TILDE] = ACTIONS(340),
    [sym_constant] = ACTIONS(1542),
    [sym_identifier] = ACTIONS(1542),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_false] = ACTIONS(364),
    [anon_sym_nil] = ACTIONS(366),
    [anon_sym_self] = ACTIONS(1544),
    [anon_sym_super] = ACTIONS(1546),
    [anon_sym_true] = ACTIONS(362),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [1045] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(3039),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(199),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(200),
    [sym__variable] = STATE(196),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(286),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1514),
    [anon_sym_yield] = ACTIONS(1516),
    [anon_sym_break] = ACTIONS(1518),
    [anon_sym_next] = ACTIONS(1520),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(334),
    [anon_sym_defined_QMARK] = ACTIONS(336),
    [anon_sym_not] = ACTIONS(1540),
    [anon_sym_BANG] = ACTIONS(340),
    [anon_sym_TILDE] = ACTIONS(340),
    [sym_constant] = ACTIONS(1542),
    [sym_identifier] = ACTIONS(1542),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_false] = ACTIONS(364),
    [anon_sym_nil] = ACTIONS(366),
    [anon_sym_self] = ACTIONS(1544),
    [anon_sym_super] = ACTIONS(1546),
    [anon_sym_true] = ACTIONS(362),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [1046] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(3040),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(199),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(200),
    [sym__variable] = STATE(196),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(286),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1514),
    [anon_sym_yield] = ACTIONS(1516),
    [anon_sym_break] = ACTIONS(1518),
    [anon_sym_next] = ACTIONS(1520),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(334),
    [anon_sym_defined_QMARK] = ACTIONS(336),
    [anon_sym_not] = ACTIONS(1540),
    [anon_sym_BANG] = ACTIONS(340),
    [anon_sym_TILDE] = ACTIONS(340),
    [sym_constant] = ACTIONS(1542),
    [sym_identifier] = ACTIONS(1542),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_false] = ACTIONS(364),
    [anon_sym_nil] = ACTIONS(366),
    [anon_sym_self] = ACTIONS(1544),
    [anon_sym_super] = ACTIONS(1546),
    [anon_sym_true] = ACTIONS(362),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [1047] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(3041),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(199),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(200),
    [sym__variable] = STATE(196),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(286),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1514),
    [anon_sym_yield] = ACTIONS(1516),
    [anon_sym_break] = ACTIONS(1518),
    [anon_sym_next] = ACTIONS(1520),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(334),
    [anon_sym_defined_QMARK] = ACTIONS(336),
    [anon_sym_not] = ACTIONS(1540),
    [anon_sym_BANG] = ACTIONS(340),
    [anon_sym_TILDE] = ACTIONS(340),
    [sym_constant] = ACTIONS(1542),
    [sym_identifier] = ACTIONS(1542),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_false] = ACTIONS(364),
    [anon_sym_nil] = ACTIONS(366),
    [anon_sym_self] = ACTIONS(1544),
    [anon_sym_super] = ACTIONS(1546),
    [anon_sym_true] = ACTIONS(362),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [1048] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(3042),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(199),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(200),
    [sym__variable] = STATE(196),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(286),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1514),
    [anon_sym_yield] = ACTIONS(1516),
    [anon_sym_break] = ACTIONS(1518),
    [anon_sym_next] = ACTIONS(1520),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(334),
    [anon_sym_defined_QMARK] = ACTIONS(336),
    [anon_sym_not] = ACTIONS(1540),
    [anon_sym_BANG] = ACTIONS(340),
    [anon_sym_TILDE] = ACTIONS(340),
    [sym_constant] = ACTIONS(1542),
    [sym_identifier] = ACTIONS(1542),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_false] = ACTIONS(364),
    [anon_sym_nil] = ACTIONS(366),
    [anon_sym_self] = ACTIONS(1544),
    [anon_sym_super] = ACTIONS(1546),
    [anon_sym_true] = ACTIONS(362),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [1049] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(501),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(3044),
    [sym__argument] = STATE(506),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(509),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(510),
    [sym__variable] = STATE(504),
    [sym_reserved_identifier] = STATE(511),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(512),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(3045),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(804),
    [sym__splat_star] = ACTIONS(806),
    [sym__unary_minus] = ACTIONS(808),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(818),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(824),
    [anon_sym_yield] = ACTIONS(826),
    [anon_sym_break] = ACTIONS(828),
    [anon_sym_next] = ACTIONS(830),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_RBRACK] = ACTIONS(4436),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(852),
    [anon_sym_defined_QMARK] = ACTIONS(854),
    [anon_sym_not] = ACTIONS(856),
    [anon_sym_BANG] = ACTIONS(858),
    [anon_sym_TILDE] = ACTIONS(858),
    [sym_constant] = ACTIONS(860),
    [sym_identifier] = ACTIONS(860),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1050] = {
    [sym_constant] = ACTIONS(4438),
    [sym_identifier] = ACTIONS(4438),
    [sym_comment] = ACTIONS(110),
  },
  [1051] = {
    [sym_argument_list_with_parens] = STATE(3049),
    [sym__argument_list_with_parens] = STATE(3050),
    [sym_operator] = STATE(3049),
    [sym__argument_list_left_paren] = ACTIONS(4440),
    [anon_sym_PIPE] = ACTIONS(4442),
    [anon_sym_STAR] = ACTIONS(4444),
    [anon_sym_STAR_STAR] = ACTIONS(4442),
    [anon_sym_AMP] = ACTIONS(4442),
    [anon_sym_LT] = ACTIONS(4444),
    [anon_sym_DOT_DOT] = ACTIONS(4442),
    [anon_sym_LT_LT] = ACTIONS(4442),
    [anon_sym_GT_GT] = ACTIONS(4442),
    [anon_sym_EQ_EQ] = ACTIONS(4444),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4442),
    [anon_sym_LT_EQ_GT] = ACTIONS(4442),
    [anon_sym_EQ_TILDE] = ACTIONS(4442),
    [anon_sym_BANG_TILDE] = ACTIONS(4442),
    [anon_sym_LT_EQ] = ACTIONS(4444),
    [anon_sym_GT] = ACTIONS(4444),
    [anon_sym_GT_EQ] = ACTIONS(4442),
    [anon_sym_CARET] = ACTIONS(4442),
    [anon_sym_PLUS] = ACTIONS(4444),
    [anon_sym_SLASH] = ACTIONS(4442),
    [anon_sym_PERCENT] = ACTIONS(4442),
    [anon_sym_BANG] = ACTIONS(4444),
    [anon_sym_TILDE] = ACTIONS(4442),
    [sym_constant] = ACTIONS(4446),
    [sym_identifier] = ACTIONS(4446),
    [anon_sym_DASH] = ACTIONS(4444),
    [anon_sym_PLUS_AT] = ACTIONS(4442),
    [anon_sym_DASH_AT] = ACTIONS(4442),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(4444),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(4442),
    [anon_sym_BQUOTE] = ACTIONS(4442),
    [sym_comment] = ACTIONS(110),
  },
  [1052] = {
    [sym__simple_string] = ACTIONS(126),
    [sym__simple_heredoc_body] = ACTIONS(126),
    [sym__string_beginning] = ACTIONS(126),
    [sym__heredoc_body_beginning] = ACTIONS(126),
    [sym__element_reference_left_bracket] = ACTIONS(126),
    [sym__scope_double_colon] = ACTIONS(126),
    [sym__keyword_colon] = ACTIONS(126),
    [sym__binary_minus] = ACTIONS(126),
    [sym__binary_star] = ACTIONS(126),
    [anon_sym_LBRACE] = ACTIONS(126),
    [anon_sym_RBRACE] = ACTIONS(126),
    [anon_sym_RPAREN] = ACTIONS(126),
    [anon_sym_DOT] = ACTIONS(128),
    [anon_sym_COMMA] = ACTIONS(126),
    [anon_sym_PIPE] = ACTIONS(128),
    [anon_sym_SEMI] = ACTIONS(126),
    [anon_sym_STAR_STAR] = ACTIONS(128),
    [anon_sym_AMP] = ACTIONS(128),
    [anon_sym_EQ] = ACTIONS(128),
    [anon_sym_LT] = ACTIONS(128),
    [anon_sym_in] = ACTIONS(126),
    [anon_sym_do] = ACTIONS(126),
    [anon_sym_EQ_GT] = ACTIONS(126),
    [anon_sym_RBRACK] = ACTIONS(126),
    [anon_sym_AMP_DOT] = ACTIONS(126),
    [anon_sym_PLUS_EQ] = ACTIONS(126),
    [anon_sym_DASH_EQ] = ACTIONS(126),
    [anon_sym_STAR_EQ] = ACTIONS(126),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(126),
    [anon_sym_SLASH_EQ] = ACTIONS(126),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(126),
    [anon_sym_PIPE_EQ] = ACTIONS(126),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(126),
    [anon_sym_AMP_EQ] = ACTIONS(126),
    [anon_sym_PERCENT_EQ] = ACTIONS(126),
    [anon_sym_GT_GT_EQ] = ACTIONS(126),
    [anon_sym_LT_LT_EQ] = ACTIONS(126),
    [anon_sym_CARET_EQ] = ACTIONS(126),
    [anon_sym_QMARK] = ACTIONS(128),
    [anon_sym_COLON] = ACTIONS(126),
    [anon_sym_DOT_DOT] = ACTIONS(128),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(126),
    [anon_sym_and] = ACTIONS(126),
    [anon_sym_or] = ACTIONS(126),
    [anon_sym_PIPE_PIPE] = ACTIONS(128),
    [anon_sym_AMP_AMP] = ACTIONS(128),
    [anon_sym_LT_LT] = ACTIONS(128),
    [anon_sym_GT_GT] = ACTIONS(128),
    [anon_sym_EQ_EQ] = ACTIONS(128),
    [anon_sym_BANG_EQ] = ACTIONS(126),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(126),
    [anon_sym_LT_EQ_GT] = ACTIONS(126),
    [anon_sym_EQ_TILDE] = ACTIONS(126),
    [anon_sym_BANG_TILDE] = ACTIONS(126),
    [anon_sym_LT_EQ] = ACTIONS(128),
    [anon_sym_GT] = ACTIONS(128),
    [anon_sym_GT_EQ] = ACTIONS(126),
    [anon_sym_CARET] = ACTIONS(128),
    [anon_sym_PLUS] = ACTIONS(128),
    [anon_sym_SLASH] = ACTIONS(128),
    [anon_sym_PERCENT] = ACTIONS(128),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(128),
  },
  [1053] = {
    [sym__simple_heredoc_body] = ACTIONS(130),
    [sym__heredoc_body_beginning] = ACTIONS(130),
    [sym__element_reference_left_bracket] = ACTIONS(130),
    [sym__scope_double_colon] = ACTIONS(130),
    [sym__binary_minus] = ACTIONS(130),
    [sym__binary_star] = ACTIONS(130),
    [anon_sym_LBRACE] = ACTIONS(130),
    [anon_sym_RBRACE] = ACTIONS(130),
    [anon_sym_RPAREN] = ACTIONS(130),
    [anon_sym_DOT] = ACTIONS(132),
    [anon_sym_COMMA] = ACTIONS(130),
    [anon_sym_PIPE] = ACTIONS(132),
    [anon_sym_SEMI] = ACTIONS(130),
    [anon_sym_STAR_STAR] = ACTIONS(132),
    [anon_sym_AMP] = ACTIONS(132),
    [anon_sym_EQ] = ACTIONS(132),
    [anon_sym_LT] = ACTIONS(132),
    [anon_sym_in] = ACTIONS(130),
    [anon_sym_do] = ACTIONS(130),
    [anon_sym_EQ_GT] = ACTIONS(130),
    [anon_sym_RBRACK] = ACTIONS(130),
    [anon_sym_AMP_DOT] = ACTIONS(130),
    [anon_sym_PLUS_EQ] = ACTIONS(130),
    [anon_sym_DASH_EQ] = ACTIONS(130),
    [anon_sym_STAR_EQ] = ACTIONS(130),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(130),
    [anon_sym_SLASH_EQ] = ACTIONS(130),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(130),
    [anon_sym_PIPE_EQ] = ACTIONS(130),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(130),
    [anon_sym_AMP_EQ] = ACTIONS(130),
    [anon_sym_PERCENT_EQ] = ACTIONS(130),
    [anon_sym_GT_GT_EQ] = ACTIONS(130),
    [anon_sym_LT_LT_EQ] = ACTIONS(130),
    [anon_sym_CARET_EQ] = ACTIONS(130),
    [anon_sym_QMARK] = ACTIONS(130),
    [anon_sym_COLON] = ACTIONS(130),
    [anon_sym_DOT_DOT] = ACTIONS(132),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(130),
    [anon_sym_and] = ACTIONS(130),
    [anon_sym_or] = ACTIONS(130),
    [anon_sym_PIPE_PIPE] = ACTIONS(132),
    [anon_sym_AMP_AMP] = ACTIONS(132),
    [anon_sym_LT_LT] = ACTIONS(132),
    [anon_sym_GT_GT] = ACTIONS(132),
    [anon_sym_EQ_EQ] = ACTIONS(132),
    [anon_sym_BANG_EQ] = ACTIONS(130),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(130),
    [anon_sym_LT_EQ_GT] = ACTIONS(130),
    [anon_sym_EQ_TILDE] = ACTIONS(130),
    [anon_sym_BANG_TILDE] = ACTIONS(130),
    [anon_sym_LT_EQ] = ACTIONS(132),
    [anon_sym_GT] = ACTIONS(132),
    [anon_sym_GT_EQ] = ACTIONS(130),
    [anon_sym_CARET] = ACTIONS(132),
    [anon_sym_PLUS] = ACTIONS(132),
    [anon_sym_SLASH] = ACTIONS(132),
    [anon_sym_PERCENT] = ACTIONS(132),
    [sym_comment] = ACTIONS(256),
  },
  [1054] = {
    [sym__simple_heredoc_body] = ACTIONS(134),
    [sym__heredoc_body_beginning] = ACTIONS(134),
    [sym__element_reference_left_bracket] = ACTIONS(134),
    [sym__scope_double_colon] = ACTIONS(134),
    [sym__binary_minus] = ACTIONS(134),
    [sym__binary_star] = ACTIONS(134),
    [anon_sym_LBRACE] = ACTIONS(134),
    [anon_sym_RBRACE] = ACTIONS(134),
    [anon_sym_RPAREN] = ACTIONS(134),
    [anon_sym_DOT] = ACTIONS(136),
    [anon_sym_COMMA] = ACTIONS(134),
    [anon_sym_PIPE] = ACTIONS(136),
    [anon_sym_SEMI] = ACTIONS(134),
    [anon_sym_STAR_STAR] = ACTIONS(136),
    [anon_sym_AMP] = ACTIONS(136),
    [anon_sym_EQ] = ACTIONS(136),
    [anon_sym_LT] = ACTIONS(136),
    [anon_sym_in] = ACTIONS(134),
    [anon_sym_do] = ACTIONS(134),
    [anon_sym_EQ_GT] = ACTIONS(134),
    [anon_sym_RBRACK] = ACTIONS(134),
    [anon_sym_AMP_DOT] = ACTIONS(134),
    [anon_sym_PLUS_EQ] = ACTIONS(134),
    [anon_sym_DASH_EQ] = ACTIONS(134),
    [anon_sym_STAR_EQ] = ACTIONS(134),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(134),
    [anon_sym_SLASH_EQ] = ACTIONS(134),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(134),
    [anon_sym_PIPE_EQ] = ACTIONS(134),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(134),
    [anon_sym_AMP_EQ] = ACTIONS(134),
    [anon_sym_PERCENT_EQ] = ACTIONS(134),
    [anon_sym_GT_GT_EQ] = ACTIONS(134),
    [anon_sym_LT_LT_EQ] = ACTIONS(134),
    [anon_sym_CARET_EQ] = ACTIONS(134),
    [anon_sym_QMARK] = ACTIONS(134),
    [anon_sym_COLON] = ACTIONS(134),
    [anon_sym_DOT_DOT] = ACTIONS(136),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(134),
    [anon_sym_and] = ACTIONS(134),
    [anon_sym_or] = ACTIONS(134),
    [anon_sym_PIPE_PIPE] = ACTIONS(136),
    [anon_sym_AMP_AMP] = ACTIONS(136),
    [anon_sym_LT_LT] = ACTIONS(136),
    [anon_sym_GT_GT] = ACTIONS(136),
    [anon_sym_EQ_EQ] = ACTIONS(136),
    [anon_sym_BANG_EQ] = ACTIONS(134),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(134),
    [anon_sym_LT_EQ_GT] = ACTIONS(134),
    [anon_sym_EQ_TILDE] = ACTIONS(134),
    [anon_sym_BANG_TILDE] = ACTIONS(134),
    [anon_sym_LT_EQ] = ACTIONS(136),
    [anon_sym_GT] = ACTIONS(136),
    [anon_sym_GT_EQ] = ACTIONS(134),
    [anon_sym_CARET] = ACTIONS(136),
    [anon_sym_PLUS] = ACTIONS(136),
    [anon_sym_SLASH] = ACTIONS(136),
    [anon_sym_PERCENT] = ACTIONS(136),
    [sym_comment] = ACTIONS(256),
  },
  [1055] = {
    [sym__simple_heredoc_body] = ACTIONS(138),
    [sym__heredoc_body_beginning] = ACTIONS(138),
    [sym__element_reference_left_bracket] = ACTIONS(138),
    [sym__scope_double_colon] = ACTIONS(138),
    [sym__binary_minus] = ACTIONS(138),
    [sym__binary_star] = ACTIONS(138),
    [anon_sym_LBRACE] = ACTIONS(138),
    [anon_sym_RBRACE] = ACTIONS(138),
    [anon_sym_RPAREN] = ACTIONS(138),
    [anon_sym_DOT] = ACTIONS(140),
    [anon_sym_COMMA] = ACTIONS(138),
    [anon_sym_PIPE] = ACTIONS(140),
    [anon_sym_SEMI] = ACTIONS(138),
    [anon_sym_STAR_STAR] = ACTIONS(140),
    [anon_sym_AMP] = ACTIONS(140),
    [anon_sym_EQ] = ACTIONS(140),
    [anon_sym_LT] = ACTIONS(140),
    [anon_sym_in] = ACTIONS(138),
    [anon_sym_do] = ACTIONS(138),
    [anon_sym_EQ_GT] = ACTIONS(138),
    [anon_sym_RBRACK] = ACTIONS(138),
    [anon_sym_AMP_DOT] = ACTIONS(138),
    [anon_sym_PLUS_EQ] = ACTIONS(138),
    [anon_sym_DASH_EQ] = ACTIONS(138),
    [anon_sym_STAR_EQ] = ACTIONS(138),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(138),
    [anon_sym_SLASH_EQ] = ACTIONS(138),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(138),
    [anon_sym_PIPE_EQ] = ACTIONS(138),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(138),
    [anon_sym_AMP_EQ] = ACTIONS(138),
    [anon_sym_PERCENT_EQ] = ACTIONS(138),
    [anon_sym_GT_GT_EQ] = ACTIONS(138),
    [anon_sym_LT_LT_EQ] = ACTIONS(138),
    [anon_sym_CARET_EQ] = ACTIONS(138),
    [anon_sym_QMARK] = ACTIONS(138),
    [anon_sym_COLON] = ACTIONS(138),
    [anon_sym_DOT_DOT] = ACTIONS(140),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(138),
    [anon_sym_and] = ACTIONS(138),
    [anon_sym_or] = ACTIONS(138),
    [anon_sym_PIPE_PIPE] = ACTIONS(140),
    [anon_sym_AMP_AMP] = ACTIONS(140),
    [anon_sym_LT_LT] = ACTIONS(140),
    [anon_sym_GT_GT] = ACTIONS(140),
    [anon_sym_EQ_EQ] = ACTIONS(140),
    [anon_sym_BANG_EQ] = ACTIONS(138),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(138),
    [anon_sym_LT_EQ_GT] = ACTIONS(138),
    [anon_sym_EQ_TILDE] = ACTIONS(138),
    [anon_sym_BANG_TILDE] = ACTIONS(138),
    [anon_sym_LT_EQ] = ACTIONS(140),
    [anon_sym_GT] = ACTIONS(140),
    [anon_sym_GT_EQ] = ACTIONS(138),
    [anon_sym_CARET] = ACTIONS(140),
    [anon_sym_PLUS] = ACTIONS(140),
    [anon_sym_SLASH] = ACTIONS(140),
    [anon_sym_PERCENT] = ACTIONS(140),
    [sym_comment] = ACTIONS(256),
  },
  [1056] = {
    [sym__simple_heredoc_body] = ACTIONS(142),
    [sym__heredoc_body_beginning] = ACTIONS(142),
    [sym__element_reference_left_bracket] = ACTIONS(142),
    [sym__scope_double_colon] = ACTIONS(142),
    [sym__binary_minus] = ACTIONS(142),
    [sym__binary_star] = ACTIONS(142),
    [anon_sym_LBRACE] = ACTIONS(142),
    [anon_sym_RBRACE] = ACTIONS(142),
    [anon_sym_RPAREN] = ACTIONS(142),
    [anon_sym_DOT] = ACTIONS(144),
    [anon_sym_COMMA] = ACTIONS(142),
    [anon_sym_PIPE] = ACTIONS(144),
    [anon_sym_SEMI] = ACTIONS(142),
    [anon_sym_STAR_STAR] = ACTIONS(144),
    [anon_sym_AMP] = ACTIONS(144),
    [anon_sym_EQ] = ACTIONS(144),
    [anon_sym_LT] = ACTIONS(144),
    [anon_sym_in] = ACTIONS(142),
    [anon_sym_do] = ACTIONS(142),
    [anon_sym_EQ_GT] = ACTIONS(142),
    [anon_sym_RBRACK] = ACTIONS(142),
    [anon_sym_AMP_DOT] = ACTIONS(142),
    [anon_sym_PLUS_EQ] = ACTIONS(142),
    [anon_sym_DASH_EQ] = ACTIONS(142),
    [anon_sym_STAR_EQ] = ACTIONS(142),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(142),
    [anon_sym_SLASH_EQ] = ACTIONS(142),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(142),
    [anon_sym_PIPE_EQ] = ACTIONS(142),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(142),
    [anon_sym_AMP_EQ] = ACTIONS(142),
    [anon_sym_PERCENT_EQ] = ACTIONS(142),
    [anon_sym_GT_GT_EQ] = ACTIONS(142),
    [anon_sym_LT_LT_EQ] = ACTIONS(142),
    [anon_sym_CARET_EQ] = ACTIONS(142),
    [anon_sym_QMARK] = ACTIONS(142),
    [anon_sym_COLON] = ACTIONS(142),
    [anon_sym_DOT_DOT] = ACTIONS(144),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(142),
    [anon_sym_and] = ACTIONS(142),
    [anon_sym_or] = ACTIONS(142),
    [anon_sym_PIPE_PIPE] = ACTIONS(144),
    [anon_sym_AMP_AMP] = ACTIONS(144),
    [anon_sym_LT_LT] = ACTIONS(144),
    [anon_sym_GT_GT] = ACTIONS(144),
    [anon_sym_EQ_EQ] = ACTIONS(144),
    [anon_sym_BANG_EQ] = ACTIONS(142),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(142),
    [anon_sym_LT_EQ_GT] = ACTIONS(142),
    [anon_sym_EQ_TILDE] = ACTIONS(142),
    [anon_sym_BANG_TILDE] = ACTIONS(142),
    [anon_sym_LT_EQ] = ACTIONS(144),
    [anon_sym_GT] = ACTIONS(144),
    [anon_sym_GT_EQ] = ACTIONS(142),
    [anon_sym_CARET] = ACTIONS(144),
    [anon_sym_PLUS] = ACTIONS(144),
    [anon_sym_SLASH] = ACTIONS(144),
    [anon_sym_PERCENT] = ACTIONS(144),
    [sym_comment] = ACTIONS(256),
  },
  [1057] = {
    [sym__statement] = STATE(3051),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(3052),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [1058] = {
    [sym__statement] = STATE(3053),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(3054),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [1059] = {
    [sym__statement] = STATE(3055),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(3056),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [1060] = {
    [sym__statement] = STATE(3057),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(3058),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [1061] = {
    [sym__statement] = STATE(3059),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(3060),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [1062] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_RBRACE] = ACTIONS(250),
    [anon_sym_RPAREN] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_in] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_RBRACK] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_COLON] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [1063] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(3080),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1105),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1106),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(1740),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(4460),
    [anon_sym_yield] = ACTIONS(4462),
    [anon_sym_break] = ACTIONS(4464),
    [anon_sym_next] = ACTIONS(4466),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(4486),
    [anon_sym_defined_QMARK] = ACTIONS(1780),
    [anon_sym_not] = ACTIONS(4488),
    [anon_sym_BANG] = ACTIONS(1786),
    [anon_sym_TILDE] = ACTIONS(1786),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [1064] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(3082),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1105),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1106),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(1740),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(4460),
    [anon_sym_yield] = ACTIONS(4462),
    [anon_sym_break] = ACTIONS(4464),
    [anon_sym_next] = ACTIONS(4466),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(4486),
    [anon_sym_defined_QMARK] = ACTIONS(1780),
    [anon_sym_not] = ACTIONS(4488),
    [anon_sym_BANG] = ACTIONS(1786),
    [anon_sym_TILDE] = ACTIONS(1786),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [1065] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1382),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(3084),
    [sym__argument] = STATE(1385),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1386),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1387),
    [sym__variable] = STATE(1383),
    [sym_reserved_identifier] = STATE(1388),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1389),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(3085),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(2154),
    [sym__splat_star] = ACTIONS(2156),
    [sym__unary_minus] = ACTIONS(2158),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(4492),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2162),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2164),
    [anon_sym_yield] = ACTIONS(2166),
    [anon_sym_break] = ACTIONS(2168),
    [anon_sym_next] = ACTIONS(2170),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2172),
    [anon_sym_defined_QMARK] = ACTIONS(2174),
    [anon_sym_not] = ACTIONS(2176),
    [anon_sym_BANG] = ACTIONS(2178),
    [anon_sym_TILDE] = ACTIONS(2178),
    [sym_constant] = ACTIONS(2180),
    [sym_identifier] = ACTIONS(2180),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1066] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(3086),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1105),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1106),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(1740),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(4460),
    [anon_sym_yield] = ACTIONS(4462),
    [anon_sym_break] = ACTIONS(4464),
    [anon_sym_next] = ACTIONS(4466),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(4486),
    [anon_sym_defined_QMARK] = ACTIONS(1780),
    [anon_sym_not] = ACTIONS(4488),
    [anon_sym_BANG] = ACTIONS(1786),
    [anon_sym_TILDE] = ACTIONS(1786),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [1067] = {
    [sym__statements] = STATE(3088),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(3089),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2128),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_hash_splat_argument] = STATE(197),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(2130),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2131),
    [sym__variable] = STATE(2129),
    [sym_reserved_identifier] = STATE(201),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(2132),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(3090),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym__hash_items] = STATE(3091),
    [sym_pair] = STATE(205),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3268),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(4494),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_PIPE] = ACTIONS(3048),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(302),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(3272),
    [anon_sym_yield] = ACTIONS(3274),
    [anon_sym_break] = ACTIONS(3276),
    [anon_sym_next] = ACTIONS(3278),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(3280),
    [anon_sym_defined_QMARK] = ACTIONS(3282),
    [anon_sym_not] = ACTIONS(3284),
    [anon_sym_BANG] = ACTIONS(3286),
    [anon_sym_TILDE] = ACTIONS(3286),
    [sym_constant] = ACTIONS(3288),
    [sym_identifier] = ACTIONS(3288),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(3290),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(3292),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1068] = {
    [sym__method_rest] = STATE(3093),
    [sym__variable] = STATE(3094),
    [sym_operator] = STATE(217),
    [sym__method_name] = STATE(3095),
    [sym_setter] = STATE(217),
    [sym_symbol] = STATE(217),
    [sym_super] = STATE(219),
    [sym_self] = STATE(219),
    [sym__simple_symbol] = ACTIONS(378),
    [sym__symbol_beginning] = ACTIONS(380),
    [sym__keyword_colon] = ACTIONS(1556),
    [anon_sym_LPAREN] = ACTIONS(4496),
    [anon_sym_PIPE] = ACTIONS(384),
    [anon_sym_STAR] = ACTIONS(386),
    [anon_sym_STAR_STAR] = ACTIONS(384),
    [anon_sym_AMP] = ACTIONS(384),
    [anon_sym_LT] = ACTIONS(386),
    [anon_sym_DOT_DOT] = ACTIONS(384),
    [anon_sym_LT_LT] = ACTIONS(384),
    [anon_sym_GT_GT] = ACTIONS(384),
    [anon_sym_EQ_EQ] = ACTIONS(386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(384),
    [anon_sym_LT_EQ_GT] = ACTIONS(384),
    [anon_sym_EQ_TILDE] = ACTIONS(384),
    [anon_sym_BANG_TILDE] = ACTIONS(384),
    [anon_sym_LT_EQ] = ACTIONS(386),
    [anon_sym_GT] = ACTIONS(386),
    [anon_sym_GT_EQ] = ACTIONS(384),
    [anon_sym_CARET] = ACTIONS(384),
    [anon_sym_PLUS] = ACTIONS(386),
    [anon_sym_SLASH] = ACTIONS(384),
    [anon_sym_PERCENT] = ACTIONS(384),
    [anon_sym_BANG] = ACTIONS(386),
    [anon_sym_TILDE] = ACTIONS(384),
    [sym_constant] = ACTIONS(388),
    [sym_identifier] = ACTIONS(390),
    [sym_instance_variable] = ACTIONS(388),
    [sym_class_variable] = ACTIONS(388),
    [sym_global_variable] = ACTIONS(388),
    [anon_sym_self] = ACTIONS(392),
    [anon_sym_super] = ACTIONS(394),
    [anon_sym_DASH] = ACTIONS(386),
    [anon_sym_PLUS_AT] = ACTIONS(384),
    [anon_sym_DASH_AT] = ACTIONS(384),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(386),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(384),
    [anon_sym_BQUOTE] = ACTIONS(384),
    [sym_comment] = ACTIONS(110),
  },
  [1069] = {
    [sym__statements] = STATE(3097),
    [sym__top_level_statement] = STATE(235),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(236),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(237),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(240),
    [sym__mlhs] = STATE(241),
    [sym__simple_mlhs] = STATE(242),
    [sym_destructured_left_assignment] = STATE(242),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(243),
    [sym__variable] = STATE(239),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(396),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_RPAREN] = ACTIONS(4498),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(402),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(412),
    [anon_sym_defined_QMARK] = ACTIONS(414),
    [anon_sym_not] = ACTIONS(416),
    [anon_sym_BANG] = ACTIONS(418),
    [anon_sym_TILDE] = ACTIONS(418),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1070] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(3098),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1105),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1106),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(1740),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(4460),
    [anon_sym_yield] = ACTIONS(4462),
    [anon_sym_break] = ACTIONS(4464),
    [anon_sym_next] = ACTIONS(4466),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(4486),
    [anon_sym_defined_QMARK] = ACTIONS(1780),
    [anon_sym_not] = ACTIONS(4488),
    [anon_sym_BANG] = ACTIONS(1786),
    [anon_sym_TILDE] = ACTIONS(1786),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [1071] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(293),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(3101),
    [sym_call] = STATE(295),
    [sym_method_call] = STATE(286),
    [sym__lhs] = STATE(255),
    [sym__variable] = STATE(295),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__singleton_class_left_angle_left_langle] = ACTIONS(4500),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(458),
    [anon_sym_COLON_COLON] = ACTIONS(524),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(4502),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [1072] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(293),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(3103),
    [sym_call] = STATE(295),
    [sym_method_call] = STATE(286),
    [sym__lhs] = STATE(255),
    [sym__variable] = STATE(295),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [sym__keyword_colon] = ACTIONS(1556),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(458),
    [anon_sym_COLON_COLON] = ACTIONS(524),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(4504),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [1073] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(1096),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(3104),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(1101),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1105),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1106),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1107),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(1108),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(1734),
    [sym__splat_star] = ACTIONS(1736),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(1740),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(544),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(1752),
    [anon_sym_yield] = ACTIONS(1754),
    [anon_sym_break] = ACTIONS(1756),
    [anon_sym_next] = ACTIONS(1758),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_PLUS_EQ] = ACTIONS(532),
    [anon_sym_DASH_EQ] = ACTIONS(532),
    [anon_sym_STAR_EQ] = ACTIONS(532),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(532),
    [anon_sym_SLASH_EQ] = ACTIONS(532),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(532),
    [anon_sym_PIPE_EQ] = ACTIONS(532),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(532),
    [anon_sym_AMP_EQ] = ACTIONS(532),
    [anon_sym_PERCENT_EQ] = ACTIONS(532),
    [anon_sym_GT_GT_EQ] = ACTIONS(532),
    [anon_sym_LT_LT_EQ] = ACTIONS(532),
    [anon_sym_CARET_EQ] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(544),
    [anon_sym_AMP_AMP] = ACTIONS(544),
    [anon_sym_LT_LT] = ACTIONS(544),
    [anon_sym_GT_GT] = ACTIONS(544),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(544),
    [anon_sym_PERCENT] = ACTIONS(544),
    [anon_sym_defined_QMARK] = ACTIONS(1780),
    [anon_sym_not] = ACTIONS(1782),
    [anon_sym_BANG] = ACTIONS(1784),
    [anon_sym_TILDE] = ACTIONS(1786),
    [sym_constant] = ACTIONS(1788),
    [sym_identifier] = ACTIONS(1788),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [1074] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(1096),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(3105),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(1101),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1105),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1106),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1107),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(1108),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(1734),
    [sym__splat_star] = ACTIONS(1736),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(1740),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(604),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(1752),
    [anon_sym_yield] = ACTIONS(1754),
    [anon_sym_break] = ACTIONS(1756),
    [anon_sym_next] = ACTIONS(1758),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_PLUS_EQ] = ACTIONS(602),
    [anon_sym_DASH_EQ] = ACTIONS(602),
    [anon_sym_STAR_EQ] = ACTIONS(602),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(602),
    [anon_sym_SLASH_EQ] = ACTIONS(602),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(602),
    [anon_sym_PIPE_EQ] = ACTIONS(602),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(602),
    [anon_sym_AMP_EQ] = ACTIONS(602),
    [anon_sym_PERCENT_EQ] = ACTIONS(602),
    [anon_sym_GT_GT_EQ] = ACTIONS(602),
    [anon_sym_LT_LT_EQ] = ACTIONS(602),
    [anon_sym_CARET_EQ] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(604),
    [anon_sym_AMP_AMP] = ACTIONS(604),
    [anon_sym_LT_LT] = ACTIONS(604),
    [anon_sym_GT_GT] = ACTIONS(604),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(604),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(604),
    [anon_sym_PERCENT] = ACTIONS(604),
    [anon_sym_defined_QMARK] = ACTIONS(1780),
    [anon_sym_not] = ACTIONS(1782),
    [anon_sym_BANG] = ACTIONS(1784),
    [anon_sym_TILDE] = ACTIONS(1786),
    [sym_constant] = ACTIONS(1788),
    [sym_identifier] = ACTIONS(1788),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [1075] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(1096),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(3106),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(1101),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1105),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1106),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1107),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(1108),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(1734),
    [sym__splat_star] = ACTIONS(1736),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(1740),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(608),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(1752),
    [anon_sym_yield] = ACTIONS(1754),
    [anon_sym_break] = ACTIONS(1756),
    [anon_sym_next] = ACTIONS(1758),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_PLUS_EQ] = ACTIONS(606),
    [anon_sym_DASH_EQ] = ACTIONS(606),
    [anon_sym_STAR_EQ] = ACTIONS(606),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(606),
    [anon_sym_SLASH_EQ] = ACTIONS(606),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(606),
    [anon_sym_PIPE_EQ] = ACTIONS(606),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(606),
    [anon_sym_AMP_EQ] = ACTIONS(606),
    [anon_sym_PERCENT_EQ] = ACTIONS(606),
    [anon_sym_GT_GT_EQ] = ACTIONS(606),
    [anon_sym_LT_LT_EQ] = ACTIONS(606),
    [anon_sym_CARET_EQ] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(608),
    [anon_sym_AMP_AMP] = ACTIONS(608),
    [anon_sym_LT_LT] = ACTIONS(608),
    [anon_sym_GT_GT] = ACTIONS(608),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(608),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(608),
    [anon_sym_PERCENT] = ACTIONS(608),
    [anon_sym_defined_QMARK] = ACTIONS(1780),
    [anon_sym_not] = ACTIONS(1782),
    [anon_sym_BANG] = ACTIONS(1784),
    [anon_sym_TILDE] = ACTIONS(1786),
    [sym_constant] = ACTIONS(1788),
    [sym_identifier] = ACTIONS(1788),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [1076] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(1096),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(3107),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(1101),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1105),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1106),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1107),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(1108),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(1734),
    [sym__splat_star] = ACTIONS(1736),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(1740),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(612),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(1752),
    [anon_sym_yield] = ACTIONS(1754),
    [anon_sym_break] = ACTIONS(1756),
    [anon_sym_next] = ACTIONS(1758),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_PLUS_EQ] = ACTIONS(610),
    [anon_sym_DASH_EQ] = ACTIONS(610),
    [anon_sym_STAR_EQ] = ACTIONS(610),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(610),
    [anon_sym_SLASH_EQ] = ACTIONS(610),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(610),
    [anon_sym_PIPE_EQ] = ACTIONS(610),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(610),
    [anon_sym_AMP_EQ] = ACTIONS(610),
    [anon_sym_PERCENT_EQ] = ACTIONS(610),
    [anon_sym_GT_GT_EQ] = ACTIONS(610),
    [anon_sym_LT_LT_EQ] = ACTIONS(610),
    [anon_sym_CARET_EQ] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(612),
    [anon_sym_AMP_AMP] = ACTIONS(612),
    [anon_sym_LT_LT] = ACTIONS(612),
    [anon_sym_GT_GT] = ACTIONS(612),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(612),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(612),
    [anon_sym_PERCENT] = ACTIONS(612),
    [anon_sym_defined_QMARK] = ACTIONS(1780),
    [anon_sym_not] = ACTIONS(1782),
    [anon_sym_BANG] = ACTIONS(1784),
    [anon_sym_TILDE] = ACTIONS(1786),
    [sym_constant] = ACTIONS(1788),
    [sym_identifier] = ACTIONS(1788),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [1077] = {
    [sym__simple_heredoc_body] = ACTIONS(614),
    [sym__heredoc_body_beginning] = ACTIONS(614),
    [sym__element_reference_left_bracket] = ACTIONS(614),
    [sym__scope_double_colon] = ACTIONS(614),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__binary_minus] = ACTIONS(614),
    [sym__binary_star] = ACTIONS(614),
    [anon_sym_LBRACE] = ACTIONS(614),
    [anon_sym_RBRACE] = ACTIONS(614),
    [anon_sym_RPAREN] = ACTIONS(614),
    [anon_sym_DOT] = ACTIONS(616),
    [anon_sym_COMMA] = ACTIONS(614),
    [anon_sym_PIPE] = ACTIONS(616),
    [anon_sym_SEMI] = ACTIONS(614),
    [anon_sym_STAR_STAR] = ACTIONS(616),
    [anon_sym_AMP] = ACTIONS(616),
    [anon_sym_EQ] = ACTIONS(616),
    [anon_sym_LT] = ACTIONS(616),
    [anon_sym_in] = ACTIONS(614),
    [anon_sym_do] = ACTIONS(614),
    [anon_sym_EQ_GT] = ACTIONS(614),
    [anon_sym_RBRACK] = ACTIONS(614),
    [anon_sym_AMP_DOT] = ACTIONS(614),
    [anon_sym_PLUS_EQ] = ACTIONS(614),
    [anon_sym_DASH_EQ] = ACTIONS(614),
    [anon_sym_STAR_EQ] = ACTIONS(614),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(614),
    [anon_sym_SLASH_EQ] = ACTIONS(614),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(614),
    [anon_sym_PIPE_EQ] = ACTIONS(614),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(614),
    [anon_sym_AMP_EQ] = ACTIONS(614),
    [anon_sym_PERCENT_EQ] = ACTIONS(614),
    [anon_sym_GT_GT_EQ] = ACTIONS(614),
    [anon_sym_LT_LT_EQ] = ACTIONS(614),
    [anon_sym_CARET_EQ] = ACTIONS(614),
    [anon_sym_QMARK] = ACTIONS(614),
    [anon_sym_COLON] = ACTIONS(614),
    [anon_sym_DOT_DOT] = ACTIONS(616),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(614),
    [anon_sym_and] = ACTIONS(614),
    [anon_sym_or] = ACTIONS(614),
    [anon_sym_PIPE_PIPE] = ACTIONS(616),
    [anon_sym_AMP_AMP] = ACTIONS(616),
    [anon_sym_LT_LT] = ACTIONS(616),
    [anon_sym_GT_GT] = ACTIONS(616),
    [anon_sym_EQ_EQ] = ACTIONS(616),
    [anon_sym_BANG_EQ] = ACTIONS(614),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(614),
    [anon_sym_LT_EQ_GT] = ACTIONS(614),
    [anon_sym_EQ_TILDE] = ACTIONS(614),
    [anon_sym_BANG_TILDE] = ACTIONS(614),
    [anon_sym_LT_EQ] = ACTIONS(616),
    [anon_sym_GT] = ACTIONS(616),
    [anon_sym_GT_EQ] = ACTIONS(614),
    [anon_sym_CARET] = ACTIONS(616),
    [anon_sym_PLUS] = ACTIONS(616),
    [anon_sym_SLASH] = ACTIONS(616),
    [anon_sym_PERCENT] = ACTIONS(616),
    [sym_comment] = ACTIONS(256),
  },
  [1078] = {
    [sym__simple_heredoc_body] = ACTIONS(618),
    [sym__heredoc_body_beginning] = ACTIONS(618),
    [sym__element_reference_left_bracket] = ACTIONS(618),
    [sym__scope_double_colon] = ACTIONS(618),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__binary_minus] = ACTIONS(618),
    [sym__binary_star] = ACTIONS(618),
    [anon_sym_LBRACE] = ACTIONS(618),
    [anon_sym_RBRACE] = ACTIONS(618),
    [anon_sym_RPAREN] = ACTIONS(618),
    [anon_sym_DOT] = ACTIONS(620),
    [anon_sym_COMMA] = ACTIONS(618),
    [anon_sym_PIPE] = ACTIONS(620),
    [anon_sym_SEMI] = ACTIONS(618),
    [anon_sym_STAR_STAR] = ACTIONS(620),
    [anon_sym_AMP] = ACTIONS(620),
    [anon_sym_EQ] = ACTIONS(620),
    [anon_sym_LT] = ACTIONS(620),
    [anon_sym_in] = ACTIONS(618),
    [anon_sym_do] = ACTIONS(618),
    [anon_sym_EQ_GT] = ACTIONS(618),
    [anon_sym_RBRACK] = ACTIONS(618),
    [anon_sym_AMP_DOT] = ACTIONS(618),
    [anon_sym_PLUS_EQ] = ACTIONS(618),
    [anon_sym_DASH_EQ] = ACTIONS(618),
    [anon_sym_STAR_EQ] = ACTIONS(618),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(618),
    [anon_sym_SLASH_EQ] = ACTIONS(618),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(618),
    [anon_sym_PIPE_EQ] = ACTIONS(618),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(618),
    [anon_sym_AMP_EQ] = ACTIONS(618),
    [anon_sym_PERCENT_EQ] = ACTIONS(618),
    [anon_sym_GT_GT_EQ] = ACTIONS(618),
    [anon_sym_LT_LT_EQ] = ACTIONS(618),
    [anon_sym_CARET_EQ] = ACTIONS(618),
    [anon_sym_QMARK] = ACTIONS(618),
    [anon_sym_COLON] = ACTIONS(618),
    [anon_sym_DOT_DOT] = ACTIONS(620),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(618),
    [anon_sym_and] = ACTIONS(618),
    [anon_sym_or] = ACTIONS(618),
    [anon_sym_PIPE_PIPE] = ACTIONS(620),
    [anon_sym_AMP_AMP] = ACTIONS(620),
    [anon_sym_LT_LT] = ACTIONS(620),
    [anon_sym_GT_GT] = ACTIONS(620),
    [anon_sym_EQ_EQ] = ACTIONS(620),
    [anon_sym_BANG_EQ] = ACTIONS(618),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(618),
    [anon_sym_LT_EQ_GT] = ACTIONS(618),
    [anon_sym_EQ_TILDE] = ACTIONS(618),
    [anon_sym_BANG_TILDE] = ACTIONS(618),
    [anon_sym_LT_EQ] = ACTIONS(620),
    [anon_sym_GT] = ACTIONS(620),
    [anon_sym_GT_EQ] = ACTIONS(618),
    [anon_sym_CARET] = ACTIONS(620),
    [anon_sym_PLUS] = ACTIONS(620),
    [anon_sym_SLASH] = ACTIONS(620),
    [anon_sym_PERCENT] = ACTIONS(620),
    [sym_comment] = ACTIONS(256),
  },
  [1079] = {
    [sym__statement] = STATE(3108),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(361),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1080] = {
    [sym__statement] = STATE(3109),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(361),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1081] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3110),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1082] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3111),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1083] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(285),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(381),
    [sym_call] = STATE(381),
    [sym_method_call] = STATE(286),
    [sym__mlhs] = STATE(3112),
    [sym__simple_mlhs] = STATE(383),
    [sym_destructured_left_assignment] = STATE(383),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(384),
    [sym__variable] = STATE(381),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [sym__keyword_colon] = ACTIONS(1556),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(658),
    [anon_sym_COLON_COLON] = ACTIONS(460),
    [anon_sym_STAR] = ACTIONS(660),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(494),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [1084] = {
    [sym__statements] = STATE(3114),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(3115),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1981),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(3116),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(3076),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(3078),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(3080),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(4506),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(3086),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1085] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_when] = STATE(3117),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3118),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(400),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(401),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(387),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__terminator] = STATE(402),
    [aux_sym_case_repeat1] = STATE(3119),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(666),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(668),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_when] = ACTIONS(678),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(680),
    [anon_sym_defined_QMARK] = ACTIONS(682),
    [anon_sym_not] = ACTIONS(684),
    [anon_sym_BANG] = ACTIONS(686),
    [anon_sym_TILDE] = ACTIONS(686),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1086] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(3121),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(3122),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(692),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(4508),
    [anon_sym_SEMI] = ACTIONS(698),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1087] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(3123),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1105),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1106),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(1740),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(4460),
    [anon_sym_yield] = ACTIONS(4462),
    [anon_sym_break] = ACTIONS(4464),
    [anon_sym_next] = ACTIONS(4466),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(4486),
    [anon_sym_defined_QMARK] = ACTIONS(1780),
    [anon_sym_not] = ACTIONS(4488),
    [anon_sym_BANG] = ACTIONS(1786),
    [anon_sym_TILDE] = ACTIONS(1786),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [1088] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(3124),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1105),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1106),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(1740),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(4460),
    [anon_sym_yield] = ACTIONS(4462),
    [anon_sym_break] = ACTIONS(4464),
    [anon_sym_next] = ACTIONS(4466),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(4486),
    [anon_sym_defined_QMARK] = ACTIONS(1780),
    [anon_sym_not] = ACTIONS(4488),
    [anon_sym_BANG] = ACTIONS(1786),
    [anon_sym_TILDE] = ACTIONS(1786),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [1089] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(3124),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1105),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1106),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(1740),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(4460),
    [anon_sym_yield] = ACTIONS(4462),
    [anon_sym_break] = ACTIONS(4464),
    [anon_sym_next] = ACTIONS(4466),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(4486),
    [anon_sym_defined_QMARK] = ACTIONS(1780),
    [anon_sym_not] = ACTIONS(4488),
    [anon_sym_BANG] = ACTIONS(1786),
    [anon_sym_TILDE] = ACTIONS(1786),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [1090] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(3125),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1105),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1106),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(1740),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(4460),
    [anon_sym_yield] = ACTIONS(4462),
    [anon_sym_break] = ACTIONS(4464),
    [anon_sym_next] = ACTIONS(4466),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(4486),
    [anon_sym_defined_QMARK] = ACTIONS(1780),
    [anon_sym_not] = ACTIONS(4488),
    [anon_sym_BANG] = ACTIONS(1786),
    [anon_sym_TILDE] = ACTIONS(1786),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [1091] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(4510),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [1092] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_RBRACE] = ACTIONS(250),
    [anon_sym_RPAREN] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_in] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_RBRACK] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_COLON] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
    [anon_sym_r] = ACTIONS(4512),
  },
  [1093] = {
    [sym__simple_heredoc_body] = ACTIONS(778),
    [sym__heredoc_body_beginning] = ACTIONS(778),
    [sym__element_reference_left_bracket] = ACTIONS(778),
    [sym__scope_double_colon] = ACTIONS(778),
    [sym__binary_minus] = ACTIONS(778),
    [sym__binary_star] = ACTIONS(778),
    [anon_sym_LBRACE] = ACTIONS(778),
    [anon_sym_RBRACE] = ACTIONS(778),
    [anon_sym_RPAREN] = ACTIONS(778),
    [anon_sym_DOT] = ACTIONS(780),
    [anon_sym_COMMA] = ACTIONS(778),
    [anon_sym_PIPE] = ACTIONS(780),
    [anon_sym_SEMI] = ACTIONS(778),
    [anon_sym_STAR_STAR] = ACTIONS(780),
    [anon_sym_AMP] = ACTIONS(780),
    [anon_sym_EQ] = ACTIONS(780),
    [anon_sym_LT] = ACTIONS(780),
    [anon_sym_in] = ACTIONS(778),
    [anon_sym_do] = ACTIONS(778),
    [anon_sym_EQ_GT] = ACTIONS(778),
    [anon_sym_RBRACK] = ACTIONS(778),
    [anon_sym_AMP_DOT] = ACTIONS(778),
    [anon_sym_PLUS_EQ] = ACTIONS(778),
    [anon_sym_DASH_EQ] = ACTIONS(778),
    [anon_sym_STAR_EQ] = ACTIONS(778),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(778),
    [anon_sym_SLASH_EQ] = ACTIONS(778),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(778),
    [anon_sym_PIPE_EQ] = ACTIONS(778),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(778),
    [anon_sym_AMP_EQ] = ACTIONS(778),
    [anon_sym_PERCENT_EQ] = ACTIONS(778),
    [anon_sym_GT_GT_EQ] = ACTIONS(778),
    [anon_sym_LT_LT_EQ] = ACTIONS(778),
    [anon_sym_CARET_EQ] = ACTIONS(778),
    [anon_sym_QMARK] = ACTIONS(778),
    [anon_sym_COLON] = ACTIONS(778),
    [anon_sym_DOT_DOT] = ACTIONS(780),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(778),
    [anon_sym_and] = ACTIONS(778),
    [anon_sym_or] = ACTIONS(778),
    [anon_sym_PIPE_PIPE] = ACTIONS(780),
    [anon_sym_AMP_AMP] = ACTIONS(780),
    [anon_sym_LT_LT] = ACTIONS(780),
    [anon_sym_GT_GT] = ACTIONS(780),
    [anon_sym_EQ_EQ] = ACTIONS(780),
    [anon_sym_BANG_EQ] = ACTIONS(778),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(778),
    [anon_sym_LT_EQ_GT] = ACTIONS(778),
    [anon_sym_EQ_TILDE] = ACTIONS(778),
    [anon_sym_BANG_TILDE] = ACTIONS(778),
    [anon_sym_LT_EQ] = ACTIONS(780),
    [anon_sym_GT] = ACTIONS(780),
    [anon_sym_GT_EQ] = ACTIONS(778),
    [anon_sym_CARET] = ACTIONS(780),
    [anon_sym_PLUS] = ACTIONS(780),
    [anon_sym_SLASH] = ACTIONS(780),
    [anon_sym_PERCENT] = ACTIONS(780),
    [sym_comment] = ACTIONS(256),
  },
  [1094] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(501),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(3129),
    [sym__argument] = STATE(506),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(509),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(510),
    [sym__variable] = STATE(504),
    [sym_reserved_identifier] = STATE(511),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(512),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(3130),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(804),
    [sym__splat_star] = ACTIONS(806),
    [sym__unary_minus] = ACTIONS(808),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(818),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(824),
    [anon_sym_yield] = ACTIONS(826),
    [anon_sym_break] = ACTIONS(828),
    [anon_sym_next] = ACTIONS(830),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_RBRACK] = ACTIONS(4514),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(852),
    [anon_sym_defined_QMARK] = ACTIONS(854),
    [anon_sym_not] = ACTIONS(856),
    [anon_sym_BANG] = ACTIONS(858),
    [anon_sym_TILDE] = ACTIONS(858),
    [sym_constant] = ACTIONS(860),
    [sym_identifier] = ACTIONS(860),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1095] = {
    [sym_lambda_parameters] = STATE(3133),
    [sym__simple_formal_parameter] = STATE(522),
    [sym_splat_parameter] = STATE(523),
    [sym_hash_splat_parameter] = STATE(523),
    [sym_block_parameter] = STATE(523),
    [sym_keyword_parameter] = STATE(523),
    [sym_optional_parameter] = STATE(523),
    [sym_do_block] = STATE(3134),
    [sym_block] = STATE(3134),
    [anon_sym_LBRACE] = ACTIONS(4516),
    [anon_sym_LPAREN] = ACTIONS(896),
    [anon_sym_STAR] = ACTIONS(898),
    [anon_sym_STAR_STAR] = ACTIONS(900),
    [anon_sym_AMP] = ACTIONS(902),
    [anon_sym_do] = ACTIONS(4518),
    [sym_identifier] = ACTIONS(906),
    [sym_comment] = ACTIONS(110),
  },
  [1096] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(4520),
    [sym__binary_star] = ACTIONS(4522),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(4524),
    [anon_sym_STAR_STAR] = ACTIONS(4526),
    [anon_sym_AMP] = ACTIONS(4528),
    [anon_sym_EQ] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(4530),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_PLUS_EQ] = ACTIONS(2210),
    [anon_sym_DASH_EQ] = ACTIONS(2210),
    [anon_sym_STAR_EQ] = ACTIONS(2210),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2210),
    [anon_sym_SLASH_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2210),
    [anon_sym_AMP_EQ] = ACTIONS(2210),
    [anon_sym_PERCENT_EQ] = ACTIONS(2210),
    [anon_sym_GT_GT_EQ] = ACTIONS(2210),
    [anon_sym_LT_LT_EQ] = ACTIONS(2210),
    [anon_sym_CARET_EQ] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(4532),
    [anon_sym_DOT_DOT] = ACTIONS(4534),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4536),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(4538),
    [anon_sym_AMP_AMP] = ACTIONS(4538),
    [anon_sym_LT_LT] = ACTIONS(4540),
    [anon_sym_GT_GT] = ACTIONS(4540),
    [anon_sym_EQ_EQ] = ACTIONS(4538),
    [anon_sym_BANG_EQ] = ACTIONS(4542),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4542),
    [anon_sym_LT_EQ_GT] = ACTIONS(4542),
    [anon_sym_EQ_TILDE] = ACTIONS(4542),
    [anon_sym_BANG_TILDE] = ACTIONS(4542),
    [anon_sym_LT_EQ] = ACTIONS(4530),
    [anon_sym_GT] = ACTIONS(4530),
    [anon_sym_GT_EQ] = ACTIONS(4544),
    [anon_sym_CARET] = ACTIONS(4524),
    [anon_sym_PLUS] = ACTIONS(4546),
    [anon_sym_SLASH] = ACTIONS(4526),
    [anon_sym_PERCENT] = ACTIONS(4526),
    [sym_comment] = ACTIONS(256),
  },
  [1097] = {
    [sym__simple_heredoc_body] = ACTIONS(968),
    [sym__heredoc_body_beginning] = ACTIONS(968),
    [sym__element_reference_left_bracket] = ACTIONS(2998),
    [sym__scope_double_colon] = ACTIONS(3000),
    [sym__binary_minus] = ACTIONS(968),
    [sym__binary_star] = ACTIONS(968),
    [anon_sym_LBRACE] = ACTIONS(968),
    [anon_sym_RBRACE] = ACTIONS(968),
    [anon_sym_RPAREN] = ACTIONS(968),
    [anon_sym_DOT] = ACTIONS(3002),
    [anon_sym_COMMA] = ACTIONS(968),
    [anon_sym_PIPE] = ACTIONS(976),
    [anon_sym_SEMI] = ACTIONS(968),
    [anon_sym_STAR_STAR] = ACTIONS(976),
    [anon_sym_AMP] = ACTIONS(976),
    [anon_sym_EQ] = ACTIONS(976),
    [anon_sym_LT] = ACTIONS(976),
    [anon_sym_in] = ACTIONS(968),
    [anon_sym_do] = ACTIONS(968),
    [anon_sym_EQ_GT] = ACTIONS(968),
    [anon_sym_RBRACK] = ACTIONS(968),
    [anon_sym_AMP_DOT] = ACTIONS(3004),
    [anon_sym_PLUS_EQ] = ACTIONS(968),
    [anon_sym_DASH_EQ] = ACTIONS(968),
    [anon_sym_STAR_EQ] = ACTIONS(968),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(968),
    [anon_sym_SLASH_EQ] = ACTIONS(968),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(968),
    [anon_sym_PIPE_EQ] = ACTIONS(968),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(968),
    [anon_sym_AMP_EQ] = ACTIONS(968),
    [anon_sym_PERCENT_EQ] = ACTIONS(968),
    [anon_sym_GT_GT_EQ] = ACTIONS(968),
    [anon_sym_LT_LT_EQ] = ACTIONS(968),
    [anon_sym_CARET_EQ] = ACTIONS(968),
    [anon_sym_QMARK] = ACTIONS(968),
    [anon_sym_COLON] = ACTIONS(968),
    [anon_sym_DOT_DOT] = ACTIONS(976),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(968),
    [anon_sym_and] = ACTIONS(968),
    [anon_sym_or] = ACTIONS(968),
    [anon_sym_PIPE_PIPE] = ACTIONS(976),
    [anon_sym_AMP_AMP] = ACTIONS(976),
    [anon_sym_LT_LT] = ACTIONS(976),
    [anon_sym_GT_GT] = ACTIONS(976),
    [anon_sym_EQ_EQ] = ACTIONS(976),
    [anon_sym_BANG_EQ] = ACTIONS(968),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(968),
    [anon_sym_LT_EQ_GT] = ACTIONS(968),
    [anon_sym_EQ_TILDE] = ACTIONS(968),
    [anon_sym_BANG_TILDE] = ACTIONS(968),
    [anon_sym_LT_EQ] = ACTIONS(976),
    [anon_sym_GT] = ACTIONS(976),
    [anon_sym_GT_EQ] = ACTIONS(968),
    [anon_sym_CARET] = ACTIONS(976),
    [anon_sym_PLUS] = ACTIONS(976),
    [anon_sym_SLASH] = ACTIONS(976),
    [anon_sym_PERCENT] = ACTIONS(976),
    [sym_comment] = ACTIONS(256),
  },
  [1098] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(1096),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(3147),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(1101),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_do_block] = STATE(1952),
    [sym_block] = STATE(1952),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1105),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1106),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1107),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(1108),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(1734),
    [sym__splat_star] = ACTIONS(1736),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(1740),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(3012),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(1752),
    [anon_sym_yield] = ACTIONS(1754),
    [anon_sym_break] = ACTIONS(1756),
    [anon_sym_next] = ACTIONS(1758),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(982),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(980),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(1780),
    [anon_sym_not] = ACTIONS(1782),
    [anon_sym_BANG] = ACTIONS(1784),
    [anon_sym_TILDE] = ACTIONS(1786),
    [sym_constant] = ACTIONS(1788),
    [sym_identifier] = ACTIONS(1788),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [1099] = {
    [sym_do_block] = STATE(3150),
    [sym_block] = STATE(3150),
    [sym__element_reference_left_bracket] = ACTIONS(3346),
    [sym__scope_double_colon] = ACTIONS(3346),
    [sym__binary_minus] = ACTIONS(3346),
    [sym__binary_star] = ACTIONS(3346),
    [anon_sym_LBRACE] = ACTIONS(4548),
    [anon_sym_DOT] = ACTIONS(3350),
    [anon_sym_COMMA] = ACTIONS(3346),
    [anon_sym_PIPE] = ACTIONS(3350),
    [anon_sym_STAR_STAR] = ACTIONS(3350),
    [anon_sym_AMP] = ACTIONS(3350),
    [anon_sym_EQ] = ACTIONS(3350),
    [anon_sym_LT] = ACTIONS(3350),
    [anon_sym_do] = ACTIONS(4550),
    [anon_sym_EQ_GT] = ACTIONS(3346),
    [anon_sym_AMP_DOT] = ACTIONS(3346),
    [anon_sym_PLUS_EQ] = ACTIONS(3346),
    [anon_sym_DASH_EQ] = ACTIONS(3346),
    [anon_sym_STAR_EQ] = ACTIONS(3346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3346),
    [anon_sym_SLASH_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3346),
    [anon_sym_AMP_EQ] = ACTIONS(3346),
    [anon_sym_PERCENT_EQ] = ACTIONS(3346),
    [anon_sym_GT_GT_EQ] = ACTIONS(3346),
    [anon_sym_LT_LT_EQ] = ACTIONS(3346),
    [anon_sym_CARET_EQ] = ACTIONS(3346),
    [anon_sym_QMARK] = ACTIONS(3346),
    [anon_sym_DOT_DOT] = ACTIONS(3350),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3346),
    [anon_sym_and] = ACTIONS(3346),
    [anon_sym_or] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE] = ACTIONS(3350),
    [anon_sym_AMP_AMP] = ACTIONS(3350),
    [anon_sym_LT_LT] = ACTIONS(3350),
    [anon_sym_GT_GT] = ACTIONS(3350),
    [anon_sym_EQ_EQ] = ACTIONS(3350),
    [anon_sym_BANG_EQ] = ACTIONS(3346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3346),
    [anon_sym_LT_EQ_GT] = ACTIONS(3346),
    [anon_sym_EQ_TILDE] = ACTIONS(3346),
    [anon_sym_BANG_TILDE] = ACTIONS(3346),
    [anon_sym_LT_EQ] = ACTIONS(3350),
    [anon_sym_GT] = ACTIONS(3350),
    [anon_sym_GT_EQ] = ACTIONS(3346),
    [anon_sym_CARET] = ACTIONS(3350),
    [anon_sym_PLUS] = ACTIONS(3350),
    [anon_sym_SLASH] = ACTIONS(3350),
    [anon_sym_PERCENT] = ACTIONS(3350),
    [sym_comment] = ACTIONS(256),
  },
  [1100] = {
    [sym_heredoc_end] = STATE(3153),
    [aux_sym_argument_list_repeat2] = STATE(3154),
    [sym__simple_heredoc_body] = ACTIONS(4552),
    [sym__heredoc_body_beginning] = ACTIONS(4554),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_RBRACE] = ACTIONS(2272),
    [anon_sym_RPAREN] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(2272),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_STAR_STAR] = ACTIONS(2274),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_EQ] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_in] = ACTIONS(2272),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_EQ_GT] = ACTIONS(2272),
    [anon_sym_RBRACK] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_PLUS_EQ] = ACTIONS(2272),
    [anon_sym_DASH_EQ] = ACTIONS(2272),
    [anon_sym_STAR_EQ] = ACTIONS(2272),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2272),
    [anon_sym_SLASH_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2272),
    [anon_sym_AMP_EQ] = ACTIONS(2272),
    [anon_sym_PERCENT_EQ] = ACTIONS(2272),
    [anon_sym_GT_GT_EQ] = ACTIONS(2272),
    [anon_sym_LT_LT_EQ] = ACTIONS(2272),
    [anon_sym_CARET_EQ] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_COLON] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2274),
    [anon_sym_AMP_AMP] = ACTIONS(2274),
    [anon_sym_LT_LT] = ACTIONS(2274),
    [anon_sym_GT_GT] = ACTIONS(2274),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2274),
    [anon_sym_PLUS] = ACTIONS(2274),
    [anon_sym_SLASH] = ACTIONS(2274),
    [anon_sym_PERCENT] = ACTIONS(2274),
    [sym_comment] = ACTIONS(256),
  },
  [1101] = {
    [sym_heredoc_end] = STATE(3153),
    [aux_sym_argument_list_repeat1] = STATE(3156),
    [aux_sym_argument_list_repeat2] = STATE(3154),
    [sym__simple_heredoc_body] = ACTIONS(4552),
    [sym__heredoc_body_beginning] = ACTIONS(4554),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(4556),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_STAR_STAR] = ACTIONS(2274),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_EQ] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_EQ_GT] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_PLUS_EQ] = ACTIONS(2272),
    [anon_sym_DASH_EQ] = ACTIONS(2272),
    [anon_sym_STAR_EQ] = ACTIONS(2272),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2272),
    [anon_sym_SLASH_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2272),
    [anon_sym_AMP_EQ] = ACTIONS(2272),
    [anon_sym_PERCENT_EQ] = ACTIONS(2272),
    [anon_sym_GT_GT_EQ] = ACTIONS(2272),
    [anon_sym_LT_LT_EQ] = ACTIONS(2272),
    [anon_sym_CARET_EQ] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2274),
    [anon_sym_AMP_AMP] = ACTIONS(2274),
    [anon_sym_LT_LT] = ACTIONS(2274),
    [anon_sym_GT_GT] = ACTIONS(2274),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2274),
    [anon_sym_PLUS] = ACTIONS(2274),
    [anon_sym_SLASH] = ACTIONS(2274),
    [anon_sym_PERCENT] = ACTIONS(2274),
    [sym_comment] = ACTIONS(256),
  },
  [1102] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(2210),
    [sym__binary_star] = ACTIONS(2210),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_RBRACE] = ACTIONS(2210),
    [anon_sym_RPAREN] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(2216),
    [anon_sym_SEMI] = ACTIONS(2210),
    [anon_sym_STAR_STAR] = ACTIONS(2216),
    [anon_sym_AMP] = ACTIONS(2216),
    [anon_sym_EQ] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(2216),
    [anon_sym_in] = ACTIONS(2210),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(2210),
    [anon_sym_RBRACK] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_PLUS_EQ] = ACTIONS(2210),
    [anon_sym_DASH_EQ] = ACTIONS(2210),
    [anon_sym_STAR_EQ] = ACTIONS(2210),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2210),
    [anon_sym_SLASH_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2210),
    [anon_sym_AMP_EQ] = ACTIONS(2210),
    [anon_sym_PERCENT_EQ] = ACTIONS(2210),
    [anon_sym_GT_GT_EQ] = ACTIONS(2210),
    [anon_sym_LT_LT_EQ] = ACTIONS(2210),
    [anon_sym_CARET_EQ] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(2210),
    [anon_sym_COLON] = ACTIONS(2210),
    [anon_sym_DOT_DOT] = ACTIONS(2216),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2210),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(2216),
    [anon_sym_AMP_AMP] = ACTIONS(2216),
    [anon_sym_LT_LT] = ACTIONS(2216),
    [anon_sym_GT_GT] = ACTIONS(2216),
    [anon_sym_EQ_EQ] = ACTIONS(2216),
    [anon_sym_BANG_EQ] = ACTIONS(2210),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2210),
    [anon_sym_LT_EQ_GT] = ACTIONS(2210),
    [anon_sym_EQ_TILDE] = ACTIONS(2210),
    [anon_sym_BANG_TILDE] = ACTIONS(2210),
    [anon_sym_LT_EQ] = ACTIONS(2216),
    [anon_sym_GT] = ACTIONS(2216),
    [anon_sym_GT_EQ] = ACTIONS(2210),
    [anon_sym_CARET] = ACTIONS(2216),
    [anon_sym_PLUS] = ACTIONS(2216),
    [anon_sym_SLASH] = ACTIONS(2216),
    [anon_sym_PERCENT] = ACTIONS(2216),
    [sym_comment] = ACTIONS(256),
  },
  [1103] = {
    [sym__element_reference_left_bracket] = ACTIONS(3346),
    [sym__scope_double_colon] = ACTIONS(3346),
    [sym__binary_minus] = ACTIONS(3346),
    [sym__binary_star] = ACTIONS(3346),
    [anon_sym_DOT] = ACTIONS(3350),
    [anon_sym_COMMA] = ACTIONS(3346),
    [anon_sym_PIPE] = ACTIONS(3350),
    [anon_sym_STAR_STAR] = ACTIONS(3350),
    [anon_sym_AMP] = ACTIONS(3350),
    [anon_sym_EQ] = ACTIONS(3350),
    [anon_sym_LT] = ACTIONS(3350),
    [anon_sym_EQ_GT] = ACTIONS(3346),
    [anon_sym_AMP_DOT] = ACTIONS(3346),
    [anon_sym_PLUS_EQ] = ACTIONS(3346),
    [anon_sym_DASH_EQ] = ACTIONS(3346),
    [anon_sym_STAR_EQ] = ACTIONS(3346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3346),
    [anon_sym_SLASH_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3346),
    [anon_sym_AMP_EQ] = ACTIONS(3346),
    [anon_sym_PERCENT_EQ] = ACTIONS(3346),
    [anon_sym_GT_GT_EQ] = ACTIONS(3346),
    [anon_sym_LT_LT_EQ] = ACTIONS(3346),
    [anon_sym_CARET_EQ] = ACTIONS(3346),
    [anon_sym_QMARK] = ACTIONS(3346),
    [anon_sym_DOT_DOT] = ACTIONS(3350),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3346),
    [anon_sym_and] = ACTIONS(3346),
    [anon_sym_or] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE] = ACTIONS(3350),
    [anon_sym_AMP_AMP] = ACTIONS(3350),
    [anon_sym_LT_LT] = ACTIONS(3350),
    [anon_sym_GT_GT] = ACTIONS(3350),
    [anon_sym_EQ_EQ] = ACTIONS(3350),
    [anon_sym_BANG_EQ] = ACTIONS(3346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3346),
    [anon_sym_LT_EQ_GT] = ACTIONS(3346),
    [anon_sym_EQ_TILDE] = ACTIONS(3346),
    [anon_sym_BANG_TILDE] = ACTIONS(3346),
    [anon_sym_LT_EQ] = ACTIONS(3350),
    [anon_sym_GT] = ACTIONS(3350),
    [anon_sym_GT_EQ] = ACTIONS(3346),
    [anon_sym_CARET] = ACTIONS(3350),
    [anon_sym_PLUS] = ACTIONS(3350),
    [anon_sym_SLASH] = ACTIONS(3350),
    [anon_sym_PERCENT] = ACTIONS(3350),
    [sym_comment] = ACTIONS(256),
  },
  [1104] = {
    [sym__simple_heredoc_body] = ACTIONS(968),
    [sym__heredoc_body_beginning] = ACTIONS(968),
    [sym__element_reference_left_bracket] = ACTIONS(968),
    [sym__scope_double_colon] = ACTIONS(968),
    [sym__binary_minus] = ACTIONS(968),
    [sym__binary_star] = ACTIONS(968),
    [anon_sym_LBRACE] = ACTIONS(968),
    [anon_sym_RBRACE] = ACTIONS(968),
    [anon_sym_RPAREN] = ACTIONS(968),
    [anon_sym_DOT] = ACTIONS(976),
    [anon_sym_COMMA] = ACTIONS(968),
    [anon_sym_PIPE] = ACTIONS(976),
    [anon_sym_SEMI] = ACTIONS(968),
    [anon_sym_STAR_STAR] = ACTIONS(976),
    [anon_sym_AMP] = ACTIONS(976),
    [anon_sym_EQ] = ACTIONS(976),
    [anon_sym_LT] = ACTIONS(976),
    [anon_sym_in] = ACTIONS(968),
    [anon_sym_do] = ACTIONS(968),
    [anon_sym_EQ_GT] = ACTIONS(968),
    [anon_sym_RBRACK] = ACTIONS(968),
    [anon_sym_AMP_DOT] = ACTIONS(968),
    [anon_sym_PLUS_EQ] = ACTIONS(968),
    [anon_sym_DASH_EQ] = ACTIONS(968),
    [anon_sym_STAR_EQ] = ACTIONS(968),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(968),
    [anon_sym_SLASH_EQ] = ACTIONS(968),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(968),
    [anon_sym_PIPE_EQ] = ACTIONS(968),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(968),
    [anon_sym_AMP_EQ] = ACTIONS(968),
    [anon_sym_PERCENT_EQ] = ACTIONS(968),
    [anon_sym_GT_GT_EQ] = ACTIONS(968),
    [anon_sym_LT_LT_EQ] = ACTIONS(968),
    [anon_sym_CARET_EQ] = ACTIONS(968),
    [anon_sym_QMARK] = ACTIONS(968),
    [anon_sym_COLON] = ACTIONS(968),
    [anon_sym_DOT_DOT] = ACTIONS(976),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(968),
    [anon_sym_and] = ACTIONS(968),
    [anon_sym_or] = ACTIONS(968),
    [anon_sym_PIPE_PIPE] = ACTIONS(976),
    [anon_sym_AMP_AMP] = ACTIONS(976),
    [anon_sym_LT_LT] = ACTIONS(976),
    [anon_sym_GT_GT] = ACTIONS(976),
    [anon_sym_EQ_EQ] = ACTIONS(976),
    [anon_sym_BANG_EQ] = ACTIONS(968),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(968),
    [anon_sym_LT_EQ_GT] = ACTIONS(968),
    [anon_sym_EQ_TILDE] = ACTIONS(968),
    [anon_sym_BANG_TILDE] = ACTIONS(968),
    [anon_sym_LT_EQ] = ACTIONS(976),
    [anon_sym_GT] = ACTIONS(976),
    [anon_sym_GT_EQ] = ACTIONS(968),
    [anon_sym_CARET] = ACTIONS(976),
    [anon_sym_PLUS] = ACTIONS(976),
    [anon_sym_SLASH] = ACTIONS(976),
    [anon_sym_PERCENT] = ACTIONS(976),
    [sym_comment] = ACTIONS(256),
  },
  [1105] = {
    [anon_sym_EQ] = ACTIONS(4558),
    [sym_comment] = ACTIONS(256),
  },
  [1106] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(4560),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(4562),
    [anon_sym_DASH_EQ] = ACTIONS(4562),
    [anon_sym_STAR_EQ] = ACTIONS(4562),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(4562),
    [anon_sym_SLASH_EQ] = ACTIONS(4562),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(4562),
    [anon_sym_PIPE_EQ] = ACTIONS(4562),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(4562),
    [anon_sym_AMP_EQ] = ACTIONS(4562),
    [anon_sym_PERCENT_EQ] = ACTIONS(4562),
    [anon_sym_GT_GT_EQ] = ACTIONS(4562),
    [anon_sym_LT_LT_EQ] = ACTIONS(4562),
    [anon_sym_CARET_EQ] = ACTIONS(4562),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [1107] = {
    [sym__keyword_colon] = ACTIONS(4564),
    [sym_comment] = ACTIONS(110),
  },
  [1108] = {
    [sym_string] = STATE(3160),
    [aux_sym_chained_string_repeat1] = STATE(3161),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(4510),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(4490),
  },
  [1109] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(3167),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_splat_argument] = STATE(3168),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_right_assignment_list] = STATE(3169),
    [sym__arg_or_splat_arg] = STATE(3170),
    [sym_left_assignment_list] = STATE(3171),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3172),
    [sym__variable] = STATE(196),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__splat_star] = ACTIONS(4566),
    [sym__unary_minus] = ACTIONS(4568),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1514),
    [anon_sym_yield] = ACTIONS(1516),
    [anon_sym_break] = ACTIONS(1518),
    [anon_sym_next] = ACTIONS(1520),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(4570),
    [anon_sym_defined_QMARK] = ACTIONS(4572),
    [anon_sym_not] = ACTIONS(4574),
    [anon_sym_BANG] = ACTIONS(4576),
    [anon_sym_TILDE] = ACTIONS(4576),
    [sym_constant] = ACTIONS(1542),
    [sym_identifier] = ACTIONS(1542),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_false] = ACTIONS(364),
    [anon_sym_nil] = ACTIONS(366),
    [anon_sym_self] = ACTIONS(1544),
    [anon_sym_super] = ACTIONS(1546),
    [anon_sym_true] = ACTIONS(362),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [1110] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(3173),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(199),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(200),
    [sym__variable] = STATE(196),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(286),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1514),
    [anon_sym_yield] = ACTIONS(1516),
    [anon_sym_break] = ACTIONS(1518),
    [anon_sym_next] = ACTIONS(1520),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(334),
    [anon_sym_defined_QMARK] = ACTIONS(336),
    [anon_sym_not] = ACTIONS(1540),
    [anon_sym_BANG] = ACTIONS(340),
    [anon_sym_TILDE] = ACTIONS(340),
    [sym_constant] = ACTIONS(1542),
    [sym_identifier] = ACTIONS(1542),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_false] = ACTIONS(364),
    [anon_sym_nil] = ACTIONS(366),
    [anon_sym_self] = ACTIONS(1544),
    [anon_sym_super] = ACTIONS(1546),
    [anon_sym_true] = ACTIONS(362),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [1111] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3174),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(977),
    [sym_call] = STATE(977),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(978),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(979),
    [sym__variable] = STATE(977),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(1568),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(1578),
    [anon_sym_yield] = ACTIONS(1580),
    [anon_sym_break] = ACTIONS(1582),
    [anon_sym_next] = ACTIONS(1584),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(1604),
    [anon_sym_defined_QMARK] = ACTIONS(1606),
    [anon_sym_not] = ACTIONS(1608),
    [anon_sym_BANG] = ACTIONS(1610),
    [anon_sym_TILDE] = ACTIONS(1610),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1112] = {
    [sym__simple_string] = ACTIONS(3382),
    [sym__string_beginning] = ACTIONS(3382),
    [sym__element_reference_left_bracket] = ACTIONS(3382),
    [sym__scope_double_colon] = ACTIONS(3382),
    [sym__binary_minus] = ACTIONS(3382),
    [sym__binary_star] = ACTIONS(3382),
    [anon_sym_LBRACE] = ACTIONS(3382),
    [anon_sym_RPAREN] = ACTIONS(3382),
    [anon_sym_DOT] = ACTIONS(3384),
    [anon_sym_COMMA] = ACTIONS(3382),
    [anon_sym_PIPE] = ACTIONS(3384),
    [anon_sym_SEMI] = ACTIONS(3382),
    [anon_sym_STAR_STAR] = ACTIONS(3382),
    [anon_sym_AMP] = ACTIONS(3384),
    [anon_sym_LT] = ACTIONS(3384),
    [anon_sym_do] = ACTIONS(3382),
    [anon_sym_EQ_GT] = ACTIONS(3382),
    [anon_sym_AMP_DOT] = ACTIONS(3382),
    [anon_sym_QMARK] = ACTIONS(3384),
    [anon_sym_COLON] = ACTIONS(3382),
    [anon_sym_DOT_DOT] = ACTIONS(3384),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3382),
    [anon_sym_and] = ACTIONS(3382),
    [anon_sym_or] = ACTIONS(3382),
    [anon_sym_PIPE_PIPE] = ACTIONS(3382),
    [anon_sym_AMP_AMP] = ACTIONS(3382),
    [anon_sym_LT_LT] = ACTIONS(3382),
    [anon_sym_GT_GT] = ACTIONS(3382),
    [anon_sym_EQ_EQ] = ACTIONS(3384),
    [anon_sym_BANG_EQ] = ACTIONS(3382),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3382),
    [anon_sym_LT_EQ_GT] = ACTIONS(3382),
    [anon_sym_EQ_TILDE] = ACTIONS(3382),
    [anon_sym_BANG_TILDE] = ACTIONS(3382),
    [anon_sym_LT_EQ] = ACTIONS(3384),
    [anon_sym_GT] = ACTIONS(3384),
    [anon_sym_GT_EQ] = ACTIONS(3382),
    [anon_sym_CARET] = ACTIONS(3382),
    [anon_sym_PLUS] = ACTIONS(3382),
    [anon_sym_SLASH] = ACTIONS(3382),
    [anon_sym_PERCENT] = ACTIONS(3382),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(3384),
  },
  [1113] = {
    [sym_string] = STATE(3175),
    [sym__simple_string] = ACTIONS(1504),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__element_reference_left_bracket] = ACTIONS(3386),
    [sym__scope_double_colon] = ACTIONS(3386),
    [sym__binary_minus] = ACTIONS(3386),
    [sym__binary_star] = ACTIONS(3386),
    [anon_sym_LBRACE] = ACTIONS(3386),
    [anon_sym_RPAREN] = ACTIONS(3386),
    [anon_sym_DOT] = ACTIONS(3388),
    [anon_sym_COMMA] = ACTIONS(3386),
    [anon_sym_PIPE] = ACTIONS(3388),
    [anon_sym_SEMI] = ACTIONS(3386),
    [anon_sym_STAR_STAR] = ACTIONS(3386),
    [anon_sym_AMP] = ACTIONS(3388),
    [anon_sym_LT] = ACTIONS(3388),
    [anon_sym_do] = ACTIONS(3386),
    [anon_sym_EQ_GT] = ACTIONS(3386),
    [anon_sym_AMP_DOT] = ACTIONS(3386),
    [anon_sym_QMARK] = ACTIONS(3388),
    [anon_sym_COLON] = ACTIONS(3386),
    [anon_sym_DOT_DOT] = ACTIONS(3388),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3386),
    [anon_sym_and] = ACTIONS(3386),
    [anon_sym_or] = ACTIONS(3386),
    [anon_sym_PIPE_PIPE] = ACTIONS(3386),
    [anon_sym_AMP_AMP] = ACTIONS(3386),
    [anon_sym_LT_LT] = ACTIONS(3386),
    [anon_sym_GT_GT] = ACTIONS(3386),
    [anon_sym_EQ_EQ] = ACTIONS(3388),
    [anon_sym_BANG_EQ] = ACTIONS(3386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3386),
    [anon_sym_LT_EQ_GT] = ACTIONS(3386),
    [anon_sym_EQ_TILDE] = ACTIONS(3386),
    [anon_sym_BANG_TILDE] = ACTIONS(3386),
    [anon_sym_LT_EQ] = ACTIONS(3388),
    [anon_sym_GT] = ACTIONS(3388),
    [anon_sym_GT_EQ] = ACTIONS(3386),
    [anon_sym_CARET] = ACTIONS(3386),
    [anon_sym_PLUS] = ACTIONS(3386),
    [anon_sym_SLASH] = ACTIONS(3386),
    [anon_sym_PERCENT] = ACTIONS(3386),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(1548),
  },
  [1114] = {
    [sym__simple_heredoc_body] = ACTIONS(4578),
    [sym__heredoc_body_beginning] = ACTIONS(4578),
    [sym__line_break] = ACTIONS(4578),
    [sym__element_reference_left_bracket] = ACTIONS(4578),
    [sym__scope_double_colon] = ACTIONS(4578),
    [sym__binary_minus] = ACTIONS(4578),
    [sym__binary_star] = ACTIONS(4578),
    [ts_builtin_sym_end] = ACTIONS(4578),
    [anon_sym___END__] = ACTIONS(4578),
    [anon_sym_LBRACE] = ACTIONS(4578),
    [anon_sym_RBRACE] = ACTIONS(4578),
    [anon_sym_RPAREN] = ACTIONS(4578),
    [anon_sym_DOT] = ACTIONS(4580),
    [anon_sym_end] = ACTIONS(4578),
    [anon_sym_COMMA] = ACTIONS(4578),
    [anon_sym_PIPE] = ACTIONS(4580),
    [anon_sym_SEMI] = ACTIONS(4578),
    [anon_sym_STAR_STAR] = ACTIONS(4578),
    [anon_sym_AMP] = ACTIONS(4580),
    [anon_sym_LT] = ACTIONS(4580),
    [anon_sym_if] = ACTIONS(4578),
    [anon_sym_unless] = ACTIONS(4578),
    [anon_sym_while] = ACTIONS(4578),
    [anon_sym_until] = ACTIONS(4578),
    [anon_sym_rescue] = ACTIONS(4578),
    [anon_sym_do] = ACTIONS(4578),
    [anon_sym_when] = ACTIONS(4578),
    [anon_sym_elsif] = ACTIONS(4578),
    [anon_sym_else] = ACTIONS(4578),
    [anon_sym_then] = ACTIONS(4578),
    [anon_sym_ensure] = ACTIONS(4578),
    [anon_sym_EQ_GT] = ACTIONS(4578),
    [anon_sym_AMP_DOT] = ACTIONS(4578),
    [anon_sym_QMARK] = ACTIONS(4578),
    [anon_sym_DOT_DOT] = ACTIONS(4580),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4578),
    [anon_sym_and] = ACTIONS(4578),
    [anon_sym_or] = ACTIONS(4578),
    [anon_sym_PIPE_PIPE] = ACTIONS(4578),
    [anon_sym_AMP_AMP] = ACTIONS(4578),
    [anon_sym_LT_LT] = ACTIONS(4578),
    [anon_sym_GT_GT] = ACTIONS(4578),
    [anon_sym_EQ_EQ] = ACTIONS(4580),
    [anon_sym_BANG_EQ] = ACTIONS(4578),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4578),
    [anon_sym_LT_EQ_GT] = ACTIONS(4578),
    [anon_sym_EQ_TILDE] = ACTIONS(4578),
    [anon_sym_BANG_TILDE] = ACTIONS(4578),
    [anon_sym_LT_EQ] = ACTIONS(4580),
    [anon_sym_GT] = ACTIONS(4580),
    [anon_sym_GT_EQ] = ACTIONS(4578),
    [anon_sym_CARET] = ACTIONS(4578),
    [anon_sym_PLUS] = ACTIONS(4578),
    [anon_sym_SLASH] = ACTIONS(4578),
    [anon_sym_PERCENT] = ACTIONS(4578),
    [sym_comment] = ACTIONS(110),
  },
  [1115] = {
    [anon_sym_RBRACE] = ACTIONS(4582),
    [sym_comment] = ACTIONS(110),
  },
  [1116] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(193),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_hash_splat_argument] = STATE(197),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(199),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(200),
    [sym__variable] = STATE(196),
    [sym_reserved_identifier] = STATE(201),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(202),
    [sym_subshell] = STATE(151),
    [sym_heredoc_end] = STATE(3179),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym__hash_items] = STATE(3180),
    [sym_pair] = STATE(205),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(260),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__simple_heredoc_body] = ACTIONS(4584),
    [sym__string_beginning] = ACTIONS(272),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym__heredoc_body_beginning] = ACTIONS(4586),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(286),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_RBRACE] = ACTIONS(4588),
    [anon_sym_def] = ACTIONS(292),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(302),
    [anon_sym_class] = ACTIONS(304),
    [anon_sym_module] = ACTIONS(306),
    [anon_sym_return] = ACTIONS(308),
    [anon_sym_yield] = ACTIONS(310),
    [anon_sym_break] = ACTIONS(312),
    [anon_sym_next] = ACTIONS(314),
    [anon_sym_redo] = ACTIONS(316),
    [anon_sym_retry] = ACTIONS(318),
    [anon_sym_if] = ACTIONS(320),
    [anon_sym_unless] = ACTIONS(322),
    [anon_sym_while] = ACTIONS(324),
    [anon_sym_until] = ACTIONS(326),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(328),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(330),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(332),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(334),
    [anon_sym_defined_QMARK] = ACTIONS(336),
    [anon_sym_not] = ACTIONS(338),
    [anon_sym_BANG] = ACTIONS(340),
    [anon_sym_TILDE] = ACTIONS(340),
    [sym_constant] = ACTIONS(342),
    [sym_identifier] = ACTIONS(342),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(346),
    [anon_sym_nil] = ACTIONS(348),
    [anon_sym_self] = ACTIONS(350),
    [anon_sym_super] = ACTIONS(352),
    [anon_sym_true] = ACTIONS(354),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(370),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [1117] = {
    [sym__simple_heredoc_body] = ACTIONS(4590),
    [sym__heredoc_body_beginning] = ACTIONS(4590),
    [sym__line_break] = ACTIONS(4590),
    [ts_builtin_sym_end] = ACTIONS(4590),
    [anon_sym___END__] = ACTIONS(4590),
    [anon_sym_RBRACE] = ACTIONS(4590),
    [anon_sym_RPAREN] = ACTIONS(4590),
    [anon_sym_end] = ACTIONS(4590),
    [anon_sym_SEMI] = ACTIONS(4590),
    [anon_sym_rescue] = ACTIONS(4590),
    [anon_sym_when] = ACTIONS(4590),
    [anon_sym_elsif] = ACTIONS(4590),
    [anon_sym_else] = ACTIONS(4590),
    [anon_sym_ensure] = ACTIONS(4590),
    [sym_comment] = ACTIONS(110),
  },
  [1118] = {
    [anon_sym_RBRACE] = ACTIONS(4592),
    [sym_comment] = ACTIONS(110),
  },
  [1119] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(4594),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [1120] = {
    [sym__statement] = STATE(3183),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [1121] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(3184),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(1139),
    [sym_call] = STATE(1139),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(1140),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1141),
    [sym__variable] = STATE(1139),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(1822),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_yield] = ACTIONS(1828),
    [anon_sym_break] = ACTIONS(1830),
    [anon_sym_next] = ACTIONS(1832),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(1834),
    [anon_sym_defined_QMARK] = ACTIONS(1836),
    [anon_sym_not] = ACTIONS(1838),
    [anon_sym_BANG] = ACTIONS(1840),
    [anon_sym_TILDE] = ACTIONS(1840),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [1122] = {
    [sym_constant] = ACTIONS(4596),
    [sym_identifier] = ACTIONS(4596),
    [sym_comment] = ACTIONS(110),
  },
  [1123] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3195),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1002),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(3196),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3197),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3198),
    [sym__variable] = STATE(1383),
    [sym_reserved_identifier] = STATE(3199),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(3200),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(4598),
    [sym__splat_star] = ACTIONS(4600),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(4602),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(532),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2164),
    [anon_sym_yield] = ACTIONS(2166),
    [anon_sym_break] = ACTIONS(2168),
    [anon_sym_next] = ACTIONS(2170),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(4604),
    [anon_sym_not] = ACTIONS(4606),
    [anon_sym_BANG] = ACTIONS(4608),
    [anon_sym_TILDE] = ACTIONS(4610),
    [sym_constant] = ACTIONS(4612),
    [sym_identifier] = ACTIONS(4612),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1124] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3195),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1011),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(3196),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3197),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3198),
    [sym__variable] = STATE(1383),
    [sym_reserved_identifier] = STATE(3199),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(3200),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(4598),
    [sym__splat_star] = ACTIONS(4600),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(4602),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(602),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2164),
    [anon_sym_yield] = ACTIONS(2166),
    [anon_sym_break] = ACTIONS(2168),
    [anon_sym_next] = ACTIONS(2170),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(4604),
    [anon_sym_not] = ACTIONS(4606),
    [anon_sym_BANG] = ACTIONS(4608),
    [anon_sym_TILDE] = ACTIONS(4610),
    [sym_constant] = ACTIONS(4612),
    [sym_identifier] = ACTIONS(4612),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1125] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3195),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1012),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(3196),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3197),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3198),
    [sym__variable] = STATE(1383),
    [sym_reserved_identifier] = STATE(3199),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(3200),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(4598),
    [sym__splat_star] = ACTIONS(4600),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(4602),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(606),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2164),
    [anon_sym_yield] = ACTIONS(2166),
    [anon_sym_break] = ACTIONS(2168),
    [anon_sym_next] = ACTIONS(2170),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(4604),
    [anon_sym_not] = ACTIONS(4606),
    [anon_sym_BANG] = ACTIONS(4608),
    [anon_sym_TILDE] = ACTIONS(4610),
    [sym_constant] = ACTIONS(4612),
    [sym_identifier] = ACTIONS(4612),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1126] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3195),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1013),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(3196),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3197),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3198),
    [sym__variable] = STATE(1383),
    [sym_reserved_identifier] = STATE(3199),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(3200),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(4598),
    [sym__splat_star] = ACTIONS(4600),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(4602),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(610),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2164),
    [anon_sym_yield] = ACTIONS(2166),
    [anon_sym_break] = ACTIONS(2168),
    [anon_sym_next] = ACTIONS(2170),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(4604),
    [anon_sym_not] = ACTIONS(4606),
    [anon_sym_BANG] = ACTIONS(4608),
    [anon_sym_TILDE] = ACTIONS(4610),
    [sym_constant] = ACTIONS(4612),
    [sym_identifier] = ACTIONS(4612),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1127] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(3201),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(1139),
    [sym_call] = STATE(1139),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(1140),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1141),
    [sym__variable] = STATE(1139),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(1822),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_yield] = ACTIONS(1828),
    [anon_sym_break] = ACTIONS(1830),
    [anon_sym_next] = ACTIONS(1832),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(1834),
    [anon_sym_defined_QMARK] = ACTIONS(1836),
    [anon_sym_not] = ACTIONS(1838),
    [anon_sym_BANG] = ACTIONS(1840),
    [anon_sym_TILDE] = ACTIONS(1840),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [1128] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(3202),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(1139),
    [sym_call] = STATE(1139),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(1140),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1141),
    [sym__variable] = STATE(1139),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(1822),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_yield] = ACTIONS(1828),
    [anon_sym_break] = ACTIONS(1830),
    [anon_sym_next] = ACTIONS(1832),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(1834),
    [anon_sym_defined_QMARK] = ACTIONS(1836),
    [anon_sym_not] = ACTIONS(1838),
    [anon_sym_BANG] = ACTIONS(1840),
    [anon_sym_TILDE] = ACTIONS(1840),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [1129] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(1027),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(1139),
    [sym_call] = STATE(1139),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(1140),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1141),
    [sym__variable] = STATE(1139),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(1822),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_yield] = ACTIONS(1828),
    [anon_sym_break] = ACTIONS(1830),
    [anon_sym_next] = ACTIONS(1832),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(1834),
    [anon_sym_defined_QMARK] = ACTIONS(1836),
    [anon_sym_not] = ACTIONS(1838),
    [anon_sym_BANG] = ACTIONS(1840),
    [anon_sym_TILDE] = ACTIONS(1840),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [1130] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_RPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_COLON] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [1131] = {
    [sym__element_reference_left_bracket] = ACTIONS(740),
    [sym__scope_double_colon] = ACTIONS(740),
    [sym__binary_minus] = ACTIONS(740),
    [sym__binary_star] = ACTIONS(740),
    [anon_sym_LBRACE] = ACTIONS(740),
    [anon_sym_RPAREN] = ACTIONS(740),
    [anon_sym_DOT] = ACTIONS(742),
    [anon_sym_COMMA] = ACTIONS(740),
    [anon_sym_PIPE] = ACTIONS(742),
    [anon_sym_SEMI] = ACTIONS(740),
    [anon_sym_STAR_STAR] = ACTIONS(742),
    [anon_sym_AMP] = ACTIONS(742),
    [anon_sym_EQ] = ACTIONS(742),
    [anon_sym_LT] = ACTIONS(742),
    [anon_sym_do] = ACTIONS(740),
    [anon_sym_AMP_DOT] = ACTIONS(740),
    [anon_sym_PLUS_EQ] = ACTIONS(740),
    [anon_sym_DASH_EQ] = ACTIONS(740),
    [anon_sym_STAR_EQ] = ACTIONS(740),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(740),
    [anon_sym_SLASH_EQ] = ACTIONS(740),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(740),
    [anon_sym_PIPE_EQ] = ACTIONS(740),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(740),
    [anon_sym_AMP_EQ] = ACTIONS(740),
    [anon_sym_PERCENT_EQ] = ACTIONS(740),
    [anon_sym_GT_GT_EQ] = ACTIONS(740),
    [anon_sym_LT_LT_EQ] = ACTIONS(740),
    [anon_sym_CARET_EQ] = ACTIONS(740),
    [anon_sym_QMARK] = ACTIONS(740),
    [anon_sym_COLON] = ACTIONS(740),
    [anon_sym_DOT_DOT] = ACTIONS(742),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(740),
    [anon_sym_and] = ACTIONS(740),
    [anon_sym_or] = ACTIONS(740),
    [anon_sym_PIPE_PIPE] = ACTIONS(742),
    [anon_sym_AMP_AMP] = ACTIONS(742),
    [anon_sym_LT_LT] = ACTIONS(742),
    [anon_sym_GT_GT] = ACTIONS(742),
    [anon_sym_EQ_EQ] = ACTIONS(742),
    [anon_sym_BANG_EQ] = ACTIONS(740),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(740),
    [anon_sym_LT_EQ_GT] = ACTIONS(740),
    [anon_sym_EQ_TILDE] = ACTIONS(740),
    [anon_sym_BANG_TILDE] = ACTIONS(740),
    [anon_sym_LT_EQ] = ACTIONS(742),
    [anon_sym_GT] = ACTIONS(742),
    [anon_sym_GT_EQ] = ACTIONS(740),
    [anon_sym_CARET] = ACTIONS(742),
    [anon_sym_PLUS] = ACTIONS(742),
    [anon_sym_SLASH] = ACTIONS(742),
    [anon_sym_PERCENT] = ACTIONS(742),
    [sym_comment] = ACTIONS(256),
  },
  [1132] = {
    [sym__element_reference_left_bracket] = ACTIONS(744),
    [sym__scope_double_colon] = ACTIONS(744),
    [sym__binary_minus] = ACTIONS(744),
    [sym__binary_star] = ACTIONS(744),
    [anon_sym_LBRACE] = ACTIONS(744),
    [anon_sym_RPAREN] = ACTIONS(744),
    [anon_sym_DOT] = ACTIONS(746),
    [anon_sym_COMMA] = ACTIONS(744),
    [anon_sym_PIPE] = ACTIONS(746),
    [anon_sym_SEMI] = ACTIONS(744),
    [anon_sym_STAR_STAR] = ACTIONS(746),
    [anon_sym_AMP] = ACTIONS(746),
    [anon_sym_EQ] = ACTIONS(746),
    [anon_sym_LT] = ACTIONS(746),
    [anon_sym_do] = ACTIONS(744),
    [anon_sym_AMP_DOT] = ACTIONS(744),
    [anon_sym_PLUS_EQ] = ACTIONS(744),
    [anon_sym_DASH_EQ] = ACTIONS(744),
    [anon_sym_STAR_EQ] = ACTIONS(744),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(744),
    [anon_sym_SLASH_EQ] = ACTIONS(744),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(744),
    [anon_sym_PIPE_EQ] = ACTIONS(744),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(744),
    [anon_sym_AMP_EQ] = ACTIONS(744),
    [anon_sym_PERCENT_EQ] = ACTIONS(744),
    [anon_sym_GT_GT_EQ] = ACTIONS(744),
    [anon_sym_LT_LT_EQ] = ACTIONS(744),
    [anon_sym_CARET_EQ] = ACTIONS(744),
    [anon_sym_QMARK] = ACTIONS(744),
    [anon_sym_COLON] = ACTIONS(744),
    [anon_sym_DOT_DOT] = ACTIONS(746),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(744),
    [anon_sym_and] = ACTIONS(744),
    [anon_sym_or] = ACTIONS(744),
    [anon_sym_PIPE_PIPE] = ACTIONS(746),
    [anon_sym_AMP_AMP] = ACTIONS(746),
    [anon_sym_LT_LT] = ACTIONS(746),
    [anon_sym_GT_GT] = ACTIONS(746),
    [anon_sym_EQ_EQ] = ACTIONS(746),
    [anon_sym_BANG_EQ] = ACTIONS(744),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(744),
    [anon_sym_LT_EQ_GT] = ACTIONS(744),
    [anon_sym_EQ_TILDE] = ACTIONS(744),
    [anon_sym_BANG_TILDE] = ACTIONS(744),
    [anon_sym_LT_EQ] = ACTIONS(746),
    [anon_sym_GT] = ACTIONS(746),
    [anon_sym_GT_EQ] = ACTIONS(744),
    [anon_sym_CARET] = ACTIONS(746),
    [anon_sym_PLUS] = ACTIONS(746),
    [anon_sym_SLASH] = ACTIONS(746),
    [anon_sym_PERCENT] = ACTIONS(746),
    [sym_comment] = ACTIONS(256),
  },
  [1133] = {
    [sym__simple_string] = ACTIONS(748),
    [sym__simple_symbol] = ACTIONS(748),
    [sym__simple_subshell] = ACTIONS(748),
    [sym__simple_regex] = ACTIONS(748),
    [sym__simple_word_list] = ACTIONS(748),
    [sym__string_beginning] = ACTIONS(748),
    [sym__symbol_beginning] = ACTIONS(748),
    [sym__subshell_beginning] = ACTIONS(748),
    [sym__regex_beginning] = ACTIONS(748),
    [sym__word_list_beginning] = ACTIONS(748),
    [sym_heredoc_beginning] = ACTIONS(748),
    [sym__element_reference_left_bracket] = ACTIONS(748),
    [sym__block_ampersand] = ACTIONS(748),
    [sym__splat_star] = ACTIONS(748),
    [sym__argument_list_left_paren] = ACTIONS(748),
    [sym__scope_double_colon] = ACTIONS(748),
    [sym__unary_minus] = ACTIONS(748),
    [sym__binary_minus] = ACTIONS(748),
    [sym__binary_star] = ACTIONS(748),
    [anon_sym_LBRACE] = ACTIONS(748),
    [anon_sym_def] = ACTIONS(750),
    [anon_sym_LPAREN] = ACTIONS(748),
    [anon_sym_RPAREN] = ACTIONS(748),
    [anon_sym_DOT] = ACTIONS(750),
    [anon_sym_COLON_COLON] = ACTIONS(748),
    [anon_sym_end] = ACTIONS(750),
    [anon_sym_COMMA] = ACTIONS(748),
    [anon_sym_PIPE] = ACTIONS(750),
    [anon_sym_SEMI] = ACTIONS(748),
    [anon_sym_STAR] = ACTIONS(750),
    [anon_sym_STAR_STAR] = ACTIONS(750),
    [anon_sym_AMP] = ACTIONS(750),
    [anon_sym_EQ] = ACTIONS(750),
    [anon_sym_class] = ACTIONS(750),
    [anon_sym_LT] = ACTIONS(750),
    [anon_sym_module] = ACTIONS(750),
    [anon_sym_return] = ACTIONS(750),
    [anon_sym_yield] = ACTIONS(750),
    [anon_sym_break] = ACTIONS(750),
    [anon_sym_next] = ACTIONS(750),
    [anon_sym_redo] = ACTIONS(750),
    [anon_sym_retry] = ACTIONS(750),
    [anon_sym_if] = ACTIONS(750),
    [anon_sym_unless] = ACTIONS(750),
    [anon_sym_while] = ACTIONS(750),
    [anon_sym_until] = ACTIONS(750),
    [anon_sym_rescue] = ACTIONS(750),
    [anon_sym_for] = ACTIONS(750),
    [anon_sym_in] = ACTIONS(750),
    [anon_sym_do] = ACTIONS(750),
    [anon_sym_case] = ACTIONS(750),
    [anon_sym_when] = ACTIONS(750),
    [anon_sym_elsif] = ACTIONS(750),
    [anon_sym_else] = ACTIONS(750),
    [anon_sym_then] = ACTIONS(750),
    [anon_sym_begin] = ACTIONS(750),
    [anon_sym_ensure] = ACTIONS(750),
    [anon_sym_AMP_DOT] = ACTIONS(748),
    [anon_sym_PLUS_EQ] = ACTIONS(748),
    [anon_sym_DASH_EQ] = ACTIONS(748),
    [anon_sym_STAR_EQ] = ACTIONS(748),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(748),
    [anon_sym_SLASH_EQ] = ACTIONS(748),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(748),
    [anon_sym_PIPE_EQ] = ACTIONS(748),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(748),
    [anon_sym_AMP_EQ] = ACTIONS(748),
    [anon_sym_PERCENT_EQ] = ACTIONS(748),
    [anon_sym_GT_GT_EQ] = ACTIONS(748),
    [anon_sym_LT_LT_EQ] = ACTIONS(748),
    [anon_sym_CARET_EQ] = ACTIONS(748),
    [anon_sym_QMARK] = ACTIONS(750),
    [anon_sym_COLON] = ACTIONS(750),
    [anon_sym_DOT_DOT] = ACTIONS(750),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(748),
    [anon_sym_and] = ACTIONS(750),
    [anon_sym_or] = ACTIONS(750),
    [anon_sym_PIPE_PIPE] = ACTIONS(750),
    [anon_sym_AMP_AMP] = ACTIONS(750),
    [anon_sym_LT_LT] = ACTIONS(750),
    [anon_sym_GT_GT] = ACTIONS(750),
    [anon_sym_EQ_EQ] = ACTIONS(750),
    [anon_sym_BANG_EQ] = ACTIONS(748),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(748),
    [anon_sym_LT_EQ_GT] = ACTIONS(748),
    [anon_sym_EQ_TILDE] = ACTIONS(748),
    [anon_sym_BANG_TILDE] = ACTIONS(748),
    [anon_sym_LT_EQ] = ACTIONS(750),
    [anon_sym_GT] = ACTIONS(750),
    [anon_sym_GT_EQ] = ACTIONS(748),
    [anon_sym_CARET] = ACTIONS(750),
    [anon_sym_PLUS] = ACTIONS(750),
    [anon_sym_SLASH] = ACTIONS(750),
    [anon_sym_PERCENT] = ACTIONS(750),
    [anon_sym_defined_QMARK] = ACTIONS(748),
    [anon_sym_not] = ACTIONS(750),
    [anon_sym_BANG] = ACTIONS(750),
    [anon_sym_TILDE] = ACTIONS(748),
    [sym_constant] = ACTIONS(752),
    [sym_identifier] = ACTIONS(752),
    [sym_instance_variable] = ACTIONS(750),
    [sym_class_variable] = ACTIONS(750),
    [sym_global_variable] = ACTIONS(750),
    [anon_sym_alias] = ACTIONS(750),
    [anon_sym_defined] = ACTIONS(750),
    [anon_sym_false] = ACTIONS(750),
    [anon_sym_nil] = ACTIONS(750),
    [anon_sym_self] = ACTIONS(750),
    [anon_sym_super] = ACTIONS(750),
    [anon_sym_true] = ACTIONS(750),
    [anon_sym_undef] = ACTIONS(750),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(750),
    [sym_float] = ACTIONS(752),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(748),
    [anon_sym_TRUE] = ACTIONS(750),
    [anon_sym_FALSE] = ACTIONS(750),
    [anon_sym_NIL] = ACTIONS(750),
    [sym_keyword__FILE__] = ACTIONS(750),
    [sym_keyword__LINE__] = ACTIONS(750),
    [sym_keyword__ENCODING__] = ACTIONS(750),
    [sym__character_literal] = ACTIONS(750),
    [anon_sym_LBRACK] = ACTIONS(748),
    [anon_sym_DASH_GT] = ACTIONS(748),
  },
  [1134] = {
    [sym__simple_string] = ACTIONS(754),
    [sym__simple_symbol] = ACTIONS(754),
    [sym__simple_subshell] = ACTIONS(754),
    [sym__simple_regex] = ACTIONS(754),
    [sym__simple_word_list] = ACTIONS(754),
    [sym__string_beginning] = ACTIONS(754),
    [sym__symbol_beginning] = ACTIONS(754),
    [sym__subshell_beginning] = ACTIONS(754),
    [sym__regex_beginning] = ACTIONS(754),
    [sym__word_list_beginning] = ACTIONS(754),
    [sym_heredoc_beginning] = ACTIONS(754),
    [sym__element_reference_left_bracket] = ACTIONS(754),
    [sym__block_ampersand] = ACTIONS(754),
    [sym__splat_star] = ACTIONS(754),
    [sym__argument_list_left_paren] = ACTIONS(754),
    [sym__scope_double_colon] = ACTIONS(754),
    [sym__unary_minus] = ACTIONS(754),
    [sym__binary_minus] = ACTIONS(754),
    [sym__binary_star] = ACTIONS(754),
    [anon_sym_LBRACE] = ACTIONS(754),
    [anon_sym_def] = ACTIONS(756),
    [anon_sym_LPAREN] = ACTIONS(754),
    [anon_sym_RPAREN] = ACTIONS(754),
    [anon_sym_DOT] = ACTIONS(756),
    [anon_sym_COLON_COLON] = ACTIONS(754),
    [anon_sym_end] = ACTIONS(756),
    [anon_sym_COMMA] = ACTIONS(754),
    [anon_sym_PIPE] = ACTIONS(756),
    [anon_sym_SEMI] = ACTIONS(754),
    [anon_sym_STAR] = ACTIONS(756),
    [anon_sym_STAR_STAR] = ACTIONS(756),
    [anon_sym_AMP] = ACTIONS(756),
    [anon_sym_EQ] = ACTIONS(756),
    [anon_sym_class] = ACTIONS(756),
    [anon_sym_LT] = ACTIONS(756),
    [anon_sym_module] = ACTIONS(756),
    [anon_sym_return] = ACTIONS(756),
    [anon_sym_yield] = ACTIONS(756),
    [anon_sym_break] = ACTIONS(756),
    [anon_sym_next] = ACTIONS(756),
    [anon_sym_redo] = ACTIONS(756),
    [anon_sym_retry] = ACTIONS(756),
    [anon_sym_if] = ACTIONS(756),
    [anon_sym_unless] = ACTIONS(756),
    [anon_sym_while] = ACTIONS(756),
    [anon_sym_until] = ACTIONS(756),
    [anon_sym_rescue] = ACTIONS(756),
    [anon_sym_for] = ACTIONS(756),
    [anon_sym_in] = ACTIONS(756),
    [anon_sym_do] = ACTIONS(756),
    [anon_sym_case] = ACTIONS(756),
    [anon_sym_when] = ACTIONS(756),
    [anon_sym_elsif] = ACTIONS(756),
    [anon_sym_else] = ACTIONS(756),
    [anon_sym_then] = ACTIONS(756),
    [anon_sym_begin] = ACTIONS(756),
    [anon_sym_ensure] = ACTIONS(756),
    [anon_sym_AMP_DOT] = ACTIONS(754),
    [anon_sym_PLUS_EQ] = ACTIONS(754),
    [anon_sym_DASH_EQ] = ACTIONS(754),
    [anon_sym_STAR_EQ] = ACTIONS(754),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(754),
    [anon_sym_SLASH_EQ] = ACTIONS(754),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(754),
    [anon_sym_PIPE_EQ] = ACTIONS(754),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(754),
    [anon_sym_AMP_EQ] = ACTIONS(754),
    [anon_sym_PERCENT_EQ] = ACTIONS(754),
    [anon_sym_GT_GT_EQ] = ACTIONS(754),
    [anon_sym_LT_LT_EQ] = ACTIONS(754),
    [anon_sym_CARET_EQ] = ACTIONS(754),
    [anon_sym_QMARK] = ACTIONS(756),
    [anon_sym_COLON] = ACTIONS(756),
    [anon_sym_DOT_DOT] = ACTIONS(756),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(754),
    [anon_sym_and] = ACTIONS(756),
    [anon_sym_or] = ACTIONS(756),
    [anon_sym_PIPE_PIPE] = ACTIONS(756),
    [anon_sym_AMP_AMP] = ACTIONS(756),
    [anon_sym_LT_LT] = ACTIONS(756),
    [anon_sym_GT_GT] = ACTIONS(756),
    [anon_sym_EQ_EQ] = ACTIONS(756),
    [anon_sym_BANG_EQ] = ACTIONS(754),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(754),
    [anon_sym_LT_EQ_GT] = ACTIONS(754),
    [anon_sym_EQ_TILDE] = ACTIONS(754),
    [anon_sym_BANG_TILDE] = ACTIONS(754),
    [anon_sym_LT_EQ] = ACTIONS(756),
    [anon_sym_GT] = ACTIONS(756),
    [anon_sym_GT_EQ] = ACTIONS(754),
    [anon_sym_CARET] = ACTIONS(756),
    [anon_sym_PLUS] = ACTIONS(756),
    [anon_sym_SLASH] = ACTIONS(756),
    [anon_sym_PERCENT] = ACTIONS(756),
    [anon_sym_defined_QMARK] = ACTIONS(754),
    [anon_sym_not] = ACTIONS(756),
    [anon_sym_BANG] = ACTIONS(756),
    [anon_sym_TILDE] = ACTIONS(754),
    [sym_constant] = ACTIONS(758),
    [sym_identifier] = ACTIONS(758),
    [sym_instance_variable] = ACTIONS(756),
    [sym_class_variable] = ACTIONS(756),
    [sym_global_variable] = ACTIONS(756),
    [anon_sym_alias] = ACTIONS(756),
    [anon_sym_defined] = ACTIONS(756),
    [anon_sym_false] = ACTIONS(756),
    [anon_sym_nil] = ACTIONS(756),
    [anon_sym_self] = ACTIONS(756),
    [anon_sym_super] = ACTIONS(756),
    [anon_sym_true] = ACTIONS(756),
    [anon_sym_undef] = ACTIONS(756),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(756),
    [sym_float] = ACTIONS(758),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(754),
    [anon_sym_TRUE] = ACTIONS(756),
    [anon_sym_FALSE] = ACTIONS(756),
    [anon_sym_NIL] = ACTIONS(756),
    [sym_keyword__FILE__] = ACTIONS(756),
    [sym_keyword__LINE__] = ACTIONS(756),
    [sym_keyword__ENCODING__] = ACTIONS(756),
    [sym__character_literal] = ACTIONS(756),
    [anon_sym_LBRACK] = ACTIONS(754),
    [anon_sym_DASH_GT] = ACTIONS(754),
  },
  [1135] = {
    [sym__element_reference_left_bracket] = ACTIONS(760),
    [sym__scope_double_colon] = ACTIONS(760),
    [sym__binary_minus] = ACTIONS(760),
    [sym__binary_star] = ACTIONS(760),
    [anon_sym_LBRACE] = ACTIONS(760),
    [anon_sym_RPAREN] = ACTIONS(760),
    [anon_sym_DOT] = ACTIONS(762),
    [anon_sym_COMMA] = ACTIONS(760),
    [anon_sym_PIPE] = ACTIONS(762),
    [anon_sym_SEMI] = ACTIONS(760),
    [anon_sym_STAR_STAR] = ACTIONS(762),
    [anon_sym_AMP] = ACTIONS(762),
    [anon_sym_EQ] = ACTIONS(762),
    [anon_sym_LT] = ACTIONS(762),
    [anon_sym_do] = ACTIONS(760),
    [anon_sym_AMP_DOT] = ACTIONS(760),
    [anon_sym_PLUS_EQ] = ACTIONS(760),
    [anon_sym_DASH_EQ] = ACTIONS(760),
    [anon_sym_STAR_EQ] = ACTIONS(760),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(760),
    [anon_sym_SLASH_EQ] = ACTIONS(760),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(760),
    [anon_sym_PIPE_EQ] = ACTIONS(760),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(760),
    [anon_sym_AMP_EQ] = ACTIONS(760),
    [anon_sym_PERCENT_EQ] = ACTIONS(760),
    [anon_sym_GT_GT_EQ] = ACTIONS(760),
    [anon_sym_LT_LT_EQ] = ACTIONS(760),
    [anon_sym_CARET_EQ] = ACTIONS(760),
    [anon_sym_QMARK] = ACTIONS(760),
    [anon_sym_COLON] = ACTIONS(760),
    [anon_sym_DOT_DOT] = ACTIONS(762),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(760),
    [anon_sym_and] = ACTIONS(760),
    [anon_sym_or] = ACTIONS(760),
    [anon_sym_PIPE_PIPE] = ACTIONS(762),
    [anon_sym_AMP_AMP] = ACTIONS(762),
    [anon_sym_LT_LT] = ACTIONS(762),
    [anon_sym_GT_GT] = ACTIONS(762),
    [anon_sym_EQ_EQ] = ACTIONS(762),
    [anon_sym_BANG_EQ] = ACTIONS(760),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(760),
    [anon_sym_LT_EQ_GT] = ACTIONS(760),
    [anon_sym_EQ_TILDE] = ACTIONS(760),
    [anon_sym_BANG_TILDE] = ACTIONS(760),
    [anon_sym_LT_EQ] = ACTIONS(762),
    [anon_sym_GT] = ACTIONS(762),
    [anon_sym_GT_EQ] = ACTIONS(760),
    [anon_sym_CARET] = ACTIONS(762),
    [anon_sym_PLUS] = ACTIONS(762),
    [anon_sym_SLASH] = ACTIONS(762),
    [anon_sym_PERCENT] = ACTIONS(762),
    [sym_comment] = ACTIONS(256),
  },
  [1136] = {
    [sym__binary_minus] = ACTIONS(4614),
    [sym__binary_star] = ACTIONS(4616),
    [anon_sym_RPAREN] = ACTIONS(4618),
    [anon_sym_PIPE] = ACTIONS(4620),
    [anon_sym_STAR_STAR] = ACTIONS(4622),
    [anon_sym_AMP] = ACTIONS(4624),
    [anon_sym_LT] = ACTIONS(4626),
    [anon_sym_QMARK] = ACTIONS(4628),
    [anon_sym_DOT_DOT] = ACTIONS(4630),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4632),
    [anon_sym_and] = ACTIONS(4634),
    [anon_sym_or] = ACTIONS(4634),
    [anon_sym_PIPE_PIPE] = ACTIONS(4636),
    [anon_sym_AMP_AMP] = ACTIONS(4636),
    [anon_sym_LT_LT] = ACTIONS(4638),
    [anon_sym_GT_GT] = ACTIONS(4638),
    [anon_sym_EQ_EQ] = ACTIONS(4640),
    [anon_sym_BANG_EQ] = ACTIONS(4636),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4636),
    [anon_sym_LT_EQ_GT] = ACTIONS(4636),
    [anon_sym_EQ_TILDE] = ACTIONS(4636),
    [anon_sym_BANG_TILDE] = ACTIONS(4636),
    [anon_sym_LT_EQ] = ACTIONS(4626),
    [anon_sym_GT] = ACTIONS(4626),
    [anon_sym_GT_EQ] = ACTIONS(4642),
    [anon_sym_CARET] = ACTIONS(4644),
    [anon_sym_PLUS] = ACTIONS(4646),
    [anon_sym_SLASH] = ACTIONS(4622),
    [anon_sym_PERCENT] = ACTIONS(4622),
    [sym_comment] = ACTIONS(110),
  },
  [1137] = {
    [sym__element_reference_left_bracket] = ACTIONS(4648),
    [sym__scope_double_colon] = ACTIONS(4650),
    [sym__binary_minus] = ACTIONS(968),
    [sym__binary_star] = ACTIONS(968),
    [anon_sym_LBRACE] = ACTIONS(968),
    [anon_sym_RPAREN] = ACTIONS(968),
    [anon_sym_DOT] = ACTIONS(4652),
    [anon_sym_COMMA] = ACTIONS(968),
    [anon_sym_PIPE] = ACTIONS(976),
    [anon_sym_SEMI] = ACTIONS(968),
    [anon_sym_STAR_STAR] = ACTIONS(968),
    [anon_sym_AMP] = ACTIONS(976),
    [anon_sym_LT] = ACTIONS(976),
    [anon_sym_do] = ACTIONS(968),
    [anon_sym_AMP_DOT] = ACTIONS(4654),
    [anon_sym_QMARK] = ACTIONS(968),
    [anon_sym_COLON] = ACTIONS(968),
    [anon_sym_DOT_DOT] = ACTIONS(976),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(968),
    [anon_sym_and] = ACTIONS(968),
    [anon_sym_or] = ACTIONS(968),
    [anon_sym_PIPE_PIPE] = ACTIONS(968),
    [anon_sym_AMP_AMP] = ACTIONS(968),
    [anon_sym_LT_LT] = ACTIONS(968),
    [anon_sym_GT_GT] = ACTIONS(968),
    [anon_sym_EQ_EQ] = ACTIONS(976),
    [anon_sym_BANG_EQ] = ACTIONS(968),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(968),
    [anon_sym_LT_EQ_GT] = ACTIONS(968),
    [anon_sym_EQ_TILDE] = ACTIONS(968),
    [anon_sym_BANG_TILDE] = ACTIONS(968),
    [anon_sym_LT_EQ] = ACTIONS(976),
    [anon_sym_GT] = ACTIONS(976),
    [anon_sym_GT_EQ] = ACTIONS(968),
    [anon_sym_CARET] = ACTIONS(968),
    [anon_sym_PLUS] = ACTIONS(968),
    [anon_sym_SLASH] = ACTIONS(968),
    [anon_sym_PERCENT] = ACTIONS(968),
    [sym_comment] = ACTIONS(110),
  },
  [1138] = {
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(980),
    [anon_sym_RPAREN] = ACTIONS(980),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_do] = ACTIONS(980),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(980),
    [anon_sym_COLON] = ACTIONS(980),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(980),
    [anon_sym_or] = ACTIONS(980),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [sym_comment] = ACTIONS(256),
  },
  [1139] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(3234),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(3236),
    [sym__argument_list_with_parens] = STATE(2959),
    [sym__argument] = STATE(3237),
    [sym_splat_argument] = STATE(2961),
    [sym_hash_splat_argument] = STATE(2961),
    [sym_block_argument] = STATE(2961),
    [sym_do_block] = STATE(3238),
    [sym_block] = STATE(3238),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(3239),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3240),
    [sym__variable] = STATE(3235),
    [sym_reserved_identifier] = STATE(3241),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3242),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(2961),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(4656),
    [sym__splat_star] = ACTIONS(4658),
    [sym__argument_list_left_paren] = ACTIONS(4330),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(4660),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(4662),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_RPAREN] = ACTIONS(980),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(4664),
    [anon_sym_yield] = ACTIONS(4666),
    [anon_sym_break] = ACTIONS(4668),
    [anon_sym_next] = ACTIONS(4670),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(4672),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(4674),
    [anon_sym_not] = ACTIONS(4676),
    [anon_sym_BANG] = ACTIONS(4678),
    [anon_sym_TILDE] = ACTIONS(4680),
    [sym_constant] = ACTIONS(4682),
    [sym_identifier] = ACTIONS(4682),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [1140] = {
    [anon_sym_EQ] = ACTIONS(4684),
    [sym_comment] = ACTIONS(256),
  },
  [1141] = {
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_RPAREN] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(1076),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(4686),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(4688),
    [anon_sym_DASH_EQ] = ACTIONS(4688),
    [anon_sym_STAR_EQ] = ACTIONS(4688),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(4688),
    [anon_sym_SLASH_EQ] = ACTIONS(4688),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(4688),
    [anon_sym_PIPE_EQ] = ACTIONS(4688),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(4688),
    [anon_sym_AMP_EQ] = ACTIONS(4688),
    [anon_sym_PERCENT_EQ] = ACTIONS(4688),
    [anon_sym_GT_GT_EQ] = ACTIONS(4688),
    [anon_sym_LT_LT_EQ] = ACTIONS(4688),
    [anon_sym_CARET_EQ] = ACTIONS(4688),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [1142] = {
    [sym__simple_heredoc_body] = ACTIONS(4690),
    [sym__heredoc_body_beginning] = ACTIONS(4690),
    [sym__line_break] = ACTIONS(4690),
    [anon_sym_LPAREN] = ACTIONS(4690),
    [anon_sym_SEMI] = ACTIONS(4690),
    [anon_sym_STAR] = ACTIONS(4692),
    [anon_sym_STAR_STAR] = ACTIONS(4690),
    [anon_sym_AMP] = ACTIONS(4690),
    [sym_identifier] = ACTIONS(4692),
    [sym_comment] = ACTIONS(110),
  },
  [1143] = {
    [sym__method_rest] = STATE(3246),
    [sym_operator] = STATE(217),
    [sym__method_name] = STATE(218),
    [sym_setter] = STATE(217),
    [sym_symbol] = STATE(217),
    [sym__simple_symbol] = ACTIONS(378),
    [sym__symbol_beginning] = ACTIONS(380),
    [anon_sym_PIPE] = ACTIONS(384),
    [anon_sym_STAR] = ACTIONS(386),
    [anon_sym_STAR_STAR] = ACTIONS(384),
    [anon_sym_AMP] = ACTIONS(384),
    [anon_sym_LT] = ACTIONS(386),
    [anon_sym_DOT_DOT] = ACTIONS(384),
    [anon_sym_LT_LT] = ACTIONS(384),
    [anon_sym_GT_GT] = ACTIONS(384),
    [anon_sym_EQ_EQ] = ACTIONS(386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(384),
    [anon_sym_LT_EQ_GT] = ACTIONS(384),
    [anon_sym_EQ_TILDE] = ACTIONS(384),
    [anon_sym_BANG_TILDE] = ACTIONS(384),
    [anon_sym_LT_EQ] = ACTIONS(386),
    [anon_sym_GT] = ACTIONS(386),
    [anon_sym_GT_EQ] = ACTIONS(384),
    [anon_sym_CARET] = ACTIONS(384),
    [anon_sym_PLUS] = ACTIONS(386),
    [anon_sym_SLASH] = ACTIONS(384),
    [anon_sym_PERCENT] = ACTIONS(384),
    [anon_sym_BANG] = ACTIONS(386),
    [anon_sym_TILDE] = ACTIONS(384),
    [sym_constant] = ACTIONS(4694),
    [sym_identifier] = ACTIONS(4696),
    [sym_instance_variable] = ACTIONS(4694),
    [sym_class_variable] = ACTIONS(4694),
    [sym_global_variable] = ACTIONS(4694),
    [anon_sym_DASH] = ACTIONS(386),
    [anon_sym_PLUS_AT] = ACTIONS(384),
    [anon_sym_DASH_AT] = ACTIONS(384),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(386),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(384),
    [anon_sym_BQUOTE] = ACTIONS(384),
    [sym_comment] = ACTIONS(110),
  },
  [1144] = {
    [sym__formal_parameter] = STATE(3248),
    [sym__simple_formal_parameter] = STATE(1974),
    [sym_destructured_parameter] = STATE(1974),
    [sym_splat_parameter] = STATE(523),
    [sym_hash_splat_parameter] = STATE(523),
    [sym_block_parameter] = STATE(523),
    [sym_keyword_parameter] = STATE(523),
    [sym_optional_parameter] = STATE(523),
    [anon_sym_LPAREN] = ACTIONS(3050),
    [anon_sym_RPAREN] = ACTIONS(4698),
    [anon_sym_STAR] = ACTIONS(3054),
    [anon_sym_STAR_STAR] = ACTIONS(3056),
    [anon_sym_AMP] = ACTIONS(902),
    [sym_identifier] = ACTIONS(3058),
    [sym_comment] = ACTIONS(110),
  },
  [1145] = {
    [sym__simple_heredoc_body] = ACTIONS(3060),
    [sym__heredoc_body_beginning] = ACTIONS(3060),
    [sym__line_break] = ACTIONS(3060),
    [anon_sym_COMMA] = ACTIONS(3060),
    [anon_sym_SEMI] = ACTIONS(3060),
    [sym_identifier] = ACTIONS(4700),
    [sym_comment] = ACTIONS(110),
  },
  [1146] = {
    [sym__simple_heredoc_body] = ACTIONS(3066),
    [sym__heredoc_body_beginning] = ACTIONS(3066),
    [sym__line_break] = ACTIONS(3066),
    [anon_sym_COMMA] = ACTIONS(3066),
    [anon_sym_SEMI] = ACTIONS(3066),
    [sym_identifier] = ACTIONS(4702),
    [sym_comment] = ACTIONS(110),
  },
  [1147] = {
    [sym_lambda] = STATE(3251),
    [sym_identifier] = ACTIONS(4704),
    [sym_comment] = ACTIONS(110),
    [anon_sym_DASH_GT] = ACTIONS(4706),
  },
  [1148] = {
    [sym__simple_heredoc_body] = ACTIONS(3090),
    [sym__heredoc_body_beginning] = ACTIONS(3090),
    [sym__line_break] = ACTIONS(3090),
    [sym__keyword_colon] = ACTIONS(4708),
    [anon_sym_COMMA] = ACTIONS(3090),
    [anon_sym_SEMI] = ACTIONS(3090),
    [anon_sym_EQ] = ACTIONS(4710),
    [sym_comment] = ACTIONS(256),
  },
  [1149] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(3256),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(4712),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1150] = {
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(3258),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym__line_break] = ACTIONS(692),
    [anon_sym_COMMA] = ACTIONS(4714),
    [anon_sym_SEMI] = ACTIONS(692),
    [sym_comment] = ACTIONS(110),
  },
  [1151] = {
    [sym__simple_heredoc_body] = ACTIONS(3090),
    [sym__heredoc_body_beginning] = ACTIONS(3090),
    [sym__line_break] = ACTIONS(3090),
    [anon_sym_COMMA] = ACTIONS(3090),
    [anon_sym_SEMI] = ACTIONS(3090),
    [sym_comment] = ACTIONS(110),
  },
  [1152] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_RPAREN] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(1944),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_if] = ACTIONS(1372),
    [anon_sym_unless] = ACTIONS(1372),
    [anon_sym_while] = ACTIONS(1372),
    [anon_sym_until] = ACTIONS(1372),
    [anon_sym_rescue] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [1153] = {
    [sym__simple_string] = ACTIONS(2010),
    [sym__simple_symbol] = ACTIONS(2010),
    [sym__simple_subshell] = ACTIONS(2010),
    [sym__simple_regex] = ACTIONS(2010),
    [sym__simple_word_list] = ACTIONS(2010),
    [sym__simple_heredoc_body] = ACTIONS(2010),
    [sym__string_beginning] = ACTIONS(2010),
    [sym__symbol_beginning] = ACTIONS(2010),
    [sym__subshell_beginning] = ACTIONS(2010),
    [sym__regex_beginning] = ACTIONS(2010),
    [sym__word_list_beginning] = ACTIONS(2010),
    [sym__heredoc_body_beginning] = ACTIONS(2010),
    [sym_heredoc_beginning] = ACTIONS(2010),
    [sym__line_break] = ACTIONS(2010),
    [sym__element_reference_left_bracket] = ACTIONS(2010),
    [sym__block_ampersand] = ACTIONS(2010),
    [sym__splat_star] = ACTIONS(2010),
    [sym__argument_list_left_paren] = ACTIONS(2010),
    [sym__scope_double_colon] = ACTIONS(2010),
    [sym__unary_minus] = ACTIONS(2010),
    [sym__binary_minus] = ACTIONS(2010),
    [sym__binary_star] = ACTIONS(2010),
    [anon_sym_LBRACE] = ACTIONS(2010),
    [anon_sym_RBRACE] = ACTIONS(2010),
    [anon_sym_def] = ACTIONS(2012),
    [anon_sym_LPAREN] = ACTIONS(2010),
    [anon_sym_RPAREN] = ACTIONS(2010),
    [anon_sym_DOT] = ACTIONS(2012),
    [anon_sym_COLON_COLON] = ACTIONS(2010),
    [anon_sym_end] = ACTIONS(2012),
    [anon_sym_COMMA] = ACTIONS(2010),
    [anon_sym_PIPE] = ACTIONS(2012),
    [anon_sym_SEMI] = ACTIONS(2010),
    [anon_sym_STAR] = ACTIONS(2012),
    [anon_sym_STAR_STAR] = ACTIONS(2012),
    [anon_sym_AMP] = ACTIONS(2012),
    [anon_sym_EQ] = ACTIONS(2012),
    [anon_sym_class] = ACTIONS(2012),
    [anon_sym_LT] = ACTIONS(2012),
    [anon_sym_module] = ACTIONS(2012),
    [anon_sym_return] = ACTIONS(2012),
    [anon_sym_yield] = ACTIONS(2012),
    [anon_sym_break] = ACTIONS(2012),
    [anon_sym_next] = ACTIONS(2012),
    [anon_sym_redo] = ACTIONS(2012),
    [anon_sym_retry] = ACTIONS(2012),
    [anon_sym_if] = ACTIONS(2012),
    [anon_sym_unless] = ACTIONS(2012),
    [anon_sym_while] = ACTIONS(2012),
    [anon_sym_until] = ACTIONS(2012),
    [anon_sym_rescue] = ACTIONS(2012),
    [anon_sym_for] = ACTIONS(2012),
    [anon_sym_in] = ACTIONS(2012),
    [anon_sym_do] = ACTIONS(2012),
    [anon_sym_case] = ACTIONS(2012),
    [anon_sym_when] = ACTIONS(2012),
    [anon_sym_elsif] = ACTIONS(2012),
    [anon_sym_else] = ACTIONS(2012),
    [anon_sym_then] = ACTIONS(2012),
    [anon_sym_begin] = ACTIONS(2012),
    [anon_sym_ensure] = ACTIONS(2012),
    [anon_sym_AMP_DOT] = ACTIONS(2010),
    [anon_sym_PLUS_EQ] = ACTIONS(2010),
    [anon_sym_DASH_EQ] = ACTIONS(2010),
    [anon_sym_STAR_EQ] = ACTIONS(2010),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2010),
    [anon_sym_SLASH_EQ] = ACTIONS(2010),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2010),
    [anon_sym_PIPE_EQ] = ACTIONS(2010),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2010),
    [anon_sym_AMP_EQ] = ACTIONS(2010),
    [anon_sym_PERCENT_EQ] = ACTIONS(2010),
    [anon_sym_GT_GT_EQ] = ACTIONS(2010),
    [anon_sym_LT_LT_EQ] = ACTIONS(2010),
    [anon_sym_CARET_EQ] = ACTIONS(2010),
    [anon_sym_QMARK] = ACTIONS(2012),
    [anon_sym_DOT_DOT] = ACTIONS(2012),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2010),
    [anon_sym_and] = ACTIONS(2012),
    [anon_sym_or] = ACTIONS(2012),
    [anon_sym_PIPE_PIPE] = ACTIONS(2012),
    [anon_sym_AMP_AMP] = ACTIONS(2012),
    [anon_sym_LT_LT] = ACTIONS(2012),
    [anon_sym_GT_GT] = ACTIONS(2012),
    [anon_sym_EQ_EQ] = ACTIONS(2012),
    [anon_sym_BANG_EQ] = ACTIONS(2010),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2010),
    [anon_sym_LT_EQ_GT] = ACTIONS(2010),
    [anon_sym_EQ_TILDE] = ACTIONS(2010),
    [anon_sym_BANG_TILDE] = ACTIONS(2010),
    [anon_sym_LT_EQ] = ACTIONS(2012),
    [anon_sym_GT] = ACTIONS(2012),
    [anon_sym_GT_EQ] = ACTIONS(2010),
    [anon_sym_CARET] = ACTIONS(2012),
    [anon_sym_PLUS] = ACTIONS(2012),
    [anon_sym_SLASH] = ACTIONS(2012),
    [anon_sym_PERCENT] = ACTIONS(2012),
    [anon_sym_defined_QMARK] = ACTIONS(2010),
    [anon_sym_not] = ACTIONS(2012),
    [anon_sym_BANG] = ACTIONS(2012),
    [anon_sym_TILDE] = ACTIONS(2010),
    [sym_constant] = ACTIONS(2014),
    [sym_identifier] = ACTIONS(2014),
    [sym_instance_variable] = ACTIONS(2012),
    [sym_class_variable] = ACTIONS(2012),
    [sym_global_variable] = ACTIONS(2012),
    [anon_sym_alias] = ACTIONS(2012),
    [anon_sym_defined] = ACTIONS(2012),
    [anon_sym_false] = ACTIONS(2012),
    [anon_sym_nil] = ACTIONS(2012),
    [anon_sym_self] = ACTIONS(2012),
    [anon_sym_super] = ACTIONS(2012),
    [anon_sym_true] = ACTIONS(2012),
    [anon_sym_undef] = ACTIONS(2012),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(2012),
    [sym_float] = ACTIONS(2014),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(2010),
    [anon_sym_TRUE] = ACTIONS(2012),
    [anon_sym_FALSE] = ACTIONS(2012),
    [anon_sym_NIL] = ACTIONS(2012),
    [sym_keyword__FILE__] = ACTIONS(2012),
    [sym_keyword__LINE__] = ACTIONS(2012),
    [sym_keyword__ENCODING__] = ACTIONS(2012),
    [sym__character_literal] = ACTIONS(2012),
    [anon_sym_LBRACK] = ACTIONS(2010),
    [anon_sym_DASH_GT] = ACTIONS(2010),
  },
  [1154] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3272),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1310),
    [sym__argument_list_with_parens] = STATE(1264),
    [sym__argument] = STATE(3273),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_do_block] = STATE(1312),
    [sym_block] = STATE(1312),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3274),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3275),
    [sym__variable] = STATE(3235),
    [sym_reserved_identifier] = STATE(3276),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(3277),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(4716),
    [sym__splat_star] = ACTIONS(4718),
    [sym__argument_list_left_paren] = ACTIONS(2034),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(4720),
    [anon_sym_LBRACE] = ACTIONS(2064),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(980),
    [anon_sym_DOT] = ACTIONS(980),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(4722),
    [anon_sym_EQ] = ACTIONS(980),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(4724),
    [anon_sym_yield] = ACTIONS(4726),
    [anon_sym_break] = ACTIONS(4728),
    [anon_sym_next] = ACTIONS(4730),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(2076),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(4732),
    [anon_sym_defined_QMARK] = ACTIONS(4734),
    [anon_sym_not] = ACTIONS(4736),
    [anon_sym_BANG] = ACTIONS(4738),
    [anon_sym_TILDE] = ACTIONS(4738),
    [sym_constant] = ACTIONS(4740),
    [sym_identifier] = ACTIONS(4740),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1155] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3282),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3283),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3284),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(4742),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4744),
    [anon_sym_defined_QMARK] = ACTIONS(4746),
    [anon_sym_not] = ACTIONS(4748),
    [anon_sym_BANG] = ACTIONS(4750),
    [anon_sym_TILDE] = ACTIONS(4750),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1156] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3285),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3283),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3284),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(4742),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4744),
    [anon_sym_defined_QMARK] = ACTIONS(4746),
    [anon_sym_not] = ACTIONS(4748),
    [anon_sym_BANG] = ACTIONS(4750),
    [anon_sym_TILDE] = ACTIONS(4750),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1157] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3290),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1174),
    [sym_call] = STATE(1174),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1176),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(1174),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1892),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(4752),
    [anon_sym_yield] = ACTIONS(4754),
    [anon_sym_break] = ACTIONS(4756),
    [anon_sym_next] = ACTIONS(4758),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4760),
    [anon_sym_defined_QMARK] = ACTIONS(1904),
    [anon_sym_not] = ACTIONS(4762),
    [anon_sym_BANG] = ACTIONS(1910),
    [anon_sym_TILDE] = ACTIONS(1910),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1158] = {
    [sym_constant] = ACTIONS(4764),
    [sym_identifier] = ACTIONS(4764),
    [sym_comment] = ACTIONS(110),
  },
  [1159] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3292),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3283),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3284),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(4742),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4744),
    [anon_sym_defined_QMARK] = ACTIONS(4746),
    [anon_sym_not] = ACTIONS(4748),
    [anon_sym_BANG] = ACTIONS(4750),
    [anon_sym_TILDE] = ACTIONS(4750),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1160] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3297),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1174),
    [sym_call] = STATE(1174),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(340),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(3298),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1176),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(1174),
    [sym_reserved_identifier] = STATE(3299),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(3300),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(4766),
    [sym__splat_star] = ACTIONS(4768),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(1892),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_RPAREN] = ACTIONS(532),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(1896),
    [anon_sym_yield] = ACTIONS(1898),
    [anon_sym_break] = ACTIONS(1900),
    [anon_sym_next] = ACTIONS(1902),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(1904),
    [anon_sym_not] = ACTIONS(1906),
    [anon_sym_BANG] = ACTIONS(1908),
    [anon_sym_TILDE] = ACTIONS(1910),
    [sym_constant] = ACTIONS(4770),
    [sym_identifier] = ACTIONS(4770),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1161] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3297),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1174),
    [sym_call] = STATE(1174),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(349),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(3298),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1176),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(1174),
    [sym_reserved_identifier] = STATE(3299),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(3300),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(4766),
    [sym__splat_star] = ACTIONS(4768),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(1892),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_RPAREN] = ACTIONS(602),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(1896),
    [anon_sym_yield] = ACTIONS(1898),
    [anon_sym_break] = ACTIONS(1900),
    [anon_sym_next] = ACTIONS(1902),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(1904),
    [anon_sym_not] = ACTIONS(1906),
    [anon_sym_BANG] = ACTIONS(1908),
    [anon_sym_TILDE] = ACTIONS(1910),
    [sym_constant] = ACTIONS(4770),
    [sym_identifier] = ACTIONS(4770),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1162] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3297),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1174),
    [sym_call] = STATE(1174),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(350),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(3298),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1176),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(1174),
    [sym_reserved_identifier] = STATE(3299),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(3300),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(4766),
    [sym__splat_star] = ACTIONS(4768),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(1892),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_RPAREN] = ACTIONS(606),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(1896),
    [anon_sym_yield] = ACTIONS(1898),
    [anon_sym_break] = ACTIONS(1900),
    [anon_sym_next] = ACTIONS(1902),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(1904),
    [anon_sym_not] = ACTIONS(1906),
    [anon_sym_BANG] = ACTIONS(1908),
    [anon_sym_TILDE] = ACTIONS(1910),
    [sym_constant] = ACTIONS(4770),
    [sym_identifier] = ACTIONS(4770),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1163] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3297),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1174),
    [sym_call] = STATE(1174),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(351),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(3298),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1176),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(1174),
    [sym_reserved_identifier] = STATE(3299),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(3300),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(4766),
    [sym__splat_star] = ACTIONS(4768),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(1892),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_RPAREN] = ACTIONS(610),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(1896),
    [anon_sym_yield] = ACTIONS(1898),
    [anon_sym_break] = ACTIONS(1900),
    [anon_sym_next] = ACTIONS(1902),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(1904),
    [anon_sym_not] = ACTIONS(1906),
    [anon_sym_BANG] = ACTIONS(1908),
    [anon_sym_TILDE] = ACTIONS(1910),
    [sym_constant] = ACTIONS(4770),
    [sym_identifier] = ACTIONS(4770),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1164] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3301),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1174),
    [sym_call] = STATE(1174),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1176),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(1174),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1892),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(4752),
    [anon_sym_yield] = ACTIONS(4754),
    [anon_sym_break] = ACTIONS(4756),
    [anon_sym_next] = ACTIONS(4758),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4760),
    [anon_sym_defined_QMARK] = ACTIONS(1904),
    [anon_sym_not] = ACTIONS(4762),
    [anon_sym_BANG] = ACTIONS(1910),
    [anon_sym_TILDE] = ACTIONS(1910),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1165] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3302),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1174),
    [sym_call] = STATE(1174),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1176),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(1174),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1892),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(4752),
    [anon_sym_yield] = ACTIONS(4754),
    [anon_sym_break] = ACTIONS(4756),
    [anon_sym_next] = ACTIONS(4758),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4760),
    [anon_sym_defined_QMARK] = ACTIONS(1904),
    [anon_sym_not] = ACTIONS(4762),
    [anon_sym_BANG] = ACTIONS(1910),
    [anon_sym_TILDE] = ACTIONS(1910),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1166] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3302),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1174),
    [sym_call] = STATE(1174),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1176),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(1174),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(1892),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(4752),
    [anon_sym_yield] = ACTIONS(4754),
    [anon_sym_break] = ACTIONS(4756),
    [anon_sym_next] = ACTIONS(4758),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4760),
    [anon_sym_defined_QMARK] = ACTIONS(1904),
    [anon_sym_not] = ACTIONS(4762),
    [anon_sym_BANG] = ACTIONS(1910),
    [anon_sym_TILDE] = ACTIONS(1910),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1167] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1410),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1174),
    [sym_call] = STATE(1174),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1176),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(1174),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1892),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(4752),
    [anon_sym_yield] = ACTIONS(4754),
    [anon_sym_break] = ACTIONS(4756),
    [anon_sym_next] = ACTIONS(4758),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4760),
    [anon_sym_defined_QMARK] = ACTIONS(1904),
    [anon_sym_not] = ACTIONS(4762),
    [anon_sym_BANG] = ACTIONS(1910),
    [anon_sym_TILDE] = ACTIONS(1910),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1168] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(4772),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_RPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [1169] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_RBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_RPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [1170] = {
    [sym__simple_string] = ACTIONS(748),
    [sym__simple_symbol] = ACTIONS(748),
    [sym__simple_subshell] = ACTIONS(748),
    [sym__simple_regex] = ACTIONS(748),
    [sym__simple_word_list] = ACTIONS(748),
    [sym__simple_heredoc_body] = ACTIONS(748),
    [sym__string_beginning] = ACTIONS(748),
    [sym__symbol_beginning] = ACTIONS(748),
    [sym__subshell_beginning] = ACTIONS(748),
    [sym__regex_beginning] = ACTIONS(748),
    [sym__word_list_beginning] = ACTIONS(748),
    [sym__heredoc_body_beginning] = ACTIONS(748),
    [sym_heredoc_beginning] = ACTIONS(748),
    [sym__line_break] = ACTIONS(748),
    [sym__element_reference_left_bracket] = ACTIONS(748),
    [sym__block_ampersand] = ACTIONS(748),
    [sym__splat_star] = ACTIONS(748),
    [sym__argument_list_left_paren] = ACTIONS(748),
    [sym__scope_double_colon] = ACTIONS(748),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(748),
    [sym__binary_minus] = ACTIONS(748),
    [sym__binary_star] = ACTIONS(748),
    [anon_sym_LBRACE] = ACTIONS(748),
    [anon_sym_RBRACE] = ACTIONS(748),
    [anon_sym_def] = ACTIONS(750),
    [anon_sym_LPAREN] = ACTIONS(748),
    [anon_sym_RPAREN] = ACTIONS(748),
    [anon_sym_DOT] = ACTIONS(750),
    [anon_sym_COLON_COLON] = ACTIONS(748),
    [anon_sym_end] = ACTIONS(750),
    [anon_sym_COMMA] = ACTIONS(748),
    [anon_sym_PIPE] = ACTIONS(750),
    [anon_sym_SEMI] = ACTIONS(748),
    [anon_sym_STAR] = ACTIONS(750),
    [anon_sym_STAR_STAR] = ACTIONS(750),
    [anon_sym_AMP] = ACTIONS(750),
    [anon_sym_EQ] = ACTIONS(750),
    [anon_sym_class] = ACTIONS(750),
    [anon_sym_LT] = ACTIONS(750),
    [anon_sym_module] = ACTIONS(750),
    [anon_sym_return] = ACTIONS(750),
    [anon_sym_yield] = ACTIONS(750),
    [anon_sym_break] = ACTIONS(750),
    [anon_sym_next] = ACTIONS(750),
    [anon_sym_redo] = ACTIONS(750),
    [anon_sym_retry] = ACTIONS(750),
    [anon_sym_if] = ACTIONS(750),
    [anon_sym_unless] = ACTIONS(750),
    [anon_sym_while] = ACTIONS(750),
    [anon_sym_until] = ACTIONS(750),
    [anon_sym_rescue] = ACTIONS(750),
    [anon_sym_for] = ACTIONS(750),
    [anon_sym_in] = ACTIONS(750),
    [anon_sym_do] = ACTIONS(750),
    [anon_sym_case] = ACTIONS(750),
    [anon_sym_when] = ACTIONS(750),
    [anon_sym_elsif] = ACTIONS(750),
    [anon_sym_else] = ACTIONS(750),
    [anon_sym_then] = ACTIONS(750),
    [anon_sym_begin] = ACTIONS(750),
    [anon_sym_ensure] = ACTIONS(750),
    [anon_sym_EQ_GT] = ACTIONS(748),
    [anon_sym_AMP_DOT] = ACTIONS(748),
    [anon_sym_PLUS_EQ] = ACTIONS(748),
    [anon_sym_DASH_EQ] = ACTIONS(748),
    [anon_sym_STAR_EQ] = ACTIONS(748),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(748),
    [anon_sym_SLASH_EQ] = ACTIONS(748),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(748),
    [anon_sym_PIPE_EQ] = ACTIONS(748),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(748),
    [anon_sym_AMP_EQ] = ACTIONS(748),
    [anon_sym_PERCENT_EQ] = ACTIONS(748),
    [anon_sym_GT_GT_EQ] = ACTIONS(748),
    [anon_sym_LT_LT_EQ] = ACTIONS(748),
    [anon_sym_CARET_EQ] = ACTIONS(748),
    [anon_sym_QMARK] = ACTIONS(750),
    [anon_sym_DOT_DOT] = ACTIONS(750),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(748),
    [anon_sym_and] = ACTIONS(750),
    [anon_sym_or] = ACTIONS(750),
    [anon_sym_PIPE_PIPE] = ACTIONS(750),
    [anon_sym_AMP_AMP] = ACTIONS(750),
    [anon_sym_LT_LT] = ACTIONS(750),
    [anon_sym_GT_GT] = ACTIONS(750),
    [anon_sym_EQ_EQ] = ACTIONS(750),
    [anon_sym_BANG_EQ] = ACTIONS(748),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(748),
    [anon_sym_LT_EQ_GT] = ACTIONS(748),
    [anon_sym_EQ_TILDE] = ACTIONS(748),
    [anon_sym_BANG_TILDE] = ACTIONS(748),
    [anon_sym_LT_EQ] = ACTIONS(750),
    [anon_sym_GT] = ACTIONS(750),
    [anon_sym_GT_EQ] = ACTIONS(748),
    [anon_sym_CARET] = ACTIONS(750),
    [anon_sym_PLUS] = ACTIONS(750),
    [anon_sym_SLASH] = ACTIONS(750),
    [anon_sym_PERCENT] = ACTIONS(750),
    [anon_sym_defined_QMARK] = ACTIONS(748),
    [anon_sym_not] = ACTIONS(750),
    [anon_sym_BANG] = ACTIONS(750),
    [anon_sym_TILDE] = ACTIONS(748),
    [sym_constant] = ACTIONS(752),
    [sym_identifier] = ACTIONS(752),
    [sym_instance_variable] = ACTIONS(750),
    [sym_class_variable] = ACTIONS(750),
    [sym_global_variable] = ACTIONS(750),
    [anon_sym_alias] = ACTIONS(750),
    [anon_sym_defined] = ACTIONS(750),
    [anon_sym_false] = ACTIONS(750),
    [anon_sym_nil] = ACTIONS(750),
    [anon_sym_self] = ACTIONS(750),
    [anon_sym_super] = ACTIONS(750),
    [anon_sym_true] = ACTIONS(750),
    [anon_sym_undef] = ACTIONS(750),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(750),
    [sym_float] = ACTIONS(752),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(748),
    [anon_sym_TRUE] = ACTIONS(750),
    [anon_sym_FALSE] = ACTIONS(750),
    [anon_sym_NIL] = ACTIONS(750),
    [sym_keyword__FILE__] = ACTIONS(750),
    [sym_keyword__LINE__] = ACTIONS(750),
    [sym_keyword__ENCODING__] = ACTIONS(750),
    [sym__character_literal] = ACTIONS(750),
    [anon_sym_LBRACK] = ACTIONS(748),
    [anon_sym_DASH_GT] = ACTIONS(748),
  },
  [1171] = {
    [sym__simple_string] = ACTIONS(754),
    [sym__simple_symbol] = ACTIONS(754),
    [sym__simple_subshell] = ACTIONS(754),
    [sym__simple_regex] = ACTIONS(754),
    [sym__simple_word_list] = ACTIONS(754),
    [sym__simple_heredoc_body] = ACTIONS(754),
    [sym__string_beginning] = ACTIONS(754),
    [sym__symbol_beginning] = ACTIONS(754),
    [sym__subshell_beginning] = ACTIONS(754),
    [sym__regex_beginning] = ACTIONS(754),
    [sym__word_list_beginning] = ACTIONS(754),
    [sym__heredoc_body_beginning] = ACTIONS(754),
    [sym_heredoc_beginning] = ACTIONS(754),
    [sym__line_break] = ACTIONS(754),
    [sym__element_reference_left_bracket] = ACTIONS(754),
    [sym__block_ampersand] = ACTIONS(754),
    [sym__splat_star] = ACTIONS(754),
    [sym__argument_list_left_paren] = ACTIONS(754),
    [sym__scope_double_colon] = ACTIONS(754),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(754),
    [sym__binary_minus] = ACTIONS(754),
    [sym__binary_star] = ACTIONS(754),
    [anon_sym_LBRACE] = ACTIONS(754),
    [anon_sym_RBRACE] = ACTIONS(754),
    [anon_sym_def] = ACTIONS(756),
    [anon_sym_LPAREN] = ACTIONS(754),
    [anon_sym_RPAREN] = ACTIONS(754),
    [anon_sym_DOT] = ACTIONS(756),
    [anon_sym_COLON_COLON] = ACTIONS(754),
    [anon_sym_end] = ACTIONS(756),
    [anon_sym_COMMA] = ACTIONS(754),
    [anon_sym_PIPE] = ACTIONS(756),
    [anon_sym_SEMI] = ACTIONS(754),
    [anon_sym_STAR] = ACTIONS(756),
    [anon_sym_STAR_STAR] = ACTIONS(756),
    [anon_sym_AMP] = ACTIONS(756),
    [anon_sym_EQ] = ACTIONS(756),
    [anon_sym_class] = ACTIONS(756),
    [anon_sym_LT] = ACTIONS(756),
    [anon_sym_module] = ACTIONS(756),
    [anon_sym_return] = ACTIONS(756),
    [anon_sym_yield] = ACTIONS(756),
    [anon_sym_break] = ACTIONS(756),
    [anon_sym_next] = ACTIONS(756),
    [anon_sym_redo] = ACTIONS(756),
    [anon_sym_retry] = ACTIONS(756),
    [anon_sym_if] = ACTIONS(756),
    [anon_sym_unless] = ACTIONS(756),
    [anon_sym_while] = ACTIONS(756),
    [anon_sym_until] = ACTIONS(756),
    [anon_sym_rescue] = ACTIONS(756),
    [anon_sym_for] = ACTIONS(756),
    [anon_sym_in] = ACTIONS(756),
    [anon_sym_do] = ACTIONS(756),
    [anon_sym_case] = ACTIONS(756),
    [anon_sym_when] = ACTIONS(756),
    [anon_sym_elsif] = ACTIONS(756),
    [anon_sym_else] = ACTIONS(756),
    [anon_sym_then] = ACTIONS(756),
    [anon_sym_begin] = ACTIONS(756),
    [anon_sym_ensure] = ACTIONS(756),
    [anon_sym_EQ_GT] = ACTIONS(754),
    [anon_sym_AMP_DOT] = ACTIONS(754),
    [anon_sym_PLUS_EQ] = ACTIONS(754),
    [anon_sym_DASH_EQ] = ACTIONS(754),
    [anon_sym_STAR_EQ] = ACTIONS(754),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(754),
    [anon_sym_SLASH_EQ] = ACTIONS(754),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(754),
    [anon_sym_PIPE_EQ] = ACTIONS(754),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(754),
    [anon_sym_AMP_EQ] = ACTIONS(754),
    [anon_sym_PERCENT_EQ] = ACTIONS(754),
    [anon_sym_GT_GT_EQ] = ACTIONS(754),
    [anon_sym_LT_LT_EQ] = ACTIONS(754),
    [anon_sym_CARET_EQ] = ACTIONS(754),
    [anon_sym_QMARK] = ACTIONS(756),
    [anon_sym_DOT_DOT] = ACTIONS(756),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(754),
    [anon_sym_and] = ACTIONS(756),
    [anon_sym_or] = ACTIONS(756),
    [anon_sym_PIPE_PIPE] = ACTIONS(756),
    [anon_sym_AMP_AMP] = ACTIONS(756),
    [anon_sym_LT_LT] = ACTIONS(756),
    [anon_sym_GT_GT] = ACTIONS(756),
    [anon_sym_EQ_EQ] = ACTIONS(756),
    [anon_sym_BANG_EQ] = ACTIONS(754),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(754),
    [anon_sym_LT_EQ_GT] = ACTIONS(754),
    [anon_sym_EQ_TILDE] = ACTIONS(754),
    [anon_sym_BANG_TILDE] = ACTIONS(754),
    [anon_sym_LT_EQ] = ACTIONS(756),
    [anon_sym_GT] = ACTIONS(756),
    [anon_sym_GT_EQ] = ACTIONS(754),
    [anon_sym_CARET] = ACTIONS(756),
    [anon_sym_PLUS] = ACTIONS(756),
    [anon_sym_SLASH] = ACTIONS(756),
    [anon_sym_PERCENT] = ACTIONS(756),
    [anon_sym_defined_QMARK] = ACTIONS(754),
    [anon_sym_not] = ACTIONS(756),
    [anon_sym_BANG] = ACTIONS(756),
    [anon_sym_TILDE] = ACTIONS(754),
    [sym_constant] = ACTIONS(758),
    [sym_identifier] = ACTIONS(758),
    [sym_instance_variable] = ACTIONS(756),
    [sym_class_variable] = ACTIONS(756),
    [sym_global_variable] = ACTIONS(756),
    [anon_sym_alias] = ACTIONS(756),
    [anon_sym_defined] = ACTIONS(756),
    [anon_sym_false] = ACTIONS(756),
    [anon_sym_nil] = ACTIONS(756),
    [anon_sym_self] = ACTIONS(756),
    [anon_sym_super] = ACTIONS(756),
    [anon_sym_true] = ACTIONS(756),
    [anon_sym_undef] = ACTIONS(756),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(756),
    [sym_float] = ACTIONS(758),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(754),
    [anon_sym_TRUE] = ACTIONS(756),
    [anon_sym_FALSE] = ACTIONS(756),
    [anon_sym_NIL] = ACTIONS(756),
    [sym_keyword__FILE__] = ACTIONS(756),
    [sym_keyword__LINE__] = ACTIONS(756),
    [sym_keyword__ENCODING__] = ACTIONS(756),
    [sym__character_literal] = ACTIONS(756),
    [anon_sym_LBRACK] = ACTIONS(754),
    [anon_sym_DASH_GT] = ACTIONS(754),
  },
  [1172] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__line_break] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(4774),
    [sym__binary_star] = ACTIONS(4776),
    [anon_sym_RPAREN] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(4778),
    [anon_sym_SEMI] = ACTIONS(2210),
    [anon_sym_STAR_STAR] = ACTIONS(4780),
    [anon_sym_AMP] = ACTIONS(4782),
    [anon_sym_LT] = ACTIONS(4784),
    [anon_sym_if] = ACTIONS(2210),
    [anon_sym_unless] = ACTIONS(2210),
    [anon_sym_while] = ACTIONS(2210),
    [anon_sym_until] = ACTIONS(2210),
    [anon_sym_rescue] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(4772),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(4786),
    [anon_sym_DOT_DOT] = ACTIONS(4788),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4790),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(4792),
    [anon_sym_AMP_AMP] = ACTIONS(4792),
    [anon_sym_LT_LT] = ACTIONS(4794),
    [anon_sym_GT_GT] = ACTIONS(4794),
    [anon_sym_EQ_EQ] = ACTIONS(4796),
    [anon_sym_BANG_EQ] = ACTIONS(4792),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4792),
    [anon_sym_LT_EQ_GT] = ACTIONS(4792),
    [anon_sym_EQ_TILDE] = ACTIONS(4792),
    [anon_sym_BANG_TILDE] = ACTIONS(4792),
    [anon_sym_LT_EQ] = ACTIONS(4784),
    [anon_sym_GT] = ACTIONS(4784),
    [anon_sym_GT_EQ] = ACTIONS(4798),
    [anon_sym_CARET] = ACTIONS(4800),
    [anon_sym_PLUS] = ACTIONS(4802),
    [anon_sym_SLASH] = ACTIONS(4780),
    [anon_sym_PERCENT] = ACTIONS(4780),
    [sym_comment] = ACTIONS(110),
  },
  [1173] = {
    [sym__simple_heredoc_body] = ACTIONS(968),
    [sym__heredoc_body_beginning] = ACTIONS(968),
    [sym__line_break] = ACTIONS(968),
    [sym__element_reference_left_bracket] = ACTIONS(2244),
    [sym__scope_double_colon] = ACTIONS(4804),
    [sym__binary_minus] = ACTIONS(968),
    [sym__binary_star] = ACTIONS(968),
    [anon_sym_LBRACE] = ACTIONS(968),
    [anon_sym_RBRACE] = ACTIONS(968),
    [anon_sym_RPAREN] = ACTIONS(968),
    [anon_sym_DOT] = ACTIONS(4806),
    [anon_sym_end] = ACTIONS(968),
    [anon_sym_COMMA] = ACTIONS(968),
    [anon_sym_PIPE] = ACTIONS(976),
    [anon_sym_SEMI] = ACTIONS(968),
    [anon_sym_STAR_STAR] = ACTIONS(968),
    [anon_sym_AMP] = ACTIONS(976),
    [anon_sym_LT] = ACTIONS(976),
    [anon_sym_if] = ACTIONS(968),
    [anon_sym_unless] = ACTIONS(968),
    [anon_sym_while] = ACTIONS(968),
    [anon_sym_until] = ACTIONS(968),
    [anon_sym_rescue] = ACTIONS(968),
    [anon_sym_do] = ACTIONS(968),
    [anon_sym_when] = ACTIONS(968),
    [anon_sym_elsif] = ACTIONS(968),
    [anon_sym_else] = ACTIONS(968),
    [anon_sym_then] = ACTIONS(968),
    [anon_sym_ensure] = ACTIONS(968),
    [anon_sym_EQ_GT] = ACTIONS(968),
    [anon_sym_AMP_DOT] = ACTIONS(4808),
    [anon_sym_QMARK] = ACTIONS(968),
    [anon_sym_DOT_DOT] = ACTIONS(976),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(968),
    [anon_sym_and] = ACTIONS(968),
    [anon_sym_or] = ACTIONS(968),
    [anon_sym_PIPE_PIPE] = ACTIONS(968),
    [anon_sym_AMP_AMP] = ACTIONS(968),
    [anon_sym_LT_LT] = ACTIONS(968),
    [anon_sym_GT_GT] = ACTIONS(968),
    [anon_sym_EQ_EQ] = ACTIONS(976),
    [anon_sym_BANG_EQ] = ACTIONS(968),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(968),
    [anon_sym_LT_EQ_GT] = ACTIONS(968),
    [anon_sym_EQ_TILDE] = ACTIONS(968),
    [anon_sym_BANG_TILDE] = ACTIONS(968),
    [anon_sym_LT_EQ] = ACTIONS(976),
    [anon_sym_GT] = ACTIONS(976),
    [anon_sym_GT_EQ] = ACTIONS(968),
    [anon_sym_CARET] = ACTIONS(968),
    [anon_sym_PLUS] = ACTIONS(968),
    [anon_sym_SLASH] = ACTIONS(968),
    [anon_sym_PERCENT] = ACTIONS(968),
    [sym_comment] = ACTIONS(110),
  },
  [1174] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(3322),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1222),
    [sym_call] = STATE(1222),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(1435),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(3323),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_do_block] = STATE(1439),
    [sym_block] = STATE(1439),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1224),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1225),
    [sym__variable] = STATE(1222),
    [sym_reserved_identifier] = STATE(3324),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(3325),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(4810),
    [sym__splat_star] = ACTIONS(4812),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(1980),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(2258),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_RPAREN] = ACTIONS(980),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(1982),
    [anon_sym_yield] = ACTIONS(1984),
    [anon_sym_break] = ACTIONS(1986),
    [anon_sym_next] = ACTIONS(1988),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(982),
    [anon_sym_unless] = ACTIONS(982),
    [anon_sym_while] = ACTIONS(982),
    [anon_sym_until] = ACTIONS(982),
    [anon_sym_rescue] = ACTIONS(982),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(2260),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(980),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(1990),
    [anon_sym_not] = ACTIONS(1992),
    [anon_sym_BANG] = ACTIONS(1994),
    [anon_sym_TILDE] = ACTIONS(1996),
    [sym_constant] = ACTIONS(4814),
    [sym_identifier] = ACTIONS(4814),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1175] = {
    [sym_heredoc_end] = STATE(1444),
    [aux_sym_argument_list_repeat1] = STATE(3327),
    [aux_sym_argument_list_repeat2] = STATE(1445),
    [sym__simple_heredoc_body] = ACTIONS(2268),
    [sym__heredoc_body_beginning] = ACTIONS(2270),
    [sym__line_break] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_RPAREN] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(4816),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_STAR_STAR] = ACTIONS(2272),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_if] = ACTIONS(2272),
    [anon_sym_unless] = ACTIONS(2272),
    [anon_sym_while] = ACTIONS(2272),
    [anon_sym_until] = ACTIONS(2272),
    [anon_sym_rescue] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2272),
    [anon_sym_AMP_AMP] = ACTIONS(2272),
    [anon_sym_LT_LT] = ACTIONS(2272),
    [anon_sym_GT_GT] = ACTIONS(2272),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2272),
    [anon_sym_PLUS] = ACTIONS(2272),
    [anon_sym_SLASH] = ACTIONS(2272),
    [anon_sym_PERCENT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(110),
  },
  [1176] = {
    [anon_sym_EQ] = ACTIONS(4818),
    [sym_comment] = ACTIONS(256),
  },
  [1177] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_RPAREN] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(4820),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(4822),
    [anon_sym_DASH_EQ] = ACTIONS(4822),
    [anon_sym_STAR_EQ] = ACTIONS(4822),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(4822),
    [anon_sym_SLASH_EQ] = ACTIONS(4822),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(4822),
    [anon_sym_PIPE_EQ] = ACTIONS(4822),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(4822),
    [anon_sym_AMP_EQ] = ACTIONS(4822),
    [anon_sym_PERCENT_EQ] = ACTIONS(4822),
    [anon_sym_GT_GT_EQ] = ACTIONS(4822),
    [anon_sym_LT_LT_EQ] = ACTIONS(4822),
    [anon_sym_CARET_EQ] = ACTIONS(4822),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [1178] = {
    [sym__keyword_colon] = ACTIONS(4824),
    [sym_comment] = ACTIONS(110),
  },
  [1179] = {
    [sym_string] = STATE(611),
    [aux_sym_chained_string_repeat1] = STATE(612),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(20),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(4772),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_RPAREN] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(120),
  },
  [1180] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_RPAREN] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(1944),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [1181] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(1938),
    [sym__binary_star] = ACTIONS(1940),
    [anon_sym_RPAREN] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(1942),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(1944),
    [anon_sym_AMP] = ACTIONS(1946),
    [anon_sym_LT] = ACTIONS(1948),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(1950),
    [anon_sym_DOT_DOT] = ACTIONS(1952),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1954),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(1958),
    [anon_sym_AMP_AMP] = ACTIONS(1958),
    [anon_sym_LT_LT] = ACTIONS(1960),
    [anon_sym_GT_GT] = ACTIONS(1960),
    [anon_sym_EQ_EQ] = ACTIONS(1962),
    [anon_sym_BANG_EQ] = ACTIONS(1958),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1958),
    [anon_sym_LT_EQ_GT] = ACTIONS(1958),
    [anon_sym_EQ_TILDE] = ACTIONS(1958),
    [anon_sym_BANG_TILDE] = ACTIONS(1958),
    [anon_sym_LT_EQ] = ACTIONS(1948),
    [anon_sym_GT] = ACTIONS(1948),
    [anon_sym_GT_EQ] = ACTIONS(1964),
    [anon_sym_CARET] = ACTIONS(1966),
    [anon_sym_PLUS] = ACTIONS(1968),
    [anon_sym_SLASH] = ACTIONS(1944),
    [anon_sym_PERCENT] = ACTIONS(1944),
    [sym_comment] = ACTIONS(110),
  },
  [1182] = {
    [sym__simple_heredoc_body] = ACTIONS(4826),
    [sym__heredoc_body_beginning] = ACTIONS(4826),
    [sym__line_break] = ACTIONS(4826),
    [sym__element_reference_left_bracket] = ACTIONS(4826),
    [sym__scope_double_colon] = ACTIONS(4826),
    [sym__binary_minus] = ACTIONS(4826),
    [sym__binary_star] = ACTIONS(4826),
    [ts_builtin_sym_end] = ACTIONS(4826),
    [anon_sym___END__] = ACTIONS(4826),
    [anon_sym_LBRACE] = ACTIONS(4826),
    [anon_sym_RBRACE] = ACTIONS(4826),
    [anon_sym_RPAREN] = ACTIONS(4826),
    [anon_sym_DOT] = ACTIONS(4828),
    [anon_sym_end] = ACTIONS(4826),
    [anon_sym_COMMA] = ACTIONS(4826),
    [anon_sym_PIPE] = ACTIONS(4828),
    [anon_sym_SEMI] = ACTIONS(4826),
    [anon_sym_STAR_STAR] = ACTIONS(4826),
    [anon_sym_AMP] = ACTIONS(4828),
    [anon_sym_LT] = ACTIONS(4828),
    [anon_sym_if] = ACTIONS(4826),
    [anon_sym_unless] = ACTIONS(4826),
    [anon_sym_while] = ACTIONS(4826),
    [anon_sym_until] = ACTIONS(4826),
    [anon_sym_rescue] = ACTIONS(4826),
    [anon_sym_do] = ACTIONS(4826),
    [anon_sym_when] = ACTIONS(4826),
    [anon_sym_elsif] = ACTIONS(4826),
    [anon_sym_else] = ACTIONS(4826),
    [anon_sym_then] = ACTIONS(4826),
    [anon_sym_ensure] = ACTIONS(4826),
    [anon_sym_EQ_GT] = ACTIONS(4826),
    [anon_sym_AMP_DOT] = ACTIONS(4826),
    [anon_sym_QMARK] = ACTIONS(4826),
    [anon_sym_DOT_DOT] = ACTIONS(4828),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4826),
    [anon_sym_and] = ACTIONS(4826),
    [anon_sym_or] = ACTIONS(4826),
    [anon_sym_PIPE_PIPE] = ACTIONS(4826),
    [anon_sym_AMP_AMP] = ACTIONS(4826),
    [anon_sym_LT_LT] = ACTIONS(4826),
    [anon_sym_GT_GT] = ACTIONS(4826),
    [anon_sym_EQ_EQ] = ACTIONS(4828),
    [anon_sym_BANG_EQ] = ACTIONS(4826),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4826),
    [anon_sym_LT_EQ_GT] = ACTIONS(4826),
    [anon_sym_EQ_TILDE] = ACTIONS(4826),
    [anon_sym_BANG_TILDE] = ACTIONS(4826),
    [anon_sym_LT_EQ] = ACTIONS(4828),
    [anon_sym_GT] = ACTIONS(4828),
    [anon_sym_GT_EQ] = ACTIONS(4826),
    [anon_sym_CARET] = ACTIONS(4826),
    [anon_sym_PLUS] = ACTIONS(4826),
    [anon_sym_SLASH] = ACTIONS(4826),
    [anon_sym_PERCENT] = ACTIONS(4826),
    [sym_comment] = ACTIONS(110),
  },
  [1183] = {
    [sym__simple_string] = ACTIONS(1398),
    [sym__simple_symbol] = ACTIONS(1398),
    [sym__simple_subshell] = ACTIONS(1398),
    [sym__simple_regex] = ACTIONS(1398),
    [sym__simple_word_list] = ACTIONS(1398),
    [sym__string_beginning] = ACTIONS(1398),
    [sym__symbol_beginning] = ACTIONS(1398),
    [sym__subshell_beginning] = ACTIONS(1398),
    [sym__regex_beginning] = ACTIONS(1398),
    [sym__word_list_beginning] = ACTIONS(1398),
    [sym_heredoc_beginning] = ACTIONS(1398),
    [sym__unary_minus] = ACTIONS(1398),
    [anon_sym_BEGIN] = ACTIONS(2666),
    [anon_sym_LBRACE] = ACTIONS(1398),
    [anon_sym_RBRACE] = ACTIONS(1398),
    [anon_sym_END] = ACTIONS(2666),
    [anon_sym_def] = ACTIONS(2666),
    [anon_sym_LPAREN] = ACTIONS(1398),
    [anon_sym_RPAREN] = ACTIONS(1398),
    [anon_sym_COLON_COLON] = ACTIONS(1398),
    [anon_sym_SEMI] = ACTIONS(1398),
    [anon_sym_STAR] = ACTIONS(1398),
    [anon_sym_class] = ACTIONS(2666),
    [anon_sym_module] = ACTIONS(2666),
    [anon_sym_return] = ACTIONS(2666),
    [anon_sym_yield] = ACTIONS(2666),
    [anon_sym_break] = ACTIONS(2666),
    [anon_sym_next] = ACTIONS(2666),
    [anon_sym_redo] = ACTIONS(2666),
    [anon_sym_retry] = ACTIONS(2666),
    [anon_sym_if] = ACTIONS(2666),
    [anon_sym_unless] = ACTIONS(2666),
    [anon_sym_while] = ACTIONS(2666),
    [anon_sym_until] = ACTIONS(2666),
    [anon_sym_for] = ACTIONS(2666),
    [anon_sym_case] = ACTIONS(2666),
    [anon_sym_begin] = ACTIONS(2666),
    [anon_sym_PLUS] = ACTIONS(2666),
    [anon_sym_defined_QMARK] = ACTIONS(1398),
    [anon_sym_not] = ACTIONS(2666),
    [anon_sym_BANG] = ACTIONS(1398),
    [anon_sym_TILDE] = ACTIONS(1398),
    [sym_constant] = ACTIONS(2668),
    [sym_identifier] = ACTIONS(2668),
    [sym_instance_variable] = ACTIONS(2666),
    [sym_class_variable] = ACTIONS(2666),
    [sym_global_variable] = ACTIONS(2666),
    [anon_sym_alias] = ACTIONS(2666),
    [anon_sym_false] = ACTIONS(2666),
    [anon_sym_nil] = ACTIONS(2666),
    [anon_sym_self] = ACTIONS(2666),
    [anon_sym_super] = ACTIONS(2666),
    [anon_sym_true] = ACTIONS(2666),
    [anon_sym_undef] = ACTIONS(2666),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(2666),
    [sym_float] = ACTIONS(2668),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1398),
    [anon_sym_TRUE] = ACTIONS(2666),
    [anon_sym_FALSE] = ACTIONS(2666),
    [anon_sym_NIL] = ACTIONS(2666),
    [sym_keyword__FILE__] = ACTIONS(2666),
    [sym_keyword__LINE__] = ACTIONS(2666),
    [sym_keyword__ENCODING__] = ACTIONS(2666),
    [sym__character_literal] = ACTIONS(2666),
    [anon_sym_LBRACK] = ACTIONS(1398),
    [anon_sym_DASH_GT] = ACTIONS(1398),
  },
  [1184] = {
    [sym__statement] = STATE(3331),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [aux_sym_heredoc_end_repeat1] = STATE(3332),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [1185] = {
    [sym__simple_string] = ACTIONS(2552),
    [sym__simple_symbol] = ACTIONS(2552),
    [sym__simple_subshell] = ACTIONS(2552),
    [sym__simple_regex] = ACTIONS(2552),
    [sym__simple_word_list] = ACTIONS(2552),
    [sym__string_beginning] = ACTIONS(2552),
    [sym__symbol_beginning] = ACTIONS(2552),
    [sym__subshell_beginning] = ACTIONS(2552),
    [sym__regex_beginning] = ACTIONS(2552),
    [sym__word_list_beginning] = ACTIONS(2552),
    [sym_heredoc_beginning] = ACTIONS(2552),
    [sym__unary_minus] = ACTIONS(2552),
    [anon_sym_BEGIN] = ACTIONS(2670),
    [anon_sym_LBRACE] = ACTIONS(2552),
    [anon_sym_RBRACE] = ACTIONS(2552),
    [anon_sym_END] = ACTIONS(2670),
    [anon_sym_def] = ACTIONS(2670),
    [anon_sym_LPAREN] = ACTIONS(2552),
    [anon_sym_RPAREN] = ACTIONS(2552),
    [anon_sym_COLON_COLON] = ACTIONS(2552),
    [anon_sym_SEMI] = ACTIONS(2552),
    [anon_sym_STAR] = ACTIONS(2552),
    [anon_sym_class] = ACTIONS(2670),
    [anon_sym_module] = ACTIONS(2670),
    [anon_sym_return] = ACTIONS(2670),
    [anon_sym_yield] = ACTIONS(2670),
    [anon_sym_break] = ACTIONS(2670),
    [anon_sym_next] = ACTIONS(2670),
    [anon_sym_redo] = ACTIONS(2670),
    [anon_sym_retry] = ACTIONS(2670),
    [anon_sym_if] = ACTIONS(2670),
    [anon_sym_unless] = ACTIONS(2670),
    [anon_sym_while] = ACTIONS(2670),
    [anon_sym_until] = ACTIONS(2670),
    [anon_sym_for] = ACTIONS(2670),
    [anon_sym_case] = ACTIONS(2670),
    [anon_sym_begin] = ACTIONS(2670),
    [anon_sym_PLUS] = ACTIONS(2670),
    [anon_sym_defined_QMARK] = ACTIONS(2552),
    [anon_sym_not] = ACTIONS(2670),
    [anon_sym_BANG] = ACTIONS(2552),
    [anon_sym_TILDE] = ACTIONS(2552),
    [sym_constant] = ACTIONS(2672),
    [sym_identifier] = ACTIONS(2672),
    [sym_instance_variable] = ACTIONS(2670),
    [sym_class_variable] = ACTIONS(2670),
    [sym_global_variable] = ACTIONS(2670),
    [anon_sym_alias] = ACTIONS(2670),
    [anon_sym_false] = ACTIONS(2670),
    [anon_sym_nil] = ACTIONS(2670),
    [anon_sym_self] = ACTIONS(2670),
    [anon_sym_super] = ACTIONS(2670),
    [anon_sym_true] = ACTIONS(2670),
    [anon_sym_undef] = ACTIONS(2670),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(2670),
    [sym_float] = ACTIONS(2672),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(2552),
    [anon_sym_TRUE] = ACTIONS(2670),
    [anon_sym_FALSE] = ACTIONS(2670),
    [anon_sym_NIL] = ACTIONS(2670),
    [sym_keyword__FILE__] = ACTIONS(2670),
    [sym_keyword__LINE__] = ACTIONS(2670),
    [sym_keyword__ENCODING__] = ACTIONS(2670),
    [sym__character_literal] = ACTIONS(2670),
    [anon_sym_LBRACK] = ACTIONS(2552),
    [anon_sym_DASH_GT] = ACTIONS(2552),
  },
  [1186] = {
    [sym__top_level_statement] = STATE(1996),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(236),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(237),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(240),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(243),
    [sym__variable] = STATE(239),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(396),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_RPAREN] = ACTIONS(3106),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(412),
    [anon_sym_defined_QMARK] = ACTIONS(414),
    [anon_sym_not] = ACTIONS(416),
    [anon_sym_BANG] = ACTIONS(418),
    [anon_sym_TILDE] = ACTIONS(418),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1187] = {
    [sym_heredoc_end] = STATE(1185),
    [sym__terminator] = STATE(3333),
    [sym__simple_heredoc_body] = ACTIONS(1922),
    [sym__heredoc_body_beginning] = ACTIONS(1924),
    [sym__line_break] = ACTIONS(1926),
    [anon_sym_RPAREN] = ACTIONS(3106),
    [anon_sym_SEMI] = ACTIONS(1926),
    [sym_comment] = ACTIONS(110),
  },
  [1188] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3334),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(240),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(243),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(396),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(412),
    [anon_sym_defined_QMARK] = ACTIONS(414),
    [anon_sym_not] = ACTIONS(416),
    [anon_sym_BANG] = ACTIONS(418),
    [anon_sym_TILDE] = ACTIONS(418),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1189] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3335),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(240),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(243),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(396),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(412),
    [anon_sym_defined_QMARK] = ACTIONS(414),
    [anon_sym_not] = ACTIONS(416),
    [anon_sym_BANG] = ACTIONS(418),
    [anon_sym_TILDE] = ACTIONS(418),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1190] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3336),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(240),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(243),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(396),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(412),
    [anon_sym_defined_QMARK] = ACTIONS(414),
    [anon_sym_not] = ACTIONS(416),
    [anon_sym_BANG] = ACTIONS(418),
    [anon_sym_TILDE] = ACTIONS(418),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1191] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3337),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(240),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(243),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(396),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(412),
    [anon_sym_defined_QMARK] = ACTIONS(414),
    [anon_sym_not] = ACTIONS(416),
    [anon_sym_BANG] = ACTIONS(418),
    [anon_sym_TILDE] = ACTIONS(418),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1192] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3338),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(240),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(243),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(396),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(412),
    [anon_sym_defined_QMARK] = ACTIONS(414),
    [anon_sym_not] = ACTIONS(416),
    [anon_sym_BANG] = ACTIONS(418),
    [anon_sym_TILDE] = ACTIONS(418),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1193] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3339),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(240),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(243),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(396),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(412),
    [anon_sym_defined_QMARK] = ACTIONS(414),
    [anon_sym_not] = ACTIONS(416),
    [anon_sym_BANG] = ACTIONS(418),
    [anon_sym_TILDE] = ACTIONS(418),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1194] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3340),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(240),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(243),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(396),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(412),
    [anon_sym_defined_QMARK] = ACTIONS(414),
    [anon_sym_not] = ACTIONS(416),
    [anon_sym_BANG] = ACTIONS(418),
    [anon_sym_TILDE] = ACTIONS(418),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1195] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3341),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(240),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(243),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(396),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(412),
    [anon_sym_defined_QMARK] = ACTIONS(414),
    [anon_sym_not] = ACTIONS(416),
    [anon_sym_BANG] = ACTIONS(418),
    [anon_sym_TILDE] = ACTIONS(418),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1196] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3342),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(240),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(243),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(396),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(412),
    [anon_sym_defined_QMARK] = ACTIONS(414),
    [anon_sym_not] = ACTIONS(416),
    [anon_sym_BANG] = ACTIONS(418),
    [anon_sym_TILDE] = ACTIONS(418),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1197] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3343),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(240),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(243),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(396),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(412),
    [anon_sym_defined_QMARK] = ACTIONS(414),
    [anon_sym_not] = ACTIONS(416),
    [anon_sym_BANG] = ACTIONS(418),
    [anon_sym_TILDE] = ACTIONS(418),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1198] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3344),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(240),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(243),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(396),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(412),
    [anon_sym_defined_QMARK] = ACTIONS(414),
    [anon_sym_not] = ACTIONS(416),
    [anon_sym_BANG] = ACTIONS(418),
    [anon_sym_TILDE] = ACTIONS(418),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1199] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(3345),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [1200] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3346),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(240),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(243),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(396),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(412),
    [anon_sym_defined_QMARK] = ACTIONS(414),
    [anon_sym_not] = ACTIONS(416),
    [anon_sym_BANG] = ACTIONS(418),
    [anon_sym_TILDE] = ACTIONS(418),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1201] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3347),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(240),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(243),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(396),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(412),
    [anon_sym_defined_QMARK] = ACTIONS(414),
    [anon_sym_not] = ACTIONS(416),
    [anon_sym_BANG] = ACTIONS(418),
    [anon_sym_TILDE] = ACTIONS(418),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1202] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3348),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(240),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(243),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(396),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(412),
    [anon_sym_defined_QMARK] = ACTIONS(414),
    [anon_sym_not] = ACTIONS(416),
    [anon_sym_BANG] = ACTIONS(418),
    [anon_sym_TILDE] = ACTIONS(418),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1203] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3349),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(240),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(243),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(396),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(412),
    [anon_sym_defined_QMARK] = ACTIONS(414),
    [anon_sym_not] = ACTIONS(416),
    [anon_sym_BANG] = ACTIONS(418),
    [anon_sym_TILDE] = ACTIONS(418),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1204] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3350),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(240),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(243),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(396),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(412),
    [anon_sym_defined_QMARK] = ACTIONS(414),
    [anon_sym_not] = ACTIONS(416),
    [anon_sym_BANG] = ACTIONS(418),
    [anon_sym_TILDE] = ACTIONS(418),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1205] = {
    [sym_constant] = ACTIONS(4830),
    [sym_identifier] = ACTIONS(4830),
    [sym_comment] = ACTIONS(110),
  },
  [1206] = {
    [sym_argument_list_with_parens] = STATE(3354),
    [sym__argument_list_with_parens] = STATE(3355),
    [sym_operator] = STATE(3354),
    [sym__argument_list_left_paren] = ACTIONS(4832),
    [anon_sym_PIPE] = ACTIONS(4834),
    [anon_sym_STAR] = ACTIONS(4836),
    [anon_sym_STAR_STAR] = ACTIONS(4834),
    [anon_sym_AMP] = ACTIONS(4834),
    [anon_sym_LT] = ACTIONS(4836),
    [anon_sym_DOT_DOT] = ACTIONS(4834),
    [anon_sym_LT_LT] = ACTIONS(4834),
    [anon_sym_GT_GT] = ACTIONS(4834),
    [anon_sym_EQ_EQ] = ACTIONS(4836),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4834),
    [anon_sym_LT_EQ_GT] = ACTIONS(4834),
    [anon_sym_EQ_TILDE] = ACTIONS(4834),
    [anon_sym_BANG_TILDE] = ACTIONS(4834),
    [anon_sym_LT_EQ] = ACTIONS(4836),
    [anon_sym_GT] = ACTIONS(4836),
    [anon_sym_GT_EQ] = ACTIONS(4834),
    [anon_sym_CARET] = ACTIONS(4834),
    [anon_sym_PLUS] = ACTIONS(4836),
    [anon_sym_SLASH] = ACTIONS(4834),
    [anon_sym_PERCENT] = ACTIONS(4834),
    [anon_sym_BANG] = ACTIONS(4836),
    [anon_sym_TILDE] = ACTIONS(4834),
    [sym_constant] = ACTIONS(4838),
    [sym_identifier] = ACTIONS(4838),
    [anon_sym_DASH] = ACTIONS(4836),
    [anon_sym_PLUS_AT] = ACTIONS(4834),
    [anon_sym_DASH_AT] = ACTIONS(4834),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(4836),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(4834),
    [anon_sym_BQUOTE] = ACTIONS(4834),
    [sym_comment] = ACTIONS(110),
  },
  [1207] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(3364),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3366),
    [sym_call] = STATE(3366),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(3367),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3368),
    [sym__variable] = STATE(3366),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(4840),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(4842),
    [anon_sym_yield] = ACTIONS(4844),
    [anon_sym_break] = ACTIONS(4846),
    [anon_sym_next] = ACTIONS(4848),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(4850),
    [anon_sym_defined_QMARK] = ACTIONS(4852),
    [anon_sym_not] = ACTIONS(4854),
    [anon_sym_BANG] = ACTIONS(4856),
    [anon_sym_TILDE] = ACTIONS(4856),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [1208] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(3369),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3366),
    [sym_call] = STATE(3366),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(3367),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3368),
    [sym__variable] = STATE(3366),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(4840),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(4842),
    [anon_sym_yield] = ACTIONS(4844),
    [anon_sym_break] = ACTIONS(4846),
    [anon_sym_next] = ACTIONS(4848),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(4850),
    [anon_sym_defined_QMARK] = ACTIONS(4852),
    [anon_sym_not] = ACTIONS(4854),
    [anon_sym_BANG] = ACTIONS(4856),
    [anon_sym_TILDE] = ACTIONS(4856),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [1209] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(3374),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1222),
    [sym_call] = STATE(1222),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1224),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1225),
    [sym__variable] = STATE(1222),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(1980),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(4858),
    [anon_sym_yield] = ACTIONS(4860),
    [anon_sym_break] = ACTIONS(4862),
    [anon_sym_next] = ACTIONS(4864),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(4866),
    [anon_sym_defined_QMARK] = ACTIONS(1990),
    [anon_sym_not] = ACTIONS(4868),
    [anon_sym_BANG] = ACTIONS(1996),
    [anon_sym_TILDE] = ACTIONS(1996),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1210] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(3375),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3366),
    [sym_call] = STATE(3366),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(3367),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3368),
    [sym__variable] = STATE(3366),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(4840),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(4842),
    [anon_sym_yield] = ACTIONS(4844),
    [anon_sym_break] = ACTIONS(4846),
    [anon_sym_next] = ACTIONS(4848),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(4850),
    [anon_sym_defined_QMARK] = ACTIONS(4852),
    [anon_sym_not] = ACTIONS(4854),
    [anon_sym_BANG] = ACTIONS(4856),
    [anon_sym_TILDE] = ACTIONS(4856),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [1211] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(3322),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1222),
    [sym_call] = STATE(1222),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2147),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(3323),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1224),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1225),
    [sym__variable] = STATE(1222),
    [sym_reserved_identifier] = STATE(3324),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(3325),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(4810),
    [sym__splat_star] = ACTIONS(4812),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(1980),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_RPAREN] = ACTIONS(532),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(544),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(1982),
    [anon_sym_yield] = ACTIONS(1984),
    [anon_sym_break] = ACTIONS(1986),
    [anon_sym_next] = ACTIONS(1988),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_PLUS_EQ] = ACTIONS(532),
    [anon_sym_DASH_EQ] = ACTIONS(532),
    [anon_sym_STAR_EQ] = ACTIONS(532),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(532),
    [anon_sym_SLASH_EQ] = ACTIONS(532),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(532),
    [anon_sym_PIPE_EQ] = ACTIONS(532),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(532),
    [anon_sym_AMP_EQ] = ACTIONS(532),
    [anon_sym_PERCENT_EQ] = ACTIONS(532),
    [anon_sym_GT_GT_EQ] = ACTIONS(532),
    [anon_sym_LT_LT_EQ] = ACTIONS(532),
    [anon_sym_CARET_EQ] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(544),
    [anon_sym_AMP_AMP] = ACTIONS(544),
    [anon_sym_LT_LT] = ACTIONS(544),
    [anon_sym_GT_GT] = ACTIONS(544),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(544),
    [anon_sym_PERCENT] = ACTIONS(544),
    [anon_sym_defined_QMARK] = ACTIONS(1990),
    [anon_sym_not] = ACTIONS(1992),
    [anon_sym_BANG] = ACTIONS(1994),
    [anon_sym_TILDE] = ACTIONS(1996),
    [sym_constant] = ACTIONS(4814),
    [sym_identifier] = ACTIONS(4814),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1212] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(3322),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1222),
    [sym_call] = STATE(1222),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2148),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(3323),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1224),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1225),
    [sym__variable] = STATE(1222),
    [sym_reserved_identifier] = STATE(3324),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(3325),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(4810),
    [sym__splat_star] = ACTIONS(4812),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(1980),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_RPAREN] = ACTIONS(602),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(604),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(1982),
    [anon_sym_yield] = ACTIONS(1984),
    [anon_sym_break] = ACTIONS(1986),
    [anon_sym_next] = ACTIONS(1988),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_PLUS_EQ] = ACTIONS(602),
    [anon_sym_DASH_EQ] = ACTIONS(602),
    [anon_sym_STAR_EQ] = ACTIONS(602),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(602),
    [anon_sym_SLASH_EQ] = ACTIONS(602),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(602),
    [anon_sym_PIPE_EQ] = ACTIONS(602),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(602),
    [anon_sym_AMP_EQ] = ACTIONS(602),
    [anon_sym_PERCENT_EQ] = ACTIONS(602),
    [anon_sym_GT_GT_EQ] = ACTIONS(602),
    [anon_sym_LT_LT_EQ] = ACTIONS(602),
    [anon_sym_CARET_EQ] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(604),
    [anon_sym_AMP_AMP] = ACTIONS(604),
    [anon_sym_LT_LT] = ACTIONS(604),
    [anon_sym_GT_GT] = ACTIONS(604),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(604),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(604),
    [anon_sym_PERCENT] = ACTIONS(604),
    [anon_sym_defined_QMARK] = ACTIONS(1990),
    [anon_sym_not] = ACTIONS(1992),
    [anon_sym_BANG] = ACTIONS(1994),
    [anon_sym_TILDE] = ACTIONS(1996),
    [sym_constant] = ACTIONS(4814),
    [sym_identifier] = ACTIONS(4814),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1213] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(3322),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1222),
    [sym_call] = STATE(1222),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2149),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(3323),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1224),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1225),
    [sym__variable] = STATE(1222),
    [sym_reserved_identifier] = STATE(3324),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(3325),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(4810),
    [sym__splat_star] = ACTIONS(4812),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(1980),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_RPAREN] = ACTIONS(606),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(608),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(1982),
    [anon_sym_yield] = ACTIONS(1984),
    [anon_sym_break] = ACTIONS(1986),
    [anon_sym_next] = ACTIONS(1988),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_PLUS_EQ] = ACTIONS(606),
    [anon_sym_DASH_EQ] = ACTIONS(606),
    [anon_sym_STAR_EQ] = ACTIONS(606),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(606),
    [anon_sym_SLASH_EQ] = ACTIONS(606),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(606),
    [anon_sym_PIPE_EQ] = ACTIONS(606),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(606),
    [anon_sym_AMP_EQ] = ACTIONS(606),
    [anon_sym_PERCENT_EQ] = ACTIONS(606),
    [anon_sym_GT_GT_EQ] = ACTIONS(606),
    [anon_sym_LT_LT_EQ] = ACTIONS(606),
    [anon_sym_CARET_EQ] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(608),
    [anon_sym_AMP_AMP] = ACTIONS(608),
    [anon_sym_LT_LT] = ACTIONS(608),
    [anon_sym_GT_GT] = ACTIONS(608),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(608),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(608),
    [anon_sym_PERCENT] = ACTIONS(608),
    [anon_sym_defined_QMARK] = ACTIONS(1990),
    [anon_sym_not] = ACTIONS(1992),
    [anon_sym_BANG] = ACTIONS(1994),
    [anon_sym_TILDE] = ACTIONS(1996),
    [sym_constant] = ACTIONS(4814),
    [sym_identifier] = ACTIONS(4814),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1214] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(3322),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1222),
    [sym_call] = STATE(1222),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2150),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(3323),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1224),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1225),
    [sym__variable] = STATE(1222),
    [sym_reserved_identifier] = STATE(3324),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(3325),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(4810),
    [sym__splat_star] = ACTIONS(4812),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(1980),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_RPAREN] = ACTIONS(610),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(612),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(1982),
    [anon_sym_yield] = ACTIONS(1984),
    [anon_sym_break] = ACTIONS(1986),
    [anon_sym_next] = ACTIONS(1988),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_PLUS_EQ] = ACTIONS(610),
    [anon_sym_DASH_EQ] = ACTIONS(610),
    [anon_sym_STAR_EQ] = ACTIONS(610),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(610),
    [anon_sym_SLASH_EQ] = ACTIONS(610),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(610),
    [anon_sym_PIPE_EQ] = ACTIONS(610),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(610),
    [anon_sym_AMP_EQ] = ACTIONS(610),
    [anon_sym_PERCENT_EQ] = ACTIONS(610),
    [anon_sym_GT_GT_EQ] = ACTIONS(610),
    [anon_sym_LT_LT_EQ] = ACTIONS(610),
    [anon_sym_CARET_EQ] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(612),
    [anon_sym_AMP_AMP] = ACTIONS(612),
    [anon_sym_LT_LT] = ACTIONS(612),
    [anon_sym_GT_GT] = ACTIONS(612),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(612),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(612),
    [anon_sym_PERCENT] = ACTIONS(612),
    [anon_sym_defined_QMARK] = ACTIONS(1990),
    [anon_sym_not] = ACTIONS(1992),
    [anon_sym_BANG] = ACTIONS(1994),
    [anon_sym_TILDE] = ACTIONS(1996),
    [sym_constant] = ACTIONS(4814),
    [sym_identifier] = ACTIONS(4814),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1215] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(3376),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1222),
    [sym_call] = STATE(1222),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1224),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1225),
    [sym__variable] = STATE(1222),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(1980),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(4858),
    [anon_sym_yield] = ACTIONS(4860),
    [anon_sym_break] = ACTIONS(4862),
    [anon_sym_next] = ACTIONS(4864),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(4866),
    [anon_sym_defined_QMARK] = ACTIONS(1990),
    [anon_sym_not] = ACTIONS(4868),
    [anon_sym_BANG] = ACTIONS(1996),
    [anon_sym_TILDE] = ACTIONS(1996),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1216] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(3377),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1222),
    [sym_call] = STATE(1222),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1224),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1225),
    [sym__variable] = STATE(1222),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(1980),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(4858),
    [anon_sym_yield] = ACTIONS(4860),
    [anon_sym_break] = ACTIONS(4862),
    [anon_sym_next] = ACTIONS(4864),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(4866),
    [anon_sym_defined_QMARK] = ACTIONS(1990),
    [anon_sym_not] = ACTIONS(4868),
    [anon_sym_BANG] = ACTIONS(1996),
    [anon_sym_TILDE] = ACTIONS(1996),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1217] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(3377),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1222),
    [sym_call] = STATE(1222),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1224),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1225),
    [sym__variable] = STATE(1222),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(1980),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(4858),
    [anon_sym_yield] = ACTIONS(4860),
    [anon_sym_break] = ACTIONS(4862),
    [anon_sym_next] = ACTIONS(4864),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(4866),
    [anon_sym_defined_QMARK] = ACTIONS(1990),
    [anon_sym_not] = ACTIONS(4868),
    [anon_sym_BANG] = ACTIONS(1996),
    [anon_sym_TILDE] = ACTIONS(1996),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1218] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(2168),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1222),
    [sym_call] = STATE(1222),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1224),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1225),
    [sym__variable] = STATE(1222),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(1980),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(4858),
    [anon_sym_yield] = ACTIONS(4860),
    [anon_sym_break] = ACTIONS(4862),
    [anon_sym_next] = ACTIONS(4864),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(4866),
    [anon_sym_defined_QMARK] = ACTIONS(1990),
    [anon_sym_not] = ACTIONS(4868),
    [anon_sym_BANG] = ACTIONS(1996),
    [anon_sym_TILDE] = ACTIONS(1996),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1219] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(4870),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_RPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [1220] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__line_break] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(4872),
    [sym__binary_star] = ACTIONS(4874),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_RPAREN] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(4876),
    [anon_sym_SEMI] = ACTIONS(2210),
    [anon_sym_STAR_STAR] = ACTIONS(4878),
    [anon_sym_AMP] = ACTIONS(4880),
    [anon_sym_EQ] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(4882),
    [anon_sym_if] = ACTIONS(2210),
    [anon_sym_unless] = ACTIONS(2210),
    [anon_sym_while] = ACTIONS(2210),
    [anon_sym_until] = ACTIONS(2210),
    [anon_sym_rescue] = ACTIONS(2210),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(4870),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_PLUS_EQ] = ACTIONS(2210),
    [anon_sym_DASH_EQ] = ACTIONS(2210),
    [anon_sym_STAR_EQ] = ACTIONS(2210),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2210),
    [anon_sym_SLASH_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2210),
    [anon_sym_AMP_EQ] = ACTIONS(2210),
    [anon_sym_PERCENT_EQ] = ACTIONS(2210),
    [anon_sym_GT_GT_EQ] = ACTIONS(2210),
    [anon_sym_LT_LT_EQ] = ACTIONS(2210),
    [anon_sym_CARET_EQ] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(4884),
    [anon_sym_DOT_DOT] = ACTIONS(4886),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4888),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(4890),
    [anon_sym_AMP_AMP] = ACTIONS(4890),
    [anon_sym_LT_LT] = ACTIONS(4892),
    [anon_sym_GT_GT] = ACTIONS(4892),
    [anon_sym_EQ_EQ] = ACTIONS(4890),
    [anon_sym_BANG_EQ] = ACTIONS(4894),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4894),
    [anon_sym_LT_EQ_GT] = ACTIONS(4894),
    [anon_sym_EQ_TILDE] = ACTIONS(4894),
    [anon_sym_BANG_TILDE] = ACTIONS(4894),
    [anon_sym_LT_EQ] = ACTIONS(4882),
    [anon_sym_GT] = ACTIONS(4882),
    [anon_sym_GT_EQ] = ACTIONS(4896),
    [anon_sym_CARET] = ACTIONS(4876),
    [anon_sym_PLUS] = ACTIONS(4898),
    [anon_sym_SLASH] = ACTIONS(4878),
    [anon_sym_PERCENT] = ACTIONS(4878),
    [sym_comment] = ACTIONS(256),
  },
  [1221] = {
    [sym__simple_heredoc_body] = ACTIONS(968),
    [sym__heredoc_body_beginning] = ACTIONS(968),
    [sym__line_break] = ACTIONS(968),
    [sym__element_reference_left_bracket] = ACTIONS(2244),
    [sym__scope_double_colon] = ACTIONS(4804),
    [sym__binary_minus] = ACTIONS(968),
    [sym__binary_star] = ACTIONS(968),
    [anon_sym_LBRACE] = ACTIONS(968),
    [anon_sym_RBRACE] = ACTIONS(968),
    [anon_sym_RPAREN] = ACTIONS(968),
    [anon_sym_DOT] = ACTIONS(4806),
    [anon_sym_end] = ACTIONS(968),
    [anon_sym_COMMA] = ACTIONS(968),
    [anon_sym_PIPE] = ACTIONS(976),
    [anon_sym_SEMI] = ACTIONS(968),
    [anon_sym_STAR_STAR] = ACTIONS(976),
    [anon_sym_AMP] = ACTIONS(976),
    [anon_sym_EQ] = ACTIONS(976),
    [anon_sym_LT] = ACTIONS(976),
    [anon_sym_if] = ACTIONS(968),
    [anon_sym_unless] = ACTIONS(968),
    [anon_sym_while] = ACTIONS(968),
    [anon_sym_until] = ACTIONS(968),
    [anon_sym_rescue] = ACTIONS(968),
    [anon_sym_do] = ACTIONS(968),
    [anon_sym_when] = ACTIONS(968),
    [anon_sym_elsif] = ACTIONS(968),
    [anon_sym_else] = ACTIONS(968),
    [anon_sym_then] = ACTIONS(968),
    [anon_sym_ensure] = ACTIONS(968),
    [anon_sym_EQ_GT] = ACTIONS(968),
    [anon_sym_AMP_DOT] = ACTIONS(4808),
    [anon_sym_PLUS_EQ] = ACTIONS(968),
    [anon_sym_DASH_EQ] = ACTIONS(968),
    [anon_sym_STAR_EQ] = ACTIONS(968),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(968),
    [anon_sym_SLASH_EQ] = ACTIONS(968),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(968),
    [anon_sym_PIPE_EQ] = ACTIONS(968),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(968),
    [anon_sym_AMP_EQ] = ACTIONS(968),
    [anon_sym_PERCENT_EQ] = ACTIONS(968),
    [anon_sym_GT_GT_EQ] = ACTIONS(968),
    [anon_sym_LT_LT_EQ] = ACTIONS(968),
    [anon_sym_CARET_EQ] = ACTIONS(968),
    [anon_sym_QMARK] = ACTIONS(968),
    [anon_sym_DOT_DOT] = ACTIONS(976),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(968),
    [anon_sym_and] = ACTIONS(968),
    [anon_sym_or] = ACTIONS(968),
    [anon_sym_PIPE_PIPE] = ACTIONS(976),
    [anon_sym_AMP_AMP] = ACTIONS(976),
    [anon_sym_LT_LT] = ACTIONS(976),
    [anon_sym_GT_GT] = ACTIONS(976),
    [anon_sym_EQ_EQ] = ACTIONS(976),
    [anon_sym_BANG_EQ] = ACTIONS(968),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(968),
    [anon_sym_LT_EQ_GT] = ACTIONS(968),
    [anon_sym_EQ_TILDE] = ACTIONS(968),
    [anon_sym_BANG_TILDE] = ACTIONS(968),
    [anon_sym_LT_EQ] = ACTIONS(976),
    [anon_sym_GT] = ACTIONS(976),
    [anon_sym_GT_EQ] = ACTIONS(968),
    [anon_sym_CARET] = ACTIONS(976),
    [anon_sym_PLUS] = ACTIONS(976),
    [anon_sym_SLASH] = ACTIONS(976),
    [anon_sym_PERCENT] = ACTIONS(976),
    [sym_comment] = ACTIONS(256),
  },
  [1222] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(3322),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1222),
    [sym_call] = STATE(1222),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2190),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(3323),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_do_block] = STATE(1439),
    [sym_block] = STATE(1439),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1224),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1225),
    [sym__variable] = STATE(1222),
    [sym_reserved_identifier] = STATE(3324),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(3325),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(4810),
    [sym__splat_star] = ACTIONS(4812),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(1980),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(2258),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_RPAREN] = ACTIONS(980),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(1982),
    [anon_sym_yield] = ACTIONS(1984),
    [anon_sym_break] = ACTIONS(1986),
    [anon_sym_next] = ACTIONS(1988),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(982),
    [anon_sym_unless] = ACTIONS(982),
    [anon_sym_while] = ACTIONS(982),
    [anon_sym_until] = ACTIONS(982),
    [anon_sym_rescue] = ACTIONS(982),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(982),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(980),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(1990),
    [anon_sym_not] = ACTIONS(1992),
    [anon_sym_BANG] = ACTIONS(1994),
    [anon_sym_TILDE] = ACTIONS(1996),
    [sym_constant] = ACTIONS(4814),
    [sym_identifier] = ACTIONS(4814),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1223] = {
    [sym_heredoc_end] = STATE(2196),
    [aux_sym_argument_list_repeat1] = STATE(3392),
    [aux_sym_argument_list_repeat2] = STATE(2197),
    [sym__simple_heredoc_body] = ACTIONS(3354),
    [sym__heredoc_body_beginning] = ACTIONS(3356),
    [sym__line_break] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_RPAREN] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(4900),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_STAR_STAR] = ACTIONS(2274),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_EQ] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_if] = ACTIONS(2272),
    [anon_sym_unless] = ACTIONS(2272),
    [anon_sym_while] = ACTIONS(2272),
    [anon_sym_until] = ACTIONS(2272),
    [anon_sym_rescue] = ACTIONS(2272),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_PLUS_EQ] = ACTIONS(2272),
    [anon_sym_DASH_EQ] = ACTIONS(2272),
    [anon_sym_STAR_EQ] = ACTIONS(2272),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2272),
    [anon_sym_SLASH_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2272),
    [anon_sym_AMP_EQ] = ACTIONS(2272),
    [anon_sym_PERCENT_EQ] = ACTIONS(2272),
    [anon_sym_GT_GT_EQ] = ACTIONS(2272),
    [anon_sym_LT_LT_EQ] = ACTIONS(2272),
    [anon_sym_CARET_EQ] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2274),
    [anon_sym_AMP_AMP] = ACTIONS(2274),
    [anon_sym_LT_LT] = ACTIONS(2274),
    [anon_sym_GT_GT] = ACTIONS(2274),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2274),
    [anon_sym_PLUS] = ACTIONS(2274),
    [anon_sym_SLASH] = ACTIONS(2274),
    [anon_sym_PERCENT] = ACTIONS(2274),
    [sym_comment] = ACTIONS(256),
  },
  [1224] = {
    [anon_sym_EQ] = ACTIONS(4902),
    [sym_comment] = ACTIONS(256),
  },
  [1225] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_RPAREN] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(4904),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(4906),
    [anon_sym_DASH_EQ] = ACTIONS(4906),
    [anon_sym_STAR_EQ] = ACTIONS(4906),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(4906),
    [anon_sym_SLASH_EQ] = ACTIONS(4906),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(4906),
    [anon_sym_PIPE_EQ] = ACTIONS(4906),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(4906),
    [anon_sym_AMP_EQ] = ACTIONS(4906),
    [anon_sym_PERCENT_EQ] = ACTIONS(4906),
    [anon_sym_GT_GT_EQ] = ACTIONS(4906),
    [anon_sym_LT_LT_EQ] = ACTIONS(4906),
    [anon_sym_CARET_EQ] = ACTIONS(4906),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [1226] = {
    [sym__keyword_colon] = ACTIONS(4908),
    [sym_comment] = ACTIONS(110),
  },
  [1227] = {
    [sym_string] = STATE(2203),
    [aux_sym_chained_string_repeat1] = STATE(2204),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(4870),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_RPAREN] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(3266),
  },
  [1228] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3401),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_splat_argument] = STATE(2211),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_right_assignment_list] = STATE(2212),
    [sym__arg_or_splat_arg] = STATE(3402),
    [sym_left_assignment_list] = STATE(3403),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3404),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(4910),
    [sym__unary_minus] = ACTIONS(4912),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4914),
    [anon_sym_defined_QMARK] = ACTIONS(4916),
    [anon_sym_not] = ACTIONS(4918),
    [anon_sym_BANG] = ACTIONS(4920),
    [anon_sym_TILDE] = ACTIONS(4920),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1229] = {
    [anon_sym_RPAREN] = ACTIONS(4922),
    [anon_sym_COMMA] = ACTIONS(4922),
    [anon_sym_EQ] = ACTIONS(4922),
    [anon_sym_in] = ACTIONS(4922),
    [sym_comment] = ACTIONS(256),
  },
  [1230] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(285),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(1154),
    [sym_call] = STATE(1154),
    [sym_method_call] = STATE(286),
    [sym__mlhs] = STATE(2216),
    [sym__simple_mlhs] = STATE(242),
    [sym_destructured_left_assignment] = STATE(242),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(384),
    [sym__variable] = STATE(1154),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(658),
    [anon_sym_RPAREN] = ACTIONS(3380),
    [anon_sym_COLON_COLON] = ACTIONS(460),
    [anon_sym_STAR] = ACTIONS(402),
    [anon_sym_EQ] = ACTIONS(3380),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(494),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [1231] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3405),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(240),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(243),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(396),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(412),
    [anon_sym_defined_QMARK] = ACTIONS(414),
    [anon_sym_not] = ACTIONS(416),
    [anon_sym_BANG] = ACTIONS(418),
    [anon_sym_TILDE] = ACTIONS(418),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1232] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(4924),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [1233] = {
    [sym__statement] = STATE(3407),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [1234] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(4926),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [1235] = {
    [sym__statement] = STATE(3409),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [1236] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(4928),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [1237] = {
    [sym__statement] = STATE(3411),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [1238] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(4930),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [1239] = {
    [sym__statement] = STATE(3413),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [1240] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(4932),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [1241] = {
    [sym__statement] = STATE(3415),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [1242] = {
    [sym__element_reference_left_bracket] = ACTIONS(1552),
    [sym__scope_double_colon] = ACTIONS(1552),
    [anon_sym_DOT] = ACTIONS(1552),
    [anon_sym_AMP_DOT] = ACTIONS(1552),
    [sym_comment] = ACTIONS(110),
  },
  [1243] = {
    [anon_sym_RBRACE] = ACTIONS(4934),
    [sym_comment] = ACTIONS(110),
  },
  [1244] = {
    [sym_heredoc_end] = STATE(3417),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RBRACE] = ACTIONS(4934),
    [sym_comment] = ACTIONS(110),
  },
  [1245] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(3418),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(1139),
    [sym_call] = STATE(1139),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(1140),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1141),
    [sym__variable] = STATE(1139),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(1822),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_yield] = ACTIONS(1828),
    [anon_sym_break] = ACTIONS(1830),
    [anon_sym_next] = ACTIONS(1832),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(1834),
    [anon_sym_defined_QMARK] = ACTIONS(1836),
    [anon_sym_not] = ACTIONS(1838),
    [anon_sym_BANG] = ACTIONS(1840),
    [anon_sym_TILDE] = ACTIONS(1840),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [1246] = {
    [sym__element_reference_left_bracket] = ACTIONS(1866),
    [sym__scope_double_colon] = ACTIONS(1866),
    [anon_sym_DOT] = ACTIONS(1866),
    [anon_sym_AMP_DOT] = ACTIONS(1866),
    [sym_comment] = ACTIONS(110),
  },
  [1247] = {
    [anon_sym_DOT] = ACTIONS(4936),
    [anon_sym_COLON_COLON] = ACTIONS(4936),
    [sym_comment] = ACTIONS(110),
  },
  [1248] = {
    [sym_method_parameters] = STATE(3420),
    [sym__simple_formal_parameter] = STATE(1150),
    [sym_splat_parameter] = STATE(1151),
    [sym_hash_splat_parameter] = STATE(1151),
    [sym_block_parameter] = STATE(1151),
    [sym_keyword_parameter] = STATE(1151),
    [sym_optional_parameter] = STATE(1151),
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(3420),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym__line_break] = ACTIONS(692),
    [anon_sym_LPAREN] = ACTIONS(1872),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(1874),
    [anon_sym_STAR_STAR] = ACTIONS(1876),
    [anon_sym_AMP] = ACTIONS(1878),
    [sym_identifier] = ACTIONS(1880),
    [sym_comment] = ACTIONS(110),
  },
  [1249] = {
    [sym__element_reference_left_bracket] = ACTIONS(1882),
    [sym__scope_double_colon] = ACTIONS(1882),
    [anon_sym_DOT] = ACTIONS(1882),
    [anon_sym_AMP_DOT] = ACTIONS(1882),
    [sym_comment] = ACTIONS(110),
  },
  [1250] = {
    [anon_sym_RPAREN] = ACTIONS(4938),
    [sym_comment] = ACTIONS(110),
  },
  [1251] = {
    [sym__simple_string] = ACTIONS(2010),
    [sym__simple_symbol] = ACTIONS(2010),
    [sym__simple_subshell] = ACTIONS(2010),
    [sym__simple_regex] = ACTIONS(2010),
    [sym__simple_word_list] = ACTIONS(2010),
    [sym__string_beginning] = ACTIONS(2010),
    [sym__symbol_beginning] = ACTIONS(2010),
    [sym__subshell_beginning] = ACTIONS(2010),
    [sym__regex_beginning] = ACTIONS(2010),
    [sym__word_list_beginning] = ACTIONS(2010),
    [sym_heredoc_beginning] = ACTIONS(2010),
    [sym__element_reference_left_bracket] = ACTIONS(2010),
    [sym__block_ampersand] = ACTIONS(2010),
    [sym__splat_star] = ACTIONS(2010),
    [sym__argument_list_left_paren] = ACTIONS(2010),
    [sym__scope_double_colon] = ACTIONS(2010),
    [sym__unary_minus] = ACTIONS(2010),
    [anon_sym_LBRACE] = ACTIONS(2010),
    [anon_sym_def] = ACTIONS(2012),
    [anon_sym_LPAREN] = ACTIONS(2010),
    [anon_sym_RPAREN] = ACTIONS(2010),
    [anon_sym_DOT] = ACTIONS(2010),
    [anon_sym_COLON_COLON] = ACTIONS(2010),
    [anon_sym_end] = ACTIONS(2012),
    [anon_sym_COMMA] = ACTIONS(2010),
    [anon_sym_STAR] = ACTIONS(2012),
    [anon_sym_STAR_STAR] = ACTIONS(2010),
    [anon_sym_EQ] = ACTIONS(2010),
    [anon_sym_class] = ACTIONS(2012),
    [anon_sym_module] = ACTIONS(2012),
    [anon_sym_return] = ACTIONS(2012),
    [anon_sym_yield] = ACTIONS(2012),
    [anon_sym_break] = ACTIONS(2012),
    [anon_sym_next] = ACTIONS(2012),
    [anon_sym_redo] = ACTIONS(2012),
    [anon_sym_retry] = ACTIONS(2012),
    [anon_sym_if] = ACTIONS(2012),
    [anon_sym_unless] = ACTIONS(2012),
    [anon_sym_while] = ACTIONS(2012),
    [anon_sym_until] = ACTIONS(2012),
    [anon_sym_rescue] = ACTIONS(2012),
    [anon_sym_for] = ACTIONS(2012),
    [anon_sym_in] = ACTIONS(2012),
    [anon_sym_do] = ACTIONS(2012),
    [anon_sym_case] = ACTIONS(2012),
    [anon_sym_when] = ACTIONS(2012),
    [anon_sym_elsif] = ACTIONS(2012),
    [anon_sym_else] = ACTIONS(2012),
    [anon_sym_then] = ACTIONS(2012),
    [anon_sym_begin] = ACTIONS(2012),
    [anon_sym_ensure] = ACTIONS(2012),
    [anon_sym_AMP_DOT] = ACTIONS(2010),
    [anon_sym_and] = ACTIONS(2012),
    [anon_sym_or] = ACTIONS(2012),
    [anon_sym_PLUS] = ACTIONS(2012),
    [anon_sym_defined_QMARK] = ACTIONS(2010),
    [anon_sym_not] = ACTIONS(2012),
    [anon_sym_BANG] = ACTIONS(2010),
    [anon_sym_TILDE] = ACTIONS(2010),
    [sym_constant] = ACTIONS(2014),
    [sym_identifier] = ACTIONS(2014),
    [sym_instance_variable] = ACTIONS(2012),
    [sym_class_variable] = ACTIONS(2012),
    [sym_global_variable] = ACTIONS(2012),
    [anon_sym_alias] = ACTIONS(2012),
    [anon_sym_defined] = ACTIONS(2012),
    [anon_sym_false] = ACTIONS(2012),
    [anon_sym_nil] = ACTIONS(2012),
    [anon_sym_self] = ACTIONS(2012),
    [anon_sym_super] = ACTIONS(2012),
    [anon_sym_true] = ACTIONS(2012),
    [anon_sym_undef] = ACTIONS(2012),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(2012),
    [sym_float] = ACTIONS(2014),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(2010),
    [anon_sym_TRUE] = ACTIONS(2012),
    [anon_sym_FALSE] = ACTIONS(2012),
    [anon_sym_NIL] = ACTIONS(2012),
    [sym_keyword__FILE__] = ACTIONS(2012),
    [sym_keyword__LINE__] = ACTIONS(2012),
    [sym_keyword__ENCODING__] = ACTIONS(2012),
    [sym__character_literal] = ACTIONS(2012),
    [anon_sym_LBRACK] = ACTIONS(2010),
    [anon_sym_DASH_GT] = ACTIONS(2010),
  },
  [1252] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3422),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1329),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1330),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2090),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2100),
    [anon_sym_defined_QMARK] = ACTIONS(2102),
    [anon_sym_not] = ACTIONS(2104),
    [anon_sym_BANG] = ACTIONS(2106),
    [anon_sym_TILDE] = ACTIONS(2106),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1253] = {
    [sym_superclass] = STATE(3423),
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(3424),
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__unary_minus] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(722),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(722),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(2110),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(722),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [1254] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_superclass] = STATE(3423),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1349),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1310),
    [sym__argument_list_with_parens] = STATE(1264),
    [sym__argument] = STATE(1350),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_do_block] = STATE(1312),
    [sym_block] = STATE(1312),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1353),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1354),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__terminator] = STATE(3424),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(2114),
    [sym__splat_star] = ACTIONS(2116),
    [sym__argument_list_left_paren] = ACTIONS(2034),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(2064),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(980),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2120),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(2110),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(2076),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2138),
    [sym_identifier] = ACTIONS(2138),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1255] = {
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(3426),
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__unary_minus] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(722),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(4940),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(722),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(722),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [1256] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1349),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1310),
    [sym__argument_list_with_parens] = STATE(1264),
    [sym__argument] = STATE(1350),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_do_block] = STATE(1312),
    [sym_block] = STATE(1312),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1353),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1354),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__terminator] = STATE(3426),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(2114),
    [sym__splat_star] = ACTIONS(2116),
    [sym__argument_list_left_paren] = ACTIONS(2034),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(2064),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(980),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(4942),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2120),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(2076),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2138),
    [sym_identifier] = ACTIONS(2138),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1257] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3436),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3437),
    [sym_call] = STATE(3437),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3438),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3439),
    [sym__variable] = STATE(3437),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4944),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(4946),
    [anon_sym_yield] = ACTIONS(4948),
    [anon_sym_break] = ACTIONS(4950),
    [anon_sym_next] = ACTIONS(4952),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(4954),
    [anon_sym_defined_QMARK] = ACTIONS(4956),
    [anon_sym_not] = ACTIONS(4958),
    [anon_sym_BANG] = ACTIONS(4960),
    [anon_sym_TILDE] = ACTIONS(4960),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1258] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3440),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3437),
    [sym_call] = STATE(3437),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3438),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3439),
    [sym__variable] = STATE(3437),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4944),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(4946),
    [anon_sym_yield] = ACTIONS(4948),
    [anon_sym_break] = ACTIONS(4950),
    [anon_sym_next] = ACTIONS(4952),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(4954),
    [anon_sym_defined_QMARK] = ACTIONS(4956),
    [anon_sym_not] = ACTIONS(4958),
    [anon_sym_BANG] = ACTIONS(4960),
    [anon_sym_TILDE] = ACTIONS(4960),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1259] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1382),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(3442),
    [sym__argument] = STATE(1385),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1386),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1387),
    [sym__variable] = STATE(1383),
    [sym_reserved_identifier] = STATE(1388),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1389),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(3443),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(2154),
    [sym__splat_star] = ACTIONS(2156),
    [sym__unary_minus] = ACTIONS(2158),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(4962),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2162),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2164),
    [anon_sym_yield] = ACTIONS(2166),
    [anon_sym_break] = ACTIONS(2168),
    [anon_sym_next] = ACTIONS(2170),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2172),
    [anon_sym_defined_QMARK] = ACTIONS(2174),
    [anon_sym_not] = ACTIONS(2176),
    [anon_sym_BANG] = ACTIONS(2178),
    [anon_sym_TILDE] = ACTIONS(2178),
    [sym_constant] = ACTIONS(2180),
    [sym_identifier] = ACTIONS(2180),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1260] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3444),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3437),
    [sym_call] = STATE(3437),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3438),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3439),
    [sym__variable] = STATE(3437),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4944),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(4946),
    [anon_sym_yield] = ACTIONS(4948),
    [anon_sym_break] = ACTIONS(4950),
    [anon_sym_next] = ACTIONS(4952),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(4954),
    [anon_sym_defined_QMARK] = ACTIONS(4956),
    [anon_sym_not] = ACTIONS(4958),
    [anon_sym_BANG] = ACTIONS(4960),
    [anon_sym_TILDE] = ACTIONS(4960),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1261] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(4964),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [1262] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(4380),
    [sym__binary_star] = ACTIONS(4382),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(4384),
    [anon_sym_STAR_STAR] = ACTIONS(4386),
    [anon_sym_AMP] = ACTIONS(4388),
    [anon_sym_LT] = ACTIONS(4390),
    [anon_sym_EQ_GT] = ACTIONS(4964),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(4392),
    [anon_sym_DOT_DOT] = ACTIONS(4394),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4396),
    [anon_sym_and] = ACTIONS(4966),
    [anon_sym_or] = ACTIONS(4966),
    [anon_sym_PIPE_PIPE] = ACTIONS(4398),
    [anon_sym_AMP_AMP] = ACTIONS(4398),
    [anon_sym_LT_LT] = ACTIONS(4400),
    [anon_sym_GT_GT] = ACTIONS(4400),
    [anon_sym_EQ_EQ] = ACTIONS(4402),
    [anon_sym_BANG_EQ] = ACTIONS(4398),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4398),
    [anon_sym_LT_EQ_GT] = ACTIONS(4398),
    [anon_sym_EQ_TILDE] = ACTIONS(4398),
    [anon_sym_BANG_TILDE] = ACTIONS(4398),
    [anon_sym_LT_EQ] = ACTIONS(4390),
    [anon_sym_GT] = ACTIONS(4390),
    [anon_sym_GT_EQ] = ACTIONS(4404),
    [anon_sym_CARET] = ACTIONS(4406),
    [anon_sym_PLUS] = ACTIONS(4408),
    [anon_sym_SLASH] = ACTIONS(4386),
    [anon_sym_PERCENT] = ACTIONS(4386),
    [sym_comment] = ACTIONS(110),
  },
  [1263] = {
    [sym__element_reference_left_bracket] = ACTIONS(2264),
    [sym__scope_double_colon] = ACTIONS(2264),
    [anon_sym_DOT] = ACTIONS(2264),
    [anon_sym_AMP_DOT] = ACTIONS(2264),
    [sym_comment] = ACTIONS(110),
  },
  [1264] = {
    [sym_heredoc_end] = STATE(3448),
    [aux_sym_argument_list_repeat2] = STATE(3449),
    [sym__simple_heredoc_body] = ACTIONS(4968),
    [sym__heredoc_body_beginning] = ACTIONS(4970),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_RPAREN] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2272),
    [anon_sym_COMMA] = ACTIONS(2272),
    [anon_sym_EQ] = ACTIONS(2272),
    [anon_sym_in] = ACTIONS(2272),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(256),
  },
  [1265] = {
    [sym_heredoc_end] = STATE(3448),
    [aux_sym_argument_list_repeat1] = STATE(3451),
    [aux_sym_argument_list_repeat2] = STATE(3449),
    [sym__simple_heredoc_body] = ACTIONS(4968),
    [sym__heredoc_body_beginning] = ACTIONS(4970),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2272),
    [anon_sym_COMMA] = ACTIONS(4972),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(110),
  },
  [1266] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_RPAREN] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2210),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_EQ] = ACTIONS(2210),
    [anon_sym_in] = ACTIONS(2210),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [sym_comment] = ACTIONS(256),
  },
  [1267] = {
    [sym__keyword_colon] = ACTIONS(4974),
    [sym_comment] = ACTIONS(110),
  },
  [1268] = {
    [sym_string] = STATE(1962),
    [aux_sym_chained_string_repeat1] = STATE(1963),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(4964),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(1626),
  },
  [1269] = {
    [sym__element_reference_left_bracket] = ACTIONS(2286),
    [sym__scope_double_colon] = ACTIONS(2286),
    [anon_sym_DOT] = ACTIONS(2286),
    [anon_sym_AMP_DOT] = ACTIONS(2286),
    [sym_comment] = ACTIONS(110),
  },
  [1270] = {
    [sym__element_reference_left_bracket] = ACTIONS(2290),
    [sym__scope_double_colon] = ACTIONS(2290),
    [anon_sym_DOT] = ACTIONS(2290),
    [anon_sym_AMP_DOT] = ACTIONS(2290),
    [sym_comment] = ACTIONS(110),
  },
  [1271] = {
    [sym__element_reference_left_bracket] = ACTIONS(2294),
    [sym__scope_double_colon] = ACTIONS(2294),
    [anon_sym_DOT] = ACTIONS(2294),
    [anon_sym_AMP_DOT] = ACTIONS(2294),
    [sym_comment] = ACTIONS(110),
  },
  [1272] = {
    [sym__then] = STATE(3453),
    [sym_heredoc_end] = STATE(1476),
    [sym__terminator] = STATE(1484),
    [sym__simple_heredoc_body] = ACTIONS(2322),
    [sym__heredoc_body_beginning] = ACTIONS(2324),
    [sym__line_break] = ACTIONS(2326),
    [anon_sym_SEMI] = ACTIONS(2326),
    [anon_sym_if] = ACTIONS(2328),
    [anon_sym_unless] = ACTIONS(2330),
    [anon_sym_while] = ACTIONS(2332),
    [anon_sym_until] = ACTIONS(2334),
    [anon_sym_rescue] = ACTIONS(2336),
    [anon_sym_then] = ACTIONS(2338),
    [sym_comment] = ACTIONS(110),
  },
  [1273] = {
    [sym__then] = STATE(3454),
    [sym_heredoc_end] = STATE(1521),
    [sym__terminator] = STATE(1524),
    [sym__simple_heredoc_body] = ACTIONS(2402),
    [sym__heredoc_body_beginning] = ACTIONS(2404),
    [sym__line_break] = ACTIONS(2406),
    [anon_sym_SEMI] = ACTIONS(2406),
    [anon_sym_if] = ACTIONS(2328),
    [anon_sym_unless] = ACTIONS(2330),
    [anon_sym_while] = ACTIONS(2332),
    [anon_sym_until] = ACTIONS(2334),
    [anon_sym_rescue] = ACTIONS(2336),
    [anon_sym_then] = ACTIONS(2408),
    [sym_comment] = ACTIONS(110),
  },
  [1274] = {
    [sym__do] = STATE(3455),
    [sym_heredoc_end] = STATE(1550),
    [sym__terminator] = STATE(1557),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym__line_break] = ACTIONS(2446),
    [sym__binary_minus] = ACTIONS(2448),
    [sym__binary_star] = ACTIONS(2450),
    [anon_sym_PIPE] = ACTIONS(2452),
    [anon_sym_SEMI] = ACTIONS(2446),
    [anon_sym_STAR_STAR] = ACTIONS(2454),
    [anon_sym_AMP] = ACTIONS(2456),
    [anon_sym_LT] = ACTIONS(2458),
    [anon_sym_do] = ACTIONS(2460),
    [anon_sym_QMARK] = ACTIONS(2462),
    [anon_sym_DOT_DOT] = ACTIONS(2464),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2466),
    [anon_sym_and] = ACTIONS(2468),
    [anon_sym_or] = ACTIONS(2468),
    [anon_sym_PIPE_PIPE] = ACTIONS(2470),
    [anon_sym_AMP_AMP] = ACTIONS(2470),
    [anon_sym_LT_LT] = ACTIONS(2472),
    [anon_sym_GT_GT] = ACTIONS(2472),
    [anon_sym_EQ_EQ] = ACTIONS(2474),
    [anon_sym_BANG_EQ] = ACTIONS(2470),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2470),
    [anon_sym_LT_EQ_GT] = ACTIONS(2470),
    [anon_sym_EQ_TILDE] = ACTIONS(2470),
    [anon_sym_BANG_TILDE] = ACTIONS(2470),
    [anon_sym_LT_EQ] = ACTIONS(2458),
    [anon_sym_GT] = ACTIONS(2458),
    [anon_sym_GT_EQ] = ACTIONS(2476),
    [anon_sym_CARET] = ACTIONS(2478),
    [anon_sym_PLUS] = ACTIONS(2480),
    [anon_sym_SLASH] = ACTIONS(2454),
    [anon_sym_PERCENT] = ACTIONS(2454),
    [sym_comment] = ACTIONS(110),
  },
  [1275] = {
    [sym__do] = STATE(3456),
    [sym_heredoc_end] = STATE(1550),
    [sym__terminator] = STATE(1557),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym__line_break] = ACTIONS(2446),
    [sym__binary_minus] = ACTIONS(2448),
    [sym__binary_star] = ACTIONS(2450),
    [anon_sym_PIPE] = ACTIONS(2452),
    [anon_sym_SEMI] = ACTIONS(2446),
    [anon_sym_STAR_STAR] = ACTIONS(2454),
    [anon_sym_AMP] = ACTIONS(2456),
    [anon_sym_LT] = ACTIONS(2458),
    [anon_sym_do] = ACTIONS(2460),
    [anon_sym_QMARK] = ACTIONS(2462),
    [anon_sym_DOT_DOT] = ACTIONS(2464),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2466),
    [anon_sym_and] = ACTIONS(2468),
    [anon_sym_or] = ACTIONS(2468),
    [anon_sym_PIPE_PIPE] = ACTIONS(2470),
    [anon_sym_AMP_AMP] = ACTIONS(2470),
    [anon_sym_LT_LT] = ACTIONS(2472),
    [anon_sym_GT_GT] = ACTIONS(2472),
    [anon_sym_EQ_EQ] = ACTIONS(2474),
    [anon_sym_BANG_EQ] = ACTIONS(2470),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2470),
    [anon_sym_LT_EQ_GT] = ACTIONS(2470),
    [anon_sym_EQ_TILDE] = ACTIONS(2470),
    [anon_sym_BANG_TILDE] = ACTIONS(2470),
    [anon_sym_LT_EQ] = ACTIONS(2458),
    [anon_sym_GT] = ACTIONS(2458),
    [anon_sym_GT_EQ] = ACTIONS(2476),
    [anon_sym_CARET] = ACTIONS(2478),
    [anon_sym_PLUS] = ACTIONS(2480),
    [anon_sym_SLASH] = ACTIONS(2454),
    [anon_sym_PERCENT] = ACTIONS(2454),
    [sym_comment] = ACTIONS(110),
  },
  [1276] = {
    [sym_in] = STATE(3457),
    [anon_sym_in] = ACTIONS(2548),
    [sym_comment] = ACTIONS(110),
  },
  [1277] = {
    [anon_sym_end] = ACTIONS(4976),
    [sym_comment] = ACTIONS(110),
  },
  [1278] = {
    [sym_when] = STATE(3459),
    [sym_heredoc_end] = STATE(387),
    [sym__terminator] = STATE(402),
    [aux_sym_case_repeat1] = STATE(3460),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym__line_break] = ACTIONS(666),
    [sym__binary_minus] = ACTIONS(2600),
    [sym__binary_star] = ACTIONS(2602),
    [anon_sym_PIPE] = ACTIONS(2604),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_STAR_STAR] = ACTIONS(2606),
    [anon_sym_AMP] = ACTIONS(2608),
    [anon_sym_LT] = ACTIONS(2610),
    [anon_sym_when] = ACTIONS(2612),
    [anon_sym_QMARK] = ACTIONS(2614),
    [anon_sym_DOT_DOT] = ACTIONS(2616),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2618),
    [anon_sym_and] = ACTIONS(2620),
    [anon_sym_or] = ACTIONS(2620),
    [anon_sym_PIPE_PIPE] = ACTIONS(2622),
    [anon_sym_AMP_AMP] = ACTIONS(2622),
    [anon_sym_LT_LT] = ACTIONS(2624),
    [anon_sym_GT_GT] = ACTIONS(2624),
    [anon_sym_EQ_EQ] = ACTIONS(2626),
    [anon_sym_BANG_EQ] = ACTIONS(2622),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2622),
    [anon_sym_LT_EQ_GT] = ACTIONS(2622),
    [anon_sym_EQ_TILDE] = ACTIONS(2622),
    [anon_sym_BANG_TILDE] = ACTIONS(2622),
    [anon_sym_LT_EQ] = ACTIONS(2610),
    [anon_sym_GT] = ACTIONS(2610),
    [anon_sym_GT_EQ] = ACTIONS(2628),
    [anon_sym_CARET] = ACTIONS(2630),
    [anon_sym_PLUS] = ACTIONS(2632),
    [anon_sym_SLASH] = ACTIONS(2606),
    [anon_sym_PERCENT] = ACTIONS(2606),
    [sym_comment] = ACTIONS(110),
  },
  [1279] = {
    [sym_when] = STATE(3459),
    [sym_heredoc_end] = STATE(387),
    [sym__terminator] = STATE(1688),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym__line_break] = ACTIONS(666),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_when] = ACTIONS(2612),
    [sym_comment] = ACTIONS(110),
  },
  [1280] = {
    [sym__element_reference_left_bracket] = ACTIONS(2674),
    [sym__scope_double_colon] = ACTIONS(2674),
    [anon_sym_DOT] = ACTIONS(2674),
    [anon_sym_AMP_DOT] = ACTIONS(2674),
    [sym_comment] = ACTIONS(110),
  },
  [1281] = {
    [anon_sym_end] = ACTIONS(4978),
    [sym_comment] = ACTIONS(110),
  },
  [1282] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(3462),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(4980),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1283] = {
    [sym__element_reference_left_bracket] = ACTIONS(2882),
    [sym__scope_double_colon] = ACTIONS(2882),
    [anon_sym_DOT] = ACTIONS(2882),
    [anon_sym_AMP_DOT] = ACTIONS(2882),
    [sym_comment] = ACTIONS(110),
  },
  [1284] = {
    [sym__element_reference_left_bracket] = ACTIONS(2952),
    [sym__scope_double_colon] = ACTIONS(2952),
    [anon_sym_DOT] = ACTIONS(2952),
    [anon_sym_AMP_DOT] = ACTIONS(2952),
    [sym_comment] = ACTIONS(110),
  },
  [1285] = {
    [sym_heredoc_end] = STATE(3463),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RBRACK] = ACTIONS(4932),
    [sym_comment] = ACTIONS(110),
  },
  [1286] = {
    [anon_sym_RBRACK] = ACTIONS(4932),
    [sym_comment] = ACTIONS(110),
  },
  [1287] = {
    [sym__statements] = STATE(3465),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(3466),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(841),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(4982),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_PIPE] = ACTIONS(3048),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1288] = {
    [sym__statements] = STATE(3468),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(3469),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1981),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(3470),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(3076),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(3078),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(3080),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(4984),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(3086),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1289] = {
    [sym_do_block] = STATE(3471),
    [sym_block] = STATE(3471),
    [anon_sym_LBRACE] = ACTIONS(2048),
    [anon_sym_do] = ACTIONS(4986),
    [sym_comment] = ACTIONS(110),
  },
  [1290] = {
    [sym__element_reference_left_bracket] = ACTIONS(3100),
    [sym__scope_double_colon] = ACTIONS(3100),
    [anon_sym_DOT] = ACTIONS(3100),
    [anon_sym_AMP_DOT] = ACTIONS(3100),
    [sym_comment] = ACTIONS(110),
  },
  [1291] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(501),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(3473),
    [sym__argument] = STATE(506),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(509),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(510),
    [sym__variable] = STATE(504),
    [sym_reserved_identifier] = STATE(511),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(512),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(3474),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(804),
    [sym__splat_star] = ACTIONS(806),
    [sym__unary_minus] = ACTIONS(808),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(818),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(824),
    [anon_sym_yield] = ACTIONS(826),
    [anon_sym_break] = ACTIONS(828),
    [anon_sym_next] = ACTIONS(830),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_RBRACK] = ACTIONS(4988),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(852),
    [anon_sym_defined_QMARK] = ACTIONS(854),
    [anon_sym_not] = ACTIONS(856),
    [anon_sym_BANG] = ACTIONS(858),
    [anon_sym_TILDE] = ACTIONS(858),
    [sym_constant] = ACTIONS(860),
    [sym_identifier] = ACTIONS(860),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1292] = {
    [sym_constant] = ACTIONS(4990),
    [sym_identifier] = ACTIONS(4990),
    [sym_comment] = ACTIONS(110),
  },
  [1293] = {
    [sym_argument_list_with_parens] = STATE(3478),
    [sym__argument_list_with_parens] = STATE(3479),
    [sym_operator] = STATE(3478),
    [sym__argument_list_left_paren] = ACTIONS(4992),
    [anon_sym_PIPE] = ACTIONS(4994),
    [anon_sym_STAR] = ACTIONS(4996),
    [anon_sym_STAR_STAR] = ACTIONS(4994),
    [anon_sym_AMP] = ACTIONS(4994),
    [anon_sym_LT] = ACTIONS(4996),
    [anon_sym_DOT_DOT] = ACTIONS(4994),
    [anon_sym_LT_LT] = ACTIONS(4994),
    [anon_sym_GT_GT] = ACTIONS(4994),
    [anon_sym_EQ_EQ] = ACTIONS(4996),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4994),
    [anon_sym_LT_EQ_GT] = ACTIONS(4994),
    [anon_sym_EQ_TILDE] = ACTIONS(4994),
    [anon_sym_BANG_TILDE] = ACTIONS(4994),
    [anon_sym_LT_EQ] = ACTIONS(4996),
    [anon_sym_GT] = ACTIONS(4996),
    [anon_sym_GT_EQ] = ACTIONS(4994),
    [anon_sym_CARET] = ACTIONS(4994),
    [anon_sym_PLUS] = ACTIONS(4996),
    [anon_sym_SLASH] = ACTIONS(4994),
    [anon_sym_PERCENT] = ACTIONS(4994),
    [anon_sym_BANG] = ACTIONS(4996),
    [anon_sym_TILDE] = ACTIONS(4994),
    [sym_constant] = ACTIONS(4998),
    [sym_identifier] = ACTIONS(4998),
    [anon_sym_DASH] = ACTIONS(4996),
    [anon_sym_PLUS_AT] = ACTIONS(4994),
    [anon_sym_DASH_AT] = ACTIONS(4994),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(4996),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(4994),
    [anon_sym_BQUOTE] = ACTIONS(4994),
    [sym_comment] = ACTIONS(110),
  },
  [1294] = {
    [sym_method] = STATE(3490),
    [sym_singleton_method] = STATE(3490),
    [sym_class] = STATE(3490),
    [sym_singleton_class] = STATE(3490),
    [sym_module] = STATE(3490),
    [sym_return] = STATE(3490),
    [sym_yield] = STATE(3490),
    [sym_break] = STATE(3490),
    [sym_next] = STATE(3490),
    [sym_redo] = STATE(3490),
    [sym_retry] = STATE(3490),
    [sym_while] = STATE(3490),
    [sym_until] = STATE(3490),
    [sym_for] = STATE(3490),
    [sym_case] = STATE(3490),
    [sym_if] = STATE(3490),
    [sym_unless] = STATE(3490),
    [sym_begin] = STATE(3490),
    [sym__arg] = STATE(3517),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(3490),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(3519),
    [sym_operator_assignment] = STATE(3519),
    [sym_conditional] = STATE(3519),
    [sym_range] = STATE(3519),
    [sym_binary] = STATE(3519),
    [sym_unary] = STATE(3519),
    [sym_left_assignment_list] = STATE(3520),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3521),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(3490),
    [sym_complex] = STATE(3490),
    [sym_rational] = STATE(3490),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(3490),
    [sym_string] = STATE(3522),
    [sym_subshell] = STATE(3490),
    [sym_array] = STATE(3490),
    [sym_hash] = STATE(3490),
    [sym_regex] = STATE(3490),
    [sym_lambda] = STATE(3490),
    [sym__simple_string] = ACTIONS(5000),
    [sym__simple_symbol] = ACTIONS(5002),
    [sym__simple_subshell] = ACTIONS(5004),
    [sym__simple_regex] = ACTIONS(5006),
    [sym__simple_word_list] = ACTIONS(5008),
    [sym__string_beginning] = ACTIONS(5010),
    [sym__symbol_beginning] = ACTIONS(5012),
    [sym__subshell_beginning] = ACTIONS(5014),
    [sym__regex_beginning] = ACTIONS(5016),
    [sym__word_list_beginning] = ACTIONS(5018),
    [sym_heredoc_beginning] = ACTIONS(5020),
    [sym__unary_minus] = ACTIONS(5022),
    [anon_sym_LBRACE] = ACTIONS(5024),
    [anon_sym_def] = ACTIONS(5026),
    [anon_sym_LPAREN] = ACTIONS(5028),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(5030),
    [anon_sym_module] = ACTIONS(5032),
    [anon_sym_return] = ACTIONS(5034),
    [anon_sym_yield] = ACTIONS(5036),
    [anon_sym_break] = ACTIONS(5038),
    [anon_sym_next] = ACTIONS(5040),
    [anon_sym_redo] = ACTIONS(5042),
    [anon_sym_retry] = ACTIONS(5044),
    [anon_sym_if] = ACTIONS(5046),
    [anon_sym_unless] = ACTIONS(5048),
    [anon_sym_while] = ACTIONS(5050),
    [anon_sym_until] = ACTIONS(5052),
    [anon_sym_for] = ACTIONS(5054),
    [anon_sym_case] = ACTIONS(5056),
    [anon_sym_begin] = ACTIONS(5058),
    [anon_sym_PLUS] = ACTIONS(5060),
    [anon_sym_defined_QMARK] = ACTIONS(5062),
    [anon_sym_not] = ACTIONS(5064),
    [anon_sym_BANG] = ACTIONS(5066),
    [anon_sym_TILDE] = ACTIONS(5066),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5068),
    [sym_float] = ACTIONS(5070),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5072),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(5074),
    [sym_keyword__LINE__] = ACTIONS(5074),
    [sym_keyword__ENCODING__] = ACTIONS(5074),
    [sym__character_literal] = ACTIONS(5076),
    [anon_sym_LBRACK] = ACTIONS(5078),
    [anon_sym_DASH_GT] = ACTIONS(5080),
  },
  [1295] = {
    [sym_method] = STATE(3490),
    [sym_singleton_method] = STATE(3490),
    [sym_class] = STATE(3490),
    [sym_singleton_class] = STATE(3490),
    [sym_module] = STATE(3490),
    [sym_return] = STATE(3490),
    [sym_yield] = STATE(3490),
    [sym_break] = STATE(3490),
    [sym_next] = STATE(3490),
    [sym_redo] = STATE(3490),
    [sym_retry] = STATE(3490),
    [sym_while] = STATE(3490),
    [sym_until] = STATE(3490),
    [sym_for] = STATE(3490),
    [sym_case] = STATE(3490),
    [sym_if] = STATE(3490),
    [sym_unless] = STATE(3490),
    [sym_begin] = STATE(3490),
    [sym__arg] = STATE(3523),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(3490),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(3519),
    [sym_operator_assignment] = STATE(3519),
    [sym_conditional] = STATE(3519),
    [sym_range] = STATE(3519),
    [sym_binary] = STATE(3519),
    [sym_unary] = STATE(3519),
    [sym_left_assignment_list] = STATE(3520),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3521),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(3490),
    [sym_complex] = STATE(3490),
    [sym_rational] = STATE(3490),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(3490),
    [sym_string] = STATE(3522),
    [sym_subshell] = STATE(3490),
    [sym_array] = STATE(3490),
    [sym_hash] = STATE(3490),
    [sym_regex] = STATE(3490),
    [sym_lambda] = STATE(3490),
    [sym__simple_string] = ACTIONS(5000),
    [sym__simple_symbol] = ACTIONS(5002),
    [sym__simple_subshell] = ACTIONS(5004),
    [sym__simple_regex] = ACTIONS(5006),
    [sym__simple_word_list] = ACTIONS(5008),
    [sym__string_beginning] = ACTIONS(5010),
    [sym__symbol_beginning] = ACTIONS(5012),
    [sym__subshell_beginning] = ACTIONS(5014),
    [sym__regex_beginning] = ACTIONS(5016),
    [sym__word_list_beginning] = ACTIONS(5018),
    [sym_heredoc_beginning] = ACTIONS(5020),
    [sym__unary_minus] = ACTIONS(5022),
    [anon_sym_LBRACE] = ACTIONS(5024),
    [anon_sym_def] = ACTIONS(5026),
    [anon_sym_LPAREN] = ACTIONS(5028),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(5030),
    [anon_sym_module] = ACTIONS(5032),
    [anon_sym_return] = ACTIONS(5034),
    [anon_sym_yield] = ACTIONS(5036),
    [anon_sym_break] = ACTIONS(5038),
    [anon_sym_next] = ACTIONS(5040),
    [anon_sym_redo] = ACTIONS(5042),
    [anon_sym_retry] = ACTIONS(5044),
    [anon_sym_if] = ACTIONS(5046),
    [anon_sym_unless] = ACTIONS(5048),
    [anon_sym_while] = ACTIONS(5050),
    [anon_sym_until] = ACTIONS(5052),
    [anon_sym_for] = ACTIONS(5054),
    [anon_sym_case] = ACTIONS(5056),
    [anon_sym_begin] = ACTIONS(5058),
    [anon_sym_PLUS] = ACTIONS(5060),
    [anon_sym_defined_QMARK] = ACTIONS(5062),
    [anon_sym_not] = ACTIONS(5064),
    [anon_sym_BANG] = ACTIONS(5066),
    [anon_sym_TILDE] = ACTIONS(5066),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5068),
    [sym_float] = ACTIONS(5070),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5072),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(5074),
    [sym_keyword__LINE__] = ACTIONS(5074),
    [sym_keyword__ENCODING__] = ACTIONS(5074),
    [sym__character_literal] = ACTIONS(5076),
    [anon_sym_LBRACK] = ACTIONS(5078),
    [anon_sym_DASH_GT] = ACTIONS(5080),
  },
  [1296] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3528),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1313),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1314),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2062),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5082),
    [anon_sym_yield] = ACTIONS(5084),
    [anon_sym_break] = ACTIONS(5086),
    [anon_sym_next] = ACTIONS(5088),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2078),
    [anon_sym_defined_QMARK] = ACTIONS(2080),
    [anon_sym_not] = ACTIONS(5090),
    [anon_sym_BANG] = ACTIONS(2084),
    [anon_sym_TILDE] = ACTIONS(2084),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1297] = {
    [sym__statements] = STATE(3465),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(3466),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2128),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_hash_splat_argument] = STATE(197),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(2130),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2131),
    [sym__variable] = STATE(2129),
    [sym_reserved_identifier] = STATE(201),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(2132),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1861),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym__hash_items] = STATE(1862),
    [sym_pair] = STATE(205),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3268),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(2920),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_PIPE] = ACTIONS(3048),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(302),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(3272),
    [anon_sym_yield] = ACTIONS(3274),
    [anon_sym_break] = ACTIONS(3276),
    [anon_sym_next] = ACTIONS(3278),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(3280),
    [anon_sym_defined_QMARK] = ACTIONS(3282),
    [anon_sym_not] = ACTIONS(3284),
    [anon_sym_BANG] = ACTIONS(3286),
    [anon_sym_TILDE] = ACTIONS(3286),
    [sym_constant] = ACTIONS(3288),
    [sym_identifier] = ACTIONS(3288),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(3290),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(3292),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1298] = {
    [sym_method] = STATE(3490),
    [sym_singleton_method] = STATE(3490),
    [sym_class] = STATE(3490),
    [sym_singleton_class] = STATE(3490),
    [sym_module] = STATE(3490),
    [sym_return] = STATE(3490),
    [sym_yield] = STATE(3490),
    [sym_break] = STATE(3490),
    [sym_next] = STATE(3490),
    [sym_redo] = STATE(3490),
    [sym_retry] = STATE(3490),
    [sym_while] = STATE(3490),
    [sym_until] = STATE(3490),
    [sym_for] = STATE(3490),
    [sym_case] = STATE(3490),
    [sym_if] = STATE(3490),
    [sym_unless] = STATE(3490),
    [sym_begin] = STATE(3490),
    [sym__arg] = STATE(3529),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(3490),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(3519),
    [sym_operator_assignment] = STATE(3519),
    [sym_conditional] = STATE(3519),
    [sym_range] = STATE(3519),
    [sym_binary] = STATE(3519),
    [sym_unary] = STATE(3519),
    [sym_left_assignment_list] = STATE(3520),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3521),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(3490),
    [sym_complex] = STATE(3490),
    [sym_rational] = STATE(3490),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(3490),
    [sym_string] = STATE(3522),
    [sym_subshell] = STATE(3490),
    [sym_array] = STATE(3490),
    [sym_hash] = STATE(3490),
    [sym_regex] = STATE(3490),
    [sym_lambda] = STATE(3490),
    [sym__simple_string] = ACTIONS(5000),
    [sym__simple_symbol] = ACTIONS(5002),
    [sym__simple_subshell] = ACTIONS(5004),
    [sym__simple_regex] = ACTIONS(5006),
    [sym__simple_word_list] = ACTIONS(5008),
    [sym__string_beginning] = ACTIONS(5010),
    [sym__symbol_beginning] = ACTIONS(5012),
    [sym__subshell_beginning] = ACTIONS(5014),
    [sym__regex_beginning] = ACTIONS(5016),
    [sym__word_list_beginning] = ACTIONS(5018),
    [sym_heredoc_beginning] = ACTIONS(5020),
    [sym__unary_minus] = ACTIONS(5022),
    [anon_sym_LBRACE] = ACTIONS(5024),
    [anon_sym_def] = ACTIONS(5026),
    [anon_sym_LPAREN] = ACTIONS(5028),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(5030),
    [anon_sym_module] = ACTIONS(5032),
    [anon_sym_return] = ACTIONS(5034),
    [anon_sym_yield] = ACTIONS(5036),
    [anon_sym_break] = ACTIONS(5038),
    [anon_sym_next] = ACTIONS(5040),
    [anon_sym_redo] = ACTIONS(5042),
    [anon_sym_retry] = ACTIONS(5044),
    [anon_sym_if] = ACTIONS(5046),
    [anon_sym_unless] = ACTIONS(5048),
    [anon_sym_while] = ACTIONS(5050),
    [anon_sym_until] = ACTIONS(5052),
    [anon_sym_for] = ACTIONS(5054),
    [anon_sym_case] = ACTIONS(5056),
    [anon_sym_begin] = ACTIONS(5058),
    [anon_sym_PLUS] = ACTIONS(5060),
    [anon_sym_defined_QMARK] = ACTIONS(5062),
    [anon_sym_not] = ACTIONS(5064),
    [anon_sym_BANG] = ACTIONS(5066),
    [anon_sym_TILDE] = ACTIONS(5066),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5068),
    [sym_float] = ACTIONS(5070),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5072),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(5074),
    [sym_keyword__LINE__] = ACTIONS(5074),
    [sym_keyword__ENCODING__] = ACTIONS(5074),
    [sym__character_literal] = ACTIONS(5076),
    [anon_sym_LBRACK] = ACTIONS(5078),
    [anon_sym_DASH_GT] = ACTIONS(5080),
  },
  [1299] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3534),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1886),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(3535),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1313),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1314),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(3536),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(3537),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(5092),
    [sym__splat_star] = ACTIONS(5094),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2062),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2068),
    [anon_sym_yield] = ACTIONS(2070),
    [anon_sym_break] = ACTIONS(2072),
    [anon_sym_next] = ACTIONS(2074),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(2080),
    [anon_sym_not] = ACTIONS(2082),
    [anon_sym_BANG] = ACTIONS(5096),
    [anon_sym_TILDE] = ACTIONS(2084),
    [sym_constant] = ACTIONS(5098),
    [sym_identifier] = ACTIONS(5098),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1300] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3534),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1892),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(3535),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1313),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1314),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(3536),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(3537),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(5092),
    [sym__splat_star] = ACTIONS(5094),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2062),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2068),
    [anon_sym_yield] = ACTIONS(2070),
    [anon_sym_break] = ACTIONS(2072),
    [anon_sym_next] = ACTIONS(2074),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(2080),
    [anon_sym_not] = ACTIONS(2082),
    [anon_sym_BANG] = ACTIONS(5096),
    [anon_sym_TILDE] = ACTIONS(2084),
    [sym_constant] = ACTIONS(5098),
    [sym_identifier] = ACTIONS(5098),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1301] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3534),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1893),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(3535),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1313),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1314),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(3536),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(3537),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(5092),
    [sym__splat_star] = ACTIONS(5094),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2062),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2068),
    [anon_sym_yield] = ACTIONS(2070),
    [anon_sym_break] = ACTIONS(2072),
    [anon_sym_next] = ACTIONS(2074),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(2080),
    [anon_sym_not] = ACTIONS(2082),
    [anon_sym_BANG] = ACTIONS(5096),
    [anon_sym_TILDE] = ACTIONS(2084),
    [sym_constant] = ACTIONS(5098),
    [sym_identifier] = ACTIONS(5098),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1302] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3534),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1894),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(3535),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1313),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1314),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(3536),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(3537),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(5092),
    [sym__splat_star] = ACTIONS(5094),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2062),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2068),
    [anon_sym_yield] = ACTIONS(2070),
    [anon_sym_break] = ACTIONS(2072),
    [anon_sym_next] = ACTIONS(2074),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(2080),
    [anon_sym_not] = ACTIONS(2082),
    [anon_sym_BANG] = ACTIONS(5096),
    [anon_sym_TILDE] = ACTIONS(2084),
    [sym_constant] = ACTIONS(5098),
    [sym_identifier] = ACTIONS(5098),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1303] = {
    [sym__statements] = STATE(3468),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(3469),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1981),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(3470),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(3076),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(3078),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(3080),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(4984),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(3086),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1304] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3538),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1313),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1314),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2062),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5082),
    [anon_sym_yield] = ACTIONS(5084),
    [anon_sym_break] = ACTIONS(5086),
    [anon_sym_next] = ACTIONS(5088),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2078),
    [anon_sym_defined_QMARK] = ACTIONS(2080),
    [anon_sym_not] = ACTIONS(5090),
    [anon_sym_BANG] = ACTIONS(2084),
    [anon_sym_TILDE] = ACTIONS(2084),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1305] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3539),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1313),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1314),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2062),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5082),
    [anon_sym_yield] = ACTIONS(5084),
    [anon_sym_break] = ACTIONS(5086),
    [anon_sym_next] = ACTIONS(5088),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2078),
    [anon_sym_defined_QMARK] = ACTIONS(2080),
    [anon_sym_not] = ACTIONS(5090),
    [anon_sym_BANG] = ACTIONS(2084),
    [anon_sym_TILDE] = ACTIONS(2084),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1306] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3539),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1313),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1314),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2062),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5082),
    [anon_sym_yield] = ACTIONS(5084),
    [anon_sym_break] = ACTIONS(5086),
    [anon_sym_next] = ACTIONS(5088),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2078),
    [anon_sym_defined_QMARK] = ACTIONS(2080),
    [anon_sym_not] = ACTIONS(5090),
    [anon_sym_BANG] = ACTIONS(2084),
    [anon_sym_TILDE] = ACTIONS(2084),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1307] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(2988),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1313),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1314),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2062),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5082),
    [anon_sym_yield] = ACTIONS(5084),
    [anon_sym_break] = ACTIONS(5086),
    [anon_sym_next] = ACTIONS(5088),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2078),
    [anon_sym_defined_QMARK] = ACTIONS(2080),
    [anon_sym_not] = ACTIONS(5090),
    [anon_sym_BANG] = ACTIONS(2084),
    [anon_sym_TILDE] = ACTIONS(2084),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1308] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(5100),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [1309] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(5102),
    [sym__binary_star] = ACTIONS(5104),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(5106),
    [anon_sym_STAR_STAR] = ACTIONS(5108),
    [anon_sym_AMP] = ACTIONS(5110),
    [anon_sym_EQ] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(5112),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(5100),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(5114),
    [anon_sym_DOT_DOT] = ACTIONS(5116),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5118),
    [anon_sym_and] = ACTIONS(5120),
    [anon_sym_or] = ACTIONS(5120),
    [anon_sym_PIPE_PIPE] = ACTIONS(5122),
    [anon_sym_AMP_AMP] = ACTIONS(5122),
    [anon_sym_LT_LT] = ACTIONS(5124),
    [anon_sym_GT_GT] = ACTIONS(5124),
    [anon_sym_EQ_EQ] = ACTIONS(5126),
    [anon_sym_BANG_EQ] = ACTIONS(5122),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5122),
    [anon_sym_LT_EQ_GT] = ACTIONS(5122),
    [anon_sym_EQ_TILDE] = ACTIONS(5122),
    [anon_sym_BANG_TILDE] = ACTIONS(5122),
    [anon_sym_LT_EQ] = ACTIONS(5112),
    [anon_sym_GT] = ACTIONS(5112),
    [anon_sym_GT_EQ] = ACTIONS(5128),
    [anon_sym_CARET] = ACTIONS(5130),
    [anon_sym_PLUS] = ACTIONS(5132),
    [anon_sym_SLASH] = ACTIONS(5108),
    [anon_sym_PERCENT] = ACTIONS(5108),
    [sym_comment] = ACTIONS(256),
  },
  [1310] = {
    [sym_do_block] = STATE(3553),
    [sym_block] = STATE(3553),
    [sym__element_reference_left_bracket] = ACTIONS(3346),
    [sym__scope_double_colon] = ACTIONS(3346),
    [anon_sym_LBRACE] = ACTIONS(2048),
    [anon_sym_RPAREN] = ACTIONS(3346),
    [anon_sym_DOT] = ACTIONS(3346),
    [anon_sym_COMMA] = ACTIONS(3346),
    [anon_sym_EQ] = ACTIONS(3346),
    [anon_sym_in] = ACTIONS(3346),
    [anon_sym_do] = ACTIONS(4986),
    [anon_sym_AMP_DOT] = ACTIONS(3346),
    [sym_comment] = ACTIONS(256),
  },
  [1311] = {
    [sym_heredoc_end] = STATE(3448),
    [aux_sym_argument_list_repeat1] = STATE(3555),
    [aux_sym_argument_list_repeat2] = STATE(3449),
    [sym__simple_heredoc_body] = ACTIONS(4968),
    [sym__heredoc_body_beginning] = ACTIONS(4970),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2272),
    [anon_sym_COMMA] = ACTIONS(5134),
    [anon_sym_EQ] = ACTIONS(2272),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(256),
  },
  [1312] = {
    [sym__element_reference_left_bracket] = ACTIONS(3346),
    [sym__scope_double_colon] = ACTIONS(3346),
    [anon_sym_RPAREN] = ACTIONS(3346),
    [anon_sym_DOT] = ACTIONS(3346),
    [anon_sym_COMMA] = ACTIONS(3346),
    [anon_sym_EQ] = ACTIONS(3346),
    [anon_sym_in] = ACTIONS(3346),
    [anon_sym_AMP_DOT] = ACTIONS(3346),
    [sym_comment] = ACTIONS(256),
  },
  [1313] = {
    [anon_sym_EQ] = ACTIONS(5136),
    [sym_comment] = ACTIONS(256),
  },
  [1314] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(5138),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(5140),
    [anon_sym_DASH_EQ] = ACTIONS(5140),
    [anon_sym_STAR_EQ] = ACTIONS(5140),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5140),
    [anon_sym_SLASH_EQ] = ACTIONS(5140),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5140),
    [anon_sym_PIPE_EQ] = ACTIONS(5140),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5140),
    [anon_sym_AMP_EQ] = ACTIONS(5140),
    [anon_sym_PERCENT_EQ] = ACTIONS(5140),
    [anon_sym_GT_GT_EQ] = ACTIONS(5140),
    [anon_sym_LT_LT_EQ] = ACTIONS(5140),
    [anon_sym_CARET_EQ] = ACTIONS(5140),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [1315] = {
    [sym__keyword_colon] = ACTIONS(5142),
    [sym_comment] = ACTIONS(110),
  },
  [1316] = {
    [sym_string] = STATE(1962),
    [aux_sym_chained_string_repeat1] = STATE(1963),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(5100),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(1626),
  },
  [1317] = {
    [sym__simple_string] = ACTIONS(3382),
    [sym__string_beginning] = ACTIONS(3382),
    [sym__element_reference_left_bracket] = ACTIONS(3382),
    [sym__scope_double_colon] = ACTIONS(3382),
    [anon_sym_DOT] = ACTIONS(3382),
    [anon_sym_AMP_DOT] = ACTIONS(3382),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(3384),
  },
  [1318] = {
    [sym_string] = STATE(3559),
    [sym__simple_string] = ACTIONS(432),
    [sym__string_beginning] = ACTIONS(442),
    [sym__element_reference_left_bracket] = ACTIONS(3386),
    [sym__scope_double_colon] = ACTIONS(3386),
    [anon_sym_DOT] = ACTIONS(3386),
    [anon_sym_AMP_DOT] = ACTIONS(3386),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(516),
  },
  [1319] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3560),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1329),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1330),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2090),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2100),
    [anon_sym_defined_QMARK] = ACTIONS(2102),
    [anon_sym_not] = ACTIONS(2104),
    [anon_sym_BANG] = ACTIONS(2106),
    [anon_sym_TILDE] = ACTIONS(2106),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1320] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3574),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(3575),
    [sym_call] = STATE(3575),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(340),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(3576),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3577),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3578),
    [sym__variable] = STATE(3575),
    [sym_reserved_identifier] = STATE(3579),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(3580),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(5144),
    [sym__splat_star] = ACTIONS(5146),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(5148),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(5150),
    [anon_sym_yield] = ACTIONS(5152),
    [anon_sym_break] = ACTIONS(5154),
    [anon_sym_next] = ACTIONS(5156),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(5158),
    [anon_sym_not] = ACTIONS(5160),
    [anon_sym_BANG] = ACTIONS(5162),
    [anon_sym_TILDE] = ACTIONS(5164),
    [sym_constant] = ACTIONS(5166),
    [sym_identifier] = ACTIONS(5166),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1321] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3574),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(3575),
    [sym_call] = STATE(3575),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(349),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(3576),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3577),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3578),
    [sym__variable] = STATE(3575),
    [sym_reserved_identifier] = STATE(3579),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(3580),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(5144),
    [sym__splat_star] = ACTIONS(5146),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(5148),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(5150),
    [anon_sym_yield] = ACTIONS(5152),
    [anon_sym_break] = ACTIONS(5154),
    [anon_sym_next] = ACTIONS(5156),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(5158),
    [anon_sym_not] = ACTIONS(5160),
    [anon_sym_BANG] = ACTIONS(5162),
    [anon_sym_TILDE] = ACTIONS(5164),
    [sym_constant] = ACTIONS(5166),
    [sym_identifier] = ACTIONS(5166),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1322] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3574),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(3575),
    [sym_call] = STATE(3575),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(350),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(3576),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3577),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3578),
    [sym__variable] = STATE(3575),
    [sym_reserved_identifier] = STATE(3579),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(3580),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(5144),
    [sym__splat_star] = ACTIONS(5146),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(5148),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(5150),
    [anon_sym_yield] = ACTIONS(5152),
    [anon_sym_break] = ACTIONS(5154),
    [anon_sym_next] = ACTIONS(5156),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(5158),
    [anon_sym_not] = ACTIONS(5160),
    [anon_sym_BANG] = ACTIONS(5162),
    [anon_sym_TILDE] = ACTIONS(5164),
    [sym_constant] = ACTIONS(5166),
    [sym_identifier] = ACTIONS(5166),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1323] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3574),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(3575),
    [sym_call] = STATE(3575),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(351),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(3576),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3577),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3578),
    [sym__variable] = STATE(3575),
    [sym_reserved_identifier] = STATE(3579),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(3580),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(5144),
    [sym__splat_star] = ACTIONS(5146),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(5148),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(5150),
    [anon_sym_yield] = ACTIONS(5152),
    [anon_sym_break] = ACTIONS(5154),
    [anon_sym_next] = ACTIONS(5156),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(5158),
    [anon_sym_not] = ACTIONS(5160),
    [anon_sym_BANG] = ACTIONS(5162),
    [anon_sym_TILDE] = ACTIONS(5164),
    [sym_constant] = ACTIONS(5166),
    [sym_identifier] = ACTIONS(5166),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1324] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3581),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1329),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1330),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2090),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2100),
    [anon_sym_defined_QMARK] = ACTIONS(2102),
    [anon_sym_not] = ACTIONS(2104),
    [anon_sym_BANG] = ACTIONS(2106),
    [anon_sym_TILDE] = ACTIONS(2106),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1325] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3582),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1329),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1330),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2090),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2100),
    [anon_sym_defined_QMARK] = ACTIONS(2102),
    [anon_sym_not] = ACTIONS(2104),
    [anon_sym_BANG] = ACTIONS(2106),
    [anon_sym_TILDE] = ACTIONS(2106),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1326] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(434),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1329),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1330),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2090),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2100),
    [anon_sym_defined_QMARK] = ACTIONS(2102),
    [anon_sym_not] = ACTIONS(2104),
    [anon_sym_BANG] = ACTIONS(2106),
    [anon_sym_TILDE] = ACTIONS(2106),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1327] = {
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(3595),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym__line_break] = ACTIONS(692),
    [sym__binary_minus] = ACTIONS(5168),
    [sym__binary_star] = ACTIONS(5170),
    [anon_sym_PIPE] = ACTIONS(5172),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR_STAR] = ACTIONS(5174),
    [anon_sym_AMP] = ACTIONS(5176),
    [anon_sym_LT] = ACTIONS(5178),
    [anon_sym_QMARK] = ACTIONS(5180),
    [anon_sym_DOT_DOT] = ACTIONS(5182),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5184),
    [anon_sym_and] = ACTIONS(5186),
    [anon_sym_or] = ACTIONS(5186),
    [anon_sym_PIPE_PIPE] = ACTIONS(5188),
    [anon_sym_AMP_AMP] = ACTIONS(5188),
    [anon_sym_LT_LT] = ACTIONS(5190),
    [anon_sym_GT_GT] = ACTIONS(5190),
    [anon_sym_EQ_EQ] = ACTIONS(5192),
    [anon_sym_BANG_EQ] = ACTIONS(5188),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5188),
    [anon_sym_LT_EQ_GT] = ACTIONS(5188),
    [anon_sym_EQ_TILDE] = ACTIONS(5188),
    [anon_sym_BANG_TILDE] = ACTIONS(5188),
    [anon_sym_LT_EQ] = ACTIONS(5178),
    [anon_sym_GT] = ACTIONS(5178),
    [anon_sym_GT_EQ] = ACTIONS(5194),
    [anon_sym_CARET] = ACTIONS(5196),
    [anon_sym_PLUS] = ACTIONS(5198),
    [anon_sym_SLASH] = ACTIONS(5174),
    [anon_sym_PERCENT] = ACTIONS(5174),
    [sym_comment] = ACTIONS(110),
  },
  [1328] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1578),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(598),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(1580),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_do_block] = STATE(602),
    [sym_block] = STATE(602),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1581),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1582),
    [sym__variable] = STATE(1540),
    [sym_reserved_identifier] = STATE(1583),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1584),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(2482),
    [sym__splat_star] = ACTIONS(2484),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(2486),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(1014),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2488),
    [anon_sym_yield] = ACTIONS(2490),
    [anon_sym_break] = ACTIONS(2492),
    [anon_sym_next] = ACTIONS(2494),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(1038),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(2504),
    [anon_sym_not] = ACTIONS(2506),
    [anon_sym_BANG] = ACTIONS(2508),
    [anon_sym_TILDE] = ACTIONS(2510),
    [sym_constant] = ACTIONS(2512),
    [sym_identifier] = ACTIONS(2512),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1329] = {
    [anon_sym_EQ] = ACTIONS(5200),
    [sym_comment] = ACTIONS(256),
  },
  [1330] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(1076),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(5202),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(5204),
    [anon_sym_DASH_EQ] = ACTIONS(5204),
    [anon_sym_STAR_EQ] = ACTIONS(5204),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5204),
    [anon_sym_SLASH_EQ] = ACTIONS(5204),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5204),
    [anon_sym_PIPE_EQ] = ACTIONS(5204),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5204),
    [anon_sym_AMP_EQ] = ACTIONS(5204),
    [anon_sym_PERCENT_EQ] = ACTIONS(5204),
    [anon_sym_GT_GT_EQ] = ACTIONS(5204),
    [anon_sym_LT_LT_EQ] = ACTIONS(5204),
    [anon_sym_CARET_EQ] = ACTIONS(5204),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [1331] = {
    [sym__simple_string] = ACTIONS(2010),
    [sym__simple_symbol] = ACTIONS(2010),
    [sym__simple_subshell] = ACTIONS(2010),
    [sym__simple_regex] = ACTIONS(2010),
    [sym__simple_word_list] = ACTIONS(2010),
    [sym__simple_heredoc_body] = ACTIONS(2010),
    [sym__string_beginning] = ACTIONS(2010),
    [sym__symbol_beginning] = ACTIONS(2010),
    [sym__subshell_beginning] = ACTIONS(2010),
    [sym__regex_beginning] = ACTIONS(2010),
    [sym__word_list_beginning] = ACTIONS(2010),
    [sym__heredoc_body_beginning] = ACTIONS(2010),
    [sym_heredoc_beginning] = ACTIONS(2010),
    [sym__line_break] = ACTIONS(2010),
    [sym__element_reference_left_bracket] = ACTIONS(2010),
    [sym__block_ampersand] = ACTIONS(2010),
    [sym__splat_star] = ACTIONS(2010),
    [sym__argument_list_left_paren] = ACTIONS(2010),
    [sym__scope_double_colon] = ACTIONS(2010),
    [sym__unary_minus] = ACTIONS(2010),
    [anon_sym_LBRACE] = ACTIONS(2010),
    [anon_sym_def] = ACTIONS(2012),
    [anon_sym_LPAREN] = ACTIONS(2010),
    [anon_sym_DOT] = ACTIONS(2010),
    [anon_sym_COLON_COLON] = ACTIONS(2010),
    [anon_sym_end] = ACTIONS(2012),
    [anon_sym_SEMI] = ACTIONS(2010),
    [anon_sym_STAR] = ACTIONS(2012),
    [anon_sym_STAR_STAR] = ACTIONS(2010),
    [anon_sym_class] = ACTIONS(2012),
    [anon_sym_LT] = ACTIONS(2010),
    [anon_sym_module] = ACTIONS(2012),
    [anon_sym_return] = ACTIONS(2012),
    [anon_sym_yield] = ACTIONS(2012),
    [anon_sym_break] = ACTIONS(2012),
    [anon_sym_next] = ACTIONS(2012),
    [anon_sym_redo] = ACTIONS(2012),
    [anon_sym_retry] = ACTIONS(2012),
    [anon_sym_if] = ACTIONS(2012),
    [anon_sym_unless] = ACTIONS(2012),
    [anon_sym_while] = ACTIONS(2012),
    [anon_sym_until] = ACTIONS(2012),
    [anon_sym_rescue] = ACTIONS(2012),
    [anon_sym_for] = ACTIONS(2012),
    [anon_sym_in] = ACTIONS(2012),
    [anon_sym_do] = ACTIONS(2012),
    [anon_sym_case] = ACTIONS(2012),
    [anon_sym_when] = ACTIONS(2012),
    [anon_sym_elsif] = ACTIONS(2012),
    [anon_sym_else] = ACTIONS(2012),
    [anon_sym_then] = ACTIONS(2012),
    [anon_sym_begin] = ACTIONS(2012),
    [anon_sym_ensure] = ACTIONS(2012),
    [anon_sym_AMP_DOT] = ACTIONS(2010),
    [anon_sym_and] = ACTIONS(2012),
    [anon_sym_or] = ACTIONS(2012),
    [anon_sym_PLUS] = ACTIONS(2012),
    [anon_sym_defined_QMARK] = ACTIONS(2010),
    [anon_sym_not] = ACTIONS(2012),
    [anon_sym_BANG] = ACTIONS(2010),
    [anon_sym_TILDE] = ACTIONS(2010),
    [sym_constant] = ACTIONS(2014),
    [sym_identifier] = ACTIONS(2014),
    [sym_instance_variable] = ACTIONS(2012),
    [sym_class_variable] = ACTIONS(2012),
    [sym_global_variable] = ACTIONS(2012),
    [anon_sym_alias] = ACTIONS(2012),
    [anon_sym_defined] = ACTIONS(2012),
    [anon_sym_false] = ACTIONS(2012),
    [anon_sym_nil] = ACTIONS(2012),
    [anon_sym_self] = ACTIONS(2012),
    [anon_sym_super] = ACTIONS(2012),
    [anon_sym_true] = ACTIONS(2012),
    [anon_sym_undef] = ACTIONS(2012),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(2012),
    [sym_float] = ACTIONS(2014),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(2010),
    [anon_sym_TRUE] = ACTIONS(2012),
    [anon_sym_FALSE] = ACTIONS(2012),
    [anon_sym_NIL] = ACTIONS(2012),
    [sym_keyword__FILE__] = ACTIONS(2012),
    [sym_keyword__LINE__] = ACTIONS(2012),
    [sym_keyword__ENCODING__] = ACTIONS(2012),
    [sym__character_literal] = ACTIONS(2012),
    [anon_sym_LBRACK] = ACTIONS(2010),
    [anon_sym_DASH_GT] = ACTIONS(2010),
  },
  [1332] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3598),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1329),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1330),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2090),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2100),
    [anon_sym_defined_QMARK] = ACTIONS(2102),
    [anon_sym_not] = ACTIONS(2104),
    [anon_sym_BANG] = ACTIONS(2106),
    [anon_sym_TILDE] = ACTIONS(2106),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1333] = {
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(3599),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym__line_break] = ACTIONS(692),
    [anon_sym_SEMI] = ACTIONS(692),
    [sym_comment] = ACTIONS(110),
  },
  [1334] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(3601),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(5206),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1335] = {
    [sym_constant] = ACTIONS(5208),
    [sym_identifier] = ACTIONS(5208),
    [sym_comment] = ACTIONS(110),
  },
  [1336] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3611),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3612),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3613),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5210),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5212),
    [anon_sym_yield] = ACTIONS(5214),
    [anon_sym_break] = ACTIONS(5216),
    [anon_sym_next] = ACTIONS(5218),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5220),
    [anon_sym_defined_QMARK] = ACTIONS(5222),
    [anon_sym_not] = ACTIONS(5224),
    [anon_sym_BANG] = ACTIONS(5226),
    [anon_sym_TILDE] = ACTIONS(5226),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1337] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3614),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3612),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3613),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5210),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5212),
    [anon_sym_yield] = ACTIONS(5214),
    [anon_sym_break] = ACTIONS(5216),
    [anon_sym_next] = ACTIONS(5218),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5220),
    [anon_sym_defined_QMARK] = ACTIONS(5222),
    [anon_sym_not] = ACTIONS(5224),
    [anon_sym_BANG] = ACTIONS(5226),
    [anon_sym_TILDE] = ACTIONS(5226),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1338] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3619),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5228),
    [anon_sym_yield] = ACTIONS(5230),
    [anon_sym_break] = ACTIONS(5232),
    [anon_sym_next] = ACTIONS(5234),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(5236),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1339] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3620),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3612),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3613),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5210),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5212),
    [anon_sym_yield] = ACTIONS(5214),
    [anon_sym_break] = ACTIONS(5216),
    [anon_sym_next] = ACTIONS(5218),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5220),
    [anon_sym_defined_QMARK] = ACTIONS(5222),
    [anon_sym_not] = ACTIONS(5224),
    [anon_sym_BANG] = ACTIONS(5226),
    [anon_sym_TILDE] = ACTIONS(5226),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1340] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3625),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1886),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(3626),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(3627),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(3628),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(5238),
    [sym__splat_star] = ACTIONS(5240),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2118),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(5242),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(5244),
    [sym_identifier] = ACTIONS(5244),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1341] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3625),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1892),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(3626),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(3627),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(3628),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(5238),
    [sym__splat_star] = ACTIONS(5240),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2118),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(5242),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(5244),
    [sym_identifier] = ACTIONS(5244),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1342] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3625),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1893),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(3626),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(3627),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(3628),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(5238),
    [sym__splat_star] = ACTIONS(5240),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2118),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(5242),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(5244),
    [sym_identifier] = ACTIONS(5244),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1343] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3625),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1894),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(3626),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(3627),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(3628),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(5238),
    [sym__splat_star] = ACTIONS(5240),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2118),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(5242),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(5244),
    [sym_identifier] = ACTIONS(5244),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1344] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3629),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5228),
    [anon_sym_yield] = ACTIONS(5230),
    [anon_sym_break] = ACTIONS(5232),
    [anon_sym_next] = ACTIONS(5234),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(5236),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1345] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3630),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5228),
    [anon_sym_yield] = ACTIONS(5230),
    [anon_sym_break] = ACTIONS(5232),
    [anon_sym_next] = ACTIONS(5234),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(5236),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1346] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3630),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5228),
    [anon_sym_yield] = ACTIONS(5230),
    [anon_sym_break] = ACTIONS(5232),
    [anon_sym_next] = ACTIONS(5234),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(5236),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1347] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(2988),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5228),
    [anon_sym_yield] = ACTIONS(5230),
    [anon_sym_break] = ACTIONS(5232),
    [anon_sym_next] = ACTIONS(5234),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(5236),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1348] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(5246),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [1349] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(5248),
    [sym__binary_star] = ACTIONS(5250),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(5252),
    [anon_sym_STAR_STAR] = ACTIONS(5254),
    [anon_sym_AMP] = ACTIONS(5256),
    [anon_sym_LT] = ACTIONS(5258),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(5246),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(5260),
    [anon_sym_DOT_DOT] = ACTIONS(5262),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5264),
    [anon_sym_and] = ACTIONS(5266),
    [anon_sym_or] = ACTIONS(5266),
    [anon_sym_PIPE_PIPE] = ACTIONS(5268),
    [anon_sym_AMP_AMP] = ACTIONS(5268),
    [anon_sym_LT_LT] = ACTIONS(5270),
    [anon_sym_GT_GT] = ACTIONS(5270),
    [anon_sym_EQ_EQ] = ACTIONS(5272),
    [anon_sym_BANG_EQ] = ACTIONS(5268),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5268),
    [anon_sym_LT_EQ_GT] = ACTIONS(5268),
    [anon_sym_EQ_TILDE] = ACTIONS(5268),
    [anon_sym_BANG_TILDE] = ACTIONS(5268),
    [anon_sym_LT_EQ] = ACTIONS(5258),
    [anon_sym_GT] = ACTIONS(5258),
    [anon_sym_GT_EQ] = ACTIONS(5274),
    [anon_sym_CARET] = ACTIONS(5276),
    [anon_sym_PLUS] = ACTIONS(5278),
    [anon_sym_SLASH] = ACTIONS(5254),
    [anon_sym_PERCENT] = ACTIONS(5254),
    [sym_comment] = ACTIONS(110),
  },
  [1350] = {
    [sym_heredoc_end] = STATE(3448),
    [aux_sym_argument_list_repeat1] = STATE(3645),
    [aux_sym_argument_list_repeat2] = STATE(3449),
    [sym__simple_heredoc_body] = ACTIONS(4968),
    [sym__heredoc_body_beginning] = ACTIONS(4970),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2272),
    [anon_sym_COMMA] = ACTIONS(5280),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(110),
  },
  [1351] = {
    [anon_sym_EQ] = ACTIONS(5282),
    [sym_comment] = ACTIONS(256),
  },
  [1352] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(5284),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(5286),
    [anon_sym_DASH_EQ] = ACTIONS(5286),
    [anon_sym_STAR_EQ] = ACTIONS(5286),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5286),
    [anon_sym_SLASH_EQ] = ACTIONS(5286),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5286),
    [anon_sym_PIPE_EQ] = ACTIONS(5286),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5286),
    [anon_sym_AMP_EQ] = ACTIONS(5286),
    [anon_sym_PERCENT_EQ] = ACTIONS(5286),
    [anon_sym_GT_GT_EQ] = ACTIONS(5286),
    [anon_sym_LT_LT_EQ] = ACTIONS(5286),
    [anon_sym_CARET_EQ] = ACTIONS(5286),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [1353] = {
    [sym__keyword_colon] = ACTIONS(5288),
    [sym_comment] = ACTIONS(110),
  },
  [1354] = {
    [sym_string] = STATE(1962),
    [aux_sym_chained_string_repeat1] = STATE(1963),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(5246),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(1626),
  },
  [1355] = {
    [sym__simple_heredoc_body] = ACTIONS(5290),
    [sym__heredoc_body_beginning] = ACTIONS(5290),
    [sym__line_break] = ACTIONS(5290),
    [sym__element_reference_left_bracket] = ACTIONS(5290),
    [sym__scope_double_colon] = ACTIONS(5290),
    [sym__binary_minus] = ACTIONS(5290),
    [sym__binary_star] = ACTIONS(5290),
    [ts_builtin_sym_end] = ACTIONS(5290),
    [anon_sym___END__] = ACTIONS(5290),
    [anon_sym_LBRACE] = ACTIONS(5290),
    [anon_sym_RBRACE] = ACTIONS(5290),
    [anon_sym_RPAREN] = ACTIONS(5290),
    [anon_sym_DOT] = ACTIONS(5292),
    [anon_sym_end] = ACTIONS(5290),
    [anon_sym_COMMA] = ACTIONS(5290),
    [anon_sym_PIPE] = ACTIONS(5292),
    [anon_sym_SEMI] = ACTIONS(5290),
    [anon_sym_STAR_STAR] = ACTIONS(5290),
    [anon_sym_AMP] = ACTIONS(5292),
    [anon_sym_LT] = ACTIONS(5292),
    [anon_sym_if] = ACTIONS(5290),
    [anon_sym_unless] = ACTIONS(5290),
    [anon_sym_while] = ACTIONS(5290),
    [anon_sym_until] = ACTIONS(5290),
    [anon_sym_rescue] = ACTIONS(5290),
    [anon_sym_do] = ACTIONS(5290),
    [anon_sym_when] = ACTIONS(5290),
    [anon_sym_elsif] = ACTIONS(5290),
    [anon_sym_else] = ACTIONS(5290),
    [anon_sym_then] = ACTIONS(5290),
    [anon_sym_ensure] = ACTIONS(5290),
    [anon_sym_EQ_GT] = ACTIONS(5290),
    [anon_sym_AMP_DOT] = ACTIONS(5290),
    [anon_sym_QMARK] = ACTIONS(5290),
    [anon_sym_DOT_DOT] = ACTIONS(5292),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5290),
    [anon_sym_and] = ACTIONS(5290),
    [anon_sym_or] = ACTIONS(5290),
    [anon_sym_PIPE_PIPE] = ACTIONS(5290),
    [anon_sym_AMP_AMP] = ACTIONS(5290),
    [anon_sym_LT_LT] = ACTIONS(5290),
    [anon_sym_GT_GT] = ACTIONS(5290),
    [anon_sym_EQ_EQ] = ACTIONS(5292),
    [anon_sym_BANG_EQ] = ACTIONS(5290),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5290),
    [anon_sym_LT_EQ_GT] = ACTIONS(5290),
    [anon_sym_EQ_TILDE] = ACTIONS(5290),
    [anon_sym_BANG_TILDE] = ACTIONS(5290),
    [anon_sym_LT_EQ] = ACTIONS(5292),
    [anon_sym_GT] = ACTIONS(5292),
    [anon_sym_GT_EQ] = ACTIONS(5290),
    [anon_sym_CARET] = ACTIONS(5290),
    [anon_sym_PLUS] = ACTIONS(5290),
    [anon_sym_SLASH] = ACTIONS(5290),
    [anon_sym_PERCENT] = ACTIONS(5290),
    [sym_comment] = ACTIONS(110),
  },
  [1356] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(3650),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(5294),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1357] = {
    [sym__simple_heredoc_body] = ACTIONS(5290),
    [sym__heredoc_body_beginning] = ACTIONS(5290),
    [sym__line_break] = ACTIONS(5290),
    [sym__element_reference_left_bracket] = ACTIONS(5290),
    [sym__scope_double_colon] = ACTIONS(5290),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__binary_minus] = ACTIONS(5290),
    [sym__binary_star] = ACTIONS(5290),
    [ts_builtin_sym_end] = ACTIONS(5290),
    [anon_sym___END__] = ACTIONS(5290),
    [anon_sym_LBRACE] = ACTIONS(5290),
    [anon_sym_RBRACE] = ACTIONS(5290),
    [anon_sym_RPAREN] = ACTIONS(5290),
    [anon_sym_DOT] = ACTIONS(5292),
    [anon_sym_end] = ACTIONS(5290),
    [anon_sym_COMMA] = ACTIONS(5290),
    [anon_sym_PIPE] = ACTIONS(5292),
    [anon_sym_SEMI] = ACTIONS(5290),
    [anon_sym_STAR_STAR] = ACTIONS(5290),
    [anon_sym_AMP] = ACTIONS(5292),
    [anon_sym_LT] = ACTIONS(5292),
    [anon_sym_if] = ACTIONS(5290),
    [anon_sym_unless] = ACTIONS(5290),
    [anon_sym_while] = ACTIONS(5290),
    [anon_sym_until] = ACTIONS(5290),
    [anon_sym_rescue] = ACTIONS(5290),
    [anon_sym_do] = ACTIONS(5290),
    [anon_sym_when] = ACTIONS(5290),
    [anon_sym_elsif] = ACTIONS(5290),
    [anon_sym_else] = ACTIONS(5290),
    [anon_sym_then] = ACTIONS(5290),
    [anon_sym_ensure] = ACTIONS(5290),
    [anon_sym_EQ_GT] = ACTIONS(5290),
    [anon_sym_AMP_DOT] = ACTIONS(5290),
    [anon_sym_QMARK] = ACTIONS(5290),
    [anon_sym_DOT_DOT] = ACTIONS(5292),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5290),
    [anon_sym_and] = ACTIONS(5290),
    [anon_sym_or] = ACTIONS(5290),
    [anon_sym_PIPE_PIPE] = ACTIONS(5290),
    [anon_sym_AMP_AMP] = ACTIONS(5290),
    [anon_sym_LT_LT] = ACTIONS(5290),
    [anon_sym_GT_GT] = ACTIONS(5290),
    [anon_sym_EQ_EQ] = ACTIONS(5292),
    [anon_sym_BANG_EQ] = ACTIONS(5290),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5290),
    [anon_sym_LT_EQ_GT] = ACTIONS(5290),
    [anon_sym_EQ_TILDE] = ACTIONS(5290),
    [anon_sym_BANG_TILDE] = ACTIONS(5290),
    [anon_sym_LT_EQ] = ACTIONS(5292),
    [anon_sym_GT] = ACTIONS(5292),
    [anon_sym_GT_EQ] = ACTIONS(5290),
    [anon_sym_CARET] = ACTIONS(5290),
    [anon_sym_PLUS] = ACTIONS(5290),
    [anon_sym_SLASH] = ACTIONS(5290),
    [anon_sym_PERCENT] = ACTIONS(5290),
    [sym_comment] = ACTIONS(110),
  },
  [1358] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(5296),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [1359] = {
    [sym__statement] = STATE(3652),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [1360] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3653),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1365),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1366),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2144),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2146),
    [anon_sym_defined_QMARK] = ACTIONS(2148),
    [anon_sym_not] = ACTIONS(2150),
    [anon_sym_BANG] = ACTIONS(2152),
    [anon_sym_TILDE] = ACTIONS(2152),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1361] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3654),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1365),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1366),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2144),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2146),
    [anon_sym_defined_QMARK] = ACTIONS(2148),
    [anon_sym_not] = ACTIONS(2150),
    [anon_sym_BANG] = ACTIONS(2152),
    [anon_sym_TILDE] = ACTIONS(2152),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1362] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3655),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1365),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1366),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2144),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2146),
    [anon_sym_defined_QMARK] = ACTIONS(2148),
    [anon_sym_not] = ACTIONS(2150),
    [anon_sym_BANG] = ACTIONS(2152),
    [anon_sym_TILDE] = ACTIONS(2152),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1363] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1410),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1365),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1366),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2144),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2146),
    [anon_sym_defined_QMARK] = ACTIONS(2148),
    [anon_sym_not] = ACTIONS(2150),
    [anon_sym_BANG] = ACTIONS(2152),
    [anon_sym_TILDE] = ACTIONS(2152),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1364] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__line_break] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(5300),
    [sym__binary_star] = ACTIONS(5302),
    [ts_builtin_sym_end] = ACTIONS(5298),
    [anon_sym___END__] = ACTIONS(5298),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(5306),
    [anon_sym_SEMI] = ACTIONS(5298),
    [anon_sym_STAR_STAR] = ACTIONS(5308),
    [anon_sym_AMP] = ACTIONS(5310),
    [anon_sym_LT] = ACTIONS(5312),
    [anon_sym_if] = ACTIONS(5298),
    [anon_sym_unless] = ACTIONS(5298),
    [anon_sym_while] = ACTIONS(5298),
    [anon_sym_until] = ACTIONS(5298),
    [anon_sym_rescue] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(5314),
    [anon_sym_DOT_DOT] = ACTIONS(5316),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5318),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(5320),
    [anon_sym_AMP_AMP] = ACTIONS(5320),
    [anon_sym_LT_LT] = ACTIONS(5322),
    [anon_sym_GT_GT] = ACTIONS(5322),
    [anon_sym_EQ_EQ] = ACTIONS(5324),
    [anon_sym_BANG_EQ] = ACTIONS(5320),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5320),
    [anon_sym_LT_EQ_GT] = ACTIONS(5320),
    [anon_sym_EQ_TILDE] = ACTIONS(5320),
    [anon_sym_BANG_TILDE] = ACTIONS(5320),
    [anon_sym_LT_EQ] = ACTIONS(5312),
    [anon_sym_GT] = ACTIONS(5312),
    [anon_sym_GT_EQ] = ACTIONS(5326),
    [anon_sym_CARET] = ACTIONS(5328),
    [anon_sym_PLUS] = ACTIONS(5330),
    [anon_sym_SLASH] = ACTIONS(5308),
    [anon_sym_PERCENT] = ACTIONS(5308),
    [sym_comment] = ACTIONS(110),
  },
  [1365] = {
    [anon_sym_EQ] = ACTIONS(5332),
    [sym_comment] = ACTIONS(256),
  },
  [1366] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [ts_builtin_sym_end] = ACTIONS(250),
    [anon_sym___END__] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(5334),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(5336),
    [anon_sym_DASH_EQ] = ACTIONS(5336),
    [anon_sym_STAR_EQ] = ACTIONS(5336),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5336),
    [anon_sym_SLASH_EQ] = ACTIONS(5336),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5336),
    [anon_sym_PIPE_EQ] = ACTIONS(5336),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5336),
    [anon_sym_AMP_EQ] = ACTIONS(5336),
    [anon_sym_PERCENT_EQ] = ACTIONS(5336),
    [anon_sym_GT_GT_EQ] = ACTIONS(5336),
    [anon_sym_LT_LT_EQ] = ACTIONS(5336),
    [anon_sym_CARET_EQ] = ACTIONS(5336),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [1367] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__line_break] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(5300),
    [sym__binary_star] = ACTIONS(5302),
    [ts_builtin_sym_end] = ACTIONS(5338),
    [anon_sym___END__] = ACTIONS(5338),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(5306),
    [anon_sym_SEMI] = ACTIONS(5338),
    [anon_sym_STAR_STAR] = ACTIONS(5308),
    [anon_sym_AMP] = ACTIONS(5310),
    [anon_sym_LT] = ACTIONS(5312),
    [anon_sym_if] = ACTIONS(5338),
    [anon_sym_unless] = ACTIONS(5338),
    [anon_sym_while] = ACTIONS(5338),
    [anon_sym_until] = ACTIONS(5338),
    [anon_sym_rescue] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(5314),
    [anon_sym_DOT_DOT] = ACTIONS(5316),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5318),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(5320),
    [anon_sym_AMP_AMP] = ACTIONS(5320),
    [anon_sym_LT_LT] = ACTIONS(5322),
    [anon_sym_GT_GT] = ACTIONS(5322),
    [anon_sym_EQ_EQ] = ACTIONS(5324),
    [anon_sym_BANG_EQ] = ACTIONS(5320),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5320),
    [anon_sym_LT_EQ_GT] = ACTIONS(5320),
    [anon_sym_EQ_TILDE] = ACTIONS(5320),
    [anon_sym_BANG_TILDE] = ACTIONS(5320),
    [anon_sym_LT_EQ] = ACTIONS(5312),
    [anon_sym_GT] = ACTIONS(5312),
    [anon_sym_GT_EQ] = ACTIONS(5326),
    [anon_sym_CARET] = ACTIONS(5328),
    [anon_sym_PLUS] = ACTIONS(5330),
    [anon_sym_SLASH] = ACTIONS(5308),
    [anon_sym_PERCENT] = ACTIONS(5308),
    [sym_comment] = ACTIONS(110),
  },
  [1368] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3678),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3679),
    [sym_call] = STATE(3679),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(3680),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3681),
    [sym__variable] = STATE(3679),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5342),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5344),
    [anon_sym_yield] = ACTIONS(5346),
    [anon_sym_break] = ACTIONS(5348),
    [anon_sym_next] = ACTIONS(5350),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5352),
    [anon_sym_defined_QMARK] = ACTIONS(5354),
    [anon_sym_not] = ACTIONS(5356),
    [anon_sym_BANG] = ACTIONS(5358),
    [anon_sym_TILDE] = ACTIONS(5358),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1369] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3682),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3679),
    [sym_call] = STATE(3679),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(3680),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3681),
    [sym__variable] = STATE(3679),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5342),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5344),
    [anon_sym_yield] = ACTIONS(5346),
    [anon_sym_break] = ACTIONS(5348),
    [anon_sym_next] = ACTIONS(5350),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5352),
    [anon_sym_defined_QMARK] = ACTIONS(5354),
    [anon_sym_not] = ACTIONS(5356),
    [anon_sym_BANG] = ACTIONS(5358),
    [anon_sym_TILDE] = ACTIONS(5358),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1370] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3687),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1386),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1387),
    [sym__variable] = STATE(1383),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2158),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5360),
    [anon_sym_yield] = ACTIONS(5362),
    [anon_sym_break] = ACTIONS(5364),
    [anon_sym_next] = ACTIONS(5366),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2172),
    [anon_sym_defined_QMARK] = ACTIONS(2174),
    [anon_sym_not] = ACTIONS(5368),
    [anon_sym_BANG] = ACTIONS(2178),
    [anon_sym_TILDE] = ACTIONS(2178),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1371] = {
    [sym__simple_heredoc_body] = ACTIONS(5370),
    [sym__heredoc_body_beginning] = ACTIONS(5370),
    [sym__line_break] = ACTIONS(5370),
    [sym__element_reference_left_bracket] = ACTIONS(5370),
    [sym__scope_double_colon] = ACTIONS(5370),
    [sym__binary_minus] = ACTIONS(5370),
    [sym__binary_star] = ACTIONS(5370),
    [ts_builtin_sym_end] = ACTIONS(5370),
    [anon_sym___END__] = ACTIONS(5370),
    [anon_sym_LBRACE] = ACTIONS(5370),
    [anon_sym_RBRACE] = ACTIONS(5370),
    [anon_sym_RPAREN] = ACTIONS(5370),
    [anon_sym_DOT] = ACTIONS(5372),
    [anon_sym_end] = ACTIONS(5370),
    [anon_sym_COMMA] = ACTIONS(5370),
    [anon_sym_PIPE] = ACTIONS(5372),
    [anon_sym_SEMI] = ACTIONS(5370),
    [anon_sym_STAR_STAR] = ACTIONS(5370),
    [anon_sym_AMP] = ACTIONS(5372),
    [anon_sym_LT] = ACTIONS(5372),
    [anon_sym_if] = ACTIONS(5370),
    [anon_sym_unless] = ACTIONS(5370),
    [anon_sym_while] = ACTIONS(5370),
    [anon_sym_until] = ACTIONS(5370),
    [anon_sym_rescue] = ACTIONS(5370),
    [anon_sym_do] = ACTIONS(5370),
    [anon_sym_when] = ACTIONS(5370),
    [anon_sym_elsif] = ACTIONS(5370),
    [anon_sym_else] = ACTIONS(5370),
    [anon_sym_then] = ACTIONS(5370),
    [anon_sym_ensure] = ACTIONS(5370),
    [anon_sym_EQ_GT] = ACTIONS(5370),
    [anon_sym_AMP_DOT] = ACTIONS(5370),
    [anon_sym_QMARK] = ACTIONS(5370),
    [anon_sym_DOT_DOT] = ACTIONS(5372),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5370),
    [anon_sym_and] = ACTIONS(5370),
    [anon_sym_or] = ACTIONS(5370),
    [anon_sym_PIPE_PIPE] = ACTIONS(5370),
    [anon_sym_AMP_AMP] = ACTIONS(5370),
    [anon_sym_LT_LT] = ACTIONS(5370),
    [anon_sym_GT_GT] = ACTIONS(5370),
    [anon_sym_EQ_EQ] = ACTIONS(5372),
    [anon_sym_BANG_EQ] = ACTIONS(5370),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5370),
    [anon_sym_LT_EQ_GT] = ACTIONS(5370),
    [anon_sym_EQ_TILDE] = ACTIONS(5370),
    [anon_sym_BANG_TILDE] = ACTIONS(5370),
    [anon_sym_LT_EQ] = ACTIONS(5372),
    [anon_sym_GT] = ACTIONS(5372),
    [anon_sym_GT_EQ] = ACTIONS(5370),
    [anon_sym_CARET] = ACTIONS(5370),
    [anon_sym_PLUS] = ACTIONS(5370),
    [anon_sym_SLASH] = ACTIONS(5370),
    [anon_sym_PERCENT] = ACTIONS(5370),
    [sym_comment] = ACTIONS(110),
  },
  [1372] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3688),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3679),
    [sym_call] = STATE(3679),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(3680),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3681),
    [sym__variable] = STATE(3679),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5342),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5344),
    [anon_sym_yield] = ACTIONS(5346),
    [anon_sym_break] = ACTIONS(5348),
    [anon_sym_next] = ACTIONS(5350),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5352),
    [anon_sym_defined_QMARK] = ACTIONS(5354),
    [anon_sym_not] = ACTIONS(5356),
    [anon_sym_BANG] = ACTIONS(5358),
    [anon_sym_TILDE] = ACTIONS(5358),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1373] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3693),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1886),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(3694),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3197),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3198),
    [sym__variable] = STATE(1383),
    [sym_reserved_identifier] = STATE(3695),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(3696),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(5374),
    [sym__splat_star] = ACTIONS(5376),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(4602),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(532),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2164),
    [anon_sym_yield] = ACTIONS(2166),
    [anon_sym_break] = ACTIONS(2168),
    [anon_sym_next] = ACTIONS(2170),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(4604),
    [anon_sym_not] = ACTIONS(4606),
    [anon_sym_BANG] = ACTIONS(4608),
    [anon_sym_TILDE] = ACTIONS(4610),
    [sym_constant] = ACTIONS(5378),
    [sym_identifier] = ACTIONS(5378),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1374] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3693),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1892),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(3694),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3197),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3198),
    [sym__variable] = STATE(1383),
    [sym_reserved_identifier] = STATE(3695),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(3696),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(5374),
    [sym__splat_star] = ACTIONS(5376),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(4602),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(602),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2164),
    [anon_sym_yield] = ACTIONS(2166),
    [anon_sym_break] = ACTIONS(2168),
    [anon_sym_next] = ACTIONS(2170),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(4604),
    [anon_sym_not] = ACTIONS(4606),
    [anon_sym_BANG] = ACTIONS(4608),
    [anon_sym_TILDE] = ACTIONS(4610),
    [sym_constant] = ACTIONS(5378),
    [sym_identifier] = ACTIONS(5378),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1375] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3693),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1893),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(3694),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3197),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3198),
    [sym__variable] = STATE(1383),
    [sym_reserved_identifier] = STATE(3695),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(3696),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(5374),
    [sym__splat_star] = ACTIONS(5376),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(4602),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(606),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2164),
    [anon_sym_yield] = ACTIONS(2166),
    [anon_sym_break] = ACTIONS(2168),
    [anon_sym_next] = ACTIONS(2170),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(4604),
    [anon_sym_not] = ACTIONS(4606),
    [anon_sym_BANG] = ACTIONS(4608),
    [anon_sym_TILDE] = ACTIONS(4610),
    [sym_constant] = ACTIONS(5378),
    [sym_identifier] = ACTIONS(5378),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1376] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3693),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1894),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(3694),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3197),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3198),
    [sym__variable] = STATE(1383),
    [sym_reserved_identifier] = STATE(3695),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(3696),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(5374),
    [sym__splat_star] = ACTIONS(5376),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(4602),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(610),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2164),
    [anon_sym_yield] = ACTIONS(2166),
    [anon_sym_break] = ACTIONS(2168),
    [anon_sym_next] = ACTIONS(2170),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(4604),
    [anon_sym_not] = ACTIONS(4606),
    [anon_sym_BANG] = ACTIONS(4608),
    [anon_sym_TILDE] = ACTIONS(4610),
    [sym_constant] = ACTIONS(5378),
    [sym_identifier] = ACTIONS(5378),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1377] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3697),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1386),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1387),
    [sym__variable] = STATE(1383),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2158),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5360),
    [anon_sym_yield] = ACTIONS(5362),
    [anon_sym_break] = ACTIONS(5364),
    [anon_sym_next] = ACTIONS(5366),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2172),
    [anon_sym_defined_QMARK] = ACTIONS(2174),
    [anon_sym_not] = ACTIONS(5368),
    [anon_sym_BANG] = ACTIONS(2178),
    [anon_sym_TILDE] = ACTIONS(2178),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1378] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3698),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1386),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1387),
    [sym__variable] = STATE(1383),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2158),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5360),
    [anon_sym_yield] = ACTIONS(5362),
    [anon_sym_break] = ACTIONS(5364),
    [anon_sym_next] = ACTIONS(5366),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2172),
    [anon_sym_defined_QMARK] = ACTIONS(2174),
    [anon_sym_not] = ACTIONS(5368),
    [anon_sym_BANG] = ACTIONS(2178),
    [anon_sym_TILDE] = ACTIONS(2178),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1379] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3698),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1386),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1387),
    [sym__variable] = STATE(1383),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2158),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5360),
    [anon_sym_yield] = ACTIONS(5362),
    [anon_sym_break] = ACTIONS(5364),
    [anon_sym_next] = ACTIONS(5366),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2172),
    [anon_sym_defined_QMARK] = ACTIONS(2174),
    [anon_sym_not] = ACTIONS(5368),
    [anon_sym_BANG] = ACTIONS(2178),
    [anon_sym_TILDE] = ACTIONS(2178),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1380] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1908),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1386),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1387),
    [sym__variable] = STATE(1383),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2158),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5360),
    [anon_sym_yield] = ACTIONS(5362),
    [anon_sym_break] = ACTIONS(5364),
    [anon_sym_next] = ACTIONS(5366),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2172),
    [anon_sym_defined_QMARK] = ACTIONS(2174),
    [anon_sym_not] = ACTIONS(5368),
    [anon_sym_BANG] = ACTIONS(2178),
    [anon_sym_TILDE] = ACTIONS(2178),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1381] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(5380),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_RPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [1382] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(5382),
    [sym__binary_star] = ACTIONS(5384),
    [anon_sym_RPAREN] = ACTIONS(2210),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(5386),
    [anon_sym_STAR_STAR] = ACTIONS(5388),
    [anon_sym_AMP] = ACTIONS(5390),
    [anon_sym_LT] = ACTIONS(5392),
    [anon_sym_EQ_GT] = ACTIONS(5380),
    [anon_sym_QMARK] = ACTIONS(5394),
    [anon_sym_DOT_DOT] = ACTIONS(5396),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5398),
    [anon_sym_and] = ACTIONS(5400),
    [anon_sym_or] = ACTIONS(5400),
    [anon_sym_PIPE_PIPE] = ACTIONS(5402),
    [anon_sym_AMP_AMP] = ACTIONS(5402),
    [anon_sym_LT_LT] = ACTIONS(5404),
    [anon_sym_GT_GT] = ACTIONS(5404),
    [anon_sym_EQ_EQ] = ACTIONS(5406),
    [anon_sym_BANG_EQ] = ACTIONS(5402),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5402),
    [anon_sym_LT_EQ_GT] = ACTIONS(5402),
    [anon_sym_EQ_TILDE] = ACTIONS(5402),
    [anon_sym_BANG_TILDE] = ACTIONS(5402),
    [anon_sym_LT_EQ] = ACTIONS(5392),
    [anon_sym_GT] = ACTIONS(5392),
    [anon_sym_GT_EQ] = ACTIONS(5408),
    [anon_sym_CARET] = ACTIONS(5410),
    [anon_sym_PLUS] = ACTIONS(5412),
    [anon_sym_SLASH] = ACTIONS(5388),
    [anon_sym_PERCENT] = ACTIONS(5388),
    [sym_comment] = ACTIONS(110),
  },
  [1383] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(3716),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1950),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(3717),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_do_block] = STATE(1952),
    [sym_block] = STATE(1952),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(3239),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3240),
    [sym__variable] = STATE(3235),
    [sym_reserved_identifier] = STATE(3718),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3719),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(5414),
    [sym__splat_star] = ACTIONS(5416),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(4660),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(3012),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_RPAREN] = ACTIONS(980),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(4664),
    [anon_sym_yield] = ACTIONS(4666),
    [anon_sym_break] = ACTIONS(4668),
    [anon_sym_next] = ACTIONS(4670),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(3022),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(980),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(4674),
    [anon_sym_not] = ACTIONS(4676),
    [anon_sym_BANG] = ACTIONS(4678),
    [anon_sym_TILDE] = ACTIONS(4680),
    [sym_constant] = ACTIONS(5418),
    [sym_identifier] = ACTIONS(5418),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [1384] = {
    [sym_heredoc_end] = STATE(3721),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RPAREN] = ACTIONS(5420),
    [sym_comment] = ACTIONS(110),
  },
  [1385] = {
    [sym__simple_heredoc_body] = ACTIONS(3034),
    [sym__heredoc_body_beginning] = ACTIONS(3034),
    [anon_sym_RPAREN] = ACTIONS(3034),
    [anon_sym_COMMA] = ACTIONS(5422),
    [sym_comment] = ACTIONS(110),
  },
  [1386] = {
    [anon_sym_EQ] = ACTIONS(5424),
    [sym_comment] = ACTIONS(256),
  },
  [1387] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_RPAREN] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(5426),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(5428),
    [anon_sym_DASH_EQ] = ACTIONS(5428),
    [anon_sym_STAR_EQ] = ACTIONS(5428),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5428),
    [anon_sym_SLASH_EQ] = ACTIONS(5428),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5428),
    [anon_sym_PIPE_EQ] = ACTIONS(5428),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5428),
    [anon_sym_AMP_EQ] = ACTIONS(5428),
    [anon_sym_PERCENT_EQ] = ACTIONS(5428),
    [anon_sym_GT_GT_EQ] = ACTIONS(5428),
    [anon_sym_LT_LT_EQ] = ACTIONS(5428),
    [anon_sym_CARET_EQ] = ACTIONS(5428),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [1388] = {
    [sym__keyword_colon] = ACTIONS(5430),
    [sym_comment] = ACTIONS(110),
  },
  [1389] = {
    [sym_string] = STATE(1962),
    [aux_sym_chained_string_repeat1] = STATE(1963),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(5380),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_RPAREN] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(1626),
  },
  [1390] = {
    [anon_sym_RPAREN] = ACTIONS(5420),
    [sym_comment] = ACTIONS(110),
  },
  [1391] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1404),
    [sym__primary] = STATE(337),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(339),
    [sym_call] = STATE(339),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(340),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(1405),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(345),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(346),
    [sym__variable] = STATE(339),
    [sym_reserved_identifier] = STATE(1406),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(1407),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(2202),
    [sym__splat_star] = ACTIONS(2204),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(542),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [ts_builtin_sym_end] = ACTIONS(532),
    [anon_sym___END__] = ACTIONS(544),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(554),
    [anon_sym_yield] = ACTIONS(556),
    [anon_sym_break] = ACTIONS(558),
    [anon_sym_next] = ACTIONS(560),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(572),
    [anon_sym_not] = ACTIONS(574),
    [anon_sym_BANG] = ACTIONS(576),
    [anon_sym_TILDE] = ACTIONS(578),
    [sym_constant] = ACTIONS(2206),
    [sym_identifier] = ACTIONS(2206),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(588),
    [anon_sym_super] = ACTIONS(590),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1392] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1404),
    [sym__primary] = STATE(337),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(339),
    [sym_call] = STATE(339),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(349),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(1405),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(345),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(346),
    [sym__variable] = STATE(339),
    [sym_reserved_identifier] = STATE(1406),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(1407),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(2202),
    [sym__splat_star] = ACTIONS(2204),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(542),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [ts_builtin_sym_end] = ACTIONS(602),
    [anon_sym___END__] = ACTIONS(604),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(554),
    [anon_sym_yield] = ACTIONS(556),
    [anon_sym_break] = ACTIONS(558),
    [anon_sym_next] = ACTIONS(560),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(572),
    [anon_sym_not] = ACTIONS(574),
    [anon_sym_BANG] = ACTIONS(576),
    [anon_sym_TILDE] = ACTIONS(578),
    [sym_constant] = ACTIONS(2206),
    [sym_identifier] = ACTIONS(2206),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(588),
    [anon_sym_super] = ACTIONS(590),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1393] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1404),
    [sym__primary] = STATE(337),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(339),
    [sym_call] = STATE(339),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(350),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(1405),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(345),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(346),
    [sym__variable] = STATE(339),
    [sym_reserved_identifier] = STATE(1406),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(1407),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(2202),
    [sym__splat_star] = ACTIONS(2204),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(542),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [ts_builtin_sym_end] = ACTIONS(606),
    [anon_sym___END__] = ACTIONS(608),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(554),
    [anon_sym_yield] = ACTIONS(556),
    [anon_sym_break] = ACTIONS(558),
    [anon_sym_next] = ACTIONS(560),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(572),
    [anon_sym_not] = ACTIONS(574),
    [anon_sym_BANG] = ACTIONS(576),
    [anon_sym_TILDE] = ACTIONS(578),
    [sym_constant] = ACTIONS(2206),
    [sym_identifier] = ACTIONS(2206),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(588),
    [anon_sym_super] = ACTIONS(590),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1394] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1404),
    [sym__primary] = STATE(337),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(339),
    [sym_call] = STATE(339),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(351),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(1405),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(345),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(346),
    [sym__variable] = STATE(339),
    [sym_reserved_identifier] = STATE(1406),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(1407),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(2202),
    [sym__splat_star] = ACTIONS(2204),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(542),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [ts_builtin_sym_end] = ACTIONS(610),
    [anon_sym___END__] = ACTIONS(612),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(554),
    [anon_sym_yield] = ACTIONS(556),
    [anon_sym_break] = ACTIONS(558),
    [anon_sym_next] = ACTIONS(560),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(572),
    [anon_sym_not] = ACTIONS(574),
    [anon_sym_BANG] = ACTIONS(576),
    [anon_sym_TILDE] = ACTIONS(578),
    [sym_constant] = ACTIONS(2206),
    [sym_identifier] = ACTIONS(2206),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(588),
    [anon_sym_super] = ACTIONS(590),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1395] = {
    [sym__simple_string] = ACTIONS(748),
    [sym__simple_symbol] = ACTIONS(748),
    [sym__simple_subshell] = ACTIONS(748),
    [sym__simple_regex] = ACTIONS(748),
    [sym__simple_word_list] = ACTIONS(748),
    [sym__simple_heredoc_body] = ACTIONS(748),
    [sym__string_beginning] = ACTIONS(748),
    [sym__symbol_beginning] = ACTIONS(748),
    [sym__subshell_beginning] = ACTIONS(748),
    [sym__regex_beginning] = ACTIONS(748),
    [sym__word_list_beginning] = ACTIONS(748),
    [sym__heredoc_body_beginning] = ACTIONS(748),
    [sym_heredoc_beginning] = ACTIONS(748),
    [sym__line_break] = ACTIONS(748),
    [sym__element_reference_left_bracket] = ACTIONS(748),
    [sym__block_ampersand] = ACTIONS(748),
    [sym__splat_star] = ACTIONS(748),
    [sym__argument_list_left_paren] = ACTIONS(748),
    [sym__scope_double_colon] = ACTIONS(748),
    [sym__unary_minus] = ACTIONS(748),
    [sym__binary_minus] = ACTIONS(748),
    [sym__binary_star] = ACTIONS(748),
    [ts_builtin_sym_end] = ACTIONS(748),
    [anon_sym___END__] = ACTIONS(750),
    [anon_sym_LBRACE] = ACTIONS(748),
    [anon_sym_def] = ACTIONS(750),
    [anon_sym_LPAREN] = ACTIONS(748),
    [anon_sym_DOT] = ACTIONS(750),
    [anon_sym_COLON_COLON] = ACTIONS(748),
    [anon_sym_end] = ACTIONS(750),
    [anon_sym_COMMA] = ACTIONS(748),
    [anon_sym_PIPE] = ACTIONS(750),
    [anon_sym_SEMI] = ACTIONS(748),
    [anon_sym_STAR] = ACTIONS(750),
    [anon_sym_STAR_STAR] = ACTIONS(750),
    [anon_sym_AMP] = ACTIONS(750),
    [anon_sym_EQ] = ACTIONS(750),
    [anon_sym_class] = ACTIONS(750),
    [anon_sym_LT] = ACTIONS(750),
    [anon_sym_module] = ACTIONS(750),
    [anon_sym_return] = ACTIONS(750),
    [anon_sym_yield] = ACTIONS(750),
    [anon_sym_break] = ACTIONS(750),
    [anon_sym_next] = ACTIONS(750),
    [anon_sym_redo] = ACTIONS(750),
    [anon_sym_retry] = ACTIONS(750),
    [anon_sym_if] = ACTIONS(750),
    [anon_sym_unless] = ACTIONS(750),
    [anon_sym_while] = ACTIONS(750),
    [anon_sym_until] = ACTIONS(750),
    [anon_sym_rescue] = ACTIONS(750),
    [anon_sym_for] = ACTIONS(750),
    [anon_sym_in] = ACTIONS(750),
    [anon_sym_do] = ACTIONS(750),
    [anon_sym_case] = ACTIONS(750),
    [anon_sym_when] = ACTIONS(750),
    [anon_sym_elsif] = ACTIONS(750),
    [anon_sym_else] = ACTIONS(750),
    [anon_sym_then] = ACTIONS(750),
    [anon_sym_begin] = ACTIONS(750),
    [anon_sym_ensure] = ACTIONS(750),
    [anon_sym_EQ_GT] = ACTIONS(748),
    [anon_sym_AMP_DOT] = ACTIONS(748),
    [anon_sym_PLUS_EQ] = ACTIONS(748),
    [anon_sym_DASH_EQ] = ACTIONS(748),
    [anon_sym_STAR_EQ] = ACTIONS(748),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(748),
    [anon_sym_SLASH_EQ] = ACTIONS(748),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(748),
    [anon_sym_PIPE_EQ] = ACTIONS(748),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(748),
    [anon_sym_AMP_EQ] = ACTIONS(748),
    [anon_sym_PERCENT_EQ] = ACTIONS(748),
    [anon_sym_GT_GT_EQ] = ACTIONS(748),
    [anon_sym_LT_LT_EQ] = ACTIONS(748),
    [anon_sym_CARET_EQ] = ACTIONS(748),
    [anon_sym_QMARK] = ACTIONS(750),
    [anon_sym_DOT_DOT] = ACTIONS(750),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(748),
    [anon_sym_and] = ACTIONS(750),
    [anon_sym_or] = ACTIONS(750),
    [anon_sym_PIPE_PIPE] = ACTIONS(750),
    [anon_sym_AMP_AMP] = ACTIONS(750),
    [anon_sym_LT_LT] = ACTIONS(750),
    [anon_sym_GT_GT] = ACTIONS(750),
    [anon_sym_EQ_EQ] = ACTIONS(750),
    [anon_sym_BANG_EQ] = ACTIONS(748),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(748),
    [anon_sym_LT_EQ_GT] = ACTIONS(748),
    [anon_sym_EQ_TILDE] = ACTIONS(748),
    [anon_sym_BANG_TILDE] = ACTIONS(748),
    [anon_sym_LT_EQ] = ACTIONS(750),
    [anon_sym_GT] = ACTIONS(750),
    [anon_sym_GT_EQ] = ACTIONS(748),
    [anon_sym_CARET] = ACTIONS(750),
    [anon_sym_PLUS] = ACTIONS(750),
    [anon_sym_SLASH] = ACTIONS(750),
    [anon_sym_PERCENT] = ACTIONS(750),
    [anon_sym_defined_QMARK] = ACTIONS(748),
    [anon_sym_not] = ACTIONS(750),
    [anon_sym_BANG] = ACTIONS(750),
    [anon_sym_TILDE] = ACTIONS(748),
    [sym_constant] = ACTIONS(752),
    [sym_identifier] = ACTIONS(752),
    [sym_instance_variable] = ACTIONS(750),
    [sym_class_variable] = ACTIONS(750),
    [sym_global_variable] = ACTIONS(750),
    [anon_sym_alias] = ACTIONS(750),
    [anon_sym_defined] = ACTIONS(750),
    [anon_sym_false] = ACTIONS(750),
    [anon_sym_nil] = ACTIONS(750),
    [anon_sym_self] = ACTIONS(750),
    [anon_sym_super] = ACTIONS(750),
    [anon_sym_true] = ACTIONS(750),
    [anon_sym_undef] = ACTIONS(750),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(750),
    [sym_float] = ACTIONS(752),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(748),
    [anon_sym_TRUE] = ACTIONS(750),
    [anon_sym_FALSE] = ACTIONS(750),
    [anon_sym_NIL] = ACTIONS(750),
    [sym_keyword__FILE__] = ACTIONS(750),
    [sym_keyword__LINE__] = ACTIONS(750),
    [sym_keyword__ENCODING__] = ACTIONS(750),
    [sym__character_literal] = ACTIONS(750),
    [anon_sym_LBRACK] = ACTIONS(748),
    [anon_sym_DASH_GT] = ACTIONS(748),
  },
  [1396] = {
    [sym__simple_string] = ACTIONS(754),
    [sym__simple_symbol] = ACTIONS(754),
    [sym__simple_subshell] = ACTIONS(754),
    [sym__simple_regex] = ACTIONS(754),
    [sym__simple_word_list] = ACTIONS(754),
    [sym__simple_heredoc_body] = ACTIONS(754),
    [sym__string_beginning] = ACTIONS(754),
    [sym__symbol_beginning] = ACTIONS(754),
    [sym__subshell_beginning] = ACTIONS(754),
    [sym__regex_beginning] = ACTIONS(754),
    [sym__word_list_beginning] = ACTIONS(754),
    [sym__heredoc_body_beginning] = ACTIONS(754),
    [sym_heredoc_beginning] = ACTIONS(754),
    [sym__line_break] = ACTIONS(754),
    [sym__element_reference_left_bracket] = ACTIONS(754),
    [sym__block_ampersand] = ACTIONS(754),
    [sym__splat_star] = ACTIONS(754),
    [sym__argument_list_left_paren] = ACTIONS(754),
    [sym__scope_double_colon] = ACTIONS(754),
    [sym__unary_minus] = ACTIONS(754),
    [sym__binary_minus] = ACTIONS(754),
    [sym__binary_star] = ACTIONS(754),
    [ts_builtin_sym_end] = ACTIONS(754),
    [anon_sym___END__] = ACTIONS(756),
    [anon_sym_LBRACE] = ACTIONS(754),
    [anon_sym_def] = ACTIONS(756),
    [anon_sym_LPAREN] = ACTIONS(754),
    [anon_sym_DOT] = ACTIONS(756),
    [anon_sym_COLON_COLON] = ACTIONS(754),
    [anon_sym_end] = ACTIONS(756),
    [anon_sym_COMMA] = ACTIONS(754),
    [anon_sym_PIPE] = ACTIONS(756),
    [anon_sym_SEMI] = ACTIONS(754),
    [anon_sym_STAR] = ACTIONS(756),
    [anon_sym_STAR_STAR] = ACTIONS(756),
    [anon_sym_AMP] = ACTIONS(756),
    [anon_sym_EQ] = ACTIONS(756),
    [anon_sym_class] = ACTIONS(756),
    [anon_sym_LT] = ACTIONS(756),
    [anon_sym_module] = ACTIONS(756),
    [anon_sym_return] = ACTIONS(756),
    [anon_sym_yield] = ACTIONS(756),
    [anon_sym_break] = ACTIONS(756),
    [anon_sym_next] = ACTIONS(756),
    [anon_sym_redo] = ACTIONS(756),
    [anon_sym_retry] = ACTIONS(756),
    [anon_sym_if] = ACTIONS(756),
    [anon_sym_unless] = ACTIONS(756),
    [anon_sym_while] = ACTIONS(756),
    [anon_sym_until] = ACTIONS(756),
    [anon_sym_rescue] = ACTIONS(756),
    [anon_sym_for] = ACTIONS(756),
    [anon_sym_in] = ACTIONS(756),
    [anon_sym_do] = ACTIONS(756),
    [anon_sym_case] = ACTIONS(756),
    [anon_sym_when] = ACTIONS(756),
    [anon_sym_elsif] = ACTIONS(756),
    [anon_sym_else] = ACTIONS(756),
    [anon_sym_then] = ACTIONS(756),
    [anon_sym_begin] = ACTIONS(756),
    [anon_sym_ensure] = ACTIONS(756),
    [anon_sym_EQ_GT] = ACTIONS(754),
    [anon_sym_AMP_DOT] = ACTIONS(754),
    [anon_sym_PLUS_EQ] = ACTIONS(754),
    [anon_sym_DASH_EQ] = ACTIONS(754),
    [anon_sym_STAR_EQ] = ACTIONS(754),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(754),
    [anon_sym_SLASH_EQ] = ACTIONS(754),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(754),
    [anon_sym_PIPE_EQ] = ACTIONS(754),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(754),
    [anon_sym_AMP_EQ] = ACTIONS(754),
    [anon_sym_PERCENT_EQ] = ACTIONS(754),
    [anon_sym_GT_GT_EQ] = ACTIONS(754),
    [anon_sym_LT_LT_EQ] = ACTIONS(754),
    [anon_sym_CARET_EQ] = ACTIONS(754),
    [anon_sym_QMARK] = ACTIONS(756),
    [anon_sym_DOT_DOT] = ACTIONS(756),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(754),
    [anon_sym_and] = ACTIONS(756),
    [anon_sym_or] = ACTIONS(756),
    [anon_sym_PIPE_PIPE] = ACTIONS(756),
    [anon_sym_AMP_AMP] = ACTIONS(756),
    [anon_sym_LT_LT] = ACTIONS(756),
    [anon_sym_GT_GT] = ACTIONS(756),
    [anon_sym_EQ_EQ] = ACTIONS(756),
    [anon_sym_BANG_EQ] = ACTIONS(754),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(754),
    [anon_sym_LT_EQ_GT] = ACTIONS(754),
    [anon_sym_EQ_TILDE] = ACTIONS(754),
    [anon_sym_BANG_TILDE] = ACTIONS(754),
    [anon_sym_LT_EQ] = ACTIONS(756),
    [anon_sym_GT] = ACTIONS(756),
    [anon_sym_GT_EQ] = ACTIONS(754),
    [anon_sym_CARET] = ACTIONS(756),
    [anon_sym_PLUS] = ACTIONS(756),
    [anon_sym_SLASH] = ACTIONS(756),
    [anon_sym_PERCENT] = ACTIONS(756),
    [anon_sym_defined_QMARK] = ACTIONS(754),
    [anon_sym_not] = ACTIONS(756),
    [anon_sym_BANG] = ACTIONS(756),
    [anon_sym_TILDE] = ACTIONS(754),
    [sym_constant] = ACTIONS(758),
    [sym_identifier] = ACTIONS(758),
    [sym_instance_variable] = ACTIONS(756),
    [sym_class_variable] = ACTIONS(756),
    [sym_global_variable] = ACTIONS(756),
    [anon_sym_alias] = ACTIONS(756),
    [anon_sym_defined] = ACTIONS(756),
    [anon_sym_false] = ACTIONS(756),
    [anon_sym_nil] = ACTIONS(756),
    [anon_sym_self] = ACTIONS(756),
    [anon_sym_super] = ACTIONS(756),
    [anon_sym_true] = ACTIONS(756),
    [anon_sym_undef] = ACTIONS(756),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(756),
    [sym_float] = ACTIONS(758),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(754),
    [anon_sym_TRUE] = ACTIONS(756),
    [anon_sym_FALSE] = ACTIONS(756),
    [anon_sym_NIL] = ACTIONS(756),
    [sym_keyword__FILE__] = ACTIONS(756),
    [sym_keyword__LINE__] = ACTIONS(756),
    [sym_keyword__ENCODING__] = ACTIONS(756),
    [sym__character_literal] = ACTIONS(756),
    [anon_sym_LBRACK] = ACTIONS(754),
    [anon_sym_DASH_GT] = ACTIONS(754),
  },
  [1397] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [ts_builtin_sym_end] = ACTIONS(1372),
    [anon_sym___END__] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(2220),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_if] = ACTIONS(1372),
    [anon_sym_unless] = ACTIONS(1372),
    [anon_sym_while] = ACTIONS(1372),
    [anon_sym_until] = ACTIONS(1372),
    [anon_sym_rescue] = ACTIONS(1372),
    [anon_sym_EQ_GT] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [1398] = {
    [sym__simple_string] = ACTIONS(2010),
    [sym__simple_symbol] = ACTIONS(2010),
    [sym__simple_subshell] = ACTIONS(2010),
    [sym__simple_regex] = ACTIONS(2010),
    [sym__simple_word_list] = ACTIONS(2010),
    [sym__simple_heredoc_body] = ACTIONS(2010),
    [sym__string_beginning] = ACTIONS(2010),
    [sym__symbol_beginning] = ACTIONS(2010),
    [sym__subshell_beginning] = ACTIONS(2010),
    [sym__regex_beginning] = ACTIONS(2010),
    [sym__word_list_beginning] = ACTIONS(2010),
    [sym__heredoc_body_beginning] = ACTIONS(2010),
    [sym_heredoc_beginning] = ACTIONS(2010),
    [sym__line_break] = ACTIONS(2010),
    [sym__element_reference_left_bracket] = ACTIONS(2010),
    [sym__block_ampersand] = ACTIONS(2010),
    [sym__splat_star] = ACTIONS(2010),
    [sym__argument_list_left_paren] = ACTIONS(2010),
    [sym__scope_double_colon] = ACTIONS(2010),
    [sym__unary_minus] = ACTIONS(2010),
    [sym__binary_minus] = ACTIONS(2010),
    [sym__binary_star] = ACTIONS(2010),
    [ts_builtin_sym_end] = ACTIONS(2010),
    [anon_sym___END__] = ACTIONS(2012),
    [anon_sym_LBRACE] = ACTIONS(2010),
    [anon_sym_def] = ACTIONS(2012),
    [anon_sym_LPAREN] = ACTIONS(2010),
    [anon_sym_DOT] = ACTIONS(2012),
    [anon_sym_COLON_COLON] = ACTIONS(2010),
    [anon_sym_end] = ACTIONS(2012),
    [anon_sym_COMMA] = ACTIONS(2010),
    [anon_sym_PIPE] = ACTIONS(2012),
    [anon_sym_SEMI] = ACTIONS(2010),
    [anon_sym_STAR] = ACTIONS(2012),
    [anon_sym_STAR_STAR] = ACTIONS(2012),
    [anon_sym_AMP] = ACTIONS(2012),
    [anon_sym_EQ] = ACTIONS(2012),
    [anon_sym_class] = ACTIONS(2012),
    [anon_sym_LT] = ACTIONS(2012),
    [anon_sym_module] = ACTIONS(2012),
    [anon_sym_return] = ACTIONS(2012),
    [anon_sym_yield] = ACTIONS(2012),
    [anon_sym_break] = ACTIONS(2012),
    [anon_sym_next] = ACTIONS(2012),
    [anon_sym_redo] = ACTIONS(2012),
    [anon_sym_retry] = ACTIONS(2012),
    [anon_sym_if] = ACTIONS(2012),
    [anon_sym_unless] = ACTIONS(2012),
    [anon_sym_while] = ACTIONS(2012),
    [anon_sym_until] = ACTIONS(2012),
    [anon_sym_rescue] = ACTIONS(2012),
    [anon_sym_for] = ACTIONS(2012),
    [anon_sym_in] = ACTIONS(2012),
    [anon_sym_do] = ACTIONS(2012),
    [anon_sym_case] = ACTIONS(2012),
    [anon_sym_when] = ACTIONS(2012),
    [anon_sym_elsif] = ACTIONS(2012),
    [anon_sym_else] = ACTIONS(2012),
    [anon_sym_then] = ACTIONS(2012),
    [anon_sym_begin] = ACTIONS(2012),
    [anon_sym_ensure] = ACTIONS(2012),
    [anon_sym_EQ_GT] = ACTIONS(2010),
    [anon_sym_AMP_DOT] = ACTIONS(2010),
    [anon_sym_PLUS_EQ] = ACTIONS(2010),
    [anon_sym_DASH_EQ] = ACTIONS(2010),
    [anon_sym_STAR_EQ] = ACTIONS(2010),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2010),
    [anon_sym_SLASH_EQ] = ACTIONS(2010),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2010),
    [anon_sym_PIPE_EQ] = ACTIONS(2010),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2010),
    [anon_sym_AMP_EQ] = ACTIONS(2010),
    [anon_sym_PERCENT_EQ] = ACTIONS(2010),
    [anon_sym_GT_GT_EQ] = ACTIONS(2010),
    [anon_sym_LT_LT_EQ] = ACTIONS(2010),
    [anon_sym_CARET_EQ] = ACTIONS(2010),
    [anon_sym_QMARK] = ACTIONS(2012),
    [anon_sym_DOT_DOT] = ACTIONS(2012),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2010),
    [anon_sym_and] = ACTIONS(2012),
    [anon_sym_or] = ACTIONS(2012),
    [anon_sym_PIPE_PIPE] = ACTIONS(2012),
    [anon_sym_AMP_AMP] = ACTIONS(2012),
    [anon_sym_LT_LT] = ACTIONS(2012),
    [anon_sym_GT_GT] = ACTIONS(2012),
    [anon_sym_EQ_EQ] = ACTIONS(2012),
    [anon_sym_BANG_EQ] = ACTIONS(2010),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2010),
    [anon_sym_LT_EQ_GT] = ACTIONS(2010),
    [anon_sym_EQ_TILDE] = ACTIONS(2010),
    [anon_sym_BANG_TILDE] = ACTIONS(2010),
    [anon_sym_LT_EQ] = ACTIONS(2012),
    [anon_sym_GT] = ACTIONS(2012),
    [anon_sym_GT_EQ] = ACTIONS(2010),
    [anon_sym_CARET] = ACTIONS(2012),
    [anon_sym_PLUS] = ACTIONS(2012),
    [anon_sym_SLASH] = ACTIONS(2012),
    [anon_sym_PERCENT] = ACTIONS(2012),
    [anon_sym_defined_QMARK] = ACTIONS(2010),
    [anon_sym_not] = ACTIONS(2012),
    [anon_sym_BANG] = ACTIONS(2012),
    [anon_sym_TILDE] = ACTIONS(2010),
    [sym_constant] = ACTIONS(2014),
    [sym_identifier] = ACTIONS(2014),
    [sym_instance_variable] = ACTIONS(2012),
    [sym_class_variable] = ACTIONS(2012),
    [sym_global_variable] = ACTIONS(2012),
    [anon_sym_alias] = ACTIONS(2012),
    [anon_sym_defined] = ACTIONS(2012),
    [anon_sym_false] = ACTIONS(2012),
    [anon_sym_nil] = ACTIONS(2012),
    [anon_sym_self] = ACTIONS(2012),
    [anon_sym_super] = ACTIONS(2012),
    [anon_sym_true] = ACTIONS(2012),
    [anon_sym_undef] = ACTIONS(2012),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(2012),
    [sym_float] = ACTIONS(2014),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(2010),
    [anon_sym_TRUE] = ACTIONS(2012),
    [anon_sym_FALSE] = ACTIONS(2012),
    [anon_sym_NIL] = ACTIONS(2012),
    [sym_keyword__FILE__] = ACTIONS(2012),
    [sym_keyword__LINE__] = ACTIONS(2012),
    [sym_keyword__ENCODING__] = ACTIONS(2012),
    [sym__character_literal] = ACTIONS(2012),
    [anon_sym_LBRACK] = ACTIONS(2010),
    [anon_sym_DASH_GT] = ACTIONS(2010),
  },
  [1399] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__line_break] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(5300),
    [sym__binary_star] = ACTIONS(5302),
    [ts_builtin_sym_end] = ACTIONS(4284),
    [anon_sym___END__] = ACTIONS(4284),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(5306),
    [anon_sym_SEMI] = ACTIONS(4284),
    [anon_sym_STAR_STAR] = ACTIONS(5308),
    [anon_sym_AMP] = ACTIONS(5310),
    [anon_sym_LT] = ACTIONS(5312),
    [anon_sym_if] = ACTIONS(4284),
    [anon_sym_unless] = ACTIONS(4284),
    [anon_sym_while] = ACTIONS(4284),
    [anon_sym_until] = ACTIONS(4284),
    [anon_sym_rescue] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(5314),
    [anon_sym_DOT_DOT] = ACTIONS(5316),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5318),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(5320),
    [anon_sym_AMP_AMP] = ACTIONS(5320),
    [anon_sym_LT_LT] = ACTIONS(5322),
    [anon_sym_GT_GT] = ACTIONS(5322),
    [anon_sym_EQ_EQ] = ACTIONS(5324),
    [anon_sym_BANG_EQ] = ACTIONS(5320),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5320),
    [anon_sym_LT_EQ_GT] = ACTIONS(5320),
    [anon_sym_EQ_TILDE] = ACTIONS(5320),
    [anon_sym_BANG_TILDE] = ACTIONS(5320),
    [anon_sym_LT_EQ] = ACTIONS(5312),
    [anon_sym_GT] = ACTIONS(5312),
    [anon_sym_GT_EQ] = ACTIONS(5326),
    [anon_sym_CARET] = ACTIONS(5328),
    [anon_sym_PLUS] = ACTIONS(5330),
    [anon_sym_SLASH] = ACTIONS(5308),
    [anon_sym_PERCENT] = ACTIONS(5308),
    [sym_comment] = ACTIONS(110),
  },
  [1400] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3726),
    [sym__primary] = STATE(337),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(339),
    [sym_call] = STATE(339),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(345),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(346),
    [sym__variable] = STATE(339),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(542),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2182),
    [anon_sym_yield] = ACTIONS(2184),
    [anon_sym_break] = ACTIONS(2186),
    [anon_sym_next] = ACTIONS(2188),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2190),
    [anon_sym_defined_QMARK] = ACTIONS(572),
    [anon_sym_not] = ACTIONS(2192),
    [anon_sym_BANG] = ACTIONS(578),
    [anon_sym_TILDE] = ACTIONS(578),
    [sym_constant] = ACTIONS(2194),
    [sym_identifier] = ACTIONS(2194),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2196),
    [anon_sym_super] = ACTIONS(2198),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1401] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3727),
    [sym__primary] = STATE(337),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(339),
    [sym_call] = STATE(339),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(345),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(346),
    [sym__variable] = STATE(339),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(542),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2182),
    [anon_sym_yield] = ACTIONS(2184),
    [anon_sym_break] = ACTIONS(2186),
    [anon_sym_next] = ACTIONS(2188),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2190),
    [anon_sym_defined_QMARK] = ACTIONS(572),
    [anon_sym_not] = ACTIONS(2192),
    [anon_sym_BANG] = ACTIONS(578),
    [anon_sym_TILDE] = ACTIONS(578),
    [sym_constant] = ACTIONS(2194),
    [sym_identifier] = ACTIONS(2194),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2196),
    [anon_sym_super] = ACTIONS(2198),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1402] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3728),
    [sym__primary] = STATE(337),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(339),
    [sym_call] = STATE(339),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(345),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(346),
    [sym__variable] = STATE(339),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(542),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2182),
    [anon_sym_yield] = ACTIONS(2184),
    [anon_sym_break] = ACTIONS(2186),
    [anon_sym_next] = ACTIONS(2188),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2190),
    [anon_sym_defined_QMARK] = ACTIONS(572),
    [anon_sym_not] = ACTIONS(2192),
    [anon_sym_BANG] = ACTIONS(578),
    [anon_sym_TILDE] = ACTIONS(578),
    [sym_constant] = ACTIONS(2194),
    [sym_identifier] = ACTIONS(2194),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2196),
    [anon_sym_super] = ACTIONS(2198),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1403] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(5434),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [ts_builtin_sym_end] = ACTIONS(722),
    [anon_sym___END__] = ACTIONS(724),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [1404] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__line_break] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(2212),
    [sym__binary_star] = ACTIONS(2214),
    [ts_builtin_sym_end] = ACTIONS(2210),
    [anon_sym___END__] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(2218),
    [anon_sym_SEMI] = ACTIONS(2210),
    [anon_sym_STAR_STAR] = ACTIONS(2220),
    [anon_sym_AMP] = ACTIONS(2222),
    [anon_sym_LT] = ACTIONS(2224),
    [anon_sym_if] = ACTIONS(2210),
    [anon_sym_unless] = ACTIONS(2210),
    [anon_sym_while] = ACTIONS(2210),
    [anon_sym_until] = ACTIONS(2210),
    [anon_sym_rescue] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(2226),
    [anon_sym_DOT_DOT] = ACTIONS(2228),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2230),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(2232),
    [anon_sym_AMP_AMP] = ACTIONS(2232),
    [anon_sym_LT_LT] = ACTIONS(2234),
    [anon_sym_GT_GT] = ACTIONS(2234),
    [anon_sym_EQ_EQ] = ACTIONS(2236),
    [anon_sym_BANG_EQ] = ACTIONS(2232),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2232),
    [anon_sym_LT_EQ_GT] = ACTIONS(2232),
    [anon_sym_EQ_TILDE] = ACTIONS(2232),
    [anon_sym_BANG_TILDE] = ACTIONS(2232),
    [anon_sym_LT_EQ] = ACTIONS(2224),
    [anon_sym_GT] = ACTIONS(2224),
    [anon_sym_GT_EQ] = ACTIONS(2238),
    [anon_sym_CARET] = ACTIONS(2240),
    [anon_sym_PLUS] = ACTIONS(2242),
    [anon_sym_SLASH] = ACTIONS(2220),
    [anon_sym_PERCENT] = ACTIONS(2220),
    [sym_comment] = ACTIONS(110),
  },
  [1405] = {
    [sym_heredoc_end] = STATE(1444),
    [aux_sym_argument_list_repeat1] = STATE(3731),
    [aux_sym_argument_list_repeat2] = STATE(1445),
    [sym__simple_heredoc_body] = ACTIONS(2268),
    [sym__heredoc_body_beginning] = ACTIONS(2270),
    [sym__line_break] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [ts_builtin_sym_end] = ACTIONS(2272),
    [anon_sym___END__] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(5436),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_STAR_STAR] = ACTIONS(2272),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_if] = ACTIONS(2272),
    [anon_sym_unless] = ACTIONS(2272),
    [anon_sym_while] = ACTIONS(2272),
    [anon_sym_until] = ACTIONS(2272),
    [anon_sym_rescue] = ACTIONS(2272),
    [anon_sym_EQ_GT] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2272),
    [anon_sym_AMP_AMP] = ACTIONS(2272),
    [anon_sym_LT_LT] = ACTIONS(2272),
    [anon_sym_GT_GT] = ACTIONS(2272),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2272),
    [anon_sym_PLUS] = ACTIONS(2272),
    [anon_sym_SLASH] = ACTIONS(2272),
    [anon_sym_PERCENT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(110),
  },
  [1406] = {
    [sym__keyword_colon] = ACTIONS(5438),
    [sym_comment] = ACTIONS(110),
  },
  [1407] = {
    [sym_string] = STATE(611),
    [aux_sym_chained_string_repeat1] = STATE(612),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(20),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(5434),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [ts_builtin_sym_end] = ACTIONS(250),
    [anon_sym___END__] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(120),
  },
  [1408] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [ts_builtin_sym_end] = ACTIONS(2870),
    [anon_sym___END__] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(2220),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [1409] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2212),
    [sym__binary_star] = ACTIONS(2214),
    [ts_builtin_sym_end] = ACTIONS(2870),
    [anon_sym___END__] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2218),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(2220),
    [anon_sym_AMP] = ACTIONS(2222),
    [anon_sym_LT] = ACTIONS(2224),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2226),
    [anon_sym_DOT_DOT] = ACTIONS(2228),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2230),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2232),
    [anon_sym_AMP_AMP] = ACTIONS(2232),
    [anon_sym_LT_LT] = ACTIONS(2234),
    [anon_sym_GT_GT] = ACTIONS(2234),
    [anon_sym_EQ_EQ] = ACTIONS(2236),
    [anon_sym_BANG_EQ] = ACTIONS(2232),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2232),
    [anon_sym_LT_EQ_GT] = ACTIONS(2232),
    [anon_sym_EQ_TILDE] = ACTIONS(2232),
    [anon_sym_BANG_TILDE] = ACTIONS(2232),
    [anon_sym_LT_EQ] = ACTIONS(2224),
    [anon_sym_GT] = ACTIONS(2224),
    [anon_sym_GT_EQ] = ACTIONS(2238),
    [anon_sym_CARET] = ACTIONS(2240),
    [anon_sym_PLUS] = ACTIONS(2242),
    [anon_sym_SLASH] = ACTIONS(2220),
    [anon_sym_PERCENT] = ACTIONS(2220),
    [sym_comment] = ACTIONS(110),
  },
  [1410] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [ts_builtin_sym_end] = ACTIONS(2870),
    [anon_sym___END__] = ACTIONS(2870),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_RBRACE] = ACTIONS(2870),
    [anon_sym_RPAREN] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_end] = ACTIONS(2870),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(2870),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_when] = ACTIONS(2870),
    [anon_sym_elsif] = ACTIONS(2870),
    [anon_sym_else] = ACTIONS(2870),
    [anon_sym_then] = ACTIONS(2870),
    [anon_sym_ensure] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [1411] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3733),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1365),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1366),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2144),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2146),
    [anon_sym_defined_QMARK] = ACTIONS(2148),
    [anon_sym_not] = ACTIONS(2150),
    [anon_sym_BANG] = ACTIONS(2152),
    [anon_sym_TILDE] = ACTIONS(2152),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1412] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3734),
    [sym__primary] = STATE(337),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(339),
    [sym_call] = STATE(339),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(345),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(346),
    [sym__variable] = STATE(339),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(542),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2182),
    [anon_sym_yield] = ACTIONS(2184),
    [anon_sym_break] = ACTIONS(2186),
    [anon_sym_next] = ACTIONS(2188),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2190),
    [anon_sym_defined_QMARK] = ACTIONS(572),
    [anon_sym_not] = ACTIONS(2192),
    [anon_sym_BANG] = ACTIONS(578),
    [anon_sym_TILDE] = ACTIONS(578),
    [sym_constant] = ACTIONS(2194),
    [sym_identifier] = ACTIONS(2194),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2196),
    [anon_sym_super] = ACTIONS(2198),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1413] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3735),
    [sym__primary] = STATE(337),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(339),
    [sym_call] = STATE(339),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(345),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(346),
    [sym__variable] = STATE(339),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(542),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2182),
    [anon_sym_yield] = ACTIONS(2184),
    [anon_sym_break] = ACTIONS(2186),
    [anon_sym_next] = ACTIONS(2188),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2190),
    [anon_sym_defined_QMARK] = ACTIONS(572),
    [anon_sym_not] = ACTIONS(2192),
    [anon_sym_BANG] = ACTIONS(578),
    [anon_sym_TILDE] = ACTIONS(578),
    [sym_constant] = ACTIONS(2194),
    [sym_identifier] = ACTIONS(2194),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2196),
    [anon_sym_super] = ACTIONS(2198),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1414] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3736),
    [sym__primary] = STATE(337),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(339),
    [sym_call] = STATE(339),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(345),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(346),
    [sym__variable] = STATE(339),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(542),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2182),
    [anon_sym_yield] = ACTIONS(2184),
    [anon_sym_break] = ACTIONS(2186),
    [anon_sym_next] = ACTIONS(2188),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2190),
    [anon_sym_defined_QMARK] = ACTIONS(572),
    [anon_sym_not] = ACTIONS(2192),
    [anon_sym_BANG] = ACTIONS(578),
    [anon_sym_TILDE] = ACTIONS(578),
    [sym_constant] = ACTIONS(2194),
    [sym_identifier] = ACTIONS(2194),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2196),
    [anon_sym_super] = ACTIONS(2198),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1415] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3737),
    [sym__primary] = STATE(337),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(339),
    [sym_call] = STATE(339),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(345),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(346),
    [sym__variable] = STATE(339),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(542),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2182),
    [anon_sym_yield] = ACTIONS(2184),
    [anon_sym_break] = ACTIONS(2186),
    [anon_sym_next] = ACTIONS(2188),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2190),
    [anon_sym_defined_QMARK] = ACTIONS(572),
    [anon_sym_not] = ACTIONS(2192),
    [anon_sym_BANG] = ACTIONS(578),
    [anon_sym_TILDE] = ACTIONS(578),
    [sym_constant] = ACTIONS(2194),
    [sym_identifier] = ACTIONS(2194),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2196),
    [anon_sym_super] = ACTIONS(2198),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1416] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3738),
    [sym__primary] = STATE(337),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(339),
    [sym_call] = STATE(339),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(345),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(346),
    [sym__variable] = STATE(339),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(542),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2182),
    [anon_sym_yield] = ACTIONS(2184),
    [anon_sym_break] = ACTIONS(2186),
    [anon_sym_next] = ACTIONS(2188),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2190),
    [anon_sym_defined_QMARK] = ACTIONS(572),
    [anon_sym_not] = ACTIONS(2192),
    [anon_sym_BANG] = ACTIONS(578),
    [anon_sym_TILDE] = ACTIONS(578),
    [sym_constant] = ACTIONS(2194),
    [sym_identifier] = ACTIONS(2194),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2196),
    [anon_sym_super] = ACTIONS(2198),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1417] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3739),
    [sym__primary] = STATE(337),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(339),
    [sym_call] = STATE(339),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(345),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(346),
    [sym__variable] = STATE(339),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(542),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2182),
    [anon_sym_yield] = ACTIONS(2184),
    [anon_sym_break] = ACTIONS(2186),
    [anon_sym_next] = ACTIONS(2188),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2190),
    [anon_sym_defined_QMARK] = ACTIONS(572),
    [anon_sym_not] = ACTIONS(2192),
    [anon_sym_BANG] = ACTIONS(578),
    [anon_sym_TILDE] = ACTIONS(578),
    [sym_constant] = ACTIONS(2194),
    [sym_identifier] = ACTIONS(2194),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2196),
    [anon_sym_super] = ACTIONS(2198),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1418] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(3740),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [1419] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3741),
    [sym__primary] = STATE(337),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(339),
    [sym_call] = STATE(339),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(345),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(346),
    [sym__variable] = STATE(339),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(542),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2182),
    [anon_sym_yield] = ACTIONS(2184),
    [anon_sym_break] = ACTIONS(2186),
    [anon_sym_next] = ACTIONS(2188),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2190),
    [anon_sym_defined_QMARK] = ACTIONS(572),
    [anon_sym_not] = ACTIONS(2192),
    [anon_sym_BANG] = ACTIONS(578),
    [anon_sym_TILDE] = ACTIONS(578),
    [sym_constant] = ACTIONS(2194),
    [sym_identifier] = ACTIONS(2194),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2196),
    [anon_sym_super] = ACTIONS(2198),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1420] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3742),
    [sym__primary] = STATE(337),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(339),
    [sym_call] = STATE(339),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(345),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(346),
    [sym__variable] = STATE(339),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(542),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2182),
    [anon_sym_yield] = ACTIONS(2184),
    [anon_sym_break] = ACTIONS(2186),
    [anon_sym_next] = ACTIONS(2188),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2190),
    [anon_sym_defined_QMARK] = ACTIONS(572),
    [anon_sym_not] = ACTIONS(2192),
    [anon_sym_BANG] = ACTIONS(578),
    [anon_sym_TILDE] = ACTIONS(578),
    [sym_constant] = ACTIONS(2194),
    [sym_identifier] = ACTIONS(2194),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2196),
    [anon_sym_super] = ACTIONS(2198),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1421] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3743),
    [sym__primary] = STATE(337),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(339),
    [sym_call] = STATE(339),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(345),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(346),
    [sym__variable] = STATE(339),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(542),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2182),
    [anon_sym_yield] = ACTIONS(2184),
    [anon_sym_break] = ACTIONS(2186),
    [anon_sym_next] = ACTIONS(2188),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2190),
    [anon_sym_defined_QMARK] = ACTIONS(572),
    [anon_sym_not] = ACTIONS(2192),
    [anon_sym_BANG] = ACTIONS(578),
    [anon_sym_TILDE] = ACTIONS(578),
    [sym_constant] = ACTIONS(2194),
    [sym_identifier] = ACTIONS(2194),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2196),
    [anon_sym_super] = ACTIONS(2198),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1422] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3744),
    [sym__primary] = STATE(337),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(339),
    [sym_call] = STATE(339),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(345),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(346),
    [sym__variable] = STATE(339),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(542),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2182),
    [anon_sym_yield] = ACTIONS(2184),
    [anon_sym_break] = ACTIONS(2186),
    [anon_sym_next] = ACTIONS(2188),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2190),
    [anon_sym_defined_QMARK] = ACTIONS(572),
    [anon_sym_not] = ACTIONS(2192),
    [anon_sym_BANG] = ACTIONS(578),
    [anon_sym_TILDE] = ACTIONS(578),
    [sym_constant] = ACTIONS(2194),
    [sym_identifier] = ACTIONS(2194),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2196),
    [anon_sym_super] = ACTIONS(2198),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1423] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3745),
    [sym__primary] = STATE(337),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(339),
    [sym_call] = STATE(339),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(345),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(346),
    [sym__variable] = STATE(339),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(542),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2182),
    [anon_sym_yield] = ACTIONS(2184),
    [anon_sym_break] = ACTIONS(2186),
    [anon_sym_next] = ACTIONS(2188),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2190),
    [anon_sym_defined_QMARK] = ACTIONS(572),
    [anon_sym_not] = ACTIONS(2192),
    [anon_sym_BANG] = ACTIONS(578),
    [anon_sym_TILDE] = ACTIONS(578),
    [sym_constant] = ACTIONS(2194),
    [sym_identifier] = ACTIONS(2194),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2196),
    [anon_sym_super] = ACTIONS(2198),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1424] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(501),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(3747),
    [sym__argument] = STATE(506),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(509),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(510),
    [sym__variable] = STATE(504),
    [sym_reserved_identifier] = STATE(511),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(512),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(3748),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(804),
    [sym__splat_star] = ACTIONS(806),
    [sym__unary_minus] = ACTIONS(808),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(818),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(824),
    [anon_sym_yield] = ACTIONS(826),
    [anon_sym_break] = ACTIONS(828),
    [anon_sym_next] = ACTIONS(830),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_RBRACK] = ACTIONS(5440),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(852),
    [anon_sym_defined_QMARK] = ACTIONS(854),
    [anon_sym_not] = ACTIONS(856),
    [anon_sym_BANG] = ACTIONS(858),
    [anon_sym_TILDE] = ACTIONS(858),
    [sym_constant] = ACTIONS(860),
    [sym_identifier] = ACTIONS(860),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1425] = {
    [sym_constant] = ACTIONS(5442),
    [sym_identifier] = ACTIONS(5442),
    [sym_comment] = ACTIONS(110),
  },
  [1426] = {
    [sym_argument_list_with_parens] = STATE(3752),
    [sym__argument_list_with_parens] = STATE(3753),
    [sym_operator] = STATE(3752),
    [sym__argument_list_left_paren] = ACTIONS(5444),
    [anon_sym_PIPE] = ACTIONS(5446),
    [anon_sym_STAR] = ACTIONS(5448),
    [anon_sym_STAR_STAR] = ACTIONS(5446),
    [anon_sym_AMP] = ACTIONS(5446),
    [anon_sym_LT] = ACTIONS(5448),
    [anon_sym_DOT_DOT] = ACTIONS(5446),
    [anon_sym_LT_LT] = ACTIONS(5446),
    [anon_sym_GT_GT] = ACTIONS(5446),
    [anon_sym_EQ_EQ] = ACTIONS(5448),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5446),
    [anon_sym_LT_EQ_GT] = ACTIONS(5446),
    [anon_sym_EQ_TILDE] = ACTIONS(5446),
    [anon_sym_BANG_TILDE] = ACTIONS(5446),
    [anon_sym_LT_EQ] = ACTIONS(5448),
    [anon_sym_GT] = ACTIONS(5448),
    [anon_sym_GT_EQ] = ACTIONS(5446),
    [anon_sym_CARET] = ACTIONS(5446),
    [anon_sym_PLUS] = ACTIONS(5448),
    [anon_sym_SLASH] = ACTIONS(5446),
    [anon_sym_PERCENT] = ACTIONS(5446),
    [anon_sym_BANG] = ACTIONS(5448),
    [anon_sym_TILDE] = ACTIONS(5446),
    [sym_constant] = ACTIONS(5450),
    [sym_identifier] = ACTIONS(5450),
    [anon_sym_DASH] = ACTIONS(5448),
    [anon_sym_PLUS_AT] = ACTIONS(5446),
    [anon_sym_DASH_AT] = ACTIONS(5446),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(5448),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(5446),
    [anon_sym_BQUOTE] = ACTIONS(5446),
    [sym_comment] = ACTIONS(110),
  },
  [1427] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(3754),
    [sym__primary] = STATE(596),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(597),
    [sym_call] = STATE(597),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(605),
    [sym__variable] = STATE(597),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(1012),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(3236),
    [anon_sym_yield] = ACTIONS(3238),
    [anon_sym_break] = ACTIONS(3240),
    [anon_sym_next] = ACTIONS(3242),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(3262),
    [anon_sym_defined_QMARK] = ACTIONS(1044),
    [anon_sym_not] = ACTIONS(3264),
    [anon_sym_BANG] = ACTIONS(1050),
    [anon_sym_TILDE] = ACTIONS(1050),
    [sym_constant] = ACTIONS(2194),
    [sym_identifier] = ACTIONS(2194),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2196),
    [anon_sym_super] = ACTIONS(2198),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1428] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(3755),
    [sym__primary] = STATE(596),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(597),
    [sym_call] = STATE(597),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(605),
    [sym__variable] = STATE(597),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(1012),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(3236),
    [anon_sym_yield] = ACTIONS(3238),
    [anon_sym_break] = ACTIONS(3240),
    [anon_sym_next] = ACTIONS(3242),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(3262),
    [anon_sym_defined_QMARK] = ACTIONS(1044),
    [anon_sym_not] = ACTIONS(3264),
    [anon_sym_BANG] = ACTIONS(1050),
    [anon_sym_TILDE] = ACTIONS(1050),
    [sym_constant] = ACTIONS(2194),
    [sym_identifier] = ACTIONS(2194),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2196),
    [anon_sym_super] = ACTIONS(2198),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1429] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1382),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(3757),
    [sym__argument] = STATE(1385),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1386),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1387),
    [sym__variable] = STATE(1383),
    [sym_reserved_identifier] = STATE(1388),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1389),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(3758),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(2154),
    [sym__splat_star] = ACTIONS(2156),
    [sym__unary_minus] = ACTIONS(2158),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(5452),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2162),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2164),
    [anon_sym_yield] = ACTIONS(2166),
    [anon_sym_break] = ACTIONS(2168),
    [anon_sym_next] = ACTIONS(2170),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2172),
    [anon_sym_defined_QMARK] = ACTIONS(2174),
    [anon_sym_not] = ACTIONS(2176),
    [anon_sym_BANG] = ACTIONS(2178),
    [anon_sym_TILDE] = ACTIONS(2178),
    [sym_constant] = ACTIONS(2180),
    [sym_identifier] = ACTIONS(2180),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1430] = {
    [sym__statements] = STATE(3759),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(3760),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2128),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_hash_splat_argument] = STATE(197),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(2130),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2131),
    [sym__variable] = STATE(2129),
    [sym_reserved_identifier] = STATE(201),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(2132),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(2133),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym__hash_items] = STATE(2134),
    [sym_pair] = STATE(205),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3268),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(3270),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_PIPE] = ACTIONS(3048),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(302),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(3272),
    [anon_sym_yield] = ACTIONS(3274),
    [anon_sym_break] = ACTIONS(3276),
    [anon_sym_next] = ACTIONS(3278),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(3280),
    [anon_sym_defined_QMARK] = ACTIONS(3282),
    [anon_sym_not] = ACTIONS(3284),
    [anon_sym_BANG] = ACTIONS(3286),
    [anon_sym_TILDE] = ACTIONS(3286),
    [sym_constant] = ACTIONS(3288),
    [sym_identifier] = ACTIONS(3288),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(3290),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(3292),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1431] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(3761),
    [sym__primary] = STATE(596),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(597),
    [sym_call] = STATE(597),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(605),
    [sym__variable] = STATE(597),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(1012),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(3236),
    [anon_sym_yield] = ACTIONS(3238),
    [anon_sym_break] = ACTIONS(3240),
    [anon_sym_next] = ACTIONS(3242),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(3262),
    [anon_sym_defined_QMARK] = ACTIONS(1044),
    [anon_sym_not] = ACTIONS(3264),
    [anon_sym_BANG] = ACTIONS(1050),
    [anon_sym_TILDE] = ACTIONS(1050),
    [sym_constant] = ACTIONS(2194),
    [sym_identifier] = ACTIONS(2194),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2196),
    [anon_sym_super] = ACTIONS(2198),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1432] = {
    [sym__statements] = STATE(3763),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(3764),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1981),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(3765),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(3076),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(3078),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(3080),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(5454),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(3086),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1433] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(5456),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [ts_builtin_sym_end] = ACTIONS(722),
    [anon_sym___END__] = ACTIONS(724),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [1434] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__line_break] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(3318),
    [sym__binary_star] = ACTIONS(3320),
    [ts_builtin_sym_end] = ACTIONS(2210),
    [anon_sym___END__] = ACTIONS(2210),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(3322),
    [anon_sym_SEMI] = ACTIONS(2210),
    [anon_sym_STAR_STAR] = ACTIONS(3324),
    [anon_sym_AMP] = ACTIONS(3326),
    [anon_sym_EQ] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(3328),
    [anon_sym_if] = ACTIONS(2210),
    [anon_sym_unless] = ACTIONS(2210),
    [anon_sym_while] = ACTIONS(2210),
    [anon_sym_until] = ACTIONS(2210),
    [anon_sym_rescue] = ACTIONS(2210),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_PLUS_EQ] = ACTIONS(2210),
    [anon_sym_DASH_EQ] = ACTIONS(2210),
    [anon_sym_STAR_EQ] = ACTIONS(2210),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2210),
    [anon_sym_SLASH_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2210),
    [anon_sym_AMP_EQ] = ACTIONS(2210),
    [anon_sym_PERCENT_EQ] = ACTIONS(2210),
    [anon_sym_GT_GT_EQ] = ACTIONS(2210),
    [anon_sym_LT_LT_EQ] = ACTIONS(2210),
    [anon_sym_CARET_EQ] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(3330),
    [anon_sym_DOT_DOT] = ACTIONS(3332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3334),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(3336),
    [anon_sym_AMP_AMP] = ACTIONS(3336),
    [anon_sym_LT_LT] = ACTIONS(3338),
    [anon_sym_GT_GT] = ACTIONS(3338),
    [anon_sym_EQ_EQ] = ACTIONS(3336),
    [anon_sym_BANG_EQ] = ACTIONS(3340),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3340),
    [anon_sym_LT_EQ_GT] = ACTIONS(3340),
    [anon_sym_EQ_TILDE] = ACTIONS(3340),
    [anon_sym_BANG_TILDE] = ACTIONS(3340),
    [anon_sym_LT_EQ] = ACTIONS(3328),
    [anon_sym_GT] = ACTIONS(3328),
    [anon_sym_GT_EQ] = ACTIONS(3342),
    [anon_sym_CARET] = ACTIONS(3322),
    [anon_sym_PLUS] = ACTIONS(3344),
    [anon_sym_SLASH] = ACTIONS(3324),
    [anon_sym_PERCENT] = ACTIONS(3324),
    [sym_comment] = ACTIONS(256),
  },
  [1435] = {
    [sym_do_block] = STATE(3767),
    [sym_block] = STATE(3767),
    [sym__simple_heredoc_body] = ACTIONS(3346),
    [sym__heredoc_body_beginning] = ACTIONS(3346),
    [sym__line_break] = ACTIONS(3346),
    [sym__element_reference_left_bracket] = ACTIONS(3346),
    [sym__scope_double_colon] = ACTIONS(3346),
    [sym__binary_minus] = ACTIONS(3346),
    [sym__binary_star] = ACTIONS(3346),
    [ts_builtin_sym_end] = ACTIONS(3346),
    [anon_sym___END__] = ACTIONS(3346),
    [anon_sym_LBRACE] = ACTIONS(3314),
    [anon_sym_RBRACE] = ACTIONS(3346),
    [anon_sym_RPAREN] = ACTIONS(3346),
    [anon_sym_DOT] = ACTIONS(3350),
    [anon_sym_end] = ACTIONS(3346),
    [anon_sym_COMMA] = ACTIONS(3346),
    [anon_sym_PIPE] = ACTIONS(3350),
    [anon_sym_SEMI] = ACTIONS(3346),
    [anon_sym_STAR_STAR] = ACTIONS(3350),
    [anon_sym_AMP] = ACTIONS(3350),
    [anon_sym_EQ] = ACTIONS(3350),
    [anon_sym_LT] = ACTIONS(3350),
    [anon_sym_if] = ACTIONS(3346),
    [anon_sym_unless] = ACTIONS(3346),
    [anon_sym_while] = ACTIONS(3346),
    [anon_sym_until] = ACTIONS(3346),
    [anon_sym_rescue] = ACTIONS(3346),
    [anon_sym_do] = ACTIONS(5458),
    [anon_sym_when] = ACTIONS(3346),
    [anon_sym_elsif] = ACTIONS(3346),
    [anon_sym_else] = ACTIONS(3346),
    [anon_sym_then] = ACTIONS(3346),
    [anon_sym_ensure] = ACTIONS(3346),
    [anon_sym_EQ_GT] = ACTIONS(3346),
    [anon_sym_AMP_DOT] = ACTIONS(3346),
    [anon_sym_PLUS_EQ] = ACTIONS(3346),
    [anon_sym_DASH_EQ] = ACTIONS(3346),
    [anon_sym_STAR_EQ] = ACTIONS(3346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3346),
    [anon_sym_SLASH_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3346),
    [anon_sym_AMP_EQ] = ACTIONS(3346),
    [anon_sym_PERCENT_EQ] = ACTIONS(3346),
    [anon_sym_GT_GT_EQ] = ACTIONS(3346),
    [anon_sym_LT_LT_EQ] = ACTIONS(3346),
    [anon_sym_CARET_EQ] = ACTIONS(3346),
    [anon_sym_QMARK] = ACTIONS(3346),
    [anon_sym_DOT_DOT] = ACTIONS(3350),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3346),
    [anon_sym_and] = ACTIONS(3346),
    [anon_sym_or] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE] = ACTIONS(3350),
    [anon_sym_AMP_AMP] = ACTIONS(3350),
    [anon_sym_LT_LT] = ACTIONS(3350),
    [anon_sym_GT_GT] = ACTIONS(3350),
    [anon_sym_EQ_EQ] = ACTIONS(3350),
    [anon_sym_BANG_EQ] = ACTIONS(3346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3346),
    [anon_sym_LT_EQ_GT] = ACTIONS(3346),
    [anon_sym_EQ_TILDE] = ACTIONS(3346),
    [anon_sym_BANG_TILDE] = ACTIONS(3346),
    [anon_sym_LT_EQ] = ACTIONS(3350),
    [anon_sym_GT] = ACTIONS(3350),
    [anon_sym_GT_EQ] = ACTIONS(3346),
    [anon_sym_CARET] = ACTIONS(3350),
    [anon_sym_PLUS] = ACTIONS(3350),
    [anon_sym_SLASH] = ACTIONS(3350),
    [anon_sym_PERCENT] = ACTIONS(3350),
    [sym_comment] = ACTIONS(256),
  },
  [1436] = {
    [sym_heredoc_end] = STATE(3770),
    [aux_sym_argument_list_repeat2] = STATE(3771),
    [sym__simple_heredoc_body] = ACTIONS(5460),
    [sym__heredoc_body_beginning] = ACTIONS(5462),
    [sym__line_break] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [ts_builtin_sym_end] = ACTIONS(2272),
    [anon_sym___END__] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_RBRACE] = ACTIONS(2272),
    [anon_sym_RPAREN] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_end] = ACTIONS(2272),
    [anon_sym_COMMA] = ACTIONS(2272),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_STAR_STAR] = ACTIONS(2274),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_EQ] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_if] = ACTIONS(2272),
    [anon_sym_unless] = ACTIONS(2272),
    [anon_sym_while] = ACTIONS(2272),
    [anon_sym_until] = ACTIONS(2272),
    [anon_sym_rescue] = ACTIONS(2272),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_when] = ACTIONS(2272),
    [anon_sym_elsif] = ACTIONS(2272),
    [anon_sym_else] = ACTIONS(2272),
    [anon_sym_then] = ACTIONS(2272),
    [anon_sym_ensure] = ACTIONS(2272),
    [anon_sym_EQ_GT] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_PLUS_EQ] = ACTIONS(2272),
    [anon_sym_DASH_EQ] = ACTIONS(2272),
    [anon_sym_STAR_EQ] = ACTIONS(2272),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2272),
    [anon_sym_SLASH_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2272),
    [anon_sym_AMP_EQ] = ACTIONS(2272),
    [anon_sym_PERCENT_EQ] = ACTIONS(2272),
    [anon_sym_GT_GT_EQ] = ACTIONS(2272),
    [anon_sym_LT_LT_EQ] = ACTIONS(2272),
    [anon_sym_CARET_EQ] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2274),
    [anon_sym_AMP_AMP] = ACTIONS(2274),
    [anon_sym_LT_LT] = ACTIONS(2274),
    [anon_sym_GT_GT] = ACTIONS(2274),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2274),
    [anon_sym_PLUS] = ACTIONS(2274),
    [anon_sym_SLASH] = ACTIONS(2274),
    [anon_sym_PERCENT] = ACTIONS(2274),
    [sym_comment] = ACTIONS(256),
  },
  [1437] = {
    [sym_heredoc_end] = STATE(3770),
    [aux_sym_argument_list_repeat1] = STATE(3773),
    [aux_sym_argument_list_repeat2] = STATE(3771),
    [sym__simple_heredoc_body] = ACTIONS(5460),
    [sym__heredoc_body_beginning] = ACTIONS(5462),
    [sym__line_break] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [ts_builtin_sym_end] = ACTIONS(2272),
    [anon_sym___END__] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(5464),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_STAR_STAR] = ACTIONS(2274),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_EQ] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_if] = ACTIONS(2272),
    [anon_sym_unless] = ACTIONS(2272),
    [anon_sym_while] = ACTIONS(2272),
    [anon_sym_until] = ACTIONS(2272),
    [anon_sym_rescue] = ACTIONS(2272),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_EQ_GT] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_PLUS_EQ] = ACTIONS(2272),
    [anon_sym_DASH_EQ] = ACTIONS(2272),
    [anon_sym_STAR_EQ] = ACTIONS(2272),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2272),
    [anon_sym_SLASH_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2272),
    [anon_sym_AMP_EQ] = ACTIONS(2272),
    [anon_sym_PERCENT_EQ] = ACTIONS(2272),
    [anon_sym_GT_GT_EQ] = ACTIONS(2272),
    [anon_sym_LT_LT_EQ] = ACTIONS(2272),
    [anon_sym_CARET_EQ] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2274),
    [anon_sym_AMP_AMP] = ACTIONS(2274),
    [anon_sym_LT_LT] = ACTIONS(2274),
    [anon_sym_GT_GT] = ACTIONS(2274),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2274),
    [anon_sym_PLUS] = ACTIONS(2274),
    [anon_sym_SLASH] = ACTIONS(2274),
    [anon_sym_PERCENT] = ACTIONS(2274),
    [sym_comment] = ACTIONS(256),
  },
  [1438] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__line_break] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(2210),
    [sym__binary_star] = ACTIONS(2210),
    [ts_builtin_sym_end] = ACTIONS(2210),
    [anon_sym___END__] = ACTIONS(2210),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_RBRACE] = ACTIONS(2210),
    [anon_sym_RPAREN] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_end] = ACTIONS(2210),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(2216),
    [anon_sym_SEMI] = ACTIONS(2210),
    [anon_sym_STAR_STAR] = ACTIONS(2216),
    [anon_sym_AMP] = ACTIONS(2216),
    [anon_sym_EQ] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(2216),
    [anon_sym_if] = ACTIONS(2210),
    [anon_sym_unless] = ACTIONS(2210),
    [anon_sym_while] = ACTIONS(2210),
    [anon_sym_until] = ACTIONS(2210),
    [anon_sym_rescue] = ACTIONS(2210),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_when] = ACTIONS(2210),
    [anon_sym_elsif] = ACTIONS(2210),
    [anon_sym_else] = ACTIONS(2210),
    [anon_sym_then] = ACTIONS(2210),
    [anon_sym_ensure] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_PLUS_EQ] = ACTIONS(2210),
    [anon_sym_DASH_EQ] = ACTIONS(2210),
    [anon_sym_STAR_EQ] = ACTIONS(2210),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2210),
    [anon_sym_SLASH_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2210),
    [anon_sym_AMP_EQ] = ACTIONS(2210),
    [anon_sym_PERCENT_EQ] = ACTIONS(2210),
    [anon_sym_GT_GT_EQ] = ACTIONS(2210),
    [anon_sym_LT_LT_EQ] = ACTIONS(2210),
    [anon_sym_CARET_EQ] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(2210),
    [anon_sym_DOT_DOT] = ACTIONS(2216),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2210),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(2216),
    [anon_sym_AMP_AMP] = ACTIONS(2216),
    [anon_sym_LT_LT] = ACTIONS(2216),
    [anon_sym_GT_GT] = ACTIONS(2216),
    [anon_sym_EQ_EQ] = ACTIONS(2216),
    [anon_sym_BANG_EQ] = ACTIONS(2210),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2210),
    [anon_sym_LT_EQ_GT] = ACTIONS(2210),
    [anon_sym_EQ_TILDE] = ACTIONS(2210),
    [anon_sym_BANG_TILDE] = ACTIONS(2210),
    [anon_sym_LT_EQ] = ACTIONS(2216),
    [anon_sym_GT] = ACTIONS(2216),
    [anon_sym_GT_EQ] = ACTIONS(2210),
    [anon_sym_CARET] = ACTIONS(2216),
    [anon_sym_PLUS] = ACTIONS(2216),
    [anon_sym_SLASH] = ACTIONS(2216),
    [anon_sym_PERCENT] = ACTIONS(2216),
    [sym_comment] = ACTIONS(256),
  },
  [1439] = {
    [sym__simple_heredoc_body] = ACTIONS(3346),
    [sym__heredoc_body_beginning] = ACTIONS(3346),
    [sym__line_break] = ACTIONS(3346),
    [sym__element_reference_left_bracket] = ACTIONS(3346),
    [sym__scope_double_colon] = ACTIONS(3346),
    [sym__binary_minus] = ACTIONS(3346),
    [sym__binary_star] = ACTIONS(3346),
    [ts_builtin_sym_end] = ACTIONS(3346),
    [anon_sym___END__] = ACTIONS(3346),
    [anon_sym_LBRACE] = ACTIONS(3346),
    [anon_sym_RBRACE] = ACTIONS(3346),
    [anon_sym_RPAREN] = ACTIONS(3346),
    [anon_sym_DOT] = ACTIONS(3350),
    [anon_sym_end] = ACTIONS(3346),
    [anon_sym_COMMA] = ACTIONS(3346),
    [anon_sym_PIPE] = ACTIONS(3350),
    [anon_sym_SEMI] = ACTIONS(3346),
    [anon_sym_STAR_STAR] = ACTIONS(3350),
    [anon_sym_AMP] = ACTIONS(3350),
    [anon_sym_EQ] = ACTIONS(3350),
    [anon_sym_LT] = ACTIONS(3350),
    [anon_sym_if] = ACTIONS(3346),
    [anon_sym_unless] = ACTIONS(3346),
    [anon_sym_while] = ACTIONS(3346),
    [anon_sym_until] = ACTIONS(3346),
    [anon_sym_rescue] = ACTIONS(3346),
    [anon_sym_do] = ACTIONS(3346),
    [anon_sym_when] = ACTIONS(3346),
    [anon_sym_elsif] = ACTIONS(3346),
    [anon_sym_else] = ACTIONS(3346),
    [anon_sym_then] = ACTIONS(3346),
    [anon_sym_ensure] = ACTIONS(3346),
    [anon_sym_EQ_GT] = ACTIONS(3346),
    [anon_sym_AMP_DOT] = ACTIONS(3346),
    [anon_sym_PLUS_EQ] = ACTIONS(3346),
    [anon_sym_DASH_EQ] = ACTIONS(3346),
    [anon_sym_STAR_EQ] = ACTIONS(3346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3346),
    [anon_sym_SLASH_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3346),
    [anon_sym_AMP_EQ] = ACTIONS(3346),
    [anon_sym_PERCENT_EQ] = ACTIONS(3346),
    [anon_sym_GT_GT_EQ] = ACTIONS(3346),
    [anon_sym_LT_LT_EQ] = ACTIONS(3346),
    [anon_sym_CARET_EQ] = ACTIONS(3346),
    [anon_sym_QMARK] = ACTIONS(3346),
    [anon_sym_DOT_DOT] = ACTIONS(3350),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3346),
    [anon_sym_and] = ACTIONS(3346),
    [anon_sym_or] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE] = ACTIONS(3350),
    [anon_sym_AMP_AMP] = ACTIONS(3350),
    [anon_sym_LT_LT] = ACTIONS(3350),
    [anon_sym_GT_GT] = ACTIONS(3350),
    [anon_sym_EQ_EQ] = ACTIONS(3350),
    [anon_sym_BANG_EQ] = ACTIONS(3346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3346),
    [anon_sym_LT_EQ_GT] = ACTIONS(3346),
    [anon_sym_EQ_TILDE] = ACTIONS(3346),
    [anon_sym_BANG_TILDE] = ACTIONS(3346),
    [anon_sym_LT_EQ] = ACTIONS(3350),
    [anon_sym_GT] = ACTIONS(3350),
    [anon_sym_GT_EQ] = ACTIONS(3346),
    [anon_sym_CARET] = ACTIONS(3350),
    [anon_sym_PLUS] = ACTIONS(3350),
    [anon_sym_SLASH] = ACTIONS(3350),
    [anon_sym_PERCENT] = ACTIONS(3350),
    [sym_comment] = ACTIONS(256),
  },
  [1440] = {
    [sym__keyword_colon] = ACTIONS(5466),
    [sym_comment] = ACTIONS(110),
  },
  [1441] = {
    [sym_string] = STATE(2203),
    [aux_sym_chained_string_repeat1] = STATE(2204),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(5456),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [ts_builtin_sym_end] = ACTIONS(250),
    [anon_sym___END__] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(3266),
  },
  [1442] = {
    [sym__simple_heredoc_body] = ACTIONS(1398),
    [sym__heredoc_body_beginning] = ACTIONS(1398),
    [sym__line_break] = ACTIONS(1398),
    [sym__element_reference_left_bracket] = ACTIONS(1398),
    [sym__scope_double_colon] = ACTIONS(1398),
    [sym__binary_minus] = ACTIONS(1398),
    [sym__binary_star] = ACTIONS(1398),
    [ts_builtin_sym_end] = ACTIONS(1398),
    [anon_sym___END__] = ACTIONS(1398),
    [anon_sym_LBRACE] = ACTIONS(1398),
    [anon_sym_RBRACE] = ACTIONS(1398),
    [anon_sym_RPAREN] = ACTIONS(1398),
    [anon_sym_DOT] = ACTIONS(2666),
    [anon_sym_end] = ACTIONS(1398),
    [anon_sym_COMMA] = ACTIONS(1398),
    [anon_sym_PIPE] = ACTIONS(2666),
    [anon_sym_SEMI] = ACTIONS(1398),
    [anon_sym_STAR_STAR] = ACTIONS(1398),
    [anon_sym_AMP] = ACTIONS(2666),
    [anon_sym_LT] = ACTIONS(2666),
    [anon_sym_if] = ACTIONS(1398),
    [anon_sym_unless] = ACTIONS(1398),
    [anon_sym_while] = ACTIONS(1398),
    [anon_sym_until] = ACTIONS(1398),
    [anon_sym_rescue] = ACTIONS(1398),
    [anon_sym_do] = ACTIONS(1398),
    [anon_sym_when] = ACTIONS(1398),
    [anon_sym_elsif] = ACTIONS(1398),
    [anon_sym_else] = ACTIONS(1398),
    [anon_sym_then] = ACTIONS(1398),
    [anon_sym_ensure] = ACTIONS(1398),
    [anon_sym_EQ_GT] = ACTIONS(1398),
    [anon_sym_AMP_DOT] = ACTIONS(1398),
    [anon_sym_QMARK] = ACTIONS(1398),
    [anon_sym_DOT_DOT] = ACTIONS(2666),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1398),
    [anon_sym_and] = ACTIONS(1398),
    [anon_sym_or] = ACTIONS(1398),
    [anon_sym_PIPE_PIPE] = ACTIONS(1398),
    [anon_sym_AMP_AMP] = ACTIONS(1398),
    [anon_sym_LT_LT] = ACTIONS(1398),
    [anon_sym_GT_GT] = ACTIONS(1398),
    [anon_sym_EQ_EQ] = ACTIONS(2666),
    [anon_sym_BANG_EQ] = ACTIONS(1398),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1398),
    [anon_sym_LT_EQ_GT] = ACTIONS(1398),
    [anon_sym_EQ_TILDE] = ACTIONS(1398),
    [anon_sym_BANG_TILDE] = ACTIONS(1398),
    [anon_sym_LT_EQ] = ACTIONS(2666),
    [anon_sym_GT] = ACTIONS(2666),
    [anon_sym_GT_EQ] = ACTIONS(1398),
    [anon_sym_CARET] = ACTIONS(1398),
    [anon_sym_PLUS] = ACTIONS(1398),
    [anon_sym_SLASH] = ACTIONS(1398),
    [anon_sym_PERCENT] = ACTIONS(1398),
    [sym_comment] = ACTIONS(110),
  },
  [1443] = {
    [sym__statement] = STATE(3775),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [aux_sym_heredoc_end_repeat1] = STATE(3776),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [1444] = {
    [sym__simple_heredoc_body] = ACTIONS(5468),
    [sym__heredoc_body_beginning] = ACTIONS(5468),
    [sym__line_break] = ACTIONS(5468),
    [sym__element_reference_left_bracket] = ACTIONS(5468),
    [sym__scope_double_colon] = ACTIONS(5468),
    [sym__binary_minus] = ACTIONS(5468),
    [sym__binary_star] = ACTIONS(5468),
    [ts_builtin_sym_end] = ACTIONS(5468),
    [anon_sym___END__] = ACTIONS(5468),
    [anon_sym_LBRACE] = ACTIONS(5468),
    [anon_sym_RBRACE] = ACTIONS(5468),
    [anon_sym_RPAREN] = ACTIONS(5468),
    [anon_sym_DOT] = ACTIONS(5470),
    [anon_sym_end] = ACTIONS(5468),
    [anon_sym_COMMA] = ACTIONS(5468),
    [anon_sym_PIPE] = ACTIONS(5470),
    [anon_sym_SEMI] = ACTIONS(5468),
    [anon_sym_STAR_STAR] = ACTIONS(5468),
    [anon_sym_AMP] = ACTIONS(5470),
    [anon_sym_LT] = ACTIONS(5470),
    [anon_sym_if] = ACTIONS(5468),
    [anon_sym_unless] = ACTIONS(5468),
    [anon_sym_while] = ACTIONS(5468),
    [anon_sym_until] = ACTIONS(5468),
    [anon_sym_rescue] = ACTIONS(5468),
    [anon_sym_do] = ACTIONS(5468),
    [anon_sym_when] = ACTIONS(5468),
    [anon_sym_elsif] = ACTIONS(5468),
    [anon_sym_else] = ACTIONS(5468),
    [anon_sym_then] = ACTIONS(5468),
    [anon_sym_ensure] = ACTIONS(5468),
    [anon_sym_EQ_GT] = ACTIONS(5468),
    [anon_sym_AMP_DOT] = ACTIONS(5468),
    [anon_sym_QMARK] = ACTIONS(5468),
    [anon_sym_DOT_DOT] = ACTIONS(5470),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5468),
    [anon_sym_and] = ACTIONS(5468),
    [anon_sym_or] = ACTIONS(5468),
    [anon_sym_PIPE_PIPE] = ACTIONS(5468),
    [anon_sym_AMP_AMP] = ACTIONS(5468),
    [anon_sym_LT_LT] = ACTIONS(5468),
    [anon_sym_GT_GT] = ACTIONS(5468),
    [anon_sym_EQ_EQ] = ACTIONS(5470),
    [anon_sym_BANG_EQ] = ACTIONS(5468),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5468),
    [anon_sym_LT_EQ_GT] = ACTIONS(5468),
    [anon_sym_EQ_TILDE] = ACTIONS(5468),
    [anon_sym_BANG_TILDE] = ACTIONS(5468),
    [anon_sym_LT_EQ] = ACTIONS(5470),
    [anon_sym_GT] = ACTIONS(5470),
    [anon_sym_GT_EQ] = ACTIONS(5468),
    [anon_sym_CARET] = ACTIONS(5468),
    [anon_sym_PLUS] = ACTIONS(5468),
    [anon_sym_SLASH] = ACTIONS(5468),
    [anon_sym_PERCENT] = ACTIONS(5468),
    [sym_comment] = ACTIONS(110),
  },
  [1445] = {
    [sym_heredoc_end] = STATE(3777),
    [sym__simple_heredoc_body] = ACTIONS(2268),
    [sym__heredoc_body_beginning] = ACTIONS(2270),
    [sym__line_break] = ACTIONS(5472),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [ts_builtin_sym_end] = ACTIONS(5472),
    [anon_sym___END__] = ACTIONS(5472),
    [anon_sym_LBRACE] = ACTIONS(5472),
    [anon_sym_RBRACE] = ACTIONS(5472),
    [anon_sym_RPAREN] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_end] = ACTIONS(5472),
    [anon_sym_COMMA] = ACTIONS(5472),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_SEMI] = ACTIONS(5472),
    [anon_sym_STAR_STAR] = ACTIONS(5472),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_if] = ACTIONS(5472),
    [anon_sym_unless] = ACTIONS(5472),
    [anon_sym_while] = ACTIONS(5472),
    [anon_sym_until] = ACTIONS(5472),
    [anon_sym_rescue] = ACTIONS(5472),
    [anon_sym_do] = ACTIONS(5472),
    [anon_sym_when] = ACTIONS(5472),
    [anon_sym_elsif] = ACTIONS(5472),
    [anon_sym_else] = ACTIONS(5472),
    [anon_sym_then] = ACTIONS(5472),
    [anon_sym_ensure] = ACTIONS(5472),
    [anon_sym_EQ_GT] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5472),
    [anon_sym_AMP_AMP] = ACTIONS(5472),
    [anon_sym_LT_LT] = ACTIONS(5472),
    [anon_sym_GT_GT] = ACTIONS(5472),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5472),
    [anon_sym_PLUS] = ACTIONS(5472),
    [anon_sym_SLASH] = ACTIONS(5472),
    [anon_sym_PERCENT] = ACTIONS(5472),
    [sym_comment] = ACTIONS(110),
  },
  [1446] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(336),
    [sym__primary] = STATE(337),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(339),
    [sym_call] = STATE(339),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(3780),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(345),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(346),
    [sym__variable] = STATE(339),
    [sym_reserved_identifier] = STATE(347),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(348),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(3781),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__block_ampersand] = ACTIONS(536),
    [sym__splat_star] = ACTIONS(538),
    [sym__unary_minus] = ACTIONS(542),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(5480),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(554),
    [anon_sym_yield] = ACTIONS(556),
    [anon_sym_break] = ACTIONS(558),
    [anon_sym_next] = ACTIONS(560),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2190),
    [anon_sym_defined_QMARK] = ACTIONS(572),
    [anon_sym_not] = ACTIONS(574),
    [anon_sym_BANG] = ACTIONS(578),
    [anon_sym_TILDE] = ACTIONS(578),
    [sym_constant] = ACTIONS(580),
    [sym_identifier] = ACTIONS(580),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(588),
    [anon_sym_super] = ACTIONS(590),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1447] = {
    [sym_heredoc_end] = STATE(1444),
    [aux_sym_argument_list_repeat2] = STATE(3783),
    [sym__simple_heredoc_body] = ACTIONS(2268),
    [sym__heredoc_body_beginning] = ACTIONS(2270),
    [sym__line_break] = ACTIONS(5472),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [ts_builtin_sym_end] = ACTIONS(5472),
    [anon_sym___END__] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(5482),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_SEMI] = ACTIONS(5472),
    [anon_sym_STAR_STAR] = ACTIONS(5472),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_if] = ACTIONS(5472),
    [anon_sym_unless] = ACTIONS(5472),
    [anon_sym_while] = ACTIONS(5472),
    [anon_sym_until] = ACTIONS(5472),
    [anon_sym_rescue] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5472),
    [anon_sym_AMP_AMP] = ACTIONS(5472),
    [anon_sym_LT_LT] = ACTIONS(5472),
    [anon_sym_GT_GT] = ACTIONS(5472),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5472),
    [anon_sym_PLUS] = ACTIONS(5472),
    [anon_sym_SLASH] = ACTIONS(5472),
    [anon_sym_PERCENT] = ACTIONS(5472),
    [sym_comment] = ACTIONS(110),
  },
  [1448] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3784),
    [sym__primary] = STATE(337),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(339),
    [sym_call] = STATE(339),
    [sym_method_call] = STATE(338),
    [sym_splat_argument] = STATE(3785),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_right_assignment_list] = STATE(3786),
    [sym__arg_or_splat_arg] = STATE(3787),
    [sym_left_assignment_list] = STATE(345),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(346),
    [sym__variable] = STATE(339),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(2204),
    [sym__unary_minus] = ACTIONS(542),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2182),
    [anon_sym_yield] = ACTIONS(2184),
    [anon_sym_break] = ACTIONS(2186),
    [anon_sym_next] = ACTIONS(2188),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2190),
    [anon_sym_defined_QMARK] = ACTIONS(572),
    [anon_sym_not] = ACTIONS(2192),
    [anon_sym_BANG] = ACTIONS(578),
    [anon_sym_TILDE] = ACTIONS(578),
    [sym_constant] = ACTIONS(2194),
    [sym_identifier] = ACTIONS(2194),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2196),
    [anon_sym_super] = ACTIONS(2198),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1449] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3788),
    [sym__primary] = STATE(337),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(339),
    [sym_call] = STATE(339),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(345),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(346),
    [sym__variable] = STATE(339),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(542),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2182),
    [anon_sym_yield] = ACTIONS(2184),
    [anon_sym_break] = ACTIONS(2186),
    [anon_sym_next] = ACTIONS(2188),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2190),
    [anon_sym_defined_QMARK] = ACTIONS(572),
    [anon_sym_not] = ACTIONS(2192),
    [anon_sym_BANG] = ACTIONS(578),
    [anon_sym_TILDE] = ACTIONS(578),
    [sym_constant] = ACTIONS(2194),
    [sym_identifier] = ACTIONS(2194),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2196),
    [anon_sym_super] = ACTIONS(2198),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1450] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3789),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1365),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1366),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2144),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2146),
    [anon_sym_defined_QMARK] = ACTIONS(2148),
    [anon_sym_not] = ACTIONS(2150),
    [anon_sym_BANG] = ACTIONS(2152),
    [anon_sym_TILDE] = ACTIONS(2152),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1451] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(2346),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_if] = ACTIONS(1372),
    [anon_sym_unless] = ACTIONS(1372),
    [anon_sym_while] = ACTIONS(1372),
    [anon_sym_until] = ACTIONS(1372),
    [anon_sym_rescue] = ACTIONS(1372),
    [anon_sym_then] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [1452] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3794),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3795),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3796),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5484),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5486),
    [anon_sym_defined_QMARK] = ACTIONS(5488),
    [anon_sym_not] = ACTIONS(5490),
    [anon_sym_BANG] = ACTIONS(5492),
    [anon_sym_TILDE] = ACTIONS(5492),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1453] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3797),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3795),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3796),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5484),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5486),
    [anon_sym_defined_QMARK] = ACTIONS(5488),
    [anon_sym_not] = ACTIONS(5490),
    [anon_sym_BANG] = ACTIONS(5492),
    [anon_sym_TILDE] = ACTIONS(5492),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1454] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3802),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1466),
    [sym_call] = STATE(1466),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1468),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1469),
    [sym__variable] = STATE(1466),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2302),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5494),
    [anon_sym_yield] = ACTIONS(5496),
    [anon_sym_break] = ACTIONS(5498),
    [anon_sym_next] = ACTIONS(5500),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5502),
    [anon_sym_defined_QMARK] = ACTIONS(2312),
    [anon_sym_not] = ACTIONS(5504),
    [anon_sym_BANG] = ACTIONS(2318),
    [anon_sym_TILDE] = ACTIONS(2318),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1455] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3803),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3795),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3796),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5484),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5486),
    [anon_sym_defined_QMARK] = ACTIONS(5488),
    [anon_sym_not] = ACTIONS(5490),
    [anon_sym_BANG] = ACTIONS(5492),
    [anon_sym_TILDE] = ACTIONS(5492),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1456] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3808),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1466),
    [sym_call] = STATE(1466),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(340),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(3809),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1468),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1469),
    [sym__variable] = STATE(1466),
    [sym_reserved_identifier] = STATE(3810),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(3811),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(5506),
    [sym__splat_star] = ACTIONS(5508),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2302),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2304),
    [anon_sym_yield] = ACTIONS(2306),
    [anon_sym_break] = ACTIONS(2308),
    [anon_sym_next] = ACTIONS(2310),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(544),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(2312),
    [anon_sym_not] = ACTIONS(2314),
    [anon_sym_BANG] = ACTIONS(2316),
    [anon_sym_TILDE] = ACTIONS(2318),
    [sym_constant] = ACTIONS(5510),
    [sym_identifier] = ACTIONS(5510),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1457] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3808),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1466),
    [sym_call] = STATE(1466),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(349),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(3809),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1468),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1469),
    [sym__variable] = STATE(1466),
    [sym_reserved_identifier] = STATE(3810),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(3811),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(5506),
    [sym__splat_star] = ACTIONS(5508),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2302),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2304),
    [anon_sym_yield] = ACTIONS(2306),
    [anon_sym_break] = ACTIONS(2308),
    [anon_sym_next] = ACTIONS(2310),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(604),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(2312),
    [anon_sym_not] = ACTIONS(2314),
    [anon_sym_BANG] = ACTIONS(2316),
    [anon_sym_TILDE] = ACTIONS(2318),
    [sym_constant] = ACTIONS(5510),
    [sym_identifier] = ACTIONS(5510),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1458] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3808),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1466),
    [sym_call] = STATE(1466),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(350),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(3809),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1468),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1469),
    [sym__variable] = STATE(1466),
    [sym_reserved_identifier] = STATE(3810),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(3811),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(5506),
    [sym__splat_star] = ACTIONS(5508),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2302),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2304),
    [anon_sym_yield] = ACTIONS(2306),
    [anon_sym_break] = ACTIONS(2308),
    [anon_sym_next] = ACTIONS(2310),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(608),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(2312),
    [anon_sym_not] = ACTIONS(2314),
    [anon_sym_BANG] = ACTIONS(2316),
    [anon_sym_TILDE] = ACTIONS(2318),
    [sym_constant] = ACTIONS(5510),
    [sym_identifier] = ACTIONS(5510),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1459] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3808),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1466),
    [sym_call] = STATE(1466),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(351),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(3809),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1468),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1469),
    [sym__variable] = STATE(1466),
    [sym_reserved_identifier] = STATE(3810),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(3811),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(5506),
    [sym__splat_star] = ACTIONS(5508),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2302),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2304),
    [anon_sym_yield] = ACTIONS(2306),
    [anon_sym_break] = ACTIONS(2308),
    [anon_sym_next] = ACTIONS(2310),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(612),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(2312),
    [anon_sym_not] = ACTIONS(2314),
    [anon_sym_BANG] = ACTIONS(2316),
    [anon_sym_TILDE] = ACTIONS(2318),
    [sym_constant] = ACTIONS(5510),
    [sym_identifier] = ACTIONS(5510),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1460] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3812),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1466),
    [sym_call] = STATE(1466),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1468),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1469),
    [sym__variable] = STATE(1466),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2302),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5494),
    [anon_sym_yield] = ACTIONS(5496),
    [anon_sym_break] = ACTIONS(5498),
    [anon_sym_next] = ACTIONS(5500),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5502),
    [anon_sym_defined_QMARK] = ACTIONS(2312),
    [anon_sym_not] = ACTIONS(5504),
    [anon_sym_BANG] = ACTIONS(2318),
    [anon_sym_TILDE] = ACTIONS(2318),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1461] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3813),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1466),
    [sym_call] = STATE(1466),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1468),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1469),
    [sym__variable] = STATE(1466),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2302),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5494),
    [anon_sym_yield] = ACTIONS(5496),
    [anon_sym_break] = ACTIONS(5498),
    [anon_sym_next] = ACTIONS(5500),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5502),
    [anon_sym_defined_QMARK] = ACTIONS(2312),
    [anon_sym_not] = ACTIONS(5504),
    [anon_sym_BANG] = ACTIONS(2318),
    [anon_sym_TILDE] = ACTIONS(2318),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1462] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3813),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1466),
    [sym_call] = STATE(1466),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1468),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1469),
    [sym__variable] = STATE(1466),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2302),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5494),
    [anon_sym_yield] = ACTIONS(5496),
    [anon_sym_break] = ACTIONS(5498),
    [anon_sym_next] = ACTIONS(5500),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5502),
    [anon_sym_defined_QMARK] = ACTIONS(2312),
    [anon_sym_not] = ACTIONS(5504),
    [anon_sym_BANG] = ACTIONS(2318),
    [anon_sym_TILDE] = ACTIONS(2318),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1463] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1410),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1466),
    [sym_call] = STATE(1466),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1468),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1469),
    [sym__variable] = STATE(1466),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2302),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5494),
    [anon_sym_yield] = ACTIONS(5496),
    [anon_sym_break] = ACTIONS(5498),
    [anon_sym_next] = ACTIONS(5500),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5502),
    [anon_sym_defined_QMARK] = ACTIONS(2312),
    [anon_sym_not] = ACTIONS(5504),
    [anon_sym_BANG] = ACTIONS(2318),
    [anon_sym_TILDE] = ACTIONS(2318),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1464] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(5512),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [1465] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__line_break] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(5514),
    [sym__binary_star] = ACTIONS(5516),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(5518),
    [anon_sym_SEMI] = ACTIONS(2210),
    [anon_sym_STAR_STAR] = ACTIONS(5520),
    [anon_sym_AMP] = ACTIONS(5522),
    [anon_sym_LT] = ACTIONS(5524),
    [anon_sym_if] = ACTIONS(2210),
    [anon_sym_unless] = ACTIONS(2210),
    [anon_sym_while] = ACTIONS(2210),
    [anon_sym_until] = ACTIONS(2210),
    [anon_sym_rescue] = ACTIONS(2210),
    [anon_sym_then] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(5512),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(5526),
    [anon_sym_DOT_DOT] = ACTIONS(5528),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5530),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(5532),
    [anon_sym_AMP_AMP] = ACTIONS(5532),
    [anon_sym_LT_LT] = ACTIONS(5534),
    [anon_sym_GT_GT] = ACTIONS(5534),
    [anon_sym_EQ_EQ] = ACTIONS(5536),
    [anon_sym_BANG_EQ] = ACTIONS(5532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5532),
    [anon_sym_LT_EQ_GT] = ACTIONS(5532),
    [anon_sym_EQ_TILDE] = ACTIONS(5532),
    [anon_sym_BANG_TILDE] = ACTIONS(5532),
    [anon_sym_LT_EQ] = ACTIONS(5524),
    [anon_sym_GT] = ACTIONS(5524),
    [anon_sym_GT_EQ] = ACTIONS(5538),
    [anon_sym_CARET] = ACTIONS(5540),
    [anon_sym_PLUS] = ACTIONS(5542),
    [anon_sym_SLASH] = ACTIONS(5520),
    [anon_sym_PERCENT] = ACTIONS(5520),
    [sym_comment] = ACTIONS(110),
  },
  [1466] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(3831),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1511),
    [sym_call] = STATE(1511),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(1435),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(3832),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_do_block] = STATE(1439),
    [sym_block] = STATE(1439),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1513),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1514),
    [sym__variable] = STATE(1511),
    [sym_reserved_identifier] = STATE(3833),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(3834),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(5544),
    [sym__splat_star] = ACTIONS(5546),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(2376),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(2258),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2378),
    [anon_sym_yield] = ACTIONS(2380),
    [anon_sym_break] = ACTIONS(2382),
    [anon_sym_next] = ACTIONS(2384),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(982),
    [anon_sym_unless] = ACTIONS(982),
    [anon_sym_while] = ACTIONS(982),
    [anon_sym_until] = ACTIONS(982),
    [anon_sym_rescue] = ACTIONS(982),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(2260),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(982),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(980),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(2386),
    [anon_sym_not] = ACTIONS(2388),
    [anon_sym_BANG] = ACTIONS(2390),
    [anon_sym_TILDE] = ACTIONS(2392),
    [sym_constant] = ACTIONS(5548),
    [sym_identifier] = ACTIONS(5548),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1467] = {
    [sym_heredoc_end] = STATE(1444),
    [aux_sym_argument_list_repeat1] = STATE(3836),
    [aux_sym_argument_list_repeat2] = STATE(1445),
    [sym__simple_heredoc_body] = ACTIONS(2268),
    [sym__heredoc_body_beginning] = ACTIONS(2270),
    [sym__line_break] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(5550),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_STAR_STAR] = ACTIONS(2272),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_if] = ACTIONS(2272),
    [anon_sym_unless] = ACTIONS(2272),
    [anon_sym_while] = ACTIONS(2272),
    [anon_sym_until] = ACTIONS(2272),
    [anon_sym_rescue] = ACTIONS(2272),
    [anon_sym_then] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2272),
    [anon_sym_AMP_AMP] = ACTIONS(2272),
    [anon_sym_LT_LT] = ACTIONS(2272),
    [anon_sym_GT_GT] = ACTIONS(2272),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2272),
    [anon_sym_PLUS] = ACTIONS(2272),
    [anon_sym_SLASH] = ACTIONS(2272),
    [anon_sym_PERCENT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(110),
  },
  [1468] = {
    [anon_sym_EQ] = ACTIONS(5552),
    [sym_comment] = ACTIONS(256),
  },
  [1469] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(5554),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_then] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(5556),
    [anon_sym_DASH_EQ] = ACTIONS(5556),
    [anon_sym_STAR_EQ] = ACTIONS(5556),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5556),
    [anon_sym_SLASH_EQ] = ACTIONS(5556),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5556),
    [anon_sym_PIPE_EQ] = ACTIONS(5556),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5556),
    [anon_sym_AMP_EQ] = ACTIONS(5556),
    [anon_sym_PERCENT_EQ] = ACTIONS(5556),
    [anon_sym_GT_GT_EQ] = ACTIONS(5556),
    [anon_sym_LT_LT_EQ] = ACTIONS(5556),
    [anon_sym_CARET_EQ] = ACTIONS(5556),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [1470] = {
    [sym__keyword_colon] = ACTIONS(5558),
    [sym_comment] = ACTIONS(110),
  },
  [1471] = {
    [sym_string] = STATE(611),
    [aux_sym_chained_string_repeat1] = STATE(612),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(20),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(5512),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_then] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(120),
  },
  [1472] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(2346),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_then] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [1473] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2340),
    [sym__binary_star] = ACTIONS(2342),
    [anon_sym_PIPE] = ACTIONS(2344),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(2346),
    [anon_sym_AMP] = ACTIONS(2348),
    [anon_sym_LT] = ACTIONS(2350),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_then] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2352),
    [anon_sym_DOT_DOT] = ACTIONS(2354),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2356),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2360),
    [anon_sym_AMP_AMP] = ACTIONS(2360),
    [anon_sym_LT_LT] = ACTIONS(2362),
    [anon_sym_GT_GT] = ACTIONS(2362),
    [anon_sym_EQ_EQ] = ACTIONS(2364),
    [anon_sym_BANG_EQ] = ACTIONS(2360),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2360),
    [anon_sym_LT_EQ_GT] = ACTIONS(2360),
    [anon_sym_EQ_TILDE] = ACTIONS(2360),
    [anon_sym_BANG_TILDE] = ACTIONS(2360),
    [anon_sym_LT_EQ] = ACTIONS(2350),
    [anon_sym_GT] = ACTIONS(2350),
    [anon_sym_GT_EQ] = ACTIONS(2366),
    [anon_sym_CARET] = ACTIONS(2368),
    [anon_sym_PLUS] = ACTIONS(2370),
    [anon_sym_SLASH] = ACTIONS(2346),
    [anon_sym_PERCENT] = ACTIONS(2346),
    [sym_comment] = ACTIONS(110),
  },
  [1474] = {
    [sym__simple_string] = ACTIONS(1398),
    [sym__simple_symbol] = ACTIONS(1398),
    [sym__simple_subshell] = ACTIONS(1398),
    [sym__simple_regex] = ACTIONS(1398),
    [sym__simple_word_list] = ACTIONS(1398),
    [sym__simple_heredoc_body] = ACTIONS(1398),
    [sym__string_beginning] = ACTIONS(1398),
    [sym__symbol_beginning] = ACTIONS(1398),
    [sym__subshell_beginning] = ACTIONS(1398),
    [sym__regex_beginning] = ACTIONS(1398),
    [sym__word_list_beginning] = ACTIONS(1398),
    [sym__heredoc_body_beginning] = ACTIONS(1398),
    [sym_heredoc_beginning] = ACTIONS(1398),
    [sym__line_break] = ACTIONS(1398),
    [sym__unary_minus] = ACTIONS(1398),
    [anon_sym_BEGIN] = ACTIONS(2666),
    [anon_sym_LBRACE] = ACTIONS(1398),
    [anon_sym_END] = ACTIONS(2666),
    [anon_sym_def] = ACTIONS(2666),
    [anon_sym_LPAREN] = ACTIONS(1398),
    [anon_sym_COLON_COLON] = ACTIONS(1398),
    [anon_sym_end] = ACTIONS(2666),
    [anon_sym_SEMI] = ACTIONS(1398),
    [anon_sym_STAR] = ACTIONS(1398),
    [anon_sym_class] = ACTIONS(2666),
    [anon_sym_module] = ACTIONS(2666),
    [anon_sym_return] = ACTIONS(2666),
    [anon_sym_yield] = ACTIONS(2666),
    [anon_sym_break] = ACTIONS(2666),
    [anon_sym_next] = ACTIONS(2666),
    [anon_sym_redo] = ACTIONS(2666),
    [anon_sym_retry] = ACTIONS(2666),
    [anon_sym_if] = ACTIONS(2666),
    [anon_sym_unless] = ACTIONS(2666),
    [anon_sym_while] = ACTIONS(2666),
    [anon_sym_until] = ACTIONS(2666),
    [anon_sym_for] = ACTIONS(2666),
    [anon_sym_case] = ACTIONS(2666),
    [anon_sym_elsif] = ACTIONS(2666),
    [anon_sym_else] = ACTIONS(2666),
    [anon_sym_then] = ACTIONS(2666),
    [anon_sym_begin] = ACTIONS(2666),
    [anon_sym_PLUS] = ACTIONS(2666),
    [anon_sym_defined_QMARK] = ACTIONS(1398),
    [anon_sym_not] = ACTIONS(2666),
    [anon_sym_BANG] = ACTIONS(1398),
    [anon_sym_TILDE] = ACTIONS(1398),
    [sym_constant] = ACTIONS(2668),
    [sym_identifier] = ACTIONS(2668),
    [sym_instance_variable] = ACTIONS(2666),
    [sym_class_variable] = ACTIONS(2666),
    [sym_global_variable] = ACTIONS(2666),
    [anon_sym_alias] = ACTIONS(2666),
    [anon_sym_false] = ACTIONS(2666),
    [anon_sym_nil] = ACTIONS(2666),
    [anon_sym_self] = ACTIONS(2666),
    [anon_sym_super] = ACTIONS(2666),
    [anon_sym_true] = ACTIONS(2666),
    [anon_sym_undef] = ACTIONS(2666),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(2666),
    [sym_float] = ACTIONS(2668),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1398),
    [anon_sym_TRUE] = ACTIONS(2666),
    [anon_sym_FALSE] = ACTIONS(2666),
    [anon_sym_NIL] = ACTIONS(2666),
    [sym_keyword__FILE__] = ACTIONS(2666),
    [sym_keyword__LINE__] = ACTIONS(2666),
    [sym_keyword__ENCODING__] = ACTIONS(2666),
    [sym__character_literal] = ACTIONS(2666),
    [anon_sym_LBRACK] = ACTIONS(1398),
    [anon_sym_DASH_GT] = ACTIONS(1398),
  },
  [1475] = {
    [sym__statement] = STATE(3840),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [aux_sym_heredoc_end_repeat1] = STATE(3841),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [1476] = {
    [sym__simple_string] = ACTIONS(2552),
    [sym__simple_symbol] = ACTIONS(2552),
    [sym__simple_subshell] = ACTIONS(2552),
    [sym__simple_regex] = ACTIONS(2552),
    [sym__simple_word_list] = ACTIONS(2552),
    [sym__simple_heredoc_body] = ACTIONS(2552),
    [sym__string_beginning] = ACTIONS(2552),
    [sym__symbol_beginning] = ACTIONS(2552),
    [sym__subshell_beginning] = ACTIONS(2552),
    [sym__regex_beginning] = ACTIONS(2552),
    [sym__word_list_beginning] = ACTIONS(2552),
    [sym__heredoc_body_beginning] = ACTIONS(2552),
    [sym_heredoc_beginning] = ACTIONS(2552),
    [sym__line_break] = ACTIONS(2552),
    [sym__unary_minus] = ACTIONS(2552),
    [anon_sym_BEGIN] = ACTIONS(2670),
    [anon_sym_LBRACE] = ACTIONS(2552),
    [anon_sym_END] = ACTIONS(2670),
    [anon_sym_def] = ACTIONS(2670),
    [anon_sym_LPAREN] = ACTIONS(2552),
    [anon_sym_COLON_COLON] = ACTIONS(2552),
    [anon_sym_end] = ACTIONS(2670),
    [anon_sym_SEMI] = ACTIONS(2552),
    [anon_sym_STAR] = ACTIONS(2552),
    [anon_sym_class] = ACTIONS(2670),
    [anon_sym_module] = ACTIONS(2670),
    [anon_sym_return] = ACTIONS(2670),
    [anon_sym_yield] = ACTIONS(2670),
    [anon_sym_break] = ACTIONS(2670),
    [anon_sym_next] = ACTIONS(2670),
    [anon_sym_redo] = ACTIONS(2670),
    [anon_sym_retry] = ACTIONS(2670),
    [anon_sym_if] = ACTIONS(2670),
    [anon_sym_unless] = ACTIONS(2670),
    [anon_sym_while] = ACTIONS(2670),
    [anon_sym_until] = ACTIONS(2670),
    [anon_sym_for] = ACTIONS(2670),
    [anon_sym_case] = ACTIONS(2670),
    [anon_sym_elsif] = ACTIONS(2670),
    [anon_sym_else] = ACTIONS(2670),
    [anon_sym_then] = ACTIONS(2670),
    [anon_sym_begin] = ACTIONS(2670),
    [anon_sym_PLUS] = ACTIONS(2670),
    [anon_sym_defined_QMARK] = ACTIONS(2552),
    [anon_sym_not] = ACTIONS(2670),
    [anon_sym_BANG] = ACTIONS(2552),
    [anon_sym_TILDE] = ACTIONS(2552),
    [sym_constant] = ACTIONS(2672),
    [sym_identifier] = ACTIONS(2672),
    [sym_instance_variable] = ACTIONS(2670),
    [sym_class_variable] = ACTIONS(2670),
    [sym_global_variable] = ACTIONS(2670),
    [anon_sym_alias] = ACTIONS(2670),
    [anon_sym_false] = ACTIONS(2670),
    [anon_sym_nil] = ACTIONS(2670),
    [anon_sym_self] = ACTIONS(2670),
    [anon_sym_super] = ACTIONS(2670),
    [anon_sym_true] = ACTIONS(2670),
    [anon_sym_undef] = ACTIONS(2670),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(2670),
    [sym_float] = ACTIONS(2672),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(2552),
    [anon_sym_TRUE] = ACTIONS(2670),
    [anon_sym_FALSE] = ACTIONS(2670),
    [anon_sym_NIL] = ACTIONS(2670),
    [sym_keyword__FILE__] = ACTIONS(2670),
    [sym_keyword__LINE__] = ACTIONS(2670),
    [sym_keyword__ENCODING__] = ACTIONS(2670),
    [sym__character_literal] = ACTIONS(2670),
    [anon_sym_LBRACK] = ACTIONS(2552),
    [anon_sym_DASH_GT] = ACTIONS(2552),
  },
  [1477] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3842),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1478] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3843),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1479] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3844),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1480] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3845),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1481] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3846),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1482] = {
    [sym__simple_string] = ACTIONS(5560),
    [sym__simple_symbol] = ACTIONS(5560),
    [sym__simple_subshell] = ACTIONS(5560),
    [sym__simple_regex] = ACTIONS(5560),
    [sym__simple_word_list] = ACTIONS(5560),
    [sym__simple_heredoc_body] = ACTIONS(5560),
    [sym__string_beginning] = ACTIONS(5560),
    [sym__symbol_beginning] = ACTIONS(5560),
    [sym__subshell_beginning] = ACTIONS(5560),
    [sym__regex_beginning] = ACTIONS(5560),
    [sym__word_list_beginning] = ACTIONS(5560),
    [sym__heredoc_body_beginning] = ACTIONS(5560),
    [sym_heredoc_beginning] = ACTIONS(5560),
    [sym__line_break] = ACTIONS(5560),
    [sym__unary_minus] = ACTIONS(5560),
    [anon_sym_BEGIN] = ACTIONS(5562),
    [anon_sym_LBRACE] = ACTIONS(5560),
    [anon_sym_END] = ACTIONS(5562),
    [anon_sym_def] = ACTIONS(5562),
    [anon_sym_LPAREN] = ACTIONS(5560),
    [anon_sym_COLON_COLON] = ACTIONS(5560),
    [anon_sym_end] = ACTIONS(5562),
    [anon_sym_SEMI] = ACTIONS(5560),
    [anon_sym_STAR] = ACTIONS(5560),
    [anon_sym_class] = ACTIONS(5562),
    [anon_sym_module] = ACTIONS(5562),
    [anon_sym_return] = ACTIONS(5562),
    [anon_sym_yield] = ACTIONS(5562),
    [anon_sym_break] = ACTIONS(5562),
    [anon_sym_next] = ACTIONS(5562),
    [anon_sym_redo] = ACTIONS(5562),
    [anon_sym_retry] = ACTIONS(5562),
    [anon_sym_if] = ACTIONS(5562),
    [anon_sym_unless] = ACTIONS(5562),
    [anon_sym_while] = ACTIONS(5562),
    [anon_sym_until] = ACTIONS(5562),
    [anon_sym_for] = ACTIONS(5562),
    [anon_sym_case] = ACTIONS(5562),
    [anon_sym_elsif] = ACTIONS(5562),
    [anon_sym_else] = ACTIONS(5562),
    [anon_sym_begin] = ACTIONS(5562),
    [anon_sym_PLUS] = ACTIONS(5562),
    [anon_sym_defined_QMARK] = ACTIONS(5560),
    [anon_sym_not] = ACTIONS(5562),
    [anon_sym_BANG] = ACTIONS(5560),
    [anon_sym_TILDE] = ACTIONS(5560),
    [sym_constant] = ACTIONS(5564),
    [sym_identifier] = ACTIONS(5564),
    [sym_instance_variable] = ACTIONS(5562),
    [sym_class_variable] = ACTIONS(5562),
    [sym_global_variable] = ACTIONS(5562),
    [anon_sym_alias] = ACTIONS(5562),
    [anon_sym_false] = ACTIONS(5562),
    [anon_sym_nil] = ACTIONS(5562),
    [anon_sym_self] = ACTIONS(5562),
    [anon_sym_super] = ACTIONS(5562),
    [anon_sym_true] = ACTIONS(5562),
    [anon_sym_undef] = ACTIONS(5562),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5562),
    [sym_float] = ACTIONS(5564),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5560),
    [anon_sym_TRUE] = ACTIONS(5562),
    [anon_sym_FALSE] = ACTIONS(5562),
    [anon_sym_NIL] = ACTIONS(5562),
    [sym_keyword__FILE__] = ACTIONS(5562),
    [sym_keyword__LINE__] = ACTIONS(5562),
    [sym_keyword__ENCODING__] = ACTIONS(5562),
    [sym__character_literal] = ACTIONS(5562),
    [anon_sym_LBRACK] = ACTIONS(5560),
    [anon_sym_DASH_GT] = ACTIONS(5560),
  },
  [1483] = {
    [sym__statements] = STATE(3862),
    [sym__top_level_statement] = STATE(3863),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(3864),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_elsif] = STATE(3865),
    [sym_else] = STATE(3865),
    [sym__if_tail] = STATE(3866),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3867),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3869),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3870),
    [sym__variable] = STATE(3868),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(3849),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(3871),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(5566),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(5568),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(5570),
    [sym__unary_minus] = ACTIONS(5572),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(5574),
    [anon_sym_SEMI] = ACTIONS(5576),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_elsif] = ACTIONS(5586),
    [anon_sym_else] = ACTIONS(5588),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5590),
    [anon_sym_defined_QMARK] = ACTIONS(5592),
    [anon_sym_not] = ACTIONS(5594),
    [anon_sym_BANG] = ACTIONS(5596),
    [anon_sym_TILDE] = ACTIONS(5596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1484] = {
    [sym__simple_string] = ACTIONS(5560),
    [sym__simple_symbol] = ACTIONS(5560),
    [sym__simple_subshell] = ACTIONS(5560),
    [sym__simple_regex] = ACTIONS(5560),
    [sym__simple_word_list] = ACTIONS(5560),
    [sym__simple_heredoc_body] = ACTIONS(5560),
    [sym__string_beginning] = ACTIONS(5560),
    [sym__symbol_beginning] = ACTIONS(5560),
    [sym__subshell_beginning] = ACTIONS(5560),
    [sym__regex_beginning] = ACTIONS(5560),
    [sym__word_list_beginning] = ACTIONS(5560),
    [sym__heredoc_body_beginning] = ACTIONS(5560),
    [sym_heredoc_beginning] = ACTIONS(5560),
    [sym__line_break] = ACTIONS(5560),
    [sym__unary_minus] = ACTIONS(5560),
    [anon_sym_BEGIN] = ACTIONS(5562),
    [anon_sym_LBRACE] = ACTIONS(5560),
    [anon_sym_END] = ACTIONS(5562),
    [anon_sym_def] = ACTIONS(5562),
    [anon_sym_LPAREN] = ACTIONS(5560),
    [anon_sym_COLON_COLON] = ACTIONS(5560),
    [anon_sym_end] = ACTIONS(5562),
    [anon_sym_SEMI] = ACTIONS(5560),
    [anon_sym_STAR] = ACTIONS(5560),
    [anon_sym_class] = ACTIONS(5562),
    [anon_sym_module] = ACTIONS(5562),
    [anon_sym_return] = ACTIONS(5562),
    [anon_sym_yield] = ACTIONS(5562),
    [anon_sym_break] = ACTIONS(5562),
    [anon_sym_next] = ACTIONS(5562),
    [anon_sym_redo] = ACTIONS(5562),
    [anon_sym_retry] = ACTIONS(5562),
    [anon_sym_if] = ACTIONS(5562),
    [anon_sym_unless] = ACTIONS(5562),
    [anon_sym_while] = ACTIONS(5562),
    [anon_sym_until] = ACTIONS(5562),
    [anon_sym_for] = ACTIONS(5562),
    [anon_sym_case] = ACTIONS(5562),
    [anon_sym_elsif] = ACTIONS(5562),
    [anon_sym_else] = ACTIONS(5562),
    [anon_sym_then] = ACTIONS(5598),
    [anon_sym_begin] = ACTIONS(5562),
    [anon_sym_PLUS] = ACTIONS(5562),
    [anon_sym_defined_QMARK] = ACTIONS(5560),
    [anon_sym_not] = ACTIONS(5562),
    [anon_sym_BANG] = ACTIONS(5560),
    [anon_sym_TILDE] = ACTIONS(5560),
    [sym_constant] = ACTIONS(5564),
    [sym_identifier] = ACTIONS(5564),
    [sym_instance_variable] = ACTIONS(5562),
    [sym_class_variable] = ACTIONS(5562),
    [sym_global_variable] = ACTIONS(5562),
    [anon_sym_alias] = ACTIONS(5562),
    [anon_sym_false] = ACTIONS(5562),
    [anon_sym_nil] = ACTIONS(5562),
    [anon_sym_self] = ACTIONS(5562),
    [anon_sym_super] = ACTIONS(5562),
    [anon_sym_true] = ACTIONS(5562),
    [anon_sym_undef] = ACTIONS(5562),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5562),
    [sym_float] = ACTIONS(5564),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5560),
    [anon_sym_TRUE] = ACTIONS(5562),
    [anon_sym_FALSE] = ACTIONS(5562),
    [anon_sym_NIL] = ACTIONS(5562),
    [sym_keyword__FILE__] = ACTIONS(5562),
    [sym_keyword__LINE__] = ACTIONS(5562),
    [sym_keyword__ENCODING__] = ACTIONS(5562),
    [sym__character_literal] = ACTIONS(5562),
    [anon_sym_LBRACK] = ACTIONS(5560),
    [anon_sym_DASH_GT] = ACTIONS(5560),
  },
  [1485] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3873),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1486] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3874),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1487] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3875),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1488] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3876),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1489] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3877),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1490] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3878),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1491] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(3879),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [1492] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3880),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1493] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3881),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1494] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3882),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1495] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3883),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1496] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3884),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1497] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(3893),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3894),
    [sym_call] = STATE(3894),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(3895),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3896),
    [sym__variable] = STATE(3894),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(5600),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(5602),
    [anon_sym_yield] = ACTIONS(5604),
    [anon_sym_break] = ACTIONS(5606),
    [anon_sym_next] = ACTIONS(5608),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(5610),
    [anon_sym_defined_QMARK] = ACTIONS(5612),
    [anon_sym_not] = ACTIONS(5614),
    [anon_sym_BANG] = ACTIONS(5616),
    [anon_sym_TILDE] = ACTIONS(5616),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [1498] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(3897),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3894),
    [sym_call] = STATE(3894),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(3895),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3896),
    [sym__variable] = STATE(3894),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(5600),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(5602),
    [anon_sym_yield] = ACTIONS(5604),
    [anon_sym_break] = ACTIONS(5606),
    [anon_sym_next] = ACTIONS(5608),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(5610),
    [anon_sym_defined_QMARK] = ACTIONS(5612),
    [anon_sym_not] = ACTIONS(5614),
    [anon_sym_BANG] = ACTIONS(5616),
    [anon_sym_TILDE] = ACTIONS(5616),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [1499] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(3902),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1511),
    [sym_call] = STATE(1511),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1513),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1514),
    [sym__variable] = STATE(1511),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2376),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(5618),
    [anon_sym_yield] = ACTIONS(5620),
    [anon_sym_break] = ACTIONS(5622),
    [anon_sym_next] = ACTIONS(5624),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(5626),
    [anon_sym_defined_QMARK] = ACTIONS(2386),
    [anon_sym_not] = ACTIONS(5628),
    [anon_sym_BANG] = ACTIONS(2392),
    [anon_sym_TILDE] = ACTIONS(2392),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1500] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(3903),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3894),
    [sym_call] = STATE(3894),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(3895),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3896),
    [sym__variable] = STATE(3894),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(5600),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(5602),
    [anon_sym_yield] = ACTIONS(5604),
    [anon_sym_break] = ACTIONS(5606),
    [anon_sym_next] = ACTIONS(5608),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(5610),
    [anon_sym_defined_QMARK] = ACTIONS(5612),
    [anon_sym_not] = ACTIONS(5614),
    [anon_sym_BANG] = ACTIONS(5616),
    [anon_sym_TILDE] = ACTIONS(5616),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [1501] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(3831),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1511),
    [sym_call] = STATE(1511),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2147),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(3832),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1513),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1514),
    [sym__variable] = STATE(1511),
    [sym_reserved_identifier] = STATE(3833),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(3834),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(5544),
    [sym__splat_star] = ACTIONS(5546),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2376),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(544),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2378),
    [anon_sym_yield] = ACTIONS(2380),
    [anon_sym_break] = ACTIONS(2382),
    [anon_sym_next] = ACTIONS(2384),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(544),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_PLUS_EQ] = ACTIONS(532),
    [anon_sym_DASH_EQ] = ACTIONS(532),
    [anon_sym_STAR_EQ] = ACTIONS(532),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(532),
    [anon_sym_SLASH_EQ] = ACTIONS(532),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(532),
    [anon_sym_PIPE_EQ] = ACTIONS(532),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(532),
    [anon_sym_AMP_EQ] = ACTIONS(532),
    [anon_sym_PERCENT_EQ] = ACTIONS(532),
    [anon_sym_GT_GT_EQ] = ACTIONS(532),
    [anon_sym_LT_LT_EQ] = ACTIONS(532),
    [anon_sym_CARET_EQ] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(544),
    [anon_sym_AMP_AMP] = ACTIONS(544),
    [anon_sym_LT_LT] = ACTIONS(544),
    [anon_sym_GT_GT] = ACTIONS(544),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(544),
    [anon_sym_PERCENT] = ACTIONS(544),
    [anon_sym_defined_QMARK] = ACTIONS(2386),
    [anon_sym_not] = ACTIONS(2388),
    [anon_sym_BANG] = ACTIONS(2390),
    [anon_sym_TILDE] = ACTIONS(2392),
    [sym_constant] = ACTIONS(5548),
    [sym_identifier] = ACTIONS(5548),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1502] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(3831),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1511),
    [sym_call] = STATE(1511),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2148),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(3832),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1513),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1514),
    [sym__variable] = STATE(1511),
    [sym_reserved_identifier] = STATE(3833),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(3834),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(5544),
    [sym__splat_star] = ACTIONS(5546),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2376),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(604),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2378),
    [anon_sym_yield] = ACTIONS(2380),
    [anon_sym_break] = ACTIONS(2382),
    [anon_sym_next] = ACTIONS(2384),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(604),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_PLUS_EQ] = ACTIONS(602),
    [anon_sym_DASH_EQ] = ACTIONS(602),
    [anon_sym_STAR_EQ] = ACTIONS(602),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(602),
    [anon_sym_SLASH_EQ] = ACTIONS(602),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(602),
    [anon_sym_PIPE_EQ] = ACTIONS(602),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(602),
    [anon_sym_AMP_EQ] = ACTIONS(602),
    [anon_sym_PERCENT_EQ] = ACTIONS(602),
    [anon_sym_GT_GT_EQ] = ACTIONS(602),
    [anon_sym_LT_LT_EQ] = ACTIONS(602),
    [anon_sym_CARET_EQ] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(604),
    [anon_sym_AMP_AMP] = ACTIONS(604),
    [anon_sym_LT_LT] = ACTIONS(604),
    [anon_sym_GT_GT] = ACTIONS(604),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(604),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(604),
    [anon_sym_PERCENT] = ACTIONS(604),
    [anon_sym_defined_QMARK] = ACTIONS(2386),
    [anon_sym_not] = ACTIONS(2388),
    [anon_sym_BANG] = ACTIONS(2390),
    [anon_sym_TILDE] = ACTIONS(2392),
    [sym_constant] = ACTIONS(5548),
    [sym_identifier] = ACTIONS(5548),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1503] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(3831),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1511),
    [sym_call] = STATE(1511),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2149),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(3832),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1513),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1514),
    [sym__variable] = STATE(1511),
    [sym_reserved_identifier] = STATE(3833),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(3834),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(5544),
    [sym__splat_star] = ACTIONS(5546),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2376),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(608),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2378),
    [anon_sym_yield] = ACTIONS(2380),
    [anon_sym_break] = ACTIONS(2382),
    [anon_sym_next] = ACTIONS(2384),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(608),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_PLUS_EQ] = ACTIONS(606),
    [anon_sym_DASH_EQ] = ACTIONS(606),
    [anon_sym_STAR_EQ] = ACTIONS(606),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(606),
    [anon_sym_SLASH_EQ] = ACTIONS(606),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(606),
    [anon_sym_PIPE_EQ] = ACTIONS(606),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(606),
    [anon_sym_AMP_EQ] = ACTIONS(606),
    [anon_sym_PERCENT_EQ] = ACTIONS(606),
    [anon_sym_GT_GT_EQ] = ACTIONS(606),
    [anon_sym_LT_LT_EQ] = ACTIONS(606),
    [anon_sym_CARET_EQ] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(608),
    [anon_sym_AMP_AMP] = ACTIONS(608),
    [anon_sym_LT_LT] = ACTIONS(608),
    [anon_sym_GT_GT] = ACTIONS(608),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(608),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(608),
    [anon_sym_PERCENT] = ACTIONS(608),
    [anon_sym_defined_QMARK] = ACTIONS(2386),
    [anon_sym_not] = ACTIONS(2388),
    [anon_sym_BANG] = ACTIONS(2390),
    [anon_sym_TILDE] = ACTIONS(2392),
    [sym_constant] = ACTIONS(5548),
    [sym_identifier] = ACTIONS(5548),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1504] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(3831),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1511),
    [sym_call] = STATE(1511),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2150),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(3832),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1513),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1514),
    [sym__variable] = STATE(1511),
    [sym_reserved_identifier] = STATE(3833),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(3834),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(5544),
    [sym__splat_star] = ACTIONS(5546),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2376),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(612),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2378),
    [anon_sym_yield] = ACTIONS(2380),
    [anon_sym_break] = ACTIONS(2382),
    [anon_sym_next] = ACTIONS(2384),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(612),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_PLUS_EQ] = ACTIONS(610),
    [anon_sym_DASH_EQ] = ACTIONS(610),
    [anon_sym_STAR_EQ] = ACTIONS(610),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(610),
    [anon_sym_SLASH_EQ] = ACTIONS(610),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(610),
    [anon_sym_PIPE_EQ] = ACTIONS(610),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(610),
    [anon_sym_AMP_EQ] = ACTIONS(610),
    [anon_sym_PERCENT_EQ] = ACTIONS(610),
    [anon_sym_GT_GT_EQ] = ACTIONS(610),
    [anon_sym_LT_LT_EQ] = ACTIONS(610),
    [anon_sym_CARET_EQ] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(612),
    [anon_sym_AMP_AMP] = ACTIONS(612),
    [anon_sym_LT_LT] = ACTIONS(612),
    [anon_sym_GT_GT] = ACTIONS(612),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(612),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(612),
    [anon_sym_PERCENT] = ACTIONS(612),
    [anon_sym_defined_QMARK] = ACTIONS(2386),
    [anon_sym_not] = ACTIONS(2388),
    [anon_sym_BANG] = ACTIONS(2390),
    [anon_sym_TILDE] = ACTIONS(2392),
    [sym_constant] = ACTIONS(5548),
    [sym_identifier] = ACTIONS(5548),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1505] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(3904),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1511),
    [sym_call] = STATE(1511),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1513),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1514),
    [sym__variable] = STATE(1511),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2376),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(5618),
    [anon_sym_yield] = ACTIONS(5620),
    [anon_sym_break] = ACTIONS(5622),
    [anon_sym_next] = ACTIONS(5624),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(5626),
    [anon_sym_defined_QMARK] = ACTIONS(2386),
    [anon_sym_not] = ACTIONS(5628),
    [anon_sym_BANG] = ACTIONS(2392),
    [anon_sym_TILDE] = ACTIONS(2392),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1506] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(3905),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1511),
    [sym_call] = STATE(1511),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1513),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1514),
    [sym__variable] = STATE(1511),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2376),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(5618),
    [anon_sym_yield] = ACTIONS(5620),
    [anon_sym_break] = ACTIONS(5622),
    [anon_sym_next] = ACTIONS(5624),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(5626),
    [anon_sym_defined_QMARK] = ACTIONS(2386),
    [anon_sym_not] = ACTIONS(5628),
    [anon_sym_BANG] = ACTIONS(2392),
    [anon_sym_TILDE] = ACTIONS(2392),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1507] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(3905),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1511),
    [sym_call] = STATE(1511),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1513),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1514),
    [sym__variable] = STATE(1511),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2376),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(5618),
    [anon_sym_yield] = ACTIONS(5620),
    [anon_sym_break] = ACTIONS(5622),
    [anon_sym_next] = ACTIONS(5624),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(5626),
    [anon_sym_defined_QMARK] = ACTIONS(2386),
    [anon_sym_not] = ACTIONS(5628),
    [anon_sym_BANG] = ACTIONS(2392),
    [anon_sym_TILDE] = ACTIONS(2392),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1508] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(2168),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1511),
    [sym_call] = STATE(1511),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1513),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1514),
    [sym__variable] = STATE(1511),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2376),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(5618),
    [anon_sym_yield] = ACTIONS(5620),
    [anon_sym_break] = ACTIONS(5622),
    [anon_sym_next] = ACTIONS(5624),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(5626),
    [anon_sym_defined_QMARK] = ACTIONS(2386),
    [anon_sym_not] = ACTIONS(5628),
    [anon_sym_BANG] = ACTIONS(2392),
    [anon_sym_TILDE] = ACTIONS(2392),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1509] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(5630),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [1510] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__line_break] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(5632),
    [sym__binary_star] = ACTIONS(5634),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(5636),
    [anon_sym_SEMI] = ACTIONS(2210),
    [anon_sym_STAR_STAR] = ACTIONS(5638),
    [anon_sym_AMP] = ACTIONS(5640),
    [anon_sym_EQ] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(5642),
    [anon_sym_if] = ACTIONS(2210),
    [anon_sym_unless] = ACTIONS(2210),
    [anon_sym_while] = ACTIONS(2210),
    [anon_sym_until] = ACTIONS(2210),
    [anon_sym_rescue] = ACTIONS(2210),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_then] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(5630),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_PLUS_EQ] = ACTIONS(2210),
    [anon_sym_DASH_EQ] = ACTIONS(2210),
    [anon_sym_STAR_EQ] = ACTIONS(2210),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2210),
    [anon_sym_SLASH_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2210),
    [anon_sym_AMP_EQ] = ACTIONS(2210),
    [anon_sym_PERCENT_EQ] = ACTIONS(2210),
    [anon_sym_GT_GT_EQ] = ACTIONS(2210),
    [anon_sym_LT_LT_EQ] = ACTIONS(2210),
    [anon_sym_CARET_EQ] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(5644),
    [anon_sym_DOT_DOT] = ACTIONS(5646),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5648),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(5650),
    [anon_sym_AMP_AMP] = ACTIONS(5650),
    [anon_sym_LT_LT] = ACTIONS(5652),
    [anon_sym_GT_GT] = ACTIONS(5652),
    [anon_sym_EQ_EQ] = ACTIONS(5650),
    [anon_sym_BANG_EQ] = ACTIONS(5654),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5654),
    [anon_sym_LT_EQ_GT] = ACTIONS(5654),
    [anon_sym_EQ_TILDE] = ACTIONS(5654),
    [anon_sym_BANG_TILDE] = ACTIONS(5654),
    [anon_sym_LT_EQ] = ACTIONS(5642),
    [anon_sym_GT] = ACTIONS(5642),
    [anon_sym_GT_EQ] = ACTIONS(5656),
    [anon_sym_CARET] = ACTIONS(5636),
    [anon_sym_PLUS] = ACTIONS(5658),
    [anon_sym_SLASH] = ACTIONS(5638),
    [anon_sym_PERCENT] = ACTIONS(5638),
    [sym_comment] = ACTIONS(256),
  },
  [1511] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(3831),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1511),
    [sym_call] = STATE(1511),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2190),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(3832),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_do_block] = STATE(1439),
    [sym_block] = STATE(1439),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1513),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1514),
    [sym__variable] = STATE(1511),
    [sym_reserved_identifier] = STATE(3833),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(3834),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(5544),
    [sym__splat_star] = ACTIONS(5546),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(2376),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(2258),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2378),
    [anon_sym_yield] = ACTIONS(2380),
    [anon_sym_break] = ACTIONS(2382),
    [anon_sym_next] = ACTIONS(2384),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(982),
    [anon_sym_unless] = ACTIONS(982),
    [anon_sym_while] = ACTIONS(982),
    [anon_sym_until] = ACTIONS(982),
    [anon_sym_rescue] = ACTIONS(982),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(982),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(982),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(980),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(2386),
    [anon_sym_not] = ACTIONS(2388),
    [anon_sym_BANG] = ACTIONS(2390),
    [anon_sym_TILDE] = ACTIONS(2392),
    [sym_constant] = ACTIONS(5548),
    [sym_identifier] = ACTIONS(5548),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1512] = {
    [sym_heredoc_end] = STATE(2196),
    [aux_sym_argument_list_repeat1] = STATE(3920),
    [aux_sym_argument_list_repeat2] = STATE(2197),
    [sym__simple_heredoc_body] = ACTIONS(3354),
    [sym__heredoc_body_beginning] = ACTIONS(3356),
    [sym__line_break] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(5660),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_STAR_STAR] = ACTIONS(2274),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_EQ] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_if] = ACTIONS(2272),
    [anon_sym_unless] = ACTIONS(2272),
    [anon_sym_while] = ACTIONS(2272),
    [anon_sym_until] = ACTIONS(2272),
    [anon_sym_rescue] = ACTIONS(2272),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_then] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_PLUS_EQ] = ACTIONS(2272),
    [anon_sym_DASH_EQ] = ACTIONS(2272),
    [anon_sym_STAR_EQ] = ACTIONS(2272),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2272),
    [anon_sym_SLASH_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2272),
    [anon_sym_AMP_EQ] = ACTIONS(2272),
    [anon_sym_PERCENT_EQ] = ACTIONS(2272),
    [anon_sym_GT_GT_EQ] = ACTIONS(2272),
    [anon_sym_LT_LT_EQ] = ACTIONS(2272),
    [anon_sym_CARET_EQ] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2274),
    [anon_sym_AMP_AMP] = ACTIONS(2274),
    [anon_sym_LT_LT] = ACTIONS(2274),
    [anon_sym_GT_GT] = ACTIONS(2274),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2274),
    [anon_sym_PLUS] = ACTIONS(2274),
    [anon_sym_SLASH] = ACTIONS(2274),
    [anon_sym_PERCENT] = ACTIONS(2274),
    [sym_comment] = ACTIONS(256),
  },
  [1513] = {
    [anon_sym_EQ] = ACTIONS(5662),
    [sym_comment] = ACTIONS(256),
  },
  [1514] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(5664),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_then] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(5666),
    [anon_sym_DASH_EQ] = ACTIONS(5666),
    [anon_sym_STAR_EQ] = ACTIONS(5666),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5666),
    [anon_sym_SLASH_EQ] = ACTIONS(5666),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5666),
    [anon_sym_PIPE_EQ] = ACTIONS(5666),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5666),
    [anon_sym_AMP_EQ] = ACTIONS(5666),
    [anon_sym_PERCENT_EQ] = ACTIONS(5666),
    [anon_sym_GT_GT_EQ] = ACTIONS(5666),
    [anon_sym_LT_LT_EQ] = ACTIONS(5666),
    [anon_sym_CARET_EQ] = ACTIONS(5666),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [1515] = {
    [sym__keyword_colon] = ACTIONS(5668),
    [sym_comment] = ACTIONS(110),
  },
  [1516] = {
    [sym_string] = STATE(2203),
    [aux_sym_chained_string_repeat1] = STATE(2204),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(5630),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_then] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(3266),
  },
  [1517] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3929),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_splat_argument] = STATE(2211),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_right_assignment_list] = STATE(2212),
    [sym__arg_or_splat_arg] = STATE(3930),
    [sym_left_assignment_list] = STATE(3931),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3932),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(5670),
    [sym__unary_minus] = ACTIONS(5672),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5674),
    [anon_sym_defined_QMARK] = ACTIONS(5676),
    [anon_sym_not] = ACTIONS(5678),
    [anon_sym_BANG] = ACTIONS(5680),
    [anon_sym_TILDE] = ACTIONS(5680),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1518] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3933),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1519] = {
    [sym__simple_string] = ACTIONS(1398),
    [sym__simple_symbol] = ACTIONS(1398),
    [sym__simple_subshell] = ACTIONS(1398),
    [sym__simple_regex] = ACTIONS(1398),
    [sym__simple_word_list] = ACTIONS(1398),
    [sym__string_beginning] = ACTIONS(1398),
    [sym__symbol_beginning] = ACTIONS(1398),
    [sym__subshell_beginning] = ACTIONS(1398),
    [sym__regex_beginning] = ACTIONS(1398),
    [sym__word_list_beginning] = ACTIONS(1398),
    [sym_heredoc_beginning] = ACTIONS(1398),
    [sym__unary_minus] = ACTIONS(1398),
    [anon_sym_BEGIN] = ACTIONS(2666),
    [anon_sym_LBRACE] = ACTIONS(1398),
    [anon_sym_END] = ACTIONS(2666),
    [anon_sym_def] = ACTIONS(2666),
    [anon_sym_LPAREN] = ACTIONS(1398),
    [anon_sym_COLON_COLON] = ACTIONS(1398),
    [anon_sym_end] = ACTIONS(2666),
    [anon_sym_SEMI] = ACTIONS(1398),
    [anon_sym_STAR] = ACTIONS(1398),
    [anon_sym_class] = ACTIONS(2666),
    [anon_sym_module] = ACTIONS(2666),
    [anon_sym_return] = ACTIONS(2666),
    [anon_sym_yield] = ACTIONS(2666),
    [anon_sym_break] = ACTIONS(2666),
    [anon_sym_next] = ACTIONS(2666),
    [anon_sym_redo] = ACTIONS(2666),
    [anon_sym_retry] = ACTIONS(2666),
    [anon_sym_if] = ACTIONS(2666),
    [anon_sym_unless] = ACTIONS(2666),
    [anon_sym_while] = ACTIONS(2666),
    [anon_sym_until] = ACTIONS(2666),
    [anon_sym_for] = ACTIONS(2666),
    [anon_sym_case] = ACTIONS(2666),
    [anon_sym_else] = ACTIONS(2666),
    [anon_sym_then] = ACTIONS(2666),
    [anon_sym_begin] = ACTIONS(2666),
    [anon_sym_PLUS] = ACTIONS(2666),
    [anon_sym_defined_QMARK] = ACTIONS(1398),
    [anon_sym_not] = ACTIONS(2666),
    [anon_sym_BANG] = ACTIONS(1398),
    [anon_sym_TILDE] = ACTIONS(1398),
    [sym_constant] = ACTIONS(2668),
    [sym_identifier] = ACTIONS(2668),
    [sym_instance_variable] = ACTIONS(2666),
    [sym_class_variable] = ACTIONS(2666),
    [sym_global_variable] = ACTIONS(2666),
    [anon_sym_alias] = ACTIONS(2666),
    [anon_sym_false] = ACTIONS(2666),
    [anon_sym_nil] = ACTIONS(2666),
    [anon_sym_self] = ACTIONS(2666),
    [anon_sym_super] = ACTIONS(2666),
    [anon_sym_true] = ACTIONS(2666),
    [anon_sym_undef] = ACTIONS(2666),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(2666),
    [sym_float] = ACTIONS(2668),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1398),
    [anon_sym_TRUE] = ACTIONS(2666),
    [anon_sym_FALSE] = ACTIONS(2666),
    [anon_sym_NIL] = ACTIONS(2666),
    [sym_keyword__FILE__] = ACTIONS(2666),
    [sym_keyword__LINE__] = ACTIONS(2666),
    [sym_keyword__ENCODING__] = ACTIONS(2666),
    [sym__character_literal] = ACTIONS(2666),
    [anon_sym_LBRACK] = ACTIONS(1398),
    [anon_sym_DASH_GT] = ACTIONS(1398),
  },
  [1520] = {
    [sym__statement] = STATE(3934),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [aux_sym_heredoc_end_repeat1] = STATE(3935),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [1521] = {
    [sym__simple_string] = ACTIONS(2552),
    [sym__simple_symbol] = ACTIONS(2552),
    [sym__simple_subshell] = ACTIONS(2552),
    [sym__simple_regex] = ACTIONS(2552),
    [sym__simple_word_list] = ACTIONS(2552),
    [sym__string_beginning] = ACTIONS(2552),
    [sym__symbol_beginning] = ACTIONS(2552),
    [sym__subshell_beginning] = ACTIONS(2552),
    [sym__regex_beginning] = ACTIONS(2552),
    [sym__word_list_beginning] = ACTIONS(2552),
    [sym_heredoc_beginning] = ACTIONS(2552),
    [sym__unary_minus] = ACTIONS(2552),
    [anon_sym_BEGIN] = ACTIONS(2670),
    [anon_sym_LBRACE] = ACTIONS(2552),
    [anon_sym_END] = ACTIONS(2670),
    [anon_sym_def] = ACTIONS(2670),
    [anon_sym_LPAREN] = ACTIONS(2552),
    [anon_sym_COLON_COLON] = ACTIONS(2552),
    [anon_sym_end] = ACTIONS(2670),
    [anon_sym_SEMI] = ACTIONS(2552),
    [anon_sym_STAR] = ACTIONS(2552),
    [anon_sym_class] = ACTIONS(2670),
    [anon_sym_module] = ACTIONS(2670),
    [anon_sym_return] = ACTIONS(2670),
    [anon_sym_yield] = ACTIONS(2670),
    [anon_sym_break] = ACTIONS(2670),
    [anon_sym_next] = ACTIONS(2670),
    [anon_sym_redo] = ACTIONS(2670),
    [anon_sym_retry] = ACTIONS(2670),
    [anon_sym_if] = ACTIONS(2670),
    [anon_sym_unless] = ACTIONS(2670),
    [anon_sym_while] = ACTIONS(2670),
    [anon_sym_until] = ACTIONS(2670),
    [anon_sym_for] = ACTIONS(2670),
    [anon_sym_case] = ACTIONS(2670),
    [anon_sym_else] = ACTIONS(2670),
    [anon_sym_then] = ACTIONS(2670),
    [anon_sym_begin] = ACTIONS(2670),
    [anon_sym_PLUS] = ACTIONS(2670),
    [anon_sym_defined_QMARK] = ACTIONS(2552),
    [anon_sym_not] = ACTIONS(2670),
    [anon_sym_BANG] = ACTIONS(2552),
    [anon_sym_TILDE] = ACTIONS(2552),
    [sym_constant] = ACTIONS(2672),
    [sym_identifier] = ACTIONS(2672),
    [sym_instance_variable] = ACTIONS(2670),
    [sym_class_variable] = ACTIONS(2670),
    [sym_global_variable] = ACTIONS(2670),
    [anon_sym_alias] = ACTIONS(2670),
    [anon_sym_false] = ACTIONS(2670),
    [anon_sym_nil] = ACTIONS(2670),
    [anon_sym_self] = ACTIONS(2670),
    [anon_sym_super] = ACTIONS(2670),
    [anon_sym_true] = ACTIONS(2670),
    [anon_sym_undef] = ACTIONS(2670),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(2670),
    [sym_float] = ACTIONS(2672),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(2552),
    [anon_sym_TRUE] = ACTIONS(2670),
    [anon_sym_FALSE] = ACTIONS(2670),
    [anon_sym_NIL] = ACTIONS(2670),
    [sym_keyword__FILE__] = ACTIONS(2670),
    [sym_keyword__LINE__] = ACTIONS(2670),
    [sym_keyword__ENCODING__] = ACTIONS(2670),
    [sym__character_literal] = ACTIONS(2670),
    [anon_sym_LBRACK] = ACTIONS(2552),
    [anon_sym_DASH_GT] = ACTIONS(2552),
  },
  [1522] = {
    [sym__simple_string] = ACTIONS(5560),
    [sym__simple_symbol] = ACTIONS(5560),
    [sym__simple_subshell] = ACTIONS(5560),
    [sym__simple_regex] = ACTIONS(5560),
    [sym__simple_word_list] = ACTIONS(5560),
    [sym__string_beginning] = ACTIONS(5560),
    [sym__symbol_beginning] = ACTIONS(5560),
    [sym__subshell_beginning] = ACTIONS(5560),
    [sym__regex_beginning] = ACTIONS(5560),
    [sym__word_list_beginning] = ACTIONS(5560),
    [sym_heredoc_beginning] = ACTIONS(5560),
    [sym__unary_minus] = ACTIONS(5560),
    [anon_sym_BEGIN] = ACTIONS(5562),
    [anon_sym_LBRACE] = ACTIONS(5560),
    [anon_sym_END] = ACTIONS(5562),
    [anon_sym_def] = ACTIONS(5562),
    [anon_sym_LPAREN] = ACTIONS(5560),
    [anon_sym_COLON_COLON] = ACTIONS(5560),
    [anon_sym_end] = ACTIONS(5562),
    [anon_sym_SEMI] = ACTIONS(5560),
    [anon_sym_STAR] = ACTIONS(5560),
    [anon_sym_class] = ACTIONS(5562),
    [anon_sym_module] = ACTIONS(5562),
    [anon_sym_return] = ACTIONS(5562),
    [anon_sym_yield] = ACTIONS(5562),
    [anon_sym_break] = ACTIONS(5562),
    [anon_sym_next] = ACTIONS(5562),
    [anon_sym_redo] = ACTIONS(5562),
    [anon_sym_retry] = ACTIONS(5562),
    [anon_sym_if] = ACTIONS(5562),
    [anon_sym_unless] = ACTIONS(5562),
    [anon_sym_while] = ACTIONS(5562),
    [anon_sym_until] = ACTIONS(5562),
    [anon_sym_for] = ACTIONS(5562),
    [anon_sym_case] = ACTIONS(5562),
    [anon_sym_else] = ACTIONS(5562),
    [anon_sym_begin] = ACTIONS(5562),
    [anon_sym_PLUS] = ACTIONS(5562),
    [anon_sym_defined_QMARK] = ACTIONS(5560),
    [anon_sym_not] = ACTIONS(5562),
    [anon_sym_BANG] = ACTIONS(5560),
    [anon_sym_TILDE] = ACTIONS(5560),
    [sym_constant] = ACTIONS(5564),
    [sym_identifier] = ACTIONS(5564),
    [sym_instance_variable] = ACTIONS(5562),
    [sym_class_variable] = ACTIONS(5562),
    [sym_global_variable] = ACTIONS(5562),
    [anon_sym_alias] = ACTIONS(5562),
    [anon_sym_false] = ACTIONS(5562),
    [anon_sym_nil] = ACTIONS(5562),
    [anon_sym_self] = ACTIONS(5562),
    [anon_sym_super] = ACTIONS(5562),
    [anon_sym_true] = ACTIONS(5562),
    [anon_sym_undef] = ACTIONS(5562),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5562),
    [sym_float] = ACTIONS(5564),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5560),
    [anon_sym_TRUE] = ACTIONS(5562),
    [anon_sym_FALSE] = ACTIONS(5562),
    [anon_sym_NIL] = ACTIONS(5562),
    [sym_keyword__FILE__] = ACTIONS(5562),
    [sym_keyword__LINE__] = ACTIONS(5562),
    [sym_keyword__ENCODING__] = ACTIONS(5562),
    [sym__character_literal] = ACTIONS(5562),
    [anon_sym_LBRACK] = ACTIONS(5560),
    [anon_sym_DASH_GT] = ACTIONS(5560),
  },
  [1523] = {
    [sym__statements] = STATE(3945),
    [sym__top_level_statement] = STATE(3946),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(3947),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(3948),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3949),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3950),
    [sym_call] = STATE(3950),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3951),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3952),
    [sym__variable] = STATE(3950),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5682),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(5684),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5686),
    [anon_sym_yield] = ACTIONS(5688),
    [anon_sym_break] = ACTIONS(5690),
    [anon_sym_next] = ACTIONS(5692),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(5588),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5694),
    [anon_sym_defined_QMARK] = ACTIONS(5696),
    [anon_sym_not] = ACTIONS(5698),
    [anon_sym_BANG] = ACTIONS(5700),
    [anon_sym_TILDE] = ACTIONS(5700),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1524] = {
    [sym__simple_string] = ACTIONS(5560),
    [sym__simple_symbol] = ACTIONS(5560),
    [sym__simple_subshell] = ACTIONS(5560),
    [sym__simple_regex] = ACTIONS(5560),
    [sym__simple_word_list] = ACTIONS(5560),
    [sym__string_beginning] = ACTIONS(5560),
    [sym__symbol_beginning] = ACTIONS(5560),
    [sym__subshell_beginning] = ACTIONS(5560),
    [sym__regex_beginning] = ACTIONS(5560),
    [sym__word_list_beginning] = ACTIONS(5560),
    [sym_heredoc_beginning] = ACTIONS(5560),
    [sym__unary_minus] = ACTIONS(5560),
    [anon_sym_BEGIN] = ACTIONS(5562),
    [anon_sym_LBRACE] = ACTIONS(5560),
    [anon_sym_END] = ACTIONS(5562),
    [anon_sym_def] = ACTIONS(5562),
    [anon_sym_LPAREN] = ACTIONS(5560),
    [anon_sym_COLON_COLON] = ACTIONS(5560),
    [anon_sym_end] = ACTIONS(5562),
    [anon_sym_SEMI] = ACTIONS(5560),
    [anon_sym_STAR] = ACTIONS(5560),
    [anon_sym_class] = ACTIONS(5562),
    [anon_sym_module] = ACTIONS(5562),
    [anon_sym_return] = ACTIONS(5562),
    [anon_sym_yield] = ACTIONS(5562),
    [anon_sym_break] = ACTIONS(5562),
    [anon_sym_next] = ACTIONS(5562),
    [anon_sym_redo] = ACTIONS(5562),
    [anon_sym_retry] = ACTIONS(5562),
    [anon_sym_if] = ACTIONS(5562),
    [anon_sym_unless] = ACTIONS(5562),
    [anon_sym_while] = ACTIONS(5562),
    [anon_sym_until] = ACTIONS(5562),
    [anon_sym_for] = ACTIONS(5562),
    [anon_sym_case] = ACTIONS(5562),
    [anon_sym_else] = ACTIONS(5562),
    [anon_sym_then] = ACTIONS(5702),
    [anon_sym_begin] = ACTIONS(5562),
    [anon_sym_PLUS] = ACTIONS(5562),
    [anon_sym_defined_QMARK] = ACTIONS(5560),
    [anon_sym_not] = ACTIONS(5562),
    [anon_sym_BANG] = ACTIONS(5560),
    [anon_sym_TILDE] = ACTIONS(5560),
    [sym_constant] = ACTIONS(5564),
    [sym_identifier] = ACTIONS(5564),
    [sym_instance_variable] = ACTIONS(5562),
    [sym_class_variable] = ACTIONS(5562),
    [sym_global_variable] = ACTIONS(5562),
    [anon_sym_alias] = ACTIONS(5562),
    [anon_sym_false] = ACTIONS(5562),
    [anon_sym_nil] = ACTIONS(5562),
    [anon_sym_self] = ACTIONS(5562),
    [anon_sym_super] = ACTIONS(5562),
    [anon_sym_true] = ACTIONS(5562),
    [anon_sym_undef] = ACTIONS(5562),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5562),
    [sym_float] = ACTIONS(5564),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5560),
    [anon_sym_TRUE] = ACTIONS(5562),
    [anon_sym_FALSE] = ACTIONS(5562),
    [anon_sym_NIL] = ACTIONS(5562),
    [sym_keyword__FILE__] = ACTIONS(5562),
    [sym_keyword__LINE__] = ACTIONS(5562),
    [sym_keyword__ENCODING__] = ACTIONS(5562),
    [sym__character_literal] = ACTIONS(5562),
    [anon_sym_LBRACK] = ACTIONS(5560),
    [anon_sym_DASH_GT] = ACTIONS(5560),
  },
  [1525] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(2454),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_do] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [1526] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3958),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3959),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3960),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5704),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5706),
    [anon_sym_defined_QMARK] = ACTIONS(5708),
    [anon_sym_not] = ACTIONS(5710),
    [anon_sym_BANG] = ACTIONS(5712),
    [anon_sym_TILDE] = ACTIONS(5712),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1527] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3961),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3959),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3960),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5704),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5706),
    [anon_sym_defined_QMARK] = ACTIONS(5708),
    [anon_sym_not] = ACTIONS(5710),
    [anon_sym_BANG] = ACTIONS(5712),
    [anon_sym_TILDE] = ACTIONS(5712),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1528] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3966),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1542),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1543),
    [sym__variable] = STATE(1540),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2414),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5714),
    [anon_sym_yield] = ACTIONS(5716),
    [anon_sym_break] = ACTIONS(5718),
    [anon_sym_next] = ACTIONS(5720),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5722),
    [anon_sym_defined_QMARK] = ACTIONS(2432),
    [anon_sym_not] = ACTIONS(5724),
    [anon_sym_BANG] = ACTIONS(2438),
    [anon_sym_TILDE] = ACTIONS(2438),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1529] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3967),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3959),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3960),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5704),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5706),
    [anon_sym_defined_QMARK] = ACTIONS(5708),
    [anon_sym_not] = ACTIONS(5710),
    [anon_sym_BANG] = ACTIONS(5712),
    [anon_sym_TILDE] = ACTIONS(5712),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1530] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3972),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(340),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(3973),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1542),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1543),
    [sym__variable] = STATE(1540),
    [sym_reserved_identifier] = STATE(3974),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(3975),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(5726),
    [sym__splat_star] = ACTIONS(5728),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2414),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2416),
    [anon_sym_yield] = ACTIONS(2418),
    [anon_sym_break] = ACTIONS(2420),
    [anon_sym_next] = ACTIONS(2422),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(2432),
    [anon_sym_not] = ACTIONS(2434),
    [anon_sym_BANG] = ACTIONS(2436),
    [anon_sym_TILDE] = ACTIONS(2438),
    [sym_constant] = ACTIONS(5730),
    [sym_identifier] = ACTIONS(5730),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1531] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3972),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(349),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(3973),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1542),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1543),
    [sym__variable] = STATE(1540),
    [sym_reserved_identifier] = STATE(3974),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(3975),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(5726),
    [sym__splat_star] = ACTIONS(5728),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2414),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2416),
    [anon_sym_yield] = ACTIONS(2418),
    [anon_sym_break] = ACTIONS(2420),
    [anon_sym_next] = ACTIONS(2422),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(2432),
    [anon_sym_not] = ACTIONS(2434),
    [anon_sym_BANG] = ACTIONS(2436),
    [anon_sym_TILDE] = ACTIONS(2438),
    [sym_constant] = ACTIONS(5730),
    [sym_identifier] = ACTIONS(5730),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1532] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3972),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(350),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(3973),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1542),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1543),
    [sym__variable] = STATE(1540),
    [sym_reserved_identifier] = STATE(3974),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(3975),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(5726),
    [sym__splat_star] = ACTIONS(5728),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2414),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2416),
    [anon_sym_yield] = ACTIONS(2418),
    [anon_sym_break] = ACTIONS(2420),
    [anon_sym_next] = ACTIONS(2422),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(2432),
    [anon_sym_not] = ACTIONS(2434),
    [anon_sym_BANG] = ACTIONS(2436),
    [anon_sym_TILDE] = ACTIONS(2438),
    [sym_constant] = ACTIONS(5730),
    [sym_identifier] = ACTIONS(5730),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1533] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3972),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(351),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(3973),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1542),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1543),
    [sym__variable] = STATE(1540),
    [sym_reserved_identifier] = STATE(3974),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(3975),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(5726),
    [sym__splat_star] = ACTIONS(5728),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2414),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2416),
    [anon_sym_yield] = ACTIONS(2418),
    [anon_sym_break] = ACTIONS(2420),
    [anon_sym_next] = ACTIONS(2422),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(2432),
    [anon_sym_not] = ACTIONS(2434),
    [anon_sym_BANG] = ACTIONS(2436),
    [anon_sym_TILDE] = ACTIONS(2438),
    [sym_constant] = ACTIONS(5730),
    [sym_identifier] = ACTIONS(5730),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1534] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3976),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1542),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1543),
    [sym__variable] = STATE(1540),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2414),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5714),
    [anon_sym_yield] = ACTIONS(5716),
    [anon_sym_break] = ACTIONS(5718),
    [anon_sym_next] = ACTIONS(5720),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5722),
    [anon_sym_defined_QMARK] = ACTIONS(2432),
    [anon_sym_not] = ACTIONS(5724),
    [anon_sym_BANG] = ACTIONS(2438),
    [anon_sym_TILDE] = ACTIONS(2438),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1535] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3977),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1542),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1543),
    [sym__variable] = STATE(1540),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2414),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5714),
    [anon_sym_yield] = ACTIONS(5716),
    [anon_sym_break] = ACTIONS(5718),
    [anon_sym_next] = ACTIONS(5720),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5722),
    [anon_sym_defined_QMARK] = ACTIONS(2432),
    [anon_sym_not] = ACTIONS(5724),
    [anon_sym_BANG] = ACTIONS(2438),
    [anon_sym_TILDE] = ACTIONS(2438),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1536] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3977),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1542),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1543),
    [sym__variable] = STATE(1540),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2414),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5714),
    [anon_sym_yield] = ACTIONS(5716),
    [anon_sym_break] = ACTIONS(5718),
    [anon_sym_next] = ACTIONS(5720),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5722),
    [anon_sym_defined_QMARK] = ACTIONS(2432),
    [anon_sym_not] = ACTIONS(5724),
    [anon_sym_BANG] = ACTIONS(2438),
    [anon_sym_TILDE] = ACTIONS(2438),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1537] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1410),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1542),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1543),
    [sym__variable] = STATE(1540),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2414),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5714),
    [anon_sym_yield] = ACTIONS(5716),
    [anon_sym_break] = ACTIONS(5718),
    [anon_sym_next] = ACTIONS(5720),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5722),
    [anon_sym_defined_QMARK] = ACTIONS(2432),
    [anon_sym_not] = ACTIONS(5724),
    [anon_sym_BANG] = ACTIONS(2438),
    [anon_sym_TILDE] = ACTIONS(2438),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1538] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(5732),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [1539] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__line_break] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(5734),
    [sym__binary_star] = ACTIONS(5736),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(5738),
    [anon_sym_SEMI] = ACTIONS(2210),
    [anon_sym_STAR_STAR] = ACTIONS(5740),
    [anon_sym_AMP] = ACTIONS(5742),
    [anon_sym_LT] = ACTIONS(5744),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(5732),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(5746),
    [anon_sym_DOT_DOT] = ACTIONS(5748),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5750),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(5752),
    [anon_sym_AMP_AMP] = ACTIONS(5752),
    [anon_sym_LT_LT] = ACTIONS(5754),
    [anon_sym_GT_GT] = ACTIONS(5754),
    [anon_sym_EQ_EQ] = ACTIONS(5756),
    [anon_sym_BANG_EQ] = ACTIONS(5752),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5752),
    [anon_sym_LT_EQ_GT] = ACTIONS(5752),
    [anon_sym_EQ_TILDE] = ACTIONS(5752),
    [anon_sym_BANG_TILDE] = ACTIONS(5752),
    [anon_sym_LT_EQ] = ACTIONS(5744),
    [anon_sym_GT] = ACTIONS(5744),
    [anon_sym_GT_EQ] = ACTIONS(5758),
    [anon_sym_CARET] = ACTIONS(5760),
    [anon_sym_PLUS] = ACTIONS(5762),
    [anon_sym_SLASH] = ACTIONS(5740),
    [anon_sym_PERCENT] = ACTIONS(5740),
    [sym_comment] = ACTIONS(110),
  },
  [1540] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(3995),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2190),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(3996),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_do_block] = STATE(1439),
    [sym_block] = STATE(1439),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1581),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1582),
    [sym__variable] = STATE(1540),
    [sym_reserved_identifier] = STATE(3997),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(3998),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(5764),
    [sym__splat_star] = ACTIONS(5766),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(2486),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(2258),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2488),
    [anon_sym_yield] = ACTIONS(2490),
    [anon_sym_break] = ACTIONS(2492),
    [anon_sym_next] = ACTIONS(2494),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(982),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(980),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(2504),
    [anon_sym_not] = ACTIONS(2506),
    [anon_sym_BANG] = ACTIONS(2508),
    [anon_sym_TILDE] = ACTIONS(2510),
    [sym_constant] = ACTIONS(5768),
    [sym_identifier] = ACTIONS(5768),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1541] = {
    [sym_heredoc_end] = STATE(1444),
    [aux_sym_argument_list_repeat1] = STATE(4000),
    [aux_sym_argument_list_repeat2] = STATE(1445),
    [sym__simple_heredoc_body] = ACTIONS(2268),
    [sym__heredoc_body_beginning] = ACTIONS(2270),
    [sym__line_break] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(5770),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_STAR_STAR] = ACTIONS(2272),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2272),
    [anon_sym_AMP_AMP] = ACTIONS(2272),
    [anon_sym_LT_LT] = ACTIONS(2272),
    [anon_sym_GT_GT] = ACTIONS(2272),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2272),
    [anon_sym_PLUS] = ACTIONS(2272),
    [anon_sym_SLASH] = ACTIONS(2272),
    [anon_sym_PERCENT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(110),
  },
  [1542] = {
    [anon_sym_EQ] = ACTIONS(5772),
    [sym_comment] = ACTIONS(256),
  },
  [1543] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(5774),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(5776),
    [anon_sym_DASH_EQ] = ACTIONS(5776),
    [anon_sym_STAR_EQ] = ACTIONS(5776),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5776),
    [anon_sym_SLASH_EQ] = ACTIONS(5776),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5776),
    [anon_sym_PIPE_EQ] = ACTIONS(5776),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5776),
    [anon_sym_AMP_EQ] = ACTIONS(5776),
    [anon_sym_PERCENT_EQ] = ACTIONS(5776),
    [anon_sym_GT_GT_EQ] = ACTIONS(5776),
    [anon_sym_LT_LT_EQ] = ACTIONS(5776),
    [anon_sym_CARET_EQ] = ACTIONS(5776),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [1544] = {
    [sym__keyword_colon] = ACTIONS(5778),
    [sym_comment] = ACTIONS(110),
  },
  [1545] = {
    [sym_string] = STATE(611),
    [aux_sym_chained_string_repeat1] = STATE(612),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(20),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(5732),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(120),
  },
  [1546] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(2454),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [1547] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2448),
    [sym__binary_star] = ACTIONS(2450),
    [anon_sym_PIPE] = ACTIONS(2452),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(2454),
    [anon_sym_AMP] = ACTIONS(2456),
    [anon_sym_LT] = ACTIONS(2458),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2462),
    [anon_sym_DOT_DOT] = ACTIONS(2464),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2466),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2470),
    [anon_sym_AMP_AMP] = ACTIONS(2470),
    [anon_sym_LT_LT] = ACTIONS(2472),
    [anon_sym_GT_GT] = ACTIONS(2472),
    [anon_sym_EQ_EQ] = ACTIONS(2474),
    [anon_sym_BANG_EQ] = ACTIONS(2470),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2470),
    [anon_sym_LT_EQ_GT] = ACTIONS(2470),
    [anon_sym_EQ_TILDE] = ACTIONS(2470),
    [anon_sym_BANG_TILDE] = ACTIONS(2470),
    [anon_sym_LT_EQ] = ACTIONS(2458),
    [anon_sym_GT] = ACTIONS(2458),
    [anon_sym_GT_EQ] = ACTIONS(2476),
    [anon_sym_CARET] = ACTIONS(2478),
    [anon_sym_PLUS] = ACTIONS(2480),
    [anon_sym_SLASH] = ACTIONS(2454),
    [anon_sym_PERCENT] = ACTIONS(2454),
    [sym_comment] = ACTIONS(110),
  },
  [1548] = {
    [sym__simple_string] = ACTIONS(1398),
    [sym__simple_symbol] = ACTIONS(1398),
    [sym__simple_subshell] = ACTIONS(1398),
    [sym__simple_regex] = ACTIONS(1398),
    [sym__simple_word_list] = ACTIONS(1398),
    [sym__string_beginning] = ACTIONS(1398),
    [sym__symbol_beginning] = ACTIONS(1398),
    [sym__subshell_beginning] = ACTIONS(1398),
    [sym__regex_beginning] = ACTIONS(1398),
    [sym__word_list_beginning] = ACTIONS(1398),
    [sym_heredoc_beginning] = ACTIONS(1398),
    [sym__unary_minus] = ACTIONS(1398),
    [anon_sym_BEGIN] = ACTIONS(2666),
    [anon_sym_LBRACE] = ACTIONS(1398),
    [anon_sym_END] = ACTIONS(2666),
    [anon_sym_def] = ACTIONS(2666),
    [anon_sym_LPAREN] = ACTIONS(1398),
    [anon_sym_COLON_COLON] = ACTIONS(1398),
    [anon_sym_end] = ACTIONS(2666),
    [anon_sym_SEMI] = ACTIONS(1398),
    [anon_sym_STAR] = ACTIONS(1398),
    [anon_sym_class] = ACTIONS(2666),
    [anon_sym_module] = ACTIONS(2666),
    [anon_sym_return] = ACTIONS(2666),
    [anon_sym_yield] = ACTIONS(2666),
    [anon_sym_break] = ACTIONS(2666),
    [anon_sym_next] = ACTIONS(2666),
    [anon_sym_redo] = ACTIONS(2666),
    [anon_sym_retry] = ACTIONS(2666),
    [anon_sym_if] = ACTIONS(2666),
    [anon_sym_unless] = ACTIONS(2666),
    [anon_sym_while] = ACTIONS(2666),
    [anon_sym_until] = ACTIONS(2666),
    [anon_sym_for] = ACTIONS(2666),
    [anon_sym_case] = ACTIONS(2666),
    [anon_sym_begin] = ACTIONS(2666),
    [anon_sym_PLUS] = ACTIONS(2666),
    [anon_sym_defined_QMARK] = ACTIONS(1398),
    [anon_sym_not] = ACTIONS(2666),
    [anon_sym_BANG] = ACTIONS(1398),
    [anon_sym_TILDE] = ACTIONS(1398),
    [sym_constant] = ACTIONS(2668),
    [sym_identifier] = ACTIONS(2668),
    [sym_instance_variable] = ACTIONS(2666),
    [sym_class_variable] = ACTIONS(2666),
    [sym_global_variable] = ACTIONS(2666),
    [anon_sym_alias] = ACTIONS(2666),
    [anon_sym_false] = ACTIONS(2666),
    [anon_sym_nil] = ACTIONS(2666),
    [anon_sym_self] = ACTIONS(2666),
    [anon_sym_super] = ACTIONS(2666),
    [anon_sym_true] = ACTIONS(2666),
    [anon_sym_undef] = ACTIONS(2666),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(2666),
    [sym_float] = ACTIONS(2668),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1398),
    [anon_sym_TRUE] = ACTIONS(2666),
    [anon_sym_FALSE] = ACTIONS(2666),
    [anon_sym_NIL] = ACTIONS(2666),
    [sym_keyword__FILE__] = ACTIONS(2666),
    [sym_keyword__LINE__] = ACTIONS(2666),
    [sym_keyword__ENCODING__] = ACTIONS(2666),
    [sym__character_literal] = ACTIONS(2666),
    [anon_sym_LBRACK] = ACTIONS(1398),
    [anon_sym_DASH_GT] = ACTIONS(1398),
  },
  [1549] = {
    [sym__statement] = STATE(4004),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [aux_sym_heredoc_end_repeat1] = STATE(4005),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [1550] = {
    [sym__simple_string] = ACTIONS(2552),
    [sym__simple_symbol] = ACTIONS(2552),
    [sym__simple_subshell] = ACTIONS(2552),
    [sym__simple_regex] = ACTIONS(2552),
    [sym__simple_word_list] = ACTIONS(2552),
    [sym__string_beginning] = ACTIONS(2552),
    [sym__symbol_beginning] = ACTIONS(2552),
    [sym__subshell_beginning] = ACTIONS(2552),
    [sym__regex_beginning] = ACTIONS(2552),
    [sym__word_list_beginning] = ACTIONS(2552),
    [sym_heredoc_beginning] = ACTIONS(2552),
    [sym__unary_minus] = ACTIONS(2552),
    [anon_sym_BEGIN] = ACTIONS(2670),
    [anon_sym_LBRACE] = ACTIONS(2552),
    [anon_sym_END] = ACTIONS(2670),
    [anon_sym_def] = ACTIONS(2670),
    [anon_sym_LPAREN] = ACTIONS(2552),
    [anon_sym_COLON_COLON] = ACTIONS(2552),
    [anon_sym_end] = ACTIONS(2670),
    [anon_sym_SEMI] = ACTIONS(2552),
    [anon_sym_STAR] = ACTIONS(2552),
    [anon_sym_class] = ACTIONS(2670),
    [anon_sym_module] = ACTIONS(2670),
    [anon_sym_return] = ACTIONS(2670),
    [anon_sym_yield] = ACTIONS(2670),
    [anon_sym_break] = ACTIONS(2670),
    [anon_sym_next] = ACTIONS(2670),
    [anon_sym_redo] = ACTIONS(2670),
    [anon_sym_retry] = ACTIONS(2670),
    [anon_sym_if] = ACTIONS(2670),
    [anon_sym_unless] = ACTIONS(2670),
    [anon_sym_while] = ACTIONS(2670),
    [anon_sym_until] = ACTIONS(2670),
    [anon_sym_for] = ACTIONS(2670),
    [anon_sym_case] = ACTIONS(2670),
    [anon_sym_begin] = ACTIONS(2670),
    [anon_sym_PLUS] = ACTIONS(2670),
    [anon_sym_defined_QMARK] = ACTIONS(2552),
    [anon_sym_not] = ACTIONS(2670),
    [anon_sym_BANG] = ACTIONS(2552),
    [anon_sym_TILDE] = ACTIONS(2552),
    [sym_constant] = ACTIONS(2672),
    [sym_identifier] = ACTIONS(2672),
    [sym_instance_variable] = ACTIONS(2670),
    [sym_class_variable] = ACTIONS(2670),
    [sym_global_variable] = ACTIONS(2670),
    [anon_sym_alias] = ACTIONS(2670),
    [anon_sym_false] = ACTIONS(2670),
    [anon_sym_nil] = ACTIONS(2670),
    [anon_sym_self] = ACTIONS(2670),
    [anon_sym_super] = ACTIONS(2670),
    [anon_sym_true] = ACTIONS(2670),
    [anon_sym_undef] = ACTIONS(2670),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(2670),
    [sym_float] = ACTIONS(2672),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(2552),
    [anon_sym_TRUE] = ACTIONS(2670),
    [anon_sym_FALSE] = ACTIONS(2670),
    [anon_sym_NIL] = ACTIONS(2670),
    [sym_keyword__FILE__] = ACTIONS(2670),
    [sym_keyword__LINE__] = ACTIONS(2670),
    [sym_keyword__ENCODING__] = ACTIONS(2670),
    [sym__character_literal] = ACTIONS(2670),
    [anon_sym_LBRACK] = ACTIONS(2552),
    [anon_sym_DASH_GT] = ACTIONS(2552),
  },
  [1551] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4006),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1552] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4007),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1553] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4008),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1554] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4009),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1555] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4010),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1556] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4011),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1557] = {
    [sym__simple_string] = ACTIONS(5780),
    [sym__simple_symbol] = ACTIONS(5780),
    [sym__simple_subshell] = ACTIONS(5780),
    [sym__simple_regex] = ACTIONS(5780),
    [sym__simple_word_list] = ACTIONS(5780),
    [sym__string_beginning] = ACTIONS(5780),
    [sym__symbol_beginning] = ACTIONS(5780),
    [sym__subshell_beginning] = ACTIONS(5780),
    [sym__regex_beginning] = ACTIONS(5780),
    [sym__word_list_beginning] = ACTIONS(5780),
    [sym_heredoc_beginning] = ACTIONS(5780),
    [sym__unary_minus] = ACTIONS(5780),
    [anon_sym_BEGIN] = ACTIONS(5782),
    [anon_sym_LBRACE] = ACTIONS(5780),
    [anon_sym_END] = ACTIONS(5782),
    [anon_sym_def] = ACTIONS(5782),
    [anon_sym_LPAREN] = ACTIONS(5780),
    [anon_sym_COLON_COLON] = ACTIONS(5780),
    [anon_sym_end] = ACTIONS(5782),
    [anon_sym_SEMI] = ACTIONS(5780),
    [anon_sym_STAR] = ACTIONS(5780),
    [anon_sym_class] = ACTIONS(5782),
    [anon_sym_module] = ACTIONS(5782),
    [anon_sym_return] = ACTIONS(5782),
    [anon_sym_yield] = ACTIONS(5782),
    [anon_sym_break] = ACTIONS(5782),
    [anon_sym_next] = ACTIONS(5782),
    [anon_sym_redo] = ACTIONS(5782),
    [anon_sym_retry] = ACTIONS(5782),
    [anon_sym_if] = ACTIONS(5782),
    [anon_sym_unless] = ACTIONS(5782),
    [anon_sym_while] = ACTIONS(5782),
    [anon_sym_until] = ACTIONS(5782),
    [anon_sym_for] = ACTIONS(5782),
    [anon_sym_case] = ACTIONS(5782),
    [anon_sym_begin] = ACTIONS(5782),
    [anon_sym_PLUS] = ACTIONS(5782),
    [anon_sym_defined_QMARK] = ACTIONS(5780),
    [anon_sym_not] = ACTIONS(5782),
    [anon_sym_BANG] = ACTIONS(5780),
    [anon_sym_TILDE] = ACTIONS(5780),
    [sym_constant] = ACTIONS(5784),
    [sym_identifier] = ACTIONS(5784),
    [sym_instance_variable] = ACTIONS(5782),
    [sym_class_variable] = ACTIONS(5782),
    [sym_global_variable] = ACTIONS(5782),
    [anon_sym_alias] = ACTIONS(5782),
    [anon_sym_false] = ACTIONS(5782),
    [anon_sym_nil] = ACTIONS(5782),
    [anon_sym_self] = ACTIONS(5782),
    [anon_sym_super] = ACTIONS(5782),
    [anon_sym_true] = ACTIONS(5782),
    [anon_sym_undef] = ACTIONS(5782),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5782),
    [sym_float] = ACTIONS(5784),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5780),
    [anon_sym_TRUE] = ACTIONS(5782),
    [anon_sym_FALSE] = ACTIONS(5782),
    [anon_sym_NIL] = ACTIONS(5782),
    [sym_keyword__FILE__] = ACTIONS(5782),
    [sym_keyword__LINE__] = ACTIONS(5782),
    [sym_keyword__ENCODING__] = ACTIONS(5782),
    [sym__character_literal] = ACTIONS(5782),
    [anon_sym_LBRACK] = ACTIONS(5780),
    [anon_sym_DASH_GT] = ACTIONS(5780),
  },
  [1558] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(4012),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [1559] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4013),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1560] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4014),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1561] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4015),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1562] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4016),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1563] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4017),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1564] = {
    [sym__statements] = STATE(4019),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(5786),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1565] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(4028),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4029),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4030),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(5788),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(5790),
    [anon_sym_yield] = ACTIONS(5792),
    [anon_sym_break] = ACTIONS(5794),
    [anon_sym_next] = ACTIONS(5796),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(5798),
    [anon_sym_defined_QMARK] = ACTIONS(5800),
    [anon_sym_not] = ACTIONS(5802),
    [anon_sym_BANG] = ACTIONS(5804),
    [anon_sym_TILDE] = ACTIONS(5804),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [1566] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(4031),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4029),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4030),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(5788),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(5790),
    [anon_sym_yield] = ACTIONS(5792),
    [anon_sym_break] = ACTIONS(5794),
    [anon_sym_next] = ACTIONS(5796),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(5798),
    [anon_sym_defined_QMARK] = ACTIONS(5800),
    [anon_sym_not] = ACTIONS(5802),
    [anon_sym_BANG] = ACTIONS(5804),
    [anon_sym_TILDE] = ACTIONS(5804),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [1567] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4036),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1581),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1582),
    [sym__variable] = STATE(1540),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2486),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(5806),
    [anon_sym_yield] = ACTIONS(5808),
    [anon_sym_break] = ACTIONS(5810),
    [anon_sym_next] = ACTIONS(5812),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(5814),
    [anon_sym_defined_QMARK] = ACTIONS(2504),
    [anon_sym_not] = ACTIONS(5816),
    [anon_sym_BANG] = ACTIONS(2510),
    [anon_sym_TILDE] = ACTIONS(2510),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1568] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(4037),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4029),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4030),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(5788),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(5790),
    [anon_sym_yield] = ACTIONS(5792),
    [anon_sym_break] = ACTIONS(5794),
    [anon_sym_next] = ACTIONS(5796),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(5798),
    [anon_sym_defined_QMARK] = ACTIONS(5800),
    [anon_sym_not] = ACTIONS(5802),
    [anon_sym_BANG] = ACTIONS(5804),
    [anon_sym_TILDE] = ACTIONS(5804),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [1569] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(3995),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2147),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(3996),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1581),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1582),
    [sym__variable] = STATE(1540),
    [sym_reserved_identifier] = STATE(3997),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(3998),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(5764),
    [sym__splat_star] = ACTIONS(5766),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2486),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(544),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2488),
    [anon_sym_yield] = ACTIONS(2490),
    [anon_sym_break] = ACTIONS(2492),
    [anon_sym_next] = ACTIONS(2494),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_PLUS_EQ] = ACTIONS(532),
    [anon_sym_DASH_EQ] = ACTIONS(532),
    [anon_sym_STAR_EQ] = ACTIONS(532),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(532),
    [anon_sym_SLASH_EQ] = ACTIONS(532),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(532),
    [anon_sym_PIPE_EQ] = ACTIONS(532),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(532),
    [anon_sym_AMP_EQ] = ACTIONS(532),
    [anon_sym_PERCENT_EQ] = ACTIONS(532),
    [anon_sym_GT_GT_EQ] = ACTIONS(532),
    [anon_sym_LT_LT_EQ] = ACTIONS(532),
    [anon_sym_CARET_EQ] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(544),
    [anon_sym_AMP_AMP] = ACTIONS(544),
    [anon_sym_LT_LT] = ACTIONS(544),
    [anon_sym_GT_GT] = ACTIONS(544),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(544),
    [anon_sym_PERCENT] = ACTIONS(544),
    [anon_sym_defined_QMARK] = ACTIONS(2504),
    [anon_sym_not] = ACTIONS(2506),
    [anon_sym_BANG] = ACTIONS(2508),
    [anon_sym_TILDE] = ACTIONS(2510),
    [sym_constant] = ACTIONS(5768),
    [sym_identifier] = ACTIONS(5768),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1570] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(3995),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2148),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(3996),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1581),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1582),
    [sym__variable] = STATE(1540),
    [sym_reserved_identifier] = STATE(3997),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(3998),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(5764),
    [sym__splat_star] = ACTIONS(5766),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2486),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(604),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2488),
    [anon_sym_yield] = ACTIONS(2490),
    [anon_sym_break] = ACTIONS(2492),
    [anon_sym_next] = ACTIONS(2494),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_PLUS_EQ] = ACTIONS(602),
    [anon_sym_DASH_EQ] = ACTIONS(602),
    [anon_sym_STAR_EQ] = ACTIONS(602),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(602),
    [anon_sym_SLASH_EQ] = ACTIONS(602),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(602),
    [anon_sym_PIPE_EQ] = ACTIONS(602),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(602),
    [anon_sym_AMP_EQ] = ACTIONS(602),
    [anon_sym_PERCENT_EQ] = ACTIONS(602),
    [anon_sym_GT_GT_EQ] = ACTIONS(602),
    [anon_sym_LT_LT_EQ] = ACTIONS(602),
    [anon_sym_CARET_EQ] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(604),
    [anon_sym_AMP_AMP] = ACTIONS(604),
    [anon_sym_LT_LT] = ACTIONS(604),
    [anon_sym_GT_GT] = ACTIONS(604),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(604),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(604),
    [anon_sym_PERCENT] = ACTIONS(604),
    [anon_sym_defined_QMARK] = ACTIONS(2504),
    [anon_sym_not] = ACTIONS(2506),
    [anon_sym_BANG] = ACTIONS(2508),
    [anon_sym_TILDE] = ACTIONS(2510),
    [sym_constant] = ACTIONS(5768),
    [sym_identifier] = ACTIONS(5768),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1571] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(3995),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2149),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(3996),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1581),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1582),
    [sym__variable] = STATE(1540),
    [sym_reserved_identifier] = STATE(3997),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(3998),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(5764),
    [sym__splat_star] = ACTIONS(5766),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2486),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(608),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2488),
    [anon_sym_yield] = ACTIONS(2490),
    [anon_sym_break] = ACTIONS(2492),
    [anon_sym_next] = ACTIONS(2494),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_PLUS_EQ] = ACTIONS(606),
    [anon_sym_DASH_EQ] = ACTIONS(606),
    [anon_sym_STAR_EQ] = ACTIONS(606),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(606),
    [anon_sym_SLASH_EQ] = ACTIONS(606),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(606),
    [anon_sym_PIPE_EQ] = ACTIONS(606),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(606),
    [anon_sym_AMP_EQ] = ACTIONS(606),
    [anon_sym_PERCENT_EQ] = ACTIONS(606),
    [anon_sym_GT_GT_EQ] = ACTIONS(606),
    [anon_sym_LT_LT_EQ] = ACTIONS(606),
    [anon_sym_CARET_EQ] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(608),
    [anon_sym_AMP_AMP] = ACTIONS(608),
    [anon_sym_LT_LT] = ACTIONS(608),
    [anon_sym_GT_GT] = ACTIONS(608),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(608),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(608),
    [anon_sym_PERCENT] = ACTIONS(608),
    [anon_sym_defined_QMARK] = ACTIONS(2504),
    [anon_sym_not] = ACTIONS(2506),
    [anon_sym_BANG] = ACTIONS(2508),
    [anon_sym_TILDE] = ACTIONS(2510),
    [sym_constant] = ACTIONS(5768),
    [sym_identifier] = ACTIONS(5768),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1572] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(3995),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2150),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(3996),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1581),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1582),
    [sym__variable] = STATE(1540),
    [sym_reserved_identifier] = STATE(3997),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(3998),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(5764),
    [sym__splat_star] = ACTIONS(5766),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2486),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(612),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2488),
    [anon_sym_yield] = ACTIONS(2490),
    [anon_sym_break] = ACTIONS(2492),
    [anon_sym_next] = ACTIONS(2494),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_PLUS_EQ] = ACTIONS(610),
    [anon_sym_DASH_EQ] = ACTIONS(610),
    [anon_sym_STAR_EQ] = ACTIONS(610),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(610),
    [anon_sym_SLASH_EQ] = ACTIONS(610),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(610),
    [anon_sym_PIPE_EQ] = ACTIONS(610),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(610),
    [anon_sym_AMP_EQ] = ACTIONS(610),
    [anon_sym_PERCENT_EQ] = ACTIONS(610),
    [anon_sym_GT_GT_EQ] = ACTIONS(610),
    [anon_sym_LT_LT_EQ] = ACTIONS(610),
    [anon_sym_CARET_EQ] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(612),
    [anon_sym_AMP_AMP] = ACTIONS(612),
    [anon_sym_LT_LT] = ACTIONS(612),
    [anon_sym_GT_GT] = ACTIONS(612),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(612),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(612),
    [anon_sym_PERCENT] = ACTIONS(612),
    [anon_sym_defined_QMARK] = ACTIONS(2504),
    [anon_sym_not] = ACTIONS(2506),
    [anon_sym_BANG] = ACTIONS(2508),
    [anon_sym_TILDE] = ACTIONS(2510),
    [sym_constant] = ACTIONS(5768),
    [sym_identifier] = ACTIONS(5768),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1573] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4038),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1581),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1582),
    [sym__variable] = STATE(1540),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2486),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(5806),
    [anon_sym_yield] = ACTIONS(5808),
    [anon_sym_break] = ACTIONS(5810),
    [anon_sym_next] = ACTIONS(5812),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(5814),
    [anon_sym_defined_QMARK] = ACTIONS(2504),
    [anon_sym_not] = ACTIONS(5816),
    [anon_sym_BANG] = ACTIONS(2510),
    [anon_sym_TILDE] = ACTIONS(2510),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1574] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4039),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1581),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1582),
    [sym__variable] = STATE(1540),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2486),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(5806),
    [anon_sym_yield] = ACTIONS(5808),
    [anon_sym_break] = ACTIONS(5810),
    [anon_sym_next] = ACTIONS(5812),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(5814),
    [anon_sym_defined_QMARK] = ACTIONS(2504),
    [anon_sym_not] = ACTIONS(5816),
    [anon_sym_BANG] = ACTIONS(2510),
    [anon_sym_TILDE] = ACTIONS(2510),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1575] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4039),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1581),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1582),
    [sym__variable] = STATE(1540),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2486),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(5806),
    [anon_sym_yield] = ACTIONS(5808),
    [anon_sym_break] = ACTIONS(5810),
    [anon_sym_next] = ACTIONS(5812),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(5814),
    [anon_sym_defined_QMARK] = ACTIONS(2504),
    [anon_sym_not] = ACTIONS(5816),
    [anon_sym_BANG] = ACTIONS(2510),
    [anon_sym_TILDE] = ACTIONS(2510),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1576] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(2168),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1581),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1582),
    [sym__variable] = STATE(1540),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2486),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(5806),
    [anon_sym_yield] = ACTIONS(5808),
    [anon_sym_break] = ACTIONS(5810),
    [anon_sym_next] = ACTIONS(5812),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(5814),
    [anon_sym_defined_QMARK] = ACTIONS(2504),
    [anon_sym_not] = ACTIONS(5816),
    [anon_sym_BANG] = ACTIONS(2510),
    [anon_sym_TILDE] = ACTIONS(2510),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1577] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(5818),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [1578] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__line_break] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(5820),
    [sym__binary_star] = ACTIONS(5822),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(5824),
    [anon_sym_SEMI] = ACTIONS(2210),
    [anon_sym_STAR_STAR] = ACTIONS(5826),
    [anon_sym_AMP] = ACTIONS(5828),
    [anon_sym_EQ] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(5830),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(5818),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_PLUS_EQ] = ACTIONS(2210),
    [anon_sym_DASH_EQ] = ACTIONS(2210),
    [anon_sym_STAR_EQ] = ACTIONS(2210),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2210),
    [anon_sym_SLASH_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2210),
    [anon_sym_AMP_EQ] = ACTIONS(2210),
    [anon_sym_PERCENT_EQ] = ACTIONS(2210),
    [anon_sym_GT_GT_EQ] = ACTIONS(2210),
    [anon_sym_LT_LT_EQ] = ACTIONS(2210),
    [anon_sym_CARET_EQ] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(5832),
    [anon_sym_DOT_DOT] = ACTIONS(5834),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5836),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(5838),
    [anon_sym_AMP_AMP] = ACTIONS(5838),
    [anon_sym_LT_LT] = ACTIONS(5840),
    [anon_sym_GT_GT] = ACTIONS(5840),
    [anon_sym_EQ_EQ] = ACTIONS(5838),
    [anon_sym_BANG_EQ] = ACTIONS(5842),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5842),
    [anon_sym_LT_EQ_GT] = ACTIONS(5842),
    [anon_sym_EQ_TILDE] = ACTIONS(5842),
    [anon_sym_BANG_TILDE] = ACTIONS(5842),
    [anon_sym_LT_EQ] = ACTIONS(5830),
    [anon_sym_GT] = ACTIONS(5830),
    [anon_sym_GT_EQ] = ACTIONS(5844),
    [anon_sym_CARET] = ACTIONS(5824),
    [anon_sym_PLUS] = ACTIONS(5846),
    [anon_sym_SLASH] = ACTIONS(5826),
    [anon_sym_PERCENT] = ACTIONS(5826),
    [sym_comment] = ACTIONS(256),
  },
  [1579] = {
    [sym_do_block] = STATE(2193),
    [sym_block] = STATE(2193),
    [sym__simple_heredoc_body] = ACTIONS(3346),
    [sym__heredoc_body_beginning] = ACTIONS(3346),
    [sym__line_break] = ACTIONS(3346),
    [sym__element_reference_left_bracket] = ACTIONS(3346),
    [sym__scope_double_colon] = ACTIONS(3346),
    [sym__binary_minus] = ACTIONS(3346),
    [sym__binary_star] = ACTIONS(3346),
    [ts_builtin_sym_end] = ACTIONS(3346),
    [anon_sym___END__] = ACTIONS(3346),
    [anon_sym_LBRACE] = ACTIONS(3348),
    [anon_sym_RBRACE] = ACTIONS(3346),
    [anon_sym_RPAREN] = ACTIONS(3346),
    [anon_sym_DOT] = ACTIONS(3350),
    [anon_sym_end] = ACTIONS(3346),
    [anon_sym_COMMA] = ACTIONS(3346),
    [anon_sym_PIPE] = ACTIONS(3350),
    [anon_sym_SEMI] = ACTIONS(3346),
    [anon_sym_STAR_STAR] = ACTIONS(3350),
    [anon_sym_AMP] = ACTIONS(3350),
    [anon_sym_EQ] = ACTIONS(3350),
    [anon_sym_LT] = ACTIONS(3350),
    [anon_sym_if] = ACTIONS(3346),
    [anon_sym_unless] = ACTIONS(3346),
    [anon_sym_while] = ACTIONS(3346),
    [anon_sym_until] = ACTIONS(3346),
    [anon_sym_rescue] = ACTIONS(3346),
    [anon_sym_do] = ACTIONS(3346),
    [anon_sym_when] = ACTIONS(3346),
    [anon_sym_elsif] = ACTIONS(3346),
    [anon_sym_else] = ACTIONS(3346),
    [anon_sym_then] = ACTIONS(3346),
    [anon_sym_ensure] = ACTIONS(3346),
    [anon_sym_AMP_DOT] = ACTIONS(3346),
    [anon_sym_PLUS_EQ] = ACTIONS(3346),
    [anon_sym_DASH_EQ] = ACTIONS(3346),
    [anon_sym_STAR_EQ] = ACTIONS(3346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3346),
    [anon_sym_SLASH_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3346),
    [anon_sym_AMP_EQ] = ACTIONS(3346),
    [anon_sym_PERCENT_EQ] = ACTIONS(3346),
    [anon_sym_GT_GT_EQ] = ACTIONS(3346),
    [anon_sym_LT_LT_EQ] = ACTIONS(3346),
    [anon_sym_CARET_EQ] = ACTIONS(3346),
    [anon_sym_QMARK] = ACTIONS(3346),
    [anon_sym_DOT_DOT] = ACTIONS(3350),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3346),
    [anon_sym_and] = ACTIONS(3346),
    [anon_sym_or] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE] = ACTIONS(3350),
    [anon_sym_AMP_AMP] = ACTIONS(3350),
    [anon_sym_LT_LT] = ACTIONS(3350),
    [anon_sym_GT_GT] = ACTIONS(3350),
    [anon_sym_EQ_EQ] = ACTIONS(3350),
    [anon_sym_BANG_EQ] = ACTIONS(3346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3346),
    [anon_sym_LT_EQ_GT] = ACTIONS(3346),
    [anon_sym_EQ_TILDE] = ACTIONS(3346),
    [anon_sym_BANG_TILDE] = ACTIONS(3346),
    [anon_sym_LT_EQ] = ACTIONS(3350),
    [anon_sym_GT] = ACTIONS(3350),
    [anon_sym_GT_EQ] = ACTIONS(3346),
    [anon_sym_CARET] = ACTIONS(3350),
    [anon_sym_PLUS] = ACTIONS(3350),
    [anon_sym_SLASH] = ACTIONS(3350),
    [anon_sym_PERCENT] = ACTIONS(3350),
    [sym_comment] = ACTIONS(256),
  },
  [1580] = {
    [sym_heredoc_end] = STATE(2196),
    [aux_sym_argument_list_repeat1] = STATE(4054),
    [aux_sym_argument_list_repeat2] = STATE(2197),
    [sym__simple_heredoc_body] = ACTIONS(3354),
    [sym__heredoc_body_beginning] = ACTIONS(3356),
    [sym__line_break] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(5848),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_STAR_STAR] = ACTIONS(2274),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_EQ] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_PLUS_EQ] = ACTIONS(2272),
    [anon_sym_DASH_EQ] = ACTIONS(2272),
    [anon_sym_STAR_EQ] = ACTIONS(2272),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2272),
    [anon_sym_SLASH_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2272),
    [anon_sym_AMP_EQ] = ACTIONS(2272),
    [anon_sym_PERCENT_EQ] = ACTIONS(2272),
    [anon_sym_GT_GT_EQ] = ACTIONS(2272),
    [anon_sym_LT_LT_EQ] = ACTIONS(2272),
    [anon_sym_CARET_EQ] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2274),
    [anon_sym_AMP_AMP] = ACTIONS(2274),
    [anon_sym_LT_LT] = ACTIONS(2274),
    [anon_sym_GT_GT] = ACTIONS(2274),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2274),
    [anon_sym_PLUS] = ACTIONS(2274),
    [anon_sym_SLASH] = ACTIONS(2274),
    [anon_sym_PERCENT] = ACTIONS(2274),
    [sym_comment] = ACTIONS(256),
  },
  [1581] = {
    [anon_sym_EQ] = ACTIONS(5850),
    [sym_comment] = ACTIONS(256),
  },
  [1582] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(5852),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(5854),
    [anon_sym_DASH_EQ] = ACTIONS(5854),
    [anon_sym_STAR_EQ] = ACTIONS(5854),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5854),
    [anon_sym_SLASH_EQ] = ACTIONS(5854),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5854),
    [anon_sym_PIPE_EQ] = ACTIONS(5854),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5854),
    [anon_sym_AMP_EQ] = ACTIONS(5854),
    [anon_sym_PERCENT_EQ] = ACTIONS(5854),
    [anon_sym_GT_GT_EQ] = ACTIONS(5854),
    [anon_sym_LT_LT_EQ] = ACTIONS(5854),
    [anon_sym_CARET_EQ] = ACTIONS(5854),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [1583] = {
    [sym__keyword_colon] = ACTIONS(5856),
    [sym_comment] = ACTIONS(110),
  },
  [1584] = {
    [sym_string] = STATE(2203),
    [aux_sym_chained_string_repeat1] = STATE(2204),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(5818),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(3266),
  },
  [1585] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4063),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_splat_argument] = STATE(2211),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_right_assignment_list] = STATE(2212),
    [sym__arg_or_splat_arg] = STATE(4064),
    [sym_left_assignment_list] = STATE(4065),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4066),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(5858),
    [sym__unary_minus] = ACTIONS(5860),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5862),
    [anon_sym_defined_QMARK] = ACTIONS(5864),
    [anon_sym_not] = ACTIONS(5866),
    [anon_sym_BANG] = ACTIONS(5868),
    [anon_sym_TILDE] = ACTIONS(5868),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1586] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4067),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1587] = {
    [sym__statements] = STATE(4069),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(5870),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1588] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(4078),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(4079),
    [sym_call] = STATE(4079),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4080),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4081),
    [sym__variable] = STATE(4079),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5872),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5874),
    [anon_sym_yield] = ACTIONS(5876),
    [anon_sym_break] = ACTIONS(5878),
    [anon_sym_next] = ACTIONS(5880),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5882),
    [anon_sym_defined_QMARK] = ACTIONS(5884),
    [anon_sym_not] = ACTIONS(5886),
    [anon_sym_BANG] = ACTIONS(5888),
    [anon_sym_TILDE] = ACTIONS(5888),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1589] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(4082),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(4079),
    [sym_call] = STATE(4079),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4080),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4081),
    [sym__variable] = STATE(4079),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5872),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5874),
    [anon_sym_yield] = ACTIONS(5876),
    [anon_sym_break] = ACTIONS(5878),
    [anon_sym_next] = ACTIONS(5880),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5882),
    [anon_sym_defined_QMARK] = ACTIONS(5884),
    [anon_sym_not] = ACTIONS(5886),
    [anon_sym_BANG] = ACTIONS(5888),
    [anon_sym_TILDE] = ACTIONS(5888),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1590] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(4087),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1605),
    [sym__variable] = STATE(1602),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2526),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5890),
    [anon_sym_yield] = ACTIONS(5892),
    [anon_sym_break] = ACTIONS(5894),
    [anon_sym_next] = ACTIONS(5896),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2538),
    [anon_sym_defined_QMARK] = ACTIONS(2540),
    [anon_sym_not] = ACTIONS(5898),
    [anon_sym_BANG] = ACTIONS(2544),
    [anon_sym_TILDE] = ACTIONS(2544),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1591] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(4088),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(4079),
    [sym_call] = STATE(4079),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4080),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4081),
    [sym__variable] = STATE(4079),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5872),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5874),
    [anon_sym_yield] = ACTIONS(5876),
    [anon_sym_break] = ACTIONS(5878),
    [anon_sym_next] = ACTIONS(5880),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5882),
    [anon_sym_defined_QMARK] = ACTIONS(5884),
    [anon_sym_not] = ACTIONS(5886),
    [anon_sym_BANG] = ACTIONS(5888),
    [anon_sym_TILDE] = ACTIONS(5888),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1592] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(4093),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1886),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(4094),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1605),
    [sym__variable] = STATE(1602),
    [sym_reserved_identifier] = STATE(4095),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(4096),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(5900),
    [sym__splat_star] = ACTIONS(5902),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2526),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2530),
    [anon_sym_yield] = ACTIONS(2532),
    [anon_sym_break] = ACTIONS(2534),
    [anon_sym_next] = ACTIONS(2536),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(544),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(2540),
    [anon_sym_not] = ACTIONS(2542),
    [anon_sym_BANG] = ACTIONS(5904),
    [anon_sym_TILDE] = ACTIONS(2544),
    [sym_constant] = ACTIONS(5906),
    [sym_identifier] = ACTIONS(5906),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1593] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(4093),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1892),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(4094),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1605),
    [sym__variable] = STATE(1602),
    [sym_reserved_identifier] = STATE(4095),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(4096),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(5900),
    [sym__splat_star] = ACTIONS(5902),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2526),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2530),
    [anon_sym_yield] = ACTIONS(2532),
    [anon_sym_break] = ACTIONS(2534),
    [anon_sym_next] = ACTIONS(2536),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(604),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(2540),
    [anon_sym_not] = ACTIONS(2542),
    [anon_sym_BANG] = ACTIONS(5904),
    [anon_sym_TILDE] = ACTIONS(2544),
    [sym_constant] = ACTIONS(5906),
    [sym_identifier] = ACTIONS(5906),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1594] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(4093),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1893),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(4094),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1605),
    [sym__variable] = STATE(1602),
    [sym_reserved_identifier] = STATE(4095),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(4096),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(5900),
    [sym__splat_star] = ACTIONS(5902),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2526),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2530),
    [anon_sym_yield] = ACTIONS(2532),
    [anon_sym_break] = ACTIONS(2534),
    [anon_sym_next] = ACTIONS(2536),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(608),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(2540),
    [anon_sym_not] = ACTIONS(2542),
    [anon_sym_BANG] = ACTIONS(5904),
    [anon_sym_TILDE] = ACTIONS(2544),
    [sym_constant] = ACTIONS(5906),
    [sym_identifier] = ACTIONS(5906),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1595] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(4093),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1894),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(4094),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1605),
    [sym__variable] = STATE(1602),
    [sym_reserved_identifier] = STATE(4095),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(4096),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(5900),
    [sym__splat_star] = ACTIONS(5902),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2526),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2530),
    [anon_sym_yield] = ACTIONS(2532),
    [anon_sym_break] = ACTIONS(2534),
    [anon_sym_next] = ACTIONS(2536),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(612),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(2540),
    [anon_sym_not] = ACTIONS(2542),
    [anon_sym_BANG] = ACTIONS(5904),
    [anon_sym_TILDE] = ACTIONS(2544),
    [sym_constant] = ACTIONS(5906),
    [sym_identifier] = ACTIONS(5906),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1596] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(4097),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1605),
    [sym__variable] = STATE(1602),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2526),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5890),
    [anon_sym_yield] = ACTIONS(5892),
    [anon_sym_break] = ACTIONS(5894),
    [anon_sym_next] = ACTIONS(5896),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2538),
    [anon_sym_defined_QMARK] = ACTIONS(2540),
    [anon_sym_not] = ACTIONS(5898),
    [anon_sym_BANG] = ACTIONS(2544),
    [anon_sym_TILDE] = ACTIONS(2544),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1597] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(4098),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1605),
    [sym__variable] = STATE(1602),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2526),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5890),
    [anon_sym_yield] = ACTIONS(5892),
    [anon_sym_break] = ACTIONS(5894),
    [anon_sym_next] = ACTIONS(5896),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2538),
    [anon_sym_defined_QMARK] = ACTIONS(2540),
    [anon_sym_not] = ACTIONS(5898),
    [anon_sym_BANG] = ACTIONS(2544),
    [anon_sym_TILDE] = ACTIONS(2544),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1598] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(4098),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1605),
    [sym__variable] = STATE(1602),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2526),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5890),
    [anon_sym_yield] = ACTIONS(5892),
    [anon_sym_break] = ACTIONS(5894),
    [anon_sym_next] = ACTIONS(5896),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2538),
    [anon_sym_defined_QMARK] = ACTIONS(2540),
    [anon_sym_not] = ACTIONS(5898),
    [anon_sym_BANG] = ACTIONS(2544),
    [anon_sym_TILDE] = ACTIONS(2544),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1599] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(2988),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1605),
    [sym__variable] = STATE(1602),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2526),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5890),
    [anon_sym_yield] = ACTIONS(5892),
    [anon_sym_break] = ACTIONS(5894),
    [anon_sym_next] = ACTIONS(5896),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2538),
    [anon_sym_defined_QMARK] = ACTIONS(2540),
    [anon_sym_not] = ACTIONS(5898),
    [anon_sym_BANG] = ACTIONS(2544),
    [anon_sym_TILDE] = ACTIONS(2544),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1600] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(5908),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [1601] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(5910),
    [sym__binary_star] = ACTIONS(5912),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(5914),
    [anon_sym_STAR_STAR] = ACTIONS(5916),
    [anon_sym_AMP] = ACTIONS(5918),
    [anon_sym_LT] = ACTIONS(5920),
    [anon_sym_in] = ACTIONS(2210),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(5908),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(5922),
    [anon_sym_DOT_DOT] = ACTIONS(5924),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5926),
    [anon_sym_and] = ACTIONS(5928),
    [anon_sym_or] = ACTIONS(5928),
    [anon_sym_PIPE_PIPE] = ACTIONS(5930),
    [anon_sym_AMP_AMP] = ACTIONS(5930),
    [anon_sym_LT_LT] = ACTIONS(5932),
    [anon_sym_GT_GT] = ACTIONS(5932),
    [anon_sym_EQ_EQ] = ACTIONS(5934),
    [anon_sym_BANG_EQ] = ACTIONS(5930),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5930),
    [anon_sym_LT_EQ_GT] = ACTIONS(5930),
    [anon_sym_EQ_TILDE] = ACTIONS(5930),
    [anon_sym_BANG_TILDE] = ACTIONS(5930),
    [anon_sym_LT_EQ] = ACTIONS(5920),
    [anon_sym_GT] = ACTIONS(5920),
    [anon_sym_GT_EQ] = ACTIONS(5936),
    [anon_sym_CARET] = ACTIONS(5938),
    [anon_sym_PLUS] = ACTIONS(5940),
    [anon_sym_SLASH] = ACTIONS(5916),
    [anon_sym_PERCENT] = ACTIONS(5916),
    [sym_comment] = ACTIONS(110),
  },
  [1602] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(4125),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(3147),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(4126),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_do_block] = STATE(1952),
    [sym_block] = STATE(1952),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4127),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4128),
    [sym__variable] = STATE(1602),
    [sym_reserved_identifier] = STATE(4129),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(4130),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(5942),
    [sym__splat_star] = ACTIONS(5944),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(5946),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(3012),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(5948),
    [anon_sym_yield] = ACTIONS(5950),
    [anon_sym_break] = ACTIONS(5952),
    [anon_sym_next] = ACTIONS(5954),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(982),
    [anon_sym_do] = ACTIONS(982),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(980),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(5956),
    [anon_sym_not] = ACTIONS(5958),
    [anon_sym_BANG] = ACTIONS(5960),
    [anon_sym_TILDE] = ACTIONS(5962),
    [sym_constant] = ACTIONS(5964),
    [sym_identifier] = ACTIONS(5964),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [1603] = {
    [sym_heredoc_end] = STATE(3448),
    [aux_sym_argument_list_repeat1] = STATE(4132),
    [aux_sym_argument_list_repeat2] = STATE(3449),
    [sym__simple_heredoc_body] = ACTIONS(4968),
    [sym__heredoc_body_beginning] = ACTIONS(4970),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2272),
    [anon_sym_COMMA] = ACTIONS(5966),
    [anon_sym_in] = ACTIONS(2272),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(110),
  },
  [1604] = {
    [anon_sym_EQ] = ACTIONS(5968),
    [sym_comment] = ACTIONS(256),
  },
  [1605] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(5970),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_in] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(5972),
    [anon_sym_DASH_EQ] = ACTIONS(5972),
    [anon_sym_STAR_EQ] = ACTIONS(5972),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5972),
    [anon_sym_SLASH_EQ] = ACTIONS(5972),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5972),
    [anon_sym_PIPE_EQ] = ACTIONS(5972),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5972),
    [anon_sym_AMP_EQ] = ACTIONS(5972),
    [anon_sym_PERCENT_EQ] = ACTIONS(5972),
    [anon_sym_GT_GT_EQ] = ACTIONS(5972),
    [anon_sym_LT_LT_EQ] = ACTIONS(5972),
    [anon_sym_CARET_EQ] = ACTIONS(5972),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [1606] = {
    [sym__keyword_colon] = ACTIONS(5974),
    [sym_comment] = ACTIONS(110),
  },
  [1607] = {
    [sym_string] = STATE(1962),
    [aux_sym_chained_string_repeat1] = STATE(1963),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(5908),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_in] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(1626),
  },
  [1608] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4136),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1609] = {
    [sym__do] = STATE(4137),
    [sym_heredoc_end] = STATE(1550),
    [sym__terminator] = STATE(1557),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym__line_break] = ACTIONS(2446),
    [anon_sym_SEMI] = ACTIONS(2446),
    [anon_sym_do] = ACTIONS(2460),
    [sym_comment] = ACTIONS(110),
  },
  [1610] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(285),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(381),
    [sym_call] = STATE(381),
    [sym_method_call] = STATE(286),
    [sym__mlhs] = STATE(2216),
    [sym__simple_mlhs] = STATE(383),
    [sym_destructured_left_assignment] = STATE(383),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(384),
    [sym__variable] = STATE(381),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(658),
    [anon_sym_COLON_COLON] = ACTIONS(460),
    [anon_sym_STAR] = ACTIONS(660),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_in] = ACTIONS(5976),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(494),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [1611] = {
    [sym__heredoc_body_middle] = ACTIONS(4108),
    [sym__heredoc_body_end] = ACTIONS(5978),
    [anon_sym_if] = ACTIONS(4112),
    [anon_sym_unless] = ACTIONS(4114),
    [anon_sym_while] = ACTIONS(4116),
    [anon_sym_until] = ACTIONS(4118),
    [anon_sym_rescue] = ACTIONS(4120),
    [sym_comment] = ACTIONS(110),
  },
  [1612] = {
    [sym__statement] = STATE(4139),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [1613] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(2606),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_when] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [1614] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4144),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4145),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4146),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5980),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5982),
    [anon_sym_defined_QMARK] = ACTIONS(5984),
    [anon_sym_not] = ACTIONS(5986),
    [anon_sym_BANG] = ACTIONS(5988),
    [anon_sym_TILDE] = ACTIONS(5988),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1615] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4147),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4145),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4146),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5980),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5982),
    [anon_sym_defined_QMARK] = ACTIONS(5984),
    [anon_sym_not] = ACTIONS(5986),
    [anon_sym_BANG] = ACTIONS(5988),
    [anon_sym_TILDE] = ACTIONS(5988),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1616] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4152),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1628),
    [sym_call] = STATE(1628),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1630),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1631),
    [sym__variable] = STATE(1628),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2558),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5990),
    [anon_sym_yield] = ACTIONS(5992),
    [anon_sym_break] = ACTIONS(5994),
    [anon_sym_next] = ACTIONS(5996),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5998),
    [anon_sym_defined_QMARK] = ACTIONS(2568),
    [anon_sym_not] = ACTIONS(6000),
    [anon_sym_BANG] = ACTIONS(2574),
    [anon_sym_TILDE] = ACTIONS(2574),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1617] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4153),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4145),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4146),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5980),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5982),
    [anon_sym_defined_QMARK] = ACTIONS(5984),
    [anon_sym_not] = ACTIONS(5986),
    [anon_sym_BANG] = ACTIONS(5988),
    [anon_sym_TILDE] = ACTIONS(5988),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1618] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4158),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1628),
    [sym_call] = STATE(1628),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(340),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(4159),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1630),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1631),
    [sym__variable] = STATE(1628),
    [sym_reserved_identifier] = STATE(4160),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(4161),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(6002),
    [sym__splat_star] = ACTIONS(6004),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2558),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2560),
    [anon_sym_yield] = ACTIONS(2562),
    [anon_sym_break] = ACTIONS(2564),
    [anon_sym_next] = ACTIONS(2566),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(544),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(2568),
    [anon_sym_not] = ACTIONS(2570),
    [anon_sym_BANG] = ACTIONS(2572),
    [anon_sym_TILDE] = ACTIONS(2574),
    [sym_constant] = ACTIONS(6006),
    [sym_identifier] = ACTIONS(6006),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1619] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4158),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1628),
    [sym_call] = STATE(1628),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(349),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(4159),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1630),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1631),
    [sym__variable] = STATE(1628),
    [sym_reserved_identifier] = STATE(4160),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(4161),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(6002),
    [sym__splat_star] = ACTIONS(6004),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2558),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2560),
    [anon_sym_yield] = ACTIONS(2562),
    [anon_sym_break] = ACTIONS(2564),
    [anon_sym_next] = ACTIONS(2566),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(604),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(2568),
    [anon_sym_not] = ACTIONS(2570),
    [anon_sym_BANG] = ACTIONS(2572),
    [anon_sym_TILDE] = ACTIONS(2574),
    [sym_constant] = ACTIONS(6006),
    [sym_identifier] = ACTIONS(6006),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1620] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4158),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1628),
    [sym_call] = STATE(1628),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(350),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(4159),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1630),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1631),
    [sym__variable] = STATE(1628),
    [sym_reserved_identifier] = STATE(4160),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(4161),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(6002),
    [sym__splat_star] = ACTIONS(6004),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2558),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2560),
    [anon_sym_yield] = ACTIONS(2562),
    [anon_sym_break] = ACTIONS(2564),
    [anon_sym_next] = ACTIONS(2566),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(608),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(2568),
    [anon_sym_not] = ACTIONS(2570),
    [anon_sym_BANG] = ACTIONS(2572),
    [anon_sym_TILDE] = ACTIONS(2574),
    [sym_constant] = ACTIONS(6006),
    [sym_identifier] = ACTIONS(6006),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1621] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4158),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1628),
    [sym_call] = STATE(1628),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(351),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(4159),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1630),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1631),
    [sym__variable] = STATE(1628),
    [sym_reserved_identifier] = STATE(4160),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(4161),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(6002),
    [sym__splat_star] = ACTIONS(6004),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2558),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2560),
    [anon_sym_yield] = ACTIONS(2562),
    [anon_sym_break] = ACTIONS(2564),
    [anon_sym_next] = ACTIONS(2566),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(612),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(2568),
    [anon_sym_not] = ACTIONS(2570),
    [anon_sym_BANG] = ACTIONS(2572),
    [anon_sym_TILDE] = ACTIONS(2574),
    [sym_constant] = ACTIONS(6006),
    [sym_identifier] = ACTIONS(6006),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1622] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4162),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1628),
    [sym_call] = STATE(1628),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1630),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1631),
    [sym__variable] = STATE(1628),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2558),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5990),
    [anon_sym_yield] = ACTIONS(5992),
    [anon_sym_break] = ACTIONS(5994),
    [anon_sym_next] = ACTIONS(5996),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5998),
    [anon_sym_defined_QMARK] = ACTIONS(2568),
    [anon_sym_not] = ACTIONS(6000),
    [anon_sym_BANG] = ACTIONS(2574),
    [anon_sym_TILDE] = ACTIONS(2574),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1623] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4163),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1628),
    [sym_call] = STATE(1628),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1630),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1631),
    [sym__variable] = STATE(1628),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2558),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5990),
    [anon_sym_yield] = ACTIONS(5992),
    [anon_sym_break] = ACTIONS(5994),
    [anon_sym_next] = ACTIONS(5996),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5998),
    [anon_sym_defined_QMARK] = ACTIONS(2568),
    [anon_sym_not] = ACTIONS(6000),
    [anon_sym_BANG] = ACTIONS(2574),
    [anon_sym_TILDE] = ACTIONS(2574),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1624] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4163),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1628),
    [sym_call] = STATE(1628),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1630),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1631),
    [sym__variable] = STATE(1628),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2558),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5990),
    [anon_sym_yield] = ACTIONS(5992),
    [anon_sym_break] = ACTIONS(5994),
    [anon_sym_next] = ACTIONS(5996),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5998),
    [anon_sym_defined_QMARK] = ACTIONS(2568),
    [anon_sym_not] = ACTIONS(6000),
    [anon_sym_BANG] = ACTIONS(2574),
    [anon_sym_TILDE] = ACTIONS(2574),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1625] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1410),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1628),
    [sym_call] = STATE(1628),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1630),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1631),
    [sym__variable] = STATE(1628),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2558),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5990),
    [anon_sym_yield] = ACTIONS(5992),
    [anon_sym_break] = ACTIONS(5994),
    [anon_sym_next] = ACTIONS(5996),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5998),
    [anon_sym_defined_QMARK] = ACTIONS(2568),
    [anon_sym_not] = ACTIONS(6000),
    [anon_sym_BANG] = ACTIONS(2574),
    [anon_sym_TILDE] = ACTIONS(2574),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1626] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(6008),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [1627] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__line_break] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(6010),
    [sym__binary_star] = ACTIONS(6012),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(6014),
    [anon_sym_SEMI] = ACTIONS(2210),
    [anon_sym_STAR_STAR] = ACTIONS(6016),
    [anon_sym_AMP] = ACTIONS(6018),
    [anon_sym_LT] = ACTIONS(6020),
    [anon_sym_when] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(6008),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(6022),
    [anon_sym_DOT_DOT] = ACTIONS(6024),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6026),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(6028),
    [anon_sym_AMP_AMP] = ACTIONS(6028),
    [anon_sym_LT_LT] = ACTIONS(6030),
    [anon_sym_GT_GT] = ACTIONS(6030),
    [anon_sym_EQ_EQ] = ACTIONS(6032),
    [anon_sym_BANG_EQ] = ACTIONS(6028),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6028),
    [anon_sym_LT_EQ_GT] = ACTIONS(6028),
    [anon_sym_EQ_TILDE] = ACTIONS(6028),
    [anon_sym_BANG_TILDE] = ACTIONS(6028),
    [anon_sym_LT_EQ] = ACTIONS(6020),
    [anon_sym_GT] = ACTIONS(6020),
    [anon_sym_GT_EQ] = ACTIONS(6034),
    [anon_sym_CARET] = ACTIONS(6036),
    [anon_sym_PLUS] = ACTIONS(6038),
    [anon_sym_SLASH] = ACTIONS(6016),
    [anon_sym_PERCENT] = ACTIONS(6016),
    [sym_comment] = ACTIONS(110),
  },
  [1628] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4181),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1680),
    [sym_call] = STATE(1680),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(1435),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(4182),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_do_block] = STATE(1439),
    [sym_block] = STATE(1439),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1682),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1683),
    [sym__variable] = STATE(1680),
    [sym_reserved_identifier] = STATE(4183),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(4184),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(6040),
    [sym__splat_star] = ACTIONS(6042),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(2638),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(2258),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2640),
    [anon_sym_yield] = ACTIONS(2642),
    [anon_sym_break] = ACTIONS(2644),
    [anon_sym_next] = ACTIONS(2646),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(2260),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(982),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(980),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(2648),
    [anon_sym_not] = ACTIONS(2650),
    [anon_sym_BANG] = ACTIONS(2652),
    [anon_sym_TILDE] = ACTIONS(2654),
    [sym_constant] = ACTIONS(6044),
    [sym_identifier] = ACTIONS(6044),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1629] = {
    [sym_heredoc_end] = STATE(1444),
    [aux_sym_argument_list_repeat1] = STATE(4186),
    [aux_sym_argument_list_repeat2] = STATE(1445),
    [sym__simple_heredoc_body] = ACTIONS(2268),
    [sym__heredoc_body_beginning] = ACTIONS(2270),
    [sym__line_break] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(6046),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_STAR_STAR] = ACTIONS(2272),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_when] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2272),
    [anon_sym_AMP_AMP] = ACTIONS(2272),
    [anon_sym_LT_LT] = ACTIONS(2272),
    [anon_sym_GT_GT] = ACTIONS(2272),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2272),
    [anon_sym_PLUS] = ACTIONS(2272),
    [anon_sym_SLASH] = ACTIONS(2272),
    [anon_sym_PERCENT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(110),
  },
  [1630] = {
    [anon_sym_EQ] = ACTIONS(6048),
    [sym_comment] = ACTIONS(256),
  },
  [1631] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(6050),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_when] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(6052),
    [anon_sym_DASH_EQ] = ACTIONS(6052),
    [anon_sym_STAR_EQ] = ACTIONS(6052),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6052),
    [anon_sym_SLASH_EQ] = ACTIONS(6052),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6052),
    [anon_sym_PIPE_EQ] = ACTIONS(6052),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6052),
    [anon_sym_AMP_EQ] = ACTIONS(6052),
    [anon_sym_PERCENT_EQ] = ACTIONS(6052),
    [anon_sym_GT_GT_EQ] = ACTIONS(6052),
    [anon_sym_LT_LT_EQ] = ACTIONS(6052),
    [anon_sym_CARET_EQ] = ACTIONS(6052),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [1632] = {
    [sym__keyword_colon] = ACTIONS(6054),
    [sym_comment] = ACTIONS(110),
  },
  [1633] = {
    [sym_string] = STATE(611),
    [aux_sym_chained_string_repeat1] = STATE(612),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(20),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(6008),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_when] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(120),
  },
  [1634] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4190),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1645),
    [sym_call] = STATE(1645),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1647),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1648),
    [sym__variable] = STATE(1645),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2580),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2582),
    [anon_sym_yield] = ACTIONS(2584),
    [anon_sym_break] = ACTIONS(2586),
    [anon_sym_next] = ACTIONS(2588),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2590),
    [anon_sym_defined_QMARK] = ACTIONS(2592),
    [anon_sym_not] = ACTIONS(2594),
    [anon_sym_BANG] = ACTIONS(2596),
    [anon_sym_TILDE] = ACTIONS(2596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1635] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4191),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1645),
    [sym_call] = STATE(1645),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1647),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1648),
    [sym__variable] = STATE(1645),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2580),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2582),
    [anon_sym_yield] = ACTIONS(2584),
    [anon_sym_break] = ACTIONS(2586),
    [anon_sym_next] = ACTIONS(2588),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2590),
    [anon_sym_defined_QMARK] = ACTIONS(2592),
    [anon_sym_not] = ACTIONS(2594),
    [anon_sym_BANG] = ACTIONS(2596),
    [anon_sym_TILDE] = ACTIONS(2596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1636] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4205),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(340),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(4206),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4207),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4208),
    [sym__variable] = STATE(1732),
    [sym_reserved_identifier] = STATE(4209),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(4210),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(6056),
    [sym__splat_star] = ACTIONS(6058),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(6060),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(6062),
    [anon_sym_yield] = ACTIONS(6064),
    [anon_sym_break] = ACTIONS(6066),
    [anon_sym_next] = ACTIONS(6068),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(544),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(6070),
    [anon_sym_not] = ACTIONS(6072),
    [anon_sym_BANG] = ACTIONS(6074),
    [anon_sym_TILDE] = ACTIONS(6076),
    [sym_constant] = ACTIONS(6078),
    [sym_identifier] = ACTIONS(6078),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1637] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4205),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(349),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(4206),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4207),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4208),
    [sym__variable] = STATE(1732),
    [sym_reserved_identifier] = STATE(4209),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(4210),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(6056),
    [sym__splat_star] = ACTIONS(6058),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(6060),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(6062),
    [anon_sym_yield] = ACTIONS(6064),
    [anon_sym_break] = ACTIONS(6066),
    [anon_sym_next] = ACTIONS(6068),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(604),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(6070),
    [anon_sym_not] = ACTIONS(6072),
    [anon_sym_BANG] = ACTIONS(6074),
    [anon_sym_TILDE] = ACTIONS(6076),
    [sym_constant] = ACTIONS(6078),
    [sym_identifier] = ACTIONS(6078),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1638] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4205),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(350),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(4206),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4207),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4208),
    [sym__variable] = STATE(1732),
    [sym_reserved_identifier] = STATE(4209),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(4210),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(6056),
    [sym__splat_star] = ACTIONS(6058),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(6060),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(6062),
    [anon_sym_yield] = ACTIONS(6064),
    [anon_sym_break] = ACTIONS(6066),
    [anon_sym_next] = ACTIONS(6068),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(608),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(6070),
    [anon_sym_not] = ACTIONS(6072),
    [anon_sym_BANG] = ACTIONS(6074),
    [anon_sym_TILDE] = ACTIONS(6076),
    [sym_constant] = ACTIONS(6078),
    [sym_identifier] = ACTIONS(6078),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1639] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4205),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(351),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(4206),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4207),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4208),
    [sym__variable] = STATE(1732),
    [sym_reserved_identifier] = STATE(4209),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(4210),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(6056),
    [sym__splat_star] = ACTIONS(6058),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(6060),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(6062),
    [anon_sym_yield] = ACTIONS(6064),
    [anon_sym_break] = ACTIONS(6066),
    [anon_sym_next] = ACTIONS(6068),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(612),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(6070),
    [anon_sym_not] = ACTIONS(6072),
    [anon_sym_BANG] = ACTIONS(6074),
    [anon_sym_TILDE] = ACTIONS(6076),
    [sym_constant] = ACTIONS(6078),
    [sym_identifier] = ACTIONS(6078),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1640] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4211),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1645),
    [sym_call] = STATE(1645),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1647),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1648),
    [sym__variable] = STATE(1645),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2580),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2582),
    [anon_sym_yield] = ACTIONS(2584),
    [anon_sym_break] = ACTIONS(2586),
    [anon_sym_next] = ACTIONS(2588),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2590),
    [anon_sym_defined_QMARK] = ACTIONS(2592),
    [anon_sym_not] = ACTIONS(2594),
    [anon_sym_BANG] = ACTIONS(2596),
    [anon_sym_TILDE] = ACTIONS(2596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1641] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4212),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1645),
    [sym_call] = STATE(1645),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1647),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1648),
    [sym__variable] = STATE(1645),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2580),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2582),
    [anon_sym_yield] = ACTIONS(2584),
    [anon_sym_break] = ACTIONS(2586),
    [anon_sym_next] = ACTIONS(2588),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2590),
    [anon_sym_defined_QMARK] = ACTIONS(2592),
    [anon_sym_not] = ACTIONS(2594),
    [anon_sym_BANG] = ACTIONS(2596),
    [anon_sym_TILDE] = ACTIONS(2596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1642] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(434),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1645),
    [sym_call] = STATE(1645),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1647),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1648),
    [sym__variable] = STATE(1645),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2580),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2582),
    [anon_sym_yield] = ACTIONS(2584),
    [anon_sym_break] = ACTIONS(2586),
    [anon_sym_next] = ACTIONS(2588),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2590),
    [anon_sym_defined_QMARK] = ACTIONS(2592),
    [anon_sym_not] = ACTIONS(2594),
    [anon_sym_BANG] = ACTIONS(2596),
    [anon_sym_TILDE] = ACTIONS(2596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1643] = {
    [sym__then] = STATE(4218),
    [sym_heredoc_end] = STATE(4215),
    [sym__terminator] = STATE(4219),
    [aux_sym_when_repeat1] = STATE(4220),
    [sym__simple_heredoc_body] = ACTIONS(6080),
    [sym__heredoc_body_beginning] = ACTIONS(6082),
    [sym__line_break] = ACTIONS(6084),
    [anon_sym_COMMA] = ACTIONS(6086),
    [anon_sym_SEMI] = ACTIONS(6084),
    [anon_sym_then] = ACTIONS(6088),
    [sym_comment] = ACTIONS(110),
  },
  [1644] = {
    [sym__simple_heredoc_body] = ACTIONS(6090),
    [sym__heredoc_body_beginning] = ACTIONS(6090),
    [sym__line_break] = ACTIONS(6090),
    [sym__binary_minus] = ACTIONS(6092),
    [sym__binary_star] = ACTIONS(6094),
    [anon_sym_COMMA] = ACTIONS(6090),
    [anon_sym_PIPE] = ACTIONS(6096),
    [anon_sym_SEMI] = ACTIONS(6090),
    [anon_sym_STAR_STAR] = ACTIONS(6098),
    [anon_sym_AMP] = ACTIONS(6100),
    [anon_sym_LT] = ACTIONS(6102),
    [anon_sym_then] = ACTIONS(6090),
    [anon_sym_QMARK] = ACTIONS(6104),
    [anon_sym_DOT_DOT] = ACTIONS(6106),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6108),
    [anon_sym_and] = ACTIONS(6110),
    [anon_sym_or] = ACTIONS(6110),
    [anon_sym_PIPE_PIPE] = ACTIONS(6112),
    [anon_sym_AMP_AMP] = ACTIONS(6112),
    [anon_sym_LT_LT] = ACTIONS(6114),
    [anon_sym_GT_GT] = ACTIONS(6114),
    [anon_sym_EQ_EQ] = ACTIONS(6116),
    [anon_sym_BANG_EQ] = ACTIONS(6112),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6112),
    [anon_sym_LT_EQ_GT] = ACTIONS(6112),
    [anon_sym_EQ_TILDE] = ACTIONS(6112),
    [anon_sym_BANG_TILDE] = ACTIONS(6112),
    [anon_sym_LT_EQ] = ACTIONS(6102),
    [anon_sym_GT] = ACTIONS(6102),
    [anon_sym_GT_EQ] = ACTIONS(6118),
    [anon_sym_CARET] = ACTIONS(6120),
    [anon_sym_PLUS] = ACTIONS(6122),
    [anon_sym_SLASH] = ACTIONS(6098),
    [anon_sym_PERCENT] = ACTIONS(6098),
    [sym_comment] = ACTIONS(110),
  },
  [1645] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4246),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4247),
    [sym_call] = STATE(4247),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(598),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(4248),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_do_block] = STATE(602),
    [sym_block] = STATE(602),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4249),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4250),
    [sym__variable] = STATE(4247),
    [sym_reserved_identifier] = STATE(4251),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(4252),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(6124),
    [sym__splat_star] = ACTIONS(6126),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(6128),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(1014),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(6130),
    [anon_sym_yield] = ACTIONS(6132),
    [anon_sym_break] = ACTIONS(6134),
    [anon_sym_next] = ACTIONS(6136),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(1038),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(982),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(6138),
    [anon_sym_not] = ACTIONS(6140),
    [anon_sym_BANG] = ACTIONS(6142),
    [anon_sym_TILDE] = ACTIONS(6144),
    [sym_constant] = ACTIONS(6146),
    [sym_identifier] = ACTIONS(6146),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1646] = {
    [sym__simple_heredoc_body] = ACTIONS(6090),
    [sym__heredoc_body_beginning] = ACTIONS(6090),
    [sym__line_break] = ACTIONS(6090),
    [anon_sym_COMMA] = ACTIONS(6090),
    [anon_sym_SEMI] = ACTIONS(6090),
    [anon_sym_then] = ACTIONS(6090),
    [sym_comment] = ACTIONS(110),
  },
  [1647] = {
    [anon_sym_EQ] = ACTIONS(6148),
    [sym_comment] = ACTIONS(256),
  },
  [1648] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(6150),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_then] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(6152),
    [anon_sym_DASH_EQ] = ACTIONS(6152),
    [anon_sym_STAR_EQ] = ACTIONS(6152),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6152),
    [anon_sym_SLASH_EQ] = ACTIONS(6152),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6152),
    [anon_sym_PIPE_EQ] = ACTIONS(6152),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6152),
    [anon_sym_AMP_EQ] = ACTIONS(6152),
    [anon_sym_PERCENT_EQ] = ACTIONS(6152),
    [anon_sym_GT_GT_EQ] = ACTIONS(6152),
    [anon_sym_LT_LT_EQ] = ACTIONS(6152),
    [anon_sym_CARET_EQ] = ACTIONS(6152),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [1649] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(2606),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_when] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [1650] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2600),
    [sym__binary_star] = ACTIONS(2602),
    [anon_sym_PIPE] = ACTIONS(2604),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(2606),
    [anon_sym_AMP] = ACTIONS(2608),
    [anon_sym_LT] = ACTIONS(2610),
    [anon_sym_when] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2614),
    [anon_sym_DOT_DOT] = ACTIONS(2616),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2618),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2622),
    [anon_sym_AMP_AMP] = ACTIONS(2622),
    [anon_sym_LT_LT] = ACTIONS(2624),
    [anon_sym_GT_GT] = ACTIONS(2624),
    [anon_sym_EQ_EQ] = ACTIONS(2626),
    [anon_sym_BANG_EQ] = ACTIONS(2622),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2622),
    [anon_sym_LT_EQ_GT] = ACTIONS(2622),
    [anon_sym_EQ_TILDE] = ACTIONS(2622),
    [anon_sym_BANG_TILDE] = ACTIONS(2622),
    [anon_sym_LT_EQ] = ACTIONS(2610),
    [anon_sym_GT] = ACTIONS(2610),
    [anon_sym_GT_EQ] = ACTIONS(2628),
    [anon_sym_CARET] = ACTIONS(2630),
    [anon_sym_PLUS] = ACTIONS(2632),
    [anon_sym_SLASH] = ACTIONS(2606),
    [anon_sym_PERCENT] = ACTIONS(2606),
    [sym_comment] = ACTIONS(110),
  },
  [1651] = {
    [sym__simple_heredoc_body] = ACTIONS(6154),
    [sym__heredoc_body_beginning] = ACTIONS(6154),
    [sym__line_break] = ACTIONS(6154),
    [sym__element_reference_left_bracket] = ACTIONS(6154),
    [sym__scope_double_colon] = ACTIONS(6154),
    [sym__binary_minus] = ACTIONS(6154),
    [sym__binary_star] = ACTIONS(6154),
    [ts_builtin_sym_end] = ACTIONS(6154),
    [anon_sym___END__] = ACTIONS(6154),
    [anon_sym_LBRACE] = ACTIONS(6154),
    [anon_sym_RBRACE] = ACTIONS(6154),
    [anon_sym_RPAREN] = ACTIONS(6154),
    [anon_sym_DOT] = ACTIONS(6156),
    [anon_sym_end] = ACTIONS(6154),
    [anon_sym_COMMA] = ACTIONS(6154),
    [anon_sym_PIPE] = ACTIONS(6156),
    [anon_sym_SEMI] = ACTIONS(6154),
    [anon_sym_STAR_STAR] = ACTIONS(6154),
    [anon_sym_AMP] = ACTIONS(6156),
    [anon_sym_LT] = ACTIONS(6156),
    [anon_sym_if] = ACTIONS(6154),
    [anon_sym_unless] = ACTIONS(6154),
    [anon_sym_while] = ACTIONS(6154),
    [anon_sym_until] = ACTIONS(6154),
    [anon_sym_rescue] = ACTIONS(6154),
    [anon_sym_do] = ACTIONS(6154),
    [anon_sym_when] = ACTIONS(6154),
    [anon_sym_elsif] = ACTIONS(6154),
    [anon_sym_else] = ACTIONS(6154),
    [anon_sym_then] = ACTIONS(6154),
    [anon_sym_ensure] = ACTIONS(6154),
    [anon_sym_EQ_GT] = ACTIONS(6154),
    [anon_sym_AMP_DOT] = ACTIONS(6154),
    [anon_sym_QMARK] = ACTIONS(6154),
    [anon_sym_DOT_DOT] = ACTIONS(6156),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6154),
    [anon_sym_and] = ACTIONS(6154),
    [anon_sym_or] = ACTIONS(6154),
    [anon_sym_PIPE_PIPE] = ACTIONS(6154),
    [anon_sym_AMP_AMP] = ACTIONS(6154),
    [anon_sym_LT_LT] = ACTIONS(6154),
    [anon_sym_GT_GT] = ACTIONS(6154),
    [anon_sym_EQ_EQ] = ACTIONS(6156),
    [anon_sym_BANG_EQ] = ACTIONS(6154),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6154),
    [anon_sym_LT_EQ_GT] = ACTIONS(6154),
    [anon_sym_EQ_TILDE] = ACTIONS(6154),
    [anon_sym_BANG_TILDE] = ACTIONS(6154),
    [anon_sym_LT_EQ] = ACTIONS(6156),
    [anon_sym_GT] = ACTIONS(6156),
    [anon_sym_GT_EQ] = ACTIONS(6154),
    [anon_sym_CARET] = ACTIONS(6154),
    [anon_sym_PLUS] = ACTIONS(6154),
    [anon_sym_SLASH] = ACTIONS(6154),
    [anon_sym_PERCENT] = ACTIONS(6154),
    [sym_comment] = ACTIONS(110),
  },
  [1652] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4255),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(400),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(401),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(668),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(680),
    [anon_sym_defined_QMARK] = ACTIONS(682),
    [anon_sym_not] = ACTIONS(684),
    [anon_sym_BANG] = ACTIONS(686),
    [anon_sym_TILDE] = ACTIONS(686),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1653] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4256),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(400),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(401),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(668),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(680),
    [anon_sym_defined_QMARK] = ACTIONS(682),
    [anon_sym_not] = ACTIONS(684),
    [anon_sym_BANG] = ACTIONS(686),
    [anon_sym_TILDE] = ACTIONS(686),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1654] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4257),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(400),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(401),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(668),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(680),
    [anon_sym_defined_QMARK] = ACTIONS(682),
    [anon_sym_not] = ACTIONS(684),
    [anon_sym_BANG] = ACTIONS(686),
    [anon_sym_TILDE] = ACTIONS(686),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1655] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4258),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(400),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(401),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(668),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(680),
    [anon_sym_defined_QMARK] = ACTIONS(682),
    [anon_sym_not] = ACTIONS(684),
    [anon_sym_BANG] = ACTIONS(686),
    [anon_sym_TILDE] = ACTIONS(686),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1656] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4259),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(400),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(401),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(668),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(680),
    [anon_sym_defined_QMARK] = ACTIONS(682),
    [anon_sym_not] = ACTIONS(684),
    [anon_sym_BANG] = ACTIONS(686),
    [anon_sym_TILDE] = ACTIONS(686),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1657] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4260),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(400),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(401),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(668),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(680),
    [anon_sym_defined_QMARK] = ACTIONS(682),
    [anon_sym_not] = ACTIONS(684),
    [anon_sym_BANG] = ACTIONS(686),
    [anon_sym_TILDE] = ACTIONS(686),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1658] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(4261),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [1659] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4262),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(400),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(401),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(668),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(680),
    [anon_sym_defined_QMARK] = ACTIONS(682),
    [anon_sym_not] = ACTIONS(684),
    [anon_sym_BANG] = ACTIONS(686),
    [anon_sym_TILDE] = ACTIONS(686),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1660] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4263),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(400),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(401),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(668),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(680),
    [anon_sym_defined_QMARK] = ACTIONS(682),
    [anon_sym_not] = ACTIONS(684),
    [anon_sym_BANG] = ACTIONS(686),
    [anon_sym_TILDE] = ACTIONS(686),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1661] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4264),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(400),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(401),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(668),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(680),
    [anon_sym_defined_QMARK] = ACTIONS(682),
    [anon_sym_not] = ACTIONS(684),
    [anon_sym_BANG] = ACTIONS(686),
    [anon_sym_TILDE] = ACTIONS(686),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1662] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4265),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(400),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(401),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(668),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(680),
    [anon_sym_defined_QMARK] = ACTIONS(682),
    [anon_sym_not] = ACTIONS(684),
    [anon_sym_BANG] = ACTIONS(686),
    [anon_sym_TILDE] = ACTIONS(686),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1663] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4266),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(400),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(401),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(668),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(680),
    [anon_sym_defined_QMARK] = ACTIONS(682),
    [anon_sym_not] = ACTIONS(684),
    [anon_sym_BANG] = ACTIONS(686),
    [anon_sym_TILDE] = ACTIONS(686),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1664] = {
    [anon_sym_end] = ACTIONS(6158),
    [sym_comment] = ACTIONS(110),
  },
  [1665] = {
    [sym_when] = STATE(4268),
    [sym_heredoc_end] = STATE(387),
    [sym__terminator] = STATE(1688),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym__line_break] = ACTIONS(666),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_when] = ACTIONS(2612),
    [sym_comment] = ACTIONS(110),
  },
  [1666] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(4277),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(4278),
    [sym_call] = STATE(4278),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4279),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4280),
    [sym__variable] = STATE(4278),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(6160),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(6162),
    [anon_sym_yield] = ACTIONS(6164),
    [anon_sym_break] = ACTIONS(6166),
    [anon_sym_next] = ACTIONS(6168),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(6170),
    [anon_sym_defined_QMARK] = ACTIONS(6172),
    [anon_sym_not] = ACTIONS(6174),
    [anon_sym_BANG] = ACTIONS(6176),
    [anon_sym_TILDE] = ACTIONS(6176),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [1667] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(4281),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(4278),
    [sym_call] = STATE(4278),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4279),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4280),
    [sym__variable] = STATE(4278),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(6160),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(6162),
    [anon_sym_yield] = ACTIONS(6164),
    [anon_sym_break] = ACTIONS(6166),
    [anon_sym_next] = ACTIONS(6168),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(6170),
    [anon_sym_defined_QMARK] = ACTIONS(6172),
    [anon_sym_not] = ACTIONS(6174),
    [anon_sym_BANG] = ACTIONS(6176),
    [anon_sym_TILDE] = ACTIONS(6176),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [1668] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4286),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1680),
    [sym_call] = STATE(1680),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1682),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1683),
    [sym__variable] = STATE(1680),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2638),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(6178),
    [anon_sym_yield] = ACTIONS(6180),
    [anon_sym_break] = ACTIONS(6182),
    [anon_sym_next] = ACTIONS(6184),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(6186),
    [anon_sym_defined_QMARK] = ACTIONS(2648),
    [anon_sym_not] = ACTIONS(6188),
    [anon_sym_BANG] = ACTIONS(2654),
    [anon_sym_TILDE] = ACTIONS(2654),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1669] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(4287),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(4278),
    [sym_call] = STATE(4278),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4279),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4280),
    [sym__variable] = STATE(4278),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(6160),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(6162),
    [anon_sym_yield] = ACTIONS(6164),
    [anon_sym_break] = ACTIONS(6166),
    [anon_sym_next] = ACTIONS(6168),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(6170),
    [anon_sym_defined_QMARK] = ACTIONS(6172),
    [anon_sym_not] = ACTIONS(6174),
    [anon_sym_BANG] = ACTIONS(6176),
    [anon_sym_TILDE] = ACTIONS(6176),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [1670] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4181),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1680),
    [sym_call] = STATE(1680),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2147),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(4182),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1682),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1683),
    [sym__variable] = STATE(1680),
    [sym_reserved_identifier] = STATE(4183),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(4184),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(6040),
    [sym__splat_star] = ACTIONS(6042),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2638),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(544),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2640),
    [anon_sym_yield] = ACTIONS(2642),
    [anon_sym_break] = ACTIONS(2644),
    [anon_sym_next] = ACTIONS(2646),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(544),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_PLUS_EQ] = ACTIONS(532),
    [anon_sym_DASH_EQ] = ACTIONS(532),
    [anon_sym_STAR_EQ] = ACTIONS(532),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(532),
    [anon_sym_SLASH_EQ] = ACTIONS(532),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(532),
    [anon_sym_PIPE_EQ] = ACTIONS(532),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(532),
    [anon_sym_AMP_EQ] = ACTIONS(532),
    [anon_sym_PERCENT_EQ] = ACTIONS(532),
    [anon_sym_GT_GT_EQ] = ACTIONS(532),
    [anon_sym_LT_LT_EQ] = ACTIONS(532),
    [anon_sym_CARET_EQ] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(544),
    [anon_sym_AMP_AMP] = ACTIONS(544),
    [anon_sym_LT_LT] = ACTIONS(544),
    [anon_sym_GT_GT] = ACTIONS(544),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(544),
    [anon_sym_PERCENT] = ACTIONS(544),
    [anon_sym_defined_QMARK] = ACTIONS(2648),
    [anon_sym_not] = ACTIONS(2650),
    [anon_sym_BANG] = ACTIONS(2652),
    [anon_sym_TILDE] = ACTIONS(2654),
    [sym_constant] = ACTIONS(6044),
    [sym_identifier] = ACTIONS(6044),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1671] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4181),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1680),
    [sym_call] = STATE(1680),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2148),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(4182),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1682),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1683),
    [sym__variable] = STATE(1680),
    [sym_reserved_identifier] = STATE(4183),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(4184),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(6040),
    [sym__splat_star] = ACTIONS(6042),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2638),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(604),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2640),
    [anon_sym_yield] = ACTIONS(2642),
    [anon_sym_break] = ACTIONS(2644),
    [anon_sym_next] = ACTIONS(2646),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(604),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_PLUS_EQ] = ACTIONS(602),
    [anon_sym_DASH_EQ] = ACTIONS(602),
    [anon_sym_STAR_EQ] = ACTIONS(602),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(602),
    [anon_sym_SLASH_EQ] = ACTIONS(602),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(602),
    [anon_sym_PIPE_EQ] = ACTIONS(602),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(602),
    [anon_sym_AMP_EQ] = ACTIONS(602),
    [anon_sym_PERCENT_EQ] = ACTIONS(602),
    [anon_sym_GT_GT_EQ] = ACTIONS(602),
    [anon_sym_LT_LT_EQ] = ACTIONS(602),
    [anon_sym_CARET_EQ] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(604),
    [anon_sym_AMP_AMP] = ACTIONS(604),
    [anon_sym_LT_LT] = ACTIONS(604),
    [anon_sym_GT_GT] = ACTIONS(604),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(604),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(604),
    [anon_sym_PERCENT] = ACTIONS(604),
    [anon_sym_defined_QMARK] = ACTIONS(2648),
    [anon_sym_not] = ACTIONS(2650),
    [anon_sym_BANG] = ACTIONS(2652),
    [anon_sym_TILDE] = ACTIONS(2654),
    [sym_constant] = ACTIONS(6044),
    [sym_identifier] = ACTIONS(6044),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1672] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4181),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1680),
    [sym_call] = STATE(1680),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2149),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(4182),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1682),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1683),
    [sym__variable] = STATE(1680),
    [sym_reserved_identifier] = STATE(4183),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(4184),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(6040),
    [sym__splat_star] = ACTIONS(6042),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2638),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(608),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2640),
    [anon_sym_yield] = ACTIONS(2642),
    [anon_sym_break] = ACTIONS(2644),
    [anon_sym_next] = ACTIONS(2646),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(608),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_PLUS_EQ] = ACTIONS(606),
    [anon_sym_DASH_EQ] = ACTIONS(606),
    [anon_sym_STAR_EQ] = ACTIONS(606),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(606),
    [anon_sym_SLASH_EQ] = ACTIONS(606),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(606),
    [anon_sym_PIPE_EQ] = ACTIONS(606),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(606),
    [anon_sym_AMP_EQ] = ACTIONS(606),
    [anon_sym_PERCENT_EQ] = ACTIONS(606),
    [anon_sym_GT_GT_EQ] = ACTIONS(606),
    [anon_sym_LT_LT_EQ] = ACTIONS(606),
    [anon_sym_CARET_EQ] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(608),
    [anon_sym_AMP_AMP] = ACTIONS(608),
    [anon_sym_LT_LT] = ACTIONS(608),
    [anon_sym_GT_GT] = ACTIONS(608),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(608),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(608),
    [anon_sym_PERCENT] = ACTIONS(608),
    [anon_sym_defined_QMARK] = ACTIONS(2648),
    [anon_sym_not] = ACTIONS(2650),
    [anon_sym_BANG] = ACTIONS(2652),
    [anon_sym_TILDE] = ACTIONS(2654),
    [sym_constant] = ACTIONS(6044),
    [sym_identifier] = ACTIONS(6044),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1673] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4181),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1680),
    [sym_call] = STATE(1680),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2150),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(4182),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1682),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1683),
    [sym__variable] = STATE(1680),
    [sym_reserved_identifier] = STATE(4183),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(4184),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(6040),
    [sym__splat_star] = ACTIONS(6042),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2638),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(612),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2640),
    [anon_sym_yield] = ACTIONS(2642),
    [anon_sym_break] = ACTIONS(2644),
    [anon_sym_next] = ACTIONS(2646),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(612),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_PLUS_EQ] = ACTIONS(610),
    [anon_sym_DASH_EQ] = ACTIONS(610),
    [anon_sym_STAR_EQ] = ACTIONS(610),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(610),
    [anon_sym_SLASH_EQ] = ACTIONS(610),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(610),
    [anon_sym_PIPE_EQ] = ACTIONS(610),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(610),
    [anon_sym_AMP_EQ] = ACTIONS(610),
    [anon_sym_PERCENT_EQ] = ACTIONS(610),
    [anon_sym_GT_GT_EQ] = ACTIONS(610),
    [anon_sym_LT_LT_EQ] = ACTIONS(610),
    [anon_sym_CARET_EQ] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(612),
    [anon_sym_AMP_AMP] = ACTIONS(612),
    [anon_sym_LT_LT] = ACTIONS(612),
    [anon_sym_GT_GT] = ACTIONS(612),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(612),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(612),
    [anon_sym_PERCENT] = ACTIONS(612),
    [anon_sym_defined_QMARK] = ACTIONS(2648),
    [anon_sym_not] = ACTIONS(2650),
    [anon_sym_BANG] = ACTIONS(2652),
    [anon_sym_TILDE] = ACTIONS(2654),
    [sym_constant] = ACTIONS(6044),
    [sym_identifier] = ACTIONS(6044),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1674] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4288),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1680),
    [sym_call] = STATE(1680),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1682),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1683),
    [sym__variable] = STATE(1680),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2638),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(6178),
    [anon_sym_yield] = ACTIONS(6180),
    [anon_sym_break] = ACTIONS(6182),
    [anon_sym_next] = ACTIONS(6184),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(6186),
    [anon_sym_defined_QMARK] = ACTIONS(2648),
    [anon_sym_not] = ACTIONS(6188),
    [anon_sym_BANG] = ACTIONS(2654),
    [anon_sym_TILDE] = ACTIONS(2654),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1675] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4289),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1680),
    [sym_call] = STATE(1680),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1682),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1683),
    [sym__variable] = STATE(1680),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2638),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(6178),
    [anon_sym_yield] = ACTIONS(6180),
    [anon_sym_break] = ACTIONS(6182),
    [anon_sym_next] = ACTIONS(6184),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(6186),
    [anon_sym_defined_QMARK] = ACTIONS(2648),
    [anon_sym_not] = ACTIONS(6188),
    [anon_sym_BANG] = ACTIONS(2654),
    [anon_sym_TILDE] = ACTIONS(2654),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1676] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4289),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1680),
    [sym_call] = STATE(1680),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1682),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1683),
    [sym__variable] = STATE(1680),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2638),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(6178),
    [anon_sym_yield] = ACTIONS(6180),
    [anon_sym_break] = ACTIONS(6182),
    [anon_sym_next] = ACTIONS(6184),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(6186),
    [anon_sym_defined_QMARK] = ACTIONS(2648),
    [anon_sym_not] = ACTIONS(6188),
    [anon_sym_BANG] = ACTIONS(2654),
    [anon_sym_TILDE] = ACTIONS(2654),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1677] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(2168),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1680),
    [sym_call] = STATE(1680),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1682),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1683),
    [sym__variable] = STATE(1680),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2638),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(6178),
    [anon_sym_yield] = ACTIONS(6180),
    [anon_sym_break] = ACTIONS(6182),
    [anon_sym_next] = ACTIONS(6184),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(6186),
    [anon_sym_defined_QMARK] = ACTIONS(2648),
    [anon_sym_not] = ACTIONS(6188),
    [anon_sym_BANG] = ACTIONS(2654),
    [anon_sym_TILDE] = ACTIONS(2654),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1678] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(6190),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [1679] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__line_break] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(6192),
    [sym__binary_star] = ACTIONS(6194),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(6196),
    [anon_sym_SEMI] = ACTIONS(2210),
    [anon_sym_STAR_STAR] = ACTIONS(6198),
    [anon_sym_AMP] = ACTIONS(6200),
    [anon_sym_EQ] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(6202),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_when] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(6190),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_PLUS_EQ] = ACTIONS(2210),
    [anon_sym_DASH_EQ] = ACTIONS(2210),
    [anon_sym_STAR_EQ] = ACTIONS(2210),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2210),
    [anon_sym_SLASH_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2210),
    [anon_sym_AMP_EQ] = ACTIONS(2210),
    [anon_sym_PERCENT_EQ] = ACTIONS(2210),
    [anon_sym_GT_GT_EQ] = ACTIONS(2210),
    [anon_sym_LT_LT_EQ] = ACTIONS(2210),
    [anon_sym_CARET_EQ] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(6204),
    [anon_sym_DOT_DOT] = ACTIONS(6206),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6208),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(6210),
    [anon_sym_AMP_AMP] = ACTIONS(6210),
    [anon_sym_LT_LT] = ACTIONS(6212),
    [anon_sym_GT_GT] = ACTIONS(6212),
    [anon_sym_EQ_EQ] = ACTIONS(6210),
    [anon_sym_BANG_EQ] = ACTIONS(6214),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6214),
    [anon_sym_LT_EQ_GT] = ACTIONS(6214),
    [anon_sym_EQ_TILDE] = ACTIONS(6214),
    [anon_sym_BANG_TILDE] = ACTIONS(6214),
    [anon_sym_LT_EQ] = ACTIONS(6202),
    [anon_sym_GT] = ACTIONS(6202),
    [anon_sym_GT_EQ] = ACTIONS(6216),
    [anon_sym_CARET] = ACTIONS(6196),
    [anon_sym_PLUS] = ACTIONS(6218),
    [anon_sym_SLASH] = ACTIONS(6198),
    [anon_sym_PERCENT] = ACTIONS(6198),
    [sym_comment] = ACTIONS(256),
  },
  [1680] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4181),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1680),
    [sym_call] = STATE(1680),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2190),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(4182),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_do_block] = STATE(1439),
    [sym_block] = STATE(1439),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1682),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1683),
    [sym__variable] = STATE(1680),
    [sym_reserved_identifier] = STATE(4183),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(4184),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(6040),
    [sym__splat_star] = ACTIONS(6042),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(2638),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(2258),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2640),
    [anon_sym_yield] = ACTIONS(2642),
    [anon_sym_break] = ACTIONS(2644),
    [anon_sym_next] = ACTIONS(2646),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(982),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(982),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(980),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(2648),
    [anon_sym_not] = ACTIONS(2650),
    [anon_sym_BANG] = ACTIONS(2652),
    [anon_sym_TILDE] = ACTIONS(2654),
    [sym_constant] = ACTIONS(6044),
    [sym_identifier] = ACTIONS(6044),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1681] = {
    [sym_heredoc_end] = STATE(2196),
    [aux_sym_argument_list_repeat1] = STATE(4304),
    [aux_sym_argument_list_repeat2] = STATE(2197),
    [sym__simple_heredoc_body] = ACTIONS(3354),
    [sym__heredoc_body_beginning] = ACTIONS(3356),
    [sym__line_break] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(6220),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_STAR_STAR] = ACTIONS(2274),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_EQ] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_when] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_PLUS_EQ] = ACTIONS(2272),
    [anon_sym_DASH_EQ] = ACTIONS(2272),
    [anon_sym_STAR_EQ] = ACTIONS(2272),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2272),
    [anon_sym_SLASH_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2272),
    [anon_sym_AMP_EQ] = ACTIONS(2272),
    [anon_sym_PERCENT_EQ] = ACTIONS(2272),
    [anon_sym_GT_GT_EQ] = ACTIONS(2272),
    [anon_sym_LT_LT_EQ] = ACTIONS(2272),
    [anon_sym_CARET_EQ] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2274),
    [anon_sym_AMP_AMP] = ACTIONS(2274),
    [anon_sym_LT_LT] = ACTIONS(2274),
    [anon_sym_GT_GT] = ACTIONS(2274),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2274),
    [anon_sym_PLUS] = ACTIONS(2274),
    [anon_sym_SLASH] = ACTIONS(2274),
    [anon_sym_PERCENT] = ACTIONS(2274),
    [sym_comment] = ACTIONS(256),
  },
  [1682] = {
    [anon_sym_EQ] = ACTIONS(6222),
    [sym_comment] = ACTIONS(256),
  },
  [1683] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(6224),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_when] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(6226),
    [anon_sym_DASH_EQ] = ACTIONS(6226),
    [anon_sym_STAR_EQ] = ACTIONS(6226),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6226),
    [anon_sym_SLASH_EQ] = ACTIONS(6226),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6226),
    [anon_sym_PIPE_EQ] = ACTIONS(6226),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6226),
    [anon_sym_AMP_EQ] = ACTIONS(6226),
    [anon_sym_PERCENT_EQ] = ACTIONS(6226),
    [anon_sym_GT_GT_EQ] = ACTIONS(6226),
    [anon_sym_LT_LT_EQ] = ACTIONS(6226),
    [anon_sym_CARET_EQ] = ACTIONS(6226),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [1684] = {
    [sym__keyword_colon] = ACTIONS(6228),
    [sym_comment] = ACTIONS(110),
  },
  [1685] = {
    [sym_string] = STATE(2203),
    [aux_sym_chained_string_repeat1] = STATE(2204),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(6190),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_when] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(3266),
  },
  [1686] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4313),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_splat_argument] = STATE(2211),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_right_assignment_list] = STATE(2212),
    [sym__arg_or_splat_arg] = STATE(4314),
    [sym_left_assignment_list] = STATE(4315),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4316),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(6230),
    [sym__unary_minus] = ACTIONS(6232),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6234),
    [anon_sym_defined_QMARK] = ACTIONS(6236),
    [anon_sym_not] = ACTIONS(6238),
    [anon_sym_BANG] = ACTIONS(6240),
    [anon_sym_TILDE] = ACTIONS(6240),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1687] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4317),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(400),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(401),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(668),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(680),
    [anon_sym_defined_QMARK] = ACTIONS(682),
    [anon_sym_not] = ACTIONS(684),
    [anon_sym_BANG] = ACTIONS(686),
    [anon_sym_TILDE] = ACTIONS(686),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1688] = {
    [sym__simple_heredoc_body] = ACTIONS(6242),
    [sym__heredoc_body_beginning] = ACTIONS(6242),
    [sym__line_break] = ACTIONS(6242),
    [anon_sym_SEMI] = ACTIONS(6242),
    [anon_sym_when] = ACTIONS(6242),
    [sym_comment] = ACTIONS(110),
  },
  [1689] = {
    [sym__heredoc_body_middle] = ACTIONS(4108),
    [sym__heredoc_body_end] = ACTIONS(6244),
    [anon_sym_if] = ACTIONS(4112),
    [anon_sym_unless] = ACTIONS(4114),
    [anon_sym_while] = ACTIONS(4116),
    [anon_sym_until] = ACTIONS(4118),
    [anon_sym_rescue] = ACTIONS(4120),
    [sym_comment] = ACTIONS(110),
  },
  [1690] = {
    [sym__statement] = STATE(4319),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [1691] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_end] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(2812),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_if] = ACTIONS(1372),
    [anon_sym_unless] = ACTIONS(1372),
    [anon_sym_while] = ACTIONS(1372),
    [anon_sym_until] = ACTIONS(1372),
    [anon_sym_rescue] = ACTIONS(1372),
    [anon_sym_else] = ACTIONS(1372),
    [anon_sym_ensure] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [1692] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4324),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4325),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4326),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6246),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6248),
    [anon_sym_defined_QMARK] = ACTIONS(6250),
    [anon_sym_not] = ACTIONS(6252),
    [anon_sym_BANG] = ACTIONS(6254),
    [anon_sym_TILDE] = ACTIONS(6254),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1693] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4327),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4325),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4326),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6246),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6248),
    [anon_sym_defined_QMARK] = ACTIONS(6250),
    [anon_sym_not] = ACTIONS(6252),
    [anon_sym_BANG] = ACTIONS(6254),
    [anon_sym_TILDE] = ACTIONS(6254),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1694] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4332),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1706),
    [sym_call] = STATE(1706),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1708),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1709),
    [sym__variable] = STATE(1706),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2682),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(6256),
    [anon_sym_yield] = ACTIONS(6258),
    [anon_sym_break] = ACTIONS(6260),
    [anon_sym_next] = ACTIONS(6262),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6264),
    [anon_sym_defined_QMARK] = ACTIONS(2692),
    [anon_sym_not] = ACTIONS(6266),
    [anon_sym_BANG] = ACTIONS(2698),
    [anon_sym_TILDE] = ACTIONS(2698),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1695] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4333),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4325),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4326),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6246),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6248),
    [anon_sym_defined_QMARK] = ACTIONS(6250),
    [anon_sym_not] = ACTIONS(6252),
    [anon_sym_BANG] = ACTIONS(6254),
    [anon_sym_TILDE] = ACTIONS(6254),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1696] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4338),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1706),
    [sym_call] = STATE(1706),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(340),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(4339),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1708),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1709),
    [sym__variable] = STATE(1706),
    [sym_reserved_identifier] = STATE(4340),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(4341),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(6268),
    [sym__splat_star] = ACTIONS(6270),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2682),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(544),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2684),
    [anon_sym_yield] = ACTIONS(2686),
    [anon_sym_break] = ACTIONS(2688),
    [anon_sym_next] = ACTIONS(2690),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(544),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(544),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(2692),
    [anon_sym_not] = ACTIONS(2694),
    [anon_sym_BANG] = ACTIONS(2696),
    [anon_sym_TILDE] = ACTIONS(2698),
    [sym_constant] = ACTIONS(6272),
    [sym_identifier] = ACTIONS(6272),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1697] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4338),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1706),
    [sym_call] = STATE(1706),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(349),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(4339),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1708),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1709),
    [sym__variable] = STATE(1706),
    [sym_reserved_identifier] = STATE(4340),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(4341),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(6268),
    [sym__splat_star] = ACTIONS(6270),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2682),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(604),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2684),
    [anon_sym_yield] = ACTIONS(2686),
    [anon_sym_break] = ACTIONS(2688),
    [anon_sym_next] = ACTIONS(2690),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(604),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(604),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(2692),
    [anon_sym_not] = ACTIONS(2694),
    [anon_sym_BANG] = ACTIONS(2696),
    [anon_sym_TILDE] = ACTIONS(2698),
    [sym_constant] = ACTIONS(6272),
    [sym_identifier] = ACTIONS(6272),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1698] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4338),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1706),
    [sym_call] = STATE(1706),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(350),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(4339),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1708),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1709),
    [sym__variable] = STATE(1706),
    [sym_reserved_identifier] = STATE(4340),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(4341),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(6268),
    [sym__splat_star] = ACTIONS(6270),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2682),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(608),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2684),
    [anon_sym_yield] = ACTIONS(2686),
    [anon_sym_break] = ACTIONS(2688),
    [anon_sym_next] = ACTIONS(2690),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(608),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(608),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(2692),
    [anon_sym_not] = ACTIONS(2694),
    [anon_sym_BANG] = ACTIONS(2696),
    [anon_sym_TILDE] = ACTIONS(2698),
    [sym_constant] = ACTIONS(6272),
    [sym_identifier] = ACTIONS(6272),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1699] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4338),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1706),
    [sym_call] = STATE(1706),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(351),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(4339),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1708),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1709),
    [sym__variable] = STATE(1706),
    [sym_reserved_identifier] = STATE(4340),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(4341),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(6268),
    [sym__splat_star] = ACTIONS(6270),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2682),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(612),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2684),
    [anon_sym_yield] = ACTIONS(2686),
    [anon_sym_break] = ACTIONS(2688),
    [anon_sym_next] = ACTIONS(2690),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(612),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(612),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(2692),
    [anon_sym_not] = ACTIONS(2694),
    [anon_sym_BANG] = ACTIONS(2696),
    [anon_sym_TILDE] = ACTIONS(2698),
    [sym_constant] = ACTIONS(6272),
    [sym_identifier] = ACTIONS(6272),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1700] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4342),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1706),
    [sym_call] = STATE(1706),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1708),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1709),
    [sym__variable] = STATE(1706),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2682),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(6256),
    [anon_sym_yield] = ACTIONS(6258),
    [anon_sym_break] = ACTIONS(6260),
    [anon_sym_next] = ACTIONS(6262),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6264),
    [anon_sym_defined_QMARK] = ACTIONS(2692),
    [anon_sym_not] = ACTIONS(6266),
    [anon_sym_BANG] = ACTIONS(2698),
    [anon_sym_TILDE] = ACTIONS(2698),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1701] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4343),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1706),
    [sym_call] = STATE(1706),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1708),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1709),
    [sym__variable] = STATE(1706),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2682),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(6256),
    [anon_sym_yield] = ACTIONS(6258),
    [anon_sym_break] = ACTIONS(6260),
    [anon_sym_next] = ACTIONS(6262),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6264),
    [anon_sym_defined_QMARK] = ACTIONS(2692),
    [anon_sym_not] = ACTIONS(6266),
    [anon_sym_BANG] = ACTIONS(2698),
    [anon_sym_TILDE] = ACTIONS(2698),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1702] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4343),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1706),
    [sym_call] = STATE(1706),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1708),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1709),
    [sym__variable] = STATE(1706),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2682),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(6256),
    [anon_sym_yield] = ACTIONS(6258),
    [anon_sym_break] = ACTIONS(6260),
    [anon_sym_next] = ACTIONS(6262),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6264),
    [anon_sym_defined_QMARK] = ACTIONS(2692),
    [anon_sym_not] = ACTIONS(6266),
    [anon_sym_BANG] = ACTIONS(2698),
    [anon_sym_TILDE] = ACTIONS(2698),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1703] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1410),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1706),
    [sym_call] = STATE(1706),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1708),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1709),
    [sym__variable] = STATE(1706),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2682),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(6256),
    [anon_sym_yield] = ACTIONS(6258),
    [anon_sym_break] = ACTIONS(6260),
    [anon_sym_next] = ACTIONS(6262),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6264),
    [anon_sym_defined_QMARK] = ACTIONS(2692),
    [anon_sym_not] = ACTIONS(6266),
    [anon_sym_BANG] = ACTIONS(2698),
    [anon_sym_TILDE] = ACTIONS(2698),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1704] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(6274),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [1705] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__line_break] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(6276),
    [sym__binary_star] = ACTIONS(6278),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_end] = ACTIONS(2210),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(6280),
    [anon_sym_SEMI] = ACTIONS(2210),
    [anon_sym_STAR_STAR] = ACTIONS(6282),
    [anon_sym_AMP] = ACTIONS(6284),
    [anon_sym_LT] = ACTIONS(6286),
    [anon_sym_if] = ACTIONS(2210),
    [anon_sym_unless] = ACTIONS(2210),
    [anon_sym_while] = ACTIONS(2210),
    [anon_sym_until] = ACTIONS(2210),
    [anon_sym_rescue] = ACTIONS(2210),
    [anon_sym_else] = ACTIONS(2210),
    [anon_sym_ensure] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(6274),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(6288),
    [anon_sym_DOT_DOT] = ACTIONS(6290),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6292),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(6294),
    [anon_sym_AMP_AMP] = ACTIONS(6294),
    [anon_sym_LT_LT] = ACTIONS(6296),
    [anon_sym_GT_GT] = ACTIONS(6296),
    [anon_sym_EQ_EQ] = ACTIONS(6298),
    [anon_sym_BANG_EQ] = ACTIONS(6294),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6294),
    [anon_sym_LT_EQ_GT] = ACTIONS(6294),
    [anon_sym_EQ_TILDE] = ACTIONS(6294),
    [anon_sym_BANG_TILDE] = ACTIONS(6294),
    [anon_sym_LT_EQ] = ACTIONS(6286),
    [anon_sym_GT] = ACTIONS(6286),
    [anon_sym_GT_EQ] = ACTIONS(6300),
    [anon_sym_CARET] = ACTIONS(6302),
    [anon_sym_PLUS] = ACTIONS(6304),
    [anon_sym_SLASH] = ACTIONS(6282),
    [anon_sym_PERCENT] = ACTIONS(6282),
    [sym_comment] = ACTIONS(110),
  },
  [1706] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4361),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1812),
    [sym_call] = STATE(1812),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(1435),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(4362),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_do_block] = STATE(1439),
    [sym_block] = STATE(1439),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1814),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1815),
    [sym__variable] = STATE(1812),
    [sym_reserved_identifier] = STATE(4363),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(4364),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(6306),
    [sym__splat_star] = ACTIONS(6308),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(2842),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(2258),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(982),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2844),
    [anon_sym_yield] = ACTIONS(2846),
    [anon_sym_break] = ACTIONS(2848),
    [anon_sym_next] = ACTIONS(2850),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(982),
    [anon_sym_unless] = ACTIONS(982),
    [anon_sym_while] = ACTIONS(982),
    [anon_sym_until] = ACTIONS(982),
    [anon_sym_rescue] = ACTIONS(982),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(2260),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(982),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(982),
    [anon_sym_EQ_GT] = ACTIONS(980),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(2852),
    [anon_sym_not] = ACTIONS(2854),
    [anon_sym_BANG] = ACTIONS(2856),
    [anon_sym_TILDE] = ACTIONS(2858),
    [sym_constant] = ACTIONS(6310),
    [sym_identifier] = ACTIONS(6310),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1707] = {
    [sym_heredoc_end] = STATE(1444),
    [aux_sym_argument_list_repeat1] = STATE(4366),
    [aux_sym_argument_list_repeat2] = STATE(1445),
    [sym__simple_heredoc_body] = ACTIONS(2268),
    [sym__heredoc_body_beginning] = ACTIONS(2270),
    [sym__line_break] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_end] = ACTIONS(2272),
    [anon_sym_COMMA] = ACTIONS(6312),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_STAR_STAR] = ACTIONS(2272),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_if] = ACTIONS(2272),
    [anon_sym_unless] = ACTIONS(2272),
    [anon_sym_while] = ACTIONS(2272),
    [anon_sym_until] = ACTIONS(2272),
    [anon_sym_rescue] = ACTIONS(2272),
    [anon_sym_else] = ACTIONS(2272),
    [anon_sym_ensure] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2272),
    [anon_sym_AMP_AMP] = ACTIONS(2272),
    [anon_sym_LT_LT] = ACTIONS(2272),
    [anon_sym_GT_GT] = ACTIONS(2272),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2272),
    [anon_sym_PLUS] = ACTIONS(2272),
    [anon_sym_SLASH] = ACTIONS(2272),
    [anon_sym_PERCENT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(110),
  },
  [1708] = {
    [anon_sym_EQ] = ACTIONS(6314),
    [sym_comment] = ACTIONS(256),
  },
  [1709] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_end] = ACTIONS(250),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(6316),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_else] = ACTIONS(250),
    [anon_sym_ensure] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(6318),
    [anon_sym_DASH_EQ] = ACTIONS(6318),
    [anon_sym_STAR_EQ] = ACTIONS(6318),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6318),
    [anon_sym_SLASH_EQ] = ACTIONS(6318),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6318),
    [anon_sym_PIPE_EQ] = ACTIONS(6318),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6318),
    [anon_sym_AMP_EQ] = ACTIONS(6318),
    [anon_sym_PERCENT_EQ] = ACTIONS(6318),
    [anon_sym_GT_GT_EQ] = ACTIONS(6318),
    [anon_sym_LT_LT_EQ] = ACTIONS(6318),
    [anon_sym_CARET_EQ] = ACTIONS(6318),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [1710] = {
    [sym__keyword_colon] = ACTIONS(6320),
    [sym_comment] = ACTIONS(110),
  },
  [1711] = {
    [sym_string] = STATE(611),
    [aux_sym_chained_string_repeat1] = STATE(612),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(20),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(6274),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_end] = ACTIONS(250),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_else] = ACTIONS(250),
    [anon_sym_ensure] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(120),
  },
  [1712] = {
    [sym__simple_string] = ACTIONS(1398),
    [sym__simple_symbol] = ACTIONS(1398),
    [sym__simple_subshell] = ACTIONS(1398),
    [sym__simple_regex] = ACTIONS(1398),
    [sym__simple_word_list] = ACTIONS(1398),
    [sym__string_beginning] = ACTIONS(1398),
    [sym__symbol_beginning] = ACTIONS(1398),
    [sym__subshell_beginning] = ACTIONS(1398),
    [sym__regex_beginning] = ACTIONS(1398),
    [sym__word_list_beginning] = ACTIONS(1398),
    [sym_heredoc_beginning] = ACTIONS(1398),
    [sym__unary_minus] = ACTIONS(1398),
    [anon_sym_BEGIN] = ACTIONS(2666),
    [anon_sym_LBRACE] = ACTIONS(1398),
    [anon_sym_END] = ACTIONS(2666),
    [anon_sym_def] = ACTIONS(2666),
    [anon_sym_LPAREN] = ACTIONS(1398),
    [anon_sym_COLON_COLON] = ACTIONS(1398),
    [anon_sym_end] = ACTIONS(2666),
    [anon_sym_SEMI] = ACTIONS(1398),
    [anon_sym_STAR] = ACTIONS(1398),
    [anon_sym_class] = ACTIONS(2666),
    [anon_sym_module] = ACTIONS(2666),
    [anon_sym_return] = ACTIONS(2666),
    [anon_sym_yield] = ACTIONS(2666),
    [anon_sym_break] = ACTIONS(2666),
    [anon_sym_next] = ACTIONS(2666),
    [anon_sym_redo] = ACTIONS(2666),
    [anon_sym_retry] = ACTIONS(2666),
    [anon_sym_if] = ACTIONS(2666),
    [anon_sym_unless] = ACTIONS(2666),
    [anon_sym_while] = ACTIONS(2666),
    [anon_sym_until] = ACTIONS(2666),
    [anon_sym_rescue] = ACTIONS(2666),
    [anon_sym_for] = ACTIONS(2666),
    [anon_sym_case] = ACTIONS(2666),
    [anon_sym_else] = ACTIONS(2666),
    [anon_sym_then] = ACTIONS(2666),
    [anon_sym_begin] = ACTIONS(2666),
    [anon_sym_ensure] = ACTIONS(2666),
    [anon_sym_PLUS] = ACTIONS(2666),
    [anon_sym_defined_QMARK] = ACTIONS(1398),
    [anon_sym_not] = ACTIONS(2666),
    [anon_sym_BANG] = ACTIONS(1398),
    [anon_sym_TILDE] = ACTIONS(1398),
    [sym_constant] = ACTIONS(2668),
    [sym_identifier] = ACTIONS(2668),
    [sym_instance_variable] = ACTIONS(2666),
    [sym_class_variable] = ACTIONS(2666),
    [sym_global_variable] = ACTIONS(2666),
    [anon_sym_alias] = ACTIONS(2666),
    [anon_sym_false] = ACTIONS(2666),
    [anon_sym_nil] = ACTIONS(2666),
    [anon_sym_self] = ACTIONS(2666),
    [anon_sym_super] = ACTIONS(2666),
    [anon_sym_true] = ACTIONS(2666),
    [anon_sym_undef] = ACTIONS(2666),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(2666),
    [sym_float] = ACTIONS(2668),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1398),
    [anon_sym_TRUE] = ACTIONS(2666),
    [anon_sym_FALSE] = ACTIONS(2666),
    [anon_sym_NIL] = ACTIONS(2666),
    [sym_keyword__FILE__] = ACTIONS(2666),
    [sym_keyword__LINE__] = ACTIONS(2666),
    [sym_keyword__ENCODING__] = ACTIONS(2666),
    [sym__character_literal] = ACTIONS(2666),
    [anon_sym_LBRACK] = ACTIONS(1398),
    [anon_sym_DASH_GT] = ACTIONS(1398),
  },
  [1713] = {
    [sym__statement] = STATE(4370),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [aux_sym_heredoc_end_repeat1] = STATE(4371),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [1714] = {
    [sym__simple_string] = ACTIONS(2552),
    [sym__simple_symbol] = ACTIONS(2552),
    [sym__simple_subshell] = ACTIONS(2552),
    [sym__simple_regex] = ACTIONS(2552),
    [sym__simple_word_list] = ACTIONS(2552),
    [sym__string_beginning] = ACTIONS(2552),
    [sym__symbol_beginning] = ACTIONS(2552),
    [sym__subshell_beginning] = ACTIONS(2552),
    [sym__regex_beginning] = ACTIONS(2552),
    [sym__word_list_beginning] = ACTIONS(2552),
    [sym_heredoc_beginning] = ACTIONS(2552),
    [sym__unary_minus] = ACTIONS(2552),
    [anon_sym_BEGIN] = ACTIONS(2670),
    [anon_sym_LBRACE] = ACTIONS(2552),
    [anon_sym_END] = ACTIONS(2670),
    [anon_sym_def] = ACTIONS(2670),
    [anon_sym_LPAREN] = ACTIONS(2552),
    [anon_sym_COLON_COLON] = ACTIONS(2552),
    [anon_sym_end] = ACTIONS(2670),
    [anon_sym_SEMI] = ACTIONS(2552),
    [anon_sym_STAR] = ACTIONS(2552),
    [anon_sym_class] = ACTIONS(2670),
    [anon_sym_module] = ACTIONS(2670),
    [anon_sym_return] = ACTIONS(2670),
    [anon_sym_yield] = ACTIONS(2670),
    [anon_sym_break] = ACTIONS(2670),
    [anon_sym_next] = ACTIONS(2670),
    [anon_sym_redo] = ACTIONS(2670),
    [anon_sym_retry] = ACTIONS(2670),
    [anon_sym_if] = ACTIONS(2670),
    [anon_sym_unless] = ACTIONS(2670),
    [anon_sym_while] = ACTIONS(2670),
    [anon_sym_until] = ACTIONS(2670),
    [anon_sym_rescue] = ACTIONS(2670),
    [anon_sym_for] = ACTIONS(2670),
    [anon_sym_case] = ACTIONS(2670),
    [anon_sym_else] = ACTIONS(2670),
    [anon_sym_then] = ACTIONS(2670),
    [anon_sym_begin] = ACTIONS(2670),
    [anon_sym_ensure] = ACTIONS(2670),
    [anon_sym_PLUS] = ACTIONS(2670),
    [anon_sym_defined_QMARK] = ACTIONS(2552),
    [anon_sym_not] = ACTIONS(2670),
    [anon_sym_BANG] = ACTIONS(2552),
    [anon_sym_TILDE] = ACTIONS(2552),
    [sym_constant] = ACTIONS(2672),
    [sym_identifier] = ACTIONS(2672),
    [sym_instance_variable] = ACTIONS(2670),
    [sym_class_variable] = ACTIONS(2670),
    [sym_global_variable] = ACTIONS(2670),
    [anon_sym_alias] = ACTIONS(2670),
    [anon_sym_false] = ACTIONS(2670),
    [anon_sym_nil] = ACTIONS(2670),
    [anon_sym_self] = ACTIONS(2670),
    [anon_sym_super] = ACTIONS(2670),
    [anon_sym_true] = ACTIONS(2670),
    [anon_sym_undef] = ACTIONS(2670),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(2670),
    [sym_float] = ACTIONS(2672),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(2552),
    [anon_sym_TRUE] = ACTIONS(2670),
    [anon_sym_FALSE] = ACTIONS(2670),
    [anon_sym_NIL] = ACTIONS(2670),
    [sym_keyword__FILE__] = ACTIONS(2670),
    [sym_keyword__LINE__] = ACTIONS(2670),
    [sym_keyword__ENCODING__] = ACTIONS(2670),
    [sym__character_literal] = ACTIONS(2670),
    [anon_sym_LBRACK] = ACTIONS(2552),
    [anon_sym_DASH_GT] = ACTIONS(2552),
  },
  [1715] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4372),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1735),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1736),
    [sym__variable] = STATE(1732),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2710),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2712),
    [anon_sym_yield] = ACTIONS(2714),
    [anon_sym_break] = ACTIONS(2716),
    [anon_sym_next] = ACTIONS(2718),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2724),
    [anon_sym_defined_QMARK] = ACTIONS(2726),
    [anon_sym_not] = ACTIONS(2728),
    [anon_sym_BANG] = ACTIONS(2730),
    [anon_sym_TILDE] = ACTIONS(2730),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1716] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4373),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1735),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1736),
    [sym__variable] = STATE(1732),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2710),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2712),
    [anon_sym_yield] = ACTIONS(2714),
    [anon_sym_break] = ACTIONS(2716),
    [anon_sym_next] = ACTIONS(2718),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2724),
    [anon_sym_defined_QMARK] = ACTIONS(2726),
    [anon_sym_not] = ACTIONS(2728),
    [anon_sym_BANG] = ACTIONS(2730),
    [anon_sym_TILDE] = ACTIONS(2730),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1717] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4378),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(340),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(4379),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4207),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4208),
    [sym__variable] = STATE(1732),
    [sym_reserved_identifier] = STATE(4380),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(4381),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(6322),
    [sym__splat_star] = ACTIONS(6324),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(6060),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(6062),
    [anon_sym_yield] = ACTIONS(6064),
    [anon_sym_break] = ACTIONS(6066),
    [anon_sym_next] = ACTIONS(6068),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(544),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(6070),
    [anon_sym_not] = ACTIONS(6072),
    [anon_sym_BANG] = ACTIONS(6074),
    [anon_sym_TILDE] = ACTIONS(6076),
    [sym_constant] = ACTIONS(6326),
    [sym_identifier] = ACTIONS(6326),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1718] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4378),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(349),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(4379),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4207),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4208),
    [sym__variable] = STATE(1732),
    [sym_reserved_identifier] = STATE(4380),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(4381),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(6322),
    [sym__splat_star] = ACTIONS(6324),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(6060),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(6062),
    [anon_sym_yield] = ACTIONS(6064),
    [anon_sym_break] = ACTIONS(6066),
    [anon_sym_next] = ACTIONS(6068),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(604),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(6070),
    [anon_sym_not] = ACTIONS(6072),
    [anon_sym_BANG] = ACTIONS(6074),
    [anon_sym_TILDE] = ACTIONS(6076),
    [sym_constant] = ACTIONS(6326),
    [sym_identifier] = ACTIONS(6326),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1719] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4378),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(350),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(4379),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4207),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4208),
    [sym__variable] = STATE(1732),
    [sym_reserved_identifier] = STATE(4380),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(4381),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(6322),
    [sym__splat_star] = ACTIONS(6324),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(6060),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(6062),
    [anon_sym_yield] = ACTIONS(6064),
    [anon_sym_break] = ACTIONS(6066),
    [anon_sym_next] = ACTIONS(6068),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(608),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(6070),
    [anon_sym_not] = ACTIONS(6072),
    [anon_sym_BANG] = ACTIONS(6074),
    [anon_sym_TILDE] = ACTIONS(6076),
    [sym_constant] = ACTIONS(6326),
    [sym_identifier] = ACTIONS(6326),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1720] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4378),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(351),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(4379),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4207),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4208),
    [sym__variable] = STATE(1732),
    [sym_reserved_identifier] = STATE(4380),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(4381),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(6322),
    [sym__splat_star] = ACTIONS(6324),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(6060),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(6062),
    [anon_sym_yield] = ACTIONS(6064),
    [anon_sym_break] = ACTIONS(6066),
    [anon_sym_next] = ACTIONS(6068),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(612),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(6070),
    [anon_sym_not] = ACTIONS(6072),
    [anon_sym_BANG] = ACTIONS(6074),
    [anon_sym_TILDE] = ACTIONS(6076),
    [sym_constant] = ACTIONS(6326),
    [sym_identifier] = ACTIONS(6326),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1721] = {
    [sym__simple_string] = ACTIONS(5560),
    [sym__simple_symbol] = ACTIONS(5560),
    [sym__simple_subshell] = ACTIONS(5560),
    [sym__simple_regex] = ACTIONS(5560),
    [sym__simple_word_list] = ACTIONS(5560),
    [sym__string_beginning] = ACTIONS(5560),
    [sym__symbol_beginning] = ACTIONS(5560),
    [sym__subshell_beginning] = ACTIONS(5560),
    [sym__regex_beginning] = ACTIONS(5560),
    [sym__word_list_beginning] = ACTIONS(5560),
    [sym_heredoc_beginning] = ACTIONS(5560),
    [sym__unary_minus] = ACTIONS(5560),
    [anon_sym_BEGIN] = ACTIONS(5562),
    [anon_sym_LBRACE] = ACTIONS(5560),
    [anon_sym_END] = ACTIONS(5562),
    [anon_sym_def] = ACTIONS(5562),
    [anon_sym_LPAREN] = ACTIONS(5560),
    [anon_sym_COLON_COLON] = ACTIONS(5560),
    [anon_sym_end] = ACTIONS(5562),
    [anon_sym_SEMI] = ACTIONS(5560),
    [anon_sym_STAR] = ACTIONS(5560),
    [anon_sym_class] = ACTIONS(5562),
    [anon_sym_module] = ACTIONS(5562),
    [anon_sym_return] = ACTIONS(5562),
    [anon_sym_yield] = ACTIONS(5562),
    [anon_sym_break] = ACTIONS(5562),
    [anon_sym_next] = ACTIONS(5562),
    [anon_sym_redo] = ACTIONS(5562),
    [anon_sym_retry] = ACTIONS(5562),
    [anon_sym_if] = ACTIONS(5562),
    [anon_sym_unless] = ACTIONS(5562),
    [anon_sym_while] = ACTIONS(5562),
    [anon_sym_until] = ACTIONS(5562),
    [anon_sym_rescue] = ACTIONS(5562),
    [anon_sym_for] = ACTIONS(5562),
    [anon_sym_case] = ACTIONS(5562),
    [anon_sym_else] = ACTIONS(5562),
    [anon_sym_begin] = ACTIONS(5562),
    [anon_sym_ensure] = ACTIONS(5562),
    [anon_sym_PLUS] = ACTIONS(5562),
    [anon_sym_defined_QMARK] = ACTIONS(5560),
    [anon_sym_not] = ACTIONS(5562),
    [anon_sym_BANG] = ACTIONS(5560),
    [anon_sym_TILDE] = ACTIONS(5560),
    [sym_constant] = ACTIONS(5564),
    [sym_identifier] = ACTIONS(5564),
    [sym_instance_variable] = ACTIONS(5562),
    [sym_class_variable] = ACTIONS(5562),
    [sym_global_variable] = ACTIONS(5562),
    [anon_sym_alias] = ACTIONS(5562),
    [anon_sym_false] = ACTIONS(5562),
    [anon_sym_nil] = ACTIONS(5562),
    [anon_sym_self] = ACTIONS(5562),
    [anon_sym_super] = ACTIONS(5562),
    [anon_sym_true] = ACTIONS(5562),
    [anon_sym_undef] = ACTIONS(5562),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5562),
    [sym_float] = ACTIONS(5564),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5560),
    [anon_sym_TRUE] = ACTIONS(5562),
    [anon_sym_FALSE] = ACTIONS(5562),
    [anon_sym_NIL] = ACTIONS(5562),
    [sym_keyword__FILE__] = ACTIONS(5562),
    [sym_keyword__LINE__] = ACTIONS(5562),
    [sym_keyword__ENCODING__] = ACTIONS(5562),
    [sym__character_literal] = ACTIONS(5562),
    [anon_sym_LBRACK] = ACTIONS(5560),
    [anon_sym_DASH_GT] = ACTIONS(5560),
  },
  [1722] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(4388),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(4389),
    [sym_scope_resolution] = STATE(4390),
    [sym_call] = STATE(4390),
    [sym_method_call] = STATE(4389),
    [sym__lhs] = STATE(4391),
    [sym__variable] = STATE(4390),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(4382),
    [sym_true] = STATE(4389),
    [sym_false] = STATE(4389),
    [sym_self] = STATE(4382),
    [sym_nil] = STATE(4389),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(458),
    [anon_sym_COLON_COLON] = ACTIONS(524),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(6328),
    [sym_identifier] = ACTIONS(6328),
    [sym_instance_variable] = ACTIONS(6330),
    [sym_class_variable] = ACTIONS(6330),
    [sym_global_variable] = ACTIONS(6330),
    [anon_sym_false] = ACTIONS(6332),
    [anon_sym_nil] = ACTIONS(6334),
    [anon_sym_self] = ACTIONS(6336),
    [anon_sym_super] = ACTIONS(6338),
    [anon_sym_true] = ACTIONS(6340),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(6340),
    [anon_sym_FALSE] = ACTIONS(6332),
    [anon_sym_NIL] = ACTIONS(6334),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [1723] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4392),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1735),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1736),
    [sym__variable] = STATE(1732),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2710),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2712),
    [anon_sym_yield] = ACTIONS(2714),
    [anon_sym_break] = ACTIONS(2716),
    [anon_sym_next] = ACTIONS(2718),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2724),
    [anon_sym_defined_QMARK] = ACTIONS(2726),
    [anon_sym_not] = ACTIONS(2728),
    [anon_sym_BANG] = ACTIONS(2730),
    [anon_sym_TILDE] = ACTIONS(2730),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1724] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4393),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1735),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1736),
    [sym__variable] = STATE(1732),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2710),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2712),
    [anon_sym_yield] = ACTIONS(2714),
    [anon_sym_break] = ACTIONS(2716),
    [anon_sym_next] = ACTIONS(2718),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2724),
    [anon_sym_defined_QMARK] = ACTIONS(2726),
    [anon_sym_not] = ACTIONS(2728),
    [anon_sym_BANG] = ACTIONS(2730),
    [anon_sym_TILDE] = ACTIONS(2730),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1725] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(434),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1735),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1736),
    [sym__variable] = STATE(1732),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2710),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2712),
    [anon_sym_yield] = ACTIONS(2714),
    [anon_sym_break] = ACTIONS(2716),
    [anon_sym_next] = ACTIONS(2718),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2724),
    [anon_sym_defined_QMARK] = ACTIONS(2726),
    [anon_sym_not] = ACTIONS(2728),
    [anon_sym_BANG] = ACTIONS(2730),
    [anon_sym_TILDE] = ACTIONS(2730),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1726] = {
    [sym__simple_string] = ACTIONS(748),
    [sym__simple_symbol] = ACTIONS(748),
    [sym__simple_subshell] = ACTIONS(748),
    [sym__simple_regex] = ACTIONS(748),
    [sym__simple_word_list] = ACTIONS(748),
    [sym__simple_heredoc_body] = ACTIONS(748),
    [sym__string_beginning] = ACTIONS(748),
    [sym__symbol_beginning] = ACTIONS(748),
    [sym__subshell_beginning] = ACTIONS(748),
    [sym__regex_beginning] = ACTIONS(748),
    [sym__word_list_beginning] = ACTIONS(748),
    [sym__heredoc_body_beginning] = ACTIONS(748),
    [sym_heredoc_beginning] = ACTIONS(748),
    [sym__line_break] = ACTIONS(748),
    [sym__element_reference_left_bracket] = ACTIONS(748),
    [sym__block_ampersand] = ACTIONS(748),
    [sym__splat_star] = ACTIONS(748),
    [sym__argument_list_left_paren] = ACTIONS(748),
    [sym__scope_double_colon] = ACTIONS(748),
    [sym__unary_minus] = ACTIONS(748),
    [sym__binary_minus] = ACTIONS(748),
    [sym__binary_star] = ACTIONS(748),
    [anon_sym_LBRACE] = ACTIONS(748),
    [anon_sym_RBRACE] = ACTIONS(748),
    [anon_sym_def] = ACTIONS(750),
    [anon_sym_LPAREN] = ACTIONS(748),
    [anon_sym_RPAREN] = ACTIONS(748),
    [anon_sym_DOT] = ACTIONS(750),
    [anon_sym_COLON_COLON] = ACTIONS(748),
    [anon_sym_end] = ACTIONS(750),
    [anon_sym_COMMA] = ACTIONS(748),
    [anon_sym_PIPE] = ACTIONS(750),
    [anon_sym_SEMI] = ACTIONS(748),
    [anon_sym_STAR] = ACTIONS(750),
    [anon_sym_STAR_STAR] = ACTIONS(750),
    [anon_sym_AMP] = ACTIONS(750),
    [anon_sym_EQ] = ACTIONS(750),
    [anon_sym_class] = ACTIONS(750),
    [anon_sym_LT] = ACTIONS(750),
    [anon_sym_module] = ACTIONS(750),
    [anon_sym_return] = ACTIONS(750),
    [anon_sym_yield] = ACTIONS(750),
    [anon_sym_break] = ACTIONS(750),
    [anon_sym_next] = ACTIONS(750),
    [anon_sym_redo] = ACTIONS(750),
    [anon_sym_retry] = ACTIONS(750),
    [anon_sym_if] = ACTIONS(750),
    [anon_sym_unless] = ACTIONS(750),
    [anon_sym_while] = ACTIONS(750),
    [anon_sym_until] = ACTIONS(750),
    [anon_sym_rescue] = ACTIONS(750),
    [anon_sym_for] = ACTIONS(750),
    [anon_sym_in] = ACTIONS(750),
    [anon_sym_do] = ACTIONS(750),
    [anon_sym_case] = ACTIONS(750),
    [anon_sym_when] = ACTIONS(750),
    [anon_sym_elsif] = ACTIONS(750),
    [anon_sym_else] = ACTIONS(750),
    [anon_sym_then] = ACTIONS(750),
    [anon_sym_begin] = ACTIONS(750),
    [anon_sym_ensure] = ACTIONS(750),
    [anon_sym_EQ_GT] = ACTIONS(748),
    [anon_sym_AMP_DOT] = ACTIONS(748),
    [anon_sym_PLUS_EQ] = ACTIONS(748),
    [anon_sym_DASH_EQ] = ACTIONS(748),
    [anon_sym_STAR_EQ] = ACTIONS(748),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(748),
    [anon_sym_SLASH_EQ] = ACTIONS(748),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(748),
    [anon_sym_PIPE_EQ] = ACTIONS(748),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(748),
    [anon_sym_AMP_EQ] = ACTIONS(748),
    [anon_sym_PERCENT_EQ] = ACTIONS(748),
    [anon_sym_GT_GT_EQ] = ACTIONS(748),
    [anon_sym_LT_LT_EQ] = ACTIONS(748),
    [anon_sym_CARET_EQ] = ACTIONS(748),
    [anon_sym_QMARK] = ACTIONS(750),
    [anon_sym_DOT_DOT] = ACTIONS(750),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(748),
    [anon_sym_and] = ACTIONS(750),
    [anon_sym_or] = ACTIONS(750),
    [anon_sym_PIPE_PIPE] = ACTIONS(750),
    [anon_sym_AMP_AMP] = ACTIONS(750),
    [anon_sym_LT_LT] = ACTIONS(750),
    [anon_sym_GT_GT] = ACTIONS(750),
    [anon_sym_EQ_EQ] = ACTIONS(750),
    [anon_sym_BANG_EQ] = ACTIONS(748),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(748),
    [anon_sym_LT_EQ_GT] = ACTIONS(748),
    [anon_sym_EQ_TILDE] = ACTIONS(748),
    [anon_sym_BANG_TILDE] = ACTIONS(748),
    [anon_sym_LT_EQ] = ACTIONS(750),
    [anon_sym_GT] = ACTIONS(750),
    [anon_sym_GT_EQ] = ACTIONS(748),
    [anon_sym_CARET] = ACTIONS(750),
    [anon_sym_PLUS] = ACTIONS(750),
    [anon_sym_SLASH] = ACTIONS(750),
    [anon_sym_PERCENT] = ACTIONS(750),
    [anon_sym_defined_QMARK] = ACTIONS(748),
    [anon_sym_not] = ACTIONS(750),
    [anon_sym_BANG] = ACTIONS(750),
    [anon_sym_TILDE] = ACTIONS(748),
    [sym_constant] = ACTIONS(752),
    [sym_identifier] = ACTIONS(752),
    [sym_instance_variable] = ACTIONS(750),
    [sym_class_variable] = ACTIONS(750),
    [sym_global_variable] = ACTIONS(750),
    [anon_sym_alias] = ACTIONS(750),
    [anon_sym_defined] = ACTIONS(750),
    [anon_sym_false] = ACTIONS(750),
    [anon_sym_nil] = ACTIONS(750),
    [anon_sym_self] = ACTIONS(750),
    [anon_sym_super] = ACTIONS(750),
    [anon_sym_true] = ACTIONS(750),
    [anon_sym_undef] = ACTIONS(750),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(750),
    [sym_float] = ACTIONS(752),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(748),
    [anon_sym_TRUE] = ACTIONS(750),
    [anon_sym_FALSE] = ACTIONS(750),
    [anon_sym_NIL] = ACTIONS(750),
    [sym_keyword__FILE__] = ACTIONS(750),
    [sym_keyword__LINE__] = ACTIONS(750),
    [sym_keyword__ENCODING__] = ACTIONS(750),
    [sym__character_literal] = ACTIONS(750),
    [anon_sym_LBRACK] = ACTIONS(748),
    [anon_sym_DASH_GT] = ACTIONS(748),
  },
  [1727] = {
    [sym__simple_string] = ACTIONS(754),
    [sym__simple_symbol] = ACTIONS(754),
    [sym__simple_subshell] = ACTIONS(754),
    [sym__simple_regex] = ACTIONS(754),
    [sym__simple_word_list] = ACTIONS(754),
    [sym__simple_heredoc_body] = ACTIONS(754),
    [sym__string_beginning] = ACTIONS(754),
    [sym__symbol_beginning] = ACTIONS(754),
    [sym__subshell_beginning] = ACTIONS(754),
    [sym__regex_beginning] = ACTIONS(754),
    [sym__word_list_beginning] = ACTIONS(754),
    [sym__heredoc_body_beginning] = ACTIONS(754),
    [sym_heredoc_beginning] = ACTIONS(754),
    [sym__line_break] = ACTIONS(754),
    [sym__element_reference_left_bracket] = ACTIONS(754),
    [sym__block_ampersand] = ACTIONS(754),
    [sym__splat_star] = ACTIONS(754),
    [sym__argument_list_left_paren] = ACTIONS(754),
    [sym__scope_double_colon] = ACTIONS(754),
    [sym__unary_minus] = ACTIONS(754),
    [sym__binary_minus] = ACTIONS(754),
    [sym__binary_star] = ACTIONS(754),
    [anon_sym_LBRACE] = ACTIONS(754),
    [anon_sym_RBRACE] = ACTIONS(754),
    [anon_sym_def] = ACTIONS(756),
    [anon_sym_LPAREN] = ACTIONS(754),
    [anon_sym_RPAREN] = ACTIONS(754),
    [anon_sym_DOT] = ACTIONS(756),
    [anon_sym_COLON_COLON] = ACTIONS(754),
    [anon_sym_end] = ACTIONS(756),
    [anon_sym_COMMA] = ACTIONS(754),
    [anon_sym_PIPE] = ACTIONS(756),
    [anon_sym_SEMI] = ACTIONS(754),
    [anon_sym_STAR] = ACTIONS(756),
    [anon_sym_STAR_STAR] = ACTIONS(756),
    [anon_sym_AMP] = ACTIONS(756),
    [anon_sym_EQ] = ACTIONS(756),
    [anon_sym_class] = ACTIONS(756),
    [anon_sym_LT] = ACTIONS(756),
    [anon_sym_module] = ACTIONS(756),
    [anon_sym_return] = ACTIONS(756),
    [anon_sym_yield] = ACTIONS(756),
    [anon_sym_break] = ACTIONS(756),
    [anon_sym_next] = ACTIONS(756),
    [anon_sym_redo] = ACTIONS(756),
    [anon_sym_retry] = ACTIONS(756),
    [anon_sym_if] = ACTIONS(756),
    [anon_sym_unless] = ACTIONS(756),
    [anon_sym_while] = ACTIONS(756),
    [anon_sym_until] = ACTIONS(756),
    [anon_sym_rescue] = ACTIONS(756),
    [anon_sym_for] = ACTIONS(756),
    [anon_sym_in] = ACTIONS(756),
    [anon_sym_do] = ACTIONS(756),
    [anon_sym_case] = ACTIONS(756),
    [anon_sym_when] = ACTIONS(756),
    [anon_sym_elsif] = ACTIONS(756),
    [anon_sym_else] = ACTIONS(756),
    [anon_sym_then] = ACTIONS(756),
    [anon_sym_begin] = ACTIONS(756),
    [anon_sym_ensure] = ACTIONS(756),
    [anon_sym_EQ_GT] = ACTIONS(754),
    [anon_sym_AMP_DOT] = ACTIONS(754),
    [anon_sym_PLUS_EQ] = ACTIONS(754),
    [anon_sym_DASH_EQ] = ACTIONS(754),
    [anon_sym_STAR_EQ] = ACTIONS(754),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(754),
    [anon_sym_SLASH_EQ] = ACTIONS(754),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(754),
    [anon_sym_PIPE_EQ] = ACTIONS(754),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(754),
    [anon_sym_AMP_EQ] = ACTIONS(754),
    [anon_sym_PERCENT_EQ] = ACTIONS(754),
    [anon_sym_GT_GT_EQ] = ACTIONS(754),
    [anon_sym_LT_LT_EQ] = ACTIONS(754),
    [anon_sym_CARET_EQ] = ACTIONS(754),
    [anon_sym_QMARK] = ACTIONS(756),
    [anon_sym_DOT_DOT] = ACTIONS(756),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(754),
    [anon_sym_and] = ACTIONS(756),
    [anon_sym_or] = ACTIONS(756),
    [anon_sym_PIPE_PIPE] = ACTIONS(756),
    [anon_sym_AMP_AMP] = ACTIONS(756),
    [anon_sym_LT_LT] = ACTIONS(756),
    [anon_sym_GT_GT] = ACTIONS(756),
    [anon_sym_EQ_EQ] = ACTIONS(756),
    [anon_sym_BANG_EQ] = ACTIONS(754),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(754),
    [anon_sym_LT_EQ_GT] = ACTIONS(754),
    [anon_sym_EQ_TILDE] = ACTIONS(754),
    [anon_sym_BANG_TILDE] = ACTIONS(754),
    [anon_sym_LT_EQ] = ACTIONS(756),
    [anon_sym_GT] = ACTIONS(756),
    [anon_sym_GT_EQ] = ACTIONS(754),
    [anon_sym_CARET] = ACTIONS(756),
    [anon_sym_PLUS] = ACTIONS(756),
    [anon_sym_SLASH] = ACTIONS(756),
    [anon_sym_PERCENT] = ACTIONS(756),
    [anon_sym_defined_QMARK] = ACTIONS(754),
    [anon_sym_not] = ACTIONS(756),
    [anon_sym_BANG] = ACTIONS(756),
    [anon_sym_TILDE] = ACTIONS(754),
    [sym_constant] = ACTIONS(758),
    [sym_identifier] = ACTIONS(758),
    [sym_instance_variable] = ACTIONS(756),
    [sym_class_variable] = ACTIONS(756),
    [sym_global_variable] = ACTIONS(756),
    [anon_sym_alias] = ACTIONS(756),
    [anon_sym_defined] = ACTIONS(756),
    [anon_sym_false] = ACTIONS(756),
    [anon_sym_nil] = ACTIONS(756),
    [anon_sym_self] = ACTIONS(756),
    [anon_sym_super] = ACTIONS(756),
    [anon_sym_true] = ACTIONS(756),
    [anon_sym_undef] = ACTIONS(756),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(756),
    [sym_float] = ACTIONS(758),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(754),
    [anon_sym_TRUE] = ACTIONS(756),
    [anon_sym_FALSE] = ACTIONS(756),
    [anon_sym_NIL] = ACTIONS(756),
    [sym_keyword__FILE__] = ACTIONS(756),
    [sym_keyword__LINE__] = ACTIONS(756),
    [sym_keyword__ENCODING__] = ACTIONS(756),
    [sym__character_literal] = ACTIONS(756),
    [anon_sym_LBRACK] = ACTIONS(754),
    [anon_sym_DASH_GT] = ACTIONS(754),
  },
  [1728] = {
    [sym__statements] = STATE(4394),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym_rescue] = STATE(4395),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(6342),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(6342),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(6342),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1729] = {
    [sym__then] = STATE(4396),
    [sym_exception_variable] = STATE(4397),
    [sym_heredoc_end] = STATE(1714),
    [sym__terminator] = STATE(1737),
    [sym__simple_heredoc_body] = ACTIONS(2702),
    [sym__heredoc_body_beginning] = ACTIONS(2704),
    [sym__line_break] = ACTIONS(2706),
    [anon_sym_SEMI] = ACTIONS(2706),
    [anon_sym_then] = ACTIONS(6344),
    [anon_sym_EQ_GT] = ACTIONS(2722),
    [sym_comment] = ACTIONS(110),
  },
  [1730] = {
    [sym__then] = STATE(4396),
    [sym_heredoc_end] = STATE(1714),
    [sym__terminator] = STATE(1737),
    [sym__simple_heredoc_body] = ACTIONS(2702),
    [sym__heredoc_body_beginning] = ACTIONS(2704),
    [sym__line_break] = ACTIONS(2706),
    [anon_sym_SEMI] = ACTIONS(2706),
    [anon_sym_then] = ACTIONS(6344),
    [sym_comment] = ACTIONS(110),
  },
  [1731] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__line_break] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(6348),
    [sym__binary_star] = ACTIONS(6350),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(6352),
    [anon_sym_SEMI] = ACTIONS(6346),
    [anon_sym_STAR_STAR] = ACTIONS(6354),
    [anon_sym_AMP] = ACTIONS(6356),
    [anon_sym_LT] = ACTIONS(6358),
    [anon_sym_then] = ACTIONS(6346),
    [anon_sym_EQ_GT] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(6360),
    [anon_sym_DOT_DOT] = ACTIONS(6362),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6364),
    [anon_sym_and] = ACTIONS(6366),
    [anon_sym_or] = ACTIONS(6366),
    [anon_sym_PIPE_PIPE] = ACTIONS(6368),
    [anon_sym_AMP_AMP] = ACTIONS(6368),
    [anon_sym_LT_LT] = ACTIONS(6370),
    [anon_sym_GT_GT] = ACTIONS(6370),
    [anon_sym_EQ_EQ] = ACTIONS(6372),
    [anon_sym_BANG_EQ] = ACTIONS(6368),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6368),
    [anon_sym_LT_EQ_GT] = ACTIONS(6368),
    [anon_sym_EQ_TILDE] = ACTIONS(6368),
    [anon_sym_BANG_TILDE] = ACTIONS(6368),
    [anon_sym_LT_EQ] = ACTIONS(6358),
    [anon_sym_GT] = ACTIONS(6358),
    [anon_sym_GT_EQ] = ACTIONS(6374),
    [anon_sym_CARET] = ACTIONS(6376),
    [anon_sym_PLUS] = ACTIONS(6378),
    [anon_sym_SLASH] = ACTIONS(6354),
    [anon_sym_PERCENT] = ACTIONS(6354),
    [sym_comment] = ACTIONS(110),
  },
  [1732] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4414),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4247),
    [sym_call] = STATE(4247),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(1435),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(4415),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_do_block] = STATE(1439),
    [sym_block] = STATE(1439),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4249),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4250),
    [sym__variable] = STATE(4247),
    [sym_reserved_identifier] = STATE(4416),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(4417),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(6380),
    [sym__splat_star] = ACTIONS(6382),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(6128),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(2258),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(6130),
    [anon_sym_yield] = ACTIONS(6132),
    [anon_sym_break] = ACTIONS(6134),
    [anon_sym_next] = ACTIONS(6136),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(2260),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(982),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(980),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(6138),
    [anon_sym_not] = ACTIONS(6140),
    [anon_sym_BANG] = ACTIONS(6142),
    [anon_sym_TILDE] = ACTIONS(6144),
    [sym_constant] = ACTIONS(6384),
    [sym_identifier] = ACTIONS(6384),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1733] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__line_break] = ACTIONS(6346),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_SEMI] = ACTIONS(6346),
    [anon_sym_then] = ACTIONS(6346),
    [anon_sym_EQ_GT] = ACTIONS(6346),
    [sym_comment] = ACTIONS(110),
  },
  [1734] = {
    [aux_sym_exceptions_repeat1] = STATE(4419),
    [sym__simple_heredoc_body] = ACTIONS(6386),
    [sym__heredoc_body_beginning] = ACTIONS(6386),
    [sym__line_break] = ACTIONS(6386),
    [anon_sym_COMMA] = ACTIONS(6388),
    [anon_sym_SEMI] = ACTIONS(6386),
    [anon_sym_then] = ACTIONS(6386),
    [anon_sym_EQ_GT] = ACTIONS(6386),
    [sym_comment] = ACTIONS(110),
  },
  [1735] = {
    [anon_sym_EQ] = ACTIONS(6390),
    [sym_comment] = ACTIONS(256),
  },
  [1736] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(6392),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_then] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(6394),
    [anon_sym_DASH_EQ] = ACTIONS(6394),
    [anon_sym_STAR_EQ] = ACTIONS(6394),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6394),
    [anon_sym_SLASH_EQ] = ACTIONS(6394),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6394),
    [anon_sym_PIPE_EQ] = ACTIONS(6394),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6394),
    [anon_sym_AMP_EQ] = ACTIONS(6394),
    [anon_sym_PERCENT_EQ] = ACTIONS(6394),
    [anon_sym_GT_GT_EQ] = ACTIONS(6394),
    [anon_sym_LT_LT_EQ] = ACTIONS(6394),
    [anon_sym_CARET_EQ] = ACTIONS(6394),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [1737] = {
    [sym__simple_string] = ACTIONS(5560),
    [sym__simple_symbol] = ACTIONS(5560),
    [sym__simple_subshell] = ACTIONS(5560),
    [sym__simple_regex] = ACTIONS(5560),
    [sym__simple_word_list] = ACTIONS(5560),
    [sym__string_beginning] = ACTIONS(5560),
    [sym__symbol_beginning] = ACTIONS(5560),
    [sym__subshell_beginning] = ACTIONS(5560),
    [sym__regex_beginning] = ACTIONS(5560),
    [sym__word_list_beginning] = ACTIONS(5560),
    [sym_heredoc_beginning] = ACTIONS(5560),
    [sym__unary_minus] = ACTIONS(5560),
    [anon_sym_BEGIN] = ACTIONS(5562),
    [anon_sym_LBRACE] = ACTIONS(5560),
    [anon_sym_END] = ACTIONS(5562),
    [anon_sym_def] = ACTIONS(5562),
    [anon_sym_LPAREN] = ACTIONS(5560),
    [anon_sym_COLON_COLON] = ACTIONS(5560),
    [anon_sym_end] = ACTIONS(5562),
    [anon_sym_SEMI] = ACTIONS(5560),
    [anon_sym_STAR] = ACTIONS(5560),
    [anon_sym_class] = ACTIONS(5562),
    [anon_sym_module] = ACTIONS(5562),
    [anon_sym_return] = ACTIONS(5562),
    [anon_sym_yield] = ACTIONS(5562),
    [anon_sym_break] = ACTIONS(5562),
    [anon_sym_next] = ACTIONS(5562),
    [anon_sym_redo] = ACTIONS(5562),
    [anon_sym_retry] = ACTIONS(5562),
    [anon_sym_if] = ACTIONS(5562),
    [anon_sym_unless] = ACTIONS(5562),
    [anon_sym_while] = ACTIONS(5562),
    [anon_sym_until] = ACTIONS(5562),
    [anon_sym_rescue] = ACTIONS(5562),
    [anon_sym_for] = ACTIONS(5562),
    [anon_sym_case] = ACTIONS(5562),
    [anon_sym_else] = ACTIONS(5562),
    [anon_sym_then] = ACTIONS(6396),
    [anon_sym_begin] = ACTIONS(5562),
    [anon_sym_ensure] = ACTIONS(5562),
    [anon_sym_PLUS] = ACTIONS(5562),
    [anon_sym_defined_QMARK] = ACTIONS(5560),
    [anon_sym_not] = ACTIONS(5562),
    [anon_sym_BANG] = ACTIONS(5560),
    [anon_sym_TILDE] = ACTIONS(5560),
    [sym_constant] = ACTIONS(5564),
    [sym_identifier] = ACTIONS(5564),
    [sym_instance_variable] = ACTIONS(5562),
    [sym_class_variable] = ACTIONS(5562),
    [sym_global_variable] = ACTIONS(5562),
    [anon_sym_alias] = ACTIONS(5562),
    [anon_sym_false] = ACTIONS(5562),
    [anon_sym_nil] = ACTIONS(5562),
    [anon_sym_self] = ACTIONS(5562),
    [anon_sym_super] = ACTIONS(5562),
    [anon_sym_true] = ACTIONS(5562),
    [anon_sym_undef] = ACTIONS(5562),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5562),
    [sym_float] = ACTIONS(5564),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5560),
    [anon_sym_TRUE] = ACTIONS(5562),
    [anon_sym_FALSE] = ACTIONS(5562),
    [anon_sym_NIL] = ACTIONS(5562),
    [sym_keyword__FILE__] = ACTIONS(5562),
    [sym_keyword__LINE__] = ACTIONS(5562),
    [sym_keyword__ENCODING__] = ACTIONS(5562),
    [sym__character_literal] = ACTIONS(5562),
    [anon_sym_LBRACK] = ACTIONS(5560),
    [anon_sym_DASH_GT] = ACTIONS(5560),
  },
  [1738] = {
    [sym__simple_string] = ACTIONS(1398),
    [sym__simple_symbol] = ACTIONS(1398),
    [sym__simple_subshell] = ACTIONS(1398),
    [sym__simple_regex] = ACTIONS(1398),
    [sym__simple_word_list] = ACTIONS(1398),
    [sym__string_beginning] = ACTIONS(1398),
    [sym__symbol_beginning] = ACTIONS(1398),
    [sym__subshell_beginning] = ACTIONS(1398),
    [sym__regex_beginning] = ACTIONS(1398),
    [sym__word_list_beginning] = ACTIONS(1398),
    [sym_heredoc_beginning] = ACTIONS(1398),
    [sym__unary_minus] = ACTIONS(1398),
    [anon_sym_BEGIN] = ACTIONS(2666),
    [anon_sym_LBRACE] = ACTIONS(1398),
    [anon_sym_END] = ACTIONS(2666),
    [anon_sym_def] = ACTIONS(2666),
    [anon_sym_LPAREN] = ACTIONS(1398),
    [anon_sym_COLON_COLON] = ACTIONS(1398),
    [anon_sym_end] = ACTIONS(2666),
    [anon_sym_SEMI] = ACTIONS(1398),
    [anon_sym_STAR] = ACTIONS(1398),
    [anon_sym_class] = ACTIONS(2666),
    [anon_sym_module] = ACTIONS(2666),
    [anon_sym_return] = ACTIONS(2666),
    [anon_sym_yield] = ACTIONS(2666),
    [anon_sym_break] = ACTIONS(2666),
    [anon_sym_next] = ACTIONS(2666),
    [anon_sym_redo] = ACTIONS(2666),
    [anon_sym_retry] = ACTIONS(2666),
    [anon_sym_if] = ACTIONS(2666),
    [anon_sym_unless] = ACTIONS(2666),
    [anon_sym_while] = ACTIONS(2666),
    [anon_sym_until] = ACTIONS(2666),
    [anon_sym_for] = ACTIONS(2666),
    [anon_sym_case] = ACTIONS(2666),
    [anon_sym_begin] = ACTIONS(2666),
    [anon_sym_ensure] = ACTIONS(2666),
    [anon_sym_PLUS] = ACTIONS(2666),
    [anon_sym_defined_QMARK] = ACTIONS(1398),
    [anon_sym_not] = ACTIONS(2666),
    [anon_sym_BANG] = ACTIONS(1398),
    [anon_sym_TILDE] = ACTIONS(1398),
    [sym_constant] = ACTIONS(2668),
    [sym_identifier] = ACTIONS(2668),
    [sym_instance_variable] = ACTIONS(2666),
    [sym_class_variable] = ACTIONS(2666),
    [sym_global_variable] = ACTIONS(2666),
    [anon_sym_alias] = ACTIONS(2666),
    [anon_sym_false] = ACTIONS(2666),
    [anon_sym_nil] = ACTIONS(2666),
    [anon_sym_self] = ACTIONS(2666),
    [anon_sym_super] = ACTIONS(2666),
    [anon_sym_true] = ACTIONS(2666),
    [anon_sym_undef] = ACTIONS(2666),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(2666),
    [sym_float] = ACTIONS(2668),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1398),
    [anon_sym_TRUE] = ACTIONS(2666),
    [anon_sym_FALSE] = ACTIONS(2666),
    [anon_sym_NIL] = ACTIONS(2666),
    [sym_keyword__FILE__] = ACTIONS(2666),
    [sym_keyword__LINE__] = ACTIONS(2666),
    [sym_keyword__ENCODING__] = ACTIONS(2666),
    [sym__character_literal] = ACTIONS(2666),
    [anon_sym_LBRACK] = ACTIONS(1398),
    [anon_sym_DASH_GT] = ACTIONS(1398),
  },
  [1739] = {
    [sym__statement] = STATE(4423),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [aux_sym_heredoc_end_repeat1] = STATE(4424),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [1740] = {
    [sym__simple_string] = ACTIONS(2552),
    [sym__simple_symbol] = ACTIONS(2552),
    [sym__simple_subshell] = ACTIONS(2552),
    [sym__simple_regex] = ACTIONS(2552),
    [sym__simple_word_list] = ACTIONS(2552),
    [sym__string_beginning] = ACTIONS(2552),
    [sym__symbol_beginning] = ACTIONS(2552),
    [sym__subshell_beginning] = ACTIONS(2552),
    [sym__regex_beginning] = ACTIONS(2552),
    [sym__word_list_beginning] = ACTIONS(2552),
    [sym_heredoc_beginning] = ACTIONS(2552),
    [sym__unary_minus] = ACTIONS(2552),
    [anon_sym_BEGIN] = ACTIONS(2670),
    [anon_sym_LBRACE] = ACTIONS(2552),
    [anon_sym_END] = ACTIONS(2670),
    [anon_sym_def] = ACTIONS(2670),
    [anon_sym_LPAREN] = ACTIONS(2552),
    [anon_sym_COLON_COLON] = ACTIONS(2552),
    [anon_sym_end] = ACTIONS(2670),
    [anon_sym_SEMI] = ACTIONS(2552),
    [anon_sym_STAR] = ACTIONS(2552),
    [anon_sym_class] = ACTIONS(2670),
    [anon_sym_module] = ACTIONS(2670),
    [anon_sym_return] = ACTIONS(2670),
    [anon_sym_yield] = ACTIONS(2670),
    [anon_sym_break] = ACTIONS(2670),
    [anon_sym_next] = ACTIONS(2670),
    [anon_sym_redo] = ACTIONS(2670),
    [anon_sym_retry] = ACTIONS(2670),
    [anon_sym_if] = ACTIONS(2670),
    [anon_sym_unless] = ACTIONS(2670),
    [anon_sym_while] = ACTIONS(2670),
    [anon_sym_until] = ACTIONS(2670),
    [anon_sym_for] = ACTIONS(2670),
    [anon_sym_case] = ACTIONS(2670),
    [anon_sym_begin] = ACTIONS(2670),
    [anon_sym_ensure] = ACTIONS(2670),
    [anon_sym_PLUS] = ACTIONS(2670),
    [anon_sym_defined_QMARK] = ACTIONS(2552),
    [anon_sym_not] = ACTIONS(2670),
    [anon_sym_BANG] = ACTIONS(2552),
    [anon_sym_TILDE] = ACTIONS(2552),
    [sym_constant] = ACTIONS(2672),
    [sym_identifier] = ACTIONS(2672),
    [sym_instance_variable] = ACTIONS(2670),
    [sym_class_variable] = ACTIONS(2670),
    [sym_global_variable] = ACTIONS(2670),
    [anon_sym_alias] = ACTIONS(2670),
    [anon_sym_false] = ACTIONS(2670),
    [anon_sym_nil] = ACTIONS(2670),
    [anon_sym_self] = ACTIONS(2670),
    [anon_sym_super] = ACTIONS(2670),
    [anon_sym_true] = ACTIONS(2670),
    [anon_sym_undef] = ACTIONS(2670),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(2670),
    [sym_float] = ACTIONS(2672),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(2552),
    [anon_sym_TRUE] = ACTIONS(2670),
    [anon_sym_FALSE] = ACTIONS(2670),
    [anon_sym_NIL] = ACTIONS(2670),
    [sym_keyword__FILE__] = ACTIONS(2670),
    [sym_keyword__LINE__] = ACTIONS(2670),
    [sym_keyword__ENCODING__] = ACTIONS(2670),
    [sym__character_literal] = ACTIONS(2670),
    [anon_sym_LBRACK] = ACTIONS(2552),
    [anon_sym_DASH_GT] = ACTIONS(2552),
  },
  [1741] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4425),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1754),
    [sym_call] = STATE(1754),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1755),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1756),
    [sym__variable] = STATE(1754),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2744),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2750),
    [anon_sym_yield] = ACTIONS(2752),
    [anon_sym_break] = ACTIONS(2754),
    [anon_sym_next] = ACTIONS(2756),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2758),
    [anon_sym_defined_QMARK] = ACTIONS(2760),
    [anon_sym_not] = ACTIONS(2762),
    [anon_sym_BANG] = ACTIONS(2764),
    [anon_sym_TILDE] = ACTIONS(2764),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1742] = {
    [sym__simple_string] = ACTIONS(2552),
    [sym__simple_symbol] = ACTIONS(2552),
    [sym__simple_subshell] = ACTIONS(2552),
    [sym__simple_regex] = ACTIONS(2552),
    [sym__simple_word_list] = ACTIONS(2552),
    [sym__simple_heredoc_body] = ACTIONS(430),
    [sym__string_beginning] = ACTIONS(2552),
    [sym__symbol_beginning] = ACTIONS(2552),
    [sym__subshell_beginning] = ACTIONS(2552),
    [sym__regex_beginning] = ACTIONS(2552),
    [sym__word_list_beginning] = ACTIONS(2552),
    [sym__heredoc_body_beginning] = ACTIONS(430),
    [sym_heredoc_beginning] = ACTIONS(2552),
    [sym__line_break] = ACTIONS(430),
    [sym__unary_minus] = ACTIONS(2552),
    [anon_sym_BEGIN] = ACTIONS(2670),
    [anon_sym_LBRACE] = ACTIONS(2552),
    [anon_sym_END] = ACTIONS(2670),
    [anon_sym_def] = ACTIONS(2670),
    [anon_sym_LPAREN] = ACTIONS(2552),
    [anon_sym_COLON_COLON] = ACTIONS(2552),
    [anon_sym_end] = ACTIONS(2670),
    [anon_sym_SEMI] = ACTIONS(2552),
    [anon_sym_STAR] = ACTIONS(2552),
    [anon_sym_class] = ACTIONS(2670),
    [anon_sym_module] = ACTIONS(2670),
    [anon_sym_return] = ACTIONS(2670),
    [anon_sym_yield] = ACTIONS(2670),
    [anon_sym_break] = ACTIONS(2670),
    [anon_sym_next] = ACTIONS(2670),
    [anon_sym_redo] = ACTIONS(2670),
    [anon_sym_retry] = ACTIONS(2670),
    [anon_sym_if] = ACTIONS(2670),
    [anon_sym_unless] = ACTIONS(2670),
    [anon_sym_while] = ACTIONS(2670),
    [anon_sym_until] = ACTIONS(2670),
    [anon_sym_rescue] = ACTIONS(6398),
    [anon_sym_for] = ACTIONS(2670),
    [anon_sym_case] = ACTIONS(2670),
    [anon_sym_begin] = ACTIONS(2670),
    [anon_sym_ensure] = ACTIONS(2670),
    [anon_sym_PLUS] = ACTIONS(2670),
    [anon_sym_defined_QMARK] = ACTIONS(2552),
    [anon_sym_not] = ACTIONS(2670),
    [anon_sym_BANG] = ACTIONS(2552),
    [anon_sym_TILDE] = ACTIONS(2552),
    [sym_constant] = ACTIONS(2672),
    [sym_identifier] = ACTIONS(2672),
    [sym_instance_variable] = ACTIONS(2670),
    [sym_class_variable] = ACTIONS(2670),
    [sym_global_variable] = ACTIONS(2670),
    [anon_sym_alias] = ACTIONS(2670),
    [anon_sym_false] = ACTIONS(2670),
    [anon_sym_nil] = ACTIONS(2670),
    [anon_sym_self] = ACTIONS(2670),
    [anon_sym_super] = ACTIONS(2670),
    [anon_sym_true] = ACTIONS(2670),
    [anon_sym_undef] = ACTIONS(2670),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(2670),
    [sym_float] = ACTIONS(2672),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(2552),
    [anon_sym_TRUE] = ACTIONS(2670),
    [anon_sym_FALSE] = ACTIONS(2670),
    [anon_sym_NIL] = ACTIONS(2670),
    [sym_keyword__FILE__] = ACTIONS(2670),
    [sym_keyword__LINE__] = ACTIONS(2670),
    [sym_keyword__ENCODING__] = ACTIONS(2670),
    [sym__character_literal] = ACTIONS(2670),
    [anon_sym_LBRACK] = ACTIONS(2552),
    [anon_sym_DASH_GT] = ACTIONS(2552),
  },
  [1743] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4439),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4440),
    [sym_call] = STATE(4440),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(340),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(4441),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4442),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4443),
    [sym__variable] = STATE(4440),
    [sym_reserved_identifier] = STATE(4444),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(4445),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(6400),
    [sym__splat_star] = ACTIONS(6402),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(6404),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(544),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(6406),
    [anon_sym_yield] = ACTIONS(6408),
    [anon_sym_break] = ACTIONS(6410),
    [anon_sym_next] = ACTIONS(6412),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(544),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(6414),
    [anon_sym_not] = ACTIONS(6416),
    [anon_sym_BANG] = ACTIONS(6418),
    [anon_sym_TILDE] = ACTIONS(6420),
    [sym_constant] = ACTIONS(6422),
    [sym_identifier] = ACTIONS(6422),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1744] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4439),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4440),
    [sym_call] = STATE(4440),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(349),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(4441),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4442),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4443),
    [sym__variable] = STATE(4440),
    [sym_reserved_identifier] = STATE(4444),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(4445),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(6400),
    [sym__splat_star] = ACTIONS(6402),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(6404),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(604),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(6406),
    [anon_sym_yield] = ACTIONS(6408),
    [anon_sym_break] = ACTIONS(6410),
    [anon_sym_next] = ACTIONS(6412),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(604),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(6414),
    [anon_sym_not] = ACTIONS(6416),
    [anon_sym_BANG] = ACTIONS(6418),
    [anon_sym_TILDE] = ACTIONS(6420),
    [sym_constant] = ACTIONS(6422),
    [sym_identifier] = ACTIONS(6422),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1745] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4439),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4440),
    [sym_call] = STATE(4440),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(350),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(4441),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4442),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4443),
    [sym__variable] = STATE(4440),
    [sym_reserved_identifier] = STATE(4444),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(4445),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(6400),
    [sym__splat_star] = ACTIONS(6402),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(6404),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(608),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(6406),
    [anon_sym_yield] = ACTIONS(6408),
    [anon_sym_break] = ACTIONS(6410),
    [anon_sym_next] = ACTIONS(6412),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(608),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(6414),
    [anon_sym_not] = ACTIONS(6416),
    [anon_sym_BANG] = ACTIONS(6418),
    [anon_sym_TILDE] = ACTIONS(6420),
    [sym_constant] = ACTIONS(6422),
    [sym_identifier] = ACTIONS(6422),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1746] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4439),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4440),
    [sym_call] = STATE(4440),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(351),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(4441),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4442),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4443),
    [sym__variable] = STATE(4440),
    [sym_reserved_identifier] = STATE(4444),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(4445),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(6400),
    [sym__splat_star] = ACTIONS(6402),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(6404),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(612),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(6406),
    [anon_sym_yield] = ACTIONS(6408),
    [anon_sym_break] = ACTIONS(6410),
    [anon_sym_next] = ACTIONS(6412),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(612),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(6414),
    [anon_sym_not] = ACTIONS(6416),
    [anon_sym_BANG] = ACTIONS(6418),
    [anon_sym_TILDE] = ACTIONS(6420),
    [sym_constant] = ACTIONS(6422),
    [sym_identifier] = ACTIONS(6422),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1747] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4446),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1754),
    [sym_call] = STATE(1754),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1755),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1756),
    [sym__variable] = STATE(1754),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2744),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2750),
    [anon_sym_yield] = ACTIONS(2752),
    [anon_sym_break] = ACTIONS(2754),
    [anon_sym_next] = ACTIONS(2756),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2758),
    [anon_sym_defined_QMARK] = ACTIONS(2760),
    [anon_sym_not] = ACTIONS(2762),
    [anon_sym_BANG] = ACTIONS(2764),
    [anon_sym_TILDE] = ACTIONS(2764),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1748] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4447),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1754),
    [sym_call] = STATE(1754),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1755),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1756),
    [sym__variable] = STATE(1754),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2744),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2750),
    [anon_sym_yield] = ACTIONS(2752),
    [anon_sym_break] = ACTIONS(2754),
    [anon_sym_next] = ACTIONS(2756),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2758),
    [anon_sym_defined_QMARK] = ACTIONS(2760),
    [anon_sym_not] = ACTIONS(2762),
    [anon_sym_BANG] = ACTIONS(2764),
    [anon_sym_TILDE] = ACTIONS(2764),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1749] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(434),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1754),
    [sym_call] = STATE(1754),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1755),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1756),
    [sym__variable] = STATE(1754),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2744),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2750),
    [anon_sym_yield] = ACTIONS(2752),
    [anon_sym_break] = ACTIONS(2754),
    [anon_sym_next] = ACTIONS(2756),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2758),
    [anon_sym_defined_QMARK] = ACTIONS(2760),
    [anon_sym_not] = ACTIONS(2762),
    [anon_sym_BANG] = ACTIONS(2764),
    [anon_sym_TILDE] = ACTIONS(2764),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1750] = {
    [anon_sym_end] = ACTIONS(6424),
    [anon_sym_ensure] = ACTIONS(6424),
    [sym_comment] = ACTIONS(110),
  },
  [1751] = {
    [sym_heredoc_end] = STATE(1740),
    [sym__terminator] = STATE(4448),
    [aux_sym__statements_repeat1] = STATE(4449),
    [sym__simple_heredoc_body] = ACTIONS(2738),
    [sym__heredoc_body_beginning] = ACTIONS(2740),
    [sym__line_break] = ACTIONS(2742),
    [anon_sym_end] = ACTIONS(920),
    [anon_sym_SEMI] = ACTIONS(2742),
    [anon_sym_ensure] = ACTIONS(920),
    [sym_comment] = ACTIONS(110),
  },
  [1752] = {
    [sym__simple_heredoc_body] = ACTIONS(922),
    [sym__heredoc_body_beginning] = ACTIONS(922),
    [sym__line_break] = ACTIONS(922),
    [anon_sym_end] = ACTIONS(922),
    [anon_sym_SEMI] = ACTIONS(922),
    [anon_sym_if] = ACTIONS(6426),
    [anon_sym_unless] = ACTIONS(6428),
    [anon_sym_while] = ACTIONS(6430),
    [anon_sym_until] = ACTIONS(6432),
    [anon_sym_rescue] = ACTIONS(6434),
    [anon_sym_ensure] = ACTIONS(922),
    [sym_comment] = ACTIONS(110),
  },
  [1753] = {
    [sym__simple_heredoc_body] = ACTIONS(934),
    [sym__heredoc_body_beginning] = ACTIONS(934),
    [sym__line_break] = ACTIONS(934),
    [sym__binary_minus] = ACTIONS(6436),
    [sym__binary_star] = ACTIONS(6438),
    [anon_sym_end] = ACTIONS(934),
    [anon_sym_PIPE] = ACTIONS(6440),
    [anon_sym_SEMI] = ACTIONS(934),
    [anon_sym_STAR_STAR] = ACTIONS(6442),
    [anon_sym_AMP] = ACTIONS(6444),
    [anon_sym_LT] = ACTIONS(6446),
    [anon_sym_if] = ACTIONS(934),
    [anon_sym_unless] = ACTIONS(934),
    [anon_sym_while] = ACTIONS(934),
    [anon_sym_until] = ACTIONS(934),
    [anon_sym_rescue] = ACTIONS(934),
    [anon_sym_ensure] = ACTIONS(934),
    [anon_sym_QMARK] = ACTIONS(6448),
    [anon_sym_DOT_DOT] = ACTIONS(6450),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6452),
    [anon_sym_and] = ACTIONS(6454),
    [anon_sym_or] = ACTIONS(6454),
    [anon_sym_PIPE_PIPE] = ACTIONS(6456),
    [anon_sym_AMP_AMP] = ACTIONS(6456),
    [anon_sym_LT_LT] = ACTIONS(6458),
    [anon_sym_GT_GT] = ACTIONS(6458),
    [anon_sym_EQ_EQ] = ACTIONS(6460),
    [anon_sym_BANG_EQ] = ACTIONS(6456),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6456),
    [anon_sym_LT_EQ_GT] = ACTIONS(6456),
    [anon_sym_EQ_TILDE] = ACTIONS(6456),
    [anon_sym_BANG_TILDE] = ACTIONS(6456),
    [anon_sym_LT_EQ] = ACTIONS(6446),
    [anon_sym_GT] = ACTIONS(6446),
    [anon_sym_GT_EQ] = ACTIONS(6462),
    [anon_sym_CARET] = ACTIONS(6464),
    [anon_sym_PLUS] = ACTIONS(6466),
    [anon_sym_SLASH] = ACTIONS(6442),
    [anon_sym_PERCENT] = ACTIONS(6442),
    [sym_comment] = ACTIONS(110),
  },
  [1754] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4480),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4481),
    [sym_call] = STATE(4481),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(598),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(4482),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_do_block] = STATE(602),
    [sym_block] = STATE(602),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4483),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4484),
    [sym__variable] = STATE(4481),
    [sym_reserved_identifier] = STATE(4485),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(4486),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(6468),
    [sym__splat_star] = ACTIONS(6470),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(6472),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(1014),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(982),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(6474),
    [anon_sym_yield] = ACTIONS(6476),
    [anon_sym_break] = ACTIONS(6478),
    [anon_sym_next] = ACTIONS(6480),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(982),
    [anon_sym_unless] = ACTIONS(982),
    [anon_sym_while] = ACTIONS(982),
    [anon_sym_until] = ACTIONS(982),
    [anon_sym_rescue] = ACTIONS(982),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(1038),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(982),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(6482),
    [anon_sym_not] = ACTIONS(6484),
    [anon_sym_BANG] = ACTIONS(6486),
    [anon_sym_TILDE] = ACTIONS(6488),
    [sym_constant] = ACTIONS(6490),
    [sym_identifier] = ACTIONS(6490),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1755] = {
    [anon_sym_EQ] = ACTIONS(6492),
    [sym_comment] = ACTIONS(256),
  },
  [1756] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_end] = ACTIONS(250),
    [anon_sym_COMMA] = ACTIONS(1076),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(6494),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_ensure] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(6496),
    [anon_sym_DASH_EQ] = ACTIONS(6496),
    [anon_sym_STAR_EQ] = ACTIONS(6496),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6496),
    [anon_sym_SLASH_EQ] = ACTIONS(6496),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6496),
    [anon_sym_PIPE_EQ] = ACTIONS(6496),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6496),
    [anon_sym_AMP_EQ] = ACTIONS(6496),
    [anon_sym_PERCENT_EQ] = ACTIONS(6496),
    [anon_sym_GT_GT_EQ] = ACTIONS(6496),
    [anon_sym_LT_LT_EQ] = ACTIONS(6496),
    [anon_sym_CARET_EQ] = ACTIONS(6496),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [1757] = {
    [sym__statements] = STATE(4489),
    [sym__top_level_statement] = STATE(1751),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1752),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1753),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1754),
    [sym_call] = STATE(1754),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1755),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1756),
    [sym__variable] = STATE(1754),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2744),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(6498),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2750),
    [anon_sym_yield] = ACTIONS(2752),
    [anon_sym_break] = ACTIONS(2754),
    [anon_sym_next] = ACTIONS(2756),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(6498),
    [anon_sym_PLUS] = ACTIONS(2758),
    [anon_sym_defined_QMARK] = ACTIONS(2760),
    [anon_sym_not] = ACTIONS(2762),
    [anon_sym_BANG] = ACTIONS(2764),
    [anon_sym_TILDE] = ACTIONS(2764),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1758] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4490),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1759] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4504),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4505),
    [sym_call] = STATE(4505),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(340),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(4506),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4507),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4508),
    [sym__variable] = STATE(4505),
    [sym_reserved_identifier] = STATE(4509),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(4510),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(6500),
    [sym__splat_star] = ACTIONS(6502),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(6504),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(544),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(6506),
    [anon_sym_yield] = ACTIONS(6508),
    [anon_sym_break] = ACTIONS(6510),
    [anon_sym_next] = ACTIONS(6512),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(6514),
    [anon_sym_not] = ACTIONS(6516),
    [anon_sym_BANG] = ACTIONS(6518),
    [anon_sym_TILDE] = ACTIONS(6520),
    [sym_constant] = ACTIONS(6522),
    [sym_identifier] = ACTIONS(6522),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1760] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4504),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4505),
    [sym_call] = STATE(4505),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(349),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(4506),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4507),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4508),
    [sym__variable] = STATE(4505),
    [sym_reserved_identifier] = STATE(4509),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(4510),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(6500),
    [sym__splat_star] = ACTIONS(6502),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(6504),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(604),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(6506),
    [anon_sym_yield] = ACTIONS(6508),
    [anon_sym_break] = ACTIONS(6510),
    [anon_sym_next] = ACTIONS(6512),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(6514),
    [anon_sym_not] = ACTIONS(6516),
    [anon_sym_BANG] = ACTIONS(6518),
    [anon_sym_TILDE] = ACTIONS(6520),
    [sym_constant] = ACTIONS(6522),
    [sym_identifier] = ACTIONS(6522),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1761] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4504),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4505),
    [sym_call] = STATE(4505),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(350),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(4506),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4507),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4508),
    [sym__variable] = STATE(4505),
    [sym_reserved_identifier] = STATE(4509),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(4510),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(6500),
    [sym__splat_star] = ACTIONS(6502),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(6504),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(608),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(6506),
    [anon_sym_yield] = ACTIONS(6508),
    [anon_sym_break] = ACTIONS(6510),
    [anon_sym_next] = ACTIONS(6512),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(6514),
    [anon_sym_not] = ACTIONS(6516),
    [anon_sym_BANG] = ACTIONS(6518),
    [anon_sym_TILDE] = ACTIONS(6520),
    [sym_constant] = ACTIONS(6522),
    [sym_identifier] = ACTIONS(6522),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1762] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4504),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4505),
    [sym_call] = STATE(4505),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(351),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(4506),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4507),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4508),
    [sym__variable] = STATE(4505),
    [sym_reserved_identifier] = STATE(4509),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(4510),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(6500),
    [sym__splat_star] = ACTIONS(6502),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(6504),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(612),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(6506),
    [anon_sym_yield] = ACTIONS(6508),
    [anon_sym_break] = ACTIONS(6510),
    [anon_sym_next] = ACTIONS(6512),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(6514),
    [anon_sym_not] = ACTIONS(6516),
    [anon_sym_BANG] = ACTIONS(6518),
    [anon_sym_TILDE] = ACTIONS(6520),
    [sym_constant] = ACTIONS(6522),
    [sym_identifier] = ACTIONS(6522),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1763] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4511),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1764] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4512),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1765] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(434),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1766] = {
    [anon_sym_end] = ACTIONS(6524),
    [sym_comment] = ACTIONS(110),
  },
  [1767] = {
    [sym_heredoc_end] = STATE(1550),
    [sym__terminator] = STATE(4513),
    [aux_sym__statements_repeat1] = STATE(4514),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym__line_break] = ACTIONS(2446),
    [anon_sym_end] = ACTIONS(920),
    [anon_sym_SEMI] = ACTIONS(2446),
    [sym_comment] = ACTIONS(110),
  },
  [1768] = {
    [sym__simple_heredoc_body] = ACTIONS(922),
    [sym__heredoc_body_beginning] = ACTIONS(922),
    [sym__line_break] = ACTIONS(922),
    [anon_sym_end] = ACTIONS(922),
    [anon_sym_SEMI] = ACTIONS(922),
    [anon_sym_if] = ACTIONS(6526),
    [anon_sym_unless] = ACTIONS(6528),
    [anon_sym_while] = ACTIONS(6530),
    [anon_sym_until] = ACTIONS(6532),
    [anon_sym_rescue] = ACTIONS(6534),
    [sym_comment] = ACTIONS(110),
  },
  [1769] = {
    [sym__simple_heredoc_body] = ACTIONS(934),
    [sym__heredoc_body_beginning] = ACTIONS(934),
    [sym__line_break] = ACTIONS(934),
    [sym__binary_minus] = ACTIONS(6536),
    [sym__binary_star] = ACTIONS(6538),
    [anon_sym_end] = ACTIONS(934),
    [anon_sym_PIPE] = ACTIONS(6540),
    [anon_sym_SEMI] = ACTIONS(934),
    [anon_sym_STAR_STAR] = ACTIONS(6542),
    [anon_sym_AMP] = ACTIONS(6544),
    [anon_sym_LT] = ACTIONS(6546),
    [anon_sym_if] = ACTIONS(934),
    [anon_sym_unless] = ACTIONS(934),
    [anon_sym_while] = ACTIONS(934),
    [anon_sym_until] = ACTIONS(934),
    [anon_sym_rescue] = ACTIONS(934),
    [anon_sym_QMARK] = ACTIONS(6548),
    [anon_sym_DOT_DOT] = ACTIONS(6550),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6552),
    [anon_sym_and] = ACTIONS(6554),
    [anon_sym_or] = ACTIONS(6554),
    [anon_sym_PIPE_PIPE] = ACTIONS(6556),
    [anon_sym_AMP_AMP] = ACTIONS(6556),
    [anon_sym_LT_LT] = ACTIONS(6558),
    [anon_sym_GT_GT] = ACTIONS(6558),
    [anon_sym_EQ_EQ] = ACTIONS(6560),
    [anon_sym_BANG_EQ] = ACTIONS(6556),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6556),
    [anon_sym_LT_EQ_GT] = ACTIONS(6556),
    [anon_sym_EQ_TILDE] = ACTIONS(6556),
    [anon_sym_BANG_TILDE] = ACTIONS(6556),
    [anon_sym_LT_EQ] = ACTIONS(6546),
    [anon_sym_GT] = ACTIONS(6546),
    [anon_sym_GT_EQ] = ACTIONS(6562),
    [anon_sym_CARET] = ACTIONS(6564),
    [anon_sym_PLUS] = ACTIONS(6566),
    [anon_sym_SLASH] = ACTIONS(6542),
    [anon_sym_PERCENT] = ACTIONS(6542),
    [sym_comment] = ACTIONS(110),
  },
  [1770] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4545),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4546),
    [sym_call] = STATE(4546),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(598),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(4547),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_do_block] = STATE(602),
    [sym_block] = STATE(602),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4548),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4549),
    [sym__variable] = STATE(4546),
    [sym_reserved_identifier] = STATE(4550),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(4551),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(6568),
    [sym__splat_star] = ACTIONS(6570),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(6572),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(1014),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(982),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(6574),
    [anon_sym_yield] = ACTIONS(6576),
    [anon_sym_break] = ACTIONS(6578),
    [anon_sym_next] = ACTIONS(6580),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(982),
    [anon_sym_unless] = ACTIONS(982),
    [anon_sym_while] = ACTIONS(982),
    [anon_sym_until] = ACTIONS(982),
    [anon_sym_rescue] = ACTIONS(982),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(1038),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(6582),
    [anon_sym_not] = ACTIONS(6584),
    [anon_sym_BANG] = ACTIONS(6586),
    [anon_sym_TILDE] = ACTIONS(6588),
    [sym_constant] = ACTIONS(6590),
    [sym_identifier] = ACTIONS(6590),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1771] = {
    [anon_sym_EQ] = ACTIONS(6592),
    [sym_comment] = ACTIONS(256),
  },
  [1772] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_end] = ACTIONS(250),
    [anon_sym_COMMA] = ACTIONS(1076),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(6594),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(6596),
    [anon_sym_DASH_EQ] = ACTIONS(6596),
    [anon_sym_STAR_EQ] = ACTIONS(6596),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6596),
    [anon_sym_SLASH_EQ] = ACTIONS(6596),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6596),
    [anon_sym_PIPE_EQ] = ACTIONS(6596),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6596),
    [anon_sym_AMP_EQ] = ACTIONS(6596),
    [anon_sym_PERCENT_EQ] = ACTIONS(6596),
    [anon_sym_GT_GT_EQ] = ACTIONS(6596),
    [anon_sym_LT_LT_EQ] = ACTIONS(6596),
    [anon_sym_CARET_EQ] = ACTIONS(6596),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [1773] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_end] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(2812),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_else] = ACTIONS(2870),
    [anon_sym_ensure] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [1774] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2806),
    [sym__binary_star] = ACTIONS(2808),
    [anon_sym_end] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2810),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(2812),
    [anon_sym_AMP] = ACTIONS(2814),
    [anon_sym_LT] = ACTIONS(2816),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_else] = ACTIONS(2870),
    [anon_sym_ensure] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2818),
    [anon_sym_DOT_DOT] = ACTIONS(2820),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2822),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2826),
    [anon_sym_AMP_AMP] = ACTIONS(2826),
    [anon_sym_LT_LT] = ACTIONS(2828),
    [anon_sym_GT_GT] = ACTIONS(2828),
    [anon_sym_EQ_EQ] = ACTIONS(2830),
    [anon_sym_BANG_EQ] = ACTIONS(2826),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2826),
    [anon_sym_LT_EQ_GT] = ACTIONS(2826),
    [anon_sym_EQ_TILDE] = ACTIONS(2826),
    [anon_sym_BANG_TILDE] = ACTIONS(2826),
    [anon_sym_LT_EQ] = ACTIONS(2816),
    [anon_sym_GT] = ACTIONS(2816),
    [anon_sym_GT_EQ] = ACTIONS(2832),
    [anon_sym_CARET] = ACTIONS(2834),
    [anon_sym_PLUS] = ACTIONS(2836),
    [anon_sym_SLASH] = ACTIONS(2812),
    [anon_sym_PERCENT] = ACTIONS(2812),
    [sym_comment] = ACTIONS(110),
  },
  [1775] = {
    [sym_ensure] = STATE(4554),
    [anon_sym_end] = ACTIONS(6598),
    [anon_sym_ensure] = ACTIONS(2792),
    [sym_comment] = ACTIONS(110),
  },
  [1776] = {
    [anon_sym_end] = ACTIONS(6598),
    [sym_comment] = ACTIONS(110),
  },
  [1777] = {
    [sym_else] = STATE(4555),
    [sym_ensure] = STATE(4554),
    [anon_sym_end] = ACTIONS(6598),
    [anon_sym_else] = ACTIONS(2790),
    [anon_sym_ensure] = ACTIONS(2792),
    [sym_comment] = ACTIONS(110),
  },
  [1778] = {
    [sym__top_level_statement] = STATE(1996),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(3108),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(3108),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(3108),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(3108),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1779] = {
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(4556),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym__line_break] = ACTIONS(692),
    [anon_sym_end] = ACTIONS(3106),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_rescue] = ACTIONS(3106),
    [anon_sym_else] = ACTIONS(3106),
    [anon_sym_ensure] = ACTIONS(3106),
    [sym_comment] = ACTIONS(110),
  },
  [1780] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4557),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1781] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4558),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1782] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4559),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1783] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4560),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1784] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4561),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1785] = {
    [sym__simple_heredoc_body] = ACTIONS(6600),
    [sym__heredoc_body_beginning] = ACTIONS(6600),
    [sym__line_break] = ACTIONS(6600),
    [sym__element_reference_left_bracket] = ACTIONS(6600),
    [sym__scope_double_colon] = ACTIONS(6600),
    [sym__binary_minus] = ACTIONS(6600),
    [sym__binary_star] = ACTIONS(6600),
    [ts_builtin_sym_end] = ACTIONS(6600),
    [anon_sym___END__] = ACTIONS(6600),
    [anon_sym_LBRACE] = ACTIONS(6600),
    [anon_sym_RBRACE] = ACTIONS(6600),
    [anon_sym_RPAREN] = ACTIONS(6600),
    [anon_sym_DOT] = ACTIONS(6602),
    [anon_sym_end] = ACTIONS(6600),
    [anon_sym_COMMA] = ACTIONS(6600),
    [anon_sym_PIPE] = ACTIONS(6602),
    [anon_sym_SEMI] = ACTIONS(6600),
    [anon_sym_STAR_STAR] = ACTIONS(6600),
    [anon_sym_AMP] = ACTIONS(6602),
    [anon_sym_LT] = ACTIONS(6602),
    [anon_sym_if] = ACTIONS(6600),
    [anon_sym_unless] = ACTIONS(6600),
    [anon_sym_while] = ACTIONS(6600),
    [anon_sym_until] = ACTIONS(6600),
    [anon_sym_rescue] = ACTIONS(6600),
    [anon_sym_do] = ACTIONS(6600),
    [anon_sym_when] = ACTIONS(6600),
    [anon_sym_elsif] = ACTIONS(6600),
    [anon_sym_else] = ACTIONS(6600),
    [anon_sym_then] = ACTIONS(6600),
    [anon_sym_ensure] = ACTIONS(6600),
    [anon_sym_EQ_GT] = ACTIONS(6600),
    [anon_sym_AMP_DOT] = ACTIONS(6600),
    [anon_sym_QMARK] = ACTIONS(6600),
    [anon_sym_DOT_DOT] = ACTIONS(6602),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6600),
    [anon_sym_and] = ACTIONS(6600),
    [anon_sym_or] = ACTIONS(6600),
    [anon_sym_PIPE_PIPE] = ACTIONS(6600),
    [anon_sym_AMP_AMP] = ACTIONS(6600),
    [anon_sym_LT_LT] = ACTIONS(6600),
    [anon_sym_GT_GT] = ACTIONS(6600),
    [anon_sym_EQ_EQ] = ACTIONS(6602),
    [anon_sym_BANG_EQ] = ACTIONS(6600),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6600),
    [anon_sym_LT_EQ_GT] = ACTIONS(6600),
    [anon_sym_EQ_TILDE] = ACTIONS(6600),
    [anon_sym_BANG_TILDE] = ACTIONS(6600),
    [anon_sym_LT_EQ] = ACTIONS(6602),
    [anon_sym_GT] = ACTIONS(6602),
    [anon_sym_GT_EQ] = ACTIONS(6600),
    [anon_sym_CARET] = ACTIONS(6600),
    [anon_sym_PLUS] = ACTIONS(6600),
    [anon_sym_SLASH] = ACTIONS(6600),
    [anon_sym_PERCENT] = ACTIONS(6600),
    [sym_comment] = ACTIONS(110),
  },
  [1786] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4562),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1787] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4563),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1788] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4564),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1789] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4565),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1790] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4566),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1791] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4567),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1792] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(4568),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [1793] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4569),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1794] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4570),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1795] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4571),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1796] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4572),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1797] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4573),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1798] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(4582),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(4583),
    [sym_call] = STATE(4583),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4584),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4585),
    [sym__variable] = STATE(4583),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(6604),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(6606),
    [anon_sym_yield] = ACTIONS(6608),
    [anon_sym_break] = ACTIONS(6610),
    [anon_sym_next] = ACTIONS(6612),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(6614),
    [anon_sym_defined_QMARK] = ACTIONS(6616),
    [anon_sym_not] = ACTIONS(6618),
    [anon_sym_BANG] = ACTIONS(6620),
    [anon_sym_TILDE] = ACTIONS(6620),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [1799] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(4586),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(4583),
    [sym_call] = STATE(4583),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4584),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4585),
    [sym__variable] = STATE(4583),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(6604),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(6606),
    [anon_sym_yield] = ACTIONS(6608),
    [anon_sym_break] = ACTIONS(6610),
    [anon_sym_next] = ACTIONS(6612),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(6614),
    [anon_sym_defined_QMARK] = ACTIONS(6616),
    [anon_sym_not] = ACTIONS(6618),
    [anon_sym_BANG] = ACTIONS(6620),
    [anon_sym_TILDE] = ACTIONS(6620),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [1800] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4591),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1812),
    [sym_call] = STATE(1812),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1814),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1815),
    [sym__variable] = STATE(1812),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2842),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(6622),
    [anon_sym_yield] = ACTIONS(6624),
    [anon_sym_break] = ACTIONS(6626),
    [anon_sym_next] = ACTIONS(6628),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(6630),
    [anon_sym_defined_QMARK] = ACTIONS(2852),
    [anon_sym_not] = ACTIONS(6632),
    [anon_sym_BANG] = ACTIONS(2858),
    [anon_sym_TILDE] = ACTIONS(2858),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1801] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(4592),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(4583),
    [sym_call] = STATE(4583),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4584),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4585),
    [sym__variable] = STATE(4583),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(6604),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(6606),
    [anon_sym_yield] = ACTIONS(6608),
    [anon_sym_break] = ACTIONS(6610),
    [anon_sym_next] = ACTIONS(6612),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(6614),
    [anon_sym_defined_QMARK] = ACTIONS(6616),
    [anon_sym_not] = ACTIONS(6618),
    [anon_sym_BANG] = ACTIONS(6620),
    [anon_sym_TILDE] = ACTIONS(6620),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [1802] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4361),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1812),
    [sym_call] = STATE(1812),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2147),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(4362),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1814),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1815),
    [sym__variable] = STATE(1812),
    [sym_reserved_identifier] = STATE(4363),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(4364),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(6306),
    [sym__splat_star] = ACTIONS(6308),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2842),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(544),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(544),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2844),
    [anon_sym_yield] = ACTIONS(2846),
    [anon_sym_break] = ACTIONS(2848),
    [anon_sym_next] = ACTIONS(2850),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(544),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(544),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_PLUS_EQ] = ACTIONS(532),
    [anon_sym_DASH_EQ] = ACTIONS(532),
    [anon_sym_STAR_EQ] = ACTIONS(532),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(532),
    [anon_sym_SLASH_EQ] = ACTIONS(532),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(532),
    [anon_sym_PIPE_EQ] = ACTIONS(532),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(532),
    [anon_sym_AMP_EQ] = ACTIONS(532),
    [anon_sym_PERCENT_EQ] = ACTIONS(532),
    [anon_sym_GT_GT_EQ] = ACTIONS(532),
    [anon_sym_LT_LT_EQ] = ACTIONS(532),
    [anon_sym_CARET_EQ] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(544),
    [anon_sym_AMP_AMP] = ACTIONS(544),
    [anon_sym_LT_LT] = ACTIONS(544),
    [anon_sym_GT_GT] = ACTIONS(544),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(544),
    [anon_sym_PERCENT] = ACTIONS(544),
    [anon_sym_defined_QMARK] = ACTIONS(2852),
    [anon_sym_not] = ACTIONS(2854),
    [anon_sym_BANG] = ACTIONS(2856),
    [anon_sym_TILDE] = ACTIONS(2858),
    [sym_constant] = ACTIONS(6310),
    [sym_identifier] = ACTIONS(6310),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1803] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4361),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1812),
    [sym_call] = STATE(1812),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2148),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(4362),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1814),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1815),
    [sym__variable] = STATE(1812),
    [sym_reserved_identifier] = STATE(4363),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(4364),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(6306),
    [sym__splat_star] = ACTIONS(6308),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2842),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(604),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(604),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2844),
    [anon_sym_yield] = ACTIONS(2846),
    [anon_sym_break] = ACTIONS(2848),
    [anon_sym_next] = ACTIONS(2850),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(604),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(604),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_PLUS_EQ] = ACTIONS(602),
    [anon_sym_DASH_EQ] = ACTIONS(602),
    [anon_sym_STAR_EQ] = ACTIONS(602),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(602),
    [anon_sym_SLASH_EQ] = ACTIONS(602),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(602),
    [anon_sym_PIPE_EQ] = ACTIONS(602),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(602),
    [anon_sym_AMP_EQ] = ACTIONS(602),
    [anon_sym_PERCENT_EQ] = ACTIONS(602),
    [anon_sym_GT_GT_EQ] = ACTIONS(602),
    [anon_sym_LT_LT_EQ] = ACTIONS(602),
    [anon_sym_CARET_EQ] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(604),
    [anon_sym_AMP_AMP] = ACTIONS(604),
    [anon_sym_LT_LT] = ACTIONS(604),
    [anon_sym_GT_GT] = ACTIONS(604),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(604),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(604),
    [anon_sym_PERCENT] = ACTIONS(604),
    [anon_sym_defined_QMARK] = ACTIONS(2852),
    [anon_sym_not] = ACTIONS(2854),
    [anon_sym_BANG] = ACTIONS(2856),
    [anon_sym_TILDE] = ACTIONS(2858),
    [sym_constant] = ACTIONS(6310),
    [sym_identifier] = ACTIONS(6310),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1804] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4361),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1812),
    [sym_call] = STATE(1812),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2149),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(4362),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1814),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1815),
    [sym__variable] = STATE(1812),
    [sym_reserved_identifier] = STATE(4363),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(4364),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(6306),
    [sym__splat_star] = ACTIONS(6308),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2842),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(608),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(608),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2844),
    [anon_sym_yield] = ACTIONS(2846),
    [anon_sym_break] = ACTIONS(2848),
    [anon_sym_next] = ACTIONS(2850),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(608),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(608),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_PLUS_EQ] = ACTIONS(606),
    [anon_sym_DASH_EQ] = ACTIONS(606),
    [anon_sym_STAR_EQ] = ACTIONS(606),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(606),
    [anon_sym_SLASH_EQ] = ACTIONS(606),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(606),
    [anon_sym_PIPE_EQ] = ACTIONS(606),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(606),
    [anon_sym_AMP_EQ] = ACTIONS(606),
    [anon_sym_PERCENT_EQ] = ACTIONS(606),
    [anon_sym_GT_GT_EQ] = ACTIONS(606),
    [anon_sym_LT_LT_EQ] = ACTIONS(606),
    [anon_sym_CARET_EQ] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(608),
    [anon_sym_AMP_AMP] = ACTIONS(608),
    [anon_sym_LT_LT] = ACTIONS(608),
    [anon_sym_GT_GT] = ACTIONS(608),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(608),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(608),
    [anon_sym_PERCENT] = ACTIONS(608),
    [anon_sym_defined_QMARK] = ACTIONS(2852),
    [anon_sym_not] = ACTIONS(2854),
    [anon_sym_BANG] = ACTIONS(2856),
    [anon_sym_TILDE] = ACTIONS(2858),
    [sym_constant] = ACTIONS(6310),
    [sym_identifier] = ACTIONS(6310),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1805] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4361),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1812),
    [sym_call] = STATE(1812),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2150),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(4362),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1814),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1815),
    [sym__variable] = STATE(1812),
    [sym_reserved_identifier] = STATE(4363),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(4364),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(6306),
    [sym__splat_star] = ACTIONS(6308),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2842),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(612),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(612),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2844),
    [anon_sym_yield] = ACTIONS(2846),
    [anon_sym_break] = ACTIONS(2848),
    [anon_sym_next] = ACTIONS(2850),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(612),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(612),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_PLUS_EQ] = ACTIONS(610),
    [anon_sym_DASH_EQ] = ACTIONS(610),
    [anon_sym_STAR_EQ] = ACTIONS(610),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(610),
    [anon_sym_SLASH_EQ] = ACTIONS(610),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(610),
    [anon_sym_PIPE_EQ] = ACTIONS(610),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(610),
    [anon_sym_AMP_EQ] = ACTIONS(610),
    [anon_sym_PERCENT_EQ] = ACTIONS(610),
    [anon_sym_GT_GT_EQ] = ACTIONS(610),
    [anon_sym_LT_LT_EQ] = ACTIONS(610),
    [anon_sym_CARET_EQ] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(612),
    [anon_sym_AMP_AMP] = ACTIONS(612),
    [anon_sym_LT_LT] = ACTIONS(612),
    [anon_sym_GT_GT] = ACTIONS(612),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(612),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(612),
    [anon_sym_PERCENT] = ACTIONS(612),
    [anon_sym_defined_QMARK] = ACTIONS(2852),
    [anon_sym_not] = ACTIONS(2854),
    [anon_sym_BANG] = ACTIONS(2856),
    [anon_sym_TILDE] = ACTIONS(2858),
    [sym_constant] = ACTIONS(6310),
    [sym_identifier] = ACTIONS(6310),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1806] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4593),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1812),
    [sym_call] = STATE(1812),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1814),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1815),
    [sym__variable] = STATE(1812),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2842),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(6622),
    [anon_sym_yield] = ACTIONS(6624),
    [anon_sym_break] = ACTIONS(6626),
    [anon_sym_next] = ACTIONS(6628),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(6630),
    [anon_sym_defined_QMARK] = ACTIONS(2852),
    [anon_sym_not] = ACTIONS(6632),
    [anon_sym_BANG] = ACTIONS(2858),
    [anon_sym_TILDE] = ACTIONS(2858),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1807] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4594),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1812),
    [sym_call] = STATE(1812),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1814),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1815),
    [sym__variable] = STATE(1812),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2842),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(6622),
    [anon_sym_yield] = ACTIONS(6624),
    [anon_sym_break] = ACTIONS(6626),
    [anon_sym_next] = ACTIONS(6628),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(6630),
    [anon_sym_defined_QMARK] = ACTIONS(2852),
    [anon_sym_not] = ACTIONS(6632),
    [anon_sym_BANG] = ACTIONS(2858),
    [anon_sym_TILDE] = ACTIONS(2858),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1808] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4594),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1812),
    [sym_call] = STATE(1812),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1814),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1815),
    [sym__variable] = STATE(1812),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2842),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(6622),
    [anon_sym_yield] = ACTIONS(6624),
    [anon_sym_break] = ACTIONS(6626),
    [anon_sym_next] = ACTIONS(6628),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(6630),
    [anon_sym_defined_QMARK] = ACTIONS(2852),
    [anon_sym_not] = ACTIONS(6632),
    [anon_sym_BANG] = ACTIONS(2858),
    [anon_sym_TILDE] = ACTIONS(2858),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1809] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(2168),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1812),
    [sym_call] = STATE(1812),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1814),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1815),
    [sym__variable] = STATE(1812),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2842),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(6622),
    [anon_sym_yield] = ACTIONS(6624),
    [anon_sym_break] = ACTIONS(6626),
    [anon_sym_next] = ACTIONS(6628),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(6630),
    [anon_sym_defined_QMARK] = ACTIONS(2852),
    [anon_sym_not] = ACTIONS(6632),
    [anon_sym_BANG] = ACTIONS(2858),
    [anon_sym_TILDE] = ACTIONS(2858),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1810] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(6634),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [1811] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__line_break] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(6636),
    [sym__binary_star] = ACTIONS(6638),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_end] = ACTIONS(2210),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(6640),
    [anon_sym_SEMI] = ACTIONS(2210),
    [anon_sym_STAR_STAR] = ACTIONS(6642),
    [anon_sym_AMP] = ACTIONS(6644),
    [anon_sym_EQ] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(6646),
    [anon_sym_if] = ACTIONS(2210),
    [anon_sym_unless] = ACTIONS(2210),
    [anon_sym_while] = ACTIONS(2210),
    [anon_sym_until] = ACTIONS(2210),
    [anon_sym_rescue] = ACTIONS(2210),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_else] = ACTIONS(2210),
    [anon_sym_ensure] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(6634),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_PLUS_EQ] = ACTIONS(2210),
    [anon_sym_DASH_EQ] = ACTIONS(2210),
    [anon_sym_STAR_EQ] = ACTIONS(2210),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2210),
    [anon_sym_SLASH_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2210),
    [anon_sym_AMP_EQ] = ACTIONS(2210),
    [anon_sym_PERCENT_EQ] = ACTIONS(2210),
    [anon_sym_GT_GT_EQ] = ACTIONS(2210),
    [anon_sym_LT_LT_EQ] = ACTIONS(2210),
    [anon_sym_CARET_EQ] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(6648),
    [anon_sym_DOT_DOT] = ACTIONS(6650),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6652),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(6654),
    [anon_sym_AMP_AMP] = ACTIONS(6654),
    [anon_sym_LT_LT] = ACTIONS(6656),
    [anon_sym_GT_GT] = ACTIONS(6656),
    [anon_sym_EQ_EQ] = ACTIONS(6654),
    [anon_sym_BANG_EQ] = ACTIONS(6658),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6658),
    [anon_sym_LT_EQ_GT] = ACTIONS(6658),
    [anon_sym_EQ_TILDE] = ACTIONS(6658),
    [anon_sym_BANG_TILDE] = ACTIONS(6658),
    [anon_sym_LT_EQ] = ACTIONS(6646),
    [anon_sym_GT] = ACTIONS(6646),
    [anon_sym_GT_EQ] = ACTIONS(6660),
    [anon_sym_CARET] = ACTIONS(6640),
    [anon_sym_PLUS] = ACTIONS(6662),
    [anon_sym_SLASH] = ACTIONS(6642),
    [anon_sym_PERCENT] = ACTIONS(6642),
    [sym_comment] = ACTIONS(256),
  },
  [1812] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4361),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1812),
    [sym_call] = STATE(1812),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2190),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(4362),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_do_block] = STATE(1439),
    [sym_block] = STATE(1439),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1814),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1815),
    [sym__variable] = STATE(1812),
    [sym_reserved_identifier] = STATE(4363),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(4364),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(6306),
    [sym__splat_star] = ACTIONS(6308),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(2842),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(2258),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(982),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2844),
    [anon_sym_yield] = ACTIONS(2846),
    [anon_sym_break] = ACTIONS(2848),
    [anon_sym_next] = ACTIONS(2850),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(982),
    [anon_sym_unless] = ACTIONS(982),
    [anon_sym_while] = ACTIONS(982),
    [anon_sym_until] = ACTIONS(982),
    [anon_sym_rescue] = ACTIONS(982),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(982),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(982),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(982),
    [anon_sym_EQ_GT] = ACTIONS(980),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(2852),
    [anon_sym_not] = ACTIONS(2854),
    [anon_sym_BANG] = ACTIONS(2856),
    [anon_sym_TILDE] = ACTIONS(2858),
    [sym_constant] = ACTIONS(6310),
    [sym_identifier] = ACTIONS(6310),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [1813] = {
    [sym_heredoc_end] = STATE(2196),
    [aux_sym_argument_list_repeat1] = STATE(4609),
    [aux_sym_argument_list_repeat2] = STATE(2197),
    [sym__simple_heredoc_body] = ACTIONS(3354),
    [sym__heredoc_body_beginning] = ACTIONS(3356),
    [sym__line_break] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_end] = ACTIONS(2272),
    [anon_sym_COMMA] = ACTIONS(6664),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_STAR_STAR] = ACTIONS(2274),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_EQ] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_if] = ACTIONS(2272),
    [anon_sym_unless] = ACTIONS(2272),
    [anon_sym_while] = ACTIONS(2272),
    [anon_sym_until] = ACTIONS(2272),
    [anon_sym_rescue] = ACTIONS(2272),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_else] = ACTIONS(2272),
    [anon_sym_ensure] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_PLUS_EQ] = ACTIONS(2272),
    [anon_sym_DASH_EQ] = ACTIONS(2272),
    [anon_sym_STAR_EQ] = ACTIONS(2272),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2272),
    [anon_sym_SLASH_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2272),
    [anon_sym_AMP_EQ] = ACTIONS(2272),
    [anon_sym_PERCENT_EQ] = ACTIONS(2272),
    [anon_sym_GT_GT_EQ] = ACTIONS(2272),
    [anon_sym_LT_LT_EQ] = ACTIONS(2272),
    [anon_sym_CARET_EQ] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2274),
    [anon_sym_AMP_AMP] = ACTIONS(2274),
    [anon_sym_LT_LT] = ACTIONS(2274),
    [anon_sym_GT_GT] = ACTIONS(2274),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2274),
    [anon_sym_PLUS] = ACTIONS(2274),
    [anon_sym_SLASH] = ACTIONS(2274),
    [anon_sym_PERCENT] = ACTIONS(2274),
    [sym_comment] = ACTIONS(256),
  },
  [1814] = {
    [anon_sym_EQ] = ACTIONS(6666),
    [sym_comment] = ACTIONS(256),
  },
  [1815] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_end] = ACTIONS(250),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(6668),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_else] = ACTIONS(250),
    [anon_sym_ensure] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(6670),
    [anon_sym_DASH_EQ] = ACTIONS(6670),
    [anon_sym_STAR_EQ] = ACTIONS(6670),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6670),
    [anon_sym_SLASH_EQ] = ACTIONS(6670),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6670),
    [anon_sym_PIPE_EQ] = ACTIONS(6670),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6670),
    [anon_sym_AMP_EQ] = ACTIONS(6670),
    [anon_sym_PERCENT_EQ] = ACTIONS(6670),
    [anon_sym_GT_GT_EQ] = ACTIONS(6670),
    [anon_sym_LT_LT_EQ] = ACTIONS(6670),
    [anon_sym_CARET_EQ] = ACTIONS(6670),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [1816] = {
    [sym__keyword_colon] = ACTIONS(6672),
    [sym_comment] = ACTIONS(110),
  },
  [1817] = {
    [sym_string] = STATE(2203),
    [aux_sym_chained_string_repeat1] = STATE(2204),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(6634),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_end] = ACTIONS(250),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_else] = ACTIONS(250),
    [anon_sym_ensure] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(3266),
  },
  [1818] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4618),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_splat_argument] = STATE(2211),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_right_assignment_list] = STATE(2212),
    [sym__arg_or_splat_arg] = STATE(4619),
    [sym_left_assignment_list] = STATE(4620),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4621),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(6674),
    [sym__unary_minus] = ACTIONS(6676),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6678),
    [anon_sym_defined_QMARK] = ACTIONS(6680),
    [anon_sym_not] = ACTIONS(6682),
    [anon_sym_BANG] = ACTIONS(6684),
    [anon_sym_TILDE] = ACTIONS(6684),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1819] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4622),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1820] = {
    [anon_sym_end] = ACTIONS(6686),
    [sym_comment] = ACTIONS(110),
  },
  [1821] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(6688),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [1822] = {
    [sym__statement] = STATE(4625),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [1823] = {
    [sym__simple_symbol] = ACTIONS(4690),
    [sym__symbol_beginning] = ACTIONS(4690),
    [anon_sym_PIPE] = ACTIONS(4690),
    [anon_sym_STAR] = ACTIONS(4692),
    [anon_sym_STAR_STAR] = ACTIONS(4690),
    [anon_sym_AMP] = ACTIONS(4690),
    [anon_sym_LT] = ACTIONS(4692),
    [anon_sym_DOT_DOT] = ACTIONS(4690),
    [anon_sym_LT_LT] = ACTIONS(4690),
    [anon_sym_GT_GT] = ACTIONS(4690),
    [anon_sym_EQ_EQ] = ACTIONS(4692),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4690),
    [anon_sym_LT_EQ_GT] = ACTIONS(4690),
    [anon_sym_EQ_TILDE] = ACTIONS(4690),
    [anon_sym_BANG_TILDE] = ACTIONS(4690),
    [anon_sym_LT_EQ] = ACTIONS(4692),
    [anon_sym_GT] = ACTIONS(4692),
    [anon_sym_GT_EQ] = ACTIONS(4690),
    [anon_sym_CARET] = ACTIONS(4690),
    [anon_sym_PLUS] = ACTIONS(4692),
    [anon_sym_SLASH] = ACTIONS(4690),
    [anon_sym_PERCENT] = ACTIONS(4690),
    [anon_sym_BANG] = ACTIONS(4692),
    [anon_sym_TILDE] = ACTIONS(4690),
    [sym_constant] = ACTIONS(4692),
    [sym_identifier] = ACTIONS(4692),
    [sym_instance_variable] = ACTIONS(4692),
    [sym_class_variable] = ACTIONS(4692),
    [sym_global_variable] = ACTIONS(4692),
    [anon_sym_DASH] = ACTIONS(4692),
    [anon_sym_PLUS_AT] = ACTIONS(4690),
    [anon_sym_DASH_AT] = ACTIONS(4690),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(4692),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(4690),
    [anon_sym_BQUOTE] = ACTIONS(4690),
    [sym_comment] = ACTIONS(110),
  },
  [1824] = {
    [sym__simple_heredoc_body] = ACTIONS(6690),
    [sym__heredoc_body_beginning] = ACTIONS(6690),
    [sym__line_break] = ACTIONS(6690),
    [ts_builtin_sym_end] = ACTIONS(6690),
    [anon_sym___END__] = ACTIONS(6690),
    [anon_sym_RBRACE] = ACTIONS(6690),
    [anon_sym_RPAREN] = ACTIONS(6690),
    [anon_sym_end] = ACTIONS(6690),
    [anon_sym_SEMI] = ACTIONS(6690),
    [anon_sym_if] = ACTIONS(6690),
    [anon_sym_unless] = ACTIONS(6690),
    [anon_sym_while] = ACTIONS(6690),
    [anon_sym_until] = ACTIONS(6690),
    [anon_sym_rescue] = ACTIONS(6690),
    [anon_sym_when] = ACTIONS(6690),
    [anon_sym_elsif] = ACTIONS(6690),
    [anon_sym_else] = ACTIONS(6690),
    [anon_sym_then] = ACTIONS(6690),
    [anon_sym_ensure] = ACTIONS(6690),
    [sym_comment] = ACTIONS(110),
  },
  [1825] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(6692),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [1826] = {
    [sym__statement] = STATE(4627),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [1827] = {
    [sym__simple_heredoc_body] = ACTIONS(4690),
    [sym__heredoc_body_beginning] = ACTIONS(4690),
    [sym__line_break] = ACTIONS(4690),
    [ts_builtin_sym_end] = ACTIONS(4690),
    [anon_sym___END__] = ACTIONS(4690),
    [anon_sym_RBRACE] = ACTIONS(4690),
    [anon_sym_RPAREN] = ACTIONS(4690),
    [anon_sym_end] = ACTIONS(4690),
    [anon_sym_COMMA] = ACTIONS(4690),
    [anon_sym_SEMI] = ACTIONS(4690),
    [anon_sym_if] = ACTIONS(4690),
    [anon_sym_unless] = ACTIONS(4690),
    [anon_sym_while] = ACTIONS(4690),
    [anon_sym_until] = ACTIONS(4690),
    [anon_sym_rescue] = ACTIONS(4690),
    [anon_sym_when] = ACTIONS(4690),
    [anon_sym_elsif] = ACTIONS(4690),
    [anon_sym_else] = ACTIONS(4690),
    [anon_sym_then] = ACTIONS(4690),
    [anon_sym_ensure] = ACTIONS(4690),
    [sym_comment] = ACTIONS(110),
  },
  [1828] = {
    [sym_operator] = STATE(444),
    [sym__method_name] = STATE(4628),
    [sym_setter] = STATE(444),
    [sym_symbol] = STATE(444),
    [sym__simple_symbol] = ACTIONS(764),
    [sym__symbol_beginning] = ACTIONS(766),
    [anon_sym_PIPE] = ACTIONS(768),
    [anon_sym_STAR] = ACTIONS(770),
    [anon_sym_STAR_STAR] = ACTIONS(768),
    [anon_sym_AMP] = ACTIONS(768),
    [anon_sym_LT] = ACTIONS(770),
    [anon_sym_DOT_DOT] = ACTIONS(768),
    [anon_sym_LT_LT] = ACTIONS(768),
    [anon_sym_GT_GT] = ACTIONS(768),
    [anon_sym_EQ_EQ] = ACTIONS(770),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(768),
    [anon_sym_LT_EQ_GT] = ACTIONS(768),
    [anon_sym_EQ_TILDE] = ACTIONS(768),
    [anon_sym_BANG_TILDE] = ACTIONS(768),
    [anon_sym_LT_EQ] = ACTIONS(770),
    [anon_sym_GT] = ACTIONS(770),
    [anon_sym_GT_EQ] = ACTIONS(768),
    [anon_sym_CARET] = ACTIONS(768),
    [anon_sym_PLUS] = ACTIONS(770),
    [anon_sym_SLASH] = ACTIONS(768),
    [anon_sym_PERCENT] = ACTIONS(768),
    [anon_sym_BANG] = ACTIONS(770),
    [anon_sym_TILDE] = ACTIONS(768),
    [sym_constant] = ACTIONS(772),
    [sym_identifier] = ACTIONS(774),
    [sym_instance_variable] = ACTIONS(772),
    [sym_class_variable] = ACTIONS(772),
    [sym_global_variable] = ACTIONS(772),
    [anon_sym_DASH] = ACTIONS(770),
    [anon_sym_PLUS_AT] = ACTIONS(768),
    [anon_sym_DASH_AT] = ACTIONS(768),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(770),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(768),
    [anon_sym_BQUOTE] = ACTIONS(768),
    [sym_comment] = ACTIONS(110),
  },
  [1829] = {
    [sym__simple_heredoc_body] = ACTIONS(6694),
    [sym__heredoc_body_beginning] = ACTIONS(6694),
    [sym__line_break] = ACTIONS(6694),
    [ts_builtin_sym_end] = ACTIONS(6694),
    [anon_sym___END__] = ACTIONS(6694),
    [anon_sym_RBRACE] = ACTIONS(6694),
    [anon_sym_RPAREN] = ACTIONS(6694),
    [anon_sym_end] = ACTIONS(6694),
    [anon_sym_COMMA] = ACTIONS(6696),
    [anon_sym_SEMI] = ACTIONS(6694),
    [anon_sym_if] = ACTIONS(6694),
    [anon_sym_unless] = ACTIONS(6694),
    [anon_sym_while] = ACTIONS(6694),
    [anon_sym_until] = ACTIONS(6694),
    [anon_sym_rescue] = ACTIONS(6694),
    [anon_sym_when] = ACTIONS(6694),
    [anon_sym_elsif] = ACTIONS(6694),
    [anon_sym_else] = ACTIONS(6694),
    [anon_sym_then] = ACTIONS(6694),
    [anon_sym_ensure] = ACTIONS(6694),
    [sym_comment] = ACTIONS(110),
  },
  [1830] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(6698),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [1831] = {
    [sym__statement] = STATE(4631),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [1832] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(6700),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [1833] = {
    [sym__statement] = STATE(4633),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [1834] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(6702),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [1835] = {
    [sym__statement] = STATE(4635),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [1836] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(6704),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [1837] = {
    [sym__statement] = STATE(4637),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [1838] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(6706),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [1839] = {
    [sym__statement] = STATE(4639),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [1840] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(4640),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(1849),
    [sym_call] = STATE(1849),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1850),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1851),
    [sym__variable] = STATE(1849),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2886),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2888),
    [anon_sym_yield] = ACTIONS(2890),
    [anon_sym_break] = ACTIONS(2892),
    [anon_sym_next] = ACTIONS(2894),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2896),
    [anon_sym_defined_QMARK] = ACTIONS(2898),
    [anon_sym_not] = ACTIONS(2900),
    [anon_sym_BANG] = ACTIONS(2902),
    [anon_sym_TILDE] = ACTIONS(2902),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1841] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(4645),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1886),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(4646),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1888),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1889),
    [sym__variable] = STATE(504),
    [sym_reserved_identifier] = STATE(4647),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(4648),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(6708),
    [sym__splat_star] = ACTIONS(6710),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(2938),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(824),
    [anon_sym_yield] = ACTIONS(826),
    [anon_sym_break] = ACTIONS(828),
    [anon_sym_next] = ACTIONS(830),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_RBRACK] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(2940),
    [anon_sym_not] = ACTIONS(2942),
    [anon_sym_BANG] = ACTIONS(2944),
    [anon_sym_TILDE] = ACTIONS(2946),
    [sym_constant] = ACTIONS(6712),
    [sym_identifier] = ACTIONS(6712),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1842] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(4645),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1892),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(4646),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1888),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1889),
    [sym__variable] = STATE(504),
    [sym_reserved_identifier] = STATE(4647),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(4648),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(6708),
    [sym__splat_star] = ACTIONS(6710),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(2938),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(824),
    [anon_sym_yield] = ACTIONS(826),
    [anon_sym_break] = ACTIONS(828),
    [anon_sym_next] = ACTIONS(830),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_RBRACK] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(2940),
    [anon_sym_not] = ACTIONS(2942),
    [anon_sym_BANG] = ACTIONS(2944),
    [anon_sym_TILDE] = ACTIONS(2946),
    [sym_constant] = ACTIONS(6712),
    [sym_identifier] = ACTIONS(6712),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1843] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(4645),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1893),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(4646),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1888),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1889),
    [sym__variable] = STATE(504),
    [sym_reserved_identifier] = STATE(4647),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(4648),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(6708),
    [sym__splat_star] = ACTIONS(6710),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(2938),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(824),
    [anon_sym_yield] = ACTIONS(826),
    [anon_sym_break] = ACTIONS(828),
    [anon_sym_next] = ACTIONS(830),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_RBRACK] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(2940),
    [anon_sym_not] = ACTIONS(2942),
    [anon_sym_BANG] = ACTIONS(2944),
    [anon_sym_TILDE] = ACTIONS(2946),
    [sym_constant] = ACTIONS(6712),
    [sym_identifier] = ACTIONS(6712),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1844] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(4645),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1894),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(4646),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1888),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1889),
    [sym__variable] = STATE(504),
    [sym_reserved_identifier] = STATE(4647),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(4648),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(6708),
    [sym__splat_star] = ACTIONS(6710),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(2938),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(824),
    [anon_sym_yield] = ACTIONS(826),
    [anon_sym_break] = ACTIONS(828),
    [anon_sym_next] = ACTIONS(830),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_RBRACK] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(2940),
    [anon_sym_not] = ACTIONS(2942),
    [anon_sym_BANG] = ACTIONS(2944),
    [anon_sym_TILDE] = ACTIONS(2946),
    [sym_constant] = ACTIONS(6712),
    [sym_identifier] = ACTIONS(6712),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1845] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(4649),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(1849),
    [sym_call] = STATE(1849),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1850),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1851),
    [sym__variable] = STATE(1849),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2886),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2888),
    [anon_sym_yield] = ACTIONS(2890),
    [anon_sym_break] = ACTIONS(2892),
    [anon_sym_next] = ACTIONS(2894),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2896),
    [anon_sym_defined_QMARK] = ACTIONS(2898),
    [anon_sym_not] = ACTIONS(2900),
    [anon_sym_BANG] = ACTIONS(2902),
    [anon_sym_TILDE] = ACTIONS(2902),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1846] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(4650),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(1849),
    [sym_call] = STATE(1849),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1850),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1851),
    [sym__variable] = STATE(1849),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2886),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2888),
    [anon_sym_yield] = ACTIONS(2890),
    [anon_sym_break] = ACTIONS(2892),
    [anon_sym_next] = ACTIONS(2894),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2896),
    [anon_sym_defined_QMARK] = ACTIONS(2898),
    [anon_sym_not] = ACTIONS(2900),
    [anon_sym_BANG] = ACTIONS(2902),
    [anon_sym_TILDE] = ACTIONS(2902),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1847] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1908),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(1849),
    [sym_call] = STATE(1849),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1850),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1851),
    [sym__variable] = STATE(1849),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2886),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2888),
    [anon_sym_yield] = ACTIONS(2890),
    [anon_sym_break] = ACTIONS(2892),
    [anon_sym_next] = ACTIONS(2894),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2896),
    [anon_sym_defined_QMARK] = ACTIONS(2898),
    [anon_sym_not] = ACTIONS(2900),
    [anon_sym_BANG] = ACTIONS(2902),
    [anon_sym_TILDE] = ACTIONS(2902),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1848] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(6714),
    [sym__binary_star] = ACTIONS(6716),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(6718),
    [anon_sym_STAR_STAR] = ACTIONS(6720),
    [anon_sym_AMP] = ACTIONS(6722),
    [anon_sym_LT] = ACTIONS(6724),
    [anon_sym_RBRACK] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(6726),
    [anon_sym_DOT_DOT] = ACTIONS(6728),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6730),
    [anon_sym_and] = ACTIONS(6732),
    [anon_sym_or] = ACTIONS(6732),
    [anon_sym_PIPE_PIPE] = ACTIONS(6734),
    [anon_sym_AMP_AMP] = ACTIONS(6734),
    [anon_sym_LT_LT] = ACTIONS(6736),
    [anon_sym_GT_GT] = ACTIONS(6736),
    [anon_sym_EQ_EQ] = ACTIONS(6738),
    [anon_sym_BANG_EQ] = ACTIONS(6734),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6734),
    [anon_sym_LT_EQ_GT] = ACTIONS(6734),
    [anon_sym_EQ_TILDE] = ACTIONS(6734),
    [anon_sym_BANG_TILDE] = ACTIONS(6734),
    [anon_sym_LT_EQ] = ACTIONS(6724),
    [anon_sym_GT] = ACTIONS(6724),
    [anon_sym_GT_EQ] = ACTIONS(6740),
    [anon_sym_CARET] = ACTIONS(6742),
    [anon_sym_PLUS] = ACTIONS(6744),
    [anon_sym_SLASH] = ACTIONS(6720),
    [anon_sym_PERCENT] = ACTIONS(6720),
    [sym_comment] = ACTIONS(110),
  },
  [1849] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(4667),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1949),
    [sym_call] = STATE(1949),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(2958),
    [sym__argument_list_with_parens] = STATE(2959),
    [sym__argument] = STATE(4668),
    [sym_splat_argument] = STATE(2961),
    [sym_hash_splat_argument] = STATE(2961),
    [sym_block_argument] = STATE(2961),
    [sym_do_block] = STATE(2962),
    [sym_block] = STATE(2962),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1953),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1954),
    [sym__variable] = STATE(1949),
    [sym_reserved_identifier] = STATE(4669),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(4670),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(2961),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(6746),
    [sym__splat_star] = ACTIONS(6748),
    [sym__argument_list_left_paren] = ACTIONS(4330),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(3010),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(4334),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(3014),
    [anon_sym_yield] = ACTIONS(3016),
    [anon_sym_break] = ACTIONS(3018),
    [anon_sym_next] = ACTIONS(3020),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(4344),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_RBRACK] = ACTIONS(980),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(3024),
    [anon_sym_not] = ACTIONS(3026),
    [anon_sym_BANG] = ACTIONS(3028),
    [anon_sym_TILDE] = ACTIONS(3030),
    [sym_constant] = ACTIONS(6750),
    [sym_identifier] = ACTIONS(6750),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [1850] = {
    [anon_sym_EQ] = ACTIONS(6752),
    [sym_comment] = ACTIONS(256),
  },
  [1851] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(6754),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_RBRACK] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(6756),
    [anon_sym_DASH_EQ] = ACTIONS(6756),
    [anon_sym_STAR_EQ] = ACTIONS(6756),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6756),
    [anon_sym_SLASH_EQ] = ACTIONS(6756),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6756),
    [anon_sym_PIPE_EQ] = ACTIONS(6756),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6756),
    [anon_sym_AMP_EQ] = ACTIONS(6756),
    [anon_sym_PERCENT_EQ] = ACTIONS(6756),
    [anon_sym_GT_GT_EQ] = ACTIONS(6756),
    [anon_sym_LT_LT_EQ] = ACTIONS(6756),
    [anon_sym_CARET_EQ] = ACTIONS(6756),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [1852] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(6714),
    [sym__binary_star] = ACTIONS(6716),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(6718),
    [anon_sym_STAR_STAR] = ACTIONS(6720),
    [anon_sym_AMP] = ACTIONS(6722),
    [anon_sym_LT] = ACTIONS(6724),
    [anon_sym_RBRACK] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(6726),
    [anon_sym_DOT_DOT] = ACTIONS(6728),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6730),
    [anon_sym_and] = ACTIONS(6732),
    [anon_sym_or] = ACTIONS(6732),
    [anon_sym_PIPE_PIPE] = ACTIONS(6734),
    [anon_sym_AMP_AMP] = ACTIONS(6734),
    [anon_sym_LT_LT] = ACTIONS(6736),
    [anon_sym_GT_GT] = ACTIONS(6736),
    [anon_sym_EQ_EQ] = ACTIONS(6738),
    [anon_sym_BANG_EQ] = ACTIONS(6734),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6734),
    [anon_sym_LT_EQ_GT] = ACTIONS(6734),
    [anon_sym_EQ_TILDE] = ACTIONS(6734),
    [anon_sym_BANG_TILDE] = ACTIONS(6734),
    [anon_sym_LT_EQ] = ACTIONS(6724),
    [anon_sym_GT] = ACTIONS(6724),
    [anon_sym_GT_EQ] = ACTIONS(6740),
    [anon_sym_CARET] = ACTIONS(6742),
    [anon_sym_PLUS] = ACTIONS(6744),
    [anon_sym_SLASH] = ACTIONS(6720),
    [anon_sym_PERCENT] = ACTIONS(6720),
    [sym_comment] = ACTIONS(110),
  },
  [1853] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1885),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1886),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(1887),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1888),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1889),
    [sym__variable] = STATE(504),
    [sym_reserved_identifier] = STATE(1890),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1891),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(2934),
    [sym__splat_star] = ACTIONS(2936),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(2938),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(824),
    [anon_sym_yield] = ACTIONS(826),
    [anon_sym_break] = ACTIONS(828),
    [anon_sym_next] = ACTIONS(830),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_RBRACK] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(2940),
    [anon_sym_not] = ACTIONS(2942),
    [anon_sym_BANG] = ACTIONS(2944),
    [anon_sym_TILDE] = ACTIONS(2946),
    [sym_constant] = ACTIONS(2948),
    [sym_identifier] = ACTIONS(2948),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1854] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1885),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1892),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(1887),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1888),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1889),
    [sym__variable] = STATE(504),
    [sym_reserved_identifier] = STATE(1890),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1891),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(2934),
    [sym__splat_star] = ACTIONS(2936),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(2938),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(824),
    [anon_sym_yield] = ACTIONS(826),
    [anon_sym_break] = ACTIONS(828),
    [anon_sym_next] = ACTIONS(830),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_RBRACK] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(2940),
    [anon_sym_not] = ACTIONS(2942),
    [anon_sym_BANG] = ACTIONS(2944),
    [anon_sym_TILDE] = ACTIONS(2946),
    [sym_constant] = ACTIONS(2948),
    [sym_identifier] = ACTIONS(2948),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1855] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1885),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1893),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(1887),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1888),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1889),
    [sym__variable] = STATE(504),
    [sym_reserved_identifier] = STATE(1890),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1891),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(2934),
    [sym__splat_star] = ACTIONS(2936),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(2938),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(824),
    [anon_sym_yield] = ACTIONS(826),
    [anon_sym_break] = ACTIONS(828),
    [anon_sym_next] = ACTIONS(830),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_RBRACK] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(2940),
    [anon_sym_not] = ACTIONS(2942),
    [anon_sym_BANG] = ACTIONS(2944),
    [anon_sym_TILDE] = ACTIONS(2946),
    [sym_constant] = ACTIONS(2948),
    [sym_identifier] = ACTIONS(2948),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1856] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1885),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1894),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(1887),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1888),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1889),
    [sym__variable] = STATE(504),
    [sym_reserved_identifier] = STATE(1890),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1891),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(2934),
    [sym__splat_star] = ACTIONS(2936),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(2938),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(824),
    [anon_sym_yield] = ACTIONS(826),
    [anon_sym_break] = ACTIONS(828),
    [anon_sym_next] = ACTIONS(830),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_RBRACK] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(2940),
    [anon_sym_not] = ACTIONS(2942),
    [anon_sym_BANG] = ACTIONS(2944),
    [anon_sym_TILDE] = ACTIONS(2946),
    [sym_constant] = ACTIONS(2948),
    [sym_identifier] = ACTIONS(2948),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1857] = {
    [sym__simple_string] = ACTIONS(748),
    [sym__simple_symbol] = ACTIONS(748),
    [sym__simple_subshell] = ACTIONS(748),
    [sym__simple_regex] = ACTIONS(748),
    [sym__simple_word_list] = ACTIONS(748),
    [sym__simple_heredoc_body] = ACTIONS(748),
    [sym__string_beginning] = ACTIONS(748),
    [sym__symbol_beginning] = ACTIONS(748),
    [sym__subshell_beginning] = ACTIONS(748),
    [sym__regex_beginning] = ACTIONS(748),
    [sym__word_list_beginning] = ACTIONS(748),
    [sym__heredoc_body_beginning] = ACTIONS(748),
    [sym_heredoc_beginning] = ACTIONS(748),
    [sym__element_reference_left_bracket] = ACTIONS(748),
    [sym__block_ampersand] = ACTIONS(748),
    [sym__splat_star] = ACTIONS(748),
    [sym__argument_list_left_paren] = ACTIONS(748),
    [sym__scope_double_colon] = ACTIONS(748),
    [sym__unary_minus] = ACTIONS(748),
    [sym__binary_minus] = ACTIONS(748),
    [sym__binary_star] = ACTIONS(748),
    [anon_sym_LBRACE] = ACTIONS(748),
    [anon_sym_RBRACE] = ACTIONS(748),
    [anon_sym_def] = ACTIONS(750),
    [anon_sym_LPAREN] = ACTIONS(748),
    [anon_sym_RPAREN] = ACTIONS(748),
    [anon_sym_DOT] = ACTIONS(750),
    [anon_sym_COLON_COLON] = ACTIONS(748),
    [anon_sym_end] = ACTIONS(750),
    [anon_sym_COMMA] = ACTIONS(748),
    [anon_sym_PIPE] = ACTIONS(750),
    [anon_sym_SEMI] = ACTIONS(748),
    [anon_sym_STAR] = ACTIONS(750),
    [anon_sym_STAR_STAR] = ACTIONS(750),
    [anon_sym_AMP] = ACTIONS(750),
    [anon_sym_EQ] = ACTIONS(750),
    [anon_sym_class] = ACTIONS(750),
    [anon_sym_LT] = ACTIONS(750),
    [anon_sym_module] = ACTIONS(750),
    [anon_sym_return] = ACTIONS(750),
    [anon_sym_yield] = ACTIONS(750),
    [anon_sym_break] = ACTIONS(750),
    [anon_sym_next] = ACTIONS(750),
    [anon_sym_redo] = ACTIONS(750),
    [anon_sym_retry] = ACTIONS(750),
    [anon_sym_if] = ACTIONS(750),
    [anon_sym_unless] = ACTIONS(750),
    [anon_sym_while] = ACTIONS(750),
    [anon_sym_until] = ACTIONS(750),
    [anon_sym_rescue] = ACTIONS(750),
    [anon_sym_for] = ACTIONS(750),
    [anon_sym_in] = ACTIONS(750),
    [anon_sym_do] = ACTIONS(750),
    [anon_sym_case] = ACTIONS(750),
    [anon_sym_when] = ACTIONS(750),
    [anon_sym_elsif] = ACTIONS(750),
    [anon_sym_else] = ACTIONS(750),
    [anon_sym_then] = ACTIONS(750),
    [anon_sym_begin] = ACTIONS(750),
    [anon_sym_ensure] = ACTIONS(750),
    [anon_sym_EQ_GT] = ACTIONS(748),
    [anon_sym_RBRACK] = ACTIONS(748),
    [anon_sym_AMP_DOT] = ACTIONS(748),
    [anon_sym_PLUS_EQ] = ACTIONS(748),
    [anon_sym_DASH_EQ] = ACTIONS(748),
    [anon_sym_STAR_EQ] = ACTIONS(748),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(748),
    [anon_sym_SLASH_EQ] = ACTIONS(748),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(748),
    [anon_sym_PIPE_EQ] = ACTIONS(748),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(748),
    [anon_sym_AMP_EQ] = ACTIONS(748),
    [anon_sym_PERCENT_EQ] = ACTIONS(748),
    [anon_sym_GT_GT_EQ] = ACTIONS(748),
    [anon_sym_LT_LT_EQ] = ACTIONS(748),
    [anon_sym_CARET_EQ] = ACTIONS(748),
    [anon_sym_QMARK] = ACTIONS(750),
    [anon_sym_COLON] = ACTIONS(750),
    [anon_sym_DOT_DOT] = ACTIONS(750),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(748),
    [anon_sym_and] = ACTIONS(750),
    [anon_sym_or] = ACTIONS(750),
    [anon_sym_PIPE_PIPE] = ACTIONS(750),
    [anon_sym_AMP_AMP] = ACTIONS(750),
    [anon_sym_LT_LT] = ACTIONS(750),
    [anon_sym_GT_GT] = ACTIONS(750),
    [anon_sym_EQ_EQ] = ACTIONS(750),
    [anon_sym_BANG_EQ] = ACTIONS(748),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(748),
    [anon_sym_LT_EQ_GT] = ACTIONS(748),
    [anon_sym_EQ_TILDE] = ACTIONS(748),
    [anon_sym_BANG_TILDE] = ACTIONS(748),
    [anon_sym_LT_EQ] = ACTIONS(750),
    [anon_sym_GT] = ACTIONS(750),
    [anon_sym_GT_EQ] = ACTIONS(748),
    [anon_sym_CARET] = ACTIONS(750),
    [anon_sym_PLUS] = ACTIONS(750),
    [anon_sym_SLASH] = ACTIONS(750),
    [anon_sym_PERCENT] = ACTIONS(750),
    [anon_sym_defined_QMARK] = ACTIONS(748),
    [anon_sym_not] = ACTIONS(750),
    [anon_sym_BANG] = ACTIONS(750),
    [anon_sym_TILDE] = ACTIONS(748),
    [sym_constant] = ACTIONS(752),
    [sym_identifier] = ACTIONS(752),
    [sym_instance_variable] = ACTIONS(750),
    [sym_class_variable] = ACTIONS(750),
    [sym_global_variable] = ACTIONS(750),
    [anon_sym_alias] = ACTIONS(750),
    [anon_sym_defined] = ACTIONS(750),
    [anon_sym_false] = ACTIONS(750),
    [anon_sym_nil] = ACTIONS(750),
    [anon_sym_self] = ACTIONS(750),
    [anon_sym_super] = ACTIONS(750),
    [anon_sym_true] = ACTIONS(750),
    [anon_sym_undef] = ACTIONS(750),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(750),
    [sym_float] = ACTIONS(752),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(748),
    [anon_sym_TRUE] = ACTIONS(750),
    [anon_sym_FALSE] = ACTIONS(750),
    [anon_sym_NIL] = ACTIONS(750),
    [sym_keyword__FILE__] = ACTIONS(750),
    [sym_keyword__LINE__] = ACTIONS(750),
    [sym_keyword__ENCODING__] = ACTIONS(750),
    [sym__character_literal] = ACTIONS(750),
    [anon_sym_LBRACK] = ACTIONS(748),
    [anon_sym_DASH_GT] = ACTIONS(748),
  },
  [1858] = {
    [sym__simple_string] = ACTIONS(754),
    [sym__simple_symbol] = ACTIONS(754),
    [sym__simple_subshell] = ACTIONS(754),
    [sym__simple_regex] = ACTIONS(754),
    [sym__simple_word_list] = ACTIONS(754),
    [sym__simple_heredoc_body] = ACTIONS(754),
    [sym__string_beginning] = ACTIONS(754),
    [sym__symbol_beginning] = ACTIONS(754),
    [sym__subshell_beginning] = ACTIONS(754),
    [sym__regex_beginning] = ACTIONS(754),
    [sym__word_list_beginning] = ACTIONS(754),
    [sym__heredoc_body_beginning] = ACTIONS(754),
    [sym_heredoc_beginning] = ACTIONS(754),
    [sym__element_reference_left_bracket] = ACTIONS(754),
    [sym__block_ampersand] = ACTIONS(754),
    [sym__splat_star] = ACTIONS(754),
    [sym__argument_list_left_paren] = ACTIONS(754),
    [sym__scope_double_colon] = ACTIONS(754),
    [sym__unary_minus] = ACTIONS(754),
    [sym__binary_minus] = ACTIONS(754),
    [sym__binary_star] = ACTIONS(754),
    [anon_sym_LBRACE] = ACTIONS(754),
    [anon_sym_RBRACE] = ACTIONS(754),
    [anon_sym_def] = ACTIONS(756),
    [anon_sym_LPAREN] = ACTIONS(754),
    [anon_sym_RPAREN] = ACTIONS(754),
    [anon_sym_DOT] = ACTIONS(756),
    [anon_sym_COLON_COLON] = ACTIONS(754),
    [anon_sym_end] = ACTIONS(756),
    [anon_sym_COMMA] = ACTIONS(754),
    [anon_sym_PIPE] = ACTIONS(756),
    [anon_sym_SEMI] = ACTIONS(754),
    [anon_sym_STAR] = ACTIONS(756),
    [anon_sym_STAR_STAR] = ACTIONS(756),
    [anon_sym_AMP] = ACTIONS(756),
    [anon_sym_EQ] = ACTIONS(756),
    [anon_sym_class] = ACTIONS(756),
    [anon_sym_LT] = ACTIONS(756),
    [anon_sym_module] = ACTIONS(756),
    [anon_sym_return] = ACTIONS(756),
    [anon_sym_yield] = ACTIONS(756),
    [anon_sym_break] = ACTIONS(756),
    [anon_sym_next] = ACTIONS(756),
    [anon_sym_redo] = ACTIONS(756),
    [anon_sym_retry] = ACTIONS(756),
    [anon_sym_if] = ACTIONS(756),
    [anon_sym_unless] = ACTIONS(756),
    [anon_sym_while] = ACTIONS(756),
    [anon_sym_until] = ACTIONS(756),
    [anon_sym_rescue] = ACTIONS(756),
    [anon_sym_for] = ACTIONS(756),
    [anon_sym_in] = ACTIONS(756),
    [anon_sym_do] = ACTIONS(756),
    [anon_sym_case] = ACTIONS(756),
    [anon_sym_when] = ACTIONS(756),
    [anon_sym_elsif] = ACTIONS(756),
    [anon_sym_else] = ACTIONS(756),
    [anon_sym_then] = ACTIONS(756),
    [anon_sym_begin] = ACTIONS(756),
    [anon_sym_ensure] = ACTIONS(756),
    [anon_sym_EQ_GT] = ACTIONS(754),
    [anon_sym_RBRACK] = ACTIONS(754),
    [anon_sym_AMP_DOT] = ACTIONS(754),
    [anon_sym_PLUS_EQ] = ACTIONS(754),
    [anon_sym_DASH_EQ] = ACTIONS(754),
    [anon_sym_STAR_EQ] = ACTIONS(754),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(754),
    [anon_sym_SLASH_EQ] = ACTIONS(754),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(754),
    [anon_sym_PIPE_EQ] = ACTIONS(754),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(754),
    [anon_sym_AMP_EQ] = ACTIONS(754),
    [anon_sym_PERCENT_EQ] = ACTIONS(754),
    [anon_sym_GT_GT_EQ] = ACTIONS(754),
    [anon_sym_LT_LT_EQ] = ACTIONS(754),
    [anon_sym_CARET_EQ] = ACTIONS(754),
    [anon_sym_QMARK] = ACTIONS(756),
    [anon_sym_COLON] = ACTIONS(756),
    [anon_sym_DOT_DOT] = ACTIONS(756),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(754),
    [anon_sym_and] = ACTIONS(756),
    [anon_sym_or] = ACTIONS(756),
    [anon_sym_PIPE_PIPE] = ACTIONS(756),
    [anon_sym_AMP_AMP] = ACTIONS(756),
    [anon_sym_LT_LT] = ACTIONS(756),
    [anon_sym_GT_GT] = ACTIONS(756),
    [anon_sym_EQ_EQ] = ACTIONS(756),
    [anon_sym_BANG_EQ] = ACTIONS(754),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(754),
    [anon_sym_LT_EQ_GT] = ACTIONS(754),
    [anon_sym_EQ_TILDE] = ACTIONS(754),
    [anon_sym_BANG_TILDE] = ACTIONS(754),
    [anon_sym_LT_EQ] = ACTIONS(756),
    [anon_sym_GT] = ACTIONS(756),
    [anon_sym_GT_EQ] = ACTIONS(754),
    [anon_sym_CARET] = ACTIONS(756),
    [anon_sym_PLUS] = ACTIONS(756),
    [anon_sym_SLASH] = ACTIONS(756),
    [anon_sym_PERCENT] = ACTIONS(756),
    [anon_sym_defined_QMARK] = ACTIONS(754),
    [anon_sym_not] = ACTIONS(756),
    [anon_sym_BANG] = ACTIONS(756),
    [anon_sym_TILDE] = ACTIONS(754),
    [sym_constant] = ACTIONS(758),
    [sym_identifier] = ACTIONS(758),
    [sym_instance_variable] = ACTIONS(756),
    [sym_class_variable] = ACTIONS(756),
    [sym_global_variable] = ACTIONS(756),
    [anon_sym_alias] = ACTIONS(756),
    [anon_sym_defined] = ACTIONS(756),
    [anon_sym_false] = ACTIONS(756),
    [anon_sym_nil] = ACTIONS(756),
    [anon_sym_self] = ACTIONS(756),
    [anon_sym_super] = ACTIONS(756),
    [anon_sym_true] = ACTIONS(756),
    [anon_sym_undef] = ACTIONS(756),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(756),
    [sym_float] = ACTIONS(758),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(754),
    [anon_sym_TRUE] = ACTIONS(756),
    [anon_sym_FALSE] = ACTIONS(756),
    [anon_sym_NIL] = ACTIONS(756),
    [sym_keyword__FILE__] = ACTIONS(756),
    [sym_keyword__LINE__] = ACTIONS(756),
    [sym_keyword__ENCODING__] = ACTIONS(756),
    [sym__character_literal] = ACTIONS(756),
    [anon_sym_LBRACK] = ACTIONS(754),
    [anon_sym_DASH_GT] = ACTIONS(754),
  },
  [1859] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_STAR_STAR] = ACTIONS(2972),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_EQ_GT] = ACTIONS(1372),
    [anon_sym_RBRACK] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [1860] = {
    [sym__simple_heredoc_body] = ACTIONS(1552),
    [sym__heredoc_body_beginning] = ACTIONS(1552),
    [sym__element_reference_left_bracket] = ACTIONS(1552),
    [sym__scope_double_colon] = ACTIONS(1552),
    [sym__binary_minus] = ACTIONS(1552),
    [sym__binary_star] = ACTIONS(1552),
    [anon_sym_LBRACE] = ACTIONS(1552),
    [anon_sym_RBRACE] = ACTIONS(1552),
    [anon_sym_RPAREN] = ACTIONS(1552),
    [anon_sym_DOT] = ACTIONS(1554),
    [anon_sym_COMMA] = ACTIONS(1552),
    [anon_sym_PIPE] = ACTIONS(1554),
    [anon_sym_SEMI] = ACTIONS(1552),
    [anon_sym_STAR_STAR] = ACTIONS(1552),
    [anon_sym_AMP] = ACTIONS(1554),
    [anon_sym_EQ] = ACTIONS(1554),
    [anon_sym_LT] = ACTIONS(1554),
    [anon_sym_in] = ACTIONS(1552),
    [anon_sym_do] = ACTIONS(1552),
    [anon_sym_EQ_GT] = ACTIONS(1552),
    [anon_sym_RBRACK] = ACTIONS(1552),
    [anon_sym_AMP_DOT] = ACTIONS(1552),
    [anon_sym_QMARK] = ACTIONS(1552),
    [anon_sym_COLON] = ACTIONS(1552),
    [anon_sym_DOT_DOT] = ACTIONS(1554),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1552),
    [anon_sym_and] = ACTIONS(1552),
    [anon_sym_or] = ACTIONS(1552),
    [anon_sym_PIPE_PIPE] = ACTIONS(1552),
    [anon_sym_AMP_AMP] = ACTIONS(1552),
    [anon_sym_LT_LT] = ACTIONS(1552),
    [anon_sym_GT_GT] = ACTIONS(1552),
    [anon_sym_EQ_EQ] = ACTIONS(1554),
    [anon_sym_BANG_EQ] = ACTIONS(1552),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1552),
    [anon_sym_LT_EQ_GT] = ACTIONS(1552),
    [anon_sym_EQ_TILDE] = ACTIONS(1552),
    [anon_sym_BANG_TILDE] = ACTIONS(1552),
    [anon_sym_LT_EQ] = ACTIONS(1554),
    [anon_sym_GT] = ACTIONS(1554),
    [anon_sym_GT_EQ] = ACTIONS(1552),
    [anon_sym_CARET] = ACTIONS(1552),
    [anon_sym_PLUS] = ACTIONS(1552),
    [anon_sym_SLASH] = ACTIONS(1552),
    [anon_sym_PERCENT] = ACTIONS(1552),
    [sym_comment] = ACTIONS(256),
  },
  [1861] = {
    [anon_sym_RBRACE] = ACTIONS(6758),
    [sym_comment] = ACTIONS(110),
  },
  [1862] = {
    [sym_heredoc_end] = STATE(4674),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RBRACE] = ACTIONS(6758),
    [sym_comment] = ACTIONS(110),
  },
  [1863] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(4675),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(1139),
    [sym_call] = STATE(1139),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(1140),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1141),
    [sym__variable] = STATE(1139),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(1822),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_yield] = ACTIONS(1828),
    [anon_sym_break] = ACTIONS(1830),
    [anon_sym_next] = ACTIONS(1832),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(1834),
    [anon_sym_defined_QMARK] = ACTIONS(1836),
    [anon_sym_not] = ACTIONS(1838),
    [anon_sym_BANG] = ACTIONS(1840),
    [anon_sym_TILDE] = ACTIONS(1840),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [1864] = {
    [sym__simple_heredoc_body] = ACTIONS(1866),
    [sym__heredoc_body_beginning] = ACTIONS(1866),
    [sym__element_reference_left_bracket] = ACTIONS(1866),
    [sym__scope_double_colon] = ACTIONS(1866),
    [sym__binary_minus] = ACTIONS(1866),
    [sym__binary_star] = ACTIONS(1866),
    [anon_sym_LBRACE] = ACTIONS(1866),
    [anon_sym_RBRACE] = ACTIONS(1866),
    [anon_sym_RPAREN] = ACTIONS(1866),
    [anon_sym_DOT] = ACTIONS(1868),
    [anon_sym_COMMA] = ACTIONS(1866),
    [anon_sym_PIPE] = ACTIONS(1868),
    [anon_sym_SEMI] = ACTIONS(1866),
    [anon_sym_STAR_STAR] = ACTIONS(1866),
    [anon_sym_AMP] = ACTIONS(1868),
    [anon_sym_EQ] = ACTIONS(1868),
    [anon_sym_LT] = ACTIONS(1868),
    [anon_sym_in] = ACTIONS(1866),
    [anon_sym_do] = ACTIONS(1866),
    [anon_sym_EQ_GT] = ACTIONS(1866),
    [anon_sym_RBRACK] = ACTIONS(1866),
    [anon_sym_AMP_DOT] = ACTIONS(1866),
    [anon_sym_QMARK] = ACTIONS(1866),
    [anon_sym_COLON] = ACTIONS(1866),
    [anon_sym_DOT_DOT] = ACTIONS(1868),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1866),
    [anon_sym_and] = ACTIONS(1866),
    [anon_sym_or] = ACTIONS(1866),
    [anon_sym_PIPE_PIPE] = ACTIONS(1866),
    [anon_sym_AMP_AMP] = ACTIONS(1866),
    [anon_sym_LT_LT] = ACTIONS(1866),
    [anon_sym_GT_GT] = ACTIONS(1866),
    [anon_sym_EQ_EQ] = ACTIONS(1868),
    [anon_sym_BANG_EQ] = ACTIONS(1866),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1866),
    [anon_sym_LT_EQ_GT] = ACTIONS(1866),
    [anon_sym_EQ_TILDE] = ACTIONS(1866),
    [anon_sym_BANG_TILDE] = ACTIONS(1866),
    [anon_sym_LT_EQ] = ACTIONS(1868),
    [anon_sym_GT] = ACTIONS(1868),
    [anon_sym_GT_EQ] = ACTIONS(1866),
    [anon_sym_CARET] = ACTIONS(1866),
    [anon_sym_PLUS] = ACTIONS(1866),
    [anon_sym_SLASH] = ACTIONS(1866),
    [anon_sym_PERCENT] = ACTIONS(1866),
    [sym_comment] = ACTIONS(256),
  },
  [1865] = {
    [anon_sym_DOT] = ACTIONS(6760),
    [anon_sym_COLON_COLON] = ACTIONS(6760),
    [sym_comment] = ACTIONS(110),
  },
  [1866] = {
    [sym_method_parameters] = STATE(4677),
    [sym__simple_formal_parameter] = STATE(1150),
    [sym_splat_parameter] = STATE(1151),
    [sym_hash_splat_parameter] = STATE(1151),
    [sym_block_parameter] = STATE(1151),
    [sym_keyword_parameter] = STATE(1151),
    [sym_optional_parameter] = STATE(1151),
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(4677),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym__line_break] = ACTIONS(692),
    [anon_sym_LPAREN] = ACTIONS(1872),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(1874),
    [anon_sym_STAR_STAR] = ACTIONS(1876),
    [anon_sym_AMP] = ACTIONS(1878),
    [sym_identifier] = ACTIONS(1880),
    [sym_comment] = ACTIONS(110),
  },
  [1867] = {
    [sym__simple_heredoc_body] = ACTIONS(1882),
    [sym__heredoc_body_beginning] = ACTIONS(1882),
    [sym__element_reference_left_bracket] = ACTIONS(1882),
    [sym__scope_double_colon] = ACTIONS(1882),
    [sym__binary_minus] = ACTIONS(1882),
    [sym__binary_star] = ACTIONS(1882),
    [anon_sym_LBRACE] = ACTIONS(1882),
    [anon_sym_RBRACE] = ACTIONS(1882),
    [anon_sym_RPAREN] = ACTIONS(1882),
    [anon_sym_DOT] = ACTIONS(1884),
    [anon_sym_COMMA] = ACTIONS(1882),
    [anon_sym_PIPE] = ACTIONS(1884),
    [anon_sym_SEMI] = ACTIONS(1882),
    [anon_sym_STAR_STAR] = ACTIONS(1882),
    [anon_sym_AMP] = ACTIONS(1884),
    [anon_sym_EQ] = ACTIONS(1884),
    [anon_sym_LT] = ACTIONS(1884),
    [anon_sym_in] = ACTIONS(1882),
    [anon_sym_do] = ACTIONS(1882),
    [anon_sym_EQ_GT] = ACTIONS(1882),
    [anon_sym_RBRACK] = ACTIONS(1882),
    [anon_sym_AMP_DOT] = ACTIONS(1882),
    [anon_sym_QMARK] = ACTIONS(1882),
    [anon_sym_COLON] = ACTIONS(1882),
    [anon_sym_DOT_DOT] = ACTIONS(1884),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1882),
    [anon_sym_and] = ACTIONS(1882),
    [anon_sym_or] = ACTIONS(1882),
    [anon_sym_PIPE_PIPE] = ACTIONS(1882),
    [anon_sym_AMP_AMP] = ACTIONS(1882),
    [anon_sym_LT_LT] = ACTIONS(1882),
    [anon_sym_GT_GT] = ACTIONS(1882),
    [anon_sym_EQ_EQ] = ACTIONS(1884),
    [anon_sym_BANG_EQ] = ACTIONS(1882),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1882),
    [anon_sym_LT_EQ_GT] = ACTIONS(1882),
    [anon_sym_EQ_TILDE] = ACTIONS(1882),
    [anon_sym_BANG_TILDE] = ACTIONS(1882),
    [anon_sym_LT_EQ] = ACTIONS(1884),
    [anon_sym_GT] = ACTIONS(1884),
    [anon_sym_GT_EQ] = ACTIONS(1882),
    [anon_sym_CARET] = ACTIONS(1882),
    [anon_sym_PLUS] = ACTIONS(1882),
    [anon_sym_SLASH] = ACTIONS(1882),
    [anon_sym_PERCENT] = ACTIONS(1882),
    [sym_comment] = ACTIONS(256),
  },
  [1868] = {
    [anon_sym_RPAREN] = ACTIONS(6762),
    [sym_comment] = ACTIONS(110),
  },
  [1869] = {
    [sym__simple_string] = ACTIONS(2010),
    [sym__simple_symbol] = ACTIONS(2010),
    [sym__simple_subshell] = ACTIONS(2010),
    [sym__simple_regex] = ACTIONS(2010),
    [sym__simple_word_list] = ACTIONS(2010),
    [sym__simple_heredoc_body] = ACTIONS(2010),
    [sym__string_beginning] = ACTIONS(2010),
    [sym__symbol_beginning] = ACTIONS(2010),
    [sym__subshell_beginning] = ACTIONS(2010),
    [sym__regex_beginning] = ACTIONS(2010),
    [sym__word_list_beginning] = ACTIONS(2010),
    [sym__heredoc_body_beginning] = ACTIONS(2010),
    [sym_heredoc_beginning] = ACTIONS(2010),
    [sym__element_reference_left_bracket] = ACTIONS(2010),
    [sym__block_ampersand] = ACTIONS(2010),
    [sym__splat_star] = ACTIONS(2010),
    [sym__argument_list_left_paren] = ACTIONS(2010),
    [sym__scope_double_colon] = ACTIONS(2010),
    [sym__unary_minus] = ACTIONS(2010),
    [sym__binary_minus] = ACTIONS(2010),
    [sym__binary_star] = ACTIONS(2010),
    [anon_sym_LBRACE] = ACTIONS(2010),
    [anon_sym_RBRACE] = ACTIONS(2010),
    [anon_sym_def] = ACTIONS(2012),
    [anon_sym_LPAREN] = ACTIONS(2010),
    [anon_sym_RPAREN] = ACTIONS(2010),
    [anon_sym_DOT] = ACTIONS(2012),
    [anon_sym_COLON_COLON] = ACTIONS(2010),
    [anon_sym_end] = ACTIONS(2012),
    [anon_sym_COMMA] = ACTIONS(2010),
    [anon_sym_PIPE] = ACTIONS(2012),
    [anon_sym_SEMI] = ACTIONS(2010),
    [anon_sym_STAR] = ACTIONS(2012),
    [anon_sym_STAR_STAR] = ACTIONS(2012),
    [anon_sym_AMP] = ACTIONS(2012),
    [anon_sym_EQ] = ACTIONS(2012),
    [anon_sym_class] = ACTIONS(2012),
    [anon_sym_LT] = ACTIONS(2012),
    [anon_sym_module] = ACTIONS(2012),
    [anon_sym_return] = ACTIONS(2012),
    [anon_sym_yield] = ACTIONS(2012),
    [anon_sym_break] = ACTIONS(2012),
    [anon_sym_next] = ACTIONS(2012),
    [anon_sym_redo] = ACTIONS(2012),
    [anon_sym_retry] = ACTIONS(2012),
    [anon_sym_if] = ACTIONS(2012),
    [anon_sym_unless] = ACTIONS(2012),
    [anon_sym_while] = ACTIONS(2012),
    [anon_sym_until] = ACTIONS(2012),
    [anon_sym_rescue] = ACTIONS(2012),
    [anon_sym_for] = ACTIONS(2012),
    [anon_sym_in] = ACTIONS(2012),
    [anon_sym_do] = ACTIONS(2012),
    [anon_sym_case] = ACTIONS(2012),
    [anon_sym_when] = ACTIONS(2012),
    [anon_sym_elsif] = ACTIONS(2012),
    [anon_sym_else] = ACTIONS(2012),
    [anon_sym_then] = ACTIONS(2012),
    [anon_sym_begin] = ACTIONS(2012),
    [anon_sym_ensure] = ACTIONS(2012),
    [anon_sym_EQ_GT] = ACTIONS(2010),
    [anon_sym_RBRACK] = ACTIONS(2010),
    [anon_sym_AMP_DOT] = ACTIONS(2010),
    [anon_sym_PLUS_EQ] = ACTIONS(2010),
    [anon_sym_DASH_EQ] = ACTIONS(2010),
    [anon_sym_STAR_EQ] = ACTIONS(2010),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2010),
    [anon_sym_SLASH_EQ] = ACTIONS(2010),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2010),
    [anon_sym_PIPE_EQ] = ACTIONS(2010),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2010),
    [anon_sym_AMP_EQ] = ACTIONS(2010),
    [anon_sym_PERCENT_EQ] = ACTIONS(2010),
    [anon_sym_GT_GT_EQ] = ACTIONS(2010),
    [anon_sym_LT_LT_EQ] = ACTIONS(2010),
    [anon_sym_CARET_EQ] = ACTIONS(2010),
    [anon_sym_QMARK] = ACTIONS(2012),
    [anon_sym_COLON] = ACTIONS(2012),
    [anon_sym_DOT_DOT] = ACTIONS(2012),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2010),
    [anon_sym_and] = ACTIONS(2012),
    [anon_sym_or] = ACTIONS(2012),
    [anon_sym_PIPE_PIPE] = ACTIONS(2012),
    [anon_sym_AMP_AMP] = ACTIONS(2012),
    [anon_sym_LT_LT] = ACTIONS(2012),
    [anon_sym_GT_GT] = ACTIONS(2012),
    [anon_sym_EQ_EQ] = ACTIONS(2012),
    [anon_sym_BANG_EQ] = ACTIONS(2010),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2010),
    [anon_sym_LT_EQ_GT] = ACTIONS(2010),
    [anon_sym_EQ_TILDE] = ACTIONS(2010),
    [anon_sym_BANG_TILDE] = ACTIONS(2010),
    [anon_sym_LT_EQ] = ACTIONS(2012),
    [anon_sym_GT] = ACTIONS(2012),
    [anon_sym_GT_EQ] = ACTIONS(2010),
    [anon_sym_CARET] = ACTIONS(2012),
    [anon_sym_PLUS] = ACTIONS(2012),
    [anon_sym_SLASH] = ACTIONS(2012),
    [anon_sym_PERCENT] = ACTIONS(2012),
    [anon_sym_defined_QMARK] = ACTIONS(2010),
    [anon_sym_not] = ACTIONS(2012),
    [anon_sym_BANG] = ACTIONS(2012),
    [anon_sym_TILDE] = ACTIONS(2010),
    [sym_constant] = ACTIONS(2014),
    [sym_identifier] = ACTIONS(2014),
    [sym_instance_variable] = ACTIONS(2012),
    [sym_class_variable] = ACTIONS(2012),
    [sym_global_variable] = ACTIONS(2012),
    [anon_sym_alias] = ACTIONS(2012),
    [anon_sym_defined] = ACTIONS(2012),
    [anon_sym_false] = ACTIONS(2012),
    [anon_sym_nil] = ACTIONS(2012),
    [anon_sym_self] = ACTIONS(2012),
    [anon_sym_super] = ACTIONS(2012),
    [anon_sym_true] = ACTIONS(2012),
    [anon_sym_undef] = ACTIONS(2012),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(2012),
    [sym_float] = ACTIONS(2014),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(2010),
    [anon_sym_TRUE] = ACTIONS(2012),
    [anon_sym_FALSE] = ACTIONS(2012),
    [anon_sym_NIL] = ACTIONS(2012),
    [sym_keyword__FILE__] = ACTIONS(2012),
    [sym_keyword__LINE__] = ACTIONS(2012),
    [sym_keyword__ENCODING__] = ACTIONS(2012),
    [sym__character_literal] = ACTIONS(2012),
    [anon_sym_LBRACK] = ACTIONS(2010),
    [anon_sym_DASH_GT] = ACTIONS(2010),
  },
  [1870] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(6714),
    [sym__binary_star] = ACTIONS(6716),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(6718),
    [anon_sym_STAR_STAR] = ACTIONS(6720),
    [anon_sym_AMP] = ACTIONS(6722),
    [anon_sym_LT] = ACTIONS(6724),
    [anon_sym_RBRACK] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(6726),
    [anon_sym_DOT_DOT] = ACTIONS(6728),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6730),
    [anon_sym_and] = ACTIONS(6732),
    [anon_sym_or] = ACTIONS(6732),
    [anon_sym_PIPE_PIPE] = ACTIONS(6734),
    [anon_sym_AMP_AMP] = ACTIONS(6734),
    [anon_sym_LT_LT] = ACTIONS(6736),
    [anon_sym_GT_GT] = ACTIONS(6736),
    [anon_sym_EQ_EQ] = ACTIONS(6738),
    [anon_sym_BANG_EQ] = ACTIONS(6734),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6734),
    [anon_sym_LT_EQ_GT] = ACTIONS(6734),
    [anon_sym_EQ_TILDE] = ACTIONS(6734),
    [anon_sym_BANG_TILDE] = ACTIONS(6734),
    [anon_sym_LT_EQ] = ACTIONS(6724),
    [anon_sym_GT] = ACTIONS(6724),
    [anon_sym_GT_EQ] = ACTIONS(6740),
    [anon_sym_CARET] = ACTIONS(6742),
    [anon_sym_PLUS] = ACTIONS(6744),
    [anon_sym_SLASH] = ACTIONS(6720),
    [anon_sym_PERCENT] = ACTIONS(6720),
    [sym_comment] = ACTIONS(110),
  },
  [1871] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4679),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1329),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1330),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2090),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2100),
    [anon_sym_defined_QMARK] = ACTIONS(2102),
    [anon_sym_not] = ACTIONS(2104),
    [anon_sym_BANG] = ACTIONS(2106),
    [anon_sym_TILDE] = ACTIONS(2106),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1872] = {
    [sym_superclass] = STATE(4680),
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(4681),
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__unary_minus] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(722),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(722),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(2110),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(722),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [1873] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_superclass] = STATE(4680),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1349),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1310),
    [sym__argument_list_with_parens] = STATE(1264),
    [sym__argument] = STATE(1350),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_do_block] = STATE(1312),
    [sym_block] = STATE(1312),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1353),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1354),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__terminator] = STATE(4681),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(2114),
    [sym__splat_star] = ACTIONS(2116),
    [sym__argument_list_left_paren] = ACTIONS(2034),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(2064),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(980),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2120),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(2110),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(2076),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2138),
    [sym_identifier] = ACTIONS(2138),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1874] = {
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(4683),
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__unary_minus] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(722),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(6764),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(722),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(722),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [1875] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1349),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1310),
    [sym__argument_list_with_parens] = STATE(1264),
    [sym__argument] = STATE(1350),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_do_block] = STATE(1312),
    [sym_block] = STATE(1312),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1353),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1354),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__terminator] = STATE(4683),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(2114),
    [sym__splat_star] = ACTIONS(2116),
    [sym__argument_list_left_paren] = ACTIONS(2034),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(2064),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(980),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(6766),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2120),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(2076),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2138),
    [sym_identifier] = ACTIONS(2138),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1876] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(4685),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1888),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1889),
    [sym__variable] = STATE(504),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2938),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2904),
    [anon_sym_yield] = ACTIONS(2906),
    [anon_sym_break] = ACTIONS(2908),
    [anon_sym_next] = ACTIONS(2910),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(6768),
    [anon_sym_defined_QMARK] = ACTIONS(2940),
    [anon_sym_not] = ACTIONS(6770),
    [anon_sym_BANG] = ACTIONS(2946),
    [anon_sym_TILDE] = ACTIONS(2946),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1877] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(4686),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1888),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1889),
    [sym__variable] = STATE(504),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2938),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2904),
    [anon_sym_yield] = ACTIONS(2906),
    [anon_sym_break] = ACTIONS(2908),
    [anon_sym_next] = ACTIONS(2910),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(6768),
    [anon_sym_defined_QMARK] = ACTIONS(2940),
    [anon_sym_not] = ACTIONS(6770),
    [anon_sym_BANG] = ACTIONS(2946),
    [anon_sym_TILDE] = ACTIONS(2946),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1878] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(4687),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1888),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1889),
    [sym__variable] = STATE(504),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2938),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2904),
    [anon_sym_yield] = ACTIONS(2906),
    [anon_sym_break] = ACTIONS(2908),
    [anon_sym_next] = ACTIONS(2910),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(6768),
    [anon_sym_defined_QMARK] = ACTIONS(2940),
    [anon_sym_not] = ACTIONS(6770),
    [anon_sym_BANG] = ACTIONS(2946),
    [anon_sym_TILDE] = ACTIONS(2946),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1879] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(4688),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1888),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1889),
    [sym__variable] = STATE(504),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2938),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2904),
    [anon_sym_yield] = ACTIONS(2906),
    [anon_sym_break] = ACTIONS(2908),
    [anon_sym_next] = ACTIONS(2910),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(6768),
    [anon_sym_defined_QMARK] = ACTIONS(2940),
    [anon_sym_not] = ACTIONS(6770),
    [anon_sym_BANG] = ACTIONS(2946),
    [anon_sym_TILDE] = ACTIONS(2946),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1880] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(4689),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1888),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1889),
    [sym__variable] = STATE(504),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2938),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2904),
    [anon_sym_yield] = ACTIONS(2906),
    [anon_sym_break] = ACTIONS(2908),
    [anon_sym_next] = ACTIONS(2910),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(6768),
    [anon_sym_defined_QMARK] = ACTIONS(2940),
    [anon_sym_not] = ACTIONS(6770),
    [anon_sym_BANG] = ACTIONS(2946),
    [anon_sym_TILDE] = ACTIONS(2946),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1881] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(4690),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1888),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1889),
    [sym__variable] = STATE(504),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2938),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2904),
    [anon_sym_yield] = ACTIONS(2906),
    [anon_sym_break] = ACTIONS(2908),
    [anon_sym_next] = ACTIONS(2910),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(6768),
    [anon_sym_defined_QMARK] = ACTIONS(2940),
    [anon_sym_not] = ACTIONS(6770),
    [anon_sym_BANG] = ACTIONS(2946),
    [anon_sym_TILDE] = ACTIONS(2946),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1882] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(4690),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1888),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1889),
    [sym__variable] = STATE(504),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2938),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2904),
    [anon_sym_yield] = ACTIONS(2906),
    [anon_sym_break] = ACTIONS(2908),
    [anon_sym_next] = ACTIONS(2910),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(6768),
    [anon_sym_defined_QMARK] = ACTIONS(2940),
    [anon_sym_not] = ACTIONS(6770),
    [anon_sym_BANG] = ACTIONS(2946),
    [anon_sym_TILDE] = ACTIONS(2946),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1883] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(2988),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1888),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1889),
    [sym__variable] = STATE(504),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2938),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2904),
    [anon_sym_yield] = ACTIONS(2906),
    [anon_sym_break] = ACTIONS(2908),
    [anon_sym_next] = ACTIONS(2910),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(6768),
    [anon_sym_defined_QMARK] = ACTIONS(2940),
    [anon_sym_not] = ACTIONS(6770),
    [anon_sym_BANG] = ACTIONS(2946),
    [anon_sym_TILDE] = ACTIONS(2946),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1884] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(6772),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_RBRACK] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [1885] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(6774),
    [sym__binary_star] = ACTIONS(6776),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(6778),
    [anon_sym_STAR_STAR] = ACTIONS(6780),
    [anon_sym_AMP] = ACTIONS(6782),
    [anon_sym_LT] = ACTIONS(6784),
    [anon_sym_EQ_GT] = ACTIONS(2210),
    [anon_sym_RBRACK] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(6786),
    [anon_sym_DOT_DOT] = ACTIONS(6788),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6790),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(6792),
    [anon_sym_AMP_AMP] = ACTIONS(6792),
    [anon_sym_LT_LT] = ACTIONS(6794),
    [anon_sym_GT_GT] = ACTIONS(6794),
    [anon_sym_EQ_EQ] = ACTIONS(6796),
    [anon_sym_BANG_EQ] = ACTIONS(6792),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6792),
    [anon_sym_LT_EQ_GT] = ACTIONS(6792),
    [anon_sym_EQ_TILDE] = ACTIONS(6792),
    [anon_sym_BANG_TILDE] = ACTIONS(6792),
    [anon_sym_LT_EQ] = ACTIONS(6784),
    [anon_sym_GT] = ACTIONS(6784),
    [anon_sym_GT_EQ] = ACTIONS(6798),
    [anon_sym_CARET] = ACTIONS(6800),
    [anon_sym_PLUS] = ACTIONS(6802),
    [anon_sym_SLASH] = ACTIONS(6780),
    [anon_sym_PERCENT] = ACTIONS(6780),
    [sym_comment] = ACTIONS(110),
  },
  [1886] = {
    [sym__simple_heredoc_body] = ACTIONS(2264),
    [sym__heredoc_body_beginning] = ACTIONS(2264),
    [sym__element_reference_left_bracket] = ACTIONS(2264),
    [sym__scope_double_colon] = ACTIONS(2264),
    [sym__binary_minus] = ACTIONS(2264),
    [sym__binary_star] = ACTIONS(2264),
    [anon_sym_LBRACE] = ACTIONS(2264),
    [anon_sym_RBRACE] = ACTIONS(2264),
    [anon_sym_RPAREN] = ACTIONS(2264),
    [anon_sym_DOT] = ACTIONS(2266),
    [anon_sym_COMMA] = ACTIONS(2264),
    [anon_sym_PIPE] = ACTIONS(2266),
    [anon_sym_SEMI] = ACTIONS(2264),
    [anon_sym_STAR_STAR] = ACTIONS(2264),
    [anon_sym_AMP] = ACTIONS(2266),
    [anon_sym_EQ] = ACTIONS(2266),
    [anon_sym_LT] = ACTIONS(2266),
    [anon_sym_in] = ACTIONS(2264),
    [anon_sym_do] = ACTIONS(2264),
    [anon_sym_EQ_GT] = ACTIONS(2264),
    [anon_sym_RBRACK] = ACTIONS(2264),
    [anon_sym_AMP_DOT] = ACTIONS(2264),
    [anon_sym_QMARK] = ACTIONS(2264),
    [anon_sym_COLON] = ACTIONS(2264),
    [anon_sym_DOT_DOT] = ACTIONS(2266),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2264),
    [anon_sym_and] = ACTIONS(2264),
    [anon_sym_or] = ACTIONS(2264),
    [anon_sym_PIPE_PIPE] = ACTIONS(2264),
    [anon_sym_AMP_AMP] = ACTIONS(2264),
    [anon_sym_LT_LT] = ACTIONS(2264),
    [anon_sym_GT_GT] = ACTIONS(2264),
    [anon_sym_EQ_EQ] = ACTIONS(2266),
    [anon_sym_BANG_EQ] = ACTIONS(2264),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2264),
    [anon_sym_LT_EQ_GT] = ACTIONS(2264),
    [anon_sym_EQ_TILDE] = ACTIONS(2264),
    [anon_sym_BANG_TILDE] = ACTIONS(2264),
    [anon_sym_LT_EQ] = ACTIONS(2266),
    [anon_sym_GT] = ACTIONS(2266),
    [anon_sym_GT_EQ] = ACTIONS(2264),
    [anon_sym_CARET] = ACTIONS(2264),
    [anon_sym_PLUS] = ACTIONS(2264),
    [anon_sym_SLASH] = ACTIONS(2264),
    [anon_sym_PERCENT] = ACTIONS(2264),
    [sym_comment] = ACTIONS(256),
  },
  [1887] = {
    [sym_heredoc_end] = STATE(3004),
    [aux_sym_argument_list_repeat1] = STATE(4705),
    [aux_sym_argument_list_repeat2] = STATE(3005),
    [sym__simple_heredoc_body] = ACTIONS(4410),
    [sym__heredoc_body_beginning] = ACTIONS(4412),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(6804),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_STAR_STAR] = ACTIONS(2272),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_EQ_GT] = ACTIONS(2272),
    [anon_sym_RBRACK] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2272),
    [anon_sym_AMP_AMP] = ACTIONS(2272),
    [anon_sym_LT_LT] = ACTIONS(2272),
    [anon_sym_GT_GT] = ACTIONS(2272),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2272),
    [anon_sym_PLUS] = ACTIONS(2272),
    [anon_sym_SLASH] = ACTIONS(2272),
    [anon_sym_PERCENT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(110),
  },
  [1888] = {
    [anon_sym_EQ] = ACTIONS(6806),
    [sym_comment] = ACTIONS(256),
  },
  [1889] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(6808),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_RBRACK] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(6810),
    [anon_sym_DASH_EQ] = ACTIONS(6810),
    [anon_sym_STAR_EQ] = ACTIONS(6810),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6810),
    [anon_sym_SLASH_EQ] = ACTIONS(6810),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6810),
    [anon_sym_PIPE_EQ] = ACTIONS(6810),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6810),
    [anon_sym_AMP_EQ] = ACTIONS(6810),
    [anon_sym_PERCENT_EQ] = ACTIONS(6810),
    [anon_sym_GT_GT_EQ] = ACTIONS(6810),
    [anon_sym_LT_LT_EQ] = ACTIONS(6810),
    [anon_sym_CARET_EQ] = ACTIONS(6810),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [1890] = {
    [sym__keyword_colon] = ACTIONS(6812),
    [sym_comment] = ACTIONS(110),
  },
  [1891] = {
    [sym_string] = STATE(1962),
    [aux_sym_chained_string_repeat1] = STATE(1963),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(6772),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_RBRACK] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(1626),
  },
  [1892] = {
    [sym__simple_heredoc_body] = ACTIONS(2286),
    [sym__heredoc_body_beginning] = ACTIONS(2286),
    [sym__element_reference_left_bracket] = ACTIONS(2286),
    [sym__scope_double_colon] = ACTIONS(2286),
    [sym__binary_minus] = ACTIONS(2286),
    [sym__binary_star] = ACTIONS(2286),
    [anon_sym_LBRACE] = ACTIONS(2286),
    [anon_sym_RBRACE] = ACTIONS(2286),
    [anon_sym_RPAREN] = ACTIONS(2286),
    [anon_sym_DOT] = ACTIONS(2288),
    [anon_sym_COMMA] = ACTIONS(2286),
    [anon_sym_PIPE] = ACTIONS(2288),
    [anon_sym_SEMI] = ACTIONS(2286),
    [anon_sym_STAR_STAR] = ACTIONS(2286),
    [anon_sym_AMP] = ACTIONS(2288),
    [anon_sym_EQ] = ACTIONS(2288),
    [anon_sym_LT] = ACTIONS(2288),
    [anon_sym_in] = ACTIONS(2286),
    [anon_sym_do] = ACTIONS(2286),
    [anon_sym_EQ_GT] = ACTIONS(2286),
    [anon_sym_RBRACK] = ACTIONS(2286),
    [anon_sym_AMP_DOT] = ACTIONS(2286),
    [anon_sym_QMARK] = ACTIONS(2286),
    [anon_sym_COLON] = ACTIONS(2286),
    [anon_sym_DOT_DOT] = ACTIONS(2288),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2286),
    [anon_sym_and] = ACTIONS(2286),
    [anon_sym_or] = ACTIONS(2286),
    [anon_sym_PIPE_PIPE] = ACTIONS(2286),
    [anon_sym_AMP_AMP] = ACTIONS(2286),
    [anon_sym_LT_LT] = ACTIONS(2286),
    [anon_sym_GT_GT] = ACTIONS(2286),
    [anon_sym_EQ_EQ] = ACTIONS(2288),
    [anon_sym_BANG_EQ] = ACTIONS(2286),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2286),
    [anon_sym_LT_EQ_GT] = ACTIONS(2286),
    [anon_sym_EQ_TILDE] = ACTIONS(2286),
    [anon_sym_BANG_TILDE] = ACTIONS(2286),
    [anon_sym_LT_EQ] = ACTIONS(2288),
    [anon_sym_GT] = ACTIONS(2288),
    [anon_sym_GT_EQ] = ACTIONS(2286),
    [anon_sym_CARET] = ACTIONS(2286),
    [anon_sym_PLUS] = ACTIONS(2286),
    [anon_sym_SLASH] = ACTIONS(2286),
    [anon_sym_PERCENT] = ACTIONS(2286),
    [sym_comment] = ACTIONS(256),
  },
  [1893] = {
    [sym__simple_heredoc_body] = ACTIONS(2290),
    [sym__heredoc_body_beginning] = ACTIONS(2290),
    [sym__element_reference_left_bracket] = ACTIONS(2290),
    [sym__scope_double_colon] = ACTIONS(2290),
    [sym__binary_minus] = ACTIONS(2290),
    [sym__binary_star] = ACTIONS(2290),
    [anon_sym_LBRACE] = ACTIONS(2290),
    [anon_sym_RBRACE] = ACTIONS(2290),
    [anon_sym_RPAREN] = ACTIONS(2290),
    [anon_sym_DOT] = ACTIONS(2292),
    [anon_sym_COMMA] = ACTIONS(2290),
    [anon_sym_PIPE] = ACTIONS(2292),
    [anon_sym_SEMI] = ACTIONS(2290),
    [anon_sym_STAR_STAR] = ACTIONS(2290),
    [anon_sym_AMP] = ACTIONS(2292),
    [anon_sym_EQ] = ACTIONS(2292),
    [anon_sym_LT] = ACTIONS(2292),
    [anon_sym_in] = ACTIONS(2290),
    [anon_sym_do] = ACTIONS(2290),
    [anon_sym_EQ_GT] = ACTIONS(2290),
    [anon_sym_RBRACK] = ACTIONS(2290),
    [anon_sym_AMP_DOT] = ACTIONS(2290),
    [anon_sym_QMARK] = ACTIONS(2290),
    [anon_sym_COLON] = ACTIONS(2290),
    [anon_sym_DOT_DOT] = ACTIONS(2292),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2290),
    [anon_sym_and] = ACTIONS(2290),
    [anon_sym_or] = ACTIONS(2290),
    [anon_sym_PIPE_PIPE] = ACTIONS(2290),
    [anon_sym_AMP_AMP] = ACTIONS(2290),
    [anon_sym_LT_LT] = ACTIONS(2290),
    [anon_sym_GT_GT] = ACTIONS(2290),
    [anon_sym_EQ_EQ] = ACTIONS(2292),
    [anon_sym_BANG_EQ] = ACTIONS(2290),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2290),
    [anon_sym_LT_EQ_GT] = ACTIONS(2290),
    [anon_sym_EQ_TILDE] = ACTIONS(2290),
    [anon_sym_BANG_TILDE] = ACTIONS(2290),
    [anon_sym_LT_EQ] = ACTIONS(2292),
    [anon_sym_GT] = ACTIONS(2292),
    [anon_sym_GT_EQ] = ACTIONS(2290),
    [anon_sym_CARET] = ACTIONS(2290),
    [anon_sym_PLUS] = ACTIONS(2290),
    [anon_sym_SLASH] = ACTIONS(2290),
    [anon_sym_PERCENT] = ACTIONS(2290),
    [sym_comment] = ACTIONS(256),
  },
  [1894] = {
    [sym__simple_heredoc_body] = ACTIONS(2294),
    [sym__heredoc_body_beginning] = ACTIONS(2294),
    [sym__element_reference_left_bracket] = ACTIONS(2294),
    [sym__scope_double_colon] = ACTIONS(2294),
    [sym__binary_minus] = ACTIONS(2294),
    [sym__binary_star] = ACTIONS(2294),
    [anon_sym_LBRACE] = ACTIONS(2294),
    [anon_sym_RBRACE] = ACTIONS(2294),
    [anon_sym_RPAREN] = ACTIONS(2294),
    [anon_sym_DOT] = ACTIONS(2296),
    [anon_sym_COMMA] = ACTIONS(2294),
    [anon_sym_PIPE] = ACTIONS(2296),
    [anon_sym_SEMI] = ACTIONS(2294),
    [anon_sym_STAR_STAR] = ACTIONS(2294),
    [anon_sym_AMP] = ACTIONS(2296),
    [anon_sym_EQ] = ACTIONS(2296),
    [anon_sym_LT] = ACTIONS(2296),
    [anon_sym_in] = ACTIONS(2294),
    [anon_sym_do] = ACTIONS(2294),
    [anon_sym_EQ_GT] = ACTIONS(2294),
    [anon_sym_RBRACK] = ACTIONS(2294),
    [anon_sym_AMP_DOT] = ACTIONS(2294),
    [anon_sym_QMARK] = ACTIONS(2294),
    [anon_sym_COLON] = ACTIONS(2294),
    [anon_sym_DOT_DOT] = ACTIONS(2296),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2294),
    [anon_sym_and] = ACTIONS(2294),
    [anon_sym_or] = ACTIONS(2294),
    [anon_sym_PIPE_PIPE] = ACTIONS(2294),
    [anon_sym_AMP_AMP] = ACTIONS(2294),
    [anon_sym_LT_LT] = ACTIONS(2294),
    [anon_sym_GT_GT] = ACTIONS(2294),
    [anon_sym_EQ_EQ] = ACTIONS(2296),
    [anon_sym_BANG_EQ] = ACTIONS(2294),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2294),
    [anon_sym_LT_EQ_GT] = ACTIONS(2294),
    [anon_sym_EQ_TILDE] = ACTIONS(2294),
    [anon_sym_BANG_TILDE] = ACTIONS(2294),
    [anon_sym_LT_EQ] = ACTIONS(2296),
    [anon_sym_GT] = ACTIONS(2296),
    [anon_sym_GT_EQ] = ACTIONS(2294),
    [anon_sym_CARET] = ACTIONS(2294),
    [anon_sym_PLUS] = ACTIONS(2294),
    [anon_sym_SLASH] = ACTIONS(2294),
    [anon_sym_PERCENT] = ACTIONS(2294),
    [sym_comment] = ACTIONS(256),
  },
  [1895] = {
    [sym__then] = STATE(4709),
    [sym_heredoc_end] = STATE(1476),
    [sym__terminator] = STATE(1484),
    [sym__simple_heredoc_body] = ACTIONS(2322),
    [sym__heredoc_body_beginning] = ACTIONS(2324),
    [sym__line_break] = ACTIONS(2326),
    [anon_sym_SEMI] = ACTIONS(2326),
    [anon_sym_if] = ACTIONS(2328),
    [anon_sym_unless] = ACTIONS(2330),
    [anon_sym_while] = ACTIONS(2332),
    [anon_sym_until] = ACTIONS(2334),
    [anon_sym_rescue] = ACTIONS(2336),
    [anon_sym_then] = ACTIONS(2338),
    [sym_comment] = ACTIONS(110),
  },
  [1896] = {
    [sym__then] = STATE(4710),
    [sym_heredoc_end] = STATE(1521),
    [sym__terminator] = STATE(1524),
    [sym__simple_heredoc_body] = ACTIONS(2402),
    [sym__heredoc_body_beginning] = ACTIONS(2404),
    [sym__line_break] = ACTIONS(2406),
    [anon_sym_SEMI] = ACTIONS(2406),
    [anon_sym_if] = ACTIONS(2328),
    [anon_sym_unless] = ACTIONS(2330),
    [anon_sym_while] = ACTIONS(2332),
    [anon_sym_until] = ACTIONS(2334),
    [anon_sym_rescue] = ACTIONS(2336),
    [anon_sym_then] = ACTIONS(2408),
    [sym_comment] = ACTIONS(110),
  },
  [1897] = {
    [sym__do] = STATE(4711),
    [sym_heredoc_end] = STATE(1550),
    [sym__terminator] = STATE(1557),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym__line_break] = ACTIONS(2446),
    [sym__binary_minus] = ACTIONS(2448),
    [sym__binary_star] = ACTIONS(2450),
    [anon_sym_PIPE] = ACTIONS(2452),
    [anon_sym_SEMI] = ACTIONS(2446),
    [anon_sym_STAR_STAR] = ACTIONS(2454),
    [anon_sym_AMP] = ACTIONS(2456),
    [anon_sym_LT] = ACTIONS(2458),
    [anon_sym_do] = ACTIONS(2460),
    [anon_sym_QMARK] = ACTIONS(2462),
    [anon_sym_DOT_DOT] = ACTIONS(2464),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2466),
    [anon_sym_and] = ACTIONS(2468),
    [anon_sym_or] = ACTIONS(2468),
    [anon_sym_PIPE_PIPE] = ACTIONS(2470),
    [anon_sym_AMP_AMP] = ACTIONS(2470),
    [anon_sym_LT_LT] = ACTIONS(2472),
    [anon_sym_GT_GT] = ACTIONS(2472),
    [anon_sym_EQ_EQ] = ACTIONS(2474),
    [anon_sym_BANG_EQ] = ACTIONS(2470),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2470),
    [anon_sym_LT_EQ_GT] = ACTIONS(2470),
    [anon_sym_EQ_TILDE] = ACTIONS(2470),
    [anon_sym_BANG_TILDE] = ACTIONS(2470),
    [anon_sym_LT_EQ] = ACTIONS(2458),
    [anon_sym_GT] = ACTIONS(2458),
    [anon_sym_GT_EQ] = ACTIONS(2476),
    [anon_sym_CARET] = ACTIONS(2478),
    [anon_sym_PLUS] = ACTIONS(2480),
    [anon_sym_SLASH] = ACTIONS(2454),
    [anon_sym_PERCENT] = ACTIONS(2454),
    [sym_comment] = ACTIONS(110),
  },
  [1898] = {
    [sym__do] = STATE(4712),
    [sym_heredoc_end] = STATE(1550),
    [sym__terminator] = STATE(1557),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym__line_break] = ACTIONS(2446),
    [sym__binary_minus] = ACTIONS(2448),
    [sym__binary_star] = ACTIONS(2450),
    [anon_sym_PIPE] = ACTIONS(2452),
    [anon_sym_SEMI] = ACTIONS(2446),
    [anon_sym_STAR_STAR] = ACTIONS(2454),
    [anon_sym_AMP] = ACTIONS(2456),
    [anon_sym_LT] = ACTIONS(2458),
    [anon_sym_do] = ACTIONS(2460),
    [anon_sym_QMARK] = ACTIONS(2462),
    [anon_sym_DOT_DOT] = ACTIONS(2464),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2466),
    [anon_sym_and] = ACTIONS(2468),
    [anon_sym_or] = ACTIONS(2468),
    [anon_sym_PIPE_PIPE] = ACTIONS(2470),
    [anon_sym_AMP_AMP] = ACTIONS(2470),
    [anon_sym_LT_LT] = ACTIONS(2472),
    [anon_sym_GT_GT] = ACTIONS(2472),
    [anon_sym_EQ_EQ] = ACTIONS(2474),
    [anon_sym_BANG_EQ] = ACTIONS(2470),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2470),
    [anon_sym_LT_EQ_GT] = ACTIONS(2470),
    [anon_sym_EQ_TILDE] = ACTIONS(2470),
    [anon_sym_BANG_TILDE] = ACTIONS(2470),
    [anon_sym_LT_EQ] = ACTIONS(2458),
    [anon_sym_GT] = ACTIONS(2458),
    [anon_sym_GT_EQ] = ACTIONS(2476),
    [anon_sym_CARET] = ACTIONS(2478),
    [anon_sym_PLUS] = ACTIONS(2480),
    [anon_sym_SLASH] = ACTIONS(2454),
    [anon_sym_PERCENT] = ACTIONS(2454),
    [sym_comment] = ACTIONS(110),
  },
  [1899] = {
    [sym_in] = STATE(4713),
    [anon_sym_in] = ACTIONS(2548),
    [sym_comment] = ACTIONS(110),
  },
  [1900] = {
    [anon_sym_end] = ACTIONS(6814),
    [sym_comment] = ACTIONS(110),
  },
  [1901] = {
    [sym_when] = STATE(4715),
    [sym_heredoc_end] = STATE(387),
    [sym__terminator] = STATE(402),
    [aux_sym_case_repeat1] = STATE(4716),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym__line_break] = ACTIONS(666),
    [sym__binary_minus] = ACTIONS(2600),
    [sym__binary_star] = ACTIONS(2602),
    [anon_sym_PIPE] = ACTIONS(2604),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_STAR_STAR] = ACTIONS(2606),
    [anon_sym_AMP] = ACTIONS(2608),
    [anon_sym_LT] = ACTIONS(2610),
    [anon_sym_when] = ACTIONS(2612),
    [anon_sym_QMARK] = ACTIONS(2614),
    [anon_sym_DOT_DOT] = ACTIONS(2616),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2618),
    [anon_sym_and] = ACTIONS(2620),
    [anon_sym_or] = ACTIONS(2620),
    [anon_sym_PIPE_PIPE] = ACTIONS(2622),
    [anon_sym_AMP_AMP] = ACTIONS(2622),
    [anon_sym_LT_LT] = ACTIONS(2624),
    [anon_sym_GT_GT] = ACTIONS(2624),
    [anon_sym_EQ_EQ] = ACTIONS(2626),
    [anon_sym_BANG_EQ] = ACTIONS(2622),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2622),
    [anon_sym_LT_EQ_GT] = ACTIONS(2622),
    [anon_sym_EQ_TILDE] = ACTIONS(2622),
    [anon_sym_BANG_TILDE] = ACTIONS(2622),
    [anon_sym_LT_EQ] = ACTIONS(2610),
    [anon_sym_GT] = ACTIONS(2610),
    [anon_sym_GT_EQ] = ACTIONS(2628),
    [anon_sym_CARET] = ACTIONS(2630),
    [anon_sym_PLUS] = ACTIONS(2632),
    [anon_sym_SLASH] = ACTIONS(2606),
    [anon_sym_PERCENT] = ACTIONS(2606),
    [sym_comment] = ACTIONS(110),
  },
  [1902] = {
    [sym_when] = STATE(4715),
    [sym_heredoc_end] = STATE(387),
    [sym__terminator] = STATE(1688),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym__line_break] = ACTIONS(666),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_when] = ACTIONS(2612),
    [sym_comment] = ACTIONS(110),
  },
  [1903] = {
    [sym__simple_heredoc_body] = ACTIONS(2674),
    [sym__heredoc_body_beginning] = ACTIONS(2674),
    [sym__element_reference_left_bracket] = ACTIONS(2674),
    [sym__scope_double_colon] = ACTIONS(2674),
    [sym__binary_minus] = ACTIONS(2674),
    [sym__binary_star] = ACTIONS(2674),
    [anon_sym_LBRACE] = ACTIONS(2674),
    [anon_sym_RBRACE] = ACTIONS(2674),
    [anon_sym_RPAREN] = ACTIONS(2674),
    [anon_sym_DOT] = ACTIONS(2676),
    [anon_sym_COMMA] = ACTIONS(2674),
    [anon_sym_PIPE] = ACTIONS(2676),
    [anon_sym_SEMI] = ACTIONS(2674),
    [anon_sym_STAR_STAR] = ACTIONS(2674),
    [anon_sym_AMP] = ACTIONS(2676),
    [anon_sym_EQ] = ACTIONS(2676),
    [anon_sym_LT] = ACTIONS(2676),
    [anon_sym_in] = ACTIONS(2674),
    [anon_sym_do] = ACTIONS(2674),
    [anon_sym_EQ_GT] = ACTIONS(2674),
    [anon_sym_RBRACK] = ACTIONS(2674),
    [anon_sym_AMP_DOT] = ACTIONS(2674),
    [anon_sym_QMARK] = ACTIONS(2674),
    [anon_sym_COLON] = ACTIONS(2674),
    [anon_sym_DOT_DOT] = ACTIONS(2676),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2674),
    [anon_sym_and] = ACTIONS(2674),
    [anon_sym_or] = ACTIONS(2674),
    [anon_sym_PIPE_PIPE] = ACTIONS(2674),
    [anon_sym_AMP_AMP] = ACTIONS(2674),
    [anon_sym_LT_LT] = ACTIONS(2674),
    [anon_sym_GT_GT] = ACTIONS(2674),
    [anon_sym_EQ_EQ] = ACTIONS(2676),
    [anon_sym_BANG_EQ] = ACTIONS(2674),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2674),
    [anon_sym_LT_EQ_GT] = ACTIONS(2674),
    [anon_sym_EQ_TILDE] = ACTIONS(2674),
    [anon_sym_BANG_TILDE] = ACTIONS(2674),
    [anon_sym_LT_EQ] = ACTIONS(2676),
    [anon_sym_GT] = ACTIONS(2676),
    [anon_sym_GT_EQ] = ACTIONS(2674),
    [anon_sym_CARET] = ACTIONS(2674),
    [anon_sym_PLUS] = ACTIONS(2674),
    [anon_sym_SLASH] = ACTIONS(2674),
    [anon_sym_PERCENT] = ACTIONS(2674),
    [sym_comment] = ACTIONS(256),
  },
  [1904] = {
    [anon_sym_end] = ACTIONS(6816),
    [sym_comment] = ACTIONS(110),
  },
  [1905] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(4718),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(6818),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1906] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(2972),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_RBRACK] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [1907] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2966),
    [sym__binary_star] = ACTIONS(2968),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2970),
    [anon_sym_STAR_STAR] = ACTIONS(2972),
    [anon_sym_AMP] = ACTIONS(2974),
    [anon_sym_LT] = ACTIONS(2976),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_RBRACK] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2978),
    [anon_sym_DOT_DOT] = ACTIONS(2980),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2982),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2986),
    [anon_sym_AMP_AMP] = ACTIONS(2986),
    [anon_sym_LT_LT] = ACTIONS(2988),
    [anon_sym_GT_GT] = ACTIONS(2988),
    [anon_sym_EQ_EQ] = ACTIONS(2990),
    [anon_sym_BANG_EQ] = ACTIONS(2986),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2986),
    [anon_sym_LT_EQ_GT] = ACTIONS(2986),
    [anon_sym_EQ_TILDE] = ACTIONS(2986),
    [anon_sym_BANG_TILDE] = ACTIONS(2986),
    [anon_sym_LT_EQ] = ACTIONS(2976),
    [anon_sym_GT] = ACTIONS(2976),
    [anon_sym_GT_EQ] = ACTIONS(2992),
    [anon_sym_CARET] = ACTIONS(2994),
    [anon_sym_PLUS] = ACTIONS(2996),
    [anon_sym_SLASH] = ACTIONS(2972),
    [anon_sym_PERCENT] = ACTIONS(2972),
    [sym_comment] = ACTIONS(110),
  },
  [1908] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_RBRACE] = ACTIONS(2870),
    [anon_sym_RPAREN] = ACTIONS(2870),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(2870),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_RBRACK] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [1909] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(4719),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(1849),
    [sym_call] = STATE(1849),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1850),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1851),
    [sym__variable] = STATE(1849),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2886),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2888),
    [anon_sym_yield] = ACTIONS(2890),
    [anon_sym_break] = ACTIONS(2892),
    [anon_sym_next] = ACTIONS(2894),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2896),
    [anon_sym_defined_QMARK] = ACTIONS(2898),
    [anon_sym_not] = ACTIONS(2900),
    [anon_sym_BANG] = ACTIONS(2902),
    [anon_sym_TILDE] = ACTIONS(2902),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1910] = {
    [sym__simple_heredoc_body] = ACTIONS(2882),
    [sym__heredoc_body_beginning] = ACTIONS(2882),
    [sym__element_reference_left_bracket] = ACTIONS(2882),
    [sym__scope_double_colon] = ACTIONS(2882),
    [sym__binary_minus] = ACTIONS(2882),
    [sym__binary_star] = ACTIONS(2882),
    [anon_sym_LBRACE] = ACTIONS(2882),
    [anon_sym_RBRACE] = ACTIONS(2882),
    [anon_sym_RPAREN] = ACTIONS(2882),
    [anon_sym_DOT] = ACTIONS(2884),
    [anon_sym_COMMA] = ACTIONS(2882),
    [anon_sym_PIPE] = ACTIONS(2884),
    [anon_sym_SEMI] = ACTIONS(2882),
    [anon_sym_STAR_STAR] = ACTIONS(2882),
    [anon_sym_AMP] = ACTIONS(2884),
    [anon_sym_EQ] = ACTIONS(2884),
    [anon_sym_LT] = ACTIONS(2884),
    [anon_sym_in] = ACTIONS(2882),
    [anon_sym_do] = ACTIONS(2882),
    [anon_sym_EQ_GT] = ACTIONS(2882),
    [anon_sym_RBRACK] = ACTIONS(2882),
    [anon_sym_AMP_DOT] = ACTIONS(2882),
    [anon_sym_QMARK] = ACTIONS(2882),
    [anon_sym_COLON] = ACTIONS(2882),
    [anon_sym_DOT_DOT] = ACTIONS(2884),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2882),
    [anon_sym_and] = ACTIONS(2882),
    [anon_sym_or] = ACTIONS(2882),
    [anon_sym_PIPE_PIPE] = ACTIONS(2882),
    [anon_sym_AMP_AMP] = ACTIONS(2882),
    [anon_sym_LT_LT] = ACTIONS(2882),
    [anon_sym_GT_GT] = ACTIONS(2882),
    [anon_sym_EQ_EQ] = ACTIONS(2884),
    [anon_sym_BANG_EQ] = ACTIONS(2882),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2882),
    [anon_sym_LT_EQ_GT] = ACTIONS(2882),
    [anon_sym_EQ_TILDE] = ACTIONS(2882),
    [anon_sym_BANG_TILDE] = ACTIONS(2882),
    [anon_sym_LT_EQ] = ACTIONS(2884),
    [anon_sym_GT] = ACTIONS(2884),
    [anon_sym_GT_EQ] = ACTIONS(2882),
    [anon_sym_CARET] = ACTIONS(2882),
    [anon_sym_PLUS] = ACTIONS(2882),
    [anon_sym_SLASH] = ACTIONS(2882),
    [anon_sym_PERCENT] = ACTIONS(2882),
    [sym_comment] = ACTIONS(256),
  },
  [1911] = {
    [sym__simple_heredoc_body] = ACTIONS(2952),
    [sym__heredoc_body_beginning] = ACTIONS(2952),
    [sym__element_reference_left_bracket] = ACTIONS(2952),
    [sym__scope_double_colon] = ACTIONS(2952),
    [sym__binary_minus] = ACTIONS(2952),
    [sym__binary_star] = ACTIONS(2952),
    [anon_sym_LBRACE] = ACTIONS(2952),
    [anon_sym_RBRACE] = ACTIONS(2952),
    [anon_sym_RPAREN] = ACTIONS(2952),
    [anon_sym_DOT] = ACTIONS(2954),
    [anon_sym_COMMA] = ACTIONS(2952),
    [anon_sym_PIPE] = ACTIONS(2954),
    [anon_sym_SEMI] = ACTIONS(2952),
    [anon_sym_STAR_STAR] = ACTIONS(2952),
    [anon_sym_AMP] = ACTIONS(2954),
    [anon_sym_EQ] = ACTIONS(2954),
    [anon_sym_LT] = ACTIONS(2954),
    [anon_sym_in] = ACTIONS(2952),
    [anon_sym_do] = ACTIONS(2952),
    [anon_sym_EQ_GT] = ACTIONS(2952),
    [anon_sym_RBRACK] = ACTIONS(2952),
    [anon_sym_AMP_DOT] = ACTIONS(2952),
    [anon_sym_QMARK] = ACTIONS(2952),
    [anon_sym_COLON] = ACTIONS(2952),
    [anon_sym_DOT_DOT] = ACTIONS(2954),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2952),
    [anon_sym_and] = ACTIONS(2952),
    [anon_sym_or] = ACTIONS(2952),
    [anon_sym_PIPE_PIPE] = ACTIONS(2952),
    [anon_sym_AMP_AMP] = ACTIONS(2952),
    [anon_sym_LT_LT] = ACTIONS(2952),
    [anon_sym_GT_GT] = ACTIONS(2952),
    [anon_sym_EQ_EQ] = ACTIONS(2954),
    [anon_sym_BANG_EQ] = ACTIONS(2952),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2952),
    [anon_sym_LT_EQ_GT] = ACTIONS(2952),
    [anon_sym_EQ_TILDE] = ACTIONS(2952),
    [anon_sym_BANG_TILDE] = ACTIONS(2952),
    [anon_sym_LT_EQ] = ACTIONS(2954),
    [anon_sym_GT] = ACTIONS(2954),
    [anon_sym_GT_EQ] = ACTIONS(2952),
    [anon_sym_CARET] = ACTIONS(2952),
    [anon_sym_PLUS] = ACTIONS(2952),
    [anon_sym_SLASH] = ACTIONS(2952),
    [anon_sym_PERCENT] = ACTIONS(2952),
    [sym_comment] = ACTIONS(256),
  },
  [1912] = {
    [sym_heredoc_end] = STATE(4720),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RBRACK] = ACTIONS(6706),
    [sym_comment] = ACTIONS(110),
  },
  [1913] = {
    [anon_sym_RBRACK] = ACTIONS(6706),
    [sym_comment] = ACTIONS(110),
  },
  [1914] = {
    [sym__statements] = STATE(4722),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(4723),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(841),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(6820),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_PIPE] = ACTIONS(3048),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1915] = {
    [sym__statements] = STATE(4725),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(4726),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1981),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(4727),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(3076),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(3078),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(3080),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(6822),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(3086),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1916] = {
    [sym_do_block] = STATE(4728),
    [sym_block] = STATE(4728),
    [anon_sym_LBRACE] = ACTIONS(2962),
    [anon_sym_do] = ACTIONS(6824),
    [sym_comment] = ACTIONS(110),
  },
  [1917] = {
    [sym__simple_heredoc_body] = ACTIONS(3100),
    [sym__heredoc_body_beginning] = ACTIONS(3100),
    [sym__element_reference_left_bracket] = ACTIONS(3100),
    [sym__scope_double_colon] = ACTIONS(3100),
    [sym__binary_minus] = ACTIONS(3100),
    [sym__binary_star] = ACTIONS(3100),
    [anon_sym_LBRACE] = ACTIONS(3100),
    [anon_sym_RBRACE] = ACTIONS(3100),
    [anon_sym_RPAREN] = ACTIONS(3100),
    [anon_sym_DOT] = ACTIONS(3102),
    [anon_sym_COMMA] = ACTIONS(3100),
    [anon_sym_PIPE] = ACTIONS(3102),
    [anon_sym_SEMI] = ACTIONS(3100),
    [anon_sym_STAR_STAR] = ACTIONS(3100),
    [anon_sym_AMP] = ACTIONS(3102),
    [anon_sym_EQ] = ACTIONS(3102),
    [anon_sym_LT] = ACTIONS(3102),
    [anon_sym_in] = ACTIONS(3100),
    [anon_sym_do] = ACTIONS(3100),
    [anon_sym_EQ_GT] = ACTIONS(3100),
    [anon_sym_RBRACK] = ACTIONS(3100),
    [anon_sym_AMP_DOT] = ACTIONS(3100),
    [anon_sym_QMARK] = ACTIONS(3100),
    [anon_sym_COLON] = ACTIONS(3100),
    [anon_sym_DOT_DOT] = ACTIONS(3102),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3100),
    [anon_sym_and] = ACTIONS(3100),
    [anon_sym_or] = ACTIONS(3100),
    [anon_sym_PIPE_PIPE] = ACTIONS(3100),
    [anon_sym_AMP_AMP] = ACTIONS(3100),
    [anon_sym_LT_LT] = ACTIONS(3100),
    [anon_sym_GT_GT] = ACTIONS(3100),
    [anon_sym_EQ_EQ] = ACTIONS(3102),
    [anon_sym_BANG_EQ] = ACTIONS(3100),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3100),
    [anon_sym_LT_EQ_GT] = ACTIONS(3100),
    [anon_sym_EQ_TILDE] = ACTIONS(3100),
    [anon_sym_BANG_TILDE] = ACTIONS(3100),
    [anon_sym_LT_EQ] = ACTIONS(3102),
    [anon_sym_GT] = ACTIONS(3102),
    [anon_sym_GT_EQ] = ACTIONS(3100),
    [anon_sym_CARET] = ACTIONS(3100),
    [anon_sym_PLUS] = ACTIONS(3100),
    [anon_sym_SLASH] = ACTIONS(3100),
    [anon_sym_PERCENT] = ACTIONS(3100),
    [sym_comment] = ACTIONS(256),
  },
  [1918] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(4729),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(509),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(510),
    [sym__variable] = STATE(504),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(808),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2904),
    [anon_sym_yield] = ACTIONS(2906),
    [anon_sym_break] = ACTIONS(2908),
    [anon_sym_next] = ACTIONS(2910),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(852),
    [anon_sym_defined_QMARK] = ACTIONS(854),
    [anon_sym_not] = ACTIONS(2912),
    [anon_sym_BANG] = ACTIONS(858),
    [anon_sym_TILDE] = ACTIONS(858),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1919] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(4730),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(509),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(510),
    [sym__variable] = STATE(504),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(808),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2904),
    [anon_sym_yield] = ACTIONS(2906),
    [anon_sym_break] = ACTIONS(2908),
    [anon_sym_next] = ACTIONS(2910),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(852),
    [anon_sym_defined_QMARK] = ACTIONS(854),
    [anon_sym_not] = ACTIONS(2912),
    [anon_sym_BANG] = ACTIONS(858),
    [anon_sym_TILDE] = ACTIONS(858),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1920] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(4731),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(509),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(510),
    [sym__variable] = STATE(504),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(808),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2904),
    [anon_sym_yield] = ACTIONS(2906),
    [anon_sym_break] = ACTIONS(2908),
    [anon_sym_next] = ACTIONS(2910),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(852),
    [anon_sym_defined_QMARK] = ACTIONS(854),
    [anon_sym_not] = ACTIONS(2912),
    [anon_sym_BANG] = ACTIONS(858),
    [anon_sym_TILDE] = ACTIONS(858),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1921] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(4732),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(509),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(510),
    [sym__variable] = STATE(504),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(808),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2904),
    [anon_sym_yield] = ACTIONS(2906),
    [anon_sym_break] = ACTIONS(2908),
    [anon_sym_next] = ACTIONS(2910),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(852),
    [anon_sym_defined_QMARK] = ACTIONS(854),
    [anon_sym_not] = ACTIONS(2912),
    [anon_sym_BANG] = ACTIONS(858),
    [anon_sym_TILDE] = ACTIONS(858),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1922] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(4733),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(509),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(510),
    [sym__variable] = STATE(504),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(808),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2904),
    [anon_sym_yield] = ACTIONS(2906),
    [anon_sym_break] = ACTIONS(2908),
    [anon_sym_next] = ACTIONS(2910),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(852),
    [anon_sym_defined_QMARK] = ACTIONS(854),
    [anon_sym_not] = ACTIONS(2912),
    [anon_sym_BANG] = ACTIONS(858),
    [anon_sym_TILDE] = ACTIONS(858),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1923] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(4734),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(509),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(510),
    [sym__variable] = STATE(504),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(808),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2904),
    [anon_sym_yield] = ACTIONS(2906),
    [anon_sym_break] = ACTIONS(2908),
    [anon_sym_next] = ACTIONS(2910),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(852),
    [anon_sym_defined_QMARK] = ACTIONS(854),
    [anon_sym_not] = ACTIONS(2912),
    [anon_sym_BANG] = ACTIONS(858),
    [anon_sym_TILDE] = ACTIONS(858),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1924] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(4735),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [1925] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(4736),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(509),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(510),
    [sym__variable] = STATE(504),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(808),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2904),
    [anon_sym_yield] = ACTIONS(2906),
    [anon_sym_break] = ACTIONS(2908),
    [anon_sym_next] = ACTIONS(2910),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(852),
    [anon_sym_defined_QMARK] = ACTIONS(854),
    [anon_sym_not] = ACTIONS(2912),
    [anon_sym_BANG] = ACTIONS(858),
    [anon_sym_TILDE] = ACTIONS(858),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1926] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(4737),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(509),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(510),
    [sym__variable] = STATE(504),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(808),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2904),
    [anon_sym_yield] = ACTIONS(2906),
    [anon_sym_break] = ACTIONS(2908),
    [anon_sym_next] = ACTIONS(2910),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(852),
    [anon_sym_defined_QMARK] = ACTIONS(854),
    [anon_sym_not] = ACTIONS(2912),
    [anon_sym_BANG] = ACTIONS(858),
    [anon_sym_TILDE] = ACTIONS(858),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1927] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(4738),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(509),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(510),
    [sym__variable] = STATE(504),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(808),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2904),
    [anon_sym_yield] = ACTIONS(2906),
    [anon_sym_break] = ACTIONS(2908),
    [anon_sym_next] = ACTIONS(2910),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(852),
    [anon_sym_defined_QMARK] = ACTIONS(854),
    [anon_sym_not] = ACTIONS(2912),
    [anon_sym_BANG] = ACTIONS(858),
    [anon_sym_TILDE] = ACTIONS(858),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1928] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(4739),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(509),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(510),
    [sym__variable] = STATE(504),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(808),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2904),
    [anon_sym_yield] = ACTIONS(2906),
    [anon_sym_break] = ACTIONS(2908),
    [anon_sym_next] = ACTIONS(2910),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(852),
    [anon_sym_defined_QMARK] = ACTIONS(854),
    [anon_sym_not] = ACTIONS(2912),
    [anon_sym_BANG] = ACTIONS(858),
    [anon_sym_TILDE] = ACTIONS(858),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1929] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(4740),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(509),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(510),
    [sym__variable] = STATE(504),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(808),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2904),
    [anon_sym_yield] = ACTIONS(2906),
    [anon_sym_break] = ACTIONS(2908),
    [anon_sym_next] = ACTIONS(2910),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(852),
    [anon_sym_defined_QMARK] = ACTIONS(854),
    [anon_sym_not] = ACTIONS(2912),
    [anon_sym_BANG] = ACTIONS(858),
    [anon_sym_TILDE] = ACTIONS(858),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1930] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(501),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(4742),
    [sym__argument] = STATE(506),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(509),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(510),
    [sym__variable] = STATE(504),
    [sym_reserved_identifier] = STATE(511),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(512),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(4743),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(804),
    [sym__splat_star] = ACTIONS(806),
    [sym__unary_minus] = ACTIONS(808),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(818),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(824),
    [anon_sym_yield] = ACTIONS(826),
    [anon_sym_break] = ACTIONS(828),
    [anon_sym_next] = ACTIONS(830),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_RBRACK] = ACTIONS(6826),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(852),
    [anon_sym_defined_QMARK] = ACTIONS(854),
    [anon_sym_not] = ACTIONS(856),
    [anon_sym_BANG] = ACTIONS(858),
    [anon_sym_TILDE] = ACTIONS(858),
    [sym_constant] = ACTIONS(860),
    [sym_identifier] = ACTIONS(860),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1931] = {
    [sym_constant] = ACTIONS(6828),
    [sym_identifier] = ACTIONS(6828),
    [sym_comment] = ACTIONS(110),
  },
  [1932] = {
    [sym_argument_list_with_parens] = STATE(4747),
    [sym__argument_list_with_parens] = STATE(4748),
    [sym_operator] = STATE(4747),
    [sym__argument_list_left_paren] = ACTIONS(6830),
    [anon_sym_PIPE] = ACTIONS(6832),
    [anon_sym_STAR] = ACTIONS(6834),
    [anon_sym_STAR_STAR] = ACTIONS(6832),
    [anon_sym_AMP] = ACTIONS(6832),
    [anon_sym_LT] = ACTIONS(6834),
    [anon_sym_DOT_DOT] = ACTIONS(6832),
    [anon_sym_LT_LT] = ACTIONS(6832),
    [anon_sym_GT_GT] = ACTIONS(6832),
    [anon_sym_EQ_EQ] = ACTIONS(6834),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6832),
    [anon_sym_LT_EQ_GT] = ACTIONS(6832),
    [anon_sym_EQ_TILDE] = ACTIONS(6832),
    [anon_sym_BANG_TILDE] = ACTIONS(6832),
    [anon_sym_LT_EQ] = ACTIONS(6834),
    [anon_sym_GT] = ACTIONS(6834),
    [anon_sym_GT_EQ] = ACTIONS(6832),
    [anon_sym_CARET] = ACTIONS(6832),
    [anon_sym_PLUS] = ACTIONS(6834),
    [anon_sym_SLASH] = ACTIONS(6832),
    [anon_sym_PERCENT] = ACTIONS(6832),
    [anon_sym_BANG] = ACTIONS(6834),
    [anon_sym_TILDE] = ACTIONS(6832),
    [sym_constant] = ACTIONS(6836),
    [sym_identifier] = ACTIONS(6836),
    [anon_sym_DASH] = ACTIONS(6834),
    [anon_sym_PLUS_AT] = ACTIONS(6832),
    [anon_sym_DASH_AT] = ACTIONS(6832),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(6834),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(6832),
    [anon_sym_BQUOTE] = ACTIONS(6832),
    [sym_comment] = ACTIONS(110),
  },
  [1933] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(4753),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1949),
    [sym_call] = STATE(1949),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1953),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1954),
    [sym__variable] = STATE(1949),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(3010),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(6838),
    [anon_sym_yield] = ACTIONS(6840),
    [anon_sym_break] = ACTIONS(6842),
    [anon_sym_next] = ACTIONS(6844),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(6846),
    [anon_sym_defined_QMARK] = ACTIONS(3024),
    [anon_sym_not] = ACTIONS(6848),
    [anon_sym_BANG] = ACTIONS(3030),
    [anon_sym_TILDE] = ACTIONS(3030),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [1934] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(4754),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1949),
    [sym_call] = STATE(1949),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1953),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1954),
    [sym__variable] = STATE(1949),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(3010),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(6838),
    [anon_sym_yield] = ACTIONS(6840),
    [anon_sym_break] = ACTIONS(6842),
    [anon_sym_next] = ACTIONS(6844),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(6846),
    [anon_sym_defined_QMARK] = ACTIONS(3024),
    [anon_sym_not] = ACTIONS(6848),
    [anon_sym_BANG] = ACTIONS(3030),
    [anon_sym_TILDE] = ACTIONS(3030),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [1935] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(4755),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1949),
    [sym_call] = STATE(1949),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1953),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1954),
    [sym__variable] = STATE(1949),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(3010),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(6838),
    [anon_sym_yield] = ACTIONS(6840),
    [anon_sym_break] = ACTIONS(6842),
    [anon_sym_next] = ACTIONS(6844),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(6846),
    [anon_sym_defined_QMARK] = ACTIONS(3024),
    [anon_sym_not] = ACTIONS(6848),
    [anon_sym_BANG] = ACTIONS(3030),
    [anon_sym_TILDE] = ACTIONS(3030),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [1936] = {
    [sym__statements] = STATE(4756),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(4757),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2128),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_hash_splat_argument] = STATE(197),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(2130),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2131),
    [sym__variable] = STATE(2129),
    [sym_reserved_identifier] = STATE(201),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(2132),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(3090),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym__hash_items] = STATE(3091),
    [sym_pair] = STATE(205),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3268),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(4494),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_PIPE] = ACTIONS(3048),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(302),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(3272),
    [anon_sym_yield] = ACTIONS(3274),
    [anon_sym_break] = ACTIONS(3276),
    [anon_sym_next] = ACTIONS(3278),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(3280),
    [anon_sym_defined_QMARK] = ACTIONS(3282),
    [anon_sym_not] = ACTIONS(3284),
    [anon_sym_BANG] = ACTIONS(3286),
    [anon_sym_TILDE] = ACTIONS(3286),
    [sym_constant] = ACTIONS(3288),
    [sym_identifier] = ACTIONS(3288),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(3290),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(3292),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1937] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(4758),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1949),
    [sym_call] = STATE(1949),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1953),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1954),
    [sym__variable] = STATE(1949),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(3010),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(6838),
    [anon_sym_yield] = ACTIONS(6840),
    [anon_sym_break] = ACTIONS(6842),
    [anon_sym_next] = ACTIONS(6844),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(6846),
    [anon_sym_defined_QMARK] = ACTIONS(3024),
    [anon_sym_not] = ACTIONS(6848),
    [anon_sym_BANG] = ACTIONS(3030),
    [anon_sym_TILDE] = ACTIONS(3030),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [1938] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(1948),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1949),
    [sym_call] = STATE(1949),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(3104),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(1951),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1953),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1954),
    [sym__variable] = STATE(1949),
    [sym_reserved_identifier] = STATE(1955),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(1956),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(3006),
    [sym__splat_star] = ACTIONS(3008),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(3010),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(544),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(3014),
    [anon_sym_yield] = ACTIONS(3016),
    [anon_sym_break] = ACTIONS(3018),
    [anon_sym_next] = ACTIONS(3020),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_RBRACK] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_PLUS_EQ] = ACTIONS(532),
    [anon_sym_DASH_EQ] = ACTIONS(532),
    [anon_sym_STAR_EQ] = ACTIONS(532),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(532),
    [anon_sym_SLASH_EQ] = ACTIONS(532),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(532),
    [anon_sym_PIPE_EQ] = ACTIONS(532),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(532),
    [anon_sym_AMP_EQ] = ACTIONS(532),
    [anon_sym_PERCENT_EQ] = ACTIONS(532),
    [anon_sym_GT_GT_EQ] = ACTIONS(532),
    [anon_sym_LT_LT_EQ] = ACTIONS(532),
    [anon_sym_CARET_EQ] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(544),
    [anon_sym_AMP_AMP] = ACTIONS(544),
    [anon_sym_LT_LT] = ACTIONS(544),
    [anon_sym_GT_GT] = ACTIONS(544),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(544),
    [anon_sym_PERCENT] = ACTIONS(544),
    [anon_sym_defined_QMARK] = ACTIONS(3024),
    [anon_sym_not] = ACTIONS(3026),
    [anon_sym_BANG] = ACTIONS(3028),
    [anon_sym_TILDE] = ACTIONS(3030),
    [sym_constant] = ACTIONS(3032),
    [sym_identifier] = ACTIONS(3032),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [1939] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(1948),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1949),
    [sym_call] = STATE(1949),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(3105),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(1951),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1953),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1954),
    [sym__variable] = STATE(1949),
    [sym_reserved_identifier] = STATE(1955),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(1956),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(3006),
    [sym__splat_star] = ACTIONS(3008),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(3010),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(604),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(3014),
    [anon_sym_yield] = ACTIONS(3016),
    [anon_sym_break] = ACTIONS(3018),
    [anon_sym_next] = ACTIONS(3020),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_RBRACK] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_PLUS_EQ] = ACTIONS(602),
    [anon_sym_DASH_EQ] = ACTIONS(602),
    [anon_sym_STAR_EQ] = ACTIONS(602),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(602),
    [anon_sym_SLASH_EQ] = ACTIONS(602),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(602),
    [anon_sym_PIPE_EQ] = ACTIONS(602),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(602),
    [anon_sym_AMP_EQ] = ACTIONS(602),
    [anon_sym_PERCENT_EQ] = ACTIONS(602),
    [anon_sym_GT_GT_EQ] = ACTIONS(602),
    [anon_sym_LT_LT_EQ] = ACTIONS(602),
    [anon_sym_CARET_EQ] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(604),
    [anon_sym_AMP_AMP] = ACTIONS(604),
    [anon_sym_LT_LT] = ACTIONS(604),
    [anon_sym_GT_GT] = ACTIONS(604),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(604),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(604),
    [anon_sym_PERCENT] = ACTIONS(604),
    [anon_sym_defined_QMARK] = ACTIONS(3024),
    [anon_sym_not] = ACTIONS(3026),
    [anon_sym_BANG] = ACTIONS(3028),
    [anon_sym_TILDE] = ACTIONS(3030),
    [sym_constant] = ACTIONS(3032),
    [sym_identifier] = ACTIONS(3032),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [1940] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(1948),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1949),
    [sym_call] = STATE(1949),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(3106),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(1951),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1953),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1954),
    [sym__variable] = STATE(1949),
    [sym_reserved_identifier] = STATE(1955),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(1956),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(3006),
    [sym__splat_star] = ACTIONS(3008),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(3010),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(608),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(3014),
    [anon_sym_yield] = ACTIONS(3016),
    [anon_sym_break] = ACTIONS(3018),
    [anon_sym_next] = ACTIONS(3020),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_RBRACK] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_PLUS_EQ] = ACTIONS(606),
    [anon_sym_DASH_EQ] = ACTIONS(606),
    [anon_sym_STAR_EQ] = ACTIONS(606),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(606),
    [anon_sym_SLASH_EQ] = ACTIONS(606),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(606),
    [anon_sym_PIPE_EQ] = ACTIONS(606),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(606),
    [anon_sym_AMP_EQ] = ACTIONS(606),
    [anon_sym_PERCENT_EQ] = ACTIONS(606),
    [anon_sym_GT_GT_EQ] = ACTIONS(606),
    [anon_sym_LT_LT_EQ] = ACTIONS(606),
    [anon_sym_CARET_EQ] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(608),
    [anon_sym_AMP_AMP] = ACTIONS(608),
    [anon_sym_LT_LT] = ACTIONS(608),
    [anon_sym_GT_GT] = ACTIONS(608),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(608),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(608),
    [anon_sym_PERCENT] = ACTIONS(608),
    [anon_sym_defined_QMARK] = ACTIONS(3024),
    [anon_sym_not] = ACTIONS(3026),
    [anon_sym_BANG] = ACTIONS(3028),
    [anon_sym_TILDE] = ACTIONS(3030),
    [sym_constant] = ACTIONS(3032),
    [sym_identifier] = ACTIONS(3032),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [1941] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(1948),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1949),
    [sym_call] = STATE(1949),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(3107),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(1951),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1953),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1954),
    [sym__variable] = STATE(1949),
    [sym_reserved_identifier] = STATE(1955),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(1956),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(3006),
    [sym__splat_star] = ACTIONS(3008),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(3010),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(612),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(3014),
    [anon_sym_yield] = ACTIONS(3016),
    [anon_sym_break] = ACTIONS(3018),
    [anon_sym_next] = ACTIONS(3020),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_RBRACK] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_PLUS_EQ] = ACTIONS(610),
    [anon_sym_DASH_EQ] = ACTIONS(610),
    [anon_sym_STAR_EQ] = ACTIONS(610),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(610),
    [anon_sym_SLASH_EQ] = ACTIONS(610),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(610),
    [anon_sym_PIPE_EQ] = ACTIONS(610),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(610),
    [anon_sym_AMP_EQ] = ACTIONS(610),
    [anon_sym_PERCENT_EQ] = ACTIONS(610),
    [anon_sym_GT_GT_EQ] = ACTIONS(610),
    [anon_sym_LT_LT_EQ] = ACTIONS(610),
    [anon_sym_CARET_EQ] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(612),
    [anon_sym_AMP_AMP] = ACTIONS(612),
    [anon_sym_LT_LT] = ACTIONS(612),
    [anon_sym_GT_GT] = ACTIONS(612),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(612),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(612),
    [anon_sym_PERCENT] = ACTIONS(612),
    [anon_sym_defined_QMARK] = ACTIONS(3024),
    [anon_sym_not] = ACTIONS(3026),
    [anon_sym_BANG] = ACTIONS(3028),
    [anon_sym_TILDE] = ACTIONS(3030),
    [sym_constant] = ACTIONS(3032),
    [sym_identifier] = ACTIONS(3032),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [1942] = {
    [sym__statements] = STATE(4760),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(4761),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1981),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(4762),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(3076),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(3078),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(3080),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(6850),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(3086),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1943] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(4763),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1949),
    [sym_call] = STATE(1949),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1953),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1954),
    [sym__variable] = STATE(1949),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(3010),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(6838),
    [anon_sym_yield] = ACTIONS(6840),
    [anon_sym_break] = ACTIONS(6842),
    [anon_sym_next] = ACTIONS(6844),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(6846),
    [anon_sym_defined_QMARK] = ACTIONS(3024),
    [anon_sym_not] = ACTIONS(6848),
    [anon_sym_BANG] = ACTIONS(3030),
    [anon_sym_TILDE] = ACTIONS(3030),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [1944] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(4764),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1949),
    [sym_call] = STATE(1949),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1953),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1954),
    [sym__variable] = STATE(1949),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(3010),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(6838),
    [anon_sym_yield] = ACTIONS(6840),
    [anon_sym_break] = ACTIONS(6842),
    [anon_sym_next] = ACTIONS(6844),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(6846),
    [anon_sym_defined_QMARK] = ACTIONS(3024),
    [anon_sym_not] = ACTIONS(6848),
    [anon_sym_BANG] = ACTIONS(3030),
    [anon_sym_TILDE] = ACTIONS(3030),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [1945] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(4764),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1949),
    [sym_call] = STATE(1949),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1953),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1954),
    [sym__variable] = STATE(1949),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(3010),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(6838),
    [anon_sym_yield] = ACTIONS(6840),
    [anon_sym_break] = ACTIONS(6842),
    [anon_sym_next] = ACTIONS(6844),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(6846),
    [anon_sym_defined_QMARK] = ACTIONS(3024),
    [anon_sym_not] = ACTIONS(6848),
    [anon_sym_BANG] = ACTIONS(3030),
    [anon_sym_TILDE] = ACTIONS(3030),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [1946] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(3125),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1949),
    [sym_call] = STATE(1949),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1953),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1954),
    [sym__variable] = STATE(1949),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(3010),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(6838),
    [anon_sym_yield] = ACTIONS(6840),
    [anon_sym_break] = ACTIONS(6842),
    [anon_sym_next] = ACTIONS(6844),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(6846),
    [anon_sym_defined_QMARK] = ACTIONS(3024),
    [anon_sym_not] = ACTIONS(6848),
    [anon_sym_BANG] = ACTIONS(3030),
    [anon_sym_TILDE] = ACTIONS(3030),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [1947] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(6852),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_RBRACK] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [1948] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(6854),
    [sym__binary_star] = ACTIONS(6856),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(6858),
    [anon_sym_STAR_STAR] = ACTIONS(6860),
    [anon_sym_AMP] = ACTIONS(6862),
    [anon_sym_EQ] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(6864),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(2210),
    [anon_sym_RBRACK] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_PLUS_EQ] = ACTIONS(2210),
    [anon_sym_DASH_EQ] = ACTIONS(2210),
    [anon_sym_STAR_EQ] = ACTIONS(2210),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2210),
    [anon_sym_SLASH_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2210),
    [anon_sym_AMP_EQ] = ACTIONS(2210),
    [anon_sym_PERCENT_EQ] = ACTIONS(2210),
    [anon_sym_GT_GT_EQ] = ACTIONS(2210),
    [anon_sym_LT_LT_EQ] = ACTIONS(2210),
    [anon_sym_CARET_EQ] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(6866),
    [anon_sym_DOT_DOT] = ACTIONS(6868),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6870),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(6872),
    [anon_sym_AMP_AMP] = ACTIONS(6872),
    [anon_sym_LT_LT] = ACTIONS(6874),
    [anon_sym_GT_GT] = ACTIONS(6874),
    [anon_sym_EQ_EQ] = ACTIONS(6872),
    [anon_sym_BANG_EQ] = ACTIONS(6876),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6876),
    [anon_sym_LT_EQ_GT] = ACTIONS(6876),
    [anon_sym_EQ_TILDE] = ACTIONS(6876),
    [anon_sym_BANG_TILDE] = ACTIONS(6876),
    [anon_sym_LT_EQ] = ACTIONS(6864),
    [anon_sym_GT] = ACTIONS(6864),
    [anon_sym_GT_EQ] = ACTIONS(6878),
    [anon_sym_CARET] = ACTIONS(6858),
    [anon_sym_PLUS] = ACTIONS(6880),
    [anon_sym_SLASH] = ACTIONS(6860),
    [anon_sym_PERCENT] = ACTIONS(6860),
    [sym_comment] = ACTIONS(256),
  },
  [1949] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(1948),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1949),
    [sym_call] = STATE(1949),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(3147),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(1951),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_do_block] = STATE(1952),
    [sym_block] = STATE(1952),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1953),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1954),
    [sym__variable] = STATE(1949),
    [sym_reserved_identifier] = STATE(1955),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(1956),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(3006),
    [sym__splat_star] = ACTIONS(3008),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(3010),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(3012),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(3014),
    [anon_sym_yield] = ACTIONS(3016),
    [anon_sym_break] = ACTIONS(3018),
    [anon_sym_next] = ACTIONS(3020),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(982),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(980),
    [anon_sym_RBRACK] = ACTIONS(980),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(3024),
    [anon_sym_not] = ACTIONS(3026),
    [anon_sym_BANG] = ACTIONS(3028),
    [anon_sym_TILDE] = ACTIONS(3030),
    [sym_constant] = ACTIONS(3032),
    [sym_identifier] = ACTIONS(3032),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [1950] = {
    [sym_do_block] = STATE(4778),
    [sym_block] = STATE(4778),
    [sym__simple_heredoc_body] = ACTIONS(3346),
    [sym__heredoc_body_beginning] = ACTIONS(3346),
    [sym__element_reference_left_bracket] = ACTIONS(3346),
    [sym__scope_double_colon] = ACTIONS(3346),
    [sym__binary_minus] = ACTIONS(3346),
    [sym__binary_star] = ACTIONS(3346),
    [anon_sym_LBRACE] = ACTIONS(4516),
    [anon_sym_RBRACE] = ACTIONS(3346),
    [anon_sym_RPAREN] = ACTIONS(3346),
    [anon_sym_DOT] = ACTIONS(3350),
    [anon_sym_COMMA] = ACTIONS(3346),
    [anon_sym_PIPE] = ACTIONS(3350),
    [anon_sym_SEMI] = ACTIONS(3346),
    [anon_sym_STAR_STAR] = ACTIONS(3350),
    [anon_sym_AMP] = ACTIONS(3350),
    [anon_sym_EQ] = ACTIONS(3350),
    [anon_sym_LT] = ACTIONS(3350),
    [anon_sym_do] = ACTIONS(6882),
    [anon_sym_EQ_GT] = ACTIONS(3346),
    [anon_sym_RBRACK] = ACTIONS(3346),
    [anon_sym_AMP_DOT] = ACTIONS(3346),
    [anon_sym_PLUS_EQ] = ACTIONS(3346),
    [anon_sym_DASH_EQ] = ACTIONS(3346),
    [anon_sym_STAR_EQ] = ACTIONS(3346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3346),
    [anon_sym_SLASH_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3346),
    [anon_sym_AMP_EQ] = ACTIONS(3346),
    [anon_sym_PERCENT_EQ] = ACTIONS(3346),
    [anon_sym_GT_GT_EQ] = ACTIONS(3346),
    [anon_sym_LT_LT_EQ] = ACTIONS(3346),
    [anon_sym_CARET_EQ] = ACTIONS(3346),
    [anon_sym_QMARK] = ACTIONS(3346),
    [anon_sym_COLON] = ACTIONS(3346),
    [anon_sym_DOT_DOT] = ACTIONS(3350),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3346),
    [anon_sym_and] = ACTIONS(3346),
    [anon_sym_or] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE] = ACTIONS(3350),
    [anon_sym_AMP_AMP] = ACTIONS(3350),
    [anon_sym_LT_LT] = ACTIONS(3350),
    [anon_sym_GT_GT] = ACTIONS(3350),
    [anon_sym_EQ_EQ] = ACTIONS(3350),
    [anon_sym_BANG_EQ] = ACTIONS(3346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3346),
    [anon_sym_LT_EQ_GT] = ACTIONS(3346),
    [anon_sym_EQ_TILDE] = ACTIONS(3346),
    [anon_sym_BANG_TILDE] = ACTIONS(3346),
    [anon_sym_LT_EQ] = ACTIONS(3350),
    [anon_sym_GT] = ACTIONS(3350),
    [anon_sym_GT_EQ] = ACTIONS(3346),
    [anon_sym_CARET] = ACTIONS(3350),
    [anon_sym_PLUS] = ACTIONS(3350),
    [anon_sym_SLASH] = ACTIONS(3350),
    [anon_sym_PERCENT] = ACTIONS(3350),
    [sym_comment] = ACTIONS(256),
  },
  [1951] = {
    [sym_heredoc_end] = STATE(3153),
    [aux_sym_argument_list_repeat1] = STATE(4780),
    [aux_sym_argument_list_repeat2] = STATE(3154),
    [sym__simple_heredoc_body] = ACTIONS(4552),
    [sym__heredoc_body_beginning] = ACTIONS(4554),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(6884),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_STAR_STAR] = ACTIONS(2274),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_EQ] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_EQ_GT] = ACTIONS(2272),
    [anon_sym_RBRACK] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_PLUS_EQ] = ACTIONS(2272),
    [anon_sym_DASH_EQ] = ACTIONS(2272),
    [anon_sym_STAR_EQ] = ACTIONS(2272),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2272),
    [anon_sym_SLASH_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2272),
    [anon_sym_AMP_EQ] = ACTIONS(2272),
    [anon_sym_PERCENT_EQ] = ACTIONS(2272),
    [anon_sym_GT_GT_EQ] = ACTIONS(2272),
    [anon_sym_LT_LT_EQ] = ACTIONS(2272),
    [anon_sym_CARET_EQ] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2274),
    [anon_sym_AMP_AMP] = ACTIONS(2274),
    [anon_sym_LT_LT] = ACTIONS(2274),
    [anon_sym_GT_GT] = ACTIONS(2274),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2274),
    [anon_sym_PLUS] = ACTIONS(2274),
    [anon_sym_SLASH] = ACTIONS(2274),
    [anon_sym_PERCENT] = ACTIONS(2274),
    [sym_comment] = ACTIONS(256),
  },
  [1952] = {
    [sym__simple_heredoc_body] = ACTIONS(3346),
    [sym__heredoc_body_beginning] = ACTIONS(3346),
    [sym__element_reference_left_bracket] = ACTIONS(3346),
    [sym__scope_double_colon] = ACTIONS(3346),
    [sym__binary_minus] = ACTIONS(3346),
    [sym__binary_star] = ACTIONS(3346),
    [anon_sym_LBRACE] = ACTIONS(3346),
    [anon_sym_RBRACE] = ACTIONS(3346),
    [anon_sym_RPAREN] = ACTIONS(3346),
    [anon_sym_DOT] = ACTIONS(3350),
    [anon_sym_COMMA] = ACTIONS(3346),
    [anon_sym_PIPE] = ACTIONS(3350),
    [anon_sym_SEMI] = ACTIONS(3346),
    [anon_sym_STAR_STAR] = ACTIONS(3350),
    [anon_sym_AMP] = ACTIONS(3350),
    [anon_sym_EQ] = ACTIONS(3350),
    [anon_sym_LT] = ACTIONS(3350),
    [anon_sym_in] = ACTIONS(3346),
    [anon_sym_do] = ACTIONS(3346),
    [anon_sym_EQ_GT] = ACTIONS(3346),
    [anon_sym_RBRACK] = ACTIONS(3346),
    [anon_sym_AMP_DOT] = ACTIONS(3346),
    [anon_sym_PLUS_EQ] = ACTIONS(3346),
    [anon_sym_DASH_EQ] = ACTIONS(3346),
    [anon_sym_STAR_EQ] = ACTIONS(3346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3346),
    [anon_sym_SLASH_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3346),
    [anon_sym_AMP_EQ] = ACTIONS(3346),
    [anon_sym_PERCENT_EQ] = ACTIONS(3346),
    [anon_sym_GT_GT_EQ] = ACTIONS(3346),
    [anon_sym_LT_LT_EQ] = ACTIONS(3346),
    [anon_sym_CARET_EQ] = ACTIONS(3346),
    [anon_sym_QMARK] = ACTIONS(3346),
    [anon_sym_COLON] = ACTIONS(3346),
    [anon_sym_DOT_DOT] = ACTIONS(3350),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3346),
    [anon_sym_and] = ACTIONS(3346),
    [anon_sym_or] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE] = ACTIONS(3350),
    [anon_sym_AMP_AMP] = ACTIONS(3350),
    [anon_sym_LT_LT] = ACTIONS(3350),
    [anon_sym_GT_GT] = ACTIONS(3350),
    [anon_sym_EQ_EQ] = ACTIONS(3350),
    [anon_sym_BANG_EQ] = ACTIONS(3346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3346),
    [anon_sym_LT_EQ_GT] = ACTIONS(3346),
    [anon_sym_EQ_TILDE] = ACTIONS(3346),
    [anon_sym_BANG_TILDE] = ACTIONS(3346),
    [anon_sym_LT_EQ] = ACTIONS(3350),
    [anon_sym_GT] = ACTIONS(3350),
    [anon_sym_GT_EQ] = ACTIONS(3346),
    [anon_sym_CARET] = ACTIONS(3350),
    [anon_sym_PLUS] = ACTIONS(3350),
    [anon_sym_SLASH] = ACTIONS(3350),
    [anon_sym_PERCENT] = ACTIONS(3350),
    [sym_comment] = ACTIONS(256),
  },
  [1953] = {
    [anon_sym_EQ] = ACTIONS(6886),
    [sym_comment] = ACTIONS(256),
  },
  [1954] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(6888),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_RBRACK] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(6890),
    [anon_sym_DASH_EQ] = ACTIONS(6890),
    [anon_sym_STAR_EQ] = ACTIONS(6890),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6890),
    [anon_sym_SLASH_EQ] = ACTIONS(6890),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6890),
    [anon_sym_PIPE_EQ] = ACTIONS(6890),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6890),
    [anon_sym_AMP_EQ] = ACTIONS(6890),
    [anon_sym_PERCENT_EQ] = ACTIONS(6890),
    [anon_sym_GT_GT_EQ] = ACTIONS(6890),
    [anon_sym_LT_LT_EQ] = ACTIONS(6890),
    [anon_sym_CARET_EQ] = ACTIONS(6890),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [1955] = {
    [sym__keyword_colon] = ACTIONS(6892),
    [sym_comment] = ACTIONS(110),
  },
  [1956] = {
    [sym_string] = STATE(3160),
    [aux_sym_chained_string_repeat1] = STATE(3161),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(6852),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_RBRACK] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(4490),
  },
  [1957] = {
    [anon_sym_RBRACK] = ACTIONS(3866),
    [sym_comment] = ACTIONS(110),
  },
  [1958] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(501),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(4786),
    [sym__argument] = STATE(506),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(509),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(510),
    [sym__variable] = STATE(504),
    [sym_reserved_identifier] = STATE(511),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(512),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(4787),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(6894),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(6896),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(804),
    [sym__splat_star] = ACTIONS(806),
    [sym__unary_minus] = ACTIONS(808),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(818),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(824),
    [anon_sym_yield] = ACTIONS(826),
    [anon_sym_break] = ACTIONS(828),
    [anon_sym_next] = ACTIONS(830),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_RBRACK] = ACTIONS(6898),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(852),
    [anon_sym_defined_QMARK] = ACTIONS(854),
    [anon_sym_not] = ACTIONS(856),
    [anon_sym_BANG] = ACTIONS(858),
    [anon_sym_TILDE] = ACTIONS(858),
    [sym_constant] = ACTIONS(860),
    [sym_identifier] = ACTIONS(860),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1959] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(4789),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym_splat_argument] = STATE(4790),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_right_assignment_list] = STATE(4791),
    [sym__arg_or_splat_arg] = STATE(4792),
    [sym_left_assignment_list] = STATE(509),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(510),
    [sym__variable] = STATE(504),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__splat_star] = ACTIONS(6900),
    [sym__unary_minus] = ACTIONS(808),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2904),
    [anon_sym_yield] = ACTIONS(2906),
    [anon_sym_break] = ACTIONS(2908),
    [anon_sym_next] = ACTIONS(2910),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(852),
    [anon_sym_defined_QMARK] = ACTIONS(854),
    [anon_sym_not] = ACTIONS(2912),
    [anon_sym_BANG] = ACTIONS(858),
    [anon_sym_TILDE] = ACTIONS(858),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1960] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(4793),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(509),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(510),
    [sym__variable] = STATE(504),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(808),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2904),
    [anon_sym_yield] = ACTIONS(2906),
    [anon_sym_break] = ACTIONS(2908),
    [anon_sym_next] = ACTIONS(2910),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(852),
    [anon_sym_defined_QMARK] = ACTIONS(854),
    [anon_sym_not] = ACTIONS(2912),
    [anon_sym_BANG] = ACTIONS(858),
    [anon_sym_TILDE] = ACTIONS(858),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1961] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(4794),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(1849),
    [sym_call] = STATE(1849),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1850),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1851),
    [sym__variable] = STATE(1849),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2886),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2888),
    [anon_sym_yield] = ACTIONS(2890),
    [anon_sym_break] = ACTIONS(2892),
    [anon_sym_next] = ACTIONS(2894),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2896),
    [anon_sym_defined_QMARK] = ACTIONS(2898),
    [anon_sym_not] = ACTIONS(2900),
    [anon_sym_BANG] = ACTIONS(2902),
    [anon_sym_TILDE] = ACTIONS(2902),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [1962] = {
    [sym__simple_string] = ACTIONS(3382),
    [sym__simple_heredoc_body] = ACTIONS(3382),
    [sym__string_beginning] = ACTIONS(3382),
    [sym__heredoc_body_beginning] = ACTIONS(3382),
    [sym__element_reference_left_bracket] = ACTIONS(3382),
    [sym__scope_double_colon] = ACTIONS(3382),
    [sym__binary_minus] = ACTIONS(3382),
    [sym__binary_star] = ACTIONS(3382),
    [anon_sym_LBRACE] = ACTIONS(3382),
    [anon_sym_RBRACE] = ACTIONS(3382),
    [anon_sym_RPAREN] = ACTIONS(3382),
    [anon_sym_DOT] = ACTIONS(3384),
    [anon_sym_COMMA] = ACTIONS(3382),
    [anon_sym_PIPE] = ACTIONS(3384),
    [anon_sym_SEMI] = ACTIONS(3382),
    [anon_sym_STAR_STAR] = ACTIONS(3382),
    [anon_sym_AMP] = ACTIONS(3384),
    [anon_sym_EQ] = ACTIONS(3384),
    [anon_sym_LT] = ACTIONS(3384),
    [anon_sym_in] = ACTIONS(3382),
    [anon_sym_do] = ACTIONS(3382),
    [anon_sym_EQ_GT] = ACTIONS(3382),
    [anon_sym_RBRACK] = ACTIONS(3382),
    [anon_sym_AMP_DOT] = ACTIONS(3382),
    [anon_sym_QMARK] = ACTIONS(3384),
    [anon_sym_COLON] = ACTIONS(3382),
    [anon_sym_DOT_DOT] = ACTIONS(3384),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3382),
    [anon_sym_and] = ACTIONS(3382),
    [anon_sym_or] = ACTIONS(3382),
    [anon_sym_PIPE_PIPE] = ACTIONS(3382),
    [anon_sym_AMP_AMP] = ACTIONS(3382),
    [anon_sym_LT_LT] = ACTIONS(3382),
    [anon_sym_GT_GT] = ACTIONS(3382),
    [anon_sym_EQ_EQ] = ACTIONS(3384),
    [anon_sym_BANG_EQ] = ACTIONS(3382),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3382),
    [anon_sym_LT_EQ_GT] = ACTIONS(3382),
    [anon_sym_EQ_TILDE] = ACTIONS(3382),
    [anon_sym_BANG_TILDE] = ACTIONS(3382),
    [anon_sym_LT_EQ] = ACTIONS(3384),
    [anon_sym_GT] = ACTIONS(3384),
    [anon_sym_GT_EQ] = ACTIONS(3382),
    [anon_sym_CARET] = ACTIONS(3382),
    [anon_sym_PLUS] = ACTIONS(3382),
    [anon_sym_SLASH] = ACTIONS(3382),
    [anon_sym_PERCENT] = ACTIONS(3382),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(3384),
  },
  [1963] = {
    [sym_string] = STATE(4795),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_heredoc_body] = ACTIONS(3386),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__heredoc_body_beginning] = ACTIONS(3386),
    [sym__element_reference_left_bracket] = ACTIONS(3386),
    [sym__scope_double_colon] = ACTIONS(3386),
    [sym__binary_minus] = ACTIONS(3386),
    [sym__binary_star] = ACTIONS(3386),
    [anon_sym_LBRACE] = ACTIONS(3386),
    [anon_sym_RBRACE] = ACTIONS(3386),
    [anon_sym_RPAREN] = ACTIONS(3386),
    [anon_sym_DOT] = ACTIONS(3388),
    [anon_sym_COMMA] = ACTIONS(3386),
    [anon_sym_PIPE] = ACTIONS(3388),
    [anon_sym_SEMI] = ACTIONS(3386),
    [anon_sym_STAR_STAR] = ACTIONS(3386),
    [anon_sym_AMP] = ACTIONS(3388),
    [anon_sym_EQ] = ACTIONS(3388),
    [anon_sym_LT] = ACTIONS(3388),
    [anon_sym_in] = ACTIONS(3386),
    [anon_sym_do] = ACTIONS(3386),
    [anon_sym_EQ_GT] = ACTIONS(3386),
    [anon_sym_RBRACK] = ACTIONS(3386),
    [anon_sym_AMP_DOT] = ACTIONS(3386),
    [anon_sym_QMARK] = ACTIONS(3388),
    [anon_sym_COLON] = ACTIONS(3386),
    [anon_sym_DOT_DOT] = ACTIONS(3388),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3386),
    [anon_sym_and] = ACTIONS(3386),
    [anon_sym_or] = ACTIONS(3386),
    [anon_sym_PIPE_PIPE] = ACTIONS(3386),
    [anon_sym_AMP_AMP] = ACTIONS(3386),
    [anon_sym_LT_LT] = ACTIONS(3386),
    [anon_sym_GT_GT] = ACTIONS(3386),
    [anon_sym_EQ_EQ] = ACTIONS(3388),
    [anon_sym_BANG_EQ] = ACTIONS(3386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3386),
    [anon_sym_LT_EQ_GT] = ACTIONS(3386),
    [anon_sym_EQ_TILDE] = ACTIONS(3386),
    [anon_sym_BANG_TILDE] = ACTIONS(3386),
    [anon_sym_LT_EQ] = ACTIONS(3388),
    [anon_sym_GT] = ACTIONS(3388),
    [anon_sym_GT_EQ] = ACTIONS(3386),
    [anon_sym_CARET] = ACTIONS(3386),
    [anon_sym_PLUS] = ACTIONS(3386),
    [anon_sym_SLASH] = ACTIONS(3386),
    [anon_sym_PERCENT] = ACTIONS(3386),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(1626),
  },
  [1964] = {
    [sym__simple_heredoc_body] = ACTIONS(6902),
    [sym__heredoc_body_beginning] = ACTIONS(6902),
    [sym__line_break] = ACTIONS(6902),
    [sym__element_reference_left_bracket] = ACTIONS(6902),
    [sym__scope_double_colon] = ACTIONS(6902),
    [sym__binary_minus] = ACTIONS(6902),
    [sym__binary_star] = ACTIONS(6902),
    [ts_builtin_sym_end] = ACTIONS(6902),
    [anon_sym___END__] = ACTIONS(6902),
    [anon_sym_LBRACE] = ACTIONS(6902),
    [anon_sym_RBRACE] = ACTIONS(6902),
    [anon_sym_RPAREN] = ACTIONS(6902),
    [anon_sym_DOT] = ACTIONS(6904),
    [anon_sym_end] = ACTIONS(6902),
    [anon_sym_COMMA] = ACTIONS(6902),
    [anon_sym_PIPE] = ACTIONS(6904),
    [anon_sym_SEMI] = ACTIONS(6902),
    [anon_sym_STAR_STAR] = ACTIONS(6902),
    [anon_sym_AMP] = ACTIONS(6904),
    [anon_sym_LT] = ACTIONS(6904),
    [anon_sym_if] = ACTIONS(6902),
    [anon_sym_unless] = ACTIONS(6902),
    [anon_sym_while] = ACTIONS(6902),
    [anon_sym_until] = ACTIONS(6902),
    [anon_sym_rescue] = ACTIONS(6902),
    [anon_sym_do] = ACTIONS(6902),
    [anon_sym_when] = ACTIONS(6902),
    [anon_sym_elsif] = ACTIONS(6902),
    [anon_sym_else] = ACTIONS(6902),
    [anon_sym_then] = ACTIONS(6902),
    [anon_sym_ensure] = ACTIONS(6902),
    [anon_sym_EQ_GT] = ACTIONS(6902),
    [anon_sym_AMP_DOT] = ACTIONS(6902),
    [anon_sym_QMARK] = ACTIONS(6902),
    [anon_sym_DOT_DOT] = ACTIONS(6904),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6902),
    [anon_sym_and] = ACTIONS(6902),
    [anon_sym_or] = ACTIONS(6902),
    [anon_sym_PIPE_PIPE] = ACTIONS(6902),
    [anon_sym_AMP_AMP] = ACTIONS(6902),
    [anon_sym_LT_LT] = ACTIONS(6902),
    [anon_sym_GT_GT] = ACTIONS(6902),
    [anon_sym_EQ_EQ] = ACTIONS(6904),
    [anon_sym_BANG_EQ] = ACTIONS(6902),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6902),
    [anon_sym_LT_EQ_GT] = ACTIONS(6902),
    [anon_sym_EQ_TILDE] = ACTIONS(6902),
    [anon_sym_BANG_TILDE] = ACTIONS(6902),
    [anon_sym_LT_EQ] = ACTIONS(6904),
    [anon_sym_GT] = ACTIONS(6904),
    [anon_sym_GT_EQ] = ACTIONS(6902),
    [anon_sym_CARET] = ACTIONS(6902),
    [anon_sym_PLUS] = ACTIONS(6902),
    [anon_sym_SLASH] = ACTIONS(6902),
    [anon_sym_PERCENT] = ACTIONS(6902),
    [sym_comment] = ACTIONS(110),
  },
  [1965] = {
    [sym__formal_parameter] = STATE(4800),
    [sym__simple_formal_parameter] = STATE(1974),
    [sym_destructured_parameter] = STATE(1974),
    [sym_splat_parameter] = STATE(523),
    [sym_hash_splat_parameter] = STATE(523),
    [sym_block_parameter] = STATE(523),
    [sym_keyword_parameter] = STATE(523),
    [sym_optional_parameter] = STATE(523),
    [anon_sym_LPAREN] = ACTIONS(3050),
    [anon_sym_COMMA] = ACTIONS(6906),
    [anon_sym_PIPE] = ACTIONS(6908),
    [anon_sym_SEMI] = ACTIONS(6910),
    [anon_sym_STAR] = ACTIONS(3054),
    [anon_sym_STAR_STAR] = ACTIONS(3056),
    [anon_sym_AMP] = ACTIONS(902),
    [sym_identifier] = ACTIONS(6912),
    [sym_comment] = ACTIONS(110),
  },
  [1966] = {
    [anon_sym_RBRACE] = ACTIONS(6914),
    [sym_comment] = ACTIONS(110),
  },
  [1967] = {
    [sym__statements] = STATE(4802),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(841),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(6914),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1968] = {
    [sym__formal_parameter] = STATE(4803),
    [sym__simple_formal_parameter] = STATE(1974),
    [sym_destructured_parameter] = STATE(1974),
    [sym_splat_parameter] = STATE(523),
    [sym_hash_splat_parameter] = STATE(523),
    [sym_block_parameter] = STATE(523),
    [sym_keyword_parameter] = STATE(523),
    [sym_optional_parameter] = STATE(523),
    [anon_sym_LPAREN] = ACTIONS(3050),
    [anon_sym_STAR] = ACTIONS(3054),
    [anon_sym_STAR_STAR] = ACTIONS(3056),
    [anon_sym_AMP] = ACTIONS(902),
    [sym_identifier] = ACTIONS(3058),
    [sym_comment] = ACTIONS(110),
  },
  [1969] = {
    [anon_sym_LBRACE] = ACTIONS(6916),
    [anon_sym_do] = ACTIONS(6916),
    [sym_comment] = ACTIONS(110),
  },
  [1970] = {
    [anon_sym_RPAREN] = ACTIONS(3060),
    [anon_sym_COMMA] = ACTIONS(3060),
    [anon_sym_PIPE] = ACTIONS(3060),
    [anon_sym_SEMI] = ACTIONS(3060),
    [sym_identifier] = ACTIONS(6918),
    [sym_comment] = ACTIONS(110),
  },
  [1971] = {
    [anon_sym_RPAREN] = ACTIONS(3066),
    [anon_sym_COMMA] = ACTIONS(3066),
    [anon_sym_PIPE] = ACTIONS(3066),
    [anon_sym_SEMI] = ACTIONS(3066),
    [sym_identifier] = ACTIONS(6920),
    [sym_comment] = ACTIONS(110),
  },
  [1972] = {
    [sym__keyword_colon] = ACTIONS(6922),
    [anon_sym_RPAREN] = ACTIONS(3090),
    [anon_sym_COMMA] = ACTIONS(3090),
    [anon_sym_EQ] = ACTIONS(6924),
    [sym_comment] = ACTIONS(256),
  },
  [1973] = {
    [aux_sym_method_parameters_repeat1] = STATE(4808),
    [anon_sym_RPAREN] = ACTIONS(6926),
    [anon_sym_COMMA] = ACTIONS(6928),
    [sym_comment] = ACTIONS(110),
  },
  [1974] = {
    [anon_sym_RPAREN] = ACTIONS(6930),
    [anon_sym_COMMA] = ACTIONS(6930),
    [anon_sym_PIPE] = ACTIONS(6930),
    [anon_sym_SEMI] = ACTIONS(6930),
    [sym_comment] = ACTIONS(110),
  },
  [1975] = {
    [anon_sym_LBRACE] = ACTIONS(6932),
    [anon_sym_RPAREN] = ACTIONS(6932),
    [anon_sym_COMMA] = ACTIONS(6932),
    [anon_sym_PIPE] = ACTIONS(6932),
    [anon_sym_SEMI] = ACTIONS(6932),
    [anon_sym_do] = ACTIONS(6932),
    [sym_comment] = ACTIONS(110),
  },
  [1976] = {
    [anon_sym_LBRACE] = ACTIONS(6934),
    [anon_sym_RPAREN] = ACTIONS(6934),
    [anon_sym_COMMA] = ACTIONS(6934),
    [anon_sym_PIPE] = ACTIONS(6934),
    [anon_sym_SEMI] = ACTIONS(6934),
    [anon_sym_do] = ACTIONS(6934),
    [sym_comment] = ACTIONS(110),
  },
  [1977] = {
    [anon_sym_LBRACE] = ACTIONS(6936),
    [anon_sym_RPAREN] = ACTIONS(6936),
    [anon_sym_COMMA] = ACTIONS(6936),
    [anon_sym_PIPE] = ACTIONS(6936),
    [anon_sym_SEMI] = ACTIONS(6936),
    [anon_sym_do] = ACTIONS(6936),
    [sym_comment] = ACTIONS(110),
  },
  [1978] = {
    [sym_lambda_parameters] = STATE(4811),
    [sym__simple_formal_parameter] = STATE(522),
    [sym_splat_parameter] = STATE(523),
    [sym_hash_splat_parameter] = STATE(523),
    [sym_block_parameter] = STATE(523),
    [sym_keyword_parameter] = STATE(523),
    [sym_optional_parameter] = STATE(523),
    [sym_do_block] = STATE(4812),
    [sym_block] = STATE(4812),
    [anon_sym_LBRACE] = ACTIONS(6938),
    [anon_sym_LPAREN] = ACTIONS(896),
    [anon_sym_STAR] = ACTIONS(898),
    [anon_sym_STAR_STAR] = ACTIONS(900),
    [anon_sym_AMP] = ACTIONS(902),
    [anon_sym_do] = ACTIONS(6940),
    [sym_identifier] = ACTIONS(906),
    [sym_comment] = ACTIONS(110),
  },
  [1979] = {
    [sym__simple_string] = ACTIONS(1398),
    [sym__simple_symbol] = ACTIONS(1398),
    [sym__simple_subshell] = ACTIONS(1398),
    [sym__simple_regex] = ACTIONS(1398),
    [sym__simple_word_list] = ACTIONS(1398),
    [sym__simple_heredoc_body] = ACTIONS(1398),
    [sym__string_beginning] = ACTIONS(1398),
    [sym__symbol_beginning] = ACTIONS(1398),
    [sym__subshell_beginning] = ACTIONS(1398),
    [sym__regex_beginning] = ACTIONS(1398),
    [sym__word_list_beginning] = ACTIONS(1398),
    [sym__heredoc_body_beginning] = ACTIONS(1398),
    [sym_heredoc_beginning] = ACTIONS(1398),
    [sym__line_break] = ACTIONS(1398),
    [sym__unary_minus] = ACTIONS(1398),
    [anon_sym_BEGIN] = ACTIONS(2666),
    [anon_sym_LBRACE] = ACTIONS(1398),
    [anon_sym_END] = ACTIONS(2666),
    [anon_sym_def] = ACTIONS(2666),
    [anon_sym_LPAREN] = ACTIONS(1398),
    [anon_sym_COLON_COLON] = ACTIONS(1398),
    [anon_sym_end] = ACTIONS(2666),
    [anon_sym_PIPE] = ACTIONS(1398),
    [anon_sym_SEMI] = ACTIONS(1398),
    [anon_sym_STAR] = ACTIONS(1398),
    [anon_sym_class] = ACTIONS(2666),
    [anon_sym_module] = ACTIONS(2666),
    [anon_sym_return] = ACTIONS(2666),
    [anon_sym_yield] = ACTIONS(2666),
    [anon_sym_break] = ACTIONS(2666),
    [anon_sym_next] = ACTIONS(2666),
    [anon_sym_redo] = ACTIONS(2666),
    [anon_sym_retry] = ACTIONS(2666),
    [anon_sym_if] = ACTIONS(2666),
    [anon_sym_unless] = ACTIONS(2666),
    [anon_sym_while] = ACTIONS(2666),
    [anon_sym_until] = ACTIONS(2666),
    [anon_sym_for] = ACTIONS(2666),
    [anon_sym_case] = ACTIONS(2666),
    [anon_sym_begin] = ACTIONS(2666),
    [anon_sym_PLUS] = ACTIONS(2666),
    [anon_sym_defined_QMARK] = ACTIONS(1398),
    [anon_sym_not] = ACTIONS(2666),
    [anon_sym_BANG] = ACTIONS(1398),
    [anon_sym_TILDE] = ACTIONS(1398),
    [sym_constant] = ACTIONS(2668),
    [sym_identifier] = ACTIONS(2668),
    [sym_instance_variable] = ACTIONS(2666),
    [sym_class_variable] = ACTIONS(2666),
    [sym_global_variable] = ACTIONS(2666),
    [anon_sym_alias] = ACTIONS(2666),
    [anon_sym_false] = ACTIONS(2666),
    [anon_sym_nil] = ACTIONS(2666),
    [anon_sym_self] = ACTIONS(2666),
    [anon_sym_super] = ACTIONS(2666),
    [anon_sym_true] = ACTIONS(2666),
    [anon_sym_undef] = ACTIONS(2666),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(2666),
    [sym_float] = ACTIONS(2668),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1398),
    [anon_sym_TRUE] = ACTIONS(2666),
    [anon_sym_FALSE] = ACTIONS(2666),
    [anon_sym_NIL] = ACTIONS(2666),
    [sym_keyword__FILE__] = ACTIONS(2666),
    [sym_keyword__LINE__] = ACTIONS(2666),
    [sym_keyword__ENCODING__] = ACTIONS(2666),
    [sym__character_literal] = ACTIONS(2666),
    [anon_sym_LBRACK] = ACTIONS(1398),
    [anon_sym_DASH_GT] = ACTIONS(1398),
  },
  [1980] = {
    [sym__statement] = STATE(4813),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [aux_sym_heredoc_end_repeat1] = STATE(4814),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [1981] = {
    [sym__simple_string] = ACTIONS(2552),
    [sym__simple_symbol] = ACTIONS(2552),
    [sym__simple_subshell] = ACTIONS(2552),
    [sym__simple_regex] = ACTIONS(2552),
    [sym__simple_word_list] = ACTIONS(2552),
    [sym__simple_heredoc_body] = ACTIONS(2552),
    [sym__string_beginning] = ACTIONS(2552),
    [sym__symbol_beginning] = ACTIONS(2552),
    [sym__subshell_beginning] = ACTIONS(2552),
    [sym__regex_beginning] = ACTIONS(2552),
    [sym__word_list_beginning] = ACTIONS(2552),
    [sym__heredoc_body_beginning] = ACTIONS(2552),
    [sym_heredoc_beginning] = ACTIONS(2552),
    [sym__line_break] = ACTIONS(2552),
    [sym__unary_minus] = ACTIONS(2552),
    [anon_sym_BEGIN] = ACTIONS(2670),
    [anon_sym_LBRACE] = ACTIONS(2552),
    [anon_sym_END] = ACTIONS(2670),
    [anon_sym_def] = ACTIONS(2670),
    [anon_sym_LPAREN] = ACTIONS(2552),
    [anon_sym_COLON_COLON] = ACTIONS(2552),
    [anon_sym_end] = ACTIONS(2670),
    [anon_sym_PIPE] = ACTIONS(2552),
    [anon_sym_SEMI] = ACTIONS(2552),
    [anon_sym_STAR] = ACTIONS(2552),
    [anon_sym_class] = ACTIONS(2670),
    [anon_sym_module] = ACTIONS(2670),
    [anon_sym_return] = ACTIONS(2670),
    [anon_sym_yield] = ACTIONS(2670),
    [anon_sym_break] = ACTIONS(2670),
    [anon_sym_next] = ACTIONS(2670),
    [anon_sym_redo] = ACTIONS(2670),
    [anon_sym_retry] = ACTIONS(2670),
    [anon_sym_if] = ACTIONS(2670),
    [anon_sym_unless] = ACTIONS(2670),
    [anon_sym_while] = ACTIONS(2670),
    [anon_sym_until] = ACTIONS(2670),
    [anon_sym_for] = ACTIONS(2670),
    [anon_sym_case] = ACTIONS(2670),
    [anon_sym_begin] = ACTIONS(2670),
    [anon_sym_PLUS] = ACTIONS(2670),
    [anon_sym_defined_QMARK] = ACTIONS(2552),
    [anon_sym_not] = ACTIONS(2670),
    [anon_sym_BANG] = ACTIONS(2552),
    [anon_sym_TILDE] = ACTIONS(2552),
    [sym_constant] = ACTIONS(2672),
    [sym_identifier] = ACTIONS(2672),
    [sym_instance_variable] = ACTIONS(2670),
    [sym_class_variable] = ACTIONS(2670),
    [sym_global_variable] = ACTIONS(2670),
    [anon_sym_alias] = ACTIONS(2670),
    [anon_sym_false] = ACTIONS(2670),
    [anon_sym_nil] = ACTIONS(2670),
    [anon_sym_self] = ACTIONS(2670),
    [anon_sym_super] = ACTIONS(2670),
    [anon_sym_true] = ACTIONS(2670),
    [anon_sym_undef] = ACTIONS(2670),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(2670),
    [sym_float] = ACTIONS(2672),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(2552),
    [anon_sym_TRUE] = ACTIONS(2670),
    [anon_sym_FALSE] = ACTIONS(2670),
    [anon_sym_NIL] = ACTIONS(2670),
    [sym_keyword__FILE__] = ACTIONS(2670),
    [sym_keyword__LINE__] = ACTIONS(2670),
    [sym_keyword__ENCODING__] = ACTIONS(2670),
    [sym__character_literal] = ACTIONS(2670),
    [anon_sym_LBRACK] = ACTIONS(2552),
    [anon_sym_DASH_GT] = ACTIONS(2552),
  },
  [1982] = {
    [sym__simple_heredoc_body] = ACTIONS(6942),
    [sym__heredoc_body_beginning] = ACTIONS(6942),
    [sym__line_break] = ACTIONS(6942),
    [sym__element_reference_left_bracket] = ACTIONS(6942),
    [sym__scope_double_colon] = ACTIONS(6942),
    [sym__binary_minus] = ACTIONS(6942),
    [sym__binary_star] = ACTIONS(6942),
    [ts_builtin_sym_end] = ACTIONS(6942),
    [anon_sym___END__] = ACTIONS(6942),
    [anon_sym_LBRACE] = ACTIONS(6942),
    [anon_sym_RBRACE] = ACTIONS(6942),
    [anon_sym_RPAREN] = ACTIONS(6942),
    [anon_sym_DOT] = ACTIONS(6944),
    [anon_sym_end] = ACTIONS(6942),
    [anon_sym_COMMA] = ACTIONS(6942),
    [anon_sym_PIPE] = ACTIONS(6944),
    [anon_sym_SEMI] = ACTIONS(6942),
    [anon_sym_STAR_STAR] = ACTIONS(6942),
    [anon_sym_AMP] = ACTIONS(6944),
    [anon_sym_LT] = ACTIONS(6944),
    [anon_sym_if] = ACTIONS(6942),
    [anon_sym_unless] = ACTIONS(6942),
    [anon_sym_while] = ACTIONS(6942),
    [anon_sym_until] = ACTIONS(6942),
    [anon_sym_rescue] = ACTIONS(6942),
    [anon_sym_do] = ACTIONS(6942),
    [anon_sym_when] = ACTIONS(6942),
    [anon_sym_elsif] = ACTIONS(6942),
    [anon_sym_else] = ACTIONS(6942),
    [anon_sym_then] = ACTIONS(6942),
    [anon_sym_ensure] = ACTIONS(6942),
    [anon_sym_EQ_GT] = ACTIONS(6942),
    [anon_sym_AMP_DOT] = ACTIONS(6942),
    [anon_sym_QMARK] = ACTIONS(6942),
    [anon_sym_DOT_DOT] = ACTIONS(6944),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6942),
    [anon_sym_and] = ACTIONS(6942),
    [anon_sym_or] = ACTIONS(6942),
    [anon_sym_PIPE_PIPE] = ACTIONS(6942),
    [anon_sym_AMP_AMP] = ACTIONS(6942),
    [anon_sym_LT_LT] = ACTIONS(6942),
    [anon_sym_GT_GT] = ACTIONS(6942),
    [anon_sym_EQ_EQ] = ACTIONS(6944),
    [anon_sym_BANG_EQ] = ACTIONS(6942),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6942),
    [anon_sym_LT_EQ_GT] = ACTIONS(6942),
    [anon_sym_EQ_TILDE] = ACTIONS(6942),
    [anon_sym_BANG_TILDE] = ACTIONS(6942),
    [anon_sym_LT_EQ] = ACTIONS(6944),
    [anon_sym_GT] = ACTIONS(6944),
    [anon_sym_GT_EQ] = ACTIONS(6942),
    [anon_sym_CARET] = ACTIONS(6942),
    [anon_sym_PLUS] = ACTIONS(6942),
    [anon_sym_SLASH] = ACTIONS(6942),
    [anon_sym_PERCENT] = ACTIONS(6942),
    [sym_comment] = ACTIONS(110),
  },
  [1983] = {
    [sym__formal_parameter] = STATE(4818),
    [sym__simple_formal_parameter] = STATE(1974),
    [sym_destructured_parameter] = STATE(1974),
    [sym_splat_parameter] = STATE(523),
    [sym_hash_splat_parameter] = STATE(523),
    [sym_block_parameter] = STATE(523),
    [sym_keyword_parameter] = STATE(523),
    [sym_optional_parameter] = STATE(523),
    [anon_sym_LPAREN] = ACTIONS(3050),
    [anon_sym_COMMA] = ACTIONS(6946),
    [anon_sym_PIPE] = ACTIONS(6948),
    [anon_sym_SEMI] = ACTIONS(6950),
    [anon_sym_STAR] = ACTIONS(3054),
    [anon_sym_STAR_STAR] = ACTIONS(3056),
    [anon_sym_AMP] = ACTIONS(902),
    [sym_identifier] = ACTIONS(6912),
    [sym_comment] = ACTIONS(110),
  },
  [1984] = {
    [sym__simple_string] = ACTIONS(2552),
    [sym__simple_symbol] = ACTIONS(2552),
    [sym__simple_subshell] = ACTIONS(2552),
    [sym__simple_regex] = ACTIONS(2552),
    [sym__simple_word_list] = ACTIONS(2552),
    [sym__simple_heredoc_body] = ACTIONS(2552),
    [sym__string_beginning] = ACTIONS(2552),
    [sym__symbol_beginning] = ACTIONS(2552),
    [sym__subshell_beginning] = ACTIONS(2552),
    [sym__regex_beginning] = ACTIONS(2552),
    [sym__word_list_beginning] = ACTIONS(2552),
    [sym__heredoc_body_beginning] = ACTIONS(2552),
    [sym_heredoc_beginning] = ACTIONS(2552),
    [sym__line_break] = ACTIONS(2552),
    [sym__unary_minus] = ACTIONS(2552),
    [anon_sym_BEGIN] = ACTIONS(2670),
    [anon_sym_LBRACE] = ACTIONS(2552),
    [anon_sym_END] = ACTIONS(2670),
    [anon_sym_def] = ACTIONS(2670),
    [anon_sym_LPAREN] = ACTIONS(2552),
    [anon_sym_COLON_COLON] = ACTIONS(2552),
    [anon_sym_end] = ACTIONS(2670),
    [anon_sym_PIPE] = ACTIONS(2552),
    [anon_sym_SEMI] = ACTIONS(2552),
    [anon_sym_STAR] = ACTIONS(2552),
    [anon_sym_class] = ACTIONS(2670),
    [anon_sym_module] = ACTIONS(2670),
    [anon_sym_return] = ACTIONS(2670),
    [anon_sym_yield] = ACTIONS(2670),
    [anon_sym_break] = ACTIONS(2670),
    [anon_sym_next] = ACTIONS(2670),
    [anon_sym_redo] = ACTIONS(2670),
    [anon_sym_retry] = ACTIONS(2670),
    [anon_sym_if] = ACTIONS(2670),
    [anon_sym_unless] = ACTIONS(2670),
    [anon_sym_while] = ACTIONS(2670),
    [anon_sym_until] = ACTIONS(2670),
    [anon_sym_rescue] = ACTIONS(6398),
    [anon_sym_for] = ACTIONS(2670),
    [anon_sym_case] = ACTIONS(2670),
    [anon_sym_begin] = ACTIONS(2670),
    [anon_sym_PLUS] = ACTIONS(2670),
    [anon_sym_defined_QMARK] = ACTIONS(2552),
    [anon_sym_not] = ACTIONS(2670),
    [anon_sym_BANG] = ACTIONS(2552),
    [anon_sym_TILDE] = ACTIONS(2552),
    [sym_constant] = ACTIONS(2672),
    [sym_identifier] = ACTIONS(2672),
    [sym_instance_variable] = ACTIONS(2670),
    [sym_class_variable] = ACTIONS(2670),
    [sym_global_variable] = ACTIONS(2670),
    [anon_sym_alias] = ACTIONS(2670),
    [anon_sym_false] = ACTIONS(2670),
    [anon_sym_nil] = ACTIONS(2670),
    [anon_sym_self] = ACTIONS(2670),
    [anon_sym_super] = ACTIONS(2670),
    [anon_sym_true] = ACTIONS(2670),
    [anon_sym_undef] = ACTIONS(2670),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(2670),
    [sym_float] = ACTIONS(2672),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(2552),
    [anon_sym_TRUE] = ACTIONS(2670),
    [anon_sym_FALSE] = ACTIONS(2670),
    [anon_sym_NIL] = ACTIONS(2670),
    [sym_keyword__FILE__] = ACTIONS(2670),
    [sym_keyword__LINE__] = ACTIONS(2670),
    [sym_keyword__ENCODING__] = ACTIONS(2670),
    [sym__character_literal] = ACTIONS(2670),
    [anon_sym_LBRACK] = ACTIONS(2552),
    [anon_sym_DASH_GT] = ACTIONS(2552),
  },
  [1985] = {
    [anon_sym_end] = ACTIONS(6952),
    [sym_comment] = ACTIONS(110),
  },
  [1986] = {
    [sym__statements] = STATE(4821),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(4822),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(6954),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1987] = {
    [sym__statements] = STATE(4821),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(4823),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(4822),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(6954),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1988] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(4832),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(4833),
    [sym_call] = STATE(4833),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(4834),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4835),
    [sym__variable] = STATE(4833),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(6958),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_COMMA] = ACTIONS(6960),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(6962),
    [anon_sym_yield] = ACTIONS(6964),
    [anon_sym_break] = ACTIONS(6966),
    [anon_sym_next] = ACTIONS(6968),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_do] = ACTIONS(6970),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(6972),
    [anon_sym_defined_QMARK] = ACTIONS(6974),
    [anon_sym_not] = ACTIONS(6976),
    [anon_sym_BANG] = ACTIONS(6978),
    [anon_sym_TILDE] = ACTIONS(6978),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [1989] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(4836),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(4833),
    [sym_call] = STATE(4833),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(4834),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4835),
    [sym__variable] = STATE(4833),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(6958),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(6962),
    [anon_sym_yield] = ACTIONS(6964),
    [anon_sym_break] = ACTIONS(6966),
    [anon_sym_next] = ACTIONS(6968),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(6972),
    [anon_sym_defined_QMARK] = ACTIONS(6974),
    [anon_sym_not] = ACTIONS(6976),
    [anon_sym_BANG] = ACTIONS(6978),
    [anon_sym_TILDE] = ACTIONS(6978),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [1990] = {
    [sym__simple_heredoc_body] = ACTIONS(6980),
    [sym__heredoc_body_beginning] = ACTIONS(6980),
    [sym__line_break] = ACTIONS(6980),
    [sym__element_reference_left_bracket] = ACTIONS(6980),
    [sym__scope_double_colon] = ACTIONS(6980),
    [sym__binary_minus] = ACTIONS(6980),
    [sym__binary_star] = ACTIONS(6980),
    [ts_builtin_sym_end] = ACTIONS(6980),
    [anon_sym___END__] = ACTIONS(6980),
    [anon_sym_LBRACE] = ACTIONS(6980),
    [anon_sym_RBRACE] = ACTIONS(6980),
    [anon_sym_RPAREN] = ACTIONS(6980),
    [anon_sym_DOT] = ACTIONS(6982),
    [anon_sym_end] = ACTIONS(6980),
    [anon_sym_COMMA] = ACTIONS(6980),
    [anon_sym_PIPE] = ACTIONS(6982),
    [anon_sym_SEMI] = ACTIONS(6980),
    [anon_sym_STAR_STAR] = ACTIONS(6980),
    [anon_sym_AMP] = ACTIONS(6982),
    [anon_sym_LT] = ACTIONS(6982),
    [anon_sym_if] = ACTIONS(6980),
    [anon_sym_unless] = ACTIONS(6980),
    [anon_sym_while] = ACTIONS(6980),
    [anon_sym_until] = ACTIONS(6980),
    [anon_sym_rescue] = ACTIONS(6980),
    [anon_sym_do] = ACTIONS(6980),
    [anon_sym_when] = ACTIONS(6980),
    [anon_sym_elsif] = ACTIONS(6980),
    [anon_sym_else] = ACTIONS(6980),
    [anon_sym_then] = ACTIONS(6980),
    [anon_sym_ensure] = ACTIONS(6980),
    [anon_sym_EQ_GT] = ACTIONS(6980),
    [anon_sym_AMP_DOT] = ACTIONS(6980),
    [anon_sym_QMARK] = ACTIONS(6980),
    [anon_sym_DOT_DOT] = ACTIONS(6982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6980),
    [anon_sym_and] = ACTIONS(6980),
    [anon_sym_or] = ACTIONS(6980),
    [anon_sym_PIPE_PIPE] = ACTIONS(6980),
    [anon_sym_AMP_AMP] = ACTIONS(6980),
    [anon_sym_LT_LT] = ACTIONS(6980),
    [anon_sym_GT_GT] = ACTIONS(6980),
    [anon_sym_EQ_EQ] = ACTIONS(6982),
    [anon_sym_BANG_EQ] = ACTIONS(6980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6980),
    [anon_sym_LT_EQ_GT] = ACTIONS(6980),
    [anon_sym_EQ_TILDE] = ACTIONS(6980),
    [anon_sym_BANG_TILDE] = ACTIONS(6980),
    [anon_sym_LT_EQ] = ACTIONS(6982),
    [anon_sym_GT] = ACTIONS(6982),
    [anon_sym_GT_EQ] = ACTIONS(6980),
    [anon_sym_CARET] = ACTIONS(6980),
    [anon_sym_PLUS] = ACTIONS(6980),
    [anon_sym_SLASH] = ACTIONS(6980),
    [anon_sym_PERCENT] = ACTIONS(6980),
    [sym_comment] = ACTIONS(110),
  },
  [1991] = {
    [sym__simple_formal_parameter] = STATE(4837),
    [sym_splat_parameter] = STATE(523),
    [sym_hash_splat_parameter] = STATE(523),
    [sym_block_parameter] = STATE(523),
    [sym_keyword_parameter] = STATE(523),
    [sym_optional_parameter] = STATE(523),
    [anon_sym_STAR] = ACTIONS(898),
    [anon_sym_STAR_STAR] = ACTIONS(900),
    [anon_sym_AMP] = ACTIONS(902),
    [sym_identifier] = ACTIONS(6984),
    [sym_comment] = ACTIONS(110),
  },
  [1992] = {
    [anon_sym_LBRACE] = ACTIONS(6916),
    [anon_sym_COMMA] = ACTIONS(6986),
    [anon_sym_do] = ACTIONS(6916),
    [sym_comment] = ACTIONS(110),
  },
  [1993] = {
    [ts_builtin_sym_end] = ACTIONS(6988),
    [sym_comment] = ACTIONS(110),
  },
  [1994] = {
    [sym__heredoc_body_middle] = ACTIONS(4108),
    [sym__heredoc_body_end] = ACTIONS(6990),
    [anon_sym_if] = ACTIONS(4112),
    [anon_sym_unless] = ACTIONS(4114),
    [anon_sym_while] = ACTIONS(4116),
    [anon_sym_until] = ACTIONS(4118),
    [anon_sym_rescue] = ACTIONS(4120),
    [sym_comment] = ACTIONS(110),
  },
  [1995] = {
    [sym__statement] = STATE(4840),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [1996] = {
    [sym__simple_heredoc_body] = ACTIONS(6992),
    [sym__heredoc_body_beginning] = ACTIONS(6992),
    [sym__line_break] = ACTIONS(6992),
    [ts_builtin_sym_end] = ACTIONS(6992),
    [anon_sym___END__] = ACTIONS(6992),
    [anon_sym_RBRACE] = ACTIONS(6992),
    [anon_sym_RPAREN] = ACTIONS(6992),
    [anon_sym_end] = ACTIONS(6992),
    [anon_sym_SEMI] = ACTIONS(6992),
    [anon_sym_rescue] = ACTIONS(6992),
    [anon_sym_when] = ACTIONS(6992),
    [anon_sym_elsif] = ACTIONS(6992),
    [anon_sym_else] = ACTIONS(6992),
    [anon_sym_ensure] = ACTIONS(6992),
    [sym_comment] = ACTIONS(110),
  },
  [1997] = {
    [sym__top_level_statement] = STATE(4841),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(57),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(59),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(64),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(68),
    [sym__variable] = STATE(62),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(32),
    [ts_builtin_sym_end] = ACTIONS(6994),
    [anon_sym___END__] = ACTIONS(6996),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(84),
    [anon_sym_defined_QMARK] = ACTIONS(86),
    [anon_sym_not] = ACTIONS(88),
    [anon_sym_BANG] = ACTIONS(90),
    [anon_sym_TILDE] = ACTIONS(90),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [1998] = {
    [sym__simple_heredoc_body] = ACTIONS(6998),
    [sym__heredoc_body_beginning] = ACTIONS(6998),
    [sym__line_break] = ACTIONS(6998),
    [sym__binary_minus] = ACTIONS(936),
    [sym__binary_star] = ACTIONS(938),
    [ts_builtin_sym_end] = ACTIONS(6998),
    [anon_sym___END__] = ACTIONS(6998),
    [anon_sym_PIPE] = ACTIONS(940),
    [anon_sym_SEMI] = ACTIONS(6998),
    [anon_sym_STAR_STAR] = ACTIONS(942),
    [anon_sym_AMP] = ACTIONS(944),
    [anon_sym_LT] = ACTIONS(946),
    [anon_sym_if] = ACTIONS(6998),
    [anon_sym_unless] = ACTIONS(6998),
    [anon_sym_while] = ACTIONS(6998),
    [anon_sym_until] = ACTIONS(6998),
    [anon_sym_rescue] = ACTIONS(6998),
    [anon_sym_QMARK] = ACTIONS(948),
    [anon_sym_DOT_DOT] = ACTIONS(950),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(952),
    [anon_sym_and] = ACTIONS(954),
    [anon_sym_or] = ACTIONS(954),
    [anon_sym_PIPE_PIPE] = ACTIONS(956),
    [anon_sym_AMP_AMP] = ACTIONS(956),
    [anon_sym_LT_LT] = ACTIONS(958),
    [anon_sym_GT_GT] = ACTIONS(958),
    [anon_sym_EQ_EQ] = ACTIONS(960),
    [anon_sym_BANG_EQ] = ACTIONS(956),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(956),
    [anon_sym_LT_EQ_GT] = ACTIONS(956),
    [anon_sym_EQ_TILDE] = ACTIONS(956),
    [anon_sym_BANG_TILDE] = ACTIONS(956),
    [anon_sym_LT_EQ] = ACTIONS(946),
    [anon_sym_GT] = ACTIONS(946),
    [anon_sym_GT_EQ] = ACTIONS(962),
    [anon_sym_CARET] = ACTIONS(964),
    [anon_sym_PLUS] = ACTIONS(966),
    [anon_sym_SLASH] = ACTIONS(942),
    [anon_sym_PERCENT] = ACTIONS(942),
    [sym_comment] = ACTIONS(110),
  },
  [1999] = {
    [sym__simple_heredoc_body] = ACTIONS(7000),
    [sym__heredoc_body_beginning] = ACTIONS(7000),
    [sym__line_break] = ACTIONS(7000),
    [sym__binary_minus] = ACTIONS(936),
    [sym__binary_star] = ACTIONS(938),
    [ts_builtin_sym_end] = ACTIONS(7000),
    [anon_sym___END__] = ACTIONS(7000),
    [anon_sym_PIPE] = ACTIONS(940),
    [anon_sym_SEMI] = ACTIONS(7000),
    [anon_sym_STAR_STAR] = ACTIONS(942),
    [anon_sym_AMP] = ACTIONS(944),
    [anon_sym_LT] = ACTIONS(946),
    [anon_sym_if] = ACTIONS(7000),
    [anon_sym_unless] = ACTIONS(7000),
    [anon_sym_while] = ACTIONS(7000),
    [anon_sym_until] = ACTIONS(7000),
    [anon_sym_rescue] = ACTIONS(7000),
    [anon_sym_QMARK] = ACTIONS(948),
    [anon_sym_DOT_DOT] = ACTIONS(950),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(952),
    [anon_sym_and] = ACTIONS(954),
    [anon_sym_or] = ACTIONS(954),
    [anon_sym_PIPE_PIPE] = ACTIONS(956),
    [anon_sym_AMP_AMP] = ACTIONS(956),
    [anon_sym_LT_LT] = ACTIONS(958),
    [anon_sym_GT_GT] = ACTIONS(958),
    [anon_sym_EQ_EQ] = ACTIONS(960),
    [anon_sym_BANG_EQ] = ACTIONS(956),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(956),
    [anon_sym_LT_EQ_GT] = ACTIONS(956),
    [anon_sym_EQ_TILDE] = ACTIONS(956),
    [anon_sym_BANG_TILDE] = ACTIONS(956),
    [anon_sym_LT_EQ] = ACTIONS(946),
    [anon_sym_GT] = ACTIONS(946),
    [anon_sym_GT_EQ] = ACTIONS(962),
    [anon_sym_CARET] = ACTIONS(964),
    [anon_sym_PLUS] = ACTIONS(966),
    [anon_sym_SLASH] = ACTIONS(942),
    [anon_sym_PERCENT] = ACTIONS(942),
    [sym_comment] = ACTIONS(110),
  },
  [2000] = {
    [sym__simple_heredoc_body] = ACTIONS(7002),
    [sym__heredoc_body_beginning] = ACTIONS(7002),
    [sym__line_break] = ACTIONS(7002),
    [sym__binary_minus] = ACTIONS(936),
    [sym__binary_star] = ACTIONS(938),
    [ts_builtin_sym_end] = ACTIONS(7002),
    [anon_sym___END__] = ACTIONS(7002),
    [anon_sym_PIPE] = ACTIONS(940),
    [anon_sym_SEMI] = ACTIONS(7002),
    [anon_sym_STAR_STAR] = ACTIONS(942),
    [anon_sym_AMP] = ACTIONS(944),
    [anon_sym_LT] = ACTIONS(946),
    [anon_sym_if] = ACTIONS(7002),
    [anon_sym_unless] = ACTIONS(7002),
    [anon_sym_while] = ACTIONS(7002),
    [anon_sym_until] = ACTIONS(7002),
    [anon_sym_rescue] = ACTIONS(7002),
    [anon_sym_QMARK] = ACTIONS(948),
    [anon_sym_DOT_DOT] = ACTIONS(950),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(952),
    [anon_sym_and] = ACTIONS(954),
    [anon_sym_or] = ACTIONS(954),
    [anon_sym_PIPE_PIPE] = ACTIONS(956),
    [anon_sym_AMP_AMP] = ACTIONS(956),
    [anon_sym_LT_LT] = ACTIONS(958),
    [anon_sym_GT_GT] = ACTIONS(958),
    [anon_sym_EQ_EQ] = ACTIONS(960),
    [anon_sym_BANG_EQ] = ACTIONS(956),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(956),
    [anon_sym_LT_EQ_GT] = ACTIONS(956),
    [anon_sym_EQ_TILDE] = ACTIONS(956),
    [anon_sym_BANG_TILDE] = ACTIONS(956),
    [anon_sym_LT_EQ] = ACTIONS(946),
    [anon_sym_GT] = ACTIONS(946),
    [anon_sym_GT_EQ] = ACTIONS(962),
    [anon_sym_CARET] = ACTIONS(964),
    [anon_sym_PLUS] = ACTIONS(966),
    [anon_sym_SLASH] = ACTIONS(942),
    [anon_sym_PERCENT] = ACTIONS(942),
    [sym_comment] = ACTIONS(110),
  },
  [2001] = {
    [sym__simple_heredoc_body] = ACTIONS(7004),
    [sym__heredoc_body_beginning] = ACTIONS(7004),
    [sym__line_break] = ACTIONS(7004),
    [sym__binary_minus] = ACTIONS(936),
    [sym__binary_star] = ACTIONS(938),
    [ts_builtin_sym_end] = ACTIONS(7004),
    [anon_sym___END__] = ACTIONS(7004),
    [anon_sym_PIPE] = ACTIONS(940),
    [anon_sym_SEMI] = ACTIONS(7004),
    [anon_sym_STAR_STAR] = ACTIONS(942),
    [anon_sym_AMP] = ACTIONS(944),
    [anon_sym_LT] = ACTIONS(946),
    [anon_sym_if] = ACTIONS(7004),
    [anon_sym_unless] = ACTIONS(7004),
    [anon_sym_while] = ACTIONS(7004),
    [anon_sym_until] = ACTIONS(7004),
    [anon_sym_rescue] = ACTIONS(7004),
    [anon_sym_QMARK] = ACTIONS(948),
    [anon_sym_DOT_DOT] = ACTIONS(950),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(952),
    [anon_sym_and] = ACTIONS(954),
    [anon_sym_or] = ACTIONS(954),
    [anon_sym_PIPE_PIPE] = ACTIONS(956),
    [anon_sym_AMP_AMP] = ACTIONS(956),
    [anon_sym_LT_LT] = ACTIONS(958),
    [anon_sym_GT_GT] = ACTIONS(958),
    [anon_sym_EQ_EQ] = ACTIONS(960),
    [anon_sym_BANG_EQ] = ACTIONS(956),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(956),
    [anon_sym_LT_EQ_GT] = ACTIONS(956),
    [anon_sym_EQ_TILDE] = ACTIONS(956),
    [anon_sym_BANG_TILDE] = ACTIONS(956),
    [anon_sym_LT_EQ] = ACTIONS(946),
    [anon_sym_GT] = ACTIONS(946),
    [anon_sym_GT_EQ] = ACTIONS(962),
    [anon_sym_CARET] = ACTIONS(964),
    [anon_sym_PLUS] = ACTIONS(966),
    [anon_sym_SLASH] = ACTIONS(942),
    [anon_sym_PERCENT] = ACTIONS(942),
    [sym_comment] = ACTIONS(110),
  },
  [2002] = {
    [sym__simple_heredoc_body] = ACTIONS(7006),
    [sym__heredoc_body_beginning] = ACTIONS(7006),
    [sym__line_break] = ACTIONS(7006),
    [sym__binary_minus] = ACTIONS(936),
    [sym__binary_star] = ACTIONS(938),
    [ts_builtin_sym_end] = ACTIONS(7006),
    [anon_sym___END__] = ACTIONS(7006),
    [anon_sym_PIPE] = ACTIONS(940),
    [anon_sym_SEMI] = ACTIONS(7006),
    [anon_sym_STAR_STAR] = ACTIONS(942),
    [anon_sym_AMP] = ACTIONS(944),
    [anon_sym_LT] = ACTIONS(946),
    [anon_sym_if] = ACTIONS(7006),
    [anon_sym_unless] = ACTIONS(7006),
    [anon_sym_while] = ACTIONS(7006),
    [anon_sym_until] = ACTIONS(7006),
    [anon_sym_rescue] = ACTIONS(7006),
    [anon_sym_QMARK] = ACTIONS(948),
    [anon_sym_DOT_DOT] = ACTIONS(950),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(952),
    [anon_sym_and] = ACTIONS(954),
    [anon_sym_or] = ACTIONS(954),
    [anon_sym_PIPE_PIPE] = ACTIONS(956),
    [anon_sym_AMP_AMP] = ACTIONS(956),
    [anon_sym_LT_LT] = ACTIONS(958),
    [anon_sym_GT_GT] = ACTIONS(958),
    [anon_sym_EQ_EQ] = ACTIONS(960),
    [anon_sym_BANG_EQ] = ACTIONS(956),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(956),
    [anon_sym_LT_EQ_GT] = ACTIONS(956),
    [anon_sym_EQ_TILDE] = ACTIONS(956),
    [anon_sym_BANG_TILDE] = ACTIONS(956),
    [anon_sym_LT_EQ] = ACTIONS(946),
    [anon_sym_GT] = ACTIONS(946),
    [anon_sym_GT_EQ] = ACTIONS(962),
    [anon_sym_CARET] = ACTIONS(964),
    [anon_sym_PLUS] = ACTIONS(966),
    [anon_sym_SLASH] = ACTIONS(942),
    [anon_sym_PERCENT] = ACTIONS(942),
    [sym_comment] = ACTIONS(110),
  },
  [2003] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__line_break] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(938),
    [ts_builtin_sym_end] = ACTIONS(7008),
    [anon_sym___END__] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_SEMI] = ACTIONS(7008),
    [anon_sym_STAR_STAR] = ACTIONS(942),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_if] = ACTIONS(7008),
    [anon_sym_unless] = ACTIONS(7008),
    [anon_sym_while] = ACTIONS(7008),
    [anon_sym_until] = ACTIONS(7008),
    [anon_sym_rescue] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7008),
    [anon_sym_AMP_AMP] = ACTIONS(7008),
    [anon_sym_LT_LT] = ACTIONS(7008),
    [anon_sym_GT_GT] = ACTIONS(7008),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7008),
    [anon_sym_PLUS] = ACTIONS(7008),
    [anon_sym_SLASH] = ACTIONS(942),
    [anon_sym_PERCENT] = ACTIONS(942),
    [sym_comment] = ACTIONS(110),
  },
  [2004] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__line_break] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [ts_builtin_sym_end] = ACTIONS(7012),
    [anon_sym___END__] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_SEMI] = ACTIONS(7012),
    [anon_sym_STAR_STAR] = ACTIONS(942),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_if] = ACTIONS(7012),
    [anon_sym_unless] = ACTIONS(7012),
    [anon_sym_while] = ACTIONS(7012),
    [anon_sym_until] = ACTIONS(7012),
    [anon_sym_rescue] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7012),
    [anon_sym_AMP_AMP] = ACTIONS(7012),
    [anon_sym_LT_LT] = ACTIONS(7012),
    [anon_sym_GT_GT] = ACTIONS(7012),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7012),
    [anon_sym_PLUS] = ACTIONS(7012),
    [anon_sym_SLASH] = ACTIONS(7012),
    [anon_sym_PERCENT] = ACTIONS(7012),
    [sym_comment] = ACTIONS(110),
  },
  [2005] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(936),
    [sym__binary_star] = ACTIONS(938),
    [ts_builtin_sym_end] = ACTIONS(7016),
    [anon_sym___END__] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(942),
    [anon_sym_AMP] = ACTIONS(944),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(958),
    [anon_sym_GT_GT] = ACTIONS(958),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(966),
    [anon_sym_SLASH] = ACTIONS(942),
    [anon_sym_PERCENT] = ACTIONS(942),
    [sym_comment] = ACTIONS(110),
  },
  [2006] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [ts_builtin_sym_end] = ACTIONS(7016),
    [anon_sym___END__] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(942),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7016),
    [anon_sym_PERCENT] = ACTIONS(7016),
    [sym_comment] = ACTIONS(110),
  },
  [2007] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(936),
    [sym__binary_star] = ACTIONS(938),
    [ts_builtin_sym_end] = ACTIONS(7016),
    [anon_sym___END__] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(942),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(958),
    [anon_sym_GT_GT] = ACTIONS(958),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(966),
    [anon_sym_SLASH] = ACTIONS(942),
    [anon_sym_PERCENT] = ACTIONS(942),
    [sym_comment] = ACTIONS(110),
  },
  [2008] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(936),
    [sym__binary_star] = ACTIONS(938),
    [ts_builtin_sym_end] = ACTIONS(7016),
    [anon_sym___END__] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(940),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(942),
    [anon_sym_AMP] = ACTIONS(944),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(958),
    [anon_sym_GT_GT] = ACTIONS(958),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(964),
    [anon_sym_PLUS] = ACTIONS(966),
    [anon_sym_SLASH] = ACTIONS(942),
    [anon_sym_PERCENT] = ACTIONS(942),
    [sym_comment] = ACTIONS(110),
  },
  [2009] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(4842),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [2010] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(4856),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4857),
    [sym_call] = STATE(4857),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1002),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(4858),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4859),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4860),
    [sym__variable] = STATE(4857),
    [sym_reserved_identifier] = STATE(4861),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(4862),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(7020),
    [sym__splat_star] = ACTIONS(7022),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(7024),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(7026),
    [anon_sym_yield] = ACTIONS(7028),
    [anon_sym_break] = ACTIONS(7030),
    [anon_sym_next] = ACTIONS(7032),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_COLON] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(7034),
    [anon_sym_not] = ACTIONS(7036),
    [anon_sym_BANG] = ACTIONS(7038),
    [anon_sym_TILDE] = ACTIONS(7040),
    [sym_constant] = ACTIONS(7042),
    [sym_identifier] = ACTIONS(7042),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2011] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(4856),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4857),
    [sym_call] = STATE(4857),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1011),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(4858),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4859),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4860),
    [sym__variable] = STATE(4857),
    [sym_reserved_identifier] = STATE(4861),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(4862),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(7020),
    [sym__splat_star] = ACTIONS(7022),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(7024),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(7026),
    [anon_sym_yield] = ACTIONS(7028),
    [anon_sym_break] = ACTIONS(7030),
    [anon_sym_next] = ACTIONS(7032),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_COLON] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(7034),
    [anon_sym_not] = ACTIONS(7036),
    [anon_sym_BANG] = ACTIONS(7038),
    [anon_sym_TILDE] = ACTIONS(7040),
    [sym_constant] = ACTIONS(7042),
    [sym_identifier] = ACTIONS(7042),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2012] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(4856),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4857),
    [sym_call] = STATE(4857),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1012),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(4858),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4859),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4860),
    [sym__variable] = STATE(4857),
    [sym_reserved_identifier] = STATE(4861),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(4862),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(7020),
    [sym__splat_star] = ACTIONS(7022),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(7024),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(7026),
    [anon_sym_yield] = ACTIONS(7028),
    [anon_sym_break] = ACTIONS(7030),
    [anon_sym_next] = ACTIONS(7032),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_COLON] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(7034),
    [anon_sym_not] = ACTIONS(7036),
    [anon_sym_BANG] = ACTIONS(7038),
    [anon_sym_TILDE] = ACTIONS(7040),
    [sym_constant] = ACTIONS(7042),
    [sym_identifier] = ACTIONS(7042),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2013] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(4856),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4857),
    [sym_call] = STATE(4857),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1013),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(4858),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4859),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4860),
    [sym__variable] = STATE(4857),
    [sym_reserved_identifier] = STATE(4861),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(4862),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(7020),
    [sym__splat_star] = ACTIONS(7022),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(7024),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(7026),
    [anon_sym_yield] = ACTIONS(7028),
    [anon_sym_break] = ACTIONS(7030),
    [anon_sym_next] = ACTIONS(7032),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_COLON] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(7034),
    [anon_sym_not] = ACTIONS(7036),
    [anon_sym_BANG] = ACTIONS(7038),
    [anon_sym_TILDE] = ACTIONS(7040),
    [sym_constant] = ACTIONS(7042),
    [sym_identifier] = ACTIONS(7042),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2014] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(4863),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [2015] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(4864),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [2016] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(1027),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [2017] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(7058),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [2018] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(4891),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4892),
    [sym_call] = STATE(4892),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(3236),
    [sym__argument_list_with_parens] = STATE(2959),
    [sym__argument] = STATE(4893),
    [sym_splat_argument] = STATE(2961),
    [sym_hash_splat_argument] = STATE(2961),
    [sym_block_argument] = STATE(2961),
    [sym_do_block] = STATE(3238),
    [sym_block] = STATE(3238),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4894),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4895),
    [sym__variable] = STATE(4892),
    [sym_reserved_identifier] = STATE(4896),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(4897),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(2961),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(7078),
    [sym__splat_star] = ACTIONS(7080),
    [sym__argument_list_left_paren] = ACTIONS(4330),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(7082),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(4662),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(7084),
    [anon_sym_yield] = ACTIONS(7086),
    [anon_sym_break] = ACTIONS(7088),
    [anon_sym_next] = ACTIONS(7090),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(4672),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_COLON] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(7092),
    [anon_sym_not] = ACTIONS(7094),
    [anon_sym_BANG] = ACTIONS(7096),
    [anon_sym_TILDE] = ACTIONS(7098),
    [sym_constant] = ACTIONS(7100),
    [sym_identifier] = ACTIONS(7100),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [2019] = {
    [anon_sym_EQ] = ACTIONS(7102),
    [sym_comment] = ACTIONS(256),
  },
  [2020] = {
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(1076),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(7104),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(7106),
    [anon_sym_DASH_EQ] = ACTIONS(7106),
    [anon_sym_STAR_EQ] = ACTIONS(7106),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7106),
    [anon_sym_SLASH_EQ] = ACTIONS(7106),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7106),
    [anon_sym_PIPE_EQ] = ACTIONS(7106),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7106),
    [anon_sym_AMP_EQ] = ACTIONS(7106),
    [anon_sym_PERCENT_EQ] = ACTIONS(7106),
    [anon_sym_GT_GT_EQ] = ACTIONS(7106),
    [anon_sym_LT_LT_EQ] = ACTIONS(7106),
    [anon_sym_CARET_EQ] = ACTIONS(7106),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_COLON] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [2021] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__line_break] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(936),
    [sym__binary_star] = ACTIONS(938),
    [ts_builtin_sym_end] = ACTIONS(7108),
    [anon_sym___END__] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(940),
    [anon_sym_SEMI] = ACTIONS(7108),
    [anon_sym_STAR_STAR] = ACTIONS(942),
    [anon_sym_AMP] = ACTIONS(944),
    [anon_sym_LT] = ACTIONS(946),
    [anon_sym_if] = ACTIONS(7108),
    [anon_sym_unless] = ACTIONS(7108),
    [anon_sym_while] = ACTIONS(7108),
    [anon_sym_until] = ACTIONS(7108),
    [anon_sym_rescue] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(950),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(952),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(956),
    [anon_sym_AMP_AMP] = ACTIONS(956),
    [anon_sym_LT_LT] = ACTIONS(958),
    [anon_sym_GT_GT] = ACTIONS(958),
    [anon_sym_EQ_EQ] = ACTIONS(960),
    [anon_sym_BANG_EQ] = ACTIONS(956),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(956),
    [anon_sym_LT_EQ_GT] = ACTIONS(956),
    [anon_sym_EQ_TILDE] = ACTIONS(956),
    [anon_sym_BANG_TILDE] = ACTIONS(956),
    [anon_sym_LT_EQ] = ACTIONS(946),
    [anon_sym_GT] = ACTIONS(946),
    [anon_sym_GT_EQ] = ACTIONS(962),
    [anon_sym_CARET] = ACTIONS(964),
    [anon_sym_PLUS] = ACTIONS(966),
    [anon_sym_SLASH] = ACTIONS(942),
    [anon_sym_PERCENT] = ACTIONS(942),
    [sym_comment] = ACTIONS(110),
  },
  [2022] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(936),
    [sym__binary_star] = ACTIONS(938),
    [ts_builtin_sym_end] = ACTIONS(7016),
    [anon_sym___END__] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(940),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(942),
    [anon_sym_AMP] = ACTIONS(944),
    [anon_sym_LT] = ACTIONS(946),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(948),
    [anon_sym_DOT_DOT] = ACTIONS(950),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(952),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(956),
    [anon_sym_AMP_AMP] = ACTIONS(956),
    [anon_sym_LT_LT] = ACTIONS(958),
    [anon_sym_GT_GT] = ACTIONS(958),
    [anon_sym_EQ_EQ] = ACTIONS(960),
    [anon_sym_BANG_EQ] = ACTIONS(956),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(956),
    [anon_sym_LT_EQ_GT] = ACTIONS(956),
    [anon_sym_EQ_TILDE] = ACTIONS(956),
    [anon_sym_BANG_TILDE] = ACTIONS(956),
    [anon_sym_LT_EQ] = ACTIONS(946),
    [anon_sym_GT] = ACTIONS(946),
    [anon_sym_GT_EQ] = ACTIONS(962),
    [anon_sym_CARET] = ACTIONS(964),
    [anon_sym_PLUS] = ACTIONS(966),
    [anon_sym_SLASH] = ACTIONS(942),
    [anon_sym_PERCENT] = ACTIONS(942),
    [sym_comment] = ACTIONS(110),
  },
  [2023] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(936),
    [sym__binary_star] = ACTIONS(938),
    [ts_builtin_sym_end] = ACTIONS(7016),
    [anon_sym___END__] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(940),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(942),
    [anon_sym_AMP] = ACTIONS(944),
    [anon_sym_LT] = ACTIONS(946),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(958),
    [anon_sym_GT_GT] = ACTIONS(958),
    [anon_sym_EQ_EQ] = ACTIONS(960),
    [anon_sym_BANG_EQ] = ACTIONS(956),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(956),
    [anon_sym_LT_EQ_GT] = ACTIONS(956),
    [anon_sym_EQ_TILDE] = ACTIONS(956),
    [anon_sym_BANG_TILDE] = ACTIONS(956),
    [anon_sym_LT_EQ] = ACTIONS(946),
    [anon_sym_GT] = ACTIONS(946),
    [anon_sym_GT_EQ] = ACTIONS(962),
    [anon_sym_CARET] = ACTIONS(964),
    [anon_sym_PLUS] = ACTIONS(966),
    [anon_sym_SLASH] = ACTIONS(942),
    [anon_sym_PERCENT] = ACTIONS(942),
    [sym_comment] = ACTIONS(110),
  },
  [2024] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(936),
    [sym__binary_star] = ACTIONS(938),
    [ts_builtin_sym_end] = ACTIONS(7016),
    [anon_sym___END__] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(942),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(966),
    [anon_sym_SLASH] = ACTIONS(942),
    [anon_sym_PERCENT] = ACTIONS(942),
    [sym_comment] = ACTIONS(110),
  },
  [2025] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(938),
    [ts_builtin_sym_end] = ACTIONS(7016),
    [anon_sym___END__] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(942),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(942),
    [anon_sym_PERCENT] = ACTIONS(942),
    [sym_comment] = ACTIONS(110),
  },
  [2026] = {
    [sym__simple_heredoc_body] = ACTIONS(7110),
    [sym__heredoc_body_beginning] = ACTIONS(7110),
    [sym__line_break] = ACTIONS(7110),
    [sym__element_reference_left_bracket] = ACTIONS(7110),
    [sym__scope_double_colon] = ACTIONS(7110),
    [sym__binary_minus] = ACTIONS(7110),
    [sym__binary_star] = ACTIONS(7110),
    [ts_builtin_sym_end] = ACTIONS(7110),
    [anon_sym___END__] = ACTIONS(7110),
    [anon_sym_LBRACE] = ACTIONS(7110),
    [anon_sym_RBRACE] = ACTIONS(7110),
    [anon_sym_RPAREN] = ACTIONS(7110),
    [anon_sym_DOT] = ACTIONS(7112),
    [anon_sym_end] = ACTIONS(7110),
    [anon_sym_COMMA] = ACTIONS(7110),
    [anon_sym_PIPE] = ACTIONS(7112),
    [anon_sym_SEMI] = ACTIONS(7110),
    [anon_sym_STAR_STAR] = ACTIONS(7112),
    [anon_sym_AMP] = ACTIONS(7112),
    [anon_sym_EQ] = ACTIONS(7112),
    [anon_sym_LT] = ACTIONS(7112),
    [anon_sym_if] = ACTIONS(7110),
    [anon_sym_unless] = ACTIONS(7110),
    [anon_sym_while] = ACTIONS(7110),
    [anon_sym_until] = ACTIONS(7110),
    [anon_sym_rescue] = ACTIONS(7110),
    [anon_sym_do] = ACTIONS(7110),
    [anon_sym_when] = ACTIONS(7110),
    [anon_sym_elsif] = ACTIONS(7110),
    [anon_sym_else] = ACTIONS(7110),
    [anon_sym_then] = ACTIONS(7110),
    [anon_sym_ensure] = ACTIONS(7110),
    [anon_sym_AMP_DOT] = ACTIONS(7110),
    [anon_sym_PLUS_EQ] = ACTIONS(7110),
    [anon_sym_DASH_EQ] = ACTIONS(7110),
    [anon_sym_STAR_EQ] = ACTIONS(7110),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7110),
    [anon_sym_SLASH_EQ] = ACTIONS(7110),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7110),
    [anon_sym_PIPE_EQ] = ACTIONS(7110),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7110),
    [anon_sym_AMP_EQ] = ACTIONS(7110),
    [anon_sym_PERCENT_EQ] = ACTIONS(7110),
    [anon_sym_GT_GT_EQ] = ACTIONS(7110),
    [anon_sym_LT_LT_EQ] = ACTIONS(7110),
    [anon_sym_CARET_EQ] = ACTIONS(7110),
    [anon_sym_QMARK] = ACTIONS(7110),
    [anon_sym_DOT_DOT] = ACTIONS(7112),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7110),
    [anon_sym_and] = ACTIONS(7110),
    [anon_sym_or] = ACTIONS(7110),
    [anon_sym_PIPE_PIPE] = ACTIONS(7112),
    [anon_sym_AMP_AMP] = ACTIONS(7112),
    [anon_sym_LT_LT] = ACTIONS(7112),
    [anon_sym_GT_GT] = ACTIONS(7112),
    [anon_sym_EQ_EQ] = ACTIONS(7112),
    [anon_sym_BANG_EQ] = ACTIONS(7110),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7110),
    [anon_sym_LT_EQ_GT] = ACTIONS(7110),
    [anon_sym_EQ_TILDE] = ACTIONS(7110),
    [anon_sym_BANG_TILDE] = ACTIONS(7110),
    [anon_sym_LT_EQ] = ACTIONS(7112),
    [anon_sym_GT] = ACTIONS(7112),
    [anon_sym_GT_EQ] = ACTIONS(7110),
    [anon_sym_CARET] = ACTIONS(7112),
    [anon_sym_PLUS] = ACTIONS(7112),
    [anon_sym_SLASH] = ACTIONS(7112),
    [anon_sym_PERCENT] = ACTIONS(7112),
    [sym_comment] = ACTIONS(256),
  },
  [2027] = {
    [sym_heredoc_end] = STATE(4901),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RBRACK] = ACTIONS(7114),
    [sym_comment] = ACTIONS(110),
  },
  [2028] = {
    [anon_sym_RBRACK] = ACTIONS(7114),
    [sym_comment] = ACTIONS(110),
  },
  [2029] = {
    [sym__simple_string] = ACTIONS(7116),
    [sym__simple_symbol] = ACTIONS(7116),
    [sym__simple_subshell] = ACTIONS(7116),
    [sym__simple_regex] = ACTIONS(7116),
    [sym__simple_word_list] = ACTIONS(7116),
    [sym__simple_heredoc_body] = ACTIONS(7116),
    [sym__string_beginning] = ACTIONS(7116),
    [sym__symbol_beginning] = ACTIONS(7116),
    [sym__subshell_beginning] = ACTIONS(7116),
    [sym__regex_beginning] = ACTIONS(7116),
    [sym__word_list_beginning] = ACTIONS(7116),
    [sym__heredoc_body_beginning] = ACTIONS(7116),
    [sym_heredoc_beginning] = ACTIONS(7116),
    [sym__line_break] = ACTIONS(7116),
    [sym__element_reference_left_bracket] = ACTIONS(7116),
    [sym__block_ampersand] = ACTIONS(7116),
    [sym__splat_star] = ACTIONS(7116),
    [sym__argument_list_left_paren] = ACTIONS(7116),
    [sym__scope_double_colon] = ACTIONS(7116),
    [sym__unary_minus] = ACTIONS(7116),
    [sym__binary_minus] = ACTIONS(7116),
    [sym__binary_star] = ACTIONS(7116),
    [ts_builtin_sym_end] = ACTIONS(7116),
    [anon_sym___END__] = ACTIONS(7118),
    [anon_sym_LBRACE] = ACTIONS(7116),
    [anon_sym_def] = ACTIONS(7118),
    [anon_sym_LPAREN] = ACTIONS(7116),
    [anon_sym_DOT] = ACTIONS(7118),
    [anon_sym_COLON_COLON] = ACTIONS(7116),
    [anon_sym_end] = ACTIONS(7118),
    [anon_sym_COMMA] = ACTIONS(7116),
    [anon_sym_PIPE] = ACTIONS(7118),
    [anon_sym_SEMI] = ACTIONS(7116),
    [anon_sym_STAR] = ACTIONS(7118),
    [anon_sym_STAR_STAR] = ACTIONS(7118),
    [anon_sym_AMP] = ACTIONS(7118),
    [anon_sym_EQ] = ACTIONS(7118),
    [anon_sym_class] = ACTIONS(7118),
    [anon_sym_LT] = ACTIONS(7118),
    [anon_sym_module] = ACTIONS(7118),
    [anon_sym_return] = ACTIONS(7118),
    [anon_sym_yield] = ACTIONS(7118),
    [anon_sym_break] = ACTIONS(7118),
    [anon_sym_next] = ACTIONS(7118),
    [anon_sym_redo] = ACTIONS(7118),
    [anon_sym_retry] = ACTIONS(7118),
    [anon_sym_if] = ACTIONS(7118),
    [anon_sym_unless] = ACTIONS(7118),
    [anon_sym_while] = ACTIONS(7118),
    [anon_sym_until] = ACTIONS(7118),
    [anon_sym_rescue] = ACTIONS(7118),
    [anon_sym_for] = ACTIONS(7118),
    [anon_sym_in] = ACTIONS(7118),
    [anon_sym_do] = ACTIONS(7118),
    [anon_sym_case] = ACTIONS(7118),
    [anon_sym_when] = ACTIONS(7118),
    [anon_sym_elsif] = ACTIONS(7118),
    [anon_sym_else] = ACTIONS(7118),
    [anon_sym_then] = ACTIONS(7118),
    [anon_sym_begin] = ACTIONS(7118),
    [anon_sym_ensure] = ACTIONS(7118),
    [anon_sym_AMP_DOT] = ACTIONS(7116),
    [anon_sym_PLUS_EQ] = ACTIONS(7116),
    [anon_sym_DASH_EQ] = ACTIONS(7116),
    [anon_sym_STAR_EQ] = ACTIONS(7116),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7116),
    [anon_sym_SLASH_EQ] = ACTIONS(7116),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7116),
    [anon_sym_PIPE_EQ] = ACTIONS(7116),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7116),
    [anon_sym_AMP_EQ] = ACTIONS(7116),
    [anon_sym_PERCENT_EQ] = ACTIONS(7116),
    [anon_sym_GT_GT_EQ] = ACTIONS(7116),
    [anon_sym_LT_LT_EQ] = ACTIONS(7116),
    [anon_sym_CARET_EQ] = ACTIONS(7116),
    [anon_sym_QMARK] = ACTIONS(7118),
    [anon_sym_DOT_DOT] = ACTIONS(7118),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7116),
    [anon_sym_and] = ACTIONS(7118),
    [anon_sym_or] = ACTIONS(7118),
    [anon_sym_PIPE_PIPE] = ACTIONS(7118),
    [anon_sym_AMP_AMP] = ACTIONS(7118),
    [anon_sym_LT_LT] = ACTIONS(7118),
    [anon_sym_GT_GT] = ACTIONS(7118),
    [anon_sym_EQ_EQ] = ACTIONS(7118),
    [anon_sym_BANG_EQ] = ACTIONS(7116),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7116),
    [anon_sym_LT_EQ_GT] = ACTIONS(7116),
    [anon_sym_EQ_TILDE] = ACTIONS(7116),
    [anon_sym_BANG_TILDE] = ACTIONS(7116),
    [anon_sym_LT_EQ] = ACTIONS(7118),
    [anon_sym_GT] = ACTIONS(7118),
    [anon_sym_GT_EQ] = ACTIONS(7116),
    [anon_sym_CARET] = ACTIONS(7118),
    [anon_sym_PLUS] = ACTIONS(7118),
    [anon_sym_SLASH] = ACTIONS(7118),
    [anon_sym_PERCENT] = ACTIONS(7118),
    [anon_sym_defined_QMARK] = ACTIONS(7116),
    [anon_sym_not] = ACTIONS(7118),
    [anon_sym_BANG] = ACTIONS(7118),
    [anon_sym_TILDE] = ACTIONS(7116),
    [sym_constant] = ACTIONS(7120),
    [sym_identifier] = ACTIONS(7120),
    [sym_instance_variable] = ACTIONS(7118),
    [sym_class_variable] = ACTIONS(7118),
    [sym_global_variable] = ACTIONS(7118),
    [anon_sym_alias] = ACTIONS(7118),
    [anon_sym_defined] = ACTIONS(7118),
    [anon_sym_false] = ACTIONS(7118),
    [anon_sym_nil] = ACTIONS(7118),
    [anon_sym_self] = ACTIONS(7118),
    [anon_sym_super] = ACTIONS(7118),
    [anon_sym_true] = ACTIONS(7118),
    [anon_sym_undef] = ACTIONS(7118),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(7118),
    [sym_float] = ACTIONS(7120),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(7116),
    [anon_sym_TRUE] = ACTIONS(7118),
    [anon_sym_FALSE] = ACTIONS(7118),
    [anon_sym_NIL] = ACTIONS(7118),
    [sym_keyword__FILE__] = ACTIONS(7118),
    [sym_keyword__LINE__] = ACTIONS(7118),
    [sym_keyword__ENCODING__] = ACTIONS(7118),
    [sym__character_literal] = ACTIONS(7118),
    [anon_sym_LBRACK] = ACTIONS(7116),
    [anon_sym_DASH_GT] = ACTIONS(7116),
  },
  [2030] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1382),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(4903),
    [sym__argument] = STATE(1385),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1386),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1387),
    [sym__variable] = STATE(1383),
    [sym_reserved_identifier] = STATE(1388),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1389),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(4904),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(2154),
    [sym__splat_star] = ACTIONS(2156),
    [sym__unary_minus] = ACTIONS(2158),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(7122),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2162),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2164),
    [anon_sym_yield] = ACTIONS(2166),
    [anon_sym_break] = ACTIONS(2168),
    [anon_sym_next] = ACTIONS(2170),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2172),
    [anon_sym_defined_QMARK] = ACTIONS(2174),
    [anon_sym_not] = ACTIONS(2176),
    [anon_sym_BANG] = ACTIONS(2178),
    [anon_sym_TILDE] = ACTIONS(2178),
    [sym_constant] = ACTIONS(2180),
    [sym_identifier] = ACTIONS(2180),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2031] = {
    [sym__simple_string] = ACTIONS(1856),
    [sym__simple_symbol] = ACTIONS(1856),
    [sym__simple_subshell] = ACTIONS(1856),
    [sym__simple_regex] = ACTIONS(1856),
    [sym__simple_word_list] = ACTIONS(1856),
    [sym__simple_heredoc_body] = ACTIONS(1856),
    [sym__string_beginning] = ACTIONS(1856),
    [sym__symbol_beginning] = ACTIONS(1856),
    [sym__subshell_beginning] = ACTIONS(1856),
    [sym__regex_beginning] = ACTIONS(1856),
    [sym__word_list_beginning] = ACTIONS(1856),
    [sym__heredoc_body_beginning] = ACTIONS(1856),
    [sym_heredoc_beginning] = ACTIONS(1856),
    [sym__line_break] = ACTIONS(1856),
    [sym__element_reference_left_bracket] = ACTIONS(1856),
    [sym__block_ampersand] = ACTIONS(1856),
    [sym__splat_star] = ACTIONS(1856),
    [sym__argument_list_left_paren] = ACTIONS(1856),
    [sym__scope_double_colon] = ACTIONS(1856),
    [sym__unary_minus] = ACTIONS(1856),
    [sym__binary_minus] = ACTIONS(1856),
    [sym__binary_star] = ACTIONS(1856),
    [ts_builtin_sym_end] = ACTIONS(1856),
    [anon_sym___END__] = ACTIONS(1858),
    [anon_sym_LBRACE] = ACTIONS(1856),
    [anon_sym_def] = ACTIONS(1858),
    [anon_sym_LPAREN] = ACTIONS(1856),
    [anon_sym_DOT] = ACTIONS(1858),
    [anon_sym_COLON_COLON] = ACTIONS(1856),
    [anon_sym_end] = ACTIONS(1858),
    [anon_sym_COMMA] = ACTIONS(1856),
    [anon_sym_PIPE] = ACTIONS(1858),
    [anon_sym_SEMI] = ACTIONS(1856),
    [anon_sym_STAR] = ACTIONS(1858),
    [anon_sym_STAR_STAR] = ACTIONS(1858),
    [anon_sym_AMP] = ACTIONS(1858),
    [anon_sym_EQ] = ACTIONS(1858),
    [anon_sym_class] = ACTIONS(1858),
    [anon_sym_LT] = ACTIONS(1858),
    [anon_sym_module] = ACTIONS(1858),
    [anon_sym_return] = ACTIONS(1858),
    [anon_sym_yield] = ACTIONS(1858),
    [anon_sym_break] = ACTIONS(1858),
    [anon_sym_next] = ACTIONS(1858),
    [anon_sym_redo] = ACTIONS(1858),
    [anon_sym_retry] = ACTIONS(1858),
    [anon_sym_if] = ACTIONS(1858),
    [anon_sym_unless] = ACTIONS(1858),
    [anon_sym_while] = ACTIONS(1858),
    [anon_sym_until] = ACTIONS(1858),
    [anon_sym_rescue] = ACTIONS(1858),
    [anon_sym_for] = ACTIONS(1858),
    [anon_sym_in] = ACTIONS(1858),
    [anon_sym_do] = ACTIONS(1858),
    [anon_sym_case] = ACTIONS(1858),
    [anon_sym_when] = ACTIONS(1858),
    [anon_sym_elsif] = ACTIONS(1858),
    [anon_sym_else] = ACTIONS(1858),
    [anon_sym_then] = ACTIONS(1858),
    [anon_sym_begin] = ACTIONS(1858),
    [anon_sym_ensure] = ACTIONS(1858),
    [anon_sym_AMP_DOT] = ACTIONS(1856),
    [anon_sym_PLUS_EQ] = ACTIONS(1856),
    [anon_sym_DASH_EQ] = ACTIONS(1856),
    [anon_sym_STAR_EQ] = ACTIONS(1856),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1856),
    [anon_sym_SLASH_EQ] = ACTIONS(1856),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1856),
    [anon_sym_PIPE_EQ] = ACTIONS(1856),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1856),
    [anon_sym_AMP_EQ] = ACTIONS(1856),
    [anon_sym_PERCENT_EQ] = ACTIONS(1856),
    [anon_sym_GT_GT_EQ] = ACTIONS(1856),
    [anon_sym_LT_LT_EQ] = ACTIONS(1856),
    [anon_sym_CARET_EQ] = ACTIONS(1856),
    [anon_sym_QMARK] = ACTIONS(1858),
    [anon_sym_DOT_DOT] = ACTIONS(1858),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1856),
    [anon_sym_and] = ACTIONS(1858),
    [anon_sym_or] = ACTIONS(1858),
    [anon_sym_PIPE_PIPE] = ACTIONS(1858),
    [anon_sym_AMP_AMP] = ACTIONS(1858),
    [anon_sym_LT_LT] = ACTIONS(1858),
    [anon_sym_GT_GT] = ACTIONS(1858),
    [anon_sym_EQ_EQ] = ACTIONS(1858),
    [anon_sym_BANG_EQ] = ACTIONS(1856),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1856),
    [anon_sym_LT_EQ_GT] = ACTIONS(1856),
    [anon_sym_EQ_TILDE] = ACTIONS(1856),
    [anon_sym_BANG_TILDE] = ACTIONS(1856),
    [anon_sym_LT_EQ] = ACTIONS(1858),
    [anon_sym_GT] = ACTIONS(1858),
    [anon_sym_GT_EQ] = ACTIONS(1856),
    [anon_sym_CARET] = ACTIONS(1858),
    [anon_sym_PLUS] = ACTIONS(1858),
    [anon_sym_SLASH] = ACTIONS(1858),
    [anon_sym_PERCENT] = ACTIONS(1858),
    [anon_sym_defined_QMARK] = ACTIONS(1856),
    [anon_sym_not] = ACTIONS(1858),
    [anon_sym_BANG] = ACTIONS(1858),
    [anon_sym_TILDE] = ACTIONS(1856),
    [sym_constant] = ACTIONS(7124),
    [sym_identifier] = ACTIONS(7124),
    [sym_instance_variable] = ACTIONS(1858),
    [sym_class_variable] = ACTIONS(1858),
    [sym_global_variable] = ACTIONS(1858),
    [anon_sym_alias] = ACTIONS(1858),
    [anon_sym_defined] = ACTIONS(1858),
    [anon_sym_false] = ACTIONS(1858),
    [anon_sym_nil] = ACTIONS(1858),
    [anon_sym_self] = ACTIONS(1858),
    [anon_sym_super] = ACTIONS(1858),
    [anon_sym_true] = ACTIONS(1858),
    [anon_sym_undef] = ACTIONS(1858),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1858),
    [sym_float] = ACTIONS(7124),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1856),
    [anon_sym_TRUE] = ACTIONS(1858),
    [anon_sym_FALSE] = ACTIONS(1858),
    [anon_sym_NIL] = ACTIONS(1858),
    [sym_keyword__FILE__] = ACTIONS(1858),
    [sym_keyword__LINE__] = ACTIONS(1858),
    [sym_keyword__ENCODING__] = ACTIONS(1858),
    [sym__character_literal] = ACTIONS(1858),
    [anon_sym_LBRACK] = ACTIONS(1856),
    [anon_sym_DASH_GT] = ACTIONS(1856),
  },
  [2032] = {
    [sym__simple_string] = ACTIONS(7126),
    [sym__simple_symbol] = ACTIONS(7126),
    [sym__simple_subshell] = ACTIONS(7126),
    [sym__simple_regex] = ACTIONS(7126),
    [sym__simple_word_list] = ACTIONS(7126),
    [sym__simple_heredoc_body] = ACTIONS(7126),
    [sym__string_beginning] = ACTIONS(7126),
    [sym__symbol_beginning] = ACTIONS(7126),
    [sym__subshell_beginning] = ACTIONS(7126),
    [sym__regex_beginning] = ACTIONS(7126),
    [sym__word_list_beginning] = ACTIONS(7126),
    [sym__heredoc_body_beginning] = ACTIONS(7126),
    [sym_heredoc_beginning] = ACTIONS(7126),
    [sym__line_break] = ACTIONS(7126),
    [sym__element_reference_left_bracket] = ACTIONS(7126),
    [sym__block_ampersand] = ACTIONS(7126),
    [sym__splat_star] = ACTIONS(7126),
    [sym__argument_list_left_paren] = ACTIONS(7126),
    [sym__scope_double_colon] = ACTIONS(7126),
    [sym__unary_minus] = ACTIONS(7126),
    [sym__binary_minus] = ACTIONS(7126),
    [sym__binary_star] = ACTIONS(7126),
    [ts_builtin_sym_end] = ACTIONS(7126),
    [anon_sym___END__] = ACTIONS(7128),
    [anon_sym_LBRACE] = ACTIONS(7126),
    [anon_sym_def] = ACTIONS(7128),
    [anon_sym_LPAREN] = ACTIONS(7126),
    [anon_sym_DOT] = ACTIONS(7128),
    [anon_sym_COLON_COLON] = ACTIONS(7126),
    [anon_sym_end] = ACTIONS(7128),
    [anon_sym_COMMA] = ACTIONS(7126),
    [anon_sym_PIPE] = ACTIONS(7128),
    [anon_sym_SEMI] = ACTIONS(7126),
    [anon_sym_STAR] = ACTIONS(7128),
    [anon_sym_STAR_STAR] = ACTIONS(7128),
    [anon_sym_AMP] = ACTIONS(7128),
    [anon_sym_EQ] = ACTIONS(7128),
    [anon_sym_class] = ACTIONS(7128),
    [anon_sym_LT] = ACTIONS(7128),
    [anon_sym_module] = ACTIONS(7128),
    [anon_sym_return] = ACTIONS(7128),
    [anon_sym_yield] = ACTIONS(7128),
    [anon_sym_break] = ACTIONS(7128),
    [anon_sym_next] = ACTIONS(7128),
    [anon_sym_redo] = ACTIONS(7128),
    [anon_sym_retry] = ACTIONS(7128),
    [anon_sym_if] = ACTIONS(7128),
    [anon_sym_unless] = ACTIONS(7128),
    [anon_sym_while] = ACTIONS(7128),
    [anon_sym_until] = ACTIONS(7128),
    [anon_sym_rescue] = ACTIONS(7128),
    [anon_sym_for] = ACTIONS(7128),
    [anon_sym_in] = ACTIONS(7128),
    [anon_sym_do] = ACTIONS(7128),
    [anon_sym_case] = ACTIONS(7128),
    [anon_sym_when] = ACTIONS(7128),
    [anon_sym_elsif] = ACTIONS(7128),
    [anon_sym_else] = ACTIONS(7128),
    [anon_sym_then] = ACTIONS(7128),
    [anon_sym_begin] = ACTIONS(7128),
    [anon_sym_ensure] = ACTIONS(7128),
    [anon_sym_AMP_DOT] = ACTIONS(7126),
    [anon_sym_PLUS_EQ] = ACTIONS(7126),
    [anon_sym_DASH_EQ] = ACTIONS(7126),
    [anon_sym_STAR_EQ] = ACTIONS(7126),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7126),
    [anon_sym_SLASH_EQ] = ACTIONS(7126),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7126),
    [anon_sym_PIPE_EQ] = ACTIONS(7126),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7126),
    [anon_sym_AMP_EQ] = ACTIONS(7126),
    [anon_sym_PERCENT_EQ] = ACTIONS(7126),
    [anon_sym_GT_GT_EQ] = ACTIONS(7126),
    [anon_sym_LT_LT_EQ] = ACTIONS(7126),
    [anon_sym_CARET_EQ] = ACTIONS(7126),
    [anon_sym_QMARK] = ACTIONS(7128),
    [anon_sym_DOT_DOT] = ACTIONS(7128),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7126),
    [anon_sym_and] = ACTIONS(7128),
    [anon_sym_or] = ACTIONS(7128),
    [anon_sym_PIPE_PIPE] = ACTIONS(7128),
    [anon_sym_AMP_AMP] = ACTIONS(7128),
    [anon_sym_LT_LT] = ACTIONS(7128),
    [anon_sym_GT_GT] = ACTIONS(7128),
    [anon_sym_EQ_EQ] = ACTIONS(7128),
    [anon_sym_BANG_EQ] = ACTIONS(7126),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7126),
    [anon_sym_LT_EQ_GT] = ACTIONS(7126),
    [anon_sym_EQ_TILDE] = ACTIONS(7126),
    [anon_sym_BANG_TILDE] = ACTIONS(7126),
    [anon_sym_LT_EQ] = ACTIONS(7128),
    [anon_sym_GT] = ACTIONS(7128),
    [anon_sym_GT_EQ] = ACTIONS(7126),
    [anon_sym_CARET] = ACTIONS(7128),
    [anon_sym_PLUS] = ACTIONS(7128),
    [anon_sym_SLASH] = ACTIONS(7128),
    [anon_sym_PERCENT] = ACTIONS(7128),
    [anon_sym_defined_QMARK] = ACTIONS(7126),
    [anon_sym_not] = ACTIONS(7128),
    [anon_sym_BANG] = ACTIONS(7128),
    [anon_sym_TILDE] = ACTIONS(7126),
    [sym_constant] = ACTIONS(7130),
    [sym_identifier] = ACTIONS(7130),
    [sym_instance_variable] = ACTIONS(7128),
    [sym_class_variable] = ACTIONS(7128),
    [sym_global_variable] = ACTIONS(7128),
    [anon_sym_alias] = ACTIONS(7128),
    [anon_sym_defined] = ACTIONS(7128),
    [anon_sym_false] = ACTIONS(7128),
    [anon_sym_nil] = ACTIONS(7128),
    [anon_sym_self] = ACTIONS(7128),
    [anon_sym_super] = ACTIONS(7128),
    [anon_sym_true] = ACTIONS(7128),
    [anon_sym_undef] = ACTIONS(7128),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(7128),
    [sym_float] = ACTIONS(7130),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(7126),
    [anon_sym_TRUE] = ACTIONS(7128),
    [anon_sym_FALSE] = ACTIONS(7128),
    [anon_sym_NIL] = ACTIONS(7128),
    [sym_keyword__FILE__] = ACTIONS(7128),
    [sym_keyword__LINE__] = ACTIONS(7128),
    [sym_keyword__ENCODING__] = ACTIONS(7128),
    [sym__character_literal] = ACTIONS(7128),
    [anon_sym_LBRACK] = ACTIONS(7126),
    [anon_sym_DASH_GT] = ACTIONS(7126),
  },
  [2033] = {
    [sym__simple_string] = ACTIONS(7132),
    [sym__simple_symbol] = ACTIONS(7132),
    [sym__simple_subshell] = ACTIONS(7132),
    [sym__simple_regex] = ACTIONS(7132),
    [sym__simple_word_list] = ACTIONS(7132),
    [sym__simple_heredoc_body] = ACTIONS(7132),
    [sym__string_beginning] = ACTIONS(7132),
    [sym__symbol_beginning] = ACTIONS(7132),
    [sym__subshell_beginning] = ACTIONS(7132),
    [sym__regex_beginning] = ACTIONS(7132),
    [sym__word_list_beginning] = ACTIONS(7132),
    [sym__heredoc_body_beginning] = ACTIONS(7132),
    [sym_heredoc_beginning] = ACTIONS(7132),
    [sym__line_break] = ACTIONS(7132),
    [sym__element_reference_left_bracket] = ACTIONS(7132),
    [sym__block_ampersand] = ACTIONS(7132),
    [sym__splat_star] = ACTIONS(7132),
    [sym__argument_list_left_paren] = ACTIONS(7132),
    [sym__scope_double_colon] = ACTIONS(7132),
    [sym__unary_minus] = ACTIONS(7132),
    [sym__binary_minus] = ACTIONS(7132),
    [sym__binary_star] = ACTIONS(7132),
    [ts_builtin_sym_end] = ACTIONS(7132),
    [anon_sym___END__] = ACTIONS(7134),
    [anon_sym_LBRACE] = ACTIONS(7132),
    [anon_sym_def] = ACTIONS(7134),
    [anon_sym_LPAREN] = ACTIONS(7132),
    [anon_sym_DOT] = ACTIONS(7134),
    [anon_sym_COLON_COLON] = ACTIONS(7132),
    [anon_sym_end] = ACTIONS(7134),
    [anon_sym_COMMA] = ACTIONS(7132),
    [anon_sym_PIPE] = ACTIONS(7134),
    [anon_sym_SEMI] = ACTIONS(7132),
    [anon_sym_STAR] = ACTIONS(7134),
    [anon_sym_STAR_STAR] = ACTIONS(7134),
    [anon_sym_AMP] = ACTIONS(7134),
    [anon_sym_EQ] = ACTIONS(7134),
    [anon_sym_class] = ACTIONS(7134),
    [anon_sym_LT] = ACTIONS(7134),
    [anon_sym_module] = ACTIONS(7134),
    [anon_sym_return] = ACTIONS(7134),
    [anon_sym_yield] = ACTIONS(7134),
    [anon_sym_break] = ACTIONS(7134),
    [anon_sym_next] = ACTIONS(7134),
    [anon_sym_redo] = ACTIONS(7134),
    [anon_sym_retry] = ACTIONS(7134),
    [anon_sym_if] = ACTIONS(7134),
    [anon_sym_unless] = ACTIONS(7134),
    [anon_sym_while] = ACTIONS(7134),
    [anon_sym_until] = ACTIONS(7134),
    [anon_sym_rescue] = ACTIONS(7134),
    [anon_sym_for] = ACTIONS(7134),
    [anon_sym_in] = ACTIONS(7134),
    [anon_sym_do] = ACTIONS(7134),
    [anon_sym_case] = ACTIONS(7134),
    [anon_sym_when] = ACTIONS(7134),
    [anon_sym_elsif] = ACTIONS(7134),
    [anon_sym_else] = ACTIONS(7134),
    [anon_sym_then] = ACTIONS(7134),
    [anon_sym_begin] = ACTIONS(7134),
    [anon_sym_ensure] = ACTIONS(7134),
    [anon_sym_AMP_DOT] = ACTIONS(7132),
    [anon_sym_PLUS_EQ] = ACTIONS(7132),
    [anon_sym_DASH_EQ] = ACTIONS(7132),
    [anon_sym_STAR_EQ] = ACTIONS(7132),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7132),
    [anon_sym_SLASH_EQ] = ACTIONS(7132),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7132),
    [anon_sym_PIPE_EQ] = ACTIONS(7132),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7132),
    [anon_sym_AMP_EQ] = ACTIONS(7132),
    [anon_sym_PERCENT_EQ] = ACTIONS(7132),
    [anon_sym_GT_GT_EQ] = ACTIONS(7132),
    [anon_sym_LT_LT_EQ] = ACTIONS(7132),
    [anon_sym_CARET_EQ] = ACTIONS(7132),
    [anon_sym_QMARK] = ACTIONS(7134),
    [anon_sym_DOT_DOT] = ACTIONS(7134),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7132),
    [anon_sym_and] = ACTIONS(7134),
    [anon_sym_or] = ACTIONS(7134),
    [anon_sym_PIPE_PIPE] = ACTIONS(7134),
    [anon_sym_AMP_AMP] = ACTIONS(7134),
    [anon_sym_LT_LT] = ACTIONS(7134),
    [anon_sym_GT_GT] = ACTIONS(7134),
    [anon_sym_EQ_EQ] = ACTIONS(7134),
    [anon_sym_BANG_EQ] = ACTIONS(7132),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7132),
    [anon_sym_LT_EQ_GT] = ACTIONS(7132),
    [anon_sym_EQ_TILDE] = ACTIONS(7132),
    [anon_sym_BANG_TILDE] = ACTIONS(7132),
    [anon_sym_LT_EQ] = ACTIONS(7134),
    [anon_sym_GT] = ACTIONS(7134),
    [anon_sym_GT_EQ] = ACTIONS(7132),
    [anon_sym_CARET] = ACTIONS(7134),
    [anon_sym_PLUS] = ACTIONS(7134),
    [anon_sym_SLASH] = ACTIONS(7134),
    [anon_sym_PERCENT] = ACTIONS(7134),
    [anon_sym_defined_QMARK] = ACTIONS(7132),
    [anon_sym_not] = ACTIONS(7134),
    [anon_sym_BANG] = ACTIONS(7134),
    [anon_sym_TILDE] = ACTIONS(7132),
    [sym_constant] = ACTIONS(7136),
    [sym_identifier] = ACTIONS(7136),
    [sym_instance_variable] = ACTIONS(7134),
    [sym_class_variable] = ACTIONS(7134),
    [sym_global_variable] = ACTIONS(7134),
    [anon_sym_alias] = ACTIONS(7134),
    [anon_sym_defined] = ACTIONS(7134),
    [anon_sym_false] = ACTIONS(7134),
    [anon_sym_nil] = ACTIONS(7134),
    [anon_sym_self] = ACTIONS(7134),
    [anon_sym_super] = ACTIONS(7134),
    [anon_sym_true] = ACTIONS(7134),
    [anon_sym_undef] = ACTIONS(7134),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(7134),
    [sym_float] = ACTIONS(7136),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(7132),
    [anon_sym_TRUE] = ACTIONS(7134),
    [anon_sym_FALSE] = ACTIONS(7134),
    [anon_sym_NIL] = ACTIONS(7134),
    [sym_keyword__FILE__] = ACTIONS(7134),
    [sym_keyword__LINE__] = ACTIONS(7134),
    [sym_keyword__ENCODING__] = ACTIONS(7134),
    [sym__character_literal] = ACTIONS(7134),
    [anon_sym_LBRACK] = ACTIONS(7132),
    [anon_sym_DASH_GT] = ACTIONS(7132),
  },
  [2034] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(7138),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [2035] = {
    [sym__statement] = STATE(4906),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [2036] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(7140),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [2037] = {
    [sym__statement] = STATE(4908),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [2038] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(7142),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [2039] = {
    [sym__statement] = STATE(4910),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [2040] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(7144),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [2041] = {
    [sym__statement] = STATE(4912),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [2042] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(7146),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [2043] = {
    [sym__statement] = STATE(4914),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [2044] = {
    [sym__simple_string] = ACTIONS(126),
    [sym__simple_heredoc_body] = ACTIONS(126),
    [sym__string_beginning] = ACTIONS(126),
    [sym__heredoc_body_beginning] = ACTIONS(126),
    [sym__line_break] = ACTIONS(126),
    [sym__element_reference_left_bracket] = ACTIONS(126),
    [sym__scope_double_colon] = ACTIONS(126),
    [sym__binary_minus] = ACTIONS(126),
    [sym__binary_star] = ACTIONS(126),
    [ts_builtin_sym_end] = ACTIONS(126),
    [anon_sym___END__] = ACTIONS(126),
    [anon_sym_LBRACE] = ACTIONS(126),
    [anon_sym_RBRACE] = ACTIONS(126),
    [anon_sym_RPAREN] = ACTIONS(126),
    [anon_sym_DOT] = ACTIONS(128),
    [anon_sym_end] = ACTIONS(126),
    [anon_sym_COMMA] = ACTIONS(126),
    [anon_sym_PIPE] = ACTIONS(128),
    [anon_sym_SEMI] = ACTIONS(126),
    [anon_sym_STAR_STAR] = ACTIONS(128),
    [anon_sym_AMP] = ACTIONS(128),
    [anon_sym_EQ] = ACTIONS(128),
    [anon_sym_LT] = ACTIONS(128),
    [anon_sym_if] = ACTIONS(126),
    [anon_sym_unless] = ACTIONS(126),
    [anon_sym_while] = ACTIONS(126),
    [anon_sym_until] = ACTIONS(126),
    [anon_sym_rescue] = ACTIONS(126),
    [anon_sym_do] = ACTIONS(126),
    [anon_sym_when] = ACTIONS(126),
    [anon_sym_elsif] = ACTIONS(126),
    [anon_sym_else] = ACTIONS(126),
    [anon_sym_then] = ACTIONS(126),
    [anon_sym_ensure] = ACTIONS(126),
    [anon_sym_AMP_DOT] = ACTIONS(126),
    [anon_sym_PLUS_EQ] = ACTIONS(126),
    [anon_sym_DASH_EQ] = ACTIONS(126),
    [anon_sym_STAR_EQ] = ACTIONS(126),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(126),
    [anon_sym_SLASH_EQ] = ACTIONS(126),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(126),
    [anon_sym_PIPE_EQ] = ACTIONS(126),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(126),
    [anon_sym_AMP_EQ] = ACTIONS(126),
    [anon_sym_PERCENT_EQ] = ACTIONS(126),
    [anon_sym_GT_GT_EQ] = ACTIONS(126),
    [anon_sym_LT_LT_EQ] = ACTIONS(126),
    [anon_sym_CARET_EQ] = ACTIONS(126),
    [anon_sym_QMARK] = ACTIONS(128),
    [anon_sym_DOT_DOT] = ACTIONS(128),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(126),
    [anon_sym_and] = ACTIONS(126),
    [anon_sym_or] = ACTIONS(126),
    [anon_sym_PIPE_PIPE] = ACTIONS(128),
    [anon_sym_AMP_AMP] = ACTIONS(128),
    [anon_sym_LT_LT] = ACTIONS(128),
    [anon_sym_GT_GT] = ACTIONS(128),
    [anon_sym_EQ_EQ] = ACTIONS(128),
    [anon_sym_BANG_EQ] = ACTIONS(126),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(126),
    [anon_sym_LT_EQ_GT] = ACTIONS(126),
    [anon_sym_EQ_TILDE] = ACTIONS(126),
    [anon_sym_BANG_TILDE] = ACTIONS(126),
    [anon_sym_LT_EQ] = ACTIONS(128),
    [anon_sym_GT] = ACTIONS(128),
    [anon_sym_GT_EQ] = ACTIONS(126),
    [anon_sym_CARET] = ACTIONS(128),
    [anon_sym_PLUS] = ACTIONS(128),
    [anon_sym_SLASH] = ACTIONS(128),
    [anon_sym_PERCENT] = ACTIONS(128),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(128),
  },
  [2045] = {
    [sym__simple_heredoc_body] = ACTIONS(130),
    [sym__heredoc_body_beginning] = ACTIONS(130),
    [sym__line_break] = ACTIONS(130),
    [sym__element_reference_left_bracket] = ACTIONS(130),
    [sym__scope_double_colon] = ACTIONS(130),
    [sym__binary_minus] = ACTIONS(130),
    [sym__binary_star] = ACTIONS(130),
    [ts_builtin_sym_end] = ACTIONS(130),
    [anon_sym___END__] = ACTIONS(130),
    [anon_sym_LBRACE] = ACTIONS(130),
    [anon_sym_RBRACE] = ACTIONS(130),
    [anon_sym_RPAREN] = ACTIONS(130),
    [anon_sym_DOT] = ACTIONS(132),
    [anon_sym_end] = ACTIONS(130),
    [anon_sym_COMMA] = ACTIONS(130),
    [anon_sym_PIPE] = ACTIONS(132),
    [anon_sym_SEMI] = ACTIONS(130),
    [anon_sym_STAR_STAR] = ACTIONS(132),
    [anon_sym_AMP] = ACTIONS(132),
    [anon_sym_EQ] = ACTIONS(132),
    [anon_sym_LT] = ACTIONS(132),
    [anon_sym_if] = ACTIONS(130),
    [anon_sym_unless] = ACTIONS(130),
    [anon_sym_while] = ACTIONS(130),
    [anon_sym_until] = ACTIONS(130),
    [anon_sym_rescue] = ACTIONS(130),
    [anon_sym_do] = ACTIONS(130),
    [anon_sym_when] = ACTIONS(130),
    [anon_sym_elsif] = ACTIONS(130),
    [anon_sym_else] = ACTIONS(130),
    [anon_sym_then] = ACTIONS(130),
    [anon_sym_ensure] = ACTIONS(130),
    [anon_sym_AMP_DOT] = ACTIONS(130),
    [anon_sym_PLUS_EQ] = ACTIONS(130),
    [anon_sym_DASH_EQ] = ACTIONS(130),
    [anon_sym_STAR_EQ] = ACTIONS(130),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(130),
    [anon_sym_SLASH_EQ] = ACTIONS(130),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(130),
    [anon_sym_PIPE_EQ] = ACTIONS(130),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(130),
    [anon_sym_AMP_EQ] = ACTIONS(130),
    [anon_sym_PERCENT_EQ] = ACTIONS(130),
    [anon_sym_GT_GT_EQ] = ACTIONS(130),
    [anon_sym_LT_LT_EQ] = ACTIONS(130),
    [anon_sym_CARET_EQ] = ACTIONS(130),
    [anon_sym_QMARK] = ACTIONS(130),
    [anon_sym_DOT_DOT] = ACTIONS(132),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(130),
    [anon_sym_and] = ACTIONS(130),
    [anon_sym_or] = ACTIONS(130),
    [anon_sym_PIPE_PIPE] = ACTIONS(132),
    [anon_sym_AMP_AMP] = ACTIONS(132),
    [anon_sym_LT_LT] = ACTIONS(132),
    [anon_sym_GT_GT] = ACTIONS(132),
    [anon_sym_EQ_EQ] = ACTIONS(132),
    [anon_sym_BANG_EQ] = ACTIONS(130),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(130),
    [anon_sym_LT_EQ_GT] = ACTIONS(130),
    [anon_sym_EQ_TILDE] = ACTIONS(130),
    [anon_sym_BANG_TILDE] = ACTIONS(130),
    [anon_sym_LT_EQ] = ACTIONS(132),
    [anon_sym_GT] = ACTIONS(132),
    [anon_sym_GT_EQ] = ACTIONS(130),
    [anon_sym_CARET] = ACTIONS(132),
    [anon_sym_PLUS] = ACTIONS(132),
    [anon_sym_SLASH] = ACTIONS(132),
    [anon_sym_PERCENT] = ACTIONS(132),
    [sym_comment] = ACTIONS(256),
  },
  [2046] = {
    [sym__simple_heredoc_body] = ACTIONS(134),
    [sym__heredoc_body_beginning] = ACTIONS(134),
    [sym__line_break] = ACTIONS(134),
    [sym__element_reference_left_bracket] = ACTIONS(134),
    [sym__scope_double_colon] = ACTIONS(134),
    [sym__binary_minus] = ACTIONS(134),
    [sym__binary_star] = ACTIONS(134),
    [ts_builtin_sym_end] = ACTIONS(134),
    [anon_sym___END__] = ACTIONS(134),
    [anon_sym_LBRACE] = ACTIONS(134),
    [anon_sym_RBRACE] = ACTIONS(134),
    [anon_sym_RPAREN] = ACTIONS(134),
    [anon_sym_DOT] = ACTIONS(136),
    [anon_sym_end] = ACTIONS(134),
    [anon_sym_COMMA] = ACTIONS(134),
    [anon_sym_PIPE] = ACTIONS(136),
    [anon_sym_SEMI] = ACTIONS(134),
    [anon_sym_STAR_STAR] = ACTIONS(136),
    [anon_sym_AMP] = ACTIONS(136),
    [anon_sym_EQ] = ACTIONS(136),
    [anon_sym_LT] = ACTIONS(136),
    [anon_sym_if] = ACTIONS(134),
    [anon_sym_unless] = ACTIONS(134),
    [anon_sym_while] = ACTIONS(134),
    [anon_sym_until] = ACTIONS(134),
    [anon_sym_rescue] = ACTIONS(134),
    [anon_sym_do] = ACTIONS(134),
    [anon_sym_when] = ACTIONS(134),
    [anon_sym_elsif] = ACTIONS(134),
    [anon_sym_else] = ACTIONS(134),
    [anon_sym_then] = ACTIONS(134),
    [anon_sym_ensure] = ACTIONS(134),
    [anon_sym_AMP_DOT] = ACTIONS(134),
    [anon_sym_PLUS_EQ] = ACTIONS(134),
    [anon_sym_DASH_EQ] = ACTIONS(134),
    [anon_sym_STAR_EQ] = ACTIONS(134),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(134),
    [anon_sym_SLASH_EQ] = ACTIONS(134),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(134),
    [anon_sym_PIPE_EQ] = ACTIONS(134),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(134),
    [anon_sym_AMP_EQ] = ACTIONS(134),
    [anon_sym_PERCENT_EQ] = ACTIONS(134),
    [anon_sym_GT_GT_EQ] = ACTIONS(134),
    [anon_sym_LT_LT_EQ] = ACTIONS(134),
    [anon_sym_CARET_EQ] = ACTIONS(134),
    [anon_sym_QMARK] = ACTIONS(134),
    [anon_sym_DOT_DOT] = ACTIONS(136),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(134),
    [anon_sym_and] = ACTIONS(134),
    [anon_sym_or] = ACTIONS(134),
    [anon_sym_PIPE_PIPE] = ACTIONS(136),
    [anon_sym_AMP_AMP] = ACTIONS(136),
    [anon_sym_LT_LT] = ACTIONS(136),
    [anon_sym_GT_GT] = ACTIONS(136),
    [anon_sym_EQ_EQ] = ACTIONS(136),
    [anon_sym_BANG_EQ] = ACTIONS(134),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(134),
    [anon_sym_LT_EQ_GT] = ACTIONS(134),
    [anon_sym_EQ_TILDE] = ACTIONS(134),
    [anon_sym_BANG_TILDE] = ACTIONS(134),
    [anon_sym_LT_EQ] = ACTIONS(136),
    [anon_sym_GT] = ACTIONS(136),
    [anon_sym_GT_EQ] = ACTIONS(134),
    [anon_sym_CARET] = ACTIONS(136),
    [anon_sym_PLUS] = ACTIONS(136),
    [anon_sym_SLASH] = ACTIONS(136),
    [anon_sym_PERCENT] = ACTIONS(136),
    [sym_comment] = ACTIONS(256),
  },
  [2047] = {
    [sym__simple_heredoc_body] = ACTIONS(138),
    [sym__heredoc_body_beginning] = ACTIONS(138),
    [sym__line_break] = ACTIONS(138),
    [sym__element_reference_left_bracket] = ACTIONS(138),
    [sym__scope_double_colon] = ACTIONS(138),
    [sym__binary_minus] = ACTIONS(138),
    [sym__binary_star] = ACTIONS(138),
    [ts_builtin_sym_end] = ACTIONS(138),
    [anon_sym___END__] = ACTIONS(138),
    [anon_sym_LBRACE] = ACTIONS(138),
    [anon_sym_RBRACE] = ACTIONS(138),
    [anon_sym_RPAREN] = ACTIONS(138),
    [anon_sym_DOT] = ACTIONS(140),
    [anon_sym_end] = ACTIONS(138),
    [anon_sym_COMMA] = ACTIONS(138),
    [anon_sym_PIPE] = ACTIONS(140),
    [anon_sym_SEMI] = ACTIONS(138),
    [anon_sym_STAR_STAR] = ACTIONS(140),
    [anon_sym_AMP] = ACTIONS(140),
    [anon_sym_EQ] = ACTIONS(140),
    [anon_sym_LT] = ACTIONS(140),
    [anon_sym_if] = ACTIONS(138),
    [anon_sym_unless] = ACTIONS(138),
    [anon_sym_while] = ACTIONS(138),
    [anon_sym_until] = ACTIONS(138),
    [anon_sym_rescue] = ACTIONS(138),
    [anon_sym_do] = ACTIONS(138),
    [anon_sym_when] = ACTIONS(138),
    [anon_sym_elsif] = ACTIONS(138),
    [anon_sym_else] = ACTIONS(138),
    [anon_sym_then] = ACTIONS(138),
    [anon_sym_ensure] = ACTIONS(138),
    [anon_sym_AMP_DOT] = ACTIONS(138),
    [anon_sym_PLUS_EQ] = ACTIONS(138),
    [anon_sym_DASH_EQ] = ACTIONS(138),
    [anon_sym_STAR_EQ] = ACTIONS(138),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(138),
    [anon_sym_SLASH_EQ] = ACTIONS(138),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(138),
    [anon_sym_PIPE_EQ] = ACTIONS(138),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(138),
    [anon_sym_AMP_EQ] = ACTIONS(138),
    [anon_sym_PERCENT_EQ] = ACTIONS(138),
    [anon_sym_GT_GT_EQ] = ACTIONS(138),
    [anon_sym_LT_LT_EQ] = ACTIONS(138),
    [anon_sym_CARET_EQ] = ACTIONS(138),
    [anon_sym_QMARK] = ACTIONS(138),
    [anon_sym_DOT_DOT] = ACTIONS(140),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(138),
    [anon_sym_and] = ACTIONS(138),
    [anon_sym_or] = ACTIONS(138),
    [anon_sym_PIPE_PIPE] = ACTIONS(140),
    [anon_sym_AMP_AMP] = ACTIONS(140),
    [anon_sym_LT_LT] = ACTIONS(140),
    [anon_sym_GT_GT] = ACTIONS(140),
    [anon_sym_EQ_EQ] = ACTIONS(140),
    [anon_sym_BANG_EQ] = ACTIONS(138),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(138),
    [anon_sym_LT_EQ_GT] = ACTIONS(138),
    [anon_sym_EQ_TILDE] = ACTIONS(138),
    [anon_sym_BANG_TILDE] = ACTIONS(138),
    [anon_sym_LT_EQ] = ACTIONS(140),
    [anon_sym_GT] = ACTIONS(140),
    [anon_sym_GT_EQ] = ACTIONS(138),
    [anon_sym_CARET] = ACTIONS(140),
    [anon_sym_PLUS] = ACTIONS(140),
    [anon_sym_SLASH] = ACTIONS(140),
    [anon_sym_PERCENT] = ACTIONS(140),
    [sym_comment] = ACTIONS(256),
  },
  [2048] = {
    [sym__simple_heredoc_body] = ACTIONS(142),
    [sym__heredoc_body_beginning] = ACTIONS(142),
    [sym__line_break] = ACTIONS(142),
    [sym__element_reference_left_bracket] = ACTIONS(142),
    [sym__scope_double_colon] = ACTIONS(142),
    [sym__binary_minus] = ACTIONS(142),
    [sym__binary_star] = ACTIONS(142),
    [ts_builtin_sym_end] = ACTIONS(142),
    [anon_sym___END__] = ACTIONS(142),
    [anon_sym_LBRACE] = ACTIONS(142),
    [anon_sym_RBRACE] = ACTIONS(142),
    [anon_sym_RPAREN] = ACTIONS(142),
    [anon_sym_DOT] = ACTIONS(144),
    [anon_sym_end] = ACTIONS(142),
    [anon_sym_COMMA] = ACTIONS(142),
    [anon_sym_PIPE] = ACTIONS(144),
    [anon_sym_SEMI] = ACTIONS(142),
    [anon_sym_STAR_STAR] = ACTIONS(144),
    [anon_sym_AMP] = ACTIONS(144),
    [anon_sym_EQ] = ACTIONS(144),
    [anon_sym_LT] = ACTIONS(144),
    [anon_sym_if] = ACTIONS(142),
    [anon_sym_unless] = ACTIONS(142),
    [anon_sym_while] = ACTIONS(142),
    [anon_sym_until] = ACTIONS(142),
    [anon_sym_rescue] = ACTIONS(142),
    [anon_sym_do] = ACTIONS(142),
    [anon_sym_when] = ACTIONS(142),
    [anon_sym_elsif] = ACTIONS(142),
    [anon_sym_else] = ACTIONS(142),
    [anon_sym_then] = ACTIONS(142),
    [anon_sym_ensure] = ACTIONS(142),
    [anon_sym_AMP_DOT] = ACTIONS(142),
    [anon_sym_PLUS_EQ] = ACTIONS(142),
    [anon_sym_DASH_EQ] = ACTIONS(142),
    [anon_sym_STAR_EQ] = ACTIONS(142),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(142),
    [anon_sym_SLASH_EQ] = ACTIONS(142),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(142),
    [anon_sym_PIPE_EQ] = ACTIONS(142),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(142),
    [anon_sym_AMP_EQ] = ACTIONS(142),
    [anon_sym_PERCENT_EQ] = ACTIONS(142),
    [anon_sym_GT_GT_EQ] = ACTIONS(142),
    [anon_sym_LT_LT_EQ] = ACTIONS(142),
    [anon_sym_CARET_EQ] = ACTIONS(142),
    [anon_sym_QMARK] = ACTIONS(142),
    [anon_sym_DOT_DOT] = ACTIONS(144),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(142),
    [anon_sym_and] = ACTIONS(142),
    [anon_sym_or] = ACTIONS(142),
    [anon_sym_PIPE_PIPE] = ACTIONS(144),
    [anon_sym_AMP_AMP] = ACTIONS(144),
    [anon_sym_LT_LT] = ACTIONS(144),
    [anon_sym_GT_GT] = ACTIONS(144),
    [anon_sym_EQ_EQ] = ACTIONS(144),
    [anon_sym_BANG_EQ] = ACTIONS(142),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(142),
    [anon_sym_LT_EQ_GT] = ACTIONS(142),
    [anon_sym_EQ_TILDE] = ACTIONS(142),
    [anon_sym_BANG_TILDE] = ACTIONS(142),
    [anon_sym_LT_EQ] = ACTIONS(144),
    [anon_sym_GT] = ACTIONS(144),
    [anon_sym_GT_EQ] = ACTIONS(142),
    [anon_sym_CARET] = ACTIONS(144),
    [anon_sym_PLUS] = ACTIONS(144),
    [anon_sym_SLASH] = ACTIONS(144),
    [anon_sym_PERCENT] = ACTIONS(144),
    [sym_comment] = ACTIONS(256),
  },
  [2049] = {
    [sym__statement] = STATE(4915),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(4916),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [2050] = {
    [sym__statement] = STATE(4917),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(4918),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [2051] = {
    [sym__statement] = STATE(4919),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(4920),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [2052] = {
    [sym__statement] = STATE(4921),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(4922),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [2053] = {
    [sym__statement] = STATE(4923),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(4924),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [2054] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [ts_builtin_sym_end] = ACTIONS(250),
    [anon_sym___END__] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_RBRACE] = ACTIONS(250),
    [anon_sym_RPAREN] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_end] = ACTIONS(250),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_when] = ACTIONS(250),
    [anon_sym_elsif] = ACTIONS(250),
    [anon_sym_else] = ACTIONS(250),
    [anon_sym_then] = ACTIONS(250),
    [anon_sym_ensure] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [2055] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(4925),
    [sym__primary] = STATE(2082),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(2083),
    [sym_call] = STATE(2083),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(2085),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2086),
    [sym__variable] = STATE(2083),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(3162),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(3174),
    [anon_sym_yield] = ACTIONS(3176),
    [anon_sym_break] = ACTIONS(3178),
    [anon_sym_next] = ACTIONS(3180),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(3200),
    [anon_sym_defined_QMARK] = ACTIONS(3202),
    [anon_sym_not] = ACTIONS(3204),
    [anon_sym_BANG] = ACTIONS(3206),
    [anon_sym_TILDE] = ACTIONS(3206),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [2056] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(193),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_hash_splat_argument] = STATE(197),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(199),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(200),
    [sym__variable] = STATE(196),
    [sym_reserved_identifier] = STATE(201),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(202),
    [sym_subshell] = STATE(151),
    [sym_heredoc_end] = STATE(4927),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym__hash_items] = STATE(4928),
    [sym_pair] = STATE(205),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(260),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(272),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(286),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_RBRACE] = ACTIONS(7148),
    [anon_sym_def] = ACTIONS(292),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(302),
    [anon_sym_class] = ACTIONS(304),
    [anon_sym_module] = ACTIONS(306),
    [anon_sym_return] = ACTIONS(308),
    [anon_sym_yield] = ACTIONS(310),
    [anon_sym_break] = ACTIONS(312),
    [anon_sym_next] = ACTIONS(314),
    [anon_sym_redo] = ACTIONS(316),
    [anon_sym_retry] = ACTIONS(318),
    [anon_sym_if] = ACTIONS(320),
    [anon_sym_unless] = ACTIONS(322),
    [anon_sym_while] = ACTIONS(324),
    [anon_sym_until] = ACTIONS(326),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(328),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(330),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(332),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(334),
    [anon_sym_defined_QMARK] = ACTIONS(336),
    [anon_sym_not] = ACTIONS(338),
    [anon_sym_BANG] = ACTIONS(340),
    [anon_sym_TILDE] = ACTIONS(340),
    [sym_constant] = ACTIONS(342),
    [sym_identifier] = ACTIONS(342),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(346),
    [anon_sym_nil] = ACTIONS(348),
    [anon_sym_self] = ACTIONS(350),
    [anon_sym_super] = ACTIONS(352),
    [anon_sym_true] = ACTIONS(354),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(370),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [2057] = {
    [sym__method_rest] = STATE(4930),
    [sym__variable] = STATE(4931),
    [sym_operator] = STATE(217),
    [sym__method_name] = STATE(4932),
    [sym_setter] = STATE(217),
    [sym_symbol] = STATE(217),
    [sym_super] = STATE(219),
    [sym_self] = STATE(219),
    [sym__simple_symbol] = ACTIONS(378),
    [sym__symbol_beginning] = ACTIONS(380),
    [anon_sym_LPAREN] = ACTIONS(7150),
    [anon_sym_PIPE] = ACTIONS(384),
    [anon_sym_STAR] = ACTIONS(386),
    [anon_sym_STAR_STAR] = ACTIONS(384),
    [anon_sym_AMP] = ACTIONS(384),
    [anon_sym_LT] = ACTIONS(386),
    [anon_sym_DOT_DOT] = ACTIONS(384),
    [anon_sym_LT_LT] = ACTIONS(384),
    [anon_sym_GT_GT] = ACTIONS(384),
    [anon_sym_EQ_EQ] = ACTIONS(386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(384),
    [anon_sym_LT_EQ_GT] = ACTIONS(384),
    [anon_sym_EQ_TILDE] = ACTIONS(384),
    [anon_sym_BANG_TILDE] = ACTIONS(384),
    [anon_sym_LT_EQ] = ACTIONS(386),
    [anon_sym_GT] = ACTIONS(386),
    [anon_sym_GT_EQ] = ACTIONS(384),
    [anon_sym_CARET] = ACTIONS(384),
    [anon_sym_PLUS] = ACTIONS(386),
    [anon_sym_SLASH] = ACTIONS(384),
    [anon_sym_PERCENT] = ACTIONS(384),
    [anon_sym_BANG] = ACTIONS(386),
    [anon_sym_TILDE] = ACTIONS(384),
    [sym_constant] = ACTIONS(388),
    [sym_identifier] = ACTIONS(390),
    [sym_instance_variable] = ACTIONS(388),
    [sym_class_variable] = ACTIONS(388),
    [sym_global_variable] = ACTIONS(388),
    [anon_sym_self] = ACTIONS(392),
    [anon_sym_super] = ACTIONS(394),
    [anon_sym_DASH] = ACTIONS(386),
    [anon_sym_PLUS_AT] = ACTIONS(384),
    [anon_sym_DASH_AT] = ACTIONS(384),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(386),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(384),
    [anon_sym_BQUOTE] = ACTIONS(384),
    [sym_comment] = ACTIONS(110),
  },
  [2058] = {
    [sym__statements] = STATE(4934),
    [sym__top_level_statement] = STATE(235),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(236),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(237),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(240),
    [sym__mlhs] = STATE(241),
    [sym__simple_mlhs] = STATE(242),
    [sym_destructured_left_assignment] = STATE(242),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(243),
    [sym__variable] = STATE(239),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(396),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_RPAREN] = ACTIONS(7152),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(402),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(412),
    [anon_sym_defined_QMARK] = ACTIONS(414),
    [anon_sym_not] = ACTIONS(416),
    [anon_sym_BANG] = ACTIONS(418),
    [anon_sym_TILDE] = ACTIONS(418),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2059] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(293),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(4937),
    [sym_call] = STATE(295),
    [sym_method_call] = STATE(286),
    [sym__lhs] = STATE(255),
    [sym__variable] = STATE(295),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [sym__singleton_class_left_angle_left_langle] = ACTIONS(7154),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(458),
    [anon_sym_COLON_COLON] = ACTIONS(524),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(7156),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [2060] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(293),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(4939),
    [sym_call] = STATE(295),
    [sym_method_call] = STATE(286),
    [sym__lhs] = STATE(255),
    [sym__variable] = STATE(295),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(458),
    [anon_sym_COLON_COLON] = ACTIONS(524),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(7158),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [2061] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(595),
    [sym__primary] = STATE(596),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(597),
    [sym_call] = STATE(597),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(4940),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(600),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(605),
    [sym__variable] = STATE(597),
    [sym_reserved_identifier] = STATE(606),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(607),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(1006),
    [sym__splat_star] = ACTIONS(1008),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(1012),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [ts_builtin_sym_end] = ACTIONS(532),
    [anon_sym___END__] = ACTIONS(544),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(544),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(1024),
    [anon_sym_yield] = ACTIONS(1026),
    [anon_sym_break] = ACTIONS(1028),
    [anon_sym_next] = ACTIONS(1030),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_PLUS_EQ] = ACTIONS(532),
    [anon_sym_DASH_EQ] = ACTIONS(532),
    [anon_sym_STAR_EQ] = ACTIONS(532),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(532),
    [anon_sym_SLASH_EQ] = ACTIONS(532),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(532),
    [anon_sym_PIPE_EQ] = ACTIONS(532),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(532),
    [anon_sym_AMP_EQ] = ACTIONS(532),
    [anon_sym_PERCENT_EQ] = ACTIONS(532),
    [anon_sym_GT_GT_EQ] = ACTIONS(532),
    [anon_sym_LT_LT_EQ] = ACTIONS(532),
    [anon_sym_CARET_EQ] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(544),
    [anon_sym_AMP_AMP] = ACTIONS(544),
    [anon_sym_LT_LT] = ACTIONS(544),
    [anon_sym_GT_GT] = ACTIONS(544),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(544),
    [anon_sym_PERCENT] = ACTIONS(544),
    [anon_sym_defined_QMARK] = ACTIONS(1044),
    [anon_sym_not] = ACTIONS(1046),
    [anon_sym_BANG] = ACTIONS(1048),
    [anon_sym_TILDE] = ACTIONS(1050),
    [sym_constant] = ACTIONS(1052),
    [sym_identifier] = ACTIONS(1052),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(588),
    [anon_sym_super] = ACTIONS(590),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [2062] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(595),
    [sym__primary] = STATE(596),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(597),
    [sym_call] = STATE(597),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(4941),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(600),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(605),
    [sym__variable] = STATE(597),
    [sym_reserved_identifier] = STATE(606),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(607),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(1006),
    [sym__splat_star] = ACTIONS(1008),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(1012),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [ts_builtin_sym_end] = ACTIONS(602),
    [anon_sym___END__] = ACTIONS(604),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(604),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(1024),
    [anon_sym_yield] = ACTIONS(1026),
    [anon_sym_break] = ACTIONS(1028),
    [anon_sym_next] = ACTIONS(1030),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_PLUS_EQ] = ACTIONS(602),
    [anon_sym_DASH_EQ] = ACTIONS(602),
    [anon_sym_STAR_EQ] = ACTIONS(602),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(602),
    [anon_sym_SLASH_EQ] = ACTIONS(602),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(602),
    [anon_sym_PIPE_EQ] = ACTIONS(602),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(602),
    [anon_sym_AMP_EQ] = ACTIONS(602),
    [anon_sym_PERCENT_EQ] = ACTIONS(602),
    [anon_sym_GT_GT_EQ] = ACTIONS(602),
    [anon_sym_LT_LT_EQ] = ACTIONS(602),
    [anon_sym_CARET_EQ] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(604),
    [anon_sym_AMP_AMP] = ACTIONS(604),
    [anon_sym_LT_LT] = ACTIONS(604),
    [anon_sym_GT_GT] = ACTIONS(604),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(604),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(604),
    [anon_sym_PERCENT] = ACTIONS(604),
    [anon_sym_defined_QMARK] = ACTIONS(1044),
    [anon_sym_not] = ACTIONS(1046),
    [anon_sym_BANG] = ACTIONS(1048),
    [anon_sym_TILDE] = ACTIONS(1050),
    [sym_constant] = ACTIONS(1052),
    [sym_identifier] = ACTIONS(1052),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(588),
    [anon_sym_super] = ACTIONS(590),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [2063] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(595),
    [sym__primary] = STATE(596),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(597),
    [sym_call] = STATE(597),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(4942),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(600),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(605),
    [sym__variable] = STATE(597),
    [sym_reserved_identifier] = STATE(606),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(607),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(1006),
    [sym__splat_star] = ACTIONS(1008),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(1012),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [ts_builtin_sym_end] = ACTIONS(606),
    [anon_sym___END__] = ACTIONS(608),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(608),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(1024),
    [anon_sym_yield] = ACTIONS(1026),
    [anon_sym_break] = ACTIONS(1028),
    [anon_sym_next] = ACTIONS(1030),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_PLUS_EQ] = ACTIONS(606),
    [anon_sym_DASH_EQ] = ACTIONS(606),
    [anon_sym_STAR_EQ] = ACTIONS(606),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(606),
    [anon_sym_SLASH_EQ] = ACTIONS(606),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(606),
    [anon_sym_PIPE_EQ] = ACTIONS(606),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(606),
    [anon_sym_AMP_EQ] = ACTIONS(606),
    [anon_sym_PERCENT_EQ] = ACTIONS(606),
    [anon_sym_GT_GT_EQ] = ACTIONS(606),
    [anon_sym_LT_LT_EQ] = ACTIONS(606),
    [anon_sym_CARET_EQ] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(608),
    [anon_sym_AMP_AMP] = ACTIONS(608),
    [anon_sym_LT_LT] = ACTIONS(608),
    [anon_sym_GT_GT] = ACTIONS(608),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(608),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(608),
    [anon_sym_PERCENT] = ACTIONS(608),
    [anon_sym_defined_QMARK] = ACTIONS(1044),
    [anon_sym_not] = ACTIONS(1046),
    [anon_sym_BANG] = ACTIONS(1048),
    [anon_sym_TILDE] = ACTIONS(1050),
    [sym_constant] = ACTIONS(1052),
    [sym_identifier] = ACTIONS(1052),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(588),
    [anon_sym_super] = ACTIONS(590),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [2064] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(595),
    [sym__primary] = STATE(596),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(597),
    [sym_call] = STATE(597),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(4943),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(600),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(605),
    [sym__variable] = STATE(597),
    [sym_reserved_identifier] = STATE(606),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(607),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(1006),
    [sym__splat_star] = ACTIONS(1008),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(1012),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [ts_builtin_sym_end] = ACTIONS(610),
    [anon_sym___END__] = ACTIONS(612),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(612),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(1024),
    [anon_sym_yield] = ACTIONS(1026),
    [anon_sym_break] = ACTIONS(1028),
    [anon_sym_next] = ACTIONS(1030),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_PLUS_EQ] = ACTIONS(610),
    [anon_sym_DASH_EQ] = ACTIONS(610),
    [anon_sym_STAR_EQ] = ACTIONS(610),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(610),
    [anon_sym_SLASH_EQ] = ACTIONS(610),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(610),
    [anon_sym_PIPE_EQ] = ACTIONS(610),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(610),
    [anon_sym_AMP_EQ] = ACTIONS(610),
    [anon_sym_PERCENT_EQ] = ACTIONS(610),
    [anon_sym_GT_GT_EQ] = ACTIONS(610),
    [anon_sym_LT_LT_EQ] = ACTIONS(610),
    [anon_sym_CARET_EQ] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(612),
    [anon_sym_AMP_AMP] = ACTIONS(612),
    [anon_sym_LT_LT] = ACTIONS(612),
    [anon_sym_GT_GT] = ACTIONS(612),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(612),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(612),
    [anon_sym_PERCENT] = ACTIONS(612),
    [anon_sym_defined_QMARK] = ACTIONS(1044),
    [anon_sym_not] = ACTIONS(1046),
    [anon_sym_BANG] = ACTIONS(1048),
    [anon_sym_TILDE] = ACTIONS(1050),
    [sym_constant] = ACTIONS(1052),
    [sym_identifier] = ACTIONS(1052),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(588),
    [anon_sym_super] = ACTIONS(590),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [2065] = {
    [sym__simple_heredoc_body] = ACTIONS(614),
    [sym__heredoc_body_beginning] = ACTIONS(614),
    [sym__line_break] = ACTIONS(614),
    [sym__element_reference_left_bracket] = ACTIONS(614),
    [sym__scope_double_colon] = ACTIONS(614),
    [sym__binary_minus] = ACTIONS(614),
    [sym__binary_star] = ACTIONS(614),
    [ts_builtin_sym_end] = ACTIONS(614),
    [anon_sym___END__] = ACTIONS(614),
    [anon_sym_LBRACE] = ACTIONS(614),
    [anon_sym_RBRACE] = ACTIONS(614),
    [anon_sym_RPAREN] = ACTIONS(614),
    [anon_sym_DOT] = ACTIONS(616),
    [anon_sym_end] = ACTIONS(614),
    [anon_sym_COMMA] = ACTIONS(614),
    [anon_sym_PIPE] = ACTIONS(616),
    [anon_sym_SEMI] = ACTIONS(614),
    [anon_sym_STAR_STAR] = ACTIONS(616),
    [anon_sym_AMP] = ACTIONS(616),
    [anon_sym_EQ] = ACTIONS(616),
    [anon_sym_LT] = ACTIONS(616),
    [anon_sym_if] = ACTIONS(614),
    [anon_sym_unless] = ACTIONS(614),
    [anon_sym_while] = ACTIONS(614),
    [anon_sym_until] = ACTIONS(614),
    [anon_sym_rescue] = ACTIONS(614),
    [anon_sym_do] = ACTIONS(614),
    [anon_sym_when] = ACTIONS(614),
    [anon_sym_elsif] = ACTIONS(614),
    [anon_sym_else] = ACTIONS(614),
    [anon_sym_then] = ACTIONS(614),
    [anon_sym_ensure] = ACTIONS(614),
    [anon_sym_AMP_DOT] = ACTIONS(614),
    [anon_sym_PLUS_EQ] = ACTIONS(614),
    [anon_sym_DASH_EQ] = ACTIONS(614),
    [anon_sym_STAR_EQ] = ACTIONS(614),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(614),
    [anon_sym_SLASH_EQ] = ACTIONS(614),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(614),
    [anon_sym_PIPE_EQ] = ACTIONS(614),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(614),
    [anon_sym_AMP_EQ] = ACTIONS(614),
    [anon_sym_PERCENT_EQ] = ACTIONS(614),
    [anon_sym_GT_GT_EQ] = ACTIONS(614),
    [anon_sym_LT_LT_EQ] = ACTIONS(614),
    [anon_sym_CARET_EQ] = ACTIONS(614),
    [anon_sym_QMARK] = ACTIONS(614),
    [anon_sym_DOT_DOT] = ACTIONS(616),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(614),
    [anon_sym_and] = ACTIONS(614),
    [anon_sym_or] = ACTIONS(614),
    [anon_sym_PIPE_PIPE] = ACTIONS(616),
    [anon_sym_AMP_AMP] = ACTIONS(616),
    [anon_sym_LT_LT] = ACTIONS(616),
    [anon_sym_GT_GT] = ACTIONS(616),
    [anon_sym_EQ_EQ] = ACTIONS(616),
    [anon_sym_BANG_EQ] = ACTIONS(614),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(614),
    [anon_sym_LT_EQ_GT] = ACTIONS(614),
    [anon_sym_EQ_TILDE] = ACTIONS(614),
    [anon_sym_BANG_TILDE] = ACTIONS(614),
    [anon_sym_LT_EQ] = ACTIONS(616),
    [anon_sym_GT] = ACTIONS(616),
    [anon_sym_GT_EQ] = ACTIONS(614),
    [anon_sym_CARET] = ACTIONS(616),
    [anon_sym_PLUS] = ACTIONS(616),
    [anon_sym_SLASH] = ACTIONS(616),
    [anon_sym_PERCENT] = ACTIONS(616),
    [sym_comment] = ACTIONS(256),
  },
  [2066] = {
    [sym__simple_heredoc_body] = ACTIONS(618),
    [sym__heredoc_body_beginning] = ACTIONS(618),
    [sym__line_break] = ACTIONS(618),
    [sym__element_reference_left_bracket] = ACTIONS(618),
    [sym__scope_double_colon] = ACTIONS(618),
    [sym__binary_minus] = ACTIONS(618),
    [sym__binary_star] = ACTIONS(618),
    [ts_builtin_sym_end] = ACTIONS(618),
    [anon_sym___END__] = ACTIONS(618),
    [anon_sym_LBRACE] = ACTIONS(618),
    [anon_sym_RBRACE] = ACTIONS(618),
    [anon_sym_RPAREN] = ACTIONS(618),
    [anon_sym_DOT] = ACTIONS(620),
    [anon_sym_end] = ACTIONS(618),
    [anon_sym_COMMA] = ACTIONS(618),
    [anon_sym_PIPE] = ACTIONS(620),
    [anon_sym_SEMI] = ACTIONS(618),
    [anon_sym_STAR_STAR] = ACTIONS(620),
    [anon_sym_AMP] = ACTIONS(620),
    [anon_sym_EQ] = ACTIONS(620),
    [anon_sym_LT] = ACTIONS(620),
    [anon_sym_if] = ACTIONS(618),
    [anon_sym_unless] = ACTIONS(618),
    [anon_sym_while] = ACTIONS(618),
    [anon_sym_until] = ACTIONS(618),
    [anon_sym_rescue] = ACTIONS(618),
    [anon_sym_do] = ACTIONS(618),
    [anon_sym_when] = ACTIONS(618),
    [anon_sym_elsif] = ACTIONS(618),
    [anon_sym_else] = ACTIONS(618),
    [anon_sym_then] = ACTIONS(618),
    [anon_sym_ensure] = ACTIONS(618),
    [anon_sym_AMP_DOT] = ACTIONS(618),
    [anon_sym_PLUS_EQ] = ACTIONS(618),
    [anon_sym_DASH_EQ] = ACTIONS(618),
    [anon_sym_STAR_EQ] = ACTIONS(618),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(618),
    [anon_sym_SLASH_EQ] = ACTIONS(618),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(618),
    [anon_sym_PIPE_EQ] = ACTIONS(618),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(618),
    [anon_sym_AMP_EQ] = ACTIONS(618),
    [anon_sym_PERCENT_EQ] = ACTIONS(618),
    [anon_sym_GT_GT_EQ] = ACTIONS(618),
    [anon_sym_LT_LT_EQ] = ACTIONS(618),
    [anon_sym_CARET_EQ] = ACTIONS(618),
    [anon_sym_QMARK] = ACTIONS(618),
    [anon_sym_DOT_DOT] = ACTIONS(620),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(618),
    [anon_sym_and] = ACTIONS(618),
    [anon_sym_or] = ACTIONS(618),
    [anon_sym_PIPE_PIPE] = ACTIONS(620),
    [anon_sym_AMP_AMP] = ACTIONS(620),
    [anon_sym_LT_LT] = ACTIONS(620),
    [anon_sym_GT_GT] = ACTIONS(620),
    [anon_sym_EQ_EQ] = ACTIONS(620),
    [anon_sym_BANG_EQ] = ACTIONS(618),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(618),
    [anon_sym_LT_EQ_GT] = ACTIONS(618),
    [anon_sym_EQ_TILDE] = ACTIONS(618),
    [anon_sym_BANG_TILDE] = ACTIONS(618),
    [anon_sym_LT_EQ] = ACTIONS(620),
    [anon_sym_GT] = ACTIONS(620),
    [anon_sym_GT_EQ] = ACTIONS(618),
    [anon_sym_CARET] = ACTIONS(620),
    [anon_sym_PLUS] = ACTIONS(620),
    [anon_sym_SLASH] = ACTIONS(620),
    [anon_sym_PERCENT] = ACTIONS(620),
    [sym_comment] = ACTIONS(256),
  },
  [2067] = {
    [sym__statement] = STATE(4944),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(361),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2068] = {
    [sym__statement] = STATE(4945),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(361),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2069] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4946),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2070] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4947),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2071] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(285),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(381),
    [sym_call] = STATE(381),
    [sym_method_call] = STATE(286),
    [sym__mlhs] = STATE(4948),
    [sym__simple_mlhs] = STATE(383),
    [sym_destructured_left_assignment] = STATE(383),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(384),
    [sym__variable] = STATE(381),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(658),
    [anon_sym_COLON_COLON] = ACTIONS(460),
    [anon_sym_STAR] = ACTIONS(660),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(494),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [2072] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_when] = STATE(4949),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4950),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(400),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(401),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(387),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__terminator] = STATE(402),
    [aux_sym_case_repeat1] = STATE(4951),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(666),
    [sym__unary_minus] = ACTIONS(668),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_when] = ACTIONS(678),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(680),
    [anon_sym_defined_QMARK] = ACTIONS(682),
    [anon_sym_not] = ACTIONS(684),
    [anon_sym_BANG] = ACTIONS(686),
    [anon_sym_TILDE] = ACTIONS(686),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2073] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(4953),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(4954),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(692),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(7160),
    [anon_sym_SEMI] = ACTIONS(698),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2074] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(4955),
    [sym__primary] = STATE(2082),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(2083),
    [sym_call] = STATE(2083),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(2085),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2086),
    [sym__variable] = STATE(2083),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(3162),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(3174),
    [anon_sym_yield] = ACTIONS(3176),
    [anon_sym_break] = ACTIONS(3178),
    [anon_sym_next] = ACTIONS(3180),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(3200),
    [anon_sym_defined_QMARK] = ACTIONS(3202),
    [anon_sym_not] = ACTIONS(3204),
    [anon_sym_BANG] = ACTIONS(3206),
    [anon_sym_TILDE] = ACTIONS(3206),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [2075] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(4956),
    [sym__primary] = STATE(2082),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(2083),
    [sym_call] = STATE(2083),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(2085),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2086),
    [sym__variable] = STATE(2083),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(3162),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(3174),
    [anon_sym_yield] = ACTIONS(3176),
    [anon_sym_break] = ACTIONS(3178),
    [anon_sym_next] = ACTIONS(3180),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(3200),
    [anon_sym_defined_QMARK] = ACTIONS(3202),
    [anon_sym_not] = ACTIONS(3204),
    [anon_sym_BANG] = ACTIONS(3206),
    [anon_sym_TILDE] = ACTIONS(3206),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [2076] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(4957),
    [sym__primary] = STATE(2082),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(2083),
    [sym_call] = STATE(2083),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(2085),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2086),
    [sym__variable] = STATE(2083),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(3162),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(3174),
    [anon_sym_yield] = ACTIONS(3176),
    [anon_sym_break] = ACTIONS(3178),
    [anon_sym_next] = ACTIONS(3180),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(3200),
    [anon_sym_defined_QMARK] = ACTIONS(3202),
    [anon_sym_not] = ACTIONS(3204),
    [anon_sym_BANG] = ACTIONS(3206),
    [anon_sym_TILDE] = ACTIONS(3206),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [2077] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [ts_builtin_sym_end] = ACTIONS(250),
    [anon_sym___END__] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_RBRACE] = ACTIONS(250),
    [anon_sym_RPAREN] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_end] = ACTIONS(250),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_when] = ACTIONS(250),
    [anon_sym_elsif] = ACTIONS(250),
    [anon_sym_else] = ACTIONS(250),
    [anon_sym_then] = ACTIONS(250),
    [anon_sym_ensure] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
    [anon_sym_r] = ACTIONS(7162),
  },
  [2078] = {
    [sym__simple_heredoc_body] = ACTIONS(778),
    [sym__heredoc_body_beginning] = ACTIONS(778),
    [sym__line_break] = ACTIONS(778),
    [sym__element_reference_left_bracket] = ACTIONS(778),
    [sym__scope_double_colon] = ACTIONS(778),
    [sym__binary_minus] = ACTIONS(778),
    [sym__binary_star] = ACTIONS(778),
    [ts_builtin_sym_end] = ACTIONS(778),
    [anon_sym___END__] = ACTIONS(778),
    [anon_sym_LBRACE] = ACTIONS(778),
    [anon_sym_RBRACE] = ACTIONS(778),
    [anon_sym_RPAREN] = ACTIONS(778),
    [anon_sym_DOT] = ACTIONS(780),
    [anon_sym_end] = ACTIONS(778),
    [anon_sym_COMMA] = ACTIONS(778),
    [anon_sym_PIPE] = ACTIONS(780),
    [anon_sym_SEMI] = ACTIONS(778),
    [anon_sym_STAR_STAR] = ACTIONS(780),
    [anon_sym_AMP] = ACTIONS(780),
    [anon_sym_EQ] = ACTIONS(780),
    [anon_sym_LT] = ACTIONS(780),
    [anon_sym_if] = ACTIONS(778),
    [anon_sym_unless] = ACTIONS(778),
    [anon_sym_while] = ACTIONS(778),
    [anon_sym_until] = ACTIONS(778),
    [anon_sym_rescue] = ACTIONS(778),
    [anon_sym_do] = ACTIONS(778),
    [anon_sym_when] = ACTIONS(778),
    [anon_sym_elsif] = ACTIONS(778),
    [anon_sym_else] = ACTIONS(778),
    [anon_sym_then] = ACTIONS(778),
    [anon_sym_ensure] = ACTIONS(778),
    [anon_sym_AMP_DOT] = ACTIONS(778),
    [anon_sym_PLUS_EQ] = ACTIONS(778),
    [anon_sym_DASH_EQ] = ACTIONS(778),
    [anon_sym_STAR_EQ] = ACTIONS(778),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(778),
    [anon_sym_SLASH_EQ] = ACTIONS(778),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(778),
    [anon_sym_PIPE_EQ] = ACTIONS(778),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(778),
    [anon_sym_AMP_EQ] = ACTIONS(778),
    [anon_sym_PERCENT_EQ] = ACTIONS(778),
    [anon_sym_GT_GT_EQ] = ACTIONS(778),
    [anon_sym_LT_LT_EQ] = ACTIONS(778),
    [anon_sym_CARET_EQ] = ACTIONS(778),
    [anon_sym_QMARK] = ACTIONS(778),
    [anon_sym_DOT_DOT] = ACTIONS(780),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(778),
    [anon_sym_and] = ACTIONS(778),
    [anon_sym_or] = ACTIONS(778),
    [anon_sym_PIPE_PIPE] = ACTIONS(780),
    [anon_sym_AMP_AMP] = ACTIONS(780),
    [anon_sym_LT_LT] = ACTIONS(780),
    [anon_sym_GT_GT] = ACTIONS(780),
    [anon_sym_EQ_EQ] = ACTIONS(780),
    [anon_sym_BANG_EQ] = ACTIONS(778),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(778),
    [anon_sym_LT_EQ_GT] = ACTIONS(778),
    [anon_sym_EQ_TILDE] = ACTIONS(778),
    [anon_sym_BANG_TILDE] = ACTIONS(778),
    [anon_sym_LT_EQ] = ACTIONS(780),
    [anon_sym_GT] = ACTIONS(780),
    [anon_sym_GT_EQ] = ACTIONS(778),
    [anon_sym_CARET] = ACTIONS(780),
    [anon_sym_PLUS] = ACTIONS(780),
    [anon_sym_SLASH] = ACTIONS(780),
    [anon_sym_PERCENT] = ACTIONS(780),
    [sym_comment] = ACTIONS(256),
  },
  [2079] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(501),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(4960),
    [sym__argument] = STATE(506),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(509),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(510),
    [sym__variable] = STATE(504),
    [sym_reserved_identifier] = STATE(511),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(512),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(4961),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(804),
    [sym__splat_star] = ACTIONS(806),
    [sym__unary_minus] = ACTIONS(808),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(818),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(824),
    [anon_sym_yield] = ACTIONS(826),
    [anon_sym_break] = ACTIONS(828),
    [anon_sym_next] = ACTIONS(830),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_RBRACK] = ACTIONS(7164),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(852),
    [anon_sym_defined_QMARK] = ACTIONS(854),
    [anon_sym_not] = ACTIONS(856),
    [anon_sym_BANG] = ACTIONS(858),
    [anon_sym_TILDE] = ACTIONS(858),
    [sym_constant] = ACTIONS(860),
    [sym_identifier] = ACTIONS(860),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2080] = {
    [sym_lambda_parameters] = STATE(4962),
    [sym__simple_formal_parameter] = STATE(522),
    [sym_splat_parameter] = STATE(523),
    [sym_hash_splat_parameter] = STATE(523),
    [sym_block_parameter] = STATE(523),
    [sym_keyword_parameter] = STATE(523),
    [sym_optional_parameter] = STATE(523),
    [sym_do_block] = STATE(4963),
    [sym_block] = STATE(4963),
    [anon_sym_LBRACE] = ACTIONS(3348),
    [anon_sym_LPAREN] = ACTIONS(896),
    [anon_sym_STAR] = ACTIONS(898),
    [anon_sym_STAR_STAR] = ACTIONS(900),
    [anon_sym_AMP] = ACTIONS(902),
    [anon_sym_do] = ACTIONS(7166),
    [sym_identifier] = ACTIONS(906),
    [sym_comment] = ACTIONS(110),
  },
  [2081] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__line_break] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(7168),
    [sym__binary_star] = ACTIONS(7170),
    [ts_builtin_sym_end] = ACTIONS(5298),
    [anon_sym___END__] = ACTIONS(5298),
    [anon_sym_LBRACE] = ACTIONS(5298),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(7172),
    [anon_sym_SEMI] = ACTIONS(5298),
    [anon_sym_STAR_STAR] = ACTIONS(7174),
    [anon_sym_AMP] = ACTIONS(7176),
    [anon_sym_EQ] = ACTIONS(5304),
    [anon_sym_LT] = ACTIONS(7178),
    [anon_sym_if] = ACTIONS(5298),
    [anon_sym_unless] = ACTIONS(5298),
    [anon_sym_while] = ACTIONS(5298),
    [anon_sym_until] = ACTIONS(5298),
    [anon_sym_rescue] = ACTIONS(5298),
    [anon_sym_do] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_PLUS_EQ] = ACTIONS(5298),
    [anon_sym_DASH_EQ] = ACTIONS(5298),
    [anon_sym_STAR_EQ] = ACTIONS(5298),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5298),
    [anon_sym_SLASH_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5298),
    [anon_sym_AMP_EQ] = ACTIONS(5298),
    [anon_sym_PERCENT_EQ] = ACTIONS(5298),
    [anon_sym_GT_GT_EQ] = ACTIONS(5298),
    [anon_sym_LT_LT_EQ] = ACTIONS(5298),
    [anon_sym_CARET_EQ] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(7180),
    [anon_sym_DOT_DOT] = ACTIONS(7182),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7184),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(7186),
    [anon_sym_AMP_AMP] = ACTIONS(7186),
    [anon_sym_LT_LT] = ACTIONS(7188),
    [anon_sym_GT_GT] = ACTIONS(7188),
    [anon_sym_EQ_EQ] = ACTIONS(7186),
    [anon_sym_BANG_EQ] = ACTIONS(7190),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7190),
    [anon_sym_LT_EQ_GT] = ACTIONS(7190),
    [anon_sym_EQ_TILDE] = ACTIONS(7190),
    [anon_sym_BANG_TILDE] = ACTIONS(7190),
    [anon_sym_LT_EQ] = ACTIONS(7178),
    [anon_sym_GT] = ACTIONS(7178),
    [anon_sym_GT_EQ] = ACTIONS(7192),
    [anon_sym_CARET] = ACTIONS(7172),
    [anon_sym_PLUS] = ACTIONS(7194),
    [anon_sym_SLASH] = ACTIONS(7174),
    [anon_sym_PERCENT] = ACTIONS(7174),
    [sym_comment] = ACTIONS(256),
  },
  [2082] = {
    [sym__simple_heredoc_body] = ACTIONS(968),
    [sym__heredoc_body_beginning] = ACTIONS(968),
    [sym__line_break] = ACTIONS(968),
    [sym__element_reference_left_bracket] = ACTIONS(970),
    [sym__scope_double_colon] = ACTIONS(972),
    [sym__binary_minus] = ACTIONS(968),
    [sym__binary_star] = ACTIONS(968),
    [ts_builtin_sym_end] = ACTIONS(968),
    [anon_sym___END__] = ACTIONS(968),
    [anon_sym_LBRACE] = ACTIONS(968),
    [anon_sym_DOT] = ACTIONS(974),
    [anon_sym_COMMA] = ACTIONS(968),
    [anon_sym_PIPE] = ACTIONS(976),
    [anon_sym_SEMI] = ACTIONS(968),
    [anon_sym_STAR_STAR] = ACTIONS(976),
    [anon_sym_AMP] = ACTIONS(976),
    [anon_sym_EQ] = ACTIONS(976),
    [anon_sym_LT] = ACTIONS(976),
    [anon_sym_if] = ACTIONS(968),
    [anon_sym_unless] = ACTIONS(968),
    [anon_sym_while] = ACTIONS(968),
    [anon_sym_until] = ACTIONS(968),
    [anon_sym_rescue] = ACTIONS(968),
    [anon_sym_do] = ACTIONS(968),
    [anon_sym_AMP_DOT] = ACTIONS(978),
    [anon_sym_PLUS_EQ] = ACTIONS(968),
    [anon_sym_DASH_EQ] = ACTIONS(968),
    [anon_sym_STAR_EQ] = ACTIONS(968),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(968),
    [anon_sym_SLASH_EQ] = ACTIONS(968),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(968),
    [anon_sym_PIPE_EQ] = ACTIONS(968),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(968),
    [anon_sym_AMP_EQ] = ACTIONS(968),
    [anon_sym_PERCENT_EQ] = ACTIONS(968),
    [anon_sym_GT_GT_EQ] = ACTIONS(968),
    [anon_sym_LT_LT_EQ] = ACTIONS(968),
    [anon_sym_CARET_EQ] = ACTIONS(968),
    [anon_sym_QMARK] = ACTIONS(968),
    [anon_sym_DOT_DOT] = ACTIONS(976),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(968),
    [anon_sym_and] = ACTIONS(968),
    [anon_sym_or] = ACTIONS(968),
    [anon_sym_PIPE_PIPE] = ACTIONS(976),
    [anon_sym_AMP_AMP] = ACTIONS(976),
    [anon_sym_LT_LT] = ACTIONS(976),
    [anon_sym_GT_GT] = ACTIONS(976),
    [anon_sym_EQ_EQ] = ACTIONS(976),
    [anon_sym_BANG_EQ] = ACTIONS(968),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(968),
    [anon_sym_LT_EQ_GT] = ACTIONS(968),
    [anon_sym_EQ_TILDE] = ACTIONS(968),
    [anon_sym_BANG_TILDE] = ACTIONS(968),
    [anon_sym_LT_EQ] = ACTIONS(976),
    [anon_sym_GT] = ACTIONS(976),
    [anon_sym_GT_EQ] = ACTIONS(968),
    [anon_sym_CARET] = ACTIONS(976),
    [anon_sym_PLUS] = ACTIONS(976),
    [anon_sym_SLASH] = ACTIONS(976),
    [anon_sym_PERCENT] = ACTIONS(976),
    [sym_comment] = ACTIONS(256),
  },
  [2083] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(595),
    [sym__primary] = STATE(596),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(597),
    [sym_call] = STATE(597),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(1579),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(600),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_do_block] = STATE(602),
    [sym_block] = STATE(602),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(605),
    [sym__variable] = STATE(597),
    [sym_reserved_identifier] = STATE(606),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(607),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(1006),
    [sym__splat_star] = ACTIONS(1008),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(1012),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [ts_builtin_sym_end] = ACTIONS(980),
    [anon_sym___END__] = ACTIONS(982),
    [anon_sym_LBRACE] = ACTIONS(1014),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(1024),
    [anon_sym_yield] = ACTIONS(1026),
    [anon_sym_break] = ACTIONS(1028),
    [anon_sym_next] = ACTIONS(1030),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(982),
    [anon_sym_unless] = ACTIONS(982),
    [anon_sym_while] = ACTIONS(982),
    [anon_sym_until] = ACTIONS(982),
    [anon_sym_rescue] = ACTIONS(982),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(982),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(1044),
    [anon_sym_not] = ACTIONS(1046),
    [anon_sym_BANG] = ACTIONS(1048),
    [anon_sym_TILDE] = ACTIONS(1050),
    [sym_constant] = ACTIONS(1052),
    [sym_identifier] = ACTIONS(1052),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(588),
    [anon_sym_super] = ACTIONS(590),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [2084] = {
    [sym__simple_heredoc_body] = ACTIONS(968),
    [sym__heredoc_body_beginning] = ACTIONS(968),
    [sym__line_break] = ACTIONS(968),
    [sym__element_reference_left_bracket] = ACTIONS(968),
    [sym__scope_double_colon] = ACTIONS(968),
    [sym__binary_minus] = ACTIONS(968),
    [sym__binary_star] = ACTIONS(968),
    [ts_builtin_sym_end] = ACTIONS(968),
    [anon_sym___END__] = ACTIONS(968),
    [anon_sym_LBRACE] = ACTIONS(968),
    [anon_sym_RBRACE] = ACTIONS(968),
    [anon_sym_RPAREN] = ACTIONS(968),
    [anon_sym_DOT] = ACTIONS(976),
    [anon_sym_end] = ACTIONS(968),
    [anon_sym_COMMA] = ACTIONS(968),
    [anon_sym_PIPE] = ACTIONS(976),
    [anon_sym_SEMI] = ACTIONS(968),
    [anon_sym_STAR_STAR] = ACTIONS(976),
    [anon_sym_AMP] = ACTIONS(976),
    [anon_sym_EQ] = ACTIONS(976),
    [anon_sym_LT] = ACTIONS(976),
    [anon_sym_if] = ACTIONS(968),
    [anon_sym_unless] = ACTIONS(968),
    [anon_sym_while] = ACTIONS(968),
    [anon_sym_until] = ACTIONS(968),
    [anon_sym_rescue] = ACTIONS(968),
    [anon_sym_do] = ACTIONS(968),
    [anon_sym_when] = ACTIONS(968),
    [anon_sym_elsif] = ACTIONS(968),
    [anon_sym_else] = ACTIONS(968),
    [anon_sym_then] = ACTIONS(968),
    [anon_sym_ensure] = ACTIONS(968),
    [anon_sym_AMP_DOT] = ACTIONS(968),
    [anon_sym_PLUS_EQ] = ACTIONS(968),
    [anon_sym_DASH_EQ] = ACTIONS(968),
    [anon_sym_STAR_EQ] = ACTIONS(968),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(968),
    [anon_sym_SLASH_EQ] = ACTIONS(968),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(968),
    [anon_sym_PIPE_EQ] = ACTIONS(968),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(968),
    [anon_sym_AMP_EQ] = ACTIONS(968),
    [anon_sym_PERCENT_EQ] = ACTIONS(968),
    [anon_sym_GT_GT_EQ] = ACTIONS(968),
    [anon_sym_LT_LT_EQ] = ACTIONS(968),
    [anon_sym_CARET_EQ] = ACTIONS(968),
    [anon_sym_QMARK] = ACTIONS(968),
    [anon_sym_DOT_DOT] = ACTIONS(976),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(968),
    [anon_sym_and] = ACTIONS(968),
    [anon_sym_or] = ACTIONS(968),
    [anon_sym_PIPE_PIPE] = ACTIONS(976),
    [anon_sym_AMP_AMP] = ACTIONS(976),
    [anon_sym_LT_LT] = ACTIONS(976),
    [anon_sym_GT_GT] = ACTIONS(976),
    [anon_sym_EQ_EQ] = ACTIONS(976),
    [anon_sym_BANG_EQ] = ACTIONS(968),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(968),
    [anon_sym_LT_EQ_GT] = ACTIONS(968),
    [anon_sym_EQ_TILDE] = ACTIONS(968),
    [anon_sym_BANG_TILDE] = ACTIONS(968),
    [anon_sym_LT_EQ] = ACTIONS(976),
    [anon_sym_GT] = ACTIONS(976),
    [anon_sym_GT_EQ] = ACTIONS(968),
    [anon_sym_CARET] = ACTIONS(976),
    [anon_sym_PLUS] = ACTIONS(976),
    [anon_sym_SLASH] = ACTIONS(976),
    [anon_sym_PERCENT] = ACTIONS(976),
    [sym_comment] = ACTIONS(256),
  },
  [2085] = {
    [anon_sym_EQ] = ACTIONS(7196),
    [sym_comment] = ACTIONS(256),
  },
  [2086] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [ts_builtin_sym_end] = ACTIONS(250),
    [anon_sym___END__] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(7198),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(7200),
    [anon_sym_DASH_EQ] = ACTIONS(7200),
    [anon_sym_STAR_EQ] = ACTIONS(7200),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7200),
    [anon_sym_SLASH_EQ] = ACTIONS(7200),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7200),
    [anon_sym_PIPE_EQ] = ACTIONS(7200),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7200),
    [anon_sym_AMP_EQ] = ACTIONS(7200),
    [anon_sym_PERCENT_EQ] = ACTIONS(7200),
    [anon_sym_GT_GT_EQ] = ACTIONS(7200),
    [anon_sym_LT_LT_EQ] = ACTIONS(7200),
    [anon_sym_CARET_EQ] = ACTIONS(7200),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [2087] = {
    [sym_string] = STATE(4978),
    [aux_sym_chained_string_repeat1] = STATE(4979),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [ts_builtin_sym_end] = ACTIONS(250),
    [anon_sym___END__] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_RBRACE] = ACTIONS(250),
    [anon_sym_RPAREN] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_end] = ACTIONS(250),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_when] = ACTIONS(250),
    [anon_sym_elsif] = ACTIONS(250),
    [anon_sym_else] = ACTIONS(250),
    [anon_sym_then] = ACTIONS(250),
    [anon_sym_ensure] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(3216),
  },
  [2088] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__line_break] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(7168),
    [sym__binary_star] = ACTIONS(7170),
    [ts_builtin_sym_end] = ACTIONS(5338),
    [anon_sym___END__] = ACTIONS(5338),
    [anon_sym_LBRACE] = ACTIONS(5338),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(7172),
    [anon_sym_SEMI] = ACTIONS(5338),
    [anon_sym_STAR_STAR] = ACTIONS(7174),
    [anon_sym_AMP] = ACTIONS(7176),
    [anon_sym_EQ] = ACTIONS(5340),
    [anon_sym_LT] = ACTIONS(7178),
    [anon_sym_if] = ACTIONS(5338),
    [anon_sym_unless] = ACTIONS(5338),
    [anon_sym_while] = ACTIONS(5338),
    [anon_sym_until] = ACTIONS(5338),
    [anon_sym_rescue] = ACTIONS(5338),
    [anon_sym_do] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_PLUS_EQ] = ACTIONS(5338),
    [anon_sym_DASH_EQ] = ACTIONS(5338),
    [anon_sym_STAR_EQ] = ACTIONS(5338),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5338),
    [anon_sym_SLASH_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5338),
    [anon_sym_AMP_EQ] = ACTIONS(5338),
    [anon_sym_PERCENT_EQ] = ACTIONS(5338),
    [anon_sym_GT_GT_EQ] = ACTIONS(5338),
    [anon_sym_LT_LT_EQ] = ACTIONS(5338),
    [anon_sym_CARET_EQ] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(7180),
    [anon_sym_DOT_DOT] = ACTIONS(7182),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7184),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(7186),
    [anon_sym_AMP_AMP] = ACTIONS(7186),
    [anon_sym_LT_LT] = ACTIONS(7188),
    [anon_sym_GT_GT] = ACTIONS(7188),
    [anon_sym_EQ_EQ] = ACTIONS(7186),
    [anon_sym_BANG_EQ] = ACTIONS(7190),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7190),
    [anon_sym_LT_EQ_GT] = ACTIONS(7190),
    [anon_sym_EQ_TILDE] = ACTIONS(7190),
    [anon_sym_BANG_TILDE] = ACTIONS(7190),
    [anon_sym_LT_EQ] = ACTIONS(7178),
    [anon_sym_GT] = ACTIONS(7178),
    [anon_sym_GT_EQ] = ACTIONS(7192),
    [anon_sym_CARET] = ACTIONS(7172),
    [anon_sym_PLUS] = ACTIONS(7194),
    [anon_sym_SLASH] = ACTIONS(7174),
    [anon_sym_PERCENT] = ACTIONS(7174),
    [sym_comment] = ACTIONS(256),
  },
  [2089] = {
    [sym__simple_heredoc_body] = ACTIONS(5370),
    [sym__heredoc_body_beginning] = ACTIONS(5370),
    [sym__line_break] = ACTIONS(5370),
    [sym__element_reference_left_bracket] = ACTIONS(5370),
    [sym__scope_double_colon] = ACTIONS(5370),
    [sym__binary_minus] = ACTIONS(5370),
    [sym__binary_star] = ACTIONS(5370),
    [ts_builtin_sym_end] = ACTIONS(5370),
    [anon_sym___END__] = ACTIONS(5370),
    [anon_sym_LBRACE] = ACTIONS(5370),
    [anon_sym_RBRACE] = ACTIONS(5370),
    [anon_sym_RPAREN] = ACTIONS(5370),
    [anon_sym_DOT] = ACTIONS(5372),
    [anon_sym_end] = ACTIONS(5370),
    [anon_sym_COMMA] = ACTIONS(5370),
    [anon_sym_PIPE] = ACTIONS(5372),
    [anon_sym_SEMI] = ACTIONS(5370),
    [anon_sym_STAR_STAR] = ACTIONS(5372),
    [anon_sym_AMP] = ACTIONS(5372),
    [anon_sym_EQ] = ACTIONS(5372),
    [anon_sym_LT] = ACTIONS(5372),
    [anon_sym_if] = ACTIONS(5370),
    [anon_sym_unless] = ACTIONS(5370),
    [anon_sym_while] = ACTIONS(5370),
    [anon_sym_until] = ACTIONS(5370),
    [anon_sym_rescue] = ACTIONS(5370),
    [anon_sym_do] = ACTIONS(5370),
    [anon_sym_when] = ACTIONS(5370),
    [anon_sym_elsif] = ACTIONS(5370),
    [anon_sym_else] = ACTIONS(5370),
    [anon_sym_then] = ACTIONS(5370),
    [anon_sym_ensure] = ACTIONS(5370),
    [anon_sym_AMP_DOT] = ACTIONS(5370),
    [anon_sym_PLUS_EQ] = ACTIONS(5370),
    [anon_sym_DASH_EQ] = ACTIONS(5370),
    [anon_sym_STAR_EQ] = ACTIONS(5370),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5370),
    [anon_sym_SLASH_EQ] = ACTIONS(5370),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5370),
    [anon_sym_PIPE_EQ] = ACTIONS(5370),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5370),
    [anon_sym_AMP_EQ] = ACTIONS(5370),
    [anon_sym_PERCENT_EQ] = ACTIONS(5370),
    [anon_sym_GT_GT_EQ] = ACTIONS(5370),
    [anon_sym_LT_LT_EQ] = ACTIONS(5370),
    [anon_sym_CARET_EQ] = ACTIONS(5370),
    [anon_sym_QMARK] = ACTIONS(5370),
    [anon_sym_DOT_DOT] = ACTIONS(5372),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5370),
    [anon_sym_and] = ACTIONS(5370),
    [anon_sym_or] = ACTIONS(5370),
    [anon_sym_PIPE_PIPE] = ACTIONS(5372),
    [anon_sym_AMP_AMP] = ACTIONS(5372),
    [anon_sym_LT_LT] = ACTIONS(5372),
    [anon_sym_GT_GT] = ACTIONS(5372),
    [anon_sym_EQ_EQ] = ACTIONS(5372),
    [anon_sym_BANG_EQ] = ACTIONS(5370),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5370),
    [anon_sym_LT_EQ_GT] = ACTIONS(5370),
    [anon_sym_EQ_TILDE] = ACTIONS(5370),
    [anon_sym_BANG_TILDE] = ACTIONS(5370),
    [anon_sym_LT_EQ] = ACTIONS(5372),
    [anon_sym_GT] = ACTIONS(5372),
    [anon_sym_GT_EQ] = ACTIONS(5370),
    [anon_sym_CARET] = ACTIONS(5372),
    [anon_sym_PLUS] = ACTIONS(5372),
    [anon_sym_SLASH] = ACTIONS(5372),
    [anon_sym_PERCENT] = ACTIONS(5372),
    [sym_comment] = ACTIONS(256),
  },
  [2090] = {
    [sym_heredoc_end] = STATE(4981),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RPAREN] = ACTIONS(7202),
    [sym_comment] = ACTIONS(110),
  },
  [2091] = {
    [anon_sym_RPAREN] = ACTIONS(7202),
    [sym_comment] = ACTIONS(110),
  },
  [2092] = {
    [sym__simple_string] = ACTIONS(126),
    [sym__simple_heredoc_body] = ACTIONS(126),
    [sym__string_beginning] = ACTIONS(126),
    [sym__heredoc_body_beginning] = ACTIONS(126),
    [sym__line_break] = ACTIONS(126),
    [sym__element_reference_left_bracket] = ACTIONS(126),
    [sym__scope_double_colon] = ACTIONS(126),
    [sym__binary_minus] = ACTIONS(126),
    [sym__binary_star] = ACTIONS(126),
    [ts_builtin_sym_end] = ACTIONS(126),
    [anon_sym___END__] = ACTIONS(126),
    [anon_sym_LBRACE] = ACTIONS(126),
    [anon_sym_RBRACE] = ACTIONS(126),
    [anon_sym_RPAREN] = ACTIONS(126),
    [anon_sym_DOT] = ACTIONS(128),
    [anon_sym_end] = ACTIONS(126),
    [anon_sym_COMMA] = ACTIONS(126),
    [anon_sym_PIPE] = ACTIONS(128),
    [anon_sym_SEMI] = ACTIONS(126),
    [anon_sym_STAR_STAR] = ACTIONS(128),
    [anon_sym_AMP] = ACTIONS(128),
    [anon_sym_EQ] = ACTIONS(128),
    [anon_sym_LT] = ACTIONS(128),
    [anon_sym_if] = ACTIONS(126),
    [anon_sym_unless] = ACTIONS(126),
    [anon_sym_while] = ACTIONS(126),
    [anon_sym_until] = ACTIONS(126),
    [anon_sym_rescue] = ACTIONS(126),
    [anon_sym_do] = ACTIONS(126),
    [anon_sym_when] = ACTIONS(126),
    [anon_sym_elsif] = ACTIONS(126),
    [anon_sym_else] = ACTIONS(126),
    [anon_sym_then] = ACTIONS(126),
    [anon_sym_ensure] = ACTIONS(126),
    [anon_sym_EQ_GT] = ACTIONS(126),
    [anon_sym_AMP_DOT] = ACTIONS(126),
    [anon_sym_PLUS_EQ] = ACTIONS(126),
    [anon_sym_DASH_EQ] = ACTIONS(126),
    [anon_sym_STAR_EQ] = ACTIONS(126),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(126),
    [anon_sym_SLASH_EQ] = ACTIONS(126),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(126),
    [anon_sym_PIPE_EQ] = ACTIONS(126),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(126),
    [anon_sym_AMP_EQ] = ACTIONS(126),
    [anon_sym_PERCENT_EQ] = ACTIONS(126),
    [anon_sym_GT_GT_EQ] = ACTIONS(126),
    [anon_sym_LT_LT_EQ] = ACTIONS(126),
    [anon_sym_CARET_EQ] = ACTIONS(126),
    [anon_sym_QMARK] = ACTIONS(128),
    [anon_sym_DOT_DOT] = ACTIONS(128),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(126),
    [anon_sym_and] = ACTIONS(126),
    [anon_sym_or] = ACTIONS(126),
    [anon_sym_PIPE_PIPE] = ACTIONS(128),
    [anon_sym_AMP_AMP] = ACTIONS(128),
    [anon_sym_LT_LT] = ACTIONS(128),
    [anon_sym_GT_GT] = ACTIONS(128),
    [anon_sym_EQ_EQ] = ACTIONS(128),
    [anon_sym_BANG_EQ] = ACTIONS(126),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(126),
    [anon_sym_LT_EQ_GT] = ACTIONS(126),
    [anon_sym_EQ_TILDE] = ACTIONS(126),
    [anon_sym_BANG_TILDE] = ACTIONS(126),
    [anon_sym_LT_EQ] = ACTIONS(128),
    [anon_sym_GT] = ACTIONS(128),
    [anon_sym_GT_EQ] = ACTIONS(126),
    [anon_sym_CARET] = ACTIONS(128),
    [anon_sym_PLUS] = ACTIONS(128),
    [anon_sym_SLASH] = ACTIONS(128),
    [anon_sym_PERCENT] = ACTIONS(128),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(128),
  },
  [2093] = {
    [sym__statement] = STATE(4982),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(4983),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [2094] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(193),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_hash_splat_argument] = STATE(197),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(199),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(200),
    [sym__variable] = STATE(196),
    [sym_reserved_identifier] = STATE(201),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(202),
    [sym_subshell] = STATE(151),
    [sym_heredoc_end] = STATE(2133),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym__hash_items] = STATE(2134),
    [sym_pair] = STATE(205),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(260),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(272),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(286),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_RBRACE] = ACTIONS(3270),
    [anon_sym_def] = ACTIONS(292),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(302),
    [anon_sym_class] = ACTIONS(304),
    [anon_sym_module] = ACTIONS(306),
    [anon_sym_return] = ACTIONS(308),
    [anon_sym_yield] = ACTIONS(310),
    [anon_sym_break] = ACTIONS(312),
    [anon_sym_next] = ACTIONS(314),
    [anon_sym_redo] = ACTIONS(316),
    [anon_sym_retry] = ACTIONS(318),
    [anon_sym_if] = ACTIONS(320),
    [anon_sym_unless] = ACTIONS(322),
    [anon_sym_while] = ACTIONS(324),
    [anon_sym_until] = ACTIONS(326),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(328),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(330),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(332),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(334),
    [anon_sym_defined_QMARK] = ACTIONS(336),
    [anon_sym_not] = ACTIONS(338),
    [anon_sym_BANG] = ACTIONS(340),
    [anon_sym_TILDE] = ACTIONS(340),
    [sym_constant] = ACTIONS(342),
    [sym_identifier] = ACTIONS(342),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(346),
    [anon_sym_nil] = ACTIONS(348),
    [anon_sym_self] = ACTIONS(350),
    [anon_sym_super] = ACTIONS(352),
    [anon_sym_true] = ACTIONS(354),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(370),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [2095] = {
    [sym__method_rest] = STATE(2136),
    [sym__variable] = STATE(2137),
    [sym_operator] = STATE(217),
    [sym__method_name] = STATE(2138),
    [sym_setter] = STATE(217),
    [sym_symbol] = STATE(217),
    [sym_super] = STATE(219),
    [sym_self] = STATE(219),
    [sym__simple_symbol] = ACTIONS(378),
    [sym__symbol_beginning] = ACTIONS(380),
    [anon_sym_LPAREN] = ACTIONS(3294),
    [anon_sym_PIPE] = ACTIONS(384),
    [anon_sym_STAR] = ACTIONS(386),
    [anon_sym_STAR_STAR] = ACTIONS(384),
    [anon_sym_AMP] = ACTIONS(384),
    [anon_sym_LT] = ACTIONS(386),
    [anon_sym_DOT_DOT] = ACTIONS(384),
    [anon_sym_LT_LT] = ACTIONS(384),
    [anon_sym_GT_GT] = ACTIONS(384),
    [anon_sym_EQ_EQ] = ACTIONS(386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(384),
    [anon_sym_LT_EQ_GT] = ACTIONS(384),
    [anon_sym_EQ_TILDE] = ACTIONS(384),
    [anon_sym_BANG_TILDE] = ACTIONS(384),
    [anon_sym_LT_EQ] = ACTIONS(386),
    [anon_sym_GT] = ACTIONS(386),
    [anon_sym_GT_EQ] = ACTIONS(384),
    [anon_sym_CARET] = ACTIONS(384),
    [anon_sym_PLUS] = ACTIONS(386),
    [anon_sym_SLASH] = ACTIONS(384),
    [anon_sym_PERCENT] = ACTIONS(384),
    [anon_sym_BANG] = ACTIONS(386),
    [anon_sym_TILDE] = ACTIONS(384),
    [sym_constant] = ACTIONS(388),
    [sym_identifier] = ACTIONS(390),
    [sym_instance_variable] = ACTIONS(388),
    [sym_class_variable] = ACTIONS(388),
    [sym_global_variable] = ACTIONS(388),
    [anon_sym_self] = ACTIONS(392),
    [anon_sym_super] = ACTIONS(394),
    [anon_sym_DASH] = ACTIONS(386),
    [anon_sym_PLUS_AT] = ACTIONS(384),
    [anon_sym_DASH_AT] = ACTIONS(384),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(386),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(384),
    [anon_sym_BQUOTE] = ACTIONS(384),
    [sym_comment] = ACTIONS(110),
  },
  [2096] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(293),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(2144),
    [sym_call] = STATE(295),
    [sym_method_call] = STATE(286),
    [sym__lhs] = STATE(255),
    [sym__variable] = STATE(295),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [sym__singleton_class_left_angle_left_langle] = ACTIONS(3298),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(458),
    [anon_sym_COLON_COLON] = ACTIONS(524),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(3300),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [2097] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(293),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(2146),
    [sym_call] = STATE(295),
    [sym_method_call] = STATE(286),
    [sym__lhs] = STATE(255),
    [sym__variable] = STATE(295),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(458),
    [anon_sym_COLON_COLON] = ACTIONS(524),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(3302),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [2098] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1434),
    [sym__primary] = STATE(596),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(597),
    [sym_call] = STATE(597),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2147),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(1437),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(605),
    [sym__variable] = STATE(597),
    [sym_reserved_identifier] = STATE(1440),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1441),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(2252),
    [sym__splat_star] = ACTIONS(2254),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(1012),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [ts_builtin_sym_end] = ACTIONS(532),
    [anon_sym___END__] = ACTIONS(544),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(544),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(1024),
    [anon_sym_yield] = ACTIONS(1026),
    [anon_sym_break] = ACTIONS(1028),
    [anon_sym_next] = ACTIONS(1030),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_PLUS_EQ] = ACTIONS(532),
    [anon_sym_DASH_EQ] = ACTIONS(532),
    [anon_sym_STAR_EQ] = ACTIONS(532),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(532),
    [anon_sym_SLASH_EQ] = ACTIONS(532),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(532),
    [anon_sym_PIPE_EQ] = ACTIONS(532),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(532),
    [anon_sym_AMP_EQ] = ACTIONS(532),
    [anon_sym_PERCENT_EQ] = ACTIONS(532),
    [anon_sym_GT_GT_EQ] = ACTIONS(532),
    [anon_sym_LT_LT_EQ] = ACTIONS(532),
    [anon_sym_CARET_EQ] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(544),
    [anon_sym_AMP_AMP] = ACTIONS(544),
    [anon_sym_LT_LT] = ACTIONS(544),
    [anon_sym_GT_GT] = ACTIONS(544),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(544),
    [anon_sym_PERCENT] = ACTIONS(544),
    [anon_sym_defined_QMARK] = ACTIONS(1044),
    [anon_sym_not] = ACTIONS(1046),
    [anon_sym_BANG] = ACTIONS(1048),
    [anon_sym_TILDE] = ACTIONS(1050),
    [sym_constant] = ACTIONS(2262),
    [sym_identifier] = ACTIONS(2262),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(588),
    [anon_sym_super] = ACTIONS(590),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [2099] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1434),
    [sym__primary] = STATE(596),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(597),
    [sym_call] = STATE(597),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2148),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(1437),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(605),
    [sym__variable] = STATE(597),
    [sym_reserved_identifier] = STATE(1440),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1441),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(2252),
    [sym__splat_star] = ACTIONS(2254),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(1012),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [ts_builtin_sym_end] = ACTIONS(602),
    [anon_sym___END__] = ACTIONS(604),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(604),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(1024),
    [anon_sym_yield] = ACTIONS(1026),
    [anon_sym_break] = ACTIONS(1028),
    [anon_sym_next] = ACTIONS(1030),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_PLUS_EQ] = ACTIONS(602),
    [anon_sym_DASH_EQ] = ACTIONS(602),
    [anon_sym_STAR_EQ] = ACTIONS(602),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(602),
    [anon_sym_SLASH_EQ] = ACTIONS(602),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(602),
    [anon_sym_PIPE_EQ] = ACTIONS(602),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(602),
    [anon_sym_AMP_EQ] = ACTIONS(602),
    [anon_sym_PERCENT_EQ] = ACTIONS(602),
    [anon_sym_GT_GT_EQ] = ACTIONS(602),
    [anon_sym_LT_LT_EQ] = ACTIONS(602),
    [anon_sym_CARET_EQ] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(604),
    [anon_sym_AMP_AMP] = ACTIONS(604),
    [anon_sym_LT_LT] = ACTIONS(604),
    [anon_sym_GT_GT] = ACTIONS(604),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(604),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(604),
    [anon_sym_PERCENT] = ACTIONS(604),
    [anon_sym_defined_QMARK] = ACTIONS(1044),
    [anon_sym_not] = ACTIONS(1046),
    [anon_sym_BANG] = ACTIONS(1048),
    [anon_sym_TILDE] = ACTIONS(1050),
    [sym_constant] = ACTIONS(2262),
    [sym_identifier] = ACTIONS(2262),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(588),
    [anon_sym_super] = ACTIONS(590),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [2100] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1434),
    [sym__primary] = STATE(596),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(597),
    [sym_call] = STATE(597),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2149),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(1437),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(605),
    [sym__variable] = STATE(597),
    [sym_reserved_identifier] = STATE(1440),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1441),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(2252),
    [sym__splat_star] = ACTIONS(2254),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(1012),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [ts_builtin_sym_end] = ACTIONS(606),
    [anon_sym___END__] = ACTIONS(608),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(608),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(1024),
    [anon_sym_yield] = ACTIONS(1026),
    [anon_sym_break] = ACTIONS(1028),
    [anon_sym_next] = ACTIONS(1030),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_PLUS_EQ] = ACTIONS(606),
    [anon_sym_DASH_EQ] = ACTIONS(606),
    [anon_sym_STAR_EQ] = ACTIONS(606),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(606),
    [anon_sym_SLASH_EQ] = ACTIONS(606),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(606),
    [anon_sym_PIPE_EQ] = ACTIONS(606),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(606),
    [anon_sym_AMP_EQ] = ACTIONS(606),
    [anon_sym_PERCENT_EQ] = ACTIONS(606),
    [anon_sym_GT_GT_EQ] = ACTIONS(606),
    [anon_sym_LT_LT_EQ] = ACTIONS(606),
    [anon_sym_CARET_EQ] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(608),
    [anon_sym_AMP_AMP] = ACTIONS(608),
    [anon_sym_LT_LT] = ACTIONS(608),
    [anon_sym_GT_GT] = ACTIONS(608),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(608),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(608),
    [anon_sym_PERCENT] = ACTIONS(608),
    [anon_sym_defined_QMARK] = ACTIONS(1044),
    [anon_sym_not] = ACTIONS(1046),
    [anon_sym_BANG] = ACTIONS(1048),
    [anon_sym_TILDE] = ACTIONS(1050),
    [sym_constant] = ACTIONS(2262),
    [sym_identifier] = ACTIONS(2262),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(588),
    [anon_sym_super] = ACTIONS(590),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [2101] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1434),
    [sym__primary] = STATE(596),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(597),
    [sym_call] = STATE(597),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2150),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(1437),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(605),
    [sym__variable] = STATE(597),
    [sym_reserved_identifier] = STATE(1440),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1441),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(2252),
    [sym__splat_star] = ACTIONS(2254),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(1012),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [ts_builtin_sym_end] = ACTIONS(610),
    [anon_sym___END__] = ACTIONS(612),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(612),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(1024),
    [anon_sym_yield] = ACTIONS(1026),
    [anon_sym_break] = ACTIONS(1028),
    [anon_sym_next] = ACTIONS(1030),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_PLUS_EQ] = ACTIONS(610),
    [anon_sym_DASH_EQ] = ACTIONS(610),
    [anon_sym_STAR_EQ] = ACTIONS(610),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(610),
    [anon_sym_SLASH_EQ] = ACTIONS(610),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(610),
    [anon_sym_PIPE_EQ] = ACTIONS(610),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(610),
    [anon_sym_AMP_EQ] = ACTIONS(610),
    [anon_sym_PERCENT_EQ] = ACTIONS(610),
    [anon_sym_GT_GT_EQ] = ACTIONS(610),
    [anon_sym_LT_LT_EQ] = ACTIONS(610),
    [anon_sym_CARET_EQ] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(612),
    [anon_sym_AMP_AMP] = ACTIONS(612),
    [anon_sym_LT_LT] = ACTIONS(612),
    [anon_sym_GT_GT] = ACTIONS(612),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(612),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(612),
    [anon_sym_PERCENT] = ACTIONS(612),
    [anon_sym_defined_QMARK] = ACTIONS(1044),
    [anon_sym_not] = ACTIONS(1046),
    [anon_sym_BANG] = ACTIONS(1048),
    [anon_sym_TILDE] = ACTIONS(1050),
    [sym_constant] = ACTIONS(2262),
    [sym_identifier] = ACTIONS(2262),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(588),
    [anon_sym_super] = ACTIONS(590),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [2102] = {
    [sym__simple_heredoc_body] = ACTIONS(614),
    [sym__heredoc_body_beginning] = ACTIONS(614),
    [sym__line_break] = ACTIONS(614),
    [sym__element_reference_left_bracket] = ACTIONS(614),
    [sym__scope_double_colon] = ACTIONS(614),
    [sym__binary_minus] = ACTIONS(614),
    [sym__binary_star] = ACTIONS(614),
    [ts_builtin_sym_end] = ACTIONS(614),
    [anon_sym___END__] = ACTIONS(614),
    [anon_sym_LBRACE] = ACTIONS(614),
    [anon_sym_RBRACE] = ACTIONS(614),
    [anon_sym_RPAREN] = ACTIONS(614),
    [anon_sym_DOT] = ACTIONS(616),
    [anon_sym_end] = ACTIONS(614),
    [anon_sym_COMMA] = ACTIONS(614),
    [anon_sym_PIPE] = ACTIONS(616),
    [anon_sym_SEMI] = ACTIONS(614),
    [anon_sym_STAR_STAR] = ACTIONS(616),
    [anon_sym_AMP] = ACTIONS(616),
    [anon_sym_EQ] = ACTIONS(616),
    [anon_sym_LT] = ACTIONS(616),
    [anon_sym_if] = ACTIONS(614),
    [anon_sym_unless] = ACTIONS(614),
    [anon_sym_while] = ACTIONS(614),
    [anon_sym_until] = ACTIONS(614),
    [anon_sym_rescue] = ACTIONS(614),
    [anon_sym_do] = ACTIONS(614),
    [anon_sym_when] = ACTIONS(614),
    [anon_sym_elsif] = ACTIONS(614),
    [anon_sym_else] = ACTIONS(614),
    [anon_sym_then] = ACTIONS(614),
    [anon_sym_ensure] = ACTIONS(614),
    [anon_sym_EQ_GT] = ACTIONS(614),
    [anon_sym_AMP_DOT] = ACTIONS(614),
    [anon_sym_PLUS_EQ] = ACTIONS(614),
    [anon_sym_DASH_EQ] = ACTIONS(614),
    [anon_sym_STAR_EQ] = ACTIONS(614),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(614),
    [anon_sym_SLASH_EQ] = ACTIONS(614),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(614),
    [anon_sym_PIPE_EQ] = ACTIONS(614),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(614),
    [anon_sym_AMP_EQ] = ACTIONS(614),
    [anon_sym_PERCENT_EQ] = ACTIONS(614),
    [anon_sym_GT_GT_EQ] = ACTIONS(614),
    [anon_sym_LT_LT_EQ] = ACTIONS(614),
    [anon_sym_CARET_EQ] = ACTIONS(614),
    [anon_sym_QMARK] = ACTIONS(614),
    [anon_sym_DOT_DOT] = ACTIONS(616),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(614),
    [anon_sym_and] = ACTIONS(614),
    [anon_sym_or] = ACTIONS(614),
    [anon_sym_PIPE_PIPE] = ACTIONS(616),
    [anon_sym_AMP_AMP] = ACTIONS(616),
    [anon_sym_LT_LT] = ACTIONS(616),
    [anon_sym_GT_GT] = ACTIONS(616),
    [anon_sym_EQ_EQ] = ACTIONS(616),
    [anon_sym_BANG_EQ] = ACTIONS(614),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(614),
    [anon_sym_LT_EQ_GT] = ACTIONS(614),
    [anon_sym_EQ_TILDE] = ACTIONS(614),
    [anon_sym_BANG_TILDE] = ACTIONS(614),
    [anon_sym_LT_EQ] = ACTIONS(616),
    [anon_sym_GT] = ACTIONS(616),
    [anon_sym_GT_EQ] = ACTIONS(614),
    [anon_sym_CARET] = ACTIONS(616),
    [anon_sym_PLUS] = ACTIONS(616),
    [anon_sym_SLASH] = ACTIONS(616),
    [anon_sym_PERCENT] = ACTIONS(616),
    [sym_comment] = ACTIONS(256),
  },
  [2103] = {
    [sym__simple_heredoc_body] = ACTIONS(618),
    [sym__heredoc_body_beginning] = ACTIONS(618),
    [sym__line_break] = ACTIONS(618),
    [sym__element_reference_left_bracket] = ACTIONS(618),
    [sym__scope_double_colon] = ACTIONS(618),
    [sym__binary_minus] = ACTIONS(618),
    [sym__binary_star] = ACTIONS(618),
    [ts_builtin_sym_end] = ACTIONS(618),
    [anon_sym___END__] = ACTIONS(618),
    [anon_sym_LBRACE] = ACTIONS(618),
    [anon_sym_RBRACE] = ACTIONS(618),
    [anon_sym_RPAREN] = ACTIONS(618),
    [anon_sym_DOT] = ACTIONS(620),
    [anon_sym_end] = ACTIONS(618),
    [anon_sym_COMMA] = ACTIONS(618),
    [anon_sym_PIPE] = ACTIONS(620),
    [anon_sym_SEMI] = ACTIONS(618),
    [anon_sym_STAR_STAR] = ACTIONS(620),
    [anon_sym_AMP] = ACTIONS(620),
    [anon_sym_EQ] = ACTIONS(620),
    [anon_sym_LT] = ACTIONS(620),
    [anon_sym_if] = ACTIONS(618),
    [anon_sym_unless] = ACTIONS(618),
    [anon_sym_while] = ACTIONS(618),
    [anon_sym_until] = ACTIONS(618),
    [anon_sym_rescue] = ACTIONS(618),
    [anon_sym_do] = ACTIONS(618),
    [anon_sym_when] = ACTIONS(618),
    [anon_sym_elsif] = ACTIONS(618),
    [anon_sym_else] = ACTIONS(618),
    [anon_sym_then] = ACTIONS(618),
    [anon_sym_ensure] = ACTIONS(618),
    [anon_sym_EQ_GT] = ACTIONS(618),
    [anon_sym_AMP_DOT] = ACTIONS(618),
    [anon_sym_PLUS_EQ] = ACTIONS(618),
    [anon_sym_DASH_EQ] = ACTIONS(618),
    [anon_sym_STAR_EQ] = ACTIONS(618),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(618),
    [anon_sym_SLASH_EQ] = ACTIONS(618),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(618),
    [anon_sym_PIPE_EQ] = ACTIONS(618),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(618),
    [anon_sym_AMP_EQ] = ACTIONS(618),
    [anon_sym_PERCENT_EQ] = ACTIONS(618),
    [anon_sym_GT_GT_EQ] = ACTIONS(618),
    [anon_sym_LT_LT_EQ] = ACTIONS(618),
    [anon_sym_CARET_EQ] = ACTIONS(618),
    [anon_sym_QMARK] = ACTIONS(618),
    [anon_sym_DOT_DOT] = ACTIONS(620),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(618),
    [anon_sym_and] = ACTIONS(618),
    [anon_sym_or] = ACTIONS(618),
    [anon_sym_PIPE_PIPE] = ACTIONS(620),
    [anon_sym_AMP_AMP] = ACTIONS(620),
    [anon_sym_LT_LT] = ACTIONS(620),
    [anon_sym_GT_GT] = ACTIONS(620),
    [anon_sym_EQ_EQ] = ACTIONS(620),
    [anon_sym_BANG_EQ] = ACTIONS(618),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(618),
    [anon_sym_LT_EQ_GT] = ACTIONS(618),
    [anon_sym_EQ_TILDE] = ACTIONS(618),
    [anon_sym_BANG_TILDE] = ACTIONS(618),
    [anon_sym_LT_EQ] = ACTIONS(620),
    [anon_sym_GT] = ACTIONS(620),
    [anon_sym_GT_EQ] = ACTIONS(618),
    [anon_sym_CARET] = ACTIONS(620),
    [anon_sym_PLUS] = ACTIONS(620),
    [anon_sym_SLASH] = ACTIONS(620),
    [anon_sym_PERCENT] = ACTIONS(620),
    [sym_comment] = ACTIONS(256),
  },
  [2104] = {
    [sym__statement] = STATE(2151),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(361),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2105] = {
    [sym__statement] = STATE(2152),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(361),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2106] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2153),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2107] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2154),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2108] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(285),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(381),
    [sym_call] = STATE(381),
    [sym_method_call] = STATE(286),
    [sym__mlhs] = STATE(2155),
    [sym__simple_mlhs] = STATE(383),
    [sym_destructured_left_assignment] = STATE(383),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(384),
    [sym__variable] = STATE(381),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(658),
    [anon_sym_COLON_COLON] = ACTIONS(460),
    [anon_sym_STAR] = ACTIONS(660),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(494),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [2109] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_when] = STATE(2160),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2161),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(400),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(401),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(387),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__terminator] = STATE(402),
    [aux_sym_case_repeat1] = STATE(2162),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(666),
    [sym__unary_minus] = ACTIONS(668),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_when] = ACTIONS(678),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(680),
    [anon_sym_defined_QMARK] = ACTIONS(682),
    [anon_sym_not] = ACTIONS(684),
    [anon_sym_BANG] = ACTIONS(686),
    [anon_sym_TILDE] = ACTIONS(686),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2110] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(2164),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(2165),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(692),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(3306),
    [anon_sym_SEMI] = ACTIONS(698),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2111] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [ts_builtin_sym_end] = ACTIONS(1372),
    [anon_sym___END__] = ACTIONS(1372),
    [anon_sym_LBRACE] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(3324),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_EQ] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_if] = ACTIONS(1372),
    [anon_sym_unless] = ACTIONS(1372),
    [anon_sym_while] = ACTIONS(1372),
    [anon_sym_until] = ACTIONS(1372),
    [anon_sym_rescue] = ACTIONS(1372),
    [anon_sym_do] = ACTIONS(1372),
    [anon_sym_EQ_GT] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_PLUS_EQ] = ACTIONS(1372),
    [anon_sym_DASH_EQ] = ACTIONS(1372),
    [anon_sym_STAR_EQ] = ACTIONS(1372),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1372),
    [anon_sym_SLASH_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1372),
    [anon_sym_AMP_EQ] = ACTIONS(1372),
    [anon_sym_PERCENT_EQ] = ACTIONS(1372),
    [anon_sym_GT_GT_EQ] = ACTIONS(1372),
    [anon_sym_LT_LT_EQ] = ACTIONS(1372),
    [anon_sym_CARET_EQ] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1374),
    [anon_sym_AMP_AMP] = ACTIONS(1374),
    [anon_sym_LT_LT] = ACTIONS(1374),
    [anon_sym_GT_GT] = ACTIONS(1374),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1374),
    [anon_sym_PLUS] = ACTIONS(1374),
    [anon_sym_SLASH] = ACTIONS(1374),
    [anon_sym_PERCENT] = ACTIONS(1374),
    [sym_comment] = ACTIONS(256),
  },
  [2112] = {
    [sym_string] = STATE(2203),
    [aux_sym_chained_string_repeat1] = STATE(2204),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [ts_builtin_sym_end] = ACTIONS(250),
    [anon_sym___END__] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_RBRACE] = ACTIONS(250),
    [anon_sym_RPAREN] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_end] = ACTIONS(250),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_when] = ACTIONS(250),
    [anon_sym_elsif] = ACTIONS(250),
    [anon_sym_else] = ACTIONS(250),
    [anon_sym_then] = ACTIONS(250),
    [anon_sym_ensure] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(3266),
  },
  [2113] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4988),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(2130),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2131),
    [sym__variable] = STATE(2129),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3268),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(7204),
    [anon_sym_yield] = ACTIONS(7206),
    [anon_sym_break] = ACTIONS(7208),
    [anon_sym_next] = ACTIONS(7210),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(3280),
    [anon_sym_defined_QMARK] = ACTIONS(3282),
    [anon_sym_not] = ACTIONS(7212),
    [anon_sym_BANG] = ACTIONS(3286),
    [anon_sym_TILDE] = ACTIONS(3286),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2114] = {
    [sym__simple_heredoc_body] = ACTIONS(1552),
    [sym__heredoc_body_beginning] = ACTIONS(1552),
    [sym__line_break] = ACTIONS(1552),
    [sym__element_reference_left_bracket] = ACTIONS(1552),
    [sym__scope_double_colon] = ACTIONS(1552),
    [sym__binary_minus] = ACTIONS(1552),
    [sym__binary_star] = ACTIONS(1552),
    [ts_builtin_sym_end] = ACTIONS(1552),
    [anon_sym___END__] = ACTIONS(1552),
    [anon_sym_LBRACE] = ACTIONS(1552),
    [anon_sym_RBRACE] = ACTIONS(1552),
    [anon_sym_RPAREN] = ACTIONS(1552),
    [anon_sym_DOT] = ACTIONS(1554),
    [anon_sym_end] = ACTIONS(1552),
    [anon_sym_COMMA] = ACTIONS(1552),
    [anon_sym_PIPE] = ACTIONS(1554),
    [anon_sym_SEMI] = ACTIONS(1552),
    [anon_sym_STAR_STAR] = ACTIONS(1554),
    [anon_sym_AMP] = ACTIONS(1554),
    [anon_sym_EQ] = ACTIONS(1554),
    [anon_sym_LT] = ACTIONS(1554),
    [anon_sym_if] = ACTIONS(1552),
    [anon_sym_unless] = ACTIONS(1552),
    [anon_sym_while] = ACTIONS(1552),
    [anon_sym_until] = ACTIONS(1552),
    [anon_sym_rescue] = ACTIONS(1552),
    [anon_sym_do] = ACTIONS(1552),
    [anon_sym_when] = ACTIONS(1552),
    [anon_sym_elsif] = ACTIONS(1552),
    [anon_sym_else] = ACTIONS(1552),
    [anon_sym_then] = ACTIONS(1552),
    [anon_sym_ensure] = ACTIONS(1552),
    [anon_sym_EQ_GT] = ACTIONS(1552),
    [anon_sym_AMP_DOT] = ACTIONS(1552),
    [anon_sym_PLUS_EQ] = ACTIONS(1552),
    [anon_sym_DASH_EQ] = ACTIONS(1552),
    [anon_sym_STAR_EQ] = ACTIONS(1552),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1552),
    [anon_sym_SLASH_EQ] = ACTIONS(1552),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1552),
    [anon_sym_PIPE_EQ] = ACTIONS(1552),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1552),
    [anon_sym_AMP_EQ] = ACTIONS(1552),
    [anon_sym_PERCENT_EQ] = ACTIONS(1552),
    [anon_sym_GT_GT_EQ] = ACTIONS(1552),
    [anon_sym_LT_LT_EQ] = ACTIONS(1552),
    [anon_sym_CARET_EQ] = ACTIONS(1552),
    [anon_sym_QMARK] = ACTIONS(1552),
    [anon_sym_DOT_DOT] = ACTIONS(1554),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1552),
    [anon_sym_and] = ACTIONS(1552),
    [anon_sym_or] = ACTIONS(1552),
    [anon_sym_PIPE_PIPE] = ACTIONS(1554),
    [anon_sym_AMP_AMP] = ACTIONS(1554),
    [anon_sym_LT_LT] = ACTIONS(1554),
    [anon_sym_GT_GT] = ACTIONS(1554),
    [anon_sym_EQ_EQ] = ACTIONS(1554),
    [anon_sym_BANG_EQ] = ACTIONS(1552),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1552),
    [anon_sym_LT_EQ_GT] = ACTIONS(1552),
    [anon_sym_EQ_TILDE] = ACTIONS(1552),
    [anon_sym_BANG_TILDE] = ACTIONS(1552),
    [anon_sym_LT_EQ] = ACTIONS(1554),
    [anon_sym_GT] = ACTIONS(1554),
    [anon_sym_GT_EQ] = ACTIONS(1552),
    [anon_sym_CARET] = ACTIONS(1554),
    [anon_sym_PLUS] = ACTIONS(1554),
    [anon_sym_SLASH] = ACTIONS(1554),
    [anon_sym_PERCENT] = ACTIONS(1554),
    [sym_comment] = ACTIONS(256),
  },
  [2115] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4993),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(340),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(4994),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(2625),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2626),
    [sym__variable] = STATE(2129),
    [sym_reserved_identifier] = STATE(4995),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(4996),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(7214),
    [sym__splat_star] = ACTIONS(7216),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(3874),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(3272),
    [anon_sym_yield] = ACTIONS(3274),
    [anon_sym_break] = ACTIONS(3276),
    [anon_sym_next] = ACTIONS(3278),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(3876),
    [anon_sym_not] = ACTIONS(3878),
    [anon_sym_BANG] = ACTIONS(3880),
    [anon_sym_TILDE] = ACTIONS(3882),
    [sym_constant] = ACTIONS(7218),
    [sym_identifier] = ACTIONS(7218),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2116] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4993),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(349),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(4994),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(2625),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2626),
    [sym__variable] = STATE(2129),
    [sym_reserved_identifier] = STATE(4995),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(4996),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(7214),
    [sym__splat_star] = ACTIONS(7216),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(3874),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(3272),
    [anon_sym_yield] = ACTIONS(3274),
    [anon_sym_break] = ACTIONS(3276),
    [anon_sym_next] = ACTIONS(3278),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(3876),
    [anon_sym_not] = ACTIONS(3878),
    [anon_sym_BANG] = ACTIONS(3880),
    [anon_sym_TILDE] = ACTIONS(3882),
    [sym_constant] = ACTIONS(7218),
    [sym_identifier] = ACTIONS(7218),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2117] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4993),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(350),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(4994),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(2625),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2626),
    [sym__variable] = STATE(2129),
    [sym_reserved_identifier] = STATE(4995),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(4996),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(7214),
    [sym__splat_star] = ACTIONS(7216),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(3874),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(3272),
    [anon_sym_yield] = ACTIONS(3274),
    [anon_sym_break] = ACTIONS(3276),
    [anon_sym_next] = ACTIONS(3278),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(3876),
    [anon_sym_not] = ACTIONS(3878),
    [anon_sym_BANG] = ACTIONS(3880),
    [anon_sym_TILDE] = ACTIONS(3882),
    [sym_constant] = ACTIONS(7218),
    [sym_identifier] = ACTIONS(7218),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2118] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4993),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(351),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(4994),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(2625),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2626),
    [sym__variable] = STATE(2129),
    [sym_reserved_identifier] = STATE(4995),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(4996),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(7214),
    [sym__splat_star] = ACTIONS(7216),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(3874),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(3272),
    [anon_sym_yield] = ACTIONS(3274),
    [anon_sym_break] = ACTIONS(3276),
    [anon_sym_next] = ACTIONS(3278),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(3876),
    [anon_sym_not] = ACTIONS(3878),
    [anon_sym_BANG] = ACTIONS(3880),
    [anon_sym_TILDE] = ACTIONS(3882),
    [sym_constant] = ACTIONS(7218),
    [sym_identifier] = ACTIONS(7218),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2119] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4997),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(2130),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2131),
    [sym__variable] = STATE(2129),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3268),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(7204),
    [anon_sym_yield] = ACTIONS(7206),
    [anon_sym_break] = ACTIONS(7208),
    [anon_sym_next] = ACTIONS(7210),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(3280),
    [anon_sym_defined_QMARK] = ACTIONS(3282),
    [anon_sym_not] = ACTIONS(7212),
    [anon_sym_BANG] = ACTIONS(3286),
    [anon_sym_TILDE] = ACTIONS(3286),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2120] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4998),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(2130),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2131),
    [sym__variable] = STATE(2129),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3268),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(7204),
    [anon_sym_yield] = ACTIONS(7206),
    [anon_sym_break] = ACTIONS(7208),
    [anon_sym_next] = ACTIONS(7210),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(3280),
    [anon_sym_defined_QMARK] = ACTIONS(3282),
    [anon_sym_not] = ACTIONS(7212),
    [anon_sym_BANG] = ACTIONS(3286),
    [anon_sym_TILDE] = ACTIONS(3286),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2121] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4998),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(2130),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2131),
    [sym__variable] = STATE(2129),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(3268),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(7204),
    [anon_sym_yield] = ACTIONS(7206),
    [anon_sym_break] = ACTIONS(7208),
    [anon_sym_next] = ACTIONS(7210),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(3280),
    [anon_sym_defined_QMARK] = ACTIONS(3282),
    [anon_sym_not] = ACTIONS(7212),
    [anon_sym_BANG] = ACTIONS(3286),
    [anon_sym_TILDE] = ACTIONS(3286),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2122] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(434),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(2130),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2131),
    [sym__variable] = STATE(2129),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3268),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(7204),
    [anon_sym_yield] = ACTIONS(7206),
    [anon_sym_break] = ACTIONS(7208),
    [anon_sym_next] = ACTIONS(7210),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(3280),
    [anon_sym_defined_QMARK] = ACTIONS(3282),
    [anon_sym_not] = ACTIONS(7212),
    [anon_sym_BANG] = ACTIONS(3286),
    [anon_sym_TILDE] = ACTIONS(3286),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2123] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(1662),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_RBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [2124] = {
    [sym_operator] = STATE(438),
    [sym__method_name] = STATE(440),
    [sym_setter] = STATE(438),
    [sym_symbol] = STATE(438),
    [sym__simple_symbol] = ACTIONS(728),
    [sym__symbol_beginning] = ACTIONS(730),
    [sym__keyword_colon] = ACTIONS(1556),
    [anon_sym_PIPE] = ACTIONS(732),
    [anon_sym_STAR] = ACTIONS(734),
    [anon_sym_STAR_STAR] = ACTIONS(732),
    [anon_sym_AMP] = ACTIONS(732),
    [anon_sym_LT] = ACTIONS(734),
    [anon_sym_DOT_DOT] = ACTIONS(732),
    [anon_sym_LT_LT] = ACTIONS(732),
    [anon_sym_GT_GT] = ACTIONS(732),
    [anon_sym_EQ_EQ] = ACTIONS(734),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(732),
    [anon_sym_LT_EQ_GT] = ACTIONS(732),
    [anon_sym_EQ_TILDE] = ACTIONS(732),
    [anon_sym_BANG_TILDE] = ACTIONS(732),
    [anon_sym_LT_EQ] = ACTIONS(734),
    [anon_sym_GT] = ACTIONS(734),
    [anon_sym_GT_EQ] = ACTIONS(732),
    [anon_sym_CARET] = ACTIONS(732),
    [anon_sym_PLUS] = ACTIONS(734),
    [anon_sym_SLASH] = ACTIONS(732),
    [anon_sym_PERCENT] = ACTIONS(732),
    [anon_sym_BANG] = ACTIONS(734),
    [anon_sym_TILDE] = ACTIONS(732),
    [sym_constant] = ACTIONS(736),
    [sym_identifier] = ACTIONS(738),
    [sym_instance_variable] = ACTIONS(736),
    [sym_class_variable] = ACTIONS(736),
    [sym_global_variable] = ACTIONS(736),
    [anon_sym_DASH] = ACTIONS(734),
    [anon_sym_PLUS_AT] = ACTIONS(732),
    [anon_sym_DASH_AT] = ACTIONS(732),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(734),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(732),
    [anon_sym_BQUOTE] = ACTIONS(732),
    [sym_comment] = ACTIONS(110),
  },
  [2125] = {
    [sym_operator] = STATE(444),
    [sym__method_name] = STATE(446),
    [sym_setter] = STATE(444),
    [sym_symbol] = STATE(444),
    [sym__simple_symbol] = ACTIONS(764),
    [sym__symbol_beginning] = ACTIONS(766),
    [sym__keyword_colon] = ACTIONS(1556),
    [anon_sym_PIPE] = ACTIONS(768),
    [anon_sym_STAR] = ACTIONS(770),
    [anon_sym_STAR_STAR] = ACTIONS(768),
    [anon_sym_AMP] = ACTIONS(768),
    [anon_sym_LT] = ACTIONS(770),
    [anon_sym_DOT_DOT] = ACTIONS(768),
    [anon_sym_LT_LT] = ACTIONS(768),
    [anon_sym_GT_GT] = ACTIONS(768),
    [anon_sym_EQ_EQ] = ACTIONS(770),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(768),
    [anon_sym_LT_EQ_GT] = ACTIONS(768),
    [anon_sym_EQ_TILDE] = ACTIONS(768),
    [anon_sym_BANG_TILDE] = ACTIONS(768),
    [anon_sym_LT_EQ] = ACTIONS(770),
    [anon_sym_GT] = ACTIONS(770),
    [anon_sym_GT_EQ] = ACTIONS(768),
    [anon_sym_CARET] = ACTIONS(768),
    [anon_sym_PLUS] = ACTIONS(770),
    [anon_sym_SLASH] = ACTIONS(768),
    [anon_sym_PERCENT] = ACTIONS(768),
    [anon_sym_BANG] = ACTIONS(770),
    [anon_sym_TILDE] = ACTIONS(768),
    [sym_constant] = ACTIONS(772),
    [sym_identifier] = ACTIONS(774),
    [sym_instance_variable] = ACTIONS(772),
    [sym_class_variable] = ACTIONS(772),
    [sym_global_variable] = ACTIONS(772),
    [anon_sym_DASH] = ACTIONS(770),
    [anon_sym_PLUS_AT] = ACTIONS(768),
    [anon_sym_DASH_AT] = ACTIONS(768),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(770),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(768),
    [anon_sym_BQUOTE] = ACTIONS(768),
    [sym_comment] = ACTIONS(110),
  },
  [2126] = {
    [anon_sym_RBRACE] = ACTIONS(7220),
    [sym_comment] = ACTIONS(110),
  },
  [2127] = {
    [sym__statements] = STATE(5000),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(841),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(7220),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2128] = {
    [sym__simple_heredoc_body] = ACTIONS(934),
    [sym__heredoc_body_beginning] = ACTIONS(934),
    [sym__line_break] = ACTIONS(934),
    [sym__binary_minus] = ACTIONS(7222),
    [sym__binary_star] = ACTIONS(7224),
    [anon_sym_RBRACE] = ACTIONS(934),
    [anon_sym_PIPE] = ACTIONS(7226),
    [anon_sym_SEMI] = ACTIONS(934),
    [anon_sym_STAR_STAR] = ACTIONS(7228),
    [anon_sym_AMP] = ACTIONS(7230),
    [anon_sym_LT] = ACTIONS(7232),
    [anon_sym_if] = ACTIONS(934),
    [anon_sym_unless] = ACTIONS(934),
    [anon_sym_while] = ACTIONS(934),
    [anon_sym_until] = ACTIONS(934),
    [anon_sym_rescue] = ACTIONS(934),
    [anon_sym_EQ_GT] = ACTIONS(1662),
    [anon_sym_QMARK] = ACTIONS(7234),
    [anon_sym_DOT_DOT] = ACTIONS(7236),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7238),
    [anon_sym_and] = ACTIONS(7240),
    [anon_sym_or] = ACTIONS(7240),
    [anon_sym_PIPE_PIPE] = ACTIONS(7242),
    [anon_sym_AMP_AMP] = ACTIONS(7242),
    [anon_sym_LT_LT] = ACTIONS(7244),
    [anon_sym_GT_GT] = ACTIONS(7244),
    [anon_sym_EQ_EQ] = ACTIONS(7246),
    [anon_sym_BANG_EQ] = ACTIONS(7242),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7242),
    [anon_sym_LT_EQ_GT] = ACTIONS(7242),
    [anon_sym_EQ_TILDE] = ACTIONS(7242),
    [anon_sym_BANG_TILDE] = ACTIONS(7242),
    [anon_sym_LT_EQ] = ACTIONS(7232),
    [anon_sym_GT] = ACTIONS(7232),
    [anon_sym_GT_EQ] = ACTIONS(7248),
    [anon_sym_CARET] = ACTIONS(7250),
    [anon_sym_PLUS] = ACTIONS(7252),
    [anon_sym_SLASH] = ACTIONS(7228),
    [anon_sym_PERCENT] = ACTIONS(7228),
    [sym_comment] = ACTIONS(110),
  },
  [2129] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(5017),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2665),
    [sym_call] = STATE(2665),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(1435),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(5018),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_do_block] = STATE(1439),
    [sym_block] = STATE(1439),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(2667),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2668),
    [sym__variable] = STATE(2665),
    [sym_reserved_identifier] = STATE(5019),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(5020),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(7254),
    [sym__splat_star] = ACTIONS(7256),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(3934),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(2258),
    [anon_sym_RBRACE] = ACTIONS(980),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(3936),
    [anon_sym_yield] = ACTIONS(3938),
    [anon_sym_break] = ACTIONS(3940),
    [anon_sym_next] = ACTIONS(3942),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(982),
    [anon_sym_unless] = ACTIONS(982),
    [anon_sym_while] = ACTIONS(982),
    [anon_sym_until] = ACTIONS(982),
    [anon_sym_rescue] = ACTIONS(982),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(2260),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(980),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(3944),
    [anon_sym_not] = ACTIONS(3946),
    [anon_sym_BANG] = ACTIONS(3948),
    [anon_sym_TILDE] = ACTIONS(3950),
    [sym_constant] = ACTIONS(7258),
    [sym_identifier] = ACTIONS(7258),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [2130] = {
    [anon_sym_EQ] = ACTIONS(7260),
    [sym_comment] = ACTIONS(256),
  },
  [2131] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_RBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(1076),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(7262),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(7264),
    [anon_sym_DASH_EQ] = ACTIONS(7264),
    [anon_sym_STAR_EQ] = ACTIONS(7264),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7264),
    [anon_sym_SLASH_EQ] = ACTIONS(7264),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7264),
    [anon_sym_PIPE_EQ] = ACTIONS(7264),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7264),
    [anon_sym_AMP_EQ] = ACTIONS(7264),
    [anon_sym_PERCENT_EQ] = ACTIONS(7264),
    [anon_sym_GT_GT_EQ] = ACTIONS(7264),
    [anon_sym_LT_LT_EQ] = ACTIONS(7264),
    [anon_sym_CARET_EQ] = ACTIONS(7264),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [2132] = {
    [sym_string] = STATE(611),
    [aux_sym_chained_string_repeat1] = STATE(612),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(20),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(1662),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_RBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(120),
  },
  [2133] = {
    [anon_sym_RBRACE] = ACTIONS(7266),
    [sym_comment] = ACTIONS(110),
  },
  [2134] = {
    [sym_heredoc_end] = STATE(5024),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RBRACE] = ACTIONS(7266),
    [sym_comment] = ACTIONS(110),
  },
  [2135] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(5025),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(1139),
    [sym_call] = STATE(1139),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(1140),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1141),
    [sym__variable] = STATE(1139),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(1822),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_yield] = ACTIONS(1828),
    [anon_sym_break] = ACTIONS(1830),
    [anon_sym_next] = ACTIONS(1832),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(1834),
    [anon_sym_defined_QMARK] = ACTIONS(1836),
    [anon_sym_not] = ACTIONS(1838),
    [anon_sym_BANG] = ACTIONS(1840),
    [anon_sym_TILDE] = ACTIONS(1840),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [2136] = {
    [sym__simple_heredoc_body] = ACTIONS(1866),
    [sym__heredoc_body_beginning] = ACTIONS(1866),
    [sym__line_break] = ACTIONS(1866),
    [sym__element_reference_left_bracket] = ACTIONS(1866),
    [sym__scope_double_colon] = ACTIONS(1866),
    [sym__binary_minus] = ACTIONS(1866),
    [sym__binary_star] = ACTIONS(1866),
    [ts_builtin_sym_end] = ACTIONS(1866),
    [anon_sym___END__] = ACTIONS(1866),
    [anon_sym_LBRACE] = ACTIONS(1866),
    [anon_sym_RBRACE] = ACTIONS(1866),
    [anon_sym_RPAREN] = ACTIONS(1866),
    [anon_sym_DOT] = ACTIONS(1868),
    [anon_sym_end] = ACTIONS(1866),
    [anon_sym_COMMA] = ACTIONS(1866),
    [anon_sym_PIPE] = ACTIONS(1868),
    [anon_sym_SEMI] = ACTIONS(1866),
    [anon_sym_STAR_STAR] = ACTIONS(1868),
    [anon_sym_AMP] = ACTIONS(1868),
    [anon_sym_EQ] = ACTIONS(1868),
    [anon_sym_LT] = ACTIONS(1868),
    [anon_sym_if] = ACTIONS(1866),
    [anon_sym_unless] = ACTIONS(1866),
    [anon_sym_while] = ACTIONS(1866),
    [anon_sym_until] = ACTIONS(1866),
    [anon_sym_rescue] = ACTIONS(1866),
    [anon_sym_do] = ACTIONS(1866),
    [anon_sym_when] = ACTIONS(1866),
    [anon_sym_elsif] = ACTIONS(1866),
    [anon_sym_else] = ACTIONS(1866),
    [anon_sym_then] = ACTIONS(1866),
    [anon_sym_ensure] = ACTIONS(1866),
    [anon_sym_EQ_GT] = ACTIONS(1866),
    [anon_sym_AMP_DOT] = ACTIONS(1866),
    [anon_sym_PLUS_EQ] = ACTIONS(1866),
    [anon_sym_DASH_EQ] = ACTIONS(1866),
    [anon_sym_STAR_EQ] = ACTIONS(1866),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1866),
    [anon_sym_SLASH_EQ] = ACTIONS(1866),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1866),
    [anon_sym_PIPE_EQ] = ACTIONS(1866),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1866),
    [anon_sym_AMP_EQ] = ACTIONS(1866),
    [anon_sym_PERCENT_EQ] = ACTIONS(1866),
    [anon_sym_GT_GT_EQ] = ACTIONS(1866),
    [anon_sym_LT_LT_EQ] = ACTIONS(1866),
    [anon_sym_CARET_EQ] = ACTIONS(1866),
    [anon_sym_QMARK] = ACTIONS(1866),
    [anon_sym_DOT_DOT] = ACTIONS(1868),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1866),
    [anon_sym_and] = ACTIONS(1866),
    [anon_sym_or] = ACTIONS(1866),
    [anon_sym_PIPE_PIPE] = ACTIONS(1868),
    [anon_sym_AMP_AMP] = ACTIONS(1868),
    [anon_sym_LT_LT] = ACTIONS(1868),
    [anon_sym_GT_GT] = ACTIONS(1868),
    [anon_sym_EQ_EQ] = ACTIONS(1868),
    [anon_sym_BANG_EQ] = ACTIONS(1866),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1866),
    [anon_sym_LT_EQ_GT] = ACTIONS(1866),
    [anon_sym_EQ_TILDE] = ACTIONS(1866),
    [anon_sym_BANG_TILDE] = ACTIONS(1866),
    [anon_sym_LT_EQ] = ACTIONS(1868),
    [anon_sym_GT] = ACTIONS(1868),
    [anon_sym_GT_EQ] = ACTIONS(1866),
    [anon_sym_CARET] = ACTIONS(1868),
    [anon_sym_PLUS] = ACTIONS(1868),
    [anon_sym_SLASH] = ACTIONS(1868),
    [anon_sym_PERCENT] = ACTIONS(1868),
    [sym_comment] = ACTIONS(256),
  },
  [2137] = {
    [anon_sym_DOT] = ACTIONS(7268),
    [anon_sym_COLON_COLON] = ACTIONS(7268),
    [sym_comment] = ACTIONS(110),
  },
  [2138] = {
    [sym_method_parameters] = STATE(5027),
    [sym__simple_formal_parameter] = STATE(1150),
    [sym_splat_parameter] = STATE(1151),
    [sym_hash_splat_parameter] = STATE(1151),
    [sym_block_parameter] = STATE(1151),
    [sym_keyword_parameter] = STATE(1151),
    [sym_optional_parameter] = STATE(1151),
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(5027),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym__line_break] = ACTIONS(692),
    [anon_sym_LPAREN] = ACTIONS(1872),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(1874),
    [anon_sym_STAR_STAR] = ACTIONS(1876),
    [anon_sym_AMP] = ACTIONS(1878),
    [sym_identifier] = ACTIONS(1880),
    [sym_comment] = ACTIONS(110),
  },
  [2139] = {
    [sym__simple_heredoc_body] = ACTIONS(1882),
    [sym__heredoc_body_beginning] = ACTIONS(1882),
    [sym__line_break] = ACTIONS(1882),
    [sym__element_reference_left_bracket] = ACTIONS(1882),
    [sym__scope_double_colon] = ACTIONS(1882),
    [sym__binary_minus] = ACTIONS(1882),
    [sym__binary_star] = ACTIONS(1882),
    [ts_builtin_sym_end] = ACTIONS(1882),
    [anon_sym___END__] = ACTIONS(1882),
    [anon_sym_LBRACE] = ACTIONS(1882),
    [anon_sym_RBRACE] = ACTIONS(1882),
    [anon_sym_RPAREN] = ACTIONS(1882),
    [anon_sym_DOT] = ACTIONS(1884),
    [anon_sym_end] = ACTIONS(1882),
    [anon_sym_COMMA] = ACTIONS(1882),
    [anon_sym_PIPE] = ACTIONS(1884),
    [anon_sym_SEMI] = ACTIONS(1882),
    [anon_sym_STAR_STAR] = ACTIONS(1884),
    [anon_sym_AMP] = ACTIONS(1884),
    [anon_sym_EQ] = ACTIONS(1884),
    [anon_sym_LT] = ACTIONS(1884),
    [anon_sym_if] = ACTIONS(1882),
    [anon_sym_unless] = ACTIONS(1882),
    [anon_sym_while] = ACTIONS(1882),
    [anon_sym_until] = ACTIONS(1882),
    [anon_sym_rescue] = ACTIONS(1882),
    [anon_sym_do] = ACTIONS(1882),
    [anon_sym_when] = ACTIONS(1882),
    [anon_sym_elsif] = ACTIONS(1882),
    [anon_sym_else] = ACTIONS(1882),
    [anon_sym_then] = ACTIONS(1882),
    [anon_sym_ensure] = ACTIONS(1882),
    [anon_sym_EQ_GT] = ACTIONS(1882),
    [anon_sym_AMP_DOT] = ACTIONS(1882),
    [anon_sym_PLUS_EQ] = ACTIONS(1882),
    [anon_sym_DASH_EQ] = ACTIONS(1882),
    [anon_sym_STAR_EQ] = ACTIONS(1882),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1882),
    [anon_sym_SLASH_EQ] = ACTIONS(1882),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1882),
    [anon_sym_PIPE_EQ] = ACTIONS(1882),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1882),
    [anon_sym_AMP_EQ] = ACTIONS(1882),
    [anon_sym_PERCENT_EQ] = ACTIONS(1882),
    [anon_sym_GT_GT_EQ] = ACTIONS(1882),
    [anon_sym_LT_LT_EQ] = ACTIONS(1882),
    [anon_sym_CARET_EQ] = ACTIONS(1882),
    [anon_sym_QMARK] = ACTIONS(1882),
    [anon_sym_DOT_DOT] = ACTIONS(1884),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1882),
    [anon_sym_and] = ACTIONS(1882),
    [anon_sym_or] = ACTIONS(1882),
    [anon_sym_PIPE_PIPE] = ACTIONS(1884),
    [anon_sym_AMP_AMP] = ACTIONS(1884),
    [anon_sym_LT_LT] = ACTIONS(1884),
    [anon_sym_GT_GT] = ACTIONS(1884),
    [anon_sym_EQ_EQ] = ACTIONS(1884),
    [anon_sym_BANG_EQ] = ACTIONS(1882),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1882),
    [anon_sym_LT_EQ_GT] = ACTIONS(1882),
    [anon_sym_EQ_TILDE] = ACTIONS(1882),
    [anon_sym_BANG_TILDE] = ACTIONS(1882),
    [anon_sym_LT_EQ] = ACTIONS(1884),
    [anon_sym_GT] = ACTIONS(1884),
    [anon_sym_GT_EQ] = ACTIONS(1882),
    [anon_sym_CARET] = ACTIONS(1884),
    [anon_sym_PLUS] = ACTIONS(1884),
    [anon_sym_SLASH] = ACTIONS(1884),
    [anon_sym_PERCENT] = ACTIONS(1884),
    [sym_comment] = ACTIONS(256),
  },
  [2140] = {
    [anon_sym_RPAREN] = ACTIONS(7270),
    [sym_comment] = ACTIONS(110),
  },
  [2141] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__line_break] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(7168),
    [sym__binary_star] = ACTIONS(7170),
    [ts_builtin_sym_end] = ACTIONS(4284),
    [anon_sym___END__] = ACTIONS(4284),
    [anon_sym_LBRACE] = ACTIONS(4284),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(7172),
    [anon_sym_SEMI] = ACTIONS(4284),
    [anon_sym_STAR_STAR] = ACTIONS(7174),
    [anon_sym_AMP] = ACTIONS(7176),
    [anon_sym_EQ] = ACTIONS(5432),
    [anon_sym_LT] = ACTIONS(7178),
    [anon_sym_if] = ACTIONS(4284),
    [anon_sym_unless] = ACTIONS(4284),
    [anon_sym_while] = ACTIONS(4284),
    [anon_sym_until] = ACTIONS(4284),
    [anon_sym_rescue] = ACTIONS(4284),
    [anon_sym_do] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_PLUS_EQ] = ACTIONS(4284),
    [anon_sym_DASH_EQ] = ACTIONS(4284),
    [anon_sym_STAR_EQ] = ACTIONS(4284),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(4284),
    [anon_sym_SLASH_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(4284),
    [anon_sym_AMP_EQ] = ACTIONS(4284),
    [anon_sym_PERCENT_EQ] = ACTIONS(4284),
    [anon_sym_GT_GT_EQ] = ACTIONS(4284),
    [anon_sym_LT_LT_EQ] = ACTIONS(4284),
    [anon_sym_CARET_EQ] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(7180),
    [anon_sym_DOT_DOT] = ACTIONS(7182),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7184),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(7186),
    [anon_sym_AMP_AMP] = ACTIONS(7186),
    [anon_sym_LT_LT] = ACTIONS(7188),
    [anon_sym_GT_GT] = ACTIONS(7188),
    [anon_sym_EQ_EQ] = ACTIONS(7186),
    [anon_sym_BANG_EQ] = ACTIONS(7190),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7190),
    [anon_sym_LT_EQ_GT] = ACTIONS(7190),
    [anon_sym_EQ_TILDE] = ACTIONS(7190),
    [anon_sym_BANG_TILDE] = ACTIONS(7190),
    [anon_sym_LT_EQ] = ACTIONS(7178),
    [anon_sym_GT] = ACTIONS(7178),
    [anon_sym_GT_EQ] = ACTIONS(7192),
    [anon_sym_CARET] = ACTIONS(7172),
    [anon_sym_PLUS] = ACTIONS(7194),
    [anon_sym_SLASH] = ACTIONS(7174),
    [anon_sym_PERCENT] = ACTIONS(7174),
    [sym_comment] = ACTIONS(256),
  },
  [2142] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(5029),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1329),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1330),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2090),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2100),
    [anon_sym_defined_QMARK] = ACTIONS(2102),
    [anon_sym_not] = ACTIONS(2104),
    [anon_sym_BANG] = ACTIONS(2106),
    [anon_sym_TILDE] = ACTIONS(2106),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2143] = {
    [sym_superclass] = STATE(5030),
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(5031),
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__unary_minus] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(722),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(722),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(2110),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(722),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [2144] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_superclass] = STATE(5030),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1349),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1310),
    [sym__argument_list_with_parens] = STATE(1264),
    [sym__argument] = STATE(1350),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_do_block] = STATE(1312),
    [sym_block] = STATE(1312),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1353),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1354),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__terminator] = STATE(5031),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(2114),
    [sym__splat_star] = ACTIONS(2116),
    [sym__argument_list_left_paren] = ACTIONS(2034),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(2064),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(980),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2120),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(2110),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(2076),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2138),
    [sym_identifier] = ACTIONS(2138),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2145] = {
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(5033),
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__unary_minus] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(722),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(7272),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(722),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(722),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [2146] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1349),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1310),
    [sym__argument_list_with_parens] = STATE(1264),
    [sym__argument] = STATE(1350),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_do_block] = STATE(1312),
    [sym_block] = STATE(1312),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1353),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1354),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__terminator] = STATE(5033),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(2114),
    [sym__splat_star] = ACTIONS(2116),
    [sym__argument_list_left_paren] = ACTIONS(2034),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(2064),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(980),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(7274),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2120),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(2076),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2138),
    [sym_identifier] = ACTIONS(2138),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2147] = {
    [sym__simple_heredoc_body] = ACTIONS(2264),
    [sym__heredoc_body_beginning] = ACTIONS(2264),
    [sym__line_break] = ACTIONS(2264),
    [sym__element_reference_left_bracket] = ACTIONS(2264),
    [sym__scope_double_colon] = ACTIONS(2264),
    [sym__binary_minus] = ACTIONS(2264),
    [sym__binary_star] = ACTIONS(2264),
    [ts_builtin_sym_end] = ACTIONS(2264),
    [anon_sym___END__] = ACTIONS(2264),
    [anon_sym_LBRACE] = ACTIONS(2264),
    [anon_sym_RBRACE] = ACTIONS(2264),
    [anon_sym_RPAREN] = ACTIONS(2264),
    [anon_sym_DOT] = ACTIONS(2266),
    [anon_sym_end] = ACTIONS(2264),
    [anon_sym_COMMA] = ACTIONS(2264),
    [anon_sym_PIPE] = ACTIONS(2266),
    [anon_sym_SEMI] = ACTIONS(2264),
    [anon_sym_STAR_STAR] = ACTIONS(2266),
    [anon_sym_AMP] = ACTIONS(2266),
    [anon_sym_EQ] = ACTIONS(2266),
    [anon_sym_LT] = ACTIONS(2266),
    [anon_sym_if] = ACTIONS(2264),
    [anon_sym_unless] = ACTIONS(2264),
    [anon_sym_while] = ACTIONS(2264),
    [anon_sym_until] = ACTIONS(2264),
    [anon_sym_rescue] = ACTIONS(2264),
    [anon_sym_do] = ACTIONS(2264),
    [anon_sym_when] = ACTIONS(2264),
    [anon_sym_elsif] = ACTIONS(2264),
    [anon_sym_else] = ACTIONS(2264),
    [anon_sym_then] = ACTIONS(2264),
    [anon_sym_ensure] = ACTIONS(2264),
    [anon_sym_EQ_GT] = ACTIONS(2264),
    [anon_sym_AMP_DOT] = ACTIONS(2264),
    [anon_sym_PLUS_EQ] = ACTIONS(2264),
    [anon_sym_DASH_EQ] = ACTIONS(2264),
    [anon_sym_STAR_EQ] = ACTIONS(2264),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2264),
    [anon_sym_SLASH_EQ] = ACTIONS(2264),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2264),
    [anon_sym_PIPE_EQ] = ACTIONS(2264),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2264),
    [anon_sym_AMP_EQ] = ACTIONS(2264),
    [anon_sym_PERCENT_EQ] = ACTIONS(2264),
    [anon_sym_GT_GT_EQ] = ACTIONS(2264),
    [anon_sym_LT_LT_EQ] = ACTIONS(2264),
    [anon_sym_CARET_EQ] = ACTIONS(2264),
    [anon_sym_QMARK] = ACTIONS(2264),
    [anon_sym_DOT_DOT] = ACTIONS(2266),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2264),
    [anon_sym_and] = ACTIONS(2264),
    [anon_sym_or] = ACTIONS(2264),
    [anon_sym_PIPE_PIPE] = ACTIONS(2266),
    [anon_sym_AMP_AMP] = ACTIONS(2266),
    [anon_sym_LT_LT] = ACTIONS(2266),
    [anon_sym_GT_GT] = ACTIONS(2266),
    [anon_sym_EQ_EQ] = ACTIONS(2266),
    [anon_sym_BANG_EQ] = ACTIONS(2264),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2264),
    [anon_sym_LT_EQ_GT] = ACTIONS(2264),
    [anon_sym_EQ_TILDE] = ACTIONS(2264),
    [anon_sym_BANG_TILDE] = ACTIONS(2264),
    [anon_sym_LT_EQ] = ACTIONS(2266),
    [anon_sym_GT] = ACTIONS(2266),
    [anon_sym_GT_EQ] = ACTIONS(2264),
    [anon_sym_CARET] = ACTIONS(2266),
    [anon_sym_PLUS] = ACTIONS(2266),
    [anon_sym_SLASH] = ACTIONS(2266),
    [anon_sym_PERCENT] = ACTIONS(2266),
    [sym_comment] = ACTIONS(256),
  },
  [2148] = {
    [sym__simple_heredoc_body] = ACTIONS(2286),
    [sym__heredoc_body_beginning] = ACTIONS(2286),
    [sym__line_break] = ACTIONS(2286),
    [sym__element_reference_left_bracket] = ACTIONS(2286),
    [sym__scope_double_colon] = ACTIONS(2286),
    [sym__binary_minus] = ACTIONS(2286),
    [sym__binary_star] = ACTIONS(2286),
    [ts_builtin_sym_end] = ACTIONS(2286),
    [anon_sym___END__] = ACTIONS(2286),
    [anon_sym_LBRACE] = ACTIONS(2286),
    [anon_sym_RBRACE] = ACTIONS(2286),
    [anon_sym_RPAREN] = ACTIONS(2286),
    [anon_sym_DOT] = ACTIONS(2288),
    [anon_sym_end] = ACTIONS(2286),
    [anon_sym_COMMA] = ACTIONS(2286),
    [anon_sym_PIPE] = ACTIONS(2288),
    [anon_sym_SEMI] = ACTIONS(2286),
    [anon_sym_STAR_STAR] = ACTIONS(2288),
    [anon_sym_AMP] = ACTIONS(2288),
    [anon_sym_EQ] = ACTIONS(2288),
    [anon_sym_LT] = ACTIONS(2288),
    [anon_sym_if] = ACTIONS(2286),
    [anon_sym_unless] = ACTIONS(2286),
    [anon_sym_while] = ACTIONS(2286),
    [anon_sym_until] = ACTIONS(2286),
    [anon_sym_rescue] = ACTIONS(2286),
    [anon_sym_do] = ACTIONS(2286),
    [anon_sym_when] = ACTIONS(2286),
    [anon_sym_elsif] = ACTIONS(2286),
    [anon_sym_else] = ACTIONS(2286),
    [anon_sym_then] = ACTIONS(2286),
    [anon_sym_ensure] = ACTIONS(2286),
    [anon_sym_EQ_GT] = ACTIONS(2286),
    [anon_sym_AMP_DOT] = ACTIONS(2286),
    [anon_sym_PLUS_EQ] = ACTIONS(2286),
    [anon_sym_DASH_EQ] = ACTIONS(2286),
    [anon_sym_STAR_EQ] = ACTIONS(2286),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2286),
    [anon_sym_SLASH_EQ] = ACTIONS(2286),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2286),
    [anon_sym_PIPE_EQ] = ACTIONS(2286),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2286),
    [anon_sym_AMP_EQ] = ACTIONS(2286),
    [anon_sym_PERCENT_EQ] = ACTIONS(2286),
    [anon_sym_GT_GT_EQ] = ACTIONS(2286),
    [anon_sym_LT_LT_EQ] = ACTIONS(2286),
    [anon_sym_CARET_EQ] = ACTIONS(2286),
    [anon_sym_QMARK] = ACTIONS(2286),
    [anon_sym_DOT_DOT] = ACTIONS(2288),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2286),
    [anon_sym_and] = ACTIONS(2286),
    [anon_sym_or] = ACTIONS(2286),
    [anon_sym_PIPE_PIPE] = ACTIONS(2288),
    [anon_sym_AMP_AMP] = ACTIONS(2288),
    [anon_sym_LT_LT] = ACTIONS(2288),
    [anon_sym_GT_GT] = ACTIONS(2288),
    [anon_sym_EQ_EQ] = ACTIONS(2288),
    [anon_sym_BANG_EQ] = ACTIONS(2286),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2286),
    [anon_sym_LT_EQ_GT] = ACTIONS(2286),
    [anon_sym_EQ_TILDE] = ACTIONS(2286),
    [anon_sym_BANG_TILDE] = ACTIONS(2286),
    [anon_sym_LT_EQ] = ACTIONS(2288),
    [anon_sym_GT] = ACTIONS(2288),
    [anon_sym_GT_EQ] = ACTIONS(2286),
    [anon_sym_CARET] = ACTIONS(2288),
    [anon_sym_PLUS] = ACTIONS(2288),
    [anon_sym_SLASH] = ACTIONS(2288),
    [anon_sym_PERCENT] = ACTIONS(2288),
    [sym_comment] = ACTIONS(256),
  },
  [2149] = {
    [sym__simple_heredoc_body] = ACTIONS(2290),
    [sym__heredoc_body_beginning] = ACTIONS(2290),
    [sym__line_break] = ACTIONS(2290),
    [sym__element_reference_left_bracket] = ACTIONS(2290),
    [sym__scope_double_colon] = ACTIONS(2290),
    [sym__binary_minus] = ACTIONS(2290),
    [sym__binary_star] = ACTIONS(2290),
    [ts_builtin_sym_end] = ACTIONS(2290),
    [anon_sym___END__] = ACTIONS(2290),
    [anon_sym_LBRACE] = ACTIONS(2290),
    [anon_sym_RBRACE] = ACTIONS(2290),
    [anon_sym_RPAREN] = ACTIONS(2290),
    [anon_sym_DOT] = ACTIONS(2292),
    [anon_sym_end] = ACTIONS(2290),
    [anon_sym_COMMA] = ACTIONS(2290),
    [anon_sym_PIPE] = ACTIONS(2292),
    [anon_sym_SEMI] = ACTIONS(2290),
    [anon_sym_STAR_STAR] = ACTIONS(2292),
    [anon_sym_AMP] = ACTIONS(2292),
    [anon_sym_EQ] = ACTIONS(2292),
    [anon_sym_LT] = ACTIONS(2292),
    [anon_sym_if] = ACTIONS(2290),
    [anon_sym_unless] = ACTIONS(2290),
    [anon_sym_while] = ACTIONS(2290),
    [anon_sym_until] = ACTIONS(2290),
    [anon_sym_rescue] = ACTIONS(2290),
    [anon_sym_do] = ACTIONS(2290),
    [anon_sym_when] = ACTIONS(2290),
    [anon_sym_elsif] = ACTIONS(2290),
    [anon_sym_else] = ACTIONS(2290),
    [anon_sym_then] = ACTIONS(2290),
    [anon_sym_ensure] = ACTIONS(2290),
    [anon_sym_EQ_GT] = ACTIONS(2290),
    [anon_sym_AMP_DOT] = ACTIONS(2290),
    [anon_sym_PLUS_EQ] = ACTIONS(2290),
    [anon_sym_DASH_EQ] = ACTIONS(2290),
    [anon_sym_STAR_EQ] = ACTIONS(2290),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2290),
    [anon_sym_SLASH_EQ] = ACTIONS(2290),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2290),
    [anon_sym_PIPE_EQ] = ACTIONS(2290),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2290),
    [anon_sym_AMP_EQ] = ACTIONS(2290),
    [anon_sym_PERCENT_EQ] = ACTIONS(2290),
    [anon_sym_GT_GT_EQ] = ACTIONS(2290),
    [anon_sym_LT_LT_EQ] = ACTIONS(2290),
    [anon_sym_CARET_EQ] = ACTIONS(2290),
    [anon_sym_QMARK] = ACTIONS(2290),
    [anon_sym_DOT_DOT] = ACTIONS(2292),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2290),
    [anon_sym_and] = ACTIONS(2290),
    [anon_sym_or] = ACTIONS(2290),
    [anon_sym_PIPE_PIPE] = ACTIONS(2292),
    [anon_sym_AMP_AMP] = ACTIONS(2292),
    [anon_sym_LT_LT] = ACTIONS(2292),
    [anon_sym_GT_GT] = ACTIONS(2292),
    [anon_sym_EQ_EQ] = ACTIONS(2292),
    [anon_sym_BANG_EQ] = ACTIONS(2290),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2290),
    [anon_sym_LT_EQ_GT] = ACTIONS(2290),
    [anon_sym_EQ_TILDE] = ACTIONS(2290),
    [anon_sym_BANG_TILDE] = ACTIONS(2290),
    [anon_sym_LT_EQ] = ACTIONS(2292),
    [anon_sym_GT] = ACTIONS(2292),
    [anon_sym_GT_EQ] = ACTIONS(2290),
    [anon_sym_CARET] = ACTIONS(2292),
    [anon_sym_PLUS] = ACTIONS(2292),
    [anon_sym_SLASH] = ACTIONS(2292),
    [anon_sym_PERCENT] = ACTIONS(2292),
    [sym_comment] = ACTIONS(256),
  },
  [2150] = {
    [sym__simple_heredoc_body] = ACTIONS(2294),
    [sym__heredoc_body_beginning] = ACTIONS(2294),
    [sym__line_break] = ACTIONS(2294),
    [sym__element_reference_left_bracket] = ACTIONS(2294),
    [sym__scope_double_colon] = ACTIONS(2294),
    [sym__binary_minus] = ACTIONS(2294),
    [sym__binary_star] = ACTIONS(2294),
    [ts_builtin_sym_end] = ACTIONS(2294),
    [anon_sym___END__] = ACTIONS(2294),
    [anon_sym_LBRACE] = ACTIONS(2294),
    [anon_sym_RBRACE] = ACTIONS(2294),
    [anon_sym_RPAREN] = ACTIONS(2294),
    [anon_sym_DOT] = ACTIONS(2296),
    [anon_sym_end] = ACTIONS(2294),
    [anon_sym_COMMA] = ACTIONS(2294),
    [anon_sym_PIPE] = ACTIONS(2296),
    [anon_sym_SEMI] = ACTIONS(2294),
    [anon_sym_STAR_STAR] = ACTIONS(2296),
    [anon_sym_AMP] = ACTIONS(2296),
    [anon_sym_EQ] = ACTIONS(2296),
    [anon_sym_LT] = ACTIONS(2296),
    [anon_sym_if] = ACTIONS(2294),
    [anon_sym_unless] = ACTIONS(2294),
    [anon_sym_while] = ACTIONS(2294),
    [anon_sym_until] = ACTIONS(2294),
    [anon_sym_rescue] = ACTIONS(2294),
    [anon_sym_do] = ACTIONS(2294),
    [anon_sym_when] = ACTIONS(2294),
    [anon_sym_elsif] = ACTIONS(2294),
    [anon_sym_else] = ACTIONS(2294),
    [anon_sym_then] = ACTIONS(2294),
    [anon_sym_ensure] = ACTIONS(2294),
    [anon_sym_EQ_GT] = ACTIONS(2294),
    [anon_sym_AMP_DOT] = ACTIONS(2294),
    [anon_sym_PLUS_EQ] = ACTIONS(2294),
    [anon_sym_DASH_EQ] = ACTIONS(2294),
    [anon_sym_STAR_EQ] = ACTIONS(2294),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2294),
    [anon_sym_SLASH_EQ] = ACTIONS(2294),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2294),
    [anon_sym_PIPE_EQ] = ACTIONS(2294),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2294),
    [anon_sym_AMP_EQ] = ACTIONS(2294),
    [anon_sym_PERCENT_EQ] = ACTIONS(2294),
    [anon_sym_GT_GT_EQ] = ACTIONS(2294),
    [anon_sym_LT_LT_EQ] = ACTIONS(2294),
    [anon_sym_CARET_EQ] = ACTIONS(2294),
    [anon_sym_QMARK] = ACTIONS(2294),
    [anon_sym_DOT_DOT] = ACTIONS(2296),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2294),
    [anon_sym_and] = ACTIONS(2294),
    [anon_sym_or] = ACTIONS(2294),
    [anon_sym_PIPE_PIPE] = ACTIONS(2296),
    [anon_sym_AMP_AMP] = ACTIONS(2296),
    [anon_sym_LT_LT] = ACTIONS(2296),
    [anon_sym_GT_GT] = ACTIONS(2296),
    [anon_sym_EQ_EQ] = ACTIONS(2296),
    [anon_sym_BANG_EQ] = ACTIONS(2294),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2294),
    [anon_sym_LT_EQ_GT] = ACTIONS(2294),
    [anon_sym_EQ_TILDE] = ACTIONS(2294),
    [anon_sym_BANG_TILDE] = ACTIONS(2294),
    [anon_sym_LT_EQ] = ACTIONS(2296),
    [anon_sym_GT] = ACTIONS(2296),
    [anon_sym_GT_EQ] = ACTIONS(2294),
    [anon_sym_CARET] = ACTIONS(2296),
    [anon_sym_PLUS] = ACTIONS(2296),
    [anon_sym_SLASH] = ACTIONS(2296),
    [anon_sym_PERCENT] = ACTIONS(2296),
    [sym_comment] = ACTIONS(256),
  },
  [2151] = {
    [sym__then] = STATE(5035),
    [sym_heredoc_end] = STATE(1476),
    [sym__terminator] = STATE(1484),
    [sym__simple_heredoc_body] = ACTIONS(2322),
    [sym__heredoc_body_beginning] = ACTIONS(2324),
    [sym__line_break] = ACTIONS(2326),
    [anon_sym_SEMI] = ACTIONS(2326),
    [anon_sym_if] = ACTIONS(2328),
    [anon_sym_unless] = ACTIONS(2330),
    [anon_sym_while] = ACTIONS(2332),
    [anon_sym_until] = ACTIONS(2334),
    [anon_sym_rescue] = ACTIONS(2336),
    [anon_sym_then] = ACTIONS(2338),
    [sym_comment] = ACTIONS(110),
  },
  [2152] = {
    [sym__then] = STATE(5036),
    [sym_heredoc_end] = STATE(1521),
    [sym__terminator] = STATE(1524),
    [sym__simple_heredoc_body] = ACTIONS(2402),
    [sym__heredoc_body_beginning] = ACTIONS(2404),
    [sym__line_break] = ACTIONS(2406),
    [anon_sym_SEMI] = ACTIONS(2406),
    [anon_sym_if] = ACTIONS(2328),
    [anon_sym_unless] = ACTIONS(2330),
    [anon_sym_while] = ACTIONS(2332),
    [anon_sym_until] = ACTIONS(2334),
    [anon_sym_rescue] = ACTIONS(2336),
    [anon_sym_then] = ACTIONS(2408),
    [sym_comment] = ACTIONS(110),
  },
  [2153] = {
    [sym__do] = STATE(5037),
    [sym_heredoc_end] = STATE(1550),
    [sym__terminator] = STATE(1557),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym__line_break] = ACTIONS(2446),
    [sym__binary_minus] = ACTIONS(2448),
    [sym__binary_star] = ACTIONS(2450),
    [anon_sym_PIPE] = ACTIONS(2452),
    [anon_sym_SEMI] = ACTIONS(2446),
    [anon_sym_STAR_STAR] = ACTIONS(2454),
    [anon_sym_AMP] = ACTIONS(2456),
    [anon_sym_LT] = ACTIONS(2458),
    [anon_sym_do] = ACTIONS(2460),
    [anon_sym_QMARK] = ACTIONS(2462),
    [anon_sym_DOT_DOT] = ACTIONS(2464),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2466),
    [anon_sym_and] = ACTIONS(2468),
    [anon_sym_or] = ACTIONS(2468),
    [anon_sym_PIPE_PIPE] = ACTIONS(2470),
    [anon_sym_AMP_AMP] = ACTIONS(2470),
    [anon_sym_LT_LT] = ACTIONS(2472),
    [anon_sym_GT_GT] = ACTIONS(2472),
    [anon_sym_EQ_EQ] = ACTIONS(2474),
    [anon_sym_BANG_EQ] = ACTIONS(2470),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2470),
    [anon_sym_LT_EQ_GT] = ACTIONS(2470),
    [anon_sym_EQ_TILDE] = ACTIONS(2470),
    [anon_sym_BANG_TILDE] = ACTIONS(2470),
    [anon_sym_LT_EQ] = ACTIONS(2458),
    [anon_sym_GT] = ACTIONS(2458),
    [anon_sym_GT_EQ] = ACTIONS(2476),
    [anon_sym_CARET] = ACTIONS(2478),
    [anon_sym_PLUS] = ACTIONS(2480),
    [anon_sym_SLASH] = ACTIONS(2454),
    [anon_sym_PERCENT] = ACTIONS(2454),
    [sym_comment] = ACTIONS(110),
  },
  [2154] = {
    [sym__do] = STATE(5038),
    [sym_heredoc_end] = STATE(1550),
    [sym__terminator] = STATE(1557),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym__line_break] = ACTIONS(2446),
    [sym__binary_minus] = ACTIONS(2448),
    [sym__binary_star] = ACTIONS(2450),
    [anon_sym_PIPE] = ACTIONS(2452),
    [anon_sym_SEMI] = ACTIONS(2446),
    [anon_sym_STAR_STAR] = ACTIONS(2454),
    [anon_sym_AMP] = ACTIONS(2456),
    [anon_sym_LT] = ACTIONS(2458),
    [anon_sym_do] = ACTIONS(2460),
    [anon_sym_QMARK] = ACTIONS(2462),
    [anon_sym_DOT_DOT] = ACTIONS(2464),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2466),
    [anon_sym_and] = ACTIONS(2468),
    [anon_sym_or] = ACTIONS(2468),
    [anon_sym_PIPE_PIPE] = ACTIONS(2470),
    [anon_sym_AMP_AMP] = ACTIONS(2470),
    [anon_sym_LT_LT] = ACTIONS(2472),
    [anon_sym_GT_GT] = ACTIONS(2472),
    [anon_sym_EQ_EQ] = ACTIONS(2474),
    [anon_sym_BANG_EQ] = ACTIONS(2470),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2470),
    [anon_sym_LT_EQ_GT] = ACTIONS(2470),
    [anon_sym_EQ_TILDE] = ACTIONS(2470),
    [anon_sym_BANG_TILDE] = ACTIONS(2470),
    [anon_sym_LT_EQ] = ACTIONS(2458),
    [anon_sym_GT] = ACTIONS(2458),
    [anon_sym_GT_EQ] = ACTIONS(2476),
    [anon_sym_CARET] = ACTIONS(2478),
    [anon_sym_PLUS] = ACTIONS(2480),
    [anon_sym_SLASH] = ACTIONS(2454),
    [anon_sym_PERCENT] = ACTIONS(2454),
    [sym_comment] = ACTIONS(110),
  },
  [2155] = {
    [sym_in] = STATE(5039),
    [anon_sym_in] = ACTIONS(2548),
    [sym_comment] = ACTIONS(110),
  },
  [2156] = {
    [sym__simple_heredoc_body] = ACTIONS(6942),
    [sym__heredoc_body_beginning] = ACTIONS(6942),
    [sym__line_break] = ACTIONS(6942),
    [sym__element_reference_left_bracket] = ACTIONS(6942),
    [sym__scope_double_colon] = ACTIONS(6942),
    [sym__binary_minus] = ACTIONS(6942),
    [sym__binary_star] = ACTIONS(6942),
    [ts_builtin_sym_end] = ACTIONS(6942),
    [anon_sym___END__] = ACTIONS(6942),
    [anon_sym_LBRACE] = ACTIONS(6942),
    [anon_sym_RBRACE] = ACTIONS(6942),
    [anon_sym_RPAREN] = ACTIONS(6942),
    [anon_sym_DOT] = ACTIONS(6944),
    [anon_sym_end] = ACTIONS(6942),
    [anon_sym_COMMA] = ACTIONS(6942),
    [anon_sym_PIPE] = ACTIONS(6944),
    [anon_sym_SEMI] = ACTIONS(6942),
    [anon_sym_STAR_STAR] = ACTIONS(6944),
    [anon_sym_AMP] = ACTIONS(6944),
    [anon_sym_EQ] = ACTIONS(6944),
    [anon_sym_LT] = ACTIONS(6944),
    [anon_sym_if] = ACTIONS(6942),
    [anon_sym_unless] = ACTIONS(6942),
    [anon_sym_while] = ACTIONS(6942),
    [anon_sym_until] = ACTIONS(6942),
    [anon_sym_rescue] = ACTIONS(6942),
    [anon_sym_do] = ACTIONS(6942),
    [anon_sym_when] = ACTIONS(6942),
    [anon_sym_elsif] = ACTIONS(6942),
    [anon_sym_else] = ACTIONS(6942),
    [anon_sym_then] = ACTIONS(6942),
    [anon_sym_ensure] = ACTIONS(6942),
    [anon_sym_AMP_DOT] = ACTIONS(6942),
    [anon_sym_PLUS_EQ] = ACTIONS(6942),
    [anon_sym_DASH_EQ] = ACTIONS(6942),
    [anon_sym_STAR_EQ] = ACTIONS(6942),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6942),
    [anon_sym_SLASH_EQ] = ACTIONS(6942),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6942),
    [anon_sym_PIPE_EQ] = ACTIONS(6942),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6942),
    [anon_sym_AMP_EQ] = ACTIONS(6942),
    [anon_sym_PERCENT_EQ] = ACTIONS(6942),
    [anon_sym_GT_GT_EQ] = ACTIONS(6942),
    [anon_sym_LT_LT_EQ] = ACTIONS(6942),
    [anon_sym_CARET_EQ] = ACTIONS(6942),
    [anon_sym_QMARK] = ACTIONS(6942),
    [anon_sym_DOT_DOT] = ACTIONS(6944),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6942),
    [anon_sym_and] = ACTIONS(6942),
    [anon_sym_or] = ACTIONS(6942),
    [anon_sym_PIPE_PIPE] = ACTIONS(6944),
    [anon_sym_AMP_AMP] = ACTIONS(6944),
    [anon_sym_LT_LT] = ACTIONS(6944),
    [anon_sym_GT_GT] = ACTIONS(6944),
    [anon_sym_EQ_EQ] = ACTIONS(6944),
    [anon_sym_BANG_EQ] = ACTIONS(6942),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6942),
    [anon_sym_LT_EQ_GT] = ACTIONS(6942),
    [anon_sym_EQ_TILDE] = ACTIONS(6942),
    [anon_sym_BANG_TILDE] = ACTIONS(6942),
    [anon_sym_LT_EQ] = ACTIONS(6944),
    [anon_sym_GT] = ACTIONS(6944),
    [anon_sym_GT_EQ] = ACTIONS(6942),
    [anon_sym_CARET] = ACTIONS(6944),
    [anon_sym_PLUS] = ACTIONS(6944),
    [anon_sym_SLASH] = ACTIONS(6944),
    [anon_sym_PERCENT] = ACTIONS(6944),
    [sym_comment] = ACTIONS(256),
  },
  [2157] = {
    [anon_sym_end] = ACTIONS(7276),
    [sym_comment] = ACTIONS(110),
  },
  [2158] = {
    [sym__statements] = STATE(5041),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(5042),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(7278),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2159] = {
    [sym__statements] = STATE(5041),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(5043),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(5042),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(7278),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2160] = {
    [anon_sym_end] = ACTIONS(7280),
    [sym_comment] = ACTIONS(110),
  },
  [2161] = {
    [sym_when] = STATE(5045),
    [sym_heredoc_end] = STATE(387),
    [sym__terminator] = STATE(402),
    [aux_sym_case_repeat1] = STATE(5046),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym__line_break] = ACTIONS(666),
    [sym__binary_minus] = ACTIONS(2600),
    [sym__binary_star] = ACTIONS(2602),
    [anon_sym_PIPE] = ACTIONS(2604),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_STAR_STAR] = ACTIONS(2606),
    [anon_sym_AMP] = ACTIONS(2608),
    [anon_sym_LT] = ACTIONS(2610),
    [anon_sym_when] = ACTIONS(2612),
    [anon_sym_QMARK] = ACTIONS(2614),
    [anon_sym_DOT_DOT] = ACTIONS(2616),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2618),
    [anon_sym_and] = ACTIONS(2620),
    [anon_sym_or] = ACTIONS(2620),
    [anon_sym_PIPE_PIPE] = ACTIONS(2622),
    [anon_sym_AMP_AMP] = ACTIONS(2622),
    [anon_sym_LT_LT] = ACTIONS(2624),
    [anon_sym_GT_GT] = ACTIONS(2624),
    [anon_sym_EQ_EQ] = ACTIONS(2626),
    [anon_sym_BANG_EQ] = ACTIONS(2622),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2622),
    [anon_sym_LT_EQ_GT] = ACTIONS(2622),
    [anon_sym_EQ_TILDE] = ACTIONS(2622),
    [anon_sym_BANG_TILDE] = ACTIONS(2622),
    [anon_sym_LT_EQ] = ACTIONS(2610),
    [anon_sym_GT] = ACTIONS(2610),
    [anon_sym_GT_EQ] = ACTIONS(2628),
    [anon_sym_CARET] = ACTIONS(2630),
    [anon_sym_PLUS] = ACTIONS(2632),
    [anon_sym_SLASH] = ACTIONS(2606),
    [anon_sym_PERCENT] = ACTIONS(2606),
    [sym_comment] = ACTIONS(110),
  },
  [2162] = {
    [sym_when] = STATE(5045),
    [sym_heredoc_end] = STATE(387),
    [sym__terminator] = STATE(1688),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym__line_break] = ACTIONS(666),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_when] = ACTIONS(2612),
    [sym_comment] = ACTIONS(110),
  },
  [2163] = {
    [sym__simple_heredoc_body] = ACTIONS(2674),
    [sym__heredoc_body_beginning] = ACTIONS(2674),
    [sym__line_break] = ACTIONS(2674),
    [sym__element_reference_left_bracket] = ACTIONS(2674),
    [sym__scope_double_colon] = ACTIONS(2674),
    [sym__binary_minus] = ACTIONS(2674),
    [sym__binary_star] = ACTIONS(2674),
    [ts_builtin_sym_end] = ACTIONS(2674),
    [anon_sym___END__] = ACTIONS(2674),
    [anon_sym_LBRACE] = ACTIONS(2674),
    [anon_sym_RBRACE] = ACTIONS(2674),
    [anon_sym_RPAREN] = ACTIONS(2674),
    [anon_sym_DOT] = ACTIONS(2676),
    [anon_sym_end] = ACTIONS(2674),
    [anon_sym_COMMA] = ACTIONS(2674),
    [anon_sym_PIPE] = ACTIONS(2676),
    [anon_sym_SEMI] = ACTIONS(2674),
    [anon_sym_STAR_STAR] = ACTIONS(2676),
    [anon_sym_AMP] = ACTIONS(2676),
    [anon_sym_EQ] = ACTIONS(2676),
    [anon_sym_LT] = ACTIONS(2676),
    [anon_sym_if] = ACTIONS(2674),
    [anon_sym_unless] = ACTIONS(2674),
    [anon_sym_while] = ACTIONS(2674),
    [anon_sym_until] = ACTIONS(2674),
    [anon_sym_rescue] = ACTIONS(2674),
    [anon_sym_do] = ACTIONS(2674),
    [anon_sym_when] = ACTIONS(2674),
    [anon_sym_elsif] = ACTIONS(2674),
    [anon_sym_else] = ACTIONS(2674),
    [anon_sym_then] = ACTIONS(2674),
    [anon_sym_ensure] = ACTIONS(2674),
    [anon_sym_EQ_GT] = ACTIONS(2674),
    [anon_sym_AMP_DOT] = ACTIONS(2674),
    [anon_sym_PLUS_EQ] = ACTIONS(2674),
    [anon_sym_DASH_EQ] = ACTIONS(2674),
    [anon_sym_STAR_EQ] = ACTIONS(2674),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2674),
    [anon_sym_SLASH_EQ] = ACTIONS(2674),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2674),
    [anon_sym_PIPE_EQ] = ACTIONS(2674),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2674),
    [anon_sym_AMP_EQ] = ACTIONS(2674),
    [anon_sym_PERCENT_EQ] = ACTIONS(2674),
    [anon_sym_GT_GT_EQ] = ACTIONS(2674),
    [anon_sym_LT_LT_EQ] = ACTIONS(2674),
    [anon_sym_CARET_EQ] = ACTIONS(2674),
    [anon_sym_QMARK] = ACTIONS(2674),
    [anon_sym_DOT_DOT] = ACTIONS(2676),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2674),
    [anon_sym_and] = ACTIONS(2674),
    [anon_sym_or] = ACTIONS(2674),
    [anon_sym_PIPE_PIPE] = ACTIONS(2676),
    [anon_sym_AMP_AMP] = ACTIONS(2676),
    [anon_sym_LT_LT] = ACTIONS(2676),
    [anon_sym_GT_GT] = ACTIONS(2676),
    [anon_sym_EQ_EQ] = ACTIONS(2676),
    [anon_sym_BANG_EQ] = ACTIONS(2674),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2674),
    [anon_sym_LT_EQ_GT] = ACTIONS(2674),
    [anon_sym_EQ_TILDE] = ACTIONS(2674),
    [anon_sym_BANG_TILDE] = ACTIONS(2674),
    [anon_sym_LT_EQ] = ACTIONS(2676),
    [anon_sym_GT] = ACTIONS(2676),
    [anon_sym_GT_EQ] = ACTIONS(2674),
    [anon_sym_CARET] = ACTIONS(2676),
    [anon_sym_PLUS] = ACTIONS(2676),
    [anon_sym_SLASH] = ACTIONS(2676),
    [anon_sym_PERCENT] = ACTIONS(2676),
    [sym_comment] = ACTIONS(256),
  },
  [2164] = {
    [anon_sym_end] = ACTIONS(7282),
    [sym_comment] = ACTIONS(110),
  },
  [2165] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(5048),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(7284),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2166] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [ts_builtin_sym_end] = ACTIONS(2870),
    [anon_sym___END__] = ACTIONS(2870),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(3324),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2872),
    [anon_sym_AMP_AMP] = ACTIONS(2872),
    [anon_sym_LT_LT] = ACTIONS(2872),
    [anon_sym_GT_GT] = ACTIONS(2872),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2872),
    [anon_sym_PLUS] = ACTIONS(2872),
    [anon_sym_SLASH] = ACTIONS(2872),
    [anon_sym_PERCENT] = ACTIONS(2872),
    [sym_comment] = ACTIONS(256),
  },
  [2167] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(3318),
    [sym__binary_star] = ACTIONS(3320),
    [ts_builtin_sym_end] = ACTIONS(2870),
    [anon_sym___END__] = ACTIONS(2870),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(3322),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(3324),
    [anon_sym_AMP] = ACTIONS(3326),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(3328),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(3330),
    [anon_sym_DOT_DOT] = ACTIONS(3332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3334),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(3336),
    [anon_sym_AMP_AMP] = ACTIONS(3336),
    [anon_sym_LT_LT] = ACTIONS(3338),
    [anon_sym_GT_GT] = ACTIONS(3338),
    [anon_sym_EQ_EQ] = ACTIONS(3336),
    [anon_sym_BANG_EQ] = ACTIONS(3340),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3340),
    [anon_sym_LT_EQ_GT] = ACTIONS(3340),
    [anon_sym_EQ_TILDE] = ACTIONS(3340),
    [anon_sym_BANG_TILDE] = ACTIONS(3340),
    [anon_sym_LT_EQ] = ACTIONS(3328),
    [anon_sym_GT] = ACTIONS(3328),
    [anon_sym_GT_EQ] = ACTIONS(3342),
    [anon_sym_CARET] = ACTIONS(3322),
    [anon_sym_PLUS] = ACTIONS(3344),
    [anon_sym_SLASH] = ACTIONS(3324),
    [anon_sym_PERCENT] = ACTIONS(3324),
    [sym_comment] = ACTIONS(256),
  },
  [2168] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [ts_builtin_sym_end] = ACTIONS(2870),
    [anon_sym___END__] = ACTIONS(2870),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_RBRACE] = ACTIONS(2870),
    [anon_sym_RPAREN] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_end] = ACTIONS(2870),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(2872),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_when] = ACTIONS(2870),
    [anon_sym_elsif] = ACTIONS(2870),
    [anon_sym_else] = ACTIONS(2870),
    [anon_sym_then] = ACTIONS(2870),
    [anon_sym_ensure] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2872),
    [anon_sym_AMP_AMP] = ACTIONS(2872),
    [anon_sym_LT_LT] = ACTIONS(2872),
    [anon_sym_GT_GT] = ACTIONS(2872),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2872),
    [anon_sym_PLUS] = ACTIONS(2872),
    [anon_sym_SLASH] = ACTIONS(2872),
    [anon_sym_PERCENT] = ACTIONS(2872),
    [sym_comment] = ACTIONS(256),
  },
  [2169] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(5049),
    [sym__primary] = STATE(2082),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(2083),
    [sym_call] = STATE(2083),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(2085),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2086),
    [sym__variable] = STATE(2083),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(3162),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(3174),
    [anon_sym_yield] = ACTIONS(3176),
    [anon_sym_break] = ACTIONS(3178),
    [anon_sym_next] = ACTIONS(3180),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(3200),
    [anon_sym_defined_QMARK] = ACTIONS(3202),
    [anon_sym_not] = ACTIONS(3204),
    [anon_sym_BANG] = ACTIONS(3206),
    [anon_sym_TILDE] = ACTIONS(3206),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [2170] = {
    [sym__simple_heredoc_body] = ACTIONS(2882),
    [sym__heredoc_body_beginning] = ACTIONS(2882),
    [sym__line_break] = ACTIONS(2882),
    [sym__element_reference_left_bracket] = ACTIONS(2882),
    [sym__scope_double_colon] = ACTIONS(2882),
    [sym__binary_minus] = ACTIONS(2882),
    [sym__binary_star] = ACTIONS(2882),
    [ts_builtin_sym_end] = ACTIONS(2882),
    [anon_sym___END__] = ACTIONS(2882),
    [anon_sym_LBRACE] = ACTIONS(2882),
    [anon_sym_RBRACE] = ACTIONS(2882),
    [anon_sym_RPAREN] = ACTIONS(2882),
    [anon_sym_DOT] = ACTIONS(2884),
    [anon_sym_end] = ACTIONS(2882),
    [anon_sym_COMMA] = ACTIONS(2882),
    [anon_sym_PIPE] = ACTIONS(2884),
    [anon_sym_SEMI] = ACTIONS(2882),
    [anon_sym_STAR_STAR] = ACTIONS(2884),
    [anon_sym_AMP] = ACTIONS(2884),
    [anon_sym_EQ] = ACTIONS(2884),
    [anon_sym_LT] = ACTIONS(2884),
    [anon_sym_if] = ACTIONS(2882),
    [anon_sym_unless] = ACTIONS(2882),
    [anon_sym_while] = ACTIONS(2882),
    [anon_sym_until] = ACTIONS(2882),
    [anon_sym_rescue] = ACTIONS(2882),
    [anon_sym_do] = ACTIONS(2882),
    [anon_sym_when] = ACTIONS(2882),
    [anon_sym_elsif] = ACTIONS(2882),
    [anon_sym_else] = ACTIONS(2882),
    [anon_sym_then] = ACTIONS(2882),
    [anon_sym_ensure] = ACTIONS(2882),
    [anon_sym_EQ_GT] = ACTIONS(2882),
    [anon_sym_AMP_DOT] = ACTIONS(2882),
    [anon_sym_PLUS_EQ] = ACTIONS(2882),
    [anon_sym_DASH_EQ] = ACTIONS(2882),
    [anon_sym_STAR_EQ] = ACTIONS(2882),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2882),
    [anon_sym_SLASH_EQ] = ACTIONS(2882),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2882),
    [anon_sym_PIPE_EQ] = ACTIONS(2882),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2882),
    [anon_sym_AMP_EQ] = ACTIONS(2882),
    [anon_sym_PERCENT_EQ] = ACTIONS(2882),
    [anon_sym_GT_GT_EQ] = ACTIONS(2882),
    [anon_sym_LT_LT_EQ] = ACTIONS(2882),
    [anon_sym_CARET_EQ] = ACTIONS(2882),
    [anon_sym_QMARK] = ACTIONS(2882),
    [anon_sym_DOT_DOT] = ACTIONS(2884),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2882),
    [anon_sym_and] = ACTIONS(2882),
    [anon_sym_or] = ACTIONS(2882),
    [anon_sym_PIPE_PIPE] = ACTIONS(2884),
    [anon_sym_AMP_AMP] = ACTIONS(2884),
    [anon_sym_LT_LT] = ACTIONS(2884),
    [anon_sym_GT_GT] = ACTIONS(2884),
    [anon_sym_EQ_EQ] = ACTIONS(2884),
    [anon_sym_BANG_EQ] = ACTIONS(2882),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2882),
    [anon_sym_LT_EQ_GT] = ACTIONS(2882),
    [anon_sym_EQ_TILDE] = ACTIONS(2882),
    [anon_sym_BANG_TILDE] = ACTIONS(2882),
    [anon_sym_LT_EQ] = ACTIONS(2884),
    [anon_sym_GT] = ACTIONS(2884),
    [anon_sym_GT_EQ] = ACTIONS(2882),
    [anon_sym_CARET] = ACTIONS(2884),
    [anon_sym_PLUS] = ACTIONS(2884),
    [anon_sym_SLASH] = ACTIONS(2884),
    [anon_sym_PERCENT] = ACTIONS(2884),
    [sym_comment] = ACTIONS(256),
  },
  [2171] = {
    [sym__simple_heredoc_body] = ACTIONS(2952),
    [sym__heredoc_body_beginning] = ACTIONS(2952),
    [sym__line_break] = ACTIONS(2952),
    [sym__element_reference_left_bracket] = ACTIONS(2952),
    [sym__scope_double_colon] = ACTIONS(2952),
    [sym__binary_minus] = ACTIONS(2952),
    [sym__binary_star] = ACTIONS(2952),
    [ts_builtin_sym_end] = ACTIONS(2952),
    [anon_sym___END__] = ACTIONS(2952),
    [anon_sym_LBRACE] = ACTIONS(2952),
    [anon_sym_RBRACE] = ACTIONS(2952),
    [anon_sym_RPAREN] = ACTIONS(2952),
    [anon_sym_DOT] = ACTIONS(2954),
    [anon_sym_end] = ACTIONS(2952),
    [anon_sym_COMMA] = ACTIONS(2952),
    [anon_sym_PIPE] = ACTIONS(2954),
    [anon_sym_SEMI] = ACTIONS(2952),
    [anon_sym_STAR_STAR] = ACTIONS(2954),
    [anon_sym_AMP] = ACTIONS(2954),
    [anon_sym_EQ] = ACTIONS(2954),
    [anon_sym_LT] = ACTIONS(2954),
    [anon_sym_if] = ACTIONS(2952),
    [anon_sym_unless] = ACTIONS(2952),
    [anon_sym_while] = ACTIONS(2952),
    [anon_sym_until] = ACTIONS(2952),
    [anon_sym_rescue] = ACTIONS(2952),
    [anon_sym_do] = ACTIONS(2952),
    [anon_sym_when] = ACTIONS(2952),
    [anon_sym_elsif] = ACTIONS(2952),
    [anon_sym_else] = ACTIONS(2952),
    [anon_sym_then] = ACTIONS(2952),
    [anon_sym_ensure] = ACTIONS(2952),
    [anon_sym_EQ_GT] = ACTIONS(2952),
    [anon_sym_AMP_DOT] = ACTIONS(2952),
    [anon_sym_PLUS_EQ] = ACTIONS(2952),
    [anon_sym_DASH_EQ] = ACTIONS(2952),
    [anon_sym_STAR_EQ] = ACTIONS(2952),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2952),
    [anon_sym_SLASH_EQ] = ACTIONS(2952),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2952),
    [anon_sym_PIPE_EQ] = ACTIONS(2952),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2952),
    [anon_sym_AMP_EQ] = ACTIONS(2952),
    [anon_sym_PERCENT_EQ] = ACTIONS(2952),
    [anon_sym_GT_GT_EQ] = ACTIONS(2952),
    [anon_sym_LT_LT_EQ] = ACTIONS(2952),
    [anon_sym_CARET_EQ] = ACTIONS(2952),
    [anon_sym_QMARK] = ACTIONS(2952),
    [anon_sym_DOT_DOT] = ACTIONS(2954),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2952),
    [anon_sym_and] = ACTIONS(2952),
    [anon_sym_or] = ACTIONS(2952),
    [anon_sym_PIPE_PIPE] = ACTIONS(2954),
    [anon_sym_AMP_AMP] = ACTIONS(2954),
    [anon_sym_LT_LT] = ACTIONS(2954),
    [anon_sym_GT_GT] = ACTIONS(2954),
    [anon_sym_EQ_EQ] = ACTIONS(2954),
    [anon_sym_BANG_EQ] = ACTIONS(2952),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2952),
    [anon_sym_LT_EQ_GT] = ACTIONS(2952),
    [anon_sym_EQ_TILDE] = ACTIONS(2952),
    [anon_sym_BANG_TILDE] = ACTIONS(2952),
    [anon_sym_LT_EQ] = ACTIONS(2954),
    [anon_sym_GT] = ACTIONS(2954),
    [anon_sym_GT_EQ] = ACTIONS(2952),
    [anon_sym_CARET] = ACTIONS(2954),
    [anon_sym_PLUS] = ACTIONS(2954),
    [anon_sym_SLASH] = ACTIONS(2954),
    [anon_sym_PERCENT] = ACTIONS(2954),
    [sym_comment] = ACTIONS(256),
  },
  [2172] = {
    [sym_heredoc_end] = STATE(5050),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RBRACK] = ACTIONS(7146),
    [sym_comment] = ACTIONS(110),
  },
  [2173] = {
    [anon_sym_RBRACK] = ACTIONS(7146),
    [sym_comment] = ACTIONS(110),
  },
  [2174] = {
    [sym__statements] = STATE(3759),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(3760),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(841),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(7286),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_PIPE] = ACTIONS(3048),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2175] = {
    [sym__statements] = STATE(3763),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(3764),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1981),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(3765),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(3076),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(3078),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(3080),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(5454),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(3086),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2176] = {
    [sym_do_block] = STATE(5052),
    [sym_block] = STATE(5052),
    [anon_sym_LBRACE] = ACTIONS(3314),
    [anon_sym_do] = ACTIONS(5458),
    [sym_comment] = ACTIONS(110),
  },
  [2177] = {
    [sym__simple_heredoc_body] = ACTIONS(3100),
    [sym__heredoc_body_beginning] = ACTIONS(3100),
    [sym__line_break] = ACTIONS(3100),
    [sym__element_reference_left_bracket] = ACTIONS(3100),
    [sym__scope_double_colon] = ACTIONS(3100),
    [sym__binary_minus] = ACTIONS(3100),
    [sym__binary_star] = ACTIONS(3100),
    [ts_builtin_sym_end] = ACTIONS(3100),
    [anon_sym___END__] = ACTIONS(3100),
    [anon_sym_LBRACE] = ACTIONS(3100),
    [anon_sym_RBRACE] = ACTIONS(3100),
    [anon_sym_RPAREN] = ACTIONS(3100),
    [anon_sym_DOT] = ACTIONS(3102),
    [anon_sym_end] = ACTIONS(3100),
    [anon_sym_COMMA] = ACTIONS(3100),
    [anon_sym_PIPE] = ACTIONS(3102),
    [anon_sym_SEMI] = ACTIONS(3100),
    [anon_sym_STAR_STAR] = ACTIONS(3102),
    [anon_sym_AMP] = ACTIONS(3102),
    [anon_sym_EQ] = ACTIONS(3102),
    [anon_sym_LT] = ACTIONS(3102),
    [anon_sym_if] = ACTIONS(3100),
    [anon_sym_unless] = ACTIONS(3100),
    [anon_sym_while] = ACTIONS(3100),
    [anon_sym_until] = ACTIONS(3100),
    [anon_sym_rescue] = ACTIONS(3100),
    [anon_sym_do] = ACTIONS(3100),
    [anon_sym_when] = ACTIONS(3100),
    [anon_sym_elsif] = ACTIONS(3100),
    [anon_sym_else] = ACTIONS(3100),
    [anon_sym_then] = ACTIONS(3100),
    [anon_sym_ensure] = ACTIONS(3100),
    [anon_sym_EQ_GT] = ACTIONS(3100),
    [anon_sym_AMP_DOT] = ACTIONS(3100),
    [anon_sym_PLUS_EQ] = ACTIONS(3100),
    [anon_sym_DASH_EQ] = ACTIONS(3100),
    [anon_sym_STAR_EQ] = ACTIONS(3100),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3100),
    [anon_sym_SLASH_EQ] = ACTIONS(3100),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3100),
    [anon_sym_PIPE_EQ] = ACTIONS(3100),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3100),
    [anon_sym_AMP_EQ] = ACTIONS(3100),
    [anon_sym_PERCENT_EQ] = ACTIONS(3100),
    [anon_sym_GT_GT_EQ] = ACTIONS(3100),
    [anon_sym_LT_LT_EQ] = ACTIONS(3100),
    [anon_sym_CARET_EQ] = ACTIONS(3100),
    [anon_sym_QMARK] = ACTIONS(3100),
    [anon_sym_DOT_DOT] = ACTIONS(3102),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3100),
    [anon_sym_and] = ACTIONS(3100),
    [anon_sym_or] = ACTIONS(3100),
    [anon_sym_PIPE_PIPE] = ACTIONS(3102),
    [anon_sym_AMP_AMP] = ACTIONS(3102),
    [anon_sym_LT_LT] = ACTIONS(3102),
    [anon_sym_GT_GT] = ACTIONS(3102),
    [anon_sym_EQ_EQ] = ACTIONS(3102),
    [anon_sym_BANG_EQ] = ACTIONS(3100),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3100),
    [anon_sym_LT_EQ_GT] = ACTIONS(3100),
    [anon_sym_EQ_TILDE] = ACTIONS(3100),
    [anon_sym_BANG_TILDE] = ACTIONS(3100),
    [anon_sym_LT_EQ] = ACTIONS(3102),
    [anon_sym_GT] = ACTIONS(3102),
    [anon_sym_GT_EQ] = ACTIONS(3100),
    [anon_sym_CARET] = ACTIONS(3102),
    [anon_sym_PLUS] = ACTIONS(3102),
    [anon_sym_SLASH] = ACTIONS(3102),
    [anon_sym_PERCENT] = ACTIONS(3102),
    [sym_comment] = ACTIONS(256),
  },
  [2178] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(5053),
    [sym__primary] = STATE(596),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(597),
    [sym_call] = STATE(597),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(605),
    [sym__variable] = STATE(597),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(1012),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(3236),
    [anon_sym_yield] = ACTIONS(3238),
    [anon_sym_break] = ACTIONS(3240),
    [anon_sym_next] = ACTIONS(3242),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(3262),
    [anon_sym_defined_QMARK] = ACTIONS(1044),
    [anon_sym_not] = ACTIONS(3264),
    [anon_sym_BANG] = ACTIONS(1050),
    [anon_sym_TILDE] = ACTIONS(1050),
    [sym_constant] = ACTIONS(2194),
    [sym_identifier] = ACTIONS(2194),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2196),
    [anon_sym_super] = ACTIONS(2198),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [2179] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(5054),
    [sym__primary] = STATE(596),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(597),
    [sym_call] = STATE(597),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(605),
    [sym__variable] = STATE(597),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(1012),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(3236),
    [anon_sym_yield] = ACTIONS(3238),
    [anon_sym_break] = ACTIONS(3240),
    [anon_sym_next] = ACTIONS(3242),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(3262),
    [anon_sym_defined_QMARK] = ACTIONS(1044),
    [anon_sym_not] = ACTIONS(3264),
    [anon_sym_BANG] = ACTIONS(1050),
    [anon_sym_TILDE] = ACTIONS(1050),
    [sym_constant] = ACTIONS(2194),
    [sym_identifier] = ACTIONS(2194),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2196),
    [anon_sym_super] = ACTIONS(2198),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [2180] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(5055),
    [sym__primary] = STATE(596),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(597),
    [sym_call] = STATE(597),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(605),
    [sym__variable] = STATE(597),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(1012),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(3236),
    [anon_sym_yield] = ACTIONS(3238),
    [anon_sym_break] = ACTIONS(3240),
    [anon_sym_next] = ACTIONS(3242),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(3262),
    [anon_sym_defined_QMARK] = ACTIONS(1044),
    [anon_sym_not] = ACTIONS(3264),
    [anon_sym_BANG] = ACTIONS(1050),
    [anon_sym_TILDE] = ACTIONS(1050),
    [sym_constant] = ACTIONS(2194),
    [sym_identifier] = ACTIONS(2194),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2196),
    [anon_sym_super] = ACTIONS(2198),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [2181] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(5056),
    [sym__primary] = STATE(596),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(597),
    [sym_call] = STATE(597),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(605),
    [sym__variable] = STATE(597),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(1012),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(3236),
    [anon_sym_yield] = ACTIONS(3238),
    [anon_sym_break] = ACTIONS(3240),
    [anon_sym_next] = ACTIONS(3242),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(3262),
    [anon_sym_defined_QMARK] = ACTIONS(1044),
    [anon_sym_not] = ACTIONS(3264),
    [anon_sym_BANG] = ACTIONS(1050),
    [anon_sym_TILDE] = ACTIONS(1050),
    [sym_constant] = ACTIONS(2194),
    [sym_identifier] = ACTIONS(2194),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2196),
    [anon_sym_super] = ACTIONS(2198),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [2182] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(5057),
    [sym__primary] = STATE(596),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(597),
    [sym_call] = STATE(597),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(605),
    [sym__variable] = STATE(597),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(1012),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(3236),
    [anon_sym_yield] = ACTIONS(3238),
    [anon_sym_break] = ACTIONS(3240),
    [anon_sym_next] = ACTIONS(3242),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(3262),
    [anon_sym_defined_QMARK] = ACTIONS(1044),
    [anon_sym_not] = ACTIONS(3264),
    [anon_sym_BANG] = ACTIONS(1050),
    [anon_sym_TILDE] = ACTIONS(1050),
    [sym_constant] = ACTIONS(2194),
    [sym_identifier] = ACTIONS(2194),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2196),
    [anon_sym_super] = ACTIONS(2198),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [2183] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(5058),
    [sym__primary] = STATE(596),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(597),
    [sym_call] = STATE(597),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(605),
    [sym__variable] = STATE(597),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(1012),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(3236),
    [anon_sym_yield] = ACTIONS(3238),
    [anon_sym_break] = ACTIONS(3240),
    [anon_sym_next] = ACTIONS(3242),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(3262),
    [anon_sym_defined_QMARK] = ACTIONS(1044),
    [anon_sym_not] = ACTIONS(3264),
    [anon_sym_BANG] = ACTIONS(1050),
    [anon_sym_TILDE] = ACTIONS(1050),
    [sym_constant] = ACTIONS(2194),
    [sym_identifier] = ACTIONS(2194),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2196),
    [anon_sym_super] = ACTIONS(2198),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [2184] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(5059),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [2185] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(5060),
    [sym__primary] = STATE(596),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(597),
    [sym_call] = STATE(597),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(605),
    [sym__variable] = STATE(597),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(1012),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(3236),
    [anon_sym_yield] = ACTIONS(3238),
    [anon_sym_break] = ACTIONS(3240),
    [anon_sym_next] = ACTIONS(3242),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(3262),
    [anon_sym_defined_QMARK] = ACTIONS(1044),
    [anon_sym_not] = ACTIONS(3264),
    [anon_sym_BANG] = ACTIONS(1050),
    [anon_sym_TILDE] = ACTIONS(1050),
    [sym_constant] = ACTIONS(2194),
    [sym_identifier] = ACTIONS(2194),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2196),
    [anon_sym_super] = ACTIONS(2198),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [2186] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(5061),
    [sym__primary] = STATE(596),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(597),
    [sym_call] = STATE(597),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(605),
    [sym__variable] = STATE(597),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(1012),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(3236),
    [anon_sym_yield] = ACTIONS(3238),
    [anon_sym_break] = ACTIONS(3240),
    [anon_sym_next] = ACTIONS(3242),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(3262),
    [anon_sym_defined_QMARK] = ACTIONS(1044),
    [anon_sym_not] = ACTIONS(3264),
    [anon_sym_BANG] = ACTIONS(1050),
    [anon_sym_TILDE] = ACTIONS(1050),
    [sym_constant] = ACTIONS(2194),
    [sym_identifier] = ACTIONS(2194),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2196),
    [anon_sym_super] = ACTIONS(2198),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [2187] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(5062),
    [sym__primary] = STATE(596),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(597),
    [sym_call] = STATE(597),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(605),
    [sym__variable] = STATE(597),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(1012),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(3236),
    [anon_sym_yield] = ACTIONS(3238),
    [anon_sym_break] = ACTIONS(3240),
    [anon_sym_next] = ACTIONS(3242),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(3262),
    [anon_sym_defined_QMARK] = ACTIONS(1044),
    [anon_sym_not] = ACTIONS(3264),
    [anon_sym_BANG] = ACTIONS(1050),
    [anon_sym_TILDE] = ACTIONS(1050),
    [sym_constant] = ACTIONS(2194),
    [sym_identifier] = ACTIONS(2194),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2196),
    [anon_sym_super] = ACTIONS(2198),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [2188] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(5063),
    [sym__primary] = STATE(596),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(597),
    [sym_call] = STATE(597),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(605),
    [sym__variable] = STATE(597),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(1012),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(3236),
    [anon_sym_yield] = ACTIONS(3238),
    [anon_sym_break] = ACTIONS(3240),
    [anon_sym_next] = ACTIONS(3242),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(3262),
    [anon_sym_defined_QMARK] = ACTIONS(1044),
    [anon_sym_not] = ACTIONS(3264),
    [anon_sym_BANG] = ACTIONS(1050),
    [anon_sym_TILDE] = ACTIONS(1050),
    [sym_constant] = ACTIONS(2194),
    [sym_identifier] = ACTIONS(2194),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2196),
    [anon_sym_super] = ACTIONS(2198),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [2189] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(5064),
    [sym__primary] = STATE(596),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(597),
    [sym_call] = STATE(597),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(605),
    [sym__variable] = STATE(597),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(1012),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(3236),
    [anon_sym_yield] = ACTIONS(3238),
    [anon_sym_break] = ACTIONS(3240),
    [anon_sym_next] = ACTIONS(3242),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(3262),
    [anon_sym_defined_QMARK] = ACTIONS(1044),
    [anon_sym_not] = ACTIONS(3264),
    [anon_sym_BANG] = ACTIONS(1050),
    [anon_sym_TILDE] = ACTIONS(1050),
    [sym_constant] = ACTIONS(2194),
    [sym_identifier] = ACTIONS(2194),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2196),
    [anon_sym_super] = ACTIONS(2198),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [2190] = {
    [sym_do_block] = STATE(3767),
    [sym_block] = STATE(3767),
    [sym__simple_heredoc_body] = ACTIONS(3346),
    [sym__heredoc_body_beginning] = ACTIONS(3346),
    [sym__line_break] = ACTIONS(3346),
    [sym__element_reference_left_bracket] = ACTIONS(3346),
    [sym__scope_double_colon] = ACTIONS(3346),
    [sym__binary_minus] = ACTIONS(3346),
    [sym__binary_star] = ACTIONS(3346),
    [ts_builtin_sym_end] = ACTIONS(3346),
    [anon_sym___END__] = ACTIONS(3346),
    [anon_sym_LBRACE] = ACTIONS(3314),
    [anon_sym_RBRACE] = ACTIONS(3346),
    [anon_sym_RPAREN] = ACTIONS(3346),
    [anon_sym_DOT] = ACTIONS(3350),
    [anon_sym_end] = ACTIONS(3346),
    [anon_sym_COMMA] = ACTIONS(3346),
    [anon_sym_PIPE] = ACTIONS(3350),
    [anon_sym_SEMI] = ACTIONS(3346),
    [anon_sym_STAR_STAR] = ACTIONS(3350),
    [anon_sym_AMP] = ACTIONS(3350),
    [anon_sym_EQ] = ACTIONS(3350),
    [anon_sym_LT] = ACTIONS(3350),
    [anon_sym_if] = ACTIONS(3346),
    [anon_sym_unless] = ACTIONS(3346),
    [anon_sym_while] = ACTIONS(3346),
    [anon_sym_until] = ACTIONS(3346),
    [anon_sym_rescue] = ACTIONS(3346),
    [anon_sym_do] = ACTIONS(3346),
    [anon_sym_when] = ACTIONS(3346),
    [anon_sym_elsif] = ACTIONS(3346),
    [anon_sym_else] = ACTIONS(3346),
    [anon_sym_then] = ACTIONS(3346),
    [anon_sym_ensure] = ACTIONS(3346),
    [anon_sym_EQ_GT] = ACTIONS(3346),
    [anon_sym_AMP_DOT] = ACTIONS(3346),
    [anon_sym_PLUS_EQ] = ACTIONS(3346),
    [anon_sym_DASH_EQ] = ACTIONS(3346),
    [anon_sym_STAR_EQ] = ACTIONS(3346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3346),
    [anon_sym_SLASH_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3346),
    [anon_sym_AMP_EQ] = ACTIONS(3346),
    [anon_sym_PERCENT_EQ] = ACTIONS(3346),
    [anon_sym_GT_GT_EQ] = ACTIONS(3346),
    [anon_sym_LT_LT_EQ] = ACTIONS(3346),
    [anon_sym_CARET_EQ] = ACTIONS(3346),
    [anon_sym_QMARK] = ACTIONS(3346),
    [anon_sym_DOT_DOT] = ACTIONS(3350),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3346),
    [anon_sym_and] = ACTIONS(3346),
    [anon_sym_or] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE] = ACTIONS(3350),
    [anon_sym_AMP_AMP] = ACTIONS(3350),
    [anon_sym_LT_LT] = ACTIONS(3350),
    [anon_sym_GT_GT] = ACTIONS(3350),
    [anon_sym_EQ_EQ] = ACTIONS(3350),
    [anon_sym_BANG_EQ] = ACTIONS(3346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3346),
    [anon_sym_LT_EQ_GT] = ACTIONS(3346),
    [anon_sym_EQ_TILDE] = ACTIONS(3346),
    [anon_sym_BANG_TILDE] = ACTIONS(3346),
    [anon_sym_LT_EQ] = ACTIONS(3350),
    [anon_sym_GT] = ACTIONS(3350),
    [anon_sym_GT_EQ] = ACTIONS(3346),
    [anon_sym_CARET] = ACTIONS(3350),
    [anon_sym_PLUS] = ACTIONS(3350),
    [anon_sym_SLASH] = ACTIONS(3350),
    [anon_sym_PERCENT] = ACTIONS(3350),
    [sym_comment] = ACTIONS(256),
  },
  [2191] = {
    [sym__statements] = STATE(2126),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(2127),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(841),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(7288),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_PIPE] = ACTIONS(3048),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2192] = {
    [sym__statements] = STATE(2157),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(2158),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1981),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(2159),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(3076),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(3078),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(3080),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(3304),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(3086),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2193] = {
    [sym__simple_heredoc_body] = ACTIONS(7290),
    [sym__heredoc_body_beginning] = ACTIONS(7290),
    [sym__line_break] = ACTIONS(7290),
    [sym__element_reference_left_bracket] = ACTIONS(7290),
    [sym__scope_double_colon] = ACTIONS(7290),
    [sym__binary_minus] = ACTIONS(7290),
    [sym__binary_star] = ACTIONS(7290),
    [ts_builtin_sym_end] = ACTIONS(7290),
    [anon_sym___END__] = ACTIONS(7290),
    [anon_sym_LBRACE] = ACTIONS(7290),
    [anon_sym_RBRACE] = ACTIONS(7290),
    [anon_sym_RPAREN] = ACTIONS(7290),
    [anon_sym_DOT] = ACTIONS(7292),
    [anon_sym_end] = ACTIONS(7290),
    [anon_sym_COMMA] = ACTIONS(7290),
    [anon_sym_PIPE] = ACTIONS(7292),
    [anon_sym_SEMI] = ACTIONS(7290),
    [anon_sym_STAR_STAR] = ACTIONS(7292),
    [anon_sym_AMP] = ACTIONS(7292),
    [anon_sym_EQ] = ACTIONS(7292),
    [anon_sym_LT] = ACTIONS(7292),
    [anon_sym_if] = ACTIONS(7290),
    [anon_sym_unless] = ACTIONS(7290),
    [anon_sym_while] = ACTIONS(7290),
    [anon_sym_until] = ACTIONS(7290),
    [anon_sym_rescue] = ACTIONS(7290),
    [anon_sym_do] = ACTIONS(7290),
    [anon_sym_when] = ACTIONS(7290),
    [anon_sym_elsif] = ACTIONS(7290),
    [anon_sym_else] = ACTIONS(7290),
    [anon_sym_then] = ACTIONS(7290),
    [anon_sym_ensure] = ACTIONS(7290),
    [anon_sym_AMP_DOT] = ACTIONS(7290),
    [anon_sym_PLUS_EQ] = ACTIONS(7290),
    [anon_sym_DASH_EQ] = ACTIONS(7290),
    [anon_sym_STAR_EQ] = ACTIONS(7290),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7290),
    [anon_sym_SLASH_EQ] = ACTIONS(7290),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7290),
    [anon_sym_PIPE_EQ] = ACTIONS(7290),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7290),
    [anon_sym_AMP_EQ] = ACTIONS(7290),
    [anon_sym_PERCENT_EQ] = ACTIONS(7290),
    [anon_sym_GT_GT_EQ] = ACTIONS(7290),
    [anon_sym_LT_LT_EQ] = ACTIONS(7290),
    [anon_sym_CARET_EQ] = ACTIONS(7290),
    [anon_sym_QMARK] = ACTIONS(7290),
    [anon_sym_DOT_DOT] = ACTIONS(7292),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7290),
    [anon_sym_and] = ACTIONS(7290),
    [anon_sym_or] = ACTIONS(7290),
    [anon_sym_PIPE_PIPE] = ACTIONS(7292),
    [anon_sym_AMP_AMP] = ACTIONS(7292),
    [anon_sym_LT_LT] = ACTIONS(7292),
    [anon_sym_GT_GT] = ACTIONS(7292),
    [anon_sym_EQ_EQ] = ACTIONS(7292),
    [anon_sym_BANG_EQ] = ACTIONS(7290),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7290),
    [anon_sym_LT_EQ_GT] = ACTIONS(7290),
    [anon_sym_EQ_TILDE] = ACTIONS(7290),
    [anon_sym_BANG_TILDE] = ACTIONS(7290),
    [anon_sym_LT_EQ] = ACTIONS(7292),
    [anon_sym_GT] = ACTIONS(7292),
    [anon_sym_GT_EQ] = ACTIONS(7290),
    [anon_sym_CARET] = ACTIONS(7292),
    [anon_sym_PLUS] = ACTIONS(7292),
    [anon_sym_SLASH] = ACTIONS(7292),
    [anon_sym_PERCENT] = ACTIONS(7292),
    [sym_comment] = ACTIONS(256),
  },
  [2194] = {
    [sym__simple_heredoc_body] = ACTIONS(1398),
    [sym__heredoc_body_beginning] = ACTIONS(1398),
    [sym__line_break] = ACTIONS(1398),
    [sym__element_reference_left_bracket] = ACTIONS(1398),
    [sym__scope_double_colon] = ACTIONS(1398),
    [sym__binary_minus] = ACTIONS(1398),
    [sym__binary_star] = ACTIONS(1398),
    [ts_builtin_sym_end] = ACTIONS(1398),
    [anon_sym___END__] = ACTIONS(1398),
    [anon_sym_LBRACE] = ACTIONS(1398),
    [anon_sym_RBRACE] = ACTIONS(1398),
    [anon_sym_RPAREN] = ACTIONS(1398),
    [anon_sym_DOT] = ACTIONS(2666),
    [anon_sym_end] = ACTIONS(1398),
    [anon_sym_COMMA] = ACTIONS(1398),
    [anon_sym_PIPE] = ACTIONS(2666),
    [anon_sym_SEMI] = ACTIONS(1398),
    [anon_sym_STAR_STAR] = ACTIONS(2666),
    [anon_sym_AMP] = ACTIONS(2666),
    [anon_sym_EQ] = ACTIONS(2666),
    [anon_sym_LT] = ACTIONS(2666),
    [anon_sym_if] = ACTIONS(1398),
    [anon_sym_unless] = ACTIONS(1398),
    [anon_sym_while] = ACTIONS(1398),
    [anon_sym_until] = ACTIONS(1398),
    [anon_sym_rescue] = ACTIONS(1398),
    [anon_sym_do] = ACTIONS(1398),
    [anon_sym_when] = ACTIONS(1398),
    [anon_sym_elsif] = ACTIONS(1398),
    [anon_sym_else] = ACTIONS(1398),
    [anon_sym_then] = ACTIONS(1398),
    [anon_sym_ensure] = ACTIONS(1398),
    [anon_sym_AMP_DOT] = ACTIONS(1398),
    [anon_sym_PLUS_EQ] = ACTIONS(1398),
    [anon_sym_DASH_EQ] = ACTIONS(1398),
    [anon_sym_STAR_EQ] = ACTIONS(1398),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1398),
    [anon_sym_SLASH_EQ] = ACTIONS(1398),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1398),
    [anon_sym_PIPE_EQ] = ACTIONS(1398),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1398),
    [anon_sym_AMP_EQ] = ACTIONS(1398),
    [anon_sym_PERCENT_EQ] = ACTIONS(1398),
    [anon_sym_GT_GT_EQ] = ACTIONS(1398),
    [anon_sym_LT_LT_EQ] = ACTIONS(1398),
    [anon_sym_CARET_EQ] = ACTIONS(1398),
    [anon_sym_QMARK] = ACTIONS(1398),
    [anon_sym_DOT_DOT] = ACTIONS(2666),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1398),
    [anon_sym_and] = ACTIONS(1398),
    [anon_sym_or] = ACTIONS(1398),
    [anon_sym_PIPE_PIPE] = ACTIONS(2666),
    [anon_sym_AMP_AMP] = ACTIONS(2666),
    [anon_sym_LT_LT] = ACTIONS(2666),
    [anon_sym_GT_GT] = ACTIONS(2666),
    [anon_sym_EQ_EQ] = ACTIONS(2666),
    [anon_sym_BANG_EQ] = ACTIONS(1398),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1398),
    [anon_sym_LT_EQ_GT] = ACTIONS(1398),
    [anon_sym_EQ_TILDE] = ACTIONS(1398),
    [anon_sym_BANG_TILDE] = ACTIONS(1398),
    [anon_sym_LT_EQ] = ACTIONS(2666),
    [anon_sym_GT] = ACTIONS(2666),
    [anon_sym_GT_EQ] = ACTIONS(1398),
    [anon_sym_CARET] = ACTIONS(2666),
    [anon_sym_PLUS] = ACTIONS(2666),
    [anon_sym_SLASH] = ACTIONS(2666),
    [anon_sym_PERCENT] = ACTIONS(2666),
    [sym_comment] = ACTIONS(256),
  },
  [2195] = {
    [sym__statement] = STATE(5066),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [aux_sym_heredoc_end_repeat1] = STATE(5067),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [2196] = {
    [sym__simple_heredoc_body] = ACTIONS(5468),
    [sym__heredoc_body_beginning] = ACTIONS(5468),
    [sym__line_break] = ACTIONS(5468),
    [sym__element_reference_left_bracket] = ACTIONS(5468),
    [sym__scope_double_colon] = ACTIONS(5468),
    [sym__binary_minus] = ACTIONS(5468),
    [sym__binary_star] = ACTIONS(5468),
    [ts_builtin_sym_end] = ACTIONS(5468),
    [anon_sym___END__] = ACTIONS(5468),
    [anon_sym_LBRACE] = ACTIONS(5468),
    [anon_sym_RBRACE] = ACTIONS(5468),
    [anon_sym_RPAREN] = ACTIONS(5468),
    [anon_sym_DOT] = ACTIONS(5470),
    [anon_sym_end] = ACTIONS(5468),
    [anon_sym_COMMA] = ACTIONS(5468),
    [anon_sym_PIPE] = ACTIONS(5470),
    [anon_sym_SEMI] = ACTIONS(5468),
    [anon_sym_STAR_STAR] = ACTIONS(5470),
    [anon_sym_AMP] = ACTIONS(5470),
    [anon_sym_EQ] = ACTIONS(5470),
    [anon_sym_LT] = ACTIONS(5470),
    [anon_sym_if] = ACTIONS(5468),
    [anon_sym_unless] = ACTIONS(5468),
    [anon_sym_while] = ACTIONS(5468),
    [anon_sym_until] = ACTIONS(5468),
    [anon_sym_rescue] = ACTIONS(5468),
    [anon_sym_do] = ACTIONS(5468),
    [anon_sym_when] = ACTIONS(5468),
    [anon_sym_elsif] = ACTIONS(5468),
    [anon_sym_else] = ACTIONS(5468),
    [anon_sym_then] = ACTIONS(5468),
    [anon_sym_ensure] = ACTIONS(5468),
    [anon_sym_AMP_DOT] = ACTIONS(5468),
    [anon_sym_PLUS_EQ] = ACTIONS(5468),
    [anon_sym_DASH_EQ] = ACTIONS(5468),
    [anon_sym_STAR_EQ] = ACTIONS(5468),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5468),
    [anon_sym_SLASH_EQ] = ACTIONS(5468),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5468),
    [anon_sym_PIPE_EQ] = ACTIONS(5468),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5468),
    [anon_sym_AMP_EQ] = ACTIONS(5468),
    [anon_sym_PERCENT_EQ] = ACTIONS(5468),
    [anon_sym_GT_GT_EQ] = ACTIONS(5468),
    [anon_sym_LT_LT_EQ] = ACTIONS(5468),
    [anon_sym_CARET_EQ] = ACTIONS(5468),
    [anon_sym_QMARK] = ACTIONS(5468),
    [anon_sym_DOT_DOT] = ACTIONS(5470),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5468),
    [anon_sym_and] = ACTIONS(5468),
    [anon_sym_or] = ACTIONS(5468),
    [anon_sym_PIPE_PIPE] = ACTIONS(5470),
    [anon_sym_AMP_AMP] = ACTIONS(5470),
    [anon_sym_LT_LT] = ACTIONS(5470),
    [anon_sym_GT_GT] = ACTIONS(5470),
    [anon_sym_EQ_EQ] = ACTIONS(5470),
    [anon_sym_BANG_EQ] = ACTIONS(5468),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5468),
    [anon_sym_LT_EQ_GT] = ACTIONS(5468),
    [anon_sym_EQ_TILDE] = ACTIONS(5468),
    [anon_sym_BANG_TILDE] = ACTIONS(5468),
    [anon_sym_LT_EQ] = ACTIONS(5470),
    [anon_sym_GT] = ACTIONS(5470),
    [anon_sym_GT_EQ] = ACTIONS(5468),
    [anon_sym_CARET] = ACTIONS(5470),
    [anon_sym_PLUS] = ACTIONS(5470),
    [anon_sym_SLASH] = ACTIONS(5470),
    [anon_sym_PERCENT] = ACTIONS(5470),
    [sym_comment] = ACTIONS(256),
  },
  [2197] = {
    [sym_heredoc_end] = STATE(5068),
    [sym__simple_heredoc_body] = ACTIONS(3354),
    [sym__heredoc_body_beginning] = ACTIONS(3356),
    [sym__line_break] = ACTIONS(5472),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [ts_builtin_sym_end] = ACTIONS(5472),
    [anon_sym___END__] = ACTIONS(5472),
    [anon_sym_LBRACE] = ACTIONS(5472),
    [anon_sym_RBRACE] = ACTIONS(5472),
    [anon_sym_RPAREN] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_end] = ACTIONS(5472),
    [anon_sym_COMMA] = ACTIONS(5472),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_SEMI] = ACTIONS(5472),
    [anon_sym_STAR_STAR] = ACTIONS(5474),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_EQ] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_if] = ACTIONS(5472),
    [anon_sym_unless] = ACTIONS(5472),
    [anon_sym_while] = ACTIONS(5472),
    [anon_sym_until] = ACTIONS(5472),
    [anon_sym_rescue] = ACTIONS(5472),
    [anon_sym_do] = ACTIONS(5472),
    [anon_sym_when] = ACTIONS(5472),
    [anon_sym_elsif] = ACTIONS(5472),
    [anon_sym_else] = ACTIONS(5472),
    [anon_sym_then] = ACTIONS(5472),
    [anon_sym_ensure] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_PLUS_EQ] = ACTIONS(5472),
    [anon_sym_DASH_EQ] = ACTIONS(5472),
    [anon_sym_STAR_EQ] = ACTIONS(5472),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5472),
    [anon_sym_SLASH_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5472),
    [anon_sym_AMP_EQ] = ACTIONS(5472),
    [anon_sym_PERCENT_EQ] = ACTIONS(5472),
    [anon_sym_GT_GT_EQ] = ACTIONS(5472),
    [anon_sym_LT_LT_EQ] = ACTIONS(5472),
    [anon_sym_CARET_EQ] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5474),
    [anon_sym_AMP_AMP] = ACTIONS(5474),
    [anon_sym_LT_LT] = ACTIONS(5474),
    [anon_sym_GT_GT] = ACTIONS(5474),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5474),
    [anon_sym_PLUS] = ACTIONS(5474),
    [anon_sym_SLASH] = ACTIONS(5474),
    [anon_sym_PERCENT] = ACTIONS(5474),
    [sym_comment] = ACTIONS(256),
  },
  [2198] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(595),
    [sym__primary] = STATE(596),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(597),
    [sym_call] = STATE(597),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(5069),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(605),
    [sym__variable] = STATE(597),
    [sym_reserved_identifier] = STATE(606),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(607),
    [sym_subshell] = STATE(561),
    [sym_heredoc_end] = STATE(5070),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__block_ampersand] = ACTIONS(1006),
    [sym__splat_star] = ACTIONS(1008),
    [sym__unary_minus] = ACTIONS(1012),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(7294),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(1024),
    [anon_sym_yield] = ACTIONS(1026),
    [anon_sym_break] = ACTIONS(1028),
    [anon_sym_next] = ACTIONS(1030),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(3262),
    [anon_sym_defined_QMARK] = ACTIONS(1044),
    [anon_sym_not] = ACTIONS(1046),
    [anon_sym_BANG] = ACTIONS(1050),
    [anon_sym_TILDE] = ACTIONS(1050),
    [sym_constant] = ACTIONS(1052),
    [sym_identifier] = ACTIONS(1052),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(588),
    [anon_sym_super] = ACTIONS(590),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [2199] = {
    [sym_heredoc_end] = STATE(2196),
    [aux_sym_argument_list_repeat2] = STATE(5072),
    [sym__simple_heredoc_body] = ACTIONS(3354),
    [sym__heredoc_body_beginning] = ACTIONS(3356),
    [sym__line_break] = ACTIONS(5472),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [ts_builtin_sym_end] = ACTIONS(5472),
    [anon_sym___END__] = ACTIONS(5472),
    [anon_sym_LBRACE] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(7296),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_SEMI] = ACTIONS(5472),
    [anon_sym_STAR_STAR] = ACTIONS(5474),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_EQ] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_if] = ACTIONS(5472),
    [anon_sym_unless] = ACTIONS(5472),
    [anon_sym_while] = ACTIONS(5472),
    [anon_sym_until] = ACTIONS(5472),
    [anon_sym_rescue] = ACTIONS(5472),
    [anon_sym_do] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_PLUS_EQ] = ACTIONS(5472),
    [anon_sym_DASH_EQ] = ACTIONS(5472),
    [anon_sym_STAR_EQ] = ACTIONS(5472),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5472),
    [anon_sym_SLASH_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5472),
    [anon_sym_AMP_EQ] = ACTIONS(5472),
    [anon_sym_PERCENT_EQ] = ACTIONS(5472),
    [anon_sym_GT_GT_EQ] = ACTIONS(5472),
    [anon_sym_LT_LT_EQ] = ACTIONS(5472),
    [anon_sym_CARET_EQ] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5474),
    [anon_sym_AMP_AMP] = ACTIONS(5474),
    [anon_sym_LT_LT] = ACTIONS(5474),
    [anon_sym_GT_GT] = ACTIONS(5474),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5474),
    [anon_sym_PLUS] = ACTIONS(5474),
    [anon_sym_SLASH] = ACTIONS(5474),
    [anon_sym_PERCENT] = ACTIONS(5474),
    [sym_comment] = ACTIONS(256),
  },
  [2200] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(5073),
    [sym__primary] = STATE(596),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(597),
    [sym_call] = STATE(597),
    [sym_method_call] = STATE(338),
    [sym_splat_argument] = STATE(5074),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_right_assignment_list] = STATE(5075),
    [sym__arg_or_splat_arg] = STATE(5076),
    [sym_left_assignment_list] = STATE(604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(605),
    [sym__variable] = STATE(597),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__splat_star] = ACTIONS(2254),
    [sym__unary_minus] = ACTIONS(1012),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(3236),
    [anon_sym_yield] = ACTIONS(3238),
    [anon_sym_break] = ACTIONS(3240),
    [anon_sym_next] = ACTIONS(3242),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(3262),
    [anon_sym_defined_QMARK] = ACTIONS(1044),
    [anon_sym_not] = ACTIONS(3264),
    [anon_sym_BANG] = ACTIONS(1050),
    [anon_sym_TILDE] = ACTIONS(1050),
    [sym_constant] = ACTIONS(2194),
    [sym_identifier] = ACTIONS(2194),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2196),
    [anon_sym_super] = ACTIONS(2198),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [2201] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(5077),
    [sym__primary] = STATE(596),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(597),
    [sym_call] = STATE(597),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(605),
    [sym__variable] = STATE(597),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(1012),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(3236),
    [anon_sym_yield] = ACTIONS(3238),
    [anon_sym_break] = ACTIONS(3240),
    [anon_sym_next] = ACTIONS(3242),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(3262),
    [anon_sym_defined_QMARK] = ACTIONS(1044),
    [anon_sym_not] = ACTIONS(3264),
    [anon_sym_BANG] = ACTIONS(1050),
    [anon_sym_TILDE] = ACTIONS(1050),
    [sym_constant] = ACTIONS(2194),
    [sym_identifier] = ACTIONS(2194),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2196),
    [anon_sym_super] = ACTIONS(2198),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [2202] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(5078),
    [sym__primary] = STATE(2082),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(2083),
    [sym_call] = STATE(2083),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(2085),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2086),
    [sym__variable] = STATE(2083),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(3162),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(3174),
    [anon_sym_yield] = ACTIONS(3176),
    [anon_sym_break] = ACTIONS(3178),
    [anon_sym_next] = ACTIONS(3180),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(3200),
    [anon_sym_defined_QMARK] = ACTIONS(3202),
    [anon_sym_not] = ACTIONS(3204),
    [anon_sym_BANG] = ACTIONS(3206),
    [anon_sym_TILDE] = ACTIONS(3206),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [2203] = {
    [sym__simple_string] = ACTIONS(3382),
    [sym__simple_heredoc_body] = ACTIONS(3382),
    [sym__string_beginning] = ACTIONS(3382),
    [sym__heredoc_body_beginning] = ACTIONS(3382),
    [sym__line_break] = ACTIONS(3382),
    [sym__element_reference_left_bracket] = ACTIONS(3382),
    [sym__scope_double_colon] = ACTIONS(3382),
    [sym__binary_minus] = ACTIONS(3382),
    [sym__binary_star] = ACTIONS(3382),
    [ts_builtin_sym_end] = ACTIONS(3382),
    [anon_sym___END__] = ACTIONS(3382),
    [anon_sym_LBRACE] = ACTIONS(3382),
    [anon_sym_RBRACE] = ACTIONS(3382),
    [anon_sym_RPAREN] = ACTIONS(3382),
    [anon_sym_DOT] = ACTIONS(3384),
    [anon_sym_end] = ACTIONS(3382),
    [anon_sym_COMMA] = ACTIONS(3382),
    [anon_sym_PIPE] = ACTIONS(3384),
    [anon_sym_SEMI] = ACTIONS(3382),
    [anon_sym_STAR_STAR] = ACTIONS(3384),
    [anon_sym_AMP] = ACTIONS(3384),
    [anon_sym_EQ] = ACTIONS(3384),
    [anon_sym_LT] = ACTIONS(3384),
    [anon_sym_if] = ACTIONS(3382),
    [anon_sym_unless] = ACTIONS(3382),
    [anon_sym_while] = ACTIONS(3382),
    [anon_sym_until] = ACTIONS(3382),
    [anon_sym_rescue] = ACTIONS(3382),
    [anon_sym_do] = ACTIONS(3382),
    [anon_sym_when] = ACTIONS(3382),
    [anon_sym_elsif] = ACTIONS(3382),
    [anon_sym_else] = ACTIONS(3382),
    [anon_sym_then] = ACTIONS(3382),
    [anon_sym_ensure] = ACTIONS(3382),
    [anon_sym_EQ_GT] = ACTIONS(3382),
    [anon_sym_AMP_DOT] = ACTIONS(3382),
    [anon_sym_PLUS_EQ] = ACTIONS(3382),
    [anon_sym_DASH_EQ] = ACTIONS(3382),
    [anon_sym_STAR_EQ] = ACTIONS(3382),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3382),
    [anon_sym_SLASH_EQ] = ACTIONS(3382),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3382),
    [anon_sym_PIPE_EQ] = ACTIONS(3382),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3382),
    [anon_sym_AMP_EQ] = ACTIONS(3382),
    [anon_sym_PERCENT_EQ] = ACTIONS(3382),
    [anon_sym_GT_GT_EQ] = ACTIONS(3382),
    [anon_sym_LT_LT_EQ] = ACTIONS(3382),
    [anon_sym_CARET_EQ] = ACTIONS(3382),
    [anon_sym_QMARK] = ACTIONS(3384),
    [anon_sym_DOT_DOT] = ACTIONS(3384),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3382),
    [anon_sym_and] = ACTIONS(3382),
    [anon_sym_or] = ACTIONS(3382),
    [anon_sym_PIPE_PIPE] = ACTIONS(3384),
    [anon_sym_AMP_AMP] = ACTIONS(3384),
    [anon_sym_LT_LT] = ACTIONS(3384),
    [anon_sym_GT_GT] = ACTIONS(3384),
    [anon_sym_EQ_EQ] = ACTIONS(3384),
    [anon_sym_BANG_EQ] = ACTIONS(3382),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3382),
    [anon_sym_LT_EQ_GT] = ACTIONS(3382),
    [anon_sym_EQ_TILDE] = ACTIONS(3382),
    [anon_sym_BANG_TILDE] = ACTIONS(3382),
    [anon_sym_LT_EQ] = ACTIONS(3384),
    [anon_sym_GT] = ACTIONS(3384),
    [anon_sym_GT_EQ] = ACTIONS(3382),
    [anon_sym_CARET] = ACTIONS(3384),
    [anon_sym_PLUS] = ACTIONS(3384),
    [anon_sym_SLASH] = ACTIONS(3384),
    [anon_sym_PERCENT] = ACTIONS(3384),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(3384),
  },
  [2204] = {
    [sym_string] = STATE(5079),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_heredoc_body] = ACTIONS(3386),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__heredoc_body_beginning] = ACTIONS(3386),
    [sym__line_break] = ACTIONS(3386),
    [sym__element_reference_left_bracket] = ACTIONS(3386),
    [sym__scope_double_colon] = ACTIONS(3386),
    [sym__binary_minus] = ACTIONS(3386),
    [sym__binary_star] = ACTIONS(3386),
    [ts_builtin_sym_end] = ACTIONS(3386),
    [anon_sym___END__] = ACTIONS(3386),
    [anon_sym_LBRACE] = ACTIONS(3386),
    [anon_sym_RBRACE] = ACTIONS(3386),
    [anon_sym_RPAREN] = ACTIONS(3386),
    [anon_sym_DOT] = ACTIONS(3388),
    [anon_sym_end] = ACTIONS(3386),
    [anon_sym_COMMA] = ACTIONS(3386),
    [anon_sym_PIPE] = ACTIONS(3388),
    [anon_sym_SEMI] = ACTIONS(3386),
    [anon_sym_STAR_STAR] = ACTIONS(3388),
    [anon_sym_AMP] = ACTIONS(3388),
    [anon_sym_EQ] = ACTIONS(3388),
    [anon_sym_LT] = ACTIONS(3388),
    [anon_sym_if] = ACTIONS(3386),
    [anon_sym_unless] = ACTIONS(3386),
    [anon_sym_while] = ACTIONS(3386),
    [anon_sym_until] = ACTIONS(3386),
    [anon_sym_rescue] = ACTIONS(3386),
    [anon_sym_do] = ACTIONS(3386),
    [anon_sym_when] = ACTIONS(3386),
    [anon_sym_elsif] = ACTIONS(3386),
    [anon_sym_else] = ACTIONS(3386),
    [anon_sym_then] = ACTIONS(3386),
    [anon_sym_ensure] = ACTIONS(3386),
    [anon_sym_EQ_GT] = ACTIONS(3386),
    [anon_sym_AMP_DOT] = ACTIONS(3386),
    [anon_sym_PLUS_EQ] = ACTIONS(3386),
    [anon_sym_DASH_EQ] = ACTIONS(3386),
    [anon_sym_STAR_EQ] = ACTIONS(3386),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3386),
    [anon_sym_SLASH_EQ] = ACTIONS(3386),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3386),
    [anon_sym_PIPE_EQ] = ACTIONS(3386),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3386),
    [anon_sym_AMP_EQ] = ACTIONS(3386),
    [anon_sym_PERCENT_EQ] = ACTIONS(3386),
    [anon_sym_GT_GT_EQ] = ACTIONS(3386),
    [anon_sym_LT_LT_EQ] = ACTIONS(3386),
    [anon_sym_CARET_EQ] = ACTIONS(3386),
    [anon_sym_QMARK] = ACTIONS(3388),
    [anon_sym_DOT_DOT] = ACTIONS(3388),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3386),
    [anon_sym_and] = ACTIONS(3386),
    [anon_sym_or] = ACTIONS(3386),
    [anon_sym_PIPE_PIPE] = ACTIONS(3388),
    [anon_sym_AMP_AMP] = ACTIONS(3388),
    [anon_sym_LT_LT] = ACTIONS(3388),
    [anon_sym_GT_GT] = ACTIONS(3388),
    [anon_sym_EQ_EQ] = ACTIONS(3388),
    [anon_sym_BANG_EQ] = ACTIONS(3386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3386),
    [anon_sym_LT_EQ_GT] = ACTIONS(3386),
    [anon_sym_EQ_TILDE] = ACTIONS(3386),
    [anon_sym_BANG_TILDE] = ACTIONS(3386),
    [anon_sym_LT_EQ] = ACTIONS(3388),
    [anon_sym_GT] = ACTIONS(3388),
    [anon_sym_GT_EQ] = ACTIONS(3386),
    [anon_sym_CARET] = ACTIONS(3388),
    [anon_sym_PLUS] = ACTIONS(3388),
    [anon_sym_SLASH] = ACTIONS(3388),
    [anon_sym_PERCENT] = ACTIONS(3388),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(3266),
  },
  [2205] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(5080),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(2214),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2215),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3370),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(3372),
    [anon_sym_defined_QMARK] = ACTIONS(3374),
    [anon_sym_not] = ACTIONS(3376),
    [anon_sym_BANG] = ACTIONS(3378),
    [anon_sym_TILDE] = ACTIONS(3378),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2206] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(5081),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(2214),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2215),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3370),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(3372),
    [anon_sym_defined_QMARK] = ACTIONS(3374),
    [anon_sym_not] = ACTIONS(3376),
    [anon_sym_BANG] = ACTIONS(3378),
    [anon_sym_TILDE] = ACTIONS(3378),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2207] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(5082),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(2214),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2215),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3370),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(3372),
    [anon_sym_defined_QMARK] = ACTIONS(3374),
    [anon_sym_not] = ACTIONS(3376),
    [anon_sym_BANG] = ACTIONS(3378),
    [anon_sym_TILDE] = ACTIONS(3378),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2208] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(5083),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(2214),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2215),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3370),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(3372),
    [anon_sym_defined_QMARK] = ACTIONS(3374),
    [anon_sym_not] = ACTIONS(3376),
    [anon_sym_BANG] = ACTIONS(3378),
    [anon_sym_TILDE] = ACTIONS(3378),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2209] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(434),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(2214),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2215),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3370),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(3372),
    [anon_sym_defined_QMARK] = ACTIONS(3374),
    [anon_sym_not] = ACTIONS(3376),
    [anon_sym_BANG] = ACTIONS(3378),
    [anon_sym_TILDE] = ACTIONS(3378),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2210] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__line_break] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(7298),
    [sym__binary_star] = ACTIONS(7300),
    [ts_builtin_sym_end] = ACTIONS(6346),
    [anon_sym___END__] = ACTIONS(6346),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(7302),
    [anon_sym_SEMI] = ACTIONS(6346),
    [anon_sym_STAR_STAR] = ACTIONS(7304),
    [anon_sym_AMP] = ACTIONS(7306),
    [anon_sym_LT] = ACTIONS(7308),
    [anon_sym_if] = ACTIONS(6346),
    [anon_sym_unless] = ACTIONS(6346),
    [anon_sym_while] = ACTIONS(6346),
    [anon_sym_until] = ACTIONS(6346),
    [anon_sym_rescue] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(7310),
    [anon_sym_DOT_DOT] = ACTIONS(7312),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7314),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(7316),
    [anon_sym_AMP_AMP] = ACTIONS(7316),
    [anon_sym_LT_LT] = ACTIONS(7318),
    [anon_sym_GT_GT] = ACTIONS(7318),
    [anon_sym_EQ_EQ] = ACTIONS(7320),
    [anon_sym_BANG_EQ] = ACTIONS(7316),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7316),
    [anon_sym_LT_EQ_GT] = ACTIONS(7316),
    [anon_sym_EQ_TILDE] = ACTIONS(7316),
    [anon_sym_BANG_TILDE] = ACTIONS(7316),
    [anon_sym_LT_EQ] = ACTIONS(7308),
    [anon_sym_GT] = ACTIONS(7308),
    [anon_sym_GT_EQ] = ACTIONS(7322),
    [anon_sym_CARET] = ACTIONS(7324),
    [anon_sym_PLUS] = ACTIONS(7326),
    [anon_sym_SLASH] = ACTIONS(7304),
    [anon_sym_PERCENT] = ACTIONS(7304),
    [sym_comment] = ACTIONS(110),
  },
  [2211] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__line_break] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(6346),
    [sym__binary_star] = ACTIONS(6346),
    [ts_builtin_sym_end] = ACTIONS(6346),
    [anon_sym___END__] = ACTIONS(6346),
    [anon_sym_RBRACE] = ACTIONS(6346),
    [anon_sym_RPAREN] = ACTIONS(6346),
    [anon_sym_end] = ACTIONS(6346),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(7328),
    [anon_sym_SEMI] = ACTIONS(6346),
    [anon_sym_STAR_STAR] = ACTIONS(6346),
    [anon_sym_AMP] = ACTIONS(7328),
    [anon_sym_LT] = ACTIONS(7328),
    [anon_sym_if] = ACTIONS(6346),
    [anon_sym_unless] = ACTIONS(6346),
    [anon_sym_while] = ACTIONS(6346),
    [anon_sym_until] = ACTIONS(6346),
    [anon_sym_rescue] = ACTIONS(6346),
    [anon_sym_do] = ACTIONS(6346),
    [anon_sym_when] = ACTIONS(6346),
    [anon_sym_elsif] = ACTIONS(6346),
    [anon_sym_else] = ACTIONS(6346),
    [anon_sym_then] = ACTIONS(6346),
    [anon_sym_ensure] = ACTIONS(6346),
    [anon_sym_EQ_GT] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(6346),
    [anon_sym_DOT_DOT] = ACTIONS(7328),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6346),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(6346),
    [anon_sym_AMP_AMP] = ACTIONS(6346),
    [anon_sym_LT_LT] = ACTIONS(6346),
    [anon_sym_GT_GT] = ACTIONS(6346),
    [anon_sym_EQ_EQ] = ACTIONS(7328),
    [anon_sym_BANG_EQ] = ACTIONS(6346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6346),
    [anon_sym_LT_EQ_GT] = ACTIONS(6346),
    [anon_sym_EQ_TILDE] = ACTIONS(6346),
    [anon_sym_BANG_TILDE] = ACTIONS(6346),
    [anon_sym_LT_EQ] = ACTIONS(7328),
    [anon_sym_GT] = ACTIONS(7328),
    [anon_sym_GT_EQ] = ACTIONS(6346),
    [anon_sym_CARET] = ACTIONS(6346),
    [anon_sym_PLUS] = ACTIONS(6346),
    [anon_sym_SLASH] = ACTIONS(6346),
    [anon_sym_PERCENT] = ACTIONS(6346),
    [sym_comment] = ACTIONS(110),
  },
  [2212] = {
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__line_break] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [ts_builtin_sym_end] = ACTIONS(7330),
    [anon_sym___END__] = ACTIONS(7330),
    [anon_sym_RBRACE] = ACTIONS(7330),
    [anon_sym_RPAREN] = ACTIONS(7330),
    [anon_sym_end] = ACTIONS(7330),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_SEMI] = ACTIONS(7330),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_if] = ACTIONS(7330),
    [anon_sym_unless] = ACTIONS(7330),
    [anon_sym_while] = ACTIONS(7330),
    [anon_sym_until] = ACTIONS(7330),
    [anon_sym_rescue] = ACTIONS(7330),
    [anon_sym_do] = ACTIONS(7330),
    [anon_sym_when] = ACTIONS(7330),
    [anon_sym_elsif] = ACTIONS(7330),
    [anon_sym_else] = ACTIONS(7330),
    [anon_sym_then] = ACTIONS(7330),
    [anon_sym_ensure] = ACTIONS(7330),
    [anon_sym_EQ_GT] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [2213] = {
    [aux_sym_exceptions_repeat1] = STATE(5097),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__line_break] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [ts_builtin_sym_end] = ACTIONS(7330),
    [anon_sym___END__] = ACTIONS(7330),
    [anon_sym_COMMA] = ACTIONS(7334),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_SEMI] = ACTIONS(7330),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_if] = ACTIONS(7330),
    [anon_sym_unless] = ACTIONS(7330),
    [anon_sym_while] = ACTIONS(7330),
    [anon_sym_until] = ACTIONS(7330),
    [anon_sym_rescue] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [2214] = {
    [anon_sym_EQ] = ACTIONS(7336),
    [sym_comment] = ACTIONS(256),
  },
  [2215] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [ts_builtin_sym_end] = ACTIONS(250),
    [anon_sym___END__] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(7338),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(7340),
    [anon_sym_DASH_EQ] = ACTIONS(7340),
    [anon_sym_STAR_EQ] = ACTIONS(7340),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7340),
    [anon_sym_SLASH_EQ] = ACTIONS(7340),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7340),
    [anon_sym_PIPE_EQ] = ACTIONS(7340),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7340),
    [anon_sym_AMP_EQ] = ACTIONS(7340),
    [anon_sym_PERCENT_EQ] = ACTIONS(7340),
    [anon_sym_GT_GT_EQ] = ACTIONS(7340),
    [anon_sym_LT_LT_EQ] = ACTIONS(7340),
    [anon_sym_CARET_EQ] = ACTIONS(7340),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [2216] = {
    [anon_sym_RPAREN] = ACTIONS(7342),
    [anon_sym_EQ] = ACTIONS(7342),
    [anon_sym_in] = ACTIONS(7342),
    [sym_comment] = ACTIONS(256),
  },
  [2217] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__line_break] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(936),
    [sym__binary_star] = ACTIONS(938),
    [ts_builtin_sym_end] = ACTIONS(7344),
    [anon_sym___END__] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(940),
    [anon_sym_SEMI] = ACTIONS(7344),
    [anon_sym_STAR_STAR] = ACTIONS(942),
    [anon_sym_AMP] = ACTIONS(944),
    [anon_sym_LT] = ACTIONS(946),
    [anon_sym_if] = ACTIONS(7344),
    [anon_sym_unless] = ACTIONS(7344),
    [anon_sym_while] = ACTIONS(7344),
    [anon_sym_until] = ACTIONS(7344),
    [anon_sym_rescue] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(948),
    [anon_sym_DOT_DOT] = ACTIONS(950),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(952),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(956),
    [anon_sym_AMP_AMP] = ACTIONS(956),
    [anon_sym_LT_LT] = ACTIONS(958),
    [anon_sym_GT_GT] = ACTIONS(958),
    [anon_sym_EQ_EQ] = ACTIONS(960),
    [anon_sym_BANG_EQ] = ACTIONS(956),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(956),
    [anon_sym_LT_EQ_GT] = ACTIONS(956),
    [anon_sym_EQ_TILDE] = ACTIONS(956),
    [anon_sym_BANG_TILDE] = ACTIONS(956),
    [anon_sym_LT_EQ] = ACTIONS(946),
    [anon_sym_GT] = ACTIONS(946),
    [anon_sym_GT_EQ] = ACTIONS(962),
    [anon_sym_CARET] = ACTIONS(964),
    [anon_sym_PLUS] = ACTIONS(966),
    [anon_sym_SLASH] = ACTIONS(942),
    [anon_sym_PERCENT] = ACTIONS(942),
    [sym_comment] = ACTIONS(110),
  },
  [2218] = {
    [sym__simple_string] = ACTIONS(7346),
    [sym__simple_heredoc_body] = ACTIONS(7346),
    [sym__string_beginning] = ACTIONS(7346),
    [sym__heredoc_body_beginning] = ACTIONS(7346),
    [sym__line_break] = ACTIONS(7346),
    [sym__element_reference_left_bracket] = ACTIONS(7346),
    [sym__scope_double_colon] = ACTIONS(7346),
    [sym__binary_minus] = ACTIONS(7346),
    [sym__binary_star] = ACTIONS(7346),
    [ts_builtin_sym_end] = ACTIONS(7346),
    [anon_sym___END__] = ACTIONS(7346),
    [anon_sym_LBRACE] = ACTIONS(7346),
    [anon_sym_RBRACE] = ACTIONS(7346),
    [anon_sym_RPAREN] = ACTIONS(7346),
    [anon_sym_DOT] = ACTIONS(7348),
    [anon_sym_end] = ACTIONS(7346),
    [anon_sym_COMMA] = ACTIONS(7346),
    [anon_sym_PIPE] = ACTIONS(7348),
    [anon_sym_SEMI] = ACTIONS(7346),
    [anon_sym_STAR_STAR] = ACTIONS(7346),
    [anon_sym_AMP] = ACTIONS(7348),
    [anon_sym_LT] = ACTIONS(7348),
    [anon_sym_if] = ACTIONS(7346),
    [anon_sym_unless] = ACTIONS(7346),
    [anon_sym_while] = ACTIONS(7346),
    [anon_sym_until] = ACTIONS(7346),
    [anon_sym_rescue] = ACTIONS(7346),
    [anon_sym_do] = ACTIONS(7346),
    [anon_sym_when] = ACTIONS(7346),
    [anon_sym_elsif] = ACTIONS(7346),
    [anon_sym_else] = ACTIONS(7346),
    [anon_sym_then] = ACTIONS(7346),
    [anon_sym_ensure] = ACTIONS(7346),
    [anon_sym_EQ_GT] = ACTIONS(7346),
    [anon_sym_AMP_DOT] = ACTIONS(7346),
    [anon_sym_QMARK] = ACTIONS(7348),
    [anon_sym_DOT_DOT] = ACTIONS(7348),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7346),
    [anon_sym_and] = ACTIONS(7346),
    [anon_sym_or] = ACTIONS(7346),
    [anon_sym_PIPE_PIPE] = ACTIONS(7346),
    [anon_sym_AMP_AMP] = ACTIONS(7346),
    [anon_sym_LT_LT] = ACTIONS(7346),
    [anon_sym_GT_GT] = ACTIONS(7346),
    [anon_sym_EQ_EQ] = ACTIONS(7348),
    [anon_sym_BANG_EQ] = ACTIONS(7346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7346),
    [anon_sym_LT_EQ_GT] = ACTIONS(7346),
    [anon_sym_EQ_TILDE] = ACTIONS(7346),
    [anon_sym_BANG_TILDE] = ACTIONS(7346),
    [anon_sym_LT_EQ] = ACTIONS(7348),
    [anon_sym_GT] = ACTIONS(7348),
    [anon_sym_GT_EQ] = ACTIONS(7346),
    [anon_sym_CARET] = ACTIONS(7346),
    [anon_sym_PLUS] = ACTIONS(7346),
    [anon_sym_SLASH] = ACTIONS(7346),
    [anon_sym_PERCENT] = ACTIONS(7346),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(7348),
  },
  [2219] = {
    [sym__simple_string] = ACTIONS(3612),
    [sym__string_beginning] = ACTIONS(3612),
    [sym__string_middle] = ACTIONS(3612),
    [sym__string_end] = ACTIONS(3612),
    [sym__element_reference_left_bracket] = ACTIONS(3612),
    [sym__scope_double_colon] = ACTIONS(3612),
    [sym__binary_minus] = ACTIONS(3612),
    [sym__binary_star] = ACTIONS(3612),
    [anon_sym_DOT] = ACTIONS(3614),
    [anon_sym_COMMA] = ACTIONS(3612),
    [anon_sym_PIPE] = ACTIONS(3614),
    [anon_sym_STAR_STAR] = ACTIONS(3612),
    [anon_sym_AMP] = ACTIONS(3614),
    [anon_sym_LT] = ACTIONS(3614),
    [anon_sym_if] = ACTIONS(3612),
    [anon_sym_unless] = ACTIONS(3612),
    [anon_sym_while] = ACTIONS(3612),
    [anon_sym_until] = ACTIONS(3612),
    [anon_sym_rescue] = ACTIONS(3612),
    [anon_sym_AMP_DOT] = ACTIONS(3612),
    [anon_sym_QMARK] = ACTIONS(3614),
    [anon_sym_DOT_DOT] = ACTIONS(3614),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3612),
    [anon_sym_and] = ACTIONS(3612),
    [anon_sym_or] = ACTIONS(3612),
    [anon_sym_PIPE_PIPE] = ACTIONS(3612),
    [anon_sym_AMP_AMP] = ACTIONS(3612),
    [anon_sym_LT_LT] = ACTIONS(3612),
    [anon_sym_GT_GT] = ACTIONS(3612),
    [anon_sym_EQ_EQ] = ACTIONS(3614),
    [anon_sym_BANG_EQ] = ACTIONS(3612),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3612),
    [anon_sym_LT_EQ_GT] = ACTIONS(3612),
    [anon_sym_EQ_TILDE] = ACTIONS(3612),
    [anon_sym_BANG_TILDE] = ACTIONS(3612),
    [anon_sym_LT_EQ] = ACTIONS(3614),
    [anon_sym_GT] = ACTIONS(3614),
    [anon_sym_GT_EQ] = ACTIONS(3612),
    [anon_sym_CARET] = ACTIONS(3612),
    [anon_sym_PLUS] = ACTIONS(3612),
    [anon_sym_SLASH] = ACTIONS(3612),
    [anon_sym_PERCENT] = ACTIONS(3612),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(3614),
  },
  [2220] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(7350),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [2221] = {
    [sym__string_middle] = ACTIONS(3844),
    [sym__string_end] = ACTIONS(3844),
    [sym__element_reference_left_bracket] = ACTIONS(3844),
    [sym__scope_double_colon] = ACTIONS(3844),
    [sym__binary_minus] = ACTIONS(3844),
    [sym__binary_star] = ACTIONS(3844),
    [anon_sym_DOT] = ACTIONS(3846),
    [anon_sym_COMMA] = ACTIONS(3844),
    [anon_sym_PIPE] = ACTIONS(3846),
    [anon_sym_STAR_STAR] = ACTIONS(3844),
    [anon_sym_AMP] = ACTIONS(3846),
    [anon_sym_LT] = ACTIONS(3846),
    [anon_sym_if] = ACTIONS(3844),
    [anon_sym_unless] = ACTIONS(3844),
    [anon_sym_while] = ACTIONS(3844),
    [anon_sym_until] = ACTIONS(3844),
    [anon_sym_rescue] = ACTIONS(3844),
    [anon_sym_AMP_DOT] = ACTIONS(3844),
    [anon_sym_QMARK] = ACTIONS(3844),
    [anon_sym_DOT_DOT] = ACTIONS(3846),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3844),
    [anon_sym_and] = ACTIONS(3844),
    [anon_sym_or] = ACTIONS(3844),
    [anon_sym_PIPE_PIPE] = ACTIONS(3844),
    [anon_sym_AMP_AMP] = ACTIONS(3844),
    [anon_sym_LT_LT] = ACTIONS(3844),
    [anon_sym_GT_GT] = ACTIONS(3844),
    [anon_sym_EQ_EQ] = ACTIONS(3846),
    [anon_sym_BANG_EQ] = ACTIONS(3844),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3844),
    [anon_sym_LT_EQ_GT] = ACTIONS(3844),
    [anon_sym_EQ_TILDE] = ACTIONS(3844),
    [anon_sym_BANG_TILDE] = ACTIONS(3844),
    [anon_sym_LT_EQ] = ACTIONS(3846),
    [anon_sym_GT] = ACTIONS(3846),
    [anon_sym_GT_EQ] = ACTIONS(3844),
    [anon_sym_CARET] = ACTIONS(3844),
    [anon_sym_PLUS] = ACTIONS(3844),
    [anon_sym_SLASH] = ACTIONS(3844),
    [anon_sym_PERCENT] = ACTIONS(3844),
    [sym_comment] = ACTIONS(110),
  },
  [2222] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(7352),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [2223] = {
    [sym__string_middle] = ACTIONS(3850),
    [sym__string_end] = ACTIONS(3850),
    [sym__element_reference_left_bracket] = ACTIONS(3850),
    [sym__scope_double_colon] = ACTIONS(3850),
    [sym__binary_minus] = ACTIONS(3850),
    [sym__binary_star] = ACTIONS(3850),
    [anon_sym_DOT] = ACTIONS(3852),
    [anon_sym_COMMA] = ACTIONS(3850),
    [anon_sym_PIPE] = ACTIONS(3852),
    [anon_sym_STAR_STAR] = ACTIONS(3850),
    [anon_sym_AMP] = ACTIONS(3852),
    [anon_sym_LT] = ACTIONS(3852),
    [anon_sym_if] = ACTIONS(3850),
    [anon_sym_unless] = ACTIONS(3850),
    [anon_sym_while] = ACTIONS(3850),
    [anon_sym_until] = ACTIONS(3850),
    [anon_sym_rescue] = ACTIONS(3850),
    [anon_sym_AMP_DOT] = ACTIONS(3850),
    [anon_sym_QMARK] = ACTIONS(3850),
    [anon_sym_DOT_DOT] = ACTIONS(3852),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3850),
    [anon_sym_and] = ACTIONS(3850),
    [anon_sym_or] = ACTIONS(3850),
    [anon_sym_PIPE_PIPE] = ACTIONS(3850),
    [anon_sym_AMP_AMP] = ACTIONS(3850),
    [anon_sym_LT_LT] = ACTIONS(3850),
    [anon_sym_GT_GT] = ACTIONS(3850),
    [anon_sym_EQ_EQ] = ACTIONS(3852),
    [anon_sym_BANG_EQ] = ACTIONS(3850),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3850),
    [anon_sym_LT_EQ_GT] = ACTIONS(3850),
    [anon_sym_EQ_TILDE] = ACTIONS(3850),
    [anon_sym_BANG_TILDE] = ACTIONS(3850),
    [anon_sym_LT_EQ] = ACTIONS(3852),
    [anon_sym_GT] = ACTIONS(3852),
    [anon_sym_GT_EQ] = ACTIONS(3850),
    [anon_sym_CARET] = ACTIONS(3850),
    [anon_sym_PLUS] = ACTIONS(3850),
    [anon_sym_SLASH] = ACTIONS(3850),
    [anon_sym_PERCENT] = ACTIONS(3850),
    [sym_comment] = ACTIONS(110),
  },
  [2224] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(7354),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [2225] = {
    [sym__string_middle] = ACTIONS(3856),
    [sym__string_end] = ACTIONS(3856),
    [sym__element_reference_left_bracket] = ACTIONS(3856),
    [sym__scope_double_colon] = ACTIONS(3856),
    [sym__binary_minus] = ACTIONS(3856),
    [sym__binary_star] = ACTIONS(3856),
    [anon_sym_DOT] = ACTIONS(3858),
    [anon_sym_COMMA] = ACTIONS(3856),
    [anon_sym_PIPE] = ACTIONS(3858),
    [anon_sym_STAR_STAR] = ACTIONS(3856),
    [anon_sym_AMP] = ACTIONS(3858),
    [anon_sym_LT] = ACTIONS(3858),
    [anon_sym_if] = ACTIONS(3856),
    [anon_sym_unless] = ACTIONS(3856),
    [anon_sym_while] = ACTIONS(3856),
    [anon_sym_until] = ACTIONS(3856),
    [anon_sym_rescue] = ACTIONS(3856),
    [anon_sym_AMP_DOT] = ACTIONS(3856),
    [anon_sym_QMARK] = ACTIONS(3856),
    [anon_sym_DOT_DOT] = ACTIONS(3858),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3856),
    [anon_sym_and] = ACTIONS(3856),
    [anon_sym_or] = ACTIONS(3856),
    [anon_sym_PIPE_PIPE] = ACTIONS(3856),
    [anon_sym_AMP_AMP] = ACTIONS(3856),
    [anon_sym_LT_LT] = ACTIONS(3856),
    [anon_sym_GT_GT] = ACTIONS(3856),
    [anon_sym_EQ_EQ] = ACTIONS(3858),
    [anon_sym_BANG_EQ] = ACTIONS(3856),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3856),
    [anon_sym_LT_EQ_GT] = ACTIONS(3856),
    [anon_sym_EQ_TILDE] = ACTIONS(3856),
    [anon_sym_BANG_TILDE] = ACTIONS(3856),
    [anon_sym_LT_EQ] = ACTIONS(3858),
    [anon_sym_GT] = ACTIONS(3858),
    [anon_sym_GT_EQ] = ACTIONS(3856),
    [anon_sym_CARET] = ACTIONS(3856),
    [anon_sym_PLUS] = ACTIONS(3856),
    [anon_sym_SLASH] = ACTIONS(3856),
    [anon_sym_PERCENT] = ACTIONS(3856),
    [sym_comment] = ACTIONS(110),
  },
  [2226] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(7356),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [2227] = {
    [sym__string_middle] = ACTIONS(3862),
    [sym__string_end] = ACTIONS(3862),
    [sym__element_reference_left_bracket] = ACTIONS(3862),
    [sym__scope_double_colon] = ACTIONS(3862),
    [sym__binary_minus] = ACTIONS(3862),
    [sym__binary_star] = ACTIONS(3862),
    [anon_sym_DOT] = ACTIONS(3864),
    [anon_sym_COMMA] = ACTIONS(3862),
    [anon_sym_PIPE] = ACTIONS(3864),
    [anon_sym_STAR_STAR] = ACTIONS(3862),
    [anon_sym_AMP] = ACTIONS(3864),
    [anon_sym_LT] = ACTIONS(3864),
    [anon_sym_if] = ACTIONS(3862),
    [anon_sym_unless] = ACTIONS(3862),
    [anon_sym_while] = ACTIONS(3862),
    [anon_sym_until] = ACTIONS(3862),
    [anon_sym_rescue] = ACTIONS(3862),
    [anon_sym_AMP_DOT] = ACTIONS(3862),
    [anon_sym_QMARK] = ACTIONS(3862),
    [anon_sym_DOT_DOT] = ACTIONS(3864),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3862),
    [anon_sym_and] = ACTIONS(3862),
    [anon_sym_or] = ACTIONS(3862),
    [anon_sym_PIPE_PIPE] = ACTIONS(3862),
    [anon_sym_AMP_AMP] = ACTIONS(3862),
    [anon_sym_LT_LT] = ACTIONS(3862),
    [anon_sym_GT_GT] = ACTIONS(3862),
    [anon_sym_EQ_EQ] = ACTIONS(3864),
    [anon_sym_BANG_EQ] = ACTIONS(3862),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3862),
    [anon_sym_LT_EQ_GT] = ACTIONS(3862),
    [anon_sym_EQ_TILDE] = ACTIONS(3862),
    [anon_sym_BANG_TILDE] = ACTIONS(3862),
    [anon_sym_LT_EQ] = ACTIONS(3864),
    [anon_sym_GT] = ACTIONS(3864),
    [anon_sym_GT_EQ] = ACTIONS(3862),
    [anon_sym_CARET] = ACTIONS(3862),
    [anon_sym_PLUS] = ACTIONS(3862),
    [anon_sym_SLASH] = ACTIONS(3862),
    [anon_sym_PERCENT] = ACTIONS(3862),
    [sym_comment] = ACTIONS(110),
  },
  [2228] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(7358),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [2229] = {
    [sym__string_middle] = ACTIONS(4578),
    [sym__string_end] = ACTIONS(4578),
    [sym__element_reference_left_bracket] = ACTIONS(4578),
    [sym__scope_double_colon] = ACTIONS(4578),
    [sym__binary_minus] = ACTIONS(4578),
    [sym__binary_star] = ACTIONS(4578),
    [anon_sym_DOT] = ACTIONS(4580),
    [anon_sym_COMMA] = ACTIONS(4578),
    [anon_sym_PIPE] = ACTIONS(4580),
    [anon_sym_STAR_STAR] = ACTIONS(4578),
    [anon_sym_AMP] = ACTIONS(4580),
    [anon_sym_LT] = ACTIONS(4580),
    [anon_sym_if] = ACTIONS(4578),
    [anon_sym_unless] = ACTIONS(4578),
    [anon_sym_while] = ACTIONS(4578),
    [anon_sym_until] = ACTIONS(4578),
    [anon_sym_rescue] = ACTIONS(4578),
    [anon_sym_AMP_DOT] = ACTIONS(4578),
    [anon_sym_QMARK] = ACTIONS(4578),
    [anon_sym_DOT_DOT] = ACTIONS(4580),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4578),
    [anon_sym_and] = ACTIONS(4578),
    [anon_sym_or] = ACTIONS(4578),
    [anon_sym_PIPE_PIPE] = ACTIONS(4578),
    [anon_sym_AMP_AMP] = ACTIONS(4578),
    [anon_sym_LT_LT] = ACTIONS(4578),
    [anon_sym_GT_GT] = ACTIONS(4578),
    [anon_sym_EQ_EQ] = ACTIONS(4580),
    [anon_sym_BANG_EQ] = ACTIONS(4578),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4578),
    [anon_sym_LT_EQ_GT] = ACTIONS(4578),
    [anon_sym_EQ_TILDE] = ACTIONS(4578),
    [anon_sym_BANG_TILDE] = ACTIONS(4578),
    [anon_sym_LT_EQ] = ACTIONS(4580),
    [anon_sym_GT] = ACTIONS(4580),
    [anon_sym_GT_EQ] = ACTIONS(4578),
    [anon_sym_CARET] = ACTIONS(4578),
    [anon_sym_PLUS] = ACTIONS(4578),
    [anon_sym_SLASH] = ACTIONS(4578),
    [anon_sym_PERCENT] = ACTIONS(4578),
    [sym_comment] = ACTIONS(110),
  },
  [2230] = {
    [anon_sym_RBRACE] = ACTIONS(7360),
    [sym_comment] = ACTIONS(110),
  },
  [2231] = {
    [sym__binary_minus] = ACTIONS(4614),
    [sym__binary_star] = ACTIONS(4616),
    [anon_sym_RPAREN] = ACTIONS(7362),
    [anon_sym_PIPE] = ACTIONS(4620),
    [anon_sym_STAR_STAR] = ACTIONS(4622),
    [anon_sym_AMP] = ACTIONS(4624),
    [anon_sym_LT] = ACTIONS(4626),
    [anon_sym_QMARK] = ACTIONS(4628),
    [anon_sym_DOT_DOT] = ACTIONS(4630),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4632),
    [anon_sym_and] = ACTIONS(4634),
    [anon_sym_or] = ACTIONS(4634),
    [anon_sym_PIPE_PIPE] = ACTIONS(4636),
    [anon_sym_AMP_AMP] = ACTIONS(4636),
    [anon_sym_LT_LT] = ACTIONS(4638),
    [anon_sym_GT_GT] = ACTIONS(4638),
    [anon_sym_EQ_EQ] = ACTIONS(4640),
    [anon_sym_BANG_EQ] = ACTIONS(4636),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4636),
    [anon_sym_LT_EQ_GT] = ACTIONS(4636),
    [anon_sym_EQ_TILDE] = ACTIONS(4636),
    [anon_sym_BANG_TILDE] = ACTIONS(4636),
    [anon_sym_LT_EQ] = ACTIONS(4626),
    [anon_sym_GT] = ACTIONS(4626),
    [anon_sym_GT_EQ] = ACTIONS(4642),
    [anon_sym_CARET] = ACTIONS(4644),
    [anon_sym_PLUS] = ACTIONS(4646),
    [anon_sym_SLASH] = ACTIONS(4622),
    [anon_sym_PERCENT] = ACTIONS(4622),
    [sym_comment] = ACTIONS(110),
  },
  [2232] = {
    [sym__method_rest] = STATE(5107),
    [sym_operator] = STATE(217),
    [sym__method_name] = STATE(630),
    [sym_setter] = STATE(217),
    [sym_symbol] = STATE(217),
    [sym__simple_symbol] = ACTIONS(378),
    [sym__symbol_beginning] = ACTIONS(380),
    [anon_sym_PIPE] = ACTIONS(384),
    [anon_sym_STAR] = ACTIONS(386),
    [anon_sym_STAR_STAR] = ACTIONS(384),
    [anon_sym_AMP] = ACTIONS(384),
    [anon_sym_LT] = ACTIONS(386),
    [anon_sym_DOT_DOT] = ACTIONS(384),
    [anon_sym_LT_LT] = ACTIONS(384),
    [anon_sym_GT_GT] = ACTIONS(384),
    [anon_sym_EQ_EQ] = ACTIONS(386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(384),
    [anon_sym_LT_EQ_GT] = ACTIONS(384),
    [anon_sym_EQ_TILDE] = ACTIONS(384),
    [anon_sym_BANG_TILDE] = ACTIONS(384),
    [anon_sym_LT_EQ] = ACTIONS(386),
    [anon_sym_GT] = ACTIONS(386),
    [anon_sym_GT_EQ] = ACTIONS(384),
    [anon_sym_CARET] = ACTIONS(384),
    [anon_sym_PLUS] = ACTIONS(386),
    [anon_sym_SLASH] = ACTIONS(384),
    [anon_sym_PERCENT] = ACTIONS(384),
    [anon_sym_BANG] = ACTIONS(386),
    [anon_sym_TILDE] = ACTIONS(384),
    [sym_constant] = ACTIONS(4694),
    [sym_identifier] = ACTIONS(4696),
    [sym_instance_variable] = ACTIONS(4694),
    [sym_class_variable] = ACTIONS(4694),
    [sym_global_variable] = ACTIONS(4694),
    [anon_sym_DASH] = ACTIONS(386),
    [anon_sym_PLUS_AT] = ACTIONS(384),
    [anon_sym_DASH_AT] = ACTIONS(384),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(386),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(384),
    [anon_sym_BQUOTE] = ACTIONS(384),
    [sym_comment] = ACTIONS(110),
  },
  [2233] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(5109),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(7364),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2234] = {
    [sym__string_middle] = ACTIONS(4826),
    [sym__string_end] = ACTIONS(4826),
    [sym__element_reference_left_bracket] = ACTIONS(4826),
    [sym__scope_double_colon] = ACTIONS(4826),
    [sym__binary_minus] = ACTIONS(4826),
    [sym__binary_star] = ACTIONS(4826),
    [anon_sym_DOT] = ACTIONS(4828),
    [anon_sym_COMMA] = ACTIONS(4826),
    [anon_sym_PIPE] = ACTIONS(4828),
    [anon_sym_STAR_STAR] = ACTIONS(4826),
    [anon_sym_AMP] = ACTIONS(4828),
    [anon_sym_LT] = ACTIONS(4828),
    [anon_sym_if] = ACTIONS(4826),
    [anon_sym_unless] = ACTIONS(4826),
    [anon_sym_while] = ACTIONS(4826),
    [anon_sym_until] = ACTIONS(4826),
    [anon_sym_rescue] = ACTIONS(4826),
    [anon_sym_AMP_DOT] = ACTIONS(4826),
    [anon_sym_QMARK] = ACTIONS(4826),
    [anon_sym_DOT_DOT] = ACTIONS(4828),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4826),
    [anon_sym_and] = ACTIONS(4826),
    [anon_sym_or] = ACTIONS(4826),
    [anon_sym_PIPE_PIPE] = ACTIONS(4826),
    [anon_sym_AMP_AMP] = ACTIONS(4826),
    [anon_sym_LT_LT] = ACTIONS(4826),
    [anon_sym_GT_GT] = ACTIONS(4826),
    [anon_sym_EQ_EQ] = ACTIONS(4828),
    [anon_sym_BANG_EQ] = ACTIONS(4826),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4826),
    [anon_sym_LT_EQ_GT] = ACTIONS(4826),
    [anon_sym_EQ_TILDE] = ACTIONS(4826),
    [anon_sym_BANG_TILDE] = ACTIONS(4826),
    [anon_sym_LT_EQ] = ACTIONS(4828),
    [anon_sym_GT] = ACTIONS(4828),
    [anon_sym_GT_EQ] = ACTIONS(4826),
    [anon_sym_CARET] = ACTIONS(4826),
    [anon_sym_PLUS] = ACTIONS(4826),
    [anon_sym_SLASH] = ACTIONS(4826),
    [anon_sym_PERCENT] = ACTIONS(4826),
    [sym_comment] = ACTIONS(110),
  },
  [2235] = {
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(5110),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym__line_break] = ACTIONS(692),
    [sym__binary_minus] = ACTIONS(5168),
    [sym__binary_star] = ACTIONS(5170),
    [anon_sym_PIPE] = ACTIONS(5172),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR_STAR] = ACTIONS(5174),
    [anon_sym_AMP] = ACTIONS(5176),
    [anon_sym_LT] = ACTIONS(5178),
    [anon_sym_QMARK] = ACTIONS(5180),
    [anon_sym_DOT_DOT] = ACTIONS(5182),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5184),
    [anon_sym_and] = ACTIONS(5186),
    [anon_sym_or] = ACTIONS(5186),
    [anon_sym_PIPE_PIPE] = ACTIONS(5188),
    [anon_sym_AMP_AMP] = ACTIONS(5188),
    [anon_sym_LT_LT] = ACTIONS(5190),
    [anon_sym_GT_GT] = ACTIONS(5190),
    [anon_sym_EQ_EQ] = ACTIONS(5192),
    [anon_sym_BANG_EQ] = ACTIONS(5188),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5188),
    [anon_sym_LT_EQ_GT] = ACTIONS(5188),
    [anon_sym_EQ_TILDE] = ACTIONS(5188),
    [anon_sym_BANG_TILDE] = ACTIONS(5188),
    [anon_sym_LT_EQ] = ACTIONS(5178),
    [anon_sym_GT] = ACTIONS(5178),
    [anon_sym_GT_EQ] = ACTIONS(5194),
    [anon_sym_CARET] = ACTIONS(5196),
    [anon_sym_PLUS] = ACTIONS(5198),
    [anon_sym_SLASH] = ACTIONS(5174),
    [anon_sym_PERCENT] = ACTIONS(5174),
    [sym_comment] = ACTIONS(110),
  },
  [2236] = {
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(5111),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym__line_break] = ACTIONS(692),
    [anon_sym_SEMI] = ACTIONS(692),
    [sym_comment] = ACTIONS(110),
  },
  [2237] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(5113),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(7366),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2238] = {
    [sym__string_middle] = ACTIONS(5290),
    [sym__string_end] = ACTIONS(5290),
    [sym__element_reference_left_bracket] = ACTIONS(5290),
    [sym__scope_double_colon] = ACTIONS(5290),
    [sym__binary_minus] = ACTIONS(5290),
    [sym__binary_star] = ACTIONS(5290),
    [anon_sym_DOT] = ACTIONS(5292),
    [anon_sym_COMMA] = ACTIONS(5290),
    [anon_sym_PIPE] = ACTIONS(5292),
    [anon_sym_STAR_STAR] = ACTIONS(5290),
    [anon_sym_AMP] = ACTIONS(5292),
    [anon_sym_LT] = ACTIONS(5292),
    [anon_sym_if] = ACTIONS(5290),
    [anon_sym_unless] = ACTIONS(5290),
    [anon_sym_while] = ACTIONS(5290),
    [anon_sym_until] = ACTIONS(5290),
    [anon_sym_rescue] = ACTIONS(5290),
    [anon_sym_AMP_DOT] = ACTIONS(5290),
    [anon_sym_QMARK] = ACTIONS(5290),
    [anon_sym_DOT_DOT] = ACTIONS(5292),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5290),
    [anon_sym_and] = ACTIONS(5290),
    [anon_sym_or] = ACTIONS(5290),
    [anon_sym_PIPE_PIPE] = ACTIONS(5290),
    [anon_sym_AMP_AMP] = ACTIONS(5290),
    [anon_sym_LT_LT] = ACTIONS(5290),
    [anon_sym_GT_GT] = ACTIONS(5290),
    [anon_sym_EQ_EQ] = ACTIONS(5292),
    [anon_sym_BANG_EQ] = ACTIONS(5290),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5290),
    [anon_sym_LT_EQ_GT] = ACTIONS(5290),
    [anon_sym_EQ_TILDE] = ACTIONS(5290),
    [anon_sym_BANG_TILDE] = ACTIONS(5290),
    [anon_sym_LT_EQ] = ACTIONS(5292),
    [anon_sym_GT] = ACTIONS(5292),
    [anon_sym_GT_EQ] = ACTIONS(5290),
    [anon_sym_CARET] = ACTIONS(5290),
    [anon_sym_PLUS] = ACTIONS(5290),
    [anon_sym_SLASH] = ACTIONS(5290),
    [anon_sym_PERCENT] = ACTIONS(5290),
    [sym_comment] = ACTIONS(110),
  },
  [2239] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(5115),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(7368),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2240] = {
    [sym__string_middle] = ACTIONS(5290),
    [sym__string_end] = ACTIONS(5290),
    [sym__element_reference_left_bracket] = ACTIONS(5290),
    [sym__scope_double_colon] = ACTIONS(5290),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__binary_minus] = ACTIONS(5290),
    [sym__binary_star] = ACTIONS(5290),
    [anon_sym_DOT] = ACTIONS(5292),
    [anon_sym_COMMA] = ACTIONS(5290),
    [anon_sym_PIPE] = ACTIONS(5292),
    [anon_sym_STAR_STAR] = ACTIONS(5290),
    [anon_sym_AMP] = ACTIONS(5292),
    [anon_sym_LT] = ACTIONS(5292),
    [anon_sym_if] = ACTIONS(5290),
    [anon_sym_unless] = ACTIONS(5290),
    [anon_sym_while] = ACTIONS(5290),
    [anon_sym_until] = ACTIONS(5290),
    [anon_sym_rescue] = ACTIONS(5290),
    [anon_sym_AMP_DOT] = ACTIONS(5290),
    [anon_sym_QMARK] = ACTIONS(5290),
    [anon_sym_DOT_DOT] = ACTIONS(5292),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5290),
    [anon_sym_and] = ACTIONS(5290),
    [anon_sym_or] = ACTIONS(5290),
    [anon_sym_PIPE_PIPE] = ACTIONS(5290),
    [anon_sym_AMP_AMP] = ACTIONS(5290),
    [anon_sym_LT_LT] = ACTIONS(5290),
    [anon_sym_GT_GT] = ACTIONS(5290),
    [anon_sym_EQ_EQ] = ACTIONS(5292),
    [anon_sym_BANG_EQ] = ACTIONS(5290),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5290),
    [anon_sym_LT_EQ_GT] = ACTIONS(5290),
    [anon_sym_EQ_TILDE] = ACTIONS(5290),
    [anon_sym_BANG_TILDE] = ACTIONS(5290),
    [anon_sym_LT_EQ] = ACTIONS(5292),
    [anon_sym_GT] = ACTIONS(5292),
    [anon_sym_GT_EQ] = ACTIONS(5290),
    [anon_sym_CARET] = ACTIONS(5290),
    [anon_sym_PLUS] = ACTIONS(5290),
    [anon_sym_SLASH] = ACTIONS(5290),
    [anon_sym_PERCENT] = ACTIONS(5290),
    [sym_comment] = ACTIONS(110),
  },
  [2241] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(7370),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [2242] = {
    [sym__statement] = STATE(5117),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [2243] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(7372),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [2244] = {
    [sym__statement] = STATE(5119),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [2245] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(7374),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [2246] = {
    [sym__statement] = STATE(5121),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [2247] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(7376),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [2248] = {
    [sym__statement] = STATE(5123),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [2249] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(7378),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [2250] = {
    [sym__statement] = STATE(5125),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [2251] = {
    [sym__simple_string] = ACTIONS(126),
    [sym__simple_heredoc_body] = ACTIONS(126),
    [sym__string_beginning] = ACTIONS(126),
    [sym__heredoc_body_beginning] = ACTIONS(126),
    [sym__string_middle] = ACTIONS(126),
    [sym__string_end] = ACTIONS(126),
    [sym__element_reference_left_bracket] = ACTIONS(126),
    [sym__scope_double_colon] = ACTIONS(126),
    [sym__binary_minus] = ACTIONS(126),
    [sym__binary_star] = ACTIONS(126),
    [anon_sym_DOT] = ACTIONS(128),
    [anon_sym_COMMA] = ACTIONS(126),
    [anon_sym_PIPE] = ACTIONS(128),
    [anon_sym_STAR_STAR] = ACTIONS(126),
    [anon_sym_AMP] = ACTIONS(128),
    [anon_sym_LT] = ACTIONS(128),
    [anon_sym_if] = ACTIONS(126),
    [anon_sym_unless] = ACTIONS(126),
    [anon_sym_while] = ACTIONS(126),
    [anon_sym_until] = ACTIONS(126),
    [anon_sym_rescue] = ACTIONS(126),
    [anon_sym_EQ_GT] = ACTIONS(126),
    [anon_sym_AMP_DOT] = ACTIONS(126),
    [anon_sym_QMARK] = ACTIONS(128),
    [anon_sym_DOT_DOT] = ACTIONS(128),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(126),
    [anon_sym_and] = ACTIONS(126),
    [anon_sym_or] = ACTIONS(126),
    [anon_sym_PIPE_PIPE] = ACTIONS(126),
    [anon_sym_AMP_AMP] = ACTIONS(126),
    [anon_sym_LT_LT] = ACTIONS(126),
    [anon_sym_GT_GT] = ACTIONS(126),
    [anon_sym_EQ_EQ] = ACTIONS(128),
    [anon_sym_BANG_EQ] = ACTIONS(126),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(126),
    [anon_sym_LT_EQ_GT] = ACTIONS(126),
    [anon_sym_EQ_TILDE] = ACTIONS(126),
    [anon_sym_BANG_TILDE] = ACTIONS(126),
    [anon_sym_LT_EQ] = ACTIONS(128),
    [anon_sym_GT] = ACTIONS(128),
    [anon_sym_GT_EQ] = ACTIONS(126),
    [anon_sym_CARET] = ACTIONS(126),
    [anon_sym_PLUS] = ACTIONS(126),
    [anon_sym_SLASH] = ACTIONS(126),
    [anon_sym_PERCENT] = ACTIONS(126),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(128),
  },
  [2252] = {
    [sym__statement] = STATE(5126),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(5127),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [2253] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(5128),
    [sym__primary] = STATE(2281),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(2282),
    [sym_scope_resolution] = STATE(2283),
    [sym_call] = STATE(2283),
    [sym_method_call] = STATE(2282),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(2284),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2285),
    [sym__variable] = STATE(2283),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(2274),
    [sym_true] = STATE(2282),
    [sym_false] = STATE(2282),
    [sym_self] = STATE(2274),
    [sym_nil] = STATE(2282),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2286),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(3410),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__string_beginning] = ACTIONS(3412),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__unary_minus] = ACTIONS(3414),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(3416),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_COLON_COLON] = ACTIONS(3418),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3420),
    [anon_sym_module] = ACTIONS(3422),
    [anon_sym_return] = ACTIONS(3424),
    [anon_sym_yield] = ACTIONS(3426),
    [anon_sym_break] = ACTIONS(3428),
    [anon_sym_next] = ACTIONS(3430),
    [anon_sym_redo] = ACTIONS(3432),
    [anon_sym_retry] = ACTIONS(3434),
    [anon_sym_if] = ACTIONS(3436),
    [anon_sym_unless] = ACTIONS(3438),
    [anon_sym_while] = ACTIONS(3440),
    [anon_sym_until] = ACTIONS(3442),
    [anon_sym_for] = ACTIONS(3444),
    [anon_sym_case] = ACTIONS(3446),
    [anon_sym_begin] = ACTIONS(3448),
    [anon_sym_PLUS] = ACTIONS(3450),
    [anon_sym_defined_QMARK] = ACTIONS(3452),
    [anon_sym_not] = ACTIONS(3454),
    [anon_sym_BANG] = ACTIONS(3456),
    [anon_sym_TILDE] = ACTIONS(3456),
    [sym_constant] = ACTIONS(3458),
    [sym_identifier] = ACTIONS(3458),
    [sym_instance_variable] = ACTIONS(3460),
    [sym_class_variable] = ACTIONS(3460),
    [sym_global_variable] = ACTIONS(3460),
    [anon_sym_false] = ACTIONS(3462),
    [anon_sym_nil] = ACTIONS(3464),
    [anon_sym_self] = ACTIONS(3466),
    [anon_sym_super] = ACTIONS(3468),
    [anon_sym_true] = ACTIONS(3470),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(3470),
    [anon_sym_FALSE] = ACTIONS(3462),
    [anon_sym_NIL] = ACTIONS(3464),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(3472),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [2254] = {
    [sym__method_rest] = STATE(2302),
    [sym__variable] = STATE(2303),
    [sym_operator] = STATE(217),
    [sym__method_name] = STATE(2304),
    [sym_setter] = STATE(217),
    [sym_symbol] = STATE(217),
    [sym_super] = STATE(219),
    [sym_self] = STATE(219),
    [sym__simple_symbol] = ACTIONS(378),
    [sym__symbol_beginning] = ACTIONS(380),
    [anon_sym_LPAREN] = ACTIONS(3496),
    [anon_sym_PIPE] = ACTIONS(384),
    [anon_sym_STAR] = ACTIONS(386),
    [anon_sym_STAR_STAR] = ACTIONS(384),
    [anon_sym_AMP] = ACTIONS(384),
    [anon_sym_LT] = ACTIONS(386),
    [anon_sym_DOT_DOT] = ACTIONS(384),
    [anon_sym_LT_LT] = ACTIONS(384),
    [anon_sym_GT_GT] = ACTIONS(384),
    [anon_sym_EQ_EQ] = ACTIONS(386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(384),
    [anon_sym_LT_EQ_GT] = ACTIONS(384),
    [anon_sym_EQ_TILDE] = ACTIONS(384),
    [anon_sym_BANG_TILDE] = ACTIONS(384),
    [anon_sym_LT_EQ] = ACTIONS(386),
    [anon_sym_GT] = ACTIONS(386),
    [anon_sym_GT_EQ] = ACTIONS(384),
    [anon_sym_CARET] = ACTIONS(384),
    [anon_sym_PLUS] = ACTIONS(386),
    [anon_sym_SLASH] = ACTIONS(384),
    [anon_sym_PERCENT] = ACTIONS(384),
    [anon_sym_BANG] = ACTIONS(386),
    [anon_sym_TILDE] = ACTIONS(384),
    [sym_constant] = ACTIONS(388),
    [sym_identifier] = ACTIONS(390),
    [sym_instance_variable] = ACTIONS(388),
    [sym_class_variable] = ACTIONS(388),
    [sym_global_variable] = ACTIONS(388),
    [anon_sym_self] = ACTIONS(392),
    [anon_sym_super] = ACTIONS(394),
    [anon_sym_DASH] = ACTIONS(386),
    [anon_sym_PLUS_AT] = ACTIONS(384),
    [anon_sym_DASH_AT] = ACTIONS(384),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(386),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(384),
    [anon_sym_BQUOTE] = ACTIONS(384),
    [sym_comment] = ACTIONS(110),
  },
  [2255] = {
    [sym_constant] = ACTIONS(7380),
    [sym_identifier] = ACTIONS(7380),
    [sym_comment] = ACTIONS(110),
  },
  [2256] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(293),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(2311),
    [sym_call] = STATE(295),
    [sym_method_call] = STATE(286),
    [sym__lhs] = STATE(255),
    [sym__variable] = STATE(295),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [sym__singleton_class_left_angle_left_langle] = ACTIONS(3502),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(458),
    [anon_sym_COLON_COLON] = ACTIONS(524),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(3504),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [2257] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(293),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(2313),
    [sym_call] = STATE(295),
    [sym_method_call] = STATE(286),
    [sym__lhs] = STATE(255),
    [sym__variable] = STATE(295),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(458),
    [anon_sym_COLON_COLON] = ACTIONS(524),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(3506),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [2258] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(692),
    [sym__primary] = STATE(693),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(695),
    [sym_call] = STATE(695),
    [sym_method_call] = STATE(694),
    [sym_argument_list] = STATE(2319),
    [sym__argument_list_with_parens] = STATE(697),
    [sym__argument] = STATE(698),
    [sym_splat_argument] = STATE(699),
    [sym_hash_splat_argument] = STATE(699),
    [sym_block_argument] = STATE(699),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(701),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(702),
    [sym__variable] = STATE(695),
    [sym_reserved_identifier] = STATE(703),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(704),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_pair] = STATE(699),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(1096),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(1106),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym__string_middle] = ACTIONS(532),
    [sym__string_end] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(1118),
    [sym__splat_star] = ACTIONS(1120),
    [sym__argument_list_left_paren] = ACTIONS(1122),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(1124),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(1128),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(1134),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(1136),
    [anon_sym_return] = ACTIONS(1138),
    [anon_sym_yield] = ACTIONS(1140),
    [anon_sym_break] = ACTIONS(1142),
    [anon_sym_next] = ACTIONS(1144),
    [anon_sym_redo] = ACTIONS(1146),
    [anon_sym_retry] = ACTIONS(1148),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(1150),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1152),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1154),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(1156),
    [anon_sym_not] = ACTIONS(1158),
    [anon_sym_BANG] = ACTIONS(1160),
    [anon_sym_TILDE] = ACTIONS(1162),
    [sym_constant] = ACTIONS(1164),
    [sym_identifier] = ACTIONS(1164),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(1168),
    [anon_sym_nil] = ACTIONS(1170),
    [anon_sym_self] = ACTIONS(1172),
    [anon_sym_super] = ACTIONS(1174),
    [anon_sym_true] = ACTIONS(1176),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(1192),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [2259] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(692),
    [sym__primary] = STATE(693),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(695),
    [sym_call] = STATE(695),
    [sym_method_call] = STATE(694),
    [sym_argument_list] = STATE(2323),
    [sym__argument_list_with_parens] = STATE(697),
    [sym__argument] = STATE(698),
    [sym_splat_argument] = STATE(699),
    [sym_hash_splat_argument] = STATE(699),
    [sym_block_argument] = STATE(699),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(701),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(702),
    [sym__variable] = STATE(695),
    [sym_reserved_identifier] = STATE(703),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(704),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_pair] = STATE(699),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(1096),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(1106),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym__string_middle] = ACTIONS(602),
    [sym__string_end] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(1118),
    [sym__splat_star] = ACTIONS(1120),
    [sym__argument_list_left_paren] = ACTIONS(1122),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(1124),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(1128),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(1134),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(1136),
    [anon_sym_return] = ACTIONS(1138),
    [anon_sym_yield] = ACTIONS(1140),
    [anon_sym_break] = ACTIONS(1142),
    [anon_sym_next] = ACTIONS(1144),
    [anon_sym_redo] = ACTIONS(1146),
    [anon_sym_retry] = ACTIONS(1148),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(1150),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1152),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1154),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(1156),
    [anon_sym_not] = ACTIONS(1158),
    [anon_sym_BANG] = ACTIONS(1160),
    [anon_sym_TILDE] = ACTIONS(1162),
    [sym_constant] = ACTIONS(1164),
    [sym_identifier] = ACTIONS(1164),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(1168),
    [anon_sym_nil] = ACTIONS(1170),
    [anon_sym_self] = ACTIONS(1172),
    [anon_sym_super] = ACTIONS(1174),
    [anon_sym_true] = ACTIONS(1176),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(1192),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [2260] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(692),
    [sym__primary] = STATE(693),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(695),
    [sym_call] = STATE(695),
    [sym_method_call] = STATE(694),
    [sym_argument_list] = STATE(2324),
    [sym__argument_list_with_parens] = STATE(697),
    [sym__argument] = STATE(698),
    [sym_splat_argument] = STATE(699),
    [sym_hash_splat_argument] = STATE(699),
    [sym_block_argument] = STATE(699),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(701),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(702),
    [sym__variable] = STATE(695),
    [sym_reserved_identifier] = STATE(703),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(704),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_pair] = STATE(699),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(1096),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(1106),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym__string_middle] = ACTIONS(606),
    [sym__string_end] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(1118),
    [sym__splat_star] = ACTIONS(1120),
    [sym__argument_list_left_paren] = ACTIONS(1122),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(1124),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(1128),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(1134),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(1136),
    [anon_sym_return] = ACTIONS(1138),
    [anon_sym_yield] = ACTIONS(1140),
    [anon_sym_break] = ACTIONS(1142),
    [anon_sym_next] = ACTIONS(1144),
    [anon_sym_redo] = ACTIONS(1146),
    [anon_sym_retry] = ACTIONS(1148),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(1150),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1152),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1154),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(1156),
    [anon_sym_not] = ACTIONS(1158),
    [anon_sym_BANG] = ACTIONS(1160),
    [anon_sym_TILDE] = ACTIONS(1162),
    [sym_constant] = ACTIONS(1164),
    [sym_identifier] = ACTIONS(1164),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(1168),
    [anon_sym_nil] = ACTIONS(1170),
    [anon_sym_self] = ACTIONS(1172),
    [anon_sym_super] = ACTIONS(1174),
    [anon_sym_true] = ACTIONS(1176),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(1192),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [2261] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(692),
    [sym__primary] = STATE(693),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(695),
    [sym_call] = STATE(695),
    [sym_method_call] = STATE(694),
    [sym_argument_list] = STATE(2325),
    [sym__argument_list_with_parens] = STATE(697),
    [sym__argument] = STATE(698),
    [sym_splat_argument] = STATE(699),
    [sym_hash_splat_argument] = STATE(699),
    [sym_block_argument] = STATE(699),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(701),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(702),
    [sym__variable] = STATE(695),
    [sym_reserved_identifier] = STATE(703),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(704),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_pair] = STATE(699),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(1096),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(1106),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym__string_middle] = ACTIONS(610),
    [sym__string_end] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(1118),
    [sym__splat_star] = ACTIONS(1120),
    [sym__argument_list_left_paren] = ACTIONS(1122),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(1124),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(1128),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(1134),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(1136),
    [anon_sym_return] = ACTIONS(1138),
    [anon_sym_yield] = ACTIONS(1140),
    [anon_sym_break] = ACTIONS(1142),
    [anon_sym_next] = ACTIONS(1144),
    [anon_sym_redo] = ACTIONS(1146),
    [anon_sym_retry] = ACTIONS(1148),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(1150),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1152),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1154),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(1156),
    [anon_sym_not] = ACTIONS(1158),
    [anon_sym_BANG] = ACTIONS(1160),
    [anon_sym_TILDE] = ACTIONS(1162),
    [sym_constant] = ACTIONS(1164),
    [sym_identifier] = ACTIONS(1164),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(1168),
    [anon_sym_nil] = ACTIONS(1170),
    [anon_sym_self] = ACTIONS(1172),
    [anon_sym_super] = ACTIONS(1174),
    [anon_sym_true] = ACTIONS(1176),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(1192),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [2262] = {
    [sym__simple_heredoc_body] = ACTIONS(614),
    [sym__heredoc_body_beginning] = ACTIONS(614),
    [sym__string_middle] = ACTIONS(614),
    [sym__string_end] = ACTIONS(614),
    [sym__element_reference_left_bracket] = ACTIONS(614),
    [sym__scope_double_colon] = ACTIONS(614),
    [sym__binary_minus] = ACTIONS(614),
    [sym__binary_star] = ACTIONS(614),
    [anon_sym_DOT] = ACTIONS(616),
    [anon_sym_COMMA] = ACTIONS(614),
    [anon_sym_PIPE] = ACTIONS(616),
    [anon_sym_STAR_STAR] = ACTIONS(614),
    [anon_sym_AMP] = ACTIONS(616),
    [anon_sym_LT] = ACTIONS(616),
    [anon_sym_if] = ACTIONS(614),
    [anon_sym_unless] = ACTIONS(614),
    [anon_sym_while] = ACTIONS(614),
    [anon_sym_until] = ACTIONS(614),
    [anon_sym_rescue] = ACTIONS(614),
    [anon_sym_EQ_GT] = ACTIONS(614),
    [anon_sym_AMP_DOT] = ACTIONS(614),
    [anon_sym_QMARK] = ACTIONS(614),
    [anon_sym_DOT_DOT] = ACTIONS(616),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(614),
    [anon_sym_and] = ACTIONS(614),
    [anon_sym_or] = ACTIONS(614),
    [anon_sym_PIPE_PIPE] = ACTIONS(614),
    [anon_sym_AMP_AMP] = ACTIONS(614),
    [anon_sym_LT_LT] = ACTIONS(614),
    [anon_sym_GT_GT] = ACTIONS(614),
    [anon_sym_EQ_EQ] = ACTIONS(616),
    [anon_sym_BANG_EQ] = ACTIONS(614),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(614),
    [anon_sym_LT_EQ_GT] = ACTIONS(614),
    [anon_sym_EQ_TILDE] = ACTIONS(614),
    [anon_sym_BANG_TILDE] = ACTIONS(614),
    [anon_sym_LT_EQ] = ACTIONS(616),
    [anon_sym_GT] = ACTIONS(616),
    [anon_sym_GT_EQ] = ACTIONS(614),
    [anon_sym_CARET] = ACTIONS(614),
    [anon_sym_PLUS] = ACTIONS(614),
    [anon_sym_SLASH] = ACTIONS(614),
    [anon_sym_PERCENT] = ACTIONS(614),
    [sym_comment] = ACTIONS(110),
  },
  [2263] = {
    [sym__simple_heredoc_body] = ACTIONS(618),
    [sym__heredoc_body_beginning] = ACTIONS(618),
    [sym__string_middle] = ACTIONS(618),
    [sym__string_end] = ACTIONS(618),
    [sym__element_reference_left_bracket] = ACTIONS(618),
    [sym__scope_double_colon] = ACTIONS(618),
    [sym__binary_minus] = ACTIONS(618),
    [sym__binary_star] = ACTIONS(618),
    [anon_sym_DOT] = ACTIONS(620),
    [anon_sym_COMMA] = ACTIONS(618),
    [anon_sym_PIPE] = ACTIONS(620),
    [anon_sym_STAR_STAR] = ACTIONS(618),
    [anon_sym_AMP] = ACTIONS(620),
    [anon_sym_LT] = ACTIONS(620),
    [anon_sym_if] = ACTIONS(618),
    [anon_sym_unless] = ACTIONS(618),
    [anon_sym_while] = ACTIONS(618),
    [anon_sym_until] = ACTIONS(618),
    [anon_sym_rescue] = ACTIONS(618),
    [anon_sym_EQ_GT] = ACTIONS(618),
    [anon_sym_AMP_DOT] = ACTIONS(618),
    [anon_sym_QMARK] = ACTIONS(618),
    [anon_sym_DOT_DOT] = ACTIONS(620),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(618),
    [anon_sym_and] = ACTIONS(618),
    [anon_sym_or] = ACTIONS(618),
    [anon_sym_PIPE_PIPE] = ACTIONS(618),
    [anon_sym_AMP_AMP] = ACTIONS(618),
    [anon_sym_LT_LT] = ACTIONS(618),
    [anon_sym_GT_GT] = ACTIONS(618),
    [anon_sym_EQ_EQ] = ACTIONS(620),
    [anon_sym_BANG_EQ] = ACTIONS(618),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(618),
    [anon_sym_LT_EQ_GT] = ACTIONS(618),
    [anon_sym_EQ_TILDE] = ACTIONS(618),
    [anon_sym_BANG_TILDE] = ACTIONS(618),
    [anon_sym_LT_EQ] = ACTIONS(620),
    [anon_sym_GT] = ACTIONS(620),
    [anon_sym_GT_EQ] = ACTIONS(618),
    [anon_sym_CARET] = ACTIONS(618),
    [anon_sym_PLUS] = ACTIONS(618),
    [anon_sym_SLASH] = ACTIONS(618),
    [anon_sym_PERCENT] = ACTIONS(618),
    [sym_comment] = ACTIONS(110),
  },
  [2264] = {
    [sym__statement] = STATE(2326),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(361),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2265] = {
    [sym__statement] = STATE(2327),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(361),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2266] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2328),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2267] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2329),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2268] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(285),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(381),
    [sym_call] = STATE(381),
    [sym_method_call] = STATE(286),
    [sym__mlhs] = STATE(2330),
    [sym__simple_mlhs] = STATE(383),
    [sym_destructured_left_assignment] = STATE(383),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(384),
    [sym__variable] = STATE(381),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(658),
    [anon_sym_COLON_COLON] = ACTIONS(460),
    [anon_sym_STAR] = ACTIONS(660),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(494),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [2269] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_when] = STATE(2331),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2332),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(400),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(401),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(387),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__terminator] = STATE(402),
    [aux_sym_case_repeat1] = STATE(2333),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(666),
    [sym__unary_minus] = ACTIONS(668),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_when] = ACTIONS(678),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(680),
    [anon_sym_defined_QMARK] = ACTIONS(682),
    [anon_sym_not] = ACTIONS(684),
    [anon_sym_BANG] = ACTIONS(686),
    [anon_sym_TILDE] = ACTIONS(686),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2270] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(2335),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(2336),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(692),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(3514),
    [anon_sym_SEMI] = ACTIONS(698),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2271] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(5130),
    [sym__primary] = STATE(2281),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(2282),
    [sym_scope_resolution] = STATE(2283),
    [sym_call] = STATE(2283),
    [sym_method_call] = STATE(2282),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(2284),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2285),
    [sym__variable] = STATE(2283),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(2274),
    [sym_true] = STATE(2282),
    [sym_false] = STATE(2282),
    [sym_self] = STATE(2274),
    [sym_nil] = STATE(2282),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2286),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(3410),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__string_beginning] = ACTIONS(3412),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__unary_minus] = ACTIONS(3414),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(3416),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_COLON_COLON] = ACTIONS(3418),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3420),
    [anon_sym_module] = ACTIONS(3422),
    [anon_sym_return] = ACTIONS(3424),
    [anon_sym_yield] = ACTIONS(3426),
    [anon_sym_break] = ACTIONS(3428),
    [anon_sym_next] = ACTIONS(3430),
    [anon_sym_redo] = ACTIONS(3432),
    [anon_sym_retry] = ACTIONS(3434),
    [anon_sym_if] = ACTIONS(3436),
    [anon_sym_unless] = ACTIONS(3438),
    [anon_sym_while] = ACTIONS(3440),
    [anon_sym_until] = ACTIONS(3442),
    [anon_sym_for] = ACTIONS(3444),
    [anon_sym_case] = ACTIONS(3446),
    [anon_sym_begin] = ACTIONS(3448),
    [anon_sym_PLUS] = ACTIONS(3450),
    [anon_sym_defined_QMARK] = ACTIONS(3452),
    [anon_sym_not] = ACTIONS(3454),
    [anon_sym_BANG] = ACTIONS(3456),
    [anon_sym_TILDE] = ACTIONS(3456),
    [sym_constant] = ACTIONS(3458),
    [sym_identifier] = ACTIONS(3458),
    [sym_instance_variable] = ACTIONS(3460),
    [sym_class_variable] = ACTIONS(3460),
    [sym_global_variable] = ACTIONS(3460),
    [anon_sym_false] = ACTIONS(3462),
    [anon_sym_nil] = ACTIONS(3464),
    [anon_sym_self] = ACTIONS(3466),
    [anon_sym_super] = ACTIONS(3468),
    [anon_sym_true] = ACTIONS(3470),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(3470),
    [anon_sym_FALSE] = ACTIONS(3462),
    [anon_sym_NIL] = ACTIONS(3464),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(3472),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [2272] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(5131),
    [sym__primary] = STATE(2281),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(2282),
    [sym_scope_resolution] = STATE(2283),
    [sym_call] = STATE(2283),
    [sym_method_call] = STATE(2282),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(2284),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2285),
    [sym__variable] = STATE(2283),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(2274),
    [sym_true] = STATE(2282),
    [sym_false] = STATE(2282),
    [sym_self] = STATE(2274),
    [sym_nil] = STATE(2282),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2286),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(3410),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__string_beginning] = ACTIONS(3412),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__unary_minus] = ACTIONS(3414),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(3416),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_COLON_COLON] = ACTIONS(3418),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3420),
    [anon_sym_module] = ACTIONS(3422),
    [anon_sym_return] = ACTIONS(3424),
    [anon_sym_yield] = ACTIONS(3426),
    [anon_sym_break] = ACTIONS(3428),
    [anon_sym_next] = ACTIONS(3430),
    [anon_sym_redo] = ACTIONS(3432),
    [anon_sym_retry] = ACTIONS(3434),
    [anon_sym_if] = ACTIONS(3436),
    [anon_sym_unless] = ACTIONS(3438),
    [anon_sym_while] = ACTIONS(3440),
    [anon_sym_until] = ACTIONS(3442),
    [anon_sym_for] = ACTIONS(3444),
    [anon_sym_case] = ACTIONS(3446),
    [anon_sym_begin] = ACTIONS(3448),
    [anon_sym_PLUS] = ACTIONS(3450),
    [anon_sym_defined_QMARK] = ACTIONS(3452),
    [anon_sym_not] = ACTIONS(3454),
    [anon_sym_BANG] = ACTIONS(3456),
    [anon_sym_TILDE] = ACTIONS(3456),
    [sym_constant] = ACTIONS(3458),
    [sym_identifier] = ACTIONS(3458),
    [sym_instance_variable] = ACTIONS(3460),
    [sym_class_variable] = ACTIONS(3460),
    [sym_global_variable] = ACTIONS(3460),
    [anon_sym_false] = ACTIONS(3462),
    [anon_sym_nil] = ACTIONS(3464),
    [anon_sym_self] = ACTIONS(3466),
    [anon_sym_super] = ACTIONS(3468),
    [anon_sym_true] = ACTIONS(3470),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(3470),
    [anon_sym_FALSE] = ACTIONS(3462),
    [anon_sym_NIL] = ACTIONS(3464),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(3472),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [2273] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(2339),
    [sym__primary] = STATE(2281),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(2282),
    [sym_scope_resolution] = STATE(2283),
    [sym_call] = STATE(2283),
    [sym_method_call] = STATE(2282),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(2284),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2285),
    [sym__variable] = STATE(2283),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(2274),
    [sym_true] = STATE(2282),
    [sym_false] = STATE(2282),
    [sym_self] = STATE(2274),
    [sym_nil] = STATE(2282),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2286),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(3410),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__string_beginning] = ACTIONS(3412),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__unary_minus] = ACTIONS(3414),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(3416),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_COLON_COLON] = ACTIONS(3418),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3420),
    [anon_sym_module] = ACTIONS(3422),
    [anon_sym_return] = ACTIONS(3424),
    [anon_sym_yield] = ACTIONS(3426),
    [anon_sym_break] = ACTIONS(3428),
    [anon_sym_next] = ACTIONS(3430),
    [anon_sym_redo] = ACTIONS(3432),
    [anon_sym_retry] = ACTIONS(3434),
    [anon_sym_if] = ACTIONS(3436),
    [anon_sym_unless] = ACTIONS(3438),
    [anon_sym_while] = ACTIONS(3440),
    [anon_sym_until] = ACTIONS(3442),
    [anon_sym_for] = ACTIONS(3444),
    [anon_sym_case] = ACTIONS(3446),
    [anon_sym_begin] = ACTIONS(3448),
    [anon_sym_PLUS] = ACTIONS(3450),
    [anon_sym_defined_QMARK] = ACTIONS(3452),
    [anon_sym_not] = ACTIONS(3454),
    [anon_sym_BANG] = ACTIONS(3456),
    [anon_sym_TILDE] = ACTIONS(3456),
    [sym_constant] = ACTIONS(3458),
    [sym_identifier] = ACTIONS(3458),
    [sym_instance_variable] = ACTIONS(3460),
    [sym_class_variable] = ACTIONS(3460),
    [sym_global_variable] = ACTIONS(3460),
    [anon_sym_false] = ACTIONS(3462),
    [anon_sym_nil] = ACTIONS(3464),
    [anon_sym_self] = ACTIONS(3466),
    [anon_sym_super] = ACTIONS(3468),
    [anon_sym_true] = ACTIONS(3470),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(3470),
    [anon_sym_FALSE] = ACTIONS(3462),
    [anon_sym_NIL] = ACTIONS(3464),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(3472),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [2274] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym__string_middle] = ACTIONS(722),
    [sym__string_end] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [2275] = {
    [sym__simple_heredoc_body] = ACTIONS(740),
    [sym__heredoc_body_beginning] = ACTIONS(740),
    [sym__string_middle] = ACTIONS(740),
    [sym__string_end] = ACTIONS(740),
    [sym__element_reference_left_bracket] = ACTIONS(740),
    [sym__scope_double_colon] = ACTIONS(740),
    [sym__binary_minus] = ACTIONS(740),
    [sym__binary_star] = ACTIONS(740),
    [anon_sym_LBRACE] = ACTIONS(740),
    [anon_sym_DOT] = ACTIONS(742),
    [anon_sym_COMMA] = ACTIONS(740),
    [anon_sym_PIPE] = ACTIONS(742),
    [anon_sym_STAR_STAR] = ACTIONS(742),
    [anon_sym_AMP] = ACTIONS(742),
    [anon_sym_EQ] = ACTIONS(742),
    [anon_sym_LT] = ACTIONS(742),
    [anon_sym_if] = ACTIONS(740),
    [anon_sym_unless] = ACTIONS(740),
    [anon_sym_while] = ACTIONS(740),
    [anon_sym_until] = ACTIONS(740),
    [anon_sym_rescue] = ACTIONS(740),
    [anon_sym_do] = ACTIONS(740),
    [anon_sym_AMP_DOT] = ACTIONS(740),
    [anon_sym_PLUS_EQ] = ACTIONS(740),
    [anon_sym_DASH_EQ] = ACTIONS(740),
    [anon_sym_STAR_EQ] = ACTIONS(740),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(740),
    [anon_sym_SLASH_EQ] = ACTIONS(740),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(740),
    [anon_sym_PIPE_EQ] = ACTIONS(740),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(740),
    [anon_sym_AMP_EQ] = ACTIONS(740),
    [anon_sym_PERCENT_EQ] = ACTIONS(740),
    [anon_sym_GT_GT_EQ] = ACTIONS(740),
    [anon_sym_LT_LT_EQ] = ACTIONS(740),
    [anon_sym_CARET_EQ] = ACTIONS(740),
    [anon_sym_QMARK] = ACTIONS(740),
    [anon_sym_DOT_DOT] = ACTIONS(742),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(740),
    [anon_sym_and] = ACTIONS(740),
    [anon_sym_or] = ACTIONS(740),
    [anon_sym_PIPE_PIPE] = ACTIONS(742),
    [anon_sym_AMP_AMP] = ACTIONS(742),
    [anon_sym_LT_LT] = ACTIONS(742),
    [anon_sym_GT_GT] = ACTIONS(742),
    [anon_sym_EQ_EQ] = ACTIONS(742),
    [anon_sym_BANG_EQ] = ACTIONS(740),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(740),
    [anon_sym_LT_EQ_GT] = ACTIONS(740),
    [anon_sym_EQ_TILDE] = ACTIONS(740),
    [anon_sym_BANG_TILDE] = ACTIONS(740),
    [anon_sym_LT_EQ] = ACTIONS(742),
    [anon_sym_GT] = ACTIONS(742),
    [anon_sym_GT_EQ] = ACTIONS(740),
    [anon_sym_CARET] = ACTIONS(742),
    [anon_sym_PLUS] = ACTIONS(742),
    [anon_sym_SLASH] = ACTIONS(742),
    [anon_sym_PERCENT] = ACTIONS(742),
    [sym_comment] = ACTIONS(256),
  },
  [2276] = {
    [sym__simple_heredoc_body] = ACTIONS(744),
    [sym__heredoc_body_beginning] = ACTIONS(744),
    [sym__string_middle] = ACTIONS(744),
    [sym__string_end] = ACTIONS(744),
    [sym__element_reference_left_bracket] = ACTIONS(744),
    [sym__scope_double_colon] = ACTIONS(744),
    [sym__binary_minus] = ACTIONS(744),
    [sym__binary_star] = ACTIONS(744),
    [anon_sym_LBRACE] = ACTIONS(744),
    [anon_sym_DOT] = ACTIONS(746),
    [anon_sym_COMMA] = ACTIONS(744),
    [anon_sym_PIPE] = ACTIONS(746),
    [anon_sym_STAR_STAR] = ACTIONS(746),
    [anon_sym_AMP] = ACTIONS(746),
    [anon_sym_EQ] = ACTIONS(746),
    [anon_sym_LT] = ACTIONS(746),
    [anon_sym_if] = ACTIONS(744),
    [anon_sym_unless] = ACTIONS(744),
    [anon_sym_while] = ACTIONS(744),
    [anon_sym_until] = ACTIONS(744),
    [anon_sym_rescue] = ACTIONS(744),
    [anon_sym_do] = ACTIONS(744),
    [anon_sym_AMP_DOT] = ACTIONS(744),
    [anon_sym_PLUS_EQ] = ACTIONS(744),
    [anon_sym_DASH_EQ] = ACTIONS(744),
    [anon_sym_STAR_EQ] = ACTIONS(744),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(744),
    [anon_sym_SLASH_EQ] = ACTIONS(744),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(744),
    [anon_sym_PIPE_EQ] = ACTIONS(744),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(744),
    [anon_sym_AMP_EQ] = ACTIONS(744),
    [anon_sym_PERCENT_EQ] = ACTIONS(744),
    [anon_sym_GT_GT_EQ] = ACTIONS(744),
    [anon_sym_LT_LT_EQ] = ACTIONS(744),
    [anon_sym_CARET_EQ] = ACTIONS(744),
    [anon_sym_QMARK] = ACTIONS(744),
    [anon_sym_DOT_DOT] = ACTIONS(746),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(744),
    [anon_sym_and] = ACTIONS(744),
    [anon_sym_or] = ACTIONS(744),
    [anon_sym_PIPE_PIPE] = ACTIONS(746),
    [anon_sym_AMP_AMP] = ACTIONS(746),
    [anon_sym_LT_LT] = ACTIONS(746),
    [anon_sym_GT_GT] = ACTIONS(746),
    [anon_sym_EQ_EQ] = ACTIONS(746),
    [anon_sym_BANG_EQ] = ACTIONS(744),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(744),
    [anon_sym_LT_EQ_GT] = ACTIONS(744),
    [anon_sym_EQ_TILDE] = ACTIONS(744),
    [anon_sym_BANG_TILDE] = ACTIONS(744),
    [anon_sym_LT_EQ] = ACTIONS(746),
    [anon_sym_GT] = ACTIONS(746),
    [anon_sym_GT_EQ] = ACTIONS(744),
    [anon_sym_CARET] = ACTIONS(746),
    [anon_sym_PLUS] = ACTIONS(746),
    [anon_sym_SLASH] = ACTIONS(746),
    [anon_sym_PERCENT] = ACTIONS(746),
    [sym_comment] = ACTIONS(256),
  },
  [2277] = {
    [sym__simple_string] = ACTIONS(748),
    [sym__simple_symbol] = ACTIONS(748),
    [sym__simple_subshell] = ACTIONS(748),
    [sym__simple_regex] = ACTIONS(748),
    [sym__simple_word_list] = ACTIONS(748),
    [sym__simple_heredoc_body] = ACTIONS(748),
    [sym__string_beginning] = ACTIONS(748),
    [sym__symbol_beginning] = ACTIONS(748),
    [sym__subshell_beginning] = ACTIONS(748),
    [sym__regex_beginning] = ACTIONS(748),
    [sym__word_list_beginning] = ACTIONS(748),
    [sym__heredoc_body_beginning] = ACTIONS(748),
    [sym__string_middle] = ACTIONS(748),
    [sym__string_end] = ACTIONS(748),
    [sym_heredoc_beginning] = ACTIONS(748),
    [sym__element_reference_left_bracket] = ACTIONS(748),
    [sym__block_ampersand] = ACTIONS(748),
    [sym__splat_star] = ACTIONS(748),
    [sym__argument_list_left_paren] = ACTIONS(748),
    [sym__scope_double_colon] = ACTIONS(748),
    [sym__unary_minus] = ACTIONS(748),
    [sym__binary_minus] = ACTIONS(748),
    [sym__binary_star] = ACTIONS(748),
    [anon_sym_LBRACE] = ACTIONS(748),
    [anon_sym_def] = ACTIONS(750),
    [anon_sym_LPAREN] = ACTIONS(748),
    [anon_sym_DOT] = ACTIONS(750),
    [anon_sym_COLON_COLON] = ACTIONS(748),
    [anon_sym_end] = ACTIONS(750),
    [anon_sym_COMMA] = ACTIONS(748),
    [anon_sym_PIPE] = ACTIONS(750),
    [anon_sym_STAR] = ACTIONS(750),
    [anon_sym_STAR_STAR] = ACTIONS(750),
    [anon_sym_AMP] = ACTIONS(750),
    [anon_sym_EQ] = ACTIONS(750),
    [anon_sym_class] = ACTIONS(750),
    [anon_sym_LT] = ACTIONS(750),
    [anon_sym_module] = ACTIONS(750),
    [anon_sym_return] = ACTIONS(750),
    [anon_sym_yield] = ACTIONS(750),
    [anon_sym_break] = ACTIONS(750),
    [anon_sym_next] = ACTIONS(750),
    [anon_sym_redo] = ACTIONS(750),
    [anon_sym_retry] = ACTIONS(750),
    [anon_sym_if] = ACTIONS(750),
    [anon_sym_unless] = ACTIONS(750),
    [anon_sym_while] = ACTIONS(750),
    [anon_sym_until] = ACTIONS(750),
    [anon_sym_rescue] = ACTIONS(750),
    [anon_sym_for] = ACTIONS(750),
    [anon_sym_in] = ACTIONS(750),
    [anon_sym_do] = ACTIONS(750),
    [anon_sym_case] = ACTIONS(750),
    [anon_sym_when] = ACTIONS(750),
    [anon_sym_elsif] = ACTIONS(750),
    [anon_sym_else] = ACTIONS(750),
    [anon_sym_then] = ACTIONS(750),
    [anon_sym_begin] = ACTIONS(750),
    [anon_sym_ensure] = ACTIONS(750),
    [anon_sym_AMP_DOT] = ACTIONS(748),
    [anon_sym_PLUS_EQ] = ACTIONS(748),
    [anon_sym_DASH_EQ] = ACTIONS(748),
    [anon_sym_STAR_EQ] = ACTIONS(748),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(748),
    [anon_sym_SLASH_EQ] = ACTIONS(748),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(748),
    [anon_sym_PIPE_EQ] = ACTIONS(748),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(748),
    [anon_sym_AMP_EQ] = ACTIONS(748),
    [anon_sym_PERCENT_EQ] = ACTIONS(748),
    [anon_sym_GT_GT_EQ] = ACTIONS(748),
    [anon_sym_LT_LT_EQ] = ACTIONS(748),
    [anon_sym_CARET_EQ] = ACTIONS(748),
    [anon_sym_QMARK] = ACTIONS(750),
    [anon_sym_DOT_DOT] = ACTIONS(750),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(748),
    [anon_sym_and] = ACTIONS(750),
    [anon_sym_or] = ACTIONS(750),
    [anon_sym_PIPE_PIPE] = ACTIONS(750),
    [anon_sym_AMP_AMP] = ACTIONS(750),
    [anon_sym_LT_LT] = ACTIONS(750),
    [anon_sym_GT_GT] = ACTIONS(750),
    [anon_sym_EQ_EQ] = ACTIONS(750),
    [anon_sym_BANG_EQ] = ACTIONS(748),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(748),
    [anon_sym_LT_EQ_GT] = ACTIONS(748),
    [anon_sym_EQ_TILDE] = ACTIONS(748),
    [anon_sym_BANG_TILDE] = ACTIONS(748),
    [anon_sym_LT_EQ] = ACTIONS(750),
    [anon_sym_GT] = ACTIONS(750),
    [anon_sym_GT_EQ] = ACTIONS(748),
    [anon_sym_CARET] = ACTIONS(750),
    [anon_sym_PLUS] = ACTIONS(750),
    [anon_sym_SLASH] = ACTIONS(750),
    [anon_sym_PERCENT] = ACTIONS(750),
    [anon_sym_defined_QMARK] = ACTIONS(748),
    [anon_sym_not] = ACTIONS(750),
    [anon_sym_BANG] = ACTIONS(750),
    [anon_sym_TILDE] = ACTIONS(748),
    [sym_constant] = ACTIONS(752),
    [sym_identifier] = ACTIONS(752),
    [sym_instance_variable] = ACTIONS(750),
    [sym_class_variable] = ACTIONS(750),
    [sym_global_variable] = ACTIONS(750),
    [anon_sym_alias] = ACTIONS(750),
    [anon_sym_defined] = ACTIONS(750),
    [anon_sym_false] = ACTIONS(750),
    [anon_sym_nil] = ACTIONS(750),
    [anon_sym_self] = ACTIONS(750),
    [anon_sym_super] = ACTIONS(750),
    [anon_sym_true] = ACTIONS(750),
    [anon_sym_undef] = ACTIONS(750),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(750),
    [sym_float] = ACTIONS(752),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(748),
    [anon_sym_TRUE] = ACTIONS(750),
    [anon_sym_FALSE] = ACTIONS(750),
    [anon_sym_NIL] = ACTIONS(750),
    [sym_keyword__FILE__] = ACTIONS(750),
    [sym_keyword__LINE__] = ACTIONS(750),
    [sym_keyword__ENCODING__] = ACTIONS(750),
    [sym__character_literal] = ACTIONS(750),
    [anon_sym_LBRACK] = ACTIONS(748),
    [anon_sym_DASH_GT] = ACTIONS(748),
  },
  [2278] = {
    [sym__simple_string] = ACTIONS(754),
    [sym__simple_symbol] = ACTIONS(754),
    [sym__simple_subshell] = ACTIONS(754),
    [sym__simple_regex] = ACTIONS(754),
    [sym__simple_word_list] = ACTIONS(754),
    [sym__simple_heredoc_body] = ACTIONS(754),
    [sym__string_beginning] = ACTIONS(754),
    [sym__symbol_beginning] = ACTIONS(754),
    [sym__subshell_beginning] = ACTIONS(754),
    [sym__regex_beginning] = ACTIONS(754),
    [sym__word_list_beginning] = ACTIONS(754),
    [sym__heredoc_body_beginning] = ACTIONS(754),
    [sym__string_middle] = ACTIONS(754),
    [sym__string_end] = ACTIONS(754),
    [sym_heredoc_beginning] = ACTIONS(754),
    [sym__element_reference_left_bracket] = ACTIONS(754),
    [sym__block_ampersand] = ACTIONS(754),
    [sym__splat_star] = ACTIONS(754),
    [sym__argument_list_left_paren] = ACTIONS(754),
    [sym__scope_double_colon] = ACTIONS(754),
    [sym__unary_minus] = ACTIONS(754),
    [sym__binary_minus] = ACTIONS(754),
    [sym__binary_star] = ACTIONS(754),
    [anon_sym_LBRACE] = ACTIONS(754),
    [anon_sym_def] = ACTIONS(756),
    [anon_sym_LPAREN] = ACTIONS(754),
    [anon_sym_DOT] = ACTIONS(756),
    [anon_sym_COLON_COLON] = ACTIONS(754),
    [anon_sym_end] = ACTIONS(756),
    [anon_sym_COMMA] = ACTIONS(754),
    [anon_sym_PIPE] = ACTIONS(756),
    [anon_sym_STAR] = ACTIONS(756),
    [anon_sym_STAR_STAR] = ACTIONS(756),
    [anon_sym_AMP] = ACTIONS(756),
    [anon_sym_EQ] = ACTIONS(756),
    [anon_sym_class] = ACTIONS(756),
    [anon_sym_LT] = ACTIONS(756),
    [anon_sym_module] = ACTIONS(756),
    [anon_sym_return] = ACTIONS(756),
    [anon_sym_yield] = ACTIONS(756),
    [anon_sym_break] = ACTIONS(756),
    [anon_sym_next] = ACTIONS(756),
    [anon_sym_redo] = ACTIONS(756),
    [anon_sym_retry] = ACTIONS(756),
    [anon_sym_if] = ACTIONS(756),
    [anon_sym_unless] = ACTIONS(756),
    [anon_sym_while] = ACTIONS(756),
    [anon_sym_until] = ACTIONS(756),
    [anon_sym_rescue] = ACTIONS(756),
    [anon_sym_for] = ACTIONS(756),
    [anon_sym_in] = ACTIONS(756),
    [anon_sym_do] = ACTIONS(756),
    [anon_sym_case] = ACTIONS(756),
    [anon_sym_when] = ACTIONS(756),
    [anon_sym_elsif] = ACTIONS(756),
    [anon_sym_else] = ACTIONS(756),
    [anon_sym_then] = ACTIONS(756),
    [anon_sym_begin] = ACTIONS(756),
    [anon_sym_ensure] = ACTIONS(756),
    [anon_sym_AMP_DOT] = ACTIONS(754),
    [anon_sym_PLUS_EQ] = ACTIONS(754),
    [anon_sym_DASH_EQ] = ACTIONS(754),
    [anon_sym_STAR_EQ] = ACTIONS(754),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(754),
    [anon_sym_SLASH_EQ] = ACTIONS(754),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(754),
    [anon_sym_PIPE_EQ] = ACTIONS(754),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(754),
    [anon_sym_AMP_EQ] = ACTIONS(754),
    [anon_sym_PERCENT_EQ] = ACTIONS(754),
    [anon_sym_GT_GT_EQ] = ACTIONS(754),
    [anon_sym_LT_LT_EQ] = ACTIONS(754),
    [anon_sym_CARET_EQ] = ACTIONS(754),
    [anon_sym_QMARK] = ACTIONS(756),
    [anon_sym_DOT_DOT] = ACTIONS(756),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(754),
    [anon_sym_and] = ACTIONS(756),
    [anon_sym_or] = ACTIONS(756),
    [anon_sym_PIPE_PIPE] = ACTIONS(756),
    [anon_sym_AMP_AMP] = ACTIONS(756),
    [anon_sym_LT_LT] = ACTIONS(756),
    [anon_sym_GT_GT] = ACTIONS(756),
    [anon_sym_EQ_EQ] = ACTIONS(756),
    [anon_sym_BANG_EQ] = ACTIONS(754),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(754),
    [anon_sym_LT_EQ_GT] = ACTIONS(754),
    [anon_sym_EQ_TILDE] = ACTIONS(754),
    [anon_sym_BANG_TILDE] = ACTIONS(754),
    [anon_sym_LT_EQ] = ACTIONS(756),
    [anon_sym_GT] = ACTIONS(756),
    [anon_sym_GT_EQ] = ACTIONS(754),
    [anon_sym_CARET] = ACTIONS(756),
    [anon_sym_PLUS] = ACTIONS(756),
    [anon_sym_SLASH] = ACTIONS(756),
    [anon_sym_PERCENT] = ACTIONS(756),
    [anon_sym_defined_QMARK] = ACTIONS(754),
    [anon_sym_not] = ACTIONS(756),
    [anon_sym_BANG] = ACTIONS(756),
    [anon_sym_TILDE] = ACTIONS(754),
    [sym_constant] = ACTIONS(758),
    [sym_identifier] = ACTIONS(758),
    [sym_instance_variable] = ACTIONS(756),
    [sym_class_variable] = ACTIONS(756),
    [sym_global_variable] = ACTIONS(756),
    [anon_sym_alias] = ACTIONS(756),
    [anon_sym_defined] = ACTIONS(756),
    [anon_sym_false] = ACTIONS(756),
    [anon_sym_nil] = ACTIONS(756),
    [anon_sym_self] = ACTIONS(756),
    [anon_sym_super] = ACTIONS(756),
    [anon_sym_true] = ACTIONS(756),
    [anon_sym_undef] = ACTIONS(756),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(756),
    [sym_float] = ACTIONS(758),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(754),
    [anon_sym_TRUE] = ACTIONS(756),
    [anon_sym_FALSE] = ACTIONS(756),
    [anon_sym_NIL] = ACTIONS(756),
    [sym_keyword__FILE__] = ACTIONS(756),
    [sym_keyword__LINE__] = ACTIONS(756),
    [sym_keyword__ENCODING__] = ACTIONS(756),
    [sym__character_literal] = ACTIONS(756),
    [anon_sym_LBRACK] = ACTIONS(754),
    [anon_sym_DASH_GT] = ACTIONS(754),
  },
  [2279] = {
    [sym__simple_heredoc_body] = ACTIONS(760),
    [sym__heredoc_body_beginning] = ACTIONS(760),
    [sym__string_middle] = ACTIONS(760),
    [sym__string_end] = ACTIONS(760),
    [sym__element_reference_left_bracket] = ACTIONS(760),
    [sym__scope_double_colon] = ACTIONS(760),
    [sym__binary_minus] = ACTIONS(760),
    [sym__binary_star] = ACTIONS(760),
    [anon_sym_LBRACE] = ACTIONS(760),
    [anon_sym_DOT] = ACTIONS(762),
    [anon_sym_COMMA] = ACTIONS(760),
    [anon_sym_PIPE] = ACTIONS(762),
    [anon_sym_STAR_STAR] = ACTIONS(762),
    [anon_sym_AMP] = ACTIONS(762),
    [anon_sym_EQ] = ACTIONS(762),
    [anon_sym_LT] = ACTIONS(762),
    [anon_sym_if] = ACTIONS(760),
    [anon_sym_unless] = ACTIONS(760),
    [anon_sym_while] = ACTIONS(760),
    [anon_sym_until] = ACTIONS(760),
    [anon_sym_rescue] = ACTIONS(760),
    [anon_sym_do] = ACTIONS(760),
    [anon_sym_AMP_DOT] = ACTIONS(760),
    [anon_sym_PLUS_EQ] = ACTIONS(760),
    [anon_sym_DASH_EQ] = ACTIONS(760),
    [anon_sym_STAR_EQ] = ACTIONS(760),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(760),
    [anon_sym_SLASH_EQ] = ACTIONS(760),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(760),
    [anon_sym_PIPE_EQ] = ACTIONS(760),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(760),
    [anon_sym_AMP_EQ] = ACTIONS(760),
    [anon_sym_PERCENT_EQ] = ACTIONS(760),
    [anon_sym_GT_GT_EQ] = ACTIONS(760),
    [anon_sym_LT_LT_EQ] = ACTIONS(760),
    [anon_sym_CARET_EQ] = ACTIONS(760),
    [anon_sym_QMARK] = ACTIONS(760),
    [anon_sym_DOT_DOT] = ACTIONS(762),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(760),
    [anon_sym_and] = ACTIONS(760),
    [anon_sym_or] = ACTIONS(760),
    [anon_sym_PIPE_PIPE] = ACTIONS(762),
    [anon_sym_AMP_AMP] = ACTIONS(762),
    [anon_sym_LT_LT] = ACTIONS(762),
    [anon_sym_GT_GT] = ACTIONS(762),
    [anon_sym_EQ_EQ] = ACTIONS(762),
    [anon_sym_BANG_EQ] = ACTIONS(760),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(760),
    [anon_sym_LT_EQ_GT] = ACTIONS(760),
    [anon_sym_EQ_TILDE] = ACTIONS(760),
    [anon_sym_BANG_TILDE] = ACTIONS(760),
    [anon_sym_LT_EQ] = ACTIONS(762),
    [anon_sym_GT] = ACTIONS(762),
    [anon_sym_GT_EQ] = ACTIONS(760),
    [anon_sym_CARET] = ACTIONS(762),
    [anon_sym_PLUS] = ACTIONS(762),
    [anon_sym_SLASH] = ACTIONS(762),
    [anon_sym_PERCENT] = ACTIONS(762),
    [sym_comment] = ACTIONS(256),
  },
  [2280] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__string_middle] = ACTIONS(5298),
    [sym__string_end] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(7382),
    [sym__binary_star] = ACTIONS(7384),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(7386),
    [anon_sym_STAR_STAR] = ACTIONS(7388),
    [anon_sym_AMP] = ACTIONS(7390),
    [anon_sym_LT] = ACTIONS(7392),
    [anon_sym_if] = ACTIONS(5298),
    [anon_sym_unless] = ACTIONS(5298),
    [anon_sym_while] = ACTIONS(5298),
    [anon_sym_until] = ACTIONS(5298),
    [anon_sym_rescue] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(7394),
    [anon_sym_DOT_DOT] = ACTIONS(7396),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7398),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(7400),
    [anon_sym_AMP_AMP] = ACTIONS(7400),
    [anon_sym_LT_LT] = ACTIONS(7402),
    [anon_sym_GT_GT] = ACTIONS(7402),
    [anon_sym_EQ_EQ] = ACTIONS(7404),
    [anon_sym_BANG_EQ] = ACTIONS(7400),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7400),
    [anon_sym_LT_EQ_GT] = ACTIONS(7400),
    [anon_sym_EQ_TILDE] = ACTIONS(7400),
    [anon_sym_BANG_TILDE] = ACTIONS(7400),
    [anon_sym_LT_EQ] = ACTIONS(7392),
    [anon_sym_GT] = ACTIONS(7392),
    [anon_sym_GT_EQ] = ACTIONS(7406),
    [anon_sym_CARET] = ACTIONS(7408),
    [anon_sym_PLUS] = ACTIONS(7410),
    [anon_sym_SLASH] = ACTIONS(7388),
    [anon_sym_PERCENT] = ACTIONS(7388),
    [sym_comment] = ACTIONS(110),
  },
  [2281] = {
    [sym__simple_heredoc_body] = ACTIONS(968),
    [sym__heredoc_body_beginning] = ACTIONS(968),
    [sym__string_middle] = ACTIONS(968),
    [sym__string_end] = ACTIONS(968),
    [sym__element_reference_left_bracket] = ACTIONS(7412),
    [sym__scope_double_colon] = ACTIONS(7414),
    [sym__binary_minus] = ACTIONS(968),
    [sym__binary_star] = ACTIONS(968),
    [anon_sym_DOT] = ACTIONS(7416),
    [anon_sym_COMMA] = ACTIONS(968),
    [anon_sym_PIPE] = ACTIONS(976),
    [anon_sym_STAR_STAR] = ACTIONS(968),
    [anon_sym_AMP] = ACTIONS(976),
    [anon_sym_LT] = ACTIONS(976),
    [anon_sym_if] = ACTIONS(968),
    [anon_sym_unless] = ACTIONS(968),
    [anon_sym_while] = ACTIONS(968),
    [anon_sym_until] = ACTIONS(968),
    [anon_sym_rescue] = ACTIONS(968),
    [anon_sym_AMP_DOT] = ACTIONS(7418),
    [anon_sym_QMARK] = ACTIONS(968),
    [anon_sym_DOT_DOT] = ACTIONS(976),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(968),
    [anon_sym_and] = ACTIONS(968),
    [anon_sym_or] = ACTIONS(968),
    [anon_sym_PIPE_PIPE] = ACTIONS(968),
    [anon_sym_AMP_AMP] = ACTIONS(968),
    [anon_sym_LT_LT] = ACTIONS(968),
    [anon_sym_GT_GT] = ACTIONS(968),
    [anon_sym_EQ_EQ] = ACTIONS(976),
    [anon_sym_BANG_EQ] = ACTIONS(968),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(968),
    [anon_sym_LT_EQ_GT] = ACTIONS(968),
    [anon_sym_EQ_TILDE] = ACTIONS(968),
    [anon_sym_BANG_TILDE] = ACTIONS(968),
    [anon_sym_LT_EQ] = ACTIONS(976),
    [anon_sym_GT] = ACTIONS(976),
    [anon_sym_GT_EQ] = ACTIONS(968),
    [anon_sym_CARET] = ACTIONS(968),
    [anon_sym_PLUS] = ACTIONS(968),
    [anon_sym_SLASH] = ACTIONS(968),
    [anon_sym_PERCENT] = ACTIONS(968),
    [sym_comment] = ACTIONS(110),
  },
  [2282] = {
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym__string_middle] = ACTIONS(980),
    [sym__string_end] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(980),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_if] = ACTIONS(980),
    [anon_sym_unless] = ACTIONS(980),
    [anon_sym_while] = ACTIONS(980),
    [anon_sym_until] = ACTIONS(980),
    [anon_sym_rescue] = ACTIONS(980),
    [anon_sym_do] = ACTIONS(980),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(980),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(980),
    [anon_sym_or] = ACTIONS(980),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [sym_comment] = ACTIONS(256),
  },
  [2283] = {
    [sym_method] = STATE(769),
    [sym_singleton_method] = STATE(769),
    [sym_class] = STATE(769),
    [sym_singleton_class] = STATE(769),
    [sym_module] = STATE(769),
    [sym_return] = STATE(769),
    [sym_yield] = STATE(769),
    [sym_break] = STATE(769),
    [sym_next] = STATE(769),
    [sym_redo] = STATE(769),
    [sym_retry] = STATE(769),
    [sym_while] = STATE(769),
    [sym_until] = STATE(769),
    [sym_for] = STATE(769),
    [sym_case] = STATE(769),
    [sym_if] = STATE(769),
    [sym_unless] = STATE(769),
    [sym_begin] = STATE(769),
    [sym__arg] = STATE(803),
    [sym__primary] = STATE(804),
    [sym_parenthesized_statements] = STATE(769),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(805),
    [sym_call] = STATE(805),
    [sym_method_call] = STATE(694),
    [sym_argument_list] = STATE(5149),
    [sym__argument_list_with_parens] = STATE(807),
    [sym__argument] = STATE(808),
    [sym_splat_argument] = STATE(809),
    [sym_hash_splat_argument] = STATE(809),
    [sym_block_argument] = STATE(809),
    [sym_do_block] = STATE(5150),
    [sym_block] = STATE(5150),
    [sym_assignment] = STATE(811),
    [sym_operator_assignment] = STATE(811),
    [sym_conditional] = STATE(811),
    [sym_range] = STATE(811),
    [sym_binary] = STATE(811),
    [sym_unary] = STATE(811),
    [sym_left_assignment_list] = STATE(812),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(813),
    [sym__variable] = STATE(805),
    [sym_reserved_identifier] = STATE(814),
    [sym_symbol] = STATE(769),
    [sym_complex] = STATE(769),
    [sym_rational] = STATE(769),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(769),
    [sym_string] = STATE(815),
    [sym_subshell] = STATE(769),
    [sym_array] = STATE(769),
    [sym_hash] = STATE(769),
    [sym_pair] = STATE(809),
    [sym_regex] = STATE(769),
    [sym_lambda] = STATE(769),
    [sym__simple_string] = ACTIONS(1274),
    [sym__simple_symbol] = ACTIONS(1276),
    [sym__simple_subshell] = ACTIONS(1278),
    [sym__simple_regex] = ACTIONS(1280),
    [sym__simple_word_list] = ACTIONS(1282),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(1284),
    [sym__symbol_beginning] = ACTIONS(1286),
    [sym__subshell_beginning] = ACTIONS(1288),
    [sym__regex_beginning] = ACTIONS(1290),
    [sym__word_list_beginning] = ACTIONS(1292),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym__string_middle] = ACTIONS(980),
    [sym__string_end] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1294),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(1296),
    [sym__splat_star] = ACTIONS(1298),
    [sym__argument_list_left_paren] = ACTIONS(1300),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(1302),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(7420),
    [anon_sym_def] = ACTIONS(1306),
    [anon_sym_LPAREN] = ACTIONS(1308),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1310),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1312),
    [anon_sym_return] = ACTIONS(1314),
    [anon_sym_yield] = ACTIONS(1316),
    [anon_sym_break] = ACTIONS(1318),
    [anon_sym_next] = ACTIONS(1320),
    [anon_sym_redo] = ACTIONS(1322),
    [anon_sym_retry] = ACTIONS(1324),
    [anon_sym_if] = ACTIONS(982),
    [anon_sym_unless] = ACTIONS(982),
    [anon_sym_while] = ACTIONS(982),
    [anon_sym_until] = ACTIONS(982),
    [anon_sym_rescue] = ACTIONS(982),
    [anon_sym_for] = ACTIONS(1326),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(7422),
    [anon_sym_case] = ACTIONS(1330),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1332),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(1334),
    [anon_sym_not] = ACTIONS(1336),
    [anon_sym_BANG] = ACTIONS(1338),
    [anon_sym_TILDE] = ACTIONS(1340),
    [sym_constant] = ACTIONS(1342),
    [sym_identifier] = ACTIONS(1342),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(1168),
    [anon_sym_nil] = ACTIONS(1170),
    [anon_sym_self] = ACTIONS(1172),
    [anon_sym_super] = ACTIONS(1174),
    [anon_sym_true] = ACTIONS(1176),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1344),
    [sym_float] = ACTIONS(1346),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1348),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1350),
    [sym_keyword__LINE__] = ACTIONS(1350),
    [sym_keyword__ENCODING__] = ACTIONS(1350),
    [sym__character_literal] = ACTIONS(1352),
    [anon_sym_LBRACK] = ACTIONS(1354),
    [anon_sym_DASH_GT] = ACTIONS(1356),
  },
  [2284] = {
    [anon_sym_EQ] = ACTIONS(7424),
    [sym_comment] = ACTIONS(256),
  },
  [2285] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__string_middle] = ACTIONS(250),
    [sym__string_end] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(7426),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(7428),
    [anon_sym_DASH_EQ] = ACTIONS(7428),
    [anon_sym_STAR_EQ] = ACTIONS(7428),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7428),
    [anon_sym_SLASH_EQ] = ACTIONS(7428),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7428),
    [anon_sym_PIPE_EQ] = ACTIONS(7428),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7428),
    [anon_sym_AMP_EQ] = ACTIONS(7428),
    [anon_sym_PERCENT_EQ] = ACTIONS(7428),
    [anon_sym_GT_GT_EQ] = ACTIONS(7428),
    [anon_sym_LT_LT_EQ] = ACTIONS(7428),
    [anon_sym_CARET_EQ] = ACTIONS(7428),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [2286] = {
    [sym_string] = STATE(2388),
    [aux_sym_chained_string_repeat1] = STATE(2389),
    [sym__simple_string] = ACTIONS(3410),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(3412),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__string_middle] = ACTIONS(250),
    [sym__string_end] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(3472),
  },
  [2287] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__string_middle] = ACTIONS(5338),
    [sym__string_end] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(7382),
    [sym__binary_star] = ACTIONS(7384),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(7386),
    [anon_sym_STAR_STAR] = ACTIONS(7388),
    [anon_sym_AMP] = ACTIONS(7390),
    [anon_sym_LT] = ACTIONS(7392),
    [anon_sym_if] = ACTIONS(5338),
    [anon_sym_unless] = ACTIONS(5338),
    [anon_sym_while] = ACTIONS(5338),
    [anon_sym_until] = ACTIONS(5338),
    [anon_sym_rescue] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(7394),
    [anon_sym_DOT_DOT] = ACTIONS(7396),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7398),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(7400),
    [anon_sym_AMP_AMP] = ACTIONS(7400),
    [anon_sym_LT_LT] = ACTIONS(7402),
    [anon_sym_GT_GT] = ACTIONS(7402),
    [anon_sym_EQ_EQ] = ACTIONS(7404),
    [anon_sym_BANG_EQ] = ACTIONS(7400),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7400),
    [anon_sym_LT_EQ_GT] = ACTIONS(7400),
    [anon_sym_EQ_TILDE] = ACTIONS(7400),
    [anon_sym_BANG_TILDE] = ACTIONS(7400),
    [anon_sym_LT_EQ] = ACTIONS(7392),
    [anon_sym_GT] = ACTIONS(7392),
    [anon_sym_GT_EQ] = ACTIONS(7406),
    [anon_sym_CARET] = ACTIONS(7408),
    [anon_sym_PLUS] = ACTIONS(7410),
    [anon_sym_SLASH] = ACTIONS(7388),
    [anon_sym_PERCENT] = ACTIONS(7388),
    [sym_comment] = ACTIONS(110),
  },
  [2288] = {
    [sym__simple_heredoc_body] = ACTIONS(5370),
    [sym__heredoc_body_beginning] = ACTIONS(5370),
    [sym__string_middle] = ACTIONS(5370),
    [sym__string_end] = ACTIONS(5370),
    [sym__element_reference_left_bracket] = ACTIONS(5370),
    [sym__scope_double_colon] = ACTIONS(5370),
    [sym__binary_minus] = ACTIONS(5370),
    [sym__binary_star] = ACTIONS(5370),
    [anon_sym_DOT] = ACTIONS(5372),
    [anon_sym_COMMA] = ACTIONS(5370),
    [anon_sym_PIPE] = ACTIONS(5372),
    [anon_sym_STAR_STAR] = ACTIONS(5370),
    [anon_sym_AMP] = ACTIONS(5372),
    [anon_sym_LT] = ACTIONS(5372),
    [anon_sym_if] = ACTIONS(5370),
    [anon_sym_unless] = ACTIONS(5370),
    [anon_sym_while] = ACTIONS(5370),
    [anon_sym_until] = ACTIONS(5370),
    [anon_sym_rescue] = ACTIONS(5370),
    [anon_sym_EQ_GT] = ACTIONS(5370),
    [anon_sym_AMP_DOT] = ACTIONS(5370),
    [anon_sym_QMARK] = ACTIONS(5370),
    [anon_sym_DOT_DOT] = ACTIONS(5372),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5370),
    [anon_sym_and] = ACTIONS(5370),
    [anon_sym_or] = ACTIONS(5370),
    [anon_sym_PIPE_PIPE] = ACTIONS(5370),
    [anon_sym_AMP_AMP] = ACTIONS(5370),
    [anon_sym_LT_LT] = ACTIONS(5370),
    [anon_sym_GT_GT] = ACTIONS(5370),
    [anon_sym_EQ_EQ] = ACTIONS(5372),
    [anon_sym_BANG_EQ] = ACTIONS(5370),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5370),
    [anon_sym_LT_EQ_GT] = ACTIONS(5370),
    [anon_sym_EQ_TILDE] = ACTIONS(5370),
    [anon_sym_BANG_TILDE] = ACTIONS(5370),
    [anon_sym_LT_EQ] = ACTIONS(5372),
    [anon_sym_GT] = ACTIONS(5372),
    [anon_sym_GT_EQ] = ACTIONS(5370),
    [anon_sym_CARET] = ACTIONS(5370),
    [anon_sym_PLUS] = ACTIONS(5370),
    [anon_sym_SLASH] = ACTIONS(5370),
    [anon_sym_PERCENT] = ACTIONS(5370),
    [sym_comment] = ACTIONS(110),
  },
  [2289] = {
    [sym_heredoc_end] = STATE(5154),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RPAREN] = ACTIONS(7430),
    [sym_comment] = ACTIONS(110),
  },
  [2290] = {
    [anon_sym_RPAREN] = ACTIONS(7430),
    [sym_comment] = ACTIONS(110),
  },
  [2291] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(2318),
    [sym__primary] = STATE(693),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(695),
    [sym_call] = STATE(695),
    [sym_method_call] = STATE(694),
    [sym_argument_list] = STATE(2319),
    [sym__argument_list_with_parens] = STATE(697),
    [sym__argument] = STATE(2320),
    [sym_splat_argument] = STATE(699),
    [sym_hash_splat_argument] = STATE(699),
    [sym_block_argument] = STATE(699),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(701),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(702),
    [sym__variable] = STATE(695),
    [sym_reserved_identifier] = STATE(2321),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2322),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_pair] = STATE(699),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(1096),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(1106),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym__string_middle] = ACTIONS(532),
    [sym__string_end] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(3508),
    [sym__splat_star] = ACTIONS(3510),
    [sym__argument_list_left_paren] = ACTIONS(1122),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(1124),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(1128),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(1134),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(1136),
    [anon_sym_return] = ACTIONS(1138),
    [anon_sym_yield] = ACTIONS(1140),
    [anon_sym_break] = ACTIONS(1142),
    [anon_sym_next] = ACTIONS(1144),
    [anon_sym_redo] = ACTIONS(1146),
    [anon_sym_retry] = ACTIONS(1148),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(1150),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1152),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1154),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(1156),
    [anon_sym_not] = ACTIONS(1158),
    [anon_sym_BANG] = ACTIONS(1160),
    [anon_sym_TILDE] = ACTIONS(1162),
    [sym_constant] = ACTIONS(3512),
    [sym_identifier] = ACTIONS(3512),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(1168),
    [anon_sym_nil] = ACTIONS(1170),
    [anon_sym_self] = ACTIONS(1172),
    [anon_sym_super] = ACTIONS(1174),
    [anon_sym_true] = ACTIONS(1176),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(1192),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [2292] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(2318),
    [sym__primary] = STATE(693),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(695),
    [sym_call] = STATE(695),
    [sym_method_call] = STATE(694),
    [sym_argument_list] = STATE(2323),
    [sym__argument_list_with_parens] = STATE(697),
    [sym__argument] = STATE(2320),
    [sym_splat_argument] = STATE(699),
    [sym_hash_splat_argument] = STATE(699),
    [sym_block_argument] = STATE(699),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(701),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(702),
    [sym__variable] = STATE(695),
    [sym_reserved_identifier] = STATE(2321),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2322),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_pair] = STATE(699),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(1096),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(1106),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym__string_middle] = ACTIONS(602),
    [sym__string_end] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(3508),
    [sym__splat_star] = ACTIONS(3510),
    [sym__argument_list_left_paren] = ACTIONS(1122),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(1124),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(1128),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(1134),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(1136),
    [anon_sym_return] = ACTIONS(1138),
    [anon_sym_yield] = ACTIONS(1140),
    [anon_sym_break] = ACTIONS(1142),
    [anon_sym_next] = ACTIONS(1144),
    [anon_sym_redo] = ACTIONS(1146),
    [anon_sym_retry] = ACTIONS(1148),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(1150),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1152),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1154),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(1156),
    [anon_sym_not] = ACTIONS(1158),
    [anon_sym_BANG] = ACTIONS(1160),
    [anon_sym_TILDE] = ACTIONS(1162),
    [sym_constant] = ACTIONS(3512),
    [sym_identifier] = ACTIONS(3512),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(1168),
    [anon_sym_nil] = ACTIONS(1170),
    [anon_sym_self] = ACTIONS(1172),
    [anon_sym_super] = ACTIONS(1174),
    [anon_sym_true] = ACTIONS(1176),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(1192),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [2293] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(2318),
    [sym__primary] = STATE(693),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(695),
    [sym_call] = STATE(695),
    [sym_method_call] = STATE(694),
    [sym_argument_list] = STATE(2324),
    [sym__argument_list_with_parens] = STATE(697),
    [sym__argument] = STATE(2320),
    [sym_splat_argument] = STATE(699),
    [sym_hash_splat_argument] = STATE(699),
    [sym_block_argument] = STATE(699),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(701),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(702),
    [sym__variable] = STATE(695),
    [sym_reserved_identifier] = STATE(2321),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2322),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_pair] = STATE(699),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(1096),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(1106),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym__string_middle] = ACTIONS(606),
    [sym__string_end] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(3508),
    [sym__splat_star] = ACTIONS(3510),
    [sym__argument_list_left_paren] = ACTIONS(1122),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(1124),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(1128),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(1134),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(1136),
    [anon_sym_return] = ACTIONS(1138),
    [anon_sym_yield] = ACTIONS(1140),
    [anon_sym_break] = ACTIONS(1142),
    [anon_sym_next] = ACTIONS(1144),
    [anon_sym_redo] = ACTIONS(1146),
    [anon_sym_retry] = ACTIONS(1148),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(1150),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1152),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1154),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(1156),
    [anon_sym_not] = ACTIONS(1158),
    [anon_sym_BANG] = ACTIONS(1160),
    [anon_sym_TILDE] = ACTIONS(1162),
    [sym_constant] = ACTIONS(3512),
    [sym_identifier] = ACTIONS(3512),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(1168),
    [anon_sym_nil] = ACTIONS(1170),
    [anon_sym_self] = ACTIONS(1172),
    [anon_sym_super] = ACTIONS(1174),
    [anon_sym_true] = ACTIONS(1176),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(1192),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [2294] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(2318),
    [sym__primary] = STATE(693),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(695),
    [sym_call] = STATE(695),
    [sym_method_call] = STATE(694),
    [sym_argument_list] = STATE(2325),
    [sym__argument_list_with_parens] = STATE(697),
    [sym__argument] = STATE(2320),
    [sym_splat_argument] = STATE(699),
    [sym_hash_splat_argument] = STATE(699),
    [sym_block_argument] = STATE(699),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(701),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(702),
    [sym__variable] = STATE(695),
    [sym_reserved_identifier] = STATE(2321),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2322),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_pair] = STATE(699),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(1096),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(1106),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym__string_middle] = ACTIONS(610),
    [sym__string_end] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(3508),
    [sym__splat_star] = ACTIONS(3510),
    [sym__argument_list_left_paren] = ACTIONS(1122),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(1124),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(1128),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(1134),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(1136),
    [anon_sym_return] = ACTIONS(1138),
    [anon_sym_yield] = ACTIONS(1140),
    [anon_sym_break] = ACTIONS(1142),
    [anon_sym_next] = ACTIONS(1144),
    [anon_sym_redo] = ACTIONS(1146),
    [anon_sym_retry] = ACTIONS(1148),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(1150),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1152),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1154),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(1156),
    [anon_sym_not] = ACTIONS(1158),
    [anon_sym_BANG] = ACTIONS(1160),
    [anon_sym_TILDE] = ACTIONS(1162),
    [sym_constant] = ACTIONS(3512),
    [sym_identifier] = ACTIONS(3512),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(1168),
    [anon_sym_nil] = ACTIONS(1170),
    [anon_sym_self] = ACTIONS(1172),
    [anon_sym_super] = ACTIONS(1174),
    [anon_sym_true] = ACTIONS(1176),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(1192),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [2295] = {
    [sym__simple_string] = ACTIONS(748),
    [sym__simple_symbol] = ACTIONS(748),
    [sym__simple_subshell] = ACTIONS(748),
    [sym__simple_regex] = ACTIONS(748),
    [sym__simple_word_list] = ACTIONS(748),
    [sym__simple_heredoc_body] = ACTIONS(748),
    [sym__string_beginning] = ACTIONS(748),
    [sym__symbol_beginning] = ACTIONS(748),
    [sym__subshell_beginning] = ACTIONS(748),
    [sym__regex_beginning] = ACTIONS(748),
    [sym__word_list_beginning] = ACTIONS(748),
    [sym__heredoc_body_beginning] = ACTIONS(748),
    [sym__string_middle] = ACTIONS(748),
    [sym__string_end] = ACTIONS(748),
    [sym_heredoc_beginning] = ACTIONS(748),
    [sym__element_reference_left_bracket] = ACTIONS(748),
    [sym__block_ampersand] = ACTIONS(748),
    [sym__splat_star] = ACTIONS(748),
    [sym__argument_list_left_paren] = ACTIONS(748),
    [sym__scope_double_colon] = ACTIONS(748),
    [sym__unary_minus] = ACTIONS(748),
    [sym__binary_minus] = ACTIONS(748),
    [sym__binary_star] = ACTIONS(748),
    [anon_sym_LBRACE] = ACTIONS(748),
    [anon_sym_def] = ACTIONS(750),
    [anon_sym_LPAREN] = ACTIONS(748),
    [anon_sym_DOT] = ACTIONS(750),
    [anon_sym_COLON_COLON] = ACTIONS(748),
    [anon_sym_end] = ACTIONS(750),
    [anon_sym_COMMA] = ACTIONS(748),
    [anon_sym_PIPE] = ACTIONS(750),
    [anon_sym_STAR] = ACTIONS(750),
    [anon_sym_STAR_STAR] = ACTIONS(750),
    [anon_sym_AMP] = ACTIONS(750),
    [anon_sym_EQ] = ACTIONS(750),
    [anon_sym_class] = ACTIONS(750),
    [anon_sym_LT] = ACTIONS(750),
    [anon_sym_module] = ACTIONS(750),
    [anon_sym_return] = ACTIONS(750),
    [anon_sym_yield] = ACTIONS(750),
    [anon_sym_break] = ACTIONS(750),
    [anon_sym_next] = ACTIONS(750),
    [anon_sym_redo] = ACTIONS(750),
    [anon_sym_retry] = ACTIONS(750),
    [anon_sym_if] = ACTIONS(750),
    [anon_sym_unless] = ACTIONS(750),
    [anon_sym_while] = ACTIONS(750),
    [anon_sym_until] = ACTIONS(750),
    [anon_sym_rescue] = ACTIONS(750),
    [anon_sym_for] = ACTIONS(750),
    [anon_sym_in] = ACTIONS(750),
    [anon_sym_do] = ACTIONS(750),
    [anon_sym_case] = ACTIONS(750),
    [anon_sym_when] = ACTIONS(750),
    [anon_sym_elsif] = ACTIONS(750),
    [anon_sym_else] = ACTIONS(750),
    [anon_sym_then] = ACTIONS(750),
    [anon_sym_begin] = ACTIONS(750),
    [anon_sym_ensure] = ACTIONS(750),
    [anon_sym_EQ_GT] = ACTIONS(748),
    [anon_sym_AMP_DOT] = ACTIONS(748),
    [anon_sym_PLUS_EQ] = ACTIONS(748),
    [anon_sym_DASH_EQ] = ACTIONS(748),
    [anon_sym_STAR_EQ] = ACTIONS(748),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(748),
    [anon_sym_SLASH_EQ] = ACTIONS(748),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(748),
    [anon_sym_PIPE_EQ] = ACTIONS(748),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(748),
    [anon_sym_AMP_EQ] = ACTIONS(748),
    [anon_sym_PERCENT_EQ] = ACTIONS(748),
    [anon_sym_GT_GT_EQ] = ACTIONS(748),
    [anon_sym_LT_LT_EQ] = ACTIONS(748),
    [anon_sym_CARET_EQ] = ACTIONS(748),
    [anon_sym_QMARK] = ACTIONS(750),
    [anon_sym_DOT_DOT] = ACTIONS(750),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(748),
    [anon_sym_and] = ACTIONS(750),
    [anon_sym_or] = ACTIONS(750),
    [anon_sym_PIPE_PIPE] = ACTIONS(750),
    [anon_sym_AMP_AMP] = ACTIONS(750),
    [anon_sym_LT_LT] = ACTIONS(750),
    [anon_sym_GT_GT] = ACTIONS(750),
    [anon_sym_EQ_EQ] = ACTIONS(750),
    [anon_sym_BANG_EQ] = ACTIONS(748),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(748),
    [anon_sym_LT_EQ_GT] = ACTIONS(748),
    [anon_sym_EQ_TILDE] = ACTIONS(748),
    [anon_sym_BANG_TILDE] = ACTIONS(748),
    [anon_sym_LT_EQ] = ACTIONS(750),
    [anon_sym_GT] = ACTIONS(750),
    [anon_sym_GT_EQ] = ACTIONS(748),
    [anon_sym_CARET] = ACTIONS(750),
    [anon_sym_PLUS] = ACTIONS(750),
    [anon_sym_SLASH] = ACTIONS(750),
    [anon_sym_PERCENT] = ACTIONS(750),
    [anon_sym_defined_QMARK] = ACTIONS(748),
    [anon_sym_not] = ACTIONS(750),
    [anon_sym_BANG] = ACTIONS(750),
    [anon_sym_TILDE] = ACTIONS(748),
    [sym_constant] = ACTIONS(752),
    [sym_identifier] = ACTIONS(752),
    [sym_instance_variable] = ACTIONS(750),
    [sym_class_variable] = ACTIONS(750),
    [sym_global_variable] = ACTIONS(750),
    [anon_sym_alias] = ACTIONS(750),
    [anon_sym_defined] = ACTIONS(750),
    [anon_sym_false] = ACTIONS(750),
    [anon_sym_nil] = ACTIONS(750),
    [anon_sym_self] = ACTIONS(750),
    [anon_sym_super] = ACTIONS(750),
    [anon_sym_true] = ACTIONS(750),
    [anon_sym_undef] = ACTIONS(750),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(750),
    [sym_float] = ACTIONS(752),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(748),
    [anon_sym_TRUE] = ACTIONS(750),
    [anon_sym_FALSE] = ACTIONS(750),
    [anon_sym_NIL] = ACTIONS(750),
    [sym_keyword__FILE__] = ACTIONS(750),
    [sym_keyword__LINE__] = ACTIONS(750),
    [sym_keyword__ENCODING__] = ACTIONS(750),
    [sym__character_literal] = ACTIONS(750),
    [anon_sym_LBRACK] = ACTIONS(748),
    [anon_sym_DASH_GT] = ACTIONS(748),
  },
  [2296] = {
    [sym__simple_string] = ACTIONS(754),
    [sym__simple_symbol] = ACTIONS(754),
    [sym__simple_subshell] = ACTIONS(754),
    [sym__simple_regex] = ACTIONS(754),
    [sym__simple_word_list] = ACTIONS(754),
    [sym__simple_heredoc_body] = ACTIONS(754),
    [sym__string_beginning] = ACTIONS(754),
    [sym__symbol_beginning] = ACTIONS(754),
    [sym__subshell_beginning] = ACTIONS(754),
    [sym__regex_beginning] = ACTIONS(754),
    [sym__word_list_beginning] = ACTIONS(754),
    [sym__heredoc_body_beginning] = ACTIONS(754),
    [sym__string_middle] = ACTIONS(754),
    [sym__string_end] = ACTIONS(754),
    [sym_heredoc_beginning] = ACTIONS(754),
    [sym__element_reference_left_bracket] = ACTIONS(754),
    [sym__block_ampersand] = ACTIONS(754),
    [sym__splat_star] = ACTIONS(754),
    [sym__argument_list_left_paren] = ACTIONS(754),
    [sym__scope_double_colon] = ACTIONS(754),
    [sym__unary_minus] = ACTIONS(754),
    [sym__binary_minus] = ACTIONS(754),
    [sym__binary_star] = ACTIONS(754),
    [anon_sym_LBRACE] = ACTIONS(754),
    [anon_sym_def] = ACTIONS(756),
    [anon_sym_LPAREN] = ACTIONS(754),
    [anon_sym_DOT] = ACTIONS(756),
    [anon_sym_COLON_COLON] = ACTIONS(754),
    [anon_sym_end] = ACTIONS(756),
    [anon_sym_COMMA] = ACTIONS(754),
    [anon_sym_PIPE] = ACTIONS(756),
    [anon_sym_STAR] = ACTIONS(756),
    [anon_sym_STAR_STAR] = ACTIONS(756),
    [anon_sym_AMP] = ACTIONS(756),
    [anon_sym_EQ] = ACTIONS(756),
    [anon_sym_class] = ACTIONS(756),
    [anon_sym_LT] = ACTIONS(756),
    [anon_sym_module] = ACTIONS(756),
    [anon_sym_return] = ACTIONS(756),
    [anon_sym_yield] = ACTIONS(756),
    [anon_sym_break] = ACTIONS(756),
    [anon_sym_next] = ACTIONS(756),
    [anon_sym_redo] = ACTIONS(756),
    [anon_sym_retry] = ACTIONS(756),
    [anon_sym_if] = ACTIONS(756),
    [anon_sym_unless] = ACTIONS(756),
    [anon_sym_while] = ACTIONS(756),
    [anon_sym_until] = ACTIONS(756),
    [anon_sym_rescue] = ACTIONS(756),
    [anon_sym_for] = ACTIONS(756),
    [anon_sym_in] = ACTIONS(756),
    [anon_sym_do] = ACTIONS(756),
    [anon_sym_case] = ACTIONS(756),
    [anon_sym_when] = ACTIONS(756),
    [anon_sym_elsif] = ACTIONS(756),
    [anon_sym_else] = ACTIONS(756),
    [anon_sym_then] = ACTIONS(756),
    [anon_sym_begin] = ACTIONS(756),
    [anon_sym_ensure] = ACTIONS(756),
    [anon_sym_EQ_GT] = ACTIONS(754),
    [anon_sym_AMP_DOT] = ACTIONS(754),
    [anon_sym_PLUS_EQ] = ACTIONS(754),
    [anon_sym_DASH_EQ] = ACTIONS(754),
    [anon_sym_STAR_EQ] = ACTIONS(754),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(754),
    [anon_sym_SLASH_EQ] = ACTIONS(754),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(754),
    [anon_sym_PIPE_EQ] = ACTIONS(754),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(754),
    [anon_sym_AMP_EQ] = ACTIONS(754),
    [anon_sym_PERCENT_EQ] = ACTIONS(754),
    [anon_sym_GT_GT_EQ] = ACTIONS(754),
    [anon_sym_LT_LT_EQ] = ACTIONS(754),
    [anon_sym_CARET_EQ] = ACTIONS(754),
    [anon_sym_QMARK] = ACTIONS(756),
    [anon_sym_DOT_DOT] = ACTIONS(756),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(754),
    [anon_sym_and] = ACTIONS(756),
    [anon_sym_or] = ACTIONS(756),
    [anon_sym_PIPE_PIPE] = ACTIONS(756),
    [anon_sym_AMP_AMP] = ACTIONS(756),
    [anon_sym_LT_LT] = ACTIONS(756),
    [anon_sym_GT_GT] = ACTIONS(756),
    [anon_sym_EQ_EQ] = ACTIONS(756),
    [anon_sym_BANG_EQ] = ACTIONS(754),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(754),
    [anon_sym_LT_EQ_GT] = ACTIONS(754),
    [anon_sym_EQ_TILDE] = ACTIONS(754),
    [anon_sym_BANG_TILDE] = ACTIONS(754),
    [anon_sym_LT_EQ] = ACTIONS(756),
    [anon_sym_GT] = ACTIONS(756),
    [anon_sym_GT_EQ] = ACTIONS(754),
    [anon_sym_CARET] = ACTIONS(756),
    [anon_sym_PLUS] = ACTIONS(756),
    [anon_sym_SLASH] = ACTIONS(756),
    [anon_sym_PERCENT] = ACTIONS(756),
    [anon_sym_defined_QMARK] = ACTIONS(754),
    [anon_sym_not] = ACTIONS(756),
    [anon_sym_BANG] = ACTIONS(756),
    [anon_sym_TILDE] = ACTIONS(754),
    [sym_constant] = ACTIONS(758),
    [sym_identifier] = ACTIONS(758),
    [sym_instance_variable] = ACTIONS(756),
    [sym_class_variable] = ACTIONS(756),
    [sym_global_variable] = ACTIONS(756),
    [anon_sym_alias] = ACTIONS(756),
    [anon_sym_defined] = ACTIONS(756),
    [anon_sym_false] = ACTIONS(756),
    [anon_sym_nil] = ACTIONS(756),
    [anon_sym_self] = ACTIONS(756),
    [anon_sym_super] = ACTIONS(756),
    [anon_sym_true] = ACTIONS(756),
    [anon_sym_undef] = ACTIONS(756),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(756),
    [sym_float] = ACTIONS(758),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(754),
    [anon_sym_TRUE] = ACTIONS(756),
    [anon_sym_FALSE] = ACTIONS(756),
    [anon_sym_NIL] = ACTIONS(756),
    [sym_keyword__FILE__] = ACTIONS(756),
    [sym_keyword__LINE__] = ACTIONS(756),
    [sym_keyword__ENCODING__] = ACTIONS(756),
    [sym__character_literal] = ACTIONS(756),
    [anon_sym_LBRACK] = ACTIONS(754),
    [anon_sym_DASH_GT] = ACTIONS(754),
  },
  [2297] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__string_middle] = ACTIONS(1372),
    [sym__string_end] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_STAR_STAR] = ACTIONS(3532),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_if] = ACTIONS(1372),
    [anon_sym_unless] = ACTIONS(1372),
    [anon_sym_while] = ACTIONS(1372),
    [anon_sym_until] = ACTIONS(1372),
    [anon_sym_rescue] = ACTIONS(1372),
    [anon_sym_EQ_GT] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [2298] = {
    [sym__simple_heredoc_body] = ACTIONS(1552),
    [sym__heredoc_body_beginning] = ACTIONS(1552),
    [sym__string_middle] = ACTIONS(1552),
    [sym__string_end] = ACTIONS(1552),
    [sym__element_reference_left_bracket] = ACTIONS(1552),
    [sym__scope_double_colon] = ACTIONS(1552),
    [sym__binary_minus] = ACTIONS(1552),
    [sym__binary_star] = ACTIONS(1552),
    [anon_sym_DOT] = ACTIONS(1554),
    [anon_sym_COMMA] = ACTIONS(1552),
    [anon_sym_PIPE] = ACTIONS(1554),
    [anon_sym_STAR_STAR] = ACTIONS(1552),
    [anon_sym_AMP] = ACTIONS(1554),
    [anon_sym_LT] = ACTIONS(1554),
    [anon_sym_if] = ACTIONS(1552),
    [anon_sym_unless] = ACTIONS(1552),
    [anon_sym_while] = ACTIONS(1552),
    [anon_sym_until] = ACTIONS(1552),
    [anon_sym_rescue] = ACTIONS(1552),
    [anon_sym_EQ_GT] = ACTIONS(1552),
    [anon_sym_AMP_DOT] = ACTIONS(1552),
    [anon_sym_QMARK] = ACTIONS(1552),
    [anon_sym_DOT_DOT] = ACTIONS(1554),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1552),
    [anon_sym_and] = ACTIONS(1552),
    [anon_sym_or] = ACTIONS(1552),
    [anon_sym_PIPE_PIPE] = ACTIONS(1552),
    [anon_sym_AMP_AMP] = ACTIONS(1552),
    [anon_sym_LT_LT] = ACTIONS(1552),
    [anon_sym_GT_GT] = ACTIONS(1552),
    [anon_sym_EQ_EQ] = ACTIONS(1554),
    [anon_sym_BANG_EQ] = ACTIONS(1552),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1552),
    [anon_sym_LT_EQ_GT] = ACTIONS(1552),
    [anon_sym_EQ_TILDE] = ACTIONS(1552),
    [anon_sym_BANG_TILDE] = ACTIONS(1552),
    [anon_sym_LT_EQ] = ACTIONS(1554),
    [anon_sym_GT] = ACTIONS(1554),
    [anon_sym_GT_EQ] = ACTIONS(1552),
    [anon_sym_CARET] = ACTIONS(1552),
    [anon_sym_PLUS] = ACTIONS(1552),
    [anon_sym_SLASH] = ACTIONS(1552),
    [anon_sym_PERCENT] = ACTIONS(1552),
    [sym_comment] = ACTIONS(110),
  },
  [2299] = {
    [anon_sym_RBRACE] = ACTIONS(7432),
    [sym_comment] = ACTIONS(110),
  },
  [2300] = {
    [sym_heredoc_end] = STATE(5156),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RBRACE] = ACTIONS(7432),
    [sym_comment] = ACTIONS(110),
  },
  [2301] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(5157),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(1139),
    [sym_call] = STATE(1139),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(1140),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1141),
    [sym__variable] = STATE(1139),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(1822),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_yield] = ACTIONS(1828),
    [anon_sym_break] = ACTIONS(1830),
    [anon_sym_next] = ACTIONS(1832),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(1834),
    [anon_sym_defined_QMARK] = ACTIONS(1836),
    [anon_sym_not] = ACTIONS(1838),
    [anon_sym_BANG] = ACTIONS(1840),
    [anon_sym_TILDE] = ACTIONS(1840),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [2302] = {
    [sym__simple_heredoc_body] = ACTIONS(1866),
    [sym__heredoc_body_beginning] = ACTIONS(1866),
    [sym__string_middle] = ACTIONS(1866),
    [sym__string_end] = ACTIONS(1866),
    [sym__element_reference_left_bracket] = ACTIONS(1866),
    [sym__scope_double_colon] = ACTIONS(1866),
    [sym__binary_minus] = ACTIONS(1866),
    [sym__binary_star] = ACTIONS(1866),
    [anon_sym_DOT] = ACTIONS(1868),
    [anon_sym_COMMA] = ACTIONS(1866),
    [anon_sym_PIPE] = ACTIONS(1868),
    [anon_sym_STAR_STAR] = ACTIONS(1866),
    [anon_sym_AMP] = ACTIONS(1868),
    [anon_sym_LT] = ACTIONS(1868),
    [anon_sym_if] = ACTIONS(1866),
    [anon_sym_unless] = ACTIONS(1866),
    [anon_sym_while] = ACTIONS(1866),
    [anon_sym_until] = ACTIONS(1866),
    [anon_sym_rescue] = ACTIONS(1866),
    [anon_sym_EQ_GT] = ACTIONS(1866),
    [anon_sym_AMP_DOT] = ACTIONS(1866),
    [anon_sym_QMARK] = ACTIONS(1866),
    [anon_sym_DOT_DOT] = ACTIONS(1868),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1866),
    [anon_sym_and] = ACTIONS(1866),
    [anon_sym_or] = ACTIONS(1866),
    [anon_sym_PIPE_PIPE] = ACTIONS(1866),
    [anon_sym_AMP_AMP] = ACTIONS(1866),
    [anon_sym_LT_LT] = ACTIONS(1866),
    [anon_sym_GT_GT] = ACTIONS(1866),
    [anon_sym_EQ_EQ] = ACTIONS(1868),
    [anon_sym_BANG_EQ] = ACTIONS(1866),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1866),
    [anon_sym_LT_EQ_GT] = ACTIONS(1866),
    [anon_sym_EQ_TILDE] = ACTIONS(1866),
    [anon_sym_BANG_TILDE] = ACTIONS(1866),
    [anon_sym_LT_EQ] = ACTIONS(1868),
    [anon_sym_GT] = ACTIONS(1868),
    [anon_sym_GT_EQ] = ACTIONS(1866),
    [anon_sym_CARET] = ACTIONS(1866),
    [anon_sym_PLUS] = ACTIONS(1866),
    [anon_sym_SLASH] = ACTIONS(1866),
    [anon_sym_PERCENT] = ACTIONS(1866),
    [sym_comment] = ACTIONS(110),
  },
  [2303] = {
    [anon_sym_DOT] = ACTIONS(7434),
    [anon_sym_COLON_COLON] = ACTIONS(7434),
    [sym_comment] = ACTIONS(110),
  },
  [2304] = {
    [sym_method_parameters] = STATE(5159),
    [sym__simple_formal_parameter] = STATE(1150),
    [sym_splat_parameter] = STATE(1151),
    [sym_hash_splat_parameter] = STATE(1151),
    [sym_block_parameter] = STATE(1151),
    [sym_keyword_parameter] = STATE(1151),
    [sym_optional_parameter] = STATE(1151),
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(5159),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym__line_break] = ACTIONS(692),
    [anon_sym_LPAREN] = ACTIONS(1872),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(1874),
    [anon_sym_STAR_STAR] = ACTIONS(1876),
    [anon_sym_AMP] = ACTIONS(1878),
    [sym_identifier] = ACTIONS(1880),
    [sym_comment] = ACTIONS(110),
  },
  [2305] = {
    [sym__simple_heredoc_body] = ACTIONS(1882),
    [sym__heredoc_body_beginning] = ACTIONS(1882),
    [sym__string_middle] = ACTIONS(1882),
    [sym__string_end] = ACTIONS(1882),
    [sym__element_reference_left_bracket] = ACTIONS(1882),
    [sym__scope_double_colon] = ACTIONS(1882),
    [sym__binary_minus] = ACTIONS(1882),
    [sym__binary_star] = ACTIONS(1882),
    [anon_sym_DOT] = ACTIONS(1884),
    [anon_sym_COMMA] = ACTIONS(1882),
    [anon_sym_PIPE] = ACTIONS(1884),
    [anon_sym_STAR_STAR] = ACTIONS(1882),
    [anon_sym_AMP] = ACTIONS(1884),
    [anon_sym_LT] = ACTIONS(1884),
    [anon_sym_if] = ACTIONS(1882),
    [anon_sym_unless] = ACTIONS(1882),
    [anon_sym_while] = ACTIONS(1882),
    [anon_sym_until] = ACTIONS(1882),
    [anon_sym_rescue] = ACTIONS(1882),
    [anon_sym_EQ_GT] = ACTIONS(1882),
    [anon_sym_AMP_DOT] = ACTIONS(1882),
    [anon_sym_QMARK] = ACTIONS(1882),
    [anon_sym_DOT_DOT] = ACTIONS(1884),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1882),
    [anon_sym_and] = ACTIONS(1882),
    [anon_sym_or] = ACTIONS(1882),
    [anon_sym_PIPE_PIPE] = ACTIONS(1882),
    [anon_sym_AMP_AMP] = ACTIONS(1882),
    [anon_sym_LT_LT] = ACTIONS(1882),
    [anon_sym_GT_GT] = ACTIONS(1882),
    [anon_sym_EQ_EQ] = ACTIONS(1884),
    [anon_sym_BANG_EQ] = ACTIONS(1882),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1882),
    [anon_sym_LT_EQ_GT] = ACTIONS(1882),
    [anon_sym_EQ_TILDE] = ACTIONS(1882),
    [anon_sym_BANG_TILDE] = ACTIONS(1882),
    [anon_sym_LT_EQ] = ACTIONS(1884),
    [anon_sym_GT] = ACTIONS(1884),
    [anon_sym_GT_EQ] = ACTIONS(1882),
    [anon_sym_CARET] = ACTIONS(1882),
    [anon_sym_PLUS] = ACTIONS(1882),
    [anon_sym_SLASH] = ACTIONS(1882),
    [anon_sym_PERCENT] = ACTIONS(1882),
    [sym_comment] = ACTIONS(110),
  },
  [2306] = {
    [anon_sym_RPAREN] = ACTIONS(7436),
    [sym_comment] = ACTIONS(110),
  },
  [2307] = {
    [sym__simple_string] = ACTIONS(2010),
    [sym__simple_symbol] = ACTIONS(2010),
    [sym__simple_subshell] = ACTIONS(2010),
    [sym__simple_regex] = ACTIONS(2010),
    [sym__simple_word_list] = ACTIONS(2010),
    [sym__simple_heredoc_body] = ACTIONS(2010),
    [sym__string_beginning] = ACTIONS(2010),
    [sym__symbol_beginning] = ACTIONS(2010),
    [sym__subshell_beginning] = ACTIONS(2010),
    [sym__regex_beginning] = ACTIONS(2010),
    [sym__word_list_beginning] = ACTIONS(2010),
    [sym__heredoc_body_beginning] = ACTIONS(2010),
    [sym__string_middle] = ACTIONS(2010),
    [sym__string_end] = ACTIONS(2010),
    [sym_heredoc_beginning] = ACTIONS(2010),
    [sym__element_reference_left_bracket] = ACTIONS(2010),
    [sym__block_ampersand] = ACTIONS(2010),
    [sym__splat_star] = ACTIONS(2010),
    [sym__argument_list_left_paren] = ACTIONS(2010),
    [sym__scope_double_colon] = ACTIONS(2010),
    [sym__unary_minus] = ACTIONS(2010),
    [sym__binary_minus] = ACTIONS(2010),
    [sym__binary_star] = ACTIONS(2010),
    [anon_sym_LBRACE] = ACTIONS(2010),
    [anon_sym_def] = ACTIONS(2012),
    [anon_sym_LPAREN] = ACTIONS(2010),
    [anon_sym_DOT] = ACTIONS(2012),
    [anon_sym_COLON_COLON] = ACTIONS(2010),
    [anon_sym_end] = ACTIONS(2012),
    [anon_sym_COMMA] = ACTIONS(2010),
    [anon_sym_PIPE] = ACTIONS(2012),
    [anon_sym_STAR] = ACTIONS(2012),
    [anon_sym_STAR_STAR] = ACTIONS(2012),
    [anon_sym_AMP] = ACTIONS(2012),
    [anon_sym_EQ] = ACTIONS(2012),
    [anon_sym_class] = ACTIONS(2012),
    [anon_sym_LT] = ACTIONS(2012),
    [anon_sym_module] = ACTIONS(2012),
    [anon_sym_return] = ACTIONS(2012),
    [anon_sym_yield] = ACTIONS(2012),
    [anon_sym_break] = ACTIONS(2012),
    [anon_sym_next] = ACTIONS(2012),
    [anon_sym_redo] = ACTIONS(2012),
    [anon_sym_retry] = ACTIONS(2012),
    [anon_sym_if] = ACTIONS(2012),
    [anon_sym_unless] = ACTIONS(2012),
    [anon_sym_while] = ACTIONS(2012),
    [anon_sym_until] = ACTIONS(2012),
    [anon_sym_rescue] = ACTIONS(2012),
    [anon_sym_for] = ACTIONS(2012),
    [anon_sym_in] = ACTIONS(2012),
    [anon_sym_do] = ACTIONS(2012),
    [anon_sym_case] = ACTIONS(2012),
    [anon_sym_when] = ACTIONS(2012),
    [anon_sym_elsif] = ACTIONS(2012),
    [anon_sym_else] = ACTIONS(2012),
    [anon_sym_then] = ACTIONS(2012),
    [anon_sym_begin] = ACTIONS(2012),
    [anon_sym_ensure] = ACTIONS(2012),
    [anon_sym_EQ_GT] = ACTIONS(2010),
    [anon_sym_AMP_DOT] = ACTIONS(2010),
    [anon_sym_PLUS_EQ] = ACTIONS(2010),
    [anon_sym_DASH_EQ] = ACTIONS(2010),
    [anon_sym_STAR_EQ] = ACTIONS(2010),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2010),
    [anon_sym_SLASH_EQ] = ACTIONS(2010),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2010),
    [anon_sym_PIPE_EQ] = ACTIONS(2010),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2010),
    [anon_sym_AMP_EQ] = ACTIONS(2010),
    [anon_sym_PERCENT_EQ] = ACTIONS(2010),
    [anon_sym_GT_GT_EQ] = ACTIONS(2010),
    [anon_sym_LT_LT_EQ] = ACTIONS(2010),
    [anon_sym_CARET_EQ] = ACTIONS(2010),
    [anon_sym_QMARK] = ACTIONS(2012),
    [anon_sym_DOT_DOT] = ACTIONS(2012),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2010),
    [anon_sym_and] = ACTIONS(2012),
    [anon_sym_or] = ACTIONS(2012),
    [anon_sym_PIPE_PIPE] = ACTIONS(2012),
    [anon_sym_AMP_AMP] = ACTIONS(2012),
    [anon_sym_LT_LT] = ACTIONS(2012),
    [anon_sym_GT_GT] = ACTIONS(2012),
    [anon_sym_EQ_EQ] = ACTIONS(2012),
    [anon_sym_BANG_EQ] = ACTIONS(2010),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2010),
    [anon_sym_LT_EQ_GT] = ACTIONS(2010),
    [anon_sym_EQ_TILDE] = ACTIONS(2010),
    [anon_sym_BANG_TILDE] = ACTIONS(2010),
    [anon_sym_LT_EQ] = ACTIONS(2012),
    [anon_sym_GT] = ACTIONS(2012),
    [anon_sym_GT_EQ] = ACTIONS(2010),
    [anon_sym_CARET] = ACTIONS(2012),
    [anon_sym_PLUS] = ACTIONS(2012),
    [anon_sym_SLASH] = ACTIONS(2012),
    [anon_sym_PERCENT] = ACTIONS(2012),
    [anon_sym_defined_QMARK] = ACTIONS(2010),
    [anon_sym_not] = ACTIONS(2012),
    [anon_sym_BANG] = ACTIONS(2012),
    [anon_sym_TILDE] = ACTIONS(2010),
    [sym_constant] = ACTIONS(2014),
    [sym_identifier] = ACTIONS(2014),
    [sym_instance_variable] = ACTIONS(2012),
    [sym_class_variable] = ACTIONS(2012),
    [sym_global_variable] = ACTIONS(2012),
    [anon_sym_alias] = ACTIONS(2012),
    [anon_sym_defined] = ACTIONS(2012),
    [anon_sym_false] = ACTIONS(2012),
    [anon_sym_nil] = ACTIONS(2012),
    [anon_sym_self] = ACTIONS(2012),
    [anon_sym_super] = ACTIONS(2012),
    [anon_sym_true] = ACTIONS(2012),
    [anon_sym_undef] = ACTIONS(2012),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(2012),
    [sym_float] = ACTIONS(2014),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(2010),
    [anon_sym_TRUE] = ACTIONS(2012),
    [anon_sym_FALSE] = ACTIONS(2012),
    [anon_sym_NIL] = ACTIONS(2012),
    [sym_keyword__FILE__] = ACTIONS(2012),
    [sym_keyword__LINE__] = ACTIONS(2012),
    [sym_keyword__ENCODING__] = ACTIONS(2012),
    [sym__character_literal] = ACTIONS(2012),
    [anon_sym_LBRACK] = ACTIONS(2010),
    [anon_sym_DASH_GT] = ACTIONS(2010),
  },
  [2308] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__string_middle] = ACTIONS(4284),
    [sym__string_end] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(7382),
    [sym__binary_star] = ACTIONS(7384),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(7386),
    [anon_sym_STAR_STAR] = ACTIONS(7388),
    [anon_sym_AMP] = ACTIONS(7390),
    [anon_sym_LT] = ACTIONS(7392),
    [anon_sym_if] = ACTIONS(4284),
    [anon_sym_unless] = ACTIONS(4284),
    [anon_sym_while] = ACTIONS(4284),
    [anon_sym_until] = ACTIONS(4284),
    [anon_sym_rescue] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(7394),
    [anon_sym_DOT_DOT] = ACTIONS(7396),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7398),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(7400),
    [anon_sym_AMP_AMP] = ACTIONS(7400),
    [anon_sym_LT_LT] = ACTIONS(7402),
    [anon_sym_GT_GT] = ACTIONS(7402),
    [anon_sym_EQ_EQ] = ACTIONS(7404),
    [anon_sym_BANG_EQ] = ACTIONS(7400),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7400),
    [anon_sym_LT_EQ_GT] = ACTIONS(7400),
    [anon_sym_EQ_TILDE] = ACTIONS(7400),
    [anon_sym_BANG_TILDE] = ACTIONS(7400),
    [anon_sym_LT_EQ] = ACTIONS(7392),
    [anon_sym_GT] = ACTIONS(7392),
    [anon_sym_GT_EQ] = ACTIONS(7406),
    [anon_sym_CARET] = ACTIONS(7408),
    [anon_sym_PLUS] = ACTIONS(7410),
    [anon_sym_SLASH] = ACTIONS(7388),
    [anon_sym_PERCENT] = ACTIONS(7388),
    [sym_comment] = ACTIONS(110),
  },
  [2309] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(5161),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1329),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1330),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2090),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2100),
    [anon_sym_defined_QMARK] = ACTIONS(2102),
    [anon_sym_not] = ACTIONS(2104),
    [anon_sym_BANG] = ACTIONS(2106),
    [anon_sym_TILDE] = ACTIONS(2106),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2310] = {
    [sym_superclass] = STATE(5162),
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(5163),
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__unary_minus] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(722),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(722),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(2110),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(722),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [2311] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_superclass] = STATE(5162),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1349),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1310),
    [sym__argument_list_with_parens] = STATE(1264),
    [sym__argument] = STATE(1350),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_do_block] = STATE(1312),
    [sym_block] = STATE(1312),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1353),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1354),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__terminator] = STATE(5163),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(2114),
    [sym__splat_star] = ACTIONS(2116),
    [sym__argument_list_left_paren] = ACTIONS(2034),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(2064),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(980),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2120),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(2110),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(2076),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2138),
    [sym_identifier] = ACTIONS(2138),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2312] = {
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(5165),
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__unary_minus] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(722),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(7438),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(722),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(722),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [2313] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1349),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1310),
    [sym__argument_list_with_parens] = STATE(1264),
    [sym__argument] = STATE(1350),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_do_block] = STATE(1312),
    [sym_block] = STATE(1312),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1353),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1354),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__terminator] = STATE(5165),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(2114),
    [sym__splat_star] = ACTIONS(2116),
    [sym__argument_list_left_paren] = ACTIONS(2034),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(2064),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(980),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(7440),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2120),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(2076),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2138),
    [sym_identifier] = ACTIONS(2138),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2314] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(5167),
    [sym__primary] = STATE(693),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(695),
    [sym_call] = STATE(695),
    [sym_method_call] = STATE(694),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(701),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(702),
    [sym__variable] = STATE(695),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2286),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(3410),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__string_beginning] = ACTIONS(3412),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__unary_minus] = ACTIONS(1124),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(3416),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3420),
    [anon_sym_module] = ACTIONS(3422),
    [anon_sym_return] = ACTIONS(3476),
    [anon_sym_yield] = ACTIONS(3478),
    [anon_sym_break] = ACTIONS(3480),
    [anon_sym_next] = ACTIONS(3482),
    [anon_sym_redo] = ACTIONS(3432),
    [anon_sym_retry] = ACTIONS(3434),
    [anon_sym_if] = ACTIONS(3436),
    [anon_sym_unless] = ACTIONS(3438),
    [anon_sym_while] = ACTIONS(3440),
    [anon_sym_until] = ACTIONS(3442),
    [anon_sym_for] = ACTIONS(3444),
    [anon_sym_case] = ACTIONS(3446),
    [anon_sym_begin] = ACTIONS(3448),
    [anon_sym_PLUS] = ACTIONS(3484),
    [anon_sym_defined_QMARK] = ACTIONS(1156),
    [anon_sym_not] = ACTIONS(3486),
    [anon_sym_BANG] = ACTIONS(1162),
    [anon_sym_TILDE] = ACTIONS(1162),
    [sym_constant] = ACTIONS(3488),
    [sym_identifier] = ACTIONS(3488),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_false] = ACTIONS(1186),
    [anon_sym_nil] = ACTIONS(1188),
    [anon_sym_self] = ACTIONS(3490),
    [anon_sym_super] = ACTIONS(3492),
    [anon_sym_true] = ACTIONS(1184),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(3472),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [2315] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(5168),
    [sym__primary] = STATE(693),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(695),
    [sym_call] = STATE(695),
    [sym_method_call] = STATE(694),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(701),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(702),
    [sym__variable] = STATE(695),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2286),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(3410),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__string_beginning] = ACTIONS(3412),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__unary_minus] = ACTIONS(1124),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(3416),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3420),
    [anon_sym_module] = ACTIONS(3422),
    [anon_sym_return] = ACTIONS(3476),
    [anon_sym_yield] = ACTIONS(3478),
    [anon_sym_break] = ACTIONS(3480),
    [anon_sym_next] = ACTIONS(3482),
    [anon_sym_redo] = ACTIONS(3432),
    [anon_sym_retry] = ACTIONS(3434),
    [anon_sym_if] = ACTIONS(3436),
    [anon_sym_unless] = ACTIONS(3438),
    [anon_sym_while] = ACTIONS(3440),
    [anon_sym_until] = ACTIONS(3442),
    [anon_sym_for] = ACTIONS(3444),
    [anon_sym_case] = ACTIONS(3446),
    [anon_sym_begin] = ACTIONS(3448),
    [anon_sym_PLUS] = ACTIONS(3484),
    [anon_sym_defined_QMARK] = ACTIONS(1156),
    [anon_sym_not] = ACTIONS(3486),
    [anon_sym_BANG] = ACTIONS(1162),
    [anon_sym_TILDE] = ACTIONS(1162),
    [sym_constant] = ACTIONS(3488),
    [sym_identifier] = ACTIONS(3488),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_false] = ACTIONS(1186),
    [anon_sym_nil] = ACTIONS(1188),
    [anon_sym_self] = ACTIONS(3490),
    [anon_sym_super] = ACTIONS(3492),
    [anon_sym_true] = ACTIONS(1184),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(3472),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [2316] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(5169),
    [sym__primary] = STATE(693),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(695),
    [sym_call] = STATE(695),
    [sym_method_call] = STATE(694),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(701),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(702),
    [sym__variable] = STATE(695),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2286),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(3410),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__string_beginning] = ACTIONS(3412),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__unary_minus] = ACTIONS(1124),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(3416),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3420),
    [anon_sym_module] = ACTIONS(3422),
    [anon_sym_return] = ACTIONS(3476),
    [anon_sym_yield] = ACTIONS(3478),
    [anon_sym_break] = ACTIONS(3480),
    [anon_sym_next] = ACTIONS(3482),
    [anon_sym_redo] = ACTIONS(3432),
    [anon_sym_retry] = ACTIONS(3434),
    [anon_sym_if] = ACTIONS(3436),
    [anon_sym_unless] = ACTIONS(3438),
    [anon_sym_while] = ACTIONS(3440),
    [anon_sym_until] = ACTIONS(3442),
    [anon_sym_for] = ACTIONS(3444),
    [anon_sym_case] = ACTIONS(3446),
    [anon_sym_begin] = ACTIONS(3448),
    [anon_sym_PLUS] = ACTIONS(3484),
    [anon_sym_defined_QMARK] = ACTIONS(1156),
    [anon_sym_not] = ACTIONS(3486),
    [anon_sym_BANG] = ACTIONS(1162),
    [anon_sym_TILDE] = ACTIONS(1162),
    [sym_constant] = ACTIONS(3488),
    [sym_identifier] = ACTIONS(3488),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_false] = ACTIONS(1186),
    [anon_sym_nil] = ACTIONS(1188),
    [anon_sym_self] = ACTIONS(3490),
    [anon_sym_super] = ACTIONS(3492),
    [anon_sym_true] = ACTIONS(1184),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(3472),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [2317] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym__string_middle] = ACTIONS(722),
    [sym__string_end] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(7442),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [2318] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__string_middle] = ACTIONS(2210),
    [sym__string_end] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(3526),
    [sym__binary_star] = ACTIONS(3528),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(3530),
    [anon_sym_STAR_STAR] = ACTIONS(3532),
    [anon_sym_AMP] = ACTIONS(3534),
    [anon_sym_LT] = ACTIONS(3536),
    [anon_sym_if] = ACTIONS(2210),
    [anon_sym_unless] = ACTIONS(2210),
    [anon_sym_while] = ACTIONS(2210),
    [anon_sym_until] = ACTIONS(2210),
    [anon_sym_rescue] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(3538),
    [anon_sym_DOT_DOT] = ACTIONS(3540),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3542),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(3544),
    [anon_sym_AMP_AMP] = ACTIONS(3544),
    [anon_sym_LT_LT] = ACTIONS(3546),
    [anon_sym_GT_GT] = ACTIONS(3546),
    [anon_sym_EQ_EQ] = ACTIONS(3548),
    [anon_sym_BANG_EQ] = ACTIONS(3544),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3544),
    [anon_sym_LT_EQ_GT] = ACTIONS(3544),
    [anon_sym_EQ_TILDE] = ACTIONS(3544),
    [anon_sym_BANG_TILDE] = ACTIONS(3544),
    [anon_sym_LT_EQ] = ACTIONS(3536),
    [anon_sym_GT] = ACTIONS(3536),
    [anon_sym_GT_EQ] = ACTIONS(3550),
    [anon_sym_CARET] = ACTIONS(3552),
    [anon_sym_PLUS] = ACTIONS(3554),
    [anon_sym_SLASH] = ACTIONS(3532),
    [anon_sym_PERCENT] = ACTIONS(3532),
    [sym_comment] = ACTIONS(110),
  },
  [2319] = {
    [sym__simple_heredoc_body] = ACTIONS(2264),
    [sym__heredoc_body_beginning] = ACTIONS(2264),
    [sym__string_middle] = ACTIONS(2264),
    [sym__string_end] = ACTIONS(2264),
    [sym__element_reference_left_bracket] = ACTIONS(2264),
    [sym__scope_double_colon] = ACTIONS(2264),
    [sym__binary_minus] = ACTIONS(2264),
    [sym__binary_star] = ACTIONS(2264),
    [anon_sym_DOT] = ACTIONS(2266),
    [anon_sym_COMMA] = ACTIONS(2264),
    [anon_sym_PIPE] = ACTIONS(2266),
    [anon_sym_STAR_STAR] = ACTIONS(2264),
    [anon_sym_AMP] = ACTIONS(2266),
    [anon_sym_LT] = ACTIONS(2266),
    [anon_sym_if] = ACTIONS(2264),
    [anon_sym_unless] = ACTIONS(2264),
    [anon_sym_while] = ACTIONS(2264),
    [anon_sym_until] = ACTIONS(2264),
    [anon_sym_rescue] = ACTIONS(2264),
    [anon_sym_EQ_GT] = ACTIONS(2264),
    [anon_sym_AMP_DOT] = ACTIONS(2264),
    [anon_sym_QMARK] = ACTIONS(2264),
    [anon_sym_DOT_DOT] = ACTIONS(2266),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2264),
    [anon_sym_and] = ACTIONS(2264),
    [anon_sym_or] = ACTIONS(2264),
    [anon_sym_PIPE_PIPE] = ACTIONS(2264),
    [anon_sym_AMP_AMP] = ACTIONS(2264),
    [anon_sym_LT_LT] = ACTIONS(2264),
    [anon_sym_GT_GT] = ACTIONS(2264),
    [anon_sym_EQ_EQ] = ACTIONS(2266),
    [anon_sym_BANG_EQ] = ACTIONS(2264),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2264),
    [anon_sym_LT_EQ_GT] = ACTIONS(2264),
    [anon_sym_EQ_TILDE] = ACTIONS(2264),
    [anon_sym_BANG_TILDE] = ACTIONS(2264),
    [anon_sym_LT_EQ] = ACTIONS(2266),
    [anon_sym_GT] = ACTIONS(2266),
    [anon_sym_GT_EQ] = ACTIONS(2264),
    [anon_sym_CARET] = ACTIONS(2264),
    [anon_sym_PLUS] = ACTIONS(2264),
    [anon_sym_SLASH] = ACTIONS(2264),
    [anon_sym_PERCENT] = ACTIONS(2264),
    [sym_comment] = ACTIONS(110),
  },
  [2320] = {
    [sym_heredoc_end] = STATE(2381),
    [aux_sym_argument_list_repeat1] = STATE(5172),
    [aux_sym_argument_list_repeat2] = STATE(2382),
    [sym__simple_heredoc_body] = ACTIONS(3576),
    [sym__heredoc_body_beginning] = ACTIONS(3578),
    [sym__string_middle] = ACTIONS(2272),
    [sym__string_end] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(7444),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_STAR_STAR] = ACTIONS(2272),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_if] = ACTIONS(2272),
    [anon_sym_unless] = ACTIONS(2272),
    [anon_sym_while] = ACTIONS(2272),
    [anon_sym_until] = ACTIONS(2272),
    [anon_sym_rescue] = ACTIONS(2272),
    [anon_sym_EQ_GT] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2272),
    [anon_sym_AMP_AMP] = ACTIONS(2272),
    [anon_sym_LT_LT] = ACTIONS(2272),
    [anon_sym_GT_GT] = ACTIONS(2272),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2272),
    [anon_sym_PLUS] = ACTIONS(2272),
    [anon_sym_SLASH] = ACTIONS(2272),
    [anon_sym_PERCENT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(110),
  },
  [2321] = {
    [sym__keyword_colon] = ACTIONS(7446),
    [sym_comment] = ACTIONS(110),
  },
  [2322] = {
    [sym_string] = STATE(2388),
    [aux_sym_chained_string_repeat1] = STATE(2389),
    [sym__simple_string] = ACTIONS(3410),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(3412),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__string_middle] = ACTIONS(250),
    [sym__string_end] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(7442),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(3472),
  },
  [2323] = {
    [sym__simple_heredoc_body] = ACTIONS(2286),
    [sym__heredoc_body_beginning] = ACTIONS(2286),
    [sym__string_middle] = ACTIONS(2286),
    [sym__string_end] = ACTIONS(2286),
    [sym__element_reference_left_bracket] = ACTIONS(2286),
    [sym__scope_double_colon] = ACTIONS(2286),
    [sym__binary_minus] = ACTIONS(2286),
    [sym__binary_star] = ACTIONS(2286),
    [anon_sym_DOT] = ACTIONS(2288),
    [anon_sym_COMMA] = ACTIONS(2286),
    [anon_sym_PIPE] = ACTIONS(2288),
    [anon_sym_STAR_STAR] = ACTIONS(2286),
    [anon_sym_AMP] = ACTIONS(2288),
    [anon_sym_LT] = ACTIONS(2288),
    [anon_sym_if] = ACTIONS(2286),
    [anon_sym_unless] = ACTIONS(2286),
    [anon_sym_while] = ACTIONS(2286),
    [anon_sym_until] = ACTIONS(2286),
    [anon_sym_rescue] = ACTIONS(2286),
    [anon_sym_EQ_GT] = ACTIONS(2286),
    [anon_sym_AMP_DOT] = ACTIONS(2286),
    [anon_sym_QMARK] = ACTIONS(2286),
    [anon_sym_DOT_DOT] = ACTIONS(2288),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2286),
    [anon_sym_and] = ACTIONS(2286),
    [anon_sym_or] = ACTIONS(2286),
    [anon_sym_PIPE_PIPE] = ACTIONS(2286),
    [anon_sym_AMP_AMP] = ACTIONS(2286),
    [anon_sym_LT_LT] = ACTIONS(2286),
    [anon_sym_GT_GT] = ACTIONS(2286),
    [anon_sym_EQ_EQ] = ACTIONS(2288),
    [anon_sym_BANG_EQ] = ACTIONS(2286),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2286),
    [anon_sym_LT_EQ_GT] = ACTIONS(2286),
    [anon_sym_EQ_TILDE] = ACTIONS(2286),
    [anon_sym_BANG_TILDE] = ACTIONS(2286),
    [anon_sym_LT_EQ] = ACTIONS(2288),
    [anon_sym_GT] = ACTIONS(2288),
    [anon_sym_GT_EQ] = ACTIONS(2286),
    [anon_sym_CARET] = ACTIONS(2286),
    [anon_sym_PLUS] = ACTIONS(2286),
    [anon_sym_SLASH] = ACTIONS(2286),
    [anon_sym_PERCENT] = ACTIONS(2286),
    [sym_comment] = ACTIONS(110),
  },
  [2324] = {
    [sym__simple_heredoc_body] = ACTIONS(2290),
    [sym__heredoc_body_beginning] = ACTIONS(2290),
    [sym__string_middle] = ACTIONS(2290),
    [sym__string_end] = ACTIONS(2290),
    [sym__element_reference_left_bracket] = ACTIONS(2290),
    [sym__scope_double_colon] = ACTIONS(2290),
    [sym__binary_minus] = ACTIONS(2290),
    [sym__binary_star] = ACTIONS(2290),
    [anon_sym_DOT] = ACTIONS(2292),
    [anon_sym_COMMA] = ACTIONS(2290),
    [anon_sym_PIPE] = ACTIONS(2292),
    [anon_sym_STAR_STAR] = ACTIONS(2290),
    [anon_sym_AMP] = ACTIONS(2292),
    [anon_sym_LT] = ACTIONS(2292),
    [anon_sym_if] = ACTIONS(2290),
    [anon_sym_unless] = ACTIONS(2290),
    [anon_sym_while] = ACTIONS(2290),
    [anon_sym_until] = ACTIONS(2290),
    [anon_sym_rescue] = ACTIONS(2290),
    [anon_sym_EQ_GT] = ACTIONS(2290),
    [anon_sym_AMP_DOT] = ACTIONS(2290),
    [anon_sym_QMARK] = ACTIONS(2290),
    [anon_sym_DOT_DOT] = ACTIONS(2292),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2290),
    [anon_sym_and] = ACTIONS(2290),
    [anon_sym_or] = ACTIONS(2290),
    [anon_sym_PIPE_PIPE] = ACTIONS(2290),
    [anon_sym_AMP_AMP] = ACTIONS(2290),
    [anon_sym_LT_LT] = ACTIONS(2290),
    [anon_sym_GT_GT] = ACTIONS(2290),
    [anon_sym_EQ_EQ] = ACTIONS(2292),
    [anon_sym_BANG_EQ] = ACTIONS(2290),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2290),
    [anon_sym_LT_EQ_GT] = ACTIONS(2290),
    [anon_sym_EQ_TILDE] = ACTIONS(2290),
    [anon_sym_BANG_TILDE] = ACTIONS(2290),
    [anon_sym_LT_EQ] = ACTIONS(2292),
    [anon_sym_GT] = ACTIONS(2292),
    [anon_sym_GT_EQ] = ACTIONS(2290),
    [anon_sym_CARET] = ACTIONS(2290),
    [anon_sym_PLUS] = ACTIONS(2290),
    [anon_sym_SLASH] = ACTIONS(2290),
    [anon_sym_PERCENT] = ACTIONS(2290),
    [sym_comment] = ACTIONS(110),
  },
  [2325] = {
    [sym__simple_heredoc_body] = ACTIONS(2294),
    [sym__heredoc_body_beginning] = ACTIONS(2294),
    [sym__string_middle] = ACTIONS(2294),
    [sym__string_end] = ACTIONS(2294),
    [sym__element_reference_left_bracket] = ACTIONS(2294),
    [sym__scope_double_colon] = ACTIONS(2294),
    [sym__binary_minus] = ACTIONS(2294),
    [sym__binary_star] = ACTIONS(2294),
    [anon_sym_DOT] = ACTIONS(2296),
    [anon_sym_COMMA] = ACTIONS(2294),
    [anon_sym_PIPE] = ACTIONS(2296),
    [anon_sym_STAR_STAR] = ACTIONS(2294),
    [anon_sym_AMP] = ACTIONS(2296),
    [anon_sym_LT] = ACTIONS(2296),
    [anon_sym_if] = ACTIONS(2294),
    [anon_sym_unless] = ACTIONS(2294),
    [anon_sym_while] = ACTIONS(2294),
    [anon_sym_until] = ACTIONS(2294),
    [anon_sym_rescue] = ACTIONS(2294),
    [anon_sym_EQ_GT] = ACTIONS(2294),
    [anon_sym_AMP_DOT] = ACTIONS(2294),
    [anon_sym_QMARK] = ACTIONS(2294),
    [anon_sym_DOT_DOT] = ACTIONS(2296),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2294),
    [anon_sym_and] = ACTIONS(2294),
    [anon_sym_or] = ACTIONS(2294),
    [anon_sym_PIPE_PIPE] = ACTIONS(2294),
    [anon_sym_AMP_AMP] = ACTIONS(2294),
    [anon_sym_LT_LT] = ACTIONS(2294),
    [anon_sym_GT_GT] = ACTIONS(2294),
    [anon_sym_EQ_EQ] = ACTIONS(2296),
    [anon_sym_BANG_EQ] = ACTIONS(2294),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2294),
    [anon_sym_LT_EQ_GT] = ACTIONS(2294),
    [anon_sym_EQ_TILDE] = ACTIONS(2294),
    [anon_sym_BANG_TILDE] = ACTIONS(2294),
    [anon_sym_LT_EQ] = ACTIONS(2296),
    [anon_sym_GT] = ACTIONS(2296),
    [anon_sym_GT_EQ] = ACTIONS(2294),
    [anon_sym_CARET] = ACTIONS(2294),
    [anon_sym_PLUS] = ACTIONS(2294),
    [anon_sym_SLASH] = ACTIONS(2294),
    [anon_sym_PERCENT] = ACTIONS(2294),
    [sym_comment] = ACTIONS(110),
  },
  [2326] = {
    [sym__then] = STATE(5174),
    [sym_heredoc_end] = STATE(1476),
    [sym__terminator] = STATE(1484),
    [sym__simple_heredoc_body] = ACTIONS(2322),
    [sym__heredoc_body_beginning] = ACTIONS(2324),
    [sym__line_break] = ACTIONS(2326),
    [anon_sym_SEMI] = ACTIONS(2326),
    [anon_sym_if] = ACTIONS(2328),
    [anon_sym_unless] = ACTIONS(2330),
    [anon_sym_while] = ACTIONS(2332),
    [anon_sym_until] = ACTIONS(2334),
    [anon_sym_rescue] = ACTIONS(2336),
    [anon_sym_then] = ACTIONS(2338),
    [sym_comment] = ACTIONS(110),
  },
  [2327] = {
    [sym__then] = STATE(5175),
    [sym_heredoc_end] = STATE(1521),
    [sym__terminator] = STATE(1524),
    [sym__simple_heredoc_body] = ACTIONS(2402),
    [sym__heredoc_body_beginning] = ACTIONS(2404),
    [sym__line_break] = ACTIONS(2406),
    [anon_sym_SEMI] = ACTIONS(2406),
    [anon_sym_if] = ACTIONS(2328),
    [anon_sym_unless] = ACTIONS(2330),
    [anon_sym_while] = ACTIONS(2332),
    [anon_sym_until] = ACTIONS(2334),
    [anon_sym_rescue] = ACTIONS(2336),
    [anon_sym_then] = ACTIONS(2408),
    [sym_comment] = ACTIONS(110),
  },
  [2328] = {
    [sym__do] = STATE(5176),
    [sym_heredoc_end] = STATE(1550),
    [sym__terminator] = STATE(1557),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym__line_break] = ACTIONS(2446),
    [sym__binary_minus] = ACTIONS(2448),
    [sym__binary_star] = ACTIONS(2450),
    [anon_sym_PIPE] = ACTIONS(2452),
    [anon_sym_SEMI] = ACTIONS(2446),
    [anon_sym_STAR_STAR] = ACTIONS(2454),
    [anon_sym_AMP] = ACTIONS(2456),
    [anon_sym_LT] = ACTIONS(2458),
    [anon_sym_do] = ACTIONS(2460),
    [anon_sym_QMARK] = ACTIONS(2462),
    [anon_sym_DOT_DOT] = ACTIONS(2464),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2466),
    [anon_sym_and] = ACTIONS(2468),
    [anon_sym_or] = ACTIONS(2468),
    [anon_sym_PIPE_PIPE] = ACTIONS(2470),
    [anon_sym_AMP_AMP] = ACTIONS(2470),
    [anon_sym_LT_LT] = ACTIONS(2472),
    [anon_sym_GT_GT] = ACTIONS(2472),
    [anon_sym_EQ_EQ] = ACTIONS(2474),
    [anon_sym_BANG_EQ] = ACTIONS(2470),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2470),
    [anon_sym_LT_EQ_GT] = ACTIONS(2470),
    [anon_sym_EQ_TILDE] = ACTIONS(2470),
    [anon_sym_BANG_TILDE] = ACTIONS(2470),
    [anon_sym_LT_EQ] = ACTIONS(2458),
    [anon_sym_GT] = ACTIONS(2458),
    [anon_sym_GT_EQ] = ACTIONS(2476),
    [anon_sym_CARET] = ACTIONS(2478),
    [anon_sym_PLUS] = ACTIONS(2480),
    [anon_sym_SLASH] = ACTIONS(2454),
    [anon_sym_PERCENT] = ACTIONS(2454),
    [sym_comment] = ACTIONS(110),
  },
  [2329] = {
    [sym__do] = STATE(5177),
    [sym_heredoc_end] = STATE(1550),
    [sym__terminator] = STATE(1557),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym__line_break] = ACTIONS(2446),
    [sym__binary_minus] = ACTIONS(2448),
    [sym__binary_star] = ACTIONS(2450),
    [anon_sym_PIPE] = ACTIONS(2452),
    [anon_sym_SEMI] = ACTIONS(2446),
    [anon_sym_STAR_STAR] = ACTIONS(2454),
    [anon_sym_AMP] = ACTIONS(2456),
    [anon_sym_LT] = ACTIONS(2458),
    [anon_sym_do] = ACTIONS(2460),
    [anon_sym_QMARK] = ACTIONS(2462),
    [anon_sym_DOT_DOT] = ACTIONS(2464),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2466),
    [anon_sym_and] = ACTIONS(2468),
    [anon_sym_or] = ACTIONS(2468),
    [anon_sym_PIPE_PIPE] = ACTIONS(2470),
    [anon_sym_AMP_AMP] = ACTIONS(2470),
    [anon_sym_LT_LT] = ACTIONS(2472),
    [anon_sym_GT_GT] = ACTIONS(2472),
    [anon_sym_EQ_EQ] = ACTIONS(2474),
    [anon_sym_BANG_EQ] = ACTIONS(2470),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2470),
    [anon_sym_LT_EQ_GT] = ACTIONS(2470),
    [anon_sym_EQ_TILDE] = ACTIONS(2470),
    [anon_sym_BANG_TILDE] = ACTIONS(2470),
    [anon_sym_LT_EQ] = ACTIONS(2458),
    [anon_sym_GT] = ACTIONS(2458),
    [anon_sym_GT_EQ] = ACTIONS(2476),
    [anon_sym_CARET] = ACTIONS(2478),
    [anon_sym_PLUS] = ACTIONS(2480),
    [anon_sym_SLASH] = ACTIONS(2454),
    [anon_sym_PERCENT] = ACTIONS(2454),
    [sym_comment] = ACTIONS(110),
  },
  [2330] = {
    [sym_in] = STATE(5178),
    [anon_sym_in] = ACTIONS(2548),
    [sym_comment] = ACTIONS(110),
  },
  [2331] = {
    [anon_sym_end] = ACTIONS(7448),
    [sym_comment] = ACTIONS(110),
  },
  [2332] = {
    [sym_when] = STATE(5180),
    [sym_heredoc_end] = STATE(387),
    [sym__terminator] = STATE(402),
    [aux_sym_case_repeat1] = STATE(5181),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym__line_break] = ACTIONS(666),
    [sym__binary_minus] = ACTIONS(2600),
    [sym__binary_star] = ACTIONS(2602),
    [anon_sym_PIPE] = ACTIONS(2604),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_STAR_STAR] = ACTIONS(2606),
    [anon_sym_AMP] = ACTIONS(2608),
    [anon_sym_LT] = ACTIONS(2610),
    [anon_sym_when] = ACTIONS(2612),
    [anon_sym_QMARK] = ACTIONS(2614),
    [anon_sym_DOT_DOT] = ACTIONS(2616),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2618),
    [anon_sym_and] = ACTIONS(2620),
    [anon_sym_or] = ACTIONS(2620),
    [anon_sym_PIPE_PIPE] = ACTIONS(2622),
    [anon_sym_AMP_AMP] = ACTIONS(2622),
    [anon_sym_LT_LT] = ACTIONS(2624),
    [anon_sym_GT_GT] = ACTIONS(2624),
    [anon_sym_EQ_EQ] = ACTIONS(2626),
    [anon_sym_BANG_EQ] = ACTIONS(2622),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2622),
    [anon_sym_LT_EQ_GT] = ACTIONS(2622),
    [anon_sym_EQ_TILDE] = ACTIONS(2622),
    [anon_sym_BANG_TILDE] = ACTIONS(2622),
    [anon_sym_LT_EQ] = ACTIONS(2610),
    [anon_sym_GT] = ACTIONS(2610),
    [anon_sym_GT_EQ] = ACTIONS(2628),
    [anon_sym_CARET] = ACTIONS(2630),
    [anon_sym_PLUS] = ACTIONS(2632),
    [anon_sym_SLASH] = ACTIONS(2606),
    [anon_sym_PERCENT] = ACTIONS(2606),
    [sym_comment] = ACTIONS(110),
  },
  [2333] = {
    [sym_when] = STATE(5180),
    [sym_heredoc_end] = STATE(387),
    [sym__terminator] = STATE(1688),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym__line_break] = ACTIONS(666),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_when] = ACTIONS(2612),
    [sym_comment] = ACTIONS(110),
  },
  [2334] = {
    [sym__simple_heredoc_body] = ACTIONS(2674),
    [sym__heredoc_body_beginning] = ACTIONS(2674),
    [sym__string_middle] = ACTIONS(2674),
    [sym__string_end] = ACTIONS(2674),
    [sym__element_reference_left_bracket] = ACTIONS(2674),
    [sym__scope_double_colon] = ACTIONS(2674),
    [sym__binary_minus] = ACTIONS(2674),
    [sym__binary_star] = ACTIONS(2674),
    [anon_sym_DOT] = ACTIONS(2676),
    [anon_sym_COMMA] = ACTIONS(2674),
    [anon_sym_PIPE] = ACTIONS(2676),
    [anon_sym_STAR_STAR] = ACTIONS(2674),
    [anon_sym_AMP] = ACTIONS(2676),
    [anon_sym_LT] = ACTIONS(2676),
    [anon_sym_if] = ACTIONS(2674),
    [anon_sym_unless] = ACTIONS(2674),
    [anon_sym_while] = ACTIONS(2674),
    [anon_sym_until] = ACTIONS(2674),
    [anon_sym_rescue] = ACTIONS(2674),
    [anon_sym_EQ_GT] = ACTIONS(2674),
    [anon_sym_AMP_DOT] = ACTIONS(2674),
    [anon_sym_QMARK] = ACTIONS(2674),
    [anon_sym_DOT_DOT] = ACTIONS(2676),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2674),
    [anon_sym_and] = ACTIONS(2674),
    [anon_sym_or] = ACTIONS(2674),
    [anon_sym_PIPE_PIPE] = ACTIONS(2674),
    [anon_sym_AMP_AMP] = ACTIONS(2674),
    [anon_sym_LT_LT] = ACTIONS(2674),
    [anon_sym_GT_GT] = ACTIONS(2674),
    [anon_sym_EQ_EQ] = ACTIONS(2676),
    [anon_sym_BANG_EQ] = ACTIONS(2674),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2674),
    [anon_sym_LT_EQ_GT] = ACTIONS(2674),
    [anon_sym_EQ_TILDE] = ACTIONS(2674),
    [anon_sym_BANG_TILDE] = ACTIONS(2674),
    [anon_sym_LT_EQ] = ACTIONS(2676),
    [anon_sym_GT] = ACTIONS(2676),
    [anon_sym_GT_EQ] = ACTIONS(2674),
    [anon_sym_CARET] = ACTIONS(2674),
    [anon_sym_PLUS] = ACTIONS(2674),
    [anon_sym_SLASH] = ACTIONS(2674),
    [anon_sym_PERCENT] = ACTIONS(2674),
    [sym_comment] = ACTIONS(110),
  },
  [2335] = {
    [anon_sym_end] = ACTIONS(7450),
    [sym_comment] = ACTIONS(110),
  },
  [2336] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(5183),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(7452),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2337] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__string_middle] = ACTIONS(2870),
    [sym__string_end] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(3532),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [2338] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__string_middle] = ACTIONS(2870),
    [sym__string_end] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(3526),
    [sym__binary_star] = ACTIONS(3528),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(3530),
    [anon_sym_STAR_STAR] = ACTIONS(3532),
    [anon_sym_AMP] = ACTIONS(3534),
    [anon_sym_LT] = ACTIONS(3536),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(3538),
    [anon_sym_DOT_DOT] = ACTIONS(3540),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3542),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(3544),
    [anon_sym_AMP_AMP] = ACTIONS(3544),
    [anon_sym_LT_LT] = ACTIONS(3546),
    [anon_sym_GT_GT] = ACTIONS(3546),
    [anon_sym_EQ_EQ] = ACTIONS(3548),
    [anon_sym_BANG_EQ] = ACTIONS(3544),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3544),
    [anon_sym_LT_EQ_GT] = ACTIONS(3544),
    [anon_sym_EQ_TILDE] = ACTIONS(3544),
    [anon_sym_BANG_TILDE] = ACTIONS(3544),
    [anon_sym_LT_EQ] = ACTIONS(3536),
    [anon_sym_GT] = ACTIONS(3536),
    [anon_sym_GT_EQ] = ACTIONS(3550),
    [anon_sym_CARET] = ACTIONS(3552),
    [anon_sym_PLUS] = ACTIONS(3554),
    [anon_sym_SLASH] = ACTIONS(3532),
    [anon_sym_PERCENT] = ACTIONS(3532),
    [sym_comment] = ACTIONS(110),
  },
  [2339] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__string_middle] = ACTIONS(2870),
    [sym__string_end] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(2870),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [2340] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(5184),
    [sym__primary] = STATE(2281),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(2282),
    [sym_scope_resolution] = STATE(2283),
    [sym_call] = STATE(2283),
    [sym_method_call] = STATE(2282),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(2284),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2285),
    [sym__variable] = STATE(2283),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(2274),
    [sym_true] = STATE(2282),
    [sym_false] = STATE(2282),
    [sym_self] = STATE(2274),
    [sym_nil] = STATE(2282),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2286),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(3410),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__string_beginning] = ACTIONS(3412),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__unary_minus] = ACTIONS(3414),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(3416),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_COLON_COLON] = ACTIONS(3418),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3420),
    [anon_sym_module] = ACTIONS(3422),
    [anon_sym_return] = ACTIONS(3424),
    [anon_sym_yield] = ACTIONS(3426),
    [anon_sym_break] = ACTIONS(3428),
    [anon_sym_next] = ACTIONS(3430),
    [anon_sym_redo] = ACTIONS(3432),
    [anon_sym_retry] = ACTIONS(3434),
    [anon_sym_if] = ACTIONS(3436),
    [anon_sym_unless] = ACTIONS(3438),
    [anon_sym_while] = ACTIONS(3440),
    [anon_sym_until] = ACTIONS(3442),
    [anon_sym_for] = ACTIONS(3444),
    [anon_sym_case] = ACTIONS(3446),
    [anon_sym_begin] = ACTIONS(3448),
    [anon_sym_PLUS] = ACTIONS(3450),
    [anon_sym_defined_QMARK] = ACTIONS(3452),
    [anon_sym_not] = ACTIONS(3454),
    [anon_sym_BANG] = ACTIONS(3456),
    [anon_sym_TILDE] = ACTIONS(3456),
    [sym_constant] = ACTIONS(3458),
    [sym_identifier] = ACTIONS(3458),
    [sym_instance_variable] = ACTIONS(3460),
    [sym_class_variable] = ACTIONS(3460),
    [sym_global_variable] = ACTIONS(3460),
    [anon_sym_false] = ACTIONS(3462),
    [anon_sym_nil] = ACTIONS(3464),
    [anon_sym_self] = ACTIONS(3466),
    [anon_sym_super] = ACTIONS(3468),
    [anon_sym_true] = ACTIONS(3470),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(3470),
    [anon_sym_FALSE] = ACTIONS(3462),
    [anon_sym_NIL] = ACTIONS(3464),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(3472),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [2341] = {
    [sym__simple_heredoc_body] = ACTIONS(2882),
    [sym__heredoc_body_beginning] = ACTIONS(2882),
    [sym__string_middle] = ACTIONS(2882),
    [sym__string_end] = ACTIONS(2882),
    [sym__element_reference_left_bracket] = ACTIONS(2882),
    [sym__scope_double_colon] = ACTIONS(2882),
    [sym__binary_minus] = ACTIONS(2882),
    [sym__binary_star] = ACTIONS(2882),
    [anon_sym_DOT] = ACTIONS(2884),
    [anon_sym_COMMA] = ACTIONS(2882),
    [anon_sym_PIPE] = ACTIONS(2884),
    [anon_sym_STAR_STAR] = ACTIONS(2882),
    [anon_sym_AMP] = ACTIONS(2884),
    [anon_sym_LT] = ACTIONS(2884),
    [anon_sym_if] = ACTIONS(2882),
    [anon_sym_unless] = ACTIONS(2882),
    [anon_sym_while] = ACTIONS(2882),
    [anon_sym_until] = ACTIONS(2882),
    [anon_sym_rescue] = ACTIONS(2882),
    [anon_sym_EQ_GT] = ACTIONS(2882),
    [anon_sym_AMP_DOT] = ACTIONS(2882),
    [anon_sym_QMARK] = ACTIONS(2882),
    [anon_sym_DOT_DOT] = ACTIONS(2884),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2882),
    [anon_sym_and] = ACTIONS(2882),
    [anon_sym_or] = ACTIONS(2882),
    [anon_sym_PIPE_PIPE] = ACTIONS(2882),
    [anon_sym_AMP_AMP] = ACTIONS(2882),
    [anon_sym_LT_LT] = ACTIONS(2882),
    [anon_sym_GT_GT] = ACTIONS(2882),
    [anon_sym_EQ_EQ] = ACTIONS(2884),
    [anon_sym_BANG_EQ] = ACTIONS(2882),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2882),
    [anon_sym_LT_EQ_GT] = ACTIONS(2882),
    [anon_sym_EQ_TILDE] = ACTIONS(2882),
    [anon_sym_BANG_TILDE] = ACTIONS(2882),
    [anon_sym_LT_EQ] = ACTIONS(2884),
    [anon_sym_GT] = ACTIONS(2884),
    [anon_sym_GT_EQ] = ACTIONS(2882),
    [anon_sym_CARET] = ACTIONS(2882),
    [anon_sym_PLUS] = ACTIONS(2882),
    [anon_sym_SLASH] = ACTIONS(2882),
    [anon_sym_PERCENT] = ACTIONS(2882),
    [sym_comment] = ACTIONS(110),
  },
  [2342] = {
    [sym__simple_heredoc_body] = ACTIONS(2952),
    [sym__heredoc_body_beginning] = ACTIONS(2952),
    [sym__string_middle] = ACTIONS(2952),
    [sym__string_end] = ACTIONS(2952),
    [sym__element_reference_left_bracket] = ACTIONS(2952),
    [sym__scope_double_colon] = ACTIONS(2952),
    [sym__binary_minus] = ACTIONS(2952),
    [sym__binary_star] = ACTIONS(2952),
    [anon_sym_DOT] = ACTIONS(2954),
    [anon_sym_COMMA] = ACTIONS(2952),
    [anon_sym_PIPE] = ACTIONS(2954),
    [anon_sym_STAR_STAR] = ACTIONS(2952),
    [anon_sym_AMP] = ACTIONS(2954),
    [anon_sym_LT] = ACTIONS(2954),
    [anon_sym_if] = ACTIONS(2952),
    [anon_sym_unless] = ACTIONS(2952),
    [anon_sym_while] = ACTIONS(2952),
    [anon_sym_until] = ACTIONS(2952),
    [anon_sym_rescue] = ACTIONS(2952),
    [anon_sym_EQ_GT] = ACTIONS(2952),
    [anon_sym_AMP_DOT] = ACTIONS(2952),
    [anon_sym_QMARK] = ACTIONS(2952),
    [anon_sym_DOT_DOT] = ACTIONS(2954),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2952),
    [anon_sym_and] = ACTIONS(2952),
    [anon_sym_or] = ACTIONS(2952),
    [anon_sym_PIPE_PIPE] = ACTIONS(2952),
    [anon_sym_AMP_AMP] = ACTIONS(2952),
    [anon_sym_LT_LT] = ACTIONS(2952),
    [anon_sym_GT_GT] = ACTIONS(2952),
    [anon_sym_EQ_EQ] = ACTIONS(2954),
    [anon_sym_BANG_EQ] = ACTIONS(2952),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2952),
    [anon_sym_LT_EQ_GT] = ACTIONS(2952),
    [anon_sym_EQ_TILDE] = ACTIONS(2952),
    [anon_sym_BANG_TILDE] = ACTIONS(2952),
    [anon_sym_LT_EQ] = ACTIONS(2954),
    [anon_sym_GT] = ACTIONS(2954),
    [anon_sym_GT_EQ] = ACTIONS(2952),
    [anon_sym_CARET] = ACTIONS(2952),
    [anon_sym_PLUS] = ACTIONS(2952),
    [anon_sym_SLASH] = ACTIONS(2952),
    [anon_sym_PERCENT] = ACTIONS(2952),
    [sym_comment] = ACTIONS(110),
  },
  [2343] = {
    [sym_heredoc_end] = STATE(5185),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RBRACK] = ACTIONS(7378),
    [sym_comment] = ACTIONS(110),
  },
  [2344] = {
    [anon_sym_RBRACK] = ACTIONS(7378),
    [sym_comment] = ACTIONS(110),
  },
  [2345] = {
    [sym__statements] = STATE(5187),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(5188),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(841),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(7454),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_PIPE] = ACTIONS(3048),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2346] = {
    [sym__statements] = STATE(5190),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(5191),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1981),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(5192),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(3076),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(3078),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(3080),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(7456),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(3086),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2347] = {
    [sym_do_block] = STATE(5193),
    [sym_block] = STATE(5193),
    [anon_sym_LBRACE] = ACTIONS(3522),
    [anon_sym_do] = ACTIONS(7458),
    [sym_comment] = ACTIONS(110),
  },
  [2348] = {
    [sym__simple_heredoc_body] = ACTIONS(3100),
    [sym__heredoc_body_beginning] = ACTIONS(3100),
    [sym__string_middle] = ACTIONS(3100),
    [sym__string_end] = ACTIONS(3100),
    [sym__element_reference_left_bracket] = ACTIONS(3100),
    [sym__scope_double_colon] = ACTIONS(3100),
    [sym__binary_minus] = ACTIONS(3100),
    [sym__binary_star] = ACTIONS(3100),
    [anon_sym_DOT] = ACTIONS(3102),
    [anon_sym_COMMA] = ACTIONS(3100),
    [anon_sym_PIPE] = ACTIONS(3102),
    [anon_sym_STAR_STAR] = ACTIONS(3100),
    [anon_sym_AMP] = ACTIONS(3102),
    [anon_sym_LT] = ACTIONS(3102),
    [anon_sym_if] = ACTIONS(3100),
    [anon_sym_unless] = ACTIONS(3100),
    [anon_sym_while] = ACTIONS(3100),
    [anon_sym_until] = ACTIONS(3100),
    [anon_sym_rescue] = ACTIONS(3100),
    [anon_sym_EQ_GT] = ACTIONS(3100),
    [anon_sym_AMP_DOT] = ACTIONS(3100),
    [anon_sym_QMARK] = ACTIONS(3100),
    [anon_sym_DOT_DOT] = ACTIONS(3102),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3100),
    [anon_sym_and] = ACTIONS(3100),
    [anon_sym_or] = ACTIONS(3100),
    [anon_sym_PIPE_PIPE] = ACTIONS(3100),
    [anon_sym_AMP_AMP] = ACTIONS(3100),
    [anon_sym_LT_LT] = ACTIONS(3100),
    [anon_sym_GT_GT] = ACTIONS(3100),
    [anon_sym_EQ_EQ] = ACTIONS(3102),
    [anon_sym_BANG_EQ] = ACTIONS(3100),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3100),
    [anon_sym_LT_EQ_GT] = ACTIONS(3100),
    [anon_sym_EQ_TILDE] = ACTIONS(3100),
    [anon_sym_BANG_TILDE] = ACTIONS(3100),
    [anon_sym_LT_EQ] = ACTIONS(3102),
    [anon_sym_GT] = ACTIONS(3102),
    [anon_sym_GT_EQ] = ACTIONS(3100),
    [anon_sym_CARET] = ACTIONS(3100),
    [anon_sym_PLUS] = ACTIONS(3100),
    [anon_sym_SLASH] = ACTIONS(3100),
    [anon_sym_PERCENT] = ACTIONS(3100),
    [sym_comment] = ACTIONS(110),
  },
  [2349] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(5194),
    [sym__primary] = STATE(693),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(695),
    [sym_call] = STATE(695),
    [sym_method_call] = STATE(694),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(701),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(702),
    [sym__variable] = STATE(695),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2286),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(3410),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__string_beginning] = ACTIONS(3412),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__unary_minus] = ACTIONS(1124),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(3416),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3420),
    [anon_sym_module] = ACTIONS(3422),
    [anon_sym_return] = ACTIONS(3476),
    [anon_sym_yield] = ACTIONS(3478),
    [anon_sym_break] = ACTIONS(3480),
    [anon_sym_next] = ACTIONS(3482),
    [anon_sym_redo] = ACTIONS(3432),
    [anon_sym_retry] = ACTIONS(3434),
    [anon_sym_if] = ACTIONS(3436),
    [anon_sym_unless] = ACTIONS(3438),
    [anon_sym_while] = ACTIONS(3440),
    [anon_sym_until] = ACTIONS(3442),
    [anon_sym_for] = ACTIONS(3444),
    [anon_sym_case] = ACTIONS(3446),
    [anon_sym_begin] = ACTIONS(3448),
    [anon_sym_PLUS] = ACTIONS(3484),
    [anon_sym_defined_QMARK] = ACTIONS(1156),
    [anon_sym_not] = ACTIONS(3486),
    [anon_sym_BANG] = ACTIONS(1162),
    [anon_sym_TILDE] = ACTIONS(1162),
    [sym_constant] = ACTIONS(3488),
    [sym_identifier] = ACTIONS(3488),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_false] = ACTIONS(1186),
    [anon_sym_nil] = ACTIONS(1188),
    [anon_sym_self] = ACTIONS(3490),
    [anon_sym_super] = ACTIONS(3492),
    [anon_sym_true] = ACTIONS(1184),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(3472),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [2350] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(5195),
    [sym__primary] = STATE(693),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(695),
    [sym_call] = STATE(695),
    [sym_method_call] = STATE(694),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(701),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(702),
    [sym__variable] = STATE(695),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2286),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(3410),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__string_beginning] = ACTIONS(3412),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__unary_minus] = ACTIONS(1124),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(3416),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3420),
    [anon_sym_module] = ACTIONS(3422),
    [anon_sym_return] = ACTIONS(3476),
    [anon_sym_yield] = ACTIONS(3478),
    [anon_sym_break] = ACTIONS(3480),
    [anon_sym_next] = ACTIONS(3482),
    [anon_sym_redo] = ACTIONS(3432),
    [anon_sym_retry] = ACTIONS(3434),
    [anon_sym_if] = ACTIONS(3436),
    [anon_sym_unless] = ACTIONS(3438),
    [anon_sym_while] = ACTIONS(3440),
    [anon_sym_until] = ACTIONS(3442),
    [anon_sym_for] = ACTIONS(3444),
    [anon_sym_case] = ACTIONS(3446),
    [anon_sym_begin] = ACTIONS(3448),
    [anon_sym_PLUS] = ACTIONS(3484),
    [anon_sym_defined_QMARK] = ACTIONS(1156),
    [anon_sym_not] = ACTIONS(3486),
    [anon_sym_BANG] = ACTIONS(1162),
    [anon_sym_TILDE] = ACTIONS(1162),
    [sym_constant] = ACTIONS(3488),
    [sym_identifier] = ACTIONS(3488),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_false] = ACTIONS(1186),
    [anon_sym_nil] = ACTIONS(1188),
    [anon_sym_self] = ACTIONS(3490),
    [anon_sym_super] = ACTIONS(3492),
    [anon_sym_true] = ACTIONS(1184),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(3472),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [2351] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(5196),
    [sym__primary] = STATE(693),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(695),
    [sym_call] = STATE(695),
    [sym_method_call] = STATE(694),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(701),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(702),
    [sym__variable] = STATE(695),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2286),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(3410),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__string_beginning] = ACTIONS(3412),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__unary_minus] = ACTIONS(1124),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(3416),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3420),
    [anon_sym_module] = ACTIONS(3422),
    [anon_sym_return] = ACTIONS(3476),
    [anon_sym_yield] = ACTIONS(3478),
    [anon_sym_break] = ACTIONS(3480),
    [anon_sym_next] = ACTIONS(3482),
    [anon_sym_redo] = ACTIONS(3432),
    [anon_sym_retry] = ACTIONS(3434),
    [anon_sym_if] = ACTIONS(3436),
    [anon_sym_unless] = ACTIONS(3438),
    [anon_sym_while] = ACTIONS(3440),
    [anon_sym_until] = ACTIONS(3442),
    [anon_sym_for] = ACTIONS(3444),
    [anon_sym_case] = ACTIONS(3446),
    [anon_sym_begin] = ACTIONS(3448),
    [anon_sym_PLUS] = ACTIONS(3484),
    [anon_sym_defined_QMARK] = ACTIONS(1156),
    [anon_sym_not] = ACTIONS(3486),
    [anon_sym_BANG] = ACTIONS(1162),
    [anon_sym_TILDE] = ACTIONS(1162),
    [sym_constant] = ACTIONS(3488),
    [sym_identifier] = ACTIONS(3488),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_false] = ACTIONS(1186),
    [anon_sym_nil] = ACTIONS(1188),
    [anon_sym_self] = ACTIONS(3490),
    [anon_sym_super] = ACTIONS(3492),
    [anon_sym_true] = ACTIONS(1184),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(3472),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [2352] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(5197),
    [sym__primary] = STATE(693),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(695),
    [sym_call] = STATE(695),
    [sym_method_call] = STATE(694),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(701),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(702),
    [sym__variable] = STATE(695),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2286),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(3410),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__string_beginning] = ACTIONS(3412),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__unary_minus] = ACTIONS(1124),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(3416),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3420),
    [anon_sym_module] = ACTIONS(3422),
    [anon_sym_return] = ACTIONS(3476),
    [anon_sym_yield] = ACTIONS(3478),
    [anon_sym_break] = ACTIONS(3480),
    [anon_sym_next] = ACTIONS(3482),
    [anon_sym_redo] = ACTIONS(3432),
    [anon_sym_retry] = ACTIONS(3434),
    [anon_sym_if] = ACTIONS(3436),
    [anon_sym_unless] = ACTIONS(3438),
    [anon_sym_while] = ACTIONS(3440),
    [anon_sym_until] = ACTIONS(3442),
    [anon_sym_for] = ACTIONS(3444),
    [anon_sym_case] = ACTIONS(3446),
    [anon_sym_begin] = ACTIONS(3448),
    [anon_sym_PLUS] = ACTIONS(3484),
    [anon_sym_defined_QMARK] = ACTIONS(1156),
    [anon_sym_not] = ACTIONS(3486),
    [anon_sym_BANG] = ACTIONS(1162),
    [anon_sym_TILDE] = ACTIONS(1162),
    [sym_constant] = ACTIONS(3488),
    [sym_identifier] = ACTIONS(3488),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_false] = ACTIONS(1186),
    [anon_sym_nil] = ACTIONS(1188),
    [anon_sym_self] = ACTIONS(3490),
    [anon_sym_super] = ACTIONS(3492),
    [anon_sym_true] = ACTIONS(1184),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(3472),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [2353] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(5198),
    [sym__primary] = STATE(693),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(695),
    [sym_call] = STATE(695),
    [sym_method_call] = STATE(694),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(701),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(702),
    [sym__variable] = STATE(695),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2286),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(3410),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__string_beginning] = ACTIONS(3412),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__unary_minus] = ACTIONS(1124),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(3416),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3420),
    [anon_sym_module] = ACTIONS(3422),
    [anon_sym_return] = ACTIONS(3476),
    [anon_sym_yield] = ACTIONS(3478),
    [anon_sym_break] = ACTIONS(3480),
    [anon_sym_next] = ACTIONS(3482),
    [anon_sym_redo] = ACTIONS(3432),
    [anon_sym_retry] = ACTIONS(3434),
    [anon_sym_if] = ACTIONS(3436),
    [anon_sym_unless] = ACTIONS(3438),
    [anon_sym_while] = ACTIONS(3440),
    [anon_sym_until] = ACTIONS(3442),
    [anon_sym_for] = ACTIONS(3444),
    [anon_sym_case] = ACTIONS(3446),
    [anon_sym_begin] = ACTIONS(3448),
    [anon_sym_PLUS] = ACTIONS(3484),
    [anon_sym_defined_QMARK] = ACTIONS(1156),
    [anon_sym_not] = ACTIONS(3486),
    [anon_sym_BANG] = ACTIONS(1162),
    [anon_sym_TILDE] = ACTIONS(1162),
    [sym_constant] = ACTIONS(3488),
    [sym_identifier] = ACTIONS(3488),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_false] = ACTIONS(1186),
    [anon_sym_nil] = ACTIONS(1188),
    [anon_sym_self] = ACTIONS(3490),
    [anon_sym_super] = ACTIONS(3492),
    [anon_sym_true] = ACTIONS(1184),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(3472),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [2354] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(5199),
    [sym__primary] = STATE(693),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(695),
    [sym_call] = STATE(695),
    [sym_method_call] = STATE(694),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(701),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(702),
    [sym__variable] = STATE(695),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2286),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(3410),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__string_beginning] = ACTIONS(3412),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__unary_minus] = ACTIONS(1124),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(3416),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3420),
    [anon_sym_module] = ACTIONS(3422),
    [anon_sym_return] = ACTIONS(3476),
    [anon_sym_yield] = ACTIONS(3478),
    [anon_sym_break] = ACTIONS(3480),
    [anon_sym_next] = ACTIONS(3482),
    [anon_sym_redo] = ACTIONS(3432),
    [anon_sym_retry] = ACTIONS(3434),
    [anon_sym_if] = ACTIONS(3436),
    [anon_sym_unless] = ACTIONS(3438),
    [anon_sym_while] = ACTIONS(3440),
    [anon_sym_until] = ACTIONS(3442),
    [anon_sym_for] = ACTIONS(3444),
    [anon_sym_case] = ACTIONS(3446),
    [anon_sym_begin] = ACTIONS(3448),
    [anon_sym_PLUS] = ACTIONS(3484),
    [anon_sym_defined_QMARK] = ACTIONS(1156),
    [anon_sym_not] = ACTIONS(3486),
    [anon_sym_BANG] = ACTIONS(1162),
    [anon_sym_TILDE] = ACTIONS(1162),
    [sym_constant] = ACTIONS(3488),
    [sym_identifier] = ACTIONS(3488),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_false] = ACTIONS(1186),
    [anon_sym_nil] = ACTIONS(1188),
    [anon_sym_self] = ACTIONS(3490),
    [anon_sym_super] = ACTIONS(3492),
    [anon_sym_true] = ACTIONS(1184),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(3472),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [2355] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(5200),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [2356] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(5201),
    [sym__primary] = STATE(693),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(695),
    [sym_call] = STATE(695),
    [sym_method_call] = STATE(694),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(701),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(702),
    [sym__variable] = STATE(695),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2286),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(3410),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__string_beginning] = ACTIONS(3412),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__unary_minus] = ACTIONS(1124),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(3416),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3420),
    [anon_sym_module] = ACTIONS(3422),
    [anon_sym_return] = ACTIONS(3476),
    [anon_sym_yield] = ACTIONS(3478),
    [anon_sym_break] = ACTIONS(3480),
    [anon_sym_next] = ACTIONS(3482),
    [anon_sym_redo] = ACTIONS(3432),
    [anon_sym_retry] = ACTIONS(3434),
    [anon_sym_if] = ACTIONS(3436),
    [anon_sym_unless] = ACTIONS(3438),
    [anon_sym_while] = ACTIONS(3440),
    [anon_sym_until] = ACTIONS(3442),
    [anon_sym_for] = ACTIONS(3444),
    [anon_sym_case] = ACTIONS(3446),
    [anon_sym_begin] = ACTIONS(3448),
    [anon_sym_PLUS] = ACTIONS(3484),
    [anon_sym_defined_QMARK] = ACTIONS(1156),
    [anon_sym_not] = ACTIONS(3486),
    [anon_sym_BANG] = ACTIONS(1162),
    [anon_sym_TILDE] = ACTIONS(1162),
    [sym_constant] = ACTIONS(3488),
    [sym_identifier] = ACTIONS(3488),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_false] = ACTIONS(1186),
    [anon_sym_nil] = ACTIONS(1188),
    [anon_sym_self] = ACTIONS(3490),
    [anon_sym_super] = ACTIONS(3492),
    [anon_sym_true] = ACTIONS(1184),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(3472),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [2357] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(5202),
    [sym__primary] = STATE(693),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(695),
    [sym_call] = STATE(695),
    [sym_method_call] = STATE(694),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(701),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(702),
    [sym__variable] = STATE(695),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2286),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(3410),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__string_beginning] = ACTIONS(3412),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__unary_minus] = ACTIONS(1124),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(3416),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3420),
    [anon_sym_module] = ACTIONS(3422),
    [anon_sym_return] = ACTIONS(3476),
    [anon_sym_yield] = ACTIONS(3478),
    [anon_sym_break] = ACTIONS(3480),
    [anon_sym_next] = ACTIONS(3482),
    [anon_sym_redo] = ACTIONS(3432),
    [anon_sym_retry] = ACTIONS(3434),
    [anon_sym_if] = ACTIONS(3436),
    [anon_sym_unless] = ACTIONS(3438),
    [anon_sym_while] = ACTIONS(3440),
    [anon_sym_until] = ACTIONS(3442),
    [anon_sym_for] = ACTIONS(3444),
    [anon_sym_case] = ACTIONS(3446),
    [anon_sym_begin] = ACTIONS(3448),
    [anon_sym_PLUS] = ACTIONS(3484),
    [anon_sym_defined_QMARK] = ACTIONS(1156),
    [anon_sym_not] = ACTIONS(3486),
    [anon_sym_BANG] = ACTIONS(1162),
    [anon_sym_TILDE] = ACTIONS(1162),
    [sym_constant] = ACTIONS(3488),
    [sym_identifier] = ACTIONS(3488),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_false] = ACTIONS(1186),
    [anon_sym_nil] = ACTIONS(1188),
    [anon_sym_self] = ACTIONS(3490),
    [anon_sym_super] = ACTIONS(3492),
    [anon_sym_true] = ACTIONS(1184),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(3472),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [2358] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(5203),
    [sym__primary] = STATE(693),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(695),
    [sym_call] = STATE(695),
    [sym_method_call] = STATE(694),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(701),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(702),
    [sym__variable] = STATE(695),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2286),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(3410),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__string_beginning] = ACTIONS(3412),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__unary_minus] = ACTIONS(1124),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(3416),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3420),
    [anon_sym_module] = ACTIONS(3422),
    [anon_sym_return] = ACTIONS(3476),
    [anon_sym_yield] = ACTIONS(3478),
    [anon_sym_break] = ACTIONS(3480),
    [anon_sym_next] = ACTIONS(3482),
    [anon_sym_redo] = ACTIONS(3432),
    [anon_sym_retry] = ACTIONS(3434),
    [anon_sym_if] = ACTIONS(3436),
    [anon_sym_unless] = ACTIONS(3438),
    [anon_sym_while] = ACTIONS(3440),
    [anon_sym_until] = ACTIONS(3442),
    [anon_sym_for] = ACTIONS(3444),
    [anon_sym_case] = ACTIONS(3446),
    [anon_sym_begin] = ACTIONS(3448),
    [anon_sym_PLUS] = ACTIONS(3484),
    [anon_sym_defined_QMARK] = ACTIONS(1156),
    [anon_sym_not] = ACTIONS(3486),
    [anon_sym_BANG] = ACTIONS(1162),
    [anon_sym_TILDE] = ACTIONS(1162),
    [sym_constant] = ACTIONS(3488),
    [sym_identifier] = ACTIONS(3488),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_false] = ACTIONS(1186),
    [anon_sym_nil] = ACTIONS(1188),
    [anon_sym_self] = ACTIONS(3490),
    [anon_sym_super] = ACTIONS(3492),
    [anon_sym_true] = ACTIONS(1184),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(3472),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [2359] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(5204),
    [sym__primary] = STATE(693),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(695),
    [sym_call] = STATE(695),
    [sym_method_call] = STATE(694),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(701),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(702),
    [sym__variable] = STATE(695),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2286),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(3410),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__string_beginning] = ACTIONS(3412),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__unary_minus] = ACTIONS(1124),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(3416),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3420),
    [anon_sym_module] = ACTIONS(3422),
    [anon_sym_return] = ACTIONS(3476),
    [anon_sym_yield] = ACTIONS(3478),
    [anon_sym_break] = ACTIONS(3480),
    [anon_sym_next] = ACTIONS(3482),
    [anon_sym_redo] = ACTIONS(3432),
    [anon_sym_retry] = ACTIONS(3434),
    [anon_sym_if] = ACTIONS(3436),
    [anon_sym_unless] = ACTIONS(3438),
    [anon_sym_while] = ACTIONS(3440),
    [anon_sym_until] = ACTIONS(3442),
    [anon_sym_for] = ACTIONS(3444),
    [anon_sym_case] = ACTIONS(3446),
    [anon_sym_begin] = ACTIONS(3448),
    [anon_sym_PLUS] = ACTIONS(3484),
    [anon_sym_defined_QMARK] = ACTIONS(1156),
    [anon_sym_not] = ACTIONS(3486),
    [anon_sym_BANG] = ACTIONS(1162),
    [anon_sym_TILDE] = ACTIONS(1162),
    [sym_constant] = ACTIONS(3488),
    [sym_identifier] = ACTIONS(3488),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_false] = ACTIONS(1186),
    [anon_sym_nil] = ACTIONS(1188),
    [anon_sym_self] = ACTIONS(3490),
    [anon_sym_super] = ACTIONS(3492),
    [anon_sym_true] = ACTIONS(1184),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(3472),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [2360] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(5205),
    [sym__primary] = STATE(693),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(695),
    [sym_call] = STATE(695),
    [sym_method_call] = STATE(694),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(701),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(702),
    [sym__variable] = STATE(695),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2286),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(3410),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__string_beginning] = ACTIONS(3412),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__unary_minus] = ACTIONS(1124),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(3416),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3420),
    [anon_sym_module] = ACTIONS(3422),
    [anon_sym_return] = ACTIONS(3476),
    [anon_sym_yield] = ACTIONS(3478),
    [anon_sym_break] = ACTIONS(3480),
    [anon_sym_next] = ACTIONS(3482),
    [anon_sym_redo] = ACTIONS(3432),
    [anon_sym_retry] = ACTIONS(3434),
    [anon_sym_if] = ACTIONS(3436),
    [anon_sym_unless] = ACTIONS(3438),
    [anon_sym_while] = ACTIONS(3440),
    [anon_sym_until] = ACTIONS(3442),
    [anon_sym_for] = ACTIONS(3444),
    [anon_sym_case] = ACTIONS(3446),
    [anon_sym_begin] = ACTIONS(3448),
    [anon_sym_PLUS] = ACTIONS(3484),
    [anon_sym_defined_QMARK] = ACTIONS(1156),
    [anon_sym_not] = ACTIONS(3486),
    [anon_sym_BANG] = ACTIONS(1162),
    [anon_sym_TILDE] = ACTIONS(1162),
    [sym_constant] = ACTIONS(3488),
    [sym_identifier] = ACTIONS(3488),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_false] = ACTIONS(1186),
    [anon_sym_nil] = ACTIONS(1188),
    [anon_sym_self] = ACTIONS(3490),
    [anon_sym_super] = ACTIONS(3492),
    [anon_sym_true] = ACTIONS(1184),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(3472),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [2361] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(501),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(5207),
    [sym__argument] = STATE(506),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(509),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(510),
    [sym__variable] = STATE(504),
    [sym_reserved_identifier] = STATE(511),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(512),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(5208),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(804),
    [sym__splat_star] = ACTIONS(806),
    [sym__unary_minus] = ACTIONS(808),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(818),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(824),
    [anon_sym_yield] = ACTIONS(826),
    [anon_sym_break] = ACTIONS(828),
    [anon_sym_next] = ACTIONS(830),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_RBRACK] = ACTIONS(7460),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(852),
    [anon_sym_defined_QMARK] = ACTIONS(854),
    [anon_sym_not] = ACTIONS(856),
    [anon_sym_BANG] = ACTIONS(858),
    [anon_sym_TILDE] = ACTIONS(858),
    [sym_constant] = ACTIONS(860),
    [sym_identifier] = ACTIONS(860),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2362] = {
    [sym_constant] = ACTIONS(7462),
    [sym_identifier] = ACTIONS(7462),
    [sym_comment] = ACTIONS(110),
  },
  [2363] = {
    [sym_argument_list_with_parens] = STATE(5212),
    [sym__argument_list_with_parens] = STATE(5213),
    [sym_operator] = STATE(5212),
    [sym__argument_list_left_paren] = ACTIONS(7464),
    [anon_sym_PIPE] = ACTIONS(7466),
    [anon_sym_STAR] = ACTIONS(7468),
    [anon_sym_STAR_STAR] = ACTIONS(7466),
    [anon_sym_AMP] = ACTIONS(7466),
    [anon_sym_LT] = ACTIONS(7468),
    [anon_sym_DOT_DOT] = ACTIONS(7466),
    [anon_sym_LT_LT] = ACTIONS(7466),
    [anon_sym_GT_GT] = ACTIONS(7466),
    [anon_sym_EQ_EQ] = ACTIONS(7468),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7466),
    [anon_sym_LT_EQ_GT] = ACTIONS(7466),
    [anon_sym_EQ_TILDE] = ACTIONS(7466),
    [anon_sym_BANG_TILDE] = ACTIONS(7466),
    [anon_sym_LT_EQ] = ACTIONS(7468),
    [anon_sym_GT] = ACTIONS(7468),
    [anon_sym_GT_EQ] = ACTIONS(7466),
    [anon_sym_CARET] = ACTIONS(7466),
    [anon_sym_PLUS] = ACTIONS(7468),
    [anon_sym_SLASH] = ACTIONS(7466),
    [anon_sym_PERCENT] = ACTIONS(7466),
    [anon_sym_BANG] = ACTIONS(7468),
    [anon_sym_TILDE] = ACTIONS(7466),
    [sym_constant] = ACTIONS(7470),
    [sym_identifier] = ACTIONS(7470),
    [anon_sym_DASH] = ACTIONS(7468),
    [anon_sym_PLUS_AT] = ACTIONS(7466),
    [anon_sym_DASH_AT] = ACTIONS(7466),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(7468),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(7466),
    [anon_sym_BQUOTE] = ACTIONS(7466),
    [sym_comment] = ACTIONS(110),
  },
  [2364] = {
    [sym_method] = STATE(769),
    [sym_singleton_method] = STATE(769),
    [sym_class] = STATE(769),
    [sym_singleton_class] = STATE(769),
    [sym_module] = STATE(769),
    [sym_return] = STATE(769),
    [sym_yield] = STATE(769),
    [sym_break] = STATE(769),
    [sym_next] = STATE(769),
    [sym_redo] = STATE(769),
    [sym_retry] = STATE(769),
    [sym_while] = STATE(769),
    [sym_until] = STATE(769),
    [sym_for] = STATE(769),
    [sym_case] = STATE(769),
    [sym_if] = STATE(769),
    [sym_unless] = STATE(769),
    [sym_begin] = STATE(769),
    [sym__arg] = STATE(5214),
    [sym__primary] = STATE(804),
    [sym_parenthesized_statements] = STATE(769),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(805),
    [sym_call] = STATE(805),
    [sym_method_call] = STATE(694),
    [sym_assignment] = STATE(811),
    [sym_operator_assignment] = STATE(811),
    [sym_conditional] = STATE(811),
    [sym_range] = STATE(811),
    [sym_binary] = STATE(811),
    [sym_unary] = STATE(811),
    [sym_left_assignment_list] = STATE(812),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(813),
    [sym__variable] = STATE(805),
    [sym_symbol] = STATE(769),
    [sym_complex] = STATE(769),
    [sym_rational] = STATE(769),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(769),
    [sym_string] = STATE(2518),
    [sym_subshell] = STATE(769),
    [sym_array] = STATE(769),
    [sym_hash] = STATE(769),
    [sym_regex] = STATE(769),
    [sym_lambda] = STATE(769),
    [sym__simple_string] = ACTIONS(3712),
    [sym__simple_symbol] = ACTIONS(1276),
    [sym__simple_subshell] = ACTIONS(1278),
    [sym__simple_regex] = ACTIONS(1280),
    [sym__simple_word_list] = ACTIONS(1282),
    [sym__string_beginning] = ACTIONS(3714),
    [sym__symbol_beginning] = ACTIONS(1286),
    [sym__subshell_beginning] = ACTIONS(1288),
    [sym__regex_beginning] = ACTIONS(1290),
    [sym__word_list_beginning] = ACTIONS(1292),
    [sym_heredoc_beginning] = ACTIONS(1294),
    [sym__unary_minus] = ACTIONS(1302),
    [anon_sym_LBRACE] = ACTIONS(3716),
    [anon_sym_def] = ACTIONS(3718),
    [anon_sym_LPAREN] = ACTIONS(1308),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3720),
    [anon_sym_module] = ACTIONS(3722),
    [anon_sym_return] = ACTIONS(3724),
    [anon_sym_yield] = ACTIONS(3726),
    [anon_sym_break] = ACTIONS(3728),
    [anon_sym_next] = ACTIONS(3730),
    [anon_sym_redo] = ACTIONS(3732),
    [anon_sym_retry] = ACTIONS(3734),
    [anon_sym_if] = ACTIONS(3736),
    [anon_sym_unless] = ACTIONS(3738),
    [anon_sym_while] = ACTIONS(3740),
    [anon_sym_until] = ACTIONS(3742),
    [anon_sym_for] = ACTIONS(3744),
    [anon_sym_case] = ACTIONS(3746),
    [anon_sym_begin] = ACTIONS(3748),
    [anon_sym_PLUS] = ACTIONS(3750),
    [anon_sym_defined_QMARK] = ACTIONS(1334),
    [anon_sym_not] = ACTIONS(3752),
    [anon_sym_BANG] = ACTIONS(1340),
    [anon_sym_TILDE] = ACTIONS(1340),
    [sym_constant] = ACTIONS(3488),
    [sym_identifier] = ACTIONS(3488),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_false] = ACTIONS(1186),
    [anon_sym_nil] = ACTIONS(1188),
    [anon_sym_self] = ACTIONS(3490),
    [anon_sym_super] = ACTIONS(3492),
    [anon_sym_true] = ACTIONS(1184),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1344),
    [sym_float] = ACTIONS(1346),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1348),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1350),
    [sym_keyword__LINE__] = ACTIONS(1350),
    [sym_keyword__ENCODING__] = ACTIONS(1350),
    [sym__character_literal] = ACTIONS(3754),
    [anon_sym_LBRACK] = ACTIONS(1354),
    [anon_sym_DASH_GT] = ACTIONS(1356),
  },
  [2365] = {
    [sym_method] = STATE(769),
    [sym_singleton_method] = STATE(769),
    [sym_class] = STATE(769),
    [sym_singleton_class] = STATE(769),
    [sym_module] = STATE(769),
    [sym_return] = STATE(769),
    [sym_yield] = STATE(769),
    [sym_break] = STATE(769),
    [sym_next] = STATE(769),
    [sym_redo] = STATE(769),
    [sym_retry] = STATE(769),
    [sym_while] = STATE(769),
    [sym_until] = STATE(769),
    [sym_for] = STATE(769),
    [sym_case] = STATE(769),
    [sym_if] = STATE(769),
    [sym_unless] = STATE(769),
    [sym_begin] = STATE(769),
    [sym__arg] = STATE(5215),
    [sym__primary] = STATE(804),
    [sym_parenthesized_statements] = STATE(769),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(805),
    [sym_call] = STATE(805),
    [sym_method_call] = STATE(694),
    [sym_assignment] = STATE(811),
    [sym_operator_assignment] = STATE(811),
    [sym_conditional] = STATE(811),
    [sym_range] = STATE(811),
    [sym_binary] = STATE(811),
    [sym_unary] = STATE(811),
    [sym_left_assignment_list] = STATE(812),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(813),
    [sym__variable] = STATE(805),
    [sym_symbol] = STATE(769),
    [sym_complex] = STATE(769),
    [sym_rational] = STATE(769),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(769),
    [sym_string] = STATE(2518),
    [sym_subshell] = STATE(769),
    [sym_array] = STATE(769),
    [sym_hash] = STATE(769),
    [sym_regex] = STATE(769),
    [sym_lambda] = STATE(769),
    [sym__simple_string] = ACTIONS(3712),
    [sym__simple_symbol] = ACTIONS(1276),
    [sym__simple_subshell] = ACTIONS(1278),
    [sym__simple_regex] = ACTIONS(1280),
    [sym__simple_word_list] = ACTIONS(1282),
    [sym__string_beginning] = ACTIONS(3714),
    [sym__symbol_beginning] = ACTIONS(1286),
    [sym__subshell_beginning] = ACTIONS(1288),
    [sym__regex_beginning] = ACTIONS(1290),
    [sym__word_list_beginning] = ACTIONS(1292),
    [sym_heredoc_beginning] = ACTIONS(1294),
    [sym__unary_minus] = ACTIONS(1302),
    [anon_sym_LBRACE] = ACTIONS(3716),
    [anon_sym_def] = ACTIONS(3718),
    [anon_sym_LPAREN] = ACTIONS(1308),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3720),
    [anon_sym_module] = ACTIONS(3722),
    [anon_sym_return] = ACTIONS(3724),
    [anon_sym_yield] = ACTIONS(3726),
    [anon_sym_break] = ACTIONS(3728),
    [anon_sym_next] = ACTIONS(3730),
    [anon_sym_redo] = ACTIONS(3732),
    [anon_sym_retry] = ACTIONS(3734),
    [anon_sym_if] = ACTIONS(3736),
    [anon_sym_unless] = ACTIONS(3738),
    [anon_sym_while] = ACTIONS(3740),
    [anon_sym_until] = ACTIONS(3742),
    [anon_sym_for] = ACTIONS(3744),
    [anon_sym_case] = ACTIONS(3746),
    [anon_sym_begin] = ACTIONS(3748),
    [anon_sym_PLUS] = ACTIONS(3750),
    [anon_sym_defined_QMARK] = ACTIONS(1334),
    [anon_sym_not] = ACTIONS(3752),
    [anon_sym_BANG] = ACTIONS(1340),
    [anon_sym_TILDE] = ACTIONS(1340),
    [sym_constant] = ACTIONS(3488),
    [sym_identifier] = ACTIONS(3488),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_false] = ACTIONS(1186),
    [anon_sym_nil] = ACTIONS(1188),
    [anon_sym_self] = ACTIONS(3490),
    [anon_sym_super] = ACTIONS(3492),
    [anon_sym_true] = ACTIONS(1184),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1344),
    [sym_float] = ACTIONS(1346),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1348),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1350),
    [sym_keyword__LINE__] = ACTIONS(1350),
    [sym_keyword__ENCODING__] = ACTIONS(1350),
    [sym__character_literal] = ACTIONS(3754),
    [anon_sym_LBRACK] = ACTIONS(1354),
    [anon_sym_DASH_GT] = ACTIONS(1356),
  },
  [2366] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1382),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(5217),
    [sym__argument] = STATE(1385),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1386),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1387),
    [sym__variable] = STATE(1383),
    [sym_reserved_identifier] = STATE(1388),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1389),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(5218),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(2154),
    [sym__splat_star] = ACTIONS(2156),
    [sym__unary_minus] = ACTIONS(2158),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(7472),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2162),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2164),
    [anon_sym_yield] = ACTIONS(2166),
    [anon_sym_break] = ACTIONS(2168),
    [anon_sym_next] = ACTIONS(2170),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2172),
    [anon_sym_defined_QMARK] = ACTIONS(2174),
    [anon_sym_not] = ACTIONS(2176),
    [anon_sym_BANG] = ACTIONS(2178),
    [anon_sym_TILDE] = ACTIONS(2178),
    [sym_constant] = ACTIONS(2180),
    [sym_identifier] = ACTIONS(2180),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2367] = {
    [sym__statements] = STATE(5219),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(5220),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2128),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_hash_splat_argument] = STATE(197),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(2130),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2131),
    [sym__variable] = STATE(2129),
    [sym_reserved_identifier] = STATE(201),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(2132),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(2522),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym__hash_items] = STATE(2523),
    [sym_pair] = STATE(205),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3268),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(3756),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_PIPE] = ACTIONS(3048),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(302),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(3272),
    [anon_sym_yield] = ACTIONS(3274),
    [anon_sym_break] = ACTIONS(3276),
    [anon_sym_next] = ACTIONS(3278),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(3280),
    [anon_sym_defined_QMARK] = ACTIONS(3282),
    [anon_sym_not] = ACTIONS(3284),
    [anon_sym_BANG] = ACTIONS(3286),
    [anon_sym_TILDE] = ACTIONS(3286),
    [sym_constant] = ACTIONS(3288),
    [sym_identifier] = ACTIONS(3288),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(3290),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(3292),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2368] = {
    [sym_method] = STATE(769),
    [sym_singleton_method] = STATE(769),
    [sym_class] = STATE(769),
    [sym_singleton_class] = STATE(769),
    [sym_module] = STATE(769),
    [sym_return] = STATE(769),
    [sym_yield] = STATE(769),
    [sym_break] = STATE(769),
    [sym_next] = STATE(769),
    [sym_redo] = STATE(769),
    [sym_retry] = STATE(769),
    [sym_while] = STATE(769),
    [sym_until] = STATE(769),
    [sym_for] = STATE(769),
    [sym_case] = STATE(769),
    [sym_if] = STATE(769),
    [sym_unless] = STATE(769),
    [sym_begin] = STATE(769),
    [sym__arg] = STATE(5221),
    [sym__primary] = STATE(804),
    [sym_parenthesized_statements] = STATE(769),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(805),
    [sym_call] = STATE(805),
    [sym_method_call] = STATE(694),
    [sym_assignment] = STATE(811),
    [sym_operator_assignment] = STATE(811),
    [sym_conditional] = STATE(811),
    [sym_range] = STATE(811),
    [sym_binary] = STATE(811),
    [sym_unary] = STATE(811),
    [sym_left_assignment_list] = STATE(812),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(813),
    [sym__variable] = STATE(805),
    [sym_symbol] = STATE(769),
    [sym_complex] = STATE(769),
    [sym_rational] = STATE(769),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(769),
    [sym_string] = STATE(2518),
    [sym_subshell] = STATE(769),
    [sym_array] = STATE(769),
    [sym_hash] = STATE(769),
    [sym_regex] = STATE(769),
    [sym_lambda] = STATE(769),
    [sym__simple_string] = ACTIONS(3712),
    [sym__simple_symbol] = ACTIONS(1276),
    [sym__simple_subshell] = ACTIONS(1278),
    [sym__simple_regex] = ACTIONS(1280),
    [sym__simple_word_list] = ACTIONS(1282),
    [sym__string_beginning] = ACTIONS(3714),
    [sym__symbol_beginning] = ACTIONS(1286),
    [sym__subshell_beginning] = ACTIONS(1288),
    [sym__regex_beginning] = ACTIONS(1290),
    [sym__word_list_beginning] = ACTIONS(1292),
    [sym_heredoc_beginning] = ACTIONS(1294),
    [sym__unary_minus] = ACTIONS(1302),
    [anon_sym_LBRACE] = ACTIONS(3716),
    [anon_sym_def] = ACTIONS(3718),
    [anon_sym_LPAREN] = ACTIONS(1308),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3720),
    [anon_sym_module] = ACTIONS(3722),
    [anon_sym_return] = ACTIONS(3724),
    [anon_sym_yield] = ACTIONS(3726),
    [anon_sym_break] = ACTIONS(3728),
    [anon_sym_next] = ACTIONS(3730),
    [anon_sym_redo] = ACTIONS(3732),
    [anon_sym_retry] = ACTIONS(3734),
    [anon_sym_if] = ACTIONS(3736),
    [anon_sym_unless] = ACTIONS(3738),
    [anon_sym_while] = ACTIONS(3740),
    [anon_sym_until] = ACTIONS(3742),
    [anon_sym_for] = ACTIONS(3744),
    [anon_sym_case] = ACTIONS(3746),
    [anon_sym_begin] = ACTIONS(3748),
    [anon_sym_PLUS] = ACTIONS(3750),
    [anon_sym_defined_QMARK] = ACTIONS(1334),
    [anon_sym_not] = ACTIONS(3752),
    [anon_sym_BANG] = ACTIONS(1340),
    [anon_sym_TILDE] = ACTIONS(1340),
    [sym_constant] = ACTIONS(3488),
    [sym_identifier] = ACTIONS(3488),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_false] = ACTIONS(1186),
    [anon_sym_nil] = ACTIONS(1188),
    [anon_sym_self] = ACTIONS(3490),
    [anon_sym_super] = ACTIONS(3492),
    [anon_sym_true] = ACTIONS(1184),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1344),
    [sym_float] = ACTIONS(1346),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1348),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1350),
    [sym_keyword__LINE__] = ACTIONS(1350),
    [sym_keyword__ENCODING__] = ACTIONS(1350),
    [sym__character_literal] = ACTIONS(3754),
    [anon_sym_LBRACK] = ACTIONS(1354),
    [anon_sym_DASH_GT] = ACTIONS(1356),
  },
  [2369] = {
    [sym__statements] = STATE(5223),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(5224),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1981),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(5225),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(3076),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(3078),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(3080),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(7474),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(3086),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2370] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym__string_middle] = ACTIONS(722),
    [sym__string_end] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(7476),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [2371] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__string_middle] = ACTIONS(2210),
    [sym__string_end] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(3782),
    [sym__binary_star] = ACTIONS(3784),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(3786),
    [anon_sym_STAR_STAR] = ACTIONS(3788),
    [anon_sym_AMP] = ACTIONS(3790),
    [anon_sym_EQ] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(3792),
    [anon_sym_if] = ACTIONS(2210),
    [anon_sym_unless] = ACTIONS(2210),
    [anon_sym_while] = ACTIONS(2210),
    [anon_sym_until] = ACTIONS(2210),
    [anon_sym_rescue] = ACTIONS(2210),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_PLUS_EQ] = ACTIONS(2210),
    [anon_sym_DASH_EQ] = ACTIONS(2210),
    [anon_sym_STAR_EQ] = ACTIONS(2210),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2210),
    [anon_sym_SLASH_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2210),
    [anon_sym_AMP_EQ] = ACTIONS(2210),
    [anon_sym_PERCENT_EQ] = ACTIONS(2210),
    [anon_sym_GT_GT_EQ] = ACTIONS(2210),
    [anon_sym_LT_LT_EQ] = ACTIONS(2210),
    [anon_sym_CARET_EQ] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(3794),
    [anon_sym_DOT_DOT] = ACTIONS(3796),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3798),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(3800),
    [anon_sym_AMP_AMP] = ACTIONS(3800),
    [anon_sym_LT_LT] = ACTIONS(3802),
    [anon_sym_GT_GT] = ACTIONS(3802),
    [anon_sym_EQ_EQ] = ACTIONS(3800),
    [anon_sym_BANG_EQ] = ACTIONS(3804),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3804),
    [anon_sym_LT_EQ_GT] = ACTIONS(3804),
    [anon_sym_EQ_TILDE] = ACTIONS(3804),
    [anon_sym_BANG_TILDE] = ACTIONS(3804),
    [anon_sym_LT_EQ] = ACTIONS(3792),
    [anon_sym_GT] = ACTIONS(3792),
    [anon_sym_GT_EQ] = ACTIONS(3806),
    [anon_sym_CARET] = ACTIONS(3786),
    [anon_sym_PLUS] = ACTIONS(3808),
    [anon_sym_SLASH] = ACTIONS(3788),
    [anon_sym_PERCENT] = ACTIONS(3788),
    [sym_comment] = ACTIONS(256),
  },
  [2372] = {
    [sym_do_block] = STATE(5227),
    [sym_block] = STATE(5227),
    [sym__simple_heredoc_body] = ACTIONS(3346),
    [sym__heredoc_body_beginning] = ACTIONS(3346),
    [sym__string_middle] = ACTIONS(3346),
    [sym__string_end] = ACTIONS(3346),
    [sym__element_reference_left_bracket] = ACTIONS(3346),
    [sym__scope_double_colon] = ACTIONS(3346),
    [sym__binary_minus] = ACTIONS(3346),
    [sym__binary_star] = ACTIONS(3346),
    [anon_sym_LBRACE] = ACTIONS(3778),
    [anon_sym_DOT] = ACTIONS(3350),
    [anon_sym_COMMA] = ACTIONS(3346),
    [anon_sym_PIPE] = ACTIONS(3350),
    [anon_sym_STAR_STAR] = ACTIONS(3350),
    [anon_sym_AMP] = ACTIONS(3350),
    [anon_sym_EQ] = ACTIONS(3350),
    [anon_sym_LT] = ACTIONS(3350),
    [anon_sym_if] = ACTIONS(3346),
    [anon_sym_unless] = ACTIONS(3346),
    [anon_sym_while] = ACTIONS(3346),
    [anon_sym_until] = ACTIONS(3346),
    [anon_sym_rescue] = ACTIONS(3346),
    [anon_sym_do] = ACTIONS(7478),
    [anon_sym_EQ_GT] = ACTIONS(3346),
    [anon_sym_AMP_DOT] = ACTIONS(3346),
    [anon_sym_PLUS_EQ] = ACTIONS(3346),
    [anon_sym_DASH_EQ] = ACTIONS(3346),
    [anon_sym_STAR_EQ] = ACTIONS(3346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3346),
    [anon_sym_SLASH_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3346),
    [anon_sym_AMP_EQ] = ACTIONS(3346),
    [anon_sym_PERCENT_EQ] = ACTIONS(3346),
    [anon_sym_GT_GT_EQ] = ACTIONS(3346),
    [anon_sym_LT_LT_EQ] = ACTIONS(3346),
    [anon_sym_CARET_EQ] = ACTIONS(3346),
    [anon_sym_QMARK] = ACTIONS(3346),
    [anon_sym_DOT_DOT] = ACTIONS(3350),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3346),
    [anon_sym_and] = ACTIONS(3346),
    [anon_sym_or] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE] = ACTIONS(3350),
    [anon_sym_AMP_AMP] = ACTIONS(3350),
    [anon_sym_LT_LT] = ACTIONS(3350),
    [anon_sym_GT_GT] = ACTIONS(3350),
    [anon_sym_EQ_EQ] = ACTIONS(3350),
    [anon_sym_BANG_EQ] = ACTIONS(3346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3346),
    [anon_sym_LT_EQ_GT] = ACTIONS(3346),
    [anon_sym_EQ_TILDE] = ACTIONS(3346),
    [anon_sym_BANG_TILDE] = ACTIONS(3346),
    [anon_sym_LT_EQ] = ACTIONS(3350),
    [anon_sym_GT] = ACTIONS(3350),
    [anon_sym_GT_EQ] = ACTIONS(3346),
    [anon_sym_CARET] = ACTIONS(3350),
    [anon_sym_PLUS] = ACTIONS(3350),
    [anon_sym_SLASH] = ACTIONS(3350),
    [anon_sym_PERCENT] = ACTIONS(3350),
    [sym_comment] = ACTIONS(256),
  },
  [2373] = {
    [sym_heredoc_end] = STATE(5230),
    [aux_sym_argument_list_repeat2] = STATE(5231),
    [sym__simple_heredoc_body] = ACTIONS(7480),
    [sym__heredoc_body_beginning] = ACTIONS(7482),
    [sym__string_middle] = ACTIONS(2272),
    [sym__string_end] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(2272),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_STAR_STAR] = ACTIONS(2274),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_EQ] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_if] = ACTIONS(2272),
    [anon_sym_unless] = ACTIONS(2272),
    [anon_sym_while] = ACTIONS(2272),
    [anon_sym_until] = ACTIONS(2272),
    [anon_sym_rescue] = ACTIONS(2272),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_EQ_GT] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_PLUS_EQ] = ACTIONS(2272),
    [anon_sym_DASH_EQ] = ACTIONS(2272),
    [anon_sym_STAR_EQ] = ACTIONS(2272),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2272),
    [anon_sym_SLASH_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2272),
    [anon_sym_AMP_EQ] = ACTIONS(2272),
    [anon_sym_PERCENT_EQ] = ACTIONS(2272),
    [anon_sym_GT_GT_EQ] = ACTIONS(2272),
    [anon_sym_LT_LT_EQ] = ACTIONS(2272),
    [anon_sym_CARET_EQ] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2274),
    [anon_sym_AMP_AMP] = ACTIONS(2274),
    [anon_sym_LT_LT] = ACTIONS(2274),
    [anon_sym_GT_GT] = ACTIONS(2274),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2274),
    [anon_sym_PLUS] = ACTIONS(2274),
    [anon_sym_SLASH] = ACTIONS(2274),
    [anon_sym_PERCENT] = ACTIONS(2274),
    [sym_comment] = ACTIONS(256),
  },
  [2374] = {
    [sym_heredoc_end] = STATE(5230),
    [aux_sym_argument_list_repeat1] = STATE(5233),
    [aux_sym_argument_list_repeat2] = STATE(5231),
    [sym__simple_heredoc_body] = ACTIONS(7480),
    [sym__heredoc_body_beginning] = ACTIONS(7482),
    [sym__string_middle] = ACTIONS(2272),
    [sym__string_end] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(7484),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_STAR_STAR] = ACTIONS(2274),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_EQ] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_if] = ACTIONS(2272),
    [anon_sym_unless] = ACTIONS(2272),
    [anon_sym_while] = ACTIONS(2272),
    [anon_sym_until] = ACTIONS(2272),
    [anon_sym_rescue] = ACTIONS(2272),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_EQ_GT] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_PLUS_EQ] = ACTIONS(2272),
    [anon_sym_DASH_EQ] = ACTIONS(2272),
    [anon_sym_STAR_EQ] = ACTIONS(2272),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2272),
    [anon_sym_SLASH_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2272),
    [anon_sym_AMP_EQ] = ACTIONS(2272),
    [anon_sym_PERCENT_EQ] = ACTIONS(2272),
    [anon_sym_GT_GT_EQ] = ACTIONS(2272),
    [anon_sym_LT_LT_EQ] = ACTIONS(2272),
    [anon_sym_CARET_EQ] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2274),
    [anon_sym_AMP_AMP] = ACTIONS(2274),
    [anon_sym_LT_LT] = ACTIONS(2274),
    [anon_sym_GT_GT] = ACTIONS(2274),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2274),
    [anon_sym_PLUS] = ACTIONS(2274),
    [anon_sym_SLASH] = ACTIONS(2274),
    [anon_sym_PERCENT] = ACTIONS(2274),
    [sym_comment] = ACTIONS(256),
  },
  [2375] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__string_middle] = ACTIONS(2210),
    [sym__string_end] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(2210),
    [sym__binary_star] = ACTIONS(2210),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(2216),
    [anon_sym_STAR_STAR] = ACTIONS(2216),
    [anon_sym_AMP] = ACTIONS(2216),
    [anon_sym_EQ] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(2216),
    [anon_sym_if] = ACTIONS(2210),
    [anon_sym_unless] = ACTIONS(2210),
    [anon_sym_while] = ACTIONS(2210),
    [anon_sym_until] = ACTIONS(2210),
    [anon_sym_rescue] = ACTIONS(2210),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_PLUS_EQ] = ACTIONS(2210),
    [anon_sym_DASH_EQ] = ACTIONS(2210),
    [anon_sym_STAR_EQ] = ACTIONS(2210),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2210),
    [anon_sym_SLASH_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2210),
    [anon_sym_AMP_EQ] = ACTIONS(2210),
    [anon_sym_PERCENT_EQ] = ACTIONS(2210),
    [anon_sym_GT_GT_EQ] = ACTIONS(2210),
    [anon_sym_LT_LT_EQ] = ACTIONS(2210),
    [anon_sym_CARET_EQ] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(2210),
    [anon_sym_DOT_DOT] = ACTIONS(2216),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2210),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(2216),
    [anon_sym_AMP_AMP] = ACTIONS(2216),
    [anon_sym_LT_LT] = ACTIONS(2216),
    [anon_sym_GT_GT] = ACTIONS(2216),
    [anon_sym_EQ_EQ] = ACTIONS(2216),
    [anon_sym_BANG_EQ] = ACTIONS(2210),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2210),
    [anon_sym_LT_EQ_GT] = ACTIONS(2210),
    [anon_sym_EQ_TILDE] = ACTIONS(2210),
    [anon_sym_BANG_TILDE] = ACTIONS(2210),
    [anon_sym_LT_EQ] = ACTIONS(2216),
    [anon_sym_GT] = ACTIONS(2216),
    [anon_sym_GT_EQ] = ACTIONS(2210),
    [anon_sym_CARET] = ACTIONS(2216),
    [anon_sym_PLUS] = ACTIONS(2216),
    [anon_sym_SLASH] = ACTIONS(2216),
    [anon_sym_PERCENT] = ACTIONS(2216),
    [sym_comment] = ACTIONS(256),
  },
  [2376] = {
    [sym__simple_heredoc_body] = ACTIONS(3346),
    [sym__heredoc_body_beginning] = ACTIONS(3346),
    [sym__string_middle] = ACTIONS(3346),
    [sym__string_end] = ACTIONS(3346),
    [sym__element_reference_left_bracket] = ACTIONS(3346),
    [sym__scope_double_colon] = ACTIONS(3346),
    [sym__binary_minus] = ACTIONS(3346),
    [sym__binary_star] = ACTIONS(3346),
    [anon_sym_LBRACE] = ACTIONS(3346),
    [anon_sym_DOT] = ACTIONS(3350),
    [anon_sym_COMMA] = ACTIONS(3346),
    [anon_sym_PIPE] = ACTIONS(3350),
    [anon_sym_STAR_STAR] = ACTIONS(3350),
    [anon_sym_AMP] = ACTIONS(3350),
    [anon_sym_EQ] = ACTIONS(3350),
    [anon_sym_LT] = ACTIONS(3350),
    [anon_sym_if] = ACTIONS(3346),
    [anon_sym_unless] = ACTIONS(3346),
    [anon_sym_while] = ACTIONS(3346),
    [anon_sym_until] = ACTIONS(3346),
    [anon_sym_rescue] = ACTIONS(3346),
    [anon_sym_do] = ACTIONS(3346),
    [anon_sym_EQ_GT] = ACTIONS(3346),
    [anon_sym_AMP_DOT] = ACTIONS(3346),
    [anon_sym_PLUS_EQ] = ACTIONS(3346),
    [anon_sym_DASH_EQ] = ACTIONS(3346),
    [anon_sym_STAR_EQ] = ACTIONS(3346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3346),
    [anon_sym_SLASH_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3346),
    [anon_sym_AMP_EQ] = ACTIONS(3346),
    [anon_sym_PERCENT_EQ] = ACTIONS(3346),
    [anon_sym_GT_GT_EQ] = ACTIONS(3346),
    [anon_sym_LT_LT_EQ] = ACTIONS(3346),
    [anon_sym_CARET_EQ] = ACTIONS(3346),
    [anon_sym_QMARK] = ACTIONS(3346),
    [anon_sym_DOT_DOT] = ACTIONS(3350),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3346),
    [anon_sym_and] = ACTIONS(3346),
    [anon_sym_or] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE] = ACTIONS(3350),
    [anon_sym_AMP_AMP] = ACTIONS(3350),
    [anon_sym_LT_LT] = ACTIONS(3350),
    [anon_sym_GT_GT] = ACTIONS(3350),
    [anon_sym_EQ_EQ] = ACTIONS(3350),
    [anon_sym_BANG_EQ] = ACTIONS(3346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3346),
    [anon_sym_LT_EQ_GT] = ACTIONS(3346),
    [anon_sym_EQ_TILDE] = ACTIONS(3346),
    [anon_sym_BANG_TILDE] = ACTIONS(3346),
    [anon_sym_LT_EQ] = ACTIONS(3350),
    [anon_sym_GT] = ACTIONS(3350),
    [anon_sym_GT_EQ] = ACTIONS(3346),
    [anon_sym_CARET] = ACTIONS(3350),
    [anon_sym_PLUS] = ACTIONS(3350),
    [anon_sym_SLASH] = ACTIONS(3350),
    [anon_sym_PERCENT] = ACTIONS(3350),
    [sym_comment] = ACTIONS(256),
  },
  [2377] = {
    [sym__keyword_colon] = ACTIONS(7486),
    [sym_comment] = ACTIONS(110),
  },
  [2378] = {
    [sym_string] = STATE(2592),
    [aux_sym_chained_string_repeat1] = STATE(2593),
    [sym__simple_string] = ACTIONS(3712),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(3714),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__string_middle] = ACTIONS(250),
    [sym__string_end] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(7476),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(3754),
  },
  [2379] = {
    [sym__simple_heredoc_body] = ACTIONS(1398),
    [sym__heredoc_body_beginning] = ACTIONS(1398),
    [sym__string_middle] = ACTIONS(1398),
    [sym__string_end] = ACTIONS(1398),
    [sym__element_reference_left_bracket] = ACTIONS(1398),
    [sym__scope_double_colon] = ACTIONS(1398),
    [sym__binary_minus] = ACTIONS(1398),
    [sym__binary_star] = ACTIONS(1398),
    [anon_sym_DOT] = ACTIONS(2666),
    [anon_sym_COMMA] = ACTIONS(1398),
    [anon_sym_PIPE] = ACTIONS(2666),
    [anon_sym_STAR_STAR] = ACTIONS(1398),
    [anon_sym_AMP] = ACTIONS(2666),
    [anon_sym_LT] = ACTIONS(2666),
    [anon_sym_if] = ACTIONS(1398),
    [anon_sym_unless] = ACTIONS(1398),
    [anon_sym_while] = ACTIONS(1398),
    [anon_sym_until] = ACTIONS(1398),
    [anon_sym_rescue] = ACTIONS(1398),
    [anon_sym_EQ_GT] = ACTIONS(1398),
    [anon_sym_AMP_DOT] = ACTIONS(1398),
    [anon_sym_QMARK] = ACTIONS(1398),
    [anon_sym_DOT_DOT] = ACTIONS(2666),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1398),
    [anon_sym_and] = ACTIONS(1398),
    [anon_sym_or] = ACTIONS(1398),
    [anon_sym_PIPE_PIPE] = ACTIONS(1398),
    [anon_sym_AMP_AMP] = ACTIONS(1398),
    [anon_sym_LT_LT] = ACTIONS(1398),
    [anon_sym_GT_GT] = ACTIONS(1398),
    [anon_sym_EQ_EQ] = ACTIONS(2666),
    [anon_sym_BANG_EQ] = ACTIONS(1398),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1398),
    [anon_sym_LT_EQ_GT] = ACTIONS(1398),
    [anon_sym_EQ_TILDE] = ACTIONS(1398),
    [anon_sym_BANG_TILDE] = ACTIONS(1398),
    [anon_sym_LT_EQ] = ACTIONS(2666),
    [anon_sym_GT] = ACTIONS(2666),
    [anon_sym_GT_EQ] = ACTIONS(1398),
    [anon_sym_CARET] = ACTIONS(1398),
    [anon_sym_PLUS] = ACTIONS(1398),
    [anon_sym_SLASH] = ACTIONS(1398),
    [anon_sym_PERCENT] = ACTIONS(1398),
    [sym_comment] = ACTIONS(110),
  },
  [2380] = {
    [sym__statement] = STATE(5235),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [aux_sym_heredoc_end_repeat1] = STATE(5236),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [2381] = {
    [sym__simple_heredoc_body] = ACTIONS(5468),
    [sym__heredoc_body_beginning] = ACTIONS(5468),
    [sym__string_middle] = ACTIONS(5468),
    [sym__string_end] = ACTIONS(5468),
    [sym__element_reference_left_bracket] = ACTIONS(5468),
    [sym__scope_double_colon] = ACTIONS(5468),
    [sym__binary_minus] = ACTIONS(5468),
    [sym__binary_star] = ACTIONS(5468),
    [anon_sym_DOT] = ACTIONS(5470),
    [anon_sym_COMMA] = ACTIONS(5468),
    [anon_sym_PIPE] = ACTIONS(5470),
    [anon_sym_STAR_STAR] = ACTIONS(5468),
    [anon_sym_AMP] = ACTIONS(5470),
    [anon_sym_LT] = ACTIONS(5470),
    [anon_sym_if] = ACTIONS(5468),
    [anon_sym_unless] = ACTIONS(5468),
    [anon_sym_while] = ACTIONS(5468),
    [anon_sym_until] = ACTIONS(5468),
    [anon_sym_rescue] = ACTIONS(5468),
    [anon_sym_EQ_GT] = ACTIONS(5468),
    [anon_sym_AMP_DOT] = ACTIONS(5468),
    [anon_sym_QMARK] = ACTIONS(5468),
    [anon_sym_DOT_DOT] = ACTIONS(5470),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5468),
    [anon_sym_and] = ACTIONS(5468),
    [anon_sym_or] = ACTIONS(5468),
    [anon_sym_PIPE_PIPE] = ACTIONS(5468),
    [anon_sym_AMP_AMP] = ACTIONS(5468),
    [anon_sym_LT_LT] = ACTIONS(5468),
    [anon_sym_GT_GT] = ACTIONS(5468),
    [anon_sym_EQ_EQ] = ACTIONS(5470),
    [anon_sym_BANG_EQ] = ACTIONS(5468),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5468),
    [anon_sym_LT_EQ_GT] = ACTIONS(5468),
    [anon_sym_EQ_TILDE] = ACTIONS(5468),
    [anon_sym_BANG_TILDE] = ACTIONS(5468),
    [anon_sym_LT_EQ] = ACTIONS(5470),
    [anon_sym_GT] = ACTIONS(5470),
    [anon_sym_GT_EQ] = ACTIONS(5468),
    [anon_sym_CARET] = ACTIONS(5468),
    [anon_sym_PLUS] = ACTIONS(5468),
    [anon_sym_SLASH] = ACTIONS(5468),
    [anon_sym_PERCENT] = ACTIONS(5468),
    [sym_comment] = ACTIONS(110),
  },
  [2382] = {
    [sym_heredoc_end] = STATE(5237),
    [sym__simple_heredoc_body] = ACTIONS(3576),
    [sym__heredoc_body_beginning] = ACTIONS(3578),
    [sym__string_middle] = ACTIONS(5472),
    [sym__string_end] = ACTIONS(5472),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(5472),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_STAR_STAR] = ACTIONS(5472),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_if] = ACTIONS(5472),
    [anon_sym_unless] = ACTIONS(5472),
    [anon_sym_while] = ACTIONS(5472),
    [anon_sym_until] = ACTIONS(5472),
    [anon_sym_rescue] = ACTIONS(5472),
    [anon_sym_EQ_GT] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5472),
    [anon_sym_AMP_AMP] = ACTIONS(5472),
    [anon_sym_LT_LT] = ACTIONS(5472),
    [anon_sym_GT_GT] = ACTIONS(5472),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5472),
    [anon_sym_PLUS] = ACTIONS(5472),
    [anon_sym_SLASH] = ACTIONS(5472),
    [anon_sym_PERCENT] = ACTIONS(5472),
    [sym_comment] = ACTIONS(110),
  },
  [2383] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(692),
    [sym__primary] = STATE(693),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(695),
    [sym_call] = STATE(695),
    [sym_method_call] = STATE(694),
    [sym__argument] = STATE(5238),
    [sym_splat_argument] = STATE(699),
    [sym_hash_splat_argument] = STATE(699),
    [sym_block_argument] = STATE(699),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(701),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(702),
    [sym__variable] = STATE(695),
    [sym_reserved_identifier] = STATE(703),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(704),
    [sym_subshell] = STATE(649),
    [sym_heredoc_end] = STATE(5239),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_pair] = STATE(699),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(1096),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(1106),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__block_ampersand] = ACTIONS(1118),
    [sym__splat_star] = ACTIONS(1120),
    [sym__unary_minus] = ACTIONS(1124),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(1128),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(7488),
    [anon_sym_class] = ACTIONS(1134),
    [anon_sym_module] = ACTIONS(1136),
    [anon_sym_return] = ACTIONS(1138),
    [anon_sym_yield] = ACTIONS(1140),
    [anon_sym_break] = ACTIONS(1142),
    [anon_sym_next] = ACTIONS(1144),
    [anon_sym_redo] = ACTIONS(1146),
    [anon_sym_retry] = ACTIONS(1148),
    [anon_sym_if] = ACTIONS(7490),
    [anon_sym_unless] = ACTIONS(7492),
    [anon_sym_while] = ACTIONS(7494),
    [anon_sym_until] = ACTIONS(7496),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1150),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1152),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1154),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(3484),
    [anon_sym_defined_QMARK] = ACTIONS(1156),
    [anon_sym_not] = ACTIONS(1158),
    [anon_sym_BANG] = ACTIONS(1162),
    [anon_sym_TILDE] = ACTIONS(1162),
    [sym_constant] = ACTIONS(1164),
    [sym_identifier] = ACTIONS(1164),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(1168),
    [anon_sym_nil] = ACTIONS(1170),
    [anon_sym_self] = ACTIONS(1172),
    [anon_sym_super] = ACTIONS(1174),
    [anon_sym_true] = ACTIONS(1176),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(1192),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [2384] = {
    [sym_heredoc_end] = STATE(2381),
    [aux_sym_argument_list_repeat2] = STATE(5241),
    [sym__simple_heredoc_body] = ACTIONS(3576),
    [sym__heredoc_body_beginning] = ACTIONS(3578),
    [sym__string_middle] = ACTIONS(5472),
    [sym__string_end] = ACTIONS(5472),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(7498),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_STAR_STAR] = ACTIONS(5472),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_if] = ACTIONS(5472),
    [anon_sym_unless] = ACTIONS(5472),
    [anon_sym_while] = ACTIONS(5472),
    [anon_sym_until] = ACTIONS(5472),
    [anon_sym_rescue] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5472),
    [anon_sym_AMP_AMP] = ACTIONS(5472),
    [anon_sym_LT_LT] = ACTIONS(5472),
    [anon_sym_GT_GT] = ACTIONS(5472),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5472),
    [anon_sym_PLUS] = ACTIONS(5472),
    [anon_sym_SLASH] = ACTIONS(5472),
    [anon_sym_PERCENT] = ACTIONS(5472),
    [sym_comment] = ACTIONS(110),
  },
  [2385] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(5242),
    [sym__primary] = STATE(693),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(695),
    [sym_call] = STATE(695),
    [sym_method_call] = STATE(694),
    [sym_splat_argument] = STATE(5243),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_right_assignment_list] = STATE(5244),
    [sym__arg_or_splat_arg] = STATE(5245),
    [sym_left_assignment_list] = STATE(701),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(702),
    [sym__variable] = STATE(695),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2286),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(3410),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__string_beginning] = ACTIONS(3412),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__splat_star] = ACTIONS(3510),
    [sym__unary_minus] = ACTIONS(1124),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(3416),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3420),
    [anon_sym_module] = ACTIONS(3422),
    [anon_sym_return] = ACTIONS(3476),
    [anon_sym_yield] = ACTIONS(3478),
    [anon_sym_break] = ACTIONS(3480),
    [anon_sym_next] = ACTIONS(3482),
    [anon_sym_redo] = ACTIONS(3432),
    [anon_sym_retry] = ACTIONS(3434),
    [anon_sym_if] = ACTIONS(3436),
    [anon_sym_unless] = ACTIONS(3438),
    [anon_sym_while] = ACTIONS(3440),
    [anon_sym_until] = ACTIONS(3442),
    [anon_sym_for] = ACTIONS(3444),
    [anon_sym_case] = ACTIONS(3446),
    [anon_sym_begin] = ACTIONS(3448),
    [anon_sym_PLUS] = ACTIONS(3484),
    [anon_sym_defined_QMARK] = ACTIONS(1156),
    [anon_sym_not] = ACTIONS(3486),
    [anon_sym_BANG] = ACTIONS(1162),
    [anon_sym_TILDE] = ACTIONS(1162),
    [sym_constant] = ACTIONS(3488),
    [sym_identifier] = ACTIONS(3488),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_false] = ACTIONS(1186),
    [anon_sym_nil] = ACTIONS(1188),
    [anon_sym_self] = ACTIONS(3490),
    [anon_sym_super] = ACTIONS(3492),
    [anon_sym_true] = ACTIONS(1184),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(3472),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [2386] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(5246),
    [sym__primary] = STATE(693),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(695),
    [sym_call] = STATE(695),
    [sym_method_call] = STATE(694),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(701),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(702),
    [sym__variable] = STATE(695),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2286),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(3410),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__string_beginning] = ACTIONS(3412),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__unary_minus] = ACTIONS(1124),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(3416),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3420),
    [anon_sym_module] = ACTIONS(3422),
    [anon_sym_return] = ACTIONS(3476),
    [anon_sym_yield] = ACTIONS(3478),
    [anon_sym_break] = ACTIONS(3480),
    [anon_sym_next] = ACTIONS(3482),
    [anon_sym_redo] = ACTIONS(3432),
    [anon_sym_retry] = ACTIONS(3434),
    [anon_sym_if] = ACTIONS(3436),
    [anon_sym_unless] = ACTIONS(3438),
    [anon_sym_while] = ACTIONS(3440),
    [anon_sym_until] = ACTIONS(3442),
    [anon_sym_for] = ACTIONS(3444),
    [anon_sym_case] = ACTIONS(3446),
    [anon_sym_begin] = ACTIONS(3448),
    [anon_sym_PLUS] = ACTIONS(3484),
    [anon_sym_defined_QMARK] = ACTIONS(1156),
    [anon_sym_not] = ACTIONS(3486),
    [anon_sym_BANG] = ACTIONS(1162),
    [anon_sym_TILDE] = ACTIONS(1162),
    [sym_constant] = ACTIONS(3488),
    [sym_identifier] = ACTIONS(3488),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_false] = ACTIONS(1186),
    [anon_sym_nil] = ACTIONS(1188),
    [anon_sym_self] = ACTIONS(3490),
    [anon_sym_super] = ACTIONS(3492),
    [anon_sym_true] = ACTIONS(1184),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(3472),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [2387] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(5247),
    [sym__primary] = STATE(2281),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(2282),
    [sym_scope_resolution] = STATE(2283),
    [sym_call] = STATE(2283),
    [sym_method_call] = STATE(2282),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(2284),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2285),
    [sym__variable] = STATE(2283),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(2274),
    [sym_true] = STATE(2282),
    [sym_false] = STATE(2282),
    [sym_self] = STATE(2274),
    [sym_nil] = STATE(2282),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2286),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(3410),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__string_beginning] = ACTIONS(3412),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__unary_minus] = ACTIONS(3414),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(3416),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_COLON_COLON] = ACTIONS(3418),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3420),
    [anon_sym_module] = ACTIONS(3422),
    [anon_sym_return] = ACTIONS(3424),
    [anon_sym_yield] = ACTIONS(3426),
    [anon_sym_break] = ACTIONS(3428),
    [anon_sym_next] = ACTIONS(3430),
    [anon_sym_redo] = ACTIONS(3432),
    [anon_sym_retry] = ACTIONS(3434),
    [anon_sym_if] = ACTIONS(3436),
    [anon_sym_unless] = ACTIONS(3438),
    [anon_sym_while] = ACTIONS(3440),
    [anon_sym_until] = ACTIONS(3442),
    [anon_sym_for] = ACTIONS(3444),
    [anon_sym_case] = ACTIONS(3446),
    [anon_sym_begin] = ACTIONS(3448),
    [anon_sym_PLUS] = ACTIONS(3450),
    [anon_sym_defined_QMARK] = ACTIONS(3452),
    [anon_sym_not] = ACTIONS(3454),
    [anon_sym_BANG] = ACTIONS(3456),
    [anon_sym_TILDE] = ACTIONS(3456),
    [sym_constant] = ACTIONS(3458),
    [sym_identifier] = ACTIONS(3458),
    [sym_instance_variable] = ACTIONS(3460),
    [sym_class_variable] = ACTIONS(3460),
    [sym_global_variable] = ACTIONS(3460),
    [anon_sym_false] = ACTIONS(3462),
    [anon_sym_nil] = ACTIONS(3464),
    [anon_sym_self] = ACTIONS(3466),
    [anon_sym_super] = ACTIONS(3468),
    [anon_sym_true] = ACTIONS(3470),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(3470),
    [anon_sym_FALSE] = ACTIONS(3462),
    [anon_sym_NIL] = ACTIONS(3464),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(3472),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [2388] = {
    [sym__simple_string] = ACTIONS(3382),
    [sym__simple_heredoc_body] = ACTIONS(3382),
    [sym__string_beginning] = ACTIONS(3382),
    [sym__heredoc_body_beginning] = ACTIONS(3382),
    [sym__string_middle] = ACTIONS(3382),
    [sym__string_end] = ACTIONS(3382),
    [sym__element_reference_left_bracket] = ACTIONS(3382),
    [sym__scope_double_colon] = ACTIONS(3382),
    [sym__binary_minus] = ACTIONS(3382),
    [sym__binary_star] = ACTIONS(3382),
    [anon_sym_DOT] = ACTIONS(3384),
    [anon_sym_COMMA] = ACTIONS(3382),
    [anon_sym_PIPE] = ACTIONS(3384),
    [anon_sym_STAR_STAR] = ACTIONS(3382),
    [anon_sym_AMP] = ACTIONS(3384),
    [anon_sym_LT] = ACTIONS(3384),
    [anon_sym_if] = ACTIONS(3382),
    [anon_sym_unless] = ACTIONS(3382),
    [anon_sym_while] = ACTIONS(3382),
    [anon_sym_until] = ACTIONS(3382),
    [anon_sym_rescue] = ACTIONS(3382),
    [anon_sym_EQ_GT] = ACTIONS(3382),
    [anon_sym_AMP_DOT] = ACTIONS(3382),
    [anon_sym_QMARK] = ACTIONS(3384),
    [anon_sym_DOT_DOT] = ACTIONS(3384),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3382),
    [anon_sym_and] = ACTIONS(3382),
    [anon_sym_or] = ACTIONS(3382),
    [anon_sym_PIPE_PIPE] = ACTIONS(3382),
    [anon_sym_AMP_AMP] = ACTIONS(3382),
    [anon_sym_LT_LT] = ACTIONS(3382),
    [anon_sym_GT_GT] = ACTIONS(3382),
    [anon_sym_EQ_EQ] = ACTIONS(3384),
    [anon_sym_BANG_EQ] = ACTIONS(3382),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3382),
    [anon_sym_LT_EQ_GT] = ACTIONS(3382),
    [anon_sym_EQ_TILDE] = ACTIONS(3382),
    [anon_sym_BANG_TILDE] = ACTIONS(3382),
    [anon_sym_LT_EQ] = ACTIONS(3384),
    [anon_sym_GT] = ACTIONS(3384),
    [anon_sym_GT_EQ] = ACTIONS(3382),
    [anon_sym_CARET] = ACTIONS(3382),
    [anon_sym_PLUS] = ACTIONS(3382),
    [anon_sym_SLASH] = ACTIONS(3382),
    [anon_sym_PERCENT] = ACTIONS(3382),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(3384),
  },
  [2389] = {
    [sym_string] = STATE(5248),
    [sym__simple_string] = ACTIONS(3410),
    [sym__simple_heredoc_body] = ACTIONS(3386),
    [sym__string_beginning] = ACTIONS(3412),
    [sym__heredoc_body_beginning] = ACTIONS(3386),
    [sym__string_middle] = ACTIONS(3386),
    [sym__string_end] = ACTIONS(3386),
    [sym__element_reference_left_bracket] = ACTIONS(3386),
    [sym__scope_double_colon] = ACTIONS(3386),
    [sym__binary_minus] = ACTIONS(3386),
    [sym__binary_star] = ACTIONS(3386),
    [anon_sym_DOT] = ACTIONS(3388),
    [anon_sym_COMMA] = ACTIONS(3386),
    [anon_sym_PIPE] = ACTIONS(3388),
    [anon_sym_STAR_STAR] = ACTIONS(3386),
    [anon_sym_AMP] = ACTIONS(3388),
    [anon_sym_LT] = ACTIONS(3388),
    [anon_sym_if] = ACTIONS(3386),
    [anon_sym_unless] = ACTIONS(3386),
    [anon_sym_while] = ACTIONS(3386),
    [anon_sym_until] = ACTIONS(3386),
    [anon_sym_rescue] = ACTIONS(3386),
    [anon_sym_EQ_GT] = ACTIONS(3386),
    [anon_sym_AMP_DOT] = ACTIONS(3386),
    [anon_sym_QMARK] = ACTIONS(3388),
    [anon_sym_DOT_DOT] = ACTIONS(3388),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3386),
    [anon_sym_and] = ACTIONS(3386),
    [anon_sym_or] = ACTIONS(3386),
    [anon_sym_PIPE_PIPE] = ACTIONS(3386),
    [anon_sym_AMP_AMP] = ACTIONS(3386),
    [anon_sym_LT_LT] = ACTIONS(3386),
    [anon_sym_GT_GT] = ACTIONS(3386),
    [anon_sym_EQ_EQ] = ACTIONS(3388),
    [anon_sym_BANG_EQ] = ACTIONS(3386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3386),
    [anon_sym_LT_EQ_GT] = ACTIONS(3386),
    [anon_sym_EQ_TILDE] = ACTIONS(3386),
    [anon_sym_BANG_TILDE] = ACTIONS(3386),
    [anon_sym_LT_EQ] = ACTIONS(3388),
    [anon_sym_GT] = ACTIONS(3388),
    [anon_sym_GT_EQ] = ACTIONS(3386),
    [anon_sym_CARET] = ACTIONS(3386),
    [anon_sym_PLUS] = ACTIONS(3386),
    [anon_sym_SLASH] = ACTIONS(3386),
    [anon_sym_PERCENT] = ACTIONS(3386),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(3472),
  },
  [2390] = {
    [sym__statements] = STATE(5250),
    [sym__top_level_statement] = STATE(3863),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(3864),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_elsif] = STATE(3865),
    [sym_else] = STATE(3865),
    [sym__if_tail] = STATE(5251),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3867),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3869),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3870),
    [sym__variable] = STATE(3868),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(3849),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(5252),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(5566),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(5568),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(5570),
    [sym__unary_minus] = ACTIONS(5572),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(7500),
    [anon_sym_SEMI] = ACTIONS(5576),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_elsif] = ACTIONS(5586),
    [anon_sym_else] = ACTIONS(5588),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5590),
    [anon_sym_defined_QMARK] = ACTIONS(5592),
    [anon_sym_not] = ACTIONS(5594),
    [anon_sym_BANG] = ACTIONS(5596),
    [anon_sym_TILDE] = ACTIONS(5596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2391] = {
    [sym__statements] = STATE(5254),
    [sym__top_level_statement] = STATE(3946),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(3947),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(5255),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3949),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3950),
    [sym_call] = STATE(3950),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3951),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3952),
    [sym__variable] = STATE(3950),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5682),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(7502),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5686),
    [anon_sym_yield] = ACTIONS(5688),
    [anon_sym_break] = ACTIONS(5690),
    [anon_sym_next] = ACTIONS(5692),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(5588),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5694),
    [anon_sym_defined_QMARK] = ACTIONS(5696),
    [anon_sym_not] = ACTIONS(5698),
    [anon_sym_BANG] = ACTIONS(5700),
    [anon_sym_TILDE] = ACTIONS(5700),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2392] = {
    [sym__statements] = STATE(5257),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(7504),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2393] = {
    [sym__statements] = STATE(5259),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(7506),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2394] = {
    [sym__do] = STATE(5260),
    [sym_heredoc_end] = STATE(1550),
    [sym__terminator] = STATE(1557),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym__line_break] = ACTIONS(2446),
    [anon_sym_SEMI] = ACTIONS(2446),
    [anon_sym_do] = ACTIONS(2460),
    [sym_comment] = ACTIONS(110),
  },
  [2395] = {
    [sym__string_middle] = ACTIONS(6154),
    [sym__string_end] = ACTIONS(6154),
    [sym__element_reference_left_bracket] = ACTIONS(6154),
    [sym__scope_double_colon] = ACTIONS(6154),
    [sym__binary_minus] = ACTIONS(6154),
    [sym__binary_star] = ACTIONS(6154),
    [anon_sym_DOT] = ACTIONS(6156),
    [anon_sym_COMMA] = ACTIONS(6154),
    [anon_sym_PIPE] = ACTIONS(6156),
    [anon_sym_STAR_STAR] = ACTIONS(6154),
    [anon_sym_AMP] = ACTIONS(6156),
    [anon_sym_LT] = ACTIONS(6156),
    [anon_sym_if] = ACTIONS(6154),
    [anon_sym_unless] = ACTIONS(6154),
    [anon_sym_while] = ACTIONS(6154),
    [anon_sym_until] = ACTIONS(6154),
    [anon_sym_rescue] = ACTIONS(6154),
    [anon_sym_AMP_DOT] = ACTIONS(6154),
    [anon_sym_QMARK] = ACTIONS(6154),
    [anon_sym_DOT_DOT] = ACTIONS(6156),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6154),
    [anon_sym_and] = ACTIONS(6154),
    [anon_sym_or] = ACTIONS(6154),
    [anon_sym_PIPE_PIPE] = ACTIONS(6154),
    [anon_sym_AMP_AMP] = ACTIONS(6154),
    [anon_sym_LT_LT] = ACTIONS(6154),
    [anon_sym_GT_GT] = ACTIONS(6154),
    [anon_sym_EQ_EQ] = ACTIONS(6156),
    [anon_sym_BANG_EQ] = ACTIONS(6154),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6154),
    [anon_sym_LT_EQ_GT] = ACTIONS(6154),
    [anon_sym_EQ_TILDE] = ACTIONS(6154),
    [anon_sym_BANG_TILDE] = ACTIONS(6154),
    [anon_sym_LT_EQ] = ACTIONS(6156),
    [anon_sym_GT] = ACTIONS(6156),
    [anon_sym_GT_EQ] = ACTIONS(6154),
    [anon_sym_CARET] = ACTIONS(6154),
    [anon_sym_PLUS] = ACTIONS(6154),
    [anon_sym_SLASH] = ACTIONS(6154),
    [anon_sym_PERCENT] = ACTIONS(6154),
    [sym_comment] = ACTIONS(110),
  },
  [2396] = {
    [anon_sym_end] = ACTIONS(7508),
    [sym_comment] = ACTIONS(110),
  },
  [2397] = {
    [sym_when] = STATE(5262),
    [sym_heredoc_end] = STATE(387),
    [sym__terminator] = STATE(1688),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym__line_break] = ACTIONS(666),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_when] = ACTIONS(2612),
    [sym_comment] = ACTIONS(110),
  },
  [2398] = {
    [sym__string_middle] = ACTIONS(6600),
    [sym__string_end] = ACTIONS(6600),
    [sym__element_reference_left_bracket] = ACTIONS(6600),
    [sym__scope_double_colon] = ACTIONS(6600),
    [sym__binary_minus] = ACTIONS(6600),
    [sym__binary_star] = ACTIONS(6600),
    [anon_sym_DOT] = ACTIONS(6602),
    [anon_sym_COMMA] = ACTIONS(6600),
    [anon_sym_PIPE] = ACTIONS(6602),
    [anon_sym_STAR_STAR] = ACTIONS(6600),
    [anon_sym_AMP] = ACTIONS(6602),
    [anon_sym_LT] = ACTIONS(6602),
    [anon_sym_if] = ACTIONS(6600),
    [anon_sym_unless] = ACTIONS(6600),
    [anon_sym_while] = ACTIONS(6600),
    [anon_sym_until] = ACTIONS(6600),
    [anon_sym_rescue] = ACTIONS(6600),
    [anon_sym_AMP_DOT] = ACTIONS(6600),
    [anon_sym_QMARK] = ACTIONS(6600),
    [anon_sym_DOT_DOT] = ACTIONS(6602),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6600),
    [anon_sym_and] = ACTIONS(6600),
    [anon_sym_or] = ACTIONS(6600),
    [anon_sym_PIPE_PIPE] = ACTIONS(6600),
    [anon_sym_AMP_AMP] = ACTIONS(6600),
    [anon_sym_LT_LT] = ACTIONS(6600),
    [anon_sym_GT_GT] = ACTIONS(6600),
    [anon_sym_EQ_EQ] = ACTIONS(6602),
    [anon_sym_BANG_EQ] = ACTIONS(6600),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6600),
    [anon_sym_LT_EQ_GT] = ACTIONS(6600),
    [anon_sym_EQ_TILDE] = ACTIONS(6600),
    [anon_sym_BANG_TILDE] = ACTIONS(6600),
    [anon_sym_LT_EQ] = ACTIONS(6602),
    [anon_sym_GT] = ACTIONS(6602),
    [anon_sym_GT_EQ] = ACTIONS(6600),
    [anon_sym_CARET] = ACTIONS(6600),
    [anon_sym_PLUS] = ACTIONS(6600),
    [anon_sym_SLASH] = ACTIONS(6600),
    [anon_sym_PERCENT] = ACTIONS(6600),
    [sym_comment] = ACTIONS(110),
  },
  [2399] = {
    [anon_sym_end] = ACTIONS(7510),
    [sym_comment] = ACTIONS(110),
  },
  [2400] = {
    [sym__string_middle] = ACTIONS(6690),
    [sym__string_end] = ACTIONS(6690),
    [anon_sym_if] = ACTIONS(6690),
    [anon_sym_unless] = ACTIONS(6690),
    [anon_sym_while] = ACTIONS(6690),
    [anon_sym_until] = ACTIONS(6690),
    [anon_sym_rescue] = ACTIONS(6690),
    [sym_comment] = ACTIONS(110),
  },
  [2401] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(7512),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [2402] = {
    [sym__statement] = STATE(5265),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [2403] = {
    [sym__string_middle] = ACTIONS(4690),
    [sym__string_end] = ACTIONS(4690),
    [anon_sym_COMMA] = ACTIONS(4690),
    [anon_sym_if] = ACTIONS(4690),
    [anon_sym_unless] = ACTIONS(4690),
    [anon_sym_while] = ACTIONS(4690),
    [anon_sym_until] = ACTIONS(4690),
    [anon_sym_rescue] = ACTIONS(4690),
    [sym_comment] = ACTIONS(110),
  },
  [2404] = {
    [sym_operator] = STATE(726),
    [sym__method_name] = STATE(5266),
    [sym_setter] = STATE(726),
    [sym_symbol] = STATE(726),
    [sym__simple_symbol] = ACTIONS(1200),
    [sym__symbol_beginning] = ACTIONS(1202),
    [anon_sym_PIPE] = ACTIONS(1204),
    [anon_sym_STAR] = ACTIONS(1206),
    [anon_sym_STAR_STAR] = ACTIONS(1204),
    [anon_sym_AMP] = ACTIONS(1204),
    [anon_sym_LT] = ACTIONS(1206),
    [anon_sym_DOT_DOT] = ACTIONS(1204),
    [anon_sym_LT_LT] = ACTIONS(1204),
    [anon_sym_GT_GT] = ACTIONS(1204),
    [anon_sym_EQ_EQ] = ACTIONS(1206),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1204),
    [anon_sym_LT_EQ_GT] = ACTIONS(1204),
    [anon_sym_EQ_TILDE] = ACTIONS(1204),
    [anon_sym_BANG_TILDE] = ACTIONS(1204),
    [anon_sym_LT_EQ] = ACTIONS(1206),
    [anon_sym_GT] = ACTIONS(1206),
    [anon_sym_GT_EQ] = ACTIONS(1204),
    [anon_sym_CARET] = ACTIONS(1204),
    [anon_sym_PLUS] = ACTIONS(1206),
    [anon_sym_SLASH] = ACTIONS(1204),
    [anon_sym_PERCENT] = ACTIONS(1204),
    [anon_sym_BANG] = ACTIONS(1206),
    [anon_sym_TILDE] = ACTIONS(1204),
    [sym_constant] = ACTIONS(1208),
    [sym_identifier] = ACTIONS(1210),
    [sym_instance_variable] = ACTIONS(1208),
    [sym_class_variable] = ACTIONS(1208),
    [sym_global_variable] = ACTIONS(1208),
    [anon_sym_DASH] = ACTIONS(1206),
    [anon_sym_PLUS_AT] = ACTIONS(1204),
    [anon_sym_DASH_AT] = ACTIONS(1204),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1206),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(1204),
    [anon_sym_BQUOTE] = ACTIONS(1204),
    [sym_comment] = ACTIONS(110),
  },
  [2405] = {
    [sym__string_middle] = ACTIONS(6694),
    [sym__string_end] = ACTIONS(6694),
    [anon_sym_COMMA] = ACTIONS(7514),
    [anon_sym_if] = ACTIONS(6694),
    [anon_sym_unless] = ACTIONS(6694),
    [anon_sym_while] = ACTIONS(6694),
    [anon_sym_until] = ACTIONS(6694),
    [anon_sym_rescue] = ACTIONS(6694),
    [sym_comment] = ACTIONS(110),
  },
  [2406] = {
    [anon_sym_RBRACK] = ACTIONS(7358),
    [sym_comment] = ACTIONS(110),
  },
  [2407] = {
    [sym__string_middle] = ACTIONS(6902),
    [sym__string_end] = ACTIONS(6902),
    [sym__element_reference_left_bracket] = ACTIONS(6902),
    [sym__scope_double_colon] = ACTIONS(6902),
    [sym__binary_minus] = ACTIONS(6902),
    [sym__binary_star] = ACTIONS(6902),
    [anon_sym_DOT] = ACTIONS(6904),
    [anon_sym_COMMA] = ACTIONS(6902),
    [anon_sym_PIPE] = ACTIONS(6904),
    [anon_sym_STAR_STAR] = ACTIONS(6902),
    [anon_sym_AMP] = ACTIONS(6904),
    [anon_sym_LT] = ACTIONS(6904),
    [anon_sym_if] = ACTIONS(6902),
    [anon_sym_unless] = ACTIONS(6902),
    [anon_sym_while] = ACTIONS(6902),
    [anon_sym_until] = ACTIONS(6902),
    [anon_sym_rescue] = ACTIONS(6902),
    [anon_sym_AMP_DOT] = ACTIONS(6902),
    [anon_sym_QMARK] = ACTIONS(6902),
    [anon_sym_DOT_DOT] = ACTIONS(6904),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6902),
    [anon_sym_and] = ACTIONS(6902),
    [anon_sym_or] = ACTIONS(6902),
    [anon_sym_PIPE_PIPE] = ACTIONS(6902),
    [anon_sym_AMP_AMP] = ACTIONS(6902),
    [anon_sym_LT_LT] = ACTIONS(6902),
    [anon_sym_GT_GT] = ACTIONS(6902),
    [anon_sym_EQ_EQ] = ACTIONS(6904),
    [anon_sym_BANG_EQ] = ACTIONS(6902),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6902),
    [anon_sym_LT_EQ_GT] = ACTIONS(6902),
    [anon_sym_EQ_TILDE] = ACTIONS(6902),
    [anon_sym_BANG_TILDE] = ACTIONS(6902),
    [anon_sym_LT_EQ] = ACTIONS(6904),
    [anon_sym_GT] = ACTIONS(6904),
    [anon_sym_GT_EQ] = ACTIONS(6902),
    [anon_sym_CARET] = ACTIONS(6902),
    [anon_sym_PLUS] = ACTIONS(6902),
    [anon_sym_SLASH] = ACTIONS(6902),
    [anon_sym_PERCENT] = ACTIONS(6902),
    [sym_comment] = ACTIONS(110),
  },
  [2408] = {
    [anon_sym_RBRACE] = ACTIONS(7516),
    [sym_comment] = ACTIONS(110),
  },
  [2409] = {
    [sym__statements] = STATE(5269),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(841),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(7516),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2410] = {
    [sym__string_middle] = ACTIONS(6942),
    [sym__string_end] = ACTIONS(6942),
    [sym__element_reference_left_bracket] = ACTIONS(6942),
    [sym__scope_double_colon] = ACTIONS(6942),
    [sym__binary_minus] = ACTIONS(6942),
    [sym__binary_star] = ACTIONS(6942),
    [anon_sym_DOT] = ACTIONS(6944),
    [anon_sym_COMMA] = ACTIONS(6942),
    [anon_sym_PIPE] = ACTIONS(6944),
    [anon_sym_STAR_STAR] = ACTIONS(6942),
    [anon_sym_AMP] = ACTIONS(6944),
    [anon_sym_LT] = ACTIONS(6944),
    [anon_sym_if] = ACTIONS(6942),
    [anon_sym_unless] = ACTIONS(6942),
    [anon_sym_while] = ACTIONS(6942),
    [anon_sym_until] = ACTIONS(6942),
    [anon_sym_rescue] = ACTIONS(6942),
    [anon_sym_AMP_DOT] = ACTIONS(6942),
    [anon_sym_QMARK] = ACTIONS(6942),
    [anon_sym_DOT_DOT] = ACTIONS(6944),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6942),
    [anon_sym_and] = ACTIONS(6942),
    [anon_sym_or] = ACTIONS(6942),
    [anon_sym_PIPE_PIPE] = ACTIONS(6942),
    [anon_sym_AMP_AMP] = ACTIONS(6942),
    [anon_sym_LT_LT] = ACTIONS(6942),
    [anon_sym_GT_GT] = ACTIONS(6942),
    [anon_sym_EQ_EQ] = ACTIONS(6944),
    [anon_sym_BANG_EQ] = ACTIONS(6942),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6942),
    [anon_sym_LT_EQ_GT] = ACTIONS(6942),
    [anon_sym_EQ_TILDE] = ACTIONS(6942),
    [anon_sym_BANG_TILDE] = ACTIONS(6942),
    [anon_sym_LT_EQ] = ACTIONS(6944),
    [anon_sym_GT] = ACTIONS(6944),
    [anon_sym_GT_EQ] = ACTIONS(6942),
    [anon_sym_CARET] = ACTIONS(6942),
    [anon_sym_PLUS] = ACTIONS(6942),
    [anon_sym_SLASH] = ACTIONS(6942),
    [anon_sym_PERCENT] = ACTIONS(6942),
    [sym_comment] = ACTIONS(110),
  },
  [2411] = {
    [anon_sym_end] = ACTIONS(7518),
    [sym_comment] = ACTIONS(110),
  },
  [2412] = {
    [sym__statements] = STATE(5271),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(5272),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(7520),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2413] = {
    [sym__statements] = STATE(5271),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(5273),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(5272),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(7520),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2414] = {
    [sym__string_middle] = ACTIONS(6980),
    [sym__string_end] = ACTIONS(6980),
    [sym__element_reference_left_bracket] = ACTIONS(6980),
    [sym__scope_double_colon] = ACTIONS(6980),
    [sym__binary_minus] = ACTIONS(6980),
    [sym__binary_star] = ACTIONS(6980),
    [anon_sym_DOT] = ACTIONS(6982),
    [anon_sym_COMMA] = ACTIONS(6980),
    [anon_sym_PIPE] = ACTIONS(6982),
    [anon_sym_STAR_STAR] = ACTIONS(6980),
    [anon_sym_AMP] = ACTIONS(6982),
    [anon_sym_LT] = ACTIONS(6982),
    [anon_sym_if] = ACTIONS(6980),
    [anon_sym_unless] = ACTIONS(6980),
    [anon_sym_while] = ACTIONS(6980),
    [anon_sym_until] = ACTIONS(6980),
    [anon_sym_rescue] = ACTIONS(6980),
    [anon_sym_AMP_DOT] = ACTIONS(6980),
    [anon_sym_QMARK] = ACTIONS(6980),
    [anon_sym_DOT_DOT] = ACTIONS(6982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6980),
    [anon_sym_and] = ACTIONS(6980),
    [anon_sym_or] = ACTIONS(6980),
    [anon_sym_PIPE_PIPE] = ACTIONS(6980),
    [anon_sym_AMP_AMP] = ACTIONS(6980),
    [anon_sym_LT_LT] = ACTIONS(6980),
    [anon_sym_GT_GT] = ACTIONS(6980),
    [anon_sym_EQ_EQ] = ACTIONS(6982),
    [anon_sym_BANG_EQ] = ACTIONS(6980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6980),
    [anon_sym_LT_EQ_GT] = ACTIONS(6980),
    [anon_sym_EQ_TILDE] = ACTIONS(6980),
    [anon_sym_BANG_TILDE] = ACTIONS(6980),
    [anon_sym_LT_EQ] = ACTIONS(6982),
    [anon_sym_GT] = ACTIONS(6982),
    [anon_sym_GT_EQ] = ACTIONS(6980),
    [anon_sym_CARET] = ACTIONS(6980),
    [anon_sym_PLUS] = ACTIONS(6980),
    [anon_sym_SLASH] = ACTIONS(6980),
    [anon_sym_PERCENT] = ACTIONS(6980),
    [sym_comment] = ACTIONS(110),
  },
  [2415] = {
    [sym__string_middle] = ACTIONS(6998),
    [sym__string_end] = ACTIONS(6998),
    [sym__binary_minus] = ACTIONS(1234),
    [sym__binary_star] = ACTIONS(1236),
    [anon_sym_PIPE] = ACTIONS(1238),
    [anon_sym_STAR_STAR] = ACTIONS(1240),
    [anon_sym_AMP] = ACTIONS(1242),
    [anon_sym_LT] = ACTIONS(1244),
    [anon_sym_if] = ACTIONS(6998),
    [anon_sym_unless] = ACTIONS(6998),
    [anon_sym_while] = ACTIONS(6998),
    [anon_sym_until] = ACTIONS(6998),
    [anon_sym_rescue] = ACTIONS(6998),
    [anon_sym_QMARK] = ACTIONS(1246),
    [anon_sym_DOT_DOT] = ACTIONS(1248),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1250),
    [anon_sym_and] = ACTIONS(1252),
    [anon_sym_or] = ACTIONS(1252),
    [anon_sym_PIPE_PIPE] = ACTIONS(1254),
    [anon_sym_AMP_AMP] = ACTIONS(1254),
    [anon_sym_LT_LT] = ACTIONS(1256),
    [anon_sym_GT_GT] = ACTIONS(1256),
    [anon_sym_EQ_EQ] = ACTIONS(1258),
    [anon_sym_BANG_EQ] = ACTIONS(1254),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1254),
    [anon_sym_LT_EQ_GT] = ACTIONS(1254),
    [anon_sym_EQ_TILDE] = ACTIONS(1254),
    [anon_sym_BANG_TILDE] = ACTIONS(1254),
    [anon_sym_LT_EQ] = ACTIONS(1244),
    [anon_sym_GT] = ACTIONS(1244),
    [anon_sym_GT_EQ] = ACTIONS(1260),
    [anon_sym_CARET] = ACTIONS(1262),
    [anon_sym_PLUS] = ACTIONS(1264),
    [anon_sym_SLASH] = ACTIONS(1240),
    [anon_sym_PERCENT] = ACTIONS(1240),
    [sym_comment] = ACTIONS(110),
  },
  [2416] = {
    [sym__string_middle] = ACTIONS(7000),
    [sym__string_end] = ACTIONS(7000),
    [sym__binary_minus] = ACTIONS(1234),
    [sym__binary_star] = ACTIONS(1236),
    [anon_sym_PIPE] = ACTIONS(1238),
    [anon_sym_STAR_STAR] = ACTIONS(1240),
    [anon_sym_AMP] = ACTIONS(1242),
    [anon_sym_LT] = ACTIONS(1244),
    [anon_sym_if] = ACTIONS(7000),
    [anon_sym_unless] = ACTIONS(7000),
    [anon_sym_while] = ACTIONS(7000),
    [anon_sym_until] = ACTIONS(7000),
    [anon_sym_rescue] = ACTIONS(7000),
    [anon_sym_QMARK] = ACTIONS(1246),
    [anon_sym_DOT_DOT] = ACTIONS(1248),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1250),
    [anon_sym_and] = ACTIONS(1252),
    [anon_sym_or] = ACTIONS(1252),
    [anon_sym_PIPE_PIPE] = ACTIONS(1254),
    [anon_sym_AMP_AMP] = ACTIONS(1254),
    [anon_sym_LT_LT] = ACTIONS(1256),
    [anon_sym_GT_GT] = ACTIONS(1256),
    [anon_sym_EQ_EQ] = ACTIONS(1258),
    [anon_sym_BANG_EQ] = ACTIONS(1254),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1254),
    [anon_sym_LT_EQ_GT] = ACTIONS(1254),
    [anon_sym_EQ_TILDE] = ACTIONS(1254),
    [anon_sym_BANG_TILDE] = ACTIONS(1254),
    [anon_sym_LT_EQ] = ACTIONS(1244),
    [anon_sym_GT] = ACTIONS(1244),
    [anon_sym_GT_EQ] = ACTIONS(1260),
    [anon_sym_CARET] = ACTIONS(1262),
    [anon_sym_PLUS] = ACTIONS(1264),
    [anon_sym_SLASH] = ACTIONS(1240),
    [anon_sym_PERCENT] = ACTIONS(1240),
    [sym_comment] = ACTIONS(110),
  },
  [2417] = {
    [sym__string_middle] = ACTIONS(7002),
    [sym__string_end] = ACTIONS(7002),
    [sym__binary_minus] = ACTIONS(1234),
    [sym__binary_star] = ACTIONS(1236),
    [anon_sym_PIPE] = ACTIONS(1238),
    [anon_sym_STAR_STAR] = ACTIONS(1240),
    [anon_sym_AMP] = ACTIONS(1242),
    [anon_sym_LT] = ACTIONS(1244),
    [anon_sym_if] = ACTIONS(7002),
    [anon_sym_unless] = ACTIONS(7002),
    [anon_sym_while] = ACTIONS(7002),
    [anon_sym_until] = ACTIONS(7002),
    [anon_sym_rescue] = ACTIONS(7002),
    [anon_sym_QMARK] = ACTIONS(1246),
    [anon_sym_DOT_DOT] = ACTIONS(1248),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1250),
    [anon_sym_and] = ACTIONS(1252),
    [anon_sym_or] = ACTIONS(1252),
    [anon_sym_PIPE_PIPE] = ACTIONS(1254),
    [anon_sym_AMP_AMP] = ACTIONS(1254),
    [anon_sym_LT_LT] = ACTIONS(1256),
    [anon_sym_GT_GT] = ACTIONS(1256),
    [anon_sym_EQ_EQ] = ACTIONS(1258),
    [anon_sym_BANG_EQ] = ACTIONS(1254),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1254),
    [anon_sym_LT_EQ_GT] = ACTIONS(1254),
    [anon_sym_EQ_TILDE] = ACTIONS(1254),
    [anon_sym_BANG_TILDE] = ACTIONS(1254),
    [anon_sym_LT_EQ] = ACTIONS(1244),
    [anon_sym_GT] = ACTIONS(1244),
    [anon_sym_GT_EQ] = ACTIONS(1260),
    [anon_sym_CARET] = ACTIONS(1262),
    [anon_sym_PLUS] = ACTIONS(1264),
    [anon_sym_SLASH] = ACTIONS(1240),
    [anon_sym_PERCENT] = ACTIONS(1240),
    [sym_comment] = ACTIONS(110),
  },
  [2418] = {
    [sym__string_middle] = ACTIONS(7004),
    [sym__string_end] = ACTIONS(7004),
    [sym__binary_minus] = ACTIONS(1234),
    [sym__binary_star] = ACTIONS(1236),
    [anon_sym_PIPE] = ACTIONS(1238),
    [anon_sym_STAR_STAR] = ACTIONS(1240),
    [anon_sym_AMP] = ACTIONS(1242),
    [anon_sym_LT] = ACTIONS(1244),
    [anon_sym_if] = ACTIONS(7004),
    [anon_sym_unless] = ACTIONS(7004),
    [anon_sym_while] = ACTIONS(7004),
    [anon_sym_until] = ACTIONS(7004),
    [anon_sym_rescue] = ACTIONS(7004),
    [anon_sym_QMARK] = ACTIONS(1246),
    [anon_sym_DOT_DOT] = ACTIONS(1248),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1250),
    [anon_sym_and] = ACTIONS(1252),
    [anon_sym_or] = ACTIONS(1252),
    [anon_sym_PIPE_PIPE] = ACTIONS(1254),
    [anon_sym_AMP_AMP] = ACTIONS(1254),
    [anon_sym_LT_LT] = ACTIONS(1256),
    [anon_sym_GT_GT] = ACTIONS(1256),
    [anon_sym_EQ_EQ] = ACTIONS(1258),
    [anon_sym_BANG_EQ] = ACTIONS(1254),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1254),
    [anon_sym_LT_EQ_GT] = ACTIONS(1254),
    [anon_sym_EQ_TILDE] = ACTIONS(1254),
    [anon_sym_BANG_TILDE] = ACTIONS(1254),
    [anon_sym_LT_EQ] = ACTIONS(1244),
    [anon_sym_GT] = ACTIONS(1244),
    [anon_sym_GT_EQ] = ACTIONS(1260),
    [anon_sym_CARET] = ACTIONS(1262),
    [anon_sym_PLUS] = ACTIONS(1264),
    [anon_sym_SLASH] = ACTIONS(1240),
    [anon_sym_PERCENT] = ACTIONS(1240),
    [sym_comment] = ACTIONS(110),
  },
  [2419] = {
    [sym__string_middle] = ACTIONS(7006),
    [sym__string_end] = ACTIONS(7006),
    [sym__binary_minus] = ACTIONS(1234),
    [sym__binary_star] = ACTIONS(1236),
    [anon_sym_PIPE] = ACTIONS(1238),
    [anon_sym_STAR_STAR] = ACTIONS(1240),
    [anon_sym_AMP] = ACTIONS(1242),
    [anon_sym_LT] = ACTIONS(1244),
    [anon_sym_if] = ACTIONS(7006),
    [anon_sym_unless] = ACTIONS(7006),
    [anon_sym_while] = ACTIONS(7006),
    [anon_sym_until] = ACTIONS(7006),
    [anon_sym_rescue] = ACTIONS(7006),
    [anon_sym_QMARK] = ACTIONS(1246),
    [anon_sym_DOT_DOT] = ACTIONS(1248),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1250),
    [anon_sym_and] = ACTIONS(1252),
    [anon_sym_or] = ACTIONS(1252),
    [anon_sym_PIPE_PIPE] = ACTIONS(1254),
    [anon_sym_AMP_AMP] = ACTIONS(1254),
    [anon_sym_LT_LT] = ACTIONS(1256),
    [anon_sym_GT_GT] = ACTIONS(1256),
    [anon_sym_EQ_EQ] = ACTIONS(1258),
    [anon_sym_BANG_EQ] = ACTIONS(1254),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1254),
    [anon_sym_LT_EQ_GT] = ACTIONS(1254),
    [anon_sym_EQ_TILDE] = ACTIONS(1254),
    [anon_sym_BANG_TILDE] = ACTIONS(1254),
    [anon_sym_LT_EQ] = ACTIONS(1244),
    [anon_sym_GT] = ACTIONS(1244),
    [anon_sym_GT_EQ] = ACTIONS(1260),
    [anon_sym_CARET] = ACTIONS(1262),
    [anon_sym_PLUS] = ACTIONS(1264),
    [anon_sym_SLASH] = ACTIONS(1240),
    [anon_sym_PERCENT] = ACTIONS(1240),
    [sym_comment] = ACTIONS(110),
  },
  [2420] = {
    [sym__string_middle] = ACTIONS(7008),
    [sym__string_end] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(1236),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_STAR_STAR] = ACTIONS(1240),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_if] = ACTIONS(7008),
    [anon_sym_unless] = ACTIONS(7008),
    [anon_sym_while] = ACTIONS(7008),
    [anon_sym_until] = ACTIONS(7008),
    [anon_sym_rescue] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7008),
    [anon_sym_AMP_AMP] = ACTIONS(7008),
    [anon_sym_LT_LT] = ACTIONS(7008),
    [anon_sym_GT_GT] = ACTIONS(7008),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7008),
    [anon_sym_PLUS] = ACTIONS(7008),
    [anon_sym_SLASH] = ACTIONS(1240),
    [anon_sym_PERCENT] = ACTIONS(1240),
    [sym_comment] = ACTIONS(110),
  },
  [2421] = {
    [sym__string_middle] = ACTIONS(7012),
    [sym__string_end] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_STAR_STAR] = ACTIONS(1240),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_if] = ACTIONS(7012),
    [anon_sym_unless] = ACTIONS(7012),
    [anon_sym_while] = ACTIONS(7012),
    [anon_sym_until] = ACTIONS(7012),
    [anon_sym_rescue] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7012),
    [anon_sym_AMP_AMP] = ACTIONS(7012),
    [anon_sym_LT_LT] = ACTIONS(7012),
    [anon_sym_GT_GT] = ACTIONS(7012),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7012),
    [anon_sym_PLUS] = ACTIONS(7012),
    [anon_sym_SLASH] = ACTIONS(7012),
    [anon_sym_PERCENT] = ACTIONS(7012),
    [sym_comment] = ACTIONS(110),
  },
  [2422] = {
    [sym__string_middle] = ACTIONS(7016),
    [sym__string_end] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(1234),
    [sym__binary_star] = ACTIONS(1236),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(1240),
    [anon_sym_AMP] = ACTIONS(1242),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(1256),
    [anon_sym_GT_GT] = ACTIONS(1256),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(1264),
    [anon_sym_SLASH] = ACTIONS(1240),
    [anon_sym_PERCENT] = ACTIONS(1240),
    [sym_comment] = ACTIONS(110),
  },
  [2423] = {
    [sym__string_middle] = ACTIONS(7016),
    [sym__string_end] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(1240),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7016),
    [anon_sym_PERCENT] = ACTIONS(7016),
    [sym_comment] = ACTIONS(110),
  },
  [2424] = {
    [sym__string_middle] = ACTIONS(7016),
    [sym__string_end] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(1234),
    [sym__binary_star] = ACTIONS(1236),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(1240),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(1256),
    [anon_sym_GT_GT] = ACTIONS(1256),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(1264),
    [anon_sym_SLASH] = ACTIONS(1240),
    [anon_sym_PERCENT] = ACTIONS(1240),
    [sym_comment] = ACTIONS(110),
  },
  [2425] = {
    [sym__string_middle] = ACTIONS(7016),
    [sym__string_end] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(1234),
    [sym__binary_star] = ACTIONS(1236),
    [anon_sym_PIPE] = ACTIONS(1238),
    [anon_sym_STAR_STAR] = ACTIONS(1240),
    [anon_sym_AMP] = ACTIONS(1242),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(1256),
    [anon_sym_GT_GT] = ACTIONS(1256),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(1262),
    [anon_sym_PLUS] = ACTIONS(1264),
    [anon_sym_SLASH] = ACTIONS(1240),
    [anon_sym_PERCENT] = ACTIONS(1240),
    [sym_comment] = ACTIONS(110),
  },
  [2426] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(7522),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [2427] = {
    [sym__string_middle] = ACTIONS(7108),
    [sym__string_end] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(1234),
    [sym__binary_star] = ACTIONS(1236),
    [anon_sym_PIPE] = ACTIONS(1238),
    [anon_sym_STAR_STAR] = ACTIONS(1240),
    [anon_sym_AMP] = ACTIONS(1242),
    [anon_sym_LT] = ACTIONS(1244),
    [anon_sym_if] = ACTIONS(7108),
    [anon_sym_unless] = ACTIONS(7108),
    [anon_sym_while] = ACTIONS(7108),
    [anon_sym_until] = ACTIONS(7108),
    [anon_sym_rescue] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(1248),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1250),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(1254),
    [anon_sym_AMP_AMP] = ACTIONS(1254),
    [anon_sym_LT_LT] = ACTIONS(1256),
    [anon_sym_GT_GT] = ACTIONS(1256),
    [anon_sym_EQ_EQ] = ACTIONS(1258),
    [anon_sym_BANG_EQ] = ACTIONS(1254),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1254),
    [anon_sym_LT_EQ_GT] = ACTIONS(1254),
    [anon_sym_EQ_TILDE] = ACTIONS(1254),
    [anon_sym_BANG_TILDE] = ACTIONS(1254),
    [anon_sym_LT_EQ] = ACTIONS(1244),
    [anon_sym_GT] = ACTIONS(1244),
    [anon_sym_GT_EQ] = ACTIONS(1260),
    [anon_sym_CARET] = ACTIONS(1262),
    [anon_sym_PLUS] = ACTIONS(1264),
    [anon_sym_SLASH] = ACTIONS(1240),
    [anon_sym_PERCENT] = ACTIONS(1240),
    [sym_comment] = ACTIONS(110),
  },
  [2428] = {
    [sym__string_middle] = ACTIONS(7016),
    [sym__string_end] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(1234),
    [sym__binary_star] = ACTIONS(1236),
    [anon_sym_PIPE] = ACTIONS(1238),
    [anon_sym_STAR_STAR] = ACTIONS(1240),
    [anon_sym_AMP] = ACTIONS(1242),
    [anon_sym_LT] = ACTIONS(1244),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(1246),
    [anon_sym_DOT_DOT] = ACTIONS(1248),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1250),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(1254),
    [anon_sym_AMP_AMP] = ACTIONS(1254),
    [anon_sym_LT_LT] = ACTIONS(1256),
    [anon_sym_GT_GT] = ACTIONS(1256),
    [anon_sym_EQ_EQ] = ACTIONS(1258),
    [anon_sym_BANG_EQ] = ACTIONS(1254),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1254),
    [anon_sym_LT_EQ_GT] = ACTIONS(1254),
    [anon_sym_EQ_TILDE] = ACTIONS(1254),
    [anon_sym_BANG_TILDE] = ACTIONS(1254),
    [anon_sym_LT_EQ] = ACTIONS(1244),
    [anon_sym_GT] = ACTIONS(1244),
    [anon_sym_GT_EQ] = ACTIONS(1260),
    [anon_sym_CARET] = ACTIONS(1262),
    [anon_sym_PLUS] = ACTIONS(1264),
    [anon_sym_SLASH] = ACTIONS(1240),
    [anon_sym_PERCENT] = ACTIONS(1240),
    [sym_comment] = ACTIONS(110),
  },
  [2429] = {
    [sym__string_middle] = ACTIONS(7016),
    [sym__string_end] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(1234),
    [sym__binary_star] = ACTIONS(1236),
    [anon_sym_PIPE] = ACTIONS(1238),
    [anon_sym_STAR_STAR] = ACTIONS(1240),
    [anon_sym_AMP] = ACTIONS(1242),
    [anon_sym_LT] = ACTIONS(1244),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(1256),
    [anon_sym_GT_GT] = ACTIONS(1256),
    [anon_sym_EQ_EQ] = ACTIONS(1258),
    [anon_sym_BANG_EQ] = ACTIONS(1254),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1254),
    [anon_sym_LT_EQ_GT] = ACTIONS(1254),
    [anon_sym_EQ_TILDE] = ACTIONS(1254),
    [anon_sym_BANG_TILDE] = ACTIONS(1254),
    [anon_sym_LT_EQ] = ACTIONS(1244),
    [anon_sym_GT] = ACTIONS(1244),
    [anon_sym_GT_EQ] = ACTIONS(1260),
    [anon_sym_CARET] = ACTIONS(1262),
    [anon_sym_PLUS] = ACTIONS(1264),
    [anon_sym_SLASH] = ACTIONS(1240),
    [anon_sym_PERCENT] = ACTIONS(1240),
    [sym_comment] = ACTIONS(110),
  },
  [2430] = {
    [sym__string_middle] = ACTIONS(7016),
    [sym__string_end] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(1234),
    [sym__binary_star] = ACTIONS(1236),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(1240),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(1264),
    [anon_sym_SLASH] = ACTIONS(1240),
    [anon_sym_PERCENT] = ACTIONS(1240),
    [sym_comment] = ACTIONS(110),
  },
  [2431] = {
    [sym__string_middle] = ACTIONS(7016),
    [sym__string_end] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(1236),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(1240),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(1240),
    [anon_sym_PERCENT] = ACTIONS(1240),
    [sym_comment] = ACTIONS(110),
  },
  [2432] = {
    [sym__string_middle] = ACTIONS(7110),
    [sym__string_end] = ACTIONS(7110),
    [sym__element_reference_left_bracket] = ACTIONS(7110),
    [sym__scope_double_colon] = ACTIONS(7110),
    [sym__binary_minus] = ACTIONS(7110),
    [sym__binary_star] = ACTIONS(7110),
    [anon_sym_DOT] = ACTIONS(7112),
    [anon_sym_COMMA] = ACTIONS(7110),
    [anon_sym_PIPE] = ACTIONS(7112),
    [anon_sym_STAR_STAR] = ACTIONS(7112),
    [anon_sym_AMP] = ACTIONS(7112),
    [anon_sym_EQ] = ACTIONS(7112),
    [anon_sym_LT] = ACTIONS(7112),
    [anon_sym_if] = ACTIONS(7110),
    [anon_sym_unless] = ACTIONS(7110),
    [anon_sym_while] = ACTIONS(7110),
    [anon_sym_until] = ACTIONS(7110),
    [anon_sym_rescue] = ACTIONS(7110),
    [anon_sym_AMP_DOT] = ACTIONS(7110),
    [anon_sym_PLUS_EQ] = ACTIONS(7110),
    [anon_sym_DASH_EQ] = ACTIONS(7110),
    [anon_sym_STAR_EQ] = ACTIONS(7110),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7110),
    [anon_sym_SLASH_EQ] = ACTIONS(7110),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7110),
    [anon_sym_PIPE_EQ] = ACTIONS(7110),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7110),
    [anon_sym_AMP_EQ] = ACTIONS(7110),
    [anon_sym_PERCENT_EQ] = ACTIONS(7110),
    [anon_sym_GT_GT_EQ] = ACTIONS(7110),
    [anon_sym_LT_LT_EQ] = ACTIONS(7110),
    [anon_sym_CARET_EQ] = ACTIONS(7110),
    [anon_sym_QMARK] = ACTIONS(7110),
    [anon_sym_DOT_DOT] = ACTIONS(7112),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7110),
    [anon_sym_and] = ACTIONS(7110),
    [anon_sym_or] = ACTIONS(7110),
    [anon_sym_PIPE_PIPE] = ACTIONS(7112),
    [anon_sym_AMP_AMP] = ACTIONS(7112),
    [anon_sym_LT_LT] = ACTIONS(7112),
    [anon_sym_GT_GT] = ACTIONS(7112),
    [anon_sym_EQ_EQ] = ACTIONS(7112),
    [anon_sym_BANG_EQ] = ACTIONS(7110),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7110),
    [anon_sym_LT_EQ_GT] = ACTIONS(7110),
    [anon_sym_EQ_TILDE] = ACTIONS(7110),
    [anon_sym_BANG_TILDE] = ACTIONS(7110),
    [anon_sym_LT_EQ] = ACTIONS(7112),
    [anon_sym_GT] = ACTIONS(7112),
    [anon_sym_GT_EQ] = ACTIONS(7110),
    [anon_sym_CARET] = ACTIONS(7112),
    [anon_sym_PLUS] = ACTIONS(7112),
    [anon_sym_SLASH] = ACTIONS(7112),
    [anon_sym_PERCENT] = ACTIONS(7112),
    [sym_comment] = ACTIONS(256),
  },
  [2433] = {
    [sym_heredoc_end] = STATE(5276),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RBRACK] = ACTIONS(7524),
    [sym_comment] = ACTIONS(110),
  },
  [2434] = {
    [anon_sym_RBRACK] = ACTIONS(7524),
    [sym_comment] = ACTIONS(110),
  },
  [2435] = {
    [sym__simple_string] = ACTIONS(7116),
    [sym__simple_symbol] = ACTIONS(7116),
    [sym__simple_subshell] = ACTIONS(7116),
    [sym__simple_regex] = ACTIONS(7116),
    [sym__simple_word_list] = ACTIONS(7116),
    [sym__string_beginning] = ACTIONS(7116),
    [sym__symbol_beginning] = ACTIONS(7116),
    [sym__subshell_beginning] = ACTIONS(7116),
    [sym__regex_beginning] = ACTIONS(7116),
    [sym__word_list_beginning] = ACTIONS(7116),
    [sym__string_middle] = ACTIONS(7116),
    [sym__string_end] = ACTIONS(7116),
    [sym_heredoc_beginning] = ACTIONS(7116),
    [sym__element_reference_left_bracket] = ACTIONS(7116),
    [sym__block_ampersand] = ACTIONS(7116),
    [sym__splat_star] = ACTIONS(7116),
    [sym__argument_list_left_paren] = ACTIONS(7116),
    [sym__scope_double_colon] = ACTIONS(7116),
    [sym__unary_minus] = ACTIONS(7116),
    [sym__binary_minus] = ACTIONS(7116),
    [sym__binary_star] = ACTIONS(7116),
    [anon_sym_LBRACE] = ACTIONS(7116),
    [anon_sym_def] = ACTIONS(7118),
    [anon_sym_LPAREN] = ACTIONS(7116),
    [anon_sym_DOT] = ACTIONS(7118),
    [anon_sym_COLON_COLON] = ACTIONS(7116),
    [anon_sym_end] = ACTIONS(7118),
    [anon_sym_COMMA] = ACTIONS(7116),
    [anon_sym_PIPE] = ACTIONS(7118),
    [anon_sym_STAR] = ACTIONS(7118),
    [anon_sym_STAR_STAR] = ACTIONS(7118),
    [anon_sym_AMP] = ACTIONS(7118),
    [anon_sym_EQ] = ACTIONS(7118),
    [anon_sym_class] = ACTIONS(7118),
    [anon_sym_LT] = ACTIONS(7118),
    [anon_sym_module] = ACTIONS(7118),
    [anon_sym_return] = ACTIONS(7118),
    [anon_sym_yield] = ACTIONS(7118),
    [anon_sym_break] = ACTIONS(7118),
    [anon_sym_next] = ACTIONS(7118),
    [anon_sym_redo] = ACTIONS(7118),
    [anon_sym_retry] = ACTIONS(7118),
    [anon_sym_if] = ACTIONS(7118),
    [anon_sym_unless] = ACTIONS(7118),
    [anon_sym_while] = ACTIONS(7118),
    [anon_sym_until] = ACTIONS(7118),
    [anon_sym_rescue] = ACTIONS(7118),
    [anon_sym_for] = ACTIONS(7118),
    [anon_sym_in] = ACTIONS(7118),
    [anon_sym_do] = ACTIONS(7118),
    [anon_sym_case] = ACTIONS(7118),
    [anon_sym_when] = ACTIONS(7118),
    [anon_sym_elsif] = ACTIONS(7118),
    [anon_sym_else] = ACTIONS(7118),
    [anon_sym_then] = ACTIONS(7118),
    [anon_sym_begin] = ACTIONS(7118),
    [anon_sym_ensure] = ACTIONS(7118),
    [anon_sym_AMP_DOT] = ACTIONS(7116),
    [anon_sym_PLUS_EQ] = ACTIONS(7116),
    [anon_sym_DASH_EQ] = ACTIONS(7116),
    [anon_sym_STAR_EQ] = ACTIONS(7116),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7116),
    [anon_sym_SLASH_EQ] = ACTIONS(7116),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7116),
    [anon_sym_PIPE_EQ] = ACTIONS(7116),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7116),
    [anon_sym_AMP_EQ] = ACTIONS(7116),
    [anon_sym_PERCENT_EQ] = ACTIONS(7116),
    [anon_sym_GT_GT_EQ] = ACTIONS(7116),
    [anon_sym_LT_LT_EQ] = ACTIONS(7116),
    [anon_sym_CARET_EQ] = ACTIONS(7116),
    [anon_sym_QMARK] = ACTIONS(7118),
    [anon_sym_DOT_DOT] = ACTIONS(7118),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7116),
    [anon_sym_and] = ACTIONS(7118),
    [anon_sym_or] = ACTIONS(7118),
    [anon_sym_PIPE_PIPE] = ACTIONS(7118),
    [anon_sym_AMP_AMP] = ACTIONS(7118),
    [anon_sym_LT_LT] = ACTIONS(7118),
    [anon_sym_GT_GT] = ACTIONS(7118),
    [anon_sym_EQ_EQ] = ACTIONS(7118),
    [anon_sym_BANG_EQ] = ACTIONS(7116),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7116),
    [anon_sym_LT_EQ_GT] = ACTIONS(7116),
    [anon_sym_EQ_TILDE] = ACTIONS(7116),
    [anon_sym_BANG_TILDE] = ACTIONS(7116),
    [anon_sym_LT_EQ] = ACTIONS(7118),
    [anon_sym_GT] = ACTIONS(7118),
    [anon_sym_GT_EQ] = ACTIONS(7116),
    [anon_sym_CARET] = ACTIONS(7118),
    [anon_sym_PLUS] = ACTIONS(7118),
    [anon_sym_SLASH] = ACTIONS(7118),
    [anon_sym_PERCENT] = ACTIONS(7118),
    [anon_sym_defined_QMARK] = ACTIONS(7116),
    [anon_sym_not] = ACTIONS(7118),
    [anon_sym_BANG] = ACTIONS(7118),
    [anon_sym_TILDE] = ACTIONS(7116),
    [sym_constant] = ACTIONS(7120),
    [sym_identifier] = ACTIONS(7120),
    [sym_instance_variable] = ACTIONS(7118),
    [sym_class_variable] = ACTIONS(7118),
    [sym_global_variable] = ACTIONS(7118),
    [anon_sym_alias] = ACTIONS(7118),
    [anon_sym_defined] = ACTIONS(7118),
    [anon_sym_false] = ACTIONS(7118),
    [anon_sym_nil] = ACTIONS(7118),
    [anon_sym_self] = ACTIONS(7118),
    [anon_sym_super] = ACTIONS(7118),
    [anon_sym_true] = ACTIONS(7118),
    [anon_sym_undef] = ACTIONS(7118),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(7118),
    [sym_float] = ACTIONS(7120),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(7116),
    [anon_sym_TRUE] = ACTIONS(7118),
    [anon_sym_FALSE] = ACTIONS(7118),
    [anon_sym_NIL] = ACTIONS(7118),
    [sym_keyword__FILE__] = ACTIONS(7118),
    [sym_keyword__LINE__] = ACTIONS(7118),
    [sym_keyword__ENCODING__] = ACTIONS(7118),
    [sym__character_literal] = ACTIONS(7118),
    [anon_sym_LBRACK] = ACTIONS(7116),
    [anon_sym_DASH_GT] = ACTIONS(7116),
  },
  [2436] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1382),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(5278),
    [sym__argument] = STATE(1385),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1386),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1387),
    [sym__variable] = STATE(1383),
    [sym_reserved_identifier] = STATE(1388),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1389),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(5279),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(2154),
    [sym__splat_star] = ACTIONS(2156),
    [sym__unary_minus] = ACTIONS(2158),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(7526),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2162),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2164),
    [anon_sym_yield] = ACTIONS(2166),
    [anon_sym_break] = ACTIONS(2168),
    [anon_sym_next] = ACTIONS(2170),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2172),
    [anon_sym_defined_QMARK] = ACTIONS(2174),
    [anon_sym_not] = ACTIONS(2176),
    [anon_sym_BANG] = ACTIONS(2178),
    [anon_sym_TILDE] = ACTIONS(2178),
    [sym_constant] = ACTIONS(2180),
    [sym_identifier] = ACTIONS(2180),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2437] = {
    [sym__simple_string] = ACTIONS(1856),
    [sym__simple_symbol] = ACTIONS(1856),
    [sym__simple_subshell] = ACTIONS(1856),
    [sym__simple_regex] = ACTIONS(1856),
    [sym__simple_word_list] = ACTIONS(1856),
    [sym__string_beginning] = ACTIONS(1856),
    [sym__symbol_beginning] = ACTIONS(1856),
    [sym__subshell_beginning] = ACTIONS(1856),
    [sym__regex_beginning] = ACTIONS(1856),
    [sym__word_list_beginning] = ACTIONS(1856),
    [sym__string_middle] = ACTIONS(1856),
    [sym__string_end] = ACTIONS(1856),
    [sym_heredoc_beginning] = ACTIONS(1856),
    [sym__element_reference_left_bracket] = ACTIONS(1856),
    [sym__block_ampersand] = ACTIONS(1856),
    [sym__splat_star] = ACTIONS(1856),
    [sym__argument_list_left_paren] = ACTIONS(1856),
    [sym__scope_double_colon] = ACTIONS(1856),
    [sym__unary_minus] = ACTIONS(1856),
    [sym__binary_minus] = ACTIONS(1856),
    [sym__binary_star] = ACTIONS(1856),
    [anon_sym_LBRACE] = ACTIONS(1856),
    [anon_sym_def] = ACTIONS(1858),
    [anon_sym_LPAREN] = ACTIONS(1856),
    [anon_sym_DOT] = ACTIONS(1858),
    [anon_sym_COLON_COLON] = ACTIONS(1856),
    [anon_sym_end] = ACTIONS(1858),
    [anon_sym_COMMA] = ACTIONS(1856),
    [anon_sym_PIPE] = ACTIONS(1858),
    [anon_sym_STAR] = ACTIONS(1858),
    [anon_sym_STAR_STAR] = ACTIONS(1858),
    [anon_sym_AMP] = ACTIONS(1858),
    [anon_sym_EQ] = ACTIONS(1858),
    [anon_sym_class] = ACTIONS(1858),
    [anon_sym_LT] = ACTIONS(1858),
    [anon_sym_module] = ACTIONS(1858),
    [anon_sym_return] = ACTIONS(1858),
    [anon_sym_yield] = ACTIONS(1858),
    [anon_sym_break] = ACTIONS(1858),
    [anon_sym_next] = ACTIONS(1858),
    [anon_sym_redo] = ACTIONS(1858),
    [anon_sym_retry] = ACTIONS(1858),
    [anon_sym_if] = ACTIONS(1858),
    [anon_sym_unless] = ACTIONS(1858),
    [anon_sym_while] = ACTIONS(1858),
    [anon_sym_until] = ACTIONS(1858),
    [anon_sym_rescue] = ACTIONS(1858),
    [anon_sym_for] = ACTIONS(1858),
    [anon_sym_in] = ACTIONS(1858),
    [anon_sym_do] = ACTIONS(1858),
    [anon_sym_case] = ACTIONS(1858),
    [anon_sym_when] = ACTIONS(1858),
    [anon_sym_elsif] = ACTIONS(1858),
    [anon_sym_else] = ACTIONS(1858),
    [anon_sym_then] = ACTIONS(1858),
    [anon_sym_begin] = ACTIONS(1858),
    [anon_sym_ensure] = ACTIONS(1858),
    [anon_sym_AMP_DOT] = ACTIONS(1856),
    [anon_sym_PLUS_EQ] = ACTIONS(1856),
    [anon_sym_DASH_EQ] = ACTIONS(1856),
    [anon_sym_STAR_EQ] = ACTIONS(1856),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1856),
    [anon_sym_SLASH_EQ] = ACTIONS(1856),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1856),
    [anon_sym_PIPE_EQ] = ACTIONS(1856),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1856),
    [anon_sym_AMP_EQ] = ACTIONS(1856),
    [anon_sym_PERCENT_EQ] = ACTIONS(1856),
    [anon_sym_GT_GT_EQ] = ACTIONS(1856),
    [anon_sym_LT_LT_EQ] = ACTIONS(1856),
    [anon_sym_CARET_EQ] = ACTIONS(1856),
    [anon_sym_QMARK] = ACTIONS(1858),
    [anon_sym_DOT_DOT] = ACTIONS(1858),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1856),
    [anon_sym_and] = ACTIONS(1858),
    [anon_sym_or] = ACTIONS(1858),
    [anon_sym_PIPE_PIPE] = ACTIONS(1858),
    [anon_sym_AMP_AMP] = ACTIONS(1858),
    [anon_sym_LT_LT] = ACTIONS(1858),
    [anon_sym_GT_GT] = ACTIONS(1858),
    [anon_sym_EQ_EQ] = ACTIONS(1858),
    [anon_sym_BANG_EQ] = ACTIONS(1856),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1856),
    [anon_sym_LT_EQ_GT] = ACTIONS(1856),
    [anon_sym_EQ_TILDE] = ACTIONS(1856),
    [anon_sym_BANG_TILDE] = ACTIONS(1856),
    [anon_sym_LT_EQ] = ACTIONS(1858),
    [anon_sym_GT] = ACTIONS(1858),
    [anon_sym_GT_EQ] = ACTIONS(1856),
    [anon_sym_CARET] = ACTIONS(1858),
    [anon_sym_PLUS] = ACTIONS(1858),
    [anon_sym_SLASH] = ACTIONS(1858),
    [anon_sym_PERCENT] = ACTIONS(1858),
    [anon_sym_defined_QMARK] = ACTIONS(1856),
    [anon_sym_not] = ACTIONS(1858),
    [anon_sym_BANG] = ACTIONS(1858),
    [anon_sym_TILDE] = ACTIONS(1856),
    [sym_constant] = ACTIONS(7124),
    [sym_identifier] = ACTIONS(7124),
    [sym_instance_variable] = ACTIONS(1858),
    [sym_class_variable] = ACTIONS(1858),
    [sym_global_variable] = ACTIONS(1858),
    [anon_sym_alias] = ACTIONS(1858),
    [anon_sym_defined] = ACTIONS(1858),
    [anon_sym_false] = ACTIONS(1858),
    [anon_sym_nil] = ACTIONS(1858),
    [anon_sym_self] = ACTIONS(1858),
    [anon_sym_super] = ACTIONS(1858),
    [anon_sym_true] = ACTIONS(1858),
    [anon_sym_undef] = ACTIONS(1858),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1858),
    [sym_float] = ACTIONS(7124),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1856),
    [anon_sym_TRUE] = ACTIONS(1858),
    [anon_sym_FALSE] = ACTIONS(1858),
    [anon_sym_NIL] = ACTIONS(1858),
    [sym_keyword__FILE__] = ACTIONS(1858),
    [sym_keyword__LINE__] = ACTIONS(1858),
    [sym_keyword__ENCODING__] = ACTIONS(1858),
    [sym__character_literal] = ACTIONS(1858),
    [anon_sym_LBRACK] = ACTIONS(1856),
    [anon_sym_DASH_GT] = ACTIONS(1856),
  },
  [2438] = {
    [sym__simple_string] = ACTIONS(7126),
    [sym__simple_symbol] = ACTIONS(7126),
    [sym__simple_subshell] = ACTIONS(7126),
    [sym__simple_regex] = ACTIONS(7126),
    [sym__simple_word_list] = ACTIONS(7126),
    [sym__string_beginning] = ACTIONS(7126),
    [sym__symbol_beginning] = ACTIONS(7126),
    [sym__subshell_beginning] = ACTIONS(7126),
    [sym__regex_beginning] = ACTIONS(7126),
    [sym__word_list_beginning] = ACTIONS(7126),
    [sym__string_middle] = ACTIONS(7126),
    [sym__string_end] = ACTIONS(7126),
    [sym_heredoc_beginning] = ACTIONS(7126),
    [sym__element_reference_left_bracket] = ACTIONS(7126),
    [sym__block_ampersand] = ACTIONS(7126),
    [sym__splat_star] = ACTIONS(7126),
    [sym__argument_list_left_paren] = ACTIONS(7126),
    [sym__scope_double_colon] = ACTIONS(7126),
    [sym__unary_minus] = ACTIONS(7126),
    [sym__binary_minus] = ACTIONS(7126),
    [sym__binary_star] = ACTIONS(7126),
    [anon_sym_LBRACE] = ACTIONS(7126),
    [anon_sym_def] = ACTIONS(7128),
    [anon_sym_LPAREN] = ACTIONS(7126),
    [anon_sym_DOT] = ACTIONS(7128),
    [anon_sym_COLON_COLON] = ACTIONS(7126),
    [anon_sym_end] = ACTIONS(7128),
    [anon_sym_COMMA] = ACTIONS(7126),
    [anon_sym_PIPE] = ACTIONS(7128),
    [anon_sym_STAR] = ACTIONS(7128),
    [anon_sym_STAR_STAR] = ACTIONS(7128),
    [anon_sym_AMP] = ACTIONS(7128),
    [anon_sym_EQ] = ACTIONS(7128),
    [anon_sym_class] = ACTIONS(7128),
    [anon_sym_LT] = ACTIONS(7128),
    [anon_sym_module] = ACTIONS(7128),
    [anon_sym_return] = ACTIONS(7128),
    [anon_sym_yield] = ACTIONS(7128),
    [anon_sym_break] = ACTIONS(7128),
    [anon_sym_next] = ACTIONS(7128),
    [anon_sym_redo] = ACTIONS(7128),
    [anon_sym_retry] = ACTIONS(7128),
    [anon_sym_if] = ACTIONS(7128),
    [anon_sym_unless] = ACTIONS(7128),
    [anon_sym_while] = ACTIONS(7128),
    [anon_sym_until] = ACTIONS(7128),
    [anon_sym_rescue] = ACTIONS(7128),
    [anon_sym_for] = ACTIONS(7128),
    [anon_sym_in] = ACTIONS(7128),
    [anon_sym_do] = ACTIONS(7128),
    [anon_sym_case] = ACTIONS(7128),
    [anon_sym_when] = ACTIONS(7128),
    [anon_sym_elsif] = ACTIONS(7128),
    [anon_sym_else] = ACTIONS(7128),
    [anon_sym_then] = ACTIONS(7128),
    [anon_sym_begin] = ACTIONS(7128),
    [anon_sym_ensure] = ACTIONS(7128),
    [anon_sym_AMP_DOT] = ACTIONS(7126),
    [anon_sym_PLUS_EQ] = ACTIONS(7126),
    [anon_sym_DASH_EQ] = ACTIONS(7126),
    [anon_sym_STAR_EQ] = ACTIONS(7126),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7126),
    [anon_sym_SLASH_EQ] = ACTIONS(7126),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7126),
    [anon_sym_PIPE_EQ] = ACTIONS(7126),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7126),
    [anon_sym_AMP_EQ] = ACTIONS(7126),
    [anon_sym_PERCENT_EQ] = ACTIONS(7126),
    [anon_sym_GT_GT_EQ] = ACTIONS(7126),
    [anon_sym_LT_LT_EQ] = ACTIONS(7126),
    [anon_sym_CARET_EQ] = ACTIONS(7126),
    [anon_sym_QMARK] = ACTIONS(7128),
    [anon_sym_DOT_DOT] = ACTIONS(7128),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7126),
    [anon_sym_and] = ACTIONS(7128),
    [anon_sym_or] = ACTIONS(7128),
    [anon_sym_PIPE_PIPE] = ACTIONS(7128),
    [anon_sym_AMP_AMP] = ACTIONS(7128),
    [anon_sym_LT_LT] = ACTIONS(7128),
    [anon_sym_GT_GT] = ACTIONS(7128),
    [anon_sym_EQ_EQ] = ACTIONS(7128),
    [anon_sym_BANG_EQ] = ACTIONS(7126),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7126),
    [anon_sym_LT_EQ_GT] = ACTIONS(7126),
    [anon_sym_EQ_TILDE] = ACTIONS(7126),
    [anon_sym_BANG_TILDE] = ACTIONS(7126),
    [anon_sym_LT_EQ] = ACTIONS(7128),
    [anon_sym_GT] = ACTIONS(7128),
    [anon_sym_GT_EQ] = ACTIONS(7126),
    [anon_sym_CARET] = ACTIONS(7128),
    [anon_sym_PLUS] = ACTIONS(7128),
    [anon_sym_SLASH] = ACTIONS(7128),
    [anon_sym_PERCENT] = ACTIONS(7128),
    [anon_sym_defined_QMARK] = ACTIONS(7126),
    [anon_sym_not] = ACTIONS(7128),
    [anon_sym_BANG] = ACTIONS(7128),
    [anon_sym_TILDE] = ACTIONS(7126),
    [sym_constant] = ACTIONS(7130),
    [sym_identifier] = ACTIONS(7130),
    [sym_instance_variable] = ACTIONS(7128),
    [sym_class_variable] = ACTIONS(7128),
    [sym_global_variable] = ACTIONS(7128),
    [anon_sym_alias] = ACTIONS(7128),
    [anon_sym_defined] = ACTIONS(7128),
    [anon_sym_false] = ACTIONS(7128),
    [anon_sym_nil] = ACTIONS(7128),
    [anon_sym_self] = ACTIONS(7128),
    [anon_sym_super] = ACTIONS(7128),
    [anon_sym_true] = ACTIONS(7128),
    [anon_sym_undef] = ACTIONS(7128),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(7128),
    [sym_float] = ACTIONS(7130),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(7126),
    [anon_sym_TRUE] = ACTIONS(7128),
    [anon_sym_FALSE] = ACTIONS(7128),
    [anon_sym_NIL] = ACTIONS(7128),
    [sym_keyword__FILE__] = ACTIONS(7128),
    [sym_keyword__LINE__] = ACTIONS(7128),
    [sym_keyword__ENCODING__] = ACTIONS(7128),
    [sym__character_literal] = ACTIONS(7128),
    [anon_sym_LBRACK] = ACTIONS(7126),
    [anon_sym_DASH_GT] = ACTIONS(7126),
  },
  [2439] = {
    [sym__simple_string] = ACTIONS(7132),
    [sym__simple_symbol] = ACTIONS(7132),
    [sym__simple_subshell] = ACTIONS(7132),
    [sym__simple_regex] = ACTIONS(7132),
    [sym__simple_word_list] = ACTIONS(7132),
    [sym__string_beginning] = ACTIONS(7132),
    [sym__symbol_beginning] = ACTIONS(7132),
    [sym__subshell_beginning] = ACTIONS(7132),
    [sym__regex_beginning] = ACTIONS(7132),
    [sym__word_list_beginning] = ACTIONS(7132),
    [sym__string_middle] = ACTIONS(7132),
    [sym__string_end] = ACTIONS(7132),
    [sym_heredoc_beginning] = ACTIONS(7132),
    [sym__element_reference_left_bracket] = ACTIONS(7132),
    [sym__block_ampersand] = ACTIONS(7132),
    [sym__splat_star] = ACTIONS(7132),
    [sym__argument_list_left_paren] = ACTIONS(7132),
    [sym__scope_double_colon] = ACTIONS(7132),
    [sym__unary_minus] = ACTIONS(7132),
    [sym__binary_minus] = ACTIONS(7132),
    [sym__binary_star] = ACTIONS(7132),
    [anon_sym_LBRACE] = ACTIONS(7132),
    [anon_sym_def] = ACTIONS(7134),
    [anon_sym_LPAREN] = ACTIONS(7132),
    [anon_sym_DOT] = ACTIONS(7134),
    [anon_sym_COLON_COLON] = ACTIONS(7132),
    [anon_sym_end] = ACTIONS(7134),
    [anon_sym_COMMA] = ACTIONS(7132),
    [anon_sym_PIPE] = ACTIONS(7134),
    [anon_sym_STAR] = ACTIONS(7134),
    [anon_sym_STAR_STAR] = ACTIONS(7134),
    [anon_sym_AMP] = ACTIONS(7134),
    [anon_sym_EQ] = ACTIONS(7134),
    [anon_sym_class] = ACTIONS(7134),
    [anon_sym_LT] = ACTIONS(7134),
    [anon_sym_module] = ACTIONS(7134),
    [anon_sym_return] = ACTIONS(7134),
    [anon_sym_yield] = ACTIONS(7134),
    [anon_sym_break] = ACTIONS(7134),
    [anon_sym_next] = ACTIONS(7134),
    [anon_sym_redo] = ACTIONS(7134),
    [anon_sym_retry] = ACTIONS(7134),
    [anon_sym_if] = ACTIONS(7134),
    [anon_sym_unless] = ACTIONS(7134),
    [anon_sym_while] = ACTIONS(7134),
    [anon_sym_until] = ACTIONS(7134),
    [anon_sym_rescue] = ACTIONS(7134),
    [anon_sym_for] = ACTIONS(7134),
    [anon_sym_in] = ACTIONS(7134),
    [anon_sym_do] = ACTIONS(7134),
    [anon_sym_case] = ACTIONS(7134),
    [anon_sym_when] = ACTIONS(7134),
    [anon_sym_elsif] = ACTIONS(7134),
    [anon_sym_else] = ACTIONS(7134),
    [anon_sym_then] = ACTIONS(7134),
    [anon_sym_begin] = ACTIONS(7134),
    [anon_sym_ensure] = ACTIONS(7134),
    [anon_sym_AMP_DOT] = ACTIONS(7132),
    [anon_sym_PLUS_EQ] = ACTIONS(7132),
    [anon_sym_DASH_EQ] = ACTIONS(7132),
    [anon_sym_STAR_EQ] = ACTIONS(7132),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7132),
    [anon_sym_SLASH_EQ] = ACTIONS(7132),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7132),
    [anon_sym_PIPE_EQ] = ACTIONS(7132),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7132),
    [anon_sym_AMP_EQ] = ACTIONS(7132),
    [anon_sym_PERCENT_EQ] = ACTIONS(7132),
    [anon_sym_GT_GT_EQ] = ACTIONS(7132),
    [anon_sym_LT_LT_EQ] = ACTIONS(7132),
    [anon_sym_CARET_EQ] = ACTIONS(7132),
    [anon_sym_QMARK] = ACTIONS(7134),
    [anon_sym_DOT_DOT] = ACTIONS(7134),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7132),
    [anon_sym_and] = ACTIONS(7134),
    [anon_sym_or] = ACTIONS(7134),
    [anon_sym_PIPE_PIPE] = ACTIONS(7134),
    [anon_sym_AMP_AMP] = ACTIONS(7134),
    [anon_sym_LT_LT] = ACTIONS(7134),
    [anon_sym_GT_GT] = ACTIONS(7134),
    [anon_sym_EQ_EQ] = ACTIONS(7134),
    [anon_sym_BANG_EQ] = ACTIONS(7132),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7132),
    [anon_sym_LT_EQ_GT] = ACTIONS(7132),
    [anon_sym_EQ_TILDE] = ACTIONS(7132),
    [anon_sym_BANG_TILDE] = ACTIONS(7132),
    [anon_sym_LT_EQ] = ACTIONS(7134),
    [anon_sym_GT] = ACTIONS(7134),
    [anon_sym_GT_EQ] = ACTIONS(7132),
    [anon_sym_CARET] = ACTIONS(7134),
    [anon_sym_PLUS] = ACTIONS(7134),
    [anon_sym_SLASH] = ACTIONS(7134),
    [anon_sym_PERCENT] = ACTIONS(7134),
    [anon_sym_defined_QMARK] = ACTIONS(7132),
    [anon_sym_not] = ACTIONS(7134),
    [anon_sym_BANG] = ACTIONS(7134),
    [anon_sym_TILDE] = ACTIONS(7132),
    [sym_constant] = ACTIONS(7136),
    [sym_identifier] = ACTIONS(7136),
    [sym_instance_variable] = ACTIONS(7134),
    [sym_class_variable] = ACTIONS(7134),
    [sym_global_variable] = ACTIONS(7134),
    [anon_sym_alias] = ACTIONS(7134),
    [anon_sym_defined] = ACTIONS(7134),
    [anon_sym_false] = ACTIONS(7134),
    [anon_sym_nil] = ACTIONS(7134),
    [anon_sym_self] = ACTIONS(7134),
    [anon_sym_super] = ACTIONS(7134),
    [anon_sym_true] = ACTIONS(7134),
    [anon_sym_undef] = ACTIONS(7134),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(7134),
    [sym_float] = ACTIONS(7136),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(7132),
    [anon_sym_TRUE] = ACTIONS(7134),
    [anon_sym_FALSE] = ACTIONS(7134),
    [anon_sym_NIL] = ACTIONS(7134),
    [sym_keyword__FILE__] = ACTIONS(7134),
    [sym_keyword__LINE__] = ACTIONS(7134),
    [sym_keyword__ENCODING__] = ACTIONS(7134),
    [sym__character_literal] = ACTIONS(7134),
    [anon_sym_LBRACK] = ACTIONS(7132),
    [anon_sym_DASH_GT] = ACTIONS(7132),
  },
  [2440] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(7528),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [2441] = {
    [sym__statement] = STATE(5281),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [2442] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(7530),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [2443] = {
    [sym__statement] = STATE(5283),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [2444] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(7532),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [2445] = {
    [sym__statement] = STATE(5285),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [2446] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(7534),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [2447] = {
    [sym__statement] = STATE(5287),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [2448] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(7536),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [2449] = {
    [sym__statement] = STATE(5289),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [2450] = {
    [sym__simple_string] = ACTIONS(126),
    [sym__simple_heredoc_body] = ACTIONS(126),
    [sym__string_beginning] = ACTIONS(126),
    [sym__heredoc_body_beginning] = ACTIONS(126),
    [sym__string_middle] = ACTIONS(126),
    [sym__string_end] = ACTIONS(126),
    [sym__element_reference_left_bracket] = ACTIONS(126),
    [sym__scope_double_colon] = ACTIONS(126),
    [sym__binary_minus] = ACTIONS(126),
    [sym__binary_star] = ACTIONS(126),
    [anon_sym_LBRACE] = ACTIONS(126),
    [anon_sym_DOT] = ACTIONS(128),
    [anon_sym_COMMA] = ACTIONS(126),
    [anon_sym_PIPE] = ACTIONS(128),
    [anon_sym_STAR_STAR] = ACTIONS(128),
    [anon_sym_AMP] = ACTIONS(128),
    [anon_sym_EQ] = ACTIONS(128),
    [anon_sym_LT] = ACTIONS(128),
    [anon_sym_if] = ACTIONS(126),
    [anon_sym_unless] = ACTIONS(126),
    [anon_sym_while] = ACTIONS(126),
    [anon_sym_until] = ACTIONS(126),
    [anon_sym_rescue] = ACTIONS(126),
    [anon_sym_do] = ACTIONS(126),
    [anon_sym_AMP_DOT] = ACTIONS(126),
    [anon_sym_PLUS_EQ] = ACTIONS(126),
    [anon_sym_DASH_EQ] = ACTIONS(126),
    [anon_sym_STAR_EQ] = ACTIONS(126),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(126),
    [anon_sym_SLASH_EQ] = ACTIONS(126),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(126),
    [anon_sym_PIPE_EQ] = ACTIONS(126),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(126),
    [anon_sym_AMP_EQ] = ACTIONS(126),
    [anon_sym_PERCENT_EQ] = ACTIONS(126),
    [anon_sym_GT_GT_EQ] = ACTIONS(126),
    [anon_sym_LT_LT_EQ] = ACTIONS(126),
    [anon_sym_CARET_EQ] = ACTIONS(126),
    [anon_sym_QMARK] = ACTIONS(128),
    [anon_sym_DOT_DOT] = ACTIONS(128),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(126),
    [anon_sym_and] = ACTIONS(126),
    [anon_sym_or] = ACTIONS(126),
    [anon_sym_PIPE_PIPE] = ACTIONS(128),
    [anon_sym_AMP_AMP] = ACTIONS(128),
    [anon_sym_LT_LT] = ACTIONS(128),
    [anon_sym_GT_GT] = ACTIONS(128),
    [anon_sym_EQ_EQ] = ACTIONS(128),
    [anon_sym_BANG_EQ] = ACTIONS(126),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(126),
    [anon_sym_LT_EQ_GT] = ACTIONS(126),
    [anon_sym_EQ_TILDE] = ACTIONS(126),
    [anon_sym_BANG_TILDE] = ACTIONS(126),
    [anon_sym_LT_EQ] = ACTIONS(128),
    [anon_sym_GT] = ACTIONS(128),
    [anon_sym_GT_EQ] = ACTIONS(126),
    [anon_sym_CARET] = ACTIONS(128),
    [anon_sym_PLUS] = ACTIONS(128),
    [anon_sym_SLASH] = ACTIONS(128),
    [anon_sym_PERCENT] = ACTIONS(128),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(128),
  },
  [2451] = {
    [sym__simple_heredoc_body] = ACTIONS(130),
    [sym__heredoc_body_beginning] = ACTIONS(130),
    [sym__string_middle] = ACTIONS(130),
    [sym__string_end] = ACTIONS(130),
    [sym__element_reference_left_bracket] = ACTIONS(130),
    [sym__scope_double_colon] = ACTIONS(130),
    [sym__binary_minus] = ACTIONS(130),
    [sym__binary_star] = ACTIONS(130),
    [anon_sym_LBRACE] = ACTIONS(130),
    [anon_sym_DOT] = ACTIONS(132),
    [anon_sym_COMMA] = ACTIONS(130),
    [anon_sym_PIPE] = ACTIONS(132),
    [anon_sym_STAR_STAR] = ACTIONS(132),
    [anon_sym_AMP] = ACTIONS(132),
    [anon_sym_EQ] = ACTIONS(132),
    [anon_sym_LT] = ACTIONS(132),
    [anon_sym_if] = ACTIONS(130),
    [anon_sym_unless] = ACTIONS(130),
    [anon_sym_while] = ACTIONS(130),
    [anon_sym_until] = ACTIONS(130),
    [anon_sym_rescue] = ACTIONS(130),
    [anon_sym_do] = ACTIONS(130),
    [anon_sym_AMP_DOT] = ACTIONS(130),
    [anon_sym_PLUS_EQ] = ACTIONS(130),
    [anon_sym_DASH_EQ] = ACTIONS(130),
    [anon_sym_STAR_EQ] = ACTIONS(130),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(130),
    [anon_sym_SLASH_EQ] = ACTIONS(130),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(130),
    [anon_sym_PIPE_EQ] = ACTIONS(130),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(130),
    [anon_sym_AMP_EQ] = ACTIONS(130),
    [anon_sym_PERCENT_EQ] = ACTIONS(130),
    [anon_sym_GT_GT_EQ] = ACTIONS(130),
    [anon_sym_LT_LT_EQ] = ACTIONS(130),
    [anon_sym_CARET_EQ] = ACTIONS(130),
    [anon_sym_QMARK] = ACTIONS(130),
    [anon_sym_DOT_DOT] = ACTIONS(132),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(130),
    [anon_sym_and] = ACTIONS(130),
    [anon_sym_or] = ACTIONS(130),
    [anon_sym_PIPE_PIPE] = ACTIONS(132),
    [anon_sym_AMP_AMP] = ACTIONS(132),
    [anon_sym_LT_LT] = ACTIONS(132),
    [anon_sym_GT_GT] = ACTIONS(132),
    [anon_sym_EQ_EQ] = ACTIONS(132),
    [anon_sym_BANG_EQ] = ACTIONS(130),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(130),
    [anon_sym_LT_EQ_GT] = ACTIONS(130),
    [anon_sym_EQ_TILDE] = ACTIONS(130),
    [anon_sym_BANG_TILDE] = ACTIONS(130),
    [anon_sym_LT_EQ] = ACTIONS(132),
    [anon_sym_GT] = ACTIONS(132),
    [anon_sym_GT_EQ] = ACTIONS(130),
    [anon_sym_CARET] = ACTIONS(132),
    [anon_sym_PLUS] = ACTIONS(132),
    [anon_sym_SLASH] = ACTIONS(132),
    [anon_sym_PERCENT] = ACTIONS(132),
    [sym_comment] = ACTIONS(256),
  },
  [2452] = {
    [sym__simple_heredoc_body] = ACTIONS(134),
    [sym__heredoc_body_beginning] = ACTIONS(134),
    [sym__string_middle] = ACTIONS(134),
    [sym__string_end] = ACTIONS(134),
    [sym__element_reference_left_bracket] = ACTIONS(134),
    [sym__scope_double_colon] = ACTIONS(134),
    [sym__binary_minus] = ACTIONS(134),
    [sym__binary_star] = ACTIONS(134),
    [anon_sym_LBRACE] = ACTIONS(134),
    [anon_sym_DOT] = ACTIONS(136),
    [anon_sym_COMMA] = ACTIONS(134),
    [anon_sym_PIPE] = ACTIONS(136),
    [anon_sym_STAR_STAR] = ACTIONS(136),
    [anon_sym_AMP] = ACTIONS(136),
    [anon_sym_EQ] = ACTIONS(136),
    [anon_sym_LT] = ACTIONS(136),
    [anon_sym_if] = ACTIONS(134),
    [anon_sym_unless] = ACTIONS(134),
    [anon_sym_while] = ACTIONS(134),
    [anon_sym_until] = ACTIONS(134),
    [anon_sym_rescue] = ACTIONS(134),
    [anon_sym_do] = ACTIONS(134),
    [anon_sym_AMP_DOT] = ACTIONS(134),
    [anon_sym_PLUS_EQ] = ACTIONS(134),
    [anon_sym_DASH_EQ] = ACTIONS(134),
    [anon_sym_STAR_EQ] = ACTIONS(134),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(134),
    [anon_sym_SLASH_EQ] = ACTIONS(134),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(134),
    [anon_sym_PIPE_EQ] = ACTIONS(134),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(134),
    [anon_sym_AMP_EQ] = ACTIONS(134),
    [anon_sym_PERCENT_EQ] = ACTIONS(134),
    [anon_sym_GT_GT_EQ] = ACTIONS(134),
    [anon_sym_LT_LT_EQ] = ACTIONS(134),
    [anon_sym_CARET_EQ] = ACTIONS(134),
    [anon_sym_QMARK] = ACTIONS(134),
    [anon_sym_DOT_DOT] = ACTIONS(136),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(134),
    [anon_sym_and] = ACTIONS(134),
    [anon_sym_or] = ACTIONS(134),
    [anon_sym_PIPE_PIPE] = ACTIONS(136),
    [anon_sym_AMP_AMP] = ACTIONS(136),
    [anon_sym_LT_LT] = ACTIONS(136),
    [anon_sym_GT_GT] = ACTIONS(136),
    [anon_sym_EQ_EQ] = ACTIONS(136),
    [anon_sym_BANG_EQ] = ACTIONS(134),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(134),
    [anon_sym_LT_EQ_GT] = ACTIONS(134),
    [anon_sym_EQ_TILDE] = ACTIONS(134),
    [anon_sym_BANG_TILDE] = ACTIONS(134),
    [anon_sym_LT_EQ] = ACTIONS(136),
    [anon_sym_GT] = ACTIONS(136),
    [anon_sym_GT_EQ] = ACTIONS(134),
    [anon_sym_CARET] = ACTIONS(136),
    [anon_sym_PLUS] = ACTIONS(136),
    [anon_sym_SLASH] = ACTIONS(136),
    [anon_sym_PERCENT] = ACTIONS(136),
    [sym_comment] = ACTIONS(256),
  },
  [2453] = {
    [sym__simple_heredoc_body] = ACTIONS(138),
    [sym__heredoc_body_beginning] = ACTIONS(138),
    [sym__string_middle] = ACTIONS(138),
    [sym__string_end] = ACTIONS(138),
    [sym__element_reference_left_bracket] = ACTIONS(138),
    [sym__scope_double_colon] = ACTIONS(138),
    [sym__binary_minus] = ACTIONS(138),
    [sym__binary_star] = ACTIONS(138),
    [anon_sym_LBRACE] = ACTIONS(138),
    [anon_sym_DOT] = ACTIONS(140),
    [anon_sym_COMMA] = ACTIONS(138),
    [anon_sym_PIPE] = ACTIONS(140),
    [anon_sym_STAR_STAR] = ACTIONS(140),
    [anon_sym_AMP] = ACTIONS(140),
    [anon_sym_EQ] = ACTIONS(140),
    [anon_sym_LT] = ACTIONS(140),
    [anon_sym_if] = ACTIONS(138),
    [anon_sym_unless] = ACTIONS(138),
    [anon_sym_while] = ACTIONS(138),
    [anon_sym_until] = ACTIONS(138),
    [anon_sym_rescue] = ACTIONS(138),
    [anon_sym_do] = ACTIONS(138),
    [anon_sym_AMP_DOT] = ACTIONS(138),
    [anon_sym_PLUS_EQ] = ACTIONS(138),
    [anon_sym_DASH_EQ] = ACTIONS(138),
    [anon_sym_STAR_EQ] = ACTIONS(138),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(138),
    [anon_sym_SLASH_EQ] = ACTIONS(138),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(138),
    [anon_sym_PIPE_EQ] = ACTIONS(138),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(138),
    [anon_sym_AMP_EQ] = ACTIONS(138),
    [anon_sym_PERCENT_EQ] = ACTIONS(138),
    [anon_sym_GT_GT_EQ] = ACTIONS(138),
    [anon_sym_LT_LT_EQ] = ACTIONS(138),
    [anon_sym_CARET_EQ] = ACTIONS(138),
    [anon_sym_QMARK] = ACTIONS(138),
    [anon_sym_DOT_DOT] = ACTIONS(140),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(138),
    [anon_sym_and] = ACTIONS(138),
    [anon_sym_or] = ACTIONS(138),
    [anon_sym_PIPE_PIPE] = ACTIONS(140),
    [anon_sym_AMP_AMP] = ACTIONS(140),
    [anon_sym_LT_LT] = ACTIONS(140),
    [anon_sym_GT_GT] = ACTIONS(140),
    [anon_sym_EQ_EQ] = ACTIONS(140),
    [anon_sym_BANG_EQ] = ACTIONS(138),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(138),
    [anon_sym_LT_EQ_GT] = ACTIONS(138),
    [anon_sym_EQ_TILDE] = ACTIONS(138),
    [anon_sym_BANG_TILDE] = ACTIONS(138),
    [anon_sym_LT_EQ] = ACTIONS(140),
    [anon_sym_GT] = ACTIONS(140),
    [anon_sym_GT_EQ] = ACTIONS(138),
    [anon_sym_CARET] = ACTIONS(140),
    [anon_sym_PLUS] = ACTIONS(140),
    [anon_sym_SLASH] = ACTIONS(140),
    [anon_sym_PERCENT] = ACTIONS(140),
    [sym_comment] = ACTIONS(256),
  },
  [2454] = {
    [sym__simple_heredoc_body] = ACTIONS(142),
    [sym__heredoc_body_beginning] = ACTIONS(142),
    [sym__string_middle] = ACTIONS(142),
    [sym__string_end] = ACTIONS(142),
    [sym__element_reference_left_bracket] = ACTIONS(142),
    [sym__scope_double_colon] = ACTIONS(142),
    [sym__binary_minus] = ACTIONS(142),
    [sym__binary_star] = ACTIONS(142),
    [anon_sym_LBRACE] = ACTIONS(142),
    [anon_sym_DOT] = ACTIONS(144),
    [anon_sym_COMMA] = ACTIONS(142),
    [anon_sym_PIPE] = ACTIONS(144),
    [anon_sym_STAR_STAR] = ACTIONS(144),
    [anon_sym_AMP] = ACTIONS(144),
    [anon_sym_EQ] = ACTIONS(144),
    [anon_sym_LT] = ACTIONS(144),
    [anon_sym_if] = ACTIONS(142),
    [anon_sym_unless] = ACTIONS(142),
    [anon_sym_while] = ACTIONS(142),
    [anon_sym_until] = ACTIONS(142),
    [anon_sym_rescue] = ACTIONS(142),
    [anon_sym_do] = ACTIONS(142),
    [anon_sym_AMP_DOT] = ACTIONS(142),
    [anon_sym_PLUS_EQ] = ACTIONS(142),
    [anon_sym_DASH_EQ] = ACTIONS(142),
    [anon_sym_STAR_EQ] = ACTIONS(142),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(142),
    [anon_sym_SLASH_EQ] = ACTIONS(142),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(142),
    [anon_sym_PIPE_EQ] = ACTIONS(142),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(142),
    [anon_sym_AMP_EQ] = ACTIONS(142),
    [anon_sym_PERCENT_EQ] = ACTIONS(142),
    [anon_sym_GT_GT_EQ] = ACTIONS(142),
    [anon_sym_LT_LT_EQ] = ACTIONS(142),
    [anon_sym_CARET_EQ] = ACTIONS(142),
    [anon_sym_QMARK] = ACTIONS(142),
    [anon_sym_DOT_DOT] = ACTIONS(144),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(142),
    [anon_sym_and] = ACTIONS(142),
    [anon_sym_or] = ACTIONS(142),
    [anon_sym_PIPE_PIPE] = ACTIONS(144),
    [anon_sym_AMP_AMP] = ACTIONS(144),
    [anon_sym_LT_LT] = ACTIONS(144),
    [anon_sym_GT_GT] = ACTIONS(144),
    [anon_sym_EQ_EQ] = ACTIONS(144),
    [anon_sym_BANG_EQ] = ACTIONS(142),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(142),
    [anon_sym_LT_EQ_GT] = ACTIONS(142),
    [anon_sym_EQ_TILDE] = ACTIONS(142),
    [anon_sym_BANG_TILDE] = ACTIONS(142),
    [anon_sym_LT_EQ] = ACTIONS(144),
    [anon_sym_GT] = ACTIONS(144),
    [anon_sym_GT_EQ] = ACTIONS(142),
    [anon_sym_CARET] = ACTIONS(144),
    [anon_sym_PLUS] = ACTIONS(144),
    [anon_sym_SLASH] = ACTIONS(144),
    [anon_sym_PERCENT] = ACTIONS(144),
    [sym_comment] = ACTIONS(256),
  },
  [2455] = {
    [sym__statement] = STATE(5290),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(5291),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [2456] = {
    [sym__statement] = STATE(5292),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(5293),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [2457] = {
    [sym__statement] = STATE(5294),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(5295),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [2458] = {
    [sym__statement] = STATE(5296),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(5297),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [2459] = {
    [sym__statement] = STATE(5298),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(5299),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [2460] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__string_middle] = ACTIONS(250),
    [sym__string_end] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [2461] = {
    [sym_method] = STATE(2460),
    [sym_singleton_method] = STATE(2460),
    [sym_class] = STATE(2460),
    [sym_singleton_class] = STATE(2460),
    [sym_module] = STATE(2460),
    [sym_return] = STATE(2460),
    [sym_yield] = STATE(2460),
    [sym_break] = STATE(2460),
    [sym_next] = STATE(2460),
    [sym_redo] = STATE(2460),
    [sym_retry] = STATE(2460),
    [sym_while] = STATE(2460),
    [sym_until] = STATE(2460),
    [sym_for] = STATE(2460),
    [sym_case] = STATE(2460),
    [sym_if] = STATE(2460),
    [sym_unless] = STATE(2460),
    [sym_begin] = STATE(2460),
    [sym__arg] = STATE(5300),
    [sym__primary] = STATE(2488),
    [sym_parenthesized_statements] = STATE(2460),
    [sym_element_reference] = STATE(2282),
    [sym_scope_resolution] = STATE(2489),
    [sym_call] = STATE(2489),
    [sym_method_call] = STATE(2282),
    [sym_assignment] = STATE(2490),
    [sym_operator_assignment] = STATE(2490),
    [sym_conditional] = STATE(2490),
    [sym_range] = STATE(2490),
    [sym_binary] = STATE(2490),
    [sym_unary] = STATE(2490),
    [sym_left_assignment_list] = STATE(2491),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2492),
    [sym__variable] = STATE(2489),
    [sym_symbol] = STATE(2460),
    [sym_complex] = STATE(2460),
    [sym_rational] = STATE(2460),
    [sym_super] = STATE(2274),
    [sym_true] = STATE(2282),
    [sym_false] = STATE(2282),
    [sym_self] = STATE(2274),
    [sym_nil] = STATE(2282),
    [sym_chained_string] = STATE(2460),
    [sym_string] = STATE(2493),
    [sym_subshell] = STATE(2460),
    [sym_array] = STATE(2460),
    [sym_hash] = STATE(2460),
    [sym_regex] = STATE(2460),
    [sym_lambda] = STATE(2460),
    [sym__simple_string] = ACTIONS(3628),
    [sym__simple_symbol] = ACTIONS(3630),
    [sym__simple_subshell] = ACTIONS(3632),
    [sym__simple_regex] = ACTIONS(3634),
    [sym__simple_word_list] = ACTIONS(3636),
    [sym__string_beginning] = ACTIONS(3638),
    [sym__symbol_beginning] = ACTIONS(3640),
    [sym__subshell_beginning] = ACTIONS(3642),
    [sym__regex_beginning] = ACTIONS(3644),
    [sym__word_list_beginning] = ACTIONS(3646),
    [sym_heredoc_beginning] = ACTIONS(3648),
    [sym__unary_minus] = ACTIONS(3650),
    [anon_sym_LBRACE] = ACTIONS(3652),
    [anon_sym_def] = ACTIONS(3654),
    [anon_sym_LPAREN] = ACTIONS(3656),
    [anon_sym_COLON_COLON] = ACTIONS(3418),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3658),
    [anon_sym_module] = ACTIONS(3660),
    [anon_sym_return] = ACTIONS(3662),
    [anon_sym_yield] = ACTIONS(3664),
    [anon_sym_break] = ACTIONS(3666),
    [anon_sym_next] = ACTIONS(3668),
    [anon_sym_redo] = ACTIONS(3670),
    [anon_sym_retry] = ACTIONS(3672),
    [anon_sym_if] = ACTIONS(3674),
    [anon_sym_unless] = ACTIONS(3676),
    [anon_sym_while] = ACTIONS(3678),
    [anon_sym_until] = ACTIONS(3680),
    [anon_sym_for] = ACTIONS(3682),
    [anon_sym_case] = ACTIONS(3684),
    [anon_sym_begin] = ACTIONS(3686),
    [anon_sym_PLUS] = ACTIONS(3688),
    [anon_sym_defined_QMARK] = ACTIONS(3690),
    [anon_sym_not] = ACTIONS(3692),
    [anon_sym_BANG] = ACTIONS(3694),
    [anon_sym_TILDE] = ACTIONS(3694),
    [sym_constant] = ACTIONS(3458),
    [sym_identifier] = ACTIONS(3458),
    [sym_instance_variable] = ACTIONS(3460),
    [sym_class_variable] = ACTIONS(3460),
    [sym_global_variable] = ACTIONS(3460),
    [anon_sym_false] = ACTIONS(3462),
    [anon_sym_nil] = ACTIONS(3464),
    [anon_sym_self] = ACTIONS(3466),
    [anon_sym_super] = ACTIONS(3468),
    [anon_sym_true] = ACTIONS(3470),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3696),
    [sym_float] = ACTIONS(3698),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3700),
    [anon_sym_TRUE] = ACTIONS(3470),
    [anon_sym_FALSE] = ACTIONS(3462),
    [anon_sym_NIL] = ACTIONS(3464),
    [sym_keyword__FILE__] = ACTIONS(3702),
    [sym_keyword__LINE__] = ACTIONS(3702),
    [sym_keyword__ENCODING__] = ACTIONS(3702),
    [sym__character_literal] = ACTIONS(3704),
    [anon_sym_LBRACK] = ACTIONS(3706),
    [anon_sym_DASH_GT] = ACTIONS(3708),
  },
  [2462] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(193),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_hash_splat_argument] = STATE(197),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(199),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(200),
    [sym__variable] = STATE(196),
    [sym_reserved_identifier] = STATE(201),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(202),
    [sym_subshell] = STATE(151),
    [sym_heredoc_end] = STATE(5302),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym__hash_items] = STATE(5303),
    [sym_pair] = STATE(205),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(260),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(272),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(286),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_RBRACE] = ACTIONS(7538),
    [anon_sym_def] = ACTIONS(292),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(302),
    [anon_sym_class] = ACTIONS(304),
    [anon_sym_module] = ACTIONS(306),
    [anon_sym_return] = ACTIONS(308),
    [anon_sym_yield] = ACTIONS(310),
    [anon_sym_break] = ACTIONS(312),
    [anon_sym_next] = ACTIONS(314),
    [anon_sym_redo] = ACTIONS(316),
    [anon_sym_retry] = ACTIONS(318),
    [anon_sym_if] = ACTIONS(320),
    [anon_sym_unless] = ACTIONS(322),
    [anon_sym_while] = ACTIONS(324),
    [anon_sym_until] = ACTIONS(326),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(328),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(330),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(332),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(334),
    [anon_sym_defined_QMARK] = ACTIONS(336),
    [anon_sym_not] = ACTIONS(338),
    [anon_sym_BANG] = ACTIONS(340),
    [anon_sym_TILDE] = ACTIONS(340),
    [sym_constant] = ACTIONS(342),
    [sym_identifier] = ACTIONS(342),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(346),
    [anon_sym_nil] = ACTIONS(348),
    [anon_sym_self] = ACTIONS(350),
    [anon_sym_super] = ACTIONS(352),
    [anon_sym_true] = ACTIONS(354),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(370),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [2463] = {
    [sym__method_rest] = STATE(5305),
    [sym__variable] = STATE(5306),
    [sym_operator] = STATE(217),
    [sym__method_name] = STATE(5307),
    [sym_setter] = STATE(217),
    [sym_symbol] = STATE(217),
    [sym_super] = STATE(219),
    [sym_self] = STATE(219),
    [sym__simple_symbol] = ACTIONS(378),
    [sym__symbol_beginning] = ACTIONS(380),
    [anon_sym_LPAREN] = ACTIONS(7540),
    [anon_sym_PIPE] = ACTIONS(384),
    [anon_sym_STAR] = ACTIONS(386),
    [anon_sym_STAR_STAR] = ACTIONS(384),
    [anon_sym_AMP] = ACTIONS(384),
    [anon_sym_LT] = ACTIONS(386),
    [anon_sym_DOT_DOT] = ACTIONS(384),
    [anon_sym_LT_LT] = ACTIONS(384),
    [anon_sym_GT_GT] = ACTIONS(384),
    [anon_sym_EQ_EQ] = ACTIONS(386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(384),
    [anon_sym_LT_EQ_GT] = ACTIONS(384),
    [anon_sym_EQ_TILDE] = ACTIONS(384),
    [anon_sym_BANG_TILDE] = ACTIONS(384),
    [anon_sym_LT_EQ] = ACTIONS(386),
    [anon_sym_GT] = ACTIONS(386),
    [anon_sym_GT_EQ] = ACTIONS(384),
    [anon_sym_CARET] = ACTIONS(384),
    [anon_sym_PLUS] = ACTIONS(386),
    [anon_sym_SLASH] = ACTIONS(384),
    [anon_sym_PERCENT] = ACTIONS(384),
    [anon_sym_BANG] = ACTIONS(386),
    [anon_sym_TILDE] = ACTIONS(384),
    [sym_constant] = ACTIONS(388),
    [sym_identifier] = ACTIONS(390),
    [sym_instance_variable] = ACTIONS(388),
    [sym_class_variable] = ACTIONS(388),
    [sym_global_variable] = ACTIONS(388),
    [anon_sym_self] = ACTIONS(392),
    [anon_sym_super] = ACTIONS(394),
    [anon_sym_DASH] = ACTIONS(386),
    [anon_sym_PLUS_AT] = ACTIONS(384),
    [anon_sym_DASH_AT] = ACTIONS(384),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(386),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(384),
    [anon_sym_BQUOTE] = ACTIONS(384),
    [sym_comment] = ACTIONS(110),
  },
  [2464] = {
    [sym__statements] = STATE(5309),
    [sym__top_level_statement] = STATE(235),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(236),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(237),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(240),
    [sym__mlhs] = STATE(241),
    [sym__simple_mlhs] = STATE(242),
    [sym_destructured_left_assignment] = STATE(242),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(243),
    [sym__variable] = STATE(239),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(396),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_RPAREN] = ACTIONS(7542),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(402),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(412),
    [anon_sym_defined_QMARK] = ACTIONS(414),
    [anon_sym_not] = ACTIONS(416),
    [anon_sym_BANG] = ACTIONS(418),
    [anon_sym_TILDE] = ACTIONS(418),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2465] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(293),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(5312),
    [sym_call] = STATE(295),
    [sym_method_call] = STATE(286),
    [sym__lhs] = STATE(255),
    [sym__variable] = STATE(295),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [sym__singleton_class_left_angle_left_langle] = ACTIONS(7544),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(458),
    [anon_sym_COLON_COLON] = ACTIONS(524),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(7546),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [2466] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(293),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(5314),
    [sym_call] = STATE(295),
    [sym_method_call] = STATE(286),
    [sym__lhs] = STATE(255),
    [sym__variable] = STATE(295),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(458),
    [anon_sym_COLON_COLON] = ACTIONS(524),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(7548),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [2467] = {
    [sym_method] = STATE(769),
    [sym_singleton_method] = STATE(769),
    [sym_class] = STATE(769),
    [sym_singleton_class] = STATE(769),
    [sym_module] = STATE(769),
    [sym_return] = STATE(769),
    [sym_yield] = STATE(769),
    [sym_break] = STATE(769),
    [sym_next] = STATE(769),
    [sym_redo] = STATE(769),
    [sym_retry] = STATE(769),
    [sym_while] = STATE(769),
    [sym_until] = STATE(769),
    [sym_for] = STATE(769),
    [sym_case] = STATE(769),
    [sym_if] = STATE(769),
    [sym_unless] = STATE(769),
    [sym_begin] = STATE(769),
    [sym__arg] = STATE(803),
    [sym__primary] = STATE(804),
    [sym_parenthesized_statements] = STATE(769),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(805),
    [sym_call] = STATE(805),
    [sym_method_call] = STATE(694),
    [sym_argument_list] = STATE(5315),
    [sym__argument_list_with_parens] = STATE(807),
    [sym__argument] = STATE(808),
    [sym_splat_argument] = STATE(809),
    [sym_hash_splat_argument] = STATE(809),
    [sym_block_argument] = STATE(809),
    [sym_assignment] = STATE(811),
    [sym_operator_assignment] = STATE(811),
    [sym_conditional] = STATE(811),
    [sym_range] = STATE(811),
    [sym_binary] = STATE(811),
    [sym_unary] = STATE(811),
    [sym_left_assignment_list] = STATE(812),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(813),
    [sym__variable] = STATE(805),
    [sym_reserved_identifier] = STATE(814),
    [sym_symbol] = STATE(769),
    [sym_complex] = STATE(769),
    [sym_rational] = STATE(769),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(769),
    [sym_string] = STATE(815),
    [sym_subshell] = STATE(769),
    [sym_array] = STATE(769),
    [sym_hash] = STATE(769),
    [sym_pair] = STATE(809),
    [sym_regex] = STATE(769),
    [sym_lambda] = STATE(769),
    [sym__simple_string] = ACTIONS(1274),
    [sym__simple_symbol] = ACTIONS(1276),
    [sym__simple_subshell] = ACTIONS(1278),
    [sym__simple_regex] = ACTIONS(1280),
    [sym__simple_word_list] = ACTIONS(1282),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(1284),
    [sym__symbol_beginning] = ACTIONS(1286),
    [sym__subshell_beginning] = ACTIONS(1288),
    [sym__regex_beginning] = ACTIONS(1290),
    [sym__word_list_beginning] = ACTIONS(1292),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym__string_middle] = ACTIONS(532),
    [sym__string_end] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(1294),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(1296),
    [sym__splat_star] = ACTIONS(1298),
    [sym__argument_list_left_paren] = ACTIONS(1300),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(1302),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(1306),
    [anon_sym_LPAREN] = ACTIONS(1308),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(544),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(1310),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(1312),
    [anon_sym_return] = ACTIONS(1314),
    [anon_sym_yield] = ACTIONS(1316),
    [anon_sym_break] = ACTIONS(1318),
    [anon_sym_next] = ACTIONS(1320),
    [anon_sym_redo] = ACTIONS(1322),
    [anon_sym_retry] = ACTIONS(1324),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(1326),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(1330),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1332),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_PLUS_EQ] = ACTIONS(532),
    [anon_sym_DASH_EQ] = ACTIONS(532),
    [anon_sym_STAR_EQ] = ACTIONS(532),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(532),
    [anon_sym_SLASH_EQ] = ACTIONS(532),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(532),
    [anon_sym_PIPE_EQ] = ACTIONS(532),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(532),
    [anon_sym_AMP_EQ] = ACTIONS(532),
    [anon_sym_PERCENT_EQ] = ACTIONS(532),
    [anon_sym_GT_GT_EQ] = ACTIONS(532),
    [anon_sym_LT_LT_EQ] = ACTIONS(532),
    [anon_sym_CARET_EQ] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(544),
    [anon_sym_AMP_AMP] = ACTIONS(544),
    [anon_sym_LT_LT] = ACTIONS(544),
    [anon_sym_GT_GT] = ACTIONS(544),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(544),
    [anon_sym_PERCENT] = ACTIONS(544),
    [anon_sym_defined_QMARK] = ACTIONS(1334),
    [anon_sym_not] = ACTIONS(1336),
    [anon_sym_BANG] = ACTIONS(1338),
    [anon_sym_TILDE] = ACTIONS(1340),
    [sym_constant] = ACTIONS(1342),
    [sym_identifier] = ACTIONS(1342),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(1168),
    [anon_sym_nil] = ACTIONS(1170),
    [anon_sym_self] = ACTIONS(1172),
    [anon_sym_super] = ACTIONS(1174),
    [anon_sym_true] = ACTIONS(1176),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1344),
    [sym_float] = ACTIONS(1346),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1348),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1350),
    [sym_keyword__LINE__] = ACTIONS(1350),
    [sym_keyword__ENCODING__] = ACTIONS(1350),
    [sym__character_literal] = ACTIONS(1352),
    [anon_sym_LBRACK] = ACTIONS(1354),
    [anon_sym_DASH_GT] = ACTIONS(1356),
  },
  [2468] = {
    [sym_method] = STATE(769),
    [sym_singleton_method] = STATE(769),
    [sym_class] = STATE(769),
    [sym_singleton_class] = STATE(769),
    [sym_module] = STATE(769),
    [sym_return] = STATE(769),
    [sym_yield] = STATE(769),
    [sym_break] = STATE(769),
    [sym_next] = STATE(769),
    [sym_redo] = STATE(769),
    [sym_retry] = STATE(769),
    [sym_while] = STATE(769),
    [sym_until] = STATE(769),
    [sym_for] = STATE(769),
    [sym_case] = STATE(769),
    [sym_if] = STATE(769),
    [sym_unless] = STATE(769),
    [sym_begin] = STATE(769),
    [sym__arg] = STATE(803),
    [sym__primary] = STATE(804),
    [sym_parenthesized_statements] = STATE(769),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(805),
    [sym_call] = STATE(805),
    [sym_method_call] = STATE(694),
    [sym_argument_list] = STATE(5316),
    [sym__argument_list_with_parens] = STATE(807),
    [sym__argument] = STATE(808),
    [sym_splat_argument] = STATE(809),
    [sym_hash_splat_argument] = STATE(809),
    [sym_block_argument] = STATE(809),
    [sym_assignment] = STATE(811),
    [sym_operator_assignment] = STATE(811),
    [sym_conditional] = STATE(811),
    [sym_range] = STATE(811),
    [sym_binary] = STATE(811),
    [sym_unary] = STATE(811),
    [sym_left_assignment_list] = STATE(812),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(813),
    [sym__variable] = STATE(805),
    [sym_reserved_identifier] = STATE(814),
    [sym_symbol] = STATE(769),
    [sym_complex] = STATE(769),
    [sym_rational] = STATE(769),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(769),
    [sym_string] = STATE(815),
    [sym_subshell] = STATE(769),
    [sym_array] = STATE(769),
    [sym_hash] = STATE(769),
    [sym_pair] = STATE(809),
    [sym_regex] = STATE(769),
    [sym_lambda] = STATE(769),
    [sym__simple_string] = ACTIONS(1274),
    [sym__simple_symbol] = ACTIONS(1276),
    [sym__simple_subshell] = ACTIONS(1278),
    [sym__simple_regex] = ACTIONS(1280),
    [sym__simple_word_list] = ACTIONS(1282),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(1284),
    [sym__symbol_beginning] = ACTIONS(1286),
    [sym__subshell_beginning] = ACTIONS(1288),
    [sym__regex_beginning] = ACTIONS(1290),
    [sym__word_list_beginning] = ACTIONS(1292),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym__string_middle] = ACTIONS(602),
    [sym__string_end] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(1294),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(1296),
    [sym__splat_star] = ACTIONS(1298),
    [sym__argument_list_left_paren] = ACTIONS(1300),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(1302),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(1306),
    [anon_sym_LPAREN] = ACTIONS(1308),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(604),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(1310),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(1312),
    [anon_sym_return] = ACTIONS(1314),
    [anon_sym_yield] = ACTIONS(1316),
    [anon_sym_break] = ACTIONS(1318),
    [anon_sym_next] = ACTIONS(1320),
    [anon_sym_redo] = ACTIONS(1322),
    [anon_sym_retry] = ACTIONS(1324),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(1326),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(1330),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1332),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_PLUS_EQ] = ACTIONS(602),
    [anon_sym_DASH_EQ] = ACTIONS(602),
    [anon_sym_STAR_EQ] = ACTIONS(602),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(602),
    [anon_sym_SLASH_EQ] = ACTIONS(602),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(602),
    [anon_sym_PIPE_EQ] = ACTIONS(602),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(602),
    [anon_sym_AMP_EQ] = ACTIONS(602),
    [anon_sym_PERCENT_EQ] = ACTIONS(602),
    [anon_sym_GT_GT_EQ] = ACTIONS(602),
    [anon_sym_LT_LT_EQ] = ACTIONS(602),
    [anon_sym_CARET_EQ] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(604),
    [anon_sym_AMP_AMP] = ACTIONS(604),
    [anon_sym_LT_LT] = ACTIONS(604),
    [anon_sym_GT_GT] = ACTIONS(604),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(604),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(604),
    [anon_sym_PERCENT] = ACTIONS(604),
    [anon_sym_defined_QMARK] = ACTIONS(1334),
    [anon_sym_not] = ACTIONS(1336),
    [anon_sym_BANG] = ACTIONS(1338),
    [anon_sym_TILDE] = ACTIONS(1340),
    [sym_constant] = ACTIONS(1342),
    [sym_identifier] = ACTIONS(1342),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(1168),
    [anon_sym_nil] = ACTIONS(1170),
    [anon_sym_self] = ACTIONS(1172),
    [anon_sym_super] = ACTIONS(1174),
    [anon_sym_true] = ACTIONS(1176),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1344),
    [sym_float] = ACTIONS(1346),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1348),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1350),
    [sym_keyword__LINE__] = ACTIONS(1350),
    [sym_keyword__ENCODING__] = ACTIONS(1350),
    [sym__character_literal] = ACTIONS(1352),
    [anon_sym_LBRACK] = ACTIONS(1354),
    [anon_sym_DASH_GT] = ACTIONS(1356),
  },
  [2469] = {
    [sym_method] = STATE(769),
    [sym_singleton_method] = STATE(769),
    [sym_class] = STATE(769),
    [sym_singleton_class] = STATE(769),
    [sym_module] = STATE(769),
    [sym_return] = STATE(769),
    [sym_yield] = STATE(769),
    [sym_break] = STATE(769),
    [sym_next] = STATE(769),
    [sym_redo] = STATE(769),
    [sym_retry] = STATE(769),
    [sym_while] = STATE(769),
    [sym_until] = STATE(769),
    [sym_for] = STATE(769),
    [sym_case] = STATE(769),
    [sym_if] = STATE(769),
    [sym_unless] = STATE(769),
    [sym_begin] = STATE(769),
    [sym__arg] = STATE(803),
    [sym__primary] = STATE(804),
    [sym_parenthesized_statements] = STATE(769),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(805),
    [sym_call] = STATE(805),
    [sym_method_call] = STATE(694),
    [sym_argument_list] = STATE(5317),
    [sym__argument_list_with_parens] = STATE(807),
    [sym__argument] = STATE(808),
    [sym_splat_argument] = STATE(809),
    [sym_hash_splat_argument] = STATE(809),
    [sym_block_argument] = STATE(809),
    [sym_assignment] = STATE(811),
    [sym_operator_assignment] = STATE(811),
    [sym_conditional] = STATE(811),
    [sym_range] = STATE(811),
    [sym_binary] = STATE(811),
    [sym_unary] = STATE(811),
    [sym_left_assignment_list] = STATE(812),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(813),
    [sym__variable] = STATE(805),
    [sym_reserved_identifier] = STATE(814),
    [sym_symbol] = STATE(769),
    [sym_complex] = STATE(769),
    [sym_rational] = STATE(769),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(769),
    [sym_string] = STATE(815),
    [sym_subshell] = STATE(769),
    [sym_array] = STATE(769),
    [sym_hash] = STATE(769),
    [sym_pair] = STATE(809),
    [sym_regex] = STATE(769),
    [sym_lambda] = STATE(769),
    [sym__simple_string] = ACTIONS(1274),
    [sym__simple_symbol] = ACTIONS(1276),
    [sym__simple_subshell] = ACTIONS(1278),
    [sym__simple_regex] = ACTIONS(1280),
    [sym__simple_word_list] = ACTIONS(1282),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(1284),
    [sym__symbol_beginning] = ACTIONS(1286),
    [sym__subshell_beginning] = ACTIONS(1288),
    [sym__regex_beginning] = ACTIONS(1290),
    [sym__word_list_beginning] = ACTIONS(1292),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym__string_middle] = ACTIONS(606),
    [sym__string_end] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(1294),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(1296),
    [sym__splat_star] = ACTIONS(1298),
    [sym__argument_list_left_paren] = ACTIONS(1300),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(1302),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(1306),
    [anon_sym_LPAREN] = ACTIONS(1308),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(608),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(1310),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(1312),
    [anon_sym_return] = ACTIONS(1314),
    [anon_sym_yield] = ACTIONS(1316),
    [anon_sym_break] = ACTIONS(1318),
    [anon_sym_next] = ACTIONS(1320),
    [anon_sym_redo] = ACTIONS(1322),
    [anon_sym_retry] = ACTIONS(1324),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(1326),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(1330),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1332),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_PLUS_EQ] = ACTIONS(606),
    [anon_sym_DASH_EQ] = ACTIONS(606),
    [anon_sym_STAR_EQ] = ACTIONS(606),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(606),
    [anon_sym_SLASH_EQ] = ACTIONS(606),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(606),
    [anon_sym_PIPE_EQ] = ACTIONS(606),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(606),
    [anon_sym_AMP_EQ] = ACTIONS(606),
    [anon_sym_PERCENT_EQ] = ACTIONS(606),
    [anon_sym_GT_GT_EQ] = ACTIONS(606),
    [anon_sym_LT_LT_EQ] = ACTIONS(606),
    [anon_sym_CARET_EQ] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(608),
    [anon_sym_AMP_AMP] = ACTIONS(608),
    [anon_sym_LT_LT] = ACTIONS(608),
    [anon_sym_GT_GT] = ACTIONS(608),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(608),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(608),
    [anon_sym_PERCENT] = ACTIONS(608),
    [anon_sym_defined_QMARK] = ACTIONS(1334),
    [anon_sym_not] = ACTIONS(1336),
    [anon_sym_BANG] = ACTIONS(1338),
    [anon_sym_TILDE] = ACTIONS(1340),
    [sym_constant] = ACTIONS(1342),
    [sym_identifier] = ACTIONS(1342),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(1168),
    [anon_sym_nil] = ACTIONS(1170),
    [anon_sym_self] = ACTIONS(1172),
    [anon_sym_super] = ACTIONS(1174),
    [anon_sym_true] = ACTIONS(1176),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1344),
    [sym_float] = ACTIONS(1346),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1348),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1350),
    [sym_keyword__LINE__] = ACTIONS(1350),
    [sym_keyword__ENCODING__] = ACTIONS(1350),
    [sym__character_literal] = ACTIONS(1352),
    [anon_sym_LBRACK] = ACTIONS(1354),
    [anon_sym_DASH_GT] = ACTIONS(1356),
  },
  [2470] = {
    [sym_method] = STATE(769),
    [sym_singleton_method] = STATE(769),
    [sym_class] = STATE(769),
    [sym_singleton_class] = STATE(769),
    [sym_module] = STATE(769),
    [sym_return] = STATE(769),
    [sym_yield] = STATE(769),
    [sym_break] = STATE(769),
    [sym_next] = STATE(769),
    [sym_redo] = STATE(769),
    [sym_retry] = STATE(769),
    [sym_while] = STATE(769),
    [sym_until] = STATE(769),
    [sym_for] = STATE(769),
    [sym_case] = STATE(769),
    [sym_if] = STATE(769),
    [sym_unless] = STATE(769),
    [sym_begin] = STATE(769),
    [sym__arg] = STATE(803),
    [sym__primary] = STATE(804),
    [sym_parenthesized_statements] = STATE(769),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(805),
    [sym_call] = STATE(805),
    [sym_method_call] = STATE(694),
    [sym_argument_list] = STATE(5318),
    [sym__argument_list_with_parens] = STATE(807),
    [sym__argument] = STATE(808),
    [sym_splat_argument] = STATE(809),
    [sym_hash_splat_argument] = STATE(809),
    [sym_block_argument] = STATE(809),
    [sym_assignment] = STATE(811),
    [sym_operator_assignment] = STATE(811),
    [sym_conditional] = STATE(811),
    [sym_range] = STATE(811),
    [sym_binary] = STATE(811),
    [sym_unary] = STATE(811),
    [sym_left_assignment_list] = STATE(812),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(813),
    [sym__variable] = STATE(805),
    [sym_reserved_identifier] = STATE(814),
    [sym_symbol] = STATE(769),
    [sym_complex] = STATE(769),
    [sym_rational] = STATE(769),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(769),
    [sym_string] = STATE(815),
    [sym_subshell] = STATE(769),
    [sym_array] = STATE(769),
    [sym_hash] = STATE(769),
    [sym_pair] = STATE(809),
    [sym_regex] = STATE(769),
    [sym_lambda] = STATE(769),
    [sym__simple_string] = ACTIONS(1274),
    [sym__simple_symbol] = ACTIONS(1276),
    [sym__simple_subshell] = ACTIONS(1278),
    [sym__simple_regex] = ACTIONS(1280),
    [sym__simple_word_list] = ACTIONS(1282),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(1284),
    [sym__symbol_beginning] = ACTIONS(1286),
    [sym__subshell_beginning] = ACTIONS(1288),
    [sym__regex_beginning] = ACTIONS(1290),
    [sym__word_list_beginning] = ACTIONS(1292),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym__string_middle] = ACTIONS(610),
    [sym__string_end] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(1294),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(1296),
    [sym__splat_star] = ACTIONS(1298),
    [sym__argument_list_left_paren] = ACTIONS(1300),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(1302),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(1306),
    [anon_sym_LPAREN] = ACTIONS(1308),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(612),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(1310),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(1312),
    [anon_sym_return] = ACTIONS(1314),
    [anon_sym_yield] = ACTIONS(1316),
    [anon_sym_break] = ACTIONS(1318),
    [anon_sym_next] = ACTIONS(1320),
    [anon_sym_redo] = ACTIONS(1322),
    [anon_sym_retry] = ACTIONS(1324),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(1326),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(1330),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1332),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_PLUS_EQ] = ACTIONS(610),
    [anon_sym_DASH_EQ] = ACTIONS(610),
    [anon_sym_STAR_EQ] = ACTIONS(610),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(610),
    [anon_sym_SLASH_EQ] = ACTIONS(610),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(610),
    [anon_sym_PIPE_EQ] = ACTIONS(610),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(610),
    [anon_sym_AMP_EQ] = ACTIONS(610),
    [anon_sym_PERCENT_EQ] = ACTIONS(610),
    [anon_sym_GT_GT_EQ] = ACTIONS(610),
    [anon_sym_LT_LT_EQ] = ACTIONS(610),
    [anon_sym_CARET_EQ] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(612),
    [anon_sym_AMP_AMP] = ACTIONS(612),
    [anon_sym_LT_LT] = ACTIONS(612),
    [anon_sym_GT_GT] = ACTIONS(612),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(612),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(612),
    [anon_sym_PERCENT] = ACTIONS(612),
    [anon_sym_defined_QMARK] = ACTIONS(1334),
    [anon_sym_not] = ACTIONS(1336),
    [anon_sym_BANG] = ACTIONS(1338),
    [anon_sym_TILDE] = ACTIONS(1340),
    [sym_constant] = ACTIONS(1342),
    [sym_identifier] = ACTIONS(1342),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(1168),
    [anon_sym_nil] = ACTIONS(1170),
    [anon_sym_self] = ACTIONS(1172),
    [anon_sym_super] = ACTIONS(1174),
    [anon_sym_true] = ACTIONS(1176),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1344),
    [sym_float] = ACTIONS(1346),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1348),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1350),
    [sym_keyword__LINE__] = ACTIONS(1350),
    [sym_keyword__ENCODING__] = ACTIONS(1350),
    [sym__character_literal] = ACTIONS(1352),
    [anon_sym_LBRACK] = ACTIONS(1354),
    [anon_sym_DASH_GT] = ACTIONS(1356),
  },
  [2471] = {
    [sym__simple_heredoc_body] = ACTIONS(614),
    [sym__heredoc_body_beginning] = ACTIONS(614),
    [sym__string_middle] = ACTIONS(614),
    [sym__string_end] = ACTIONS(614),
    [sym__element_reference_left_bracket] = ACTIONS(614),
    [sym__scope_double_colon] = ACTIONS(614),
    [sym__binary_minus] = ACTIONS(614),
    [sym__binary_star] = ACTIONS(614),
    [anon_sym_LBRACE] = ACTIONS(614),
    [anon_sym_DOT] = ACTIONS(616),
    [anon_sym_COMMA] = ACTIONS(614),
    [anon_sym_PIPE] = ACTIONS(616),
    [anon_sym_STAR_STAR] = ACTIONS(616),
    [anon_sym_AMP] = ACTIONS(616),
    [anon_sym_EQ] = ACTIONS(616),
    [anon_sym_LT] = ACTIONS(616),
    [anon_sym_if] = ACTIONS(614),
    [anon_sym_unless] = ACTIONS(614),
    [anon_sym_while] = ACTIONS(614),
    [anon_sym_until] = ACTIONS(614),
    [anon_sym_rescue] = ACTIONS(614),
    [anon_sym_do] = ACTIONS(614),
    [anon_sym_AMP_DOT] = ACTIONS(614),
    [anon_sym_PLUS_EQ] = ACTIONS(614),
    [anon_sym_DASH_EQ] = ACTIONS(614),
    [anon_sym_STAR_EQ] = ACTIONS(614),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(614),
    [anon_sym_SLASH_EQ] = ACTIONS(614),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(614),
    [anon_sym_PIPE_EQ] = ACTIONS(614),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(614),
    [anon_sym_AMP_EQ] = ACTIONS(614),
    [anon_sym_PERCENT_EQ] = ACTIONS(614),
    [anon_sym_GT_GT_EQ] = ACTIONS(614),
    [anon_sym_LT_LT_EQ] = ACTIONS(614),
    [anon_sym_CARET_EQ] = ACTIONS(614),
    [anon_sym_QMARK] = ACTIONS(614),
    [anon_sym_DOT_DOT] = ACTIONS(616),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(614),
    [anon_sym_and] = ACTIONS(614),
    [anon_sym_or] = ACTIONS(614),
    [anon_sym_PIPE_PIPE] = ACTIONS(616),
    [anon_sym_AMP_AMP] = ACTIONS(616),
    [anon_sym_LT_LT] = ACTIONS(616),
    [anon_sym_GT_GT] = ACTIONS(616),
    [anon_sym_EQ_EQ] = ACTIONS(616),
    [anon_sym_BANG_EQ] = ACTIONS(614),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(614),
    [anon_sym_LT_EQ_GT] = ACTIONS(614),
    [anon_sym_EQ_TILDE] = ACTIONS(614),
    [anon_sym_BANG_TILDE] = ACTIONS(614),
    [anon_sym_LT_EQ] = ACTIONS(616),
    [anon_sym_GT] = ACTIONS(616),
    [anon_sym_GT_EQ] = ACTIONS(614),
    [anon_sym_CARET] = ACTIONS(616),
    [anon_sym_PLUS] = ACTIONS(616),
    [anon_sym_SLASH] = ACTIONS(616),
    [anon_sym_PERCENT] = ACTIONS(616),
    [sym_comment] = ACTIONS(256),
  },
  [2472] = {
    [sym__simple_heredoc_body] = ACTIONS(618),
    [sym__heredoc_body_beginning] = ACTIONS(618),
    [sym__string_middle] = ACTIONS(618),
    [sym__string_end] = ACTIONS(618),
    [sym__element_reference_left_bracket] = ACTIONS(618),
    [sym__scope_double_colon] = ACTIONS(618),
    [sym__binary_minus] = ACTIONS(618),
    [sym__binary_star] = ACTIONS(618),
    [anon_sym_LBRACE] = ACTIONS(618),
    [anon_sym_DOT] = ACTIONS(620),
    [anon_sym_COMMA] = ACTIONS(618),
    [anon_sym_PIPE] = ACTIONS(620),
    [anon_sym_STAR_STAR] = ACTIONS(620),
    [anon_sym_AMP] = ACTIONS(620),
    [anon_sym_EQ] = ACTIONS(620),
    [anon_sym_LT] = ACTIONS(620),
    [anon_sym_if] = ACTIONS(618),
    [anon_sym_unless] = ACTIONS(618),
    [anon_sym_while] = ACTIONS(618),
    [anon_sym_until] = ACTIONS(618),
    [anon_sym_rescue] = ACTIONS(618),
    [anon_sym_do] = ACTIONS(618),
    [anon_sym_AMP_DOT] = ACTIONS(618),
    [anon_sym_PLUS_EQ] = ACTIONS(618),
    [anon_sym_DASH_EQ] = ACTIONS(618),
    [anon_sym_STAR_EQ] = ACTIONS(618),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(618),
    [anon_sym_SLASH_EQ] = ACTIONS(618),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(618),
    [anon_sym_PIPE_EQ] = ACTIONS(618),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(618),
    [anon_sym_AMP_EQ] = ACTIONS(618),
    [anon_sym_PERCENT_EQ] = ACTIONS(618),
    [anon_sym_GT_GT_EQ] = ACTIONS(618),
    [anon_sym_LT_LT_EQ] = ACTIONS(618),
    [anon_sym_CARET_EQ] = ACTIONS(618),
    [anon_sym_QMARK] = ACTIONS(618),
    [anon_sym_DOT_DOT] = ACTIONS(620),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(618),
    [anon_sym_and] = ACTIONS(618),
    [anon_sym_or] = ACTIONS(618),
    [anon_sym_PIPE_PIPE] = ACTIONS(620),
    [anon_sym_AMP_AMP] = ACTIONS(620),
    [anon_sym_LT_LT] = ACTIONS(620),
    [anon_sym_GT_GT] = ACTIONS(620),
    [anon_sym_EQ_EQ] = ACTIONS(620),
    [anon_sym_BANG_EQ] = ACTIONS(618),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(618),
    [anon_sym_LT_EQ_GT] = ACTIONS(618),
    [anon_sym_EQ_TILDE] = ACTIONS(618),
    [anon_sym_BANG_TILDE] = ACTIONS(618),
    [anon_sym_LT_EQ] = ACTIONS(620),
    [anon_sym_GT] = ACTIONS(620),
    [anon_sym_GT_EQ] = ACTIONS(618),
    [anon_sym_CARET] = ACTIONS(620),
    [anon_sym_PLUS] = ACTIONS(620),
    [anon_sym_SLASH] = ACTIONS(620),
    [anon_sym_PERCENT] = ACTIONS(620),
    [sym_comment] = ACTIONS(256),
  },
  [2473] = {
    [sym__statement] = STATE(5319),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(361),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2474] = {
    [sym__statement] = STATE(5320),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(361),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2475] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(5321),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2476] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(5322),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2477] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(285),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(381),
    [sym_call] = STATE(381),
    [sym_method_call] = STATE(286),
    [sym__mlhs] = STATE(5323),
    [sym__simple_mlhs] = STATE(383),
    [sym_destructured_left_assignment] = STATE(383),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(384),
    [sym__variable] = STATE(381),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(658),
    [anon_sym_COLON_COLON] = ACTIONS(460),
    [anon_sym_STAR] = ACTIONS(660),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(494),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [2478] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_when] = STATE(5324),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(5325),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(400),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(401),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(387),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__terminator] = STATE(402),
    [aux_sym_case_repeat1] = STATE(5326),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(666),
    [sym__unary_minus] = ACTIONS(668),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_when] = ACTIONS(678),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(680),
    [anon_sym_defined_QMARK] = ACTIONS(682),
    [anon_sym_not] = ACTIONS(684),
    [anon_sym_BANG] = ACTIONS(686),
    [anon_sym_TILDE] = ACTIONS(686),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2479] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(5328),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(5329),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(692),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(7550),
    [anon_sym_SEMI] = ACTIONS(698),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2480] = {
    [sym_method] = STATE(2460),
    [sym_singleton_method] = STATE(2460),
    [sym_class] = STATE(2460),
    [sym_singleton_class] = STATE(2460),
    [sym_module] = STATE(2460),
    [sym_return] = STATE(2460),
    [sym_yield] = STATE(2460),
    [sym_break] = STATE(2460),
    [sym_next] = STATE(2460),
    [sym_redo] = STATE(2460),
    [sym_retry] = STATE(2460),
    [sym_while] = STATE(2460),
    [sym_until] = STATE(2460),
    [sym_for] = STATE(2460),
    [sym_case] = STATE(2460),
    [sym_if] = STATE(2460),
    [sym_unless] = STATE(2460),
    [sym_begin] = STATE(2460),
    [sym__arg] = STATE(5330),
    [sym__primary] = STATE(2488),
    [sym_parenthesized_statements] = STATE(2460),
    [sym_element_reference] = STATE(2282),
    [sym_scope_resolution] = STATE(2489),
    [sym_call] = STATE(2489),
    [sym_method_call] = STATE(2282),
    [sym_assignment] = STATE(2490),
    [sym_operator_assignment] = STATE(2490),
    [sym_conditional] = STATE(2490),
    [sym_range] = STATE(2490),
    [sym_binary] = STATE(2490),
    [sym_unary] = STATE(2490),
    [sym_left_assignment_list] = STATE(2491),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2492),
    [sym__variable] = STATE(2489),
    [sym_symbol] = STATE(2460),
    [sym_complex] = STATE(2460),
    [sym_rational] = STATE(2460),
    [sym_super] = STATE(2274),
    [sym_true] = STATE(2282),
    [sym_false] = STATE(2282),
    [sym_self] = STATE(2274),
    [sym_nil] = STATE(2282),
    [sym_chained_string] = STATE(2460),
    [sym_string] = STATE(2493),
    [sym_subshell] = STATE(2460),
    [sym_array] = STATE(2460),
    [sym_hash] = STATE(2460),
    [sym_regex] = STATE(2460),
    [sym_lambda] = STATE(2460),
    [sym__simple_string] = ACTIONS(3628),
    [sym__simple_symbol] = ACTIONS(3630),
    [sym__simple_subshell] = ACTIONS(3632),
    [sym__simple_regex] = ACTIONS(3634),
    [sym__simple_word_list] = ACTIONS(3636),
    [sym__string_beginning] = ACTIONS(3638),
    [sym__symbol_beginning] = ACTIONS(3640),
    [sym__subshell_beginning] = ACTIONS(3642),
    [sym__regex_beginning] = ACTIONS(3644),
    [sym__word_list_beginning] = ACTIONS(3646),
    [sym_heredoc_beginning] = ACTIONS(3648),
    [sym__unary_minus] = ACTIONS(3650),
    [anon_sym_LBRACE] = ACTIONS(3652),
    [anon_sym_def] = ACTIONS(3654),
    [anon_sym_LPAREN] = ACTIONS(3656),
    [anon_sym_COLON_COLON] = ACTIONS(3418),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3658),
    [anon_sym_module] = ACTIONS(3660),
    [anon_sym_return] = ACTIONS(3662),
    [anon_sym_yield] = ACTIONS(3664),
    [anon_sym_break] = ACTIONS(3666),
    [anon_sym_next] = ACTIONS(3668),
    [anon_sym_redo] = ACTIONS(3670),
    [anon_sym_retry] = ACTIONS(3672),
    [anon_sym_if] = ACTIONS(3674),
    [anon_sym_unless] = ACTIONS(3676),
    [anon_sym_while] = ACTIONS(3678),
    [anon_sym_until] = ACTIONS(3680),
    [anon_sym_for] = ACTIONS(3682),
    [anon_sym_case] = ACTIONS(3684),
    [anon_sym_begin] = ACTIONS(3686),
    [anon_sym_PLUS] = ACTIONS(3688),
    [anon_sym_defined_QMARK] = ACTIONS(3690),
    [anon_sym_not] = ACTIONS(3692),
    [anon_sym_BANG] = ACTIONS(3694),
    [anon_sym_TILDE] = ACTIONS(3694),
    [sym_constant] = ACTIONS(3458),
    [sym_identifier] = ACTIONS(3458),
    [sym_instance_variable] = ACTIONS(3460),
    [sym_class_variable] = ACTIONS(3460),
    [sym_global_variable] = ACTIONS(3460),
    [anon_sym_false] = ACTIONS(3462),
    [anon_sym_nil] = ACTIONS(3464),
    [anon_sym_self] = ACTIONS(3466),
    [anon_sym_super] = ACTIONS(3468),
    [anon_sym_true] = ACTIONS(3470),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3696),
    [sym_float] = ACTIONS(3698),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3700),
    [anon_sym_TRUE] = ACTIONS(3470),
    [anon_sym_FALSE] = ACTIONS(3462),
    [anon_sym_NIL] = ACTIONS(3464),
    [sym_keyword__FILE__] = ACTIONS(3702),
    [sym_keyword__LINE__] = ACTIONS(3702),
    [sym_keyword__ENCODING__] = ACTIONS(3702),
    [sym__character_literal] = ACTIONS(3704),
    [anon_sym_LBRACK] = ACTIONS(3706),
    [anon_sym_DASH_GT] = ACTIONS(3708),
  },
  [2481] = {
    [sym_method] = STATE(2460),
    [sym_singleton_method] = STATE(2460),
    [sym_class] = STATE(2460),
    [sym_singleton_class] = STATE(2460),
    [sym_module] = STATE(2460),
    [sym_return] = STATE(2460),
    [sym_yield] = STATE(2460),
    [sym_break] = STATE(2460),
    [sym_next] = STATE(2460),
    [sym_redo] = STATE(2460),
    [sym_retry] = STATE(2460),
    [sym_while] = STATE(2460),
    [sym_until] = STATE(2460),
    [sym_for] = STATE(2460),
    [sym_case] = STATE(2460),
    [sym_if] = STATE(2460),
    [sym_unless] = STATE(2460),
    [sym_begin] = STATE(2460),
    [sym__arg] = STATE(5331),
    [sym__primary] = STATE(2488),
    [sym_parenthesized_statements] = STATE(2460),
    [sym_element_reference] = STATE(2282),
    [sym_scope_resolution] = STATE(2489),
    [sym_call] = STATE(2489),
    [sym_method_call] = STATE(2282),
    [sym_assignment] = STATE(2490),
    [sym_operator_assignment] = STATE(2490),
    [sym_conditional] = STATE(2490),
    [sym_range] = STATE(2490),
    [sym_binary] = STATE(2490),
    [sym_unary] = STATE(2490),
    [sym_left_assignment_list] = STATE(2491),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2492),
    [sym__variable] = STATE(2489),
    [sym_symbol] = STATE(2460),
    [sym_complex] = STATE(2460),
    [sym_rational] = STATE(2460),
    [sym_super] = STATE(2274),
    [sym_true] = STATE(2282),
    [sym_false] = STATE(2282),
    [sym_self] = STATE(2274),
    [sym_nil] = STATE(2282),
    [sym_chained_string] = STATE(2460),
    [sym_string] = STATE(2493),
    [sym_subshell] = STATE(2460),
    [sym_array] = STATE(2460),
    [sym_hash] = STATE(2460),
    [sym_regex] = STATE(2460),
    [sym_lambda] = STATE(2460),
    [sym__simple_string] = ACTIONS(3628),
    [sym__simple_symbol] = ACTIONS(3630),
    [sym__simple_subshell] = ACTIONS(3632),
    [sym__simple_regex] = ACTIONS(3634),
    [sym__simple_word_list] = ACTIONS(3636),
    [sym__string_beginning] = ACTIONS(3638),
    [sym__symbol_beginning] = ACTIONS(3640),
    [sym__subshell_beginning] = ACTIONS(3642),
    [sym__regex_beginning] = ACTIONS(3644),
    [sym__word_list_beginning] = ACTIONS(3646),
    [sym_heredoc_beginning] = ACTIONS(3648),
    [sym__unary_minus] = ACTIONS(3650),
    [anon_sym_LBRACE] = ACTIONS(3652),
    [anon_sym_def] = ACTIONS(3654),
    [anon_sym_LPAREN] = ACTIONS(3656),
    [anon_sym_COLON_COLON] = ACTIONS(3418),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3658),
    [anon_sym_module] = ACTIONS(3660),
    [anon_sym_return] = ACTIONS(3662),
    [anon_sym_yield] = ACTIONS(3664),
    [anon_sym_break] = ACTIONS(3666),
    [anon_sym_next] = ACTIONS(3668),
    [anon_sym_redo] = ACTIONS(3670),
    [anon_sym_retry] = ACTIONS(3672),
    [anon_sym_if] = ACTIONS(3674),
    [anon_sym_unless] = ACTIONS(3676),
    [anon_sym_while] = ACTIONS(3678),
    [anon_sym_until] = ACTIONS(3680),
    [anon_sym_for] = ACTIONS(3682),
    [anon_sym_case] = ACTIONS(3684),
    [anon_sym_begin] = ACTIONS(3686),
    [anon_sym_PLUS] = ACTIONS(3688),
    [anon_sym_defined_QMARK] = ACTIONS(3690),
    [anon_sym_not] = ACTIONS(3692),
    [anon_sym_BANG] = ACTIONS(3694),
    [anon_sym_TILDE] = ACTIONS(3694),
    [sym_constant] = ACTIONS(3458),
    [sym_identifier] = ACTIONS(3458),
    [sym_instance_variable] = ACTIONS(3460),
    [sym_class_variable] = ACTIONS(3460),
    [sym_global_variable] = ACTIONS(3460),
    [anon_sym_false] = ACTIONS(3462),
    [anon_sym_nil] = ACTIONS(3464),
    [anon_sym_self] = ACTIONS(3466),
    [anon_sym_super] = ACTIONS(3468),
    [anon_sym_true] = ACTIONS(3470),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3696),
    [sym_float] = ACTIONS(3698),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3700),
    [anon_sym_TRUE] = ACTIONS(3470),
    [anon_sym_FALSE] = ACTIONS(3462),
    [anon_sym_NIL] = ACTIONS(3464),
    [sym_keyword__FILE__] = ACTIONS(3702),
    [sym_keyword__LINE__] = ACTIONS(3702),
    [sym_keyword__ENCODING__] = ACTIONS(3702),
    [sym__character_literal] = ACTIONS(3704),
    [anon_sym_LBRACK] = ACTIONS(3706),
    [anon_sym_DASH_GT] = ACTIONS(3708),
  },
  [2482] = {
    [sym_method] = STATE(2460),
    [sym_singleton_method] = STATE(2460),
    [sym_class] = STATE(2460),
    [sym_singleton_class] = STATE(2460),
    [sym_module] = STATE(2460),
    [sym_return] = STATE(2460),
    [sym_yield] = STATE(2460),
    [sym_break] = STATE(2460),
    [sym_next] = STATE(2460),
    [sym_redo] = STATE(2460),
    [sym_retry] = STATE(2460),
    [sym_while] = STATE(2460),
    [sym_until] = STATE(2460),
    [sym_for] = STATE(2460),
    [sym_case] = STATE(2460),
    [sym_if] = STATE(2460),
    [sym_unless] = STATE(2460),
    [sym_begin] = STATE(2460),
    [sym__arg] = STATE(5332),
    [sym__primary] = STATE(2488),
    [sym_parenthesized_statements] = STATE(2460),
    [sym_element_reference] = STATE(2282),
    [sym_scope_resolution] = STATE(2489),
    [sym_call] = STATE(2489),
    [sym_method_call] = STATE(2282),
    [sym_assignment] = STATE(2490),
    [sym_operator_assignment] = STATE(2490),
    [sym_conditional] = STATE(2490),
    [sym_range] = STATE(2490),
    [sym_binary] = STATE(2490),
    [sym_unary] = STATE(2490),
    [sym_left_assignment_list] = STATE(2491),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2492),
    [sym__variable] = STATE(2489),
    [sym_symbol] = STATE(2460),
    [sym_complex] = STATE(2460),
    [sym_rational] = STATE(2460),
    [sym_super] = STATE(2274),
    [sym_true] = STATE(2282),
    [sym_false] = STATE(2282),
    [sym_self] = STATE(2274),
    [sym_nil] = STATE(2282),
    [sym_chained_string] = STATE(2460),
    [sym_string] = STATE(2493),
    [sym_subshell] = STATE(2460),
    [sym_array] = STATE(2460),
    [sym_hash] = STATE(2460),
    [sym_regex] = STATE(2460),
    [sym_lambda] = STATE(2460),
    [sym__simple_string] = ACTIONS(3628),
    [sym__simple_symbol] = ACTIONS(3630),
    [sym__simple_subshell] = ACTIONS(3632),
    [sym__simple_regex] = ACTIONS(3634),
    [sym__simple_word_list] = ACTIONS(3636),
    [sym__string_beginning] = ACTIONS(3638),
    [sym__symbol_beginning] = ACTIONS(3640),
    [sym__subshell_beginning] = ACTIONS(3642),
    [sym__regex_beginning] = ACTIONS(3644),
    [sym__word_list_beginning] = ACTIONS(3646),
    [sym_heredoc_beginning] = ACTIONS(3648),
    [sym__unary_minus] = ACTIONS(3650),
    [anon_sym_LBRACE] = ACTIONS(3652),
    [anon_sym_def] = ACTIONS(3654),
    [anon_sym_LPAREN] = ACTIONS(3656),
    [anon_sym_COLON_COLON] = ACTIONS(3418),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3658),
    [anon_sym_module] = ACTIONS(3660),
    [anon_sym_return] = ACTIONS(3662),
    [anon_sym_yield] = ACTIONS(3664),
    [anon_sym_break] = ACTIONS(3666),
    [anon_sym_next] = ACTIONS(3668),
    [anon_sym_redo] = ACTIONS(3670),
    [anon_sym_retry] = ACTIONS(3672),
    [anon_sym_if] = ACTIONS(3674),
    [anon_sym_unless] = ACTIONS(3676),
    [anon_sym_while] = ACTIONS(3678),
    [anon_sym_until] = ACTIONS(3680),
    [anon_sym_for] = ACTIONS(3682),
    [anon_sym_case] = ACTIONS(3684),
    [anon_sym_begin] = ACTIONS(3686),
    [anon_sym_PLUS] = ACTIONS(3688),
    [anon_sym_defined_QMARK] = ACTIONS(3690),
    [anon_sym_not] = ACTIONS(3692),
    [anon_sym_BANG] = ACTIONS(3694),
    [anon_sym_TILDE] = ACTIONS(3694),
    [sym_constant] = ACTIONS(3458),
    [sym_identifier] = ACTIONS(3458),
    [sym_instance_variable] = ACTIONS(3460),
    [sym_class_variable] = ACTIONS(3460),
    [sym_global_variable] = ACTIONS(3460),
    [anon_sym_false] = ACTIONS(3462),
    [anon_sym_nil] = ACTIONS(3464),
    [anon_sym_self] = ACTIONS(3466),
    [anon_sym_super] = ACTIONS(3468),
    [anon_sym_true] = ACTIONS(3470),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3696),
    [sym_float] = ACTIONS(3698),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3700),
    [anon_sym_TRUE] = ACTIONS(3470),
    [anon_sym_FALSE] = ACTIONS(3462),
    [anon_sym_NIL] = ACTIONS(3464),
    [sym_keyword__FILE__] = ACTIONS(3702),
    [sym_keyword__LINE__] = ACTIONS(3702),
    [sym_keyword__ENCODING__] = ACTIONS(3702),
    [sym__character_literal] = ACTIONS(3704),
    [anon_sym_LBRACK] = ACTIONS(3706),
    [anon_sym_DASH_GT] = ACTIONS(3708),
  },
  [2483] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__string_middle] = ACTIONS(250),
    [sym__string_end] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
    [anon_sym_r] = ACTIONS(7552),
  },
  [2484] = {
    [sym__simple_heredoc_body] = ACTIONS(778),
    [sym__heredoc_body_beginning] = ACTIONS(778),
    [sym__string_middle] = ACTIONS(778),
    [sym__string_end] = ACTIONS(778),
    [sym__element_reference_left_bracket] = ACTIONS(778),
    [sym__scope_double_colon] = ACTIONS(778),
    [sym__binary_minus] = ACTIONS(778),
    [sym__binary_star] = ACTIONS(778),
    [anon_sym_LBRACE] = ACTIONS(778),
    [anon_sym_DOT] = ACTIONS(780),
    [anon_sym_COMMA] = ACTIONS(778),
    [anon_sym_PIPE] = ACTIONS(780),
    [anon_sym_STAR_STAR] = ACTIONS(780),
    [anon_sym_AMP] = ACTIONS(780),
    [anon_sym_EQ] = ACTIONS(780),
    [anon_sym_LT] = ACTIONS(780),
    [anon_sym_if] = ACTIONS(778),
    [anon_sym_unless] = ACTIONS(778),
    [anon_sym_while] = ACTIONS(778),
    [anon_sym_until] = ACTIONS(778),
    [anon_sym_rescue] = ACTIONS(778),
    [anon_sym_do] = ACTIONS(778),
    [anon_sym_AMP_DOT] = ACTIONS(778),
    [anon_sym_PLUS_EQ] = ACTIONS(778),
    [anon_sym_DASH_EQ] = ACTIONS(778),
    [anon_sym_STAR_EQ] = ACTIONS(778),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(778),
    [anon_sym_SLASH_EQ] = ACTIONS(778),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(778),
    [anon_sym_PIPE_EQ] = ACTIONS(778),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(778),
    [anon_sym_AMP_EQ] = ACTIONS(778),
    [anon_sym_PERCENT_EQ] = ACTIONS(778),
    [anon_sym_GT_GT_EQ] = ACTIONS(778),
    [anon_sym_LT_LT_EQ] = ACTIONS(778),
    [anon_sym_CARET_EQ] = ACTIONS(778),
    [anon_sym_QMARK] = ACTIONS(778),
    [anon_sym_DOT_DOT] = ACTIONS(780),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(778),
    [anon_sym_and] = ACTIONS(778),
    [anon_sym_or] = ACTIONS(778),
    [anon_sym_PIPE_PIPE] = ACTIONS(780),
    [anon_sym_AMP_AMP] = ACTIONS(780),
    [anon_sym_LT_LT] = ACTIONS(780),
    [anon_sym_GT_GT] = ACTIONS(780),
    [anon_sym_EQ_EQ] = ACTIONS(780),
    [anon_sym_BANG_EQ] = ACTIONS(778),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(778),
    [anon_sym_LT_EQ_GT] = ACTIONS(778),
    [anon_sym_EQ_TILDE] = ACTIONS(778),
    [anon_sym_BANG_TILDE] = ACTIONS(778),
    [anon_sym_LT_EQ] = ACTIONS(780),
    [anon_sym_GT] = ACTIONS(780),
    [anon_sym_GT_EQ] = ACTIONS(778),
    [anon_sym_CARET] = ACTIONS(780),
    [anon_sym_PLUS] = ACTIONS(780),
    [anon_sym_SLASH] = ACTIONS(780),
    [anon_sym_PERCENT] = ACTIONS(780),
    [sym_comment] = ACTIONS(256),
  },
  [2485] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(501),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(5335),
    [sym__argument] = STATE(506),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(509),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(510),
    [sym__variable] = STATE(504),
    [sym_reserved_identifier] = STATE(511),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(512),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(5336),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(804),
    [sym__splat_star] = ACTIONS(806),
    [sym__unary_minus] = ACTIONS(808),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(818),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(824),
    [anon_sym_yield] = ACTIONS(826),
    [anon_sym_break] = ACTIONS(828),
    [anon_sym_next] = ACTIONS(830),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_RBRACK] = ACTIONS(7554),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(852),
    [anon_sym_defined_QMARK] = ACTIONS(854),
    [anon_sym_not] = ACTIONS(856),
    [anon_sym_BANG] = ACTIONS(858),
    [anon_sym_TILDE] = ACTIONS(858),
    [sym_constant] = ACTIONS(860),
    [sym_identifier] = ACTIONS(860),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2486] = {
    [sym_lambda_parameters] = STATE(5339),
    [sym__simple_formal_parameter] = STATE(522),
    [sym_splat_parameter] = STATE(523),
    [sym_hash_splat_parameter] = STATE(523),
    [sym_block_parameter] = STATE(523),
    [sym_keyword_parameter] = STATE(523),
    [sym_optional_parameter] = STATE(523),
    [sym_do_block] = STATE(5340),
    [sym_block] = STATE(5340),
    [anon_sym_LBRACE] = ACTIONS(7556),
    [anon_sym_LPAREN] = ACTIONS(896),
    [anon_sym_STAR] = ACTIONS(898),
    [anon_sym_STAR_STAR] = ACTIONS(900),
    [anon_sym_AMP] = ACTIONS(902),
    [anon_sym_do] = ACTIONS(7558),
    [sym_identifier] = ACTIONS(906),
    [sym_comment] = ACTIONS(110),
  },
  [2487] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__string_middle] = ACTIONS(5298),
    [sym__string_end] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(7560),
    [sym__binary_star] = ACTIONS(7562),
    [anon_sym_LBRACE] = ACTIONS(5298),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(7564),
    [anon_sym_STAR_STAR] = ACTIONS(7566),
    [anon_sym_AMP] = ACTIONS(7568),
    [anon_sym_EQ] = ACTIONS(5304),
    [anon_sym_LT] = ACTIONS(7570),
    [anon_sym_if] = ACTIONS(5298),
    [anon_sym_unless] = ACTIONS(5298),
    [anon_sym_while] = ACTIONS(5298),
    [anon_sym_until] = ACTIONS(5298),
    [anon_sym_rescue] = ACTIONS(5298),
    [anon_sym_do] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_PLUS_EQ] = ACTIONS(5298),
    [anon_sym_DASH_EQ] = ACTIONS(5298),
    [anon_sym_STAR_EQ] = ACTIONS(5298),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5298),
    [anon_sym_SLASH_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5298),
    [anon_sym_AMP_EQ] = ACTIONS(5298),
    [anon_sym_PERCENT_EQ] = ACTIONS(5298),
    [anon_sym_GT_GT_EQ] = ACTIONS(5298),
    [anon_sym_LT_LT_EQ] = ACTIONS(5298),
    [anon_sym_CARET_EQ] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(7572),
    [anon_sym_DOT_DOT] = ACTIONS(7574),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7576),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(7578),
    [anon_sym_AMP_AMP] = ACTIONS(7578),
    [anon_sym_LT_LT] = ACTIONS(7580),
    [anon_sym_GT_GT] = ACTIONS(7580),
    [anon_sym_EQ_EQ] = ACTIONS(7578),
    [anon_sym_BANG_EQ] = ACTIONS(7582),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7582),
    [anon_sym_LT_EQ_GT] = ACTIONS(7582),
    [anon_sym_EQ_TILDE] = ACTIONS(7582),
    [anon_sym_BANG_TILDE] = ACTIONS(7582),
    [anon_sym_LT_EQ] = ACTIONS(7570),
    [anon_sym_GT] = ACTIONS(7570),
    [anon_sym_GT_EQ] = ACTIONS(7584),
    [anon_sym_CARET] = ACTIONS(7564),
    [anon_sym_PLUS] = ACTIONS(7586),
    [anon_sym_SLASH] = ACTIONS(7566),
    [anon_sym_PERCENT] = ACTIONS(7566),
    [sym_comment] = ACTIONS(256),
  },
  [2488] = {
    [sym__simple_heredoc_body] = ACTIONS(968),
    [sym__heredoc_body_beginning] = ACTIONS(968),
    [sym__string_middle] = ACTIONS(968),
    [sym__string_end] = ACTIONS(968),
    [sym__element_reference_left_bracket] = ACTIONS(7412),
    [sym__scope_double_colon] = ACTIONS(7414),
    [sym__binary_minus] = ACTIONS(968),
    [sym__binary_star] = ACTIONS(968),
    [anon_sym_LBRACE] = ACTIONS(968),
    [anon_sym_DOT] = ACTIONS(7416),
    [anon_sym_COMMA] = ACTIONS(968),
    [anon_sym_PIPE] = ACTIONS(976),
    [anon_sym_STAR_STAR] = ACTIONS(976),
    [anon_sym_AMP] = ACTIONS(976),
    [anon_sym_EQ] = ACTIONS(976),
    [anon_sym_LT] = ACTIONS(976),
    [anon_sym_if] = ACTIONS(968),
    [anon_sym_unless] = ACTIONS(968),
    [anon_sym_while] = ACTIONS(968),
    [anon_sym_until] = ACTIONS(968),
    [anon_sym_rescue] = ACTIONS(968),
    [anon_sym_do] = ACTIONS(968),
    [anon_sym_AMP_DOT] = ACTIONS(7418),
    [anon_sym_PLUS_EQ] = ACTIONS(968),
    [anon_sym_DASH_EQ] = ACTIONS(968),
    [anon_sym_STAR_EQ] = ACTIONS(968),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(968),
    [anon_sym_SLASH_EQ] = ACTIONS(968),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(968),
    [anon_sym_PIPE_EQ] = ACTIONS(968),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(968),
    [anon_sym_AMP_EQ] = ACTIONS(968),
    [anon_sym_PERCENT_EQ] = ACTIONS(968),
    [anon_sym_GT_GT_EQ] = ACTIONS(968),
    [anon_sym_LT_LT_EQ] = ACTIONS(968),
    [anon_sym_CARET_EQ] = ACTIONS(968),
    [anon_sym_QMARK] = ACTIONS(968),
    [anon_sym_DOT_DOT] = ACTIONS(976),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(968),
    [anon_sym_and] = ACTIONS(968),
    [anon_sym_or] = ACTIONS(968),
    [anon_sym_PIPE_PIPE] = ACTIONS(976),
    [anon_sym_AMP_AMP] = ACTIONS(976),
    [anon_sym_LT_LT] = ACTIONS(976),
    [anon_sym_GT_GT] = ACTIONS(976),
    [anon_sym_EQ_EQ] = ACTIONS(976),
    [anon_sym_BANG_EQ] = ACTIONS(968),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(968),
    [anon_sym_LT_EQ_GT] = ACTIONS(968),
    [anon_sym_EQ_TILDE] = ACTIONS(968),
    [anon_sym_BANG_TILDE] = ACTIONS(968),
    [anon_sym_LT_EQ] = ACTIONS(976),
    [anon_sym_GT] = ACTIONS(976),
    [anon_sym_GT_EQ] = ACTIONS(968),
    [anon_sym_CARET] = ACTIONS(976),
    [anon_sym_PLUS] = ACTIONS(976),
    [anon_sym_SLASH] = ACTIONS(976),
    [anon_sym_PERCENT] = ACTIONS(976),
    [sym_comment] = ACTIONS(256),
  },
  [2489] = {
    [sym_method] = STATE(769),
    [sym_singleton_method] = STATE(769),
    [sym_class] = STATE(769),
    [sym_singleton_class] = STATE(769),
    [sym_module] = STATE(769),
    [sym_return] = STATE(769),
    [sym_yield] = STATE(769),
    [sym_break] = STATE(769),
    [sym_next] = STATE(769),
    [sym_redo] = STATE(769),
    [sym_retry] = STATE(769),
    [sym_while] = STATE(769),
    [sym_until] = STATE(769),
    [sym_for] = STATE(769),
    [sym_case] = STATE(769),
    [sym_if] = STATE(769),
    [sym_unless] = STATE(769),
    [sym_begin] = STATE(769),
    [sym__arg] = STATE(803),
    [sym__primary] = STATE(804),
    [sym_parenthesized_statements] = STATE(769),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(805),
    [sym_call] = STATE(805),
    [sym_method_call] = STATE(694),
    [sym_argument_list] = STATE(5353),
    [sym__argument_list_with_parens] = STATE(807),
    [sym__argument] = STATE(808),
    [sym_splat_argument] = STATE(809),
    [sym_hash_splat_argument] = STATE(809),
    [sym_block_argument] = STATE(809),
    [sym_do_block] = STATE(5150),
    [sym_block] = STATE(5150),
    [sym_assignment] = STATE(811),
    [sym_operator_assignment] = STATE(811),
    [sym_conditional] = STATE(811),
    [sym_range] = STATE(811),
    [sym_binary] = STATE(811),
    [sym_unary] = STATE(811),
    [sym_left_assignment_list] = STATE(812),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(813),
    [sym__variable] = STATE(805),
    [sym_reserved_identifier] = STATE(814),
    [sym_symbol] = STATE(769),
    [sym_complex] = STATE(769),
    [sym_rational] = STATE(769),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(769),
    [sym_string] = STATE(815),
    [sym_subshell] = STATE(769),
    [sym_array] = STATE(769),
    [sym_hash] = STATE(769),
    [sym_pair] = STATE(809),
    [sym_regex] = STATE(769),
    [sym_lambda] = STATE(769),
    [sym__simple_string] = ACTIONS(1274),
    [sym__simple_symbol] = ACTIONS(1276),
    [sym__simple_subshell] = ACTIONS(1278),
    [sym__simple_regex] = ACTIONS(1280),
    [sym__simple_word_list] = ACTIONS(1282),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(1284),
    [sym__symbol_beginning] = ACTIONS(1286),
    [sym__subshell_beginning] = ACTIONS(1288),
    [sym__regex_beginning] = ACTIONS(1290),
    [sym__word_list_beginning] = ACTIONS(1292),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym__string_middle] = ACTIONS(980),
    [sym__string_end] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1294),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(1296),
    [sym__splat_star] = ACTIONS(1298),
    [sym__argument_list_left_paren] = ACTIONS(1300),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(1302),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(7420),
    [anon_sym_def] = ACTIONS(1306),
    [anon_sym_LPAREN] = ACTIONS(1308),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1310),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1312),
    [anon_sym_return] = ACTIONS(1314),
    [anon_sym_yield] = ACTIONS(1316),
    [anon_sym_break] = ACTIONS(1318),
    [anon_sym_next] = ACTIONS(1320),
    [anon_sym_redo] = ACTIONS(1322),
    [anon_sym_retry] = ACTIONS(1324),
    [anon_sym_if] = ACTIONS(982),
    [anon_sym_unless] = ACTIONS(982),
    [anon_sym_while] = ACTIONS(982),
    [anon_sym_until] = ACTIONS(982),
    [anon_sym_rescue] = ACTIONS(982),
    [anon_sym_for] = ACTIONS(1326),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(982),
    [anon_sym_case] = ACTIONS(1330),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1332),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(1334),
    [anon_sym_not] = ACTIONS(1336),
    [anon_sym_BANG] = ACTIONS(1338),
    [anon_sym_TILDE] = ACTIONS(1340),
    [sym_constant] = ACTIONS(1342),
    [sym_identifier] = ACTIONS(1342),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(1168),
    [anon_sym_nil] = ACTIONS(1170),
    [anon_sym_self] = ACTIONS(1172),
    [anon_sym_super] = ACTIONS(1174),
    [anon_sym_true] = ACTIONS(1176),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1344),
    [sym_float] = ACTIONS(1346),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1348),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1350),
    [sym_keyword__LINE__] = ACTIONS(1350),
    [sym_keyword__ENCODING__] = ACTIONS(1350),
    [sym__character_literal] = ACTIONS(1352),
    [anon_sym_LBRACK] = ACTIONS(1354),
    [anon_sym_DASH_GT] = ACTIONS(1356),
  },
  [2490] = {
    [sym__simple_heredoc_body] = ACTIONS(968),
    [sym__heredoc_body_beginning] = ACTIONS(968),
    [sym__string_middle] = ACTIONS(968),
    [sym__string_end] = ACTIONS(968),
    [sym__element_reference_left_bracket] = ACTIONS(968),
    [sym__scope_double_colon] = ACTIONS(968),
    [sym__binary_minus] = ACTIONS(968),
    [sym__binary_star] = ACTIONS(968),
    [anon_sym_LBRACE] = ACTIONS(968),
    [anon_sym_DOT] = ACTIONS(976),
    [anon_sym_COMMA] = ACTIONS(968),
    [anon_sym_PIPE] = ACTIONS(976),
    [anon_sym_STAR_STAR] = ACTIONS(976),
    [anon_sym_AMP] = ACTIONS(976),
    [anon_sym_EQ] = ACTIONS(976),
    [anon_sym_LT] = ACTIONS(976),
    [anon_sym_if] = ACTIONS(968),
    [anon_sym_unless] = ACTIONS(968),
    [anon_sym_while] = ACTIONS(968),
    [anon_sym_until] = ACTIONS(968),
    [anon_sym_rescue] = ACTIONS(968),
    [anon_sym_do] = ACTIONS(968),
    [anon_sym_AMP_DOT] = ACTIONS(968),
    [anon_sym_PLUS_EQ] = ACTIONS(968),
    [anon_sym_DASH_EQ] = ACTIONS(968),
    [anon_sym_STAR_EQ] = ACTIONS(968),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(968),
    [anon_sym_SLASH_EQ] = ACTIONS(968),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(968),
    [anon_sym_PIPE_EQ] = ACTIONS(968),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(968),
    [anon_sym_AMP_EQ] = ACTIONS(968),
    [anon_sym_PERCENT_EQ] = ACTIONS(968),
    [anon_sym_GT_GT_EQ] = ACTIONS(968),
    [anon_sym_LT_LT_EQ] = ACTIONS(968),
    [anon_sym_CARET_EQ] = ACTIONS(968),
    [anon_sym_QMARK] = ACTIONS(968),
    [anon_sym_DOT_DOT] = ACTIONS(976),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(968),
    [anon_sym_and] = ACTIONS(968),
    [anon_sym_or] = ACTIONS(968),
    [anon_sym_PIPE_PIPE] = ACTIONS(976),
    [anon_sym_AMP_AMP] = ACTIONS(976),
    [anon_sym_LT_LT] = ACTIONS(976),
    [anon_sym_GT_GT] = ACTIONS(976),
    [anon_sym_EQ_EQ] = ACTIONS(976),
    [anon_sym_BANG_EQ] = ACTIONS(968),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(968),
    [anon_sym_LT_EQ_GT] = ACTIONS(968),
    [anon_sym_EQ_TILDE] = ACTIONS(968),
    [anon_sym_BANG_TILDE] = ACTIONS(968),
    [anon_sym_LT_EQ] = ACTIONS(976),
    [anon_sym_GT] = ACTIONS(976),
    [anon_sym_GT_EQ] = ACTIONS(968),
    [anon_sym_CARET] = ACTIONS(976),
    [anon_sym_PLUS] = ACTIONS(976),
    [anon_sym_SLASH] = ACTIONS(976),
    [anon_sym_PERCENT] = ACTIONS(976),
    [sym_comment] = ACTIONS(256),
  },
  [2491] = {
    [anon_sym_EQ] = ACTIONS(7588),
    [sym_comment] = ACTIONS(256),
  },
  [2492] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__string_middle] = ACTIONS(250),
    [sym__string_end] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(7590),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(7592),
    [anon_sym_DASH_EQ] = ACTIONS(7592),
    [anon_sym_STAR_EQ] = ACTIONS(7592),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7592),
    [anon_sym_SLASH_EQ] = ACTIONS(7592),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7592),
    [anon_sym_PIPE_EQ] = ACTIONS(7592),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7592),
    [anon_sym_AMP_EQ] = ACTIONS(7592),
    [anon_sym_PERCENT_EQ] = ACTIONS(7592),
    [anon_sym_GT_GT_EQ] = ACTIONS(7592),
    [anon_sym_LT_LT_EQ] = ACTIONS(7592),
    [anon_sym_CARET_EQ] = ACTIONS(7592),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [2493] = {
    [sym_string] = STATE(5356),
    [aux_sym_chained_string_repeat1] = STATE(5357),
    [sym__simple_string] = ACTIONS(3628),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(3638),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__string_middle] = ACTIONS(250),
    [sym__string_end] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(3704),
  },
  [2494] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__string_middle] = ACTIONS(5338),
    [sym__string_end] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(7560),
    [sym__binary_star] = ACTIONS(7562),
    [anon_sym_LBRACE] = ACTIONS(5338),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(7564),
    [anon_sym_STAR_STAR] = ACTIONS(7566),
    [anon_sym_AMP] = ACTIONS(7568),
    [anon_sym_EQ] = ACTIONS(5340),
    [anon_sym_LT] = ACTIONS(7570),
    [anon_sym_if] = ACTIONS(5338),
    [anon_sym_unless] = ACTIONS(5338),
    [anon_sym_while] = ACTIONS(5338),
    [anon_sym_until] = ACTIONS(5338),
    [anon_sym_rescue] = ACTIONS(5338),
    [anon_sym_do] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_PLUS_EQ] = ACTIONS(5338),
    [anon_sym_DASH_EQ] = ACTIONS(5338),
    [anon_sym_STAR_EQ] = ACTIONS(5338),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5338),
    [anon_sym_SLASH_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5338),
    [anon_sym_AMP_EQ] = ACTIONS(5338),
    [anon_sym_PERCENT_EQ] = ACTIONS(5338),
    [anon_sym_GT_GT_EQ] = ACTIONS(5338),
    [anon_sym_LT_LT_EQ] = ACTIONS(5338),
    [anon_sym_CARET_EQ] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(7572),
    [anon_sym_DOT_DOT] = ACTIONS(7574),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7576),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(7578),
    [anon_sym_AMP_AMP] = ACTIONS(7578),
    [anon_sym_LT_LT] = ACTIONS(7580),
    [anon_sym_GT_GT] = ACTIONS(7580),
    [anon_sym_EQ_EQ] = ACTIONS(7578),
    [anon_sym_BANG_EQ] = ACTIONS(7582),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7582),
    [anon_sym_LT_EQ_GT] = ACTIONS(7582),
    [anon_sym_EQ_TILDE] = ACTIONS(7582),
    [anon_sym_BANG_TILDE] = ACTIONS(7582),
    [anon_sym_LT_EQ] = ACTIONS(7570),
    [anon_sym_GT] = ACTIONS(7570),
    [anon_sym_GT_EQ] = ACTIONS(7584),
    [anon_sym_CARET] = ACTIONS(7564),
    [anon_sym_PLUS] = ACTIONS(7586),
    [anon_sym_SLASH] = ACTIONS(7566),
    [anon_sym_PERCENT] = ACTIONS(7566),
    [sym_comment] = ACTIONS(256),
  },
  [2495] = {
    [sym__simple_heredoc_body] = ACTIONS(5370),
    [sym__heredoc_body_beginning] = ACTIONS(5370),
    [sym__string_middle] = ACTIONS(5370),
    [sym__string_end] = ACTIONS(5370),
    [sym__element_reference_left_bracket] = ACTIONS(5370),
    [sym__scope_double_colon] = ACTIONS(5370),
    [sym__binary_minus] = ACTIONS(5370),
    [sym__binary_star] = ACTIONS(5370),
    [anon_sym_LBRACE] = ACTIONS(5370),
    [anon_sym_DOT] = ACTIONS(5372),
    [anon_sym_COMMA] = ACTIONS(5370),
    [anon_sym_PIPE] = ACTIONS(5372),
    [anon_sym_STAR_STAR] = ACTIONS(5372),
    [anon_sym_AMP] = ACTIONS(5372),
    [anon_sym_EQ] = ACTIONS(5372),
    [anon_sym_LT] = ACTIONS(5372),
    [anon_sym_if] = ACTIONS(5370),
    [anon_sym_unless] = ACTIONS(5370),
    [anon_sym_while] = ACTIONS(5370),
    [anon_sym_until] = ACTIONS(5370),
    [anon_sym_rescue] = ACTIONS(5370),
    [anon_sym_do] = ACTIONS(5370),
    [anon_sym_AMP_DOT] = ACTIONS(5370),
    [anon_sym_PLUS_EQ] = ACTIONS(5370),
    [anon_sym_DASH_EQ] = ACTIONS(5370),
    [anon_sym_STAR_EQ] = ACTIONS(5370),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5370),
    [anon_sym_SLASH_EQ] = ACTIONS(5370),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5370),
    [anon_sym_PIPE_EQ] = ACTIONS(5370),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5370),
    [anon_sym_AMP_EQ] = ACTIONS(5370),
    [anon_sym_PERCENT_EQ] = ACTIONS(5370),
    [anon_sym_GT_GT_EQ] = ACTIONS(5370),
    [anon_sym_LT_LT_EQ] = ACTIONS(5370),
    [anon_sym_CARET_EQ] = ACTIONS(5370),
    [anon_sym_QMARK] = ACTIONS(5370),
    [anon_sym_DOT_DOT] = ACTIONS(5372),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5370),
    [anon_sym_and] = ACTIONS(5370),
    [anon_sym_or] = ACTIONS(5370),
    [anon_sym_PIPE_PIPE] = ACTIONS(5372),
    [anon_sym_AMP_AMP] = ACTIONS(5372),
    [anon_sym_LT_LT] = ACTIONS(5372),
    [anon_sym_GT_GT] = ACTIONS(5372),
    [anon_sym_EQ_EQ] = ACTIONS(5372),
    [anon_sym_BANG_EQ] = ACTIONS(5370),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5370),
    [anon_sym_LT_EQ_GT] = ACTIONS(5370),
    [anon_sym_EQ_TILDE] = ACTIONS(5370),
    [anon_sym_BANG_TILDE] = ACTIONS(5370),
    [anon_sym_LT_EQ] = ACTIONS(5372),
    [anon_sym_GT] = ACTIONS(5372),
    [anon_sym_GT_EQ] = ACTIONS(5370),
    [anon_sym_CARET] = ACTIONS(5372),
    [anon_sym_PLUS] = ACTIONS(5372),
    [anon_sym_SLASH] = ACTIONS(5372),
    [anon_sym_PERCENT] = ACTIONS(5372),
    [sym_comment] = ACTIONS(256),
  },
  [2496] = {
    [sym_heredoc_end] = STATE(5359),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RPAREN] = ACTIONS(7594),
    [sym_comment] = ACTIONS(110),
  },
  [2497] = {
    [anon_sym_RPAREN] = ACTIONS(7594),
    [sym_comment] = ACTIONS(110),
  },
  [2498] = {
    [sym__simple_string] = ACTIONS(126),
    [sym__simple_heredoc_body] = ACTIONS(126),
    [sym__string_beginning] = ACTIONS(126),
    [sym__heredoc_body_beginning] = ACTIONS(126),
    [sym__string_middle] = ACTIONS(126),
    [sym__string_end] = ACTIONS(126),
    [sym__element_reference_left_bracket] = ACTIONS(126),
    [sym__scope_double_colon] = ACTIONS(126),
    [sym__binary_minus] = ACTIONS(126),
    [sym__binary_star] = ACTIONS(126),
    [anon_sym_LBRACE] = ACTIONS(126),
    [anon_sym_DOT] = ACTIONS(128),
    [anon_sym_COMMA] = ACTIONS(126),
    [anon_sym_PIPE] = ACTIONS(128),
    [anon_sym_STAR_STAR] = ACTIONS(128),
    [anon_sym_AMP] = ACTIONS(128),
    [anon_sym_EQ] = ACTIONS(128),
    [anon_sym_LT] = ACTIONS(128),
    [anon_sym_if] = ACTIONS(126),
    [anon_sym_unless] = ACTIONS(126),
    [anon_sym_while] = ACTIONS(126),
    [anon_sym_until] = ACTIONS(126),
    [anon_sym_rescue] = ACTIONS(126),
    [anon_sym_do] = ACTIONS(126),
    [anon_sym_EQ_GT] = ACTIONS(126),
    [anon_sym_AMP_DOT] = ACTIONS(126),
    [anon_sym_PLUS_EQ] = ACTIONS(126),
    [anon_sym_DASH_EQ] = ACTIONS(126),
    [anon_sym_STAR_EQ] = ACTIONS(126),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(126),
    [anon_sym_SLASH_EQ] = ACTIONS(126),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(126),
    [anon_sym_PIPE_EQ] = ACTIONS(126),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(126),
    [anon_sym_AMP_EQ] = ACTIONS(126),
    [anon_sym_PERCENT_EQ] = ACTIONS(126),
    [anon_sym_GT_GT_EQ] = ACTIONS(126),
    [anon_sym_LT_LT_EQ] = ACTIONS(126),
    [anon_sym_CARET_EQ] = ACTIONS(126),
    [anon_sym_QMARK] = ACTIONS(128),
    [anon_sym_DOT_DOT] = ACTIONS(128),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(126),
    [anon_sym_and] = ACTIONS(126),
    [anon_sym_or] = ACTIONS(126),
    [anon_sym_PIPE_PIPE] = ACTIONS(128),
    [anon_sym_AMP_AMP] = ACTIONS(128),
    [anon_sym_LT_LT] = ACTIONS(128),
    [anon_sym_GT_GT] = ACTIONS(128),
    [anon_sym_EQ_EQ] = ACTIONS(128),
    [anon_sym_BANG_EQ] = ACTIONS(126),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(126),
    [anon_sym_LT_EQ_GT] = ACTIONS(126),
    [anon_sym_EQ_TILDE] = ACTIONS(126),
    [anon_sym_BANG_TILDE] = ACTIONS(126),
    [anon_sym_LT_EQ] = ACTIONS(128),
    [anon_sym_GT] = ACTIONS(128),
    [anon_sym_GT_EQ] = ACTIONS(126),
    [anon_sym_CARET] = ACTIONS(128),
    [anon_sym_PLUS] = ACTIONS(128),
    [anon_sym_SLASH] = ACTIONS(128),
    [anon_sym_PERCENT] = ACTIONS(128),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(128),
  },
  [2499] = {
    [sym__statement] = STATE(5360),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(5361),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [2500] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(193),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_hash_splat_argument] = STATE(197),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(199),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(200),
    [sym__variable] = STATE(196),
    [sym_reserved_identifier] = STATE(201),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(202),
    [sym_subshell] = STATE(151),
    [sym_heredoc_end] = STATE(2522),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym__hash_items] = STATE(2523),
    [sym_pair] = STATE(205),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(260),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(272),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(286),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_RBRACE] = ACTIONS(3756),
    [anon_sym_def] = ACTIONS(292),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(302),
    [anon_sym_class] = ACTIONS(304),
    [anon_sym_module] = ACTIONS(306),
    [anon_sym_return] = ACTIONS(308),
    [anon_sym_yield] = ACTIONS(310),
    [anon_sym_break] = ACTIONS(312),
    [anon_sym_next] = ACTIONS(314),
    [anon_sym_redo] = ACTIONS(316),
    [anon_sym_retry] = ACTIONS(318),
    [anon_sym_if] = ACTIONS(320),
    [anon_sym_unless] = ACTIONS(322),
    [anon_sym_while] = ACTIONS(324),
    [anon_sym_until] = ACTIONS(326),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(328),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(330),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(332),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(334),
    [anon_sym_defined_QMARK] = ACTIONS(336),
    [anon_sym_not] = ACTIONS(338),
    [anon_sym_BANG] = ACTIONS(340),
    [anon_sym_TILDE] = ACTIONS(340),
    [sym_constant] = ACTIONS(342),
    [sym_identifier] = ACTIONS(342),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(346),
    [anon_sym_nil] = ACTIONS(348),
    [anon_sym_self] = ACTIONS(350),
    [anon_sym_super] = ACTIONS(352),
    [anon_sym_true] = ACTIONS(354),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(370),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [2501] = {
    [sym__method_rest] = STATE(2525),
    [sym__variable] = STATE(2526),
    [sym_operator] = STATE(217),
    [sym__method_name] = STATE(2527),
    [sym_setter] = STATE(217),
    [sym_symbol] = STATE(217),
    [sym_super] = STATE(219),
    [sym_self] = STATE(219),
    [sym__simple_symbol] = ACTIONS(378),
    [sym__symbol_beginning] = ACTIONS(380),
    [anon_sym_LPAREN] = ACTIONS(3758),
    [anon_sym_PIPE] = ACTIONS(384),
    [anon_sym_STAR] = ACTIONS(386),
    [anon_sym_STAR_STAR] = ACTIONS(384),
    [anon_sym_AMP] = ACTIONS(384),
    [anon_sym_LT] = ACTIONS(386),
    [anon_sym_DOT_DOT] = ACTIONS(384),
    [anon_sym_LT_LT] = ACTIONS(384),
    [anon_sym_GT_GT] = ACTIONS(384),
    [anon_sym_EQ_EQ] = ACTIONS(386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(384),
    [anon_sym_LT_EQ_GT] = ACTIONS(384),
    [anon_sym_EQ_TILDE] = ACTIONS(384),
    [anon_sym_BANG_TILDE] = ACTIONS(384),
    [anon_sym_LT_EQ] = ACTIONS(386),
    [anon_sym_GT] = ACTIONS(386),
    [anon_sym_GT_EQ] = ACTIONS(384),
    [anon_sym_CARET] = ACTIONS(384),
    [anon_sym_PLUS] = ACTIONS(386),
    [anon_sym_SLASH] = ACTIONS(384),
    [anon_sym_PERCENT] = ACTIONS(384),
    [anon_sym_BANG] = ACTIONS(386),
    [anon_sym_TILDE] = ACTIONS(384),
    [sym_constant] = ACTIONS(388),
    [sym_identifier] = ACTIONS(390),
    [sym_instance_variable] = ACTIONS(388),
    [sym_class_variable] = ACTIONS(388),
    [sym_global_variable] = ACTIONS(388),
    [anon_sym_self] = ACTIONS(392),
    [anon_sym_super] = ACTIONS(394),
    [anon_sym_DASH] = ACTIONS(386),
    [anon_sym_PLUS_AT] = ACTIONS(384),
    [anon_sym_DASH_AT] = ACTIONS(384),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(386),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(384),
    [anon_sym_BQUOTE] = ACTIONS(384),
    [sym_comment] = ACTIONS(110),
  },
  [2502] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(293),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(2533),
    [sym_call] = STATE(295),
    [sym_method_call] = STATE(286),
    [sym__lhs] = STATE(255),
    [sym__variable] = STATE(295),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [sym__singleton_class_left_angle_left_langle] = ACTIONS(3762),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(458),
    [anon_sym_COLON_COLON] = ACTIONS(524),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(3764),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [2503] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(293),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(2535),
    [sym_call] = STATE(295),
    [sym_method_call] = STATE(286),
    [sym__lhs] = STATE(255),
    [sym__variable] = STATE(295),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(458),
    [anon_sym_COLON_COLON] = ACTIONS(524),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(3766),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [2504] = {
    [sym_method] = STATE(769),
    [sym_singleton_method] = STATE(769),
    [sym_class] = STATE(769),
    [sym_singleton_class] = STATE(769),
    [sym_module] = STATE(769),
    [sym_return] = STATE(769),
    [sym_yield] = STATE(769),
    [sym_break] = STATE(769),
    [sym_next] = STATE(769),
    [sym_redo] = STATE(769),
    [sym_retry] = STATE(769),
    [sym_while] = STATE(769),
    [sym_until] = STATE(769),
    [sym_for] = STATE(769),
    [sym_case] = STATE(769),
    [sym_if] = STATE(769),
    [sym_unless] = STATE(769),
    [sym_begin] = STATE(769),
    [sym__arg] = STATE(2371),
    [sym__primary] = STATE(804),
    [sym_parenthesized_statements] = STATE(769),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(805),
    [sym_call] = STATE(805),
    [sym_method_call] = STATE(694),
    [sym_argument_list] = STATE(2536),
    [sym__argument_list_with_parens] = STATE(2373),
    [sym__argument] = STATE(2374),
    [sym_splat_argument] = STATE(2375),
    [sym_hash_splat_argument] = STATE(2375),
    [sym_block_argument] = STATE(2375),
    [sym_assignment] = STATE(811),
    [sym_operator_assignment] = STATE(811),
    [sym_conditional] = STATE(811),
    [sym_range] = STATE(811),
    [sym_binary] = STATE(811),
    [sym_unary] = STATE(811),
    [sym_left_assignment_list] = STATE(812),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(813),
    [sym__variable] = STATE(805),
    [sym_reserved_identifier] = STATE(2377),
    [sym_symbol] = STATE(769),
    [sym_complex] = STATE(769),
    [sym_rational] = STATE(769),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(769),
    [sym_string] = STATE(2378),
    [sym_subshell] = STATE(769),
    [sym_array] = STATE(769),
    [sym_hash] = STATE(769),
    [sym_pair] = STATE(2375),
    [sym_regex] = STATE(769),
    [sym_lambda] = STATE(769),
    [sym__simple_string] = ACTIONS(1274),
    [sym__simple_symbol] = ACTIONS(1276),
    [sym__simple_subshell] = ACTIONS(1278),
    [sym__simple_regex] = ACTIONS(1280),
    [sym__simple_word_list] = ACTIONS(1282),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(1284),
    [sym__symbol_beginning] = ACTIONS(1286),
    [sym__subshell_beginning] = ACTIONS(1288),
    [sym__regex_beginning] = ACTIONS(1290),
    [sym__word_list_beginning] = ACTIONS(1292),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym__string_middle] = ACTIONS(532),
    [sym__string_end] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(1294),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(3564),
    [sym__splat_star] = ACTIONS(3566),
    [sym__argument_list_left_paren] = ACTIONS(3568),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(1302),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(1306),
    [anon_sym_LPAREN] = ACTIONS(1308),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(544),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(1310),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(1312),
    [anon_sym_return] = ACTIONS(1314),
    [anon_sym_yield] = ACTIONS(1316),
    [anon_sym_break] = ACTIONS(1318),
    [anon_sym_next] = ACTIONS(1320),
    [anon_sym_redo] = ACTIONS(1322),
    [anon_sym_retry] = ACTIONS(1324),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(1326),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(1330),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1332),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_PLUS_EQ] = ACTIONS(532),
    [anon_sym_DASH_EQ] = ACTIONS(532),
    [anon_sym_STAR_EQ] = ACTIONS(532),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(532),
    [anon_sym_SLASH_EQ] = ACTIONS(532),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(532),
    [anon_sym_PIPE_EQ] = ACTIONS(532),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(532),
    [anon_sym_AMP_EQ] = ACTIONS(532),
    [anon_sym_PERCENT_EQ] = ACTIONS(532),
    [anon_sym_GT_GT_EQ] = ACTIONS(532),
    [anon_sym_LT_LT_EQ] = ACTIONS(532),
    [anon_sym_CARET_EQ] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(544),
    [anon_sym_AMP_AMP] = ACTIONS(544),
    [anon_sym_LT_LT] = ACTIONS(544),
    [anon_sym_GT_GT] = ACTIONS(544),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(544),
    [anon_sym_PERCENT] = ACTIONS(544),
    [anon_sym_defined_QMARK] = ACTIONS(1334),
    [anon_sym_not] = ACTIONS(1336),
    [anon_sym_BANG] = ACTIONS(1338),
    [anon_sym_TILDE] = ACTIONS(1340),
    [sym_constant] = ACTIONS(3574),
    [sym_identifier] = ACTIONS(3574),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(1168),
    [anon_sym_nil] = ACTIONS(1170),
    [anon_sym_self] = ACTIONS(1172),
    [anon_sym_super] = ACTIONS(1174),
    [anon_sym_true] = ACTIONS(1176),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1344),
    [sym_float] = ACTIONS(1346),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1348),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1350),
    [sym_keyword__LINE__] = ACTIONS(1350),
    [sym_keyword__ENCODING__] = ACTIONS(1350),
    [sym__character_literal] = ACTIONS(1352),
    [anon_sym_LBRACK] = ACTIONS(1354),
    [anon_sym_DASH_GT] = ACTIONS(1356),
  },
  [2505] = {
    [sym_method] = STATE(769),
    [sym_singleton_method] = STATE(769),
    [sym_class] = STATE(769),
    [sym_singleton_class] = STATE(769),
    [sym_module] = STATE(769),
    [sym_return] = STATE(769),
    [sym_yield] = STATE(769),
    [sym_break] = STATE(769),
    [sym_next] = STATE(769),
    [sym_redo] = STATE(769),
    [sym_retry] = STATE(769),
    [sym_while] = STATE(769),
    [sym_until] = STATE(769),
    [sym_for] = STATE(769),
    [sym_case] = STATE(769),
    [sym_if] = STATE(769),
    [sym_unless] = STATE(769),
    [sym_begin] = STATE(769),
    [sym__arg] = STATE(2371),
    [sym__primary] = STATE(804),
    [sym_parenthesized_statements] = STATE(769),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(805),
    [sym_call] = STATE(805),
    [sym_method_call] = STATE(694),
    [sym_argument_list] = STATE(2537),
    [sym__argument_list_with_parens] = STATE(2373),
    [sym__argument] = STATE(2374),
    [sym_splat_argument] = STATE(2375),
    [sym_hash_splat_argument] = STATE(2375),
    [sym_block_argument] = STATE(2375),
    [sym_assignment] = STATE(811),
    [sym_operator_assignment] = STATE(811),
    [sym_conditional] = STATE(811),
    [sym_range] = STATE(811),
    [sym_binary] = STATE(811),
    [sym_unary] = STATE(811),
    [sym_left_assignment_list] = STATE(812),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(813),
    [sym__variable] = STATE(805),
    [sym_reserved_identifier] = STATE(2377),
    [sym_symbol] = STATE(769),
    [sym_complex] = STATE(769),
    [sym_rational] = STATE(769),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(769),
    [sym_string] = STATE(2378),
    [sym_subshell] = STATE(769),
    [sym_array] = STATE(769),
    [sym_hash] = STATE(769),
    [sym_pair] = STATE(2375),
    [sym_regex] = STATE(769),
    [sym_lambda] = STATE(769),
    [sym__simple_string] = ACTIONS(1274),
    [sym__simple_symbol] = ACTIONS(1276),
    [sym__simple_subshell] = ACTIONS(1278),
    [sym__simple_regex] = ACTIONS(1280),
    [sym__simple_word_list] = ACTIONS(1282),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(1284),
    [sym__symbol_beginning] = ACTIONS(1286),
    [sym__subshell_beginning] = ACTIONS(1288),
    [sym__regex_beginning] = ACTIONS(1290),
    [sym__word_list_beginning] = ACTIONS(1292),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym__string_middle] = ACTIONS(602),
    [sym__string_end] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(1294),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(3564),
    [sym__splat_star] = ACTIONS(3566),
    [sym__argument_list_left_paren] = ACTIONS(3568),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(1302),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(1306),
    [anon_sym_LPAREN] = ACTIONS(1308),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(604),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(1310),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(1312),
    [anon_sym_return] = ACTIONS(1314),
    [anon_sym_yield] = ACTIONS(1316),
    [anon_sym_break] = ACTIONS(1318),
    [anon_sym_next] = ACTIONS(1320),
    [anon_sym_redo] = ACTIONS(1322),
    [anon_sym_retry] = ACTIONS(1324),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(1326),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(1330),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1332),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_PLUS_EQ] = ACTIONS(602),
    [anon_sym_DASH_EQ] = ACTIONS(602),
    [anon_sym_STAR_EQ] = ACTIONS(602),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(602),
    [anon_sym_SLASH_EQ] = ACTIONS(602),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(602),
    [anon_sym_PIPE_EQ] = ACTIONS(602),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(602),
    [anon_sym_AMP_EQ] = ACTIONS(602),
    [anon_sym_PERCENT_EQ] = ACTIONS(602),
    [anon_sym_GT_GT_EQ] = ACTIONS(602),
    [anon_sym_LT_LT_EQ] = ACTIONS(602),
    [anon_sym_CARET_EQ] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(604),
    [anon_sym_AMP_AMP] = ACTIONS(604),
    [anon_sym_LT_LT] = ACTIONS(604),
    [anon_sym_GT_GT] = ACTIONS(604),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(604),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(604),
    [anon_sym_PERCENT] = ACTIONS(604),
    [anon_sym_defined_QMARK] = ACTIONS(1334),
    [anon_sym_not] = ACTIONS(1336),
    [anon_sym_BANG] = ACTIONS(1338),
    [anon_sym_TILDE] = ACTIONS(1340),
    [sym_constant] = ACTIONS(3574),
    [sym_identifier] = ACTIONS(3574),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(1168),
    [anon_sym_nil] = ACTIONS(1170),
    [anon_sym_self] = ACTIONS(1172),
    [anon_sym_super] = ACTIONS(1174),
    [anon_sym_true] = ACTIONS(1176),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1344),
    [sym_float] = ACTIONS(1346),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1348),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1350),
    [sym_keyword__LINE__] = ACTIONS(1350),
    [sym_keyword__ENCODING__] = ACTIONS(1350),
    [sym__character_literal] = ACTIONS(1352),
    [anon_sym_LBRACK] = ACTIONS(1354),
    [anon_sym_DASH_GT] = ACTIONS(1356),
  },
  [2506] = {
    [sym_method] = STATE(769),
    [sym_singleton_method] = STATE(769),
    [sym_class] = STATE(769),
    [sym_singleton_class] = STATE(769),
    [sym_module] = STATE(769),
    [sym_return] = STATE(769),
    [sym_yield] = STATE(769),
    [sym_break] = STATE(769),
    [sym_next] = STATE(769),
    [sym_redo] = STATE(769),
    [sym_retry] = STATE(769),
    [sym_while] = STATE(769),
    [sym_until] = STATE(769),
    [sym_for] = STATE(769),
    [sym_case] = STATE(769),
    [sym_if] = STATE(769),
    [sym_unless] = STATE(769),
    [sym_begin] = STATE(769),
    [sym__arg] = STATE(2371),
    [sym__primary] = STATE(804),
    [sym_parenthesized_statements] = STATE(769),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(805),
    [sym_call] = STATE(805),
    [sym_method_call] = STATE(694),
    [sym_argument_list] = STATE(2538),
    [sym__argument_list_with_parens] = STATE(2373),
    [sym__argument] = STATE(2374),
    [sym_splat_argument] = STATE(2375),
    [sym_hash_splat_argument] = STATE(2375),
    [sym_block_argument] = STATE(2375),
    [sym_assignment] = STATE(811),
    [sym_operator_assignment] = STATE(811),
    [sym_conditional] = STATE(811),
    [sym_range] = STATE(811),
    [sym_binary] = STATE(811),
    [sym_unary] = STATE(811),
    [sym_left_assignment_list] = STATE(812),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(813),
    [sym__variable] = STATE(805),
    [sym_reserved_identifier] = STATE(2377),
    [sym_symbol] = STATE(769),
    [sym_complex] = STATE(769),
    [sym_rational] = STATE(769),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(769),
    [sym_string] = STATE(2378),
    [sym_subshell] = STATE(769),
    [sym_array] = STATE(769),
    [sym_hash] = STATE(769),
    [sym_pair] = STATE(2375),
    [sym_regex] = STATE(769),
    [sym_lambda] = STATE(769),
    [sym__simple_string] = ACTIONS(1274),
    [sym__simple_symbol] = ACTIONS(1276),
    [sym__simple_subshell] = ACTIONS(1278),
    [sym__simple_regex] = ACTIONS(1280),
    [sym__simple_word_list] = ACTIONS(1282),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(1284),
    [sym__symbol_beginning] = ACTIONS(1286),
    [sym__subshell_beginning] = ACTIONS(1288),
    [sym__regex_beginning] = ACTIONS(1290),
    [sym__word_list_beginning] = ACTIONS(1292),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym__string_middle] = ACTIONS(606),
    [sym__string_end] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(1294),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(3564),
    [sym__splat_star] = ACTIONS(3566),
    [sym__argument_list_left_paren] = ACTIONS(3568),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(1302),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(1306),
    [anon_sym_LPAREN] = ACTIONS(1308),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(608),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(1310),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(1312),
    [anon_sym_return] = ACTIONS(1314),
    [anon_sym_yield] = ACTIONS(1316),
    [anon_sym_break] = ACTIONS(1318),
    [anon_sym_next] = ACTIONS(1320),
    [anon_sym_redo] = ACTIONS(1322),
    [anon_sym_retry] = ACTIONS(1324),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(1326),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(1330),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1332),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_PLUS_EQ] = ACTIONS(606),
    [anon_sym_DASH_EQ] = ACTIONS(606),
    [anon_sym_STAR_EQ] = ACTIONS(606),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(606),
    [anon_sym_SLASH_EQ] = ACTIONS(606),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(606),
    [anon_sym_PIPE_EQ] = ACTIONS(606),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(606),
    [anon_sym_AMP_EQ] = ACTIONS(606),
    [anon_sym_PERCENT_EQ] = ACTIONS(606),
    [anon_sym_GT_GT_EQ] = ACTIONS(606),
    [anon_sym_LT_LT_EQ] = ACTIONS(606),
    [anon_sym_CARET_EQ] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(608),
    [anon_sym_AMP_AMP] = ACTIONS(608),
    [anon_sym_LT_LT] = ACTIONS(608),
    [anon_sym_GT_GT] = ACTIONS(608),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(608),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(608),
    [anon_sym_PERCENT] = ACTIONS(608),
    [anon_sym_defined_QMARK] = ACTIONS(1334),
    [anon_sym_not] = ACTIONS(1336),
    [anon_sym_BANG] = ACTIONS(1338),
    [anon_sym_TILDE] = ACTIONS(1340),
    [sym_constant] = ACTIONS(3574),
    [sym_identifier] = ACTIONS(3574),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(1168),
    [anon_sym_nil] = ACTIONS(1170),
    [anon_sym_self] = ACTIONS(1172),
    [anon_sym_super] = ACTIONS(1174),
    [anon_sym_true] = ACTIONS(1176),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1344),
    [sym_float] = ACTIONS(1346),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1348),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1350),
    [sym_keyword__LINE__] = ACTIONS(1350),
    [sym_keyword__ENCODING__] = ACTIONS(1350),
    [sym__character_literal] = ACTIONS(1352),
    [anon_sym_LBRACK] = ACTIONS(1354),
    [anon_sym_DASH_GT] = ACTIONS(1356),
  },
  [2507] = {
    [sym_method] = STATE(769),
    [sym_singleton_method] = STATE(769),
    [sym_class] = STATE(769),
    [sym_singleton_class] = STATE(769),
    [sym_module] = STATE(769),
    [sym_return] = STATE(769),
    [sym_yield] = STATE(769),
    [sym_break] = STATE(769),
    [sym_next] = STATE(769),
    [sym_redo] = STATE(769),
    [sym_retry] = STATE(769),
    [sym_while] = STATE(769),
    [sym_until] = STATE(769),
    [sym_for] = STATE(769),
    [sym_case] = STATE(769),
    [sym_if] = STATE(769),
    [sym_unless] = STATE(769),
    [sym_begin] = STATE(769),
    [sym__arg] = STATE(2371),
    [sym__primary] = STATE(804),
    [sym_parenthesized_statements] = STATE(769),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(805),
    [sym_call] = STATE(805),
    [sym_method_call] = STATE(694),
    [sym_argument_list] = STATE(2539),
    [sym__argument_list_with_parens] = STATE(2373),
    [sym__argument] = STATE(2374),
    [sym_splat_argument] = STATE(2375),
    [sym_hash_splat_argument] = STATE(2375),
    [sym_block_argument] = STATE(2375),
    [sym_assignment] = STATE(811),
    [sym_operator_assignment] = STATE(811),
    [sym_conditional] = STATE(811),
    [sym_range] = STATE(811),
    [sym_binary] = STATE(811),
    [sym_unary] = STATE(811),
    [sym_left_assignment_list] = STATE(812),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(813),
    [sym__variable] = STATE(805),
    [sym_reserved_identifier] = STATE(2377),
    [sym_symbol] = STATE(769),
    [sym_complex] = STATE(769),
    [sym_rational] = STATE(769),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(769),
    [sym_string] = STATE(2378),
    [sym_subshell] = STATE(769),
    [sym_array] = STATE(769),
    [sym_hash] = STATE(769),
    [sym_pair] = STATE(2375),
    [sym_regex] = STATE(769),
    [sym_lambda] = STATE(769),
    [sym__simple_string] = ACTIONS(1274),
    [sym__simple_symbol] = ACTIONS(1276),
    [sym__simple_subshell] = ACTIONS(1278),
    [sym__simple_regex] = ACTIONS(1280),
    [sym__simple_word_list] = ACTIONS(1282),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(1284),
    [sym__symbol_beginning] = ACTIONS(1286),
    [sym__subshell_beginning] = ACTIONS(1288),
    [sym__regex_beginning] = ACTIONS(1290),
    [sym__word_list_beginning] = ACTIONS(1292),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym__string_middle] = ACTIONS(610),
    [sym__string_end] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(1294),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(3564),
    [sym__splat_star] = ACTIONS(3566),
    [sym__argument_list_left_paren] = ACTIONS(3568),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(1302),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(1306),
    [anon_sym_LPAREN] = ACTIONS(1308),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(612),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(1310),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(1312),
    [anon_sym_return] = ACTIONS(1314),
    [anon_sym_yield] = ACTIONS(1316),
    [anon_sym_break] = ACTIONS(1318),
    [anon_sym_next] = ACTIONS(1320),
    [anon_sym_redo] = ACTIONS(1322),
    [anon_sym_retry] = ACTIONS(1324),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(1326),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(1330),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1332),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_PLUS_EQ] = ACTIONS(610),
    [anon_sym_DASH_EQ] = ACTIONS(610),
    [anon_sym_STAR_EQ] = ACTIONS(610),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(610),
    [anon_sym_SLASH_EQ] = ACTIONS(610),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(610),
    [anon_sym_PIPE_EQ] = ACTIONS(610),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(610),
    [anon_sym_AMP_EQ] = ACTIONS(610),
    [anon_sym_PERCENT_EQ] = ACTIONS(610),
    [anon_sym_GT_GT_EQ] = ACTIONS(610),
    [anon_sym_LT_LT_EQ] = ACTIONS(610),
    [anon_sym_CARET_EQ] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(612),
    [anon_sym_AMP_AMP] = ACTIONS(612),
    [anon_sym_LT_LT] = ACTIONS(612),
    [anon_sym_GT_GT] = ACTIONS(612),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(612),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(612),
    [anon_sym_PERCENT] = ACTIONS(612),
    [anon_sym_defined_QMARK] = ACTIONS(1334),
    [anon_sym_not] = ACTIONS(1336),
    [anon_sym_BANG] = ACTIONS(1338),
    [anon_sym_TILDE] = ACTIONS(1340),
    [sym_constant] = ACTIONS(3574),
    [sym_identifier] = ACTIONS(3574),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(1168),
    [anon_sym_nil] = ACTIONS(1170),
    [anon_sym_self] = ACTIONS(1172),
    [anon_sym_super] = ACTIONS(1174),
    [anon_sym_true] = ACTIONS(1176),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1344),
    [sym_float] = ACTIONS(1346),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1348),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1350),
    [sym_keyword__LINE__] = ACTIONS(1350),
    [sym_keyword__ENCODING__] = ACTIONS(1350),
    [sym__character_literal] = ACTIONS(1352),
    [anon_sym_LBRACK] = ACTIONS(1354),
    [anon_sym_DASH_GT] = ACTIONS(1356),
  },
  [2508] = {
    [sym__simple_heredoc_body] = ACTIONS(614),
    [sym__heredoc_body_beginning] = ACTIONS(614),
    [sym__string_middle] = ACTIONS(614),
    [sym__string_end] = ACTIONS(614),
    [sym__element_reference_left_bracket] = ACTIONS(614),
    [sym__scope_double_colon] = ACTIONS(614),
    [sym__binary_minus] = ACTIONS(614),
    [sym__binary_star] = ACTIONS(614),
    [anon_sym_LBRACE] = ACTIONS(614),
    [anon_sym_DOT] = ACTIONS(616),
    [anon_sym_COMMA] = ACTIONS(614),
    [anon_sym_PIPE] = ACTIONS(616),
    [anon_sym_STAR_STAR] = ACTIONS(616),
    [anon_sym_AMP] = ACTIONS(616),
    [anon_sym_EQ] = ACTIONS(616),
    [anon_sym_LT] = ACTIONS(616),
    [anon_sym_if] = ACTIONS(614),
    [anon_sym_unless] = ACTIONS(614),
    [anon_sym_while] = ACTIONS(614),
    [anon_sym_until] = ACTIONS(614),
    [anon_sym_rescue] = ACTIONS(614),
    [anon_sym_do] = ACTIONS(614),
    [anon_sym_EQ_GT] = ACTIONS(614),
    [anon_sym_AMP_DOT] = ACTIONS(614),
    [anon_sym_PLUS_EQ] = ACTIONS(614),
    [anon_sym_DASH_EQ] = ACTIONS(614),
    [anon_sym_STAR_EQ] = ACTIONS(614),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(614),
    [anon_sym_SLASH_EQ] = ACTIONS(614),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(614),
    [anon_sym_PIPE_EQ] = ACTIONS(614),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(614),
    [anon_sym_AMP_EQ] = ACTIONS(614),
    [anon_sym_PERCENT_EQ] = ACTIONS(614),
    [anon_sym_GT_GT_EQ] = ACTIONS(614),
    [anon_sym_LT_LT_EQ] = ACTIONS(614),
    [anon_sym_CARET_EQ] = ACTIONS(614),
    [anon_sym_QMARK] = ACTIONS(614),
    [anon_sym_DOT_DOT] = ACTIONS(616),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(614),
    [anon_sym_and] = ACTIONS(614),
    [anon_sym_or] = ACTIONS(614),
    [anon_sym_PIPE_PIPE] = ACTIONS(616),
    [anon_sym_AMP_AMP] = ACTIONS(616),
    [anon_sym_LT_LT] = ACTIONS(616),
    [anon_sym_GT_GT] = ACTIONS(616),
    [anon_sym_EQ_EQ] = ACTIONS(616),
    [anon_sym_BANG_EQ] = ACTIONS(614),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(614),
    [anon_sym_LT_EQ_GT] = ACTIONS(614),
    [anon_sym_EQ_TILDE] = ACTIONS(614),
    [anon_sym_BANG_TILDE] = ACTIONS(614),
    [anon_sym_LT_EQ] = ACTIONS(616),
    [anon_sym_GT] = ACTIONS(616),
    [anon_sym_GT_EQ] = ACTIONS(614),
    [anon_sym_CARET] = ACTIONS(616),
    [anon_sym_PLUS] = ACTIONS(616),
    [anon_sym_SLASH] = ACTIONS(616),
    [anon_sym_PERCENT] = ACTIONS(616),
    [sym_comment] = ACTIONS(256),
  },
  [2509] = {
    [sym__simple_heredoc_body] = ACTIONS(618),
    [sym__heredoc_body_beginning] = ACTIONS(618),
    [sym__string_middle] = ACTIONS(618),
    [sym__string_end] = ACTIONS(618),
    [sym__element_reference_left_bracket] = ACTIONS(618),
    [sym__scope_double_colon] = ACTIONS(618),
    [sym__binary_minus] = ACTIONS(618),
    [sym__binary_star] = ACTIONS(618),
    [anon_sym_LBRACE] = ACTIONS(618),
    [anon_sym_DOT] = ACTIONS(620),
    [anon_sym_COMMA] = ACTIONS(618),
    [anon_sym_PIPE] = ACTIONS(620),
    [anon_sym_STAR_STAR] = ACTIONS(620),
    [anon_sym_AMP] = ACTIONS(620),
    [anon_sym_EQ] = ACTIONS(620),
    [anon_sym_LT] = ACTIONS(620),
    [anon_sym_if] = ACTIONS(618),
    [anon_sym_unless] = ACTIONS(618),
    [anon_sym_while] = ACTIONS(618),
    [anon_sym_until] = ACTIONS(618),
    [anon_sym_rescue] = ACTIONS(618),
    [anon_sym_do] = ACTIONS(618),
    [anon_sym_EQ_GT] = ACTIONS(618),
    [anon_sym_AMP_DOT] = ACTIONS(618),
    [anon_sym_PLUS_EQ] = ACTIONS(618),
    [anon_sym_DASH_EQ] = ACTIONS(618),
    [anon_sym_STAR_EQ] = ACTIONS(618),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(618),
    [anon_sym_SLASH_EQ] = ACTIONS(618),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(618),
    [anon_sym_PIPE_EQ] = ACTIONS(618),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(618),
    [anon_sym_AMP_EQ] = ACTIONS(618),
    [anon_sym_PERCENT_EQ] = ACTIONS(618),
    [anon_sym_GT_GT_EQ] = ACTIONS(618),
    [anon_sym_LT_LT_EQ] = ACTIONS(618),
    [anon_sym_CARET_EQ] = ACTIONS(618),
    [anon_sym_QMARK] = ACTIONS(618),
    [anon_sym_DOT_DOT] = ACTIONS(620),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(618),
    [anon_sym_and] = ACTIONS(618),
    [anon_sym_or] = ACTIONS(618),
    [anon_sym_PIPE_PIPE] = ACTIONS(620),
    [anon_sym_AMP_AMP] = ACTIONS(620),
    [anon_sym_LT_LT] = ACTIONS(620),
    [anon_sym_GT_GT] = ACTIONS(620),
    [anon_sym_EQ_EQ] = ACTIONS(620),
    [anon_sym_BANG_EQ] = ACTIONS(618),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(618),
    [anon_sym_LT_EQ_GT] = ACTIONS(618),
    [anon_sym_EQ_TILDE] = ACTIONS(618),
    [anon_sym_BANG_TILDE] = ACTIONS(618),
    [anon_sym_LT_EQ] = ACTIONS(620),
    [anon_sym_GT] = ACTIONS(620),
    [anon_sym_GT_EQ] = ACTIONS(618),
    [anon_sym_CARET] = ACTIONS(620),
    [anon_sym_PLUS] = ACTIONS(620),
    [anon_sym_SLASH] = ACTIONS(620),
    [anon_sym_PERCENT] = ACTIONS(620),
    [sym_comment] = ACTIONS(256),
  },
  [2510] = {
    [sym__statement] = STATE(2540),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(361),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2511] = {
    [sym__statement] = STATE(2541),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(361),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2512] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2542),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2513] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2543),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2514] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(285),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(381),
    [sym_call] = STATE(381),
    [sym_method_call] = STATE(286),
    [sym__mlhs] = STATE(2544),
    [sym__simple_mlhs] = STATE(383),
    [sym_destructured_left_assignment] = STATE(383),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(384),
    [sym__variable] = STATE(381),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(658),
    [anon_sym_COLON_COLON] = ACTIONS(460),
    [anon_sym_STAR] = ACTIONS(660),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(494),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [2515] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_when] = STATE(2549),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2550),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(400),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(401),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(387),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__terminator] = STATE(402),
    [aux_sym_case_repeat1] = STATE(2551),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(666),
    [sym__unary_minus] = ACTIONS(668),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_when] = ACTIONS(678),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(680),
    [anon_sym_defined_QMARK] = ACTIONS(682),
    [anon_sym_not] = ACTIONS(684),
    [anon_sym_BANG] = ACTIONS(686),
    [anon_sym_TILDE] = ACTIONS(686),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2516] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(2553),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(2554),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(692),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(3770),
    [anon_sym_SEMI] = ACTIONS(698),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2517] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__string_middle] = ACTIONS(1372),
    [sym__string_end] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_LBRACE] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_STAR_STAR] = ACTIONS(3788),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_EQ] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_if] = ACTIONS(1372),
    [anon_sym_unless] = ACTIONS(1372),
    [anon_sym_while] = ACTIONS(1372),
    [anon_sym_until] = ACTIONS(1372),
    [anon_sym_rescue] = ACTIONS(1372),
    [anon_sym_do] = ACTIONS(1372),
    [anon_sym_EQ_GT] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_PLUS_EQ] = ACTIONS(1372),
    [anon_sym_DASH_EQ] = ACTIONS(1372),
    [anon_sym_STAR_EQ] = ACTIONS(1372),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1372),
    [anon_sym_SLASH_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1372),
    [anon_sym_AMP_EQ] = ACTIONS(1372),
    [anon_sym_PERCENT_EQ] = ACTIONS(1372),
    [anon_sym_GT_GT_EQ] = ACTIONS(1372),
    [anon_sym_LT_LT_EQ] = ACTIONS(1372),
    [anon_sym_CARET_EQ] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1374),
    [anon_sym_AMP_AMP] = ACTIONS(1374),
    [anon_sym_LT_LT] = ACTIONS(1374),
    [anon_sym_GT_GT] = ACTIONS(1374),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1374),
    [anon_sym_PLUS] = ACTIONS(1374),
    [anon_sym_SLASH] = ACTIONS(1374),
    [anon_sym_PERCENT] = ACTIONS(1374),
    [sym_comment] = ACTIONS(256),
  },
  [2518] = {
    [sym_string] = STATE(2592),
    [aux_sym_chained_string_repeat1] = STATE(2593),
    [sym__simple_string] = ACTIONS(3712),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(3714),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__string_middle] = ACTIONS(250),
    [sym__string_end] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(3754),
  },
  [2519] = {
    [sym__simple_heredoc_body] = ACTIONS(1552),
    [sym__heredoc_body_beginning] = ACTIONS(1552),
    [sym__string_middle] = ACTIONS(1552),
    [sym__string_end] = ACTIONS(1552),
    [sym__element_reference_left_bracket] = ACTIONS(1552),
    [sym__scope_double_colon] = ACTIONS(1552),
    [sym__binary_minus] = ACTIONS(1552),
    [sym__binary_star] = ACTIONS(1552),
    [anon_sym_LBRACE] = ACTIONS(1552),
    [anon_sym_DOT] = ACTIONS(1554),
    [anon_sym_COMMA] = ACTIONS(1552),
    [anon_sym_PIPE] = ACTIONS(1554),
    [anon_sym_STAR_STAR] = ACTIONS(1554),
    [anon_sym_AMP] = ACTIONS(1554),
    [anon_sym_EQ] = ACTIONS(1554),
    [anon_sym_LT] = ACTIONS(1554),
    [anon_sym_if] = ACTIONS(1552),
    [anon_sym_unless] = ACTIONS(1552),
    [anon_sym_while] = ACTIONS(1552),
    [anon_sym_until] = ACTIONS(1552),
    [anon_sym_rescue] = ACTIONS(1552),
    [anon_sym_do] = ACTIONS(1552),
    [anon_sym_EQ_GT] = ACTIONS(1552),
    [anon_sym_AMP_DOT] = ACTIONS(1552),
    [anon_sym_PLUS_EQ] = ACTIONS(1552),
    [anon_sym_DASH_EQ] = ACTIONS(1552),
    [anon_sym_STAR_EQ] = ACTIONS(1552),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1552),
    [anon_sym_SLASH_EQ] = ACTIONS(1552),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1552),
    [anon_sym_PIPE_EQ] = ACTIONS(1552),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1552),
    [anon_sym_AMP_EQ] = ACTIONS(1552),
    [anon_sym_PERCENT_EQ] = ACTIONS(1552),
    [anon_sym_GT_GT_EQ] = ACTIONS(1552),
    [anon_sym_LT_LT_EQ] = ACTIONS(1552),
    [anon_sym_CARET_EQ] = ACTIONS(1552),
    [anon_sym_QMARK] = ACTIONS(1552),
    [anon_sym_DOT_DOT] = ACTIONS(1554),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1552),
    [anon_sym_and] = ACTIONS(1552),
    [anon_sym_or] = ACTIONS(1552),
    [anon_sym_PIPE_PIPE] = ACTIONS(1554),
    [anon_sym_AMP_AMP] = ACTIONS(1554),
    [anon_sym_LT_LT] = ACTIONS(1554),
    [anon_sym_GT_GT] = ACTIONS(1554),
    [anon_sym_EQ_EQ] = ACTIONS(1554),
    [anon_sym_BANG_EQ] = ACTIONS(1552),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1552),
    [anon_sym_LT_EQ_GT] = ACTIONS(1552),
    [anon_sym_EQ_TILDE] = ACTIONS(1552),
    [anon_sym_BANG_TILDE] = ACTIONS(1552),
    [anon_sym_LT_EQ] = ACTIONS(1554),
    [anon_sym_GT] = ACTIONS(1554),
    [anon_sym_GT_EQ] = ACTIONS(1552),
    [anon_sym_CARET] = ACTIONS(1554),
    [anon_sym_PLUS] = ACTIONS(1554),
    [anon_sym_SLASH] = ACTIONS(1554),
    [anon_sym_PERCENT] = ACTIONS(1554),
    [sym_comment] = ACTIONS(256),
  },
  [2520] = {
    [anon_sym_RBRACE] = ACTIONS(7596),
    [sym_comment] = ACTIONS(110),
  },
  [2521] = {
    [sym__statements] = STATE(5363),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(841),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(7596),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2522] = {
    [anon_sym_RBRACE] = ACTIONS(7598),
    [sym_comment] = ACTIONS(110),
  },
  [2523] = {
    [sym_heredoc_end] = STATE(5365),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RBRACE] = ACTIONS(7598),
    [sym_comment] = ACTIONS(110),
  },
  [2524] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(5366),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(1139),
    [sym_call] = STATE(1139),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(1140),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1141),
    [sym__variable] = STATE(1139),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(1822),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_yield] = ACTIONS(1828),
    [anon_sym_break] = ACTIONS(1830),
    [anon_sym_next] = ACTIONS(1832),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(1834),
    [anon_sym_defined_QMARK] = ACTIONS(1836),
    [anon_sym_not] = ACTIONS(1838),
    [anon_sym_BANG] = ACTIONS(1840),
    [anon_sym_TILDE] = ACTIONS(1840),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [2525] = {
    [sym__simple_heredoc_body] = ACTIONS(1866),
    [sym__heredoc_body_beginning] = ACTIONS(1866),
    [sym__string_middle] = ACTIONS(1866),
    [sym__string_end] = ACTIONS(1866),
    [sym__element_reference_left_bracket] = ACTIONS(1866),
    [sym__scope_double_colon] = ACTIONS(1866),
    [sym__binary_minus] = ACTIONS(1866),
    [sym__binary_star] = ACTIONS(1866),
    [anon_sym_LBRACE] = ACTIONS(1866),
    [anon_sym_DOT] = ACTIONS(1868),
    [anon_sym_COMMA] = ACTIONS(1866),
    [anon_sym_PIPE] = ACTIONS(1868),
    [anon_sym_STAR_STAR] = ACTIONS(1868),
    [anon_sym_AMP] = ACTIONS(1868),
    [anon_sym_EQ] = ACTIONS(1868),
    [anon_sym_LT] = ACTIONS(1868),
    [anon_sym_if] = ACTIONS(1866),
    [anon_sym_unless] = ACTIONS(1866),
    [anon_sym_while] = ACTIONS(1866),
    [anon_sym_until] = ACTIONS(1866),
    [anon_sym_rescue] = ACTIONS(1866),
    [anon_sym_do] = ACTIONS(1866),
    [anon_sym_EQ_GT] = ACTIONS(1866),
    [anon_sym_AMP_DOT] = ACTIONS(1866),
    [anon_sym_PLUS_EQ] = ACTIONS(1866),
    [anon_sym_DASH_EQ] = ACTIONS(1866),
    [anon_sym_STAR_EQ] = ACTIONS(1866),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1866),
    [anon_sym_SLASH_EQ] = ACTIONS(1866),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1866),
    [anon_sym_PIPE_EQ] = ACTIONS(1866),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1866),
    [anon_sym_AMP_EQ] = ACTIONS(1866),
    [anon_sym_PERCENT_EQ] = ACTIONS(1866),
    [anon_sym_GT_GT_EQ] = ACTIONS(1866),
    [anon_sym_LT_LT_EQ] = ACTIONS(1866),
    [anon_sym_CARET_EQ] = ACTIONS(1866),
    [anon_sym_QMARK] = ACTIONS(1866),
    [anon_sym_DOT_DOT] = ACTIONS(1868),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1866),
    [anon_sym_and] = ACTIONS(1866),
    [anon_sym_or] = ACTIONS(1866),
    [anon_sym_PIPE_PIPE] = ACTIONS(1868),
    [anon_sym_AMP_AMP] = ACTIONS(1868),
    [anon_sym_LT_LT] = ACTIONS(1868),
    [anon_sym_GT_GT] = ACTIONS(1868),
    [anon_sym_EQ_EQ] = ACTIONS(1868),
    [anon_sym_BANG_EQ] = ACTIONS(1866),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1866),
    [anon_sym_LT_EQ_GT] = ACTIONS(1866),
    [anon_sym_EQ_TILDE] = ACTIONS(1866),
    [anon_sym_BANG_TILDE] = ACTIONS(1866),
    [anon_sym_LT_EQ] = ACTIONS(1868),
    [anon_sym_GT] = ACTIONS(1868),
    [anon_sym_GT_EQ] = ACTIONS(1866),
    [anon_sym_CARET] = ACTIONS(1868),
    [anon_sym_PLUS] = ACTIONS(1868),
    [anon_sym_SLASH] = ACTIONS(1868),
    [anon_sym_PERCENT] = ACTIONS(1868),
    [sym_comment] = ACTIONS(256),
  },
  [2526] = {
    [anon_sym_DOT] = ACTIONS(7600),
    [anon_sym_COLON_COLON] = ACTIONS(7600),
    [sym_comment] = ACTIONS(110),
  },
  [2527] = {
    [sym_method_parameters] = STATE(5368),
    [sym__simple_formal_parameter] = STATE(1150),
    [sym_splat_parameter] = STATE(1151),
    [sym_hash_splat_parameter] = STATE(1151),
    [sym_block_parameter] = STATE(1151),
    [sym_keyword_parameter] = STATE(1151),
    [sym_optional_parameter] = STATE(1151),
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(5368),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym__line_break] = ACTIONS(692),
    [anon_sym_LPAREN] = ACTIONS(1872),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(1874),
    [anon_sym_STAR_STAR] = ACTIONS(1876),
    [anon_sym_AMP] = ACTIONS(1878),
    [sym_identifier] = ACTIONS(1880),
    [sym_comment] = ACTIONS(110),
  },
  [2528] = {
    [sym__simple_heredoc_body] = ACTIONS(1882),
    [sym__heredoc_body_beginning] = ACTIONS(1882),
    [sym__string_middle] = ACTIONS(1882),
    [sym__string_end] = ACTIONS(1882),
    [sym__element_reference_left_bracket] = ACTIONS(1882),
    [sym__scope_double_colon] = ACTIONS(1882),
    [sym__binary_minus] = ACTIONS(1882),
    [sym__binary_star] = ACTIONS(1882),
    [anon_sym_LBRACE] = ACTIONS(1882),
    [anon_sym_DOT] = ACTIONS(1884),
    [anon_sym_COMMA] = ACTIONS(1882),
    [anon_sym_PIPE] = ACTIONS(1884),
    [anon_sym_STAR_STAR] = ACTIONS(1884),
    [anon_sym_AMP] = ACTIONS(1884),
    [anon_sym_EQ] = ACTIONS(1884),
    [anon_sym_LT] = ACTIONS(1884),
    [anon_sym_if] = ACTIONS(1882),
    [anon_sym_unless] = ACTIONS(1882),
    [anon_sym_while] = ACTIONS(1882),
    [anon_sym_until] = ACTIONS(1882),
    [anon_sym_rescue] = ACTIONS(1882),
    [anon_sym_do] = ACTIONS(1882),
    [anon_sym_EQ_GT] = ACTIONS(1882),
    [anon_sym_AMP_DOT] = ACTIONS(1882),
    [anon_sym_PLUS_EQ] = ACTIONS(1882),
    [anon_sym_DASH_EQ] = ACTIONS(1882),
    [anon_sym_STAR_EQ] = ACTIONS(1882),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1882),
    [anon_sym_SLASH_EQ] = ACTIONS(1882),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1882),
    [anon_sym_PIPE_EQ] = ACTIONS(1882),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1882),
    [anon_sym_AMP_EQ] = ACTIONS(1882),
    [anon_sym_PERCENT_EQ] = ACTIONS(1882),
    [anon_sym_GT_GT_EQ] = ACTIONS(1882),
    [anon_sym_LT_LT_EQ] = ACTIONS(1882),
    [anon_sym_CARET_EQ] = ACTIONS(1882),
    [anon_sym_QMARK] = ACTIONS(1882),
    [anon_sym_DOT_DOT] = ACTIONS(1884),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1882),
    [anon_sym_and] = ACTIONS(1882),
    [anon_sym_or] = ACTIONS(1882),
    [anon_sym_PIPE_PIPE] = ACTIONS(1884),
    [anon_sym_AMP_AMP] = ACTIONS(1884),
    [anon_sym_LT_LT] = ACTIONS(1884),
    [anon_sym_GT_GT] = ACTIONS(1884),
    [anon_sym_EQ_EQ] = ACTIONS(1884),
    [anon_sym_BANG_EQ] = ACTIONS(1882),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1882),
    [anon_sym_LT_EQ_GT] = ACTIONS(1882),
    [anon_sym_EQ_TILDE] = ACTIONS(1882),
    [anon_sym_BANG_TILDE] = ACTIONS(1882),
    [anon_sym_LT_EQ] = ACTIONS(1884),
    [anon_sym_GT] = ACTIONS(1884),
    [anon_sym_GT_EQ] = ACTIONS(1882),
    [anon_sym_CARET] = ACTIONS(1884),
    [anon_sym_PLUS] = ACTIONS(1884),
    [anon_sym_SLASH] = ACTIONS(1884),
    [anon_sym_PERCENT] = ACTIONS(1884),
    [sym_comment] = ACTIONS(256),
  },
  [2529] = {
    [anon_sym_RPAREN] = ACTIONS(7602),
    [sym_comment] = ACTIONS(110),
  },
  [2530] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__string_middle] = ACTIONS(4284),
    [sym__string_end] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(7560),
    [sym__binary_star] = ACTIONS(7562),
    [anon_sym_LBRACE] = ACTIONS(4284),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(7564),
    [anon_sym_STAR_STAR] = ACTIONS(7566),
    [anon_sym_AMP] = ACTIONS(7568),
    [anon_sym_EQ] = ACTIONS(5432),
    [anon_sym_LT] = ACTIONS(7570),
    [anon_sym_if] = ACTIONS(4284),
    [anon_sym_unless] = ACTIONS(4284),
    [anon_sym_while] = ACTIONS(4284),
    [anon_sym_until] = ACTIONS(4284),
    [anon_sym_rescue] = ACTIONS(4284),
    [anon_sym_do] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_PLUS_EQ] = ACTIONS(4284),
    [anon_sym_DASH_EQ] = ACTIONS(4284),
    [anon_sym_STAR_EQ] = ACTIONS(4284),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(4284),
    [anon_sym_SLASH_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(4284),
    [anon_sym_AMP_EQ] = ACTIONS(4284),
    [anon_sym_PERCENT_EQ] = ACTIONS(4284),
    [anon_sym_GT_GT_EQ] = ACTIONS(4284),
    [anon_sym_LT_LT_EQ] = ACTIONS(4284),
    [anon_sym_CARET_EQ] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(7572),
    [anon_sym_DOT_DOT] = ACTIONS(7574),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7576),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(7578),
    [anon_sym_AMP_AMP] = ACTIONS(7578),
    [anon_sym_LT_LT] = ACTIONS(7580),
    [anon_sym_GT_GT] = ACTIONS(7580),
    [anon_sym_EQ_EQ] = ACTIONS(7578),
    [anon_sym_BANG_EQ] = ACTIONS(7582),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7582),
    [anon_sym_LT_EQ_GT] = ACTIONS(7582),
    [anon_sym_EQ_TILDE] = ACTIONS(7582),
    [anon_sym_BANG_TILDE] = ACTIONS(7582),
    [anon_sym_LT_EQ] = ACTIONS(7570),
    [anon_sym_GT] = ACTIONS(7570),
    [anon_sym_GT_EQ] = ACTIONS(7584),
    [anon_sym_CARET] = ACTIONS(7564),
    [anon_sym_PLUS] = ACTIONS(7586),
    [anon_sym_SLASH] = ACTIONS(7566),
    [anon_sym_PERCENT] = ACTIONS(7566),
    [sym_comment] = ACTIONS(256),
  },
  [2531] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(5370),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1329),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1330),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2090),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2100),
    [anon_sym_defined_QMARK] = ACTIONS(2102),
    [anon_sym_not] = ACTIONS(2104),
    [anon_sym_BANG] = ACTIONS(2106),
    [anon_sym_TILDE] = ACTIONS(2106),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2532] = {
    [sym_superclass] = STATE(5371),
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(5372),
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__unary_minus] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(722),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(722),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(2110),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(722),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [2533] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_superclass] = STATE(5371),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1349),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1310),
    [sym__argument_list_with_parens] = STATE(1264),
    [sym__argument] = STATE(1350),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_do_block] = STATE(1312),
    [sym_block] = STATE(1312),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1353),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1354),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__terminator] = STATE(5372),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(2114),
    [sym__splat_star] = ACTIONS(2116),
    [sym__argument_list_left_paren] = ACTIONS(2034),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(2064),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(980),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2120),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(2110),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(2076),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2138),
    [sym_identifier] = ACTIONS(2138),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2534] = {
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(5374),
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__unary_minus] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(722),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(7604),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(722),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(722),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [2535] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1349),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1310),
    [sym__argument_list_with_parens] = STATE(1264),
    [sym__argument] = STATE(1350),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_do_block] = STATE(1312),
    [sym_block] = STATE(1312),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1353),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1354),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__terminator] = STATE(5374),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(2114),
    [sym__splat_star] = ACTIONS(2116),
    [sym__argument_list_left_paren] = ACTIONS(2034),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(2064),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(980),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(7606),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2120),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(2076),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2138),
    [sym_identifier] = ACTIONS(2138),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2536] = {
    [sym__simple_heredoc_body] = ACTIONS(2264),
    [sym__heredoc_body_beginning] = ACTIONS(2264),
    [sym__string_middle] = ACTIONS(2264),
    [sym__string_end] = ACTIONS(2264),
    [sym__element_reference_left_bracket] = ACTIONS(2264),
    [sym__scope_double_colon] = ACTIONS(2264),
    [sym__binary_minus] = ACTIONS(2264),
    [sym__binary_star] = ACTIONS(2264),
    [anon_sym_LBRACE] = ACTIONS(2264),
    [anon_sym_DOT] = ACTIONS(2266),
    [anon_sym_COMMA] = ACTIONS(2264),
    [anon_sym_PIPE] = ACTIONS(2266),
    [anon_sym_STAR_STAR] = ACTIONS(2266),
    [anon_sym_AMP] = ACTIONS(2266),
    [anon_sym_EQ] = ACTIONS(2266),
    [anon_sym_LT] = ACTIONS(2266),
    [anon_sym_if] = ACTIONS(2264),
    [anon_sym_unless] = ACTIONS(2264),
    [anon_sym_while] = ACTIONS(2264),
    [anon_sym_until] = ACTIONS(2264),
    [anon_sym_rescue] = ACTIONS(2264),
    [anon_sym_do] = ACTIONS(2264),
    [anon_sym_EQ_GT] = ACTIONS(2264),
    [anon_sym_AMP_DOT] = ACTIONS(2264),
    [anon_sym_PLUS_EQ] = ACTIONS(2264),
    [anon_sym_DASH_EQ] = ACTIONS(2264),
    [anon_sym_STAR_EQ] = ACTIONS(2264),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2264),
    [anon_sym_SLASH_EQ] = ACTIONS(2264),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2264),
    [anon_sym_PIPE_EQ] = ACTIONS(2264),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2264),
    [anon_sym_AMP_EQ] = ACTIONS(2264),
    [anon_sym_PERCENT_EQ] = ACTIONS(2264),
    [anon_sym_GT_GT_EQ] = ACTIONS(2264),
    [anon_sym_LT_LT_EQ] = ACTIONS(2264),
    [anon_sym_CARET_EQ] = ACTIONS(2264),
    [anon_sym_QMARK] = ACTIONS(2264),
    [anon_sym_DOT_DOT] = ACTIONS(2266),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2264),
    [anon_sym_and] = ACTIONS(2264),
    [anon_sym_or] = ACTIONS(2264),
    [anon_sym_PIPE_PIPE] = ACTIONS(2266),
    [anon_sym_AMP_AMP] = ACTIONS(2266),
    [anon_sym_LT_LT] = ACTIONS(2266),
    [anon_sym_GT_GT] = ACTIONS(2266),
    [anon_sym_EQ_EQ] = ACTIONS(2266),
    [anon_sym_BANG_EQ] = ACTIONS(2264),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2264),
    [anon_sym_LT_EQ_GT] = ACTIONS(2264),
    [anon_sym_EQ_TILDE] = ACTIONS(2264),
    [anon_sym_BANG_TILDE] = ACTIONS(2264),
    [anon_sym_LT_EQ] = ACTIONS(2266),
    [anon_sym_GT] = ACTIONS(2266),
    [anon_sym_GT_EQ] = ACTIONS(2264),
    [anon_sym_CARET] = ACTIONS(2266),
    [anon_sym_PLUS] = ACTIONS(2266),
    [anon_sym_SLASH] = ACTIONS(2266),
    [anon_sym_PERCENT] = ACTIONS(2266),
    [sym_comment] = ACTIONS(256),
  },
  [2537] = {
    [sym__simple_heredoc_body] = ACTIONS(2286),
    [sym__heredoc_body_beginning] = ACTIONS(2286),
    [sym__string_middle] = ACTIONS(2286),
    [sym__string_end] = ACTIONS(2286),
    [sym__element_reference_left_bracket] = ACTIONS(2286),
    [sym__scope_double_colon] = ACTIONS(2286),
    [sym__binary_minus] = ACTIONS(2286),
    [sym__binary_star] = ACTIONS(2286),
    [anon_sym_LBRACE] = ACTIONS(2286),
    [anon_sym_DOT] = ACTIONS(2288),
    [anon_sym_COMMA] = ACTIONS(2286),
    [anon_sym_PIPE] = ACTIONS(2288),
    [anon_sym_STAR_STAR] = ACTIONS(2288),
    [anon_sym_AMP] = ACTIONS(2288),
    [anon_sym_EQ] = ACTIONS(2288),
    [anon_sym_LT] = ACTIONS(2288),
    [anon_sym_if] = ACTIONS(2286),
    [anon_sym_unless] = ACTIONS(2286),
    [anon_sym_while] = ACTIONS(2286),
    [anon_sym_until] = ACTIONS(2286),
    [anon_sym_rescue] = ACTIONS(2286),
    [anon_sym_do] = ACTIONS(2286),
    [anon_sym_EQ_GT] = ACTIONS(2286),
    [anon_sym_AMP_DOT] = ACTIONS(2286),
    [anon_sym_PLUS_EQ] = ACTIONS(2286),
    [anon_sym_DASH_EQ] = ACTIONS(2286),
    [anon_sym_STAR_EQ] = ACTIONS(2286),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2286),
    [anon_sym_SLASH_EQ] = ACTIONS(2286),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2286),
    [anon_sym_PIPE_EQ] = ACTIONS(2286),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2286),
    [anon_sym_AMP_EQ] = ACTIONS(2286),
    [anon_sym_PERCENT_EQ] = ACTIONS(2286),
    [anon_sym_GT_GT_EQ] = ACTIONS(2286),
    [anon_sym_LT_LT_EQ] = ACTIONS(2286),
    [anon_sym_CARET_EQ] = ACTIONS(2286),
    [anon_sym_QMARK] = ACTIONS(2286),
    [anon_sym_DOT_DOT] = ACTIONS(2288),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2286),
    [anon_sym_and] = ACTIONS(2286),
    [anon_sym_or] = ACTIONS(2286),
    [anon_sym_PIPE_PIPE] = ACTIONS(2288),
    [anon_sym_AMP_AMP] = ACTIONS(2288),
    [anon_sym_LT_LT] = ACTIONS(2288),
    [anon_sym_GT_GT] = ACTIONS(2288),
    [anon_sym_EQ_EQ] = ACTIONS(2288),
    [anon_sym_BANG_EQ] = ACTIONS(2286),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2286),
    [anon_sym_LT_EQ_GT] = ACTIONS(2286),
    [anon_sym_EQ_TILDE] = ACTIONS(2286),
    [anon_sym_BANG_TILDE] = ACTIONS(2286),
    [anon_sym_LT_EQ] = ACTIONS(2288),
    [anon_sym_GT] = ACTIONS(2288),
    [anon_sym_GT_EQ] = ACTIONS(2286),
    [anon_sym_CARET] = ACTIONS(2288),
    [anon_sym_PLUS] = ACTIONS(2288),
    [anon_sym_SLASH] = ACTIONS(2288),
    [anon_sym_PERCENT] = ACTIONS(2288),
    [sym_comment] = ACTIONS(256),
  },
  [2538] = {
    [sym__simple_heredoc_body] = ACTIONS(2290),
    [sym__heredoc_body_beginning] = ACTIONS(2290),
    [sym__string_middle] = ACTIONS(2290),
    [sym__string_end] = ACTIONS(2290),
    [sym__element_reference_left_bracket] = ACTIONS(2290),
    [sym__scope_double_colon] = ACTIONS(2290),
    [sym__binary_minus] = ACTIONS(2290),
    [sym__binary_star] = ACTIONS(2290),
    [anon_sym_LBRACE] = ACTIONS(2290),
    [anon_sym_DOT] = ACTIONS(2292),
    [anon_sym_COMMA] = ACTIONS(2290),
    [anon_sym_PIPE] = ACTIONS(2292),
    [anon_sym_STAR_STAR] = ACTIONS(2292),
    [anon_sym_AMP] = ACTIONS(2292),
    [anon_sym_EQ] = ACTIONS(2292),
    [anon_sym_LT] = ACTIONS(2292),
    [anon_sym_if] = ACTIONS(2290),
    [anon_sym_unless] = ACTIONS(2290),
    [anon_sym_while] = ACTIONS(2290),
    [anon_sym_until] = ACTIONS(2290),
    [anon_sym_rescue] = ACTIONS(2290),
    [anon_sym_do] = ACTIONS(2290),
    [anon_sym_EQ_GT] = ACTIONS(2290),
    [anon_sym_AMP_DOT] = ACTIONS(2290),
    [anon_sym_PLUS_EQ] = ACTIONS(2290),
    [anon_sym_DASH_EQ] = ACTIONS(2290),
    [anon_sym_STAR_EQ] = ACTIONS(2290),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2290),
    [anon_sym_SLASH_EQ] = ACTIONS(2290),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2290),
    [anon_sym_PIPE_EQ] = ACTIONS(2290),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2290),
    [anon_sym_AMP_EQ] = ACTIONS(2290),
    [anon_sym_PERCENT_EQ] = ACTIONS(2290),
    [anon_sym_GT_GT_EQ] = ACTIONS(2290),
    [anon_sym_LT_LT_EQ] = ACTIONS(2290),
    [anon_sym_CARET_EQ] = ACTIONS(2290),
    [anon_sym_QMARK] = ACTIONS(2290),
    [anon_sym_DOT_DOT] = ACTIONS(2292),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2290),
    [anon_sym_and] = ACTIONS(2290),
    [anon_sym_or] = ACTIONS(2290),
    [anon_sym_PIPE_PIPE] = ACTIONS(2292),
    [anon_sym_AMP_AMP] = ACTIONS(2292),
    [anon_sym_LT_LT] = ACTIONS(2292),
    [anon_sym_GT_GT] = ACTIONS(2292),
    [anon_sym_EQ_EQ] = ACTIONS(2292),
    [anon_sym_BANG_EQ] = ACTIONS(2290),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2290),
    [anon_sym_LT_EQ_GT] = ACTIONS(2290),
    [anon_sym_EQ_TILDE] = ACTIONS(2290),
    [anon_sym_BANG_TILDE] = ACTIONS(2290),
    [anon_sym_LT_EQ] = ACTIONS(2292),
    [anon_sym_GT] = ACTIONS(2292),
    [anon_sym_GT_EQ] = ACTIONS(2290),
    [anon_sym_CARET] = ACTIONS(2292),
    [anon_sym_PLUS] = ACTIONS(2292),
    [anon_sym_SLASH] = ACTIONS(2292),
    [anon_sym_PERCENT] = ACTIONS(2292),
    [sym_comment] = ACTIONS(256),
  },
  [2539] = {
    [sym__simple_heredoc_body] = ACTIONS(2294),
    [sym__heredoc_body_beginning] = ACTIONS(2294),
    [sym__string_middle] = ACTIONS(2294),
    [sym__string_end] = ACTIONS(2294),
    [sym__element_reference_left_bracket] = ACTIONS(2294),
    [sym__scope_double_colon] = ACTIONS(2294),
    [sym__binary_minus] = ACTIONS(2294),
    [sym__binary_star] = ACTIONS(2294),
    [anon_sym_LBRACE] = ACTIONS(2294),
    [anon_sym_DOT] = ACTIONS(2296),
    [anon_sym_COMMA] = ACTIONS(2294),
    [anon_sym_PIPE] = ACTIONS(2296),
    [anon_sym_STAR_STAR] = ACTIONS(2296),
    [anon_sym_AMP] = ACTIONS(2296),
    [anon_sym_EQ] = ACTIONS(2296),
    [anon_sym_LT] = ACTIONS(2296),
    [anon_sym_if] = ACTIONS(2294),
    [anon_sym_unless] = ACTIONS(2294),
    [anon_sym_while] = ACTIONS(2294),
    [anon_sym_until] = ACTIONS(2294),
    [anon_sym_rescue] = ACTIONS(2294),
    [anon_sym_do] = ACTIONS(2294),
    [anon_sym_EQ_GT] = ACTIONS(2294),
    [anon_sym_AMP_DOT] = ACTIONS(2294),
    [anon_sym_PLUS_EQ] = ACTIONS(2294),
    [anon_sym_DASH_EQ] = ACTIONS(2294),
    [anon_sym_STAR_EQ] = ACTIONS(2294),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2294),
    [anon_sym_SLASH_EQ] = ACTIONS(2294),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2294),
    [anon_sym_PIPE_EQ] = ACTIONS(2294),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2294),
    [anon_sym_AMP_EQ] = ACTIONS(2294),
    [anon_sym_PERCENT_EQ] = ACTIONS(2294),
    [anon_sym_GT_GT_EQ] = ACTIONS(2294),
    [anon_sym_LT_LT_EQ] = ACTIONS(2294),
    [anon_sym_CARET_EQ] = ACTIONS(2294),
    [anon_sym_QMARK] = ACTIONS(2294),
    [anon_sym_DOT_DOT] = ACTIONS(2296),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2294),
    [anon_sym_and] = ACTIONS(2294),
    [anon_sym_or] = ACTIONS(2294),
    [anon_sym_PIPE_PIPE] = ACTIONS(2296),
    [anon_sym_AMP_AMP] = ACTIONS(2296),
    [anon_sym_LT_LT] = ACTIONS(2296),
    [anon_sym_GT_GT] = ACTIONS(2296),
    [anon_sym_EQ_EQ] = ACTIONS(2296),
    [anon_sym_BANG_EQ] = ACTIONS(2294),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2294),
    [anon_sym_LT_EQ_GT] = ACTIONS(2294),
    [anon_sym_EQ_TILDE] = ACTIONS(2294),
    [anon_sym_BANG_TILDE] = ACTIONS(2294),
    [anon_sym_LT_EQ] = ACTIONS(2296),
    [anon_sym_GT] = ACTIONS(2296),
    [anon_sym_GT_EQ] = ACTIONS(2294),
    [anon_sym_CARET] = ACTIONS(2296),
    [anon_sym_PLUS] = ACTIONS(2296),
    [anon_sym_SLASH] = ACTIONS(2296),
    [anon_sym_PERCENT] = ACTIONS(2296),
    [sym_comment] = ACTIONS(256),
  },
  [2540] = {
    [sym__then] = STATE(5376),
    [sym_heredoc_end] = STATE(1476),
    [sym__terminator] = STATE(1484),
    [sym__simple_heredoc_body] = ACTIONS(2322),
    [sym__heredoc_body_beginning] = ACTIONS(2324),
    [sym__line_break] = ACTIONS(2326),
    [anon_sym_SEMI] = ACTIONS(2326),
    [anon_sym_if] = ACTIONS(2328),
    [anon_sym_unless] = ACTIONS(2330),
    [anon_sym_while] = ACTIONS(2332),
    [anon_sym_until] = ACTIONS(2334),
    [anon_sym_rescue] = ACTIONS(2336),
    [anon_sym_then] = ACTIONS(2338),
    [sym_comment] = ACTIONS(110),
  },
  [2541] = {
    [sym__then] = STATE(5377),
    [sym_heredoc_end] = STATE(1521),
    [sym__terminator] = STATE(1524),
    [sym__simple_heredoc_body] = ACTIONS(2402),
    [sym__heredoc_body_beginning] = ACTIONS(2404),
    [sym__line_break] = ACTIONS(2406),
    [anon_sym_SEMI] = ACTIONS(2406),
    [anon_sym_if] = ACTIONS(2328),
    [anon_sym_unless] = ACTIONS(2330),
    [anon_sym_while] = ACTIONS(2332),
    [anon_sym_until] = ACTIONS(2334),
    [anon_sym_rescue] = ACTIONS(2336),
    [anon_sym_then] = ACTIONS(2408),
    [sym_comment] = ACTIONS(110),
  },
  [2542] = {
    [sym__do] = STATE(5378),
    [sym_heredoc_end] = STATE(1550),
    [sym__terminator] = STATE(1557),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym__line_break] = ACTIONS(2446),
    [sym__binary_minus] = ACTIONS(2448),
    [sym__binary_star] = ACTIONS(2450),
    [anon_sym_PIPE] = ACTIONS(2452),
    [anon_sym_SEMI] = ACTIONS(2446),
    [anon_sym_STAR_STAR] = ACTIONS(2454),
    [anon_sym_AMP] = ACTIONS(2456),
    [anon_sym_LT] = ACTIONS(2458),
    [anon_sym_do] = ACTIONS(2460),
    [anon_sym_QMARK] = ACTIONS(2462),
    [anon_sym_DOT_DOT] = ACTIONS(2464),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2466),
    [anon_sym_and] = ACTIONS(2468),
    [anon_sym_or] = ACTIONS(2468),
    [anon_sym_PIPE_PIPE] = ACTIONS(2470),
    [anon_sym_AMP_AMP] = ACTIONS(2470),
    [anon_sym_LT_LT] = ACTIONS(2472),
    [anon_sym_GT_GT] = ACTIONS(2472),
    [anon_sym_EQ_EQ] = ACTIONS(2474),
    [anon_sym_BANG_EQ] = ACTIONS(2470),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2470),
    [anon_sym_LT_EQ_GT] = ACTIONS(2470),
    [anon_sym_EQ_TILDE] = ACTIONS(2470),
    [anon_sym_BANG_TILDE] = ACTIONS(2470),
    [anon_sym_LT_EQ] = ACTIONS(2458),
    [anon_sym_GT] = ACTIONS(2458),
    [anon_sym_GT_EQ] = ACTIONS(2476),
    [anon_sym_CARET] = ACTIONS(2478),
    [anon_sym_PLUS] = ACTIONS(2480),
    [anon_sym_SLASH] = ACTIONS(2454),
    [anon_sym_PERCENT] = ACTIONS(2454),
    [sym_comment] = ACTIONS(110),
  },
  [2543] = {
    [sym__do] = STATE(5379),
    [sym_heredoc_end] = STATE(1550),
    [sym__terminator] = STATE(1557),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym__line_break] = ACTIONS(2446),
    [sym__binary_minus] = ACTIONS(2448),
    [sym__binary_star] = ACTIONS(2450),
    [anon_sym_PIPE] = ACTIONS(2452),
    [anon_sym_SEMI] = ACTIONS(2446),
    [anon_sym_STAR_STAR] = ACTIONS(2454),
    [anon_sym_AMP] = ACTIONS(2456),
    [anon_sym_LT] = ACTIONS(2458),
    [anon_sym_do] = ACTIONS(2460),
    [anon_sym_QMARK] = ACTIONS(2462),
    [anon_sym_DOT_DOT] = ACTIONS(2464),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2466),
    [anon_sym_and] = ACTIONS(2468),
    [anon_sym_or] = ACTIONS(2468),
    [anon_sym_PIPE_PIPE] = ACTIONS(2470),
    [anon_sym_AMP_AMP] = ACTIONS(2470),
    [anon_sym_LT_LT] = ACTIONS(2472),
    [anon_sym_GT_GT] = ACTIONS(2472),
    [anon_sym_EQ_EQ] = ACTIONS(2474),
    [anon_sym_BANG_EQ] = ACTIONS(2470),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2470),
    [anon_sym_LT_EQ_GT] = ACTIONS(2470),
    [anon_sym_EQ_TILDE] = ACTIONS(2470),
    [anon_sym_BANG_TILDE] = ACTIONS(2470),
    [anon_sym_LT_EQ] = ACTIONS(2458),
    [anon_sym_GT] = ACTIONS(2458),
    [anon_sym_GT_EQ] = ACTIONS(2476),
    [anon_sym_CARET] = ACTIONS(2478),
    [anon_sym_PLUS] = ACTIONS(2480),
    [anon_sym_SLASH] = ACTIONS(2454),
    [anon_sym_PERCENT] = ACTIONS(2454),
    [sym_comment] = ACTIONS(110),
  },
  [2544] = {
    [sym_in] = STATE(5380),
    [anon_sym_in] = ACTIONS(2548),
    [sym_comment] = ACTIONS(110),
  },
  [2545] = {
    [sym__string_middle] = ACTIONS(6942),
    [sym__string_end] = ACTIONS(6942),
    [sym__element_reference_left_bracket] = ACTIONS(6942),
    [sym__scope_double_colon] = ACTIONS(6942),
    [sym__binary_minus] = ACTIONS(6942),
    [sym__binary_star] = ACTIONS(6942),
    [anon_sym_DOT] = ACTIONS(6944),
    [anon_sym_COMMA] = ACTIONS(6942),
    [anon_sym_PIPE] = ACTIONS(6944),
    [anon_sym_STAR_STAR] = ACTIONS(6944),
    [anon_sym_AMP] = ACTIONS(6944),
    [anon_sym_EQ] = ACTIONS(6944),
    [anon_sym_LT] = ACTIONS(6944),
    [anon_sym_if] = ACTIONS(6942),
    [anon_sym_unless] = ACTIONS(6942),
    [anon_sym_while] = ACTIONS(6942),
    [anon_sym_until] = ACTIONS(6942),
    [anon_sym_rescue] = ACTIONS(6942),
    [anon_sym_AMP_DOT] = ACTIONS(6942),
    [anon_sym_PLUS_EQ] = ACTIONS(6942),
    [anon_sym_DASH_EQ] = ACTIONS(6942),
    [anon_sym_STAR_EQ] = ACTIONS(6942),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6942),
    [anon_sym_SLASH_EQ] = ACTIONS(6942),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6942),
    [anon_sym_PIPE_EQ] = ACTIONS(6942),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6942),
    [anon_sym_AMP_EQ] = ACTIONS(6942),
    [anon_sym_PERCENT_EQ] = ACTIONS(6942),
    [anon_sym_GT_GT_EQ] = ACTIONS(6942),
    [anon_sym_LT_LT_EQ] = ACTIONS(6942),
    [anon_sym_CARET_EQ] = ACTIONS(6942),
    [anon_sym_QMARK] = ACTIONS(6942),
    [anon_sym_DOT_DOT] = ACTIONS(6944),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6942),
    [anon_sym_and] = ACTIONS(6942),
    [anon_sym_or] = ACTIONS(6942),
    [anon_sym_PIPE_PIPE] = ACTIONS(6944),
    [anon_sym_AMP_AMP] = ACTIONS(6944),
    [anon_sym_LT_LT] = ACTIONS(6944),
    [anon_sym_GT_GT] = ACTIONS(6944),
    [anon_sym_EQ_EQ] = ACTIONS(6944),
    [anon_sym_BANG_EQ] = ACTIONS(6942),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6942),
    [anon_sym_LT_EQ_GT] = ACTIONS(6942),
    [anon_sym_EQ_TILDE] = ACTIONS(6942),
    [anon_sym_BANG_TILDE] = ACTIONS(6942),
    [anon_sym_LT_EQ] = ACTIONS(6944),
    [anon_sym_GT] = ACTIONS(6944),
    [anon_sym_GT_EQ] = ACTIONS(6942),
    [anon_sym_CARET] = ACTIONS(6944),
    [anon_sym_PLUS] = ACTIONS(6944),
    [anon_sym_SLASH] = ACTIONS(6944),
    [anon_sym_PERCENT] = ACTIONS(6944),
    [sym_comment] = ACTIONS(256),
  },
  [2546] = {
    [anon_sym_end] = ACTIONS(7608),
    [sym_comment] = ACTIONS(110),
  },
  [2547] = {
    [sym__statements] = STATE(5382),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(5383),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(7610),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2548] = {
    [sym__statements] = STATE(5382),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(5384),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(5383),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(7610),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2549] = {
    [anon_sym_end] = ACTIONS(7612),
    [sym_comment] = ACTIONS(110),
  },
  [2550] = {
    [sym_when] = STATE(5386),
    [sym_heredoc_end] = STATE(387),
    [sym__terminator] = STATE(402),
    [aux_sym_case_repeat1] = STATE(5387),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym__line_break] = ACTIONS(666),
    [sym__binary_minus] = ACTIONS(2600),
    [sym__binary_star] = ACTIONS(2602),
    [anon_sym_PIPE] = ACTIONS(2604),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_STAR_STAR] = ACTIONS(2606),
    [anon_sym_AMP] = ACTIONS(2608),
    [anon_sym_LT] = ACTIONS(2610),
    [anon_sym_when] = ACTIONS(2612),
    [anon_sym_QMARK] = ACTIONS(2614),
    [anon_sym_DOT_DOT] = ACTIONS(2616),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2618),
    [anon_sym_and] = ACTIONS(2620),
    [anon_sym_or] = ACTIONS(2620),
    [anon_sym_PIPE_PIPE] = ACTIONS(2622),
    [anon_sym_AMP_AMP] = ACTIONS(2622),
    [anon_sym_LT_LT] = ACTIONS(2624),
    [anon_sym_GT_GT] = ACTIONS(2624),
    [anon_sym_EQ_EQ] = ACTIONS(2626),
    [anon_sym_BANG_EQ] = ACTIONS(2622),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2622),
    [anon_sym_LT_EQ_GT] = ACTIONS(2622),
    [anon_sym_EQ_TILDE] = ACTIONS(2622),
    [anon_sym_BANG_TILDE] = ACTIONS(2622),
    [anon_sym_LT_EQ] = ACTIONS(2610),
    [anon_sym_GT] = ACTIONS(2610),
    [anon_sym_GT_EQ] = ACTIONS(2628),
    [anon_sym_CARET] = ACTIONS(2630),
    [anon_sym_PLUS] = ACTIONS(2632),
    [anon_sym_SLASH] = ACTIONS(2606),
    [anon_sym_PERCENT] = ACTIONS(2606),
    [sym_comment] = ACTIONS(110),
  },
  [2551] = {
    [sym_when] = STATE(5386),
    [sym_heredoc_end] = STATE(387),
    [sym__terminator] = STATE(1688),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym__line_break] = ACTIONS(666),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_when] = ACTIONS(2612),
    [sym_comment] = ACTIONS(110),
  },
  [2552] = {
    [sym__simple_heredoc_body] = ACTIONS(2674),
    [sym__heredoc_body_beginning] = ACTIONS(2674),
    [sym__string_middle] = ACTIONS(2674),
    [sym__string_end] = ACTIONS(2674),
    [sym__element_reference_left_bracket] = ACTIONS(2674),
    [sym__scope_double_colon] = ACTIONS(2674),
    [sym__binary_minus] = ACTIONS(2674),
    [sym__binary_star] = ACTIONS(2674),
    [anon_sym_LBRACE] = ACTIONS(2674),
    [anon_sym_DOT] = ACTIONS(2676),
    [anon_sym_COMMA] = ACTIONS(2674),
    [anon_sym_PIPE] = ACTIONS(2676),
    [anon_sym_STAR_STAR] = ACTIONS(2676),
    [anon_sym_AMP] = ACTIONS(2676),
    [anon_sym_EQ] = ACTIONS(2676),
    [anon_sym_LT] = ACTIONS(2676),
    [anon_sym_if] = ACTIONS(2674),
    [anon_sym_unless] = ACTIONS(2674),
    [anon_sym_while] = ACTIONS(2674),
    [anon_sym_until] = ACTIONS(2674),
    [anon_sym_rescue] = ACTIONS(2674),
    [anon_sym_do] = ACTIONS(2674),
    [anon_sym_EQ_GT] = ACTIONS(2674),
    [anon_sym_AMP_DOT] = ACTIONS(2674),
    [anon_sym_PLUS_EQ] = ACTIONS(2674),
    [anon_sym_DASH_EQ] = ACTIONS(2674),
    [anon_sym_STAR_EQ] = ACTIONS(2674),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2674),
    [anon_sym_SLASH_EQ] = ACTIONS(2674),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2674),
    [anon_sym_PIPE_EQ] = ACTIONS(2674),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2674),
    [anon_sym_AMP_EQ] = ACTIONS(2674),
    [anon_sym_PERCENT_EQ] = ACTIONS(2674),
    [anon_sym_GT_GT_EQ] = ACTIONS(2674),
    [anon_sym_LT_LT_EQ] = ACTIONS(2674),
    [anon_sym_CARET_EQ] = ACTIONS(2674),
    [anon_sym_QMARK] = ACTIONS(2674),
    [anon_sym_DOT_DOT] = ACTIONS(2676),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2674),
    [anon_sym_and] = ACTIONS(2674),
    [anon_sym_or] = ACTIONS(2674),
    [anon_sym_PIPE_PIPE] = ACTIONS(2676),
    [anon_sym_AMP_AMP] = ACTIONS(2676),
    [anon_sym_LT_LT] = ACTIONS(2676),
    [anon_sym_GT_GT] = ACTIONS(2676),
    [anon_sym_EQ_EQ] = ACTIONS(2676),
    [anon_sym_BANG_EQ] = ACTIONS(2674),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2674),
    [anon_sym_LT_EQ_GT] = ACTIONS(2674),
    [anon_sym_EQ_TILDE] = ACTIONS(2674),
    [anon_sym_BANG_TILDE] = ACTIONS(2674),
    [anon_sym_LT_EQ] = ACTIONS(2676),
    [anon_sym_GT] = ACTIONS(2676),
    [anon_sym_GT_EQ] = ACTIONS(2674),
    [anon_sym_CARET] = ACTIONS(2676),
    [anon_sym_PLUS] = ACTIONS(2676),
    [anon_sym_SLASH] = ACTIONS(2676),
    [anon_sym_PERCENT] = ACTIONS(2676),
    [sym_comment] = ACTIONS(256),
  },
  [2553] = {
    [anon_sym_end] = ACTIONS(7614),
    [sym_comment] = ACTIONS(110),
  },
  [2554] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(5389),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(7616),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2555] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__string_middle] = ACTIONS(2870),
    [sym__string_end] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(3788),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2872),
    [anon_sym_AMP_AMP] = ACTIONS(2872),
    [anon_sym_LT_LT] = ACTIONS(2872),
    [anon_sym_GT_GT] = ACTIONS(2872),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2872),
    [anon_sym_PLUS] = ACTIONS(2872),
    [anon_sym_SLASH] = ACTIONS(2872),
    [anon_sym_PERCENT] = ACTIONS(2872),
    [sym_comment] = ACTIONS(256),
  },
  [2556] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__string_middle] = ACTIONS(2870),
    [sym__string_end] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(3782),
    [sym__binary_star] = ACTIONS(3784),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(3786),
    [anon_sym_STAR_STAR] = ACTIONS(3788),
    [anon_sym_AMP] = ACTIONS(3790),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(3792),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(3794),
    [anon_sym_DOT_DOT] = ACTIONS(3796),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3798),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(3800),
    [anon_sym_AMP_AMP] = ACTIONS(3800),
    [anon_sym_LT_LT] = ACTIONS(3802),
    [anon_sym_GT_GT] = ACTIONS(3802),
    [anon_sym_EQ_EQ] = ACTIONS(3800),
    [anon_sym_BANG_EQ] = ACTIONS(3804),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3804),
    [anon_sym_LT_EQ_GT] = ACTIONS(3804),
    [anon_sym_EQ_TILDE] = ACTIONS(3804),
    [anon_sym_BANG_TILDE] = ACTIONS(3804),
    [anon_sym_LT_EQ] = ACTIONS(3792),
    [anon_sym_GT] = ACTIONS(3792),
    [anon_sym_GT_EQ] = ACTIONS(3806),
    [anon_sym_CARET] = ACTIONS(3786),
    [anon_sym_PLUS] = ACTIONS(3808),
    [anon_sym_SLASH] = ACTIONS(3788),
    [anon_sym_PERCENT] = ACTIONS(3788),
    [sym_comment] = ACTIONS(256),
  },
  [2557] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__string_middle] = ACTIONS(2870),
    [sym__string_end] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(2872),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2872),
    [anon_sym_AMP_AMP] = ACTIONS(2872),
    [anon_sym_LT_LT] = ACTIONS(2872),
    [anon_sym_GT_GT] = ACTIONS(2872),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2872),
    [anon_sym_PLUS] = ACTIONS(2872),
    [anon_sym_SLASH] = ACTIONS(2872),
    [anon_sym_PERCENT] = ACTIONS(2872),
    [sym_comment] = ACTIONS(256),
  },
  [2558] = {
    [sym_method] = STATE(2460),
    [sym_singleton_method] = STATE(2460),
    [sym_class] = STATE(2460),
    [sym_singleton_class] = STATE(2460),
    [sym_module] = STATE(2460),
    [sym_return] = STATE(2460),
    [sym_yield] = STATE(2460),
    [sym_break] = STATE(2460),
    [sym_next] = STATE(2460),
    [sym_redo] = STATE(2460),
    [sym_retry] = STATE(2460),
    [sym_while] = STATE(2460),
    [sym_until] = STATE(2460),
    [sym_for] = STATE(2460),
    [sym_case] = STATE(2460),
    [sym_if] = STATE(2460),
    [sym_unless] = STATE(2460),
    [sym_begin] = STATE(2460),
    [sym__arg] = STATE(5390),
    [sym__primary] = STATE(2488),
    [sym_parenthesized_statements] = STATE(2460),
    [sym_element_reference] = STATE(2282),
    [sym_scope_resolution] = STATE(2489),
    [sym_call] = STATE(2489),
    [sym_method_call] = STATE(2282),
    [sym_assignment] = STATE(2490),
    [sym_operator_assignment] = STATE(2490),
    [sym_conditional] = STATE(2490),
    [sym_range] = STATE(2490),
    [sym_binary] = STATE(2490),
    [sym_unary] = STATE(2490),
    [sym_left_assignment_list] = STATE(2491),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2492),
    [sym__variable] = STATE(2489),
    [sym_symbol] = STATE(2460),
    [sym_complex] = STATE(2460),
    [sym_rational] = STATE(2460),
    [sym_super] = STATE(2274),
    [sym_true] = STATE(2282),
    [sym_false] = STATE(2282),
    [sym_self] = STATE(2274),
    [sym_nil] = STATE(2282),
    [sym_chained_string] = STATE(2460),
    [sym_string] = STATE(2493),
    [sym_subshell] = STATE(2460),
    [sym_array] = STATE(2460),
    [sym_hash] = STATE(2460),
    [sym_regex] = STATE(2460),
    [sym_lambda] = STATE(2460),
    [sym__simple_string] = ACTIONS(3628),
    [sym__simple_symbol] = ACTIONS(3630),
    [sym__simple_subshell] = ACTIONS(3632),
    [sym__simple_regex] = ACTIONS(3634),
    [sym__simple_word_list] = ACTIONS(3636),
    [sym__string_beginning] = ACTIONS(3638),
    [sym__symbol_beginning] = ACTIONS(3640),
    [sym__subshell_beginning] = ACTIONS(3642),
    [sym__regex_beginning] = ACTIONS(3644),
    [sym__word_list_beginning] = ACTIONS(3646),
    [sym_heredoc_beginning] = ACTIONS(3648),
    [sym__unary_minus] = ACTIONS(3650),
    [anon_sym_LBRACE] = ACTIONS(3652),
    [anon_sym_def] = ACTIONS(3654),
    [anon_sym_LPAREN] = ACTIONS(3656),
    [anon_sym_COLON_COLON] = ACTIONS(3418),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3658),
    [anon_sym_module] = ACTIONS(3660),
    [anon_sym_return] = ACTIONS(3662),
    [anon_sym_yield] = ACTIONS(3664),
    [anon_sym_break] = ACTIONS(3666),
    [anon_sym_next] = ACTIONS(3668),
    [anon_sym_redo] = ACTIONS(3670),
    [anon_sym_retry] = ACTIONS(3672),
    [anon_sym_if] = ACTIONS(3674),
    [anon_sym_unless] = ACTIONS(3676),
    [anon_sym_while] = ACTIONS(3678),
    [anon_sym_until] = ACTIONS(3680),
    [anon_sym_for] = ACTIONS(3682),
    [anon_sym_case] = ACTIONS(3684),
    [anon_sym_begin] = ACTIONS(3686),
    [anon_sym_PLUS] = ACTIONS(3688),
    [anon_sym_defined_QMARK] = ACTIONS(3690),
    [anon_sym_not] = ACTIONS(3692),
    [anon_sym_BANG] = ACTIONS(3694),
    [anon_sym_TILDE] = ACTIONS(3694),
    [sym_constant] = ACTIONS(3458),
    [sym_identifier] = ACTIONS(3458),
    [sym_instance_variable] = ACTIONS(3460),
    [sym_class_variable] = ACTIONS(3460),
    [sym_global_variable] = ACTIONS(3460),
    [anon_sym_false] = ACTIONS(3462),
    [anon_sym_nil] = ACTIONS(3464),
    [anon_sym_self] = ACTIONS(3466),
    [anon_sym_super] = ACTIONS(3468),
    [anon_sym_true] = ACTIONS(3470),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3696),
    [sym_float] = ACTIONS(3698),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3700),
    [anon_sym_TRUE] = ACTIONS(3470),
    [anon_sym_FALSE] = ACTIONS(3462),
    [anon_sym_NIL] = ACTIONS(3464),
    [sym_keyword__FILE__] = ACTIONS(3702),
    [sym_keyword__LINE__] = ACTIONS(3702),
    [sym_keyword__ENCODING__] = ACTIONS(3702),
    [sym__character_literal] = ACTIONS(3704),
    [anon_sym_LBRACK] = ACTIONS(3706),
    [anon_sym_DASH_GT] = ACTIONS(3708),
  },
  [2559] = {
    [sym__simple_heredoc_body] = ACTIONS(2882),
    [sym__heredoc_body_beginning] = ACTIONS(2882),
    [sym__string_middle] = ACTIONS(2882),
    [sym__string_end] = ACTIONS(2882),
    [sym__element_reference_left_bracket] = ACTIONS(2882),
    [sym__scope_double_colon] = ACTIONS(2882),
    [sym__binary_minus] = ACTIONS(2882),
    [sym__binary_star] = ACTIONS(2882),
    [anon_sym_LBRACE] = ACTIONS(2882),
    [anon_sym_DOT] = ACTIONS(2884),
    [anon_sym_COMMA] = ACTIONS(2882),
    [anon_sym_PIPE] = ACTIONS(2884),
    [anon_sym_STAR_STAR] = ACTIONS(2884),
    [anon_sym_AMP] = ACTIONS(2884),
    [anon_sym_EQ] = ACTIONS(2884),
    [anon_sym_LT] = ACTIONS(2884),
    [anon_sym_if] = ACTIONS(2882),
    [anon_sym_unless] = ACTIONS(2882),
    [anon_sym_while] = ACTIONS(2882),
    [anon_sym_until] = ACTIONS(2882),
    [anon_sym_rescue] = ACTIONS(2882),
    [anon_sym_do] = ACTIONS(2882),
    [anon_sym_EQ_GT] = ACTIONS(2882),
    [anon_sym_AMP_DOT] = ACTIONS(2882),
    [anon_sym_PLUS_EQ] = ACTIONS(2882),
    [anon_sym_DASH_EQ] = ACTIONS(2882),
    [anon_sym_STAR_EQ] = ACTIONS(2882),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2882),
    [anon_sym_SLASH_EQ] = ACTIONS(2882),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2882),
    [anon_sym_PIPE_EQ] = ACTIONS(2882),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2882),
    [anon_sym_AMP_EQ] = ACTIONS(2882),
    [anon_sym_PERCENT_EQ] = ACTIONS(2882),
    [anon_sym_GT_GT_EQ] = ACTIONS(2882),
    [anon_sym_LT_LT_EQ] = ACTIONS(2882),
    [anon_sym_CARET_EQ] = ACTIONS(2882),
    [anon_sym_QMARK] = ACTIONS(2882),
    [anon_sym_DOT_DOT] = ACTIONS(2884),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2882),
    [anon_sym_and] = ACTIONS(2882),
    [anon_sym_or] = ACTIONS(2882),
    [anon_sym_PIPE_PIPE] = ACTIONS(2884),
    [anon_sym_AMP_AMP] = ACTIONS(2884),
    [anon_sym_LT_LT] = ACTIONS(2884),
    [anon_sym_GT_GT] = ACTIONS(2884),
    [anon_sym_EQ_EQ] = ACTIONS(2884),
    [anon_sym_BANG_EQ] = ACTIONS(2882),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2882),
    [anon_sym_LT_EQ_GT] = ACTIONS(2882),
    [anon_sym_EQ_TILDE] = ACTIONS(2882),
    [anon_sym_BANG_TILDE] = ACTIONS(2882),
    [anon_sym_LT_EQ] = ACTIONS(2884),
    [anon_sym_GT] = ACTIONS(2884),
    [anon_sym_GT_EQ] = ACTIONS(2882),
    [anon_sym_CARET] = ACTIONS(2884),
    [anon_sym_PLUS] = ACTIONS(2884),
    [anon_sym_SLASH] = ACTIONS(2884),
    [anon_sym_PERCENT] = ACTIONS(2884),
    [sym_comment] = ACTIONS(256),
  },
  [2560] = {
    [sym__simple_heredoc_body] = ACTIONS(2952),
    [sym__heredoc_body_beginning] = ACTIONS(2952),
    [sym__string_middle] = ACTIONS(2952),
    [sym__string_end] = ACTIONS(2952),
    [sym__element_reference_left_bracket] = ACTIONS(2952),
    [sym__scope_double_colon] = ACTIONS(2952),
    [sym__binary_minus] = ACTIONS(2952),
    [sym__binary_star] = ACTIONS(2952),
    [anon_sym_LBRACE] = ACTIONS(2952),
    [anon_sym_DOT] = ACTIONS(2954),
    [anon_sym_COMMA] = ACTIONS(2952),
    [anon_sym_PIPE] = ACTIONS(2954),
    [anon_sym_STAR_STAR] = ACTIONS(2954),
    [anon_sym_AMP] = ACTIONS(2954),
    [anon_sym_EQ] = ACTIONS(2954),
    [anon_sym_LT] = ACTIONS(2954),
    [anon_sym_if] = ACTIONS(2952),
    [anon_sym_unless] = ACTIONS(2952),
    [anon_sym_while] = ACTIONS(2952),
    [anon_sym_until] = ACTIONS(2952),
    [anon_sym_rescue] = ACTIONS(2952),
    [anon_sym_do] = ACTIONS(2952),
    [anon_sym_EQ_GT] = ACTIONS(2952),
    [anon_sym_AMP_DOT] = ACTIONS(2952),
    [anon_sym_PLUS_EQ] = ACTIONS(2952),
    [anon_sym_DASH_EQ] = ACTIONS(2952),
    [anon_sym_STAR_EQ] = ACTIONS(2952),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2952),
    [anon_sym_SLASH_EQ] = ACTIONS(2952),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2952),
    [anon_sym_PIPE_EQ] = ACTIONS(2952),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2952),
    [anon_sym_AMP_EQ] = ACTIONS(2952),
    [anon_sym_PERCENT_EQ] = ACTIONS(2952),
    [anon_sym_GT_GT_EQ] = ACTIONS(2952),
    [anon_sym_LT_LT_EQ] = ACTIONS(2952),
    [anon_sym_CARET_EQ] = ACTIONS(2952),
    [anon_sym_QMARK] = ACTIONS(2952),
    [anon_sym_DOT_DOT] = ACTIONS(2954),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2952),
    [anon_sym_and] = ACTIONS(2952),
    [anon_sym_or] = ACTIONS(2952),
    [anon_sym_PIPE_PIPE] = ACTIONS(2954),
    [anon_sym_AMP_AMP] = ACTIONS(2954),
    [anon_sym_LT_LT] = ACTIONS(2954),
    [anon_sym_GT_GT] = ACTIONS(2954),
    [anon_sym_EQ_EQ] = ACTIONS(2954),
    [anon_sym_BANG_EQ] = ACTIONS(2952),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2952),
    [anon_sym_LT_EQ_GT] = ACTIONS(2952),
    [anon_sym_EQ_TILDE] = ACTIONS(2952),
    [anon_sym_BANG_TILDE] = ACTIONS(2952),
    [anon_sym_LT_EQ] = ACTIONS(2954),
    [anon_sym_GT] = ACTIONS(2954),
    [anon_sym_GT_EQ] = ACTIONS(2952),
    [anon_sym_CARET] = ACTIONS(2954),
    [anon_sym_PLUS] = ACTIONS(2954),
    [anon_sym_SLASH] = ACTIONS(2954),
    [anon_sym_PERCENT] = ACTIONS(2954),
    [sym_comment] = ACTIONS(256),
  },
  [2561] = {
    [sym_heredoc_end] = STATE(5391),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RBRACK] = ACTIONS(7536),
    [sym_comment] = ACTIONS(110),
  },
  [2562] = {
    [anon_sym_RBRACK] = ACTIONS(7536),
    [sym_comment] = ACTIONS(110),
  },
  [2563] = {
    [sym__statements] = STATE(5219),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(5220),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(841),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(7618),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_PIPE] = ACTIONS(3048),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2564] = {
    [sym__statements] = STATE(5223),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(5224),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1981),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(5225),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(3076),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(3078),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(3080),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(7474),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(3086),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2565] = {
    [sym_do_block] = STATE(5393),
    [sym_block] = STATE(5393),
    [anon_sym_LBRACE] = ACTIONS(3778),
    [anon_sym_do] = ACTIONS(7478),
    [sym_comment] = ACTIONS(110),
  },
  [2566] = {
    [sym__simple_heredoc_body] = ACTIONS(3100),
    [sym__heredoc_body_beginning] = ACTIONS(3100),
    [sym__string_middle] = ACTIONS(3100),
    [sym__string_end] = ACTIONS(3100),
    [sym__element_reference_left_bracket] = ACTIONS(3100),
    [sym__scope_double_colon] = ACTIONS(3100),
    [sym__binary_minus] = ACTIONS(3100),
    [sym__binary_star] = ACTIONS(3100),
    [anon_sym_LBRACE] = ACTIONS(3100),
    [anon_sym_DOT] = ACTIONS(3102),
    [anon_sym_COMMA] = ACTIONS(3100),
    [anon_sym_PIPE] = ACTIONS(3102),
    [anon_sym_STAR_STAR] = ACTIONS(3102),
    [anon_sym_AMP] = ACTIONS(3102),
    [anon_sym_EQ] = ACTIONS(3102),
    [anon_sym_LT] = ACTIONS(3102),
    [anon_sym_if] = ACTIONS(3100),
    [anon_sym_unless] = ACTIONS(3100),
    [anon_sym_while] = ACTIONS(3100),
    [anon_sym_until] = ACTIONS(3100),
    [anon_sym_rescue] = ACTIONS(3100),
    [anon_sym_do] = ACTIONS(3100),
    [anon_sym_EQ_GT] = ACTIONS(3100),
    [anon_sym_AMP_DOT] = ACTIONS(3100),
    [anon_sym_PLUS_EQ] = ACTIONS(3100),
    [anon_sym_DASH_EQ] = ACTIONS(3100),
    [anon_sym_STAR_EQ] = ACTIONS(3100),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3100),
    [anon_sym_SLASH_EQ] = ACTIONS(3100),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3100),
    [anon_sym_PIPE_EQ] = ACTIONS(3100),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3100),
    [anon_sym_AMP_EQ] = ACTIONS(3100),
    [anon_sym_PERCENT_EQ] = ACTIONS(3100),
    [anon_sym_GT_GT_EQ] = ACTIONS(3100),
    [anon_sym_LT_LT_EQ] = ACTIONS(3100),
    [anon_sym_CARET_EQ] = ACTIONS(3100),
    [anon_sym_QMARK] = ACTIONS(3100),
    [anon_sym_DOT_DOT] = ACTIONS(3102),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3100),
    [anon_sym_and] = ACTIONS(3100),
    [anon_sym_or] = ACTIONS(3100),
    [anon_sym_PIPE_PIPE] = ACTIONS(3102),
    [anon_sym_AMP_AMP] = ACTIONS(3102),
    [anon_sym_LT_LT] = ACTIONS(3102),
    [anon_sym_GT_GT] = ACTIONS(3102),
    [anon_sym_EQ_EQ] = ACTIONS(3102),
    [anon_sym_BANG_EQ] = ACTIONS(3100),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3100),
    [anon_sym_LT_EQ_GT] = ACTIONS(3100),
    [anon_sym_EQ_TILDE] = ACTIONS(3100),
    [anon_sym_BANG_TILDE] = ACTIONS(3100),
    [anon_sym_LT_EQ] = ACTIONS(3102),
    [anon_sym_GT] = ACTIONS(3102),
    [anon_sym_GT_EQ] = ACTIONS(3100),
    [anon_sym_CARET] = ACTIONS(3102),
    [anon_sym_PLUS] = ACTIONS(3102),
    [anon_sym_SLASH] = ACTIONS(3102),
    [anon_sym_PERCENT] = ACTIONS(3102),
    [sym_comment] = ACTIONS(256),
  },
  [2567] = {
    [sym_method] = STATE(769),
    [sym_singleton_method] = STATE(769),
    [sym_class] = STATE(769),
    [sym_singleton_class] = STATE(769),
    [sym_module] = STATE(769),
    [sym_return] = STATE(769),
    [sym_yield] = STATE(769),
    [sym_break] = STATE(769),
    [sym_next] = STATE(769),
    [sym_redo] = STATE(769),
    [sym_retry] = STATE(769),
    [sym_while] = STATE(769),
    [sym_until] = STATE(769),
    [sym_for] = STATE(769),
    [sym_case] = STATE(769),
    [sym_if] = STATE(769),
    [sym_unless] = STATE(769),
    [sym_begin] = STATE(769),
    [sym__arg] = STATE(5394),
    [sym__primary] = STATE(804),
    [sym_parenthesized_statements] = STATE(769),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(805),
    [sym_call] = STATE(805),
    [sym_method_call] = STATE(694),
    [sym_assignment] = STATE(811),
    [sym_operator_assignment] = STATE(811),
    [sym_conditional] = STATE(811),
    [sym_range] = STATE(811),
    [sym_binary] = STATE(811),
    [sym_unary] = STATE(811),
    [sym_left_assignment_list] = STATE(812),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(813),
    [sym__variable] = STATE(805),
    [sym_symbol] = STATE(769),
    [sym_complex] = STATE(769),
    [sym_rational] = STATE(769),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(769),
    [sym_string] = STATE(2518),
    [sym_subshell] = STATE(769),
    [sym_array] = STATE(769),
    [sym_hash] = STATE(769),
    [sym_regex] = STATE(769),
    [sym_lambda] = STATE(769),
    [sym__simple_string] = ACTIONS(3712),
    [sym__simple_symbol] = ACTIONS(1276),
    [sym__simple_subshell] = ACTIONS(1278),
    [sym__simple_regex] = ACTIONS(1280),
    [sym__simple_word_list] = ACTIONS(1282),
    [sym__string_beginning] = ACTIONS(3714),
    [sym__symbol_beginning] = ACTIONS(1286),
    [sym__subshell_beginning] = ACTIONS(1288),
    [sym__regex_beginning] = ACTIONS(1290),
    [sym__word_list_beginning] = ACTIONS(1292),
    [sym_heredoc_beginning] = ACTIONS(1294),
    [sym__unary_minus] = ACTIONS(1302),
    [anon_sym_LBRACE] = ACTIONS(3716),
    [anon_sym_def] = ACTIONS(3718),
    [anon_sym_LPAREN] = ACTIONS(1308),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3720),
    [anon_sym_module] = ACTIONS(3722),
    [anon_sym_return] = ACTIONS(3724),
    [anon_sym_yield] = ACTIONS(3726),
    [anon_sym_break] = ACTIONS(3728),
    [anon_sym_next] = ACTIONS(3730),
    [anon_sym_redo] = ACTIONS(3732),
    [anon_sym_retry] = ACTIONS(3734),
    [anon_sym_if] = ACTIONS(3736),
    [anon_sym_unless] = ACTIONS(3738),
    [anon_sym_while] = ACTIONS(3740),
    [anon_sym_until] = ACTIONS(3742),
    [anon_sym_for] = ACTIONS(3744),
    [anon_sym_case] = ACTIONS(3746),
    [anon_sym_begin] = ACTIONS(3748),
    [anon_sym_PLUS] = ACTIONS(3750),
    [anon_sym_defined_QMARK] = ACTIONS(1334),
    [anon_sym_not] = ACTIONS(3752),
    [anon_sym_BANG] = ACTIONS(1340),
    [anon_sym_TILDE] = ACTIONS(1340),
    [sym_constant] = ACTIONS(3488),
    [sym_identifier] = ACTIONS(3488),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_false] = ACTIONS(1186),
    [anon_sym_nil] = ACTIONS(1188),
    [anon_sym_self] = ACTIONS(3490),
    [anon_sym_super] = ACTIONS(3492),
    [anon_sym_true] = ACTIONS(1184),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1344),
    [sym_float] = ACTIONS(1346),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1348),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1350),
    [sym_keyword__LINE__] = ACTIONS(1350),
    [sym_keyword__ENCODING__] = ACTIONS(1350),
    [sym__character_literal] = ACTIONS(3754),
    [anon_sym_LBRACK] = ACTIONS(1354),
    [anon_sym_DASH_GT] = ACTIONS(1356),
  },
  [2568] = {
    [sym_method] = STATE(769),
    [sym_singleton_method] = STATE(769),
    [sym_class] = STATE(769),
    [sym_singleton_class] = STATE(769),
    [sym_module] = STATE(769),
    [sym_return] = STATE(769),
    [sym_yield] = STATE(769),
    [sym_break] = STATE(769),
    [sym_next] = STATE(769),
    [sym_redo] = STATE(769),
    [sym_retry] = STATE(769),
    [sym_while] = STATE(769),
    [sym_until] = STATE(769),
    [sym_for] = STATE(769),
    [sym_case] = STATE(769),
    [sym_if] = STATE(769),
    [sym_unless] = STATE(769),
    [sym_begin] = STATE(769),
    [sym__arg] = STATE(5395),
    [sym__primary] = STATE(804),
    [sym_parenthesized_statements] = STATE(769),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(805),
    [sym_call] = STATE(805),
    [sym_method_call] = STATE(694),
    [sym_assignment] = STATE(811),
    [sym_operator_assignment] = STATE(811),
    [sym_conditional] = STATE(811),
    [sym_range] = STATE(811),
    [sym_binary] = STATE(811),
    [sym_unary] = STATE(811),
    [sym_left_assignment_list] = STATE(812),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(813),
    [sym__variable] = STATE(805),
    [sym_symbol] = STATE(769),
    [sym_complex] = STATE(769),
    [sym_rational] = STATE(769),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(769),
    [sym_string] = STATE(2518),
    [sym_subshell] = STATE(769),
    [sym_array] = STATE(769),
    [sym_hash] = STATE(769),
    [sym_regex] = STATE(769),
    [sym_lambda] = STATE(769),
    [sym__simple_string] = ACTIONS(3712),
    [sym__simple_symbol] = ACTIONS(1276),
    [sym__simple_subshell] = ACTIONS(1278),
    [sym__simple_regex] = ACTIONS(1280),
    [sym__simple_word_list] = ACTIONS(1282),
    [sym__string_beginning] = ACTIONS(3714),
    [sym__symbol_beginning] = ACTIONS(1286),
    [sym__subshell_beginning] = ACTIONS(1288),
    [sym__regex_beginning] = ACTIONS(1290),
    [sym__word_list_beginning] = ACTIONS(1292),
    [sym_heredoc_beginning] = ACTIONS(1294),
    [sym__unary_minus] = ACTIONS(1302),
    [anon_sym_LBRACE] = ACTIONS(3716),
    [anon_sym_def] = ACTIONS(3718),
    [anon_sym_LPAREN] = ACTIONS(1308),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3720),
    [anon_sym_module] = ACTIONS(3722),
    [anon_sym_return] = ACTIONS(3724),
    [anon_sym_yield] = ACTIONS(3726),
    [anon_sym_break] = ACTIONS(3728),
    [anon_sym_next] = ACTIONS(3730),
    [anon_sym_redo] = ACTIONS(3732),
    [anon_sym_retry] = ACTIONS(3734),
    [anon_sym_if] = ACTIONS(3736),
    [anon_sym_unless] = ACTIONS(3738),
    [anon_sym_while] = ACTIONS(3740),
    [anon_sym_until] = ACTIONS(3742),
    [anon_sym_for] = ACTIONS(3744),
    [anon_sym_case] = ACTIONS(3746),
    [anon_sym_begin] = ACTIONS(3748),
    [anon_sym_PLUS] = ACTIONS(3750),
    [anon_sym_defined_QMARK] = ACTIONS(1334),
    [anon_sym_not] = ACTIONS(3752),
    [anon_sym_BANG] = ACTIONS(1340),
    [anon_sym_TILDE] = ACTIONS(1340),
    [sym_constant] = ACTIONS(3488),
    [sym_identifier] = ACTIONS(3488),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_false] = ACTIONS(1186),
    [anon_sym_nil] = ACTIONS(1188),
    [anon_sym_self] = ACTIONS(3490),
    [anon_sym_super] = ACTIONS(3492),
    [anon_sym_true] = ACTIONS(1184),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1344),
    [sym_float] = ACTIONS(1346),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1348),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1350),
    [sym_keyword__LINE__] = ACTIONS(1350),
    [sym_keyword__ENCODING__] = ACTIONS(1350),
    [sym__character_literal] = ACTIONS(3754),
    [anon_sym_LBRACK] = ACTIONS(1354),
    [anon_sym_DASH_GT] = ACTIONS(1356),
  },
  [2569] = {
    [sym_method] = STATE(769),
    [sym_singleton_method] = STATE(769),
    [sym_class] = STATE(769),
    [sym_singleton_class] = STATE(769),
    [sym_module] = STATE(769),
    [sym_return] = STATE(769),
    [sym_yield] = STATE(769),
    [sym_break] = STATE(769),
    [sym_next] = STATE(769),
    [sym_redo] = STATE(769),
    [sym_retry] = STATE(769),
    [sym_while] = STATE(769),
    [sym_until] = STATE(769),
    [sym_for] = STATE(769),
    [sym_case] = STATE(769),
    [sym_if] = STATE(769),
    [sym_unless] = STATE(769),
    [sym_begin] = STATE(769),
    [sym__arg] = STATE(5396),
    [sym__primary] = STATE(804),
    [sym_parenthesized_statements] = STATE(769),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(805),
    [sym_call] = STATE(805),
    [sym_method_call] = STATE(694),
    [sym_assignment] = STATE(811),
    [sym_operator_assignment] = STATE(811),
    [sym_conditional] = STATE(811),
    [sym_range] = STATE(811),
    [sym_binary] = STATE(811),
    [sym_unary] = STATE(811),
    [sym_left_assignment_list] = STATE(812),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(813),
    [sym__variable] = STATE(805),
    [sym_symbol] = STATE(769),
    [sym_complex] = STATE(769),
    [sym_rational] = STATE(769),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(769),
    [sym_string] = STATE(2518),
    [sym_subshell] = STATE(769),
    [sym_array] = STATE(769),
    [sym_hash] = STATE(769),
    [sym_regex] = STATE(769),
    [sym_lambda] = STATE(769),
    [sym__simple_string] = ACTIONS(3712),
    [sym__simple_symbol] = ACTIONS(1276),
    [sym__simple_subshell] = ACTIONS(1278),
    [sym__simple_regex] = ACTIONS(1280),
    [sym__simple_word_list] = ACTIONS(1282),
    [sym__string_beginning] = ACTIONS(3714),
    [sym__symbol_beginning] = ACTIONS(1286),
    [sym__subshell_beginning] = ACTIONS(1288),
    [sym__regex_beginning] = ACTIONS(1290),
    [sym__word_list_beginning] = ACTIONS(1292),
    [sym_heredoc_beginning] = ACTIONS(1294),
    [sym__unary_minus] = ACTIONS(1302),
    [anon_sym_LBRACE] = ACTIONS(3716),
    [anon_sym_def] = ACTIONS(3718),
    [anon_sym_LPAREN] = ACTIONS(1308),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3720),
    [anon_sym_module] = ACTIONS(3722),
    [anon_sym_return] = ACTIONS(3724),
    [anon_sym_yield] = ACTIONS(3726),
    [anon_sym_break] = ACTIONS(3728),
    [anon_sym_next] = ACTIONS(3730),
    [anon_sym_redo] = ACTIONS(3732),
    [anon_sym_retry] = ACTIONS(3734),
    [anon_sym_if] = ACTIONS(3736),
    [anon_sym_unless] = ACTIONS(3738),
    [anon_sym_while] = ACTIONS(3740),
    [anon_sym_until] = ACTIONS(3742),
    [anon_sym_for] = ACTIONS(3744),
    [anon_sym_case] = ACTIONS(3746),
    [anon_sym_begin] = ACTIONS(3748),
    [anon_sym_PLUS] = ACTIONS(3750),
    [anon_sym_defined_QMARK] = ACTIONS(1334),
    [anon_sym_not] = ACTIONS(3752),
    [anon_sym_BANG] = ACTIONS(1340),
    [anon_sym_TILDE] = ACTIONS(1340),
    [sym_constant] = ACTIONS(3488),
    [sym_identifier] = ACTIONS(3488),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_false] = ACTIONS(1186),
    [anon_sym_nil] = ACTIONS(1188),
    [anon_sym_self] = ACTIONS(3490),
    [anon_sym_super] = ACTIONS(3492),
    [anon_sym_true] = ACTIONS(1184),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1344),
    [sym_float] = ACTIONS(1346),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1348),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1350),
    [sym_keyword__LINE__] = ACTIONS(1350),
    [sym_keyword__ENCODING__] = ACTIONS(1350),
    [sym__character_literal] = ACTIONS(3754),
    [anon_sym_LBRACK] = ACTIONS(1354),
    [anon_sym_DASH_GT] = ACTIONS(1356),
  },
  [2570] = {
    [sym_method] = STATE(769),
    [sym_singleton_method] = STATE(769),
    [sym_class] = STATE(769),
    [sym_singleton_class] = STATE(769),
    [sym_module] = STATE(769),
    [sym_return] = STATE(769),
    [sym_yield] = STATE(769),
    [sym_break] = STATE(769),
    [sym_next] = STATE(769),
    [sym_redo] = STATE(769),
    [sym_retry] = STATE(769),
    [sym_while] = STATE(769),
    [sym_until] = STATE(769),
    [sym_for] = STATE(769),
    [sym_case] = STATE(769),
    [sym_if] = STATE(769),
    [sym_unless] = STATE(769),
    [sym_begin] = STATE(769),
    [sym__arg] = STATE(5397),
    [sym__primary] = STATE(804),
    [sym_parenthesized_statements] = STATE(769),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(805),
    [sym_call] = STATE(805),
    [sym_method_call] = STATE(694),
    [sym_assignment] = STATE(811),
    [sym_operator_assignment] = STATE(811),
    [sym_conditional] = STATE(811),
    [sym_range] = STATE(811),
    [sym_binary] = STATE(811),
    [sym_unary] = STATE(811),
    [sym_left_assignment_list] = STATE(812),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(813),
    [sym__variable] = STATE(805),
    [sym_symbol] = STATE(769),
    [sym_complex] = STATE(769),
    [sym_rational] = STATE(769),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(769),
    [sym_string] = STATE(2518),
    [sym_subshell] = STATE(769),
    [sym_array] = STATE(769),
    [sym_hash] = STATE(769),
    [sym_regex] = STATE(769),
    [sym_lambda] = STATE(769),
    [sym__simple_string] = ACTIONS(3712),
    [sym__simple_symbol] = ACTIONS(1276),
    [sym__simple_subshell] = ACTIONS(1278),
    [sym__simple_regex] = ACTIONS(1280),
    [sym__simple_word_list] = ACTIONS(1282),
    [sym__string_beginning] = ACTIONS(3714),
    [sym__symbol_beginning] = ACTIONS(1286),
    [sym__subshell_beginning] = ACTIONS(1288),
    [sym__regex_beginning] = ACTIONS(1290),
    [sym__word_list_beginning] = ACTIONS(1292),
    [sym_heredoc_beginning] = ACTIONS(1294),
    [sym__unary_minus] = ACTIONS(1302),
    [anon_sym_LBRACE] = ACTIONS(3716),
    [anon_sym_def] = ACTIONS(3718),
    [anon_sym_LPAREN] = ACTIONS(1308),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3720),
    [anon_sym_module] = ACTIONS(3722),
    [anon_sym_return] = ACTIONS(3724),
    [anon_sym_yield] = ACTIONS(3726),
    [anon_sym_break] = ACTIONS(3728),
    [anon_sym_next] = ACTIONS(3730),
    [anon_sym_redo] = ACTIONS(3732),
    [anon_sym_retry] = ACTIONS(3734),
    [anon_sym_if] = ACTIONS(3736),
    [anon_sym_unless] = ACTIONS(3738),
    [anon_sym_while] = ACTIONS(3740),
    [anon_sym_until] = ACTIONS(3742),
    [anon_sym_for] = ACTIONS(3744),
    [anon_sym_case] = ACTIONS(3746),
    [anon_sym_begin] = ACTIONS(3748),
    [anon_sym_PLUS] = ACTIONS(3750),
    [anon_sym_defined_QMARK] = ACTIONS(1334),
    [anon_sym_not] = ACTIONS(3752),
    [anon_sym_BANG] = ACTIONS(1340),
    [anon_sym_TILDE] = ACTIONS(1340),
    [sym_constant] = ACTIONS(3488),
    [sym_identifier] = ACTIONS(3488),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_false] = ACTIONS(1186),
    [anon_sym_nil] = ACTIONS(1188),
    [anon_sym_self] = ACTIONS(3490),
    [anon_sym_super] = ACTIONS(3492),
    [anon_sym_true] = ACTIONS(1184),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1344),
    [sym_float] = ACTIONS(1346),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1348),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1350),
    [sym_keyword__LINE__] = ACTIONS(1350),
    [sym_keyword__ENCODING__] = ACTIONS(1350),
    [sym__character_literal] = ACTIONS(3754),
    [anon_sym_LBRACK] = ACTIONS(1354),
    [anon_sym_DASH_GT] = ACTIONS(1356),
  },
  [2571] = {
    [sym_method] = STATE(769),
    [sym_singleton_method] = STATE(769),
    [sym_class] = STATE(769),
    [sym_singleton_class] = STATE(769),
    [sym_module] = STATE(769),
    [sym_return] = STATE(769),
    [sym_yield] = STATE(769),
    [sym_break] = STATE(769),
    [sym_next] = STATE(769),
    [sym_redo] = STATE(769),
    [sym_retry] = STATE(769),
    [sym_while] = STATE(769),
    [sym_until] = STATE(769),
    [sym_for] = STATE(769),
    [sym_case] = STATE(769),
    [sym_if] = STATE(769),
    [sym_unless] = STATE(769),
    [sym_begin] = STATE(769),
    [sym__arg] = STATE(5398),
    [sym__primary] = STATE(804),
    [sym_parenthesized_statements] = STATE(769),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(805),
    [sym_call] = STATE(805),
    [sym_method_call] = STATE(694),
    [sym_assignment] = STATE(811),
    [sym_operator_assignment] = STATE(811),
    [sym_conditional] = STATE(811),
    [sym_range] = STATE(811),
    [sym_binary] = STATE(811),
    [sym_unary] = STATE(811),
    [sym_left_assignment_list] = STATE(812),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(813),
    [sym__variable] = STATE(805),
    [sym_symbol] = STATE(769),
    [sym_complex] = STATE(769),
    [sym_rational] = STATE(769),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(769),
    [sym_string] = STATE(2518),
    [sym_subshell] = STATE(769),
    [sym_array] = STATE(769),
    [sym_hash] = STATE(769),
    [sym_regex] = STATE(769),
    [sym_lambda] = STATE(769),
    [sym__simple_string] = ACTIONS(3712),
    [sym__simple_symbol] = ACTIONS(1276),
    [sym__simple_subshell] = ACTIONS(1278),
    [sym__simple_regex] = ACTIONS(1280),
    [sym__simple_word_list] = ACTIONS(1282),
    [sym__string_beginning] = ACTIONS(3714),
    [sym__symbol_beginning] = ACTIONS(1286),
    [sym__subshell_beginning] = ACTIONS(1288),
    [sym__regex_beginning] = ACTIONS(1290),
    [sym__word_list_beginning] = ACTIONS(1292),
    [sym_heredoc_beginning] = ACTIONS(1294),
    [sym__unary_minus] = ACTIONS(1302),
    [anon_sym_LBRACE] = ACTIONS(3716),
    [anon_sym_def] = ACTIONS(3718),
    [anon_sym_LPAREN] = ACTIONS(1308),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3720),
    [anon_sym_module] = ACTIONS(3722),
    [anon_sym_return] = ACTIONS(3724),
    [anon_sym_yield] = ACTIONS(3726),
    [anon_sym_break] = ACTIONS(3728),
    [anon_sym_next] = ACTIONS(3730),
    [anon_sym_redo] = ACTIONS(3732),
    [anon_sym_retry] = ACTIONS(3734),
    [anon_sym_if] = ACTIONS(3736),
    [anon_sym_unless] = ACTIONS(3738),
    [anon_sym_while] = ACTIONS(3740),
    [anon_sym_until] = ACTIONS(3742),
    [anon_sym_for] = ACTIONS(3744),
    [anon_sym_case] = ACTIONS(3746),
    [anon_sym_begin] = ACTIONS(3748),
    [anon_sym_PLUS] = ACTIONS(3750),
    [anon_sym_defined_QMARK] = ACTIONS(1334),
    [anon_sym_not] = ACTIONS(3752),
    [anon_sym_BANG] = ACTIONS(1340),
    [anon_sym_TILDE] = ACTIONS(1340),
    [sym_constant] = ACTIONS(3488),
    [sym_identifier] = ACTIONS(3488),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_false] = ACTIONS(1186),
    [anon_sym_nil] = ACTIONS(1188),
    [anon_sym_self] = ACTIONS(3490),
    [anon_sym_super] = ACTIONS(3492),
    [anon_sym_true] = ACTIONS(1184),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1344),
    [sym_float] = ACTIONS(1346),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1348),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1350),
    [sym_keyword__LINE__] = ACTIONS(1350),
    [sym_keyword__ENCODING__] = ACTIONS(1350),
    [sym__character_literal] = ACTIONS(3754),
    [anon_sym_LBRACK] = ACTIONS(1354),
    [anon_sym_DASH_GT] = ACTIONS(1356),
  },
  [2572] = {
    [sym_method] = STATE(769),
    [sym_singleton_method] = STATE(769),
    [sym_class] = STATE(769),
    [sym_singleton_class] = STATE(769),
    [sym_module] = STATE(769),
    [sym_return] = STATE(769),
    [sym_yield] = STATE(769),
    [sym_break] = STATE(769),
    [sym_next] = STATE(769),
    [sym_redo] = STATE(769),
    [sym_retry] = STATE(769),
    [sym_while] = STATE(769),
    [sym_until] = STATE(769),
    [sym_for] = STATE(769),
    [sym_case] = STATE(769),
    [sym_if] = STATE(769),
    [sym_unless] = STATE(769),
    [sym_begin] = STATE(769),
    [sym__arg] = STATE(5399),
    [sym__primary] = STATE(804),
    [sym_parenthesized_statements] = STATE(769),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(805),
    [sym_call] = STATE(805),
    [sym_method_call] = STATE(694),
    [sym_assignment] = STATE(811),
    [sym_operator_assignment] = STATE(811),
    [sym_conditional] = STATE(811),
    [sym_range] = STATE(811),
    [sym_binary] = STATE(811),
    [sym_unary] = STATE(811),
    [sym_left_assignment_list] = STATE(812),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(813),
    [sym__variable] = STATE(805),
    [sym_symbol] = STATE(769),
    [sym_complex] = STATE(769),
    [sym_rational] = STATE(769),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(769),
    [sym_string] = STATE(2518),
    [sym_subshell] = STATE(769),
    [sym_array] = STATE(769),
    [sym_hash] = STATE(769),
    [sym_regex] = STATE(769),
    [sym_lambda] = STATE(769),
    [sym__simple_string] = ACTIONS(3712),
    [sym__simple_symbol] = ACTIONS(1276),
    [sym__simple_subshell] = ACTIONS(1278),
    [sym__simple_regex] = ACTIONS(1280),
    [sym__simple_word_list] = ACTIONS(1282),
    [sym__string_beginning] = ACTIONS(3714),
    [sym__symbol_beginning] = ACTIONS(1286),
    [sym__subshell_beginning] = ACTIONS(1288),
    [sym__regex_beginning] = ACTIONS(1290),
    [sym__word_list_beginning] = ACTIONS(1292),
    [sym_heredoc_beginning] = ACTIONS(1294),
    [sym__unary_minus] = ACTIONS(1302),
    [anon_sym_LBRACE] = ACTIONS(3716),
    [anon_sym_def] = ACTIONS(3718),
    [anon_sym_LPAREN] = ACTIONS(1308),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3720),
    [anon_sym_module] = ACTIONS(3722),
    [anon_sym_return] = ACTIONS(3724),
    [anon_sym_yield] = ACTIONS(3726),
    [anon_sym_break] = ACTIONS(3728),
    [anon_sym_next] = ACTIONS(3730),
    [anon_sym_redo] = ACTIONS(3732),
    [anon_sym_retry] = ACTIONS(3734),
    [anon_sym_if] = ACTIONS(3736),
    [anon_sym_unless] = ACTIONS(3738),
    [anon_sym_while] = ACTIONS(3740),
    [anon_sym_until] = ACTIONS(3742),
    [anon_sym_for] = ACTIONS(3744),
    [anon_sym_case] = ACTIONS(3746),
    [anon_sym_begin] = ACTIONS(3748),
    [anon_sym_PLUS] = ACTIONS(3750),
    [anon_sym_defined_QMARK] = ACTIONS(1334),
    [anon_sym_not] = ACTIONS(3752),
    [anon_sym_BANG] = ACTIONS(1340),
    [anon_sym_TILDE] = ACTIONS(1340),
    [sym_constant] = ACTIONS(3488),
    [sym_identifier] = ACTIONS(3488),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_false] = ACTIONS(1186),
    [anon_sym_nil] = ACTIONS(1188),
    [anon_sym_self] = ACTIONS(3490),
    [anon_sym_super] = ACTIONS(3492),
    [anon_sym_true] = ACTIONS(1184),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1344),
    [sym_float] = ACTIONS(1346),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1348),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1350),
    [sym_keyword__LINE__] = ACTIONS(1350),
    [sym_keyword__ENCODING__] = ACTIONS(1350),
    [sym__character_literal] = ACTIONS(3754),
    [anon_sym_LBRACK] = ACTIONS(1354),
    [anon_sym_DASH_GT] = ACTIONS(1356),
  },
  [2573] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(5400),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [2574] = {
    [sym_method] = STATE(769),
    [sym_singleton_method] = STATE(769),
    [sym_class] = STATE(769),
    [sym_singleton_class] = STATE(769),
    [sym_module] = STATE(769),
    [sym_return] = STATE(769),
    [sym_yield] = STATE(769),
    [sym_break] = STATE(769),
    [sym_next] = STATE(769),
    [sym_redo] = STATE(769),
    [sym_retry] = STATE(769),
    [sym_while] = STATE(769),
    [sym_until] = STATE(769),
    [sym_for] = STATE(769),
    [sym_case] = STATE(769),
    [sym_if] = STATE(769),
    [sym_unless] = STATE(769),
    [sym_begin] = STATE(769),
    [sym__arg] = STATE(5401),
    [sym__primary] = STATE(804),
    [sym_parenthesized_statements] = STATE(769),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(805),
    [sym_call] = STATE(805),
    [sym_method_call] = STATE(694),
    [sym_assignment] = STATE(811),
    [sym_operator_assignment] = STATE(811),
    [sym_conditional] = STATE(811),
    [sym_range] = STATE(811),
    [sym_binary] = STATE(811),
    [sym_unary] = STATE(811),
    [sym_left_assignment_list] = STATE(812),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(813),
    [sym__variable] = STATE(805),
    [sym_symbol] = STATE(769),
    [sym_complex] = STATE(769),
    [sym_rational] = STATE(769),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(769),
    [sym_string] = STATE(2518),
    [sym_subshell] = STATE(769),
    [sym_array] = STATE(769),
    [sym_hash] = STATE(769),
    [sym_regex] = STATE(769),
    [sym_lambda] = STATE(769),
    [sym__simple_string] = ACTIONS(3712),
    [sym__simple_symbol] = ACTIONS(1276),
    [sym__simple_subshell] = ACTIONS(1278),
    [sym__simple_regex] = ACTIONS(1280),
    [sym__simple_word_list] = ACTIONS(1282),
    [sym__string_beginning] = ACTIONS(3714),
    [sym__symbol_beginning] = ACTIONS(1286),
    [sym__subshell_beginning] = ACTIONS(1288),
    [sym__regex_beginning] = ACTIONS(1290),
    [sym__word_list_beginning] = ACTIONS(1292),
    [sym_heredoc_beginning] = ACTIONS(1294),
    [sym__unary_minus] = ACTIONS(1302),
    [anon_sym_LBRACE] = ACTIONS(3716),
    [anon_sym_def] = ACTIONS(3718),
    [anon_sym_LPAREN] = ACTIONS(1308),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3720),
    [anon_sym_module] = ACTIONS(3722),
    [anon_sym_return] = ACTIONS(3724),
    [anon_sym_yield] = ACTIONS(3726),
    [anon_sym_break] = ACTIONS(3728),
    [anon_sym_next] = ACTIONS(3730),
    [anon_sym_redo] = ACTIONS(3732),
    [anon_sym_retry] = ACTIONS(3734),
    [anon_sym_if] = ACTIONS(3736),
    [anon_sym_unless] = ACTIONS(3738),
    [anon_sym_while] = ACTIONS(3740),
    [anon_sym_until] = ACTIONS(3742),
    [anon_sym_for] = ACTIONS(3744),
    [anon_sym_case] = ACTIONS(3746),
    [anon_sym_begin] = ACTIONS(3748),
    [anon_sym_PLUS] = ACTIONS(3750),
    [anon_sym_defined_QMARK] = ACTIONS(1334),
    [anon_sym_not] = ACTIONS(3752),
    [anon_sym_BANG] = ACTIONS(1340),
    [anon_sym_TILDE] = ACTIONS(1340),
    [sym_constant] = ACTIONS(3488),
    [sym_identifier] = ACTIONS(3488),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_false] = ACTIONS(1186),
    [anon_sym_nil] = ACTIONS(1188),
    [anon_sym_self] = ACTIONS(3490),
    [anon_sym_super] = ACTIONS(3492),
    [anon_sym_true] = ACTIONS(1184),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1344),
    [sym_float] = ACTIONS(1346),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1348),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1350),
    [sym_keyword__LINE__] = ACTIONS(1350),
    [sym_keyword__ENCODING__] = ACTIONS(1350),
    [sym__character_literal] = ACTIONS(3754),
    [anon_sym_LBRACK] = ACTIONS(1354),
    [anon_sym_DASH_GT] = ACTIONS(1356),
  },
  [2575] = {
    [sym_method] = STATE(769),
    [sym_singleton_method] = STATE(769),
    [sym_class] = STATE(769),
    [sym_singleton_class] = STATE(769),
    [sym_module] = STATE(769),
    [sym_return] = STATE(769),
    [sym_yield] = STATE(769),
    [sym_break] = STATE(769),
    [sym_next] = STATE(769),
    [sym_redo] = STATE(769),
    [sym_retry] = STATE(769),
    [sym_while] = STATE(769),
    [sym_until] = STATE(769),
    [sym_for] = STATE(769),
    [sym_case] = STATE(769),
    [sym_if] = STATE(769),
    [sym_unless] = STATE(769),
    [sym_begin] = STATE(769),
    [sym__arg] = STATE(5402),
    [sym__primary] = STATE(804),
    [sym_parenthesized_statements] = STATE(769),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(805),
    [sym_call] = STATE(805),
    [sym_method_call] = STATE(694),
    [sym_assignment] = STATE(811),
    [sym_operator_assignment] = STATE(811),
    [sym_conditional] = STATE(811),
    [sym_range] = STATE(811),
    [sym_binary] = STATE(811),
    [sym_unary] = STATE(811),
    [sym_left_assignment_list] = STATE(812),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(813),
    [sym__variable] = STATE(805),
    [sym_symbol] = STATE(769),
    [sym_complex] = STATE(769),
    [sym_rational] = STATE(769),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(769),
    [sym_string] = STATE(2518),
    [sym_subshell] = STATE(769),
    [sym_array] = STATE(769),
    [sym_hash] = STATE(769),
    [sym_regex] = STATE(769),
    [sym_lambda] = STATE(769),
    [sym__simple_string] = ACTIONS(3712),
    [sym__simple_symbol] = ACTIONS(1276),
    [sym__simple_subshell] = ACTIONS(1278),
    [sym__simple_regex] = ACTIONS(1280),
    [sym__simple_word_list] = ACTIONS(1282),
    [sym__string_beginning] = ACTIONS(3714),
    [sym__symbol_beginning] = ACTIONS(1286),
    [sym__subshell_beginning] = ACTIONS(1288),
    [sym__regex_beginning] = ACTIONS(1290),
    [sym__word_list_beginning] = ACTIONS(1292),
    [sym_heredoc_beginning] = ACTIONS(1294),
    [sym__unary_minus] = ACTIONS(1302),
    [anon_sym_LBRACE] = ACTIONS(3716),
    [anon_sym_def] = ACTIONS(3718),
    [anon_sym_LPAREN] = ACTIONS(1308),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3720),
    [anon_sym_module] = ACTIONS(3722),
    [anon_sym_return] = ACTIONS(3724),
    [anon_sym_yield] = ACTIONS(3726),
    [anon_sym_break] = ACTIONS(3728),
    [anon_sym_next] = ACTIONS(3730),
    [anon_sym_redo] = ACTIONS(3732),
    [anon_sym_retry] = ACTIONS(3734),
    [anon_sym_if] = ACTIONS(3736),
    [anon_sym_unless] = ACTIONS(3738),
    [anon_sym_while] = ACTIONS(3740),
    [anon_sym_until] = ACTIONS(3742),
    [anon_sym_for] = ACTIONS(3744),
    [anon_sym_case] = ACTIONS(3746),
    [anon_sym_begin] = ACTIONS(3748),
    [anon_sym_PLUS] = ACTIONS(3750),
    [anon_sym_defined_QMARK] = ACTIONS(1334),
    [anon_sym_not] = ACTIONS(3752),
    [anon_sym_BANG] = ACTIONS(1340),
    [anon_sym_TILDE] = ACTIONS(1340),
    [sym_constant] = ACTIONS(3488),
    [sym_identifier] = ACTIONS(3488),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_false] = ACTIONS(1186),
    [anon_sym_nil] = ACTIONS(1188),
    [anon_sym_self] = ACTIONS(3490),
    [anon_sym_super] = ACTIONS(3492),
    [anon_sym_true] = ACTIONS(1184),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1344),
    [sym_float] = ACTIONS(1346),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1348),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1350),
    [sym_keyword__LINE__] = ACTIONS(1350),
    [sym_keyword__ENCODING__] = ACTIONS(1350),
    [sym__character_literal] = ACTIONS(3754),
    [anon_sym_LBRACK] = ACTIONS(1354),
    [anon_sym_DASH_GT] = ACTIONS(1356),
  },
  [2576] = {
    [sym_method] = STATE(769),
    [sym_singleton_method] = STATE(769),
    [sym_class] = STATE(769),
    [sym_singleton_class] = STATE(769),
    [sym_module] = STATE(769),
    [sym_return] = STATE(769),
    [sym_yield] = STATE(769),
    [sym_break] = STATE(769),
    [sym_next] = STATE(769),
    [sym_redo] = STATE(769),
    [sym_retry] = STATE(769),
    [sym_while] = STATE(769),
    [sym_until] = STATE(769),
    [sym_for] = STATE(769),
    [sym_case] = STATE(769),
    [sym_if] = STATE(769),
    [sym_unless] = STATE(769),
    [sym_begin] = STATE(769),
    [sym__arg] = STATE(5403),
    [sym__primary] = STATE(804),
    [sym_parenthesized_statements] = STATE(769),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(805),
    [sym_call] = STATE(805),
    [sym_method_call] = STATE(694),
    [sym_assignment] = STATE(811),
    [sym_operator_assignment] = STATE(811),
    [sym_conditional] = STATE(811),
    [sym_range] = STATE(811),
    [sym_binary] = STATE(811),
    [sym_unary] = STATE(811),
    [sym_left_assignment_list] = STATE(812),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(813),
    [sym__variable] = STATE(805),
    [sym_symbol] = STATE(769),
    [sym_complex] = STATE(769),
    [sym_rational] = STATE(769),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(769),
    [sym_string] = STATE(2518),
    [sym_subshell] = STATE(769),
    [sym_array] = STATE(769),
    [sym_hash] = STATE(769),
    [sym_regex] = STATE(769),
    [sym_lambda] = STATE(769),
    [sym__simple_string] = ACTIONS(3712),
    [sym__simple_symbol] = ACTIONS(1276),
    [sym__simple_subshell] = ACTIONS(1278),
    [sym__simple_regex] = ACTIONS(1280),
    [sym__simple_word_list] = ACTIONS(1282),
    [sym__string_beginning] = ACTIONS(3714),
    [sym__symbol_beginning] = ACTIONS(1286),
    [sym__subshell_beginning] = ACTIONS(1288),
    [sym__regex_beginning] = ACTIONS(1290),
    [sym__word_list_beginning] = ACTIONS(1292),
    [sym_heredoc_beginning] = ACTIONS(1294),
    [sym__unary_minus] = ACTIONS(1302),
    [anon_sym_LBRACE] = ACTIONS(3716),
    [anon_sym_def] = ACTIONS(3718),
    [anon_sym_LPAREN] = ACTIONS(1308),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3720),
    [anon_sym_module] = ACTIONS(3722),
    [anon_sym_return] = ACTIONS(3724),
    [anon_sym_yield] = ACTIONS(3726),
    [anon_sym_break] = ACTIONS(3728),
    [anon_sym_next] = ACTIONS(3730),
    [anon_sym_redo] = ACTIONS(3732),
    [anon_sym_retry] = ACTIONS(3734),
    [anon_sym_if] = ACTIONS(3736),
    [anon_sym_unless] = ACTIONS(3738),
    [anon_sym_while] = ACTIONS(3740),
    [anon_sym_until] = ACTIONS(3742),
    [anon_sym_for] = ACTIONS(3744),
    [anon_sym_case] = ACTIONS(3746),
    [anon_sym_begin] = ACTIONS(3748),
    [anon_sym_PLUS] = ACTIONS(3750),
    [anon_sym_defined_QMARK] = ACTIONS(1334),
    [anon_sym_not] = ACTIONS(3752),
    [anon_sym_BANG] = ACTIONS(1340),
    [anon_sym_TILDE] = ACTIONS(1340),
    [sym_constant] = ACTIONS(3488),
    [sym_identifier] = ACTIONS(3488),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_false] = ACTIONS(1186),
    [anon_sym_nil] = ACTIONS(1188),
    [anon_sym_self] = ACTIONS(3490),
    [anon_sym_super] = ACTIONS(3492),
    [anon_sym_true] = ACTIONS(1184),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1344),
    [sym_float] = ACTIONS(1346),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1348),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1350),
    [sym_keyword__LINE__] = ACTIONS(1350),
    [sym_keyword__ENCODING__] = ACTIONS(1350),
    [sym__character_literal] = ACTIONS(3754),
    [anon_sym_LBRACK] = ACTIONS(1354),
    [anon_sym_DASH_GT] = ACTIONS(1356),
  },
  [2577] = {
    [sym_method] = STATE(769),
    [sym_singleton_method] = STATE(769),
    [sym_class] = STATE(769),
    [sym_singleton_class] = STATE(769),
    [sym_module] = STATE(769),
    [sym_return] = STATE(769),
    [sym_yield] = STATE(769),
    [sym_break] = STATE(769),
    [sym_next] = STATE(769),
    [sym_redo] = STATE(769),
    [sym_retry] = STATE(769),
    [sym_while] = STATE(769),
    [sym_until] = STATE(769),
    [sym_for] = STATE(769),
    [sym_case] = STATE(769),
    [sym_if] = STATE(769),
    [sym_unless] = STATE(769),
    [sym_begin] = STATE(769),
    [sym__arg] = STATE(5404),
    [sym__primary] = STATE(804),
    [sym_parenthesized_statements] = STATE(769),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(805),
    [sym_call] = STATE(805),
    [sym_method_call] = STATE(694),
    [sym_assignment] = STATE(811),
    [sym_operator_assignment] = STATE(811),
    [sym_conditional] = STATE(811),
    [sym_range] = STATE(811),
    [sym_binary] = STATE(811),
    [sym_unary] = STATE(811),
    [sym_left_assignment_list] = STATE(812),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(813),
    [sym__variable] = STATE(805),
    [sym_symbol] = STATE(769),
    [sym_complex] = STATE(769),
    [sym_rational] = STATE(769),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(769),
    [sym_string] = STATE(2518),
    [sym_subshell] = STATE(769),
    [sym_array] = STATE(769),
    [sym_hash] = STATE(769),
    [sym_regex] = STATE(769),
    [sym_lambda] = STATE(769),
    [sym__simple_string] = ACTIONS(3712),
    [sym__simple_symbol] = ACTIONS(1276),
    [sym__simple_subshell] = ACTIONS(1278),
    [sym__simple_regex] = ACTIONS(1280),
    [sym__simple_word_list] = ACTIONS(1282),
    [sym__string_beginning] = ACTIONS(3714),
    [sym__symbol_beginning] = ACTIONS(1286),
    [sym__subshell_beginning] = ACTIONS(1288),
    [sym__regex_beginning] = ACTIONS(1290),
    [sym__word_list_beginning] = ACTIONS(1292),
    [sym_heredoc_beginning] = ACTIONS(1294),
    [sym__unary_minus] = ACTIONS(1302),
    [anon_sym_LBRACE] = ACTIONS(3716),
    [anon_sym_def] = ACTIONS(3718),
    [anon_sym_LPAREN] = ACTIONS(1308),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3720),
    [anon_sym_module] = ACTIONS(3722),
    [anon_sym_return] = ACTIONS(3724),
    [anon_sym_yield] = ACTIONS(3726),
    [anon_sym_break] = ACTIONS(3728),
    [anon_sym_next] = ACTIONS(3730),
    [anon_sym_redo] = ACTIONS(3732),
    [anon_sym_retry] = ACTIONS(3734),
    [anon_sym_if] = ACTIONS(3736),
    [anon_sym_unless] = ACTIONS(3738),
    [anon_sym_while] = ACTIONS(3740),
    [anon_sym_until] = ACTIONS(3742),
    [anon_sym_for] = ACTIONS(3744),
    [anon_sym_case] = ACTIONS(3746),
    [anon_sym_begin] = ACTIONS(3748),
    [anon_sym_PLUS] = ACTIONS(3750),
    [anon_sym_defined_QMARK] = ACTIONS(1334),
    [anon_sym_not] = ACTIONS(3752),
    [anon_sym_BANG] = ACTIONS(1340),
    [anon_sym_TILDE] = ACTIONS(1340),
    [sym_constant] = ACTIONS(3488),
    [sym_identifier] = ACTIONS(3488),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_false] = ACTIONS(1186),
    [anon_sym_nil] = ACTIONS(1188),
    [anon_sym_self] = ACTIONS(3490),
    [anon_sym_super] = ACTIONS(3492),
    [anon_sym_true] = ACTIONS(1184),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1344),
    [sym_float] = ACTIONS(1346),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1348),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1350),
    [sym_keyword__LINE__] = ACTIONS(1350),
    [sym_keyword__ENCODING__] = ACTIONS(1350),
    [sym__character_literal] = ACTIONS(3754),
    [anon_sym_LBRACK] = ACTIONS(1354),
    [anon_sym_DASH_GT] = ACTIONS(1356),
  },
  [2578] = {
    [sym_method] = STATE(769),
    [sym_singleton_method] = STATE(769),
    [sym_class] = STATE(769),
    [sym_singleton_class] = STATE(769),
    [sym_module] = STATE(769),
    [sym_return] = STATE(769),
    [sym_yield] = STATE(769),
    [sym_break] = STATE(769),
    [sym_next] = STATE(769),
    [sym_redo] = STATE(769),
    [sym_retry] = STATE(769),
    [sym_while] = STATE(769),
    [sym_until] = STATE(769),
    [sym_for] = STATE(769),
    [sym_case] = STATE(769),
    [sym_if] = STATE(769),
    [sym_unless] = STATE(769),
    [sym_begin] = STATE(769),
    [sym__arg] = STATE(5405),
    [sym__primary] = STATE(804),
    [sym_parenthesized_statements] = STATE(769),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(805),
    [sym_call] = STATE(805),
    [sym_method_call] = STATE(694),
    [sym_assignment] = STATE(811),
    [sym_operator_assignment] = STATE(811),
    [sym_conditional] = STATE(811),
    [sym_range] = STATE(811),
    [sym_binary] = STATE(811),
    [sym_unary] = STATE(811),
    [sym_left_assignment_list] = STATE(812),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(813),
    [sym__variable] = STATE(805),
    [sym_symbol] = STATE(769),
    [sym_complex] = STATE(769),
    [sym_rational] = STATE(769),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(769),
    [sym_string] = STATE(2518),
    [sym_subshell] = STATE(769),
    [sym_array] = STATE(769),
    [sym_hash] = STATE(769),
    [sym_regex] = STATE(769),
    [sym_lambda] = STATE(769),
    [sym__simple_string] = ACTIONS(3712),
    [sym__simple_symbol] = ACTIONS(1276),
    [sym__simple_subshell] = ACTIONS(1278),
    [sym__simple_regex] = ACTIONS(1280),
    [sym__simple_word_list] = ACTIONS(1282),
    [sym__string_beginning] = ACTIONS(3714),
    [sym__symbol_beginning] = ACTIONS(1286),
    [sym__subshell_beginning] = ACTIONS(1288),
    [sym__regex_beginning] = ACTIONS(1290),
    [sym__word_list_beginning] = ACTIONS(1292),
    [sym_heredoc_beginning] = ACTIONS(1294),
    [sym__unary_minus] = ACTIONS(1302),
    [anon_sym_LBRACE] = ACTIONS(3716),
    [anon_sym_def] = ACTIONS(3718),
    [anon_sym_LPAREN] = ACTIONS(1308),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3720),
    [anon_sym_module] = ACTIONS(3722),
    [anon_sym_return] = ACTIONS(3724),
    [anon_sym_yield] = ACTIONS(3726),
    [anon_sym_break] = ACTIONS(3728),
    [anon_sym_next] = ACTIONS(3730),
    [anon_sym_redo] = ACTIONS(3732),
    [anon_sym_retry] = ACTIONS(3734),
    [anon_sym_if] = ACTIONS(3736),
    [anon_sym_unless] = ACTIONS(3738),
    [anon_sym_while] = ACTIONS(3740),
    [anon_sym_until] = ACTIONS(3742),
    [anon_sym_for] = ACTIONS(3744),
    [anon_sym_case] = ACTIONS(3746),
    [anon_sym_begin] = ACTIONS(3748),
    [anon_sym_PLUS] = ACTIONS(3750),
    [anon_sym_defined_QMARK] = ACTIONS(1334),
    [anon_sym_not] = ACTIONS(3752),
    [anon_sym_BANG] = ACTIONS(1340),
    [anon_sym_TILDE] = ACTIONS(1340),
    [sym_constant] = ACTIONS(3488),
    [sym_identifier] = ACTIONS(3488),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_false] = ACTIONS(1186),
    [anon_sym_nil] = ACTIONS(1188),
    [anon_sym_self] = ACTIONS(3490),
    [anon_sym_super] = ACTIONS(3492),
    [anon_sym_true] = ACTIONS(1184),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1344),
    [sym_float] = ACTIONS(1346),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1348),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1350),
    [sym_keyword__LINE__] = ACTIONS(1350),
    [sym_keyword__ENCODING__] = ACTIONS(1350),
    [sym__character_literal] = ACTIONS(3754),
    [anon_sym_LBRACK] = ACTIONS(1354),
    [anon_sym_DASH_GT] = ACTIONS(1356),
  },
  [2579] = {
    [sym_do_block] = STATE(5227),
    [sym_block] = STATE(5227),
    [sym__simple_heredoc_body] = ACTIONS(3346),
    [sym__heredoc_body_beginning] = ACTIONS(3346),
    [sym__string_middle] = ACTIONS(3346),
    [sym__string_end] = ACTIONS(3346),
    [sym__element_reference_left_bracket] = ACTIONS(3346),
    [sym__scope_double_colon] = ACTIONS(3346),
    [sym__binary_minus] = ACTIONS(3346),
    [sym__binary_star] = ACTIONS(3346),
    [anon_sym_LBRACE] = ACTIONS(3778),
    [anon_sym_DOT] = ACTIONS(3350),
    [anon_sym_COMMA] = ACTIONS(3346),
    [anon_sym_PIPE] = ACTIONS(3350),
    [anon_sym_STAR_STAR] = ACTIONS(3350),
    [anon_sym_AMP] = ACTIONS(3350),
    [anon_sym_EQ] = ACTIONS(3350),
    [anon_sym_LT] = ACTIONS(3350),
    [anon_sym_if] = ACTIONS(3346),
    [anon_sym_unless] = ACTIONS(3346),
    [anon_sym_while] = ACTIONS(3346),
    [anon_sym_until] = ACTIONS(3346),
    [anon_sym_rescue] = ACTIONS(3346),
    [anon_sym_do] = ACTIONS(3346),
    [anon_sym_EQ_GT] = ACTIONS(3346),
    [anon_sym_AMP_DOT] = ACTIONS(3346),
    [anon_sym_PLUS_EQ] = ACTIONS(3346),
    [anon_sym_DASH_EQ] = ACTIONS(3346),
    [anon_sym_STAR_EQ] = ACTIONS(3346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3346),
    [anon_sym_SLASH_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3346),
    [anon_sym_AMP_EQ] = ACTIONS(3346),
    [anon_sym_PERCENT_EQ] = ACTIONS(3346),
    [anon_sym_GT_GT_EQ] = ACTIONS(3346),
    [anon_sym_LT_LT_EQ] = ACTIONS(3346),
    [anon_sym_CARET_EQ] = ACTIONS(3346),
    [anon_sym_QMARK] = ACTIONS(3346),
    [anon_sym_DOT_DOT] = ACTIONS(3350),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3346),
    [anon_sym_and] = ACTIONS(3346),
    [anon_sym_or] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE] = ACTIONS(3350),
    [anon_sym_AMP_AMP] = ACTIONS(3350),
    [anon_sym_LT_LT] = ACTIONS(3350),
    [anon_sym_GT_GT] = ACTIONS(3350),
    [anon_sym_EQ_EQ] = ACTIONS(3350),
    [anon_sym_BANG_EQ] = ACTIONS(3346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3346),
    [anon_sym_LT_EQ_GT] = ACTIONS(3346),
    [anon_sym_EQ_TILDE] = ACTIONS(3346),
    [anon_sym_BANG_TILDE] = ACTIONS(3346),
    [anon_sym_LT_EQ] = ACTIONS(3350),
    [anon_sym_GT] = ACTIONS(3350),
    [anon_sym_GT_EQ] = ACTIONS(3346),
    [anon_sym_CARET] = ACTIONS(3350),
    [anon_sym_PLUS] = ACTIONS(3350),
    [anon_sym_SLASH] = ACTIONS(3350),
    [anon_sym_PERCENT] = ACTIONS(3350),
    [sym_comment] = ACTIONS(256),
  },
  [2580] = {
    [sym__statements] = STATE(2520),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(2521),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(841),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(7620),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_PIPE] = ACTIONS(3048),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2581] = {
    [sym__statements] = STATE(2546),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(2547),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1981),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(2548),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(3076),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(3078),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(3080),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(3768),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(3086),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2582] = {
    [sym__string_middle] = ACTIONS(7290),
    [sym__string_end] = ACTIONS(7290),
    [sym__element_reference_left_bracket] = ACTIONS(7290),
    [sym__scope_double_colon] = ACTIONS(7290),
    [sym__binary_minus] = ACTIONS(7290),
    [sym__binary_star] = ACTIONS(7290),
    [anon_sym_DOT] = ACTIONS(7292),
    [anon_sym_COMMA] = ACTIONS(7290),
    [anon_sym_PIPE] = ACTIONS(7292),
    [anon_sym_STAR_STAR] = ACTIONS(7292),
    [anon_sym_AMP] = ACTIONS(7292),
    [anon_sym_EQ] = ACTIONS(7292),
    [anon_sym_LT] = ACTIONS(7292),
    [anon_sym_if] = ACTIONS(7290),
    [anon_sym_unless] = ACTIONS(7290),
    [anon_sym_while] = ACTIONS(7290),
    [anon_sym_until] = ACTIONS(7290),
    [anon_sym_rescue] = ACTIONS(7290),
    [anon_sym_AMP_DOT] = ACTIONS(7290),
    [anon_sym_PLUS_EQ] = ACTIONS(7290),
    [anon_sym_DASH_EQ] = ACTIONS(7290),
    [anon_sym_STAR_EQ] = ACTIONS(7290),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7290),
    [anon_sym_SLASH_EQ] = ACTIONS(7290),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7290),
    [anon_sym_PIPE_EQ] = ACTIONS(7290),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7290),
    [anon_sym_AMP_EQ] = ACTIONS(7290),
    [anon_sym_PERCENT_EQ] = ACTIONS(7290),
    [anon_sym_GT_GT_EQ] = ACTIONS(7290),
    [anon_sym_LT_LT_EQ] = ACTIONS(7290),
    [anon_sym_CARET_EQ] = ACTIONS(7290),
    [anon_sym_QMARK] = ACTIONS(7290),
    [anon_sym_DOT_DOT] = ACTIONS(7292),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7290),
    [anon_sym_and] = ACTIONS(7290),
    [anon_sym_or] = ACTIONS(7290),
    [anon_sym_PIPE_PIPE] = ACTIONS(7292),
    [anon_sym_AMP_AMP] = ACTIONS(7292),
    [anon_sym_LT_LT] = ACTIONS(7292),
    [anon_sym_GT_GT] = ACTIONS(7292),
    [anon_sym_EQ_EQ] = ACTIONS(7292),
    [anon_sym_BANG_EQ] = ACTIONS(7290),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7290),
    [anon_sym_LT_EQ_GT] = ACTIONS(7290),
    [anon_sym_EQ_TILDE] = ACTIONS(7290),
    [anon_sym_BANG_TILDE] = ACTIONS(7290),
    [anon_sym_LT_EQ] = ACTIONS(7292),
    [anon_sym_GT] = ACTIONS(7292),
    [anon_sym_GT_EQ] = ACTIONS(7290),
    [anon_sym_CARET] = ACTIONS(7292),
    [anon_sym_PLUS] = ACTIONS(7292),
    [anon_sym_SLASH] = ACTIONS(7292),
    [anon_sym_PERCENT] = ACTIONS(7292),
    [sym_comment] = ACTIONS(256),
  },
  [2583] = {
    [sym__simple_heredoc_body] = ACTIONS(1398),
    [sym__heredoc_body_beginning] = ACTIONS(1398),
    [sym__string_middle] = ACTIONS(1398),
    [sym__string_end] = ACTIONS(1398),
    [sym__element_reference_left_bracket] = ACTIONS(1398),
    [sym__scope_double_colon] = ACTIONS(1398),
    [sym__binary_minus] = ACTIONS(1398),
    [sym__binary_star] = ACTIONS(1398),
    [anon_sym_LBRACE] = ACTIONS(1398),
    [anon_sym_DOT] = ACTIONS(2666),
    [anon_sym_COMMA] = ACTIONS(1398),
    [anon_sym_PIPE] = ACTIONS(2666),
    [anon_sym_STAR_STAR] = ACTIONS(2666),
    [anon_sym_AMP] = ACTIONS(2666),
    [anon_sym_EQ] = ACTIONS(2666),
    [anon_sym_LT] = ACTIONS(2666),
    [anon_sym_if] = ACTIONS(1398),
    [anon_sym_unless] = ACTIONS(1398),
    [anon_sym_while] = ACTIONS(1398),
    [anon_sym_until] = ACTIONS(1398),
    [anon_sym_rescue] = ACTIONS(1398),
    [anon_sym_do] = ACTIONS(1398),
    [anon_sym_AMP_DOT] = ACTIONS(1398),
    [anon_sym_PLUS_EQ] = ACTIONS(1398),
    [anon_sym_DASH_EQ] = ACTIONS(1398),
    [anon_sym_STAR_EQ] = ACTIONS(1398),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1398),
    [anon_sym_SLASH_EQ] = ACTIONS(1398),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1398),
    [anon_sym_PIPE_EQ] = ACTIONS(1398),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1398),
    [anon_sym_AMP_EQ] = ACTIONS(1398),
    [anon_sym_PERCENT_EQ] = ACTIONS(1398),
    [anon_sym_GT_GT_EQ] = ACTIONS(1398),
    [anon_sym_LT_LT_EQ] = ACTIONS(1398),
    [anon_sym_CARET_EQ] = ACTIONS(1398),
    [anon_sym_QMARK] = ACTIONS(1398),
    [anon_sym_DOT_DOT] = ACTIONS(2666),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1398),
    [anon_sym_and] = ACTIONS(1398),
    [anon_sym_or] = ACTIONS(1398),
    [anon_sym_PIPE_PIPE] = ACTIONS(2666),
    [anon_sym_AMP_AMP] = ACTIONS(2666),
    [anon_sym_LT_LT] = ACTIONS(2666),
    [anon_sym_GT_GT] = ACTIONS(2666),
    [anon_sym_EQ_EQ] = ACTIONS(2666),
    [anon_sym_BANG_EQ] = ACTIONS(1398),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1398),
    [anon_sym_LT_EQ_GT] = ACTIONS(1398),
    [anon_sym_EQ_TILDE] = ACTIONS(1398),
    [anon_sym_BANG_TILDE] = ACTIONS(1398),
    [anon_sym_LT_EQ] = ACTIONS(2666),
    [anon_sym_GT] = ACTIONS(2666),
    [anon_sym_GT_EQ] = ACTIONS(1398),
    [anon_sym_CARET] = ACTIONS(2666),
    [anon_sym_PLUS] = ACTIONS(2666),
    [anon_sym_SLASH] = ACTIONS(2666),
    [anon_sym_PERCENT] = ACTIONS(2666),
    [sym_comment] = ACTIONS(256),
  },
  [2584] = {
    [sym__statement] = STATE(5407),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [aux_sym_heredoc_end_repeat1] = STATE(5408),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [2585] = {
    [sym__simple_heredoc_body] = ACTIONS(5468),
    [sym__heredoc_body_beginning] = ACTIONS(5468),
    [sym__string_middle] = ACTIONS(5468),
    [sym__string_end] = ACTIONS(5468),
    [sym__element_reference_left_bracket] = ACTIONS(5468),
    [sym__scope_double_colon] = ACTIONS(5468),
    [sym__binary_minus] = ACTIONS(5468),
    [sym__binary_star] = ACTIONS(5468),
    [anon_sym_LBRACE] = ACTIONS(5468),
    [anon_sym_DOT] = ACTIONS(5470),
    [anon_sym_COMMA] = ACTIONS(5468),
    [anon_sym_PIPE] = ACTIONS(5470),
    [anon_sym_STAR_STAR] = ACTIONS(5470),
    [anon_sym_AMP] = ACTIONS(5470),
    [anon_sym_EQ] = ACTIONS(5470),
    [anon_sym_LT] = ACTIONS(5470),
    [anon_sym_if] = ACTIONS(5468),
    [anon_sym_unless] = ACTIONS(5468),
    [anon_sym_while] = ACTIONS(5468),
    [anon_sym_until] = ACTIONS(5468),
    [anon_sym_rescue] = ACTIONS(5468),
    [anon_sym_do] = ACTIONS(5468),
    [anon_sym_AMP_DOT] = ACTIONS(5468),
    [anon_sym_PLUS_EQ] = ACTIONS(5468),
    [anon_sym_DASH_EQ] = ACTIONS(5468),
    [anon_sym_STAR_EQ] = ACTIONS(5468),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5468),
    [anon_sym_SLASH_EQ] = ACTIONS(5468),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5468),
    [anon_sym_PIPE_EQ] = ACTIONS(5468),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5468),
    [anon_sym_AMP_EQ] = ACTIONS(5468),
    [anon_sym_PERCENT_EQ] = ACTIONS(5468),
    [anon_sym_GT_GT_EQ] = ACTIONS(5468),
    [anon_sym_LT_LT_EQ] = ACTIONS(5468),
    [anon_sym_CARET_EQ] = ACTIONS(5468),
    [anon_sym_QMARK] = ACTIONS(5468),
    [anon_sym_DOT_DOT] = ACTIONS(5470),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5468),
    [anon_sym_and] = ACTIONS(5468),
    [anon_sym_or] = ACTIONS(5468),
    [anon_sym_PIPE_PIPE] = ACTIONS(5470),
    [anon_sym_AMP_AMP] = ACTIONS(5470),
    [anon_sym_LT_LT] = ACTIONS(5470),
    [anon_sym_GT_GT] = ACTIONS(5470),
    [anon_sym_EQ_EQ] = ACTIONS(5470),
    [anon_sym_BANG_EQ] = ACTIONS(5468),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5468),
    [anon_sym_LT_EQ_GT] = ACTIONS(5468),
    [anon_sym_EQ_TILDE] = ACTIONS(5468),
    [anon_sym_BANG_TILDE] = ACTIONS(5468),
    [anon_sym_LT_EQ] = ACTIONS(5470),
    [anon_sym_GT] = ACTIONS(5470),
    [anon_sym_GT_EQ] = ACTIONS(5468),
    [anon_sym_CARET] = ACTIONS(5470),
    [anon_sym_PLUS] = ACTIONS(5470),
    [anon_sym_SLASH] = ACTIONS(5470),
    [anon_sym_PERCENT] = ACTIONS(5470),
    [sym_comment] = ACTIONS(256),
  },
  [2586] = {
    [sym_heredoc_end] = STATE(5409),
    [sym__simple_heredoc_body] = ACTIONS(3814),
    [sym__heredoc_body_beginning] = ACTIONS(3816),
    [sym__string_middle] = ACTIONS(5472),
    [sym__string_end] = ACTIONS(5472),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_LBRACE] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(5472),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_STAR_STAR] = ACTIONS(5474),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_EQ] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_if] = ACTIONS(5472),
    [anon_sym_unless] = ACTIONS(5472),
    [anon_sym_while] = ACTIONS(5472),
    [anon_sym_until] = ACTIONS(5472),
    [anon_sym_rescue] = ACTIONS(5472),
    [anon_sym_do] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_PLUS_EQ] = ACTIONS(5472),
    [anon_sym_DASH_EQ] = ACTIONS(5472),
    [anon_sym_STAR_EQ] = ACTIONS(5472),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5472),
    [anon_sym_SLASH_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5472),
    [anon_sym_AMP_EQ] = ACTIONS(5472),
    [anon_sym_PERCENT_EQ] = ACTIONS(5472),
    [anon_sym_GT_GT_EQ] = ACTIONS(5472),
    [anon_sym_LT_LT_EQ] = ACTIONS(5472),
    [anon_sym_CARET_EQ] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5474),
    [anon_sym_AMP_AMP] = ACTIONS(5474),
    [anon_sym_LT_LT] = ACTIONS(5474),
    [anon_sym_GT_GT] = ACTIONS(5474),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5474),
    [anon_sym_PLUS] = ACTIONS(5474),
    [anon_sym_SLASH] = ACTIONS(5474),
    [anon_sym_PERCENT] = ACTIONS(5474),
    [sym_comment] = ACTIONS(256),
  },
  [2587] = {
    [sym_method] = STATE(769),
    [sym_singleton_method] = STATE(769),
    [sym_class] = STATE(769),
    [sym_singleton_class] = STATE(769),
    [sym_module] = STATE(769),
    [sym_return] = STATE(769),
    [sym_yield] = STATE(769),
    [sym_break] = STATE(769),
    [sym_next] = STATE(769),
    [sym_redo] = STATE(769),
    [sym_retry] = STATE(769),
    [sym_while] = STATE(769),
    [sym_until] = STATE(769),
    [sym_for] = STATE(769),
    [sym_case] = STATE(769),
    [sym_if] = STATE(769),
    [sym_unless] = STATE(769),
    [sym_begin] = STATE(769),
    [sym__arg] = STATE(803),
    [sym__primary] = STATE(804),
    [sym_parenthesized_statements] = STATE(769),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(805),
    [sym_call] = STATE(805),
    [sym_method_call] = STATE(694),
    [sym__argument] = STATE(5410),
    [sym_splat_argument] = STATE(809),
    [sym_hash_splat_argument] = STATE(809),
    [sym_block_argument] = STATE(809),
    [sym_assignment] = STATE(811),
    [sym_operator_assignment] = STATE(811),
    [sym_conditional] = STATE(811),
    [sym_range] = STATE(811),
    [sym_binary] = STATE(811),
    [sym_unary] = STATE(811),
    [sym_left_assignment_list] = STATE(812),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(813),
    [sym__variable] = STATE(805),
    [sym_reserved_identifier] = STATE(814),
    [sym_symbol] = STATE(769),
    [sym_complex] = STATE(769),
    [sym_rational] = STATE(769),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(769),
    [sym_string] = STATE(815),
    [sym_subshell] = STATE(769),
    [sym_heredoc_end] = STATE(5411),
    [sym_array] = STATE(769),
    [sym_hash] = STATE(769),
    [sym_pair] = STATE(809),
    [sym_regex] = STATE(769),
    [sym_lambda] = STATE(769),
    [sym__simple_string] = ACTIONS(1274),
    [sym__simple_symbol] = ACTIONS(1276),
    [sym__simple_subshell] = ACTIONS(1278),
    [sym__simple_regex] = ACTIONS(1280),
    [sym__simple_word_list] = ACTIONS(1282),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(1284),
    [sym__symbol_beginning] = ACTIONS(1286),
    [sym__subshell_beginning] = ACTIONS(1288),
    [sym__regex_beginning] = ACTIONS(1290),
    [sym__word_list_beginning] = ACTIONS(1292),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(1294),
    [sym__block_ampersand] = ACTIONS(1296),
    [sym__splat_star] = ACTIONS(1298),
    [sym__unary_minus] = ACTIONS(1302),
    [anon_sym_LBRACE] = ACTIONS(3716),
    [anon_sym_def] = ACTIONS(1306),
    [anon_sym_LPAREN] = ACTIONS(1308),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(7622),
    [anon_sym_class] = ACTIONS(1310),
    [anon_sym_module] = ACTIONS(1312),
    [anon_sym_return] = ACTIONS(1314),
    [anon_sym_yield] = ACTIONS(1316),
    [anon_sym_break] = ACTIONS(1318),
    [anon_sym_next] = ACTIONS(1320),
    [anon_sym_redo] = ACTIONS(1322),
    [anon_sym_retry] = ACTIONS(1324),
    [anon_sym_if] = ACTIONS(7624),
    [anon_sym_unless] = ACTIONS(7626),
    [anon_sym_while] = ACTIONS(7628),
    [anon_sym_until] = ACTIONS(7630),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1326),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1330),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1332),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(3750),
    [anon_sym_defined_QMARK] = ACTIONS(1334),
    [anon_sym_not] = ACTIONS(1336),
    [anon_sym_BANG] = ACTIONS(1340),
    [anon_sym_TILDE] = ACTIONS(1340),
    [sym_constant] = ACTIONS(1342),
    [sym_identifier] = ACTIONS(1342),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(1168),
    [anon_sym_nil] = ACTIONS(1170),
    [anon_sym_self] = ACTIONS(1172),
    [anon_sym_super] = ACTIONS(1174),
    [anon_sym_true] = ACTIONS(1176),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1344),
    [sym_float] = ACTIONS(1346),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1348),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1350),
    [sym_keyword__LINE__] = ACTIONS(1350),
    [sym_keyword__ENCODING__] = ACTIONS(1350),
    [sym__character_literal] = ACTIONS(1352),
    [anon_sym_LBRACK] = ACTIONS(1354),
    [anon_sym_DASH_GT] = ACTIONS(1356),
  },
  [2588] = {
    [sym_heredoc_end] = STATE(2585),
    [aux_sym_argument_list_repeat2] = STATE(5413),
    [sym__simple_heredoc_body] = ACTIONS(3814),
    [sym__heredoc_body_beginning] = ACTIONS(3816),
    [sym__string_middle] = ACTIONS(5472),
    [sym__string_end] = ACTIONS(5472),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_LBRACE] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(7632),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_STAR_STAR] = ACTIONS(5474),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_EQ] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_if] = ACTIONS(5472),
    [anon_sym_unless] = ACTIONS(5472),
    [anon_sym_while] = ACTIONS(5472),
    [anon_sym_until] = ACTIONS(5472),
    [anon_sym_rescue] = ACTIONS(5472),
    [anon_sym_do] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_PLUS_EQ] = ACTIONS(5472),
    [anon_sym_DASH_EQ] = ACTIONS(5472),
    [anon_sym_STAR_EQ] = ACTIONS(5472),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5472),
    [anon_sym_SLASH_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5472),
    [anon_sym_AMP_EQ] = ACTIONS(5472),
    [anon_sym_PERCENT_EQ] = ACTIONS(5472),
    [anon_sym_GT_GT_EQ] = ACTIONS(5472),
    [anon_sym_LT_LT_EQ] = ACTIONS(5472),
    [anon_sym_CARET_EQ] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5474),
    [anon_sym_AMP_AMP] = ACTIONS(5474),
    [anon_sym_LT_LT] = ACTIONS(5474),
    [anon_sym_GT_GT] = ACTIONS(5474),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5474),
    [anon_sym_PLUS] = ACTIONS(5474),
    [anon_sym_SLASH] = ACTIONS(5474),
    [anon_sym_PERCENT] = ACTIONS(5474),
    [sym_comment] = ACTIONS(256),
  },
  [2589] = {
    [sym_method] = STATE(769),
    [sym_singleton_method] = STATE(769),
    [sym_class] = STATE(769),
    [sym_singleton_class] = STATE(769),
    [sym_module] = STATE(769),
    [sym_return] = STATE(769),
    [sym_yield] = STATE(769),
    [sym_break] = STATE(769),
    [sym_next] = STATE(769),
    [sym_redo] = STATE(769),
    [sym_retry] = STATE(769),
    [sym_while] = STATE(769),
    [sym_until] = STATE(769),
    [sym_for] = STATE(769),
    [sym_case] = STATE(769),
    [sym_if] = STATE(769),
    [sym_unless] = STATE(769),
    [sym_begin] = STATE(769),
    [sym__arg] = STATE(5414),
    [sym__primary] = STATE(804),
    [sym_parenthesized_statements] = STATE(769),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(805),
    [sym_call] = STATE(805),
    [sym_method_call] = STATE(694),
    [sym_splat_argument] = STATE(5415),
    [sym_assignment] = STATE(811),
    [sym_operator_assignment] = STATE(811),
    [sym_conditional] = STATE(811),
    [sym_range] = STATE(811),
    [sym_binary] = STATE(811),
    [sym_unary] = STATE(811),
    [sym_right_assignment_list] = STATE(5416),
    [sym__arg_or_splat_arg] = STATE(5417),
    [sym_left_assignment_list] = STATE(812),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(813),
    [sym__variable] = STATE(805),
    [sym_symbol] = STATE(769),
    [sym_complex] = STATE(769),
    [sym_rational] = STATE(769),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(769),
    [sym_string] = STATE(2518),
    [sym_subshell] = STATE(769),
    [sym_array] = STATE(769),
    [sym_hash] = STATE(769),
    [sym_regex] = STATE(769),
    [sym_lambda] = STATE(769),
    [sym__simple_string] = ACTIONS(3712),
    [sym__simple_symbol] = ACTIONS(1276),
    [sym__simple_subshell] = ACTIONS(1278),
    [sym__simple_regex] = ACTIONS(1280),
    [sym__simple_word_list] = ACTIONS(1282),
    [sym__string_beginning] = ACTIONS(3714),
    [sym__symbol_beginning] = ACTIONS(1286),
    [sym__subshell_beginning] = ACTIONS(1288),
    [sym__regex_beginning] = ACTIONS(1290),
    [sym__word_list_beginning] = ACTIONS(1292),
    [sym_heredoc_beginning] = ACTIONS(1294),
    [sym__splat_star] = ACTIONS(3566),
    [sym__unary_minus] = ACTIONS(1302),
    [anon_sym_LBRACE] = ACTIONS(3716),
    [anon_sym_def] = ACTIONS(3718),
    [anon_sym_LPAREN] = ACTIONS(1308),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3720),
    [anon_sym_module] = ACTIONS(3722),
    [anon_sym_return] = ACTIONS(3724),
    [anon_sym_yield] = ACTIONS(3726),
    [anon_sym_break] = ACTIONS(3728),
    [anon_sym_next] = ACTIONS(3730),
    [anon_sym_redo] = ACTIONS(3732),
    [anon_sym_retry] = ACTIONS(3734),
    [anon_sym_if] = ACTIONS(3736),
    [anon_sym_unless] = ACTIONS(3738),
    [anon_sym_while] = ACTIONS(3740),
    [anon_sym_until] = ACTIONS(3742),
    [anon_sym_for] = ACTIONS(3744),
    [anon_sym_case] = ACTIONS(3746),
    [anon_sym_begin] = ACTIONS(3748),
    [anon_sym_PLUS] = ACTIONS(3750),
    [anon_sym_defined_QMARK] = ACTIONS(1334),
    [anon_sym_not] = ACTIONS(3752),
    [anon_sym_BANG] = ACTIONS(1340),
    [anon_sym_TILDE] = ACTIONS(1340),
    [sym_constant] = ACTIONS(3488),
    [sym_identifier] = ACTIONS(3488),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_false] = ACTIONS(1186),
    [anon_sym_nil] = ACTIONS(1188),
    [anon_sym_self] = ACTIONS(3490),
    [anon_sym_super] = ACTIONS(3492),
    [anon_sym_true] = ACTIONS(1184),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1344),
    [sym_float] = ACTIONS(1346),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1348),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1350),
    [sym_keyword__LINE__] = ACTIONS(1350),
    [sym_keyword__ENCODING__] = ACTIONS(1350),
    [sym__character_literal] = ACTIONS(3754),
    [anon_sym_LBRACK] = ACTIONS(1354),
    [anon_sym_DASH_GT] = ACTIONS(1356),
  },
  [2590] = {
    [sym_method] = STATE(769),
    [sym_singleton_method] = STATE(769),
    [sym_class] = STATE(769),
    [sym_singleton_class] = STATE(769),
    [sym_module] = STATE(769),
    [sym_return] = STATE(769),
    [sym_yield] = STATE(769),
    [sym_break] = STATE(769),
    [sym_next] = STATE(769),
    [sym_redo] = STATE(769),
    [sym_retry] = STATE(769),
    [sym_while] = STATE(769),
    [sym_until] = STATE(769),
    [sym_for] = STATE(769),
    [sym_case] = STATE(769),
    [sym_if] = STATE(769),
    [sym_unless] = STATE(769),
    [sym_begin] = STATE(769),
    [sym__arg] = STATE(5418),
    [sym__primary] = STATE(804),
    [sym_parenthesized_statements] = STATE(769),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(805),
    [sym_call] = STATE(805),
    [sym_method_call] = STATE(694),
    [sym_assignment] = STATE(811),
    [sym_operator_assignment] = STATE(811),
    [sym_conditional] = STATE(811),
    [sym_range] = STATE(811),
    [sym_binary] = STATE(811),
    [sym_unary] = STATE(811),
    [sym_left_assignment_list] = STATE(812),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(813),
    [sym__variable] = STATE(805),
    [sym_symbol] = STATE(769),
    [sym_complex] = STATE(769),
    [sym_rational] = STATE(769),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(769),
    [sym_string] = STATE(2518),
    [sym_subshell] = STATE(769),
    [sym_array] = STATE(769),
    [sym_hash] = STATE(769),
    [sym_regex] = STATE(769),
    [sym_lambda] = STATE(769),
    [sym__simple_string] = ACTIONS(3712),
    [sym__simple_symbol] = ACTIONS(1276),
    [sym__simple_subshell] = ACTIONS(1278),
    [sym__simple_regex] = ACTIONS(1280),
    [sym__simple_word_list] = ACTIONS(1282),
    [sym__string_beginning] = ACTIONS(3714),
    [sym__symbol_beginning] = ACTIONS(1286),
    [sym__subshell_beginning] = ACTIONS(1288),
    [sym__regex_beginning] = ACTIONS(1290),
    [sym__word_list_beginning] = ACTIONS(1292),
    [sym_heredoc_beginning] = ACTIONS(1294),
    [sym__unary_minus] = ACTIONS(1302),
    [anon_sym_LBRACE] = ACTIONS(3716),
    [anon_sym_def] = ACTIONS(3718),
    [anon_sym_LPAREN] = ACTIONS(1308),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3720),
    [anon_sym_module] = ACTIONS(3722),
    [anon_sym_return] = ACTIONS(3724),
    [anon_sym_yield] = ACTIONS(3726),
    [anon_sym_break] = ACTIONS(3728),
    [anon_sym_next] = ACTIONS(3730),
    [anon_sym_redo] = ACTIONS(3732),
    [anon_sym_retry] = ACTIONS(3734),
    [anon_sym_if] = ACTIONS(3736),
    [anon_sym_unless] = ACTIONS(3738),
    [anon_sym_while] = ACTIONS(3740),
    [anon_sym_until] = ACTIONS(3742),
    [anon_sym_for] = ACTIONS(3744),
    [anon_sym_case] = ACTIONS(3746),
    [anon_sym_begin] = ACTIONS(3748),
    [anon_sym_PLUS] = ACTIONS(3750),
    [anon_sym_defined_QMARK] = ACTIONS(1334),
    [anon_sym_not] = ACTIONS(3752),
    [anon_sym_BANG] = ACTIONS(1340),
    [anon_sym_TILDE] = ACTIONS(1340),
    [sym_constant] = ACTIONS(3488),
    [sym_identifier] = ACTIONS(3488),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_false] = ACTIONS(1186),
    [anon_sym_nil] = ACTIONS(1188),
    [anon_sym_self] = ACTIONS(3490),
    [anon_sym_super] = ACTIONS(3492),
    [anon_sym_true] = ACTIONS(1184),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1344),
    [sym_float] = ACTIONS(1346),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1348),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1350),
    [sym_keyword__LINE__] = ACTIONS(1350),
    [sym_keyword__ENCODING__] = ACTIONS(1350),
    [sym__character_literal] = ACTIONS(3754),
    [anon_sym_LBRACK] = ACTIONS(1354),
    [anon_sym_DASH_GT] = ACTIONS(1356),
  },
  [2591] = {
    [sym_method] = STATE(2460),
    [sym_singleton_method] = STATE(2460),
    [sym_class] = STATE(2460),
    [sym_singleton_class] = STATE(2460),
    [sym_module] = STATE(2460),
    [sym_return] = STATE(2460),
    [sym_yield] = STATE(2460),
    [sym_break] = STATE(2460),
    [sym_next] = STATE(2460),
    [sym_redo] = STATE(2460),
    [sym_retry] = STATE(2460),
    [sym_while] = STATE(2460),
    [sym_until] = STATE(2460),
    [sym_for] = STATE(2460),
    [sym_case] = STATE(2460),
    [sym_if] = STATE(2460),
    [sym_unless] = STATE(2460),
    [sym_begin] = STATE(2460),
    [sym__arg] = STATE(5419),
    [sym__primary] = STATE(2488),
    [sym_parenthesized_statements] = STATE(2460),
    [sym_element_reference] = STATE(2282),
    [sym_scope_resolution] = STATE(2489),
    [sym_call] = STATE(2489),
    [sym_method_call] = STATE(2282),
    [sym_assignment] = STATE(2490),
    [sym_operator_assignment] = STATE(2490),
    [sym_conditional] = STATE(2490),
    [sym_range] = STATE(2490),
    [sym_binary] = STATE(2490),
    [sym_unary] = STATE(2490),
    [sym_left_assignment_list] = STATE(2491),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2492),
    [sym__variable] = STATE(2489),
    [sym_symbol] = STATE(2460),
    [sym_complex] = STATE(2460),
    [sym_rational] = STATE(2460),
    [sym_super] = STATE(2274),
    [sym_true] = STATE(2282),
    [sym_false] = STATE(2282),
    [sym_self] = STATE(2274),
    [sym_nil] = STATE(2282),
    [sym_chained_string] = STATE(2460),
    [sym_string] = STATE(2493),
    [sym_subshell] = STATE(2460),
    [sym_array] = STATE(2460),
    [sym_hash] = STATE(2460),
    [sym_regex] = STATE(2460),
    [sym_lambda] = STATE(2460),
    [sym__simple_string] = ACTIONS(3628),
    [sym__simple_symbol] = ACTIONS(3630),
    [sym__simple_subshell] = ACTIONS(3632),
    [sym__simple_regex] = ACTIONS(3634),
    [sym__simple_word_list] = ACTIONS(3636),
    [sym__string_beginning] = ACTIONS(3638),
    [sym__symbol_beginning] = ACTIONS(3640),
    [sym__subshell_beginning] = ACTIONS(3642),
    [sym__regex_beginning] = ACTIONS(3644),
    [sym__word_list_beginning] = ACTIONS(3646),
    [sym_heredoc_beginning] = ACTIONS(3648),
    [sym__unary_minus] = ACTIONS(3650),
    [anon_sym_LBRACE] = ACTIONS(3652),
    [anon_sym_def] = ACTIONS(3654),
    [anon_sym_LPAREN] = ACTIONS(3656),
    [anon_sym_COLON_COLON] = ACTIONS(3418),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3658),
    [anon_sym_module] = ACTIONS(3660),
    [anon_sym_return] = ACTIONS(3662),
    [anon_sym_yield] = ACTIONS(3664),
    [anon_sym_break] = ACTIONS(3666),
    [anon_sym_next] = ACTIONS(3668),
    [anon_sym_redo] = ACTIONS(3670),
    [anon_sym_retry] = ACTIONS(3672),
    [anon_sym_if] = ACTIONS(3674),
    [anon_sym_unless] = ACTIONS(3676),
    [anon_sym_while] = ACTIONS(3678),
    [anon_sym_until] = ACTIONS(3680),
    [anon_sym_for] = ACTIONS(3682),
    [anon_sym_case] = ACTIONS(3684),
    [anon_sym_begin] = ACTIONS(3686),
    [anon_sym_PLUS] = ACTIONS(3688),
    [anon_sym_defined_QMARK] = ACTIONS(3690),
    [anon_sym_not] = ACTIONS(3692),
    [anon_sym_BANG] = ACTIONS(3694),
    [anon_sym_TILDE] = ACTIONS(3694),
    [sym_constant] = ACTIONS(3458),
    [sym_identifier] = ACTIONS(3458),
    [sym_instance_variable] = ACTIONS(3460),
    [sym_class_variable] = ACTIONS(3460),
    [sym_global_variable] = ACTIONS(3460),
    [anon_sym_false] = ACTIONS(3462),
    [anon_sym_nil] = ACTIONS(3464),
    [anon_sym_self] = ACTIONS(3466),
    [anon_sym_super] = ACTIONS(3468),
    [anon_sym_true] = ACTIONS(3470),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3696),
    [sym_float] = ACTIONS(3698),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3700),
    [anon_sym_TRUE] = ACTIONS(3470),
    [anon_sym_FALSE] = ACTIONS(3462),
    [anon_sym_NIL] = ACTIONS(3464),
    [sym_keyword__FILE__] = ACTIONS(3702),
    [sym_keyword__LINE__] = ACTIONS(3702),
    [sym_keyword__ENCODING__] = ACTIONS(3702),
    [sym__character_literal] = ACTIONS(3704),
    [anon_sym_LBRACK] = ACTIONS(3706),
    [anon_sym_DASH_GT] = ACTIONS(3708),
  },
  [2592] = {
    [sym__simple_string] = ACTIONS(3382),
    [sym__simple_heredoc_body] = ACTIONS(3382),
    [sym__string_beginning] = ACTIONS(3382),
    [sym__heredoc_body_beginning] = ACTIONS(3382),
    [sym__string_middle] = ACTIONS(3382),
    [sym__string_end] = ACTIONS(3382),
    [sym__element_reference_left_bracket] = ACTIONS(3382),
    [sym__scope_double_colon] = ACTIONS(3382),
    [sym__binary_minus] = ACTIONS(3382),
    [sym__binary_star] = ACTIONS(3382),
    [anon_sym_LBRACE] = ACTIONS(3382),
    [anon_sym_DOT] = ACTIONS(3384),
    [anon_sym_COMMA] = ACTIONS(3382),
    [anon_sym_PIPE] = ACTIONS(3384),
    [anon_sym_STAR_STAR] = ACTIONS(3384),
    [anon_sym_AMP] = ACTIONS(3384),
    [anon_sym_EQ] = ACTIONS(3384),
    [anon_sym_LT] = ACTIONS(3384),
    [anon_sym_if] = ACTIONS(3382),
    [anon_sym_unless] = ACTIONS(3382),
    [anon_sym_while] = ACTIONS(3382),
    [anon_sym_until] = ACTIONS(3382),
    [anon_sym_rescue] = ACTIONS(3382),
    [anon_sym_do] = ACTIONS(3382),
    [anon_sym_EQ_GT] = ACTIONS(3382),
    [anon_sym_AMP_DOT] = ACTIONS(3382),
    [anon_sym_PLUS_EQ] = ACTIONS(3382),
    [anon_sym_DASH_EQ] = ACTIONS(3382),
    [anon_sym_STAR_EQ] = ACTIONS(3382),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3382),
    [anon_sym_SLASH_EQ] = ACTIONS(3382),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3382),
    [anon_sym_PIPE_EQ] = ACTIONS(3382),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3382),
    [anon_sym_AMP_EQ] = ACTIONS(3382),
    [anon_sym_PERCENT_EQ] = ACTIONS(3382),
    [anon_sym_GT_GT_EQ] = ACTIONS(3382),
    [anon_sym_LT_LT_EQ] = ACTIONS(3382),
    [anon_sym_CARET_EQ] = ACTIONS(3382),
    [anon_sym_QMARK] = ACTIONS(3384),
    [anon_sym_DOT_DOT] = ACTIONS(3384),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3382),
    [anon_sym_and] = ACTIONS(3382),
    [anon_sym_or] = ACTIONS(3382),
    [anon_sym_PIPE_PIPE] = ACTIONS(3384),
    [anon_sym_AMP_AMP] = ACTIONS(3384),
    [anon_sym_LT_LT] = ACTIONS(3384),
    [anon_sym_GT_GT] = ACTIONS(3384),
    [anon_sym_EQ_EQ] = ACTIONS(3384),
    [anon_sym_BANG_EQ] = ACTIONS(3382),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3382),
    [anon_sym_LT_EQ_GT] = ACTIONS(3382),
    [anon_sym_EQ_TILDE] = ACTIONS(3382),
    [anon_sym_BANG_TILDE] = ACTIONS(3382),
    [anon_sym_LT_EQ] = ACTIONS(3384),
    [anon_sym_GT] = ACTIONS(3384),
    [anon_sym_GT_EQ] = ACTIONS(3382),
    [anon_sym_CARET] = ACTIONS(3384),
    [anon_sym_PLUS] = ACTIONS(3384),
    [anon_sym_SLASH] = ACTIONS(3384),
    [anon_sym_PERCENT] = ACTIONS(3384),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(3384),
  },
  [2593] = {
    [sym_string] = STATE(5420),
    [sym__simple_string] = ACTIONS(3712),
    [sym__simple_heredoc_body] = ACTIONS(3386),
    [sym__string_beginning] = ACTIONS(3714),
    [sym__heredoc_body_beginning] = ACTIONS(3386),
    [sym__string_middle] = ACTIONS(3386),
    [sym__string_end] = ACTIONS(3386),
    [sym__element_reference_left_bracket] = ACTIONS(3386),
    [sym__scope_double_colon] = ACTIONS(3386),
    [sym__binary_minus] = ACTIONS(3386),
    [sym__binary_star] = ACTIONS(3386),
    [anon_sym_LBRACE] = ACTIONS(3386),
    [anon_sym_DOT] = ACTIONS(3388),
    [anon_sym_COMMA] = ACTIONS(3386),
    [anon_sym_PIPE] = ACTIONS(3388),
    [anon_sym_STAR_STAR] = ACTIONS(3388),
    [anon_sym_AMP] = ACTIONS(3388),
    [anon_sym_EQ] = ACTIONS(3388),
    [anon_sym_LT] = ACTIONS(3388),
    [anon_sym_if] = ACTIONS(3386),
    [anon_sym_unless] = ACTIONS(3386),
    [anon_sym_while] = ACTIONS(3386),
    [anon_sym_until] = ACTIONS(3386),
    [anon_sym_rescue] = ACTIONS(3386),
    [anon_sym_do] = ACTIONS(3386),
    [anon_sym_EQ_GT] = ACTIONS(3386),
    [anon_sym_AMP_DOT] = ACTIONS(3386),
    [anon_sym_PLUS_EQ] = ACTIONS(3386),
    [anon_sym_DASH_EQ] = ACTIONS(3386),
    [anon_sym_STAR_EQ] = ACTIONS(3386),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3386),
    [anon_sym_SLASH_EQ] = ACTIONS(3386),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3386),
    [anon_sym_PIPE_EQ] = ACTIONS(3386),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3386),
    [anon_sym_AMP_EQ] = ACTIONS(3386),
    [anon_sym_PERCENT_EQ] = ACTIONS(3386),
    [anon_sym_GT_GT_EQ] = ACTIONS(3386),
    [anon_sym_LT_LT_EQ] = ACTIONS(3386),
    [anon_sym_CARET_EQ] = ACTIONS(3386),
    [anon_sym_QMARK] = ACTIONS(3388),
    [anon_sym_DOT_DOT] = ACTIONS(3388),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3386),
    [anon_sym_and] = ACTIONS(3386),
    [anon_sym_or] = ACTIONS(3386),
    [anon_sym_PIPE_PIPE] = ACTIONS(3388),
    [anon_sym_AMP_AMP] = ACTIONS(3388),
    [anon_sym_LT_LT] = ACTIONS(3388),
    [anon_sym_GT_GT] = ACTIONS(3388),
    [anon_sym_EQ_EQ] = ACTIONS(3388),
    [anon_sym_BANG_EQ] = ACTIONS(3386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3386),
    [anon_sym_LT_EQ_GT] = ACTIONS(3386),
    [anon_sym_EQ_TILDE] = ACTIONS(3386),
    [anon_sym_BANG_TILDE] = ACTIONS(3386),
    [anon_sym_LT_EQ] = ACTIONS(3388),
    [anon_sym_GT] = ACTIONS(3388),
    [anon_sym_GT_EQ] = ACTIONS(3386),
    [anon_sym_CARET] = ACTIONS(3388),
    [anon_sym_PLUS] = ACTIONS(3388),
    [anon_sym_SLASH] = ACTIONS(3388),
    [anon_sym_PERCENT] = ACTIONS(3388),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(3754),
  },
  [2594] = {
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(5421),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(2603),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2604),
    [sym__variable] = STATE(122),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(3830),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(3832),
    [anon_sym_defined_QMARK] = ACTIONS(3834),
    [anon_sym_not] = ACTIONS(3836),
    [anon_sym_BANG] = ACTIONS(3838),
    [anon_sym_TILDE] = ACTIONS(3838),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [2595] = {
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(5422),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(2603),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2604),
    [sym__variable] = STATE(122),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(3830),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(3832),
    [anon_sym_defined_QMARK] = ACTIONS(3834),
    [anon_sym_not] = ACTIONS(3836),
    [anon_sym_BANG] = ACTIONS(3838),
    [anon_sym_TILDE] = ACTIONS(3838),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [2596] = {
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(5423),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(2603),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2604),
    [sym__variable] = STATE(122),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(3830),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(3832),
    [anon_sym_defined_QMARK] = ACTIONS(3834),
    [anon_sym_not] = ACTIONS(3836),
    [anon_sym_BANG] = ACTIONS(3838),
    [anon_sym_TILDE] = ACTIONS(3838),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [2597] = {
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(5424),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(2603),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2604),
    [sym__variable] = STATE(122),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(3830),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(3832),
    [anon_sym_defined_QMARK] = ACTIONS(3834),
    [anon_sym_not] = ACTIONS(3836),
    [anon_sym_BANG] = ACTIONS(3838),
    [anon_sym_TILDE] = ACTIONS(3838),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [2598] = {
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(721),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(2603),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2604),
    [sym__variable] = STATE(122),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(3830),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(3832),
    [anon_sym_defined_QMARK] = ACTIONS(3834),
    [anon_sym_not] = ACTIONS(3836),
    [anon_sym_BANG] = ACTIONS(3838),
    [anon_sym_TILDE] = ACTIONS(3838),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [2599] = {
    [sym__string_middle] = ACTIONS(6346),
    [sym__string_end] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(7634),
    [sym__binary_star] = ACTIONS(7636),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(7638),
    [anon_sym_STAR_STAR] = ACTIONS(7640),
    [anon_sym_AMP] = ACTIONS(7642),
    [anon_sym_LT] = ACTIONS(7644),
    [anon_sym_if] = ACTIONS(6346),
    [anon_sym_unless] = ACTIONS(6346),
    [anon_sym_while] = ACTIONS(6346),
    [anon_sym_until] = ACTIONS(6346),
    [anon_sym_rescue] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(7646),
    [anon_sym_DOT_DOT] = ACTIONS(7648),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7650),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(7652),
    [anon_sym_AMP_AMP] = ACTIONS(7652),
    [anon_sym_LT_LT] = ACTIONS(7654),
    [anon_sym_GT_GT] = ACTIONS(7654),
    [anon_sym_EQ_EQ] = ACTIONS(7656),
    [anon_sym_BANG_EQ] = ACTIONS(7652),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7652),
    [anon_sym_LT_EQ_GT] = ACTIONS(7652),
    [anon_sym_EQ_TILDE] = ACTIONS(7652),
    [anon_sym_BANG_TILDE] = ACTIONS(7652),
    [anon_sym_LT_EQ] = ACTIONS(7644),
    [anon_sym_GT] = ACTIONS(7644),
    [anon_sym_GT_EQ] = ACTIONS(7658),
    [anon_sym_CARET] = ACTIONS(7660),
    [anon_sym_PLUS] = ACTIONS(7662),
    [anon_sym_SLASH] = ACTIONS(7640),
    [anon_sym_PERCENT] = ACTIONS(7640),
    [sym_comment] = ACTIONS(110),
  },
  [2600] = {
    [sym__string_middle] = ACTIONS(6346),
    [sym__string_end] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(6346),
    [sym__binary_star] = ACTIONS(6346),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(7328),
    [anon_sym_STAR_STAR] = ACTIONS(6346),
    [anon_sym_AMP] = ACTIONS(7328),
    [anon_sym_LT] = ACTIONS(7328),
    [anon_sym_if] = ACTIONS(6346),
    [anon_sym_unless] = ACTIONS(6346),
    [anon_sym_while] = ACTIONS(6346),
    [anon_sym_until] = ACTIONS(6346),
    [anon_sym_rescue] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(6346),
    [anon_sym_DOT_DOT] = ACTIONS(7328),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6346),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(6346),
    [anon_sym_AMP_AMP] = ACTIONS(6346),
    [anon_sym_LT_LT] = ACTIONS(6346),
    [anon_sym_GT_GT] = ACTIONS(6346),
    [anon_sym_EQ_EQ] = ACTIONS(7328),
    [anon_sym_BANG_EQ] = ACTIONS(6346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6346),
    [anon_sym_LT_EQ_GT] = ACTIONS(6346),
    [anon_sym_EQ_TILDE] = ACTIONS(6346),
    [anon_sym_BANG_TILDE] = ACTIONS(6346),
    [anon_sym_LT_EQ] = ACTIONS(7328),
    [anon_sym_GT] = ACTIONS(7328),
    [anon_sym_GT_EQ] = ACTIONS(6346),
    [anon_sym_CARET] = ACTIONS(6346),
    [anon_sym_PLUS] = ACTIONS(6346),
    [anon_sym_SLASH] = ACTIONS(6346),
    [anon_sym_PERCENT] = ACTIONS(6346),
    [sym_comment] = ACTIONS(110),
  },
  [2601] = {
    [sym__string_middle] = ACTIONS(7330),
    [sym__string_end] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_if] = ACTIONS(7330),
    [anon_sym_unless] = ACTIONS(7330),
    [anon_sym_while] = ACTIONS(7330),
    [anon_sym_until] = ACTIONS(7330),
    [anon_sym_rescue] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [2602] = {
    [aux_sym_exceptions_repeat1] = STATE(5438),
    [sym__string_middle] = ACTIONS(7330),
    [sym__string_end] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_COMMA] = ACTIONS(7664),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_if] = ACTIONS(7330),
    [anon_sym_unless] = ACTIONS(7330),
    [anon_sym_while] = ACTIONS(7330),
    [anon_sym_until] = ACTIONS(7330),
    [anon_sym_rescue] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [2603] = {
    [anon_sym_EQ] = ACTIONS(7666),
    [sym_comment] = ACTIONS(256),
  },
  [2604] = {
    [sym__string_middle] = ACTIONS(250),
    [sym__string_end] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(7668),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(7670),
    [anon_sym_DASH_EQ] = ACTIONS(7670),
    [anon_sym_STAR_EQ] = ACTIONS(7670),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7670),
    [anon_sym_SLASH_EQ] = ACTIONS(7670),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7670),
    [anon_sym_PIPE_EQ] = ACTIONS(7670),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7670),
    [anon_sym_AMP_EQ] = ACTIONS(7670),
    [anon_sym_PERCENT_EQ] = ACTIONS(7670),
    [anon_sym_GT_GT_EQ] = ACTIONS(7670),
    [anon_sym_LT_LT_EQ] = ACTIONS(7670),
    [anon_sym_CARET_EQ] = ACTIONS(7670),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [2605] = {
    [sym__string_middle] = ACTIONS(7344),
    [sym__string_end] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(1234),
    [sym__binary_star] = ACTIONS(1236),
    [anon_sym_PIPE] = ACTIONS(1238),
    [anon_sym_STAR_STAR] = ACTIONS(1240),
    [anon_sym_AMP] = ACTIONS(1242),
    [anon_sym_LT] = ACTIONS(1244),
    [anon_sym_if] = ACTIONS(7344),
    [anon_sym_unless] = ACTIONS(7344),
    [anon_sym_while] = ACTIONS(7344),
    [anon_sym_until] = ACTIONS(7344),
    [anon_sym_rescue] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(1246),
    [anon_sym_DOT_DOT] = ACTIONS(1248),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1250),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(1254),
    [anon_sym_AMP_AMP] = ACTIONS(1254),
    [anon_sym_LT_LT] = ACTIONS(1256),
    [anon_sym_GT_GT] = ACTIONS(1256),
    [anon_sym_EQ_EQ] = ACTIONS(1258),
    [anon_sym_BANG_EQ] = ACTIONS(1254),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1254),
    [anon_sym_LT_EQ_GT] = ACTIONS(1254),
    [anon_sym_EQ_TILDE] = ACTIONS(1254),
    [anon_sym_BANG_TILDE] = ACTIONS(1254),
    [anon_sym_LT_EQ] = ACTIONS(1244),
    [anon_sym_GT] = ACTIONS(1244),
    [anon_sym_GT_EQ] = ACTIONS(1260),
    [anon_sym_CARET] = ACTIONS(1262),
    [anon_sym_PLUS] = ACTIONS(1264),
    [anon_sym_SLASH] = ACTIONS(1240),
    [anon_sym_PERCENT] = ACTIONS(1240),
    [sym_comment] = ACTIONS(110),
  },
  [2606] = {
    [sym__simple_string] = ACTIONS(7346),
    [sym__string_beginning] = ACTIONS(7346),
    [sym__string_middle] = ACTIONS(7346),
    [sym__string_end] = ACTIONS(7346),
    [sym__element_reference_left_bracket] = ACTIONS(7346),
    [sym__scope_double_colon] = ACTIONS(7346),
    [sym__binary_minus] = ACTIONS(7346),
    [sym__binary_star] = ACTIONS(7346),
    [anon_sym_DOT] = ACTIONS(7348),
    [anon_sym_COMMA] = ACTIONS(7346),
    [anon_sym_PIPE] = ACTIONS(7348),
    [anon_sym_STAR_STAR] = ACTIONS(7346),
    [anon_sym_AMP] = ACTIONS(7348),
    [anon_sym_LT] = ACTIONS(7348),
    [anon_sym_if] = ACTIONS(7346),
    [anon_sym_unless] = ACTIONS(7346),
    [anon_sym_while] = ACTIONS(7346),
    [anon_sym_until] = ACTIONS(7346),
    [anon_sym_rescue] = ACTIONS(7346),
    [anon_sym_AMP_DOT] = ACTIONS(7346),
    [anon_sym_QMARK] = ACTIONS(7348),
    [anon_sym_DOT_DOT] = ACTIONS(7348),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7346),
    [anon_sym_and] = ACTIONS(7346),
    [anon_sym_or] = ACTIONS(7346),
    [anon_sym_PIPE_PIPE] = ACTIONS(7346),
    [anon_sym_AMP_AMP] = ACTIONS(7346),
    [anon_sym_LT_LT] = ACTIONS(7346),
    [anon_sym_GT_GT] = ACTIONS(7346),
    [anon_sym_EQ_EQ] = ACTIONS(7348),
    [anon_sym_BANG_EQ] = ACTIONS(7346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7346),
    [anon_sym_LT_EQ_GT] = ACTIONS(7346),
    [anon_sym_EQ_TILDE] = ACTIONS(7346),
    [anon_sym_BANG_TILDE] = ACTIONS(7346),
    [anon_sym_LT_EQ] = ACTIONS(7348),
    [anon_sym_GT] = ACTIONS(7348),
    [anon_sym_GT_EQ] = ACTIONS(7346),
    [anon_sym_CARET] = ACTIONS(7346),
    [anon_sym_PLUS] = ACTIONS(7346),
    [anon_sym_SLASH] = ACTIONS(7346),
    [anon_sym_PERCENT] = ACTIONS(7346),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(7348),
  },
  [2607] = {
    [sym__simple_string] = ACTIONS(7672),
    [sym__simple_symbol] = ACTIONS(7672),
    [sym__simple_subshell] = ACTIONS(7672),
    [sym__simple_regex] = ACTIONS(7672),
    [sym__simple_word_list] = ACTIONS(7672),
    [sym__string_beginning] = ACTIONS(7672),
    [sym__symbol_beginning] = ACTIONS(7672),
    [sym__subshell_beginning] = ACTIONS(7672),
    [sym__regex_beginning] = ACTIONS(7672),
    [sym__word_list_beginning] = ACTIONS(7672),
    [sym_heredoc_beginning] = ACTIONS(7672),
    [sym__unary_minus] = ACTIONS(7672),
    [anon_sym_LBRACE] = ACTIONS(7672),
    [anon_sym_def] = ACTIONS(7674),
    [anon_sym_LPAREN] = ACTIONS(7672),
    [anon_sym_COLON_COLON] = ACTIONS(7672),
    [anon_sym_SEMI] = ACTIONS(7672),
    [anon_sym_STAR] = ACTIONS(7672),
    [anon_sym_class] = ACTIONS(7674),
    [anon_sym_module] = ACTIONS(7674),
    [anon_sym_return] = ACTIONS(7674),
    [anon_sym_yield] = ACTIONS(7674),
    [anon_sym_break] = ACTIONS(7674),
    [anon_sym_next] = ACTIONS(7674),
    [anon_sym_redo] = ACTIONS(7674),
    [anon_sym_retry] = ACTIONS(7674),
    [anon_sym_if] = ACTIONS(7674),
    [anon_sym_unless] = ACTIONS(7674),
    [anon_sym_while] = ACTIONS(7674),
    [anon_sym_until] = ACTIONS(7674),
    [anon_sym_for] = ACTIONS(7674),
    [anon_sym_case] = ACTIONS(7674),
    [anon_sym_begin] = ACTIONS(7674),
    [anon_sym_PLUS] = ACTIONS(7674),
    [anon_sym_defined_QMARK] = ACTIONS(7672),
    [anon_sym_not] = ACTIONS(7674),
    [anon_sym_BANG] = ACTIONS(7672),
    [anon_sym_TILDE] = ACTIONS(7672),
    [sym_constant] = ACTIONS(7676),
    [sym_identifier] = ACTIONS(7676),
    [sym_instance_variable] = ACTIONS(7674),
    [sym_class_variable] = ACTIONS(7674),
    [sym_global_variable] = ACTIONS(7674),
    [anon_sym_alias] = ACTIONS(7674),
    [anon_sym_false] = ACTIONS(7674),
    [anon_sym_nil] = ACTIONS(7674),
    [anon_sym_self] = ACTIONS(7674),
    [anon_sym_super] = ACTIONS(7674),
    [anon_sym_true] = ACTIONS(7674),
    [anon_sym_undef] = ACTIONS(7674),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(7674),
    [sym_float] = ACTIONS(7676),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(7672),
    [anon_sym_TRUE] = ACTIONS(7674),
    [anon_sym_FALSE] = ACTIONS(7674),
    [anon_sym_NIL] = ACTIONS(7674),
    [sym_keyword__FILE__] = ACTIONS(7674),
    [sym_keyword__LINE__] = ACTIONS(7674),
    [sym_keyword__ENCODING__] = ACTIONS(7674),
    [sym__character_literal] = ACTIONS(7674),
    [anon_sym_LBRACK] = ACTIONS(7672),
    [anon_sym_DASH_GT] = ACTIONS(7672),
  },
  [2608] = {
    [sym__simple_string] = ACTIONS(7678),
    [sym__simple_heredoc_body] = ACTIONS(7678),
    [sym__string_beginning] = ACTIONS(7678),
    [sym__heredoc_body_beginning] = ACTIONS(7678),
    [sym__line_break] = ACTIONS(7678),
    [sym__element_reference_left_bracket] = ACTIONS(7678),
    [sym__scope_double_colon] = ACTIONS(7678),
    [sym__binary_minus] = ACTIONS(7678),
    [sym__binary_star] = ACTIONS(7678),
    [ts_builtin_sym_end] = ACTIONS(7678),
    [anon_sym___END__] = ACTIONS(7678),
    [anon_sym_LBRACE] = ACTIONS(7678),
    [anon_sym_RBRACE] = ACTIONS(7678),
    [anon_sym_RPAREN] = ACTIONS(7678),
    [anon_sym_DOT] = ACTIONS(7680),
    [anon_sym_end] = ACTIONS(7678),
    [anon_sym_COMMA] = ACTIONS(7678),
    [anon_sym_PIPE] = ACTIONS(7680),
    [anon_sym_SEMI] = ACTIONS(7678),
    [anon_sym_STAR_STAR] = ACTIONS(7678),
    [anon_sym_AMP] = ACTIONS(7680),
    [anon_sym_LT] = ACTIONS(7680),
    [anon_sym_if] = ACTIONS(7678),
    [anon_sym_unless] = ACTIONS(7678),
    [anon_sym_while] = ACTIONS(7678),
    [anon_sym_until] = ACTIONS(7678),
    [anon_sym_rescue] = ACTIONS(7678),
    [anon_sym_do] = ACTIONS(7678),
    [anon_sym_when] = ACTIONS(7678),
    [anon_sym_elsif] = ACTIONS(7678),
    [anon_sym_else] = ACTIONS(7678),
    [anon_sym_then] = ACTIONS(7678),
    [anon_sym_ensure] = ACTIONS(7678),
    [anon_sym_EQ_GT] = ACTIONS(7678),
    [anon_sym_AMP_DOT] = ACTIONS(7678),
    [anon_sym_QMARK] = ACTIONS(7680),
    [anon_sym_DOT_DOT] = ACTIONS(7680),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7678),
    [anon_sym_and] = ACTIONS(7678),
    [anon_sym_or] = ACTIONS(7678),
    [anon_sym_PIPE_PIPE] = ACTIONS(7678),
    [anon_sym_AMP_AMP] = ACTIONS(7678),
    [anon_sym_LT_LT] = ACTIONS(7678),
    [anon_sym_GT_GT] = ACTIONS(7678),
    [anon_sym_EQ_EQ] = ACTIONS(7680),
    [anon_sym_BANG_EQ] = ACTIONS(7678),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7678),
    [anon_sym_LT_EQ_GT] = ACTIONS(7678),
    [anon_sym_EQ_TILDE] = ACTIONS(7678),
    [anon_sym_BANG_TILDE] = ACTIONS(7678),
    [anon_sym_LT_EQ] = ACTIONS(7680),
    [anon_sym_GT] = ACTIONS(7680),
    [anon_sym_GT_EQ] = ACTIONS(7678),
    [anon_sym_CARET] = ACTIONS(7678),
    [anon_sym_PLUS] = ACTIONS(7678),
    [anon_sym_SLASH] = ACTIONS(7678),
    [anon_sym_PERCENT] = ACTIONS(7678),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(7680),
  },
  [2609] = {
    [sym__simple_heredoc_body] = ACTIONS(7682),
    [sym__heredoc_body_beginning] = ACTIONS(7682),
    [sym__line_break] = ACTIONS(7682),
    [sym__element_reference_left_bracket] = ACTIONS(7682),
    [sym__scope_double_colon] = ACTIONS(7682),
    [sym__binary_minus] = ACTIONS(7682),
    [sym__binary_star] = ACTIONS(7682),
    [ts_builtin_sym_end] = ACTIONS(7682),
    [anon_sym___END__] = ACTIONS(7682),
    [anon_sym_LBRACE] = ACTIONS(7682),
    [anon_sym_RBRACE] = ACTIONS(7682),
    [anon_sym_RPAREN] = ACTIONS(7682),
    [anon_sym_DOT] = ACTIONS(7684),
    [anon_sym_end] = ACTIONS(7682),
    [anon_sym_COMMA] = ACTIONS(7682),
    [anon_sym_PIPE] = ACTIONS(7684),
    [anon_sym_SEMI] = ACTIONS(7682),
    [anon_sym_STAR_STAR] = ACTIONS(7682),
    [anon_sym_AMP] = ACTIONS(7684),
    [anon_sym_LT] = ACTIONS(7684),
    [anon_sym_if] = ACTIONS(7682),
    [anon_sym_unless] = ACTIONS(7682),
    [anon_sym_while] = ACTIONS(7682),
    [anon_sym_until] = ACTIONS(7682),
    [anon_sym_rescue] = ACTIONS(7682),
    [anon_sym_do] = ACTIONS(7682),
    [anon_sym_when] = ACTIONS(7682),
    [anon_sym_elsif] = ACTIONS(7682),
    [anon_sym_else] = ACTIONS(7682),
    [anon_sym_then] = ACTIONS(7682),
    [anon_sym_ensure] = ACTIONS(7682),
    [anon_sym_EQ_GT] = ACTIONS(7682),
    [anon_sym_AMP_DOT] = ACTIONS(7682),
    [anon_sym_QMARK] = ACTIONS(7682),
    [anon_sym_DOT_DOT] = ACTIONS(7684),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7682),
    [anon_sym_and] = ACTIONS(7682),
    [anon_sym_or] = ACTIONS(7682),
    [anon_sym_PIPE_PIPE] = ACTIONS(7682),
    [anon_sym_AMP_AMP] = ACTIONS(7682),
    [anon_sym_LT_LT] = ACTIONS(7682),
    [anon_sym_GT_GT] = ACTIONS(7682),
    [anon_sym_EQ_EQ] = ACTIONS(7684),
    [anon_sym_BANG_EQ] = ACTIONS(7682),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7682),
    [anon_sym_LT_EQ_GT] = ACTIONS(7682),
    [anon_sym_EQ_TILDE] = ACTIONS(7682),
    [anon_sym_BANG_TILDE] = ACTIONS(7682),
    [anon_sym_LT_EQ] = ACTIONS(7684),
    [anon_sym_GT] = ACTIONS(7684),
    [anon_sym_GT_EQ] = ACTIONS(7682),
    [anon_sym_CARET] = ACTIONS(7682),
    [anon_sym_PLUS] = ACTIONS(7682),
    [anon_sym_SLASH] = ACTIONS(7682),
    [anon_sym_PERCENT] = ACTIONS(7682),
    [sym_comment] = ACTIONS(110),
  },
  [2610] = {
    [sym__simple_heredoc_body] = ACTIONS(7686),
    [sym__heredoc_body_beginning] = ACTIONS(7686),
    [sym__line_break] = ACTIONS(7686),
    [sym__element_reference_left_bracket] = ACTIONS(7686),
    [sym__scope_double_colon] = ACTIONS(7686),
    [sym__binary_minus] = ACTIONS(7686),
    [sym__binary_star] = ACTIONS(7686),
    [ts_builtin_sym_end] = ACTIONS(7686),
    [anon_sym___END__] = ACTIONS(7686),
    [anon_sym_LBRACE] = ACTIONS(7686),
    [anon_sym_RBRACE] = ACTIONS(7686),
    [anon_sym_RPAREN] = ACTIONS(7686),
    [anon_sym_DOT] = ACTIONS(7688),
    [anon_sym_end] = ACTIONS(7686),
    [anon_sym_COMMA] = ACTIONS(7686),
    [anon_sym_PIPE] = ACTIONS(7688),
    [anon_sym_SEMI] = ACTIONS(7686),
    [anon_sym_STAR_STAR] = ACTIONS(7686),
    [anon_sym_AMP] = ACTIONS(7688),
    [anon_sym_LT] = ACTIONS(7688),
    [anon_sym_if] = ACTIONS(7686),
    [anon_sym_unless] = ACTIONS(7686),
    [anon_sym_while] = ACTIONS(7686),
    [anon_sym_until] = ACTIONS(7686),
    [anon_sym_rescue] = ACTIONS(7686),
    [anon_sym_do] = ACTIONS(7686),
    [anon_sym_when] = ACTIONS(7686),
    [anon_sym_elsif] = ACTIONS(7686),
    [anon_sym_else] = ACTIONS(7686),
    [anon_sym_then] = ACTIONS(7686),
    [anon_sym_ensure] = ACTIONS(7686),
    [anon_sym_EQ_GT] = ACTIONS(7686),
    [anon_sym_AMP_DOT] = ACTIONS(7686),
    [anon_sym_QMARK] = ACTIONS(7686),
    [anon_sym_DOT_DOT] = ACTIONS(7688),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7686),
    [anon_sym_and] = ACTIONS(7686),
    [anon_sym_or] = ACTIONS(7686),
    [anon_sym_PIPE_PIPE] = ACTIONS(7686),
    [anon_sym_AMP_AMP] = ACTIONS(7686),
    [anon_sym_LT_LT] = ACTIONS(7686),
    [anon_sym_GT_GT] = ACTIONS(7686),
    [anon_sym_EQ_EQ] = ACTIONS(7688),
    [anon_sym_BANG_EQ] = ACTIONS(7686),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7686),
    [anon_sym_LT_EQ_GT] = ACTIONS(7686),
    [anon_sym_EQ_TILDE] = ACTIONS(7686),
    [anon_sym_BANG_TILDE] = ACTIONS(7686),
    [anon_sym_LT_EQ] = ACTIONS(7688),
    [anon_sym_GT] = ACTIONS(7688),
    [anon_sym_GT_EQ] = ACTIONS(7686),
    [anon_sym_CARET] = ACTIONS(7686),
    [anon_sym_PLUS] = ACTIONS(7686),
    [anon_sym_SLASH] = ACTIONS(7686),
    [anon_sym_PERCENT] = ACTIONS(7686),
    [sym_comment] = ACTIONS(110),
  },
  [2611] = {
    [sym__simple_heredoc_body] = ACTIONS(7690),
    [sym__heredoc_body_beginning] = ACTIONS(7690),
    [sym__line_break] = ACTIONS(7690),
    [sym__element_reference_left_bracket] = ACTIONS(7690),
    [sym__scope_double_colon] = ACTIONS(7690),
    [sym__binary_minus] = ACTIONS(7690),
    [sym__binary_star] = ACTIONS(7690),
    [ts_builtin_sym_end] = ACTIONS(7690),
    [anon_sym___END__] = ACTIONS(7690),
    [anon_sym_LBRACE] = ACTIONS(7690),
    [anon_sym_RBRACE] = ACTIONS(7690),
    [anon_sym_RPAREN] = ACTIONS(7690),
    [anon_sym_DOT] = ACTIONS(7692),
    [anon_sym_end] = ACTIONS(7690),
    [anon_sym_COMMA] = ACTIONS(7690),
    [anon_sym_PIPE] = ACTIONS(7692),
    [anon_sym_SEMI] = ACTIONS(7690),
    [anon_sym_STAR_STAR] = ACTIONS(7690),
    [anon_sym_AMP] = ACTIONS(7692),
    [anon_sym_LT] = ACTIONS(7692),
    [anon_sym_if] = ACTIONS(7690),
    [anon_sym_unless] = ACTIONS(7690),
    [anon_sym_while] = ACTIONS(7690),
    [anon_sym_until] = ACTIONS(7690),
    [anon_sym_rescue] = ACTIONS(7690),
    [anon_sym_do] = ACTIONS(7690),
    [anon_sym_when] = ACTIONS(7690),
    [anon_sym_elsif] = ACTIONS(7690),
    [anon_sym_else] = ACTIONS(7690),
    [anon_sym_then] = ACTIONS(7690),
    [anon_sym_ensure] = ACTIONS(7690),
    [anon_sym_EQ_GT] = ACTIONS(7690),
    [anon_sym_AMP_DOT] = ACTIONS(7690),
    [anon_sym_QMARK] = ACTIONS(7690),
    [anon_sym_DOT_DOT] = ACTIONS(7692),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7690),
    [anon_sym_and] = ACTIONS(7690),
    [anon_sym_or] = ACTIONS(7690),
    [anon_sym_PIPE_PIPE] = ACTIONS(7690),
    [anon_sym_AMP_AMP] = ACTIONS(7690),
    [anon_sym_LT_LT] = ACTIONS(7690),
    [anon_sym_GT_GT] = ACTIONS(7690),
    [anon_sym_EQ_EQ] = ACTIONS(7692),
    [anon_sym_BANG_EQ] = ACTIONS(7690),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7690),
    [anon_sym_LT_EQ_GT] = ACTIONS(7690),
    [anon_sym_EQ_TILDE] = ACTIONS(7690),
    [anon_sym_BANG_TILDE] = ACTIONS(7690),
    [anon_sym_LT_EQ] = ACTIONS(7692),
    [anon_sym_GT] = ACTIONS(7692),
    [anon_sym_GT_EQ] = ACTIONS(7690),
    [anon_sym_CARET] = ACTIONS(7690),
    [anon_sym_PLUS] = ACTIONS(7690),
    [anon_sym_SLASH] = ACTIONS(7690),
    [anon_sym_PERCENT] = ACTIONS(7690),
    [sym_comment] = ACTIONS(110),
  },
  [2612] = {
    [sym__simple_heredoc_body] = ACTIONS(7694),
    [sym__heredoc_body_beginning] = ACTIONS(7694),
    [sym__line_break] = ACTIONS(7694),
    [sym__element_reference_left_bracket] = ACTIONS(7694),
    [sym__scope_double_colon] = ACTIONS(7694),
    [sym__binary_minus] = ACTIONS(7694),
    [sym__binary_star] = ACTIONS(7694),
    [ts_builtin_sym_end] = ACTIONS(7694),
    [anon_sym___END__] = ACTIONS(7694),
    [anon_sym_LBRACE] = ACTIONS(7694),
    [anon_sym_RBRACE] = ACTIONS(7694),
    [anon_sym_RPAREN] = ACTIONS(7694),
    [anon_sym_DOT] = ACTIONS(7696),
    [anon_sym_end] = ACTIONS(7694),
    [anon_sym_COMMA] = ACTIONS(7694),
    [anon_sym_PIPE] = ACTIONS(7696),
    [anon_sym_SEMI] = ACTIONS(7694),
    [anon_sym_STAR_STAR] = ACTIONS(7694),
    [anon_sym_AMP] = ACTIONS(7696),
    [anon_sym_LT] = ACTIONS(7696),
    [anon_sym_if] = ACTIONS(7694),
    [anon_sym_unless] = ACTIONS(7694),
    [anon_sym_while] = ACTIONS(7694),
    [anon_sym_until] = ACTIONS(7694),
    [anon_sym_rescue] = ACTIONS(7694),
    [anon_sym_do] = ACTIONS(7694),
    [anon_sym_when] = ACTIONS(7694),
    [anon_sym_elsif] = ACTIONS(7694),
    [anon_sym_else] = ACTIONS(7694),
    [anon_sym_then] = ACTIONS(7694),
    [anon_sym_ensure] = ACTIONS(7694),
    [anon_sym_EQ_GT] = ACTIONS(7694),
    [anon_sym_AMP_DOT] = ACTIONS(7694),
    [anon_sym_QMARK] = ACTIONS(7694),
    [anon_sym_DOT_DOT] = ACTIONS(7696),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7694),
    [anon_sym_and] = ACTIONS(7694),
    [anon_sym_or] = ACTIONS(7694),
    [anon_sym_PIPE_PIPE] = ACTIONS(7694),
    [anon_sym_AMP_AMP] = ACTIONS(7694),
    [anon_sym_LT_LT] = ACTIONS(7694),
    [anon_sym_GT_GT] = ACTIONS(7694),
    [anon_sym_EQ_EQ] = ACTIONS(7696),
    [anon_sym_BANG_EQ] = ACTIONS(7694),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7694),
    [anon_sym_LT_EQ_GT] = ACTIONS(7694),
    [anon_sym_EQ_TILDE] = ACTIONS(7694),
    [anon_sym_BANG_TILDE] = ACTIONS(7694),
    [anon_sym_LT_EQ] = ACTIONS(7696),
    [anon_sym_GT] = ACTIONS(7696),
    [anon_sym_GT_EQ] = ACTIONS(7694),
    [anon_sym_CARET] = ACTIONS(7694),
    [anon_sym_PLUS] = ACTIONS(7694),
    [anon_sym_SLASH] = ACTIONS(7694),
    [anon_sym_PERCENT] = ACTIONS(7694),
    [sym_comment] = ACTIONS(110),
  },
  [2613] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_RBRACE] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(3904),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_if] = ACTIONS(1372),
    [anon_sym_unless] = ACTIONS(1372),
    [anon_sym_while] = ACTIONS(1372),
    [anon_sym_until] = ACTIONS(1372),
    [anon_sym_rescue] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [2614] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(5445),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(5446),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5447),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(7698),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7700),
    [anon_sym_defined_QMARK] = ACTIONS(7702),
    [anon_sym_not] = ACTIONS(7704),
    [anon_sym_BANG] = ACTIONS(7706),
    [anon_sym_TILDE] = ACTIONS(7706),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2615] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(5448),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(5446),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5447),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(7698),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7700),
    [anon_sym_defined_QMARK] = ACTIONS(7702),
    [anon_sym_not] = ACTIONS(7704),
    [anon_sym_BANG] = ACTIONS(7706),
    [anon_sym_TILDE] = ACTIONS(7706),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2616] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(5449),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(2625),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2626),
    [sym__variable] = STATE(2129),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3874),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(7204),
    [anon_sym_yield] = ACTIONS(7206),
    [anon_sym_break] = ACTIONS(7208),
    [anon_sym_next] = ACTIONS(7210),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7708),
    [anon_sym_defined_QMARK] = ACTIONS(3876),
    [anon_sym_not] = ACTIONS(7710),
    [anon_sym_BANG] = ACTIONS(3882),
    [anon_sym_TILDE] = ACTIONS(3882),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2617] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(5450),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(5446),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5447),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(7698),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7700),
    [anon_sym_defined_QMARK] = ACTIONS(7702),
    [anon_sym_not] = ACTIONS(7704),
    [anon_sym_BANG] = ACTIONS(7706),
    [anon_sym_TILDE] = ACTIONS(7706),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2618] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(5451),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(2625),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2626),
    [sym__variable] = STATE(2129),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3874),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(7204),
    [anon_sym_yield] = ACTIONS(7206),
    [anon_sym_break] = ACTIONS(7208),
    [anon_sym_next] = ACTIONS(7210),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7708),
    [anon_sym_defined_QMARK] = ACTIONS(3876),
    [anon_sym_not] = ACTIONS(7710),
    [anon_sym_BANG] = ACTIONS(3882),
    [anon_sym_TILDE] = ACTIONS(3882),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2619] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(5452),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(2625),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2626),
    [sym__variable] = STATE(2129),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3874),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(7204),
    [anon_sym_yield] = ACTIONS(7206),
    [anon_sym_break] = ACTIONS(7208),
    [anon_sym_next] = ACTIONS(7210),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7708),
    [anon_sym_defined_QMARK] = ACTIONS(3876),
    [anon_sym_not] = ACTIONS(7710),
    [anon_sym_BANG] = ACTIONS(3882),
    [anon_sym_TILDE] = ACTIONS(3882),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2620] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(5452),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(2625),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2626),
    [sym__variable] = STATE(2129),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(3874),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(7204),
    [anon_sym_yield] = ACTIONS(7206),
    [anon_sym_break] = ACTIONS(7208),
    [anon_sym_next] = ACTIONS(7210),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7708),
    [anon_sym_defined_QMARK] = ACTIONS(3876),
    [anon_sym_not] = ACTIONS(7710),
    [anon_sym_BANG] = ACTIONS(3882),
    [anon_sym_TILDE] = ACTIONS(3882),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2621] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1410),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(2625),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2626),
    [sym__variable] = STATE(2129),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3874),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(7204),
    [anon_sym_yield] = ACTIONS(7206),
    [anon_sym_break] = ACTIONS(7208),
    [anon_sym_next] = ACTIONS(7210),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7708),
    [anon_sym_defined_QMARK] = ACTIONS(3876),
    [anon_sym_not] = ACTIONS(7710),
    [anon_sym_BANG] = ACTIONS(3882),
    [anon_sym_TILDE] = ACTIONS(3882),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2622] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(7712),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_RBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [2623] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__line_break] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(7714),
    [sym__binary_star] = ACTIONS(7716),
    [anon_sym_RBRACE] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(7718),
    [anon_sym_SEMI] = ACTIONS(2210),
    [anon_sym_STAR_STAR] = ACTIONS(7720),
    [anon_sym_AMP] = ACTIONS(7722),
    [anon_sym_LT] = ACTIONS(7724),
    [anon_sym_if] = ACTIONS(2210),
    [anon_sym_unless] = ACTIONS(2210),
    [anon_sym_while] = ACTIONS(2210),
    [anon_sym_until] = ACTIONS(2210),
    [anon_sym_rescue] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(7712),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(7726),
    [anon_sym_DOT_DOT] = ACTIONS(7728),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7730),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(7732),
    [anon_sym_AMP_AMP] = ACTIONS(7732),
    [anon_sym_LT_LT] = ACTIONS(7734),
    [anon_sym_GT_GT] = ACTIONS(7734),
    [anon_sym_EQ_EQ] = ACTIONS(7736),
    [anon_sym_BANG_EQ] = ACTIONS(7732),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7732),
    [anon_sym_LT_EQ_GT] = ACTIONS(7732),
    [anon_sym_EQ_TILDE] = ACTIONS(7732),
    [anon_sym_BANG_TILDE] = ACTIONS(7732),
    [anon_sym_LT_EQ] = ACTIONS(7724),
    [anon_sym_GT] = ACTIONS(7724),
    [anon_sym_GT_EQ] = ACTIONS(7738),
    [anon_sym_CARET] = ACTIONS(7740),
    [anon_sym_PLUS] = ACTIONS(7742),
    [anon_sym_SLASH] = ACTIONS(7720),
    [anon_sym_PERCENT] = ACTIONS(7720),
    [sym_comment] = ACTIONS(110),
  },
  [2624] = {
    [sym_heredoc_end] = STATE(1444),
    [aux_sym_argument_list_repeat1] = STATE(5467),
    [aux_sym_argument_list_repeat2] = STATE(1445),
    [sym__simple_heredoc_body] = ACTIONS(2268),
    [sym__heredoc_body_beginning] = ACTIONS(2270),
    [sym__line_break] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_RBRACE] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(7744),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_STAR_STAR] = ACTIONS(2272),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_if] = ACTIONS(2272),
    [anon_sym_unless] = ACTIONS(2272),
    [anon_sym_while] = ACTIONS(2272),
    [anon_sym_until] = ACTIONS(2272),
    [anon_sym_rescue] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2272),
    [anon_sym_AMP_AMP] = ACTIONS(2272),
    [anon_sym_LT_LT] = ACTIONS(2272),
    [anon_sym_GT_GT] = ACTIONS(2272),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2272),
    [anon_sym_PLUS] = ACTIONS(2272),
    [anon_sym_SLASH] = ACTIONS(2272),
    [anon_sym_PERCENT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(110),
  },
  [2625] = {
    [anon_sym_EQ] = ACTIONS(7746),
    [sym_comment] = ACTIONS(256),
  },
  [2626] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_RBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(7748),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(7750),
    [anon_sym_DASH_EQ] = ACTIONS(7750),
    [anon_sym_STAR_EQ] = ACTIONS(7750),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7750),
    [anon_sym_SLASH_EQ] = ACTIONS(7750),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7750),
    [anon_sym_PIPE_EQ] = ACTIONS(7750),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7750),
    [anon_sym_AMP_EQ] = ACTIONS(7750),
    [anon_sym_PERCENT_EQ] = ACTIONS(7750),
    [anon_sym_GT_GT_EQ] = ACTIONS(7750),
    [anon_sym_LT_LT_EQ] = ACTIONS(7750),
    [anon_sym_CARET_EQ] = ACTIONS(7750),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [2627] = {
    [sym__keyword_colon] = ACTIONS(7752),
    [sym_comment] = ACTIONS(110),
  },
  [2628] = {
    [sym_string] = STATE(611),
    [aux_sym_chained_string_repeat1] = STATE(612),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(20),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(7712),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_RBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(120),
  },
  [2629] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_RBRACE] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(3904),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [2630] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(3898),
    [sym__binary_star] = ACTIONS(3900),
    [anon_sym_RBRACE] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(3902),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(3904),
    [anon_sym_AMP] = ACTIONS(3906),
    [anon_sym_LT] = ACTIONS(3908),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(3910),
    [anon_sym_DOT_DOT] = ACTIONS(3912),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3914),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(3918),
    [anon_sym_AMP_AMP] = ACTIONS(3918),
    [anon_sym_LT_LT] = ACTIONS(3920),
    [anon_sym_GT_GT] = ACTIONS(3920),
    [anon_sym_EQ_EQ] = ACTIONS(3922),
    [anon_sym_BANG_EQ] = ACTIONS(3918),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3918),
    [anon_sym_LT_EQ_GT] = ACTIONS(3918),
    [anon_sym_EQ_TILDE] = ACTIONS(3918),
    [anon_sym_BANG_TILDE] = ACTIONS(3918),
    [anon_sym_LT_EQ] = ACTIONS(3908),
    [anon_sym_GT] = ACTIONS(3908),
    [anon_sym_GT_EQ] = ACTIONS(3924),
    [anon_sym_CARET] = ACTIONS(3926),
    [anon_sym_PLUS] = ACTIONS(3928),
    [anon_sym_SLASH] = ACTIONS(3904),
    [anon_sym_PERCENT] = ACTIONS(3904),
    [sym_comment] = ACTIONS(110),
  },
  [2631] = {
    [sym__simple_heredoc_body] = ACTIONS(7754),
    [sym__heredoc_body_beginning] = ACTIONS(7754),
    [sym__line_break] = ACTIONS(7754),
    [ts_builtin_sym_end] = ACTIONS(7754),
    [anon_sym___END__] = ACTIONS(7754),
    [anon_sym_RBRACE] = ACTIONS(7754),
    [anon_sym_RPAREN] = ACTIONS(7754),
    [anon_sym_end] = ACTIONS(7754),
    [anon_sym_SEMI] = ACTIONS(7754),
    [anon_sym_rescue] = ACTIONS(7754),
    [anon_sym_when] = ACTIONS(7754),
    [anon_sym_elsif] = ACTIONS(7754),
    [anon_sym_else] = ACTIONS(7754),
    [anon_sym_ensure] = ACTIONS(7754),
    [sym_comment] = ACTIONS(110),
  },
  [2632] = {
    [sym__top_level_statement] = STATE(1996),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(841),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(3106),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2633] = {
    [sym_heredoc_end] = STATE(1185),
    [sym__terminator] = STATE(5471),
    [sym__simple_heredoc_body] = ACTIONS(1922),
    [sym__heredoc_body_beginning] = ACTIONS(1924),
    [sym__line_break] = ACTIONS(1926),
    [anon_sym_RBRACE] = ACTIONS(3106),
    [anon_sym_SEMI] = ACTIONS(1926),
    [sym_comment] = ACTIONS(110),
  },
  [2634] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(5472),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2635] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(5473),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2636] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(5474),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2637] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(5475),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2638] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(5476),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2639] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(5477),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2640] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(5478),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2641] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(5479),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2642] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(5480),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2643] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(5481),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2644] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(5482),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2645] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(5483),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [2646] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(5484),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2647] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(5485),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2648] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(5486),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2649] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(5487),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2650] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(5488),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2651] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(5497),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(5498),
    [sym_call] = STATE(5498),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(5499),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5500),
    [sym__variable] = STATE(5498),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(7756),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(7758),
    [anon_sym_yield] = ACTIONS(7760),
    [anon_sym_break] = ACTIONS(7762),
    [anon_sym_next] = ACTIONS(7764),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(7766),
    [anon_sym_defined_QMARK] = ACTIONS(7768),
    [anon_sym_not] = ACTIONS(7770),
    [anon_sym_BANG] = ACTIONS(7772),
    [anon_sym_TILDE] = ACTIONS(7772),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [2652] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(5501),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(5498),
    [sym_call] = STATE(5498),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(5499),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5500),
    [sym__variable] = STATE(5498),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(7756),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(7758),
    [anon_sym_yield] = ACTIONS(7760),
    [anon_sym_break] = ACTIONS(7762),
    [anon_sym_next] = ACTIONS(7764),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(7766),
    [anon_sym_defined_QMARK] = ACTIONS(7768),
    [anon_sym_not] = ACTIONS(7770),
    [anon_sym_BANG] = ACTIONS(7772),
    [anon_sym_TILDE] = ACTIONS(7772),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [2653] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(5506),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2665),
    [sym_call] = STATE(2665),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(2667),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2668),
    [sym__variable] = STATE(2665),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(3934),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(7774),
    [anon_sym_yield] = ACTIONS(7776),
    [anon_sym_break] = ACTIONS(7778),
    [anon_sym_next] = ACTIONS(7780),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(7782),
    [anon_sym_defined_QMARK] = ACTIONS(3944),
    [anon_sym_not] = ACTIONS(7784),
    [anon_sym_BANG] = ACTIONS(3950),
    [anon_sym_TILDE] = ACTIONS(3950),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [2654] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(5507),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(5498),
    [sym_call] = STATE(5498),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(5499),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5500),
    [sym__variable] = STATE(5498),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(7756),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(7758),
    [anon_sym_yield] = ACTIONS(7760),
    [anon_sym_break] = ACTIONS(7762),
    [anon_sym_next] = ACTIONS(7764),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(7766),
    [anon_sym_defined_QMARK] = ACTIONS(7768),
    [anon_sym_not] = ACTIONS(7770),
    [anon_sym_BANG] = ACTIONS(7772),
    [anon_sym_TILDE] = ACTIONS(7772),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [2655] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(5017),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2665),
    [sym_call] = STATE(2665),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2147),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(5018),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(2667),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2668),
    [sym__variable] = STATE(2665),
    [sym_reserved_identifier] = STATE(5019),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(5020),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(7254),
    [sym__splat_star] = ACTIONS(7256),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(3934),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_RBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(544),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(3936),
    [anon_sym_yield] = ACTIONS(3938),
    [anon_sym_break] = ACTIONS(3940),
    [anon_sym_next] = ACTIONS(3942),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_PLUS_EQ] = ACTIONS(532),
    [anon_sym_DASH_EQ] = ACTIONS(532),
    [anon_sym_STAR_EQ] = ACTIONS(532),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(532),
    [anon_sym_SLASH_EQ] = ACTIONS(532),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(532),
    [anon_sym_PIPE_EQ] = ACTIONS(532),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(532),
    [anon_sym_AMP_EQ] = ACTIONS(532),
    [anon_sym_PERCENT_EQ] = ACTIONS(532),
    [anon_sym_GT_GT_EQ] = ACTIONS(532),
    [anon_sym_LT_LT_EQ] = ACTIONS(532),
    [anon_sym_CARET_EQ] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(544),
    [anon_sym_AMP_AMP] = ACTIONS(544),
    [anon_sym_LT_LT] = ACTIONS(544),
    [anon_sym_GT_GT] = ACTIONS(544),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(544),
    [anon_sym_PERCENT] = ACTIONS(544),
    [anon_sym_defined_QMARK] = ACTIONS(3944),
    [anon_sym_not] = ACTIONS(3946),
    [anon_sym_BANG] = ACTIONS(3948),
    [anon_sym_TILDE] = ACTIONS(3950),
    [sym_constant] = ACTIONS(7258),
    [sym_identifier] = ACTIONS(7258),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [2656] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(5017),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2665),
    [sym_call] = STATE(2665),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2148),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(5018),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(2667),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2668),
    [sym__variable] = STATE(2665),
    [sym_reserved_identifier] = STATE(5019),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(5020),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(7254),
    [sym__splat_star] = ACTIONS(7256),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(3934),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_RBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(604),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(3936),
    [anon_sym_yield] = ACTIONS(3938),
    [anon_sym_break] = ACTIONS(3940),
    [anon_sym_next] = ACTIONS(3942),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_PLUS_EQ] = ACTIONS(602),
    [anon_sym_DASH_EQ] = ACTIONS(602),
    [anon_sym_STAR_EQ] = ACTIONS(602),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(602),
    [anon_sym_SLASH_EQ] = ACTIONS(602),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(602),
    [anon_sym_PIPE_EQ] = ACTIONS(602),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(602),
    [anon_sym_AMP_EQ] = ACTIONS(602),
    [anon_sym_PERCENT_EQ] = ACTIONS(602),
    [anon_sym_GT_GT_EQ] = ACTIONS(602),
    [anon_sym_LT_LT_EQ] = ACTIONS(602),
    [anon_sym_CARET_EQ] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(604),
    [anon_sym_AMP_AMP] = ACTIONS(604),
    [anon_sym_LT_LT] = ACTIONS(604),
    [anon_sym_GT_GT] = ACTIONS(604),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(604),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(604),
    [anon_sym_PERCENT] = ACTIONS(604),
    [anon_sym_defined_QMARK] = ACTIONS(3944),
    [anon_sym_not] = ACTIONS(3946),
    [anon_sym_BANG] = ACTIONS(3948),
    [anon_sym_TILDE] = ACTIONS(3950),
    [sym_constant] = ACTIONS(7258),
    [sym_identifier] = ACTIONS(7258),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [2657] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(5017),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2665),
    [sym_call] = STATE(2665),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2149),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(5018),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(2667),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2668),
    [sym__variable] = STATE(2665),
    [sym_reserved_identifier] = STATE(5019),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(5020),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(7254),
    [sym__splat_star] = ACTIONS(7256),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(3934),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_RBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(608),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(3936),
    [anon_sym_yield] = ACTIONS(3938),
    [anon_sym_break] = ACTIONS(3940),
    [anon_sym_next] = ACTIONS(3942),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_PLUS_EQ] = ACTIONS(606),
    [anon_sym_DASH_EQ] = ACTIONS(606),
    [anon_sym_STAR_EQ] = ACTIONS(606),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(606),
    [anon_sym_SLASH_EQ] = ACTIONS(606),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(606),
    [anon_sym_PIPE_EQ] = ACTIONS(606),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(606),
    [anon_sym_AMP_EQ] = ACTIONS(606),
    [anon_sym_PERCENT_EQ] = ACTIONS(606),
    [anon_sym_GT_GT_EQ] = ACTIONS(606),
    [anon_sym_LT_LT_EQ] = ACTIONS(606),
    [anon_sym_CARET_EQ] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(608),
    [anon_sym_AMP_AMP] = ACTIONS(608),
    [anon_sym_LT_LT] = ACTIONS(608),
    [anon_sym_GT_GT] = ACTIONS(608),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(608),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(608),
    [anon_sym_PERCENT] = ACTIONS(608),
    [anon_sym_defined_QMARK] = ACTIONS(3944),
    [anon_sym_not] = ACTIONS(3946),
    [anon_sym_BANG] = ACTIONS(3948),
    [anon_sym_TILDE] = ACTIONS(3950),
    [sym_constant] = ACTIONS(7258),
    [sym_identifier] = ACTIONS(7258),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [2658] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(5017),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2665),
    [sym_call] = STATE(2665),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2150),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(5018),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(2667),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2668),
    [sym__variable] = STATE(2665),
    [sym_reserved_identifier] = STATE(5019),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(5020),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(7254),
    [sym__splat_star] = ACTIONS(7256),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(3934),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_RBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(612),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(3936),
    [anon_sym_yield] = ACTIONS(3938),
    [anon_sym_break] = ACTIONS(3940),
    [anon_sym_next] = ACTIONS(3942),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_PLUS_EQ] = ACTIONS(610),
    [anon_sym_DASH_EQ] = ACTIONS(610),
    [anon_sym_STAR_EQ] = ACTIONS(610),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(610),
    [anon_sym_SLASH_EQ] = ACTIONS(610),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(610),
    [anon_sym_PIPE_EQ] = ACTIONS(610),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(610),
    [anon_sym_AMP_EQ] = ACTIONS(610),
    [anon_sym_PERCENT_EQ] = ACTIONS(610),
    [anon_sym_GT_GT_EQ] = ACTIONS(610),
    [anon_sym_LT_LT_EQ] = ACTIONS(610),
    [anon_sym_CARET_EQ] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(612),
    [anon_sym_AMP_AMP] = ACTIONS(612),
    [anon_sym_LT_LT] = ACTIONS(612),
    [anon_sym_GT_GT] = ACTIONS(612),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(612),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(612),
    [anon_sym_PERCENT] = ACTIONS(612),
    [anon_sym_defined_QMARK] = ACTIONS(3944),
    [anon_sym_not] = ACTIONS(3946),
    [anon_sym_BANG] = ACTIONS(3948),
    [anon_sym_TILDE] = ACTIONS(3950),
    [sym_constant] = ACTIONS(7258),
    [sym_identifier] = ACTIONS(7258),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [2659] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(5508),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2665),
    [sym_call] = STATE(2665),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(2667),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2668),
    [sym__variable] = STATE(2665),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(3934),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(7774),
    [anon_sym_yield] = ACTIONS(7776),
    [anon_sym_break] = ACTIONS(7778),
    [anon_sym_next] = ACTIONS(7780),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(7782),
    [anon_sym_defined_QMARK] = ACTIONS(3944),
    [anon_sym_not] = ACTIONS(7784),
    [anon_sym_BANG] = ACTIONS(3950),
    [anon_sym_TILDE] = ACTIONS(3950),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [2660] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(5509),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2665),
    [sym_call] = STATE(2665),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(2667),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2668),
    [sym__variable] = STATE(2665),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(3934),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(7774),
    [anon_sym_yield] = ACTIONS(7776),
    [anon_sym_break] = ACTIONS(7778),
    [anon_sym_next] = ACTIONS(7780),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(7782),
    [anon_sym_defined_QMARK] = ACTIONS(3944),
    [anon_sym_not] = ACTIONS(7784),
    [anon_sym_BANG] = ACTIONS(3950),
    [anon_sym_TILDE] = ACTIONS(3950),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [2661] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(5509),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2665),
    [sym_call] = STATE(2665),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(2667),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2668),
    [sym__variable] = STATE(2665),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(3934),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(7774),
    [anon_sym_yield] = ACTIONS(7776),
    [anon_sym_break] = ACTIONS(7778),
    [anon_sym_next] = ACTIONS(7780),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(7782),
    [anon_sym_defined_QMARK] = ACTIONS(3944),
    [anon_sym_not] = ACTIONS(7784),
    [anon_sym_BANG] = ACTIONS(3950),
    [anon_sym_TILDE] = ACTIONS(3950),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [2662] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(2168),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2665),
    [sym_call] = STATE(2665),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(2667),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2668),
    [sym__variable] = STATE(2665),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(3934),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(7774),
    [anon_sym_yield] = ACTIONS(7776),
    [anon_sym_break] = ACTIONS(7778),
    [anon_sym_next] = ACTIONS(7780),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(7782),
    [anon_sym_defined_QMARK] = ACTIONS(3944),
    [anon_sym_not] = ACTIONS(7784),
    [anon_sym_BANG] = ACTIONS(3950),
    [anon_sym_TILDE] = ACTIONS(3950),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [2663] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(7786),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_RBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [2664] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__line_break] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(7788),
    [sym__binary_star] = ACTIONS(7790),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_RBRACE] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(7792),
    [anon_sym_SEMI] = ACTIONS(2210),
    [anon_sym_STAR_STAR] = ACTIONS(7794),
    [anon_sym_AMP] = ACTIONS(7796),
    [anon_sym_EQ] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(7798),
    [anon_sym_if] = ACTIONS(2210),
    [anon_sym_unless] = ACTIONS(2210),
    [anon_sym_while] = ACTIONS(2210),
    [anon_sym_until] = ACTIONS(2210),
    [anon_sym_rescue] = ACTIONS(2210),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(7786),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_PLUS_EQ] = ACTIONS(2210),
    [anon_sym_DASH_EQ] = ACTIONS(2210),
    [anon_sym_STAR_EQ] = ACTIONS(2210),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2210),
    [anon_sym_SLASH_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2210),
    [anon_sym_AMP_EQ] = ACTIONS(2210),
    [anon_sym_PERCENT_EQ] = ACTIONS(2210),
    [anon_sym_GT_GT_EQ] = ACTIONS(2210),
    [anon_sym_LT_LT_EQ] = ACTIONS(2210),
    [anon_sym_CARET_EQ] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(7800),
    [anon_sym_DOT_DOT] = ACTIONS(7802),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7804),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(7806),
    [anon_sym_AMP_AMP] = ACTIONS(7806),
    [anon_sym_LT_LT] = ACTIONS(7808),
    [anon_sym_GT_GT] = ACTIONS(7808),
    [anon_sym_EQ_EQ] = ACTIONS(7806),
    [anon_sym_BANG_EQ] = ACTIONS(7810),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7810),
    [anon_sym_LT_EQ_GT] = ACTIONS(7810),
    [anon_sym_EQ_TILDE] = ACTIONS(7810),
    [anon_sym_BANG_TILDE] = ACTIONS(7810),
    [anon_sym_LT_EQ] = ACTIONS(7798),
    [anon_sym_GT] = ACTIONS(7798),
    [anon_sym_GT_EQ] = ACTIONS(7812),
    [anon_sym_CARET] = ACTIONS(7792),
    [anon_sym_PLUS] = ACTIONS(7814),
    [anon_sym_SLASH] = ACTIONS(7794),
    [anon_sym_PERCENT] = ACTIONS(7794),
    [sym_comment] = ACTIONS(256),
  },
  [2665] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(5017),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2665),
    [sym_call] = STATE(2665),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2190),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(5018),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_do_block] = STATE(1439),
    [sym_block] = STATE(1439),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(2667),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2668),
    [sym__variable] = STATE(2665),
    [sym_reserved_identifier] = STATE(5019),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(5020),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(7254),
    [sym__splat_star] = ACTIONS(7256),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(3934),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(2258),
    [anon_sym_RBRACE] = ACTIONS(980),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(3936),
    [anon_sym_yield] = ACTIONS(3938),
    [anon_sym_break] = ACTIONS(3940),
    [anon_sym_next] = ACTIONS(3942),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(982),
    [anon_sym_unless] = ACTIONS(982),
    [anon_sym_while] = ACTIONS(982),
    [anon_sym_until] = ACTIONS(982),
    [anon_sym_rescue] = ACTIONS(982),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(982),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(980),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(3944),
    [anon_sym_not] = ACTIONS(3946),
    [anon_sym_BANG] = ACTIONS(3948),
    [anon_sym_TILDE] = ACTIONS(3950),
    [sym_constant] = ACTIONS(7258),
    [sym_identifier] = ACTIONS(7258),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [2666] = {
    [sym_heredoc_end] = STATE(2196),
    [aux_sym_argument_list_repeat1] = STATE(5524),
    [aux_sym_argument_list_repeat2] = STATE(2197),
    [sym__simple_heredoc_body] = ACTIONS(3354),
    [sym__heredoc_body_beginning] = ACTIONS(3356),
    [sym__line_break] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_RBRACE] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(7816),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_STAR_STAR] = ACTIONS(2274),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_EQ] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_if] = ACTIONS(2272),
    [anon_sym_unless] = ACTIONS(2272),
    [anon_sym_while] = ACTIONS(2272),
    [anon_sym_until] = ACTIONS(2272),
    [anon_sym_rescue] = ACTIONS(2272),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_PLUS_EQ] = ACTIONS(2272),
    [anon_sym_DASH_EQ] = ACTIONS(2272),
    [anon_sym_STAR_EQ] = ACTIONS(2272),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2272),
    [anon_sym_SLASH_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2272),
    [anon_sym_AMP_EQ] = ACTIONS(2272),
    [anon_sym_PERCENT_EQ] = ACTIONS(2272),
    [anon_sym_GT_GT_EQ] = ACTIONS(2272),
    [anon_sym_LT_LT_EQ] = ACTIONS(2272),
    [anon_sym_CARET_EQ] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2274),
    [anon_sym_AMP_AMP] = ACTIONS(2274),
    [anon_sym_LT_LT] = ACTIONS(2274),
    [anon_sym_GT_GT] = ACTIONS(2274),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2274),
    [anon_sym_PLUS] = ACTIONS(2274),
    [anon_sym_SLASH] = ACTIONS(2274),
    [anon_sym_PERCENT] = ACTIONS(2274),
    [sym_comment] = ACTIONS(256),
  },
  [2667] = {
    [anon_sym_EQ] = ACTIONS(7818),
    [sym_comment] = ACTIONS(256),
  },
  [2668] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_RBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(7820),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(7822),
    [anon_sym_DASH_EQ] = ACTIONS(7822),
    [anon_sym_STAR_EQ] = ACTIONS(7822),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7822),
    [anon_sym_SLASH_EQ] = ACTIONS(7822),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7822),
    [anon_sym_PIPE_EQ] = ACTIONS(7822),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7822),
    [anon_sym_AMP_EQ] = ACTIONS(7822),
    [anon_sym_PERCENT_EQ] = ACTIONS(7822),
    [anon_sym_GT_GT_EQ] = ACTIONS(7822),
    [anon_sym_LT_LT_EQ] = ACTIONS(7822),
    [anon_sym_CARET_EQ] = ACTIONS(7822),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [2669] = {
    [sym__keyword_colon] = ACTIONS(7824),
    [sym_comment] = ACTIONS(110),
  },
  [2670] = {
    [sym_string] = STATE(2203),
    [aux_sym_chained_string_repeat1] = STATE(2204),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(7786),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_RBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(3266),
  },
  [2671] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(5533),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_splat_argument] = STATE(2211),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_right_assignment_list] = STATE(2212),
    [sym__arg_or_splat_arg] = STATE(5534),
    [sym_left_assignment_list] = STATE(5535),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5536),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(7826),
    [sym__unary_minus] = ACTIONS(7828),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7830),
    [anon_sym_defined_QMARK] = ACTIONS(7832),
    [anon_sym_not] = ACTIONS(7834),
    [anon_sym_BANG] = ACTIONS(7836),
    [anon_sym_TILDE] = ACTIONS(7836),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2672] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(5537),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2673] = {
    [sym__simple_string] = ACTIONS(3612),
    [sym__string_beginning] = ACTIONS(3612),
    [sym__element_reference_left_bracket] = ACTIONS(3612),
    [sym__scope_double_colon] = ACTIONS(3612),
    [sym__keyword_colon] = ACTIONS(3612),
    [sym__binary_minus] = ACTIONS(3612),
    [sym__binary_star] = ACTIONS(3612),
    [anon_sym_DOT] = ACTIONS(3614),
    [anon_sym_PIPE] = ACTIONS(3614),
    [anon_sym_STAR_STAR] = ACTIONS(3612),
    [anon_sym_AMP] = ACTIONS(3614),
    [anon_sym_LT] = ACTIONS(3614),
    [anon_sym_EQ_GT] = ACTIONS(3612),
    [anon_sym_AMP_DOT] = ACTIONS(3612),
    [anon_sym_QMARK] = ACTIONS(3614),
    [anon_sym_DOT_DOT] = ACTIONS(3614),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3612),
    [anon_sym_and] = ACTIONS(3612),
    [anon_sym_or] = ACTIONS(3612),
    [anon_sym_PIPE_PIPE] = ACTIONS(3612),
    [anon_sym_AMP_AMP] = ACTIONS(3612),
    [anon_sym_LT_LT] = ACTIONS(3612),
    [anon_sym_GT_GT] = ACTIONS(3612),
    [anon_sym_EQ_EQ] = ACTIONS(3614),
    [anon_sym_BANG_EQ] = ACTIONS(3612),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3612),
    [anon_sym_LT_EQ_GT] = ACTIONS(3612),
    [anon_sym_EQ_TILDE] = ACTIONS(3612),
    [anon_sym_BANG_TILDE] = ACTIONS(3612),
    [anon_sym_LT_EQ] = ACTIONS(3614),
    [anon_sym_GT] = ACTIONS(3614),
    [anon_sym_GT_EQ] = ACTIONS(3612),
    [anon_sym_CARET] = ACTIONS(3612),
    [anon_sym_PLUS] = ACTIONS(3612),
    [anon_sym_SLASH] = ACTIONS(3612),
    [anon_sym_PERCENT] = ACTIONS(3612),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(3614),
  },
  [2674] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(7838),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [2675] = {
    [sym__element_reference_left_bracket] = ACTIONS(3844),
    [sym__scope_double_colon] = ACTIONS(3844),
    [sym__binary_minus] = ACTIONS(3844),
    [sym__binary_star] = ACTIONS(3844),
    [anon_sym_LBRACE] = ACTIONS(3844),
    [anon_sym_RPAREN] = ACTIONS(3844),
    [anon_sym_DOT] = ACTIONS(3846),
    [anon_sym_COMMA] = ACTIONS(3844),
    [anon_sym_PIPE] = ACTIONS(3846),
    [anon_sym_SEMI] = ACTIONS(3844),
    [anon_sym_STAR_STAR] = ACTIONS(3844),
    [anon_sym_AMP] = ACTIONS(3846),
    [anon_sym_LT] = ACTIONS(3846),
    [anon_sym_do] = ACTIONS(3844),
    [anon_sym_EQ_GT] = ACTIONS(3844),
    [anon_sym_AMP_DOT] = ACTIONS(3844),
    [anon_sym_QMARK] = ACTIONS(3844),
    [anon_sym_COLON] = ACTIONS(3844),
    [anon_sym_DOT_DOT] = ACTIONS(3846),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3844),
    [anon_sym_and] = ACTIONS(3844),
    [anon_sym_or] = ACTIONS(3844),
    [anon_sym_PIPE_PIPE] = ACTIONS(3844),
    [anon_sym_AMP_AMP] = ACTIONS(3844),
    [anon_sym_LT_LT] = ACTIONS(3844),
    [anon_sym_GT_GT] = ACTIONS(3844),
    [anon_sym_EQ_EQ] = ACTIONS(3846),
    [anon_sym_BANG_EQ] = ACTIONS(3844),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3844),
    [anon_sym_LT_EQ_GT] = ACTIONS(3844),
    [anon_sym_EQ_TILDE] = ACTIONS(3844),
    [anon_sym_BANG_TILDE] = ACTIONS(3844),
    [anon_sym_LT_EQ] = ACTIONS(3846),
    [anon_sym_GT] = ACTIONS(3846),
    [anon_sym_GT_EQ] = ACTIONS(3844),
    [anon_sym_CARET] = ACTIONS(3844),
    [anon_sym_PLUS] = ACTIONS(3844),
    [anon_sym_SLASH] = ACTIONS(3844),
    [anon_sym_PERCENT] = ACTIONS(3844),
    [sym_comment] = ACTIONS(110),
  },
  [2676] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(7840),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [2677] = {
    [sym__element_reference_left_bracket] = ACTIONS(3850),
    [sym__scope_double_colon] = ACTIONS(3850),
    [sym__binary_minus] = ACTIONS(3850),
    [sym__binary_star] = ACTIONS(3850),
    [anon_sym_LBRACE] = ACTIONS(3850),
    [anon_sym_RPAREN] = ACTIONS(3850),
    [anon_sym_DOT] = ACTIONS(3852),
    [anon_sym_COMMA] = ACTIONS(3850),
    [anon_sym_PIPE] = ACTIONS(3852),
    [anon_sym_SEMI] = ACTIONS(3850),
    [anon_sym_STAR_STAR] = ACTIONS(3850),
    [anon_sym_AMP] = ACTIONS(3852),
    [anon_sym_LT] = ACTIONS(3852),
    [anon_sym_do] = ACTIONS(3850),
    [anon_sym_EQ_GT] = ACTIONS(3850),
    [anon_sym_AMP_DOT] = ACTIONS(3850),
    [anon_sym_QMARK] = ACTIONS(3850),
    [anon_sym_COLON] = ACTIONS(3850),
    [anon_sym_DOT_DOT] = ACTIONS(3852),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3850),
    [anon_sym_and] = ACTIONS(3850),
    [anon_sym_or] = ACTIONS(3850),
    [anon_sym_PIPE_PIPE] = ACTIONS(3850),
    [anon_sym_AMP_AMP] = ACTIONS(3850),
    [anon_sym_LT_LT] = ACTIONS(3850),
    [anon_sym_GT_GT] = ACTIONS(3850),
    [anon_sym_EQ_EQ] = ACTIONS(3852),
    [anon_sym_BANG_EQ] = ACTIONS(3850),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3850),
    [anon_sym_LT_EQ_GT] = ACTIONS(3850),
    [anon_sym_EQ_TILDE] = ACTIONS(3850),
    [anon_sym_BANG_TILDE] = ACTIONS(3850),
    [anon_sym_LT_EQ] = ACTIONS(3852),
    [anon_sym_GT] = ACTIONS(3852),
    [anon_sym_GT_EQ] = ACTIONS(3850),
    [anon_sym_CARET] = ACTIONS(3850),
    [anon_sym_PLUS] = ACTIONS(3850),
    [anon_sym_SLASH] = ACTIONS(3850),
    [anon_sym_PERCENT] = ACTIONS(3850),
    [sym_comment] = ACTIONS(110),
  },
  [2678] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(7842),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [2679] = {
    [sym__element_reference_left_bracket] = ACTIONS(3856),
    [sym__scope_double_colon] = ACTIONS(3856),
    [sym__binary_minus] = ACTIONS(3856),
    [sym__binary_star] = ACTIONS(3856),
    [anon_sym_LBRACE] = ACTIONS(3856),
    [anon_sym_RPAREN] = ACTIONS(3856),
    [anon_sym_DOT] = ACTIONS(3858),
    [anon_sym_COMMA] = ACTIONS(3856),
    [anon_sym_PIPE] = ACTIONS(3858),
    [anon_sym_SEMI] = ACTIONS(3856),
    [anon_sym_STAR_STAR] = ACTIONS(3856),
    [anon_sym_AMP] = ACTIONS(3858),
    [anon_sym_LT] = ACTIONS(3858),
    [anon_sym_do] = ACTIONS(3856),
    [anon_sym_EQ_GT] = ACTIONS(3856),
    [anon_sym_AMP_DOT] = ACTIONS(3856),
    [anon_sym_QMARK] = ACTIONS(3856),
    [anon_sym_COLON] = ACTIONS(3856),
    [anon_sym_DOT_DOT] = ACTIONS(3858),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3856),
    [anon_sym_and] = ACTIONS(3856),
    [anon_sym_or] = ACTIONS(3856),
    [anon_sym_PIPE_PIPE] = ACTIONS(3856),
    [anon_sym_AMP_AMP] = ACTIONS(3856),
    [anon_sym_LT_LT] = ACTIONS(3856),
    [anon_sym_GT_GT] = ACTIONS(3856),
    [anon_sym_EQ_EQ] = ACTIONS(3858),
    [anon_sym_BANG_EQ] = ACTIONS(3856),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3856),
    [anon_sym_LT_EQ_GT] = ACTIONS(3856),
    [anon_sym_EQ_TILDE] = ACTIONS(3856),
    [anon_sym_BANG_TILDE] = ACTIONS(3856),
    [anon_sym_LT_EQ] = ACTIONS(3858),
    [anon_sym_GT] = ACTIONS(3858),
    [anon_sym_GT_EQ] = ACTIONS(3856),
    [anon_sym_CARET] = ACTIONS(3856),
    [anon_sym_PLUS] = ACTIONS(3856),
    [anon_sym_SLASH] = ACTIONS(3856),
    [anon_sym_PERCENT] = ACTIONS(3856),
    [sym_comment] = ACTIONS(110),
  },
  [2680] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(7844),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [2681] = {
    [sym__element_reference_left_bracket] = ACTIONS(3862),
    [sym__scope_double_colon] = ACTIONS(3862),
    [sym__binary_minus] = ACTIONS(3862),
    [sym__binary_star] = ACTIONS(3862),
    [anon_sym_LBRACE] = ACTIONS(3862),
    [anon_sym_RPAREN] = ACTIONS(3862),
    [anon_sym_DOT] = ACTIONS(3864),
    [anon_sym_COMMA] = ACTIONS(3862),
    [anon_sym_PIPE] = ACTIONS(3864),
    [anon_sym_SEMI] = ACTIONS(3862),
    [anon_sym_STAR_STAR] = ACTIONS(3862),
    [anon_sym_AMP] = ACTIONS(3864),
    [anon_sym_LT] = ACTIONS(3864),
    [anon_sym_do] = ACTIONS(3862),
    [anon_sym_EQ_GT] = ACTIONS(3862),
    [anon_sym_AMP_DOT] = ACTIONS(3862),
    [anon_sym_QMARK] = ACTIONS(3862),
    [anon_sym_COLON] = ACTIONS(3862),
    [anon_sym_DOT_DOT] = ACTIONS(3864),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3862),
    [anon_sym_and] = ACTIONS(3862),
    [anon_sym_or] = ACTIONS(3862),
    [anon_sym_PIPE_PIPE] = ACTIONS(3862),
    [anon_sym_AMP_AMP] = ACTIONS(3862),
    [anon_sym_LT_LT] = ACTIONS(3862),
    [anon_sym_GT_GT] = ACTIONS(3862),
    [anon_sym_EQ_EQ] = ACTIONS(3864),
    [anon_sym_BANG_EQ] = ACTIONS(3862),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3862),
    [anon_sym_LT_EQ_GT] = ACTIONS(3862),
    [anon_sym_EQ_TILDE] = ACTIONS(3862),
    [anon_sym_BANG_TILDE] = ACTIONS(3862),
    [anon_sym_LT_EQ] = ACTIONS(3864),
    [anon_sym_GT] = ACTIONS(3864),
    [anon_sym_GT_EQ] = ACTIONS(3862),
    [anon_sym_CARET] = ACTIONS(3862),
    [anon_sym_PLUS] = ACTIONS(3862),
    [anon_sym_SLASH] = ACTIONS(3862),
    [anon_sym_PERCENT] = ACTIONS(3862),
    [sym_comment] = ACTIONS(110),
  },
  [2682] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(7846),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [2683] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(7848),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [2684] = {
    [sym__statement] = STATE(5544),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [2685] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(7850),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [2686] = {
    [sym__statement] = STATE(5546),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [2687] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(7852),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [2688] = {
    [sym__statement] = STATE(5548),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [2689] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(7854),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [2690] = {
    [sym__statement] = STATE(5550),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [2691] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(7856),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [2692] = {
    [sym__statement] = STATE(5552),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [2693] = {
    [sym__heredoc_body_middle] = ACTIONS(1372),
    [sym__heredoc_body_end] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_STAR_STAR] = ACTIONS(4128),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_if] = ACTIONS(1372),
    [anon_sym_unless] = ACTIONS(1372),
    [anon_sym_while] = ACTIONS(1372),
    [anon_sym_until] = ACTIONS(1372),
    [anon_sym_rescue] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [2694] = {
    [sym__heredoc_body_middle] = ACTIONS(1552),
    [sym__heredoc_body_end] = ACTIONS(1552),
    [sym__element_reference_left_bracket] = ACTIONS(1552),
    [sym__scope_double_colon] = ACTIONS(1552),
    [sym__binary_minus] = ACTIONS(1552),
    [sym__binary_star] = ACTIONS(1552),
    [anon_sym_DOT] = ACTIONS(1554),
    [anon_sym_COMMA] = ACTIONS(1552),
    [anon_sym_PIPE] = ACTIONS(1554),
    [anon_sym_STAR_STAR] = ACTIONS(1552),
    [anon_sym_AMP] = ACTIONS(1554),
    [anon_sym_LT] = ACTIONS(1554),
    [anon_sym_if] = ACTIONS(1552),
    [anon_sym_unless] = ACTIONS(1552),
    [anon_sym_while] = ACTIONS(1552),
    [anon_sym_until] = ACTIONS(1552),
    [anon_sym_rescue] = ACTIONS(1552),
    [anon_sym_AMP_DOT] = ACTIONS(1552),
    [anon_sym_QMARK] = ACTIONS(1552),
    [anon_sym_DOT_DOT] = ACTIONS(1554),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1552),
    [anon_sym_and] = ACTIONS(1552),
    [anon_sym_or] = ACTIONS(1552),
    [anon_sym_PIPE_PIPE] = ACTIONS(1552),
    [anon_sym_AMP_AMP] = ACTIONS(1552),
    [anon_sym_LT_LT] = ACTIONS(1552),
    [anon_sym_GT_GT] = ACTIONS(1552),
    [anon_sym_EQ_EQ] = ACTIONS(1554),
    [anon_sym_BANG_EQ] = ACTIONS(1552),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1552),
    [anon_sym_LT_EQ_GT] = ACTIONS(1552),
    [anon_sym_EQ_TILDE] = ACTIONS(1552),
    [anon_sym_BANG_TILDE] = ACTIONS(1552),
    [anon_sym_LT_EQ] = ACTIONS(1554),
    [anon_sym_GT] = ACTIONS(1554),
    [anon_sym_GT_EQ] = ACTIONS(1552),
    [anon_sym_CARET] = ACTIONS(1552),
    [anon_sym_PLUS] = ACTIONS(1552),
    [anon_sym_SLASH] = ACTIONS(1552),
    [anon_sym_PERCENT] = ACTIONS(1552),
    [sym_comment] = ACTIONS(110),
  },
  [2695] = {
    [anon_sym_RBRACE] = ACTIONS(7858),
    [sym_comment] = ACTIONS(110),
  },
  [2696] = {
    [sym_heredoc_end] = STATE(5554),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RBRACE] = ACTIONS(7858),
    [sym_comment] = ACTIONS(110),
  },
  [2697] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(5555),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(1139),
    [sym_call] = STATE(1139),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(1140),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1141),
    [sym__variable] = STATE(1139),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(1822),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_yield] = ACTIONS(1828),
    [anon_sym_break] = ACTIONS(1830),
    [anon_sym_next] = ACTIONS(1832),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(1834),
    [anon_sym_defined_QMARK] = ACTIONS(1836),
    [anon_sym_not] = ACTIONS(1838),
    [anon_sym_BANG] = ACTIONS(1840),
    [anon_sym_TILDE] = ACTIONS(1840),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [2698] = {
    [sym__heredoc_body_middle] = ACTIONS(1866),
    [sym__heredoc_body_end] = ACTIONS(1866),
    [sym__element_reference_left_bracket] = ACTIONS(1866),
    [sym__scope_double_colon] = ACTIONS(1866),
    [sym__binary_minus] = ACTIONS(1866),
    [sym__binary_star] = ACTIONS(1866),
    [anon_sym_DOT] = ACTIONS(1868),
    [anon_sym_COMMA] = ACTIONS(1866),
    [anon_sym_PIPE] = ACTIONS(1868),
    [anon_sym_STAR_STAR] = ACTIONS(1866),
    [anon_sym_AMP] = ACTIONS(1868),
    [anon_sym_LT] = ACTIONS(1868),
    [anon_sym_if] = ACTIONS(1866),
    [anon_sym_unless] = ACTIONS(1866),
    [anon_sym_while] = ACTIONS(1866),
    [anon_sym_until] = ACTIONS(1866),
    [anon_sym_rescue] = ACTIONS(1866),
    [anon_sym_AMP_DOT] = ACTIONS(1866),
    [anon_sym_QMARK] = ACTIONS(1866),
    [anon_sym_DOT_DOT] = ACTIONS(1868),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1866),
    [anon_sym_and] = ACTIONS(1866),
    [anon_sym_or] = ACTIONS(1866),
    [anon_sym_PIPE_PIPE] = ACTIONS(1866),
    [anon_sym_AMP_AMP] = ACTIONS(1866),
    [anon_sym_LT_LT] = ACTIONS(1866),
    [anon_sym_GT_GT] = ACTIONS(1866),
    [anon_sym_EQ_EQ] = ACTIONS(1868),
    [anon_sym_BANG_EQ] = ACTIONS(1866),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1866),
    [anon_sym_LT_EQ_GT] = ACTIONS(1866),
    [anon_sym_EQ_TILDE] = ACTIONS(1866),
    [anon_sym_BANG_TILDE] = ACTIONS(1866),
    [anon_sym_LT_EQ] = ACTIONS(1868),
    [anon_sym_GT] = ACTIONS(1868),
    [anon_sym_GT_EQ] = ACTIONS(1866),
    [anon_sym_CARET] = ACTIONS(1866),
    [anon_sym_PLUS] = ACTIONS(1866),
    [anon_sym_SLASH] = ACTIONS(1866),
    [anon_sym_PERCENT] = ACTIONS(1866),
    [sym_comment] = ACTIONS(110),
  },
  [2699] = {
    [anon_sym_DOT] = ACTIONS(7860),
    [anon_sym_COLON_COLON] = ACTIONS(7860),
    [sym_comment] = ACTIONS(110),
  },
  [2700] = {
    [sym_method_parameters] = STATE(5557),
    [sym__simple_formal_parameter] = STATE(1150),
    [sym_splat_parameter] = STATE(1151),
    [sym_hash_splat_parameter] = STATE(1151),
    [sym_block_parameter] = STATE(1151),
    [sym_keyword_parameter] = STATE(1151),
    [sym_optional_parameter] = STATE(1151),
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(5557),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym__line_break] = ACTIONS(692),
    [anon_sym_LPAREN] = ACTIONS(1872),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(1874),
    [anon_sym_STAR_STAR] = ACTIONS(1876),
    [anon_sym_AMP] = ACTIONS(1878),
    [sym_identifier] = ACTIONS(1880),
    [sym_comment] = ACTIONS(110),
  },
  [2701] = {
    [sym__heredoc_body_middle] = ACTIONS(1882),
    [sym__heredoc_body_end] = ACTIONS(1882),
    [sym__element_reference_left_bracket] = ACTIONS(1882),
    [sym__scope_double_colon] = ACTIONS(1882),
    [sym__binary_minus] = ACTIONS(1882),
    [sym__binary_star] = ACTIONS(1882),
    [anon_sym_DOT] = ACTIONS(1884),
    [anon_sym_COMMA] = ACTIONS(1882),
    [anon_sym_PIPE] = ACTIONS(1884),
    [anon_sym_STAR_STAR] = ACTIONS(1882),
    [anon_sym_AMP] = ACTIONS(1884),
    [anon_sym_LT] = ACTIONS(1884),
    [anon_sym_if] = ACTIONS(1882),
    [anon_sym_unless] = ACTIONS(1882),
    [anon_sym_while] = ACTIONS(1882),
    [anon_sym_until] = ACTIONS(1882),
    [anon_sym_rescue] = ACTIONS(1882),
    [anon_sym_AMP_DOT] = ACTIONS(1882),
    [anon_sym_QMARK] = ACTIONS(1882),
    [anon_sym_DOT_DOT] = ACTIONS(1884),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1882),
    [anon_sym_and] = ACTIONS(1882),
    [anon_sym_or] = ACTIONS(1882),
    [anon_sym_PIPE_PIPE] = ACTIONS(1882),
    [anon_sym_AMP_AMP] = ACTIONS(1882),
    [anon_sym_LT_LT] = ACTIONS(1882),
    [anon_sym_GT_GT] = ACTIONS(1882),
    [anon_sym_EQ_EQ] = ACTIONS(1884),
    [anon_sym_BANG_EQ] = ACTIONS(1882),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1882),
    [anon_sym_LT_EQ_GT] = ACTIONS(1882),
    [anon_sym_EQ_TILDE] = ACTIONS(1882),
    [anon_sym_BANG_TILDE] = ACTIONS(1882),
    [anon_sym_LT_EQ] = ACTIONS(1884),
    [anon_sym_GT] = ACTIONS(1884),
    [anon_sym_GT_EQ] = ACTIONS(1882),
    [anon_sym_CARET] = ACTIONS(1882),
    [anon_sym_PLUS] = ACTIONS(1882),
    [anon_sym_SLASH] = ACTIONS(1882),
    [anon_sym_PERCENT] = ACTIONS(1882),
    [sym_comment] = ACTIONS(110),
  },
  [2702] = {
    [anon_sym_RPAREN] = ACTIONS(7862),
    [sym_comment] = ACTIONS(110),
  },
  [2703] = {
    [sym__simple_string] = ACTIONS(2010),
    [sym__simple_symbol] = ACTIONS(2010),
    [sym__simple_subshell] = ACTIONS(2010),
    [sym__simple_regex] = ACTIONS(2010),
    [sym__simple_word_list] = ACTIONS(2010),
    [sym__string_beginning] = ACTIONS(2010),
    [sym__symbol_beginning] = ACTIONS(2010),
    [sym__subshell_beginning] = ACTIONS(2010),
    [sym__regex_beginning] = ACTIONS(2010),
    [sym__word_list_beginning] = ACTIONS(2010),
    [sym__heredoc_body_middle] = ACTIONS(2010),
    [sym__heredoc_body_end] = ACTIONS(2010),
    [sym_heredoc_beginning] = ACTIONS(2010),
    [sym__element_reference_left_bracket] = ACTIONS(2010),
    [sym__block_ampersand] = ACTIONS(2010),
    [sym__splat_star] = ACTIONS(2010),
    [sym__argument_list_left_paren] = ACTIONS(2010),
    [sym__scope_double_colon] = ACTIONS(2010),
    [sym__unary_minus] = ACTIONS(2010),
    [sym__binary_minus] = ACTIONS(2010),
    [sym__binary_star] = ACTIONS(2010),
    [anon_sym_LBRACE] = ACTIONS(2010),
    [anon_sym_def] = ACTIONS(2012),
    [anon_sym_LPAREN] = ACTIONS(2010),
    [anon_sym_DOT] = ACTIONS(2012),
    [anon_sym_COLON_COLON] = ACTIONS(2010),
    [anon_sym_end] = ACTIONS(2012),
    [anon_sym_COMMA] = ACTIONS(2010),
    [anon_sym_PIPE] = ACTIONS(2012),
    [anon_sym_STAR] = ACTIONS(2012),
    [anon_sym_STAR_STAR] = ACTIONS(2012),
    [anon_sym_AMP] = ACTIONS(2012),
    [anon_sym_EQ] = ACTIONS(2012),
    [anon_sym_class] = ACTIONS(2012),
    [anon_sym_LT] = ACTIONS(2012),
    [anon_sym_module] = ACTIONS(2012),
    [anon_sym_return] = ACTIONS(2012),
    [anon_sym_yield] = ACTIONS(2012),
    [anon_sym_break] = ACTIONS(2012),
    [anon_sym_next] = ACTIONS(2012),
    [anon_sym_redo] = ACTIONS(2012),
    [anon_sym_retry] = ACTIONS(2012),
    [anon_sym_if] = ACTIONS(2012),
    [anon_sym_unless] = ACTIONS(2012),
    [anon_sym_while] = ACTIONS(2012),
    [anon_sym_until] = ACTIONS(2012),
    [anon_sym_rescue] = ACTIONS(2012),
    [anon_sym_for] = ACTIONS(2012),
    [anon_sym_in] = ACTIONS(2012),
    [anon_sym_do] = ACTIONS(2012),
    [anon_sym_case] = ACTIONS(2012),
    [anon_sym_when] = ACTIONS(2012),
    [anon_sym_elsif] = ACTIONS(2012),
    [anon_sym_else] = ACTIONS(2012),
    [anon_sym_then] = ACTIONS(2012),
    [anon_sym_begin] = ACTIONS(2012),
    [anon_sym_ensure] = ACTIONS(2012),
    [anon_sym_AMP_DOT] = ACTIONS(2010),
    [anon_sym_PLUS_EQ] = ACTIONS(2010),
    [anon_sym_DASH_EQ] = ACTIONS(2010),
    [anon_sym_STAR_EQ] = ACTIONS(2010),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2010),
    [anon_sym_SLASH_EQ] = ACTIONS(2010),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2010),
    [anon_sym_PIPE_EQ] = ACTIONS(2010),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2010),
    [anon_sym_AMP_EQ] = ACTIONS(2010),
    [anon_sym_PERCENT_EQ] = ACTIONS(2010),
    [anon_sym_GT_GT_EQ] = ACTIONS(2010),
    [anon_sym_LT_LT_EQ] = ACTIONS(2010),
    [anon_sym_CARET_EQ] = ACTIONS(2010),
    [anon_sym_QMARK] = ACTIONS(2012),
    [anon_sym_DOT_DOT] = ACTIONS(2012),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2010),
    [anon_sym_and] = ACTIONS(2012),
    [anon_sym_or] = ACTIONS(2012),
    [anon_sym_PIPE_PIPE] = ACTIONS(2012),
    [anon_sym_AMP_AMP] = ACTIONS(2012),
    [anon_sym_LT_LT] = ACTIONS(2012),
    [anon_sym_GT_GT] = ACTIONS(2012),
    [anon_sym_EQ_EQ] = ACTIONS(2012),
    [anon_sym_BANG_EQ] = ACTIONS(2010),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2010),
    [anon_sym_LT_EQ_GT] = ACTIONS(2010),
    [anon_sym_EQ_TILDE] = ACTIONS(2010),
    [anon_sym_BANG_TILDE] = ACTIONS(2010),
    [anon_sym_LT_EQ] = ACTIONS(2012),
    [anon_sym_GT] = ACTIONS(2012),
    [anon_sym_GT_EQ] = ACTIONS(2010),
    [anon_sym_CARET] = ACTIONS(2012),
    [anon_sym_PLUS] = ACTIONS(2012),
    [anon_sym_SLASH] = ACTIONS(2012),
    [anon_sym_PERCENT] = ACTIONS(2012),
    [anon_sym_defined_QMARK] = ACTIONS(2010),
    [anon_sym_not] = ACTIONS(2012),
    [anon_sym_BANG] = ACTIONS(2012),
    [anon_sym_TILDE] = ACTIONS(2010),
    [sym_constant] = ACTIONS(2014),
    [sym_identifier] = ACTIONS(2014),
    [sym_instance_variable] = ACTIONS(2012),
    [sym_class_variable] = ACTIONS(2012),
    [sym_global_variable] = ACTIONS(2012),
    [anon_sym_alias] = ACTIONS(2012),
    [anon_sym_defined] = ACTIONS(2012),
    [anon_sym_false] = ACTIONS(2012),
    [anon_sym_nil] = ACTIONS(2012),
    [anon_sym_self] = ACTIONS(2012),
    [anon_sym_super] = ACTIONS(2012),
    [anon_sym_true] = ACTIONS(2012),
    [anon_sym_undef] = ACTIONS(2012),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(2012),
    [sym_float] = ACTIONS(2014),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(2010),
    [anon_sym_TRUE] = ACTIONS(2012),
    [anon_sym_FALSE] = ACTIONS(2012),
    [anon_sym_NIL] = ACTIONS(2012),
    [sym_keyword__FILE__] = ACTIONS(2012),
    [sym_keyword__LINE__] = ACTIONS(2012),
    [sym_keyword__ENCODING__] = ACTIONS(2012),
    [sym__character_literal] = ACTIONS(2012),
    [anon_sym_LBRACK] = ACTIONS(2010),
    [anon_sym_DASH_GT] = ACTIONS(2010),
  },
  [2704] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(5559),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1329),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1330),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2090),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2100),
    [anon_sym_defined_QMARK] = ACTIONS(2102),
    [anon_sym_not] = ACTIONS(2104),
    [anon_sym_BANG] = ACTIONS(2106),
    [anon_sym_TILDE] = ACTIONS(2106),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2705] = {
    [sym_superclass] = STATE(5560),
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(5561),
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__unary_minus] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(722),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(722),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(2110),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(722),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [2706] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_superclass] = STATE(5560),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1349),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1310),
    [sym__argument_list_with_parens] = STATE(1264),
    [sym__argument] = STATE(1350),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_do_block] = STATE(1312),
    [sym_block] = STATE(1312),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1353),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1354),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__terminator] = STATE(5561),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(2114),
    [sym__splat_star] = ACTIONS(2116),
    [sym__argument_list_left_paren] = ACTIONS(2034),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(2064),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(980),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2120),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(2110),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(2076),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2138),
    [sym_identifier] = ACTIONS(2138),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2707] = {
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(5563),
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__unary_minus] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(722),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(7864),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(722),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(722),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [2708] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1349),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1310),
    [sym__argument_list_with_parens] = STATE(1264),
    [sym__argument] = STATE(1350),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_do_block] = STATE(1312),
    [sym_block] = STATE(1312),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1353),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1354),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__terminator] = STATE(5563),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(2114),
    [sym__splat_star] = ACTIONS(2116),
    [sym__argument_list_left_paren] = ACTIONS(2034),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(2064),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(980),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(7866),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2120),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(2076),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2138),
    [sym_identifier] = ACTIONS(2138),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2709] = {
    [sym__simple_string] = ACTIONS(126),
    [sym__simple_heredoc_body] = ACTIONS(126),
    [sym__string_beginning] = ACTIONS(126),
    [sym__heredoc_body_beginning] = ACTIONS(126),
    [sym__heredoc_body_middle] = ACTIONS(126),
    [sym__heredoc_body_end] = ACTIONS(126),
    [sym__element_reference_left_bracket] = ACTIONS(126),
    [sym__scope_double_colon] = ACTIONS(126),
    [sym__keyword_colon] = ACTIONS(126),
    [sym__binary_minus] = ACTIONS(126),
    [sym__binary_star] = ACTIONS(126),
    [anon_sym_DOT] = ACTIONS(128),
    [anon_sym_COMMA] = ACTIONS(126),
    [anon_sym_PIPE] = ACTIONS(128),
    [anon_sym_STAR_STAR] = ACTIONS(126),
    [anon_sym_AMP] = ACTIONS(128),
    [anon_sym_LT] = ACTIONS(128),
    [anon_sym_if] = ACTIONS(126),
    [anon_sym_unless] = ACTIONS(126),
    [anon_sym_while] = ACTIONS(126),
    [anon_sym_until] = ACTIONS(126),
    [anon_sym_rescue] = ACTIONS(126),
    [anon_sym_EQ_GT] = ACTIONS(126),
    [anon_sym_AMP_DOT] = ACTIONS(126),
    [anon_sym_QMARK] = ACTIONS(128),
    [anon_sym_DOT_DOT] = ACTIONS(128),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(126),
    [anon_sym_and] = ACTIONS(126),
    [anon_sym_or] = ACTIONS(126),
    [anon_sym_PIPE_PIPE] = ACTIONS(126),
    [anon_sym_AMP_AMP] = ACTIONS(126),
    [anon_sym_LT_LT] = ACTIONS(126),
    [anon_sym_GT_GT] = ACTIONS(126),
    [anon_sym_EQ_EQ] = ACTIONS(128),
    [anon_sym_BANG_EQ] = ACTIONS(126),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(126),
    [anon_sym_LT_EQ_GT] = ACTIONS(126),
    [anon_sym_EQ_TILDE] = ACTIONS(126),
    [anon_sym_BANG_TILDE] = ACTIONS(126),
    [anon_sym_LT_EQ] = ACTIONS(128),
    [anon_sym_GT] = ACTIONS(128),
    [anon_sym_GT_EQ] = ACTIONS(126),
    [anon_sym_CARET] = ACTIONS(126),
    [anon_sym_PLUS] = ACTIONS(126),
    [anon_sym_SLASH] = ACTIONS(126),
    [anon_sym_PERCENT] = ACTIONS(126),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(128),
  },
  [2710] = {
    [sym__simple_heredoc_body] = ACTIONS(130),
    [sym__heredoc_body_beginning] = ACTIONS(130),
    [sym__heredoc_body_middle] = ACTIONS(130),
    [sym__heredoc_body_end] = ACTIONS(130),
    [sym__element_reference_left_bracket] = ACTIONS(130),
    [sym__scope_double_colon] = ACTIONS(130),
    [sym__binary_minus] = ACTIONS(130),
    [sym__binary_star] = ACTIONS(130),
    [anon_sym_DOT] = ACTIONS(132),
    [anon_sym_COMMA] = ACTIONS(130),
    [anon_sym_PIPE] = ACTIONS(132),
    [anon_sym_STAR_STAR] = ACTIONS(130),
    [anon_sym_AMP] = ACTIONS(132),
    [anon_sym_LT] = ACTIONS(132),
    [anon_sym_if] = ACTIONS(130),
    [anon_sym_unless] = ACTIONS(130),
    [anon_sym_while] = ACTIONS(130),
    [anon_sym_until] = ACTIONS(130),
    [anon_sym_rescue] = ACTIONS(130),
    [anon_sym_EQ_GT] = ACTIONS(130),
    [anon_sym_AMP_DOT] = ACTIONS(130),
    [anon_sym_QMARK] = ACTIONS(130),
    [anon_sym_DOT_DOT] = ACTIONS(132),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(130),
    [anon_sym_and] = ACTIONS(130),
    [anon_sym_or] = ACTIONS(130),
    [anon_sym_PIPE_PIPE] = ACTIONS(130),
    [anon_sym_AMP_AMP] = ACTIONS(130),
    [anon_sym_LT_LT] = ACTIONS(130),
    [anon_sym_GT_GT] = ACTIONS(130),
    [anon_sym_EQ_EQ] = ACTIONS(132),
    [anon_sym_BANG_EQ] = ACTIONS(130),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(130),
    [anon_sym_LT_EQ_GT] = ACTIONS(130),
    [anon_sym_EQ_TILDE] = ACTIONS(130),
    [anon_sym_BANG_TILDE] = ACTIONS(130),
    [anon_sym_LT_EQ] = ACTIONS(132),
    [anon_sym_GT] = ACTIONS(132),
    [anon_sym_GT_EQ] = ACTIONS(130),
    [anon_sym_CARET] = ACTIONS(130),
    [anon_sym_PLUS] = ACTIONS(130),
    [anon_sym_SLASH] = ACTIONS(130),
    [anon_sym_PERCENT] = ACTIONS(130),
    [sym_comment] = ACTIONS(110),
  },
  [2711] = {
    [sym__simple_heredoc_body] = ACTIONS(134),
    [sym__heredoc_body_beginning] = ACTIONS(134),
    [sym__heredoc_body_middle] = ACTIONS(134),
    [sym__heredoc_body_end] = ACTIONS(134),
    [sym__element_reference_left_bracket] = ACTIONS(134),
    [sym__scope_double_colon] = ACTIONS(134),
    [sym__binary_minus] = ACTIONS(134),
    [sym__binary_star] = ACTIONS(134),
    [anon_sym_DOT] = ACTIONS(136),
    [anon_sym_COMMA] = ACTIONS(134),
    [anon_sym_PIPE] = ACTIONS(136),
    [anon_sym_STAR_STAR] = ACTIONS(134),
    [anon_sym_AMP] = ACTIONS(136),
    [anon_sym_LT] = ACTIONS(136),
    [anon_sym_if] = ACTIONS(134),
    [anon_sym_unless] = ACTIONS(134),
    [anon_sym_while] = ACTIONS(134),
    [anon_sym_until] = ACTIONS(134),
    [anon_sym_rescue] = ACTIONS(134),
    [anon_sym_EQ_GT] = ACTIONS(134),
    [anon_sym_AMP_DOT] = ACTIONS(134),
    [anon_sym_QMARK] = ACTIONS(134),
    [anon_sym_DOT_DOT] = ACTIONS(136),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(134),
    [anon_sym_and] = ACTIONS(134),
    [anon_sym_or] = ACTIONS(134),
    [anon_sym_PIPE_PIPE] = ACTIONS(134),
    [anon_sym_AMP_AMP] = ACTIONS(134),
    [anon_sym_LT_LT] = ACTIONS(134),
    [anon_sym_GT_GT] = ACTIONS(134),
    [anon_sym_EQ_EQ] = ACTIONS(136),
    [anon_sym_BANG_EQ] = ACTIONS(134),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(134),
    [anon_sym_LT_EQ_GT] = ACTIONS(134),
    [anon_sym_EQ_TILDE] = ACTIONS(134),
    [anon_sym_BANG_TILDE] = ACTIONS(134),
    [anon_sym_LT_EQ] = ACTIONS(136),
    [anon_sym_GT] = ACTIONS(136),
    [anon_sym_GT_EQ] = ACTIONS(134),
    [anon_sym_CARET] = ACTIONS(134),
    [anon_sym_PLUS] = ACTIONS(134),
    [anon_sym_SLASH] = ACTIONS(134),
    [anon_sym_PERCENT] = ACTIONS(134),
    [sym_comment] = ACTIONS(110),
  },
  [2712] = {
    [sym__simple_heredoc_body] = ACTIONS(138),
    [sym__heredoc_body_beginning] = ACTIONS(138),
    [sym__heredoc_body_middle] = ACTIONS(138),
    [sym__heredoc_body_end] = ACTIONS(138),
    [sym__element_reference_left_bracket] = ACTIONS(138),
    [sym__scope_double_colon] = ACTIONS(138),
    [sym__binary_minus] = ACTIONS(138),
    [sym__binary_star] = ACTIONS(138),
    [anon_sym_DOT] = ACTIONS(140),
    [anon_sym_COMMA] = ACTIONS(138),
    [anon_sym_PIPE] = ACTIONS(140),
    [anon_sym_STAR_STAR] = ACTIONS(138),
    [anon_sym_AMP] = ACTIONS(140),
    [anon_sym_LT] = ACTIONS(140),
    [anon_sym_if] = ACTIONS(138),
    [anon_sym_unless] = ACTIONS(138),
    [anon_sym_while] = ACTIONS(138),
    [anon_sym_until] = ACTIONS(138),
    [anon_sym_rescue] = ACTIONS(138),
    [anon_sym_EQ_GT] = ACTIONS(138),
    [anon_sym_AMP_DOT] = ACTIONS(138),
    [anon_sym_QMARK] = ACTIONS(138),
    [anon_sym_DOT_DOT] = ACTIONS(140),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(138),
    [anon_sym_and] = ACTIONS(138),
    [anon_sym_or] = ACTIONS(138),
    [anon_sym_PIPE_PIPE] = ACTIONS(138),
    [anon_sym_AMP_AMP] = ACTIONS(138),
    [anon_sym_LT_LT] = ACTIONS(138),
    [anon_sym_GT_GT] = ACTIONS(138),
    [anon_sym_EQ_EQ] = ACTIONS(140),
    [anon_sym_BANG_EQ] = ACTIONS(138),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(138),
    [anon_sym_LT_EQ_GT] = ACTIONS(138),
    [anon_sym_EQ_TILDE] = ACTIONS(138),
    [anon_sym_BANG_TILDE] = ACTIONS(138),
    [anon_sym_LT_EQ] = ACTIONS(140),
    [anon_sym_GT] = ACTIONS(140),
    [anon_sym_GT_EQ] = ACTIONS(138),
    [anon_sym_CARET] = ACTIONS(138),
    [anon_sym_PLUS] = ACTIONS(138),
    [anon_sym_SLASH] = ACTIONS(138),
    [anon_sym_PERCENT] = ACTIONS(138),
    [sym_comment] = ACTIONS(110),
  },
  [2713] = {
    [sym__simple_heredoc_body] = ACTIONS(142),
    [sym__heredoc_body_beginning] = ACTIONS(142),
    [sym__heredoc_body_middle] = ACTIONS(142),
    [sym__heredoc_body_end] = ACTIONS(142),
    [sym__element_reference_left_bracket] = ACTIONS(142),
    [sym__scope_double_colon] = ACTIONS(142),
    [sym__binary_minus] = ACTIONS(142),
    [sym__binary_star] = ACTIONS(142),
    [anon_sym_DOT] = ACTIONS(144),
    [anon_sym_COMMA] = ACTIONS(142),
    [anon_sym_PIPE] = ACTIONS(144),
    [anon_sym_STAR_STAR] = ACTIONS(142),
    [anon_sym_AMP] = ACTIONS(144),
    [anon_sym_LT] = ACTIONS(144),
    [anon_sym_if] = ACTIONS(142),
    [anon_sym_unless] = ACTIONS(142),
    [anon_sym_while] = ACTIONS(142),
    [anon_sym_until] = ACTIONS(142),
    [anon_sym_rescue] = ACTIONS(142),
    [anon_sym_EQ_GT] = ACTIONS(142),
    [anon_sym_AMP_DOT] = ACTIONS(142),
    [anon_sym_QMARK] = ACTIONS(142),
    [anon_sym_DOT_DOT] = ACTIONS(144),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(142),
    [anon_sym_and] = ACTIONS(142),
    [anon_sym_or] = ACTIONS(142),
    [anon_sym_PIPE_PIPE] = ACTIONS(142),
    [anon_sym_AMP_AMP] = ACTIONS(142),
    [anon_sym_LT_LT] = ACTIONS(142),
    [anon_sym_GT_GT] = ACTIONS(142),
    [anon_sym_EQ_EQ] = ACTIONS(144),
    [anon_sym_BANG_EQ] = ACTIONS(142),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(142),
    [anon_sym_LT_EQ_GT] = ACTIONS(142),
    [anon_sym_EQ_TILDE] = ACTIONS(142),
    [anon_sym_BANG_TILDE] = ACTIONS(142),
    [anon_sym_LT_EQ] = ACTIONS(144),
    [anon_sym_GT] = ACTIONS(144),
    [anon_sym_GT_EQ] = ACTIONS(142),
    [anon_sym_CARET] = ACTIONS(142),
    [anon_sym_PLUS] = ACTIONS(142),
    [anon_sym_SLASH] = ACTIONS(142),
    [anon_sym_PERCENT] = ACTIONS(142),
    [sym_comment] = ACTIONS(110),
  },
  [2714] = {
    [sym__statement] = STATE(5565),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(5566),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [2715] = {
    [sym__statement] = STATE(5567),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(5568),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [2716] = {
    [sym__statement] = STATE(5569),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(5570),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [2717] = {
    [sym__statement] = STATE(5571),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(5572),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [2718] = {
    [sym__statement] = STATE(5573),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(5574),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [2719] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__heredoc_body_middle] = ACTIONS(250),
    [sym__heredoc_body_end] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
  },
  [2720] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(5604),
    [sym__primary] = STATE(5605),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(5606),
    [sym_scope_resolution] = STATE(5607),
    [sym_call] = STATE(5607),
    [sym_method_call] = STATE(5606),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(5608),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5609),
    [sym__variable] = STATE(5607),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(5598),
    [sym_true] = STATE(5606),
    [sym_false] = STATE(5606),
    [sym_self] = STATE(5598),
    [sym_nil] = STATE(5606),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(5610),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(7868),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__string_beginning] = ACTIONS(7870),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__unary_minus] = ACTIONS(7872),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(7874),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_COLON_COLON] = ACTIONS(7876),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(7878),
    [anon_sym_module] = ACTIONS(7880),
    [anon_sym_return] = ACTIONS(7882),
    [anon_sym_yield] = ACTIONS(7884),
    [anon_sym_break] = ACTIONS(7886),
    [anon_sym_next] = ACTIONS(7888),
    [anon_sym_redo] = ACTIONS(7890),
    [anon_sym_retry] = ACTIONS(7892),
    [anon_sym_if] = ACTIONS(7894),
    [anon_sym_unless] = ACTIONS(7896),
    [anon_sym_while] = ACTIONS(7898),
    [anon_sym_until] = ACTIONS(7900),
    [anon_sym_for] = ACTIONS(7902),
    [anon_sym_case] = ACTIONS(7904),
    [anon_sym_begin] = ACTIONS(7906),
    [anon_sym_PLUS] = ACTIONS(7908),
    [anon_sym_defined_QMARK] = ACTIONS(7910),
    [anon_sym_not] = ACTIONS(7912),
    [anon_sym_BANG] = ACTIONS(7914),
    [anon_sym_TILDE] = ACTIONS(7914),
    [sym_constant] = ACTIONS(7916),
    [sym_identifier] = ACTIONS(7916),
    [sym_instance_variable] = ACTIONS(7918),
    [sym_class_variable] = ACTIONS(7918),
    [sym_global_variable] = ACTIONS(7918),
    [anon_sym_false] = ACTIONS(7920),
    [anon_sym_nil] = ACTIONS(7922),
    [anon_sym_self] = ACTIONS(7924),
    [anon_sym_super] = ACTIONS(7926),
    [anon_sym_true] = ACTIONS(7928),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(7928),
    [anon_sym_FALSE] = ACTIONS(7920),
    [anon_sym_NIL] = ACTIONS(7922),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(7930),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [2721] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(5611),
    [sym__primary] = STATE(5605),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(5606),
    [sym_scope_resolution] = STATE(5607),
    [sym_call] = STATE(5607),
    [sym_method_call] = STATE(5606),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(5608),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5609),
    [sym__variable] = STATE(5607),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(5598),
    [sym_true] = STATE(5606),
    [sym_false] = STATE(5606),
    [sym_self] = STATE(5598),
    [sym_nil] = STATE(5606),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(5610),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(7868),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__string_beginning] = ACTIONS(7870),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__unary_minus] = ACTIONS(7872),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(7874),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_COLON_COLON] = ACTIONS(7876),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(7878),
    [anon_sym_module] = ACTIONS(7880),
    [anon_sym_return] = ACTIONS(7882),
    [anon_sym_yield] = ACTIONS(7884),
    [anon_sym_break] = ACTIONS(7886),
    [anon_sym_next] = ACTIONS(7888),
    [anon_sym_redo] = ACTIONS(7890),
    [anon_sym_retry] = ACTIONS(7892),
    [anon_sym_if] = ACTIONS(7894),
    [anon_sym_unless] = ACTIONS(7896),
    [anon_sym_while] = ACTIONS(7898),
    [anon_sym_until] = ACTIONS(7900),
    [anon_sym_for] = ACTIONS(7902),
    [anon_sym_case] = ACTIONS(7904),
    [anon_sym_begin] = ACTIONS(7906),
    [anon_sym_PLUS] = ACTIONS(7908),
    [anon_sym_defined_QMARK] = ACTIONS(7910),
    [anon_sym_not] = ACTIONS(7912),
    [anon_sym_BANG] = ACTIONS(7914),
    [anon_sym_TILDE] = ACTIONS(7914),
    [sym_constant] = ACTIONS(7916),
    [sym_identifier] = ACTIONS(7916),
    [sym_instance_variable] = ACTIONS(7918),
    [sym_class_variable] = ACTIONS(7918),
    [sym_global_variable] = ACTIONS(7918),
    [anon_sym_false] = ACTIONS(7920),
    [anon_sym_nil] = ACTIONS(7922),
    [anon_sym_self] = ACTIONS(7924),
    [anon_sym_super] = ACTIONS(7926),
    [anon_sym_true] = ACTIONS(7928),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(7928),
    [anon_sym_FALSE] = ACTIONS(7920),
    [anon_sym_NIL] = ACTIONS(7922),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(7930),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [2722] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1382),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(5613),
    [sym__argument] = STATE(1385),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1386),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1387),
    [sym__variable] = STATE(1383),
    [sym_reserved_identifier] = STATE(1388),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1389),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(5614),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(2154),
    [sym__splat_star] = ACTIONS(2156),
    [sym__unary_minus] = ACTIONS(2158),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(7932),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2162),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2164),
    [anon_sym_yield] = ACTIONS(2166),
    [anon_sym_break] = ACTIONS(2168),
    [anon_sym_next] = ACTIONS(2170),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2172),
    [anon_sym_defined_QMARK] = ACTIONS(2174),
    [anon_sym_not] = ACTIONS(2176),
    [anon_sym_BANG] = ACTIONS(2178),
    [anon_sym_TILDE] = ACTIONS(2178),
    [sym_constant] = ACTIONS(2180),
    [sym_identifier] = ACTIONS(2180),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2723] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(5621),
    [sym__primary] = STATE(2763),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2765),
    [sym_call] = STATE(2765),
    [sym_method_call] = STATE(2764),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(2771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2772),
    [sym__variable] = STATE(2765),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(5610),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(7868),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__string_beginning] = ACTIONS(7870),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__unary_minus] = ACTIONS(4012),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(7874),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(7878),
    [anon_sym_module] = ACTIONS(7880),
    [anon_sym_return] = ACTIONS(7934),
    [anon_sym_yield] = ACTIONS(7936),
    [anon_sym_break] = ACTIONS(7938),
    [anon_sym_next] = ACTIONS(7940),
    [anon_sym_redo] = ACTIONS(7890),
    [anon_sym_retry] = ACTIONS(7892),
    [anon_sym_if] = ACTIONS(7894),
    [anon_sym_unless] = ACTIONS(7896),
    [anon_sym_while] = ACTIONS(7898),
    [anon_sym_until] = ACTIONS(7900),
    [anon_sym_for] = ACTIONS(7902),
    [anon_sym_case] = ACTIONS(7904),
    [anon_sym_begin] = ACTIONS(7906),
    [anon_sym_PLUS] = ACTIONS(7942),
    [anon_sym_defined_QMARK] = ACTIONS(4044),
    [anon_sym_not] = ACTIONS(7944),
    [anon_sym_BANG] = ACTIONS(4050),
    [anon_sym_TILDE] = ACTIONS(4050),
    [sym_constant] = ACTIONS(7946),
    [sym_identifier] = ACTIONS(7946),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_false] = ACTIONS(4074),
    [anon_sym_nil] = ACTIONS(4076),
    [anon_sym_self] = ACTIONS(7948),
    [anon_sym_super] = ACTIONS(7950),
    [anon_sym_true] = ACTIONS(4072),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(7930),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [2724] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(193),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_hash_splat_argument] = STATE(197),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(199),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(200),
    [sym__variable] = STATE(196),
    [sym_reserved_identifier] = STATE(201),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(202),
    [sym_subshell] = STATE(151),
    [sym_heredoc_end] = STATE(5623),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym__hash_items] = STATE(5624),
    [sym_pair] = STATE(205),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(260),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(272),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(286),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_RBRACE] = ACTIONS(7952),
    [anon_sym_def] = ACTIONS(292),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(302),
    [anon_sym_class] = ACTIONS(304),
    [anon_sym_module] = ACTIONS(306),
    [anon_sym_return] = ACTIONS(308),
    [anon_sym_yield] = ACTIONS(310),
    [anon_sym_break] = ACTIONS(312),
    [anon_sym_next] = ACTIONS(314),
    [anon_sym_redo] = ACTIONS(316),
    [anon_sym_retry] = ACTIONS(318),
    [anon_sym_if] = ACTIONS(320),
    [anon_sym_unless] = ACTIONS(322),
    [anon_sym_while] = ACTIONS(324),
    [anon_sym_until] = ACTIONS(326),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(328),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(330),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(332),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(334),
    [anon_sym_defined_QMARK] = ACTIONS(336),
    [anon_sym_not] = ACTIONS(338),
    [anon_sym_BANG] = ACTIONS(340),
    [anon_sym_TILDE] = ACTIONS(340),
    [sym_constant] = ACTIONS(342),
    [sym_identifier] = ACTIONS(342),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(346),
    [anon_sym_nil] = ACTIONS(348),
    [anon_sym_self] = ACTIONS(350),
    [anon_sym_super] = ACTIONS(352),
    [anon_sym_true] = ACTIONS(354),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(370),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [2725] = {
    [sym__method_rest] = STATE(5626),
    [sym__variable] = STATE(5627),
    [sym_operator] = STATE(217),
    [sym__method_name] = STATE(5628),
    [sym_setter] = STATE(217),
    [sym_symbol] = STATE(217),
    [sym_super] = STATE(219),
    [sym_self] = STATE(219),
    [sym__simple_symbol] = ACTIONS(378),
    [sym__symbol_beginning] = ACTIONS(380),
    [sym__keyword_colon] = ACTIONS(1556),
    [anon_sym_LPAREN] = ACTIONS(7954),
    [anon_sym_PIPE] = ACTIONS(384),
    [anon_sym_STAR] = ACTIONS(386),
    [anon_sym_STAR_STAR] = ACTIONS(384),
    [anon_sym_AMP] = ACTIONS(384),
    [anon_sym_LT] = ACTIONS(386),
    [anon_sym_DOT_DOT] = ACTIONS(384),
    [anon_sym_LT_LT] = ACTIONS(384),
    [anon_sym_GT_GT] = ACTIONS(384),
    [anon_sym_EQ_EQ] = ACTIONS(386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(384),
    [anon_sym_LT_EQ_GT] = ACTIONS(384),
    [anon_sym_EQ_TILDE] = ACTIONS(384),
    [anon_sym_BANG_TILDE] = ACTIONS(384),
    [anon_sym_LT_EQ] = ACTIONS(386),
    [anon_sym_GT] = ACTIONS(386),
    [anon_sym_GT_EQ] = ACTIONS(384),
    [anon_sym_CARET] = ACTIONS(384),
    [anon_sym_PLUS] = ACTIONS(386),
    [anon_sym_SLASH] = ACTIONS(384),
    [anon_sym_PERCENT] = ACTIONS(384),
    [anon_sym_BANG] = ACTIONS(386),
    [anon_sym_TILDE] = ACTIONS(384),
    [sym_constant] = ACTIONS(388),
    [sym_identifier] = ACTIONS(390),
    [sym_instance_variable] = ACTIONS(388),
    [sym_class_variable] = ACTIONS(388),
    [sym_global_variable] = ACTIONS(388),
    [anon_sym_self] = ACTIONS(392),
    [anon_sym_super] = ACTIONS(394),
    [anon_sym_DASH] = ACTIONS(386),
    [anon_sym_PLUS_AT] = ACTIONS(384),
    [anon_sym_DASH_AT] = ACTIONS(384),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(386),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(384),
    [anon_sym_BQUOTE] = ACTIONS(384),
    [sym_comment] = ACTIONS(110),
  },
  [2726] = {
    [sym__statements] = STATE(5630),
    [sym__top_level_statement] = STATE(235),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(236),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(237),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(240),
    [sym__mlhs] = STATE(241),
    [sym__simple_mlhs] = STATE(242),
    [sym_destructured_left_assignment] = STATE(242),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(243),
    [sym__variable] = STATE(239),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(396),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_RPAREN] = ACTIONS(7956),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(402),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(412),
    [anon_sym_defined_QMARK] = ACTIONS(414),
    [anon_sym_not] = ACTIONS(416),
    [anon_sym_BANG] = ACTIONS(418),
    [anon_sym_TILDE] = ACTIONS(418),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2727] = {
    [sym_constant] = ACTIONS(7958),
    [sym_identifier] = ACTIONS(7958),
    [sym_comment] = ACTIONS(110),
  },
  [2728] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(5632),
    [sym__primary] = STATE(5605),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(5606),
    [sym_scope_resolution] = STATE(5607),
    [sym_call] = STATE(5607),
    [sym_method_call] = STATE(5606),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(5608),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5609),
    [sym__variable] = STATE(5607),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(5598),
    [sym_true] = STATE(5606),
    [sym_false] = STATE(5606),
    [sym_self] = STATE(5598),
    [sym_nil] = STATE(5606),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(5610),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(7868),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__string_beginning] = ACTIONS(7870),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__unary_minus] = ACTIONS(7872),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(7874),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_COLON_COLON] = ACTIONS(7876),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(7878),
    [anon_sym_module] = ACTIONS(7880),
    [anon_sym_return] = ACTIONS(7882),
    [anon_sym_yield] = ACTIONS(7884),
    [anon_sym_break] = ACTIONS(7886),
    [anon_sym_next] = ACTIONS(7888),
    [anon_sym_redo] = ACTIONS(7890),
    [anon_sym_retry] = ACTIONS(7892),
    [anon_sym_if] = ACTIONS(7894),
    [anon_sym_unless] = ACTIONS(7896),
    [anon_sym_while] = ACTIONS(7898),
    [anon_sym_until] = ACTIONS(7900),
    [anon_sym_for] = ACTIONS(7902),
    [anon_sym_case] = ACTIONS(7904),
    [anon_sym_begin] = ACTIONS(7906),
    [anon_sym_PLUS] = ACTIONS(7908),
    [anon_sym_defined_QMARK] = ACTIONS(7910),
    [anon_sym_not] = ACTIONS(7912),
    [anon_sym_BANG] = ACTIONS(7914),
    [anon_sym_TILDE] = ACTIONS(7914),
    [sym_constant] = ACTIONS(7916),
    [sym_identifier] = ACTIONS(7916),
    [sym_instance_variable] = ACTIONS(7918),
    [sym_class_variable] = ACTIONS(7918),
    [sym_global_variable] = ACTIONS(7918),
    [anon_sym_false] = ACTIONS(7920),
    [anon_sym_nil] = ACTIONS(7922),
    [anon_sym_self] = ACTIONS(7924),
    [anon_sym_super] = ACTIONS(7926),
    [anon_sym_true] = ACTIONS(7928),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(7928),
    [anon_sym_FALSE] = ACTIONS(7920),
    [anon_sym_NIL] = ACTIONS(7922),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(7930),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [2729] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(293),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(5635),
    [sym_call] = STATE(295),
    [sym_method_call] = STATE(286),
    [sym__lhs] = STATE(255),
    [sym__variable] = STATE(295),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__singleton_class_left_angle_left_langle] = ACTIONS(7960),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(458),
    [anon_sym_COLON_COLON] = ACTIONS(524),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(7962),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [2730] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(293),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(5637),
    [sym_call] = STATE(295),
    [sym_method_call] = STATE(286),
    [sym__lhs] = STATE(255),
    [sym__variable] = STATE(295),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [sym__keyword_colon] = ACTIONS(1556),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(458),
    [anon_sym_COLON_COLON] = ACTIONS(524),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(7964),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [2731] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(5642),
    [sym__primary] = STATE(2763),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2765),
    [sym_call] = STATE(2765),
    [sym_method_call] = STATE(2764),
    [sym_argument_list] = STATE(5643),
    [sym__argument_list_with_parens] = STATE(2767),
    [sym__argument] = STATE(5644),
    [sym_splat_argument] = STATE(2769),
    [sym_hash_splat_argument] = STATE(2769),
    [sym_block_argument] = STATE(2769),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(2771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2772),
    [sym__variable] = STATE(2765),
    [sym_reserved_identifier] = STATE(5645),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(5646),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_pair] = STATE(2769),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(3984),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(3994),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym__heredoc_body_middle] = ACTIONS(532),
    [sym__heredoc_body_end] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(7966),
    [sym__splat_star] = ACTIONS(7968),
    [sym__argument_list_left_paren] = ACTIONS(4010),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(4012),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(4016),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(4022),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(4024),
    [anon_sym_return] = ACTIONS(4026),
    [anon_sym_yield] = ACTIONS(4028),
    [anon_sym_break] = ACTIONS(4030),
    [anon_sym_next] = ACTIONS(4032),
    [anon_sym_redo] = ACTIONS(4034),
    [anon_sym_retry] = ACTIONS(4036),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(4038),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(4040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(4042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(4044),
    [anon_sym_not] = ACTIONS(4046),
    [anon_sym_BANG] = ACTIONS(4048),
    [anon_sym_TILDE] = ACTIONS(4050),
    [sym_constant] = ACTIONS(7970),
    [sym_identifier] = ACTIONS(7970),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(4056),
    [anon_sym_nil] = ACTIONS(4058),
    [anon_sym_self] = ACTIONS(4060),
    [anon_sym_super] = ACTIONS(4062),
    [anon_sym_true] = ACTIONS(4064),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(4080),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [2732] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(5642),
    [sym__primary] = STATE(2763),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2765),
    [sym_call] = STATE(2765),
    [sym_method_call] = STATE(2764),
    [sym_argument_list] = STATE(5647),
    [sym__argument_list_with_parens] = STATE(2767),
    [sym__argument] = STATE(5644),
    [sym_splat_argument] = STATE(2769),
    [sym_hash_splat_argument] = STATE(2769),
    [sym_block_argument] = STATE(2769),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(2771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2772),
    [sym__variable] = STATE(2765),
    [sym_reserved_identifier] = STATE(5645),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(5646),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_pair] = STATE(2769),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(3984),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(3994),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym__heredoc_body_middle] = ACTIONS(602),
    [sym__heredoc_body_end] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(7966),
    [sym__splat_star] = ACTIONS(7968),
    [sym__argument_list_left_paren] = ACTIONS(4010),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(4012),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(4016),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(4022),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(4024),
    [anon_sym_return] = ACTIONS(4026),
    [anon_sym_yield] = ACTIONS(4028),
    [anon_sym_break] = ACTIONS(4030),
    [anon_sym_next] = ACTIONS(4032),
    [anon_sym_redo] = ACTIONS(4034),
    [anon_sym_retry] = ACTIONS(4036),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(4038),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(4040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(4042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(4044),
    [anon_sym_not] = ACTIONS(4046),
    [anon_sym_BANG] = ACTIONS(4048),
    [anon_sym_TILDE] = ACTIONS(4050),
    [sym_constant] = ACTIONS(7970),
    [sym_identifier] = ACTIONS(7970),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(4056),
    [anon_sym_nil] = ACTIONS(4058),
    [anon_sym_self] = ACTIONS(4060),
    [anon_sym_super] = ACTIONS(4062),
    [anon_sym_true] = ACTIONS(4064),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(4080),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [2733] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(5642),
    [sym__primary] = STATE(2763),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2765),
    [sym_call] = STATE(2765),
    [sym_method_call] = STATE(2764),
    [sym_argument_list] = STATE(5648),
    [sym__argument_list_with_parens] = STATE(2767),
    [sym__argument] = STATE(5644),
    [sym_splat_argument] = STATE(2769),
    [sym_hash_splat_argument] = STATE(2769),
    [sym_block_argument] = STATE(2769),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(2771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2772),
    [sym__variable] = STATE(2765),
    [sym_reserved_identifier] = STATE(5645),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(5646),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_pair] = STATE(2769),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(3984),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(3994),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym__heredoc_body_middle] = ACTIONS(606),
    [sym__heredoc_body_end] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(7966),
    [sym__splat_star] = ACTIONS(7968),
    [sym__argument_list_left_paren] = ACTIONS(4010),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(4012),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(4016),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(4022),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(4024),
    [anon_sym_return] = ACTIONS(4026),
    [anon_sym_yield] = ACTIONS(4028),
    [anon_sym_break] = ACTIONS(4030),
    [anon_sym_next] = ACTIONS(4032),
    [anon_sym_redo] = ACTIONS(4034),
    [anon_sym_retry] = ACTIONS(4036),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(4038),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(4040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(4042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(4044),
    [anon_sym_not] = ACTIONS(4046),
    [anon_sym_BANG] = ACTIONS(4048),
    [anon_sym_TILDE] = ACTIONS(4050),
    [sym_constant] = ACTIONS(7970),
    [sym_identifier] = ACTIONS(7970),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(4056),
    [anon_sym_nil] = ACTIONS(4058),
    [anon_sym_self] = ACTIONS(4060),
    [anon_sym_super] = ACTIONS(4062),
    [anon_sym_true] = ACTIONS(4064),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(4080),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [2734] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(5642),
    [sym__primary] = STATE(2763),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2765),
    [sym_call] = STATE(2765),
    [sym_method_call] = STATE(2764),
    [sym_argument_list] = STATE(5649),
    [sym__argument_list_with_parens] = STATE(2767),
    [sym__argument] = STATE(5644),
    [sym_splat_argument] = STATE(2769),
    [sym_hash_splat_argument] = STATE(2769),
    [sym_block_argument] = STATE(2769),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(2771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2772),
    [sym__variable] = STATE(2765),
    [sym_reserved_identifier] = STATE(5645),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(5646),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_pair] = STATE(2769),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(3984),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(3994),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym__heredoc_body_middle] = ACTIONS(610),
    [sym__heredoc_body_end] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(7966),
    [sym__splat_star] = ACTIONS(7968),
    [sym__argument_list_left_paren] = ACTIONS(4010),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(4012),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(4016),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(4022),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(4024),
    [anon_sym_return] = ACTIONS(4026),
    [anon_sym_yield] = ACTIONS(4028),
    [anon_sym_break] = ACTIONS(4030),
    [anon_sym_next] = ACTIONS(4032),
    [anon_sym_redo] = ACTIONS(4034),
    [anon_sym_retry] = ACTIONS(4036),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(4038),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(4040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(4042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(4044),
    [anon_sym_not] = ACTIONS(4046),
    [anon_sym_BANG] = ACTIONS(4048),
    [anon_sym_TILDE] = ACTIONS(4050),
    [sym_constant] = ACTIONS(7970),
    [sym_identifier] = ACTIONS(7970),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(4056),
    [anon_sym_nil] = ACTIONS(4058),
    [anon_sym_self] = ACTIONS(4060),
    [anon_sym_super] = ACTIONS(4062),
    [anon_sym_true] = ACTIONS(4064),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(4080),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [2735] = {
    [sym__simple_heredoc_body] = ACTIONS(614),
    [sym__heredoc_body_beginning] = ACTIONS(614),
    [sym__heredoc_body_middle] = ACTIONS(614),
    [sym__heredoc_body_end] = ACTIONS(614),
    [sym__element_reference_left_bracket] = ACTIONS(614),
    [sym__scope_double_colon] = ACTIONS(614),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__binary_minus] = ACTIONS(614),
    [sym__binary_star] = ACTIONS(614),
    [anon_sym_DOT] = ACTIONS(616),
    [anon_sym_COMMA] = ACTIONS(614),
    [anon_sym_PIPE] = ACTIONS(616),
    [anon_sym_STAR_STAR] = ACTIONS(614),
    [anon_sym_AMP] = ACTIONS(616),
    [anon_sym_LT] = ACTIONS(616),
    [anon_sym_if] = ACTIONS(614),
    [anon_sym_unless] = ACTIONS(614),
    [anon_sym_while] = ACTIONS(614),
    [anon_sym_until] = ACTIONS(614),
    [anon_sym_rescue] = ACTIONS(614),
    [anon_sym_EQ_GT] = ACTIONS(614),
    [anon_sym_AMP_DOT] = ACTIONS(614),
    [anon_sym_QMARK] = ACTIONS(614),
    [anon_sym_DOT_DOT] = ACTIONS(616),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(614),
    [anon_sym_and] = ACTIONS(614),
    [anon_sym_or] = ACTIONS(614),
    [anon_sym_PIPE_PIPE] = ACTIONS(614),
    [anon_sym_AMP_AMP] = ACTIONS(614),
    [anon_sym_LT_LT] = ACTIONS(614),
    [anon_sym_GT_GT] = ACTIONS(614),
    [anon_sym_EQ_EQ] = ACTIONS(616),
    [anon_sym_BANG_EQ] = ACTIONS(614),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(614),
    [anon_sym_LT_EQ_GT] = ACTIONS(614),
    [anon_sym_EQ_TILDE] = ACTIONS(614),
    [anon_sym_BANG_TILDE] = ACTIONS(614),
    [anon_sym_LT_EQ] = ACTIONS(616),
    [anon_sym_GT] = ACTIONS(616),
    [anon_sym_GT_EQ] = ACTIONS(614),
    [anon_sym_CARET] = ACTIONS(614),
    [anon_sym_PLUS] = ACTIONS(614),
    [anon_sym_SLASH] = ACTIONS(614),
    [anon_sym_PERCENT] = ACTIONS(614),
    [sym_comment] = ACTIONS(110),
  },
  [2736] = {
    [sym__simple_heredoc_body] = ACTIONS(618),
    [sym__heredoc_body_beginning] = ACTIONS(618),
    [sym__heredoc_body_middle] = ACTIONS(618),
    [sym__heredoc_body_end] = ACTIONS(618),
    [sym__element_reference_left_bracket] = ACTIONS(618),
    [sym__scope_double_colon] = ACTIONS(618),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__binary_minus] = ACTIONS(618),
    [sym__binary_star] = ACTIONS(618),
    [anon_sym_DOT] = ACTIONS(620),
    [anon_sym_COMMA] = ACTIONS(618),
    [anon_sym_PIPE] = ACTIONS(620),
    [anon_sym_STAR_STAR] = ACTIONS(618),
    [anon_sym_AMP] = ACTIONS(620),
    [anon_sym_LT] = ACTIONS(620),
    [anon_sym_if] = ACTIONS(618),
    [anon_sym_unless] = ACTIONS(618),
    [anon_sym_while] = ACTIONS(618),
    [anon_sym_until] = ACTIONS(618),
    [anon_sym_rescue] = ACTIONS(618),
    [anon_sym_EQ_GT] = ACTIONS(618),
    [anon_sym_AMP_DOT] = ACTIONS(618),
    [anon_sym_QMARK] = ACTIONS(618),
    [anon_sym_DOT_DOT] = ACTIONS(620),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(618),
    [anon_sym_and] = ACTIONS(618),
    [anon_sym_or] = ACTIONS(618),
    [anon_sym_PIPE_PIPE] = ACTIONS(618),
    [anon_sym_AMP_AMP] = ACTIONS(618),
    [anon_sym_LT_LT] = ACTIONS(618),
    [anon_sym_GT_GT] = ACTIONS(618),
    [anon_sym_EQ_EQ] = ACTIONS(620),
    [anon_sym_BANG_EQ] = ACTIONS(618),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(618),
    [anon_sym_LT_EQ_GT] = ACTIONS(618),
    [anon_sym_EQ_TILDE] = ACTIONS(618),
    [anon_sym_BANG_TILDE] = ACTIONS(618),
    [anon_sym_LT_EQ] = ACTIONS(620),
    [anon_sym_GT] = ACTIONS(620),
    [anon_sym_GT_EQ] = ACTIONS(618),
    [anon_sym_CARET] = ACTIONS(618),
    [anon_sym_PLUS] = ACTIONS(618),
    [anon_sym_SLASH] = ACTIONS(618),
    [anon_sym_PERCENT] = ACTIONS(618),
    [sym_comment] = ACTIONS(110),
  },
  [2737] = {
    [sym__statement] = STATE(5650),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(361),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2738] = {
    [sym__statement] = STATE(5651),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(361),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2739] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(5652),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2740] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(5653),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2741] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(285),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(381),
    [sym_call] = STATE(381),
    [sym_method_call] = STATE(286),
    [sym__mlhs] = STATE(5654),
    [sym__simple_mlhs] = STATE(383),
    [sym_destructured_left_assignment] = STATE(383),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(384),
    [sym__variable] = STATE(381),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [sym__keyword_colon] = ACTIONS(1556),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(658),
    [anon_sym_COLON_COLON] = ACTIONS(460),
    [anon_sym_STAR] = ACTIONS(660),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(494),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [2742] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_when] = STATE(5655),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(5656),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(400),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(401),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(387),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__terminator] = STATE(402),
    [aux_sym_case_repeat1] = STATE(5657),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(666),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(668),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_when] = ACTIONS(678),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(680),
    [anon_sym_defined_QMARK] = ACTIONS(682),
    [anon_sym_not] = ACTIONS(684),
    [anon_sym_BANG] = ACTIONS(686),
    [anon_sym_TILDE] = ACTIONS(686),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2743] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(5659),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(5660),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(692),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(7972),
    [anon_sym_SEMI] = ACTIONS(698),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2744] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(5661),
    [sym__primary] = STATE(2763),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2765),
    [sym_call] = STATE(2765),
    [sym_method_call] = STATE(2764),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(2771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2772),
    [sym__variable] = STATE(2765),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(5610),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(7868),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__string_beginning] = ACTIONS(7870),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__unary_minus] = ACTIONS(4012),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(7874),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(7878),
    [anon_sym_module] = ACTIONS(7880),
    [anon_sym_return] = ACTIONS(7934),
    [anon_sym_yield] = ACTIONS(7936),
    [anon_sym_break] = ACTIONS(7938),
    [anon_sym_next] = ACTIONS(7940),
    [anon_sym_redo] = ACTIONS(7890),
    [anon_sym_retry] = ACTIONS(7892),
    [anon_sym_if] = ACTIONS(7894),
    [anon_sym_unless] = ACTIONS(7896),
    [anon_sym_while] = ACTIONS(7898),
    [anon_sym_until] = ACTIONS(7900),
    [anon_sym_for] = ACTIONS(7902),
    [anon_sym_case] = ACTIONS(7904),
    [anon_sym_begin] = ACTIONS(7906),
    [anon_sym_PLUS] = ACTIONS(7942),
    [anon_sym_defined_QMARK] = ACTIONS(4044),
    [anon_sym_not] = ACTIONS(7944),
    [anon_sym_BANG] = ACTIONS(4050),
    [anon_sym_TILDE] = ACTIONS(4050),
    [sym_constant] = ACTIONS(7946),
    [sym_identifier] = ACTIONS(7946),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_false] = ACTIONS(4074),
    [anon_sym_nil] = ACTIONS(4076),
    [anon_sym_self] = ACTIONS(7948),
    [anon_sym_super] = ACTIONS(7950),
    [anon_sym_true] = ACTIONS(4072),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(7930),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [2745] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(5662),
    [sym__primary] = STATE(2763),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2765),
    [sym_call] = STATE(2765),
    [sym_method_call] = STATE(2764),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(2771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2772),
    [sym__variable] = STATE(2765),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(5610),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(7868),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__string_beginning] = ACTIONS(7870),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__unary_minus] = ACTIONS(4012),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(7874),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(7878),
    [anon_sym_module] = ACTIONS(7880),
    [anon_sym_return] = ACTIONS(7934),
    [anon_sym_yield] = ACTIONS(7936),
    [anon_sym_break] = ACTIONS(7938),
    [anon_sym_next] = ACTIONS(7940),
    [anon_sym_redo] = ACTIONS(7890),
    [anon_sym_retry] = ACTIONS(7892),
    [anon_sym_if] = ACTIONS(7894),
    [anon_sym_unless] = ACTIONS(7896),
    [anon_sym_while] = ACTIONS(7898),
    [anon_sym_until] = ACTIONS(7900),
    [anon_sym_for] = ACTIONS(7902),
    [anon_sym_case] = ACTIONS(7904),
    [anon_sym_begin] = ACTIONS(7906),
    [anon_sym_PLUS] = ACTIONS(7942),
    [anon_sym_defined_QMARK] = ACTIONS(4044),
    [anon_sym_not] = ACTIONS(7944),
    [anon_sym_BANG] = ACTIONS(4050),
    [anon_sym_TILDE] = ACTIONS(4050),
    [sym_constant] = ACTIONS(7946),
    [sym_identifier] = ACTIONS(7946),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_false] = ACTIONS(4074),
    [anon_sym_nil] = ACTIONS(4076),
    [anon_sym_self] = ACTIONS(7948),
    [anon_sym_super] = ACTIONS(7950),
    [anon_sym_true] = ACTIONS(4072),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(7930),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [2746] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(5662),
    [sym__primary] = STATE(2763),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2765),
    [sym_call] = STATE(2765),
    [sym_method_call] = STATE(2764),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(2771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2772),
    [sym__variable] = STATE(2765),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(5610),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(7868),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__string_beginning] = ACTIONS(7870),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(4012),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(7874),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(7878),
    [anon_sym_module] = ACTIONS(7880),
    [anon_sym_return] = ACTIONS(7934),
    [anon_sym_yield] = ACTIONS(7936),
    [anon_sym_break] = ACTIONS(7938),
    [anon_sym_next] = ACTIONS(7940),
    [anon_sym_redo] = ACTIONS(7890),
    [anon_sym_retry] = ACTIONS(7892),
    [anon_sym_if] = ACTIONS(7894),
    [anon_sym_unless] = ACTIONS(7896),
    [anon_sym_while] = ACTIONS(7898),
    [anon_sym_until] = ACTIONS(7900),
    [anon_sym_for] = ACTIONS(7902),
    [anon_sym_case] = ACTIONS(7904),
    [anon_sym_begin] = ACTIONS(7906),
    [anon_sym_PLUS] = ACTIONS(7942),
    [anon_sym_defined_QMARK] = ACTIONS(4044),
    [anon_sym_not] = ACTIONS(7944),
    [anon_sym_BANG] = ACTIONS(4050),
    [anon_sym_TILDE] = ACTIONS(4050),
    [sym_constant] = ACTIONS(7946),
    [sym_identifier] = ACTIONS(7946),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_false] = ACTIONS(4074),
    [anon_sym_nil] = ACTIONS(4076),
    [anon_sym_self] = ACTIONS(7948),
    [anon_sym_super] = ACTIONS(7950),
    [anon_sym_true] = ACTIONS(4072),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(7930),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [2747] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(5663),
    [sym__primary] = STATE(2763),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2765),
    [sym_call] = STATE(2765),
    [sym_method_call] = STATE(2764),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(2771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2772),
    [sym__variable] = STATE(2765),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(5610),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(7868),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__string_beginning] = ACTIONS(7870),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__unary_minus] = ACTIONS(4012),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(7874),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(7878),
    [anon_sym_module] = ACTIONS(7880),
    [anon_sym_return] = ACTIONS(7934),
    [anon_sym_yield] = ACTIONS(7936),
    [anon_sym_break] = ACTIONS(7938),
    [anon_sym_next] = ACTIONS(7940),
    [anon_sym_redo] = ACTIONS(7890),
    [anon_sym_retry] = ACTIONS(7892),
    [anon_sym_if] = ACTIONS(7894),
    [anon_sym_unless] = ACTIONS(7896),
    [anon_sym_while] = ACTIONS(7898),
    [anon_sym_until] = ACTIONS(7900),
    [anon_sym_for] = ACTIONS(7902),
    [anon_sym_case] = ACTIONS(7904),
    [anon_sym_begin] = ACTIONS(7906),
    [anon_sym_PLUS] = ACTIONS(7942),
    [anon_sym_defined_QMARK] = ACTIONS(4044),
    [anon_sym_not] = ACTIONS(7944),
    [anon_sym_BANG] = ACTIONS(4050),
    [anon_sym_TILDE] = ACTIONS(4050),
    [sym_constant] = ACTIONS(7946),
    [sym_identifier] = ACTIONS(7946),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_false] = ACTIONS(4074),
    [anon_sym_nil] = ACTIONS(4076),
    [anon_sym_self] = ACTIONS(7948),
    [anon_sym_super] = ACTIONS(7950),
    [anon_sym_true] = ACTIONS(4072),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(7930),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [2748] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym__heredoc_body_middle] = ACTIONS(722),
    [sym__heredoc_body_end] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(7974),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [2749] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym__heredoc_body_middle] = ACTIONS(722),
    [sym__heredoc_body_end] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [2750] = {
    [sym__simple_heredoc_body] = ACTIONS(740),
    [sym__heredoc_body_beginning] = ACTIONS(740),
    [sym__heredoc_body_middle] = ACTIONS(740),
    [sym__heredoc_body_end] = ACTIONS(740),
    [sym__element_reference_left_bracket] = ACTIONS(740),
    [sym__scope_double_colon] = ACTIONS(740),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__binary_minus] = ACTIONS(740),
    [sym__binary_star] = ACTIONS(740),
    [anon_sym_LBRACE] = ACTIONS(740),
    [anon_sym_DOT] = ACTIONS(742),
    [anon_sym_COMMA] = ACTIONS(740),
    [anon_sym_PIPE] = ACTIONS(742),
    [anon_sym_STAR_STAR] = ACTIONS(742),
    [anon_sym_AMP] = ACTIONS(742),
    [anon_sym_EQ] = ACTIONS(742),
    [anon_sym_LT] = ACTIONS(742),
    [anon_sym_if] = ACTIONS(740),
    [anon_sym_unless] = ACTIONS(740),
    [anon_sym_while] = ACTIONS(740),
    [anon_sym_until] = ACTIONS(740),
    [anon_sym_rescue] = ACTIONS(740),
    [anon_sym_do] = ACTIONS(740),
    [anon_sym_EQ_GT] = ACTIONS(740),
    [anon_sym_AMP_DOT] = ACTIONS(740),
    [anon_sym_PLUS_EQ] = ACTIONS(740),
    [anon_sym_DASH_EQ] = ACTIONS(740),
    [anon_sym_STAR_EQ] = ACTIONS(740),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(740),
    [anon_sym_SLASH_EQ] = ACTIONS(740),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(740),
    [anon_sym_PIPE_EQ] = ACTIONS(740),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(740),
    [anon_sym_AMP_EQ] = ACTIONS(740),
    [anon_sym_PERCENT_EQ] = ACTIONS(740),
    [anon_sym_GT_GT_EQ] = ACTIONS(740),
    [anon_sym_LT_LT_EQ] = ACTIONS(740),
    [anon_sym_CARET_EQ] = ACTIONS(740),
    [anon_sym_QMARK] = ACTIONS(740),
    [anon_sym_DOT_DOT] = ACTIONS(742),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(740),
    [anon_sym_and] = ACTIONS(740),
    [anon_sym_or] = ACTIONS(740),
    [anon_sym_PIPE_PIPE] = ACTIONS(742),
    [anon_sym_AMP_AMP] = ACTIONS(742),
    [anon_sym_LT_LT] = ACTIONS(742),
    [anon_sym_GT_GT] = ACTIONS(742),
    [anon_sym_EQ_EQ] = ACTIONS(742),
    [anon_sym_BANG_EQ] = ACTIONS(740),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(740),
    [anon_sym_LT_EQ_GT] = ACTIONS(740),
    [anon_sym_EQ_TILDE] = ACTIONS(740),
    [anon_sym_BANG_TILDE] = ACTIONS(740),
    [anon_sym_LT_EQ] = ACTIONS(742),
    [anon_sym_GT] = ACTIONS(742),
    [anon_sym_GT_EQ] = ACTIONS(740),
    [anon_sym_CARET] = ACTIONS(742),
    [anon_sym_PLUS] = ACTIONS(742),
    [anon_sym_SLASH] = ACTIONS(742),
    [anon_sym_PERCENT] = ACTIONS(742),
    [sym_comment] = ACTIONS(256),
  },
  [2751] = {
    [sym__simple_heredoc_body] = ACTIONS(744),
    [sym__heredoc_body_beginning] = ACTIONS(744),
    [sym__heredoc_body_middle] = ACTIONS(744),
    [sym__heredoc_body_end] = ACTIONS(744),
    [sym__element_reference_left_bracket] = ACTIONS(744),
    [sym__scope_double_colon] = ACTIONS(744),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__binary_minus] = ACTIONS(744),
    [sym__binary_star] = ACTIONS(744),
    [anon_sym_LBRACE] = ACTIONS(744),
    [anon_sym_DOT] = ACTIONS(746),
    [anon_sym_COMMA] = ACTIONS(744),
    [anon_sym_PIPE] = ACTIONS(746),
    [anon_sym_STAR_STAR] = ACTIONS(746),
    [anon_sym_AMP] = ACTIONS(746),
    [anon_sym_EQ] = ACTIONS(746),
    [anon_sym_LT] = ACTIONS(746),
    [anon_sym_if] = ACTIONS(744),
    [anon_sym_unless] = ACTIONS(744),
    [anon_sym_while] = ACTIONS(744),
    [anon_sym_until] = ACTIONS(744),
    [anon_sym_rescue] = ACTIONS(744),
    [anon_sym_do] = ACTIONS(744),
    [anon_sym_EQ_GT] = ACTIONS(744),
    [anon_sym_AMP_DOT] = ACTIONS(744),
    [anon_sym_PLUS_EQ] = ACTIONS(744),
    [anon_sym_DASH_EQ] = ACTIONS(744),
    [anon_sym_STAR_EQ] = ACTIONS(744),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(744),
    [anon_sym_SLASH_EQ] = ACTIONS(744),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(744),
    [anon_sym_PIPE_EQ] = ACTIONS(744),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(744),
    [anon_sym_AMP_EQ] = ACTIONS(744),
    [anon_sym_PERCENT_EQ] = ACTIONS(744),
    [anon_sym_GT_GT_EQ] = ACTIONS(744),
    [anon_sym_LT_LT_EQ] = ACTIONS(744),
    [anon_sym_CARET_EQ] = ACTIONS(744),
    [anon_sym_QMARK] = ACTIONS(744),
    [anon_sym_DOT_DOT] = ACTIONS(746),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(744),
    [anon_sym_and] = ACTIONS(744),
    [anon_sym_or] = ACTIONS(744),
    [anon_sym_PIPE_PIPE] = ACTIONS(746),
    [anon_sym_AMP_AMP] = ACTIONS(746),
    [anon_sym_LT_LT] = ACTIONS(746),
    [anon_sym_GT_GT] = ACTIONS(746),
    [anon_sym_EQ_EQ] = ACTIONS(746),
    [anon_sym_BANG_EQ] = ACTIONS(744),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(744),
    [anon_sym_LT_EQ_GT] = ACTIONS(744),
    [anon_sym_EQ_TILDE] = ACTIONS(744),
    [anon_sym_BANG_TILDE] = ACTIONS(744),
    [anon_sym_LT_EQ] = ACTIONS(746),
    [anon_sym_GT] = ACTIONS(746),
    [anon_sym_GT_EQ] = ACTIONS(744),
    [anon_sym_CARET] = ACTIONS(746),
    [anon_sym_PLUS] = ACTIONS(746),
    [anon_sym_SLASH] = ACTIONS(746),
    [anon_sym_PERCENT] = ACTIONS(746),
    [sym_comment] = ACTIONS(256),
  },
  [2752] = {
    [sym__simple_string] = ACTIONS(748),
    [sym__simple_symbol] = ACTIONS(748),
    [sym__simple_subshell] = ACTIONS(748),
    [sym__simple_regex] = ACTIONS(748),
    [sym__simple_word_list] = ACTIONS(748),
    [sym__simple_heredoc_body] = ACTIONS(748),
    [sym__string_beginning] = ACTIONS(748),
    [sym__symbol_beginning] = ACTIONS(748),
    [sym__subshell_beginning] = ACTIONS(748),
    [sym__regex_beginning] = ACTIONS(748),
    [sym__word_list_beginning] = ACTIONS(748),
    [sym__heredoc_body_beginning] = ACTIONS(748),
    [sym__heredoc_body_middle] = ACTIONS(748),
    [sym__heredoc_body_end] = ACTIONS(748),
    [sym_heredoc_beginning] = ACTIONS(748),
    [sym__element_reference_left_bracket] = ACTIONS(748),
    [sym__block_ampersand] = ACTIONS(748),
    [sym__splat_star] = ACTIONS(748),
    [sym__argument_list_left_paren] = ACTIONS(748),
    [sym__scope_double_colon] = ACTIONS(748),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(748),
    [sym__binary_minus] = ACTIONS(748),
    [sym__binary_star] = ACTIONS(748),
    [anon_sym_LBRACE] = ACTIONS(748),
    [anon_sym_def] = ACTIONS(750),
    [anon_sym_LPAREN] = ACTIONS(748),
    [anon_sym_DOT] = ACTIONS(750),
    [anon_sym_COLON_COLON] = ACTIONS(748),
    [anon_sym_end] = ACTIONS(750),
    [anon_sym_COMMA] = ACTIONS(748),
    [anon_sym_PIPE] = ACTIONS(750),
    [anon_sym_STAR] = ACTIONS(750),
    [anon_sym_STAR_STAR] = ACTIONS(750),
    [anon_sym_AMP] = ACTIONS(750),
    [anon_sym_EQ] = ACTIONS(750),
    [anon_sym_class] = ACTIONS(750),
    [anon_sym_LT] = ACTIONS(750),
    [anon_sym_module] = ACTIONS(750),
    [anon_sym_return] = ACTIONS(750),
    [anon_sym_yield] = ACTIONS(750),
    [anon_sym_break] = ACTIONS(750),
    [anon_sym_next] = ACTIONS(750),
    [anon_sym_redo] = ACTIONS(750),
    [anon_sym_retry] = ACTIONS(750),
    [anon_sym_if] = ACTIONS(750),
    [anon_sym_unless] = ACTIONS(750),
    [anon_sym_while] = ACTIONS(750),
    [anon_sym_until] = ACTIONS(750),
    [anon_sym_rescue] = ACTIONS(750),
    [anon_sym_for] = ACTIONS(750),
    [anon_sym_in] = ACTIONS(750),
    [anon_sym_do] = ACTIONS(750),
    [anon_sym_case] = ACTIONS(750),
    [anon_sym_when] = ACTIONS(750),
    [anon_sym_elsif] = ACTIONS(750),
    [anon_sym_else] = ACTIONS(750),
    [anon_sym_then] = ACTIONS(750),
    [anon_sym_begin] = ACTIONS(750),
    [anon_sym_ensure] = ACTIONS(750),
    [anon_sym_EQ_GT] = ACTIONS(748),
    [anon_sym_AMP_DOT] = ACTIONS(748),
    [anon_sym_PLUS_EQ] = ACTIONS(748),
    [anon_sym_DASH_EQ] = ACTIONS(748),
    [anon_sym_STAR_EQ] = ACTIONS(748),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(748),
    [anon_sym_SLASH_EQ] = ACTIONS(748),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(748),
    [anon_sym_PIPE_EQ] = ACTIONS(748),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(748),
    [anon_sym_AMP_EQ] = ACTIONS(748),
    [anon_sym_PERCENT_EQ] = ACTIONS(748),
    [anon_sym_GT_GT_EQ] = ACTIONS(748),
    [anon_sym_LT_LT_EQ] = ACTIONS(748),
    [anon_sym_CARET_EQ] = ACTIONS(748),
    [anon_sym_QMARK] = ACTIONS(750),
    [anon_sym_DOT_DOT] = ACTIONS(750),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(748),
    [anon_sym_and] = ACTIONS(750),
    [anon_sym_or] = ACTIONS(750),
    [anon_sym_PIPE_PIPE] = ACTIONS(750),
    [anon_sym_AMP_AMP] = ACTIONS(750),
    [anon_sym_LT_LT] = ACTIONS(750),
    [anon_sym_GT_GT] = ACTIONS(750),
    [anon_sym_EQ_EQ] = ACTIONS(750),
    [anon_sym_BANG_EQ] = ACTIONS(748),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(748),
    [anon_sym_LT_EQ_GT] = ACTIONS(748),
    [anon_sym_EQ_TILDE] = ACTIONS(748),
    [anon_sym_BANG_TILDE] = ACTIONS(748),
    [anon_sym_LT_EQ] = ACTIONS(750),
    [anon_sym_GT] = ACTIONS(750),
    [anon_sym_GT_EQ] = ACTIONS(748),
    [anon_sym_CARET] = ACTIONS(750),
    [anon_sym_PLUS] = ACTIONS(750),
    [anon_sym_SLASH] = ACTIONS(750),
    [anon_sym_PERCENT] = ACTIONS(750),
    [anon_sym_defined_QMARK] = ACTIONS(748),
    [anon_sym_not] = ACTIONS(750),
    [anon_sym_BANG] = ACTIONS(750),
    [anon_sym_TILDE] = ACTIONS(748),
    [sym_constant] = ACTIONS(752),
    [sym_identifier] = ACTIONS(752),
    [sym_instance_variable] = ACTIONS(750),
    [sym_class_variable] = ACTIONS(750),
    [sym_global_variable] = ACTIONS(750),
    [anon_sym_alias] = ACTIONS(750),
    [anon_sym_defined] = ACTIONS(750),
    [anon_sym_false] = ACTIONS(750),
    [anon_sym_nil] = ACTIONS(750),
    [anon_sym_self] = ACTIONS(750),
    [anon_sym_super] = ACTIONS(750),
    [anon_sym_true] = ACTIONS(750),
    [anon_sym_undef] = ACTIONS(750),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(750),
    [sym_float] = ACTIONS(752),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(748),
    [anon_sym_TRUE] = ACTIONS(750),
    [anon_sym_FALSE] = ACTIONS(750),
    [anon_sym_NIL] = ACTIONS(750),
    [sym_keyword__FILE__] = ACTIONS(750),
    [sym_keyword__LINE__] = ACTIONS(750),
    [sym_keyword__ENCODING__] = ACTIONS(750),
    [sym__character_literal] = ACTIONS(750),
    [anon_sym_LBRACK] = ACTIONS(748),
    [anon_sym_DASH_GT] = ACTIONS(748),
  },
  [2753] = {
    [sym__simple_string] = ACTIONS(754),
    [sym__simple_symbol] = ACTIONS(754),
    [sym__simple_subshell] = ACTIONS(754),
    [sym__simple_regex] = ACTIONS(754),
    [sym__simple_word_list] = ACTIONS(754),
    [sym__simple_heredoc_body] = ACTIONS(754),
    [sym__string_beginning] = ACTIONS(754),
    [sym__symbol_beginning] = ACTIONS(754),
    [sym__subshell_beginning] = ACTIONS(754),
    [sym__regex_beginning] = ACTIONS(754),
    [sym__word_list_beginning] = ACTIONS(754),
    [sym__heredoc_body_beginning] = ACTIONS(754),
    [sym__heredoc_body_middle] = ACTIONS(754),
    [sym__heredoc_body_end] = ACTIONS(754),
    [sym_heredoc_beginning] = ACTIONS(754),
    [sym__element_reference_left_bracket] = ACTIONS(754),
    [sym__block_ampersand] = ACTIONS(754),
    [sym__splat_star] = ACTIONS(754),
    [sym__argument_list_left_paren] = ACTIONS(754),
    [sym__scope_double_colon] = ACTIONS(754),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(754),
    [sym__binary_minus] = ACTIONS(754),
    [sym__binary_star] = ACTIONS(754),
    [anon_sym_LBRACE] = ACTIONS(754),
    [anon_sym_def] = ACTIONS(756),
    [anon_sym_LPAREN] = ACTIONS(754),
    [anon_sym_DOT] = ACTIONS(756),
    [anon_sym_COLON_COLON] = ACTIONS(754),
    [anon_sym_end] = ACTIONS(756),
    [anon_sym_COMMA] = ACTIONS(754),
    [anon_sym_PIPE] = ACTIONS(756),
    [anon_sym_STAR] = ACTIONS(756),
    [anon_sym_STAR_STAR] = ACTIONS(756),
    [anon_sym_AMP] = ACTIONS(756),
    [anon_sym_EQ] = ACTIONS(756),
    [anon_sym_class] = ACTIONS(756),
    [anon_sym_LT] = ACTIONS(756),
    [anon_sym_module] = ACTIONS(756),
    [anon_sym_return] = ACTIONS(756),
    [anon_sym_yield] = ACTIONS(756),
    [anon_sym_break] = ACTIONS(756),
    [anon_sym_next] = ACTIONS(756),
    [anon_sym_redo] = ACTIONS(756),
    [anon_sym_retry] = ACTIONS(756),
    [anon_sym_if] = ACTIONS(756),
    [anon_sym_unless] = ACTIONS(756),
    [anon_sym_while] = ACTIONS(756),
    [anon_sym_until] = ACTIONS(756),
    [anon_sym_rescue] = ACTIONS(756),
    [anon_sym_for] = ACTIONS(756),
    [anon_sym_in] = ACTIONS(756),
    [anon_sym_do] = ACTIONS(756),
    [anon_sym_case] = ACTIONS(756),
    [anon_sym_when] = ACTIONS(756),
    [anon_sym_elsif] = ACTIONS(756),
    [anon_sym_else] = ACTIONS(756),
    [anon_sym_then] = ACTIONS(756),
    [anon_sym_begin] = ACTIONS(756),
    [anon_sym_ensure] = ACTIONS(756),
    [anon_sym_EQ_GT] = ACTIONS(754),
    [anon_sym_AMP_DOT] = ACTIONS(754),
    [anon_sym_PLUS_EQ] = ACTIONS(754),
    [anon_sym_DASH_EQ] = ACTIONS(754),
    [anon_sym_STAR_EQ] = ACTIONS(754),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(754),
    [anon_sym_SLASH_EQ] = ACTIONS(754),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(754),
    [anon_sym_PIPE_EQ] = ACTIONS(754),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(754),
    [anon_sym_AMP_EQ] = ACTIONS(754),
    [anon_sym_PERCENT_EQ] = ACTIONS(754),
    [anon_sym_GT_GT_EQ] = ACTIONS(754),
    [anon_sym_LT_LT_EQ] = ACTIONS(754),
    [anon_sym_CARET_EQ] = ACTIONS(754),
    [anon_sym_QMARK] = ACTIONS(756),
    [anon_sym_DOT_DOT] = ACTIONS(756),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(754),
    [anon_sym_and] = ACTIONS(756),
    [anon_sym_or] = ACTIONS(756),
    [anon_sym_PIPE_PIPE] = ACTIONS(756),
    [anon_sym_AMP_AMP] = ACTIONS(756),
    [anon_sym_LT_LT] = ACTIONS(756),
    [anon_sym_GT_GT] = ACTIONS(756),
    [anon_sym_EQ_EQ] = ACTIONS(756),
    [anon_sym_BANG_EQ] = ACTIONS(754),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(754),
    [anon_sym_LT_EQ_GT] = ACTIONS(754),
    [anon_sym_EQ_TILDE] = ACTIONS(754),
    [anon_sym_BANG_TILDE] = ACTIONS(754),
    [anon_sym_LT_EQ] = ACTIONS(756),
    [anon_sym_GT] = ACTIONS(756),
    [anon_sym_GT_EQ] = ACTIONS(754),
    [anon_sym_CARET] = ACTIONS(756),
    [anon_sym_PLUS] = ACTIONS(756),
    [anon_sym_SLASH] = ACTIONS(756),
    [anon_sym_PERCENT] = ACTIONS(756),
    [anon_sym_defined_QMARK] = ACTIONS(754),
    [anon_sym_not] = ACTIONS(756),
    [anon_sym_BANG] = ACTIONS(756),
    [anon_sym_TILDE] = ACTIONS(754),
    [sym_constant] = ACTIONS(758),
    [sym_identifier] = ACTIONS(758),
    [sym_instance_variable] = ACTIONS(756),
    [sym_class_variable] = ACTIONS(756),
    [sym_global_variable] = ACTIONS(756),
    [anon_sym_alias] = ACTIONS(756),
    [anon_sym_defined] = ACTIONS(756),
    [anon_sym_false] = ACTIONS(756),
    [anon_sym_nil] = ACTIONS(756),
    [anon_sym_self] = ACTIONS(756),
    [anon_sym_super] = ACTIONS(756),
    [anon_sym_true] = ACTIONS(756),
    [anon_sym_undef] = ACTIONS(756),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(756),
    [sym_float] = ACTIONS(758),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(754),
    [anon_sym_TRUE] = ACTIONS(756),
    [anon_sym_FALSE] = ACTIONS(756),
    [anon_sym_NIL] = ACTIONS(756),
    [sym_keyword__FILE__] = ACTIONS(756),
    [sym_keyword__LINE__] = ACTIONS(756),
    [sym_keyword__ENCODING__] = ACTIONS(756),
    [sym__character_literal] = ACTIONS(756),
    [anon_sym_LBRACK] = ACTIONS(754),
    [anon_sym_DASH_GT] = ACTIONS(754),
  },
  [2754] = {
    [sym__simple_heredoc_body] = ACTIONS(760),
    [sym__heredoc_body_beginning] = ACTIONS(760),
    [sym__heredoc_body_middle] = ACTIONS(760),
    [sym__heredoc_body_end] = ACTIONS(760),
    [sym__element_reference_left_bracket] = ACTIONS(760),
    [sym__scope_double_colon] = ACTIONS(760),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__binary_minus] = ACTIONS(760),
    [sym__binary_star] = ACTIONS(760),
    [anon_sym_LBRACE] = ACTIONS(760),
    [anon_sym_DOT] = ACTIONS(762),
    [anon_sym_COMMA] = ACTIONS(760),
    [anon_sym_PIPE] = ACTIONS(762),
    [anon_sym_STAR_STAR] = ACTIONS(762),
    [anon_sym_AMP] = ACTIONS(762),
    [anon_sym_EQ] = ACTIONS(762),
    [anon_sym_LT] = ACTIONS(762),
    [anon_sym_if] = ACTIONS(760),
    [anon_sym_unless] = ACTIONS(760),
    [anon_sym_while] = ACTIONS(760),
    [anon_sym_until] = ACTIONS(760),
    [anon_sym_rescue] = ACTIONS(760),
    [anon_sym_do] = ACTIONS(760),
    [anon_sym_EQ_GT] = ACTIONS(760),
    [anon_sym_AMP_DOT] = ACTIONS(760),
    [anon_sym_PLUS_EQ] = ACTIONS(760),
    [anon_sym_DASH_EQ] = ACTIONS(760),
    [anon_sym_STAR_EQ] = ACTIONS(760),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(760),
    [anon_sym_SLASH_EQ] = ACTIONS(760),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(760),
    [anon_sym_PIPE_EQ] = ACTIONS(760),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(760),
    [anon_sym_AMP_EQ] = ACTIONS(760),
    [anon_sym_PERCENT_EQ] = ACTIONS(760),
    [anon_sym_GT_GT_EQ] = ACTIONS(760),
    [anon_sym_LT_LT_EQ] = ACTIONS(760),
    [anon_sym_CARET_EQ] = ACTIONS(760),
    [anon_sym_QMARK] = ACTIONS(760),
    [anon_sym_DOT_DOT] = ACTIONS(762),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(760),
    [anon_sym_and] = ACTIONS(760),
    [anon_sym_or] = ACTIONS(760),
    [anon_sym_PIPE_PIPE] = ACTIONS(762),
    [anon_sym_AMP_AMP] = ACTIONS(762),
    [anon_sym_LT_LT] = ACTIONS(762),
    [anon_sym_GT_GT] = ACTIONS(762),
    [anon_sym_EQ_EQ] = ACTIONS(762),
    [anon_sym_BANG_EQ] = ACTIONS(760),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(760),
    [anon_sym_LT_EQ_GT] = ACTIONS(760),
    [anon_sym_EQ_TILDE] = ACTIONS(760),
    [anon_sym_BANG_TILDE] = ACTIONS(760),
    [anon_sym_LT_EQ] = ACTIONS(762),
    [anon_sym_GT] = ACTIONS(762),
    [anon_sym_GT_EQ] = ACTIONS(760),
    [anon_sym_CARET] = ACTIONS(762),
    [anon_sym_PLUS] = ACTIONS(762),
    [anon_sym_SLASH] = ACTIONS(762),
    [anon_sym_PERCENT] = ACTIONS(762),
    [sym_comment] = ACTIONS(256),
  },
  [2755] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__heredoc_body_middle] = ACTIONS(250),
    [sym__heredoc_body_end] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [anon_sym_r] = ACTIONS(7976),
  },
  [2756] = {
    [sym__simple_heredoc_body] = ACTIONS(778),
    [sym__heredoc_body_beginning] = ACTIONS(778),
    [sym__heredoc_body_middle] = ACTIONS(778),
    [sym__heredoc_body_end] = ACTIONS(778),
    [sym__element_reference_left_bracket] = ACTIONS(778),
    [sym__scope_double_colon] = ACTIONS(778),
    [sym__binary_minus] = ACTIONS(778),
    [sym__binary_star] = ACTIONS(778),
    [anon_sym_DOT] = ACTIONS(780),
    [anon_sym_COMMA] = ACTIONS(778),
    [anon_sym_PIPE] = ACTIONS(780),
    [anon_sym_STAR_STAR] = ACTIONS(778),
    [anon_sym_AMP] = ACTIONS(780),
    [anon_sym_LT] = ACTIONS(780),
    [anon_sym_if] = ACTIONS(778),
    [anon_sym_unless] = ACTIONS(778),
    [anon_sym_while] = ACTIONS(778),
    [anon_sym_until] = ACTIONS(778),
    [anon_sym_rescue] = ACTIONS(778),
    [anon_sym_EQ_GT] = ACTIONS(778),
    [anon_sym_AMP_DOT] = ACTIONS(778),
    [anon_sym_QMARK] = ACTIONS(778),
    [anon_sym_DOT_DOT] = ACTIONS(780),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(778),
    [anon_sym_and] = ACTIONS(778),
    [anon_sym_or] = ACTIONS(778),
    [anon_sym_PIPE_PIPE] = ACTIONS(778),
    [anon_sym_AMP_AMP] = ACTIONS(778),
    [anon_sym_LT_LT] = ACTIONS(778),
    [anon_sym_GT_GT] = ACTIONS(778),
    [anon_sym_EQ_EQ] = ACTIONS(780),
    [anon_sym_BANG_EQ] = ACTIONS(778),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(778),
    [anon_sym_LT_EQ_GT] = ACTIONS(778),
    [anon_sym_EQ_TILDE] = ACTIONS(778),
    [anon_sym_BANG_TILDE] = ACTIONS(778),
    [anon_sym_LT_EQ] = ACTIONS(780),
    [anon_sym_GT] = ACTIONS(780),
    [anon_sym_GT_EQ] = ACTIONS(778),
    [anon_sym_CARET] = ACTIONS(778),
    [anon_sym_PLUS] = ACTIONS(778),
    [anon_sym_SLASH] = ACTIONS(778),
    [anon_sym_PERCENT] = ACTIONS(778),
    [sym_comment] = ACTIONS(110),
  },
  [2757] = {
    [sym__simple_heredoc_body] = ACTIONS(760),
    [sym__heredoc_body_beginning] = ACTIONS(760),
    [sym__heredoc_body_middle] = ACTIONS(760),
    [sym__heredoc_body_end] = ACTIONS(760),
    [sym__element_reference_left_bracket] = ACTIONS(760),
    [sym__scope_double_colon] = ACTIONS(760),
    [sym__binary_minus] = ACTIONS(760),
    [sym__binary_star] = ACTIONS(760),
    [anon_sym_LBRACE] = ACTIONS(760),
    [anon_sym_DOT] = ACTIONS(762),
    [anon_sym_COMMA] = ACTIONS(760),
    [anon_sym_PIPE] = ACTIONS(762),
    [anon_sym_STAR_STAR] = ACTIONS(762),
    [anon_sym_AMP] = ACTIONS(762),
    [anon_sym_EQ] = ACTIONS(762),
    [anon_sym_LT] = ACTIONS(762),
    [anon_sym_if] = ACTIONS(760),
    [anon_sym_unless] = ACTIONS(760),
    [anon_sym_while] = ACTIONS(760),
    [anon_sym_until] = ACTIONS(760),
    [anon_sym_rescue] = ACTIONS(760),
    [anon_sym_do] = ACTIONS(760),
    [anon_sym_EQ_GT] = ACTIONS(760),
    [anon_sym_AMP_DOT] = ACTIONS(760),
    [anon_sym_PLUS_EQ] = ACTIONS(760),
    [anon_sym_DASH_EQ] = ACTIONS(760),
    [anon_sym_STAR_EQ] = ACTIONS(760),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(760),
    [anon_sym_SLASH_EQ] = ACTIONS(760),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(760),
    [anon_sym_PIPE_EQ] = ACTIONS(760),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(760),
    [anon_sym_AMP_EQ] = ACTIONS(760),
    [anon_sym_PERCENT_EQ] = ACTIONS(760),
    [anon_sym_GT_GT_EQ] = ACTIONS(760),
    [anon_sym_LT_LT_EQ] = ACTIONS(760),
    [anon_sym_CARET_EQ] = ACTIONS(760),
    [anon_sym_QMARK] = ACTIONS(760),
    [anon_sym_DOT_DOT] = ACTIONS(762),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(760),
    [anon_sym_and] = ACTIONS(760),
    [anon_sym_or] = ACTIONS(760),
    [anon_sym_PIPE_PIPE] = ACTIONS(762),
    [anon_sym_AMP_AMP] = ACTIONS(762),
    [anon_sym_LT_LT] = ACTIONS(762),
    [anon_sym_GT_GT] = ACTIONS(762),
    [anon_sym_EQ_EQ] = ACTIONS(762),
    [anon_sym_BANG_EQ] = ACTIONS(760),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(760),
    [anon_sym_LT_EQ_GT] = ACTIONS(760),
    [anon_sym_EQ_TILDE] = ACTIONS(760),
    [anon_sym_BANG_TILDE] = ACTIONS(760),
    [anon_sym_LT_EQ] = ACTIONS(762),
    [anon_sym_GT] = ACTIONS(762),
    [anon_sym_GT_EQ] = ACTIONS(760),
    [anon_sym_CARET] = ACTIONS(762),
    [anon_sym_PLUS] = ACTIONS(762),
    [anon_sym_SLASH] = ACTIONS(762),
    [anon_sym_PERCENT] = ACTIONS(762),
    [sym_comment] = ACTIONS(256),
  },
  [2758] = {
    [sym__simple_heredoc_body] = ACTIONS(740),
    [sym__heredoc_body_beginning] = ACTIONS(740),
    [sym__heredoc_body_middle] = ACTIONS(740),
    [sym__heredoc_body_end] = ACTIONS(740),
    [sym__element_reference_left_bracket] = ACTIONS(740),
    [sym__scope_double_colon] = ACTIONS(740),
    [sym__binary_minus] = ACTIONS(740),
    [sym__binary_star] = ACTIONS(740),
    [anon_sym_LBRACE] = ACTIONS(740),
    [anon_sym_DOT] = ACTIONS(742),
    [anon_sym_COMMA] = ACTIONS(740),
    [anon_sym_PIPE] = ACTIONS(742),
    [anon_sym_STAR_STAR] = ACTIONS(742),
    [anon_sym_AMP] = ACTIONS(742),
    [anon_sym_EQ] = ACTIONS(742),
    [anon_sym_LT] = ACTIONS(742),
    [anon_sym_if] = ACTIONS(740),
    [anon_sym_unless] = ACTIONS(740),
    [anon_sym_while] = ACTIONS(740),
    [anon_sym_until] = ACTIONS(740),
    [anon_sym_rescue] = ACTIONS(740),
    [anon_sym_do] = ACTIONS(740),
    [anon_sym_EQ_GT] = ACTIONS(740),
    [anon_sym_AMP_DOT] = ACTIONS(740),
    [anon_sym_PLUS_EQ] = ACTIONS(740),
    [anon_sym_DASH_EQ] = ACTIONS(740),
    [anon_sym_STAR_EQ] = ACTIONS(740),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(740),
    [anon_sym_SLASH_EQ] = ACTIONS(740),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(740),
    [anon_sym_PIPE_EQ] = ACTIONS(740),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(740),
    [anon_sym_AMP_EQ] = ACTIONS(740),
    [anon_sym_PERCENT_EQ] = ACTIONS(740),
    [anon_sym_GT_GT_EQ] = ACTIONS(740),
    [anon_sym_LT_LT_EQ] = ACTIONS(740),
    [anon_sym_CARET_EQ] = ACTIONS(740),
    [anon_sym_QMARK] = ACTIONS(740),
    [anon_sym_DOT_DOT] = ACTIONS(742),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(740),
    [anon_sym_and] = ACTIONS(740),
    [anon_sym_or] = ACTIONS(740),
    [anon_sym_PIPE_PIPE] = ACTIONS(742),
    [anon_sym_AMP_AMP] = ACTIONS(742),
    [anon_sym_LT_LT] = ACTIONS(742),
    [anon_sym_GT_GT] = ACTIONS(742),
    [anon_sym_EQ_EQ] = ACTIONS(742),
    [anon_sym_BANG_EQ] = ACTIONS(740),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(740),
    [anon_sym_LT_EQ_GT] = ACTIONS(740),
    [anon_sym_EQ_TILDE] = ACTIONS(740),
    [anon_sym_BANG_TILDE] = ACTIONS(740),
    [anon_sym_LT_EQ] = ACTIONS(742),
    [anon_sym_GT] = ACTIONS(742),
    [anon_sym_GT_EQ] = ACTIONS(740),
    [anon_sym_CARET] = ACTIONS(742),
    [anon_sym_PLUS] = ACTIONS(742),
    [anon_sym_SLASH] = ACTIONS(742),
    [anon_sym_PERCENT] = ACTIONS(742),
    [sym_comment] = ACTIONS(256),
  },
  [2759] = {
    [sym__simple_heredoc_body] = ACTIONS(744),
    [sym__heredoc_body_beginning] = ACTIONS(744),
    [sym__heredoc_body_middle] = ACTIONS(744),
    [sym__heredoc_body_end] = ACTIONS(744),
    [sym__element_reference_left_bracket] = ACTIONS(744),
    [sym__scope_double_colon] = ACTIONS(744),
    [sym__binary_minus] = ACTIONS(744),
    [sym__binary_star] = ACTIONS(744),
    [anon_sym_LBRACE] = ACTIONS(744),
    [anon_sym_DOT] = ACTIONS(746),
    [anon_sym_COMMA] = ACTIONS(744),
    [anon_sym_PIPE] = ACTIONS(746),
    [anon_sym_STAR_STAR] = ACTIONS(746),
    [anon_sym_AMP] = ACTIONS(746),
    [anon_sym_EQ] = ACTIONS(746),
    [anon_sym_LT] = ACTIONS(746),
    [anon_sym_if] = ACTIONS(744),
    [anon_sym_unless] = ACTIONS(744),
    [anon_sym_while] = ACTIONS(744),
    [anon_sym_until] = ACTIONS(744),
    [anon_sym_rescue] = ACTIONS(744),
    [anon_sym_do] = ACTIONS(744),
    [anon_sym_EQ_GT] = ACTIONS(744),
    [anon_sym_AMP_DOT] = ACTIONS(744),
    [anon_sym_PLUS_EQ] = ACTIONS(744),
    [anon_sym_DASH_EQ] = ACTIONS(744),
    [anon_sym_STAR_EQ] = ACTIONS(744),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(744),
    [anon_sym_SLASH_EQ] = ACTIONS(744),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(744),
    [anon_sym_PIPE_EQ] = ACTIONS(744),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(744),
    [anon_sym_AMP_EQ] = ACTIONS(744),
    [anon_sym_PERCENT_EQ] = ACTIONS(744),
    [anon_sym_GT_GT_EQ] = ACTIONS(744),
    [anon_sym_LT_LT_EQ] = ACTIONS(744),
    [anon_sym_CARET_EQ] = ACTIONS(744),
    [anon_sym_QMARK] = ACTIONS(744),
    [anon_sym_DOT_DOT] = ACTIONS(746),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(744),
    [anon_sym_and] = ACTIONS(744),
    [anon_sym_or] = ACTIONS(744),
    [anon_sym_PIPE_PIPE] = ACTIONS(746),
    [anon_sym_AMP_AMP] = ACTIONS(746),
    [anon_sym_LT_LT] = ACTIONS(746),
    [anon_sym_GT_GT] = ACTIONS(746),
    [anon_sym_EQ_EQ] = ACTIONS(746),
    [anon_sym_BANG_EQ] = ACTIONS(744),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(744),
    [anon_sym_LT_EQ_GT] = ACTIONS(744),
    [anon_sym_EQ_TILDE] = ACTIONS(744),
    [anon_sym_BANG_TILDE] = ACTIONS(744),
    [anon_sym_LT_EQ] = ACTIONS(746),
    [anon_sym_GT] = ACTIONS(746),
    [anon_sym_GT_EQ] = ACTIONS(744),
    [anon_sym_CARET] = ACTIONS(746),
    [anon_sym_PLUS] = ACTIONS(746),
    [anon_sym_SLASH] = ACTIONS(746),
    [anon_sym_PERCENT] = ACTIONS(746),
    [sym_comment] = ACTIONS(256),
  },
  [2760] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(501),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(5667),
    [sym__argument] = STATE(506),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(509),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(510),
    [sym__variable] = STATE(504),
    [sym_reserved_identifier] = STATE(511),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(512),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(5668),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(804),
    [sym__splat_star] = ACTIONS(806),
    [sym__unary_minus] = ACTIONS(808),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(818),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(824),
    [anon_sym_yield] = ACTIONS(826),
    [anon_sym_break] = ACTIONS(828),
    [anon_sym_next] = ACTIONS(830),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_RBRACK] = ACTIONS(7978),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(852),
    [anon_sym_defined_QMARK] = ACTIONS(854),
    [anon_sym_not] = ACTIONS(856),
    [anon_sym_BANG] = ACTIONS(858),
    [anon_sym_TILDE] = ACTIONS(858),
    [sym_constant] = ACTIONS(860),
    [sym_identifier] = ACTIONS(860),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2761] = {
    [sym_lambda_parameters] = STATE(5671),
    [sym__simple_formal_parameter] = STATE(522),
    [sym_splat_parameter] = STATE(523),
    [sym_hash_splat_parameter] = STATE(523),
    [sym_block_parameter] = STATE(523),
    [sym_keyword_parameter] = STATE(523),
    [sym_optional_parameter] = STATE(523),
    [sym_do_block] = STATE(5672),
    [sym_block] = STATE(5672),
    [anon_sym_LBRACE] = ACTIONS(7980),
    [anon_sym_LPAREN] = ACTIONS(896),
    [anon_sym_STAR] = ACTIONS(898),
    [anon_sym_STAR_STAR] = ACTIONS(900),
    [anon_sym_AMP] = ACTIONS(902),
    [anon_sym_do] = ACTIONS(7982),
    [sym_identifier] = ACTIONS(906),
    [sym_comment] = ACTIONS(110),
  },
  [2762] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__heredoc_body_middle] = ACTIONS(2210),
    [sym__heredoc_body_end] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(7984),
    [sym__binary_star] = ACTIONS(7986),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(7988),
    [anon_sym_STAR_STAR] = ACTIONS(7990),
    [anon_sym_AMP] = ACTIONS(7992),
    [anon_sym_LT] = ACTIONS(7994),
    [anon_sym_if] = ACTIONS(2210),
    [anon_sym_unless] = ACTIONS(2210),
    [anon_sym_while] = ACTIONS(2210),
    [anon_sym_until] = ACTIONS(2210),
    [anon_sym_rescue] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(7974),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(7996),
    [anon_sym_DOT_DOT] = ACTIONS(7998),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8000),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(8002),
    [anon_sym_AMP_AMP] = ACTIONS(8002),
    [anon_sym_LT_LT] = ACTIONS(8004),
    [anon_sym_GT_GT] = ACTIONS(8004),
    [anon_sym_EQ_EQ] = ACTIONS(8006),
    [anon_sym_BANG_EQ] = ACTIONS(8002),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8002),
    [anon_sym_LT_EQ_GT] = ACTIONS(8002),
    [anon_sym_EQ_TILDE] = ACTIONS(8002),
    [anon_sym_BANG_TILDE] = ACTIONS(8002),
    [anon_sym_LT_EQ] = ACTIONS(7994),
    [anon_sym_GT] = ACTIONS(7994),
    [anon_sym_GT_EQ] = ACTIONS(8008),
    [anon_sym_CARET] = ACTIONS(8010),
    [anon_sym_PLUS] = ACTIONS(8012),
    [anon_sym_SLASH] = ACTIONS(7990),
    [anon_sym_PERCENT] = ACTIONS(7990),
    [sym_comment] = ACTIONS(110),
  },
  [2763] = {
    [sym__simple_heredoc_body] = ACTIONS(968),
    [sym__heredoc_body_beginning] = ACTIONS(968),
    [sym__heredoc_body_middle] = ACTIONS(968),
    [sym__heredoc_body_end] = ACTIONS(968),
    [sym__element_reference_left_bracket] = ACTIONS(8014),
    [sym__scope_double_colon] = ACTIONS(8016),
    [sym__binary_minus] = ACTIONS(968),
    [sym__binary_star] = ACTIONS(968),
    [anon_sym_DOT] = ACTIONS(8018),
    [anon_sym_COMMA] = ACTIONS(968),
    [anon_sym_PIPE] = ACTIONS(976),
    [anon_sym_STAR_STAR] = ACTIONS(968),
    [anon_sym_AMP] = ACTIONS(976),
    [anon_sym_LT] = ACTIONS(976),
    [anon_sym_if] = ACTIONS(968),
    [anon_sym_unless] = ACTIONS(968),
    [anon_sym_while] = ACTIONS(968),
    [anon_sym_until] = ACTIONS(968),
    [anon_sym_rescue] = ACTIONS(968),
    [anon_sym_EQ_GT] = ACTIONS(968),
    [anon_sym_AMP_DOT] = ACTIONS(8020),
    [anon_sym_QMARK] = ACTIONS(968),
    [anon_sym_DOT_DOT] = ACTIONS(976),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(968),
    [anon_sym_and] = ACTIONS(968),
    [anon_sym_or] = ACTIONS(968),
    [anon_sym_PIPE_PIPE] = ACTIONS(968),
    [anon_sym_AMP_AMP] = ACTIONS(968),
    [anon_sym_LT_LT] = ACTIONS(968),
    [anon_sym_GT_GT] = ACTIONS(968),
    [anon_sym_EQ_EQ] = ACTIONS(976),
    [anon_sym_BANG_EQ] = ACTIONS(968),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(968),
    [anon_sym_LT_EQ_GT] = ACTIONS(968),
    [anon_sym_EQ_TILDE] = ACTIONS(968),
    [anon_sym_BANG_TILDE] = ACTIONS(968),
    [anon_sym_LT_EQ] = ACTIONS(976),
    [anon_sym_GT] = ACTIONS(976),
    [anon_sym_GT_EQ] = ACTIONS(968),
    [anon_sym_CARET] = ACTIONS(968),
    [anon_sym_PLUS] = ACTIONS(968),
    [anon_sym_SLASH] = ACTIONS(968),
    [anon_sym_PERCENT] = ACTIONS(968),
    [sym_comment] = ACTIONS(110),
  },
  [2764] = {
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym__heredoc_body_middle] = ACTIONS(980),
    [sym__heredoc_body_end] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(980),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_if] = ACTIONS(980),
    [anon_sym_unless] = ACTIONS(980),
    [anon_sym_while] = ACTIONS(980),
    [anon_sym_until] = ACTIONS(980),
    [anon_sym_rescue] = ACTIONS(980),
    [anon_sym_do] = ACTIONS(980),
    [anon_sym_EQ_GT] = ACTIONS(980),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(980),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(980),
    [anon_sym_or] = ACTIONS(980),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [sym_comment] = ACTIONS(256),
  },
  [2765] = {
    [sym_method] = STATE(2839),
    [sym_singleton_method] = STATE(2839),
    [sym_class] = STATE(2839),
    [sym_singleton_class] = STATE(2839),
    [sym_module] = STATE(2839),
    [sym_return] = STATE(2839),
    [sym_yield] = STATE(2839),
    [sym_break] = STATE(2839),
    [sym_next] = STATE(2839),
    [sym_redo] = STATE(2839),
    [sym_retry] = STATE(2839),
    [sym_while] = STATE(2839),
    [sym_until] = STATE(2839),
    [sym_for] = STATE(2839),
    [sym_case] = STATE(2839),
    [sym_if] = STATE(2839),
    [sym_unless] = STATE(2839),
    [sym_begin] = STATE(2839),
    [sym__arg] = STATE(5695),
    [sym__primary] = STATE(2874),
    [sym_parenthesized_statements] = STATE(2839),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2875),
    [sym_call] = STATE(2875),
    [sym_method_call] = STATE(2764),
    [sym_argument_list] = STATE(5696),
    [sym__argument_list_with_parens] = STATE(5697),
    [sym__argument] = STATE(5698),
    [sym_splat_argument] = STATE(5699),
    [sym_hash_splat_argument] = STATE(5699),
    [sym_block_argument] = STATE(5699),
    [sym_do_block] = STATE(5700),
    [sym_block] = STATE(5700),
    [sym_assignment] = STATE(2881),
    [sym_operator_assignment] = STATE(2881),
    [sym_conditional] = STATE(2881),
    [sym_range] = STATE(2881),
    [sym_binary] = STATE(2881),
    [sym_unary] = STATE(2881),
    [sym_left_assignment_list] = STATE(2882),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2883),
    [sym__variable] = STATE(2875),
    [sym_reserved_identifier] = STATE(5701),
    [sym_symbol] = STATE(2839),
    [sym_complex] = STATE(2839),
    [sym_rational] = STATE(2839),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2839),
    [sym_string] = STATE(5702),
    [sym_subshell] = STATE(2839),
    [sym_array] = STATE(2839),
    [sym_hash] = STATE(2839),
    [sym_pair] = STATE(5699),
    [sym_regex] = STATE(2839),
    [sym_lambda] = STATE(2839),
    [sym__simple_string] = ACTIONS(4162),
    [sym__simple_symbol] = ACTIONS(4164),
    [sym__simple_subshell] = ACTIONS(4166),
    [sym__simple_regex] = ACTIONS(4168),
    [sym__simple_word_list] = ACTIONS(4170),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(4172),
    [sym__symbol_beginning] = ACTIONS(4174),
    [sym__subshell_beginning] = ACTIONS(4176),
    [sym__regex_beginning] = ACTIONS(4178),
    [sym__word_list_beginning] = ACTIONS(4180),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym__heredoc_body_middle] = ACTIONS(980),
    [sym__heredoc_body_end] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(4182),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(8022),
    [sym__splat_star] = ACTIONS(8024),
    [sym__argument_list_left_paren] = ACTIONS(8026),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(4190),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(8028),
    [anon_sym_def] = ACTIONS(4194),
    [anon_sym_LPAREN] = ACTIONS(4196),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(4198),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(4200),
    [anon_sym_return] = ACTIONS(4202),
    [anon_sym_yield] = ACTIONS(4204),
    [anon_sym_break] = ACTIONS(4206),
    [anon_sym_next] = ACTIONS(4208),
    [anon_sym_redo] = ACTIONS(4210),
    [anon_sym_retry] = ACTIONS(4212),
    [anon_sym_if] = ACTIONS(982),
    [anon_sym_unless] = ACTIONS(982),
    [anon_sym_while] = ACTIONS(982),
    [anon_sym_until] = ACTIONS(982),
    [anon_sym_rescue] = ACTIONS(982),
    [anon_sym_for] = ACTIONS(4214),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(8030),
    [anon_sym_case] = ACTIONS(4218),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(4220),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(980),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(4222),
    [anon_sym_not] = ACTIONS(4224),
    [anon_sym_BANG] = ACTIONS(4226),
    [anon_sym_TILDE] = ACTIONS(4228),
    [sym_constant] = ACTIONS(8032),
    [sym_identifier] = ACTIONS(8032),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(4056),
    [anon_sym_nil] = ACTIONS(4058),
    [anon_sym_self] = ACTIONS(4060),
    [anon_sym_super] = ACTIONS(4062),
    [anon_sym_true] = ACTIONS(4064),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(4232),
    [sym_float] = ACTIONS(4234),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4236),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4238),
    [sym_keyword__LINE__] = ACTIONS(4238),
    [sym_keyword__ENCODING__] = ACTIONS(4238),
    [sym__character_literal] = ACTIONS(4240),
    [anon_sym_LBRACK] = ACTIONS(4242),
    [anon_sym_DASH_GT] = ACTIONS(4244),
  },
  [2766] = {
    [sym__heredoc_body_middle] = ACTIONS(2264),
    [sym__heredoc_body_end] = ACTIONS(2264),
    [sym__element_reference_left_bracket] = ACTIONS(2264),
    [sym__scope_double_colon] = ACTIONS(2264),
    [sym__binary_minus] = ACTIONS(2264),
    [sym__binary_star] = ACTIONS(2264),
    [anon_sym_DOT] = ACTIONS(2266),
    [anon_sym_COMMA] = ACTIONS(2264),
    [anon_sym_PIPE] = ACTIONS(2266),
    [anon_sym_STAR_STAR] = ACTIONS(2264),
    [anon_sym_AMP] = ACTIONS(2266),
    [anon_sym_LT] = ACTIONS(2266),
    [anon_sym_if] = ACTIONS(2264),
    [anon_sym_unless] = ACTIONS(2264),
    [anon_sym_while] = ACTIONS(2264),
    [anon_sym_until] = ACTIONS(2264),
    [anon_sym_rescue] = ACTIONS(2264),
    [anon_sym_AMP_DOT] = ACTIONS(2264),
    [anon_sym_QMARK] = ACTIONS(2264),
    [anon_sym_DOT_DOT] = ACTIONS(2266),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2264),
    [anon_sym_and] = ACTIONS(2264),
    [anon_sym_or] = ACTIONS(2264),
    [anon_sym_PIPE_PIPE] = ACTIONS(2264),
    [anon_sym_AMP_AMP] = ACTIONS(2264),
    [anon_sym_LT_LT] = ACTIONS(2264),
    [anon_sym_GT_GT] = ACTIONS(2264),
    [anon_sym_EQ_EQ] = ACTIONS(2266),
    [anon_sym_BANG_EQ] = ACTIONS(2264),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2264),
    [anon_sym_LT_EQ_GT] = ACTIONS(2264),
    [anon_sym_EQ_TILDE] = ACTIONS(2264),
    [anon_sym_BANG_TILDE] = ACTIONS(2264),
    [anon_sym_LT_EQ] = ACTIONS(2266),
    [anon_sym_GT] = ACTIONS(2266),
    [anon_sym_GT_EQ] = ACTIONS(2264),
    [anon_sym_CARET] = ACTIONS(2264),
    [anon_sym_PLUS] = ACTIONS(2264),
    [anon_sym_SLASH] = ACTIONS(2264),
    [anon_sym_PERCENT] = ACTIONS(2264),
    [sym_comment] = ACTIONS(110),
  },
  [2767] = {
    [sym_heredoc_end] = STATE(5705),
    [aux_sym_argument_list_repeat2] = STATE(5706),
    [sym__simple_heredoc_body] = ACTIONS(8034),
    [sym__heredoc_body_beginning] = ACTIONS(8036),
    [sym__heredoc_body_middle] = ACTIONS(2272),
    [sym__heredoc_body_end] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(2272),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_STAR_STAR] = ACTIONS(2272),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_if] = ACTIONS(2272),
    [anon_sym_unless] = ACTIONS(2272),
    [anon_sym_while] = ACTIONS(2272),
    [anon_sym_until] = ACTIONS(2272),
    [anon_sym_rescue] = ACTIONS(2272),
    [anon_sym_EQ_GT] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2272),
    [anon_sym_AMP_AMP] = ACTIONS(2272),
    [anon_sym_LT_LT] = ACTIONS(2272),
    [anon_sym_GT_GT] = ACTIONS(2272),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2272),
    [anon_sym_PLUS] = ACTIONS(2272),
    [anon_sym_SLASH] = ACTIONS(2272),
    [anon_sym_PERCENT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(110),
  },
  [2768] = {
    [sym_heredoc_end] = STATE(5705),
    [aux_sym_argument_list_repeat1] = STATE(5708),
    [aux_sym_argument_list_repeat2] = STATE(5706),
    [sym__simple_heredoc_body] = ACTIONS(8034),
    [sym__heredoc_body_beginning] = ACTIONS(8036),
    [sym__heredoc_body_middle] = ACTIONS(2272),
    [sym__heredoc_body_end] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(8038),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_STAR_STAR] = ACTIONS(2272),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_if] = ACTIONS(2272),
    [anon_sym_unless] = ACTIONS(2272),
    [anon_sym_while] = ACTIONS(2272),
    [anon_sym_until] = ACTIONS(2272),
    [anon_sym_rescue] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2272),
    [anon_sym_AMP_AMP] = ACTIONS(2272),
    [anon_sym_LT_LT] = ACTIONS(2272),
    [anon_sym_GT_GT] = ACTIONS(2272),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2272),
    [anon_sym_PLUS] = ACTIONS(2272),
    [anon_sym_SLASH] = ACTIONS(2272),
    [anon_sym_PERCENT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(110),
  },
  [2769] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__heredoc_body_middle] = ACTIONS(2210),
    [sym__heredoc_body_end] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(2210),
    [sym__binary_star] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(2216),
    [anon_sym_STAR_STAR] = ACTIONS(2210),
    [anon_sym_AMP] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(2216),
    [anon_sym_if] = ACTIONS(2210),
    [anon_sym_unless] = ACTIONS(2210),
    [anon_sym_while] = ACTIONS(2210),
    [anon_sym_until] = ACTIONS(2210),
    [anon_sym_rescue] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(2210),
    [anon_sym_DOT_DOT] = ACTIONS(2216),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2210),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(2210),
    [anon_sym_AMP_AMP] = ACTIONS(2210),
    [anon_sym_LT_LT] = ACTIONS(2210),
    [anon_sym_GT_GT] = ACTIONS(2210),
    [anon_sym_EQ_EQ] = ACTIONS(2216),
    [anon_sym_BANG_EQ] = ACTIONS(2210),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2210),
    [anon_sym_LT_EQ_GT] = ACTIONS(2210),
    [anon_sym_EQ_TILDE] = ACTIONS(2210),
    [anon_sym_BANG_TILDE] = ACTIONS(2210),
    [anon_sym_LT_EQ] = ACTIONS(2216),
    [anon_sym_GT] = ACTIONS(2216),
    [anon_sym_GT_EQ] = ACTIONS(2210),
    [anon_sym_CARET] = ACTIONS(2210),
    [anon_sym_PLUS] = ACTIONS(2210),
    [anon_sym_SLASH] = ACTIONS(2210),
    [anon_sym_PERCENT] = ACTIONS(2210),
    [sym_comment] = ACTIONS(110),
  },
  [2770] = {
    [sym__simple_heredoc_body] = ACTIONS(968),
    [sym__heredoc_body_beginning] = ACTIONS(968),
    [sym__heredoc_body_middle] = ACTIONS(968),
    [sym__heredoc_body_end] = ACTIONS(968),
    [sym__element_reference_left_bracket] = ACTIONS(968),
    [sym__scope_double_colon] = ACTIONS(968),
    [sym__binary_minus] = ACTIONS(968),
    [sym__binary_star] = ACTIONS(968),
    [anon_sym_DOT] = ACTIONS(976),
    [anon_sym_COMMA] = ACTIONS(968),
    [anon_sym_PIPE] = ACTIONS(976),
    [anon_sym_STAR_STAR] = ACTIONS(968),
    [anon_sym_AMP] = ACTIONS(976),
    [anon_sym_LT] = ACTIONS(976),
    [anon_sym_if] = ACTIONS(968),
    [anon_sym_unless] = ACTIONS(968),
    [anon_sym_while] = ACTIONS(968),
    [anon_sym_until] = ACTIONS(968),
    [anon_sym_rescue] = ACTIONS(968),
    [anon_sym_EQ_GT] = ACTIONS(968),
    [anon_sym_AMP_DOT] = ACTIONS(968),
    [anon_sym_QMARK] = ACTIONS(968),
    [anon_sym_DOT_DOT] = ACTIONS(976),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(968),
    [anon_sym_and] = ACTIONS(968),
    [anon_sym_or] = ACTIONS(968),
    [anon_sym_PIPE_PIPE] = ACTIONS(968),
    [anon_sym_AMP_AMP] = ACTIONS(968),
    [anon_sym_LT_LT] = ACTIONS(968),
    [anon_sym_GT_GT] = ACTIONS(968),
    [anon_sym_EQ_EQ] = ACTIONS(976),
    [anon_sym_BANG_EQ] = ACTIONS(968),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(968),
    [anon_sym_LT_EQ_GT] = ACTIONS(968),
    [anon_sym_EQ_TILDE] = ACTIONS(968),
    [anon_sym_BANG_TILDE] = ACTIONS(968),
    [anon_sym_LT_EQ] = ACTIONS(976),
    [anon_sym_GT] = ACTIONS(976),
    [anon_sym_GT_EQ] = ACTIONS(968),
    [anon_sym_CARET] = ACTIONS(968),
    [anon_sym_PLUS] = ACTIONS(968),
    [anon_sym_SLASH] = ACTIONS(968),
    [anon_sym_PERCENT] = ACTIONS(968),
    [sym_comment] = ACTIONS(110),
  },
  [2771] = {
    [anon_sym_EQ] = ACTIONS(8040),
    [sym_comment] = ACTIONS(256),
  },
  [2772] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__heredoc_body_middle] = ACTIONS(250),
    [sym__heredoc_body_end] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(8042),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(8044),
    [anon_sym_DASH_EQ] = ACTIONS(8044),
    [anon_sym_STAR_EQ] = ACTIONS(8044),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8044),
    [anon_sym_SLASH_EQ] = ACTIONS(8044),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8044),
    [anon_sym_PIPE_EQ] = ACTIONS(8044),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8044),
    [anon_sym_AMP_EQ] = ACTIONS(8044),
    [anon_sym_PERCENT_EQ] = ACTIONS(8044),
    [anon_sym_GT_GT_EQ] = ACTIONS(8044),
    [anon_sym_LT_LT_EQ] = ACTIONS(8044),
    [anon_sym_CARET_EQ] = ACTIONS(8044),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [2773] = {
    [sym__keyword_colon] = ACTIONS(8046),
    [sym_comment] = ACTIONS(110),
  },
  [2774] = {
    [sym_string] = STATE(5712),
    [aux_sym_chained_string_repeat1] = STATE(5713),
    [sym__simple_string] = ACTIONS(7868),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(7870),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__heredoc_body_middle] = ACTIONS(250),
    [sym__heredoc_body_end] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(7974),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(7930),
  },
  [2775] = {
    [sym__heredoc_body_middle] = ACTIONS(2286),
    [sym__heredoc_body_end] = ACTIONS(2286),
    [sym__element_reference_left_bracket] = ACTIONS(2286),
    [sym__scope_double_colon] = ACTIONS(2286),
    [sym__binary_minus] = ACTIONS(2286),
    [sym__binary_star] = ACTIONS(2286),
    [anon_sym_DOT] = ACTIONS(2288),
    [anon_sym_COMMA] = ACTIONS(2286),
    [anon_sym_PIPE] = ACTIONS(2288),
    [anon_sym_STAR_STAR] = ACTIONS(2286),
    [anon_sym_AMP] = ACTIONS(2288),
    [anon_sym_LT] = ACTIONS(2288),
    [anon_sym_if] = ACTIONS(2286),
    [anon_sym_unless] = ACTIONS(2286),
    [anon_sym_while] = ACTIONS(2286),
    [anon_sym_until] = ACTIONS(2286),
    [anon_sym_rescue] = ACTIONS(2286),
    [anon_sym_AMP_DOT] = ACTIONS(2286),
    [anon_sym_QMARK] = ACTIONS(2286),
    [anon_sym_DOT_DOT] = ACTIONS(2288),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2286),
    [anon_sym_and] = ACTIONS(2286),
    [anon_sym_or] = ACTIONS(2286),
    [anon_sym_PIPE_PIPE] = ACTIONS(2286),
    [anon_sym_AMP_AMP] = ACTIONS(2286),
    [anon_sym_LT_LT] = ACTIONS(2286),
    [anon_sym_GT_GT] = ACTIONS(2286),
    [anon_sym_EQ_EQ] = ACTIONS(2288),
    [anon_sym_BANG_EQ] = ACTIONS(2286),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2286),
    [anon_sym_LT_EQ_GT] = ACTIONS(2286),
    [anon_sym_EQ_TILDE] = ACTIONS(2286),
    [anon_sym_BANG_TILDE] = ACTIONS(2286),
    [anon_sym_LT_EQ] = ACTIONS(2288),
    [anon_sym_GT] = ACTIONS(2288),
    [anon_sym_GT_EQ] = ACTIONS(2286),
    [anon_sym_CARET] = ACTIONS(2286),
    [anon_sym_PLUS] = ACTIONS(2286),
    [anon_sym_SLASH] = ACTIONS(2286),
    [anon_sym_PERCENT] = ACTIONS(2286),
    [sym_comment] = ACTIONS(110),
  },
  [2776] = {
    [sym__heredoc_body_middle] = ACTIONS(2290),
    [sym__heredoc_body_end] = ACTIONS(2290),
    [sym__element_reference_left_bracket] = ACTIONS(2290),
    [sym__scope_double_colon] = ACTIONS(2290),
    [sym__binary_minus] = ACTIONS(2290),
    [sym__binary_star] = ACTIONS(2290),
    [anon_sym_DOT] = ACTIONS(2292),
    [anon_sym_COMMA] = ACTIONS(2290),
    [anon_sym_PIPE] = ACTIONS(2292),
    [anon_sym_STAR_STAR] = ACTIONS(2290),
    [anon_sym_AMP] = ACTIONS(2292),
    [anon_sym_LT] = ACTIONS(2292),
    [anon_sym_if] = ACTIONS(2290),
    [anon_sym_unless] = ACTIONS(2290),
    [anon_sym_while] = ACTIONS(2290),
    [anon_sym_until] = ACTIONS(2290),
    [anon_sym_rescue] = ACTIONS(2290),
    [anon_sym_AMP_DOT] = ACTIONS(2290),
    [anon_sym_QMARK] = ACTIONS(2290),
    [anon_sym_DOT_DOT] = ACTIONS(2292),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2290),
    [anon_sym_and] = ACTIONS(2290),
    [anon_sym_or] = ACTIONS(2290),
    [anon_sym_PIPE_PIPE] = ACTIONS(2290),
    [anon_sym_AMP_AMP] = ACTIONS(2290),
    [anon_sym_LT_LT] = ACTIONS(2290),
    [anon_sym_GT_GT] = ACTIONS(2290),
    [anon_sym_EQ_EQ] = ACTIONS(2292),
    [anon_sym_BANG_EQ] = ACTIONS(2290),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2290),
    [anon_sym_LT_EQ_GT] = ACTIONS(2290),
    [anon_sym_EQ_TILDE] = ACTIONS(2290),
    [anon_sym_BANG_TILDE] = ACTIONS(2290),
    [anon_sym_LT_EQ] = ACTIONS(2292),
    [anon_sym_GT] = ACTIONS(2292),
    [anon_sym_GT_EQ] = ACTIONS(2290),
    [anon_sym_CARET] = ACTIONS(2290),
    [anon_sym_PLUS] = ACTIONS(2290),
    [anon_sym_SLASH] = ACTIONS(2290),
    [anon_sym_PERCENT] = ACTIONS(2290),
    [sym_comment] = ACTIONS(110),
  },
  [2777] = {
    [sym__heredoc_body_middle] = ACTIONS(2294),
    [sym__heredoc_body_end] = ACTIONS(2294),
    [sym__element_reference_left_bracket] = ACTIONS(2294),
    [sym__scope_double_colon] = ACTIONS(2294),
    [sym__binary_minus] = ACTIONS(2294),
    [sym__binary_star] = ACTIONS(2294),
    [anon_sym_DOT] = ACTIONS(2296),
    [anon_sym_COMMA] = ACTIONS(2294),
    [anon_sym_PIPE] = ACTIONS(2296),
    [anon_sym_STAR_STAR] = ACTIONS(2294),
    [anon_sym_AMP] = ACTIONS(2296),
    [anon_sym_LT] = ACTIONS(2296),
    [anon_sym_if] = ACTIONS(2294),
    [anon_sym_unless] = ACTIONS(2294),
    [anon_sym_while] = ACTIONS(2294),
    [anon_sym_until] = ACTIONS(2294),
    [anon_sym_rescue] = ACTIONS(2294),
    [anon_sym_AMP_DOT] = ACTIONS(2294),
    [anon_sym_QMARK] = ACTIONS(2294),
    [anon_sym_DOT_DOT] = ACTIONS(2296),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2294),
    [anon_sym_and] = ACTIONS(2294),
    [anon_sym_or] = ACTIONS(2294),
    [anon_sym_PIPE_PIPE] = ACTIONS(2294),
    [anon_sym_AMP_AMP] = ACTIONS(2294),
    [anon_sym_LT_LT] = ACTIONS(2294),
    [anon_sym_GT_GT] = ACTIONS(2294),
    [anon_sym_EQ_EQ] = ACTIONS(2296),
    [anon_sym_BANG_EQ] = ACTIONS(2294),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2294),
    [anon_sym_LT_EQ_GT] = ACTIONS(2294),
    [anon_sym_EQ_TILDE] = ACTIONS(2294),
    [anon_sym_BANG_TILDE] = ACTIONS(2294),
    [anon_sym_LT_EQ] = ACTIONS(2296),
    [anon_sym_GT] = ACTIONS(2296),
    [anon_sym_GT_EQ] = ACTIONS(2294),
    [anon_sym_CARET] = ACTIONS(2294),
    [anon_sym_PLUS] = ACTIONS(2294),
    [anon_sym_SLASH] = ACTIONS(2294),
    [anon_sym_PERCENT] = ACTIONS(2294),
    [sym_comment] = ACTIONS(110),
  },
  [2778] = {
    [sym__then] = STATE(5714),
    [sym_heredoc_end] = STATE(1476),
    [sym__terminator] = STATE(1484),
    [sym__simple_heredoc_body] = ACTIONS(2322),
    [sym__heredoc_body_beginning] = ACTIONS(2324),
    [sym__line_break] = ACTIONS(2326),
    [anon_sym_SEMI] = ACTIONS(2326),
    [anon_sym_if] = ACTIONS(2328),
    [anon_sym_unless] = ACTIONS(2330),
    [anon_sym_while] = ACTIONS(2332),
    [anon_sym_until] = ACTIONS(2334),
    [anon_sym_rescue] = ACTIONS(2336),
    [anon_sym_then] = ACTIONS(2338),
    [sym_comment] = ACTIONS(110),
  },
  [2779] = {
    [sym__then] = STATE(5715),
    [sym_heredoc_end] = STATE(1521),
    [sym__terminator] = STATE(1524),
    [sym__simple_heredoc_body] = ACTIONS(2402),
    [sym__heredoc_body_beginning] = ACTIONS(2404),
    [sym__line_break] = ACTIONS(2406),
    [anon_sym_SEMI] = ACTIONS(2406),
    [anon_sym_if] = ACTIONS(2328),
    [anon_sym_unless] = ACTIONS(2330),
    [anon_sym_while] = ACTIONS(2332),
    [anon_sym_until] = ACTIONS(2334),
    [anon_sym_rescue] = ACTIONS(2336),
    [anon_sym_then] = ACTIONS(2408),
    [sym_comment] = ACTIONS(110),
  },
  [2780] = {
    [sym__do] = STATE(5716),
    [sym_heredoc_end] = STATE(1550),
    [sym__terminator] = STATE(1557),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym__line_break] = ACTIONS(2446),
    [sym__binary_minus] = ACTIONS(2448),
    [sym__binary_star] = ACTIONS(2450),
    [anon_sym_PIPE] = ACTIONS(2452),
    [anon_sym_SEMI] = ACTIONS(2446),
    [anon_sym_STAR_STAR] = ACTIONS(2454),
    [anon_sym_AMP] = ACTIONS(2456),
    [anon_sym_LT] = ACTIONS(2458),
    [anon_sym_do] = ACTIONS(2460),
    [anon_sym_QMARK] = ACTIONS(2462),
    [anon_sym_DOT_DOT] = ACTIONS(2464),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2466),
    [anon_sym_and] = ACTIONS(2468),
    [anon_sym_or] = ACTIONS(2468),
    [anon_sym_PIPE_PIPE] = ACTIONS(2470),
    [anon_sym_AMP_AMP] = ACTIONS(2470),
    [anon_sym_LT_LT] = ACTIONS(2472),
    [anon_sym_GT_GT] = ACTIONS(2472),
    [anon_sym_EQ_EQ] = ACTIONS(2474),
    [anon_sym_BANG_EQ] = ACTIONS(2470),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2470),
    [anon_sym_LT_EQ_GT] = ACTIONS(2470),
    [anon_sym_EQ_TILDE] = ACTIONS(2470),
    [anon_sym_BANG_TILDE] = ACTIONS(2470),
    [anon_sym_LT_EQ] = ACTIONS(2458),
    [anon_sym_GT] = ACTIONS(2458),
    [anon_sym_GT_EQ] = ACTIONS(2476),
    [anon_sym_CARET] = ACTIONS(2478),
    [anon_sym_PLUS] = ACTIONS(2480),
    [anon_sym_SLASH] = ACTIONS(2454),
    [anon_sym_PERCENT] = ACTIONS(2454),
    [sym_comment] = ACTIONS(110),
  },
  [2781] = {
    [sym__do] = STATE(5717),
    [sym_heredoc_end] = STATE(1550),
    [sym__terminator] = STATE(1557),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym__line_break] = ACTIONS(2446),
    [sym__binary_minus] = ACTIONS(2448),
    [sym__binary_star] = ACTIONS(2450),
    [anon_sym_PIPE] = ACTIONS(2452),
    [anon_sym_SEMI] = ACTIONS(2446),
    [anon_sym_STAR_STAR] = ACTIONS(2454),
    [anon_sym_AMP] = ACTIONS(2456),
    [anon_sym_LT] = ACTIONS(2458),
    [anon_sym_do] = ACTIONS(2460),
    [anon_sym_QMARK] = ACTIONS(2462),
    [anon_sym_DOT_DOT] = ACTIONS(2464),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2466),
    [anon_sym_and] = ACTIONS(2468),
    [anon_sym_or] = ACTIONS(2468),
    [anon_sym_PIPE_PIPE] = ACTIONS(2470),
    [anon_sym_AMP_AMP] = ACTIONS(2470),
    [anon_sym_LT_LT] = ACTIONS(2472),
    [anon_sym_GT_GT] = ACTIONS(2472),
    [anon_sym_EQ_EQ] = ACTIONS(2474),
    [anon_sym_BANG_EQ] = ACTIONS(2470),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2470),
    [anon_sym_LT_EQ_GT] = ACTIONS(2470),
    [anon_sym_EQ_TILDE] = ACTIONS(2470),
    [anon_sym_BANG_TILDE] = ACTIONS(2470),
    [anon_sym_LT_EQ] = ACTIONS(2458),
    [anon_sym_GT] = ACTIONS(2458),
    [anon_sym_GT_EQ] = ACTIONS(2476),
    [anon_sym_CARET] = ACTIONS(2478),
    [anon_sym_PLUS] = ACTIONS(2480),
    [anon_sym_SLASH] = ACTIONS(2454),
    [anon_sym_PERCENT] = ACTIONS(2454),
    [sym_comment] = ACTIONS(110),
  },
  [2782] = {
    [sym_in] = STATE(5718),
    [anon_sym_in] = ACTIONS(2548),
    [sym_comment] = ACTIONS(110),
  },
  [2783] = {
    [anon_sym_end] = ACTIONS(8048),
    [sym_comment] = ACTIONS(110),
  },
  [2784] = {
    [sym_when] = STATE(5720),
    [sym_heredoc_end] = STATE(387),
    [sym__terminator] = STATE(402),
    [aux_sym_case_repeat1] = STATE(5721),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym__line_break] = ACTIONS(666),
    [sym__binary_minus] = ACTIONS(2600),
    [sym__binary_star] = ACTIONS(2602),
    [anon_sym_PIPE] = ACTIONS(2604),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_STAR_STAR] = ACTIONS(2606),
    [anon_sym_AMP] = ACTIONS(2608),
    [anon_sym_LT] = ACTIONS(2610),
    [anon_sym_when] = ACTIONS(2612),
    [anon_sym_QMARK] = ACTIONS(2614),
    [anon_sym_DOT_DOT] = ACTIONS(2616),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2618),
    [anon_sym_and] = ACTIONS(2620),
    [anon_sym_or] = ACTIONS(2620),
    [anon_sym_PIPE_PIPE] = ACTIONS(2622),
    [anon_sym_AMP_AMP] = ACTIONS(2622),
    [anon_sym_LT_LT] = ACTIONS(2624),
    [anon_sym_GT_GT] = ACTIONS(2624),
    [anon_sym_EQ_EQ] = ACTIONS(2626),
    [anon_sym_BANG_EQ] = ACTIONS(2622),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2622),
    [anon_sym_LT_EQ_GT] = ACTIONS(2622),
    [anon_sym_EQ_TILDE] = ACTIONS(2622),
    [anon_sym_BANG_TILDE] = ACTIONS(2622),
    [anon_sym_LT_EQ] = ACTIONS(2610),
    [anon_sym_GT] = ACTIONS(2610),
    [anon_sym_GT_EQ] = ACTIONS(2628),
    [anon_sym_CARET] = ACTIONS(2630),
    [anon_sym_PLUS] = ACTIONS(2632),
    [anon_sym_SLASH] = ACTIONS(2606),
    [anon_sym_PERCENT] = ACTIONS(2606),
    [sym_comment] = ACTIONS(110),
  },
  [2785] = {
    [sym_when] = STATE(5720),
    [sym_heredoc_end] = STATE(387),
    [sym__terminator] = STATE(1688),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym__line_break] = ACTIONS(666),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_when] = ACTIONS(2612),
    [sym_comment] = ACTIONS(110),
  },
  [2786] = {
    [sym__heredoc_body_middle] = ACTIONS(2674),
    [sym__heredoc_body_end] = ACTIONS(2674),
    [sym__element_reference_left_bracket] = ACTIONS(2674),
    [sym__scope_double_colon] = ACTIONS(2674),
    [sym__binary_minus] = ACTIONS(2674),
    [sym__binary_star] = ACTIONS(2674),
    [anon_sym_DOT] = ACTIONS(2676),
    [anon_sym_COMMA] = ACTIONS(2674),
    [anon_sym_PIPE] = ACTIONS(2676),
    [anon_sym_STAR_STAR] = ACTIONS(2674),
    [anon_sym_AMP] = ACTIONS(2676),
    [anon_sym_LT] = ACTIONS(2676),
    [anon_sym_if] = ACTIONS(2674),
    [anon_sym_unless] = ACTIONS(2674),
    [anon_sym_while] = ACTIONS(2674),
    [anon_sym_until] = ACTIONS(2674),
    [anon_sym_rescue] = ACTIONS(2674),
    [anon_sym_AMP_DOT] = ACTIONS(2674),
    [anon_sym_QMARK] = ACTIONS(2674),
    [anon_sym_DOT_DOT] = ACTIONS(2676),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2674),
    [anon_sym_and] = ACTIONS(2674),
    [anon_sym_or] = ACTIONS(2674),
    [anon_sym_PIPE_PIPE] = ACTIONS(2674),
    [anon_sym_AMP_AMP] = ACTIONS(2674),
    [anon_sym_LT_LT] = ACTIONS(2674),
    [anon_sym_GT_GT] = ACTIONS(2674),
    [anon_sym_EQ_EQ] = ACTIONS(2676),
    [anon_sym_BANG_EQ] = ACTIONS(2674),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2674),
    [anon_sym_LT_EQ_GT] = ACTIONS(2674),
    [anon_sym_EQ_TILDE] = ACTIONS(2674),
    [anon_sym_BANG_TILDE] = ACTIONS(2674),
    [anon_sym_LT_EQ] = ACTIONS(2676),
    [anon_sym_GT] = ACTIONS(2676),
    [anon_sym_GT_EQ] = ACTIONS(2674),
    [anon_sym_CARET] = ACTIONS(2674),
    [anon_sym_PLUS] = ACTIONS(2674),
    [anon_sym_SLASH] = ACTIONS(2674),
    [anon_sym_PERCENT] = ACTIONS(2674),
    [sym_comment] = ACTIONS(110),
  },
  [2787] = {
    [anon_sym_end] = ACTIONS(8050),
    [sym_comment] = ACTIONS(110),
  },
  [2788] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(5723),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(8052),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2789] = {
    [sym__heredoc_body_middle] = ACTIONS(2870),
    [sym__heredoc_body_end] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(4128),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [2790] = {
    [sym__heredoc_body_middle] = ACTIONS(2870),
    [sym__heredoc_body_end] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(4122),
    [sym__binary_star] = ACTIONS(4124),
    [anon_sym_PIPE] = ACTIONS(4126),
    [anon_sym_STAR_STAR] = ACTIONS(4128),
    [anon_sym_AMP] = ACTIONS(4130),
    [anon_sym_LT] = ACTIONS(4132),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(4134),
    [anon_sym_DOT_DOT] = ACTIONS(4136),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4138),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(4142),
    [anon_sym_AMP_AMP] = ACTIONS(4142),
    [anon_sym_LT_LT] = ACTIONS(4144),
    [anon_sym_GT_GT] = ACTIONS(4144),
    [anon_sym_EQ_EQ] = ACTIONS(4146),
    [anon_sym_BANG_EQ] = ACTIONS(4142),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4142),
    [anon_sym_LT_EQ_GT] = ACTIONS(4142),
    [anon_sym_EQ_TILDE] = ACTIONS(4142),
    [anon_sym_BANG_TILDE] = ACTIONS(4142),
    [anon_sym_LT_EQ] = ACTIONS(4132),
    [anon_sym_GT] = ACTIONS(4132),
    [anon_sym_GT_EQ] = ACTIONS(4148),
    [anon_sym_CARET] = ACTIONS(4150),
    [anon_sym_PLUS] = ACTIONS(4152),
    [anon_sym_SLASH] = ACTIONS(4128),
    [anon_sym_PERCENT] = ACTIONS(4128),
    [sym_comment] = ACTIONS(110),
  },
  [2791] = {
    [sym__heredoc_body_middle] = ACTIONS(2870),
    [sym__heredoc_body_end] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(2870),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [2792] = {
    [sym_operator] = STATE(2796),
    [sym__method_name] = STATE(5724),
    [sym_setter] = STATE(2796),
    [sym_symbol] = STATE(2796),
    [sym__simple_symbol] = ACTIONS(4088),
    [sym__symbol_beginning] = ACTIONS(4090),
    [anon_sym_PIPE] = ACTIONS(4092),
    [anon_sym_STAR] = ACTIONS(4094),
    [anon_sym_STAR_STAR] = ACTIONS(4092),
    [anon_sym_AMP] = ACTIONS(4092),
    [anon_sym_LT] = ACTIONS(4094),
    [anon_sym_DOT_DOT] = ACTIONS(4092),
    [anon_sym_LT_LT] = ACTIONS(4092),
    [anon_sym_GT_GT] = ACTIONS(4092),
    [anon_sym_EQ_EQ] = ACTIONS(4094),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4092),
    [anon_sym_LT_EQ_GT] = ACTIONS(4092),
    [anon_sym_EQ_TILDE] = ACTIONS(4092),
    [anon_sym_BANG_TILDE] = ACTIONS(4092),
    [anon_sym_LT_EQ] = ACTIONS(4094),
    [anon_sym_GT] = ACTIONS(4094),
    [anon_sym_GT_EQ] = ACTIONS(4092),
    [anon_sym_CARET] = ACTIONS(4092),
    [anon_sym_PLUS] = ACTIONS(4094),
    [anon_sym_SLASH] = ACTIONS(4092),
    [anon_sym_PERCENT] = ACTIONS(4092),
    [anon_sym_BANG] = ACTIONS(4094),
    [anon_sym_TILDE] = ACTIONS(4092),
    [sym_constant] = ACTIONS(4096),
    [sym_identifier] = ACTIONS(4098),
    [sym_instance_variable] = ACTIONS(4096),
    [sym_class_variable] = ACTIONS(4096),
    [sym_global_variable] = ACTIONS(4096),
    [anon_sym_DASH] = ACTIONS(4094),
    [anon_sym_PLUS_AT] = ACTIONS(4092),
    [anon_sym_DASH_AT] = ACTIONS(4092),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(4094),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(4092),
    [anon_sym_BQUOTE] = ACTIONS(4092),
    [sym_comment] = ACTIONS(110),
  },
  [2793] = {
    [sym__heredoc_body_middle] = ACTIONS(130),
    [sym__heredoc_body_end] = ACTIONS(130),
    [anon_sym_COMMA] = ACTIONS(130),
    [anon_sym_if] = ACTIONS(130),
    [anon_sym_unless] = ACTIONS(130),
    [anon_sym_while] = ACTIONS(130),
    [anon_sym_until] = ACTIONS(130),
    [anon_sym_rescue] = ACTIONS(130),
    [sym_comment] = ACTIONS(110),
  },
  [2794] = {
    [sym__statement] = STATE(5725),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(5726),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [2795] = {
    [sym__heredoc_body_middle] = ACTIONS(1856),
    [sym__heredoc_body_end] = ACTIONS(1856),
    [anon_sym_COMMA] = ACTIONS(1856),
    [anon_sym_if] = ACTIONS(1856),
    [anon_sym_unless] = ACTIONS(1856),
    [anon_sym_while] = ACTIONS(1856),
    [anon_sym_until] = ACTIONS(1856),
    [anon_sym_rescue] = ACTIONS(1856),
    [sym_comment] = ACTIONS(110),
  },
  [2796] = {
    [sym__heredoc_body_middle] = ACTIONS(1860),
    [sym__heredoc_body_end] = ACTIONS(1860),
    [anon_sym_COMMA] = ACTIONS(1860),
    [anon_sym_if] = ACTIONS(1860),
    [anon_sym_unless] = ACTIONS(1860),
    [anon_sym_while] = ACTIONS(1860),
    [anon_sym_until] = ACTIONS(1860),
    [anon_sym_rescue] = ACTIONS(1860),
    [sym_comment] = ACTIONS(110),
  },
  [2797] = {
    [sym__heredoc_body_middle] = ACTIONS(1860),
    [sym__heredoc_body_end] = ACTIONS(1860),
    [anon_sym_COMMA] = ACTIONS(1860),
    [anon_sym_EQ] = ACTIONS(8054),
    [anon_sym_if] = ACTIONS(1860),
    [anon_sym_unless] = ACTIONS(1860),
    [anon_sym_while] = ACTIONS(1860),
    [anon_sym_until] = ACTIONS(1860),
    [anon_sym_rescue] = ACTIONS(1860),
    [sym_comment] = ACTIONS(256),
  },
  [2798] = {
    [aux_sym_undef_repeat1] = STATE(5729),
    [sym__heredoc_body_middle] = ACTIONS(2878),
    [sym__heredoc_body_end] = ACTIONS(2878),
    [anon_sym_COMMA] = ACTIONS(8056),
    [anon_sym_if] = ACTIONS(2878),
    [anon_sym_unless] = ACTIONS(2878),
    [anon_sym_while] = ACTIONS(2878),
    [anon_sym_until] = ACTIONS(2878),
    [anon_sym_rescue] = ACTIONS(2878),
    [sym_comment] = ACTIONS(110),
  },
  [2799] = {
    [sym__heredoc_body_middle] = ACTIONS(2882),
    [sym__heredoc_body_end] = ACTIONS(2882),
    [sym__element_reference_left_bracket] = ACTIONS(2882),
    [sym__scope_double_colon] = ACTIONS(2882),
    [sym__binary_minus] = ACTIONS(2882),
    [sym__binary_star] = ACTIONS(2882),
    [anon_sym_DOT] = ACTIONS(2884),
    [anon_sym_COMMA] = ACTIONS(2882),
    [anon_sym_PIPE] = ACTIONS(2884),
    [anon_sym_STAR_STAR] = ACTIONS(2882),
    [anon_sym_AMP] = ACTIONS(2884),
    [anon_sym_LT] = ACTIONS(2884),
    [anon_sym_if] = ACTIONS(2882),
    [anon_sym_unless] = ACTIONS(2882),
    [anon_sym_while] = ACTIONS(2882),
    [anon_sym_until] = ACTIONS(2882),
    [anon_sym_rescue] = ACTIONS(2882),
    [anon_sym_AMP_DOT] = ACTIONS(2882),
    [anon_sym_QMARK] = ACTIONS(2882),
    [anon_sym_DOT_DOT] = ACTIONS(2884),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2882),
    [anon_sym_and] = ACTIONS(2882),
    [anon_sym_or] = ACTIONS(2882),
    [anon_sym_PIPE_PIPE] = ACTIONS(2882),
    [anon_sym_AMP_AMP] = ACTIONS(2882),
    [anon_sym_LT_LT] = ACTIONS(2882),
    [anon_sym_GT_GT] = ACTIONS(2882),
    [anon_sym_EQ_EQ] = ACTIONS(2884),
    [anon_sym_BANG_EQ] = ACTIONS(2882),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2882),
    [anon_sym_LT_EQ_GT] = ACTIONS(2882),
    [anon_sym_EQ_TILDE] = ACTIONS(2882),
    [anon_sym_BANG_TILDE] = ACTIONS(2882),
    [anon_sym_LT_EQ] = ACTIONS(2884),
    [anon_sym_GT] = ACTIONS(2884),
    [anon_sym_GT_EQ] = ACTIONS(2882),
    [anon_sym_CARET] = ACTIONS(2882),
    [anon_sym_PLUS] = ACTIONS(2882),
    [anon_sym_SLASH] = ACTIONS(2882),
    [anon_sym_PERCENT] = ACTIONS(2882),
    [sym_comment] = ACTIONS(110),
  },
  [2800] = {
    [sym__heredoc_body_middle] = ACTIONS(2952),
    [sym__heredoc_body_end] = ACTIONS(2952),
    [sym__element_reference_left_bracket] = ACTIONS(2952),
    [sym__scope_double_colon] = ACTIONS(2952),
    [sym__binary_minus] = ACTIONS(2952),
    [sym__binary_star] = ACTIONS(2952),
    [anon_sym_DOT] = ACTIONS(2954),
    [anon_sym_COMMA] = ACTIONS(2952),
    [anon_sym_PIPE] = ACTIONS(2954),
    [anon_sym_STAR_STAR] = ACTIONS(2952),
    [anon_sym_AMP] = ACTIONS(2954),
    [anon_sym_LT] = ACTIONS(2954),
    [anon_sym_if] = ACTIONS(2952),
    [anon_sym_unless] = ACTIONS(2952),
    [anon_sym_while] = ACTIONS(2952),
    [anon_sym_until] = ACTIONS(2952),
    [anon_sym_rescue] = ACTIONS(2952),
    [anon_sym_AMP_DOT] = ACTIONS(2952),
    [anon_sym_QMARK] = ACTIONS(2952),
    [anon_sym_DOT_DOT] = ACTIONS(2954),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2952),
    [anon_sym_and] = ACTIONS(2952),
    [anon_sym_or] = ACTIONS(2952),
    [anon_sym_PIPE_PIPE] = ACTIONS(2952),
    [anon_sym_AMP_AMP] = ACTIONS(2952),
    [anon_sym_LT_LT] = ACTIONS(2952),
    [anon_sym_GT_GT] = ACTIONS(2952),
    [anon_sym_EQ_EQ] = ACTIONS(2954),
    [anon_sym_BANG_EQ] = ACTIONS(2952),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2952),
    [anon_sym_LT_EQ_GT] = ACTIONS(2952),
    [anon_sym_EQ_TILDE] = ACTIONS(2952),
    [anon_sym_BANG_TILDE] = ACTIONS(2952),
    [anon_sym_LT_EQ] = ACTIONS(2954),
    [anon_sym_GT] = ACTIONS(2954),
    [anon_sym_GT_EQ] = ACTIONS(2952),
    [anon_sym_CARET] = ACTIONS(2952),
    [anon_sym_PLUS] = ACTIONS(2952),
    [anon_sym_SLASH] = ACTIONS(2952),
    [anon_sym_PERCENT] = ACTIONS(2952),
    [sym_comment] = ACTIONS(110),
  },
  [2801] = {
    [sym_heredoc_end] = STATE(5730),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RBRACK] = ACTIONS(7856),
    [sym_comment] = ACTIONS(110),
  },
  [2802] = {
    [anon_sym_RBRACK] = ACTIONS(7856),
    [sym_comment] = ACTIONS(110),
  },
  [2803] = {
    [sym__statements] = STATE(5732),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(5733),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(841),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(8058),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_PIPE] = ACTIONS(3048),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2804] = {
    [sym__statements] = STATE(5735),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(5736),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1981),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(5737),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(3076),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(3078),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(3080),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(8060),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(3086),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2805] = {
    [sym_do_block] = STATE(5738),
    [sym_block] = STATE(5738),
    [anon_sym_LBRACE] = ACTIONS(4104),
    [anon_sym_do] = ACTIONS(8062),
    [sym_comment] = ACTIONS(110),
  },
  [2806] = {
    [sym__heredoc_body_middle] = ACTIONS(3100),
    [sym__heredoc_body_end] = ACTIONS(3100),
    [sym__element_reference_left_bracket] = ACTIONS(3100),
    [sym__scope_double_colon] = ACTIONS(3100),
    [sym__binary_minus] = ACTIONS(3100),
    [sym__binary_star] = ACTIONS(3100),
    [anon_sym_DOT] = ACTIONS(3102),
    [anon_sym_COMMA] = ACTIONS(3100),
    [anon_sym_PIPE] = ACTIONS(3102),
    [anon_sym_STAR_STAR] = ACTIONS(3100),
    [anon_sym_AMP] = ACTIONS(3102),
    [anon_sym_LT] = ACTIONS(3102),
    [anon_sym_if] = ACTIONS(3100),
    [anon_sym_unless] = ACTIONS(3100),
    [anon_sym_while] = ACTIONS(3100),
    [anon_sym_until] = ACTIONS(3100),
    [anon_sym_rescue] = ACTIONS(3100),
    [anon_sym_AMP_DOT] = ACTIONS(3100),
    [anon_sym_QMARK] = ACTIONS(3100),
    [anon_sym_DOT_DOT] = ACTIONS(3102),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3100),
    [anon_sym_and] = ACTIONS(3100),
    [anon_sym_or] = ACTIONS(3100),
    [anon_sym_PIPE_PIPE] = ACTIONS(3100),
    [anon_sym_AMP_AMP] = ACTIONS(3100),
    [anon_sym_LT_LT] = ACTIONS(3100),
    [anon_sym_GT_GT] = ACTIONS(3100),
    [anon_sym_EQ_EQ] = ACTIONS(3102),
    [anon_sym_BANG_EQ] = ACTIONS(3100),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3100),
    [anon_sym_LT_EQ_GT] = ACTIONS(3100),
    [anon_sym_EQ_TILDE] = ACTIONS(3100),
    [anon_sym_BANG_TILDE] = ACTIONS(3100),
    [anon_sym_LT_EQ] = ACTIONS(3102),
    [anon_sym_GT] = ACTIONS(3102),
    [anon_sym_GT_EQ] = ACTIONS(3100),
    [anon_sym_CARET] = ACTIONS(3100),
    [anon_sym_PLUS] = ACTIONS(3100),
    [anon_sym_SLASH] = ACTIONS(3100),
    [anon_sym_PERCENT] = ACTIONS(3100),
    [sym_comment] = ACTIONS(110),
  },
  [2807] = {
    [sym__simple_string] = ACTIONS(8064),
    [sym__simple_symbol] = ACTIONS(8064),
    [sym__simple_subshell] = ACTIONS(8064),
    [sym__simple_regex] = ACTIONS(8064),
    [sym__simple_word_list] = ACTIONS(8064),
    [sym__string_beginning] = ACTIONS(8064),
    [sym__symbol_beginning] = ACTIONS(8064),
    [sym__subshell_beginning] = ACTIONS(8064),
    [sym__regex_beginning] = ACTIONS(8064),
    [sym__word_list_beginning] = ACTIONS(8064),
    [sym_heredoc_beginning] = ACTIONS(8064),
    [sym__unary_minus] = ACTIONS(8064),
    [anon_sym_LBRACE] = ACTIONS(8064),
    [anon_sym_def] = ACTIONS(8066),
    [anon_sym_LPAREN] = ACTIONS(8064),
    [anon_sym_COLON_COLON] = ACTIONS(8064),
    [anon_sym_SEMI] = ACTIONS(8064),
    [anon_sym_STAR] = ACTIONS(8064),
    [anon_sym_class] = ACTIONS(8066),
    [anon_sym_module] = ACTIONS(8066),
    [anon_sym_return] = ACTIONS(8066),
    [anon_sym_yield] = ACTIONS(8066),
    [anon_sym_break] = ACTIONS(8066),
    [anon_sym_next] = ACTIONS(8066),
    [anon_sym_redo] = ACTIONS(8066),
    [anon_sym_retry] = ACTIONS(8066),
    [anon_sym_if] = ACTIONS(8066),
    [anon_sym_unless] = ACTIONS(8066),
    [anon_sym_while] = ACTIONS(8066),
    [anon_sym_until] = ACTIONS(8066),
    [anon_sym_for] = ACTIONS(8066),
    [anon_sym_case] = ACTIONS(8066),
    [anon_sym_begin] = ACTIONS(8066),
    [anon_sym_PLUS] = ACTIONS(8066),
    [anon_sym_defined_QMARK] = ACTIONS(8064),
    [anon_sym_not] = ACTIONS(8066),
    [anon_sym_BANG] = ACTIONS(8064),
    [anon_sym_TILDE] = ACTIONS(8064),
    [sym_constant] = ACTIONS(8068),
    [sym_identifier] = ACTIONS(8068),
    [sym_instance_variable] = ACTIONS(8066),
    [sym_class_variable] = ACTIONS(8066),
    [sym_global_variable] = ACTIONS(8066),
    [anon_sym_alias] = ACTIONS(8066),
    [anon_sym_false] = ACTIONS(8066),
    [anon_sym_nil] = ACTIONS(8066),
    [anon_sym_self] = ACTIONS(8066),
    [anon_sym_super] = ACTIONS(8066),
    [anon_sym_true] = ACTIONS(8066),
    [anon_sym_undef] = ACTIONS(8066),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8066),
    [sym_float] = ACTIONS(8068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8064),
    [anon_sym_TRUE] = ACTIONS(8066),
    [anon_sym_FALSE] = ACTIONS(8066),
    [anon_sym_NIL] = ACTIONS(8066),
    [sym_keyword__FILE__] = ACTIONS(8066),
    [sym_keyword__LINE__] = ACTIONS(8066),
    [sym_keyword__ENCODING__] = ACTIONS(8066),
    [sym__character_literal] = ACTIONS(8066),
    [anon_sym_LBRACK] = ACTIONS(8064),
    [anon_sym_DASH_GT] = ACTIONS(8064),
  },
  [2808] = {
    [anon_sym_RBRACE] = ACTIONS(8070),
    [anon_sym_RPAREN] = ACTIONS(8070),
    [anon_sym_RBRACK] = ACTIONS(8070),
    [sym_comment] = ACTIONS(110),
  },
  [2809] = {
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(5739),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [2810] = {
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(5740),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [2811] = {
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(5741),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [2812] = {
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(5742),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [2813] = {
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(5743),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [2814] = {
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(5744),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [2815] = {
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(5745),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [2816] = {
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(5746),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [2817] = {
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(5747),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [2818] = {
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(5748),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [2819] = {
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(5749),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [2820] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(5750),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [2821] = {
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(5751),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [2822] = {
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(5752),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [2823] = {
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(5753),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [2824] = {
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(5754),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [2825] = {
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(5755),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [2826] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(501),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(5757),
    [sym__argument] = STATE(506),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(509),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(510),
    [sym__variable] = STATE(504),
    [sym_reserved_identifier] = STATE(511),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(512),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(5758),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(804),
    [sym__splat_star] = ACTIONS(806),
    [sym__unary_minus] = ACTIONS(808),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(818),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(824),
    [anon_sym_yield] = ACTIONS(826),
    [anon_sym_break] = ACTIONS(828),
    [anon_sym_next] = ACTIONS(830),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_RBRACK] = ACTIONS(8072),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(852),
    [anon_sym_defined_QMARK] = ACTIONS(854),
    [anon_sym_not] = ACTIONS(856),
    [anon_sym_BANG] = ACTIONS(858),
    [anon_sym_TILDE] = ACTIONS(858),
    [sym_constant] = ACTIONS(860),
    [sym_identifier] = ACTIONS(860),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2827] = {
    [sym_constant] = ACTIONS(8074),
    [sym_identifier] = ACTIONS(8074),
    [sym_comment] = ACTIONS(110),
  },
  [2828] = {
    [sym_argument_list_with_parens] = STATE(5762),
    [sym__argument_list_with_parens] = STATE(5763),
    [sym_operator] = STATE(5762),
    [sym__argument_list_left_paren] = ACTIONS(8076),
    [anon_sym_PIPE] = ACTIONS(8078),
    [anon_sym_STAR] = ACTIONS(8080),
    [anon_sym_STAR_STAR] = ACTIONS(8078),
    [anon_sym_AMP] = ACTIONS(8078),
    [anon_sym_LT] = ACTIONS(8080),
    [anon_sym_DOT_DOT] = ACTIONS(8078),
    [anon_sym_LT_LT] = ACTIONS(8078),
    [anon_sym_GT_GT] = ACTIONS(8078),
    [anon_sym_EQ_EQ] = ACTIONS(8080),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8078),
    [anon_sym_LT_EQ_GT] = ACTIONS(8078),
    [anon_sym_EQ_TILDE] = ACTIONS(8078),
    [anon_sym_BANG_TILDE] = ACTIONS(8078),
    [anon_sym_LT_EQ] = ACTIONS(8080),
    [anon_sym_GT] = ACTIONS(8080),
    [anon_sym_GT_EQ] = ACTIONS(8078),
    [anon_sym_CARET] = ACTIONS(8078),
    [anon_sym_PLUS] = ACTIONS(8080),
    [anon_sym_SLASH] = ACTIONS(8078),
    [anon_sym_PERCENT] = ACTIONS(8078),
    [anon_sym_BANG] = ACTIONS(8080),
    [anon_sym_TILDE] = ACTIONS(8078),
    [sym_constant] = ACTIONS(8082),
    [sym_identifier] = ACTIONS(8082),
    [anon_sym_DASH] = ACTIONS(8080),
    [anon_sym_PLUS_AT] = ACTIONS(8078),
    [anon_sym_DASH_AT] = ACTIONS(8078),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(8080),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(8078),
    [anon_sym_BQUOTE] = ACTIONS(8078),
    [sym_comment] = ACTIONS(110),
  },
  [2829] = {
    [sym__simple_string] = ACTIONS(126),
    [sym__simple_heredoc_body] = ACTIONS(126),
    [sym__string_beginning] = ACTIONS(126),
    [sym__heredoc_body_beginning] = ACTIONS(126),
    [sym__heredoc_body_middle] = ACTIONS(126),
    [sym__heredoc_body_end] = ACTIONS(126),
    [sym__element_reference_left_bracket] = ACTIONS(126),
    [sym__scope_double_colon] = ACTIONS(126),
    [sym__keyword_colon] = ACTIONS(126),
    [sym__binary_minus] = ACTIONS(126),
    [sym__binary_star] = ACTIONS(126),
    [anon_sym_LBRACE] = ACTIONS(126),
    [anon_sym_DOT] = ACTIONS(128),
    [anon_sym_COMMA] = ACTIONS(126),
    [anon_sym_PIPE] = ACTIONS(128),
    [anon_sym_STAR_STAR] = ACTIONS(128),
    [anon_sym_AMP] = ACTIONS(128),
    [anon_sym_EQ] = ACTIONS(128),
    [anon_sym_LT] = ACTIONS(128),
    [anon_sym_if] = ACTIONS(126),
    [anon_sym_unless] = ACTIONS(126),
    [anon_sym_while] = ACTIONS(126),
    [anon_sym_until] = ACTIONS(126),
    [anon_sym_rescue] = ACTIONS(126),
    [anon_sym_do] = ACTIONS(126),
    [anon_sym_EQ_GT] = ACTIONS(126),
    [anon_sym_AMP_DOT] = ACTIONS(126),
    [anon_sym_PLUS_EQ] = ACTIONS(126),
    [anon_sym_DASH_EQ] = ACTIONS(126),
    [anon_sym_STAR_EQ] = ACTIONS(126),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(126),
    [anon_sym_SLASH_EQ] = ACTIONS(126),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(126),
    [anon_sym_PIPE_EQ] = ACTIONS(126),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(126),
    [anon_sym_AMP_EQ] = ACTIONS(126),
    [anon_sym_PERCENT_EQ] = ACTIONS(126),
    [anon_sym_GT_GT_EQ] = ACTIONS(126),
    [anon_sym_LT_LT_EQ] = ACTIONS(126),
    [anon_sym_CARET_EQ] = ACTIONS(126),
    [anon_sym_QMARK] = ACTIONS(128),
    [anon_sym_DOT_DOT] = ACTIONS(128),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(126),
    [anon_sym_and] = ACTIONS(126),
    [anon_sym_or] = ACTIONS(126),
    [anon_sym_PIPE_PIPE] = ACTIONS(128),
    [anon_sym_AMP_AMP] = ACTIONS(128),
    [anon_sym_LT_LT] = ACTIONS(128),
    [anon_sym_GT_GT] = ACTIONS(128),
    [anon_sym_EQ_EQ] = ACTIONS(128),
    [anon_sym_BANG_EQ] = ACTIONS(126),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(126),
    [anon_sym_LT_EQ_GT] = ACTIONS(126),
    [anon_sym_EQ_TILDE] = ACTIONS(126),
    [anon_sym_BANG_TILDE] = ACTIONS(126),
    [anon_sym_LT_EQ] = ACTIONS(128),
    [anon_sym_GT] = ACTIONS(128),
    [anon_sym_GT_EQ] = ACTIONS(126),
    [anon_sym_CARET] = ACTIONS(128),
    [anon_sym_PLUS] = ACTIONS(128),
    [anon_sym_SLASH] = ACTIONS(128),
    [anon_sym_PERCENT] = ACTIONS(128),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(128),
  },
  [2830] = {
    [sym__simple_heredoc_body] = ACTIONS(130),
    [sym__heredoc_body_beginning] = ACTIONS(130),
    [sym__heredoc_body_middle] = ACTIONS(130),
    [sym__heredoc_body_end] = ACTIONS(130),
    [sym__element_reference_left_bracket] = ACTIONS(130),
    [sym__scope_double_colon] = ACTIONS(130),
    [sym__binary_minus] = ACTIONS(130),
    [sym__binary_star] = ACTIONS(130),
    [anon_sym_LBRACE] = ACTIONS(130),
    [anon_sym_DOT] = ACTIONS(132),
    [anon_sym_COMMA] = ACTIONS(130),
    [anon_sym_PIPE] = ACTIONS(132),
    [anon_sym_STAR_STAR] = ACTIONS(132),
    [anon_sym_AMP] = ACTIONS(132),
    [anon_sym_EQ] = ACTIONS(132),
    [anon_sym_LT] = ACTIONS(132),
    [anon_sym_if] = ACTIONS(130),
    [anon_sym_unless] = ACTIONS(130),
    [anon_sym_while] = ACTIONS(130),
    [anon_sym_until] = ACTIONS(130),
    [anon_sym_rescue] = ACTIONS(130),
    [anon_sym_do] = ACTIONS(130),
    [anon_sym_EQ_GT] = ACTIONS(130),
    [anon_sym_AMP_DOT] = ACTIONS(130),
    [anon_sym_PLUS_EQ] = ACTIONS(130),
    [anon_sym_DASH_EQ] = ACTIONS(130),
    [anon_sym_STAR_EQ] = ACTIONS(130),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(130),
    [anon_sym_SLASH_EQ] = ACTIONS(130),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(130),
    [anon_sym_PIPE_EQ] = ACTIONS(130),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(130),
    [anon_sym_AMP_EQ] = ACTIONS(130),
    [anon_sym_PERCENT_EQ] = ACTIONS(130),
    [anon_sym_GT_GT_EQ] = ACTIONS(130),
    [anon_sym_LT_LT_EQ] = ACTIONS(130),
    [anon_sym_CARET_EQ] = ACTIONS(130),
    [anon_sym_QMARK] = ACTIONS(130),
    [anon_sym_DOT_DOT] = ACTIONS(132),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(130),
    [anon_sym_and] = ACTIONS(130),
    [anon_sym_or] = ACTIONS(130),
    [anon_sym_PIPE_PIPE] = ACTIONS(132),
    [anon_sym_AMP_AMP] = ACTIONS(132),
    [anon_sym_LT_LT] = ACTIONS(132),
    [anon_sym_GT_GT] = ACTIONS(132),
    [anon_sym_EQ_EQ] = ACTIONS(132),
    [anon_sym_BANG_EQ] = ACTIONS(130),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(130),
    [anon_sym_LT_EQ_GT] = ACTIONS(130),
    [anon_sym_EQ_TILDE] = ACTIONS(130),
    [anon_sym_BANG_TILDE] = ACTIONS(130),
    [anon_sym_LT_EQ] = ACTIONS(132),
    [anon_sym_GT] = ACTIONS(132),
    [anon_sym_GT_EQ] = ACTIONS(130),
    [anon_sym_CARET] = ACTIONS(132),
    [anon_sym_PLUS] = ACTIONS(132),
    [anon_sym_SLASH] = ACTIONS(132),
    [anon_sym_PERCENT] = ACTIONS(132),
    [sym_comment] = ACTIONS(256),
  },
  [2831] = {
    [sym__simple_heredoc_body] = ACTIONS(134),
    [sym__heredoc_body_beginning] = ACTIONS(134),
    [sym__heredoc_body_middle] = ACTIONS(134),
    [sym__heredoc_body_end] = ACTIONS(134),
    [sym__element_reference_left_bracket] = ACTIONS(134),
    [sym__scope_double_colon] = ACTIONS(134),
    [sym__binary_minus] = ACTIONS(134),
    [sym__binary_star] = ACTIONS(134),
    [anon_sym_LBRACE] = ACTIONS(134),
    [anon_sym_DOT] = ACTIONS(136),
    [anon_sym_COMMA] = ACTIONS(134),
    [anon_sym_PIPE] = ACTIONS(136),
    [anon_sym_STAR_STAR] = ACTIONS(136),
    [anon_sym_AMP] = ACTIONS(136),
    [anon_sym_EQ] = ACTIONS(136),
    [anon_sym_LT] = ACTIONS(136),
    [anon_sym_if] = ACTIONS(134),
    [anon_sym_unless] = ACTIONS(134),
    [anon_sym_while] = ACTIONS(134),
    [anon_sym_until] = ACTIONS(134),
    [anon_sym_rescue] = ACTIONS(134),
    [anon_sym_do] = ACTIONS(134),
    [anon_sym_EQ_GT] = ACTIONS(134),
    [anon_sym_AMP_DOT] = ACTIONS(134),
    [anon_sym_PLUS_EQ] = ACTIONS(134),
    [anon_sym_DASH_EQ] = ACTIONS(134),
    [anon_sym_STAR_EQ] = ACTIONS(134),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(134),
    [anon_sym_SLASH_EQ] = ACTIONS(134),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(134),
    [anon_sym_PIPE_EQ] = ACTIONS(134),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(134),
    [anon_sym_AMP_EQ] = ACTIONS(134),
    [anon_sym_PERCENT_EQ] = ACTIONS(134),
    [anon_sym_GT_GT_EQ] = ACTIONS(134),
    [anon_sym_LT_LT_EQ] = ACTIONS(134),
    [anon_sym_CARET_EQ] = ACTIONS(134),
    [anon_sym_QMARK] = ACTIONS(134),
    [anon_sym_DOT_DOT] = ACTIONS(136),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(134),
    [anon_sym_and] = ACTIONS(134),
    [anon_sym_or] = ACTIONS(134),
    [anon_sym_PIPE_PIPE] = ACTIONS(136),
    [anon_sym_AMP_AMP] = ACTIONS(136),
    [anon_sym_LT_LT] = ACTIONS(136),
    [anon_sym_GT_GT] = ACTIONS(136),
    [anon_sym_EQ_EQ] = ACTIONS(136),
    [anon_sym_BANG_EQ] = ACTIONS(134),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(134),
    [anon_sym_LT_EQ_GT] = ACTIONS(134),
    [anon_sym_EQ_TILDE] = ACTIONS(134),
    [anon_sym_BANG_TILDE] = ACTIONS(134),
    [anon_sym_LT_EQ] = ACTIONS(136),
    [anon_sym_GT] = ACTIONS(136),
    [anon_sym_GT_EQ] = ACTIONS(134),
    [anon_sym_CARET] = ACTIONS(136),
    [anon_sym_PLUS] = ACTIONS(136),
    [anon_sym_SLASH] = ACTIONS(136),
    [anon_sym_PERCENT] = ACTIONS(136),
    [sym_comment] = ACTIONS(256),
  },
  [2832] = {
    [sym__simple_heredoc_body] = ACTIONS(138),
    [sym__heredoc_body_beginning] = ACTIONS(138),
    [sym__heredoc_body_middle] = ACTIONS(138),
    [sym__heredoc_body_end] = ACTIONS(138),
    [sym__element_reference_left_bracket] = ACTIONS(138),
    [sym__scope_double_colon] = ACTIONS(138),
    [sym__binary_minus] = ACTIONS(138),
    [sym__binary_star] = ACTIONS(138),
    [anon_sym_LBRACE] = ACTIONS(138),
    [anon_sym_DOT] = ACTIONS(140),
    [anon_sym_COMMA] = ACTIONS(138),
    [anon_sym_PIPE] = ACTIONS(140),
    [anon_sym_STAR_STAR] = ACTIONS(140),
    [anon_sym_AMP] = ACTIONS(140),
    [anon_sym_EQ] = ACTIONS(140),
    [anon_sym_LT] = ACTIONS(140),
    [anon_sym_if] = ACTIONS(138),
    [anon_sym_unless] = ACTIONS(138),
    [anon_sym_while] = ACTIONS(138),
    [anon_sym_until] = ACTIONS(138),
    [anon_sym_rescue] = ACTIONS(138),
    [anon_sym_do] = ACTIONS(138),
    [anon_sym_EQ_GT] = ACTIONS(138),
    [anon_sym_AMP_DOT] = ACTIONS(138),
    [anon_sym_PLUS_EQ] = ACTIONS(138),
    [anon_sym_DASH_EQ] = ACTIONS(138),
    [anon_sym_STAR_EQ] = ACTIONS(138),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(138),
    [anon_sym_SLASH_EQ] = ACTIONS(138),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(138),
    [anon_sym_PIPE_EQ] = ACTIONS(138),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(138),
    [anon_sym_AMP_EQ] = ACTIONS(138),
    [anon_sym_PERCENT_EQ] = ACTIONS(138),
    [anon_sym_GT_GT_EQ] = ACTIONS(138),
    [anon_sym_LT_LT_EQ] = ACTIONS(138),
    [anon_sym_CARET_EQ] = ACTIONS(138),
    [anon_sym_QMARK] = ACTIONS(138),
    [anon_sym_DOT_DOT] = ACTIONS(140),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(138),
    [anon_sym_and] = ACTIONS(138),
    [anon_sym_or] = ACTIONS(138),
    [anon_sym_PIPE_PIPE] = ACTIONS(140),
    [anon_sym_AMP_AMP] = ACTIONS(140),
    [anon_sym_LT_LT] = ACTIONS(140),
    [anon_sym_GT_GT] = ACTIONS(140),
    [anon_sym_EQ_EQ] = ACTIONS(140),
    [anon_sym_BANG_EQ] = ACTIONS(138),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(138),
    [anon_sym_LT_EQ_GT] = ACTIONS(138),
    [anon_sym_EQ_TILDE] = ACTIONS(138),
    [anon_sym_BANG_TILDE] = ACTIONS(138),
    [anon_sym_LT_EQ] = ACTIONS(140),
    [anon_sym_GT] = ACTIONS(140),
    [anon_sym_GT_EQ] = ACTIONS(138),
    [anon_sym_CARET] = ACTIONS(140),
    [anon_sym_PLUS] = ACTIONS(140),
    [anon_sym_SLASH] = ACTIONS(140),
    [anon_sym_PERCENT] = ACTIONS(140),
    [sym_comment] = ACTIONS(256),
  },
  [2833] = {
    [sym__simple_heredoc_body] = ACTIONS(142),
    [sym__heredoc_body_beginning] = ACTIONS(142),
    [sym__heredoc_body_middle] = ACTIONS(142),
    [sym__heredoc_body_end] = ACTIONS(142),
    [sym__element_reference_left_bracket] = ACTIONS(142),
    [sym__scope_double_colon] = ACTIONS(142),
    [sym__binary_minus] = ACTIONS(142),
    [sym__binary_star] = ACTIONS(142),
    [anon_sym_LBRACE] = ACTIONS(142),
    [anon_sym_DOT] = ACTIONS(144),
    [anon_sym_COMMA] = ACTIONS(142),
    [anon_sym_PIPE] = ACTIONS(144),
    [anon_sym_STAR_STAR] = ACTIONS(144),
    [anon_sym_AMP] = ACTIONS(144),
    [anon_sym_EQ] = ACTIONS(144),
    [anon_sym_LT] = ACTIONS(144),
    [anon_sym_if] = ACTIONS(142),
    [anon_sym_unless] = ACTIONS(142),
    [anon_sym_while] = ACTIONS(142),
    [anon_sym_until] = ACTIONS(142),
    [anon_sym_rescue] = ACTIONS(142),
    [anon_sym_do] = ACTIONS(142),
    [anon_sym_EQ_GT] = ACTIONS(142),
    [anon_sym_AMP_DOT] = ACTIONS(142),
    [anon_sym_PLUS_EQ] = ACTIONS(142),
    [anon_sym_DASH_EQ] = ACTIONS(142),
    [anon_sym_STAR_EQ] = ACTIONS(142),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(142),
    [anon_sym_SLASH_EQ] = ACTIONS(142),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(142),
    [anon_sym_PIPE_EQ] = ACTIONS(142),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(142),
    [anon_sym_AMP_EQ] = ACTIONS(142),
    [anon_sym_PERCENT_EQ] = ACTIONS(142),
    [anon_sym_GT_GT_EQ] = ACTIONS(142),
    [anon_sym_LT_LT_EQ] = ACTIONS(142),
    [anon_sym_CARET_EQ] = ACTIONS(142),
    [anon_sym_QMARK] = ACTIONS(142),
    [anon_sym_DOT_DOT] = ACTIONS(144),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(142),
    [anon_sym_and] = ACTIONS(142),
    [anon_sym_or] = ACTIONS(142),
    [anon_sym_PIPE_PIPE] = ACTIONS(144),
    [anon_sym_AMP_AMP] = ACTIONS(144),
    [anon_sym_LT_LT] = ACTIONS(144),
    [anon_sym_GT_GT] = ACTIONS(144),
    [anon_sym_EQ_EQ] = ACTIONS(144),
    [anon_sym_BANG_EQ] = ACTIONS(142),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(142),
    [anon_sym_LT_EQ_GT] = ACTIONS(142),
    [anon_sym_EQ_TILDE] = ACTIONS(142),
    [anon_sym_BANG_TILDE] = ACTIONS(142),
    [anon_sym_LT_EQ] = ACTIONS(144),
    [anon_sym_GT] = ACTIONS(144),
    [anon_sym_GT_EQ] = ACTIONS(142),
    [anon_sym_CARET] = ACTIONS(144),
    [anon_sym_PLUS] = ACTIONS(144),
    [anon_sym_SLASH] = ACTIONS(144),
    [anon_sym_PERCENT] = ACTIONS(144),
    [sym_comment] = ACTIONS(256),
  },
  [2834] = {
    [sym__statement] = STATE(5764),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(5765),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [2835] = {
    [sym__statement] = STATE(5766),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(5767),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [2836] = {
    [sym__statement] = STATE(5768),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(5769),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [2837] = {
    [sym__statement] = STATE(5770),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(5771),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [2838] = {
    [sym__statement] = STATE(5772),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(5773),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [2839] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__heredoc_body_middle] = ACTIONS(250),
    [sym__heredoc_body_end] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [2840] = {
    [sym_method] = STATE(5784),
    [sym_singleton_method] = STATE(5784),
    [sym_class] = STATE(5784),
    [sym_singleton_class] = STATE(5784),
    [sym_module] = STATE(5784),
    [sym_return] = STATE(5784),
    [sym_yield] = STATE(5784),
    [sym_break] = STATE(5784),
    [sym_next] = STATE(5784),
    [sym_redo] = STATE(5784),
    [sym_retry] = STATE(5784),
    [sym_while] = STATE(5784),
    [sym_until] = STATE(5784),
    [sym_for] = STATE(5784),
    [sym_case] = STATE(5784),
    [sym_if] = STATE(5784),
    [sym_unless] = STATE(5784),
    [sym_begin] = STATE(5784),
    [sym__arg] = STATE(5811),
    [sym__primary] = STATE(5812),
    [sym_parenthesized_statements] = STATE(5784),
    [sym_element_reference] = STATE(5606),
    [sym_scope_resolution] = STATE(5813),
    [sym_call] = STATE(5813),
    [sym_method_call] = STATE(5606),
    [sym_assignment] = STATE(5814),
    [sym_operator_assignment] = STATE(5814),
    [sym_conditional] = STATE(5814),
    [sym_range] = STATE(5814),
    [sym_binary] = STATE(5814),
    [sym_unary] = STATE(5814),
    [sym_left_assignment_list] = STATE(5815),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5816),
    [sym__variable] = STATE(5813),
    [sym_symbol] = STATE(5784),
    [sym_complex] = STATE(5784),
    [sym_rational] = STATE(5784),
    [sym_super] = STATE(5598),
    [sym_true] = STATE(5606),
    [sym_false] = STATE(5606),
    [sym_self] = STATE(5598),
    [sym_nil] = STATE(5606),
    [sym_chained_string] = STATE(5784),
    [sym_string] = STATE(5817),
    [sym_subshell] = STATE(5784),
    [sym_array] = STATE(5784),
    [sym_hash] = STATE(5784),
    [sym_regex] = STATE(5784),
    [sym_lambda] = STATE(5784),
    [sym__simple_string] = ACTIONS(8084),
    [sym__simple_symbol] = ACTIONS(8086),
    [sym__simple_subshell] = ACTIONS(8088),
    [sym__simple_regex] = ACTIONS(8090),
    [sym__simple_word_list] = ACTIONS(8092),
    [sym__string_beginning] = ACTIONS(8094),
    [sym__symbol_beginning] = ACTIONS(8096),
    [sym__subshell_beginning] = ACTIONS(8098),
    [sym__regex_beginning] = ACTIONS(8100),
    [sym__word_list_beginning] = ACTIONS(8102),
    [sym_heredoc_beginning] = ACTIONS(8104),
    [sym__unary_minus] = ACTIONS(8106),
    [anon_sym_LBRACE] = ACTIONS(8108),
    [anon_sym_def] = ACTIONS(8110),
    [anon_sym_LPAREN] = ACTIONS(8112),
    [anon_sym_COLON_COLON] = ACTIONS(7876),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8114),
    [anon_sym_module] = ACTIONS(8116),
    [anon_sym_return] = ACTIONS(8118),
    [anon_sym_yield] = ACTIONS(8120),
    [anon_sym_break] = ACTIONS(8122),
    [anon_sym_next] = ACTIONS(8124),
    [anon_sym_redo] = ACTIONS(8126),
    [anon_sym_retry] = ACTIONS(8128),
    [anon_sym_if] = ACTIONS(8130),
    [anon_sym_unless] = ACTIONS(8132),
    [anon_sym_while] = ACTIONS(8134),
    [anon_sym_until] = ACTIONS(8136),
    [anon_sym_for] = ACTIONS(8138),
    [anon_sym_case] = ACTIONS(8140),
    [anon_sym_begin] = ACTIONS(8142),
    [anon_sym_PLUS] = ACTIONS(8144),
    [anon_sym_defined_QMARK] = ACTIONS(8146),
    [anon_sym_not] = ACTIONS(8148),
    [anon_sym_BANG] = ACTIONS(8150),
    [anon_sym_TILDE] = ACTIONS(8150),
    [sym_constant] = ACTIONS(7916),
    [sym_identifier] = ACTIONS(7916),
    [sym_instance_variable] = ACTIONS(7918),
    [sym_class_variable] = ACTIONS(7918),
    [sym_global_variable] = ACTIONS(7918),
    [anon_sym_false] = ACTIONS(7920),
    [anon_sym_nil] = ACTIONS(7922),
    [anon_sym_self] = ACTIONS(7924),
    [anon_sym_super] = ACTIONS(7926),
    [anon_sym_true] = ACTIONS(7928),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8152),
    [sym_float] = ACTIONS(8154),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8156),
    [anon_sym_TRUE] = ACTIONS(7928),
    [anon_sym_FALSE] = ACTIONS(7920),
    [anon_sym_NIL] = ACTIONS(7922),
    [sym_keyword__FILE__] = ACTIONS(8158),
    [sym_keyword__LINE__] = ACTIONS(8158),
    [sym_keyword__ENCODING__] = ACTIONS(8158),
    [sym__character_literal] = ACTIONS(8160),
    [anon_sym_LBRACK] = ACTIONS(8162),
    [anon_sym_DASH_GT] = ACTIONS(8164),
  },
  [2841] = {
    [sym_method] = STATE(5784),
    [sym_singleton_method] = STATE(5784),
    [sym_class] = STATE(5784),
    [sym_singleton_class] = STATE(5784),
    [sym_module] = STATE(5784),
    [sym_return] = STATE(5784),
    [sym_yield] = STATE(5784),
    [sym_break] = STATE(5784),
    [sym_next] = STATE(5784),
    [sym_redo] = STATE(5784),
    [sym_retry] = STATE(5784),
    [sym_while] = STATE(5784),
    [sym_until] = STATE(5784),
    [sym_for] = STATE(5784),
    [sym_case] = STATE(5784),
    [sym_if] = STATE(5784),
    [sym_unless] = STATE(5784),
    [sym_begin] = STATE(5784),
    [sym__arg] = STATE(5818),
    [sym__primary] = STATE(5812),
    [sym_parenthesized_statements] = STATE(5784),
    [sym_element_reference] = STATE(5606),
    [sym_scope_resolution] = STATE(5813),
    [sym_call] = STATE(5813),
    [sym_method_call] = STATE(5606),
    [sym_assignment] = STATE(5814),
    [sym_operator_assignment] = STATE(5814),
    [sym_conditional] = STATE(5814),
    [sym_range] = STATE(5814),
    [sym_binary] = STATE(5814),
    [sym_unary] = STATE(5814),
    [sym_left_assignment_list] = STATE(5815),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5816),
    [sym__variable] = STATE(5813),
    [sym_symbol] = STATE(5784),
    [sym_complex] = STATE(5784),
    [sym_rational] = STATE(5784),
    [sym_super] = STATE(5598),
    [sym_true] = STATE(5606),
    [sym_false] = STATE(5606),
    [sym_self] = STATE(5598),
    [sym_nil] = STATE(5606),
    [sym_chained_string] = STATE(5784),
    [sym_string] = STATE(5817),
    [sym_subshell] = STATE(5784),
    [sym_array] = STATE(5784),
    [sym_hash] = STATE(5784),
    [sym_regex] = STATE(5784),
    [sym_lambda] = STATE(5784),
    [sym__simple_string] = ACTIONS(8084),
    [sym__simple_symbol] = ACTIONS(8086),
    [sym__simple_subshell] = ACTIONS(8088),
    [sym__simple_regex] = ACTIONS(8090),
    [sym__simple_word_list] = ACTIONS(8092),
    [sym__string_beginning] = ACTIONS(8094),
    [sym__symbol_beginning] = ACTIONS(8096),
    [sym__subshell_beginning] = ACTIONS(8098),
    [sym__regex_beginning] = ACTIONS(8100),
    [sym__word_list_beginning] = ACTIONS(8102),
    [sym_heredoc_beginning] = ACTIONS(8104),
    [sym__unary_minus] = ACTIONS(8106),
    [anon_sym_LBRACE] = ACTIONS(8108),
    [anon_sym_def] = ACTIONS(8110),
    [anon_sym_LPAREN] = ACTIONS(8112),
    [anon_sym_COLON_COLON] = ACTIONS(7876),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8114),
    [anon_sym_module] = ACTIONS(8116),
    [anon_sym_return] = ACTIONS(8118),
    [anon_sym_yield] = ACTIONS(8120),
    [anon_sym_break] = ACTIONS(8122),
    [anon_sym_next] = ACTIONS(8124),
    [anon_sym_redo] = ACTIONS(8126),
    [anon_sym_retry] = ACTIONS(8128),
    [anon_sym_if] = ACTIONS(8130),
    [anon_sym_unless] = ACTIONS(8132),
    [anon_sym_while] = ACTIONS(8134),
    [anon_sym_until] = ACTIONS(8136),
    [anon_sym_for] = ACTIONS(8138),
    [anon_sym_case] = ACTIONS(8140),
    [anon_sym_begin] = ACTIONS(8142),
    [anon_sym_PLUS] = ACTIONS(8144),
    [anon_sym_defined_QMARK] = ACTIONS(8146),
    [anon_sym_not] = ACTIONS(8148),
    [anon_sym_BANG] = ACTIONS(8150),
    [anon_sym_TILDE] = ACTIONS(8150),
    [sym_constant] = ACTIONS(7916),
    [sym_identifier] = ACTIONS(7916),
    [sym_instance_variable] = ACTIONS(7918),
    [sym_class_variable] = ACTIONS(7918),
    [sym_global_variable] = ACTIONS(7918),
    [anon_sym_false] = ACTIONS(7920),
    [anon_sym_nil] = ACTIONS(7922),
    [anon_sym_self] = ACTIONS(7924),
    [anon_sym_super] = ACTIONS(7926),
    [anon_sym_true] = ACTIONS(7928),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8152),
    [sym_float] = ACTIONS(8154),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8156),
    [anon_sym_TRUE] = ACTIONS(7928),
    [anon_sym_FALSE] = ACTIONS(7920),
    [anon_sym_NIL] = ACTIONS(7922),
    [sym_keyword__FILE__] = ACTIONS(8158),
    [sym_keyword__LINE__] = ACTIONS(8158),
    [sym_keyword__ENCODING__] = ACTIONS(8158),
    [sym__character_literal] = ACTIONS(8160),
    [anon_sym_LBRACK] = ACTIONS(8162),
    [anon_sym_DASH_GT] = ACTIONS(8164),
  },
  [2842] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1382),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(5820),
    [sym__argument] = STATE(1385),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1386),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1387),
    [sym__variable] = STATE(1383),
    [sym_reserved_identifier] = STATE(1388),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1389),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(5821),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(2154),
    [sym__splat_star] = ACTIONS(2156),
    [sym__unary_minus] = ACTIONS(2158),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(8166),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2162),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2164),
    [anon_sym_yield] = ACTIONS(2166),
    [anon_sym_break] = ACTIONS(2168),
    [anon_sym_next] = ACTIONS(2170),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2172),
    [anon_sym_defined_QMARK] = ACTIONS(2174),
    [anon_sym_not] = ACTIONS(2176),
    [anon_sym_BANG] = ACTIONS(2178),
    [anon_sym_TILDE] = ACTIONS(2178),
    [sym_constant] = ACTIONS(2180),
    [sym_identifier] = ACTIONS(2180),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2843] = {
    [sym_method] = STATE(2839),
    [sym_singleton_method] = STATE(2839),
    [sym_class] = STATE(2839),
    [sym_singleton_class] = STATE(2839),
    [sym_module] = STATE(2839),
    [sym_return] = STATE(2839),
    [sym_yield] = STATE(2839),
    [sym_break] = STATE(2839),
    [sym_next] = STATE(2839),
    [sym_redo] = STATE(2839),
    [sym_retry] = STATE(2839),
    [sym_while] = STATE(2839),
    [sym_until] = STATE(2839),
    [sym_for] = STATE(2839),
    [sym_case] = STATE(2839),
    [sym_if] = STATE(2839),
    [sym_unless] = STATE(2839),
    [sym_begin] = STATE(2839),
    [sym__arg] = STATE(5841),
    [sym__primary] = STATE(2874),
    [sym_parenthesized_statements] = STATE(2839),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2875),
    [sym_call] = STATE(2875),
    [sym_method_call] = STATE(2764),
    [sym_assignment] = STATE(2881),
    [sym_operator_assignment] = STATE(2881),
    [sym_conditional] = STATE(2881),
    [sym_range] = STATE(2881),
    [sym_binary] = STATE(2881),
    [sym_unary] = STATE(2881),
    [sym_left_assignment_list] = STATE(2882),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2883),
    [sym__variable] = STATE(2875),
    [sym_symbol] = STATE(2839),
    [sym_complex] = STATE(2839),
    [sym_rational] = STATE(2839),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2839),
    [sym_string] = STATE(5842),
    [sym_subshell] = STATE(2839),
    [sym_array] = STATE(2839),
    [sym_hash] = STATE(2839),
    [sym_regex] = STATE(2839),
    [sym_lambda] = STATE(2839),
    [sym__simple_string] = ACTIONS(8168),
    [sym__simple_symbol] = ACTIONS(4164),
    [sym__simple_subshell] = ACTIONS(4166),
    [sym__simple_regex] = ACTIONS(4168),
    [sym__simple_word_list] = ACTIONS(4170),
    [sym__string_beginning] = ACTIONS(8170),
    [sym__symbol_beginning] = ACTIONS(4174),
    [sym__subshell_beginning] = ACTIONS(4176),
    [sym__regex_beginning] = ACTIONS(4178),
    [sym__word_list_beginning] = ACTIONS(4180),
    [sym_heredoc_beginning] = ACTIONS(4182),
    [sym__unary_minus] = ACTIONS(4190),
    [anon_sym_LBRACE] = ACTIONS(8172),
    [anon_sym_def] = ACTIONS(8174),
    [anon_sym_LPAREN] = ACTIONS(4196),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8176),
    [anon_sym_module] = ACTIONS(8178),
    [anon_sym_return] = ACTIONS(8180),
    [anon_sym_yield] = ACTIONS(8182),
    [anon_sym_break] = ACTIONS(8184),
    [anon_sym_next] = ACTIONS(8186),
    [anon_sym_redo] = ACTIONS(8188),
    [anon_sym_retry] = ACTIONS(8190),
    [anon_sym_if] = ACTIONS(8192),
    [anon_sym_unless] = ACTIONS(8194),
    [anon_sym_while] = ACTIONS(8196),
    [anon_sym_until] = ACTIONS(8198),
    [anon_sym_for] = ACTIONS(8200),
    [anon_sym_case] = ACTIONS(8202),
    [anon_sym_begin] = ACTIONS(8204),
    [anon_sym_PLUS] = ACTIONS(8206),
    [anon_sym_defined_QMARK] = ACTIONS(4222),
    [anon_sym_not] = ACTIONS(8208),
    [anon_sym_BANG] = ACTIONS(4228),
    [anon_sym_TILDE] = ACTIONS(4228),
    [sym_constant] = ACTIONS(7946),
    [sym_identifier] = ACTIONS(7946),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_false] = ACTIONS(4074),
    [anon_sym_nil] = ACTIONS(4076),
    [anon_sym_self] = ACTIONS(7948),
    [anon_sym_super] = ACTIONS(7950),
    [anon_sym_true] = ACTIONS(4072),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4232),
    [sym_float] = ACTIONS(4234),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4236),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4238),
    [sym_keyword__LINE__] = ACTIONS(4238),
    [sym_keyword__ENCODING__] = ACTIONS(4238),
    [sym__character_literal] = ACTIONS(8210),
    [anon_sym_LBRACK] = ACTIONS(4242),
    [anon_sym_DASH_GT] = ACTIONS(4244),
  },
  [2844] = {
    [sym__statements] = STATE(5844),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(5845),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2128),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_hash_splat_argument] = STATE(197),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(2130),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2131),
    [sym__variable] = STATE(2129),
    [sym_reserved_identifier] = STATE(201),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(2132),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(5846),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym__hash_items] = STATE(5847),
    [sym_pair] = STATE(205),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3268),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(8212),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_PIPE] = ACTIONS(3048),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(302),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(3272),
    [anon_sym_yield] = ACTIONS(3274),
    [anon_sym_break] = ACTIONS(3276),
    [anon_sym_next] = ACTIONS(3278),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(3280),
    [anon_sym_defined_QMARK] = ACTIONS(3282),
    [anon_sym_not] = ACTIONS(3284),
    [anon_sym_BANG] = ACTIONS(3286),
    [anon_sym_TILDE] = ACTIONS(3286),
    [sym_constant] = ACTIONS(3288),
    [sym_identifier] = ACTIONS(3288),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(3290),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(3292),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2845] = {
    [sym__method_rest] = STATE(5849),
    [sym__variable] = STATE(5850),
    [sym_operator] = STATE(217),
    [sym__method_name] = STATE(5851),
    [sym_setter] = STATE(217),
    [sym_symbol] = STATE(217),
    [sym_super] = STATE(219),
    [sym_self] = STATE(219),
    [sym__simple_symbol] = ACTIONS(378),
    [sym__symbol_beginning] = ACTIONS(380),
    [sym__keyword_colon] = ACTIONS(1556),
    [anon_sym_LPAREN] = ACTIONS(8214),
    [anon_sym_PIPE] = ACTIONS(384),
    [anon_sym_STAR] = ACTIONS(386),
    [anon_sym_STAR_STAR] = ACTIONS(384),
    [anon_sym_AMP] = ACTIONS(384),
    [anon_sym_LT] = ACTIONS(386),
    [anon_sym_DOT_DOT] = ACTIONS(384),
    [anon_sym_LT_LT] = ACTIONS(384),
    [anon_sym_GT_GT] = ACTIONS(384),
    [anon_sym_EQ_EQ] = ACTIONS(386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(384),
    [anon_sym_LT_EQ_GT] = ACTIONS(384),
    [anon_sym_EQ_TILDE] = ACTIONS(384),
    [anon_sym_BANG_TILDE] = ACTIONS(384),
    [anon_sym_LT_EQ] = ACTIONS(386),
    [anon_sym_GT] = ACTIONS(386),
    [anon_sym_GT_EQ] = ACTIONS(384),
    [anon_sym_CARET] = ACTIONS(384),
    [anon_sym_PLUS] = ACTIONS(386),
    [anon_sym_SLASH] = ACTIONS(384),
    [anon_sym_PERCENT] = ACTIONS(384),
    [anon_sym_BANG] = ACTIONS(386),
    [anon_sym_TILDE] = ACTIONS(384),
    [sym_constant] = ACTIONS(388),
    [sym_identifier] = ACTIONS(390),
    [sym_instance_variable] = ACTIONS(388),
    [sym_class_variable] = ACTIONS(388),
    [sym_global_variable] = ACTIONS(388),
    [anon_sym_self] = ACTIONS(392),
    [anon_sym_super] = ACTIONS(394),
    [anon_sym_DASH] = ACTIONS(386),
    [anon_sym_PLUS_AT] = ACTIONS(384),
    [anon_sym_DASH_AT] = ACTIONS(384),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(386),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(384),
    [anon_sym_BQUOTE] = ACTIONS(384),
    [sym_comment] = ACTIONS(110),
  },
  [2846] = {
    [sym__statements] = STATE(5853),
    [sym__top_level_statement] = STATE(235),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(236),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(237),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(240),
    [sym__mlhs] = STATE(241),
    [sym__simple_mlhs] = STATE(242),
    [sym_destructured_left_assignment] = STATE(242),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(243),
    [sym__variable] = STATE(239),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(396),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_RPAREN] = ACTIONS(8216),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(402),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(412),
    [anon_sym_defined_QMARK] = ACTIONS(414),
    [anon_sym_not] = ACTIONS(416),
    [anon_sym_BANG] = ACTIONS(418),
    [anon_sym_TILDE] = ACTIONS(418),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2847] = {
    [sym_method] = STATE(5784),
    [sym_singleton_method] = STATE(5784),
    [sym_class] = STATE(5784),
    [sym_singleton_class] = STATE(5784),
    [sym_module] = STATE(5784),
    [sym_return] = STATE(5784),
    [sym_yield] = STATE(5784),
    [sym_break] = STATE(5784),
    [sym_next] = STATE(5784),
    [sym_redo] = STATE(5784),
    [sym_retry] = STATE(5784),
    [sym_while] = STATE(5784),
    [sym_until] = STATE(5784),
    [sym_for] = STATE(5784),
    [sym_case] = STATE(5784),
    [sym_if] = STATE(5784),
    [sym_unless] = STATE(5784),
    [sym_begin] = STATE(5784),
    [sym__arg] = STATE(5854),
    [sym__primary] = STATE(5812),
    [sym_parenthesized_statements] = STATE(5784),
    [sym_element_reference] = STATE(5606),
    [sym_scope_resolution] = STATE(5813),
    [sym_call] = STATE(5813),
    [sym_method_call] = STATE(5606),
    [sym_assignment] = STATE(5814),
    [sym_operator_assignment] = STATE(5814),
    [sym_conditional] = STATE(5814),
    [sym_range] = STATE(5814),
    [sym_binary] = STATE(5814),
    [sym_unary] = STATE(5814),
    [sym_left_assignment_list] = STATE(5815),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5816),
    [sym__variable] = STATE(5813),
    [sym_symbol] = STATE(5784),
    [sym_complex] = STATE(5784),
    [sym_rational] = STATE(5784),
    [sym_super] = STATE(5598),
    [sym_true] = STATE(5606),
    [sym_false] = STATE(5606),
    [sym_self] = STATE(5598),
    [sym_nil] = STATE(5606),
    [sym_chained_string] = STATE(5784),
    [sym_string] = STATE(5817),
    [sym_subshell] = STATE(5784),
    [sym_array] = STATE(5784),
    [sym_hash] = STATE(5784),
    [sym_regex] = STATE(5784),
    [sym_lambda] = STATE(5784),
    [sym__simple_string] = ACTIONS(8084),
    [sym__simple_symbol] = ACTIONS(8086),
    [sym__simple_subshell] = ACTIONS(8088),
    [sym__simple_regex] = ACTIONS(8090),
    [sym__simple_word_list] = ACTIONS(8092),
    [sym__string_beginning] = ACTIONS(8094),
    [sym__symbol_beginning] = ACTIONS(8096),
    [sym__subshell_beginning] = ACTIONS(8098),
    [sym__regex_beginning] = ACTIONS(8100),
    [sym__word_list_beginning] = ACTIONS(8102),
    [sym_heredoc_beginning] = ACTIONS(8104),
    [sym__unary_minus] = ACTIONS(8106),
    [anon_sym_LBRACE] = ACTIONS(8108),
    [anon_sym_def] = ACTIONS(8110),
    [anon_sym_LPAREN] = ACTIONS(8112),
    [anon_sym_COLON_COLON] = ACTIONS(7876),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8114),
    [anon_sym_module] = ACTIONS(8116),
    [anon_sym_return] = ACTIONS(8118),
    [anon_sym_yield] = ACTIONS(8120),
    [anon_sym_break] = ACTIONS(8122),
    [anon_sym_next] = ACTIONS(8124),
    [anon_sym_redo] = ACTIONS(8126),
    [anon_sym_retry] = ACTIONS(8128),
    [anon_sym_if] = ACTIONS(8130),
    [anon_sym_unless] = ACTIONS(8132),
    [anon_sym_while] = ACTIONS(8134),
    [anon_sym_until] = ACTIONS(8136),
    [anon_sym_for] = ACTIONS(8138),
    [anon_sym_case] = ACTIONS(8140),
    [anon_sym_begin] = ACTIONS(8142),
    [anon_sym_PLUS] = ACTIONS(8144),
    [anon_sym_defined_QMARK] = ACTIONS(8146),
    [anon_sym_not] = ACTIONS(8148),
    [anon_sym_BANG] = ACTIONS(8150),
    [anon_sym_TILDE] = ACTIONS(8150),
    [sym_constant] = ACTIONS(7916),
    [sym_identifier] = ACTIONS(7916),
    [sym_instance_variable] = ACTIONS(7918),
    [sym_class_variable] = ACTIONS(7918),
    [sym_global_variable] = ACTIONS(7918),
    [anon_sym_false] = ACTIONS(7920),
    [anon_sym_nil] = ACTIONS(7922),
    [anon_sym_self] = ACTIONS(7924),
    [anon_sym_super] = ACTIONS(7926),
    [anon_sym_true] = ACTIONS(7928),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8152),
    [sym_float] = ACTIONS(8154),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8156),
    [anon_sym_TRUE] = ACTIONS(7928),
    [anon_sym_FALSE] = ACTIONS(7920),
    [anon_sym_NIL] = ACTIONS(7922),
    [sym_keyword__FILE__] = ACTIONS(8158),
    [sym_keyword__LINE__] = ACTIONS(8158),
    [sym_keyword__ENCODING__] = ACTIONS(8158),
    [sym__character_literal] = ACTIONS(8160),
    [anon_sym_LBRACK] = ACTIONS(8162),
    [anon_sym_DASH_GT] = ACTIONS(8164),
  },
  [2848] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(293),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(5857),
    [sym_call] = STATE(295),
    [sym_method_call] = STATE(286),
    [sym__lhs] = STATE(255),
    [sym__variable] = STATE(295),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__singleton_class_left_angle_left_langle] = ACTIONS(8218),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(458),
    [anon_sym_COLON_COLON] = ACTIONS(524),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(8220),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [2849] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(293),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(5859),
    [sym_call] = STATE(295),
    [sym_method_call] = STATE(286),
    [sym__lhs] = STATE(255),
    [sym__variable] = STATE(295),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [sym__keyword_colon] = ACTIONS(1556),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(458),
    [anon_sym_COLON_COLON] = ACTIONS(524),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(8222),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [2850] = {
    [sym_method] = STATE(2839),
    [sym_singleton_method] = STATE(2839),
    [sym_class] = STATE(2839),
    [sym_singleton_class] = STATE(2839),
    [sym_module] = STATE(2839),
    [sym_return] = STATE(2839),
    [sym_yield] = STATE(2839),
    [sym_break] = STATE(2839),
    [sym_next] = STATE(2839),
    [sym_redo] = STATE(2839),
    [sym_retry] = STATE(2839),
    [sym_while] = STATE(2839),
    [sym_until] = STATE(2839),
    [sym_for] = STATE(2839),
    [sym_case] = STATE(2839),
    [sym_if] = STATE(2839),
    [sym_unless] = STATE(2839),
    [sym_begin] = STATE(2839),
    [sym__arg] = STATE(5695),
    [sym__primary] = STATE(2874),
    [sym_parenthesized_statements] = STATE(2839),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2875),
    [sym_call] = STATE(2875),
    [sym_method_call] = STATE(2764),
    [sym_argument_list] = STATE(5860),
    [sym__argument_list_with_parens] = STATE(5697),
    [sym__argument] = STATE(5698),
    [sym_splat_argument] = STATE(5699),
    [sym_hash_splat_argument] = STATE(5699),
    [sym_block_argument] = STATE(5699),
    [sym_assignment] = STATE(2881),
    [sym_operator_assignment] = STATE(2881),
    [sym_conditional] = STATE(2881),
    [sym_range] = STATE(2881),
    [sym_binary] = STATE(2881),
    [sym_unary] = STATE(2881),
    [sym_left_assignment_list] = STATE(2882),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2883),
    [sym__variable] = STATE(2875),
    [sym_reserved_identifier] = STATE(5701),
    [sym_symbol] = STATE(2839),
    [sym_complex] = STATE(2839),
    [sym_rational] = STATE(2839),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2839),
    [sym_string] = STATE(5702),
    [sym_subshell] = STATE(2839),
    [sym_array] = STATE(2839),
    [sym_hash] = STATE(2839),
    [sym_pair] = STATE(5699),
    [sym_regex] = STATE(2839),
    [sym_lambda] = STATE(2839),
    [sym__simple_string] = ACTIONS(4162),
    [sym__simple_symbol] = ACTIONS(4164),
    [sym__simple_subshell] = ACTIONS(4166),
    [sym__simple_regex] = ACTIONS(4168),
    [sym__simple_word_list] = ACTIONS(4170),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(4172),
    [sym__symbol_beginning] = ACTIONS(4174),
    [sym__subshell_beginning] = ACTIONS(4176),
    [sym__regex_beginning] = ACTIONS(4178),
    [sym__word_list_beginning] = ACTIONS(4180),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym__heredoc_body_middle] = ACTIONS(532),
    [sym__heredoc_body_end] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(4182),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(8022),
    [sym__splat_star] = ACTIONS(8024),
    [sym__argument_list_left_paren] = ACTIONS(8026),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(4190),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(4194),
    [anon_sym_LPAREN] = ACTIONS(4196),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(544),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(4198),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(4200),
    [anon_sym_return] = ACTIONS(4202),
    [anon_sym_yield] = ACTIONS(4204),
    [anon_sym_break] = ACTIONS(4206),
    [anon_sym_next] = ACTIONS(4208),
    [anon_sym_redo] = ACTIONS(4210),
    [anon_sym_retry] = ACTIONS(4212),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(4214),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(4218),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(4220),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_PLUS_EQ] = ACTIONS(532),
    [anon_sym_DASH_EQ] = ACTIONS(532),
    [anon_sym_STAR_EQ] = ACTIONS(532),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(532),
    [anon_sym_SLASH_EQ] = ACTIONS(532),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(532),
    [anon_sym_PIPE_EQ] = ACTIONS(532),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(532),
    [anon_sym_AMP_EQ] = ACTIONS(532),
    [anon_sym_PERCENT_EQ] = ACTIONS(532),
    [anon_sym_GT_GT_EQ] = ACTIONS(532),
    [anon_sym_LT_LT_EQ] = ACTIONS(532),
    [anon_sym_CARET_EQ] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(544),
    [anon_sym_AMP_AMP] = ACTIONS(544),
    [anon_sym_LT_LT] = ACTIONS(544),
    [anon_sym_GT_GT] = ACTIONS(544),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(544),
    [anon_sym_PERCENT] = ACTIONS(544),
    [anon_sym_defined_QMARK] = ACTIONS(4222),
    [anon_sym_not] = ACTIONS(4224),
    [anon_sym_BANG] = ACTIONS(4226),
    [anon_sym_TILDE] = ACTIONS(4228),
    [sym_constant] = ACTIONS(8032),
    [sym_identifier] = ACTIONS(8032),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(4056),
    [anon_sym_nil] = ACTIONS(4058),
    [anon_sym_self] = ACTIONS(4060),
    [anon_sym_super] = ACTIONS(4062),
    [anon_sym_true] = ACTIONS(4064),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(4232),
    [sym_float] = ACTIONS(4234),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4236),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4238),
    [sym_keyword__LINE__] = ACTIONS(4238),
    [sym_keyword__ENCODING__] = ACTIONS(4238),
    [sym__character_literal] = ACTIONS(4240),
    [anon_sym_LBRACK] = ACTIONS(4242),
    [anon_sym_DASH_GT] = ACTIONS(4244),
  },
  [2851] = {
    [sym_method] = STATE(2839),
    [sym_singleton_method] = STATE(2839),
    [sym_class] = STATE(2839),
    [sym_singleton_class] = STATE(2839),
    [sym_module] = STATE(2839),
    [sym_return] = STATE(2839),
    [sym_yield] = STATE(2839),
    [sym_break] = STATE(2839),
    [sym_next] = STATE(2839),
    [sym_redo] = STATE(2839),
    [sym_retry] = STATE(2839),
    [sym_while] = STATE(2839),
    [sym_until] = STATE(2839),
    [sym_for] = STATE(2839),
    [sym_case] = STATE(2839),
    [sym_if] = STATE(2839),
    [sym_unless] = STATE(2839),
    [sym_begin] = STATE(2839),
    [sym__arg] = STATE(5695),
    [sym__primary] = STATE(2874),
    [sym_parenthesized_statements] = STATE(2839),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2875),
    [sym_call] = STATE(2875),
    [sym_method_call] = STATE(2764),
    [sym_argument_list] = STATE(5861),
    [sym__argument_list_with_parens] = STATE(5697),
    [sym__argument] = STATE(5698),
    [sym_splat_argument] = STATE(5699),
    [sym_hash_splat_argument] = STATE(5699),
    [sym_block_argument] = STATE(5699),
    [sym_assignment] = STATE(2881),
    [sym_operator_assignment] = STATE(2881),
    [sym_conditional] = STATE(2881),
    [sym_range] = STATE(2881),
    [sym_binary] = STATE(2881),
    [sym_unary] = STATE(2881),
    [sym_left_assignment_list] = STATE(2882),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2883),
    [sym__variable] = STATE(2875),
    [sym_reserved_identifier] = STATE(5701),
    [sym_symbol] = STATE(2839),
    [sym_complex] = STATE(2839),
    [sym_rational] = STATE(2839),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2839),
    [sym_string] = STATE(5702),
    [sym_subshell] = STATE(2839),
    [sym_array] = STATE(2839),
    [sym_hash] = STATE(2839),
    [sym_pair] = STATE(5699),
    [sym_regex] = STATE(2839),
    [sym_lambda] = STATE(2839),
    [sym__simple_string] = ACTIONS(4162),
    [sym__simple_symbol] = ACTIONS(4164),
    [sym__simple_subshell] = ACTIONS(4166),
    [sym__simple_regex] = ACTIONS(4168),
    [sym__simple_word_list] = ACTIONS(4170),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(4172),
    [sym__symbol_beginning] = ACTIONS(4174),
    [sym__subshell_beginning] = ACTIONS(4176),
    [sym__regex_beginning] = ACTIONS(4178),
    [sym__word_list_beginning] = ACTIONS(4180),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym__heredoc_body_middle] = ACTIONS(602),
    [sym__heredoc_body_end] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(4182),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(8022),
    [sym__splat_star] = ACTIONS(8024),
    [sym__argument_list_left_paren] = ACTIONS(8026),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(4190),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(4194),
    [anon_sym_LPAREN] = ACTIONS(4196),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(604),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(4198),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(4200),
    [anon_sym_return] = ACTIONS(4202),
    [anon_sym_yield] = ACTIONS(4204),
    [anon_sym_break] = ACTIONS(4206),
    [anon_sym_next] = ACTIONS(4208),
    [anon_sym_redo] = ACTIONS(4210),
    [anon_sym_retry] = ACTIONS(4212),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(4214),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(4218),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(4220),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_PLUS_EQ] = ACTIONS(602),
    [anon_sym_DASH_EQ] = ACTIONS(602),
    [anon_sym_STAR_EQ] = ACTIONS(602),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(602),
    [anon_sym_SLASH_EQ] = ACTIONS(602),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(602),
    [anon_sym_PIPE_EQ] = ACTIONS(602),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(602),
    [anon_sym_AMP_EQ] = ACTIONS(602),
    [anon_sym_PERCENT_EQ] = ACTIONS(602),
    [anon_sym_GT_GT_EQ] = ACTIONS(602),
    [anon_sym_LT_LT_EQ] = ACTIONS(602),
    [anon_sym_CARET_EQ] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(604),
    [anon_sym_AMP_AMP] = ACTIONS(604),
    [anon_sym_LT_LT] = ACTIONS(604),
    [anon_sym_GT_GT] = ACTIONS(604),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(604),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(604),
    [anon_sym_PERCENT] = ACTIONS(604),
    [anon_sym_defined_QMARK] = ACTIONS(4222),
    [anon_sym_not] = ACTIONS(4224),
    [anon_sym_BANG] = ACTIONS(4226),
    [anon_sym_TILDE] = ACTIONS(4228),
    [sym_constant] = ACTIONS(8032),
    [sym_identifier] = ACTIONS(8032),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(4056),
    [anon_sym_nil] = ACTIONS(4058),
    [anon_sym_self] = ACTIONS(4060),
    [anon_sym_super] = ACTIONS(4062),
    [anon_sym_true] = ACTIONS(4064),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(4232),
    [sym_float] = ACTIONS(4234),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4236),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4238),
    [sym_keyword__LINE__] = ACTIONS(4238),
    [sym_keyword__ENCODING__] = ACTIONS(4238),
    [sym__character_literal] = ACTIONS(4240),
    [anon_sym_LBRACK] = ACTIONS(4242),
    [anon_sym_DASH_GT] = ACTIONS(4244),
  },
  [2852] = {
    [sym_method] = STATE(2839),
    [sym_singleton_method] = STATE(2839),
    [sym_class] = STATE(2839),
    [sym_singleton_class] = STATE(2839),
    [sym_module] = STATE(2839),
    [sym_return] = STATE(2839),
    [sym_yield] = STATE(2839),
    [sym_break] = STATE(2839),
    [sym_next] = STATE(2839),
    [sym_redo] = STATE(2839),
    [sym_retry] = STATE(2839),
    [sym_while] = STATE(2839),
    [sym_until] = STATE(2839),
    [sym_for] = STATE(2839),
    [sym_case] = STATE(2839),
    [sym_if] = STATE(2839),
    [sym_unless] = STATE(2839),
    [sym_begin] = STATE(2839),
    [sym__arg] = STATE(5695),
    [sym__primary] = STATE(2874),
    [sym_parenthesized_statements] = STATE(2839),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2875),
    [sym_call] = STATE(2875),
    [sym_method_call] = STATE(2764),
    [sym_argument_list] = STATE(5862),
    [sym__argument_list_with_parens] = STATE(5697),
    [sym__argument] = STATE(5698),
    [sym_splat_argument] = STATE(5699),
    [sym_hash_splat_argument] = STATE(5699),
    [sym_block_argument] = STATE(5699),
    [sym_assignment] = STATE(2881),
    [sym_operator_assignment] = STATE(2881),
    [sym_conditional] = STATE(2881),
    [sym_range] = STATE(2881),
    [sym_binary] = STATE(2881),
    [sym_unary] = STATE(2881),
    [sym_left_assignment_list] = STATE(2882),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2883),
    [sym__variable] = STATE(2875),
    [sym_reserved_identifier] = STATE(5701),
    [sym_symbol] = STATE(2839),
    [sym_complex] = STATE(2839),
    [sym_rational] = STATE(2839),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2839),
    [sym_string] = STATE(5702),
    [sym_subshell] = STATE(2839),
    [sym_array] = STATE(2839),
    [sym_hash] = STATE(2839),
    [sym_pair] = STATE(5699),
    [sym_regex] = STATE(2839),
    [sym_lambda] = STATE(2839),
    [sym__simple_string] = ACTIONS(4162),
    [sym__simple_symbol] = ACTIONS(4164),
    [sym__simple_subshell] = ACTIONS(4166),
    [sym__simple_regex] = ACTIONS(4168),
    [sym__simple_word_list] = ACTIONS(4170),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(4172),
    [sym__symbol_beginning] = ACTIONS(4174),
    [sym__subshell_beginning] = ACTIONS(4176),
    [sym__regex_beginning] = ACTIONS(4178),
    [sym__word_list_beginning] = ACTIONS(4180),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym__heredoc_body_middle] = ACTIONS(606),
    [sym__heredoc_body_end] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(4182),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(8022),
    [sym__splat_star] = ACTIONS(8024),
    [sym__argument_list_left_paren] = ACTIONS(8026),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(4190),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(4194),
    [anon_sym_LPAREN] = ACTIONS(4196),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(608),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(4198),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(4200),
    [anon_sym_return] = ACTIONS(4202),
    [anon_sym_yield] = ACTIONS(4204),
    [anon_sym_break] = ACTIONS(4206),
    [anon_sym_next] = ACTIONS(4208),
    [anon_sym_redo] = ACTIONS(4210),
    [anon_sym_retry] = ACTIONS(4212),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(4214),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(4218),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(4220),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_PLUS_EQ] = ACTIONS(606),
    [anon_sym_DASH_EQ] = ACTIONS(606),
    [anon_sym_STAR_EQ] = ACTIONS(606),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(606),
    [anon_sym_SLASH_EQ] = ACTIONS(606),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(606),
    [anon_sym_PIPE_EQ] = ACTIONS(606),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(606),
    [anon_sym_AMP_EQ] = ACTIONS(606),
    [anon_sym_PERCENT_EQ] = ACTIONS(606),
    [anon_sym_GT_GT_EQ] = ACTIONS(606),
    [anon_sym_LT_LT_EQ] = ACTIONS(606),
    [anon_sym_CARET_EQ] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(608),
    [anon_sym_AMP_AMP] = ACTIONS(608),
    [anon_sym_LT_LT] = ACTIONS(608),
    [anon_sym_GT_GT] = ACTIONS(608),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(608),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(608),
    [anon_sym_PERCENT] = ACTIONS(608),
    [anon_sym_defined_QMARK] = ACTIONS(4222),
    [anon_sym_not] = ACTIONS(4224),
    [anon_sym_BANG] = ACTIONS(4226),
    [anon_sym_TILDE] = ACTIONS(4228),
    [sym_constant] = ACTIONS(8032),
    [sym_identifier] = ACTIONS(8032),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(4056),
    [anon_sym_nil] = ACTIONS(4058),
    [anon_sym_self] = ACTIONS(4060),
    [anon_sym_super] = ACTIONS(4062),
    [anon_sym_true] = ACTIONS(4064),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(4232),
    [sym_float] = ACTIONS(4234),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4236),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4238),
    [sym_keyword__LINE__] = ACTIONS(4238),
    [sym_keyword__ENCODING__] = ACTIONS(4238),
    [sym__character_literal] = ACTIONS(4240),
    [anon_sym_LBRACK] = ACTIONS(4242),
    [anon_sym_DASH_GT] = ACTIONS(4244),
  },
  [2853] = {
    [sym_method] = STATE(2839),
    [sym_singleton_method] = STATE(2839),
    [sym_class] = STATE(2839),
    [sym_singleton_class] = STATE(2839),
    [sym_module] = STATE(2839),
    [sym_return] = STATE(2839),
    [sym_yield] = STATE(2839),
    [sym_break] = STATE(2839),
    [sym_next] = STATE(2839),
    [sym_redo] = STATE(2839),
    [sym_retry] = STATE(2839),
    [sym_while] = STATE(2839),
    [sym_until] = STATE(2839),
    [sym_for] = STATE(2839),
    [sym_case] = STATE(2839),
    [sym_if] = STATE(2839),
    [sym_unless] = STATE(2839),
    [sym_begin] = STATE(2839),
    [sym__arg] = STATE(5695),
    [sym__primary] = STATE(2874),
    [sym_parenthesized_statements] = STATE(2839),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2875),
    [sym_call] = STATE(2875),
    [sym_method_call] = STATE(2764),
    [sym_argument_list] = STATE(5863),
    [sym__argument_list_with_parens] = STATE(5697),
    [sym__argument] = STATE(5698),
    [sym_splat_argument] = STATE(5699),
    [sym_hash_splat_argument] = STATE(5699),
    [sym_block_argument] = STATE(5699),
    [sym_assignment] = STATE(2881),
    [sym_operator_assignment] = STATE(2881),
    [sym_conditional] = STATE(2881),
    [sym_range] = STATE(2881),
    [sym_binary] = STATE(2881),
    [sym_unary] = STATE(2881),
    [sym_left_assignment_list] = STATE(2882),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2883),
    [sym__variable] = STATE(2875),
    [sym_reserved_identifier] = STATE(5701),
    [sym_symbol] = STATE(2839),
    [sym_complex] = STATE(2839),
    [sym_rational] = STATE(2839),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2839),
    [sym_string] = STATE(5702),
    [sym_subshell] = STATE(2839),
    [sym_array] = STATE(2839),
    [sym_hash] = STATE(2839),
    [sym_pair] = STATE(5699),
    [sym_regex] = STATE(2839),
    [sym_lambda] = STATE(2839),
    [sym__simple_string] = ACTIONS(4162),
    [sym__simple_symbol] = ACTIONS(4164),
    [sym__simple_subshell] = ACTIONS(4166),
    [sym__simple_regex] = ACTIONS(4168),
    [sym__simple_word_list] = ACTIONS(4170),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(4172),
    [sym__symbol_beginning] = ACTIONS(4174),
    [sym__subshell_beginning] = ACTIONS(4176),
    [sym__regex_beginning] = ACTIONS(4178),
    [sym__word_list_beginning] = ACTIONS(4180),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym__heredoc_body_middle] = ACTIONS(610),
    [sym__heredoc_body_end] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(4182),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(8022),
    [sym__splat_star] = ACTIONS(8024),
    [sym__argument_list_left_paren] = ACTIONS(8026),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(4190),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(4194),
    [anon_sym_LPAREN] = ACTIONS(4196),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(612),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(4198),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(4200),
    [anon_sym_return] = ACTIONS(4202),
    [anon_sym_yield] = ACTIONS(4204),
    [anon_sym_break] = ACTIONS(4206),
    [anon_sym_next] = ACTIONS(4208),
    [anon_sym_redo] = ACTIONS(4210),
    [anon_sym_retry] = ACTIONS(4212),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(4214),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(4218),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(4220),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_PLUS_EQ] = ACTIONS(610),
    [anon_sym_DASH_EQ] = ACTIONS(610),
    [anon_sym_STAR_EQ] = ACTIONS(610),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(610),
    [anon_sym_SLASH_EQ] = ACTIONS(610),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(610),
    [anon_sym_PIPE_EQ] = ACTIONS(610),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(610),
    [anon_sym_AMP_EQ] = ACTIONS(610),
    [anon_sym_PERCENT_EQ] = ACTIONS(610),
    [anon_sym_GT_GT_EQ] = ACTIONS(610),
    [anon_sym_LT_LT_EQ] = ACTIONS(610),
    [anon_sym_CARET_EQ] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(612),
    [anon_sym_AMP_AMP] = ACTIONS(612),
    [anon_sym_LT_LT] = ACTIONS(612),
    [anon_sym_GT_GT] = ACTIONS(612),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(612),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(612),
    [anon_sym_PERCENT] = ACTIONS(612),
    [anon_sym_defined_QMARK] = ACTIONS(4222),
    [anon_sym_not] = ACTIONS(4224),
    [anon_sym_BANG] = ACTIONS(4226),
    [anon_sym_TILDE] = ACTIONS(4228),
    [sym_constant] = ACTIONS(8032),
    [sym_identifier] = ACTIONS(8032),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(4056),
    [anon_sym_nil] = ACTIONS(4058),
    [anon_sym_self] = ACTIONS(4060),
    [anon_sym_super] = ACTIONS(4062),
    [anon_sym_true] = ACTIONS(4064),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(4232),
    [sym_float] = ACTIONS(4234),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4236),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4238),
    [sym_keyword__LINE__] = ACTIONS(4238),
    [sym_keyword__ENCODING__] = ACTIONS(4238),
    [sym__character_literal] = ACTIONS(4240),
    [anon_sym_LBRACK] = ACTIONS(4242),
    [anon_sym_DASH_GT] = ACTIONS(4244),
  },
  [2854] = {
    [sym__simple_heredoc_body] = ACTIONS(614),
    [sym__heredoc_body_beginning] = ACTIONS(614),
    [sym__heredoc_body_middle] = ACTIONS(614),
    [sym__heredoc_body_end] = ACTIONS(614),
    [sym__element_reference_left_bracket] = ACTIONS(614),
    [sym__scope_double_colon] = ACTIONS(614),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__binary_minus] = ACTIONS(614),
    [sym__binary_star] = ACTIONS(614),
    [anon_sym_LBRACE] = ACTIONS(614),
    [anon_sym_DOT] = ACTIONS(616),
    [anon_sym_COMMA] = ACTIONS(614),
    [anon_sym_PIPE] = ACTIONS(616),
    [anon_sym_STAR_STAR] = ACTIONS(616),
    [anon_sym_AMP] = ACTIONS(616),
    [anon_sym_EQ] = ACTIONS(616),
    [anon_sym_LT] = ACTIONS(616),
    [anon_sym_if] = ACTIONS(614),
    [anon_sym_unless] = ACTIONS(614),
    [anon_sym_while] = ACTIONS(614),
    [anon_sym_until] = ACTIONS(614),
    [anon_sym_rescue] = ACTIONS(614),
    [anon_sym_do] = ACTIONS(614),
    [anon_sym_EQ_GT] = ACTIONS(614),
    [anon_sym_AMP_DOT] = ACTIONS(614),
    [anon_sym_PLUS_EQ] = ACTIONS(614),
    [anon_sym_DASH_EQ] = ACTIONS(614),
    [anon_sym_STAR_EQ] = ACTIONS(614),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(614),
    [anon_sym_SLASH_EQ] = ACTIONS(614),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(614),
    [anon_sym_PIPE_EQ] = ACTIONS(614),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(614),
    [anon_sym_AMP_EQ] = ACTIONS(614),
    [anon_sym_PERCENT_EQ] = ACTIONS(614),
    [anon_sym_GT_GT_EQ] = ACTIONS(614),
    [anon_sym_LT_LT_EQ] = ACTIONS(614),
    [anon_sym_CARET_EQ] = ACTIONS(614),
    [anon_sym_QMARK] = ACTIONS(614),
    [anon_sym_DOT_DOT] = ACTIONS(616),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(614),
    [anon_sym_and] = ACTIONS(614),
    [anon_sym_or] = ACTIONS(614),
    [anon_sym_PIPE_PIPE] = ACTIONS(616),
    [anon_sym_AMP_AMP] = ACTIONS(616),
    [anon_sym_LT_LT] = ACTIONS(616),
    [anon_sym_GT_GT] = ACTIONS(616),
    [anon_sym_EQ_EQ] = ACTIONS(616),
    [anon_sym_BANG_EQ] = ACTIONS(614),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(614),
    [anon_sym_LT_EQ_GT] = ACTIONS(614),
    [anon_sym_EQ_TILDE] = ACTIONS(614),
    [anon_sym_BANG_TILDE] = ACTIONS(614),
    [anon_sym_LT_EQ] = ACTIONS(616),
    [anon_sym_GT] = ACTIONS(616),
    [anon_sym_GT_EQ] = ACTIONS(614),
    [anon_sym_CARET] = ACTIONS(616),
    [anon_sym_PLUS] = ACTIONS(616),
    [anon_sym_SLASH] = ACTIONS(616),
    [anon_sym_PERCENT] = ACTIONS(616),
    [sym_comment] = ACTIONS(256),
  },
  [2855] = {
    [sym__simple_heredoc_body] = ACTIONS(618),
    [sym__heredoc_body_beginning] = ACTIONS(618),
    [sym__heredoc_body_middle] = ACTIONS(618),
    [sym__heredoc_body_end] = ACTIONS(618),
    [sym__element_reference_left_bracket] = ACTIONS(618),
    [sym__scope_double_colon] = ACTIONS(618),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__binary_minus] = ACTIONS(618),
    [sym__binary_star] = ACTIONS(618),
    [anon_sym_LBRACE] = ACTIONS(618),
    [anon_sym_DOT] = ACTIONS(620),
    [anon_sym_COMMA] = ACTIONS(618),
    [anon_sym_PIPE] = ACTIONS(620),
    [anon_sym_STAR_STAR] = ACTIONS(620),
    [anon_sym_AMP] = ACTIONS(620),
    [anon_sym_EQ] = ACTIONS(620),
    [anon_sym_LT] = ACTIONS(620),
    [anon_sym_if] = ACTIONS(618),
    [anon_sym_unless] = ACTIONS(618),
    [anon_sym_while] = ACTIONS(618),
    [anon_sym_until] = ACTIONS(618),
    [anon_sym_rescue] = ACTIONS(618),
    [anon_sym_do] = ACTIONS(618),
    [anon_sym_EQ_GT] = ACTIONS(618),
    [anon_sym_AMP_DOT] = ACTIONS(618),
    [anon_sym_PLUS_EQ] = ACTIONS(618),
    [anon_sym_DASH_EQ] = ACTIONS(618),
    [anon_sym_STAR_EQ] = ACTIONS(618),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(618),
    [anon_sym_SLASH_EQ] = ACTIONS(618),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(618),
    [anon_sym_PIPE_EQ] = ACTIONS(618),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(618),
    [anon_sym_AMP_EQ] = ACTIONS(618),
    [anon_sym_PERCENT_EQ] = ACTIONS(618),
    [anon_sym_GT_GT_EQ] = ACTIONS(618),
    [anon_sym_LT_LT_EQ] = ACTIONS(618),
    [anon_sym_CARET_EQ] = ACTIONS(618),
    [anon_sym_QMARK] = ACTIONS(618),
    [anon_sym_DOT_DOT] = ACTIONS(620),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(618),
    [anon_sym_and] = ACTIONS(618),
    [anon_sym_or] = ACTIONS(618),
    [anon_sym_PIPE_PIPE] = ACTIONS(620),
    [anon_sym_AMP_AMP] = ACTIONS(620),
    [anon_sym_LT_LT] = ACTIONS(620),
    [anon_sym_GT_GT] = ACTIONS(620),
    [anon_sym_EQ_EQ] = ACTIONS(620),
    [anon_sym_BANG_EQ] = ACTIONS(618),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(618),
    [anon_sym_LT_EQ_GT] = ACTIONS(618),
    [anon_sym_EQ_TILDE] = ACTIONS(618),
    [anon_sym_BANG_TILDE] = ACTIONS(618),
    [anon_sym_LT_EQ] = ACTIONS(620),
    [anon_sym_GT] = ACTIONS(620),
    [anon_sym_GT_EQ] = ACTIONS(618),
    [anon_sym_CARET] = ACTIONS(620),
    [anon_sym_PLUS] = ACTIONS(620),
    [anon_sym_SLASH] = ACTIONS(620),
    [anon_sym_PERCENT] = ACTIONS(620),
    [sym_comment] = ACTIONS(256),
  },
  [2856] = {
    [sym__statement] = STATE(5864),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(361),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2857] = {
    [sym__statement] = STATE(5865),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(361),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2858] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(5866),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2859] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(5867),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2860] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(285),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(381),
    [sym_call] = STATE(381),
    [sym_method_call] = STATE(286),
    [sym__mlhs] = STATE(5868),
    [sym__simple_mlhs] = STATE(383),
    [sym_destructured_left_assignment] = STATE(383),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(384),
    [sym__variable] = STATE(381),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [sym__keyword_colon] = ACTIONS(1556),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(658),
    [anon_sym_COLON_COLON] = ACTIONS(460),
    [anon_sym_STAR] = ACTIONS(660),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(494),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [2861] = {
    [sym__statements] = STATE(5870),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(5871),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1981),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(5872),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(3076),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(3078),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(3080),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(8224),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(3086),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2862] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_when] = STATE(5873),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(5874),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(400),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(401),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(387),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__terminator] = STATE(402),
    [aux_sym_case_repeat1] = STATE(5875),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(666),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(668),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_when] = ACTIONS(678),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(680),
    [anon_sym_defined_QMARK] = ACTIONS(682),
    [anon_sym_not] = ACTIONS(684),
    [anon_sym_BANG] = ACTIONS(686),
    [anon_sym_TILDE] = ACTIONS(686),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2863] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(5877),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(5878),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(692),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(8226),
    [anon_sym_SEMI] = ACTIONS(698),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2864] = {
    [sym_method] = STATE(2839),
    [sym_singleton_method] = STATE(2839),
    [sym_class] = STATE(2839),
    [sym_singleton_class] = STATE(2839),
    [sym_module] = STATE(2839),
    [sym_return] = STATE(2839),
    [sym_yield] = STATE(2839),
    [sym_break] = STATE(2839),
    [sym_next] = STATE(2839),
    [sym_redo] = STATE(2839),
    [sym_retry] = STATE(2839),
    [sym_while] = STATE(2839),
    [sym_until] = STATE(2839),
    [sym_for] = STATE(2839),
    [sym_case] = STATE(2839),
    [sym_if] = STATE(2839),
    [sym_unless] = STATE(2839),
    [sym_begin] = STATE(2839),
    [sym__arg] = STATE(5879),
    [sym__primary] = STATE(2874),
    [sym_parenthesized_statements] = STATE(2839),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2875),
    [sym_call] = STATE(2875),
    [sym_method_call] = STATE(2764),
    [sym_assignment] = STATE(2881),
    [sym_operator_assignment] = STATE(2881),
    [sym_conditional] = STATE(2881),
    [sym_range] = STATE(2881),
    [sym_binary] = STATE(2881),
    [sym_unary] = STATE(2881),
    [sym_left_assignment_list] = STATE(2882),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2883),
    [sym__variable] = STATE(2875),
    [sym_symbol] = STATE(2839),
    [sym_complex] = STATE(2839),
    [sym_rational] = STATE(2839),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2839),
    [sym_string] = STATE(5842),
    [sym_subshell] = STATE(2839),
    [sym_array] = STATE(2839),
    [sym_hash] = STATE(2839),
    [sym_regex] = STATE(2839),
    [sym_lambda] = STATE(2839),
    [sym__simple_string] = ACTIONS(8168),
    [sym__simple_symbol] = ACTIONS(4164),
    [sym__simple_subshell] = ACTIONS(4166),
    [sym__simple_regex] = ACTIONS(4168),
    [sym__simple_word_list] = ACTIONS(4170),
    [sym__string_beginning] = ACTIONS(8170),
    [sym__symbol_beginning] = ACTIONS(4174),
    [sym__subshell_beginning] = ACTIONS(4176),
    [sym__regex_beginning] = ACTIONS(4178),
    [sym__word_list_beginning] = ACTIONS(4180),
    [sym_heredoc_beginning] = ACTIONS(4182),
    [sym__unary_minus] = ACTIONS(4190),
    [anon_sym_LBRACE] = ACTIONS(8172),
    [anon_sym_def] = ACTIONS(8174),
    [anon_sym_LPAREN] = ACTIONS(4196),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8176),
    [anon_sym_module] = ACTIONS(8178),
    [anon_sym_return] = ACTIONS(8180),
    [anon_sym_yield] = ACTIONS(8182),
    [anon_sym_break] = ACTIONS(8184),
    [anon_sym_next] = ACTIONS(8186),
    [anon_sym_redo] = ACTIONS(8188),
    [anon_sym_retry] = ACTIONS(8190),
    [anon_sym_if] = ACTIONS(8192),
    [anon_sym_unless] = ACTIONS(8194),
    [anon_sym_while] = ACTIONS(8196),
    [anon_sym_until] = ACTIONS(8198),
    [anon_sym_for] = ACTIONS(8200),
    [anon_sym_case] = ACTIONS(8202),
    [anon_sym_begin] = ACTIONS(8204),
    [anon_sym_PLUS] = ACTIONS(8206),
    [anon_sym_defined_QMARK] = ACTIONS(4222),
    [anon_sym_not] = ACTIONS(8208),
    [anon_sym_BANG] = ACTIONS(4228),
    [anon_sym_TILDE] = ACTIONS(4228),
    [sym_constant] = ACTIONS(7946),
    [sym_identifier] = ACTIONS(7946),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_false] = ACTIONS(4074),
    [anon_sym_nil] = ACTIONS(4076),
    [anon_sym_self] = ACTIONS(7948),
    [anon_sym_super] = ACTIONS(7950),
    [anon_sym_true] = ACTIONS(4072),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4232),
    [sym_float] = ACTIONS(4234),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4236),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4238),
    [sym_keyword__LINE__] = ACTIONS(4238),
    [sym_keyword__ENCODING__] = ACTIONS(4238),
    [sym__character_literal] = ACTIONS(8210),
    [anon_sym_LBRACK] = ACTIONS(4242),
    [anon_sym_DASH_GT] = ACTIONS(4244),
  },
  [2865] = {
    [sym_method] = STATE(2839),
    [sym_singleton_method] = STATE(2839),
    [sym_class] = STATE(2839),
    [sym_singleton_class] = STATE(2839),
    [sym_module] = STATE(2839),
    [sym_return] = STATE(2839),
    [sym_yield] = STATE(2839),
    [sym_break] = STATE(2839),
    [sym_next] = STATE(2839),
    [sym_redo] = STATE(2839),
    [sym_retry] = STATE(2839),
    [sym_while] = STATE(2839),
    [sym_until] = STATE(2839),
    [sym_for] = STATE(2839),
    [sym_case] = STATE(2839),
    [sym_if] = STATE(2839),
    [sym_unless] = STATE(2839),
    [sym_begin] = STATE(2839),
    [sym__arg] = STATE(5880),
    [sym__primary] = STATE(2874),
    [sym_parenthesized_statements] = STATE(2839),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2875),
    [sym_call] = STATE(2875),
    [sym_method_call] = STATE(2764),
    [sym_assignment] = STATE(2881),
    [sym_operator_assignment] = STATE(2881),
    [sym_conditional] = STATE(2881),
    [sym_range] = STATE(2881),
    [sym_binary] = STATE(2881),
    [sym_unary] = STATE(2881),
    [sym_left_assignment_list] = STATE(2882),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2883),
    [sym__variable] = STATE(2875),
    [sym_symbol] = STATE(2839),
    [sym_complex] = STATE(2839),
    [sym_rational] = STATE(2839),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2839),
    [sym_string] = STATE(5842),
    [sym_subshell] = STATE(2839),
    [sym_array] = STATE(2839),
    [sym_hash] = STATE(2839),
    [sym_regex] = STATE(2839),
    [sym_lambda] = STATE(2839),
    [sym__simple_string] = ACTIONS(8168),
    [sym__simple_symbol] = ACTIONS(4164),
    [sym__simple_subshell] = ACTIONS(4166),
    [sym__simple_regex] = ACTIONS(4168),
    [sym__simple_word_list] = ACTIONS(4170),
    [sym__string_beginning] = ACTIONS(8170),
    [sym__symbol_beginning] = ACTIONS(4174),
    [sym__subshell_beginning] = ACTIONS(4176),
    [sym__regex_beginning] = ACTIONS(4178),
    [sym__word_list_beginning] = ACTIONS(4180),
    [sym_heredoc_beginning] = ACTIONS(4182),
    [sym__unary_minus] = ACTIONS(4190),
    [anon_sym_LBRACE] = ACTIONS(8172),
    [anon_sym_def] = ACTIONS(8174),
    [anon_sym_LPAREN] = ACTIONS(4196),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8176),
    [anon_sym_module] = ACTIONS(8178),
    [anon_sym_return] = ACTIONS(8180),
    [anon_sym_yield] = ACTIONS(8182),
    [anon_sym_break] = ACTIONS(8184),
    [anon_sym_next] = ACTIONS(8186),
    [anon_sym_redo] = ACTIONS(8188),
    [anon_sym_retry] = ACTIONS(8190),
    [anon_sym_if] = ACTIONS(8192),
    [anon_sym_unless] = ACTIONS(8194),
    [anon_sym_while] = ACTIONS(8196),
    [anon_sym_until] = ACTIONS(8198),
    [anon_sym_for] = ACTIONS(8200),
    [anon_sym_case] = ACTIONS(8202),
    [anon_sym_begin] = ACTIONS(8204),
    [anon_sym_PLUS] = ACTIONS(8206),
    [anon_sym_defined_QMARK] = ACTIONS(4222),
    [anon_sym_not] = ACTIONS(8208),
    [anon_sym_BANG] = ACTIONS(4228),
    [anon_sym_TILDE] = ACTIONS(4228),
    [sym_constant] = ACTIONS(7946),
    [sym_identifier] = ACTIONS(7946),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_false] = ACTIONS(4074),
    [anon_sym_nil] = ACTIONS(4076),
    [anon_sym_self] = ACTIONS(7948),
    [anon_sym_super] = ACTIONS(7950),
    [anon_sym_true] = ACTIONS(4072),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4232),
    [sym_float] = ACTIONS(4234),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4236),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4238),
    [sym_keyword__LINE__] = ACTIONS(4238),
    [sym_keyword__ENCODING__] = ACTIONS(4238),
    [sym__character_literal] = ACTIONS(8210),
    [anon_sym_LBRACK] = ACTIONS(4242),
    [anon_sym_DASH_GT] = ACTIONS(4244),
  },
  [2866] = {
    [sym_method] = STATE(2839),
    [sym_singleton_method] = STATE(2839),
    [sym_class] = STATE(2839),
    [sym_singleton_class] = STATE(2839),
    [sym_module] = STATE(2839),
    [sym_return] = STATE(2839),
    [sym_yield] = STATE(2839),
    [sym_break] = STATE(2839),
    [sym_next] = STATE(2839),
    [sym_redo] = STATE(2839),
    [sym_retry] = STATE(2839),
    [sym_while] = STATE(2839),
    [sym_until] = STATE(2839),
    [sym_for] = STATE(2839),
    [sym_case] = STATE(2839),
    [sym_if] = STATE(2839),
    [sym_unless] = STATE(2839),
    [sym_begin] = STATE(2839),
    [sym__arg] = STATE(5880),
    [sym__primary] = STATE(2874),
    [sym_parenthesized_statements] = STATE(2839),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2875),
    [sym_call] = STATE(2875),
    [sym_method_call] = STATE(2764),
    [sym_assignment] = STATE(2881),
    [sym_operator_assignment] = STATE(2881),
    [sym_conditional] = STATE(2881),
    [sym_range] = STATE(2881),
    [sym_binary] = STATE(2881),
    [sym_unary] = STATE(2881),
    [sym_left_assignment_list] = STATE(2882),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2883),
    [sym__variable] = STATE(2875),
    [sym_symbol] = STATE(2839),
    [sym_complex] = STATE(2839),
    [sym_rational] = STATE(2839),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2839),
    [sym_string] = STATE(5842),
    [sym_subshell] = STATE(2839),
    [sym_array] = STATE(2839),
    [sym_hash] = STATE(2839),
    [sym_regex] = STATE(2839),
    [sym_lambda] = STATE(2839),
    [sym__simple_string] = ACTIONS(8168),
    [sym__simple_symbol] = ACTIONS(4164),
    [sym__simple_subshell] = ACTIONS(4166),
    [sym__simple_regex] = ACTIONS(4168),
    [sym__simple_word_list] = ACTIONS(4170),
    [sym__string_beginning] = ACTIONS(8170),
    [sym__symbol_beginning] = ACTIONS(4174),
    [sym__subshell_beginning] = ACTIONS(4176),
    [sym__regex_beginning] = ACTIONS(4178),
    [sym__word_list_beginning] = ACTIONS(4180),
    [sym_heredoc_beginning] = ACTIONS(4182),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(4190),
    [anon_sym_LBRACE] = ACTIONS(8172),
    [anon_sym_def] = ACTIONS(8174),
    [anon_sym_LPAREN] = ACTIONS(4196),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8176),
    [anon_sym_module] = ACTIONS(8178),
    [anon_sym_return] = ACTIONS(8180),
    [anon_sym_yield] = ACTIONS(8182),
    [anon_sym_break] = ACTIONS(8184),
    [anon_sym_next] = ACTIONS(8186),
    [anon_sym_redo] = ACTIONS(8188),
    [anon_sym_retry] = ACTIONS(8190),
    [anon_sym_if] = ACTIONS(8192),
    [anon_sym_unless] = ACTIONS(8194),
    [anon_sym_while] = ACTIONS(8196),
    [anon_sym_until] = ACTIONS(8198),
    [anon_sym_for] = ACTIONS(8200),
    [anon_sym_case] = ACTIONS(8202),
    [anon_sym_begin] = ACTIONS(8204),
    [anon_sym_PLUS] = ACTIONS(8206),
    [anon_sym_defined_QMARK] = ACTIONS(4222),
    [anon_sym_not] = ACTIONS(8208),
    [anon_sym_BANG] = ACTIONS(4228),
    [anon_sym_TILDE] = ACTIONS(4228),
    [sym_constant] = ACTIONS(7946),
    [sym_identifier] = ACTIONS(7946),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_false] = ACTIONS(4074),
    [anon_sym_nil] = ACTIONS(4076),
    [anon_sym_self] = ACTIONS(7948),
    [anon_sym_super] = ACTIONS(7950),
    [anon_sym_true] = ACTIONS(4072),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4232),
    [sym_float] = ACTIONS(4234),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4236),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4238),
    [sym_keyword__LINE__] = ACTIONS(4238),
    [sym_keyword__ENCODING__] = ACTIONS(4238),
    [sym__character_literal] = ACTIONS(8210),
    [anon_sym_LBRACK] = ACTIONS(4242),
    [anon_sym_DASH_GT] = ACTIONS(4244),
  },
  [2867] = {
    [sym_method] = STATE(2839),
    [sym_singleton_method] = STATE(2839),
    [sym_class] = STATE(2839),
    [sym_singleton_class] = STATE(2839),
    [sym_module] = STATE(2839),
    [sym_return] = STATE(2839),
    [sym_yield] = STATE(2839),
    [sym_break] = STATE(2839),
    [sym_next] = STATE(2839),
    [sym_redo] = STATE(2839),
    [sym_retry] = STATE(2839),
    [sym_while] = STATE(2839),
    [sym_until] = STATE(2839),
    [sym_for] = STATE(2839),
    [sym_case] = STATE(2839),
    [sym_if] = STATE(2839),
    [sym_unless] = STATE(2839),
    [sym_begin] = STATE(2839),
    [sym__arg] = STATE(5881),
    [sym__primary] = STATE(2874),
    [sym_parenthesized_statements] = STATE(2839),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2875),
    [sym_call] = STATE(2875),
    [sym_method_call] = STATE(2764),
    [sym_assignment] = STATE(2881),
    [sym_operator_assignment] = STATE(2881),
    [sym_conditional] = STATE(2881),
    [sym_range] = STATE(2881),
    [sym_binary] = STATE(2881),
    [sym_unary] = STATE(2881),
    [sym_left_assignment_list] = STATE(2882),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2883),
    [sym__variable] = STATE(2875),
    [sym_symbol] = STATE(2839),
    [sym_complex] = STATE(2839),
    [sym_rational] = STATE(2839),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2839),
    [sym_string] = STATE(5842),
    [sym_subshell] = STATE(2839),
    [sym_array] = STATE(2839),
    [sym_hash] = STATE(2839),
    [sym_regex] = STATE(2839),
    [sym_lambda] = STATE(2839),
    [sym__simple_string] = ACTIONS(8168),
    [sym__simple_symbol] = ACTIONS(4164),
    [sym__simple_subshell] = ACTIONS(4166),
    [sym__simple_regex] = ACTIONS(4168),
    [sym__simple_word_list] = ACTIONS(4170),
    [sym__string_beginning] = ACTIONS(8170),
    [sym__symbol_beginning] = ACTIONS(4174),
    [sym__subshell_beginning] = ACTIONS(4176),
    [sym__regex_beginning] = ACTIONS(4178),
    [sym__word_list_beginning] = ACTIONS(4180),
    [sym_heredoc_beginning] = ACTIONS(4182),
    [sym__unary_minus] = ACTIONS(4190),
    [anon_sym_LBRACE] = ACTIONS(8172),
    [anon_sym_def] = ACTIONS(8174),
    [anon_sym_LPAREN] = ACTIONS(4196),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8176),
    [anon_sym_module] = ACTIONS(8178),
    [anon_sym_return] = ACTIONS(8180),
    [anon_sym_yield] = ACTIONS(8182),
    [anon_sym_break] = ACTIONS(8184),
    [anon_sym_next] = ACTIONS(8186),
    [anon_sym_redo] = ACTIONS(8188),
    [anon_sym_retry] = ACTIONS(8190),
    [anon_sym_if] = ACTIONS(8192),
    [anon_sym_unless] = ACTIONS(8194),
    [anon_sym_while] = ACTIONS(8196),
    [anon_sym_until] = ACTIONS(8198),
    [anon_sym_for] = ACTIONS(8200),
    [anon_sym_case] = ACTIONS(8202),
    [anon_sym_begin] = ACTIONS(8204),
    [anon_sym_PLUS] = ACTIONS(8206),
    [anon_sym_defined_QMARK] = ACTIONS(4222),
    [anon_sym_not] = ACTIONS(8208),
    [anon_sym_BANG] = ACTIONS(4228),
    [anon_sym_TILDE] = ACTIONS(4228),
    [sym_constant] = ACTIONS(7946),
    [sym_identifier] = ACTIONS(7946),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_false] = ACTIONS(4074),
    [anon_sym_nil] = ACTIONS(4076),
    [anon_sym_self] = ACTIONS(7948),
    [anon_sym_super] = ACTIONS(7950),
    [anon_sym_true] = ACTIONS(4072),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4232),
    [sym_float] = ACTIONS(4234),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4236),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4238),
    [sym_keyword__LINE__] = ACTIONS(4238),
    [sym_keyword__ENCODING__] = ACTIONS(4238),
    [sym__character_literal] = ACTIONS(8210),
    [anon_sym_LBRACK] = ACTIONS(4242),
    [anon_sym_DASH_GT] = ACTIONS(4244),
  },
  [2868] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym__heredoc_body_middle] = ACTIONS(722),
    [sym__heredoc_body_end] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(8228),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [2869] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__heredoc_body_middle] = ACTIONS(250),
    [sym__heredoc_body_end] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
    [anon_sym_r] = ACTIONS(8230),
  },
  [2870] = {
    [sym__simple_heredoc_body] = ACTIONS(778),
    [sym__heredoc_body_beginning] = ACTIONS(778),
    [sym__heredoc_body_middle] = ACTIONS(778),
    [sym__heredoc_body_end] = ACTIONS(778),
    [sym__element_reference_left_bracket] = ACTIONS(778),
    [sym__scope_double_colon] = ACTIONS(778),
    [sym__binary_minus] = ACTIONS(778),
    [sym__binary_star] = ACTIONS(778),
    [anon_sym_LBRACE] = ACTIONS(778),
    [anon_sym_DOT] = ACTIONS(780),
    [anon_sym_COMMA] = ACTIONS(778),
    [anon_sym_PIPE] = ACTIONS(780),
    [anon_sym_STAR_STAR] = ACTIONS(780),
    [anon_sym_AMP] = ACTIONS(780),
    [anon_sym_EQ] = ACTIONS(780),
    [anon_sym_LT] = ACTIONS(780),
    [anon_sym_if] = ACTIONS(778),
    [anon_sym_unless] = ACTIONS(778),
    [anon_sym_while] = ACTIONS(778),
    [anon_sym_until] = ACTIONS(778),
    [anon_sym_rescue] = ACTIONS(778),
    [anon_sym_do] = ACTIONS(778),
    [anon_sym_EQ_GT] = ACTIONS(778),
    [anon_sym_AMP_DOT] = ACTIONS(778),
    [anon_sym_PLUS_EQ] = ACTIONS(778),
    [anon_sym_DASH_EQ] = ACTIONS(778),
    [anon_sym_STAR_EQ] = ACTIONS(778),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(778),
    [anon_sym_SLASH_EQ] = ACTIONS(778),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(778),
    [anon_sym_PIPE_EQ] = ACTIONS(778),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(778),
    [anon_sym_AMP_EQ] = ACTIONS(778),
    [anon_sym_PERCENT_EQ] = ACTIONS(778),
    [anon_sym_GT_GT_EQ] = ACTIONS(778),
    [anon_sym_LT_LT_EQ] = ACTIONS(778),
    [anon_sym_CARET_EQ] = ACTIONS(778),
    [anon_sym_QMARK] = ACTIONS(778),
    [anon_sym_DOT_DOT] = ACTIONS(780),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(778),
    [anon_sym_and] = ACTIONS(778),
    [anon_sym_or] = ACTIONS(778),
    [anon_sym_PIPE_PIPE] = ACTIONS(780),
    [anon_sym_AMP_AMP] = ACTIONS(780),
    [anon_sym_LT_LT] = ACTIONS(780),
    [anon_sym_GT_GT] = ACTIONS(780),
    [anon_sym_EQ_EQ] = ACTIONS(780),
    [anon_sym_BANG_EQ] = ACTIONS(778),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(778),
    [anon_sym_LT_EQ_GT] = ACTIONS(778),
    [anon_sym_EQ_TILDE] = ACTIONS(778),
    [anon_sym_BANG_TILDE] = ACTIONS(778),
    [anon_sym_LT_EQ] = ACTIONS(780),
    [anon_sym_GT] = ACTIONS(780),
    [anon_sym_GT_EQ] = ACTIONS(778),
    [anon_sym_CARET] = ACTIONS(780),
    [anon_sym_PLUS] = ACTIONS(780),
    [anon_sym_SLASH] = ACTIONS(780),
    [anon_sym_PERCENT] = ACTIONS(780),
    [sym_comment] = ACTIONS(256),
  },
  [2871] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(501),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(5885),
    [sym__argument] = STATE(506),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(509),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(510),
    [sym__variable] = STATE(504),
    [sym_reserved_identifier] = STATE(511),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(512),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(5886),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(804),
    [sym__splat_star] = ACTIONS(806),
    [sym__unary_minus] = ACTIONS(808),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(818),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(824),
    [anon_sym_yield] = ACTIONS(826),
    [anon_sym_break] = ACTIONS(828),
    [anon_sym_next] = ACTIONS(830),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_RBRACK] = ACTIONS(8232),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(852),
    [anon_sym_defined_QMARK] = ACTIONS(854),
    [anon_sym_not] = ACTIONS(856),
    [anon_sym_BANG] = ACTIONS(858),
    [anon_sym_TILDE] = ACTIONS(858),
    [sym_constant] = ACTIONS(860),
    [sym_identifier] = ACTIONS(860),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2872] = {
    [sym_lambda_parameters] = STATE(5889),
    [sym__simple_formal_parameter] = STATE(522),
    [sym_splat_parameter] = STATE(523),
    [sym_hash_splat_parameter] = STATE(523),
    [sym_block_parameter] = STATE(523),
    [sym_keyword_parameter] = STATE(523),
    [sym_optional_parameter] = STATE(523),
    [sym_do_block] = STATE(5890),
    [sym_block] = STATE(5890),
    [anon_sym_LBRACE] = ACTIONS(8234),
    [anon_sym_LPAREN] = ACTIONS(896),
    [anon_sym_STAR] = ACTIONS(898),
    [anon_sym_STAR_STAR] = ACTIONS(900),
    [anon_sym_AMP] = ACTIONS(902),
    [anon_sym_do] = ACTIONS(8236),
    [sym_identifier] = ACTIONS(906),
    [sym_comment] = ACTIONS(110),
  },
  [2873] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__heredoc_body_middle] = ACTIONS(2210),
    [sym__heredoc_body_end] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(8238),
    [sym__binary_star] = ACTIONS(8240),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(8242),
    [anon_sym_STAR_STAR] = ACTIONS(8244),
    [anon_sym_AMP] = ACTIONS(8246),
    [anon_sym_EQ] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(8248),
    [anon_sym_if] = ACTIONS(2210),
    [anon_sym_unless] = ACTIONS(2210),
    [anon_sym_while] = ACTIONS(2210),
    [anon_sym_until] = ACTIONS(2210),
    [anon_sym_rescue] = ACTIONS(2210),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(8228),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_PLUS_EQ] = ACTIONS(2210),
    [anon_sym_DASH_EQ] = ACTIONS(2210),
    [anon_sym_STAR_EQ] = ACTIONS(2210),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2210),
    [anon_sym_SLASH_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2210),
    [anon_sym_AMP_EQ] = ACTIONS(2210),
    [anon_sym_PERCENT_EQ] = ACTIONS(2210),
    [anon_sym_GT_GT_EQ] = ACTIONS(2210),
    [anon_sym_LT_LT_EQ] = ACTIONS(2210),
    [anon_sym_CARET_EQ] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(8250),
    [anon_sym_DOT_DOT] = ACTIONS(8252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8254),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(8256),
    [anon_sym_AMP_AMP] = ACTIONS(8256),
    [anon_sym_LT_LT] = ACTIONS(8258),
    [anon_sym_GT_GT] = ACTIONS(8258),
    [anon_sym_EQ_EQ] = ACTIONS(8256),
    [anon_sym_BANG_EQ] = ACTIONS(8260),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8260),
    [anon_sym_LT_EQ_GT] = ACTIONS(8260),
    [anon_sym_EQ_TILDE] = ACTIONS(8260),
    [anon_sym_BANG_TILDE] = ACTIONS(8260),
    [anon_sym_LT_EQ] = ACTIONS(8248),
    [anon_sym_GT] = ACTIONS(8248),
    [anon_sym_GT_EQ] = ACTIONS(8262),
    [anon_sym_CARET] = ACTIONS(8242),
    [anon_sym_PLUS] = ACTIONS(8264),
    [anon_sym_SLASH] = ACTIONS(8244),
    [anon_sym_PERCENT] = ACTIONS(8244),
    [sym_comment] = ACTIONS(256),
  },
  [2874] = {
    [sym__simple_heredoc_body] = ACTIONS(968),
    [sym__heredoc_body_beginning] = ACTIONS(968),
    [sym__heredoc_body_middle] = ACTIONS(968),
    [sym__heredoc_body_end] = ACTIONS(968),
    [sym__element_reference_left_bracket] = ACTIONS(8014),
    [sym__scope_double_colon] = ACTIONS(8016),
    [sym__binary_minus] = ACTIONS(968),
    [sym__binary_star] = ACTIONS(968),
    [anon_sym_LBRACE] = ACTIONS(968),
    [anon_sym_DOT] = ACTIONS(8018),
    [anon_sym_COMMA] = ACTIONS(968),
    [anon_sym_PIPE] = ACTIONS(976),
    [anon_sym_STAR_STAR] = ACTIONS(976),
    [anon_sym_AMP] = ACTIONS(976),
    [anon_sym_EQ] = ACTIONS(976),
    [anon_sym_LT] = ACTIONS(976),
    [anon_sym_if] = ACTIONS(968),
    [anon_sym_unless] = ACTIONS(968),
    [anon_sym_while] = ACTIONS(968),
    [anon_sym_until] = ACTIONS(968),
    [anon_sym_rescue] = ACTIONS(968),
    [anon_sym_do] = ACTIONS(968),
    [anon_sym_EQ_GT] = ACTIONS(968),
    [anon_sym_AMP_DOT] = ACTIONS(8020),
    [anon_sym_PLUS_EQ] = ACTIONS(968),
    [anon_sym_DASH_EQ] = ACTIONS(968),
    [anon_sym_STAR_EQ] = ACTIONS(968),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(968),
    [anon_sym_SLASH_EQ] = ACTIONS(968),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(968),
    [anon_sym_PIPE_EQ] = ACTIONS(968),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(968),
    [anon_sym_AMP_EQ] = ACTIONS(968),
    [anon_sym_PERCENT_EQ] = ACTIONS(968),
    [anon_sym_GT_GT_EQ] = ACTIONS(968),
    [anon_sym_LT_LT_EQ] = ACTIONS(968),
    [anon_sym_CARET_EQ] = ACTIONS(968),
    [anon_sym_QMARK] = ACTIONS(968),
    [anon_sym_DOT_DOT] = ACTIONS(976),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(968),
    [anon_sym_and] = ACTIONS(968),
    [anon_sym_or] = ACTIONS(968),
    [anon_sym_PIPE_PIPE] = ACTIONS(976),
    [anon_sym_AMP_AMP] = ACTIONS(976),
    [anon_sym_LT_LT] = ACTIONS(976),
    [anon_sym_GT_GT] = ACTIONS(976),
    [anon_sym_EQ_EQ] = ACTIONS(976),
    [anon_sym_BANG_EQ] = ACTIONS(968),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(968),
    [anon_sym_LT_EQ_GT] = ACTIONS(968),
    [anon_sym_EQ_TILDE] = ACTIONS(968),
    [anon_sym_BANG_TILDE] = ACTIONS(968),
    [anon_sym_LT_EQ] = ACTIONS(976),
    [anon_sym_GT] = ACTIONS(976),
    [anon_sym_GT_EQ] = ACTIONS(968),
    [anon_sym_CARET] = ACTIONS(976),
    [anon_sym_PLUS] = ACTIONS(976),
    [anon_sym_SLASH] = ACTIONS(976),
    [anon_sym_PERCENT] = ACTIONS(976),
    [sym_comment] = ACTIONS(256),
  },
  [2875] = {
    [sym_method] = STATE(2839),
    [sym_singleton_method] = STATE(2839),
    [sym_class] = STATE(2839),
    [sym_singleton_class] = STATE(2839),
    [sym_module] = STATE(2839),
    [sym_return] = STATE(2839),
    [sym_yield] = STATE(2839),
    [sym_break] = STATE(2839),
    [sym_next] = STATE(2839),
    [sym_redo] = STATE(2839),
    [sym_retry] = STATE(2839),
    [sym_while] = STATE(2839),
    [sym_until] = STATE(2839),
    [sym_for] = STATE(2839),
    [sym_case] = STATE(2839),
    [sym_if] = STATE(2839),
    [sym_unless] = STATE(2839),
    [sym_begin] = STATE(2839),
    [sym__arg] = STATE(5695),
    [sym__primary] = STATE(2874),
    [sym_parenthesized_statements] = STATE(2839),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2875),
    [sym_call] = STATE(2875),
    [sym_method_call] = STATE(2764),
    [sym_argument_list] = STATE(5903),
    [sym__argument_list_with_parens] = STATE(5697),
    [sym__argument] = STATE(5698),
    [sym_splat_argument] = STATE(5699),
    [sym_hash_splat_argument] = STATE(5699),
    [sym_block_argument] = STATE(5699),
    [sym_do_block] = STATE(5700),
    [sym_block] = STATE(5700),
    [sym_assignment] = STATE(2881),
    [sym_operator_assignment] = STATE(2881),
    [sym_conditional] = STATE(2881),
    [sym_range] = STATE(2881),
    [sym_binary] = STATE(2881),
    [sym_unary] = STATE(2881),
    [sym_left_assignment_list] = STATE(2882),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2883),
    [sym__variable] = STATE(2875),
    [sym_reserved_identifier] = STATE(5701),
    [sym_symbol] = STATE(2839),
    [sym_complex] = STATE(2839),
    [sym_rational] = STATE(2839),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2839),
    [sym_string] = STATE(5702),
    [sym_subshell] = STATE(2839),
    [sym_array] = STATE(2839),
    [sym_hash] = STATE(2839),
    [sym_pair] = STATE(5699),
    [sym_regex] = STATE(2839),
    [sym_lambda] = STATE(2839),
    [sym__simple_string] = ACTIONS(4162),
    [sym__simple_symbol] = ACTIONS(4164),
    [sym__simple_subshell] = ACTIONS(4166),
    [sym__simple_regex] = ACTIONS(4168),
    [sym__simple_word_list] = ACTIONS(4170),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(4172),
    [sym__symbol_beginning] = ACTIONS(4174),
    [sym__subshell_beginning] = ACTIONS(4176),
    [sym__regex_beginning] = ACTIONS(4178),
    [sym__word_list_beginning] = ACTIONS(4180),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym__heredoc_body_middle] = ACTIONS(980),
    [sym__heredoc_body_end] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(4182),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(8022),
    [sym__splat_star] = ACTIONS(8024),
    [sym__argument_list_left_paren] = ACTIONS(8026),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(4190),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(8028),
    [anon_sym_def] = ACTIONS(4194),
    [anon_sym_LPAREN] = ACTIONS(4196),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(4198),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(4200),
    [anon_sym_return] = ACTIONS(4202),
    [anon_sym_yield] = ACTIONS(4204),
    [anon_sym_break] = ACTIONS(4206),
    [anon_sym_next] = ACTIONS(4208),
    [anon_sym_redo] = ACTIONS(4210),
    [anon_sym_retry] = ACTIONS(4212),
    [anon_sym_if] = ACTIONS(982),
    [anon_sym_unless] = ACTIONS(982),
    [anon_sym_while] = ACTIONS(982),
    [anon_sym_until] = ACTIONS(982),
    [anon_sym_rescue] = ACTIONS(982),
    [anon_sym_for] = ACTIONS(4214),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(982),
    [anon_sym_case] = ACTIONS(4218),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(4220),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(980),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(4222),
    [anon_sym_not] = ACTIONS(4224),
    [anon_sym_BANG] = ACTIONS(4226),
    [anon_sym_TILDE] = ACTIONS(4228),
    [sym_constant] = ACTIONS(8032),
    [sym_identifier] = ACTIONS(8032),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(4056),
    [anon_sym_nil] = ACTIONS(4058),
    [anon_sym_self] = ACTIONS(4060),
    [anon_sym_super] = ACTIONS(4062),
    [anon_sym_true] = ACTIONS(4064),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(4232),
    [sym_float] = ACTIONS(4234),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4236),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4238),
    [sym_keyword__LINE__] = ACTIONS(4238),
    [sym_keyword__ENCODING__] = ACTIONS(4238),
    [sym__character_literal] = ACTIONS(4240),
    [anon_sym_LBRACK] = ACTIONS(4242),
    [anon_sym_DASH_GT] = ACTIONS(4244),
  },
  [2876] = {
    [sym_do_block] = STATE(5906),
    [sym_block] = STATE(5906),
    [sym__heredoc_body_middle] = ACTIONS(3346),
    [sym__heredoc_body_end] = ACTIONS(3346),
    [sym__element_reference_left_bracket] = ACTIONS(3346),
    [sym__scope_double_colon] = ACTIONS(3346),
    [sym__binary_minus] = ACTIONS(3346),
    [sym__binary_star] = ACTIONS(3346),
    [anon_sym_LBRACE] = ACTIONS(8266),
    [anon_sym_DOT] = ACTIONS(3350),
    [anon_sym_COMMA] = ACTIONS(3346),
    [anon_sym_PIPE] = ACTIONS(3350),
    [anon_sym_STAR_STAR] = ACTIONS(3350),
    [anon_sym_AMP] = ACTIONS(3350),
    [anon_sym_EQ] = ACTIONS(3350),
    [anon_sym_LT] = ACTIONS(3350),
    [anon_sym_if] = ACTIONS(3346),
    [anon_sym_unless] = ACTIONS(3346),
    [anon_sym_while] = ACTIONS(3346),
    [anon_sym_until] = ACTIONS(3346),
    [anon_sym_rescue] = ACTIONS(3346),
    [anon_sym_do] = ACTIONS(8268),
    [anon_sym_AMP_DOT] = ACTIONS(3346),
    [anon_sym_PLUS_EQ] = ACTIONS(3346),
    [anon_sym_DASH_EQ] = ACTIONS(3346),
    [anon_sym_STAR_EQ] = ACTIONS(3346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3346),
    [anon_sym_SLASH_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3346),
    [anon_sym_AMP_EQ] = ACTIONS(3346),
    [anon_sym_PERCENT_EQ] = ACTIONS(3346),
    [anon_sym_GT_GT_EQ] = ACTIONS(3346),
    [anon_sym_LT_LT_EQ] = ACTIONS(3346),
    [anon_sym_CARET_EQ] = ACTIONS(3346),
    [anon_sym_QMARK] = ACTIONS(3346),
    [anon_sym_DOT_DOT] = ACTIONS(3350),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3346),
    [anon_sym_and] = ACTIONS(3346),
    [anon_sym_or] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE] = ACTIONS(3350),
    [anon_sym_AMP_AMP] = ACTIONS(3350),
    [anon_sym_LT_LT] = ACTIONS(3350),
    [anon_sym_GT_GT] = ACTIONS(3350),
    [anon_sym_EQ_EQ] = ACTIONS(3350),
    [anon_sym_BANG_EQ] = ACTIONS(3346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3346),
    [anon_sym_LT_EQ_GT] = ACTIONS(3346),
    [anon_sym_EQ_TILDE] = ACTIONS(3346),
    [anon_sym_BANG_TILDE] = ACTIONS(3346),
    [anon_sym_LT_EQ] = ACTIONS(3350),
    [anon_sym_GT] = ACTIONS(3350),
    [anon_sym_GT_EQ] = ACTIONS(3346),
    [anon_sym_CARET] = ACTIONS(3350),
    [anon_sym_PLUS] = ACTIONS(3350),
    [anon_sym_SLASH] = ACTIONS(3350),
    [anon_sym_PERCENT] = ACTIONS(3350),
    [sym_comment] = ACTIONS(256),
  },
  [2877] = {
    [sym_heredoc_end] = STATE(5909),
    [aux_sym_argument_list_repeat2] = STATE(5910),
    [sym__simple_heredoc_body] = ACTIONS(8270),
    [sym__heredoc_body_beginning] = ACTIONS(8272),
    [sym__heredoc_body_middle] = ACTIONS(2272),
    [sym__heredoc_body_end] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(2272),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_STAR_STAR] = ACTIONS(2274),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_EQ] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_if] = ACTIONS(2272),
    [anon_sym_unless] = ACTIONS(2272),
    [anon_sym_while] = ACTIONS(2272),
    [anon_sym_until] = ACTIONS(2272),
    [anon_sym_rescue] = ACTIONS(2272),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_PLUS_EQ] = ACTIONS(2272),
    [anon_sym_DASH_EQ] = ACTIONS(2272),
    [anon_sym_STAR_EQ] = ACTIONS(2272),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2272),
    [anon_sym_SLASH_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2272),
    [anon_sym_AMP_EQ] = ACTIONS(2272),
    [anon_sym_PERCENT_EQ] = ACTIONS(2272),
    [anon_sym_GT_GT_EQ] = ACTIONS(2272),
    [anon_sym_LT_LT_EQ] = ACTIONS(2272),
    [anon_sym_CARET_EQ] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2274),
    [anon_sym_AMP_AMP] = ACTIONS(2274),
    [anon_sym_LT_LT] = ACTIONS(2274),
    [anon_sym_GT_GT] = ACTIONS(2274),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2274),
    [anon_sym_PLUS] = ACTIONS(2274),
    [anon_sym_SLASH] = ACTIONS(2274),
    [anon_sym_PERCENT] = ACTIONS(2274),
    [sym_comment] = ACTIONS(256),
  },
  [2878] = {
    [sym_heredoc_end] = STATE(5909),
    [aux_sym_argument_list_repeat1] = STATE(5912),
    [aux_sym_argument_list_repeat2] = STATE(5910),
    [sym__simple_heredoc_body] = ACTIONS(8270),
    [sym__heredoc_body_beginning] = ACTIONS(8272),
    [sym__heredoc_body_middle] = ACTIONS(2272),
    [sym__heredoc_body_end] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(8274),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_STAR_STAR] = ACTIONS(2274),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_EQ] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_if] = ACTIONS(2272),
    [anon_sym_unless] = ACTIONS(2272),
    [anon_sym_while] = ACTIONS(2272),
    [anon_sym_until] = ACTIONS(2272),
    [anon_sym_rescue] = ACTIONS(2272),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_PLUS_EQ] = ACTIONS(2272),
    [anon_sym_DASH_EQ] = ACTIONS(2272),
    [anon_sym_STAR_EQ] = ACTIONS(2272),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2272),
    [anon_sym_SLASH_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2272),
    [anon_sym_AMP_EQ] = ACTIONS(2272),
    [anon_sym_PERCENT_EQ] = ACTIONS(2272),
    [anon_sym_GT_GT_EQ] = ACTIONS(2272),
    [anon_sym_LT_LT_EQ] = ACTIONS(2272),
    [anon_sym_CARET_EQ] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2274),
    [anon_sym_AMP_AMP] = ACTIONS(2274),
    [anon_sym_LT_LT] = ACTIONS(2274),
    [anon_sym_GT_GT] = ACTIONS(2274),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2274),
    [anon_sym_PLUS] = ACTIONS(2274),
    [anon_sym_SLASH] = ACTIONS(2274),
    [anon_sym_PERCENT] = ACTIONS(2274),
    [sym_comment] = ACTIONS(256),
  },
  [2879] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__heredoc_body_middle] = ACTIONS(2210),
    [sym__heredoc_body_end] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(2210),
    [sym__binary_star] = ACTIONS(2210),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(2216),
    [anon_sym_STAR_STAR] = ACTIONS(2216),
    [anon_sym_AMP] = ACTIONS(2216),
    [anon_sym_EQ] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(2216),
    [anon_sym_if] = ACTIONS(2210),
    [anon_sym_unless] = ACTIONS(2210),
    [anon_sym_while] = ACTIONS(2210),
    [anon_sym_until] = ACTIONS(2210),
    [anon_sym_rescue] = ACTIONS(2210),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_PLUS_EQ] = ACTIONS(2210),
    [anon_sym_DASH_EQ] = ACTIONS(2210),
    [anon_sym_STAR_EQ] = ACTIONS(2210),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2210),
    [anon_sym_SLASH_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2210),
    [anon_sym_AMP_EQ] = ACTIONS(2210),
    [anon_sym_PERCENT_EQ] = ACTIONS(2210),
    [anon_sym_GT_GT_EQ] = ACTIONS(2210),
    [anon_sym_LT_LT_EQ] = ACTIONS(2210),
    [anon_sym_CARET_EQ] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(2210),
    [anon_sym_DOT_DOT] = ACTIONS(2216),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2210),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(2216),
    [anon_sym_AMP_AMP] = ACTIONS(2216),
    [anon_sym_LT_LT] = ACTIONS(2216),
    [anon_sym_GT_GT] = ACTIONS(2216),
    [anon_sym_EQ_EQ] = ACTIONS(2216),
    [anon_sym_BANG_EQ] = ACTIONS(2210),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2210),
    [anon_sym_LT_EQ_GT] = ACTIONS(2210),
    [anon_sym_EQ_TILDE] = ACTIONS(2210),
    [anon_sym_BANG_TILDE] = ACTIONS(2210),
    [anon_sym_LT_EQ] = ACTIONS(2216),
    [anon_sym_GT] = ACTIONS(2216),
    [anon_sym_GT_EQ] = ACTIONS(2210),
    [anon_sym_CARET] = ACTIONS(2216),
    [anon_sym_PLUS] = ACTIONS(2216),
    [anon_sym_SLASH] = ACTIONS(2216),
    [anon_sym_PERCENT] = ACTIONS(2216),
    [sym_comment] = ACTIONS(256),
  },
  [2880] = {
    [sym__heredoc_body_middle] = ACTIONS(3346),
    [sym__heredoc_body_end] = ACTIONS(3346),
    [sym__element_reference_left_bracket] = ACTIONS(3346),
    [sym__scope_double_colon] = ACTIONS(3346),
    [sym__binary_minus] = ACTIONS(3346),
    [sym__binary_star] = ACTIONS(3346),
    [anon_sym_DOT] = ACTIONS(3350),
    [anon_sym_COMMA] = ACTIONS(3346),
    [anon_sym_PIPE] = ACTIONS(3350),
    [anon_sym_STAR_STAR] = ACTIONS(3350),
    [anon_sym_AMP] = ACTIONS(3350),
    [anon_sym_EQ] = ACTIONS(3350),
    [anon_sym_LT] = ACTIONS(3350),
    [anon_sym_if] = ACTIONS(3346),
    [anon_sym_unless] = ACTIONS(3346),
    [anon_sym_while] = ACTIONS(3346),
    [anon_sym_until] = ACTIONS(3346),
    [anon_sym_rescue] = ACTIONS(3346),
    [anon_sym_AMP_DOT] = ACTIONS(3346),
    [anon_sym_PLUS_EQ] = ACTIONS(3346),
    [anon_sym_DASH_EQ] = ACTIONS(3346),
    [anon_sym_STAR_EQ] = ACTIONS(3346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3346),
    [anon_sym_SLASH_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3346),
    [anon_sym_AMP_EQ] = ACTIONS(3346),
    [anon_sym_PERCENT_EQ] = ACTIONS(3346),
    [anon_sym_GT_GT_EQ] = ACTIONS(3346),
    [anon_sym_LT_LT_EQ] = ACTIONS(3346),
    [anon_sym_CARET_EQ] = ACTIONS(3346),
    [anon_sym_QMARK] = ACTIONS(3346),
    [anon_sym_DOT_DOT] = ACTIONS(3350),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3346),
    [anon_sym_and] = ACTIONS(3346),
    [anon_sym_or] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE] = ACTIONS(3350),
    [anon_sym_AMP_AMP] = ACTIONS(3350),
    [anon_sym_LT_LT] = ACTIONS(3350),
    [anon_sym_GT_GT] = ACTIONS(3350),
    [anon_sym_EQ_EQ] = ACTIONS(3350),
    [anon_sym_BANG_EQ] = ACTIONS(3346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3346),
    [anon_sym_LT_EQ_GT] = ACTIONS(3346),
    [anon_sym_EQ_TILDE] = ACTIONS(3346),
    [anon_sym_BANG_TILDE] = ACTIONS(3346),
    [anon_sym_LT_EQ] = ACTIONS(3350),
    [anon_sym_GT] = ACTIONS(3350),
    [anon_sym_GT_EQ] = ACTIONS(3346),
    [anon_sym_CARET] = ACTIONS(3350),
    [anon_sym_PLUS] = ACTIONS(3350),
    [anon_sym_SLASH] = ACTIONS(3350),
    [anon_sym_PERCENT] = ACTIONS(3350),
    [sym_comment] = ACTIONS(256),
  },
  [2881] = {
    [sym__simple_heredoc_body] = ACTIONS(968),
    [sym__heredoc_body_beginning] = ACTIONS(968),
    [sym__heredoc_body_middle] = ACTIONS(968),
    [sym__heredoc_body_end] = ACTIONS(968),
    [sym__element_reference_left_bracket] = ACTIONS(968),
    [sym__scope_double_colon] = ACTIONS(968),
    [sym__binary_minus] = ACTIONS(968),
    [sym__binary_star] = ACTIONS(968),
    [anon_sym_LBRACE] = ACTIONS(968),
    [anon_sym_DOT] = ACTIONS(976),
    [anon_sym_COMMA] = ACTIONS(968),
    [anon_sym_PIPE] = ACTIONS(976),
    [anon_sym_STAR_STAR] = ACTIONS(976),
    [anon_sym_AMP] = ACTIONS(976),
    [anon_sym_EQ] = ACTIONS(976),
    [anon_sym_LT] = ACTIONS(976),
    [anon_sym_if] = ACTIONS(968),
    [anon_sym_unless] = ACTIONS(968),
    [anon_sym_while] = ACTIONS(968),
    [anon_sym_until] = ACTIONS(968),
    [anon_sym_rescue] = ACTIONS(968),
    [anon_sym_do] = ACTIONS(968),
    [anon_sym_EQ_GT] = ACTIONS(968),
    [anon_sym_AMP_DOT] = ACTIONS(968),
    [anon_sym_PLUS_EQ] = ACTIONS(968),
    [anon_sym_DASH_EQ] = ACTIONS(968),
    [anon_sym_STAR_EQ] = ACTIONS(968),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(968),
    [anon_sym_SLASH_EQ] = ACTIONS(968),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(968),
    [anon_sym_PIPE_EQ] = ACTIONS(968),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(968),
    [anon_sym_AMP_EQ] = ACTIONS(968),
    [anon_sym_PERCENT_EQ] = ACTIONS(968),
    [anon_sym_GT_GT_EQ] = ACTIONS(968),
    [anon_sym_LT_LT_EQ] = ACTIONS(968),
    [anon_sym_CARET_EQ] = ACTIONS(968),
    [anon_sym_QMARK] = ACTIONS(968),
    [anon_sym_DOT_DOT] = ACTIONS(976),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(968),
    [anon_sym_and] = ACTIONS(968),
    [anon_sym_or] = ACTIONS(968),
    [anon_sym_PIPE_PIPE] = ACTIONS(976),
    [anon_sym_AMP_AMP] = ACTIONS(976),
    [anon_sym_LT_LT] = ACTIONS(976),
    [anon_sym_GT_GT] = ACTIONS(976),
    [anon_sym_EQ_EQ] = ACTIONS(976),
    [anon_sym_BANG_EQ] = ACTIONS(968),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(968),
    [anon_sym_LT_EQ_GT] = ACTIONS(968),
    [anon_sym_EQ_TILDE] = ACTIONS(968),
    [anon_sym_BANG_TILDE] = ACTIONS(968),
    [anon_sym_LT_EQ] = ACTIONS(976),
    [anon_sym_GT] = ACTIONS(976),
    [anon_sym_GT_EQ] = ACTIONS(968),
    [anon_sym_CARET] = ACTIONS(976),
    [anon_sym_PLUS] = ACTIONS(976),
    [anon_sym_SLASH] = ACTIONS(976),
    [anon_sym_PERCENT] = ACTIONS(976),
    [sym_comment] = ACTIONS(256),
  },
  [2882] = {
    [anon_sym_EQ] = ACTIONS(8276),
    [sym_comment] = ACTIONS(256),
  },
  [2883] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__heredoc_body_middle] = ACTIONS(250),
    [sym__heredoc_body_end] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(8278),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(8280),
    [anon_sym_DASH_EQ] = ACTIONS(8280),
    [anon_sym_STAR_EQ] = ACTIONS(8280),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8280),
    [anon_sym_SLASH_EQ] = ACTIONS(8280),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8280),
    [anon_sym_PIPE_EQ] = ACTIONS(8280),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8280),
    [anon_sym_AMP_EQ] = ACTIONS(8280),
    [anon_sym_PERCENT_EQ] = ACTIONS(8280),
    [anon_sym_GT_GT_EQ] = ACTIONS(8280),
    [anon_sym_LT_LT_EQ] = ACTIONS(8280),
    [anon_sym_CARET_EQ] = ACTIONS(8280),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [2884] = {
    [sym__keyword_colon] = ACTIONS(8282),
    [sym_comment] = ACTIONS(110),
  },
  [2885] = {
    [sym_string] = STATE(5916),
    [aux_sym_chained_string_repeat1] = STATE(5917),
    [sym__simple_string] = ACTIONS(8168),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(8170),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__heredoc_body_middle] = ACTIONS(250),
    [sym__heredoc_body_end] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(8228),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(8210),
  },
  [2886] = {
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(5923),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_splat_argument] = STATE(5924),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_right_assignment_list] = STATE(5925),
    [sym__arg_or_splat_arg] = STATE(5926),
    [sym_left_assignment_list] = STATE(5927),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5928),
    [sym__variable] = STATE(907),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__splat_star] = ACTIONS(8284),
    [sym__unary_minus] = ACTIONS(8286),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(8288),
    [anon_sym_defined_QMARK] = ACTIONS(8290),
    [anon_sym_not] = ACTIONS(8292),
    [anon_sym_BANG] = ACTIONS(8294),
    [anon_sym_TILDE] = ACTIONS(8294),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [2887] = {
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(5929),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [2888] = {
    [sym__simple_string] = ACTIONS(3382),
    [sym__string_beginning] = ACTIONS(3382),
    [sym__heredoc_body_middle] = ACTIONS(3382),
    [sym__heredoc_body_end] = ACTIONS(3382),
    [sym__element_reference_left_bracket] = ACTIONS(3382),
    [sym__scope_double_colon] = ACTIONS(3382),
    [sym__binary_minus] = ACTIONS(3382),
    [sym__binary_star] = ACTIONS(3382),
    [anon_sym_DOT] = ACTIONS(3384),
    [anon_sym_COMMA] = ACTIONS(3382),
    [anon_sym_PIPE] = ACTIONS(3384),
    [anon_sym_STAR_STAR] = ACTIONS(3382),
    [anon_sym_AMP] = ACTIONS(3384),
    [anon_sym_LT] = ACTIONS(3384),
    [anon_sym_if] = ACTIONS(3382),
    [anon_sym_unless] = ACTIONS(3382),
    [anon_sym_while] = ACTIONS(3382),
    [anon_sym_until] = ACTIONS(3382),
    [anon_sym_rescue] = ACTIONS(3382),
    [anon_sym_AMP_DOT] = ACTIONS(3382),
    [anon_sym_QMARK] = ACTIONS(3384),
    [anon_sym_DOT_DOT] = ACTIONS(3384),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3382),
    [anon_sym_and] = ACTIONS(3382),
    [anon_sym_or] = ACTIONS(3382),
    [anon_sym_PIPE_PIPE] = ACTIONS(3382),
    [anon_sym_AMP_AMP] = ACTIONS(3382),
    [anon_sym_LT_LT] = ACTIONS(3382),
    [anon_sym_GT_GT] = ACTIONS(3382),
    [anon_sym_EQ_EQ] = ACTIONS(3384),
    [anon_sym_BANG_EQ] = ACTIONS(3382),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3382),
    [anon_sym_LT_EQ_GT] = ACTIONS(3382),
    [anon_sym_EQ_TILDE] = ACTIONS(3382),
    [anon_sym_BANG_TILDE] = ACTIONS(3382),
    [anon_sym_LT_EQ] = ACTIONS(3384),
    [anon_sym_GT] = ACTIONS(3384),
    [anon_sym_GT_EQ] = ACTIONS(3382),
    [anon_sym_CARET] = ACTIONS(3382),
    [anon_sym_PLUS] = ACTIONS(3382),
    [anon_sym_SLASH] = ACTIONS(3382),
    [anon_sym_PERCENT] = ACTIONS(3382),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(3384),
  },
  [2889] = {
    [sym_string] = STATE(5930),
    [sym__simple_string] = ACTIONS(1400),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__heredoc_body_middle] = ACTIONS(3386),
    [sym__heredoc_body_end] = ACTIONS(3386),
    [sym__element_reference_left_bracket] = ACTIONS(3386),
    [sym__scope_double_colon] = ACTIONS(3386),
    [sym__binary_minus] = ACTIONS(3386),
    [sym__binary_star] = ACTIONS(3386),
    [anon_sym_DOT] = ACTIONS(3388),
    [anon_sym_COMMA] = ACTIONS(3386),
    [anon_sym_PIPE] = ACTIONS(3388),
    [anon_sym_STAR_STAR] = ACTIONS(3386),
    [anon_sym_AMP] = ACTIONS(3388),
    [anon_sym_LT] = ACTIONS(3388),
    [anon_sym_if] = ACTIONS(3386),
    [anon_sym_unless] = ACTIONS(3386),
    [anon_sym_while] = ACTIONS(3386),
    [anon_sym_until] = ACTIONS(3386),
    [anon_sym_rescue] = ACTIONS(3386),
    [anon_sym_AMP_DOT] = ACTIONS(3386),
    [anon_sym_QMARK] = ACTIONS(3388),
    [anon_sym_DOT_DOT] = ACTIONS(3388),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3386),
    [anon_sym_and] = ACTIONS(3386),
    [anon_sym_or] = ACTIONS(3386),
    [anon_sym_PIPE_PIPE] = ACTIONS(3386),
    [anon_sym_AMP_AMP] = ACTIONS(3386),
    [anon_sym_LT_LT] = ACTIONS(3386),
    [anon_sym_GT_GT] = ACTIONS(3386),
    [anon_sym_EQ_EQ] = ACTIONS(3388),
    [anon_sym_BANG_EQ] = ACTIONS(3386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3386),
    [anon_sym_LT_EQ_GT] = ACTIONS(3386),
    [anon_sym_EQ_TILDE] = ACTIONS(3386),
    [anon_sym_BANG_TILDE] = ACTIONS(3386),
    [anon_sym_LT_EQ] = ACTIONS(3388),
    [anon_sym_GT] = ACTIONS(3388),
    [anon_sym_GT_EQ] = ACTIONS(3386),
    [anon_sym_CARET] = ACTIONS(3386),
    [anon_sym_PLUS] = ACTIONS(3386),
    [anon_sym_SLASH] = ACTIONS(3386),
    [anon_sym_PERCENT] = ACTIONS(3386),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(1498),
  },
  [2890] = {
    [sym__heredoc_body_middle] = ACTIONS(8296),
    [sym__heredoc_body_end] = ACTIONS(8298),
    [anon_sym_if] = ACTIONS(4112),
    [anon_sym_unless] = ACTIONS(4114),
    [anon_sym_while] = ACTIONS(4116),
    [anon_sym_until] = ACTIONS(4118),
    [anon_sym_rescue] = ACTIONS(4120),
    [sym_comment] = ACTIONS(110),
  },
  [2891] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(8300),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [2892] = {
    [sym__statement] = STATE(5934),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [2893] = {
    [sym__element_reference_left_bracket] = ACTIONS(4578),
    [sym__scope_double_colon] = ACTIONS(4578),
    [sym__binary_minus] = ACTIONS(4578),
    [sym__binary_star] = ACTIONS(4578),
    [anon_sym_LBRACE] = ACTIONS(4578),
    [anon_sym_RPAREN] = ACTIONS(4578),
    [anon_sym_DOT] = ACTIONS(4580),
    [anon_sym_COMMA] = ACTIONS(4578),
    [anon_sym_PIPE] = ACTIONS(4580),
    [anon_sym_SEMI] = ACTIONS(4578),
    [anon_sym_STAR_STAR] = ACTIONS(4578),
    [anon_sym_AMP] = ACTIONS(4580),
    [anon_sym_LT] = ACTIONS(4580),
    [anon_sym_do] = ACTIONS(4578),
    [anon_sym_EQ_GT] = ACTIONS(4578),
    [anon_sym_AMP_DOT] = ACTIONS(4578),
    [anon_sym_QMARK] = ACTIONS(4578),
    [anon_sym_COLON] = ACTIONS(4578),
    [anon_sym_DOT_DOT] = ACTIONS(4580),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4578),
    [anon_sym_and] = ACTIONS(4578),
    [anon_sym_or] = ACTIONS(4578),
    [anon_sym_PIPE_PIPE] = ACTIONS(4578),
    [anon_sym_AMP_AMP] = ACTIONS(4578),
    [anon_sym_LT_LT] = ACTIONS(4578),
    [anon_sym_GT_GT] = ACTIONS(4578),
    [anon_sym_EQ_EQ] = ACTIONS(4580),
    [anon_sym_BANG_EQ] = ACTIONS(4578),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4578),
    [anon_sym_LT_EQ_GT] = ACTIONS(4578),
    [anon_sym_EQ_TILDE] = ACTIONS(4578),
    [anon_sym_BANG_TILDE] = ACTIONS(4578),
    [anon_sym_LT_EQ] = ACTIONS(4580),
    [anon_sym_GT] = ACTIONS(4580),
    [anon_sym_GT_EQ] = ACTIONS(4578),
    [anon_sym_CARET] = ACTIONS(4578),
    [anon_sym_PLUS] = ACTIONS(4578),
    [anon_sym_SLASH] = ACTIONS(4578),
    [anon_sym_PERCENT] = ACTIONS(4578),
    [sym_comment] = ACTIONS(110),
  },
  [2894] = {
    [anon_sym_RBRACE] = ACTIONS(8302),
    [sym_comment] = ACTIONS(110),
  },
  [2895] = {
    [sym__binary_minus] = ACTIONS(4614),
    [sym__binary_star] = ACTIONS(4616),
    [anon_sym_RPAREN] = ACTIONS(8304),
    [anon_sym_PIPE] = ACTIONS(4620),
    [anon_sym_STAR_STAR] = ACTIONS(4622),
    [anon_sym_AMP] = ACTIONS(4624),
    [anon_sym_LT] = ACTIONS(4626),
    [anon_sym_QMARK] = ACTIONS(4628),
    [anon_sym_DOT_DOT] = ACTIONS(4630),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4632),
    [anon_sym_and] = ACTIONS(4634),
    [anon_sym_or] = ACTIONS(4634),
    [anon_sym_PIPE_PIPE] = ACTIONS(4636),
    [anon_sym_AMP_AMP] = ACTIONS(4636),
    [anon_sym_LT_LT] = ACTIONS(4638),
    [anon_sym_GT_GT] = ACTIONS(4638),
    [anon_sym_EQ_EQ] = ACTIONS(4640),
    [anon_sym_BANG_EQ] = ACTIONS(4636),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4636),
    [anon_sym_LT_EQ_GT] = ACTIONS(4636),
    [anon_sym_EQ_TILDE] = ACTIONS(4636),
    [anon_sym_BANG_TILDE] = ACTIONS(4636),
    [anon_sym_LT_EQ] = ACTIONS(4626),
    [anon_sym_GT] = ACTIONS(4626),
    [anon_sym_GT_EQ] = ACTIONS(4642),
    [anon_sym_CARET] = ACTIONS(4644),
    [anon_sym_PLUS] = ACTIONS(4646),
    [anon_sym_SLASH] = ACTIONS(4622),
    [anon_sym_PERCENT] = ACTIONS(4622),
    [sym_comment] = ACTIONS(110),
  },
  [2896] = {
    [sym__method_rest] = STATE(5937),
    [sym_operator] = STATE(217),
    [sym__method_name] = STATE(941),
    [sym_setter] = STATE(217),
    [sym_symbol] = STATE(217),
    [sym__simple_symbol] = ACTIONS(378),
    [sym__symbol_beginning] = ACTIONS(380),
    [anon_sym_PIPE] = ACTIONS(384),
    [anon_sym_STAR] = ACTIONS(386),
    [anon_sym_STAR_STAR] = ACTIONS(384),
    [anon_sym_AMP] = ACTIONS(384),
    [anon_sym_LT] = ACTIONS(386),
    [anon_sym_DOT_DOT] = ACTIONS(384),
    [anon_sym_LT_LT] = ACTIONS(384),
    [anon_sym_GT_GT] = ACTIONS(384),
    [anon_sym_EQ_EQ] = ACTIONS(386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(384),
    [anon_sym_LT_EQ_GT] = ACTIONS(384),
    [anon_sym_EQ_TILDE] = ACTIONS(384),
    [anon_sym_BANG_TILDE] = ACTIONS(384),
    [anon_sym_LT_EQ] = ACTIONS(386),
    [anon_sym_GT] = ACTIONS(386),
    [anon_sym_GT_EQ] = ACTIONS(384),
    [anon_sym_CARET] = ACTIONS(384),
    [anon_sym_PLUS] = ACTIONS(386),
    [anon_sym_SLASH] = ACTIONS(384),
    [anon_sym_PERCENT] = ACTIONS(384),
    [anon_sym_BANG] = ACTIONS(386),
    [anon_sym_TILDE] = ACTIONS(384),
    [sym_constant] = ACTIONS(4694),
    [sym_identifier] = ACTIONS(4696),
    [sym_instance_variable] = ACTIONS(4694),
    [sym_class_variable] = ACTIONS(4694),
    [sym_global_variable] = ACTIONS(4694),
    [anon_sym_DASH] = ACTIONS(386),
    [anon_sym_PLUS_AT] = ACTIONS(384),
    [anon_sym_DASH_AT] = ACTIONS(384),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(386),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(384),
    [anon_sym_BQUOTE] = ACTIONS(384),
    [sym_comment] = ACTIONS(110),
  },
  [2897] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(5939),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(8306),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2898] = {
    [sym__element_reference_left_bracket] = ACTIONS(4826),
    [sym__scope_double_colon] = ACTIONS(4826),
    [sym__binary_minus] = ACTIONS(4826),
    [sym__binary_star] = ACTIONS(4826),
    [anon_sym_LBRACE] = ACTIONS(4826),
    [anon_sym_RPAREN] = ACTIONS(4826),
    [anon_sym_DOT] = ACTIONS(4828),
    [anon_sym_COMMA] = ACTIONS(4826),
    [anon_sym_PIPE] = ACTIONS(4828),
    [anon_sym_SEMI] = ACTIONS(4826),
    [anon_sym_STAR_STAR] = ACTIONS(4826),
    [anon_sym_AMP] = ACTIONS(4828),
    [anon_sym_LT] = ACTIONS(4828),
    [anon_sym_do] = ACTIONS(4826),
    [anon_sym_EQ_GT] = ACTIONS(4826),
    [anon_sym_AMP_DOT] = ACTIONS(4826),
    [anon_sym_QMARK] = ACTIONS(4826),
    [anon_sym_COLON] = ACTIONS(4826),
    [anon_sym_DOT_DOT] = ACTIONS(4828),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4826),
    [anon_sym_and] = ACTIONS(4826),
    [anon_sym_or] = ACTIONS(4826),
    [anon_sym_PIPE_PIPE] = ACTIONS(4826),
    [anon_sym_AMP_AMP] = ACTIONS(4826),
    [anon_sym_LT_LT] = ACTIONS(4826),
    [anon_sym_GT_GT] = ACTIONS(4826),
    [anon_sym_EQ_EQ] = ACTIONS(4828),
    [anon_sym_BANG_EQ] = ACTIONS(4826),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4826),
    [anon_sym_LT_EQ_GT] = ACTIONS(4826),
    [anon_sym_EQ_TILDE] = ACTIONS(4826),
    [anon_sym_BANG_TILDE] = ACTIONS(4826),
    [anon_sym_LT_EQ] = ACTIONS(4828),
    [anon_sym_GT] = ACTIONS(4828),
    [anon_sym_GT_EQ] = ACTIONS(4826),
    [anon_sym_CARET] = ACTIONS(4826),
    [anon_sym_PLUS] = ACTIONS(4826),
    [anon_sym_SLASH] = ACTIONS(4826),
    [anon_sym_PERCENT] = ACTIONS(4826),
    [sym_comment] = ACTIONS(110),
  },
  [2899] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(8308),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [2900] = {
    [sym__statement] = STATE(5941),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [2901] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_RBRACE] = ACTIONS(1372),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_STAR_STAR] = ACTIONS(4292),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [2902] = {
    [sym__simple_string] = ACTIONS(2010),
    [sym__simple_symbol] = ACTIONS(2010),
    [sym__simple_subshell] = ACTIONS(2010),
    [sym__simple_regex] = ACTIONS(2010),
    [sym__simple_word_list] = ACTIONS(2010),
    [sym__simple_heredoc_body] = ACTIONS(2010),
    [sym__string_beginning] = ACTIONS(2010),
    [sym__symbol_beginning] = ACTIONS(2010),
    [sym__subshell_beginning] = ACTIONS(2010),
    [sym__regex_beginning] = ACTIONS(2010),
    [sym__word_list_beginning] = ACTIONS(2010),
    [sym__heredoc_body_beginning] = ACTIONS(2010),
    [sym_heredoc_beginning] = ACTIONS(2010),
    [sym__element_reference_left_bracket] = ACTIONS(2010),
    [sym__block_ampersand] = ACTIONS(2010),
    [sym__splat_star] = ACTIONS(2010),
    [sym__argument_list_left_paren] = ACTIONS(2010),
    [sym__scope_double_colon] = ACTIONS(2010),
    [sym__unary_minus] = ACTIONS(2010),
    [sym__binary_minus] = ACTIONS(2010),
    [sym__binary_star] = ACTIONS(2010),
    [anon_sym_LBRACE] = ACTIONS(2010),
    [anon_sym_RBRACE] = ACTIONS(2010),
    [anon_sym_def] = ACTIONS(2012),
    [anon_sym_LPAREN] = ACTIONS(2010),
    [anon_sym_RPAREN] = ACTIONS(2010),
    [anon_sym_DOT] = ACTIONS(2012),
    [anon_sym_COLON_COLON] = ACTIONS(2010),
    [anon_sym_end] = ACTIONS(2012),
    [anon_sym_COMMA] = ACTIONS(2010),
    [anon_sym_PIPE] = ACTIONS(2012),
    [anon_sym_SEMI] = ACTIONS(2010),
    [anon_sym_STAR] = ACTIONS(2012),
    [anon_sym_STAR_STAR] = ACTIONS(2012),
    [anon_sym_AMP] = ACTIONS(2012),
    [anon_sym_EQ] = ACTIONS(2012),
    [anon_sym_class] = ACTIONS(2012),
    [anon_sym_LT] = ACTIONS(2012),
    [anon_sym_module] = ACTIONS(2012),
    [anon_sym_return] = ACTIONS(2012),
    [anon_sym_yield] = ACTIONS(2012),
    [anon_sym_break] = ACTIONS(2012),
    [anon_sym_next] = ACTIONS(2012),
    [anon_sym_redo] = ACTIONS(2012),
    [anon_sym_retry] = ACTIONS(2012),
    [anon_sym_if] = ACTIONS(2012),
    [anon_sym_unless] = ACTIONS(2012),
    [anon_sym_while] = ACTIONS(2012),
    [anon_sym_until] = ACTIONS(2012),
    [anon_sym_rescue] = ACTIONS(2012),
    [anon_sym_for] = ACTIONS(2012),
    [anon_sym_in] = ACTIONS(2012),
    [anon_sym_do] = ACTIONS(2012),
    [anon_sym_case] = ACTIONS(2012),
    [anon_sym_when] = ACTIONS(2012),
    [anon_sym_elsif] = ACTIONS(2012),
    [anon_sym_else] = ACTIONS(2012),
    [anon_sym_then] = ACTIONS(2012),
    [anon_sym_begin] = ACTIONS(2012),
    [anon_sym_ensure] = ACTIONS(2012),
    [anon_sym_RBRACK] = ACTIONS(2010),
    [anon_sym_AMP_DOT] = ACTIONS(2010),
    [anon_sym_PLUS_EQ] = ACTIONS(2010),
    [anon_sym_DASH_EQ] = ACTIONS(2010),
    [anon_sym_STAR_EQ] = ACTIONS(2010),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2010),
    [anon_sym_SLASH_EQ] = ACTIONS(2010),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2010),
    [anon_sym_PIPE_EQ] = ACTIONS(2010),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2010),
    [anon_sym_AMP_EQ] = ACTIONS(2010),
    [anon_sym_PERCENT_EQ] = ACTIONS(2010),
    [anon_sym_GT_GT_EQ] = ACTIONS(2010),
    [anon_sym_LT_LT_EQ] = ACTIONS(2010),
    [anon_sym_CARET_EQ] = ACTIONS(2010),
    [anon_sym_QMARK] = ACTIONS(2012),
    [anon_sym_COLON] = ACTIONS(2012),
    [anon_sym_DOT_DOT] = ACTIONS(2012),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2010),
    [anon_sym_and] = ACTIONS(2012),
    [anon_sym_or] = ACTIONS(2012),
    [anon_sym_PIPE_PIPE] = ACTIONS(2012),
    [anon_sym_AMP_AMP] = ACTIONS(2012),
    [anon_sym_LT_LT] = ACTIONS(2012),
    [anon_sym_GT_GT] = ACTIONS(2012),
    [anon_sym_EQ_EQ] = ACTIONS(2012),
    [anon_sym_BANG_EQ] = ACTIONS(2010),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2010),
    [anon_sym_LT_EQ_GT] = ACTIONS(2010),
    [anon_sym_EQ_TILDE] = ACTIONS(2010),
    [anon_sym_BANG_TILDE] = ACTIONS(2010),
    [anon_sym_LT_EQ] = ACTIONS(2012),
    [anon_sym_GT] = ACTIONS(2012),
    [anon_sym_GT_EQ] = ACTIONS(2010),
    [anon_sym_CARET] = ACTIONS(2012),
    [anon_sym_PLUS] = ACTIONS(2012),
    [anon_sym_SLASH] = ACTIONS(2012),
    [anon_sym_PERCENT] = ACTIONS(2012),
    [anon_sym_defined_QMARK] = ACTIONS(2010),
    [anon_sym_not] = ACTIONS(2012),
    [anon_sym_BANG] = ACTIONS(2012),
    [anon_sym_TILDE] = ACTIONS(2010),
    [sym_constant] = ACTIONS(2014),
    [sym_identifier] = ACTIONS(2014),
    [sym_instance_variable] = ACTIONS(2012),
    [sym_class_variable] = ACTIONS(2012),
    [sym_global_variable] = ACTIONS(2012),
    [anon_sym_alias] = ACTIONS(2012),
    [anon_sym_defined] = ACTIONS(2012),
    [anon_sym_false] = ACTIONS(2012),
    [anon_sym_nil] = ACTIONS(2012),
    [anon_sym_self] = ACTIONS(2012),
    [anon_sym_super] = ACTIONS(2012),
    [anon_sym_true] = ACTIONS(2012),
    [anon_sym_undef] = ACTIONS(2012),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(2012),
    [sym_float] = ACTIONS(2014),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(2010),
    [anon_sym_TRUE] = ACTIONS(2012),
    [anon_sym_FALSE] = ACTIONS(2012),
    [anon_sym_NIL] = ACTIONS(2012),
    [sym_keyword__FILE__] = ACTIONS(2012),
    [sym_keyword__LINE__] = ACTIONS(2012),
    [sym_keyword__ENCODING__] = ACTIONS(2012),
    [sym__character_literal] = ACTIONS(2012),
    [anon_sym_LBRACK] = ACTIONS(2010),
    [anon_sym_DASH_GT] = ACTIONS(2010),
  },
  [2903] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(5946),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(977),
    [sym_call] = STATE(977),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(5947),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5948),
    [sym__variable] = STATE(977),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(8310),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(1578),
    [anon_sym_yield] = ACTIONS(1580),
    [anon_sym_break] = ACTIONS(1582),
    [anon_sym_next] = ACTIONS(1584),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8312),
    [anon_sym_defined_QMARK] = ACTIONS(8314),
    [anon_sym_not] = ACTIONS(8316),
    [anon_sym_BANG] = ACTIONS(8318),
    [anon_sym_TILDE] = ACTIONS(8318),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2904] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(5949),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(977),
    [sym_call] = STATE(977),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(5947),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5948),
    [sym__variable] = STATE(977),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(8310),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(1578),
    [anon_sym_yield] = ACTIONS(1580),
    [anon_sym_break] = ACTIONS(1582),
    [anon_sym_next] = ACTIONS(1584),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8312),
    [anon_sym_defined_QMARK] = ACTIONS(8314),
    [anon_sym_not] = ACTIONS(8316),
    [anon_sym_BANG] = ACTIONS(8318),
    [anon_sym_TILDE] = ACTIONS(8318),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2905] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(5954),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2917),
    [sym_call] = STATE(2917),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(2919),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2920),
    [sym__variable] = STATE(2917),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4264),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(8320),
    [anon_sym_yield] = ACTIONS(8322),
    [anon_sym_break] = ACTIONS(8324),
    [anon_sym_next] = ACTIONS(8326),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8328),
    [anon_sym_defined_QMARK] = ACTIONS(4274),
    [anon_sym_not] = ACTIONS(8330),
    [anon_sym_BANG] = ACTIONS(4280),
    [anon_sym_TILDE] = ACTIONS(4280),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2906] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(5955),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(977),
    [sym_call] = STATE(977),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(5947),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5948),
    [sym__variable] = STATE(977),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(8310),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(1578),
    [anon_sym_yield] = ACTIONS(1580),
    [anon_sym_break] = ACTIONS(1582),
    [anon_sym_next] = ACTIONS(1584),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8312),
    [anon_sym_defined_QMARK] = ACTIONS(8314),
    [anon_sym_not] = ACTIONS(8316),
    [anon_sym_BANG] = ACTIONS(8318),
    [anon_sym_TILDE] = ACTIONS(8318),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2907] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(5960),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2917),
    [sym_call] = STATE(2917),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1886),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(5961),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(2919),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2920),
    [sym__variable] = STATE(2917),
    [sym_reserved_identifier] = STATE(5962),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(5963),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(8332),
    [sym__splat_star] = ACTIONS(8334),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(4264),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_RBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(4266),
    [anon_sym_yield] = ACTIONS(4268),
    [anon_sym_break] = ACTIONS(4270),
    [anon_sym_next] = ACTIONS(4272),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(4274),
    [anon_sym_not] = ACTIONS(4276),
    [anon_sym_BANG] = ACTIONS(4278),
    [anon_sym_TILDE] = ACTIONS(4280),
    [sym_constant] = ACTIONS(8336),
    [sym_identifier] = ACTIONS(8336),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2908] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(5960),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2917),
    [sym_call] = STATE(2917),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1892),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(5961),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(2919),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2920),
    [sym__variable] = STATE(2917),
    [sym_reserved_identifier] = STATE(5962),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(5963),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(8332),
    [sym__splat_star] = ACTIONS(8334),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(4264),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_RBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(4266),
    [anon_sym_yield] = ACTIONS(4268),
    [anon_sym_break] = ACTIONS(4270),
    [anon_sym_next] = ACTIONS(4272),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(4274),
    [anon_sym_not] = ACTIONS(4276),
    [anon_sym_BANG] = ACTIONS(4278),
    [anon_sym_TILDE] = ACTIONS(4280),
    [sym_constant] = ACTIONS(8336),
    [sym_identifier] = ACTIONS(8336),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2909] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(5960),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2917),
    [sym_call] = STATE(2917),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1893),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(5961),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(2919),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2920),
    [sym__variable] = STATE(2917),
    [sym_reserved_identifier] = STATE(5962),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(5963),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(8332),
    [sym__splat_star] = ACTIONS(8334),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(4264),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_RBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(4266),
    [anon_sym_yield] = ACTIONS(4268),
    [anon_sym_break] = ACTIONS(4270),
    [anon_sym_next] = ACTIONS(4272),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(4274),
    [anon_sym_not] = ACTIONS(4276),
    [anon_sym_BANG] = ACTIONS(4278),
    [anon_sym_TILDE] = ACTIONS(4280),
    [sym_constant] = ACTIONS(8336),
    [sym_identifier] = ACTIONS(8336),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2910] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(5960),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2917),
    [sym_call] = STATE(2917),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1894),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(5961),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(2919),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2920),
    [sym__variable] = STATE(2917),
    [sym_reserved_identifier] = STATE(5962),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(5963),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(8332),
    [sym__splat_star] = ACTIONS(8334),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(4264),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_RBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(4266),
    [anon_sym_yield] = ACTIONS(4268),
    [anon_sym_break] = ACTIONS(4270),
    [anon_sym_next] = ACTIONS(4272),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(4274),
    [anon_sym_not] = ACTIONS(4276),
    [anon_sym_BANG] = ACTIONS(4278),
    [anon_sym_TILDE] = ACTIONS(4280),
    [sym_constant] = ACTIONS(8336),
    [sym_identifier] = ACTIONS(8336),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2911] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(5964),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2917),
    [sym_call] = STATE(2917),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(2919),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2920),
    [sym__variable] = STATE(2917),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4264),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(8320),
    [anon_sym_yield] = ACTIONS(8322),
    [anon_sym_break] = ACTIONS(8324),
    [anon_sym_next] = ACTIONS(8326),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8328),
    [anon_sym_defined_QMARK] = ACTIONS(4274),
    [anon_sym_not] = ACTIONS(8330),
    [anon_sym_BANG] = ACTIONS(4280),
    [anon_sym_TILDE] = ACTIONS(4280),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2912] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(5965),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2917),
    [sym_call] = STATE(2917),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(2919),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2920),
    [sym__variable] = STATE(2917),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4264),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(8320),
    [anon_sym_yield] = ACTIONS(8322),
    [anon_sym_break] = ACTIONS(8324),
    [anon_sym_next] = ACTIONS(8326),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8328),
    [anon_sym_defined_QMARK] = ACTIONS(4274),
    [anon_sym_not] = ACTIONS(8330),
    [anon_sym_BANG] = ACTIONS(4280),
    [anon_sym_TILDE] = ACTIONS(4280),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2913] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(5965),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2917),
    [sym_call] = STATE(2917),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(2919),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2920),
    [sym__variable] = STATE(2917),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(4264),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(8320),
    [anon_sym_yield] = ACTIONS(8322),
    [anon_sym_break] = ACTIONS(8324),
    [anon_sym_next] = ACTIONS(8326),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8328),
    [anon_sym_defined_QMARK] = ACTIONS(4274),
    [anon_sym_not] = ACTIONS(8330),
    [anon_sym_BANG] = ACTIONS(4280),
    [anon_sym_TILDE] = ACTIONS(4280),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2914] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(2988),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2917),
    [sym_call] = STATE(2917),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(2919),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2920),
    [sym__variable] = STATE(2917),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4264),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(8320),
    [anon_sym_yield] = ACTIONS(8322),
    [anon_sym_break] = ACTIONS(8324),
    [anon_sym_next] = ACTIONS(8326),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8328),
    [anon_sym_defined_QMARK] = ACTIONS(4274),
    [anon_sym_not] = ACTIONS(8330),
    [anon_sym_BANG] = ACTIONS(4280),
    [anon_sym_TILDE] = ACTIONS(4280),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2915] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(8338),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_RBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [2916] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(8340),
    [sym__binary_star] = ACTIONS(8342),
    [anon_sym_RBRACE] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(8344),
    [anon_sym_STAR_STAR] = ACTIONS(8346),
    [anon_sym_AMP] = ACTIONS(8348),
    [anon_sym_LT] = ACTIONS(8350),
    [anon_sym_EQ_GT] = ACTIONS(8338),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(8352),
    [anon_sym_DOT_DOT] = ACTIONS(8354),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8356),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(8358),
    [anon_sym_AMP_AMP] = ACTIONS(8358),
    [anon_sym_LT_LT] = ACTIONS(8360),
    [anon_sym_GT_GT] = ACTIONS(8360),
    [anon_sym_EQ_EQ] = ACTIONS(8362),
    [anon_sym_BANG_EQ] = ACTIONS(8358),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8358),
    [anon_sym_LT_EQ_GT] = ACTIONS(8358),
    [anon_sym_EQ_TILDE] = ACTIONS(8358),
    [anon_sym_BANG_TILDE] = ACTIONS(8358),
    [anon_sym_LT_EQ] = ACTIONS(8350),
    [anon_sym_GT] = ACTIONS(8350),
    [anon_sym_GT_EQ] = ACTIONS(8364),
    [anon_sym_CARET] = ACTIONS(8366),
    [anon_sym_PLUS] = ACTIONS(8368),
    [anon_sym_SLASH] = ACTIONS(8346),
    [anon_sym_PERCENT] = ACTIONS(8346),
    [sym_comment] = ACTIONS(110),
  },
  [2917] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(5983),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2957),
    [sym_call] = STATE(2957),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1950),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(5984),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_do_block] = STATE(1952),
    [sym_block] = STATE(1952),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(2963),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2964),
    [sym__variable] = STATE(2957),
    [sym_reserved_identifier] = STATE(5985),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(5986),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(8370),
    [sym__splat_star] = ACTIONS(8372),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(4332),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(3012),
    [anon_sym_RBRACE] = ACTIONS(980),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(4336),
    [anon_sym_yield] = ACTIONS(4338),
    [anon_sym_break] = ACTIONS(4340),
    [anon_sym_next] = ACTIONS(4342),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(3022),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(980),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(4346),
    [anon_sym_not] = ACTIONS(4348),
    [anon_sym_BANG] = ACTIONS(4350),
    [anon_sym_TILDE] = ACTIONS(4352),
    [sym_constant] = ACTIONS(8374),
    [sym_identifier] = ACTIONS(8374),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [2918] = {
    [sym_heredoc_end] = STATE(3004),
    [aux_sym_argument_list_repeat1] = STATE(5988),
    [aux_sym_argument_list_repeat2] = STATE(3005),
    [sym__simple_heredoc_body] = ACTIONS(4410),
    [sym__heredoc_body_beginning] = ACTIONS(4412),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_RBRACE] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(8376),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_STAR_STAR] = ACTIONS(2272),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2272),
    [anon_sym_AMP_AMP] = ACTIONS(2272),
    [anon_sym_LT_LT] = ACTIONS(2272),
    [anon_sym_GT_GT] = ACTIONS(2272),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2272),
    [anon_sym_PLUS] = ACTIONS(2272),
    [anon_sym_SLASH] = ACTIONS(2272),
    [anon_sym_PERCENT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(110),
  },
  [2919] = {
    [anon_sym_EQ] = ACTIONS(8378),
    [sym_comment] = ACTIONS(256),
  },
  [2920] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_RBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(8380),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(8382),
    [anon_sym_DASH_EQ] = ACTIONS(8382),
    [anon_sym_STAR_EQ] = ACTIONS(8382),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8382),
    [anon_sym_SLASH_EQ] = ACTIONS(8382),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8382),
    [anon_sym_PIPE_EQ] = ACTIONS(8382),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8382),
    [anon_sym_AMP_EQ] = ACTIONS(8382),
    [anon_sym_PERCENT_EQ] = ACTIONS(8382),
    [anon_sym_GT_GT_EQ] = ACTIONS(8382),
    [anon_sym_LT_LT_EQ] = ACTIONS(8382),
    [anon_sym_CARET_EQ] = ACTIONS(8382),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [2921] = {
    [sym__keyword_colon] = ACTIONS(8384),
    [sym_comment] = ACTIONS(110),
  },
  [2922] = {
    [sym_string] = STATE(1962),
    [aux_sym_chained_string_repeat1] = STATE(1963),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(8338),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_RBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(1626),
  },
  [2923] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_RBRACE] = ACTIONS(2870),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(4292),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [2924] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(4286),
    [sym__binary_star] = ACTIONS(4288),
    [anon_sym_RBRACE] = ACTIONS(2870),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(4290),
    [anon_sym_STAR_STAR] = ACTIONS(4292),
    [anon_sym_AMP] = ACTIONS(4294),
    [anon_sym_LT] = ACTIONS(4296),
    [anon_sym_QMARK] = ACTIONS(4298),
    [anon_sym_DOT_DOT] = ACTIONS(4300),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4302),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(4306),
    [anon_sym_AMP_AMP] = ACTIONS(4306),
    [anon_sym_LT_LT] = ACTIONS(4308),
    [anon_sym_GT_GT] = ACTIONS(4308),
    [anon_sym_EQ_EQ] = ACTIONS(4310),
    [anon_sym_BANG_EQ] = ACTIONS(4306),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4306),
    [anon_sym_LT_EQ_GT] = ACTIONS(4306),
    [anon_sym_EQ_TILDE] = ACTIONS(4306),
    [anon_sym_BANG_TILDE] = ACTIONS(4306),
    [anon_sym_LT_EQ] = ACTIONS(4296),
    [anon_sym_GT] = ACTIONS(4296),
    [anon_sym_GT_EQ] = ACTIONS(4312),
    [anon_sym_CARET] = ACTIONS(4314),
    [anon_sym_PLUS] = ACTIONS(4316),
    [anon_sym_SLASH] = ACTIONS(4292),
    [anon_sym_PERCENT] = ACTIONS(4292),
    [sym_comment] = ACTIONS(110),
  },
  [2925] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(5992),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(977),
    [sym_call] = STATE(977),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(978),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(979),
    [sym__variable] = STATE(977),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(1568),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(1578),
    [anon_sym_yield] = ACTIONS(1580),
    [anon_sym_break] = ACTIONS(1582),
    [anon_sym_next] = ACTIONS(1584),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(1604),
    [anon_sym_defined_QMARK] = ACTIONS(1606),
    [anon_sym_not] = ACTIONS(1608),
    [anon_sym_BANG] = ACTIONS(1610),
    [anon_sym_TILDE] = ACTIONS(1610),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2926] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(5993),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(977),
    [sym_call] = STATE(977),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(978),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(979),
    [sym__variable] = STATE(977),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(1568),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(1578),
    [anon_sym_yield] = ACTIONS(1580),
    [anon_sym_break] = ACTIONS(1582),
    [anon_sym_next] = ACTIONS(1584),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(1604),
    [anon_sym_defined_QMARK] = ACTIONS(1606),
    [anon_sym_not] = ACTIONS(1608),
    [anon_sym_BANG] = ACTIONS(1610),
    [anon_sym_TILDE] = ACTIONS(1610),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2927] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(5994),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(977),
    [sym_call] = STATE(977),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(978),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(979),
    [sym__variable] = STATE(977),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(1568),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(1578),
    [anon_sym_yield] = ACTIONS(1580),
    [anon_sym_break] = ACTIONS(1582),
    [anon_sym_next] = ACTIONS(1584),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(1604),
    [anon_sym_defined_QMARK] = ACTIONS(1606),
    [anon_sym_not] = ACTIONS(1608),
    [anon_sym_BANG] = ACTIONS(1610),
    [anon_sym_TILDE] = ACTIONS(1610),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2928] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(5995),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(977),
    [sym_call] = STATE(977),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(978),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(979),
    [sym__variable] = STATE(977),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(1568),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(1578),
    [anon_sym_yield] = ACTIONS(1580),
    [anon_sym_break] = ACTIONS(1582),
    [anon_sym_next] = ACTIONS(1584),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(1604),
    [anon_sym_defined_QMARK] = ACTIONS(1606),
    [anon_sym_not] = ACTIONS(1608),
    [anon_sym_BANG] = ACTIONS(1610),
    [anon_sym_TILDE] = ACTIONS(1610),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2929] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(5996),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(977),
    [sym_call] = STATE(977),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(978),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(979),
    [sym__variable] = STATE(977),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(1568),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(1578),
    [anon_sym_yield] = ACTIONS(1580),
    [anon_sym_break] = ACTIONS(1582),
    [anon_sym_next] = ACTIONS(1584),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(1604),
    [anon_sym_defined_QMARK] = ACTIONS(1606),
    [anon_sym_not] = ACTIONS(1608),
    [anon_sym_BANG] = ACTIONS(1610),
    [anon_sym_TILDE] = ACTIONS(1610),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2930] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(5997),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(977),
    [sym_call] = STATE(977),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(978),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(979),
    [sym__variable] = STATE(977),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(1568),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(1578),
    [anon_sym_yield] = ACTIONS(1580),
    [anon_sym_break] = ACTIONS(1582),
    [anon_sym_next] = ACTIONS(1584),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(1604),
    [anon_sym_defined_QMARK] = ACTIONS(1606),
    [anon_sym_not] = ACTIONS(1608),
    [anon_sym_BANG] = ACTIONS(1610),
    [anon_sym_TILDE] = ACTIONS(1610),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2931] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(5998),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [2932] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(5999),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(977),
    [sym_call] = STATE(977),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(978),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(979),
    [sym__variable] = STATE(977),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(1568),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(1578),
    [anon_sym_yield] = ACTIONS(1580),
    [anon_sym_break] = ACTIONS(1582),
    [anon_sym_next] = ACTIONS(1584),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(1604),
    [anon_sym_defined_QMARK] = ACTIONS(1606),
    [anon_sym_not] = ACTIONS(1608),
    [anon_sym_BANG] = ACTIONS(1610),
    [anon_sym_TILDE] = ACTIONS(1610),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2933] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6000),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(977),
    [sym_call] = STATE(977),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(978),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(979),
    [sym__variable] = STATE(977),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(1568),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(1578),
    [anon_sym_yield] = ACTIONS(1580),
    [anon_sym_break] = ACTIONS(1582),
    [anon_sym_next] = ACTIONS(1584),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(1604),
    [anon_sym_defined_QMARK] = ACTIONS(1606),
    [anon_sym_not] = ACTIONS(1608),
    [anon_sym_BANG] = ACTIONS(1610),
    [anon_sym_TILDE] = ACTIONS(1610),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2934] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6001),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(977),
    [sym_call] = STATE(977),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(978),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(979),
    [sym__variable] = STATE(977),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(1568),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(1578),
    [anon_sym_yield] = ACTIONS(1580),
    [anon_sym_break] = ACTIONS(1582),
    [anon_sym_next] = ACTIONS(1584),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(1604),
    [anon_sym_defined_QMARK] = ACTIONS(1606),
    [anon_sym_not] = ACTIONS(1608),
    [anon_sym_BANG] = ACTIONS(1610),
    [anon_sym_TILDE] = ACTIONS(1610),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2935] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6002),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(977),
    [sym_call] = STATE(977),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(978),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(979),
    [sym__variable] = STATE(977),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(1568),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(1578),
    [anon_sym_yield] = ACTIONS(1580),
    [anon_sym_break] = ACTIONS(1582),
    [anon_sym_next] = ACTIONS(1584),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(1604),
    [anon_sym_defined_QMARK] = ACTIONS(1606),
    [anon_sym_not] = ACTIONS(1608),
    [anon_sym_BANG] = ACTIONS(1610),
    [anon_sym_TILDE] = ACTIONS(1610),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2936] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6003),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(977),
    [sym_call] = STATE(977),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(978),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(979),
    [sym__variable] = STATE(977),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(1568),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(1578),
    [anon_sym_yield] = ACTIONS(1580),
    [anon_sym_break] = ACTIONS(1582),
    [anon_sym_next] = ACTIONS(1584),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(1604),
    [anon_sym_defined_QMARK] = ACTIONS(1606),
    [anon_sym_not] = ACTIONS(1608),
    [anon_sym_BANG] = ACTIONS(1610),
    [anon_sym_TILDE] = ACTIONS(1610),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2937] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(501),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(6005),
    [sym__argument] = STATE(506),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(509),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(510),
    [sym__variable] = STATE(504),
    [sym_reserved_identifier] = STATE(511),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(512),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(6006),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(804),
    [sym__splat_star] = ACTIONS(806),
    [sym__unary_minus] = ACTIONS(808),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(818),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(824),
    [anon_sym_yield] = ACTIONS(826),
    [anon_sym_break] = ACTIONS(828),
    [anon_sym_next] = ACTIONS(830),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_RBRACK] = ACTIONS(8386),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(852),
    [anon_sym_defined_QMARK] = ACTIONS(854),
    [anon_sym_not] = ACTIONS(856),
    [anon_sym_BANG] = ACTIONS(858),
    [anon_sym_TILDE] = ACTIONS(858),
    [sym_constant] = ACTIONS(860),
    [sym_identifier] = ACTIONS(860),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2938] = {
    [sym_constant] = ACTIONS(8388),
    [sym_identifier] = ACTIONS(8388),
    [sym_comment] = ACTIONS(110),
  },
  [2939] = {
    [sym_argument_list_with_parens] = STATE(6010),
    [sym__argument_list_with_parens] = STATE(6011),
    [sym_operator] = STATE(6010),
    [sym__argument_list_left_paren] = ACTIONS(8390),
    [anon_sym_PIPE] = ACTIONS(8392),
    [anon_sym_STAR] = ACTIONS(8394),
    [anon_sym_STAR_STAR] = ACTIONS(8392),
    [anon_sym_AMP] = ACTIONS(8392),
    [anon_sym_LT] = ACTIONS(8394),
    [anon_sym_DOT_DOT] = ACTIONS(8392),
    [anon_sym_LT_LT] = ACTIONS(8392),
    [anon_sym_GT_GT] = ACTIONS(8392),
    [anon_sym_EQ_EQ] = ACTIONS(8394),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8392),
    [anon_sym_LT_EQ_GT] = ACTIONS(8392),
    [anon_sym_EQ_TILDE] = ACTIONS(8392),
    [anon_sym_BANG_TILDE] = ACTIONS(8392),
    [anon_sym_LT_EQ] = ACTIONS(8394),
    [anon_sym_GT] = ACTIONS(8394),
    [anon_sym_GT_EQ] = ACTIONS(8392),
    [anon_sym_CARET] = ACTIONS(8392),
    [anon_sym_PLUS] = ACTIONS(8394),
    [anon_sym_SLASH] = ACTIONS(8392),
    [anon_sym_PERCENT] = ACTIONS(8392),
    [anon_sym_BANG] = ACTIONS(8394),
    [anon_sym_TILDE] = ACTIONS(8392),
    [sym_constant] = ACTIONS(8396),
    [sym_identifier] = ACTIONS(8396),
    [anon_sym_DASH] = ACTIONS(8394),
    [anon_sym_PLUS_AT] = ACTIONS(8392),
    [anon_sym_DASH_AT] = ACTIONS(8392),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(8394),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(8392),
    [anon_sym_BQUOTE] = ACTIONS(8392),
    [sym_comment] = ACTIONS(110),
  },
  [2940] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(6049),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6051),
    [sym_call] = STATE(6051),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(6053),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6054),
    [sym__variable] = STATE(6051),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(8420),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(8432),
    [anon_sym_yield] = ACTIONS(8434),
    [anon_sym_break] = ACTIONS(8436),
    [anon_sym_next] = ACTIONS(8438),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(8458),
    [anon_sym_defined_QMARK] = ACTIONS(8460),
    [anon_sym_not] = ACTIONS(8462),
    [anon_sym_BANG] = ACTIONS(8464),
    [anon_sym_TILDE] = ACTIONS(8464),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [2941] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(6056),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6051),
    [sym_call] = STATE(6051),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(6053),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6054),
    [sym__variable] = STATE(6051),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(8420),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(8432),
    [anon_sym_yield] = ACTIONS(8434),
    [anon_sym_break] = ACTIONS(8436),
    [anon_sym_next] = ACTIONS(8438),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(8458),
    [anon_sym_defined_QMARK] = ACTIONS(8460),
    [anon_sym_not] = ACTIONS(8462),
    [anon_sym_BANG] = ACTIONS(8464),
    [anon_sym_TILDE] = ACTIONS(8464),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [2942] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1382),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(6058),
    [sym__argument] = STATE(1385),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1386),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1387),
    [sym__variable] = STATE(1383),
    [sym_reserved_identifier] = STATE(1388),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1389),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(6059),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(2154),
    [sym__splat_star] = ACTIONS(2156),
    [sym__unary_minus] = ACTIONS(2158),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(8480),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2162),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2164),
    [anon_sym_yield] = ACTIONS(2166),
    [anon_sym_break] = ACTIONS(2168),
    [anon_sym_next] = ACTIONS(2170),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2172),
    [anon_sym_defined_QMARK] = ACTIONS(2174),
    [anon_sym_not] = ACTIONS(2176),
    [anon_sym_BANG] = ACTIONS(2178),
    [anon_sym_TILDE] = ACTIONS(2178),
    [sym_constant] = ACTIONS(2180),
    [sym_identifier] = ACTIONS(2180),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2943] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(6064),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2957),
    [sym_call] = STATE(2957),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(2963),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2964),
    [sym__variable] = STATE(2957),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(4332),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(8482),
    [anon_sym_yield] = ACTIONS(8484),
    [anon_sym_break] = ACTIONS(8486),
    [anon_sym_next] = ACTIONS(8488),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(8490),
    [anon_sym_defined_QMARK] = ACTIONS(4346),
    [anon_sym_not] = ACTIONS(8492),
    [anon_sym_BANG] = ACTIONS(4352),
    [anon_sym_TILDE] = ACTIONS(4352),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [2944] = {
    [sym__statements] = STATE(6065),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(6066),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2128),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_hash_splat_argument] = STATE(197),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(2130),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2131),
    [sym__variable] = STATE(2129),
    [sym_reserved_identifier] = STATE(201),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(2132),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(3090),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym__hash_items] = STATE(3091),
    [sym_pair] = STATE(205),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3268),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(4494),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_PIPE] = ACTIONS(3048),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(302),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(3272),
    [anon_sym_yield] = ACTIONS(3274),
    [anon_sym_break] = ACTIONS(3276),
    [anon_sym_next] = ACTIONS(3278),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(3280),
    [anon_sym_defined_QMARK] = ACTIONS(3282),
    [anon_sym_not] = ACTIONS(3284),
    [anon_sym_BANG] = ACTIONS(3286),
    [anon_sym_TILDE] = ACTIONS(3286),
    [sym_constant] = ACTIONS(3288),
    [sym_identifier] = ACTIONS(3288),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(3290),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(3292),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2945] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(6067),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6051),
    [sym_call] = STATE(6051),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(6053),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6054),
    [sym__variable] = STATE(6051),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(8420),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(8432),
    [anon_sym_yield] = ACTIONS(8434),
    [anon_sym_break] = ACTIONS(8436),
    [anon_sym_next] = ACTIONS(8438),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(8458),
    [anon_sym_defined_QMARK] = ACTIONS(8460),
    [anon_sym_not] = ACTIONS(8462),
    [anon_sym_BANG] = ACTIONS(8464),
    [anon_sym_TILDE] = ACTIONS(8464),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [2946] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(5983),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2957),
    [sym_call] = STATE(2957),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(3104),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(5984),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(2963),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2964),
    [sym__variable] = STATE(2957),
    [sym_reserved_identifier] = STATE(5985),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(5986),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(8370),
    [sym__splat_star] = ACTIONS(8372),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(4332),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_RBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(544),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(4336),
    [anon_sym_yield] = ACTIONS(4338),
    [anon_sym_break] = ACTIONS(4340),
    [anon_sym_next] = ACTIONS(4342),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_PLUS_EQ] = ACTIONS(532),
    [anon_sym_DASH_EQ] = ACTIONS(532),
    [anon_sym_STAR_EQ] = ACTIONS(532),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(532),
    [anon_sym_SLASH_EQ] = ACTIONS(532),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(532),
    [anon_sym_PIPE_EQ] = ACTIONS(532),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(532),
    [anon_sym_AMP_EQ] = ACTIONS(532),
    [anon_sym_PERCENT_EQ] = ACTIONS(532),
    [anon_sym_GT_GT_EQ] = ACTIONS(532),
    [anon_sym_LT_LT_EQ] = ACTIONS(532),
    [anon_sym_CARET_EQ] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(544),
    [anon_sym_AMP_AMP] = ACTIONS(544),
    [anon_sym_LT_LT] = ACTIONS(544),
    [anon_sym_GT_GT] = ACTIONS(544),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(544),
    [anon_sym_PERCENT] = ACTIONS(544),
    [anon_sym_defined_QMARK] = ACTIONS(4346),
    [anon_sym_not] = ACTIONS(4348),
    [anon_sym_BANG] = ACTIONS(4350),
    [anon_sym_TILDE] = ACTIONS(4352),
    [sym_constant] = ACTIONS(8374),
    [sym_identifier] = ACTIONS(8374),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [2947] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(5983),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2957),
    [sym_call] = STATE(2957),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(3105),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(5984),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(2963),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2964),
    [sym__variable] = STATE(2957),
    [sym_reserved_identifier] = STATE(5985),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(5986),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(8370),
    [sym__splat_star] = ACTIONS(8372),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(4332),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_RBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(604),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(4336),
    [anon_sym_yield] = ACTIONS(4338),
    [anon_sym_break] = ACTIONS(4340),
    [anon_sym_next] = ACTIONS(4342),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_PLUS_EQ] = ACTIONS(602),
    [anon_sym_DASH_EQ] = ACTIONS(602),
    [anon_sym_STAR_EQ] = ACTIONS(602),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(602),
    [anon_sym_SLASH_EQ] = ACTIONS(602),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(602),
    [anon_sym_PIPE_EQ] = ACTIONS(602),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(602),
    [anon_sym_AMP_EQ] = ACTIONS(602),
    [anon_sym_PERCENT_EQ] = ACTIONS(602),
    [anon_sym_GT_GT_EQ] = ACTIONS(602),
    [anon_sym_LT_LT_EQ] = ACTIONS(602),
    [anon_sym_CARET_EQ] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(604),
    [anon_sym_AMP_AMP] = ACTIONS(604),
    [anon_sym_LT_LT] = ACTIONS(604),
    [anon_sym_GT_GT] = ACTIONS(604),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(604),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(604),
    [anon_sym_PERCENT] = ACTIONS(604),
    [anon_sym_defined_QMARK] = ACTIONS(4346),
    [anon_sym_not] = ACTIONS(4348),
    [anon_sym_BANG] = ACTIONS(4350),
    [anon_sym_TILDE] = ACTIONS(4352),
    [sym_constant] = ACTIONS(8374),
    [sym_identifier] = ACTIONS(8374),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [2948] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(5983),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2957),
    [sym_call] = STATE(2957),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(3106),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(5984),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(2963),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2964),
    [sym__variable] = STATE(2957),
    [sym_reserved_identifier] = STATE(5985),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(5986),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(8370),
    [sym__splat_star] = ACTIONS(8372),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(4332),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_RBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(608),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(4336),
    [anon_sym_yield] = ACTIONS(4338),
    [anon_sym_break] = ACTIONS(4340),
    [anon_sym_next] = ACTIONS(4342),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_PLUS_EQ] = ACTIONS(606),
    [anon_sym_DASH_EQ] = ACTIONS(606),
    [anon_sym_STAR_EQ] = ACTIONS(606),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(606),
    [anon_sym_SLASH_EQ] = ACTIONS(606),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(606),
    [anon_sym_PIPE_EQ] = ACTIONS(606),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(606),
    [anon_sym_AMP_EQ] = ACTIONS(606),
    [anon_sym_PERCENT_EQ] = ACTIONS(606),
    [anon_sym_GT_GT_EQ] = ACTIONS(606),
    [anon_sym_LT_LT_EQ] = ACTIONS(606),
    [anon_sym_CARET_EQ] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(608),
    [anon_sym_AMP_AMP] = ACTIONS(608),
    [anon_sym_LT_LT] = ACTIONS(608),
    [anon_sym_GT_GT] = ACTIONS(608),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(608),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(608),
    [anon_sym_PERCENT] = ACTIONS(608),
    [anon_sym_defined_QMARK] = ACTIONS(4346),
    [anon_sym_not] = ACTIONS(4348),
    [anon_sym_BANG] = ACTIONS(4350),
    [anon_sym_TILDE] = ACTIONS(4352),
    [sym_constant] = ACTIONS(8374),
    [sym_identifier] = ACTIONS(8374),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [2949] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(5983),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2957),
    [sym_call] = STATE(2957),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(3107),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(5984),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(2963),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2964),
    [sym__variable] = STATE(2957),
    [sym_reserved_identifier] = STATE(5985),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(5986),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(8370),
    [sym__splat_star] = ACTIONS(8372),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(4332),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_RBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(612),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(4336),
    [anon_sym_yield] = ACTIONS(4338),
    [anon_sym_break] = ACTIONS(4340),
    [anon_sym_next] = ACTIONS(4342),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_PLUS_EQ] = ACTIONS(610),
    [anon_sym_DASH_EQ] = ACTIONS(610),
    [anon_sym_STAR_EQ] = ACTIONS(610),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(610),
    [anon_sym_SLASH_EQ] = ACTIONS(610),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(610),
    [anon_sym_PIPE_EQ] = ACTIONS(610),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(610),
    [anon_sym_AMP_EQ] = ACTIONS(610),
    [anon_sym_PERCENT_EQ] = ACTIONS(610),
    [anon_sym_GT_GT_EQ] = ACTIONS(610),
    [anon_sym_LT_LT_EQ] = ACTIONS(610),
    [anon_sym_CARET_EQ] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(612),
    [anon_sym_AMP_AMP] = ACTIONS(612),
    [anon_sym_LT_LT] = ACTIONS(612),
    [anon_sym_GT_GT] = ACTIONS(612),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(612),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(612),
    [anon_sym_PERCENT] = ACTIONS(612),
    [anon_sym_defined_QMARK] = ACTIONS(4346),
    [anon_sym_not] = ACTIONS(4348),
    [anon_sym_BANG] = ACTIONS(4350),
    [anon_sym_TILDE] = ACTIONS(4352),
    [sym_constant] = ACTIONS(8374),
    [sym_identifier] = ACTIONS(8374),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [2950] = {
    [sym__statements] = STATE(6069),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(6070),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1981),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(6071),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(3076),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(3078),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(3080),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(8494),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(3086),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2951] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(6072),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2957),
    [sym_call] = STATE(2957),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(2963),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2964),
    [sym__variable] = STATE(2957),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(4332),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(8482),
    [anon_sym_yield] = ACTIONS(8484),
    [anon_sym_break] = ACTIONS(8486),
    [anon_sym_next] = ACTIONS(8488),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(8490),
    [anon_sym_defined_QMARK] = ACTIONS(4346),
    [anon_sym_not] = ACTIONS(8492),
    [anon_sym_BANG] = ACTIONS(4352),
    [anon_sym_TILDE] = ACTIONS(4352),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [2952] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(6073),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2957),
    [sym_call] = STATE(2957),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(2963),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2964),
    [sym__variable] = STATE(2957),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(4332),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(8482),
    [anon_sym_yield] = ACTIONS(8484),
    [anon_sym_break] = ACTIONS(8486),
    [anon_sym_next] = ACTIONS(8488),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(8490),
    [anon_sym_defined_QMARK] = ACTIONS(4346),
    [anon_sym_not] = ACTIONS(8492),
    [anon_sym_BANG] = ACTIONS(4352),
    [anon_sym_TILDE] = ACTIONS(4352),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [2953] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(6073),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2957),
    [sym_call] = STATE(2957),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(2963),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2964),
    [sym__variable] = STATE(2957),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(4332),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(8482),
    [anon_sym_yield] = ACTIONS(8484),
    [anon_sym_break] = ACTIONS(8486),
    [anon_sym_next] = ACTIONS(8488),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(8490),
    [anon_sym_defined_QMARK] = ACTIONS(4346),
    [anon_sym_not] = ACTIONS(8492),
    [anon_sym_BANG] = ACTIONS(4352),
    [anon_sym_TILDE] = ACTIONS(4352),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [2954] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(3125),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2957),
    [sym_call] = STATE(2957),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(2963),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2964),
    [sym__variable] = STATE(2957),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(4332),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(8482),
    [anon_sym_yield] = ACTIONS(8484),
    [anon_sym_break] = ACTIONS(8486),
    [anon_sym_next] = ACTIONS(8488),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(8490),
    [anon_sym_defined_QMARK] = ACTIONS(4346),
    [anon_sym_not] = ACTIONS(8492),
    [anon_sym_BANG] = ACTIONS(4352),
    [anon_sym_TILDE] = ACTIONS(4352),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [2955] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(8496),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_RBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [2956] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(8498),
    [sym__binary_star] = ACTIONS(8500),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_RBRACE] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(8502),
    [anon_sym_STAR_STAR] = ACTIONS(8504),
    [anon_sym_AMP] = ACTIONS(8506),
    [anon_sym_EQ] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(8508),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(8496),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_PLUS_EQ] = ACTIONS(2210),
    [anon_sym_DASH_EQ] = ACTIONS(2210),
    [anon_sym_STAR_EQ] = ACTIONS(2210),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2210),
    [anon_sym_SLASH_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2210),
    [anon_sym_AMP_EQ] = ACTIONS(2210),
    [anon_sym_PERCENT_EQ] = ACTIONS(2210),
    [anon_sym_GT_GT_EQ] = ACTIONS(2210),
    [anon_sym_LT_LT_EQ] = ACTIONS(2210),
    [anon_sym_CARET_EQ] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(8510),
    [anon_sym_DOT_DOT] = ACTIONS(8512),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8514),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(8516),
    [anon_sym_AMP_AMP] = ACTIONS(8516),
    [anon_sym_LT_LT] = ACTIONS(8518),
    [anon_sym_GT_GT] = ACTIONS(8518),
    [anon_sym_EQ_EQ] = ACTIONS(8516),
    [anon_sym_BANG_EQ] = ACTIONS(8520),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8520),
    [anon_sym_LT_EQ_GT] = ACTIONS(8520),
    [anon_sym_EQ_TILDE] = ACTIONS(8520),
    [anon_sym_BANG_TILDE] = ACTIONS(8520),
    [anon_sym_LT_EQ] = ACTIONS(8508),
    [anon_sym_GT] = ACTIONS(8508),
    [anon_sym_GT_EQ] = ACTIONS(8522),
    [anon_sym_CARET] = ACTIONS(8502),
    [anon_sym_PLUS] = ACTIONS(8524),
    [anon_sym_SLASH] = ACTIONS(8504),
    [anon_sym_PERCENT] = ACTIONS(8504),
    [sym_comment] = ACTIONS(256),
  },
  [2957] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(5983),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2957),
    [sym_call] = STATE(2957),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(3147),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(5984),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_do_block] = STATE(1952),
    [sym_block] = STATE(1952),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(2963),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2964),
    [sym__variable] = STATE(2957),
    [sym_reserved_identifier] = STATE(5985),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(5986),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(8370),
    [sym__splat_star] = ACTIONS(8372),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(4332),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(3012),
    [anon_sym_RBRACE] = ACTIONS(980),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(4336),
    [anon_sym_yield] = ACTIONS(4338),
    [anon_sym_break] = ACTIONS(4340),
    [anon_sym_next] = ACTIONS(4342),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(982),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(980),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(4346),
    [anon_sym_not] = ACTIONS(4348),
    [anon_sym_BANG] = ACTIONS(4350),
    [anon_sym_TILDE] = ACTIONS(4352),
    [sym_constant] = ACTIONS(8374),
    [sym_identifier] = ACTIONS(8374),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [2958] = {
    [sym_do_block] = STATE(6089),
    [sym_block] = STATE(6089),
    [sym__simple_heredoc_body] = ACTIONS(3346),
    [sym__heredoc_body_beginning] = ACTIONS(3346),
    [sym__element_reference_left_bracket] = ACTIONS(3346),
    [sym__scope_double_colon] = ACTIONS(3346),
    [sym__binary_minus] = ACTIONS(3346),
    [sym__binary_star] = ACTIONS(3346),
    [anon_sym_LBRACE] = ACTIONS(8526),
    [anon_sym_RBRACE] = ACTIONS(3346),
    [anon_sym_RPAREN] = ACTIONS(3346),
    [anon_sym_DOT] = ACTIONS(3350),
    [anon_sym_COMMA] = ACTIONS(3346),
    [anon_sym_PIPE] = ACTIONS(3350),
    [anon_sym_SEMI] = ACTIONS(3346),
    [anon_sym_STAR_STAR] = ACTIONS(3350),
    [anon_sym_AMP] = ACTIONS(3350),
    [anon_sym_EQ] = ACTIONS(3350),
    [anon_sym_LT] = ACTIONS(3350),
    [anon_sym_do] = ACTIONS(8528),
    [anon_sym_RBRACK] = ACTIONS(3346),
    [anon_sym_AMP_DOT] = ACTIONS(3346),
    [anon_sym_PLUS_EQ] = ACTIONS(3346),
    [anon_sym_DASH_EQ] = ACTIONS(3346),
    [anon_sym_STAR_EQ] = ACTIONS(3346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3346),
    [anon_sym_SLASH_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3346),
    [anon_sym_AMP_EQ] = ACTIONS(3346),
    [anon_sym_PERCENT_EQ] = ACTIONS(3346),
    [anon_sym_GT_GT_EQ] = ACTIONS(3346),
    [anon_sym_LT_LT_EQ] = ACTIONS(3346),
    [anon_sym_CARET_EQ] = ACTIONS(3346),
    [anon_sym_QMARK] = ACTIONS(3346),
    [anon_sym_COLON] = ACTIONS(3346),
    [anon_sym_DOT_DOT] = ACTIONS(3350),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3346),
    [anon_sym_and] = ACTIONS(3346),
    [anon_sym_or] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE] = ACTIONS(3350),
    [anon_sym_AMP_AMP] = ACTIONS(3350),
    [anon_sym_LT_LT] = ACTIONS(3350),
    [anon_sym_GT_GT] = ACTIONS(3350),
    [anon_sym_EQ_EQ] = ACTIONS(3350),
    [anon_sym_BANG_EQ] = ACTIONS(3346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3346),
    [anon_sym_LT_EQ_GT] = ACTIONS(3346),
    [anon_sym_EQ_TILDE] = ACTIONS(3346),
    [anon_sym_BANG_TILDE] = ACTIONS(3346),
    [anon_sym_LT_EQ] = ACTIONS(3350),
    [anon_sym_GT] = ACTIONS(3350),
    [anon_sym_GT_EQ] = ACTIONS(3346),
    [anon_sym_CARET] = ACTIONS(3350),
    [anon_sym_PLUS] = ACTIONS(3350),
    [anon_sym_SLASH] = ACTIONS(3350),
    [anon_sym_PERCENT] = ACTIONS(3350),
    [sym_comment] = ACTIONS(256),
  },
  [2959] = {
    [sym_heredoc_end] = STATE(6092),
    [aux_sym_argument_list_repeat2] = STATE(6093),
    [sym__simple_heredoc_body] = ACTIONS(8530),
    [sym__heredoc_body_beginning] = ACTIONS(8532),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_RBRACE] = ACTIONS(2272),
    [anon_sym_RPAREN] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(2272),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_STAR_STAR] = ACTIONS(2274),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_EQ] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_in] = ACTIONS(2272),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_RBRACK] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_PLUS_EQ] = ACTIONS(2272),
    [anon_sym_DASH_EQ] = ACTIONS(2272),
    [anon_sym_STAR_EQ] = ACTIONS(2272),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2272),
    [anon_sym_SLASH_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2272),
    [anon_sym_AMP_EQ] = ACTIONS(2272),
    [anon_sym_PERCENT_EQ] = ACTIONS(2272),
    [anon_sym_GT_GT_EQ] = ACTIONS(2272),
    [anon_sym_LT_LT_EQ] = ACTIONS(2272),
    [anon_sym_CARET_EQ] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_COLON] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2274),
    [anon_sym_AMP_AMP] = ACTIONS(2274),
    [anon_sym_LT_LT] = ACTIONS(2274),
    [anon_sym_GT_GT] = ACTIONS(2274),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2274),
    [anon_sym_PLUS] = ACTIONS(2274),
    [anon_sym_SLASH] = ACTIONS(2274),
    [anon_sym_PERCENT] = ACTIONS(2274),
    [sym_comment] = ACTIONS(256),
  },
  [2960] = {
    [sym_heredoc_end] = STATE(6092),
    [aux_sym_argument_list_repeat1] = STATE(6095),
    [aux_sym_argument_list_repeat2] = STATE(6093),
    [sym__simple_heredoc_body] = ACTIONS(8530),
    [sym__heredoc_body_beginning] = ACTIONS(8532),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_RBRACE] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(8534),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_STAR_STAR] = ACTIONS(2274),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_EQ] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_PLUS_EQ] = ACTIONS(2272),
    [anon_sym_DASH_EQ] = ACTIONS(2272),
    [anon_sym_STAR_EQ] = ACTIONS(2272),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2272),
    [anon_sym_SLASH_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2272),
    [anon_sym_AMP_EQ] = ACTIONS(2272),
    [anon_sym_PERCENT_EQ] = ACTIONS(2272),
    [anon_sym_GT_GT_EQ] = ACTIONS(2272),
    [anon_sym_LT_LT_EQ] = ACTIONS(2272),
    [anon_sym_CARET_EQ] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2274),
    [anon_sym_AMP_AMP] = ACTIONS(2274),
    [anon_sym_LT_LT] = ACTIONS(2274),
    [anon_sym_GT_GT] = ACTIONS(2274),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2274),
    [anon_sym_PLUS] = ACTIONS(2274),
    [anon_sym_SLASH] = ACTIONS(2274),
    [anon_sym_PERCENT] = ACTIONS(2274),
    [sym_comment] = ACTIONS(256),
  },
  [2961] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(2210),
    [sym__binary_star] = ACTIONS(2210),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_RBRACE] = ACTIONS(2210),
    [anon_sym_RPAREN] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(2216),
    [anon_sym_SEMI] = ACTIONS(2210),
    [anon_sym_STAR_STAR] = ACTIONS(2216),
    [anon_sym_AMP] = ACTIONS(2216),
    [anon_sym_EQ] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(2216),
    [anon_sym_in] = ACTIONS(2210),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_RBRACK] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_PLUS_EQ] = ACTIONS(2210),
    [anon_sym_DASH_EQ] = ACTIONS(2210),
    [anon_sym_STAR_EQ] = ACTIONS(2210),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2210),
    [anon_sym_SLASH_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2210),
    [anon_sym_AMP_EQ] = ACTIONS(2210),
    [anon_sym_PERCENT_EQ] = ACTIONS(2210),
    [anon_sym_GT_GT_EQ] = ACTIONS(2210),
    [anon_sym_LT_LT_EQ] = ACTIONS(2210),
    [anon_sym_CARET_EQ] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(2210),
    [anon_sym_COLON] = ACTIONS(2210),
    [anon_sym_DOT_DOT] = ACTIONS(2216),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2210),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(2216),
    [anon_sym_AMP_AMP] = ACTIONS(2216),
    [anon_sym_LT_LT] = ACTIONS(2216),
    [anon_sym_GT_GT] = ACTIONS(2216),
    [anon_sym_EQ_EQ] = ACTIONS(2216),
    [anon_sym_BANG_EQ] = ACTIONS(2210),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2210),
    [anon_sym_LT_EQ_GT] = ACTIONS(2210),
    [anon_sym_EQ_TILDE] = ACTIONS(2210),
    [anon_sym_BANG_TILDE] = ACTIONS(2210),
    [anon_sym_LT_EQ] = ACTIONS(2216),
    [anon_sym_GT] = ACTIONS(2216),
    [anon_sym_GT_EQ] = ACTIONS(2210),
    [anon_sym_CARET] = ACTIONS(2216),
    [anon_sym_PLUS] = ACTIONS(2216),
    [anon_sym_SLASH] = ACTIONS(2216),
    [anon_sym_PERCENT] = ACTIONS(2216),
    [sym_comment] = ACTIONS(256),
  },
  [2962] = {
    [sym__simple_heredoc_body] = ACTIONS(3346),
    [sym__heredoc_body_beginning] = ACTIONS(3346),
    [sym__element_reference_left_bracket] = ACTIONS(3346),
    [sym__scope_double_colon] = ACTIONS(3346),
    [sym__binary_minus] = ACTIONS(3346),
    [sym__binary_star] = ACTIONS(3346),
    [anon_sym_LBRACE] = ACTIONS(3346),
    [anon_sym_RBRACE] = ACTIONS(3346),
    [anon_sym_RPAREN] = ACTIONS(3346),
    [anon_sym_DOT] = ACTIONS(3350),
    [anon_sym_COMMA] = ACTIONS(3346),
    [anon_sym_PIPE] = ACTIONS(3350),
    [anon_sym_SEMI] = ACTIONS(3346),
    [anon_sym_STAR_STAR] = ACTIONS(3350),
    [anon_sym_AMP] = ACTIONS(3350),
    [anon_sym_EQ] = ACTIONS(3350),
    [anon_sym_LT] = ACTIONS(3350),
    [anon_sym_in] = ACTIONS(3346),
    [anon_sym_do] = ACTIONS(3346),
    [anon_sym_RBRACK] = ACTIONS(3346),
    [anon_sym_AMP_DOT] = ACTIONS(3346),
    [anon_sym_PLUS_EQ] = ACTIONS(3346),
    [anon_sym_DASH_EQ] = ACTIONS(3346),
    [anon_sym_STAR_EQ] = ACTIONS(3346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3346),
    [anon_sym_SLASH_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3346),
    [anon_sym_AMP_EQ] = ACTIONS(3346),
    [anon_sym_PERCENT_EQ] = ACTIONS(3346),
    [anon_sym_GT_GT_EQ] = ACTIONS(3346),
    [anon_sym_LT_LT_EQ] = ACTIONS(3346),
    [anon_sym_CARET_EQ] = ACTIONS(3346),
    [anon_sym_QMARK] = ACTIONS(3346),
    [anon_sym_COLON] = ACTIONS(3346),
    [anon_sym_DOT_DOT] = ACTIONS(3350),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3346),
    [anon_sym_and] = ACTIONS(3346),
    [anon_sym_or] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE] = ACTIONS(3350),
    [anon_sym_AMP_AMP] = ACTIONS(3350),
    [anon_sym_LT_LT] = ACTIONS(3350),
    [anon_sym_GT_GT] = ACTIONS(3350),
    [anon_sym_EQ_EQ] = ACTIONS(3350),
    [anon_sym_BANG_EQ] = ACTIONS(3346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3346),
    [anon_sym_LT_EQ_GT] = ACTIONS(3346),
    [anon_sym_EQ_TILDE] = ACTIONS(3346),
    [anon_sym_BANG_TILDE] = ACTIONS(3346),
    [anon_sym_LT_EQ] = ACTIONS(3350),
    [anon_sym_GT] = ACTIONS(3350),
    [anon_sym_GT_EQ] = ACTIONS(3346),
    [anon_sym_CARET] = ACTIONS(3350),
    [anon_sym_PLUS] = ACTIONS(3350),
    [anon_sym_SLASH] = ACTIONS(3350),
    [anon_sym_PERCENT] = ACTIONS(3350),
    [sym_comment] = ACTIONS(256),
  },
  [2963] = {
    [anon_sym_EQ] = ACTIONS(8536),
    [sym_comment] = ACTIONS(256),
  },
  [2964] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_RBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(8538),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(8540),
    [anon_sym_DASH_EQ] = ACTIONS(8540),
    [anon_sym_STAR_EQ] = ACTIONS(8540),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8540),
    [anon_sym_SLASH_EQ] = ACTIONS(8540),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8540),
    [anon_sym_PIPE_EQ] = ACTIONS(8540),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8540),
    [anon_sym_AMP_EQ] = ACTIONS(8540),
    [anon_sym_PERCENT_EQ] = ACTIONS(8540),
    [anon_sym_GT_GT_EQ] = ACTIONS(8540),
    [anon_sym_LT_LT_EQ] = ACTIONS(8540),
    [anon_sym_CARET_EQ] = ACTIONS(8540),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [2965] = {
    [sym__keyword_colon] = ACTIONS(8542),
    [sym_comment] = ACTIONS(110),
  },
  [2966] = {
    [sym_string] = STATE(3160),
    [aux_sym_chained_string_repeat1] = STATE(3161),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(8496),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_RBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(4490),
  },
  [2967] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6100),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(977),
    [sym_call] = STATE(977),
    [sym_method_call] = STATE(976),
    [sym_splat_argument] = STATE(4790),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_right_assignment_list] = STATE(4791),
    [sym__arg_or_splat_arg] = STATE(6101),
    [sym_left_assignment_list] = STATE(978),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(979),
    [sym__variable] = STATE(977),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__splat_star] = ACTIONS(8544),
    [sym__unary_minus] = ACTIONS(1568),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(1578),
    [anon_sym_yield] = ACTIONS(1580),
    [anon_sym_break] = ACTIONS(1582),
    [anon_sym_next] = ACTIONS(1584),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(1604),
    [anon_sym_defined_QMARK] = ACTIONS(1606),
    [anon_sym_not] = ACTIONS(1608),
    [anon_sym_BANG] = ACTIONS(1610),
    [anon_sym_TILDE] = ACTIONS(1610),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2968] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6102),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(977),
    [sym_call] = STATE(977),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(978),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(979),
    [sym__variable] = STATE(977),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(1568),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(1578),
    [anon_sym_yield] = ACTIONS(1580),
    [anon_sym_break] = ACTIONS(1582),
    [anon_sym_next] = ACTIONS(1584),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(1604),
    [anon_sym_defined_QMARK] = ACTIONS(1606),
    [anon_sym_not] = ACTIONS(1608),
    [anon_sym_BANG] = ACTIONS(1610),
    [anon_sym_TILDE] = ACTIONS(1610),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2969] = {
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(6103),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym__line_break] = ACTIONS(692),
    [sym__binary_minus] = ACTIONS(5168),
    [sym__binary_star] = ACTIONS(5170),
    [anon_sym_PIPE] = ACTIONS(5172),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR_STAR] = ACTIONS(5174),
    [anon_sym_AMP] = ACTIONS(5176),
    [anon_sym_LT] = ACTIONS(5178),
    [anon_sym_QMARK] = ACTIONS(5180),
    [anon_sym_DOT_DOT] = ACTIONS(5182),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5184),
    [anon_sym_and] = ACTIONS(5186),
    [anon_sym_or] = ACTIONS(5186),
    [anon_sym_PIPE_PIPE] = ACTIONS(5188),
    [anon_sym_AMP_AMP] = ACTIONS(5188),
    [anon_sym_LT_LT] = ACTIONS(5190),
    [anon_sym_GT_GT] = ACTIONS(5190),
    [anon_sym_EQ_EQ] = ACTIONS(5192),
    [anon_sym_BANG_EQ] = ACTIONS(5188),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5188),
    [anon_sym_LT_EQ_GT] = ACTIONS(5188),
    [anon_sym_EQ_TILDE] = ACTIONS(5188),
    [anon_sym_BANG_TILDE] = ACTIONS(5188),
    [anon_sym_LT_EQ] = ACTIONS(5178),
    [anon_sym_GT] = ACTIONS(5178),
    [anon_sym_GT_EQ] = ACTIONS(5194),
    [anon_sym_CARET] = ACTIONS(5196),
    [anon_sym_PLUS] = ACTIONS(5198),
    [anon_sym_SLASH] = ACTIONS(5174),
    [anon_sym_PERCENT] = ACTIONS(5174),
    [sym_comment] = ACTIONS(110),
  },
  [2970] = {
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(6104),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym__line_break] = ACTIONS(692),
    [anon_sym_SEMI] = ACTIONS(692),
    [sym_comment] = ACTIONS(110),
  },
  [2971] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(6106),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(8546),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2972] = {
    [sym__element_reference_left_bracket] = ACTIONS(5290),
    [sym__scope_double_colon] = ACTIONS(5290),
    [sym__binary_minus] = ACTIONS(5290),
    [sym__binary_star] = ACTIONS(5290),
    [anon_sym_LBRACE] = ACTIONS(5290),
    [anon_sym_RPAREN] = ACTIONS(5290),
    [anon_sym_DOT] = ACTIONS(5292),
    [anon_sym_COMMA] = ACTIONS(5290),
    [anon_sym_PIPE] = ACTIONS(5292),
    [anon_sym_SEMI] = ACTIONS(5290),
    [anon_sym_STAR_STAR] = ACTIONS(5290),
    [anon_sym_AMP] = ACTIONS(5292),
    [anon_sym_LT] = ACTIONS(5292),
    [anon_sym_do] = ACTIONS(5290),
    [anon_sym_EQ_GT] = ACTIONS(5290),
    [anon_sym_AMP_DOT] = ACTIONS(5290),
    [anon_sym_QMARK] = ACTIONS(5290),
    [anon_sym_COLON] = ACTIONS(5290),
    [anon_sym_DOT_DOT] = ACTIONS(5292),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5290),
    [anon_sym_and] = ACTIONS(5290),
    [anon_sym_or] = ACTIONS(5290),
    [anon_sym_PIPE_PIPE] = ACTIONS(5290),
    [anon_sym_AMP_AMP] = ACTIONS(5290),
    [anon_sym_LT_LT] = ACTIONS(5290),
    [anon_sym_GT_GT] = ACTIONS(5290),
    [anon_sym_EQ_EQ] = ACTIONS(5292),
    [anon_sym_BANG_EQ] = ACTIONS(5290),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5290),
    [anon_sym_LT_EQ_GT] = ACTIONS(5290),
    [anon_sym_EQ_TILDE] = ACTIONS(5290),
    [anon_sym_BANG_TILDE] = ACTIONS(5290),
    [anon_sym_LT_EQ] = ACTIONS(5292),
    [anon_sym_GT] = ACTIONS(5292),
    [anon_sym_GT_EQ] = ACTIONS(5290),
    [anon_sym_CARET] = ACTIONS(5290),
    [anon_sym_PLUS] = ACTIONS(5290),
    [anon_sym_SLASH] = ACTIONS(5290),
    [anon_sym_PERCENT] = ACTIONS(5290),
    [sym_comment] = ACTIONS(110),
  },
  [2973] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(6108),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(8548),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [2974] = {
    [sym__element_reference_left_bracket] = ACTIONS(5290),
    [sym__scope_double_colon] = ACTIONS(5290),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__binary_minus] = ACTIONS(5290),
    [sym__binary_star] = ACTIONS(5290),
    [anon_sym_LBRACE] = ACTIONS(5290),
    [anon_sym_RPAREN] = ACTIONS(5290),
    [anon_sym_DOT] = ACTIONS(5292),
    [anon_sym_COMMA] = ACTIONS(5290),
    [anon_sym_PIPE] = ACTIONS(5292),
    [anon_sym_SEMI] = ACTIONS(5290),
    [anon_sym_STAR_STAR] = ACTIONS(5290),
    [anon_sym_AMP] = ACTIONS(5292),
    [anon_sym_LT] = ACTIONS(5292),
    [anon_sym_do] = ACTIONS(5290),
    [anon_sym_EQ_GT] = ACTIONS(5290),
    [anon_sym_AMP_DOT] = ACTIONS(5290),
    [anon_sym_QMARK] = ACTIONS(5290),
    [anon_sym_COLON] = ACTIONS(5290),
    [anon_sym_DOT_DOT] = ACTIONS(5292),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5290),
    [anon_sym_and] = ACTIONS(5290),
    [anon_sym_or] = ACTIONS(5290),
    [anon_sym_PIPE_PIPE] = ACTIONS(5290),
    [anon_sym_AMP_AMP] = ACTIONS(5290),
    [anon_sym_LT_LT] = ACTIONS(5290),
    [anon_sym_GT_GT] = ACTIONS(5290),
    [anon_sym_EQ_EQ] = ACTIONS(5292),
    [anon_sym_BANG_EQ] = ACTIONS(5290),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5290),
    [anon_sym_LT_EQ_GT] = ACTIONS(5290),
    [anon_sym_EQ_TILDE] = ACTIONS(5290),
    [anon_sym_BANG_TILDE] = ACTIONS(5290),
    [anon_sym_LT_EQ] = ACTIONS(5292),
    [anon_sym_GT] = ACTIONS(5292),
    [anon_sym_GT_EQ] = ACTIONS(5290),
    [anon_sym_CARET] = ACTIONS(5290),
    [anon_sym_PLUS] = ACTIONS(5290),
    [anon_sym_SLASH] = ACTIONS(5290),
    [anon_sym_PERCENT] = ACTIONS(5290),
    [sym_comment] = ACTIONS(110),
  },
  [2975] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1000),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1886),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(1004),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_reserved_identifier] = STATE(1009),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1010),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(1634),
    [sym__splat_star] = ACTIONS(1636),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(1640),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(1642),
    [anon_sym_yield] = ACTIONS(1644),
    [anon_sym_break] = ACTIONS(1646),
    [anon_sym_next] = ACTIONS(1648),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(1652),
    [anon_sym_BANG] = ACTIONS(1654),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(1658),
    [sym_identifier] = ACTIONS(1658),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2976] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1000),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1892),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(1004),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_reserved_identifier] = STATE(1009),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1010),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(1634),
    [sym__splat_star] = ACTIONS(1636),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(1640),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(1642),
    [anon_sym_yield] = ACTIONS(1644),
    [anon_sym_break] = ACTIONS(1646),
    [anon_sym_next] = ACTIONS(1648),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(1652),
    [anon_sym_BANG] = ACTIONS(1654),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(1658),
    [sym_identifier] = ACTIONS(1658),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2977] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1000),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1893),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(1004),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_reserved_identifier] = STATE(1009),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1010),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(1634),
    [sym__splat_star] = ACTIONS(1636),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(1640),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(1642),
    [anon_sym_yield] = ACTIONS(1644),
    [anon_sym_break] = ACTIONS(1646),
    [anon_sym_next] = ACTIONS(1648),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(1652),
    [anon_sym_BANG] = ACTIONS(1654),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(1658),
    [sym_identifier] = ACTIONS(1658),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2978] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1000),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1894),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(1004),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_reserved_identifier] = STATE(1009),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1010),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(1634),
    [sym__splat_star] = ACTIONS(1636),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(1640),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(1642),
    [anon_sym_yield] = ACTIONS(1644),
    [anon_sym_break] = ACTIONS(1646),
    [anon_sym_next] = ACTIONS(1648),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(1652),
    [anon_sym_BANG] = ACTIONS(1654),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(1658),
    [sym_identifier] = ACTIONS(1658),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2979] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(4380),
    [sym__binary_star] = ACTIONS(4382),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(4384),
    [anon_sym_STAR_STAR] = ACTIONS(4386),
    [anon_sym_AMP] = ACTIONS(4388),
    [anon_sym_LT] = ACTIONS(4390),
    [anon_sym_EQ_GT] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(4392),
    [anon_sym_DOT_DOT] = ACTIONS(4394),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4396),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(4398),
    [anon_sym_AMP_AMP] = ACTIONS(4398),
    [anon_sym_LT_LT] = ACTIONS(4400),
    [anon_sym_GT_GT] = ACTIONS(4400),
    [anon_sym_EQ_EQ] = ACTIONS(4402),
    [anon_sym_BANG_EQ] = ACTIONS(4398),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4398),
    [anon_sym_LT_EQ_GT] = ACTIONS(4398),
    [anon_sym_EQ_TILDE] = ACTIONS(4398),
    [anon_sym_BANG_TILDE] = ACTIONS(4398),
    [anon_sym_LT_EQ] = ACTIONS(4390),
    [anon_sym_GT] = ACTIONS(4390),
    [anon_sym_GT_EQ] = ACTIONS(4404),
    [anon_sym_CARET] = ACTIONS(4406),
    [anon_sym_PLUS] = ACTIONS(4408),
    [anon_sym_SLASH] = ACTIONS(4386),
    [anon_sym_PERCENT] = ACTIONS(4386),
    [sym_comment] = ACTIONS(110),
  },
  [2980] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(4380),
    [sym__binary_star] = ACTIONS(4382),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(4384),
    [anon_sym_STAR_STAR] = ACTIONS(4386),
    [anon_sym_AMP] = ACTIONS(4388),
    [anon_sym_LT] = ACTIONS(4390),
    [anon_sym_EQ_GT] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(4392),
    [anon_sym_DOT_DOT] = ACTIONS(4394),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4396),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(4398),
    [anon_sym_AMP_AMP] = ACTIONS(4398),
    [anon_sym_LT_LT] = ACTIONS(4400),
    [anon_sym_GT_GT] = ACTIONS(4400),
    [anon_sym_EQ_EQ] = ACTIONS(4402),
    [anon_sym_BANG_EQ] = ACTIONS(4398),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4398),
    [anon_sym_LT_EQ_GT] = ACTIONS(4398),
    [anon_sym_EQ_TILDE] = ACTIONS(4398),
    [anon_sym_BANG_TILDE] = ACTIONS(4398),
    [anon_sym_LT_EQ] = ACTIONS(4390),
    [anon_sym_GT] = ACTIONS(4390),
    [anon_sym_GT_EQ] = ACTIONS(4404),
    [anon_sym_CARET] = ACTIONS(4406),
    [anon_sym_PLUS] = ACTIONS(4408),
    [anon_sym_SLASH] = ACTIONS(4386),
    [anon_sym_PERCENT] = ACTIONS(4386),
    [sym_comment] = ACTIONS(110),
  },
  [2981] = {
    [sym__simple_heredoc_body] = ACTIONS(5370),
    [sym__heredoc_body_beginning] = ACTIONS(5370),
    [sym__element_reference_left_bracket] = ACTIONS(5370),
    [sym__scope_double_colon] = ACTIONS(5370),
    [sym__binary_minus] = ACTIONS(5370),
    [sym__binary_star] = ACTIONS(5370),
    [anon_sym_LBRACE] = ACTIONS(5370),
    [anon_sym_RBRACE] = ACTIONS(5370),
    [anon_sym_RPAREN] = ACTIONS(5370),
    [anon_sym_DOT] = ACTIONS(5372),
    [anon_sym_COMMA] = ACTIONS(5370),
    [anon_sym_PIPE] = ACTIONS(5372),
    [anon_sym_SEMI] = ACTIONS(5370),
    [anon_sym_STAR_STAR] = ACTIONS(5370),
    [anon_sym_AMP] = ACTIONS(5372),
    [anon_sym_EQ] = ACTIONS(5372),
    [anon_sym_LT] = ACTIONS(5372),
    [anon_sym_in] = ACTIONS(5370),
    [anon_sym_do] = ACTIONS(5370),
    [anon_sym_EQ_GT] = ACTIONS(5370),
    [anon_sym_RBRACK] = ACTIONS(5370),
    [anon_sym_AMP_DOT] = ACTIONS(5370),
    [anon_sym_QMARK] = ACTIONS(5370),
    [anon_sym_COLON] = ACTIONS(5370),
    [anon_sym_DOT_DOT] = ACTIONS(5372),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5370),
    [anon_sym_and] = ACTIONS(5370),
    [anon_sym_or] = ACTIONS(5370),
    [anon_sym_PIPE_PIPE] = ACTIONS(5370),
    [anon_sym_AMP_AMP] = ACTIONS(5370),
    [anon_sym_LT_LT] = ACTIONS(5370),
    [anon_sym_GT_GT] = ACTIONS(5370),
    [anon_sym_EQ_EQ] = ACTIONS(5372),
    [anon_sym_BANG_EQ] = ACTIONS(5370),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5370),
    [anon_sym_LT_EQ_GT] = ACTIONS(5370),
    [anon_sym_EQ_TILDE] = ACTIONS(5370),
    [anon_sym_BANG_TILDE] = ACTIONS(5370),
    [anon_sym_LT_EQ] = ACTIONS(5372),
    [anon_sym_GT] = ACTIONS(5372),
    [anon_sym_GT_EQ] = ACTIONS(5370),
    [anon_sym_CARET] = ACTIONS(5370),
    [anon_sym_PLUS] = ACTIONS(5370),
    [anon_sym_SLASH] = ACTIONS(5370),
    [anon_sym_PERCENT] = ACTIONS(5370),
    [sym_comment] = ACTIONS(256),
  },
  [2982] = {
    [sym_heredoc_end] = STATE(6110),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RPAREN] = ACTIONS(8550),
    [sym_comment] = ACTIONS(110),
  },
  [2983] = {
    [anon_sym_RPAREN] = ACTIONS(8550),
    [sym_comment] = ACTIONS(110),
  },
  [2984] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_STAR_STAR] = ACTIONS(4386),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_EQ_GT] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [2985] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(4380),
    [sym__binary_star] = ACTIONS(4382),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(4384),
    [anon_sym_STAR_STAR] = ACTIONS(4386),
    [anon_sym_AMP] = ACTIONS(4388),
    [anon_sym_LT] = ACTIONS(4390),
    [anon_sym_EQ_GT] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(4392),
    [anon_sym_DOT_DOT] = ACTIONS(4394),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4396),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(4398),
    [anon_sym_AMP_AMP] = ACTIONS(4398),
    [anon_sym_LT_LT] = ACTIONS(4400),
    [anon_sym_GT_GT] = ACTIONS(4400),
    [anon_sym_EQ_EQ] = ACTIONS(4402),
    [anon_sym_BANG_EQ] = ACTIONS(4398),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4398),
    [anon_sym_LT_EQ_GT] = ACTIONS(4398),
    [anon_sym_EQ_TILDE] = ACTIONS(4398),
    [anon_sym_BANG_TILDE] = ACTIONS(4398),
    [anon_sym_LT_EQ] = ACTIONS(4390),
    [anon_sym_GT] = ACTIONS(4390),
    [anon_sym_GT_EQ] = ACTIONS(4404),
    [anon_sym_CARET] = ACTIONS(4406),
    [anon_sym_PLUS] = ACTIONS(4408),
    [anon_sym_SLASH] = ACTIONS(4386),
    [anon_sym_PERCENT] = ACTIONS(4386),
    [sym_comment] = ACTIONS(110),
  },
  [2986] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(4386),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [2987] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(4380),
    [sym__binary_star] = ACTIONS(4382),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(4384),
    [anon_sym_STAR_STAR] = ACTIONS(4386),
    [anon_sym_AMP] = ACTIONS(4388),
    [anon_sym_LT] = ACTIONS(4390),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(4392),
    [anon_sym_DOT_DOT] = ACTIONS(4394),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4396),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(4398),
    [anon_sym_AMP_AMP] = ACTIONS(4398),
    [anon_sym_LT_LT] = ACTIONS(4400),
    [anon_sym_GT_GT] = ACTIONS(4400),
    [anon_sym_EQ_EQ] = ACTIONS(4402),
    [anon_sym_BANG_EQ] = ACTIONS(4398),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4398),
    [anon_sym_LT_EQ_GT] = ACTIONS(4398),
    [anon_sym_EQ_TILDE] = ACTIONS(4398),
    [anon_sym_BANG_TILDE] = ACTIONS(4398),
    [anon_sym_LT_EQ] = ACTIONS(4390),
    [anon_sym_GT] = ACTIONS(4390),
    [anon_sym_GT_EQ] = ACTIONS(4404),
    [anon_sym_CARET] = ACTIONS(4406),
    [anon_sym_PLUS] = ACTIONS(4408),
    [anon_sym_SLASH] = ACTIONS(4386),
    [anon_sym_PERCENT] = ACTIONS(4386),
    [sym_comment] = ACTIONS(110),
  },
  [2988] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_RBRACE] = ACTIONS(2870),
    [anon_sym_RPAREN] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(2870),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_in] = ACTIONS(2870),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_RBRACK] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_COLON] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(256),
  },
  [2989] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6111),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(1640),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(4366),
    [anon_sym_yield] = ACTIONS(4368),
    [anon_sym_break] = ACTIONS(4370),
    [anon_sym_next] = ACTIONS(4372),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2038),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(4374),
    [anon_sym_BANG] = ACTIONS(1656),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2990] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6112),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(1640),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(4366),
    [anon_sym_yield] = ACTIONS(4368),
    [anon_sym_break] = ACTIONS(4370),
    [anon_sym_next] = ACTIONS(4372),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2038),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(4374),
    [anon_sym_BANG] = ACTIONS(1656),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2991] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6113),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(1640),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(4366),
    [anon_sym_yield] = ACTIONS(4368),
    [anon_sym_break] = ACTIONS(4370),
    [anon_sym_next] = ACTIONS(4372),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2038),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(4374),
    [anon_sym_BANG] = ACTIONS(1656),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2992] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6114),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(1640),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(4366),
    [anon_sym_yield] = ACTIONS(4368),
    [anon_sym_break] = ACTIONS(4370),
    [anon_sym_next] = ACTIONS(4372),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2038),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(4374),
    [anon_sym_BANG] = ACTIONS(1656),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2993] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6115),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(1640),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(4366),
    [anon_sym_yield] = ACTIONS(4368),
    [anon_sym_break] = ACTIONS(4370),
    [anon_sym_next] = ACTIONS(4372),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2038),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(4374),
    [anon_sym_BANG] = ACTIONS(1656),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2994] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6116),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(1640),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(4366),
    [anon_sym_yield] = ACTIONS(4368),
    [anon_sym_break] = ACTIONS(4370),
    [anon_sym_next] = ACTIONS(4372),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2038),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(4374),
    [anon_sym_BANG] = ACTIONS(1656),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2995] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6117),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(1640),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(4366),
    [anon_sym_yield] = ACTIONS(4368),
    [anon_sym_break] = ACTIONS(4370),
    [anon_sym_next] = ACTIONS(4372),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2038),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(4374),
    [anon_sym_BANG] = ACTIONS(1656),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2996] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(6118),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [2997] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6119),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(1640),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(4366),
    [anon_sym_yield] = ACTIONS(4368),
    [anon_sym_break] = ACTIONS(4370),
    [anon_sym_next] = ACTIONS(4372),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2038),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(4374),
    [anon_sym_BANG] = ACTIONS(1656),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2998] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6120),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(1640),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(4366),
    [anon_sym_yield] = ACTIONS(4368),
    [anon_sym_break] = ACTIONS(4370),
    [anon_sym_next] = ACTIONS(4372),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2038),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(4374),
    [anon_sym_BANG] = ACTIONS(1656),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [2999] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6121),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(1640),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(4366),
    [anon_sym_yield] = ACTIONS(4368),
    [anon_sym_break] = ACTIONS(4370),
    [anon_sym_next] = ACTIONS(4372),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2038),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(4374),
    [anon_sym_BANG] = ACTIONS(1656),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3000] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6122),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(1640),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(4366),
    [anon_sym_yield] = ACTIONS(4368),
    [anon_sym_break] = ACTIONS(4370),
    [anon_sym_next] = ACTIONS(4372),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2038),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(4374),
    [anon_sym_BANG] = ACTIONS(1656),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3001] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6123),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(1640),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(4366),
    [anon_sym_yield] = ACTIONS(4368),
    [anon_sym_break] = ACTIONS(4370),
    [anon_sym_next] = ACTIONS(4372),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2038),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(4374),
    [anon_sym_BANG] = ACTIONS(1656),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3002] = {
    [sym__simple_heredoc_body] = ACTIONS(1398),
    [sym__heredoc_body_beginning] = ACTIONS(1398),
    [sym__element_reference_left_bracket] = ACTIONS(1398),
    [sym__scope_double_colon] = ACTIONS(1398),
    [sym__binary_minus] = ACTIONS(1398),
    [sym__binary_star] = ACTIONS(1398),
    [anon_sym_LBRACE] = ACTIONS(1398),
    [anon_sym_RBRACE] = ACTIONS(1398),
    [anon_sym_RPAREN] = ACTIONS(1398),
    [anon_sym_DOT] = ACTIONS(2666),
    [anon_sym_COMMA] = ACTIONS(1398),
    [anon_sym_PIPE] = ACTIONS(2666),
    [anon_sym_SEMI] = ACTIONS(1398),
    [anon_sym_STAR_STAR] = ACTIONS(1398),
    [anon_sym_AMP] = ACTIONS(2666),
    [anon_sym_EQ] = ACTIONS(2666),
    [anon_sym_LT] = ACTIONS(2666),
    [anon_sym_in] = ACTIONS(1398),
    [anon_sym_do] = ACTIONS(1398),
    [anon_sym_EQ_GT] = ACTIONS(1398),
    [anon_sym_RBRACK] = ACTIONS(1398),
    [anon_sym_AMP_DOT] = ACTIONS(1398),
    [anon_sym_QMARK] = ACTIONS(1398),
    [anon_sym_COLON] = ACTIONS(1398),
    [anon_sym_DOT_DOT] = ACTIONS(2666),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1398),
    [anon_sym_and] = ACTIONS(1398),
    [anon_sym_or] = ACTIONS(1398),
    [anon_sym_PIPE_PIPE] = ACTIONS(1398),
    [anon_sym_AMP_AMP] = ACTIONS(1398),
    [anon_sym_LT_LT] = ACTIONS(1398),
    [anon_sym_GT_GT] = ACTIONS(1398),
    [anon_sym_EQ_EQ] = ACTIONS(2666),
    [anon_sym_BANG_EQ] = ACTIONS(1398),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1398),
    [anon_sym_LT_EQ_GT] = ACTIONS(1398),
    [anon_sym_EQ_TILDE] = ACTIONS(1398),
    [anon_sym_BANG_TILDE] = ACTIONS(1398),
    [anon_sym_LT_EQ] = ACTIONS(2666),
    [anon_sym_GT] = ACTIONS(2666),
    [anon_sym_GT_EQ] = ACTIONS(1398),
    [anon_sym_CARET] = ACTIONS(1398),
    [anon_sym_PLUS] = ACTIONS(1398),
    [anon_sym_SLASH] = ACTIONS(1398),
    [anon_sym_PERCENT] = ACTIONS(1398),
    [sym_comment] = ACTIONS(256),
  },
  [3003] = {
    [sym__statement] = STATE(6124),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [aux_sym_heredoc_end_repeat1] = STATE(6125),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [3004] = {
    [sym__simple_heredoc_body] = ACTIONS(5468),
    [sym__heredoc_body_beginning] = ACTIONS(5468),
    [sym__element_reference_left_bracket] = ACTIONS(5468),
    [sym__scope_double_colon] = ACTIONS(5468),
    [sym__binary_minus] = ACTIONS(5468),
    [sym__binary_star] = ACTIONS(5468),
    [anon_sym_LBRACE] = ACTIONS(5468),
    [anon_sym_RBRACE] = ACTIONS(5468),
    [anon_sym_RPAREN] = ACTIONS(5468),
    [anon_sym_DOT] = ACTIONS(5470),
    [anon_sym_COMMA] = ACTIONS(5468),
    [anon_sym_PIPE] = ACTIONS(5470),
    [anon_sym_SEMI] = ACTIONS(5468),
    [anon_sym_STAR_STAR] = ACTIONS(5468),
    [anon_sym_AMP] = ACTIONS(5470),
    [anon_sym_EQ] = ACTIONS(5470),
    [anon_sym_LT] = ACTIONS(5470),
    [anon_sym_in] = ACTIONS(5468),
    [anon_sym_do] = ACTIONS(5468),
    [anon_sym_EQ_GT] = ACTIONS(5468),
    [anon_sym_RBRACK] = ACTIONS(5468),
    [anon_sym_AMP_DOT] = ACTIONS(5468),
    [anon_sym_QMARK] = ACTIONS(5468),
    [anon_sym_COLON] = ACTIONS(5468),
    [anon_sym_DOT_DOT] = ACTIONS(5470),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5468),
    [anon_sym_and] = ACTIONS(5468),
    [anon_sym_or] = ACTIONS(5468),
    [anon_sym_PIPE_PIPE] = ACTIONS(5468),
    [anon_sym_AMP_AMP] = ACTIONS(5468),
    [anon_sym_LT_LT] = ACTIONS(5468),
    [anon_sym_GT_GT] = ACTIONS(5468),
    [anon_sym_EQ_EQ] = ACTIONS(5470),
    [anon_sym_BANG_EQ] = ACTIONS(5468),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5468),
    [anon_sym_LT_EQ_GT] = ACTIONS(5468),
    [anon_sym_EQ_TILDE] = ACTIONS(5468),
    [anon_sym_BANG_TILDE] = ACTIONS(5468),
    [anon_sym_LT_EQ] = ACTIONS(5470),
    [anon_sym_GT] = ACTIONS(5470),
    [anon_sym_GT_EQ] = ACTIONS(5468),
    [anon_sym_CARET] = ACTIONS(5468),
    [anon_sym_PLUS] = ACTIONS(5468),
    [anon_sym_SLASH] = ACTIONS(5468),
    [anon_sym_PERCENT] = ACTIONS(5468),
    [sym_comment] = ACTIONS(256),
  },
  [3005] = {
    [sym_heredoc_end] = STATE(6126),
    [sym__simple_heredoc_body] = ACTIONS(4410),
    [sym__heredoc_body_beginning] = ACTIONS(4412),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_LBRACE] = ACTIONS(5472),
    [anon_sym_RBRACE] = ACTIONS(5472),
    [anon_sym_RPAREN] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(5472),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_SEMI] = ACTIONS(5472),
    [anon_sym_STAR_STAR] = ACTIONS(5472),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_EQ] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_in] = ACTIONS(5472),
    [anon_sym_do] = ACTIONS(5472),
    [anon_sym_EQ_GT] = ACTIONS(5472),
    [anon_sym_RBRACK] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_COLON] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5472),
    [anon_sym_AMP_AMP] = ACTIONS(5472),
    [anon_sym_LT_LT] = ACTIONS(5472),
    [anon_sym_GT_GT] = ACTIONS(5472),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5472),
    [anon_sym_PLUS] = ACTIONS(5472),
    [anon_sym_SLASH] = ACTIONS(5472),
    [anon_sym_PERCENT] = ACTIONS(5472),
    [sym_comment] = ACTIONS(256),
  },
  [3006] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1000),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(6127),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_reserved_identifier] = STATE(1009),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1010),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(6128),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(1634),
    [sym__splat_star] = ACTIONS(1636),
    [sym__unary_minus] = ACTIONS(1640),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(8552),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(1642),
    [anon_sym_yield] = ACTIONS(1644),
    [anon_sym_break] = ACTIONS(1646),
    [anon_sym_next] = ACTIONS(1648),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2038),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(1652),
    [anon_sym_BANG] = ACTIONS(1656),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(1658),
    [sym_identifier] = ACTIONS(1658),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3007] = {
    [sym_heredoc_end] = STATE(3004),
    [aux_sym_argument_list_repeat2] = STATE(6130),
    [sym__simple_heredoc_body] = ACTIONS(4410),
    [sym__heredoc_body_beginning] = ACTIONS(4412),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(8554),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_STAR_STAR] = ACTIONS(5472),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_EQ_GT] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5472),
    [anon_sym_AMP_AMP] = ACTIONS(5472),
    [anon_sym_LT_LT] = ACTIONS(5472),
    [anon_sym_GT_GT] = ACTIONS(5472),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5472),
    [anon_sym_PLUS] = ACTIONS(5472),
    [anon_sym_SLASH] = ACTIONS(5472),
    [anon_sym_PERCENT] = ACTIONS(5472),
    [sym_comment] = ACTIONS(110),
  },
  [3008] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6131),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym_splat_argument] = STATE(6132),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_right_assignment_list] = STATE(6133),
    [sym__arg_or_splat_arg] = STATE(6134),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__splat_star] = ACTIONS(1636),
    [sym__unary_minus] = ACTIONS(1640),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(4366),
    [anon_sym_yield] = ACTIONS(4368),
    [anon_sym_break] = ACTIONS(4370),
    [anon_sym_next] = ACTIONS(4372),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2038),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(4374),
    [anon_sym_BANG] = ACTIONS(1656),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3009] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6135),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(1640),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(4366),
    [anon_sym_yield] = ACTIONS(4368),
    [anon_sym_break] = ACTIONS(4370),
    [anon_sym_next] = ACTIONS(4372),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2038),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(4374),
    [anon_sym_BANG] = ACTIONS(1656),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3010] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6136),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(1640),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(4366),
    [anon_sym_yield] = ACTIONS(4368),
    [anon_sym_break] = ACTIONS(4370),
    [anon_sym_next] = ACTIONS(4372),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2038),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(4374),
    [anon_sym_BANG] = ACTIONS(1656),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3011] = {
    [sym__statements] = STATE(6138),
    [sym__top_level_statement] = STATE(3863),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(3864),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_elsif] = STATE(3865),
    [sym_else] = STATE(3865),
    [sym__if_tail] = STATE(6139),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3867),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3869),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3870),
    [sym__variable] = STATE(3868),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(3849),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(6140),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(5566),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(5568),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(5570),
    [sym__unary_minus] = ACTIONS(5572),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(8556),
    [anon_sym_SEMI] = ACTIONS(5576),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_elsif] = ACTIONS(5586),
    [anon_sym_else] = ACTIONS(5588),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5590),
    [anon_sym_defined_QMARK] = ACTIONS(5592),
    [anon_sym_not] = ACTIONS(5594),
    [anon_sym_BANG] = ACTIONS(5596),
    [anon_sym_TILDE] = ACTIONS(5596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3012] = {
    [sym__statements] = STATE(6142),
    [sym__top_level_statement] = STATE(3946),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(3947),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(6143),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3949),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3950),
    [sym_call] = STATE(3950),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3951),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3952),
    [sym__variable] = STATE(3950),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5682),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(8558),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5686),
    [anon_sym_yield] = ACTIONS(5688),
    [anon_sym_break] = ACTIONS(5690),
    [anon_sym_next] = ACTIONS(5692),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(5588),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5694),
    [anon_sym_defined_QMARK] = ACTIONS(5696),
    [anon_sym_not] = ACTIONS(5698),
    [anon_sym_BANG] = ACTIONS(5700),
    [anon_sym_TILDE] = ACTIONS(5700),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3013] = {
    [sym__statements] = STATE(6145),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(8560),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3014] = {
    [sym__statements] = STATE(6147),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(8562),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3015] = {
    [sym__do] = STATE(6148),
    [sym_heredoc_end] = STATE(1550),
    [sym__terminator] = STATE(1557),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym__line_break] = ACTIONS(2446),
    [anon_sym_SEMI] = ACTIONS(2446),
    [anon_sym_do] = ACTIONS(2460),
    [sym_comment] = ACTIONS(110),
  },
  [3016] = {
    [sym__element_reference_left_bracket] = ACTIONS(6154),
    [sym__scope_double_colon] = ACTIONS(6154),
    [sym__binary_minus] = ACTIONS(6154),
    [sym__binary_star] = ACTIONS(6154),
    [anon_sym_LBRACE] = ACTIONS(6154),
    [anon_sym_RPAREN] = ACTIONS(6154),
    [anon_sym_DOT] = ACTIONS(6156),
    [anon_sym_COMMA] = ACTIONS(6154),
    [anon_sym_PIPE] = ACTIONS(6156),
    [anon_sym_SEMI] = ACTIONS(6154),
    [anon_sym_STAR_STAR] = ACTIONS(6154),
    [anon_sym_AMP] = ACTIONS(6156),
    [anon_sym_LT] = ACTIONS(6156),
    [anon_sym_do] = ACTIONS(6154),
    [anon_sym_EQ_GT] = ACTIONS(6154),
    [anon_sym_AMP_DOT] = ACTIONS(6154),
    [anon_sym_QMARK] = ACTIONS(6154),
    [anon_sym_COLON] = ACTIONS(6154),
    [anon_sym_DOT_DOT] = ACTIONS(6156),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6154),
    [anon_sym_and] = ACTIONS(6154),
    [anon_sym_or] = ACTIONS(6154),
    [anon_sym_PIPE_PIPE] = ACTIONS(6154),
    [anon_sym_AMP_AMP] = ACTIONS(6154),
    [anon_sym_LT_LT] = ACTIONS(6154),
    [anon_sym_GT_GT] = ACTIONS(6154),
    [anon_sym_EQ_EQ] = ACTIONS(6156),
    [anon_sym_BANG_EQ] = ACTIONS(6154),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6154),
    [anon_sym_LT_EQ_GT] = ACTIONS(6154),
    [anon_sym_EQ_TILDE] = ACTIONS(6154),
    [anon_sym_BANG_TILDE] = ACTIONS(6154),
    [anon_sym_LT_EQ] = ACTIONS(6156),
    [anon_sym_GT] = ACTIONS(6156),
    [anon_sym_GT_EQ] = ACTIONS(6154),
    [anon_sym_CARET] = ACTIONS(6154),
    [anon_sym_PLUS] = ACTIONS(6154),
    [anon_sym_SLASH] = ACTIONS(6154),
    [anon_sym_PERCENT] = ACTIONS(6154),
    [sym_comment] = ACTIONS(110),
  },
  [3017] = {
    [anon_sym_end] = ACTIONS(8564),
    [sym_comment] = ACTIONS(110),
  },
  [3018] = {
    [sym_when] = STATE(6150),
    [sym_heredoc_end] = STATE(387),
    [sym__terminator] = STATE(1688),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym__line_break] = ACTIONS(666),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_when] = ACTIONS(2612),
    [sym_comment] = ACTIONS(110),
  },
  [3019] = {
    [sym__element_reference_left_bracket] = ACTIONS(6600),
    [sym__scope_double_colon] = ACTIONS(6600),
    [sym__binary_minus] = ACTIONS(6600),
    [sym__binary_star] = ACTIONS(6600),
    [anon_sym_LBRACE] = ACTIONS(6600),
    [anon_sym_RPAREN] = ACTIONS(6600),
    [anon_sym_DOT] = ACTIONS(6602),
    [anon_sym_COMMA] = ACTIONS(6600),
    [anon_sym_PIPE] = ACTIONS(6602),
    [anon_sym_SEMI] = ACTIONS(6600),
    [anon_sym_STAR_STAR] = ACTIONS(6600),
    [anon_sym_AMP] = ACTIONS(6602),
    [anon_sym_LT] = ACTIONS(6602),
    [anon_sym_do] = ACTIONS(6600),
    [anon_sym_EQ_GT] = ACTIONS(6600),
    [anon_sym_AMP_DOT] = ACTIONS(6600),
    [anon_sym_QMARK] = ACTIONS(6600),
    [anon_sym_COLON] = ACTIONS(6600),
    [anon_sym_DOT_DOT] = ACTIONS(6602),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6600),
    [anon_sym_and] = ACTIONS(6600),
    [anon_sym_or] = ACTIONS(6600),
    [anon_sym_PIPE_PIPE] = ACTIONS(6600),
    [anon_sym_AMP_AMP] = ACTIONS(6600),
    [anon_sym_LT_LT] = ACTIONS(6600),
    [anon_sym_GT_GT] = ACTIONS(6600),
    [anon_sym_EQ_EQ] = ACTIONS(6602),
    [anon_sym_BANG_EQ] = ACTIONS(6600),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6600),
    [anon_sym_LT_EQ_GT] = ACTIONS(6600),
    [anon_sym_EQ_TILDE] = ACTIONS(6600),
    [anon_sym_BANG_TILDE] = ACTIONS(6600),
    [anon_sym_LT_EQ] = ACTIONS(6602),
    [anon_sym_GT] = ACTIONS(6602),
    [anon_sym_GT_EQ] = ACTIONS(6600),
    [anon_sym_CARET] = ACTIONS(6600),
    [anon_sym_PLUS] = ACTIONS(6600),
    [anon_sym_SLASH] = ACTIONS(6600),
    [anon_sym_PERCENT] = ACTIONS(6600),
    [sym_comment] = ACTIONS(110),
  },
  [3020] = {
    [anon_sym_end] = ACTIONS(8566),
    [sym_comment] = ACTIONS(110),
  },
  [3021] = {
    [sym__simple_heredoc_body] = ACTIONS(8568),
    [sym__heredoc_body_beginning] = ACTIONS(8568),
    [sym__binary_minus] = ACTIONS(4286),
    [sym__binary_star] = ACTIONS(4288),
    [anon_sym_RBRACE] = ACTIONS(8568),
    [anon_sym_COMMA] = ACTIONS(8568),
    [anon_sym_PIPE] = ACTIONS(4290),
    [anon_sym_STAR_STAR] = ACTIONS(4292),
    [anon_sym_AMP] = ACTIONS(4294),
    [anon_sym_LT] = ACTIONS(4296),
    [anon_sym_QMARK] = ACTIONS(4298),
    [anon_sym_DOT_DOT] = ACTIONS(4300),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4302),
    [anon_sym_and] = ACTIONS(4304),
    [anon_sym_or] = ACTIONS(4304),
    [anon_sym_PIPE_PIPE] = ACTIONS(4306),
    [anon_sym_AMP_AMP] = ACTIONS(4306),
    [anon_sym_LT_LT] = ACTIONS(4308),
    [anon_sym_GT_GT] = ACTIONS(4308),
    [anon_sym_EQ_EQ] = ACTIONS(4310),
    [anon_sym_BANG_EQ] = ACTIONS(4306),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4306),
    [anon_sym_LT_EQ_GT] = ACTIONS(4306),
    [anon_sym_EQ_TILDE] = ACTIONS(4306),
    [anon_sym_BANG_TILDE] = ACTIONS(4306),
    [anon_sym_LT_EQ] = ACTIONS(4296),
    [anon_sym_GT] = ACTIONS(4296),
    [anon_sym_GT_EQ] = ACTIONS(4312),
    [anon_sym_CARET] = ACTIONS(4314),
    [anon_sym_PLUS] = ACTIONS(4316),
    [anon_sym_SLASH] = ACTIONS(4292),
    [anon_sym_PERCENT] = ACTIONS(4292),
    [sym_comment] = ACTIONS(110),
  },
  [3022] = {
    [anon_sym_RBRACK] = ACTIONS(7846),
    [sym_comment] = ACTIONS(110),
  },
  [3023] = {
    [sym__element_reference_left_bracket] = ACTIONS(6902),
    [sym__scope_double_colon] = ACTIONS(6902),
    [sym__binary_minus] = ACTIONS(6902),
    [sym__binary_star] = ACTIONS(6902),
    [anon_sym_LBRACE] = ACTIONS(6902),
    [anon_sym_RPAREN] = ACTIONS(6902),
    [anon_sym_DOT] = ACTIONS(6904),
    [anon_sym_COMMA] = ACTIONS(6902),
    [anon_sym_PIPE] = ACTIONS(6904),
    [anon_sym_SEMI] = ACTIONS(6902),
    [anon_sym_STAR_STAR] = ACTIONS(6902),
    [anon_sym_AMP] = ACTIONS(6904),
    [anon_sym_LT] = ACTIONS(6904),
    [anon_sym_do] = ACTIONS(6902),
    [anon_sym_EQ_GT] = ACTIONS(6902),
    [anon_sym_AMP_DOT] = ACTIONS(6902),
    [anon_sym_QMARK] = ACTIONS(6902),
    [anon_sym_COLON] = ACTIONS(6902),
    [anon_sym_DOT_DOT] = ACTIONS(6904),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6902),
    [anon_sym_and] = ACTIONS(6902),
    [anon_sym_or] = ACTIONS(6902),
    [anon_sym_PIPE_PIPE] = ACTIONS(6902),
    [anon_sym_AMP_AMP] = ACTIONS(6902),
    [anon_sym_LT_LT] = ACTIONS(6902),
    [anon_sym_GT_GT] = ACTIONS(6902),
    [anon_sym_EQ_EQ] = ACTIONS(6904),
    [anon_sym_BANG_EQ] = ACTIONS(6902),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6902),
    [anon_sym_LT_EQ_GT] = ACTIONS(6902),
    [anon_sym_EQ_TILDE] = ACTIONS(6902),
    [anon_sym_BANG_TILDE] = ACTIONS(6902),
    [anon_sym_LT_EQ] = ACTIONS(6904),
    [anon_sym_GT] = ACTIONS(6904),
    [anon_sym_GT_EQ] = ACTIONS(6902),
    [anon_sym_CARET] = ACTIONS(6902),
    [anon_sym_PLUS] = ACTIONS(6902),
    [anon_sym_SLASH] = ACTIONS(6902),
    [anon_sym_PERCENT] = ACTIONS(6902),
    [sym_comment] = ACTIONS(110),
  },
  [3024] = {
    [anon_sym_RBRACE] = ACTIONS(8570),
    [sym_comment] = ACTIONS(110),
  },
  [3025] = {
    [sym__statements] = STATE(6153),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(841),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(8570),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3026] = {
    [sym__element_reference_left_bracket] = ACTIONS(6942),
    [sym__scope_double_colon] = ACTIONS(6942),
    [sym__binary_minus] = ACTIONS(6942),
    [sym__binary_star] = ACTIONS(6942),
    [anon_sym_LBRACE] = ACTIONS(6942),
    [anon_sym_RPAREN] = ACTIONS(6942),
    [anon_sym_DOT] = ACTIONS(6944),
    [anon_sym_COMMA] = ACTIONS(6942),
    [anon_sym_PIPE] = ACTIONS(6944),
    [anon_sym_SEMI] = ACTIONS(6942),
    [anon_sym_STAR_STAR] = ACTIONS(6942),
    [anon_sym_AMP] = ACTIONS(6944),
    [anon_sym_LT] = ACTIONS(6944),
    [anon_sym_do] = ACTIONS(6942),
    [anon_sym_EQ_GT] = ACTIONS(6942),
    [anon_sym_AMP_DOT] = ACTIONS(6942),
    [anon_sym_QMARK] = ACTIONS(6942),
    [anon_sym_COLON] = ACTIONS(6942),
    [anon_sym_DOT_DOT] = ACTIONS(6944),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6942),
    [anon_sym_and] = ACTIONS(6942),
    [anon_sym_or] = ACTIONS(6942),
    [anon_sym_PIPE_PIPE] = ACTIONS(6942),
    [anon_sym_AMP_AMP] = ACTIONS(6942),
    [anon_sym_LT_LT] = ACTIONS(6942),
    [anon_sym_GT_GT] = ACTIONS(6942),
    [anon_sym_EQ_EQ] = ACTIONS(6944),
    [anon_sym_BANG_EQ] = ACTIONS(6942),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6942),
    [anon_sym_LT_EQ_GT] = ACTIONS(6942),
    [anon_sym_EQ_TILDE] = ACTIONS(6942),
    [anon_sym_BANG_TILDE] = ACTIONS(6942),
    [anon_sym_LT_EQ] = ACTIONS(6944),
    [anon_sym_GT] = ACTIONS(6944),
    [anon_sym_GT_EQ] = ACTIONS(6942),
    [anon_sym_CARET] = ACTIONS(6942),
    [anon_sym_PLUS] = ACTIONS(6942),
    [anon_sym_SLASH] = ACTIONS(6942),
    [anon_sym_PERCENT] = ACTIONS(6942),
    [sym_comment] = ACTIONS(110),
  },
  [3027] = {
    [anon_sym_end] = ACTIONS(8572),
    [sym_comment] = ACTIONS(110),
  },
  [3028] = {
    [sym__statements] = STATE(6155),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(6156),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(8574),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3029] = {
    [sym__statements] = STATE(6155),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(6157),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(6156),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(8574),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3030] = {
    [sym__element_reference_left_bracket] = ACTIONS(6980),
    [sym__scope_double_colon] = ACTIONS(6980),
    [sym__binary_minus] = ACTIONS(6980),
    [sym__binary_star] = ACTIONS(6980),
    [anon_sym_LBRACE] = ACTIONS(6980),
    [anon_sym_RPAREN] = ACTIONS(6980),
    [anon_sym_DOT] = ACTIONS(6982),
    [anon_sym_COMMA] = ACTIONS(6980),
    [anon_sym_PIPE] = ACTIONS(6982),
    [anon_sym_SEMI] = ACTIONS(6980),
    [anon_sym_STAR_STAR] = ACTIONS(6980),
    [anon_sym_AMP] = ACTIONS(6982),
    [anon_sym_LT] = ACTIONS(6982),
    [anon_sym_do] = ACTIONS(6980),
    [anon_sym_EQ_GT] = ACTIONS(6980),
    [anon_sym_AMP_DOT] = ACTIONS(6980),
    [anon_sym_QMARK] = ACTIONS(6980),
    [anon_sym_COLON] = ACTIONS(6980),
    [anon_sym_DOT_DOT] = ACTIONS(6982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6980),
    [anon_sym_and] = ACTIONS(6980),
    [anon_sym_or] = ACTIONS(6980),
    [anon_sym_PIPE_PIPE] = ACTIONS(6980),
    [anon_sym_AMP_AMP] = ACTIONS(6980),
    [anon_sym_LT_LT] = ACTIONS(6980),
    [anon_sym_GT_GT] = ACTIONS(6980),
    [anon_sym_EQ_EQ] = ACTIONS(6982),
    [anon_sym_BANG_EQ] = ACTIONS(6980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6980),
    [anon_sym_LT_EQ_GT] = ACTIONS(6980),
    [anon_sym_EQ_TILDE] = ACTIONS(6980),
    [anon_sym_BANG_TILDE] = ACTIONS(6980),
    [anon_sym_LT_EQ] = ACTIONS(6982),
    [anon_sym_GT] = ACTIONS(6982),
    [anon_sym_GT_EQ] = ACTIONS(6980),
    [anon_sym_CARET] = ACTIONS(6980),
    [anon_sym_PLUS] = ACTIONS(6980),
    [anon_sym_SLASH] = ACTIONS(6980),
    [anon_sym_PERCENT] = ACTIONS(6980),
    [sym_comment] = ACTIONS(110),
  },
  [3031] = {
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(1674),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_STAR_STAR] = ACTIONS(1678),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_EQ_GT] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7008),
    [anon_sym_AMP_AMP] = ACTIONS(7008),
    [anon_sym_LT_LT] = ACTIONS(7008),
    [anon_sym_GT_GT] = ACTIONS(7008),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7008),
    [anon_sym_PLUS] = ACTIONS(7008),
    [anon_sym_SLASH] = ACTIONS(1678),
    [anon_sym_PERCENT] = ACTIONS(1678),
    [sym_comment] = ACTIONS(110),
  },
  [3032] = {
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_STAR_STAR] = ACTIONS(1678),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_EQ_GT] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7012),
    [anon_sym_AMP_AMP] = ACTIONS(7012),
    [anon_sym_LT_LT] = ACTIONS(7012),
    [anon_sym_GT_GT] = ACTIONS(7012),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7012),
    [anon_sym_PLUS] = ACTIONS(7012),
    [anon_sym_SLASH] = ACTIONS(7012),
    [anon_sym_PERCENT] = ACTIONS(7012),
    [sym_comment] = ACTIONS(110),
  },
  [3033] = {
    [sym__binary_minus] = ACTIONS(1672),
    [sym__binary_star] = ACTIONS(1674),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(1678),
    [anon_sym_AMP] = ACTIONS(1680),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(1694),
    [anon_sym_GT_GT] = ACTIONS(1694),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(1702),
    [anon_sym_SLASH] = ACTIONS(1678),
    [anon_sym_PERCENT] = ACTIONS(1678),
    [sym_comment] = ACTIONS(110),
  },
  [3034] = {
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(1678),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7016),
    [anon_sym_PERCENT] = ACTIONS(7016),
    [sym_comment] = ACTIONS(110),
  },
  [3035] = {
    [sym__binary_minus] = ACTIONS(1672),
    [sym__binary_star] = ACTIONS(1674),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(1678),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(1694),
    [anon_sym_GT_GT] = ACTIONS(1694),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(1702),
    [anon_sym_SLASH] = ACTIONS(1678),
    [anon_sym_PERCENT] = ACTIONS(1678),
    [sym_comment] = ACTIONS(110),
  },
  [3036] = {
    [sym__binary_minus] = ACTIONS(1672),
    [sym__binary_star] = ACTIONS(1674),
    [anon_sym_PIPE] = ACTIONS(1676),
    [anon_sym_STAR_STAR] = ACTIONS(1678),
    [anon_sym_AMP] = ACTIONS(1680),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(1694),
    [anon_sym_GT_GT] = ACTIONS(1694),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(1700),
    [anon_sym_PLUS] = ACTIONS(1702),
    [anon_sym_SLASH] = ACTIONS(1678),
    [anon_sym_PERCENT] = ACTIONS(1678),
    [sym_comment] = ACTIONS(110),
  },
  [3037] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(8576),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [3038] = {
    [sym__binary_minus] = ACTIONS(1672),
    [sym__binary_star] = ACTIONS(1674),
    [anon_sym_PIPE] = ACTIONS(1676),
    [anon_sym_STAR_STAR] = ACTIONS(1678),
    [anon_sym_AMP] = ACTIONS(1680),
    [anon_sym_LT] = ACTIONS(1682),
    [anon_sym_EQ_GT] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(1686),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1688),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(1692),
    [anon_sym_AMP_AMP] = ACTIONS(1692),
    [anon_sym_LT_LT] = ACTIONS(1694),
    [anon_sym_GT_GT] = ACTIONS(1694),
    [anon_sym_EQ_EQ] = ACTIONS(1696),
    [anon_sym_BANG_EQ] = ACTIONS(1692),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1692),
    [anon_sym_LT_EQ_GT] = ACTIONS(1692),
    [anon_sym_EQ_TILDE] = ACTIONS(1692),
    [anon_sym_BANG_TILDE] = ACTIONS(1692),
    [anon_sym_LT_EQ] = ACTIONS(1682),
    [anon_sym_GT] = ACTIONS(1682),
    [anon_sym_GT_EQ] = ACTIONS(1698),
    [anon_sym_CARET] = ACTIONS(1700),
    [anon_sym_PLUS] = ACTIONS(1702),
    [anon_sym_SLASH] = ACTIONS(1678),
    [anon_sym_PERCENT] = ACTIONS(1678),
    [sym_comment] = ACTIONS(110),
  },
  [3039] = {
    [sym__binary_minus] = ACTIONS(1672),
    [sym__binary_star] = ACTIONS(1674),
    [anon_sym_PIPE] = ACTIONS(1676),
    [anon_sym_STAR_STAR] = ACTIONS(1678),
    [anon_sym_AMP] = ACTIONS(1680),
    [anon_sym_LT] = ACTIONS(1682),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(1684),
    [anon_sym_DOT_DOT] = ACTIONS(1686),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1688),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(1692),
    [anon_sym_AMP_AMP] = ACTIONS(1692),
    [anon_sym_LT_LT] = ACTIONS(1694),
    [anon_sym_GT_GT] = ACTIONS(1694),
    [anon_sym_EQ_EQ] = ACTIONS(1696),
    [anon_sym_BANG_EQ] = ACTIONS(1692),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1692),
    [anon_sym_LT_EQ_GT] = ACTIONS(1692),
    [anon_sym_EQ_TILDE] = ACTIONS(1692),
    [anon_sym_BANG_TILDE] = ACTIONS(1692),
    [anon_sym_LT_EQ] = ACTIONS(1682),
    [anon_sym_GT] = ACTIONS(1682),
    [anon_sym_GT_EQ] = ACTIONS(1698),
    [anon_sym_CARET] = ACTIONS(1700),
    [anon_sym_PLUS] = ACTIONS(1702),
    [anon_sym_SLASH] = ACTIONS(1678),
    [anon_sym_PERCENT] = ACTIONS(1678),
    [sym_comment] = ACTIONS(110),
  },
  [3040] = {
    [sym__binary_minus] = ACTIONS(1672),
    [sym__binary_star] = ACTIONS(1674),
    [anon_sym_PIPE] = ACTIONS(1676),
    [anon_sym_STAR_STAR] = ACTIONS(1678),
    [anon_sym_AMP] = ACTIONS(1680),
    [anon_sym_LT] = ACTIONS(1682),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(1694),
    [anon_sym_GT_GT] = ACTIONS(1694),
    [anon_sym_EQ_EQ] = ACTIONS(1696),
    [anon_sym_BANG_EQ] = ACTIONS(1692),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1692),
    [anon_sym_LT_EQ_GT] = ACTIONS(1692),
    [anon_sym_EQ_TILDE] = ACTIONS(1692),
    [anon_sym_BANG_TILDE] = ACTIONS(1692),
    [anon_sym_LT_EQ] = ACTIONS(1682),
    [anon_sym_GT] = ACTIONS(1682),
    [anon_sym_GT_EQ] = ACTIONS(1698),
    [anon_sym_CARET] = ACTIONS(1700),
    [anon_sym_PLUS] = ACTIONS(1702),
    [anon_sym_SLASH] = ACTIONS(1678),
    [anon_sym_PERCENT] = ACTIONS(1678),
    [sym_comment] = ACTIONS(110),
  },
  [3041] = {
    [sym__binary_minus] = ACTIONS(1672),
    [sym__binary_star] = ACTIONS(1674),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(1678),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(1702),
    [anon_sym_SLASH] = ACTIONS(1678),
    [anon_sym_PERCENT] = ACTIONS(1678),
    [sym_comment] = ACTIONS(110),
  },
  [3042] = {
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(1674),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(1678),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(1678),
    [anon_sym_PERCENT] = ACTIONS(1678),
    [sym_comment] = ACTIONS(110),
  },
  [3043] = {
    [sym__element_reference_left_bracket] = ACTIONS(7110),
    [sym__scope_double_colon] = ACTIONS(7110),
    [sym__binary_minus] = ACTIONS(7110),
    [sym__binary_star] = ACTIONS(7110),
    [anon_sym_DOT] = ACTIONS(7112),
    [anon_sym_COMMA] = ACTIONS(7110),
    [anon_sym_PIPE] = ACTIONS(7112),
    [anon_sym_STAR_STAR] = ACTIONS(7112),
    [anon_sym_AMP] = ACTIONS(7112),
    [anon_sym_EQ] = ACTIONS(7112),
    [anon_sym_LT] = ACTIONS(7112),
    [anon_sym_EQ_GT] = ACTIONS(7110),
    [anon_sym_AMP_DOT] = ACTIONS(7110),
    [anon_sym_PLUS_EQ] = ACTIONS(7110),
    [anon_sym_DASH_EQ] = ACTIONS(7110),
    [anon_sym_STAR_EQ] = ACTIONS(7110),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7110),
    [anon_sym_SLASH_EQ] = ACTIONS(7110),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7110),
    [anon_sym_PIPE_EQ] = ACTIONS(7110),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7110),
    [anon_sym_AMP_EQ] = ACTIONS(7110),
    [anon_sym_PERCENT_EQ] = ACTIONS(7110),
    [anon_sym_GT_GT_EQ] = ACTIONS(7110),
    [anon_sym_LT_LT_EQ] = ACTIONS(7110),
    [anon_sym_CARET_EQ] = ACTIONS(7110),
    [anon_sym_QMARK] = ACTIONS(7110),
    [anon_sym_DOT_DOT] = ACTIONS(7112),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7110),
    [anon_sym_and] = ACTIONS(7110),
    [anon_sym_or] = ACTIONS(7110),
    [anon_sym_PIPE_PIPE] = ACTIONS(7112),
    [anon_sym_AMP_AMP] = ACTIONS(7112),
    [anon_sym_LT_LT] = ACTIONS(7112),
    [anon_sym_GT_GT] = ACTIONS(7112),
    [anon_sym_EQ_EQ] = ACTIONS(7112),
    [anon_sym_BANG_EQ] = ACTIONS(7110),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7110),
    [anon_sym_LT_EQ_GT] = ACTIONS(7110),
    [anon_sym_EQ_TILDE] = ACTIONS(7110),
    [anon_sym_BANG_TILDE] = ACTIONS(7110),
    [anon_sym_LT_EQ] = ACTIONS(7112),
    [anon_sym_GT] = ACTIONS(7112),
    [anon_sym_GT_EQ] = ACTIONS(7110),
    [anon_sym_CARET] = ACTIONS(7112),
    [anon_sym_PLUS] = ACTIONS(7112),
    [anon_sym_SLASH] = ACTIONS(7112),
    [anon_sym_PERCENT] = ACTIONS(7112),
    [sym_comment] = ACTIONS(256),
  },
  [3044] = {
    [sym_heredoc_end] = STATE(6160),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RBRACK] = ACTIONS(8578),
    [sym_comment] = ACTIONS(110),
  },
  [3045] = {
    [anon_sym_RBRACK] = ACTIONS(8578),
    [sym_comment] = ACTIONS(110),
  },
  [3046] = {
    [sym__simple_string] = ACTIONS(7116),
    [sym__simple_symbol] = ACTIONS(7116),
    [sym__simple_subshell] = ACTIONS(7116),
    [sym__simple_regex] = ACTIONS(7116),
    [sym__simple_word_list] = ACTIONS(7116),
    [sym__string_beginning] = ACTIONS(7116),
    [sym__symbol_beginning] = ACTIONS(7116),
    [sym__subshell_beginning] = ACTIONS(7116),
    [sym__regex_beginning] = ACTIONS(7116),
    [sym__word_list_beginning] = ACTIONS(7116),
    [sym_heredoc_beginning] = ACTIONS(7116),
    [sym__element_reference_left_bracket] = ACTIONS(7116),
    [sym__block_ampersand] = ACTIONS(7116),
    [sym__splat_star] = ACTIONS(7116),
    [sym__argument_list_left_paren] = ACTIONS(7116),
    [sym__scope_double_colon] = ACTIONS(7116),
    [sym__unary_minus] = ACTIONS(7116),
    [sym__binary_minus] = ACTIONS(7116),
    [sym__binary_star] = ACTIONS(7116),
    [anon_sym_LBRACE] = ACTIONS(7116),
    [anon_sym_def] = ACTIONS(7118),
    [anon_sym_LPAREN] = ACTIONS(7116),
    [anon_sym_DOT] = ACTIONS(7118),
    [anon_sym_COLON_COLON] = ACTIONS(7116),
    [anon_sym_end] = ACTIONS(7118),
    [anon_sym_COMMA] = ACTIONS(7116),
    [anon_sym_PIPE] = ACTIONS(7118),
    [anon_sym_STAR] = ACTIONS(7118),
    [anon_sym_STAR_STAR] = ACTIONS(7118),
    [anon_sym_AMP] = ACTIONS(7118),
    [anon_sym_EQ] = ACTIONS(7118),
    [anon_sym_class] = ACTIONS(7118),
    [anon_sym_LT] = ACTIONS(7118),
    [anon_sym_module] = ACTIONS(7118),
    [anon_sym_return] = ACTIONS(7118),
    [anon_sym_yield] = ACTIONS(7118),
    [anon_sym_break] = ACTIONS(7118),
    [anon_sym_next] = ACTIONS(7118),
    [anon_sym_redo] = ACTIONS(7118),
    [anon_sym_retry] = ACTIONS(7118),
    [anon_sym_if] = ACTIONS(7118),
    [anon_sym_unless] = ACTIONS(7118),
    [anon_sym_while] = ACTIONS(7118),
    [anon_sym_until] = ACTIONS(7118),
    [anon_sym_rescue] = ACTIONS(7118),
    [anon_sym_for] = ACTIONS(7118),
    [anon_sym_in] = ACTIONS(7118),
    [anon_sym_do] = ACTIONS(7118),
    [anon_sym_case] = ACTIONS(7118),
    [anon_sym_when] = ACTIONS(7118),
    [anon_sym_elsif] = ACTIONS(7118),
    [anon_sym_else] = ACTIONS(7118),
    [anon_sym_then] = ACTIONS(7118),
    [anon_sym_begin] = ACTIONS(7118),
    [anon_sym_ensure] = ACTIONS(7118),
    [anon_sym_EQ_GT] = ACTIONS(7116),
    [anon_sym_AMP_DOT] = ACTIONS(7116),
    [anon_sym_PLUS_EQ] = ACTIONS(7116),
    [anon_sym_DASH_EQ] = ACTIONS(7116),
    [anon_sym_STAR_EQ] = ACTIONS(7116),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7116),
    [anon_sym_SLASH_EQ] = ACTIONS(7116),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7116),
    [anon_sym_PIPE_EQ] = ACTIONS(7116),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7116),
    [anon_sym_AMP_EQ] = ACTIONS(7116),
    [anon_sym_PERCENT_EQ] = ACTIONS(7116),
    [anon_sym_GT_GT_EQ] = ACTIONS(7116),
    [anon_sym_LT_LT_EQ] = ACTIONS(7116),
    [anon_sym_CARET_EQ] = ACTIONS(7116),
    [anon_sym_QMARK] = ACTIONS(7118),
    [anon_sym_DOT_DOT] = ACTIONS(7118),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7116),
    [anon_sym_and] = ACTIONS(7118),
    [anon_sym_or] = ACTIONS(7118),
    [anon_sym_PIPE_PIPE] = ACTIONS(7118),
    [anon_sym_AMP_AMP] = ACTIONS(7118),
    [anon_sym_LT_LT] = ACTIONS(7118),
    [anon_sym_GT_GT] = ACTIONS(7118),
    [anon_sym_EQ_EQ] = ACTIONS(7118),
    [anon_sym_BANG_EQ] = ACTIONS(7116),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7116),
    [anon_sym_LT_EQ_GT] = ACTIONS(7116),
    [anon_sym_EQ_TILDE] = ACTIONS(7116),
    [anon_sym_BANG_TILDE] = ACTIONS(7116),
    [anon_sym_LT_EQ] = ACTIONS(7118),
    [anon_sym_GT] = ACTIONS(7118),
    [anon_sym_GT_EQ] = ACTIONS(7116),
    [anon_sym_CARET] = ACTIONS(7118),
    [anon_sym_PLUS] = ACTIONS(7118),
    [anon_sym_SLASH] = ACTIONS(7118),
    [anon_sym_PERCENT] = ACTIONS(7118),
    [anon_sym_defined_QMARK] = ACTIONS(7116),
    [anon_sym_not] = ACTIONS(7118),
    [anon_sym_BANG] = ACTIONS(7118),
    [anon_sym_TILDE] = ACTIONS(7116),
    [sym_constant] = ACTIONS(7120),
    [sym_identifier] = ACTIONS(7120),
    [sym_instance_variable] = ACTIONS(7118),
    [sym_class_variable] = ACTIONS(7118),
    [sym_global_variable] = ACTIONS(7118),
    [anon_sym_alias] = ACTIONS(7118),
    [anon_sym_defined] = ACTIONS(7118),
    [anon_sym_false] = ACTIONS(7118),
    [anon_sym_nil] = ACTIONS(7118),
    [anon_sym_self] = ACTIONS(7118),
    [anon_sym_super] = ACTIONS(7118),
    [anon_sym_true] = ACTIONS(7118),
    [anon_sym_undef] = ACTIONS(7118),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(7118),
    [sym_float] = ACTIONS(7120),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(7116),
    [anon_sym_TRUE] = ACTIONS(7118),
    [anon_sym_FALSE] = ACTIONS(7118),
    [anon_sym_NIL] = ACTIONS(7118),
    [sym_keyword__FILE__] = ACTIONS(7118),
    [sym_keyword__LINE__] = ACTIONS(7118),
    [sym_keyword__ENCODING__] = ACTIONS(7118),
    [sym__character_literal] = ACTIONS(7118),
    [anon_sym_LBRACK] = ACTIONS(7116),
    [anon_sym_DASH_GT] = ACTIONS(7116),
  },
  [3047] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1382),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(6162),
    [sym__argument] = STATE(1385),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1386),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1387),
    [sym__variable] = STATE(1383),
    [sym_reserved_identifier] = STATE(1388),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1389),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(6163),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(2154),
    [sym__splat_star] = ACTIONS(2156),
    [sym__unary_minus] = ACTIONS(2158),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(8580),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2162),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2164),
    [anon_sym_yield] = ACTIONS(2166),
    [anon_sym_break] = ACTIONS(2168),
    [anon_sym_next] = ACTIONS(2170),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2172),
    [anon_sym_defined_QMARK] = ACTIONS(2174),
    [anon_sym_not] = ACTIONS(2176),
    [anon_sym_BANG] = ACTIONS(2178),
    [anon_sym_TILDE] = ACTIONS(2178),
    [sym_constant] = ACTIONS(2180),
    [sym_identifier] = ACTIONS(2180),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3048] = {
    [sym__simple_string] = ACTIONS(1856),
    [sym__simple_symbol] = ACTIONS(1856),
    [sym__simple_subshell] = ACTIONS(1856),
    [sym__simple_regex] = ACTIONS(1856),
    [sym__simple_word_list] = ACTIONS(1856),
    [sym__string_beginning] = ACTIONS(1856),
    [sym__symbol_beginning] = ACTIONS(1856),
    [sym__subshell_beginning] = ACTIONS(1856),
    [sym__regex_beginning] = ACTIONS(1856),
    [sym__word_list_beginning] = ACTIONS(1856),
    [sym_heredoc_beginning] = ACTIONS(1856),
    [sym__element_reference_left_bracket] = ACTIONS(1856),
    [sym__block_ampersand] = ACTIONS(1856),
    [sym__splat_star] = ACTIONS(1856),
    [sym__argument_list_left_paren] = ACTIONS(1856),
    [sym__scope_double_colon] = ACTIONS(1856),
    [sym__unary_minus] = ACTIONS(1856),
    [sym__binary_minus] = ACTIONS(1856),
    [sym__binary_star] = ACTIONS(1856),
    [anon_sym_LBRACE] = ACTIONS(1856),
    [anon_sym_def] = ACTIONS(1858),
    [anon_sym_LPAREN] = ACTIONS(1856),
    [anon_sym_DOT] = ACTIONS(1858),
    [anon_sym_COLON_COLON] = ACTIONS(1856),
    [anon_sym_end] = ACTIONS(1858),
    [anon_sym_COMMA] = ACTIONS(1856),
    [anon_sym_PIPE] = ACTIONS(1858),
    [anon_sym_STAR] = ACTIONS(1858),
    [anon_sym_STAR_STAR] = ACTIONS(1858),
    [anon_sym_AMP] = ACTIONS(1858),
    [anon_sym_EQ] = ACTIONS(1858),
    [anon_sym_class] = ACTIONS(1858),
    [anon_sym_LT] = ACTIONS(1858),
    [anon_sym_module] = ACTIONS(1858),
    [anon_sym_return] = ACTIONS(1858),
    [anon_sym_yield] = ACTIONS(1858),
    [anon_sym_break] = ACTIONS(1858),
    [anon_sym_next] = ACTIONS(1858),
    [anon_sym_redo] = ACTIONS(1858),
    [anon_sym_retry] = ACTIONS(1858),
    [anon_sym_if] = ACTIONS(1858),
    [anon_sym_unless] = ACTIONS(1858),
    [anon_sym_while] = ACTIONS(1858),
    [anon_sym_until] = ACTIONS(1858),
    [anon_sym_rescue] = ACTIONS(1858),
    [anon_sym_for] = ACTIONS(1858),
    [anon_sym_in] = ACTIONS(1858),
    [anon_sym_do] = ACTIONS(1858),
    [anon_sym_case] = ACTIONS(1858),
    [anon_sym_when] = ACTIONS(1858),
    [anon_sym_elsif] = ACTIONS(1858),
    [anon_sym_else] = ACTIONS(1858),
    [anon_sym_then] = ACTIONS(1858),
    [anon_sym_begin] = ACTIONS(1858),
    [anon_sym_ensure] = ACTIONS(1858),
    [anon_sym_EQ_GT] = ACTIONS(1856),
    [anon_sym_AMP_DOT] = ACTIONS(1856),
    [anon_sym_PLUS_EQ] = ACTIONS(1856),
    [anon_sym_DASH_EQ] = ACTIONS(1856),
    [anon_sym_STAR_EQ] = ACTIONS(1856),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1856),
    [anon_sym_SLASH_EQ] = ACTIONS(1856),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1856),
    [anon_sym_PIPE_EQ] = ACTIONS(1856),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1856),
    [anon_sym_AMP_EQ] = ACTIONS(1856),
    [anon_sym_PERCENT_EQ] = ACTIONS(1856),
    [anon_sym_GT_GT_EQ] = ACTIONS(1856),
    [anon_sym_LT_LT_EQ] = ACTIONS(1856),
    [anon_sym_CARET_EQ] = ACTIONS(1856),
    [anon_sym_QMARK] = ACTIONS(1858),
    [anon_sym_DOT_DOT] = ACTIONS(1858),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1856),
    [anon_sym_and] = ACTIONS(1858),
    [anon_sym_or] = ACTIONS(1858),
    [anon_sym_PIPE_PIPE] = ACTIONS(1858),
    [anon_sym_AMP_AMP] = ACTIONS(1858),
    [anon_sym_LT_LT] = ACTIONS(1858),
    [anon_sym_GT_GT] = ACTIONS(1858),
    [anon_sym_EQ_EQ] = ACTIONS(1858),
    [anon_sym_BANG_EQ] = ACTIONS(1856),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1856),
    [anon_sym_LT_EQ_GT] = ACTIONS(1856),
    [anon_sym_EQ_TILDE] = ACTIONS(1856),
    [anon_sym_BANG_TILDE] = ACTIONS(1856),
    [anon_sym_LT_EQ] = ACTIONS(1858),
    [anon_sym_GT] = ACTIONS(1858),
    [anon_sym_GT_EQ] = ACTIONS(1856),
    [anon_sym_CARET] = ACTIONS(1858),
    [anon_sym_PLUS] = ACTIONS(1858),
    [anon_sym_SLASH] = ACTIONS(1858),
    [anon_sym_PERCENT] = ACTIONS(1858),
    [anon_sym_defined_QMARK] = ACTIONS(1856),
    [anon_sym_not] = ACTIONS(1858),
    [anon_sym_BANG] = ACTIONS(1858),
    [anon_sym_TILDE] = ACTIONS(1856),
    [sym_constant] = ACTIONS(7124),
    [sym_identifier] = ACTIONS(7124),
    [sym_instance_variable] = ACTIONS(1858),
    [sym_class_variable] = ACTIONS(1858),
    [sym_global_variable] = ACTIONS(1858),
    [anon_sym_alias] = ACTIONS(1858),
    [anon_sym_defined] = ACTIONS(1858),
    [anon_sym_false] = ACTIONS(1858),
    [anon_sym_nil] = ACTIONS(1858),
    [anon_sym_self] = ACTIONS(1858),
    [anon_sym_super] = ACTIONS(1858),
    [anon_sym_true] = ACTIONS(1858),
    [anon_sym_undef] = ACTIONS(1858),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1858),
    [sym_float] = ACTIONS(7124),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1856),
    [anon_sym_TRUE] = ACTIONS(1858),
    [anon_sym_FALSE] = ACTIONS(1858),
    [anon_sym_NIL] = ACTIONS(1858),
    [sym_keyword__FILE__] = ACTIONS(1858),
    [sym_keyword__LINE__] = ACTIONS(1858),
    [sym_keyword__ENCODING__] = ACTIONS(1858),
    [sym__character_literal] = ACTIONS(1858),
    [anon_sym_LBRACK] = ACTIONS(1856),
    [anon_sym_DASH_GT] = ACTIONS(1856),
  },
  [3049] = {
    [sym__simple_string] = ACTIONS(7126),
    [sym__simple_symbol] = ACTIONS(7126),
    [sym__simple_subshell] = ACTIONS(7126),
    [sym__simple_regex] = ACTIONS(7126),
    [sym__simple_word_list] = ACTIONS(7126),
    [sym__string_beginning] = ACTIONS(7126),
    [sym__symbol_beginning] = ACTIONS(7126),
    [sym__subshell_beginning] = ACTIONS(7126),
    [sym__regex_beginning] = ACTIONS(7126),
    [sym__word_list_beginning] = ACTIONS(7126),
    [sym_heredoc_beginning] = ACTIONS(7126),
    [sym__element_reference_left_bracket] = ACTIONS(7126),
    [sym__block_ampersand] = ACTIONS(7126),
    [sym__splat_star] = ACTIONS(7126),
    [sym__argument_list_left_paren] = ACTIONS(7126),
    [sym__scope_double_colon] = ACTIONS(7126),
    [sym__unary_minus] = ACTIONS(7126),
    [sym__binary_minus] = ACTIONS(7126),
    [sym__binary_star] = ACTIONS(7126),
    [anon_sym_LBRACE] = ACTIONS(7126),
    [anon_sym_def] = ACTIONS(7128),
    [anon_sym_LPAREN] = ACTIONS(7126),
    [anon_sym_DOT] = ACTIONS(7128),
    [anon_sym_COLON_COLON] = ACTIONS(7126),
    [anon_sym_end] = ACTIONS(7128),
    [anon_sym_COMMA] = ACTIONS(7126),
    [anon_sym_PIPE] = ACTIONS(7128),
    [anon_sym_STAR] = ACTIONS(7128),
    [anon_sym_STAR_STAR] = ACTIONS(7128),
    [anon_sym_AMP] = ACTIONS(7128),
    [anon_sym_EQ] = ACTIONS(7128),
    [anon_sym_class] = ACTIONS(7128),
    [anon_sym_LT] = ACTIONS(7128),
    [anon_sym_module] = ACTIONS(7128),
    [anon_sym_return] = ACTIONS(7128),
    [anon_sym_yield] = ACTIONS(7128),
    [anon_sym_break] = ACTIONS(7128),
    [anon_sym_next] = ACTIONS(7128),
    [anon_sym_redo] = ACTIONS(7128),
    [anon_sym_retry] = ACTIONS(7128),
    [anon_sym_if] = ACTIONS(7128),
    [anon_sym_unless] = ACTIONS(7128),
    [anon_sym_while] = ACTIONS(7128),
    [anon_sym_until] = ACTIONS(7128),
    [anon_sym_rescue] = ACTIONS(7128),
    [anon_sym_for] = ACTIONS(7128),
    [anon_sym_in] = ACTIONS(7128),
    [anon_sym_do] = ACTIONS(7128),
    [anon_sym_case] = ACTIONS(7128),
    [anon_sym_when] = ACTIONS(7128),
    [anon_sym_elsif] = ACTIONS(7128),
    [anon_sym_else] = ACTIONS(7128),
    [anon_sym_then] = ACTIONS(7128),
    [anon_sym_begin] = ACTIONS(7128),
    [anon_sym_ensure] = ACTIONS(7128),
    [anon_sym_EQ_GT] = ACTIONS(7126),
    [anon_sym_AMP_DOT] = ACTIONS(7126),
    [anon_sym_PLUS_EQ] = ACTIONS(7126),
    [anon_sym_DASH_EQ] = ACTIONS(7126),
    [anon_sym_STAR_EQ] = ACTIONS(7126),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7126),
    [anon_sym_SLASH_EQ] = ACTIONS(7126),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7126),
    [anon_sym_PIPE_EQ] = ACTIONS(7126),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7126),
    [anon_sym_AMP_EQ] = ACTIONS(7126),
    [anon_sym_PERCENT_EQ] = ACTIONS(7126),
    [anon_sym_GT_GT_EQ] = ACTIONS(7126),
    [anon_sym_LT_LT_EQ] = ACTIONS(7126),
    [anon_sym_CARET_EQ] = ACTIONS(7126),
    [anon_sym_QMARK] = ACTIONS(7128),
    [anon_sym_DOT_DOT] = ACTIONS(7128),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7126),
    [anon_sym_and] = ACTIONS(7128),
    [anon_sym_or] = ACTIONS(7128),
    [anon_sym_PIPE_PIPE] = ACTIONS(7128),
    [anon_sym_AMP_AMP] = ACTIONS(7128),
    [anon_sym_LT_LT] = ACTIONS(7128),
    [anon_sym_GT_GT] = ACTIONS(7128),
    [anon_sym_EQ_EQ] = ACTIONS(7128),
    [anon_sym_BANG_EQ] = ACTIONS(7126),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7126),
    [anon_sym_LT_EQ_GT] = ACTIONS(7126),
    [anon_sym_EQ_TILDE] = ACTIONS(7126),
    [anon_sym_BANG_TILDE] = ACTIONS(7126),
    [anon_sym_LT_EQ] = ACTIONS(7128),
    [anon_sym_GT] = ACTIONS(7128),
    [anon_sym_GT_EQ] = ACTIONS(7126),
    [anon_sym_CARET] = ACTIONS(7128),
    [anon_sym_PLUS] = ACTIONS(7128),
    [anon_sym_SLASH] = ACTIONS(7128),
    [anon_sym_PERCENT] = ACTIONS(7128),
    [anon_sym_defined_QMARK] = ACTIONS(7126),
    [anon_sym_not] = ACTIONS(7128),
    [anon_sym_BANG] = ACTIONS(7128),
    [anon_sym_TILDE] = ACTIONS(7126),
    [sym_constant] = ACTIONS(7130),
    [sym_identifier] = ACTIONS(7130),
    [sym_instance_variable] = ACTIONS(7128),
    [sym_class_variable] = ACTIONS(7128),
    [sym_global_variable] = ACTIONS(7128),
    [anon_sym_alias] = ACTIONS(7128),
    [anon_sym_defined] = ACTIONS(7128),
    [anon_sym_false] = ACTIONS(7128),
    [anon_sym_nil] = ACTIONS(7128),
    [anon_sym_self] = ACTIONS(7128),
    [anon_sym_super] = ACTIONS(7128),
    [anon_sym_true] = ACTIONS(7128),
    [anon_sym_undef] = ACTIONS(7128),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(7128),
    [sym_float] = ACTIONS(7130),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(7126),
    [anon_sym_TRUE] = ACTIONS(7128),
    [anon_sym_FALSE] = ACTIONS(7128),
    [anon_sym_NIL] = ACTIONS(7128),
    [sym_keyword__FILE__] = ACTIONS(7128),
    [sym_keyword__LINE__] = ACTIONS(7128),
    [sym_keyword__ENCODING__] = ACTIONS(7128),
    [sym__character_literal] = ACTIONS(7128),
    [anon_sym_LBRACK] = ACTIONS(7126),
    [anon_sym_DASH_GT] = ACTIONS(7126),
  },
  [3050] = {
    [sym__simple_string] = ACTIONS(7132),
    [sym__simple_symbol] = ACTIONS(7132),
    [sym__simple_subshell] = ACTIONS(7132),
    [sym__simple_regex] = ACTIONS(7132),
    [sym__simple_word_list] = ACTIONS(7132),
    [sym__string_beginning] = ACTIONS(7132),
    [sym__symbol_beginning] = ACTIONS(7132),
    [sym__subshell_beginning] = ACTIONS(7132),
    [sym__regex_beginning] = ACTIONS(7132),
    [sym__word_list_beginning] = ACTIONS(7132),
    [sym_heredoc_beginning] = ACTIONS(7132),
    [sym__element_reference_left_bracket] = ACTIONS(7132),
    [sym__block_ampersand] = ACTIONS(7132),
    [sym__splat_star] = ACTIONS(7132),
    [sym__argument_list_left_paren] = ACTIONS(7132),
    [sym__scope_double_colon] = ACTIONS(7132),
    [sym__unary_minus] = ACTIONS(7132),
    [sym__binary_minus] = ACTIONS(7132),
    [sym__binary_star] = ACTIONS(7132),
    [anon_sym_LBRACE] = ACTIONS(7132),
    [anon_sym_def] = ACTIONS(7134),
    [anon_sym_LPAREN] = ACTIONS(7132),
    [anon_sym_DOT] = ACTIONS(7134),
    [anon_sym_COLON_COLON] = ACTIONS(7132),
    [anon_sym_end] = ACTIONS(7134),
    [anon_sym_COMMA] = ACTIONS(7132),
    [anon_sym_PIPE] = ACTIONS(7134),
    [anon_sym_STAR] = ACTIONS(7134),
    [anon_sym_STAR_STAR] = ACTIONS(7134),
    [anon_sym_AMP] = ACTIONS(7134),
    [anon_sym_EQ] = ACTIONS(7134),
    [anon_sym_class] = ACTIONS(7134),
    [anon_sym_LT] = ACTIONS(7134),
    [anon_sym_module] = ACTIONS(7134),
    [anon_sym_return] = ACTIONS(7134),
    [anon_sym_yield] = ACTIONS(7134),
    [anon_sym_break] = ACTIONS(7134),
    [anon_sym_next] = ACTIONS(7134),
    [anon_sym_redo] = ACTIONS(7134),
    [anon_sym_retry] = ACTIONS(7134),
    [anon_sym_if] = ACTIONS(7134),
    [anon_sym_unless] = ACTIONS(7134),
    [anon_sym_while] = ACTIONS(7134),
    [anon_sym_until] = ACTIONS(7134),
    [anon_sym_rescue] = ACTIONS(7134),
    [anon_sym_for] = ACTIONS(7134),
    [anon_sym_in] = ACTIONS(7134),
    [anon_sym_do] = ACTIONS(7134),
    [anon_sym_case] = ACTIONS(7134),
    [anon_sym_when] = ACTIONS(7134),
    [anon_sym_elsif] = ACTIONS(7134),
    [anon_sym_else] = ACTIONS(7134),
    [anon_sym_then] = ACTIONS(7134),
    [anon_sym_begin] = ACTIONS(7134),
    [anon_sym_ensure] = ACTIONS(7134),
    [anon_sym_EQ_GT] = ACTIONS(7132),
    [anon_sym_AMP_DOT] = ACTIONS(7132),
    [anon_sym_PLUS_EQ] = ACTIONS(7132),
    [anon_sym_DASH_EQ] = ACTIONS(7132),
    [anon_sym_STAR_EQ] = ACTIONS(7132),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7132),
    [anon_sym_SLASH_EQ] = ACTIONS(7132),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7132),
    [anon_sym_PIPE_EQ] = ACTIONS(7132),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7132),
    [anon_sym_AMP_EQ] = ACTIONS(7132),
    [anon_sym_PERCENT_EQ] = ACTIONS(7132),
    [anon_sym_GT_GT_EQ] = ACTIONS(7132),
    [anon_sym_LT_LT_EQ] = ACTIONS(7132),
    [anon_sym_CARET_EQ] = ACTIONS(7132),
    [anon_sym_QMARK] = ACTIONS(7134),
    [anon_sym_DOT_DOT] = ACTIONS(7134),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7132),
    [anon_sym_and] = ACTIONS(7134),
    [anon_sym_or] = ACTIONS(7134),
    [anon_sym_PIPE_PIPE] = ACTIONS(7134),
    [anon_sym_AMP_AMP] = ACTIONS(7134),
    [anon_sym_LT_LT] = ACTIONS(7134),
    [anon_sym_GT_GT] = ACTIONS(7134),
    [anon_sym_EQ_EQ] = ACTIONS(7134),
    [anon_sym_BANG_EQ] = ACTIONS(7132),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7132),
    [anon_sym_LT_EQ_GT] = ACTIONS(7132),
    [anon_sym_EQ_TILDE] = ACTIONS(7132),
    [anon_sym_BANG_TILDE] = ACTIONS(7132),
    [anon_sym_LT_EQ] = ACTIONS(7134),
    [anon_sym_GT] = ACTIONS(7134),
    [anon_sym_GT_EQ] = ACTIONS(7132),
    [anon_sym_CARET] = ACTIONS(7134),
    [anon_sym_PLUS] = ACTIONS(7134),
    [anon_sym_SLASH] = ACTIONS(7134),
    [anon_sym_PERCENT] = ACTIONS(7134),
    [anon_sym_defined_QMARK] = ACTIONS(7132),
    [anon_sym_not] = ACTIONS(7134),
    [anon_sym_BANG] = ACTIONS(7134),
    [anon_sym_TILDE] = ACTIONS(7132),
    [sym_constant] = ACTIONS(7136),
    [sym_identifier] = ACTIONS(7136),
    [sym_instance_variable] = ACTIONS(7134),
    [sym_class_variable] = ACTIONS(7134),
    [sym_global_variable] = ACTIONS(7134),
    [anon_sym_alias] = ACTIONS(7134),
    [anon_sym_defined] = ACTIONS(7134),
    [anon_sym_false] = ACTIONS(7134),
    [anon_sym_nil] = ACTIONS(7134),
    [anon_sym_self] = ACTIONS(7134),
    [anon_sym_super] = ACTIONS(7134),
    [anon_sym_true] = ACTIONS(7134),
    [anon_sym_undef] = ACTIONS(7134),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(7134),
    [sym_float] = ACTIONS(7136),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(7132),
    [anon_sym_TRUE] = ACTIONS(7134),
    [anon_sym_FALSE] = ACTIONS(7134),
    [anon_sym_NIL] = ACTIONS(7134),
    [sym_keyword__FILE__] = ACTIONS(7134),
    [sym_keyword__LINE__] = ACTIONS(7134),
    [sym_keyword__ENCODING__] = ACTIONS(7134),
    [sym__character_literal] = ACTIONS(7134),
    [anon_sym_LBRACK] = ACTIONS(7132),
    [anon_sym_DASH_GT] = ACTIONS(7132),
  },
  [3051] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(8582),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [3052] = {
    [sym__statement] = STATE(6165),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [3053] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(8584),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [3054] = {
    [sym__statement] = STATE(6167),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [3055] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(8586),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [3056] = {
    [sym__statement] = STATE(6169),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [3057] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(8588),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [3058] = {
    [sym__statement] = STATE(6171),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [3059] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(8590),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [3060] = {
    [sym__statement] = STATE(6173),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [3061] = {
    [sym__simple_string] = ACTIONS(126),
    [sym__simple_heredoc_body] = ACTIONS(126),
    [sym__string_beginning] = ACTIONS(126),
    [sym__heredoc_body_beginning] = ACTIONS(126),
    [sym__element_reference_left_bracket] = ACTIONS(126),
    [sym__scope_double_colon] = ACTIONS(126),
    [sym__binary_minus] = ACTIONS(126),
    [sym__binary_star] = ACTIONS(126),
    [anon_sym_LBRACE] = ACTIONS(126),
    [anon_sym_RBRACE] = ACTIONS(126),
    [anon_sym_RPAREN] = ACTIONS(126),
    [anon_sym_DOT] = ACTIONS(128),
    [anon_sym_COMMA] = ACTIONS(126),
    [anon_sym_PIPE] = ACTIONS(128),
    [anon_sym_SEMI] = ACTIONS(126),
    [anon_sym_STAR_STAR] = ACTIONS(128),
    [anon_sym_AMP] = ACTIONS(128),
    [anon_sym_EQ] = ACTIONS(128),
    [anon_sym_LT] = ACTIONS(128),
    [anon_sym_in] = ACTIONS(126),
    [anon_sym_do] = ACTIONS(126),
    [anon_sym_EQ_GT] = ACTIONS(126),
    [anon_sym_RBRACK] = ACTIONS(126),
    [anon_sym_AMP_DOT] = ACTIONS(126),
    [anon_sym_PLUS_EQ] = ACTIONS(126),
    [anon_sym_DASH_EQ] = ACTIONS(126),
    [anon_sym_STAR_EQ] = ACTIONS(126),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(126),
    [anon_sym_SLASH_EQ] = ACTIONS(126),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(126),
    [anon_sym_PIPE_EQ] = ACTIONS(126),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(126),
    [anon_sym_AMP_EQ] = ACTIONS(126),
    [anon_sym_PERCENT_EQ] = ACTIONS(126),
    [anon_sym_GT_GT_EQ] = ACTIONS(126),
    [anon_sym_LT_LT_EQ] = ACTIONS(126),
    [anon_sym_CARET_EQ] = ACTIONS(126),
    [anon_sym_QMARK] = ACTIONS(128),
    [anon_sym_COLON] = ACTIONS(126),
    [anon_sym_DOT_DOT] = ACTIONS(128),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(126),
    [anon_sym_and] = ACTIONS(126),
    [anon_sym_or] = ACTIONS(126),
    [anon_sym_PIPE_PIPE] = ACTIONS(128),
    [anon_sym_AMP_AMP] = ACTIONS(128),
    [anon_sym_LT_LT] = ACTIONS(128),
    [anon_sym_GT_GT] = ACTIONS(128),
    [anon_sym_EQ_EQ] = ACTIONS(128),
    [anon_sym_BANG_EQ] = ACTIONS(126),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(126),
    [anon_sym_LT_EQ_GT] = ACTIONS(126),
    [anon_sym_EQ_TILDE] = ACTIONS(126),
    [anon_sym_BANG_TILDE] = ACTIONS(126),
    [anon_sym_LT_EQ] = ACTIONS(128),
    [anon_sym_GT] = ACTIONS(128),
    [anon_sym_GT_EQ] = ACTIONS(126),
    [anon_sym_CARET] = ACTIONS(128),
    [anon_sym_PLUS] = ACTIONS(128),
    [anon_sym_SLASH] = ACTIONS(128),
    [anon_sym_PERCENT] = ACTIONS(128),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(128),
  },
  [3062] = {
    [sym__statement] = STATE(6174),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(6175),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [3063] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(193),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_hash_splat_argument] = STATE(197),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(199),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(200),
    [sym__variable] = STATE(196),
    [sym_reserved_identifier] = STATE(201),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(202),
    [sym_subshell] = STATE(151),
    [sym_heredoc_end] = STATE(3090),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym__hash_items] = STATE(3091),
    [sym_pair] = STATE(205),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(260),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(272),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(286),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_RBRACE] = ACTIONS(4494),
    [anon_sym_def] = ACTIONS(292),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(302),
    [anon_sym_class] = ACTIONS(304),
    [anon_sym_module] = ACTIONS(306),
    [anon_sym_return] = ACTIONS(308),
    [anon_sym_yield] = ACTIONS(310),
    [anon_sym_break] = ACTIONS(312),
    [anon_sym_next] = ACTIONS(314),
    [anon_sym_redo] = ACTIONS(316),
    [anon_sym_retry] = ACTIONS(318),
    [anon_sym_if] = ACTIONS(320),
    [anon_sym_unless] = ACTIONS(322),
    [anon_sym_while] = ACTIONS(324),
    [anon_sym_until] = ACTIONS(326),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(328),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(330),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(332),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(334),
    [anon_sym_defined_QMARK] = ACTIONS(336),
    [anon_sym_not] = ACTIONS(338),
    [anon_sym_BANG] = ACTIONS(340),
    [anon_sym_TILDE] = ACTIONS(340),
    [sym_constant] = ACTIONS(342),
    [sym_identifier] = ACTIONS(342),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(346),
    [anon_sym_nil] = ACTIONS(348),
    [anon_sym_self] = ACTIONS(350),
    [anon_sym_super] = ACTIONS(352),
    [anon_sym_true] = ACTIONS(354),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(370),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [3064] = {
    [sym__method_rest] = STATE(3093),
    [sym__variable] = STATE(3094),
    [sym_operator] = STATE(217),
    [sym__method_name] = STATE(3095),
    [sym_setter] = STATE(217),
    [sym_symbol] = STATE(217),
    [sym_super] = STATE(219),
    [sym_self] = STATE(219),
    [sym__simple_symbol] = ACTIONS(378),
    [sym__symbol_beginning] = ACTIONS(380),
    [anon_sym_LPAREN] = ACTIONS(4496),
    [anon_sym_PIPE] = ACTIONS(384),
    [anon_sym_STAR] = ACTIONS(386),
    [anon_sym_STAR_STAR] = ACTIONS(384),
    [anon_sym_AMP] = ACTIONS(384),
    [anon_sym_LT] = ACTIONS(386),
    [anon_sym_DOT_DOT] = ACTIONS(384),
    [anon_sym_LT_LT] = ACTIONS(384),
    [anon_sym_GT_GT] = ACTIONS(384),
    [anon_sym_EQ_EQ] = ACTIONS(386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(384),
    [anon_sym_LT_EQ_GT] = ACTIONS(384),
    [anon_sym_EQ_TILDE] = ACTIONS(384),
    [anon_sym_BANG_TILDE] = ACTIONS(384),
    [anon_sym_LT_EQ] = ACTIONS(386),
    [anon_sym_GT] = ACTIONS(386),
    [anon_sym_GT_EQ] = ACTIONS(384),
    [anon_sym_CARET] = ACTIONS(384),
    [anon_sym_PLUS] = ACTIONS(386),
    [anon_sym_SLASH] = ACTIONS(384),
    [anon_sym_PERCENT] = ACTIONS(384),
    [anon_sym_BANG] = ACTIONS(386),
    [anon_sym_TILDE] = ACTIONS(384),
    [sym_constant] = ACTIONS(388),
    [sym_identifier] = ACTIONS(390),
    [sym_instance_variable] = ACTIONS(388),
    [sym_class_variable] = ACTIONS(388),
    [sym_global_variable] = ACTIONS(388),
    [anon_sym_self] = ACTIONS(392),
    [anon_sym_super] = ACTIONS(394),
    [anon_sym_DASH] = ACTIONS(386),
    [anon_sym_PLUS_AT] = ACTIONS(384),
    [anon_sym_DASH_AT] = ACTIONS(384),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(386),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(384),
    [anon_sym_BQUOTE] = ACTIONS(384),
    [sym_comment] = ACTIONS(110),
  },
  [3065] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(293),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(3101),
    [sym_call] = STATE(295),
    [sym_method_call] = STATE(286),
    [sym__lhs] = STATE(255),
    [sym__variable] = STATE(295),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [sym__singleton_class_left_angle_left_langle] = ACTIONS(4500),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(458),
    [anon_sym_COLON_COLON] = ACTIONS(524),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(4502),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [3066] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(293),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(3103),
    [sym_call] = STATE(295),
    [sym_method_call] = STATE(286),
    [sym__lhs] = STATE(255),
    [sym__variable] = STATE(295),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(458),
    [anon_sym_COLON_COLON] = ACTIONS(524),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(4504),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [3067] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(1096),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(3104),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(1101),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1105),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1106),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1107),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(1108),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(1734),
    [sym__splat_star] = ACTIONS(1736),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(1740),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(544),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(1752),
    [anon_sym_yield] = ACTIONS(1754),
    [anon_sym_break] = ACTIONS(1756),
    [anon_sym_next] = ACTIONS(1758),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_PLUS_EQ] = ACTIONS(532),
    [anon_sym_DASH_EQ] = ACTIONS(532),
    [anon_sym_STAR_EQ] = ACTIONS(532),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(532),
    [anon_sym_SLASH_EQ] = ACTIONS(532),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(532),
    [anon_sym_PIPE_EQ] = ACTIONS(532),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(532),
    [anon_sym_AMP_EQ] = ACTIONS(532),
    [anon_sym_PERCENT_EQ] = ACTIONS(532),
    [anon_sym_GT_GT_EQ] = ACTIONS(532),
    [anon_sym_LT_LT_EQ] = ACTIONS(532),
    [anon_sym_CARET_EQ] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(544),
    [anon_sym_AMP_AMP] = ACTIONS(544),
    [anon_sym_LT_LT] = ACTIONS(544),
    [anon_sym_GT_GT] = ACTIONS(544),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(544),
    [anon_sym_PERCENT] = ACTIONS(544),
    [anon_sym_defined_QMARK] = ACTIONS(1780),
    [anon_sym_not] = ACTIONS(1782),
    [anon_sym_BANG] = ACTIONS(1784),
    [anon_sym_TILDE] = ACTIONS(1786),
    [sym_constant] = ACTIONS(1788),
    [sym_identifier] = ACTIONS(1788),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [3068] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(1096),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(3105),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(1101),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1105),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1106),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1107),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(1108),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(1734),
    [sym__splat_star] = ACTIONS(1736),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(1740),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(604),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(1752),
    [anon_sym_yield] = ACTIONS(1754),
    [anon_sym_break] = ACTIONS(1756),
    [anon_sym_next] = ACTIONS(1758),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_PLUS_EQ] = ACTIONS(602),
    [anon_sym_DASH_EQ] = ACTIONS(602),
    [anon_sym_STAR_EQ] = ACTIONS(602),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(602),
    [anon_sym_SLASH_EQ] = ACTIONS(602),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(602),
    [anon_sym_PIPE_EQ] = ACTIONS(602),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(602),
    [anon_sym_AMP_EQ] = ACTIONS(602),
    [anon_sym_PERCENT_EQ] = ACTIONS(602),
    [anon_sym_GT_GT_EQ] = ACTIONS(602),
    [anon_sym_LT_LT_EQ] = ACTIONS(602),
    [anon_sym_CARET_EQ] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(604),
    [anon_sym_AMP_AMP] = ACTIONS(604),
    [anon_sym_LT_LT] = ACTIONS(604),
    [anon_sym_GT_GT] = ACTIONS(604),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(604),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(604),
    [anon_sym_PERCENT] = ACTIONS(604),
    [anon_sym_defined_QMARK] = ACTIONS(1780),
    [anon_sym_not] = ACTIONS(1782),
    [anon_sym_BANG] = ACTIONS(1784),
    [anon_sym_TILDE] = ACTIONS(1786),
    [sym_constant] = ACTIONS(1788),
    [sym_identifier] = ACTIONS(1788),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [3069] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(1096),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(3106),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(1101),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1105),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1106),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1107),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(1108),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(1734),
    [sym__splat_star] = ACTIONS(1736),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(1740),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(608),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(1752),
    [anon_sym_yield] = ACTIONS(1754),
    [anon_sym_break] = ACTIONS(1756),
    [anon_sym_next] = ACTIONS(1758),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_PLUS_EQ] = ACTIONS(606),
    [anon_sym_DASH_EQ] = ACTIONS(606),
    [anon_sym_STAR_EQ] = ACTIONS(606),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(606),
    [anon_sym_SLASH_EQ] = ACTIONS(606),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(606),
    [anon_sym_PIPE_EQ] = ACTIONS(606),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(606),
    [anon_sym_AMP_EQ] = ACTIONS(606),
    [anon_sym_PERCENT_EQ] = ACTIONS(606),
    [anon_sym_GT_GT_EQ] = ACTIONS(606),
    [anon_sym_LT_LT_EQ] = ACTIONS(606),
    [anon_sym_CARET_EQ] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(608),
    [anon_sym_AMP_AMP] = ACTIONS(608),
    [anon_sym_LT_LT] = ACTIONS(608),
    [anon_sym_GT_GT] = ACTIONS(608),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(608),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(608),
    [anon_sym_PERCENT] = ACTIONS(608),
    [anon_sym_defined_QMARK] = ACTIONS(1780),
    [anon_sym_not] = ACTIONS(1782),
    [anon_sym_BANG] = ACTIONS(1784),
    [anon_sym_TILDE] = ACTIONS(1786),
    [sym_constant] = ACTIONS(1788),
    [sym_identifier] = ACTIONS(1788),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [3070] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(1096),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(3107),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(1101),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1105),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1106),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1107),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(1108),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(1734),
    [sym__splat_star] = ACTIONS(1736),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(1740),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(612),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(1752),
    [anon_sym_yield] = ACTIONS(1754),
    [anon_sym_break] = ACTIONS(1756),
    [anon_sym_next] = ACTIONS(1758),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_PLUS_EQ] = ACTIONS(610),
    [anon_sym_DASH_EQ] = ACTIONS(610),
    [anon_sym_STAR_EQ] = ACTIONS(610),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(610),
    [anon_sym_SLASH_EQ] = ACTIONS(610),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(610),
    [anon_sym_PIPE_EQ] = ACTIONS(610),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(610),
    [anon_sym_AMP_EQ] = ACTIONS(610),
    [anon_sym_PERCENT_EQ] = ACTIONS(610),
    [anon_sym_GT_GT_EQ] = ACTIONS(610),
    [anon_sym_LT_LT_EQ] = ACTIONS(610),
    [anon_sym_CARET_EQ] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(612),
    [anon_sym_AMP_AMP] = ACTIONS(612),
    [anon_sym_LT_LT] = ACTIONS(612),
    [anon_sym_GT_GT] = ACTIONS(612),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(612),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(612),
    [anon_sym_PERCENT] = ACTIONS(612),
    [anon_sym_defined_QMARK] = ACTIONS(1780),
    [anon_sym_not] = ACTIONS(1782),
    [anon_sym_BANG] = ACTIONS(1784),
    [anon_sym_TILDE] = ACTIONS(1786),
    [sym_constant] = ACTIONS(1788),
    [sym_identifier] = ACTIONS(1788),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [3071] = {
    [sym__simple_heredoc_body] = ACTIONS(614),
    [sym__heredoc_body_beginning] = ACTIONS(614),
    [sym__element_reference_left_bracket] = ACTIONS(614),
    [sym__scope_double_colon] = ACTIONS(614),
    [sym__binary_minus] = ACTIONS(614),
    [sym__binary_star] = ACTIONS(614),
    [anon_sym_LBRACE] = ACTIONS(614),
    [anon_sym_RBRACE] = ACTIONS(614),
    [anon_sym_RPAREN] = ACTIONS(614),
    [anon_sym_DOT] = ACTIONS(616),
    [anon_sym_COMMA] = ACTIONS(614),
    [anon_sym_PIPE] = ACTIONS(616),
    [anon_sym_SEMI] = ACTIONS(614),
    [anon_sym_STAR_STAR] = ACTIONS(616),
    [anon_sym_AMP] = ACTIONS(616),
    [anon_sym_EQ] = ACTIONS(616),
    [anon_sym_LT] = ACTIONS(616),
    [anon_sym_in] = ACTIONS(614),
    [anon_sym_do] = ACTIONS(614),
    [anon_sym_EQ_GT] = ACTIONS(614),
    [anon_sym_RBRACK] = ACTIONS(614),
    [anon_sym_AMP_DOT] = ACTIONS(614),
    [anon_sym_PLUS_EQ] = ACTIONS(614),
    [anon_sym_DASH_EQ] = ACTIONS(614),
    [anon_sym_STAR_EQ] = ACTIONS(614),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(614),
    [anon_sym_SLASH_EQ] = ACTIONS(614),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(614),
    [anon_sym_PIPE_EQ] = ACTIONS(614),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(614),
    [anon_sym_AMP_EQ] = ACTIONS(614),
    [anon_sym_PERCENT_EQ] = ACTIONS(614),
    [anon_sym_GT_GT_EQ] = ACTIONS(614),
    [anon_sym_LT_LT_EQ] = ACTIONS(614),
    [anon_sym_CARET_EQ] = ACTIONS(614),
    [anon_sym_QMARK] = ACTIONS(614),
    [anon_sym_COLON] = ACTIONS(614),
    [anon_sym_DOT_DOT] = ACTIONS(616),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(614),
    [anon_sym_and] = ACTIONS(614),
    [anon_sym_or] = ACTIONS(614),
    [anon_sym_PIPE_PIPE] = ACTIONS(616),
    [anon_sym_AMP_AMP] = ACTIONS(616),
    [anon_sym_LT_LT] = ACTIONS(616),
    [anon_sym_GT_GT] = ACTIONS(616),
    [anon_sym_EQ_EQ] = ACTIONS(616),
    [anon_sym_BANG_EQ] = ACTIONS(614),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(614),
    [anon_sym_LT_EQ_GT] = ACTIONS(614),
    [anon_sym_EQ_TILDE] = ACTIONS(614),
    [anon_sym_BANG_TILDE] = ACTIONS(614),
    [anon_sym_LT_EQ] = ACTIONS(616),
    [anon_sym_GT] = ACTIONS(616),
    [anon_sym_GT_EQ] = ACTIONS(614),
    [anon_sym_CARET] = ACTIONS(616),
    [anon_sym_PLUS] = ACTIONS(616),
    [anon_sym_SLASH] = ACTIONS(616),
    [anon_sym_PERCENT] = ACTIONS(616),
    [sym_comment] = ACTIONS(256),
  },
  [3072] = {
    [sym__simple_heredoc_body] = ACTIONS(618),
    [sym__heredoc_body_beginning] = ACTIONS(618),
    [sym__element_reference_left_bracket] = ACTIONS(618),
    [sym__scope_double_colon] = ACTIONS(618),
    [sym__binary_minus] = ACTIONS(618),
    [sym__binary_star] = ACTIONS(618),
    [anon_sym_LBRACE] = ACTIONS(618),
    [anon_sym_RBRACE] = ACTIONS(618),
    [anon_sym_RPAREN] = ACTIONS(618),
    [anon_sym_DOT] = ACTIONS(620),
    [anon_sym_COMMA] = ACTIONS(618),
    [anon_sym_PIPE] = ACTIONS(620),
    [anon_sym_SEMI] = ACTIONS(618),
    [anon_sym_STAR_STAR] = ACTIONS(620),
    [anon_sym_AMP] = ACTIONS(620),
    [anon_sym_EQ] = ACTIONS(620),
    [anon_sym_LT] = ACTIONS(620),
    [anon_sym_in] = ACTIONS(618),
    [anon_sym_do] = ACTIONS(618),
    [anon_sym_EQ_GT] = ACTIONS(618),
    [anon_sym_RBRACK] = ACTIONS(618),
    [anon_sym_AMP_DOT] = ACTIONS(618),
    [anon_sym_PLUS_EQ] = ACTIONS(618),
    [anon_sym_DASH_EQ] = ACTIONS(618),
    [anon_sym_STAR_EQ] = ACTIONS(618),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(618),
    [anon_sym_SLASH_EQ] = ACTIONS(618),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(618),
    [anon_sym_PIPE_EQ] = ACTIONS(618),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(618),
    [anon_sym_AMP_EQ] = ACTIONS(618),
    [anon_sym_PERCENT_EQ] = ACTIONS(618),
    [anon_sym_GT_GT_EQ] = ACTIONS(618),
    [anon_sym_LT_LT_EQ] = ACTIONS(618),
    [anon_sym_CARET_EQ] = ACTIONS(618),
    [anon_sym_QMARK] = ACTIONS(618),
    [anon_sym_COLON] = ACTIONS(618),
    [anon_sym_DOT_DOT] = ACTIONS(620),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(618),
    [anon_sym_and] = ACTIONS(618),
    [anon_sym_or] = ACTIONS(618),
    [anon_sym_PIPE_PIPE] = ACTIONS(620),
    [anon_sym_AMP_AMP] = ACTIONS(620),
    [anon_sym_LT_LT] = ACTIONS(620),
    [anon_sym_GT_GT] = ACTIONS(620),
    [anon_sym_EQ_EQ] = ACTIONS(620),
    [anon_sym_BANG_EQ] = ACTIONS(618),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(618),
    [anon_sym_LT_EQ_GT] = ACTIONS(618),
    [anon_sym_EQ_TILDE] = ACTIONS(618),
    [anon_sym_BANG_TILDE] = ACTIONS(618),
    [anon_sym_LT_EQ] = ACTIONS(620),
    [anon_sym_GT] = ACTIONS(620),
    [anon_sym_GT_EQ] = ACTIONS(618),
    [anon_sym_CARET] = ACTIONS(620),
    [anon_sym_PLUS] = ACTIONS(620),
    [anon_sym_SLASH] = ACTIONS(620),
    [anon_sym_PERCENT] = ACTIONS(620),
    [sym_comment] = ACTIONS(256),
  },
  [3073] = {
    [sym__statement] = STATE(3108),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(361),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3074] = {
    [sym__statement] = STATE(3109),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(361),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3075] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3110),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3076] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3111),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3077] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(285),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(381),
    [sym_call] = STATE(381),
    [sym_method_call] = STATE(286),
    [sym__mlhs] = STATE(3112),
    [sym__simple_mlhs] = STATE(383),
    [sym_destructured_left_assignment] = STATE(383),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(384),
    [sym__variable] = STATE(381),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(658),
    [anon_sym_COLON_COLON] = ACTIONS(460),
    [anon_sym_STAR] = ACTIONS(660),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(494),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [3078] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_when] = STATE(3117),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3118),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(400),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(401),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(387),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__terminator] = STATE(402),
    [aux_sym_case_repeat1] = STATE(3119),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(666),
    [sym__unary_minus] = ACTIONS(668),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_when] = ACTIONS(678),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(680),
    [anon_sym_defined_QMARK] = ACTIONS(682),
    [anon_sym_not] = ACTIONS(684),
    [anon_sym_BANG] = ACTIONS(686),
    [anon_sym_TILDE] = ACTIONS(686),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3079] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(3121),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(3122),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(692),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(4508),
    [anon_sym_SEMI] = ACTIONS(698),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3080] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(4520),
    [sym__binary_star] = ACTIONS(4522),
    [anon_sym_LBRACE] = ACTIONS(5298),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(4524),
    [anon_sym_STAR_STAR] = ACTIONS(4526),
    [anon_sym_AMP] = ACTIONS(4528),
    [anon_sym_EQ] = ACTIONS(5304),
    [anon_sym_LT] = ACTIONS(4530),
    [anon_sym_do] = ACTIONS(5298),
    [anon_sym_EQ_GT] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_PLUS_EQ] = ACTIONS(5298),
    [anon_sym_DASH_EQ] = ACTIONS(5298),
    [anon_sym_STAR_EQ] = ACTIONS(5298),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5298),
    [anon_sym_SLASH_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5298),
    [anon_sym_AMP_EQ] = ACTIONS(5298),
    [anon_sym_PERCENT_EQ] = ACTIONS(5298),
    [anon_sym_GT_GT_EQ] = ACTIONS(5298),
    [anon_sym_LT_LT_EQ] = ACTIONS(5298),
    [anon_sym_CARET_EQ] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(4532),
    [anon_sym_DOT_DOT] = ACTIONS(4534),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4536),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(4538),
    [anon_sym_AMP_AMP] = ACTIONS(4538),
    [anon_sym_LT_LT] = ACTIONS(4540),
    [anon_sym_GT_GT] = ACTIONS(4540),
    [anon_sym_EQ_EQ] = ACTIONS(4538),
    [anon_sym_BANG_EQ] = ACTIONS(4542),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4542),
    [anon_sym_LT_EQ_GT] = ACTIONS(4542),
    [anon_sym_EQ_TILDE] = ACTIONS(4542),
    [anon_sym_BANG_TILDE] = ACTIONS(4542),
    [anon_sym_LT_EQ] = ACTIONS(4530),
    [anon_sym_GT] = ACTIONS(4530),
    [anon_sym_GT_EQ] = ACTIONS(4544),
    [anon_sym_CARET] = ACTIONS(4524),
    [anon_sym_PLUS] = ACTIONS(4546),
    [anon_sym_SLASH] = ACTIONS(4526),
    [anon_sym_PERCENT] = ACTIONS(4526),
    [sym_comment] = ACTIONS(256),
  },
  [3081] = {
    [sym_string] = STATE(3160),
    [aux_sym_chained_string_repeat1] = STATE(3161),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_RBRACE] = ACTIONS(250),
    [anon_sym_RPAREN] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_in] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_RBRACK] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_COLON] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(4490),
  },
  [3082] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(4520),
    [sym__binary_star] = ACTIONS(4522),
    [anon_sym_LBRACE] = ACTIONS(5338),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(4524),
    [anon_sym_STAR_STAR] = ACTIONS(4526),
    [anon_sym_AMP] = ACTIONS(4528),
    [anon_sym_EQ] = ACTIONS(5340),
    [anon_sym_LT] = ACTIONS(4530),
    [anon_sym_do] = ACTIONS(5338),
    [anon_sym_EQ_GT] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_PLUS_EQ] = ACTIONS(5338),
    [anon_sym_DASH_EQ] = ACTIONS(5338),
    [anon_sym_STAR_EQ] = ACTIONS(5338),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5338),
    [anon_sym_SLASH_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5338),
    [anon_sym_AMP_EQ] = ACTIONS(5338),
    [anon_sym_PERCENT_EQ] = ACTIONS(5338),
    [anon_sym_GT_GT_EQ] = ACTIONS(5338),
    [anon_sym_LT_LT_EQ] = ACTIONS(5338),
    [anon_sym_CARET_EQ] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(4532),
    [anon_sym_DOT_DOT] = ACTIONS(4534),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4536),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(4538),
    [anon_sym_AMP_AMP] = ACTIONS(4538),
    [anon_sym_LT_LT] = ACTIONS(4540),
    [anon_sym_GT_GT] = ACTIONS(4540),
    [anon_sym_EQ_EQ] = ACTIONS(4538),
    [anon_sym_BANG_EQ] = ACTIONS(4542),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4542),
    [anon_sym_LT_EQ_GT] = ACTIONS(4542),
    [anon_sym_EQ_TILDE] = ACTIONS(4542),
    [anon_sym_BANG_TILDE] = ACTIONS(4542),
    [anon_sym_LT_EQ] = ACTIONS(4530),
    [anon_sym_GT] = ACTIONS(4530),
    [anon_sym_GT_EQ] = ACTIONS(4544),
    [anon_sym_CARET] = ACTIONS(4524),
    [anon_sym_PLUS] = ACTIONS(4546),
    [anon_sym_SLASH] = ACTIONS(4526),
    [anon_sym_PERCENT] = ACTIONS(4526),
    [sym_comment] = ACTIONS(256),
  },
  [3083] = {
    [sym__simple_heredoc_body] = ACTIONS(5370),
    [sym__heredoc_body_beginning] = ACTIONS(5370),
    [sym__element_reference_left_bracket] = ACTIONS(5370),
    [sym__scope_double_colon] = ACTIONS(5370),
    [sym__binary_minus] = ACTIONS(5370),
    [sym__binary_star] = ACTIONS(5370),
    [anon_sym_LBRACE] = ACTIONS(5370),
    [anon_sym_RBRACE] = ACTIONS(5370),
    [anon_sym_RPAREN] = ACTIONS(5370),
    [anon_sym_DOT] = ACTIONS(5372),
    [anon_sym_COMMA] = ACTIONS(5370),
    [anon_sym_PIPE] = ACTIONS(5372),
    [anon_sym_SEMI] = ACTIONS(5370),
    [anon_sym_STAR_STAR] = ACTIONS(5372),
    [anon_sym_AMP] = ACTIONS(5372),
    [anon_sym_EQ] = ACTIONS(5372),
    [anon_sym_LT] = ACTIONS(5372),
    [anon_sym_in] = ACTIONS(5370),
    [anon_sym_do] = ACTIONS(5370),
    [anon_sym_EQ_GT] = ACTIONS(5370),
    [anon_sym_RBRACK] = ACTIONS(5370),
    [anon_sym_AMP_DOT] = ACTIONS(5370),
    [anon_sym_PLUS_EQ] = ACTIONS(5370),
    [anon_sym_DASH_EQ] = ACTIONS(5370),
    [anon_sym_STAR_EQ] = ACTIONS(5370),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5370),
    [anon_sym_SLASH_EQ] = ACTIONS(5370),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5370),
    [anon_sym_PIPE_EQ] = ACTIONS(5370),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5370),
    [anon_sym_AMP_EQ] = ACTIONS(5370),
    [anon_sym_PERCENT_EQ] = ACTIONS(5370),
    [anon_sym_GT_GT_EQ] = ACTIONS(5370),
    [anon_sym_LT_LT_EQ] = ACTIONS(5370),
    [anon_sym_CARET_EQ] = ACTIONS(5370),
    [anon_sym_QMARK] = ACTIONS(5370),
    [anon_sym_COLON] = ACTIONS(5370),
    [anon_sym_DOT_DOT] = ACTIONS(5372),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5370),
    [anon_sym_and] = ACTIONS(5370),
    [anon_sym_or] = ACTIONS(5370),
    [anon_sym_PIPE_PIPE] = ACTIONS(5372),
    [anon_sym_AMP_AMP] = ACTIONS(5372),
    [anon_sym_LT_LT] = ACTIONS(5372),
    [anon_sym_GT_GT] = ACTIONS(5372),
    [anon_sym_EQ_EQ] = ACTIONS(5372),
    [anon_sym_BANG_EQ] = ACTIONS(5370),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5370),
    [anon_sym_LT_EQ_GT] = ACTIONS(5370),
    [anon_sym_EQ_TILDE] = ACTIONS(5370),
    [anon_sym_BANG_TILDE] = ACTIONS(5370),
    [anon_sym_LT_EQ] = ACTIONS(5372),
    [anon_sym_GT] = ACTIONS(5372),
    [anon_sym_GT_EQ] = ACTIONS(5370),
    [anon_sym_CARET] = ACTIONS(5372),
    [anon_sym_PLUS] = ACTIONS(5372),
    [anon_sym_SLASH] = ACTIONS(5372),
    [anon_sym_PERCENT] = ACTIONS(5372),
    [sym_comment] = ACTIONS(256),
  },
  [3084] = {
    [sym_heredoc_end] = STATE(6177),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RPAREN] = ACTIONS(8592),
    [sym_comment] = ACTIONS(110),
  },
  [3085] = {
    [anon_sym_RPAREN] = ACTIONS(8592),
    [sym_comment] = ACTIONS(110),
  },
  [3086] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_LBRACE] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_STAR_STAR] = ACTIONS(4526),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_EQ] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_do] = ACTIONS(1372),
    [anon_sym_EQ_GT] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_PLUS_EQ] = ACTIONS(1372),
    [anon_sym_DASH_EQ] = ACTIONS(1372),
    [anon_sym_STAR_EQ] = ACTIONS(1372),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1372),
    [anon_sym_SLASH_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1372),
    [anon_sym_AMP_EQ] = ACTIONS(1372),
    [anon_sym_PERCENT_EQ] = ACTIONS(1372),
    [anon_sym_GT_GT_EQ] = ACTIONS(1372),
    [anon_sym_LT_LT_EQ] = ACTIONS(1372),
    [anon_sym_CARET_EQ] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1374),
    [anon_sym_AMP_AMP] = ACTIONS(1374),
    [anon_sym_LT_LT] = ACTIONS(1374),
    [anon_sym_GT_GT] = ACTIONS(1374),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1374),
    [anon_sym_PLUS] = ACTIONS(1374),
    [anon_sym_SLASH] = ACTIONS(1374),
    [anon_sym_PERCENT] = ACTIONS(1374),
    [sym_comment] = ACTIONS(256),
  },
  [3087] = {
    [sym__simple_heredoc_body] = ACTIONS(1552),
    [sym__heredoc_body_beginning] = ACTIONS(1552),
    [sym__element_reference_left_bracket] = ACTIONS(1552),
    [sym__scope_double_colon] = ACTIONS(1552),
    [sym__binary_minus] = ACTIONS(1552),
    [sym__binary_star] = ACTIONS(1552),
    [anon_sym_LBRACE] = ACTIONS(1552),
    [anon_sym_RBRACE] = ACTIONS(1552),
    [anon_sym_RPAREN] = ACTIONS(1552),
    [anon_sym_DOT] = ACTIONS(1554),
    [anon_sym_COMMA] = ACTIONS(1552),
    [anon_sym_PIPE] = ACTIONS(1554),
    [anon_sym_SEMI] = ACTIONS(1552),
    [anon_sym_STAR_STAR] = ACTIONS(1554),
    [anon_sym_AMP] = ACTIONS(1554),
    [anon_sym_EQ] = ACTIONS(1554),
    [anon_sym_LT] = ACTIONS(1554),
    [anon_sym_in] = ACTIONS(1552),
    [anon_sym_do] = ACTIONS(1552),
    [anon_sym_EQ_GT] = ACTIONS(1552),
    [anon_sym_RBRACK] = ACTIONS(1552),
    [anon_sym_AMP_DOT] = ACTIONS(1552),
    [anon_sym_PLUS_EQ] = ACTIONS(1552),
    [anon_sym_DASH_EQ] = ACTIONS(1552),
    [anon_sym_STAR_EQ] = ACTIONS(1552),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1552),
    [anon_sym_SLASH_EQ] = ACTIONS(1552),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1552),
    [anon_sym_PIPE_EQ] = ACTIONS(1552),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1552),
    [anon_sym_AMP_EQ] = ACTIONS(1552),
    [anon_sym_PERCENT_EQ] = ACTIONS(1552),
    [anon_sym_GT_GT_EQ] = ACTIONS(1552),
    [anon_sym_LT_LT_EQ] = ACTIONS(1552),
    [anon_sym_CARET_EQ] = ACTIONS(1552),
    [anon_sym_QMARK] = ACTIONS(1552),
    [anon_sym_COLON] = ACTIONS(1552),
    [anon_sym_DOT_DOT] = ACTIONS(1554),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1552),
    [anon_sym_and] = ACTIONS(1552),
    [anon_sym_or] = ACTIONS(1552),
    [anon_sym_PIPE_PIPE] = ACTIONS(1554),
    [anon_sym_AMP_AMP] = ACTIONS(1554),
    [anon_sym_LT_LT] = ACTIONS(1554),
    [anon_sym_GT_GT] = ACTIONS(1554),
    [anon_sym_EQ_EQ] = ACTIONS(1554),
    [anon_sym_BANG_EQ] = ACTIONS(1552),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1552),
    [anon_sym_LT_EQ_GT] = ACTIONS(1552),
    [anon_sym_EQ_TILDE] = ACTIONS(1552),
    [anon_sym_BANG_TILDE] = ACTIONS(1552),
    [anon_sym_LT_EQ] = ACTIONS(1554),
    [anon_sym_GT] = ACTIONS(1554),
    [anon_sym_GT_EQ] = ACTIONS(1552),
    [anon_sym_CARET] = ACTIONS(1554),
    [anon_sym_PLUS] = ACTIONS(1554),
    [anon_sym_SLASH] = ACTIONS(1554),
    [anon_sym_PERCENT] = ACTIONS(1554),
    [sym_comment] = ACTIONS(256),
  },
  [3088] = {
    [anon_sym_RBRACE] = ACTIONS(8594),
    [sym_comment] = ACTIONS(110),
  },
  [3089] = {
    [sym__statements] = STATE(6179),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(841),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(8594),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3090] = {
    [anon_sym_RBRACE] = ACTIONS(8596),
    [sym_comment] = ACTIONS(110),
  },
  [3091] = {
    [sym_heredoc_end] = STATE(6181),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RBRACE] = ACTIONS(8596),
    [sym_comment] = ACTIONS(110),
  },
  [3092] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(6182),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(1139),
    [sym_call] = STATE(1139),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(1140),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1141),
    [sym__variable] = STATE(1139),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(1822),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_yield] = ACTIONS(1828),
    [anon_sym_break] = ACTIONS(1830),
    [anon_sym_next] = ACTIONS(1832),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(1834),
    [anon_sym_defined_QMARK] = ACTIONS(1836),
    [anon_sym_not] = ACTIONS(1838),
    [anon_sym_BANG] = ACTIONS(1840),
    [anon_sym_TILDE] = ACTIONS(1840),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [3093] = {
    [sym__simple_heredoc_body] = ACTIONS(1866),
    [sym__heredoc_body_beginning] = ACTIONS(1866),
    [sym__element_reference_left_bracket] = ACTIONS(1866),
    [sym__scope_double_colon] = ACTIONS(1866),
    [sym__binary_minus] = ACTIONS(1866),
    [sym__binary_star] = ACTIONS(1866),
    [anon_sym_LBRACE] = ACTIONS(1866),
    [anon_sym_RBRACE] = ACTIONS(1866),
    [anon_sym_RPAREN] = ACTIONS(1866),
    [anon_sym_DOT] = ACTIONS(1868),
    [anon_sym_COMMA] = ACTIONS(1866),
    [anon_sym_PIPE] = ACTIONS(1868),
    [anon_sym_SEMI] = ACTIONS(1866),
    [anon_sym_STAR_STAR] = ACTIONS(1868),
    [anon_sym_AMP] = ACTIONS(1868),
    [anon_sym_EQ] = ACTIONS(1868),
    [anon_sym_LT] = ACTIONS(1868),
    [anon_sym_in] = ACTIONS(1866),
    [anon_sym_do] = ACTIONS(1866),
    [anon_sym_EQ_GT] = ACTIONS(1866),
    [anon_sym_RBRACK] = ACTIONS(1866),
    [anon_sym_AMP_DOT] = ACTIONS(1866),
    [anon_sym_PLUS_EQ] = ACTIONS(1866),
    [anon_sym_DASH_EQ] = ACTIONS(1866),
    [anon_sym_STAR_EQ] = ACTIONS(1866),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1866),
    [anon_sym_SLASH_EQ] = ACTIONS(1866),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1866),
    [anon_sym_PIPE_EQ] = ACTIONS(1866),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1866),
    [anon_sym_AMP_EQ] = ACTIONS(1866),
    [anon_sym_PERCENT_EQ] = ACTIONS(1866),
    [anon_sym_GT_GT_EQ] = ACTIONS(1866),
    [anon_sym_LT_LT_EQ] = ACTIONS(1866),
    [anon_sym_CARET_EQ] = ACTIONS(1866),
    [anon_sym_QMARK] = ACTIONS(1866),
    [anon_sym_COLON] = ACTIONS(1866),
    [anon_sym_DOT_DOT] = ACTIONS(1868),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1866),
    [anon_sym_and] = ACTIONS(1866),
    [anon_sym_or] = ACTIONS(1866),
    [anon_sym_PIPE_PIPE] = ACTIONS(1868),
    [anon_sym_AMP_AMP] = ACTIONS(1868),
    [anon_sym_LT_LT] = ACTIONS(1868),
    [anon_sym_GT_GT] = ACTIONS(1868),
    [anon_sym_EQ_EQ] = ACTIONS(1868),
    [anon_sym_BANG_EQ] = ACTIONS(1866),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1866),
    [anon_sym_LT_EQ_GT] = ACTIONS(1866),
    [anon_sym_EQ_TILDE] = ACTIONS(1866),
    [anon_sym_BANG_TILDE] = ACTIONS(1866),
    [anon_sym_LT_EQ] = ACTIONS(1868),
    [anon_sym_GT] = ACTIONS(1868),
    [anon_sym_GT_EQ] = ACTIONS(1866),
    [anon_sym_CARET] = ACTIONS(1868),
    [anon_sym_PLUS] = ACTIONS(1868),
    [anon_sym_SLASH] = ACTIONS(1868),
    [anon_sym_PERCENT] = ACTIONS(1868),
    [sym_comment] = ACTIONS(256),
  },
  [3094] = {
    [anon_sym_DOT] = ACTIONS(8598),
    [anon_sym_COLON_COLON] = ACTIONS(8598),
    [sym_comment] = ACTIONS(110),
  },
  [3095] = {
    [sym_method_parameters] = STATE(6184),
    [sym__simple_formal_parameter] = STATE(1150),
    [sym_splat_parameter] = STATE(1151),
    [sym_hash_splat_parameter] = STATE(1151),
    [sym_block_parameter] = STATE(1151),
    [sym_keyword_parameter] = STATE(1151),
    [sym_optional_parameter] = STATE(1151),
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(6184),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym__line_break] = ACTIONS(692),
    [anon_sym_LPAREN] = ACTIONS(1872),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(1874),
    [anon_sym_STAR_STAR] = ACTIONS(1876),
    [anon_sym_AMP] = ACTIONS(1878),
    [sym_identifier] = ACTIONS(1880),
    [sym_comment] = ACTIONS(110),
  },
  [3096] = {
    [sym__simple_heredoc_body] = ACTIONS(1882),
    [sym__heredoc_body_beginning] = ACTIONS(1882),
    [sym__element_reference_left_bracket] = ACTIONS(1882),
    [sym__scope_double_colon] = ACTIONS(1882),
    [sym__binary_minus] = ACTIONS(1882),
    [sym__binary_star] = ACTIONS(1882),
    [anon_sym_LBRACE] = ACTIONS(1882),
    [anon_sym_RBRACE] = ACTIONS(1882),
    [anon_sym_RPAREN] = ACTIONS(1882),
    [anon_sym_DOT] = ACTIONS(1884),
    [anon_sym_COMMA] = ACTIONS(1882),
    [anon_sym_PIPE] = ACTIONS(1884),
    [anon_sym_SEMI] = ACTIONS(1882),
    [anon_sym_STAR_STAR] = ACTIONS(1884),
    [anon_sym_AMP] = ACTIONS(1884),
    [anon_sym_EQ] = ACTIONS(1884),
    [anon_sym_LT] = ACTIONS(1884),
    [anon_sym_in] = ACTIONS(1882),
    [anon_sym_do] = ACTIONS(1882),
    [anon_sym_EQ_GT] = ACTIONS(1882),
    [anon_sym_RBRACK] = ACTIONS(1882),
    [anon_sym_AMP_DOT] = ACTIONS(1882),
    [anon_sym_PLUS_EQ] = ACTIONS(1882),
    [anon_sym_DASH_EQ] = ACTIONS(1882),
    [anon_sym_STAR_EQ] = ACTIONS(1882),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1882),
    [anon_sym_SLASH_EQ] = ACTIONS(1882),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1882),
    [anon_sym_PIPE_EQ] = ACTIONS(1882),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1882),
    [anon_sym_AMP_EQ] = ACTIONS(1882),
    [anon_sym_PERCENT_EQ] = ACTIONS(1882),
    [anon_sym_GT_GT_EQ] = ACTIONS(1882),
    [anon_sym_LT_LT_EQ] = ACTIONS(1882),
    [anon_sym_CARET_EQ] = ACTIONS(1882),
    [anon_sym_QMARK] = ACTIONS(1882),
    [anon_sym_COLON] = ACTIONS(1882),
    [anon_sym_DOT_DOT] = ACTIONS(1884),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1882),
    [anon_sym_and] = ACTIONS(1882),
    [anon_sym_or] = ACTIONS(1882),
    [anon_sym_PIPE_PIPE] = ACTIONS(1884),
    [anon_sym_AMP_AMP] = ACTIONS(1884),
    [anon_sym_LT_LT] = ACTIONS(1884),
    [anon_sym_GT_GT] = ACTIONS(1884),
    [anon_sym_EQ_EQ] = ACTIONS(1884),
    [anon_sym_BANG_EQ] = ACTIONS(1882),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1882),
    [anon_sym_LT_EQ_GT] = ACTIONS(1882),
    [anon_sym_EQ_TILDE] = ACTIONS(1882),
    [anon_sym_BANG_TILDE] = ACTIONS(1882),
    [anon_sym_LT_EQ] = ACTIONS(1884),
    [anon_sym_GT] = ACTIONS(1884),
    [anon_sym_GT_EQ] = ACTIONS(1882),
    [anon_sym_CARET] = ACTIONS(1884),
    [anon_sym_PLUS] = ACTIONS(1884),
    [anon_sym_SLASH] = ACTIONS(1884),
    [anon_sym_PERCENT] = ACTIONS(1884),
    [sym_comment] = ACTIONS(256),
  },
  [3097] = {
    [anon_sym_RPAREN] = ACTIONS(8600),
    [sym_comment] = ACTIONS(110),
  },
  [3098] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(4520),
    [sym__binary_star] = ACTIONS(4522),
    [anon_sym_LBRACE] = ACTIONS(4284),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(4524),
    [anon_sym_STAR_STAR] = ACTIONS(4526),
    [anon_sym_AMP] = ACTIONS(4528),
    [anon_sym_EQ] = ACTIONS(5432),
    [anon_sym_LT] = ACTIONS(4530),
    [anon_sym_do] = ACTIONS(4284),
    [anon_sym_EQ_GT] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_PLUS_EQ] = ACTIONS(4284),
    [anon_sym_DASH_EQ] = ACTIONS(4284),
    [anon_sym_STAR_EQ] = ACTIONS(4284),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(4284),
    [anon_sym_SLASH_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(4284),
    [anon_sym_AMP_EQ] = ACTIONS(4284),
    [anon_sym_PERCENT_EQ] = ACTIONS(4284),
    [anon_sym_GT_GT_EQ] = ACTIONS(4284),
    [anon_sym_LT_LT_EQ] = ACTIONS(4284),
    [anon_sym_CARET_EQ] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(4532),
    [anon_sym_DOT_DOT] = ACTIONS(4534),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4536),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(4538),
    [anon_sym_AMP_AMP] = ACTIONS(4538),
    [anon_sym_LT_LT] = ACTIONS(4540),
    [anon_sym_GT_GT] = ACTIONS(4540),
    [anon_sym_EQ_EQ] = ACTIONS(4538),
    [anon_sym_BANG_EQ] = ACTIONS(4542),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4542),
    [anon_sym_LT_EQ_GT] = ACTIONS(4542),
    [anon_sym_EQ_TILDE] = ACTIONS(4542),
    [anon_sym_BANG_TILDE] = ACTIONS(4542),
    [anon_sym_LT_EQ] = ACTIONS(4530),
    [anon_sym_GT] = ACTIONS(4530),
    [anon_sym_GT_EQ] = ACTIONS(4544),
    [anon_sym_CARET] = ACTIONS(4524),
    [anon_sym_PLUS] = ACTIONS(4546),
    [anon_sym_SLASH] = ACTIONS(4526),
    [anon_sym_PERCENT] = ACTIONS(4526),
    [sym_comment] = ACTIONS(256),
  },
  [3099] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6186),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1329),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1330),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2090),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2100),
    [anon_sym_defined_QMARK] = ACTIONS(2102),
    [anon_sym_not] = ACTIONS(2104),
    [anon_sym_BANG] = ACTIONS(2106),
    [anon_sym_TILDE] = ACTIONS(2106),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3100] = {
    [sym_superclass] = STATE(6187),
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(6188),
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__unary_minus] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(722),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(722),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(2110),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(722),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [3101] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_superclass] = STATE(6187),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1349),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1310),
    [sym__argument_list_with_parens] = STATE(1264),
    [sym__argument] = STATE(1350),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_do_block] = STATE(1312),
    [sym_block] = STATE(1312),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1353),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1354),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__terminator] = STATE(6188),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(2114),
    [sym__splat_star] = ACTIONS(2116),
    [sym__argument_list_left_paren] = ACTIONS(2034),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(2064),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(980),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2120),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(2110),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(2076),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2138),
    [sym_identifier] = ACTIONS(2138),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3102] = {
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(6190),
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__unary_minus] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(722),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(8602),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(722),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(722),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [3103] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1349),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1310),
    [sym__argument_list_with_parens] = STATE(1264),
    [sym__argument] = STATE(1350),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_do_block] = STATE(1312),
    [sym_block] = STATE(1312),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1353),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1354),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__terminator] = STATE(6190),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(2114),
    [sym__splat_star] = ACTIONS(2116),
    [sym__argument_list_left_paren] = ACTIONS(2034),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(2064),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(980),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(8604),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2120),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(2076),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2138),
    [sym_identifier] = ACTIONS(2138),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3104] = {
    [sym__simple_heredoc_body] = ACTIONS(2264),
    [sym__heredoc_body_beginning] = ACTIONS(2264),
    [sym__element_reference_left_bracket] = ACTIONS(2264),
    [sym__scope_double_colon] = ACTIONS(2264),
    [sym__binary_minus] = ACTIONS(2264),
    [sym__binary_star] = ACTIONS(2264),
    [anon_sym_LBRACE] = ACTIONS(2264),
    [anon_sym_RBRACE] = ACTIONS(2264),
    [anon_sym_RPAREN] = ACTIONS(2264),
    [anon_sym_DOT] = ACTIONS(2266),
    [anon_sym_COMMA] = ACTIONS(2264),
    [anon_sym_PIPE] = ACTIONS(2266),
    [anon_sym_SEMI] = ACTIONS(2264),
    [anon_sym_STAR_STAR] = ACTIONS(2266),
    [anon_sym_AMP] = ACTIONS(2266),
    [anon_sym_EQ] = ACTIONS(2266),
    [anon_sym_LT] = ACTIONS(2266),
    [anon_sym_in] = ACTIONS(2264),
    [anon_sym_do] = ACTIONS(2264),
    [anon_sym_EQ_GT] = ACTIONS(2264),
    [anon_sym_RBRACK] = ACTIONS(2264),
    [anon_sym_AMP_DOT] = ACTIONS(2264),
    [anon_sym_PLUS_EQ] = ACTIONS(2264),
    [anon_sym_DASH_EQ] = ACTIONS(2264),
    [anon_sym_STAR_EQ] = ACTIONS(2264),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2264),
    [anon_sym_SLASH_EQ] = ACTIONS(2264),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2264),
    [anon_sym_PIPE_EQ] = ACTIONS(2264),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2264),
    [anon_sym_AMP_EQ] = ACTIONS(2264),
    [anon_sym_PERCENT_EQ] = ACTIONS(2264),
    [anon_sym_GT_GT_EQ] = ACTIONS(2264),
    [anon_sym_LT_LT_EQ] = ACTIONS(2264),
    [anon_sym_CARET_EQ] = ACTIONS(2264),
    [anon_sym_QMARK] = ACTIONS(2264),
    [anon_sym_COLON] = ACTIONS(2264),
    [anon_sym_DOT_DOT] = ACTIONS(2266),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2264),
    [anon_sym_and] = ACTIONS(2264),
    [anon_sym_or] = ACTIONS(2264),
    [anon_sym_PIPE_PIPE] = ACTIONS(2266),
    [anon_sym_AMP_AMP] = ACTIONS(2266),
    [anon_sym_LT_LT] = ACTIONS(2266),
    [anon_sym_GT_GT] = ACTIONS(2266),
    [anon_sym_EQ_EQ] = ACTIONS(2266),
    [anon_sym_BANG_EQ] = ACTIONS(2264),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2264),
    [anon_sym_LT_EQ_GT] = ACTIONS(2264),
    [anon_sym_EQ_TILDE] = ACTIONS(2264),
    [anon_sym_BANG_TILDE] = ACTIONS(2264),
    [anon_sym_LT_EQ] = ACTIONS(2266),
    [anon_sym_GT] = ACTIONS(2266),
    [anon_sym_GT_EQ] = ACTIONS(2264),
    [anon_sym_CARET] = ACTIONS(2266),
    [anon_sym_PLUS] = ACTIONS(2266),
    [anon_sym_SLASH] = ACTIONS(2266),
    [anon_sym_PERCENT] = ACTIONS(2266),
    [sym_comment] = ACTIONS(256),
  },
  [3105] = {
    [sym__simple_heredoc_body] = ACTIONS(2286),
    [sym__heredoc_body_beginning] = ACTIONS(2286),
    [sym__element_reference_left_bracket] = ACTIONS(2286),
    [sym__scope_double_colon] = ACTIONS(2286),
    [sym__binary_minus] = ACTIONS(2286),
    [sym__binary_star] = ACTIONS(2286),
    [anon_sym_LBRACE] = ACTIONS(2286),
    [anon_sym_RBRACE] = ACTIONS(2286),
    [anon_sym_RPAREN] = ACTIONS(2286),
    [anon_sym_DOT] = ACTIONS(2288),
    [anon_sym_COMMA] = ACTIONS(2286),
    [anon_sym_PIPE] = ACTIONS(2288),
    [anon_sym_SEMI] = ACTIONS(2286),
    [anon_sym_STAR_STAR] = ACTIONS(2288),
    [anon_sym_AMP] = ACTIONS(2288),
    [anon_sym_EQ] = ACTIONS(2288),
    [anon_sym_LT] = ACTIONS(2288),
    [anon_sym_in] = ACTIONS(2286),
    [anon_sym_do] = ACTIONS(2286),
    [anon_sym_EQ_GT] = ACTIONS(2286),
    [anon_sym_RBRACK] = ACTIONS(2286),
    [anon_sym_AMP_DOT] = ACTIONS(2286),
    [anon_sym_PLUS_EQ] = ACTIONS(2286),
    [anon_sym_DASH_EQ] = ACTIONS(2286),
    [anon_sym_STAR_EQ] = ACTIONS(2286),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2286),
    [anon_sym_SLASH_EQ] = ACTIONS(2286),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2286),
    [anon_sym_PIPE_EQ] = ACTIONS(2286),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2286),
    [anon_sym_AMP_EQ] = ACTIONS(2286),
    [anon_sym_PERCENT_EQ] = ACTIONS(2286),
    [anon_sym_GT_GT_EQ] = ACTIONS(2286),
    [anon_sym_LT_LT_EQ] = ACTIONS(2286),
    [anon_sym_CARET_EQ] = ACTIONS(2286),
    [anon_sym_QMARK] = ACTIONS(2286),
    [anon_sym_COLON] = ACTIONS(2286),
    [anon_sym_DOT_DOT] = ACTIONS(2288),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2286),
    [anon_sym_and] = ACTIONS(2286),
    [anon_sym_or] = ACTIONS(2286),
    [anon_sym_PIPE_PIPE] = ACTIONS(2288),
    [anon_sym_AMP_AMP] = ACTIONS(2288),
    [anon_sym_LT_LT] = ACTIONS(2288),
    [anon_sym_GT_GT] = ACTIONS(2288),
    [anon_sym_EQ_EQ] = ACTIONS(2288),
    [anon_sym_BANG_EQ] = ACTIONS(2286),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2286),
    [anon_sym_LT_EQ_GT] = ACTIONS(2286),
    [anon_sym_EQ_TILDE] = ACTIONS(2286),
    [anon_sym_BANG_TILDE] = ACTIONS(2286),
    [anon_sym_LT_EQ] = ACTIONS(2288),
    [anon_sym_GT] = ACTIONS(2288),
    [anon_sym_GT_EQ] = ACTIONS(2286),
    [anon_sym_CARET] = ACTIONS(2288),
    [anon_sym_PLUS] = ACTIONS(2288),
    [anon_sym_SLASH] = ACTIONS(2288),
    [anon_sym_PERCENT] = ACTIONS(2288),
    [sym_comment] = ACTIONS(256),
  },
  [3106] = {
    [sym__simple_heredoc_body] = ACTIONS(2290),
    [sym__heredoc_body_beginning] = ACTIONS(2290),
    [sym__element_reference_left_bracket] = ACTIONS(2290),
    [sym__scope_double_colon] = ACTIONS(2290),
    [sym__binary_minus] = ACTIONS(2290),
    [sym__binary_star] = ACTIONS(2290),
    [anon_sym_LBRACE] = ACTIONS(2290),
    [anon_sym_RBRACE] = ACTIONS(2290),
    [anon_sym_RPAREN] = ACTIONS(2290),
    [anon_sym_DOT] = ACTIONS(2292),
    [anon_sym_COMMA] = ACTIONS(2290),
    [anon_sym_PIPE] = ACTIONS(2292),
    [anon_sym_SEMI] = ACTIONS(2290),
    [anon_sym_STAR_STAR] = ACTIONS(2292),
    [anon_sym_AMP] = ACTIONS(2292),
    [anon_sym_EQ] = ACTIONS(2292),
    [anon_sym_LT] = ACTIONS(2292),
    [anon_sym_in] = ACTIONS(2290),
    [anon_sym_do] = ACTIONS(2290),
    [anon_sym_EQ_GT] = ACTIONS(2290),
    [anon_sym_RBRACK] = ACTIONS(2290),
    [anon_sym_AMP_DOT] = ACTIONS(2290),
    [anon_sym_PLUS_EQ] = ACTIONS(2290),
    [anon_sym_DASH_EQ] = ACTIONS(2290),
    [anon_sym_STAR_EQ] = ACTIONS(2290),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2290),
    [anon_sym_SLASH_EQ] = ACTIONS(2290),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2290),
    [anon_sym_PIPE_EQ] = ACTIONS(2290),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2290),
    [anon_sym_AMP_EQ] = ACTIONS(2290),
    [anon_sym_PERCENT_EQ] = ACTIONS(2290),
    [anon_sym_GT_GT_EQ] = ACTIONS(2290),
    [anon_sym_LT_LT_EQ] = ACTIONS(2290),
    [anon_sym_CARET_EQ] = ACTIONS(2290),
    [anon_sym_QMARK] = ACTIONS(2290),
    [anon_sym_COLON] = ACTIONS(2290),
    [anon_sym_DOT_DOT] = ACTIONS(2292),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2290),
    [anon_sym_and] = ACTIONS(2290),
    [anon_sym_or] = ACTIONS(2290),
    [anon_sym_PIPE_PIPE] = ACTIONS(2292),
    [anon_sym_AMP_AMP] = ACTIONS(2292),
    [anon_sym_LT_LT] = ACTIONS(2292),
    [anon_sym_GT_GT] = ACTIONS(2292),
    [anon_sym_EQ_EQ] = ACTIONS(2292),
    [anon_sym_BANG_EQ] = ACTIONS(2290),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2290),
    [anon_sym_LT_EQ_GT] = ACTIONS(2290),
    [anon_sym_EQ_TILDE] = ACTIONS(2290),
    [anon_sym_BANG_TILDE] = ACTIONS(2290),
    [anon_sym_LT_EQ] = ACTIONS(2292),
    [anon_sym_GT] = ACTIONS(2292),
    [anon_sym_GT_EQ] = ACTIONS(2290),
    [anon_sym_CARET] = ACTIONS(2292),
    [anon_sym_PLUS] = ACTIONS(2292),
    [anon_sym_SLASH] = ACTIONS(2292),
    [anon_sym_PERCENT] = ACTIONS(2292),
    [sym_comment] = ACTIONS(256),
  },
  [3107] = {
    [sym__simple_heredoc_body] = ACTIONS(2294),
    [sym__heredoc_body_beginning] = ACTIONS(2294),
    [sym__element_reference_left_bracket] = ACTIONS(2294),
    [sym__scope_double_colon] = ACTIONS(2294),
    [sym__binary_minus] = ACTIONS(2294),
    [sym__binary_star] = ACTIONS(2294),
    [anon_sym_LBRACE] = ACTIONS(2294),
    [anon_sym_RBRACE] = ACTIONS(2294),
    [anon_sym_RPAREN] = ACTIONS(2294),
    [anon_sym_DOT] = ACTIONS(2296),
    [anon_sym_COMMA] = ACTIONS(2294),
    [anon_sym_PIPE] = ACTIONS(2296),
    [anon_sym_SEMI] = ACTIONS(2294),
    [anon_sym_STAR_STAR] = ACTIONS(2296),
    [anon_sym_AMP] = ACTIONS(2296),
    [anon_sym_EQ] = ACTIONS(2296),
    [anon_sym_LT] = ACTIONS(2296),
    [anon_sym_in] = ACTIONS(2294),
    [anon_sym_do] = ACTIONS(2294),
    [anon_sym_EQ_GT] = ACTIONS(2294),
    [anon_sym_RBRACK] = ACTIONS(2294),
    [anon_sym_AMP_DOT] = ACTIONS(2294),
    [anon_sym_PLUS_EQ] = ACTIONS(2294),
    [anon_sym_DASH_EQ] = ACTIONS(2294),
    [anon_sym_STAR_EQ] = ACTIONS(2294),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2294),
    [anon_sym_SLASH_EQ] = ACTIONS(2294),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2294),
    [anon_sym_PIPE_EQ] = ACTIONS(2294),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2294),
    [anon_sym_AMP_EQ] = ACTIONS(2294),
    [anon_sym_PERCENT_EQ] = ACTIONS(2294),
    [anon_sym_GT_GT_EQ] = ACTIONS(2294),
    [anon_sym_LT_LT_EQ] = ACTIONS(2294),
    [anon_sym_CARET_EQ] = ACTIONS(2294),
    [anon_sym_QMARK] = ACTIONS(2294),
    [anon_sym_COLON] = ACTIONS(2294),
    [anon_sym_DOT_DOT] = ACTIONS(2296),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2294),
    [anon_sym_and] = ACTIONS(2294),
    [anon_sym_or] = ACTIONS(2294),
    [anon_sym_PIPE_PIPE] = ACTIONS(2296),
    [anon_sym_AMP_AMP] = ACTIONS(2296),
    [anon_sym_LT_LT] = ACTIONS(2296),
    [anon_sym_GT_GT] = ACTIONS(2296),
    [anon_sym_EQ_EQ] = ACTIONS(2296),
    [anon_sym_BANG_EQ] = ACTIONS(2294),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2294),
    [anon_sym_LT_EQ_GT] = ACTIONS(2294),
    [anon_sym_EQ_TILDE] = ACTIONS(2294),
    [anon_sym_BANG_TILDE] = ACTIONS(2294),
    [anon_sym_LT_EQ] = ACTIONS(2296),
    [anon_sym_GT] = ACTIONS(2296),
    [anon_sym_GT_EQ] = ACTIONS(2294),
    [anon_sym_CARET] = ACTIONS(2296),
    [anon_sym_PLUS] = ACTIONS(2296),
    [anon_sym_SLASH] = ACTIONS(2296),
    [anon_sym_PERCENT] = ACTIONS(2296),
    [sym_comment] = ACTIONS(256),
  },
  [3108] = {
    [sym__then] = STATE(6192),
    [sym_heredoc_end] = STATE(1476),
    [sym__terminator] = STATE(1484),
    [sym__simple_heredoc_body] = ACTIONS(2322),
    [sym__heredoc_body_beginning] = ACTIONS(2324),
    [sym__line_break] = ACTIONS(2326),
    [anon_sym_SEMI] = ACTIONS(2326),
    [anon_sym_if] = ACTIONS(2328),
    [anon_sym_unless] = ACTIONS(2330),
    [anon_sym_while] = ACTIONS(2332),
    [anon_sym_until] = ACTIONS(2334),
    [anon_sym_rescue] = ACTIONS(2336),
    [anon_sym_then] = ACTIONS(2338),
    [sym_comment] = ACTIONS(110),
  },
  [3109] = {
    [sym__then] = STATE(6193),
    [sym_heredoc_end] = STATE(1521),
    [sym__terminator] = STATE(1524),
    [sym__simple_heredoc_body] = ACTIONS(2402),
    [sym__heredoc_body_beginning] = ACTIONS(2404),
    [sym__line_break] = ACTIONS(2406),
    [anon_sym_SEMI] = ACTIONS(2406),
    [anon_sym_if] = ACTIONS(2328),
    [anon_sym_unless] = ACTIONS(2330),
    [anon_sym_while] = ACTIONS(2332),
    [anon_sym_until] = ACTIONS(2334),
    [anon_sym_rescue] = ACTIONS(2336),
    [anon_sym_then] = ACTIONS(2408),
    [sym_comment] = ACTIONS(110),
  },
  [3110] = {
    [sym__do] = STATE(6194),
    [sym_heredoc_end] = STATE(1550),
    [sym__terminator] = STATE(1557),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym__line_break] = ACTIONS(2446),
    [sym__binary_minus] = ACTIONS(2448),
    [sym__binary_star] = ACTIONS(2450),
    [anon_sym_PIPE] = ACTIONS(2452),
    [anon_sym_SEMI] = ACTIONS(2446),
    [anon_sym_STAR_STAR] = ACTIONS(2454),
    [anon_sym_AMP] = ACTIONS(2456),
    [anon_sym_LT] = ACTIONS(2458),
    [anon_sym_do] = ACTIONS(2460),
    [anon_sym_QMARK] = ACTIONS(2462),
    [anon_sym_DOT_DOT] = ACTIONS(2464),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2466),
    [anon_sym_and] = ACTIONS(2468),
    [anon_sym_or] = ACTIONS(2468),
    [anon_sym_PIPE_PIPE] = ACTIONS(2470),
    [anon_sym_AMP_AMP] = ACTIONS(2470),
    [anon_sym_LT_LT] = ACTIONS(2472),
    [anon_sym_GT_GT] = ACTIONS(2472),
    [anon_sym_EQ_EQ] = ACTIONS(2474),
    [anon_sym_BANG_EQ] = ACTIONS(2470),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2470),
    [anon_sym_LT_EQ_GT] = ACTIONS(2470),
    [anon_sym_EQ_TILDE] = ACTIONS(2470),
    [anon_sym_BANG_TILDE] = ACTIONS(2470),
    [anon_sym_LT_EQ] = ACTIONS(2458),
    [anon_sym_GT] = ACTIONS(2458),
    [anon_sym_GT_EQ] = ACTIONS(2476),
    [anon_sym_CARET] = ACTIONS(2478),
    [anon_sym_PLUS] = ACTIONS(2480),
    [anon_sym_SLASH] = ACTIONS(2454),
    [anon_sym_PERCENT] = ACTIONS(2454),
    [sym_comment] = ACTIONS(110),
  },
  [3111] = {
    [sym__do] = STATE(6195),
    [sym_heredoc_end] = STATE(1550),
    [sym__terminator] = STATE(1557),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym__line_break] = ACTIONS(2446),
    [sym__binary_minus] = ACTIONS(2448),
    [sym__binary_star] = ACTIONS(2450),
    [anon_sym_PIPE] = ACTIONS(2452),
    [anon_sym_SEMI] = ACTIONS(2446),
    [anon_sym_STAR_STAR] = ACTIONS(2454),
    [anon_sym_AMP] = ACTIONS(2456),
    [anon_sym_LT] = ACTIONS(2458),
    [anon_sym_do] = ACTIONS(2460),
    [anon_sym_QMARK] = ACTIONS(2462),
    [anon_sym_DOT_DOT] = ACTIONS(2464),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2466),
    [anon_sym_and] = ACTIONS(2468),
    [anon_sym_or] = ACTIONS(2468),
    [anon_sym_PIPE_PIPE] = ACTIONS(2470),
    [anon_sym_AMP_AMP] = ACTIONS(2470),
    [anon_sym_LT_LT] = ACTIONS(2472),
    [anon_sym_GT_GT] = ACTIONS(2472),
    [anon_sym_EQ_EQ] = ACTIONS(2474),
    [anon_sym_BANG_EQ] = ACTIONS(2470),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2470),
    [anon_sym_LT_EQ_GT] = ACTIONS(2470),
    [anon_sym_EQ_TILDE] = ACTIONS(2470),
    [anon_sym_BANG_TILDE] = ACTIONS(2470),
    [anon_sym_LT_EQ] = ACTIONS(2458),
    [anon_sym_GT] = ACTIONS(2458),
    [anon_sym_GT_EQ] = ACTIONS(2476),
    [anon_sym_CARET] = ACTIONS(2478),
    [anon_sym_PLUS] = ACTIONS(2480),
    [anon_sym_SLASH] = ACTIONS(2454),
    [anon_sym_PERCENT] = ACTIONS(2454),
    [sym_comment] = ACTIONS(110),
  },
  [3112] = {
    [sym_in] = STATE(6196),
    [anon_sym_in] = ACTIONS(2548),
    [sym_comment] = ACTIONS(110),
  },
  [3113] = {
    [sym__element_reference_left_bracket] = ACTIONS(6942),
    [sym__scope_double_colon] = ACTIONS(6942),
    [sym__binary_minus] = ACTIONS(6942),
    [sym__binary_star] = ACTIONS(6942),
    [anon_sym_DOT] = ACTIONS(6944),
    [anon_sym_COMMA] = ACTIONS(6942),
    [anon_sym_PIPE] = ACTIONS(6944),
    [anon_sym_STAR_STAR] = ACTIONS(6944),
    [anon_sym_AMP] = ACTIONS(6944),
    [anon_sym_EQ] = ACTIONS(6944),
    [anon_sym_LT] = ACTIONS(6944),
    [anon_sym_EQ_GT] = ACTIONS(6942),
    [anon_sym_AMP_DOT] = ACTIONS(6942),
    [anon_sym_PLUS_EQ] = ACTIONS(6942),
    [anon_sym_DASH_EQ] = ACTIONS(6942),
    [anon_sym_STAR_EQ] = ACTIONS(6942),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6942),
    [anon_sym_SLASH_EQ] = ACTIONS(6942),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6942),
    [anon_sym_PIPE_EQ] = ACTIONS(6942),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6942),
    [anon_sym_AMP_EQ] = ACTIONS(6942),
    [anon_sym_PERCENT_EQ] = ACTIONS(6942),
    [anon_sym_GT_GT_EQ] = ACTIONS(6942),
    [anon_sym_LT_LT_EQ] = ACTIONS(6942),
    [anon_sym_CARET_EQ] = ACTIONS(6942),
    [anon_sym_QMARK] = ACTIONS(6942),
    [anon_sym_DOT_DOT] = ACTIONS(6944),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6942),
    [anon_sym_and] = ACTIONS(6942),
    [anon_sym_or] = ACTIONS(6942),
    [anon_sym_PIPE_PIPE] = ACTIONS(6944),
    [anon_sym_AMP_AMP] = ACTIONS(6944),
    [anon_sym_LT_LT] = ACTIONS(6944),
    [anon_sym_GT_GT] = ACTIONS(6944),
    [anon_sym_EQ_EQ] = ACTIONS(6944),
    [anon_sym_BANG_EQ] = ACTIONS(6942),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6942),
    [anon_sym_LT_EQ_GT] = ACTIONS(6942),
    [anon_sym_EQ_TILDE] = ACTIONS(6942),
    [anon_sym_BANG_TILDE] = ACTIONS(6942),
    [anon_sym_LT_EQ] = ACTIONS(6944),
    [anon_sym_GT] = ACTIONS(6944),
    [anon_sym_GT_EQ] = ACTIONS(6942),
    [anon_sym_CARET] = ACTIONS(6944),
    [anon_sym_PLUS] = ACTIONS(6944),
    [anon_sym_SLASH] = ACTIONS(6944),
    [anon_sym_PERCENT] = ACTIONS(6944),
    [sym_comment] = ACTIONS(256),
  },
  [3114] = {
    [anon_sym_end] = ACTIONS(8606),
    [sym_comment] = ACTIONS(110),
  },
  [3115] = {
    [sym__statements] = STATE(6198),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(6199),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(8608),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3116] = {
    [sym__statements] = STATE(6198),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(6200),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(6199),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(8608),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3117] = {
    [anon_sym_end] = ACTIONS(8610),
    [sym_comment] = ACTIONS(110),
  },
  [3118] = {
    [sym_when] = STATE(6202),
    [sym_heredoc_end] = STATE(387),
    [sym__terminator] = STATE(402),
    [aux_sym_case_repeat1] = STATE(6203),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym__line_break] = ACTIONS(666),
    [sym__binary_minus] = ACTIONS(2600),
    [sym__binary_star] = ACTIONS(2602),
    [anon_sym_PIPE] = ACTIONS(2604),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_STAR_STAR] = ACTIONS(2606),
    [anon_sym_AMP] = ACTIONS(2608),
    [anon_sym_LT] = ACTIONS(2610),
    [anon_sym_when] = ACTIONS(2612),
    [anon_sym_QMARK] = ACTIONS(2614),
    [anon_sym_DOT_DOT] = ACTIONS(2616),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2618),
    [anon_sym_and] = ACTIONS(2620),
    [anon_sym_or] = ACTIONS(2620),
    [anon_sym_PIPE_PIPE] = ACTIONS(2622),
    [anon_sym_AMP_AMP] = ACTIONS(2622),
    [anon_sym_LT_LT] = ACTIONS(2624),
    [anon_sym_GT_GT] = ACTIONS(2624),
    [anon_sym_EQ_EQ] = ACTIONS(2626),
    [anon_sym_BANG_EQ] = ACTIONS(2622),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2622),
    [anon_sym_LT_EQ_GT] = ACTIONS(2622),
    [anon_sym_EQ_TILDE] = ACTIONS(2622),
    [anon_sym_BANG_TILDE] = ACTIONS(2622),
    [anon_sym_LT_EQ] = ACTIONS(2610),
    [anon_sym_GT] = ACTIONS(2610),
    [anon_sym_GT_EQ] = ACTIONS(2628),
    [anon_sym_CARET] = ACTIONS(2630),
    [anon_sym_PLUS] = ACTIONS(2632),
    [anon_sym_SLASH] = ACTIONS(2606),
    [anon_sym_PERCENT] = ACTIONS(2606),
    [sym_comment] = ACTIONS(110),
  },
  [3119] = {
    [sym_when] = STATE(6202),
    [sym_heredoc_end] = STATE(387),
    [sym__terminator] = STATE(1688),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym__line_break] = ACTIONS(666),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_when] = ACTIONS(2612),
    [sym_comment] = ACTIONS(110),
  },
  [3120] = {
    [sym__simple_heredoc_body] = ACTIONS(2674),
    [sym__heredoc_body_beginning] = ACTIONS(2674),
    [sym__element_reference_left_bracket] = ACTIONS(2674),
    [sym__scope_double_colon] = ACTIONS(2674),
    [sym__binary_minus] = ACTIONS(2674),
    [sym__binary_star] = ACTIONS(2674),
    [anon_sym_LBRACE] = ACTIONS(2674),
    [anon_sym_RBRACE] = ACTIONS(2674),
    [anon_sym_RPAREN] = ACTIONS(2674),
    [anon_sym_DOT] = ACTIONS(2676),
    [anon_sym_COMMA] = ACTIONS(2674),
    [anon_sym_PIPE] = ACTIONS(2676),
    [anon_sym_SEMI] = ACTIONS(2674),
    [anon_sym_STAR_STAR] = ACTIONS(2676),
    [anon_sym_AMP] = ACTIONS(2676),
    [anon_sym_EQ] = ACTIONS(2676),
    [anon_sym_LT] = ACTIONS(2676),
    [anon_sym_in] = ACTIONS(2674),
    [anon_sym_do] = ACTIONS(2674),
    [anon_sym_EQ_GT] = ACTIONS(2674),
    [anon_sym_RBRACK] = ACTIONS(2674),
    [anon_sym_AMP_DOT] = ACTIONS(2674),
    [anon_sym_PLUS_EQ] = ACTIONS(2674),
    [anon_sym_DASH_EQ] = ACTIONS(2674),
    [anon_sym_STAR_EQ] = ACTIONS(2674),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2674),
    [anon_sym_SLASH_EQ] = ACTIONS(2674),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2674),
    [anon_sym_PIPE_EQ] = ACTIONS(2674),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2674),
    [anon_sym_AMP_EQ] = ACTIONS(2674),
    [anon_sym_PERCENT_EQ] = ACTIONS(2674),
    [anon_sym_GT_GT_EQ] = ACTIONS(2674),
    [anon_sym_LT_LT_EQ] = ACTIONS(2674),
    [anon_sym_CARET_EQ] = ACTIONS(2674),
    [anon_sym_QMARK] = ACTIONS(2674),
    [anon_sym_COLON] = ACTIONS(2674),
    [anon_sym_DOT_DOT] = ACTIONS(2676),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2674),
    [anon_sym_and] = ACTIONS(2674),
    [anon_sym_or] = ACTIONS(2674),
    [anon_sym_PIPE_PIPE] = ACTIONS(2676),
    [anon_sym_AMP_AMP] = ACTIONS(2676),
    [anon_sym_LT_LT] = ACTIONS(2676),
    [anon_sym_GT_GT] = ACTIONS(2676),
    [anon_sym_EQ_EQ] = ACTIONS(2676),
    [anon_sym_BANG_EQ] = ACTIONS(2674),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2674),
    [anon_sym_LT_EQ_GT] = ACTIONS(2674),
    [anon_sym_EQ_TILDE] = ACTIONS(2674),
    [anon_sym_BANG_TILDE] = ACTIONS(2674),
    [anon_sym_LT_EQ] = ACTIONS(2676),
    [anon_sym_GT] = ACTIONS(2676),
    [anon_sym_GT_EQ] = ACTIONS(2674),
    [anon_sym_CARET] = ACTIONS(2676),
    [anon_sym_PLUS] = ACTIONS(2676),
    [anon_sym_SLASH] = ACTIONS(2676),
    [anon_sym_PERCENT] = ACTIONS(2676),
    [sym_comment] = ACTIONS(256),
  },
  [3121] = {
    [anon_sym_end] = ACTIONS(8612),
    [sym_comment] = ACTIONS(110),
  },
  [3122] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(6205),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(8614),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3123] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(4526),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2872),
    [anon_sym_AMP_AMP] = ACTIONS(2872),
    [anon_sym_LT_LT] = ACTIONS(2872),
    [anon_sym_GT_GT] = ACTIONS(2872),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2872),
    [anon_sym_PLUS] = ACTIONS(2872),
    [anon_sym_SLASH] = ACTIONS(2872),
    [anon_sym_PERCENT] = ACTIONS(2872),
    [sym_comment] = ACTIONS(256),
  },
  [3124] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(4520),
    [sym__binary_star] = ACTIONS(4522),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(4524),
    [anon_sym_STAR_STAR] = ACTIONS(4526),
    [anon_sym_AMP] = ACTIONS(4528),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(4530),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(4532),
    [anon_sym_DOT_DOT] = ACTIONS(4534),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4536),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(4538),
    [anon_sym_AMP_AMP] = ACTIONS(4538),
    [anon_sym_LT_LT] = ACTIONS(4540),
    [anon_sym_GT_GT] = ACTIONS(4540),
    [anon_sym_EQ_EQ] = ACTIONS(4538),
    [anon_sym_BANG_EQ] = ACTIONS(4542),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4542),
    [anon_sym_LT_EQ_GT] = ACTIONS(4542),
    [anon_sym_EQ_TILDE] = ACTIONS(4542),
    [anon_sym_BANG_TILDE] = ACTIONS(4542),
    [anon_sym_LT_EQ] = ACTIONS(4530),
    [anon_sym_GT] = ACTIONS(4530),
    [anon_sym_GT_EQ] = ACTIONS(4544),
    [anon_sym_CARET] = ACTIONS(4524),
    [anon_sym_PLUS] = ACTIONS(4546),
    [anon_sym_SLASH] = ACTIONS(4526),
    [anon_sym_PERCENT] = ACTIONS(4526),
    [sym_comment] = ACTIONS(256),
  },
  [3125] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_RBRACE] = ACTIONS(2870),
    [anon_sym_RPAREN] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(2872),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_in] = ACTIONS(2870),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_RBRACK] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_COLON] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2872),
    [anon_sym_AMP_AMP] = ACTIONS(2872),
    [anon_sym_LT_LT] = ACTIONS(2872),
    [anon_sym_GT_GT] = ACTIONS(2872),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2872),
    [anon_sym_PLUS] = ACTIONS(2872),
    [anon_sym_SLASH] = ACTIONS(2872),
    [anon_sym_PERCENT] = ACTIONS(2872),
    [sym_comment] = ACTIONS(256),
  },
  [3126] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(6206),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1105),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1106),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(1740),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(4460),
    [anon_sym_yield] = ACTIONS(4462),
    [anon_sym_break] = ACTIONS(4464),
    [anon_sym_next] = ACTIONS(4466),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(4486),
    [anon_sym_defined_QMARK] = ACTIONS(1780),
    [anon_sym_not] = ACTIONS(4488),
    [anon_sym_BANG] = ACTIONS(1786),
    [anon_sym_TILDE] = ACTIONS(1786),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [3127] = {
    [sym__simple_heredoc_body] = ACTIONS(2882),
    [sym__heredoc_body_beginning] = ACTIONS(2882),
    [sym__element_reference_left_bracket] = ACTIONS(2882),
    [sym__scope_double_colon] = ACTIONS(2882),
    [sym__binary_minus] = ACTIONS(2882),
    [sym__binary_star] = ACTIONS(2882),
    [anon_sym_LBRACE] = ACTIONS(2882),
    [anon_sym_RBRACE] = ACTIONS(2882),
    [anon_sym_RPAREN] = ACTIONS(2882),
    [anon_sym_DOT] = ACTIONS(2884),
    [anon_sym_COMMA] = ACTIONS(2882),
    [anon_sym_PIPE] = ACTIONS(2884),
    [anon_sym_SEMI] = ACTIONS(2882),
    [anon_sym_STAR_STAR] = ACTIONS(2884),
    [anon_sym_AMP] = ACTIONS(2884),
    [anon_sym_EQ] = ACTIONS(2884),
    [anon_sym_LT] = ACTIONS(2884),
    [anon_sym_in] = ACTIONS(2882),
    [anon_sym_do] = ACTIONS(2882),
    [anon_sym_EQ_GT] = ACTIONS(2882),
    [anon_sym_RBRACK] = ACTIONS(2882),
    [anon_sym_AMP_DOT] = ACTIONS(2882),
    [anon_sym_PLUS_EQ] = ACTIONS(2882),
    [anon_sym_DASH_EQ] = ACTIONS(2882),
    [anon_sym_STAR_EQ] = ACTIONS(2882),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2882),
    [anon_sym_SLASH_EQ] = ACTIONS(2882),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2882),
    [anon_sym_PIPE_EQ] = ACTIONS(2882),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2882),
    [anon_sym_AMP_EQ] = ACTIONS(2882),
    [anon_sym_PERCENT_EQ] = ACTIONS(2882),
    [anon_sym_GT_GT_EQ] = ACTIONS(2882),
    [anon_sym_LT_LT_EQ] = ACTIONS(2882),
    [anon_sym_CARET_EQ] = ACTIONS(2882),
    [anon_sym_QMARK] = ACTIONS(2882),
    [anon_sym_COLON] = ACTIONS(2882),
    [anon_sym_DOT_DOT] = ACTIONS(2884),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2882),
    [anon_sym_and] = ACTIONS(2882),
    [anon_sym_or] = ACTIONS(2882),
    [anon_sym_PIPE_PIPE] = ACTIONS(2884),
    [anon_sym_AMP_AMP] = ACTIONS(2884),
    [anon_sym_LT_LT] = ACTIONS(2884),
    [anon_sym_GT_GT] = ACTIONS(2884),
    [anon_sym_EQ_EQ] = ACTIONS(2884),
    [anon_sym_BANG_EQ] = ACTIONS(2882),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2882),
    [anon_sym_LT_EQ_GT] = ACTIONS(2882),
    [anon_sym_EQ_TILDE] = ACTIONS(2882),
    [anon_sym_BANG_TILDE] = ACTIONS(2882),
    [anon_sym_LT_EQ] = ACTIONS(2884),
    [anon_sym_GT] = ACTIONS(2884),
    [anon_sym_GT_EQ] = ACTIONS(2882),
    [anon_sym_CARET] = ACTIONS(2884),
    [anon_sym_PLUS] = ACTIONS(2884),
    [anon_sym_SLASH] = ACTIONS(2884),
    [anon_sym_PERCENT] = ACTIONS(2884),
    [sym_comment] = ACTIONS(256),
  },
  [3128] = {
    [sym__simple_heredoc_body] = ACTIONS(2952),
    [sym__heredoc_body_beginning] = ACTIONS(2952),
    [sym__element_reference_left_bracket] = ACTIONS(2952),
    [sym__scope_double_colon] = ACTIONS(2952),
    [sym__binary_minus] = ACTIONS(2952),
    [sym__binary_star] = ACTIONS(2952),
    [anon_sym_LBRACE] = ACTIONS(2952),
    [anon_sym_RBRACE] = ACTIONS(2952),
    [anon_sym_RPAREN] = ACTIONS(2952),
    [anon_sym_DOT] = ACTIONS(2954),
    [anon_sym_COMMA] = ACTIONS(2952),
    [anon_sym_PIPE] = ACTIONS(2954),
    [anon_sym_SEMI] = ACTIONS(2952),
    [anon_sym_STAR_STAR] = ACTIONS(2954),
    [anon_sym_AMP] = ACTIONS(2954),
    [anon_sym_EQ] = ACTIONS(2954),
    [anon_sym_LT] = ACTIONS(2954),
    [anon_sym_in] = ACTIONS(2952),
    [anon_sym_do] = ACTIONS(2952),
    [anon_sym_EQ_GT] = ACTIONS(2952),
    [anon_sym_RBRACK] = ACTIONS(2952),
    [anon_sym_AMP_DOT] = ACTIONS(2952),
    [anon_sym_PLUS_EQ] = ACTIONS(2952),
    [anon_sym_DASH_EQ] = ACTIONS(2952),
    [anon_sym_STAR_EQ] = ACTIONS(2952),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2952),
    [anon_sym_SLASH_EQ] = ACTIONS(2952),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2952),
    [anon_sym_PIPE_EQ] = ACTIONS(2952),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2952),
    [anon_sym_AMP_EQ] = ACTIONS(2952),
    [anon_sym_PERCENT_EQ] = ACTIONS(2952),
    [anon_sym_GT_GT_EQ] = ACTIONS(2952),
    [anon_sym_LT_LT_EQ] = ACTIONS(2952),
    [anon_sym_CARET_EQ] = ACTIONS(2952),
    [anon_sym_QMARK] = ACTIONS(2952),
    [anon_sym_COLON] = ACTIONS(2952),
    [anon_sym_DOT_DOT] = ACTIONS(2954),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2952),
    [anon_sym_and] = ACTIONS(2952),
    [anon_sym_or] = ACTIONS(2952),
    [anon_sym_PIPE_PIPE] = ACTIONS(2954),
    [anon_sym_AMP_AMP] = ACTIONS(2954),
    [anon_sym_LT_LT] = ACTIONS(2954),
    [anon_sym_GT_GT] = ACTIONS(2954),
    [anon_sym_EQ_EQ] = ACTIONS(2954),
    [anon_sym_BANG_EQ] = ACTIONS(2952),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2952),
    [anon_sym_LT_EQ_GT] = ACTIONS(2952),
    [anon_sym_EQ_TILDE] = ACTIONS(2952),
    [anon_sym_BANG_TILDE] = ACTIONS(2952),
    [anon_sym_LT_EQ] = ACTIONS(2954),
    [anon_sym_GT] = ACTIONS(2954),
    [anon_sym_GT_EQ] = ACTIONS(2952),
    [anon_sym_CARET] = ACTIONS(2954),
    [anon_sym_PLUS] = ACTIONS(2954),
    [anon_sym_SLASH] = ACTIONS(2954),
    [anon_sym_PERCENT] = ACTIONS(2954),
    [sym_comment] = ACTIONS(256),
  },
  [3129] = {
    [sym_heredoc_end] = STATE(6207),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RBRACK] = ACTIONS(8590),
    [sym_comment] = ACTIONS(110),
  },
  [3130] = {
    [anon_sym_RBRACK] = ACTIONS(8590),
    [sym_comment] = ACTIONS(110),
  },
  [3131] = {
    [sym__statements] = STATE(4756),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(4757),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(841),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(8616),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_PIPE] = ACTIONS(3048),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3132] = {
    [sym__statements] = STATE(4760),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(4761),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1981),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(4762),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(3076),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(3078),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(3080),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(6850),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(3086),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3133] = {
    [sym_do_block] = STATE(6209),
    [sym_block] = STATE(6209),
    [anon_sym_LBRACE] = ACTIONS(4516),
    [anon_sym_do] = ACTIONS(6882),
    [sym_comment] = ACTIONS(110),
  },
  [3134] = {
    [sym__simple_heredoc_body] = ACTIONS(3100),
    [sym__heredoc_body_beginning] = ACTIONS(3100),
    [sym__element_reference_left_bracket] = ACTIONS(3100),
    [sym__scope_double_colon] = ACTIONS(3100),
    [sym__binary_minus] = ACTIONS(3100),
    [sym__binary_star] = ACTIONS(3100),
    [anon_sym_LBRACE] = ACTIONS(3100),
    [anon_sym_RBRACE] = ACTIONS(3100),
    [anon_sym_RPAREN] = ACTIONS(3100),
    [anon_sym_DOT] = ACTIONS(3102),
    [anon_sym_COMMA] = ACTIONS(3100),
    [anon_sym_PIPE] = ACTIONS(3102),
    [anon_sym_SEMI] = ACTIONS(3100),
    [anon_sym_STAR_STAR] = ACTIONS(3102),
    [anon_sym_AMP] = ACTIONS(3102),
    [anon_sym_EQ] = ACTIONS(3102),
    [anon_sym_LT] = ACTIONS(3102),
    [anon_sym_in] = ACTIONS(3100),
    [anon_sym_do] = ACTIONS(3100),
    [anon_sym_EQ_GT] = ACTIONS(3100),
    [anon_sym_RBRACK] = ACTIONS(3100),
    [anon_sym_AMP_DOT] = ACTIONS(3100),
    [anon_sym_PLUS_EQ] = ACTIONS(3100),
    [anon_sym_DASH_EQ] = ACTIONS(3100),
    [anon_sym_STAR_EQ] = ACTIONS(3100),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3100),
    [anon_sym_SLASH_EQ] = ACTIONS(3100),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3100),
    [anon_sym_PIPE_EQ] = ACTIONS(3100),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3100),
    [anon_sym_AMP_EQ] = ACTIONS(3100),
    [anon_sym_PERCENT_EQ] = ACTIONS(3100),
    [anon_sym_GT_GT_EQ] = ACTIONS(3100),
    [anon_sym_LT_LT_EQ] = ACTIONS(3100),
    [anon_sym_CARET_EQ] = ACTIONS(3100),
    [anon_sym_QMARK] = ACTIONS(3100),
    [anon_sym_COLON] = ACTIONS(3100),
    [anon_sym_DOT_DOT] = ACTIONS(3102),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3100),
    [anon_sym_and] = ACTIONS(3100),
    [anon_sym_or] = ACTIONS(3100),
    [anon_sym_PIPE_PIPE] = ACTIONS(3102),
    [anon_sym_AMP_AMP] = ACTIONS(3102),
    [anon_sym_LT_LT] = ACTIONS(3102),
    [anon_sym_GT_GT] = ACTIONS(3102),
    [anon_sym_EQ_EQ] = ACTIONS(3102),
    [anon_sym_BANG_EQ] = ACTIONS(3100),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3100),
    [anon_sym_LT_EQ_GT] = ACTIONS(3100),
    [anon_sym_EQ_TILDE] = ACTIONS(3100),
    [anon_sym_BANG_TILDE] = ACTIONS(3100),
    [anon_sym_LT_EQ] = ACTIONS(3102),
    [anon_sym_GT] = ACTIONS(3102),
    [anon_sym_GT_EQ] = ACTIONS(3100),
    [anon_sym_CARET] = ACTIONS(3102),
    [anon_sym_PLUS] = ACTIONS(3102),
    [anon_sym_SLASH] = ACTIONS(3102),
    [anon_sym_PERCENT] = ACTIONS(3102),
    [sym_comment] = ACTIONS(256),
  },
  [3135] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(6210),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1105),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1106),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(1740),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(4460),
    [anon_sym_yield] = ACTIONS(4462),
    [anon_sym_break] = ACTIONS(4464),
    [anon_sym_next] = ACTIONS(4466),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(4486),
    [anon_sym_defined_QMARK] = ACTIONS(1780),
    [anon_sym_not] = ACTIONS(4488),
    [anon_sym_BANG] = ACTIONS(1786),
    [anon_sym_TILDE] = ACTIONS(1786),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [3136] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(6211),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1105),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1106),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(1740),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(4460),
    [anon_sym_yield] = ACTIONS(4462),
    [anon_sym_break] = ACTIONS(4464),
    [anon_sym_next] = ACTIONS(4466),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(4486),
    [anon_sym_defined_QMARK] = ACTIONS(1780),
    [anon_sym_not] = ACTIONS(4488),
    [anon_sym_BANG] = ACTIONS(1786),
    [anon_sym_TILDE] = ACTIONS(1786),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [3137] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(6212),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1105),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1106),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(1740),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(4460),
    [anon_sym_yield] = ACTIONS(4462),
    [anon_sym_break] = ACTIONS(4464),
    [anon_sym_next] = ACTIONS(4466),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(4486),
    [anon_sym_defined_QMARK] = ACTIONS(1780),
    [anon_sym_not] = ACTIONS(4488),
    [anon_sym_BANG] = ACTIONS(1786),
    [anon_sym_TILDE] = ACTIONS(1786),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [3138] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(6213),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1105),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1106),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(1740),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(4460),
    [anon_sym_yield] = ACTIONS(4462),
    [anon_sym_break] = ACTIONS(4464),
    [anon_sym_next] = ACTIONS(4466),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(4486),
    [anon_sym_defined_QMARK] = ACTIONS(1780),
    [anon_sym_not] = ACTIONS(4488),
    [anon_sym_BANG] = ACTIONS(1786),
    [anon_sym_TILDE] = ACTIONS(1786),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [3139] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(6214),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1105),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1106),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(1740),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(4460),
    [anon_sym_yield] = ACTIONS(4462),
    [anon_sym_break] = ACTIONS(4464),
    [anon_sym_next] = ACTIONS(4466),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(4486),
    [anon_sym_defined_QMARK] = ACTIONS(1780),
    [anon_sym_not] = ACTIONS(4488),
    [anon_sym_BANG] = ACTIONS(1786),
    [anon_sym_TILDE] = ACTIONS(1786),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [3140] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(6215),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1105),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1106),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(1740),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(4460),
    [anon_sym_yield] = ACTIONS(4462),
    [anon_sym_break] = ACTIONS(4464),
    [anon_sym_next] = ACTIONS(4466),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(4486),
    [anon_sym_defined_QMARK] = ACTIONS(1780),
    [anon_sym_not] = ACTIONS(4488),
    [anon_sym_BANG] = ACTIONS(1786),
    [anon_sym_TILDE] = ACTIONS(1786),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [3141] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(6216),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [3142] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(6217),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1105),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1106),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(1740),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(4460),
    [anon_sym_yield] = ACTIONS(4462),
    [anon_sym_break] = ACTIONS(4464),
    [anon_sym_next] = ACTIONS(4466),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(4486),
    [anon_sym_defined_QMARK] = ACTIONS(1780),
    [anon_sym_not] = ACTIONS(4488),
    [anon_sym_BANG] = ACTIONS(1786),
    [anon_sym_TILDE] = ACTIONS(1786),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [3143] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(6218),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1105),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1106),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(1740),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(4460),
    [anon_sym_yield] = ACTIONS(4462),
    [anon_sym_break] = ACTIONS(4464),
    [anon_sym_next] = ACTIONS(4466),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(4486),
    [anon_sym_defined_QMARK] = ACTIONS(1780),
    [anon_sym_not] = ACTIONS(4488),
    [anon_sym_BANG] = ACTIONS(1786),
    [anon_sym_TILDE] = ACTIONS(1786),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [3144] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(6219),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1105),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1106),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(1740),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(4460),
    [anon_sym_yield] = ACTIONS(4462),
    [anon_sym_break] = ACTIONS(4464),
    [anon_sym_next] = ACTIONS(4466),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(4486),
    [anon_sym_defined_QMARK] = ACTIONS(1780),
    [anon_sym_not] = ACTIONS(4488),
    [anon_sym_BANG] = ACTIONS(1786),
    [anon_sym_TILDE] = ACTIONS(1786),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [3145] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(6220),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1105),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1106),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(1740),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(4460),
    [anon_sym_yield] = ACTIONS(4462),
    [anon_sym_break] = ACTIONS(4464),
    [anon_sym_next] = ACTIONS(4466),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(4486),
    [anon_sym_defined_QMARK] = ACTIONS(1780),
    [anon_sym_not] = ACTIONS(4488),
    [anon_sym_BANG] = ACTIONS(1786),
    [anon_sym_TILDE] = ACTIONS(1786),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [3146] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(6221),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1105),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1106),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(1740),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(4460),
    [anon_sym_yield] = ACTIONS(4462),
    [anon_sym_break] = ACTIONS(4464),
    [anon_sym_next] = ACTIONS(4466),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(4486),
    [anon_sym_defined_QMARK] = ACTIONS(1780),
    [anon_sym_not] = ACTIONS(4488),
    [anon_sym_BANG] = ACTIONS(1786),
    [anon_sym_TILDE] = ACTIONS(1786),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [3147] = {
    [sym_do_block] = STATE(4778),
    [sym_block] = STATE(4778),
    [sym__simple_heredoc_body] = ACTIONS(3346),
    [sym__heredoc_body_beginning] = ACTIONS(3346),
    [sym__element_reference_left_bracket] = ACTIONS(3346),
    [sym__scope_double_colon] = ACTIONS(3346),
    [sym__binary_minus] = ACTIONS(3346),
    [sym__binary_star] = ACTIONS(3346),
    [anon_sym_LBRACE] = ACTIONS(4516),
    [anon_sym_RBRACE] = ACTIONS(3346),
    [anon_sym_RPAREN] = ACTIONS(3346),
    [anon_sym_DOT] = ACTIONS(3350),
    [anon_sym_COMMA] = ACTIONS(3346),
    [anon_sym_PIPE] = ACTIONS(3350),
    [anon_sym_SEMI] = ACTIONS(3346),
    [anon_sym_STAR_STAR] = ACTIONS(3350),
    [anon_sym_AMP] = ACTIONS(3350),
    [anon_sym_EQ] = ACTIONS(3350),
    [anon_sym_LT] = ACTIONS(3350),
    [anon_sym_in] = ACTIONS(3346),
    [anon_sym_do] = ACTIONS(3346),
    [anon_sym_EQ_GT] = ACTIONS(3346),
    [anon_sym_RBRACK] = ACTIONS(3346),
    [anon_sym_AMP_DOT] = ACTIONS(3346),
    [anon_sym_PLUS_EQ] = ACTIONS(3346),
    [anon_sym_DASH_EQ] = ACTIONS(3346),
    [anon_sym_STAR_EQ] = ACTIONS(3346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3346),
    [anon_sym_SLASH_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3346),
    [anon_sym_AMP_EQ] = ACTIONS(3346),
    [anon_sym_PERCENT_EQ] = ACTIONS(3346),
    [anon_sym_GT_GT_EQ] = ACTIONS(3346),
    [anon_sym_LT_LT_EQ] = ACTIONS(3346),
    [anon_sym_CARET_EQ] = ACTIONS(3346),
    [anon_sym_QMARK] = ACTIONS(3346),
    [anon_sym_COLON] = ACTIONS(3346),
    [anon_sym_DOT_DOT] = ACTIONS(3350),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3346),
    [anon_sym_and] = ACTIONS(3346),
    [anon_sym_or] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE] = ACTIONS(3350),
    [anon_sym_AMP_AMP] = ACTIONS(3350),
    [anon_sym_LT_LT] = ACTIONS(3350),
    [anon_sym_GT_GT] = ACTIONS(3350),
    [anon_sym_EQ_EQ] = ACTIONS(3350),
    [anon_sym_BANG_EQ] = ACTIONS(3346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3346),
    [anon_sym_LT_EQ_GT] = ACTIONS(3346),
    [anon_sym_EQ_TILDE] = ACTIONS(3346),
    [anon_sym_BANG_TILDE] = ACTIONS(3346),
    [anon_sym_LT_EQ] = ACTIONS(3350),
    [anon_sym_GT] = ACTIONS(3350),
    [anon_sym_GT_EQ] = ACTIONS(3346),
    [anon_sym_CARET] = ACTIONS(3350),
    [anon_sym_PLUS] = ACTIONS(3350),
    [anon_sym_SLASH] = ACTIONS(3350),
    [anon_sym_PERCENT] = ACTIONS(3350),
    [sym_comment] = ACTIONS(256),
  },
  [3148] = {
    [sym__statements] = STATE(3088),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(3089),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(841),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(8618),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_PIPE] = ACTIONS(3048),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3149] = {
    [sym__statements] = STATE(3114),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(3115),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1981),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(3116),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(3076),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(3078),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(3080),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(4506),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(3086),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3150] = {
    [sym__element_reference_left_bracket] = ACTIONS(7290),
    [sym__scope_double_colon] = ACTIONS(7290),
    [sym__binary_minus] = ACTIONS(7290),
    [sym__binary_star] = ACTIONS(7290),
    [anon_sym_DOT] = ACTIONS(7292),
    [anon_sym_COMMA] = ACTIONS(7290),
    [anon_sym_PIPE] = ACTIONS(7292),
    [anon_sym_STAR_STAR] = ACTIONS(7292),
    [anon_sym_AMP] = ACTIONS(7292),
    [anon_sym_EQ] = ACTIONS(7292),
    [anon_sym_LT] = ACTIONS(7292),
    [anon_sym_EQ_GT] = ACTIONS(7290),
    [anon_sym_AMP_DOT] = ACTIONS(7290),
    [anon_sym_PLUS_EQ] = ACTIONS(7290),
    [anon_sym_DASH_EQ] = ACTIONS(7290),
    [anon_sym_STAR_EQ] = ACTIONS(7290),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7290),
    [anon_sym_SLASH_EQ] = ACTIONS(7290),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7290),
    [anon_sym_PIPE_EQ] = ACTIONS(7290),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7290),
    [anon_sym_AMP_EQ] = ACTIONS(7290),
    [anon_sym_PERCENT_EQ] = ACTIONS(7290),
    [anon_sym_GT_GT_EQ] = ACTIONS(7290),
    [anon_sym_LT_LT_EQ] = ACTIONS(7290),
    [anon_sym_CARET_EQ] = ACTIONS(7290),
    [anon_sym_QMARK] = ACTIONS(7290),
    [anon_sym_DOT_DOT] = ACTIONS(7292),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7290),
    [anon_sym_and] = ACTIONS(7290),
    [anon_sym_or] = ACTIONS(7290),
    [anon_sym_PIPE_PIPE] = ACTIONS(7292),
    [anon_sym_AMP_AMP] = ACTIONS(7292),
    [anon_sym_LT_LT] = ACTIONS(7292),
    [anon_sym_GT_GT] = ACTIONS(7292),
    [anon_sym_EQ_EQ] = ACTIONS(7292),
    [anon_sym_BANG_EQ] = ACTIONS(7290),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7290),
    [anon_sym_LT_EQ_GT] = ACTIONS(7290),
    [anon_sym_EQ_TILDE] = ACTIONS(7290),
    [anon_sym_BANG_TILDE] = ACTIONS(7290),
    [anon_sym_LT_EQ] = ACTIONS(7292),
    [anon_sym_GT] = ACTIONS(7292),
    [anon_sym_GT_EQ] = ACTIONS(7290),
    [anon_sym_CARET] = ACTIONS(7292),
    [anon_sym_PLUS] = ACTIONS(7292),
    [anon_sym_SLASH] = ACTIONS(7292),
    [anon_sym_PERCENT] = ACTIONS(7292),
    [sym_comment] = ACTIONS(256),
  },
  [3151] = {
    [sym__simple_heredoc_body] = ACTIONS(1398),
    [sym__heredoc_body_beginning] = ACTIONS(1398),
    [sym__element_reference_left_bracket] = ACTIONS(1398),
    [sym__scope_double_colon] = ACTIONS(1398),
    [sym__binary_minus] = ACTIONS(1398),
    [sym__binary_star] = ACTIONS(1398),
    [anon_sym_LBRACE] = ACTIONS(1398),
    [anon_sym_RBRACE] = ACTIONS(1398),
    [anon_sym_RPAREN] = ACTIONS(1398),
    [anon_sym_DOT] = ACTIONS(2666),
    [anon_sym_COMMA] = ACTIONS(1398),
    [anon_sym_PIPE] = ACTIONS(2666),
    [anon_sym_SEMI] = ACTIONS(1398),
    [anon_sym_STAR_STAR] = ACTIONS(2666),
    [anon_sym_AMP] = ACTIONS(2666),
    [anon_sym_EQ] = ACTIONS(2666),
    [anon_sym_LT] = ACTIONS(2666),
    [anon_sym_in] = ACTIONS(1398),
    [anon_sym_do] = ACTIONS(1398),
    [anon_sym_EQ_GT] = ACTIONS(1398),
    [anon_sym_RBRACK] = ACTIONS(1398),
    [anon_sym_AMP_DOT] = ACTIONS(1398),
    [anon_sym_PLUS_EQ] = ACTIONS(1398),
    [anon_sym_DASH_EQ] = ACTIONS(1398),
    [anon_sym_STAR_EQ] = ACTIONS(1398),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1398),
    [anon_sym_SLASH_EQ] = ACTIONS(1398),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1398),
    [anon_sym_PIPE_EQ] = ACTIONS(1398),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1398),
    [anon_sym_AMP_EQ] = ACTIONS(1398),
    [anon_sym_PERCENT_EQ] = ACTIONS(1398),
    [anon_sym_GT_GT_EQ] = ACTIONS(1398),
    [anon_sym_LT_LT_EQ] = ACTIONS(1398),
    [anon_sym_CARET_EQ] = ACTIONS(1398),
    [anon_sym_QMARK] = ACTIONS(1398),
    [anon_sym_COLON] = ACTIONS(1398),
    [anon_sym_DOT_DOT] = ACTIONS(2666),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1398),
    [anon_sym_and] = ACTIONS(1398),
    [anon_sym_or] = ACTIONS(1398),
    [anon_sym_PIPE_PIPE] = ACTIONS(2666),
    [anon_sym_AMP_AMP] = ACTIONS(2666),
    [anon_sym_LT_LT] = ACTIONS(2666),
    [anon_sym_GT_GT] = ACTIONS(2666),
    [anon_sym_EQ_EQ] = ACTIONS(2666),
    [anon_sym_BANG_EQ] = ACTIONS(1398),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1398),
    [anon_sym_LT_EQ_GT] = ACTIONS(1398),
    [anon_sym_EQ_TILDE] = ACTIONS(1398),
    [anon_sym_BANG_TILDE] = ACTIONS(1398),
    [anon_sym_LT_EQ] = ACTIONS(2666),
    [anon_sym_GT] = ACTIONS(2666),
    [anon_sym_GT_EQ] = ACTIONS(1398),
    [anon_sym_CARET] = ACTIONS(2666),
    [anon_sym_PLUS] = ACTIONS(2666),
    [anon_sym_SLASH] = ACTIONS(2666),
    [anon_sym_PERCENT] = ACTIONS(2666),
    [sym_comment] = ACTIONS(256),
  },
  [3152] = {
    [sym__statement] = STATE(6223),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [aux_sym_heredoc_end_repeat1] = STATE(6224),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [3153] = {
    [sym__simple_heredoc_body] = ACTIONS(5468),
    [sym__heredoc_body_beginning] = ACTIONS(5468),
    [sym__element_reference_left_bracket] = ACTIONS(5468),
    [sym__scope_double_colon] = ACTIONS(5468),
    [sym__binary_minus] = ACTIONS(5468),
    [sym__binary_star] = ACTIONS(5468),
    [anon_sym_LBRACE] = ACTIONS(5468),
    [anon_sym_RBRACE] = ACTIONS(5468),
    [anon_sym_RPAREN] = ACTIONS(5468),
    [anon_sym_DOT] = ACTIONS(5470),
    [anon_sym_COMMA] = ACTIONS(5468),
    [anon_sym_PIPE] = ACTIONS(5470),
    [anon_sym_SEMI] = ACTIONS(5468),
    [anon_sym_STAR_STAR] = ACTIONS(5470),
    [anon_sym_AMP] = ACTIONS(5470),
    [anon_sym_EQ] = ACTIONS(5470),
    [anon_sym_LT] = ACTIONS(5470),
    [anon_sym_in] = ACTIONS(5468),
    [anon_sym_do] = ACTIONS(5468),
    [anon_sym_EQ_GT] = ACTIONS(5468),
    [anon_sym_RBRACK] = ACTIONS(5468),
    [anon_sym_AMP_DOT] = ACTIONS(5468),
    [anon_sym_PLUS_EQ] = ACTIONS(5468),
    [anon_sym_DASH_EQ] = ACTIONS(5468),
    [anon_sym_STAR_EQ] = ACTIONS(5468),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5468),
    [anon_sym_SLASH_EQ] = ACTIONS(5468),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5468),
    [anon_sym_PIPE_EQ] = ACTIONS(5468),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5468),
    [anon_sym_AMP_EQ] = ACTIONS(5468),
    [anon_sym_PERCENT_EQ] = ACTIONS(5468),
    [anon_sym_GT_GT_EQ] = ACTIONS(5468),
    [anon_sym_LT_LT_EQ] = ACTIONS(5468),
    [anon_sym_CARET_EQ] = ACTIONS(5468),
    [anon_sym_QMARK] = ACTIONS(5468),
    [anon_sym_COLON] = ACTIONS(5468),
    [anon_sym_DOT_DOT] = ACTIONS(5470),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5468),
    [anon_sym_and] = ACTIONS(5468),
    [anon_sym_or] = ACTIONS(5468),
    [anon_sym_PIPE_PIPE] = ACTIONS(5470),
    [anon_sym_AMP_AMP] = ACTIONS(5470),
    [anon_sym_LT_LT] = ACTIONS(5470),
    [anon_sym_GT_GT] = ACTIONS(5470),
    [anon_sym_EQ_EQ] = ACTIONS(5470),
    [anon_sym_BANG_EQ] = ACTIONS(5468),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5468),
    [anon_sym_LT_EQ_GT] = ACTIONS(5468),
    [anon_sym_EQ_TILDE] = ACTIONS(5468),
    [anon_sym_BANG_TILDE] = ACTIONS(5468),
    [anon_sym_LT_EQ] = ACTIONS(5470),
    [anon_sym_GT] = ACTIONS(5470),
    [anon_sym_GT_EQ] = ACTIONS(5468),
    [anon_sym_CARET] = ACTIONS(5470),
    [anon_sym_PLUS] = ACTIONS(5470),
    [anon_sym_SLASH] = ACTIONS(5470),
    [anon_sym_PERCENT] = ACTIONS(5470),
    [sym_comment] = ACTIONS(256),
  },
  [3154] = {
    [sym_heredoc_end] = STATE(6225),
    [sym__simple_heredoc_body] = ACTIONS(4552),
    [sym__heredoc_body_beginning] = ACTIONS(4554),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_LBRACE] = ACTIONS(5472),
    [anon_sym_RBRACE] = ACTIONS(5472),
    [anon_sym_RPAREN] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(5472),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_SEMI] = ACTIONS(5472),
    [anon_sym_STAR_STAR] = ACTIONS(5474),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_EQ] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_in] = ACTIONS(5472),
    [anon_sym_do] = ACTIONS(5472),
    [anon_sym_EQ_GT] = ACTIONS(5472),
    [anon_sym_RBRACK] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_PLUS_EQ] = ACTIONS(5472),
    [anon_sym_DASH_EQ] = ACTIONS(5472),
    [anon_sym_STAR_EQ] = ACTIONS(5472),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5472),
    [anon_sym_SLASH_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5472),
    [anon_sym_AMP_EQ] = ACTIONS(5472),
    [anon_sym_PERCENT_EQ] = ACTIONS(5472),
    [anon_sym_GT_GT_EQ] = ACTIONS(5472),
    [anon_sym_LT_LT_EQ] = ACTIONS(5472),
    [anon_sym_CARET_EQ] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_COLON] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5474),
    [anon_sym_AMP_AMP] = ACTIONS(5474),
    [anon_sym_LT_LT] = ACTIONS(5474),
    [anon_sym_GT_GT] = ACTIONS(5474),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5474),
    [anon_sym_PLUS] = ACTIONS(5474),
    [anon_sym_SLASH] = ACTIONS(5474),
    [anon_sym_PERCENT] = ACTIONS(5474),
    [sym_comment] = ACTIONS(256),
  },
  [3155] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(1096),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(6226),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1105),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1106),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1107),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(1108),
    [sym_subshell] = STATE(1062),
    [sym_heredoc_end] = STATE(6227),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__block_ampersand] = ACTIONS(1734),
    [sym__splat_star] = ACTIONS(1736),
    [sym__unary_minus] = ACTIONS(1740),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(8620),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(1752),
    [anon_sym_yield] = ACTIONS(1754),
    [anon_sym_break] = ACTIONS(1756),
    [anon_sym_next] = ACTIONS(1758),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(4486),
    [anon_sym_defined_QMARK] = ACTIONS(1780),
    [anon_sym_not] = ACTIONS(1782),
    [anon_sym_BANG] = ACTIONS(1786),
    [anon_sym_TILDE] = ACTIONS(1786),
    [sym_constant] = ACTIONS(1788),
    [sym_identifier] = ACTIONS(1788),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [3156] = {
    [sym_heredoc_end] = STATE(3153),
    [aux_sym_argument_list_repeat2] = STATE(6229),
    [sym__simple_heredoc_body] = ACTIONS(4552),
    [sym__heredoc_body_beginning] = ACTIONS(4554),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_LBRACE] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(8622),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_STAR_STAR] = ACTIONS(5474),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_EQ] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_do] = ACTIONS(5472),
    [anon_sym_EQ_GT] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_PLUS_EQ] = ACTIONS(5472),
    [anon_sym_DASH_EQ] = ACTIONS(5472),
    [anon_sym_STAR_EQ] = ACTIONS(5472),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5472),
    [anon_sym_SLASH_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5472),
    [anon_sym_AMP_EQ] = ACTIONS(5472),
    [anon_sym_PERCENT_EQ] = ACTIONS(5472),
    [anon_sym_GT_GT_EQ] = ACTIONS(5472),
    [anon_sym_LT_LT_EQ] = ACTIONS(5472),
    [anon_sym_CARET_EQ] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5474),
    [anon_sym_AMP_AMP] = ACTIONS(5474),
    [anon_sym_LT_LT] = ACTIONS(5474),
    [anon_sym_GT_GT] = ACTIONS(5474),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5474),
    [anon_sym_PLUS] = ACTIONS(5474),
    [anon_sym_SLASH] = ACTIONS(5474),
    [anon_sym_PERCENT] = ACTIONS(5474),
    [sym_comment] = ACTIONS(256),
  },
  [3157] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(6230),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_splat_argument] = STATE(6231),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_right_assignment_list] = STATE(6232),
    [sym__arg_or_splat_arg] = STATE(6233),
    [sym_left_assignment_list] = STATE(1105),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1106),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__splat_star] = ACTIONS(1736),
    [sym__unary_minus] = ACTIONS(1740),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(4460),
    [anon_sym_yield] = ACTIONS(4462),
    [anon_sym_break] = ACTIONS(4464),
    [anon_sym_next] = ACTIONS(4466),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(4486),
    [anon_sym_defined_QMARK] = ACTIONS(1780),
    [anon_sym_not] = ACTIONS(4488),
    [anon_sym_BANG] = ACTIONS(1786),
    [anon_sym_TILDE] = ACTIONS(1786),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [3158] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(6234),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1105),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1106),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(1740),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(4460),
    [anon_sym_yield] = ACTIONS(4462),
    [anon_sym_break] = ACTIONS(4464),
    [anon_sym_next] = ACTIONS(4466),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(4486),
    [anon_sym_defined_QMARK] = ACTIONS(1780),
    [anon_sym_not] = ACTIONS(4488),
    [anon_sym_BANG] = ACTIONS(1786),
    [anon_sym_TILDE] = ACTIONS(1786),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [3159] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(6235),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1105),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1106),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(1740),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(4460),
    [anon_sym_yield] = ACTIONS(4462),
    [anon_sym_break] = ACTIONS(4464),
    [anon_sym_next] = ACTIONS(4466),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(4486),
    [anon_sym_defined_QMARK] = ACTIONS(1780),
    [anon_sym_not] = ACTIONS(4488),
    [anon_sym_BANG] = ACTIONS(1786),
    [anon_sym_TILDE] = ACTIONS(1786),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [3160] = {
    [sym__simple_string] = ACTIONS(3382),
    [sym__simple_heredoc_body] = ACTIONS(3382),
    [sym__string_beginning] = ACTIONS(3382),
    [sym__heredoc_body_beginning] = ACTIONS(3382),
    [sym__element_reference_left_bracket] = ACTIONS(3382),
    [sym__scope_double_colon] = ACTIONS(3382),
    [sym__binary_minus] = ACTIONS(3382),
    [sym__binary_star] = ACTIONS(3382),
    [anon_sym_LBRACE] = ACTIONS(3382),
    [anon_sym_RBRACE] = ACTIONS(3382),
    [anon_sym_RPAREN] = ACTIONS(3382),
    [anon_sym_DOT] = ACTIONS(3384),
    [anon_sym_COMMA] = ACTIONS(3382),
    [anon_sym_PIPE] = ACTIONS(3384),
    [anon_sym_SEMI] = ACTIONS(3382),
    [anon_sym_STAR_STAR] = ACTIONS(3384),
    [anon_sym_AMP] = ACTIONS(3384),
    [anon_sym_EQ] = ACTIONS(3384),
    [anon_sym_LT] = ACTIONS(3384),
    [anon_sym_in] = ACTIONS(3382),
    [anon_sym_do] = ACTIONS(3382),
    [anon_sym_EQ_GT] = ACTIONS(3382),
    [anon_sym_RBRACK] = ACTIONS(3382),
    [anon_sym_AMP_DOT] = ACTIONS(3382),
    [anon_sym_PLUS_EQ] = ACTIONS(3382),
    [anon_sym_DASH_EQ] = ACTIONS(3382),
    [anon_sym_STAR_EQ] = ACTIONS(3382),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3382),
    [anon_sym_SLASH_EQ] = ACTIONS(3382),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3382),
    [anon_sym_PIPE_EQ] = ACTIONS(3382),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3382),
    [anon_sym_AMP_EQ] = ACTIONS(3382),
    [anon_sym_PERCENT_EQ] = ACTIONS(3382),
    [anon_sym_GT_GT_EQ] = ACTIONS(3382),
    [anon_sym_LT_LT_EQ] = ACTIONS(3382),
    [anon_sym_CARET_EQ] = ACTIONS(3382),
    [anon_sym_QMARK] = ACTIONS(3384),
    [anon_sym_COLON] = ACTIONS(3382),
    [anon_sym_DOT_DOT] = ACTIONS(3384),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3382),
    [anon_sym_and] = ACTIONS(3382),
    [anon_sym_or] = ACTIONS(3382),
    [anon_sym_PIPE_PIPE] = ACTIONS(3384),
    [anon_sym_AMP_AMP] = ACTIONS(3384),
    [anon_sym_LT_LT] = ACTIONS(3384),
    [anon_sym_GT_GT] = ACTIONS(3384),
    [anon_sym_EQ_EQ] = ACTIONS(3384),
    [anon_sym_BANG_EQ] = ACTIONS(3382),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3382),
    [anon_sym_LT_EQ_GT] = ACTIONS(3382),
    [anon_sym_EQ_TILDE] = ACTIONS(3382),
    [anon_sym_BANG_TILDE] = ACTIONS(3382),
    [anon_sym_LT_EQ] = ACTIONS(3384),
    [anon_sym_GT] = ACTIONS(3384),
    [anon_sym_GT_EQ] = ACTIONS(3382),
    [anon_sym_CARET] = ACTIONS(3384),
    [anon_sym_PLUS] = ACTIONS(3384),
    [anon_sym_SLASH] = ACTIONS(3384),
    [anon_sym_PERCENT] = ACTIONS(3384),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(3384),
  },
  [3161] = {
    [sym_string] = STATE(6236),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_heredoc_body] = ACTIONS(3386),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__heredoc_body_beginning] = ACTIONS(3386),
    [sym__element_reference_left_bracket] = ACTIONS(3386),
    [sym__scope_double_colon] = ACTIONS(3386),
    [sym__binary_minus] = ACTIONS(3386),
    [sym__binary_star] = ACTIONS(3386),
    [anon_sym_LBRACE] = ACTIONS(3386),
    [anon_sym_RBRACE] = ACTIONS(3386),
    [anon_sym_RPAREN] = ACTIONS(3386),
    [anon_sym_DOT] = ACTIONS(3388),
    [anon_sym_COMMA] = ACTIONS(3386),
    [anon_sym_PIPE] = ACTIONS(3388),
    [anon_sym_SEMI] = ACTIONS(3386),
    [anon_sym_STAR_STAR] = ACTIONS(3388),
    [anon_sym_AMP] = ACTIONS(3388),
    [anon_sym_EQ] = ACTIONS(3388),
    [anon_sym_LT] = ACTIONS(3388),
    [anon_sym_in] = ACTIONS(3386),
    [anon_sym_do] = ACTIONS(3386),
    [anon_sym_EQ_GT] = ACTIONS(3386),
    [anon_sym_RBRACK] = ACTIONS(3386),
    [anon_sym_AMP_DOT] = ACTIONS(3386),
    [anon_sym_PLUS_EQ] = ACTIONS(3386),
    [anon_sym_DASH_EQ] = ACTIONS(3386),
    [anon_sym_STAR_EQ] = ACTIONS(3386),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3386),
    [anon_sym_SLASH_EQ] = ACTIONS(3386),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3386),
    [anon_sym_PIPE_EQ] = ACTIONS(3386),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3386),
    [anon_sym_AMP_EQ] = ACTIONS(3386),
    [anon_sym_PERCENT_EQ] = ACTIONS(3386),
    [anon_sym_GT_GT_EQ] = ACTIONS(3386),
    [anon_sym_LT_LT_EQ] = ACTIONS(3386),
    [anon_sym_CARET_EQ] = ACTIONS(3386),
    [anon_sym_QMARK] = ACTIONS(3388),
    [anon_sym_COLON] = ACTIONS(3386),
    [anon_sym_DOT_DOT] = ACTIONS(3388),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3386),
    [anon_sym_and] = ACTIONS(3386),
    [anon_sym_or] = ACTIONS(3386),
    [anon_sym_PIPE_PIPE] = ACTIONS(3388),
    [anon_sym_AMP_AMP] = ACTIONS(3388),
    [anon_sym_LT_LT] = ACTIONS(3388),
    [anon_sym_GT_GT] = ACTIONS(3388),
    [anon_sym_EQ_EQ] = ACTIONS(3388),
    [anon_sym_BANG_EQ] = ACTIONS(3386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3386),
    [anon_sym_LT_EQ_GT] = ACTIONS(3386),
    [anon_sym_EQ_TILDE] = ACTIONS(3386),
    [anon_sym_BANG_TILDE] = ACTIONS(3386),
    [anon_sym_LT_EQ] = ACTIONS(3388),
    [anon_sym_GT] = ACTIONS(3388),
    [anon_sym_GT_EQ] = ACTIONS(3386),
    [anon_sym_CARET] = ACTIONS(3388),
    [anon_sym_PLUS] = ACTIONS(3388),
    [anon_sym_SLASH] = ACTIONS(3388),
    [anon_sym_PERCENT] = ACTIONS(3388),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(4490),
  },
  [3162] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(6237),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(3171),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3172),
    [sym__variable] = STATE(196),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(4568),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1514),
    [anon_sym_yield] = ACTIONS(1516),
    [anon_sym_break] = ACTIONS(1518),
    [anon_sym_next] = ACTIONS(1520),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(4570),
    [anon_sym_defined_QMARK] = ACTIONS(4572),
    [anon_sym_not] = ACTIONS(4574),
    [anon_sym_BANG] = ACTIONS(4576),
    [anon_sym_TILDE] = ACTIONS(4576),
    [sym_constant] = ACTIONS(1542),
    [sym_identifier] = ACTIONS(1542),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_false] = ACTIONS(364),
    [anon_sym_nil] = ACTIONS(366),
    [anon_sym_self] = ACTIONS(1544),
    [anon_sym_super] = ACTIONS(1546),
    [anon_sym_true] = ACTIONS(362),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [3163] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(6238),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(3171),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3172),
    [sym__variable] = STATE(196),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(4568),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1514),
    [anon_sym_yield] = ACTIONS(1516),
    [anon_sym_break] = ACTIONS(1518),
    [anon_sym_next] = ACTIONS(1520),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(4570),
    [anon_sym_defined_QMARK] = ACTIONS(4572),
    [anon_sym_not] = ACTIONS(4574),
    [anon_sym_BANG] = ACTIONS(4576),
    [anon_sym_TILDE] = ACTIONS(4576),
    [sym_constant] = ACTIONS(1542),
    [sym_identifier] = ACTIONS(1542),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_false] = ACTIONS(364),
    [anon_sym_nil] = ACTIONS(366),
    [anon_sym_self] = ACTIONS(1544),
    [anon_sym_super] = ACTIONS(1546),
    [anon_sym_true] = ACTIONS(362),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [3164] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(6239),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(3171),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3172),
    [sym__variable] = STATE(196),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(4568),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1514),
    [anon_sym_yield] = ACTIONS(1516),
    [anon_sym_break] = ACTIONS(1518),
    [anon_sym_next] = ACTIONS(1520),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(4570),
    [anon_sym_defined_QMARK] = ACTIONS(4572),
    [anon_sym_not] = ACTIONS(4574),
    [anon_sym_BANG] = ACTIONS(4576),
    [anon_sym_TILDE] = ACTIONS(4576),
    [sym_constant] = ACTIONS(1542),
    [sym_identifier] = ACTIONS(1542),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_false] = ACTIONS(364),
    [anon_sym_nil] = ACTIONS(366),
    [anon_sym_self] = ACTIONS(1544),
    [anon_sym_super] = ACTIONS(1546),
    [anon_sym_true] = ACTIONS(362),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [3165] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(6240),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(3171),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3172),
    [sym__variable] = STATE(196),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(4568),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1514),
    [anon_sym_yield] = ACTIONS(1516),
    [anon_sym_break] = ACTIONS(1518),
    [anon_sym_next] = ACTIONS(1520),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(4570),
    [anon_sym_defined_QMARK] = ACTIONS(4572),
    [anon_sym_not] = ACTIONS(4574),
    [anon_sym_BANG] = ACTIONS(4576),
    [anon_sym_TILDE] = ACTIONS(4576),
    [sym_constant] = ACTIONS(1542),
    [sym_identifier] = ACTIONS(1542),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_false] = ACTIONS(364),
    [anon_sym_nil] = ACTIONS(366),
    [anon_sym_self] = ACTIONS(1544),
    [anon_sym_super] = ACTIONS(1546),
    [anon_sym_true] = ACTIONS(362),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [3166] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(1027),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(3171),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3172),
    [sym__variable] = STATE(196),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(4568),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1514),
    [anon_sym_yield] = ACTIONS(1516),
    [anon_sym_break] = ACTIONS(1518),
    [anon_sym_next] = ACTIONS(1520),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(4570),
    [anon_sym_defined_QMARK] = ACTIONS(4572),
    [anon_sym_not] = ACTIONS(4574),
    [anon_sym_BANG] = ACTIONS(4576),
    [anon_sym_TILDE] = ACTIONS(4576),
    [sym_constant] = ACTIONS(1542),
    [sym_identifier] = ACTIONS(1542),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_false] = ACTIONS(364),
    [anon_sym_nil] = ACTIONS(366),
    [anon_sym_self] = ACTIONS(1544),
    [anon_sym_super] = ACTIONS(1546),
    [anon_sym_true] = ACTIONS(362),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [3167] = {
    [sym__binary_minus] = ACTIONS(8624),
    [sym__binary_star] = ACTIONS(8626),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(8628),
    [anon_sym_STAR_STAR] = ACTIONS(8630),
    [anon_sym_AMP] = ACTIONS(8632),
    [anon_sym_LT] = ACTIONS(8634),
    [anon_sym_EQ_GT] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(8636),
    [anon_sym_DOT_DOT] = ACTIONS(8638),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8640),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(8642),
    [anon_sym_AMP_AMP] = ACTIONS(8642),
    [anon_sym_LT_LT] = ACTIONS(8644),
    [anon_sym_GT_GT] = ACTIONS(8644),
    [anon_sym_EQ_EQ] = ACTIONS(8646),
    [anon_sym_BANG_EQ] = ACTIONS(8642),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8642),
    [anon_sym_LT_EQ_GT] = ACTIONS(8642),
    [anon_sym_EQ_TILDE] = ACTIONS(8642),
    [anon_sym_BANG_TILDE] = ACTIONS(8642),
    [anon_sym_LT_EQ] = ACTIONS(8634),
    [anon_sym_GT] = ACTIONS(8634),
    [anon_sym_GT_EQ] = ACTIONS(8648),
    [anon_sym_CARET] = ACTIONS(8650),
    [anon_sym_PLUS] = ACTIONS(8652),
    [anon_sym_SLASH] = ACTIONS(8630),
    [anon_sym_PERCENT] = ACTIONS(8630),
    [sym_comment] = ACTIONS(110),
  },
  [3168] = {
    [sym__binary_minus] = ACTIONS(6346),
    [sym__binary_star] = ACTIONS(6346),
    [anon_sym_LBRACE] = ACTIONS(6346),
    [anon_sym_RPAREN] = ACTIONS(6346),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(7328),
    [anon_sym_SEMI] = ACTIONS(6346),
    [anon_sym_STAR_STAR] = ACTIONS(6346),
    [anon_sym_AMP] = ACTIONS(7328),
    [anon_sym_LT] = ACTIONS(7328),
    [anon_sym_do] = ACTIONS(6346),
    [anon_sym_EQ_GT] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(6346),
    [anon_sym_COLON] = ACTIONS(6346),
    [anon_sym_DOT_DOT] = ACTIONS(7328),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6346),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(6346),
    [anon_sym_AMP_AMP] = ACTIONS(6346),
    [anon_sym_LT_LT] = ACTIONS(6346),
    [anon_sym_GT_GT] = ACTIONS(6346),
    [anon_sym_EQ_EQ] = ACTIONS(7328),
    [anon_sym_BANG_EQ] = ACTIONS(6346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6346),
    [anon_sym_LT_EQ_GT] = ACTIONS(6346),
    [anon_sym_EQ_TILDE] = ACTIONS(6346),
    [anon_sym_BANG_TILDE] = ACTIONS(6346),
    [anon_sym_LT_EQ] = ACTIONS(7328),
    [anon_sym_GT] = ACTIONS(7328),
    [anon_sym_GT_EQ] = ACTIONS(6346),
    [anon_sym_CARET] = ACTIONS(6346),
    [anon_sym_PLUS] = ACTIONS(6346),
    [anon_sym_SLASH] = ACTIONS(6346),
    [anon_sym_PERCENT] = ACTIONS(6346),
    [sym_comment] = ACTIONS(110),
  },
  [3169] = {
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_LBRACE] = ACTIONS(7330),
    [anon_sym_RPAREN] = ACTIONS(7330),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_SEMI] = ACTIONS(7330),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_do] = ACTIONS(7330),
    [anon_sym_EQ_GT] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_COLON] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [3170] = {
    [aux_sym_exceptions_repeat1] = STATE(6254),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_COMMA] = ACTIONS(8654),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_EQ_GT] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [3171] = {
    [anon_sym_EQ] = ACTIONS(8656),
    [sym_comment] = ACTIONS(256),
  },
  [3172] = {
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(8658),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(8660),
    [anon_sym_DASH_EQ] = ACTIONS(8660),
    [anon_sym_STAR_EQ] = ACTIONS(8660),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8660),
    [anon_sym_SLASH_EQ] = ACTIONS(8660),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8660),
    [anon_sym_PIPE_EQ] = ACTIONS(8660),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8660),
    [anon_sym_AMP_EQ] = ACTIONS(8660),
    [anon_sym_PERCENT_EQ] = ACTIONS(8660),
    [anon_sym_GT_GT_EQ] = ACTIONS(8660),
    [anon_sym_LT_LT_EQ] = ACTIONS(8660),
    [anon_sym_CARET_EQ] = ACTIONS(8660),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [3173] = {
    [sym__binary_minus] = ACTIONS(1672),
    [sym__binary_star] = ACTIONS(1674),
    [anon_sym_PIPE] = ACTIONS(1676),
    [anon_sym_STAR_STAR] = ACTIONS(1678),
    [anon_sym_AMP] = ACTIONS(1680),
    [anon_sym_LT] = ACTIONS(1682),
    [anon_sym_EQ_GT] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(1684),
    [anon_sym_DOT_DOT] = ACTIONS(1686),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1688),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(1692),
    [anon_sym_AMP_AMP] = ACTIONS(1692),
    [anon_sym_LT_LT] = ACTIONS(1694),
    [anon_sym_GT_GT] = ACTIONS(1694),
    [anon_sym_EQ_EQ] = ACTIONS(1696),
    [anon_sym_BANG_EQ] = ACTIONS(1692),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1692),
    [anon_sym_LT_EQ_GT] = ACTIONS(1692),
    [anon_sym_EQ_TILDE] = ACTIONS(1692),
    [anon_sym_BANG_TILDE] = ACTIONS(1692),
    [anon_sym_LT_EQ] = ACTIONS(1682),
    [anon_sym_GT] = ACTIONS(1682),
    [anon_sym_GT_EQ] = ACTIONS(1698),
    [anon_sym_CARET] = ACTIONS(1700),
    [anon_sym_PLUS] = ACTIONS(1702),
    [anon_sym_SLASH] = ACTIONS(1678),
    [anon_sym_PERCENT] = ACTIONS(1678),
    [sym_comment] = ACTIONS(110),
  },
  [3174] = {
    [sym__simple_heredoc_body] = ACTIONS(8662),
    [sym__heredoc_body_beginning] = ACTIONS(8662),
    [sym__binary_minus] = ACTIONS(4286),
    [sym__binary_star] = ACTIONS(4288),
    [anon_sym_RBRACE] = ACTIONS(8662),
    [anon_sym_COMMA] = ACTIONS(8662),
    [anon_sym_PIPE] = ACTIONS(4290),
    [anon_sym_STAR_STAR] = ACTIONS(4292),
    [anon_sym_AMP] = ACTIONS(4294),
    [anon_sym_LT] = ACTIONS(4296),
    [anon_sym_QMARK] = ACTIONS(4298),
    [anon_sym_DOT_DOT] = ACTIONS(4300),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4302),
    [anon_sym_and] = ACTIONS(4304),
    [anon_sym_or] = ACTIONS(4304),
    [anon_sym_PIPE_PIPE] = ACTIONS(4306),
    [anon_sym_AMP_AMP] = ACTIONS(4306),
    [anon_sym_LT_LT] = ACTIONS(4308),
    [anon_sym_GT_GT] = ACTIONS(4308),
    [anon_sym_EQ_EQ] = ACTIONS(4310),
    [anon_sym_BANG_EQ] = ACTIONS(4306),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4306),
    [anon_sym_LT_EQ_GT] = ACTIONS(4306),
    [anon_sym_EQ_TILDE] = ACTIONS(4306),
    [anon_sym_BANG_TILDE] = ACTIONS(4306),
    [anon_sym_LT_EQ] = ACTIONS(4296),
    [anon_sym_GT] = ACTIONS(4296),
    [anon_sym_GT_EQ] = ACTIONS(4312),
    [anon_sym_CARET] = ACTIONS(4314),
    [anon_sym_PLUS] = ACTIONS(4316),
    [anon_sym_SLASH] = ACTIONS(4292),
    [anon_sym_PERCENT] = ACTIONS(4292),
    [sym_comment] = ACTIONS(110),
  },
  [3175] = {
    [sym__simple_string] = ACTIONS(7346),
    [sym__string_beginning] = ACTIONS(7346),
    [sym__element_reference_left_bracket] = ACTIONS(7346),
    [sym__scope_double_colon] = ACTIONS(7346),
    [sym__binary_minus] = ACTIONS(7346),
    [sym__binary_star] = ACTIONS(7346),
    [anon_sym_LBRACE] = ACTIONS(7346),
    [anon_sym_RPAREN] = ACTIONS(7346),
    [anon_sym_DOT] = ACTIONS(7348),
    [anon_sym_COMMA] = ACTIONS(7346),
    [anon_sym_PIPE] = ACTIONS(7348),
    [anon_sym_SEMI] = ACTIONS(7346),
    [anon_sym_STAR_STAR] = ACTIONS(7346),
    [anon_sym_AMP] = ACTIONS(7348),
    [anon_sym_LT] = ACTIONS(7348),
    [anon_sym_do] = ACTIONS(7346),
    [anon_sym_EQ_GT] = ACTIONS(7346),
    [anon_sym_AMP_DOT] = ACTIONS(7346),
    [anon_sym_QMARK] = ACTIONS(7348),
    [anon_sym_COLON] = ACTIONS(7346),
    [anon_sym_DOT_DOT] = ACTIONS(7348),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7346),
    [anon_sym_and] = ACTIONS(7346),
    [anon_sym_or] = ACTIONS(7346),
    [anon_sym_PIPE_PIPE] = ACTIONS(7346),
    [anon_sym_AMP_AMP] = ACTIONS(7346),
    [anon_sym_LT_LT] = ACTIONS(7346),
    [anon_sym_GT_GT] = ACTIONS(7346),
    [anon_sym_EQ_EQ] = ACTIONS(7348),
    [anon_sym_BANG_EQ] = ACTIONS(7346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7346),
    [anon_sym_LT_EQ_GT] = ACTIONS(7346),
    [anon_sym_EQ_TILDE] = ACTIONS(7346),
    [anon_sym_BANG_TILDE] = ACTIONS(7346),
    [anon_sym_LT_EQ] = ACTIONS(7348),
    [anon_sym_GT] = ACTIONS(7348),
    [anon_sym_GT_EQ] = ACTIONS(7346),
    [anon_sym_CARET] = ACTIONS(7346),
    [anon_sym_PLUS] = ACTIONS(7346),
    [anon_sym_SLASH] = ACTIONS(7346),
    [anon_sym_PERCENT] = ACTIONS(7346),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(7348),
  },
  [3176] = {
    [sym__simple_heredoc_body] = ACTIONS(8664),
    [sym__heredoc_body_beginning] = ACTIONS(8664),
    [sym__line_break] = ACTIONS(8664),
    [sym__element_reference_left_bracket] = ACTIONS(8664),
    [sym__scope_double_colon] = ACTIONS(8664),
    [sym__binary_minus] = ACTIONS(8664),
    [sym__binary_star] = ACTIONS(8664),
    [ts_builtin_sym_end] = ACTIONS(8664),
    [anon_sym___END__] = ACTIONS(8664),
    [anon_sym_LBRACE] = ACTIONS(8664),
    [anon_sym_RBRACE] = ACTIONS(8664),
    [anon_sym_RPAREN] = ACTIONS(8664),
    [anon_sym_DOT] = ACTIONS(8666),
    [anon_sym_end] = ACTIONS(8664),
    [anon_sym_COMMA] = ACTIONS(8664),
    [anon_sym_PIPE] = ACTIONS(8666),
    [anon_sym_SEMI] = ACTIONS(8664),
    [anon_sym_STAR_STAR] = ACTIONS(8664),
    [anon_sym_AMP] = ACTIONS(8666),
    [anon_sym_LT] = ACTIONS(8666),
    [anon_sym_if] = ACTIONS(8664),
    [anon_sym_unless] = ACTIONS(8664),
    [anon_sym_while] = ACTIONS(8664),
    [anon_sym_until] = ACTIONS(8664),
    [anon_sym_rescue] = ACTIONS(8664),
    [anon_sym_do] = ACTIONS(8664),
    [anon_sym_when] = ACTIONS(8664),
    [anon_sym_elsif] = ACTIONS(8664),
    [anon_sym_else] = ACTIONS(8664),
    [anon_sym_then] = ACTIONS(8664),
    [anon_sym_ensure] = ACTIONS(8664),
    [anon_sym_EQ_GT] = ACTIONS(8664),
    [anon_sym_AMP_DOT] = ACTIONS(8664),
    [anon_sym_QMARK] = ACTIONS(8664),
    [anon_sym_DOT_DOT] = ACTIONS(8666),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8664),
    [anon_sym_and] = ACTIONS(8664),
    [anon_sym_or] = ACTIONS(8664),
    [anon_sym_PIPE_PIPE] = ACTIONS(8664),
    [anon_sym_AMP_AMP] = ACTIONS(8664),
    [anon_sym_LT_LT] = ACTIONS(8664),
    [anon_sym_GT_GT] = ACTIONS(8664),
    [anon_sym_EQ_EQ] = ACTIONS(8666),
    [anon_sym_BANG_EQ] = ACTIONS(8664),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8664),
    [anon_sym_LT_EQ_GT] = ACTIONS(8664),
    [anon_sym_EQ_TILDE] = ACTIONS(8664),
    [anon_sym_BANG_TILDE] = ACTIONS(8664),
    [anon_sym_LT_EQ] = ACTIONS(8666),
    [anon_sym_GT] = ACTIONS(8666),
    [anon_sym_GT_EQ] = ACTIONS(8664),
    [anon_sym_CARET] = ACTIONS(8664),
    [anon_sym_PLUS] = ACTIONS(8664),
    [anon_sym_SLASH] = ACTIONS(8664),
    [anon_sym_PERCENT] = ACTIONS(8664),
    [sym_comment] = ACTIONS(110),
  },
  [3177] = {
    [sym__simple_string] = ACTIONS(1398),
    [sym__simple_symbol] = ACTIONS(1398),
    [sym__simple_subshell] = ACTIONS(1398),
    [sym__simple_regex] = ACTIONS(1398),
    [sym__simple_word_list] = ACTIONS(1398),
    [sym__simple_heredoc_body] = ACTIONS(1398),
    [sym__string_beginning] = ACTIONS(1398),
    [sym__symbol_beginning] = ACTIONS(1398),
    [sym__subshell_beginning] = ACTIONS(1398),
    [sym__regex_beginning] = ACTIONS(1398),
    [sym__word_list_beginning] = ACTIONS(1398),
    [sym__heredoc_body_beginning] = ACTIONS(1398),
    [sym_heredoc_beginning] = ACTIONS(1398),
    [sym__unary_minus] = ACTIONS(1398),
    [anon_sym_LBRACE] = ACTIONS(1398),
    [anon_sym_RBRACE] = ACTIONS(1398),
    [anon_sym_def] = ACTIONS(2666),
    [anon_sym_LPAREN] = ACTIONS(1398),
    [anon_sym_COLON_COLON] = ACTIONS(1398),
    [anon_sym_end] = ACTIONS(2666),
    [anon_sym_STAR] = ACTIONS(2666),
    [anon_sym_STAR_STAR] = ACTIONS(1398),
    [anon_sym_class] = ACTIONS(2666),
    [anon_sym_module] = ACTIONS(2666),
    [anon_sym_return] = ACTIONS(2666),
    [anon_sym_yield] = ACTIONS(2666),
    [anon_sym_break] = ACTIONS(2666),
    [anon_sym_next] = ACTIONS(2666),
    [anon_sym_redo] = ACTIONS(2666),
    [anon_sym_retry] = ACTIONS(2666),
    [anon_sym_if] = ACTIONS(2666),
    [anon_sym_unless] = ACTIONS(2666),
    [anon_sym_while] = ACTIONS(2666),
    [anon_sym_until] = ACTIONS(2666),
    [anon_sym_rescue] = ACTIONS(2666),
    [anon_sym_for] = ACTIONS(2666),
    [anon_sym_in] = ACTIONS(2666),
    [anon_sym_do] = ACTIONS(2666),
    [anon_sym_case] = ACTIONS(2666),
    [anon_sym_when] = ACTIONS(2666),
    [anon_sym_elsif] = ACTIONS(2666),
    [anon_sym_else] = ACTIONS(2666),
    [anon_sym_then] = ACTIONS(2666),
    [anon_sym_begin] = ACTIONS(2666),
    [anon_sym_ensure] = ACTIONS(2666),
    [anon_sym_and] = ACTIONS(2666),
    [anon_sym_or] = ACTIONS(2666),
    [anon_sym_PLUS] = ACTIONS(2666),
    [anon_sym_defined_QMARK] = ACTIONS(1398),
    [anon_sym_not] = ACTIONS(2666),
    [anon_sym_BANG] = ACTIONS(1398),
    [anon_sym_TILDE] = ACTIONS(1398),
    [sym_constant] = ACTIONS(2668),
    [sym_identifier] = ACTIONS(2668),
    [sym_instance_variable] = ACTIONS(2666),
    [sym_class_variable] = ACTIONS(2666),
    [sym_global_variable] = ACTIONS(2666),
    [anon_sym_alias] = ACTIONS(2666),
    [anon_sym_defined] = ACTIONS(2666),
    [anon_sym_false] = ACTIONS(2666),
    [anon_sym_nil] = ACTIONS(2666),
    [anon_sym_self] = ACTIONS(2666),
    [anon_sym_super] = ACTIONS(2666),
    [anon_sym_true] = ACTIONS(2666),
    [anon_sym_undef] = ACTIONS(2666),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(2666),
    [sym_float] = ACTIONS(2668),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1398),
    [anon_sym_TRUE] = ACTIONS(2666),
    [anon_sym_FALSE] = ACTIONS(2666),
    [anon_sym_NIL] = ACTIONS(2666),
    [sym_keyword__FILE__] = ACTIONS(2666),
    [sym_keyword__LINE__] = ACTIONS(2666),
    [sym_keyword__ENCODING__] = ACTIONS(2666),
    [sym__character_literal] = ACTIONS(2666),
    [anon_sym_LBRACK] = ACTIONS(1398),
    [anon_sym_DASH_GT] = ACTIONS(1398),
  },
  [3178] = {
    [sym__statement] = STATE(6257),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [aux_sym_heredoc_end_repeat1] = STATE(6258),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [3179] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(193),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_hash_splat_argument] = STATE(197),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(199),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(200),
    [sym__variable] = STATE(196),
    [sym_reserved_identifier] = STATE(201),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(202),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym__hash_items] = STATE(6259),
    [sym_pair] = STATE(205),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(260),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__simple_heredoc_body] = ACTIONS(8668),
    [sym__string_beginning] = ACTIONS(272),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym__heredoc_body_beginning] = ACTIONS(8668),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(286),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_RBRACE] = ACTIONS(8668),
    [anon_sym_def] = ACTIONS(292),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(302),
    [anon_sym_class] = ACTIONS(304),
    [anon_sym_module] = ACTIONS(306),
    [anon_sym_return] = ACTIONS(308),
    [anon_sym_yield] = ACTIONS(310),
    [anon_sym_break] = ACTIONS(312),
    [anon_sym_next] = ACTIONS(314),
    [anon_sym_redo] = ACTIONS(316),
    [anon_sym_retry] = ACTIONS(318),
    [anon_sym_if] = ACTIONS(320),
    [anon_sym_unless] = ACTIONS(322),
    [anon_sym_while] = ACTIONS(324),
    [anon_sym_until] = ACTIONS(326),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(328),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(330),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(332),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(334),
    [anon_sym_defined_QMARK] = ACTIONS(336),
    [anon_sym_not] = ACTIONS(338),
    [anon_sym_BANG] = ACTIONS(340),
    [anon_sym_TILDE] = ACTIONS(340),
    [sym_constant] = ACTIONS(342),
    [sym_identifier] = ACTIONS(342),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(346),
    [anon_sym_nil] = ACTIONS(348),
    [anon_sym_self] = ACTIONS(350),
    [anon_sym_super] = ACTIONS(352),
    [anon_sym_true] = ACTIONS(354),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(370),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [3180] = {
    [sym__simple_heredoc_body] = ACTIONS(8668),
    [sym__heredoc_body_beginning] = ACTIONS(8668),
    [anon_sym_RBRACE] = ACTIONS(8668),
    [sym_comment] = ACTIONS(110),
  },
  [3181] = {
    [sym__simple_heredoc_body] = ACTIONS(8670),
    [sym__heredoc_body_beginning] = ACTIONS(8670),
    [sym__line_break] = ACTIONS(8670),
    [ts_builtin_sym_end] = ACTIONS(8670),
    [anon_sym___END__] = ACTIONS(8670),
    [anon_sym_RBRACE] = ACTIONS(8670),
    [anon_sym_RPAREN] = ACTIONS(8670),
    [anon_sym_end] = ACTIONS(8670),
    [anon_sym_SEMI] = ACTIONS(8670),
    [anon_sym_rescue] = ACTIONS(8670),
    [anon_sym_when] = ACTIONS(8670),
    [anon_sym_elsif] = ACTIONS(8670),
    [anon_sym_else] = ACTIONS(8670),
    [anon_sym_ensure] = ACTIONS(8670),
    [sym_comment] = ACTIONS(110),
  },
  [3182] = {
    [sym__simple_heredoc_body] = ACTIONS(3844),
    [sym__heredoc_body_beginning] = ACTIONS(3844),
    [sym__line_break] = ACTIONS(3844),
    [anon_sym_LPAREN] = ACTIONS(3844),
    [anon_sym_SEMI] = ACTIONS(3844),
    [anon_sym_STAR] = ACTIONS(3846),
    [anon_sym_STAR_STAR] = ACTIONS(3844),
    [anon_sym_AMP] = ACTIONS(3844),
    [sym_identifier] = ACTIONS(3846),
    [sym_comment] = ACTIONS(110),
  },
  [3183] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(8672),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [3184] = {
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_RPAREN] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_STAR_STAR] = ACTIONS(4622),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [3185] = {
    [sym__simple_string] = ACTIONS(2010),
    [sym__simple_symbol] = ACTIONS(2010),
    [sym__simple_subshell] = ACTIONS(2010),
    [sym__simple_regex] = ACTIONS(2010),
    [sym__simple_word_list] = ACTIONS(2010),
    [sym__string_beginning] = ACTIONS(2010),
    [sym__symbol_beginning] = ACTIONS(2010),
    [sym__subshell_beginning] = ACTIONS(2010),
    [sym__regex_beginning] = ACTIONS(2010),
    [sym__word_list_beginning] = ACTIONS(2010),
    [sym_heredoc_beginning] = ACTIONS(2010),
    [sym__element_reference_left_bracket] = ACTIONS(2010),
    [sym__block_ampersand] = ACTIONS(2010),
    [sym__splat_star] = ACTIONS(2010),
    [sym__argument_list_left_paren] = ACTIONS(2010),
    [sym__scope_double_colon] = ACTIONS(2010),
    [sym__unary_minus] = ACTIONS(2010),
    [sym__binary_minus] = ACTIONS(2010),
    [sym__binary_star] = ACTIONS(2010),
    [anon_sym_LBRACE] = ACTIONS(2010),
    [anon_sym_def] = ACTIONS(2012),
    [anon_sym_LPAREN] = ACTIONS(2010),
    [anon_sym_RPAREN] = ACTIONS(2010),
    [anon_sym_DOT] = ACTIONS(2012),
    [anon_sym_COLON_COLON] = ACTIONS(2010),
    [anon_sym_end] = ACTIONS(2012),
    [anon_sym_COMMA] = ACTIONS(2010),
    [anon_sym_PIPE] = ACTIONS(2012),
    [anon_sym_SEMI] = ACTIONS(2010),
    [anon_sym_STAR] = ACTIONS(2012),
    [anon_sym_STAR_STAR] = ACTIONS(2012),
    [anon_sym_AMP] = ACTIONS(2012),
    [anon_sym_EQ] = ACTIONS(2012),
    [anon_sym_class] = ACTIONS(2012),
    [anon_sym_LT] = ACTIONS(2012),
    [anon_sym_module] = ACTIONS(2012),
    [anon_sym_return] = ACTIONS(2012),
    [anon_sym_yield] = ACTIONS(2012),
    [anon_sym_break] = ACTIONS(2012),
    [anon_sym_next] = ACTIONS(2012),
    [anon_sym_redo] = ACTIONS(2012),
    [anon_sym_retry] = ACTIONS(2012),
    [anon_sym_if] = ACTIONS(2012),
    [anon_sym_unless] = ACTIONS(2012),
    [anon_sym_while] = ACTIONS(2012),
    [anon_sym_until] = ACTIONS(2012),
    [anon_sym_rescue] = ACTIONS(2012),
    [anon_sym_for] = ACTIONS(2012),
    [anon_sym_in] = ACTIONS(2012),
    [anon_sym_do] = ACTIONS(2012),
    [anon_sym_case] = ACTIONS(2012),
    [anon_sym_when] = ACTIONS(2012),
    [anon_sym_elsif] = ACTIONS(2012),
    [anon_sym_else] = ACTIONS(2012),
    [anon_sym_then] = ACTIONS(2012),
    [anon_sym_begin] = ACTIONS(2012),
    [anon_sym_ensure] = ACTIONS(2012),
    [anon_sym_AMP_DOT] = ACTIONS(2010),
    [anon_sym_PLUS_EQ] = ACTIONS(2010),
    [anon_sym_DASH_EQ] = ACTIONS(2010),
    [anon_sym_STAR_EQ] = ACTIONS(2010),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2010),
    [anon_sym_SLASH_EQ] = ACTIONS(2010),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2010),
    [anon_sym_PIPE_EQ] = ACTIONS(2010),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2010),
    [anon_sym_AMP_EQ] = ACTIONS(2010),
    [anon_sym_PERCENT_EQ] = ACTIONS(2010),
    [anon_sym_GT_GT_EQ] = ACTIONS(2010),
    [anon_sym_LT_LT_EQ] = ACTIONS(2010),
    [anon_sym_CARET_EQ] = ACTIONS(2010),
    [anon_sym_QMARK] = ACTIONS(2012),
    [anon_sym_COLON] = ACTIONS(2012),
    [anon_sym_DOT_DOT] = ACTIONS(2012),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2010),
    [anon_sym_and] = ACTIONS(2012),
    [anon_sym_or] = ACTIONS(2012),
    [anon_sym_PIPE_PIPE] = ACTIONS(2012),
    [anon_sym_AMP_AMP] = ACTIONS(2012),
    [anon_sym_LT_LT] = ACTIONS(2012),
    [anon_sym_GT_GT] = ACTIONS(2012),
    [anon_sym_EQ_EQ] = ACTIONS(2012),
    [anon_sym_BANG_EQ] = ACTIONS(2010),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2010),
    [anon_sym_LT_EQ_GT] = ACTIONS(2010),
    [anon_sym_EQ_TILDE] = ACTIONS(2010),
    [anon_sym_BANG_TILDE] = ACTIONS(2010),
    [anon_sym_LT_EQ] = ACTIONS(2012),
    [anon_sym_GT] = ACTIONS(2012),
    [anon_sym_GT_EQ] = ACTIONS(2010),
    [anon_sym_CARET] = ACTIONS(2012),
    [anon_sym_PLUS] = ACTIONS(2012),
    [anon_sym_SLASH] = ACTIONS(2012),
    [anon_sym_PERCENT] = ACTIONS(2012),
    [anon_sym_defined_QMARK] = ACTIONS(2010),
    [anon_sym_not] = ACTIONS(2012),
    [anon_sym_BANG] = ACTIONS(2012),
    [anon_sym_TILDE] = ACTIONS(2010),
    [sym_constant] = ACTIONS(2014),
    [sym_identifier] = ACTIONS(2014),
    [sym_instance_variable] = ACTIONS(2012),
    [sym_class_variable] = ACTIONS(2012),
    [sym_global_variable] = ACTIONS(2012),
    [anon_sym_alias] = ACTIONS(2012),
    [anon_sym_defined] = ACTIONS(2012),
    [anon_sym_false] = ACTIONS(2012),
    [anon_sym_nil] = ACTIONS(2012),
    [anon_sym_self] = ACTIONS(2012),
    [anon_sym_super] = ACTIONS(2012),
    [anon_sym_true] = ACTIONS(2012),
    [anon_sym_undef] = ACTIONS(2012),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(2012),
    [sym_float] = ACTIONS(2014),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(2010),
    [anon_sym_TRUE] = ACTIONS(2012),
    [anon_sym_FALSE] = ACTIONS(2012),
    [anon_sym_NIL] = ACTIONS(2012),
    [sym_keyword__FILE__] = ACTIONS(2012),
    [sym_keyword__LINE__] = ACTIONS(2012),
    [sym_keyword__ENCODING__] = ACTIONS(2012),
    [sym__character_literal] = ACTIONS(2012),
    [anon_sym_LBRACK] = ACTIONS(2010),
    [anon_sym_DASH_GT] = ACTIONS(2010),
  },
  [3186] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6265),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3679),
    [sym_call] = STATE(3679),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(6266),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6267),
    [sym__variable] = STATE(3679),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(8674),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5344),
    [anon_sym_yield] = ACTIONS(5346),
    [anon_sym_break] = ACTIONS(5348),
    [anon_sym_next] = ACTIONS(5350),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8676),
    [anon_sym_defined_QMARK] = ACTIONS(8678),
    [anon_sym_not] = ACTIONS(8680),
    [anon_sym_BANG] = ACTIONS(8682),
    [anon_sym_TILDE] = ACTIONS(8682),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3187] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6268),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3679),
    [sym_call] = STATE(3679),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(6266),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6267),
    [sym__variable] = STATE(3679),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(8674),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5344),
    [anon_sym_yield] = ACTIONS(5346),
    [anon_sym_break] = ACTIONS(5348),
    [anon_sym_next] = ACTIONS(5350),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8676),
    [anon_sym_defined_QMARK] = ACTIONS(8678),
    [anon_sym_not] = ACTIONS(8680),
    [anon_sym_BANG] = ACTIONS(8682),
    [anon_sym_TILDE] = ACTIONS(8682),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3188] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6269),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3197),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3198),
    [sym__variable] = STATE(1383),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4602),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5360),
    [anon_sym_yield] = ACTIONS(5362),
    [anon_sym_break] = ACTIONS(5364),
    [anon_sym_next] = ACTIONS(5366),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8684),
    [anon_sym_defined_QMARK] = ACTIONS(4604),
    [anon_sym_not] = ACTIONS(8686),
    [anon_sym_BANG] = ACTIONS(4610),
    [anon_sym_TILDE] = ACTIONS(4610),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3189] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6270),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3679),
    [sym_call] = STATE(3679),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(6266),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6267),
    [sym__variable] = STATE(3679),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(8674),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5344),
    [anon_sym_yield] = ACTIONS(5346),
    [anon_sym_break] = ACTIONS(5348),
    [anon_sym_next] = ACTIONS(5350),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8676),
    [anon_sym_defined_QMARK] = ACTIONS(8678),
    [anon_sym_not] = ACTIONS(8680),
    [anon_sym_BANG] = ACTIONS(8682),
    [anon_sym_TILDE] = ACTIONS(8682),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3190] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6271),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3197),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3198),
    [sym__variable] = STATE(1383),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4602),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5360),
    [anon_sym_yield] = ACTIONS(5362),
    [anon_sym_break] = ACTIONS(5364),
    [anon_sym_next] = ACTIONS(5366),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8684),
    [anon_sym_defined_QMARK] = ACTIONS(4604),
    [anon_sym_not] = ACTIONS(8686),
    [anon_sym_BANG] = ACTIONS(4610),
    [anon_sym_TILDE] = ACTIONS(4610),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3191] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6272),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3197),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3198),
    [sym__variable] = STATE(1383),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4602),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5360),
    [anon_sym_yield] = ACTIONS(5362),
    [anon_sym_break] = ACTIONS(5364),
    [anon_sym_next] = ACTIONS(5366),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8684),
    [anon_sym_defined_QMARK] = ACTIONS(4604),
    [anon_sym_not] = ACTIONS(8686),
    [anon_sym_BANG] = ACTIONS(4610),
    [anon_sym_TILDE] = ACTIONS(4610),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3192] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6272),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3197),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3198),
    [sym__variable] = STATE(1383),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(4602),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5360),
    [anon_sym_yield] = ACTIONS(5362),
    [anon_sym_break] = ACTIONS(5364),
    [anon_sym_next] = ACTIONS(5366),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8684),
    [anon_sym_defined_QMARK] = ACTIONS(4604),
    [anon_sym_not] = ACTIONS(8686),
    [anon_sym_BANG] = ACTIONS(4610),
    [anon_sym_TILDE] = ACTIONS(4610),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3193] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(2988),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3197),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3198),
    [sym__variable] = STATE(1383),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4602),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5360),
    [anon_sym_yield] = ACTIONS(5362),
    [anon_sym_break] = ACTIONS(5364),
    [anon_sym_next] = ACTIONS(5366),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8684),
    [anon_sym_defined_QMARK] = ACTIONS(4604),
    [anon_sym_not] = ACTIONS(8686),
    [anon_sym_BANG] = ACTIONS(4610),
    [anon_sym_TILDE] = ACTIONS(4610),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3194] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(8688),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_RPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [3195] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(8690),
    [sym__binary_star] = ACTIONS(8692),
    [anon_sym_RPAREN] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(8694),
    [anon_sym_STAR_STAR] = ACTIONS(8696),
    [anon_sym_AMP] = ACTIONS(8698),
    [anon_sym_LT] = ACTIONS(8700),
    [anon_sym_EQ_GT] = ACTIONS(8688),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(8702),
    [anon_sym_DOT_DOT] = ACTIONS(8704),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8706),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(8708),
    [anon_sym_AMP_AMP] = ACTIONS(8708),
    [anon_sym_LT_LT] = ACTIONS(8710),
    [anon_sym_GT_GT] = ACTIONS(8710),
    [anon_sym_EQ_EQ] = ACTIONS(8712),
    [anon_sym_BANG_EQ] = ACTIONS(8708),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8708),
    [anon_sym_LT_EQ_GT] = ACTIONS(8708),
    [anon_sym_EQ_TILDE] = ACTIONS(8708),
    [anon_sym_BANG_TILDE] = ACTIONS(8708),
    [anon_sym_LT_EQ] = ACTIONS(8700),
    [anon_sym_GT] = ACTIONS(8700),
    [anon_sym_GT_EQ] = ACTIONS(8714),
    [anon_sym_CARET] = ACTIONS(8716),
    [anon_sym_PLUS] = ACTIONS(8718),
    [anon_sym_SLASH] = ACTIONS(8696),
    [anon_sym_PERCENT] = ACTIONS(8696),
    [sym_comment] = ACTIONS(110),
  },
  [3196] = {
    [sym_heredoc_end] = STATE(3004),
    [aux_sym_argument_list_repeat1] = STATE(6287),
    [aux_sym_argument_list_repeat2] = STATE(3005),
    [sym__simple_heredoc_body] = ACTIONS(4410),
    [sym__heredoc_body_beginning] = ACTIONS(4412),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_RPAREN] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(8720),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_STAR_STAR] = ACTIONS(2272),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2272),
    [anon_sym_AMP_AMP] = ACTIONS(2272),
    [anon_sym_LT_LT] = ACTIONS(2272),
    [anon_sym_GT_GT] = ACTIONS(2272),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2272),
    [anon_sym_PLUS] = ACTIONS(2272),
    [anon_sym_SLASH] = ACTIONS(2272),
    [anon_sym_PERCENT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(110),
  },
  [3197] = {
    [anon_sym_EQ] = ACTIONS(8722),
    [sym_comment] = ACTIONS(256),
  },
  [3198] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_RPAREN] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(8724),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(8726),
    [anon_sym_DASH_EQ] = ACTIONS(8726),
    [anon_sym_STAR_EQ] = ACTIONS(8726),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8726),
    [anon_sym_SLASH_EQ] = ACTIONS(8726),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8726),
    [anon_sym_PIPE_EQ] = ACTIONS(8726),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8726),
    [anon_sym_AMP_EQ] = ACTIONS(8726),
    [anon_sym_PERCENT_EQ] = ACTIONS(8726),
    [anon_sym_GT_GT_EQ] = ACTIONS(8726),
    [anon_sym_LT_LT_EQ] = ACTIONS(8726),
    [anon_sym_CARET_EQ] = ACTIONS(8726),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [3199] = {
    [sym__keyword_colon] = ACTIONS(8728),
    [sym_comment] = ACTIONS(110),
  },
  [3200] = {
    [sym_string] = STATE(1962),
    [aux_sym_chained_string_repeat1] = STATE(1963),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(8688),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_RPAREN] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(1626),
  },
  [3201] = {
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_RPAREN] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(4622),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [3202] = {
    [sym__binary_minus] = ACTIONS(4614),
    [sym__binary_star] = ACTIONS(4616),
    [anon_sym_RPAREN] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(4620),
    [anon_sym_STAR_STAR] = ACTIONS(4622),
    [anon_sym_AMP] = ACTIONS(4624),
    [anon_sym_LT] = ACTIONS(4626),
    [anon_sym_QMARK] = ACTIONS(4628),
    [anon_sym_DOT_DOT] = ACTIONS(4630),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4632),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(4636),
    [anon_sym_AMP_AMP] = ACTIONS(4636),
    [anon_sym_LT_LT] = ACTIONS(4638),
    [anon_sym_GT_GT] = ACTIONS(4638),
    [anon_sym_EQ_EQ] = ACTIONS(4640),
    [anon_sym_BANG_EQ] = ACTIONS(4636),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4636),
    [anon_sym_LT_EQ_GT] = ACTIONS(4636),
    [anon_sym_EQ_TILDE] = ACTIONS(4636),
    [anon_sym_BANG_TILDE] = ACTIONS(4636),
    [anon_sym_LT_EQ] = ACTIONS(4626),
    [anon_sym_GT] = ACTIONS(4626),
    [anon_sym_GT_EQ] = ACTIONS(4642),
    [anon_sym_CARET] = ACTIONS(4644),
    [anon_sym_PLUS] = ACTIONS(4646),
    [anon_sym_SLASH] = ACTIONS(4622),
    [anon_sym_PERCENT] = ACTIONS(4622),
    [sym_comment] = ACTIONS(110),
  },
  [3203] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(6291),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(1139),
    [sym_call] = STATE(1139),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(1140),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1141),
    [sym__variable] = STATE(1139),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(1822),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_yield] = ACTIONS(1828),
    [anon_sym_break] = ACTIONS(1830),
    [anon_sym_next] = ACTIONS(1832),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(1834),
    [anon_sym_defined_QMARK] = ACTIONS(1836),
    [anon_sym_not] = ACTIONS(1838),
    [anon_sym_BANG] = ACTIONS(1840),
    [anon_sym_TILDE] = ACTIONS(1840),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [3204] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(6292),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(1139),
    [sym_call] = STATE(1139),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(1140),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1141),
    [sym__variable] = STATE(1139),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(1822),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_yield] = ACTIONS(1828),
    [anon_sym_break] = ACTIONS(1830),
    [anon_sym_next] = ACTIONS(1832),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(1834),
    [anon_sym_defined_QMARK] = ACTIONS(1836),
    [anon_sym_not] = ACTIONS(1838),
    [anon_sym_BANG] = ACTIONS(1840),
    [anon_sym_TILDE] = ACTIONS(1840),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [3205] = {
    [anon_sym_DOT] = ACTIONS(8730),
    [anon_sym_COLON_COLON] = ACTIONS(8730),
    [sym_comment] = ACTIONS(110),
  },
  [3206] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(6294),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(1139),
    [sym_call] = STATE(1139),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(1140),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1141),
    [sym__variable] = STATE(1139),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(1822),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_yield] = ACTIONS(1828),
    [anon_sym_break] = ACTIONS(1830),
    [anon_sym_next] = ACTIONS(1832),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(1834),
    [anon_sym_defined_QMARK] = ACTIONS(1836),
    [anon_sym_not] = ACTIONS(1838),
    [anon_sym_BANG] = ACTIONS(1840),
    [anon_sym_TILDE] = ACTIONS(1840),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [3207] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(6295),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(1139),
    [sym_call] = STATE(1139),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(1140),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1141),
    [sym__variable] = STATE(1139),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(1822),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_yield] = ACTIONS(1828),
    [anon_sym_break] = ACTIONS(1830),
    [anon_sym_next] = ACTIONS(1832),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(1834),
    [anon_sym_defined_QMARK] = ACTIONS(1836),
    [anon_sym_not] = ACTIONS(1838),
    [anon_sym_BANG] = ACTIONS(1840),
    [anon_sym_TILDE] = ACTIONS(1840),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [3208] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(6296),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(1139),
    [sym_call] = STATE(1139),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(1140),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1141),
    [sym__variable] = STATE(1139),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(1822),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_yield] = ACTIONS(1828),
    [anon_sym_break] = ACTIONS(1830),
    [anon_sym_next] = ACTIONS(1832),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(1834),
    [anon_sym_defined_QMARK] = ACTIONS(1836),
    [anon_sym_not] = ACTIONS(1838),
    [anon_sym_BANG] = ACTIONS(1840),
    [anon_sym_TILDE] = ACTIONS(1840),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [3209] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(6297),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(1139),
    [sym_call] = STATE(1139),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(1140),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1141),
    [sym__variable] = STATE(1139),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(1822),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_yield] = ACTIONS(1828),
    [anon_sym_break] = ACTIONS(1830),
    [anon_sym_next] = ACTIONS(1832),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(1834),
    [anon_sym_defined_QMARK] = ACTIONS(1836),
    [anon_sym_not] = ACTIONS(1838),
    [anon_sym_BANG] = ACTIONS(1840),
    [anon_sym_TILDE] = ACTIONS(1840),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [3210] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(6298),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [3211] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(6299),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(1139),
    [sym_call] = STATE(1139),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(1140),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1141),
    [sym__variable] = STATE(1139),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(1822),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_yield] = ACTIONS(1828),
    [anon_sym_break] = ACTIONS(1830),
    [anon_sym_next] = ACTIONS(1832),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(1834),
    [anon_sym_defined_QMARK] = ACTIONS(1836),
    [anon_sym_not] = ACTIONS(1838),
    [anon_sym_BANG] = ACTIONS(1840),
    [anon_sym_TILDE] = ACTIONS(1840),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [3212] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(6300),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(1139),
    [sym_call] = STATE(1139),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(1140),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1141),
    [sym__variable] = STATE(1139),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(1822),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_yield] = ACTIONS(1828),
    [anon_sym_break] = ACTIONS(1830),
    [anon_sym_next] = ACTIONS(1832),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(1834),
    [anon_sym_defined_QMARK] = ACTIONS(1836),
    [anon_sym_not] = ACTIONS(1838),
    [anon_sym_BANG] = ACTIONS(1840),
    [anon_sym_TILDE] = ACTIONS(1840),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [3213] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(6301),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(1139),
    [sym_call] = STATE(1139),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(1140),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1141),
    [sym__variable] = STATE(1139),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(1822),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_yield] = ACTIONS(1828),
    [anon_sym_break] = ACTIONS(1830),
    [anon_sym_next] = ACTIONS(1832),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(1834),
    [anon_sym_defined_QMARK] = ACTIONS(1836),
    [anon_sym_not] = ACTIONS(1838),
    [anon_sym_BANG] = ACTIONS(1840),
    [anon_sym_TILDE] = ACTIONS(1840),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [3214] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(6302),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(1139),
    [sym_call] = STATE(1139),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(1140),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1141),
    [sym__variable] = STATE(1139),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(1822),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_yield] = ACTIONS(1828),
    [anon_sym_break] = ACTIONS(1830),
    [anon_sym_next] = ACTIONS(1832),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(1834),
    [anon_sym_defined_QMARK] = ACTIONS(1836),
    [anon_sym_not] = ACTIONS(1838),
    [anon_sym_BANG] = ACTIONS(1840),
    [anon_sym_TILDE] = ACTIONS(1840),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [3215] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(6303),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(1139),
    [sym_call] = STATE(1139),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(1140),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1141),
    [sym__variable] = STATE(1139),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(1822),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_yield] = ACTIONS(1828),
    [anon_sym_break] = ACTIONS(1830),
    [anon_sym_next] = ACTIONS(1832),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(1834),
    [anon_sym_defined_QMARK] = ACTIONS(1836),
    [anon_sym_not] = ACTIONS(1838),
    [anon_sym_BANG] = ACTIONS(1840),
    [anon_sym_TILDE] = ACTIONS(1840),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [3216] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(501),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(6305),
    [sym__argument] = STATE(506),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(509),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(510),
    [sym__variable] = STATE(504),
    [sym_reserved_identifier] = STATE(511),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(512),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(6306),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(804),
    [sym__splat_star] = ACTIONS(806),
    [sym__unary_minus] = ACTIONS(808),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(818),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(824),
    [anon_sym_yield] = ACTIONS(826),
    [anon_sym_break] = ACTIONS(828),
    [anon_sym_next] = ACTIONS(830),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_RBRACK] = ACTIONS(8732),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(852),
    [anon_sym_defined_QMARK] = ACTIONS(854),
    [anon_sym_not] = ACTIONS(856),
    [anon_sym_BANG] = ACTIONS(858),
    [anon_sym_TILDE] = ACTIONS(858),
    [sym_constant] = ACTIONS(860),
    [sym_identifier] = ACTIONS(860),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3217] = {
    [sym_constant] = ACTIONS(8734),
    [sym_identifier] = ACTIONS(8734),
    [sym_comment] = ACTIONS(110),
  },
  [3218] = {
    [sym_argument_list_with_parens] = STATE(6310),
    [sym__argument_list_with_parens] = STATE(6311),
    [sym_operator] = STATE(6310),
    [sym__argument_list_left_paren] = ACTIONS(8736),
    [anon_sym_PIPE] = ACTIONS(8738),
    [anon_sym_STAR] = ACTIONS(8740),
    [anon_sym_STAR_STAR] = ACTIONS(8738),
    [anon_sym_AMP] = ACTIONS(8738),
    [anon_sym_LT] = ACTIONS(8740),
    [anon_sym_DOT_DOT] = ACTIONS(8738),
    [anon_sym_LT_LT] = ACTIONS(8738),
    [anon_sym_GT_GT] = ACTIONS(8738),
    [anon_sym_EQ_EQ] = ACTIONS(8740),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8738),
    [anon_sym_LT_EQ_GT] = ACTIONS(8738),
    [anon_sym_EQ_TILDE] = ACTIONS(8738),
    [anon_sym_BANG_TILDE] = ACTIONS(8738),
    [anon_sym_LT_EQ] = ACTIONS(8740),
    [anon_sym_GT] = ACTIONS(8740),
    [anon_sym_GT_EQ] = ACTIONS(8738),
    [anon_sym_CARET] = ACTIONS(8738),
    [anon_sym_PLUS] = ACTIONS(8740),
    [anon_sym_SLASH] = ACTIONS(8738),
    [anon_sym_PERCENT] = ACTIONS(8738),
    [anon_sym_BANG] = ACTIONS(8740),
    [anon_sym_TILDE] = ACTIONS(8738),
    [sym_constant] = ACTIONS(8742),
    [sym_identifier] = ACTIONS(8742),
    [anon_sym_DASH] = ACTIONS(8740),
    [anon_sym_PLUS_AT] = ACTIONS(8738),
    [anon_sym_DASH_AT] = ACTIONS(8738),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(8740),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(8738),
    [anon_sym_BQUOTE] = ACTIONS(8738),
    [sym_comment] = ACTIONS(110),
  },
  [3219] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(6320),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6321),
    [sym_call] = STATE(6321),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(6322),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6323),
    [sym__variable] = STATE(6321),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(8744),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(8746),
    [anon_sym_yield] = ACTIONS(8748),
    [anon_sym_break] = ACTIONS(8750),
    [anon_sym_next] = ACTIONS(8752),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(8754),
    [anon_sym_defined_QMARK] = ACTIONS(8756),
    [anon_sym_not] = ACTIONS(8758),
    [anon_sym_BANG] = ACTIONS(8760),
    [anon_sym_TILDE] = ACTIONS(8760),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [3220] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(6324),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6321),
    [sym_call] = STATE(6321),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(6322),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6323),
    [sym__variable] = STATE(6321),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(8744),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(8746),
    [anon_sym_yield] = ACTIONS(8748),
    [anon_sym_break] = ACTIONS(8750),
    [anon_sym_next] = ACTIONS(8752),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(8754),
    [anon_sym_defined_QMARK] = ACTIONS(8756),
    [anon_sym_not] = ACTIONS(8758),
    [anon_sym_BANG] = ACTIONS(8760),
    [anon_sym_TILDE] = ACTIONS(8760),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [3221] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(6329),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(3239),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3240),
    [sym__variable] = STATE(3235),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(4660),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(8762),
    [anon_sym_yield] = ACTIONS(8764),
    [anon_sym_break] = ACTIONS(8766),
    [anon_sym_next] = ACTIONS(8768),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(8770),
    [anon_sym_defined_QMARK] = ACTIONS(4674),
    [anon_sym_not] = ACTIONS(8772),
    [anon_sym_BANG] = ACTIONS(4680),
    [anon_sym_TILDE] = ACTIONS(4680),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [3222] = {
    [sym__statements] = STATE(6330),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(6331),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2128),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_hash_splat_argument] = STATE(197),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(2130),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2131),
    [sym__variable] = STATE(2129),
    [sym_reserved_identifier] = STATE(201),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(2132),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(3090),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym__hash_items] = STATE(3091),
    [sym_pair] = STATE(205),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3268),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(4494),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_PIPE] = ACTIONS(3048),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(302),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(3272),
    [anon_sym_yield] = ACTIONS(3274),
    [anon_sym_break] = ACTIONS(3276),
    [anon_sym_next] = ACTIONS(3278),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(3280),
    [anon_sym_defined_QMARK] = ACTIONS(3282),
    [anon_sym_not] = ACTIONS(3284),
    [anon_sym_BANG] = ACTIONS(3286),
    [anon_sym_TILDE] = ACTIONS(3286),
    [sym_constant] = ACTIONS(3288),
    [sym_identifier] = ACTIONS(3288),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(3290),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(3292),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3223] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(6332),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6321),
    [sym_call] = STATE(6321),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(6322),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6323),
    [sym__variable] = STATE(6321),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(8744),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(8746),
    [anon_sym_yield] = ACTIONS(8748),
    [anon_sym_break] = ACTIONS(8750),
    [anon_sym_next] = ACTIONS(8752),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(8754),
    [anon_sym_defined_QMARK] = ACTIONS(8756),
    [anon_sym_not] = ACTIONS(8758),
    [anon_sym_BANG] = ACTIONS(8760),
    [anon_sym_TILDE] = ACTIONS(8760),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [3224] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(3716),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(3104),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(3717),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(3239),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3240),
    [sym__variable] = STATE(3235),
    [sym_reserved_identifier] = STATE(3718),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3719),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(5414),
    [sym__splat_star] = ACTIONS(5416),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(4660),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_RPAREN] = ACTIONS(532),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(544),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(4664),
    [anon_sym_yield] = ACTIONS(4666),
    [anon_sym_break] = ACTIONS(4668),
    [anon_sym_next] = ACTIONS(4670),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_PLUS_EQ] = ACTIONS(532),
    [anon_sym_DASH_EQ] = ACTIONS(532),
    [anon_sym_STAR_EQ] = ACTIONS(532),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(532),
    [anon_sym_SLASH_EQ] = ACTIONS(532),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(532),
    [anon_sym_PIPE_EQ] = ACTIONS(532),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(532),
    [anon_sym_AMP_EQ] = ACTIONS(532),
    [anon_sym_PERCENT_EQ] = ACTIONS(532),
    [anon_sym_GT_GT_EQ] = ACTIONS(532),
    [anon_sym_LT_LT_EQ] = ACTIONS(532),
    [anon_sym_CARET_EQ] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(544),
    [anon_sym_AMP_AMP] = ACTIONS(544),
    [anon_sym_LT_LT] = ACTIONS(544),
    [anon_sym_GT_GT] = ACTIONS(544),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(544),
    [anon_sym_PERCENT] = ACTIONS(544),
    [anon_sym_defined_QMARK] = ACTIONS(4674),
    [anon_sym_not] = ACTIONS(4676),
    [anon_sym_BANG] = ACTIONS(4678),
    [anon_sym_TILDE] = ACTIONS(4680),
    [sym_constant] = ACTIONS(5418),
    [sym_identifier] = ACTIONS(5418),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [3225] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(3716),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(3105),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(3717),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(3239),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3240),
    [sym__variable] = STATE(3235),
    [sym_reserved_identifier] = STATE(3718),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3719),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(5414),
    [sym__splat_star] = ACTIONS(5416),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(4660),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_RPAREN] = ACTIONS(602),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(604),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(4664),
    [anon_sym_yield] = ACTIONS(4666),
    [anon_sym_break] = ACTIONS(4668),
    [anon_sym_next] = ACTIONS(4670),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_PLUS_EQ] = ACTIONS(602),
    [anon_sym_DASH_EQ] = ACTIONS(602),
    [anon_sym_STAR_EQ] = ACTIONS(602),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(602),
    [anon_sym_SLASH_EQ] = ACTIONS(602),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(602),
    [anon_sym_PIPE_EQ] = ACTIONS(602),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(602),
    [anon_sym_AMP_EQ] = ACTIONS(602),
    [anon_sym_PERCENT_EQ] = ACTIONS(602),
    [anon_sym_GT_GT_EQ] = ACTIONS(602),
    [anon_sym_LT_LT_EQ] = ACTIONS(602),
    [anon_sym_CARET_EQ] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(604),
    [anon_sym_AMP_AMP] = ACTIONS(604),
    [anon_sym_LT_LT] = ACTIONS(604),
    [anon_sym_GT_GT] = ACTIONS(604),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(604),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(604),
    [anon_sym_PERCENT] = ACTIONS(604),
    [anon_sym_defined_QMARK] = ACTIONS(4674),
    [anon_sym_not] = ACTIONS(4676),
    [anon_sym_BANG] = ACTIONS(4678),
    [anon_sym_TILDE] = ACTIONS(4680),
    [sym_constant] = ACTIONS(5418),
    [sym_identifier] = ACTIONS(5418),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [3226] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(3716),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(3106),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(3717),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(3239),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3240),
    [sym__variable] = STATE(3235),
    [sym_reserved_identifier] = STATE(3718),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3719),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(5414),
    [sym__splat_star] = ACTIONS(5416),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(4660),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_RPAREN] = ACTIONS(606),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(608),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(4664),
    [anon_sym_yield] = ACTIONS(4666),
    [anon_sym_break] = ACTIONS(4668),
    [anon_sym_next] = ACTIONS(4670),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_PLUS_EQ] = ACTIONS(606),
    [anon_sym_DASH_EQ] = ACTIONS(606),
    [anon_sym_STAR_EQ] = ACTIONS(606),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(606),
    [anon_sym_SLASH_EQ] = ACTIONS(606),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(606),
    [anon_sym_PIPE_EQ] = ACTIONS(606),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(606),
    [anon_sym_AMP_EQ] = ACTIONS(606),
    [anon_sym_PERCENT_EQ] = ACTIONS(606),
    [anon_sym_GT_GT_EQ] = ACTIONS(606),
    [anon_sym_LT_LT_EQ] = ACTIONS(606),
    [anon_sym_CARET_EQ] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(608),
    [anon_sym_AMP_AMP] = ACTIONS(608),
    [anon_sym_LT_LT] = ACTIONS(608),
    [anon_sym_GT_GT] = ACTIONS(608),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(608),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(608),
    [anon_sym_PERCENT] = ACTIONS(608),
    [anon_sym_defined_QMARK] = ACTIONS(4674),
    [anon_sym_not] = ACTIONS(4676),
    [anon_sym_BANG] = ACTIONS(4678),
    [anon_sym_TILDE] = ACTIONS(4680),
    [sym_constant] = ACTIONS(5418),
    [sym_identifier] = ACTIONS(5418),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [3227] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(3716),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(3107),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(3717),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(3239),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3240),
    [sym__variable] = STATE(3235),
    [sym_reserved_identifier] = STATE(3718),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3719),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(5414),
    [sym__splat_star] = ACTIONS(5416),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(4660),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_RPAREN] = ACTIONS(610),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(612),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(4664),
    [anon_sym_yield] = ACTIONS(4666),
    [anon_sym_break] = ACTIONS(4668),
    [anon_sym_next] = ACTIONS(4670),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_PLUS_EQ] = ACTIONS(610),
    [anon_sym_DASH_EQ] = ACTIONS(610),
    [anon_sym_STAR_EQ] = ACTIONS(610),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(610),
    [anon_sym_SLASH_EQ] = ACTIONS(610),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(610),
    [anon_sym_PIPE_EQ] = ACTIONS(610),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(610),
    [anon_sym_AMP_EQ] = ACTIONS(610),
    [anon_sym_PERCENT_EQ] = ACTIONS(610),
    [anon_sym_GT_GT_EQ] = ACTIONS(610),
    [anon_sym_LT_LT_EQ] = ACTIONS(610),
    [anon_sym_CARET_EQ] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(612),
    [anon_sym_AMP_AMP] = ACTIONS(612),
    [anon_sym_LT_LT] = ACTIONS(612),
    [anon_sym_GT_GT] = ACTIONS(612),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(612),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(612),
    [anon_sym_PERCENT] = ACTIONS(612),
    [anon_sym_defined_QMARK] = ACTIONS(4674),
    [anon_sym_not] = ACTIONS(4676),
    [anon_sym_BANG] = ACTIONS(4678),
    [anon_sym_TILDE] = ACTIONS(4680),
    [sym_constant] = ACTIONS(5418),
    [sym_identifier] = ACTIONS(5418),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [3228] = {
    [sym__statements] = STATE(6334),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(6335),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1981),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(6336),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(3076),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(3078),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(3080),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(8774),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(3086),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3229] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(6337),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(3239),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3240),
    [sym__variable] = STATE(3235),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(4660),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(8762),
    [anon_sym_yield] = ACTIONS(8764),
    [anon_sym_break] = ACTIONS(8766),
    [anon_sym_next] = ACTIONS(8768),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(8770),
    [anon_sym_defined_QMARK] = ACTIONS(4674),
    [anon_sym_not] = ACTIONS(8772),
    [anon_sym_BANG] = ACTIONS(4680),
    [anon_sym_TILDE] = ACTIONS(4680),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [3230] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(6338),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(3239),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3240),
    [sym__variable] = STATE(3235),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(4660),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(8762),
    [anon_sym_yield] = ACTIONS(8764),
    [anon_sym_break] = ACTIONS(8766),
    [anon_sym_next] = ACTIONS(8768),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(8770),
    [anon_sym_defined_QMARK] = ACTIONS(4674),
    [anon_sym_not] = ACTIONS(8772),
    [anon_sym_BANG] = ACTIONS(4680),
    [anon_sym_TILDE] = ACTIONS(4680),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [3231] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(6338),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(3239),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3240),
    [sym__variable] = STATE(3235),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(4660),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(8762),
    [anon_sym_yield] = ACTIONS(8764),
    [anon_sym_break] = ACTIONS(8766),
    [anon_sym_next] = ACTIONS(8768),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(8770),
    [anon_sym_defined_QMARK] = ACTIONS(4674),
    [anon_sym_not] = ACTIONS(8772),
    [anon_sym_BANG] = ACTIONS(4680),
    [anon_sym_TILDE] = ACTIONS(4680),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [3232] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(3125),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(3239),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3240),
    [sym__variable] = STATE(3235),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(4660),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(8762),
    [anon_sym_yield] = ACTIONS(8764),
    [anon_sym_break] = ACTIONS(8766),
    [anon_sym_next] = ACTIONS(8768),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(8770),
    [anon_sym_defined_QMARK] = ACTIONS(4674),
    [anon_sym_not] = ACTIONS(8772),
    [anon_sym_BANG] = ACTIONS(4680),
    [anon_sym_TILDE] = ACTIONS(4680),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [3233] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(8776),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_RPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [3234] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(8778),
    [sym__binary_star] = ACTIONS(8780),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_RPAREN] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(8782),
    [anon_sym_STAR_STAR] = ACTIONS(8784),
    [anon_sym_AMP] = ACTIONS(8786),
    [anon_sym_EQ] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(8788),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(8776),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_PLUS_EQ] = ACTIONS(2210),
    [anon_sym_DASH_EQ] = ACTIONS(2210),
    [anon_sym_STAR_EQ] = ACTIONS(2210),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2210),
    [anon_sym_SLASH_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2210),
    [anon_sym_AMP_EQ] = ACTIONS(2210),
    [anon_sym_PERCENT_EQ] = ACTIONS(2210),
    [anon_sym_GT_GT_EQ] = ACTIONS(2210),
    [anon_sym_LT_LT_EQ] = ACTIONS(2210),
    [anon_sym_CARET_EQ] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(8790),
    [anon_sym_DOT_DOT] = ACTIONS(8792),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8794),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(8796),
    [anon_sym_AMP_AMP] = ACTIONS(8796),
    [anon_sym_LT_LT] = ACTIONS(8798),
    [anon_sym_GT_GT] = ACTIONS(8798),
    [anon_sym_EQ_EQ] = ACTIONS(8796),
    [anon_sym_BANG_EQ] = ACTIONS(8800),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8800),
    [anon_sym_LT_EQ_GT] = ACTIONS(8800),
    [anon_sym_EQ_TILDE] = ACTIONS(8800),
    [anon_sym_BANG_TILDE] = ACTIONS(8800),
    [anon_sym_LT_EQ] = ACTIONS(8788),
    [anon_sym_GT] = ACTIONS(8788),
    [anon_sym_GT_EQ] = ACTIONS(8802),
    [anon_sym_CARET] = ACTIONS(8782),
    [anon_sym_PLUS] = ACTIONS(8804),
    [anon_sym_SLASH] = ACTIONS(8784),
    [anon_sym_PERCENT] = ACTIONS(8784),
    [sym_comment] = ACTIONS(256),
  },
  [3235] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(3716),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(3147),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(3717),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_do_block] = STATE(1952),
    [sym_block] = STATE(1952),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(3239),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3240),
    [sym__variable] = STATE(3235),
    [sym_reserved_identifier] = STATE(3718),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3719),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(5414),
    [sym__splat_star] = ACTIONS(5416),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(4660),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(3012),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_RPAREN] = ACTIONS(980),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(4664),
    [anon_sym_yield] = ACTIONS(4666),
    [anon_sym_break] = ACTIONS(4668),
    [anon_sym_next] = ACTIONS(4670),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(982),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(980),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(4674),
    [anon_sym_not] = ACTIONS(4676),
    [anon_sym_BANG] = ACTIONS(4678),
    [anon_sym_TILDE] = ACTIONS(4680),
    [sym_constant] = ACTIONS(5418),
    [sym_identifier] = ACTIONS(5418),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [3236] = {
    [sym_do_block] = STATE(6354),
    [sym_block] = STATE(6354),
    [sym__element_reference_left_bracket] = ACTIONS(3346),
    [sym__scope_double_colon] = ACTIONS(3346),
    [sym__binary_minus] = ACTIONS(3346),
    [sym__binary_star] = ACTIONS(3346),
    [anon_sym_LBRACE] = ACTIONS(8806),
    [anon_sym_RPAREN] = ACTIONS(3346),
    [anon_sym_DOT] = ACTIONS(3350),
    [anon_sym_COMMA] = ACTIONS(3346),
    [anon_sym_PIPE] = ACTIONS(3350),
    [anon_sym_SEMI] = ACTIONS(3346),
    [anon_sym_STAR_STAR] = ACTIONS(3350),
    [anon_sym_AMP] = ACTIONS(3350),
    [anon_sym_EQ] = ACTIONS(3350),
    [anon_sym_LT] = ACTIONS(3350),
    [anon_sym_do] = ACTIONS(8808),
    [anon_sym_AMP_DOT] = ACTIONS(3346),
    [anon_sym_PLUS_EQ] = ACTIONS(3346),
    [anon_sym_DASH_EQ] = ACTIONS(3346),
    [anon_sym_STAR_EQ] = ACTIONS(3346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3346),
    [anon_sym_SLASH_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3346),
    [anon_sym_AMP_EQ] = ACTIONS(3346),
    [anon_sym_PERCENT_EQ] = ACTIONS(3346),
    [anon_sym_GT_GT_EQ] = ACTIONS(3346),
    [anon_sym_LT_LT_EQ] = ACTIONS(3346),
    [anon_sym_CARET_EQ] = ACTIONS(3346),
    [anon_sym_QMARK] = ACTIONS(3346),
    [anon_sym_COLON] = ACTIONS(3346),
    [anon_sym_DOT_DOT] = ACTIONS(3350),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3346),
    [anon_sym_and] = ACTIONS(3346),
    [anon_sym_or] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE] = ACTIONS(3350),
    [anon_sym_AMP_AMP] = ACTIONS(3350),
    [anon_sym_LT_LT] = ACTIONS(3350),
    [anon_sym_GT_GT] = ACTIONS(3350),
    [anon_sym_EQ_EQ] = ACTIONS(3350),
    [anon_sym_BANG_EQ] = ACTIONS(3346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3346),
    [anon_sym_LT_EQ_GT] = ACTIONS(3346),
    [anon_sym_EQ_TILDE] = ACTIONS(3346),
    [anon_sym_BANG_TILDE] = ACTIONS(3346),
    [anon_sym_LT_EQ] = ACTIONS(3350),
    [anon_sym_GT] = ACTIONS(3350),
    [anon_sym_GT_EQ] = ACTIONS(3346),
    [anon_sym_CARET] = ACTIONS(3350),
    [anon_sym_PLUS] = ACTIONS(3350),
    [anon_sym_SLASH] = ACTIONS(3350),
    [anon_sym_PERCENT] = ACTIONS(3350),
    [sym_comment] = ACTIONS(256),
  },
  [3237] = {
    [sym_heredoc_end] = STATE(6092),
    [aux_sym_argument_list_repeat1] = STATE(6356),
    [aux_sym_argument_list_repeat2] = STATE(6093),
    [sym__simple_heredoc_body] = ACTIONS(8530),
    [sym__heredoc_body_beginning] = ACTIONS(8532),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_RPAREN] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(8810),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_STAR_STAR] = ACTIONS(2274),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_EQ] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_PLUS_EQ] = ACTIONS(2272),
    [anon_sym_DASH_EQ] = ACTIONS(2272),
    [anon_sym_STAR_EQ] = ACTIONS(2272),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2272),
    [anon_sym_SLASH_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2272),
    [anon_sym_AMP_EQ] = ACTIONS(2272),
    [anon_sym_PERCENT_EQ] = ACTIONS(2272),
    [anon_sym_GT_GT_EQ] = ACTIONS(2272),
    [anon_sym_LT_LT_EQ] = ACTIONS(2272),
    [anon_sym_CARET_EQ] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2274),
    [anon_sym_AMP_AMP] = ACTIONS(2274),
    [anon_sym_LT_LT] = ACTIONS(2274),
    [anon_sym_GT_GT] = ACTIONS(2274),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2274),
    [anon_sym_PLUS] = ACTIONS(2274),
    [anon_sym_SLASH] = ACTIONS(2274),
    [anon_sym_PERCENT] = ACTIONS(2274),
    [sym_comment] = ACTIONS(256),
  },
  [3238] = {
    [sym__element_reference_left_bracket] = ACTIONS(3346),
    [sym__scope_double_colon] = ACTIONS(3346),
    [sym__binary_minus] = ACTIONS(3346),
    [sym__binary_star] = ACTIONS(3346),
    [anon_sym_LBRACE] = ACTIONS(3346),
    [anon_sym_RPAREN] = ACTIONS(3346),
    [anon_sym_DOT] = ACTIONS(3350),
    [anon_sym_COMMA] = ACTIONS(3346),
    [anon_sym_PIPE] = ACTIONS(3350),
    [anon_sym_SEMI] = ACTIONS(3346),
    [anon_sym_STAR_STAR] = ACTIONS(3350),
    [anon_sym_AMP] = ACTIONS(3350),
    [anon_sym_EQ] = ACTIONS(3350),
    [anon_sym_LT] = ACTIONS(3350),
    [anon_sym_do] = ACTIONS(3346),
    [anon_sym_AMP_DOT] = ACTIONS(3346),
    [anon_sym_PLUS_EQ] = ACTIONS(3346),
    [anon_sym_DASH_EQ] = ACTIONS(3346),
    [anon_sym_STAR_EQ] = ACTIONS(3346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3346),
    [anon_sym_SLASH_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3346),
    [anon_sym_AMP_EQ] = ACTIONS(3346),
    [anon_sym_PERCENT_EQ] = ACTIONS(3346),
    [anon_sym_GT_GT_EQ] = ACTIONS(3346),
    [anon_sym_LT_LT_EQ] = ACTIONS(3346),
    [anon_sym_CARET_EQ] = ACTIONS(3346),
    [anon_sym_QMARK] = ACTIONS(3346),
    [anon_sym_COLON] = ACTIONS(3346),
    [anon_sym_DOT_DOT] = ACTIONS(3350),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3346),
    [anon_sym_and] = ACTIONS(3346),
    [anon_sym_or] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE] = ACTIONS(3350),
    [anon_sym_AMP_AMP] = ACTIONS(3350),
    [anon_sym_LT_LT] = ACTIONS(3350),
    [anon_sym_GT_GT] = ACTIONS(3350),
    [anon_sym_EQ_EQ] = ACTIONS(3350),
    [anon_sym_BANG_EQ] = ACTIONS(3346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3346),
    [anon_sym_LT_EQ_GT] = ACTIONS(3346),
    [anon_sym_EQ_TILDE] = ACTIONS(3346),
    [anon_sym_BANG_TILDE] = ACTIONS(3346),
    [anon_sym_LT_EQ] = ACTIONS(3350),
    [anon_sym_GT] = ACTIONS(3350),
    [anon_sym_GT_EQ] = ACTIONS(3346),
    [anon_sym_CARET] = ACTIONS(3350),
    [anon_sym_PLUS] = ACTIONS(3350),
    [anon_sym_SLASH] = ACTIONS(3350),
    [anon_sym_PERCENT] = ACTIONS(3350),
    [sym_comment] = ACTIONS(256),
  },
  [3239] = {
    [anon_sym_EQ] = ACTIONS(8812),
    [sym_comment] = ACTIONS(256),
  },
  [3240] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_RPAREN] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(8814),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(8816),
    [anon_sym_DASH_EQ] = ACTIONS(8816),
    [anon_sym_STAR_EQ] = ACTIONS(8816),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8816),
    [anon_sym_SLASH_EQ] = ACTIONS(8816),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8816),
    [anon_sym_PIPE_EQ] = ACTIONS(8816),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8816),
    [anon_sym_AMP_EQ] = ACTIONS(8816),
    [anon_sym_PERCENT_EQ] = ACTIONS(8816),
    [anon_sym_GT_GT_EQ] = ACTIONS(8816),
    [anon_sym_LT_LT_EQ] = ACTIONS(8816),
    [anon_sym_CARET_EQ] = ACTIONS(8816),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [3241] = {
    [sym__keyword_colon] = ACTIONS(8818),
    [sym_comment] = ACTIONS(110),
  },
  [3242] = {
    [sym_string] = STATE(3160),
    [aux_sym_chained_string_repeat1] = STATE(3161),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(8776),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_RPAREN] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(4490),
  },
  [3243] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(6365),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(1139),
    [sym_call] = STATE(1139),
    [sym_method_call] = STATE(1138),
    [sym_splat_argument] = STATE(3168),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_right_assignment_list] = STATE(3169),
    [sym__arg_or_splat_arg] = STATE(6366),
    [sym_left_assignment_list] = STATE(6367),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6368),
    [sym__variable] = STATE(1139),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__splat_star] = ACTIONS(8820),
    [sym__unary_minus] = ACTIONS(8822),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_yield] = ACTIONS(1828),
    [anon_sym_break] = ACTIONS(1830),
    [anon_sym_next] = ACTIONS(1832),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(8824),
    [anon_sym_defined_QMARK] = ACTIONS(8826),
    [anon_sym_not] = ACTIONS(8828),
    [anon_sym_BANG] = ACTIONS(8830),
    [anon_sym_TILDE] = ACTIONS(8830),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [3244] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(6369),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(1139),
    [sym_call] = STATE(1139),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(1140),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1141),
    [sym__variable] = STATE(1139),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(1822),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_yield] = ACTIONS(1828),
    [anon_sym_break] = ACTIONS(1830),
    [anon_sym_next] = ACTIONS(1832),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(1834),
    [anon_sym_defined_QMARK] = ACTIONS(1836),
    [anon_sym_not] = ACTIONS(1838),
    [anon_sym_BANG] = ACTIONS(1840),
    [anon_sym_TILDE] = ACTIONS(1840),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [3245] = {
    [sym__simple_heredoc_body] = ACTIONS(1860),
    [sym__heredoc_body_beginning] = ACTIONS(1860),
    [sym__line_break] = ACTIONS(1860),
    [anon_sym_LPAREN] = ACTIONS(1860),
    [anon_sym_SEMI] = ACTIONS(1860),
    [anon_sym_STAR] = ACTIONS(1862),
    [anon_sym_STAR_STAR] = ACTIONS(1860),
    [anon_sym_AMP] = ACTIONS(1860),
    [anon_sym_EQ] = ACTIONS(1864),
    [sym_identifier] = ACTIONS(1862),
    [sym_comment] = ACTIONS(256),
  },
  [3246] = {
    [sym__simple_heredoc_body] = ACTIONS(8832),
    [sym__heredoc_body_beginning] = ACTIONS(8832),
    [sym__line_break] = ACTIONS(8832),
    [sym__element_reference_left_bracket] = ACTIONS(8832),
    [sym__scope_double_colon] = ACTIONS(8832),
    [sym__binary_minus] = ACTIONS(8832),
    [sym__binary_star] = ACTIONS(8832),
    [ts_builtin_sym_end] = ACTIONS(8832),
    [anon_sym___END__] = ACTIONS(8832),
    [anon_sym_LBRACE] = ACTIONS(8832),
    [anon_sym_RBRACE] = ACTIONS(8832),
    [anon_sym_RPAREN] = ACTIONS(8832),
    [anon_sym_DOT] = ACTIONS(8834),
    [anon_sym_end] = ACTIONS(8832),
    [anon_sym_COMMA] = ACTIONS(8832),
    [anon_sym_PIPE] = ACTIONS(8834),
    [anon_sym_SEMI] = ACTIONS(8832),
    [anon_sym_STAR_STAR] = ACTIONS(8832),
    [anon_sym_AMP] = ACTIONS(8834),
    [anon_sym_LT] = ACTIONS(8834),
    [anon_sym_if] = ACTIONS(8832),
    [anon_sym_unless] = ACTIONS(8832),
    [anon_sym_while] = ACTIONS(8832),
    [anon_sym_until] = ACTIONS(8832),
    [anon_sym_rescue] = ACTIONS(8832),
    [anon_sym_do] = ACTIONS(8832),
    [anon_sym_when] = ACTIONS(8832),
    [anon_sym_elsif] = ACTIONS(8832),
    [anon_sym_else] = ACTIONS(8832),
    [anon_sym_then] = ACTIONS(8832),
    [anon_sym_ensure] = ACTIONS(8832),
    [anon_sym_EQ_GT] = ACTIONS(8832),
    [anon_sym_AMP_DOT] = ACTIONS(8832),
    [anon_sym_QMARK] = ACTIONS(8832),
    [anon_sym_DOT_DOT] = ACTIONS(8834),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8832),
    [anon_sym_and] = ACTIONS(8832),
    [anon_sym_or] = ACTIONS(8832),
    [anon_sym_PIPE_PIPE] = ACTIONS(8832),
    [anon_sym_AMP_AMP] = ACTIONS(8832),
    [anon_sym_LT_LT] = ACTIONS(8832),
    [anon_sym_GT_GT] = ACTIONS(8832),
    [anon_sym_EQ_EQ] = ACTIONS(8834),
    [anon_sym_BANG_EQ] = ACTIONS(8832),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8832),
    [anon_sym_LT_EQ_GT] = ACTIONS(8832),
    [anon_sym_EQ_TILDE] = ACTIONS(8832),
    [anon_sym_BANG_TILDE] = ACTIONS(8832),
    [anon_sym_LT_EQ] = ACTIONS(8834),
    [anon_sym_GT] = ACTIONS(8834),
    [anon_sym_GT_EQ] = ACTIONS(8832),
    [anon_sym_CARET] = ACTIONS(8832),
    [anon_sym_PLUS] = ACTIONS(8832),
    [anon_sym_SLASH] = ACTIONS(8832),
    [anon_sym_PERCENT] = ACTIONS(8832),
    [sym_comment] = ACTIONS(110),
  },
  [3247] = {
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(6370),
    [sym__simple_string] = ACTIONS(8836),
    [sym__simple_symbol] = ACTIONS(8836),
    [sym__simple_subshell] = ACTIONS(8836),
    [sym__simple_regex] = ACTIONS(8836),
    [sym__simple_word_list] = ACTIONS(8836),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(8836),
    [sym__symbol_beginning] = ACTIONS(8836),
    [sym__subshell_beginning] = ACTIONS(8836),
    [sym__regex_beginning] = ACTIONS(8836),
    [sym__word_list_beginning] = ACTIONS(8836),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(8836),
    [sym__line_break] = ACTIONS(692),
    [sym__unary_minus] = ACTIONS(8836),
    [anon_sym_BEGIN] = ACTIONS(8838),
    [anon_sym_LBRACE] = ACTIONS(8836),
    [anon_sym_END] = ACTIONS(8838),
    [anon_sym_def] = ACTIONS(8838),
    [anon_sym_LPAREN] = ACTIONS(8836),
    [anon_sym_COLON_COLON] = ACTIONS(8836),
    [anon_sym_end] = ACTIONS(8838),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(8836),
    [anon_sym_class] = ACTIONS(8838),
    [anon_sym_module] = ACTIONS(8838),
    [anon_sym_return] = ACTIONS(8838),
    [anon_sym_yield] = ACTIONS(8838),
    [anon_sym_break] = ACTIONS(8838),
    [anon_sym_next] = ACTIONS(8838),
    [anon_sym_redo] = ACTIONS(8838),
    [anon_sym_retry] = ACTIONS(8838),
    [anon_sym_if] = ACTIONS(8838),
    [anon_sym_unless] = ACTIONS(8838),
    [anon_sym_while] = ACTIONS(8838),
    [anon_sym_until] = ACTIONS(8838),
    [anon_sym_rescue] = ACTIONS(8838),
    [anon_sym_for] = ACTIONS(8838),
    [anon_sym_case] = ACTIONS(8838),
    [anon_sym_else] = ACTIONS(8838),
    [anon_sym_begin] = ACTIONS(8838),
    [anon_sym_ensure] = ACTIONS(8838),
    [anon_sym_PLUS] = ACTIONS(8838),
    [anon_sym_defined_QMARK] = ACTIONS(8836),
    [anon_sym_not] = ACTIONS(8838),
    [anon_sym_BANG] = ACTIONS(8836),
    [anon_sym_TILDE] = ACTIONS(8836),
    [sym_constant] = ACTIONS(8840),
    [sym_identifier] = ACTIONS(8840),
    [sym_instance_variable] = ACTIONS(8838),
    [sym_class_variable] = ACTIONS(8838),
    [sym_global_variable] = ACTIONS(8838),
    [anon_sym_alias] = ACTIONS(8838),
    [anon_sym_false] = ACTIONS(8838),
    [anon_sym_nil] = ACTIONS(8838),
    [anon_sym_self] = ACTIONS(8838),
    [anon_sym_super] = ACTIONS(8838),
    [anon_sym_true] = ACTIONS(8838),
    [anon_sym_undef] = ACTIONS(8838),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8838),
    [sym_float] = ACTIONS(8840),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8836),
    [anon_sym_TRUE] = ACTIONS(8838),
    [anon_sym_FALSE] = ACTIONS(8838),
    [anon_sym_NIL] = ACTIONS(8838),
    [sym_keyword__FILE__] = ACTIONS(8838),
    [sym_keyword__LINE__] = ACTIONS(8838),
    [sym_keyword__ENCODING__] = ACTIONS(8838),
    [sym__character_literal] = ACTIONS(8838),
    [anon_sym_LBRACK] = ACTIONS(8836),
    [anon_sym_DASH_GT] = ACTIONS(8836),
  },
  [3248] = {
    [aux_sym_method_parameters_repeat1] = STATE(6372),
    [anon_sym_RPAREN] = ACTIONS(8842),
    [anon_sym_COMMA] = ACTIONS(6928),
    [sym_comment] = ACTIONS(110),
  },
  [3249] = {
    [sym__simple_heredoc_body] = ACTIONS(6932),
    [sym__heredoc_body_beginning] = ACTIONS(6932),
    [sym__line_break] = ACTIONS(6932),
    [anon_sym_COMMA] = ACTIONS(6932),
    [anon_sym_SEMI] = ACTIONS(6932),
    [sym_comment] = ACTIONS(110),
  },
  [3250] = {
    [sym__simple_heredoc_body] = ACTIONS(6934),
    [sym__heredoc_body_beginning] = ACTIONS(6934),
    [sym__line_break] = ACTIONS(6934),
    [anon_sym_COMMA] = ACTIONS(6934),
    [anon_sym_SEMI] = ACTIONS(6934),
    [sym_comment] = ACTIONS(110),
  },
  [3251] = {
    [sym__simple_heredoc_body] = ACTIONS(6936),
    [sym__heredoc_body_beginning] = ACTIONS(6936),
    [sym__line_break] = ACTIONS(6936),
    [anon_sym_COMMA] = ACTIONS(6936),
    [anon_sym_SEMI] = ACTIONS(6936),
    [sym_comment] = ACTIONS(110),
  },
  [3252] = {
    [sym_lambda_parameters] = STATE(6375),
    [sym__simple_formal_parameter] = STATE(522),
    [sym_splat_parameter] = STATE(523),
    [sym_hash_splat_parameter] = STATE(523),
    [sym_block_parameter] = STATE(523),
    [sym_keyword_parameter] = STATE(523),
    [sym_optional_parameter] = STATE(523),
    [sym_do_block] = STATE(6376),
    [sym_block] = STATE(6376),
    [anon_sym_LBRACE] = ACTIONS(8844),
    [anon_sym_LPAREN] = ACTIONS(896),
    [anon_sym_STAR] = ACTIONS(898),
    [anon_sym_STAR_STAR] = ACTIONS(900),
    [anon_sym_AMP] = ACTIONS(902),
    [anon_sym_do] = ACTIONS(8846),
    [sym_identifier] = ACTIONS(906),
    [sym_comment] = ACTIONS(110),
  },
  [3253] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6381),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(6382),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6383),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(6960),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(6960),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(6960),
    [sym__unary_minus] = ACTIONS(8848),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_COMMA] = ACTIONS(6960),
    [anon_sym_SEMI] = ACTIONS(6960),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(8850),
    [anon_sym_defined_QMARK] = ACTIONS(8852),
    [anon_sym_not] = ACTIONS(8854),
    [anon_sym_BANG] = ACTIONS(8856),
    [anon_sym_TILDE] = ACTIONS(8856),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3254] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6384),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(6382),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6383),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(8848),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(8850),
    [anon_sym_defined_QMARK] = ACTIONS(8852),
    [anon_sym_not] = ACTIONS(8854),
    [anon_sym_BANG] = ACTIONS(8856),
    [anon_sym_TILDE] = ACTIONS(8856),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3255] = {
    [sym__simple_heredoc_body] = ACTIONS(8858),
    [sym__heredoc_body_beginning] = ACTIONS(8858),
    [sym__line_break] = ACTIONS(8858),
    [sym__element_reference_left_bracket] = ACTIONS(8858),
    [sym__scope_double_colon] = ACTIONS(8858),
    [sym__binary_minus] = ACTIONS(8858),
    [sym__binary_star] = ACTIONS(8858),
    [ts_builtin_sym_end] = ACTIONS(8858),
    [anon_sym___END__] = ACTIONS(8858),
    [anon_sym_LBRACE] = ACTIONS(8858),
    [anon_sym_RBRACE] = ACTIONS(8858),
    [anon_sym_RPAREN] = ACTIONS(8858),
    [anon_sym_DOT] = ACTIONS(8860),
    [anon_sym_end] = ACTIONS(8858),
    [anon_sym_COMMA] = ACTIONS(8858),
    [anon_sym_PIPE] = ACTIONS(8860),
    [anon_sym_SEMI] = ACTIONS(8858),
    [anon_sym_STAR_STAR] = ACTIONS(8858),
    [anon_sym_AMP] = ACTIONS(8860),
    [anon_sym_LT] = ACTIONS(8860),
    [anon_sym_if] = ACTIONS(8858),
    [anon_sym_unless] = ACTIONS(8858),
    [anon_sym_while] = ACTIONS(8858),
    [anon_sym_until] = ACTIONS(8858),
    [anon_sym_rescue] = ACTIONS(8858),
    [anon_sym_do] = ACTIONS(8858),
    [anon_sym_when] = ACTIONS(8858),
    [anon_sym_elsif] = ACTIONS(8858),
    [anon_sym_else] = ACTIONS(8858),
    [anon_sym_then] = ACTIONS(8858),
    [anon_sym_ensure] = ACTIONS(8858),
    [anon_sym_EQ_GT] = ACTIONS(8858),
    [anon_sym_AMP_DOT] = ACTIONS(8858),
    [anon_sym_QMARK] = ACTIONS(8858),
    [anon_sym_DOT_DOT] = ACTIONS(8860),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8858),
    [anon_sym_and] = ACTIONS(8858),
    [anon_sym_or] = ACTIONS(8858),
    [anon_sym_PIPE_PIPE] = ACTIONS(8858),
    [anon_sym_AMP_AMP] = ACTIONS(8858),
    [anon_sym_LT_LT] = ACTIONS(8858),
    [anon_sym_GT_GT] = ACTIONS(8858),
    [anon_sym_EQ_EQ] = ACTIONS(8860),
    [anon_sym_BANG_EQ] = ACTIONS(8858),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8858),
    [anon_sym_LT_EQ_GT] = ACTIONS(8858),
    [anon_sym_EQ_TILDE] = ACTIONS(8858),
    [anon_sym_BANG_TILDE] = ACTIONS(8858),
    [anon_sym_LT_EQ] = ACTIONS(8860),
    [anon_sym_GT] = ACTIONS(8860),
    [anon_sym_GT_EQ] = ACTIONS(8858),
    [anon_sym_CARET] = ACTIONS(8858),
    [anon_sym_PLUS] = ACTIONS(8858),
    [anon_sym_SLASH] = ACTIONS(8858),
    [anon_sym_PERCENT] = ACTIONS(8858),
    [sym_comment] = ACTIONS(110),
  },
  [3256] = {
    [anon_sym_end] = ACTIONS(8862),
    [sym_comment] = ACTIONS(110),
  },
  [3257] = {
    [sym__formal_parameter] = STATE(6387),
    [sym__simple_formal_parameter] = STATE(6388),
    [sym_destructured_parameter] = STATE(6388),
    [sym_splat_parameter] = STATE(1151),
    [sym_hash_splat_parameter] = STATE(1151),
    [sym_block_parameter] = STATE(1151),
    [sym_keyword_parameter] = STATE(1151),
    [sym_optional_parameter] = STATE(1151),
    [anon_sym_LPAREN] = ACTIONS(8864),
    [anon_sym_STAR] = ACTIONS(1874),
    [anon_sym_STAR_STAR] = ACTIONS(1876),
    [anon_sym_AMP] = ACTIONS(1878),
    [sym_identifier] = ACTIONS(1880),
    [sym_comment] = ACTIONS(110),
  },
  [3258] = {
    [sym__simple_string] = ACTIONS(8836),
    [sym__simple_symbol] = ACTIONS(8836),
    [sym__simple_subshell] = ACTIONS(8836),
    [sym__simple_regex] = ACTIONS(8836),
    [sym__simple_word_list] = ACTIONS(8836),
    [sym__string_beginning] = ACTIONS(8836),
    [sym__symbol_beginning] = ACTIONS(8836),
    [sym__subshell_beginning] = ACTIONS(8836),
    [sym__regex_beginning] = ACTIONS(8836),
    [sym__word_list_beginning] = ACTIONS(8836),
    [sym_heredoc_beginning] = ACTIONS(8836),
    [sym__unary_minus] = ACTIONS(8836),
    [anon_sym_BEGIN] = ACTIONS(8838),
    [anon_sym_LBRACE] = ACTIONS(8836),
    [anon_sym_END] = ACTIONS(8838),
    [anon_sym_def] = ACTIONS(8838),
    [anon_sym_LPAREN] = ACTIONS(8836),
    [anon_sym_COLON_COLON] = ACTIONS(8836),
    [anon_sym_end] = ACTIONS(8838),
    [anon_sym_SEMI] = ACTIONS(8836),
    [anon_sym_STAR] = ACTIONS(8836),
    [anon_sym_class] = ACTIONS(8838),
    [anon_sym_module] = ACTIONS(8838),
    [anon_sym_return] = ACTIONS(8838),
    [anon_sym_yield] = ACTIONS(8838),
    [anon_sym_break] = ACTIONS(8838),
    [anon_sym_next] = ACTIONS(8838),
    [anon_sym_redo] = ACTIONS(8838),
    [anon_sym_retry] = ACTIONS(8838),
    [anon_sym_if] = ACTIONS(8838),
    [anon_sym_unless] = ACTIONS(8838),
    [anon_sym_while] = ACTIONS(8838),
    [anon_sym_until] = ACTIONS(8838),
    [anon_sym_rescue] = ACTIONS(8838),
    [anon_sym_for] = ACTIONS(8838),
    [anon_sym_case] = ACTIONS(8838),
    [anon_sym_else] = ACTIONS(8838),
    [anon_sym_begin] = ACTIONS(8838),
    [anon_sym_ensure] = ACTIONS(8838),
    [anon_sym_PLUS] = ACTIONS(8838),
    [anon_sym_defined_QMARK] = ACTIONS(8836),
    [anon_sym_not] = ACTIONS(8838),
    [anon_sym_BANG] = ACTIONS(8836),
    [anon_sym_TILDE] = ACTIONS(8836),
    [sym_constant] = ACTIONS(8840),
    [sym_identifier] = ACTIONS(8840),
    [sym_instance_variable] = ACTIONS(8838),
    [sym_class_variable] = ACTIONS(8838),
    [sym_global_variable] = ACTIONS(8838),
    [anon_sym_alias] = ACTIONS(8838),
    [anon_sym_false] = ACTIONS(8838),
    [anon_sym_nil] = ACTIONS(8838),
    [anon_sym_self] = ACTIONS(8838),
    [anon_sym_super] = ACTIONS(8838),
    [anon_sym_true] = ACTIONS(8838),
    [anon_sym_undef] = ACTIONS(8838),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8838),
    [sym_float] = ACTIONS(8840),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8836),
    [anon_sym_TRUE] = ACTIONS(8838),
    [anon_sym_FALSE] = ACTIONS(8838),
    [anon_sym_NIL] = ACTIONS(8838),
    [sym_keyword__FILE__] = ACTIONS(8838),
    [sym_keyword__LINE__] = ACTIONS(8838),
    [sym_keyword__ENCODING__] = ACTIONS(8838),
    [sym__character_literal] = ACTIONS(8838),
    [anon_sym_LBRACK] = ACTIONS(8836),
    [anon_sym_DASH_GT] = ACTIONS(8836),
  },
  [3259] = {
    [sym_method] = STATE(3490),
    [sym_singleton_method] = STATE(3490),
    [sym_class] = STATE(3490),
    [sym_singleton_class] = STATE(3490),
    [sym_module] = STATE(3490),
    [sym_return] = STATE(3490),
    [sym_yield] = STATE(3490),
    [sym_break] = STATE(3490),
    [sym_next] = STATE(3490),
    [sym_redo] = STATE(3490),
    [sym_retry] = STATE(3490),
    [sym_while] = STATE(3490),
    [sym_until] = STATE(3490),
    [sym_for] = STATE(3490),
    [sym_case] = STATE(3490),
    [sym_if] = STATE(3490),
    [sym_unless] = STATE(3490),
    [sym_begin] = STATE(3490),
    [sym__arg] = STATE(6397),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(3490),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6321),
    [sym_call] = STATE(6321),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(3519),
    [sym_operator_assignment] = STATE(3519),
    [sym_conditional] = STATE(3519),
    [sym_range] = STATE(3519),
    [sym_binary] = STATE(3519),
    [sym_unary] = STATE(3519),
    [sym_left_assignment_list] = STATE(6398),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6399),
    [sym__variable] = STATE(6321),
    [sym_symbol] = STATE(3490),
    [sym_complex] = STATE(3490),
    [sym_rational] = STATE(3490),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(3490),
    [sym_string] = STATE(3522),
    [sym_subshell] = STATE(3490),
    [sym_array] = STATE(3490),
    [sym_hash] = STATE(3490),
    [sym_regex] = STATE(3490),
    [sym_lambda] = STATE(3490),
    [sym__simple_string] = ACTIONS(5000),
    [sym__simple_symbol] = ACTIONS(5002),
    [sym__simple_subshell] = ACTIONS(5004),
    [sym__simple_regex] = ACTIONS(5006),
    [sym__simple_word_list] = ACTIONS(5008),
    [sym__string_beginning] = ACTIONS(5010),
    [sym__symbol_beginning] = ACTIONS(5012),
    [sym__subshell_beginning] = ACTIONS(5014),
    [sym__regex_beginning] = ACTIONS(5016),
    [sym__word_list_beginning] = ACTIONS(5018),
    [sym_heredoc_beginning] = ACTIONS(5020),
    [sym__unary_minus] = ACTIONS(8866),
    [anon_sym_LBRACE] = ACTIONS(5024),
    [anon_sym_def] = ACTIONS(5026),
    [anon_sym_LPAREN] = ACTIONS(5028),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(5030),
    [anon_sym_module] = ACTIONS(5032),
    [anon_sym_return] = ACTIONS(8868),
    [anon_sym_yield] = ACTIONS(8870),
    [anon_sym_break] = ACTIONS(8872),
    [anon_sym_next] = ACTIONS(8874),
    [anon_sym_redo] = ACTIONS(5042),
    [anon_sym_retry] = ACTIONS(5044),
    [anon_sym_if] = ACTIONS(5046),
    [anon_sym_unless] = ACTIONS(5048),
    [anon_sym_while] = ACTIONS(5050),
    [anon_sym_until] = ACTIONS(5052),
    [anon_sym_for] = ACTIONS(5054),
    [anon_sym_case] = ACTIONS(5056),
    [anon_sym_begin] = ACTIONS(5058),
    [anon_sym_PLUS] = ACTIONS(8876),
    [anon_sym_defined_QMARK] = ACTIONS(8878),
    [anon_sym_not] = ACTIONS(8880),
    [anon_sym_BANG] = ACTIONS(8882),
    [anon_sym_TILDE] = ACTIONS(8882),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5068),
    [sym_float] = ACTIONS(5070),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5072),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(5074),
    [sym_keyword__LINE__] = ACTIONS(5074),
    [sym_keyword__ENCODING__] = ACTIONS(5074),
    [sym__character_literal] = ACTIONS(5076),
    [anon_sym_LBRACK] = ACTIONS(5078),
    [anon_sym_DASH_GT] = ACTIONS(5080),
  },
  [3260] = {
    [sym_method] = STATE(3490),
    [sym_singleton_method] = STATE(3490),
    [sym_class] = STATE(3490),
    [sym_singleton_class] = STATE(3490),
    [sym_module] = STATE(3490),
    [sym_return] = STATE(3490),
    [sym_yield] = STATE(3490),
    [sym_break] = STATE(3490),
    [sym_next] = STATE(3490),
    [sym_redo] = STATE(3490),
    [sym_retry] = STATE(3490),
    [sym_while] = STATE(3490),
    [sym_until] = STATE(3490),
    [sym_for] = STATE(3490),
    [sym_case] = STATE(3490),
    [sym_if] = STATE(3490),
    [sym_unless] = STATE(3490),
    [sym_begin] = STATE(3490),
    [sym__arg] = STATE(6400),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(3490),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6321),
    [sym_call] = STATE(6321),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(3519),
    [sym_operator_assignment] = STATE(3519),
    [sym_conditional] = STATE(3519),
    [sym_range] = STATE(3519),
    [sym_binary] = STATE(3519),
    [sym_unary] = STATE(3519),
    [sym_left_assignment_list] = STATE(6398),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6399),
    [sym__variable] = STATE(6321),
    [sym_symbol] = STATE(3490),
    [sym_complex] = STATE(3490),
    [sym_rational] = STATE(3490),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(3490),
    [sym_string] = STATE(3522),
    [sym_subshell] = STATE(3490),
    [sym_array] = STATE(3490),
    [sym_hash] = STATE(3490),
    [sym_regex] = STATE(3490),
    [sym_lambda] = STATE(3490),
    [sym__simple_string] = ACTIONS(5000),
    [sym__simple_symbol] = ACTIONS(5002),
    [sym__simple_subshell] = ACTIONS(5004),
    [sym__simple_regex] = ACTIONS(5006),
    [sym__simple_word_list] = ACTIONS(5008),
    [sym__string_beginning] = ACTIONS(5010),
    [sym__symbol_beginning] = ACTIONS(5012),
    [sym__subshell_beginning] = ACTIONS(5014),
    [sym__regex_beginning] = ACTIONS(5016),
    [sym__word_list_beginning] = ACTIONS(5018),
    [sym_heredoc_beginning] = ACTIONS(5020),
    [sym__unary_minus] = ACTIONS(8866),
    [anon_sym_LBRACE] = ACTIONS(5024),
    [anon_sym_def] = ACTIONS(5026),
    [anon_sym_LPAREN] = ACTIONS(5028),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(5030),
    [anon_sym_module] = ACTIONS(5032),
    [anon_sym_return] = ACTIONS(8868),
    [anon_sym_yield] = ACTIONS(8870),
    [anon_sym_break] = ACTIONS(8872),
    [anon_sym_next] = ACTIONS(8874),
    [anon_sym_redo] = ACTIONS(5042),
    [anon_sym_retry] = ACTIONS(5044),
    [anon_sym_if] = ACTIONS(5046),
    [anon_sym_unless] = ACTIONS(5048),
    [anon_sym_while] = ACTIONS(5050),
    [anon_sym_until] = ACTIONS(5052),
    [anon_sym_for] = ACTIONS(5054),
    [anon_sym_case] = ACTIONS(5056),
    [anon_sym_begin] = ACTIONS(5058),
    [anon_sym_PLUS] = ACTIONS(8876),
    [anon_sym_defined_QMARK] = ACTIONS(8878),
    [anon_sym_not] = ACTIONS(8880),
    [anon_sym_BANG] = ACTIONS(8882),
    [anon_sym_TILDE] = ACTIONS(8882),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5068),
    [sym_float] = ACTIONS(5070),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5072),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(5074),
    [sym_keyword__LINE__] = ACTIONS(5074),
    [sym_keyword__ENCODING__] = ACTIONS(5074),
    [sym__character_literal] = ACTIONS(5076),
    [anon_sym_LBRACK] = ACTIONS(5078),
    [anon_sym_DASH_GT] = ACTIONS(5080),
  },
  [3261] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6405),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3274),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3275),
    [sym__variable] = STATE(3235),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4720),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(8884),
    [anon_sym_yield] = ACTIONS(8886),
    [anon_sym_break] = ACTIONS(8888),
    [anon_sym_next] = ACTIONS(8890),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(4732),
    [anon_sym_defined_QMARK] = ACTIONS(4734),
    [anon_sym_not] = ACTIONS(8892),
    [anon_sym_BANG] = ACTIONS(4738),
    [anon_sym_TILDE] = ACTIONS(4738),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3262] = {
    [sym_method] = STATE(3490),
    [sym_singleton_method] = STATE(3490),
    [sym_class] = STATE(3490),
    [sym_singleton_class] = STATE(3490),
    [sym_module] = STATE(3490),
    [sym_return] = STATE(3490),
    [sym_yield] = STATE(3490),
    [sym_break] = STATE(3490),
    [sym_next] = STATE(3490),
    [sym_redo] = STATE(3490),
    [sym_retry] = STATE(3490),
    [sym_while] = STATE(3490),
    [sym_until] = STATE(3490),
    [sym_for] = STATE(3490),
    [sym_case] = STATE(3490),
    [sym_if] = STATE(3490),
    [sym_unless] = STATE(3490),
    [sym_begin] = STATE(3490),
    [sym__arg] = STATE(6406),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(3490),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6321),
    [sym_call] = STATE(6321),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(3519),
    [sym_operator_assignment] = STATE(3519),
    [sym_conditional] = STATE(3519),
    [sym_range] = STATE(3519),
    [sym_binary] = STATE(3519),
    [sym_unary] = STATE(3519),
    [sym_left_assignment_list] = STATE(6398),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6399),
    [sym__variable] = STATE(6321),
    [sym_symbol] = STATE(3490),
    [sym_complex] = STATE(3490),
    [sym_rational] = STATE(3490),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(3490),
    [sym_string] = STATE(3522),
    [sym_subshell] = STATE(3490),
    [sym_array] = STATE(3490),
    [sym_hash] = STATE(3490),
    [sym_regex] = STATE(3490),
    [sym_lambda] = STATE(3490),
    [sym__simple_string] = ACTIONS(5000),
    [sym__simple_symbol] = ACTIONS(5002),
    [sym__simple_subshell] = ACTIONS(5004),
    [sym__simple_regex] = ACTIONS(5006),
    [sym__simple_word_list] = ACTIONS(5008),
    [sym__string_beginning] = ACTIONS(5010),
    [sym__symbol_beginning] = ACTIONS(5012),
    [sym__subshell_beginning] = ACTIONS(5014),
    [sym__regex_beginning] = ACTIONS(5016),
    [sym__word_list_beginning] = ACTIONS(5018),
    [sym_heredoc_beginning] = ACTIONS(5020),
    [sym__unary_minus] = ACTIONS(8866),
    [anon_sym_LBRACE] = ACTIONS(5024),
    [anon_sym_def] = ACTIONS(5026),
    [anon_sym_LPAREN] = ACTIONS(5028),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(5030),
    [anon_sym_module] = ACTIONS(5032),
    [anon_sym_return] = ACTIONS(8868),
    [anon_sym_yield] = ACTIONS(8870),
    [anon_sym_break] = ACTIONS(8872),
    [anon_sym_next] = ACTIONS(8874),
    [anon_sym_redo] = ACTIONS(5042),
    [anon_sym_retry] = ACTIONS(5044),
    [anon_sym_if] = ACTIONS(5046),
    [anon_sym_unless] = ACTIONS(5048),
    [anon_sym_while] = ACTIONS(5050),
    [anon_sym_until] = ACTIONS(5052),
    [anon_sym_for] = ACTIONS(5054),
    [anon_sym_case] = ACTIONS(5056),
    [anon_sym_begin] = ACTIONS(5058),
    [anon_sym_PLUS] = ACTIONS(8876),
    [anon_sym_defined_QMARK] = ACTIONS(8878),
    [anon_sym_not] = ACTIONS(8880),
    [anon_sym_BANG] = ACTIONS(8882),
    [anon_sym_TILDE] = ACTIONS(8882),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5068),
    [sym_float] = ACTIONS(5070),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5072),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(5074),
    [sym_keyword__LINE__] = ACTIONS(5074),
    [sym_keyword__ENCODING__] = ACTIONS(5074),
    [sym__character_literal] = ACTIONS(5076),
    [anon_sym_LBRACK] = ACTIONS(5078),
    [anon_sym_DASH_GT] = ACTIONS(5080),
  },
  [3263] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6411),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1886),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(6412),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3274),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3275),
    [sym__variable] = STATE(3235),
    [sym_reserved_identifier] = STATE(6413),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(6414),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(8894),
    [sym__splat_star] = ACTIONS(8896),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(4720),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(532),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(4724),
    [anon_sym_yield] = ACTIONS(4726),
    [anon_sym_break] = ACTIONS(4728),
    [anon_sym_next] = ACTIONS(4730),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(4734),
    [anon_sym_not] = ACTIONS(4736),
    [anon_sym_BANG] = ACTIONS(8898),
    [anon_sym_TILDE] = ACTIONS(4738),
    [sym_constant] = ACTIONS(8900),
    [sym_identifier] = ACTIONS(8900),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3264] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6411),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1892),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(6412),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3274),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3275),
    [sym__variable] = STATE(3235),
    [sym_reserved_identifier] = STATE(6413),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(6414),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(8894),
    [sym__splat_star] = ACTIONS(8896),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(4720),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(602),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(4724),
    [anon_sym_yield] = ACTIONS(4726),
    [anon_sym_break] = ACTIONS(4728),
    [anon_sym_next] = ACTIONS(4730),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(4734),
    [anon_sym_not] = ACTIONS(4736),
    [anon_sym_BANG] = ACTIONS(8898),
    [anon_sym_TILDE] = ACTIONS(4738),
    [sym_constant] = ACTIONS(8900),
    [sym_identifier] = ACTIONS(8900),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3265] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6411),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1893),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(6412),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3274),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3275),
    [sym__variable] = STATE(3235),
    [sym_reserved_identifier] = STATE(6413),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(6414),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(8894),
    [sym__splat_star] = ACTIONS(8896),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(4720),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(606),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(4724),
    [anon_sym_yield] = ACTIONS(4726),
    [anon_sym_break] = ACTIONS(4728),
    [anon_sym_next] = ACTIONS(4730),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(4734),
    [anon_sym_not] = ACTIONS(4736),
    [anon_sym_BANG] = ACTIONS(8898),
    [anon_sym_TILDE] = ACTIONS(4738),
    [sym_constant] = ACTIONS(8900),
    [sym_identifier] = ACTIONS(8900),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3266] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6411),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1894),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(6412),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3274),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3275),
    [sym__variable] = STATE(3235),
    [sym_reserved_identifier] = STATE(6413),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(6414),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(8894),
    [sym__splat_star] = ACTIONS(8896),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(4720),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(610),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(4724),
    [anon_sym_yield] = ACTIONS(4726),
    [anon_sym_break] = ACTIONS(4728),
    [anon_sym_next] = ACTIONS(4730),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(4734),
    [anon_sym_not] = ACTIONS(4736),
    [anon_sym_BANG] = ACTIONS(8898),
    [anon_sym_TILDE] = ACTIONS(4738),
    [sym_constant] = ACTIONS(8900),
    [sym_identifier] = ACTIONS(8900),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3267] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6415),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3274),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3275),
    [sym__variable] = STATE(3235),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4720),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(8884),
    [anon_sym_yield] = ACTIONS(8886),
    [anon_sym_break] = ACTIONS(8888),
    [anon_sym_next] = ACTIONS(8890),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(4732),
    [anon_sym_defined_QMARK] = ACTIONS(4734),
    [anon_sym_not] = ACTIONS(8892),
    [anon_sym_BANG] = ACTIONS(4738),
    [anon_sym_TILDE] = ACTIONS(4738),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3268] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6416),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3274),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3275),
    [sym__variable] = STATE(3235),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4720),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(8884),
    [anon_sym_yield] = ACTIONS(8886),
    [anon_sym_break] = ACTIONS(8888),
    [anon_sym_next] = ACTIONS(8890),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(4732),
    [anon_sym_defined_QMARK] = ACTIONS(4734),
    [anon_sym_not] = ACTIONS(8892),
    [anon_sym_BANG] = ACTIONS(4738),
    [anon_sym_TILDE] = ACTIONS(4738),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3269] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6416),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3274),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3275),
    [sym__variable] = STATE(3235),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(4720),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(8884),
    [anon_sym_yield] = ACTIONS(8886),
    [anon_sym_break] = ACTIONS(8888),
    [anon_sym_next] = ACTIONS(8890),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(4732),
    [anon_sym_defined_QMARK] = ACTIONS(4734),
    [anon_sym_not] = ACTIONS(8892),
    [anon_sym_BANG] = ACTIONS(4738),
    [anon_sym_TILDE] = ACTIONS(4738),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3270] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(2988),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3274),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3275),
    [sym__variable] = STATE(3235),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4720),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(8884),
    [anon_sym_yield] = ACTIONS(8886),
    [anon_sym_break] = ACTIONS(8888),
    [anon_sym_next] = ACTIONS(8890),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(4732),
    [anon_sym_defined_QMARK] = ACTIONS(4734),
    [anon_sym_not] = ACTIONS(8892),
    [anon_sym_BANG] = ACTIONS(4738),
    [anon_sym_TILDE] = ACTIONS(4738),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3271] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(8902),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_RPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [3272] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(8904),
    [sym__binary_star] = ACTIONS(8906),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_RPAREN] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(8908),
    [anon_sym_STAR_STAR] = ACTIONS(8910),
    [anon_sym_AMP] = ACTIONS(8912),
    [anon_sym_EQ] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(8914),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(8902),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(8916),
    [anon_sym_DOT_DOT] = ACTIONS(8918),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8920),
    [anon_sym_and] = ACTIONS(8922),
    [anon_sym_or] = ACTIONS(8922),
    [anon_sym_PIPE_PIPE] = ACTIONS(8924),
    [anon_sym_AMP_AMP] = ACTIONS(8924),
    [anon_sym_LT_LT] = ACTIONS(8926),
    [anon_sym_GT_GT] = ACTIONS(8926),
    [anon_sym_EQ_EQ] = ACTIONS(8928),
    [anon_sym_BANG_EQ] = ACTIONS(8924),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8924),
    [anon_sym_LT_EQ_GT] = ACTIONS(8924),
    [anon_sym_EQ_TILDE] = ACTIONS(8924),
    [anon_sym_BANG_TILDE] = ACTIONS(8924),
    [anon_sym_LT_EQ] = ACTIONS(8914),
    [anon_sym_GT] = ACTIONS(8914),
    [anon_sym_GT_EQ] = ACTIONS(8930),
    [anon_sym_CARET] = ACTIONS(8932),
    [anon_sym_PLUS] = ACTIONS(8934),
    [anon_sym_SLASH] = ACTIONS(8910),
    [anon_sym_PERCENT] = ACTIONS(8910),
    [sym_comment] = ACTIONS(256),
  },
  [3273] = {
    [sym_heredoc_end] = STATE(3448),
    [aux_sym_argument_list_repeat1] = STATE(6431),
    [aux_sym_argument_list_repeat2] = STATE(3449),
    [sym__simple_heredoc_body] = ACTIONS(4968),
    [sym__heredoc_body_beginning] = ACTIONS(4970),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_RPAREN] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2272),
    [anon_sym_COMMA] = ACTIONS(8936),
    [anon_sym_EQ] = ACTIONS(2272),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(256),
  },
  [3274] = {
    [anon_sym_EQ] = ACTIONS(8938),
    [sym_comment] = ACTIONS(256),
  },
  [3275] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_RPAREN] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(8940),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(8942),
    [anon_sym_DASH_EQ] = ACTIONS(8942),
    [anon_sym_STAR_EQ] = ACTIONS(8942),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8942),
    [anon_sym_SLASH_EQ] = ACTIONS(8942),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8942),
    [anon_sym_PIPE_EQ] = ACTIONS(8942),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8942),
    [anon_sym_AMP_EQ] = ACTIONS(8942),
    [anon_sym_PERCENT_EQ] = ACTIONS(8942),
    [anon_sym_GT_GT_EQ] = ACTIONS(8942),
    [anon_sym_LT_LT_EQ] = ACTIONS(8942),
    [anon_sym_CARET_EQ] = ACTIONS(8942),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [3276] = {
    [sym__keyword_colon] = ACTIONS(8944),
    [sym_comment] = ACTIONS(110),
  },
  [3277] = {
    [sym_string] = STATE(1962),
    [aux_sym_chained_string_repeat1] = STATE(1963),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(8902),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_RPAREN] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(1626),
  },
  [3278] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6435),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3283),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3284),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(4742),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4744),
    [anon_sym_defined_QMARK] = ACTIONS(4746),
    [anon_sym_not] = ACTIONS(4748),
    [anon_sym_BANG] = ACTIONS(4750),
    [anon_sym_TILDE] = ACTIONS(4750),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3279] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6436),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3283),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3284),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(4742),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4744),
    [anon_sym_defined_QMARK] = ACTIONS(4746),
    [anon_sym_not] = ACTIONS(4748),
    [anon_sym_BANG] = ACTIONS(4750),
    [anon_sym_TILDE] = ACTIONS(4750),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3280] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6437),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3283),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3284),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(4742),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4744),
    [anon_sym_defined_QMARK] = ACTIONS(4746),
    [anon_sym_not] = ACTIONS(4748),
    [anon_sym_BANG] = ACTIONS(4750),
    [anon_sym_TILDE] = ACTIONS(4750),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3281] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1410),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3283),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3284),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(4742),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4744),
    [anon_sym_defined_QMARK] = ACTIONS(4746),
    [anon_sym_not] = ACTIONS(4748),
    [anon_sym_BANG] = ACTIONS(4750),
    [anon_sym_TILDE] = ACTIONS(4750),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3282] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__line_break] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(8946),
    [sym__binary_star] = ACTIONS(8948),
    [anon_sym_RPAREN] = ACTIONS(5298),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(8950),
    [anon_sym_SEMI] = ACTIONS(5298),
    [anon_sym_STAR_STAR] = ACTIONS(8952),
    [anon_sym_AMP] = ACTIONS(8954),
    [anon_sym_LT] = ACTIONS(8956),
    [anon_sym_if] = ACTIONS(5298),
    [anon_sym_unless] = ACTIONS(5298),
    [anon_sym_while] = ACTIONS(5298),
    [anon_sym_until] = ACTIONS(5298),
    [anon_sym_rescue] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(8958),
    [anon_sym_DOT_DOT] = ACTIONS(8960),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8962),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(8964),
    [anon_sym_AMP_AMP] = ACTIONS(8964),
    [anon_sym_LT_LT] = ACTIONS(8966),
    [anon_sym_GT_GT] = ACTIONS(8966),
    [anon_sym_EQ_EQ] = ACTIONS(8968),
    [anon_sym_BANG_EQ] = ACTIONS(8964),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8964),
    [anon_sym_LT_EQ_GT] = ACTIONS(8964),
    [anon_sym_EQ_TILDE] = ACTIONS(8964),
    [anon_sym_BANG_TILDE] = ACTIONS(8964),
    [anon_sym_LT_EQ] = ACTIONS(8956),
    [anon_sym_GT] = ACTIONS(8956),
    [anon_sym_GT_EQ] = ACTIONS(8970),
    [anon_sym_CARET] = ACTIONS(8972),
    [anon_sym_PLUS] = ACTIONS(8974),
    [anon_sym_SLASH] = ACTIONS(8952),
    [anon_sym_PERCENT] = ACTIONS(8952),
    [sym_comment] = ACTIONS(110),
  },
  [3283] = {
    [anon_sym_EQ] = ACTIONS(8976),
    [sym_comment] = ACTIONS(256),
  },
  [3284] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_RPAREN] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(8978),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(8980),
    [anon_sym_DASH_EQ] = ACTIONS(8980),
    [anon_sym_STAR_EQ] = ACTIONS(8980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8980),
    [anon_sym_SLASH_EQ] = ACTIONS(8980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8980),
    [anon_sym_PIPE_EQ] = ACTIONS(8980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8980),
    [anon_sym_AMP_EQ] = ACTIONS(8980),
    [anon_sym_PERCENT_EQ] = ACTIONS(8980),
    [anon_sym_GT_GT_EQ] = ACTIONS(8980),
    [anon_sym_LT_LT_EQ] = ACTIONS(8980),
    [anon_sym_CARET_EQ] = ACTIONS(8980),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [3285] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__line_break] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(8946),
    [sym__binary_star] = ACTIONS(8948),
    [anon_sym_RPAREN] = ACTIONS(5338),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(8950),
    [anon_sym_SEMI] = ACTIONS(5338),
    [anon_sym_STAR_STAR] = ACTIONS(8952),
    [anon_sym_AMP] = ACTIONS(8954),
    [anon_sym_LT] = ACTIONS(8956),
    [anon_sym_if] = ACTIONS(5338),
    [anon_sym_unless] = ACTIONS(5338),
    [anon_sym_while] = ACTIONS(5338),
    [anon_sym_until] = ACTIONS(5338),
    [anon_sym_rescue] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(8958),
    [anon_sym_DOT_DOT] = ACTIONS(8960),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8962),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(8964),
    [anon_sym_AMP_AMP] = ACTIONS(8964),
    [anon_sym_LT_LT] = ACTIONS(8966),
    [anon_sym_GT_GT] = ACTIONS(8966),
    [anon_sym_EQ_EQ] = ACTIONS(8968),
    [anon_sym_BANG_EQ] = ACTIONS(8964),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8964),
    [anon_sym_LT_EQ_GT] = ACTIONS(8964),
    [anon_sym_EQ_TILDE] = ACTIONS(8964),
    [anon_sym_BANG_TILDE] = ACTIONS(8964),
    [anon_sym_LT_EQ] = ACTIONS(8956),
    [anon_sym_GT] = ACTIONS(8956),
    [anon_sym_GT_EQ] = ACTIONS(8970),
    [anon_sym_CARET] = ACTIONS(8972),
    [anon_sym_PLUS] = ACTIONS(8974),
    [anon_sym_SLASH] = ACTIONS(8952),
    [anon_sym_PERCENT] = ACTIONS(8952),
    [sym_comment] = ACTIONS(110),
  },
  [3286] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3297),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1174),
    [sym_call] = STATE(1174),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(340),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(3298),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1176),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(1174),
    [sym_reserved_identifier] = STATE(3299),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(3300),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(4766),
    [sym__splat_star] = ACTIONS(4768),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(1892),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_RPAREN] = ACTIONS(532),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(1896),
    [anon_sym_yield] = ACTIONS(1898),
    [anon_sym_break] = ACTIONS(1900),
    [anon_sym_next] = ACTIONS(1902),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(1904),
    [anon_sym_not] = ACTIONS(1906),
    [anon_sym_BANG] = ACTIONS(1908),
    [anon_sym_TILDE] = ACTIONS(1910),
    [sym_constant] = ACTIONS(4770),
    [sym_identifier] = ACTIONS(4770),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3287] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3297),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1174),
    [sym_call] = STATE(1174),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(349),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(3298),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1176),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(1174),
    [sym_reserved_identifier] = STATE(3299),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(3300),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(4766),
    [sym__splat_star] = ACTIONS(4768),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(1892),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_RPAREN] = ACTIONS(602),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(1896),
    [anon_sym_yield] = ACTIONS(1898),
    [anon_sym_break] = ACTIONS(1900),
    [anon_sym_next] = ACTIONS(1902),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(1904),
    [anon_sym_not] = ACTIONS(1906),
    [anon_sym_BANG] = ACTIONS(1908),
    [anon_sym_TILDE] = ACTIONS(1910),
    [sym_constant] = ACTIONS(4770),
    [sym_identifier] = ACTIONS(4770),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3288] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3297),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1174),
    [sym_call] = STATE(1174),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(350),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(3298),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1176),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(1174),
    [sym_reserved_identifier] = STATE(3299),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(3300),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(4766),
    [sym__splat_star] = ACTIONS(4768),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(1892),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_RPAREN] = ACTIONS(606),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(1896),
    [anon_sym_yield] = ACTIONS(1898),
    [anon_sym_break] = ACTIONS(1900),
    [anon_sym_next] = ACTIONS(1902),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(1904),
    [anon_sym_not] = ACTIONS(1906),
    [anon_sym_BANG] = ACTIONS(1908),
    [anon_sym_TILDE] = ACTIONS(1910),
    [sym_constant] = ACTIONS(4770),
    [sym_identifier] = ACTIONS(4770),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3289] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3297),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1174),
    [sym_call] = STATE(1174),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(351),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(3298),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1176),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(1174),
    [sym_reserved_identifier] = STATE(3299),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(3300),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(4766),
    [sym__splat_star] = ACTIONS(4768),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(1892),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_RPAREN] = ACTIONS(610),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(1896),
    [anon_sym_yield] = ACTIONS(1898),
    [anon_sym_break] = ACTIONS(1900),
    [anon_sym_next] = ACTIONS(1902),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(1904),
    [anon_sym_not] = ACTIONS(1906),
    [anon_sym_BANG] = ACTIONS(1908),
    [anon_sym_TILDE] = ACTIONS(1910),
    [sym_constant] = ACTIONS(4770),
    [sym_identifier] = ACTIONS(4770),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3290] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_RPAREN] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(4780),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_if] = ACTIONS(1372),
    [anon_sym_unless] = ACTIONS(1372),
    [anon_sym_while] = ACTIONS(1372),
    [anon_sym_until] = ACTIONS(1372),
    [anon_sym_rescue] = ACTIONS(1372),
    [anon_sym_EQ_GT] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [3291] = {
    [sym__simple_string] = ACTIONS(2010),
    [sym__simple_symbol] = ACTIONS(2010),
    [sym__simple_subshell] = ACTIONS(2010),
    [sym__simple_regex] = ACTIONS(2010),
    [sym__simple_word_list] = ACTIONS(2010),
    [sym__simple_heredoc_body] = ACTIONS(2010),
    [sym__string_beginning] = ACTIONS(2010),
    [sym__symbol_beginning] = ACTIONS(2010),
    [sym__subshell_beginning] = ACTIONS(2010),
    [sym__regex_beginning] = ACTIONS(2010),
    [sym__word_list_beginning] = ACTIONS(2010),
    [sym__heredoc_body_beginning] = ACTIONS(2010),
    [sym_heredoc_beginning] = ACTIONS(2010),
    [sym__line_break] = ACTIONS(2010),
    [sym__element_reference_left_bracket] = ACTIONS(2010),
    [sym__block_ampersand] = ACTIONS(2010),
    [sym__splat_star] = ACTIONS(2010),
    [sym__argument_list_left_paren] = ACTIONS(2010),
    [sym__scope_double_colon] = ACTIONS(2010),
    [sym__unary_minus] = ACTIONS(2010),
    [sym__binary_minus] = ACTIONS(2010),
    [sym__binary_star] = ACTIONS(2010),
    [anon_sym_LBRACE] = ACTIONS(2010),
    [anon_sym_RBRACE] = ACTIONS(2010),
    [anon_sym_def] = ACTIONS(2012),
    [anon_sym_LPAREN] = ACTIONS(2010),
    [anon_sym_RPAREN] = ACTIONS(2010),
    [anon_sym_DOT] = ACTIONS(2012),
    [anon_sym_COLON_COLON] = ACTIONS(2010),
    [anon_sym_end] = ACTIONS(2012),
    [anon_sym_COMMA] = ACTIONS(2010),
    [anon_sym_PIPE] = ACTIONS(2012),
    [anon_sym_SEMI] = ACTIONS(2010),
    [anon_sym_STAR] = ACTIONS(2012),
    [anon_sym_STAR_STAR] = ACTIONS(2012),
    [anon_sym_AMP] = ACTIONS(2012),
    [anon_sym_EQ] = ACTIONS(2012),
    [anon_sym_class] = ACTIONS(2012),
    [anon_sym_LT] = ACTIONS(2012),
    [anon_sym_module] = ACTIONS(2012),
    [anon_sym_return] = ACTIONS(2012),
    [anon_sym_yield] = ACTIONS(2012),
    [anon_sym_break] = ACTIONS(2012),
    [anon_sym_next] = ACTIONS(2012),
    [anon_sym_redo] = ACTIONS(2012),
    [anon_sym_retry] = ACTIONS(2012),
    [anon_sym_if] = ACTIONS(2012),
    [anon_sym_unless] = ACTIONS(2012),
    [anon_sym_while] = ACTIONS(2012),
    [anon_sym_until] = ACTIONS(2012),
    [anon_sym_rescue] = ACTIONS(2012),
    [anon_sym_for] = ACTIONS(2012),
    [anon_sym_in] = ACTIONS(2012),
    [anon_sym_do] = ACTIONS(2012),
    [anon_sym_case] = ACTIONS(2012),
    [anon_sym_when] = ACTIONS(2012),
    [anon_sym_elsif] = ACTIONS(2012),
    [anon_sym_else] = ACTIONS(2012),
    [anon_sym_then] = ACTIONS(2012),
    [anon_sym_begin] = ACTIONS(2012),
    [anon_sym_ensure] = ACTIONS(2012),
    [anon_sym_EQ_GT] = ACTIONS(2010),
    [anon_sym_AMP_DOT] = ACTIONS(2010),
    [anon_sym_PLUS_EQ] = ACTIONS(2010),
    [anon_sym_DASH_EQ] = ACTIONS(2010),
    [anon_sym_STAR_EQ] = ACTIONS(2010),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2010),
    [anon_sym_SLASH_EQ] = ACTIONS(2010),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2010),
    [anon_sym_PIPE_EQ] = ACTIONS(2010),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2010),
    [anon_sym_AMP_EQ] = ACTIONS(2010),
    [anon_sym_PERCENT_EQ] = ACTIONS(2010),
    [anon_sym_GT_GT_EQ] = ACTIONS(2010),
    [anon_sym_LT_LT_EQ] = ACTIONS(2010),
    [anon_sym_CARET_EQ] = ACTIONS(2010),
    [anon_sym_QMARK] = ACTIONS(2012),
    [anon_sym_DOT_DOT] = ACTIONS(2012),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2010),
    [anon_sym_and] = ACTIONS(2012),
    [anon_sym_or] = ACTIONS(2012),
    [anon_sym_PIPE_PIPE] = ACTIONS(2012),
    [anon_sym_AMP_AMP] = ACTIONS(2012),
    [anon_sym_LT_LT] = ACTIONS(2012),
    [anon_sym_GT_GT] = ACTIONS(2012),
    [anon_sym_EQ_EQ] = ACTIONS(2012),
    [anon_sym_BANG_EQ] = ACTIONS(2010),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2010),
    [anon_sym_LT_EQ_GT] = ACTIONS(2010),
    [anon_sym_EQ_TILDE] = ACTIONS(2010),
    [anon_sym_BANG_TILDE] = ACTIONS(2010),
    [anon_sym_LT_EQ] = ACTIONS(2012),
    [anon_sym_GT] = ACTIONS(2012),
    [anon_sym_GT_EQ] = ACTIONS(2010),
    [anon_sym_CARET] = ACTIONS(2012),
    [anon_sym_PLUS] = ACTIONS(2012),
    [anon_sym_SLASH] = ACTIONS(2012),
    [anon_sym_PERCENT] = ACTIONS(2012),
    [anon_sym_defined_QMARK] = ACTIONS(2010),
    [anon_sym_not] = ACTIONS(2012),
    [anon_sym_BANG] = ACTIONS(2012),
    [anon_sym_TILDE] = ACTIONS(2010),
    [sym_constant] = ACTIONS(2014),
    [sym_identifier] = ACTIONS(2014),
    [sym_instance_variable] = ACTIONS(2012),
    [sym_class_variable] = ACTIONS(2012),
    [sym_global_variable] = ACTIONS(2012),
    [anon_sym_alias] = ACTIONS(2012),
    [anon_sym_defined] = ACTIONS(2012),
    [anon_sym_false] = ACTIONS(2012),
    [anon_sym_nil] = ACTIONS(2012),
    [anon_sym_self] = ACTIONS(2012),
    [anon_sym_super] = ACTIONS(2012),
    [anon_sym_true] = ACTIONS(2012),
    [anon_sym_undef] = ACTIONS(2012),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(2012),
    [sym_float] = ACTIONS(2014),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(2010),
    [anon_sym_TRUE] = ACTIONS(2012),
    [anon_sym_FALSE] = ACTIONS(2012),
    [anon_sym_NIL] = ACTIONS(2012),
    [sym_keyword__FILE__] = ACTIONS(2012),
    [sym_keyword__LINE__] = ACTIONS(2012),
    [sym_keyword__ENCODING__] = ACTIONS(2012),
    [sym__character_literal] = ACTIONS(2012),
    [anon_sym_LBRACK] = ACTIONS(2010),
    [anon_sym_DASH_GT] = ACTIONS(2010),
  },
  [3292] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__line_break] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(8946),
    [sym__binary_star] = ACTIONS(8948),
    [anon_sym_RPAREN] = ACTIONS(4284),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(8950),
    [anon_sym_SEMI] = ACTIONS(4284),
    [anon_sym_STAR_STAR] = ACTIONS(8952),
    [anon_sym_AMP] = ACTIONS(8954),
    [anon_sym_LT] = ACTIONS(8956),
    [anon_sym_if] = ACTIONS(4284),
    [anon_sym_unless] = ACTIONS(4284),
    [anon_sym_while] = ACTIONS(4284),
    [anon_sym_until] = ACTIONS(4284),
    [anon_sym_rescue] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(8958),
    [anon_sym_DOT_DOT] = ACTIONS(8960),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8962),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(8964),
    [anon_sym_AMP_AMP] = ACTIONS(8964),
    [anon_sym_LT_LT] = ACTIONS(8966),
    [anon_sym_GT_GT] = ACTIONS(8966),
    [anon_sym_EQ_EQ] = ACTIONS(8968),
    [anon_sym_BANG_EQ] = ACTIONS(8964),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8964),
    [anon_sym_LT_EQ_GT] = ACTIONS(8964),
    [anon_sym_EQ_TILDE] = ACTIONS(8964),
    [anon_sym_BANG_TILDE] = ACTIONS(8964),
    [anon_sym_LT_EQ] = ACTIONS(8956),
    [anon_sym_GT] = ACTIONS(8956),
    [anon_sym_GT_EQ] = ACTIONS(8970),
    [anon_sym_CARET] = ACTIONS(8972),
    [anon_sym_PLUS] = ACTIONS(8974),
    [anon_sym_SLASH] = ACTIONS(8952),
    [anon_sym_PERCENT] = ACTIONS(8952),
    [sym_comment] = ACTIONS(110),
  },
  [3293] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6452),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1174),
    [sym_call] = STATE(1174),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1176),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(1174),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1892),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(4752),
    [anon_sym_yield] = ACTIONS(4754),
    [anon_sym_break] = ACTIONS(4756),
    [anon_sym_next] = ACTIONS(4758),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4760),
    [anon_sym_defined_QMARK] = ACTIONS(1904),
    [anon_sym_not] = ACTIONS(4762),
    [anon_sym_BANG] = ACTIONS(1910),
    [anon_sym_TILDE] = ACTIONS(1910),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3294] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6453),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1174),
    [sym_call] = STATE(1174),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1176),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(1174),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1892),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(4752),
    [anon_sym_yield] = ACTIONS(4754),
    [anon_sym_break] = ACTIONS(4756),
    [anon_sym_next] = ACTIONS(4758),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4760),
    [anon_sym_defined_QMARK] = ACTIONS(1904),
    [anon_sym_not] = ACTIONS(4762),
    [anon_sym_BANG] = ACTIONS(1910),
    [anon_sym_TILDE] = ACTIONS(1910),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3295] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6454),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1174),
    [sym_call] = STATE(1174),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1176),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(1174),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1892),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(4752),
    [anon_sym_yield] = ACTIONS(4754),
    [anon_sym_break] = ACTIONS(4756),
    [anon_sym_next] = ACTIONS(4758),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4760),
    [anon_sym_defined_QMARK] = ACTIONS(1904),
    [anon_sym_not] = ACTIONS(4762),
    [anon_sym_BANG] = ACTIONS(1910),
    [anon_sym_TILDE] = ACTIONS(1910),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3296] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(8982),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_RPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [3297] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__line_break] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(4774),
    [sym__binary_star] = ACTIONS(4776),
    [anon_sym_RPAREN] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(4778),
    [anon_sym_SEMI] = ACTIONS(2210),
    [anon_sym_STAR_STAR] = ACTIONS(4780),
    [anon_sym_AMP] = ACTIONS(4782),
    [anon_sym_LT] = ACTIONS(4784),
    [anon_sym_if] = ACTIONS(2210),
    [anon_sym_unless] = ACTIONS(2210),
    [anon_sym_while] = ACTIONS(2210),
    [anon_sym_until] = ACTIONS(2210),
    [anon_sym_rescue] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(4786),
    [anon_sym_DOT_DOT] = ACTIONS(4788),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4790),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(4792),
    [anon_sym_AMP_AMP] = ACTIONS(4792),
    [anon_sym_LT_LT] = ACTIONS(4794),
    [anon_sym_GT_GT] = ACTIONS(4794),
    [anon_sym_EQ_EQ] = ACTIONS(4796),
    [anon_sym_BANG_EQ] = ACTIONS(4792),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4792),
    [anon_sym_LT_EQ_GT] = ACTIONS(4792),
    [anon_sym_EQ_TILDE] = ACTIONS(4792),
    [anon_sym_BANG_TILDE] = ACTIONS(4792),
    [anon_sym_LT_EQ] = ACTIONS(4784),
    [anon_sym_GT] = ACTIONS(4784),
    [anon_sym_GT_EQ] = ACTIONS(4798),
    [anon_sym_CARET] = ACTIONS(4800),
    [anon_sym_PLUS] = ACTIONS(4802),
    [anon_sym_SLASH] = ACTIONS(4780),
    [anon_sym_PERCENT] = ACTIONS(4780),
    [sym_comment] = ACTIONS(110),
  },
  [3298] = {
    [sym_heredoc_end] = STATE(1444),
    [aux_sym_argument_list_repeat1] = STATE(6457),
    [aux_sym_argument_list_repeat2] = STATE(1445),
    [sym__simple_heredoc_body] = ACTIONS(2268),
    [sym__heredoc_body_beginning] = ACTIONS(2270),
    [sym__line_break] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_RPAREN] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(8984),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_STAR_STAR] = ACTIONS(2272),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_if] = ACTIONS(2272),
    [anon_sym_unless] = ACTIONS(2272),
    [anon_sym_while] = ACTIONS(2272),
    [anon_sym_until] = ACTIONS(2272),
    [anon_sym_rescue] = ACTIONS(2272),
    [anon_sym_EQ_GT] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2272),
    [anon_sym_AMP_AMP] = ACTIONS(2272),
    [anon_sym_LT_LT] = ACTIONS(2272),
    [anon_sym_GT_GT] = ACTIONS(2272),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2272),
    [anon_sym_PLUS] = ACTIONS(2272),
    [anon_sym_SLASH] = ACTIONS(2272),
    [anon_sym_PERCENT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(110),
  },
  [3299] = {
    [sym__keyword_colon] = ACTIONS(8986),
    [sym_comment] = ACTIONS(110),
  },
  [3300] = {
    [sym_string] = STATE(611),
    [aux_sym_chained_string_repeat1] = STATE(612),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(20),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(8982),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_RPAREN] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(120),
  },
  [3301] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_RPAREN] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(4780),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [3302] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(4774),
    [sym__binary_star] = ACTIONS(4776),
    [anon_sym_RPAREN] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(4778),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(4780),
    [anon_sym_AMP] = ACTIONS(4782),
    [anon_sym_LT] = ACTIONS(4784),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(4786),
    [anon_sym_DOT_DOT] = ACTIONS(4788),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4790),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(4792),
    [anon_sym_AMP_AMP] = ACTIONS(4792),
    [anon_sym_LT_LT] = ACTIONS(4794),
    [anon_sym_GT_GT] = ACTIONS(4794),
    [anon_sym_EQ_EQ] = ACTIONS(4796),
    [anon_sym_BANG_EQ] = ACTIONS(4792),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4792),
    [anon_sym_LT_EQ_GT] = ACTIONS(4792),
    [anon_sym_EQ_TILDE] = ACTIONS(4792),
    [anon_sym_BANG_TILDE] = ACTIONS(4792),
    [anon_sym_LT_EQ] = ACTIONS(4784),
    [anon_sym_GT] = ACTIONS(4784),
    [anon_sym_GT_EQ] = ACTIONS(4798),
    [anon_sym_CARET] = ACTIONS(4800),
    [anon_sym_PLUS] = ACTIONS(4802),
    [anon_sym_SLASH] = ACTIONS(4780),
    [anon_sym_PERCENT] = ACTIONS(4780),
    [sym_comment] = ACTIONS(110),
  },
  [3303] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6459),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3283),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3284),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(4742),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4744),
    [anon_sym_defined_QMARK] = ACTIONS(4746),
    [anon_sym_not] = ACTIONS(4748),
    [anon_sym_BANG] = ACTIONS(4750),
    [anon_sym_TILDE] = ACTIONS(4750),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3304] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6460),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1174),
    [sym_call] = STATE(1174),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1176),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(1174),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1892),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(4752),
    [anon_sym_yield] = ACTIONS(4754),
    [anon_sym_break] = ACTIONS(4756),
    [anon_sym_next] = ACTIONS(4758),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4760),
    [anon_sym_defined_QMARK] = ACTIONS(1904),
    [anon_sym_not] = ACTIONS(4762),
    [anon_sym_BANG] = ACTIONS(1910),
    [anon_sym_TILDE] = ACTIONS(1910),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3305] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6461),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1174),
    [sym_call] = STATE(1174),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1176),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(1174),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1892),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(4752),
    [anon_sym_yield] = ACTIONS(4754),
    [anon_sym_break] = ACTIONS(4756),
    [anon_sym_next] = ACTIONS(4758),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4760),
    [anon_sym_defined_QMARK] = ACTIONS(1904),
    [anon_sym_not] = ACTIONS(4762),
    [anon_sym_BANG] = ACTIONS(1910),
    [anon_sym_TILDE] = ACTIONS(1910),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3306] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6462),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1174),
    [sym_call] = STATE(1174),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1176),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(1174),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1892),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(4752),
    [anon_sym_yield] = ACTIONS(4754),
    [anon_sym_break] = ACTIONS(4756),
    [anon_sym_next] = ACTIONS(4758),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4760),
    [anon_sym_defined_QMARK] = ACTIONS(1904),
    [anon_sym_not] = ACTIONS(4762),
    [anon_sym_BANG] = ACTIONS(1910),
    [anon_sym_TILDE] = ACTIONS(1910),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3307] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6463),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1174),
    [sym_call] = STATE(1174),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1176),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(1174),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1892),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(4752),
    [anon_sym_yield] = ACTIONS(4754),
    [anon_sym_break] = ACTIONS(4756),
    [anon_sym_next] = ACTIONS(4758),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4760),
    [anon_sym_defined_QMARK] = ACTIONS(1904),
    [anon_sym_not] = ACTIONS(4762),
    [anon_sym_BANG] = ACTIONS(1910),
    [anon_sym_TILDE] = ACTIONS(1910),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3308] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6464),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1174),
    [sym_call] = STATE(1174),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1176),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(1174),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1892),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(4752),
    [anon_sym_yield] = ACTIONS(4754),
    [anon_sym_break] = ACTIONS(4756),
    [anon_sym_next] = ACTIONS(4758),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4760),
    [anon_sym_defined_QMARK] = ACTIONS(1904),
    [anon_sym_not] = ACTIONS(4762),
    [anon_sym_BANG] = ACTIONS(1910),
    [anon_sym_TILDE] = ACTIONS(1910),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3309] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6465),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1174),
    [sym_call] = STATE(1174),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1176),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(1174),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1892),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(4752),
    [anon_sym_yield] = ACTIONS(4754),
    [anon_sym_break] = ACTIONS(4756),
    [anon_sym_next] = ACTIONS(4758),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4760),
    [anon_sym_defined_QMARK] = ACTIONS(1904),
    [anon_sym_not] = ACTIONS(4762),
    [anon_sym_BANG] = ACTIONS(1910),
    [anon_sym_TILDE] = ACTIONS(1910),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3310] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(6466),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [3311] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6467),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1174),
    [sym_call] = STATE(1174),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1176),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(1174),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1892),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(4752),
    [anon_sym_yield] = ACTIONS(4754),
    [anon_sym_break] = ACTIONS(4756),
    [anon_sym_next] = ACTIONS(4758),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4760),
    [anon_sym_defined_QMARK] = ACTIONS(1904),
    [anon_sym_not] = ACTIONS(4762),
    [anon_sym_BANG] = ACTIONS(1910),
    [anon_sym_TILDE] = ACTIONS(1910),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3312] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6468),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1174),
    [sym_call] = STATE(1174),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1176),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(1174),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1892),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(4752),
    [anon_sym_yield] = ACTIONS(4754),
    [anon_sym_break] = ACTIONS(4756),
    [anon_sym_next] = ACTIONS(4758),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4760),
    [anon_sym_defined_QMARK] = ACTIONS(1904),
    [anon_sym_not] = ACTIONS(4762),
    [anon_sym_BANG] = ACTIONS(1910),
    [anon_sym_TILDE] = ACTIONS(1910),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3313] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6469),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1174),
    [sym_call] = STATE(1174),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1176),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(1174),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1892),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(4752),
    [anon_sym_yield] = ACTIONS(4754),
    [anon_sym_break] = ACTIONS(4756),
    [anon_sym_next] = ACTIONS(4758),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4760),
    [anon_sym_defined_QMARK] = ACTIONS(1904),
    [anon_sym_not] = ACTIONS(4762),
    [anon_sym_BANG] = ACTIONS(1910),
    [anon_sym_TILDE] = ACTIONS(1910),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3314] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6470),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1174),
    [sym_call] = STATE(1174),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1176),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(1174),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1892),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(4752),
    [anon_sym_yield] = ACTIONS(4754),
    [anon_sym_break] = ACTIONS(4756),
    [anon_sym_next] = ACTIONS(4758),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4760),
    [anon_sym_defined_QMARK] = ACTIONS(1904),
    [anon_sym_not] = ACTIONS(4762),
    [anon_sym_BANG] = ACTIONS(1910),
    [anon_sym_TILDE] = ACTIONS(1910),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3315] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6471),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1174),
    [sym_call] = STATE(1174),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1176),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(1174),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1892),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(4752),
    [anon_sym_yield] = ACTIONS(4754),
    [anon_sym_break] = ACTIONS(4756),
    [anon_sym_next] = ACTIONS(4758),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4760),
    [anon_sym_defined_QMARK] = ACTIONS(1904),
    [anon_sym_not] = ACTIONS(4762),
    [anon_sym_BANG] = ACTIONS(1910),
    [anon_sym_TILDE] = ACTIONS(1910),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3316] = {
    [sym_constant] = ACTIONS(8988),
    [sym_identifier] = ACTIONS(8988),
    [sym_comment] = ACTIONS(110),
  },
  [3317] = {
    [sym_argument_list_with_parens] = STATE(6475),
    [sym__argument_list_with_parens] = STATE(6476),
    [sym_operator] = STATE(6475),
    [sym__argument_list_left_paren] = ACTIONS(8990),
    [anon_sym_PIPE] = ACTIONS(8992),
    [anon_sym_STAR] = ACTIONS(8994),
    [anon_sym_STAR_STAR] = ACTIONS(8992),
    [anon_sym_AMP] = ACTIONS(8992),
    [anon_sym_LT] = ACTIONS(8994),
    [anon_sym_DOT_DOT] = ACTIONS(8992),
    [anon_sym_LT_LT] = ACTIONS(8992),
    [anon_sym_GT_GT] = ACTIONS(8992),
    [anon_sym_EQ_EQ] = ACTIONS(8994),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8992),
    [anon_sym_LT_EQ_GT] = ACTIONS(8992),
    [anon_sym_EQ_TILDE] = ACTIONS(8992),
    [anon_sym_BANG_TILDE] = ACTIONS(8992),
    [anon_sym_LT_EQ] = ACTIONS(8994),
    [anon_sym_GT] = ACTIONS(8994),
    [anon_sym_GT_EQ] = ACTIONS(8992),
    [anon_sym_CARET] = ACTIONS(8992),
    [anon_sym_PLUS] = ACTIONS(8994),
    [anon_sym_SLASH] = ACTIONS(8992),
    [anon_sym_PERCENT] = ACTIONS(8992),
    [anon_sym_BANG] = ACTIONS(8994),
    [anon_sym_TILDE] = ACTIONS(8992),
    [sym_constant] = ACTIONS(8996),
    [sym_identifier] = ACTIONS(8996),
    [anon_sym_DASH] = ACTIONS(8994),
    [anon_sym_PLUS_AT] = ACTIONS(8992),
    [anon_sym_DASH_AT] = ACTIONS(8992),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(8994),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(8992),
    [anon_sym_BQUOTE] = ACTIONS(8992),
    [sym_comment] = ACTIONS(110),
  },
  [3318] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(6477),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1222),
    [sym_call] = STATE(1222),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1224),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1225),
    [sym__variable] = STATE(1222),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(1980),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(4858),
    [anon_sym_yield] = ACTIONS(4860),
    [anon_sym_break] = ACTIONS(4862),
    [anon_sym_next] = ACTIONS(4864),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(4866),
    [anon_sym_defined_QMARK] = ACTIONS(1990),
    [anon_sym_not] = ACTIONS(4868),
    [anon_sym_BANG] = ACTIONS(1996),
    [anon_sym_TILDE] = ACTIONS(1996),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3319] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(6478),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1222),
    [sym_call] = STATE(1222),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1224),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1225),
    [sym__variable] = STATE(1222),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(1980),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(4858),
    [anon_sym_yield] = ACTIONS(4860),
    [anon_sym_break] = ACTIONS(4862),
    [anon_sym_next] = ACTIONS(4864),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(4866),
    [anon_sym_defined_QMARK] = ACTIONS(1990),
    [anon_sym_not] = ACTIONS(4868),
    [anon_sym_BANG] = ACTIONS(1996),
    [anon_sym_TILDE] = ACTIONS(1996),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3320] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(6479),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1222),
    [sym_call] = STATE(1222),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1224),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1225),
    [sym__variable] = STATE(1222),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(1980),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(4858),
    [anon_sym_yield] = ACTIONS(4860),
    [anon_sym_break] = ACTIONS(4862),
    [anon_sym_next] = ACTIONS(4864),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(4866),
    [anon_sym_defined_QMARK] = ACTIONS(1990),
    [anon_sym_not] = ACTIONS(4868),
    [anon_sym_BANG] = ACTIONS(1996),
    [anon_sym_TILDE] = ACTIONS(1996),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3321] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(8998),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_RPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [3322] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__line_break] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(4872),
    [sym__binary_star] = ACTIONS(4874),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_RPAREN] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(4876),
    [anon_sym_SEMI] = ACTIONS(2210),
    [anon_sym_STAR_STAR] = ACTIONS(4878),
    [anon_sym_AMP] = ACTIONS(4880),
    [anon_sym_EQ] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(4882),
    [anon_sym_if] = ACTIONS(2210),
    [anon_sym_unless] = ACTIONS(2210),
    [anon_sym_while] = ACTIONS(2210),
    [anon_sym_until] = ACTIONS(2210),
    [anon_sym_rescue] = ACTIONS(2210),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_PLUS_EQ] = ACTIONS(2210),
    [anon_sym_DASH_EQ] = ACTIONS(2210),
    [anon_sym_STAR_EQ] = ACTIONS(2210),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2210),
    [anon_sym_SLASH_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2210),
    [anon_sym_AMP_EQ] = ACTIONS(2210),
    [anon_sym_PERCENT_EQ] = ACTIONS(2210),
    [anon_sym_GT_GT_EQ] = ACTIONS(2210),
    [anon_sym_LT_LT_EQ] = ACTIONS(2210),
    [anon_sym_CARET_EQ] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(4884),
    [anon_sym_DOT_DOT] = ACTIONS(4886),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4888),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(4890),
    [anon_sym_AMP_AMP] = ACTIONS(4890),
    [anon_sym_LT_LT] = ACTIONS(4892),
    [anon_sym_GT_GT] = ACTIONS(4892),
    [anon_sym_EQ_EQ] = ACTIONS(4890),
    [anon_sym_BANG_EQ] = ACTIONS(4894),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4894),
    [anon_sym_LT_EQ_GT] = ACTIONS(4894),
    [anon_sym_EQ_TILDE] = ACTIONS(4894),
    [anon_sym_BANG_TILDE] = ACTIONS(4894),
    [anon_sym_LT_EQ] = ACTIONS(4882),
    [anon_sym_GT] = ACTIONS(4882),
    [anon_sym_GT_EQ] = ACTIONS(4896),
    [anon_sym_CARET] = ACTIONS(4876),
    [anon_sym_PLUS] = ACTIONS(4898),
    [anon_sym_SLASH] = ACTIONS(4878),
    [anon_sym_PERCENT] = ACTIONS(4878),
    [sym_comment] = ACTIONS(256),
  },
  [3323] = {
    [sym_heredoc_end] = STATE(3770),
    [aux_sym_argument_list_repeat1] = STATE(6482),
    [aux_sym_argument_list_repeat2] = STATE(3771),
    [sym__simple_heredoc_body] = ACTIONS(5460),
    [sym__heredoc_body_beginning] = ACTIONS(5462),
    [sym__line_break] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_RPAREN] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(9000),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_STAR_STAR] = ACTIONS(2274),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_EQ] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_if] = ACTIONS(2272),
    [anon_sym_unless] = ACTIONS(2272),
    [anon_sym_while] = ACTIONS(2272),
    [anon_sym_until] = ACTIONS(2272),
    [anon_sym_rescue] = ACTIONS(2272),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_EQ_GT] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_PLUS_EQ] = ACTIONS(2272),
    [anon_sym_DASH_EQ] = ACTIONS(2272),
    [anon_sym_STAR_EQ] = ACTIONS(2272),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2272),
    [anon_sym_SLASH_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2272),
    [anon_sym_AMP_EQ] = ACTIONS(2272),
    [anon_sym_PERCENT_EQ] = ACTIONS(2272),
    [anon_sym_GT_GT_EQ] = ACTIONS(2272),
    [anon_sym_LT_LT_EQ] = ACTIONS(2272),
    [anon_sym_CARET_EQ] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2274),
    [anon_sym_AMP_AMP] = ACTIONS(2274),
    [anon_sym_LT_LT] = ACTIONS(2274),
    [anon_sym_GT_GT] = ACTIONS(2274),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2274),
    [anon_sym_PLUS] = ACTIONS(2274),
    [anon_sym_SLASH] = ACTIONS(2274),
    [anon_sym_PERCENT] = ACTIONS(2274),
    [sym_comment] = ACTIONS(256),
  },
  [3324] = {
    [sym__keyword_colon] = ACTIONS(9002),
    [sym_comment] = ACTIONS(110),
  },
  [3325] = {
    [sym_string] = STATE(2203),
    [aux_sym_chained_string_repeat1] = STATE(2204),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(8998),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_RPAREN] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(3266),
  },
  [3326] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1172),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1174),
    [sym_call] = STATE(1174),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(3780),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1176),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(1174),
    [sym_reserved_identifier] = STATE(1178),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(1179),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(6484),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__block_ampersand] = ACTIONS(1888),
    [sym__splat_star] = ACTIONS(1890),
    [sym__unary_minus] = ACTIONS(1892),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(9004),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(1896),
    [anon_sym_yield] = ACTIONS(1898),
    [anon_sym_break] = ACTIONS(1900),
    [anon_sym_next] = ACTIONS(1902),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(4760),
    [anon_sym_defined_QMARK] = ACTIONS(1904),
    [anon_sym_not] = ACTIONS(1906),
    [anon_sym_BANG] = ACTIONS(1910),
    [anon_sym_TILDE] = ACTIONS(1910),
    [sym_constant] = ACTIONS(1912),
    [sym_identifier] = ACTIONS(1912),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3327] = {
    [sym_heredoc_end] = STATE(1444),
    [aux_sym_argument_list_repeat2] = STATE(3783),
    [sym__simple_heredoc_body] = ACTIONS(2268),
    [sym__heredoc_body_beginning] = ACTIONS(2270),
    [sym__line_break] = ACTIONS(5472),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_RPAREN] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(9006),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_SEMI] = ACTIONS(5472),
    [anon_sym_STAR_STAR] = ACTIONS(5472),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_if] = ACTIONS(5472),
    [anon_sym_unless] = ACTIONS(5472),
    [anon_sym_while] = ACTIONS(5472),
    [anon_sym_until] = ACTIONS(5472),
    [anon_sym_rescue] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5472),
    [anon_sym_AMP_AMP] = ACTIONS(5472),
    [anon_sym_LT_LT] = ACTIONS(5472),
    [anon_sym_GT_GT] = ACTIONS(5472),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5472),
    [anon_sym_PLUS] = ACTIONS(5472),
    [anon_sym_SLASH] = ACTIONS(5472),
    [anon_sym_PERCENT] = ACTIONS(5472),
    [sym_comment] = ACTIONS(110),
  },
  [3328] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6486),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1174),
    [sym_call] = STATE(1174),
    [sym_method_call] = STATE(338),
    [sym_splat_argument] = STATE(3785),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_right_assignment_list] = STATE(3786),
    [sym__arg_or_splat_arg] = STATE(6487),
    [sym_left_assignment_list] = STATE(1176),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(1174),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(4768),
    [sym__unary_minus] = ACTIONS(1892),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(4752),
    [anon_sym_yield] = ACTIONS(4754),
    [anon_sym_break] = ACTIONS(4756),
    [anon_sym_next] = ACTIONS(4758),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4760),
    [anon_sym_defined_QMARK] = ACTIONS(1904),
    [anon_sym_not] = ACTIONS(4762),
    [anon_sym_BANG] = ACTIONS(1910),
    [anon_sym_TILDE] = ACTIONS(1910),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3329] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6488),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1174),
    [sym_call] = STATE(1174),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1176),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(1174),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1892),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(4752),
    [anon_sym_yield] = ACTIONS(4754),
    [anon_sym_break] = ACTIONS(4756),
    [anon_sym_next] = ACTIONS(4758),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4760),
    [anon_sym_defined_QMARK] = ACTIONS(1904),
    [anon_sym_not] = ACTIONS(4762),
    [anon_sym_BANG] = ACTIONS(1910),
    [anon_sym_TILDE] = ACTIONS(1910),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3330] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6489),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3283),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3284),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(4742),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4744),
    [anon_sym_defined_QMARK] = ACTIONS(4746),
    [anon_sym_not] = ACTIONS(4748),
    [anon_sym_BANG] = ACTIONS(4750),
    [anon_sym_TILDE] = ACTIONS(4750),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3331] = {
    [sym__heredoc_body_middle] = ACTIONS(4108),
    [sym__heredoc_body_end] = ACTIONS(9008),
    [anon_sym_if] = ACTIONS(4112),
    [anon_sym_unless] = ACTIONS(4114),
    [anon_sym_while] = ACTIONS(4116),
    [anon_sym_until] = ACTIONS(4118),
    [anon_sym_rescue] = ACTIONS(4120),
    [sym_comment] = ACTIONS(110),
  },
  [3332] = {
    [sym__statement] = STATE(6491),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [3333] = {
    [sym__top_level_statement] = STATE(4841),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(236),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(237),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(240),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(243),
    [sym__variable] = STATE(239),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(396),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_RPAREN] = ACTIONS(6994),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(412),
    [anon_sym_defined_QMARK] = ACTIONS(414),
    [anon_sym_not] = ACTIONS(416),
    [anon_sym_BANG] = ACTIONS(418),
    [anon_sym_TILDE] = ACTIONS(418),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3334] = {
    [sym__simple_heredoc_body] = ACTIONS(6998),
    [sym__heredoc_body_beginning] = ACTIONS(6998),
    [sym__line_break] = ACTIONS(6998),
    [sym__binary_minus] = ACTIONS(1938),
    [sym__binary_star] = ACTIONS(1940),
    [anon_sym_RPAREN] = ACTIONS(6998),
    [anon_sym_PIPE] = ACTIONS(1942),
    [anon_sym_SEMI] = ACTIONS(6998),
    [anon_sym_STAR_STAR] = ACTIONS(1944),
    [anon_sym_AMP] = ACTIONS(1946),
    [anon_sym_LT] = ACTIONS(1948),
    [anon_sym_if] = ACTIONS(6998),
    [anon_sym_unless] = ACTIONS(6998),
    [anon_sym_while] = ACTIONS(6998),
    [anon_sym_until] = ACTIONS(6998),
    [anon_sym_rescue] = ACTIONS(6998),
    [anon_sym_QMARK] = ACTIONS(1950),
    [anon_sym_DOT_DOT] = ACTIONS(1952),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1954),
    [anon_sym_and] = ACTIONS(1956),
    [anon_sym_or] = ACTIONS(1956),
    [anon_sym_PIPE_PIPE] = ACTIONS(1958),
    [anon_sym_AMP_AMP] = ACTIONS(1958),
    [anon_sym_LT_LT] = ACTIONS(1960),
    [anon_sym_GT_GT] = ACTIONS(1960),
    [anon_sym_EQ_EQ] = ACTIONS(1962),
    [anon_sym_BANG_EQ] = ACTIONS(1958),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1958),
    [anon_sym_LT_EQ_GT] = ACTIONS(1958),
    [anon_sym_EQ_TILDE] = ACTIONS(1958),
    [anon_sym_BANG_TILDE] = ACTIONS(1958),
    [anon_sym_LT_EQ] = ACTIONS(1948),
    [anon_sym_GT] = ACTIONS(1948),
    [anon_sym_GT_EQ] = ACTIONS(1964),
    [anon_sym_CARET] = ACTIONS(1966),
    [anon_sym_PLUS] = ACTIONS(1968),
    [anon_sym_SLASH] = ACTIONS(1944),
    [anon_sym_PERCENT] = ACTIONS(1944),
    [sym_comment] = ACTIONS(110),
  },
  [3335] = {
    [sym__simple_heredoc_body] = ACTIONS(7000),
    [sym__heredoc_body_beginning] = ACTIONS(7000),
    [sym__line_break] = ACTIONS(7000),
    [sym__binary_minus] = ACTIONS(1938),
    [sym__binary_star] = ACTIONS(1940),
    [anon_sym_RPAREN] = ACTIONS(7000),
    [anon_sym_PIPE] = ACTIONS(1942),
    [anon_sym_SEMI] = ACTIONS(7000),
    [anon_sym_STAR_STAR] = ACTIONS(1944),
    [anon_sym_AMP] = ACTIONS(1946),
    [anon_sym_LT] = ACTIONS(1948),
    [anon_sym_if] = ACTIONS(7000),
    [anon_sym_unless] = ACTIONS(7000),
    [anon_sym_while] = ACTIONS(7000),
    [anon_sym_until] = ACTIONS(7000),
    [anon_sym_rescue] = ACTIONS(7000),
    [anon_sym_QMARK] = ACTIONS(1950),
    [anon_sym_DOT_DOT] = ACTIONS(1952),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1954),
    [anon_sym_and] = ACTIONS(1956),
    [anon_sym_or] = ACTIONS(1956),
    [anon_sym_PIPE_PIPE] = ACTIONS(1958),
    [anon_sym_AMP_AMP] = ACTIONS(1958),
    [anon_sym_LT_LT] = ACTIONS(1960),
    [anon_sym_GT_GT] = ACTIONS(1960),
    [anon_sym_EQ_EQ] = ACTIONS(1962),
    [anon_sym_BANG_EQ] = ACTIONS(1958),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1958),
    [anon_sym_LT_EQ_GT] = ACTIONS(1958),
    [anon_sym_EQ_TILDE] = ACTIONS(1958),
    [anon_sym_BANG_TILDE] = ACTIONS(1958),
    [anon_sym_LT_EQ] = ACTIONS(1948),
    [anon_sym_GT] = ACTIONS(1948),
    [anon_sym_GT_EQ] = ACTIONS(1964),
    [anon_sym_CARET] = ACTIONS(1966),
    [anon_sym_PLUS] = ACTIONS(1968),
    [anon_sym_SLASH] = ACTIONS(1944),
    [anon_sym_PERCENT] = ACTIONS(1944),
    [sym_comment] = ACTIONS(110),
  },
  [3336] = {
    [sym__simple_heredoc_body] = ACTIONS(7002),
    [sym__heredoc_body_beginning] = ACTIONS(7002),
    [sym__line_break] = ACTIONS(7002),
    [sym__binary_minus] = ACTIONS(1938),
    [sym__binary_star] = ACTIONS(1940),
    [anon_sym_RPAREN] = ACTIONS(7002),
    [anon_sym_PIPE] = ACTIONS(1942),
    [anon_sym_SEMI] = ACTIONS(7002),
    [anon_sym_STAR_STAR] = ACTIONS(1944),
    [anon_sym_AMP] = ACTIONS(1946),
    [anon_sym_LT] = ACTIONS(1948),
    [anon_sym_if] = ACTIONS(7002),
    [anon_sym_unless] = ACTIONS(7002),
    [anon_sym_while] = ACTIONS(7002),
    [anon_sym_until] = ACTIONS(7002),
    [anon_sym_rescue] = ACTIONS(7002),
    [anon_sym_QMARK] = ACTIONS(1950),
    [anon_sym_DOT_DOT] = ACTIONS(1952),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1954),
    [anon_sym_and] = ACTIONS(1956),
    [anon_sym_or] = ACTIONS(1956),
    [anon_sym_PIPE_PIPE] = ACTIONS(1958),
    [anon_sym_AMP_AMP] = ACTIONS(1958),
    [anon_sym_LT_LT] = ACTIONS(1960),
    [anon_sym_GT_GT] = ACTIONS(1960),
    [anon_sym_EQ_EQ] = ACTIONS(1962),
    [anon_sym_BANG_EQ] = ACTIONS(1958),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1958),
    [anon_sym_LT_EQ_GT] = ACTIONS(1958),
    [anon_sym_EQ_TILDE] = ACTIONS(1958),
    [anon_sym_BANG_TILDE] = ACTIONS(1958),
    [anon_sym_LT_EQ] = ACTIONS(1948),
    [anon_sym_GT] = ACTIONS(1948),
    [anon_sym_GT_EQ] = ACTIONS(1964),
    [anon_sym_CARET] = ACTIONS(1966),
    [anon_sym_PLUS] = ACTIONS(1968),
    [anon_sym_SLASH] = ACTIONS(1944),
    [anon_sym_PERCENT] = ACTIONS(1944),
    [sym_comment] = ACTIONS(110),
  },
  [3337] = {
    [sym__simple_heredoc_body] = ACTIONS(7004),
    [sym__heredoc_body_beginning] = ACTIONS(7004),
    [sym__line_break] = ACTIONS(7004),
    [sym__binary_minus] = ACTIONS(1938),
    [sym__binary_star] = ACTIONS(1940),
    [anon_sym_RPAREN] = ACTIONS(7004),
    [anon_sym_PIPE] = ACTIONS(1942),
    [anon_sym_SEMI] = ACTIONS(7004),
    [anon_sym_STAR_STAR] = ACTIONS(1944),
    [anon_sym_AMP] = ACTIONS(1946),
    [anon_sym_LT] = ACTIONS(1948),
    [anon_sym_if] = ACTIONS(7004),
    [anon_sym_unless] = ACTIONS(7004),
    [anon_sym_while] = ACTIONS(7004),
    [anon_sym_until] = ACTIONS(7004),
    [anon_sym_rescue] = ACTIONS(7004),
    [anon_sym_QMARK] = ACTIONS(1950),
    [anon_sym_DOT_DOT] = ACTIONS(1952),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1954),
    [anon_sym_and] = ACTIONS(1956),
    [anon_sym_or] = ACTIONS(1956),
    [anon_sym_PIPE_PIPE] = ACTIONS(1958),
    [anon_sym_AMP_AMP] = ACTIONS(1958),
    [anon_sym_LT_LT] = ACTIONS(1960),
    [anon_sym_GT_GT] = ACTIONS(1960),
    [anon_sym_EQ_EQ] = ACTIONS(1962),
    [anon_sym_BANG_EQ] = ACTIONS(1958),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1958),
    [anon_sym_LT_EQ_GT] = ACTIONS(1958),
    [anon_sym_EQ_TILDE] = ACTIONS(1958),
    [anon_sym_BANG_TILDE] = ACTIONS(1958),
    [anon_sym_LT_EQ] = ACTIONS(1948),
    [anon_sym_GT] = ACTIONS(1948),
    [anon_sym_GT_EQ] = ACTIONS(1964),
    [anon_sym_CARET] = ACTIONS(1966),
    [anon_sym_PLUS] = ACTIONS(1968),
    [anon_sym_SLASH] = ACTIONS(1944),
    [anon_sym_PERCENT] = ACTIONS(1944),
    [sym_comment] = ACTIONS(110),
  },
  [3338] = {
    [sym__simple_heredoc_body] = ACTIONS(7006),
    [sym__heredoc_body_beginning] = ACTIONS(7006),
    [sym__line_break] = ACTIONS(7006),
    [sym__binary_minus] = ACTIONS(1938),
    [sym__binary_star] = ACTIONS(1940),
    [anon_sym_RPAREN] = ACTIONS(7006),
    [anon_sym_PIPE] = ACTIONS(1942),
    [anon_sym_SEMI] = ACTIONS(7006),
    [anon_sym_STAR_STAR] = ACTIONS(1944),
    [anon_sym_AMP] = ACTIONS(1946),
    [anon_sym_LT] = ACTIONS(1948),
    [anon_sym_if] = ACTIONS(7006),
    [anon_sym_unless] = ACTIONS(7006),
    [anon_sym_while] = ACTIONS(7006),
    [anon_sym_until] = ACTIONS(7006),
    [anon_sym_rescue] = ACTIONS(7006),
    [anon_sym_QMARK] = ACTIONS(1950),
    [anon_sym_DOT_DOT] = ACTIONS(1952),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1954),
    [anon_sym_and] = ACTIONS(1956),
    [anon_sym_or] = ACTIONS(1956),
    [anon_sym_PIPE_PIPE] = ACTIONS(1958),
    [anon_sym_AMP_AMP] = ACTIONS(1958),
    [anon_sym_LT_LT] = ACTIONS(1960),
    [anon_sym_GT_GT] = ACTIONS(1960),
    [anon_sym_EQ_EQ] = ACTIONS(1962),
    [anon_sym_BANG_EQ] = ACTIONS(1958),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1958),
    [anon_sym_LT_EQ_GT] = ACTIONS(1958),
    [anon_sym_EQ_TILDE] = ACTIONS(1958),
    [anon_sym_BANG_TILDE] = ACTIONS(1958),
    [anon_sym_LT_EQ] = ACTIONS(1948),
    [anon_sym_GT] = ACTIONS(1948),
    [anon_sym_GT_EQ] = ACTIONS(1964),
    [anon_sym_CARET] = ACTIONS(1966),
    [anon_sym_PLUS] = ACTIONS(1968),
    [anon_sym_SLASH] = ACTIONS(1944),
    [anon_sym_PERCENT] = ACTIONS(1944),
    [sym_comment] = ACTIONS(110),
  },
  [3339] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__line_break] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(1940),
    [anon_sym_RPAREN] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_SEMI] = ACTIONS(7008),
    [anon_sym_STAR_STAR] = ACTIONS(1944),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_if] = ACTIONS(7008),
    [anon_sym_unless] = ACTIONS(7008),
    [anon_sym_while] = ACTIONS(7008),
    [anon_sym_until] = ACTIONS(7008),
    [anon_sym_rescue] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7008),
    [anon_sym_AMP_AMP] = ACTIONS(7008),
    [anon_sym_LT_LT] = ACTIONS(7008),
    [anon_sym_GT_GT] = ACTIONS(7008),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7008),
    [anon_sym_PLUS] = ACTIONS(7008),
    [anon_sym_SLASH] = ACTIONS(1944),
    [anon_sym_PERCENT] = ACTIONS(1944),
    [sym_comment] = ACTIONS(110),
  },
  [3340] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__line_break] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_RPAREN] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_SEMI] = ACTIONS(7012),
    [anon_sym_STAR_STAR] = ACTIONS(1944),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_if] = ACTIONS(7012),
    [anon_sym_unless] = ACTIONS(7012),
    [anon_sym_while] = ACTIONS(7012),
    [anon_sym_until] = ACTIONS(7012),
    [anon_sym_rescue] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7012),
    [anon_sym_AMP_AMP] = ACTIONS(7012),
    [anon_sym_LT_LT] = ACTIONS(7012),
    [anon_sym_GT_GT] = ACTIONS(7012),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7012),
    [anon_sym_PLUS] = ACTIONS(7012),
    [anon_sym_SLASH] = ACTIONS(7012),
    [anon_sym_PERCENT] = ACTIONS(7012),
    [sym_comment] = ACTIONS(110),
  },
  [3341] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(1938),
    [sym__binary_star] = ACTIONS(1940),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(1944),
    [anon_sym_AMP] = ACTIONS(1946),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(1960),
    [anon_sym_GT_GT] = ACTIONS(1960),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(1968),
    [anon_sym_SLASH] = ACTIONS(1944),
    [anon_sym_PERCENT] = ACTIONS(1944),
    [sym_comment] = ACTIONS(110),
  },
  [3342] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(1944),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7016),
    [anon_sym_PERCENT] = ACTIONS(7016),
    [sym_comment] = ACTIONS(110),
  },
  [3343] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(1938),
    [sym__binary_star] = ACTIONS(1940),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(1944),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(1960),
    [anon_sym_GT_GT] = ACTIONS(1960),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(1968),
    [anon_sym_SLASH] = ACTIONS(1944),
    [anon_sym_PERCENT] = ACTIONS(1944),
    [sym_comment] = ACTIONS(110),
  },
  [3344] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(1938),
    [sym__binary_star] = ACTIONS(1940),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(1942),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(1944),
    [anon_sym_AMP] = ACTIONS(1946),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(1960),
    [anon_sym_GT_GT] = ACTIONS(1960),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(1966),
    [anon_sym_PLUS] = ACTIONS(1968),
    [anon_sym_SLASH] = ACTIONS(1944),
    [anon_sym_PERCENT] = ACTIONS(1944),
    [sym_comment] = ACTIONS(110),
  },
  [3345] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(9010),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [3346] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__line_break] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(1938),
    [sym__binary_star] = ACTIONS(1940),
    [anon_sym_RPAREN] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(1942),
    [anon_sym_SEMI] = ACTIONS(7108),
    [anon_sym_STAR_STAR] = ACTIONS(1944),
    [anon_sym_AMP] = ACTIONS(1946),
    [anon_sym_LT] = ACTIONS(1948),
    [anon_sym_if] = ACTIONS(7108),
    [anon_sym_unless] = ACTIONS(7108),
    [anon_sym_while] = ACTIONS(7108),
    [anon_sym_until] = ACTIONS(7108),
    [anon_sym_rescue] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(1952),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1954),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(1958),
    [anon_sym_AMP_AMP] = ACTIONS(1958),
    [anon_sym_LT_LT] = ACTIONS(1960),
    [anon_sym_GT_GT] = ACTIONS(1960),
    [anon_sym_EQ_EQ] = ACTIONS(1962),
    [anon_sym_BANG_EQ] = ACTIONS(1958),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1958),
    [anon_sym_LT_EQ_GT] = ACTIONS(1958),
    [anon_sym_EQ_TILDE] = ACTIONS(1958),
    [anon_sym_BANG_TILDE] = ACTIONS(1958),
    [anon_sym_LT_EQ] = ACTIONS(1948),
    [anon_sym_GT] = ACTIONS(1948),
    [anon_sym_GT_EQ] = ACTIONS(1964),
    [anon_sym_CARET] = ACTIONS(1966),
    [anon_sym_PLUS] = ACTIONS(1968),
    [anon_sym_SLASH] = ACTIONS(1944),
    [anon_sym_PERCENT] = ACTIONS(1944),
    [sym_comment] = ACTIONS(110),
  },
  [3347] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(1938),
    [sym__binary_star] = ACTIONS(1940),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(1942),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(1944),
    [anon_sym_AMP] = ACTIONS(1946),
    [anon_sym_LT] = ACTIONS(1948),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(1950),
    [anon_sym_DOT_DOT] = ACTIONS(1952),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1954),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(1958),
    [anon_sym_AMP_AMP] = ACTIONS(1958),
    [anon_sym_LT_LT] = ACTIONS(1960),
    [anon_sym_GT_GT] = ACTIONS(1960),
    [anon_sym_EQ_EQ] = ACTIONS(1962),
    [anon_sym_BANG_EQ] = ACTIONS(1958),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1958),
    [anon_sym_LT_EQ_GT] = ACTIONS(1958),
    [anon_sym_EQ_TILDE] = ACTIONS(1958),
    [anon_sym_BANG_TILDE] = ACTIONS(1958),
    [anon_sym_LT_EQ] = ACTIONS(1948),
    [anon_sym_GT] = ACTIONS(1948),
    [anon_sym_GT_EQ] = ACTIONS(1964),
    [anon_sym_CARET] = ACTIONS(1966),
    [anon_sym_PLUS] = ACTIONS(1968),
    [anon_sym_SLASH] = ACTIONS(1944),
    [anon_sym_PERCENT] = ACTIONS(1944),
    [sym_comment] = ACTIONS(110),
  },
  [3348] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(1938),
    [sym__binary_star] = ACTIONS(1940),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(1942),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(1944),
    [anon_sym_AMP] = ACTIONS(1946),
    [anon_sym_LT] = ACTIONS(1948),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(1960),
    [anon_sym_GT_GT] = ACTIONS(1960),
    [anon_sym_EQ_EQ] = ACTIONS(1962),
    [anon_sym_BANG_EQ] = ACTIONS(1958),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1958),
    [anon_sym_LT_EQ_GT] = ACTIONS(1958),
    [anon_sym_EQ_TILDE] = ACTIONS(1958),
    [anon_sym_BANG_TILDE] = ACTIONS(1958),
    [anon_sym_LT_EQ] = ACTIONS(1948),
    [anon_sym_GT] = ACTIONS(1948),
    [anon_sym_GT_EQ] = ACTIONS(1964),
    [anon_sym_CARET] = ACTIONS(1966),
    [anon_sym_PLUS] = ACTIONS(1968),
    [anon_sym_SLASH] = ACTIONS(1944),
    [anon_sym_PERCENT] = ACTIONS(1944),
    [sym_comment] = ACTIONS(110),
  },
  [3349] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(1938),
    [sym__binary_star] = ACTIONS(1940),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(1944),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(1968),
    [anon_sym_SLASH] = ACTIONS(1944),
    [anon_sym_PERCENT] = ACTIONS(1944),
    [sym_comment] = ACTIONS(110),
  },
  [3350] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(1940),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(1944),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(1944),
    [anon_sym_PERCENT] = ACTIONS(1944),
    [sym_comment] = ACTIONS(110),
  },
  [3351] = {
    [sym__simple_string] = ACTIONS(7116),
    [sym__simple_symbol] = ACTIONS(7116),
    [sym__simple_subshell] = ACTIONS(7116),
    [sym__simple_regex] = ACTIONS(7116),
    [sym__simple_word_list] = ACTIONS(7116),
    [sym__simple_heredoc_body] = ACTIONS(7116),
    [sym__string_beginning] = ACTIONS(7116),
    [sym__symbol_beginning] = ACTIONS(7116),
    [sym__subshell_beginning] = ACTIONS(7116),
    [sym__regex_beginning] = ACTIONS(7116),
    [sym__word_list_beginning] = ACTIONS(7116),
    [sym__heredoc_body_beginning] = ACTIONS(7116),
    [sym_heredoc_beginning] = ACTIONS(7116),
    [sym__line_break] = ACTIONS(7116),
    [sym__element_reference_left_bracket] = ACTIONS(7116),
    [sym__block_ampersand] = ACTIONS(7116),
    [sym__splat_star] = ACTIONS(7116),
    [sym__argument_list_left_paren] = ACTIONS(7116),
    [sym__scope_double_colon] = ACTIONS(7116),
    [sym__unary_minus] = ACTIONS(7116),
    [sym__binary_minus] = ACTIONS(7116),
    [sym__binary_star] = ACTIONS(7116),
    [anon_sym_LBRACE] = ACTIONS(7116),
    [anon_sym_RBRACE] = ACTIONS(7116),
    [anon_sym_def] = ACTIONS(7118),
    [anon_sym_LPAREN] = ACTIONS(7116),
    [anon_sym_RPAREN] = ACTIONS(7116),
    [anon_sym_DOT] = ACTIONS(7118),
    [anon_sym_COLON_COLON] = ACTIONS(7116),
    [anon_sym_end] = ACTIONS(7118),
    [anon_sym_COMMA] = ACTIONS(7116),
    [anon_sym_PIPE] = ACTIONS(7118),
    [anon_sym_SEMI] = ACTIONS(7116),
    [anon_sym_STAR] = ACTIONS(7118),
    [anon_sym_STAR_STAR] = ACTIONS(7118),
    [anon_sym_AMP] = ACTIONS(7118),
    [anon_sym_EQ] = ACTIONS(7118),
    [anon_sym_class] = ACTIONS(7118),
    [anon_sym_LT] = ACTIONS(7118),
    [anon_sym_module] = ACTIONS(7118),
    [anon_sym_return] = ACTIONS(7118),
    [anon_sym_yield] = ACTIONS(7118),
    [anon_sym_break] = ACTIONS(7118),
    [anon_sym_next] = ACTIONS(7118),
    [anon_sym_redo] = ACTIONS(7118),
    [anon_sym_retry] = ACTIONS(7118),
    [anon_sym_if] = ACTIONS(7118),
    [anon_sym_unless] = ACTIONS(7118),
    [anon_sym_while] = ACTIONS(7118),
    [anon_sym_until] = ACTIONS(7118),
    [anon_sym_rescue] = ACTIONS(7118),
    [anon_sym_for] = ACTIONS(7118),
    [anon_sym_in] = ACTIONS(7118),
    [anon_sym_do] = ACTIONS(7118),
    [anon_sym_case] = ACTIONS(7118),
    [anon_sym_when] = ACTIONS(7118),
    [anon_sym_elsif] = ACTIONS(7118),
    [anon_sym_else] = ACTIONS(7118),
    [anon_sym_then] = ACTIONS(7118),
    [anon_sym_begin] = ACTIONS(7118),
    [anon_sym_ensure] = ACTIONS(7118),
    [anon_sym_AMP_DOT] = ACTIONS(7116),
    [anon_sym_PLUS_EQ] = ACTIONS(7116),
    [anon_sym_DASH_EQ] = ACTIONS(7116),
    [anon_sym_STAR_EQ] = ACTIONS(7116),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7116),
    [anon_sym_SLASH_EQ] = ACTIONS(7116),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7116),
    [anon_sym_PIPE_EQ] = ACTIONS(7116),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7116),
    [anon_sym_AMP_EQ] = ACTIONS(7116),
    [anon_sym_PERCENT_EQ] = ACTIONS(7116),
    [anon_sym_GT_GT_EQ] = ACTIONS(7116),
    [anon_sym_LT_LT_EQ] = ACTIONS(7116),
    [anon_sym_CARET_EQ] = ACTIONS(7116),
    [anon_sym_QMARK] = ACTIONS(7118),
    [anon_sym_DOT_DOT] = ACTIONS(7118),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7116),
    [anon_sym_and] = ACTIONS(7118),
    [anon_sym_or] = ACTIONS(7118),
    [anon_sym_PIPE_PIPE] = ACTIONS(7118),
    [anon_sym_AMP_AMP] = ACTIONS(7118),
    [anon_sym_LT_LT] = ACTIONS(7118),
    [anon_sym_GT_GT] = ACTIONS(7118),
    [anon_sym_EQ_EQ] = ACTIONS(7118),
    [anon_sym_BANG_EQ] = ACTIONS(7116),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7116),
    [anon_sym_LT_EQ_GT] = ACTIONS(7116),
    [anon_sym_EQ_TILDE] = ACTIONS(7116),
    [anon_sym_BANG_TILDE] = ACTIONS(7116),
    [anon_sym_LT_EQ] = ACTIONS(7118),
    [anon_sym_GT] = ACTIONS(7118),
    [anon_sym_GT_EQ] = ACTIONS(7116),
    [anon_sym_CARET] = ACTIONS(7118),
    [anon_sym_PLUS] = ACTIONS(7118),
    [anon_sym_SLASH] = ACTIONS(7118),
    [anon_sym_PERCENT] = ACTIONS(7118),
    [anon_sym_defined_QMARK] = ACTIONS(7116),
    [anon_sym_not] = ACTIONS(7118),
    [anon_sym_BANG] = ACTIONS(7118),
    [anon_sym_TILDE] = ACTIONS(7116),
    [sym_constant] = ACTIONS(7120),
    [sym_identifier] = ACTIONS(7120),
    [sym_instance_variable] = ACTIONS(7118),
    [sym_class_variable] = ACTIONS(7118),
    [sym_global_variable] = ACTIONS(7118),
    [anon_sym_alias] = ACTIONS(7118),
    [anon_sym_defined] = ACTIONS(7118),
    [anon_sym_false] = ACTIONS(7118),
    [anon_sym_nil] = ACTIONS(7118),
    [anon_sym_self] = ACTIONS(7118),
    [anon_sym_super] = ACTIONS(7118),
    [anon_sym_true] = ACTIONS(7118),
    [anon_sym_undef] = ACTIONS(7118),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(7118),
    [sym_float] = ACTIONS(7120),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(7116),
    [anon_sym_TRUE] = ACTIONS(7118),
    [anon_sym_FALSE] = ACTIONS(7118),
    [anon_sym_NIL] = ACTIONS(7118),
    [sym_keyword__FILE__] = ACTIONS(7118),
    [sym_keyword__LINE__] = ACTIONS(7118),
    [sym_keyword__ENCODING__] = ACTIONS(7118),
    [sym__character_literal] = ACTIONS(7118),
    [anon_sym_LBRACK] = ACTIONS(7116),
    [anon_sym_DASH_GT] = ACTIONS(7116),
  },
  [3352] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1382),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(6494),
    [sym__argument] = STATE(1385),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1386),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1387),
    [sym__variable] = STATE(1383),
    [sym_reserved_identifier] = STATE(1388),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1389),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(6495),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(2154),
    [sym__splat_star] = ACTIONS(2156),
    [sym__unary_minus] = ACTIONS(2158),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(9012),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2162),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2164),
    [anon_sym_yield] = ACTIONS(2166),
    [anon_sym_break] = ACTIONS(2168),
    [anon_sym_next] = ACTIONS(2170),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2172),
    [anon_sym_defined_QMARK] = ACTIONS(2174),
    [anon_sym_not] = ACTIONS(2176),
    [anon_sym_BANG] = ACTIONS(2178),
    [anon_sym_TILDE] = ACTIONS(2178),
    [sym_constant] = ACTIONS(2180),
    [sym_identifier] = ACTIONS(2180),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3353] = {
    [sym__simple_string] = ACTIONS(1856),
    [sym__simple_symbol] = ACTIONS(1856),
    [sym__simple_subshell] = ACTIONS(1856),
    [sym__simple_regex] = ACTIONS(1856),
    [sym__simple_word_list] = ACTIONS(1856),
    [sym__simple_heredoc_body] = ACTIONS(1856),
    [sym__string_beginning] = ACTIONS(1856),
    [sym__symbol_beginning] = ACTIONS(1856),
    [sym__subshell_beginning] = ACTIONS(1856),
    [sym__regex_beginning] = ACTIONS(1856),
    [sym__word_list_beginning] = ACTIONS(1856),
    [sym__heredoc_body_beginning] = ACTIONS(1856),
    [sym_heredoc_beginning] = ACTIONS(1856),
    [sym__line_break] = ACTIONS(1856),
    [sym__element_reference_left_bracket] = ACTIONS(1856),
    [sym__block_ampersand] = ACTIONS(1856),
    [sym__splat_star] = ACTIONS(1856),
    [sym__argument_list_left_paren] = ACTIONS(1856),
    [sym__scope_double_colon] = ACTIONS(1856),
    [sym__unary_minus] = ACTIONS(1856),
    [sym__binary_minus] = ACTIONS(1856),
    [sym__binary_star] = ACTIONS(1856),
    [anon_sym_LBRACE] = ACTIONS(1856),
    [anon_sym_RBRACE] = ACTIONS(1856),
    [anon_sym_def] = ACTIONS(1858),
    [anon_sym_LPAREN] = ACTIONS(1856),
    [anon_sym_RPAREN] = ACTIONS(1856),
    [anon_sym_DOT] = ACTIONS(1858),
    [anon_sym_COLON_COLON] = ACTIONS(1856),
    [anon_sym_end] = ACTIONS(1858),
    [anon_sym_COMMA] = ACTIONS(1856),
    [anon_sym_PIPE] = ACTIONS(1858),
    [anon_sym_SEMI] = ACTIONS(1856),
    [anon_sym_STAR] = ACTIONS(1858),
    [anon_sym_STAR_STAR] = ACTIONS(1858),
    [anon_sym_AMP] = ACTIONS(1858),
    [anon_sym_EQ] = ACTIONS(1858),
    [anon_sym_class] = ACTIONS(1858),
    [anon_sym_LT] = ACTIONS(1858),
    [anon_sym_module] = ACTIONS(1858),
    [anon_sym_return] = ACTIONS(1858),
    [anon_sym_yield] = ACTIONS(1858),
    [anon_sym_break] = ACTIONS(1858),
    [anon_sym_next] = ACTIONS(1858),
    [anon_sym_redo] = ACTIONS(1858),
    [anon_sym_retry] = ACTIONS(1858),
    [anon_sym_if] = ACTIONS(1858),
    [anon_sym_unless] = ACTIONS(1858),
    [anon_sym_while] = ACTIONS(1858),
    [anon_sym_until] = ACTIONS(1858),
    [anon_sym_rescue] = ACTIONS(1858),
    [anon_sym_for] = ACTIONS(1858),
    [anon_sym_in] = ACTIONS(1858),
    [anon_sym_do] = ACTIONS(1858),
    [anon_sym_case] = ACTIONS(1858),
    [anon_sym_when] = ACTIONS(1858),
    [anon_sym_elsif] = ACTIONS(1858),
    [anon_sym_else] = ACTIONS(1858),
    [anon_sym_then] = ACTIONS(1858),
    [anon_sym_begin] = ACTIONS(1858),
    [anon_sym_ensure] = ACTIONS(1858),
    [anon_sym_AMP_DOT] = ACTIONS(1856),
    [anon_sym_PLUS_EQ] = ACTIONS(1856),
    [anon_sym_DASH_EQ] = ACTIONS(1856),
    [anon_sym_STAR_EQ] = ACTIONS(1856),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1856),
    [anon_sym_SLASH_EQ] = ACTIONS(1856),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1856),
    [anon_sym_PIPE_EQ] = ACTIONS(1856),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1856),
    [anon_sym_AMP_EQ] = ACTIONS(1856),
    [anon_sym_PERCENT_EQ] = ACTIONS(1856),
    [anon_sym_GT_GT_EQ] = ACTIONS(1856),
    [anon_sym_LT_LT_EQ] = ACTIONS(1856),
    [anon_sym_CARET_EQ] = ACTIONS(1856),
    [anon_sym_QMARK] = ACTIONS(1858),
    [anon_sym_DOT_DOT] = ACTIONS(1858),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1856),
    [anon_sym_and] = ACTIONS(1858),
    [anon_sym_or] = ACTIONS(1858),
    [anon_sym_PIPE_PIPE] = ACTIONS(1858),
    [anon_sym_AMP_AMP] = ACTIONS(1858),
    [anon_sym_LT_LT] = ACTIONS(1858),
    [anon_sym_GT_GT] = ACTIONS(1858),
    [anon_sym_EQ_EQ] = ACTIONS(1858),
    [anon_sym_BANG_EQ] = ACTIONS(1856),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1856),
    [anon_sym_LT_EQ_GT] = ACTIONS(1856),
    [anon_sym_EQ_TILDE] = ACTIONS(1856),
    [anon_sym_BANG_TILDE] = ACTIONS(1856),
    [anon_sym_LT_EQ] = ACTIONS(1858),
    [anon_sym_GT] = ACTIONS(1858),
    [anon_sym_GT_EQ] = ACTIONS(1856),
    [anon_sym_CARET] = ACTIONS(1858),
    [anon_sym_PLUS] = ACTIONS(1858),
    [anon_sym_SLASH] = ACTIONS(1858),
    [anon_sym_PERCENT] = ACTIONS(1858),
    [anon_sym_defined_QMARK] = ACTIONS(1856),
    [anon_sym_not] = ACTIONS(1858),
    [anon_sym_BANG] = ACTIONS(1858),
    [anon_sym_TILDE] = ACTIONS(1856),
    [sym_constant] = ACTIONS(7124),
    [sym_identifier] = ACTIONS(7124),
    [sym_instance_variable] = ACTIONS(1858),
    [sym_class_variable] = ACTIONS(1858),
    [sym_global_variable] = ACTIONS(1858),
    [anon_sym_alias] = ACTIONS(1858),
    [anon_sym_defined] = ACTIONS(1858),
    [anon_sym_false] = ACTIONS(1858),
    [anon_sym_nil] = ACTIONS(1858),
    [anon_sym_self] = ACTIONS(1858),
    [anon_sym_super] = ACTIONS(1858),
    [anon_sym_true] = ACTIONS(1858),
    [anon_sym_undef] = ACTIONS(1858),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1858),
    [sym_float] = ACTIONS(7124),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1856),
    [anon_sym_TRUE] = ACTIONS(1858),
    [anon_sym_FALSE] = ACTIONS(1858),
    [anon_sym_NIL] = ACTIONS(1858),
    [sym_keyword__FILE__] = ACTIONS(1858),
    [sym_keyword__LINE__] = ACTIONS(1858),
    [sym_keyword__ENCODING__] = ACTIONS(1858),
    [sym__character_literal] = ACTIONS(1858),
    [anon_sym_LBRACK] = ACTIONS(1856),
    [anon_sym_DASH_GT] = ACTIONS(1856),
  },
  [3354] = {
    [sym__simple_string] = ACTIONS(7126),
    [sym__simple_symbol] = ACTIONS(7126),
    [sym__simple_subshell] = ACTIONS(7126),
    [sym__simple_regex] = ACTIONS(7126),
    [sym__simple_word_list] = ACTIONS(7126),
    [sym__simple_heredoc_body] = ACTIONS(7126),
    [sym__string_beginning] = ACTIONS(7126),
    [sym__symbol_beginning] = ACTIONS(7126),
    [sym__subshell_beginning] = ACTIONS(7126),
    [sym__regex_beginning] = ACTIONS(7126),
    [sym__word_list_beginning] = ACTIONS(7126),
    [sym__heredoc_body_beginning] = ACTIONS(7126),
    [sym_heredoc_beginning] = ACTIONS(7126),
    [sym__line_break] = ACTIONS(7126),
    [sym__element_reference_left_bracket] = ACTIONS(7126),
    [sym__block_ampersand] = ACTIONS(7126),
    [sym__splat_star] = ACTIONS(7126),
    [sym__argument_list_left_paren] = ACTIONS(7126),
    [sym__scope_double_colon] = ACTIONS(7126),
    [sym__unary_minus] = ACTIONS(7126),
    [sym__binary_minus] = ACTIONS(7126),
    [sym__binary_star] = ACTIONS(7126),
    [anon_sym_LBRACE] = ACTIONS(7126),
    [anon_sym_RBRACE] = ACTIONS(7126),
    [anon_sym_def] = ACTIONS(7128),
    [anon_sym_LPAREN] = ACTIONS(7126),
    [anon_sym_RPAREN] = ACTIONS(7126),
    [anon_sym_DOT] = ACTIONS(7128),
    [anon_sym_COLON_COLON] = ACTIONS(7126),
    [anon_sym_end] = ACTIONS(7128),
    [anon_sym_COMMA] = ACTIONS(7126),
    [anon_sym_PIPE] = ACTIONS(7128),
    [anon_sym_SEMI] = ACTIONS(7126),
    [anon_sym_STAR] = ACTIONS(7128),
    [anon_sym_STAR_STAR] = ACTIONS(7128),
    [anon_sym_AMP] = ACTIONS(7128),
    [anon_sym_EQ] = ACTIONS(7128),
    [anon_sym_class] = ACTIONS(7128),
    [anon_sym_LT] = ACTIONS(7128),
    [anon_sym_module] = ACTIONS(7128),
    [anon_sym_return] = ACTIONS(7128),
    [anon_sym_yield] = ACTIONS(7128),
    [anon_sym_break] = ACTIONS(7128),
    [anon_sym_next] = ACTIONS(7128),
    [anon_sym_redo] = ACTIONS(7128),
    [anon_sym_retry] = ACTIONS(7128),
    [anon_sym_if] = ACTIONS(7128),
    [anon_sym_unless] = ACTIONS(7128),
    [anon_sym_while] = ACTIONS(7128),
    [anon_sym_until] = ACTIONS(7128),
    [anon_sym_rescue] = ACTIONS(7128),
    [anon_sym_for] = ACTIONS(7128),
    [anon_sym_in] = ACTIONS(7128),
    [anon_sym_do] = ACTIONS(7128),
    [anon_sym_case] = ACTIONS(7128),
    [anon_sym_when] = ACTIONS(7128),
    [anon_sym_elsif] = ACTIONS(7128),
    [anon_sym_else] = ACTIONS(7128),
    [anon_sym_then] = ACTIONS(7128),
    [anon_sym_begin] = ACTIONS(7128),
    [anon_sym_ensure] = ACTIONS(7128),
    [anon_sym_AMP_DOT] = ACTIONS(7126),
    [anon_sym_PLUS_EQ] = ACTIONS(7126),
    [anon_sym_DASH_EQ] = ACTIONS(7126),
    [anon_sym_STAR_EQ] = ACTIONS(7126),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7126),
    [anon_sym_SLASH_EQ] = ACTIONS(7126),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7126),
    [anon_sym_PIPE_EQ] = ACTIONS(7126),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7126),
    [anon_sym_AMP_EQ] = ACTIONS(7126),
    [anon_sym_PERCENT_EQ] = ACTIONS(7126),
    [anon_sym_GT_GT_EQ] = ACTIONS(7126),
    [anon_sym_LT_LT_EQ] = ACTIONS(7126),
    [anon_sym_CARET_EQ] = ACTIONS(7126),
    [anon_sym_QMARK] = ACTIONS(7128),
    [anon_sym_DOT_DOT] = ACTIONS(7128),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7126),
    [anon_sym_and] = ACTIONS(7128),
    [anon_sym_or] = ACTIONS(7128),
    [anon_sym_PIPE_PIPE] = ACTIONS(7128),
    [anon_sym_AMP_AMP] = ACTIONS(7128),
    [anon_sym_LT_LT] = ACTIONS(7128),
    [anon_sym_GT_GT] = ACTIONS(7128),
    [anon_sym_EQ_EQ] = ACTIONS(7128),
    [anon_sym_BANG_EQ] = ACTIONS(7126),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7126),
    [anon_sym_LT_EQ_GT] = ACTIONS(7126),
    [anon_sym_EQ_TILDE] = ACTIONS(7126),
    [anon_sym_BANG_TILDE] = ACTIONS(7126),
    [anon_sym_LT_EQ] = ACTIONS(7128),
    [anon_sym_GT] = ACTIONS(7128),
    [anon_sym_GT_EQ] = ACTIONS(7126),
    [anon_sym_CARET] = ACTIONS(7128),
    [anon_sym_PLUS] = ACTIONS(7128),
    [anon_sym_SLASH] = ACTIONS(7128),
    [anon_sym_PERCENT] = ACTIONS(7128),
    [anon_sym_defined_QMARK] = ACTIONS(7126),
    [anon_sym_not] = ACTIONS(7128),
    [anon_sym_BANG] = ACTIONS(7128),
    [anon_sym_TILDE] = ACTIONS(7126),
    [sym_constant] = ACTIONS(7130),
    [sym_identifier] = ACTIONS(7130),
    [sym_instance_variable] = ACTIONS(7128),
    [sym_class_variable] = ACTIONS(7128),
    [sym_global_variable] = ACTIONS(7128),
    [anon_sym_alias] = ACTIONS(7128),
    [anon_sym_defined] = ACTIONS(7128),
    [anon_sym_false] = ACTIONS(7128),
    [anon_sym_nil] = ACTIONS(7128),
    [anon_sym_self] = ACTIONS(7128),
    [anon_sym_super] = ACTIONS(7128),
    [anon_sym_true] = ACTIONS(7128),
    [anon_sym_undef] = ACTIONS(7128),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(7128),
    [sym_float] = ACTIONS(7130),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(7126),
    [anon_sym_TRUE] = ACTIONS(7128),
    [anon_sym_FALSE] = ACTIONS(7128),
    [anon_sym_NIL] = ACTIONS(7128),
    [sym_keyword__FILE__] = ACTIONS(7128),
    [sym_keyword__LINE__] = ACTIONS(7128),
    [sym_keyword__ENCODING__] = ACTIONS(7128),
    [sym__character_literal] = ACTIONS(7128),
    [anon_sym_LBRACK] = ACTIONS(7126),
    [anon_sym_DASH_GT] = ACTIONS(7126),
  },
  [3355] = {
    [sym__simple_string] = ACTIONS(7132),
    [sym__simple_symbol] = ACTIONS(7132),
    [sym__simple_subshell] = ACTIONS(7132),
    [sym__simple_regex] = ACTIONS(7132),
    [sym__simple_word_list] = ACTIONS(7132),
    [sym__simple_heredoc_body] = ACTIONS(7132),
    [sym__string_beginning] = ACTIONS(7132),
    [sym__symbol_beginning] = ACTIONS(7132),
    [sym__subshell_beginning] = ACTIONS(7132),
    [sym__regex_beginning] = ACTIONS(7132),
    [sym__word_list_beginning] = ACTIONS(7132),
    [sym__heredoc_body_beginning] = ACTIONS(7132),
    [sym_heredoc_beginning] = ACTIONS(7132),
    [sym__line_break] = ACTIONS(7132),
    [sym__element_reference_left_bracket] = ACTIONS(7132),
    [sym__block_ampersand] = ACTIONS(7132),
    [sym__splat_star] = ACTIONS(7132),
    [sym__argument_list_left_paren] = ACTIONS(7132),
    [sym__scope_double_colon] = ACTIONS(7132),
    [sym__unary_minus] = ACTIONS(7132),
    [sym__binary_minus] = ACTIONS(7132),
    [sym__binary_star] = ACTIONS(7132),
    [anon_sym_LBRACE] = ACTIONS(7132),
    [anon_sym_RBRACE] = ACTIONS(7132),
    [anon_sym_def] = ACTIONS(7134),
    [anon_sym_LPAREN] = ACTIONS(7132),
    [anon_sym_RPAREN] = ACTIONS(7132),
    [anon_sym_DOT] = ACTIONS(7134),
    [anon_sym_COLON_COLON] = ACTIONS(7132),
    [anon_sym_end] = ACTIONS(7134),
    [anon_sym_COMMA] = ACTIONS(7132),
    [anon_sym_PIPE] = ACTIONS(7134),
    [anon_sym_SEMI] = ACTIONS(7132),
    [anon_sym_STAR] = ACTIONS(7134),
    [anon_sym_STAR_STAR] = ACTIONS(7134),
    [anon_sym_AMP] = ACTIONS(7134),
    [anon_sym_EQ] = ACTIONS(7134),
    [anon_sym_class] = ACTIONS(7134),
    [anon_sym_LT] = ACTIONS(7134),
    [anon_sym_module] = ACTIONS(7134),
    [anon_sym_return] = ACTIONS(7134),
    [anon_sym_yield] = ACTIONS(7134),
    [anon_sym_break] = ACTIONS(7134),
    [anon_sym_next] = ACTIONS(7134),
    [anon_sym_redo] = ACTIONS(7134),
    [anon_sym_retry] = ACTIONS(7134),
    [anon_sym_if] = ACTIONS(7134),
    [anon_sym_unless] = ACTIONS(7134),
    [anon_sym_while] = ACTIONS(7134),
    [anon_sym_until] = ACTIONS(7134),
    [anon_sym_rescue] = ACTIONS(7134),
    [anon_sym_for] = ACTIONS(7134),
    [anon_sym_in] = ACTIONS(7134),
    [anon_sym_do] = ACTIONS(7134),
    [anon_sym_case] = ACTIONS(7134),
    [anon_sym_when] = ACTIONS(7134),
    [anon_sym_elsif] = ACTIONS(7134),
    [anon_sym_else] = ACTIONS(7134),
    [anon_sym_then] = ACTIONS(7134),
    [anon_sym_begin] = ACTIONS(7134),
    [anon_sym_ensure] = ACTIONS(7134),
    [anon_sym_AMP_DOT] = ACTIONS(7132),
    [anon_sym_PLUS_EQ] = ACTIONS(7132),
    [anon_sym_DASH_EQ] = ACTIONS(7132),
    [anon_sym_STAR_EQ] = ACTIONS(7132),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7132),
    [anon_sym_SLASH_EQ] = ACTIONS(7132),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7132),
    [anon_sym_PIPE_EQ] = ACTIONS(7132),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7132),
    [anon_sym_AMP_EQ] = ACTIONS(7132),
    [anon_sym_PERCENT_EQ] = ACTIONS(7132),
    [anon_sym_GT_GT_EQ] = ACTIONS(7132),
    [anon_sym_LT_LT_EQ] = ACTIONS(7132),
    [anon_sym_CARET_EQ] = ACTIONS(7132),
    [anon_sym_QMARK] = ACTIONS(7134),
    [anon_sym_DOT_DOT] = ACTIONS(7134),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7132),
    [anon_sym_and] = ACTIONS(7134),
    [anon_sym_or] = ACTIONS(7134),
    [anon_sym_PIPE_PIPE] = ACTIONS(7134),
    [anon_sym_AMP_AMP] = ACTIONS(7134),
    [anon_sym_LT_LT] = ACTIONS(7134),
    [anon_sym_GT_GT] = ACTIONS(7134),
    [anon_sym_EQ_EQ] = ACTIONS(7134),
    [anon_sym_BANG_EQ] = ACTIONS(7132),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7132),
    [anon_sym_LT_EQ_GT] = ACTIONS(7132),
    [anon_sym_EQ_TILDE] = ACTIONS(7132),
    [anon_sym_BANG_TILDE] = ACTIONS(7132),
    [anon_sym_LT_EQ] = ACTIONS(7134),
    [anon_sym_GT] = ACTIONS(7134),
    [anon_sym_GT_EQ] = ACTIONS(7132),
    [anon_sym_CARET] = ACTIONS(7134),
    [anon_sym_PLUS] = ACTIONS(7134),
    [anon_sym_SLASH] = ACTIONS(7134),
    [anon_sym_PERCENT] = ACTIONS(7134),
    [anon_sym_defined_QMARK] = ACTIONS(7132),
    [anon_sym_not] = ACTIONS(7134),
    [anon_sym_BANG] = ACTIONS(7134),
    [anon_sym_TILDE] = ACTIONS(7132),
    [sym_constant] = ACTIONS(7136),
    [sym_identifier] = ACTIONS(7136),
    [sym_instance_variable] = ACTIONS(7134),
    [sym_class_variable] = ACTIONS(7134),
    [sym_global_variable] = ACTIONS(7134),
    [anon_sym_alias] = ACTIONS(7134),
    [anon_sym_defined] = ACTIONS(7134),
    [anon_sym_false] = ACTIONS(7134),
    [anon_sym_nil] = ACTIONS(7134),
    [anon_sym_self] = ACTIONS(7134),
    [anon_sym_super] = ACTIONS(7134),
    [anon_sym_true] = ACTIONS(7134),
    [anon_sym_undef] = ACTIONS(7134),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(7134),
    [sym_float] = ACTIONS(7136),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(7132),
    [anon_sym_TRUE] = ACTIONS(7134),
    [anon_sym_FALSE] = ACTIONS(7134),
    [anon_sym_NIL] = ACTIONS(7134),
    [sym_keyword__FILE__] = ACTIONS(7134),
    [sym_keyword__LINE__] = ACTIONS(7134),
    [sym_keyword__ENCODING__] = ACTIONS(7134),
    [sym__character_literal] = ACTIONS(7134),
    [anon_sym_LBRACK] = ACTIONS(7132),
    [anon_sym_DASH_GT] = ACTIONS(7132),
  },
  [3356] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(6496),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3366),
    [sym_call] = STATE(3366),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(3367),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3368),
    [sym__variable] = STATE(3366),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(4840),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(4842),
    [anon_sym_yield] = ACTIONS(4844),
    [anon_sym_break] = ACTIONS(4846),
    [anon_sym_next] = ACTIONS(4848),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(4850),
    [anon_sym_defined_QMARK] = ACTIONS(4852),
    [anon_sym_not] = ACTIONS(4854),
    [anon_sym_BANG] = ACTIONS(4856),
    [anon_sym_TILDE] = ACTIONS(4856),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [3357] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1220),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1222),
    [sym_call] = STATE(1222),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(4940),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(1223),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1224),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1225),
    [sym__variable] = STATE(1222),
    [sym_reserved_identifier] = STATE(1226),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1227),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(1976),
    [sym__splat_star] = ACTIONS(1978),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(1980),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_RPAREN] = ACTIONS(532),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(544),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(1982),
    [anon_sym_yield] = ACTIONS(1984),
    [anon_sym_break] = ACTIONS(1986),
    [anon_sym_next] = ACTIONS(1988),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_PLUS_EQ] = ACTIONS(532),
    [anon_sym_DASH_EQ] = ACTIONS(532),
    [anon_sym_STAR_EQ] = ACTIONS(532),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(532),
    [anon_sym_SLASH_EQ] = ACTIONS(532),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(532),
    [anon_sym_PIPE_EQ] = ACTIONS(532),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(532),
    [anon_sym_AMP_EQ] = ACTIONS(532),
    [anon_sym_PERCENT_EQ] = ACTIONS(532),
    [anon_sym_GT_GT_EQ] = ACTIONS(532),
    [anon_sym_LT_LT_EQ] = ACTIONS(532),
    [anon_sym_CARET_EQ] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(544),
    [anon_sym_AMP_AMP] = ACTIONS(544),
    [anon_sym_LT_LT] = ACTIONS(544),
    [anon_sym_GT_GT] = ACTIONS(544),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(544),
    [anon_sym_PERCENT] = ACTIONS(544),
    [anon_sym_defined_QMARK] = ACTIONS(1990),
    [anon_sym_not] = ACTIONS(1992),
    [anon_sym_BANG] = ACTIONS(1994),
    [anon_sym_TILDE] = ACTIONS(1996),
    [sym_constant] = ACTIONS(1998),
    [sym_identifier] = ACTIONS(1998),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3358] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1220),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1222),
    [sym_call] = STATE(1222),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(4941),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(1223),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1224),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1225),
    [sym__variable] = STATE(1222),
    [sym_reserved_identifier] = STATE(1226),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1227),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(1976),
    [sym__splat_star] = ACTIONS(1978),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(1980),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_RPAREN] = ACTIONS(602),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(604),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(1982),
    [anon_sym_yield] = ACTIONS(1984),
    [anon_sym_break] = ACTIONS(1986),
    [anon_sym_next] = ACTIONS(1988),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_PLUS_EQ] = ACTIONS(602),
    [anon_sym_DASH_EQ] = ACTIONS(602),
    [anon_sym_STAR_EQ] = ACTIONS(602),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(602),
    [anon_sym_SLASH_EQ] = ACTIONS(602),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(602),
    [anon_sym_PIPE_EQ] = ACTIONS(602),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(602),
    [anon_sym_AMP_EQ] = ACTIONS(602),
    [anon_sym_PERCENT_EQ] = ACTIONS(602),
    [anon_sym_GT_GT_EQ] = ACTIONS(602),
    [anon_sym_LT_LT_EQ] = ACTIONS(602),
    [anon_sym_CARET_EQ] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(604),
    [anon_sym_AMP_AMP] = ACTIONS(604),
    [anon_sym_LT_LT] = ACTIONS(604),
    [anon_sym_GT_GT] = ACTIONS(604),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(604),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(604),
    [anon_sym_PERCENT] = ACTIONS(604),
    [anon_sym_defined_QMARK] = ACTIONS(1990),
    [anon_sym_not] = ACTIONS(1992),
    [anon_sym_BANG] = ACTIONS(1994),
    [anon_sym_TILDE] = ACTIONS(1996),
    [sym_constant] = ACTIONS(1998),
    [sym_identifier] = ACTIONS(1998),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3359] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1220),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1222),
    [sym_call] = STATE(1222),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(4942),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(1223),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1224),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1225),
    [sym__variable] = STATE(1222),
    [sym_reserved_identifier] = STATE(1226),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1227),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(1976),
    [sym__splat_star] = ACTIONS(1978),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(1980),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_RPAREN] = ACTIONS(606),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(608),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(1982),
    [anon_sym_yield] = ACTIONS(1984),
    [anon_sym_break] = ACTIONS(1986),
    [anon_sym_next] = ACTIONS(1988),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_PLUS_EQ] = ACTIONS(606),
    [anon_sym_DASH_EQ] = ACTIONS(606),
    [anon_sym_STAR_EQ] = ACTIONS(606),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(606),
    [anon_sym_SLASH_EQ] = ACTIONS(606),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(606),
    [anon_sym_PIPE_EQ] = ACTIONS(606),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(606),
    [anon_sym_AMP_EQ] = ACTIONS(606),
    [anon_sym_PERCENT_EQ] = ACTIONS(606),
    [anon_sym_GT_GT_EQ] = ACTIONS(606),
    [anon_sym_LT_LT_EQ] = ACTIONS(606),
    [anon_sym_CARET_EQ] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(608),
    [anon_sym_AMP_AMP] = ACTIONS(608),
    [anon_sym_LT_LT] = ACTIONS(608),
    [anon_sym_GT_GT] = ACTIONS(608),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(608),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(608),
    [anon_sym_PERCENT] = ACTIONS(608),
    [anon_sym_defined_QMARK] = ACTIONS(1990),
    [anon_sym_not] = ACTIONS(1992),
    [anon_sym_BANG] = ACTIONS(1994),
    [anon_sym_TILDE] = ACTIONS(1996),
    [sym_constant] = ACTIONS(1998),
    [sym_identifier] = ACTIONS(1998),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3360] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1220),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1222),
    [sym_call] = STATE(1222),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(4943),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(1223),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1224),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1225),
    [sym__variable] = STATE(1222),
    [sym_reserved_identifier] = STATE(1226),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1227),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(1976),
    [sym__splat_star] = ACTIONS(1978),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(1980),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_RPAREN] = ACTIONS(610),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(612),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(1982),
    [anon_sym_yield] = ACTIONS(1984),
    [anon_sym_break] = ACTIONS(1986),
    [anon_sym_next] = ACTIONS(1988),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_PLUS_EQ] = ACTIONS(610),
    [anon_sym_DASH_EQ] = ACTIONS(610),
    [anon_sym_STAR_EQ] = ACTIONS(610),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(610),
    [anon_sym_SLASH_EQ] = ACTIONS(610),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(610),
    [anon_sym_PIPE_EQ] = ACTIONS(610),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(610),
    [anon_sym_AMP_EQ] = ACTIONS(610),
    [anon_sym_PERCENT_EQ] = ACTIONS(610),
    [anon_sym_GT_GT_EQ] = ACTIONS(610),
    [anon_sym_LT_LT_EQ] = ACTIONS(610),
    [anon_sym_CARET_EQ] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(612),
    [anon_sym_AMP_AMP] = ACTIONS(612),
    [anon_sym_LT_LT] = ACTIONS(612),
    [anon_sym_GT_GT] = ACTIONS(612),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(612),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(612),
    [anon_sym_PERCENT] = ACTIONS(612),
    [anon_sym_defined_QMARK] = ACTIONS(1990),
    [anon_sym_not] = ACTIONS(1992),
    [anon_sym_BANG] = ACTIONS(1994),
    [anon_sym_TILDE] = ACTIONS(1996),
    [sym_constant] = ACTIONS(1998),
    [sym_identifier] = ACTIONS(1998),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3361] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(6497),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3366),
    [sym_call] = STATE(3366),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(3367),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3368),
    [sym__variable] = STATE(3366),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(4840),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(4842),
    [anon_sym_yield] = ACTIONS(4844),
    [anon_sym_break] = ACTIONS(4846),
    [anon_sym_next] = ACTIONS(4848),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(4850),
    [anon_sym_defined_QMARK] = ACTIONS(4852),
    [anon_sym_not] = ACTIONS(4854),
    [anon_sym_BANG] = ACTIONS(4856),
    [anon_sym_TILDE] = ACTIONS(4856),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [3362] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(6498),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3366),
    [sym_call] = STATE(3366),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(3367),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3368),
    [sym__variable] = STATE(3366),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(4840),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(4842),
    [anon_sym_yield] = ACTIONS(4844),
    [anon_sym_break] = ACTIONS(4846),
    [anon_sym_next] = ACTIONS(4848),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(4850),
    [anon_sym_defined_QMARK] = ACTIONS(4852),
    [anon_sym_not] = ACTIONS(4854),
    [anon_sym_BANG] = ACTIONS(4856),
    [anon_sym_TILDE] = ACTIONS(4856),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [3363] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(4957),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3366),
    [sym_call] = STATE(3366),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(3367),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3368),
    [sym__variable] = STATE(3366),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(4840),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(4842),
    [anon_sym_yield] = ACTIONS(4844),
    [anon_sym_break] = ACTIONS(4846),
    [anon_sym_next] = ACTIONS(4848),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(4850),
    [anon_sym_defined_QMARK] = ACTIONS(4852),
    [anon_sym_not] = ACTIONS(4854),
    [anon_sym_BANG] = ACTIONS(4856),
    [anon_sym_TILDE] = ACTIONS(4856),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [3364] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__line_break] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(9014),
    [sym__binary_star] = ACTIONS(9016),
    [anon_sym_LBRACE] = ACTIONS(5298),
    [anon_sym_RPAREN] = ACTIONS(5298),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(9018),
    [anon_sym_SEMI] = ACTIONS(5298),
    [anon_sym_STAR_STAR] = ACTIONS(9020),
    [anon_sym_AMP] = ACTIONS(9022),
    [anon_sym_EQ] = ACTIONS(5304),
    [anon_sym_LT] = ACTIONS(9024),
    [anon_sym_if] = ACTIONS(5298),
    [anon_sym_unless] = ACTIONS(5298),
    [anon_sym_while] = ACTIONS(5298),
    [anon_sym_until] = ACTIONS(5298),
    [anon_sym_rescue] = ACTIONS(5298),
    [anon_sym_do] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_PLUS_EQ] = ACTIONS(5298),
    [anon_sym_DASH_EQ] = ACTIONS(5298),
    [anon_sym_STAR_EQ] = ACTIONS(5298),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5298),
    [anon_sym_SLASH_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5298),
    [anon_sym_AMP_EQ] = ACTIONS(5298),
    [anon_sym_PERCENT_EQ] = ACTIONS(5298),
    [anon_sym_GT_GT_EQ] = ACTIONS(5298),
    [anon_sym_LT_LT_EQ] = ACTIONS(5298),
    [anon_sym_CARET_EQ] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(9026),
    [anon_sym_DOT_DOT] = ACTIONS(9028),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9030),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(9032),
    [anon_sym_AMP_AMP] = ACTIONS(9032),
    [anon_sym_LT_LT] = ACTIONS(9034),
    [anon_sym_GT_GT] = ACTIONS(9034),
    [anon_sym_EQ_EQ] = ACTIONS(9032),
    [anon_sym_BANG_EQ] = ACTIONS(9036),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9036),
    [anon_sym_LT_EQ_GT] = ACTIONS(9036),
    [anon_sym_EQ_TILDE] = ACTIONS(9036),
    [anon_sym_BANG_TILDE] = ACTIONS(9036),
    [anon_sym_LT_EQ] = ACTIONS(9024),
    [anon_sym_GT] = ACTIONS(9024),
    [anon_sym_GT_EQ] = ACTIONS(9038),
    [anon_sym_CARET] = ACTIONS(9018),
    [anon_sym_PLUS] = ACTIONS(9040),
    [anon_sym_SLASH] = ACTIONS(9020),
    [anon_sym_PERCENT] = ACTIONS(9020),
    [sym_comment] = ACTIONS(256),
  },
  [3365] = {
    [sym__simple_heredoc_body] = ACTIONS(968),
    [sym__heredoc_body_beginning] = ACTIONS(968),
    [sym__line_break] = ACTIONS(968),
    [sym__element_reference_left_bracket] = ACTIONS(970),
    [sym__scope_double_colon] = ACTIONS(1970),
    [sym__binary_minus] = ACTIONS(968),
    [sym__binary_star] = ACTIONS(968),
    [anon_sym_LBRACE] = ACTIONS(968),
    [anon_sym_RBRACE] = ACTIONS(968),
    [anon_sym_RPAREN] = ACTIONS(968),
    [anon_sym_DOT] = ACTIONS(1972),
    [anon_sym_end] = ACTIONS(968),
    [anon_sym_COMMA] = ACTIONS(968),
    [anon_sym_PIPE] = ACTIONS(976),
    [anon_sym_SEMI] = ACTIONS(968),
    [anon_sym_STAR_STAR] = ACTIONS(976),
    [anon_sym_AMP] = ACTIONS(976),
    [anon_sym_EQ] = ACTIONS(976),
    [anon_sym_LT] = ACTIONS(976),
    [anon_sym_if] = ACTIONS(968),
    [anon_sym_unless] = ACTIONS(968),
    [anon_sym_while] = ACTIONS(968),
    [anon_sym_until] = ACTIONS(968),
    [anon_sym_rescue] = ACTIONS(968),
    [anon_sym_do] = ACTIONS(968),
    [anon_sym_when] = ACTIONS(968),
    [anon_sym_elsif] = ACTIONS(968),
    [anon_sym_else] = ACTIONS(968),
    [anon_sym_then] = ACTIONS(968),
    [anon_sym_ensure] = ACTIONS(968),
    [anon_sym_AMP_DOT] = ACTIONS(1974),
    [anon_sym_PLUS_EQ] = ACTIONS(968),
    [anon_sym_DASH_EQ] = ACTIONS(968),
    [anon_sym_STAR_EQ] = ACTIONS(968),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(968),
    [anon_sym_SLASH_EQ] = ACTIONS(968),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(968),
    [anon_sym_PIPE_EQ] = ACTIONS(968),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(968),
    [anon_sym_AMP_EQ] = ACTIONS(968),
    [anon_sym_PERCENT_EQ] = ACTIONS(968),
    [anon_sym_GT_GT_EQ] = ACTIONS(968),
    [anon_sym_LT_LT_EQ] = ACTIONS(968),
    [anon_sym_CARET_EQ] = ACTIONS(968),
    [anon_sym_QMARK] = ACTIONS(968),
    [anon_sym_DOT_DOT] = ACTIONS(976),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(968),
    [anon_sym_and] = ACTIONS(968),
    [anon_sym_or] = ACTIONS(968),
    [anon_sym_PIPE_PIPE] = ACTIONS(976),
    [anon_sym_AMP_AMP] = ACTIONS(976),
    [anon_sym_LT_LT] = ACTIONS(976),
    [anon_sym_GT_GT] = ACTIONS(976),
    [anon_sym_EQ_EQ] = ACTIONS(976),
    [anon_sym_BANG_EQ] = ACTIONS(968),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(968),
    [anon_sym_LT_EQ_GT] = ACTIONS(968),
    [anon_sym_EQ_TILDE] = ACTIONS(968),
    [anon_sym_BANG_TILDE] = ACTIONS(968),
    [anon_sym_LT_EQ] = ACTIONS(976),
    [anon_sym_GT] = ACTIONS(976),
    [anon_sym_GT_EQ] = ACTIONS(968),
    [anon_sym_CARET] = ACTIONS(976),
    [anon_sym_PLUS] = ACTIONS(976),
    [anon_sym_SLASH] = ACTIONS(976),
    [anon_sym_PERCENT] = ACTIONS(976),
    [sym_comment] = ACTIONS(256),
  },
  [3366] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1220),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1222),
    [sym_call] = STATE(1222),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(1579),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(1223),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_do_block] = STATE(602),
    [sym_block] = STATE(602),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1224),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1225),
    [sym__variable] = STATE(1222),
    [sym_reserved_identifier] = STATE(1226),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1227),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(1976),
    [sym__splat_star] = ACTIONS(1978),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(1980),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(1014),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_RPAREN] = ACTIONS(980),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(1982),
    [anon_sym_yield] = ACTIONS(1984),
    [anon_sym_break] = ACTIONS(1986),
    [anon_sym_next] = ACTIONS(1988),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(982),
    [anon_sym_unless] = ACTIONS(982),
    [anon_sym_while] = ACTIONS(982),
    [anon_sym_until] = ACTIONS(982),
    [anon_sym_rescue] = ACTIONS(982),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(982),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(1990),
    [anon_sym_not] = ACTIONS(1992),
    [anon_sym_BANG] = ACTIONS(1994),
    [anon_sym_TILDE] = ACTIONS(1996),
    [sym_constant] = ACTIONS(1998),
    [sym_identifier] = ACTIONS(1998),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3367] = {
    [anon_sym_EQ] = ACTIONS(9042),
    [sym_comment] = ACTIONS(256),
  },
  [3368] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_RPAREN] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(9044),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(9046),
    [anon_sym_DASH_EQ] = ACTIONS(9046),
    [anon_sym_STAR_EQ] = ACTIONS(9046),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9046),
    [anon_sym_SLASH_EQ] = ACTIONS(9046),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9046),
    [anon_sym_PIPE_EQ] = ACTIONS(9046),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9046),
    [anon_sym_AMP_EQ] = ACTIONS(9046),
    [anon_sym_PERCENT_EQ] = ACTIONS(9046),
    [anon_sym_GT_GT_EQ] = ACTIONS(9046),
    [anon_sym_LT_LT_EQ] = ACTIONS(9046),
    [anon_sym_CARET_EQ] = ACTIONS(9046),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [3369] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__line_break] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(9014),
    [sym__binary_star] = ACTIONS(9016),
    [anon_sym_LBRACE] = ACTIONS(5338),
    [anon_sym_RPAREN] = ACTIONS(5338),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(9018),
    [anon_sym_SEMI] = ACTIONS(5338),
    [anon_sym_STAR_STAR] = ACTIONS(9020),
    [anon_sym_AMP] = ACTIONS(9022),
    [anon_sym_EQ] = ACTIONS(5340),
    [anon_sym_LT] = ACTIONS(9024),
    [anon_sym_if] = ACTIONS(5338),
    [anon_sym_unless] = ACTIONS(5338),
    [anon_sym_while] = ACTIONS(5338),
    [anon_sym_until] = ACTIONS(5338),
    [anon_sym_rescue] = ACTIONS(5338),
    [anon_sym_do] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_PLUS_EQ] = ACTIONS(5338),
    [anon_sym_DASH_EQ] = ACTIONS(5338),
    [anon_sym_STAR_EQ] = ACTIONS(5338),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5338),
    [anon_sym_SLASH_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5338),
    [anon_sym_AMP_EQ] = ACTIONS(5338),
    [anon_sym_PERCENT_EQ] = ACTIONS(5338),
    [anon_sym_GT_GT_EQ] = ACTIONS(5338),
    [anon_sym_LT_LT_EQ] = ACTIONS(5338),
    [anon_sym_CARET_EQ] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(9026),
    [anon_sym_DOT_DOT] = ACTIONS(9028),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9030),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(9032),
    [anon_sym_AMP_AMP] = ACTIONS(9032),
    [anon_sym_LT_LT] = ACTIONS(9034),
    [anon_sym_GT_GT] = ACTIONS(9034),
    [anon_sym_EQ_EQ] = ACTIONS(9032),
    [anon_sym_BANG_EQ] = ACTIONS(9036),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9036),
    [anon_sym_LT_EQ_GT] = ACTIONS(9036),
    [anon_sym_EQ_TILDE] = ACTIONS(9036),
    [anon_sym_BANG_TILDE] = ACTIONS(9036),
    [anon_sym_LT_EQ] = ACTIONS(9024),
    [anon_sym_GT] = ACTIONS(9024),
    [anon_sym_GT_EQ] = ACTIONS(9038),
    [anon_sym_CARET] = ACTIONS(9018),
    [anon_sym_PLUS] = ACTIONS(9040),
    [anon_sym_SLASH] = ACTIONS(9020),
    [anon_sym_PERCENT] = ACTIONS(9020),
    [sym_comment] = ACTIONS(256),
  },
  [3370] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(3322),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1222),
    [sym_call] = STATE(1222),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2147),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(3323),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1224),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1225),
    [sym__variable] = STATE(1222),
    [sym_reserved_identifier] = STATE(3324),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(3325),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(4810),
    [sym__splat_star] = ACTIONS(4812),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(1980),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_RPAREN] = ACTIONS(532),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(544),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(1982),
    [anon_sym_yield] = ACTIONS(1984),
    [anon_sym_break] = ACTIONS(1986),
    [anon_sym_next] = ACTIONS(1988),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_PLUS_EQ] = ACTIONS(532),
    [anon_sym_DASH_EQ] = ACTIONS(532),
    [anon_sym_STAR_EQ] = ACTIONS(532),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(532),
    [anon_sym_SLASH_EQ] = ACTIONS(532),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(532),
    [anon_sym_PIPE_EQ] = ACTIONS(532),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(532),
    [anon_sym_AMP_EQ] = ACTIONS(532),
    [anon_sym_PERCENT_EQ] = ACTIONS(532),
    [anon_sym_GT_GT_EQ] = ACTIONS(532),
    [anon_sym_LT_LT_EQ] = ACTIONS(532),
    [anon_sym_CARET_EQ] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(544),
    [anon_sym_AMP_AMP] = ACTIONS(544),
    [anon_sym_LT_LT] = ACTIONS(544),
    [anon_sym_GT_GT] = ACTIONS(544),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(544),
    [anon_sym_PERCENT] = ACTIONS(544),
    [anon_sym_defined_QMARK] = ACTIONS(1990),
    [anon_sym_not] = ACTIONS(1992),
    [anon_sym_BANG] = ACTIONS(1994),
    [anon_sym_TILDE] = ACTIONS(1996),
    [sym_constant] = ACTIONS(4814),
    [sym_identifier] = ACTIONS(4814),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3371] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(3322),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1222),
    [sym_call] = STATE(1222),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2148),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(3323),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1224),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1225),
    [sym__variable] = STATE(1222),
    [sym_reserved_identifier] = STATE(3324),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(3325),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(4810),
    [sym__splat_star] = ACTIONS(4812),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(1980),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_RPAREN] = ACTIONS(602),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(604),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(1982),
    [anon_sym_yield] = ACTIONS(1984),
    [anon_sym_break] = ACTIONS(1986),
    [anon_sym_next] = ACTIONS(1988),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_PLUS_EQ] = ACTIONS(602),
    [anon_sym_DASH_EQ] = ACTIONS(602),
    [anon_sym_STAR_EQ] = ACTIONS(602),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(602),
    [anon_sym_SLASH_EQ] = ACTIONS(602),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(602),
    [anon_sym_PIPE_EQ] = ACTIONS(602),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(602),
    [anon_sym_AMP_EQ] = ACTIONS(602),
    [anon_sym_PERCENT_EQ] = ACTIONS(602),
    [anon_sym_GT_GT_EQ] = ACTIONS(602),
    [anon_sym_LT_LT_EQ] = ACTIONS(602),
    [anon_sym_CARET_EQ] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(604),
    [anon_sym_AMP_AMP] = ACTIONS(604),
    [anon_sym_LT_LT] = ACTIONS(604),
    [anon_sym_GT_GT] = ACTIONS(604),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(604),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(604),
    [anon_sym_PERCENT] = ACTIONS(604),
    [anon_sym_defined_QMARK] = ACTIONS(1990),
    [anon_sym_not] = ACTIONS(1992),
    [anon_sym_BANG] = ACTIONS(1994),
    [anon_sym_TILDE] = ACTIONS(1996),
    [sym_constant] = ACTIONS(4814),
    [sym_identifier] = ACTIONS(4814),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3372] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(3322),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1222),
    [sym_call] = STATE(1222),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2149),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(3323),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1224),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1225),
    [sym__variable] = STATE(1222),
    [sym_reserved_identifier] = STATE(3324),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(3325),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(4810),
    [sym__splat_star] = ACTIONS(4812),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(1980),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_RPAREN] = ACTIONS(606),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(608),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(1982),
    [anon_sym_yield] = ACTIONS(1984),
    [anon_sym_break] = ACTIONS(1986),
    [anon_sym_next] = ACTIONS(1988),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_PLUS_EQ] = ACTIONS(606),
    [anon_sym_DASH_EQ] = ACTIONS(606),
    [anon_sym_STAR_EQ] = ACTIONS(606),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(606),
    [anon_sym_SLASH_EQ] = ACTIONS(606),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(606),
    [anon_sym_PIPE_EQ] = ACTIONS(606),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(606),
    [anon_sym_AMP_EQ] = ACTIONS(606),
    [anon_sym_PERCENT_EQ] = ACTIONS(606),
    [anon_sym_GT_GT_EQ] = ACTIONS(606),
    [anon_sym_LT_LT_EQ] = ACTIONS(606),
    [anon_sym_CARET_EQ] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(608),
    [anon_sym_AMP_AMP] = ACTIONS(608),
    [anon_sym_LT_LT] = ACTIONS(608),
    [anon_sym_GT_GT] = ACTIONS(608),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(608),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(608),
    [anon_sym_PERCENT] = ACTIONS(608),
    [anon_sym_defined_QMARK] = ACTIONS(1990),
    [anon_sym_not] = ACTIONS(1992),
    [anon_sym_BANG] = ACTIONS(1994),
    [anon_sym_TILDE] = ACTIONS(1996),
    [sym_constant] = ACTIONS(4814),
    [sym_identifier] = ACTIONS(4814),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3373] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(3322),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1222),
    [sym_call] = STATE(1222),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2150),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(3323),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1224),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1225),
    [sym__variable] = STATE(1222),
    [sym_reserved_identifier] = STATE(3324),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(3325),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(4810),
    [sym__splat_star] = ACTIONS(4812),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(1980),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_RPAREN] = ACTIONS(610),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(612),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(1982),
    [anon_sym_yield] = ACTIONS(1984),
    [anon_sym_break] = ACTIONS(1986),
    [anon_sym_next] = ACTIONS(1988),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_PLUS_EQ] = ACTIONS(610),
    [anon_sym_DASH_EQ] = ACTIONS(610),
    [anon_sym_STAR_EQ] = ACTIONS(610),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(610),
    [anon_sym_SLASH_EQ] = ACTIONS(610),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(610),
    [anon_sym_PIPE_EQ] = ACTIONS(610),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(610),
    [anon_sym_AMP_EQ] = ACTIONS(610),
    [anon_sym_PERCENT_EQ] = ACTIONS(610),
    [anon_sym_GT_GT_EQ] = ACTIONS(610),
    [anon_sym_LT_LT_EQ] = ACTIONS(610),
    [anon_sym_CARET_EQ] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(612),
    [anon_sym_AMP_AMP] = ACTIONS(612),
    [anon_sym_LT_LT] = ACTIONS(612),
    [anon_sym_GT_GT] = ACTIONS(612),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(612),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(612),
    [anon_sym_PERCENT] = ACTIONS(612),
    [anon_sym_defined_QMARK] = ACTIONS(1990),
    [anon_sym_not] = ACTIONS(1992),
    [anon_sym_BANG] = ACTIONS(1994),
    [anon_sym_TILDE] = ACTIONS(1996),
    [sym_constant] = ACTIONS(4814),
    [sym_identifier] = ACTIONS(4814),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3374] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_LBRACE] = ACTIONS(1372),
    [anon_sym_RPAREN] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(4878),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_EQ] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_if] = ACTIONS(1372),
    [anon_sym_unless] = ACTIONS(1372),
    [anon_sym_while] = ACTIONS(1372),
    [anon_sym_until] = ACTIONS(1372),
    [anon_sym_rescue] = ACTIONS(1372),
    [anon_sym_do] = ACTIONS(1372),
    [anon_sym_EQ_GT] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_PLUS_EQ] = ACTIONS(1372),
    [anon_sym_DASH_EQ] = ACTIONS(1372),
    [anon_sym_STAR_EQ] = ACTIONS(1372),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1372),
    [anon_sym_SLASH_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1372),
    [anon_sym_AMP_EQ] = ACTIONS(1372),
    [anon_sym_PERCENT_EQ] = ACTIONS(1372),
    [anon_sym_GT_GT_EQ] = ACTIONS(1372),
    [anon_sym_LT_LT_EQ] = ACTIONS(1372),
    [anon_sym_CARET_EQ] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1374),
    [anon_sym_AMP_AMP] = ACTIONS(1374),
    [anon_sym_LT_LT] = ACTIONS(1374),
    [anon_sym_GT_GT] = ACTIONS(1374),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1374),
    [anon_sym_PLUS] = ACTIONS(1374),
    [anon_sym_SLASH] = ACTIONS(1374),
    [anon_sym_PERCENT] = ACTIONS(1374),
    [sym_comment] = ACTIONS(256),
  },
  [3375] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__line_break] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(9014),
    [sym__binary_star] = ACTIONS(9016),
    [anon_sym_LBRACE] = ACTIONS(4284),
    [anon_sym_RPAREN] = ACTIONS(4284),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(9018),
    [anon_sym_SEMI] = ACTIONS(4284),
    [anon_sym_STAR_STAR] = ACTIONS(9020),
    [anon_sym_AMP] = ACTIONS(9022),
    [anon_sym_EQ] = ACTIONS(5432),
    [anon_sym_LT] = ACTIONS(9024),
    [anon_sym_if] = ACTIONS(4284),
    [anon_sym_unless] = ACTIONS(4284),
    [anon_sym_while] = ACTIONS(4284),
    [anon_sym_until] = ACTIONS(4284),
    [anon_sym_rescue] = ACTIONS(4284),
    [anon_sym_do] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_PLUS_EQ] = ACTIONS(4284),
    [anon_sym_DASH_EQ] = ACTIONS(4284),
    [anon_sym_STAR_EQ] = ACTIONS(4284),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(4284),
    [anon_sym_SLASH_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(4284),
    [anon_sym_AMP_EQ] = ACTIONS(4284),
    [anon_sym_PERCENT_EQ] = ACTIONS(4284),
    [anon_sym_GT_GT_EQ] = ACTIONS(4284),
    [anon_sym_LT_LT_EQ] = ACTIONS(4284),
    [anon_sym_CARET_EQ] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(9026),
    [anon_sym_DOT_DOT] = ACTIONS(9028),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9030),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(9032),
    [anon_sym_AMP_AMP] = ACTIONS(9032),
    [anon_sym_LT_LT] = ACTIONS(9034),
    [anon_sym_GT_GT] = ACTIONS(9034),
    [anon_sym_EQ_EQ] = ACTIONS(9032),
    [anon_sym_BANG_EQ] = ACTIONS(9036),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9036),
    [anon_sym_LT_EQ_GT] = ACTIONS(9036),
    [anon_sym_EQ_TILDE] = ACTIONS(9036),
    [anon_sym_BANG_TILDE] = ACTIONS(9036),
    [anon_sym_LT_EQ] = ACTIONS(9024),
    [anon_sym_GT] = ACTIONS(9024),
    [anon_sym_GT_EQ] = ACTIONS(9038),
    [anon_sym_CARET] = ACTIONS(9018),
    [anon_sym_PLUS] = ACTIONS(9040),
    [anon_sym_SLASH] = ACTIONS(9020),
    [anon_sym_PERCENT] = ACTIONS(9020),
    [sym_comment] = ACTIONS(256),
  },
  [3376] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_RPAREN] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(4878),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2872),
    [anon_sym_AMP_AMP] = ACTIONS(2872),
    [anon_sym_LT_LT] = ACTIONS(2872),
    [anon_sym_GT_GT] = ACTIONS(2872),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2872),
    [anon_sym_PLUS] = ACTIONS(2872),
    [anon_sym_SLASH] = ACTIONS(2872),
    [anon_sym_PERCENT] = ACTIONS(2872),
    [sym_comment] = ACTIONS(256),
  },
  [3377] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(4872),
    [sym__binary_star] = ACTIONS(4874),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_RPAREN] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(4876),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(4878),
    [anon_sym_AMP] = ACTIONS(4880),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(4882),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(4884),
    [anon_sym_DOT_DOT] = ACTIONS(4886),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4888),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(4890),
    [anon_sym_AMP_AMP] = ACTIONS(4890),
    [anon_sym_LT_LT] = ACTIONS(4892),
    [anon_sym_GT_GT] = ACTIONS(4892),
    [anon_sym_EQ_EQ] = ACTIONS(4890),
    [anon_sym_BANG_EQ] = ACTIONS(4894),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4894),
    [anon_sym_LT_EQ_GT] = ACTIONS(4894),
    [anon_sym_EQ_TILDE] = ACTIONS(4894),
    [anon_sym_BANG_TILDE] = ACTIONS(4894),
    [anon_sym_LT_EQ] = ACTIONS(4882),
    [anon_sym_GT] = ACTIONS(4882),
    [anon_sym_GT_EQ] = ACTIONS(4896),
    [anon_sym_CARET] = ACTIONS(4876),
    [anon_sym_PLUS] = ACTIONS(4898),
    [anon_sym_SLASH] = ACTIONS(4878),
    [anon_sym_PERCENT] = ACTIONS(4878),
    [sym_comment] = ACTIONS(256),
  },
  [3378] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(6513),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3366),
    [sym_call] = STATE(3366),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(3367),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3368),
    [sym__variable] = STATE(3366),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(4840),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(4842),
    [anon_sym_yield] = ACTIONS(4844),
    [anon_sym_break] = ACTIONS(4846),
    [anon_sym_next] = ACTIONS(4848),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(4850),
    [anon_sym_defined_QMARK] = ACTIONS(4852),
    [anon_sym_not] = ACTIONS(4854),
    [anon_sym_BANG] = ACTIONS(4856),
    [anon_sym_TILDE] = ACTIONS(4856),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [3379] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(6514),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1222),
    [sym_call] = STATE(1222),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1224),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1225),
    [sym__variable] = STATE(1222),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(1980),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(4858),
    [anon_sym_yield] = ACTIONS(4860),
    [anon_sym_break] = ACTIONS(4862),
    [anon_sym_next] = ACTIONS(4864),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(4866),
    [anon_sym_defined_QMARK] = ACTIONS(1990),
    [anon_sym_not] = ACTIONS(4868),
    [anon_sym_BANG] = ACTIONS(1996),
    [anon_sym_TILDE] = ACTIONS(1996),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3380] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(6515),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1222),
    [sym_call] = STATE(1222),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1224),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1225),
    [sym__variable] = STATE(1222),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(1980),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(4858),
    [anon_sym_yield] = ACTIONS(4860),
    [anon_sym_break] = ACTIONS(4862),
    [anon_sym_next] = ACTIONS(4864),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(4866),
    [anon_sym_defined_QMARK] = ACTIONS(1990),
    [anon_sym_not] = ACTIONS(4868),
    [anon_sym_BANG] = ACTIONS(1996),
    [anon_sym_TILDE] = ACTIONS(1996),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3381] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(6516),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1222),
    [sym_call] = STATE(1222),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1224),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1225),
    [sym__variable] = STATE(1222),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(1980),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(4858),
    [anon_sym_yield] = ACTIONS(4860),
    [anon_sym_break] = ACTIONS(4862),
    [anon_sym_next] = ACTIONS(4864),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(4866),
    [anon_sym_defined_QMARK] = ACTIONS(1990),
    [anon_sym_not] = ACTIONS(4868),
    [anon_sym_BANG] = ACTIONS(1996),
    [anon_sym_TILDE] = ACTIONS(1996),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3382] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(6517),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1222),
    [sym_call] = STATE(1222),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1224),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1225),
    [sym__variable] = STATE(1222),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(1980),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(4858),
    [anon_sym_yield] = ACTIONS(4860),
    [anon_sym_break] = ACTIONS(4862),
    [anon_sym_next] = ACTIONS(4864),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(4866),
    [anon_sym_defined_QMARK] = ACTIONS(1990),
    [anon_sym_not] = ACTIONS(4868),
    [anon_sym_BANG] = ACTIONS(1996),
    [anon_sym_TILDE] = ACTIONS(1996),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3383] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(6518),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1222),
    [sym_call] = STATE(1222),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1224),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1225),
    [sym__variable] = STATE(1222),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(1980),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(4858),
    [anon_sym_yield] = ACTIONS(4860),
    [anon_sym_break] = ACTIONS(4862),
    [anon_sym_next] = ACTIONS(4864),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(4866),
    [anon_sym_defined_QMARK] = ACTIONS(1990),
    [anon_sym_not] = ACTIONS(4868),
    [anon_sym_BANG] = ACTIONS(1996),
    [anon_sym_TILDE] = ACTIONS(1996),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3384] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(6519),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1222),
    [sym_call] = STATE(1222),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1224),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1225),
    [sym__variable] = STATE(1222),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(1980),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(4858),
    [anon_sym_yield] = ACTIONS(4860),
    [anon_sym_break] = ACTIONS(4862),
    [anon_sym_next] = ACTIONS(4864),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(4866),
    [anon_sym_defined_QMARK] = ACTIONS(1990),
    [anon_sym_not] = ACTIONS(4868),
    [anon_sym_BANG] = ACTIONS(1996),
    [anon_sym_TILDE] = ACTIONS(1996),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3385] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(6520),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [3386] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(6521),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1222),
    [sym_call] = STATE(1222),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1224),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1225),
    [sym__variable] = STATE(1222),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(1980),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(4858),
    [anon_sym_yield] = ACTIONS(4860),
    [anon_sym_break] = ACTIONS(4862),
    [anon_sym_next] = ACTIONS(4864),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(4866),
    [anon_sym_defined_QMARK] = ACTIONS(1990),
    [anon_sym_not] = ACTIONS(4868),
    [anon_sym_BANG] = ACTIONS(1996),
    [anon_sym_TILDE] = ACTIONS(1996),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3387] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(6522),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1222),
    [sym_call] = STATE(1222),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1224),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1225),
    [sym__variable] = STATE(1222),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(1980),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(4858),
    [anon_sym_yield] = ACTIONS(4860),
    [anon_sym_break] = ACTIONS(4862),
    [anon_sym_next] = ACTIONS(4864),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(4866),
    [anon_sym_defined_QMARK] = ACTIONS(1990),
    [anon_sym_not] = ACTIONS(4868),
    [anon_sym_BANG] = ACTIONS(1996),
    [anon_sym_TILDE] = ACTIONS(1996),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3388] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(6523),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1222),
    [sym_call] = STATE(1222),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1224),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1225),
    [sym__variable] = STATE(1222),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(1980),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(4858),
    [anon_sym_yield] = ACTIONS(4860),
    [anon_sym_break] = ACTIONS(4862),
    [anon_sym_next] = ACTIONS(4864),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(4866),
    [anon_sym_defined_QMARK] = ACTIONS(1990),
    [anon_sym_not] = ACTIONS(4868),
    [anon_sym_BANG] = ACTIONS(1996),
    [anon_sym_TILDE] = ACTIONS(1996),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3389] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(6524),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1222),
    [sym_call] = STATE(1222),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1224),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1225),
    [sym__variable] = STATE(1222),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(1980),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(4858),
    [anon_sym_yield] = ACTIONS(4860),
    [anon_sym_break] = ACTIONS(4862),
    [anon_sym_next] = ACTIONS(4864),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(4866),
    [anon_sym_defined_QMARK] = ACTIONS(1990),
    [anon_sym_not] = ACTIONS(4868),
    [anon_sym_BANG] = ACTIONS(1996),
    [anon_sym_TILDE] = ACTIONS(1996),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3390] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(6525),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1222),
    [sym_call] = STATE(1222),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1224),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1225),
    [sym__variable] = STATE(1222),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(1980),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(4858),
    [anon_sym_yield] = ACTIONS(4860),
    [anon_sym_break] = ACTIONS(4862),
    [anon_sym_next] = ACTIONS(4864),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(4866),
    [anon_sym_defined_QMARK] = ACTIONS(1990),
    [anon_sym_not] = ACTIONS(4868),
    [anon_sym_BANG] = ACTIONS(1996),
    [anon_sym_TILDE] = ACTIONS(1996),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3391] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1220),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1222),
    [sym_call] = STATE(1222),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(5069),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1224),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1225),
    [sym__variable] = STATE(1222),
    [sym_reserved_identifier] = STATE(1226),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1227),
    [sym_subshell] = STATE(561),
    [sym_heredoc_end] = STATE(6526),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__block_ampersand] = ACTIONS(1976),
    [sym__splat_star] = ACTIONS(1978),
    [sym__unary_minus] = ACTIONS(1980),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(9048),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(1982),
    [anon_sym_yield] = ACTIONS(1984),
    [anon_sym_break] = ACTIONS(1986),
    [anon_sym_next] = ACTIONS(1988),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(4866),
    [anon_sym_defined_QMARK] = ACTIONS(1990),
    [anon_sym_not] = ACTIONS(1992),
    [anon_sym_BANG] = ACTIONS(1996),
    [anon_sym_TILDE] = ACTIONS(1996),
    [sym_constant] = ACTIONS(1998),
    [sym_identifier] = ACTIONS(1998),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3392] = {
    [sym_heredoc_end] = STATE(2196),
    [aux_sym_argument_list_repeat2] = STATE(5072),
    [sym__simple_heredoc_body] = ACTIONS(3354),
    [sym__heredoc_body_beginning] = ACTIONS(3356),
    [sym__line_break] = ACTIONS(5472),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_LBRACE] = ACTIONS(5472),
    [anon_sym_RPAREN] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(9050),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_SEMI] = ACTIONS(5472),
    [anon_sym_STAR_STAR] = ACTIONS(5474),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_EQ] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_if] = ACTIONS(5472),
    [anon_sym_unless] = ACTIONS(5472),
    [anon_sym_while] = ACTIONS(5472),
    [anon_sym_until] = ACTIONS(5472),
    [anon_sym_rescue] = ACTIONS(5472),
    [anon_sym_do] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_PLUS_EQ] = ACTIONS(5472),
    [anon_sym_DASH_EQ] = ACTIONS(5472),
    [anon_sym_STAR_EQ] = ACTIONS(5472),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5472),
    [anon_sym_SLASH_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5472),
    [anon_sym_AMP_EQ] = ACTIONS(5472),
    [anon_sym_PERCENT_EQ] = ACTIONS(5472),
    [anon_sym_GT_GT_EQ] = ACTIONS(5472),
    [anon_sym_LT_LT_EQ] = ACTIONS(5472),
    [anon_sym_CARET_EQ] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5474),
    [anon_sym_AMP_AMP] = ACTIONS(5474),
    [anon_sym_LT_LT] = ACTIONS(5474),
    [anon_sym_GT_GT] = ACTIONS(5474),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5474),
    [anon_sym_PLUS] = ACTIONS(5474),
    [anon_sym_SLASH] = ACTIONS(5474),
    [anon_sym_PERCENT] = ACTIONS(5474),
    [sym_comment] = ACTIONS(256),
  },
  [3393] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(6528),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1222),
    [sym_call] = STATE(1222),
    [sym_method_call] = STATE(338),
    [sym_splat_argument] = STATE(5074),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_right_assignment_list] = STATE(5075),
    [sym__arg_or_splat_arg] = STATE(6529),
    [sym_left_assignment_list] = STATE(1224),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1225),
    [sym__variable] = STATE(1222),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__splat_star] = ACTIONS(4812),
    [sym__unary_minus] = ACTIONS(1980),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(4858),
    [anon_sym_yield] = ACTIONS(4860),
    [anon_sym_break] = ACTIONS(4862),
    [anon_sym_next] = ACTIONS(4864),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(4866),
    [anon_sym_defined_QMARK] = ACTIONS(1990),
    [anon_sym_not] = ACTIONS(4868),
    [anon_sym_BANG] = ACTIONS(1996),
    [anon_sym_TILDE] = ACTIONS(1996),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3394] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(6530),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1222),
    [sym_call] = STATE(1222),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1224),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1225),
    [sym__variable] = STATE(1222),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(1980),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(4858),
    [anon_sym_yield] = ACTIONS(4860),
    [anon_sym_break] = ACTIONS(4862),
    [anon_sym_next] = ACTIONS(4864),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(4866),
    [anon_sym_defined_QMARK] = ACTIONS(1990),
    [anon_sym_not] = ACTIONS(4868),
    [anon_sym_BANG] = ACTIONS(1996),
    [anon_sym_TILDE] = ACTIONS(1996),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3395] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(6531),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3366),
    [sym_call] = STATE(3366),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(3367),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3368),
    [sym__variable] = STATE(3366),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(4840),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(4842),
    [anon_sym_yield] = ACTIONS(4844),
    [anon_sym_break] = ACTIONS(4846),
    [anon_sym_next] = ACTIONS(4848),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(4850),
    [anon_sym_defined_QMARK] = ACTIONS(4852),
    [anon_sym_not] = ACTIONS(4854),
    [anon_sym_BANG] = ACTIONS(4856),
    [anon_sym_TILDE] = ACTIONS(4856),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [3396] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6532),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3403),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3404),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(4912),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4914),
    [anon_sym_defined_QMARK] = ACTIONS(4916),
    [anon_sym_not] = ACTIONS(4918),
    [anon_sym_BANG] = ACTIONS(4920),
    [anon_sym_TILDE] = ACTIONS(4920),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3397] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6533),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3403),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3404),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(4912),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4914),
    [anon_sym_defined_QMARK] = ACTIONS(4916),
    [anon_sym_not] = ACTIONS(4918),
    [anon_sym_BANG] = ACTIONS(4920),
    [anon_sym_TILDE] = ACTIONS(4920),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3398] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6534),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3403),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3404),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(4912),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4914),
    [anon_sym_defined_QMARK] = ACTIONS(4916),
    [anon_sym_not] = ACTIONS(4918),
    [anon_sym_BANG] = ACTIONS(4920),
    [anon_sym_TILDE] = ACTIONS(4920),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3399] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6535),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3403),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3404),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(4912),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4914),
    [anon_sym_defined_QMARK] = ACTIONS(4916),
    [anon_sym_not] = ACTIONS(4918),
    [anon_sym_BANG] = ACTIONS(4920),
    [anon_sym_TILDE] = ACTIONS(4920),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3400] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(434),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3403),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3404),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(4912),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4914),
    [anon_sym_defined_QMARK] = ACTIONS(4916),
    [anon_sym_not] = ACTIONS(4918),
    [anon_sym_BANG] = ACTIONS(4920),
    [anon_sym_TILDE] = ACTIONS(4920),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3401] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__line_break] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(9052),
    [sym__binary_star] = ACTIONS(9054),
    [anon_sym_RPAREN] = ACTIONS(6346),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(9056),
    [anon_sym_SEMI] = ACTIONS(6346),
    [anon_sym_STAR_STAR] = ACTIONS(9058),
    [anon_sym_AMP] = ACTIONS(9060),
    [anon_sym_LT] = ACTIONS(9062),
    [anon_sym_if] = ACTIONS(6346),
    [anon_sym_unless] = ACTIONS(6346),
    [anon_sym_while] = ACTIONS(6346),
    [anon_sym_until] = ACTIONS(6346),
    [anon_sym_rescue] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(9064),
    [anon_sym_DOT_DOT] = ACTIONS(9066),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9068),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(9070),
    [anon_sym_AMP_AMP] = ACTIONS(9070),
    [anon_sym_LT_LT] = ACTIONS(9072),
    [anon_sym_GT_GT] = ACTIONS(9072),
    [anon_sym_EQ_EQ] = ACTIONS(9074),
    [anon_sym_BANG_EQ] = ACTIONS(9070),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9070),
    [anon_sym_LT_EQ_GT] = ACTIONS(9070),
    [anon_sym_EQ_TILDE] = ACTIONS(9070),
    [anon_sym_BANG_TILDE] = ACTIONS(9070),
    [anon_sym_LT_EQ] = ACTIONS(9062),
    [anon_sym_GT] = ACTIONS(9062),
    [anon_sym_GT_EQ] = ACTIONS(9076),
    [anon_sym_CARET] = ACTIONS(9078),
    [anon_sym_PLUS] = ACTIONS(9080),
    [anon_sym_SLASH] = ACTIONS(9058),
    [anon_sym_PERCENT] = ACTIONS(9058),
    [sym_comment] = ACTIONS(110),
  },
  [3402] = {
    [aux_sym_exceptions_repeat1] = STATE(6549),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__line_break] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_RPAREN] = ACTIONS(7330),
    [anon_sym_COMMA] = ACTIONS(9082),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_SEMI] = ACTIONS(7330),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_if] = ACTIONS(7330),
    [anon_sym_unless] = ACTIONS(7330),
    [anon_sym_while] = ACTIONS(7330),
    [anon_sym_until] = ACTIONS(7330),
    [anon_sym_rescue] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [3403] = {
    [anon_sym_EQ] = ACTIONS(9084),
    [sym_comment] = ACTIONS(256),
  },
  [3404] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_RPAREN] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(9086),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(9088),
    [anon_sym_DASH_EQ] = ACTIONS(9088),
    [anon_sym_STAR_EQ] = ACTIONS(9088),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9088),
    [anon_sym_SLASH_EQ] = ACTIONS(9088),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9088),
    [anon_sym_PIPE_EQ] = ACTIONS(9088),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9088),
    [anon_sym_AMP_EQ] = ACTIONS(9088),
    [anon_sym_PERCENT_EQ] = ACTIONS(9088),
    [anon_sym_GT_GT_EQ] = ACTIONS(9088),
    [anon_sym_LT_LT_EQ] = ACTIONS(9088),
    [anon_sym_CARET_EQ] = ACTIONS(9088),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [3405] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__line_break] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(1938),
    [sym__binary_star] = ACTIONS(1940),
    [anon_sym_RPAREN] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(1942),
    [anon_sym_SEMI] = ACTIONS(7344),
    [anon_sym_STAR_STAR] = ACTIONS(1944),
    [anon_sym_AMP] = ACTIONS(1946),
    [anon_sym_LT] = ACTIONS(1948),
    [anon_sym_if] = ACTIONS(7344),
    [anon_sym_unless] = ACTIONS(7344),
    [anon_sym_while] = ACTIONS(7344),
    [anon_sym_until] = ACTIONS(7344),
    [anon_sym_rescue] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(1950),
    [anon_sym_DOT_DOT] = ACTIONS(1952),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1954),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(1958),
    [anon_sym_AMP_AMP] = ACTIONS(1958),
    [anon_sym_LT_LT] = ACTIONS(1960),
    [anon_sym_GT_GT] = ACTIONS(1960),
    [anon_sym_EQ_EQ] = ACTIONS(1962),
    [anon_sym_BANG_EQ] = ACTIONS(1958),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1958),
    [anon_sym_LT_EQ_GT] = ACTIONS(1958),
    [anon_sym_EQ_TILDE] = ACTIONS(1958),
    [anon_sym_BANG_TILDE] = ACTIONS(1958),
    [anon_sym_LT_EQ] = ACTIONS(1948),
    [anon_sym_GT] = ACTIONS(1948),
    [anon_sym_GT_EQ] = ACTIONS(1964),
    [anon_sym_CARET] = ACTIONS(1966),
    [anon_sym_PLUS] = ACTIONS(1968),
    [anon_sym_SLASH] = ACTIONS(1944),
    [anon_sym_PERCENT] = ACTIONS(1944),
    [sym_comment] = ACTIONS(110),
  },
  [3406] = {
    [sym__simple_string] = ACTIONS(3612),
    [sym__string_beginning] = ACTIONS(3612),
    [sym__element_reference_left_bracket] = ACTIONS(3612),
    [sym__scope_double_colon] = ACTIONS(3612),
    [anon_sym_DOT] = ACTIONS(3612),
    [anon_sym_AMP_DOT] = ACTIONS(3612),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(3614),
  },
  [3407] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(9090),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [3408] = {
    [sym__element_reference_left_bracket] = ACTIONS(3844),
    [sym__scope_double_colon] = ACTIONS(3844),
    [anon_sym_DOT] = ACTIONS(3844),
    [anon_sym_AMP_DOT] = ACTIONS(3844),
    [sym_comment] = ACTIONS(110),
  },
  [3409] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(9092),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [3410] = {
    [sym__element_reference_left_bracket] = ACTIONS(3850),
    [sym__scope_double_colon] = ACTIONS(3850),
    [anon_sym_DOT] = ACTIONS(3850),
    [anon_sym_AMP_DOT] = ACTIONS(3850),
    [sym_comment] = ACTIONS(110),
  },
  [3411] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(9094),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [3412] = {
    [sym__element_reference_left_bracket] = ACTIONS(3856),
    [sym__scope_double_colon] = ACTIONS(3856),
    [anon_sym_DOT] = ACTIONS(3856),
    [anon_sym_AMP_DOT] = ACTIONS(3856),
    [sym_comment] = ACTIONS(110),
  },
  [3413] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(9096),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [3414] = {
    [sym__element_reference_left_bracket] = ACTIONS(3862),
    [sym__scope_double_colon] = ACTIONS(3862),
    [anon_sym_DOT] = ACTIONS(3862),
    [anon_sym_AMP_DOT] = ACTIONS(3862),
    [sym_comment] = ACTIONS(110),
  },
  [3415] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(9098),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [3416] = {
    [sym__element_reference_left_bracket] = ACTIONS(4578),
    [sym__scope_double_colon] = ACTIONS(4578),
    [anon_sym_DOT] = ACTIONS(4578),
    [anon_sym_AMP_DOT] = ACTIONS(4578),
    [sym_comment] = ACTIONS(110),
  },
  [3417] = {
    [anon_sym_RBRACE] = ACTIONS(9100),
    [sym_comment] = ACTIONS(110),
  },
  [3418] = {
    [sym__binary_minus] = ACTIONS(4614),
    [sym__binary_star] = ACTIONS(4616),
    [anon_sym_RPAREN] = ACTIONS(9102),
    [anon_sym_PIPE] = ACTIONS(4620),
    [anon_sym_STAR_STAR] = ACTIONS(4622),
    [anon_sym_AMP] = ACTIONS(4624),
    [anon_sym_LT] = ACTIONS(4626),
    [anon_sym_QMARK] = ACTIONS(4628),
    [anon_sym_DOT_DOT] = ACTIONS(4630),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4632),
    [anon_sym_and] = ACTIONS(4634),
    [anon_sym_or] = ACTIONS(4634),
    [anon_sym_PIPE_PIPE] = ACTIONS(4636),
    [anon_sym_AMP_AMP] = ACTIONS(4636),
    [anon_sym_LT_LT] = ACTIONS(4638),
    [anon_sym_GT_GT] = ACTIONS(4638),
    [anon_sym_EQ_EQ] = ACTIONS(4640),
    [anon_sym_BANG_EQ] = ACTIONS(4636),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4636),
    [anon_sym_LT_EQ_GT] = ACTIONS(4636),
    [anon_sym_EQ_TILDE] = ACTIONS(4636),
    [anon_sym_BANG_TILDE] = ACTIONS(4636),
    [anon_sym_LT_EQ] = ACTIONS(4626),
    [anon_sym_GT] = ACTIONS(4626),
    [anon_sym_GT_EQ] = ACTIONS(4642),
    [anon_sym_CARET] = ACTIONS(4644),
    [anon_sym_PLUS] = ACTIONS(4646),
    [anon_sym_SLASH] = ACTIONS(4622),
    [anon_sym_PERCENT] = ACTIONS(4622),
    [sym_comment] = ACTIONS(110),
  },
  [3419] = {
    [sym__method_rest] = STATE(6559),
    [sym_operator] = STATE(217),
    [sym__method_name] = STATE(1248),
    [sym_setter] = STATE(217),
    [sym_symbol] = STATE(217),
    [sym__simple_symbol] = ACTIONS(378),
    [sym__symbol_beginning] = ACTIONS(380),
    [anon_sym_PIPE] = ACTIONS(384),
    [anon_sym_STAR] = ACTIONS(386),
    [anon_sym_STAR_STAR] = ACTIONS(384),
    [anon_sym_AMP] = ACTIONS(384),
    [anon_sym_LT] = ACTIONS(386),
    [anon_sym_DOT_DOT] = ACTIONS(384),
    [anon_sym_LT_LT] = ACTIONS(384),
    [anon_sym_GT_GT] = ACTIONS(384),
    [anon_sym_EQ_EQ] = ACTIONS(386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(384),
    [anon_sym_LT_EQ_GT] = ACTIONS(384),
    [anon_sym_EQ_TILDE] = ACTIONS(384),
    [anon_sym_BANG_TILDE] = ACTIONS(384),
    [anon_sym_LT_EQ] = ACTIONS(386),
    [anon_sym_GT] = ACTIONS(386),
    [anon_sym_GT_EQ] = ACTIONS(384),
    [anon_sym_CARET] = ACTIONS(384),
    [anon_sym_PLUS] = ACTIONS(386),
    [anon_sym_SLASH] = ACTIONS(384),
    [anon_sym_PERCENT] = ACTIONS(384),
    [anon_sym_BANG] = ACTIONS(386),
    [anon_sym_TILDE] = ACTIONS(384),
    [sym_constant] = ACTIONS(4694),
    [sym_identifier] = ACTIONS(4696),
    [sym_instance_variable] = ACTIONS(4694),
    [sym_class_variable] = ACTIONS(4694),
    [sym_global_variable] = ACTIONS(4694),
    [anon_sym_DASH] = ACTIONS(386),
    [anon_sym_PLUS_AT] = ACTIONS(384),
    [anon_sym_DASH_AT] = ACTIONS(384),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(386),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(384),
    [anon_sym_BQUOTE] = ACTIONS(384),
    [sym_comment] = ACTIONS(110),
  },
  [3420] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(6561),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(9104),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3421] = {
    [sym__element_reference_left_bracket] = ACTIONS(4826),
    [sym__scope_double_colon] = ACTIONS(4826),
    [anon_sym_DOT] = ACTIONS(4826),
    [anon_sym_AMP_DOT] = ACTIONS(4826),
    [sym_comment] = ACTIONS(110),
  },
  [3422] = {
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(6562),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym__line_break] = ACTIONS(692),
    [sym__binary_minus] = ACTIONS(5168),
    [sym__binary_star] = ACTIONS(5170),
    [anon_sym_PIPE] = ACTIONS(5172),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR_STAR] = ACTIONS(5174),
    [anon_sym_AMP] = ACTIONS(5176),
    [anon_sym_LT] = ACTIONS(5178),
    [anon_sym_QMARK] = ACTIONS(5180),
    [anon_sym_DOT_DOT] = ACTIONS(5182),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5184),
    [anon_sym_and] = ACTIONS(5186),
    [anon_sym_or] = ACTIONS(5186),
    [anon_sym_PIPE_PIPE] = ACTIONS(5188),
    [anon_sym_AMP_AMP] = ACTIONS(5188),
    [anon_sym_LT_LT] = ACTIONS(5190),
    [anon_sym_GT_GT] = ACTIONS(5190),
    [anon_sym_EQ_EQ] = ACTIONS(5192),
    [anon_sym_BANG_EQ] = ACTIONS(5188),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5188),
    [anon_sym_LT_EQ_GT] = ACTIONS(5188),
    [anon_sym_EQ_TILDE] = ACTIONS(5188),
    [anon_sym_BANG_TILDE] = ACTIONS(5188),
    [anon_sym_LT_EQ] = ACTIONS(5178),
    [anon_sym_GT] = ACTIONS(5178),
    [anon_sym_GT_EQ] = ACTIONS(5194),
    [anon_sym_CARET] = ACTIONS(5196),
    [anon_sym_PLUS] = ACTIONS(5198),
    [anon_sym_SLASH] = ACTIONS(5174),
    [anon_sym_PERCENT] = ACTIONS(5174),
    [sym_comment] = ACTIONS(110),
  },
  [3423] = {
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(6563),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym__line_break] = ACTIONS(692),
    [anon_sym_SEMI] = ACTIONS(692),
    [sym_comment] = ACTIONS(110),
  },
  [3424] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(6565),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(9106),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3425] = {
    [sym__element_reference_left_bracket] = ACTIONS(5290),
    [sym__scope_double_colon] = ACTIONS(5290),
    [anon_sym_DOT] = ACTIONS(5290),
    [anon_sym_AMP_DOT] = ACTIONS(5290),
    [sym_comment] = ACTIONS(110),
  },
  [3426] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(6567),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(9108),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3427] = {
    [sym__element_reference_left_bracket] = ACTIONS(5290),
    [sym__scope_double_colon] = ACTIONS(5290),
    [sym__keyword_colon] = ACTIONS(1556),
    [anon_sym_DOT] = ACTIONS(5290),
    [anon_sym_AMP_DOT] = ACTIONS(5290),
    [sym_comment] = ACTIONS(110),
  },
  [3428] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6568),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3437),
    [sym_call] = STATE(3437),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3438),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3439),
    [sym__variable] = STATE(3437),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4944),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(4946),
    [anon_sym_yield] = ACTIONS(4948),
    [anon_sym_break] = ACTIONS(4950),
    [anon_sym_next] = ACTIONS(4952),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(4954),
    [anon_sym_defined_QMARK] = ACTIONS(4956),
    [anon_sym_not] = ACTIONS(4958),
    [anon_sym_BANG] = ACTIONS(4960),
    [anon_sym_TILDE] = ACTIONS(4960),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3429] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6573),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1886),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(6574),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_reserved_identifier] = STATE(6575),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(6576),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(9110),
    [sym__splat_star] = ACTIONS(9112),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(1640),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(1642),
    [anon_sym_yield] = ACTIONS(1644),
    [anon_sym_break] = ACTIONS(1646),
    [anon_sym_next] = ACTIONS(1648),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(1652),
    [anon_sym_BANG] = ACTIONS(1654),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(9114),
    [sym_identifier] = ACTIONS(9114),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3430] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6573),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1892),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(6574),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_reserved_identifier] = STATE(6575),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(6576),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(9110),
    [sym__splat_star] = ACTIONS(9112),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(1640),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(1642),
    [anon_sym_yield] = ACTIONS(1644),
    [anon_sym_break] = ACTIONS(1646),
    [anon_sym_next] = ACTIONS(1648),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(1652),
    [anon_sym_BANG] = ACTIONS(1654),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(9114),
    [sym_identifier] = ACTIONS(9114),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3431] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6573),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1893),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(6574),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_reserved_identifier] = STATE(6575),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(6576),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(9110),
    [sym__splat_star] = ACTIONS(9112),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(1640),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(1642),
    [anon_sym_yield] = ACTIONS(1644),
    [anon_sym_break] = ACTIONS(1646),
    [anon_sym_next] = ACTIONS(1648),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(1652),
    [anon_sym_BANG] = ACTIONS(1654),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(9114),
    [sym_identifier] = ACTIONS(9114),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3432] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6573),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1894),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(6574),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_reserved_identifier] = STATE(6575),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(6576),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(9110),
    [sym__splat_star] = ACTIONS(9112),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(1640),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(1642),
    [anon_sym_yield] = ACTIONS(1644),
    [anon_sym_break] = ACTIONS(1646),
    [anon_sym_next] = ACTIONS(1648),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(1652),
    [anon_sym_BANG] = ACTIONS(1654),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(9114),
    [sym_identifier] = ACTIONS(9114),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3433] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6577),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3437),
    [sym_call] = STATE(3437),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3438),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3439),
    [sym__variable] = STATE(3437),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4944),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(4946),
    [anon_sym_yield] = ACTIONS(4948),
    [anon_sym_break] = ACTIONS(4950),
    [anon_sym_next] = ACTIONS(4952),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(4954),
    [anon_sym_defined_QMARK] = ACTIONS(4956),
    [anon_sym_not] = ACTIONS(4958),
    [anon_sym_BANG] = ACTIONS(4960),
    [anon_sym_TILDE] = ACTIONS(4960),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3434] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6578),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3437),
    [sym_call] = STATE(3437),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3438),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3439),
    [sym__variable] = STATE(3437),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4944),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(4946),
    [anon_sym_yield] = ACTIONS(4948),
    [anon_sym_break] = ACTIONS(4950),
    [anon_sym_next] = ACTIONS(4952),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(4954),
    [anon_sym_defined_QMARK] = ACTIONS(4956),
    [anon_sym_not] = ACTIONS(4958),
    [anon_sym_BANG] = ACTIONS(4960),
    [anon_sym_TILDE] = ACTIONS(4960),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3435] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(2988),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3437),
    [sym_call] = STATE(3437),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3438),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3439),
    [sym__variable] = STATE(3437),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4944),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(4946),
    [anon_sym_yield] = ACTIONS(4948),
    [anon_sym_break] = ACTIONS(4950),
    [anon_sym_next] = ACTIONS(4952),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(4954),
    [anon_sym_defined_QMARK] = ACTIONS(4956),
    [anon_sym_not] = ACTIONS(4958),
    [anon_sym_BANG] = ACTIONS(4960),
    [anon_sym_TILDE] = ACTIONS(4960),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3436] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(9116),
    [sym__binary_star] = ACTIONS(9118),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(9120),
    [anon_sym_STAR_STAR] = ACTIONS(9122),
    [anon_sym_AMP] = ACTIONS(9124),
    [anon_sym_LT] = ACTIONS(9126),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(9128),
    [anon_sym_DOT_DOT] = ACTIONS(9130),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9132),
    [anon_sym_and] = ACTIONS(9134),
    [anon_sym_or] = ACTIONS(9134),
    [anon_sym_PIPE_PIPE] = ACTIONS(9136),
    [anon_sym_AMP_AMP] = ACTIONS(9136),
    [anon_sym_LT_LT] = ACTIONS(9138),
    [anon_sym_GT_GT] = ACTIONS(9138),
    [anon_sym_EQ_EQ] = ACTIONS(9140),
    [anon_sym_BANG_EQ] = ACTIONS(9136),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9136),
    [anon_sym_LT_EQ_GT] = ACTIONS(9136),
    [anon_sym_EQ_TILDE] = ACTIONS(9136),
    [anon_sym_BANG_TILDE] = ACTIONS(9136),
    [anon_sym_LT_EQ] = ACTIONS(9126),
    [anon_sym_GT] = ACTIONS(9126),
    [anon_sym_GT_EQ] = ACTIONS(9142),
    [anon_sym_CARET] = ACTIONS(9144),
    [anon_sym_PLUS] = ACTIONS(9146),
    [anon_sym_SLASH] = ACTIONS(9122),
    [anon_sym_PERCENT] = ACTIONS(9122),
    [sym_comment] = ACTIONS(110),
  },
  [3437] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(6595),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(2958),
    [sym__argument_list_with_parens] = STATE(2959),
    [sym__argument] = STATE(6596),
    [sym_splat_argument] = STATE(2961),
    [sym_hash_splat_argument] = STATE(2961),
    [sym_block_argument] = STATE(2961),
    [sym_do_block] = STATE(2962),
    [sym_block] = STATE(2962),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1105),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1106),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(6597),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(6598),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(2961),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(9148),
    [sym__splat_star] = ACTIONS(9150),
    [sym__argument_list_left_paren] = ACTIONS(4330),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(1740),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(4334),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(1752),
    [anon_sym_yield] = ACTIONS(1754),
    [anon_sym_break] = ACTIONS(1756),
    [anon_sym_next] = ACTIONS(1758),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(4344),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(1780),
    [anon_sym_not] = ACTIONS(1782),
    [anon_sym_BANG] = ACTIONS(1784),
    [anon_sym_TILDE] = ACTIONS(1786),
    [sym_constant] = ACTIONS(9152),
    [sym_identifier] = ACTIONS(9152),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [3438] = {
    [anon_sym_EQ] = ACTIONS(9154),
    [sym_comment] = ACTIONS(256),
  },
  [3439] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(9156),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(9158),
    [anon_sym_DASH_EQ] = ACTIONS(9158),
    [anon_sym_STAR_EQ] = ACTIONS(9158),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9158),
    [anon_sym_SLASH_EQ] = ACTIONS(9158),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9158),
    [anon_sym_PIPE_EQ] = ACTIONS(9158),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9158),
    [anon_sym_AMP_EQ] = ACTIONS(9158),
    [anon_sym_PERCENT_EQ] = ACTIONS(9158),
    [anon_sym_GT_GT_EQ] = ACTIONS(9158),
    [anon_sym_LT_LT_EQ] = ACTIONS(9158),
    [anon_sym_CARET_EQ] = ACTIONS(9158),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [3440] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(9116),
    [sym__binary_star] = ACTIONS(9118),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(9120),
    [anon_sym_STAR_STAR] = ACTIONS(9122),
    [anon_sym_AMP] = ACTIONS(9124),
    [anon_sym_LT] = ACTIONS(9126),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(9128),
    [anon_sym_DOT_DOT] = ACTIONS(9130),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9132),
    [anon_sym_and] = ACTIONS(9134),
    [anon_sym_or] = ACTIONS(9134),
    [anon_sym_PIPE_PIPE] = ACTIONS(9136),
    [anon_sym_AMP_AMP] = ACTIONS(9136),
    [anon_sym_LT_LT] = ACTIONS(9138),
    [anon_sym_GT_GT] = ACTIONS(9138),
    [anon_sym_EQ_EQ] = ACTIONS(9140),
    [anon_sym_BANG_EQ] = ACTIONS(9136),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9136),
    [anon_sym_LT_EQ_GT] = ACTIONS(9136),
    [anon_sym_EQ_TILDE] = ACTIONS(9136),
    [anon_sym_BANG_TILDE] = ACTIONS(9136),
    [anon_sym_LT_EQ] = ACTIONS(9126),
    [anon_sym_GT] = ACTIONS(9126),
    [anon_sym_GT_EQ] = ACTIONS(9142),
    [anon_sym_CARET] = ACTIONS(9144),
    [anon_sym_PLUS] = ACTIONS(9146),
    [anon_sym_SLASH] = ACTIONS(9122),
    [anon_sym_PERCENT] = ACTIONS(9122),
    [sym_comment] = ACTIONS(110),
  },
  [3441] = {
    [sym__simple_heredoc_body] = ACTIONS(5370),
    [sym__heredoc_body_beginning] = ACTIONS(5370),
    [sym__element_reference_left_bracket] = ACTIONS(5370),
    [sym__scope_double_colon] = ACTIONS(5370),
    [anon_sym_LBRACE] = ACTIONS(5370),
    [anon_sym_RPAREN] = ACTIONS(5370),
    [anon_sym_DOT] = ACTIONS(5370),
    [anon_sym_COMMA] = ACTIONS(5370),
    [anon_sym_EQ] = ACTIONS(5370),
    [anon_sym_in] = ACTIONS(5370),
    [anon_sym_do] = ACTIONS(5370),
    [anon_sym_AMP_DOT] = ACTIONS(5370),
    [sym_comment] = ACTIONS(256),
  },
  [3442] = {
    [sym_heredoc_end] = STATE(6602),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RPAREN] = ACTIONS(9160),
    [sym_comment] = ACTIONS(110),
  },
  [3443] = {
    [anon_sym_RPAREN] = ACTIONS(9160),
    [sym_comment] = ACTIONS(110),
  },
  [3444] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(9116),
    [sym__binary_star] = ACTIONS(9118),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(9120),
    [anon_sym_STAR_STAR] = ACTIONS(9122),
    [anon_sym_AMP] = ACTIONS(9124),
    [anon_sym_LT] = ACTIONS(9126),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(9128),
    [anon_sym_DOT_DOT] = ACTIONS(9130),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9132),
    [anon_sym_and] = ACTIONS(9134),
    [anon_sym_or] = ACTIONS(9134),
    [anon_sym_PIPE_PIPE] = ACTIONS(9136),
    [anon_sym_AMP_AMP] = ACTIONS(9136),
    [anon_sym_LT_LT] = ACTIONS(9138),
    [anon_sym_GT_GT] = ACTIONS(9138),
    [anon_sym_EQ_EQ] = ACTIONS(9140),
    [anon_sym_BANG_EQ] = ACTIONS(9136),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9136),
    [anon_sym_LT_EQ_GT] = ACTIONS(9136),
    [anon_sym_EQ_TILDE] = ACTIONS(9136),
    [anon_sym_BANG_TILDE] = ACTIONS(9136),
    [anon_sym_LT_EQ] = ACTIONS(9126),
    [anon_sym_GT] = ACTIONS(9126),
    [anon_sym_GT_EQ] = ACTIONS(9142),
    [anon_sym_CARET] = ACTIONS(9144),
    [anon_sym_PLUS] = ACTIONS(9146),
    [anon_sym_SLASH] = ACTIONS(9122),
    [anon_sym_PERCENT] = ACTIONS(9122),
    [sym_comment] = ACTIONS(110),
  },
  [3445] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6603),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3437),
    [sym_call] = STATE(3437),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3438),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3439),
    [sym__variable] = STATE(3437),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4944),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(4946),
    [anon_sym_yield] = ACTIONS(4948),
    [anon_sym_break] = ACTIONS(4950),
    [anon_sym_next] = ACTIONS(4952),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(4954),
    [anon_sym_defined_QMARK] = ACTIONS(4956),
    [anon_sym_not] = ACTIONS(4958),
    [anon_sym_BANG] = ACTIONS(4960),
    [anon_sym_TILDE] = ACTIONS(4960),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3446] = {
    [sym__simple_heredoc_body] = ACTIONS(1398),
    [sym__heredoc_body_beginning] = ACTIONS(1398),
    [sym__element_reference_left_bracket] = ACTIONS(1398),
    [sym__scope_double_colon] = ACTIONS(1398),
    [anon_sym_LBRACE] = ACTIONS(1398),
    [anon_sym_RPAREN] = ACTIONS(1398),
    [anon_sym_DOT] = ACTIONS(1398),
    [anon_sym_COMMA] = ACTIONS(1398),
    [anon_sym_EQ] = ACTIONS(1398),
    [anon_sym_in] = ACTIONS(1398),
    [anon_sym_do] = ACTIONS(1398),
    [anon_sym_AMP_DOT] = ACTIONS(1398),
    [sym_comment] = ACTIONS(256),
  },
  [3447] = {
    [sym__statement] = STATE(6604),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [aux_sym_heredoc_end_repeat1] = STATE(6605),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [3448] = {
    [sym__simple_heredoc_body] = ACTIONS(5468),
    [sym__heredoc_body_beginning] = ACTIONS(5468),
    [sym__element_reference_left_bracket] = ACTIONS(5468),
    [sym__scope_double_colon] = ACTIONS(5468),
    [anon_sym_LBRACE] = ACTIONS(5468),
    [anon_sym_RPAREN] = ACTIONS(5468),
    [anon_sym_DOT] = ACTIONS(5468),
    [anon_sym_COMMA] = ACTIONS(5468),
    [anon_sym_EQ] = ACTIONS(5468),
    [anon_sym_in] = ACTIONS(5468),
    [anon_sym_do] = ACTIONS(5468),
    [anon_sym_AMP_DOT] = ACTIONS(5468),
    [sym_comment] = ACTIONS(256),
  },
  [3449] = {
    [sym_heredoc_end] = STATE(6606),
    [sym__simple_heredoc_body] = ACTIONS(4968),
    [sym__heredoc_body_beginning] = ACTIONS(4970),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [anon_sym_LBRACE] = ACTIONS(5472),
    [anon_sym_RPAREN] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5472),
    [anon_sym_COMMA] = ACTIONS(5472),
    [anon_sym_EQ] = ACTIONS(5472),
    [anon_sym_in] = ACTIONS(5472),
    [anon_sym_do] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [sym_comment] = ACTIONS(256),
  },
  [3450] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1262),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(6607),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_reserved_identifier] = STATE(1267),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1268),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(6608),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(2030),
    [sym__splat_star] = ACTIONS(2032),
    [sym__unary_minus] = ACTIONS(1640),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2036),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(1642),
    [anon_sym_yield] = ACTIONS(1644),
    [anon_sym_break] = ACTIONS(1646),
    [anon_sym_next] = ACTIONS(1648),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2038),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(1652),
    [anon_sym_BANG] = ACTIONS(1656),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(2040),
    [sym_identifier] = ACTIONS(2040),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3451] = {
    [sym_heredoc_end] = STATE(3448),
    [aux_sym_argument_list_repeat2] = STATE(6610),
    [sym__simple_heredoc_body] = ACTIONS(4968),
    [sym__heredoc_body_beginning] = ACTIONS(4970),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5472),
    [anon_sym_COMMA] = ACTIONS(9162),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [sym_comment] = ACTIONS(110),
  },
  [3452] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6611),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3437),
    [sym_call] = STATE(3437),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3438),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3439),
    [sym__variable] = STATE(3437),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4944),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(4946),
    [anon_sym_yield] = ACTIONS(4948),
    [anon_sym_break] = ACTIONS(4950),
    [anon_sym_next] = ACTIONS(4952),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(4954),
    [anon_sym_defined_QMARK] = ACTIONS(4956),
    [anon_sym_not] = ACTIONS(4958),
    [anon_sym_BANG] = ACTIONS(4960),
    [anon_sym_TILDE] = ACTIONS(4960),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3453] = {
    [sym__statements] = STATE(6613),
    [sym__top_level_statement] = STATE(3863),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(3864),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_elsif] = STATE(3865),
    [sym_else] = STATE(3865),
    [sym__if_tail] = STATE(6614),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3867),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3869),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3870),
    [sym__variable] = STATE(3868),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(3849),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(6615),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(5566),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(5568),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(5570),
    [sym__unary_minus] = ACTIONS(5572),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(9164),
    [anon_sym_SEMI] = ACTIONS(5576),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_elsif] = ACTIONS(5586),
    [anon_sym_else] = ACTIONS(5588),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5590),
    [anon_sym_defined_QMARK] = ACTIONS(5592),
    [anon_sym_not] = ACTIONS(5594),
    [anon_sym_BANG] = ACTIONS(5596),
    [anon_sym_TILDE] = ACTIONS(5596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3454] = {
    [sym__statements] = STATE(6617),
    [sym__top_level_statement] = STATE(3946),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(3947),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(6618),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3949),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3950),
    [sym_call] = STATE(3950),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3951),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3952),
    [sym__variable] = STATE(3950),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5682),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(9166),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5686),
    [anon_sym_yield] = ACTIONS(5688),
    [anon_sym_break] = ACTIONS(5690),
    [anon_sym_next] = ACTIONS(5692),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(5588),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5694),
    [anon_sym_defined_QMARK] = ACTIONS(5696),
    [anon_sym_not] = ACTIONS(5698),
    [anon_sym_BANG] = ACTIONS(5700),
    [anon_sym_TILDE] = ACTIONS(5700),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3455] = {
    [sym__statements] = STATE(6620),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(9168),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3456] = {
    [sym__statements] = STATE(6622),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(9170),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3457] = {
    [sym__do] = STATE(6623),
    [sym_heredoc_end] = STATE(1550),
    [sym__terminator] = STATE(1557),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym__line_break] = ACTIONS(2446),
    [anon_sym_SEMI] = ACTIONS(2446),
    [anon_sym_do] = ACTIONS(2460),
    [sym_comment] = ACTIONS(110),
  },
  [3458] = {
    [sym__element_reference_left_bracket] = ACTIONS(6154),
    [sym__scope_double_colon] = ACTIONS(6154),
    [anon_sym_DOT] = ACTIONS(6154),
    [anon_sym_AMP_DOT] = ACTIONS(6154),
    [sym_comment] = ACTIONS(110),
  },
  [3459] = {
    [anon_sym_end] = ACTIONS(9172),
    [sym_comment] = ACTIONS(110),
  },
  [3460] = {
    [sym_when] = STATE(6625),
    [sym_heredoc_end] = STATE(387),
    [sym__terminator] = STATE(1688),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym__line_break] = ACTIONS(666),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_when] = ACTIONS(2612),
    [sym_comment] = ACTIONS(110),
  },
  [3461] = {
    [sym__element_reference_left_bracket] = ACTIONS(6600),
    [sym__scope_double_colon] = ACTIONS(6600),
    [anon_sym_DOT] = ACTIONS(6600),
    [anon_sym_AMP_DOT] = ACTIONS(6600),
    [sym_comment] = ACTIONS(110),
  },
  [3462] = {
    [anon_sym_end] = ACTIONS(9174),
    [sym_comment] = ACTIONS(110),
  },
  [3463] = {
    [anon_sym_RBRACK] = ACTIONS(9098),
    [sym_comment] = ACTIONS(110),
  },
  [3464] = {
    [sym__element_reference_left_bracket] = ACTIONS(6902),
    [sym__scope_double_colon] = ACTIONS(6902),
    [anon_sym_RPAREN] = ACTIONS(6902),
    [anon_sym_DOT] = ACTIONS(6902),
    [anon_sym_COMMA] = ACTIONS(6902),
    [anon_sym_EQ] = ACTIONS(6902),
    [anon_sym_in] = ACTIONS(6902),
    [anon_sym_AMP_DOT] = ACTIONS(6902),
    [sym_comment] = ACTIONS(256),
  },
  [3465] = {
    [anon_sym_RBRACE] = ACTIONS(9176),
    [sym_comment] = ACTIONS(110),
  },
  [3466] = {
    [sym__statements] = STATE(6628),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(841),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(9176),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3467] = {
    [sym__element_reference_left_bracket] = ACTIONS(6942),
    [sym__scope_double_colon] = ACTIONS(6942),
    [anon_sym_RPAREN] = ACTIONS(6942),
    [anon_sym_DOT] = ACTIONS(6942),
    [anon_sym_COMMA] = ACTIONS(6942),
    [anon_sym_EQ] = ACTIONS(6942),
    [anon_sym_in] = ACTIONS(6942),
    [anon_sym_AMP_DOT] = ACTIONS(6942),
    [sym_comment] = ACTIONS(256),
  },
  [3468] = {
    [anon_sym_end] = ACTIONS(9178),
    [sym_comment] = ACTIONS(110),
  },
  [3469] = {
    [sym__statements] = STATE(6630),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(6631),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(9180),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3470] = {
    [sym__statements] = STATE(6630),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(6632),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(6631),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(9180),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3471] = {
    [sym__element_reference_left_bracket] = ACTIONS(6980),
    [sym__scope_double_colon] = ACTIONS(6980),
    [anon_sym_DOT] = ACTIONS(6980),
    [anon_sym_AMP_DOT] = ACTIONS(6980),
    [sym_comment] = ACTIONS(110),
  },
  [3472] = {
    [sym__element_reference_left_bracket] = ACTIONS(7110),
    [sym__scope_double_colon] = ACTIONS(7110),
    [anon_sym_RPAREN] = ACTIONS(7110),
    [anon_sym_DOT] = ACTIONS(7110),
    [anon_sym_COMMA] = ACTIONS(7110),
    [anon_sym_EQ] = ACTIONS(7110),
    [anon_sym_in] = ACTIONS(7110),
    [anon_sym_AMP_DOT] = ACTIONS(7110),
    [sym_comment] = ACTIONS(256),
  },
  [3473] = {
    [sym_heredoc_end] = STATE(6634),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RBRACK] = ACTIONS(9182),
    [sym_comment] = ACTIONS(110),
  },
  [3474] = {
    [anon_sym_RBRACK] = ACTIONS(9182),
    [sym_comment] = ACTIONS(110),
  },
  [3475] = {
    [sym__simple_string] = ACTIONS(7116),
    [sym__simple_symbol] = ACTIONS(7116),
    [sym__simple_subshell] = ACTIONS(7116),
    [sym__simple_regex] = ACTIONS(7116),
    [sym__simple_word_list] = ACTIONS(7116),
    [sym__string_beginning] = ACTIONS(7116),
    [sym__symbol_beginning] = ACTIONS(7116),
    [sym__subshell_beginning] = ACTIONS(7116),
    [sym__regex_beginning] = ACTIONS(7116),
    [sym__word_list_beginning] = ACTIONS(7116),
    [sym_heredoc_beginning] = ACTIONS(7116),
    [sym__element_reference_left_bracket] = ACTIONS(7116),
    [sym__block_ampersand] = ACTIONS(7116),
    [sym__splat_star] = ACTIONS(7116),
    [sym__argument_list_left_paren] = ACTIONS(7116),
    [sym__scope_double_colon] = ACTIONS(7116),
    [sym__unary_minus] = ACTIONS(7116),
    [anon_sym_LBRACE] = ACTIONS(7116),
    [anon_sym_def] = ACTIONS(7118),
    [anon_sym_LPAREN] = ACTIONS(7116),
    [anon_sym_RPAREN] = ACTIONS(7116),
    [anon_sym_DOT] = ACTIONS(7116),
    [anon_sym_COLON_COLON] = ACTIONS(7116),
    [anon_sym_end] = ACTIONS(7118),
    [anon_sym_COMMA] = ACTIONS(7116),
    [anon_sym_STAR] = ACTIONS(7118),
    [anon_sym_STAR_STAR] = ACTIONS(7116),
    [anon_sym_EQ] = ACTIONS(7116),
    [anon_sym_class] = ACTIONS(7118),
    [anon_sym_module] = ACTIONS(7118),
    [anon_sym_return] = ACTIONS(7118),
    [anon_sym_yield] = ACTIONS(7118),
    [anon_sym_break] = ACTIONS(7118),
    [anon_sym_next] = ACTIONS(7118),
    [anon_sym_redo] = ACTIONS(7118),
    [anon_sym_retry] = ACTIONS(7118),
    [anon_sym_if] = ACTIONS(7118),
    [anon_sym_unless] = ACTIONS(7118),
    [anon_sym_while] = ACTIONS(7118),
    [anon_sym_until] = ACTIONS(7118),
    [anon_sym_rescue] = ACTIONS(7118),
    [anon_sym_for] = ACTIONS(7118),
    [anon_sym_in] = ACTIONS(7118),
    [anon_sym_do] = ACTIONS(7118),
    [anon_sym_case] = ACTIONS(7118),
    [anon_sym_when] = ACTIONS(7118),
    [anon_sym_elsif] = ACTIONS(7118),
    [anon_sym_else] = ACTIONS(7118),
    [anon_sym_then] = ACTIONS(7118),
    [anon_sym_begin] = ACTIONS(7118),
    [anon_sym_ensure] = ACTIONS(7118),
    [anon_sym_AMP_DOT] = ACTIONS(7116),
    [anon_sym_and] = ACTIONS(7118),
    [anon_sym_or] = ACTIONS(7118),
    [anon_sym_PLUS] = ACTIONS(7118),
    [anon_sym_defined_QMARK] = ACTIONS(7116),
    [anon_sym_not] = ACTIONS(7118),
    [anon_sym_BANG] = ACTIONS(7116),
    [anon_sym_TILDE] = ACTIONS(7116),
    [sym_constant] = ACTIONS(7120),
    [sym_identifier] = ACTIONS(7120),
    [sym_instance_variable] = ACTIONS(7118),
    [sym_class_variable] = ACTIONS(7118),
    [sym_global_variable] = ACTIONS(7118),
    [anon_sym_alias] = ACTIONS(7118),
    [anon_sym_defined] = ACTIONS(7118),
    [anon_sym_false] = ACTIONS(7118),
    [anon_sym_nil] = ACTIONS(7118),
    [anon_sym_self] = ACTIONS(7118),
    [anon_sym_super] = ACTIONS(7118),
    [anon_sym_true] = ACTIONS(7118),
    [anon_sym_undef] = ACTIONS(7118),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(7118),
    [sym_float] = ACTIONS(7120),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(7116),
    [anon_sym_TRUE] = ACTIONS(7118),
    [anon_sym_FALSE] = ACTIONS(7118),
    [anon_sym_NIL] = ACTIONS(7118),
    [sym_keyword__FILE__] = ACTIONS(7118),
    [sym_keyword__LINE__] = ACTIONS(7118),
    [sym_keyword__ENCODING__] = ACTIONS(7118),
    [sym__character_literal] = ACTIONS(7118),
    [anon_sym_LBRACK] = ACTIONS(7116),
    [anon_sym_DASH_GT] = ACTIONS(7116),
  },
  [3476] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1382),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(6636),
    [sym__argument] = STATE(1385),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1386),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1387),
    [sym__variable] = STATE(1383),
    [sym_reserved_identifier] = STATE(1388),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1389),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(6637),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(2154),
    [sym__splat_star] = ACTIONS(2156),
    [sym__unary_minus] = ACTIONS(2158),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(9184),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2162),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2164),
    [anon_sym_yield] = ACTIONS(2166),
    [anon_sym_break] = ACTIONS(2168),
    [anon_sym_next] = ACTIONS(2170),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2172),
    [anon_sym_defined_QMARK] = ACTIONS(2174),
    [anon_sym_not] = ACTIONS(2176),
    [anon_sym_BANG] = ACTIONS(2178),
    [anon_sym_TILDE] = ACTIONS(2178),
    [sym_constant] = ACTIONS(2180),
    [sym_identifier] = ACTIONS(2180),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3477] = {
    [sym__simple_string] = ACTIONS(1856),
    [sym__simple_symbol] = ACTIONS(1856),
    [sym__simple_subshell] = ACTIONS(1856),
    [sym__simple_regex] = ACTIONS(1856),
    [sym__simple_word_list] = ACTIONS(1856),
    [sym__string_beginning] = ACTIONS(1856),
    [sym__symbol_beginning] = ACTIONS(1856),
    [sym__subshell_beginning] = ACTIONS(1856),
    [sym__regex_beginning] = ACTIONS(1856),
    [sym__word_list_beginning] = ACTIONS(1856),
    [sym_heredoc_beginning] = ACTIONS(1856),
    [sym__element_reference_left_bracket] = ACTIONS(1856),
    [sym__block_ampersand] = ACTIONS(1856),
    [sym__splat_star] = ACTIONS(1856),
    [sym__argument_list_left_paren] = ACTIONS(1856),
    [sym__scope_double_colon] = ACTIONS(1856),
    [sym__unary_minus] = ACTIONS(1856),
    [anon_sym_LBRACE] = ACTIONS(1856),
    [anon_sym_def] = ACTIONS(1858),
    [anon_sym_LPAREN] = ACTIONS(1856),
    [anon_sym_RPAREN] = ACTIONS(1856),
    [anon_sym_DOT] = ACTIONS(1856),
    [anon_sym_COLON_COLON] = ACTIONS(1856),
    [anon_sym_end] = ACTIONS(1858),
    [anon_sym_COMMA] = ACTIONS(1856),
    [anon_sym_STAR] = ACTIONS(1858),
    [anon_sym_STAR_STAR] = ACTIONS(1856),
    [anon_sym_EQ] = ACTIONS(1856),
    [anon_sym_class] = ACTIONS(1858),
    [anon_sym_module] = ACTIONS(1858),
    [anon_sym_return] = ACTIONS(1858),
    [anon_sym_yield] = ACTIONS(1858),
    [anon_sym_break] = ACTIONS(1858),
    [anon_sym_next] = ACTIONS(1858),
    [anon_sym_redo] = ACTIONS(1858),
    [anon_sym_retry] = ACTIONS(1858),
    [anon_sym_if] = ACTIONS(1858),
    [anon_sym_unless] = ACTIONS(1858),
    [anon_sym_while] = ACTIONS(1858),
    [anon_sym_until] = ACTIONS(1858),
    [anon_sym_rescue] = ACTIONS(1858),
    [anon_sym_for] = ACTIONS(1858),
    [anon_sym_in] = ACTIONS(1858),
    [anon_sym_do] = ACTIONS(1858),
    [anon_sym_case] = ACTIONS(1858),
    [anon_sym_when] = ACTIONS(1858),
    [anon_sym_elsif] = ACTIONS(1858),
    [anon_sym_else] = ACTIONS(1858),
    [anon_sym_then] = ACTIONS(1858),
    [anon_sym_begin] = ACTIONS(1858),
    [anon_sym_ensure] = ACTIONS(1858),
    [anon_sym_AMP_DOT] = ACTIONS(1856),
    [anon_sym_and] = ACTIONS(1858),
    [anon_sym_or] = ACTIONS(1858),
    [anon_sym_PLUS] = ACTIONS(1858),
    [anon_sym_defined_QMARK] = ACTIONS(1856),
    [anon_sym_not] = ACTIONS(1858),
    [anon_sym_BANG] = ACTIONS(1856),
    [anon_sym_TILDE] = ACTIONS(1856),
    [sym_constant] = ACTIONS(7124),
    [sym_identifier] = ACTIONS(7124),
    [sym_instance_variable] = ACTIONS(1858),
    [sym_class_variable] = ACTIONS(1858),
    [sym_global_variable] = ACTIONS(1858),
    [anon_sym_alias] = ACTIONS(1858),
    [anon_sym_defined] = ACTIONS(1858),
    [anon_sym_false] = ACTIONS(1858),
    [anon_sym_nil] = ACTIONS(1858),
    [anon_sym_self] = ACTIONS(1858),
    [anon_sym_super] = ACTIONS(1858),
    [anon_sym_true] = ACTIONS(1858),
    [anon_sym_undef] = ACTIONS(1858),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1858),
    [sym_float] = ACTIONS(7124),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1856),
    [anon_sym_TRUE] = ACTIONS(1858),
    [anon_sym_FALSE] = ACTIONS(1858),
    [anon_sym_NIL] = ACTIONS(1858),
    [sym_keyword__FILE__] = ACTIONS(1858),
    [sym_keyword__LINE__] = ACTIONS(1858),
    [sym_keyword__ENCODING__] = ACTIONS(1858),
    [sym__character_literal] = ACTIONS(1858),
    [anon_sym_LBRACK] = ACTIONS(1856),
    [anon_sym_DASH_GT] = ACTIONS(1856),
  },
  [3478] = {
    [sym__simple_string] = ACTIONS(7126),
    [sym__simple_symbol] = ACTIONS(7126),
    [sym__simple_subshell] = ACTIONS(7126),
    [sym__simple_regex] = ACTIONS(7126),
    [sym__simple_word_list] = ACTIONS(7126),
    [sym__string_beginning] = ACTIONS(7126),
    [sym__symbol_beginning] = ACTIONS(7126),
    [sym__subshell_beginning] = ACTIONS(7126),
    [sym__regex_beginning] = ACTIONS(7126),
    [sym__word_list_beginning] = ACTIONS(7126),
    [sym_heredoc_beginning] = ACTIONS(7126),
    [sym__element_reference_left_bracket] = ACTIONS(7126),
    [sym__block_ampersand] = ACTIONS(7126),
    [sym__splat_star] = ACTIONS(7126),
    [sym__argument_list_left_paren] = ACTIONS(7126),
    [sym__scope_double_colon] = ACTIONS(7126),
    [sym__unary_minus] = ACTIONS(7126),
    [anon_sym_LBRACE] = ACTIONS(7126),
    [anon_sym_def] = ACTIONS(7128),
    [anon_sym_LPAREN] = ACTIONS(7126),
    [anon_sym_RPAREN] = ACTIONS(7126),
    [anon_sym_DOT] = ACTIONS(7126),
    [anon_sym_COLON_COLON] = ACTIONS(7126),
    [anon_sym_end] = ACTIONS(7128),
    [anon_sym_COMMA] = ACTIONS(7126),
    [anon_sym_STAR] = ACTIONS(7128),
    [anon_sym_STAR_STAR] = ACTIONS(7126),
    [anon_sym_EQ] = ACTIONS(7126),
    [anon_sym_class] = ACTIONS(7128),
    [anon_sym_module] = ACTIONS(7128),
    [anon_sym_return] = ACTIONS(7128),
    [anon_sym_yield] = ACTIONS(7128),
    [anon_sym_break] = ACTIONS(7128),
    [anon_sym_next] = ACTIONS(7128),
    [anon_sym_redo] = ACTIONS(7128),
    [anon_sym_retry] = ACTIONS(7128),
    [anon_sym_if] = ACTIONS(7128),
    [anon_sym_unless] = ACTIONS(7128),
    [anon_sym_while] = ACTIONS(7128),
    [anon_sym_until] = ACTIONS(7128),
    [anon_sym_rescue] = ACTIONS(7128),
    [anon_sym_for] = ACTIONS(7128),
    [anon_sym_in] = ACTIONS(7128),
    [anon_sym_do] = ACTIONS(7128),
    [anon_sym_case] = ACTIONS(7128),
    [anon_sym_when] = ACTIONS(7128),
    [anon_sym_elsif] = ACTIONS(7128),
    [anon_sym_else] = ACTIONS(7128),
    [anon_sym_then] = ACTIONS(7128),
    [anon_sym_begin] = ACTIONS(7128),
    [anon_sym_ensure] = ACTIONS(7128),
    [anon_sym_AMP_DOT] = ACTIONS(7126),
    [anon_sym_and] = ACTIONS(7128),
    [anon_sym_or] = ACTIONS(7128),
    [anon_sym_PLUS] = ACTIONS(7128),
    [anon_sym_defined_QMARK] = ACTIONS(7126),
    [anon_sym_not] = ACTIONS(7128),
    [anon_sym_BANG] = ACTIONS(7126),
    [anon_sym_TILDE] = ACTIONS(7126),
    [sym_constant] = ACTIONS(7130),
    [sym_identifier] = ACTIONS(7130),
    [sym_instance_variable] = ACTIONS(7128),
    [sym_class_variable] = ACTIONS(7128),
    [sym_global_variable] = ACTIONS(7128),
    [anon_sym_alias] = ACTIONS(7128),
    [anon_sym_defined] = ACTIONS(7128),
    [anon_sym_false] = ACTIONS(7128),
    [anon_sym_nil] = ACTIONS(7128),
    [anon_sym_self] = ACTIONS(7128),
    [anon_sym_super] = ACTIONS(7128),
    [anon_sym_true] = ACTIONS(7128),
    [anon_sym_undef] = ACTIONS(7128),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(7128),
    [sym_float] = ACTIONS(7130),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(7126),
    [anon_sym_TRUE] = ACTIONS(7128),
    [anon_sym_FALSE] = ACTIONS(7128),
    [anon_sym_NIL] = ACTIONS(7128),
    [sym_keyword__FILE__] = ACTIONS(7128),
    [sym_keyword__LINE__] = ACTIONS(7128),
    [sym_keyword__ENCODING__] = ACTIONS(7128),
    [sym__character_literal] = ACTIONS(7128),
    [anon_sym_LBRACK] = ACTIONS(7126),
    [anon_sym_DASH_GT] = ACTIONS(7126),
  },
  [3479] = {
    [sym__simple_string] = ACTIONS(7132),
    [sym__simple_symbol] = ACTIONS(7132),
    [sym__simple_subshell] = ACTIONS(7132),
    [sym__simple_regex] = ACTIONS(7132),
    [sym__simple_word_list] = ACTIONS(7132),
    [sym__string_beginning] = ACTIONS(7132),
    [sym__symbol_beginning] = ACTIONS(7132),
    [sym__subshell_beginning] = ACTIONS(7132),
    [sym__regex_beginning] = ACTIONS(7132),
    [sym__word_list_beginning] = ACTIONS(7132),
    [sym_heredoc_beginning] = ACTIONS(7132),
    [sym__element_reference_left_bracket] = ACTIONS(7132),
    [sym__block_ampersand] = ACTIONS(7132),
    [sym__splat_star] = ACTIONS(7132),
    [sym__argument_list_left_paren] = ACTIONS(7132),
    [sym__scope_double_colon] = ACTIONS(7132),
    [sym__unary_minus] = ACTIONS(7132),
    [anon_sym_LBRACE] = ACTIONS(7132),
    [anon_sym_def] = ACTIONS(7134),
    [anon_sym_LPAREN] = ACTIONS(7132),
    [anon_sym_RPAREN] = ACTIONS(7132),
    [anon_sym_DOT] = ACTIONS(7132),
    [anon_sym_COLON_COLON] = ACTIONS(7132),
    [anon_sym_end] = ACTIONS(7134),
    [anon_sym_COMMA] = ACTIONS(7132),
    [anon_sym_STAR] = ACTIONS(7134),
    [anon_sym_STAR_STAR] = ACTIONS(7132),
    [anon_sym_EQ] = ACTIONS(7132),
    [anon_sym_class] = ACTIONS(7134),
    [anon_sym_module] = ACTIONS(7134),
    [anon_sym_return] = ACTIONS(7134),
    [anon_sym_yield] = ACTIONS(7134),
    [anon_sym_break] = ACTIONS(7134),
    [anon_sym_next] = ACTIONS(7134),
    [anon_sym_redo] = ACTIONS(7134),
    [anon_sym_retry] = ACTIONS(7134),
    [anon_sym_if] = ACTIONS(7134),
    [anon_sym_unless] = ACTIONS(7134),
    [anon_sym_while] = ACTIONS(7134),
    [anon_sym_until] = ACTIONS(7134),
    [anon_sym_rescue] = ACTIONS(7134),
    [anon_sym_for] = ACTIONS(7134),
    [anon_sym_in] = ACTIONS(7134),
    [anon_sym_do] = ACTIONS(7134),
    [anon_sym_case] = ACTIONS(7134),
    [anon_sym_when] = ACTIONS(7134),
    [anon_sym_elsif] = ACTIONS(7134),
    [anon_sym_else] = ACTIONS(7134),
    [anon_sym_then] = ACTIONS(7134),
    [anon_sym_begin] = ACTIONS(7134),
    [anon_sym_ensure] = ACTIONS(7134),
    [anon_sym_AMP_DOT] = ACTIONS(7132),
    [anon_sym_and] = ACTIONS(7134),
    [anon_sym_or] = ACTIONS(7134),
    [anon_sym_PLUS] = ACTIONS(7134),
    [anon_sym_defined_QMARK] = ACTIONS(7132),
    [anon_sym_not] = ACTIONS(7134),
    [anon_sym_BANG] = ACTIONS(7132),
    [anon_sym_TILDE] = ACTIONS(7132),
    [sym_constant] = ACTIONS(7136),
    [sym_identifier] = ACTIONS(7136),
    [sym_instance_variable] = ACTIONS(7134),
    [sym_class_variable] = ACTIONS(7134),
    [sym_global_variable] = ACTIONS(7134),
    [anon_sym_alias] = ACTIONS(7134),
    [anon_sym_defined] = ACTIONS(7134),
    [anon_sym_false] = ACTIONS(7134),
    [anon_sym_nil] = ACTIONS(7134),
    [anon_sym_self] = ACTIONS(7134),
    [anon_sym_super] = ACTIONS(7134),
    [anon_sym_true] = ACTIONS(7134),
    [anon_sym_undef] = ACTIONS(7134),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(7134),
    [sym_float] = ACTIONS(7136),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(7132),
    [anon_sym_TRUE] = ACTIONS(7134),
    [anon_sym_FALSE] = ACTIONS(7134),
    [anon_sym_NIL] = ACTIONS(7134),
    [sym_keyword__FILE__] = ACTIONS(7134),
    [sym_keyword__LINE__] = ACTIONS(7134),
    [sym_keyword__ENCODING__] = ACTIONS(7134),
    [sym__character_literal] = ACTIONS(7134),
    [anon_sym_LBRACK] = ACTIONS(7132),
    [anon_sym_DASH_GT] = ACTIONS(7132),
  },
  [3480] = {
    [sym__simple_string] = ACTIONS(126),
    [sym__simple_heredoc_body] = ACTIONS(126),
    [sym__string_beginning] = ACTIONS(126),
    [sym__heredoc_body_beginning] = ACTIONS(126),
    [sym__element_reference_left_bracket] = ACTIONS(126),
    [sym__scope_double_colon] = ACTIONS(126),
    [sym__binary_minus] = ACTIONS(126),
    [sym__binary_star] = ACTIONS(126),
    [anon_sym_LBRACE] = ACTIONS(126),
    [anon_sym_RPAREN] = ACTIONS(126),
    [anon_sym_DOT] = ACTIONS(128),
    [anon_sym_COMMA] = ACTIONS(126),
    [anon_sym_PIPE] = ACTIONS(128),
    [anon_sym_STAR_STAR] = ACTIONS(126),
    [anon_sym_AMP] = ACTIONS(128),
    [anon_sym_EQ] = ACTIONS(128),
    [anon_sym_LT] = ACTIONS(128),
    [anon_sym_do] = ACTIONS(126),
    [anon_sym_AMP_DOT] = ACTIONS(126),
    [anon_sym_QMARK] = ACTIONS(128),
    [anon_sym_DOT_DOT] = ACTIONS(128),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(126),
    [anon_sym_and] = ACTIONS(126),
    [anon_sym_or] = ACTIONS(126),
    [anon_sym_PIPE_PIPE] = ACTIONS(126),
    [anon_sym_AMP_AMP] = ACTIONS(126),
    [anon_sym_LT_LT] = ACTIONS(126),
    [anon_sym_GT_GT] = ACTIONS(126),
    [anon_sym_EQ_EQ] = ACTIONS(128),
    [anon_sym_BANG_EQ] = ACTIONS(126),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(126),
    [anon_sym_LT_EQ_GT] = ACTIONS(126),
    [anon_sym_EQ_TILDE] = ACTIONS(126),
    [anon_sym_BANG_TILDE] = ACTIONS(126),
    [anon_sym_LT_EQ] = ACTIONS(128),
    [anon_sym_GT] = ACTIONS(128),
    [anon_sym_GT_EQ] = ACTIONS(126),
    [anon_sym_CARET] = ACTIONS(126),
    [anon_sym_PLUS] = ACTIONS(126),
    [anon_sym_SLASH] = ACTIONS(126),
    [anon_sym_PERCENT] = ACTIONS(126),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(128),
  },
  [3481] = {
    [sym__simple_heredoc_body] = ACTIONS(130),
    [sym__heredoc_body_beginning] = ACTIONS(130),
    [sym__element_reference_left_bracket] = ACTIONS(130),
    [sym__scope_double_colon] = ACTIONS(130),
    [sym__binary_minus] = ACTIONS(130),
    [sym__binary_star] = ACTIONS(130),
    [anon_sym_LBRACE] = ACTIONS(130),
    [anon_sym_RPAREN] = ACTIONS(130),
    [anon_sym_DOT] = ACTIONS(132),
    [anon_sym_COMMA] = ACTIONS(130),
    [anon_sym_PIPE] = ACTIONS(132),
    [anon_sym_STAR_STAR] = ACTIONS(130),
    [anon_sym_AMP] = ACTIONS(132),
    [anon_sym_EQ] = ACTIONS(132),
    [anon_sym_LT] = ACTIONS(132),
    [anon_sym_do] = ACTIONS(130),
    [anon_sym_AMP_DOT] = ACTIONS(130),
    [anon_sym_QMARK] = ACTIONS(130),
    [anon_sym_DOT_DOT] = ACTIONS(132),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(130),
    [anon_sym_and] = ACTIONS(130),
    [anon_sym_or] = ACTIONS(130),
    [anon_sym_PIPE_PIPE] = ACTIONS(130),
    [anon_sym_AMP_AMP] = ACTIONS(130),
    [anon_sym_LT_LT] = ACTIONS(130),
    [anon_sym_GT_GT] = ACTIONS(130),
    [anon_sym_EQ_EQ] = ACTIONS(132),
    [anon_sym_BANG_EQ] = ACTIONS(130),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(130),
    [anon_sym_LT_EQ_GT] = ACTIONS(130),
    [anon_sym_EQ_TILDE] = ACTIONS(130),
    [anon_sym_BANG_TILDE] = ACTIONS(130),
    [anon_sym_LT_EQ] = ACTIONS(132),
    [anon_sym_GT] = ACTIONS(132),
    [anon_sym_GT_EQ] = ACTIONS(130),
    [anon_sym_CARET] = ACTIONS(130),
    [anon_sym_PLUS] = ACTIONS(130),
    [anon_sym_SLASH] = ACTIONS(130),
    [anon_sym_PERCENT] = ACTIONS(130),
    [sym_comment] = ACTIONS(256),
  },
  [3482] = {
    [sym__simple_heredoc_body] = ACTIONS(134),
    [sym__heredoc_body_beginning] = ACTIONS(134),
    [sym__element_reference_left_bracket] = ACTIONS(134),
    [sym__scope_double_colon] = ACTIONS(134),
    [sym__binary_minus] = ACTIONS(134),
    [sym__binary_star] = ACTIONS(134),
    [anon_sym_LBRACE] = ACTIONS(134),
    [anon_sym_RPAREN] = ACTIONS(134),
    [anon_sym_DOT] = ACTIONS(136),
    [anon_sym_COMMA] = ACTIONS(134),
    [anon_sym_PIPE] = ACTIONS(136),
    [anon_sym_STAR_STAR] = ACTIONS(134),
    [anon_sym_AMP] = ACTIONS(136),
    [anon_sym_EQ] = ACTIONS(136),
    [anon_sym_LT] = ACTIONS(136),
    [anon_sym_do] = ACTIONS(134),
    [anon_sym_AMP_DOT] = ACTIONS(134),
    [anon_sym_QMARK] = ACTIONS(134),
    [anon_sym_DOT_DOT] = ACTIONS(136),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(134),
    [anon_sym_and] = ACTIONS(134),
    [anon_sym_or] = ACTIONS(134),
    [anon_sym_PIPE_PIPE] = ACTIONS(134),
    [anon_sym_AMP_AMP] = ACTIONS(134),
    [anon_sym_LT_LT] = ACTIONS(134),
    [anon_sym_GT_GT] = ACTIONS(134),
    [anon_sym_EQ_EQ] = ACTIONS(136),
    [anon_sym_BANG_EQ] = ACTIONS(134),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(134),
    [anon_sym_LT_EQ_GT] = ACTIONS(134),
    [anon_sym_EQ_TILDE] = ACTIONS(134),
    [anon_sym_BANG_TILDE] = ACTIONS(134),
    [anon_sym_LT_EQ] = ACTIONS(136),
    [anon_sym_GT] = ACTIONS(136),
    [anon_sym_GT_EQ] = ACTIONS(134),
    [anon_sym_CARET] = ACTIONS(134),
    [anon_sym_PLUS] = ACTIONS(134),
    [anon_sym_SLASH] = ACTIONS(134),
    [anon_sym_PERCENT] = ACTIONS(134),
    [sym_comment] = ACTIONS(256),
  },
  [3483] = {
    [sym__simple_heredoc_body] = ACTIONS(138),
    [sym__heredoc_body_beginning] = ACTIONS(138),
    [sym__element_reference_left_bracket] = ACTIONS(138),
    [sym__scope_double_colon] = ACTIONS(138),
    [sym__binary_minus] = ACTIONS(138),
    [sym__binary_star] = ACTIONS(138),
    [anon_sym_LBRACE] = ACTIONS(138),
    [anon_sym_RPAREN] = ACTIONS(138),
    [anon_sym_DOT] = ACTIONS(140),
    [anon_sym_COMMA] = ACTIONS(138),
    [anon_sym_PIPE] = ACTIONS(140),
    [anon_sym_STAR_STAR] = ACTIONS(138),
    [anon_sym_AMP] = ACTIONS(140),
    [anon_sym_EQ] = ACTIONS(140),
    [anon_sym_LT] = ACTIONS(140),
    [anon_sym_do] = ACTIONS(138),
    [anon_sym_AMP_DOT] = ACTIONS(138),
    [anon_sym_QMARK] = ACTIONS(138),
    [anon_sym_DOT_DOT] = ACTIONS(140),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(138),
    [anon_sym_and] = ACTIONS(138),
    [anon_sym_or] = ACTIONS(138),
    [anon_sym_PIPE_PIPE] = ACTIONS(138),
    [anon_sym_AMP_AMP] = ACTIONS(138),
    [anon_sym_LT_LT] = ACTIONS(138),
    [anon_sym_GT_GT] = ACTIONS(138),
    [anon_sym_EQ_EQ] = ACTIONS(140),
    [anon_sym_BANG_EQ] = ACTIONS(138),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(138),
    [anon_sym_LT_EQ_GT] = ACTIONS(138),
    [anon_sym_EQ_TILDE] = ACTIONS(138),
    [anon_sym_BANG_TILDE] = ACTIONS(138),
    [anon_sym_LT_EQ] = ACTIONS(140),
    [anon_sym_GT] = ACTIONS(140),
    [anon_sym_GT_EQ] = ACTIONS(138),
    [anon_sym_CARET] = ACTIONS(138),
    [anon_sym_PLUS] = ACTIONS(138),
    [anon_sym_SLASH] = ACTIONS(138),
    [anon_sym_PERCENT] = ACTIONS(138),
    [sym_comment] = ACTIONS(256),
  },
  [3484] = {
    [sym__simple_heredoc_body] = ACTIONS(142),
    [sym__heredoc_body_beginning] = ACTIONS(142),
    [sym__element_reference_left_bracket] = ACTIONS(142),
    [sym__scope_double_colon] = ACTIONS(142),
    [sym__binary_minus] = ACTIONS(142),
    [sym__binary_star] = ACTIONS(142),
    [anon_sym_LBRACE] = ACTIONS(142),
    [anon_sym_RPAREN] = ACTIONS(142),
    [anon_sym_DOT] = ACTIONS(144),
    [anon_sym_COMMA] = ACTIONS(142),
    [anon_sym_PIPE] = ACTIONS(144),
    [anon_sym_STAR_STAR] = ACTIONS(142),
    [anon_sym_AMP] = ACTIONS(144),
    [anon_sym_EQ] = ACTIONS(144),
    [anon_sym_LT] = ACTIONS(144),
    [anon_sym_do] = ACTIONS(142),
    [anon_sym_AMP_DOT] = ACTIONS(142),
    [anon_sym_QMARK] = ACTIONS(142),
    [anon_sym_DOT_DOT] = ACTIONS(144),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(142),
    [anon_sym_and] = ACTIONS(142),
    [anon_sym_or] = ACTIONS(142),
    [anon_sym_PIPE_PIPE] = ACTIONS(142),
    [anon_sym_AMP_AMP] = ACTIONS(142),
    [anon_sym_LT_LT] = ACTIONS(142),
    [anon_sym_GT_GT] = ACTIONS(142),
    [anon_sym_EQ_EQ] = ACTIONS(144),
    [anon_sym_BANG_EQ] = ACTIONS(142),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(142),
    [anon_sym_LT_EQ_GT] = ACTIONS(142),
    [anon_sym_EQ_TILDE] = ACTIONS(142),
    [anon_sym_BANG_TILDE] = ACTIONS(142),
    [anon_sym_LT_EQ] = ACTIONS(144),
    [anon_sym_GT] = ACTIONS(144),
    [anon_sym_GT_EQ] = ACTIONS(142),
    [anon_sym_CARET] = ACTIONS(142),
    [anon_sym_PLUS] = ACTIONS(142),
    [anon_sym_SLASH] = ACTIONS(142),
    [anon_sym_PERCENT] = ACTIONS(142),
    [sym_comment] = ACTIONS(256),
  },
  [3485] = {
    [sym__statement] = STATE(6638),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(6639),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [3486] = {
    [sym__statement] = STATE(6640),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(6641),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [3487] = {
    [sym__statement] = STATE(6642),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(6643),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [3488] = {
    [sym__statement] = STATE(6644),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(6645),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [3489] = {
    [sym__statement] = STATE(6646),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(6647),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [3490] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_RPAREN] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(256),
  },
  [3491] = {
    [sym_method] = STATE(3490),
    [sym_singleton_method] = STATE(3490),
    [sym_class] = STATE(3490),
    [sym_singleton_class] = STATE(3490),
    [sym_module] = STATE(3490),
    [sym_return] = STATE(3490),
    [sym_yield] = STATE(3490),
    [sym_break] = STATE(3490),
    [sym_next] = STATE(3490),
    [sym_redo] = STATE(3490),
    [sym_retry] = STATE(3490),
    [sym_while] = STATE(3490),
    [sym_until] = STATE(3490),
    [sym_for] = STATE(3490),
    [sym_case] = STATE(3490),
    [sym_if] = STATE(3490),
    [sym_unless] = STATE(3490),
    [sym_begin] = STATE(3490),
    [sym__arg] = STATE(6648),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(3490),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(3519),
    [sym_operator_assignment] = STATE(3519),
    [sym_conditional] = STATE(3519),
    [sym_range] = STATE(3519),
    [sym_binary] = STATE(3519),
    [sym_unary] = STATE(3519),
    [sym_left_assignment_list] = STATE(3520),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3521),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(3490),
    [sym_complex] = STATE(3490),
    [sym_rational] = STATE(3490),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(3490),
    [sym_string] = STATE(3522),
    [sym_subshell] = STATE(3490),
    [sym_array] = STATE(3490),
    [sym_hash] = STATE(3490),
    [sym_regex] = STATE(3490),
    [sym_lambda] = STATE(3490),
    [sym__simple_string] = ACTIONS(5000),
    [sym__simple_symbol] = ACTIONS(5002),
    [sym__simple_subshell] = ACTIONS(5004),
    [sym__simple_regex] = ACTIONS(5006),
    [sym__simple_word_list] = ACTIONS(5008),
    [sym__string_beginning] = ACTIONS(5010),
    [sym__symbol_beginning] = ACTIONS(5012),
    [sym__subshell_beginning] = ACTIONS(5014),
    [sym__regex_beginning] = ACTIONS(5016),
    [sym__word_list_beginning] = ACTIONS(5018),
    [sym_heredoc_beginning] = ACTIONS(5020),
    [sym__unary_minus] = ACTIONS(5022),
    [anon_sym_LBRACE] = ACTIONS(5024),
    [anon_sym_def] = ACTIONS(5026),
    [anon_sym_LPAREN] = ACTIONS(5028),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(5030),
    [anon_sym_module] = ACTIONS(5032),
    [anon_sym_return] = ACTIONS(5034),
    [anon_sym_yield] = ACTIONS(5036),
    [anon_sym_break] = ACTIONS(5038),
    [anon_sym_next] = ACTIONS(5040),
    [anon_sym_redo] = ACTIONS(5042),
    [anon_sym_retry] = ACTIONS(5044),
    [anon_sym_if] = ACTIONS(5046),
    [anon_sym_unless] = ACTIONS(5048),
    [anon_sym_while] = ACTIONS(5050),
    [anon_sym_until] = ACTIONS(5052),
    [anon_sym_for] = ACTIONS(5054),
    [anon_sym_case] = ACTIONS(5056),
    [anon_sym_begin] = ACTIONS(5058),
    [anon_sym_PLUS] = ACTIONS(5060),
    [anon_sym_defined_QMARK] = ACTIONS(5062),
    [anon_sym_not] = ACTIONS(5064),
    [anon_sym_BANG] = ACTIONS(5066),
    [anon_sym_TILDE] = ACTIONS(5066),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5068),
    [sym_float] = ACTIONS(5070),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5072),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(5074),
    [sym_keyword__LINE__] = ACTIONS(5074),
    [sym_keyword__ENCODING__] = ACTIONS(5074),
    [sym__character_literal] = ACTIONS(5076),
    [anon_sym_LBRACK] = ACTIONS(5078),
    [anon_sym_DASH_GT] = ACTIONS(5080),
  },
  [3492] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(193),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_hash_splat_argument] = STATE(197),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(199),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(200),
    [sym__variable] = STATE(196),
    [sym_reserved_identifier] = STATE(201),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(202),
    [sym_subshell] = STATE(151),
    [sym_heredoc_end] = STATE(6650),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym__hash_items] = STATE(6651),
    [sym_pair] = STATE(205),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(260),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(272),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(286),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_RBRACE] = ACTIONS(9186),
    [anon_sym_def] = ACTIONS(292),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(302),
    [anon_sym_class] = ACTIONS(304),
    [anon_sym_module] = ACTIONS(306),
    [anon_sym_return] = ACTIONS(308),
    [anon_sym_yield] = ACTIONS(310),
    [anon_sym_break] = ACTIONS(312),
    [anon_sym_next] = ACTIONS(314),
    [anon_sym_redo] = ACTIONS(316),
    [anon_sym_retry] = ACTIONS(318),
    [anon_sym_if] = ACTIONS(320),
    [anon_sym_unless] = ACTIONS(322),
    [anon_sym_while] = ACTIONS(324),
    [anon_sym_until] = ACTIONS(326),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(328),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(330),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(332),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(334),
    [anon_sym_defined_QMARK] = ACTIONS(336),
    [anon_sym_not] = ACTIONS(338),
    [anon_sym_BANG] = ACTIONS(340),
    [anon_sym_TILDE] = ACTIONS(340),
    [sym_constant] = ACTIONS(342),
    [sym_identifier] = ACTIONS(342),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(346),
    [anon_sym_nil] = ACTIONS(348),
    [anon_sym_self] = ACTIONS(350),
    [anon_sym_super] = ACTIONS(352),
    [anon_sym_true] = ACTIONS(354),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(370),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [3493] = {
    [sym__method_rest] = STATE(6653),
    [sym__variable] = STATE(6654),
    [sym_operator] = STATE(217),
    [sym__method_name] = STATE(6655),
    [sym_setter] = STATE(217),
    [sym_symbol] = STATE(217),
    [sym_super] = STATE(219),
    [sym_self] = STATE(219),
    [sym__simple_symbol] = ACTIONS(378),
    [sym__symbol_beginning] = ACTIONS(380),
    [anon_sym_LPAREN] = ACTIONS(9188),
    [anon_sym_PIPE] = ACTIONS(384),
    [anon_sym_STAR] = ACTIONS(386),
    [anon_sym_STAR_STAR] = ACTIONS(384),
    [anon_sym_AMP] = ACTIONS(384),
    [anon_sym_LT] = ACTIONS(386),
    [anon_sym_DOT_DOT] = ACTIONS(384),
    [anon_sym_LT_LT] = ACTIONS(384),
    [anon_sym_GT_GT] = ACTIONS(384),
    [anon_sym_EQ_EQ] = ACTIONS(386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(384),
    [anon_sym_LT_EQ_GT] = ACTIONS(384),
    [anon_sym_EQ_TILDE] = ACTIONS(384),
    [anon_sym_BANG_TILDE] = ACTIONS(384),
    [anon_sym_LT_EQ] = ACTIONS(386),
    [anon_sym_GT] = ACTIONS(386),
    [anon_sym_GT_EQ] = ACTIONS(384),
    [anon_sym_CARET] = ACTIONS(384),
    [anon_sym_PLUS] = ACTIONS(386),
    [anon_sym_SLASH] = ACTIONS(384),
    [anon_sym_PERCENT] = ACTIONS(384),
    [anon_sym_BANG] = ACTIONS(386),
    [anon_sym_TILDE] = ACTIONS(384),
    [sym_constant] = ACTIONS(388),
    [sym_identifier] = ACTIONS(390),
    [sym_instance_variable] = ACTIONS(388),
    [sym_class_variable] = ACTIONS(388),
    [sym_global_variable] = ACTIONS(388),
    [anon_sym_self] = ACTIONS(392),
    [anon_sym_super] = ACTIONS(394),
    [anon_sym_DASH] = ACTIONS(386),
    [anon_sym_PLUS_AT] = ACTIONS(384),
    [anon_sym_DASH_AT] = ACTIONS(384),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(386),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(384),
    [anon_sym_BQUOTE] = ACTIONS(384),
    [sym_comment] = ACTIONS(110),
  },
  [3494] = {
    [sym__statements] = STATE(6657),
    [sym__top_level_statement] = STATE(235),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(236),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(237),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(240),
    [sym__mlhs] = STATE(241),
    [sym__simple_mlhs] = STATE(242),
    [sym_destructured_left_assignment] = STATE(242),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(243),
    [sym__variable] = STATE(239),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(396),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_RPAREN] = ACTIONS(9190),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(402),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(412),
    [anon_sym_defined_QMARK] = ACTIONS(414),
    [anon_sym_not] = ACTIONS(416),
    [anon_sym_BANG] = ACTIONS(418),
    [anon_sym_TILDE] = ACTIONS(418),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3495] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(293),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(6660),
    [sym_call] = STATE(295),
    [sym_method_call] = STATE(286),
    [sym__lhs] = STATE(255),
    [sym__variable] = STATE(295),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [sym__singleton_class_left_angle_left_langle] = ACTIONS(9192),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(458),
    [anon_sym_COLON_COLON] = ACTIONS(524),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(9194),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [3496] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(293),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(6662),
    [sym_call] = STATE(295),
    [sym_method_call] = STATE(286),
    [sym__lhs] = STATE(255),
    [sym__variable] = STATE(295),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(458),
    [anon_sym_COLON_COLON] = ACTIONS(524),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(9196),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [3497] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6668),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(6669),
    [sym__argument_list_with_parens] = STATE(6670),
    [sym__argument] = STATE(6671),
    [sym_splat_argument] = STATE(6672),
    [sym_hash_splat_argument] = STATE(6672),
    [sym_block_argument] = STATE(6672),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1313),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1314),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(6673),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(6674),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(6672),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(9198),
    [sym__splat_star] = ACTIONS(9200),
    [sym__argument_list_left_paren] = ACTIONS(9202),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(2062),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2068),
    [anon_sym_yield] = ACTIONS(2070),
    [anon_sym_break] = ACTIONS(2072),
    [anon_sym_next] = ACTIONS(2074),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(2080),
    [anon_sym_not] = ACTIONS(2082),
    [anon_sym_BANG] = ACTIONS(5096),
    [anon_sym_TILDE] = ACTIONS(2084),
    [sym_constant] = ACTIONS(9204),
    [sym_identifier] = ACTIONS(9204),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3498] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6668),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(6675),
    [sym__argument_list_with_parens] = STATE(6670),
    [sym__argument] = STATE(6671),
    [sym_splat_argument] = STATE(6672),
    [sym_hash_splat_argument] = STATE(6672),
    [sym_block_argument] = STATE(6672),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1313),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1314),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(6673),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(6674),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(6672),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(9198),
    [sym__splat_star] = ACTIONS(9200),
    [sym__argument_list_left_paren] = ACTIONS(9202),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(2062),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2068),
    [anon_sym_yield] = ACTIONS(2070),
    [anon_sym_break] = ACTIONS(2072),
    [anon_sym_next] = ACTIONS(2074),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(2080),
    [anon_sym_not] = ACTIONS(2082),
    [anon_sym_BANG] = ACTIONS(5096),
    [anon_sym_TILDE] = ACTIONS(2084),
    [sym_constant] = ACTIONS(9204),
    [sym_identifier] = ACTIONS(9204),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3499] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6668),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(6676),
    [sym__argument_list_with_parens] = STATE(6670),
    [sym__argument] = STATE(6671),
    [sym_splat_argument] = STATE(6672),
    [sym_hash_splat_argument] = STATE(6672),
    [sym_block_argument] = STATE(6672),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1313),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1314),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(6673),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(6674),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(6672),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(9198),
    [sym__splat_star] = ACTIONS(9200),
    [sym__argument_list_left_paren] = ACTIONS(9202),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(2062),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2068),
    [anon_sym_yield] = ACTIONS(2070),
    [anon_sym_break] = ACTIONS(2072),
    [anon_sym_next] = ACTIONS(2074),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(2080),
    [anon_sym_not] = ACTIONS(2082),
    [anon_sym_BANG] = ACTIONS(5096),
    [anon_sym_TILDE] = ACTIONS(2084),
    [sym_constant] = ACTIONS(9204),
    [sym_identifier] = ACTIONS(9204),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3500] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6668),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(6677),
    [sym__argument_list_with_parens] = STATE(6670),
    [sym__argument] = STATE(6671),
    [sym_splat_argument] = STATE(6672),
    [sym_hash_splat_argument] = STATE(6672),
    [sym_block_argument] = STATE(6672),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1313),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1314),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(6673),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(6674),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(6672),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(9198),
    [sym__splat_star] = ACTIONS(9200),
    [sym__argument_list_left_paren] = ACTIONS(9202),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(2062),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2068),
    [anon_sym_yield] = ACTIONS(2070),
    [anon_sym_break] = ACTIONS(2072),
    [anon_sym_next] = ACTIONS(2074),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(2080),
    [anon_sym_not] = ACTIONS(2082),
    [anon_sym_BANG] = ACTIONS(5096),
    [anon_sym_TILDE] = ACTIONS(2084),
    [sym_constant] = ACTIONS(9204),
    [sym_identifier] = ACTIONS(9204),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3501] = {
    [sym__simple_heredoc_body] = ACTIONS(614),
    [sym__heredoc_body_beginning] = ACTIONS(614),
    [sym__element_reference_left_bracket] = ACTIONS(614),
    [sym__scope_double_colon] = ACTIONS(614),
    [sym__binary_minus] = ACTIONS(614),
    [sym__binary_star] = ACTIONS(614),
    [anon_sym_LBRACE] = ACTIONS(614),
    [anon_sym_RPAREN] = ACTIONS(614),
    [anon_sym_DOT] = ACTIONS(616),
    [anon_sym_COMMA] = ACTIONS(614),
    [anon_sym_PIPE] = ACTIONS(616),
    [anon_sym_STAR_STAR] = ACTIONS(614),
    [anon_sym_AMP] = ACTIONS(616),
    [anon_sym_EQ] = ACTIONS(616),
    [anon_sym_LT] = ACTIONS(616),
    [anon_sym_do] = ACTIONS(614),
    [anon_sym_AMP_DOT] = ACTIONS(614),
    [anon_sym_QMARK] = ACTIONS(614),
    [anon_sym_DOT_DOT] = ACTIONS(616),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(614),
    [anon_sym_and] = ACTIONS(614),
    [anon_sym_or] = ACTIONS(614),
    [anon_sym_PIPE_PIPE] = ACTIONS(614),
    [anon_sym_AMP_AMP] = ACTIONS(614),
    [anon_sym_LT_LT] = ACTIONS(614),
    [anon_sym_GT_GT] = ACTIONS(614),
    [anon_sym_EQ_EQ] = ACTIONS(616),
    [anon_sym_BANG_EQ] = ACTIONS(614),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(614),
    [anon_sym_LT_EQ_GT] = ACTIONS(614),
    [anon_sym_EQ_TILDE] = ACTIONS(614),
    [anon_sym_BANG_TILDE] = ACTIONS(614),
    [anon_sym_LT_EQ] = ACTIONS(616),
    [anon_sym_GT] = ACTIONS(616),
    [anon_sym_GT_EQ] = ACTIONS(614),
    [anon_sym_CARET] = ACTIONS(614),
    [anon_sym_PLUS] = ACTIONS(614),
    [anon_sym_SLASH] = ACTIONS(614),
    [anon_sym_PERCENT] = ACTIONS(614),
    [sym_comment] = ACTIONS(256),
  },
  [3502] = {
    [sym__simple_heredoc_body] = ACTIONS(618),
    [sym__heredoc_body_beginning] = ACTIONS(618),
    [sym__element_reference_left_bracket] = ACTIONS(618),
    [sym__scope_double_colon] = ACTIONS(618),
    [sym__binary_minus] = ACTIONS(618),
    [sym__binary_star] = ACTIONS(618),
    [anon_sym_LBRACE] = ACTIONS(618),
    [anon_sym_RPAREN] = ACTIONS(618),
    [anon_sym_DOT] = ACTIONS(620),
    [anon_sym_COMMA] = ACTIONS(618),
    [anon_sym_PIPE] = ACTIONS(620),
    [anon_sym_STAR_STAR] = ACTIONS(618),
    [anon_sym_AMP] = ACTIONS(620),
    [anon_sym_EQ] = ACTIONS(620),
    [anon_sym_LT] = ACTIONS(620),
    [anon_sym_do] = ACTIONS(618),
    [anon_sym_AMP_DOT] = ACTIONS(618),
    [anon_sym_QMARK] = ACTIONS(618),
    [anon_sym_DOT_DOT] = ACTIONS(620),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(618),
    [anon_sym_and] = ACTIONS(618),
    [anon_sym_or] = ACTIONS(618),
    [anon_sym_PIPE_PIPE] = ACTIONS(618),
    [anon_sym_AMP_AMP] = ACTIONS(618),
    [anon_sym_LT_LT] = ACTIONS(618),
    [anon_sym_GT_GT] = ACTIONS(618),
    [anon_sym_EQ_EQ] = ACTIONS(620),
    [anon_sym_BANG_EQ] = ACTIONS(618),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(618),
    [anon_sym_LT_EQ_GT] = ACTIONS(618),
    [anon_sym_EQ_TILDE] = ACTIONS(618),
    [anon_sym_BANG_TILDE] = ACTIONS(618),
    [anon_sym_LT_EQ] = ACTIONS(620),
    [anon_sym_GT] = ACTIONS(620),
    [anon_sym_GT_EQ] = ACTIONS(618),
    [anon_sym_CARET] = ACTIONS(618),
    [anon_sym_PLUS] = ACTIONS(618),
    [anon_sym_SLASH] = ACTIONS(618),
    [anon_sym_PERCENT] = ACTIONS(618),
    [sym_comment] = ACTIONS(256),
  },
  [3503] = {
    [sym__statement] = STATE(6678),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(361),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3504] = {
    [sym__statement] = STATE(6679),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(361),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3505] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6680),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3506] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6681),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3507] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(285),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(381),
    [sym_call] = STATE(381),
    [sym_method_call] = STATE(286),
    [sym__mlhs] = STATE(6682),
    [sym__simple_mlhs] = STATE(383),
    [sym_destructured_left_assignment] = STATE(383),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(384),
    [sym__variable] = STATE(381),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(658),
    [anon_sym_COLON_COLON] = ACTIONS(460),
    [anon_sym_STAR] = ACTIONS(660),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(494),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [3508] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_when] = STATE(6683),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6684),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(400),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(401),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(387),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__terminator] = STATE(402),
    [aux_sym_case_repeat1] = STATE(6685),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(666),
    [sym__unary_minus] = ACTIONS(668),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_when] = ACTIONS(678),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(680),
    [anon_sym_defined_QMARK] = ACTIONS(682),
    [anon_sym_not] = ACTIONS(684),
    [anon_sym_BANG] = ACTIONS(686),
    [anon_sym_TILDE] = ACTIONS(686),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3509] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(6687),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(6688),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(692),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(9206),
    [anon_sym_SEMI] = ACTIONS(698),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3510] = {
    [sym_method] = STATE(3490),
    [sym_singleton_method] = STATE(3490),
    [sym_class] = STATE(3490),
    [sym_singleton_class] = STATE(3490),
    [sym_module] = STATE(3490),
    [sym_return] = STATE(3490),
    [sym_yield] = STATE(3490),
    [sym_break] = STATE(3490),
    [sym_next] = STATE(3490),
    [sym_redo] = STATE(3490),
    [sym_retry] = STATE(3490),
    [sym_while] = STATE(3490),
    [sym_until] = STATE(3490),
    [sym_for] = STATE(3490),
    [sym_case] = STATE(3490),
    [sym_if] = STATE(3490),
    [sym_unless] = STATE(3490),
    [sym_begin] = STATE(3490),
    [sym__arg] = STATE(6689),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(3490),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(3519),
    [sym_operator_assignment] = STATE(3519),
    [sym_conditional] = STATE(3519),
    [sym_range] = STATE(3519),
    [sym_binary] = STATE(3519),
    [sym_unary] = STATE(3519),
    [sym_left_assignment_list] = STATE(3520),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3521),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(3490),
    [sym_complex] = STATE(3490),
    [sym_rational] = STATE(3490),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(3490),
    [sym_string] = STATE(3522),
    [sym_subshell] = STATE(3490),
    [sym_array] = STATE(3490),
    [sym_hash] = STATE(3490),
    [sym_regex] = STATE(3490),
    [sym_lambda] = STATE(3490),
    [sym__simple_string] = ACTIONS(5000),
    [sym__simple_symbol] = ACTIONS(5002),
    [sym__simple_subshell] = ACTIONS(5004),
    [sym__simple_regex] = ACTIONS(5006),
    [sym__simple_word_list] = ACTIONS(5008),
    [sym__string_beginning] = ACTIONS(5010),
    [sym__symbol_beginning] = ACTIONS(5012),
    [sym__subshell_beginning] = ACTIONS(5014),
    [sym__regex_beginning] = ACTIONS(5016),
    [sym__word_list_beginning] = ACTIONS(5018),
    [sym_heredoc_beginning] = ACTIONS(5020),
    [sym__unary_minus] = ACTIONS(5022),
    [anon_sym_LBRACE] = ACTIONS(5024),
    [anon_sym_def] = ACTIONS(5026),
    [anon_sym_LPAREN] = ACTIONS(5028),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(5030),
    [anon_sym_module] = ACTIONS(5032),
    [anon_sym_return] = ACTIONS(5034),
    [anon_sym_yield] = ACTIONS(5036),
    [anon_sym_break] = ACTIONS(5038),
    [anon_sym_next] = ACTIONS(5040),
    [anon_sym_redo] = ACTIONS(5042),
    [anon_sym_retry] = ACTIONS(5044),
    [anon_sym_if] = ACTIONS(5046),
    [anon_sym_unless] = ACTIONS(5048),
    [anon_sym_while] = ACTIONS(5050),
    [anon_sym_until] = ACTIONS(5052),
    [anon_sym_for] = ACTIONS(5054),
    [anon_sym_case] = ACTIONS(5056),
    [anon_sym_begin] = ACTIONS(5058),
    [anon_sym_PLUS] = ACTIONS(5060),
    [anon_sym_defined_QMARK] = ACTIONS(5062),
    [anon_sym_not] = ACTIONS(5064),
    [anon_sym_BANG] = ACTIONS(5066),
    [anon_sym_TILDE] = ACTIONS(5066),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5068),
    [sym_float] = ACTIONS(5070),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5072),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(5074),
    [sym_keyword__LINE__] = ACTIONS(5074),
    [sym_keyword__ENCODING__] = ACTIONS(5074),
    [sym__character_literal] = ACTIONS(5076),
    [anon_sym_LBRACK] = ACTIONS(5078),
    [anon_sym_DASH_GT] = ACTIONS(5080),
  },
  [3511] = {
    [sym_method] = STATE(3490),
    [sym_singleton_method] = STATE(3490),
    [sym_class] = STATE(3490),
    [sym_singleton_class] = STATE(3490),
    [sym_module] = STATE(3490),
    [sym_return] = STATE(3490),
    [sym_yield] = STATE(3490),
    [sym_break] = STATE(3490),
    [sym_next] = STATE(3490),
    [sym_redo] = STATE(3490),
    [sym_retry] = STATE(3490),
    [sym_while] = STATE(3490),
    [sym_until] = STATE(3490),
    [sym_for] = STATE(3490),
    [sym_case] = STATE(3490),
    [sym_if] = STATE(3490),
    [sym_unless] = STATE(3490),
    [sym_begin] = STATE(3490),
    [sym__arg] = STATE(6690),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(3490),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(3519),
    [sym_operator_assignment] = STATE(3519),
    [sym_conditional] = STATE(3519),
    [sym_range] = STATE(3519),
    [sym_binary] = STATE(3519),
    [sym_unary] = STATE(3519),
    [sym_left_assignment_list] = STATE(3520),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3521),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(3490),
    [sym_complex] = STATE(3490),
    [sym_rational] = STATE(3490),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(3490),
    [sym_string] = STATE(3522),
    [sym_subshell] = STATE(3490),
    [sym_array] = STATE(3490),
    [sym_hash] = STATE(3490),
    [sym_regex] = STATE(3490),
    [sym_lambda] = STATE(3490),
    [sym__simple_string] = ACTIONS(5000),
    [sym__simple_symbol] = ACTIONS(5002),
    [sym__simple_subshell] = ACTIONS(5004),
    [sym__simple_regex] = ACTIONS(5006),
    [sym__simple_word_list] = ACTIONS(5008),
    [sym__string_beginning] = ACTIONS(5010),
    [sym__symbol_beginning] = ACTIONS(5012),
    [sym__subshell_beginning] = ACTIONS(5014),
    [sym__regex_beginning] = ACTIONS(5016),
    [sym__word_list_beginning] = ACTIONS(5018),
    [sym_heredoc_beginning] = ACTIONS(5020),
    [sym__unary_minus] = ACTIONS(5022),
    [anon_sym_LBRACE] = ACTIONS(5024),
    [anon_sym_def] = ACTIONS(5026),
    [anon_sym_LPAREN] = ACTIONS(5028),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(5030),
    [anon_sym_module] = ACTIONS(5032),
    [anon_sym_return] = ACTIONS(5034),
    [anon_sym_yield] = ACTIONS(5036),
    [anon_sym_break] = ACTIONS(5038),
    [anon_sym_next] = ACTIONS(5040),
    [anon_sym_redo] = ACTIONS(5042),
    [anon_sym_retry] = ACTIONS(5044),
    [anon_sym_if] = ACTIONS(5046),
    [anon_sym_unless] = ACTIONS(5048),
    [anon_sym_while] = ACTIONS(5050),
    [anon_sym_until] = ACTIONS(5052),
    [anon_sym_for] = ACTIONS(5054),
    [anon_sym_case] = ACTIONS(5056),
    [anon_sym_begin] = ACTIONS(5058),
    [anon_sym_PLUS] = ACTIONS(5060),
    [anon_sym_defined_QMARK] = ACTIONS(5062),
    [anon_sym_not] = ACTIONS(5064),
    [anon_sym_BANG] = ACTIONS(5066),
    [anon_sym_TILDE] = ACTIONS(5066),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5068),
    [sym_float] = ACTIONS(5070),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5072),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(5074),
    [sym_keyword__LINE__] = ACTIONS(5074),
    [sym_keyword__ENCODING__] = ACTIONS(5074),
    [sym__character_literal] = ACTIONS(5076),
    [anon_sym_LBRACK] = ACTIONS(5078),
    [anon_sym_DASH_GT] = ACTIONS(5080),
  },
  [3512] = {
    [sym_method] = STATE(3490),
    [sym_singleton_method] = STATE(3490),
    [sym_class] = STATE(3490),
    [sym_singleton_class] = STATE(3490),
    [sym_module] = STATE(3490),
    [sym_return] = STATE(3490),
    [sym_yield] = STATE(3490),
    [sym_break] = STATE(3490),
    [sym_next] = STATE(3490),
    [sym_redo] = STATE(3490),
    [sym_retry] = STATE(3490),
    [sym_while] = STATE(3490),
    [sym_until] = STATE(3490),
    [sym_for] = STATE(3490),
    [sym_case] = STATE(3490),
    [sym_if] = STATE(3490),
    [sym_unless] = STATE(3490),
    [sym_begin] = STATE(3490),
    [sym__arg] = STATE(6691),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(3490),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(3519),
    [sym_operator_assignment] = STATE(3519),
    [sym_conditional] = STATE(3519),
    [sym_range] = STATE(3519),
    [sym_binary] = STATE(3519),
    [sym_unary] = STATE(3519),
    [sym_left_assignment_list] = STATE(3520),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3521),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(3490),
    [sym_complex] = STATE(3490),
    [sym_rational] = STATE(3490),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(3490),
    [sym_string] = STATE(3522),
    [sym_subshell] = STATE(3490),
    [sym_array] = STATE(3490),
    [sym_hash] = STATE(3490),
    [sym_regex] = STATE(3490),
    [sym_lambda] = STATE(3490),
    [sym__simple_string] = ACTIONS(5000),
    [sym__simple_symbol] = ACTIONS(5002),
    [sym__simple_subshell] = ACTIONS(5004),
    [sym__simple_regex] = ACTIONS(5006),
    [sym__simple_word_list] = ACTIONS(5008),
    [sym__string_beginning] = ACTIONS(5010),
    [sym__symbol_beginning] = ACTIONS(5012),
    [sym__subshell_beginning] = ACTIONS(5014),
    [sym__regex_beginning] = ACTIONS(5016),
    [sym__word_list_beginning] = ACTIONS(5018),
    [sym_heredoc_beginning] = ACTIONS(5020),
    [sym__unary_minus] = ACTIONS(5022),
    [anon_sym_LBRACE] = ACTIONS(5024),
    [anon_sym_def] = ACTIONS(5026),
    [anon_sym_LPAREN] = ACTIONS(5028),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(5030),
    [anon_sym_module] = ACTIONS(5032),
    [anon_sym_return] = ACTIONS(5034),
    [anon_sym_yield] = ACTIONS(5036),
    [anon_sym_break] = ACTIONS(5038),
    [anon_sym_next] = ACTIONS(5040),
    [anon_sym_redo] = ACTIONS(5042),
    [anon_sym_retry] = ACTIONS(5044),
    [anon_sym_if] = ACTIONS(5046),
    [anon_sym_unless] = ACTIONS(5048),
    [anon_sym_while] = ACTIONS(5050),
    [anon_sym_until] = ACTIONS(5052),
    [anon_sym_for] = ACTIONS(5054),
    [anon_sym_case] = ACTIONS(5056),
    [anon_sym_begin] = ACTIONS(5058),
    [anon_sym_PLUS] = ACTIONS(5060),
    [anon_sym_defined_QMARK] = ACTIONS(5062),
    [anon_sym_not] = ACTIONS(5064),
    [anon_sym_BANG] = ACTIONS(5066),
    [anon_sym_TILDE] = ACTIONS(5066),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5068),
    [sym_float] = ACTIONS(5070),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5072),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(5074),
    [sym_keyword__LINE__] = ACTIONS(5074),
    [sym_keyword__ENCODING__] = ACTIONS(5074),
    [sym__character_literal] = ACTIONS(5076),
    [anon_sym_LBRACK] = ACTIONS(5078),
    [anon_sym_DASH_GT] = ACTIONS(5080),
  },
  [3513] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_RPAREN] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(256),
    [anon_sym_r] = ACTIONS(9208),
  },
  [3514] = {
    [sym__simple_heredoc_body] = ACTIONS(778),
    [sym__heredoc_body_beginning] = ACTIONS(778),
    [sym__element_reference_left_bracket] = ACTIONS(778),
    [sym__scope_double_colon] = ACTIONS(778),
    [sym__binary_minus] = ACTIONS(778),
    [sym__binary_star] = ACTIONS(778),
    [anon_sym_LBRACE] = ACTIONS(778),
    [anon_sym_RPAREN] = ACTIONS(778),
    [anon_sym_DOT] = ACTIONS(780),
    [anon_sym_COMMA] = ACTIONS(778),
    [anon_sym_PIPE] = ACTIONS(780),
    [anon_sym_STAR_STAR] = ACTIONS(778),
    [anon_sym_AMP] = ACTIONS(780),
    [anon_sym_EQ] = ACTIONS(780),
    [anon_sym_LT] = ACTIONS(780),
    [anon_sym_do] = ACTIONS(778),
    [anon_sym_AMP_DOT] = ACTIONS(778),
    [anon_sym_QMARK] = ACTIONS(778),
    [anon_sym_DOT_DOT] = ACTIONS(780),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(778),
    [anon_sym_and] = ACTIONS(778),
    [anon_sym_or] = ACTIONS(778),
    [anon_sym_PIPE_PIPE] = ACTIONS(778),
    [anon_sym_AMP_AMP] = ACTIONS(778),
    [anon_sym_LT_LT] = ACTIONS(778),
    [anon_sym_GT_GT] = ACTIONS(778),
    [anon_sym_EQ_EQ] = ACTIONS(780),
    [anon_sym_BANG_EQ] = ACTIONS(778),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(778),
    [anon_sym_LT_EQ_GT] = ACTIONS(778),
    [anon_sym_EQ_TILDE] = ACTIONS(778),
    [anon_sym_BANG_TILDE] = ACTIONS(778),
    [anon_sym_LT_EQ] = ACTIONS(780),
    [anon_sym_GT] = ACTIONS(780),
    [anon_sym_GT_EQ] = ACTIONS(778),
    [anon_sym_CARET] = ACTIONS(778),
    [anon_sym_PLUS] = ACTIONS(778),
    [anon_sym_SLASH] = ACTIONS(778),
    [anon_sym_PERCENT] = ACTIONS(778),
    [sym_comment] = ACTIONS(256),
  },
  [3515] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(501),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(6694),
    [sym__argument] = STATE(506),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(509),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(510),
    [sym__variable] = STATE(504),
    [sym_reserved_identifier] = STATE(511),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(512),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(6695),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(804),
    [sym__splat_star] = ACTIONS(806),
    [sym__unary_minus] = ACTIONS(808),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(818),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(824),
    [anon_sym_yield] = ACTIONS(826),
    [anon_sym_break] = ACTIONS(828),
    [anon_sym_next] = ACTIONS(830),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_RBRACK] = ACTIONS(9210),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(852),
    [anon_sym_defined_QMARK] = ACTIONS(854),
    [anon_sym_not] = ACTIONS(856),
    [anon_sym_BANG] = ACTIONS(858),
    [anon_sym_TILDE] = ACTIONS(858),
    [sym_constant] = ACTIONS(860),
    [sym_identifier] = ACTIONS(860),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3516] = {
    [sym_lambda_parameters] = STATE(6698),
    [sym__simple_formal_parameter] = STATE(522),
    [sym_splat_parameter] = STATE(523),
    [sym_hash_splat_parameter] = STATE(523),
    [sym_block_parameter] = STATE(523),
    [sym_keyword_parameter] = STATE(523),
    [sym_optional_parameter] = STATE(523),
    [sym_do_block] = STATE(6699),
    [sym_block] = STATE(6699),
    [anon_sym_LBRACE] = ACTIONS(9212),
    [anon_sym_LPAREN] = ACTIONS(896),
    [anon_sym_STAR] = ACTIONS(898),
    [anon_sym_STAR_STAR] = ACTIONS(900),
    [anon_sym_AMP] = ACTIONS(902),
    [anon_sym_do] = ACTIONS(9214),
    [sym_identifier] = ACTIONS(906),
    [sym_comment] = ACTIONS(110),
  },
  [3517] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(9216),
    [sym__binary_star] = ACTIONS(9218),
    [anon_sym_LBRACE] = ACTIONS(5298),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(9220),
    [anon_sym_STAR_STAR] = ACTIONS(9222),
    [anon_sym_AMP] = ACTIONS(9224),
    [anon_sym_EQ] = ACTIONS(5304),
    [anon_sym_LT] = ACTIONS(9226),
    [anon_sym_do] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(9228),
    [anon_sym_DOT_DOT] = ACTIONS(9230),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9232),
    [anon_sym_and] = ACTIONS(9234),
    [anon_sym_or] = ACTIONS(9234),
    [anon_sym_PIPE_PIPE] = ACTIONS(9236),
    [anon_sym_AMP_AMP] = ACTIONS(9236),
    [anon_sym_LT_LT] = ACTIONS(9238),
    [anon_sym_GT_GT] = ACTIONS(9238),
    [anon_sym_EQ_EQ] = ACTIONS(9240),
    [anon_sym_BANG_EQ] = ACTIONS(9236),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9236),
    [anon_sym_LT_EQ_GT] = ACTIONS(9236),
    [anon_sym_EQ_TILDE] = ACTIONS(9236),
    [anon_sym_BANG_TILDE] = ACTIONS(9236),
    [anon_sym_LT_EQ] = ACTIONS(9226),
    [anon_sym_GT] = ACTIONS(9226),
    [anon_sym_GT_EQ] = ACTIONS(9242),
    [anon_sym_CARET] = ACTIONS(9244),
    [anon_sym_PLUS] = ACTIONS(9246),
    [anon_sym_SLASH] = ACTIONS(9222),
    [anon_sym_PERCENT] = ACTIONS(9222),
    [sym_comment] = ACTIONS(256),
  },
  [3518] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(6595),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(6712),
    [sym__argument_list_with_parens] = STATE(2959),
    [sym__argument] = STATE(6596),
    [sym_splat_argument] = STATE(2961),
    [sym_hash_splat_argument] = STATE(2961),
    [sym_block_argument] = STATE(2961),
    [sym_do_block] = STATE(2962),
    [sym_block] = STATE(2962),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1105),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1106),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(6597),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(6598),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(2961),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(9148),
    [sym__splat_star] = ACTIONS(9150),
    [sym__argument_list_left_paren] = ACTIONS(4330),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(1740),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(4334),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(1752),
    [anon_sym_yield] = ACTIONS(1754),
    [anon_sym_break] = ACTIONS(1756),
    [anon_sym_next] = ACTIONS(1758),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(982),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(1780),
    [anon_sym_not] = ACTIONS(1782),
    [anon_sym_BANG] = ACTIONS(1784),
    [anon_sym_TILDE] = ACTIONS(1786),
    [sym_constant] = ACTIONS(9152),
    [sym_identifier] = ACTIONS(9152),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [3519] = {
    [sym__simple_heredoc_body] = ACTIONS(968),
    [sym__heredoc_body_beginning] = ACTIONS(968),
    [sym__element_reference_left_bracket] = ACTIONS(968),
    [sym__scope_double_colon] = ACTIONS(968),
    [sym__binary_minus] = ACTIONS(968),
    [sym__binary_star] = ACTIONS(968),
    [anon_sym_LBRACE] = ACTIONS(968),
    [anon_sym_RPAREN] = ACTIONS(968),
    [anon_sym_DOT] = ACTIONS(976),
    [anon_sym_COMMA] = ACTIONS(968),
    [anon_sym_PIPE] = ACTIONS(976),
    [anon_sym_STAR_STAR] = ACTIONS(968),
    [anon_sym_AMP] = ACTIONS(976),
    [anon_sym_EQ] = ACTIONS(976),
    [anon_sym_LT] = ACTIONS(976),
    [anon_sym_do] = ACTIONS(968),
    [anon_sym_AMP_DOT] = ACTIONS(968),
    [anon_sym_QMARK] = ACTIONS(968),
    [anon_sym_DOT_DOT] = ACTIONS(976),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(968),
    [anon_sym_and] = ACTIONS(968),
    [anon_sym_or] = ACTIONS(968),
    [anon_sym_PIPE_PIPE] = ACTIONS(968),
    [anon_sym_AMP_AMP] = ACTIONS(968),
    [anon_sym_LT_LT] = ACTIONS(968),
    [anon_sym_GT_GT] = ACTIONS(968),
    [anon_sym_EQ_EQ] = ACTIONS(976),
    [anon_sym_BANG_EQ] = ACTIONS(968),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(968),
    [anon_sym_LT_EQ_GT] = ACTIONS(968),
    [anon_sym_EQ_TILDE] = ACTIONS(968),
    [anon_sym_BANG_TILDE] = ACTIONS(968),
    [anon_sym_LT_EQ] = ACTIONS(976),
    [anon_sym_GT] = ACTIONS(976),
    [anon_sym_GT_EQ] = ACTIONS(968),
    [anon_sym_CARET] = ACTIONS(968),
    [anon_sym_PLUS] = ACTIONS(968),
    [anon_sym_SLASH] = ACTIONS(968),
    [anon_sym_PERCENT] = ACTIONS(968),
    [sym_comment] = ACTIONS(256),
  },
  [3520] = {
    [anon_sym_EQ] = ACTIONS(9248),
    [sym_comment] = ACTIONS(256),
  },
  [3521] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(9250),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(9252),
    [anon_sym_DASH_EQ] = ACTIONS(9252),
    [anon_sym_STAR_EQ] = ACTIONS(9252),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9252),
    [anon_sym_SLASH_EQ] = ACTIONS(9252),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9252),
    [anon_sym_PIPE_EQ] = ACTIONS(9252),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9252),
    [anon_sym_AMP_EQ] = ACTIONS(9252),
    [anon_sym_PERCENT_EQ] = ACTIONS(9252),
    [anon_sym_GT_GT_EQ] = ACTIONS(9252),
    [anon_sym_LT_LT_EQ] = ACTIONS(9252),
    [anon_sym_CARET_EQ] = ACTIONS(9252),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [3522] = {
    [sym_string] = STATE(6715),
    [aux_sym_chained_string_repeat1] = STATE(6716),
    [sym__simple_string] = ACTIONS(5000),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(5010),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_RPAREN] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(5076),
  },
  [3523] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(9216),
    [sym__binary_star] = ACTIONS(9218),
    [anon_sym_LBRACE] = ACTIONS(5338),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(9220),
    [anon_sym_STAR_STAR] = ACTIONS(9222),
    [anon_sym_AMP] = ACTIONS(9224),
    [anon_sym_EQ] = ACTIONS(5340),
    [anon_sym_LT] = ACTIONS(9226),
    [anon_sym_do] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(9228),
    [anon_sym_DOT_DOT] = ACTIONS(9230),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9232),
    [anon_sym_and] = ACTIONS(9234),
    [anon_sym_or] = ACTIONS(9234),
    [anon_sym_PIPE_PIPE] = ACTIONS(9236),
    [anon_sym_AMP_AMP] = ACTIONS(9236),
    [anon_sym_LT_LT] = ACTIONS(9238),
    [anon_sym_GT_GT] = ACTIONS(9238),
    [anon_sym_EQ_EQ] = ACTIONS(9240),
    [anon_sym_BANG_EQ] = ACTIONS(9236),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9236),
    [anon_sym_LT_EQ_GT] = ACTIONS(9236),
    [anon_sym_EQ_TILDE] = ACTIONS(9236),
    [anon_sym_BANG_TILDE] = ACTIONS(9236),
    [anon_sym_LT_EQ] = ACTIONS(9226),
    [anon_sym_GT] = ACTIONS(9226),
    [anon_sym_GT_EQ] = ACTIONS(9242),
    [anon_sym_CARET] = ACTIONS(9244),
    [anon_sym_PLUS] = ACTIONS(9246),
    [anon_sym_SLASH] = ACTIONS(9222),
    [anon_sym_PERCENT] = ACTIONS(9222),
    [sym_comment] = ACTIONS(256),
  },
  [3524] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3534),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1886),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(3535),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1313),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1314),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(3536),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(3537),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(5092),
    [sym__splat_star] = ACTIONS(5094),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(2062),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2068),
    [anon_sym_yield] = ACTIONS(2070),
    [anon_sym_break] = ACTIONS(2072),
    [anon_sym_next] = ACTIONS(2074),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(2080),
    [anon_sym_not] = ACTIONS(2082),
    [anon_sym_BANG] = ACTIONS(5096),
    [anon_sym_TILDE] = ACTIONS(2084),
    [sym_constant] = ACTIONS(5098),
    [sym_identifier] = ACTIONS(5098),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3525] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3534),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1892),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(3535),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1313),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1314),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(3536),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(3537),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(5092),
    [sym__splat_star] = ACTIONS(5094),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(2062),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2068),
    [anon_sym_yield] = ACTIONS(2070),
    [anon_sym_break] = ACTIONS(2072),
    [anon_sym_next] = ACTIONS(2074),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(2080),
    [anon_sym_not] = ACTIONS(2082),
    [anon_sym_BANG] = ACTIONS(5096),
    [anon_sym_TILDE] = ACTIONS(2084),
    [sym_constant] = ACTIONS(5098),
    [sym_identifier] = ACTIONS(5098),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3526] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3534),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1893),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(3535),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1313),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1314),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(3536),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(3537),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(5092),
    [sym__splat_star] = ACTIONS(5094),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(2062),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2068),
    [anon_sym_yield] = ACTIONS(2070),
    [anon_sym_break] = ACTIONS(2072),
    [anon_sym_next] = ACTIONS(2074),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(2080),
    [anon_sym_not] = ACTIONS(2082),
    [anon_sym_BANG] = ACTIONS(5096),
    [anon_sym_TILDE] = ACTIONS(2084),
    [sym_constant] = ACTIONS(5098),
    [sym_identifier] = ACTIONS(5098),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3527] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3534),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1894),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(3535),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1313),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1314),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(3536),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(3537),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(5092),
    [sym__splat_star] = ACTIONS(5094),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(2062),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2068),
    [anon_sym_yield] = ACTIONS(2070),
    [anon_sym_break] = ACTIONS(2072),
    [anon_sym_next] = ACTIONS(2074),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(2080),
    [anon_sym_not] = ACTIONS(2082),
    [anon_sym_BANG] = ACTIONS(5096),
    [anon_sym_TILDE] = ACTIONS(2084),
    [sym_constant] = ACTIONS(5098),
    [sym_identifier] = ACTIONS(5098),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3528] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_LBRACE] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_STAR_STAR] = ACTIONS(5108),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_EQ] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_do] = ACTIONS(1372),
    [anon_sym_EQ_GT] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(256),
  },
  [3529] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(9216),
    [sym__binary_star] = ACTIONS(9218),
    [anon_sym_LBRACE] = ACTIONS(4284),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(9220),
    [anon_sym_STAR_STAR] = ACTIONS(9222),
    [anon_sym_AMP] = ACTIONS(9224),
    [anon_sym_EQ] = ACTIONS(5432),
    [anon_sym_LT] = ACTIONS(9226),
    [anon_sym_do] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(9228),
    [anon_sym_DOT_DOT] = ACTIONS(9230),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9232),
    [anon_sym_and] = ACTIONS(9234),
    [anon_sym_or] = ACTIONS(9234),
    [anon_sym_PIPE_PIPE] = ACTIONS(9236),
    [anon_sym_AMP_AMP] = ACTIONS(9236),
    [anon_sym_LT_LT] = ACTIONS(9238),
    [anon_sym_GT_GT] = ACTIONS(9238),
    [anon_sym_EQ_EQ] = ACTIONS(9240),
    [anon_sym_BANG_EQ] = ACTIONS(9236),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9236),
    [anon_sym_LT_EQ_GT] = ACTIONS(9236),
    [anon_sym_EQ_TILDE] = ACTIONS(9236),
    [anon_sym_BANG_TILDE] = ACTIONS(9236),
    [anon_sym_LT_EQ] = ACTIONS(9226),
    [anon_sym_GT] = ACTIONS(9226),
    [anon_sym_GT_EQ] = ACTIONS(9242),
    [anon_sym_CARET] = ACTIONS(9244),
    [anon_sym_PLUS] = ACTIONS(9246),
    [anon_sym_SLASH] = ACTIONS(9222),
    [anon_sym_PERCENT] = ACTIONS(9222),
    [sym_comment] = ACTIONS(256),
  },
  [3530] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6717),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1313),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1314),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2062),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5082),
    [anon_sym_yield] = ACTIONS(5084),
    [anon_sym_break] = ACTIONS(5086),
    [anon_sym_next] = ACTIONS(5088),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2078),
    [anon_sym_defined_QMARK] = ACTIONS(2080),
    [anon_sym_not] = ACTIONS(5090),
    [anon_sym_BANG] = ACTIONS(2084),
    [anon_sym_TILDE] = ACTIONS(2084),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3531] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6718),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1313),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1314),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2062),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5082),
    [anon_sym_yield] = ACTIONS(5084),
    [anon_sym_break] = ACTIONS(5086),
    [anon_sym_next] = ACTIONS(5088),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2078),
    [anon_sym_defined_QMARK] = ACTIONS(2080),
    [anon_sym_not] = ACTIONS(5090),
    [anon_sym_BANG] = ACTIONS(2084),
    [anon_sym_TILDE] = ACTIONS(2084),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3532] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6719),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1313),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1314),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2062),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5082),
    [anon_sym_yield] = ACTIONS(5084),
    [anon_sym_break] = ACTIONS(5086),
    [anon_sym_next] = ACTIONS(5088),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2078),
    [anon_sym_defined_QMARK] = ACTIONS(2080),
    [anon_sym_not] = ACTIONS(5090),
    [anon_sym_BANG] = ACTIONS(2084),
    [anon_sym_TILDE] = ACTIONS(2084),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3533] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(9254),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [3534] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(5102),
    [sym__binary_star] = ACTIONS(5104),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(5106),
    [anon_sym_STAR_STAR] = ACTIONS(5108),
    [anon_sym_AMP] = ACTIONS(5110),
    [anon_sym_EQ] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(5112),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(5114),
    [anon_sym_DOT_DOT] = ACTIONS(5116),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5118),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(5122),
    [anon_sym_AMP_AMP] = ACTIONS(5122),
    [anon_sym_LT_LT] = ACTIONS(5124),
    [anon_sym_GT_GT] = ACTIONS(5124),
    [anon_sym_EQ_EQ] = ACTIONS(5126),
    [anon_sym_BANG_EQ] = ACTIONS(5122),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5122),
    [anon_sym_LT_EQ_GT] = ACTIONS(5122),
    [anon_sym_EQ_TILDE] = ACTIONS(5122),
    [anon_sym_BANG_TILDE] = ACTIONS(5122),
    [anon_sym_LT_EQ] = ACTIONS(5112),
    [anon_sym_GT] = ACTIONS(5112),
    [anon_sym_GT_EQ] = ACTIONS(5128),
    [anon_sym_CARET] = ACTIONS(5130),
    [anon_sym_PLUS] = ACTIONS(5132),
    [anon_sym_SLASH] = ACTIONS(5108),
    [anon_sym_PERCENT] = ACTIONS(5108),
    [sym_comment] = ACTIONS(256),
  },
  [3535] = {
    [sym_heredoc_end] = STATE(3004),
    [aux_sym_argument_list_repeat1] = STATE(6722),
    [aux_sym_argument_list_repeat2] = STATE(3005),
    [sym__simple_heredoc_body] = ACTIONS(4410),
    [sym__heredoc_body_beginning] = ACTIONS(4412),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(9256),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_STAR_STAR] = ACTIONS(2272),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_EQ] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_EQ_GT] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2272),
    [anon_sym_AMP_AMP] = ACTIONS(2272),
    [anon_sym_LT_LT] = ACTIONS(2272),
    [anon_sym_GT_GT] = ACTIONS(2272),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2272),
    [anon_sym_PLUS] = ACTIONS(2272),
    [anon_sym_SLASH] = ACTIONS(2272),
    [anon_sym_PERCENT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(256),
  },
  [3536] = {
    [sym__keyword_colon] = ACTIONS(9258),
    [sym_comment] = ACTIONS(110),
  },
  [3537] = {
    [sym_string] = STATE(1962),
    [aux_sym_chained_string_repeat1] = STATE(1963),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(9254),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(1626),
  },
  [3538] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(5108),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(256),
  },
  [3539] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(5102),
    [sym__binary_star] = ACTIONS(5104),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(5106),
    [anon_sym_STAR_STAR] = ACTIONS(5108),
    [anon_sym_AMP] = ACTIONS(5110),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(5112),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(5114),
    [anon_sym_DOT_DOT] = ACTIONS(5116),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5118),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(5122),
    [anon_sym_AMP_AMP] = ACTIONS(5122),
    [anon_sym_LT_LT] = ACTIONS(5124),
    [anon_sym_GT_GT] = ACTIONS(5124),
    [anon_sym_EQ_EQ] = ACTIONS(5126),
    [anon_sym_BANG_EQ] = ACTIONS(5122),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5122),
    [anon_sym_LT_EQ_GT] = ACTIONS(5122),
    [anon_sym_EQ_TILDE] = ACTIONS(5122),
    [anon_sym_BANG_TILDE] = ACTIONS(5122),
    [anon_sym_LT_EQ] = ACTIONS(5112),
    [anon_sym_GT] = ACTIONS(5112),
    [anon_sym_GT_EQ] = ACTIONS(5128),
    [anon_sym_CARET] = ACTIONS(5130),
    [anon_sym_PLUS] = ACTIONS(5132),
    [anon_sym_SLASH] = ACTIONS(5108),
    [anon_sym_PERCENT] = ACTIONS(5108),
    [sym_comment] = ACTIONS(256),
  },
  [3540] = {
    [sym_method] = STATE(3490),
    [sym_singleton_method] = STATE(3490),
    [sym_class] = STATE(3490),
    [sym_singleton_class] = STATE(3490),
    [sym_module] = STATE(3490),
    [sym_return] = STATE(3490),
    [sym_yield] = STATE(3490),
    [sym_break] = STATE(3490),
    [sym_next] = STATE(3490),
    [sym_redo] = STATE(3490),
    [sym_retry] = STATE(3490),
    [sym_while] = STATE(3490),
    [sym_until] = STATE(3490),
    [sym_for] = STATE(3490),
    [sym_case] = STATE(3490),
    [sym_if] = STATE(3490),
    [sym_unless] = STATE(3490),
    [sym_begin] = STATE(3490),
    [sym__arg] = STATE(6724),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(3490),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(3519),
    [sym_operator_assignment] = STATE(3519),
    [sym_conditional] = STATE(3519),
    [sym_range] = STATE(3519),
    [sym_binary] = STATE(3519),
    [sym_unary] = STATE(3519),
    [sym_left_assignment_list] = STATE(3520),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3521),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(3490),
    [sym_complex] = STATE(3490),
    [sym_rational] = STATE(3490),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(3490),
    [sym_string] = STATE(3522),
    [sym_subshell] = STATE(3490),
    [sym_array] = STATE(3490),
    [sym_hash] = STATE(3490),
    [sym_regex] = STATE(3490),
    [sym_lambda] = STATE(3490),
    [sym__simple_string] = ACTIONS(5000),
    [sym__simple_symbol] = ACTIONS(5002),
    [sym__simple_subshell] = ACTIONS(5004),
    [sym__simple_regex] = ACTIONS(5006),
    [sym__simple_word_list] = ACTIONS(5008),
    [sym__string_beginning] = ACTIONS(5010),
    [sym__symbol_beginning] = ACTIONS(5012),
    [sym__subshell_beginning] = ACTIONS(5014),
    [sym__regex_beginning] = ACTIONS(5016),
    [sym__word_list_beginning] = ACTIONS(5018),
    [sym_heredoc_beginning] = ACTIONS(5020),
    [sym__unary_minus] = ACTIONS(5022),
    [anon_sym_LBRACE] = ACTIONS(5024),
    [anon_sym_def] = ACTIONS(5026),
    [anon_sym_LPAREN] = ACTIONS(5028),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(5030),
    [anon_sym_module] = ACTIONS(5032),
    [anon_sym_return] = ACTIONS(5034),
    [anon_sym_yield] = ACTIONS(5036),
    [anon_sym_break] = ACTIONS(5038),
    [anon_sym_next] = ACTIONS(5040),
    [anon_sym_redo] = ACTIONS(5042),
    [anon_sym_retry] = ACTIONS(5044),
    [anon_sym_if] = ACTIONS(5046),
    [anon_sym_unless] = ACTIONS(5048),
    [anon_sym_while] = ACTIONS(5050),
    [anon_sym_until] = ACTIONS(5052),
    [anon_sym_for] = ACTIONS(5054),
    [anon_sym_case] = ACTIONS(5056),
    [anon_sym_begin] = ACTIONS(5058),
    [anon_sym_PLUS] = ACTIONS(5060),
    [anon_sym_defined_QMARK] = ACTIONS(5062),
    [anon_sym_not] = ACTIONS(5064),
    [anon_sym_BANG] = ACTIONS(5066),
    [anon_sym_TILDE] = ACTIONS(5066),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5068),
    [sym_float] = ACTIONS(5070),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5072),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(5074),
    [sym_keyword__LINE__] = ACTIONS(5074),
    [sym_keyword__ENCODING__] = ACTIONS(5074),
    [sym__character_literal] = ACTIONS(5076),
    [anon_sym_LBRACK] = ACTIONS(5078),
    [anon_sym_DASH_GT] = ACTIONS(5080),
  },
  [3541] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6725),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1313),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1314),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2062),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5082),
    [anon_sym_yield] = ACTIONS(5084),
    [anon_sym_break] = ACTIONS(5086),
    [anon_sym_next] = ACTIONS(5088),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2078),
    [anon_sym_defined_QMARK] = ACTIONS(2080),
    [anon_sym_not] = ACTIONS(5090),
    [anon_sym_BANG] = ACTIONS(2084),
    [anon_sym_TILDE] = ACTIONS(2084),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3542] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6726),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1313),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1314),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2062),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5082),
    [anon_sym_yield] = ACTIONS(5084),
    [anon_sym_break] = ACTIONS(5086),
    [anon_sym_next] = ACTIONS(5088),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2078),
    [anon_sym_defined_QMARK] = ACTIONS(2080),
    [anon_sym_not] = ACTIONS(5090),
    [anon_sym_BANG] = ACTIONS(2084),
    [anon_sym_TILDE] = ACTIONS(2084),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3543] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6727),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1313),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1314),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2062),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5082),
    [anon_sym_yield] = ACTIONS(5084),
    [anon_sym_break] = ACTIONS(5086),
    [anon_sym_next] = ACTIONS(5088),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2078),
    [anon_sym_defined_QMARK] = ACTIONS(2080),
    [anon_sym_not] = ACTIONS(5090),
    [anon_sym_BANG] = ACTIONS(2084),
    [anon_sym_TILDE] = ACTIONS(2084),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3544] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6728),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1313),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1314),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2062),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5082),
    [anon_sym_yield] = ACTIONS(5084),
    [anon_sym_break] = ACTIONS(5086),
    [anon_sym_next] = ACTIONS(5088),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2078),
    [anon_sym_defined_QMARK] = ACTIONS(2080),
    [anon_sym_not] = ACTIONS(5090),
    [anon_sym_BANG] = ACTIONS(2084),
    [anon_sym_TILDE] = ACTIONS(2084),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3545] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6729),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1313),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1314),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2062),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5082),
    [anon_sym_yield] = ACTIONS(5084),
    [anon_sym_break] = ACTIONS(5086),
    [anon_sym_next] = ACTIONS(5088),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2078),
    [anon_sym_defined_QMARK] = ACTIONS(2080),
    [anon_sym_not] = ACTIONS(5090),
    [anon_sym_BANG] = ACTIONS(2084),
    [anon_sym_TILDE] = ACTIONS(2084),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3546] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6730),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1313),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1314),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2062),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5082),
    [anon_sym_yield] = ACTIONS(5084),
    [anon_sym_break] = ACTIONS(5086),
    [anon_sym_next] = ACTIONS(5088),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2078),
    [anon_sym_defined_QMARK] = ACTIONS(2080),
    [anon_sym_not] = ACTIONS(5090),
    [anon_sym_BANG] = ACTIONS(2084),
    [anon_sym_TILDE] = ACTIONS(2084),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3547] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(6731),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [3548] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6732),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1313),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1314),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2062),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5082),
    [anon_sym_yield] = ACTIONS(5084),
    [anon_sym_break] = ACTIONS(5086),
    [anon_sym_next] = ACTIONS(5088),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2078),
    [anon_sym_defined_QMARK] = ACTIONS(2080),
    [anon_sym_not] = ACTIONS(5090),
    [anon_sym_BANG] = ACTIONS(2084),
    [anon_sym_TILDE] = ACTIONS(2084),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3549] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6733),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1313),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1314),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2062),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5082),
    [anon_sym_yield] = ACTIONS(5084),
    [anon_sym_break] = ACTIONS(5086),
    [anon_sym_next] = ACTIONS(5088),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2078),
    [anon_sym_defined_QMARK] = ACTIONS(2080),
    [anon_sym_not] = ACTIONS(5090),
    [anon_sym_BANG] = ACTIONS(2084),
    [anon_sym_TILDE] = ACTIONS(2084),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3550] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6734),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1313),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1314),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2062),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5082),
    [anon_sym_yield] = ACTIONS(5084),
    [anon_sym_break] = ACTIONS(5086),
    [anon_sym_next] = ACTIONS(5088),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2078),
    [anon_sym_defined_QMARK] = ACTIONS(2080),
    [anon_sym_not] = ACTIONS(5090),
    [anon_sym_BANG] = ACTIONS(2084),
    [anon_sym_TILDE] = ACTIONS(2084),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3551] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6735),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1313),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1314),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2062),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5082),
    [anon_sym_yield] = ACTIONS(5084),
    [anon_sym_break] = ACTIONS(5086),
    [anon_sym_next] = ACTIONS(5088),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2078),
    [anon_sym_defined_QMARK] = ACTIONS(2080),
    [anon_sym_not] = ACTIONS(5090),
    [anon_sym_BANG] = ACTIONS(2084),
    [anon_sym_TILDE] = ACTIONS(2084),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3552] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6736),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1313),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1314),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2062),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5082),
    [anon_sym_yield] = ACTIONS(5084),
    [anon_sym_break] = ACTIONS(5086),
    [anon_sym_next] = ACTIONS(5088),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2078),
    [anon_sym_defined_QMARK] = ACTIONS(2080),
    [anon_sym_not] = ACTIONS(5090),
    [anon_sym_BANG] = ACTIONS(2084),
    [anon_sym_TILDE] = ACTIONS(2084),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3553] = {
    [sym__element_reference_left_bracket] = ACTIONS(7290),
    [sym__scope_double_colon] = ACTIONS(7290),
    [anon_sym_RPAREN] = ACTIONS(7290),
    [anon_sym_DOT] = ACTIONS(7290),
    [anon_sym_COMMA] = ACTIONS(7290),
    [anon_sym_EQ] = ACTIONS(7290),
    [anon_sym_in] = ACTIONS(7290),
    [anon_sym_AMP_DOT] = ACTIONS(7290),
    [sym_comment] = ACTIONS(256),
  },
  [3554] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1309),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(6607),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1313),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1314),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1315),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1316),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(6737),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(2058),
    [sym__splat_star] = ACTIONS(2060),
    [sym__unary_minus] = ACTIONS(2062),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2066),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2068),
    [anon_sym_yield] = ACTIONS(2070),
    [anon_sym_break] = ACTIONS(2072),
    [anon_sym_next] = ACTIONS(2074),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2078),
    [anon_sym_defined_QMARK] = ACTIONS(2080),
    [anon_sym_not] = ACTIONS(2082),
    [anon_sym_BANG] = ACTIONS(2084),
    [anon_sym_TILDE] = ACTIONS(2084),
    [sym_constant] = ACTIONS(2086),
    [sym_identifier] = ACTIONS(2086),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3555] = {
    [sym_heredoc_end] = STATE(3448),
    [aux_sym_argument_list_repeat2] = STATE(6610),
    [sym__simple_heredoc_body] = ACTIONS(4968),
    [sym__heredoc_body_beginning] = ACTIONS(4970),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [anon_sym_LBRACE] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5472),
    [anon_sym_COMMA] = ACTIONS(9260),
    [anon_sym_EQ] = ACTIONS(5472),
    [anon_sym_do] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [sym_comment] = ACTIONS(256),
  },
  [3556] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6739),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_splat_argument] = STATE(6132),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_right_assignment_list] = STATE(6133),
    [sym__arg_or_splat_arg] = STATE(6740),
    [sym_left_assignment_list] = STATE(1313),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1314),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__splat_star] = ACTIONS(5094),
    [sym__unary_minus] = ACTIONS(2062),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5082),
    [anon_sym_yield] = ACTIONS(5084),
    [anon_sym_break] = ACTIONS(5086),
    [anon_sym_next] = ACTIONS(5088),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2078),
    [anon_sym_defined_QMARK] = ACTIONS(2080),
    [anon_sym_not] = ACTIONS(5090),
    [anon_sym_BANG] = ACTIONS(2084),
    [anon_sym_TILDE] = ACTIONS(2084),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3557] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6741),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1313),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1314),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2062),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5082),
    [anon_sym_yield] = ACTIONS(5084),
    [anon_sym_break] = ACTIONS(5086),
    [anon_sym_next] = ACTIONS(5088),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2078),
    [anon_sym_defined_QMARK] = ACTIONS(2080),
    [anon_sym_not] = ACTIONS(5090),
    [anon_sym_BANG] = ACTIONS(2084),
    [anon_sym_TILDE] = ACTIONS(2084),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3558] = {
    [sym_method] = STATE(3490),
    [sym_singleton_method] = STATE(3490),
    [sym_class] = STATE(3490),
    [sym_singleton_class] = STATE(3490),
    [sym_module] = STATE(3490),
    [sym_return] = STATE(3490),
    [sym_yield] = STATE(3490),
    [sym_break] = STATE(3490),
    [sym_next] = STATE(3490),
    [sym_redo] = STATE(3490),
    [sym_retry] = STATE(3490),
    [sym_while] = STATE(3490),
    [sym_until] = STATE(3490),
    [sym_for] = STATE(3490),
    [sym_case] = STATE(3490),
    [sym_if] = STATE(3490),
    [sym_unless] = STATE(3490),
    [sym_begin] = STATE(3490),
    [sym__arg] = STATE(6742),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(3490),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(3519),
    [sym_operator_assignment] = STATE(3519),
    [sym_conditional] = STATE(3519),
    [sym_range] = STATE(3519),
    [sym_binary] = STATE(3519),
    [sym_unary] = STATE(3519),
    [sym_left_assignment_list] = STATE(3520),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3521),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(3490),
    [sym_complex] = STATE(3490),
    [sym_rational] = STATE(3490),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(3490),
    [sym_string] = STATE(3522),
    [sym_subshell] = STATE(3490),
    [sym_array] = STATE(3490),
    [sym_hash] = STATE(3490),
    [sym_regex] = STATE(3490),
    [sym_lambda] = STATE(3490),
    [sym__simple_string] = ACTIONS(5000),
    [sym__simple_symbol] = ACTIONS(5002),
    [sym__simple_subshell] = ACTIONS(5004),
    [sym__simple_regex] = ACTIONS(5006),
    [sym__simple_word_list] = ACTIONS(5008),
    [sym__string_beginning] = ACTIONS(5010),
    [sym__symbol_beginning] = ACTIONS(5012),
    [sym__subshell_beginning] = ACTIONS(5014),
    [sym__regex_beginning] = ACTIONS(5016),
    [sym__word_list_beginning] = ACTIONS(5018),
    [sym_heredoc_beginning] = ACTIONS(5020),
    [sym__unary_minus] = ACTIONS(5022),
    [anon_sym_LBRACE] = ACTIONS(5024),
    [anon_sym_def] = ACTIONS(5026),
    [anon_sym_LPAREN] = ACTIONS(5028),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(5030),
    [anon_sym_module] = ACTIONS(5032),
    [anon_sym_return] = ACTIONS(5034),
    [anon_sym_yield] = ACTIONS(5036),
    [anon_sym_break] = ACTIONS(5038),
    [anon_sym_next] = ACTIONS(5040),
    [anon_sym_redo] = ACTIONS(5042),
    [anon_sym_retry] = ACTIONS(5044),
    [anon_sym_if] = ACTIONS(5046),
    [anon_sym_unless] = ACTIONS(5048),
    [anon_sym_while] = ACTIONS(5050),
    [anon_sym_until] = ACTIONS(5052),
    [anon_sym_for] = ACTIONS(5054),
    [anon_sym_case] = ACTIONS(5056),
    [anon_sym_begin] = ACTIONS(5058),
    [anon_sym_PLUS] = ACTIONS(5060),
    [anon_sym_defined_QMARK] = ACTIONS(5062),
    [anon_sym_not] = ACTIONS(5064),
    [anon_sym_BANG] = ACTIONS(5066),
    [anon_sym_TILDE] = ACTIONS(5066),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5068),
    [sym_float] = ACTIONS(5070),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5072),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(5074),
    [sym_keyword__LINE__] = ACTIONS(5074),
    [sym_keyword__ENCODING__] = ACTIONS(5074),
    [sym__character_literal] = ACTIONS(5076),
    [anon_sym_LBRACK] = ACTIONS(5078),
    [anon_sym_DASH_GT] = ACTIONS(5080),
  },
  [3559] = {
    [sym__simple_string] = ACTIONS(7346),
    [sym__string_beginning] = ACTIONS(7346),
    [sym__element_reference_left_bracket] = ACTIONS(7346),
    [sym__scope_double_colon] = ACTIONS(7346),
    [anon_sym_DOT] = ACTIONS(7346),
    [anon_sym_AMP_DOT] = ACTIONS(7346),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(7348),
  },
  [3560] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(5174),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [3561] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6747),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(6748),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6749),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(9262),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(9264),
    [anon_sym_defined_QMARK] = ACTIONS(9266),
    [anon_sym_not] = ACTIONS(9268),
    [anon_sym_BANG] = ACTIONS(9270),
    [anon_sym_TILDE] = ACTIONS(9270),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3562] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6750),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(6748),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6749),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(9262),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(9264),
    [anon_sym_defined_QMARK] = ACTIONS(9266),
    [anon_sym_not] = ACTIONS(9268),
    [anon_sym_BANG] = ACTIONS(9270),
    [anon_sym_TILDE] = ACTIONS(9270),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3563] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6755),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(3575),
    [sym_call] = STATE(3575),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3577),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3578),
    [sym__variable] = STATE(3575),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5148),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(9272),
    [anon_sym_yield] = ACTIONS(9274),
    [anon_sym_break] = ACTIONS(9276),
    [anon_sym_next] = ACTIONS(9278),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(9280),
    [anon_sym_defined_QMARK] = ACTIONS(5158),
    [anon_sym_not] = ACTIONS(9282),
    [anon_sym_BANG] = ACTIONS(5164),
    [anon_sym_TILDE] = ACTIONS(5164),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3564] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6756),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(6748),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6749),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(9262),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(9264),
    [anon_sym_defined_QMARK] = ACTIONS(9266),
    [anon_sym_not] = ACTIONS(9268),
    [anon_sym_BANG] = ACTIONS(9270),
    [anon_sym_TILDE] = ACTIONS(9270),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3565] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6761),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(3575),
    [sym_call] = STATE(3575),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(340),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(6762),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3577),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3578),
    [sym__variable] = STATE(3575),
    [sym_reserved_identifier] = STATE(6763),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(6764),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(9284),
    [sym__splat_star] = ACTIONS(9286),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(5148),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(5150),
    [anon_sym_yield] = ACTIONS(5152),
    [anon_sym_break] = ACTIONS(5154),
    [anon_sym_next] = ACTIONS(5156),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(5158),
    [anon_sym_not] = ACTIONS(5160),
    [anon_sym_BANG] = ACTIONS(5162),
    [anon_sym_TILDE] = ACTIONS(5164),
    [sym_constant] = ACTIONS(9288),
    [sym_identifier] = ACTIONS(9288),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3566] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6761),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(3575),
    [sym_call] = STATE(3575),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(349),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(6762),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3577),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3578),
    [sym__variable] = STATE(3575),
    [sym_reserved_identifier] = STATE(6763),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(6764),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(9284),
    [sym__splat_star] = ACTIONS(9286),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(5148),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(5150),
    [anon_sym_yield] = ACTIONS(5152),
    [anon_sym_break] = ACTIONS(5154),
    [anon_sym_next] = ACTIONS(5156),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(5158),
    [anon_sym_not] = ACTIONS(5160),
    [anon_sym_BANG] = ACTIONS(5162),
    [anon_sym_TILDE] = ACTIONS(5164),
    [sym_constant] = ACTIONS(9288),
    [sym_identifier] = ACTIONS(9288),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3567] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6761),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(3575),
    [sym_call] = STATE(3575),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(350),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(6762),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3577),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3578),
    [sym__variable] = STATE(3575),
    [sym_reserved_identifier] = STATE(6763),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(6764),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(9284),
    [sym__splat_star] = ACTIONS(9286),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(5148),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(5150),
    [anon_sym_yield] = ACTIONS(5152),
    [anon_sym_break] = ACTIONS(5154),
    [anon_sym_next] = ACTIONS(5156),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(5158),
    [anon_sym_not] = ACTIONS(5160),
    [anon_sym_BANG] = ACTIONS(5162),
    [anon_sym_TILDE] = ACTIONS(5164),
    [sym_constant] = ACTIONS(9288),
    [sym_identifier] = ACTIONS(9288),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3568] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6761),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(3575),
    [sym_call] = STATE(3575),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(351),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(6762),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3577),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3578),
    [sym__variable] = STATE(3575),
    [sym_reserved_identifier] = STATE(6763),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(6764),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(9284),
    [sym__splat_star] = ACTIONS(9286),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(5148),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(5150),
    [anon_sym_yield] = ACTIONS(5152),
    [anon_sym_break] = ACTIONS(5154),
    [anon_sym_next] = ACTIONS(5156),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(5158),
    [anon_sym_not] = ACTIONS(5160),
    [anon_sym_BANG] = ACTIONS(5162),
    [anon_sym_TILDE] = ACTIONS(5164),
    [sym_constant] = ACTIONS(9288),
    [sym_identifier] = ACTIONS(9288),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3569] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6765),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(3575),
    [sym_call] = STATE(3575),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3577),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3578),
    [sym__variable] = STATE(3575),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5148),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(9272),
    [anon_sym_yield] = ACTIONS(9274),
    [anon_sym_break] = ACTIONS(9276),
    [anon_sym_next] = ACTIONS(9278),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(9280),
    [anon_sym_defined_QMARK] = ACTIONS(5158),
    [anon_sym_not] = ACTIONS(9282),
    [anon_sym_BANG] = ACTIONS(5164),
    [anon_sym_TILDE] = ACTIONS(5164),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3570] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6766),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(3575),
    [sym_call] = STATE(3575),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3577),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3578),
    [sym__variable] = STATE(3575),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5148),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(9272),
    [anon_sym_yield] = ACTIONS(9274),
    [anon_sym_break] = ACTIONS(9276),
    [anon_sym_next] = ACTIONS(9278),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(9280),
    [anon_sym_defined_QMARK] = ACTIONS(5158),
    [anon_sym_not] = ACTIONS(9282),
    [anon_sym_BANG] = ACTIONS(5164),
    [anon_sym_TILDE] = ACTIONS(5164),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3571] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6766),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(3575),
    [sym_call] = STATE(3575),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3577),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3578),
    [sym__variable] = STATE(3575),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(5148),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(9272),
    [anon_sym_yield] = ACTIONS(9274),
    [anon_sym_break] = ACTIONS(9276),
    [anon_sym_next] = ACTIONS(9278),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(9280),
    [anon_sym_defined_QMARK] = ACTIONS(5158),
    [anon_sym_not] = ACTIONS(9282),
    [anon_sym_BANG] = ACTIONS(5164),
    [anon_sym_TILDE] = ACTIONS(5164),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3572] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1410),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(3575),
    [sym_call] = STATE(3575),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3577),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3578),
    [sym__variable] = STATE(3575),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5148),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(9272),
    [anon_sym_yield] = ACTIONS(9274),
    [anon_sym_break] = ACTIONS(9276),
    [anon_sym_next] = ACTIONS(9278),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(9280),
    [anon_sym_defined_QMARK] = ACTIONS(5158),
    [anon_sym_not] = ACTIONS(9282),
    [anon_sym_BANG] = ACTIONS(5164),
    [anon_sym_TILDE] = ACTIONS(5164),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3573] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(9290),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [3574] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__line_break] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(9292),
    [sym__binary_star] = ACTIONS(9294),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(9296),
    [anon_sym_SEMI] = ACTIONS(2210),
    [anon_sym_STAR_STAR] = ACTIONS(9298),
    [anon_sym_AMP] = ACTIONS(9300),
    [anon_sym_LT] = ACTIONS(9302),
    [anon_sym_EQ_GT] = ACTIONS(9290),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(9304),
    [anon_sym_DOT_DOT] = ACTIONS(9306),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9308),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(9310),
    [anon_sym_AMP_AMP] = ACTIONS(9310),
    [anon_sym_LT_LT] = ACTIONS(9312),
    [anon_sym_GT_GT] = ACTIONS(9312),
    [anon_sym_EQ_EQ] = ACTIONS(9314),
    [anon_sym_BANG_EQ] = ACTIONS(9310),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9310),
    [anon_sym_LT_EQ_GT] = ACTIONS(9310),
    [anon_sym_EQ_TILDE] = ACTIONS(9310),
    [anon_sym_BANG_TILDE] = ACTIONS(9310),
    [anon_sym_LT_EQ] = ACTIONS(9302),
    [anon_sym_GT] = ACTIONS(9302),
    [anon_sym_GT_EQ] = ACTIONS(9316),
    [anon_sym_CARET] = ACTIONS(9318),
    [anon_sym_PLUS] = ACTIONS(9320),
    [anon_sym_SLASH] = ACTIONS(9298),
    [anon_sym_PERCENT] = ACTIONS(9298),
    [sym_comment] = ACTIONS(110),
  },
  [3575] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(3995),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(1435),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(3996),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_do_block] = STATE(1439),
    [sym_block] = STATE(1439),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1581),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1582),
    [sym__variable] = STATE(1540),
    [sym_reserved_identifier] = STATE(3997),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(3998),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(5764),
    [sym__splat_star] = ACTIONS(5766),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(2486),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(2258),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2488),
    [anon_sym_yield] = ACTIONS(2490),
    [anon_sym_break] = ACTIONS(2492),
    [anon_sym_next] = ACTIONS(2494),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(2260),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(980),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(2504),
    [anon_sym_not] = ACTIONS(2506),
    [anon_sym_BANG] = ACTIONS(2508),
    [anon_sym_TILDE] = ACTIONS(2510),
    [sym_constant] = ACTIONS(5768),
    [sym_identifier] = ACTIONS(5768),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3576] = {
    [sym_heredoc_end] = STATE(1444),
    [aux_sym_argument_list_repeat1] = STATE(6781),
    [aux_sym_argument_list_repeat2] = STATE(1445),
    [sym__simple_heredoc_body] = ACTIONS(2268),
    [sym__heredoc_body_beginning] = ACTIONS(2270),
    [sym__line_break] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(9322),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_STAR_STAR] = ACTIONS(2272),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2272),
    [anon_sym_AMP_AMP] = ACTIONS(2272),
    [anon_sym_LT_LT] = ACTIONS(2272),
    [anon_sym_GT_GT] = ACTIONS(2272),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2272),
    [anon_sym_PLUS] = ACTIONS(2272),
    [anon_sym_SLASH] = ACTIONS(2272),
    [anon_sym_PERCENT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(110),
  },
  [3577] = {
    [anon_sym_EQ] = ACTIONS(9324),
    [sym_comment] = ACTIONS(256),
  },
  [3578] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(9326),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(9328),
    [anon_sym_DASH_EQ] = ACTIONS(9328),
    [anon_sym_STAR_EQ] = ACTIONS(9328),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9328),
    [anon_sym_SLASH_EQ] = ACTIONS(9328),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9328),
    [anon_sym_PIPE_EQ] = ACTIONS(9328),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9328),
    [anon_sym_AMP_EQ] = ACTIONS(9328),
    [anon_sym_PERCENT_EQ] = ACTIONS(9328),
    [anon_sym_GT_GT_EQ] = ACTIONS(9328),
    [anon_sym_LT_LT_EQ] = ACTIONS(9328),
    [anon_sym_CARET_EQ] = ACTIONS(9328),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [3579] = {
    [sym__keyword_colon] = ACTIONS(9330),
    [sym_comment] = ACTIONS(110),
  },
  [3580] = {
    [sym_string] = STATE(611),
    [aux_sym_chained_string_repeat1] = STATE(612),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(20),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(9290),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(120),
  },
  [3581] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(5174),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [3582] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(5168),
    [sym__binary_star] = ACTIONS(5170),
    [anon_sym_PIPE] = ACTIONS(5172),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(5174),
    [anon_sym_AMP] = ACTIONS(5176),
    [anon_sym_LT] = ACTIONS(5178),
    [anon_sym_QMARK] = ACTIONS(5180),
    [anon_sym_DOT_DOT] = ACTIONS(5182),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5184),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(5188),
    [anon_sym_AMP_AMP] = ACTIONS(5188),
    [anon_sym_LT_LT] = ACTIONS(5190),
    [anon_sym_GT_GT] = ACTIONS(5190),
    [anon_sym_EQ_EQ] = ACTIONS(5192),
    [anon_sym_BANG_EQ] = ACTIONS(5188),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5188),
    [anon_sym_LT_EQ_GT] = ACTIONS(5188),
    [anon_sym_EQ_TILDE] = ACTIONS(5188),
    [anon_sym_BANG_TILDE] = ACTIONS(5188),
    [anon_sym_LT_EQ] = ACTIONS(5178),
    [anon_sym_GT] = ACTIONS(5178),
    [anon_sym_GT_EQ] = ACTIONS(5194),
    [anon_sym_CARET] = ACTIONS(5196),
    [anon_sym_PLUS] = ACTIONS(5198),
    [anon_sym_SLASH] = ACTIONS(5174),
    [anon_sym_PERCENT] = ACTIONS(5174),
    [sym_comment] = ACTIONS(110),
  },
  [3583] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6785),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1329),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1330),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2090),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2100),
    [anon_sym_defined_QMARK] = ACTIONS(2102),
    [anon_sym_not] = ACTIONS(2104),
    [anon_sym_BANG] = ACTIONS(2106),
    [anon_sym_TILDE] = ACTIONS(2106),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3584] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6786),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1329),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1330),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2090),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2100),
    [anon_sym_defined_QMARK] = ACTIONS(2102),
    [anon_sym_not] = ACTIONS(2104),
    [anon_sym_BANG] = ACTIONS(2106),
    [anon_sym_TILDE] = ACTIONS(2106),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3585] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6787),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1329),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1330),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2090),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2100),
    [anon_sym_defined_QMARK] = ACTIONS(2102),
    [anon_sym_not] = ACTIONS(2104),
    [anon_sym_BANG] = ACTIONS(2106),
    [anon_sym_TILDE] = ACTIONS(2106),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3586] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6788),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1329),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1330),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2090),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2100),
    [anon_sym_defined_QMARK] = ACTIONS(2102),
    [anon_sym_not] = ACTIONS(2104),
    [anon_sym_BANG] = ACTIONS(2106),
    [anon_sym_TILDE] = ACTIONS(2106),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3587] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6789),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1329),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1330),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2090),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2100),
    [anon_sym_defined_QMARK] = ACTIONS(2102),
    [anon_sym_not] = ACTIONS(2104),
    [anon_sym_BANG] = ACTIONS(2106),
    [anon_sym_TILDE] = ACTIONS(2106),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3588] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6790),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1329),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1330),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2090),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2100),
    [anon_sym_defined_QMARK] = ACTIONS(2102),
    [anon_sym_not] = ACTIONS(2104),
    [anon_sym_BANG] = ACTIONS(2106),
    [anon_sym_TILDE] = ACTIONS(2106),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3589] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(6791),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [3590] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6792),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1329),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1330),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2090),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2100),
    [anon_sym_defined_QMARK] = ACTIONS(2102),
    [anon_sym_not] = ACTIONS(2104),
    [anon_sym_BANG] = ACTIONS(2106),
    [anon_sym_TILDE] = ACTIONS(2106),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3591] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6793),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1329),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1330),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2090),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2100),
    [anon_sym_defined_QMARK] = ACTIONS(2102),
    [anon_sym_not] = ACTIONS(2104),
    [anon_sym_BANG] = ACTIONS(2106),
    [anon_sym_TILDE] = ACTIONS(2106),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3592] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6794),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1329),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1330),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2090),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2100),
    [anon_sym_defined_QMARK] = ACTIONS(2102),
    [anon_sym_not] = ACTIONS(2104),
    [anon_sym_BANG] = ACTIONS(2106),
    [anon_sym_TILDE] = ACTIONS(2106),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3593] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6795),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1329),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1330),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2090),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2100),
    [anon_sym_defined_QMARK] = ACTIONS(2102),
    [anon_sym_not] = ACTIONS(2104),
    [anon_sym_BANG] = ACTIONS(2106),
    [anon_sym_TILDE] = ACTIONS(2106),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3594] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6796),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1329),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1330),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2090),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2100),
    [anon_sym_defined_QMARK] = ACTIONS(2102),
    [anon_sym_not] = ACTIONS(2104),
    [anon_sym_BANG] = ACTIONS(2106),
    [anon_sym_TILDE] = ACTIONS(2106),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3595] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(6798),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(9332),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3596] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6800),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_splat_argument] = STATE(2211),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_right_assignment_list] = STATE(2212),
    [sym__arg_or_splat_arg] = STATE(6801),
    [sym_left_assignment_list] = STATE(6382),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6383),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(9334),
    [sym__unary_minus] = ACTIONS(8848),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(8850),
    [anon_sym_defined_QMARK] = ACTIONS(8852),
    [anon_sym_not] = ACTIONS(8854),
    [anon_sym_BANG] = ACTIONS(8856),
    [anon_sym_TILDE] = ACTIONS(8856),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3597] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6802),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1329),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1330),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2090),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2100),
    [anon_sym_defined_QMARK] = ACTIONS(2102),
    [anon_sym_not] = ACTIONS(2104),
    [anon_sym_BANG] = ACTIONS(2106),
    [anon_sym_TILDE] = ACTIONS(2106),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3598] = {
    [sym__simple_heredoc_body] = ACTIONS(9336),
    [sym__heredoc_body_beginning] = ACTIONS(9336),
    [sym__line_break] = ACTIONS(9336),
    [sym__binary_minus] = ACTIONS(5168),
    [sym__binary_star] = ACTIONS(5170),
    [anon_sym_PIPE] = ACTIONS(5172),
    [anon_sym_SEMI] = ACTIONS(9336),
    [anon_sym_STAR_STAR] = ACTIONS(5174),
    [anon_sym_AMP] = ACTIONS(5176),
    [anon_sym_LT] = ACTIONS(5178),
    [anon_sym_QMARK] = ACTIONS(5180),
    [anon_sym_DOT_DOT] = ACTIONS(5182),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5184),
    [anon_sym_and] = ACTIONS(5186),
    [anon_sym_or] = ACTIONS(5186),
    [anon_sym_PIPE_PIPE] = ACTIONS(5188),
    [anon_sym_AMP_AMP] = ACTIONS(5188),
    [anon_sym_LT_LT] = ACTIONS(5190),
    [anon_sym_GT_GT] = ACTIONS(5190),
    [anon_sym_EQ_EQ] = ACTIONS(5192),
    [anon_sym_BANG_EQ] = ACTIONS(5188),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5188),
    [anon_sym_LT_EQ_GT] = ACTIONS(5188),
    [anon_sym_EQ_TILDE] = ACTIONS(5188),
    [anon_sym_BANG_TILDE] = ACTIONS(5188),
    [anon_sym_LT_EQ] = ACTIONS(5178),
    [anon_sym_GT] = ACTIONS(5178),
    [anon_sym_GT_EQ] = ACTIONS(5194),
    [anon_sym_CARET] = ACTIONS(5196),
    [anon_sym_PLUS] = ACTIONS(5198),
    [anon_sym_SLASH] = ACTIONS(5174),
    [anon_sym_PERCENT] = ACTIONS(5174),
    [sym_comment] = ACTIONS(110),
  },
  [3599] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(6804),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(9338),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3600] = {
    [sym__simple_heredoc_body] = ACTIONS(9340),
    [sym__heredoc_body_beginning] = ACTIONS(9340),
    [sym__line_break] = ACTIONS(9340),
    [sym__element_reference_left_bracket] = ACTIONS(9340),
    [sym__scope_double_colon] = ACTIONS(9340),
    [sym__binary_minus] = ACTIONS(9340),
    [sym__binary_star] = ACTIONS(9340),
    [ts_builtin_sym_end] = ACTIONS(9340),
    [anon_sym___END__] = ACTIONS(9340),
    [anon_sym_LBRACE] = ACTIONS(9340),
    [anon_sym_RBRACE] = ACTIONS(9340),
    [anon_sym_RPAREN] = ACTIONS(9340),
    [anon_sym_DOT] = ACTIONS(9342),
    [anon_sym_end] = ACTIONS(9340),
    [anon_sym_COMMA] = ACTIONS(9340),
    [anon_sym_PIPE] = ACTIONS(9342),
    [anon_sym_SEMI] = ACTIONS(9340),
    [anon_sym_STAR_STAR] = ACTIONS(9340),
    [anon_sym_AMP] = ACTIONS(9342),
    [anon_sym_LT] = ACTIONS(9342),
    [anon_sym_if] = ACTIONS(9340),
    [anon_sym_unless] = ACTIONS(9340),
    [anon_sym_while] = ACTIONS(9340),
    [anon_sym_until] = ACTIONS(9340),
    [anon_sym_rescue] = ACTIONS(9340),
    [anon_sym_do] = ACTIONS(9340),
    [anon_sym_when] = ACTIONS(9340),
    [anon_sym_elsif] = ACTIONS(9340),
    [anon_sym_else] = ACTIONS(9340),
    [anon_sym_then] = ACTIONS(9340),
    [anon_sym_ensure] = ACTIONS(9340),
    [anon_sym_EQ_GT] = ACTIONS(9340),
    [anon_sym_AMP_DOT] = ACTIONS(9340),
    [anon_sym_QMARK] = ACTIONS(9340),
    [anon_sym_DOT_DOT] = ACTIONS(9342),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9340),
    [anon_sym_and] = ACTIONS(9340),
    [anon_sym_or] = ACTIONS(9340),
    [anon_sym_PIPE_PIPE] = ACTIONS(9340),
    [anon_sym_AMP_AMP] = ACTIONS(9340),
    [anon_sym_LT_LT] = ACTIONS(9340),
    [anon_sym_GT_GT] = ACTIONS(9340),
    [anon_sym_EQ_EQ] = ACTIONS(9342),
    [anon_sym_BANG_EQ] = ACTIONS(9340),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9340),
    [anon_sym_LT_EQ_GT] = ACTIONS(9340),
    [anon_sym_EQ_TILDE] = ACTIONS(9340),
    [anon_sym_BANG_TILDE] = ACTIONS(9340),
    [anon_sym_LT_EQ] = ACTIONS(9342),
    [anon_sym_GT] = ACTIONS(9342),
    [anon_sym_GT_EQ] = ACTIONS(9340),
    [anon_sym_CARET] = ACTIONS(9340),
    [anon_sym_PLUS] = ACTIONS(9340),
    [anon_sym_SLASH] = ACTIONS(9340),
    [anon_sym_PERCENT] = ACTIONS(9340),
    [sym_comment] = ACTIONS(110),
  },
  [3601] = {
    [anon_sym_end] = ACTIONS(9344),
    [sym_comment] = ACTIONS(110),
  },
  [3602] = {
    [sym__simple_string] = ACTIONS(7116),
    [sym__simple_symbol] = ACTIONS(7116),
    [sym__simple_subshell] = ACTIONS(7116),
    [sym__simple_regex] = ACTIONS(7116),
    [sym__simple_word_list] = ACTIONS(7116),
    [sym__simple_heredoc_body] = ACTIONS(7116),
    [sym__string_beginning] = ACTIONS(7116),
    [sym__symbol_beginning] = ACTIONS(7116),
    [sym__subshell_beginning] = ACTIONS(7116),
    [sym__regex_beginning] = ACTIONS(7116),
    [sym__word_list_beginning] = ACTIONS(7116),
    [sym__heredoc_body_beginning] = ACTIONS(7116),
    [sym_heredoc_beginning] = ACTIONS(7116),
    [sym__line_break] = ACTIONS(7116),
    [sym__element_reference_left_bracket] = ACTIONS(7116),
    [sym__block_ampersand] = ACTIONS(7116),
    [sym__splat_star] = ACTIONS(7116),
    [sym__argument_list_left_paren] = ACTIONS(7116),
    [sym__scope_double_colon] = ACTIONS(7116),
    [sym__unary_minus] = ACTIONS(7116),
    [anon_sym_LBRACE] = ACTIONS(7116),
    [anon_sym_def] = ACTIONS(7118),
    [anon_sym_LPAREN] = ACTIONS(7116),
    [anon_sym_DOT] = ACTIONS(7116),
    [anon_sym_COLON_COLON] = ACTIONS(7116),
    [anon_sym_end] = ACTIONS(7118),
    [anon_sym_SEMI] = ACTIONS(7116),
    [anon_sym_STAR] = ACTIONS(7118),
    [anon_sym_STAR_STAR] = ACTIONS(7116),
    [anon_sym_class] = ACTIONS(7118),
    [anon_sym_LT] = ACTIONS(7116),
    [anon_sym_module] = ACTIONS(7118),
    [anon_sym_return] = ACTIONS(7118),
    [anon_sym_yield] = ACTIONS(7118),
    [anon_sym_break] = ACTIONS(7118),
    [anon_sym_next] = ACTIONS(7118),
    [anon_sym_redo] = ACTIONS(7118),
    [anon_sym_retry] = ACTIONS(7118),
    [anon_sym_if] = ACTIONS(7118),
    [anon_sym_unless] = ACTIONS(7118),
    [anon_sym_while] = ACTIONS(7118),
    [anon_sym_until] = ACTIONS(7118),
    [anon_sym_rescue] = ACTIONS(7118),
    [anon_sym_for] = ACTIONS(7118),
    [anon_sym_in] = ACTIONS(7118),
    [anon_sym_do] = ACTIONS(7118),
    [anon_sym_case] = ACTIONS(7118),
    [anon_sym_when] = ACTIONS(7118),
    [anon_sym_elsif] = ACTIONS(7118),
    [anon_sym_else] = ACTIONS(7118),
    [anon_sym_then] = ACTIONS(7118),
    [anon_sym_begin] = ACTIONS(7118),
    [anon_sym_ensure] = ACTIONS(7118),
    [anon_sym_AMP_DOT] = ACTIONS(7116),
    [anon_sym_and] = ACTIONS(7118),
    [anon_sym_or] = ACTIONS(7118),
    [anon_sym_PLUS] = ACTIONS(7118),
    [anon_sym_defined_QMARK] = ACTIONS(7116),
    [anon_sym_not] = ACTIONS(7118),
    [anon_sym_BANG] = ACTIONS(7116),
    [anon_sym_TILDE] = ACTIONS(7116),
    [sym_constant] = ACTIONS(7120),
    [sym_identifier] = ACTIONS(7120),
    [sym_instance_variable] = ACTIONS(7118),
    [sym_class_variable] = ACTIONS(7118),
    [sym_global_variable] = ACTIONS(7118),
    [anon_sym_alias] = ACTIONS(7118),
    [anon_sym_defined] = ACTIONS(7118),
    [anon_sym_false] = ACTIONS(7118),
    [anon_sym_nil] = ACTIONS(7118),
    [anon_sym_self] = ACTIONS(7118),
    [anon_sym_super] = ACTIONS(7118),
    [anon_sym_true] = ACTIONS(7118),
    [anon_sym_undef] = ACTIONS(7118),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(7118),
    [sym_float] = ACTIONS(7120),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(7116),
    [anon_sym_TRUE] = ACTIONS(7118),
    [anon_sym_FALSE] = ACTIONS(7118),
    [anon_sym_NIL] = ACTIONS(7118),
    [sym_keyword__FILE__] = ACTIONS(7118),
    [sym_keyword__LINE__] = ACTIONS(7118),
    [sym_keyword__ENCODING__] = ACTIONS(7118),
    [sym__character_literal] = ACTIONS(7118),
    [anon_sym_LBRACK] = ACTIONS(7116),
    [anon_sym_DASH_GT] = ACTIONS(7116),
  },
  [3603] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6805),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3612),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3613),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5210),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5212),
    [anon_sym_yield] = ACTIONS(5214),
    [anon_sym_break] = ACTIONS(5216),
    [anon_sym_next] = ACTIONS(5218),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5220),
    [anon_sym_defined_QMARK] = ACTIONS(5222),
    [anon_sym_not] = ACTIONS(5224),
    [anon_sym_BANG] = ACTIONS(5226),
    [anon_sym_TILDE] = ACTIONS(5226),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3604] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6810),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1886),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(6811),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(6812),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(6813),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(9346),
    [sym__splat_star] = ACTIONS(9348),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(2118),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(5242),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(9350),
    [sym_identifier] = ACTIONS(9350),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3605] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6810),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1892),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(6811),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(6812),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(6813),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(9346),
    [sym__splat_star] = ACTIONS(9348),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(2118),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(5242),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(9350),
    [sym_identifier] = ACTIONS(9350),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3606] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6810),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1893),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(6811),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(6812),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(6813),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(9346),
    [sym__splat_star] = ACTIONS(9348),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(2118),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(5242),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(9350),
    [sym_identifier] = ACTIONS(9350),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3607] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6810),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1894),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(6811),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(6812),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(6813),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(9346),
    [sym__splat_star] = ACTIONS(9348),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(2118),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(5242),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(9350),
    [sym_identifier] = ACTIONS(9350),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3608] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6814),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3612),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3613),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5210),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5212),
    [anon_sym_yield] = ACTIONS(5214),
    [anon_sym_break] = ACTIONS(5216),
    [anon_sym_next] = ACTIONS(5218),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5220),
    [anon_sym_defined_QMARK] = ACTIONS(5222),
    [anon_sym_not] = ACTIONS(5224),
    [anon_sym_BANG] = ACTIONS(5226),
    [anon_sym_TILDE] = ACTIONS(5226),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3609] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6815),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3612),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3613),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5210),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5212),
    [anon_sym_yield] = ACTIONS(5214),
    [anon_sym_break] = ACTIONS(5216),
    [anon_sym_next] = ACTIONS(5218),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5220),
    [anon_sym_defined_QMARK] = ACTIONS(5222),
    [anon_sym_not] = ACTIONS(5224),
    [anon_sym_BANG] = ACTIONS(5226),
    [anon_sym_TILDE] = ACTIONS(5226),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3610] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(2988),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3612),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3613),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5210),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5212),
    [anon_sym_yield] = ACTIONS(5214),
    [anon_sym_break] = ACTIONS(5216),
    [anon_sym_next] = ACTIONS(5218),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5220),
    [anon_sym_defined_QMARK] = ACTIONS(5222),
    [anon_sym_not] = ACTIONS(5224),
    [anon_sym_BANG] = ACTIONS(5226),
    [anon_sym_TILDE] = ACTIONS(5226),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3611] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(9352),
    [sym__binary_star] = ACTIONS(9354),
    [anon_sym_LBRACE] = ACTIONS(5298),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(9356),
    [anon_sym_STAR_STAR] = ACTIONS(9358),
    [anon_sym_AMP] = ACTIONS(9360),
    [anon_sym_LT] = ACTIONS(9362),
    [anon_sym_do] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(9364),
    [anon_sym_DOT_DOT] = ACTIONS(9366),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9368),
    [anon_sym_and] = ACTIONS(9370),
    [anon_sym_or] = ACTIONS(9370),
    [anon_sym_PIPE_PIPE] = ACTIONS(9372),
    [anon_sym_AMP_AMP] = ACTIONS(9372),
    [anon_sym_LT_LT] = ACTIONS(9374),
    [anon_sym_GT_GT] = ACTIONS(9374),
    [anon_sym_EQ_EQ] = ACTIONS(9376),
    [anon_sym_BANG_EQ] = ACTIONS(9372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9372),
    [anon_sym_LT_EQ_GT] = ACTIONS(9372),
    [anon_sym_EQ_TILDE] = ACTIONS(9372),
    [anon_sym_BANG_TILDE] = ACTIONS(9372),
    [anon_sym_LT_EQ] = ACTIONS(9362),
    [anon_sym_GT] = ACTIONS(9362),
    [anon_sym_GT_EQ] = ACTIONS(9378),
    [anon_sym_CARET] = ACTIONS(9380),
    [anon_sym_PLUS] = ACTIONS(9382),
    [anon_sym_SLASH] = ACTIONS(9358),
    [anon_sym_PERCENT] = ACTIONS(9358),
    [sym_comment] = ACTIONS(110),
  },
  [3612] = {
    [anon_sym_EQ] = ACTIONS(9384),
    [sym_comment] = ACTIONS(256),
  },
  [3613] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(9386),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(9388),
    [anon_sym_DASH_EQ] = ACTIONS(9388),
    [anon_sym_STAR_EQ] = ACTIONS(9388),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9388),
    [anon_sym_SLASH_EQ] = ACTIONS(9388),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9388),
    [anon_sym_PIPE_EQ] = ACTIONS(9388),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9388),
    [anon_sym_AMP_EQ] = ACTIONS(9388),
    [anon_sym_PERCENT_EQ] = ACTIONS(9388),
    [anon_sym_GT_GT_EQ] = ACTIONS(9388),
    [anon_sym_LT_LT_EQ] = ACTIONS(9388),
    [anon_sym_CARET_EQ] = ACTIONS(9388),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [3614] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(9352),
    [sym__binary_star] = ACTIONS(9354),
    [anon_sym_LBRACE] = ACTIONS(5338),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(9356),
    [anon_sym_STAR_STAR] = ACTIONS(9358),
    [anon_sym_AMP] = ACTIONS(9360),
    [anon_sym_LT] = ACTIONS(9362),
    [anon_sym_do] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(9364),
    [anon_sym_DOT_DOT] = ACTIONS(9366),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9368),
    [anon_sym_and] = ACTIONS(9370),
    [anon_sym_or] = ACTIONS(9370),
    [anon_sym_PIPE_PIPE] = ACTIONS(9372),
    [anon_sym_AMP_AMP] = ACTIONS(9372),
    [anon_sym_LT_LT] = ACTIONS(9374),
    [anon_sym_GT_GT] = ACTIONS(9374),
    [anon_sym_EQ_EQ] = ACTIONS(9376),
    [anon_sym_BANG_EQ] = ACTIONS(9372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9372),
    [anon_sym_LT_EQ_GT] = ACTIONS(9372),
    [anon_sym_EQ_TILDE] = ACTIONS(9372),
    [anon_sym_BANG_TILDE] = ACTIONS(9372),
    [anon_sym_LT_EQ] = ACTIONS(9362),
    [anon_sym_GT] = ACTIONS(9362),
    [anon_sym_GT_EQ] = ACTIONS(9378),
    [anon_sym_CARET] = ACTIONS(9380),
    [anon_sym_PLUS] = ACTIONS(9382),
    [anon_sym_SLASH] = ACTIONS(9358),
    [anon_sym_PERCENT] = ACTIONS(9358),
    [sym_comment] = ACTIONS(110),
  },
  [3615] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3625),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1886),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(3626),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(3627),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(3628),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(5238),
    [sym__splat_star] = ACTIONS(5240),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(2118),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(5242),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(5244),
    [sym_identifier] = ACTIONS(5244),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3616] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3625),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1892),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(3626),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(3627),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(3628),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(5238),
    [sym__splat_star] = ACTIONS(5240),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(2118),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(5242),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(5244),
    [sym_identifier] = ACTIONS(5244),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3617] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3625),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1893),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(3626),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(3627),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(3628),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(5238),
    [sym__splat_star] = ACTIONS(5240),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(2118),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(5242),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(5244),
    [sym_identifier] = ACTIONS(5244),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3618] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3625),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1894),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(3626),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(3627),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(3628),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(5238),
    [sym__splat_star] = ACTIONS(5240),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(2118),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(5242),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(5244),
    [sym_identifier] = ACTIONS(5244),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3619] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_LBRACE] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_STAR_STAR] = ACTIONS(5254),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_do] = ACTIONS(1372),
    [anon_sym_EQ_GT] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [3620] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(9352),
    [sym__binary_star] = ACTIONS(9354),
    [anon_sym_LBRACE] = ACTIONS(4284),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(9356),
    [anon_sym_STAR_STAR] = ACTIONS(9358),
    [anon_sym_AMP] = ACTIONS(9360),
    [anon_sym_LT] = ACTIONS(9362),
    [anon_sym_do] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(9364),
    [anon_sym_DOT_DOT] = ACTIONS(9366),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9368),
    [anon_sym_and] = ACTIONS(9370),
    [anon_sym_or] = ACTIONS(9370),
    [anon_sym_PIPE_PIPE] = ACTIONS(9372),
    [anon_sym_AMP_AMP] = ACTIONS(9372),
    [anon_sym_LT_LT] = ACTIONS(9374),
    [anon_sym_GT_GT] = ACTIONS(9374),
    [anon_sym_EQ_EQ] = ACTIONS(9376),
    [anon_sym_BANG_EQ] = ACTIONS(9372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9372),
    [anon_sym_LT_EQ_GT] = ACTIONS(9372),
    [anon_sym_EQ_TILDE] = ACTIONS(9372),
    [anon_sym_BANG_TILDE] = ACTIONS(9372),
    [anon_sym_LT_EQ] = ACTIONS(9362),
    [anon_sym_GT] = ACTIONS(9362),
    [anon_sym_GT_EQ] = ACTIONS(9378),
    [anon_sym_CARET] = ACTIONS(9380),
    [anon_sym_PLUS] = ACTIONS(9382),
    [anon_sym_SLASH] = ACTIONS(9358),
    [anon_sym_PERCENT] = ACTIONS(9358),
    [sym_comment] = ACTIONS(110),
  },
  [3621] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6830),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5228),
    [anon_sym_yield] = ACTIONS(5230),
    [anon_sym_break] = ACTIONS(5232),
    [anon_sym_next] = ACTIONS(5234),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(5236),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3622] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6831),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5228),
    [anon_sym_yield] = ACTIONS(5230),
    [anon_sym_break] = ACTIONS(5232),
    [anon_sym_next] = ACTIONS(5234),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(5236),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3623] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6832),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5228),
    [anon_sym_yield] = ACTIONS(5230),
    [anon_sym_break] = ACTIONS(5232),
    [anon_sym_next] = ACTIONS(5234),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(5236),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3624] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(9390),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [3625] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(5248),
    [sym__binary_star] = ACTIONS(5250),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(5252),
    [anon_sym_STAR_STAR] = ACTIONS(5254),
    [anon_sym_AMP] = ACTIONS(5256),
    [anon_sym_LT] = ACTIONS(5258),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(5260),
    [anon_sym_DOT_DOT] = ACTIONS(5262),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5264),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(5268),
    [anon_sym_AMP_AMP] = ACTIONS(5268),
    [anon_sym_LT_LT] = ACTIONS(5270),
    [anon_sym_GT_GT] = ACTIONS(5270),
    [anon_sym_EQ_EQ] = ACTIONS(5272),
    [anon_sym_BANG_EQ] = ACTIONS(5268),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5268),
    [anon_sym_LT_EQ_GT] = ACTIONS(5268),
    [anon_sym_EQ_TILDE] = ACTIONS(5268),
    [anon_sym_BANG_TILDE] = ACTIONS(5268),
    [anon_sym_LT_EQ] = ACTIONS(5258),
    [anon_sym_GT] = ACTIONS(5258),
    [anon_sym_GT_EQ] = ACTIONS(5274),
    [anon_sym_CARET] = ACTIONS(5276),
    [anon_sym_PLUS] = ACTIONS(5278),
    [anon_sym_SLASH] = ACTIONS(5254),
    [anon_sym_PERCENT] = ACTIONS(5254),
    [sym_comment] = ACTIONS(110),
  },
  [3626] = {
    [sym_heredoc_end] = STATE(3004),
    [aux_sym_argument_list_repeat1] = STATE(6835),
    [aux_sym_argument_list_repeat2] = STATE(3005),
    [sym__simple_heredoc_body] = ACTIONS(4410),
    [sym__heredoc_body_beginning] = ACTIONS(4412),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(9392),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_STAR_STAR] = ACTIONS(2272),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_EQ_GT] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2272),
    [anon_sym_AMP_AMP] = ACTIONS(2272),
    [anon_sym_LT_LT] = ACTIONS(2272),
    [anon_sym_GT_GT] = ACTIONS(2272),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2272),
    [anon_sym_PLUS] = ACTIONS(2272),
    [anon_sym_SLASH] = ACTIONS(2272),
    [anon_sym_PERCENT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(110),
  },
  [3627] = {
    [sym__keyword_colon] = ACTIONS(9394),
    [sym_comment] = ACTIONS(110),
  },
  [3628] = {
    [sym_string] = STATE(1962),
    [aux_sym_chained_string_repeat1] = STATE(1963),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(9390),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(1626),
  },
  [3629] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(5254),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [3630] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(5248),
    [sym__binary_star] = ACTIONS(5250),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(5252),
    [anon_sym_STAR_STAR] = ACTIONS(5254),
    [anon_sym_AMP] = ACTIONS(5256),
    [anon_sym_LT] = ACTIONS(5258),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(5260),
    [anon_sym_DOT_DOT] = ACTIONS(5262),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5264),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(5268),
    [anon_sym_AMP_AMP] = ACTIONS(5268),
    [anon_sym_LT_LT] = ACTIONS(5270),
    [anon_sym_GT_GT] = ACTIONS(5270),
    [anon_sym_EQ_EQ] = ACTIONS(5272),
    [anon_sym_BANG_EQ] = ACTIONS(5268),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5268),
    [anon_sym_LT_EQ_GT] = ACTIONS(5268),
    [anon_sym_EQ_TILDE] = ACTIONS(5268),
    [anon_sym_BANG_TILDE] = ACTIONS(5268),
    [anon_sym_LT_EQ] = ACTIONS(5258),
    [anon_sym_GT] = ACTIONS(5258),
    [anon_sym_GT_EQ] = ACTIONS(5274),
    [anon_sym_CARET] = ACTIONS(5276),
    [anon_sym_PLUS] = ACTIONS(5278),
    [anon_sym_SLASH] = ACTIONS(5254),
    [anon_sym_PERCENT] = ACTIONS(5254),
    [sym_comment] = ACTIONS(110),
  },
  [3631] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6837),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3612),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3613),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5210),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5212),
    [anon_sym_yield] = ACTIONS(5214),
    [anon_sym_break] = ACTIONS(5216),
    [anon_sym_next] = ACTIONS(5218),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5220),
    [anon_sym_defined_QMARK] = ACTIONS(5222),
    [anon_sym_not] = ACTIONS(5224),
    [anon_sym_BANG] = ACTIONS(5226),
    [anon_sym_TILDE] = ACTIONS(5226),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3632] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6838),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5228),
    [anon_sym_yield] = ACTIONS(5230),
    [anon_sym_break] = ACTIONS(5232),
    [anon_sym_next] = ACTIONS(5234),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(5236),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3633] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6839),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5228),
    [anon_sym_yield] = ACTIONS(5230),
    [anon_sym_break] = ACTIONS(5232),
    [anon_sym_next] = ACTIONS(5234),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(5236),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3634] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6840),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5228),
    [anon_sym_yield] = ACTIONS(5230),
    [anon_sym_break] = ACTIONS(5232),
    [anon_sym_next] = ACTIONS(5234),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(5236),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3635] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6841),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5228),
    [anon_sym_yield] = ACTIONS(5230),
    [anon_sym_break] = ACTIONS(5232),
    [anon_sym_next] = ACTIONS(5234),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(5236),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3636] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6842),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5228),
    [anon_sym_yield] = ACTIONS(5230),
    [anon_sym_break] = ACTIONS(5232),
    [anon_sym_next] = ACTIONS(5234),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(5236),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3637] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6843),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5228),
    [anon_sym_yield] = ACTIONS(5230),
    [anon_sym_break] = ACTIONS(5232),
    [anon_sym_next] = ACTIONS(5234),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(5236),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3638] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(6844),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [3639] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6845),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5228),
    [anon_sym_yield] = ACTIONS(5230),
    [anon_sym_break] = ACTIONS(5232),
    [anon_sym_next] = ACTIONS(5234),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(5236),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3640] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6846),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5228),
    [anon_sym_yield] = ACTIONS(5230),
    [anon_sym_break] = ACTIONS(5232),
    [anon_sym_next] = ACTIONS(5234),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(5236),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3641] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6847),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5228),
    [anon_sym_yield] = ACTIONS(5230),
    [anon_sym_break] = ACTIONS(5232),
    [anon_sym_next] = ACTIONS(5234),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(5236),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3642] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6848),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5228),
    [anon_sym_yield] = ACTIONS(5230),
    [anon_sym_break] = ACTIONS(5232),
    [anon_sym_next] = ACTIONS(5234),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(5236),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3643] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6849),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5228),
    [anon_sym_yield] = ACTIONS(5230),
    [anon_sym_break] = ACTIONS(5232),
    [anon_sym_next] = ACTIONS(5234),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(5236),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3644] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1349),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(6607),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1353),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1354),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(6850),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(2114),
    [sym__splat_star] = ACTIONS(2116),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2120),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2138),
    [sym_identifier] = ACTIONS(2138),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3645] = {
    [sym_heredoc_end] = STATE(3448),
    [aux_sym_argument_list_repeat2] = STATE(6610),
    [sym__simple_heredoc_body] = ACTIONS(4968),
    [sym__heredoc_body_beginning] = ACTIONS(4970),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [anon_sym_LBRACE] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5472),
    [anon_sym_COMMA] = ACTIONS(9396),
    [anon_sym_do] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [sym_comment] = ACTIONS(110),
  },
  [3646] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6852),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_splat_argument] = STATE(6132),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_right_assignment_list] = STATE(6133),
    [sym__arg_or_splat_arg] = STATE(6853),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__splat_star] = ACTIONS(5240),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5228),
    [anon_sym_yield] = ACTIONS(5230),
    [anon_sym_break] = ACTIONS(5232),
    [anon_sym_next] = ACTIONS(5234),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(5236),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3647] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6854),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5228),
    [anon_sym_yield] = ACTIONS(5230),
    [anon_sym_break] = ACTIONS(5232),
    [anon_sym_next] = ACTIONS(5234),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(5236),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3648] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6855),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3612),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3613),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5210),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5212),
    [anon_sym_yield] = ACTIONS(5214),
    [anon_sym_break] = ACTIONS(5216),
    [anon_sym_next] = ACTIONS(5218),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5220),
    [anon_sym_defined_QMARK] = ACTIONS(5222),
    [anon_sym_not] = ACTIONS(5224),
    [anon_sym_BANG] = ACTIONS(5226),
    [anon_sym_TILDE] = ACTIONS(5226),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3649] = {
    [sym__simple_heredoc_body] = ACTIONS(9398),
    [sym__heredoc_body_beginning] = ACTIONS(9398),
    [sym__line_break] = ACTIONS(9398),
    [sym__element_reference_left_bracket] = ACTIONS(9398),
    [sym__scope_double_colon] = ACTIONS(9398),
    [sym__binary_minus] = ACTIONS(9398),
    [sym__binary_star] = ACTIONS(9398),
    [ts_builtin_sym_end] = ACTIONS(9398),
    [anon_sym___END__] = ACTIONS(9398),
    [anon_sym_LBRACE] = ACTIONS(9398),
    [anon_sym_RBRACE] = ACTIONS(9398),
    [anon_sym_RPAREN] = ACTIONS(9398),
    [anon_sym_DOT] = ACTIONS(9400),
    [anon_sym_end] = ACTIONS(9398),
    [anon_sym_COMMA] = ACTIONS(9398),
    [anon_sym_PIPE] = ACTIONS(9400),
    [anon_sym_SEMI] = ACTIONS(9398),
    [anon_sym_STAR_STAR] = ACTIONS(9398),
    [anon_sym_AMP] = ACTIONS(9400),
    [anon_sym_LT] = ACTIONS(9400),
    [anon_sym_if] = ACTIONS(9398),
    [anon_sym_unless] = ACTIONS(9398),
    [anon_sym_while] = ACTIONS(9398),
    [anon_sym_until] = ACTIONS(9398),
    [anon_sym_rescue] = ACTIONS(9398),
    [anon_sym_do] = ACTIONS(9398),
    [anon_sym_when] = ACTIONS(9398),
    [anon_sym_elsif] = ACTIONS(9398),
    [anon_sym_else] = ACTIONS(9398),
    [anon_sym_then] = ACTIONS(9398),
    [anon_sym_ensure] = ACTIONS(9398),
    [anon_sym_EQ_GT] = ACTIONS(9398),
    [anon_sym_AMP_DOT] = ACTIONS(9398),
    [anon_sym_QMARK] = ACTIONS(9398),
    [anon_sym_DOT_DOT] = ACTIONS(9400),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9398),
    [anon_sym_and] = ACTIONS(9398),
    [anon_sym_or] = ACTIONS(9398),
    [anon_sym_PIPE_PIPE] = ACTIONS(9398),
    [anon_sym_AMP_AMP] = ACTIONS(9398),
    [anon_sym_LT_LT] = ACTIONS(9398),
    [anon_sym_GT_GT] = ACTIONS(9398),
    [anon_sym_EQ_EQ] = ACTIONS(9400),
    [anon_sym_BANG_EQ] = ACTIONS(9398),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9398),
    [anon_sym_LT_EQ_GT] = ACTIONS(9398),
    [anon_sym_EQ_TILDE] = ACTIONS(9398),
    [anon_sym_BANG_TILDE] = ACTIONS(9398),
    [anon_sym_LT_EQ] = ACTIONS(9400),
    [anon_sym_GT] = ACTIONS(9400),
    [anon_sym_GT_EQ] = ACTIONS(9398),
    [anon_sym_CARET] = ACTIONS(9398),
    [anon_sym_PLUS] = ACTIONS(9398),
    [anon_sym_SLASH] = ACTIONS(9398),
    [anon_sym_PERCENT] = ACTIONS(9398),
    [sym_comment] = ACTIONS(110),
  },
  [3650] = {
    [anon_sym_end] = ACTIONS(9402),
    [sym_comment] = ACTIONS(110),
  },
  [3651] = {
    [sym__simple_string] = ACTIONS(3612),
    [sym__simple_heredoc_body] = ACTIONS(3612),
    [sym__string_beginning] = ACTIONS(3612),
    [sym__heredoc_body_beginning] = ACTIONS(3612),
    [sym__line_break] = ACTIONS(3612),
    [sym__element_reference_left_bracket] = ACTIONS(3612),
    [sym__scope_double_colon] = ACTIONS(3612),
    [sym__keyword_colon] = ACTIONS(3612),
    [sym__binary_minus] = ACTIONS(3612),
    [sym__binary_star] = ACTIONS(3612),
    [ts_builtin_sym_end] = ACTIONS(3612),
    [anon_sym___END__] = ACTIONS(3612),
    [anon_sym_LBRACE] = ACTIONS(3612),
    [anon_sym_RBRACE] = ACTIONS(3612),
    [anon_sym_RPAREN] = ACTIONS(3612),
    [anon_sym_DOT] = ACTIONS(3614),
    [anon_sym_end] = ACTIONS(3612),
    [anon_sym_COMMA] = ACTIONS(3612),
    [anon_sym_PIPE] = ACTIONS(3614),
    [anon_sym_SEMI] = ACTIONS(3612),
    [anon_sym_STAR_STAR] = ACTIONS(3612),
    [anon_sym_AMP] = ACTIONS(3614),
    [anon_sym_LT] = ACTIONS(3614),
    [anon_sym_if] = ACTIONS(3612),
    [anon_sym_unless] = ACTIONS(3612),
    [anon_sym_while] = ACTIONS(3612),
    [anon_sym_until] = ACTIONS(3612),
    [anon_sym_rescue] = ACTIONS(3612),
    [anon_sym_do] = ACTIONS(3612),
    [anon_sym_when] = ACTIONS(3612),
    [anon_sym_elsif] = ACTIONS(3612),
    [anon_sym_else] = ACTIONS(3612),
    [anon_sym_then] = ACTIONS(3612),
    [anon_sym_ensure] = ACTIONS(3612),
    [anon_sym_EQ_GT] = ACTIONS(3612),
    [anon_sym_AMP_DOT] = ACTIONS(3612),
    [anon_sym_QMARK] = ACTIONS(3614),
    [anon_sym_DOT_DOT] = ACTIONS(3614),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3612),
    [anon_sym_and] = ACTIONS(3612),
    [anon_sym_or] = ACTIONS(3612),
    [anon_sym_PIPE_PIPE] = ACTIONS(3612),
    [anon_sym_AMP_AMP] = ACTIONS(3612),
    [anon_sym_LT_LT] = ACTIONS(3612),
    [anon_sym_GT_GT] = ACTIONS(3612),
    [anon_sym_EQ_EQ] = ACTIONS(3614),
    [anon_sym_BANG_EQ] = ACTIONS(3612),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3612),
    [anon_sym_LT_EQ_GT] = ACTIONS(3612),
    [anon_sym_EQ_TILDE] = ACTIONS(3612),
    [anon_sym_BANG_TILDE] = ACTIONS(3612),
    [anon_sym_LT_EQ] = ACTIONS(3614),
    [anon_sym_GT] = ACTIONS(3614),
    [anon_sym_GT_EQ] = ACTIONS(3612),
    [anon_sym_CARET] = ACTIONS(3612),
    [anon_sym_PLUS] = ACTIONS(3612),
    [anon_sym_SLASH] = ACTIONS(3612),
    [anon_sym_PERCENT] = ACTIONS(3612),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(3614),
  },
  [3652] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(9404),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [3653] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [ts_builtin_sym_end] = ACTIONS(1372),
    [anon_sym___END__] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(5308),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_if] = ACTIONS(1372),
    [anon_sym_unless] = ACTIONS(1372),
    [anon_sym_while] = ACTIONS(1372),
    [anon_sym_until] = ACTIONS(1372),
    [anon_sym_rescue] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [3654] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [ts_builtin_sym_end] = ACTIONS(2870),
    [anon_sym___END__] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(5308),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [3655] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(5300),
    [sym__binary_star] = ACTIONS(5302),
    [ts_builtin_sym_end] = ACTIONS(2870),
    [anon_sym___END__] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(5306),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(5308),
    [anon_sym_AMP] = ACTIONS(5310),
    [anon_sym_LT] = ACTIONS(5312),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(5314),
    [anon_sym_DOT_DOT] = ACTIONS(5316),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5318),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(5320),
    [anon_sym_AMP_AMP] = ACTIONS(5320),
    [anon_sym_LT_LT] = ACTIONS(5322),
    [anon_sym_GT_GT] = ACTIONS(5322),
    [anon_sym_EQ_EQ] = ACTIONS(5324),
    [anon_sym_BANG_EQ] = ACTIONS(5320),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5320),
    [anon_sym_LT_EQ_GT] = ACTIONS(5320),
    [anon_sym_EQ_TILDE] = ACTIONS(5320),
    [anon_sym_BANG_TILDE] = ACTIONS(5320),
    [anon_sym_LT_EQ] = ACTIONS(5312),
    [anon_sym_GT] = ACTIONS(5312),
    [anon_sym_GT_EQ] = ACTIONS(5326),
    [anon_sym_CARET] = ACTIONS(5328),
    [anon_sym_PLUS] = ACTIONS(5330),
    [anon_sym_SLASH] = ACTIONS(5308),
    [anon_sym_PERCENT] = ACTIONS(5308),
    [sym_comment] = ACTIONS(110),
  },
  [3656] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6858),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1365),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1366),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2144),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2146),
    [anon_sym_defined_QMARK] = ACTIONS(2148),
    [anon_sym_not] = ACTIONS(2150),
    [anon_sym_BANG] = ACTIONS(2152),
    [anon_sym_TILDE] = ACTIONS(2152),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3657] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6859),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1365),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1366),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2144),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2146),
    [anon_sym_defined_QMARK] = ACTIONS(2148),
    [anon_sym_not] = ACTIONS(2150),
    [anon_sym_BANG] = ACTIONS(2152),
    [anon_sym_TILDE] = ACTIONS(2152),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3658] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6860),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1365),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1366),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2144),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2146),
    [anon_sym_defined_QMARK] = ACTIONS(2148),
    [anon_sym_not] = ACTIONS(2150),
    [anon_sym_BANG] = ACTIONS(2152),
    [anon_sym_TILDE] = ACTIONS(2152),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3659] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6861),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1365),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1366),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2144),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2146),
    [anon_sym_defined_QMARK] = ACTIONS(2148),
    [anon_sym_not] = ACTIONS(2150),
    [anon_sym_BANG] = ACTIONS(2152),
    [anon_sym_TILDE] = ACTIONS(2152),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3660] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6862),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1365),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1366),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2144),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2146),
    [anon_sym_defined_QMARK] = ACTIONS(2148),
    [anon_sym_not] = ACTIONS(2150),
    [anon_sym_BANG] = ACTIONS(2152),
    [anon_sym_TILDE] = ACTIONS(2152),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3661] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6863),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1365),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1366),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2144),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2146),
    [anon_sym_defined_QMARK] = ACTIONS(2148),
    [anon_sym_not] = ACTIONS(2150),
    [anon_sym_BANG] = ACTIONS(2152),
    [anon_sym_TILDE] = ACTIONS(2152),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3662] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(6864),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [3663] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6865),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1365),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1366),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2144),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2146),
    [anon_sym_defined_QMARK] = ACTIONS(2148),
    [anon_sym_not] = ACTIONS(2150),
    [anon_sym_BANG] = ACTIONS(2152),
    [anon_sym_TILDE] = ACTIONS(2152),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3664] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6866),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1365),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1366),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2144),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2146),
    [anon_sym_defined_QMARK] = ACTIONS(2148),
    [anon_sym_not] = ACTIONS(2150),
    [anon_sym_BANG] = ACTIONS(2152),
    [anon_sym_TILDE] = ACTIONS(2152),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3665] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6867),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1365),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1366),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2144),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2146),
    [anon_sym_defined_QMARK] = ACTIONS(2148),
    [anon_sym_not] = ACTIONS(2150),
    [anon_sym_BANG] = ACTIONS(2152),
    [anon_sym_TILDE] = ACTIONS(2152),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3666] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6868),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1365),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1366),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2144),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2146),
    [anon_sym_defined_QMARK] = ACTIONS(2148),
    [anon_sym_not] = ACTIONS(2150),
    [anon_sym_BANG] = ACTIONS(2152),
    [anon_sym_TILDE] = ACTIONS(2152),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3667] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6869),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1365),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1366),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2144),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2146),
    [anon_sym_defined_QMARK] = ACTIONS(2148),
    [anon_sym_not] = ACTIONS(2150),
    [anon_sym_BANG] = ACTIONS(2152),
    [anon_sym_TILDE] = ACTIONS(2152),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3668] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6870),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_splat_argument] = STATE(3785),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_right_assignment_list] = STATE(3786),
    [sym__arg_or_splat_arg] = STATE(6871),
    [sym_left_assignment_list] = STATE(1365),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1366),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(538),
    [sym__unary_minus] = ACTIONS(2144),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2146),
    [anon_sym_defined_QMARK] = ACTIONS(2148),
    [anon_sym_not] = ACTIONS(2150),
    [anon_sym_BANG] = ACTIONS(2152),
    [anon_sym_TILDE] = ACTIONS(2152),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3669] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6872),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1365),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1366),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2144),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2146),
    [anon_sym_defined_QMARK] = ACTIONS(2148),
    [anon_sym_not] = ACTIONS(2150),
    [anon_sym_BANG] = ACTIONS(2152),
    [anon_sym_TILDE] = ACTIONS(2152),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3670] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6873),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3679),
    [sym_call] = STATE(3679),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(3680),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3681),
    [sym__variable] = STATE(3679),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5342),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5344),
    [anon_sym_yield] = ACTIONS(5346),
    [anon_sym_break] = ACTIONS(5348),
    [anon_sym_next] = ACTIONS(5350),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5352),
    [anon_sym_defined_QMARK] = ACTIONS(5354),
    [anon_sym_not] = ACTIONS(5356),
    [anon_sym_BANG] = ACTIONS(5358),
    [anon_sym_TILDE] = ACTIONS(5358),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3671] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3195),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1886),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(3196),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3197),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3198),
    [sym__variable] = STATE(1383),
    [sym_reserved_identifier] = STATE(3199),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(3200),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(4598),
    [sym__splat_star] = ACTIONS(4600),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(4602),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(532),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2164),
    [anon_sym_yield] = ACTIONS(2166),
    [anon_sym_break] = ACTIONS(2168),
    [anon_sym_next] = ACTIONS(2170),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(4604),
    [anon_sym_not] = ACTIONS(4606),
    [anon_sym_BANG] = ACTIONS(4608),
    [anon_sym_TILDE] = ACTIONS(4610),
    [sym_constant] = ACTIONS(4612),
    [sym_identifier] = ACTIONS(4612),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3672] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3195),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1892),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(3196),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3197),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3198),
    [sym__variable] = STATE(1383),
    [sym_reserved_identifier] = STATE(3199),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(3200),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(4598),
    [sym__splat_star] = ACTIONS(4600),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(4602),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(602),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2164),
    [anon_sym_yield] = ACTIONS(2166),
    [anon_sym_break] = ACTIONS(2168),
    [anon_sym_next] = ACTIONS(2170),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(4604),
    [anon_sym_not] = ACTIONS(4606),
    [anon_sym_BANG] = ACTIONS(4608),
    [anon_sym_TILDE] = ACTIONS(4610),
    [sym_constant] = ACTIONS(4612),
    [sym_identifier] = ACTIONS(4612),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3673] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3195),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1893),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(3196),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3197),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3198),
    [sym__variable] = STATE(1383),
    [sym_reserved_identifier] = STATE(3199),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(3200),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(4598),
    [sym__splat_star] = ACTIONS(4600),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(4602),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(606),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2164),
    [anon_sym_yield] = ACTIONS(2166),
    [anon_sym_break] = ACTIONS(2168),
    [anon_sym_next] = ACTIONS(2170),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(4604),
    [anon_sym_not] = ACTIONS(4606),
    [anon_sym_BANG] = ACTIONS(4608),
    [anon_sym_TILDE] = ACTIONS(4610),
    [sym_constant] = ACTIONS(4612),
    [sym_identifier] = ACTIONS(4612),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3674] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3195),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1894),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(3196),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3197),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3198),
    [sym__variable] = STATE(1383),
    [sym_reserved_identifier] = STATE(3199),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(3200),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(4598),
    [sym__splat_star] = ACTIONS(4600),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(4602),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(610),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2164),
    [anon_sym_yield] = ACTIONS(2166),
    [anon_sym_break] = ACTIONS(2168),
    [anon_sym_next] = ACTIONS(2170),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(4604),
    [anon_sym_not] = ACTIONS(4606),
    [anon_sym_BANG] = ACTIONS(4608),
    [anon_sym_TILDE] = ACTIONS(4610),
    [sym_constant] = ACTIONS(4612),
    [sym_identifier] = ACTIONS(4612),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3675] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6874),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3679),
    [sym_call] = STATE(3679),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(3680),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3681),
    [sym__variable] = STATE(3679),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5342),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5344),
    [anon_sym_yield] = ACTIONS(5346),
    [anon_sym_break] = ACTIONS(5348),
    [anon_sym_next] = ACTIONS(5350),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5352),
    [anon_sym_defined_QMARK] = ACTIONS(5354),
    [anon_sym_not] = ACTIONS(5356),
    [anon_sym_BANG] = ACTIONS(5358),
    [anon_sym_TILDE] = ACTIONS(5358),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3676] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6875),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3679),
    [sym_call] = STATE(3679),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(3680),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3681),
    [sym__variable] = STATE(3679),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5342),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5344),
    [anon_sym_yield] = ACTIONS(5346),
    [anon_sym_break] = ACTIONS(5348),
    [anon_sym_next] = ACTIONS(5350),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5352),
    [anon_sym_defined_QMARK] = ACTIONS(5354),
    [anon_sym_not] = ACTIONS(5356),
    [anon_sym_BANG] = ACTIONS(5358),
    [anon_sym_TILDE] = ACTIONS(5358),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3677] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1908),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3679),
    [sym_call] = STATE(3679),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(3680),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3681),
    [sym__variable] = STATE(3679),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5342),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5344),
    [anon_sym_yield] = ACTIONS(5346),
    [anon_sym_break] = ACTIONS(5348),
    [anon_sym_next] = ACTIONS(5350),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5352),
    [anon_sym_defined_QMARK] = ACTIONS(5354),
    [anon_sym_not] = ACTIONS(5356),
    [anon_sym_BANG] = ACTIONS(5358),
    [anon_sym_TILDE] = ACTIONS(5358),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3678] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(9406),
    [sym__binary_star] = ACTIONS(9408),
    [anon_sym_RPAREN] = ACTIONS(5298),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(9410),
    [anon_sym_STAR_STAR] = ACTIONS(9412),
    [anon_sym_AMP] = ACTIONS(9414),
    [anon_sym_LT] = ACTIONS(9416),
    [anon_sym_QMARK] = ACTIONS(9418),
    [anon_sym_DOT_DOT] = ACTIONS(9420),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9422),
    [anon_sym_and] = ACTIONS(9424),
    [anon_sym_or] = ACTIONS(9424),
    [anon_sym_PIPE_PIPE] = ACTIONS(9426),
    [anon_sym_AMP_AMP] = ACTIONS(9426),
    [anon_sym_LT_LT] = ACTIONS(9428),
    [anon_sym_GT_GT] = ACTIONS(9428),
    [anon_sym_EQ_EQ] = ACTIONS(9430),
    [anon_sym_BANG_EQ] = ACTIONS(9426),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9426),
    [anon_sym_LT_EQ_GT] = ACTIONS(9426),
    [anon_sym_EQ_TILDE] = ACTIONS(9426),
    [anon_sym_BANG_TILDE] = ACTIONS(9426),
    [anon_sym_LT_EQ] = ACTIONS(9416),
    [anon_sym_GT] = ACTIONS(9416),
    [anon_sym_GT_EQ] = ACTIONS(9432),
    [anon_sym_CARET] = ACTIONS(9434),
    [anon_sym_PLUS] = ACTIONS(9436),
    [anon_sym_SLASH] = ACTIONS(9412),
    [anon_sym_PERCENT] = ACTIONS(9412),
    [sym_comment] = ACTIONS(110),
  },
  [3679] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(3234),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(2958),
    [sym__argument_list_with_parens] = STATE(2959),
    [sym__argument] = STATE(3237),
    [sym_splat_argument] = STATE(2961),
    [sym_hash_splat_argument] = STATE(2961),
    [sym_block_argument] = STATE(2961),
    [sym_do_block] = STATE(2962),
    [sym_block] = STATE(2962),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(3239),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3240),
    [sym__variable] = STATE(3235),
    [sym_reserved_identifier] = STATE(3241),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3242),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(2961),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(4656),
    [sym__splat_star] = ACTIONS(4658),
    [sym__argument_list_left_paren] = ACTIONS(4330),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(4660),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(4334),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_RPAREN] = ACTIONS(980),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(4664),
    [anon_sym_yield] = ACTIONS(4666),
    [anon_sym_break] = ACTIONS(4668),
    [anon_sym_next] = ACTIONS(4670),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(4344),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(4674),
    [anon_sym_not] = ACTIONS(4676),
    [anon_sym_BANG] = ACTIONS(4678),
    [anon_sym_TILDE] = ACTIONS(4680),
    [sym_constant] = ACTIONS(4682),
    [sym_identifier] = ACTIONS(4682),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [3680] = {
    [anon_sym_EQ] = ACTIONS(9438),
    [sym_comment] = ACTIONS(256),
  },
  [3681] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_RPAREN] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(9440),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(9442),
    [anon_sym_DASH_EQ] = ACTIONS(9442),
    [anon_sym_STAR_EQ] = ACTIONS(9442),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9442),
    [anon_sym_SLASH_EQ] = ACTIONS(9442),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9442),
    [anon_sym_PIPE_EQ] = ACTIONS(9442),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9442),
    [anon_sym_AMP_EQ] = ACTIONS(9442),
    [anon_sym_PERCENT_EQ] = ACTIONS(9442),
    [anon_sym_GT_GT_EQ] = ACTIONS(9442),
    [anon_sym_LT_LT_EQ] = ACTIONS(9442),
    [anon_sym_CARET_EQ] = ACTIONS(9442),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [3682] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(9406),
    [sym__binary_star] = ACTIONS(9408),
    [anon_sym_RPAREN] = ACTIONS(5338),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(9410),
    [anon_sym_STAR_STAR] = ACTIONS(9412),
    [anon_sym_AMP] = ACTIONS(9414),
    [anon_sym_LT] = ACTIONS(9416),
    [anon_sym_QMARK] = ACTIONS(9418),
    [anon_sym_DOT_DOT] = ACTIONS(9420),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9422),
    [anon_sym_and] = ACTIONS(9424),
    [anon_sym_or] = ACTIONS(9424),
    [anon_sym_PIPE_PIPE] = ACTIONS(9426),
    [anon_sym_AMP_AMP] = ACTIONS(9426),
    [anon_sym_LT_LT] = ACTIONS(9428),
    [anon_sym_GT_GT] = ACTIONS(9428),
    [anon_sym_EQ_EQ] = ACTIONS(9430),
    [anon_sym_BANG_EQ] = ACTIONS(9426),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9426),
    [anon_sym_LT_EQ_GT] = ACTIONS(9426),
    [anon_sym_EQ_TILDE] = ACTIONS(9426),
    [anon_sym_BANG_TILDE] = ACTIONS(9426),
    [anon_sym_LT_EQ] = ACTIONS(9416),
    [anon_sym_GT] = ACTIONS(9416),
    [anon_sym_GT_EQ] = ACTIONS(9432),
    [anon_sym_CARET] = ACTIONS(9434),
    [anon_sym_PLUS] = ACTIONS(9436),
    [anon_sym_SLASH] = ACTIONS(9412),
    [anon_sym_PERCENT] = ACTIONS(9412),
    [sym_comment] = ACTIONS(110),
  },
  [3683] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3693),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1886),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(3694),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3197),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3198),
    [sym__variable] = STATE(1383),
    [sym_reserved_identifier] = STATE(3695),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(3696),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(5374),
    [sym__splat_star] = ACTIONS(5376),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(4602),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(532),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2164),
    [anon_sym_yield] = ACTIONS(2166),
    [anon_sym_break] = ACTIONS(2168),
    [anon_sym_next] = ACTIONS(2170),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(4604),
    [anon_sym_not] = ACTIONS(4606),
    [anon_sym_BANG] = ACTIONS(4608),
    [anon_sym_TILDE] = ACTIONS(4610),
    [sym_constant] = ACTIONS(5378),
    [sym_identifier] = ACTIONS(5378),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3684] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3693),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1892),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(3694),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3197),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3198),
    [sym__variable] = STATE(1383),
    [sym_reserved_identifier] = STATE(3695),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(3696),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(5374),
    [sym__splat_star] = ACTIONS(5376),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(4602),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(602),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2164),
    [anon_sym_yield] = ACTIONS(2166),
    [anon_sym_break] = ACTIONS(2168),
    [anon_sym_next] = ACTIONS(2170),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(4604),
    [anon_sym_not] = ACTIONS(4606),
    [anon_sym_BANG] = ACTIONS(4608),
    [anon_sym_TILDE] = ACTIONS(4610),
    [sym_constant] = ACTIONS(5378),
    [sym_identifier] = ACTIONS(5378),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3685] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3693),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1893),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(3694),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3197),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3198),
    [sym__variable] = STATE(1383),
    [sym_reserved_identifier] = STATE(3695),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(3696),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(5374),
    [sym__splat_star] = ACTIONS(5376),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(4602),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(606),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2164),
    [anon_sym_yield] = ACTIONS(2166),
    [anon_sym_break] = ACTIONS(2168),
    [anon_sym_next] = ACTIONS(2170),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(4604),
    [anon_sym_not] = ACTIONS(4606),
    [anon_sym_BANG] = ACTIONS(4608),
    [anon_sym_TILDE] = ACTIONS(4610),
    [sym_constant] = ACTIONS(5378),
    [sym_identifier] = ACTIONS(5378),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3686] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3693),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1894),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(3694),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3197),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3198),
    [sym__variable] = STATE(1383),
    [sym_reserved_identifier] = STATE(3695),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(3696),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(5374),
    [sym__splat_star] = ACTIONS(5376),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(4602),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(610),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2164),
    [anon_sym_yield] = ACTIONS(2166),
    [anon_sym_break] = ACTIONS(2168),
    [anon_sym_next] = ACTIONS(2170),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(4604),
    [anon_sym_not] = ACTIONS(4606),
    [anon_sym_BANG] = ACTIONS(4608),
    [anon_sym_TILDE] = ACTIONS(4610),
    [sym_constant] = ACTIONS(5378),
    [sym_identifier] = ACTIONS(5378),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3687] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_RPAREN] = ACTIONS(1372),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_STAR_STAR] = ACTIONS(5388),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_EQ_GT] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [3688] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(9406),
    [sym__binary_star] = ACTIONS(9408),
    [anon_sym_RPAREN] = ACTIONS(4284),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(9410),
    [anon_sym_STAR_STAR] = ACTIONS(9412),
    [anon_sym_AMP] = ACTIONS(9414),
    [anon_sym_LT] = ACTIONS(9416),
    [anon_sym_QMARK] = ACTIONS(9418),
    [anon_sym_DOT_DOT] = ACTIONS(9420),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9422),
    [anon_sym_and] = ACTIONS(9424),
    [anon_sym_or] = ACTIONS(9424),
    [anon_sym_PIPE_PIPE] = ACTIONS(9426),
    [anon_sym_AMP_AMP] = ACTIONS(9426),
    [anon_sym_LT_LT] = ACTIONS(9428),
    [anon_sym_GT_GT] = ACTIONS(9428),
    [anon_sym_EQ_EQ] = ACTIONS(9430),
    [anon_sym_BANG_EQ] = ACTIONS(9426),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9426),
    [anon_sym_LT_EQ_GT] = ACTIONS(9426),
    [anon_sym_EQ_TILDE] = ACTIONS(9426),
    [anon_sym_BANG_TILDE] = ACTIONS(9426),
    [anon_sym_LT_EQ] = ACTIONS(9416),
    [anon_sym_GT] = ACTIONS(9416),
    [anon_sym_GT_EQ] = ACTIONS(9432),
    [anon_sym_CARET] = ACTIONS(9434),
    [anon_sym_PLUS] = ACTIONS(9436),
    [anon_sym_SLASH] = ACTIONS(9412),
    [anon_sym_PERCENT] = ACTIONS(9412),
    [sym_comment] = ACTIONS(110),
  },
  [3689] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6890),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3197),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3198),
    [sym__variable] = STATE(1383),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4602),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5360),
    [anon_sym_yield] = ACTIONS(5362),
    [anon_sym_break] = ACTIONS(5364),
    [anon_sym_next] = ACTIONS(5366),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8684),
    [anon_sym_defined_QMARK] = ACTIONS(4604),
    [anon_sym_not] = ACTIONS(8686),
    [anon_sym_BANG] = ACTIONS(4610),
    [anon_sym_TILDE] = ACTIONS(4610),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3690] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6891),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3197),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3198),
    [sym__variable] = STATE(1383),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4602),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5360),
    [anon_sym_yield] = ACTIONS(5362),
    [anon_sym_break] = ACTIONS(5364),
    [anon_sym_next] = ACTIONS(5366),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8684),
    [anon_sym_defined_QMARK] = ACTIONS(4604),
    [anon_sym_not] = ACTIONS(8686),
    [anon_sym_BANG] = ACTIONS(4610),
    [anon_sym_TILDE] = ACTIONS(4610),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3691] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6892),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3197),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3198),
    [sym__variable] = STATE(1383),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4602),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5360),
    [anon_sym_yield] = ACTIONS(5362),
    [anon_sym_break] = ACTIONS(5364),
    [anon_sym_next] = ACTIONS(5366),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8684),
    [anon_sym_defined_QMARK] = ACTIONS(4604),
    [anon_sym_not] = ACTIONS(8686),
    [anon_sym_BANG] = ACTIONS(4610),
    [anon_sym_TILDE] = ACTIONS(4610),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3692] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(9444),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_RPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [3693] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(8690),
    [sym__binary_star] = ACTIONS(8692),
    [anon_sym_RPAREN] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(8694),
    [anon_sym_STAR_STAR] = ACTIONS(8696),
    [anon_sym_AMP] = ACTIONS(8698),
    [anon_sym_LT] = ACTIONS(8700),
    [anon_sym_EQ_GT] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(8702),
    [anon_sym_DOT_DOT] = ACTIONS(8704),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8706),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(8708),
    [anon_sym_AMP_AMP] = ACTIONS(8708),
    [anon_sym_LT_LT] = ACTIONS(8710),
    [anon_sym_GT_GT] = ACTIONS(8710),
    [anon_sym_EQ_EQ] = ACTIONS(8712),
    [anon_sym_BANG_EQ] = ACTIONS(8708),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8708),
    [anon_sym_LT_EQ_GT] = ACTIONS(8708),
    [anon_sym_EQ_TILDE] = ACTIONS(8708),
    [anon_sym_BANG_TILDE] = ACTIONS(8708),
    [anon_sym_LT_EQ] = ACTIONS(8700),
    [anon_sym_GT] = ACTIONS(8700),
    [anon_sym_GT_EQ] = ACTIONS(8714),
    [anon_sym_CARET] = ACTIONS(8716),
    [anon_sym_PLUS] = ACTIONS(8718),
    [anon_sym_SLASH] = ACTIONS(8696),
    [anon_sym_PERCENT] = ACTIONS(8696),
    [sym_comment] = ACTIONS(110),
  },
  [3694] = {
    [sym_heredoc_end] = STATE(3004),
    [aux_sym_argument_list_repeat1] = STATE(6895),
    [aux_sym_argument_list_repeat2] = STATE(3005),
    [sym__simple_heredoc_body] = ACTIONS(4410),
    [sym__heredoc_body_beginning] = ACTIONS(4412),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_RPAREN] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(9446),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_STAR_STAR] = ACTIONS(2272),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_EQ_GT] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2272),
    [anon_sym_AMP_AMP] = ACTIONS(2272),
    [anon_sym_LT_LT] = ACTIONS(2272),
    [anon_sym_GT_GT] = ACTIONS(2272),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2272),
    [anon_sym_PLUS] = ACTIONS(2272),
    [anon_sym_SLASH] = ACTIONS(2272),
    [anon_sym_PERCENT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(110),
  },
  [3695] = {
    [sym__keyword_colon] = ACTIONS(9448),
    [sym_comment] = ACTIONS(110),
  },
  [3696] = {
    [sym_string] = STATE(1962),
    [aux_sym_chained_string_repeat1] = STATE(1963),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(9444),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_RPAREN] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(1626),
  },
  [3697] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_RPAREN] = ACTIONS(2870),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(5388),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [3698] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(5382),
    [sym__binary_star] = ACTIONS(5384),
    [anon_sym_RPAREN] = ACTIONS(2870),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(5386),
    [anon_sym_STAR_STAR] = ACTIONS(5388),
    [anon_sym_AMP] = ACTIONS(5390),
    [anon_sym_LT] = ACTIONS(5392),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(5394),
    [anon_sym_DOT_DOT] = ACTIONS(5396),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5398),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(5402),
    [anon_sym_AMP_AMP] = ACTIONS(5402),
    [anon_sym_LT_LT] = ACTIONS(5404),
    [anon_sym_GT_GT] = ACTIONS(5404),
    [anon_sym_EQ_EQ] = ACTIONS(5406),
    [anon_sym_BANG_EQ] = ACTIONS(5402),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5402),
    [anon_sym_LT_EQ_GT] = ACTIONS(5402),
    [anon_sym_EQ_TILDE] = ACTIONS(5402),
    [anon_sym_BANG_TILDE] = ACTIONS(5402),
    [anon_sym_LT_EQ] = ACTIONS(5392),
    [anon_sym_GT] = ACTIONS(5392),
    [anon_sym_GT_EQ] = ACTIONS(5408),
    [anon_sym_CARET] = ACTIONS(5410),
    [anon_sym_PLUS] = ACTIONS(5412),
    [anon_sym_SLASH] = ACTIONS(5388),
    [anon_sym_PERCENT] = ACTIONS(5388),
    [sym_comment] = ACTIONS(110),
  },
  [3699] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6897),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3679),
    [sym_call] = STATE(3679),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(3680),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3681),
    [sym__variable] = STATE(3679),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5342),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5344),
    [anon_sym_yield] = ACTIONS(5346),
    [anon_sym_break] = ACTIONS(5348),
    [anon_sym_next] = ACTIONS(5350),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5352),
    [anon_sym_defined_QMARK] = ACTIONS(5354),
    [anon_sym_not] = ACTIONS(5356),
    [anon_sym_BANG] = ACTIONS(5358),
    [anon_sym_TILDE] = ACTIONS(5358),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3700] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6898),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1386),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1387),
    [sym__variable] = STATE(1383),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2158),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5360),
    [anon_sym_yield] = ACTIONS(5362),
    [anon_sym_break] = ACTIONS(5364),
    [anon_sym_next] = ACTIONS(5366),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2172),
    [anon_sym_defined_QMARK] = ACTIONS(2174),
    [anon_sym_not] = ACTIONS(5368),
    [anon_sym_BANG] = ACTIONS(2178),
    [anon_sym_TILDE] = ACTIONS(2178),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3701] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6899),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1386),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1387),
    [sym__variable] = STATE(1383),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2158),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5360),
    [anon_sym_yield] = ACTIONS(5362),
    [anon_sym_break] = ACTIONS(5364),
    [anon_sym_next] = ACTIONS(5366),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2172),
    [anon_sym_defined_QMARK] = ACTIONS(2174),
    [anon_sym_not] = ACTIONS(5368),
    [anon_sym_BANG] = ACTIONS(2178),
    [anon_sym_TILDE] = ACTIONS(2178),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3702] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6900),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1386),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1387),
    [sym__variable] = STATE(1383),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2158),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5360),
    [anon_sym_yield] = ACTIONS(5362),
    [anon_sym_break] = ACTIONS(5364),
    [anon_sym_next] = ACTIONS(5366),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2172),
    [anon_sym_defined_QMARK] = ACTIONS(2174),
    [anon_sym_not] = ACTIONS(5368),
    [anon_sym_BANG] = ACTIONS(2178),
    [anon_sym_TILDE] = ACTIONS(2178),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3703] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6901),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1386),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1387),
    [sym__variable] = STATE(1383),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2158),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5360),
    [anon_sym_yield] = ACTIONS(5362),
    [anon_sym_break] = ACTIONS(5364),
    [anon_sym_next] = ACTIONS(5366),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2172),
    [anon_sym_defined_QMARK] = ACTIONS(2174),
    [anon_sym_not] = ACTIONS(5368),
    [anon_sym_BANG] = ACTIONS(2178),
    [anon_sym_TILDE] = ACTIONS(2178),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3704] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6902),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1386),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1387),
    [sym__variable] = STATE(1383),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2158),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5360),
    [anon_sym_yield] = ACTIONS(5362),
    [anon_sym_break] = ACTIONS(5364),
    [anon_sym_next] = ACTIONS(5366),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2172),
    [anon_sym_defined_QMARK] = ACTIONS(2174),
    [anon_sym_not] = ACTIONS(5368),
    [anon_sym_BANG] = ACTIONS(2178),
    [anon_sym_TILDE] = ACTIONS(2178),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3705] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6903),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1386),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1387),
    [sym__variable] = STATE(1383),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2158),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5360),
    [anon_sym_yield] = ACTIONS(5362),
    [anon_sym_break] = ACTIONS(5364),
    [anon_sym_next] = ACTIONS(5366),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2172),
    [anon_sym_defined_QMARK] = ACTIONS(2174),
    [anon_sym_not] = ACTIONS(5368),
    [anon_sym_BANG] = ACTIONS(2178),
    [anon_sym_TILDE] = ACTIONS(2178),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3706] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(6904),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [3707] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6905),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1386),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1387),
    [sym__variable] = STATE(1383),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2158),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5360),
    [anon_sym_yield] = ACTIONS(5362),
    [anon_sym_break] = ACTIONS(5364),
    [anon_sym_next] = ACTIONS(5366),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2172),
    [anon_sym_defined_QMARK] = ACTIONS(2174),
    [anon_sym_not] = ACTIONS(5368),
    [anon_sym_BANG] = ACTIONS(2178),
    [anon_sym_TILDE] = ACTIONS(2178),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3708] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6906),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1386),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1387),
    [sym__variable] = STATE(1383),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2158),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5360),
    [anon_sym_yield] = ACTIONS(5362),
    [anon_sym_break] = ACTIONS(5364),
    [anon_sym_next] = ACTIONS(5366),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2172),
    [anon_sym_defined_QMARK] = ACTIONS(2174),
    [anon_sym_not] = ACTIONS(5368),
    [anon_sym_BANG] = ACTIONS(2178),
    [anon_sym_TILDE] = ACTIONS(2178),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3709] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6907),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1386),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1387),
    [sym__variable] = STATE(1383),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2158),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5360),
    [anon_sym_yield] = ACTIONS(5362),
    [anon_sym_break] = ACTIONS(5364),
    [anon_sym_next] = ACTIONS(5366),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2172),
    [anon_sym_defined_QMARK] = ACTIONS(2174),
    [anon_sym_not] = ACTIONS(5368),
    [anon_sym_BANG] = ACTIONS(2178),
    [anon_sym_TILDE] = ACTIONS(2178),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3710] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6908),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1386),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1387),
    [sym__variable] = STATE(1383),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2158),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5360),
    [anon_sym_yield] = ACTIONS(5362),
    [anon_sym_break] = ACTIONS(5364),
    [anon_sym_next] = ACTIONS(5366),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2172),
    [anon_sym_defined_QMARK] = ACTIONS(2174),
    [anon_sym_not] = ACTIONS(5368),
    [anon_sym_BANG] = ACTIONS(2178),
    [anon_sym_TILDE] = ACTIONS(2178),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3711] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6909),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1386),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1387),
    [sym__variable] = STATE(1383),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2158),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5360),
    [anon_sym_yield] = ACTIONS(5362),
    [anon_sym_break] = ACTIONS(5364),
    [anon_sym_next] = ACTIONS(5366),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2172),
    [anon_sym_defined_QMARK] = ACTIONS(2174),
    [anon_sym_not] = ACTIONS(5368),
    [anon_sym_BANG] = ACTIONS(2178),
    [anon_sym_TILDE] = ACTIONS(2178),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3712] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(6910),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(3239),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3240),
    [sym__variable] = STATE(3235),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(4660),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(8762),
    [anon_sym_yield] = ACTIONS(8764),
    [anon_sym_break] = ACTIONS(8766),
    [anon_sym_next] = ACTIONS(8768),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(8770),
    [anon_sym_defined_QMARK] = ACTIONS(4674),
    [anon_sym_not] = ACTIONS(8772),
    [anon_sym_BANG] = ACTIONS(4680),
    [anon_sym_TILDE] = ACTIONS(4680),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [3713] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(6911),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(3239),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3240),
    [sym__variable] = STATE(3235),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(4660),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(8762),
    [anon_sym_yield] = ACTIONS(8764),
    [anon_sym_break] = ACTIONS(8766),
    [anon_sym_next] = ACTIONS(8768),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(8770),
    [anon_sym_defined_QMARK] = ACTIONS(4674),
    [anon_sym_not] = ACTIONS(8772),
    [anon_sym_BANG] = ACTIONS(4680),
    [anon_sym_TILDE] = ACTIONS(4680),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [3714] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(6912),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(3239),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3240),
    [sym__variable] = STATE(3235),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(4660),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(8762),
    [anon_sym_yield] = ACTIONS(8764),
    [anon_sym_break] = ACTIONS(8766),
    [anon_sym_next] = ACTIONS(8768),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(8770),
    [anon_sym_defined_QMARK] = ACTIONS(4674),
    [anon_sym_not] = ACTIONS(8772),
    [anon_sym_BANG] = ACTIONS(4680),
    [anon_sym_TILDE] = ACTIONS(4680),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [3715] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(9450),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_RPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [3716] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(8778),
    [sym__binary_star] = ACTIONS(8780),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_RPAREN] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(8782),
    [anon_sym_STAR_STAR] = ACTIONS(8784),
    [anon_sym_AMP] = ACTIONS(8786),
    [anon_sym_EQ] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(8788),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_PLUS_EQ] = ACTIONS(2210),
    [anon_sym_DASH_EQ] = ACTIONS(2210),
    [anon_sym_STAR_EQ] = ACTIONS(2210),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2210),
    [anon_sym_SLASH_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2210),
    [anon_sym_AMP_EQ] = ACTIONS(2210),
    [anon_sym_PERCENT_EQ] = ACTIONS(2210),
    [anon_sym_GT_GT_EQ] = ACTIONS(2210),
    [anon_sym_LT_LT_EQ] = ACTIONS(2210),
    [anon_sym_CARET_EQ] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(8790),
    [anon_sym_DOT_DOT] = ACTIONS(8792),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8794),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(8796),
    [anon_sym_AMP_AMP] = ACTIONS(8796),
    [anon_sym_LT_LT] = ACTIONS(8798),
    [anon_sym_GT_GT] = ACTIONS(8798),
    [anon_sym_EQ_EQ] = ACTIONS(8796),
    [anon_sym_BANG_EQ] = ACTIONS(8800),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8800),
    [anon_sym_LT_EQ_GT] = ACTIONS(8800),
    [anon_sym_EQ_TILDE] = ACTIONS(8800),
    [anon_sym_BANG_TILDE] = ACTIONS(8800),
    [anon_sym_LT_EQ] = ACTIONS(8788),
    [anon_sym_GT] = ACTIONS(8788),
    [anon_sym_GT_EQ] = ACTIONS(8802),
    [anon_sym_CARET] = ACTIONS(8782),
    [anon_sym_PLUS] = ACTIONS(8804),
    [anon_sym_SLASH] = ACTIONS(8784),
    [anon_sym_PERCENT] = ACTIONS(8784),
    [sym_comment] = ACTIONS(256),
  },
  [3717] = {
    [sym_heredoc_end] = STATE(3153),
    [aux_sym_argument_list_repeat1] = STATE(6915),
    [aux_sym_argument_list_repeat2] = STATE(3154),
    [sym__simple_heredoc_body] = ACTIONS(4552),
    [sym__heredoc_body_beginning] = ACTIONS(4554),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_RPAREN] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(9452),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_STAR_STAR] = ACTIONS(2274),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_EQ] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_EQ_GT] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_PLUS_EQ] = ACTIONS(2272),
    [anon_sym_DASH_EQ] = ACTIONS(2272),
    [anon_sym_STAR_EQ] = ACTIONS(2272),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2272),
    [anon_sym_SLASH_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2272),
    [anon_sym_AMP_EQ] = ACTIONS(2272),
    [anon_sym_PERCENT_EQ] = ACTIONS(2272),
    [anon_sym_GT_GT_EQ] = ACTIONS(2272),
    [anon_sym_LT_LT_EQ] = ACTIONS(2272),
    [anon_sym_CARET_EQ] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2274),
    [anon_sym_AMP_AMP] = ACTIONS(2274),
    [anon_sym_LT_LT] = ACTIONS(2274),
    [anon_sym_GT_GT] = ACTIONS(2274),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2274),
    [anon_sym_PLUS] = ACTIONS(2274),
    [anon_sym_SLASH] = ACTIONS(2274),
    [anon_sym_PERCENT] = ACTIONS(2274),
    [sym_comment] = ACTIONS(256),
  },
  [3718] = {
    [sym__keyword_colon] = ACTIONS(9454),
    [sym_comment] = ACTIONS(110),
  },
  [3719] = {
    [sym_string] = STATE(3160),
    [aux_sym_chained_string_repeat1] = STATE(3161),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(9450),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_RPAREN] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(4490),
  },
  [3720] = {
    [sym__simple_heredoc_body] = ACTIONS(9456),
    [sym__heredoc_body_beginning] = ACTIONS(9456),
    [sym__line_break] = ACTIONS(9456),
    [sym__element_reference_left_bracket] = ACTIONS(9456),
    [sym__scope_double_colon] = ACTIONS(9456),
    [sym__binary_minus] = ACTIONS(9456),
    [sym__binary_star] = ACTIONS(9456),
    [ts_builtin_sym_end] = ACTIONS(9456),
    [anon_sym___END__] = ACTIONS(9456),
    [anon_sym_LBRACE] = ACTIONS(9456),
    [anon_sym_RBRACE] = ACTIONS(9456),
    [anon_sym_RPAREN] = ACTIONS(9456),
    [anon_sym_DOT] = ACTIONS(9458),
    [anon_sym_end] = ACTIONS(9456),
    [anon_sym_COMMA] = ACTIONS(9456),
    [anon_sym_PIPE] = ACTIONS(9458),
    [anon_sym_SEMI] = ACTIONS(9456),
    [anon_sym_STAR_STAR] = ACTIONS(9456),
    [anon_sym_AMP] = ACTIONS(9458),
    [anon_sym_LT] = ACTIONS(9458),
    [anon_sym_if] = ACTIONS(9456),
    [anon_sym_unless] = ACTIONS(9456),
    [anon_sym_while] = ACTIONS(9456),
    [anon_sym_until] = ACTIONS(9456),
    [anon_sym_rescue] = ACTIONS(9456),
    [anon_sym_do] = ACTIONS(9456),
    [anon_sym_when] = ACTIONS(9456),
    [anon_sym_elsif] = ACTIONS(9456),
    [anon_sym_else] = ACTIONS(9456),
    [anon_sym_then] = ACTIONS(9456),
    [anon_sym_ensure] = ACTIONS(9456),
    [anon_sym_EQ_GT] = ACTIONS(9456),
    [anon_sym_AMP_DOT] = ACTIONS(9456),
    [anon_sym_QMARK] = ACTIONS(9456),
    [anon_sym_DOT_DOT] = ACTIONS(9458),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9456),
    [anon_sym_and] = ACTIONS(9456),
    [anon_sym_or] = ACTIONS(9456),
    [anon_sym_PIPE_PIPE] = ACTIONS(9456),
    [anon_sym_AMP_AMP] = ACTIONS(9456),
    [anon_sym_LT_LT] = ACTIONS(9456),
    [anon_sym_GT_GT] = ACTIONS(9456),
    [anon_sym_EQ_EQ] = ACTIONS(9458),
    [anon_sym_BANG_EQ] = ACTIONS(9456),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9456),
    [anon_sym_LT_EQ_GT] = ACTIONS(9456),
    [anon_sym_EQ_TILDE] = ACTIONS(9456),
    [anon_sym_BANG_TILDE] = ACTIONS(9456),
    [anon_sym_LT_EQ] = ACTIONS(9458),
    [anon_sym_GT] = ACTIONS(9458),
    [anon_sym_GT_EQ] = ACTIONS(9456),
    [anon_sym_CARET] = ACTIONS(9456),
    [anon_sym_PLUS] = ACTIONS(9456),
    [anon_sym_SLASH] = ACTIONS(9456),
    [anon_sym_PERCENT] = ACTIONS(9456),
    [sym_comment] = ACTIONS(110),
  },
  [3721] = {
    [anon_sym_RPAREN] = ACTIONS(9460),
    [sym_comment] = ACTIONS(110),
  },
  [3722] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1382),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(4786),
    [sym__argument] = STATE(1385),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1386),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1387),
    [sym__variable] = STATE(1383),
    [sym_reserved_identifier] = STATE(1388),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1389),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(6918),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(6894),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(6896),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(2154),
    [sym__splat_star] = ACTIONS(2156),
    [sym__unary_minus] = ACTIONS(2158),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(6898),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2162),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2164),
    [anon_sym_yield] = ACTIONS(2166),
    [anon_sym_break] = ACTIONS(2168),
    [anon_sym_next] = ACTIONS(2170),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2172),
    [anon_sym_defined_QMARK] = ACTIONS(2174),
    [anon_sym_not] = ACTIONS(2176),
    [anon_sym_BANG] = ACTIONS(2178),
    [anon_sym_TILDE] = ACTIONS(2178),
    [sym_constant] = ACTIONS(2180),
    [sym_identifier] = ACTIONS(2180),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3723] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6920),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_splat_argument] = STATE(4790),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_right_assignment_list] = STATE(4791),
    [sym__arg_or_splat_arg] = STATE(6921),
    [sym_left_assignment_list] = STATE(1386),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1387),
    [sym__variable] = STATE(1383),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__splat_star] = ACTIONS(9462),
    [sym__unary_minus] = ACTIONS(2158),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5360),
    [anon_sym_yield] = ACTIONS(5362),
    [anon_sym_break] = ACTIONS(5364),
    [anon_sym_next] = ACTIONS(5366),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2172),
    [anon_sym_defined_QMARK] = ACTIONS(2174),
    [anon_sym_not] = ACTIONS(5368),
    [anon_sym_BANG] = ACTIONS(2178),
    [anon_sym_TILDE] = ACTIONS(2178),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3724] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6922),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1386),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1387),
    [sym__variable] = STATE(1383),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2158),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5360),
    [anon_sym_yield] = ACTIONS(5362),
    [anon_sym_break] = ACTIONS(5364),
    [anon_sym_next] = ACTIONS(5366),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2172),
    [anon_sym_defined_QMARK] = ACTIONS(2174),
    [anon_sym_not] = ACTIONS(5368),
    [anon_sym_BANG] = ACTIONS(2178),
    [anon_sym_TILDE] = ACTIONS(2178),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3725] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6923),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3679),
    [sym_call] = STATE(3679),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(3680),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3681),
    [sym__variable] = STATE(3679),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5342),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5344),
    [anon_sym_yield] = ACTIONS(5346),
    [anon_sym_break] = ACTIONS(5348),
    [anon_sym_next] = ACTIONS(5350),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5352),
    [anon_sym_defined_QMARK] = ACTIONS(5354),
    [anon_sym_not] = ACTIONS(5356),
    [anon_sym_BANG] = ACTIONS(5358),
    [anon_sym_TILDE] = ACTIONS(5358),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3726] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__line_break] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(2212),
    [sym__binary_star] = ACTIONS(2214),
    [ts_builtin_sym_end] = ACTIONS(5298),
    [anon_sym___END__] = ACTIONS(5298),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(2218),
    [anon_sym_SEMI] = ACTIONS(5298),
    [anon_sym_STAR_STAR] = ACTIONS(2220),
    [anon_sym_AMP] = ACTIONS(2222),
    [anon_sym_LT] = ACTIONS(2224),
    [anon_sym_if] = ACTIONS(5298),
    [anon_sym_unless] = ACTIONS(5298),
    [anon_sym_while] = ACTIONS(5298),
    [anon_sym_until] = ACTIONS(5298),
    [anon_sym_rescue] = ACTIONS(5298),
    [anon_sym_EQ_GT] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(2226),
    [anon_sym_DOT_DOT] = ACTIONS(2228),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2230),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(2232),
    [anon_sym_AMP_AMP] = ACTIONS(2232),
    [anon_sym_LT_LT] = ACTIONS(2234),
    [anon_sym_GT_GT] = ACTIONS(2234),
    [anon_sym_EQ_EQ] = ACTIONS(2236),
    [anon_sym_BANG_EQ] = ACTIONS(2232),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2232),
    [anon_sym_LT_EQ_GT] = ACTIONS(2232),
    [anon_sym_EQ_TILDE] = ACTIONS(2232),
    [anon_sym_BANG_TILDE] = ACTIONS(2232),
    [anon_sym_LT_EQ] = ACTIONS(2224),
    [anon_sym_GT] = ACTIONS(2224),
    [anon_sym_GT_EQ] = ACTIONS(2238),
    [anon_sym_CARET] = ACTIONS(2240),
    [anon_sym_PLUS] = ACTIONS(2242),
    [anon_sym_SLASH] = ACTIONS(2220),
    [anon_sym_PERCENT] = ACTIONS(2220),
    [sym_comment] = ACTIONS(110),
  },
  [3727] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__line_break] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(2212),
    [sym__binary_star] = ACTIONS(2214),
    [ts_builtin_sym_end] = ACTIONS(5338),
    [anon_sym___END__] = ACTIONS(5338),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(2218),
    [anon_sym_SEMI] = ACTIONS(5338),
    [anon_sym_STAR_STAR] = ACTIONS(2220),
    [anon_sym_AMP] = ACTIONS(2222),
    [anon_sym_LT] = ACTIONS(2224),
    [anon_sym_if] = ACTIONS(5338),
    [anon_sym_unless] = ACTIONS(5338),
    [anon_sym_while] = ACTIONS(5338),
    [anon_sym_until] = ACTIONS(5338),
    [anon_sym_rescue] = ACTIONS(5338),
    [anon_sym_EQ_GT] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(2226),
    [anon_sym_DOT_DOT] = ACTIONS(2228),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2230),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(2232),
    [anon_sym_AMP_AMP] = ACTIONS(2232),
    [anon_sym_LT_LT] = ACTIONS(2234),
    [anon_sym_GT_GT] = ACTIONS(2234),
    [anon_sym_EQ_EQ] = ACTIONS(2236),
    [anon_sym_BANG_EQ] = ACTIONS(2232),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2232),
    [anon_sym_LT_EQ_GT] = ACTIONS(2232),
    [anon_sym_EQ_TILDE] = ACTIONS(2232),
    [anon_sym_BANG_TILDE] = ACTIONS(2232),
    [anon_sym_LT_EQ] = ACTIONS(2224),
    [anon_sym_GT] = ACTIONS(2224),
    [anon_sym_GT_EQ] = ACTIONS(2238),
    [anon_sym_CARET] = ACTIONS(2240),
    [anon_sym_PLUS] = ACTIONS(2242),
    [anon_sym_SLASH] = ACTIONS(2220),
    [anon_sym_PERCENT] = ACTIONS(2220),
    [sym_comment] = ACTIONS(110),
  },
  [3728] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__line_break] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(2212),
    [sym__binary_star] = ACTIONS(2214),
    [ts_builtin_sym_end] = ACTIONS(4284),
    [anon_sym___END__] = ACTIONS(4284),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(2218),
    [anon_sym_SEMI] = ACTIONS(4284),
    [anon_sym_STAR_STAR] = ACTIONS(2220),
    [anon_sym_AMP] = ACTIONS(2222),
    [anon_sym_LT] = ACTIONS(2224),
    [anon_sym_if] = ACTIONS(4284),
    [anon_sym_unless] = ACTIONS(4284),
    [anon_sym_while] = ACTIONS(4284),
    [anon_sym_until] = ACTIONS(4284),
    [anon_sym_rescue] = ACTIONS(4284),
    [anon_sym_EQ_GT] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(2226),
    [anon_sym_DOT_DOT] = ACTIONS(2228),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2230),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(2232),
    [anon_sym_AMP_AMP] = ACTIONS(2232),
    [anon_sym_LT_LT] = ACTIONS(2234),
    [anon_sym_GT_GT] = ACTIONS(2234),
    [anon_sym_EQ_EQ] = ACTIONS(2236),
    [anon_sym_BANG_EQ] = ACTIONS(2232),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2232),
    [anon_sym_LT_EQ_GT] = ACTIONS(2232),
    [anon_sym_EQ_TILDE] = ACTIONS(2232),
    [anon_sym_BANG_TILDE] = ACTIONS(2232),
    [anon_sym_LT_EQ] = ACTIONS(2224),
    [anon_sym_GT] = ACTIONS(2224),
    [anon_sym_GT_EQ] = ACTIONS(2238),
    [anon_sym_CARET] = ACTIONS(2240),
    [anon_sym_PLUS] = ACTIONS(2242),
    [anon_sym_SLASH] = ACTIONS(2220),
    [anon_sym_PERCENT] = ACTIONS(2220),
    [sym_comment] = ACTIONS(110),
  },
  [3729] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6924),
    [sym__primary] = STATE(337),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(339),
    [sym_call] = STATE(339),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(345),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(346),
    [sym__variable] = STATE(339),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(542),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2182),
    [anon_sym_yield] = ACTIONS(2184),
    [anon_sym_break] = ACTIONS(2186),
    [anon_sym_next] = ACTIONS(2188),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2190),
    [anon_sym_defined_QMARK] = ACTIONS(572),
    [anon_sym_not] = ACTIONS(2192),
    [anon_sym_BANG] = ACTIONS(578),
    [anon_sym_TILDE] = ACTIONS(578),
    [sym_constant] = ACTIONS(2194),
    [sym_identifier] = ACTIONS(2194),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2196),
    [anon_sym_super] = ACTIONS(2198),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3730] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1404),
    [sym__primary] = STATE(337),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(339),
    [sym_call] = STATE(339),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(3780),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(345),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(346),
    [sym__variable] = STATE(339),
    [sym_reserved_identifier] = STATE(1406),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(1407),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(6925),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__block_ampersand] = ACTIONS(2202),
    [sym__splat_star] = ACTIONS(2204),
    [sym__unary_minus] = ACTIONS(542),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(9464),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(554),
    [anon_sym_yield] = ACTIONS(556),
    [anon_sym_break] = ACTIONS(558),
    [anon_sym_next] = ACTIONS(560),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2190),
    [anon_sym_defined_QMARK] = ACTIONS(572),
    [anon_sym_not] = ACTIONS(574),
    [anon_sym_BANG] = ACTIONS(578),
    [anon_sym_TILDE] = ACTIONS(578),
    [sym_constant] = ACTIONS(2206),
    [sym_identifier] = ACTIONS(2206),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(588),
    [anon_sym_super] = ACTIONS(590),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3731] = {
    [sym_heredoc_end] = STATE(1444),
    [aux_sym_argument_list_repeat2] = STATE(3783),
    [sym__simple_heredoc_body] = ACTIONS(2268),
    [sym__heredoc_body_beginning] = ACTIONS(2270),
    [sym__line_break] = ACTIONS(5472),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [ts_builtin_sym_end] = ACTIONS(5472),
    [anon_sym___END__] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(9466),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_SEMI] = ACTIONS(5472),
    [anon_sym_STAR_STAR] = ACTIONS(5472),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_if] = ACTIONS(5472),
    [anon_sym_unless] = ACTIONS(5472),
    [anon_sym_while] = ACTIONS(5472),
    [anon_sym_until] = ACTIONS(5472),
    [anon_sym_rescue] = ACTIONS(5472),
    [anon_sym_EQ_GT] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5472),
    [anon_sym_AMP_AMP] = ACTIONS(5472),
    [anon_sym_LT_LT] = ACTIONS(5472),
    [anon_sym_GT_GT] = ACTIONS(5472),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5472),
    [anon_sym_PLUS] = ACTIONS(5472),
    [anon_sym_SLASH] = ACTIONS(5472),
    [anon_sym_PERCENT] = ACTIONS(5472),
    [sym_comment] = ACTIONS(110),
  },
  [3732] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6927),
    [sym__primary] = STATE(337),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(339),
    [sym_call] = STATE(339),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(345),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(346),
    [sym__variable] = STATE(339),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(542),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2182),
    [anon_sym_yield] = ACTIONS(2184),
    [anon_sym_break] = ACTIONS(2186),
    [anon_sym_next] = ACTIONS(2188),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2190),
    [anon_sym_defined_QMARK] = ACTIONS(572),
    [anon_sym_not] = ACTIONS(2192),
    [anon_sym_BANG] = ACTIONS(578),
    [anon_sym_TILDE] = ACTIONS(578),
    [sym_constant] = ACTIONS(2194),
    [sym_identifier] = ACTIONS(2194),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2196),
    [anon_sym_super] = ACTIONS(2198),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3733] = {
    [sym__simple_heredoc_body] = ACTIONS(8568),
    [sym__heredoc_body_beginning] = ACTIONS(8568),
    [sym__line_break] = ACTIONS(8568),
    [sym__element_reference_left_bracket] = ACTIONS(8568),
    [sym__scope_double_colon] = ACTIONS(8568),
    [sym__binary_minus] = ACTIONS(5300),
    [sym__binary_star] = ACTIONS(5302),
    [ts_builtin_sym_end] = ACTIONS(8568),
    [anon_sym___END__] = ACTIONS(8568),
    [anon_sym_DOT] = ACTIONS(9468),
    [anon_sym_COMMA] = ACTIONS(8568),
    [anon_sym_PIPE] = ACTIONS(5306),
    [anon_sym_SEMI] = ACTIONS(8568),
    [anon_sym_STAR_STAR] = ACTIONS(5308),
    [anon_sym_AMP] = ACTIONS(5310),
    [anon_sym_LT] = ACTIONS(5312),
    [anon_sym_if] = ACTIONS(8568),
    [anon_sym_unless] = ACTIONS(8568),
    [anon_sym_while] = ACTIONS(8568),
    [anon_sym_until] = ACTIONS(8568),
    [anon_sym_rescue] = ACTIONS(8568),
    [anon_sym_AMP_DOT] = ACTIONS(8568),
    [anon_sym_QMARK] = ACTIONS(5314),
    [anon_sym_DOT_DOT] = ACTIONS(5316),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5318),
    [anon_sym_and] = ACTIONS(8568),
    [anon_sym_or] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE] = ACTIONS(5320),
    [anon_sym_AMP_AMP] = ACTIONS(5320),
    [anon_sym_LT_LT] = ACTIONS(5322),
    [anon_sym_GT_GT] = ACTIONS(5322),
    [anon_sym_EQ_EQ] = ACTIONS(5324),
    [anon_sym_BANG_EQ] = ACTIONS(5320),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5320),
    [anon_sym_LT_EQ_GT] = ACTIONS(5320),
    [anon_sym_EQ_TILDE] = ACTIONS(5320),
    [anon_sym_BANG_TILDE] = ACTIONS(5320),
    [anon_sym_LT_EQ] = ACTIONS(5312),
    [anon_sym_GT] = ACTIONS(5312),
    [anon_sym_GT_EQ] = ACTIONS(5326),
    [anon_sym_CARET] = ACTIONS(5328),
    [anon_sym_PLUS] = ACTIONS(5330),
    [anon_sym_SLASH] = ACTIONS(5308),
    [anon_sym_PERCENT] = ACTIONS(5308),
    [sym_comment] = ACTIONS(110),
  },
  [3734] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__line_break] = ACTIONS(7008),
    [sym__element_reference_left_bracket] = ACTIONS(7008),
    [sym__scope_double_colon] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(2214),
    [ts_builtin_sym_end] = ACTIONS(7008),
    [anon_sym___END__] = ACTIONS(7008),
    [anon_sym_DOT] = ACTIONS(7010),
    [anon_sym_COMMA] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_SEMI] = ACTIONS(7008),
    [anon_sym_STAR_STAR] = ACTIONS(2220),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_if] = ACTIONS(7008),
    [anon_sym_unless] = ACTIONS(7008),
    [anon_sym_while] = ACTIONS(7008),
    [anon_sym_until] = ACTIONS(7008),
    [anon_sym_rescue] = ACTIONS(7008),
    [anon_sym_EQ_GT] = ACTIONS(7008),
    [anon_sym_AMP_DOT] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7008),
    [anon_sym_AMP_AMP] = ACTIONS(7008),
    [anon_sym_LT_LT] = ACTIONS(7008),
    [anon_sym_GT_GT] = ACTIONS(7008),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7008),
    [anon_sym_PLUS] = ACTIONS(7008),
    [anon_sym_SLASH] = ACTIONS(2220),
    [anon_sym_PERCENT] = ACTIONS(2220),
    [sym_comment] = ACTIONS(110),
  },
  [3735] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__line_break] = ACTIONS(7012),
    [sym__element_reference_left_bracket] = ACTIONS(7012),
    [sym__scope_double_colon] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [ts_builtin_sym_end] = ACTIONS(7012),
    [anon_sym___END__] = ACTIONS(7012),
    [anon_sym_DOT] = ACTIONS(7014),
    [anon_sym_COMMA] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_SEMI] = ACTIONS(7012),
    [anon_sym_STAR_STAR] = ACTIONS(2220),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_if] = ACTIONS(7012),
    [anon_sym_unless] = ACTIONS(7012),
    [anon_sym_while] = ACTIONS(7012),
    [anon_sym_until] = ACTIONS(7012),
    [anon_sym_rescue] = ACTIONS(7012),
    [anon_sym_EQ_GT] = ACTIONS(7012),
    [anon_sym_AMP_DOT] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7012),
    [anon_sym_AMP_AMP] = ACTIONS(7012),
    [anon_sym_LT_LT] = ACTIONS(7012),
    [anon_sym_GT_GT] = ACTIONS(7012),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7012),
    [anon_sym_PLUS] = ACTIONS(7012),
    [anon_sym_SLASH] = ACTIONS(7012),
    [anon_sym_PERCENT] = ACTIONS(7012),
    [sym_comment] = ACTIONS(110),
  },
  [3736] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(2212),
    [sym__binary_star] = ACTIONS(2214),
    [ts_builtin_sym_end] = ACTIONS(7016),
    [anon_sym___END__] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(2220),
    [anon_sym_AMP] = ACTIONS(2222),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(2234),
    [anon_sym_GT_GT] = ACTIONS(2234),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(2242),
    [anon_sym_SLASH] = ACTIONS(2220),
    [anon_sym_PERCENT] = ACTIONS(2220),
    [sym_comment] = ACTIONS(110),
  },
  [3737] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [ts_builtin_sym_end] = ACTIONS(7016),
    [anon_sym___END__] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(2220),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7016),
    [anon_sym_PERCENT] = ACTIONS(7016),
    [sym_comment] = ACTIONS(110),
  },
  [3738] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(2212),
    [sym__binary_star] = ACTIONS(2214),
    [ts_builtin_sym_end] = ACTIONS(7016),
    [anon_sym___END__] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(2220),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(2234),
    [anon_sym_GT_GT] = ACTIONS(2234),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(2242),
    [anon_sym_SLASH] = ACTIONS(2220),
    [anon_sym_PERCENT] = ACTIONS(2220),
    [sym_comment] = ACTIONS(110),
  },
  [3739] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(2212),
    [sym__binary_star] = ACTIONS(2214),
    [ts_builtin_sym_end] = ACTIONS(7016),
    [anon_sym___END__] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(2218),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(2220),
    [anon_sym_AMP] = ACTIONS(2222),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(2234),
    [anon_sym_GT_GT] = ACTIONS(2234),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(2240),
    [anon_sym_PLUS] = ACTIONS(2242),
    [anon_sym_SLASH] = ACTIONS(2220),
    [anon_sym_PERCENT] = ACTIONS(2220),
    [sym_comment] = ACTIONS(110),
  },
  [3740] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(9470),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [3741] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__line_break] = ACTIONS(7108),
    [sym__element_reference_left_bracket] = ACTIONS(7108),
    [sym__scope_double_colon] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(2212),
    [sym__binary_star] = ACTIONS(2214),
    [ts_builtin_sym_end] = ACTIONS(7108),
    [anon_sym___END__] = ACTIONS(7108),
    [anon_sym_DOT] = ACTIONS(9472),
    [anon_sym_COMMA] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(2218),
    [anon_sym_SEMI] = ACTIONS(7108),
    [anon_sym_STAR_STAR] = ACTIONS(2220),
    [anon_sym_AMP] = ACTIONS(2222),
    [anon_sym_LT] = ACTIONS(2224),
    [anon_sym_if] = ACTIONS(7108),
    [anon_sym_unless] = ACTIONS(7108),
    [anon_sym_while] = ACTIONS(7108),
    [anon_sym_until] = ACTIONS(7108),
    [anon_sym_rescue] = ACTIONS(7108),
    [anon_sym_EQ_GT] = ACTIONS(7108),
    [anon_sym_AMP_DOT] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(2228),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2230),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(2232),
    [anon_sym_AMP_AMP] = ACTIONS(2232),
    [anon_sym_LT_LT] = ACTIONS(2234),
    [anon_sym_GT_GT] = ACTIONS(2234),
    [anon_sym_EQ_EQ] = ACTIONS(2236),
    [anon_sym_BANG_EQ] = ACTIONS(2232),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2232),
    [anon_sym_LT_EQ_GT] = ACTIONS(2232),
    [anon_sym_EQ_TILDE] = ACTIONS(2232),
    [anon_sym_BANG_TILDE] = ACTIONS(2232),
    [anon_sym_LT_EQ] = ACTIONS(2224),
    [anon_sym_GT] = ACTIONS(2224),
    [anon_sym_GT_EQ] = ACTIONS(2238),
    [anon_sym_CARET] = ACTIONS(2240),
    [anon_sym_PLUS] = ACTIONS(2242),
    [anon_sym_SLASH] = ACTIONS(2220),
    [anon_sym_PERCENT] = ACTIONS(2220),
    [sym_comment] = ACTIONS(110),
  },
  [3742] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(2212),
    [sym__binary_star] = ACTIONS(2214),
    [ts_builtin_sym_end] = ACTIONS(7016),
    [anon_sym___END__] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(2218),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(2220),
    [anon_sym_AMP] = ACTIONS(2222),
    [anon_sym_LT] = ACTIONS(2224),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(2226),
    [anon_sym_DOT_DOT] = ACTIONS(2228),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2230),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(2232),
    [anon_sym_AMP_AMP] = ACTIONS(2232),
    [anon_sym_LT_LT] = ACTIONS(2234),
    [anon_sym_GT_GT] = ACTIONS(2234),
    [anon_sym_EQ_EQ] = ACTIONS(2236),
    [anon_sym_BANG_EQ] = ACTIONS(2232),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2232),
    [anon_sym_LT_EQ_GT] = ACTIONS(2232),
    [anon_sym_EQ_TILDE] = ACTIONS(2232),
    [anon_sym_BANG_TILDE] = ACTIONS(2232),
    [anon_sym_LT_EQ] = ACTIONS(2224),
    [anon_sym_GT] = ACTIONS(2224),
    [anon_sym_GT_EQ] = ACTIONS(2238),
    [anon_sym_CARET] = ACTIONS(2240),
    [anon_sym_PLUS] = ACTIONS(2242),
    [anon_sym_SLASH] = ACTIONS(2220),
    [anon_sym_PERCENT] = ACTIONS(2220),
    [sym_comment] = ACTIONS(110),
  },
  [3743] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(2212),
    [sym__binary_star] = ACTIONS(2214),
    [ts_builtin_sym_end] = ACTIONS(7016),
    [anon_sym___END__] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(2218),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(2220),
    [anon_sym_AMP] = ACTIONS(2222),
    [anon_sym_LT] = ACTIONS(2224),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(2234),
    [anon_sym_GT_GT] = ACTIONS(2234),
    [anon_sym_EQ_EQ] = ACTIONS(2236),
    [anon_sym_BANG_EQ] = ACTIONS(2232),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2232),
    [anon_sym_LT_EQ_GT] = ACTIONS(2232),
    [anon_sym_EQ_TILDE] = ACTIONS(2232),
    [anon_sym_BANG_TILDE] = ACTIONS(2232),
    [anon_sym_LT_EQ] = ACTIONS(2224),
    [anon_sym_GT] = ACTIONS(2224),
    [anon_sym_GT_EQ] = ACTIONS(2238),
    [anon_sym_CARET] = ACTIONS(2240),
    [anon_sym_PLUS] = ACTIONS(2242),
    [anon_sym_SLASH] = ACTIONS(2220),
    [anon_sym_PERCENT] = ACTIONS(2220),
    [sym_comment] = ACTIONS(110),
  },
  [3744] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(2212),
    [sym__binary_star] = ACTIONS(2214),
    [ts_builtin_sym_end] = ACTIONS(7016),
    [anon_sym___END__] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(2220),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(2242),
    [anon_sym_SLASH] = ACTIONS(2220),
    [anon_sym_PERCENT] = ACTIONS(2220),
    [sym_comment] = ACTIONS(110),
  },
  [3745] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(2214),
    [ts_builtin_sym_end] = ACTIONS(7016),
    [anon_sym___END__] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(2220),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(2220),
    [anon_sym_PERCENT] = ACTIONS(2220),
    [sym_comment] = ACTIONS(110),
  },
  [3746] = {
    [sym__simple_heredoc_body] = ACTIONS(7110),
    [sym__heredoc_body_beginning] = ACTIONS(7110),
    [sym__line_break] = ACTIONS(7110),
    [sym__element_reference_left_bracket] = ACTIONS(7110),
    [sym__scope_double_colon] = ACTIONS(7110),
    [sym__binary_minus] = ACTIONS(7110),
    [sym__binary_star] = ACTIONS(7110),
    [ts_builtin_sym_end] = ACTIONS(7110),
    [anon_sym___END__] = ACTIONS(7110),
    [anon_sym_LBRACE] = ACTIONS(7110),
    [anon_sym_RBRACE] = ACTIONS(7110),
    [anon_sym_RPAREN] = ACTIONS(7110),
    [anon_sym_DOT] = ACTIONS(7112),
    [anon_sym_end] = ACTIONS(7110),
    [anon_sym_COMMA] = ACTIONS(7110),
    [anon_sym_PIPE] = ACTIONS(7112),
    [anon_sym_SEMI] = ACTIONS(7110),
    [anon_sym_STAR_STAR] = ACTIONS(7112),
    [anon_sym_AMP] = ACTIONS(7112),
    [anon_sym_EQ] = ACTIONS(7112),
    [anon_sym_LT] = ACTIONS(7112),
    [anon_sym_if] = ACTIONS(7110),
    [anon_sym_unless] = ACTIONS(7110),
    [anon_sym_while] = ACTIONS(7110),
    [anon_sym_until] = ACTIONS(7110),
    [anon_sym_rescue] = ACTIONS(7110),
    [anon_sym_do] = ACTIONS(7110),
    [anon_sym_when] = ACTIONS(7110),
    [anon_sym_elsif] = ACTIONS(7110),
    [anon_sym_else] = ACTIONS(7110),
    [anon_sym_then] = ACTIONS(7110),
    [anon_sym_ensure] = ACTIONS(7110),
    [anon_sym_EQ_GT] = ACTIONS(7110),
    [anon_sym_AMP_DOT] = ACTIONS(7110),
    [anon_sym_PLUS_EQ] = ACTIONS(7110),
    [anon_sym_DASH_EQ] = ACTIONS(7110),
    [anon_sym_STAR_EQ] = ACTIONS(7110),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7110),
    [anon_sym_SLASH_EQ] = ACTIONS(7110),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7110),
    [anon_sym_PIPE_EQ] = ACTIONS(7110),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7110),
    [anon_sym_AMP_EQ] = ACTIONS(7110),
    [anon_sym_PERCENT_EQ] = ACTIONS(7110),
    [anon_sym_GT_GT_EQ] = ACTIONS(7110),
    [anon_sym_LT_LT_EQ] = ACTIONS(7110),
    [anon_sym_CARET_EQ] = ACTIONS(7110),
    [anon_sym_QMARK] = ACTIONS(7110),
    [anon_sym_DOT_DOT] = ACTIONS(7112),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7110),
    [anon_sym_and] = ACTIONS(7110),
    [anon_sym_or] = ACTIONS(7110),
    [anon_sym_PIPE_PIPE] = ACTIONS(7112),
    [anon_sym_AMP_AMP] = ACTIONS(7112),
    [anon_sym_LT_LT] = ACTIONS(7112),
    [anon_sym_GT_GT] = ACTIONS(7112),
    [anon_sym_EQ_EQ] = ACTIONS(7112),
    [anon_sym_BANG_EQ] = ACTIONS(7110),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7110),
    [anon_sym_LT_EQ_GT] = ACTIONS(7110),
    [anon_sym_EQ_TILDE] = ACTIONS(7110),
    [anon_sym_BANG_TILDE] = ACTIONS(7110),
    [anon_sym_LT_EQ] = ACTIONS(7112),
    [anon_sym_GT] = ACTIONS(7112),
    [anon_sym_GT_EQ] = ACTIONS(7110),
    [anon_sym_CARET] = ACTIONS(7112),
    [anon_sym_PLUS] = ACTIONS(7112),
    [anon_sym_SLASH] = ACTIONS(7112),
    [anon_sym_PERCENT] = ACTIONS(7112),
    [sym_comment] = ACTIONS(256),
  },
  [3747] = {
    [sym_heredoc_end] = STATE(6930),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RBRACK] = ACTIONS(9474),
    [sym_comment] = ACTIONS(110),
  },
  [3748] = {
    [anon_sym_RBRACK] = ACTIONS(9474),
    [sym_comment] = ACTIONS(110),
  },
  [3749] = {
    [sym__simple_string] = ACTIONS(7116),
    [sym__simple_symbol] = ACTIONS(7116),
    [sym__simple_subshell] = ACTIONS(7116),
    [sym__simple_regex] = ACTIONS(7116),
    [sym__simple_word_list] = ACTIONS(7116),
    [sym__simple_heredoc_body] = ACTIONS(7116),
    [sym__string_beginning] = ACTIONS(7116),
    [sym__symbol_beginning] = ACTIONS(7116),
    [sym__subshell_beginning] = ACTIONS(7116),
    [sym__regex_beginning] = ACTIONS(7116),
    [sym__word_list_beginning] = ACTIONS(7116),
    [sym__heredoc_body_beginning] = ACTIONS(7116),
    [sym_heredoc_beginning] = ACTIONS(7116),
    [sym__line_break] = ACTIONS(7116),
    [sym__element_reference_left_bracket] = ACTIONS(7116),
    [sym__block_ampersand] = ACTIONS(7116),
    [sym__splat_star] = ACTIONS(7116),
    [sym__argument_list_left_paren] = ACTIONS(7116),
    [sym__scope_double_colon] = ACTIONS(7116),
    [sym__unary_minus] = ACTIONS(7116),
    [sym__binary_minus] = ACTIONS(7116),
    [sym__binary_star] = ACTIONS(7116),
    [ts_builtin_sym_end] = ACTIONS(7116),
    [anon_sym___END__] = ACTIONS(7118),
    [anon_sym_LBRACE] = ACTIONS(7116),
    [anon_sym_def] = ACTIONS(7118),
    [anon_sym_LPAREN] = ACTIONS(7116),
    [anon_sym_DOT] = ACTIONS(7118),
    [anon_sym_COLON_COLON] = ACTIONS(7116),
    [anon_sym_end] = ACTIONS(7118),
    [anon_sym_COMMA] = ACTIONS(7116),
    [anon_sym_PIPE] = ACTIONS(7118),
    [anon_sym_SEMI] = ACTIONS(7116),
    [anon_sym_STAR] = ACTIONS(7118),
    [anon_sym_STAR_STAR] = ACTIONS(7118),
    [anon_sym_AMP] = ACTIONS(7118),
    [anon_sym_EQ] = ACTIONS(7118),
    [anon_sym_class] = ACTIONS(7118),
    [anon_sym_LT] = ACTIONS(7118),
    [anon_sym_module] = ACTIONS(7118),
    [anon_sym_return] = ACTIONS(7118),
    [anon_sym_yield] = ACTIONS(7118),
    [anon_sym_break] = ACTIONS(7118),
    [anon_sym_next] = ACTIONS(7118),
    [anon_sym_redo] = ACTIONS(7118),
    [anon_sym_retry] = ACTIONS(7118),
    [anon_sym_if] = ACTIONS(7118),
    [anon_sym_unless] = ACTIONS(7118),
    [anon_sym_while] = ACTIONS(7118),
    [anon_sym_until] = ACTIONS(7118),
    [anon_sym_rescue] = ACTIONS(7118),
    [anon_sym_for] = ACTIONS(7118),
    [anon_sym_in] = ACTIONS(7118),
    [anon_sym_do] = ACTIONS(7118),
    [anon_sym_case] = ACTIONS(7118),
    [anon_sym_when] = ACTIONS(7118),
    [anon_sym_elsif] = ACTIONS(7118),
    [anon_sym_else] = ACTIONS(7118),
    [anon_sym_then] = ACTIONS(7118),
    [anon_sym_begin] = ACTIONS(7118),
    [anon_sym_ensure] = ACTIONS(7118),
    [anon_sym_EQ_GT] = ACTIONS(7116),
    [anon_sym_AMP_DOT] = ACTIONS(7116),
    [anon_sym_PLUS_EQ] = ACTIONS(7116),
    [anon_sym_DASH_EQ] = ACTIONS(7116),
    [anon_sym_STAR_EQ] = ACTIONS(7116),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7116),
    [anon_sym_SLASH_EQ] = ACTIONS(7116),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7116),
    [anon_sym_PIPE_EQ] = ACTIONS(7116),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7116),
    [anon_sym_AMP_EQ] = ACTIONS(7116),
    [anon_sym_PERCENT_EQ] = ACTIONS(7116),
    [anon_sym_GT_GT_EQ] = ACTIONS(7116),
    [anon_sym_LT_LT_EQ] = ACTIONS(7116),
    [anon_sym_CARET_EQ] = ACTIONS(7116),
    [anon_sym_QMARK] = ACTIONS(7118),
    [anon_sym_DOT_DOT] = ACTIONS(7118),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7116),
    [anon_sym_and] = ACTIONS(7118),
    [anon_sym_or] = ACTIONS(7118),
    [anon_sym_PIPE_PIPE] = ACTIONS(7118),
    [anon_sym_AMP_AMP] = ACTIONS(7118),
    [anon_sym_LT_LT] = ACTIONS(7118),
    [anon_sym_GT_GT] = ACTIONS(7118),
    [anon_sym_EQ_EQ] = ACTIONS(7118),
    [anon_sym_BANG_EQ] = ACTIONS(7116),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7116),
    [anon_sym_LT_EQ_GT] = ACTIONS(7116),
    [anon_sym_EQ_TILDE] = ACTIONS(7116),
    [anon_sym_BANG_TILDE] = ACTIONS(7116),
    [anon_sym_LT_EQ] = ACTIONS(7118),
    [anon_sym_GT] = ACTIONS(7118),
    [anon_sym_GT_EQ] = ACTIONS(7116),
    [anon_sym_CARET] = ACTIONS(7118),
    [anon_sym_PLUS] = ACTIONS(7118),
    [anon_sym_SLASH] = ACTIONS(7118),
    [anon_sym_PERCENT] = ACTIONS(7118),
    [anon_sym_defined_QMARK] = ACTIONS(7116),
    [anon_sym_not] = ACTIONS(7118),
    [anon_sym_BANG] = ACTIONS(7118),
    [anon_sym_TILDE] = ACTIONS(7116),
    [sym_constant] = ACTIONS(7120),
    [sym_identifier] = ACTIONS(7120),
    [sym_instance_variable] = ACTIONS(7118),
    [sym_class_variable] = ACTIONS(7118),
    [sym_global_variable] = ACTIONS(7118),
    [anon_sym_alias] = ACTIONS(7118),
    [anon_sym_defined] = ACTIONS(7118),
    [anon_sym_false] = ACTIONS(7118),
    [anon_sym_nil] = ACTIONS(7118),
    [anon_sym_self] = ACTIONS(7118),
    [anon_sym_super] = ACTIONS(7118),
    [anon_sym_true] = ACTIONS(7118),
    [anon_sym_undef] = ACTIONS(7118),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(7118),
    [sym_float] = ACTIONS(7120),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(7116),
    [anon_sym_TRUE] = ACTIONS(7118),
    [anon_sym_FALSE] = ACTIONS(7118),
    [anon_sym_NIL] = ACTIONS(7118),
    [sym_keyword__FILE__] = ACTIONS(7118),
    [sym_keyword__LINE__] = ACTIONS(7118),
    [sym_keyword__ENCODING__] = ACTIONS(7118),
    [sym__character_literal] = ACTIONS(7118),
    [anon_sym_LBRACK] = ACTIONS(7116),
    [anon_sym_DASH_GT] = ACTIONS(7116),
  },
  [3750] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1382),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(6932),
    [sym__argument] = STATE(1385),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1386),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1387),
    [sym__variable] = STATE(1383),
    [sym_reserved_identifier] = STATE(1388),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1389),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(6933),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(2154),
    [sym__splat_star] = ACTIONS(2156),
    [sym__unary_minus] = ACTIONS(2158),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(9476),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2162),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2164),
    [anon_sym_yield] = ACTIONS(2166),
    [anon_sym_break] = ACTIONS(2168),
    [anon_sym_next] = ACTIONS(2170),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2172),
    [anon_sym_defined_QMARK] = ACTIONS(2174),
    [anon_sym_not] = ACTIONS(2176),
    [anon_sym_BANG] = ACTIONS(2178),
    [anon_sym_TILDE] = ACTIONS(2178),
    [sym_constant] = ACTIONS(2180),
    [sym_identifier] = ACTIONS(2180),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [3751] = {
    [sym__simple_string] = ACTIONS(1856),
    [sym__simple_symbol] = ACTIONS(1856),
    [sym__simple_subshell] = ACTIONS(1856),
    [sym__simple_regex] = ACTIONS(1856),
    [sym__simple_word_list] = ACTIONS(1856),
    [sym__simple_heredoc_body] = ACTIONS(1856),
    [sym__string_beginning] = ACTIONS(1856),
    [sym__symbol_beginning] = ACTIONS(1856),
    [sym__subshell_beginning] = ACTIONS(1856),
    [sym__regex_beginning] = ACTIONS(1856),
    [sym__word_list_beginning] = ACTIONS(1856),
    [sym__heredoc_body_beginning] = ACTIONS(1856),
    [sym_heredoc_beginning] = ACTIONS(1856),
    [sym__line_break] = ACTIONS(1856),
    [sym__element_reference_left_bracket] = ACTIONS(1856),
    [sym__block_ampersand] = ACTIONS(1856),
    [sym__splat_star] = ACTIONS(1856),
    [sym__argument_list_left_paren] = ACTIONS(1856),
    [sym__scope_double_colon] = ACTIONS(1856),
    [sym__unary_minus] = ACTIONS(1856),
    [sym__binary_minus] = ACTIONS(1856),
    [sym__binary_star] = ACTIONS(1856),
    [ts_builtin_sym_end] = ACTIONS(1856),
    [anon_sym___END__] = ACTIONS(1858),
    [anon_sym_LBRACE] = ACTIONS(1856),
    [anon_sym_def] = ACTIONS(1858),
    [anon_sym_LPAREN] = ACTIONS(1856),
    [anon_sym_DOT] = ACTIONS(1858),
    [anon_sym_COLON_COLON] = ACTIONS(1856),
    [anon_sym_end] = ACTIONS(1858),
    [anon_sym_COMMA] = ACTIONS(1856),
    [anon_sym_PIPE] = ACTIONS(1858),
    [anon_sym_SEMI] = ACTIONS(1856),
    [anon_sym_STAR] = ACTIONS(1858),
    [anon_sym_STAR_STAR] = ACTIONS(1858),
    [anon_sym_AMP] = ACTIONS(1858),
    [anon_sym_EQ] = ACTIONS(1858),
    [anon_sym_class] = ACTIONS(1858),
    [anon_sym_LT] = ACTIONS(1858),
    [anon_sym_module] = ACTIONS(1858),
    [anon_sym_return] = ACTIONS(1858),
    [anon_sym_yield] = ACTIONS(1858),
    [anon_sym_break] = ACTIONS(1858),
    [anon_sym_next] = ACTIONS(1858),
    [anon_sym_redo] = ACTIONS(1858),
    [anon_sym_retry] = ACTIONS(1858),
    [anon_sym_if] = ACTIONS(1858),
    [anon_sym_unless] = ACTIONS(1858),
    [anon_sym_while] = ACTIONS(1858),
    [anon_sym_until] = ACTIONS(1858),
    [anon_sym_rescue] = ACTIONS(1858),
    [anon_sym_for] = ACTIONS(1858),
    [anon_sym_in] = ACTIONS(1858),
    [anon_sym_do] = ACTIONS(1858),
    [anon_sym_case] = ACTIONS(1858),
    [anon_sym_when] = ACTIONS(1858),
    [anon_sym_elsif] = ACTIONS(1858),
    [anon_sym_else] = ACTIONS(1858),
    [anon_sym_then] = ACTIONS(1858),
    [anon_sym_begin] = ACTIONS(1858),
    [anon_sym_ensure] = ACTIONS(1858),
    [anon_sym_EQ_GT] = ACTIONS(1856),
    [anon_sym_AMP_DOT] = ACTIONS(1856),
    [anon_sym_PLUS_EQ] = ACTIONS(1856),
    [anon_sym_DASH_EQ] = ACTIONS(1856),
    [anon_sym_STAR_EQ] = ACTIONS(1856),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1856),
    [anon_sym_SLASH_EQ] = ACTIONS(1856),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1856),
    [anon_sym_PIPE_EQ] = ACTIONS(1856),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1856),
    [anon_sym_AMP_EQ] = ACTIONS(1856),
    [anon_sym_PERCENT_EQ] = ACTIONS(1856),
    [anon_sym_GT_GT_EQ] = ACTIONS(1856),
    [anon_sym_LT_LT_EQ] = ACTIONS(1856),
    [anon_sym_CARET_EQ] = ACTIONS(1856),
    [anon_sym_QMARK] = ACTIONS(1858),
    [anon_sym_DOT_DOT] = ACTIONS(1858),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1856),
    [anon_sym_and] = ACTIONS(1858),
    [anon_sym_or] = ACTIONS(1858),
    [anon_sym_PIPE_PIPE] = ACTIONS(1858),
    [anon_sym_AMP_AMP] = ACTIONS(1858),
    [anon_sym_LT_LT] = ACTIONS(1858),
    [anon_sym_GT_GT] = ACTIONS(1858),
    [anon_sym_EQ_EQ] = ACTIONS(1858),
    [anon_sym_BANG_EQ] = ACTIONS(1856),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1856),
    [anon_sym_LT_EQ_GT] = ACTIONS(1856),
    [anon_sym_EQ_TILDE] = ACTIONS(1856),
    [anon_sym_BANG_TILDE] = ACTIONS(1856),
    [anon_sym_LT_EQ] = ACTIONS(1858),
    [anon_sym_GT] = ACTIONS(1858),
    [anon_sym_GT_EQ] = ACTIONS(1856),
    [anon_sym_CARET] = ACTIONS(1858),
    [anon_sym_PLUS] = ACTIONS(1858),
    [anon_sym_SLASH] = ACTIONS(1858),
    [anon_sym_PERCENT] = ACTIONS(1858),
    [anon_sym_defined_QMARK] = ACTIONS(1856),
    [anon_sym_not] = ACTIONS(1858),
    [anon_sym_BANG] = ACTIONS(1858),
    [anon_sym_TILDE] = ACTIONS(1856),
    [sym_constant] = ACTIONS(7124),
    [sym_identifier] = ACTIONS(7124),
    [sym_instance_variable] = ACTIONS(1858),
    [sym_class_variable] = ACTIONS(1858),
    [sym_global_variable] = ACTIONS(1858),
    [anon_sym_alias] = ACTIONS(1858),
    [anon_sym_defined] = ACTIONS(1858),
    [anon_sym_false] = ACTIONS(1858),
    [anon_sym_nil] = ACTIONS(1858),
    [anon_sym_self] = ACTIONS(1858),
    [anon_sym_super] = ACTIONS(1858),
    [anon_sym_true] = ACTIONS(1858),
    [anon_sym_undef] = ACTIONS(1858),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1858),
    [sym_float] = ACTIONS(7124),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1856),
    [anon_sym_TRUE] = ACTIONS(1858),
    [anon_sym_FALSE] = ACTIONS(1858),
    [anon_sym_NIL] = ACTIONS(1858),
    [sym_keyword__FILE__] = ACTIONS(1858),
    [sym_keyword__LINE__] = ACTIONS(1858),
    [sym_keyword__ENCODING__] = ACTIONS(1858),
    [sym__character_literal] = ACTIONS(1858),
    [anon_sym_LBRACK] = ACTIONS(1856),
    [anon_sym_DASH_GT] = ACTIONS(1856),
  },
  [3752] = {
    [sym__simple_string] = ACTIONS(7126),
    [sym__simple_symbol] = ACTIONS(7126),
    [sym__simple_subshell] = ACTIONS(7126),
    [sym__simple_regex] = ACTIONS(7126),
    [sym__simple_word_list] = ACTIONS(7126),
    [sym__simple_heredoc_body] = ACTIONS(7126),
    [sym__string_beginning] = ACTIONS(7126),
    [sym__symbol_beginning] = ACTIONS(7126),
    [sym__subshell_beginning] = ACTIONS(7126),
    [sym__regex_beginning] = ACTIONS(7126),
    [sym__word_list_beginning] = ACTIONS(7126),
    [sym__heredoc_body_beginning] = ACTIONS(7126),
    [sym_heredoc_beginning] = ACTIONS(7126),
    [sym__line_break] = ACTIONS(7126),
    [sym__element_reference_left_bracket] = ACTIONS(7126),
    [sym__block_ampersand] = ACTIONS(7126),
    [sym__splat_star] = ACTIONS(7126),
    [sym__argument_list_left_paren] = ACTIONS(7126),
    [sym__scope_double_colon] = ACTIONS(7126),
    [sym__unary_minus] = ACTIONS(7126),
    [sym__binary_minus] = ACTIONS(7126),
    [sym__binary_star] = ACTIONS(7126),
    [ts_builtin_sym_end] = ACTIONS(7126),
    [anon_sym___END__] = ACTIONS(7128),
    [anon_sym_LBRACE] = ACTIONS(7126),
    [anon_sym_def] = ACTIONS(7128),
    [anon_sym_LPAREN] = ACTIONS(7126),
    [anon_sym_DOT] = ACTIONS(7128),
    [anon_sym_COLON_COLON] = ACTIONS(7126),
    [anon_sym_end] = ACTIONS(7128),
    [anon_sym_COMMA] = ACTIONS(7126),
    [anon_sym_PIPE] = ACTIONS(7128),
    [anon_sym_SEMI] = ACTIONS(7126),
    [anon_sym_STAR] = ACTIONS(7128),
    [anon_sym_STAR_STAR] = ACTIONS(7128),
    [anon_sym_AMP] = ACTIONS(7128),
    [anon_sym_EQ] = ACTIONS(7128),
    [anon_sym_class] = ACTIONS(7128),
    [anon_sym_LT] = ACTIONS(7128),
    [anon_sym_module] = ACTIONS(7128),
    [anon_sym_return] = ACTIONS(7128),
    [anon_sym_yield] = ACTIONS(7128),
    [anon_sym_break] = ACTIONS(7128),
    [anon_sym_next] = ACTIONS(7128),
    [anon_sym_redo] = ACTIONS(7128),
    [anon_sym_retry] = ACTIONS(7128),
    [anon_sym_if] = ACTIONS(7128),
    [anon_sym_unless] = ACTIONS(7128),
    [anon_sym_while] = ACTIONS(7128),
    [anon_sym_until] = ACTIONS(7128),
    [anon_sym_rescue] = ACTIONS(7128),
    [anon_sym_for] = ACTIONS(7128),
    [anon_sym_in] = ACTIONS(7128),
    [anon_sym_do] = ACTIONS(7128),
    [anon_sym_case] = ACTIONS(7128),
    [anon_sym_when] = ACTIONS(7128),
    [anon_sym_elsif] = ACTIONS(7128),
    [anon_sym_else] = ACTIONS(7128),
    [anon_sym_then] = ACTIONS(7128),
    [anon_sym_begin] = ACTIONS(7128),
    [anon_sym_ensure] = ACTIONS(7128),
    [anon_sym_EQ_GT] = ACTIONS(7126),
    [anon_sym_AMP_DOT] = ACTIONS(7126),
    [anon_sym_PLUS_EQ] = ACTIONS(7126),
    [anon_sym_DASH_EQ] = ACTIONS(7126),
    [anon_sym_STAR_EQ] = ACTIONS(7126),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7126),
    [anon_sym_SLASH_EQ] = ACTIONS(7126),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7126),
    [anon_sym_PIPE_EQ] = ACTIONS(7126),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7126),
    [anon_sym_AMP_EQ] = ACTIONS(7126),
    [anon_sym_PERCENT_EQ] = ACTIONS(7126),
    [anon_sym_GT_GT_EQ] = ACTIONS(7126),
    [anon_sym_LT_LT_EQ] = ACTIONS(7126),
    [anon_sym_CARET_EQ] = ACTIONS(7126),
    [anon_sym_QMARK] = ACTIONS(7128),
    [anon_sym_DOT_DOT] = ACTIONS(7128),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7126),
    [anon_sym_and] = ACTIONS(7128),
    [anon_sym_or] = ACTIONS(7128),
    [anon_sym_PIPE_PIPE] = ACTIONS(7128),
    [anon_sym_AMP_AMP] = ACTIONS(7128),
    [anon_sym_LT_LT] = ACTIONS(7128),
    [anon_sym_GT_GT] = ACTIONS(7128),
    [anon_sym_EQ_EQ] = ACTIONS(7128),
    [anon_sym_BANG_EQ] = ACTIONS(7126),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7126),
    [anon_sym_LT_EQ_GT] = ACTIONS(7126),
    [anon_sym_EQ_TILDE] = ACTIONS(7126),
    [anon_sym_BANG_TILDE] = ACTIONS(7126),
    [anon_sym_LT_EQ] = ACTIONS(7128),
    [anon_sym_GT] = ACTIONS(7128),
    [anon_sym_GT_EQ] = ACTIONS(7126),
    [anon_sym_CARET] = ACTIONS(7128),
    [anon_sym_PLUS] = ACTIONS(7128),
    [anon_sym_SLASH] = ACTIONS(7128),
    [anon_sym_PERCENT] = ACTIONS(7128),
    [anon_sym_defined_QMARK] = ACTIONS(7126),
    [anon_sym_not] = ACTIONS(7128),
    [anon_sym_BANG] = ACTIONS(7128),
    [anon_sym_TILDE] = ACTIONS(7126),
    [sym_constant] = ACTIONS(7130),
    [sym_identifier] = ACTIONS(7130),
    [sym_instance_variable] = ACTIONS(7128),
    [sym_class_variable] = ACTIONS(7128),
    [sym_global_variable] = ACTIONS(7128),
    [anon_sym_alias] = ACTIONS(7128),
    [anon_sym_defined] = ACTIONS(7128),
    [anon_sym_false] = ACTIONS(7128),
    [anon_sym_nil] = ACTIONS(7128),
    [anon_sym_self] = ACTIONS(7128),
    [anon_sym_super] = ACTIONS(7128),
    [anon_sym_true] = ACTIONS(7128),
    [anon_sym_undef] = ACTIONS(7128),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(7128),
    [sym_float] = ACTIONS(7130),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(7126),
    [anon_sym_TRUE] = ACTIONS(7128),
    [anon_sym_FALSE] = ACTIONS(7128),
    [anon_sym_NIL] = ACTIONS(7128),
    [sym_keyword__FILE__] = ACTIONS(7128),
    [sym_keyword__LINE__] = ACTIONS(7128),
    [sym_keyword__ENCODING__] = ACTIONS(7128),
    [sym__character_literal] = ACTIONS(7128),
    [anon_sym_LBRACK] = ACTIONS(7126),
    [anon_sym_DASH_GT] = ACTIONS(7126),
  },
  [3753] = {
    [sym__simple_string] = ACTIONS(7132),
    [sym__simple_symbol] = ACTIONS(7132),
    [sym__simple_subshell] = ACTIONS(7132),
    [sym__simple_regex] = ACTIONS(7132),
    [sym__simple_word_list] = ACTIONS(7132),
    [sym__simple_heredoc_body] = ACTIONS(7132),
    [sym__string_beginning] = ACTIONS(7132),
    [sym__symbol_beginning] = ACTIONS(7132),
    [sym__subshell_beginning] = ACTIONS(7132),
    [sym__regex_beginning] = ACTIONS(7132),
    [sym__word_list_beginning] = ACTIONS(7132),
    [sym__heredoc_body_beginning] = ACTIONS(7132),
    [sym_heredoc_beginning] = ACTIONS(7132),
    [sym__line_break] = ACTIONS(7132),
    [sym__element_reference_left_bracket] = ACTIONS(7132),
    [sym__block_ampersand] = ACTIONS(7132),
    [sym__splat_star] = ACTIONS(7132),
    [sym__argument_list_left_paren] = ACTIONS(7132),
    [sym__scope_double_colon] = ACTIONS(7132),
    [sym__unary_minus] = ACTIONS(7132),
    [sym__binary_minus] = ACTIONS(7132),
    [sym__binary_star] = ACTIONS(7132),
    [ts_builtin_sym_end] = ACTIONS(7132),
    [anon_sym___END__] = ACTIONS(7134),
    [anon_sym_LBRACE] = ACTIONS(7132),
    [anon_sym_def] = ACTIONS(7134),
    [anon_sym_LPAREN] = ACTIONS(7132),
    [anon_sym_DOT] = ACTIONS(7134),
    [anon_sym_COLON_COLON] = ACTIONS(7132),
    [anon_sym_end] = ACTIONS(7134),
    [anon_sym_COMMA] = ACTIONS(7132),
    [anon_sym_PIPE] = ACTIONS(7134),
    [anon_sym_SEMI] = ACTIONS(7132),
    [anon_sym_STAR] = ACTIONS(7134),
    [anon_sym_STAR_STAR] = ACTIONS(7134),
    [anon_sym_AMP] = ACTIONS(7134),
    [anon_sym_EQ] = ACTIONS(7134),
    [anon_sym_class] = ACTIONS(7134),
    [anon_sym_LT] = ACTIONS(7134),
    [anon_sym_module] = ACTIONS(7134),
    [anon_sym_return] = ACTIONS(7134),
    [anon_sym_yield] = ACTIONS(7134),
    [anon_sym_break] = ACTIONS(7134),
    [anon_sym_next] = ACTIONS(7134),
    [anon_sym_redo] = ACTIONS(7134),
    [anon_sym_retry] = ACTIONS(7134),
    [anon_sym_if] = ACTIONS(7134),
    [anon_sym_unless] = ACTIONS(7134),
    [anon_sym_while] = ACTIONS(7134),
    [anon_sym_until] = ACTIONS(7134),
    [anon_sym_rescue] = ACTIONS(7134),
    [anon_sym_for] = ACTIONS(7134),
    [anon_sym_in] = ACTIONS(7134),
    [anon_sym_do] = ACTIONS(7134),
    [anon_sym_case] = ACTIONS(7134),
    [anon_sym_when] = ACTIONS(7134),
    [anon_sym_elsif] = ACTIONS(7134),
    [anon_sym_else] = ACTIONS(7134),
    [anon_sym_then] = ACTIONS(7134),
    [anon_sym_begin] = ACTIONS(7134),
    [anon_sym_ensure] = ACTIONS(7134),
    [anon_sym_EQ_GT] = ACTIONS(7132),
    [anon_sym_AMP_DOT] = ACTIONS(7132),
    [anon_sym_PLUS_EQ] = ACTIONS(7132),
    [anon_sym_DASH_EQ] = ACTIONS(7132),
    [anon_sym_STAR_EQ] = ACTIONS(7132),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7132),
    [anon_sym_SLASH_EQ] = ACTIONS(7132),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7132),
    [anon_sym_PIPE_EQ] = ACTIONS(7132),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7132),
    [anon_sym_AMP_EQ] = ACTIONS(7132),
    [anon_sym_PERCENT_EQ] = ACTIONS(7132),
    [anon_sym_GT_GT_EQ] = ACTIONS(7132),
    [anon_sym_LT_LT_EQ] = ACTIONS(7132),
    [anon_sym_CARET_EQ] = ACTIONS(7132),
    [anon_sym_QMARK] = ACTIONS(7134),
    [anon_sym_DOT_DOT] = ACTIONS(7134),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7132),
    [anon_sym_and] = ACTIONS(7134),
    [anon_sym_or] = ACTIONS(7134),
    [anon_sym_PIPE_PIPE] = ACTIONS(7134),
    [anon_sym_AMP_AMP] = ACTIONS(7134),
    [anon_sym_LT_LT] = ACTIONS(7134),
    [anon_sym_GT_GT] = ACTIONS(7134),
    [anon_sym_EQ_EQ] = ACTIONS(7134),
    [anon_sym_BANG_EQ] = ACTIONS(7132),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7132),
    [anon_sym_LT_EQ_GT] = ACTIONS(7132),
    [anon_sym_EQ_TILDE] = ACTIONS(7132),
    [anon_sym_BANG_TILDE] = ACTIONS(7132),
    [anon_sym_LT_EQ] = ACTIONS(7134),
    [anon_sym_GT] = ACTIONS(7134),
    [anon_sym_GT_EQ] = ACTIONS(7132),
    [anon_sym_CARET] = ACTIONS(7134),
    [anon_sym_PLUS] = ACTIONS(7134),
    [anon_sym_SLASH] = ACTIONS(7134),
    [anon_sym_PERCENT] = ACTIONS(7134),
    [anon_sym_defined_QMARK] = ACTIONS(7132),
    [anon_sym_not] = ACTIONS(7134),
    [anon_sym_BANG] = ACTIONS(7134),
    [anon_sym_TILDE] = ACTIONS(7132),
    [sym_constant] = ACTIONS(7136),
    [sym_identifier] = ACTIONS(7136),
    [sym_instance_variable] = ACTIONS(7134),
    [sym_class_variable] = ACTIONS(7134),
    [sym_global_variable] = ACTIONS(7134),
    [anon_sym_alias] = ACTIONS(7134),
    [anon_sym_defined] = ACTIONS(7134),
    [anon_sym_false] = ACTIONS(7134),
    [anon_sym_nil] = ACTIONS(7134),
    [anon_sym_self] = ACTIONS(7134),
    [anon_sym_super] = ACTIONS(7134),
    [anon_sym_true] = ACTIONS(7134),
    [anon_sym_undef] = ACTIONS(7134),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(7134),
    [sym_float] = ACTIONS(7136),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(7132),
    [anon_sym_TRUE] = ACTIONS(7134),
    [anon_sym_FALSE] = ACTIONS(7134),
    [anon_sym_NIL] = ACTIONS(7134),
    [sym_keyword__FILE__] = ACTIONS(7134),
    [sym_keyword__LINE__] = ACTIONS(7134),
    [sym_keyword__ENCODING__] = ACTIONS(7134),
    [sym__character_literal] = ACTIONS(7134),
    [anon_sym_LBRACK] = ACTIONS(7132),
    [anon_sym_DASH_GT] = ACTIONS(7132),
  },
  [3754] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__line_break] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(3318),
    [sym__binary_star] = ACTIONS(3320),
    [ts_builtin_sym_end] = ACTIONS(5298),
    [anon_sym___END__] = ACTIONS(5298),
    [anon_sym_LBRACE] = ACTIONS(5298),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(3322),
    [anon_sym_SEMI] = ACTIONS(5298),
    [anon_sym_STAR_STAR] = ACTIONS(3324),
    [anon_sym_AMP] = ACTIONS(3326),
    [anon_sym_EQ] = ACTIONS(5304),
    [anon_sym_LT] = ACTIONS(3328),
    [anon_sym_if] = ACTIONS(5298),
    [anon_sym_unless] = ACTIONS(5298),
    [anon_sym_while] = ACTIONS(5298),
    [anon_sym_until] = ACTIONS(5298),
    [anon_sym_rescue] = ACTIONS(5298),
    [anon_sym_do] = ACTIONS(5298),
    [anon_sym_EQ_GT] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_PLUS_EQ] = ACTIONS(5298),
    [anon_sym_DASH_EQ] = ACTIONS(5298),
    [anon_sym_STAR_EQ] = ACTIONS(5298),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5298),
    [anon_sym_SLASH_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5298),
    [anon_sym_AMP_EQ] = ACTIONS(5298),
    [anon_sym_PERCENT_EQ] = ACTIONS(5298),
    [anon_sym_GT_GT_EQ] = ACTIONS(5298),
    [anon_sym_LT_LT_EQ] = ACTIONS(5298),
    [anon_sym_CARET_EQ] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(3330),
    [anon_sym_DOT_DOT] = ACTIONS(3332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3334),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(3336),
    [anon_sym_AMP_AMP] = ACTIONS(3336),
    [anon_sym_LT_LT] = ACTIONS(3338),
    [anon_sym_GT_GT] = ACTIONS(3338),
    [anon_sym_EQ_EQ] = ACTIONS(3336),
    [anon_sym_BANG_EQ] = ACTIONS(3340),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3340),
    [anon_sym_LT_EQ_GT] = ACTIONS(3340),
    [anon_sym_EQ_TILDE] = ACTIONS(3340),
    [anon_sym_BANG_TILDE] = ACTIONS(3340),
    [anon_sym_LT_EQ] = ACTIONS(3328),
    [anon_sym_GT] = ACTIONS(3328),
    [anon_sym_GT_EQ] = ACTIONS(3342),
    [anon_sym_CARET] = ACTIONS(3322),
    [anon_sym_PLUS] = ACTIONS(3344),
    [anon_sym_SLASH] = ACTIONS(3324),
    [anon_sym_PERCENT] = ACTIONS(3324),
    [sym_comment] = ACTIONS(256),
  },
  [3755] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__line_break] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(3318),
    [sym__binary_star] = ACTIONS(3320),
    [ts_builtin_sym_end] = ACTIONS(5338),
    [anon_sym___END__] = ACTIONS(5338),
    [anon_sym_LBRACE] = ACTIONS(5338),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(3322),
    [anon_sym_SEMI] = ACTIONS(5338),
    [anon_sym_STAR_STAR] = ACTIONS(3324),
    [anon_sym_AMP] = ACTIONS(3326),
    [anon_sym_EQ] = ACTIONS(5340),
    [anon_sym_LT] = ACTIONS(3328),
    [anon_sym_if] = ACTIONS(5338),
    [anon_sym_unless] = ACTIONS(5338),
    [anon_sym_while] = ACTIONS(5338),
    [anon_sym_until] = ACTIONS(5338),
    [anon_sym_rescue] = ACTIONS(5338),
    [anon_sym_do] = ACTIONS(5338),
    [anon_sym_EQ_GT] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_PLUS_EQ] = ACTIONS(5338),
    [anon_sym_DASH_EQ] = ACTIONS(5338),
    [anon_sym_STAR_EQ] = ACTIONS(5338),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5338),
    [anon_sym_SLASH_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5338),
    [anon_sym_AMP_EQ] = ACTIONS(5338),
    [anon_sym_PERCENT_EQ] = ACTIONS(5338),
    [anon_sym_GT_GT_EQ] = ACTIONS(5338),
    [anon_sym_LT_LT_EQ] = ACTIONS(5338),
    [anon_sym_CARET_EQ] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(3330),
    [anon_sym_DOT_DOT] = ACTIONS(3332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3334),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(3336),
    [anon_sym_AMP_AMP] = ACTIONS(3336),
    [anon_sym_LT_LT] = ACTIONS(3338),
    [anon_sym_GT_GT] = ACTIONS(3338),
    [anon_sym_EQ_EQ] = ACTIONS(3336),
    [anon_sym_BANG_EQ] = ACTIONS(3340),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3340),
    [anon_sym_LT_EQ_GT] = ACTIONS(3340),
    [anon_sym_EQ_TILDE] = ACTIONS(3340),
    [anon_sym_BANG_TILDE] = ACTIONS(3340),
    [anon_sym_LT_EQ] = ACTIONS(3328),
    [anon_sym_GT] = ACTIONS(3328),
    [anon_sym_GT_EQ] = ACTIONS(3342),
    [anon_sym_CARET] = ACTIONS(3322),
    [anon_sym_PLUS] = ACTIONS(3344),
    [anon_sym_SLASH] = ACTIONS(3324),
    [anon_sym_PERCENT] = ACTIONS(3324),
    [sym_comment] = ACTIONS(256),
  },
  [3756] = {
    [sym__simple_heredoc_body] = ACTIONS(5370),
    [sym__heredoc_body_beginning] = ACTIONS(5370),
    [sym__line_break] = ACTIONS(5370),
    [sym__element_reference_left_bracket] = ACTIONS(5370),
    [sym__scope_double_colon] = ACTIONS(5370),
    [sym__binary_minus] = ACTIONS(5370),
    [sym__binary_star] = ACTIONS(5370),
    [ts_builtin_sym_end] = ACTIONS(5370),
    [anon_sym___END__] = ACTIONS(5370),
    [anon_sym_LBRACE] = ACTIONS(5370),
    [anon_sym_RBRACE] = ACTIONS(5370),
    [anon_sym_RPAREN] = ACTIONS(5370),
    [anon_sym_DOT] = ACTIONS(5372),
    [anon_sym_end] = ACTIONS(5370),
    [anon_sym_COMMA] = ACTIONS(5370),
    [anon_sym_PIPE] = ACTIONS(5372),
    [anon_sym_SEMI] = ACTIONS(5370),
    [anon_sym_STAR_STAR] = ACTIONS(5372),
    [anon_sym_AMP] = ACTIONS(5372),
    [anon_sym_EQ] = ACTIONS(5372),
    [anon_sym_LT] = ACTIONS(5372),
    [anon_sym_if] = ACTIONS(5370),
    [anon_sym_unless] = ACTIONS(5370),
    [anon_sym_while] = ACTIONS(5370),
    [anon_sym_until] = ACTIONS(5370),
    [anon_sym_rescue] = ACTIONS(5370),
    [anon_sym_do] = ACTIONS(5370),
    [anon_sym_when] = ACTIONS(5370),
    [anon_sym_elsif] = ACTIONS(5370),
    [anon_sym_else] = ACTIONS(5370),
    [anon_sym_then] = ACTIONS(5370),
    [anon_sym_ensure] = ACTIONS(5370),
    [anon_sym_EQ_GT] = ACTIONS(5370),
    [anon_sym_AMP_DOT] = ACTIONS(5370),
    [anon_sym_PLUS_EQ] = ACTIONS(5370),
    [anon_sym_DASH_EQ] = ACTIONS(5370),
    [anon_sym_STAR_EQ] = ACTIONS(5370),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5370),
    [anon_sym_SLASH_EQ] = ACTIONS(5370),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5370),
    [anon_sym_PIPE_EQ] = ACTIONS(5370),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5370),
    [anon_sym_AMP_EQ] = ACTIONS(5370),
    [anon_sym_PERCENT_EQ] = ACTIONS(5370),
    [anon_sym_GT_GT_EQ] = ACTIONS(5370),
    [anon_sym_LT_LT_EQ] = ACTIONS(5370),
    [anon_sym_CARET_EQ] = ACTIONS(5370),
    [anon_sym_QMARK] = ACTIONS(5370),
    [anon_sym_DOT_DOT] = ACTIONS(5372),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5370),
    [anon_sym_and] = ACTIONS(5370),
    [anon_sym_or] = ACTIONS(5370),
    [anon_sym_PIPE_PIPE] = ACTIONS(5372),
    [anon_sym_AMP_AMP] = ACTIONS(5372),
    [anon_sym_LT_LT] = ACTIONS(5372),
    [anon_sym_GT_GT] = ACTIONS(5372),
    [anon_sym_EQ_EQ] = ACTIONS(5372),
    [anon_sym_BANG_EQ] = ACTIONS(5370),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5370),
    [anon_sym_LT_EQ_GT] = ACTIONS(5370),
    [anon_sym_EQ_TILDE] = ACTIONS(5370),
    [anon_sym_BANG_TILDE] = ACTIONS(5370),
    [anon_sym_LT_EQ] = ACTIONS(5372),
    [anon_sym_GT] = ACTIONS(5372),
    [anon_sym_GT_EQ] = ACTIONS(5370),
    [anon_sym_CARET] = ACTIONS(5372),
    [anon_sym_PLUS] = ACTIONS(5372),
    [anon_sym_SLASH] = ACTIONS(5372),
    [anon_sym_PERCENT] = ACTIONS(5372),
    [sym_comment] = ACTIONS(256),
  },
  [3757] = {
    [sym_heredoc_end] = STATE(6935),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RPAREN] = ACTIONS(9478),
    [sym_comment] = ACTIONS(110),
  },
  [3758] = {
    [anon_sym_RPAREN] = ACTIONS(9478),
    [sym_comment] = ACTIONS(110),
  },
  [3759] = {
    [anon_sym_RBRACE] = ACTIONS(9480),
    [sym_comment] = ACTIONS(110),
  },
  [3760] = {
    [sym__statements] = STATE(6937),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(841),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(9480),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3761] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__line_break] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(3318),
    [sym__binary_star] = ACTIONS(3320),
    [ts_builtin_sym_end] = ACTIONS(4284),
    [anon_sym___END__] = ACTIONS(4284),
    [anon_sym_LBRACE] = ACTIONS(4284),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(3322),
    [anon_sym_SEMI] = ACTIONS(4284),
    [anon_sym_STAR_STAR] = ACTIONS(3324),
    [anon_sym_AMP] = ACTIONS(3326),
    [anon_sym_EQ] = ACTIONS(5432),
    [anon_sym_LT] = ACTIONS(3328),
    [anon_sym_if] = ACTIONS(4284),
    [anon_sym_unless] = ACTIONS(4284),
    [anon_sym_while] = ACTIONS(4284),
    [anon_sym_until] = ACTIONS(4284),
    [anon_sym_rescue] = ACTIONS(4284),
    [anon_sym_do] = ACTIONS(4284),
    [anon_sym_EQ_GT] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_PLUS_EQ] = ACTIONS(4284),
    [anon_sym_DASH_EQ] = ACTIONS(4284),
    [anon_sym_STAR_EQ] = ACTIONS(4284),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(4284),
    [anon_sym_SLASH_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(4284),
    [anon_sym_AMP_EQ] = ACTIONS(4284),
    [anon_sym_PERCENT_EQ] = ACTIONS(4284),
    [anon_sym_GT_GT_EQ] = ACTIONS(4284),
    [anon_sym_LT_LT_EQ] = ACTIONS(4284),
    [anon_sym_CARET_EQ] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(3330),
    [anon_sym_DOT_DOT] = ACTIONS(3332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3334),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(3336),
    [anon_sym_AMP_AMP] = ACTIONS(3336),
    [anon_sym_LT_LT] = ACTIONS(3338),
    [anon_sym_GT_GT] = ACTIONS(3338),
    [anon_sym_EQ_EQ] = ACTIONS(3336),
    [anon_sym_BANG_EQ] = ACTIONS(3340),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3340),
    [anon_sym_LT_EQ_GT] = ACTIONS(3340),
    [anon_sym_EQ_TILDE] = ACTIONS(3340),
    [anon_sym_BANG_TILDE] = ACTIONS(3340),
    [anon_sym_LT_EQ] = ACTIONS(3328),
    [anon_sym_GT] = ACTIONS(3328),
    [anon_sym_GT_EQ] = ACTIONS(3342),
    [anon_sym_CARET] = ACTIONS(3322),
    [anon_sym_PLUS] = ACTIONS(3344),
    [anon_sym_SLASH] = ACTIONS(3324),
    [anon_sym_PERCENT] = ACTIONS(3324),
    [sym_comment] = ACTIONS(256),
  },
  [3762] = {
    [sym__simple_heredoc_body] = ACTIONS(6942),
    [sym__heredoc_body_beginning] = ACTIONS(6942),
    [sym__line_break] = ACTIONS(6942),
    [sym__element_reference_left_bracket] = ACTIONS(6942),
    [sym__scope_double_colon] = ACTIONS(6942),
    [sym__binary_minus] = ACTIONS(6942),
    [sym__binary_star] = ACTIONS(6942),
    [ts_builtin_sym_end] = ACTIONS(6942),
    [anon_sym___END__] = ACTIONS(6942),
    [anon_sym_LBRACE] = ACTIONS(6942),
    [anon_sym_RBRACE] = ACTIONS(6942),
    [anon_sym_RPAREN] = ACTIONS(6942),
    [anon_sym_DOT] = ACTIONS(6944),
    [anon_sym_end] = ACTIONS(6942),
    [anon_sym_COMMA] = ACTIONS(6942),
    [anon_sym_PIPE] = ACTIONS(6944),
    [anon_sym_SEMI] = ACTIONS(6942),
    [anon_sym_STAR_STAR] = ACTIONS(6944),
    [anon_sym_AMP] = ACTIONS(6944),
    [anon_sym_EQ] = ACTIONS(6944),
    [anon_sym_LT] = ACTIONS(6944),
    [anon_sym_if] = ACTIONS(6942),
    [anon_sym_unless] = ACTIONS(6942),
    [anon_sym_while] = ACTIONS(6942),
    [anon_sym_until] = ACTIONS(6942),
    [anon_sym_rescue] = ACTIONS(6942),
    [anon_sym_do] = ACTIONS(6942),
    [anon_sym_when] = ACTIONS(6942),
    [anon_sym_elsif] = ACTIONS(6942),
    [anon_sym_else] = ACTIONS(6942),
    [anon_sym_then] = ACTIONS(6942),
    [anon_sym_ensure] = ACTIONS(6942),
    [anon_sym_EQ_GT] = ACTIONS(6942),
    [anon_sym_AMP_DOT] = ACTIONS(6942),
    [anon_sym_PLUS_EQ] = ACTIONS(6942),
    [anon_sym_DASH_EQ] = ACTIONS(6942),
    [anon_sym_STAR_EQ] = ACTIONS(6942),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6942),
    [anon_sym_SLASH_EQ] = ACTIONS(6942),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6942),
    [anon_sym_PIPE_EQ] = ACTIONS(6942),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6942),
    [anon_sym_AMP_EQ] = ACTIONS(6942),
    [anon_sym_PERCENT_EQ] = ACTIONS(6942),
    [anon_sym_GT_GT_EQ] = ACTIONS(6942),
    [anon_sym_LT_LT_EQ] = ACTIONS(6942),
    [anon_sym_CARET_EQ] = ACTIONS(6942),
    [anon_sym_QMARK] = ACTIONS(6942),
    [anon_sym_DOT_DOT] = ACTIONS(6944),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6942),
    [anon_sym_and] = ACTIONS(6942),
    [anon_sym_or] = ACTIONS(6942),
    [anon_sym_PIPE_PIPE] = ACTIONS(6944),
    [anon_sym_AMP_AMP] = ACTIONS(6944),
    [anon_sym_LT_LT] = ACTIONS(6944),
    [anon_sym_GT_GT] = ACTIONS(6944),
    [anon_sym_EQ_EQ] = ACTIONS(6944),
    [anon_sym_BANG_EQ] = ACTIONS(6942),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6942),
    [anon_sym_LT_EQ_GT] = ACTIONS(6942),
    [anon_sym_EQ_TILDE] = ACTIONS(6942),
    [anon_sym_BANG_TILDE] = ACTIONS(6942),
    [anon_sym_LT_EQ] = ACTIONS(6944),
    [anon_sym_GT] = ACTIONS(6944),
    [anon_sym_GT_EQ] = ACTIONS(6942),
    [anon_sym_CARET] = ACTIONS(6944),
    [anon_sym_PLUS] = ACTIONS(6944),
    [anon_sym_SLASH] = ACTIONS(6944),
    [anon_sym_PERCENT] = ACTIONS(6944),
    [sym_comment] = ACTIONS(256),
  },
  [3763] = {
    [anon_sym_end] = ACTIONS(9482),
    [sym_comment] = ACTIONS(110),
  },
  [3764] = {
    [sym__statements] = STATE(6939),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(6940),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(9484),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3765] = {
    [sym__statements] = STATE(6939),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(6941),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(6940),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(9484),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3766] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(6942),
    [sym__primary] = STATE(596),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(597),
    [sym_call] = STATE(597),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(605),
    [sym__variable] = STATE(597),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(1012),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(3236),
    [anon_sym_yield] = ACTIONS(3238),
    [anon_sym_break] = ACTIONS(3240),
    [anon_sym_next] = ACTIONS(3242),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(3262),
    [anon_sym_defined_QMARK] = ACTIONS(1044),
    [anon_sym_not] = ACTIONS(3264),
    [anon_sym_BANG] = ACTIONS(1050),
    [anon_sym_TILDE] = ACTIONS(1050),
    [sym_constant] = ACTIONS(2194),
    [sym_identifier] = ACTIONS(2194),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2196),
    [anon_sym_super] = ACTIONS(2198),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3767] = {
    [sym__simple_heredoc_body] = ACTIONS(7290),
    [sym__heredoc_body_beginning] = ACTIONS(7290),
    [sym__line_break] = ACTIONS(7290),
    [sym__element_reference_left_bracket] = ACTIONS(7290),
    [sym__scope_double_colon] = ACTIONS(7290),
    [sym__binary_minus] = ACTIONS(7290),
    [sym__binary_star] = ACTIONS(7290),
    [ts_builtin_sym_end] = ACTIONS(7290),
    [anon_sym___END__] = ACTIONS(7290),
    [anon_sym_LBRACE] = ACTIONS(7290),
    [anon_sym_RBRACE] = ACTIONS(7290),
    [anon_sym_RPAREN] = ACTIONS(7290),
    [anon_sym_DOT] = ACTIONS(7292),
    [anon_sym_end] = ACTIONS(7290),
    [anon_sym_COMMA] = ACTIONS(7290),
    [anon_sym_PIPE] = ACTIONS(7292),
    [anon_sym_SEMI] = ACTIONS(7290),
    [anon_sym_STAR_STAR] = ACTIONS(7292),
    [anon_sym_AMP] = ACTIONS(7292),
    [anon_sym_EQ] = ACTIONS(7292),
    [anon_sym_LT] = ACTIONS(7292),
    [anon_sym_if] = ACTIONS(7290),
    [anon_sym_unless] = ACTIONS(7290),
    [anon_sym_while] = ACTIONS(7290),
    [anon_sym_until] = ACTIONS(7290),
    [anon_sym_rescue] = ACTIONS(7290),
    [anon_sym_do] = ACTIONS(7290),
    [anon_sym_when] = ACTIONS(7290),
    [anon_sym_elsif] = ACTIONS(7290),
    [anon_sym_else] = ACTIONS(7290),
    [anon_sym_then] = ACTIONS(7290),
    [anon_sym_ensure] = ACTIONS(7290),
    [anon_sym_EQ_GT] = ACTIONS(7290),
    [anon_sym_AMP_DOT] = ACTIONS(7290),
    [anon_sym_PLUS_EQ] = ACTIONS(7290),
    [anon_sym_DASH_EQ] = ACTIONS(7290),
    [anon_sym_STAR_EQ] = ACTIONS(7290),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7290),
    [anon_sym_SLASH_EQ] = ACTIONS(7290),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7290),
    [anon_sym_PIPE_EQ] = ACTIONS(7290),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7290),
    [anon_sym_AMP_EQ] = ACTIONS(7290),
    [anon_sym_PERCENT_EQ] = ACTIONS(7290),
    [anon_sym_GT_GT_EQ] = ACTIONS(7290),
    [anon_sym_LT_LT_EQ] = ACTIONS(7290),
    [anon_sym_CARET_EQ] = ACTIONS(7290),
    [anon_sym_QMARK] = ACTIONS(7290),
    [anon_sym_DOT_DOT] = ACTIONS(7292),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7290),
    [anon_sym_and] = ACTIONS(7290),
    [anon_sym_or] = ACTIONS(7290),
    [anon_sym_PIPE_PIPE] = ACTIONS(7292),
    [anon_sym_AMP_AMP] = ACTIONS(7292),
    [anon_sym_LT_LT] = ACTIONS(7292),
    [anon_sym_GT_GT] = ACTIONS(7292),
    [anon_sym_EQ_EQ] = ACTIONS(7292),
    [anon_sym_BANG_EQ] = ACTIONS(7290),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7290),
    [anon_sym_LT_EQ_GT] = ACTIONS(7290),
    [anon_sym_EQ_TILDE] = ACTIONS(7290),
    [anon_sym_BANG_TILDE] = ACTIONS(7290),
    [anon_sym_LT_EQ] = ACTIONS(7292),
    [anon_sym_GT] = ACTIONS(7292),
    [anon_sym_GT_EQ] = ACTIONS(7290),
    [anon_sym_CARET] = ACTIONS(7292),
    [anon_sym_PLUS] = ACTIONS(7292),
    [anon_sym_SLASH] = ACTIONS(7292),
    [anon_sym_PERCENT] = ACTIONS(7292),
    [sym_comment] = ACTIONS(256),
  },
  [3768] = {
    [sym__simple_heredoc_body] = ACTIONS(1398),
    [sym__heredoc_body_beginning] = ACTIONS(1398),
    [sym__line_break] = ACTIONS(1398),
    [sym__element_reference_left_bracket] = ACTIONS(1398),
    [sym__scope_double_colon] = ACTIONS(1398),
    [sym__binary_minus] = ACTIONS(1398),
    [sym__binary_star] = ACTIONS(1398),
    [ts_builtin_sym_end] = ACTIONS(1398),
    [anon_sym___END__] = ACTIONS(1398),
    [anon_sym_LBRACE] = ACTIONS(1398),
    [anon_sym_RBRACE] = ACTIONS(1398),
    [anon_sym_RPAREN] = ACTIONS(1398),
    [anon_sym_DOT] = ACTIONS(2666),
    [anon_sym_end] = ACTIONS(1398),
    [anon_sym_COMMA] = ACTIONS(1398),
    [anon_sym_PIPE] = ACTIONS(2666),
    [anon_sym_SEMI] = ACTIONS(1398),
    [anon_sym_STAR_STAR] = ACTIONS(2666),
    [anon_sym_AMP] = ACTIONS(2666),
    [anon_sym_EQ] = ACTIONS(2666),
    [anon_sym_LT] = ACTIONS(2666),
    [anon_sym_if] = ACTIONS(1398),
    [anon_sym_unless] = ACTIONS(1398),
    [anon_sym_while] = ACTIONS(1398),
    [anon_sym_until] = ACTIONS(1398),
    [anon_sym_rescue] = ACTIONS(1398),
    [anon_sym_do] = ACTIONS(1398),
    [anon_sym_when] = ACTIONS(1398),
    [anon_sym_elsif] = ACTIONS(1398),
    [anon_sym_else] = ACTIONS(1398),
    [anon_sym_then] = ACTIONS(1398),
    [anon_sym_ensure] = ACTIONS(1398),
    [anon_sym_EQ_GT] = ACTIONS(1398),
    [anon_sym_AMP_DOT] = ACTIONS(1398),
    [anon_sym_PLUS_EQ] = ACTIONS(1398),
    [anon_sym_DASH_EQ] = ACTIONS(1398),
    [anon_sym_STAR_EQ] = ACTIONS(1398),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1398),
    [anon_sym_SLASH_EQ] = ACTIONS(1398),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1398),
    [anon_sym_PIPE_EQ] = ACTIONS(1398),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1398),
    [anon_sym_AMP_EQ] = ACTIONS(1398),
    [anon_sym_PERCENT_EQ] = ACTIONS(1398),
    [anon_sym_GT_GT_EQ] = ACTIONS(1398),
    [anon_sym_LT_LT_EQ] = ACTIONS(1398),
    [anon_sym_CARET_EQ] = ACTIONS(1398),
    [anon_sym_QMARK] = ACTIONS(1398),
    [anon_sym_DOT_DOT] = ACTIONS(2666),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1398),
    [anon_sym_and] = ACTIONS(1398),
    [anon_sym_or] = ACTIONS(1398),
    [anon_sym_PIPE_PIPE] = ACTIONS(2666),
    [anon_sym_AMP_AMP] = ACTIONS(2666),
    [anon_sym_LT_LT] = ACTIONS(2666),
    [anon_sym_GT_GT] = ACTIONS(2666),
    [anon_sym_EQ_EQ] = ACTIONS(2666),
    [anon_sym_BANG_EQ] = ACTIONS(1398),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1398),
    [anon_sym_LT_EQ_GT] = ACTIONS(1398),
    [anon_sym_EQ_TILDE] = ACTIONS(1398),
    [anon_sym_BANG_TILDE] = ACTIONS(1398),
    [anon_sym_LT_EQ] = ACTIONS(2666),
    [anon_sym_GT] = ACTIONS(2666),
    [anon_sym_GT_EQ] = ACTIONS(1398),
    [anon_sym_CARET] = ACTIONS(2666),
    [anon_sym_PLUS] = ACTIONS(2666),
    [anon_sym_SLASH] = ACTIONS(2666),
    [anon_sym_PERCENT] = ACTIONS(2666),
    [sym_comment] = ACTIONS(256),
  },
  [3769] = {
    [sym__statement] = STATE(6943),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [aux_sym_heredoc_end_repeat1] = STATE(6944),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [3770] = {
    [sym__simple_heredoc_body] = ACTIONS(5468),
    [sym__heredoc_body_beginning] = ACTIONS(5468),
    [sym__line_break] = ACTIONS(5468),
    [sym__element_reference_left_bracket] = ACTIONS(5468),
    [sym__scope_double_colon] = ACTIONS(5468),
    [sym__binary_minus] = ACTIONS(5468),
    [sym__binary_star] = ACTIONS(5468),
    [ts_builtin_sym_end] = ACTIONS(5468),
    [anon_sym___END__] = ACTIONS(5468),
    [anon_sym_LBRACE] = ACTIONS(5468),
    [anon_sym_RBRACE] = ACTIONS(5468),
    [anon_sym_RPAREN] = ACTIONS(5468),
    [anon_sym_DOT] = ACTIONS(5470),
    [anon_sym_end] = ACTIONS(5468),
    [anon_sym_COMMA] = ACTIONS(5468),
    [anon_sym_PIPE] = ACTIONS(5470),
    [anon_sym_SEMI] = ACTIONS(5468),
    [anon_sym_STAR_STAR] = ACTIONS(5470),
    [anon_sym_AMP] = ACTIONS(5470),
    [anon_sym_EQ] = ACTIONS(5470),
    [anon_sym_LT] = ACTIONS(5470),
    [anon_sym_if] = ACTIONS(5468),
    [anon_sym_unless] = ACTIONS(5468),
    [anon_sym_while] = ACTIONS(5468),
    [anon_sym_until] = ACTIONS(5468),
    [anon_sym_rescue] = ACTIONS(5468),
    [anon_sym_do] = ACTIONS(5468),
    [anon_sym_when] = ACTIONS(5468),
    [anon_sym_elsif] = ACTIONS(5468),
    [anon_sym_else] = ACTIONS(5468),
    [anon_sym_then] = ACTIONS(5468),
    [anon_sym_ensure] = ACTIONS(5468),
    [anon_sym_EQ_GT] = ACTIONS(5468),
    [anon_sym_AMP_DOT] = ACTIONS(5468),
    [anon_sym_PLUS_EQ] = ACTIONS(5468),
    [anon_sym_DASH_EQ] = ACTIONS(5468),
    [anon_sym_STAR_EQ] = ACTIONS(5468),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5468),
    [anon_sym_SLASH_EQ] = ACTIONS(5468),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5468),
    [anon_sym_PIPE_EQ] = ACTIONS(5468),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5468),
    [anon_sym_AMP_EQ] = ACTIONS(5468),
    [anon_sym_PERCENT_EQ] = ACTIONS(5468),
    [anon_sym_GT_GT_EQ] = ACTIONS(5468),
    [anon_sym_LT_LT_EQ] = ACTIONS(5468),
    [anon_sym_CARET_EQ] = ACTIONS(5468),
    [anon_sym_QMARK] = ACTIONS(5468),
    [anon_sym_DOT_DOT] = ACTIONS(5470),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5468),
    [anon_sym_and] = ACTIONS(5468),
    [anon_sym_or] = ACTIONS(5468),
    [anon_sym_PIPE_PIPE] = ACTIONS(5470),
    [anon_sym_AMP_AMP] = ACTIONS(5470),
    [anon_sym_LT_LT] = ACTIONS(5470),
    [anon_sym_GT_GT] = ACTIONS(5470),
    [anon_sym_EQ_EQ] = ACTIONS(5470),
    [anon_sym_BANG_EQ] = ACTIONS(5468),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5468),
    [anon_sym_LT_EQ_GT] = ACTIONS(5468),
    [anon_sym_EQ_TILDE] = ACTIONS(5468),
    [anon_sym_BANG_TILDE] = ACTIONS(5468),
    [anon_sym_LT_EQ] = ACTIONS(5470),
    [anon_sym_GT] = ACTIONS(5470),
    [anon_sym_GT_EQ] = ACTIONS(5468),
    [anon_sym_CARET] = ACTIONS(5470),
    [anon_sym_PLUS] = ACTIONS(5470),
    [anon_sym_SLASH] = ACTIONS(5470),
    [anon_sym_PERCENT] = ACTIONS(5470),
    [sym_comment] = ACTIONS(256),
  },
  [3771] = {
    [sym_heredoc_end] = STATE(6945),
    [sym__simple_heredoc_body] = ACTIONS(5460),
    [sym__heredoc_body_beginning] = ACTIONS(5462),
    [sym__line_break] = ACTIONS(5472),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [ts_builtin_sym_end] = ACTIONS(5472),
    [anon_sym___END__] = ACTIONS(5472),
    [anon_sym_LBRACE] = ACTIONS(5472),
    [anon_sym_RBRACE] = ACTIONS(5472),
    [anon_sym_RPAREN] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_end] = ACTIONS(5472),
    [anon_sym_COMMA] = ACTIONS(5472),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_SEMI] = ACTIONS(5472),
    [anon_sym_STAR_STAR] = ACTIONS(5474),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_EQ] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_if] = ACTIONS(5472),
    [anon_sym_unless] = ACTIONS(5472),
    [anon_sym_while] = ACTIONS(5472),
    [anon_sym_until] = ACTIONS(5472),
    [anon_sym_rescue] = ACTIONS(5472),
    [anon_sym_do] = ACTIONS(5472),
    [anon_sym_when] = ACTIONS(5472),
    [anon_sym_elsif] = ACTIONS(5472),
    [anon_sym_else] = ACTIONS(5472),
    [anon_sym_then] = ACTIONS(5472),
    [anon_sym_ensure] = ACTIONS(5472),
    [anon_sym_EQ_GT] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_PLUS_EQ] = ACTIONS(5472),
    [anon_sym_DASH_EQ] = ACTIONS(5472),
    [anon_sym_STAR_EQ] = ACTIONS(5472),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5472),
    [anon_sym_SLASH_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5472),
    [anon_sym_AMP_EQ] = ACTIONS(5472),
    [anon_sym_PERCENT_EQ] = ACTIONS(5472),
    [anon_sym_GT_GT_EQ] = ACTIONS(5472),
    [anon_sym_LT_LT_EQ] = ACTIONS(5472),
    [anon_sym_CARET_EQ] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5474),
    [anon_sym_AMP_AMP] = ACTIONS(5474),
    [anon_sym_LT_LT] = ACTIONS(5474),
    [anon_sym_GT_GT] = ACTIONS(5474),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5474),
    [anon_sym_PLUS] = ACTIONS(5474),
    [anon_sym_SLASH] = ACTIONS(5474),
    [anon_sym_PERCENT] = ACTIONS(5474),
    [sym_comment] = ACTIONS(256),
  },
  [3772] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1434),
    [sym__primary] = STATE(596),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(597),
    [sym_call] = STATE(597),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(6946),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(605),
    [sym__variable] = STATE(597),
    [sym_reserved_identifier] = STATE(1440),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1441),
    [sym_subshell] = STATE(561),
    [sym_heredoc_end] = STATE(6947),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__block_ampersand] = ACTIONS(2252),
    [sym__splat_star] = ACTIONS(2254),
    [sym__unary_minus] = ACTIONS(1012),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(9486),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(1024),
    [anon_sym_yield] = ACTIONS(1026),
    [anon_sym_break] = ACTIONS(1028),
    [anon_sym_next] = ACTIONS(1030),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(3262),
    [anon_sym_defined_QMARK] = ACTIONS(1044),
    [anon_sym_not] = ACTIONS(1046),
    [anon_sym_BANG] = ACTIONS(1050),
    [anon_sym_TILDE] = ACTIONS(1050),
    [sym_constant] = ACTIONS(2262),
    [sym_identifier] = ACTIONS(2262),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(588),
    [anon_sym_super] = ACTIONS(590),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3773] = {
    [sym_heredoc_end] = STATE(3770),
    [aux_sym_argument_list_repeat2] = STATE(6949),
    [sym__simple_heredoc_body] = ACTIONS(5460),
    [sym__heredoc_body_beginning] = ACTIONS(5462),
    [sym__line_break] = ACTIONS(5472),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [ts_builtin_sym_end] = ACTIONS(5472),
    [anon_sym___END__] = ACTIONS(5472),
    [anon_sym_LBRACE] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(9488),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_SEMI] = ACTIONS(5472),
    [anon_sym_STAR_STAR] = ACTIONS(5474),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_EQ] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_if] = ACTIONS(5472),
    [anon_sym_unless] = ACTIONS(5472),
    [anon_sym_while] = ACTIONS(5472),
    [anon_sym_until] = ACTIONS(5472),
    [anon_sym_rescue] = ACTIONS(5472),
    [anon_sym_do] = ACTIONS(5472),
    [anon_sym_EQ_GT] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_PLUS_EQ] = ACTIONS(5472),
    [anon_sym_DASH_EQ] = ACTIONS(5472),
    [anon_sym_STAR_EQ] = ACTIONS(5472),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5472),
    [anon_sym_SLASH_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5472),
    [anon_sym_AMP_EQ] = ACTIONS(5472),
    [anon_sym_PERCENT_EQ] = ACTIONS(5472),
    [anon_sym_GT_GT_EQ] = ACTIONS(5472),
    [anon_sym_LT_LT_EQ] = ACTIONS(5472),
    [anon_sym_CARET_EQ] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5474),
    [anon_sym_AMP_AMP] = ACTIONS(5474),
    [anon_sym_LT_LT] = ACTIONS(5474),
    [anon_sym_GT_GT] = ACTIONS(5474),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5474),
    [anon_sym_PLUS] = ACTIONS(5474),
    [anon_sym_SLASH] = ACTIONS(5474),
    [anon_sym_PERCENT] = ACTIONS(5474),
    [sym_comment] = ACTIONS(256),
  },
  [3774] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(6950),
    [sym__primary] = STATE(596),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(597),
    [sym_call] = STATE(597),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(605),
    [sym__variable] = STATE(597),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(1012),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(3236),
    [anon_sym_yield] = ACTIONS(3238),
    [anon_sym_break] = ACTIONS(3240),
    [anon_sym_next] = ACTIONS(3242),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(3262),
    [anon_sym_defined_QMARK] = ACTIONS(1044),
    [anon_sym_not] = ACTIONS(3264),
    [anon_sym_BANG] = ACTIONS(1050),
    [anon_sym_TILDE] = ACTIONS(1050),
    [sym_constant] = ACTIONS(2194),
    [sym_identifier] = ACTIONS(2194),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2196),
    [anon_sym_super] = ACTIONS(2198),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3775] = {
    [sym__heredoc_body_middle] = ACTIONS(4108),
    [sym__heredoc_body_end] = ACTIONS(9490),
    [anon_sym_if] = ACTIONS(4112),
    [anon_sym_unless] = ACTIONS(4114),
    [anon_sym_while] = ACTIONS(4116),
    [anon_sym_until] = ACTIONS(4118),
    [anon_sym_rescue] = ACTIONS(4120),
    [sym_comment] = ACTIONS(110),
  },
  [3776] = {
    [sym__statement] = STATE(6952),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [3777] = {
    [sym__simple_heredoc_body] = ACTIONS(9492),
    [sym__heredoc_body_beginning] = ACTIONS(9492),
    [sym__line_break] = ACTIONS(9492),
    [sym__element_reference_left_bracket] = ACTIONS(9492),
    [sym__scope_double_colon] = ACTIONS(9492),
    [sym__binary_minus] = ACTIONS(9492),
    [sym__binary_star] = ACTIONS(9492),
    [ts_builtin_sym_end] = ACTIONS(9492),
    [anon_sym___END__] = ACTIONS(9492),
    [anon_sym_LBRACE] = ACTIONS(9492),
    [anon_sym_RBRACE] = ACTIONS(9492),
    [anon_sym_RPAREN] = ACTIONS(9492),
    [anon_sym_DOT] = ACTIONS(9494),
    [anon_sym_end] = ACTIONS(9492),
    [anon_sym_COMMA] = ACTIONS(9492),
    [anon_sym_PIPE] = ACTIONS(9494),
    [anon_sym_SEMI] = ACTIONS(9492),
    [anon_sym_STAR_STAR] = ACTIONS(9492),
    [anon_sym_AMP] = ACTIONS(9494),
    [anon_sym_LT] = ACTIONS(9494),
    [anon_sym_if] = ACTIONS(9492),
    [anon_sym_unless] = ACTIONS(9492),
    [anon_sym_while] = ACTIONS(9492),
    [anon_sym_until] = ACTIONS(9492),
    [anon_sym_rescue] = ACTIONS(9492),
    [anon_sym_do] = ACTIONS(9492),
    [anon_sym_when] = ACTIONS(9492),
    [anon_sym_elsif] = ACTIONS(9492),
    [anon_sym_else] = ACTIONS(9492),
    [anon_sym_then] = ACTIONS(9492),
    [anon_sym_ensure] = ACTIONS(9492),
    [anon_sym_EQ_GT] = ACTIONS(9492),
    [anon_sym_AMP_DOT] = ACTIONS(9492),
    [anon_sym_QMARK] = ACTIONS(9492),
    [anon_sym_DOT_DOT] = ACTIONS(9494),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9492),
    [anon_sym_and] = ACTIONS(9492),
    [anon_sym_or] = ACTIONS(9492),
    [anon_sym_PIPE_PIPE] = ACTIONS(9492),
    [anon_sym_AMP_AMP] = ACTIONS(9492),
    [anon_sym_LT_LT] = ACTIONS(9492),
    [anon_sym_GT_GT] = ACTIONS(9492),
    [anon_sym_EQ_EQ] = ACTIONS(9494),
    [anon_sym_BANG_EQ] = ACTIONS(9492),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9492),
    [anon_sym_LT_EQ_GT] = ACTIONS(9492),
    [anon_sym_EQ_TILDE] = ACTIONS(9492),
    [anon_sym_BANG_TILDE] = ACTIONS(9492),
    [anon_sym_LT_EQ] = ACTIONS(9494),
    [anon_sym_GT] = ACTIONS(9494),
    [anon_sym_GT_EQ] = ACTIONS(9492),
    [anon_sym_CARET] = ACTIONS(9492),
    [anon_sym_PLUS] = ACTIONS(9492),
    [anon_sym_SLASH] = ACTIONS(9492),
    [anon_sym_PERCENT] = ACTIONS(9492),
    [sym_comment] = ACTIONS(110),
  },
  [3778] = {
    [sym__simple_string] = ACTIONS(1398),
    [sym__simple_symbol] = ACTIONS(1398),
    [sym__simple_subshell] = ACTIONS(1398),
    [sym__simple_regex] = ACTIONS(1398),
    [sym__simple_word_list] = ACTIONS(1398),
    [sym__string_beginning] = ACTIONS(1398),
    [sym__symbol_beginning] = ACTIONS(1398),
    [sym__subshell_beginning] = ACTIONS(1398),
    [sym__regex_beginning] = ACTIONS(1398),
    [sym__word_list_beginning] = ACTIONS(1398),
    [sym_heredoc_beginning] = ACTIONS(1398),
    [sym__block_ampersand] = ACTIONS(1398),
    [sym__splat_star] = ACTIONS(1398),
    [sym__unary_minus] = ACTIONS(1398),
    [anon_sym_LBRACE] = ACTIONS(1398),
    [anon_sym_def] = ACTIONS(2666),
    [anon_sym_LPAREN] = ACTIONS(1398),
    [anon_sym_COLON_COLON] = ACTIONS(1398),
    [anon_sym_end] = ACTIONS(2666),
    [anon_sym_STAR] = ACTIONS(2666),
    [anon_sym_STAR_STAR] = ACTIONS(1398),
    [anon_sym_class] = ACTIONS(2666),
    [anon_sym_module] = ACTIONS(2666),
    [anon_sym_return] = ACTIONS(2666),
    [anon_sym_yield] = ACTIONS(2666),
    [anon_sym_break] = ACTIONS(2666),
    [anon_sym_next] = ACTIONS(2666),
    [anon_sym_redo] = ACTIONS(2666),
    [anon_sym_retry] = ACTIONS(2666),
    [anon_sym_if] = ACTIONS(2666),
    [anon_sym_unless] = ACTIONS(2666),
    [anon_sym_while] = ACTIONS(2666),
    [anon_sym_until] = ACTIONS(2666),
    [anon_sym_rescue] = ACTIONS(2666),
    [anon_sym_for] = ACTIONS(2666),
    [anon_sym_in] = ACTIONS(2666),
    [anon_sym_do] = ACTIONS(2666),
    [anon_sym_case] = ACTIONS(2666),
    [anon_sym_when] = ACTIONS(2666),
    [anon_sym_elsif] = ACTIONS(2666),
    [anon_sym_else] = ACTIONS(2666),
    [anon_sym_then] = ACTIONS(2666),
    [anon_sym_begin] = ACTIONS(2666),
    [anon_sym_ensure] = ACTIONS(2666),
    [anon_sym_and] = ACTIONS(2666),
    [anon_sym_or] = ACTIONS(2666),
    [anon_sym_PLUS] = ACTIONS(2666),
    [anon_sym_defined_QMARK] = ACTIONS(1398),
    [anon_sym_not] = ACTIONS(2666),
    [anon_sym_BANG] = ACTIONS(1398),
    [anon_sym_TILDE] = ACTIONS(1398),
    [sym_constant] = ACTIONS(2668),
    [sym_identifier] = ACTIONS(2668),
    [sym_instance_variable] = ACTIONS(2666),
    [sym_class_variable] = ACTIONS(2666),
    [sym_global_variable] = ACTIONS(2666),
    [anon_sym_alias] = ACTIONS(2666),
    [anon_sym_defined] = ACTIONS(2666),
    [anon_sym_false] = ACTIONS(2666),
    [anon_sym_nil] = ACTIONS(2666),
    [anon_sym_self] = ACTIONS(2666),
    [anon_sym_super] = ACTIONS(2666),
    [anon_sym_true] = ACTIONS(2666),
    [anon_sym_undef] = ACTIONS(2666),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(2666),
    [sym_float] = ACTIONS(2668),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1398),
    [anon_sym_TRUE] = ACTIONS(2666),
    [anon_sym_FALSE] = ACTIONS(2666),
    [anon_sym_NIL] = ACTIONS(2666),
    [sym_keyword__FILE__] = ACTIONS(2666),
    [sym_keyword__LINE__] = ACTIONS(2666),
    [sym_keyword__ENCODING__] = ACTIONS(2666),
    [sym__character_literal] = ACTIONS(2666),
    [anon_sym_LBRACK] = ACTIONS(1398),
    [anon_sym_DASH_GT] = ACTIONS(1398),
  },
  [3779] = {
    [sym__statement] = STATE(6953),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [aux_sym_heredoc_end_repeat1] = STATE(6954),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [3780] = {
    [sym__simple_heredoc_body] = ACTIONS(9496),
    [sym__heredoc_body_beginning] = ACTIONS(9496),
    [sym__line_break] = ACTIONS(9496),
    [sym__element_reference_left_bracket] = ACTIONS(9496),
    [sym__scope_double_colon] = ACTIONS(9496),
    [sym__binary_minus] = ACTIONS(9496),
    [sym__binary_star] = ACTIONS(9496),
    [ts_builtin_sym_end] = ACTIONS(9496),
    [anon_sym___END__] = ACTIONS(9496),
    [anon_sym_LBRACE] = ACTIONS(9496),
    [anon_sym_RBRACE] = ACTIONS(9496),
    [anon_sym_RPAREN] = ACTIONS(9496),
    [anon_sym_DOT] = ACTIONS(9498),
    [anon_sym_end] = ACTIONS(9496),
    [anon_sym_COMMA] = ACTIONS(9496),
    [anon_sym_PIPE] = ACTIONS(9498),
    [anon_sym_SEMI] = ACTIONS(9496),
    [anon_sym_STAR_STAR] = ACTIONS(9496),
    [anon_sym_AMP] = ACTIONS(9498),
    [anon_sym_LT] = ACTIONS(9498),
    [anon_sym_if] = ACTIONS(9496),
    [anon_sym_unless] = ACTIONS(9496),
    [anon_sym_while] = ACTIONS(9496),
    [anon_sym_until] = ACTIONS(9496),
    [anon_sym_rescue] = ACTIONS(9496),
    [anon_sym_do] = ACTIONS(9496),
    [anon_sym_when] = ACTIONS(9496),
    [anon_sym_elsif] = ACTIONS(9496),
    [anon_sym_else] = ACTIONS(9496),
    [anon_sym_then] = ACTIONS(9496),
    [anon_sym_ensure] = ACTIONS(9496),
    [anon_sym_EQ_GT] = ACTIONS(9496),
    [anon_sym_AMP_DOT] = ACTIONS(9496),
    [anon_sym_QMARK] = ACTIONS(9496),
    [anon_sym_DOT_DOT] = ACTIONS(9498),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9496),
    [anon_sym_and] = ACTIONS(9496),
    [anon_sym_or] = ACTIONS(9496),
    [anon_sym_PIPE_PIPE] = ACTIONS(9496),
    [anon_sym_AMP_AMP] = ACTIONS(9496),
    [anon_sym_LT_LT] = ACTIONS(9496),
    [anon_sym_GT_GT] = ACTIONS(9496),
    [anon_sym_EQ_EQ] = ACTIONS(9498),
    [anon_sym_BANG_EQ] = ACTIONS(9496),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9496),
    [anon_sym_LT_EQ_GT] = ACTIONS(9496),
    [anon_sym_EQ_TILDE] = ACTIONS(9496),
    [anon_sym_BANG_TILDE] = ACTIONS(9496),
    [anon_sym_LT_EQ] = ACTIONS(9498),
    [anon_sym_GT] = ACTIONS(9498),
    [anon_sym_GT_EQ] = ACTIONS(9496),
    [anon_sym_CARET] = ACTIONS(9496),
    [anon_sym_PLUS] = ACTIONS(9496),
    [anon_sym_SLASH] = ACTIONS(9496),
    [anon_sym_PERCENT] = ACTIONS(9496),
    [sym_comment] = ACTIONS(110),
  },
  [3781] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(336),
    [sym__primary] = STATE(337),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(339),
    [sym_call] = STATE(339),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(6955),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(345),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(346),
    [sym__variable] = STATE(339),
    [sym_reserved_identifier] = STATE(347),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(348),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__block_ampersand] = ACTIONS(536),
    [sym__splat_star] = ACTIONS(538),
    [sym__unary_minus] = ACTIONS(542),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(5480),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(554),
    [anon_sym_yield] = ACTIONS(556),
    [anon_sym_break] = ACTIONS(558),
    [anon_sym_next] = ACTIONS(560),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2190),
    [anon_sym_defined_QMARK] = ACTIONS(572),
    [anon_sym_not] = ACTIONS(574),
    [anon_sym_BANG] = ACTIONS(578),
    [anon_sym_TILDE] = ACTIONS(578),
    [sym_constant] = ACTIONS(580),
    [sym_identifier] = ACTIONS(580),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(588),
    [anon_sym_super] = ACTIONS(590),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3782] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(336),
    [sym__primary] = STATE(337),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(339),
    [sym_call] = STATE(339),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(6955),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(345),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(346),
    [sym__variable] = STATE(339),
    [sym_reserved_identifier] = STATE(347),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(348),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(6956),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__block_ampersand] = ACTIONS(536),
    [sym__splat_star] = ACTIONS(538),
    [sym__unary_minus] = ACTIONS(542),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(5480),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(554),
    [anon_sym_yield] = ACTIONS(556),
    [anon_sym_break] = ACTIONS(558),
    [anon_sym_next] = ACTIONS(560),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2190),
    [anon_sym_defined_QMARK] = ACTIONS(572),
    [anon_sym_not] = ACTIONS(574),
    [anon_sym_BANG] = ACTIONS(578),
    [anon_sym_TILDE] = ACTIONS(578),
    [sym_constant] = ACTIONS(580),
    [sym_identifier] = ACTIONS(580),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(588),
    [anon_sym_super] = ACTIONS(590),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3783] = {
    [sym_heredoc_end] = STATE(3777),
    [sym__simple_heredoc_body] = ACTIONS(2268),
    [sym__heredoc_body_beginning] = ACTIONS(2270),
    [sym__line_break] = ACTIONS(9500),
    [sym__element_reference_left_bracket] = ACTIONS(9500),
    [sym__scope_double_colon] = ACTIONS(9500),
    [sym__binary_minus] = ACTIONS(9500),
    [sym__binary_star] = ACTIONS(9500),
    [ts_builtin_sym_end] = ACTIONS(9500),
    [anon_sym___END__] = ACTIONS(9500),
    [anon_sym_LBRACE] = ACTIONS(9500),
    [anon_sym_RBRACE] = ACTIONS(9500),
    [anon_sym_RPAREN] = ACTIONS(9500),
    [anon_sym_DOT] = ACTIONS(9502),
    [anon_sym_end] = ACTIONS(9500),
    [anon_sym_COMMA] = ACTIONS(9500),
    [anon_sym_PIPE] = ACTIONS(9502),
    [anon_sym_SEMI] = ACTIONS(9500),
    [anon_sym_STAR_STAR] = ACTIONS(9500),
    [anon_sym_AMP] = ACTIONS(9502),
    [anon_sym_LT] = ACTIONS(9502),
    [anon_sym_if] = ACTIONS(9500),
    [anon_sym_unless] = ACTIONS(9500),
    [anon_sym_while] = ACTIONS(9500),
    [anon_sym_until] = ACTIONS(9500),
    [anon_sym_rescue] = ACTIONS(9500),
    [anon_sym_do] = ACTIONS(9500),
    [anon_sym_when] = ACTIONS(9500),
    [anon_sym_elsif] = ACTIONS(9500),
    [anon_sym_else] = ACTIONS(9500),
    [anon_sym_then] = ACTIONS(9500),
    [anon_sym_ensure] = ACTIONS(9500),
    [anon_sym_EQ_GT] = ACTIONS(9500),
    [anon_sym_AMP_DOT] = ACTIONS(9500),
    [anon_sym_QMARK] = ACTIONS(9500),
    [anon_sym_DOT_DOT] = ACTIONS(9502),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9500),
    [anon_sym_and] = ACTIONS(9500),
    [anon_sym_or] = ACTIONS(9500),
    [anon_sym_PIPE_PIPE] = ACTIONS(9500),
    [anon_sym_AMP_AMP] = ACTIONS(9500),
    [anon_sym_LT_LT] = ACTIONS(9500),
    [anon_sym_GT_GT] = ACTIONS(9500),
    [anon_sym_EQ_EQ] = ACTIONS(9502),
    [anon_sym_BANG_EQ] = ACTIONS(9500),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9500),
    [anon_sym_LT_EQ_GT] = ACTIONS(9500),
    [anon_sym_EQ_TILDE] = ACTIONS(9500),
    [anon_sym_BANG_TILDE] = ACTIONS(9500),
    [anon_sym_LT_EQ] = ACTIONS(9502),
    [anon_sym_GT] = ACTIONS(9502),
    [anon_sym_GT_EQ] = ACTIONS(9500),
    [anon_sym_CARET] = ACTIONS(9500),
    [anon_sym_PLUS] = ACTIONS(9500),
    [anon_sym_SLASH] = ACTIONS(9500),
    [anon_sym_PERCENT] = ACTIONS(9500),
    [sym_comment] = ACTIONS(110),
  },
  [3784] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__line_break] = ACTIONS(6346),
    [sym__element_reference_left_bracket] = ACTIONS(6346),
    [sym__scope_double_colon] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(2212),
    [sym__binary_star] = ACTIONS(2214),
    [ts_builtin_sym_end] = ACTIONS(6346),
    [anon_sym___END__] = ACTIONS(6346),
    [anon_sym_DOT] = ACTIONS(7328),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(2218),
    [anon_sym_SEMI] = ACTIONS(6346),
    [anon_sym_STAR_STAR] = ACTIONS(2220),
    [anon_sym_AMP] = ACTIONS(2222),
    [anon_sym_LT] = ACTIONS(2224),
    [anon_sym_if] = ACTIONS(6346),
    [anon_sym_unless] = ACTIONS(6346),
    [anon_sym_while] = ACTIONS(6346),
    [anon_sym_until] = ACTIONS(6346),
    [anon_sym_rescue] = ACTIONS(6346),
    [anon_sym_EQ_GT] = ACTIONS(6346),
    [anon_sym_AMP_DOT] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(2226),
    [anon_sym_DOT_DOT] = ACTIONS(2228),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2230),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(2232),
    [anon_sym_AMP_AMP] = ACTIONS(2232),
    [anon_sym_LT_LT] = ACTIONS(2234),
    [anon_sym_GT_GT] = ACTIONS(2234),
    [anon_sym_EQ_EQ] = ACTIONS(2236),
    [anon_sym_BANG_EQ] = ACTIONS(2232),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2232),
    [anon_sym_LT_EQ_GT] = ACTIONS(2232),
    [anon_sym_EQ_TILDE] = ACTIONS(2232),
    [anon_sym_BANG_TILDE] = ACTIONS(2232),
    [anon_sym_LT_EQ] = ACTIONS(2224),
    [anon_sym_GT] = ACTIONS(2224),
    [anon_sym_GT_EQ] = ACTIONS(2238),
    [anon_sym_CARET] = ACTIONS(2240),
    [anon_sym_PLUS] = ACTIONS(2242),
    [anon_sym_SLASH] = ACTIONS(2220),
    [anon_sym_PERCENT] = ACTIONS(2220),
    [sym_comment] = ACTIONS(110),
  },
  [3785] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__line_break] = ACTIONS(6346),
    [sym__element_reference_left_bracket] = ACTIONS(6346),
    [sym__scope_double_colon] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(6346),
    [sym__binary_star] = ACTIONS(6346),
    [ts_builtin_sym_end] = ACTIONS(6346),
    [anon_sym___END__] = ACTIONS(6346),
    [anon_sym_LBRACE] = ACTIONS(6346),
    [anon_sym_RBRACE] = ACTIONS(6346),
    [anon_sym_RPAREN] = ACTIONS(6346),
    [anon_sym_DOT] = ACTIONS(7328),
    [anon_sym_end] = ACTIONS(6346),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(7328),
    [anon_sym_SEMI] = ACTIONS(6346),
    [anon_sym_STAR_STAR] = ACTIONS(6346),
    [anon_sym_AMP] = ACTIONS(7328),
    [anon_sym_LT] = ACTIONS(7328),
    [anon_sym_if] = ACTIONS(6346),
    [anon_sym_unless] = ACTIONS(6346),
    [anon_sym_while] = ACTIONS(6346),
    [anon_sym_until] = ACTIONS(6346),
    [anon_sym_rescue] = ACTIONS(6346),
    [anon_sym_do] = ACTIONS(6346),
    [anon_sym_when] = ACTIONS(6346),
    [anon_sym_elsif] = ACTIONS(6346),
    [anon_sym_else] = ACTIONS(6346),
    [anon_sym_then] = ACTIONS(6346),
    [anon_sym_ensure] = ACTIONS(6346),
    [anon_sym_EQ_GT] = ACTIONS(6346),
    [anon_sym_AMP_DOT] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(6346),
    [anon_sym_DOT_DOT] = ACTIONS(7328),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6346),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(6346),
    [anon_sym_AMP_AMP] = ACTIONS(6346),
    [anon_sym_LT_LT] = ACTIONS(6346),
    [anon_sym_GT_GT] = ACTIONS(6346),
    [anon_sym_EQ_EQ] = ACTIONS(7328),
    [anon_sym_BANG_EQ] = ACTIONS(6346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6346),
    [anon_sym_LT_EQ_GT] = ACTIONS(6346),
    [anon_sym_EQ_TILDE] = ACTIONS(6346),
    [anon_sym_BANG_TILDE] = ACTIONS(6346),
    [anon_sym_LT_EQ] = ACTIONS(7328),
    [anon_sym_GT] = ACTIONS(7328),
    [anon_sym_GT_EQ] = ACTIONS(6346),
    [anon_sym_CARET] = ACTIONS(6346),
    [anon_sym_PLUS] = ACTIONS(6346),
    [anon_sym_SLASH] = ACTIONS(6346),
    [anon_sym_PERCENT] = ACTIONS(6346),
    [sym_comment] = ACTIONS(110),
  },
  [3786] = {
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__line_break] = ACTIONS(7330),
    [sym__element_reference_left_bracket] = ACTIONS(7330),
    [sym__scope_double_colon] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [ts_builtin_sym_end] = ACTIONS(7330),
    [anon_sym___END__] = ACTIONS(7330),
    [anon_sym_LBRACE] = ACTIONS(7330),
    [anon_sym_RBRACE] = ACTIONS(7330),
    [anon_sym_RPAREN] = ACTIONS(7330),
    [anon_sym_DOT] = ACTIONS(7332),
    [anon_sym_end] = ACTIONS(7330),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_SEMI] = ACTIONS(7330),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_if] = ACTIONS(7330),
    [anon_sym_unless] = ACTIONS(7330),
    [anon_sym_while] = ACTIONS(7330),
    [anon_sym_until] = ACTIONS(7330),
    [anon_sym_rescue] = ACTIONS(7330),
    [anon_sym_do] = ACTIONS(7330),
    [anon_sym_when] = ACTIONS(7330),
    [anon_sym_elsif] = ACTIONS(7330),
    [anon_sym_else] = ACTIONS(7330),
    [anon_sym_then] = ACTIONS(7330),
    [anon_sym_ensure] = ACTIONS(7330),
    [anon_sym_EQ_GT] = ACTIONS(7330),
    [anon_sym_AMP_DOT] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [3787] = {
    [aux_sym_exceptions_repeat1] = STATE(6958),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__line_break] = ACTIONS(7330),
    [sym__element_reference_left_bracket] = ACTIONS(7330),
    [sym__scope_double_colon] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [ts_builtin_sym_end] = ACTIONS(7330),
    [anon_sym___END__] = ACTIONS(7330),
    [anon_sym_DOT] = ACTIONS(7332),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_SEMI] = ACTIONS(7330),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_if] = ACTIONS(7330),
    [anon_sym_unless] = ACTIONS(7330),
    [anon_sym_while] = ACTIONS(7330),
    [anon_sym_until] = ACTIONS(7330),
    [anon_sym_rescue] = ACTIONS(7330),
    [anon_sym_EQ_GT] = ACTIONS(7330),
    [anon_sym_AMP_DOT] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [3788] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__line_break] = ACTIONS(7344),
    [sym__element_reference_left_bracket] = ACTIONS(7344),
    [sym__scope_double_colon] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(2212),
    [sym__binary_star] = ACTIONS(2214),
    [ts_builtin_sym_end] = ACTIONS(7344),
    [anon_sym___END__] = ACTIONS(7344),
    [anon_sym_DOT] = ACTIONS(9504),
    [anon_sym_COMMA] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(2218),
    [anon_sym_SEMI] = ACTIONS(7344),
    [anon_sym_STAR_STAR] = ACTIONS(2220),
    [anon_sym_AMP] = ACTIONS(2222),
    [anon_sym_LT] = ACTIONS(2224),
    [anon_sym_if] = ACTIONS(7344),
    [anon_sym_unless] = ACTIONS(7344),
    [anon_sym_while] = ACTIONS(7344),
    [anon_sym_until] = ACTIONS(7344),
    [anon_sym_rescue] = ACTIONS(7344),
    [anon_sym_EQ_GT] = ACTIONS(7344),
    [anon_sym_AMP_DOT] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(2226),
    [anon_sym_DOT_DOT] = ACTIONS(2228),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2230),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(2232),
    [anon_sym_AMP_AMP] = ACTIONS(2232),
    [anon_sym_LT_LT] = ACTIONS(2234),
    [anon_sym_GT_GT] = ACTIONS(2234),
    [anon_sym_EQ_EQ] = ACTIONS(2236),
    [anon_sym_BANG_EQ] = ACTIONS(2232),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2232),
    [anon_sym_LT_EQ_GT] = ACTIONS(2232),
    [anon_sym_EQ_TILDE] = ACTIONS(2232),
    [anon_sym_BANG_TILDE] = ACTIONS(2232),
    [anon_sym_LT_EQ] = ACTIONS(2224),
    [anon_sym_GT] = ACTIONS(2224),
    [anon_sym_GT_EQ] = ACTIONS(2238),
    [anon_sym_CARET] = ACTIONS(2240),
    [anon_sym_PLUS] = ACTIONS(2242),
    [anon_sym_SLASH] = ACTIONS(2220),
    [anon_sym_PERCENT] = ACTIONS(2220),
    [sym_comment] = ACTIONS(110),
  },
  [3789] = {
    [sym__simple_heredoc_body] = ACTIONS(8662),
    [sym__heredoc_body_beginning] = ACTIONS(8662),
    [sym__line_break] = ACTIONS(8662),
    [sym__element_reference_left_bracket] = ACTIONS(8662),
    [sym__scope_double_colon] = ACTIONS(8662),
    [sym__binary_minus] = ACTIONS(5300),
    [sym__binary_star] = ACTIONS(5302),
    [ts_builtin_sym_end] = ACTIONS(8662),
    [anon_sym___END__] = ACTIONS(8662),
    [anon_sym_DOT] = ACTIONS(9506),
    [anon_sym_COMMA] = ACTIONS(8662),
    [anon_sym_PIPE] = ACTIONS(5306),
    [anon_sym_SEMI] = ACTIONS(8662),
    [anon_sym_STAR_STAR] = ACTIONS(5308),
    [anon_sym_AMP] = ACTIONS(5310),
    [anon_sym_LT] = ACTIONS(5312),
    [anon_sym_if] = ACTIONS(8662),
    [anon_sym_unless] = ACTIONS(8662),
    [anon_sym_while] = ACTIONS(8662),
    [anon_sym_until] = ACTIONS(8662),
    [anon_sym_rescue] = ACTIONS(8662),
    [anon_sym_AMP_DOT] = ACTIONS(8662),
    [anon_sym_QMARK] = ACTIONS(5314),
    [anon_sym_DOT_DOT] = ACTIONS(5316),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5318),
    [anon_sym_and] = ACTIONS(8662),
    [anon_sym_or] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE] = ACTIONS(5320),
    [anon_sym_AMP_AMP] = ACTIONS(5320),
    [anon_sym_LT_LT] = ACTIONS(5322),
    [anon_sym_GT_GT] = ACTIONS(5322),
    [anon_sym_EQ_EQ] = ACTIONS(5324),
    [anon_sym_BANG_EQ] = ACTIONS(5320),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5320),
    [anon_sym_LT_EQ_GT] = ACTIONS(5320),
    [anon_sym_EQ_TILDE] = ACTIONS(5320),
    [anon_sym_BANG_TILDE] = ACTIONS(5320),
    [anon_sym_LT_EQ] = ACTIONS(5312),
    [anon_sym_GT] = ACTIONS(5312),
    [anon_sym_GT_EQ] = ACTIONS(5326),
    [anon_sym_CARET] = ACTIONS(5328),
    [anon_sym_PLUS] = ACTIONS(5330),
    [anon_sym_SLASH] = ACTIONS(5308),
    [anon_sym_PERCENT] = ACTIONS(5308),
    [sym_comment] = ACTIONS(110),
  },
  [3790] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6959),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3795),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3796),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5484),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5486),
    [anon_sym_defined_QMARK] = ACTIONS(5488),
    [anon_sym_not] = ACTIONS(5490),
    [anon_sym_BANG] = ACTIONS(5492),
    [anon_sym_TILDE] = ACTIONS(5492),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3791] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6960),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3795),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3796),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5484),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5486),
    [anon_sym_defined_QMARK] = ACTIONS(5488),
    [anon_sym_not] = ACTIONS(5490),
    [anon_sym_BANG] = ACTIONS(5492),
    [anon_sym_TILDE] = ACTIONS(5492),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3792] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6961),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3795),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3796),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5484),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5486),
    [anon_sym_defined_QMARK] = ACTIONS(5488),
    [anon_sym_not] = ACTIONS(5490),
    [anon_sym_BANG] = ACTIONS(5492),
    [anon_sym_TILDE] = ACTIONS(5492),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3793] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1410),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3795),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3796),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5484),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5486),
    [anon_sym_defined_QMARK] = ACTIONS(5488),
    [anon_sym_not] = ACTIONS(5490),
    [anon_sym_BANG] = ACTIONS(5492),
    [anon_sym_TILDE] = ACTIONS(5492),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3794] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__line_break] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(9508),
    [sym__binary_star] = ACTIONS(9510),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(9512),
    [anon_sym_SEMI] = ACTIONS(5298),
    [anon_sym_STAR_STAR] = ACTIONS(9514),
    [anon_sym_AMP] = ACTIONS(9516),
    [anon_sym_LT] = ACTIONS(9518),
    [anon_sym_if] = ACTIONS(5298),
    [anon_sym_unless] = ACTIONS(5298),
    [anon_sym_while] = ACTIONS(5298),
    [anon_sym_until] = ACTIONS(5298),
    [anon_sym_rescue] = ACTIONS(5298),
    [anon_sym_then] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(9520),
    [anon_sym_DOT_DOT] = ACTIONS(9522),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9524),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(9526),
    [anon_sym_AMP_AMP] = ACTIONS(9526),
    [anon_sym_LT_LT] = ACTIONS(9528),
    [anon_sym_GT_GT] = ACTIONS(9528),
    [anon_sym_EQ_EQ] = ACTIONS(9530),
    [anon_sym_BANG_EQ] = ACTIONS(9526),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9526),
    [anon_sym_LT_EQ_GT] = ACTIONS(9526),
    [anon_sym_EQ_TILDE] = ACTIONS(9526),
    [anon_sym_BANG_TILDE] = ACTIONS(9526),
    [anon_sym_LT_EQ] = ACTIONS(9518),
    [anon_sym_GT] = ACTIONS(9518),
    [anon_sym_GT_EQ] = ACTIONS(9532),
    [anon_sym_CARET] = ACTIONS(9534),
    [anon_sym_PLUS] = ACTIONS(9536),
    [anon_sym_SLASH] = ACTIONS(9514),
    [anon_sym_PERCENT] = ACTIONS(9514),
    [sym_comment] = ACTIONS(110),
  },
  [3795] = {
    [anon_sym_EQ] = ACTIONS(9538),
    [sym_comment] = ACTIONS(256),
  },
  [3796] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(9540),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_then] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(9542),
    [anon_sym_DASH_EQ] = ACTIONS(9542),
    [anon_sym_STAR_EQ] = ACTIONS(9542),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9542),
    [anon_sym_SLASH_EQ] = ACTIONS(9542),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9542),
    [anon_sym_PIPE_EQ] = ACTIONS(9542),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9542),
    [anon_sym_AMP_EQ] = ACTIONS(9542),
    [anon_sym_PERCENT_EQ] = ACTIONS(9542),
    [anon_sym_GT_GT_EQ] = ACTIONS(9542),
    [anon_sym_LT_LT_EQ] = ACTIONS(9542),
    [anon_sym_CARET_EQ] = ACTIONS(9542),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [3797] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__line_break] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(9508),
    [sym__binary_star] = ACTIONS(9510),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(9512),
    [anon_sym_SEMI] = ACTIONS(5338),
    [anon_sym_STAR_STAR] = ACTIONS(9514),
    [anon_sym_AMP] = ACTIONS(9516),
    [anon_sym_LT] = ACTIONS(9518),
    [anon_sym_if] = ACTIONS(5338),
    [anon_sym_unless] = ACTIONS(5338),
    [anon_sym_while] = ACTIONS(5338),
    [anon_sym_until] = ACTIONS(5338),
    [anon_sym_rescue] = ACTIONS(5338),
    [anon_sym_then] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(9520),
    [anon_sym_DOT_DOT] = ACTIONS(9522),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9524),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(9526),
    [anon_sym_AMP_AMP] = ACTIONS(9526),
    [anon_sym_LT_LT] = ACTIONS(9528),
    [anon_sym_GT_GT] = ACTIONS(9528),
    [anon_sym_EQ_EQ] = ACTIONS(9530),
    [anon_sym_BANG_EQ] = ACTIONS(9526),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9526),
    [anon_sym_LT_EQ_GT] = ACTIONS(9526),
    [anon_sym_EQ_TILDE] = ACTIONS(9526),
    [anon_sym_BANG_TILDE] = ACTIONS(9526),
    [anon_sym_LT_EQ] = ACTIONS(9518),
    [anon_sym_GT] = ACTIONS(9518),
    [anon_sym_GT_EQ] = ACTIONS(9532),
    [anon_sym_CARET] = ACTIONS(9534),
    [anon_sym_PLUS] = ACTIONS(9536),
    [anon_sym_SLASH] = ACTIONS(9514),
    [anon_sym_PERCENT] = ACTIONS(9514),
    [sym_comment] = ACTIONS(110),
  },
  [3798] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3808),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1466),
    [sym_call] = STATE(1466),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(340),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(3809),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1468),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1469),
    [sym__variable] = STATE(1466),
    [sym_reserved_identifier] = STATE(3810),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(3811),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(5506),
    [sym__splat_star] = ACTIONS(5508),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(2302),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2304),
    [anon_sym_yield] = ACTIONS(2306),
    [anon_sym_break] = ACTIONS(2308),
    [anon_sym_next] = ACTIONS(2310),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(544),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(2312),
    [anon_sym_not] = ACTIONS(2314),
    [anon_sym_BANG] = ACTIONS(2316),
    [anon_sym_TILDE] = ACTIONS(2318),
    [sym_constant] = ACTIONS(5510),
    [sym_identifier] = ACTIONS(5510),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3799] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3808),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1466),
    [sym_call] = STATE(1466),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(349),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(3809),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1468),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1469),
    [sym__variable] = STATE(1466),
    [sym_reserved_identifier] = STATE(3810),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(3811),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(5506),
    [sym__splat_star] = ACTIONS(5508),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(2302),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2304),
    [anon_sym_yield] = ACTIONS(2306),
    [anon_sym_break] = ACTIONS(2308),
    [anon_sym_next] = ACTIONS(2310),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(604),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(2312),
    [anon_sym_not] = ACTIONS(2314),
    [anon_sym_BANG] = ACTIONS(2316),
    [anon_sym_TILDE] = ACTIONS(2318),
    [sym_constant] = ACTIONS(5510),
    [sym_identifier] = ACTIONS(5510),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3800] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3808),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1466),
    [sym_call] = STATE(1466),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(350),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(3809),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1468),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1469),
    [sym__variable] = STATE(1466),
    [sym_reserved_identifier] = STATE(3810),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(3811),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(5506),
    [sym__splat_star] = ACTIONS(5508),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(2302),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2304),
    [anon_sym_yield] = ACTIONS(2306),
    [anon_sym_break] = ACTIONS(2308),
    [anon_sym_next] = ACTIONS(2310),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(608),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(2312),
    [anon_sym_not] = ACTIONS(2314),
    [anon_sym_BANG] = ACTIONS(2316),
    [anon_sym_TILDE] = ACTIONS(2318),
    [sym_constant] = ACTIONS(5510),
    [sym_identifier] = ACTIONS(5510),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3801] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3808),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1466),
    [sym_call] = STATE(1466),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(351),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(3809),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1468),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1469),
    [sym__variable] = STATE(1466),
    [sym_reserved_identifier] = STATE(3810),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(3811),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(5506),
    [sym__splat_star] = ACTIONS(5508),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(2302),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2304),
    [anon_sym_yield] = ACTIONS(2306),
    [anon_sym_break] = ACTIONS(2308),
    [anon_sym_next] = ACTIONS(2310),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(612),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(2312),
    [anon_sym_not] = ACTIONS(2314),
    [anon_sym_BANG] = ACTIONS(2316),
    [anon_sym_TILDE] = ACTIONS(2318),
    [sym_constant] = ACTIONS(5510),
    [sym_identifier] = ACTIONS(5510),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3802] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(5520),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_if] = ACTIONS(1372),
    [anon_sym_unless] = ACTIONS(1372),
    [anon_sym_while] = ACTIONS(1372),
    [anon_sym_until] = ACTIONS(1372),
    [anon_sym_rescue] = ACTIONS(1372),
    [anon_sym_then] = ACTIONS(1372),
    [anon_sym_EQ_GT] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [3803] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__line_break] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(9508),
    [sym__binary_star] = ACTIONS(9510),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(9512),
    [anon_sym_SEMI] = ACTIONS(4284),
    [anon_sym_STAR_STAR] = ACTIONS(9514),
    [anon_sym_AMP] = ACTIONS(9516),
    [anon_sym_LT] = ACTIONS(9518),
    [anon_sym_if] = ACTIONS(4284),
    [anon_sym_unless] = ACTIONS(4284),
    [anon_sym_while] = ACTIONS(4284),
    [anon_sym_until] = ACTIONS(4284),
    [anon_sym_rescue] = ACTIONS(4284),
    [anon_sym_then] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(9520),
    [anon_sym_DOT_DOT] = ACTIONS(9522),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9524),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(9526),
    [anon_sym_AMP_AMP] = ACTIONS(9526),
    [anon_sym_LT_LT] = ACTIONS(9528),
    [anon_sym_GT_GT] = ACTIONS(9528),
    [anon_sym_EQ_EQ] = ACTIONS(9530),
    [anon_sym_BANG_EQ] = ACTIONS(9526),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9526),
    [anon_sym_LT_EQ_GT] = ACTIONS(9526),
    [anon_sym_EQ_TILDE] = ACTIONS(9526),
    [anon_sym_BANG_TILDE] = ACTIONS(9526),
    [anon_sym_LT_EQ] = ACTIONS(9518),
    [anon_sym_GT] = ACTIONS(9518),
    [anon_sym_GT_EQ] = ACTIONS(9532),
    [anon_sym_CARET] = ACTIONS(9534),
    [anon_sym_PLUS] = ACTIONS(9536),
    [anon_sym_SLASH] = ACTIONS(9514),
    [anon_sym_PERCENT] = ACTIONS(9514),
    [sym_comment] = ACTIONS(110),
  },
  [3804] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6976),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1466),
    [sym_call] = STATE(1466),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1468),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1469),
    [sym__variable] = STATE(1466),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2302),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5494),
    [anon_sym_yield] = ACTIONS(5496),
    [anon_sym_break] = ACTIONS(5498),
    [anon_sym_next] = ACTIONS(5500),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5502),
    [anon_sym_defined_QMARK] = ACTIONS(2312),
    [anon_sym_not] = ACTIONS(5504),
    [anon_sym_BANG] = ACTIONS(2318),
    [anon_sym_TILDE] = ACTIONS(2318),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3805] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6977),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1466),
    [sym_call] = STATE(1466),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1468),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1469),
    [sym__variable] = STATE(1466),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2302),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5494),
    [anon_sym_yield] = ACTIONS(5496),
    [anon_sym_break] = ACTIONS(5498),
    [anon_sym_next] = ACTIONS(5500),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5502),
    [anon_sym_defined_QMARK] = ACTIONS(2312),
    [anon_sym_not] = ACTIONS(5504),
    [anon_sym_BANG] = ACTIONS(2318),
    [anon_sym_TILDE] = ACTIONS(2318),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3806] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6978),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1466),
    [sym_call] = STATE(1466),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1468),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1469),
    [sym__variable] = STATE(1466),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2302),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5494),
    [anon_sym_yield] = ACTIONS(5496),
    [anon_sym_break] = ACTIONS(5498),
    [anon_sym_next] = ACTIONS(5500),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5502),
    [anon_sym_defined_QMARK] = ACTIONS(2312),
    [anon_sym_not] = ACTIONS(5504),
    [anon_sym_BANG] = ACTIONS(2318),
    [anon_sym_TILDE] = ACTIONS(2318),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3807] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(9544),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [3808] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__line_break] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(5514),
    [sym__binary_star] = ACTIONS(5516),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(5518),
    [anon_sym_SEMI] = ACTIONS(2210),
    [anon_sym_STAR_STAR] = ACTIONS(5520),
    [anon_sym_AMP] = ACTIONS(5522),
    [anon_sym_LT] = ACTIONS(5524),
    [anon_sym_if] = ACTIONS(2210),
    [anon_sym_unless] = ACTIONS(2210),
    [anon_sym_while] = ACTIONS(2210),
    [anon_sym_until] = ACTIONS(2210),
    [anon_sym_rescue] = ACTIONS(2210),
    [anon_sym_then] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(5526),
    [anon_sym_DOT_DOT] = ACTIONS(5528),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5530),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(5532),
    [anon_sym_AMP_AMP] = ACTIONS(5532),
    [anon_sym_LT_LT] = ACTIONS(5534),
    [anon_sym_GT_GT] = ACTIONS(5534),
    [anon_sym_EQ_EQ] = ACTIONS(5536),
    [anon_sym_BANG_EQ] = ACTIONS(5532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5532),
    [anon_sym_LT_EQ_GT] = ACTIONS(5532),
    [anon_sym_EQ_TILDE] = ACTIONS(5532),
    [anon_sym_BANG_TILDE] = ACTIONS(5532),
    [anon_sym_LT_EQ] = ACTIONS(5524),
    [anon_sym_GT] = ACTIONS(5524),
    [anon_sym_GT_EQ] = ACTIONS(5538),
    [anon_sym_CARET] = ACTIONS(5540),
    [anon_sym_PLUS] = ACTIONS(5542),
    [anon_sym_SLASH] = ACTIONS(5520),
    [anon_sym_PERCENT] = ACTIONS(5520),
    [sym_comment] = ACTIONS(110),
  },
  [3809] = {
    [sym_heredoc_end] = STATE(1444),
    [aux_sym_argument_list_repeat1] = STATE(6981),
    [aux_sym_argument_list_repeat2] = STATE(1445),
    [sym__simple_heredoc_body] = ACTIONS(2268),
    [sym__heredoc_body_beginning] = ACTIONS(2270),
    [sym__line_break] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(9546),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_STAR_STAR] = ACTIONS(2272),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_if] = ACTIONS(2272),
    [anon_sym_unless] = ACTIONS(2272),
    [anon_sym_while] = ACTIONS(2272),
    [anon_sym_until] = ACTIONS(2272),
    [anon_sym_rescue] = ACTIONS(2272),
    [anon_sym_then] = ACTIONS(2272),
    [anon_sym_EQ_GT] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2272),
    [anon_sym_AMP_AMP] = ACTIONS(2272),
    [anon_sym_LT_LT] = ACTIONS(2272),
    [anon_sym_GT_GT] = ACTIONS(2272),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2272),
    [anon_sym_PLUS] = ACTIONS(2272),
    [anon_sym_SLASH] = ACTIONS(2272),
    [anon_sym_PERCENT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(110),
  },
  [3810] = {
    [sym__keyword_colon] = ACTIONS(9548),
    [sym_comment] = ACTIONS(110),
  },
  [3811] = {
    [sym_string] = STATE(611),
    [aux_sym_chained_string_repeat1] = STATE(612),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(20),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(9544),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_then] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(120),
  },
  [3812] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(5520),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_then] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [3813] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(5514),
    [sym__binary_star] = ACTIONS(5516),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(5518),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(5520),
    [anon_sym_AMP] = ACTIONS(5522),
    [anon_sym_LT] = ACTIONS(5524),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_then] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(5526),
    [anon_sym_DOT_DOT] = ACTIONS(5528),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5530),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(5532),
    [anon_sym_AMP_AMP] = ACTIONS(5532),
    [anon_sym_LT_LT] = ACTIONS(5534),
    [anon_sym_GT_GT] = ACTIONS(5534),
    [anon_sym_EQ_EQ] = ACTIONS(5536),
    [anon_sym_BANG_EQ] = ACTIONS(5532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5532),
    [anon_sym_LT_EQ_GT] = ACTIONS(5532),
    [anon_sym_EQ_TILDE] = ACTIONS(5532),
    [anon_sym_BANG_TILDE] = ACTIONS(5532),
    [anon_sym_LT_EQ] = ACTIONS(5524),
    [anon_sym_GT] = ACTIONS(5524),
    [anon_sym_GT_EQ] = ACTIONS(5538),
    [anon_sym_CARET] = ACTIONS(5540),
    [anon_sym_PLUS] = ACTIONS(5542),
    [anon_sym_SLASH] = ACTIONS(5520),
    [anon_sym_PERCENT] = ACTIONS(5520),
    [sym_comment] = ACTIONS(110),
  },
  [3814] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6983),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3795),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3796),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5484),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5486),
    [anon_sym_defined_QMARK] = ACTIONS(5488),
    [anon_sym_not] = ACTIONS(5490),
    [anon_sym_BANG] = ACTIONS(5492),
    [anon_sym_TILDE] = ACTIONS(5492),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3815] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6984),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1466),
    [sym_call] = STATE(1466),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1468),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1469),
    [sym__variable] = STATE(1466),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2302),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5494),
    [anon_sym_yield] = ACTIONS(5496),
    [anon_sym_break] = ACTIONS(5498),
    [anon_sym_next] = ACTIONS(5500),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5502),
    [anon_sym_defined_QMARK] = ACTIONS(2312),
    [anon_sym_not] = ACTIONS(5504),
    [anon_sym_BANG] = ACTIONS(2318),
    [anon_sym_TILDE] = ACTIONS(2318),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3816] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6985),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1466),
    [sym_call] = STATE(1466),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1468),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1469),
    [sym__variable] = STATE(1466),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2302),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5494),
    [anon_sym_yield] = ACTIONS(5496),
    [anon_sym_break] = ACTIONS(5498),
    [anon_sym_next] = ACTIONS(5500),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5502),
    [anon_sym_defined_QMARK] = ACTIONS(2312),
    [anon_sym_not] = ACTIONS(5504),
    [anon_sym_BANG] = ACTIONS(2318),
    [anon_sym_TILDE] = ACTIONS(2318),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3817] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6986),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1466),
    [sym_call] = STATE(1466),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1468),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1469),
    [sym__variable] = STATE(1466),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2302),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5494),
    [anon_sym_yield] = ACTIONS(5496),
    [anon_sym_break] = ACTIONS(5498),
    [anon_sym_next] = ACTIONS(5500),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5502),
    [anon_sym_defined_QMARK] = ACTIONS(2312),
    [anon_sym_not] = ACTIONS(5504),
    [anon_sym_BANG] = ACTIONS(2318),
    [anon_sym_TILDE] = ACTIONS(2318),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3818] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6987),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1466),
    [sym_call] = STATE(1466),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1468),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1469),
    [sym__variable] = STATE(1466),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2302),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5494),
    [anon_sym_yield] = ACTIONS(5496),
    [anon_sym_break] = ACTIONS(5498),
    [anon_sym_next] = ACTIONS(5500),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5502),
    [anon_sym_defined_QMARK] = ACTIONS(2312),
    [anon_sym_not] = ACTIONS(5504),
    [anon_sym_BANG] = ACTIONS(2318),
    [anon_sym_TILDE] = ACTIONS(2318),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3819] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6988),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1466),
    [sym_call] = STATE(1466),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1468),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1469),
    [sym__variable] = STATE(1466),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2302),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5494),
    [anon_sym_yield] = ACTIONS(5496),
    [anon_sym_break] = ACTIONS(5498),
    [anon_sym_next] = ACTIONS(5500),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5502),
    [anon_sym_defined_QMARK] = ACTIONS(2312),
    [anon_sym_not] = ACTIONS(5504),
    [anon_sym_BANG] = ACTIONS(2318),
    [anon_sym_TILDE] = ACTIONS(2318),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3820] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6989),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1466),
    [sym_call] = STATE(1466),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1468),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1469),
    [sym__variable] = STATE(1466),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2302),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5494),
    [anon_sym_yield] = ACTIONS(5496),
    [anon_sym_break] = ACTIONS(5498),
    [anon_sym_next] = ACTIONS(5500),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5502),
    [anon_sym_defined_QMARK] = ACTIONS(2312),
    [anon_sym_not] = ACTIONS(5504),
    [anon_sym_BANG] = ACTIONS(2318),
    [anon_sym_TILDE] = ACTIONS(2318),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3821] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(6990),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [3822] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6991),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1466),
    [sym_call] = STATE(1466),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1468),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1469),
    [sym__variable] = STATE(1466),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2302),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5494),
    [anon_sym_yield] = ACTIONS(5496),
    [anon_sym_break] = ACTIONS(5498),
    [anon_sym_next] = ACTIONS(5500),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5502),
    [anon_sym_defined_QMARK] = ACTIONS(2312),
    [anon_sym_not] = ACTIONS(5504),
    [anon_sym_BANG] = ACTIONS(2318),
    [anon_sym_TILDE] = ACTIONS(2318),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3823] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6992),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1466),
    [sym_call] = STATE(1466),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1468),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1469),
    [sym__variable] = STATE(1466),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2302),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5494),
    [anon_sym_yield] = ACTIONS(5496),
    [anon_sym_break] = ACTIONS(5498),
    [anon_sym_next] = ACTIONS(5500),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5502),
    [anon_sym_defined_QMARK] = ACTIONS(2312),
    [anon_sym_not] = ACTIONS(5504),
    [anon_sym_BANG] = ACTIONS(2318),
    [anon_sym_TILDE] = ACTIONS(2318),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3824] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6993),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1466),
    [sym_call] = STATE(1466),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1468),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1469),
    [sym__variable] = STATE(1466),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2302),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5494),
    [anon_sym_yield] = ACTIONS(5496),
    [anon_sym_break] = ACTIONS(5498),
    [anon_sym_next] = ACTIONS(5500),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5502),
    [anon_sym_defined_QMARK] = ACTIONS(2312),
    [anon_sym_not] = ACTIONS(5504),
    [anon_sym_BANG] = ACTIONS(2318),
    [anon_sym_TILDE] = ACTIONS(2318),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3825] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6994),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1466),
    [sym_call] = STATE(1466),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1468),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1469),
    [sym__variable] = STATE(1466),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2302),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5494),
    [anon_sym_yield] = ACTIONS(5496),
    [anon_sym_break] = ACTIONS(5498),
    [anon_sym_next] = ACTIONS(5500),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5502),
    [anon_sym_defined_QMARK] = ACTIONS(2312),
    [anon_sym_not] = ACTIONS(5504),
    [anon_sym_BANG] = ACTIONS(2318),
    [anon_sym_TILDE] = ACTIONS(2318),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3826] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6995),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1466),
    [sym_call] = STATE(1466),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1468),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1469),
    [sym__variable] = STATE(1466),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2302),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5494),
    [anon_sym_yield] = ACTIONS(5496),
    [anon_sym_break] = ACTIONS(5498),
    [anon_sym_next] = ACTIONS(5500),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5502),
    [anon_sym_defined_QMARK] = ACTIONS(2312),
    [anon_sym_not] = ACTIONS(5504),
    [anon_sym_BANG] = ACTIONS(2318),
    [anon_sym_TILDE] = ACTIONS(2318),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3827] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(6996),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1511),
    [sym_call] = STATE(1511),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1513),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1514),
    [sym__variable] = STATE(1511),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2376),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(5618),
    [anon_sym_yield] = ACTIONS(5620),
    [anon_sym_break] = ACTIONS(5622),
    [anon_sym_next] = ACTIONS(5624),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(5626),
    [anon_sym_defined_QMARK] = ACTIONS(2386),
    [anon_sym_not] = ACTIONS(5628),
    [anon_sym_BANG] = ACTIONS(2392),
    [anon_sym_TILDE] = ACTIONS(2392),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3828] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(6997),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1511),
    [sym_call] = STATE(1511),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1513),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1514),
    [sym__variable] = STATE(1511),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2376),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(5618),
    [anon_sym_yield] = ACTIONS(5620),
    [anon_sym_break] = ACTIONS(5622),
    [anon_sym_next] = ACTIONS(5624),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(5626),
    [anon_sym_defined_QMARK] = ACTIONS(2386),
    [anon_sym_not] = ACTIONS(5628),
    [anon_sym_BANG] = ACTIONS(2392),
    [anon_sym_TILDE] = ACTIONS(2392),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3829] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(6998),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1511),
    [sym_call] = STATE(1511),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1513),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1514),
    [sym__variable] = STATE(1511),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2376),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(5618),
    [anon_sym_yield] = ACTIONS(5620),
    [anon_sym_break] = ACTIONS(5622),
    [anon_sym_next] = ACTIONS(5624),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(5626),
    [anon_sym_defined_QMARK] = ACTIONS(2386),
    [anon_sym_not] = ACTIONS(5628),
    [anon_sym_BANG] = ACTIONS(2392),
    [anon_sym_TILDE] = ACTIONS(2392),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3830] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(9550),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [3831] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__line_break] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(5632),
    [sym__binary_star] = ACTIONS(5634),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(5636),
    [anon_sym_SEMI] = ACTIONS(2210),
    [anon_sym_STAR_STAR] = ACTIONS(5638),
    [anon_sym_AMP] = ACTIONS(5640),
    [anon_sym_EQ] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(5642),
    [anon_sym_if] = ACTIONS(2210),
    [anon_sym_unless] = ACTIONS(2210),
    [anon_sym_while] = ACTIONS(2210),
    [anon_sym_until] = ACTIONS(2210),
    [anon_sym_rescue] = ACTIONS(2210),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_then] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_PLUS_EQ] = ACTIONS(2210),
    [anon_sym_DASH_EQ] = ACTIONS(2210),
    [anon_sym_STAR_EQ] = ACTIONS(2210),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2210),
    [anon_sym_SLASH_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2210),
    [anon_sym_AMP_EQ] = ACTIONS(2210),
    [anon_sym_PERCENT_EQ] = ACTIONS(2210),
    [anon_sym_GT_GT_EQ] = ACTIONS(2210),
    [anon_sym_LT_LT_EQ] = ACTIONS(2210),
    [anon_sym_CARET_EQ] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(5644),
    [anon_sym_DOT_DOT] = ACTIONS(5646),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5648),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(5650),
    [anon_sym_AMP_AMP] = ACTIONS(5650),
    [anon_sym_LT_LT] = ACTIONS(5652),
    [anon_sym_GT_GT] = ACTIONS(5652),
    [anon_sym_EQ_EQ] = ACTIONS(5650),
    [anon_sym_BANG_EQ] = ACTIONS(5654),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5654),
    [anon_sym_LT_EQ_GT] = ACTIONS(5654),
    [anon_sym_EQ_TILDE] = ACTIONS(5654),
    [anon_sym_BANG_TILDE] = ACTIONS(5654),
    [anon_sym_LT_EQ] = ACTIONS(5642),
    [anon_sym_GT] = ACTIONS(5642),
    [anon_sym_GT_EQ] = ACTIONS(5656),
    [anon_sym_CARET] = ACTIONS(5636),
    [anon_sym_PLUS] = ACTIONS(5658),
    [anon_sym_SLASH] = ACTIONS(5638),
    [anon_sym_PERCENT] = ACTIONS(5638),
    [sym_comment] = ACTIONS(256),
  },
  [3832] = {
    [sym_heredoc_end] = STATE(3770),
    [aux_sym_argument_list_repeat1] = STATE(7001),
    [aux_sym_argument_list_repeat2] = STATE(3771),
    [sym__simple_heredoc_body] = ACTIONS(5460),
    [sym__heredoc_body_beginning] = ACTIONS(5462),
    [sym__line_break] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(9552),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_STAR_STAR] = ACTIONS(2274),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_EQ] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_if] = ACTIONS(2272),
    [anon_sym_unless] = ACTIONS(2272),
    [anon_sym_while] = ACTIONS(2272),
    [anon_sym_until] = ACTIONS(2272),
    [anon_sym_rescue] = ACTIONS(2272),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_then] = ACTIONS(2272),
    [anon_sym_EQ_GT] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_PLUS_EQ] = ACTIONS(2272),
    [anon_sym_DASH_EQ] = ACTIONS(2272),
    [anon_sym_STAR_EQ] = ACTIONS(2272),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2272),
    [anon_sym_SLASH_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2272),
    [anon_sym_AMP_EQ] = ACTIONS(2272),
    [anon_sym_PERCENT_EQ] = ACTIONS(2272),
    [anon_sym_GT_GT_EQ] = ACTIONS(2272),
    [anon_sym_LT_LT_EQ] = ACTIONS(2272),
    [anon_sym_CARET_EQ] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2274),
    [anon_sym_AMP_AMP] = ACTIONS(2274),
    [anon_sym_LT_LT] = ACTIONS(2274),
    [anon_sym_GT_GT] = ACTIONS(2274),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2274),
    [anon_sym_PLUS] = ACTIONS(2274),
    [anon_sym_SLASH] = ACTIONS(2274),
    [anon_sym_PERCENT] = ACTIONS(2274),
    [sym_comment] = ACTIONS(256),
  },
  [3833] = {
    [sym__keyword_colon] = ACTIONS(9554),
    [sym_comment] = ACTIONS(110),
  },
  [3834] = {
    [sym_string] = STATE(2203),
    [aux_sym_chained_string_repeat1] = STATE(2204),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(9550),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_then] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(3266),
  },
  [3835] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1465),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1466),
    [sym_call] = STATE(1466),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(3780),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1468),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1469),
    [sym__variable] = STATE(1466),
    [sym_reserved_identifier] = STATE(1470),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(1471),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(7003),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__block_ampersand] = ACTIONS(2298),
    [sym__splat_star] = ACTIONS(2300),
    [sym__unary_minus] = ACTIONS(2302),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(9556),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2304),
    [anon_sym_yield] = ACTIONS(2306),
    [anon_sym_break] = ACTIONS(2308),
    [anon_sym_next] = ACTIONS(2310),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(5502),
    [anon_sym_defined_QMARK] = ACTIONS(2312),
    [anon_sym_not] = ACTIONS(2314),
    [anon_sym_BANG] = ACTIONS(2318),
    [anon_sym_TILDE] = ACTIONS(2318),
    [sym_constant] = ACTIONS(2320),
    [sym_identifier] = ACTIONS(2320),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3836] = {
    [sym_heredoc_end] = STATE(1444),
    [aux_sym_argument_list_repeat2] = STATE(3783),
    [sym__simple_heredoc_body] = ACTIONS(2268),
    [sym__heredoc_body_beginning] = ACTIONS(2270),
    [sym__line_break] = ACTIONS(5472),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(9558),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_SEMI] = ACTIONS(5472),
    [anon_sym_STAR_STAR] = ACTIONS(5472),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_if] = ACTIONS(5472),
    [anon_sym_unless] = ACTIONS(5472),
    [anon_sym_while] = ACTIONS(5472),
    [anon_sym_until] = ACTIONS(5472),
    [anon_sym_rescue] = ACTIONS(5472),
    [anon_sym_then] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5472),
    [anon_sym_AMP_AMP] = ACTIONS(5472),
    [anon_sym_LT_LT] = ACTIONS(5472),
    [anon_sym_GT_GT] = ACTIONS(5472),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5472),
    [anon_sym_PLUS] = ACTIONS(5472),
    [anon_sym_SLASH] = ACTIONS(5472),
    [anon_sym_PERCENT] = ACTIONS(5472),
    [sym_comment] = ACTIONS(110),
  },
  [3837] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7005),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1466),
    [sym_call] = STATE(1466),
    [sym_method_call] = STATE(338),
    [sym_splat_argument] = STATE(3785),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_right_assignment_list] = STATE(3786),
    [sym__arg_or_splat_arg] = STATE(7006),
    [sym_left_assignment_list] = STATE(1468),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1469),
    [sym__variable] = STATE(1466),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(5508),
    [sym__unary_minus] = ACTIONS(2302),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5494),
    [anon_sym_yield] = ACTIONS(5496),
    [anon_sym_break] = ACTIONS(5498),
    [anon_sym_next] = ACTIONS(5500),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5502),
    [anon_sym_defined_QMARK] = ACTIONS(2312),
    [anon_sym_not] = ACTIONS(5504),
    [anon_sym_BANG] = ACTIONS(2318),
    [anon_sym_TILDE] = ACTIONS(2318),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3838] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7007),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1466),
    [sym_call] = STATE(1466),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1468),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1469),
    [sym__variable] = STATE(1466),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2302),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5494),
    [anon_sym_yield] = ACTIONS(5496),
    [anon_sym_break] = ACTIONS(5498),
    [anon_sym_next] = ACTIONS(5500),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5502),
    [anon_sym_defined_QMARK] = ACTIONS(2312),
    [anon_sym_not] = ACTIONS(5504),
    [anon_sym_BANG] = ACTIONS(2318),
    [anon_sym_TILDE] = ACTIONS(2318),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3839] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7008),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3795),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3796),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5484),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5486),
    [anon_sym_defined_QMARK] = ACTIONS(5488),
    [anon_sym_not] = ACTIONS(5490),
    [anon_sym_BANG] = ACTIONS(5492),
    [anon_sym_TILDE] = ACTIONS(5492),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3840] = {
    [sym__heredoc_body_middle] = ACTIONS(4108),
    [sym__heredoc_body_end] = ACTIONS(9560),
    [anon_sym_if] = ACTIONS(4112),
    [anon_sym_unless] = ACTIONS(4114),
    [anon_sym_while] = ACTIONS(4116),
    [anon_sym_until] = ACTIONS(4118),
    [anon_sym_rescue] = ACTIONS(4120),
    [sym_comment] = ACTIONS(110),
  },
  [3841] = {
    [sym__statement] = STATE(7010),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [3842] = {
    [sym__simple_heredoc_body] = ACTIONS(6998),
    [sym__heredoc_body_beginning] = ACTIONS(6998),
    [sym__line_break] = ACTIONS(6998),
    [sym__binary_minus] = ACTIONS(2340),
    [sym__binary_star] = ACTIONS(2342),
    [anon_sym_PIPE] = ACTIONS(2344),
    [anon_sym_SEMI] = ACTIONS(6998),
    [anon_sym_STAR_STAR] = ACTIONS(2346),
    [anon_sym_AMP] = ACTIONS(2348),
    [anon_sym_LT] = ACTIONS(2350),
    [anon_sym_if] = ACTIONS(6998),
    [anon_sym_unless] = ACTIONS(6998),
    [anon_sym_while] = ACTIONS(6998),
    [anon_sym_until] = ACTIONS(6998),
    [anon_sym_rescue] = ACTIONS(6998),
    [anon_sym_then] = ACTIONS(6998),
    [anon_sym_QMARK] = ACTIONS(2352),
    [anon_sym_DOT_DOT] = ACTIONS(2354),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2356),
    [anon_sym_and] = ACTIONS(2358),
    [anon_sym_or] = ACTIONS(2358),
    [anon_sym_PIPE_PIPE] = ACTIONS(2360),
    [anon_sym_AMP_AMP] = ACTIONS(2360),
    [anon_sym_LT_LT] = ACTIONS(2362),
    [anon_sym_GT_GT] = ACTIONS(2362),
    [anon_sym_EQ_EQ] = ACTIONS(2364),
    [anon_sym_BANG_EQ] = ACTIONS(2360),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2360),
    [anon_sym_LT_EQ_GT] = ACTIONS(2360),
    [anon_sym_EQ_TILDE] = ACTIONS(2360),
    [anon_sym_BANG_TILDE] = ACTIONS(2360),
    [anon_sym_LT_EQ] = ACTIONS(2350),
    [anon_sym_GT] = ACTIONS(2350),
    [anon_sym_GT_EQ] = ACTIONS(2366),
    [anon_sym_CARET] = ACTIONS(2368),
    [anon_sym_PLUS] = ACTIONS(2370),
    [anon_sym_SLASH] = ACTIONS(2346),
    [anon_sym_PERCENT] = ACTIONS(2346),
    [sym_comment] = ACTIONS(110),
  },
  [3843] = {
    [sym__simple_heredoc_body] = ACTIONS(7000),
    [sym__heredoc_body_beginning] = ACTIONS(7000),
    [sym__line_break] = ACTIONS(7000),
    [sym__binary_minus] = ACTIONS(2340),
    [sym__binary_star] = ACTIONS(2342),
    [anon_sym_PIPE] = ACTIONS(2344),
    [anon_sym_SEMI] = ACTIONS(7000),
    [anon_sym_STAR_STAR] = ACTIONS(2346),
    [anon_sym_AMP] = ACTIONS(2348),
    [anon_sym_LT] = ACTIONS(2350),
    [anon_sym_if] = ACTIONS(7000),
    [anon_sym_unless] = ACTIONS(7000),
    [anon_sym_while] = ACTIONS(7000),
    [anon_sym_until] = ACTIONS(7000),
    [anon_sym_rescue] = ACTIONS(7000),
    [anon_sym_then] = ACTIONS(7000),
    [anon_sym_QMARK] = ACTIONS(2352),
    [anon_sym_DOT_DOT] = ACTIONS(2354),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2356),
    [anon_sym_and] = ACTIONS(2358),
    [anon_sym_or] = ACTIONS(2358),
    [anon_sym_PIPE_PIPE] = ACTIONS(2360),
    [anon_sym_AMP_AMP] = ACTIONS(2360),
    [anon_sym_LT_LT] = ACTIONS(2362),
    [anon_sym_GT_GT] = ACTIONS(2362),
    [anon_sym_EQ_EQ] = ACTIONS(2364),
    [anon_sym_BANG_EQ] = ACTIONS(2360),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2360),
    [anon_sym_LT_EQ_GT] = ACTIONS(2360),
    [anon_sym_EQ_TILDE] = ACTIONS(2360),
    [anon_sym_BANG_TILDE] = ACTIONS(2360),
    [anon_sym_LT_EQ] = ACTIONS(2350),
    [anon_sym_GT] = ACTIONS(2350),
    [anon_sym_GT_EQ] = ACTIONS(2366),
    [anon_sym_CARET] = ACTIONS(2368),
    [anon_sym_PLUS] = ACTIONS(2370),
    [anon_sym_SLASH] = ACTIONS(2346),
    [anon_sym_PERCENT] = ACTIONS(2346),
    [sym_comment] = ACTIONS(110),
  },
  [3844] = {
    [sym__simple_heredoc_body] = ACTIONS(7002),
    [sym__heredoc_body_beginning] = ACTIONS(7002),
    [sym__line_break] = ACTIONS(7002),
    [sym__binary_minus] = ACTIONS(2340),
    [sym__binary_star] = ACTIONS(2342),
    [anon_sym_PIPE] = ACTIONS(2344),
    [anon_sym_SEMI] = ACTIONS(7002),
    [anon_sym_STAR_STAR] = ACTIONS(2346),
    [anon_sym_AMP] = ACTIONS(2348),
    [anon_sym_LT] = ACTIONS(2350),
    [anon_sym_if] = ACTIONS(7002),
    [anon_sym_unless] = ACTIONS(7002),
    [anon_sym_while] = ACTIONS(7002),
    [anon_sym_until] = ACTIONS(7002),
    [anon_sym_rescue] = ACTIONS(7002),
    [anon_sym_then] = ACTIONS(7002),
    [anon_sym_QMARK] = ACTIONS(2352),
    [anon_sym_DOT_DOT] = ACTIONS(2354),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2356),
    [anon_sym_and] = ACTIONS(2358),
    [anon_sym_or] = ACTIONS(2358),
    [anon_sym_PIPE_PIPE] = ACTIONS(2360),
    [anon_sym_AMP_AMP] = ACTIONS(2360),
    [anon_sym_LT_LT] = ACTIONS(2362),
    [anon_sym_GT_GT] = ACTIONS(2362),
    [anon_sym_EQ_EQ] = ACTIONS(2364),
    [anon_sym_BANG_EQ] = ACTIONS(2360),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2360),
    [anon_sym_LT_EQ_GT] = ACTIONS(2360),
    [anon_sym_EQ_TILDE] = ACTIONS(2360),
    [anon_sym_BANG_TILDE] = ACTIONS(2360),
    [anon_sym_LT_EQ] = ACTIONS(2350),
    [anon_sym_GT] = ACTIONS(2350),
    [anon_sym_GT_EQ] = ACTIONS(2366),
    [anon_sym_CARET] = ACTIONS(2368),
    [anon_sym_PLUS] = ACTIONS(2370),
    [anon_sym_SLASH] = ACTIONS(2346),
    [anon_sym_PERCENT] = ACTIONS(2346),
    [sym_comment] = ACTIONS(110),
  },
  [3845] = {
    [sym__simple_heredoc_body] = ACTIONS(7004),
    [sym__heredoc_body_beginning] = ACTIONS(7004),
    [sym__line_break] = ACTIONS(7004),
    [sym__binary_minus] = ACTIONS(2340),
    [sym__binary_star] = ACTIONS(2342),
    [anon_sym_PIPE] = ACTIONS(2344),
    [anon_sym_SEMI] = ACTIONS(7004),
    [anon_sym_STAR_STAR] = ACTIONS(2346),
    [anon_sym_AMP] = ACTIONS(2348),
    [anon_sym_LT] = ACTIONS(2350),
    [anon_sym_if] = ACTIONS(7004),
    [anon_sym_unless] = ACTIONS(7004),
    [anon_sym_while] = ACTIONS(7004),
    [anon_sym_until] = ACTIONS(7004),
    [anon_sym_rescue] = ACTIONS(7004),
    [anon_sym_then] = ACTIONS(7004),
    [anon_sym_QMARK] = ACTIONS(2352),
    [anon_sym_DOT_DOT] = ACTIONS(2354),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2356),
    [anon_sym_and] = ACTIONS(2358),
    [anon_sym_or] = ACTIONS(2358),
    [anon_sym_PIPE_PIPE] = ACTIONS(2360),
    [anon_sym_AMP_AMP] = ACTIONS(2360),
    [anon_sym_LT_LT] = ACTIONS(2362),
    [anon_sym_GT_GT] = ACTIONS(2362),
    [anon_sym_EQ_EQ] = ACTIONS(2364),
    [anon_sym_BANG_EQ] = ACTIONS(2360),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2360),
    [anon_sym_LT_EQ_GT] = ACTIONS(2360),
    [anon_sym_EQ_TILDE] = ACTIONS(2360),
    [anon_sym_BANG_TILDE] = ACTIONS(2360),
    [anon_sym_LT_EQ] = ACTIONS(2350),
    [anon_sym_GT] = ACTIONS(2350),
    [anon_sym_GT_EQ] = ACTIONS(2366),
    [anon_sym_CARET] = ACTIONS(2368),
    [anon_sym_PLUS] = ACTIONS(2370),
    [anon_sym_SLASH] = ACTIONS(2346),
    [anon_sym_PERCENT] = ACTIONS(2346),
    [sym_comment] = ACTIONS(110),
  },
  [3846] = {
    [sym__simple_heredoc_body] = ACTIONS(7006),
    [sym__heredoc_body_beginning] = ACTIONS(7006),
    [sym__line_break] = ACTIONS(7006),
    [sym__binary_minus] = ACTIONS(2340),
    [sym__binary_star] = ACTIONS(2342),
    [anon_sym_PIPE] = ACTIONS(2344),
    [anon_sym_SEMI] = ACTIONS(7006),
    [anon_sym_STAR_STAR] = ACTIONS(2346),
    [anon_sym_AMP] = ACTIONS(2348),
    [anon_sym_LT] = ACTIONS(2350),
    [anon_sym_if] = ACTIONS(7006),
    [anon_sym_unless] = ACTIONS(7006),
    [anon_sym_while] = ACTIONS(7006),
    [anon_sym_until] = ACTIONS(7006),
    [anon_sym_rescue] = ACTIONS(7006),
    [anon_sym_then] = ACTIONS(7006),
    [anon_sym_QMARK] = ACTIONS(2352),
    [anon_sym_DOT_DOT] = ACTIONS(2354),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2356),
    [anon_sym_and] = ACTIONS(2358),
    [anon_sym_or] = ACTIONS(2358),
    [anon_sym_PIPE_PIPE] = ACTIONS(2360),
    [anon_sym_AMP_AMP] = ACTIONS(2360),
    [anon_sym_LT_LT] = ACTIONS(2362),
    [anon_sym_GT_GT] = ACTIONS(2362),
    [anon_sym_EQ_EQ] = ACTIONS(2364),
    [anon_sym_BANG_EQ] = ACTIONS(2360),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2360),
    [anon_sym_LT_EQ_GT] = ACTIONS(2360),
    [anon_sym_EQ_TILDE] = ACTIONS(2360),
    [anon_sym_BANG_TILDE] = ACTIONS(2360),
    [anon_sym_LT_EQ] = ACTIONS(2350),
    [anon_sym_GT] = ACTIONS(2350),
    [anon_sym_GT_EQ] = ACTIONS(2366),
    [anon_sym_CARET] = ACTIONS(2368),
    [anon_sym_PLUS] = ACTIONS(2370),
    [anon_sym_SLASH] = ACTIONS(2346),
    [anon_sym_PERCENT] = ACTIONS(2346),
    [sym_comment] = ACTIONS(110),
  },
  [3847] = {
    [sym__simple_string] = ACTIONS(1398),
    [sym__simple_symbol] = ACTIONS(1398),
    [sym__simple_subshell] = ACTIONS(1398),
    [sym__simple_regex] = ACTIONS(1398),
    [sym__simple_word_list] = ACTIONS(1398),
    [sym__string_beginning] = ACTIONS(1398),
    [sym__symbol_beginning] = ACTIONS(1398),
    [sym__subshell_beginning] = ACTIONS(1398),
    [sym__regex_beginning] = ACTIONS(1398),
    [sym__word_list_beginning] = ACTIONS(1398),
    [sym_heredoc_beginning] = ACTIONS(1398),
    [sym__unary_minus] = ACTIONS(1398),
    [anon_sym_BEGIN] = ACTIONS(2666),
    [anon_sym_LBRACE] = ACTIONS(1398),
    [anon_sym_END] = ACTIONS(2666),
    [anon_sym_def] = ACTIONS(2666),
    [anon_sym_LPAREN] = ACTIONS(1398),
    [anon_sym_COLON_COLON] = ACTIONS(1398),
    [anon_sym_end] = ACTIONS(2666),
    [anon_sym_SEMI] = ACTIONS(1398),
    [anon_sym_STAR] = ACTIONS(1398),
    [anon_sym_class] = ACTIONS(2666),
    [anon_sym_module] = ACTIONS(2666),
    [anon_sym_return] = ACTIONS(2666),
    [anon_sym_yield] = ACTIONS(2666),
    [anon_sym_break] = ACTIONS(2666),
    [anon_sym_next] = ACTIONS(2666),
    [anon_sym_redo] = ACTIONS(2666),
    [anon_sym_retry] = ACTIONS(2666),
    [anon_sym_if] = ACTIONS(2666),
    [anon_sym_unless] = ACTIONS(2666),
    [anon_sym_while] = ACTIONS(2666),
    [anon_sym_until] = ACTIONS(2666),
    [anon_sym_for] = ACTIONS(2666),
    [anon_sym_case] = ACTIONS(2666),
    [anon_sym_elsif] = ACTIONS(2666),
    [anon_sym_else] = ACTIONS(2666),
    [anon_sym_begin] = ACTIONS(2666),
    [anon_sym_PLUS] = ACTIONS(2666),
    [anon_sym_defined_QMARK] = ACTIONS(1398),
    [anon_sym_not] = ACTIONS(2666),
    [anon_sym_BANG] = ACTIONS(1398),
    [anon_sym_TILDE] = ACTIONS(1398),
    [sym_constant] = ACTIONS(2668),
    [sym_identifier] = ACTIONS(2668),
    [sym_instance_variable] = ACTIONS(2666),
    [sym_class_variable] = ACTIONS(2666),
    [sym_global_variable] = ACTIONS(2666),
    [anon_sym_alias] = ACTIONS(2666),
    [anon_sym_false] = ACTIONS(2666),
    [anon_sym_nil] = ACTIONS(2666),
    [anon_sym_self] = ACTIONS(2666),
    [anon_sym_super] = ACTIONS(2666),
    [anon_sym_true] = ACTIONS(2666),
    [anon_sym_undef] = ACTIONS(2666),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(2666),
    [sym_float] = ACTIONS(2668),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1398),
    [anon_sym_TRUE] = ACTIONS(2666),
    [anon_sym_FALSE] = ACTIONS(2666),
    [anon_sym_NIL] = ACTIONS(2666),
    [sym_keyword__FILE__] = ACTIONS(2666),
    [sym_keyword__LINE__] = ACTIONS(2666),
    [sym_keyword__ENCODING__] = ACTIONS(2666),
    [sym__character_literal] = ACTIONS(2666),
    [anon_sym_LBRACK] = ACTIONS(1398),
    [anon_sym_DASH_GT] = ACTIONS(1398),
  },
  [3848] = {
    [sym__statement] = STATE(7011),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [aux_sym_heredoc_end_repeat1] = STATE(7012),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [3849] = {
    [sym__simple_string] = ACTIONS(2552),
    [sym__simple_symbol] = ACTIONS(2552),
    [sym__simple_subshell] = ACTIONS(2552),
    [sym__simple_regex] = ACTIONS(2552),
    [sym__simple_word_list] = ACTIONS(2552),
    [sym__string_beginning] = ACTIONS(2552),
    [sym__symbol_beginning] = ACTIONS(2552),
    [sym__subshell_beginning] = ACTIONS(2552),
    [sym__regex_beginning] = ACTIONS(2552),
    [sym__word_list_beginning] = ACTIONS(2552),
    [sym_heredoc_beginning] = ACTIONS(2552),
    [sym__unary_minus] = ACTIONS(2552),
    [anon_sym_BEGIN] = ACTIONS(2670),
    [anon_sym_LBRACE] = ACTIONS(2552),
    [anon_sym_END] = ACTIONS(2670),
    [anon_sym_def] = ACTIONS(2670),
    [anon_sym_LPAREN] = ACTIONS(2552),
    [anon_sym_COLON_COLON] = ACTIONS(2552),
    [anon_sym_end] = ACTIONS(2670),
    [anon_sym_SEMI] = ACTIONS(2552),
    [anon_sym_STAR] = ACTIONS(2552),
    [anon_sym_class] = ACTIONS(2670),
    [anon_sym_module] = ACTIONS(2670),
    [anon_sym_return] = ACTIONS(2670),
    [anon_sym_yield] = ACTIONS(2670),
    [anon_sym_break] = ACTIONS(2670),
    [anon_sym_next] = ACTIONS(2670),
    [anon_sym_redo] = ACTIONS(2670),
    [anon_sym_retry] = ACTIONS(2670),
    [anon_sym_if] = ACTIONS(2670),
    [anon_sym_unless] = ACTIONS(2670),
    [anon_sym_while] = ACTIONS(2670),
    [anon_sym_until] = ACTIONS(2670),
    [anon_sym_for] = ACTIONS(2670),
    [anon_sym_case] = ACTIONS(2670),
    [anon_sym_elsif] = ACTIONS(2670),
    [anon_sym_else] = ACTIONS(2670),
    [anon_sym_begin] = ACTIONS(2670),
    [anon_sym_PLUS] = ACTIONS(2670),
    [anon_sym_defined_QMARK] = ACTIONS(2552),
    [anon_sym_not] = ACTIONS(2670),
    [anon_sym_BANG] = ACTIONS(2552),
    [anon_sym_TILDE] = ACTIONS(2552),
    [sym_constant] = ACTIONS(2672),
    [sym_identifier] = ACTIONS(2672),
    [sym_instance_variable] = ACTIONS(2670),
    [sym_class_variable] = ACTIONS(2670),
    [sym_global_variable] = ACTIONS(2670),
    [anon_sym_alias] = ACTIONS(2670),
    [anon_sym_false] = ACTIONS(2670),
    [anon_sym_nil] = ACTIONS(2670),
    [anon_sym_self] = ACTIONS(2670),
    [anon_sym_super] = ACTIONS(2670),
    [anon_sym_true] = ACTIONS(2670),
    [anon_sym_undef] = ACTIONS(2670),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(2670),
    [sym_float] = ACTIONS(2672),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(2552),
    [anon_sym_TRUE] = ACTIONS(2670),
    [anon_sym_FALSE] = ACTIONS(2670),
    [anon_sym_NIL] = ACTIONS(2670),
    [sym_keyword__FILE__] = ACTIONS(2670),
    [sym_keyword__LINE__] = ACTIONS(2670),
    [sym_keyword__ENCODING__] = ACTIONS(2670),
    [sym__character_literal] = ACTIONS(2670),
    [anon_sym_LBRACK] = ACTIONS(2552),
    [anon_sym_DASH_GT] = ACTIONS(2552),
  },
  [3850] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7013),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3869),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3870),
    [sym__variable] = STATE(3868),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5572),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5590),
    [anon_sym_defined_QMARK] = ACTIONS(5592),
    [anon_sym_not] = ACTIONS(5594),
    [anon_sym_BANG] = ACTIONS(5596),
    [anon_sym_TILDE] = ACTIONS(5596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3851] = {
    [sym__simple_heredoc_body] = ACTIONS(9562),
    [sym__heredoc_body_beginning] = ACTIONS(9562),
    [sym__line_break] = ACTIONS(9562),
    [sym__element_reference_left_bracket] = ACTIONS(9562),
    [sym__scope_double_colon] = ACTIONS(9562),
    [sym__binary_minus] = ACTIONS(9562),
    [sym__binary_star] = ACTIONS(9562),
    [ts_builtin_sym_end] = ACTIONS(9562),
    [anon_sym___END__] = ACTIONS(9562),
    [anon_sym_LBRACE] = ACTIONS(9562),
    [anon_sym_RBRACE] = ACTIONS(9562),
    [anon_sym_RPAREN] = ACTIONS(9562),
    [anon_sym_DOT] = ACTIONS(9564),
    [anon_sym_end] = ACTIONS(9562),
    [anon_sym_COMMA] = ACTIONS(9562),
    [anon_sym_PIPE] = ACTIONS(9564),
    [anon_sym_SEMI] = ACTIONS(9562),
    [anon_sym_STAR_STAR] = ACTIONS(9562),
    [anon_sym_AMP] = ACTIONS(9564),
    [anon_sym_LT] = ACTIONS(9564),
    [anon_sym_if] = ACTIONS(9562),
    [anon_sym_unless] = ACTIONS(9562),
    [anon_sym_while] = ACTIONS(9562),
    [anon_sym_until] = ACTIONS(9562),
    [anon_sym_rescue] = ACTIONS(9562),
    [anon_sym_do] = ACTIONS(9562),
    [anon_sym_when] = ACTIONS(9562),
    [anon_sym_elsif] = ACTIONS(9562),
    [anon_sym_else] = ACTIONS(9562),
    [anon_sym_then] = ACTIONS(9562),
    [anon_sym_ensure] = ACTIONS(9562),
    [anon_sym_EQ_GT] = ACTIONS(9562),
    [anon_sym_AMP_DOT] = ACTIONS(9562),
    [anon_sym_QMARK] = ACTIONS(9562),
    [anon_sym_DOT_DOT] = ACTIONS(9564),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9562),
    [anon_sym_and] = ACTIONS(9562),
    [anon_sym_or] = ACTIONS(9562),
    [anon_sym_PIPE_PIPE] = ACTIONS(9562),
    [anon_sym_AMP_AMP] = ACTIONS(9562),
    [anon_sym_LT_LT] = ACTIONS(9562),
    [anon_sym_GT_GT] = ACTIONS(9562),
    [anon_sym_EQ_EQ] = ACTIONS(9564),
    [anon_sym_BANG_EQ] = ACTIONS(9562),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9562),
    [anon_sym_LT_EQ_GT] = ACTIONS(9562),
    [anon_sym_EQ_TILDE] = ACTIONS(9562),
    [anon_sym_BANG_TILDE] = ACTIONS(9562),
    [anon_sym_LT_EQ] = ACTIONS(9564),
    [anon_sym_GT] = ACTIONS(9564),
    [anon_sym_GT_EQ] = ACTIONS(9562),
    [anon_sym_CARET] = ACTIONS(9562),
    [anon_sym_PLUS] = ACTIONS(9562),
    [anon_sym_SLASH] = ACTIONS(9562),
    [anon_sym_PERCENT] = ACTIONS(9562),
    [sym_comment] = ACTIONS(110),
  },
  [3852] = {
    [sym__simple_string] = ACTIONS(2552),
    [sym__simple_symbol] = ACTIONS(2552),
    [sym__simple_subshell] = ACTIONS(2552),
    [sym__simple_regex] = ACTIONS(2552),
    [sym__simple_word_list] = ACTIONS(2552),
    [sym__simple_heredoc_body] = ACTIONS(430),
    [sym__string_beginning] = ACTIONS(2552),
    [sym__symbol_beginning] = ACTIONS(2552),
    [sym__subshell_beginning] = ACTIONS(2552),
    [sym__regex_beginning] = ACTIONS(2552),
    [sym__word_list_beginning] = ACTIONS(2552),
    [sym__heredoc_body_beginning] = ACTIONS(430),
    [sym_heredoc_beginning] = ACTIONS(2552),
    [sym__line_break] = ACTIONS(430),
    [sym__unary_minus] = ACTIONS(2552),
    [anon_sym_BEGIN] = ACTIONS(2670),
    [anon_sym_LBRACE] = ACTIONS(2552),
    [anon_sym_END] = ACTIONS(2670),
    [anon_sym_def] = ACTIONS(2670),
    [anon_sym_LPAREN] = ACTIONS(2552),
    [anon_sym_COLON_COLON] = ACTIONS(2552),
    [anon_sym_end] = ACTIONS(2670),
    [anon_sym_SEMI] = ACTIONS(2552),
    [anon_sym_STAR] = ACTIONS(2552),
    [anon_sym_class] = ACTIONS(2670),
    [anon_sym_module] = ACTIONS(2670),
    [anon_sym_return] = ACTIONS(2670),
    [anon_sym_yield] = ACTIONS(2670),
    [anon_sym_break] = ACTIONS(2670),
    [anon_sym_next] = ACTIONS(2670),
    [anon_sym_redo] = ACTIONS(2670),
    [anon_sym_retry] = ACTIONS(2670),
    [anon_sym_if] = ACTIONS(2670),
    [anon_sym_unless] = ACTIONS(2670),
    [anon_sym_while] = ACTIONS(2670),
    [anon_sym_until] = ACTIONS(2670),
    [anon_sym_rescue] = ACTIONS(6398),
    [anon_sym_for] = ACTIONS(2670),
    [anon_sym_case] = ACTIONS(2670),
    [anon_sym_elsif] = ACTIONS(2670),
    [anon_sym_else] = ACTIONS(2670),
    [anon_sym_begin] = ACTIONS(2670),
    [anon_sym_PLUS] = ACTIONS(2670),
    [anon_sym_defined_QMARK] = ACTIONS(2552),
    [anon_sym_not] = ACTIONS(2670),
    [anon_sym_BANG] = ACTIONS(2552),
    [anon_sym_TILDE] = ACTIONS(2552),
    [sym_constant] = ACTIONS(2672),
    [sym_identifier] = ACTIONS(2672),
    [sym_instance_variable] = ACTIONS(2670),
    [sym_class_variable] = ACTIONS(2670),
    [sym_global_variable] = ACTIONS(2670),
    [anon_sym_alias] = ACTIONS(2670),
    [anon_sym_false] = ACTIONS(2670),
    [anon_sym_nil] = ACTIONS(2670),
    [anon_sym_self] = ACTIONS(2670),
    [anon_sym_super] = ACTIONS(2670),
    [anon_sym_true] = ACTIONS(2670),
    [anon_sym_undef] = ACTIONS(2670),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(2670),
    [sym_float] = ACTIONS(2672),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(2552),
    [anon_sym_TRUE] = ACTIONS(2670),
    [anon_sym_FALSE] = ACTIONS(2670),
    [anon_sym_NIL] = ACTIONS(2670),
    [sym_keyword__FILE__] = ACTIONS(2670),
    [sym_keyword__LINE__] = ACTIONS(2670),
    [sym_keyword__ENCODING__] = ACTIONS(2670),
    [sym__character_literal] = ACTIONS(2670),
    [anon_sym_LBRACK] = ACTIONS(2552),
    [anon_sym_DASH_GT] = ACTIONS(2552),
  },
  [3853] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7027),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7028),
    [sym_call] = STATE(7028),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(340),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(7029),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7030),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7031),
    [sym__variable] = STATE(7028),
    [sym_reserved_identifier] = STATE(7032),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(7033),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(9566),
    [sym__splat_star] = ACTIONS(9568),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(9570),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(544),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(9572),
    [anon_sym_yield] = ACTIONS(9574),
    [anon_sym_break] = ACTIONS(9576),
    [anon_sym_next] = ACTIONS(9578),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(544),
    [anon_sym_else] = ACTIONS(544),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(9580),
    [anon_sym_not] = ACTIONS(9582),
    [anon_sym_BANG] = ACTIONS(9584),
    [anon_sym_TILDE] = ACTIONS(9586),
    [sym_constant] = ACTIONS(9588),
    [sym_identifier] = ACTIONS(9588),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3854] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7027),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7028),
    [sym_call] = STATE(7028),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(349),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(7029),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7030),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7031),
    [sym__variable] = STATE(7028),
    [sym_reserved_identifier] = STATE(7032),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(7033),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(9566),
    [sym__splat_star] = ACTIONS(9568),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(9570),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(604),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(9572),
    [anon_sym_yield] = ACTIONS(9574),
    [anon_sym_break] = ACTIONS(9576),
    [anon_sym_next] = ACTIONS(9578),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(604),
    [anon_sym_else] = ACTIONS(604),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(9580),
    [anon_sym_not] = ACTIONS(9582),
    [anon_sym_BANG] = ACTIONS(9584),
    [anon_sym_TILDE] = ACTIONS(9586),
    [sym_constant] = ACTIONS(9588),
    [sym_identifier] = ACTIONS(9588),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3855] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7027),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7028),
    [sym_call] = STATE(7028),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(350),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(7029),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7030),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7031),
    [sym__variable] = STATE(7028),
    [sym_reserved_identifier] = STATE(7032),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(7033),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(9566),
    [sym__splat_star] = ACTIONS(9568),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(9570),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(608),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(9572),
    [anon_sym_yield] = ACTIONS(9574),
    [anon_sym_break] = ACTIONS(9576),
    [anon_sym_next] = ACTIONS(9578),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(608),
    [anon_sym_else] = ACTIONS(608),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(9580),
    [anon_sym_not] = ACTIONS(9582),
    [anon_sym_BANG] = ACTIONS(9584),
    [anon_sym_TILDE] = ACTIONS(9586),
    [sym_constant] = ACTIONS(9588),
    [sym_identifier] = ACTIONS(9588),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3856] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7027),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7028),
    [sym_call] = STATE(7028),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(351),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(7029),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7030),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7031),
    [sym__variable] = STATE(7028),
    [sym_reserved_identifier] = STATE(7032),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(7033),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(9566),
    [sym__splat_star] = ACTIONS(9568),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(9570),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(612),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(9572),
    [anon_sym_yield] = ACTIONS(9574),
    [anon_sym_break] = ACTIONS(9576),
    [anon_sym_next] = ACTIONS(9578),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(612),
    [anon_sym_else] = ACTIONS(612),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(9580),
    [anon_sym_not] = ACTIONS(9582),
    [anon_sym_BANG] = ACTIONS(9584),
    [anon_sym_TILDE] = ACTIONS(9586),
    [sym_constant] = ACTIONS(9588),
    [sym_identifier] = ACTIONS(9588),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3857] = {
    [sym__statement] = STATE(7034),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(361),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3858] = {
    [sym__statements] = STATE(1750),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(7035),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(2746),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3859] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7036),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3869),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3870),
    [sym__variable] = STATE(3868),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5572),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5590),
    [anon_sym_defined_QMARK] = ACTIONS(5592),
    [anon_sym_not] = ACTIONS(5594),
    [anon_sym_BANG] = ACTIONS(5596),
    [anon_sym_TILDE] = ACTIONS(5596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3860] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7037),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3869),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3870),
    [sym__variable] = STATE(3868),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5572),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5590),
    [anon_sym_defined_QMARK] = ACTIONS(5592),
    [anon_sym_not] = ACTIONS(5594),
    [anon_sym_BANG] = ACTIONS(5596),
    [anon_sym_TILDE] = ACTIONS(5596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3861] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(434),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3869),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3870),
    [sym__variable] = STATE(3868),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5572),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5590),
    [anon_sym_defined_QMARK] = ACTIONS(5592),
    [anon_sym_not] = ACTIONS(5594),
    [anon_sym_BANG] = ACTIONS(5596),
    [anon_sym_TILDE] = ACTIONS(5596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3862] = {
    [sym_elsif] = STATE(3865),
    [sym_else] = STATE(3865),
    [sym__if_tail] = STATE(7039),
    [anon_sym_end] = ACTIONS(9590),
    [anon_sym_elsif] = ACTIONS(9592),
    [anon_sym_else] = ACTIONS(9594),
    [sym_comment] = ACTIONS(110),
  },
  [3863] = {
    [sym_heredoc_end] = STATE(3849),
    [sym__terminator] = STATE(7040),
    [aux_sym__statements_repeat1] = STATE(7041),
    [sym__simple_heredoc_body] = ACTIONS(5566),
    [sym__heredoc_body_beginning] = ACTIONS(5568),
    [sym__line_break] = ACTIONS(5570),
    [anon_sym_end] = ACTIONS(920),
    [anon_sym_SEMI] = ACTIONS(5570),
    [anon_sym_elsif] = ACTIONS(920),
    [anon_sym_else] = ACTIONS(920),
    [sym_comment] = ACTIONS(110),
  },
  [3864] = {
    [sym__simple_heredoc_body] = ACTIONS(922),
    [sym__heredoc_body_beginning] = ACTIONS(922),
    [sym__line_break] = ACTIONS(922),
    [anon_sym_end] = ACTIONS(922),
    [anon_sym_SEMI] = ACTIONS(922),
    [anon_sym_if] = ACTIONS(9596),
    [anon_sym_unless] = ACTIONS(9598),
    [anon_sym_while] = ACTIONS(9600),
    [anon_sym_until] = ACTIONS(9602),
    [anon_sym_rescue] = ACTIONS(9604),
    [anon_sym_elsif] = ACTIONS(922),
    [anon_sym_else] = ACTIONS(922),
    [sym_comment] = ACTIONS(110),
  },
  [3865] = {
    [anon_sym_end] = ACTIONS(9606),
    [sym_comment] = ACTIONS(110),
  },
  [3866] = {
    [anon_sym_end] = ACTIONS(9590),
    [sym_comment] = ACTIONS(110),
  },
  [3867] = {
    [sym__simple_heredoc_body] = ACTIONS(934),
    [sym__heredoc_body_beginning] = ACTIONS(934),
    [sym__line_break] = ACTIONS(934),
    [sym__binary_minus] = ACTIONS(9608),
    [sym__binary_star] = ACTIONS(9610),
    [anon_sym_end] = ACTIONS(934),
    [anon_sym_PIPE] = ACTIONS(9612),
    [anon_sym_SEMI] = ACTIONS(934),
    [anon_sym_STAR_STAR] = ACTIONS(9614),
    [anon_sym_AMP] = ACTIONS(9616),
    [anon_sym_LT] = ACTIONS(9618),
    [anon_sym_if] = ACTIONS(934),
    [anon_sym_unless] = ACTIONS(934),
    [anon_sym_while] = ACTIONS(934),
    [anon_sym_until] = ACTIONS(934),
    [anon_sym_rescue] = ACTIONS(934),
    [anon_sym_elsif] = ACTIONS(934),
    [anon_sym_else] = ACTIONS(934),
    [anon_sym_QMARK] = ACTIONS(9620),
    [anon_sym_DOT_DOT] = ACTIONS(9622),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9624),
    [anon_sym_and] = ACTIONS(9626),
    [anon_sym_or] = ACTIONS(9626),
    [anon_sym_PIPE_PIPE] = ACTIONS(9628),
    [anon_sym_AMP_AMP] = ACTIONS(9628),
    [anon_sym_LT_LT] = ACTIONS(9630),
    [anon_sym_GT_GT] = ACTIONS(9630),
    [anon_sym_EQ_EQ] = ACTIONS(9632),
    [anon_sym_BANG_EQ] = ACTIONS(9628),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9628),
    [anon_sym_LT_EQ_GT] = ACTIONS(9628),
    [anon_sym_EQ_TILDE] = ACTIONS(9628),
    [anon_sym_BANG_TILDE] = ACTIONS(9628),
    [anon_sym_LT_EQ] = ACTIONS(9618),
    [anon_sym_GT] = ACTIONS(9618),
    [anon_sym_GT_EQ] = ACTIONS(9634),
    [anon_sym_CARET] = ACTIONS(9636),
    [anon_sym_PLUS] = ACTIONS(9638),
    [anon_sym_SLASH] = ACTIONS(9614),
    [anon_sym_PERCENT] = ACTIONS(9614),
    [sym_comment] = ACTIONS(110),
  },
  [3868] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7072),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7073),
    [sym_call] = STATE(7073),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(598),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(7074),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_do_block] = STATE(602),
    [sym_block] = STATE(602),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(7075),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7076),
    [sym__variable] = STATE(7073),
    [sym_reserved_identifier] = STATE(7077),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(7078),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(9640),
    [sym__splat_star] = ACTIONS(9642),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(9644),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(1014),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(982),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(9646),
    [anon_sym_yield] = ACTIONS(9648),
    [anon_sym_break] = ACTIONS(9650),
    [anon_sym_next] = ACTIONS(9652),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(982),
    [anon_sym_unless] = ACTIONS(982),
    [anon_sym_while] = ACTIONS(982),
    [anon_sym_until] = ACTIONS(982),
    [anon_sym_rescue] = ACTIONS(982),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(1038),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(982),
    [anon_sym_else] = ACTIONS(982),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(9654),
    [anon_sym_not] = ACTIONS(9656),
    [anon_sym_BANG] = ACTIONS(9658),
    [anon_sym_TILDE] = ACTIONS(9660),
    [sym_constant] = ACTIONS(9662),
    [sym_identifier] = ACTIONS(9662),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3869] = {
    [anon_sym_EQ] = ACTIONS(9664),
    [sym_comment] = ACTIONS(256),
  },
  [3870] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_end] = ACTIONS(250),
    [anon_sym_COMMA] = ACTIONS(1076),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(9666),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_elsif] = ACTIONS(250),
    [anon_sym_else] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(9668),
    [anon_sym_DASH_EQ] = ACTIONS(9668),
    [anon_sym_STAR_EQ] = ACTIONS(9668),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9668),
    [anon_sym_SLASH_EQ] = ACTIONS(9668),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9668),
    [anon_sym_PIPE_EQ] = ACTIONS(9668),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9668),
    [anon_sym_AMP_EQ] = ACTIONS(9668),
    [anon_sym_PERCENT_EQ] = ACTIONS(9668),
    [anon_sym_GT_GT_EQ] = ACTIONS(9668),
    [anon_sym_LT_LT_EQ] = ACTIONS(9668),
    [anon_sym_CARET_EQ] = ACTIONS(9668),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [3871] = {
    [sym__statements] = STATE(7081),
    [sym__top_level_statement] = STATE(3863),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(3864),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_elsif] = STATE(3865),
    [sym_else] = STATE(3865),
    [sym__if_tail] = STATE(7039),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3867),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3869),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3870),
    [sym__variable] = STATE(3868),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5572),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(9670),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_elsif] = ACTIONS(5586),
    [anon_sym_else] = ACTIONS(5588),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5590),
    [anon_sym_defined_QMARK] = ACTIONS(5592),
    [anon_sym_not] = ACTIONS(5594),
    [anon_sym_BANG] = ACTIONS(5596),
    [anon_sym_TILDE] = ACTIONS(5596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3872] = {
    [sym__simple_string] = ACTIONS(9672),
    [sym__simple_symbol] = ACTIONS(9672),
    [sym__simple_subshell] = ACTIONS(9672),
    [sym__simple_regex] = ACTIONS(9672),
    [sym__simple_word_list] = ACTIONS(9672),
    [sym__simple_heredoc_body] = ACTIONS(9672),
    [sym__string_beginning] = ACTIONS(9672),
    [sym__symbol_beginning] = ACTIONS(9672),
    [sym__subshell_beginning] = ACTIONS(9672),
    [sym__regex_beginning] = ACTIONS(9672),
    [sym__word_list_beginning] = ACTIONS(9672),
    [sym__heredoc_body_beginning] = ACTIONS(9672),
    [sym_heredoc_beginning] = ACTIONS(9672),
    [sym__line_break] = ACTIONS(9672),
    [sym__unary_minus] = ACTIONS(9672),
    [anon_sym_BEGIN] = ACTIONS(9674),
    [anon_sym_LBRACE] = ACTIONS(9672),
    [anon_sym_END] = ACTIONS(9674),
    [anon_sym_def] = ACTIONS(9674),
    [anon_sym_LPAREN] = ACTIONS(9672),
    [anon_sym_COLON_COLON] = ACTIONS(9672),
    [anon_sym_end] = ACTIONS(9674),
    [anon_sym_SEMI] = ACTIONS(9672),
    [anon_sym_STAR] = ACTIONS(9672),
    [anon_sym_class] = ACTIONS(9674),
    [anon_sym_module] = ACTIONS(9674),
    [anon_sym_return] = ACTIONS(9674),
    [anon_sym_yield] = ACTIONS(9674),
    [anon_sym_break] = ACTIONS(9674),
    [anon_sym_next] = ACTIONS(9674),
    [anon_sym_redo] = ACTIONS(9674),
    [anon_sym_retry] = ACTIONS(9674),
    [anon_sym_if] = ACTIONS(9674),
    [anon_sym_unless] = ACTIONS(9674),
    [anon_sym_while] = ACTIONS(9674),
    [anon_sym_until] = ACTIONS(9674),
    [anon_sym_for] = ACTIONS(9674),
    [anon_sym_case] = ACTIONS(9674),
    [anon_sym_elsif] = ACTIONS(9674),
    [anon_sym_else] = ACTIONS(9674),
    [anon_sym_begin] = ACTIONS(9674),
    [anon_sym_PLUS] = ACTIONS(9674),
    [anon_sym_defined_QMARK] = ACTIONS(9672),
    [anon_sym_not] = ACTIONS(9674),
    [anon_sym_BANG] = ACTIONS(9672),
    [anon_sym_TILDE] = ACTIONS(9672),
    [sym_constant] = ACTIONS(9676),
    [sym_identifier] = ACTIONS(9676),
    [sym_instance_variable] = ACTIONS(9674),
    [sym_class_variable] = ACTIONS(9674),
    [sym_global_variable] = ACTIONS(9674),
    [anon_sym_alias] = ACTIONS(9674),
    [anon_sym_false] = ACTIONS(9674),
    [anon_sym_nil] = ACTIONS(9674),
    [anon_sym_self] = ACTIONS(9674),
    [anon_sym_super] = ACTIONS(9674),
    [anon_sym_true] = ACTIONS(9674),
    [anon_sym_undef] = ACTIONS(9674),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(9674),
    [sym_float] = ACTIONS(9676),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(9672),
    [anon_sym_TRUE] = ACTIONS(9674),
    [anon_sym_FALSE] = ACTIONS(9674),
    [anon_sym_NIL] = ACTIONS(9674),
    [sym_keyword__FILE__] = ACTIONS(9674),
    [sym_keyword__LINE__] = ACTIONS(9674),
    [sym_keyword__ENCODING__] = ACTIONS(9674),
    [sym__character_literal] = ACTIONS(9674),
    [anon_sym_LBRACK] = ACTIONS(9672),
    [anon_sym_DASH_GT] = ACTIONS(9672),
  },
  [3873] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__line_break] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(2342),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_SEMI] = ACTIONS(7008),
    [anon_sym_STAR_STAR] = ACTIONS(2346),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_if] = ACTIONS(7008),
    [anon_sym_unless] = ACTIONS(7008),
    [anon_sym_while] = ACTIONS(7008),
    [anon_sym_until] = ACTIONS(7008),
    [anon_sym_rescue] = ACTIONS(7008),
    [anon_sym_then] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7008),
    [anon_sym_AMP_AMP] = ACTIONS(7008),
    [anon_sym_LT_LT] = ACTIONS(7008),
    [anon_sym_GT_GT] = ACTIONS(7008),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7008),
    [anon_sym_PLUS] = ACTIONS(7008),
    [anon_sym_SLASH] = ACTIONS(2346),
    [anon_sym_PERCENT] = ACTIONS(2346),
    [sym_comment] = ACTIONS(110),
  },
  [3874] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__line_break] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_SEMI] = ACTIONS(7012),
    [anon_sym_STAR_STAR] = ACTIONS(2346),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_if] = ACTIONS(7012),
    [anon_sym_unless] = ACTIONS(7012),
    [anon_sym_while] = ACTIONS(7012),
    [anon_sym_until] = ACTIONS(7012),
    [anon_sym_rescue] = ACTIONS(7012),
    [anon_sym_then] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7012),
    [anon_sym_AMP_AMP] = ACTIONS(7012),
    [anon_sym_LT_LT] = ACTIONS(7012),
    [anon_sym_GT_GT] = ACTIONS(7012),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7012),
    [anon_sym_PLUS] = ACTIONS(7012),
    [anon_sym_SLASH] = ACTIONS(7012),
    [anon_sym_PERCENT] = ACTIONS(7012),
    [sym_comment] = ACTIONS(110),
  },
  [3875] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(2340),
    [sym__binary_star] = ACTIONS(2342),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(2346),
    [anon_sym_AMP] = ACTIONS(2348),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_then] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(2362),
    [anon_sym_GT_GT] = ACTIONS(2362),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(2370),
    [anon_sym_SLASH] = ACTIONS(2346),
    [anon_sym_PERCENT] = ACTIONS(2346),
    [sym_comment] = ACTIONS(110),
  },
  [3876] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(2346),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_then] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7016),
    [anon_sym_PERCENT] = ACTIONS(7016),
    [sym_comment] = ACTIONS(110),
  },
  [3877] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(2340),
    [sym__binary_star] = ACTIONS(2342),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(2346),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_then] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(2362),
    [anon_sym_GT_GT] = ACTIONS(2362),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(2370),
    [anon_sym_SLASH] = ACTIONS(2346),
    [anon_sym_PERCENT] = ACTIONS(2346),
    [sym_comment] = ACTIONS(110),
  },
  [3878] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(2340),
    [sym__binary_star] = ACTIONS(2342),
    [anon_sym_PIPE] = ACTIONS(2344),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(2346),
    [anon_sym_AMP] = ACTIONS(2348),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_then] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(2362),
    [anon_sym_GT_GT] = ACTIONS(2362),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(2368),
    [anon_sym_PLUS] = ACTIONS(2370),
    [anon_sym_SLASH] = ACTIONS(2346),
    [anon_sym_PERCENT] = ACTIONS(2346),
    [sym_comment] = ACTIONS(110),
  },
  [3879] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(9678),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [3880] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__line_break] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(2340),
    [sym__binary_star] = ACTIONS(2342),
    [anon_sym_PIPE] = ACTIONS(2344),
    [anon_sym_SEMI] = ACTIONS(7108),
    [anon_sym_STAR_STAR] = ACTIONS(2346),
    [anon_sym_AMP] = ACTIONS(2348),
    [anon_sym_LT] = ACTIONS(2350),
    [anon_sym_if] = ACTIONS(7108),
    [anon_sym_unless] = ACTIONS(7108),
    [anon_sym_while] = ACTIONS(7108),
    [anon_sym_until] = ACTIONS(7108),
    [anon_sym_rescue] = ACTIONS(7108),
    [anon_sym_then] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(2354),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2356),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(2360),
    [anon_sym_AMP_AMP] = ACTIONS(2360),
    [anon_sym_LT_LT] = ACTIONS(2362),
    [anon_sym_GT_GT] = ACTIONS(2362),
    [anon_sym_EQ_EQ] = ACTIONS(2364),
    [anon_sym_BANG_EQ] = ACTIONS(2360),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2360),
    [anon_sym_LT_EQ_GT] = ACTIONS(2360),
    [anon_sym_EQ_TILDE] = ACTIONS(2360),
    [anon_sym_BANG_TILDE] = ACTIONS(2360),
    [anon_sym_LT_EQ] = ACTIONS(2350),
    [anon_sym_GT] = ACTIONS(2350),
    [anon_sym_GT_EQ] = ACTIONS(2366),
    [anon_sym_CARET] = ACTIONS(2368),
    [anon_sym_PLUS] = ACTIONS(2370),
    [anon_sym_SLASH] = ACTIONS(2346),
    [anon_sym_PERCENT] = ACTIONS(2346),
    [sym_comment] = ACTIONS(110),
  },
  [3881] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(2340),
    [sym__binary_star] = ACTIONS(2342),
    [anon_sym_PIPE] = ACTIONS(2344),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(2346),
    [anon_sym_AMP] = ACTIONS(2348),
    [anon_sym_LT] = ACTIONS(2350),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_then] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(2352),
    [anon_sym_DOT_DOT] = ACTIONS(2354),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2356),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(2360),
    [anon_sym_AMP_AMP] = ACTIONS(2360),
    [anon_sym_LT_LT] = ACTIONS(2362),
    [anon_sym_GT_GT] = ACTIONS(2362),
    [anon_sym_EQ_EQ] = ACTIONS(2364),
    [anon_sym_BANG_EQ] = ACTIONS(2360),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2360),
    [anon_sym_LT_EQ_GT] = ACTIONS(2360),
    [anon_sym_EQ_TILDE] = ACTIONS(2360),
    [anon_sym_BANG_TILDE] = ACTIONS(2360),
    [anon_sym_LT_EQ] = ACTIONS(2350),
    [anon_sym_GT] = ACTIONS(2350),
    [anon_sym_GT_EQ] = ACTIONS(2366),
    [anon_sym_CARET] = ACTIONS(2368),
    [anon_sym_PLUS] = ACTIONS(2370),
    [anon_sym_SLASH] = ACTIONS(2346),
    [anon_sym_PERCENT] = ACTIONS(2346),
    [sym_comment] = ACTIONS(110),
  },
  [3882] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(2340),
    [sym__binary_star] = ACTIONS(2342),
    [anon_sym_PIPE] = ACTIONS(2344),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(2346),
    [anon_sym_AMP] = ACTIONS(2348),
    [anon_sym_LT] = ACTIONS(2350),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_then] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(2362),
    [anon_sym_GT_GT] = ACTIONS(2362),
    [anon_sym_EQ_EQ] = ACTIONS(2364),
    [anon_sym_BANG_EQ] = ACTIONS(2360),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2360),
    [anon_sym_LT_EQ_GT] = ACTIONS(2360),
    [anon_sym_EQ_TILDE] = ACTIONS(2360),
    [anon_sym_BANG_TILDE] = ACTIONS(2360),
    [anon_sym_LT_EQ] = ACTIONS(2350),
    [anon_sym_GT] = ACTIONS(2350),
    [anon_sym_GT_EQ] = ACTIONS(2366),
    [anon_sym_CARET] = ACTIONS(2368),
    [anon_sym_PLUS] = ACTIONS(2370),
    [anon_sym_SLASH] = ACTIONS(2346),
    [anon_sym_PERCENT] = ACTIONS(2346),
    [sym_comment] = ACTIONS(110),
  },
  [3883] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(2340),
    [sym__binary_star] = ACTIONS(2342),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(2346),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_then] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(2370),
    [anon_sym_SLASH] = ACTIONS(2346),
    [anon_sym_PERCENT] = ACTIONS(2346),
    [sym_comment] = ACTIONS(110),
  },
  [3884] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(2342),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(2346),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_then] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(2346),
    [anon_sym_PERCENT] = ACTIONS(2346),
    [sym_comment] = ACTIONS(110),
  },
  [3885] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(7083),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3894),
    [sym_call] = STATE(3894),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(3895),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3896),
    [sym__variable] = STATE(3894),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(5600),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(5602),
    [anon_sym_yield] = ACTIONS(5604),
    [anon_sym_break] = ACTIONS(5606),
    [anon_sym_next] = ACTIONS(5608),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(5610),
    [anon_sym_defined_QMARK] = ACTIONS(5612),
    [anon_sym_not] = ACTIONS(5614),
    [anon_sym_BANG] = ACTIONS(5616),
    [anon_sym_TILDE] = ACTIONS(5616),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [3886] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1510),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1511),
    [sym_call] = STATE(1511),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(4940),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(1512),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1513),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1514),
    [sym__variable] = STATE(1511),
    [sym_reserved_identifier] = STATE(1515),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1516),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(2372),
    [sym__splat_star] = ACTIONS(2374),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(2376),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(544),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2378),
    [anon_sym_yield] = ACTIONS(2380),
    [anon_sym_break] = ACTIONS(2382),
    [anon_sym_next] = ACTIONS(2384),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(544),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_PLUS_EQ] = ACTIONS(532),
    [anon_sym_DASH_EQ] = ACTIONS(532),
    [anon_sym_STAR_EQ] = ACTIONS(532),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(532),
    [anon_sym_SLASH_EQ] = ACTIONS(532),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(532),
    [anon_sym_PIPE_EQ] = ACTIONS(532),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(532),
    [anon_sym_AMP_EQ] = ACTIONS(532),
    [anon_sym_PERCENT_EQ] = ACTIONS(532),
    [anon_sym_GT_GT_EQ] = ACTIONS(532),
    [anon_sym_LT_LT_EQ] = ACTIONS(532),
    [anon_sym_CARET_EQ] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(544),
    [anon_sym_AMP_AMP] = ACTIONS(544),
    [anon_sym_LT_LT] = ACTIONS(544),
    [anon_sym_GT_GT] = ACTIONS(544),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(544),
    [anon_sym_PERCENT] = ACTIONS(544),
    [anon_sym_defined_QMARK] = ACTIONS(2386),
    [anon_sym_not] = ACTIONS(2388),
    [anon_sym_BANG] = ACTIONS(2390),
    [anon_sym_TILDE] = ACTIONS(2392),
    [sym_constant] = ACTIONS(2394),
    [sym_identifier] = ACTIONS(2394),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3887] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1510),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1511),
    [sym_call] = STATE(1511),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(4941),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(1512),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1513),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1514),
    [sym__variable] = STATE(1511),
    [sym_reserved_identifier] = STATE(1515),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1516),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(2372),
    [sym__splat_star] = ACTIONS(2374),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(2376),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(604),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2378),
    [anon_sym_yield] = ACTIONS(2380),
    [anon_sym_break] = ACTIONS(2382),
    [anon_sym_next] = ACTIONS(2384),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(604),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_PLUS_EQ] = ACTIONS(602),
    [anon_sym_DASH_EQ] = ACTIONS(602),
    [anon_sym_STAR_EQ] = ACTIONS(602),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(602),
    [anon_sym_SLASH_EQ] = ACTIONS(602),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(602),
    [anon_sym_PIPE_EQ] = ACTIONS(602),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(602),
    [anon_sym_AMP_EQ] = ACTIONS(602),
    [anon_sym_PERCENT_EQ] = ACTIONS(602),
    [anon_sym_GT_GT_EQ] = ACTIONS(602),
    [anon_sym_LT_LT_EQ] = ACTIONS(602),
    [anon_sym_CARET_EQ] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(604),
    [anon_sym_AMP_AMP] = ACTIONS(604),
    [anon_sym_LT_LT] = ACTIONS(604),
    [anon_sym_GT_GT] = ACTIONS(604),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(604),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(604),
    [anon_sym_PERCENT] = ACTIONS(604),
    [anon_sym_defined_QMARK] = ACTIONS(2386),
    [anon_sym_not] = ACTIONS(2388),
    [anon_sym_BANG] = ACTIONS(2390),
    [anon_sym_TILDE] = ACTIONS(2392),
    [sym_constant] = ACTIONS(2394),
    [sym_identifier] = ACTIONS(2394),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3888] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1510),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1511),
    [sym_call] = STATE(1511),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(4942),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(1512),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1513),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1514),
    [sym__variable] = STATE(1511),
    [sym_reserved_identifier] = STATE(1515),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1516),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(2372),
    [sym__splat_star] = ACTIONS(2374),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(2376),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(608),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2378),
    [anon_sym_yield] = ACTIONS(2380),
    [anon_sym_break] = ACTIONS(2382),
    [anon_sym_next] = ACTIONS(2384),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(608),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_PLUS_EQ] = ACTIONS(606),
    [anon_sym_DASH_EQ] = ACTIONS(606),
    [anon_sym_STAR_EQ] = ACTIONS(606),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(606),
    [anon_sym_SLASH_EQ] = ACTIONS(606),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(606),
    [anon_sym_PIPE_EQ] = ACTIONS(606),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(606),
    [anon_sym_AMP_EQ] = ACTIONS(606),
    [anon_sym_PERCENT_EQ] = ACTIONS(606),
    [anon_sym_GT_GT_EQ] = ACTIONS(606),
    [anon_sym_LT_LT_EQ] = ACTIONS(606),
    [anon_sym_CARET_EQ] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(608),
    [anon_sym_AMP_AMP] = ACTIONS(608),
    [anon_sym_LT_LT] = ACTIONS(608),
    [anon_sym_GT_GT] = ACTIONS(608),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(608),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(608),
    [anon_sym_PERCENT] = ACTIONS(608),
    [anon_sym_defined_QMARK] = ACTIONS(2386),
    [anon_sym_not] = ACTIONS(2388),
    [anon_sym_BANG] = ACTIONS(2390),
    [anon_sym_TILDE] = ACTIONS(2392),
    [sym_constant] = ACTIONS(2394),
    [sym_identifier] = ACTIONS(2394),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3889] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1510),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1511),
    [sym_call] = STATE(1511),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(4943),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(1512),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1513),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1514),
    [sym__variable] = STATE(1511),
    [sym_reserved_identifier] = STATE(1515),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1516),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(2372),
    [sym__splat_star] = ACTIONS(2374),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(2376),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(612),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2378),
    [anon_sym_yield] = ACTIONS(2380),
    [anon_sym_break] = ACTIONS(2382),
    [anon_sym_next] = ACTIONS(2384),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(612),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_PLUS_EQ] = ACTIONS(610),
    [anon_sym_DASH_EQ] = ACTIONS(610),
    [anon_sym_STAR_EQ] = ACTIONS(610),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(610),
    [anon_sym_SLASH_EQ] = ACTIONS(610),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(610),
    [anon_sym_PIPE_EQ] = ACTIONS(610),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(610),
    [anon_sym_AMP_EQ] = ACTIONS(610),
    [anon_sym_PERCENT_EQ] = ACTIONS(610),
    [anon_sym_GT_GT_EQ] = ACTIONS(610),
    [anon_sym_LT_LT_EQ] = ACTIONS(610),
    [anon_sym_CARET_EQ] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(612),
    [anon_sym_AMP_AMP] = ACTIONS(612),
    [anon_sym_LT_LT] = ACTIONS(612),
    [anon_sym_GT_GT] = ACTIONS(612),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(612),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(612),
    [anon_sym_PERCENT] = ACTIONS(612),
    [anon_sym_defined_QMARK] = ACTIONS(2386),
    [anon_sym_not] = ACTIONS(2388),
    [anon_sym_BANG] = ACTIONS(2390),
    [anon_sym_TILDE] = ACTIONS(2392),
    [sym_constant] = ACTIONS(2394),
    [sym_identifier] = ACTIONS(2394),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3890] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(7084),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3894),
    [sym_call] = STATE(3894),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(3895),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3896),
    [sym__variable] = STATE(3894),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(5600),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(5602),
    [anon_sym_yield] = ACTIONS(5604),
    [anon_sym_break] = ACTIONS(5606),
    [anon_sym_next] = ACTIONS(5608),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(5610),
    [anon_sym_defined_QMARK] = ACTIONS(5612),
    [anon_sym_not] = ACTIONS(5614),
    [anon_sym_BANG] = ACTIONS(5616),
    [anon_sym_TILDE] = ACTIONS(5616),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [3891] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(7085),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3894),
    [sym_call] = STATE(3894),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(3895),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3896),
    [sym__variable] = STATE(3894),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(5600),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(5602),
    [anon_sym_yield] = ACTIONS(5604),
    [anon_sym_break] = ACTIONS(5606),
    [anon_sym_next] = ACTIONS(5608),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(5610),
    [anon_sym_defined_QMARK] = ACTIONS(5612),
    [anon_sym_not] = ACTIONS(5614),
    [anon_sym_BANG] = ACTIONS(5616),
    [anon_sym_TILDE] = ACTIONS(5616),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [3892] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(4957),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3894),
    [sym_call] = STATE(3894),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(3895),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3896),
    [sym__variable] = STATE(3894),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(5600),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(5602),
    [anon_sym_yield] = ACTIONS(5604),
    [anon_sym_break] = ACTIONS(5606),
    [anon_sym_next] = ACTIONS(5608),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(5610),
    [anon_sym_defined_QMARK] = ACTIONS(5612),
    [anon_sym_not] = ACTIONS(5614),
    [anon_sym_BANG] = ACTIONS(5616),
    [anon_sym_TILDE] = ACTIONS(5616),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [3893] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__line_break] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(9680),
    [sym__binary_star] = ACTIONS(9682),
    [anon_sym_LBRACE] = ACTIONS(5298),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(9684),
    [anon_sym_SEMI] = ACTIONS(5298),
    [anon_sym_STAR_STAR] = ACTIONS(9686),
    [anon_sym_AMP] = ACTIONS(9688),
    [anon_sym_EQ] = ACTIONS(5304),
    [anon_sym_LT] = ACTIONS(9690),
    [anon_sym_if] = ACTIONS(5298),
    [anon_sym_unless] = ACTIONS(5298),
    [anon_sym_while] = ACTIONS(5298),
    [anon_sym_until] = ACTIONS(5298),
    [anon_sym_rescue] = ACTIONS(5298),
    [anon_sym_do] = ACTIONS(5298),
    [anon_sym_then] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_PLUS_EQ] = ACTIONS(5298),
    [anon_sym_DASH_EQ] = ACTIONS(5298),
    [anon_sym_STAR_EQ] = ACTIONS(5298),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5298),
    [anon_sym_SLASH_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5298),
    [anon_sym_AMP_EQ] = ACTIONS(5298),
    [anon_sym_PERCENT_EQ] = ACTIONS(5298),
    [anon_sym_GT_GT_EQ] = ACTIONS(5298),
    [anon_sym_LT_LT_EQ] = ACTIONS(5298),
    [anon_sym_CARET_EQ] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(9692),
    [anon_sym_DOT_DOT] = ACTIONS(9694),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9696),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(9698),
    [anon_sym_AMP_AMP] = ACTIONS(9698),
    [anon_sym_LT_LT] = ACTIONS(9700),
    [anon_sym_GT_GT] = ACTIONS(9700),
    [anon_sym_EQ_EQ] = ACTIONS(9698),
    [anon_sym_BANG_EQ] = ACTIONS(9702),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9702),
    [anon_sym_LT_EQ_GT] = ACTIONS(9702),
    [anon_sym_EQ_TILDE] = ACTIONS(9702),
    [anon_sym_BANG_TILDE] = ACTIONS(9702),
    [anon_sym_LT_EQ] = ACTIONS(9690),
    [anon_sym_GT] = ACTIONS(9690),
    [anon_sym_GT_EQ] = ACTIONS(9704),
    [anon_sym_CARET] = ACTIONS(9684),
    [anon_sym_PLUS] = ACTIONS(9706),
    [anon_sym_SLASH] = ACTIONS(9686),
    [anon_sym_PERCENT] = ACTIONS(9686),
    [sym_comment] = ACTIONS(256),
  },
  [3894] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1510),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1511),
    [sym_call] = STATE(1511),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(1579),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(1512),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_do_block] = STATE(602),
    [sym_block] = STATE(602),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1513),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1514),
    [sym__variable] = STATE(1511),
    [sym_reserved_identifier] = STATE(1515),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1516),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(2372),
    [sym__splat_star] = ACTIONS(2374),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(2376),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(1014),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2378),
    [anon_sym_yield] = ACTIONS(2380),
    [anon_sym_break] = ACTIONS(2382),
    [anon_sym_next] = ACTIONS(2384),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(982),
    [anon_sym_unless] = ACTIONS(982),
    [anon_sym_while] = ACTIONS(982),
    [anon_sym_until] = ACTIONS(982),
    [anon_sym_rescue] = ACTIONS(982),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(982),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(982),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(2386),
    [anon_sym_not] = ACTIONS(2388),
    [anon_sym_BANG] = ACTIONS(2390),
    [anon_sym_TILDE] = ACTIONS(2392),
    [sym_constant] = ACTIONS(2394),
    [sym_identifier] = ACTIONS(2394),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3895] = {
    [anon_sym_EQ] = ACTIONS(9708),
    [sym_comment] = ACTIONS(256),
  },
  [3896] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(9710),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_then] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(9712),
    [anon_sym_DASH_EQ] = ACTIONS(9712),
    [anon_sym_STAR_EQ] = ACTIONS(9712),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9712),
    [anon_sym_SLASH_EQ] = ACTIONS(9712),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9712),
    [anon_sym_PIPE_EQ] = ACTIONS(9712),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9712),
    [anon_sym_AMP_EQ] = ACTIONS(9712),
    [anon_sym_PERCENT_EQ] = ACTIONS(9712),
    [anon_sym_GT_GT_EQ] = ACTIONS(9712),
    [anon_sym_LT_LT_EQ] = ACTIONS(9712),
    [anon_sym_CARET_EQ] = ACTIONS(9712),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [3897] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__line_break] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(9680),
    [sym__binary_star] = ACTIONS(9682),
    [anon_sym_LBRACE] = ACTIONS(5338),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(9684),
    [anon_sym_SEMI] = ACTIONS(5338),
    [anon_sym_STAR_STAR] = ACTIONS(9686),
    [anon_sym_AMP] = ACTIONS(9688),
    [anon_sym_EQ] = ACTIONS(5340),
    [anon_sym_LT] = ACTIONS(9690),
    [anon_sym_if] = ACTIONS(5338),
    [anon_sym_unless] = ACTIONS(5338),
    [anon_sym_while] = ACTIONS(5338),
    [anon_sym_until] = ACTIONS(5338),
    [anon_sym_rescue] = ACTIONS(5338),
    [anon_sym_do] = ACTIONS(5338),
    [anon_sym_then] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_PLUS_EQ] = ACTIONS(5338),
    [anon_sym_DASH_EQ] = ACTIONS(5338),
    [anon_sym_STAR_EQ] = ACTIONS(5338),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5338),
    [anon_sym_SLASH_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5338),
    [anon_sym_AMP_EQ] = ACTIONS(5338),
    [anon_sym_PERCENT_EQ] = ACTIONS(5338),
    [anon_sym_GT_GT_EQ] = ACTIONS(5338),
    [anon_sym_LT_LT_EQ] = ACTIONS(5338),
    [anon_sym_CARET_EQ] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(9692),
    [anon_sym_DOT_DOT] = ACTIONS(9694),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9696),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(9698),
    [anon_sym_AMP_AMP] = ACTIONS(9698),
    [anon_sym_LT_LT] = ACTIONS(9700),
    [anon_sym_GT_GT] = ACTIONS(9700),
    [anon_sym_EQ_EQ] = ACTIONS(9698),
    [anon_sym_BANG_EQ] = ACTIONS(9702),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9702),
    [anon_sym_LT_EQ_GT] = ACTIONS(9702),
    [anon_sym_EQ_TILDE] = ACTIONS(9702),
    [anon_sym_BANG_TILDE] = ACTIONS(9702),
    [anon_sym_LT_EQ] = ACTIONS(9690),
    [anon_sym_GT] = ACTIONS(9690),
    [anon_sym_GT_EQ] = ACTIONS(9704),
    [anon_sym_CARET] = ACTIONS(9684),
    [anon_sym_PLUS] = ACTIONS(9706),
    [anon_sym_SLASH] = ACTIONS(9686),
    [anon_sym_PERCENT] = ACTIONS(9686),
    [sym_comment] = ACTIONS(256),
  },
  [3898] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(3831),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1511),
    [sym_call] = STATE(1511),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2147),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(3832),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1513),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1514),
    [sym__variable] = STATE(1511),
    [sym_reserved_identifier] = STATE(3833),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(3834),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(5544),
    [sym__splat_star] = ACTIONS(5546),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(2376),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(544),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2378),
    [anon_sym_yield] = ACTIONS(2380),
    [anon_sym_break] = ACTIONS(2382),
    [anon_sym_next] = ACTIONS(2384),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(544),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_PLUS_EQ] = ACTIONS(532),
    [anon_sym_DASH_EQ] = ACTIONS(532),
    [anon_sym_STAR_EQ] = ACTIONS(532),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(532),
    [anon_sym_SLASH_EQ] = ACTIONS(532),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(532),
    [anon_sym_PIPE_EQ] = ACTIONS(532),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(532),
    [anon_sym_AMP_EQ] = ACTIONS(532),
    [anon_sym_PERCENT_EQ] = ACTIONS(532),
    [anon_sym_GT_GT_EQ] = ACTIONS(532),
    [anon_sym_LT_LT_EQ] = ACTIONS(532),
    [anon_sym_CARET_EQ] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(544),
    [anon_sym_AMP_AMP] = ACTIONS(544),
    [anon_sym_LT_LT] = ACTIONS(544),
    [anon_sym_GT_GT] = ACTIONS(544),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(544),
    [anon_sym_PERCENT] = ACTIONS(544),
    [anon_sym_defined_QMARK] = ACTIONS(2386),
    [anon_sym_not] = ACTIONS(2388),
    [anon_sym_BANG] = ACTIONS(2390),
    [anon_sym_TILDE] = ACTIONS(2392),
    [sym_constant] = ACTIONS(5548),
    [sym_identifier] = ACTIONS(5548),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3899] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(3831),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1511),
    [sym_call] = STATE(1511),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2148),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(3832),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1513),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1514),
    [sym__variable] = STATE(1511),
    [sym_reserved_identifier] = STATE(3833),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(3834),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(5544),
    [sym__splat_star] = ACTIONS(5546),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(2376),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(604),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2378),
    [anon_sym_yield] = ACTIONS(2380),
    [anon_sym_break] = ACTIONS(2382),
    [anon_sym_next] = ACTIONS(2384),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(604),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_PLUS_EQ] = ACTIONS(602),
    [anon_sym_DASH_EQ] = ACTIONS(602),
    [anon_sym_STAR_EQ] = ACTIONS(602),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(602),
    [anon_sym_SLASH_EQ] = ACTIONS(602),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(602),
    [anon_sym_PIPE_EQ] = ACTIONS(602),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(602),
    [anon_sym_AMP_EQ] = ACTIONS(602),
    [anon_sym_PERCENT_EQ] = ACTIONS(602),
    [anon_sym_GT_GT_EQ] = ACTIONS(602),
    [anon_sym_LT_LT_EQ] = ACTIONS(602),
    [anon_sym_CARET_EQ] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(604),
    [anon_sym_AMP_AMP] = ACTIONS(604),
    [anon_sym_LT_LT] = ACTIONS(604),
    [anon_sym_GT_GT] = ACTIONS(604),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(604),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(604),
    [anon_sym_PERCENT] = ACTIONS(604),
    [anon_sym_defined_QMARK] = ACTIONS(2386),
    [anon_sym_not] = ACTIONS(2388),
    [anon_sym_BANG] = ACTIONS(2390),
    [anon_sym_TILDE] = ACTIONS(2392),
    [sym_constant] = ACTIONS(5548),
    [sym_identifier] = ACTIONS(5548),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3900] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(3831),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1511),
    [sym_call] = STATE(1511),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2149),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(3832),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1513),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1514),
    [sym__variable] = STATE(1511),
    [sym_reserved_identifier] = STATE(3833),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(3834),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(5544),
    [sym__splat_star] = ACTIONS(5546),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(2376),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(608),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2378),
    [anon_sym_yield] = ACTIONS(2380),
    [anon_sym_break] = ACTIONS(2382),
    [anon_sym_next] = ACTIONS(2384),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(608),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_PLUS_EQ] = ACTIONS(606),
    [anon_sym_DASH_EQ] = ACTIONS(606),
    [anon_sym_STAR_EQ] = ACTIONS(606),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(606),
    [anon_sym_SLASH_EQ] = ACTIONS(606),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(606),
    [anon_sym_PIPE_EQ] = ACTIONS(606),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(606),
    [anon_sym_AMP_EQ] = ACTIONS(606),
    [anon_sym_PERCENT_EQ] = ACTIONS(606),
    [anon_sym_GT_GT_EQ] = ACTIONS(606),
    [anon_sym_LT_LT_EQ] = ACTIONS(606),
    [anon_sym_CARET_EQ] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(608),
    [anon_sym_AMP_AMP] = ACTIONS(608),
    [anon_sym_LT_LT] = ACTIONS(608),
    [anon_sym_GT_GT] = ACTIONS(608),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(608),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(608),
    [anon_sym_PERCENT] = ACTIONS(608),
    [anon_sym_defined_QMARK] = ACTIONS(2386),
    [anon_sym_not] = ACTIONS(2388),
    [anon_sym_BANG] = ACTIONS(2390),
    [anon_sym_TILDE] = ACTIONS(2392),
    [sym_constant] = ACTIONS(5548),
    [sym_identifier] = ACTIONS(5548),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3901] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(3831),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1511),
    [sym_call] = STATE(1511),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2150),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(3832),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1513),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1514),
    [sym__variable] = STATE(1511),
    [sym_reserved_identifier] = STATE(3833),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(3834),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(5544),
    [sym__splat_star] = ACTIONS(5546),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(2376),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(612),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2378),
    [anon_sym_yield] = ACTIONS(2380),
    [anon_sym_break] = ACTIONS(2382),
    [anon_sym_next] = ACTIONS(2384),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(612),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_PLUS_EQ] = ACTIONS(610),
    [anon_sym_DASH_EQ] = ACTIONS(610),
    [anon_sym_STAR_EQ] = ACTIONS(610),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(610),
    [anon_sym_SLASH_EQ] = ACTIONS(610),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(610),
    [anon_sym_PIPE_EQ] = ACTIONS(610),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(610),
    [anon_sym_AMP_EQ] = ACTIONS(610),
    [anon_sym_PERCENT_EQ] = ACTIONS(610),
    [anon_sym_GT_GT_EQ] = ACTIONS(610),
    [anon_sym_LT_LT_EQ] = ACTIONS(610),
    [anon_sym_CARET_EQ] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(612),
    [anon_sym_AMP_AMP] = ACTIONS(612),
    [anon_sym_LT_LT] = ACTIONS(612),
    [anon_sym_GT_GT] = ACTIONS(612),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(612),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(612),
    [anon_sym_PERCENT] = ACTIONS(612),
    [anon_sym_defined_QMARK] = ACTIONS(2386),
    [anon_sym_not] = ACTIONS(2388),
    [anon_sym_BANG] = ACTIONS(2390),
    [anon_sym_TILDE] = ACTIONS(2392),
    [sym_constant] = ACTIONS(5548),
    [sym_identifier] = ACTIONS(5548),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3902] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_LBRACE] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(5638),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_EQ] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_if] = ACTIONS(1372),
    [anon_sym_unless] = ACTIONS(1372),
    [anon_sym_while] = ACTIONS(1372),
    [anon_sym_until] = ACTIONS(1372),
    [anon_sym_rescue] = ACTIONS(1372),
    [anon_sym_do] = ACTIONS(1372),
    [anon_sym_then] = ACTIONS(1372),
    [anon_sym_EQ_GT] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_PLUS_EQ] = ACTIONS(1372),
    [anon_sym_DASH_EQ] = ACTIONS(1372),
    [anon_sym_STAR_EQ] = ACTIONS(1372),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1372),
    [anon_sym_SLASH_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1372),
    [anon_sym_AMP_EQ] = ACTIONS(1372),
    [anon_sym_PERCENT_EQ] = ACTIONS(1372),
    [anon_sym_GT_GT_EQ] = ACTIONS(1372),
    [anon_sym_LT_LT_EQ] = ACTIONS(1372),
    [anon_sym_CARET_EQ] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1374),
    [anon_sym_AMP_AMP] = ACTIONS(1374),
    [anon_sym_LT_LT] = ACTIONS(1374),
    [anon_sym_GT_GT] = ACTIONS(1374),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1374),
    [anon_sym_PLUS] = ACTIONS(1374),
    [anon_sym_SLASH] = ACTIONS(1374),
    [anon_sym_PERCENT] = ACTIONS(1374),
    [sym_comment] = ACTIONS(256),
  },
  [3903] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__line_break] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(9680),
    [sym__binary_star] = ACTIONS(9682),
    [anon_sym_LBRACE] = ACTIONS(4284),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(9684),
    [anon_sym_SEMI] = ACTIONS(4284),
    [anon_sym_STAR_STAR] = ACTIONS(9686),
    [anon_sym_AMP] = ACTIONS(9688),
    [anon_sym_EQ] = ACTIONS(5432),
    [anon_sym_LT] = ACTIONS(9690),
    [anon_sym_if] = ACTIONS(4284),
    [anon_sym_unless] = ACTIONS(4284),
    [anon_sym_while] = ACTIONS(4284),
    [anon_sym_until] = ACTIONS(4284),
    [anon_sym_rescue] = ACTIONS(4284),
    [anon_sym_do] = ACTIONS(4284),
    [anon_sym_then] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_PLUS_EQ] = ACTIONS(4284),
    [anon_sym_DASH_EQ] = ACTIONS(4284),
    [anon_sym_STAR_EQ] = ACTIONS(4284),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(4284),
    [anon_sym_SLASH_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(4284),
    [anon_sym_AMP_EQ] = ACTIONS(4284),
    [anon_sym_PERCENT_EQ] = ACTIONS(4284),
    [anon_sym_GT_GT_EQ] = ACTIONS(4284),
    [anon_sym_LT_LT_EQ] = ACTIONS(4284),
    [anon_sym_CARET_EQ] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(9692),
    [anon_sym_DOT_DOT] = ACTIONS(9694),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9696),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(9698),
    [anon_sym_AMP_AMP] = ACTIONS(9698),
    [anon_sym_LT_LT] = ACTIONS(9700),
    [anon_sym_GT_GT] = ACTIONS(9700),
    [anon_sym_EQ_EQ] = ACTIONS(9698),
    [anon_sym_BANG_EQ] = ACTIONS(9702),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9702),
    [anon_sym_LT_EQ_GT] = ACTIONS(9702),
    [anon_sym_EQ_TILDE] = ACTIONS(9702),
    [anon_sym_BANG_TILDE] = ACTIONS(9702),
    [anon_sym_LT_EQ] = ACTIONS(9690),
    [anon_sym_GT] = ACTIONS(9690),
    [anon_sym_GT_EQ] = ACTIONS(9704),
    [anon_sym_CARET] = ACTIONS(9684),
    [anon_sym_PLUS] = ACTIONS(9706),
    [anon_sym_SLASH] = ACTIONS(9686),
    [anon_sym_PERCENT] = ACTIONS(9686),
    [sym_comment] = ACTIONS(256),
  },
  [3904] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(5638),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_then] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2872),
    [anon_sym_AMP_AMP] = ACTIONS(2872),
    [anon_sym_LT_LT] = ACTIONS(2872),
    [anon_sym_GT_GT] = ACTIONS(2872),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2872),
    [anon_sym_PLUS] = ACTIONS(2872),
    [anon_sym_SLASH] = ACTIONS(2872),
    [anon_sym_PERCENT] = ACTIONS(2872),
    [sym_comment] = ACTIONS(256),
  },
  [3905] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(5632),
    [sym__binary_star] = ACTIONS(5634),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(5636),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(5638),
    [anon_sym_AMP] = ACTIONS(5640),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(5642),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_then] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(5644),
    [anon_sym_DOT_DOT] = ACTIONS(5646),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5648),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(5650),
    [anon_sym_AMP_AMP] = ACTIONS(5650),
    [anon_sym_LT_LT] = ACTIONS(5652),
    [anon_sym_GT_GT] = ACTIONS(5652),
    [anon_sym_EQ_EQ] = ACTIONS(5650),
    [anon_sym_BANG_EQ] = ACTIONS(5654),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5654),
    [anon_sym_LT_EQ_GT] = ACTIONS(5654),
    [anon_sym_EQ_TILDE] = ACTIONS(5654),
    [anon_sym_BANG_TILDE] = ACTIONS(5654),
    [anon_sym_LT_EQ] = ACTIONS(5642),
    [anon_sym_GT] = ACTIONS(5642),
    [anon_sym_GT_EQ] = ACTIONS(5656),
    [anon_sym_CARET] = ACTIONS(5636),
    [anon_sym_PLUS] = ACTIONS(5658),
    [anon_sym_SLASH] = ACTIONS(5638),
    [anon_sym_PERCENT] = ACTIONS(5638),
    [sym_comment] = ACTIONS(256),
  },
  [3906] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(7100),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3894),
    [sym_call] = STATE(3894),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(3895),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3896),
    [sym__variable] = STATE(3894),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(5600),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(5602),
    [anon_sym_yield] = ACTIONS(5604),
    [anon_sym_break] = ACTIONS(5606),
    [anon_sym_next] = ACTIONS(5608),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(5610),
    [anon_sym_defined_QMARK] = ACTIONS(5612),
    [anon_sym_not] = ACTIONS(5614),
    [anon_sym_BANG] = ACTIONS(5616),
    [anon_sym_TILDE] = ACTIONS(5616),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [3907] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7101),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1511),
    [sym_call] = STATE(1511),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1513),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1514),
    [sym__variable] = STATE(1511),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2376),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(5618),
    [anon_sym_yield] = ACTIONS(5620),
    [anon_sym_break] = ACTIONS(5622),
    [anon_sym_next] = ACTIONS(5624),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(5626),
    [anon_sym_defined_QMARK] = ACTIONS(2386),
    [anon_sym_not] = ACTIONS(5628),
    [anon_sym_BANG] = ACTIONS(2392),
    [anon_sym_TILDE] = ACTIONS(2392),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3908] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7102),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1511),
    [sym_call] = STATE(1511),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1513),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1514),
    [sym__variable] = STATE(1511),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2376),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(5618),
    [anon_sym_yield] = ACTIONS(5620),
    [anon_sym_break] = ACTIONS(5622),
    [anon_sym_next] = ACTIONS(5624),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(5626),
    [anon_sym_defined_QMARK] = ACTIONS(2386),
    [anon_sym_not] = ACTIONS(5628),
    [anon_sym_BANG] = ACTIONS(2392),
    [anon_sym_TILDE] = ACTIONS(2392),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3909] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7103),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1511),
    [sym_call] = STATE(1511),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1513),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1514),
    [sym__variable] = STATE(1511),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2376),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(5618),
    [anon_sym_yield] = ACTIONS(5620),
    [anon_sym_break] = ACTIONS(5622),
    [anon_sym_next] = ACTIONS(5624),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(5626),
    [anon_sym_defined_QMARK] = ACTIONS(2386),
    [anon_sym_not] = ACTIONS(5628),
    [anon_sym_BANG] = ACTIONS(2392),
    [anon_sym_TILDE] = ACTIONS(2392),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3910] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7104),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1511),
    [sym_call] = STATE(1511),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1513),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1514),
    [sym__variable] = STATE(1511),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2376),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(5618),
    [anon_sym_yield] = ACTIONS(5620),
    [anon_sym_break] = ACTIONS(5622),
    [anon_sym_next] = ACTIONS(5624),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(5626),
    [anon_sym_defined_QMARK] = ACTIONS(2386),
    [anon_sym_not] = ACTIONS(5628),
    [anon_sym_BANG] = ACTIONS(2392),
    [anon_sym_TILDE] = ACTIONS(2392),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3911] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7105),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1511),
    [sym_call] = STATE(1511),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1513),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1514),
    [sym__variable] = STATE(1511),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2376),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(5618),
    [anon_sym_yield] = ACTIONS(5620),
    [anon_sym_break] = ACTIONS(5622),
    [anon_sym_next] = ACTIONS(5624),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(5626),
    [anon_sym_defined_QMARK] = ACTIONS(2386),
    [anon_sym_not] = ACTIONS(5628),
    [anon_sym_BANG] = ACTIONS(2392),
    [anon_sym_TILDE] = ACTIONS(2392),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3912] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7106),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1511),
    [sym_call] = STATE(1511),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1513),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1514),
    [sym__variable] = STATE(1511),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2376),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(5618),
    [anon_sym_yield] = ACTIONS(5620),
    [anon_sym_break] = ACTIONS(5622),
    [anon_sym_next] = ACTIONS(5624),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(5626),
    [anon_sym_defined_QMARK] = ACTIONS(2386),
    [anon_sym_not] = ACTIONS(5628),
    [anon_sym_BANG] = ACTIONS(2392),
    [anon_sym_TILDE] = ACTIONS(2392),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3913] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(7107),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [3914] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7108),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1511),
    [sym_call] = STATE(1511),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1513),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1514),
    [sym__variable] = STATE(1511),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2376),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(5618),
    [anon_sym_yield] = ACTIONS(5620),
    [anon_sym_break] = ACTIONS(5622),
    [anon_sym_next] = ACTIONS(5624),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(5626),
    [anon_sym_defined_QMARK] = ACTIONS(2386),
    [anon_sym_not] = ACTIONS(5628),
    [anon_sym_BANG] = ACTIONS(2392),
    [anon_sym_TILDE] = ACTIONS(2392),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3915] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7109),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1511),
    [sym_call] = STATE(1511),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1513),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1514),
    [sym__variable] = STATE(1511),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2376),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(5618),
    [anon_sym_yield] = ACTIONS(5620),
    [anon_sym_break] = ACTIONS(5622),
    [anon_sym_next] = ACTIONS(5624),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(5626),
    [anon_sym_defined_QMARK] = ACTIONS(2386),
    [anon_sym_not] = ACTIONS(5628),
    [anon_sym_BANG] = ACTIONS(2392),
    [anon_sym_TILDE] = ACTIONS(2392),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3916] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7110),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1511),
    [sym_call] = STATE(1511),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1513),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1514),
    [sym__variable] = STATE(1511),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2376),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(5618),
    [anon_sym_yield] = ACTIONS(5620),
    [anon_sym_break] = ACTIONS(5622),
    [anon_sym_next] = ACTIONS(5624),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(5626),
    [anon_sym_defined_QMARK] = ACTIONS(2386),
    [anon_sym_not] = ACTIONS(5628),
    [anon_sym_BANG] = ACTIONS(2392),
    [anon_sym_TILDE] = ACTIONS(2392),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3917] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7111),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1511),
    [sym_call] = STATE(1511),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1513),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1514),
    [sym__variable] = STATE(1511),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2376),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(5618),
    [anon_sym_yield] = ACTIONS(5620),
    [anon_sym_break] = ACTIONS(5622),
    [anon_sym_next] = ACTIONS(5624),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(5626),
    [anon_sym_defined_QMARK] = ACTIONS(2386),
    [anon_sym_not] = ACTIONS(5628),
    [anon_sym_BANG] = ACTIONS(2392),
    [anon_sym_TILDE] = ACTIONS(2392),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3918] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7112),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1511),
    [sym_call] = STATE(1511),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1513),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1514),
    [sym__variable] = STATE(1511),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2376),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(5618),
    [anon_sym_yield] = ACTIONS(5620),
    [anon_sym_break] = ACTIONS(5622),
    [anon_sym_next] = ACTIONS(5624),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(5626),
    [anon_sym_defined_QMARK] = ACTIONS(2386),
    [anon_sym_not] = ACTIONS(5628),
    [anon_sym_BANG] = ACTIONS(2392),
    [anon_sym_TILDE] = ACTIONS(2392),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3919] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1510),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1511),
    [sym_call] = STATE(1511),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(5069),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1513),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1514),
    [sym__variable] = STATE(1511),
    [sym_reserved_identifier] = STATE(1515),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1516),
    [sym_subshell] = STATE(561),
    [sym_heredoc_end] = STATE(7113),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__block_ampersand] = ACTIONS(2372),
    [sym__splat_star] = ACTIONS(2374),
    [sym__unary_minus] = ACTIONS(2376),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(9714),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2378),
    [anon_sym_yield] = ACTIONS(2380),
    [anon_sym_break] = ACTIONS(2382),
    [anon_sym_next] = ACTIONS(2384),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(5626),
    [anon_sym_defined_QMARK] = ACTIONS(2386),
    [anon_sym_not] = ACTIONS(2388),
    [anon_sym_BANG] = ACTIONS(2392),
    [anon_sym_TILDE] = ACTIONS(2392),
    [sym_constant] = ACTIONS(2394),
    [sym_identifier] = ACTIONS(2394),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3920] = {
    [sym_heredoc_end] = STATE(2196),
    [aux_sym_argument_list_repeat2] = STATE(5072),
    [sym__simple_heredoc_body] = ACTIONS(3354),
    [sym__heredoc_body_beginning] = ACTIONS(3356),
    [sym__line_break] = ACTIONS(5472),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_LBRACE] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(9716),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_SEMI] = ACTIONS(5472),
    [anon_sym_STAR_STAR] = ACTIONS(5474),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_EQ] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_if] = ACTIONS(5472),
    [anon_sym_unless] = ACTIONS(5472),
    [anon_sym_while] = ACTIONS(5472),
    [anon_sym_until] = ACTIONS(5472),
    [anon_sym_rescue] = ACTIONS(5472),
    [anon_sym_do] = ACTIONS(5472),
    [anon_sym_then] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_PLUS_EQ] = ACTIONS(5472),
    [anon_sym_DASH_EQ] = ACTIONS(5472),
    [anon_sym_STAR_EQ] = ACTIONS(5472),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5472),
    [anon_sym_SLASH_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5472),
    [anon_sym_AMP_EQ] = ACTIONS(5472),
    [anon_sym_PERCENT_EQ] = ACTIONS(5472),
    [anon_sym_GT_GT_EQ] = ACTIONS(5472),
    [anon_sym_LT_LT_EQ] = ACTIONS(5472),
    [anon_sym_CARET_EQ] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5474),
    [anon_sym_AMP_AMP] = ACTIONS(5474),
    [anon_sym_LT_LT] = ACTIONS(5474),
    [anon_sym_GT_GT] = ACTIONS(5474),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5474),
    [anon_sym_PLUS] = ACTIONS(5474),
    [anon_sym_SLASH] = ACTIONS(5474),
    [anon_sym_PERCENT] = ACTIONS(5474),
    [sym_comment] = ACTIONS(256),
  },
  [3921] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7115),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1511),
    [sym_call] = STATE(1511),
    [sym_method_call] = STATE(338),
    [sym_splat_argument] = STATE(5074),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_right_assignment_list] = STATE(5075),
    [sym__arg_or_splat_arg] = STATE(7116),
    [sym_left_assignment_list] = STATE(1513),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1514),
    [sym__variable] = STATE(1511),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__splat_star] = ACTIONS(5546),
    [sym__unary_minus] = ACTIONS(2376),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(5618),
    [anon_sym_yield] = ACTIONS(5620),
    [anon_sym_break] = ACTIONS(5622),
    [anon_sym_next] = ACTIONS(5624),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(5626),
    [anon_sym_defined_QMARK] = ACTIONS(2386),
    [anon_sym_not] = ACTIONS(5628),
    [anon_sym_BANG] = ACTIONS(2392),
    [anon_sym_TILDE] = ACTIONS(2392),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3922] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7117),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1511),
    [sym_call] = STATE(1511),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1513),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1514),
    [sym__variable] = STATE(1511),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2376),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(5618),
    [anon_sym_yield] = ACTIONS(5620),
    [anon_sym_break] = ACTIONS(5622),
    [anon_sym_next] = ACTIONS(5624),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(5626),
    [anon_sym_defined_QMARK] = ACTIONS(2386),
    [anon_sym_not] = ACTIONS(5628),
    [anon_sym_BANG] = ACTIONS(2392),
    [anon_sym_TILDE] = ACTIONS(2392),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3923] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(7118),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3894),
    [sym_call] = STATE(3894),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(3895),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3896),
    [sym__variable] = STATE(3894),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(5600),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(5602),
    [anon_sym_yield] = ACTIONS(5604),
    [anon_sym_break] = ACTIONS(5606),
    [anon_sym_next] = ACTIONS(5608),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(5610),
    [anon_sym_defined_QMARK] = ACTIONS(5612),
    [anon_sym_not] = ACTIONS(5614),
    [anon_sym_BANG] = ACTIONS(5616),
    [anon_sym_TILDE] = ACTIONS(5616),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [3924] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7119),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3931),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3932),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5672),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5674),
    [anon_sym_defined_QMARK] = ACTIONS(5676),
    [anon_sym_not] = ACTIONS(5678),
    [anon_sym_BANG] = ACTIONS(5680),
    [anon_sym_TILDE] = ACTIONS(5680),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3925] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7120),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3931),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3932),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5672),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5674),
    [anon_sym_defined_QMARK] = ACTIONS(5676),
    [anon_sym_not] = ACTIONS(5678),
    [anon_sym_BANG] = ACTIONS(5680),
    [anon_sym_TILDE] = ACTIONS(5680),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3926] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7121),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3931),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3932),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5672),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5674),
    [anon_sym_defined_QMARK] = ACTIONS(5676),
    [anon_sym_not] = ACTIONS(5678),
    [anon_sym_BANG] = ACTIONS(5680),
    [anon_sym_TILDE] = ACTIONS(5680),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3927] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7122),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3931),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3932),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5672),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5674),
    [anon_sym_defined_QMARK] = ACTIONS(5676),
    [anon_sym_not] = ACTIONS(5678),
    [anon_sym_BANG] = ACTIONS(5680),
    [anon_sym_TILDE] = ACTIONS(5680),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3928] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(434),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3931),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3932),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5672),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5674),
    [anon_sym_defined_QMARK] = ACTIONS(5676),
    [anon_sym_not] = ACTIONS(5678),
    [anon_sym_BANG] = ACTIONS(5680),
    [anon_sym_TILDE] = ACTIONS(5680),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3929] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__line_break] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(9718),
    [sym__binary_star] = ACTIONS(9720),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(9722),
    [anon_sym_SEMI] = ACTIONS(6346),
    [anon_sym_STAR_STAR] = ACTIONS(9724),
    [anon_sym_AMP] = ACTIONS(9726),
    [anon_sym_LT] = ACTIONS(9728),
    [anon_sym_if] = ACTIONS(6346),
    [anon_sym_unless] = ACTIONS(6346),
    [anon_sym_while] = ACTIONS(6346),
    [anon_sym_until] = ACTIONS(6346),
    [anon_sym_rescue] = ACTIONS(6346),
    [anon_sym_then] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(9730),
    [anon_sym_DOT_DOT] = ACTIONS(9732),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9734),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(9736),
    [anon_sym_AMP_AMP] = ACTIONS(9736),
    [anon_sym_LT_LT] = ACTIONS(9738),
    [anon_sym_GT_GT] = ACTIONS(9738),
    [anon_sym_EQ_EQ] = ACTIONS(9740),
    [anon_sym_BANG_EQ] = ACTIONS(9736),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9736),
    [anon_sym_LT_EQ_GT] = ACTIONS(9736),
    [anon_sym_EQ_TILDE] = ACTIONS(9736),
    [anon_sym_BANG_TILDE] = ACTIONS(9736),
    [anon_sym_LT_EQ] = ACTIONS(9728),
    [anon_sym_GT] = ACTIONS(9728),
    [anon_sym_GT_EQ] = ACTIONS(9742),
    [anon_sym_CARET] = ACTIONS(9744),
    [anon_sym_PLUS] = ACTIONS(9746),
    [anon_sym_SLASH] = ACTIONS(9724),
    [anon_sym_PERCENT] = ACTIONS(9724),
    [sym_comment] = ACTIONS(110),
  },
  [3930] = {
    [aux_sym_exceptions_repeat1] = STATE(7136),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__line_break] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_COMMA] = ACTIONS(9748),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_SEMI] = ACTIONS(7330),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_if] = ACTIONS(7330),
    [anon_sym_unless] = ACTIONS(7330),
    [anon_sym_while] = ACTIONS(7330),
    [anon_sym_until] = ACTIONS(7330),
    [anon_sym_rescue] = ACTIONS(7330),
    [anon_sym_then] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [3931] = {
    [anon_sym_EQ] = ACTIONS(9750),
    [sym_comment] = ACTIONS(256),
  },
  [3932] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(9752),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_then] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(9754),
    [anon_sym_DASH_EQ] = ACTIONS(9754),
    [anon_sym_STAR_EQ] = ACTIONS(9754),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9754),
    [anon_sym_SLASH_EQ] = ACTIONS(9754),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9754),
    [anon_sym_PIPE_EQ] = ACTIONS(9754),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9754),
    [anon_sym_AMP_EQ] = ACTIONS(9754),
    [anon_sym_PERCENT_EQ] = ACTIONS(9754),
    [anon_sym_GT_GT_EQ] = ACTIONS(9754),
    [anon_sym_LT_LT_EQ] = ACTIONS(9754),
    [anon_sym_CARET_EQ] = ACTIONS(9754),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [3933] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__line_break] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(2340),
    [sym__binary_star] = ACTIONS(2342),
    [anon_sym_PIPE] = ACTIONS(2344),
    [anon_sym_SEMI] = ACTIONS(7344),
    [anon_sym_STAR_STAR] = ACTIONS(2346),
    [anon_sym_AMP] = ACTIONS(2348),
    [anon_sym_LT] = ACTIONS(2350),
    [anon_sym_if] = ACTIONS(7344),
    [anon_sym_unless] = ACTIONS(7344),
    [anon_sym_while] = ACTIONS(7344),
    [anon_sym_until] = ACTIONS(7344),
    [anon_sym_rescue] = ACTIONS(7344),
    [anon_sym_then] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(2352),
    [anon_sym_DOT_DOT] = ACTIONS(2354),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2356),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(2360),
    [anon_sym_AMP_AMP] = ACTIONS(2360),
    [anon_sym_LT_LT] = ACTIONS(2362),
    [anon_sym_GT_GT] = ACTIONS(2362),
    [anon_sym_EQ_EQ] = ACTIONS(2364),
    [anon_sym_BANG_EQ] = ACTIONS(2360),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2360),
    [anon_sym_LT_EQ_GT] = ACTIONS(2360),
    [anon_sym_EQ_TILDE] = ACTIONS(2360),
    [anon_sym_BANG_TILDE] = ACTIONS(2360),
    [anon_sym_LT_EQ] = ACTIONS(2350),
    [anon_sym_GT] = ACTIONS(2350),
    [anon_sym_GT_EQ] = ACTIONS(2366),
    [anon_sym_CARET] = ACTIONS(2368),
    [anon_sym_PLUS] = ACTIONS(2370),
    [anon_sym_SLASH] = ACTIONS(2346),
    [anon_sym_PERCENT] = ACTIONS(2346),
    [sym_comment] = ACTIONS(110),
  },
  [3934] = {
    [sym__heredoc_body_middle] = ACTIONS(4108),
    [sym__heredoc_body_end] = ACTIONS(9756),
    [anon_sym_if] = ACTIONS(4112),
    [anon_sym_unless] = ACTIONS(4114),
    [anon_sym_while] = ACTIONS(4116),
    [anon_sym_until] = ACTIONS(4118),
    [anon_sym_rescue] = ACTIONS(4120),
    [sym_comment] = ACTIONS(110),
  },
  [3935] = {
    [sym__statement] = STATE(7140),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [3936] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7141),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3950),
    [sym_call] = STATE(3950),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3951),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3952),
    [sym__variable] = STATE(3950),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5682),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5686),
    [anon_sym_yield] = ACTIONS(5688),
    [anon_sym_break] = ACTIONS(5690),
    [anon_sym_next] = ACTIONS(5692),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5694),
    [anon_sym_defined_QMARK] = ACTIONS(5696),
    [anon_sym_not] = ACTIONS(5698),
    [anon_sym_BANG] = ACTIONS(5700),
    [anon_sym_TILDE] = ACTIONS(5700),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3937] = {
    [sym__simple_heredoc_body] = ACTIONS(9758),
    [sym__heredoc_body_beginning] = ACTIONS(9758),
    [sym__line_break] = ACTIONS(9758),
    [sym__element_reference_left_bracket] = ACTIONS(9758),
    [sym__scope_double_colon] = ACTIONS(9758),
    [sym__binary_minus] = ACTIONS(9758),
    [sym__binary_star] = ACTIONS(9758),
    [ts_builtin_sym_end] = ACTIONS(9758),
    [anon_sym___END__] = ACTIONS(9758),
    [anon_sym_LBRACE] = ACTIONS(9758),
    [anon_sym_RBRACE] = ACTIONS(9758),
    [anon_sym_RPAREN] = ACTIONS(9758),
    [anon_sym_DOT] = ACTIONS(9760),
    [anon_sym_end] = ACTIONS(9758),
    [anon_sym_COMMA] = ACTIONS(9758),
    [anon_sym_PIPE] = ACTIONS(9760),
    [anon_sym_SEMI] = ACTIONS(9758),
    [anon_sym_STAR_STAR] = ACTIONS(9758),
    [anon_sym_AMP] = ACTIONS(9760),
    [anon_sym_LT] = ACTIONS(9760),
    [anon_sym_if] = ACTIONS(9758),
    [anon_sym_unless] = ACTIONS(9758),
    [anon_sym_while] = ACTIONS(9758),
    [anon_sym_until] = ACTIONS(9758),
    [anon_sym_rescue] = ACTIONS(9758),
    [anon_sym_do] = ACTIONS(9758),
    [anon_sym_when] = ACTIONS(9758),
    [anon_sym_elsif] = ACTIONS(9758),
    [anon_sym_else] = ACTIONS(9758),
    [anon_sym_then] = ACTIONS(9758),
    [anon_sym_ensure] = ACTIONS(9758),
    [anon_sym_EQ_GT] = ACTIONS(9758),
    [anon_sym_AMP_DOT] = ACTIONS(9758),
    [anon_sym_QMARK] = ACTIONS(9758),
    [anon_sym_DOT_DOT] = ACTIONS(9760),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9758),
    [anon_sym_and] = ACTIONS(9758),
    [anon_sym_or] = ACTIONS(9758),
    [anon_sym_PIPE_PIPE] = ACTIONS(9758),
    [anon_sym_AMP_AMP] = ACTIONS(9758),
    [anon_sym_LT_LT] = ACTIONS(9758),
    [anon_sym_GT_GT] = ACTIONS(9758),
    [anon_sym_EQ_EQ] = ACTIONS(9760),
    [anon_sym_BANG_EQ] = ACTIONS(9758),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9758),
    [anon_sym_LT_EQ_GT] = ACTIONS(9758),
    [anon_sym_EQ_TILDE] = ACTIONS(9758),
    [anon_sym_BANG_TILDE] = ACTIONS(9758),
    [anon_sym_LT_EQ] = ACTIONS(9760),
    [anon_sym_GT] = ACTIONS(9760),
    [anon_sym_GT_EQ] = ACTIONS(9758),
    [anon_sym_CARET] = ACTIONS(9758),
    [anon_sym_PLUS] = ACTIONS(9758),
    [anon_sym_SLASH] = ACTIONS(9758),
    [anon_sym_PERCENT] = ACTIONS(9758),
    [sym_comment] = ACTIONS(110),
  },
  [3938] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7155),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7156),
    [sym_call] = STATE(7156),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(340),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(7157),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7158),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7159),
    [sym__variable] = STATE(7156),
    [sym_reserved_identifier] = STATE(7160),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(7161),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(9762),
    [sym__splat_star] = ACTIONS(9764),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(9766),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(544),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(9768),
    [anon_sym_yield] = ACTIONS(9770),
    [anon_sym_break] = ACTIONS(9772),
    [anon_sym_next] = ACTIONS(9774),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(544),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(9776),
    [anon_sym_not] = ACTIONS(9778),
    [anon_sym_BANG] = ACTIONS(9780),
    [anon_sym_TILDE] = ACTIONS(9782),
    [sym_constant] = ACTIONS(9784),
    [sym_identifier] = ACTIONS(9784),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3939] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7155),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7156),
    [sym_call] = STATE(7156),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(349),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(7157),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7158),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7159),
    [sym__variable] = STATE(7156),
    [sym_reserved_identifier] = STATE(7160),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(7161),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(9762),
    [sym__splat_star] = ACTIONS(9764),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(9766),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(604),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(9768),
    [anon_sym_yield] = ACTIONS(9770),
    [anon_sym_break] = ACTIONS(9772),
    [anon_sym_next] = ACTIONS(9774),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(604),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(9776),
    [anon_sym_not] = ACTIONS(9778),
    [anon_sym_BANG] = ACTIONS(9780),
    [anon_sym_TILDE] = ACTIONS(9782),
    [sym_constant] = ACTIONS(9784),
    [sym_identifier] = ACTIONS(9784),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3940] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7155),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7156),
    [sym_call] = STATE(7156),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(350),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(7157),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7158),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7159),
    [sym__variable] = STATE(7156),
    [sym_reserved_identifier] = STATE(7160),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(7161),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(9762),
    [sym__splat_star] = ACTIONS(9764),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(9766),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(608),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(9768),
    [anon_sym_yield] = ACTIONS(9770),
    [anon_sym_break] = ACTIONS(9772),
    [anon_sym_next] = ACTIONS(9774),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(608),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(9776),
    [anon_sym_not] = ACTIONS(9778),
    [anon_sym_BANG] = ACTIONS(9780),
    [anon_sym_TILDE] = ACTIONS(9782),
    [sym_constant] = ACTIONS(9784),
    [sym_identifier] = ACTIONS(9784),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3941] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7155),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7156),
    [sym_call] = STATE(7156),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(351),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(7157),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7158),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7159),
    [sym__variable] = STATE(7156),
    [sym_reserved_identifier] = STATE(7160),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(7161),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(9762),
    [sym__splat_star] = ACTIONS(9764),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(9766),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(612),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(9768),
    [anon_sym_yield] = ACTIONS(9770),
    [anon_sym_break] = ACTIONS(9772),
    [anon_sym_next] = ACTIONS(9774),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(612),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(9776),
    [anon_sym_not] = ACTIONS(9778),
    [anon_sym_BANG] = ACTIONS(9780),
    [anon_sym_TILDE] = ACTIONS(9782),
    [sym_constant] = ACTIONS(9784),
    [sym_identifier] = ACTIONS(9784),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3942] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7162),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3950),
    [sym_call] = STATE(3950),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3951),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3952),
    [sym__variable] = STATE(3950),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5682),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5686),
    [anon_sym_yield] = ACTIONS(5688),
    [anon_sym_break] = ACTIONS(5690),
    [anon_sym_next] = ACTIONS(5692),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5694),
    [anon_sym_defined_QMARK] = ACTIONS(5696),
    [anon_sym_not] = ACTIONS(5698),
    [anon_sym_BANG] = ACTIONS(5700),
    [anon_sym_TILDE] = ACTIONS(5700),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3943] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7163),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3950),
    [sym_call] = STATE(3950),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3951),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3952),
    [sym__variable] = STATE(3950),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5682),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5686),
    [anon_sym_yield] = ACTIONS(5688),
    [anon_sym_break] = ACTIONS(5690),
    [anon_sym_next] = ACTIONS(5692),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5694),
    [anon_sym_defined_QMARK] = ACTIONS(5696),
    [anon_sym_not] = ACTIONS(5698),
    [anon_sym_BANG] = ACTIONS(5700),
    [anon_sym_TILDE] = ACTIONS(5700),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3944] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(434),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3950),
    [sym_call] = STATE(3950),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3951),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3952),
    [sym__variable] = STATE(3950),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5682),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5686),
    [anon_sym_yield] = ACTIONS(5688),
    [anon_sym_break] = ACTIONS(5690),
    [anon_sym_next] = ACTIONS(5692),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5694),
    [anon_sym_defined_QMARK] = ACTIONS(5696),
    [anon_sym_not] = ACTIONS(5698),
    [anon_sym_BANG] = ACTIONS(5700),
    [anon_sym_TILDE] = ACTIONS(5700),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3945] = {
    [sym_else] = STATE(7165),
    [anon_sym_end] = ACTIONS(9786),
    [anon_sym_else] = ACTIONS(9594),
    [sym_comment] = ACTIONS(110),
  },
  [3946] = {
    [sym_heredoc_end] = STATE(7168),
    [sym__terminator] = STATE(7169),
    [aux_sym__statements_repeat1] = STATE(7170),
    [sym__simple_heredoc_body] = ACTIONS(9788),
    [sym__heredoc_body_beginning] = ACTIONS(9790),
    [sym__line_break] = ACTIONS(9792),
    [anon_sym_end] = ACTIONS(920),
    [anon_sym_SEMI] = ACTIONS(9792),
    [anon_sym_else] = ACTIONS(920),
    [sym_comment] = ACTIONS(110),
  },
  [3947] = {
    [sym__simple_heredoc_body] = ACTIONS(922),
    [sym__heredoc_body_beginning] = ACTIONS(922),
    [sym__line_break] = ACTIONS(922),
    [anon_sym_end] = ACTIONS(922),
    [anon_sym_SEMI] = ACTIONS(922),
    [anon_sym_if] = ACTIONS(9794),
    [anon_sym_unless] = ACTIONS(9796),
    [anon_sym_while] = ACTIONS(9798),
    [anon_sym_until] = ACTIONS(9800),
    [anon_sym_rescue] = ACTIONS(9802),
    [anon_sym_else] = ACTIONS(922),
    [sym_comment] = ACTIONS(110),
  },
  [3948] = {
    [anon_sym_end] = ACTIONS(9786),
    [sym_comment] = ACTIONS(110),
  },
  [3949] = {
    [sym__simple_heredoc_body] = ACTIONS(934),
    [sym__heredoc_body_beginning] = ACTIONS(934),
    [sym__line_break] = ACTIONS(934),
    [sym__binary_minus] = ACTIONS(9804),
    [sym__binary_star] = ACTIONS(9806),
    [anon_sym_end] = ACTIONS(934),
    [anon_sym_PIPE] = ACTIONS(9808),
    [anon_sym_SEMI] = ACTIONS(934),
    [anon_sym_STAR_STAR] = ACTIONS(9810),
    [anon_sym_AMP] = ACTIONS(9812),
    [anon_sym_LT] = ACTIONS(9814),
    [anon_sym_if] = ACTIONS(934),
    [anon_sym_unless] = ACTIONS(934),
    [anon_sym_while] = ACTIONS(934),
    [anon_sym_until] = ACTIONS(934),
    [anon_sym_rescue] = ACTIONS(934),
    [anon_sym_else] = ACTIONS(934),
    [anon_sym_QMARK] = ACTIONS(9816),
    [anon_sym_DOT_DOT] = ACTIONS(9818),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9820),
    [anon_sym_and] = ACTIONS(9822),
    [anon_sym_or] = ACTIONS(9822),
    [anon_sym_PIPE_PIPE] = ACTIONS(9824),
    [anon_sym_AMP_AMP] = ACTIONS(9824),
    [anon_sym_LT_LT] = ACTIONS(9826),
    [anon_sym_GT_GT] = ACTIONS(9826),
    [anon_sym_EQ_EQ] = ACTIONS(9828),
    [anon_sym_BANG_EQ] = ACTIONS(9824),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9824),
    [anon_sym_LT_EQ_GT] = ACTIONS(9824),
    [anon_sym_EQ_TILDE] = ACTIONS(9824),
    [anon_sym_BANG_TILDE] = ACTIONS(9824),
    [anon_sym_LT_EQ] = ACTIONS(9814),
    [anon_sym_GT] = ACTIONS(9814),
    [anon_sym_GT_EQ] = ACTIONS(9830),
    [anon_sym_CARET] = ACTIONS(9832),
    [anon_sym_PLUS] = ACTIONS(9834),
    [anon_sym_SLASH] = ACTIONS(9810),
    [anon_sym_PERCENT] = ACTIONS(9810),
    [sym_comment] = ACTIONS(110),
  },
  [3950] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7201),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7202),
    [sym_call] = STATE(7202),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(598),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(7203),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_do_block] = STATE(602),
    [sym_block] = STATE(602),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(7204),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7205),
    [sym__variable] = STATE(7202),
    [sym_reserved_identifier] = STATE(7206),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(7207),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(9836),
    [sym__splat_star] = ACTIONS(9838),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(9840),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(1014),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(982),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(9842),
    [anon_sym_yield] = ACTIONS(9844),
    [anon_sym_break] = ACTIONS(9846),
    [anon_sym_next] = ACTIONS(9848),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(982),
    [anon_sym_unless] = ACTIONS(982),
    [anon_sym_while] = ACTIONS(982),
    [anon_sym_until] = ACTIONS(982),
    [anon_sym_rescue] = ACTIONS(982),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(1038),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(982),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(9850),
    [anon_sym_not] = ACTIONS(9852),
    [anon_sym_BANG] = ACTIONS(9854),
    [anon_sym_TILDE] = ACTIONS(9856),
    [sym_constant] = ACTIONS(9858),
    [sym_identifier] = ACTIONS(9858),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3951] = {
    [anon_sym_EQ] = ACTIONS(9860),
    [sym_comment] = ACTIONS(256),
  },
  [3952] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_end] = ACTIONS(250),
    [anon_sym_COMMA] = ACTIONS(1076),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(9862),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_else] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(9864),
    [anon_sym_DASH_EQ] = ACTIONS(9864),
    [anon_sym_STAR_EQ] = ACTIONS(9864),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9864),
    [anon_sym_SLASH_EQ] = ACTIONS(9864),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9864),
    [anon_sym_PIPE_EQ] = ACTIONS(9864),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9864),
    [anon_sym_AMP_EQ] = ACTIONS(9864),
    [anon_sym_PERCENT_EQ] = ACTIONS(9864),
    [anon_sym_GT_GT_EQ] = ACTIONS(9864),
    [anon_sym_LT_LT_EQ] = ACTIONS(9864),
    [anon_sym_CARET_EQ] = ACTIONS(9864),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [3953] = {
    [sym__simple_string] = ACTIONS(9672),
    [sym__simple_symbol] = ACTIONS(9672),
    [sym__simple_subshell] = ACTIONS(9672),
    [sym__simple_regex] = ACTIONS(9672),
    [sym__simple_word_list] = ACTIONS(9672),
    [sym__string_beginning] = ACTIONS(9672),
    [sym__symbol_beginning] = ACTIONS(9672),
    [sym__subshell_beginning] = ACTIONS(9672),
    [sym__regex_beginning] = ACTIONS(9672),
    [sym__word_list_beginning] = ACTIONS(9672),
    [sym_heredoc_beginning] = ACTIONS(9672),
    [sym__unary_minus] = ACTIONS(9672),
    [anon_sym_BEGIN] = ACTIONS(9674),
    [anon_sym_LBRACE] = ACTIONS(9672),
    [anon_sym_END] = ACTIONS(9674),
    [anon_sym_def] = ACTIONS(9674),
    [anon_sym_LPAREN] = ACTIONS(9672),
    [anon_sym_COLON_COLON] = ACTIONS(9672),
    [anon_sym_end] = ACTIONS(9674),
    [anon_sym_SEMI] = ACTIONS(9672),
    [anon_sym_STAR] = ACTIONS(9672),
    [anon_sym_class] = ACTIONS(9674),
    [anon_sym_module] = ACTIONS(9674),
    [anon_sym_return] = ACTIONS(9674),
    [anon_sym_yield] = ACTIONS(9674),
    [anon_sym_break] = ACTIONS(9674),
    [anon_sym_next] = ACTIONS(9674),
    [anon_sym_redo] = ACTIONS(9674),
    [anon_sym_retry] = ACTIONS(9674),
    [anon_sym_if] = ACTIONS(9674),
    [anon_sym_unless] = ACTIONS(9674),
    [anon_sym_while] = ACTIONS(9674),
    [anon_sym_until] = ACTIONS(9674),
    [anon_sym_for] = ACTIONS(9674),
    [anon_sym_case] = ACTIONS(9674),
    [anon_sym_else] = ACTIONS(9674),
    [anon_sym_begin] = ACTIONS(9674),
    [anon_sym_PLUS] = ACTIONS(9674),
    [anon_sym_defined_QMARK] = ACTIONS(9672),
    [anon_sym_not] = ACTIONS(9674),
    [anon_sym_BANG] = ACTIONS(9672),
    [anon_sym_TILDE] = ACTIONS(9672),
    [sym_constant] = ACTIONS(9676),
    [sym_identifier] = ACTIONS(9676),
    [sym_instance_variable] = ACTIONS(9674),
    [sym_class_variable] = ACTIONS(9674),
    [sym_global_variable] = ACTIONS(9674),
    [anon_sym_alias] = ACTIONS(9674),
    [anon_sym_false] = ACTIONS(9674),
    [anon_sym_nil] = ACTIONS(9674),
    [anon_sym_self] = ACTIONS(9674),
    [anon_sym_super] = ACTIONS(9674),
    [anon_sym_true] = ACTIONS(9674),
    [anon_sym_undef] = ACTIONS(9674),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(9674),
    [sym_float] = ACTIONS(9676),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(9672),
    [anon_sym_TRUE] = ACTIONS(9674),
    [anon_sym_FALSE] = ACTIONS(9674),
    [anon_sym_NIL] = ACTIONS(9674),
    [sym_keyword__FILE__] = ACTIONS(9674),
    [sym_keyword__LINE__] = ACTIONS(9674),
    [sym_keyword__ENCODING__] = ACTIONS(9674),
    [sym__character_literal] = ACTIONS(9674),
    [anon_sym_LBRACK] = ACTIONS(9672),
    [anon_sym_DASH_GT] = ACTIONS(9672),
  },
  [3954] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7210),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3959),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3960),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5704),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5706),
    [anon_sym_defined_QMARK] = ACTIONS(5708),
    [anon_sym_not] = ACTIONS(5710),
    [anon_sym_BANG] = ACTIONS(5712),
    [anon_sym_TILDE] = ACTIONS(5712),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3955] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7211),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3959),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3960),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5704),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5706),
    [anon_sym_defined_QMARK] = ACTIONS(5708),
    [anon_sym_not] = ACTIONS(5710),
    [anon_sym_BANG] = ACTIONS(5712),
    [anon_sym_TILDE] = ACTIONS(5712),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3956] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7212),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3959),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3960),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5704),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5706),
    [anon_sym_defined_QMARK] = ACTIONS(5708),
    [anon_sym_not] = ACTIONS(5710),
    [anon_sym_BANG] = ACTIONS(5712),
    [anon_sym_TILDE] = ACTIONS(5712),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3957] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1410),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3959),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3960),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5704),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5706),
    [anon_sym_defined_QMARK] = ACTIONS(5708),
    [anon_sym_not] = ACTIONS(5710),
    [anon_sym_BANG] = ACTIONS(5712),
    [anon_sym_TILDE] = ACTIONS(5712),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3958] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__line_break] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(9866),
    [sym__binary_star] = ACTIONS(9868),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(9870),
    [anon_sym_SEMI] = ACTIONS(5298),
    [anon_sym_STAR_STAR] = ACTIONS(9872),
    [anon_sym_AMP] = ACTIONS(9874),
    [anon_sym_LT] = ACTIONS(9876),
    [anon_sym_do] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(9878),
    [anon_sym_DOT_DOT] = ACTIONS(9880),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9882),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(9884),
    [anon_sym_AMP_AMP] = ACTIONS(9884),
    [anon_sym_LT_LT] = ACTIONS(9886),
    [anon_sym_GT_GT] = ACTIONS(9886),
    [anon_sym_EQ_EQ] = ACTIONS(9888),
    [anon_sym_BANG_EQ] = ACTIONS(9884),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9884),
    [anon_sym_LT_EQ_GT] = ACTIONS(9884),
    [anon_sym_EQ_TILDE] = ACTIONS(9884),
    [anon_sym_BANG_TILDE] = ACTIONS(9884),
    [anon_sym_LT_EQ] = ACTIONS(9876),
    [anon_sym_GT] = ACTIONS(9876),
    [anon_sym_GT_EQ] = ACTIONS(9890),
    [anon_sym_CARET] = ACTIONS(9892),
    [anon_sym_PLUS] = ACTIONS(9894),
    [anon_sym_SLASH] = ACTIONS(9872),
    [anon_sym_PERCENT] = ACTIONS(9872),
    [sym_comment] = ACTIONS(110),
  },
  [3959] = {
    [anon_sym_EQ] = ACTIONS(9896),
    [sym_comment] = ACTIONS(256),
  },
  [3960] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(9898),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(9900),
    [anon_sym_DASH_EQ] = ACTIONS(9900),
    [anon_sym_STAR_EQ] = ACTIONS(9900),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9900),
    [anon_sym_SLASH_EQ] = ACTIONS(9900),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9900),
    [anon_sym_PIPE_EQ] = ACTIONS(9900),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9900),
    [anon_sym_AMP_EQ] = ACTIONS(9900),
    [anon_sym_PERCENT_EQ] = ACTIONS(9900),
    [anon_sym_GT_GT_EQ] = ACTIONS(9900),
    [anon_sym_LT_LT_EQ] = ACTIONS(9900),
    [anon_sym_CARET_EQ] = ACTIONS(9900),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [3961] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__line_break] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(9866),
    [sym__binary_star] = ACTIONS(9868),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(9870),
    [anon_sym_SEMI] = ACTIONS(5338),
    [anon_sym_STAR_STAR] = ACTIONS(9872),
    [anon_sym_AMP] = ACTIONS(9874),
    [anon_sym_LT] = ACTIONS(9876),
    [anon_sym_do] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(9878),
    [anon_sym_DOT_DOT] = ACTIONS(9880),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9882),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(9884),
    [anon_sym_AMP_AMP] = ACTIONS(9884),
    [anon_sym_LT_LT] = ACTIONS(9886),
    [anon_sym_GT_GT] = ACTIONS(9886),
    [anon_sym_EQ_EQ] = ACTIONS(9888),
    [anon_sym_BANG_EQ] = ACTIONS(9884),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9884),
    [anon_sym_LT_EQ_GT] = ACTIONS(9884),
    [anon_sym_EQ_TILDE] = ACTIONS(9884),
    [anon_sym_BANG_TILDE] = ACTIONS(9884),
    [anon_sym_LT_EQ] = ACTIONS(9876),
    [anon_sym_GT] = ACTIONS(9876),
    [anon_sym_GT_EQ] = ACTIONS(9890),
    [anon_sym_CARET] = ACTIONS(9892),
    [anon_sym_PLUS] = ACTIONS(9894),
    [anon_sym_SLASH] = ACTIONS(9872),
    [anon_sym_PERCENT] = ACTIONS(9872),
    [sym_comment] = ACTIONS(110),
  },
  [3962] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3972),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(340),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(3973),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1542),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1543),
    [sym__variable] = STATE(1540),
    [sym_reserved_identifier] = STATE(3974),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(3975),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(5726),
    [sym__splat_star] = ACTIONS(5728),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(2414),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2416),
    [anon_sym_yield] = ACTIONS(2418),
    [anon_sym_break] = ACTIONS(2420),
    [anon_sym_next] = ACTIONS(2422),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(2432),
    [anon_sym_not] = ACTIONS(2434),
    [anon_sym_BANG] = ACTIONS(2436),
    [anon_sym_TILDE] = ACTIONS(2438),
    [sym_constant] = ACTIONS(5730),
    [sym_identifier] = ACTIONS(5730),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3963] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3972),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(349),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(3973),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1542),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1543),
    [sym__variable] = STATE(1540),
    [sym_reserved_identifier] = STATE(3974),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(3975),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(5726),
    [sym__splat_star] = ACTIONS(5728),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(2414),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2416),
    [anon_sym_yield] = ACTIONS(2418),
    [anon_sym_break] = ACTIONS(2420),
    [anon_sym_next] = ACTIONS(2422),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(2432),
    [anon_sym_not] = ACTIONS(2434),
    [anon_sym_BANG] = ACTIONS(2436),
    [anon_sym_TILDE] = ACTIONS(2438),
    [sym_constant] = ACTIONS(5730),
    [sym_identifier] = ACTIONS(5730),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3964] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3972),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(350),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(3973),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1542),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1543),
    [sym__variable] = STATE(1540),
    [sym_reserved_identifier] = STATE(3974),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(3975),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(5726),
    [sym__splat_star] = ACTIONS(5728),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(2414),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2416),
    [anon_sym_yield] = ACTIONS(2418),
    [anon_sym_break] = ACTIONS(2420),
    [anon_sym_next] = ACTIONS(2422),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(2432),
    [anon_sym_not] = ACTIONS(2434),
    [anon_sym_BANG] = ACTIONS(2436),
    [anon_sym_TILDE] = ACTIONS(2438),
    [sym_constant] = ACTIONS(5730),
    [sym_identifier] = ACTIONS(5730),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3965] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3972),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(351),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(3973),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1542),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1543),
    [sym__variable] = STATE(1540),
    [sym_reserved_identifier] = STATE(3974),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(3975),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(5726),
    [sym__splat_star] = ACTIONS(5728),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(2414),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2416),
    [anon_sym_yield] = ACTIONS(2418),
    [anon_sym_break] = ACTIONS(2420),
    [anon_sym_next] = ACTIONS(2422),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(2432),
    [anon_sym_not] = ACTIONS(2434),
    [anon_sym_BANG] = ACTIONS(2436),
    [anon_sym_TILDE] = ACTIONS(2438),
    [sym_constant] = ACTIONS(5730),
    [sym_identifier] = ACTIONS(5730),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3966] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(5740),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_do] = ACTIONS(1372),
    [anon_sym_EQ_GT] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [3967] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__line_break] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(9866),
    [sym__binary_star] = ACTIONS(9868),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(9870),
    [anon_sym_SEMI] = ACTIONS(4284),
    [anon_sym_STAR_STAR] = ACTIONS(9872),
    [anon_sym_AMP] = ACTIONS(9874),
    [anon_sym_LT] = ACTIONS(9876),
    [anon_sym_do] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(9878),
    [anon_sym_DOT_DOT] = ACTIONS(9880),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9882),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(9884),
    [anon_sym_AMP_AMP] = ACTIONS(9884),
    [anon_sym_LT_LT] = ACTIONS(9886),
    [anon_sym_GT_GT] = ACTIONS(9886),
    [anon_sym_EQ_EQ] = ACTIONS(9888),
    [anon_sym_BANG_EQ] = ACTIONS(9884),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9884),
    [anon_sym_LT_EQ_GT] = ACTIONS(9884),
    [anon_sym_EQ_TILDE] = ACTIONS(9884),
    [anon_sym_BANG_TILDE] = ACTIONS(9884),
    [anon_sym_LT_EQ] = ACTIONS(9876),
    [anon_sym_GT] = ACTIONS(9876),
    [anon_sym_GT_EQ] = ACTIONS(9890),
    [anon_sym_CARET] = ACTIONS(9892),
    [anon_sym_PLUS] = ACTIONS(9894),
    [anon_sym_SLASH] = ACTIONS(9872),
    [anon_sym_PERCENT] = ACTIONS(9872),
    [sym_comment] = ACTIONS(110),
  },
  [3968] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7227),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1542),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1543),
    [sym__variable] = STATE(1540),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2414),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5714),
    [anon_sym_yield] = ACTIONS(5716),
    [anon_sym_break] = ACTIONS(5718),
    [anon_sym_next] = ACTIONS(5720),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5722),
    [anon_sym_defined_QMARK] = ACTIONS(2432),
    [anon_sym_not] = ACTIONS(5724),
    [anon_sym_BANG] = ACTIONS(2438),
    [anon_sym_TILDE] = ACTIONS(2438),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3969] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7228),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1542),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1543),
    [sym__variable] = STATE(1540),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2414),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5714),
    [anon_sym_yield] = ACTIONS(5716),
    [anon_sym_break] = ACTIONS(5718),
    [anon_sym_next] = ACTIONS(5720),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5722),
    [anon_sym_defined_QMARK] = ACTIONS(2432),
    [anon_sym_not] = ACTIONS(5724),
    [anon_sym_BANG] = ACTIONS(2438),
    [anon_sym_TILDE] = ACTIONS(2438),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3970] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7229),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1542),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1543),
    [sym__variable] = STATE(1540),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2414),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5714),
    [anon_sym_yield] = ACTIONS(5716),
    [anon_sym_break] = ACTIONS(5718),
    [anon_sym_next] = ACTIONS(5720),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5722),
    [anon_sym_defined_QMARK] = ACTIONS(2432),
    [anon_sym_not] = ACTIONS(5724),
    [anon_sym_BANG] = ACTIONS(2438),
    [anon_sym_TILDE] = ACTIONS(2438),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3971] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(9902),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [3972] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__line_break] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(5734),
    [sym__binary_star] = ACTIONS(5736),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(5738),
    [anon_sym_SEMI] = ACTIONS(2210),
    [anon_sym_STAR_STAR] = ACTIONS(5740),
    [anon_sym_AMP] = ACTIONS(5742),
    [anon_sym_LT] = ACTIONS(5744),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(5746),
    [anon_sym_DOT_DOT] = ACTIONS(5748),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5750),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(5752),
    [anon_sym_AMP_AMP] = ACTIONS(5752),
    [anon_sym_LT_LT] = ACTIONS(5754),
    [anon_sym_GT_GT] = ACTIONS(5754),
    [anon_sym_EQ_EQ] = ACTIONS(5756),
    [anon_sym_BANG_EQ] = ACTIONS(5752),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5752),
    [anon_sym_LT_EQ_GT] = ACTIONS(5752),
    [anon_sym_EQ_TILDE] = ACTIONS(5752),
    [anon_sym_BANG_TILDE] = ACTIONS(5752),
    [anon_sym_LT_EQ] = ACTIONS(5744),
    [anon_sym_GT] = ACTIONS(5744),
    [anon_sym_GT_EQ] = ACTIONS(5758),
    [anon_sym_CARET] = ACTIONS(5760),
    [anon_sym_PLUS] = ACTIONS(5762),
    [anon_sym_SLASH] = ACTIONS(5740),
    [anon_sym_PERCENT] = ACTIONS(5740),
    [sym_comment] = ACTIONS(110),
  },
  [3973] = {
    [sym_heredoc_end] = STATE(1444),
    [aux_sym_argument_list_repeat1] = STATE(7232),
    [aux_sym_argument_list_repeat2] = STATE(1445),
    [sym__simple_heredoc_body] = ACTIONS(2268),
    [sym__heredoc_body_beginning] = ACTIONS(2270),
    [sym__line_break] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(9904),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_STAR_STAR] = ACTIONS(2272),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_EQ_GT] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2272),
    [anon_sym_AMP_AMP] = ACTIONS(2272),
    [anon_sym_LT_LT] = ACTIONS(2272),
    [anon_sym_GT_GT] = ACTIONS(2272),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2272),
    [anon_sym_PLUS] = ACTIONS(2272),
    [anon_sym_SLASH] = ACTIONS(2272),
    [anon_sym_PERCENT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(110),
  },
  [3974] = {
    [sym__keyword_colon] = ACTIONS(9906),
    [sym_comment] = ACTIONS(110),
  },
  [3975] = {
    [sym_string] = STATE(611),
    [aux_sym_chained_string_repeat1] = STATE(612),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(20),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(9902),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(120),
  },
  [3976] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(5740),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [3977] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(5734),
    [sym__binary_star] = ACTIONS(5736),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(5738),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(5740),
    [anon_sym_AMP] = ACTIONS(5742),
    [anon_sym_LT] = ACTIONS(5744),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(5746),
    [anon_sym_DOT_DOT] = ACTIONS(5748),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5750),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(5752),
    [anon_sym_AMP_AMP] = ACTIONS(5752),
    [anon_sym_LT_LT] = ACTIONS(5754),
    [anon_sym_GT_GT] = ACTIONS(5754),
    [anon_sym_EQ_EQ] = ACTIONS(5756),
    [anon_sym_BANG_EQ] = ACTIONS(5752),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5752),
    [anon_sym_LT_EQ_GT] = ACTIONS(5752),
    [anon_sym_EQ_TILDE] = ACTIONS(5752),
    [anon_sym_BANG_TILDE] = ACTIONS(5752),
    [anon_sym_LT_EQ] = ACTIONS(5744),
    [anon_sym_GT] = ACTIONS(5744),
    [anon_sym_GT_EQ] = ACTIONS(5758),
    [anon_sym_CARET] = ACTIONS(5760),
    [anon_sym_PLUS] = ACTIONS(5762),
    [anon_sym_SLASH] = ACTIONS(5740),
    [anon_sym_PERCENT] = ACTIONS(5740),
    [sym_comment] = ACTIONS(110),
  },
  [3978] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7234),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3959),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3960),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5704),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5706),
    [anon_sym_defined_QMARK] = ACTIONS(5708),
    [anon_sym_not] = ACTIONS(5710),
    [anon_sym_BANG] = ACTIONS(5712),
    [anon_sym_TILDE] = ACTIONS(5712),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3979] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7235),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1542),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1543),
    [sym__variable] = STATE(1540),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2414),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5714),
    [anon_sym_yield] = ACTIONS(5716),
    [anon_sym_break] = ACTIONS(5718),
    [anon_sym_next] = ACTIONS(5720),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5722),
    [anon_sym_defined_QMARK] = ACTIONS(2432),
    [anon_sym_not] = ACTIONS(5724),
    [anon_sym_BANG] = ACTIONS(2438),
    [anon_sym_TILDE] = ACTIONS(2438),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3980] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7236),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1542),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1543),
    [sym__variable] = STATE(1540),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2414),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5714),
    [anon_sym_yield] = ACTIONS(5716),
    [anon_sym_break] = ACTIONS(5718),
    [anon_sym_next] = ACTIONS(5720),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5722),
    [anon_sym_defined_QMARK] = ACTIONS(2432),
    [anon_sym_not] = ACTIONS(5724),
    [anon_sym_BANG] = ACTIONS(2438),
    [anon_sym_TILDE] = ACTIONS(2438),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3981] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7237),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1542),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1543),
    [sym__variable] = STATE(1540),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2414),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5714),
    [anon_sym_yield] = ACTIONS(5716),
    [anon_sym_break] = ACTIONS(5718),
    [anon_sym_next] = ACTIONS(5720),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5722),
    [anon_sym_defined_QMARK] = ACTIONS(2432),
    [anon_sym_not] = ACTIONS(5724),
    [anon_sym_BANG] = ACTIONS(2438),
    [anon_sym_TILDE] = ACTIONS(2438),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3982] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7238),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1542),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1543),
    [sym__variable] = STATE(1540),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2414),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5714),
    [anon_sym_yield] = ACTIONS(5716),
    [anon_sym_break] = ACTIONS(5718),
    [anon_sym_next] = ACTIONS(5720),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5722),
    [anon_sym_defined_QMARK] = ACTIONS(2432),
    [anon_sym_not] = ACTIONS(5724),
    [anon_sym_BANG] = ACTIONS(2438),
    [anon_sym_TILDE] = ACTIONS(2438),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3983] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7239),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1542),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1543),
    [sym__variable] = STATE(1540),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2414),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5714),
    [anon_sym_yield] = ACTIONS(5716),
    [anon_sym_break] = ACTIONS(5718),
    [anon_sym_next] = ACTIONS(5720),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5722),
    [anon_sym_defined_QMARK] = ACTIONS(2432),
    [anon_sym_not] = ACTIONS(5724),
    [anon_sym_BANG] = ACTIONS(2438),
    [anon_sym_TILDE] = ACTIONS(2438),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3984] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7240),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1542),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1543),
    [sym__variable] = STATE(1540),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2414),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5714),
    [anon_sym_yield] = ACTIONS(5716),
    [anon_sym_break] = ACTIONS(5718),
    [anon_sym_next] = ACTIONS(5720),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5722),
    [anon_sym_defined_QMARK] = ACTIONS(2432),
    [anon_sym_not] = ACTIONS(5724),
    [anon_sym_BANG] = ACTIONS(2438),
    [anon_sym_TILDE] = ACTIONS(2438),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3985] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(7241),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [3986] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7242),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1542),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1543),
    [sym__variable] = STATE(1540),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2414),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5714),
    [anon_sym_yield] = ACTIONS(5716),
    [anon_sym_break] = ACTIONS(5718),
    [anon_sym_next] = ACTIONS(5720),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5722),
    [anon_sym_defined_QMARK] = ACTIONS(2432),
    [anon_sym_not] = ACTIONS(5724),
    [anon_sym_BANG] = ACTIONS(2438),
    [anon_sym_TILDE] = ACTIONS(2438),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3987] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7243),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1542),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1543),
    [sym__variable] = STATE(1540),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2414),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5714),
    [anon_sym_yield] = ACTIONS(5716),
    [anon_sym_break] = ACTIONS(5718),
    [anon_sym_next] = ACTIONS(5720),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5722),
    [anon_sym_defined_QMARK] = ACTIONS(2432),
    [anon_sym_not] = ACTIONS(5724),
    [anon_sym_BANG] = ACTIONS(2438),
    [anon_sym_TILDE] = ACTIONS(2438),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3988] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7244),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1542),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1543),
    [sym__variable] = STATE(1540),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2414),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5714),
    [anon_sym_yield] = ACTIONS(5716),
    [anon_sym_break] = ACTIONS(5718),
    [anon_sym_next] = ACTIONS(5720),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5722),
    [anon_sym_defined_QMARK] = ACTIONS(2432),
    [anon_sym_not] = ACTIONS(5724),
    [anon_sym_BANG] = ACTIONS(2438),
    [anon_sym_TILDE] = ACTIONS(2438),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3989] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7245),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1542),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1543),
    [sym__variable] = STATE(1540),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2414),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5714),
    [anon_sym_yield] = ACTIONS(5716),
    [anon_sym_break] = ACTIONS(5718),
    [anon_sym_next] = ACTIONS(5720),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5722),
    [anon_sym_defined_QMARK] = ACTIONS(2432),
    [anon_sym_not] = ACTIONS(5724),
    [anon_sym_BANG] = ACTIONS(2438),
    [anon_sym_TILDE] = ACTIONS(2438),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3990] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7246),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1542),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1543),
    [sym__variable] = STATE(1540),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2414),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5714),
    [anon_sym_yield] = ACTIONS(5716),
    [anon_sym_break] = ACTIONS(5718),
    [anon_sym_next] = ACTIONS(5720),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5722),
    [anon_sym_defined_QMARK] = ACTIONS(2432),
    [anon_sym_not] = ACTIONS(5724),
    [anon_sym_BANG] = ACTIONS(2438),
    [anon_sym_TILDE] = ACTIONS(2438),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [3991] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7247),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1581),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1582),
    [sym__variable] = STATE(1540),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2486),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(5806),
    [anon_sym_yield] = ACTIONS(5808),
    [anon_sym_break] = ACTIONS(5810),
    [anon_sym_next] = ACTIONS(5812),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(5814),
    [anon_sym_defined_QMARK] = ACTIONS(2504),
    [anon_sym_not] = ACTIONS(5816),
    [anon_sym_BANG] = ACTIONS(2510),
    [anon_sym_TILDE] = ACTIONS(2510),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3992] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7248),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1581),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1582),
    [sym__variable] = STATE(1540),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2486),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(5806),
    [anon_sym_yield] = ACTIONS(5808),
    [anon_sym_break] = ACTIONS(5810),
    [anon_sym_next] = ACTIONS(5812),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(5814),
    [anon_sym_defined_QMARK] = ACTIONS(2504),
    [anon_sym_not] = ACTIONS(5816),
    [anon_sym_BANG] = ACTIONS(2510),
    [anon_sym_TILDE] = ACTIONS(2510),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3993] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7249),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1581),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1582),
    [sym__variable] = STATE(1540),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2486),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(5806),
    [anon_sym_yield] = ACTIONS(5808),
    [anon_sym_break] = ACTIONS(5810),
    [anon_sym_next] = ACTIONS(5812),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(5814),
    [anon_sym_defined_QMARK] = ACTIONS(2504),
    [anon_sym_not] = ACTIONS(5816),
    [anon_sym_BANG] = ACTIONS(2510),
    [anon_sym_TILDE] = ACTIONS(2510),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [3994] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(9908),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [3995] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__line_break] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(5820),
    [sym__binary_star] = ACTIONS(5822),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(5824),
    [anon_sym_SEMI] = ACTIONS(2210),
    [anon_sym_STAR_STAR] = ACTIONS(5826),
    [anon_sym_AMP] = ACTIONS(5828),
    [anon_sym_EQ] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(5830),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_PLUS_EQ] = ACTIONS(2210),
    [anon_sym_DASH_EQ] = ACTIONS(2210),
    [anon_sym_STAR_EQ] = ACTIONS(2210),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2210),
    [anon_sym_SLASH_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2210),
    [anon_sym_AMP_EQ] = ACTIONS(2210),
    [anon_sym_PERCENT_EQ] = ACTIONS(2210),
    [anon_sym_GT_GT_EQ] = ACTIONS(2210),
    [anon_sym_LT_LT_EQ] = ACTIONS(2210),
    [anon_sym_CARET_EQ] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(5832),
    [anon_sym_DOT_DOT] = ACTIONS(5834),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5836),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(5838),
    [anon_sym_AMP_AMP] = ACTIONS(5838),
    [anon_sym_LT_LT] = ACTIONS(5840),
    [anon_sym_GT_GT] = ACTIONS(5840),
    [anon_sym_EQ_EQ] = ACTIONS(5838),
    [anon_sym_BANG_EQ] = ACTIONS(5842),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5842),
    [anon_sym_LT_EQ_GT] = ACTIONS(5842),
    [anon_sym_EQ_TILDE] = ACTIONS(5842),
    [anon_sym_BANG_TILDE] = ACTIONS(5842),
    [anon_sym_LT_EQ] = ACTIONS(5830),
    [anon_sym_GT] = ACTIONS(5830),
    [anon_sym_GT_EQ] = ACTIONS(5844),
    [anon_sym_CARET] = ACTIONS(5824),
    [anon_sym_PLUS] = ACTIONS(5846),
    [anon_sym_SLASH] = ACTIONS(5826),
    [anon_sym_PERCENT] = ACTIONS(5826),
    [sym_comment] = ACTIONS(256),
  },
  [3996] = {
    [sym_heredoc_end] = STATE(3770),
    [aux_sym_argument_list_repeat1] = STATE(7252),
    [aux_sym_argument_list_repeat2] = STATE(3771),
    [sym__simple_heredoc_body] = ACTIONS(5460),
    [sym__heredoc_body_beginning] = ACTIONS(5462),
    [sym__line_break] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(9910),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_STAR_STAR] = ACTIONS(2274),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_EQ] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_EQ_GT] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_PLUS_EQ] = ACTIONS(2272),
    [anon_sym_DASH_EQ] = ACTIONS(2272),
    [anon_sym_STAR_EQ] = ACTIONS(2272),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2272),
    [anon_sym_SLASH_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2272),
    [anon_sym_AMP_EQ] = ACTIONS(2272),
    [anon_sym_PERCENT_EQ] = ACTIONS(2272),
    [anon_sym_GT_GT_EQ] = ACTIONS(2272),
    [anon_sym_LT_LT_EQ] = ACTIONS(2272),
    [anon_sym_CARET_EQ] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2274),
    [anon_sym_AMP_AMP] = ACTIONS(2274),
    [anon_sym_LT_LT] = ACTIONS(2274),
    [anon_sym_GT_GT] = ACTIONS(2274),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2274),
    [anon_sym_PLUS] = ACTIONS(2274),
    [anon_sym_SLASH] = ACTIONS(2274),
    [anon_sym_PERCENT] = ACTIONS(2274),
    [sym_comment] = ACTIONS(256),
  },
  [3997] = {
    [sym__keyword_colon] = ACTIONS(9912),
    [sym_comment] = ACTIONS(110),
  },
  [3998] = {
    [sym_string] = STATE(2203),
    [aux_sym_chained_string_repeat1] = STATE(2204),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(9908),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(3266),
  },
  [3999] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1539),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(3780),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1542),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1543),
    [sym__variable] = STATE(1540),
    [sym_reserved_identifier] = STATE(1544),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(1545),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(7254),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__block_ampersand] = ACTIONS(2410),
    [sym__splat_star] = ACTIONS(2412),
    [sym__unary_minus] = ACTIONS(2414),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(9914),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2416),
    [anon_sym_yield] = ACTIONS(2418),
    [anon_sym_break] = ACTIONS(2420),
    [anon_sym_next] = ACTIONS(2422),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(5722),
    [anon_sym_defined_QMARK] = ACTIONS(2432),
    [anon_sym_not] = ACTIONS(2434),
    [anon_sym_BANG] = ACTIONS(2438),
    [anon_sym_TILDE] = ACTIONS(2438),
    [sym_constant] = ACTIONS(2440),
    [sym_identifier] = ACTIONS(2440),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4000] = {
    [sym_heredoc_end] = STATE(1444),
    [aux_sym_argument_list_repeat2] = STATE(3783),
    [sym__simple_heredoc_body] = ACTIONS(2268),
    [sym__heredoc_body_beginning] = ACTIONS(2270),
    [sym__line_break] = ACTIONS(5472),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(9916),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_SEMI] = ACTIONS(5472),
    [anon_sym_STAR_STAR] = ACTIONS(5472),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_do] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5472),
    [anon_sym_AMP_AMP] = ACTIONS(5472),
    [anon_sym_LT_LT] = ACTIONS(5472),
    [anon_sym_GT_GT] = ACTIONS(5472),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5472),
    [anon_sym_PLUS] = ACTIONS(5472),
    [anon_sym_SLASH] = ACTIONS(5472),
    [anon_sym_PERCENT] = ACTIONS(5472),
    [sym_comment] = ACTIONS(110),
  },
  [4001] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7256),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_splat_argument] = STATE(3785),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_right_assignment_list] = STATE(3786),
    [sym__arg_or_splat_arg] = STATE(7257),
    [sym_left_assignment_list] = STATE(1542),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1543),
    [sym__variable] = STATE(1540),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(5728),
    [sym__unary_minus] = ACTIONS(2414),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5714),
    [anon_sym_yield] = ACTIONS(5716),
    [anon_sym_break] = ACTIONS(5718),
    [anon_sym_next] = ACTIONS(5720),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5722),
    [anon_sym_defined_QMARK] = ACTIONS(2432),
    [anon_sym_not] = ACTIONS(5724),
    [anon_sym_BANG] = ACTIONS(2438),
    [anon_sym_TILDE] = ACTIONS(2438),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4002] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7258),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1542),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1543),
    [sym__variable] = STATE(1540),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2414),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5714),
    [anon_sym_yield] = ACTIONS(5716),
    [anon_sym_break] = ACTIONS(5718),
    [anon_sym_next] = ACTIONS(5720),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5722),
    [anon_sym_defined_QMARK] = ACTIONS(2432),
    [anon_sym_not] = ACTIONS(5724),
    [anon_sym_BANG] = ACTIONS(2438),
    [anon_sym_TILDE] = ACTIONS(2438),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4003] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7259),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3959),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3960),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5704),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5706),
    [anon_sym_defined_QMARK] = ACTIONS(5708),
    [anon_sym_not] = ACTIONS(5710),
    [anon_sym_BANG] = ACTIONS(5712),
    [anon_sym_TILDE] = ACTIONS(5712),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4004] = {
    [sym__heredoc_body_middle] = ACTIONS(4108),
    [sym__heredoc_body_end] = ACTIONS(9918),
    [anon_sym_if] = ACTIONS(4112),
    [anon_sym_unless] = ACTIONS(4114),
    [anon_sym_while] = ACTIONS(4116),
    [anon_sym_until] = ACTIONS(4118),
    [anon_sym_rescue] = ACTIONS(4120),
    [sym_comment] = ACTIONS(110),
  },
  [4005] = {
    [sym__statement] = STATE(7261),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [4006] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__line_break] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(2450),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_SEMI] = ACTIONS(7008),
    [anon_sym_STAR_STAR] = ACTIONS(2454),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_do] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7008),
    [anon_sym_AMP_AMP] = ACTIONS(7008),
    [anon_sym_LT_LT] = ACTIONS(7008),
    [anon_sym_GT_GT] = ACTIONS(7008),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7008),
    [anon_sym_PLUS] = ACTIONS(7008),
    [anon_sym_SLASH] = ACTIONS(2454),
    [anon_sym_PERCENT] = ACTIONS(2454),
    [sym_comment] = ACTIONS(110),
  },
  [4007] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__line_break] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_SEMI] = ACTIONS(7012),
    [anon_sym_STAR_STAR] = ACTIONS(2454),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_do] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7012),
    [anon_sym_AMP_AMP] = ACTIONS(7012),
    [anon_sym_LT_LT] = ACTIONS(7012),
    [anon_sym_GT_GT] = ACTIONS(7012),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7012),
    [anon_sym_PLUS] = ACTIONS(7012),
    [anon_sym_SLASH] = ACTIONS(7012),
    [anon_sym_PERCENT] = ACTIONS(7012),
    [sym_comment] = ACTIONS(110),
  },
  [4008] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(2448),
    [sym__binary_star] = ACTIONS(2450),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(2454),
    [anon_sym_AMP] = ACTIONS(2456),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(2472),
    [anon_sym_GT_GT] = ACTIONS(2472),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(2480),
    [anon_sym_SLASH] = ACTIONS(2454),
    [anon_sym_PERCENT] = ACTIONS(2454),
    [sym_comment] = ACTIONS(110),
  },
  [4009] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(2454),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7016),
    [anon_sym_PERCENT] = ACTIONS(7016),
    [sym_comment] = ACTIONS(110),
  },
  [4010] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(2448),
    [sym__binary_star] = ACTIONS(2450),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(2454),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(2472),
    [anon_sym_GT_GT] = ACTIONS(2472),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(2480),
    [anon_sym_SLASH] = ACTIONS(2454),
    [anon_sym_PERCENT] = ACTIONS(2454),
    [sym_comment] = ACTIONS(110),
  },
  [4011] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(2448),
    [sym__binary_star] = ACTIONS(2450),
    [anon_sym_PIPE] = ACTIONS(2452),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(2454),
    [anon_sym_AMP] = ACTIONS(2456),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(2472),
    [anon_sym_GT_GT] = ACTIONS(2472),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(2478),
    [anon_sym_PLUS] = ACTIONS(2480),
    [anon_sym_SLASH] = ACTIONS(2454),
    [anon_sym_PERCENT] = ACTIONS(2454),
    [sym_comment] = ACTIONS(110),
  },
  [4012] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(9920),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [4013] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__line_break] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(2448),
    [sym__binary_star] = ACTIONS(2450),
    [anon_sym_PIPE] = ACTIONS(2452),
    [anon_sym_SEMI] = ACTIONS(7108),
    [anon_sym_STAR_STAR] = ACTIONS(2454),
    [anon_sym_AMP] = ACTIONS(2456),
    [anon_sym_LT] = ACTIONS(2458),
    [anon_sym_do] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(2464),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2466),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(2470),
    [anon_sym_AMP_AMP] = ACTIONS(2470),
    [anon_sym_LT_LT] = ACTIONS(2472),
    [anon_sym_GT_GT] = ACTIONS(2472),
    [anon_sym_EQ_EQ] = ACTIONS(2474),
    [anon_sym_BANG_EQ] = ACTIONS(2470),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2470),
    [anon_sym_LT_EQ_GT] = ACTIONS(2470),
    [anon_sym_EQ_TILDE] = ACTIONS(2470),
    [anon_sym_BANG_TILDE] = ACTIONS(2470),
    [anon_sym_LT_EQ] = ACTIONS(2458),
    [anon_sym_GT] = ACTIONS(2458),
    [anon_sym_GT_EQ] = ACTIONS(2476),
    [anon_sym_CARET] = ACTIONS(2478),
    [anon_sym_PLUS] = ACTIONS(2480),
    [anon_sym_SLASH] = ACTIONS(2454),
    [anon_sym_PERCENT] = ACTIONS(2454),
    [sym_comment] = ACTIONS(110),
  },
  [4014] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(2448),
    [sym__binary_star] = ACTIONS(2450),
    [anon_sym_PIPE] = ACTIONS(2452),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(2454),
    [anon_sym_AMP] = ACTIONS(2456),
    [anon_sym_LT] = ACTIONS(2458),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(2462),
    [anon_sym_DOT_DOT] = ACTIONS(2464),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2466),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(2470),
    [anon_sym_AMP_AMP] = ACTIONS(2470),
    [anon_sym_LT_LT] = ACTIONS(2472),
    [anon_sym_GT_GT] = ACTIONS(2472),
    [anon_sym_EQ_EQ] = ACTIONS(2474),
    [anon_sym_BANG_EQ] = ACTIONS(2470),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2470),
    [anon_sym_LT_EQ_GT] = ACTIONS(2470),
    [anon_sym_EQ_TILDE] = ACTIONS(2470),
    [anon_sym_BANG_TILDE] = ACTIONS(2470),
    [anon_sym_LT_EQ] = ACTIONS(2458),
    [anon_sym_GT] = ACTIONS(2458),
    [anon_sym_GT_EQ] = ACTIONS(2476),
    [anon_sym_CARET] = ACTIONS(2478),
    [anon_sym_PLUS] = ACTIONS(2480),
    [anon_sym_SLASH] = ACTIONS(2454),
    [anon_sym_PERCENT] = ACTIONS(2454),
    [sym_comment] = ACTIONS(110),
  },
  [4015] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(2448),
    [sym__binary_star] = ACTIONS(2450),
    [anon_sym_PIPE] = ACTIONS(2452),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(2454),
    [anon_sym_AMP] = ACTIONS(2456),
    [anon_sym_LT] = ACTIONS(2458),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(2472),
    [anon_sym_GT_GT] = ACTIONS(2472),
    [anon_sym_EQ_EQ] = ACTIONS(2474),
    [anon_sym_BANG_EQ] = ACTIONS(2470),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2470),
    [anon_sym_LT_EQ_GT] = ACTIONS(2470),
    [anon_sym_EQ_TILDE] = ACTIONS(2470),
    [anon_sym_BANG_TILDE] = ACTIONS(2470),
    [anon_sym_LT_EQ] = ACTIONS(2458),
    [anon_sym_GT] = ACTIONS(2458),
    [anon_sym_GT_EQ] = ACTIONS(2476),
    [anon_sym_CARET] = ACTIONS(2478),
    [anon_sym_PLUS] = ACTIONS(2480),
    [anon_sym_SLASH] = ACTIONS(2454),
    [anon_sym_PERCENT] = ACTIONS(2454),
    [sym_comment] = ACTIONS(110),
  },
  [4016] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(2448),
    [sym__binary_star] = ACTIONS(2450),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(2454),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(2480),
    [anon_sym_SLASH] = ACTIONS(2454),
    [anon_sym_PERCENT] = ACTIONS(2454),
    [sym_comment] = ACTIONS(110),
  },
  [4017] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(2450),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(2454),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(2454),
    [anon_sym_PERCENT] = ACTIONS(2454),
    [sym_comment] = ACTIONS(110),
  },
  [4018] = {
    [sym__simple_heredoc_body] = ACTIONS(9922),
    [sym__heredoc_body_beginning] = ACTIONS(9922),
    [sym__line_break] = ACTIONS(9922),
    [sym__element_reference_left_bracket] = ACTIONS(9922),
    [sym__scope_double_colon] = ACTIONS(9922),
    [sym__binary_minus] = ACTIONS(9922),
    [sym__binary_star] = ACTIONS(9922),
    [ts_builtin_sym_end] = ACTIONS(9922),
    [anon_sym___END__] = ACTIONS(9922),
    [anon_sym_LBRACE] = ACTIONS(9922),
    [anon_sym_RBRACE] = ACTIONS(9922),
    [anon_sym_RPAREN] = ACTIONS(9922),
    [anon_sym_DOT] = ACTIONS(9924),
    [anon_sym_end] = ACTIONS(9922),
    [anon_sym_COMMA] = ACTIONS(9922),
    [anon_sym_PIPE] = ACTIONS(9924),
    [anon_sym_SEMI] = ACTIONS(9922),
    [anon_sym_STAR_STAR] = ACTIONS(9922),
    [anon_sym_AMP] = ACTIONS(9924),
    [anon_sym_LT] = ACTIONS(9924),
    [anon_sym_if] = ACTIONS(9922),
    [anon_sym_unless] = ACTIONS(9922),
    [anon_sym_while] = ACTIONS(9922),
    [anon_sym_until] = ACTIONS(9922),
    [anon_sym_rescue] = ACTIONS(9922),
    [anon_sym_do] = ACTIONS(9922),
    [anon_sym_when] = ACTIONS(9922),
    [anon_sym_elsif] = ACTIONS(9922),
    [anon_sym_else] = ACTIONS(9922),
    [anon_sym_then] = ACTIONS(9922),
    [anon_sym_ensure] = ACTIONS(9922),
    [anon_sym_EQ_GT] = ACTIONS(9922),
    [anon_sym_AMP_DOT] = ACTIONS(9922),
    [anon_sym_QMARK] = ACTIONS(9922),
    [anon_sym_DOT_DOT] = ACTIONS(9924),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9922),
    [anon_sym_and] = ACTIONS(9922),
    [anon_sym_or] = ACTIONS(9922),
    [anon_sym_PIPE_PIPE] = ACTIONS(9922),
    [anon_sym_AMP_AMP] = ACTIONS(9922),
    [anon_sym_LT_LT] = ACTIONS(9922),
    [anon_sym_GT_GT] = ACTIONS(9922),
    [anon_sym_EQ_EQ] = ACTIONS(9924),
    [anon_sym_BANG_EQ] = ACTIONS(9922),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9922),
    [anon_sym_LT_EQ_GT] = ACTIONS(9922),
    [anon_sym_EQ_TILDE] = ACTIONS(9922),
    [anon_sym_BANG_TILDE] = ACTIONS(9922),
    [anon_sym_LT_EQ] = ACTIONS(9924),
    [anon_sym_GT] = ACTIONS(9924),
    [anon_sym_GT_EQ] = ACTIONS(9922),
    [anon_sym_CARET] = ACTIONS(9922),
    [anon_sym_PLUS] = ACTIONS(9922),
    [anon_sym_SLASH] = ACTIONS(9922),
    [anon_sym_PERCENT] = ACTIONS(9922),
    [sym_comment] = ACTIONS(110),
  },
  [4019] = {
    [anon_sym_end] = ACTIONS(9926),
    [sym_comment] = ACTIONS(110),
  },
  [4020] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(7264),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4029),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4030),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(5788),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(5790),
    [anon_sym_yield] = ACTIONS(5792),
    [anon_sym_break] = ACTIONS(5794),
    [anon_sym_next] = ACTIONS(5796),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(5798),
    [anon_sym_defined_QMARK] = ACTIONS(5800),
    [anon_sym_not] = ACTIONS(5802),
    [anon_sym_BANG] = ACTIONS(5804),
    [anon_sym_TILDE] = ACTIONS(5804),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [4021] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1578),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(4940),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(1580),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1581),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1582),
    [sym__variable] = STATE(1540),
    [sym_reserved_identifier] = STATE(1583),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1584),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(2482),
    [sym__splat_star] = ACTIONS(2484),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(2486),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(544),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2488),
    [anon_sym_yield] = ACTIONS(2490),
    [anon_sym_break] = ACTIONS(2492),
    [anon_sym_next] = ACTIONS(2494),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_PLUS_EQ] = ACTIONS(532),
    [anon_sym_DASH_EQ] = ACTIONS(532),
    [anon_sym_STAR_EQ] = ACTIONS(532),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(532),
    [anon_sym_SLASH_EQ] = ACTIONS(532),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(532),
    [anon_sym_PIPE_EQ] = ACTIONS(532),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(532),
    [anon_sym_AMP_EQ] = ACTIONS(532),
    [anon_sym_PERCENT_EQ] = ACTIONS(532),
    [anon_sym_GT_GT_EQ] = ACTIONS(532),
    [anon_sym_LT_LT_EQ] = ACTIONS(532),
    [anon_sym_CARET_EQ] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(544),
    [anon_sym_AMP_AMP] = ACTIONS(544),
    [anon_sym_LT_LT] = ACTIONS(544),
    [anon_sym_GT_GT] = ACTIONS(544),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(544),
    [anon_sym_PERCENT] = ACTIONS(544),
    [anon_sym_defined_QMARK] = ACTIONS(2504),
    [anon_sym_not] = ACTIONS(2506),
    [anon_sym_BANG] = ACTIONS(2508),
    [anon_sym_TILDE] = ACTIONS(2510),
    [sym_constant] = ACTIONS(2512),
    [sym_identifier] = ACTIONS(2512),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4022] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1578),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(4941),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(1580),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1581),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1582),
    [sym__variable] = STATE(1540),
    [sym_reserved_identifier] = STATE(1583),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1584),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(2482),
    [sym__splat_star] = ACTIONS(2484),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(2486),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(604),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2488),
    [anon_sym_yield] = ACTIONS(2490),
    [anon_sym_break] = ACTIONS(2492),
    [anon_sym_next] = ACTIONS(2494),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_PLUS_EQ] = ACTIONS(602),
    [anon_sym_DASH_EQ] = ACTIONS(602),
    [anon_sym_STAR_EQ] = ACTIONS(602),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(602),
    [anon_sym_SLASH_EQ] = ACTIONS(602),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(602),
    [anon_sym_PIPE_EQ] = ACTIONS(602),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(602),
    [anon_sym_AMP_EQ] = ACTIONS(602),
    [anon_sym_PERCENT_EQ] = ACTIONS(602),
    [anon_sym_GT_GT_EQ] = ACTIONS(602),
    [anon_sym_LT_LT_EQ] = ACTIONS(602),
    [anon_sym_CARET_EQ] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(604),
    [anon_sym_AMP_AMP] = ACTIONS(604),
    [anon_sym_LT_LT] = ACTIONS(604),
    [anon_sym_GT_GT] = ACTIONS(604),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(604),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(604),
    [anon_sym_PERCENT] = ACTIONS(604),
    [anon_sym_defined_QMARK] = ACTIONS(2504),
    [anon_sym_not] = ACTIONS(2506),
    [anon_sym_BANG] = ACTIONS(2508),
    [anon_sym_TILDE] = ACTIONS(2510),
    [sym_constant] = ACTIONS(2512),
    [sym_identifier] = ACTIONS(2512),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4023] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1578),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(4942),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(1580),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1581),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1582),
    [sym__variable] = STATE(1540),
    [sym_reserved_identifier] = STATE(1583),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1584),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(2482),
    [sym__splat_star] = ACTIONS(2484),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(2486),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(608),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2488),
    [anon_sym_yield] = ACTIONS(2490),
    [anon_sym_break] = ACTIONS(2492),
    [anon_sym_next] = ACTIONS(2494),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_PLUS_EQ] = ACTIONS(606),
    [anon_sym_DASH_EQ] = ACTIONS(606),
    [anon_sym_STAR_EQ] = ACTIONS(606),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(606),
    [anon_sym_SLASH_EQ] = ACTIONS(606),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(606),
    [anon_sym_PIPE_EQ] = ACTIONS(606),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(606),
    [anon_sym_AMP_EQ] = ACTIONS(606),
    [anon_sym_PERCENT_EQ] = ACTIONS(606),
    [anon_sym_GT_GT_EQ] = ACTIONS(606),
    [anon_sym_LT_LT_EQ] = ACTIONS(606),
    [anon_sym_CARET_EQ] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(608),
    [anon_sym_AMP_AMP] = ACTIONS(608),
    [anon_sym_LT_LT] = ACTIONS(608),
    [anon_sym_GT_GT] = ACTIONS(608),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(608),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(608),
    [anon_sym_PERCENT] = ACTIONS(608),
    [anon_sym_defined_QMARK] = ACTIONS(2504),
    [anon_sym_not] = ACTIONS(2506),
    [anon_sym_BANG] = ACTIONS(2508),
    [anon_sym_TILDE] = ACTIONS(2510),
    [sym_constant] = ACTIONS(2512),
    [sym_identifier] = ACTIONS(2512),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4024] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1578),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(4943),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(1580),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1581),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1582),
    [sym__variable] = STATE(1540),
    [sym_reserved_identifier] = STATE(1583),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1584),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(2482),
    [sym__splat_star] = ACTIONS(2484),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(2486),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(612),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2488),
    [anon_sym_yield] = ACTIONS(2490),
    [anon_sym_break] = ACTIONS(2492),
    [anon_sym_next] = ACTIONS(2494),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_PLUS_EQ] = ACTIONS(610),
    [anon_sym_DASH_EQ] = ACTIONS(610),
    [anon_sym_STAR_EQ] = ACTIONS(610),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(610),
    [anon_sym_SLASH_EQ] = ACTIONS(610),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(610),
    [anon_sym_PIPE_EQ] = ACTIONS(610),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(610),
    [anon_sym_AMP_EQ] = ACTIONS(610),
    [anon_sym_PERCENT_EQ] = ACTIONS(610),
    [anon_sym_GT_GT_EQ] = ACTIONS(610),
    [anon_sym_LT_LT_EQ] = ACTIONS(610),
    [anon_sym_CARET_EQ] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(612),
    [anon_sym_AMP_AMP] = ACTIONS(612),
    [anon_sym_LT_LT] = ACTIONS(612),
    [anon_sym_GT_GT] = ACTIONS(612),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(612),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(612),
    [anon_sym_PERCENT] = ACTIONS(612),
    [anon_sym_defined_QMARK] = ACTIONS(2504),
    [anon_sym_not] = ACTIONS(2506),
    [anon_sym_BANG] = ACTIONS(2508),
    [anon_sym_TILDE] = ACTIONS(2510),
    [sym_constant] = ACTIONS(2512),
    [sym_identifier] = ACTIONS(2512),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4025] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(7265),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4029),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4030),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(5788),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(5790),
    [anon_sym_yield] = ACTIONS(5792),
    [anon_sym_break] = ACTIONS(5794),
    [anon_sym_next] = ACTIONS(5796),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(5798),
    [anon_sym_defined_QMARK] = ACTIONS(5800),
    [anon_sym_not] = ACTIONS(5802),
    [anon_sym_BANG] = ACTIONS(5804),
    [anon_sym_TILDE] = ACTIONS(5804),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [4026] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(7266),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4029),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4030),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(5788),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(5790),
    [anon_sym_yield] = ACTIONS(5792),
    [anon_sym_break] = ACTIONS(5794),
    [anon_sym_next] = ACTIONS(5796),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(5798),
    [anon_sym_defined_QMARK] = ACTIONS(5800),
    [anon_sym_not] = ACTIONS(5802),
    [anon_sym_BANG] = ACTIONS(5804),
    [anon_sym_TILDE] = ACTIONS(5804),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [4027] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(4957),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4029),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4030),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(5788),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(5790),
    [anon_sym_yield] = ACTIONS(5792),
    [anon_sym_break] = ACTIONS(5794),
    [anon_sym_next] = ACTIONS(5796),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(5798),
    [anon_sym_defined_QMARK] = ACTIONS(5800),
    [anon_sym_not] = ACTIONS(5802),
    [anon_sym_BANG] = ACTIONS(5804),
    [anon_sym_TILDE] = ACTIONS(5804),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [4028] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__line_break] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(9928),
    [sym__binary_star] = ACTIONS(9930),
    [anon_sym_LBRACE] = ACTIONS(5298),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(9932),
    [anon_sym_SEMI] = ACTIONS(5298),
    [anon_sym_STAR_STAR] = ACTIONS(9934),
    [anon_sym_AMP] = ACTIONS(9936),
    [anon_sym_EQ] = ACTIONS(5304),
    [anon_sym_LT] = ACTIONS(9938),
    [anon_sym_do] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_PLUS_EQ] = ACTIONS(5298),
    [anon_sym_DASH_EQ] = ACTIONS(5298),
    [anon_sym_STAR_EQ] = ACTIONS(5298),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5298),
    [anon_sym_SLASH_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5298),
    [anon_sym_AMP_EQ] = ACTIONS(5298),
    [anon_sym_PERCENT_EQ] = ACTIONS(5298),
    [anon_sym_GT_GT_EQ] = ACTIONS(5298),
    [anon_sym_LT_LT_EQ] = ACTIONS(5298),
    [anon_sym_CARET_EQ] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(9940),
    [anon_sym_DOT_DOT] = ACTIONS(9942),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9944),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(9946),
    [anon_sym_AMP_AMP] = ACTIONS(9946),
    [anon_sym_LT_LT] = ACTIONS(9948),
    [anon_sym_GT_GT] = ACTIONS(9948),
    [anon_sym_EQ_EQ] = ACTIONS(9946),
    [anon_sym_BANG_EQ] = ACTIONS(9950),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9950),
    [anon_sym_LT_EQ_GT] = ACTIONS(9950),
    [anon_sym_EQ_TILDE] = ACTIONS(9950),
    [anon_sym_BANG_TILDE] = ACTIONS(9950),
    [anon_sym_LT_EQ] = ACTIONS(9938),
    [anon_sym_GT] = ACTIONS(9938),
    [anon_sym_GT_EQ] = ACTIONS(9952),
    [anon_sym_CARET] = ACTIONS(9932),
    [anon_sym_PLUS] = ACTIONS(9954),
    [anon_sym_SLASH] = ACTIONS(9934),
    [anon_sym_PERCENT] = ACTIONS(9934),
    [sym_comment] = ACTIONS(256),
  },
  [4029] = {
    [anon_sym_EQ] = ACTIONS(9956),
    [sym_comment] = ACTIONS(256),
  },
  [4030] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(9958),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(9960),
    [anon_sym_DASH_EQ] = ACTIONS(9960),
    [anon_sym_STAR_EQ] = ACTIONS(9960),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9960),
    [anon_sym_SLASH_EQ] = ACTIONS(9960),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9960),
    [anon_sym_PIPE_EQ] = ACTIONS(9960),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9960),
    [anon_sym_AMP_EQ] = ACTIONS(9960),
    [anon_sym_PERCENT_EQ] = ACTIONS(9960),
    [anon_sym_GT_GT_EQ] = ACTIONS(9960),
    [anon_sym_LT_LT_EQ] = ACTIONS(9960),
    [anon_sym_CARET_EQ] = ACTIONS(9960),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [4031] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__line_break] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(9928),
    [sym__binary_star] = ACTIONS(9930),
    [anon_sym_LBRACE] = ACTIONS(5338),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(9932),
    [anon_sym_SEMI] = ACTIONS(5338),
    [anon_sym_STAR_STAR] = ACTIONS(9934),
    [anon_sym_AMP] = ACTIONS(9936),
    [anon_sym_EQ] = ACTIONS(5340),
    [anon_sym_LT] = ACTIONS(9938),
    [anon_sym_do] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_PLUS_EQ] = ACTIONS(5338),
    [anon_sym_DASH_EQ] = ACTIONS(5338),
    [anon_sym_STAR_EQ] = ACTIONS(5338),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5338),
    [anon_sym_SLASH_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5338),
    [anon_sym_AMP_EQ] = ACTIONS(5338),
    [anon_sym_PERCENT_EQ] = ACTIONS(5338),
    [anon_sym_GT_GT_EQ] = ACTIONS(5338),
    [anon_sym_LT_LT_EQ] = ACTIONS(5338),
    [anon_sym_CARET_EQ] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(9940),
    [anon_sym_DOT_DOT] = ACTIONS(9942),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9944),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(9946),
    [anon_sym_AMP_AMP] = ACTIONS(9946),
    [anon_sym_LT_LT] = ACTIONS(9948),
    [anon_sym_GT_GT] = ACTIONS(9948),
    [anon_sym_EQ_EQ] = ACTIONS(9946),
    [anon_sym_BANG_EQ] = ACTIONS(9950),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9950),
    [anon_sym_LT_EQ_GT] = ACTIONS(9950),
    [anon_sym_EQ_TILDE] = ACTIONS(9950),
    [anon_sym_BANG_TILDE] = ACTIONS(9950),
    [anon_sym_LT_EQ] = ACTIONS(9938),
    [anon_sym_GT] = ACTIONS(9938),
    [anon_sym_GT_EQ] = ACTIONS(9952),
    [anon_sym_CARET] = ACTIONS(9932),
    [anon_sym_PLUS] = ACTIONS(9954),
    [anon_sym_SLASH] = ACTIONS(9934),
    [anon_sym_PERCENT] = ACTIONS(9934),
    [sym_comment] = ACTIONS(256),
  },
  [4032] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(3995),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2147),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(3996),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1581),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1582),
    [sym__variable] = STATE(1540),
    [sym_reserved_identifier] = STATE(3997),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(3998),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(5764),
    [sym__splat_star] = ACTIONS(5766),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(2486),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(544),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2488),
    [anon_sym_yield] = ACTIONS(2490),
    [anon_sym_break] = ACTIONS(2492),
    [anon_sym_next] = ACTIONS(2494),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_PLUS_EQ] = ACTIONS(532),
    [anon_sym_DASH_EQ] = ACTIONS(532),
    [anon_sym_STAR_EQ] = ACTIONS(532),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(532),
    [anon_sym_SLASH_EQ] = ACTIONS(532),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(532),
    [anon_sym_PIPE_EQ] = ACTIONS(532),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(532),
    [anon_sym_AMP_EQ] = ACTIONS(532),
    [anon_sym_PERCENT_EQ] = ACTIONS(532),
    [anon_sym_GT_GT_EQ] = ACTIONS(532),
    [anon_sym_LT_LT_EQ] = ACTIONS(532),
    [anon_sym_CARET_EQ] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(544),
    [anon_sym_AMP_AMP] = ACTIONS(544),
    [anon_sym_LT_LT] = ACTIONS(544),
    [anon_sym_GT_GT] = ACTIONS(544),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(544),
    [anon_sym_PERCENT] = ACTIONS(544),
    [anon_sym_defined_QMARK] = ACTIONS(2504),
    [anon_sym_not] = ACTIONS(2506),
    [anon_sym_BANG] = ACTIONS(2508),
    [anon_sym_TILDE] = ACTIONS(2510),
    [sym_constant] = ACTIONS(5768),
    [sym_identifier] = ACTIONS(5768),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4033] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(3995),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2148),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(3996),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1581),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1582),
    [sym__variable] = STATE(1540),
    [sym_reserved_identifier] = STATE(3997),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(3998),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(5764),
    [sym__splat_star] = ACTIONS(5766),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(2486),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(604),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2488),
    [anon_sym_yield] = ACTIONS(2490),
    [anon_sym_break] = ACTIONS(2492),
    [anon_sym_next] = ACTIONS(2494),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_PLUS_EQ] = ACTIONS(602),
    [anon_sym_DASH_EQ] = ACTIONS(602),
    [anon_sym_STAR_EQ] = ACTIONS(602),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(602),
    [anon_sym_SLASH_EQ] = ACTIONS(602),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(602),
    [anon_sym_PIPE_EQ] = ACTIONS(602),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(602),
    [anon_sym_AMP_EQ] = ACTIONS(602),
    [anon_sym_PERCENT_EQ] = ACTIONS(602),
    [anon_sym_GT_GT_EQ] = ACTIONS(602),
    [anon_sym_LT_LT_EQ] = ACTIONS(602),
    [anon_sym_CARET_EQ] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(604),
    [anon_sym_AMP_AMP] = ACTIONS(604),
    [anon_sym_LT_LT] = ACTIONS(604),
    [anon_sym_GT_GT] = ACTIONS(604),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(604),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(604),
    [anon_sym_PERCENT] = ACTIONS(604),
    [anon_sym_defined_QMARK] = ACTIONS(2504),
    [anon_sym_not] = ACTIONS(2506),
    [anon_sym_BANG] = ACTIONS(2508),
    [anon_sym_TILDE] = ACTIONS(2510),
    [sym_constant] = ACTIONS(5768),
    [sym_identifier] = ACTIONS(5768),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4034] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(3995),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2149),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(3996),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1581),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1582),
    [sym__variable] = STATE(1540),
    [sym_reserved_identifier] = STATE(3997),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(3998),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(5764),
    [sym__splat_star] = ACTIONS(5766),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(2486),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(608),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2488),
    [anon_sym_yield] = ACTIONS(2490),
    [anon_sym_break] = ACTIONS(2492),
    [anon_sym_next] = ACTIONS(2494),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_PLUS_EQ] = ACTIONS(606),
    [anon_sym_DASH_EQ] = ACTIONS(606),
    [anon_sym_STAR_EQ] = ACTIONS(606),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(606),
    [anon_sym_SLASH_EQ] = ACTIONS(606),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(606),
    [anon_sym_PIPE_EQ] = ACTIONS(606),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(606),
    [anon_sym_AMP_EQ] = ACTIONS(606),
    [anon_sym_PERCENT_EQ] = ACTIONS(606),
    [anon_sym_GT_GT_EQ] = ACTIONS(606),
    [anon_sym_LT_LT_EQ] = ACTIONS(606),
    [anon_sym_CARET_EQ] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(608),
    [anon_sym_AMP_AMP] = ACTIONS(608),
    [anon_sym_LT_LT] = ACTIONS(608),
    [anon_sym_GT_GT] = ACTIONS(608),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(608),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(608),
    [anon_sym_PERCENT] = ACTIONS(608),
    [anon_sym_defined_QMARK] = ACTIONS(2504),
    [anon_sym_not] = ACTIONS(2506),
    [anon_sym_BANG] = ACTIONS(2508),
    [anon_sym_TILDE] = ACTIONS(2510),
    [sym_constant] = ACTIONS(5768),
    [sym_identifier] = ACTIONS(5768),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4035] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(3995),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2150),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(3996),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1581),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1582),
    [sym__variable] = STATE(1540),
    [sym_reserved_identifier] = STATE(3997),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(3998),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(5764),
    [sym__splat_star] = ACTIONS(5766),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(2486),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(612),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2488),
    [anon_sym_yield] = ACTIONS(2490),
    [anon_sym_break] = ACTIONS(2492),
    [anon_sym_next] = ACTIONS(2494),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_PLUS_EQ] = ACTIONS(610),
    [anon_sym_DASH_EQ] = ACTIONS(610),
    [anon_sym_STAR_EQ] = ACTIONS(610),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(610),
    [anon_sym_SLASH_EQ] = ACTIONS(610),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(610),
    [anon_sym_PIPE_EQ] = ACTIONS(610),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(610),
    [anon_sym_AMP_EQ] = ACTIONS(610),
    [anon_sym_PERCENT_EQ] = ACTIONS(610),
    [anon_sym_GT_GT_EQ] = ACTIONS(610),
    [anon_sym_LT_LT_EQ] = ACTIONS(610),
    [anon_sym_CARET_EQ] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(612),
    [anon_sym_AMP_AMP] = ACTIONS(612),
    [anon_sym_LT_LT] = ACTIONS(612),
    [anon_sym_GT_GT] = ACTIONS(612),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(612),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(612),
    [anon_sym_PERCENT] = ACTIONS(612),
    [anon_sym_defined_QMARK] = ACTIONS(2504),
    [anon_sym_not] = ACTIONS(2506),
    [anon_sym_BANG] = ACTIONS(2508),
    [anon_sym_TILDE] = ACTIONS(2510),
    [sym_constant] = ACTIONS(5768),
    [sym_identifier] = ACTIONS(5768),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4036] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_LBRACE] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(5826),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_EQ] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_do] = ACTIONS(1372),
    [anon_sym_EQ_GT] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_PLUS_EQ] = ACTIONS(1372),
    [anon_sym_DASH_EQ] = ACTIONS(1372),
    [anon_sym_STAR_EQ] = ACTIONS(1372),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1372),
    [anon_sym_SLASH_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1372),
    [anon_sym_AMP_EQ] = ACTIONS(1372),
    [anon_sym_PERCENT_EQ] = ACTIONS(1372),
    [anon_sym_GT_GT_EQ] = ACTIONS(1372),
    [anon_sym_LT_LT_EQ] = ACTIONS(1372),
    [anon_sym_CARET_EQ] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1374),
    [anon_sym_AMP_AMP] = ACTIONS(1374),
    [anon_sym_LT_LT] = ACTIONS(1374),
    [anon_sym_GT_GT] = ACTIONS(1374),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1374),
    [anon_sym_PLUS] = ACTIONS(1374),
    [anon_sym_SLASH] = ACTIONS(1374),
    [anon_sym_PERCENT] = ACTIONS(1374),
    [sym_comment] = ACTIONS(256),
  },
  [4037] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__line_break] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(9928),
    [sym__binary_star] = ACTIONS(9930),
    [anon_sym_LBRACE] = ACTIONS(4284),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(9932),
    [anon_sym_SEMI] = ACTIONS(4284),
    [anon_sym_STAR_STAR] = ACTIONS(9934),
    [anon_sym_AMP] = ACTIONS(9936),
    [anon_sym_EQ] = ACTIONS(5432),
    [anon_sym_LT] = ACTIONS(9938),
    [anon_sym_do] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_PLUS_EQ] = ACTIONS(4284),
    [anon_sym_DASH_EQ] = ACTIONS(4284),
    [anon_sym_STAR_EQ] = ACTIONS(4284),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(4284),
    [anon_sym_SLASH_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(4284),
    [anon_sym_AMP_EQ] = ACTIONS(4284),
    [anon_sym_PERCENT_EQ] = ACTIONS(4284),
    [anon_sym_GT_GT_EQ] = ACTIONS(4284),
    [anon_sym_LT_LT_EQ] = ACTIONS(4284),
    [anon_sym_CARET_EQ] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(9940),
    [anon_sym_DOT_DOT] = ACTIONS(9942),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9944),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(9946),
    [anon_sym_AMP_AMP] = ACTIONS(9946),
    [anon_sym_LT_LT] = ACTIONS(9948),
    [anon_sym_GT_GT] = ACTIONS(9948),
    [anon_sym_EQ_EQ] = ACTIONS(9946),
    [anon_sym_BANG_EQ] = ACTIONS(9950),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9950),
    [anon_sym_LT_EQ_GT] = ACTIONS(9950),
    [anon_sym_EQ_TILDE] = ACTIONS(9950),
    [anon_sym_BANG_TILDE] = ACTIONS(9950),
    [anon_sym_LT_EQ] = ACTIONS(9938),
    [anon_sym_GT] = ACTIONS(9938),
    [anon_sym_GT_EQ] = ACTIONS(9952),
    [anon_sym_CARET] = ACTIONS(9932),
    [anon_sym_PLUS] = ACTIONS(9954),
    [anon_sym_SLASH] = ACTIONS(9934),
    [anon_sym_PERCENT] = ACTIONS(9934),
    [sym_comment] = ACTIONS(256),
  },
  [4038] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(5826),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2872),
    [anon_sym_AMP_AMP] = ACTIONS(2872),
    [anon_sym_LT_LT] = ACTIONS(2872),
    [anon_sym_GT_GT] = ACTIONS(2872),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2872),
    [anon_sym_PLUS] = ACTIONS(2872),
    [anon_sym_SLASH] = ACTIONS(2872),
    [anon_sym_PERCENT] = ACTIONS(2872),
    [sym_comment] = ACTIONS(256),
  },
  [4039] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(5820),
    [sym__binary_star] = ACTIONS(5822),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(5824),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(5826),
    [anon_sym_AMP] = ACTIONS(5828),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(5830),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(5832),
    [anon_sym_DOT_DOT] = ACTIONS(5834),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5836),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(5838),
    [anon_sym_AMP_AMP] = ACTIONS(5838),
    [anon_sym_LT_LT] = ACTIONS(5840),
    [anon_sym_GT_GT] = ACTIONS(5840),
    [anon_sym_EQ_EQ] = ACTIONS(5838),
    [anon_sym_BANG_EQ] = ACTIONS(5842),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5842),
    [anon_sym_LT_EQ_GT] = ACTIONS(5842),
    [anon_sym_EQ_TILDE] = ACTIONS(5842),
    [anon_sym_BANG_TILDE] = ACTIONS(5842),
    [anon_sym_LT_EQ] = ACTIONS(5830),
    [anon_sym_GT] = ACTIONS(5830),
    [anon_sym_GT_EQ] = ACTIONS(5844),
    [anon_sym_CARET] = ACTIONS(5824),
    [anon_sym_PLUS] = ACTIONS(5846),
    [anon_sym_SLASH] = ACTIONS(5826),
    [anon_sym_PERCENT] = ACTIONS(5826),
    [sym_comment] = ACTIONS(256),
  },
  [4040] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(7281),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4029),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4030),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(5788),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(5790),
    [anon_sym_yield] = ACTIONS(5792),
    [anon_sym_break] = ACTIONS(5794),
    [anon_sym_next] = ACTIONS(5796),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(5798),
    [anon_sym_defined_QMARK] = ACTIONS(5800),
    [anon_sym_not] = ACTIONS(5802),
    [anon_sym_BANG] = ACTIONS(5804),
    [anon_sym_TILDE] = ACTIONS(5804),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [4041] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7282),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1581),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1582),
    [sym__variable] = STATE(1540),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2486),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(5806),
    [anon_sym_yield] = ACTIONS(5808),
    [anon_sym_break] = ACTIONS(5810),
    [anon_sym_next] = ACTIONS(5812),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(5814),
    [anon_sym_defined_QMARK] = ACTIONS(2504),
    [anon_sym_not] = ACTIONS(5816),
    [anon_sym_BANG] = ACTIONS(2510),
    [anon_sym_TILDE] = ACTIONS(2510),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4042] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7283),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1581),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1582),
    [sym__variable] = STATE(1540),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2486),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(5806),
    [anon_sym_yield] = ACTIONS(5808),
    [anon_sym_break] = ACTIONS(5810),
    [anon_sym_next] = ACTIONS(5812),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(5814),
    [anon_sym_defined_QMARK] = ACTIONS(2504),
    [anon_sym_not] = ACTIONS(5816),
    [anon_sym_BANG] = ACTIONS(2510),
    [anon_sym_TILDE] = ACTIONS(2510),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4043] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7284),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1581),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1582),
    [sym__variable] = STATE(1540),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2486),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(5806),
    [anon_sym_yield] = ACTIONS(5808),
    [anon_sym_break] = ACTIONS(5810),
    [anon_sym_next] = ACTIONS(5812),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(5814),
    [anon_sym_defined_QMARK] = ACTIONS(2504),
    [anon_sym_not] = ACTIONS(5816),
    [anon_sym_BANG] = ACTIONS(2510),
    [anon_sym_TILDE] = ACTIONS(2510),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4044] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7285),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1581),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1582),
    [sym__variable] = STATE(1540),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2486),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(5806),
    [anon_sym_yield] = ACTIONS(5808),
    [anon_sym_break] = ACTIONS(5810),
    [anon_sym_next] = ACTIONS(5812),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(5814),
    [anon_sym_defined_QMARK] = ACTIONS(2504),
    [anon_sym_not] = ACTIONS(5816),
    [anon_sym_BANG] = ACTIONS(2510),
    [anon_sym_TILDE] = ACTIONS(2510),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4045] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7286),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1581),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1582),
    [sym__variable] = STATE(1540),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2486),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(5806),
    [anon_sym_yield] = ACTIONS(5808),
    [anon_sym_break] = ACTIONS(5810),
    [anon_sym_next] = ACTIONS(5812),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(5814),
    [anon_sym_defined_QMARK] = ACTIONS(2504),
    [anon_sym_not] = ACTIONS(5816),
    [anon_sym_BANG] = ACTIONS(2510),
    [anon_sym_TILDE] = ACTIONS(2510),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4046] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7287),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1581),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1582),
    [sym__variable] = STATE(1540),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2486),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(5806),
    [anon_sym_yield] = ACTIONS(5808),
    [anon_sym_break] = ACTIONS(5810),
    [anon_sym_next] = ACTIONS(5812),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(5814),
    [anon_sym_defined_QMARK] = ACTIONS(2504),
    [anon_sym_not] = ACTIONS(5816),
    [anon_sym_BANG] = ACTIONS(2510),
    [anon_sym_TILDE] = ACTIONS(2510),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4047] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(7288),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [4048] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7289),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1581),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1582),
    [sym__variable] = STATE(1540),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2486),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(5806),
    [anon_sym_yield] = ACTIONS(5808),
    [anon_sym_break] = ACTIONS(5810),
    [anon_sym_next] = ACTIONS(5812),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(5814),
    [anon_sym_defined_QMARK] = ACTIONS(2504),
    [anon_sym_not] = ACTIONS(5816),
    [anon_sym_BANG] = ACTIONS(2510),
    [anon_sym_TILDE] = ACTIONS(2510),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4049] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7290),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1581),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1582),
    [sym__variable] = STATE(1540),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2486),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(5806),
    [anon_sym_yield] = ACTIONS(5808),
    [anon_sym_break] = ACTIONS(5810),
    [anon_sym_next] = ACTIONS(5812),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(5814),
    [anon_sym_defined_QMARK] = ACTIONS(2504),
    [anon_sym_not] = ACTIONS(5816),
    [anon_sym_BANG] = ACTIONS(2510),
    [anon_sym_TILDE] = ACTIONS(2510),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4050] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7291),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1581),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1582),
    [sym__variable] = STATE(1540),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2486),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(5806),
    [anon_sym_yield] = ACTIONS(5808),
    [anon_sym_break] = ACTIONS(5810),
    [anon_sym_next] = ACTIONS(5812),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(5814),
    [anon_sym_defined_QMARK] = ACTIONS(2504),
    [anon_sym_not] = ACTIONS(5816),
    [anon_sym_BANG] = ACTIONS(2510),
    [anon_sym_TILDE] = ACTIONS(2510),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4051] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7292),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1581),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1582),
    [sym__variable] = STATE(1540),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2486),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(5806),
    [anon_sym_yield] = ACTIONS(5808),
    [anon_sym_break] = ACTIONS(5810),
    [anon_sym_next] = ACTIONS(5812),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(5814),
    [anon_sym_defined_QMARK] = ACTIONS(2504),
    [anon_sym_not] = ACTIONS(5816),
    [anon_sym_BANG] = ACTIONS(2510),
    [anon_sym_TILDE] = ACTIONS(2510),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4052] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7293),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1581),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1582),
    [sym__variable] = STATE(1540),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2486),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(5806),
    [anon_sym_yield] = ACTIONS(5808),
    [anon_sym_break] = ACTIONS(5810),
    [anon_sym_next] = ACTIONS(5812),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(5814),
    [anon_sym_defined_QMARK] = ACTIONS(2504),
    [anon_sym_not] = ACTIONS(5816),
    [anon_sym_BANG] = ACTIONS(2510),
    [anon_sym_TILDE] = ACTIONS(2510),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4053] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1578),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(5069),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1581),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1582),
    [sym__variable] = STATE(1540),
    [sym_reserved_identifier] = STATE(1583),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1584),
    [sym_subshell] = STATE(561),
    [sym_heredoc_end] = STATE(7294),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__block_ampersand] = ACTIONS(2482),
    [sym__splat_star] = ACTIONS(2484),
    [sym__unary_minus] = ACTIONS(2486),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(9962),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2488),
    [anon_sym_yield] = ACTIONS(2490),
    [anon_sym_break] = ACTIONS(2492),
    [anon_sym_next] = ACTIONS(2494),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(5814),
    [anon_sym_defined_QMARK] = ACTIONS(2504),
    [anon_sym_not] = ACTIONS(2506),
    [anon_sym_BANG] = ACTIONS(2510),
    [anon_sym_TILDE] = ACTIONS(2510),
    [sym_constant] = ACTIONS(2512),
    [sym_identifier] = ACTIONS(2512),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4054] = {
    [sym_heredoc_end] = STATE(2196),
    [aux_sym_argument_list_repeat2] = STATE(5072),
    [sym__simple_heredoc_body] = ACTIONS(3354),
    [sym__heredoc_body_beginning] = ACTIONS(3356),
    [sym__line_break] = ACTIONS(5472),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_LBRACE] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(9964),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_SEMI] = ACTIONS(5472),
    [anon_sym_STAR_STAR] = ACTIONS(5474),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_EQ] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_do] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_PLUS_EQ] = ACTIONS(5472),
    [anon_sym_DASH_EQ] = ACTIONS(5472),
    [anon_sym_STAR_EQ] = ACTIONS(5472),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5472),
    [anon_sym_SLASH_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5472),
    [anon_sym_AMP_EQ] = ACTIONS(5472),
    [anon_sym_PERCENT_EQ] = ACTIONS(5472),
    [anon_sym_GT_GT_EQ] = ACTIONS(5472),
    [anon_sym_LT_LT_EQ] = ACTIONS(5472),
    [anon_sym_CARET_EQ] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5474),
    [anon_sym_AMP_AMP] = ACTIONS(5474),
    [anon_sym_LT_LT] = ACTIONS(5474),
    [anon_sym_GT_GT] = ACTIONS(5474),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5474),
    [anon_sym_PLUS] = ACTIONS(5474),
    [anon_sym_SLASH] = ACTIONS(5474),
    [anon_sym_PERCENT] = ACTIONS(5474),
    [sym_comment] = ACTIONS(256),
  },
  [4055] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7296),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_splat_argument] = STATE(5074),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_right_assignment_list] = STATE(5075),
    [sym__arg_or_splat_arg] = STATE(7297),
    [sym_left_assignment_list] = STATE(1581),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1582),
    [sym__variable] = STATE(1540),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__splat_star] = ACTIONS(5766),
    [sym__unary_minus] = ACTIONS(2486),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(5806),
    [anon_sym_yield] = ACTIONS(5808),
    [anon_sym_break] = ACTIONS(5810),
    [anon_sym_next] = ACTIONS(5812),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(5814),
    [anon_sym_defined_QMARK] = ACTIONS(2504),
    [anon_sym_not] = ACTIONS(5816),
    [anon_sym_BANG] = ACTIONS(2510),
    [anon_sym_TILDE] = ACTIONS(2510),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4056] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7298),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1581),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1582),
    [sym__variable] = STATE(1540),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2486),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(5806),
    [anon_sym_yield] = ACTIONS(5808),
    [anon_sym_break] = ACTIONS(5810),
    [anon_sym_next] = ACTIONS(5812),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(5814),
    [anon_sym_defined_QMARK] = ACTIONS(2504),
    [anon_sym_not] = ACTIONS(5816),
    [anon_sym_BANG] = ACTIONS(2510),
    [anon_sym_TILDE] = ACTIONS(2510),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4057] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(7299),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4029),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4030),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(5788),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(5790),
    [anon_sym_yield] = ACTIONS(5792),
    [anon_sym_break] = ACTIONS(5794),
    [anon_sym_next] = ACTIONS(5796),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(5798),
    [anon_sym_defined_QMARK] = ACTIONS(5800),
    [anon_sym_not] = ACTIONS(5802),
    [anon_sym_BANG] = ACTIONS(5804),
    [anon_sym_TILDE] = ACTIONS(5804),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [4058] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7300),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(4065),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4066),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5860),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5862),
    [anon_sym_defined_QMARK] = ACTIONS(5864),
    [anon_sym_not] = ACTIONS(5866),
    [anon_sym_BANG] = ACTIONS(5868),
    [anon_sym_TILDE] = ACTIONS(5868),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4059] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7301),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(4065),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4066),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5860),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5862),
    [anon_sym_defined_QMARK] = ACTIONS(5864),
    [anon_sym_not] = ACTIONS(5866),
    [anon_sym_BANG] = ACTIONS(5868),
    [anon_sym_TILDE] = ACTIONS(5868),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4060] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7302),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(4065),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4066),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5860),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5862),
    [anon_sym_defined_QMARK] = ACTIONS(5864),
    [anon_sym_not] = ACTIONS(5866),
    [anon_sym_BANG] = ACTIONS(5868),
    [anon_sym_TILDE] = ACTIONS(5868),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4061] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7303),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(4065),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4066),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5860),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5862),
    [anon_sym_defined_QMARK] = ACTIONS(5864),
    [anon_sym_not] = ACTIONS(5866),
    [anon_sym_BANG] = ACTIONS(5868),
    [anon_sym_TILDE] = ACTIONS(5868),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4062] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(434),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(4065),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4066),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5860),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5862),
    [anon_sym_defined_QMARK] = ACTIONS(5864),
    [anon_sym_not] = ACTIONS(5866),
    [anon_sym_BANG] = ACTIONS(5868),
    [anon_sym_TILDE] = ACTIONS(5868),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4063] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__line_break] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(9966),
    [sym__binary_star] = ACTIONS(9968),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(9970),
    [anon_sym_SEMI] = ACTIONS(6346),
    [anon_sym_STAR_STAR] = ACTIONS(9972),
    [anon_sym_AMP] = ACTIONS(9974),
    [anon_sym_LT] = ACTIONS(9976),
    [anon_sym_do] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(9978),
    [anon_sym_DOT_DOT] = ACTIONS(9980),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9982),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(9984),
    [anon_sym_AMP_AMP] = ACTIONS(9984),
    [anon_sym_LT_LT] = ACTIONS(9986),
    [anon_sym_GT_GT] = ACTIONS(9986),
    [anon_sym_EQ_EQ] = ACTIONS(9988),
    [anon_sym_BANG_EQ] = ACTIONS(9984),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9984),
    [anon_sym_LT_EQ_GT] = ACTIONS(9984),
    [anon_sym_EQ_TILDE] = ACTIONS(9984),
    [anon_sym_BANG_TILDE] = ACTIONS(9984),
    [anon_sym_LT_EQ] = ACTIONS(9976),
    [anon_sym_GT] = ACTIONS(9976),
    [anon_sym_GT_EQ] = ACTIONS(9990),
    [anon_sym_CARET] = ACTIONS(9992),
    [anon_sym_PLUS] = ACTIONS(9994),
    [anon_sym_SLASH] = ACTIONS(9972),
    [anon_sym_PERCENT] = ACTIONS(9972),
    [sym_comment] = ACTIONS(110),
  },
  [4064] = {
    [aux_sym_exceptions_repeat1] = STATE(7317),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__line_break] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_COMMA] = ACTIONS(9996),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_SEMI] = ACTIONS(7330),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_do] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [4065] = {
    [anon_sym_EQ] = ACTIONS(9998),
    [sym_comment] = ACTIONS(256),
  },
  [4066] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(10000),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(10002),
    [anon_sym_DASH_EQ] = ACTIONS(10002),
    [anon_sym_STAR_EQ] = ACTIONS(10002),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(10002),
    [anon_sym_SLASH_EQ] = ACTIONS(10002),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(10002),
    [anon_sym_PIPE_EQ] = ACTIONS(10002),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(10002),
    [anon_sym_AMP_EQ] = ACTIONS(10002),
    [anon_sym_PERCENT_EQ] = ACTIONS(10002),
    [anon_sym_GT_GT_EQ] = ACTIONS(10002),
    [anon_sym_LT_LT_EQ] = ACTIONS(10002),
    [anon_sym_CARET_EQ] = ACTIONS(10002),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [4067] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__line_break] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(2448),
    [sym__binary_star] = ACTIONS(2450),
    [anon_sym_PIPE] = ACTIONS(2452),
    [anon_sym_SEMI] = ACTIONS(7344),
    [anon_sym_STAR_STAR] = ACTIONS(2454),
    [anon_sym_AMP] = ACTIONS(2456),
    [anon_sym_LT] = ACTIONS(2458),
    [anon_sym_do] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(2462),
    [anon_sym_DOT_DOT] = ACTIONS(2464),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2466),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(2470),
    [anon_sym_AMP_AMP] = ACTIONS(2470),
    [anon_sym_LT_LT] = ACTIONS(2472),
    [anon_sym_GT_GT] = ACTIONS(2472),
    [anon_sym_EQ_EQ] = ACTIONS(2474),
    [anon_sym_BANG_EQ] = ACTIONS(2470),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2470),
    [anon_sym_LT_EQ_GT] = ACTIONS(2470),
    [anon_sym_EQ_TILDE] = ACTIONS(2470),
    [anon_sym_BANG_TILDE] = ACTIONS(2470),
    [anon_sym_LT_EQ] = ACTIONS(2458),
    [anon_sym_GT] = ACTIONS(2458),
    [anon_sym_GT_EQ] = ACTIONS(2476),
    [anon_sym_CARET] = ACTIONS(2478),
    [anon_sym_PLUS] = ACTIONS(2480),
    [anon_sym_SLASH] = ACTIONS(2454),
    [anon_sym_PERCENT] = ACTIONS(2454),
    [sym_comment] = ACTIONS(110),
  },
  [4068] = {
    [sym__simple_heredoc_body] = ACTIONS(10004),
    [sym__heredoc_body_beginning] = ACTIONS(10004),
    [sym__line_break] = ACTIONS(10004),
    [sym__element_reference_left_bracket] = ACTIONS(10004),
    [sym__scope_double_colon] = ACTIONS(10004),
    [sym__binary_minus] = ACTIONS(10004),
    [sym__binary_star] = ACTIONS(10004),
    [ts_builtin_sym_end] = ACTIONS(10004),
    [anon_sym___END__] = ACTIONS(10004),
    [anon_sym_LBRACE] = ACTIONS(10004),
    [anon_sym_RBRACE] = ACTIONS(10004),
    [anon_sym_RPAREN] = ACTIONS(10004),
    [anon_sym_DOT] = ACTIONS(10006),
    [anon_sym_end] = ACTIONS(10004),
    [anon_sym_COMMA] = ACTIONS(10004),
    [anon_sym_PIPE] = ACTIONS(10006),
    [anon_sym_SEMI] = ACTIONS(10004),
    [anon_sym_STAR_STAR] = ACTIONS(10004),
    [anon_sym_AMP] = ACTIONS(10006),
    [anon_sym_LT] = ACTIONS(10006),
    [anon_sym_if] = ACTIONS(10004),
    [anon_sym_unless] = ACTIONS(10004),
    [anon_sym_while] = ACTIONS(10004),
    [anon_sym_until] = ACTIONS(10004),
    [anon_sym_rescue] = ACTIONS(10004),
    [anon_sym_do] = ACTIONS(10004),
    [anon_sym_when] = ACTIONS(10004),
    [anon_sym_elsif] = ACTIONS(10004),
    [anon_sym_else] = ACTIONS(10004),
    [anon_sym_then] = ACTIONS(10004),
    [anon_sym_ensure] = ACTIONS(10004),
    [anon_sym_EQ_GT] = ACTIONS(10004),
    [anon_sym_AMP_DOT] = ACTIONS(10004),
    [anon_sym_QMARK] = ACTIONS(10004),
    [anon_sym_DOT_DOT] = ACTIONS(10006),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10004),
    [anon_sym_and] = ACTIONS(10004),
    [anon_sym_or] = ACTIONS(10004),
    [anon_sym_PIPE_PIPE] = ACTIONS(10004),
    [anon_sym_AMP_AMP] = ACTIONS(10004),
    [anon_sym_LT_LT] = ACTIONS(10004),
    [anon_sym_GT_GT] = ACTIONS(10004),
    [anon_sym_EQ_EQ] = ACTIONS(10006),
    [anon_sym_BANG_EQ] = ACTIONS(10004),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10004),
    [anon_sym_LT_EQ_GT] = ACTIONS(10004),
    [anon_sym_EQ_TILDE] = ACTIONS(10004),
    [anon_sym_BANG_TILDE] = ACTIONS(10004),
    [anon_sym_LT_EQ] = ACTIONS(10006),
    [anon_sym_GT] = ACTIONS(10006),
    [anon_sym_GT_EQ] = ACTIONS(10004),
    [anon_sym_CARET] = ACTIONS(10004),
    [anon_sym_PLUS] = ACTIONS(10004),
    [anon_sym_SLASH] = ACTIONS(10004),
    [anon_sym_PERCENT] = ACTIONS(10004),
    [sym_comment] = ACTIONS(110),
  },
  [4069] = {
    [anon_sym_end] = ACTIONS(10008),
    [sym_comment] = ACTIONS(110),
  },
  [4070] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(7321),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(4079),
    [sym_call] = STATE(4079),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4080),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4081),
    [sym__variable] = STATE(4079),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5872),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5874),
    [anon_sym_yield] = ACTIONS(5876),
    [anon_sym_break] = ACTIONS(5878),
    [anon_sym_next] = ACTIONS(5880),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5882),
    [anon_sym_defined_QMARK] = ACTIONS(5884),
    [anon_sym_not] = ACTIONS(5886),
    [anon_sym_BANG] = ACTIONS(5888),
    [anon_sym_TILDE] = ACTIONS(5888),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4071] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(7326),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1886),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(7327),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1605),
    [sym__variable] = STATE(1602),
    [sym_reserved_identifier] = STATE(7328),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(7329),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(10010),
    [sym__splat_star] = ACTIONS(10012),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(2526),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2530),
    [anon_sym_yield] = ACTIONS(2532),
    [anon_sym_break] = ACTIONS(2534),
    [anon_sym_next] = ACTIONS(2536),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(544),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(2540),
    [anon_sym_not] = ACTIONS(2542),
    [anon_sym_BANG] = ACTIONS(5904),
    [anon_sym_TILDE] = ACTIONS(2544),
    [sym_constant] = ACTIONS(10014),
    [sym_identifier] = ACTIONS(10014),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4072] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(7326),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1892),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(7327),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1605),
    [sym__variable] = STATE(1602),
    [sym_reserved_identifier] = STATE(7328),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(7329),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(10010),
    [sym__splat_star] = ACTIONS(10012),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(2526),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2530),
    [anon_sym_yield] = ACTIONS(2532),
    [anon_sym_break] = ACTIONS(2534),
    [anon_sym_next] = ACTIONS(2536),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(604),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(2540),
    [anon_sym_not] = ACTIONS(2542),
    [anon_sym_BANG] = ACTIONS(5904),
    [anon_sym_TILDE] = ACTIONS(2544),
    [sym_constant] = ACTIONS(10014),
    [sym_identifier] = ACTIONS(10014),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4073] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(7326),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1893),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(7327),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1605),
    [sym__variable] = STATE(1602),
    [sym_reserved_identifier] = STATE(7328),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(7329),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(10010),
    [sym__splat_star] = ACTIONS(10012),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(2526),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2530),
    [anon_sym_yield] = ACTIONS(2532),
    [anon_sym_break] = ACTIONS(2534),
    [anon_sym_next] = ACTIONS(2536),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(608),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(2540),
    [anon_sym_not] = ACTIONS(2542),
    [anon_sym_BANG] = ACTIONS(5904),
    [anon_sym_TILDE] = ACTIONS(2544),
    [sym_constant] = ACTIONS(10014),
    [sym_identifier] = ACTIONS(10014),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4074] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(7326),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1894),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(7327),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1605),
    [sym__variable] = STATE(1602),
    [sym_reserved_identifier] = STATE(7328),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(7329),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(10010),
    [sym__splat_star] = ACTIONS(10012),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(2526),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2530),
    [anon_sym_yield] = ACTIONS(2532),
    [anon_sym_break] = ACTIONS(2534),
    [anon_sym_next] = ACTIONS(2536),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(612),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(2540),
    [anon_sym_not] = ACTIONS(2542),
    [anon_sym_BANG] = ACTIONS(5904),
    [anon_sym_TILDE] = ACTIONS(2544),
    [sym_constant] = ACTIONS(10014),
    [sym_identifier] = ACTIONS(10014),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4075] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(7330),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(4079),
    [sym_call] = STATE(4079),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4080),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4081),
    [sym__variable] = STATE(4079),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5872),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5874),
    [anon_sym_yield] = ACTIONS(5876),
    [anon_sym_break] = ACTIONS(5878),
    [anon_sym_next] = ACTIONS(5880),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5882),
    [anon_sym_defined_QMARK] = ACTIONS(5884),
    [anon_sym_not] = ACTIONS(5886),
    [anon_sym_BANG] = ACTIONS(5888),
    [anon_sym_TILDE] = ACTIONS(5888),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4076] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(7331),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(4079),
    [sym_call] = STATE(4079),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4080),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4081),
    [sym__variable] = STATE(4079),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5872),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5874),
    [anon_sym_yield] = ACTIONS(5876),
    [anon_sym_break] = ACTIONS(5878),
    [anon_sym_next] = ACTIONS(5880),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5882),
    [anon_sym_defined_QMARK] = ACTIONS(5884),
    [anon_sym_not] = ACTIONS(5886),
    [anon_sym_BANG] = ACTIONS(5888),
    [anon_sym_TILDE] = ACTIONS(5888),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4077] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(2988),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(4079),
    [sym_call] = STATE(4079),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4080),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4081),
    [sym__variable] = STATE(4079),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5872),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5874),
    [anon_sym_yield] = ACTIONS(5876),
    [anon_sym_break] = ACTIONS(5878),
    [anon_sym_next] = ACTIONS(5880),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5882),
    [anon_sym_defined_QMARK] = ACTIONS(5884),
    [anon_sym_not] = ACTIONS(5886),
    [anon_sym_BANG] = ACTIONS(5888),
    [anon_sym_TILDE] = ACTIONS(5888),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4078] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(10016),
    [sym__binary_star] = ACTIONS(10018),
    [anon_sym_LBRACE] = ACTIONS(5298),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(10020),
    [anon_sym_STAR_STAR] = ACTIONS(10022),
    [anon_sym_AMP] = ACTIONS(10024),
    [anon_sym_LT] = ACTIONS(10026),
    [anon_sym_in] = ACTIONS(5298),
    [anon_sym_do] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(10028),
    [anon_sym_DOT_DOT] = ACTIONS(10030),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10032),
    [anon_sym_and] = ACTIONS(10034),
    [anon_sym_or] = ACTIONS(10034),
    [anon_sym_PIPE_PIPE] = ACTIONS(10036),
    [anon_sym_AMP_AMP] = ACTIONS(10036),
    [anon_sym_LT_LT] = ACTIONS(10038),
    [anon_sym_GT_GT] = ACTIONS(10038),
    [anon_sym_EQ_EQ] = ACTIONS(10040),
    [anon_sym_BANG_EQ] = ACTIONS(10036),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10036),
    [anon_sym_LT_EQ_GT] = ACTIONS(10036),
    [anon_sym_EQ_TILDE] = ACTIONS(10036),
    [anon_sym_BANG_TILDE] = ACTIONS(10036),
    [anon_sym_LT_EQ] = ACTIONS(10026),
    [anon_sym_GT] = ACTIONS(10026),
    [anon_sym_GT_EQ] = ACTIONS(10042),
    [anon_sym_CARET] = ACTIONS(10044),
    [anon_sym_PLUS] = ACTIONS(10046),
    [anon_sym_SLASH] = ACTIONS(10022),
    [anon_sym_PERCENT] = ACTIONS(10022),
    [sym_comment] = ACTIONS(110),
  },
  [4079] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(7348),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(6712),
    [sym__argument_list_with_parens] = STATE(2959),
    [sym__argument] = STATE(7349),
    [sym_splat_argument] = STATE(2961),
    [sym_hash_splat_argument] = STATE(2961),
    [sym_block_argument] = STATE(2961),
    [sym_do_block] = STATE(2962),
    [sym_block] = STATE(2962),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4127),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4128),
    [sym__variable] = STATE(1602),
    [sym_reserved_identifier] = STATE(7350),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(7351),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(2961),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(10048),
    [sym__splat_star] = ACTIONS(10050),
    [sym__argument_list_left_paren] = ACTIONS(4330),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(5946),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(4334),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(5948),
    [anon_sym_yield] = ACTIONS(5950),
    [anon_sym_break] = ACTIONS(5952),
    [anon_sym_next] = ACTIONS(5954),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(982),
    [anon_sym_do] = ACTIONS(982),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(5956),
    [anon_sym_not] = ACTIONS(5958),
    [anon_sym_BANG] = ACTIONS(5960),
    [anon_sym_TILDE] = ACTIONS(5962),
    [sym_constant] = ACTIONS(10052),
    [sym_identifier] = ACTIONS(10052),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [4080] = {
    [anon_sym_EQ] = ACTIONS(10054),
    [sym_comment] = ACTIONS(256),
  },
  [4081] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(10056),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_in] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(10058),
    [anon_sym_DASH_EQ] = ACTIONS(10058),
    [anon_sym_STAR_EQ] = ACTIONS(10058),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(10058),
    [anon_sym_SLASH_EQ] = ACTIONS(10058),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(10058),
    [anon_sym_PIPE_EQ] = ACTIONS(10058),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(10058),
    [anon_sym_AMP_EQ] = ACTIONS(10058),
    [anon_sym_PERCENT_EQ] = ACTIONS(10058),
    [anon_sym_GT_GT_EQ] = ACTIONS(10058),
    [anon_sym_LT_LT_EQ] = ACTIONS(10058),
    [anon_sym_CARET_EQ] = ACTIONS(10058),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [4082] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(10016),
    [sym__binary_star] = ACTIONS(10018),
    [anon_sym_LBRACE] = ACTIONS(5338),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(10020),
    [anon_sym_STAR_STAR] = ACTIONS(10022),
    [anon_sym_AMP] = ACTIONS(10024),
    [anon_sym_LT] = ACTIONS(10026),
    [anon_sym_in] = ACTIONS(5338),
    [anon_sym_do] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(10028),
    [anon_sym_DOT_DOT] = ACTIONS(10030),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10032),
    [anon_sym_and] = ACTIONS(10034),
    [anon_sym_or] = ACTIONS(10034),
    [anon_sym_PIPE_PIPE] = ACTIONS(10036),
    [anon_sym_AMP_AMP] = ACTIONS(10036),
    [anon_sym_LT_LT] = ACTIONS(10038),
    [anon_sym_GT_GT] = ACTIONS(10038),
    [anon_sym_EQ_EQ] = ACTIONS(10040),
    [anon_sym_BANG_EQ] = ACTIONS(10036),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10036),
    [anon_sym_LT_EQ_GT] = ACTIONS(10036),
    [anon_sym_EQ_TILDE] = ACTIONS(10036),
    [anon_sym_BANG_TILDE] = ACTIONS(10036),
    [anon_sym_LT_EQ] = ACTIONS(10026),
    [anon_sym_GT] = ACTIONS(10026),
    [anon_sym_GT_EQ] = ACTIONS(10042),
    [anon_sym_CARET] = ACTIONS(10044),
    [anon_sym_PLUS] = ACTIONS(10046),
    [anon_sym_SLASH] = ACTIONS(10022),
    [anon_sym_PERCENT] = ACTIONS(10022),
    [sym_comment] = ACTIONS(110),
  },
  [4083] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(4093),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1886),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(4094),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1605),
    [sym__variable] = STATE(1602),
    [sym_reserved_identifier] = STATE(4095),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(4096),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(5900),
    [sym__splat_star] = ACTIONS(5902),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(2526),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2530),
    [anon_sym_yield] = ACTIONS(2532),
    [anon_sym_break] = ACTIONS(2534),
    [anon_sym_next] = ACTIONS(2536),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(544),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(2540),
    [anon_sym_not] = ACTIONS(2542),
    [anon_sym_BANG] = ACTIONS(5904),
    [anon_sym_TILDE] = ACTIONS(2544),
    [sym_constant] = ACTIONS(5906),
    [sym_identifier] = ACTIONS(5906),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4084] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(4093),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1892),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(4094),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1605),
    [sym__variable] = STATE(1602),
    [sym_reserved_identifier] = STATE(4095),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(4096),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(5900),
    [sym__splat_star] = ACTIONS(5902),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(2526),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2530),
    [anon_sym_yield] = ACTIONS(2532),
    [anon_sym_break] = ACTIONS(2534),
    [anon_sym_next] = ACTIONS(2536),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(604),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(2540),
    [anon_sym_not] = ACTIONS(2542),
    [anon_sym_BANG] = ACTIONS(5904),
    [anon_sym_TILDE] = ACTIONS(2544),
    [sym_constant] = ACTIONS(5906),
    [sym_identifier] = ACTIONS(5906),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4085] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(4093),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1893),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(4094),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1605),
    [sym__variable] = STATE(1602),
    [sym_reserved_identifier] = STATE(4095),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(4096),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(5900),
    [sym__splat_star] = ACTIONS(5902),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(2526),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2530),
    [anon_sym_yield] = ACTIONS(2532),
    [anon_sym_break] = ACTIONS(2534),
    [anon_sym_next] = ACTIONS(2536),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(608),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(2540),
    [anon_sym_not] = ACTIONS(2542),
    [anon_sym_BANG] = ACTIONS(5904),
    [anon_sym_TILDE] = ACTIONS(2544),
    [sym_constant] = ACTIONS(5906),
    [sym_identifier] = ACTIONS(5906),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4086] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(4093),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1894),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(4094),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1605),
    [sym__variable] = STATE(1602),
    [sym_reserved_identifier] = STATE(4095),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(4096),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(5900),
    [sym__splat_star] = ACTIONS(5902),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(2526),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2530),
    [anon_sym_yield] = ACTIONS(2532),
    [anon_sym_break] = ACTIONS(2534),
    [anon_sym_next] = ACTIONS(2536),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(612),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(2540),
    [anon_sym_not] = ACTIONS(2542),
    [anon_sym_BANG] = ACTIONS(5904),
    [anon_sym_TILDE] = ACTIONS(2544),
    [sym_constant] = ACTIONS(5906),
    [sym_identifier] = ACTIONS(5906),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4087] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_LBRACE] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_STAR_STAR] = ACTIONS(5916),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_in] = ACTIONS(1372),
    [anon_sym_do] = ACTIONS(1372),
    [anon_sym_EQ_GT] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [4088] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(10016),
    [sym__binary_star] = ACTIONS(10018),
    [anon_sym_LBRACE] = ACTIONS(4284),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(10020),
    [anon_sym_STAR_STAR] = ACTIONS(10022),
    [anon_sym_AMP] = ACTIONS(10024),
    [anon_sym_LT] = ACTIONS(10026),
    [anon_sym_in] = ACTIONS(4284),
    [anon_sym_do] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(10028),
    [anon_sym_DOT_DOT] = ACTIONS(10030),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10032),
    [anon_sym_and] = ACTIONS(10034),
    [anon_sym_or] = ACTIONS(10034),
    [anon_sym_PIPE_PIPE] = ACTIONS(10036),
    [anon_sym_AMP_AMP] = ACTIONS(10036),
    [anon_sym_LT_LT] = ACTIONS(10038),
    [anon_sym_GT_GT] = ACTIONS(10038),
    [anon_sym_EQ_EQ] = ACTIONS(10040),
    [anon_sym_BANG_EQ] = ACTIONS(10036),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10036),
    [anon_sym_LT_EQ_GT] = ACTIONS(10036),
    [anon_sym_EQ_TILDE] = ACTIONS(10036),
    [anon_sym_BANG_TILDE] = ACTIONS(10036),
    [anon_sym_LT_EQ] = ACTIONS(10026),
    [anon_sym_GT] = ACTIONS(10026),
    [anon_sym_GT_EQ] = ACTIONS(10042),
    [anon_sym_CARET] = ACTIONS(10044),
    [anon_sym_PLUS] = ACTIONS(10046),
    [anon_sym_SLASH] = ACTIONS(10022),
    [anon_sym_PERCENT] = ACTIONS(10022),
    [sym_comment] = ACTIONS(110),
  },
  [4089] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(7354),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1605),
    [sym__variable] = STATE(1602),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2526),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5890),
    [anon_sym_yield] = ACTIONS(5892),
    [anon_sym_break] = ACTIONS(5894),
    [anon_sym_next] = ACTIONS(5896),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2538),
    [anon_sym_defined_QMARK] = ACTIONS(2540),
    [anon_sym_not] = ACTIONS(5898),
    [anon_sym_BANG] = ACTIONS(2544),
    [anon_sym_TILDE] = ACTIONS(2544),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4090] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(7355),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1605),
    [sym__variable] = STATE(1602),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2526),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5890),
    [anon_sym_yield] = ACTIONS(5892),
    [anon_sym_break] = ACTIONS(5894),
    [anon_sym_next] = ACTIONS(5896),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2538),
    [anon_sym_defined_QMARK] = ACTIONS(2540),
    [anon_sym_not] = ACTIONS(5898),
    [anon_sym_BANG] = ACTIONS(2544),
    [anon_sym_TILDE] = ACTIONS(2544),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4091] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(7356),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1605),
    [sym__variable] = STATE(1602),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2526),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5890),
    [anon_sym_yield] = ACTIONS(5892),
    [anon_sym_break] = ACTIONS(5894),
    [anon_sym_next] = ACTIONS(5896),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2538),
    [anon_sym_defined_QMARK] = ACTIONS(2540),
    [anon_sym_not] = ACTIONS(5898),
    [anon_sym_BANG] = ACTIONS(2544),
    [anon_sym_TILDE] = ACTIONS(2544),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4092] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(10060),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [4093] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(5910),
    [sym__binary_star] = ACTIONS(5912),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(5914),
    [anon_sym_STAR_STAR] = ACTIONS(5916),
    [anon_sym_AMP] = ACTIONS(5918),
    [anon_sym_LT] = ACTIONS(5920),
    [anon_sym_in] = ACTIONS(2210),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(5922),
    [anon_sym_DOT_DOT] = ACTIONS(5924),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5926),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(5930),
    [anon_sym_AMP_AMP] = ACTIONS(5930),
    [anon_sym_LT_LT] = ACTIONS(5932),
    [anon_sym_GT_GT] = ACTIONS(5932),
    [anon_sym_EQ_EQ] = ACTIONS(5934),
    [anon_sym_BANG_EQ] = ACTIONS(5930),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5930),
    [anon_sym_LT_EQ_GT] = ACTIONS(5930),
    [anon_sym_EQ_TILDE] = ACTIONS(5930),
    [anon_sym_BANG_TILDE] = ACTIONS(5930),
    [anon_sym_LT_EQ] = ACTIONS(5920),
    [anon_sym_GT] = ACTIONS(5920),
    [anon_sym_GT_EQ] = ACTIONS(5936),
    [anon_sym_CARET] = ACTIONS(5938),
    [anon_sym_PLUS] = ACTIONS(5940),
    [anon_sym_SLASH] = ACTIONS(5916),
    [anon_sym_PERCENT] = ACTIONS(5916),
    [sym_comment] = ACTIONS(110),
  },
  [4094] = {
    [sym_heredoc_end] = STATE(3004),
    [aux_sym_argument_list_repeat1] = STATE(7359),
    [aux_sym_argument_list_repeat2] = STATE(3005),
    [sym__simple_heredoc_body] = ACTIONS(4410),
    [sym__heredoc_body_beginning] = ACTIONS(4412),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(10062),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_STAR_STAR] = ACTIONS(2272),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_in] = ACTIONS(2272),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_EQ_GT] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2272),
    [anon_sym_AMP_AMP] = ACTIONS(2272),
    [anon_sym_LT_LT] = ACTIONS(2272),
    [anon_sym_GT_GT] = ACTIONS(2272),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2272),
    [anon_sym_PLUS] = ACTIONS(2272),
    [anon_sym_SLASH] = ACTIONS(2272),
    [anon_sym_PERCENT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(110),
  },
  [4095] = {
    [sym__keyword_colon] = ACTIONS(10064),
    [sym_comment] = ACTIONS(110),
  },
  [4096] = {
    [sym_string] = STATE(1962),
    [aux_sym_chained_string_repeat1] = STATE(1963),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(10060),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_in] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(1626),
  },
  [4097] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(5916),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_in] = ACTIONS(2870),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [4098] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(5910),
    [sym__binary_star] = ACTIONS(5912),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(5914),
    [anon_sym_STAR_STAR] = ACTIONS(5916),
    [anon_sym_AMP] = ACTIONS(5918),
    [anon_sym_LT] = ACTIONS(5920),
    [anon_sym_in] = ACTIONS(2870),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(5922),
    [anon_sym_DOT_DOT] = ACTIONS(5924),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5926),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(5930),
    [anon_sym_AMP_AMP] = ACTIONS(5930),
    [anon_sym_LT_LT] = ACTIONS(5932),
    [anon_sym_GT_GT] = ACTIONS(5932),
    [anon_sym_EQ_EQ] = ACTIONS(5934),
    [anon_sym_BANG_EQ] = ACTIONS(5930),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5930),
    [anon_sym_LT_EQ_GT] = ACTIONS(5930),
    [anon_sym_EQ_TILDE] = ACTIONS(5930),
    [anon_sym_BANG_TILDE] = ACTIONS(5930),
    [anon_sym_LT_EQ] = ACTIONS(5920),
    [anon_sym_GT] = ACTIONS(5920),
    [anon_sym_GT_EQ] = ACTIONS(5936),
    [anon_sym_CARET] = ACTIONS(5938),
    [anon_sym_PLUS] = ACTIONS(5940),
    [anon_sym_SLASH] = ACTIONS(5916),
    [anon_sym_PERCENT] = ACTIONS(5916),
    [sym_comment] = ACTIONS(110),
  },
  [4099] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(7361),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(4079),
    [sym_call] = STATE(4079),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4080),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4081),
    [sym__variable] = STATE(4079),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5872),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5874),
    [anon_sym_yield] = ACTIONS(5876),
    [anon_sym_break] = ACTIONS(5878),
    [anon_sym_next] = ACTIONS(5880),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5882),
    [anon_sym_defined_QMARK] = ACTIONS(5884),
    [anon_sym_not] = ACTIONS(5886),
    [anon_sym_BANG] = ACTIONS(5888),
    [anon_sym_TILDE] = ACTIONS(5888),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4100] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(7362),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1605),
    [sym__variable] = STATE(1602),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2526),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5890),
    [anon_sym_yield] = ACTIONS(5892),
    [anon_sym_break] = ACTIONS(5894),
    [anon_sym_next] = ACTIONS(5896),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2538),
    [anon_sym_defined_QMARK] = ACTIONS(2540),
    [anon_sym_not] = ACTIONS(5898),
    [anon_sym_BANG] = ACTIONS(2544),
    [anon_sym_TILDE] = ACTIONS(2544),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4101] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(7363),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1605),
    [sym__variable] = STATE(1602),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2526),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5890),
    [anon_sym_yield] = ACTIONS(5892),
    [anon_sym_break] = ACTIONS(5894),
    [anon_sym_next] = ACTIONS(5896),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2538),
    [anon_sym_defined_QMARK] = ACTIONS(2540),
    [anon_sym_not] = ACTIONS(5898),
    [anon_sym_BANG] = ACTIONS(2544),
    [anon_sym_TILDE] = ACTIONS(2544),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4102] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(7364),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1605),
    [sym__variable] = STATE(1602),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2526),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5890),
    [anon_sym_yield] = ACTIONS(5892),
    [anon_sym_break] = ACTIONS(5894),
    [anon_sym_next] = ACTIONS(5896),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2538),
    [anon_sym_defined_QMARK] = ACTIONS(2540),
    [anon_sym_not] = ACTIONS(5898),
    [anon_sym_BANG] = ACTIONS(2544),
    [anon_sym_TILDE] = ACTIONS(2544),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4103] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(7365),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1605),
    [sym__variable] = STATE(1602),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2526),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5890),
    [anon_sym_yield] = ACTIONS(5892),
    [anon_sym_break] = ACTIONS(5894),
    [anon_sym_next] = ACTIONS(5896),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2538),
    [anon_sym_defined_QMARK] = ACTIONS(2540),
    [anon_sym_not] = ACTIONS(5898),
    [anon_sym_BANG] = ACTIONS(2544),
    [anon_sym_TILDE] = ACTIONS(2544),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4104] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(7366),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1605),
    [sym__variable] = STATE(1602),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2526),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5890),
    [anon_sym_yield] = ACTIONS(5892),
    [anon_sym_break] = ACTIONS(5894),
    [anon_sym_next] = ACTIONS(5896),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2538),
    [anon_sym_defined_QMARK] = ACTIONS(2540),
    [anon_sym_not] = ACTIONS(5898),
    [anon_sym_BANG] = ACTIONS(2544),
    [anon_sym_TILDE] = ACTIONS(2544),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4105] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(7367),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1605),
    [sym__variable] = STATE(1602),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2526),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5890),
    [anon_sym_yield] = ACTIONS(5892),
    [anon_sym_break] = ACTIONS(5894),
    [anon_sym_next] = ACTIONS(5896),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2538),
    [anon_sym_defined_QMARK] = ACTIONS(2540),
    [anon_sym_not] = ACTIONS(5898),
    [anon_sym_BANG] = ACTIONS(2544),
    [anon_sym_TILDE] = ACTIONS(2544),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4106] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(7368),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [4107] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(7369),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1605),
    [sym__variable] = STATE(1602),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2526),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5890),
    [anon_sym_yield] = ACTIONS(5892),
    [anon_sym_break] = ACTIONS(5894),
    [anon_sym_next] = ACTIONS(5896),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2538),
    [anon_sym_defined_QMARK] = ACTIONS(2540),
    [anon_sym_not] = ACTIONS(5898),
    [anon_sym_BANG] = ACTIONS(2544),
    [anon_sym_TILDE] = ACTIONS(2544),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4108] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(7370),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1605),
    [sym__variable] = STATE(1602),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2526),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5890),
    [anon_sym_yield] = ACTIONS(5892),
    [anon_sym_break] = ACTIONS(5894),
    [anon_sym_next] = ACTIONS(5896),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2538),
    [anon_sym_defined_QMARK] = ACTIONS(2540),
    [anon_sym_not] = ACTIONS(5898),
    [anon_sym_BANG] = ACTIONS(2544),
    [anon_sym_TILDE] = ACTIONS(2544),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4109] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(7371),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1605),
    [sym__variable] = STATE(1602),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2526),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5890),
    [anon_sym_yield] = ACTIONS(5892),
    [anon_sym_break] = ACTIONS(5894),
    [anon_sym_next] = ACTIONS(5896),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2538),
    [anon_sym_defined_QMARK] = ACTIONS(2540),
    [anon_sym_not] = ACTIONS(5898),
    [anon_sym_BANG] = ACTIONS(2544),
    [anon_sym_TILDE] = ACTIONS(2544),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4110] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(7372),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1605),
    [sym__variable] = STATE(1602),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2526),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5890),
    [anon_sym_yield] = ACTIONS(5892),
    [anon_sym_break] = ACTIONS(5894),
    [anon_sym_next] = ACTIONS(5896),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2538),
    [anon_sym_defined_QMARK] = ACTIONS(2540),
    [anon_sym_not] = ACTIONS(5898),
    [anon_sym_BANG] = ACTIONS(2544),
    [anon_sym_TILDE] = ACTIONS(2544),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4111] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(7373),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1605),
    [sym__variable] = STATE(1602),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2526),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5890),
    [anon_sym_yield] = ACTIONS(5892),
    [anon_sym_break] = ACTIONS(5894),
    [anon_sym_next] = ACTIONS(5896),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2538),
    [anon_sym_defined_QMARK] = ACTIONS(2540),
    [anon_sym_not] = ACTIONS(5898),
    [anon_sym_BANG] = ACTIONS(2544),
    [anon_sym_TILDE] = ACTIONS(2544),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4112] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(7378),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4127),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4128),
    [sym__variable] = STATE(1602),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(5946),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(10066),
    [anon_sym_yield] = ACTIONS(10068),
    [anon_sym_break] = ACTIONS(10070),
    [anon_sym_next] = ACTIONS(10072),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(10074),
    [anon_sym_defined_QMARK] = ACTIONS(5956),
    [anon_sym_not] = ACTIONS(10076),
    [anon_sym_BANG] = ACTIONS(5962),
    [anon_sym_TILDE] = ACTIONS(5962),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [4113] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(7379),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4127),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4128),
    [sym__variable] = STATE(1602),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(5946),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(10066),
    [anon_sym_yield] = ACTIONS(10068),
    [anon_sym_break] = ACTIONS(10070),
    [anon_sym_next] = ACTIONS(10072),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(10074),
    [anon_sym_defined_QMARK] = ACTIONS(5956),
    [anon_sym_not] = ACTIONS(10076),
    [anon_sym_BANG] = ACTIONS(5962),
    [anon_sym_TILDE] = ACTIONS(5962),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [4114] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(7380),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4127),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4128),
    [sym__variable] = STATE(1602),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(5946),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(10066),
    [anon_sym_yield] = ACTIONS(10068),
    [anon_sym_break] = ACTIONS(10070),
    [anon_sym_next] = ACTIONS(10072),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(10074),
    [anon_sym_defined_QMARK] = ACTIONS(5956),
    [anon_sym_not] = ACTIONS(10076),
    [anon_sym_BANG] = ACTIONS(5962),
    [anon_sym_TILDE] = ACTIONS(5962),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [4115] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(7381),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4127),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4128),
    [sym__variable] = STATE(1602),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(5946),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(10066),
    [anon_sym_yield] = ACTIONS(10068),
    [anon_sym_break] = ACTIONS(10070),
    [anon_sym_next] = ACTIONS(10072),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(10074),
    [anon_sym_defined_QMARK] = ACTIONS(5956),
    [anon_sym_not] = ACTIONS(10076),
    [anon_sym_BANG] = ACTIONS(5962),
    [anon_sym_TILDE] = ACTIONS(5962),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [4116] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(4125),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(3104),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(4126),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4127),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4128),
    [sym__variable] = STATE(1602),
    [sym_reserved_identifier] = STATE(4129),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(4130),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(5942),
    [sym__splat_star] = ACTIONS(5944),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(5946),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(544),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(5948),
    [anon_sym_yield] = ACTIONS(5950),
    [anon_sym_break] = ACTIONS(5952),
    [anon_sym_next] = ACTIONS(5954),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(544),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_PLUS_EQ] = ACTIONS(532),
    [anon_sym_DASH_EQ] = ACTIONS(532),
    [anon_sym_STAR_EQ] = ACTIONS(532),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(532),
    [anon_sym_SLASH_EQ] = ACTIONS(532),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(532),
    [anon_sym_PIPE_EQ] = ACTIONS(532),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(532),
    [anon_sym_AMP_EQ] = ACTIONS(532),
    [anon_sym_PERCENT_EQ] = ACTIONS(532),
    [anon_sym_GT_GT_EQ] = ACTIONS(532),
    [anon_sym_LT_LT_EQ] = ACTIONS(532),
    [anon_sym_CARET_EQ] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(544),
    [anon_sym_AMP_AMP] = ACTIONS(544),
    [anon_sym_LT_LT] = ACTIONS(544),
    [anon_sym_GT_GT] = ACTIONS(544),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(544),
    [anon_sym_PERCENT] = ACTIONS(544),
    [anon_sym_defined_QMARK] = ACTIONS(5956),
    [anon_sym_not] = ACTIONS(5958),
    [anon_sym_BANG] = ACTIONS(5960),
    [anon_sym_TILDE] = ACTIONS(5962),
    [sym_constant] = ACTIONS(5964),
    [sym_identifier] = ACTIONS(5964),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [4117] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(4125),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(3105),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(4126),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4127),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4128),
    [sym__variable] = STATE(1602),
    [sym_reserved_identifier] = STATE(4129),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(4130),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(5942),
    [sym__splat_star] = ACTIONS(5944),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(5946),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(604),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(5948),
    [anon_sym_yield] = ACTIONS(5950),
    [anon_sym_break] = ACTIONS(5952),
    [anon_sym_next] = ACTIONS(5954),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(604),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_PLUS_EQ] = ACTIONS(602),
    [anon_sym_DASH_EQ] = ACTIONS(602),
    [anon_sym_STAR_EQ] = ACTIONS(602),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(602),
    [anon_sym_SLASH_EQ] = ACTIONS(602),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(602),
    [anon_sym_PIPE_EQ] = ACTIONS(602),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(602),
    [anon_sym_AMP_EQ] = ACTIONS(602),
    [anon_sym_PERCENT_EQ] = ACTIONS(602),
    [anon_sym_GT_GT_EQ] = ACTIONS(602),
    [anon_sym_LT_LT_EQ] = ACTIONS(602),
    [anon_sym_CARET_EQ] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(604),
    [anon_sym_AMP_AMP] = ACTIONS(604),
    [anon_sym_LT_LT] = ACTIONS(604),
    [anon_sym_GT_GT] = ACTIONS(604),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(604),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(604),
    [anon_sym_PERCENT] = ACTIONS(604),
    [anon_sym_defined_QMARK] = ACTIONS(5956),
    [anon_sym_not] = ACTIONS(5958),
    [anon_sym_BANG] = ACTIONS(5960),
    [anon_sym_TILDE] = ACTIONS(5962),
    [sym_constant] = ACTIONS(5964),
    [sym_identifier] = ACTIONS(5964),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [4118] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(4125),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(3106),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(4126),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4127),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4128),
    [sym__variable] = STATE(1602),
    [sym_reserved_identifier] = STATE(4129),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(4130),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(5942),
    [sym__splat_star] = ACTIONS(5944),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(5946),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(608),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(5948),
    [anon_sym_yield] = ACTIONS(5950),
    [anon_sym_break] = ACTIONS(5952),
    [anon_sym_next] = ACTIONS(5954),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(608),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_PLUS_EQ] = ACTIONS(606),
    [anon_sym_DASH_EQ] = ACTIONS(606),
    [anon_sym_STAR_EQ] = ACTIONS(606),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(606),
    [anon_sym_SLASH_EQ] = ACTIONS(606),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(606),
    [anon_sym_PIPE_EQ] = ACTIONS(606),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(606),
    [anon_sym_AMP_EQ] = ACTIONS(606),
    [anon_sym_PERCENT_EQ] = ACTIONS(606),
    [anon_sym_GT_GT_EQ] = ACTIONS(606),
    [anon_sym_LT_LT_EQ] = ACTIONS(606),
    [anon_sym_CARET_EQ] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(608),
    [anon_sym_AMP_AMP] = ACTIONS(608),
    [anon_sym_LT_LT] = ACTIONS(608),
    [anon_sym_GT_GT] = ACTIONS(608),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(608),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(608),
    [anon_sym_PERCENT] = ACTIONS(608),
    [anon_sym_defined_QMARK] = ACTIONS(5956),
    [anon_sym_not] = ACTIONS(5958),
    [anon_sym_BANG] = ACTIONS(5960),
    [anon_sym_TILDE] = ACTIONS(5962),
    [sym_constant] = ACTIONS(5964),
    [sym_identifier] = ACTIONS(5964),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [4119] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(4125),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(3107),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(4126),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4127),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4128),
    [sym__variable] = STATE(1602),
    [sym_reserved_identifier] = STATE(4129),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(4130),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(5942),
    [sym__splat_star] = ACTIONS(5944),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(5946),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(612),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(5948),
    [anon_sym_yield] = ACTIONS(5950),
    [anon_sym_break] = ACTIONS(5952),
    [anon_sym_next] = ACTIONS(5954),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(612),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_PLUS_EQ] = ACTIONS(610),
    [anon_sym_DASH_EQ] = ACTIONS(610),
    [anon_sym_STAR_EQ] = ACTIONS(610),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(610),
    [anon_sym_SLASH_EQ] = ACTIONS(610),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(610),
    [anon_sym_PIPE_EQ] = ACTIONS(610),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(610),
    [anon_sym_AMP_EQ] = ACTIONS(610),
    [anon_sym_PERCENT_EQ] = ACTIONS(610),
    [anon_sym_GT_GT_EQ] = ACTIONS(610),
    [anon_sym_LT_LT_EQ] = ACTIONS(610),
    [anon_sym_CARET_EQ] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(612),
    [anon_sym_AMP_AMP] = ACTIONS(612),
    [anon_sym_LT_LT] = ACTIONS(612),
    [anon_sym_GT_GT] = ACTIONS(612),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(612),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(612),
    [anon_sym_PERCENT] = ACTIONS(612),
    [anon_sym_defined_QMARK] = ACTIONS(5956),
    [anon_sym_not] = ACTIONS(5958),
    [anon_sym_BANG] = ACTIONS(5960),
    [anon_sym_TILDE] = ACTIONS(5962),
    [sym_constant] = ACTIONS(5964),
    [sym_identifier] = ACTIONS(5964),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [4120] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(7382),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4127),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4128),
    [sym__variable] = STATE(1602),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(5946),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(10066),
    [anon_sym_yield] = ACTIONS(10068),
    [anon_sym_break] = ACTIONS(10070),
    [anon_sym_next] = ACTIONS(10072),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(10074),
    [anon_sym_defined_QMARK] = ACTIONS(5956),
    [anon_sym_not] = ACTIONS(10076),
    [anon_sym_BANG] = ACTIONS(5962),
    [anon_sym_TILDE] = ACTIONS(5962),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [4121] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(7383),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4127),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4128),
    [sym__variable] = STATE(1602),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(5946),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(10066),
    [anon_sym_yield] = ACTIONS(10068),
    [anon_sym_break] = ACTIONS(10070),
    [anon_sym_next] = ACTIONS(10072),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(10074),
    [anon_sym_defined_QMARK] = ACTIONS(5956),
    [anon_sym_not] = ACTIONS(10076),
    [anon_sym_BANG] = ACTIONS(5962),
    [anon_sym_TILDE] = ACTIONS(5962),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [4122] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(7383),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4127),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4128),
    [sym__variable] = STATE(1602),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(5946),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(10066),
    [anon_sym_yield] = ACTIONS(10068),
    [anon_sym_break] = ACTIONS(10070),
    [anon_sym_next] = ACTIONS(10072),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(10074),
    [anon_sym_defined_QMARK] = ACTIONS(5956),
    [anon_sym_not] = ACTIONS(10076),
    [anon_sym_BANG] = ACTIONS(5962),
    [anon_sym_TILDE] = ACTIONS(5962),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [4123] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(3125),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4127),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4128),
    [sym__variable] = STATE(1602),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(5946),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(10066),
    [anon_sym_yield] = ACTIONS(10068),
    [anon_sym_break] = ACTIONS(10070),
    [anon_sym_next] = ACTIONS(10072),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(10074),
    [anon_sym_defined_QMARK] = ACTIONS(5956),
    [anon_sym_not] = ACTIONS(10076),
    [anon_sym_BANG] = ACTIONS(5962),
    [anon_sym_TILDE] = ACTIONS(5962),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [4124] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(10078),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [4125] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(10080),
    [sym__binary_star] = ACTIONS(10082),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(10084),
    [anon_sym_STAR_STAR] = ACTIONS(10086),
    [anon_sym_AMP] = ACTIONS(10088),
    [anon_sym_EQ] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(10090),
    [anon_sym_in] = ACTIONS(2210),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_PLUS_EQ] = ACTIONS(2210),
    [anon_sym_DASH_EQ] = ACTIONS(2210),
    [anon_sym_STAR_EQ] = ACTIONS(2210),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2210),
    [anon_sym_SLASH_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2210),
    [anon_sym_AMP_EQ] = ACTIONS(2210),
    [anon_sym_PERCENT_EQ] = ACTIONS(2210),
    [anon_sym_GT_GT_EQ] = ACTIONS(2210),
    [anon_sym_LT_LT_EQ] = ACTIONS(2210),
    [anon_sym_CARET_EQ] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(10092),
    [anon_sym_DOT_DOT] = ACTIONS(10094),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10096),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(10098),
    [anon_sym_AMP_AMP] = ACTIONS(10098),
    [anon_sym_LT_LT] = ACTIONS(10100),
    [anon_sym_GT_GT] = ACTIONS(10100),
    [anon_sym_EQ_EQ] = ACTIONS(10098),
    [anon_sym_BANG_EQ] = ACTIONS(10102),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10102),
    [anon_sym_LT_EQ_GT] = ACTIONS(10102),
    [anon_sym_EQ_TILDE] = ACTIONS(10102),
    [anon_sym_BANG_TILDE] = ACTIONS(10102),
    [anon_sym_LT_EQ] = ACTIONS(10090),
    [anon_sym_GT] = ACTIONS(10090),
    [anon_sym_GT_EQ] = ACTIONS(10104),
    [anon_sym_CARET] = ACTIONS(10084),
    [anon_sym_PLUS] = ACTIONS(10106),
    [anon_sym_SLASH] = ACTIONS(10086),
    [anon_sym_PERCENT] = ACTIONS(10086),
    [sym_comment] = ACTIONS(256),
  },
  [4126] = {
    [sym_heredoc_end] = STATE(3153),
    [aux_sym_argument_list_repeat1] = STATE(7398),
    [aux_sym_argument_list_repeat2] = STATE(3154),
    [sym__simple_heredoc_body] = ACTIONS(4552),
    [sym__heredoc_body_beginning] = ACTIONS(4554),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(10108),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_STAR_STAR] = ACTIONS(2274),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_EQ] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_in] = ACTIONS(2272),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_EQ_GT] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_PLUS_EQ] = ACTIONS(2272),
    [anon_sym_DASH_EQ] = ACTIONS(2272),
    [anon_sym_STAR_EQ] = ACTIONS(2272),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2272),
    [anon_sym_SLASH_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2272),
    [anon_sym_AMP_EQ] = ACTIONS(2272),
    [anon_sym_PERCENT_EQ] = ACTIONS(2272),
    [anon_sym_GT_GT_EQ] = ACTIONS(2272),
    [anon_sym_LT_LT_EQ] = ACTIONS(2272),
    [anon_sym_CARET_EQ] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2274),
    [anon_sym_AMP_AMP] = ACTIONS(2274),
    [anon_sym_LT_LT] = ACTIONS(2274),
    [anon_sym_GT_GT] = ACTIONS(2274),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2274),
    [anon_sym_PLUS] = ACTIONS(2274),
    [anon_sym_SLASH] = ACTIONS(2274),
    [anon_sym_PERCENT] = ACTIONS(2274),
    [sym_comment] = ACTIONS(256),
  },
  [4127] = {
    [anon_sym_EQ] = ACTIONS(10110),
    [sym_comment] = ACTIONS(256),
  },
  [4128] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(10112),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_in] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(10114),
    [anon_sym_DASH_EQ] = ACTIONS(10114),
    [anon_sym_STAR_EQ] = ACTIONS(10114),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(10114),
    [anon_sym_SLASH_EQ] = ACTIONS(10114),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(10114),
    [anon_sym_PIPE_EQ] = ACTIONS(10114),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(10114),
    [anon_sym_AMP_EQ] = ACTIONS(10114),
    [anon_sym_PERCENT_EQ] = ACTIONS(10114),
    [anon_sym_GT_GT_EQ] = ACTIONS(10114),
    [anon_sym_LT_LT_EQ] = ACTIONS(10114),
    [anon_sym_CARET_EQ] = ACTIONS(10114),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [4129] = {
    [sym__keyword_colon] = ACTIONS(10116),
    [sym_comment] = ACTIONS(110),
  },
  [4130] = {
    [sym_string] = STATE(3160),
    [aux_sym_chained_string_repeat1] = STATE(3161),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(10078),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_in] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(4490),
  },
  [4131] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1601),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(6607),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1605),
    [sym__variable] = STATE(1602),
    [sym_reserved_identifier] = STATE(1606),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1607),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(7402),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(2522),
    [sym__splat_star] = ACTIONS(2524),
    [sym__unary_minus] = ACTIONS(2526),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2528),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2530),
    [anon_sym_yield] = ACTIONS(2532),
    [anon_sym_break] = ACTIONS(2534),
    [anon_sym_next] = ACTIONS(2536),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2538),
    [anon_sym_defined_QMARK] = ACTIONS(2540),
    [anon_sym_not] = ACTIONS(2542),
    [anon_sym_BANG] = ACTIONS(2544),
    [anon_sym_TILDE] = ACTIONS(2544),
    [sym_constant] = ACTIONS(2546),
    [sym_identifier] = ACTIONS(2546),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4132] = {
    [sym_heredoc_end] = STATE(3448),
    [aux_sym_argument_list_repeat2] = STATE(6610),
    [sym__simple_heredoc_body] = ACTIONS(4968),
    [sym__heredoc_body_beginning] = ACTIONS(4970),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [anon_sym_LBRACE] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5472),
    [anon_sym_COMMA] = ACTIONS(10118),
    [anon_sym_in] = ACTIONS(5472),
    [anon_sym_do] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [sym_comment] = ACTIONS(110),
  },
  [4133] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(7404),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_splat_argument] = STATE(6132),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_right_assignment_list] = STATE(6133),
    [sym__arg_or_splat_arg] = STATE(7405),
    [sym_left_assignment_list] = STATE(1604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1605),
    [sym__variable] = STATE(1602),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__splat_star] = ACTIONS(5902),
    [sym__unary_minus] = ACTIONS(2526),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5890),
    [anon_sym_yield] = ACTIONS(5892),
    [anon_sym_break] = ACTIONS(5894),
    [anon_sym_next] = ACTIONS(5896),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2538),
    [anon_sym_defined_QMARK] = ACTIONS(2540),
    [anon_sym_not] = ACTIONS(5898),
    [anon_sym_BANG] = ACTIONS(2544),
    [anon_sym_TILDE] = ACTIONS(2544),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4134] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(7406),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1605),
    [sym__variable] = STATE(1602),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2526),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5890),
    [anon_sym_yield] = ACTIONS(5892),
    [anon_sym_break] = ACTIONS(5894),
    [anon_sym_next] = ACTIONS(5896),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2538),
    [anon_sym_defined_QMARK] = ACTIONS(2540),
    [anon_sym_not] = ACTIONS(5898),
    [anon_sym_BANG] = ACTIONS(2544),
    [anon_sym_TILDE] = ACTIONS(2544),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4135] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(7407),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(4079),
    [sym_call] = STATE(4079),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4080),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4081),
    [sym__variable] = STATE(4079),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5872),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5874),
    [anon_sym_yield] = ACTIONS(5876),
    [anon_sym_break] = ACTIONS(5878),
    [anon_sym_next] = ACTIONS(5880),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5882),
    [anon_sym_defined_QMARK] = ACTIONS(5884),
    [anon_sym_not] = ACTIONS(5886),
    [anon_sym_BANG] = ACTIONS(5888),
    [anon_sym_TILDE] = ACTIONS(5888),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4136] = {
    [sym__simple_heredoc_body] = ACTIONS(10120),
    [sym__heredoc_body_beginning] = ACTIONS(10120),
    [sym__line_break] = ACTIONS(10120),
    [sym__binary_minus] = ACTIONS(2448),
    [sym__binary_star] = ACTIONS(2450),
    [anon_sym_PIPE] = ACTIONS(2452),
    [anon_sym_SEMI] = ACTIONS(10120),
    [anon_sym_STAR_STAR] = ACTIONS(2454),
    [anon_sym_AMP] = ACTIONS(2456),
    [anon_sym_LT] = ACTIONS(2458),
    [anon_sym_do] = ACTIONS(10120),
    [anon_sym_QMARK] = ACTIONS(2462),
    [anon_sym_DOT_DOT] = ACTIONS(2464),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2466),
    [anon_sym_and] = ACTIONS(2468),
    [anon_sym_or] = ACTIONS(2468),
    [anon_sym_PIPE_PIPE] = ACTIONS(2470),
    [anon_sym_AMP_AMP] = ACTIONS(2470),
    [anon_sym_LT_LT] = ACTIONS(2472),
    [anon_sym_GT_GT] = ACTIONS(2472),
    [anon_sym_EQ_EQ] = ACTIONS(2474),
    [anon_sym_BANG_EQ] = ACTIONS(2470),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2470),
    [anon_sym_LT_EQ_GT] = ACTIONS(2470),
    [anon_sym_EQ_TILDE] = ACTIONS(2470),
    [anon_sym_BANG_TILDE] = ACTIONS(2470),
    [anon_sym_LT_EQ] = ACTIONS(2458),
    [anon_sym_GT] = ACTIONS(2458),
    [anon_sym_GT_EQ] = ACTIONS(2476),
    [anon_sym_CARET] = ACTIONS(2478),
    [anon_sym_PLUS] = ACTIONS(2480),
    [anon_sym_SLASH] = ACTIONS(2454),
    [anon_sym_PERCENT] = ACTIONS(2454),
    [sym_comment] = ACTIONS(110),
  },
  [4137] = {
    [sym__statements] = STATE(7409),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(10122),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4138] = {
    [sym__simple_heredoc_body] = ACTIONS(8070),
    [sym__heredoc_body_beginning] = ACTIONS(8070),
    [sym__line_break] = ACTIONS(8070),
    [anon_sym_SEMI] = ACTIONS(8070),
    [anon_sym_when] = ACTIONS(8070),
    [sym_comment] = ACTIONS(110),
  },
  [4139] = {
    [sym__heredoc_body_middle] = ACTIONS(8296),
    [sym__heredoc_body_end] = ACTIONS(10124),
    [anon_sym_if] = ACTIONS(4112),
    [anon_sym_unless] = ACTIONS(4114),
    [anon_sym_while] = ACTIONS(4116),
    [anon_sym_until] = ACTIONS(4118),
    [anon_sym_rescue] = ACTIONS(4120),
    [sym_comment] = ACTIONS(110),
  },
  [4140] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7411),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4145),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4146),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5980),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5982),
    [anon_sym_defined_QMARK] = ACTIONS(5984),
    [anon_sym_not] = ACTIONS(5986),
    [anon_sym_BANG] = ACTIONS(5988),
    [anon_sym_TILDE] = ACTIONS(5988),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4141] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7412),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4145),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4146),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5980),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5982),
    [anon_sym_defined_QMARK] = ACTIONS(5984),
    [anon_sym_not] = ACTIONS(5986),
    [anon_sym_BANG] = ACTIONS(5988),
    [anon_sym_TILDE] = ACTIONS(5988),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4142] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7413),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4145),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4146),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5980),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5982),
    [anon_sym_defined_QMARK] = ACTIONS(5984),
    [anon_sym_not] = ACTIONS(5986),
    [anon_sym_BANG] = ACTIONS(5988),
    [anon_sym_TILDE] = ACTIONS(5988),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4143] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1410),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4145),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4146),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5980),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5982),
    [anon_sym_defined_QMARK] = ACTIONS(5984),
    [anon_sym_not] = ACTIONS(5986),
    [anon_sym_BANG] = ACTIONS(5988),
    [anon_sym_TILDE] = ACTIONS(5988),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4144] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__line_break] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(10126),
    [sym__binary_star] = ACTIONS(10128),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(10130),
    [anon_sym_SEMI] = ACTIONS(5298),
    [anon_sym_STAR_STAR] = ACTIONS(10132),
    [anon_sym_AMP] = ACTIONS(10134),
    [anon_sym_LT] = ACTIONS(10136),
    [anon_sym_when] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(10138),
    [anon_sym_DOT_DOT] = ACTIONS(10140),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10142),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(10144),
    [anon_sym_AMP_AMP] = ACTIONS(10144),
    [anon_sym_LT_LT] = ACTIONS(10146),
    [anon_sym_GT_GT] = ACTIONS(10146),
    [anon_sym_EQ_EQ] = ACTIONS(10148),
    [anon_sym_BANG_EQ] = ACTIONS(10144),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10144),
    [anon_sym_LT_EQ_GT] = ACTIONS(10144),
    [anon_sym_EQ_TILDE] = ACTIONS(10144),
    [anon_sym_BANG_TILDE] = ACTIONS(10144),
    [anon_sym_LT_EQ] = ACTIONS(10136),
    [anon_sym_GT] = ACTIONS(10136),
    [anon_sym_GT_EQ] = ACTIONS(10150),
    [anon_sym_CARET] = ACTIONS(10152),
    [anon_sym_PLUS] = ACTIONS(10154),
    [anon_sym_SLASH] = ACTIONS(10132),
    [anon_sym_PERCENT] = ACTIONS(10132),
    [sym_comment] = ACTIONS(110),
  },
  [4145] = {
    [anon_sym_EQ] = ACTIONS(10156),
    [sym_comment] = ACTIONS(256),
  },
  [4146] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(10158),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_when] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(10160),
    [anon_sym_DASH_EQ] = ACTIONS(10160),
    [anon_sym_STAR_EQ] = ACTIONS(10160),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(10160),
    [anon_sym_SLASH_EQ] = ACTIONS(10160),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(10160),
    [anon_sym_PIPE_EQ] = ACTIONS(10160),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(10160),
    [anon_sym_AMP_EQ] = ACTIONS(10160),
    [anon_sym_PERCENT_EQ] = ACTIONS(10160),
    [anon_sym_GT_GT_EQ] = ACTIONS(10160),
    [anon_sym_LT_LT_EQ] = ACTIONS(10160),
    [anon_sym_CARET_EQ] = ACTIONS(10160),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [4147] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__line_break] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(10126),
    [sym__binary_star] = ACTIONS(10128),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(10130),
    [anon_sym_SEMI] = ACTIONS(5338),
    [anon_sym_STAR_STAR] = ACTIONS(10132),
    [anon_sym_AMP] = ACTIONS(10134),
    [anon_sym_LT] = ACTIONS(10136),
    [anon_sym_when] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(10138),
    [anon_sym_DOT_DOT] = ACTIONS(10140),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10142),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(10144),
    [anon_sym_AMP_AMP] = ACTIONS(10144),
    [anon_sym_LT_LT] = ACTIONS(10146),
    [anon_sym_GT_GT] = ACTIONS(10146),
    [anon_sym_EQ_EQ] = ACTIONS(10148),
    [anon_sym_BANG_EQ] = ACTIONS(10144),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10144),
    [anon_sym_LT_EQ_GT] = ACTIONS(10144),
    [anon_sym_EQ_TILDE] = ACTIONS(10144),
    [anon_sym_BANG_TILDE] = ACTIONS(10144),
    [anon_sym_LT_EQ] = ACTIONS(10136),
    [anon_sym_GT] = ACTIONS(10136),
    [anon_sym_GT_EQ] = ACTIONS(10150),
    [anon_sym_CARET] = ACTIONS(10152),
    [anon_sym_PLUS] = ACTIONS(10154),
    [anon_sym_SLASH] = ACTIONS(10132),
    [anon_sym_PERCENT] = ACTIONS(10132),
    [sym_comment] = ACTIONS(110),
  },
  [4148] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4158),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1628),
    [sym_call] = STATE(1628),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(340),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(4159),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1630),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1631),
    [sym__variable] = STATE(1628),
    [sym_reserved_identifier] = STATE(4160),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(4161),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(6002),
    [sym__splat_star] = ACTIONS(6004),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(2558),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2560),
    [anon_sym_yield] = ACTIONS(2562),
    [anon_sym_break] = ACTIONS(2564),
    [anon_sym_next] = ACTIONS(2566),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(544),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(2568),
    [anon_sym_not] = ACTIONS(2570),
    [anon_sym_BANG] = ACTIONS(2572),
    [anon_sym_TILDE] = ACTIONS(2574),
    [sym_constant] = ACTIONS(6006),
    [sym_identifier] = ACTIONS(6006),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4149] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4158),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1628),
    [sym_call] = STATE(1628),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(349),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(4159),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1630),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1631),
    [sym__variable] = STATE(1628),
    [sym_reserved_identifier] = STATE(4160),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(4161),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(6002),
    [sym__splat_star] = ACTIONS(6004),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(2558),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2560),
    [anon_sym_yield] = ACTIONS(2562),
    [anon_sym_break] = ACTIONS(2564),
    [anon_sym_next] = ACTIONS(2566),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(604),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(2568),
    [anon_sym_not] = ACTIONS(2570),
    [anon_sym_BANG] = ACTIONS(2572),
    [anon_sym_TILDE] = ACTIONS(2574),
    [sym_constant] = ACTIONS(6006),
    [sym_identifier] = ACTIONS(6006),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4150] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4158),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1628),
    [sym_call] = STATE(1628),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(350),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(4159),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1630),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1631),
    [sym__variable] = STATE(1628),
    [sym_reserved_identifier] = STATE(4160),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(4161),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(6002),
    [sym__splat_star] = ACTIONS(6004),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(2558),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2560),
    [anon_sym_yield] = ACTIONS(2562),
    [anon_sym_break] = ACTIONS(2564),
    [anon_sym_next] = ACTIONS(2566),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(608),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(2568),
    [anon_sym_not] = ACTIONS(2570),
    [anon_sym_BANG] = ACTIONS(2572),
    [anon_sym_TILDE] = ACTIONS(2574),
    [sym_constant] = ACTIONS(6006),
    [sym_identifier] = ACTIONS(6006),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4151] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4158),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1628),
    [sym_call] = STATE(1628),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(351),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(4159),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1630),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1631),
    [sym__variable] = STATE(1628),
    [sym_reserved_identifier] = STATE(4160),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(4161),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(6002),
    [sym__splat_star] = ACTIONS(6004),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(2558),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2560),
    [anon_sym_yield] = ACTIONS(2562),
    [anon_sym_break] = ACTIONS(2564),
    [anon_sym_next] = ACTIONS(2566),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(612),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(2568),
    [anon_sym_not] = ACTIONS(2570),
    [anon_sym_BANG] = ACTIONS(2572),
    [anon_sym_TILDE] = ACTIONS(2574),
    [sym_constant] = ACTIONS(6006),
    [sym_identifier] = ACTIONS(6006),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4152] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(6016),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_when] = ACTIONS(1372),
    [anon_sym_EQ_GT] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [4153] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__line_break] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(10126),
    [sym__binary_star] = ACTIONS(10128),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(10130),
    [anon_sym_SEMI] = ACTIONS(4284),
    [anon_sym_STAR_STAR] = ACTIONS(10132),
    [anon_sym_AMP] = ACTIONS(10134),
    [anon_sym_LT] = ACTIONS(10136),
    [anon_sym_when] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(10138),
    [anon_sym_DOT_DOT] = ACTIONS(10140),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10142),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(10144),
    [anon_sym_AMP_AMP] = ACTIONS(10144),
    [anon_sym_LT_LT] = ACTIONS(10146),
    [anon_sym_GT_GT] = ACTIONS(10146),
    [anon_sym_EQ_EQ] = ACTIONS(10148),
    [anon_sym_BANG_EQ] = ACTIONS(10144),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10144),
    [anon_sym_LT_EQ_GT] = ACTIONS(10144),
    [anon_sym_EQ_TILDE] = ACTIONS(10144),
    [anon_sym_BANG_TILDE] = ACTIONS(10144),
    [anon_sym_LT_EQ] = ACTIONS(10136),
    [anon_sym_GT] = ACTIONS(10136),
    [anon_sym_GT_EQ] = ACTIONS(10150),
    [anon_sym_CARET] = ACTIONS(10152),
    [anon_sym_PLUS] = ACTIONS(10154),
    [anon_sym_SLASH] = ACTIONS(10132),
    [anon_sym_PERCENT] = ACTIONS(10132),
    [sym_comment] = ACTIONS(110),
  },
  [4154] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7428),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1628),
    [sym_call] = STATE(1628),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1630),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1631),
    [sym__variable] = STATE(1628),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2558),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5990),
    [anon_sym_yield] = ACTIONS(5992),
    [anon_sym_break] = ACTIONS(5994),
    [anon_sym_next] = ACTIONS(5996),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5998),
    [anon_sym_defined_QMARK] = ACTIONS(2568),
    [anon_sym_not] = ACTIONS(6000),
    [anon_sym_BANG] = ACTIONS(2574),
    [anon_sym_TILDE] = ACTIONS(2574),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4155] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7429),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1628),
    [sym_call] = STATE(1628),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1630),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1631),
    [sym__variable] = STATE(1628),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2558),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5990),
    [anon_sym_yield] = ACTIONS(5992),
    [anon_sym_break] = ACTIONS(5994),
    [anon_sym_next] = ACTIONS(5996),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5998),
    [anon_sym_defined_QMARK] = ACTIONS(2568),
    [anon_sym_not] = ACTIONS(6000),
    [anon_sym_BANG] = ACTIONS(2574),
    [anon_sym_TILDE] = ACTIONS(2574),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4156] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7430),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1628),
    [sym_call] = STATE(1628),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1630),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1631),
    [sym__variable] = STATE(1628),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2558),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5990),
    [anon_sym_yield] = ACTIONS(5992),
    [anon_sym_break] = ACTIONS(5994),
    [anon_sym_next] = ACTIONS(5996),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5998),
    [anon_sym_defined_QMARK] = ACTIONS(2568),
    [anon_sym_not] = ACTIONS(6000),
    [anon_sym_BANG] = ACTIONS(2574),
    [anon_sym_TILDE] = ACTIONS(2574),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4157] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(10162),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [4158] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__line_break] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(6010),
    [sym__binary_star] = ACTIONS(6012),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(6014),
    [anon_sym_SEMI] = ACTIONS(2210),
    [anon_sym_STAR_STAR] = ACTIONS(6016),
    [anon_sym_AMP] = ACTIONS(6018),
    [anon_sym_LT] = ACTIONS(6020),
    [anon_sym_when] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(6022),
    [anon_sym_DOT_DOT] = ACTIONS(6024),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6026),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(6028),
    [anon_sym_AMP_AMP] = ACTIONS(6028),
    [anon_sym_LT_LT] = ACTIONS(6030),
    [anon_sym_GT_GT] = ACTIONS(6030),
    [anon_sym_EQ_EQ] = ACTIONS(6032),
    [anon_sym_BANG_EQ] = ACTIONS(6028),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6028),
    [anon_sym_LT_EQ_GT] = ACTIONS(6028),
    [anon_sym_EQ_TILDE] = ACTIONS(6028),
    [anon_sym_BANG_TILDE] = ACTIONS(6028),
    [anon_sym_LT_EQ] = ACTIONS(6020),
    [anon_sym_GT] = ACTIONS(6020),
    [anon_sym_GT_EQ] = ACTIONS(6034),
    [anon_sym_CARET] = ACTIONS(6036),
    [anon_sym_PLUS] = ACTIONS(6038),
    [anon_sym_SLASH] = ACTIONS(6016),
    [anon_sym_PERCENT] = ACTIONS(6016),
    [sym_comment] = ACTIONS(110),
  },
  [4159] = {
    [sym_heredoc_end] = STATE(1444),
    [aux_sym_argument_list_repeat1] = STATE(7433),
    [aux_sym_argument_list_repeat2] = STATE(1445),
    [sym__simple_heredoc_body] = ACTIONS(2268),
    [sym__heredoc_body_beginning] = ACTIONS(2270),
    [sym__line_break] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(10164),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_STAR_STAR] = ACTIONS(2272),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_when] = ACTIONS(2272),
    [anon_sym_EQ_GT] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2272),
    [anon_sym_AMP_AMP] = ACTIONS(2272),
    [anon_sym_LT_LT] = ACTIONS(2272),
    [anon_sym_GT_GT] = ACTIONS(2272),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2272),
    [anon_sym_PLUS] = ACTIONS(2272),
    [anon_sym_SLASH] = ACTIONS(2272),
    [anon_sym_PERCENT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(110),
  },
  [4160] = {
    [sym__keyword_colon] = ACTIONS(10166),
    [sym_comment] = ACTIONS(110),
  },
  [4161] = {
    [sym_string] = STATE(611),
    [aux_sym_chained_string_repeat1] = STATE(612),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(20),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(10162),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_when] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(120),
  },
  [4162] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(6016),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_when] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [4163] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(6010),
    [sym__binary_star] = ACTIONS(6012),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(6014),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(6016),
    [anon_sym_AMP] = ACTIONS(6018),
    [anon_sym_LT] = ACTIONS(6020),
    [anon_sym_when] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(6022),
    [anon_sym_DOT_DOT] = ACTIONS(6024),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6026),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(6028),
    [anon_sym_AMP_AMP] = ACTIONS(6028),
    [anon_sym_LT_LT] = ACTIONS(6030),
    [anon_sym_GT_GT] = ACTIONS(6030),
    [anon_sym_EQ_EQ] = ACTIONS(6032),
    [anon_sym_BANG_EQ] = ACTIONS(6028),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6028),
    [anon_sym_LT_EQ_GT] = ACTIONS(6028),
    [anon_sym_EQ_TILDE] = ACTIONS(6028),
    [anon_sym_BANG_TILDE] = ACTIONS(6028),
    [anon_sym_LT_EQ] = ACTIONS(6020),
    [anon_sym_GT] = ACTIONS(6020),
    [anon_sym_GT_EQ] = ACTIONS(6034),
    [anon_sym_CARET] = ACTIONS(6036),
    [anon_sym_PLUS] = ACTIONS(6038),
    [anon_sym_SLASH] = ACTIONS(6016),
    [anon_sym_PERCENT] = ACTIONS(6016),
    [sym_comment] = ACTIONS(110),
  },
  [4164] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7435),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4145),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4146),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5980),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5982),
    [anon_sym_defined_QMARK] = ACTIONS(5984),
    [anon_sym_not] = ACTIONS(5986),
    [anon_sym_BANG] = ACTIONS(5988),
    [anon_sym_TILDE] = ACTIONS(5988),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4165] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7436),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1628),
    [sym_call] = STATE(1628),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1630),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1631),
    [sym__variable] = STATE(1628),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2558),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5990),
    [anon_sym_yield] = ACTIONS(5992),
    [anon_sym_break] = ACTIONS(5994),
    [anon_sym_next] = ACTIONS(5996),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5998),
    [anon_sym_defined_QMARK] = ACTIONS(2568),
    [anon_sym_not] = ACTIONS(6000),
    [anon_sym_BANG] = ACTIONS(2574),
    [anon_sym_TILDE] = ACTIONS(2574),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4166] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7437),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1628),
    [sym_call] = STATE(1628),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1630),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1631),
    [sym__variable] = STATE(1628),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2558),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5990),
    [anon_sym_yield] = ACTIONS(5992),
    [anon_sym_break] = ACTIONS(5994),
    [anon_sym_next] = ACTIONS(5996),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5998),
    [anon_sym_defined_QMARK] = ACTIONS(2568),
    [anon_sym_not] = ACTIONS(6000),
    [anon_sym_BANG] = ACTIONS(2574),
    [anon_sym_TILDE] = ACTIONS(2574),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4167] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7438),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1628),
    [sym_call] = STATE(1628),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1630),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1631),
    [sym__variable] = STATE(1628),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2558),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5990),
    [anon_sym_yield] = ACTIONS(5992),
    [anon_sym_break] = ACTIONS(5994),
    [anon_sym_next] = ACTIONS(5996),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5998),
    [anon_sym_defined_QMARK] = ACTIONS(2568),
    [anon_sym_not] = ACTIONS(6000),
    [anon_sym_BANG] = ACTIONS(2574),
    [anon_sym_TILDE] = ACTIONS(2574),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4168] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7439),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1628),
    [sym_call] = STATE(1628),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1630),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1631),
    [sym__variable] = STATE(1628),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2558),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5990),
    [anon_sym_yield] = ACTIONS(5992),
    [anon_sym_break] = ACTIONS(5994),
    [anon_sym_next] = ACTIONS(5996),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5998),
    [anon_sym_defined_QMARK] = ACTIONS(2568),
    [anon_sym_not] = ACTIONS(6000),
    [anon_sym_BANG] = ACTIONS(2574),
    [anon_sym_TILDE] = ACTIONS(2574),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4169] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7440),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1628),
    [sym_call] = STATE(1628),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1630),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1631),
    [sym__variable] = STATE(1628),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2558),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5990),
    [anon_sym_yield] = ACTIONS(5992),
    [anon_sym_break] = ACTIONS(5994),
    [anon_sym_next] = ACTIONS(5996),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5998),
    [anon_sym_defined_QMARK] = ACTIONS(2568),
    [anon_sym_not] = ACTIONS(6000),
    [anon_sym_BANG] = ACTIONS(2574),
    [anon_sym_TILDE] = ACTIONS(2574),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4170] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7441),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1628),
    [sym_call] = STATE(1628),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1630),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1631),
    [sym__variable] = STATE(1628),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2558),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5990),
    [anon_sym_yield] = ACTIONS(5992),
    [anon_sym_break] = ACTIONS(5994),
    [anon_sym_next] = ACTIONS(5996),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5998),
    [anon_sym_defined_QMARK] = ACTIONS(2568),
    [anon_sym_not] = ACTIONS(6000),
    [anon_sym_BANG] = ACTIONS(2574),
    [anon_sym_TILDE] = ACTIONS(2574),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4171] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(7442),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [4172] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7443),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1628),
    [sym_call] = STATE(1628),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1630),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1631),
    [sym__variable] = STATE(1628),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2558),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5990),
    [anon_sym_yield] = ACTIONS(5992),
    [anon_sym_break] = ACTIONS(5994),
    [anon_sym_next] = ACTIONS(5996),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5998),
    [anon_sym_defined_QMARK] = ACTIONS(2568),
    [anon_sym_not] = ACTIONS(6000),
    [anon_sym_BANG] = ACTIONS(2574),
    [anon_sym_TILDE] = ACTIONS(2574),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4173] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7444),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1628),
    [sym_call] = STATE(1628),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1630),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1631),
    [sym__variable] = STATE(1628),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2558),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5990),
    [anon_sym_yield] = ACTIONS(5992),
    [anon_sym_break] = ACTIONS(5994),
    [anon_sym_next] = ACTIONS(5996),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5998),
    [anon_sym_defined_QMARK] = ACTIONS(2568),
    [anon_sym_not] = ACTIONS(6000),
    [anon_sym_BANG] = ACTIONS(2574),
    [anon_sym_TILDE] = ACTIONS(2574),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4174] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7445),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1628),
    [sym_call] = STATE(1628),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1630),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1631),
    [sym__variable] = STATE(1628),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2558),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5990),
    [anon_sym_yield] = ACTIONS(5992),
    [anon_sym_break] = ACTIONS(5994),
    [anon_sym_next] = ACTIONS(5996),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5998),
    [anon_sym_defined_QMARK] = ACTIONS(2568),
    [anon_sym_not] = ACTIONS(6000),
    [anon_sym_BANG] = ACTIONS(2574),
    [anon_sym_TILDE] = ACTIONS(2574),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4175] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7446),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1628),
    [sym_call] = STATE(1628),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1630),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1631),
    [sym__variable] = STATE(1628),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2558),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5990),
    [anon_sym_yield] = ACTIONS(5992),
    [anon_sym_break] = ACTIONS(5994),
    [anon_sym_next] = ACTIONS(5996),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5998),
    [anon_sym_defined_QMARK] = ACTIONS(2568),
    [anon_sym_not] = ACTIONS(6000),
    [anon_sym_BANG] = ACTIONS(2574),
    [anon_sym_TILDE] = ACTIONS(2574),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4176] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7447),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1628),
    [sym_call] = STATE(1628),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1630),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1631),
    [sym__variable] = STATE(1628),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2558),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5990),
    [anon_sym_yield] = ACTIONS(5992),
    [anon_sym_break] = ACTIONS(5994),
    [anon_sym_next] = ACTIONS(5996),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5998),
    [anon_sym_defined_QMARK] = ACTIONS(2568),
    [anon_sym_not] = ACTIONS(6000),
    [anon_sym_BANG] = ACTIONS(2574),
    [anon_sym_TILDE] = ACTIONS(2574),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4177] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7448),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1680),
    [sym_call] = STATE(1680),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1682),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1683),
    [sym__variable] = STATE(1680),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2638),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(6178),
    [anon_sym_yield] = ACTIONS(6180),
    [anon_sym_break] = ACTIONS(6182),
    [anon_sym_next] = ACTIONS(6184),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(6186),
    [anon_sym_defined_QMARK] = ACTIONS(2648),
    [anon_sym_not] = ACTIONS(6188),
    [anon_sym_BANG] = ACTIONS(2654),
    [anon_sym_TILDE] = ACTIONS(2654),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4178] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7449),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1680),
    [sym_call] = STATE(1680),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1682),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1683),
    [sym__variable] = STATE(1680),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2638),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(6178),
    [anon_sym_yield] = ACTIONS(6180),
    [anon_sym_break] = ACTIONS(6182),
    [anon_sym_next] = ACTIONS(6184),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(6186),
    [anon_sym_defined_QMARK] = ACTIONS(2648),
    [anon_sym_not] = ACTIONS(6188),
    [anon_sym_BANG] = ACTIONS(2654),
    [anon_sym_TILDE] = ACTIONS(2654),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4179] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7450),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1680),
    [sym_call] = STATE(1680),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1682),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1683),
    [sym__variable] = STATE(1680),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2638),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(6178),
    [anon_sym_yield] = ACTIONS(6180),
    [anon_sym_break] = ACTIONS(6182),
    [anon_sym_next] = ACTIONS(6184),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(6186),
    [anon_sym_defined_QMARK] = ACTIONS(2648),
    [anon_sym_not] = ACTIONS(6188),
    [anon_sym_BANG] = ACTIONS(2654),
    [anon_sym_TILDE] = ACTIONS(2654),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4180] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(10168),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [4181] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__line_break] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(6192),
    [sym__binary_star] = ACTIONS(6194),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(6196),
    [anon_sym_SEMI] = ACTIONS(2210),
    [anon_sym_STAR_STAR] = ACTIONS(6198),
    [anon_sym_AMP] = ACTIONS(6200),
    [anon_sym_EQ] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(6202),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_when] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_PLUS_EQ] = ACTIONS(2210),
    [anon_sym_DASH_EQ] = ACTIONS(2210),
    [anon_sym_STAR_EQ] = ACTIONS(2210),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2210),
    [anon_sym_SLASH_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2210),
    [anon_sym_AMP_EQ] = ACTIONS(2210),
    [anon_sym_PERCENT_EQ] = ACTIONS(2210),
    [anon_sym_GT_GT_EQ] = ACTIONS(2210),
    [anon_sym_LT_LT_EQ] = ACTIONS(2210),
    [anon_sym_CARET_EQ] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(6204),
    [anon_sym_DOT_DOT] = ACTIONS(6206),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6208),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(6210),
    [anon_sym_AMP_AMP] = ACTIONS(6210),
    [anon_sym_LT_LT] = ACTIONS(6212),
    [anon_sym_GT_GT] = ACTIONS(6212),
    [anon_sym_EQ_EQ] = ACTIONS(6210),
    [anon_sym_BANG_EQ] = ACTIONS(6214),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6214),
    [anon_sym_LT_EQ_GT] = ACTIONS(6214),
    [anon_sym_EQ_TILDE] = ACTIONS(6214),
    [anon_sym_BANG_TILDE] = ACTIONS(6214),
    [anon_sym_LT_EQ] = ACTIONS(6202),
    [anon_sym_GT] = ACTIONS(6202),
    [anon_sym_GT_EQ] = ACTIONS(6216),
    [anon_sym_CARET] = ACTIONS(6196),
    [anon_sym_PLUS] = ACTIONS(6218),
    [anon_sym_SLASH] = ACTIONS(6198),
    [anon_sym_PERCENT] = ACTIONS(6198),
    [sym_comment] = ACTIONS(256),
  },
  [4182] = {
    [sym_heredoc_end] = STATE(3770),
    [aux_sym_argument_list_repeat1] = STATE(7453),
    [aux_sym_argument_list_repeat2] = STATE(3771),
    [sym__simple_heredoc_body] = ACTIONS(5460),
    [sym__heredoc_body_beginning] = ACTIONS(5462),
    [sym__line_break] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(10170),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_STAR_STAR] = ACTIONS(2274),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_EQ] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_when] = ACTIONS(2272),
    [anon_sym_EQ_GT] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_PLUS_EQ] = ACTIONS(2272),
    [anon_sym_DASH_EQ] = ACTIONS(2272),
    [anon_sym_STAR_EQ] = ACTIONS(2272),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2272),
    [anon_sym_SLASH_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2272),
    [anon_sym_AMP_EQ] = ACTIONS(2272),
    [anon_sym_PERCENT_EQ] = ACTIONS(2272),
    [anon_sym_GT_GT_EQ] = ACTIONS(2272),
    [anon_sym_LT_LT_EQ] = ACTIONS(2272),
    [anon_sym_CARET_EQ] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2274),
    [anon_sym_AMP_AMP] = ACTIONS(2274),
    [anon_sym_LT_LT] = ACTIONS(2274),
    [anon_sym_GT_GT] = ACTIONS(2274),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2274),
    [anon_sym_PLUS] = ACTIONS(2274),
    [anon_sym_SLASH] = ACTIONS(2274),
    [anon_sym_PERCENT] = ACTIONS(2274),
    [sym_comment] = ACTIONS(256),
  },
  [4183] = {
    [sym__keyword_colon] = ACTIONS(10172),
    [sym_comment] = ACTIONS(110),
  },
  [4184] = {
    [sym_string] = STATE(2203),
    [aux_sym_chained_string_repeat1] = STATE(2204),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(10168),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_when] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(3266),
  },
  [4185] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1627),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1628),
    [sym_call] = STATE(1628),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(3780),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1630),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1631),
    [sym__variable] = STATE(1628),
    [sym_reserved_identifier] = STATE(1632),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(1633),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(7455),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__block_ampersand] = ACTIONS(2554),
    [sym__splat_star] = ACTIONS(2556),
    [sym__unary_minus] = ACTIONS(2558),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(10174),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2560),
    [anon_sym_yield] = ACTIONS(2562),
    [anon_sym_break] = ACTIONS(2564),
    [anon_sym_next] = ACTIONS(2566),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(5998),
    [anon_sym_defined_QMARK] = ACTIONS(2568),
    [anon_sym_not] = ACTIONS(2570),
    [anon_sym_BANG] = ACTIONS(2574),
    [anon_sym_TILDE] = ACTIONS(2574),
    [sym_constant] = ACTIONS(2576),
    [sym_identifier] = ACTIONS(2576),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4186] = {
    [sym_heredoc_end] = STATE(1444),
    [aux_sym_argument_list_repeat2] = STATE(3783),
    [sym__simple_heredoc_body] = ACTIONS(2268),
    [sym__heredoc_body_beginning] = ACTIONS(2270),
    [sym__line_break] = ACTIONS(5472),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(10176),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_SEMI] = ACTIONS(5472),
    [anon_sym_STAR_STAR] = ACTIONS(5472),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_when] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5472),
    [anon_sym_AMP_AMP] = ACTIONS(5472),
    [anon_sym_LT_LT] = ACTIONS(5472),
    [anon_sym_GT_GT] = ACTIONS(5472),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5472),
    [anon_sym_PLUS] = ACTIONS(5472),
    [anon_sym_SLASH] = ACTIONS(5472),
    [anon_sym_PERCENT] = ACTIONS(5472),
    [sym_comment] = ACTIONS(110),
  },
  [4187] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7457),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1628),
    [sym_call] = STATE(1628),
    [sym_method_call] = STATE(338),
    [sym_splat_argument] = STATE(3785),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_right_assignment_list] = STATE(3786),
    [sym__arg_or_splat_arg] = STATE(7458),
    [sym_left_assignment_list] = STATE(1630),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1631),
    [sym__variable] = STATE(1628),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(6004),
    [sym__unary_minus] = ACTIONS(2558),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5990),
    [anon_sym_yield] = ACTIONS(5992),
    [anon_sym_break] = ACTIONS(5994),
    [anon_sym_next] = ACTIONS(5996),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5998),
    [anon_sym_defined_QMARK] = ACTIONS(2568),
    [anon_sym_not] = ACTIONS(6000),
    [anon_sym_BANG] = ACTIONS(2574),
    [anon_sym_TILDE] = ACTIONS(2574),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4188] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7459),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1628),
    [sym_call] = STATE(1628),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1630),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1631),
    [sym__variable] = STATE(1628),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2558),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5990),
    [anon_sym_yield] = ACTIONS(5992),
    [anon_sym_break] = ACTIONS(5994),
    [anon_sym_next] = ACTIONS(5996),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5998),
    [anon_sym_defined_QMARK] = ACTIONS(2568),
    [anon_sym_not] = ACTIONS(6000),
    [anon_sym_BANG] = ACTIONS(2574),
    [anon_sym_TILDE] = ACTIONS(2574),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4189] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7460),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4145),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4146),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5980),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5982),
    [anon_sym_defined_QMARK] = ACTIONS(5984),
    [anon_sym_not] = ACTIONS(5986),
    [anon_sym_BANG] = ACTIONS(5988),
    [anon_sym_TILDE] = ACTIONS(5988),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4190] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__line_break] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(6092),
    [sym__binary_star] = ACTIONS(6094),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(6096),
    [anon_sym_SEMI] = ACTIONS(5338),
    [anon_sym_STAR_STAR] = ACTIONS(6098),
    [anon_sym_AMP] = ACTIONS(6100),
    [anon_sym_LT] = ACTIONS(6102),
    [anon_sym_then] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(6104),
    [anon_sym_DOT_DOT] = ACTIONS(6106),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6108),
    [anon_sym_and] = ACTIONS(6110),
    [anon_sym_or] = ACTIONS(6110),
    [anon_sym_PIPE_PIPE] = ACTIONS(6112),
    [anon_sym_AMP_AMP] = ACTIONS(6112),
    [anon_sym_LT_LT] = ACTIONS(6114),
    [anon_sym_GT_GT] = ACTIONS(6114),
    [anon_sym_EQ_EQ] = ACTIONS(6116),
    [anon_sym_BANG_EQ] = ACTIONS(6112),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6112),
    [anon_sym_LT_EQ_GT] = ACTIONS(6112),
    [anon_sym_EQ_TILDE] = ACTIONS(6112),
    [anon_sym_BANG_TILDE] = ACTIONS(6112),
    [anon_sym_LT_EQ] = ACTIONS(6102),
    [anon_sym_GT] = ACTIONS(6102),
    [anon_sym_GT_EQ] = ACTIONS(6118),
    [anon_sym_CARET] = ACTIONS(6120),
    [anon_sym_PLUS] = ACTIONS(6122),
    [anon_sym_SLASH] = ACTIONS(6098),
    [anon_sym_PERCENT] = ACTIONS(6098),
    [sym_comment] = ACTIONS(110),
  },
  [4191] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(6098),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_then] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [4192] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7465),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1645),
    [sym_call] = STATE(1645),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7466),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7467),
    [sym__variable] = STATE(1645),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(10178),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2582),
    [anon_sym_yield] = ACTIONS(2584),
    [anon_sym_break] = ACTIONS(2586),
    [anon_sym_next] = ACTIONS(2588),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10180),
    [anon_sym_defined_QMARK] = ACTIONS(10182),
    [anon_sym_not] = ACTIONS(10184),
    [anon_sym_BANG] = ACTIONS(10186),
    [anon_sym_TILDE] = ACTIONS(10186),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4193] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7468),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1645),
    [sym_call] = STATE(1645),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7466),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7467),
    [sym__variable] = STATE(1645),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(10178),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2582),
    [anon_sym_yield] = ACTIONS(2584),
    [anon_sym_break] = ACTIONS(2586),
    [anon_sym_next] = ACTIONS(2588),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10180),
    [anon_sym_defined_QMARK] = ACTIONS(10182),
    [anon_sym_not] = ACTIONS(10184),
    [anon_sym_BANG] = ACTIONS(10186),
    [anon_sym_TILDE] = ACTIONS(10186),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4194] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7469),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4207),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4208),
    [sym__variable] = STATE(1732),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6060),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2712),
    [anon_sym_yield] = ACTIONS(2714),
    [anon_sym_break] = ACTIONS(2716),
    [anon_sym_next] = ACTIONS(2718),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10188),
    [anon_sym_defined_QMARK] = ACTIONS(6070),
    [anon_sym_not] = ACTIONS(10190),
    [anon_sym_BANG] = ACTIONS(6076),
    [anon_sym_TILDE] = ACTIONS(6076),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4195] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7470),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1645),
    [sym_call] = STATE(1645),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7466),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7467),
    [sym__variable] = STATE(1645),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(10178),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2582),
    [anon_sym_yield] = ACTIONS(2584),
    [anon_sym_break] = ACTIONS(2586),
    [anon_sym_next] = ACTIONS(2588),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10180),
    [anon_sym_defined_QMARK] = ACTIONS(10182),
    [anon_sym_not] = ACTIONS(10184),
    [anon_sym_BANG] = ACTIONS(10186),
    [anon_sym_TILDE] = ACTIONS(10186),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4196] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4378),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(340),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(4379),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4207),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4208),
    [sym__variable] = STATE(1732),
    [sym_reserved_identifier] = STATE(4380),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(4381),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(6322),
    [sym__splat_star] = ACTIONS(6324),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(6060),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(6062),
    [anon_sym_yield] = ACTIONS(6064),
    [anon_sym_break] = ACTIONS(6066),
    [anon_sym_next] = ACTIONS(6068),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(544),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(6070),
    [anon_sym_not] = ACTIONS(6072),
    [anon_sym_BANG] = ACTIONS(6074),
    [anon_sym_TILDE] = ACTIONS(6076),
    [sym_constant] = ACTIONS(6326),
    [sym_identifier] = ACTIONS(6326),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4197] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4378),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(349),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(4379),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4207),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4208),
    [sym__variable] = STATE(1732),
    [sym_reserved_identifier] = STATE(4380),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(4381),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(6322),
    [sym__splat_star] = ACTIONS(6324),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(6060),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(6062),
    [anon_sym_yield] = ACTIONS(6064),
    [anon_sym_break] = ACTIONS(6066),
    [anon_sym_next] = ACTIONS(6068),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(604),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(6070),
    [anon_sym_not] = ACTIONS(6072),
    [anon_sym_BANG] = ACTIONS(6074),
    [anon_sym_TILDE] = ACTIONS(6076),
    [sym_constant] = ACTIONS(6326),
    [sym_identifier] = ACTIONS(6326),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4198] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4378),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(350),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(4379),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4207),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4208),
    [sym__variable] = STATE(1732),
    [sym_reserved_identifier] = STATE(4380),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(4381),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(6322),
    [sym__splat_star] = ACTIONS(6324),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(6060),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(6062),
    [anon_sym_yield] = ACTIONS(6064),
    [anon_sym_break] = ACTIONS(6066),
    [anon_sym_next] = ACTIONS(6068),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(608),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(6070),
    [anon_sym_not] = ACTIONS(6072),
    [anon_sym_BANG] = ACTIONS(6074),
    [anon_sym_TILDE] = ACTIONS(6076),
    [sym_constant] = ACTIONS(6326),
    [sym_identifier] = ACTIONS(6326),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4199] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4378),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(351),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(4379),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4207),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4208),
    [sym__variable] = STATE(1732),
    [sym_reserved_identifier] = STATE(4380),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(4381),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(6322),
    [sym__splat_star] = ACTIONS(6324),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(6060),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(6062),
    [anon_sym_yield] = ACTIONS(6064),
    [anon_sym_break] = ACTIONS(6066),
    [anon_sym_next] = ACTIONS(6068),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(612),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(6070),
    [anon_sym_not] = ACTIONS(6072),
    [anon_sym_BANG] = ACTIONS(6074),
    [anon_sym_TILDE] = ACTIONS(6076),
    [sym_constant] = ACTIONS(6326),
    [sym_identifier] = ACTIONS(6326),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4200] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7471),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4207),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4208),
    [sym__variable] = STATE(1732),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6060),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2712),
    [anon_sym_yield] = ACTIONS(2714),
    [anon_sym_break] = ACTIONS(2716),
    [anon_sym_next] = ACTIONS(2718),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10188),
    [anon_sym_defined_QMARK] = ACTIONS(6070),
    [anon_sym_not] = ACTIONS(10190),
    [anon_sym_BANG] = ACTIONS(6076),
    [anon_sym_TILDE] = ACTIONS(6076),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4201] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7472),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4207),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4208),
    [sym__variable] = STATE(1732),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6060),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2712),
    [anon_sym_yield] = ACTIONS(2714),
    [anon_sym_break] = ACTIONS(2716),
    [anon_sym_next] = ACTIONS(2718),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10188),
    [anon_sym_defined_QMARK] = ACTIONS(6070),
    [anon_sym_not] = ACTIONS(10190),
    [anon_sym_BANG] = ACTIONS(6076),
    [anon_sym_TILDE] = ACTIONS(6076),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4202] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7472),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4207),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4208),
    [sym__variable] = STATE(1732),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(6060),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2712),
    [anon_sym_yield] = ACTIONS(2714),
    [anon_sym_break] = ACTIONS(2716),
    [anon_sym_next] = ACTIONS(2718),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10188),
    [anon_sym_defined_QMARK] = ACTIONS(6070),
    [anon_sym_not] = ACTIONS(10190),
    [anon_sym_BANG] = ACTIONS(6076),
    [anon_sym_TILDE] = ACTIONS(6076),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4203] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1410),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4207),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4208),
    [sym__variable] = STATE(1732),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6060),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2712),
    [anon_sym_yield] = ACTIONS(2714),
    [anon_sym_break] = ACTIONS(2716),
    [anon_sym_next] = ACTIONS(2718),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10188),
    [anon_sym_defined_QMARK] = ACTIONS(6070),
    [anon_sym_not] = ACTIONS(10190),
    [anon_sym_BANG] = ACTIONS(6076),
    [anon_sym_TILDE] = ACTIONS(6076),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4204] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(10192),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [4205] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__line_break] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(10194),
    [sym__binary_star] = ACTIONS(10196),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(10198),
    [anon_sym_SEMI] = ACTIONS(2210),
    [anon_sym_STAR_STAR] = ACTIONS(10200),
    [anon_sym_AMP] = ACTIONS(10202),
    [anon_sym_LT] = ACTIONS(10204),
    [anon_sym_then] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(10192),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(10206),
    [anon_sym_DOT_DOT] = ACTIONS(10208),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10210),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(10212),
    [anon_sym_AMP_AMP] = ACTIONS(10212),
    [anon_sym_LT_LT] = ACTIONS(10214),
    [anon_sym_GT_GT] = ACTIONS(10214),
    [anon_sym_EQ_EQ] = ACTIONS(10216),
    [anon_sym_BANG_EQ] = ACTIONS(10212),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10212),
    [anon_sym_LT_EQ_GT] = ACTIONS(10212),
    [anon_sym_EQ_TILDE] = ACTIONS(10212),
    [anon_sym_BANG_TILDE] = ACTIONS(10212),
    [anon_sym_LT_EQ] = ACTIONS(10204),
    [anon_sym_GT] = ACTIONS(10204),
    [anon_sym_GT_EQ] = ACTIONS(10218),
    [anon_sym_CARET] = ACTIONS(10220),
    [anon_sym_PLUS] = ACTIONS(10222),
    [anon_sym_SLASH] = ACTIONS(10200),
    [anon_sym_PERCENT] = ACTIONS(10200),
    [sym_comment] = ACTIONS(110),
  },
  [4206] = {
    [sym_heredoc_end] = STATE(1444),
    [aux_sym_argument_list_repeat1] = STATE(7487),
    [aux_sym_argument_list_repeat2] = STATE(1445),
    [sym__simple_heredoc_body] = ACTIONS(2268),
    [sym__heredoc_body_beginning] = ACTIONS(2270),
    [sym__line_break] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(10224),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_STAR_STAR] = ACTIONS(2272),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_then] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2272),
    [anon_sym_AMP_AMP] = ACTIONS(2272),
    [anon_sym_LT_LT] = ACTIONS(2272),
    [anon_sym_GT_GT] = ACTIONS(2272),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2272),
    [anon_sym_PLUS] = ACTIONS(2272),
    [anon_sym_SLASH] = ACTIONS(2272),
    [anon_sym_PERCENT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(110),
  },
  [4207] = {
    [anon_sym_EQ] = ACTIONS(10226),
    [sym_comment] = ACTIONS(256),
  },
  [4208] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(10228),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_then] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(10230),
    [anon_sym_DASH_EQ] = ACTIONS(10230),
    [anon_sym_STAR_EQ] = ACTIONS(10230),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(10230),
    [anon_sym_SLASH_EQ] = ACTIONS(10230),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(10230),
    [anon_sym_PIPE_EQ] = ACTIONS(10230),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(10230),
    [anon_sym_AMP_EQ] = ACTIONS(10230),
    [anon_sym_PERCENT_EQ] = ACTIONS(10230),
    [anon_sym_GT_GT_EQ] = ACTIONS(10230),
    [anon_sym_LT_LT_EQ] = ACTIONS(10230),
    [anon_sym_CARET_EQ] = ACTIONS(10230),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [4209] = {
    [sym__keyword_colon] = ACTIONS(10232),
    [sym_comment] = ACTIONS(110),
  },
  [4210] = {
    [sym_string] = STATE(611),
    [aux_sym_chained_string_repeat1] = STATE(612),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(20),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(10192),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_then] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(120),
  },
  [4211] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(6098),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_then] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [4212] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(6092),
    [sym__binary_star] = ACTIONS(6094),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(6096),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(6098),
    [anon_sym_AMP] = ACTIONS(6100),
    [anon_sym_LT] = ACTIONS(6102),
    [anon_sym_then] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(6104),
    [anon_sym_DOT_DOT] = ACTIONS(6106),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6108),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(6112),
    [anon_sym_AMP_AMP] = ACTIONS(6112),
    [anon_sym_LT_LT] = ACTIONS(6114),
    [anon_sym_GT_GT] = ACTIONS(6114),
    [anon_sym_EQ_EQ] = ACTIONS(6116),
    [anon_sym_BANG_EQ] = ACTIONS(6112),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6112),
    [anon_sym_LT_EQ_GT] = ACTIONS(6112),
    [anon_sym_EQ_TILDE] = ACTIONS(6112),
    [anon_sym_BANG_TILDE] = ACTIONS(6112),
    [anon_sym_LT_EQ] = ACTIONS(6102),
    [anon_sym_GT] = ACTIONS(6102),
    [anon_sym_GT_EQ] = ACTIONS(6118),
    [anon_sym_CARET] = ACTIONS(6120),
    [anon_sym_PLUS] = ACTIONS(6122),
    [anon_sym_SLASH] = ACTIONS(6098),
    [anon_sym_PERCENT] = ACTIONS(6098),
    [sym_comment] = ACTIONS(110),
  },
  [4213] = {
    [sym__simple_string] = ACTIONS(1398),
    [sym__simple_symbol] = ACTIONS(1398),
    [sym__simple_subshell] = ACTIONS(1398),
    [sym__simple_regex] = ACTIONS(1398),
    [sym__simple_word_list] = ACTIONS(1398),
    [sym__string_beginning] = ACTIONS(1398),
    [sym__symbol_beginning] = ACTIONS(1398),
    [sym__subshell_beginning] = ACTIONS(1398),
    [sym__regex_beginning] = ACTIONS(1398),
    [sym__word_list_beginning] = ACTIONS(1398),
    [sym_heredoc_beginning] = ACTIONS(1398),
    [sym__unary_minus] = ACTIONS(1398),
    [anon_sym_BEGIN] = ACTIONS(2666),
    [anon_sym_LBRACE] = ACTIONS(1398),
    [anon_sym_END] = ACTIONS(2666),
    [anon_sym_def] = ACTIONS(2666),
    [anon_sym_LPAREN] = ACTIONS(1398),
    [anon_sym_COLON_COLON] = ACTIONS(1398),
    [anon_sym_end] = ACTIONS(2666),
    [anon_sym_SEMI] = ACTIONS(1398),
    [anon_sym_STAR] = ACTIONS(1398),
    [anon_sym_class] = ACTIONS(2666),
    [anon_sym_module] = ACTIONS(2666),
    [anon_sym_return] = ACTIONS(2666),
    [anon_sym_yield] = ACTIONS(2666),
    [anon_sym_break] = ACTIONS(2666),
    [anon_sym_next] = ACTIONS(2666),
    [anon_sym_redo] = ACTIONS(2666),
    [anon_sym_retry] = ACTIONS(2666),
    [anon_sym_if] = ACTIONS(2666),
    [anon_sym_unless] = ACTIONS(2666),
    [anon_sym_while] = ACTIONS(2666),
    [anon_sym_until] = ACTIONS(2666),
    [anon_sym_for] = ACTIONS(2666),
    [anon_sym_case] = ACTIONS(2666),
    [anon_sym_when] = ACTIONS(2666),
    [anon_sym_else] = ACTIONS(2666),
    [anon_sym_then] = ACTIONS(2666),
    [anon_sym_begin] = ACTIONS(2666),
    [anon_sym_PLUS] = ACTIONS(2666),
    [anon_sym_defined_QMARK] = ACTIONS(1398),
    [anon_sym_not] = ACTIONS(2666),
    [anon_sym_BANG] = ACTIONS(1398),
    [anon_sym_TILDE] = ACTIONS(1398),
    [sym_constant] = ACTIONS(2668),
    [sym_identifier] = ACTIONS(2668),
    [sym_instance_variable] = ACTIONS(2666),
    [sym_class_variable] = ACTIONS(2666),
    [sym_global_variable] = ACTIONS(2666),
    [anon_sym_alias] = ACTIONS(2666),
    [anon_sym_false] = ACTIONS(2666),
    [anon_sym_nil] = ACTIONS(2666),
    [anon_sym_self] = ACTIONS(2666),
    [anon_sym_super] = ACTIONS(2666),
    [anon_sym_true] = ACTIONS(2666),
    [anon_sym_undef] = ACTIONS(2666),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(2666),
    [sym_float] = ACTIONS(2668),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1398),
    [anon_sym_TRUE] = ACTIONS(2666),
    [anon_sym_FALSE] = ACTIONS(2666),
    [anon_sym_NIL] = ACTIONS(2666),
    [sym_keyword__FILE__] = ACTIONS(2666),
    [sym_keyword__LINE__] = ACTIONS(2666),
    [sym_keyword__ENCODING__] = ACTIONS(2666),
    [sym__character_literal] = ACTIONS(2666),
    [anon_sym_LBRACK] = ACTIONS(1398),
    [anon_sym_DASH_GT] = ACTIONS(1398),
  },
  [4214] = {
    [sym__statement] = STATE(7491),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [aux_sym_heredoc_end_repeat1] = STATE(7492),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [4215] = {
    [sym__simple_string] = ACTIONS(2552),
    [sym__simple_symbol] = ACTIONS(2552),
    [sym__simple_subshell] = ACTIONS(2552),
    [sym__simple_regex] = ACTIONS(2552),
    [sym__simple_word_list] = ACTIONS(2552),
    [sym__string_beginning] = ACTIONS(2552),
    [sym__symbol_beginning] = ACTIONS(2552),
    [sym__subshell_beginning] = ACTIONS(2552),
    [sym__regex_beginning] = ACTIONS(2552),
    [sym__word_list_beginning] = ACTIONS(2552),
    [sym_heredoc_beginning] = ACTIONS(2552),
    [sym__unary_minus] = ACTIONS(2552),
    [anon_sym_BEGIN] = ACTIONS(2670),
    [anon_sym_LBRACE] = ACTIONS(2552),
    [anon_sym_END] = ACTIONS(2670),
    [anon_sym_def] = ACTIONS(2670),
    [anon_sym_LPAREN] = ACTIONS(2552),
    [anon_sym_COLON_COLON] = ACTIONS(2552),
    [anon_sym_end] = ACTIONS(2670),
    [anon_sym_SEMI] = ACTIONS(2552),
    [anon_sym_STAR] = ACTIONS(2552),
    [anon_sym_class] = ACTIONS(2670),
    [anon_sym_module] = ACTIONS(2670),
    [anon_sym_return] = ACTIONS(2670),
    [anon_sym_yield] = ACTIONS(2670),
    [anon_sym_break] = ACTIONS(2670),
    [anon_sym_next] = ACTIONS(2670),
    [anon_sym_redo] = ACTIONS(2670),
    [anon_sym_retry] = ACTIONS(2670),
    [anon_sym_if] = ACTIONS(2670),
    [anon_sym_unless] = ACTIONS(2670),
    [anon_sym_while] = ACTIONS(2670),
    [anon_sym_until] = ACTIONS(2670),
    [anon_sym_for] = ACTIONS(2670),
    [anon_sym_case] = ACTIONS(2670),
    [anon_sym_when] = ACTIONS(2670),
    [anon_sym_else] = ACTIONS(2670),
    [anon_sym_then] = ACTIONS(2670),
    [anon_sym_begin] = ACTIONS(2670),
    [anon_sym_PLUS] = ACTIONS(2670),
    [anon_sym_defined_QMARK] = ACTIONS(2552),
    [anon_sym_not] = ACTIONS(2670),
    [anon_sym_BANG] = ACTIONS(2552),
    [anon_sym_TILDE] = ACTIONS(2552),
    [sym_constant] = ACTIONS(2672),
    [sym_identifier] = ACTIONS(2672),
    [sym_instance_variable] = ACTIONS(2670),
    [sym_class_variable] = ACTIONS(2670),
    [sym_global_variable] = ACTIONS(2670),
    [anon_sym_alias] = ACTIONS(2670),
    [anon_sym_false] = ACTIONS(2670),
    [anon_sym_nil] = ACTIONS(2670),
    [anon_sym_self] = ACTIONS(2670),
    [anon_sym_super] = ACTIONS(2670),
    [anon_sym_true] = ACTIONS(2670),
    [anon_sym_undef] = ACTIONS(2670),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(2670),
    [sym_float] = ACTIONS(2672),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(2552),
    [anon_sym_TRUE] = ACTIONS(2670),
    [anon_sym_FALSE] = ACTIONS(2670),
    [anon_sym_NIL] = ACTIONS(2670),
    [sym_keyword__FILE__] = ACTIONS(2670),
    [sym_keyword__LINE__] = ACTIONS(2670),
    [sym_keyword__ENCODING__] = ACTIONS(2670),
    [sym__character_literal] = ACTIONS(2670),
    [anon_sym_LBRACK] = ACTIONS(2552),
    [anon_sym_DASH_GT] = ACTIONS(2552),
  },
  [4216] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_pattern] = STATE(7493),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1644),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1645),
    [sym_call] = STATE(1645),
    [sym_method_call] = STATE(61),
    [sym_splat_argument] = STATE(1646),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1647),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1648),
    [sym__variable] = STATE(1645),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(2578),
    [sym__unary_minus] = ACTIONS(2580),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2582),
    [anon_sym_yield] = ACTIONS(2584),
    [anon_sym_break] = ACTIONS(2586),
    [anon_sym_next] = ACTIONS(2588),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2590),
    [anon_sym_defined_QMARK] = ACTIONS(2592),
    [anon_sym_not] = ACTIONS(2594),
    [anon_sym_BANG] = ACTIONS(2596),
    [anon_sym_TILDE] = ACTIONS(2596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4217] = {
    [sym__simple_string] = ACTIONS(5560),
    [sym__simple_symbol] = ACTIONS(5560),
    [sym__simple_subshell] = ACTIONS(5560),
    [sym__simple_regex] = ACTIONS(5560),
    [sym__simple_word_list] = ACTIONS(5560),
    [sym__string_beginning] = ACTIONS(5560),
    [sym__symbol_beginning] = ACTIONS(5560),
    [sym__subshell_beginning] = ACTIONS(5560),
    [sym__regex_beginning] = ACTIONS(5560),
    [sym__word_list_beginning] = ACTIONS(5560),
    [sym_heredoc_beginning] = ACTIONS(5560),
    [sym__unary_minus] = ACTIONS(5560),
    [anon_sym_BEGIN] = ACTIONS(5562),
    [anon_sym_LBRACE] = ACTIONS(5560),
    [anon_sym_END] = ACTIONS(5562),
    [anon_sym_def] = ACTIONS(5562),
    [anon_sym_LPAREN] = ACTIONS(5560),
    [anon_sym_COLON_COLON] = ACTIONS(5560),
    [anon_sym_end] = ACTIONS(5562),
    [anon_sym_SEMI] = ACTIONS(5560),
    [anon_sym_STAR] = ACTIONS(5560),
    [anon_sym_class] = ACTIONS(5562),
    [anon_sym_module] = ACTIONS(5562),
    [anon_sym_return] = ACTIONS(5562),
    [anon_sym_yield] = ACTIONS(5562),
    [anon_sym_break] = ACTIONS(5562),
    [anon_sym_next] = ACTIONS(5562),
    [anon_sym_redo] = ACTIONS(5562),
    [anon_sym_retry] = ACTIONS(5562),
    [anon_sym_if] = ACTIONS(5562),
    [anon_sym_unless] = ACTIONS(5562),
    [anon_sym_while] = ACTIONS(5562),
    [anon_sym_until] = ACTIONS(5562),
    [anon_sym_for] = ACTIONS(5562),
    [anon_sym_case] = ACTIONS(5562),
    [anon_sym_when] = ACTIONS(5562),
    [anon_sym_else] = ACTIONS(5562),
    [anon_sym_begin] = ACTIONS(5562),
    [anon_sym_PLUS] = ACTIONS(5562),
    [anon_sym_defined_QMARK] = ACTIONS(5560),
    [anon_sym_not] = ACTIONS(5562),
    [anon_sym_BANG] = ACTIONS(5560),
    [anon_sym_TILDE] = ACTIONS(5560),
    [sym_constant] = ACTIONS(5564),
    [sym_identifier] = ACTIONS(5564),
    [sym_instance_variable] = ACTIONS(5562),
    [sym_class_variable] = ACTIONS(5562),
    [sym_global_variable] = ACTIONS(5562),
    [anon_sym_alias] = ACTIONS(5562),
    [anon_sym_false] = ACTIONS(5562),
    [anon_sym_nil] = ACTIONS(5562),
    [anon_sym_self] = ACTIONS(5562),
    [anon_sym_super] = ACTIONS(5562),
    [anon_sym_true] = ACTIONS(5562),
    [anon_sym_undef] = ACTIONS(5562),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5562),
    [sym_float] = ACTIONS(5564),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5560),
    [anon_sym_TRUE] = ACTIONS(5562),
    [anon_sym_FALSE] = ACTIONS(5562),
    [anon_sym_NIL] = ACTIONS(5562),
    [sym_keyword__FILE__] = ACTIONS(5562),
    [sym_keyword__LINE__] = ACTIONS(5562),
    [sym_keyword__ENCODING__] = ACTIONS(5562),
    [sym__character_literal] = ACTIONS(5562),
    [anon_sym_LBRACK] = ACTIONS(5560),
    [anon_sym_DASH_GT] = ACTIONS(5560),
  },
  [4218] = {
    [sym__statements] = STATE(7502),
    [sym__top_level_statement] = STATE(7503),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(7504),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_when] = STATE(7505),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(7505),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7506),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(7507),
    [sym_call] = STATE(7507),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(7508),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7509),
    [sym__variable] = STATE(7507),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(10234),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(10236),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(10238),
    [anon_sym_yield] = ACTIONS(10240),
    [anon_sym_break] = ACTIONS(10242),
    [anon_sym_next] = ACTIONS(10244),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_when] = ACTIONS(678),
    [anon_sym_else] = ACTIONS(5588),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10246),
    [anon_sym_defined_QMARK] = ACTIONS(10248),
    [anon_sym_not] = ACTIONS(10250),
    [anon_sym_BANG] = ACTIONS(10252),
    [anon_sym_TILDE] = ACTIONS(10252),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4219] = {
    [sym__simple_string] = ACTIONS(5560),
    [sym__simple_symbol] = ACTIONS(5560),
    [sym__simple_subshell] = ACTIONS(5560),
    [sym__simple_regex] = ACTIONS(5560),
    [sym__simple_word_list] = ACTIONS(5560),
    [sym__string_beginning] = ACTIONS(5560),
    [sym__symbol_beginning] = ACTIONS(5560),
    [sym__subshell_beginning] = ACTIONS(5560),
    [sym__regex_beginning] = ACTIONS(5560),
    [sym__word_list_beginning] = ACTIONS(5560),
    [sym_heredoc_beginning] = ACTIONS(5560),
    [sym__unary_minus] = ACTIONS(5560),
    [anon_sym_BEGIN] = ACTIONS(5562),
    [anon_sym_LBRACE] = ACTIONS(5560),
    [anon_sym_END] = ACTIONS(5562),
    [anon_sym_def] = ACTIONS(5562),
    [anon_sym_LPAREN] = ACTIONS(5560),
    [anon_sym_COLON_COLON] = ACTIONS(5560),
    [anon_sym_end] = ACTIONS(5562),
    [anon_sym_SEMI] = ACTIONS(5560),
    [anon_sym_STAR] = ACTIONS(5560),
    [anon_sym_class] = ACTIONS(5562),
    [anon_sym_module] = ACTIONS(5562),
    [anon_sym_return] = ACTIONS(5562),
    [anon_sym_yield] = ACTIONS(5562),
    [anon_sym_break] = ACTIONS(5562),
    [anon_sym_next] = ACTIONS(5562),
    [anon_sym_redo] = ACTIONS(5562),
    [anon_sym_retry] = ACTIONS(5562),
    [anon_sym_if] = ACTIONS(5562),
    [anon_sym_unless] = ACTIONS(5562),
    [anon_sym_while] = ACTIONS(5562),
    [anon_sym_until] = ACTIONS(5562),
    [anon_sym_for] = ACTIONS(5562),
    [anon_sym_case] = ACTIONS(5562),
    [anon_sym_when] = ACTIONS(5562),
    [anon_sym_else] = ACTIONS(5562),
    [anon_sym_then] = ACTIONS(10254),
    [anon_sym_begin] = ACTIONS(5562),
    [anon_sym_PLUS] = ACTIONS(5562),
    [anon_sym_defined_QMARK] = ACTIONS(5560),
    [anon_sym_not] = ACTIONS(5562),
    [anon_sym_BANG] = ACTIONS(5560),
    [anon_sym_TILDE] = ACTIONS(5560),
    [sym_constant] = ACTIONS(5564),
    [sym_identifier] = ACTIONS(5564),
    [sym_instance_variable] = ACTIONS(5562),
    [sym_class_variable] = ACTIONS(5562),
    [sym_global_variable] = ACTIONS(5562),
    [anon_sym_alias] = ACTIONS(5562),
    [anon_sym_false] = ACTIONS(5562),
    [anon_sym_nil] = ACTIONS(5562),
    [anon_sym_self] = ACTIONS(5562),
    [anon_sym_super] = ACTIONS(5562),
    [anon_sym_true] = ACTIONS(5562),
    [anon_sym_undef] = ACTIONS(5562),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5562),
    [sym_float] = ACTIONS(5564),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5560),
    [anon_sym_TRUE] = ACTIONS(5562),
    [anon_sym_FALSE] = ACTIONS(5562),
    [anon_sym_NIL] = ACTIONS(5562),
    [sym_keyword__FILE__] = ACTIONS(5562),
    [sym_keyword__LINE__] = ACTIONS(5562),
    [sym_keyword__ENCODING__] = ACTIONS(5562),
    [sym__character_literal] = ACTIONS(5562),
    [anon_sym_LBRACK] = ACTIONS(5560),
    [anon_sym_DASH_GT] = ACTIONS(5560),
  },
  [4220] = {
    [sym__then] = STATE(7512),
    [sym_heredoc_end] = STATE(4215),
    [sym__terminator] = STATE(4219),
    [sym__simple_heredoc_body] = ACTIONS(6080),
    [sym__heredoc_body_beginning] = ACTIONS(6082),
    [sym__line_break] = ACTIONS(6084),
    [anon_sym_COMMA] = ACTIONS(10256),
    [anon_sym_SEMI] = ACTIONS(6084),
    [anon_sym_then] = ACTIONS(6088),
    [sym_comment] = ACTIONS(110),
  },
  [4221] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7513),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1645),
    [sym_call] = STATE(1645),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1647),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1648),
    [sym__variable] = STATE(1645),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2580),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2582),
    [anon_sym_yield] = ACTIONS(2584),
    [anon_sym_break] = ACTIONS(2586),
    [anon_sym_next] = ACTIONS(2588),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2590),
    [anon_sym_defined_QMARK] = ACTIONS(2592),
    [anon_sym_not] = ACTIONS(2594),
    [anon_sym_BANG] = ACTIONS(2596),
    [anon_sym_TILDE] = ACTIONS(2596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4222] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7514),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1645),
    [sym_call] = STATE(1645),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1647),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1648),
    [sym__variable] = STATE(1645),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2580),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2582),
    [anon_sym_yield] = ACTIONS(2584),
    [anon_sym_break] = ACTIONS(2586),
    [anon_sym_next] = ACTIONS(2588),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2590),
    [anon_sym_defined_QMARK] = ACTIONS(2592),
    [anon_sym_not] = ACTIONS(2594),
    [anon_sym_BANG] = ACTIONS(2596),
    [anon_sym_TILDE] = ACTIONS(2596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4223] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7515),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1645),
    [sym_call] = STATE(1645),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1647),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1648),
    [sym__variable] = STATE(1645),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2580),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2582),
    [anon_sym_yield] = ACTIONS(2584),
    [anon_sym_break] = ACTIONS(2586),
    [anon_sym_next] = ACTIONS(2588),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2590),
    [anon_sym_defined_QMARK] = ACTIONS(2592),
    [anon_sym_not] = ACTIONS(2594),
    [anon_sym_BANG] = ACTIONS(2596),
    [anon_sym_TILDE] = ACTIONS(2596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4224] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7516),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1645),
    [sym_call] = STATE(1645),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1647),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1648),
    [sym__variable] = STATE(1645),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2580),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2582),
    [anon_sym_yield] = ACTIONS(2584),
    [anon_sym_break] = ACTIONS(2586),
    [anon_sym_next] = ACTIONS(2588),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2590),
    [anon_sym_defined_QMARK] = ACTIONS(2592),
    [anon_sym_not] = ACTIONS(2594),
    [anon_sym_BANG] = ACTIONS(2596),
    [anon_sym_TILDE] = ACTIONS(2596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4225] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7517),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1645),
    [sym_call] = STATE(1645),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1647),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1648),
    [sym__variable] = STATE(1645),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2580),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2582),
    [anon_sym_yield] = ACTIONS(2584),
    [anon_sym_break] = ACTIONS(2586),
    [anon_sym_next] = ACTIONS(2588),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2590),
    [anon_sym_defined_QMARK] = ACTIONS(2592),
    [anon_sym_not] = ACTIONS(2594),
    [anon_sym_BANG] = ACTIONS(2596),
    [anon_sym_TILDE] = ACTIONS(2596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4226] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7518),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1645),
    [sym_call] = STATE(1645),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1647),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1648),
    [sym__variable] = STATE(1645),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2580),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2582),
    [anon_sym_yield] = ACTIONS(2584),
    [anon_sym_break] = ACTIONS(2586),
    [anon_sym_next] = ACTIONS(2588),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2590),
    [anon_sym_defined_QMARK] = ACTIONS(2592),
    [anon_sym_not] = ACTIONS(2594),
    [anon_sym_BANG] = ACTIONS(2596),
    [anon_sym_TILDE] = ACTIONS(2596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4227] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(7519),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [4228] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7520),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1645),
    [sym_call] = STATE(1645),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1647),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1648),
    [sym__variable] = STATE(1645),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2580),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2582),
    [anon_sym_yield] = ACTIONS(2584),
    [anon_sym_break] = ACTIONS(2586),
    [anon_sym_next] = ACTIONS(2588),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2590),
    [anon_sym_defined_QMARK] = ACTIONS(2592),
    [anon_sym_not] = ACTIONS(2594),
    [anon_sym_BANG] = ACTIONS(2596),
    [anon_sym_TILDE] = ACTIONS(2596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4229] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7521),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1645),
    [sym_call] = STATE(1645),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1647),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1648),
    [sym__variable] = STATE(1645),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2580),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2582),
    [anon_sym_yield] = ACTIONS(2584),
    [anon_sym_break] = ACTIONS(2586),
    [anon_sym_next] = ACTIONS(2588),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2590),
    [anon_sym_defined_QMARK] = ACTIONS(2592),
    [anon_sym_not] = ACTIONS(2594),
    [anon_sym_BANG] = ACTIONS(2596),
    [anon_sym_TILDE] = ACTIONS(2596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4230] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7522),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1645),
    [sym_call] = STATE(1645),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1647),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1648),
    [sym__variable] = STATE(1645),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2580),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2582),
    [anon_sym_yield] = ACTIONS(2584),
    [anon_sym_break] = ACTIONS(2586),
    [anon_sym_next] = ACTIONS(2588),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2590),
    [anon_sym_defined_QMARK] = ACTIONS(2592),
    [anon_sym_not] = ACTIONS(2594),
    [anon_sym_BANG] = ACTIONS(2596),
    [anon_sym_TILDE] = ACTIONS(2596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4231] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7523),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1645),
    [sym_call] = STATE(1645),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1647),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1648),
    [sym__variable] = STATE(1645),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2580),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2582),
    [anon_sym_yield] = ACTIONS(2584),
    [anon_sym_break] = ACTIONS(2586),
    [anon_sym_next] = ACTIONS(2588),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2590),
    [anon_sym_defined_QMARK] = ACTIONS(2592),
    [anon_sym_not] = ACTIONS(2594),
    [anon_sym_BANG] = ACTIONS(2596),
    [anon_sym_TILDE] = ACTIONS(2596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4232] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7524),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1645),
    [sym_call] = STATE(1645),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1647),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1648),
    [sym__variable] = STATE(1645),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2580),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2582),
    [anon_sym_yield] = ACTIONS(2584),
    [anon_sym_break] = ACTIONS(2586),
    [anon_sym_next] = ACTIONS(2588),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2590),
    [anon_sym_defined_QMARK] = ACTIONS(2592),
    [anon_sym_not] = ACTIONS(2594),
    [anon_sym_BANG] = ACTIONS(2596),
    [anon_sym_TILDE] = ACTIONS(2596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4233] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(7533),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(7534),
    [sym_call] = STATE(7534),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(7535),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7536),
    [sym__variable] = STATE(7534),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(10258),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(10260),
    [anon_sym_yield] = ACTIONS(10262),
    [anon_sym_break] = ACTIONS(10264),
    [anon_sym_next] = ACTIONS(10266),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(10268),
    [anon_sym_defined_QMARK] = ACTIONS(10270),
    [anon_sym_not] = ACTIONS(10272),
    [anon_sym_BANG] = ACTIONS(10274),
    [anon_sym_TILDE] = ACTIONS(10274),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [4234] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(7537),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(7534),
    [sym_call] = STATE(7534),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(7535),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7536),
    [sym__variable] = STATE(7534),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(10258),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(10260),
    [anon_sym_yield] = ACTIONS(10262),
    [anon_sym_break] = ACTIONS(10264),
    [anon_sym_next] = ACTIONS(10266),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(10268),
    [anon_sym_defined_QMARK] = ACTIONS(10270),
    [anon_sym_not] = ACTIONS(10272),
    [anon_sym_BANG] = ACTIONS(10274),
    [anon_sym_TILDE] = ACTIONS(10274),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [4235] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7542),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4247),
    [sym_call] = STATE(4247),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4249),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4250),
    [sym__variable] = STATE(4247),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6128),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10276),
    [anon_sym_yield] = ACTIONS(10278),
    [anon_sym_break] = ACTIONS(10280),
    [anon_sym_next] = ACTIONS(10282),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10284),
    [anon_sym_defined_QMARK] = ACTIONS(6138),
    [anon_sym_not] = ACTIONS(10286),
    [anon_sym_BANG] = ACTIONS(6144),
    [anon_sym_TILDE] = ACTIONS(6144),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4236] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(7543),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(7534),
    [sym_call] = STATE(7534),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(7535),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7536),
    [sym__variable] = STATE(7534),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(10258),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(10260),
    [anon_sym_yield] = ACTIONS(10262),
    [anon_sym_break] = ACTIONS(10264),
    [anon_sym_next] = ACTIONS(10266),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(10268),
    [anon_sym_defined_QMARK] = ACTIONS(10270),
    [anon_sym_not] = ACTIONS(10272),
    [anon_sym_BANG] = ACTIONS(10274),
    [anon_sym_TILDE] = ACTIONS(10274),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [4237] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4414),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4247),
    [sym_call] = STATE(4247),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2147),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(4415),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4249),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4250),
    [sym__variable] = STATE(4247),
    [sym_reserved_identifier] = STATE(4416),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(4417),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(6380),
    [sym__splat_star] = ACTIONS(6382),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(6128),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(544),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(6130),
    [anon_sym_yield] = ACTIONS(6132),
    [anon_sym_break] = ACTIONS(6134),
    [anon_sym_next] = ACTIONS(6136),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(544),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_PLUS_EQ] = ACTIONS(532),
    [anon_sym_DASH_EQ] = ACTIONS(532),
    [anon_sym_STAR_EQ] = ACTIONS(532),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(532),
    [anon_sym_SLASH_EQ] = ACTIONS(532),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(532),
    [anon_sym_PIPE_EQ] = ACTIONS(532),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(532),
    [anon_sym_AMP_EQ] = ACTIONS(532),
    [anon_sym_PERCENT_EQ] = ACTIONS(532),
    [anon_sym_GT_GT_EQ] = ACTIONS(532),
    [anon_sym_LT_LT_EQ] = ACTIONS(532),
    [anon_sym_CARET_EQ] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(544),
    [anon_sym_AMP_AMP] = ACTIONS(544),
    [anon_sym_LT_LT] = ACTIONS(544),
    [anon_sym_GT_GT] = ACTIONS(544),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(544),
    [anon_sym_PERCENT] = ACTIONS(544),
    [anon_sym_defined_QMARK] = ACTIONS(6138),
    [anon_sym_not] = ACTIONS(6140),
    [anon_sym_BANG] = ACTIONS(6142),
    [anon_sym_TILDE] = ACTIONS(6144),
    [sym_constant] = ACTIONS(6384),
    [sym_identifier] = ACTIONS(6384),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4238] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4414),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4247),
    [sym_call] = STATE(4247),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2148),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(4415),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4249),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4250),
    [sym__variable] = STATE(4247),
    [sym_reserved_identifier] = STATE(4416),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(4417),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(6380),
    [sym__splat_star] = ACTIONS(6382),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(6128),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(604),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(6130),
    [anon_sym_yield] = ACTIONS(6132),
    [anon_sym_break] = ACTIONS(6134),
    [anon_sym_next] = ACTIONS(6136),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(604),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_PLUS_EQ] = ACTIONS(602),
    [anon_sym_DASH_EQ] = ACTIONS(602),
    [anon_sym_STAR_EQ] = ACTIONS(602),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(602),
    [anon_sym_SLASH_EQ] = ACTIONS(602),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(602),
    [anon_sym_PIPE_EQ] = ACTIONS(602),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(602),
    [anon_sym_AMP_EQ] = ACTIONS(602),
    [anon_sym_PERCENT_EQ] = ACTIONS(602),
    [anon_sym_GT_GT_EQ] = ACTIONS(602),
    [anon_sym_LT_LT_EQ] = ACTIONS(602),
    [anon_sym_CARET_EQ] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(604),
    [anon_sym_AMP_AMP] = ACTIONS(604),
    [anon_sym_LT_LT] = ACTIONS(604),
    [anon_sym_GT_GT] = ACTIONS(604),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(604),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(604),
    [anon_sym_PERCENT] = ACTIONS(604),
    [anon_sym_defined_QMARK] = ACTIONS(6138),
    [anon_sym_not] = ACTIONS(6140),
    [anon_sym_BANG] = ACTIONS(6142),
    [anon_sym_TILDE] = ACTIONS(6144),
    [sym_constant] = ACTIONS(6384),
    [sym_identifier] = ACTIONS(6384),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4239] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4414),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4247),
    [sym_call] = STATE(4247),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2149),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(4415),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4249),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4250),
    [sym__variable] = STATE(4247),
    [sym_reserved_identifier] = STATE(4416),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(4417),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(6380),
    [sym__splat_star] = ACTIONS(6382),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(6128),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(608),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(6130),
    [anon_sym_yield] = ACTIONS(6132),
    [anon_sym_break] = ACTIONS(6134),
    [anon_sym_next] = ACTIONS(6136),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(608),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_PLUS_EQ] = ACTIONS(606),
    [anon_sym_DASH_EQ] = ACTIONS(606),
    [anon_sym_STAR_EQ] = ACTIONS(606),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(606),
    [anon_sym_SLASH_EQ] = ACTIONS(606),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(606),
    [anon_sym_PIPE_EQ] = ACTIONS(606),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(606),
    [anon_sym_AMP_EQ] = ACTIONS(606),
    [anon_sym_PERCENT_EQ] = ACTIONS(606),
    [anon_sym_GT_GT_EQ] = ACTIONS(606),
    [anon_sym_LT_LT_EQ] = ACTIONS(606),
    [anon_sym_CARET_EQ] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(608),
    [anon_sym_AMP_AMP] = ACTIONS(608),
    [anon_sym_LT_LT] = ACTIONS(608),
    [anon_sym_GT_GT] = ACTIONS(608),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(608),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(608),
    [anon_sym_PERCENT] = ACTIONS(608),
    [anon_sym_defined_QMARK] = ACTIONS(6138),
    [anon_sym_not] = ACTIONS(6140),
    [anon_sym_BANG] = ACTIONS(6142),
    [anon_sym_TILDE] = ACTIONS(6144),
    [sym_constant] = ACTIONS(6384),
    [sym_identifier] = ACTIONS(6384),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4240] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4414),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4247),
    [sym_call] = STATE(4247),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2150),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(4415),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4249),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4250),
    [sym__variable] = STATE(4247),
    [sym_reserved_identifier] = STATE(4416),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(4417),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(6380),
    [sym__splat_star] = ACTIONS(6382),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(6128),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(612),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(6130),
    [anon_sym_yield] = ACTIONS(6132),
    [anon_sym_break] = ACTIONS(6134),
    [anon_sym_next] = ACTIONS(6136),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(612),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_PLUS_EQ] = ACTIONS(610),
    [anon_sym_DASH_EQ] = ACTIONS(610),
    [anon_sym_STAR_EQ] = ACTIONS(610),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(610),
    [anon_sym_SLASH_EQ] = ACTIONS(610),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(610),
    [anon_sym_PIPE_EQ] = ACTIONS(610),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(610),
    [anon_sym_AMP_EQ] = ACTIONS(610),
    [anon_sym_PERCENT_EQ] = ACTIONS(610),
    [anon_sym_GT_GT_EQ] = ACTIONS(610),
    [anon_sym_LT_LT_EQ] = ACTIONS(610),
    [anon_sym_CARET_EQ] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(612),
    [anon_sym_AMP_AMP] = ACTIONS(612),
    [anon_sym_LT_LT] = ACTIONS(612),
    [anon_sym_GT_GT] = ACTIONS(612),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(612),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(612),
    [anon_sym_PERCENT] = ACTIONS(612),
    [anon_sym_defined_QMARK] = ACTIONS(6138),
    [anon_sym_not] = ACTIONS(6140),
    [anon_sym_BANG] = ACTIONS(6142),
    [anon_sym_TILDE] = ACTIONS(6144),
    [sym_constant] = ACTIONS(6384),
    [sym_identifier] = ACTIONS(6384),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4241] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7544),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4247),
    [sym_call] = STATE(4247),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4249),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4250),
    [sym__variable] = STATE(4247),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6128),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10276),
    [anon_sym_yield] = ACTIONS(10278),
    [anon_sym_break] = ACTIONS(10280),
    [anon_sym_next] = ACTIONS(10282),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10284),
    [anon_sym_defined_QMARK] = ACTIONS(6138),
    [anon_sym_not] = ACTIONS(10286),
    [anon_sym_BANG] = ACTIONS(6144),
    [anon_sym_TILDE] = ACTIONS(6144),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4242] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7545),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4247),
    [sym_call] = STATE(4247),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4249),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4250),
    [sym__variable] = STATE(4247),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6128),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10276),
    [anon_sym_yield] = ACTIONS(10278),
    [anon_sym_break] = ACTIONS(10280),
    [anon_sym_next] = ACTIONS(10282),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10284),
    [anon_sym_defined_QMARK] = ACTIONS(6138),
    [anon_sym_not] = ACTIONS(10286),
    [anon_sym_BANG] = ACTIONS(6144),
    [anon_sym_TILDE] = ACTIONS(6144),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4243] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7545),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4247),
    [sym_call] = STATE(4247),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4249),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4250),
    [sym__variable] = STATE(4247),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(6128),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10276),
    [anon_sym_yield] = ACTIONS(10278),
    [anon_sym_break] = ACTIONS(10280),
    [anon_sym_next] = ACTIONS(10282),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10284),
    [anon_sym_defined_QMARK] = ACTIONS(6138),
    [anon_sym_not] = ACTIONS(10286),
    [anon_sym_BANG] = ACTIONS(6144),
    [anon_sym_TILDE] = ACTIONS(6144),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4244] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(2168),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4247),
    [sym_call] = STATE(4247),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4249),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4250),
    [sym__variable] = STATE(4247),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6128),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10276),
    [anon_sym_yield] = ACTIONS(10278),
    [anon_sym_break] = ACTIONS(10280),
    [anon_sym_next] = ACTIONS(10282),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10284),
    [anon_sym_defined_QMARK] = ACTIONS(6138),
    [anon_sym_not] = ACTIONS(10286),
    [anon_sym_BANG] = ACTIONS(6144),
    [anon_sym_TILDE] = ACTIONS(6144),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4245] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(10288),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [4246] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__line_break] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(10290),
    [sym__binary_star] = ACTIONS(10292),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(10294),
    [anon_sym_SEMI] = ACTIONS(2210),
    [anon_sym_STAR_STAR] = ACTIONS(10296),
    [anon_sym_AMP] = ACTIONS(10298),
    [anon_sym_EQ] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(10300),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_then] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(10288),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_PLUS_EQ] = ACTIONS(2210),
    [anon_sym_DASH_EQ] = ACTIONS(2210),
    [anon_sym_STAR_EQ] = ACTIONS(2210),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2210),
    [anon_sym_SLASH_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2210),
    [anon_sym_AMP_EQ] = ACTIONS(2210),
    [anon_sym_PERCENT_EQ] = ACTIONS(2210),
    [anon_sym_GT_GT_EQ] = ACTIONS(2210),
    [anon_sym_LT_LT_EQ] = ACTIONS(2210),
    [anon_sym_CARET_EQ] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(10302),
    [anon_sym_DOT_DOT] = ACTIONS(10304),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10306),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(10308),
    [anon_sym_AMP_AMP] = ACTIONS(10308),
    [anon_sym_LT_LT] = ACTIONS(10310),
    [anon_sym_GT_GT] = ACTIONS(10310),
    [anon_sym_EQ_EQ] = ACTIONS(10308),
    [anon_sym_BANG_EQ] = ACTIONS(10312),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10312),
    [anon_sym_LT_EQ_GT] = ACTIONS(10312),
    [anon_sym_EQ_TILDE] = ACTIONS(10312),
    [anon_sym_BANG_TILDE] = ACTIONS(10312),
    [anon_sym_LT_EQ] = ACTIONS(10300),
    [anon_sym_GT] = ACTIONS(10300),
    [anon_sym_GT_EQ] = ACTIONS(10314),
    [anon_sym_CARET] = ACTIONS(10294),
    [anon_sym_PLUS] = ACTIONS(10316),
    [anon_sym_SLASH] = ACTIONS(10296),
    [anon_sym_PERCENT] = ACTIONS(10296),
    [sym_comment] = ACTIONS(256),
  },
  [4247] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4414),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4247),
    [sym_call] = STATE(4247),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2190),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(4415),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_do_block] = STATE(1439),
    [sym_block] = STATE(1439),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4249),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4250),
    [sym__variable] = STATE(4247),
    [sym_reserved_identifier] = STATE(4416),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(4417),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(6380),
    [sym__splat_star] = ACTIONS(6382),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(6128),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(2258),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(6130),
    [anon_sym_yield] = ACTIONS(6132),
    [anon_sym_break] = ACTIONS(6134),
    [anon_sym_next] = ACTIONS(6136),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(982),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(982),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(980),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(6138),
    [anon_sym_not] = ACTIONS(6140),
    [anon_sym_BANG] = ACTIONS(6142),
    [anon_sym_TILDE] = ACTIONS(6144),
    [sym_constant] = ACTIONS(6384),
    [sym_identifier] = ACTIONS(6384),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4248] = {
    [sym_heredoc_end] = STATE(2196),
    [aux_sym_argument_list_repeat1] = STATE(7560),
    [aux_sym_argument_list_repeat2] = STATE(2197),
    [sym__simple_heredoc_body] = ACTIONS(3354),
    [sym__heredoc_body_beginning] = ACTIONS(3356),
    [sym__line_break] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(10318),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_STAR_STAR] = ACTIONS(2274),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_EQ] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_then] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_PLUS_EQ] = ACTIONS(2272),
    [anon_sym_DASH_EQ] = ACTIONS(2272),
    [anon_sym_STAR_EQ] = ACTIONS(2272),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2272),
    [anon_sym_SLASH_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2272),
    [anon_sym_AMP_EQ] = ACTIONS(2272),
    [anon_sym_PERCENT_EQ] = ACTIONS(2272),
    [anon_sym_GT_GT_EQ] = ACTIONS(2272),
    [anon_sym_LT_LT_EQ] = ACTIONS(2272),
    [anon_sym_CARET_EQ] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2274),
    [anon_sym_AMP_AMP] = ACTIONS(2274),
    [anon_sym_LT_LT] = ACTIONS(2274),
    [anon_sym_GT_GT] = ACTIONS(2274),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2274),
    [anon_sym_PLUS] = ACTIONS(2274),
    [anon_sym_SLASH] = ACTIONS(2274),
    [anon_sym_PERCENT] = ACTIONS(2274),
    [sym_comment] = ACTIONS(256),
  },
  [4249] = {
    [anon_sym_EQ] = ACTIONS(10320),
    [sym_comment] = ACTIONS(256),
  },
  [4250] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(10322),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_then] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(10324),
    [anon_sym_DASH_EQ] = ACTIONS(10324),
    [anon_sym_STAR_EQ] = ACTIONS(10324),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(10324),
    [anon_sym_SLASH_EQ] = ACTIONS(10324),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(10324),
    [anon_sym_PIPE_EQ] = ACTIONS(10324),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(10324),
    [anon_sym_AMP_EQ] = ACTIONS(10324),
    [anon_sym_PERCENT_EQ] = ACTIONS(10324),
    [anon_sym_GT_GT_EQ] = ACTIONS(10324),
    [anon_sym_LT_LT_EQ] = ACTIONS(10324),
    [anon_sym_CARET_EQ] = ACTIONS(10324),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [4251] = {
    [sym__keyword_colon] = ACTIONS(10326),
    [sym_comment] = ACTIONS(110),
  },
  [4252] = {
    [sym_string] = STATE(2203),
    [aux_sym_chained_string_repeat1] = STATE(2204),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(10288),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_then] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(3266),
  },
  [4253] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7565),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1645),
    [sym_call] = STATE(1645),
    [sym_method_call] = STATE(61),
    [sym_splat_argument] = STATE(2211),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_right_assignment_list] = STATE(2212),
    [sym__arg_or_splat_arg] = STATE(7566),
    [sym_left_assignment_list] = STATE(1647),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1648),
    [sym__variable] = STATE(1645),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(10328),
    [sym__unary_minus] = ACTIONS(2580),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2582),
    [anon_sym_yield] = ACTIONS(2584),
    [anon_sym_break] = ACTIONS(2586),
    [anon_sym_next] = ACTIONS(2588),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2590),
    [anon_sym_defined_QMARK] = ACTIONS(2592),
    [anon_sym_not] = ACTIONS(2594),
    [anon_sym_BANG] = ACTIONS(2596),
    [anon_sym_TILDE] = ACTIONS(2596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4254] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7567),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1645),
    [sym_call] = STATE(1645),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1647),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1648),
    [sym__variable] = STATE(1645),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2580),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2582),
    [anon_sym_yield] = ACTIONS(2584),
    [anon_sym_break] = ACTIONS(2586),
    [anon_sym_next] = ACTIONS(2588),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2590),
    [anon_sym_defined_QMARK] = ACTIONS(2592),
    [anon_sym_not] = ACTIONS(2594),
    [anon_sym_BANG] = ACTIONS(2596),
    [anon_sym_TILDE] = ACTIONS(2596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4255] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__line_break] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(2602),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_SEMI] = ACTIONS(7008),
    [anon_sym_STAR_STAR] = ACTIONS(2606),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_when] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7008),
    [anon_sym_AMP_AMP] = ACTIONS(7008),
    [anon_sym_LT_LT] = ACTIONS(7008),
    [anon_sym_GT_GT] = ACTIONS(7008),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7008),
    [anon_sym_PLUS] = ACTIONS(7008),
    [anon_sym_SLASH] = ACTIONS(2606),
    [anon_sym_PERCENT] = ACTIONS(2606),
    [sym_comment] = ACTIONS(110),
  },
  [4256] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__line_break] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_SEMI] = ACTIONS(7012),
    [anon_sym_STAR_STAR] = ACTIONS(2606),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_when] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7012),
    [anon_sym_AMP_AMP] = ACTIONS(7012),
    [anon_sym_LT_LT] = ACTIONS(7012),
    [anon_sym_GT_GT] = ACTIONS(7012),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7012),
    [anon_sym_PLUS] = ACTIONS(7012),
    [anon_sym_SLASH] = ACTIONS(7012),
    [anon_sym_PERCENT] = ACTIONS(7012),
    [sym_comment] = ACTIONS(110),
  },
  [4257] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(2600),
    [sym__binary_star] = ACTIONS(2602),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(2606),
    [anon_sym_AMP] = ACTIONS(2608),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_when] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(2624),
    [anon_sym_GT_GT] = ACTIONS(2624),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(2632),
    [anon_sym_SLASH] = ACTIONS(2606),
    [anon_sym_PERCENT] = ACTIONS(2606),
    [sym_comment] = ACTIONS(110),
  },
  [4258] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(2606),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_when] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7016),
    [anon_sym_PERCENT] = ACTIONS(7016),
    [sym_comment] = ACTIONS(110),
  },
  [4259] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(2600),
    [sym__binary_star] = ACTIONS(2602),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(2606),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_when] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(2624),
    [anon_sym_GT_GT] = ACTIONS(2624),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(2632),
    [anon_sym_SLASH] = ACTIONS(2606),
    [anon_sym_PERCENT] = ACTIONS(2606),
    [sym_comment] = ACTIONS(110),
  },
  [4260] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(2600),
    [sym__binary_star] = ACTIONS(2602),
    [anon_sym_PIPE] = ACTIONS(2604),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(2606),
    [anon_sym_AMP] = ACTIONS(2608),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_when] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(2624),
    [anon_sym_GT_GT] = ACTIONS(2624),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(2630),
    [anon_sym_PLUS] = ACTIONS(2632),
    [anon_sym_SLASH] = ACTIONS(2606),
    [anon_sym_PERCENT] = ACTIONS(2606),
    [sym_comment] = ACTIONS(110),
  },
  [4261] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(10330),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [4262] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__line_break] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(2600),
    [sym__binary_star] = ACTIONS(2602),
    [anon_sym_PIPE] = ACTIONS(2604),
    [anon_sym_SEMI] = ACTIONS(7108),
    [anon_sym_STAR_STAR] = ACTIONS(2606),
    [anon_sym_AMP] = ACTIONS(2608),
    [anon_sym_LT] = ACTIONS(2610),
    [anon_sym_when] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(2616),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2618),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(2622),
    [anon_sym_AMP_AMP] = ACTIONS(2622),
    [anon_sym_LT_LT] = ACTIONS(2624),
    [anon_sym_GT_GT] = ACTIONS(2624),
    [anon_sym_EQ_EQ] = ACTIONS(2626),
    [anon_sym_BANG_EQ] = ACTIONS(2622),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2622),
    [anon_sym_LT_EQ_GT] = ACTIONS(2622),
    [anon_sym_EQ_TILDE] = ACTIONS(2622),
    [anon_sym_BANG_TILDE] = ACTIONS(2622),
    [anon_sym_LT_EQ] = ACTIONS(2610),
    [anon_sym_GT] = ACTIONS(2610),
    [anon_sym_GT_EQ] = ACTIONS(2628),
    [anon_sym_CARET] = ACTIONS(2630),
    [anon_sym_PLUS] = ACTIONS(2632),
    [anon_sym_SLASH] = ACTIONS(2606),
    [anon_sym_PERCENT] = ACTIONS(2606),
    [sym_comment] = ACTIONS(110),
  },
  [4263] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(2600),
    [sym__binary_star] = ACTIONS(2602),
    [anon_sym_PIPE] = ACTIONS(2604),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(2606),
    [anon_sym_AMP] = ACTIONS(2608),
    [anon_sym_LT] = ACTIONS(2610),
    [anon_sym_when] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(2614),
    [anon_sym_DOT_DOT] = ACTIONS(2616),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2618),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(2622),
    [anon_sym_AMP_AMP] = ACTIONS(2622),
    [anon_sym_LT_LT] = ACTIONS(2624),
    [anon_sym_GT_GT] = ACTIONS(2624),
    [anon_sym_EQ_EQ] = ACTIONS(2626),
    [anon_sym_BANG_EQ] = ACTIONS(2622),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2622),
    [anon_sym_LT_EQ_GT] = ACTIONS(2622),
    [anon_sym_EQ_TILDE] = ACTIONS(2622),
    [anon_sym_BANG_TILDE] = ACTIONS(2622),
    [anon_sym_LT_EQ] = ACTIONS(2610),
    [anon_sym_GT] = ACTIONS(2610),
    [anon_sym_GT_EQ] = ACTIONS(2628),
    [anon_sym_CARET] = ACTIONS(2630),
    [anon_sym_PLUS] = ACTIONS(2632),
    [anon_sym_SLASH] = ACTIONS(2606),
    [anon_sym_PERCENT] = ACTIONS(2606),
    [sym_comment] = ACTIONS(110),
  },
  [4264] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(2600),
    [sym__binary_star] = ACTIONS(2602),
    [anon_sym_PIPE] = ACTIONS(2604),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(2606),
    [anon_sym_AMP] = ACTIONS(2608),
    [anon_sym_LT] = ACTIONS(2610),
    [anon_sym_when] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(2624),
    [anon_sym_GT_GT] = ACTIONS(2624),
    [anon_sym_EQ_EQ] = ACTIONS(2626),
    [anon_sym_BANG_EQ] = ACTIONS(2622),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2622),
    [anon_sym_LT_EQ_GT] = ACTIONS(2622),
    [anon_sym_EQ_TILDE] = ACTIONS(2622),
    [anon_sym_BANG_TILDE] = ACTIONS(2622),
    [anon_sym_LT_EQ] = ACTIONS(2610),
    [anon_sym_GT] = ACTIONS(2610),
    [anon_sym_GT_EQ] = ACTIONS(2628),
    [anon_sym_CARET] = ACTIONS(2630),
    [anon_sym_PLUS] = ACTIONS(2632),
    [anon_sym_SLASH] = ACTIONS(2606),
    [anon_sym_PERCENT] = ACTIONS(2606),
    [sym_comment] = ACTIONS(110),
  },
  [4265] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(2600),
    [sym__binary_star] = ACTIONS(2602),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(2606),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_when] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(2632),
    [anon_sym_SLASH] = ACTIONS(2606),
    [anon_sym_PERCENT] = ACTIONS(2606),
    [sym_comment] = ACTIONS(110),
  },
  [4266] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(2602),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(2606),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_when] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(2606),
    [anon_sym_PERCENT] = ACTIONS(2606),
    [sym_comment] = ACTIONS(110),
  },
  [4267] = {
    [sym__simple_heredoc_body] = ACTIONS(10332),
    [sym__heredoc_body_beginning] = ACTIONS(10332),
    [sym__line_break] = ACTIONS(10332),
    [sym__element_reference_left_bracket] = ACTIONS(10332),
    [sym__scope_double_colon] = ACTIONS(10332),
    [sym__binary_minus] = ACTIONS(10332),
    [sym__binary_star] = ACTIONS(10332),
    [ts_builtin_sym_end] = ACTIONS(10332),
    [anon_sym___END__] = ACTIONS(10332),
    [anon_sym_LBRACE] = ACTIONS(10332),
    [anon_sym_RBRACE] = ACTIONS(10332),
    [anon_sym_RPAREN] = ACTIONS(10332),
    [anon_sym_DOT] = ACTIONS(10334),
    [anon_sym_end] = ACTIONS(10332),
    [anon_sym_COMMA] = ACTIONS(10332),
    [anon_sym_PIPE] = ACTIONS(10334),
    [anon_sym_SEMI] = ACTIONS(10332),
    [anon_sym_STAR_STAR] = ACTIONS(10332),
    [anon_sym_AMP] = ACTIONS(10334),
    [anon_sym_LT] = ACTIONS(10334),
    [anon_sym_if] = ACTIONS(10332),
    [anon_sym_unless] = ACTIONS(10332),
    [anon_sym_while] = ACTIONS(10332),
    [anon_sym_until] = ACTIONS(10332),
    [anon_sym_rescue] = ACTIONS(10332),
    [anon_sym_do] = ACTIONS(10332),
    [anon_sym_when] = ACTIONS(10332),
    [anon_sym_elsif] = ACTIONS(10332),
    [anon_sym_else] = ACTIONS(10332),
    [anon_sym_then] = ACTIONS(10332),
    [anon_sym_ensure] = ACTIONS(10332),
    [anon_sym_EQ_GT] = ACTIONS(10332),
    [anon_sym_AMP_DOT] = ACTIONS(10332),
    [anon_sym_QMARK] = ACTIONS(10332),
    [anon_sym_DOT_DOT] = ACTIONS(10334),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10332),
    [anon_sym_and] = ACTIONS(10332),
    [anon_sym_or] = ACTIONS(10332),
    [anon_sym_PIPE_PIPE] = ACTIONS(10332),
    [anon_sym_AMP_AMP] = ACTIONS(10332),
    [anon_sym_LT_LT] = ACTIONS(10332),
    [anon_sym_GT_GT] = ACTIONS(10332),
    [anon_sym_EQ_EQ] = ACTIONS(10334),
    [anon_sym_BANG_EQ] = ACTIONS(10332),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10332),
    [anon_sym_LT_EQ_GT] = ACTIONS(10332),
    [anon_sym_EQ_TILDE] = ACTIONS(10332),
    [anon_sym_BANG_TILDE] = ACTIONS(10332),
    [anon_sym_LT_EQ] = ACTIONS(10334),
    [anon_sym_GT] = ACTIONS(10334),
    [anon_sym_GT_EQ] = ACTIONS(10332),
    [anon_sym_CARET] = ACTIONS(10332),
    [anon_sym_PLUS] = ACTIONS(10332),
    [anon_sym_SLASH] = ACTIONS(10332),
    [anon_sym_PERCENT] = ACTIONS(10332),
    [sym_comment] = ACTIONS(110),
  },
  [4268] = {
    [anon_sym_end] = ACTIONS(10336),
    [sym_comment] = ACTIONS(110),
  },
  [4269] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(7570),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(4278),
    [sym_call] = STATE(4278),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4279),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4280),
    [sym__variable] = STATE(4278),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(6160),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(6162),
    [anon_sym_yield] = ACTIONS(6164),
    [anon_sym_break] = ACTIONS(6166),
    [anon_sym_next] = ACTIONS(6168),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(6170),
    [anon_sym_defined_QMARK] = ACTIONS(6172),
    [anon_sym_not] = ACTIONS(6174),
    [anon_sym_BANG] = ACTIONS(6176),
    [anon_sym_TILDE] = ACTIONS(6176),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [4270] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1679),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1680),
    [sym_call] = STATE(1680),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(4940),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(1681),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1682),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1683),
    [sym__variable] = STATE(1680),
    [sym_reserved_identifier] = STATE(1684),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1685),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(2634),
    [sym__splat_star] = ACTIONS(2636),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(2638),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(544),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2640),
    [anon_sym_yield] = ACTIONS(2642),
    [anon_sym_break] = ACTIONS(2644),
    [anon_sym_next] = ACTIONS(2646),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(544),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_PLUS_EQ] = ACTIONS(532),
    [anon_sym_DASH_EQ] = ACTIONS(532),
    [anon_sym_STAR_EQ] = ACTIONS(532),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(532),
    [anon_sym_SLASH_EQ] = ACTIONS(532),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(532),
    [anon_sym_PIPE_EQ] = ACTIONS(532),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(532),
    [anon_sym_AMP_EQ] = ACTIONS(532),
    [anon_sym_PERCENT_EQ] = ACTIONS(532),
    [anon_sym_GT_GT_EQ] = ACTIONS(532),
    [anon_sym_LT_LT_EQ] = ACTIONS(532),
    [anon_sym_CARET_EQ] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(544),
    [anon_sym_AMP_AMP] = ACTIONS(544),
    [anon_sym_LT_LT] = ACTIONS(544),
    [anon_sym_GT_GT] = ACTIONS(544),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(544),
    [anon_sym_PERCENT] = ACTIONS(544),
    [anon_sym_defined_QMARK] = ACTIONS(2648),
    [anon_sym_not] = ACTIONS(2650),
    [anon_sym_BANG] = ACTIONS(2652),
    [anon_sym_TILDE] = ACTIONS(2654),
    [sym_constant] = ACTIONS(2656),
    [sym_identifier] = ACTIONS(2656),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4271] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1679),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1680),
    [sym_call] = STATE(1680),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(4941),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(1681),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1682),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1683),
    [sym__variable] = STATE(1680),
    [sym_reserved_identifier] = STATE(1684),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1685),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(2634),
    [sym__splat_star] = ACTIONS(2636),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(2638),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(604),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2640),
    [anon_sym_yield] = ACTIONS(2642),
    [anon_sym_break] = ACTIONS(2644),
    [anon_sym_next] = ACTIONS(2646),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(604),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_PLUS_EQ] = ACTIONS(602),
    [anon_sym_DASH_EQ] = ACTIONS(602),
    [anon_sym_STAR_EQ] = ACTIONS(602),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(602),
    [anon_sym_SLASH_EQ] = ACTIONS(602),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(602),
    [anon_sym_PIPE_EQ] = ACTIONS(602),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(602),
    [anon_sym_AMP_EQ] = ACTIONS(602),
    [anon_sym_PERCENT_EQ] = ACTIONS(602),
    [anon_sym_GT_GT_EQ] = ACTIONS(602),
    [anon_sym_LT_LT_EQ] = ACTIONS(602),
    [anon_sym_CARET_EQ] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(604),
    [anon_sym_AMP_AMP] = ACTIONS(604),
    [anon_sym_LT_LT] = ACTIONS(604),
    [anon_sym_GT_GT] = ACTIONS(604),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(604),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(604),
    [anon_sym_PERCENT] = ACTIONS(604),
    [anon_sym_defined_QMARK] = ACTIONS(2648),
    [anon_sym_not] = ACTIONS(2650),
    [anon_sym_BANG] = ACTIONS(2652),
    [anon_sym_TILDE] = ACTIONS(2654),
    [sym_constant] = ACTIONS(2656),
    [sym_identifier] = ACTIONS(2656),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4272] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1679),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1680),
    [sym_call] = STATE(1680),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(4942),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(1681),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1682),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1683),
    [sym__variable] = STATE(1680),
    [sym_reserved_identifier] = STATE(1684),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1685),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(2634),
    [sym__splat_star] = ACTIONS(2636),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(2638),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(608),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2640),
    [anon_sym_yield] = ACTIONS(2642),
    [anon_sym_break] = ACTIONS(2644),
    [anon_sym_next] = ACTIONS(2646),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(608),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_PLUS_EQ] = ACTIONS(606),
    [anon_sym_DASH_EQ] = ACTIONS(606),
    [anon_sym_STAR_EQ] = ACTIONS(606),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(606),
    [anon_sym_SLASH_EQ] = ACTIONS(606),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(606),
    [anon_sym_PIPE_EQ] = ACTIONS(606),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(606),
    [anon_sym_AMP_EQ] = ACTIONS(606),
    [anon_sym_PERCENT_EQ] = ACTIONS(606),
    [anon_sym_GT_GT_EQ] = ACTIONS(606),
    [anon_sym_LT_LT_EQ] = ACTIONS(606),
    [anon_sym_CARET_EQ] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(608),
    [anon_sym_AMP_AMP] = ACTIONS(608),
    [anon_sym_LT_LT] = ACTIONS(608),
    [anon_sym_GT_GT] = ACTIONS(608),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(608),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(608),
    [anon_sym_PERCENT] = ACTIONS(608),
    [anon_sym_defined_QMARK] = ACTIONS(2648),
    [anon_sym_not] = ACTIONS(2650),
    [anon_sym_BANG] = ACTIONS(2652),
    [anon_sym_TILDE] = ACTIONS(2654),
    [sym_constant] = ACTIONS(2656),
    [sym_identifier] = ACTIONS(2656),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4273] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1679),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1680),
    [sym_call] = STATE(1680),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(4943),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(1681),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1682),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1683),
    [sym__variable] = STATE(1680),
    [sym_reserved_identifier] = STATE(1684),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1685),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(2634),
    [sym__splat_star] = ACTIONS(2636),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(2638),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(612),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2640),
    [anon_sym_yield] = ACTIONS(2642),
    [anon_sym_break] = ACTIONS(2644),
    [anon_sym_next] = ACTIONS(2646),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(612),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_PLUS_EQ] = ACTIONS(610),
    [anon_sym_DASH_EQ] = ACTIONS(610),
    [anon_sym_STAR_EQ] = ACTIONS(610),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(610),
    [anon_sym_SLASH_EQ] = ACTIONS(610),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(610),
    [anon_sym_PIPE_EQ] = ACTIONS(610),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(610),
    [anon_sym_AMP_EQ] = ACTIONS(610),
    [anon_sym_PERCENT_EQ] = ACTIONS(610),
    [anon_sym_GT_GT_EQ] = ACTIONS(610),
    [anon_sym_LT_LT_EQ] = ACTIONS(610),
    [anon_sym_CARET_EQ] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(612),
    [anon_sym_AMP_AMP] = ACTIONS(612),
    [anon_sym_LT_LT] = ACTIONS(612),
    [anon_sym_GT_GT] = ACTIONS(612),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(612),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(612),
    [anon_sym_PERCENT] = ACTIONS(612),
    [anon_sym_defined_QMARK] = ACTIONS(2648),
    [anon_sym_not] = ACTIONS(2650),
    [anon_sym_BANG] = ACTIONS(2652),
    [anon_sym_TILDE] = ACTIONS(2654),
    [sym_constant] = ACTIONS(2656),
    [sym_identifier] = ACTIONS(2656),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4274] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(7571),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(4278),
    [sym_call] = STATE(4278),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4279),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4280),
    [sym__variable] = STATE(4278),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(6160),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(6162),
    [anon_sym_yield] = ACTIONS(6164),
    [anon_sym_break] = ACTIONS(6166),
    [anon_sym_next] = ACTIONS(6168),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(6170),
    [anon_sym_defined_QMARK] = ACTIONS(6172),
    [anon_sym_not] = ACTIONS(6174),
    [anon_sym_BANG] = ACTIONS(6176),
    [anon_sym_TILDE] = ACTIONS(6176),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [4275] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(7572),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(4278),
    [sym_call] = STATE(4278),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4279),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4280),
    [sym__variable] = STATE(4278),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(6160),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(6162),
    [anon_sym_yield] = ACTIONS(6164),
    [anon_sym_break] = ACTIONS(6166),
    [anon_sym_next] = ACTIONS(6168),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(6170),
    [anon_sym_defined_QMARK] = ACTIONS(6172),
    [anon_sym_not] = ACTIONS(6174),
    [anon_sym_BANG] = ACTIONS(6176),
    [anon_sym_TILDE] = ACTIONS(6176),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [4276] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(4957),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(4278),
    [sym_call] = STATE(4278),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4279),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4280),
    [sym__variable] = STATE(4278),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(6160),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(6162),
    [anon_sym_yield] = ACTIONS(6164),
    [anon_sym_break] = ACTIONS(6166),
    [anon_sym_next] = ACTIONS(6168),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(6170),
    [anon_sym_defined_QMARK] = ACTIONS(6172),
    [anon_sym_not] = ACTIONS(6174),
    [anon_sym_BANG] = ACTIONS(6176),
    [anon_sym_TILDE] = ACTIONS(6176),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [4277] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__line_break] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(10338),
    [sym__binary_star] = ACTIONS(10340),
    [anon_sym_LBRACE] = ACTIONS(5298),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(10342),
    [anon_sym_SEMI] = ACTIONS(5298),
    [anon_sym_STAR_STAR] = ACTIONS(10344),
    [anon_sym_AMP] = ACTIONS(10346),
    [anon_sym_EQ] = ACTIONS(5304),
    [anon_sym_LT] = ACTIONS(10348),
    [anon_sym_do] = ACTIONS(5298),
    [anon_sym_when] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_PLUS_EQ] = ACTIONS(5298),
    [anon_sym_DASH_EQ] = ACTIONS(5298),
    [anon_sym_STAR_EQ] = ACTIONS(5298),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5298),
    [anon_sym_SLASH_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5298),
    [anon_sym_AMP_EQ] = ACTIONS(5298),
    [anon_sym_PERCENT_EQ] = ACTIONS(5298),
    [anon_sym_GT_GT_EQ] = ACTIONS(5298),
    [anon_sym_LT_LT_EQ] = ACTIONS(5298),
    [anon_sym_CARET_EQ] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(10350),
    [anon_sym_DOT_DOT] = ACTIONS(10352),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10354),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(10356),
    [anon_sym_AMP_AMP] = ACTIONS(10356),
    [anon_sym_LT_LT] = ACTIONS(10358),
    [anon_sym_GT_GT] = ACTIONS(10358),
    [anon_sym_EQ_EQ] = ACTIONS(10356),
    [anon_sym_BANG_EQ] = ACTIONS(10360),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10360),
    [anon_sym_LT_EQ_GT] = ACTIONS(10360),
    [anon_sym_EQ_TILDE] = ACTIONS(10360),
    [anon_sym_BANG_TILDE] = ACTIONS(10360),
    [anon_sym_LT_EQ] = ACTIONS(10348),
    [anon_sym_GT] = ACTIONS(10348),
    [anon_sym_GT_EQ] = ACTIONS(10362),
    [anon_sym_CARET] = ACTIONS(10342),
    [anon_sym_PLUS] = ACTIONS(10364),
    [anon_sym_SLASH] = ACTIONS(10344),
    [anon_sym_PERCENT] = ACTIONS(10344),
    [sym_comment] = ACTIONS(256),
  },
  [4278] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1679),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1680),
    [sym_call] = STATE(1680),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(1579),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(1681),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_do_block] = STATE(602),
    [sym_block] = STATE(602),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1682),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1683),
    [sym__variable] = STATE(1680),
    [sym_reserved_identifier] = STATE(1684),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1685),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(2634),
    [sym__splat_star] = ACTIONS(2636),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(2638),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(1014),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2640),
    [anon_sym_yield] = ACTIONS(2642),
    [anon_sym_break] = ACTIONS(2644),
    [anon_sym_next] = ACTIONS(2646),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(982),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(982),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(2648),
    [anon_sym_not] = ACTIONS(2650),
    [anon_sym_BANG] = ACTIONS(2652),
    [anon_sym_TILDE] = ACTIONS(2654),
    [sym_constant] = ACTIONS(2656),
    [sym_identifier] = ACTIONS(2656),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4279] = {
    [anon_sym_EQ] = ACTIONS(10366),
    [sym_comment] = ACTIONS(256),
  },
  [4280] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(10368),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_when] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(10370),
    [anon_sym_DASH_EQ] = ACTIONS(10370),
    [anon_sym_STAR_EQ] = ACTIONS(10370),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(10370),
    [anon_sym_SLASH_EQ] = ACTIONS(10370),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(10370),
    [anon_sym_PIPE_EQ] = ACTIONS(10370),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(10370),
    [anon_sym_AMP_EQ] = ACTIONS(10370),
    [anon_sym_PERCENT_EQ] = ACTIONS(10370),
    [anon_sym_GT_GT_EQ] = ACTIONS(10370),
    [anon_sym_LT_LT_EQ] = ACTIONS(10370),
    [anon_sym_CARET_EQ] = ACTIONS(10370),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [4281] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__line_break] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(10338),
    [sym__binary_star] = ACTIONS(10340),
    [anon_sym_LBRACE] = ACTIONS(5338),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(10342),
    [anon_sym_SEMI] = ACTIONS(5338),
    [anon_sym_STAR_STAR] = ACTIONS(10344),
    [anon_sym_AMP] = ACTIONS(10346),
    [anon_sym_EQ] = ACTIONS(5340),
    [anon_sym_LT] = ACTIONS(10348),
    [anon_sym_do] = ACTIONS(5338),
    [anon_sym_when] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_PLUS_EQ] = ACTIONS(5338),
    [anon_sym_DASH_EQ] = ACTIONS(5338),
    [anon_sym_STAR_EQ] = ACTIONS(5338),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5338),
    [anon_sym_SLASH_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5338),
    [anon_sym_AMP_EQ] = ACTIONS(5338),
    [anon_sym_PERCENT_EQ] = ACTIONS(5338),
    [anon_sym_GT_GT_EQ] = ACTIONS(5338),
    [anon_sym_LT_LT_EQ] = ACTIONS(5338),
    [anon_sym_CARET_EQ] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(10350),
    [anon_sym_DOT_DOT] = ACTIONS(10352),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10354),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(10356),
    [anon_sym_AMP_AMP] = ACTIONS(10356),
    [anon_sym_LT_LT] = ACTIONS(10358),
    [anon_sym_GT_GT] = ACTIONS(10358),
    [anon_sym_EQ_EQ] = ACTIONS(10356),
    [anon_sym_BANG_EQ] = ACTIONS(10360),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10360),
    [anon_sym_LT_EQ_GT] = ACTIONS(10360),
    [anon_sym_EQ_TILDE] = ACTIONS(10360),
    [anon_sym_BANG_TILDE] = ACTIONS(10360),
    [anon_sym_LT_EQ] = ACTIONS(10348),
    [anon_sym_GT] = ACTIONS(10348),
    [anon_sym_GT_EQ] = ACTIONS(10362),
    [anon_sym_CARET] = ACTIONS(10342),
    [anon_sym_PLUS] = ACTIONS(10364),
    [anon_sym_SLASH] = ACTIONS(10344),
    [anon_sym_PERCENT] = ACTIONS(10344),
    [sym_comment] = ACTIONS(256),
  },
  [4282] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4181),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1680),
    [sym_call] = STATE(1680),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2147),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(4182),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1682),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1683),
    [sym__variable] = STATE(1680),
    [sym_reserved_identifier] = STATE(4183),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(4184),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(6040),
    [sym__splat_star] = ACTIONS(6042),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(2638),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(544),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2640),
    [anon_sym_yield] = ACTIONS(2642),
    [anon_sym_break] = ACTIONS(2644),
    [anon_sym_next] = ACTIONS(2646),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(544),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_PLUS_EQ] = ACTIONS(532),
    [anon_sym_DASH_EQ] = ACTIONS(532),
    [anon_sym_STAR_EQ] = ACTIONS(532),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(532),
    [anon_sym_SLASH_EQ] = ACTIONS(532),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(532),
    [anon_sym_PIPE_EQ] = ACTIONS(532),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(532),
    [anon_sym_AMP_EQ] = ACTIONS(532),
    [anon_sym_PERCENT_EQ] = ACTIONS(532),
    [anon_sym_GT_GT_EQ] = ACTIONS(532),
    [anon_sym_LT_LT_EQ] = ACTIONS(532),
    [anon_sym_CARET_EQ] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(544),
    [anon_sym_AMP_AMP] = ACTIONS(544),
    [anon_sym_LT_LT] = ACTIONS(544),
    [anon_sym_GT_GT] = ACTIONS(544),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(544),
    [anon_sym_PERCENT] = ACTIONS(544),
    [anon_sym_defined_QMARK] = ACTIONS(2648),
    [anon_sym_not] = ACTIONS(2650),
    [anon_sym_BANG] = ACTIONS(2652),
    [anon_sym_TILDE] = ACTIONS(2654),
    [sym_constant] = ACTIONS(6044),
    [sym_identifier] = ACTIONS(6044),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4283] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4181),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1680),
    [sym_call] = STATE(1680),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2148),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(4182),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1682),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1683),
    [sym__variable] = STATE(1680),
    [sym_reserved_identifier] = STATE(4183),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(4184),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(6040),
    [sym__splat_star] = ACTIONS(6042),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(2638),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(604),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2640),
    [anon_sym_yield] = ACTIONS(2642),
    [anon_sym_break] = ACTIONS(2644),
    [anon_sym_next] = ACTIONS(2646),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(604),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_PLUS_EQ] = ACTIONS(602),
    [anon_sym_DASH_EQ] = ACTIONS(602),
    [anon_sym_STAR_EQ] = ACTIONS(602),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(602),
    [anon_sym_SLASH_EQ] = ACTIONS(602),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(602),
    [anon_sym_PIPE_EQ] = ACTIONS(602),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(602),
    [anon_sym_AMP_EQ] = ACTIONS(602),
    [anon_sym_PERCENT_EQ] = ACTIONS(602),
    [anon_sym_GT_GT_EQ] = ACTIONS(602),
    [anon_sym_LT_LT_EQ] = ACTIONS(602),
    [anon_sym_CARET_EQ] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(604),
    [anon_sym_AMP_AMP] = ACTIONS(604),
    [anon_sym_LT_LT] = ACTIONS(604),
    [anon_sym_GT_GT] = ACTIONS(604),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(604),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(604),
    [anon_sym_PERCENT] = ACTIONS(604),
    [anon_sym_defined_QMARK] = ACTIONS(2648),
    [anon_sym_not] = ACTIONS(2650),
    [anon_sym_BANG] = ACTIONS(2652),
    [anon_sym_TILDE] = ACTIONS(2654),
    [sym_constant] = ACTIONS(6044),
    [sym_identifier] = ACTIONS(6044),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4284] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4181),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1680),
    [sym_call] = STATE(1680),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2149),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(4182),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1682),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1683),
    [sym__variable] = STATE(1680),
    [sym_reserved_identifier] = STATE(4183),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(4184),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(6040),
    [sym__splat_star] = ACTIONS(6042),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(2638),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(608),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2640),
    [anon_sym_yield] = ACTIONS(2642),
    [anon_sym_break] = ACTIONS(2644),
    [anon_sym_next] = ACTIONS(2646),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(608),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_PLUS_EQ] = ACTIONS(606),
    [anon_sym_DASH_EQ] = ACTIONS(606),
    [anon_sym_STAR_EQ] = ACTIONS(606),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(606),
    [anon_sym_SLASH_EQ] = ACTIONS(606),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(606),
    [anon_sym_PIPE_EQ] = ACTIONS(606),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(606),
    [anon_sym_AMP_EQ] = ACTIONS(606),
    [anon_sym_PERCENT_EQ] = ACTIONS(606),
    [anon_sym_GT_GT_EQ] = ACTIONS(606),
    [anon_sym_LT_LT_EQ] = ACTIONS(606),
    [anon_sym_CARET_EQ] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(608),
    [anon_sym_AMP_AMP] = ACTIONS(608),
    [anon_sym_LT_LT] = ACTIONS(608),
    [anon_sym_GT_GT] = ACTIONS(608),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(608),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(608),
    [anon_sym_PERCENT] = ACTIONS(608),
    [anon_sym_defined_QMARK] = ACTIONS(2648),
    [anon_sym_not] = ACTIONS(2650),
    [anon_sym_BANG] = ACTIONS(2652),
    [anon_sym_TILDE] = ACTIONS(2654),
    [sym_constant] = ACTIONS(6044),
    [sym_identifier] = ACTIONS(6044),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4285] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4181),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1680),
    [sym_call] = STATE(1680),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2150),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(4182),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1682),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1683),
    [sym__variable] = STATE(1680),
    [sym_reserved_identifier] = STATE(4183),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(4184),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(6040),
    [sym__splat_star] = ACTIONS(6042),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(2638),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(612),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2640),
    [anon_sym_yield] = ACTIONS(2642),
    [anon_sym_break] = ACTIONS(2644),
    [anon_sym_next] = ACTIONS(2646),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(612),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_PLUS_EQ] = ACTIONS(610),
    [anon_sym_DASH_EQ] = ACTIONS(610),
    [anon_sym_STAR_EQ] = ACTIONS(610),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(610),
    [anon_sym_SLASH_EQ] = ACTIONS(610),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(610),
    [anon_sym_PIPE_EQ] = ACTIONS(610),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(610),
    [anon_sym_AMP_EQ] = ACTIONS(610),
    [anon_sym_PERCENT_EQ] = ACTIONS(610),
    [anon_sym_GT_GT_EQ] = ACTIONS(610),
    [anon_sym_LT_LT_EQ] = ACTIONS(610),
    [anon_sym_CARET_EQ] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(612),
    [anon_sym_AMP_AMP] = ACTIONS(612),
    [anon_sym_LT_LT] = ACTIONS(612),
    [anon_sym_GT_GT] = ACTIONS(612),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(612),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(612),
    [anon_sym_PERCENT] = ACTIONS(612),
    [anon_sym_defined_QMARK] = ACTIONS(2648),
    [anon_sym_not] = ACTIONS(2650),
    [anon_sym_BANG] = ACTIONS(2652),
    [anon_sym_TILDE] = ACTIONS(2654),
    [sym_constant] = ACTIONS(6044),
    [sym_identifier] = ACTIONS(6044),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4286] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_LBRACE] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(6198),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_EQ] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_do] = ACTIONS(1372),
    [anon_sym_when] = ACTIONS(1372),
    [anon_sym_EQ_GT] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_PLUS_EQ] = ACTIONS(1372),
    [anon_sym_DASH_EQ] = ACTIONS(1372),
    [anon_sym_STAR_EQ] = ACTIONS(1372),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1372),
    [anon_sym_SLASH_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1372),
    [anon_sym_AMP_EQ] = ACTIONS(1372),
    [anon_sym_PERCENT_EQ] = ACTIONS(1372),
    [anon_sym_GT_GT_EQ] = ACTIONS(1372),
    [anon_sym_LT_LT_EQ] = ACTIONS(1372),
    [anon_sym_CARET_EQ] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1374),
    [anon_sym_AMP_AMP] = ACTIONS(1374),
    [anon_sym_LT_LT] = ACTIONS(1374),
    [anon_sym_GT_GT] = ACTIONS(1374),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1374),
    [anon_sym_PLUS] = ACTIONS(1374),
    [anon_sym_SLASH] = ACTIONS(1374),
    [anon_sym_PERCENT] = ACTIONS(1374),
    [sym_comment] = ACTIONS(256),
  },
  [4287] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__line_break] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(10338),
    [sym__binary_star] = ACTIONS(10340),
    [anon_sym_LBRACE] = ACTIONS(4284),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(10342),
    [anon_sym_SEMI] = ACTIONS(4284),
    [anon_sym_STAR_STAR] = ACTIONS(10344),
    [anon_sym_AMP] = ACTIONS(10346),
    [anon_sym_EQ] = ACTIONS(5432),
    [anon_sym_LT] = ACTIONS(10348),
    [anon_sym_do] = ACTIONS(4284),
    [anon_sym_when] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_PLUS_EQ] = ACTIONS(4284),
    [anon_sym_DASH_EQ] = ACTIONS(4284),
    [anon_sym_STAR_EQ] = ACTIONS(4284),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(4284),
    [anon_sym_SLASH_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(4284),
    [anon_sym_AMP_EQ] = ACTIONS(4284),
    [anon_sym_PERCENT_EQ] = ACTIONS(4284),
    [anon_sym_GT_GT_EQ] = ACTIONS(4284),
    [anon_sym_LT_LT_EQ] = ACTIONS(4284),
    [anon_sym_CARET_EQ] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(10350),
    [anon_sym_DOT_DOT] = ACTIONS(10352),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10354),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(10356),
    [anon_sym_AMP_AMP] = ACTIONS(10356),
    [anon_sym_LT_LT] = ACTIONS(10358),
    [anon_sym_GT_GT] = ACTIONS(10358),
    [anon_sym_EQ_EQ] = ACTIONS(10356),
    [anon_sym_BANG_EQ] = ACTIONS(10360),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10360),
    [anon_sym_LT_EQ_GT] = ACTIONS(10360),
    [anon_sym_EQ_TILDE] = ACTIONS(10360),
    [anon_sym_BANG_TILDE] = ACTIONS(10360),
    [anon_sym_LT_EQ] = ACTIONS(10348),
    [anon_sym_GT] = ACTIONS(10348),
    [anon_sym_GT_EQ] = ACTIONS(10362),
    [anon_sym_CARET] = ACTIONS(10342),
    [anon_sym_PLUS] = ACTIONS(10364),
    [anon_sym_SLASH] = ACTIONS(10344),
    [anon_sym_PERCENT] = ACTIONS(10344),
    [sym_comment] = ACTIONS(256),
  },
  [4288] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(6198),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_when] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2872),
    [anon_sym_AMP_AMP] = ACTIONS(2872),
    [anon_sym_LT_LT] = ACTIONS(2872),
    [anon_sym_GT_GT] = ACTIONS(2872),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2872),
    [anon_sym_PLUS] = ACTIONS(2872),
    [anon_sym_SLASH] = ACTIONS(2872),
    [anon_sym_PERCENT] = ACTIONS(2872),
    [sym_comment] = ACTIONS(256),
  },
  [4289] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(6192),
    [sym__binary_star] = ACTIONS(6194),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(6196),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(6198),
    [anon_sym_AMP] = ACTIONS(6200),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(6202),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_when] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(6204),
    [anon_sym_DOT_DOT] = ACTIONS(6206),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6208),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(6210),
    [anon_sym_AMP_AMP] = ACTIONS(6210),
    [anon_sym_LT_LT] = ACTIONS(6212),
    [anon_sym_GT_GT] = ACTIONS(6212),
    [anon_sym_EQ_EQ] = ACTIONS(6210),
    [anon_sym_BANG_EQ] = ACTIONS(6214),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6214),
    [anon_sym_LT_EQ_GT] = ACTIONS(6214),
    [anon_sym_EQ_TILDE] = ACTIONS(6214),
    [anon_sym_BANG_TILDE] = ACTIONS(6214),
    [anon_sym_LT_EQ] = ACTIONS(6202),
    [anon_sym_GT] = ACTIONS(6202),
    [anon_sym_GT_EQ] = ACTIONS(6216),
    [anon_sym_CARET] = ACTIONS(6196),
    [anon_sym_PLUS] = ACTIONS(6218),
    [anon_sym_SLASH] = ACTIONS(6198),
    [anon_sym_PERCENT] = ACTIONS(6198),
    [sym_comment] = ACTIONS(256),
  },
  [4290] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(7587),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(4278),
    [sym_call] = STATE(4278),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4279),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4280),
    [sym__variable] = STATE(4278),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(6160),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(6162),
    [anon_sym_yield] = ACTIONS(6164),
    [anon_sym_break] = ACTIONS(6166),
    [anon_sym_next] = ACTIONS(6168),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(6170),
    [anon_sym_defined_QMARK] = ACTIONS(6172),
    [anon_sym_not] = ACTIONS(6174),
    [anon_sym_BANG] = ACTIONS(6176),
    [anon_sym_TILDE] = ACTIONS(6176),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [4291] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7588),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1680),
    [sym_call] = STATE(1680),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1682),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1683),
    [sym__variable] = STATE(1680),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2638),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(6178),
    [anon_sym_yield] = ACTIONS(6180),
    [anon_sym_break] = ACTIONS(6182),
    [anon_sym_next] = ACTIONS(6184),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(6186),
    [anon_sym_defined_QMARK] = ACTIONS(2648),
    [anon_sym_not] = ACTIONS(6188),
    [anon_sym_BANG] = ACTIONS(2654),
    [anon_sym_TILDE] = ACTIONS(2654),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4292] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7589),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1680),
    [sym_call] = STATE(1680),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1682),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1683),
    [sym__variable] = STATE(1680),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2638),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(6178),
    [anon_sym_yield] = ACTIONS(6180),
    [anon_sym_break] = ACTIONS(6182),
    [anon_sym_next] = ACTIONS(6184),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(6186),
    [anon_sym_defined_QMARK] = ACTIONS(2648),
    [anon_sym_not] = ACTIONS(6188),
    [anon_sym_BANG] = ACTIONS(2654),
    [anon_sym_TILDE] = ACTIONS(2654),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4293] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7590),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1680),
    [sym_call] = STATE(1680),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1682),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1683),
    [sym__variable] = STATE(1680),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2638),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(6178),
    [anon_sym_yield] = ACTIONS(6180),
    [anon_sym_break] = ACTIONS(6182),
    [anon_sym_next] = ACTIONS(6184),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(6186),
    [anon_sym_defined_QMARK] = ACTIONS(2648),
    [anon_sym_not] = ACTIONS(6188),
    [anon_sym_BANG] = ACTIONS(2654),
    [anon_sym_TILDE] = ACTIONS(2654),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4294] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7591),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1680),
    [sym_call] = STATE(1680),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1682),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1683),
    [sym__variable] = STATE(1680),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2638),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(6178),
    [anon_sym_yield] = ACTIONS(6180),
    [anon_sym_break] = ACTIONS(6182),
    [anon_sym_next] = ACTIONS(6184),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(6186),
    [anon_sym_defined_QMARK] = ACTIONS(2648),
    [anon_sym_not] = ACTIONS(6188),
    [anon_sym_BANG] = ACTIONS(2654),
    [anon_sym_TILDE] = ACTIONS(2654),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4295] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7592),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1680),
    [sym_call] = STATE(1680),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1682),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1683),
    [sym__variable] = STATE(1680),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2638),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(6178),
    [anon_sym_yield] = ACTIONS(6180),
    [anon_sym_break] = ACTIONS(6182),
    [anon_sym_next] = ACTIONS(6184),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(6186),
    [anon_sym_defined_QMARK] = ACTIONS(2648),
    [anon_sym_not] = ACTIONS(6188),
    [anon_sym_BANG] = ACTIONS(2654),
    [anon_sym_TILDE] = ACTIONS(2654),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4296] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7593),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1680),
    [sym_call] = STATE(1680),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1682),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1683),
    [sym__variable] = STATE(1680),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2638),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(6178),
    [anon_sym_yield] = ACTIONS(6180),
    [anon_sym_break] = ACTIONS(6182),
    [anon_sym_next] = ACTIONS(6184),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(6186),
    [anon_sym_defined_QMARK] = ACTIONS(2648),
    [anon_sym_not] = ACTIONS(6188),
    [anon_sym_BANG] = ACTIONS(2654),
    [anon_sym_TILDE] = ACTIONS(2654),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4297] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(7594),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [4298] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7595),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1680),
    [sym_call] = STATE(1680),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1682),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1683),
    [sym__variable] = STATE(1680),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2638),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(6178),
    [anon_sym_yield] = ACTIONS(6180),
    [anon_sym_break] = ACTIONS(6182),
    [anon_sym_next] = ACTIONS(6184),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(6186),
    [anon_sym_defined_QMARK] = ACTIONS(2648),
    [anon_sym_not] = ACTIONS(6188),
    [anon_sym_BANG] = ACTIONS(2654),
    [anon_sym_TILDE] = ACTIONS(2654),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4299] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7596),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1680),
    [sym_call] = STATE(1680),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1682),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1683),
    [sym__variable] = STATE(1680),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2638),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(6178),
    [anon_sym_yield] = ACTIONS(6180),
    [anon_sym_break] = ACTIONS(6182),
    [anon_sym_next] = ACTIONS(6184),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(6186),
    [anon_sym_defined_QMARK] = ACTIONS(2648),
    [anon_sym_not] = ACTIONS(6188),
    [anon_sym_BANG] = ACTIONS(2654),
    [anon_sym_TILDE] = ACTIONS(2654),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4300] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7597),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1680),
    [sym_call] = STATE(1680),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1682),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1683),
    [sym__variable] = STATE(1680),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2638),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(6178),
    [anon_sym_yield] = ACTIONS(6180),
    [anon_sym_break] = ACTIONS(6182),
    [anon_sym_next] = ACTIONS(6184),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(6186),
    [anon_sym_defined_QMARK] = ACTIONS(2648),
    [anon_sym_not] = ACTIONS(6188),
    [anon_sym_BANG] = ACTIONS(2654),
    [anon_sym_TILDE] = ACTIONS(2654),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4301] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7598),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1680),
    [sym_call] = STATE(1680),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1682),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1683),
    [sym__variable] = STATE(1680),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2638),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(6178),
    [anon_sym_yield] = ACTIONS(6180),
    [anon_sym_break] = ACTIONS(6182),
    [anon_sym_next] = ACTIONS(6184),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(6186),
    [anon_sym_defined_QMARK] = ACTIONS(2648),
    [anon_sym_not] = ACTIONS(6188),
    [anon_sym_BANG] = ACTIONS(2654),
    [anon_sym_TILDE] = ACTIONS(2654),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4302] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7599),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1680),
    [sym_call] = STATE(1680),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1682),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1683),
    [sym__variable] = STATE(1680),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2638),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(6178),
    [anon_sym_yield] = ACTIONS(6180),
    [anon_sym_break] = ACTIONS(6182),
    [anon_sym_next] = ACTIONS(6184),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(6186),
    [anon_sym_defined_QMARK] = ACTIONS(2648),
    [anon_sym_not] = ACTIONS(6188),
    [anon_sym_BANG] = ACTIONS(2654),
    [anon_sym_TILDE] = ACTIONS(2654),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4303] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1679),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1680),
    [sym_call] = STATE(1680),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(5069),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1682),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1683),
    [sym__variable] = STATE(1680),
    [sym_reserved_identifier] = STATE(1684),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1685),
    [sym_subshell] = STATE(561),
    [sym_heredoc_end] = STATE(7600),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__block_ampersand] = ACTIONS(2634),
    [sym__splat_star] = ACTIONS(2636),
    [sym__unary_minus] = ACTIONS(2638),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(10372),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2640),
    [anon_sym_yield] = ACTIONS(2642),
    [anon_sym_break] = ACTIONS(2644),
    [anon_sym_next] = ACTIONS(2646),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(6186),
    [anon_sym_defined_QMARK] = ACTIONS(2648),
    [anon_sym_not] = ACTIONS(2650),
    [anon_sym_BANG] = ACTIONS(2654),
    [anon_sym_TILDE] = ACTIONS(2654),
    [sym_constant] = ACTIONS(2656),
    [sym_identifier] = ACTIONS(2656),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4304] = {
    [sym_heredoc_end] = STATE(2196),
    [aux_sym_argument_list_repeat2] = STATE(5072),
    [sym__simple_heredoc_body] = ACTIONS(3354),
    [sym__heredoc_body_beginning] = ACTIONS(3356),
    [sym__line_break] = ACTIONS(5472),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_LBRACE] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(10374),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_SEMI] = ACTIONS(5472),
    [anon_sym_STAR_STAR] = ACTIONS(5474),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_EQ] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_do] = ACTIONS(5472),
    [anon_sym_when] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_PLUS_EQ] = ACTIONS(5472),
    [anon_sym_DASH_EQ] = ACTIONS(5472),
    [anon_sym_STAR_EQ] = ACTIONS(5472),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5472),
    [anon_sym_SLASH_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5472),
    [anon_sym_AMP_EQ] = ACTIONS(5472),
    [anon_sym_PERCENT_EQ] = ACTIONS(5472),
    [anon_sym_GT_GT_EQ] = ACTIONS(5472),
    [anon_sym_LT_LT_EQ] = ACTIONS(5472),
    [anon_sym_CARET_EQ] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5474),
    [anon_sym_AMP_AMP] = ACTIONS(5474),
    [anon_sym_LT_LT] = ACTIONS(5474),
    [anon_sym_GT_GT] = ACTIONS(5474),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5474),
    [anon_sym_PLUS] = ACTIONS(5474),
    [anon_sym_SLASH] = ACTIONS(5474),
    [anon_sym_PERCENT] = ACTIONS(5474),
    [sym_comment] = ACTIONS(256),
  },
  [4305] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7602),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1680),
    [sym_call] = STATE(1680),
    [sym_method_call] = STATE(338),
    [sym_splat_argument] = STATE(5074),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_right_assignment_list] = STATE(5075),
    [sym__arg_or_splat_arg] = STATE(7603),
    [sym_left_assignment_list] = STATE(1682),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1683),
    [sym__variable] = STATE(1680),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__splat_star] = ACTIONS(6042),
    [sym__unary_minus] = ACTIONS(2638),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(6178),
    [anon_sym_yield] = ACTIONS(6180),
    [anon_sym_break] = ACTIONS(6182),
    [anon_sym_next] = ACTIONS(6184),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(6186),
    [anon_sym_defined_QMARK] = ACTIONS(2648),
    [anon_sym_not] = ACTIONS(6188),
    [anon_sym_BANG] = ACTIONS(2654),
    [anon_sym_TILDE] = ACTIONS(2654),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4306] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7604),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1680),
    [sym_call] = STATE(1680),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1682),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1683),
    [sym__variable] = STATE(1680),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2638),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(6178),
    [anon_sym_yield] = ACTIONS(6180),
    [anon_sym_break] = ACTIONS(6182),
    [anon_sym_next] = ACTIONS(6184),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(6186),
    [anon_sym_defined_QMARK] = ACTIONS(2648),
    [anon_sym_not] = ACTIONS(6188),
    [anon_sym_BANG] = ACTIONS(2654),
    [anon_sym_TILDE] = ACTIONS(2654),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4307] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(7605),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(4278),
    [sym_call] = STATE(4278),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4279),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4280),
    [sym__variable] = STATE(4278),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(6160),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(6162),
    [anon_sym_yield] = ACTIONS(6164),
    [anon_sym_break] = ACTIONS(6166),
    [anon_sym_next] = ACTIONS(6168),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(6170),
    [anon_sym_defined_QMARK] = ACTIONS(6172),
    [anon_sym_not] = ACTIONS(6174),
    [anon_sym_BANG] = ACTIONS(6176),
    [anon_sym_TILDE] = ACTIONS(6176),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [4308] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7606),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(4315),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4316),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6232),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6234),
    [anon_sym_defined_QMARK] = ACTIONS(6236),
    [anon_sym_not] = ACTIONS(6238),
    [anon_sym_BANG] = ACTIONS(6240),
    [anon_sym_TILDE] = ACTIONS(6240),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4309] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7607),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(4315),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4316),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6232),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6234),
    [anon_sym_defined_QMARK] = ACTIONS(6236),
    [anon_sym_not] = ACTIONS(6238),
    [anon_sym_BANG] = ACTIONS(6240),
    [anon_sym_TILDE] = ACTIONS(6240),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4310] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7608),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(4315),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4316),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6232),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6234),
    [anon_sym_defined_QMARK] = ACTIONS(6236),
    [anon_sym_not] = ACTIONS(6238),
    [anon_sym_BANG] = ACTIONS(6240),
    [anon_sym_TILDE] = ACTIONS(6240),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4311] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7609),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(4315),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4316),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6232),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6234),
    [anon_sym_defined_QMARK] = ACTIONS(6236),
    [anon_sym_not] = ACTIONS(6238),
    [anon_sym_BANG] = ACTIONS(6240),
    [anon_sym_TILDE] = ACTIONS(6240),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4312] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(434),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(4315),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4316),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6232),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6234),
    [anon_sym_defined_QMARK] = ACTIONS(6236),
    [anon_sym_not] = ACTIONS(6238),
    [anon_sym_BANG] = ACTIONS(6240),
    [anon_sym_TILDE] = ACTIONS(6240),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4313] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__line_break] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(10376),
    [sym__binary_star] = ACTIONS(10378),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(10380),
    [anon_sym_SEMI] = ACTIONS(6346),
    [anon_sym_STAR_STAR] = ACTIONS(10382),
    [anon_sym_AMP] = ACTIONS(10384),
    [anon_sym_LT] = ACTIONS(10386),
    [anon_sym_when] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(10388),
    [anon_sym_DOT_DOT] = ACTIONS(10390),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10392),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(10394),
    [anon_sym_AMP_AMP] = ACTIONS(10394),
    [anon_sym_LT_LT] = ACTIONS(10396),
    [anon_sym_GT_GT] = ACTIONS(10396),
    [anon_sym_EQ_EQ] = ACTIONS(10398),
    [anon_sym_BANG_EQ] = ACTIONS(10394),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10394),
    [anon_sym_LT_EQ_GT] = ACTIONS(10394),
    [anon_sym_EQ_TILDE] = ACTIONS(10394),
    [anon_sym_BANG_TILDE] = ACTIONS(10394),
    [anon_sym_LT_EQ] = ACTIONS(10386),
    [anon_sym_GT] = ACTIONS(10386),
    [anon_sym_GT_EQ] = ACTIONS(10400),
    [anon_sym_CARET] = ACTIONS(10402),
    [anon_sym_PLUS] = ACTIONS(10404),
    [anon_sym_SLASH] = ACTIONS(10382),
    [anon_sym_PERCENT] = ACTIONS(10382),
    [sym_comment] = ACTIONS(110),
  },
  [4314] = {
    [aux_sym_exceptions_repeat1] = STATE(7623),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__line_break] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_COMMA] = ACTIONS(10406),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_SEMI] = ACTIONS(7330),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_when] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [4315] = {
    [anon_sym_EQ] = ACTIONS(10408),
    [sym_comment] = ACTIONS(256),
  },
  [4316] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(10410),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_when] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(10412),
    [anon_sym_DASH_EQ] = ACTIONS(10412),
    [anon_sym_STAR_EQ] = ACTIONS(10412),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(10412),
    [anon_sym_SLASH_EQ] = ACTIONS(10412),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(10412),
    [anon_sym_PIPE_EQ] = ACTIONS(10412),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(10412),
    [anon_sym_AMP_EQ] = ACTIONS(10412),
    [anon_sym_PERCENT_EQ] = ACTIONS(10412),
    [anon_sym_GT_GT_EQ] = ACTIONS(10412),
    [anon_sym_LT_LT_EQ] = ACTIONS(10412),
    [anon_sym_CARET_EQ] = ACTIONS(10412),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [4317] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__line_break] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(2600),
    [sym__binary_star] = ACTIONS(2602),
    [anon_sym_PIPE] = ACTIONS(2604),
    [anon_sym_SEMI] = ACTIONS(7344),
    [anon_sym_STAR_STAR] = ACTIONS(2606),
    [anon_sym_AMP] = ACTIONS(2608),
    [anon_sym_LT] = ACTIONS(2610),
    [anon_sym_when] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(2614),
    [anon_sym_DOT_DOT] = ACTIONS(2616),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2618),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(2622),
    [anon_sym_AMP_AMP] = ACTIONS(2622),
    [anon_sym_LT_LT] = ACTIONS(2624),
    [anon_sym_GT_GT] = ACTIONS(2624),
    [anon_sym_EQ_EQ] = ACTIONS(2626),
    [anon_sym_BANG_EQ] = ACTIONS(2622),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2622),
    [anon_sym_LT_EQ_GT] = ACTIONS(2622),
    [anon_sym_EQ_TILDE] = ACTIONS(2622),
    [anon_sym_BANG_TILDE] = ACTIONS(2622),
    [anon_sym_LT_EQ] = ACTIONS(2610),
    [anon_sym_GT] = ACTIONS(2610),
    [anon_sym_GT_EQ] = ACTIONS(2628),
    [anon_sym_CARET] = ACTIONS(2630),
    [anon_sym_PLUS] = ACTIONS(2632),
    [anon_sym_SLASH] = ACTIONS(2606),
    [anon_sym_PERCENT] = ACTIONS(2606),
    [sym_comment] = ACTIONS(110),
  },
  [4318] = {
    [sym__simple_string] = ACTIONS(8070),
    [sym__simple_symbol] = ACTIONS(8070),
    [sym__simple_subshell] = ACTIONS(8070),
    [sym__simple_regex] = ACTIONS(8070),
    [sym__simple_word_list] = ACTIONS(8070),
    [sym__string_beginning] = ACTIONS(8070),
    [sym__symbol_beginning] = ACTIONS(8070),
    [sym__subshell_beginning] = ACTIONS(8070),
    [sym__regex_beginning] = ACTIONS(8070),
    [sym__word_list_beginning] = ACTIONS(8070),
    [sym_heredoc_beginning] = ACTIONS(8070),
    [sym__unary_minus] = ACTIONS(8070),
    [anon_sym_BEGIN] = ACTIONS(10414),
    [anon_sym_LBRACE] = ACTIONS(8070),
    [anon_sym_END] = ACTIONS(10414),
    [anon_sym_def] = ACTIONS(10414),
    [anon_sym_LPAREN] = ACTIONS(8070),
    [anon_sym_COLON_COLON] = ACTIONS(8070),
    [anon_sym_end] = ACTIONS(10414),
    [anon_sym_SEMI] = ACTIONS(8070),
    [anon_sym_STAR] = ACTIONS(8070),
    [anon_sym_class] = ACTIONS(10414),
    [anon_sym_module] = ACTIONS(10414),
    [anon_sym_return] = ACTIONS(10414),
    [anon_sym_yield] = ACTIONS(10414),
    [anon_sym_break] = ACTIONS(10414),
    [anon_sym_next] = ACTIONS(10414),
    [anon_sym_redo] = ACTIONS(10414),
    [anon_sym_retry] = ACTIONS(10414),
    [anon_sym_if] = ACTIONS(10414),
    [anon_sym_unless] = ACTIONS(10414),
    [anon_sym_while] = ACTIONS(10414),
    [anon_sym_until] = ACTIONS(10414),
    [anon_sym_rescue] = ACTIONS(10414),
    [anon_sym_for] = ACTIONS(10414),
    [anon_sym_case] = ACTIONS(10414),
    [anon_sym_else] = ACTIONS(10414),
    [anon_sym_begin] = ACTIONS(10414),
    [anon_sym_ensure] = ACTIONS(10414),
    [anon_sym_PLUS] = ACTIONS(10414),
    [anon_sym_defined_QMARK] = ACTIONS(8070),
    [anon_sym_not] = ACTIONS(10414),
    [anon_sym_BANG] = ACTIONS(8070),
    [anon_sym_TILDE] = ACTIONS(8070),
    [sym_constant] = ACTIONS(10416),
    [sym_identifier] = ACTIONS(10416),
    [sym_instance_variable] = ACTIONS(10414),
    [sym_class_variable] = ACTIONS(10414),
    [sym_global_variable] = ACTIONS(10414),
    [anon_sym_alias] = ACTIONS(10414),
    [anon_sym_false] = ACTIONS(10414),
    [anon_sym_nil] = ACTIONS(10414),
    [anon_sym_self] = ACTIONS(10414),
    [anon_sym_super] = ACTIONS(10414),
    [anon_sym_true] = ACTIONS(10414),
    [anon_sym_undef] = ACTIONS(10414),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(10414),
    [sym_float] = ACTIONS(10416),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8070),
    [anon_sym_TRUE] = ACTIONS(10414),
    [anon_sym_FALSE] = ACTIONS(10414),
    [anon_sym_NIL] = ACTIONS(10414),
    [sym_keyword__FILE__] = ACTIONS(10414),
    [sym_keyword__LINE__] = ACTIONS(10414),
    [sym_keyword__ENCODING__] = ACTIONS(10414),
    [sym__character_literal] = ACTIONS(10414),
    [anon_sym_LBRACK] = ACTIONS(8070),
    [anon_sym_DASH_GT] = ACTIONS(8070),
  },
  [4319] = {
    [sym__heredoc_body_middle] = ACTIONS(8296),
    [sym__heredoc_body_end] = ACTIONS(10418),
    [anon_sym_if] = ACTIONS(4112),
    [anon_sym_unless] = ACTIONS(4114),
    [anon_sym_while] = ACTIONS(4116),
    [anon_sym_until] = ACTIONS(4118),
    [anon_sym_rescue] = ACTIONS(4120),
    [sym_comment] = ACTIONS(110),
  },
  [4320] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7627),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4325),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4326),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6246),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6248),
    [anon_sym_defined_QMARK] = ACTIONS(6250),
    [anon_sym_not] = ACTIONS(6252),
    [anon_sym_BANG] = ACTIONS(6254),
    [anon_sym_TILDE] = ACTIONS(6254),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4321] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7628),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4325),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4326),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6246),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6248),
    [anon_sym_defined_QMARK] = ACTIONS(6250),
    [anon_sym_not] = ACTIONS(6252),
    [anon_sym_BANG] = ACTIONS(6254),
    [anon_sym_TILDE] = ACTIONS(6254),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4322] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7629),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4325),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4326),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6246),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6248),
    [anon_sym_defined_QMARK] = ACTIONS(6250),
    [anon_sym_not] = ACTIONS(6252),
    [anon_sym_BANG] = ACTIONS(6254),
    [anon_sym_TILDE] = ACTIONS(6254),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4323] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1410),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4325),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4326),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6246),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6248),
    [anon_sym_defined_QMARK] = ACTIONS(6250),
    [anon_sym_not] = ACTIONS(6252),
    [anon_sym_BANG] = ACTIONS(6254),
    [anon_sym_TILDE] = ACTIONS(6254),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4324] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__line_break] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(10420),
    [sym__binary_star] = ACTIONS(10422),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_end] = ACTIONS(5298),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(10424),
    [anon_sym_SEMI] = ACTIONS(5298),
    [anon_sym_STAR_STAR] = ACTIONS(10426),
    [anon_sym_AMP] = ACTIONS(10428),
    [anon_sym_LT] = ACTIONS(10430),
    [anon_sym_if] = ACTIONS(5298),
    [anon_sym_unless] = ACTIONS(5298),
    [anon_sym_while] = ACTIONS(5298),
    [anon_sym_until] = ACTIONS(5298),
    [anon_sym_rescue] = ACTIONS(5298),
    [anon_sym_else] = ACTIONS(5298),
    [anon_sym_ensure] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(10432),
    [anon_sym_DOT_DOT] = ACTIONS(10434),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10436),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(10438),
    [anon_sym_AMP_AMP] = ACTIONS(10438),
    [anon_sym_LT_LT] = ACTIONS(10440),
    [anon_sym_GT_GT] = ACTIONS(10440),
    [anon_sym_EQ_EQ] = ACTIONS(10442),
    [anon_sym_BANG_EQ] = ACTIONS(10438),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10438),
    [anon_sym_LT_EQ_GT] = ACTIONS(10438),
    [anon_sym_EQ_TILDE] = ACTIONS(10438),
    [anon_sym_BANG_TILDE] = ACTIONS(10438),
    [anon_sym_LT_EQ] = ACTIONS(10430),
    [anon_sym_GT] = ACTIONS(10430),
    [anon_sym_GT_EQ] = ACTIONS(10444),
    [anon_sym_CARET] = ACTIONS(10446),
    [anon_sym_PLUS] = ACTIONS(10448),
    [anon_sym_SLASH] = ACTIONS(10426),
    [anon_sym_PERCENT] = ACTIONS(10426),
    [sym_comment] = ACTIONS(110),
  },
  [4325] = {
    [anon_sym_EQ] = ACTIONS(10450),
    [sym_comment] = ACTIONS(256),
  },
  [4326] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_end] = ACTIONS(250),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(10452),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_else] = ACTIONS(250),
    [anon_sym_ensure] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(10454),
    [anon_sym_DASH_EQ] = ACTIONS(10454),
    [anon_sym_STAR_EQ] = ACTIONS(10454),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(10454),
    [anon_sym_SLASH_EQ] = ACTIONS(10454),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(10454),
    [anon_sym_PIPE_EQ] = ACTIONS(10454),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(10454),
    [anon_sym_AMP_EQ] = ACTIONS(10454),
    [anon_sym_PERCENT_EQ] = ACTIONS(10454),
    [anon_sym_GT_GT_EQ] = ACTIONS(10454),
    [anon_sym_LT_LT_EQ] = ACTIONS(10454),
    [anon_sym_CARET_EQ] = ACTIONS(10454),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [4327] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__line_break] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(10420),
    [sym__binary_star] = ACTIONS(10422),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_end] = ACTIONS(5338),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(10424),
    [anon_sym_SEMI] = ACTIONS(5338),
    [anon_sym_STAR_STAR] = ACTIONS(10426),
    [anon_sym_AMP] = ACTIONS(10428),
    [anon_sym_LT] = ACTIONS(10430),
    [anon_sym_if] = ACTIONS(5338),
    [anon_sym_unless] = ACTIONS(5338),
    [anon_sym_while] = ACTIONS(5338),
    [anon_sym_until] = ACTIONS(5338),
    [anon_sym_rescue] = ACTIONS(5338),
    [anon_sym_else] = ACTIONS(5338),
    [anon_sym_ensure] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(10432),
    [anon_sym_DOT_DOT] = ACTIONS(10434),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10436),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(10438),
    [anon_sym_AMP_AMP] = ACTIONS(10438),
    [anon_sym_LT_LT] = ACTIONS(10440),
    [anon_sym_GT_GT] = ACTIONS(10440),
    [anon_sym_EQ_EQ] = ACTIONS(10442),
    [anon_sym_BANG_EQ] = ACTIONS(10438),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10438),
    [anon_sym_LT_EQ_GT] = ACTIONS(10438),
    [anon_sym_EQ_TILDE] = ACTIONS(10438),
    [anon_sym_BANG_TILDE] = ACTIONS(10438),
    [anon_sym_LT_EQ] = ACTIONS(10430),
    [anon_sym_GT] = ACTIONS(10430),
    [anon_sym_GT_EQ] = ACTIONS(10444),
    [anon_sym_CARET] = ACTIONS(10446),
    [anon_sym_PLUS] = ACTIONS(10448),
    [anon_sym_SLASH] = ACTIONS(10426),
    [anon_sym_PERCENT] = ACTIONS(10426),
    [sym_comment] = ACTIONS(110),
  },
  [4328] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4338),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1706),
    [sym_call] = STATE(1706),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(340),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(4339),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1708),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1709),
    [sym__variable] = STATE(1706),
    [sym_reserved_identifier] = STATE(4340),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(4341),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(6268),
    [sym__splat_star] = ACTIONS(6270),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(2682),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(544),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2684),
    [anon_sym_yield] = ACTIONS(2686),
    [anon_sym_break] = ACTIONS(2688),
    [anon_sym_next] = ACTIONS(2690),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(544),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(544),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(2692),
    [anon_sym_not] = ACTIONS(2694),
    [anon_sym_BANG] = ACTIONS(2696),
    [anon_sym_TILDE] = ACTIONS(2698),
    [sym_constant] = ACTIONS(6272),
    [sym_identifier] = ACTIONS(6272),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4329] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4338),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1706),
    [sym_call] = STATE(1706),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(349),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(4339),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1708),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1709),
    [sym__variable] = STATE(1706),
    [sym_reserved_identifier] = STATE(4340),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(4341),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(6268),
    [sym__splat_star] = ACTIONS(6270),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(2682),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(604),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2684),
    [anon_sym_yield] = ACTIONS(2686),
    [anon_sym_break] = ACTIONS(2688),
    [anon_sym_next] = ACTIONS(2690),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(604),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(604),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(2692),
    [anon_sym_not] = ACTIONS(2694),
    [anon_sym_BANG] = ACTIONS(2696),
    [anon_sym_TILDE] = ACTIONS(2698),
    [sym_constant] = ACTIONS(6272),
    [sym_identifier] = ACTIONS(6272),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4330] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4338),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1706),
    [sym_call] = STATE(1706),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(350),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(4339),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1708),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1709),
    [sym__variable] = STATE(1706),
    [sym_reserved_identifier] = STATE(4340),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(4341),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(6268),
    [sym__splat_star] = ACTIONS(6270),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(2682),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(608),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2684),
    [anon_sym_yield] = ACTIONS(2686),
    [anon_sym_break] = ACTIONS(2688),
    [anon_sym_next] = ACTIONS(2690),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(608),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(608),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(2692),
    [anon_sym_not] = ACTIONS(2694),
    [anon_sym_BANG] = ACTIONS(2696),
    [anon_sym_TILDE] = ACTIONS(2698),
    [sym_constant] = ACTIONS(6272),
    [sym_identifier] = ACTIONS(6272),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4331] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4338),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1706),
    [sym_call] = STATE(1706),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(351),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(4339),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1708),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1709),
    [sym__variable] = STATE(1706),
    [sym_reserved_identifier] = STATE(4340),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(4341),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(6268),
    [sym__splat_star] = ACTIONS(6270),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(2682),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(612),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2684),
    [anon_sym_yield] = ACTIONS(2686),
    [anon_sym_break] = ACTIONS(2688),
    [anon_sym_next] = ACTIONS(2690),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(612),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(612),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(2692),
    [anon_sym_not] = ACTIONS(2694),
    [anon_sym_BANG] = ACTIONS(2696),
    [anon_sym_TILDE] = ACTIONS(2698),
    [sym_constant] = ACTIONS(6272),
    [sym_identifier] = ACTIONS(6272),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4332] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_end] = ACTIONS(1372),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(6282),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_if] = ACTIONS(1372),
    [anon_sym_unless] = ACTIONS(1372),
    [anon_sym_while] = ACTIONS(1372),
    [anon_sym_until] = ACTIONS(1372),
    [anon_sym_rescue] = ACTIONS(1372),
    [anon_sym_else] = ACTIONS(1372),
    [anon_sym_ensure] = ACTIONS(1372),
    [anon_sym_EQ_GT] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [4333] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__line_break] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(10420),
    [sym__binary_star] = ACTIONS(10422),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_end] = ACTIONS(4284),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(10424),
    [anon_sym_SEMI] = ACTIONS(4284),
    [anon_sym_STAR_STAR] = ACTIONS(10426),
    [anon_sym_AMP] = ACTIONS(10428),
    [anon_sym_LT] = ACTIONS(10430),
    [anon_sym_if] = ACTIONS(4284),
    [anon_sym_unless] = ACTIONS(4284),
    [anon_sym_while] = ACTIONS(4284),
    [anon_sym_until] = ACTIONS(4284),
    [anon_sym_rescue] = ACTIONS(4284),
    [anon_sym_else] = ACTIONS(4284),
    [anon_sym_ensure] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(10432),
    [anon_sym_DOT_DOT] = ACTIONS(10434),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10436),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(10438),
    [anon_sym_AMP_AMP] = ACTIONS(10438),
    [anon_sym_LT_LT] = ACTIONS(10440),
    [anon_sym_GT_GT] = ACTIONS(10440),
    [anon_sym_EQ_EQ] = ACTIONS(10442),
    [anon_sym_BANG_EQ] = ACTIONS(10438),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10438),
    [anon_sym_LT_EQ_GT] = ACTIONS(10438),
    [anon_sym_EQ_TILDE] = ACTIONS(10438),
    [anon_sym_BANG_TILDE] = ACTIONS(10438),
    [anon_sym_LT_EQ] = ACTIONS(10430),
    [anon_sym_GT] = ACTIONS(10430),
    [anon_sym_GT_EQ] = ACTIONS(10444),
    [anon_sym_CARET] = ACTIONS(10446),
    [anon_sym_PLUS] = ACTIONS(10448),
    [anon_sym_SLASH] = ACTIONS(10426),
    [anon_sym_PERCENT] = ACTIONS(10426),
    [sym_comment] = ACTIONS(110),
  },
  [4334] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7644),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1706),
    [sym_call] = STATE(1706),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1708),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1709),
    [sym__variable] = STATE(1706),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2682),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(6256),
    [anon_sym_yield] = ACTIONS(6258),
    [anon_sym_break] = ACTIONS(6260),
    [anon_sym_next] = ACTIONS(6262),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6264),
    [anon_sym_defined_QMARK] = ACTIONS(2692),
    [anon_sym_not] = ACTIONS(6266),
    [anon_sym_BANG] = ACTIONS(2698),
    [anon_sym_TILDE] = ACTIONS(2698),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4335] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7645),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1706),
    [sym_call] = STATE(1706),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1708),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1709),
    [sym__variable] = STATE(1706),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2682),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(6256),
    [anon_sym_yield] = ACTIONS(6258),
    [anon_sym_break] = ACTIONS(6260),
    [anon_sym_next] = ACTIONS(6262),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6264),
    [anon_sym_defined_QMARK] = ACTIONS(2692),
    [anon_sym_not] = ACTIONS(6266),
    [anon_sym_BANG] = ACTIONS(2698),
    [anon_sym_TILDE] = ACTIONS(2698),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4336] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7646),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1706),
    [sym_call] = STATE(1706),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1708),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1709),
    [sym__variable] = STATE(1706),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2682),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(6256),
    [anon_sym_yield] = ACTIONS(6258),
    [anon_sym_break] = ACTIONS(6260),
    [anon_sym_next] = ACTIONS(6262),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6264),
    [anon_sym_defined_QMARK] = ACTIONS(2692),
    [anon_sym_not] = ACTIONS(6266),
    [anon_sym_BANG] = ACTIONS(2698),
    [anon_sym_TILDE] = ACTIONS(2698),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4337] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(10456),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [4338] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__line_break] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(6276),
    [sym__binary_star] = ACTIONS(6278),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_end] = ACTIONS(2210),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(6280),
    [anon_sym_SEMI] = ACTIONS(2210),
    [anon_sym_STAR_STAR] = ACTIONS(6282),
    [anon_sym_AMP] = ACTIONS(6284),
    [anon_sym_LT] = ACTIONS(6286),
    [anon_sym_if] = ACTIONS(2210),
    [anon_sym_unless] = ACTIONS(2210),
    [anon_sym_while] = ACTIONS(2210),
    [anon_sym_until] = ACTIONS(2210),
    [anon_sym_rescue] = ACTIONS(2210),
    [anon_sym_else] = ACTIONS(2210),
    [anon_sym_ensure] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(6288),
    [anon_sym_DOT_DOT] = ACTIONS(6290),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6292),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(6294),
    [anon_sym_AMP_AMP] = ACTIONS(6294),
    [anon_sym_LT_LT] = ACTIONS(6296),
    [anon_sym_GT_GT] = ACTIONS(6296),
    [anon_sym_EQ_EQ] = ACTIONS(6298),
    [anon_sym_BANG_EQ] = ACTIONS(6294),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6294),
    [anon_sym_LT_EQ_GT] = ACTIONS(6294),
    [anon_sym_EQ_TILDE] = ACTIONS(6294),
    [anon_sym_BANG_TILDE] = ACTIONS(6294),
    [anon_sym_LT_EQ] = ACTIONS(6286),
    [anon_sym_GT] = ACTIONS(6286),
    [anon_sym_GT_EQ] = ACTIONS(6300),
    [anon_sym_CARET] = ACTIONS(6302),
    [anon_sym_PLUS] = ACTIONS(6304),
    [anon_sym_SLASH] = ACTIONS(6282),
    [anon_sym_PERCENT] = ACTIONS(6282),
    [sym_comment] = ACTIONS(110),
  },
  [4339] = {
    [sym_heredoc_end] = STATE(1444),
    [aux_sym_argument_list_repeat1] = STATE(7649),
    [aux_sym_argument_list_repeat2] = STATE(1445),
    [sym__simple_heredoc_body] = ACTIONS(2268),
    [sym__heredoc_body_beginning] = ACTIONS(2270),
    [sym__line_break] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_end] = ACTIONS(2272),
    [anon_sym_COMMA] = ACTIONS(10458),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_STAR_STAR] = ACTIONS(2272),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_if] = ACTIONS(2272),
    [anon_sym_unless] = ACTIONS(2272),
    [anon_sym_while] = ACTIONS(2272),
    [anon_sym_until] = ACTIONS(2272),
    [anon_sym_rescue] = ACTIONS(2272),
    [anon_sym_else] = ACTIONS(2272),
    [anon_sym_ensure] = ACTIONS(2272),
    [anon_sym_EQ_GT] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2272),
    [anon_sym_AMP_AMP] = ACTIONS(2272),
    [anon_sym_LT_LT] = ACTIONS(2272),
    [anon_sym_GT_GT] = ACTIONS(2272),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2272),
    [anon_sym_PLUS] = ACTIONS(2272),
    [anon_sym_SLASH] = ACTIONS(2272),
    [anon_sym_PERCENT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(110),
  },
  [4340] = {
    [sym__keyword_colon] = ACTIONS(10460),
    [sym_comment] = ACTIONS(110),
  },
  [4341] = {
    [sym_string] = STATE(611),
    [aux_sym_chained_string_repeat1] = STATE(612),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(20),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(10456),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_end] = ACTIONS(250),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_else] = ACTIONS(250),
    [anon_sym_ensure] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(120),
  },
  [4342] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_end] = ACTIONS(2870),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(6282),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_else] = ACTIONS(2870),
    [anon_sym_ensure] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [4343] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(6276),
    [sym__binary_star] = ACTIONS(6278),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_end] = ACTIONS(2870),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(6280),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(6282),
    [anon_sym_AMP] = ACTIONS(6284),
    [anon_sym_LT] = ACTIONS(6286),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_else] = ACTIONS(2870),
    [anon_sym_ensure] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(6288),
    [anon_sym_DOT_DOT] = ACTIONS(6290),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6292),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(6294),
    [anon_sym_AMP_AMP] = ACTIONS(6294),
    [anon_sym_LT_LT] = ACTIONS(6296),
    [anon_sym_GT_GT] = ACTIONS(6296),
    [anon_sym_EQ_EQ] = ACTIONS(6298),
    [anon_sym_BANG_EQ] = ACTIONS(6294),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6294),
    [anon_sym_LT_EQ_GT] = ACTIONS(6294),
    [anon_sym_EQ_TILDE] = ACTIONS(6294),
    [anon_sym_BANG_TILDE] = ACTIONS(6294),
    [anon_sym_LT_EQ] = ACTIONS(6286),
    [anon_sym_GT] = ACTIONS(6286),
    [anon_sym_GT_EQ] = ACTIONS(6300),
    [anon_sym_CARET] = ACTIONS(6302),
    [anon_sym_PLUS] = ACTIONS(6304),
    [anon_sym_SLASH] = ACTIONS(6282),
    [anon_sym_PERCENT] = ACTIONS(6282),
    [sym_comment] = ACTIONS(110),
  },
  [4344] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7651),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4325),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4326),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6246),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6248),
    [anon_sym_defined_QMARK] = ACTIONS(6250),
    [anon_sym_not] = ACTIONS(6252),
    [anon_sym_BANG] = ACTIONS(6254),
    [anon_sym_TILDE] = ACTIONS(6254),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4345] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7652),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1706),
    [sym_call] = STATE(1706),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1708),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1709),
    [sym__variable] = STATE(1706),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2682),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(6256),
    [anon_sym_yield] = ACTIONS(6258),
    [anon_sym_break] = ACTIONS(6260),
    [anon_sym_next] = ACTIONS(6262),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6264),
    [anon_sym_defined_QMARK] = ACTIONS(2692),
    [anon_sym_not] = ACTIONS(6266),
    [anon_sym_BANG] = ACTIONS(2698),
    [anon_sym_TILDE] = ACTIONS(2698),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4346] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7653),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1706),
    [sym_call] = STATE(1706),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1708),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1709),
    [sym__variable] = STATE(1706),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2682),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(6256),
    [anon_sym_yield] = ACTIONS(6258),
    [anon_sym_break] = ACTIONS(6260),
    [anon_sym_next] = ACTIONS(6262),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6264),
    [anon_sym_defined_QMARK] = ACTIONS(2692),
    [anon_sym_not] = ACTIONS(6266),
    [anon_sym_BANG] = ACTIONS(2698),
    [anon_sym_TILDE] = ACTIONS(2698),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4347] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7654),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1706),
    [sym_call] = STATE(1706),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1708),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1709),
    [sym__variable] = STATE(1706),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2682),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(6256),
    [anon_sym_yield] = ACTIONS(6258),
    [anon_sym_break] = ACTIONS(6260),
    [anon_sym_next] = ACTIONS(6262),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6264),
    [anon_sym_defined_QMARK] = ACTIONS(2692),
    [anon_sym_not] = ACTIONS(6266),
    [anon_sym_BANG] = ACTIONS(2698),
    [anon_sym_TILDE] = ACTIONS(2698),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4348] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7655),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1706),
    [sym_call] = STATE(1706),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1708),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1709),
    [sym__variable] = STATE(1706),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2682),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(6256),
    [anon_sym_yield] = ACTIONS(6258),
    [anon_sym_break] = ACTIONS(6260),
    [anon_sym_next] = ACTIONS(6262),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6264),
    [anon_sym_defined_QMARK] = ACTIONS(2692),
    [anon_sym_not] = ACTIONS(6266),
    [anon_sym_BANG] = ACTIONS(2698),
    [anon_sym_TILDE] = ACTIONS(2698),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4349] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7656),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1706),
    [sym_call] = STATE(1706),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1708),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1709),
    [sym__variable] = STATE(1706),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2682),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(6256),
    [anon_sym_yield] = ACTIONS(6258),
    [anon_sym_break] = ACTIONS(6260),
    [anon_sym_next] = ACTIONS(6262),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6264),
    [anon_sym_defined_QMARK] = ACTIONS(2692),
    [anon_sym_not] = ACTIONS(6266),
    [anon_sym_BANG] = ACTIONS(2698),
    [anon_sym_TILDE] = ACTIONS(2698),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4350] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7657),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1706),
    [sym_call] = STATE(1706),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1708),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1709),
    [sym__variable] = STATE(1706),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2682),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(6256),
    [anon_sym_yield] = ACTIONS(6258),
    [anon_sym_break] = ACTIONS(6260),
    [anon_sym_next] = ACTIONS(6262),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6264),
    [anon_sym_defined_QMARK] = ACTIONS(2692),
    [anon_sym_not] = ACTIONS(6266),
    [anon_sym_BANG] = ACTIONS(2698),
    [anon_sym_TILDE] = ACTIONS(2698),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4351] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(7658),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [4352] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7659),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1706),
    [sym_call] = STATE(1706),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1708),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1709),
    [sym__variable] = STATE(1706),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2682),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(6256),
    [anon_sym_yield] = ACTIONS(6258),
    [anon_sym_break] = ACTIONS(6260),
    [anon_sym_next] = ACTIONS(6262),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6264),
    [anon_sym_defined_QMARK] = ACTIONS(2692),
    [anon_sym_not] = ACTIONS(6266),
    [anon_sym_BANG] = ACTIONS(2698),
    [anon_sym_TILDE] = ACTIONS(2698),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4353] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7660),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1706),
    [sym_call] = STATE(1706),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1708),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1709),
    [sym__variable] = STATE(1706),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2682),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(6256),
    [anon_sym_yield] = ACTIONS(6258),
    [anon_sym_break] = ACTIONS(6260),
    [anon_sym_next] = ACTIONS(6262),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6264),
    [anon_sym_defined_QMARK] = ACTIONS(2692),
    [anon_sym_not] = ACTIONS(6266),
    [anon_sym_BANG] = ACTIONS(2698),
    [anon_sym_TILDE] = ACTIONS(2698),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4354] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7661),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1706),
    [sym_call] = STATE(1706),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1708),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1709),
    [sym__variable] = STATE(1706),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2682),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(6256),
    [anon_sym_yield] = ACTIONS(6258),
    [anon_sym_break] = ACTIONS(6260),
    [anon_sym_next] = ACTIONS(6262),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6264),
    [anon_sym_defined_QMARK] = ACTIONS(2692),
    [anon_sym_not] = ACTIONS(6266),
    [anon_sym_BANG] = ACTIONS(2698),
    [anon_sym_TILDE] = ACTIONS(2698),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4355] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7662),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1706),
    [sym_call] = STATE(1706),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1708),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1709),
    [sym__variable] = STATE(1706),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2682),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(6256),
    [anon_sym_yield] = ACTIONS(6258),
    [anon_sym_break] = ACTIONS(6260),
    [anon_sym_next] = ACTIONS(6262),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6264),
    [anon_sym_defined_QMARK] = ACTIONS(2692),
    [anon_sym_not] = ACTIONS(6266),
    [anon_sym_BANG] = ACTIONS(2698),
    [anon_sym_TILDE] = ACTIONS(2698),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4356] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7663),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1706),
    [sym_call] = STATE(1706),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1708),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1709),
    [sym__variable] = STATE(1706),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2682),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(6256),
    [anon_sym_yield] = ACTIONS(6258),
    [anon_sym_break] = ACTIONS(6260),
    [anon_sym_next] = ACTIONS(6262),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6264),
    [anon_sym_defined_QMARK] = ACTIONS(2692),
    [anon_sym_not] = ACTIONS(6266),
    [anon_sym_BANG] = ACTIONS(2698),
    [anon_sym_TILDE] = ACTIONS(2698),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4357] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7664),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1812),
    [sym_call] = STATE(1812),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1814),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1815),
    [sym__variable] = STATE(1812),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2842),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(6622),
    [anon_sym_yield] = ACTIONS(6624),
    [anon_sym_break] = ACTIONS(6626),
    [anon_sym_next] = ACTIONS(6628),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(6630),
    [anon_sym_defined_QMARK] = ACTIONS(2852),
    [anon_sym_not] = ACTIONS(6632),
    [anon_sym_BANG] = ACTIONS(2858),
    [anon_sym_TILDE] = ACTIONS(2858),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4358] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7665),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1812),
    [sym_call] = STATE(1812),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1814),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1815),
    [sym__variable] = STATE(1812),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2842),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(6622),
    [anon_sym_yield] = ACTIONS(6624),
    [anon_sym_break] = ACTIONS(6626),
    [anon_sym_next] = ACTIONS(6628),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(6630),
    [anon_sym_defined_QMARK] = ACTIONS(2852),
    [anon_sym_not] = ACTIONS(6632),
    [anon_sym_BANG] = ACTIONS(2858),
    [anon_sym_TILDE] = ACTIONS(2858),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4359] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7666),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1812),
    [sym_call] = STATE(1812),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1814),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1815),
    [sym__variable] = STATE(1812),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2842),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(6622),
    [anon_sym_yield] = ACTIONS(6624),
    [anon_sym_break] = ACTIONS(6626),
    [anon_sym_next] = ACTIONS(6628),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(6630),
    [anon_sym_defined_QMARK] = ACTIONS(2852),
    [anon_sym_not] = ACTIONS(6632),
    [anon_sym_BANG] = ACTIONS(2858),
    [anon_sym_TILDE] = ACTIONS(2858),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4360] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(10462),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [4361] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__line_break] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(6636),
    [sym__binary_star] = ACTIONS(6638),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_end] = ACTIONS(2210),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(6640),
    [anon_sym_SEMI] = ACTIONS(2210),
    [anon_sym_STAR_STAR] = ACTIONS(6642),
    [anon_sym_AMP] = ACTIONS(6644),
    [anon_sym_EQ] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(6646),
    [anon_sym_if] = ACTIONS(2210),
    [anon_sym_unless] = ACTIONS(2210),
    [anon_sym_while] = ACTIONS(2210),
    [anon_sym_until] = ACTIONS(2210),
    [anon_sym_rescue] = ACTIONS(2210),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_else] = ACTIONS(2210),
    [anon_sym_ensure] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_PLUS_EQ] = ACTIONS(2210),
    [anon_sym_DASH_EQ] = ACTIONS(2210),
    [anon_sym_STAR_EQ] = ACTIONS(2210),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2210),
    [anon_sym_SLASH_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2210),
    [anon_sym_AMP_EQ] = ACTIONS(2210),
    [anon_sym_PERCENT_EQ] = ACTIONS(2210),
    [anon_sym_GT_GT_EQ] = ACTIONS(2210),
    [anon_sym_LT_LT_EQ] = ACTIONS(2210),
    [anon_sym_CARET_EQ] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(6648),
    [anon_sym_DOT_DOT] = ACTIONS(6650),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6652),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(6654),
    [anon_sym_AMP_AMP] = ACTIONS(6654),
    [anon_sym_LT_LT] = ACTIONS(6656),
    [anon_sym_GT_GT] = ACTIONS(6656),
    [anon_sym_EQ_EQ] = ACTIONS(6654),
    [anon_sym_BANG_EQ] = ACTIONS(6658),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6658),
    [anon_sym_LT_EQ_GT] = ACTIONS(6658),
    [anon_sym_EQ_TILDE] = ACTIONS(6658),
    [anon_sym_BANG_TILDE] = ACTIONS(6658),
    [anon_sym_LT_EQ] = ACTIONS(6646),
    [anon_sym_GT] = ACTIONS(6646),
    [anon_sym_GT_EQ] = ACTIONS(6660),
    [anon_sym_CARET] = ACTIONS(6640),
    [anon_sym_PLUS] = ACTIONS(6662),
    [anon_sym_SLASH] = ACTIONS(6642),
    [anon_sym_PERCENT] = ACTIONS(6642),
    [sym_comment] = ACTIONS(256),
  },
  [4362] = {
    [sym_heredoc_end] = STATE(3770),
    [aux_sym_argument_list_repeat1] = STATE(7669),
    [aux_sym_argument_list_repeat2] = STATE(3771),
    [sym__simple_heredoc_body] = ACTIONS(5460),
    [sym__heredoc_body_beginning] = ACTIONS(5462),
    [sym__line_break] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_end] = ACTIONS(2272),
    [anon_sym_COMMA] = ACTIONS(10464),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_STAR_STAR] = ACTIONS(2274),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_EQ] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_if] = ACTIONS(2272),
    [anon_sym_unless] = ACTIONS(2272),
    [anon_sym_while] = ACTIONS(2272),
    [anon_sym_until] = ACTIONS(2272),
    [anon_sym_rescue] = ACTIONS(2272),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_else] = ACTIONS(2272),
    [anon_sym_ensure] = ACTIONS(2272),
    [anon_sym_EQ_GT] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_PLUS_EQ] = ACTIONS(2272),
    [anon_sym_DASH_EQ] = ACTIONS(2272),
    [anon_sym_STAR_EQ] = ACTIONS(2272),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2272),
    [anon_sym_SLASH_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2272),
    [anon_sym_AMP_EQ] = ACTIONS(2272),
    [anon_sym_PERCENT_EQ] = ACTIONS(2272),
    [anon_sym_GT_GT_EQ] = ACTIONS(2272),
    [anon_sym_LT_LT_EQ] = ACTIONS(2272),
    [anon_sym_CARET_EQ] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2274),
    [anon_sym_AMP_AMP] = ACTIONS(2274),
    [anon_sym_LT_LT] = ACTIONS(2274),
    [anon_sym_GT_GT] = ACTIONS(2274),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2274),
    [anon_sym_PLUS] = ACTIONS(2274),
    [anon_sym_SLASH] = ACTIONS(2274),
    [anon_sym_PERCENT] = ACTIONS(2274),
    [sym_comment] = ACTIONS(256),
  },
  [4363] = {
    [sym__keyword_colon] = ACTIONS(10466),
    [sym_comment] = ACTIONS(110),
  },
  [4364] = {
    [sym_string] = STATE(2203),
    [aux_sym_chained_string_repeat1] = STATE(2204),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(10462),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_end] = ACTIONS(250),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_else] = ACTIONS(250),
    [anon_sym_ensure] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(3266),
  },
  [4365] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1705),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1706),
    [sym_call] = STATE(1706),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(3780),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1708),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1709),
    [sym__variable] = STATE(1706),
    [sym_reserved_identifier] = STATE(1710),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(1711),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(7671),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__block_ampersand] = ACTIONS(2678),
    [sym__splat_star] = ACTIONS(2680),
    [sym__unary_minus] = ACTIONS(2682),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(10468),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2684),
    [anon_sym_yield] = ACTIONS(2686),
    [anon_sym_break] = ACTIONS(2688),
    [anon_sym_next] = ACTIONS(2690),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(6264),
    [anon_sym_defined_QMARK] = ACTIONS(2692),
    [anon_sym_not] = ACTIONS(2694),
    [anon_sym_BANG] = ACTIONS(2698),
    [anon_sym_TILDE] = ACTIONS(2698),
    [sym_constant] = ACTIONS(2700),
    [sym_identifier] = ACTIONS(2700),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4366] = {
    [sym_heredoc_end] = STATE(1444),
    [aux_sym_argument_list_repeat2] = STATE(3783),
    [sym__simple_heredoc_body] = ACTIONS(2268),
    [sym__heredoc_body_beginning] = ACTIONS(2270),
    [sym__line_break] = ACTIONS(5472),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_end] = ACTIONS(5472),
    [anon_sym_COMMA] = ACTIONS(10470),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_SEMI] = ACTIONS(5472),
    [anon_sym_STAR_STAR] = ACTIONS(5472),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_if] = ACTIONS(5472),
    [anon_sym_unless] = ACTIONS(5472),
    [anon_sym_while] = ACTIONS(5472),
    [anon_sym_until] = ACTIONS(5472),
    [anon_sym_rescue] = ACTIONS(5472),
    [anon_sym_else] = ACTIONS(5472),
    [anon_sym_ensure] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5472),
    [anon_sym_AMP_AMP] = ACTIONS(5472),
    [anon_sym_LT_LT] = ACTIONS(5472),
    [anon_sym_GT_GT] = ACTIONS(5472),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5472),
    [anon_sym_PLUS] = ACTIONS(5472),
    [anon_sym_SLASH] = ACTIONS(5472),
    [anon_sym_PERCENT] = ACTIONS(5472),
    [sym_comment] = ACTIONS(110),
  },
  [4367] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7673),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1706),
    [sym_call] = STATE(1706),
    [sym_method_call] = STATE(338),
    [sym_splat_argument] = STATE(3785),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_right_assignment_list] = STATE(3786),
    [sym__arg_or_splat_arg] = STATE(7674),
    [sym_left_assignment_list] = STATE(1708),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1709),
    [sym__variable] = STATE(1706),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(6270),
    [sym__unary_minus] = ACTIONS(2682),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(6256),
    [anon_sym_yield] = ACTIONS(6258),
    [anon_sym_break] = ACTIONS(6260),
    [anon_sym_next] = ACTIONS(6262),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6264),
    [anon_sym_defined_QMARK] = ACTIONS(2692),
    [anon_sym_not] = ACTIONS(6266),
    [anon_sym_BANG] = ACTIONS(2698),
    [anon_sym_TILDE] = ACTIONS(2698),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4368] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7675),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1706),
    [sym_call] = STATE(1706),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1708),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1709),
    [sym__variable] = STATE(1706),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2682),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(6256),
    [anon_sym_yield] = ACTIONS(6258),
    [anon_sym_break] = ACTIONS(6260),
    [anon_sym_next] = ACTIONS(6262),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6264),
    [anon_sym_defined_QMARK] = ACTIONS(2692),
    [anon_sym_not] = ACTIONS(6266),
    [anon_sym_BANG] = ACTIONS(2698),
    [anon_sym_TILDE] = ACTIONS(2698),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4369] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7676),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4325),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4326),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6246),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6248),
    [anon_sym_defined_QMARK] = ACTIONS(6250),
    [anon_sym_not] = ACTIONS(6252),
    [anon_sym_BANG] = ACTIONS(6254),
    [anon_sym_TILDE] = ACTIONS(6254),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4370] = {
    [sym__heredoc_body_middle] = ACTIONS(4108),
    [sym__heredoc_body_end] = ACTIONS(10472),
    [anon_sym_if] = ACTIONS(4112),
    [anon_sym_unless] = ACTIONS(4114),
    [anon_sym_while] = ACTIONS(4116),
    [anon_sym_until] = ACTIONS(4118),
    [anon_sym_rescue] = ACTIONS(4120),
    [sym_comment] = ACTIONS(110),
  },
  [4371] = {
    [sym__statement] = STATE(7678),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [4372] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__line_break] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(6348),
    [sym__binary_star] = ACTIONS(6350),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(6352),
    [anon_sym_SEMI] = ACTIONS(5338),
    [anon_sym_STAR_STAR] = ACTIONS(6354),
    [anon_sym_AMP] = ACTIONS(6356),
    [anon_sym_LT] = ACTIONS(6358),
    [anon_sym_then] = ACTIONS(5338),
    [anon_sym_EQ_GT] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(6360),
    [anon_sym_DOT_DOT] = ACTIONS(6362),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6364),
    [anon_sym_and] = ACTIONS(6366),
    [anon_sym_or] = ACTIONS(6366),
    [anon_sym_PIPE_PIPE] = ACTIONS(6368),
    [anon_sym_AMP_AMP] = ACTIONS(6368),
    [anon_sym_LT_LT] = ACTIONS(6370),
    [anon_sym_GT_GT] = ACTIONS(6370),
    [anon_sym_EQ_EQ] = ACTIONS(6372),
    [anon_sym_BANG_EQ] = ACTIONS(6368),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6368),
    [anon_sym_LT_EQ_GT] = ACTIONS(6368),
    [anon_sym_EQ_TILDE] = ACTIONS(6368),
    [anon_sym_BANG_TILDE] = ACTIONS(6368),
    [anon_sym_LT_EQ] = ACTIONS(6358),
    [anon_sym_GT] = ACTIONS(6358),
    [anon_sym_GT_EQ] = ACTIONS(6374),
    [anon_sym_CARET] = ACTIONS(6376),
    [anon_sym_PLUS] = ACTIONS(6378),
    [anon_sym_SLASH] = ACTIONS(6354),
    [anon_sym_PERCENT] = ACTIONS(6354),
    [sym_comment] = ACTIONS(110),
  },
  [4373] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(6354),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_then] = ACTIONS(1372),
    [anon_sym_EQ_GT] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [4374] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7679),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4207),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4208),
    [sym__variable] = STATE(1732),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6060),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2712),
    [anon_sym_yield] = ACTIONS(2714),
    [anon_sym_break] = ACTIONS(2716),
    [anon_sym_next] = ACTIONS(2718),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10188),
    [anon_sym_defined_QMARK] = ACTIONS(6070),
    [anon_sym_not] = ACTIONS(10190),
    [anon_sym_BANG] = ACTIONS(6076),
    [anon_sym_TILDE] = ACTIONS(6076),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4375] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7680),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4207),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4208),
    [sym__variable] = STATE(1732),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6060),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2712),
    [anon_sym_yield] = ACTIONS(2714),
    [anon_sym_break] = ACTIONS(2716),
    [anon_sym_next] = ACTIONS(2718),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10188),
    [anon_sym_defined_QMARK] = ACTIONS(6070),
    [anon_sym_not] = ACTIONS(10190),
    [anon_sym_BANG] = ACTIONS(6076),
    [anon_sym_TILDE] = ACTIONS(6076),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4376] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7681),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4207),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4208),
    [sym__variable] = STATE(1732),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6060),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2712),
    [anon_sym_yield] = ACTIONS(2714),
    [anon_sym_break] = ACTIONS(2716),
    [anon_sym_next] = ACTIONS(2718),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10188),
    [anon_sym_defined_QMARK] = ACTIONS(6070),
    [anon_sym_not] = ACTIONS(10190),
    [anon_sym_BANG] = ACTIONS(6076),
    [anon_sym_TILDE] = ACTIONS(6076),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4377] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(10474),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [4378] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__line_break] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(10194),
    [sym__binary_star] = ACTIONS(10196),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(10198),
    [anon_sym_SEMI] = ACTIONS(2210),
    [anon_sym_STAR_STAR] = ACTIONS(10200),
    [anon_sym_AMP] = ACTIONS(10202),
    [anon_sym_LT] = ACTIONS(10204),
    [anon_sym_then] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(10206),
    [anon_sym_DOT_DOT] = ACTIONS(10208),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10210),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(10212),
    [anon_sym_AMP_AMP] = ACTIONS(10212),
    [anon_sym_LT_LT] = ACTIONS(10214),
    [anon_sym_GT_GT] = ACTIONS(10214),
    [anon_sym_EQ_EQ] = ACTIONS(10216),
    [anon_sym_BANG_EQ] = ACTIONS(10212),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10212),
    [anon_sym_LT_EQ_GT] = ACTIONS(10212),
    [anon_sym_EQ_TILDE] = ACTIONS(10212),
    [anon_sym_BANG_TILDE] = ACTIONS(10212),
    [anon_sym_LT_EQ] = ACTIONS(10204),
    [anon_sym_GT] = ACTIONS(10204),
    [anon_sym_GT_EQ] = ACTIONS(10218),
    [anon_sym_CARET] = ACTIONS(10220),
    [anon_sym_PLUS] = ACTIONS(10222),
    [anon_sym_SLASH] = ACTIONS(10200),
    [anon_sym_PERCENT] = ACTIONS(10200),
    [sym_comment] = ACTIONS(110),
  },
  [4379] = {
    [sym_heredoc_end] = STATE(1444),
    [aux_sym_argument_list_repeat1] = STATE(7684),
    [aux_sym_argument_list_repeat2] = STATE(1445),
    [sym__simple_heredoc_body] = ACTIONS(2268),
    [sym__heredoc_body_beginning] = ACTIONS(2270),
    [sym__line_break] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(10476),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_STAR_STAR] = ACTIONS(2272),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_then] = ACTIONS(2272),
    [anon_sym_EQ_GT] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2272),
    [anon_sym_AMP_AMP] = ACTIONS(2272),
    [anon_sym_LT_LT] = ACTIONS(2272),
    [anon_sym_GT_GT] = ACTIONS(2272),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2272),
    [anon_sym_PLUS] = ACTIONS(2272),
    [anon_sym_SLASH] = ACTIONS(2272),
    [anon_sym_PERCENT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(110),
  },
  [4380] = {
    [sym__keyword_colon] = ACTIONS(10478),
    [sym_comment] = ACTIONS(110),
  },
  [4381] = {
    [sym_string] = STATE(611),
    [aux_sym_chained_string_repeat1] = STATE(612),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(20),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(10474),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_then] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(120),
  },
  [4382] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__unary_minus] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(722),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(722),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(722),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [4383] = {
    [sym__simple_heredoc_body] = ACTIONS(740),
    [sym__heredoc_body_beginning] = ACTIONS(740),
    [sym__line_break] = ACTIONS(740),
    [sym__element_reference_left_bracket] = ACTIONS(740),
    [sym__scope_double_colon] = ACTIONS(740),
    [anon_sym_DOT] = ACTIONS(740),
    [anon_sym_SEMI] = ACTIONS(740),
    [anon_sym_then] = ACTIONS(740),
    [anon_sym_AMP_DOT] = ACTIONS(740),
    [sym_comment] = ACTIONS(110),
  },
  [4384] = {
    [sym__simple_heredoc_body] = ACTIONS(744),
    [sym__heredoc_body_beginning] = ACTIONS(744),
    [sym__line_break] = ACTIONS(744),
    [sym__element_reference_left_bracket] = ACTIONS(744),
    [sym__scope_double_colon] = ACTIONS(744),
    [anon_sym_DOT] = ACTIONS(744),
    [anon_sym_SEMI] = ACTIONS(744),
    [anon_sym_then] = ACTIONS(744),
    [anon_sym_AMP_DOT] = ACTIONS(744),
    [sym_comment] = ACTIONS(110),
  },
  [4385] = {
    [sym__simple_string] = ACTIONS(748),
    [sym__simple_symbol] = ACTIONS(748),
    [sym__simple_subshell] = ACTIONS(748),
    [sym__simple_regex] = ACTIONS(748),
    [sym__simple_word_list] = ACTIONS(748),
    [sym__simple_heredoc_body] = ACTIONS(748),
    [sym__string_beginning] = ACTIONS(748),
    [sym__symbol_beginning] = ACTIONS(748),
    [sym__subshell_beginning] = ACTIONS(748),
    [sym__regex_beginning] = ACTIONS(748),
    [sym__word_list_beginning] = ACTIONS(748),
    [sym__heredoc_body_beginning] = ACTIONS(748),
    [sym_heredoc_beginning] = ACTIONS(748),
    [sym__line_break] = ACTIONS(748),
    [sym__element_reference_left_bracket] = ACTIONS(748),
    [sym__block_ampersand] = ACTIONS(748),
    [sym__splat_star] = ACTIONS(748),
    [sym__argument_list_left_paren] = ACTIONS(748),
    [sym__scope_double_colon] = ACTIONS(748),
    [sym__unary_minus] = ACTIONS(748),
    [anon_sym_LBRACE] = ACTIONS(748),
    [anon_sym_def] = ACTIONS(750),
    [anon_sym_LPAREN] = ACTIONS(748),
    [anon_sym_DOT] = ACTIONS(748),
    [anon_sym_COLON_COLON] = ACTIONS(748),
    [anon_sym_end] = ACTIONS(750),
    [anon_sym_SEMI] = ACTIONS(748),
    [anon_sym_STAR] = ACTIONS(750),
    [anon_sym_STAR_STAR] = ACTIONS(748),
    [anon_sym_class] = ACTIONS(750),
    [anon_sym_module] = ACTIONS(750),
    [anon_sym_return] = ACTIONS(750),
    [anon_sym_yield] = ACTIONS(750),
    [anon_sym_break] = ACTIONS(750),
    [anon_sym_next] = ACTIONS(750),
    [anon_sym_redo] = ACTIONS(750),
    [anon_sym_retry] = ACTIONS(750),
    [anon_sym_if] = ACTIONS(750),
    [anon_sym_unless] = ACTIONS(750),
    [anon_sym_while] = ACTIONS(750),
    [anon_sym_until] = ACTIONS(750),
    [anon_sym_rescue] = ACTIONS(750),
    [anon_sym_for] = ACTIONS(750),
    [anon_sym_in] = ACTIONS(750),
    [anon_sym_do] = ACTIONS(750),
    [anon_sym_case] = ACTIONS(750),
    [anon_sym_when] = ACTIONS(750),
    [anon_sym_elsif] = ACTIONS(750),
    [anon_sym_else] = ACTIONS(750),
    [anon_sym_then] = ACTIONS(750),
    [anon_sym_begin] = ACTIONS(750),
    [anon_sym_ensure] = ACTIONS(750),
    [anon_sym_AMP_DOT] = ACTIONS(748),
    [anon_sym_and] = ACTIONS(750),
    [anon_sym_or] = ACTIONS(750),
    [anon_sym_PLUS] = ACTIONS(750),
    [anon_sym_defined_QMARK] = ACTIONS(748),
    [anon_sym_not] = ACTIONS(750),
    [anon_sym_BANG] = ACTIONS(748),
    [anon_sym_TILDE] = ACTIONS(748),
    [sym_constant] = ACTIONS(752),
    [sym_identifier] = ACTIONS(752),
    [sym_instance_variable] = ACTIONS(750),
    [sym_class_variable] = ACTIONS(750),
    [sym_global_variable] = ACTIONS(750),
    [anon_sym_alias] = ACTIONS(750),
    [anon_sym_defined] = ACTIONS(750),
    [anon_sym_false] = ACTIONS(750),
    [anon_sym_nil] = ACTIONS(750),
    [anon_sym_self] = ACTIONS(750),
    [anon_sym_super] = ACTIONS(750),
    [anon_sym_true] = ACTIONS(750),
    [anon_sym_undef] = ACTIONS(750),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(750),
    [sym_float] = ACTIONS(752),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(748),
    [anon_sym_TRUE] = ACTIONS(750),
    [anon_sym_FALSE] = ACTIONS(750),
    [anon_sym_NIL] = ACTIONS(750),
    [sym_keyword__FILE__] = ACTIONS(750),
    [sym_keyword__LINE__] = ACTIONS(750),
    [sym_keyword__ENCODING__] = ACTIONS(750),
    [sym__character_literal] = ACTIONS(750),
    [anon_sym_LBRACK] = ACTIONS(748),
    [anon_sym_DASH_GT] = ACTIONS(748),
  },
  [4386] = {
    [sym__simple_string] = ACTIONS(754),
    [sym__simple_symbol] = ACTIONS(754),
    [sym__simple_subshell] = ACTIONS(754),
    [sym__simple_regex] = ACTIONS(754),
    [sym__simple_word_list] = ACTIONS(754),
    [sym__simple_heredoc_body] = ACTIONS(754),
    [sym__string_beginning] = ACTIONS(754),
    [sym__symbol_beginning] = ACTIONS(754),
    [sym__subshell_beginning] = ACTIONS(754),
    [sym__regex_beginning] = ACTIONS(754),
    [sym__word_list_beginning] = ACTIONS(754),
    [sym__heredoc_body_beginning] = ACTIONS(754),
    [sym_heredoc_beginning] = ACTIONS(754),
    [sym__line_break] = ACTIONS(754),
    [sym__element_reference_left_bracket] = ACTIONS(754),
    [sym__block_ampersand] = ACTIONS(754),
    [sym__splat_star] = ACTIONS(754),
    [sym__argument_list_left_paren] = ACTIONS(754),
    [sym__scope_double_colon] = ACTIONS(754),
    [sym__unary_minus] = ACTIONS(754),
    [anon_sym_LBRACE] = ACTIONS(754),
    [anon_sym_def] = ACTIONS(756),
    [anon_sym_LPAREN] = ACTIONS(754),
    [anon_sym_DOT] = ACTIONS(754),
    [anon_sym_COLON_COLON] = ACTIONS(754),
    [anon_sym_end] = ACTIONS(756),
    [anon_sym_SEMI] = ACTIONS(754),
    [anon_sym_STAR] = ACTIONS(756),
    [anon_sym_STAR_STAR] = ACTIONS(754),
    [anon_sym_class] = ACTIONS(756),
    [anon_sym_module] = ACTIONS(756),
    [anon_sym_return] = ACTIONS(756),
    [anon_sym_yield] = ACTIONS(756),
    [anon_sym_break] = ACTIONS(756),
    [anon_sym_next] = ACTIONS(756),
    [anon_sym_redo] = ACTIONS(756),
    [anon_sym_retry] = ACTIONS(756),
    [anon_sym_if] = ACTIONS(756),
    [anon_sym_unless] = ACTIONS(756),
    [anon_sym_while] = ACTIONS(756),
    [anon_sym_until] = ACTIONS(756),
    [anon_sym_rescue] = ACTIONS(756),
    [anon_sym_for] = ACTIONS(756),
    [anon_sym_in] = ACTIONS(756),
    [anon_sym_do] = ACTIONS(756),
    [anon_sym_case] = ACTIONS(756),
    [anon_sym_when] = ACTIONS(756),
    [anon_sym_elsif] = ACTIONS(756),
    [anon_sym_else] = ACTIONS(756),
    [anon_sym_then] = ACTIONS(756),
    [anon_sym_begin] = ACTIONS(756),
    [anon_sym_ensure] = ACTIONS(756),
    [anon_sym_AMP_DOT] = ACTIONS(754),
    [anon_sym_and] = ACTIONS(756),
    [anon_sym_or] = ACTIONS(756),
    [anon_sym_PLUS] = ACTIONS(756),
    [anon_sym_defined_QMARK] = ACTIONS(754),
    [anon_sym_not] = ACTIONS(756),
    [anon_sym_BANG] = ACTIONS(754),
    [anon_sym_TILDE] = ACTIONS(754),
    [sym_constant] = ACTIONS(758),
    [sym_identifier] = ACTIONS(758),
    [sym_instance_variable] = ACTIONS(756),
    [sym_class_variable] = ACTIONS(756),
    [sym_global_variable] = ACTIONS(756),
    [anon_sym_alias] = ACTIONS(756),
    [anon_sym_defined] = ACTIONS(756),
    [anon_sym_false] = ACTIONS(756),
    [anon_sym_nil] = ACTIONS(756),
    [anon_sym_self] = ACTIONS(756),
    [anon_sym_super] = ACTIONS(756),
    [anon_sym_true] = ACTIONS(756),
    [anon_sym_undef] = ACTIONS(756),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(756),
    [sym_float] = ACTIONS(758),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(754),
    [anon_sym_TRUE] = ACTIONS(756),
    [anon_sym_FALSE] = ACTIONS(756),
    [anon_sym_NIL] = ACTIONS(756),
    [sym_keyword__FILE__] = ACTIONS(756),
    [sym_keyword__LINE__] = ACTIONS(756),
    [sym_keyword__ENCODING__] = ACTIONS(756),
    [sym__character_literal] = ACTIONS(756),
    [anon_sym_LBRACK] = ACTIONS(754),
    [anon_sym_DASH_GT] = ACTIONS(754),
  },
  [4387] = {
    [sym__simple_heredoc_body] = ACTIONS(760),
    [sym__heredoc_body_beginning] = ACTIONS(760),
    [sym__line_break] = ACTIONS(760),
    [sym__element_reference_left_bracket] = ACTIONS(760),
    [sym__scope_double_colon] = ACTIONS(760),
    [anon_sym_DOT] = ACTIONS(760),
    [anon_sym_SEMI] = ACTIONS(760),
    [anon_sym_then] = ACTIONS(760),
    [anon_sym_AMP_DOT] = ACTIONS(760),
    [sym_comment] = ACTIONS(110),
  },
  [4388] = {
    [sym__element_reference_left_bracket] = ACTIONS(10480),
    [sym__scope_double_colon] = ACTIONS(2112),
    [anon_sym_DOT] = ACTIONS(10482),
    [anon_sym_AMP_DOT] = ACTIONS(10482),
    [sym_comment] = ACTIONS(110),
  },
  [4389] = {
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym__line_break] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__scope_double_colon] = ACTIONS(980),
    [anon_sym_DOT] = ACTIONS(980),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_then] = ACTIONS(980),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [sym_comment] = ACTIONS(110),
  },
  [4390] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7704),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4247),
    [sym_call] = STATE(4247),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(7705),
    [sym__argument_list_with_parens] = STATE(7706),
    [sym__argument] = STATE(7707),
    [sym_splat_argument] = STATE(7708),
    [sym_hash_splat_argument] = STATE(7708),
    [sym_block_argument] = STATE(7708),
    [sym_do_block] = STATE(7709),
    [sym_block] = STATE(7709),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7710),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7711),
    [sym__variable] = STATE(4247),
    [sym_reserved_identifier] = STATE(7712),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(7713),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(7708),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(10484),
    [sym__splat_star] = ACTIONS(10486),
    [sym__argument_list_left_paren] = ACTIONS(10488),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(10490),
    [anon_sym_LBRACE] = ACTIONS(10492),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(980),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(10494),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(10496),
    [anon_sym_yield] = ACTIONS(10498),
    [anon_sym_break] = ACTIONS(10500),
    [anon_sym_next] = ACTIONS(10502),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(10504),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(982),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(10506),
    [anon_sym_defined_QMARK] = ACTIONS(10508),
    [anon_sym_not] = ACTIONS(10510),
    [anon_sym_BANG] = ACTIONS(10512),
    [anon_sym_TILDE] = ACTIONS(10512),
    [sym_constant] = ACTIONS(10514),
    [sym_identifier] = ACTIONS(10514),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4391] = {
    [sym__simple_heredoc_body] = ACTIONS(10516),
    [sym__heredoc_body_beginning] = ACTIONS(10516),
    [sym__line_break] = ACTIONS(10516),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(250),
    [anon_sym_SEMI] = ACTIONS(10516),
    [anon_sym_then] = ACTIONS(10516),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
  },
  [4392] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(6354),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_then] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [4393] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(6348),
    [sym__binary_star] = ACTIONS(6350),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(6352),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(6354),
    [anon_sym_AMP] = ACTIONS(6356),
    [anon_sym_LT] = ACTIONS(6358),
    [anon_sym_then] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(6360),
    [anon_sym_DOT_DOT] = ACTIONS(6362),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6364),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(6368),
    [anon_sym_AMP_AMP] = ACTIONS(6368),
    [anon_sym_LT_LT] = ACTIONS(6370),
    [anon_sym_GT_GT] = ACTIONS(6370),
    [anon_sym_EQ_EQ] = ACTIONS(6372),
    [anon_sym_BANG_EQ] = ACTIONS(6368),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6368),
    [anon_sym_LT_EQ_GT] = ACTIONS(6368),
    [anon_sym_EQ_TILDE] = ACTIONS(6368),
    [anon_sym_BANG_TILDE] = ACTIONS(6368),
    [anon_sym_LT_EQ] = ACTIONS(6358),
    [anon_sym_GT] = ACTIONS(6358),
    [anon_sym_GT_EQ] = ACTIONS(6374),
    [anon_sym_CARET] = ACTIONS(6376),
    [anon_sym_PLUS] = ACTIONS(6378),
    [anon_sym_SLASH] = ACTIONS(6354),
    [anon_sym_PERCENT] = ACTIONS(6354),
    [sym_comment] = ACTIONS(110),
  },
  [4394] = {
    [sym_rescue] = STATE(7714),
    [anon_sym_end] = ACTIONS(10518),
    [anon_sym_rescue] = ACTIONS(2788),
    [anon_sym_else] = ACTIONS(10518),
    [anon_sym_ensure] = ACTIONS(10518),
    [sym_comment] = ACTIONS(110),
  },
  [4395] = {
    [anon_sym_end] = ACTIONS(10518),
    [anon_sym_else] = ACTIONS(10518),
    [anon_sym_ensure] = ACTIONS(10518),
    [sym_comment] = ACTIONS(110),
  },
  [4396] = {
    [sym__statements] = STATE(7715),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym_rescue] = STATE(7714),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(10520),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(10520),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(10520),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4397] = {
    [sym__then] = STATE(7716),
    [sym_heredoc_end] = STATE(1714),
    [sym__terminator] = STATE(1737),
    [sym__simple_heredoc_body] = ACTIONS(2702),
    [sym__heredoc_body_beginning] = ACTIONS(2704),
    [sym__line_break] = ACTIONS(2706),
    [anon_sym_SEMI] = ACTIONS(2706),
    [anon_sym_then] = ACTIONS(6344),
    [sym_comment] = ACTIONS(110),
  },
  [4398] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7717),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1735),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1736),
    [sym__variable] = STATE(1732),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2710),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2712),
    [anon_sym_yield] = ACTIONS(2714),
    [anon_sym_break] = ACTIONS(2716),
    [anon_sym_next] = ACTIONS(2718),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2724),
    [anon_sym_defined_QMARK] = ACTIONS(2726),
    [anon_sym_not] = ACTIONS(2728),
    [anon_sym_BANG] = ACTIONS(2730),
    [anon_sym_TILDE] = ACTIONS(2730),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4399] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7718),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1735),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1736),
    [sym__variable] = STATE(1732),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2710),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2712),
    [anon_sym_yield] = ACTIONS(2714),
    [anon_sym_break] = ACTIONS(2716),
    [anon_sym_next] = ACTIONS(2718),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2724),
    [anon_sym_defined_QMARK] = ACTIONS(2726),
    [anon_sym_not] = ACTIONS(2728),
    [anon_sym_BANG] = ACTIONS(2730),
    [anon_sym_TILDE] = ACTIONS(2730),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4400] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7719),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1735),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1736),
    [sym__variable] = STATE(1732),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2710),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2712),
    [anon_sym_yield] = ACTIONS(2714),
    [anon_sym_break] = ACTIONS(2716),
    [anon_sym_next] = ACTIONS(2718),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2724),
    [anon_sym_defined_QMARK] = ACTIONS(2726),
    [anon_sym_not] = ACTIONS(2728),
    [anon_sym_BANG] = ACTIONS(2730),
    [anon_sym_TILDE] = ACTIONS(2730),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4401] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7720),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1735),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1736),
    [sym__variable] = STATE(1732),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2710),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2712),
    [anon_sym_yield] = ACTIONS(2714),
    [anon_sym_break] = ACTIONS(2716),
    [anon_sym_next] = ACTIONS(2718),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2724),
    [anon_sym_defined_QMARK] = ACTIONS(2726),
    [anon_sym_not] = ACTIONS(2728),
    [anon_sym_BANG] = ACTIONS(2730),
    [anon_sym_TILDE] = ACTIONS(2730),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4402] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7721),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1735),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1736),
    [sym__variable] = STATE(1732),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2710),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2712),
    [anon_sym_yield] = ACTIONS(2714),
    [anon_sym_break] = ACTIONS(2716),
    [anon_sym_next] = ACTIONS(2718),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2724),
    [anon_sym_defined_QMARK] = ACTIONS(2726),
    [anon_sym_not] = ACTIONS(2728),
    [anon_sym_BANG] = ACTIONS(2730),
    [anon_sym_TILDE] = ACTIONS(2730),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4403] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7722),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1735),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1736),
    [sym__variable] = STATE(1732),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2710),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2712),
    [anon_sym_yield] = ACTIONS(2714),
    [anon_sym_break] = ACTIONS(2716),
    [anon_sym_next] = ACTIONS(2718),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2724),
    [anon_sym_defined_QMARK] = ACTIONS(2726),
    [anon_sym_not] = ACTIONS(2728),
    [anon_sym_BANG] = ACTIONS(2730),
    [anon_sym_TILDE] = ACTIONS(2730),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4404] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(7723),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [4405] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7724),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1735),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1736),
    [sym__variable] = STATE(1732),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2710),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2712),
    [anon_sym_yield] = ACTIONS(2714),
    [anon_sym_break] = ACTIONS(2716),
    [anon_sym_next] = ACTIONS(2718),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2724),
    [anon_sym_defined_QMARK] = ACTIONS(2726),
    [anon_sym_not] = ACTIONS(2728),
    [anon_sym_BANG] = ACTIONS(2730),
    [anon_sym_TILDE] = ACTIONS(2730),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4406] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7725),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1735),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1736),
    [sym__variable] = STATE(1732),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2710),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2712),
    [anon_sym_yield] = ACTIONS(2714),
    [anon_sym_break] = ACTIONS(2716),
    [anon_sym_next] = ACTIONS(2718),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2724),
    [anon_sym_defined_QMARK] = ACTIONS(2726),
    [anon_sym_not] = ACTIONS(2728),
    [anon_sym_BANG] = ACTIONS(2730),
    [anon_sym_TILDE] = ACTIONS(2730),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4407] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7726),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1735),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1736),
    [sym__variable] = STATE(1732),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2710),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2712),
    [anon_sym_yield] = ACTIONS(2714),
    [anon_sym_break] = ACTIONS(2716),
    [anon_sym_next] = ACTIONS(2718),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2724),
    [anon_sym_defined_QMARK] = ACTIONS(2726),
    [anon_sym_not] = ACTIONS(2728),
    [anon_sym_BANG] = ACTIONS(2730),
    [anon_sym_TILDE] = ACTIONS(2730),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4408] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7727),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1735),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1736),
    [sym__variable] = STATE(1732),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2710),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2712),
    [anon_sym_yield] = ACTIONS(2714),
    [anon_sym_break] = ACTIONS(2716),
    [anon_sym_next] = ACTIONS(2718),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2724),
    [anon_sym_defined_QMARK] = ACTIONS(2726),
    [anon_sym_not] = ACTIONS(2728),
    [anon_sym_BANG] = ACTIONS(2730),
    [anon_sym_TILDE] = ACTIONS(2730),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4409] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7728),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1735),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1736),
    [sym__variable] = STATE(1732),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2710),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2712),
    [anon_sym_yield] = ACTIONS(2714),
    [anon_sym_break] = ACTIONS(2716),
    [anon_sym_next] = ACTIONS(2718),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2724),
    [anon_sym_defined_QMARK] = ACTIONS(2726),
    [anon_sym_not] = ACTIONS(2728),
    [anon_sym_BANG] = ACTIONS(2730),
    [anon_sym_TILDE] = ACTIONS(2730),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4410] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7729),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4247),
    [sym_call] = STATE(4247),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4249),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4250),
    [sym__variable] = STATE(4247),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6128),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10276),
    [anon_sym_yield] = ACTIONS(10278),
    [anon_sym_break] = ACTIONS(10280),
    [anon_sym_next] = ACTIONS(10282),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10284),
    [anon_sym_defined_QMARK] = ACTIONS(6138),
    [anon_sym_not] = ACTIONS(10286),
    [anon_sym_BANG] = ACTIONS(6144),
    [anon_sym_TILDE] = ACTIONS(6144),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4411] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7730),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4247),
    [sym_call] = STATE(4247),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4249),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4250),
    [sym__variable] = STATE(4247),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6128),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10276),
    [anon_sym_yield] = ACTIONS(10278),
    [anon_sym_break] = ACTIONS(10280),
    [anon_sym_next] = ACTIONS(10282),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10284),
    [anon_sym_defined_QMARK] = ACTIONS(6138),
    [anon_sym_not] = ACTIONS(10286),
    [anon_sym_BANG] = ACTIONS(6144),
    [anon_sym_TILDE] = ACTIONS(6144),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4412] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7731),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4247),
    [sym_call] = STATE(4247),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4249),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4250),
    [sym__variable] = STATE(4247),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6128),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10276),
    [anon_sym_yield] = ACTIONS(10278),
    [anon_sym_break] = ACTIONS(10280),
    [anon_sym_next] = ACTIONS(10282),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10284),
    [anon_sym_defined_QMARK] = ACTIONS(6138),
    [anon_sym_not] = ACTIONS(10286),
    [anon_sym_BANG] = ACTIONS(6144),
    [anon_sym_TILDE] = ACTIONS(6144),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4413] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(10522),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [4414] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__line_break] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(10290),
    [sym__binary_star] = ACTIONS(10292),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(10294),
    [anon_sym_SEMI] = ACTIONS(2210),
    [anon_sym_STAR_STAR] = ACTIONS(10296),
    [anon_sym_AMP] = ACTIONS(10298),
    [anon_sym_EQ] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(10300),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_then] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_PLUS_EQ] = ACTIONS(2210),
    [anon_sym_DASH_EQ] = ACTIONS(2210),
    [anon_sym_STAR_EQ] = ACTIONS(2210),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2210),
    [anon_sym_SLASH_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2210),
    [anon_sym_AMP_EQ] = ACTIONS(2210),
    [anon_sym_PERCENT_EQ] = ACTIONS(2210),
    [anon_sym_GT_GT_EQ] = ACTIONS(2210),
    [anon_sym_LT_LT_EQ] = ACTIONS(2210),
    [anon_sym_CARET_EQ] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(10302),
    [anon_sym_DOT_DOT] = ACTIONS(10304),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10306),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(10308),
    [anon_sym_AMP_AMP] = ACTIONS(10308),
    [anon_sym_LT_LT] = ACTIONS(10310),
    [anon_sym_GT_GT] = ACTIONS(10310),
    [anon_sym_EQ_EQ] = ACTIONS(10308),
    [anon_sym_BANG_EQ] = ACTIONS(10312),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10312),
    [anon_sym_LT_EQ_GT] = ACTIONS(10312),
    [anon_sym_EQ_TILDE] = ACTIONS(10312),
    [anon_sym_BANG_TILDE] = ACTIONS(10312),
    [anon_sym_LT_EQ] = ACTIONS(10300),
    [anon_sym_GT] = ACTIONS(10300),
    [anon_sym_GT_EQ] = ACTIONS(10314),
    [anon_sym_CARET] = ACTIONS(10294),
    [anon_sym_PLUS] = ACTIONS(10316),
    [anon_sym_SLASH] = ACTIONS(10296),
    [anon_sym_PERCENT] = ACTIONS(10296),
    [sym_comment] = ACTIONS(256),
  },
  [4415] = {
    [sym_heredoc_end] = STATE(3770),
    [aux_sym_argument_list_repeat1] = STATE(7734),
    [aux_sym_argument_list_repeat2] = STATE(3771),
    [sym__simple_heredoc_body] = ACTIONS(5460),
    [sym__heredoc_body_beginning] = ACTIONS(5462),
    [sym__line_break] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(10524),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_STAR_STAR] = ACTIONS(2274),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_EQ] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_then] = ACTIONS(2272),
    [anon_sym_EQ_GT] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_PLUS_EQ] = ACTIONS(2272),
    [anon_sym_DASH_EQ] = ACTIONS(2272),
    [anon_sym_STAR_EQ] = ACTIONS(2272),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2272),
    [anon_sym_SLASH_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2272),
    [anon_sym_AMP_EQ] = ACTIONS(2272),
    [anon_sym_PERCENT_EQ] = ACTIONS(2272),
    [anon_sym_GT_GT_EQ] = ACTIONS(2272),
    [anon_sym_LT_LT_EQ] = ACTIONS(2272),
    [anon_sym_CARET_EQ] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2274),
    [anon_sym_AMP_AMP] = ACTIONS(2274),
    [anon_sym_LT_LT] = ACTIONS(2274),
    [anon_sym_GT_GT] = ACTIONS(2274),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2274),
    [anon_sym_PLUS] = ACTIONS(2274),
    [anon_sym_SLASH] = ACTIONS(2274),
    [anon_sym_PERCENT] = ACTIONS(2274),
    [sym_comment] = ACTIONS(256),
  },
  [4416] = {
    [sym__keyword_colon] = ACTIONS(10526),
    [sym_comment] = ACTIONS(110),
  },
  [4417] = {
    [sym_string] = STATE(2203),
    [aux_sym_chained_string_repeat1] = STATE(2204),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(10522),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_then] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(3266),
  },
  [4418] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1731),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_splat_argument] = STATE(1733),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym__arg_or_splat_arg] = STATE(7736),
    [sym_left_assignment_list] = STATE(1735),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1736),
    [sym__variable] = STATE(1732),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(2708),
    [sym__unary_minus] = ACTIONS(2710),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2712),
    [anon_sym_yield] = ACTIONS(2714),
    [anon_sym_break] = ACTIONS(2716),
    [anon_sym_next] = ACTIONS(2718),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2724),
    [anon_sym_defined_QMARK] = ACTIONS(2726),
    [anon_sym_not] = ACTIONS(2728),
    [anon_sym_BANG] = ACTIONS(2730),
    [anon_sym_TILDE] = ACTIONS(2730),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4419] = {
    [sym__simple_heredoc_body] = ACTIONS(10528),
    [sym__heredoc_body_beginning] = ACTIONS(10528),
    [sym__line_break] = ACTIONS(10528),
    [anon_sym_COMMA] = ACTIONS(10530),
    [anon_sym_SEMI] = ACTIONS(10528),
    [anon_sym_then] = ACTIONS(10528),
    [anon_sym_EQ_GT] = ACTIONS(10528),
    [sym_comment] = ACTIONS(110),
  },
  [4420] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7739),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_splat_argument] = STATE(2211),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_right_assignment_list] = STATE(2212),
    [sym__arg_or_splat_arg] = STATE(7740),
    [sym_left_assignment_list] = STATE(1735),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1736),
    [sym__variable] = STATE(1732),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(10532),
    [sym__unary_minus] = ACTIONS(2710),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2712),
    [anon_sym_yield] = ACTIONS(2714),
    [anon_sym_break] = ACTIONS(2716),
    [anon_sym_next] = ACTIONS(2718),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2724),
    [anon_sym_defined_QMARK] = ACTIONS(2726),
    [anon_sym_not] = ACTIONS(2728),
    [anon_sym_BANG] = ACTIONS(2730),
    [anon_sym_TILDE] = ACTIONS(2730),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4421] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7741),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1735),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1736),
    [sym__variable] = STATE(1732),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2710),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2712),
    [anon_sym_yield] = ACTIONS(2714),
    [anon_sym_break] = ACTIONS(2716),
    [anon_sym_next] = ACTIONS(2718),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2724),
    [anon_sym_defined_QMARK] = ACTIONS(2726),
    [anon_sym_not] = ACTIONS(2728),
    [anon_sym_BANG] = ACTIONS(2730),
    [anon_sym_TILDE] = ACTIONS(2730),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4422] = {
    [sym__simple_string] = ACTIONS(9672),
    [sym__simple_symbol] = ACTIONS(9672),
    [sym__simple_subshell] = ACTIONS(9672),
    [sym__simple_regex] = ACTIONS(9672),
    [sym__simple_word_list] = ACTIONS(9672),
    [sym__string_beginning] = ACTIONS(9672),
    [sym__symbol_beginning] = ACTIONS(9672),
    [sym__subshell_beginning] = ACTIONS(9672),
    [sym__regex_beginning] = ACTIONS(9672),
    [sym__word_list_beginning] = ACTIONS(9672),
    [sym_heredoc_beginning] = ACTIONS(9672),
    [sym__unary_minus] = ACTIONS(9672),
    [anon_sym_BEGIN] = ACTIONS(9674),
    [anon_sym_LBRACE] = ACTIONS(9672),
    [anon_sym_END] = ACTIONS(9674),
    [anon_sym_def] = ACTIONS(9674),
    [anon_sym_LPAREN] = ACTIONS(9672),
    [anon_sym_COLON_COLON] = ACTIONS(9672),
    [anon_sym_end] = ACTIONS(9674),
    [anon_sym_SEMI] = ACTIONS(9672),
    [anon_sym_STAR] = ACTIONS(9672),
    [anon_sym_class] = ACTIONS(9674),
    [anon_sym_module] = ACTIONS(9674),
    [anon_sym_return] = ACTIONS(9674),
    [anon_sym_yield] = ACTIONS(9674),
    [anon_sym_break] = ACTIONS(9674),
    [anon_sym_next] = ACTIONS(9674),
    [anon_sym_redo] = ACTIONS(9674),
    [anon_sym_retry] = ACTIONS(9674),
    [anon_sym_if] = ACTIONS(9674),
    [anon_sym_unless] = ACTIONS(9674),
    [anon_sym_while] = ACTIONS(9674),
    [anon_sym_until] = ACTIONS(9674),
    [anon_sym_rescue] = ACTIONS(9674),
    [anon_sym_for] = ACTIONS(9674),
    [anon_sym_case] = ACTIONS(9674),
    [anon_sym_else] = ACTIONS(9674),
    [anon_sym_begin] = ACTIONS(9674),
    [anon_sym_ensure] = ACTIONS(9674),
    [anon_sym_PLUS] = ACTIONS(9674),
    [anon_sym_defined_QMARK] = ACTIONS(9672),
    [anon_sym_not] = ACTIONS(9674),
    [anon_sym_BANG] = ACTIONS(9672),
    [anon_sym_TILDE] = ACTIONS(9672),
    [sym_constant] = ACTIONS(9676),
    [sym_identifier] = ACTIONS(9676),
    [sym_instance_variable] = ACTIONS(9674),
    [sym_class_variable] = ACTIONS(9674),
    [sym_global_variable] = ACTIONS(9674),
    [anon_sym_alias] = ACTIONS(9674),
    [anon_sym_false] = ACTIONS(9674),
    [anon_sym_nil] = ACTIONS(9674),
    [anon_sym_self] = ACTIONS(9674),
    [anon_sym_super] = ACTIONS(9674),
    [anon_sym_true] = ACTIONS(9674),
    [anon_sym_undef] = ACTIONS(9674),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(9674),
    [sym_float] = ACTIONS(9676),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(9672),
    [anon_sym_TRUE] = ACTIONS(9674),
    [anon_sym_FALSE] = ACTIONS(9674),
    [anon_sym_NIL] = ACTIONS(9674),
    [sym_keyword__FILE__] = ACTIONS(9674),
    [sym_keyword__LINE__] = ACTIONS(9674),
    [sym_keyword__ENCODING__] = ACTIONS(9674),
    [sym__character_literal] = ACTIONS(9674),
    [anon_sym_LBRACK] = ACTIONS(9672),
    [anon_sym_DASH_GT] = ACTIONS(9672),
  },
  [4423] = {
    [sym__heredoc_body_middle] = ACTIONS(4108),
    [sym__heredoc_body_end] = ACTIONS(10534),
    [anon_sym_if] = ACTIONS(4112),
    [anon_sym_unless] = ACTIONS(4114),
    [anon_sym_while] = ACTIONS(4116),
    [anon_sym_until] = ACTIONS(4118),
    [anon_sym_rescue] = ACTIONS(4120),
    [sym_comment] = ACTIONS(110),
  },
  [4424] = {
    [sym__statement] = STATE(7743),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [4425] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_end] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(6442),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_if] = ACTIONS(1372),
    [anon_sym_unless] = ACTIONS(1372),
    [anon_sym_while] = ACTIONS(1372),
    [anon_sym_until] = ACTIONS(1372),
    [anon_sym_rescue] = ACTIONS(1372),
    [anon_sym_ensure] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [4426] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7748),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1754),
    [sym_call] = STATE(1754),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7749),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7750),
    [sym__variable] = STATE(1754),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(10536),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2750),
    [anon_sym_yield] = ACTIONS(2752),
    [anon_sym_break] = ACTIONS(2754),
    [anon_sym_next] = ACTIONS(2756),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10538),
    [anon_sym_defined_QMARK] = ACTIONS(10540),
    [anon_sym_not] = ACTIONS(10542),
    [anon_sym_BANG] = ACTIONS(10544),
    [anon_sym_TILDE] = ACTIONS(10544),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4427] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7751),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1754),
    [sym_call] = STATE(1754),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7749),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7750),
    [sym__variable] = STATE(1754),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(10536),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2750),
    [anon_sym_yield] = ACTIONS(2752),
    [anon_sym_break] = ACTIONS(2754),
    [anon_sym_next] = ACTIONS(2756),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10538),
    [anon_sym_defined_QMARK] = ACTIONS(10540),
    [anon_sym_not] = ACTIONS(10542),
    [anon_sym_BANG] = ACTIONS(10544),
    [anon_sym_TILDE] = ACTIONS(10544),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4428] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7756),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4440),
    [sym_call] = STATE(4440),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4442),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4443),
    [sym__variable] = STATE(4440),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6404),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(10546),
    [anon_sym_yield] = ACTIONS(10548),
    [anon_sym_break] = ACTIONS(10550),
    [anon_sym_next] = ACTIONS(10552),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10554),
    [anon_sym_defined_QMARK] = ACTIONS(6414),
    [anon_sym_not] = ACTIONS(10556),
    [anon_sym_BANG] = ACTIONS(6420),
    [anon_sym_TILDE] = ACTIONS(6420),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4429] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7757),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1754),
    [sym_call] = STATE(1754),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7749),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7750),
    [sym__variable] = STATE(1754),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(10536),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2750),
    [anon_sym_yield] = ACTIONS(2752),
    [anon_sym_break] = ACTIONS(2754),
    [anon_sym_next] = ACTIONS(2756),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10538),
    [anon_sym_defined_QMARK] = ACTIONS(10540),
    [anon_sym_not] = ACTIONS(10542),
    [anon_sym_BANG] = ACTIONS(10544),
    [anon_sym_TILDE] = ACTIONS(10544),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4430] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7762),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4440),
    [sym_call] = STATE(4440),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(340),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(7763),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4442),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4443),
    [sym__variable] = STATE(4440),
    [sym_reserved_identifier] = STATE(7764),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(7765),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(10558),
    [sym__splat_star] = ACTIONS(10560),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(6404),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(544),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(6406),
    [anon_sym_yield] = ACTIONS(6408),
    [anon_sym_break] = ACTIONS(6410),
    [anon_sym_next] = ACTIONS(6412),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(544),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(6414),
    [anon_sym_not] = ACTIONS(6416),
    [anon_sym_BANG] = ACTIONS(6418),
    [anon_sym_TILDE] = ACTIONS(6420),
    [sym_constant] = ACTIONS(10562),
    [sym_identifier] = ACTIONS(10562),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4431] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7762),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4440),
    [sym_call] = STATE(4440),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(349),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(7763),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4442),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4443),
    [sym__variable] = STATE(4440),
    [sym_reserved_identifier] = STATE(7764),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(7765),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(10558),
    [sym__splat_star] = ACTIONS(10560),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(6404),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(604),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(6406),
    [anon_sym_yield] = ACTIONS(6408),
    [anon_sym_break] = ACTIONS(6410),
    [anon_sym_next] = ACTIONS(6412),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(604),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(6414),
    [anon_sym_not] = ACTIONS(6416),
    [anon_sym_BANG] = ACTIONS(6418),
    [anon_sym_TILDE] = ACTIONS(6420),
    [sym_constant] = ACTIONS(10562),
    [sym_identifier] = ACTIONS(10562),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4432] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7762),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4440),
    [sym_call] = STATE(4440),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(350),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(7763),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4442),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4443),
    [sym__variable] = STATE(4440),
    [sym_reserved_identifier] = STATE(7764),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(7765),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(10558),
    [sym__splat_star] = ACTIONS(10560),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(6404),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(608),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(6406),
    [anon_sym_yield] = ACTIONS(6408),
    [anon_sym_break] = ACTIONS(6410),
    [anon_sym_next] = ACTIONS(6412),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(608),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(6414),
    [anon_sym_not] = ACTIONS(6416),
    [anon_sym_BANG] = ACTIONS(6418),
    [anon_sym_TILDE] = ACTIONS(6420),
    [sym_constant] = ACTIONS(10562),
    [sym_identifier] = ACTIONS(10562),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4433] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7762),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4440),
    [sym_call] = STATE(4440),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(351),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(7763),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4442),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4443),
    [sym__variable] = STATE(4440),
    [sym_reserved_identifier] = STATE(7764),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(7765),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(10558),
    [sym__splat_star] = ACTIONS(10560),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(6404),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(612),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(6406),
    [anon_sym_yield] = ACTIONS(6408),
    [anon_sym_break] = ACTIONS(6410),
    [anon_sym_next] = ACTIONS(6412),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(612),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(6414),
    [anon_sym_not] = ACTIONS(6416),
    [anon_sym_BANG] = ACTIONS(6418),
    [anon_sym_TILDE] = ACTIONS(6420),
    [sym_constant] = ACTIONS(10562),
    [sym_identifier] = ACTIONS(10562),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4434] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7766),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4440),
    [sym_call] = STATE(4440),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4442),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4443),
    [sym__variable] = STATE(4440),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6404),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(10546),
    [anon_sym_yield] = ACTIONS(10548),
    [anon_sym_break] = ACTIONS(10550),
    [anon_sym_next] = ACTIONS(10552),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10554),
    [anon_sym_defined_QMARK] = ACTIONS(6414),
    [anon_sym_not] = ACTIONS(10556),
    [anon_sym_BANG] = ACTIONS(6420),
    [anon_sym_TILDE] = ACTIONS(6420),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4435] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7767),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4440),
    [sym_call] = STATE(4440),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4442),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4443),
    [sym__variable] = STATE(4440),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6404),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(10546),
    [anon_sym_yield] = ACTIONS(10548),
    [anon_sym_break] = ACTIONS(10550),
    [anon_sym_next] = ACTIONS(10552),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10554),
    [anon_sym_defined_QMARK] = ACTIONS(6414),
    [anon_sym_not] = ACTIONS(10556),
    [anon_sym_BANG] = ACTIONS(6420),
    [anon_sym_TILDE] = ACTIONS(6420),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4436] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7767),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4440),
    [sym_call] = STATE(4440),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4442),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4443),
    [sym__variable] = STATE(4440),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(6404),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(10546),
    [anon_sym_yield] = ACTIONS(10548),
    [anon_sym_break] = ACTIONS(10550),
    [anon_sym_next] = ACTIONS(10552),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10554),
    [anon_sym_defined_QMARK] = ACTIONS(6414),
    [anon_sym_not] = ACTIONS(10556),
    [anon_sym_BANG] = ACTIONS(6420),
    [anon_sym_TILDE] = ACTIONS(6420),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4437] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1410),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4440),
    [sym_call] = STATE(4440),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4442),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4443),
    [sym__variable] = STATE(4440),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6404),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(10546),
    [anon_sym_yield] = ACTIONS(10548),
    [anon_sym_break] = ACTIONS(10550),
    [anon_sym_next] = ACTIONS(10552),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10554),
    [anon_sym_defined_QMARK] = ACTIONS(6414),
    [anon_sym_not] = ACTIONS(10556),
    [anon_sym_BANG] = ACTIONS(6420),
    [anon_sym_TILDE] = ACTIONS(6420),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4438] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(10564),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [4439] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__line_break] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(10566),
    [sym__binary_star] = ACTIONS(10568),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_end] = ACTIONS(2210),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(10570),
    [anon_sym_SEMI] = ACTIONS(2210),
    [anon_sym_STAR_STAR] = ACTIONS(10572),
    [anon_sym_AMP] = ACTIONS(10574),
    [anon_sym_LT] = ACTIONS(10576),
    [anon_sym_if] = ACTIONS(2210),
    [anon_sym_unless] = ACTIONS(2210),
    [anon_sym_while] = ACTIONS(2210),
    [anon_sym_until] = ACTIONS(2210),
    [anon_sym_rescue] = ACTIONS(2210),
    [anon_sym_ensure] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(10564),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(10578),
    [anon_sym_DOT_DOT] = ACTIONS(10580),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10582),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(10584),
    [anon_sym_AMP_AMP] = ACTIONS(10584),
    [anon_sym_LT_LT] = ACTIONS(10586),
    [anon_sym_GT_GT] = ACTIONS(10586),
    [anon_sym_EQ_EQ] = ACTIONS(10588),
    [anon_sym_BANG_EQ] = ACTIONS(10584),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10584),
    [anon_sym_LT_EQ_GT] = ACTIONS(10584),
    [anon_sym_EQ_TILDE] = ACTIONS(10584),
    [anon_sym_BANG_TILDE] = ACTIONS(10584),
    [anon_sym_LT_EQ] = ACTIONS(10576),
    [anon_sym_GT] = ACTIONS(10576),
    [anon_sym_GT_EQ] = ACTIONS(10590),
    [anon_sym_CARET] = ACTIONS(10592),
    [anon_sym_PLUS] = ACTIONS(10594),
    [anon_sym_SLASH] = ACTIONS(10572),
    [anon_sym_PERCENT] = ACTIONS(10572),
    [sym_comment] = ACTIONS(110),
  },
  [4440] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7785),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4481),
    [sym_call] = STATE(4481),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(1435),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(7786),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_do_block] = STATE(1439),
    [sym_block] = STATE(1439),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4483),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4484),
    [sym__variable] = STATE(4481),
    [sym_reserved_identifier] = STATE(7787),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(7788),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(10596),
    [sym__splat_star] = ACTIONS(10598),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(6472),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(2258),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(982),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(6474),
    [anon_sym_yield] = ACTIONS(6476),
    [anon_sym_break] = ACTIONS(6478),
    [anon_sym_next] = ACTIONS(6480),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(982),
    [anon_sym_unless] = ACTIONS(982),
    [anon_sym_while] = ACTIONS(982),
    [anon_sym_until] = ACTIONS(982),
    [anon_sym_rescue] = ACTIONS(982),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(2260),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(982),
    [anon_sym_EQ_GT] = ACTIONS(980),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(6482),
    [anon_sym_not] = ACTIONS(6484),
    [anon_sym_BANG] = ACTIONS(6486),
    [anon_sym_TILDE] = ACTIONS(6488),
    [sym_constant] = ACTIONS(10600),
    [sym_identifier] = ACTIONS(10600),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4441] = {
    [sym_heredoc_end] = STATE(1444),
    [aux_sym_argument_list_repeat1] = STATE(7790),
    [aux_sym_argument_list_repeat2] = STATE(1445),
    [sym__simple_heredoc_body] = ACTIONS(2268),
    [sym__heredoc_body_beginning] = ACTIONS(2270),
    [sym__line_break] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_end] = ACTIONS(2272),
    [anon_sym_COMMA] = ACTIONS(10602),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_STAR_STAR] = ACTIONS(2272),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_if] = ACTIONS(2272),
    [anon_sym_unless] = ACTIONS(2272),
    [anon_sym_while] = ACTIONS(2272),
    [anon_sym_until] = ACTIONS(2272),
    [anon_sym_rescue] = ACTIONS(2272),
    [anon_sym_ensure] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2272),
    [anon_sym_AMP_AMP] = ACTIONS(2272),
    [anon_sym_LT_LT] = ACTIONS(2272),
    [anon_sym_GT_GT] = ACTIONS(2272),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2272),
    [anon_sym_PLUS] = ACTIONS(2272),
    [anon_sym_SLASH] = ACTIONS(2272),
    [anon_sym_PERCENT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(110),
  },
  [4442] = {
    [anon_sym_EQ] = ACTIONS(10604),
    [sym_comment] = ACTIONS(256),
  },
  [4443] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_end] = ACTIONS(250),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(10606),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_ensure] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(10608),
    [anon_sym_DASH_EQ] = ACTIONS(10608),
    [anon_sym_STAR_EQ] = ACTIONS(10608),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(10608),
    [anon_sym_SLASH_EQ] = ACTIONS(10608),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(10608),
    [anon_sym_PIPE_EQ] = ACTIONS(10608),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(10608),
    [anon_sym_AMP_EQ] = ACTIONS(10608),
    [anon_sym_PERCENT_EQ] = ACTIONS(10608),
    [anon_sym_GT_GT_EQ] = ACTIONS(10608),
    [anon_sym_LT_LT_EQ] = ACTIONS(10608),
    [anon_sym_CARET_EQ] = ACTIONS(10608),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [4444] = {
    [sym__keyword_colon] = ACTIONS(10610),
    [sym_comment] = ACTIONS(110),
  },
  [4445] = {
    [sym_string] = STATE(611),
    [aux_sym_chained_string_repeat1] = STATE(612),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(20),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(10564),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_end] = ACTIONS(250),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_ensure] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(120),
  },
  [4446] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_end] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(6442),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_ensure] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [4447] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(6436),
    [sym__binary_star] = ACTIONS(6438),
    [anon_sym_end] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(6440),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(6442),
    [anon_sym_AMP] = ACTIONS(6444),
    [anon_sym_LT] = ACTIONS(6446),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_ensure] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(6448),
    [anon_sym_DOT_DOT] = ACTIONS(6450),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6452),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(6456),
    [anon_sym_AMP_AMP] = ACTIONS(6456),
    [anon_sym_LT_LT] = ACTIONS(6458),
    [anon_sym_GT_GT] = ACTIONS(6458),
    [anon_sym_EQ_EQ] = ACTIONS(6460),
    [anon_sym_BANG_EQ] = ACTIONS(6456),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6456),
    [anon_sym_LT_EQ_GT] = ACTIONS(6456),
    [anon_sym_EQ_TILDE] = ACTIONS(6456),
    [anon_sym_BANG_TILDE] = ACTIONS(6456),
    [anon_sym_LT_EQ] = ACTIONS(6446),
    [anon_sym_GT] = ACTIONS(6446),
    [anon_sym_GT_EQ] = ACTIONS(6462),
    [anon_sym_CARET] = ACTIONS(6464),
    [anon_sym_PLUS] = ACTIONS(6466),
    [anon_sym_SLASH] = ACTIONS(6442),
    [anon_sym_PERCENT] = ACTIONS(6442),
    [sym_comment] = ACTIONS(110),
  },
  [4448] = {
    [sym__top_level_statement] = STATE(1996),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1752),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1753),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1754),
    [sym_call] = STATE(1754),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1755),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1756),
    [sym__variable] = STATE(1754),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2744),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(3108),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2750),
    [anon_sym_yield] = ACTIONS(2752),
    [anon_sym_break] = ACTIONS(2754),
    [anon_sym_next] = ACTIONS(2756),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(3108),
    [anon_sym_PLUS] = ACTIONS(2758),
    [anon_sym_defined_QMARK] = ACTIONS(2760),
    [anon_sym_not] = ACTIONS(2762),
    [anon_sym_BANG] = ACTIONS(2764),
    [anon_sym_TILDE] = ACTIONS(2764),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4449] = {
    [sym_heredoc_end] = STATE(1740),
    [sym__terminator] = STATE(7794),
    [sym__simple_heredoc_body] = ACTIONS(2738),
    [sym__heredoc_body_beginning] = ACTIONS(2740),
    [sym__line_break] = ACTIONS(2742),
    [anon_sym_end] = ACTIONS(3106),
    [anon_sym_SEMI] = ACTIONS(2742),
    [anon_sym_ensure] = ACTIONS(3106),
    [sym_comment] = ACTIONS(110),
  },
  [4450] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7795),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1754),
    [sym_call] = STATE(1754),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1755),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1756),
    [sym__variable] = STATE(1754),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2744),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2750),
    [anon_sym_yield] = ACTIONS(2752),
    [anon_sym_break] = ACTIONS(2754),
    [anon_sym_next] = ACTIONS(2756),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2758),
    [anon_sym_defined_QMARK] = ACTIONS(2760),
    [anon_sym_not] = ACTIONS(2762),
    [anon_sym_BANG] = ACTIONS(2764),
    [anon_sym_TILDE] = ACTIONS(2764),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4451] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7796),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1754),
    [sym_call] = STATE(1754),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1755),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1756),
    [sym__variable] = STATE(1754),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2744),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2750),
    [anon_sym_yield] = ACTIONS(2752),
    [anon_sym_break] = ACTIONS(2754),
    [anon_sym_next] = ACTIONS(2756),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2758),
    [anon_sym_defined_QMARK] = ACTIONS(2760),
    [anon_sym_not] = ACTIONS(2762),
    [anon_sym_BANG] = ACTIONS(2764),
    [anon_sym_TILDE] = ACTIONS(2764),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4452] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7797),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1754),
    [sym_call] = STATE(1754),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1755),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1756),
    [sym__variable] = STATE(1754),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2744),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2750),
    [anon_sym_yield] = ACTIONS(2752),
    [anon_sym_break] = ACTIONS(2754),
    [anon_sym_next] = ACTIONS(2756),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2758),
    [anon_sym_defined_QMARK] = ACTIONS(2760),
    [anon_sym_not] = ACTIONS(2762),
    [anon_sym_BANG] = ACTIONS(2764),
    [anon_sym_TILDE] = ACTIONS(2764),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4453] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7798),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1754),
    [sym_call] = STATE(1754),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1755),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1756),
    [sym__variable] = STATE(1754),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2744),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2750),
    [anon_sym_yield] = ACTIONS(2752),
    [anon_sym_break] = ACTIONS(2754),
    [anon_sym_next] = ACTIONS(2756),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2758),
    [anon_sym_defined_QMARK] = ACTIONS(2760),
    [anon_sym_not] = ACTIONS(2762),
    [anon_sym_BANG] = ACTIONS(2764),
    [anon_sym_TILDE] = ACTIONS(2764),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4454] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7799),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1754),
    [sym_call] = STATE(1754),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1755),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1756),
    [sym__variable] = STATE(1754),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2744),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2750),
    [anon_sym_yield] = ACTIONS(2752),
    [anon_sym_break] = ACTIONS(2754),
    [anon_sym_next] = ACTIONS(2756),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2758),
    [anon_sym_defined_QMARK] = ACTIONS(2760),
    [anon_sym_not] = ACTIONS(2762),
    [anon_sym_BANG] = ACTIONS(2764),
    [anon_sym_TILDE] = ACTIONS(2764),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4455] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7800),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1754),
    [sym_call] = STATE(1754),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1755),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1756),
    [sym__variable] = STATE(1754),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2744),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2750),
    [anon_sym_yield] = ACTIONS(2752),
    [anon_sym_break] = ACTIONS(2754),
    [anon_sym_next] = ACTIONS(2756),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2758),
    [anon_sym_defined_QMARK] = ACTIONS(2760),
    [anon_sym_not] = ACTIONS(2762),
    [anon_sym_BANG] = ACTIONS(2764),
    [anon_sym_TILDE] = ACTIONS(2764),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4456] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7801),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1754),
    [sym_call] = STATE(1754),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1755),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1756),
    [sym__variable] = STATE(1754),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2744),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2750),
    [anon_sym_yield] = ACTIONS(2752),
    [anon_sym_break] = ACTIONS(2754),
    [anon_sym_next] = ACTIONS(2756),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2758),
    [anon_sym_defined_QMARK] = ACTIONS(2760),
    [anon_sym_not] = ACTIONS(2762),
    [anon_sym_BANG] = ACTIONS(2764),
    [anon_sym_TILDE] = ACTIONS(2764),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4457] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7802),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1754),
    [sym_call] = STATE(1754),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1755),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1756),
    [sym__variable] = STATE(1754),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2744),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2750),
    [anon_sym_yield] = ACTIONS(2752),
    [anon_sym_break] = ACTIONS(2754),
    [anon_sym_next] = ACTIONS(2756),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2758),
    [anon_sym_defined_QMARK] = ACTIONS(2760),
    [anon_sym_not] = ACTIONS(2762),
    [anon_sym_BANG] = ACTIONS(2764),
    [anon_sym_TILDE] = ACTIONS(2764),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4458] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7803),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1754),
    [sym_call] = STATE(1754),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1755),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1756),
    [sym__variable] = STATE(1754),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2744),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2750),
    [anon_sym_yield] = ACTIONS(2752),
    [anon_sym_break] = ACTIONS(2754),
    [anon_sym_next] = ACTIONS(2756),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2758),
    [anon_sym_defined_QMARK] = ACTIONS(2760),
    [anon_sym_not] = ACTIONS(2762),
    [anon_sym_BANG] = ACTIONS(2764),
    [anon_sym_TILDE] = ACTIONS(2764),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4459] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7804),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1754),
    [sym_call] = STATE(1754),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1755),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1756),
    [sym__variable] = STATE(1754),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2744),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2750),
    [anon_sym_yield] = ACTIONS(2752),
    [anon_sym_break] = ACTIONS(2754),
    [anon_sym_next] = ACTIONS(2756),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2758),
    [anon_sym_defined_QMARK] = ACTIONS(2760),
    [anon_sym_not] = ACTIONS(2762),
    [anon_sym_BANG] = ACTIONS(2764),
    [anon_sym_TILDE] = ACTIONS(2764),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4460] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7805),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1754),
    [sym_call] = STATE(1754),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1755),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1756),
    [sym__variable] = STATE(1754),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2744),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2750),
    [anon_sym_yield] = ACTIONS(2752),
    [anon_sym_break] = ACTIONS(2754),
    [anon_sym_next] = ACTIONS(2756),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2758),
    [anon_sym_defined_QMARK] = ACTIONS(2760),
    [anon_sym_not] = ACTIONS(2762),
    [anon_sym_BANG] = ACTIONS(2764),
    [anon_sym_TILDE] = ACTIONS(2764),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4461] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(7806),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [4462] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7807),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1754),
    [sym_call] = STATE(1754),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1755),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1756),
    [sym__variable] = STATE(1754),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2744),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2750),
    [anon_sym_yield] = ACTIONS(2752),
    [anon_sym_break] = ACTIONS(2754),
    [anon_sym_next] = ACTIONS(2756),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2758),
    [anon_sym_defined_QMARK] = ACTIONS(2760),
    [anon_sym_not] = ACTIONS(2762),
    [anon_sym_BANG] = ACTIONS(2764),
    [anon_sym_TILDE] = ACTIONS(2764),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4463] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7808),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1754),
    [sym_call] = STATE(1754),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1755),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1756),
    [sym__variable] = STATE(1754),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2744),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2750),
    [anon_sym_yield] = ACTIONS(2752),
    [anon_sym_break] = ACTIONS(2754),
    [anon_sym_next] = ACTIONS(2756),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2758),
    [anon_sym_defined_QMARK] = ACTIONS(2760),
    [anon_sym_not] = ACTIONS(2762),
    [anon_sym_BANG] = ACTIONS(2764),
    [anon_sym_TILDE] = ACTIONS(2764),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4464] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7809),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1754),
    [sym_call] = STATE(1754),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1755),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1756),
    [sym__variable] = STATE(1754),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2744),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2750),
    [anon_sym_yield] = ACTIONS(2752),
    [anon_sym_break] = ACTIONS(2754),
    [anon_sym_next] = ACTIONS(2756),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2758),
    [anon_sym_defined_QMARK] = ACTIONS(2760),
    [anon_sym_not] = ACTIONS(2762),
    [anon_sym_BANG] = ACTIONS(2764),
    [anon_sym_TILDE] = ACTIONS(2764),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4465] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7810),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1754),
    [sym_call] = STATE(1754),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1755),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1756),
    [sym__variable] = STATE(1754),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2744),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2750),
    [anon_sym_yield] = ACTIONS(2752),
    [anon_sym_break] = ACTIONS(2754),
    [anon_sym_next] = ACTIONS(2756),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2758),
    [anon_sym_defined_QMARK] = ACTIONS(2760),
    [anon_sym_not] = ACTIONS(2762),
    [anon_sym_BANG] = ACTIONS(2764),
    [anon_sym_TILDE] = ACTIONS(2764),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4466] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7811),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1754),
    [sym_call] = STATE(1754),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1755),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1756),
    [sym__variable] = STATE(1754),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2744),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2750),
    [anon_sym_yield] = ACTIONS(2752),
    [anon_sym_break] = ACTIONS(2754),
    [anon_sym_next] = ACTIONS(2756),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2758),
    [anon_sym_defined_QMARK] = ACTIONS(2760),
    [anon_sym_not] = ACTIONS(2762),
    [anon_sym_BANG] = ACTIONS(2764),
    [anon_sym_TILDE] = ACTIONS(2764),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4467] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(7820),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(7821),
    [sym_call] = STATE(7821),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(7822),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7823),
    [sym__variable] = STATE(7821),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(10612),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(10614),
    [anon_sym_yield] = ACTIONS(10616),
    [anon_sym_break] = ACTIONS(10618),
    [anon_sym_next] = ACTIONS(10620),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(10622),
    [anon_sym_defined_QMARK] = ACTIONS(10624),
    [anon_sym_not] = ACTIONS(10626),
    [anon_sym_BANG] = ACTIONS(10628),
    [anon_sym_TILDE] = ACTIONS(10628),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [4468] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(7824),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(7821),
    [sym_call] = STATE(7821),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(7822),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7823),
    [sym__variable] = STATE(7821),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(10612),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(10614),
    [anon_sym_yield] = ACTIONS(10616),
    [anon_sym_break] = ACTIONS(10618),
    [anon_sym_next] = ACTIONS(10620),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(10622),
    [anon_sym_defined_QMARK] = ACTIONS(10624),
    [anon_sym_not] = ACTIONS(10626),
    [anon_sym_BANG] = ACTIONS(10628),
    [anon_sym_TILDE] = ACTIONS(10628),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [4469] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7829),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4481),
    [sym_call] = STATE(4481),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4483),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4484),
    [sym__variable] = STATE(4481),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6472),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10630),
    [anon_sym_yield] = ACTIONS(10632),
    [anon_sym_break] = ACTIONS(10634),
    [anon_sym_next] = ACTIONS(10636),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10638),
    [anon_sym_defined_QMARK] = ACTIONS(6482),
    [anon_sym_not] = ACTIONS(10640),
    [anon_sym_BANG] = ACTIONS(6488),
    [anon_sym_TILDE] = ACTIONS(6488),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4470] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(7830),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(7821),
    [sym_call] = STATE(7821),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(7822),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7823),
    [sym__variable] = STATE(7821),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(10612),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(10614),
    [anon_sym_yield] = ACTIONS(10616),
    [anon_sym_break] = ACTIONS(10618),
    [anon_sym_next] = ACTIONS(10620),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(10622),
    [anon_sym_defined_QMARK] = ACTIONS(10624),
    [anon_sym_not] = ACTIONS(10626),
    [anon_sym_BANG] = ACTIONS(10628),
    [anon_sym_TILDE] = ACTIONS(10628),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [4471] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7785),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4481),
    [sym_call] = STATE(4481),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2147),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(7786),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4483),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4484),
    [sym__variable] = STATE(4481),
    [sym_reserved_identifier] = STATE(7787),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(7788),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(10596),
    [sym__splat_star] = ACTIONS(10598),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(6472),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(544),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(544),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(6474),
    [anon_sym_yield] = ACTIONS(6476),
    [anon_sym_break] = ACTIONS(6478),
    [anon_sym_next] = ACTIONS(6480),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(544),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_PLUS_EQ] = ACTIONS(532),
    [anon_sym_DASH_EQ] = ACTIONS(532),
    [anon_sym_STAR_EQ] = ACTIONS(532),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(532),
    [anon_sym_SLASH_EQ] = ACTIONS(532),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(532),
    [anon_sym_PIPE_EQ] = ACTIONS(532),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(532),
    [anon_sym_AMP_EQ] = ACTIONS(532),
    [anon_sym_PERCENT_EQ] = ACTIONS(532),
    [anon_sym_GT_GT_EQ] = ACTIONS(532),
    [anon_sym_LT_LT_EQ] = ACTIONS(532),
    [anon_sym_CARET_EQ] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(544),
    [anon_sym_AMP_AMP] = ACTIONS(544),
    [anon_sym_LT_LT] = ACTIONS(544),
    [anon_sym_GT_GT] = ACTIONS(544),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(544),
    [anon_sym_PERCENT] = ACTIONS(544),
    [anon_sym_defined_QMARK] = ACTIONS(6482),
    [anon_sym_not] = ACTIONS(6484),
    [anon_sym_BANG] = ACTIONS(6486),
    [anon_sym_TILDE] = ACTIONS(6488),
    [sym_constant] = ACTIONS(10600),
    [sym_identifier] = ACTIONS(10600),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4472] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7785),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4481),
    [sym_call] = STATE(4481),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2148),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(7786),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4483),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4484),
    [sym__variable] = STATE(4481),
    [sym_reserved_identifier] = STATE(7787),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(7788),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(10596),
    [sym__splat_star] = ACTIONS(10598),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(6472),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(604),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(604),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(6474),
    [anon_sym_yield] = ACTIONS(6476),
    [anon_sym_break] = ACTIONS(6478),
    [anon_sym_next] = ACTIONS(6480),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(604),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_PLUS_EQ] = ACTIONS(602),
    [anon_sym_DASH_EQ] = ACTIONS(602),
    [anon_sym_STAR_EQ] = ACTIONS(602),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(602),
    [anon_sym_SLASH_EQ] = ACTIONS(602),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(602),
    [anon_sym_PIPE_EQ] = ACTIONS(602),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(602),
    [anon_sym_AMP_EQ] = ACTIONS(602),
    [anon_sym_PERCENT_EQ] = ACTIONS(602),
    [anon_sym_GT_GT_EQ] = ACTIONS(602),
    [anon_sym_LT_LT_EQ] = ACTIONS(602),
    [anon_sym_CARET_EQ] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(604),
    [anon_sym_AMP_AMP] = ACTIONS(604),
    [anon_sym_LT_LT] = ACTIONS(604),
    [anon_sym_GT_GT] = ACTIONS(604),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(604),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(604),
    [anon_sym_PERCENT] = ACTIONS(604),
    [anon_sym_defined_QMARK] = ACTIONS(6482),
    [anon_sym_not] = ACTIONS(6484),
    [anon_sym_BANG] = ACTIONS(6486),
    [anon_sym_TILDE] = ACTIONS(6488),
    [sym_constant] = ACTIONS(10600),
    [sym_identifier] = ACTIONS(10600),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4473] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7785),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4481),
    [sym_call] = STATE(4481),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2149),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(7786),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4483),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4484),
    [sym__variable] = STATE(4481),
    [sym_reserved_identifier] = STATE(7787),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(7788),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(10596),
    [sym__splat_star] = ACTIONS(10598),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(6472),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(608),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(608),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(6474),
    [anon_sym_yield] = ACTIONS(6476),
    [anon_sym_break] = ACTIONS(6478),
    [anon_sym_next] = ACTIONS(6480),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(608),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_PLUS_EQ] = ACTIONS(606),
    [anon_sym_DASH_EQ] = ACTIONS(606),
    [anon_sym_STAR_EQ] = ACTIONS(606),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(606),
    [anon_sym_SLASH_EQ] = ACTIONS(606),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(606),
    [anon_sym_PIPE_EQ] = ACTIONS(606),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(606),
    [anon_sym_AMP_EQ] = ACTIONS(606),
    [anon_sym_PERCENT_EQ] = ACTIONS(606),
    [anon_sym_GT_GT_EQ] = ACTIONS(606),
    [anon_sym_LT_LT_EQ] = ACTIONS(606),
    [anon_sym_CARET_EQ] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(608),
    [anon_sym_AMP_AMP] = ACTIONS(608),
    [anon_sym_LT_LT] = ACTIONS(608),
    [anon_sym_GT_GT] = ACTIONS(608),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(608),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(608),
    [anon_sym_PERCENT] = ACTIONS(608),
    [anon_sym_defined_QMARK] = ACTIONS(6482),
    [anon_sym_not] = ACTIONS(6484),
    [anon_sym_BANG] = ACTIONS(6486),
    [anon_sym_TILDE] = ACTIONS(6488),
    [sym_constant] = ACTIONS(10600),
    [sym_identifier] = ACTIONS(10600),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4474] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7785),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4481),
    [sym_call] = STATE(4481),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2150),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(7786),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4483),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4484),
    [sym__variable] = STATE(4481),
    [sym_reserved_identifier] = STATE(7787),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(7788),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(10596),
    [sym__splat_star] = ACTIONS(10598),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(6472),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(612),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(612),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(6474),
    [anon_sym_yield] = ACTIONS(6476),
    [anon_sym_break] = ACTIONS(6478),
    [anon_sym_next] = ACTIONS(6480),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(612),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_PLUS_EQ] = ACTIONS(610),
    [anon_sym_DASH_EQ] = ACTIONS(610),
    [anon_sym_STAR_EQ] = ACTIONS(610),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(610),
    [anon_sym_SLASH_EQ] = ACTIONS(610),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(610),
    [anon_sym_PIPE_EQ] = ACTIONS(610),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(610),
    [anon_sym_AMP_EQ] = ACTIONS(610),
    [anon_sym_PERCENT_EQ] = ACTIONS(610),
    [anon_sym_GT_GT_EQ] = ACTIONS(610),
    [anon_sym_LT_LT_EQ] = ACTIONS(610),
    [anon_sym_CARET_EQ] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(612),
    [anon_sym_AMP_AMP] = ACTIONS(612),
    [anon_sym_LT_LT] = ACTIONS(612),
    [anon_sym_GT_GT] = ACTIONS(612),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(612),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(612),
    [anon_sym_PERCENT] = ACTIONS(612),
    [anon_sym_defined_QMARK] = ACTIONS(6482),
    [anon_sym_not] = ACTIONS(6484),
    [anon_sym_BANG] = ACTIONS(6486),
    [anon_sym_TILDE] = ACTIONS(6488),
    [sym_constant] = ACTIONS(10600),
    [sym_identifier] = ACTIONS(10600),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4475] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7831),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4481),
    [sym_call] = STATE(4481),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4483),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4484),
    [sym__variable] = STATE(4481),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6472),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10630),
    [anon_sym_yield] = ACTIONS(10632),
    [anon_sym_break] = ACTIONS(10634),
    [anon_sym_next] = ACTIONS(10636),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10638),
    [anon_sym_defined_QMARK] = ACTIONS(6482),
    [anon_sym_not] = ACTIONS(10640),
    [anon_sym_BANG] = ACTIONS(6488),
    [anon_sym_TILDE] = ACTIONS(6488),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4476] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7832),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4481),
    [sym_call] = STATE(4481),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4483),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4484),
    [sym__variable] = STATE(4481),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6472),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10630),
    [anon_sym_yield] = ACTIONS(10632),
    [anon_sym_break] = ACTIONS(10634),
    [anon_sym_next] = ACTIONS(10636),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10638),
    [anon_sym_defined_QMARK] = ACTIONS(6482),
    [anon_sym_not] = ACTIONS(10640),
    [anon_sym_BANG] = ACTIONS(6488),
    [anon_sym_TILDE] = ACTIONS(6488),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4477] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7832),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4481),
    [sym_call] = STATE(4481),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4483),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4484),
    [sym__variable] = STATE(4481),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(6472),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10630),
    [anon_sym_yield] = ACTIONS(10632),
    [anon_sym_break] = ACTIONS(10634),
    [anon_sym_next] = ACTIONS(10636),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10638),
    [anon_sym_defined_QMARK] = ACTIONS(6482),
    [anon_sym_not] = ACTIONS(10640),
    [anon_sym_BANG] = ACTIONS(6488),
    [anon_sym_TILDE] = ACTIONS(6488),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4478] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(2168),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4481),
    [sym_call] = STATE(4481),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4483),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4484),
    [sym__variable] = STATE(4481),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6472),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10630),
    [anon_sym_yield] = ACTIONS(10632),
    [anon_sym_break] = ACTIONS(10634),
    [anon_sym_next] = ACTIONS(10636),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10638),
    [anon_sym_defined_QMARK] = ACTIONS(6482),
    [anon_sym_not] = ACTIONS(10640),
    [anon_sym_BANG] = ACTIONS(6488),
    [anon_sym_TILDE] = ACTIONS(6488),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4479] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(10642),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [4480] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__line_break] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(10644),
    [sym__binary_star] = ACTIONS(10646),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_end] = ACTIONS(2210),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(10648),
    [anon_sym_SEMI] = ACTIONS(2210),
    [anon_sym_STAR_STAR] = ACTIONS(10650),
    [anon_sym_AMP] = ACTIONS(10652),
    [anon_sym_EQ] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(10654),
    [anon_sym_if] = ACTIONS(2210),
    [anon_sym_unless] = ACTIONS(2210),
    [anon_sym_while] = ACTIONS(2210),
    [anon_sym_until] = ACTIONS(2210),
    [anon_sym_rescue] = ACTIONS(2210),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_ensure] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(10642),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_PLUS_EQ] = ACTIONS(2210),
    [anon_sym_DASH_EQ] = ACTIONS(2210),
    [anon_sym_STAR_EQ] = ACTIONS(2210),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2210),
    [anon_sym_SLASH_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2210),
    [anon_sym_AMP_EQ] = ACTIONS(2210),
    [anon_sym_PERCENT_EQ] = ACTIONS(2210),
    [anon_sym_GT_GT_EQ] = ACTIONS(2210),
    [anon_sym_LT_LT_EQ] = ACTIONS(2210),
    [anon_sym_CARET_EQ] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(10656),
    [anon_sym_DOT_DOT] = ACTIONS(10658),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10660),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(10662),
    [anon_sym_AMP_AMP] = ACTIONS(10662),
    [anon_sym_LT_LT] = ACTIONS(10664),
    [anon_sym_GT_GT] = ACTIONS(10664),
    [anon_sym_EQ_EQ] = ACTIONS(10662),
    [anon_sym_BANG_EQ] = ACTIONS(10666),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10666),
    [anon_sym_LT_EQ_GT] = ACTIONS(10666),
    [anon_sym_EQ_TILDE] = ACTIONS(10666),
    [anon_sym_BANG_TILDE] = ACTIONS(10666),
    [anon_sym_LT_EQ] = ACTIONS(10654),
    [anon_sym_GT] = ACTIONS(10654),
    [anon_sym_GT_EQ] = ACTIONS(10668),
    [anon_sym_CARET] = ACTIONS(10648),
    [anon_sym_PLUS] = ACTIONS(10670),
    [anon_sym_SLASH] = ACTIONS(10650),
    [anon_sym_PERCENT] = ACTIONS(10650),
    [sym_comment] = ACTIONS(256),
  },
  [4481] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7785),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4481),
    [sym_call] = STATE(4481),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2190),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(7786),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_do_block] = STATE(1439),
    [sym_block] = STATE(1439),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4483),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4484),
    [sym__variable] = STATE(4481),
    [sym_reserved_identifier] = STATE(7787),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(7788),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(10596),
    [sym__splat_star] = ACTIONS(10598),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(6472),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(2258),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(982),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(6474),
    [anon_sym_yield] = ACTIONS(6476),
    [anon_sym_break] = ACTIONS(6478),
    [anon_sym_next] = ACTIONS(6480),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(982),
    [anon_sym_unless] = ACTIONS(982),
    [anon_sym_while] = ACTIONS(982),
    [anon_sym_until] = ACTIONS(982),
    [anon_sym_rescue] = ACTIONS(982),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(982),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(982),
    [anon_sym_EQ_GT] = ACTIONS(980),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(6482),
    [anon_sym_not] = ACTIONS(6484),
    [anon_sym_BANG] = ACTIONS(6486),
    [anon_sym_TILDE] = ACTIONS(6488),
    [sym_constant] = ACTIONS(10600),
    [sym_identifier] = ACTIONS(10600),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4482] = {
    [sym_heredoc_end] = STATE(2196),
    [aux_sym_argument_list_repeat1] = STATE(7847),
    [aux_sym_argument_list_repeat2] = STATE(2197),
    [sym__simple_heredoc_body] = ACTIONS(3354),
    [sym__heredoc_body_beginning] = ACTIONS(3356),
    [sym__line_break] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_end] = ACTIONS(2272),
    [anon_sym_COMMA] = ACTIONS(10672),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_STAR_STAR] = ACTIONS(2274),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_EQ] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_if] = ACTIONS(2272),
    [anon_sym_unless] = ACTIONS(2272),
    [anon_sym_while] = ACTIONS(2272),
    [anon_sym_until] = ACTIONS(2272),
    [anon_sym_rescue] = ACTIONS(2272),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_ensure] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_PLUS_EQ] = ACTIONS(2272),
    [anon_sym_DASH_EQ] = ACTIONS(2272),
    [anon_sym_STAR_EQ] = ACTIONS(2272),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2272),
    [anon_sym_SLASH_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2272),
    [anon_sym_AMP_EQ] = ACTIONS(2272),
    [anon_sym_PERCENT_EQ] = ACTIONS(2272),
    [anon_sym_GT_GT_EQ] = ACTIONS(2272),
    [anon_sym_LT_LT_EQ] = ACTIONS(2272),
    [anon_sym_CARET_EQ] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2274),
    [anon_sym_AMP_AMP] = ACTIONS(2274),
    [anon_sym_LT_LT] = ACTIONS(2274),
    [anon_sym_GT_GT] = ACTIONS(2274),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2274),
    [anon_sym_PLUS] = ACTIONS(2274),
    [anon_sym_SLASH] = ACTIONS(2274),
    [anon_sym_PERCENT] = ACTIONS(2274),
    [sym_comment] = ACTIONS(256),
  },
  [4483] = {
    [anon_sym_EQ] = ACTIONS(10674),
    [sym_comment] = ACTIONS(256),
  },
  [4484] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_end] = ACTIONS(250),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(10676),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_ensure] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(10678),
    [anon_sym_DASH_EQ] = ACTIONS(10678),
    [anon_sym_STAR_EQ] = ACTIONS(10678),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(10678),
    [anon_sym_SLASH_EQ] = ACTIONS(10678),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(10678),
    [anon_sym_PIPE_EQ] = ACTIONS(10678),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(10678),
    [anon_sym_AMP_EQ] = ACTIONS(10678),
    [anon_sym_PERCENT_EQ] = ACTIONS(10678),
    [anon_sym_GT_GT_EQ] = ACTIONS(10678),
    [anon_sym_LT_LT_EQ] = ACTIONS(10678),
    [anon_sym_CARET_EQ] = ACTIONS(10678),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [4485] = {
    [sym__keyword_colon] = ACTIONS(10680),
    [sym_comment] = ACTIONS(110),
  },
  [4486] = {
    [sym_string] = STATE(2203),
    [aux_sym_chained_string_repeat1] = STATE(2204),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(10642),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_end] = ACTIONS(250),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_ensure] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(3266),
  },
  [4487] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7856),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1754),
    [sym_call] = STATE(1754),
    [sym_method_call] = STATE(61),
    [sym_splat_argument] = STATE(2211),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_right_assignment_list] = STATE(2212),
    [sym__arg_or_splat_arg] = STATE(7857),
    [sym_left_assignment_list] = STATE(7858),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7859),
    [sym__variable] = STATE(1754),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(10682),
    [sym__unary_minus] = ACTIONS(10684),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2750),
    [anon_sym_yield] = ACTIONS(2752),
    [anon_sym_break] = ACTIONS(2754),
    [anon_sym_next] = ACTIONS(2756),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10686),
    [anon_sym_defined_QMARK] = ACTIONS(10688),
    [anon_sym_not] = ACTIONS(10690),
    [anon_sym_BANG] = ACTIONS(10692),
    [anon_sym_TILDE] = ACTIONS(10692),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4488] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7860),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1754),
    [sym_call] = STATE(1754),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1755),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1756),
    [sym__variable] = STATE(1754),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2744),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2750),
    [anon_sym_yield] = ACTIONS(2752),
    [anon_sym_break] = ACTIONS(2754),
    [anon_sym_next] = ACTIONS(2756),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2758),
    [anon_sym_defined_QMARK] = ACTIONS(2760),
    [anon_sym_not] = ACTIONS(2762),
    [anon_sym_BANG] = ACTIONS(2764),
    [anon_sym_TILDE] = ACTIONS(2764),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4489] = {
    [anon_sym_end] = ACTIONS(10694),
    [anon_sym_ensure] = ACTIONS(10694),
    [sym_comment] = ACTIONS(110),
  },
  [4490] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_end] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(6542),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_if] = ACTIONS(1372),
    [anon_sym_unless] = ACTIONS(1372),
    [anon_sym_while] = ACTIONS(1372),
    [anon_sym_until] = ACTIONS(1372),
    [anon_sym_rescue] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [4491] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7865),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7866),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7867),
    [sym__variable] = STATE(1770),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(10696),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10698),
    [anon_sym_defined_QMARK] = ACTIONS(10700),
    [anon_sym_not] = ACTIONS(10702),
    [anon_sym_BANG] = ACTIONS(10704),
    [anon_sym_TILDE] = ACTIONS(10704),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4492] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7868),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7866),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7867),
    [sym__variable] = STATE(1770),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(10696),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10698),
    [anon_sym_defined_QMARK] = ACTIONS(10700),
    [anon_sym_not] = ACTIONS(10702),
    [anon_sym_BANG] = ACTIONS(10704),
    [anon_sym_TILDE] = ACTIONS(10704),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4493] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7873),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4505),
    [sym_call] = STATE(4505),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4507),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4508),
    [sym__variable] = STATE(4505),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6504),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(10706),
    [anon_sym_yield] = ACTIONS(10708),
    [anon_sym_break] = ACTIONS(10710),
    [anon_sym_next] = ACTIONS(10712),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10714),
    [anon_sym_defined_QMARK] = ACTIONS(6514),
    [anon_sym_not] = ACTIONS(10716),
    [anon_sym_BANG] = ACTIONS(6520),
    [anon_sym_TILDE] = ACTIONS(6520),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4494] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7874),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7866),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7867),
    [sym__variable] = STATE(1770),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(10696),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10698),
    [anon_sym_defined_QMARK] = ACTIONS(10700),
    [anon_sym_not] = ACTIONS(10702),
    [anon_sym_BANG] = ACTIONS(10704),
    [anon_sym_TILDE] = ACTIONS(10704),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4495] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7879),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4505),
    [sym_call] = STATE(4505),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(340),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(7880),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4507),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4508),
    [sym__variable] = STATE(4505),
    [sym_reserved_identifier] = STATE(7881),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(7882),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(10718),
    [sym__splat_star] = ACTIONS(10720),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(6504),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(544),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(6506),
    [anon_sym_yield] = ACTIONS(6508),
    [anon_sym_break] = ACTIONS(6510),
    [anon_sym_next] = ACTIONS(6512),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(6514),
    [anon_sym_not] = ACTIONS(6516),
    [anon_sym_BANG] = ACTIONS(6518),
    [anon_sym_TILDE] = ACTIONS(6520),
    [sym_constant] = ACTIONS(10722),
    [sym_identifier] = ACTIONS(10722),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4496] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7879),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4505),
    [sym_call] = STATE(4505),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(349),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(7880),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4507),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4508),
    [sym__variable] = STATE(4505),
    [sym_reserved_identifier] = STATE(7881),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(7882),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(10718),
    [sym__splat_star] = ACTIONS(10720),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(6504),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(604),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(6506),
    [anon_sym_yield] = ACTIONS(6508),
    [anon_sym_break] = ACTIONS(6510),
    [anon_sym_next] = ACTIONS(6512),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(6514),
    [anon_sym_not] = ACTIONS(6516),
    [anon_sym_BANG] = ACTIONS(6518),
    [anon_sym_TILDE] = ACTIONS(6520),
    [sym_constant] = ACTIONS(10722),
    [sym_identifier] = ACTIONS(10722),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4497] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7879),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4505),
    [sym_call] = STATE(4505),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(350),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(7880),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4507),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4508),
    [sym__variable] = STATE(4505),
    [sym_reserved_identifier] = STATE(7881),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(7882),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(10718),
    [sym__splat_star] = ACTIONS(10720),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(6504),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(608),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(6506),
    [anon_sym_yield] = ACTIONS(6508),
    [anon_sym_break] = ACTIONS(6510),
    [anon_sym_next] = ACTIONS(6512),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(6514),
    [anon_sym_not] = ACTIONS(6516),
    [anon_sym_BANG] = ACTIONS(6518),
    [anon_sym_TILDE] = ACTIONS(6520),
    [sym_constant] = ACTIONS(10722),
    [sym_identifier] = ACTIONS(10722),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4498] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7879),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4505),
    [sym_call] = STATE(4505),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(351),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(7880),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4507),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4508),
    [sym__variable] = STATE(4505),
    [sym_reserved_identifier] = STATE(7881),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(7882),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(10718),
    [sym__splat_star] = ACTIONS(10720),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(6504),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(612),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(6506),
    [anon_sym_yield] = ACTIONS(6508),
    [anon_sym_break] = ACTIONS(6510),
    [anon_sym_next] = ACTIONS(6512),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(6514),
    [anon_sym_not] = ACTIONS(6516),
    [anon_sym_BANG] = ACTIONS(6518),
    [anon_sym_TILDE] = ACTIONS(6520),
    [sym_constant] = ACTIONS(10722),
    [sym_identifier] = ACTIONS(10722),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4499] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7883),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4505),
    [sym_call] = STATE(4505),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4507),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4508),
    [sym__variable] = STATE(4505),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6504),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(10706),
    [anon_sym_yield] = ACTIONS(10708),
    [anon_sym_break] = ACTIONS(10710),
    [anon_sym_next] = ACTIONS(10712),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10714),
    [anon_sym_defined_QMARK] = ACTIONS(6514),
    [anon_sym_not] = ACTIONS(10716),
    [anon_sym_BANG] = ACTIONS(6520),
    [anon_sym_TILDE] = ACTIONS(6520),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4500] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7884),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4505),
    [sym_call] = STATE(4505),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4507),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4508),
    [sym__variable] = STATE(4505),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6504),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(10706),
    [anon_sym_yield] = ACTIONS(10708),
    [anon_sym_break] = ACTIONS(10710),
    [anon_sym_next] = ACTIONS(10712),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10714),
    [anon_sym_defined_QMARK] = ACTIONS(6514),
    [anon_sym_not] = ACTIONS(10716),
    [anon_sym_BANG] = ACTIONS(6520),
    [anon_sym_TILDE] = ACTIONS(6520),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4501] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7884),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4505),
    [sym_call] = STATE(4505),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4507),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4508),
    [sym__variable] = STATE(4505),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(6504),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(10706),
    [anon_sym_yield] = ACTIONS(10708),
    [anon_sym_break] = ACTIONS(10710),
    [anon_sym_next] = ACTIONS(10712),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10714),
    [anon_sym_defined_QMARK] = ACTIONS(6514),
    [anon_sym_not] = ACTIONS(10716),
    [anon_sym_BANG] = ACTIONS(6520),
    [anon_sym_TILDE] = ACTIONS(6520),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4502] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1410),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4505),
    [sym_call] = STATE(4505),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4507),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4508),
    [sym__variable] = STATE(4505),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6504),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(10706),
    [anon_sym_yield] = ACTIONS(10708),
    [anon_sym_break] = ACTIONS(10710),
    [anon_sym_next] = ACTIONS(10712),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10714),
    [anon_sym_defined_QMARK] = ACTIONS(6514),
    [anon_sym_not] = ACTIONS(10716),
    [anon_sym_BANG] = ACTIONS(6520),
    [anon_sym_TILDE] = ACTIONS(6520),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4503] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(10724),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [4504] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__line_break] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(10726),
    [sym__binary_star] = ACTIONS(10728),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_end] = ACTIONS(2210),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(10730),
    [anon_sym_SEMI] = ACTIONS(2210),
    [anon_sym_STAR_STAR] = ACTIONS(10732),
    [anon_sym_AMP] = ACTIONS(10734),
    [anon_sym_LT] = ACTIONS(10736),
    [anon_sym_if] = ACTIONS(2210),
    [anon_sym_unless] = ACTIONS(2210),
    [anon_sym_while] = ACTIONS(2210),
    [anon_sym_until] = ACTIONS(2210),
    [anon_sym_rescue] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(10724),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(10738),
    [anon_sym_DOT_DOT] = ACTIONS(10740),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10742),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(10744),
    [anon_sym_AMP_AMP] = ACTIONS(10744),
    [anon_sym_LT_LT] = ACTIONS(10746),
    [anon_sym_GT_GT] = ACTIONS(10746),
    [anon_sym_EQ_EQ] = ACTIONS(10748),
    [anon_sym_BANG_EQ] = ACTIONS(10744),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10744),
    [anon_sym_LT_EQ_GT] = ACTIONS(10744),
    [anon_sym_EQ_TILDE] = ACTIONS(10744),
    [anon_sym_BANG_TILDE] = ACTIONS(10744),
    [anon_sym_LT_EQ] = ACTIONS(10736),
    [anon_sym_GT] = ACTIONS(10736),
    [anon_sym_GT_EQ] = ACTIONS(10750),
    [anon_sym_CARET] = ACTIONS(10752),
    [anon_sym_PLUS] = ACTIONS(10754),
    [anon_sym_SLASH] = ACTIONS(10732),
    [anon_sym_PERCENT] = ACTIONS(10732),
    [sym_comment] = ACTIONS(110),
  },
  [4505] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7902),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4546),
    [sym_call] = STATE(4546),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(1435),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(7903),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_do_block] = STATE(1439),
    [sym_block] = STATE(1439),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4548),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4549),
    [sym__variable] = STATE(4546),
    [sym_reserved_identifier] = STATE(7904),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(7905),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(10756),
    [sym__splat_star] = ACTIONS(10758),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(6572),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(2258),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(982),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(6574),
    [anon_sym_yield] = ACTIONS(6576),
    [anon_sym_break] = ACTIONS(6578),
    [anon_sym_next] = ACTIONS(6580),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(982),
    [anon_sym_unless] = ACTIONS(982),
    [anon_sym_while] = ACTIONS(982),
    [anon_sym_until] = ACTIONS(982),
    [anon_sym_rescue] = ACTIONS(982),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(2260),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(980),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(6582),
    [anon_sym_not] = ACTIONS(6584),
    [anon_sym_BANG] = ACTIONS(6586),
    [anon_sym_TILDE] = ACTIONS(6588),
    [sym_constant] = ACTIONS(10760),
    [sym_identifier] = ACTIONS(10760),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4506] = {
    [sym_heredoc_end] = STATE(1444),
    [aux_sym_argument_list_repeat1] = STATE(7907),
    [aux_sym_argument_list_repeat2] = STATE(1445),
    [sym__simple_heredoc_body] = ACTIONS(2268),
    [sym__heredoc_body_beginning] = ACTIONS(2270),
    [sym__line_break] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_end] = ACTIONS(2272),
    [anon_sym_COMMA] = ACTIONS(10762),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_STAR_STAR] = ACTIONS(2272),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_if] = ACTIONS(2272),
    [anon_sym_unless] = ACTIONS(2272),
    [anon_sym_while] = ACTIONS(2272),
    [anon_sym_until] = ACTIONS(2272),
    [anon_sym_rescue] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2272),
    [anon_sym_AMP_AMP] = ACTIONS(2272),
    [anon_sym_LT_LT] = ACTIONS(2272),
    [anon_sym_GT_GT] = ACTIONS(2272),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2272),
    [anon_sym_PLUS] = ACTIONS(2272),
    [anon_sym_SLASH] = ACTIONS(2272),
    [anon_sym_PERCENT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(110),
  },
  [4507] = {
    [anon_sym_EQ] = ACTIONS(10764),
    [sym_comment] = ACTIONS(256),
  },
  [4508] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_end] = ACTIONS(250),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(10766),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(10768),
    [anon_sym_DASH_EQ] = ACTIONS(10768),
    [anon_sym_STAR_EQ] = ACTIONS(10768),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(10768),
    [anon_sym_SLASH_EQ] = ACTIONS(10768),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(10768),
    [anon_sym_PIPE_EQ] = ACTIONS(10768),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(10768),
    [anon_sym_AMP_EQ] = ACTIONS(10768),
    [anon_sym_PERCENT_EQ] = ACTIONS(10768),
    [anon_sym_GT_GT_EQ] = ACTIONS(10768),
    [anon_sym_LT_LT_EQ] = ACTIONS(10768),
    [anon_sym_CARET_EQ] = ACTIONS(10768),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [4509] = {
    [sym__keyword_colon] = ACTIONS(10770),
    [sym_comment] = ACTIONS(110),
  },
  [4510] = {
    [sym_string] = STATE(611),
    [aux_sym_chained_string_repeat1] = STATE(612),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(20),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(10724),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_end] = ACTIONS(250),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(120),
  },
  [4511] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_end] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(6542),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [4512] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(6536),
    [sym__binary_star] = ACTIONS(6538),
    [anon_sym_end] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(6540),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(6542),
    [anon_sym_AMP] = ACTIONS(6544),
    [anon_sym_LT] = ACTIONS(6546),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(6548),
    [anon_sym_DOT_DOT] = ACTIONS(6550),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6552),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(6556),
    [anon_sym_AMP_AMP] = ACTIONS(6556),
    [anon_sym_LT_LT] = ACTIONS(6558),
    [anon_sym_GT_GT] = ACTIONS(6558),
    [anon_sym_EQ_EQ] = ACTIONS(6560),
    [anon_sym_BANG_EQ] = ACTIONS(6556),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6556),
    [anon_sym_LT_EQ_GT] = ACTIONS(6556),
    [anon_sym_EQ_TILDE] = ACTIONS(6556),
    [anon_sym_BANG_TILDE] = ACTIONS(6556),
    [anon_sym_LT_EQ] = ACTIONS(6546),
    [anon_sym_GT] = ACTIONS(6546),
    [anon_sym_GT_EQ] = ACTIONS(6562),
    [anon_sym_CARET] = ACTIONS(6564),
    [anon_sym_PLUS] = ACTIONS(6566),
    [anon_sym_SLASH] = ACTIONS(6542),
    [anon_sym_PERCENT] = ACTIONS(6542),
    [sym_comment] = ACTIONS(110),
  },
  [4513] = {
    [sym__top_level_statement] = STATE(1996),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(3108),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4514] = {
    [sym_heredoc_end] = STATE(1550),
    [sym__terminator] = STATE(7911),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym__line_break] = ACTIONS(2446),
    [anon_sym_end] = ACTIONS(3106),
    [anon_sym_SEMI] = ACTIONS(2446),
    [sym_comment] = ACTIONS(110),
  },
  [4515] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7912),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4516] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7913),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4517] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7914),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4518] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7915),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4519] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7916),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4520] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7917),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4521] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7918),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4522] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7919),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4523] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7920),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4524] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7921),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4525] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7922),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4526] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(7923),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [4527] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7924),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4528] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7925),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4529] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7926),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4530] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7927),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4531] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7928),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4532] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(7937),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(7938),
    [sym_call] = STATE(7938),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(7939),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7940),
    [sym__variable] = STATE(7938),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(10772),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(10774),
    [anon_sym_yield] = ACTIONS(10776),
    [anon_sym_break] = ACTIONS(10778),
    [anon_sym_next] = ACTIONS(10780),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(10782),
    [anon_sym_defined_QMARK] = ACTIONS(10784),
    [anon_sym_not] = ACTIONS(10786),
    [anon_sym_BANG] = ACTIONS(10788),
    [anon_sym_TILDE] = ACTIONS(10788),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [4533] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(7941),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(7938),
    [sym_call] = STATE(7938),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(7939),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7940),
    [sym__variable] = STATE(7938),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(10772),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(10774),
    [anon_sym_yield] = ACTIONS(10776),
    [anon_sym_break] = ACTIONS(10778),
    [anon_sym_next] = ACTIONS(10780),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(10782),
    [anon_sym_defined_QMARK] = ACTIONS(10784),
    [anon_sym_not] = ACTIONS(10786),
    [anon_sym_BANG] = ACTIONS(10788),
    [anon_sym_TILDE] = ACTIONS(10788),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [4534] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7946),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4546),
    [sym_call] = STATE(4546),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4548),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4549),
    [sym__variable] = STATE(4546),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6572),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10790),
    [anon_sym_yield] = ACTIONS(10792),
    [anon_sym_break] = ACTIONS(10794),
    [anon_sym_next] = ACTIONS(10796),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10798),
    [anon_sym_defined_QMARK] = ACTIONS(6582),
    [anon_sym_not] = ACTIONS(10800),
    [anon_sym_BANG] = ACTIONS(6588),
    [anon_sym_TILDE] = ACTIONS(6588),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4535] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(7947),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(7938),
    [sym_call] = STATE(7938),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(7939),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7940),
    [sym__variable] = STATE(7938),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(10772),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(10774),
    [anon_sym_yield] = ACTIONS(10776),
    [anon_sym_break] = ACTIONS(10778),
    [anon_sym_next] = ACTIONS(10780),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(10782),
    [anon_sym_defined_QMARK] = ACTIONS(10784),
    [anon_sym_not] = ACTIONS(10786),
    [anon_sym_BANG] = ACTIONS(10788),
    [anon_sym_TILDE] = ACTIONS(10788),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [4536] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7902),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4546),
    [sym_call] = STATE(4546),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2147),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(7903),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4548),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4549),
    [sym__variable] = STATE(4546),
    [sym_reserved_identifier] = STATE(7904),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(7905),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(10756),
    [sym__splat_star] = ACTIONS(10758),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(6572),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(544),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(544),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(6574),
    [anon_sym_yield] = ACTIONS(6576),
    [anon_sym_break] = ACTIONS(6578),
    [anon_sym_next] = ACTIONS(6580),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_PLUS_EQ] = ACTIONS(532),
    [anon_sym_DASH_EQ] = ACTIONS(532),
    [anon_sym_STAR_EQ] = ACTIONS(532),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(532),
    [anon_sym_SLASH_EQ] = ACTIONS(532),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(532),
    [anon_sym_PIPE_EQ] = ACTIONS(532),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(532),
    [anon_sym_AMP_EQ] = ACTIONS(532),
    [anon_sym_PERCENT_EQ] = ACTIONS(532),
    [anon_sym_GT_GT_EQ] = ACTIONS(532),
    [anon_sym_LT_LT_EQ] = ACTIONS(532),
    [anon_sym_CARET_EQ] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(544),
    [anon_sym_AMP_AMP] = ACTIONS(544),
    [anon_sym_LT_LT] = ACTIONS(544),
    [anon_sym_GT_GT] = ACTIONS(544),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(544),
    [anon_sym_PERCENT] = ACTIONS(544),
    [anon_sym_defined_QMARK] = ACTIONS(6582),
    [anon_sym_not] = ACTIONS(6584),
    [anon_sym_BANG] = ACTIONS(6586),
    [anon_sym_TILDE] = ACTIONS(6588),
    [sym_constant] = ACTIONS(10760),
    [sym_identifier] = ACTIONS(10760),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4537] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7902),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4546),
    [sym_call] = STATE(4546),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2148),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(7903),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4548),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4549),
    [sym__variable] = STATE(4546),
    [sym_reserved_identifier] = STATE(7904),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(7905),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(10756),
    [sym__splat_star] = ACTIONS(10758),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(6572),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(604),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(604),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(6574),
    [anon_sym_yield] = ACTIONS(6576),
    [anon_sym_break] = ACTIONS(6578),
    [anon_sym_next] = ACTIONS(6580),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_PLUS_EQ] = ACTIONS(602),
    [anon_sym_DASH_EQ] = ACTIONS(602),
    [anon_sym_STAR_EQ] = ACTIONS(602),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(602),
    [anon_sym_SLASH_EQ] = ACTIONS(602),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(602),
    [anon_sym_PIPE_EQ] = ACTIONS(602),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(602),
    [anon_sym_AMP_EQ] = ACTIONS(602),
    [anon_sym_PERCENT_EQ] = ACTIONS(602),
    [anon_sym_GT_GT_EQ] = ACTIONS(602),
    [anon_sym_LT_LT_EQ] = ACTIONS(602),
    [anon_sym_CARET_EQ] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(604),
    [anon_sym_AMP_AMP] = ACTIONS(604),
    [anon_sym_LT_LT] = ACTIONS(604),
    [anon_sym_GT_GT] = ACTIONS(604),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(604),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(604),
    [anon_sym_PERCENT] = ACTIONS(604),
    [anon_sym_defined_QMARK] = ACTIONS(6582),
    [anon_sym_not] = ACTIONS(6584),
    [anon_sym_BANG] = ACTIONS(6586),
    [anon_sym_TILDE] = ACTIONS(6588),
    [sym_constant] = ACTIONS(10760),
    [sym_identifier] = ACTIONS(10760),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4538] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7902),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4546),
    [sym_call] = STATE(4546),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2149),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(7903),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4548),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4549),
    [sym__variable] = STATE(4546),
    [sym_reserved_identifier] = STATE(7904),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(7905),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(10756),
    [sym__splat_star] = ACTIONS(10758),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(6572),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(608),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(608),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(6574),
    [anon_sym_yield] = ACTIONS(6576),
    [anon_sym_break] = ACTIONS(6578),
    [anon_sym_next] = ACTIONS(6580),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_PLUS_EQ] = ACTIONS(606),
    [anon_sym_DASH_EQ] = ACTIONS(606),
    [anon_sym_STAR_EQ] = ACTIONS(606),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(606),
    [anon_sym_SLASH_EQ] = ACTIONS(606),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(606),
    [anon_sym_PIPE_EQ] = ACTIONS(606),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(606),
    [anon_sym_AMP_EQ] = ACTIONS(606),
    [anon_sym_PERCENT_EQ] = ACTIONS(606),
    [anon_sym_GT_GT_EQ] = ACTIONS(606),
    [anon_sym_LT_LT_EQ] = ACTIONS(606),
    [anon_sym_CARET_EQ] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(608),
    [anon_sym_AMP_AMP] = ACTIONS(608),
    [anon_sym_LT_LT] = ACTIONS(608),
    [anon_sym_GT_GT] = ACTIONS(608),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(608),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(608),
    [anon_sym_PERCENT] = ACTIONS(608),
    [anon_sym_defined_QMARK] = ACTIONS(6582),
    [anon_sym_not] = ACTIONS(6584),
    [anon_sym_BANG] = ACTIONS(6586),
    [anon_sym_TILDE] = ACTIONS(6588),
    [sym_constant] = ACTIONS(10760),
    [sym_identifier] = ACTIONS(10760),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4539] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7902),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4546),
    [sym_call] = STATE(4546),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2150),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(7903),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4548),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4549),
    [sym__variable] = STATE(4546),
    [sym_reserved_identifier] = STATE(7904),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(7905),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(10756),
    [sym__splat_star] = ACTIONS(10758),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(6572),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(612),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(612),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(6574),
    [anon_sym_yield] = ACTIONS(6576),
    [anon_sym_break] = ACTIONS(6578),
    [anon_sym_next] = ACTIONS(6580),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_PLUS_EQ] = ACTIONS(610),
    [anon_sym_DASH_EQ] = ACTIONS(610),
    [anon_sym_STAR_EQ] = ACTIONS(610),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(610),
    [anon_sym_SLASH_EQ] = ACTIONS(610),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(610),
    [anon_sym_PIPE_EQ] = ACTIONS(610),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(610),
    [anon_sym_AMP_EQ] = ACTIONS(610),
    [anon_sym_PERCENT_EQ] = ACTIONS(610),
    [anon_sym_GT_GT_EQ] = ACTIONS(610),
    [anon_sym_LT_LT_EQ] = ACTIONS(610),
    [anon_sym_CARET_EQ] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(612),
    [anon_sym_AMP_AMP] = ACTIONS(612),
    [anon_sym_LT_LT] = ACTIONS(612),
    [anon_sym_GT_GT] = ACTIONS(612),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(612),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(612),
    [anon_sym_PERCENT] = ACTIONS(612),
    [anon_sym_defined_QMARK] = ACTIONS(6582),
    [anon_sym_not] = ACTIONS(6584),
    [anon_sym_BANG] = ACTIONS(6586),
    [anon_sym_TILDE] = ACTIONS(6588),
    [sym_constant] = ACTIONS(10760),
    [sym_identifier] = ACTIONS(10760),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4540] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7948),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4546),
    [sym_call] = STATE(4546),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4548),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4549),
    [sym__variable] = STATE(4546),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6572),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10790),
    [anon_sym_yield] = ACTIONS(10792),
    [anon_sym_break] = ACTIONS(10794),
    [anon_sym_next] = ACTIONS(10796),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10798),
    [anon_sym_defined_QMARK] = ACTIONS(6582),
    [anon_sym_not] = ACTIONS(10800),
    [anon_sym_BANG] = ACTIONS(6588),
    [anon_sym_TILDE] = ACTIONS(6588),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4541] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7949),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4546),
    [sym_call] = STATE(4546),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4548),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4549),
    [sym__variable] = STATE(4546),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6572),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10790),
    [anon_sym_yield] = ACTIONS(10792),
    [anon_sym_break] = ACTIONS(10794),
    [anon_sym_next] = ACTIONS(10796),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10798),
    [anon_sym_defined_QMARK] = ACTIONS(6582),
    [anon_sym_not] = ACTIONS(10800),
    [anon_sym_BANG] = ACTIONS(6588),
    [anon_sym_TILDE] = ACTIONS(6588),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4542] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7949),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4546),
    [sym_call] = STATE(4546),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4548),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4549),
    [sym__variable] = STATE(4546),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(6572),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10790),
    [anon_sym_yield] = ACTIONS(10792),
    [anon_sym_break] = ACTIONS(10794),
    [anon_sym_next] = ACTIONS(10796),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10798),
    [anon_sym_defined_QMARK] = ACTIONS(6582),
    [anon_sym_not] = ACTIONS(10800),
    [anon_sym_BANG] = ACTIONS(6588),
    [anon_sym_TILDE] = ACTIONS(6588),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4543] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(2168),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4546),
    [sym_call] = STATE(4546),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4548),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4549),
    [sym__variable] = STATE(4546),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6572),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10790),
    [anon_sym_yield] = ACTIONS(10792),
    [anon_sym_break] = ACTIONS(10794),
    [anon_sym_next] = ACTIONS(10796),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10798),
    [anon_sym_defined_QMARK] = ACTIONS(6582),
    [anon_sym_not] = ACTIONS(10800),
    [anon_sym_BANG] = ACTIONS(6588),
    [anon_sym_TILDE] = ACTIONS(6588),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4544] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(10802),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [4545] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__line_break] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(10804),
    [sym__binary_star] = ACTIONS(10806),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_end] = ACTIONS(2210),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(10808),
    [anon_sym_SEMI] = ACTIONS(2210),
    [anon_sym_STAR_STAR] = ACTIONS(10810),
    [anon_sym_AMP] = ACTIONS(10812),
    [anon_sym_EQ] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(10814),
    [anon_sym_if] = ACTIONS(2210),
    [anon_sym_unless] = ACTIONS(2210),
    [anon_sym_while] = ACTIONS(2210),
    [anon_sym_until] = ACTIONS(2210),
    [anon_sym_rescue] = ACTIONS(2210),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(10802),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_PLUS_EQ] = ACTIONS(2210),
    [anon_sym_DASH_EQ] = ACTIONS(2210),
    [anon_sym_STAR_EQ] = ACTIONS(2210),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2210),
    [anon_sym_SLASH_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2210),
    [anon_sym_AMP_EQ] = ACTIONS(2210),
    [anon_sym_PERCENT_EQ] = ACTIONS(2210),
    [anon_sym_GT_GT_EQ] = ACTIONS(2210),
    [anon_sym_LT_LT_EQ] = ACTIONS(2210),
    [anon_sym_CARET_EQ] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(10816),
    [anon_sym_DOT_DOT] = ACTIONS(10818),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10820),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(10822),
    [anon_sym_AMP_AMP] = ACTIONS(10822),
    [anon_sym_LT_LT] = ACTIONS(10824),
    [anon_sym_GT_GT] = ACTIONS(10824),
    [anon_sym_EQ_EQ] = ACTIONS(10822),
    [anon_sym_BANG_EQ] = ACTIONS(10826),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10826),
    [anon_sym_LT_EQ_GT] = ACTIONS(10826),
    [anon_sym_EQ_TILDE] = ACTIONS(10826),
    [anon_sym_BANG_TILDE] = ACTIONS(10826),
    [anon_sym_LT_EQ] = ACTIONS(10814),
    [anon_sym_GT] = ACTIONS(10814),
    [anon_sym_GT_EQ] = ACTIONS(10828),
    [anon_sym_CARET] = ACTIONS(10808),
    [anon_sym_PLUS] = ACTIONS(10830),
    [anon_sym_SLASH] = ACTIONS(10810),
    [anon_sym_PERCENT] = ACTIONS(10810),
    [sym_comment] = ACTIONS(256),
  },
  [4546] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7902),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4546),
    [sym_call] = STATE(4546),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2190),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(7903),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_do_block] = STATE(1439),
    [sym_block] = STATE(1439),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4548),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4549),
    [sym__variable] = STATE(4546),
    [sym_reserved_identifier] = STATE(7904),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(7905),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(10756),
    [sym__splat_star] = ACTIONS(10758),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(6572),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(2258),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(982),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(6574),
    [anon_sym_yield] = ACTIONS(6576),
    [anon_sym_break] = ACTIONS(6578),
    [anon_sym_next] = ACTIONS(6580),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(982),
    [anon_sym_unless] = ACTIONS(982),
    [anon_sym_while] = ACTIONS(982),
    [anon_sym_until] = ACTIONS(982),
    [anon_sym_rescue] = ACTIONS(982),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(982),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(980),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(6582),
    [anon_sym_not] = ACTIONS(6584),
    [anon_sym_BANG] = ACTIONS(6586),
    [anon_sym_TILDE] = ACTIONS(6588),
    [sym_constant] = ACTIONS(10760),
    [sym_identifier] = ACTIONS(10760),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4547] = {
    [sym_heredoc_end] = STATE(2196),
    [aux_sym_argument_list_repeat1] = STATE(7964),
    [aux_sym_argument_list_repeat2] = STATE(2197),
    [sym__simple_heredoc_body] = ACTIONS(3354),
    [sym__heredoc_body_beginning] = ACTIONS(3356),
    [sym__line_break] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_end] = ACTIONS(2272),
    [anon_sym_COMMA] = ACTIONS(10832),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_STAR_STAR] = ACTIONS(2274),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_EQ] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_if] = ACTIONS(2272),
    [anon_sym_unless] = ACTIONS(2272),
    [anon_sym_while] = ACTIONS(2272),
    [anon_sym_until] = ACTIONS(2272),
    [anon_sym_rescue] = ACTIONS(2272),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_PLUS_EQ] = ACTIONS(2272),
    [anon_sym_DASH_EQ] = ACTIONS(2272),
    [anon_sym_STAR_EQ] = ACTIONS(2272),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2272),
    [anon_sym_SLASH_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2272),
    [anon_sym_AMP_EQ] = ACTIONS(2272),
    [anon_sym_PERCENT_EQ] = ACTIONS(2272),
    [anon_sym_GT_GT_EQ] = ACTIONS(2272),
    [anon_sym_LT_LT_EQ] = ACTIONS(2272),
    [anon_sym_CARET_EQ] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2274),
    [anon_sym_AMP_AMP] = ACTIONS(2274),
    [anon_sym_LT_LT] = ACTIONS(2274),
    [anon_sym_GT_GT] = ACTIONS(2274),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2274),
    [anon_sym_PLUS] = ACTIONS(2274),
    [anon_sym_SLASH] = ACTIONS(2274),
    [anon_sym_PERCENT] = ACTIONS(2274),
    [sym_comment] = ACTIONS(256),
  },
  [4548] = {
    [anon_sym_EQ] = ACTIONS(10834),
    [sym_comment] = ACTIONS(256),
  },
  [4549] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_end] = ACTIONS(250),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(10836),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(10838),
    [anon_sym_DASH_EQ] = ACTIONS(10838),
    [anon_sym_STAR_EQ] = ACTIONS(10838),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(10838),
    [anon_sym_SLASH_EQ] = ACTIONS(10838),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(10838),
    [anon_sym_PIPE_EQ] = ACTIONS(10838),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(10838),
    [anon_sym_AMP_EQ] = ACTIONS(10838),
    [anon_sym_PERCENT_EQ] = ACTIONS(10838),
    [anon_sym_GT_GT_EQ] = ACTIONS(10838),
    [anon_sym_LT_LT_EQ] = ACTIONS(10838),
    [anon_sym_CARET_EQ] = ACTIONS(10838),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [4550] = {
    [sym__keyword_colon] = ACTIONS(10840),
    [sym_comment] = ACTIONS(110),
  },
  [4551] = {
    [sym_string] = STATE(2203),
    [aux_sym_chained_string_repeat1] = STATE(2204),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(10802),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_end] = ACTIONS(250),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(3266),
  },
  [4552] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7973),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_splat_argument] = STATE(2211),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_right_assignment_list] = STATE(2212),
    [sym__arg_or_splat_arg] = STATE(7974),
    [sym_left_assignment_list] = STATE(7975),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7976),
    [sym__variable] = STATE(1770),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(10842),
    [sym__unary_minus] = ACTIONS(10844),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10846),
    [anon_sym_defined_QMARK] = ACTIONS(10848),
    [anon_sym_not] = ACTIONS(10850),
    [anon_sym_BANG] = ACTIONS(10852),
    [anon_sym_TILDE] = ACTIONS(10852),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4553] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7977),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4554] = {
    [anon_sym_end] = ACTIONS(10854),
    [sym_comment] = ACTIONS(110),
  },
  [4555] = {
    [sym_ensure] = STATE(7978),
    [anon_sym_end] = ACTIONS(10854),
    [anon_sym_ensure] = ACTIONS(2792),
    [sym_comment] = ACTIONS(110),
  },
  [4556] = {
    [sym__top_level_statement] = STATE(4841),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(6996),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(6996),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(6996),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(6996),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4557] = {
    [sym__simple_heredoc_body] = ACTIONS(6998),
    [sym__heredoc_body_beginning] = ACTIONS(6998),
    [sym__line_break] = ACTIONS(6998),
    [sym__binary_minus] = ACTIONS(2806),
    [sym__binary_star] = ACTIONS(2808),
    [anon_sym_end] = ACTIONS(6998),
    [anon_sym_PIPE] = ACTIONS(2810),
    [anon_sym_SEMI] = ACTIONS(6998),
    [anon_sym_STAR_STAR] = ACTIONS(2812),
    [anon_sym_AMP] = ACTIONS(2814),
    [anon_sym_LT] = ACTIONS(2816),
    [anon_sym_if] = ACTIONS(6998),
    [anon_sym_unless] = ACTIONS(6998),
    [anon_sym_while] = ACTIONS(6998),
    [anon_sym_until] = ACTIONS(6998),
    [anon_sym_rescue] = ACTIONS(6998),
    [anon_sym_else] = ACTIONS(6998),
    [anon_sym_ensure] = ACTIONS(6998),
    [anon_sym_QMARK] = ACTIONS(2818),
    [anon_sym_DOT_DOT] = ACTIONS(2820),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2822),
    [anon_sym_and] = ACTIONS(2824),
    [anon_sym_or] = ACTIONS(2824),
    [anon_sym_PIPE_PIPE] = ACTIONS(2826),
    [anon_sym_AMP_AMP] = ACTIONS(2826),
    [anon_sym_LT_LT] = ACTIONS(2828),
    [anon_sym_GT_GT] = ACTIONS(2828),
    [anon_sym_EQ_EQ] = ACTIONS(2830),
    [anon_sym_BANG_EQ] = ACTIONS(2826),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2826),
    [anon_sym_LT_EQ_GT] = ACTIONS(2826),
    [anon_sym_EQ_TILDE] = ACTIONS(2826),
    [anon_sym_BANG_TILDE] = ACTIONS(2826),
    [anon_sym_LT_EQ] = ACTIONS(2816),
    [anon_sym_GT] = ACTIONS(2816),
    [anon_sym_GT_EQ] = ACTIONS(2832),
    [anon_sym_CARET] = ACTIONS(2834),
    [anon_sym_PLUS] = ACTIONS(2836),
    [anon_sym_SLASH] = ACTIONS(2812),
    [anon_sym_PERCENT] = ACTIONS(2812),
    [sym_comment] = ACTIONS(110),
  },
  [4558] = {
    [sym__simple_heredoc_body] = ACTIONS(7000),
    [sym__heredoc_body_beginning] = ACTIONS(7000),
    [sym__line_break] = ACTIONS(7000),
    [sym__binary_minus] = ACTIONS(2806),
    [sym__binary_star] = ACTIONS(2808),
    [anon_sym_end] = ACTIONS(7000),
    [anon_sym_PIPE] = ACTIONS(2810),
    [anon_sym_SEMI] = ACTIONS(7000),
    [anon_sym_STAR_STAR] = ACTIONS(2812),
    [anon_sym_AMP] = ACTIONS(2814),
    [anon_sym_LT] = ACTIONS(2816),
    [anon_sym_if] = ACTIONS(7000),
    [anon_sym_unless] = ACTIONS(7000),
    [anon_sym_while] = ACTIONS(7000),
    [anon_sym_until] = ACTIONS(7000),
    [anon_sym_rescue] = ACTIONS(7000),
    [anon_sym_else] = ACTIONS(7000),
    [anon_sym_ensure] = ACTIONS(7000),
    [anon_sym_QMARK] = ACTIONS(2818),
    [anon_sym_DOT_DOT] = ACTIONS(2820),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2822),
    [anon_sym_and] = ACTIONS(2824),
    [anon_sym_or] = ACTIONS(2824),
    [anon_sym_PIPE_PIPE] = ACTIONS(2826),
    [anon_sym_AMP_AMP] = ACTIONS(2826),
    [anon_sym_LT_LT] = ACTIONS(2828),
    [anon_sym_GT_GT] = ACTIONS(2828),
    [anon_sym_EQ_EQ] = ACTIONS(2830),
    [anon_sym_BANG_EQ] = ACTIONS(2826),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2826),
    [anon_sym_LT_EQ_GT] = ACTIONS(2826),
    [anon_sym_EQ_TILDE] = ACTIONS(2826),
    [anon_sym_BANG_TILDE] = ACTIONS(2826),
    [anon_sym_LT_EQ] = ACTIONS(2816),
    [anon_sym_GT] = ACTIONS(2816),
    [anon_sym_GT_EQ] = ACTIONS(2832),
    [anon_sym_CARET] = ACTIONS(2834),
    [anon_sym_PLUS] = ACTIONS(2836),
    [anon_sym_SLASH] = ACTIONS(2812),
    [anon_sym_PERCENT] = ACTIONS(2812),
    [sym_comment] = ACTIONS(110),
  },
  [4559] = {
    [sym__simple_heredoc_body] = ACTIONS(7002),
    [sym__heredoc_body_beginning] = ACTIONS(7002),
    [sym__line_break] = ACTIONS(7002),
    [sym__binary_minus] = ACTIONS(2806),
    [sym__binary_star] = ACTIONS(2808),
    [anon_sym_end] = ACTIONS(7002),
    [anon_sym_PIPE] = ACTIONS(2810),
    [anon_sym_SEMI] = ACTIONS(7002),
    [anon_sym_STAR_STAR] = ACTIONS(2812),
    [anon_sym_AMP] = ACTIONS(2814),
    [anon_sym_LT] = ACTIONS(2816),
    [anon_sym_if] = ACTIONS(7002),
    [anon_sym_unless] = ACTIONS(7002),
    [anon_sym_while] = ACTIONS(7002),
    [anon_sym_until] = ACTIONS(7002),
    [anon_sym_rescue] = ACTIONS(7002),
    [anon_sym_else] = ACTIONS(7002),
    [anon_sym_ensure] = ACTIONS(7002),
    [anon_sym_QMARK] = ACTIONS(2818),
    [anon_sym_DOT_DOT] = ACTIONS(2820),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2822),
    [anon_sym_and] = ACTIONS(2824),
    [anon_sym_or] = ACTIONS(2824),
    [anon_sym_PIPE_PIPE] = ACTIONS(2826),
    [anon_sym_AMP_AMP] = ACTIONS(2826),
    [anon_sym_LT_LT] = ACTIONS(2828),
    [anon_sym_GT_GT] = ACTIONS(2828),
    [anon_sym_EQ_EQ] = ACTIONS(2830),
    [anon_sym_BANG_EQ] = ACTIONS(2826),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2826),
    [anon_sym_LT_EQ_GT] = ACTIONS(2826),
    [anon_sym_EQ_TILDE] = ACTIONS(2826),
    [anon_sym_BANG_TILDE] = ACTIONS(2826),
    [anon_sym_LT_EQ] = ACTIONS(2816),
    [anon_sym_GT] = ACTIONS(2816),
    [anon_sym_GT_EQ] = ACTIONS(2832),
    [anon_sym_CARET] = ACTIONS(2834),
    [anon_sym_PLUS] = ACTIONS(2836),
    [anon_sym_SLASH] = ACTIONS(2812),
    [anon_sym_PERCENT] = ACTIONS(2812),
    [sym_comment] = ACTIONS(110),
  },
  [4560] = {
    [sym__simple_heredoc_body] = ACTIONS(7004),
    [sym__heredoc_body_beginning] = ACTIONS(7004),
    [sym__line_break] = ACTIONS(7004),
    [sym__binary_minus] = ACTIONS(2806),
    [sym__binary_star] = ACTIONS(2808),
    [anon_sym_end] = ACTIONS(7004),
    [anon_sym_PIPE] = ACTIONS(2810),
    [anon_sym_SEMI] = ACTIONS(7004),
    [anon_sym_STAR_STAR] = ACTIONS(2812),
    [anon_sym_AMP] = ACTIONS(2814),
    [anon_sym_LT] = ACTIONS(2816),
    [anon_sym_if] = ACTIONS(7004),
    [anon_sym_unless] = ACTIONS(7004),
    [anon_sym_while] = ACTIONS(7004),
    [anon_sym_until] = ACTIONS(7004),
    [anon_sym_rescue] = ACTIONS(7004),
    [anon_sym_else] = ACTIONS(7004),
    [anon_sym_ensure] = ACTIONS(7004),
    [anon_sym_QMARK] = ACTIONS(2818),
    [anon_sym_DOT_DOT] = ACTIONS(2820),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2822),
    [anon_sym_and] = ACTIONS(2824),
    [anon_sym_or] = ACTIONS(2824),
    [anon_sym_PIPE_PIPE] = ACTIONS(2826),
    [anon_sym_AMP_AMP] = ACTIONS(2826),
    [anon_sym_LT_LT] = ACTIONS(2828),
    [anon_sym_GT_GT] = ACTIONS(2828),
    [anon_sym_EQ_EQ] = ACTIONS(2830),
    [anon_sym_BANG_EQ] = ACTIONS(2826),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2826),
    [anon_sym_LT_EQ_GT] = ACTIONS(2826),
    [anon_sym_EQ_TILDE] = ACTIONS(2826),
    [anon_sym_BANG_TILDE] = ACTIONS(2826),
    [anon_sym_LT_EQ] = ACTIONS(2816),
    [anon_sym_GT] = ACTIONS(2816),
    [anon_sym_GT_EQ] = ACTIONS(2832),
    [anon_sym_CARET] = ACTIONS(2834),
    [anon_sym_PLUS] = ACTIONS(2836),
    [anon_sym_SLASH] = ACTIONS(2812),
    [anon_sym_PERCENT] = ACTIONS(2812),
    [sym_comment] = ACTIONS(110),
  },
  [4561] = {
    [sym__simple_heredoc_body] = ACTIONS(7006),
    [sym__heredoc_body_beginning] = ACTIONS(7006),
    [sym__line_break] = ACTIONS(7006),
    [sym__binary_minus] = ACTIONS(2806),
    [sym__binary_star] = ACTIONS(2808),
    [anon_sym_end] = ACTIONS(7006),
    [anon_sym_PIPE] = ACTIONS(2810),
    [anon_sym_SEMI] = ACTIONS(7006),
    [anon_sym_STAR_STAR] = ACTIONS(2812),
    [anon_sym_AMP] = ACTIONS(2814),
    [anon_sym_LT] = ACTIONS(2816),
    [anon_sym_if] = ACTIONS(7006),
    [anon_sym_unless] = ACTIONS(7006),
    [anon_sym_while] = ACTIONS(7006),
    [anon_sym_until] = ACTIONS(7006),
    [anon_sym_rescue] = ACTIONS(7006),
    [anon_sym_else] = ACTIONS(7006),
    [anon_sym_ensure] = ACTIONS(7006),
    [anon_sym_QMARK] = ACTIONS(2818),
    [anon_sym_DOT_DOT] = ACTIONS(2820),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2822),
    [anon_sym_and] = ACTIONS(2824),
    [anon_sym_or] = ACTIONS(2824),
    [anon_sym_PIPE_PIPE] = ACTIONS(2826),
    [anon_sym_AMP_AMP] = ACTIONS(2826),
    [anon_sym_LT_LT] = ACTIONS(2828),
    [anon_sym_GT_GT] = ACTIONS(2828),
    [anon_sym_EQ_EQ] = ACTIONS(2830),
    [anon_sym_BANG_EQ] = ACTIONS(2826),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2826),
    [anon_sym_LT_EQ_GT] = ACTIONS(2826),
    [anon_sym_EQ_TILDE] = ACTIONS(2826),
    [anon_sym_BANG_TILDE] = ACTIONS(2826),
    [anon_sym_LT_EQ] = ACTIONS(2816),
    [anon_sym_GT] = ACTIONS(2816),
    [anon_sym_GT_EQ] = ACTIONS(2832),
    [anon_sym_CARET] = ACTIONS(2834),
    [anon_sym_PLUS] = ACTIONS(2836),
    [anon_sym_SLASH] = ACTIONS(2812),
    [anon_sym_PERCENT] = ACTIONS(2812),
    [sym_comment] = ACTIONS(110),
  },
  [4562] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__line_break] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(2808),
    [anon_sym_end] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_SEMI] = ACTIONS(7008),
    [anon_sym_STAR_STAR] = ACTIONS(2812),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_if] = ACTIONS(7008),
    [anon_sym_unless] = ACTIONS(7008),
    [anon_sym_while] = ACTIONS(7008),
    [anon_sym_until] = ACTIONS(7008),
    [anon_sym_rescue] = ACTIONS(7008),
    [anon_sym_else] = ACTIONS(7008),
    [anon_sym_ensure] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7008),
    [anon_sym_AMP_AMP] = ACTIONS(7008),
    [anon_sym_LT_LT] = ACTIONS(7008),
    [anon_sym_GT_GT] = ACTIONS(7008),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7008),
    [anon_sym_PLUS] = ACTIONS(7008),
    [anon_sym_SLASH] = ACTIONS(2812),
    [anon_sym_PERCENT] = ACTIONS(2812),
    [sym_comment] = ACTIONS(110),
  },
  [4563] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__line_break] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_end] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_SEMI] = ACTIONS(7012),
    [anon_sym_STAR_STAR] = ACTIONS(2812),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_if] = ACTIONS(7012),
    [anon_sym_unless] = ACTIONS(7012),
    [anon_sym_while] = ACTIONS(7012),
    [anon_sym_until] = ACTIONS(7012),
    [anon_sym_rescue] = ACTIONS(7012),
    [anon_sym_else] = ACTIONS(7012),
    [anon_sym_ensure] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7012),
    [anon_sym_AMP_AMP] = ACTIONS(7012),
    [anon_sym_LT_LT] = ACTIONS(7012),
    [anon_sym_GT_GT] = ACTIONS(7012),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7012),
    [anon_sym_PLUS] = ACTIONS(7012),
    [anon_sym_SLASH] = ACTIONS(7012),
    [anon_sym_PERCENT] = ACTIONS(7012),
    [sym_comment] = ACTIONS(110),
  },
  [4564] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(2806),
    [sym__binary_star] = ACTIONS(2808),
    [anon_sym_end] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(2812),
    [anon_sym_AMP] = ACTIONS(2814),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_else] = ACTIONS(7016),
    [anon_sym_ensure] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(2828),
    [anon_sym_GT_GT] = ACTIONS(2828),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(2836),
    [anon_sym_SLASH] = ACTIONS(2812),
    [anon_sym_PERCENT] = ACTIONS(2812),
    [sym_comment] = ACTIONS(110),
  },
  [4565] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_end] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(2812),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_else] = ACTIONS(7016),
    [anon_sym_ensure] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7016),
    [anon_sym_PERCENT] = ACTIONS(7016),
    [sym_comment] = ACTIONS(110),
  },
  [4566] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(2806),
    [sym__binary_star] = ACTIONS(2808),
    [anon_sym_end] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(2812),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_else] = ACTIONS(7016),
    [anon_sym_ensure] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(2828),
    [anon_sym_GT_GT] = ACTIONS(2828),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(2836),
    [anon_sym_SLASH] = ACTIONS(2812),
    [anon_sym_PERCENT] = ACTIONS(2812),
    [sym_comment] = ACTIONS(110),
  },
  [4567] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(2806),
    [sym__binary_star] = ACTIONS(2808),
    [anon_sym_end] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(2810),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(2812),
    [anon_sym_AMP] = ACTIONS(2814),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_else] = ACTIONS(7016),
    [anon_sym_ensure] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(2828),
    [anon_sym_GT_GT] = ACTIONS(2828),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(2834),
    [anon_sym_PLUS] = ACTIONS(2836),
    [anon_sym_SLASH] = ACTIONS(2812),
    [anon_sym_PERCENT] = ACTIONS(2812),
    [sym_comment] = ACTIONS(110),
  },
  [4568] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(10856),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [4569] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__line_break] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(2806),
    [sym__binary_star] = ACTIONS(2808),
    [anon_sym_end] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(2810),
    [anon_sym_SEMI] = ACTIONS(7108),
    [anon_sym_STAR_STAR] = ACTIONS(2812),
    [anon_sym_AMP] = ACTIONS(2814),
    [anon_sym_LT] = ACTIONS(2816),
    [anon_sym_if] = ACTIONS(7108),
    [anon_sym_unless] = ACTIONS(7108),
    [anon_sym_while] = ACTIONS(7108),
    [anon_sym_until] = ACTIONS(7108),
    [anon_sym_rescue] = ACTIONS(7108),
    [anon_sym_else] = ACTIONS(7108),
    [anon_sym_ensure] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(2820),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2822),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(2826),
    [anon_sym_AMP_AMP] = ACTIONS(2826),
    [anon_sym_LT_LT] = ACTIONS(2828),
    [anon_sym_GT_GT] = ACTIONS(2828),
    [anon_sym_EQ_EQ] = ACTIONS(2830),
    [anon_sym_BANG_EQ] = ACTIONS(2826),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2826),
    [anon_sym_LT_EQ_GT] = ACTIONS(2826),
    [anon_sym_EQ_TILDE] = ACTIONS(2826),
    [anon_sym_BANG_TILDE] = ACTIONS(2826),
    [anon_sym_LT_EQ] = ACTIONS(2816),
    [anon_sym_GT] = ACTIONS(2816),
    [anon_sym_GT_EQ] = ACTIONS(2832),
    [anon_sym_CARET] = ACTIONS(2834),
    [anon_sym_PLUS] = ACTIONS(2836),
    [anon_sym_SLASH] = ACTIONS(2812),
    [anon_sym_PERCENT] = ACTIONS(2812),
    [sym_comment] = ACTIONS(110),
  },
  [4570] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(2806),
    [sym__binary_star] = ACTIONS(2808),
    [anon_sym_end] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(2810),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(2812),
    [anon_sym_AMP] = ACTIONS(2814),
    [anon_sym_LT] = ACTIONS(2816),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_else] = ACTIONS(7016),
    [anon_sym_ensure] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(2818),
    [anon_sym_DOT_DOT] = ACTIONS(2820),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2822),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(2826),
    [anon_sym_AMP_AMP] = ACTIONS(2826),
    [anon_sym_LT_LT] = ACTIONS(2828),
    [anon_sym_GT_GT] = ACTIONS(2828),
    [anon_sym_EQ_EQ] = ACTIONS(2830),
    [anon_sym_BANG_EQ] = ACTIONS(2826),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2826),
    [anon_sym_LT_EQ_GT] = ACTIONS(2826),
    [anon_sym_EQ_TILDE] = ACTIONS(2826),
    [anon_sym_BANG_TILDE] = ACTIONS(2826),
    [anon_sym_LT_EQ] = ACTIONS(2816),
    [anon_sym_GT] = ACTIONS(2816),
    [anon_sym_GT_EQ] = ACTIONS(2832),
    [anon_sym_CARET] = ACTIONS(2834),
    [anon_sym_PLUS] = ACTIONS(2836),
    [anon_sym_SLASH] = ACTIONS(2812),
    [anon_sym_PERCENT] = ACTIONS(2812),
    [sym_comment] = ACTIONS(110),
  },
  [4571] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(2806),
    [sym__binary_star] = ACTIONS(2808),
    [anon_sym_end] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(2810),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(2812),
    [anon_sym_AMP] = ACTIONS(2814),
    [anon_sym_LT] = ACTIONS(2816),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_else] = ACTIONS(7016),
    [anon_sym_ensure] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(2828),
    [anon_sym_GT_GT] = ACTIONS(2828),
    [anon_sym_EQ_EQ] = ACTIONS(2830),
    [anon_sym_BANG_EQ] = ACTIONS(2826),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2826),
    [anon_sym_LT_EQ_GT] = ACTIONS(2826),
    [anon_sym_EQ_TILDE] = ACTIONS(2826),
    [anon_sym_BANG_TILDE] = ACTIONS(2826),
    [anon_sym_LT_EQ] = ACTIONS(2816),
    [anon_sym_GT] = ACTIONS(2816),
    [anon_sym_GT_EQ] = ACTIONS(2832),
    [anon_sym_CARET] = ACTIONS(2834),
    [anon_sym_PLUS] = ACTIONS(2836),
    [anon_sym_SLASH] = ACTIONS(2812),
    [anon_sym_PERCENT] = ACTIONS(2812),
    [sym_comment] = ACTIONS(110),
  },
  [4572] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(2806),
    [sym__binary_star] = ACTIONS(2808),
    [anon_sym_end] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(2812),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_else] = ACTIONS(7016),
    [anon_sym_ensure] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(2836),
    [anon_sym_SLASH] = ACTIONS(2812),
    [anon_sym_PERCENT] = ACTIONS(2812),
    [sym_comment] = ACTIONS(110),
  },
  [4573] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(2808),
    [anon_sym_end] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(2812),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_else] = ACTIONS(7016),
    [anon_sym_ensure] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(2812),
    [anon_sym_PERCENT] = ACTIONS(2812),
    [sym_comment] = ACTIONS(110),
  },
  [4574] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(7980),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(4583),
    [sym_call] = STATE(4583),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4584),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4585),
    [sym__variable] = STATE(4583),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(6604),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(6606),
    [anon_sym_yield] = ACTIONS(6608),
    [anon_sym_break] = ACTIONS(6610),
    [anon_sym_next] = ACTIONS(6612),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(6614),
    [anon_sym_defined_QMARK] = ACTIONS(6616),
    [anon_sym_not] = ACTIONS(6618),
    [anon_sym_BANG] = ACTIONS(6620),
    [anon_sym_TILDE] = ACTIONS(6620),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [4575] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1811),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1812),
    [sym_call] = STATE(1812),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(4940),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(1813),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1814),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1815),
    [sym__variable] = STATE(1812),
    [sym_reserved_identifier] = STATE(1816),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1817),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(2838),
    [sym__splat_star] = ACTIONS(2840),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(2842),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(544),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(544),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2844),
    [anon_sym_yield] = ACTIONS(2846),
    [anon_sym_break] = ACTIONS(2848),
    [anon_sym_next] = ACTIONS(2850),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(544),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(544),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_PLUS_EQ] = ACTIONS(532),
    [anon_sym_DASH_EQ] = ACTIONS(532),
    [anon_sym_STAR_EQ] = ACTIONS(532),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(532),
    [anon_sym_SLASH_EQ] = ACTIONS(532),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(532),
    [anon_sym_PIPE_EQ] = ACTIONS(532),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(532),
    [anon_sym_AMP_EQ] = ACTIONS(532),
    [anon_sym_PERCENT_EQ] = ACTIONS(532),
    [anon_sym_GT_GT_EQ] = ACTIONS(532),
    [anon_sym_LT_LT_EQ] = ACTIONS(532),
    [anon_sym_CARET_EQ] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(544),
    [anon_sym_AMP_AMP] = ACTIONS(544),
    [anon_sym_LT_LT] = ACTIONS(544),
    [anon_sym_GT_GT] = ACTIONS(544),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(544),
    [anon_sym_PERCENT] = ACTIONS(544),
    [anon_sym_defined_QMARK] = ACTIONS(2852),
    [anon_sym_not] = ACTIONS(2854),
    [anon_sym_BANG] = ACTIONS(2856),
    [anon_sym_TILDE] = ACTIONS(2858),
    [sym_constant] = ACTIONS(2860),
    [sym_identifier] = ACTIONS(2860),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4576] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1811),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1812),
    [sym_call] = STATE(1812),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(4941),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(1813),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1814),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1815),
    [sym__variable] = STATE(1812),
    [sym_reserved_identifier] = STATE(1816),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1817),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(2838),
    [sym__splat_star] = ACTIONS(2840),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(2842),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(604),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(604),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2844),
    [anon_sym_yield] = ACTIONS(2846),
    [anon_sym_break] = ACTIONS(2848),
    [anon_sym_next] = ACTIONS(2850),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(604),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(604),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_PLUS_EQ] = ACTIONS(602),
    [anon_sym_DASH_EQ] = ACTIONS(602),
    [anon_sym_STAR_EQ] = ACTIONS(602),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(602),
    [anon_sym_SLASH_EQ] = ACTIONS(602),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(602),
    [anon_sym_PIPE_EQ] = ACTIONS(602),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(602),
    [anon_sym_AMP_EQ] = ACTIONS(602),
    [anon_sym_PERCENT_EQ] = ACTIONS(602),
    [anon_sym_GT_GT_EQ] = ACTIONS(602),
    [anon_sym_LT_LT_EQ] = ACTIONS(602),
    [anon_sym_CARET_EQ] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(604),
    [anon_sym_AMP_AMP] = ACTIONS(604),
    [anon_sym_LT_LT] = ACTIONS(604),
    [anon_sym_GT_GT] = ACTIONS(604),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(604),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(604),
    [anon_sym_PERCENT] = ACTIONS(604),
    [anon_sym_defined_QMARK] = ACTIONS(2852),
    [anon_sym_not] = ACTIONS(2854),
    [anon_sym_BANG] = ACTIONS(2856),
    [anon_sym_TILDE] = ACTIONS(2858),
    [sym_constant] = ACTIONS(2860),
    [sym_identifier] = ACTIONS(2860),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4577] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1811),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1812),
    [sym_call] = STATE(1812),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(4942),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(1813),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1814),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1815),
    [sym__variable] = STATE(1812),
    [sym_reserved_identifier] = STATE(1816),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1817),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(2838),
    [sym__splat_star] = ACTIONS(2840),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(2842),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(608),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(608),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2844),
    [anon_sym_yield] = ACTIONS(2846),
    [anon_sym_break] = ACTIONS(2848),
    [anon_sym_next] = ACTIONS(2850),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(608),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(608),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_PLUS_EQ] = ACTIONS(606),
    [anon_sym_DASH_EQ] = ACTIONS(606),
    [anon_sym_STAR_EQ] = ACTIONS(606),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(606),
    [anon_sym_SLASH_EQ] = ACTIONS(606),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(606),
    [anon_sym_PIPE_EQ] = ACTIONS(606),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(606),
    [anon_sym_AMP_EQ] = ACTIONS(606),
    [anon_sym_PERCENT_EQ] = ACTIONS(606),
    [anon_sym_GT_GT_EQ] = ACTIONS(606),
    [anon_sym_LT_LT_EQ] = ACTIONS(606),
    [anon_sym_CARET_EQ] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(608),
    [anon_sym_AMP_AMP] = ACTIONS(608),
    [anon_sym_LT_LT] = ACTIONS(608),
    [anon_sym_GT_GT] = ACTIONS(608),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(608),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(608),
    [anon_sym_PERCENT] = ACTIONS(608),
    [anon_sym_defined_QMARK] = ACTIONS(2852),
    [anon_sym_not] = ACTIONS(2854),
    [anon_sym_BANG] = ACTIONS(2856),
    [anon_sym_TILDE] = ACTIONS(2858),
    [sym_constant] = ACTIONS(2860),
    [sym_identifier] = ACTIONS(2860),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4578] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1811),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1812),
    [sym_call] = STATE(1812),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(4943),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(1813),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1814),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1815),
    [sym__variable] = STATE(1812),
    [sym_reserved_identifier] = STATE(1816),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1817),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(2838),
    [sym__splat_star] = ACTIONS(2840),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(2842),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(612),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(612),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2844),
    [anon_sym_yield] = ACTIONS(2846),
    [anon_sym_break] = ACTIONS(2848),
    [anon_sym_next] = ACTIONS(2850),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(612),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(612),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_PLUS_EQ] = ACTIONS(610),
    [anon_sym_DASH_EQ] = ACTIONS(610),
    [anon_sym_STAR_EQ] = ACTIONS(610),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(610),
    [anon_sym_SLASH_EQ] = ACTIONS(610),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(610),
    [anon_sym_PIPE_EQ] = ACTIONS(610),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(610),
    [anon_sym_AMP_EQ] = ACTIONS(610),
    [anon_sym_PERCENT_EQ] = ACTIONS(610),
    [anon_sym_GT_GT_EQ] = ACTIONS(610),
    [anon_sym_LT_LT_EQ] = ACTIONS(610),
    [anon_sym_CARET_EQ] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(612),
    [anon_sym_AMP_AMP] = ACTIONS(612),
    [anon_sym_LT_LT] = ACTIONS(612),
    [anon_sym_GT_GT] = ACTIONS(612),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(612),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(612),
    [anon_sym_PERCENT] = ACTIONS(612),
    [anon_sym_defined_QMARK] = ACTIONS(2852),
    [anon_sym_not] = ACTIONS(2854),
    [anon_sym_BANG] = ACTIONS(2856),
    [anon_sym_TILDE] = ACTIONS(2858),
    [sym_constant] = ACTIONS(2860),
    [sym_identifier] = ACTIONS(2860),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4579] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(7981),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(4583),
    [sym_call] = STATE(4583),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4584),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4585),
    [sym__variable] = STATE(4583),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(6604),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(6606),
    [anon_sym_yield] = ACTIONS(6608),
    [anon_sym_break] = ACTIONS(6610),
    [anon_sym_next] = ACTIONS(6612),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(6614),
    [anon_sym_defined_QMARK] = ACTIONS(6616),
    [anon_sym_not] = ACTIONS(6618),
    [anon_sym_BANG] = ACTIONS(6620),
    [anon_sym_TILDE] = ACTIONS(6620),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [4580] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(7982),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(4583),
    [sym_call] = STATE(4583),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4584),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4585),
    [sym__variable] = STATE(4583),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(6604),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(6606),
    [anon_sym_yield] = ACTIONS(6608),
    [anon_sym_break] = ACTIONS(6610),
    [anon_sym_next] = ACTIONS(6612),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(6614),
    [anon_sym_defined_QMARK] = ACTIONS(6616),
    [anon_sym_not] = ACTIONS(6618),
    [anon_sym_BANG] = ACTIONS(6620),
    [anon_sym_TILDE] = ACTIONS(6620),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [4581] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(4957),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(4583),
    [sym_call] = STATE(4583),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4584),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4585),
    [sym__variable] = STATE(4583),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(6604),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(6606),
    [anon_sym_yield] = ACTIONS(6608),
    [anon_sym_break] = ACTIONS(6610),
    [anon_sym_next] = ACTIONS(6612),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(6614),
    [anon_sym_defined_QMARK] = ACTIONS(6616),
    [anon_sym_not] = ACTIONS(6618),
    [anon_sym_BANG] = ACTIONS(6620),
    [anon_sym_TILDE] = ACTIONS(6620),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [4582] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__line_break] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(10858),
    [sym__binary_star] = ACTIONS(10860),
    [anon_sym_LBRACE] = ACTIONS(5298),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_end] = ACTIONS(5298),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(10862),
    [anon_sym_SEMI] = ACTIONS(5298),
    [anon_sym_STAR_STAR] = ACTIONS(10864),
    [anon_sym_AMP] = ACTIONS(10866),
    [anon_sym_EQ] = ACTIONS(5304),
    [anon_sym_LT] = ACTIONS(10868),
    [anon_sym_if] = ACTIONS(5298),
    [anon_sym_unless] = ACTIONS(5298),
    [anon_sym_while] = ACTIONS(5298),
    [anon_sym_until] = ACTIONS(5298),
    [anon_sym_rescue] = ACTIONS(5298),
    [anon_sym_do] = ACTIONS(5298),
    [anon_sym_else] = ACTIONS(5298),
    [anon_sym_ensure] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_PLUS_EQ] = ACTIONS(5298),
    [anon_sym_DASH_EQ] = ACTIONS(5298),
    [anon_sym_STAR_EQ] = ACTIONS(5298),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5298),
    [anon_sym_SLASH_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5298),
    [anon_sym_AMP_EQ] = ACTIONS(5298),
    [anon_sym_PERCENT_EQ] = ACTIONS(5298),
    [anon_sym_GT_GT_EQ] = ACTIONS(5298),
    [anon_sym_LT_LT_EQ] = ACTIONS(5298),
    [anon_sym_CARET_EQ] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(10870),
    [anon_sym_DOT_DOT] = ACTIONS(10872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10874),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(10876),
    [anon_sym_AMP_AMP] = ACTIONS(10876),
    [anon_sym_LT_LT] = ACTIONS(10878),
    [anon_sym_GT_GT] = ACTIONS(10878),
    [anon_sym_EQ_EQ] = ACTIONS(10876),
    [anon_sym_BANG_EQ] = ACTIONS(10880),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10880),
    [anon_sym_LT_EQ_GT] = ACTIONS(10880),
    [anon_sym_EQ_TILDE] = ACTIONS(10880),
    [anon_sym_BANG_TILDE] = ACTIONS(10880),
    [anon_sym_LT_EQ] = ACTIONS(10868),
    [anon_sym_GT] = ACTIONS(10868),
    [anon_sym_GT_EQ] = ACTIONS(10882),
    [anon_sym_CARET] = ACTIONS(10862),
    [anon_sym_PLUS] = ACTIONS(10884),
    [anon_sym_SLASH] = ACTIONS(10864),
    [anon_sym_PERCENT] = ACTIONS(10864),
    [sym_comment] = ACTIONS(256),
  },
  [4583] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1811),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1812),
    [sym_call] = STATE(1812),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(1579),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(1813),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_do_block] = STATE(602),
    [sym_block] = STATE(602),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1814),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1815),
    [sym__variable] = STATE(1812),
    [sym_reserved_identifier] = STATE(1816),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1817),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(2838),
    [sym__splat_star] = ACTIONS(2840),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(2842),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(1014),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(982),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2844),
    [anon_sym_yield] = ACTIONS(2846),
    [anon_sym_break] = ACTIONS(2848),
    [anon_sym_next] = ACTIONS(2850),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(982),
    [anon_sym_unless] = ACTIONS(982),
    [anon_sym_while] = ACTIONS(982),
    [anon_sym_until] = ACTIONS(982),
    [anon_sym_rescue] = ACTIONS(982),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(982),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(982),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(982),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(2852),
    [anon_sym_not] = ACTIONS(2854),
    [anon_sym_BANG] = ACTIONS(2856),
    [anon_sym_TILDE] = ACTIONS(2858),
    [sym_constant] = ACTIONS(2860),
    [sym_identifier] = ACTIONS(2860),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4584] = {
    [anon_sym_EQ] = ACTIONS(10886),
    [sym_comment] = ACTIONS(256),
  },
  [4585] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_end] = ACTIONS(250),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(10888),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_else] = ACTIONS(250),
    [anon_sym_ensure] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(10890),
    [anon_sym_DASH_EQ] = ACTIONS(10890),
    [anon_sym_STAR_EQ] = ACTIONS(10890),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(10890),
    [anon_sym_SLASH_EQ] = ACTIONS(10890),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(10890),
    [anon_sym_PIPE_EQ] = ACTIONS(10890),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(10890),
    [anon_sym_AMP_EQ] = ACTIONS(10890),
    [anon_sym_PERCENT_EQ] = ACTIONS(10890),
    [anon_sym_GT_GT_EQ] = ACTIONS(10890),
    [anon_sym_LT_LT_EQ] = ACTIONS(10890),
    [anon_sym_CARET_EQ] = ACTIONS(10890),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [4586] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__line_break] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(10858),
    [sym__binary_star] = ACTIONS(10860),
    [anon_sym_LBRACE] = ACTIONS(5338),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_end] = ACTIONS(5338),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(10862),
    [anon_sym_SEMI] = ACTIONS(5338),
    [anon_sym_STAR_STAR] = ACTIONS(10864),
    [anon_sym_AMP] = ACTIONS(10866),
    [anon_sym_EQ] = ACTIONS(5340),
    [anon_sym_LT] = ACTIONS(10868),
    [anon_sym_if] = ACTIONS(5338),
    [anon_sym_unless] = ACTIONS(5338),
    [anon_sym_while] = ACTIONS(5338),
    [anon_sym_until] = ACTIONS(5338),
    [anon_sym_rescue] = ACTIONS(5338),
    [anon_sym_do] = ACTIONS(5338),
    [anon_sym_else] = ACTIONS(5338),
    [anon_sym_ensure] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_PLUS_EQ] = ACTIONS(5338),
    [anon_sym_DASH_EQ] = ACTIONS(5338),
    [anon_sym_STAR_EQ] = ACTIONS(5338),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5338),
    [anon_sym_SLASH_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5338),
    [anon_sym_AMP_EQ] = ACTIONS(5338),
    [anon_sym_PERCENT_EQ] = ACTIONS(5338),
    [anon_sym_GT_GT_EQ] = ACTIONS(5338),
    [anon_sym_LT_LT_EQ] = ACTIONS(5338),
    [anon_sym_CARET_EQ] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(10870),
    [anon_sym_DOT_DOT] = ACTIONS(10872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10874),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(10876),
    [anon_sym_AMP_AMP] = ACTIONS(10876),
    [anon_sym_LT_LT] = ACTIONS(10878),
    [anon_sym_GT_GT] = ACTIONS(10878),
    [anon_sym_EQ_EQ] = ACTIONS(10876),
    [anon_sym_BANG_EQ] = ACTIONS(10880),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10880),
    [anon_sym_LT_EQ_GT] = ACTIONS(10880),
    [anon_sym_EQ_TILDE] = ACTIONS(10880),
    [anon_sym_BANG_TILDE] = ACTIONS(10880),
    [anon_sym_LT_EQ] = ACTIONS(10868),
    [anon_sym_GT] = ACTIONS(10868),
    [anon_sym_GT_EQ] = ACTIONS(10882),
    [anon_sym_CARET] = ACTIONS(10862),
    [anon_sym_PLUS] = ACTIONS(10884),
    [anon_sym_SLASH] = ACTIONS(10864),
    [anon_sym_PERCENT] = ACTIONS(10864),
    [sym_comment] = ACTIONS(256),
  },
  [4587] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4361),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1812),
    [sym_call] = STATE(1812),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2147),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(4362),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1814),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1815),
    [sym__variable] = STATE(1812),
    [sym_reserved_identifier] = STATE(4363),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(4364),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(6306),
    [sym__splat_star] = ACTIONS(6308),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(2842),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(544),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(544),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2844),
    [anon_sym_yield] = ACTIONS(2846),
    [anon_sym_break] = ACTIONS(2848),
    [anon_sym_next] = ACTIONS(2850),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(544),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(544),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_PLUS_EQ] = ACTIONS(532),
    [anon_sym_DASH_EQ] = ACTIONS(532),
    [anon_sym_STAR_EQ] = ACTIONS(532),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(532),
    [anon_sym_SLASH_EQ] = ACTIONS(532),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(532),
    [anon_sym_PIPE_EQ] = ACTIONS(532),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(532),
    [anon_sym_AMP_EQ] = ACTIONS(532),
    [anon_sym_PERCENT_EQ] = ACTIONS(532),
    [anon_sym_GT_GT_EQ] = ACTIONS(532),
    [anon_sym_LT_LT_EQ] = ACTIONS(532),
    [anon_sym_CARET_EQ] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(544),
    [anon_sym_AMP_AMP] = ACTIONS(544),
    [anon_sym_LT_LT] = ACTIONS(544),
    [anon_sym_GT_GT] = ACTIONS(544),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(544),
    [anon_sym_PERCENT] = ACTIONS(544),
    [anon_sym_defined_QMARK] = ACTIONS(2852),
    [anon_sym_not] = ACTIONS(2854),
    [anon_sym_BANG] = ACTIONS(2856),
    [anon_sym_TILDE] = ACTIONS(2858),
    [sym_constant] = ACTIONS(6310),
    [sym_identifier] = ACTIONS(6310),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4588] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4361),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1812),
    [sym_call] = STATE(1812),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2148),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(4362),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1814),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1815),
    [sym__variable] = STATE(1812),
    [sym_reserved_identifier] = STATE(4363),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(4364),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(6306),
    [sym__splat_star] = ACTIONS(6308),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(2842),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(604),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(604),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2844),
    [anon_sym_yield] = ACTIONS(2846),
    [anon_sym_break] = ACTIONS(2848),
    [anon_sym_next] = ACTIONS(2850),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(604),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(604),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_PLUS_EQ] = ACTIONS(602),
    [anon_sym_DASH_EQ] = ACTIONS(602),
    [anon_sym_STAR_EQ] = ACTIONS(602),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(602),
    [anon_sym_SLASH_EQ] = ACTIONS(602),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(602),
    [anon_sym_PIPE_EQ] = ACTIONS(602),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(602),
    [anon_sym_AMP_EQ] = ACTIONS(602),
    [anon_sym_PERCENT_EQ] = ACTIONS(602),
    [anon_sym_GT_GT_EQ] = ACTIONS(602),
    [anon_sym_LT_LT_EQ] = ACTIONS(602),
    [anon_sym_CARET_EQ] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(604),
    [anon_sym_AMP_AMP] = ACTIONS(604),
    [anon_sym_LT_LT] = ACTIONS(604),
    [anon_sym_GT_GT] = ACTIONS(604),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(604),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(604),
    [anon_sym_PERCENT] = ACTIONS(604),
    [anon_sym_defined_QMARK] = ACTIONS(2852),
    [anon_sym_not] = ACTIONS(2854),
    [anon_sym_BANG] = ACTIONS(2856),
    [anon_sym_TILDE] = ACTIONS(2858),
    [sym_constant] = ACTIONS(6310),
    [sym_identifier] = ACTIONS(6310),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4589] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4361),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1812),
    [sym_call] = STATE(1812),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2149),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(4362),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1814),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1815),
    [sym__variable] = STATE(1812),
    [sym_reserved_identifier] = STATE(4363),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(4364),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(6306),
    [sym__splat_star] = ACTIONS(6308),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(2842),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(608),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(608),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2844),
    [anon_sym_yield] = ACTIONS(2846),
    [anon_sym_break] = ACTIONS(2848),
    [anon_sym_next] = ACTIONS(2850),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(608),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(608),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_PLUS_EQ] = ACTIONS(606),
    [anon_sym_DASH_EQ] = ACTIONS(606),
    [anon_sym_STAR_EQ] = ACTIONS(606),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(606),
    [anon_sym_SLASH_EQ] = ACTIONS(606),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(606),
    [anon_sym_PIPE_EQ] = ACTIONS(606),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(606),
    [anon_sym_AMP_EQ] = ACTIONS(606),
    [anon_sym_PERCENT_EQ] = ACTIONS(606),
    [anon_sym_GT_GT_EQ] = ACTIONS(606),
    [anon_sym_LT_LT_EQ] = ACTIONS(606),
    [anon_sym_CARET_EQ] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(608),
    [anon_sym_AMP_AMP] = ACTIONS(608),
    [anon_sym_LT_LT] = ACTIONS(608),
    [anon_sym_GT_GT] = ACTIONS(608),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(608),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(608),
    [anon_sym_PERCENT] = ACTIONS(608),
    [anon_sym_defined_QMARK] = ACTIONS(2852),
    [anon_sym_not] = ACTIONS(2854),
    [anon_sym_BANG] = ACTIONS(2856),
    [anon_sym_TILDE] = ACTIONS(2858),
    [sym_constant] = ACTIONS(6310),
    [sym_identifier] = ACTIONS(6310),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4590] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4361),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1812),
    [sym_call] = STATE(1812),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2150),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(4362),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1814),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1815),
    [sym__variable] = STATE(1812),
    [sym_reserved_identifier] = STATE(4363),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(4364),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(6306),
    [sym__splat_star] = ACTIONS(6308),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(2842),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(612),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(612),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2844),
    [anon_sym_yield] = ACTIONS(2846),
    [anon_sym_break] = ACTIONS(2848),
    [anon_sym_next] = ACTIONS(2850),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(612),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(612),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_PLUS_EQ] = ACTIONS(610),
    [anon_sym_DASH_EQ] = ACTIONS(610),
    [anon_sym_STAR_EQ] = ACTIONS(610),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(610),
    [anon_sym_SLASH_EQ] = ACTIONS(610),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(610),
    [anon_sym_PIPE_EQ] = ACTIONS(610),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(610),
    [anon_sym_AMP_EQ] = ACTIONS(610),
    [anon_sym_PERCENT_EQ] = ACTIONS(610),
    [anon_sym_GT_GT_EQ] = ACTIONS(610),
    [anon_sym_LT_LT_EQ] = ACTIONS(610),
    [anon_sym_CARET_EQ] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(612),
    [anon_sym_AMP_AMP] = ACTIONS(612),
    [anon_sym_LT_LT] = ACTIONS(612),
    [anon_sym_GT_GT] = ACTIONS(612),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(612),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(612),
    [anon_sym_PERCENT] = ACTIONS(612),
    [anon_sym_defined_QMARK] = ACTIONS(2852),
    [anon_sym_not] = ACTIONS(2854),
    [anon_sym_BANG] = ACTIONS(2856),
    [anon_sym_TILDE] = ACTIONS(2858),
    [sym_constant] = ACTIONS(6310),
    [sym_identifier] = ACTIONS(6310),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4591] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_LBRACE] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_end] = ACTIONS(1372),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(6642),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_EQ] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_if] = ACTIONS(1372),
    [anon_sym_unless] = ACTIONS(1372),
    [anon_sym_while] = ACTIONS(1372),
    [anon_sym_until] = ACTIONS(1372),
    [anon_sym_rescue] = ACTIONS(1372),
    [anon_sym_do] = ACTIONS(1372),
    [anon_sym_else] = ACTIONS(1372),
    [anon_sym_ensure] = ACTIONS(1372),
    [anon_sym_EQ_GT] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_PLUS_EQ] = ACTIONS(1372),
    [anon_sym_DASH_EQ] = ACTIONS(1372),
    [anon_sym_STAR_EQ] = ACTIONS(1372),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1372),
    [anon_sym_SLASH_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1372),
    [anon_sym_AMP_EQ] = ACTIONS(1372),
    [anon_sym_PERCENT_EQ] = ACTIONS(1372),
    [anon_sym_GT_GT_EQ] = ACTIONS(1372),
    [anon_sym_LT_LT_EQ] = ACTIONS(1372),
    [anon_sym_CARET_EQ] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1374),
    [anon_sym_AMP_AMP] = ACTIONS(1374),
    [anon_sym_LT_LT] = ACTIONS(1374),
    [anon_sym_GT_GT] = ACTIONS(1374),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1374),
    [anon_sym_PLUS] = ACTIONS(1374),
    [anon_sym_SLASH] = ACTIONS(1374),
    [anon_sym_PERCENT] = ACTIONS(1374),
    [sym_comment] = ACTIONS(256),
  },
  [4592] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__line_break] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(10858),
    [sym__binary_star] = ACTIONS(10860),
    [anon_sym_LBRACE] = ACTIONS(4284),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_end] = ACTIONS(4284),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(10862),
    [anon_sym_SEMI] = ACTIONS(4284),
    [anon_sym_STAR_STAR] = ACTIONS(10864),
    [anon_sym_AMP] = ACTIONS(10866),
    [anon_sym_EQ] = ACTIONS(5432),
    [anon_sym_LT] = ACTIONS(10868),
    [anon_sym_if] = ACTIONS(4284),
    [anon_sym_unless] = ACTIONS(4284),
    [anon_sym_while] = ACTIONS(4284),
    [anon_sym_until] = ACTIONS(4284),
    [anon_sym_rescue] = ACTIONS(4284),
    [anon_sym_do] = ACTIONS(4284),
    [anon_sym_else] = ACTIONS(4284),
    [anon_sym_ensure] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_PLUS_EQ] = ACTIONS(4284),
    [anon_sym_DASH_EQ] = ACTIONS(4284),
    [anon_sym_STAR_EQ] = ACTIONS(4284),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(4284),
    [anon_sym_SLASH_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(4284),
    [anon_sym_AMP_EQ] = ACTIONS(4284),
    [anon_sym_PERCENT_EQ] = ACTIONS(4284),
    [anon_sym_GT_GT_EQ] = ACTIONS(4284),
    [anon_sym_LT_LT_EQ] = ACTIONS(4284),
    [anon_sym_CARET_EQ] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(10870),
    [anon_sym_DOT_DOT] = ACTIONS(10872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10874),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(10876),
    [anon_sym_AMP_AMP] = ACTIONS(10876),
    [anon_sym_LT_LT] = ACTIONS(10878),
    [anon_sym_GT_GT] = ACTIONS(10878),
    [anon_sym_EQ_EQ] = ACTIONS(10876),
    [anon_sym_BANG_EQ] = ACTIONS(10880),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10880),
    [anon_sym_LT_EQ_GT] = ACTIONS(10880),
    [anon_sym_EQ_TILDE] = ACTIONS(10880),
    [anon_sym_BANG_TILDE] = ACTIONS(10880),
    [anon_sym_LT_EQ] = ACTIONS(10868),
    [anon_sym_GT] = ACTIONS(10868),
    [anon_sym_GT_EQ] = ACTIONS(10882),
    [anon_sym_CARET] = ACTIONS(10862),
    [anon_sym_PLUS] = ACTIONS(10884),
    [anon_sym_SLASH] = ACTIONS(10864),
    [anon_sym_PERCENT] = ACTIONS(10864),
    [sym_comment] = ACTIONS(256),
  },
  [4593] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_end] = ACTIONS(2870),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(6642),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_else] = ACTIONS(2870),
    [anon_sym_ensure] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2872),
    [anon_sym_AMP_AMP] = ACTIONS(2872),
    [anon_sym_LT_LT] = ACTIONS(2872),
    [anon_sym_GT_GT] = ACTIONS(2872),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2872),
    [anon_sym_PLUS] = ACTIONS(2872),
    [anon_sym_SLASH] = ACTIONS(2872),
    [anon_sym_PERCENT] = ACTIONS(2872),
    [sym_comment] = ACTIONS(256),
  },
  [4594] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(6636),
    [sym__binary_star] = ACTIONS(6638),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_end] = ACTIONS(2870),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(6640),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(6642),
    [anon_sym_AMP] = ACTIONS(6644),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(6646),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_else] = ACTIONS(2870),
    [anon_sym_ensure] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(6648),
    [anon_sym_DOT_DOT] = ACTIONS(6650),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6652),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(6654),
    [anon_sym_AMP_AMP] = ACTIONS(6654),
    [anon_sym_LT_LT] = ACTIONS(6656),
    [anon_sym_GT_GT] = ACTIONS(6656),
    [anon_sym_EQ_EQ] = ACTIONS(6654),
    [anon_sym_BANG_EQ] = ACTIONS(6658),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6658),
    [anon_sym_LT_EQ_GT] = ACTIONS(6658),
    [anon_sym_EQ_TILDE] = ACTIONS(6658),
    [anon_sym_BANG_TILDE] = ACTIONS(6658),
    [anon_sym_LT_EQ] = ACTIONS(6646),
    [anon_sym_GT] = ACTIONS(6646),
    [anon_sym_GT_EQ] = ACTIONS(6660),
    [anon_sym_CARET] = ACTIONS(6640),
    [anon_sym_PLUS] = ACTIONS(6662),
    [anon_sym_SLASH] = ACTIONS(6642),
    [anon_sym_PERCENT] = ACTIONS(6642),
    [sym_comment] = ACTIONS(256),
  },
  [4595] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(7997),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(4583),
    [sym_call] = STATE(4583),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4584),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4585),
    [sym__variable] = STATE(4583),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(6604),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(6606),
    [anon_sym_yield] = ACTIONS(6608),
    [anon_sym_break] = ACTIONS(6610),
    [anon_sym_next] = ACTIONS(6612),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(6614),
    [anon_sym_defined_QMARK] = ACTIONS(6616),
    [anon_sym_not] = ACTIONS(6618),
    [anon_sym_BANG] = ACTIONS(6620),
    [anon_sym_TILDE] = ACTIONS(6620),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [4596] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7998),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1812),
    [sym_call] = STATE(1812),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1814),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1815),
    [sym__variable] = STATE(1812),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2842),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(6622),
    [anon_sym_yield] = ACTIONS(6624),
    [anon_sym_break] = ACTIONS(6626),
    [anon_sym_next] = ACTIONS(6628),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(6630),
    [anon_sym_defined_QMARK] = ACTIONS(2852),
    [anon_sym_not] = ACTIONS(6632),
    [anon_sym_BANG] = ACTIONS(2858),
    [anon_sym_TILDE] = ACTIONS(2858),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4597] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7999),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1812),
    [sym_call] = STATE(1812),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1814),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1815),
    [sym__variable] = STATE(1812),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2842),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(6622),
    [anon_sym_yield] = ACTIONS(6624),
    [anon_sym_break] = ACTIONS(6626),
    [anon_sym_next] = ACTIONS(6628),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(6630),
    [anon_sym_defined_QMARK] = ACTIONS(2852),
    [anon_sym_not] = ACTIONS(6632),
    [anon_sym_BANG] = ACTIONS(2858),
    [anon_sym_TILDE] = ACTIONS(2858),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4598] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(8000),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1812),
    [sym_call] = STATE(1812),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1814),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1815),
    [sym__variable] = STATE(1812),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2842),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(6622),
    [anon_sym_yield] = ACTIONS(6624),
    [anon_sym_break] = ACTIONS(6626),
    [anon_sym_next] = ACTIONS(6628),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(6630),
    [anon_sym_defined_QMARK] = ACTIONS(2852),
    [anon_sym_not] = ACTIONS(6632),
    [anon_sym_BANG] = ACTIONS(2858),
    [anon_sym_TILDE] = ACTIONS(2858),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4599] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(8001),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1812),
    [sym_call] = STATE(1812),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1814),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1815),
    [sym__variable] = STATE(1812),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2842),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(6622),
    [anon_sym_yield] = ACTIONS(6624),
    [anon_sym_break] = ACTIONS(6626),
    [anon_sym_next] = ACTIONS(6628),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(6630),
    [anon_sym_defined_QMARK] = ACTIONS(2852),
    [anon_sym_not] = ACTIONS(6632),
    [anon_sym_BANG] = ACTIONS(2858),
    [anon_sym_TILDE] = ACTIONS(2858),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4600] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(8002),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1812),
    [sym_call] = STATE(1812),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1814),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1815),
    [sym__variable] = STATE(1812),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2842),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(6622),
    [anon_sym_yield] = ACTIONS(6624),
    [anon_sym_break] = ACTIONS(6626),
    [anon_sym_next] = ACTIONS(6628),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(6630),
    [anon_sym_defined_QMARK] = ACTIONS(2852),
    [anon_sym_not] = ACTIONS(6632),
    [anon_sym_BANG] = ACTIONS(2858),
    [anon_sym_TILDE] = ACTIONS(2858),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4601] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(8003),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1812),
    [sym_call] = STATE(1812),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1814),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1815),
    [sym__variable] = STATE(1812),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2842),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(6622),
    [anon_sym_yield] = ACTIONS(6624),
    [anon_sym_break] = ACTIONS(6626),
    [anon_sym_next] = ACTIONS(6628),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(6630),
    [anon_sym_defined_QMARK] = ACTIONS(2852),
    [anon_sym_not] = ACTIONS(6632),
    [anon_sym_BANG] = ACTIONS(2858),
    [anon_sym_TILDE] = ACTIONS(2858),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4602] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(8004),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [4603] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(8005),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1812),
    [sym_call] = STATE(1812),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1814),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1815),
    [sym__variable] = STATE(1812),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2842),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(6622),
    [anon_sym_yield] = ACTIONS(6624),
    [anon_sym_break] = ACTIONS(6626),
    [anon_sym_next] = ACTIONS(6628),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(6630),
    [anon_sym_defined_QMARK] = ACTIONS(2852),
    [anon_sym_not] = ACTIONS(6632),
    [anon_sym_BANG] = ACTIONS(2858),
    [anon_sym_TILDE] = ACTIONS(2858),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4604] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(8006),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1812),
    [sym_call] = STATE(1812),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1814),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1815),
    [sym__variable] = STATE(1812),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2842),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(6622),
    [anon_sym_yield] = ACTIONS(6624),
    [anon_sym_break] = ACTIONS(6626),
    [anon_sym_next] = ACTIONS(6628),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(6630),
    [anon_sym_defined_QMARK] = ACTIONS(2852),
    [anon_sym_not] = ACTIONS(6632),
    [anon_sym_BANG] = ACTIONS(2858),
    [anon_sym_TILDE] = ACTIONS(2858),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4605] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(8007),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1812),
    [sym_call] = STATE(1812),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1814),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1815),
    [sym__variable] = STATE(1812),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2842),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(6622),
    [anon_sym_yield] = ACTIONS(6624),
    [anon_sym_break] = ACTIONS(6626),
    [anon_sym_next] = ACTIONS(6628),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(6630),
    [anon_sym_defined_QMARK] = ACTIONS(2852),
    [anon_sym_not] = ACTIONS(6632),
    [anon_sym_BANG] = ACTIONS(2858),
    [anon_sym_TILDE] = ACTIONS(2858),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4606] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(8008),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1812),
    [sym_call] = STATE(1812),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1814),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1815),
    [sym__variable] = STATE(1812),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2842),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(6622),
    [anon_sym_yield] = ACTIONS(6624),
    [anon_sym_break] = ACTIONS(6626),
    [anon_sym_next] = ACTIONS(6628),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(6630),
    [anon_sym_defined_QMARK] = ACTIONS(2852),
    [anon_sym_not] = ACTIONS(6632),
    [anon_sym_BANG] = ACTIONS(2858),
    [anon_sym_TILDE] = ACTIONS(2858),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4607] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(8009),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1812),
    [sym_call] = STATE(1812),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1814),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1815),
    [sym__variable] = STATE(1812),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2842),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(6622),
    [anon_sym_yield] = ACTIONS(6624),
    [anon_sym_break] = ACTIONS(6626),
    [anon_sym_next] = ACTIONS(6628),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(6630),
    [anon_sym_defined_QMARK] = ACTIONS(2852),
    [anon_sym_not] = ACTIONS(6632),
    [anon_sym_BANG] = ACTIONS(2858),
    [anon_sym_TILDE] = ACTIONS(2858),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4608] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1811),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1812),
    [sym_call] = STATE(1812),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(5069),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1814),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1815),
    [sym__variable] = STATE(1812),
    [sym_reserved_identifier] = STATE(1816),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1817),
    [sym_subshell] = STATE(561),
    [sym_heredoc_end] = STATE(8010),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__block_ampersand] = ACTIONS(2838),
    [sym__splat_star] = ACTIONS(2840),
    [sym__unary_minus] = ACTIONS(2842),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(10892),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2844),
    [anon_sym_yield] = ACTIONS(2846),
    [anon_sym_break] = ACTIONS(2848),
    [anon_sym_next] = ACTIONS(2850),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(6630),
    [anon_sym_defined_QMARK] = ACTIONS(2852),
    [anon_sym_not] = ACTIONS(2854),
    [anon_sym_BANG] = ACTIONS(2858),
    [anon_sym_TILDE] = ACTIONS(2858),
    [sym_constant] = ACTIONS(2860),
    [sym_identifier] = ACTIONS(2860),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4609] = {
    [sym_heredoc_end] = STATE(2196),
    [aux_sym_argument_list_repeat2] = STATE(5072),
    [sym__simple_heredoc_body] = ACTIONS(3354),
    [sym__heredoc_body_beginning] = ACTIONS(3356),
    [sym__line_break] = ACTIONS(5472),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_LBRACE] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_end] = ACTIONS(5472),
    [anon_sym_COMMA] = ACTIONS(10894),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_SEMI] = ACTIONS(5472),
    [anon_sym_STAR_STAR] = ACTIONS(5474),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_EQ] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_if] = ACTIONS(5472),
    [anon_sym_unless] = ACTIONS(5472),
    [anon_sym_while] = ACTIONS(5472),
    [anon_sym_until] = ACTIONS(5472),
    [anon_sym_rescue] = ACTIONS(5472),
    [anon_sym_do] = ACTIONS(5472),
    [anon_sym_else] = ACTIONS(5472),
    [anon_sym_ensure] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_PLUS_EQ] = ACTIONS(5472),
    [anon_sym_DASH_EQ] = ACTIONS(5472),
    [anon_sym_STAR_EQ] = ACTIONS(5472),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5472),
    [anon_sym_SLASH_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5472),
    [anon_sym_AMP_EQ] = ACTIONS(5472),
    [anon_sym_PERCENT_EQ] = ACTIONS(5472),
    [anon_sym_GT_GT_EQ] = ACTIONS(5472),
    [anon_sym_LT_LT_EQ] = ACTIONS(5472),
    [anon_sym_CARET_EQ] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5474),
    [anon_sym_AMP_AMP] = ACTIONS(5474),
    [anon_sym_LT_LT] = ACTIONS(5474),
    [anon_sym_GT_GT] = ACTIONS(5474),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5474),
    [anon_sym_PLUS] = ACTIONS(5474),
    [anon_sym_SLASH] = ACTIONS(5474),
    [anon_sym_PERCENT] = ACTIONS(5474),
    [sym_comment] = ACTIONS(256),
  },
  [4610] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(8012),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1812),
    [sym_call] = STATE(1812),
    [sym_method_call] = STATE(338),
    [sym_splat_argument] = STATE(5074),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_right_assignment_list] = STATE(5075),
    [sym__arg_or_splat_arg] = STATE(8013),
    [sym_left_assignment_list] = STATE(1814),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1815),
    [sym__variable] = STATE(1812),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__splat_star] = ACTIONS(6308),
    [sym__unary_minus] = ACTIONS(2842),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(6622),
    [anon_sym_yield] = ACTIONS(6624),
    [anon_sym_break] = ACTIONS(6626),
    [anon_sym_next] = ACTIONS(6628),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(6630),
    [anon_sym_defined_QMARK] = ACTIONS(2852),
    [anon_sym_not] = ACTIONS(6632),
    [anon_sym_BANG] = ACTIONS(2858),
    [anon_sym_TILDE] = ACTIONS(2858),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4611] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(8014),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1812),
    [sym_call] = STATE(1812),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1814),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1815),
    [sym__variable] = STATE(1812),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2842),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(6622),
    [anon_sym_yield] = ACTIONS(6624),
    [anon_sym_break] = ACTIONS(6626),
    [anon_sym_next] = ACTIONS(6628),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(6630),
    [anon_sym_defined_QMARK] = ACTIONS(2852),
    [anon_sym_not] = ACTIONS(6632),
    [anon_sym_BANG] = ACTIONS(2858),
    [anon_sym_TILDE] = ACTIONS(2858),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [4612] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(8015),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(4583),
    [sym_call] = STATE(4583),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4584),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4585),
    [sym__variable] = STATE(4583),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(6604),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(6606),
    [anon_sym_yield] = ACTIONS(6608),
    [anon_sym_break] = ACTIONS(6610),
    [anon_sym_next] = ACTIONS(6612),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(6614),
    [anon_sym_defined_QMARK] = ACTIONS(6616),
    [anon_sym_not] = ACTIONS(6618),
    [anon_sym_BANG] = ACTIONS(6620),
    [anon_sym_TILDE] = ACTIONS(6620),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [4613] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8016),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(4620),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4621),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6676),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6678),
    [anon_sym_defined_QMARK] = ACTIONS(6680),
    [anon_sym_not] = ACTIONS(6682),
    [anon_sym_BANG] = ACTIONS(6684),
    [anon_sym_TILDE] = ACTIONS(6684),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4614] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8017),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(4620),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4621),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6676),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6678),
    [anon_sym_defined_QMARK] = ACTIONS(6680),
    [anon_sym_not] = ACTIONS(6682),
    [anon_sym_BANG] = ACTIONS(6684),
    [anon_sym_TILDE] = ACTIONS(6684),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4615] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8018),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(4620),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4621),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6676),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6678),
    [anon_sym_defined_QMARK] = ACTIONS(6680),
    [anon_sym_not] = ACTIONS(6682),
    [anon_sym_BANG] = ACTIONS(6684),
    [anon_sym_TILDE] = ACTIONS(6684),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4616] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8019),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(4620),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4621),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6676),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6678),
    [anon_sym_defined_QMARK] = ACTIONS(6680),
    [anon_sym_not] = ACTIONS(6682),
    [anon_sym_BANG] = ACTIONS(6684),
    [anon_sym_TILDE] = ACTIONS(6684),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4617] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(434),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(4620),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4621),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6676),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6678),
    [anon_sym_defined_QMARK] = ACTIONS(6680),
    [anon_sym_not] = ACTIONS(6682),
    [anon_sym_BANG] = ACTIONS(6684),
    [anon_sym_TILDE] = ACTIONS(6684),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4618] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__line_break] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(10896),
    [sym__binary_star] = ACTIONS(10898),
    [anon_sym_end] = ACTIONS(6346),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(10900),
    [anon_sym_SEMI] = ACTIONS(6346),
    [anon_sym_STAR_STAR] = ACTIONS(10902),
    [anon_sym_AMP] = ACTIONS(10904),
    [anon_sym_LT] = ACTIONS(10906),
    [anon_sym_if] = ACTIONS(6346),
    [anon_sym_unless] = ACTIONS(6346),
    [anon_sym_while] = ACTIONS(6346),
    [anon_sym_until] = ACTIONS(6346),
    [anon_sym_rescue] = ACTIONS(6346),
    [anon_sym_else] = ACTIONS(6346),
    [anon_sym_ensure] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(10908),
    [anon_sym_DOT_DOT] = ACTIONS(10910),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10912),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(10914),
    [anon_sym_AMP_AMP] = ACTIONS(10914),
    [anon_sym_LT_LT] = ACTIONS(10916),
    [anon_sym_GT_GT] = ACTIONS(10916),
    [anon_sym_EQ_EQ] = ACTIONS(10918),
    [anon_sym_BANG_EQ] = ACTIONS(10914),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10914),
    [anon_sym_LT_EQ_GT] = ACTIONS(10914),
    [anon_sym_EQ_TILDE] = ACTIONS(10914),
    [anon_sym_BANG_TILDE] = ACTIONS(10914),
    [anon_sym_LT_EQ] = ACTIONS(10906),
    [anon_sym_GT] = ACTIONS(10906),
    [anon_sym_GT_EQ] = ACTIONS(10920),
    [anon_sym_CARET] = ACTIONS(10922),
    [anon_sym_PLUS] = ACTIONS(10924),
    [anon_sym_SLASH] = ACTIONS(10902),
    [anon_sym_PERCENT] = ACTIONS(10902),
    [sym_comment] = ACTIONS(110),
  },
  [4619] = {
    [aux_sym_exceptions_repeat1] = STATE(8033),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__line_break] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_end] = ACTIONS(7330),
    [anon_sym_COMMA] = ACTIONS(10926),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_SEMI] = ACTIONS(7330),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_if] = ACTIONS(7330),
    [anon_sym_unless] = ACTIONS(7330),
    [anon_sym_while] = ACTIONS(7330),
    [anon_sym_until] = ACTIONS(7330),
    [anon_sym_rescue] = ACTIONS(7330),
    [anon_sym_else] = ACTIONS(7330),
    [anon_sym_ensure] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [4620] = {
    [anon_sym_EQ] = ACTIONS(10928),
    [sym_comment] = ACTIONS(256),
  },
  [4621] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_end] = ACTIONS(250),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(10930),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_else] = ACTIONS(250),
    [anon_sym_ensure] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(10932),
    [anon_sym_DASH_EQ] = ACTIONS(10932),
    [anon_sym_STAR_EQ] = ACTIONS(10932),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(10932),
    [anon_sym_SLASH_EQ] = ACTIONS(10932),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(10932),
    [anon_sym_PIPE_EQ] = ACTIONS(10932),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(10932),
    [anon_sym_AMP_EQ] = ACTIONS(10932),
    [anon_sym_PERCENT_EQ] = ACTIONS(10932),
    [anon_sym_GT_GT_EQ] = ACTIONS(10932),
    [anon_sym_LT_LT_EQ] = ACTIONS(10932),
    [anon_sym_CARET_EQ] = ACTIONS(10932),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [4622] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__line_break] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(2806),
    [sym__binary_star] = ACTIONS(2808),
    [anon_sym_end] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(2810),
    [anon_sym_SEMI] = ACTIONS(7344),
    [anon_sym_STAR_STAR] = ACTIONS(2812),
    [anon_sym_AMP] = ACTIONS(2814),
    [anon_sym_LT] = ACTIONS(2816),
    [anon_sym_if] = ACTIONS(7344),
    [anon_sym_unless] = ACTIONS(7344),
    [anon_sym_while] = ACTIONS(7344),
    [anon_sym_until] = ACTIONS(7344),
    [anon_sym_rescue] = ACTIONS(7344),
    [anon_sym_else] = ACTIONS(7344),
    [anon_sym_ensure] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(2818),
    [anon_sym_DOT_DOT] = ACTIONS(2820),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2822),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(2826),
    [anon_sym_AMP_AMP] = ACTIONS(2826),
    [anon_sym_LT_LT] = ACTIONS(2828),
    [anon_sym_GT_GT] = ACTIONS(2828),
    [anon_sym_EQ_EQ] = ACTIONS(2830),
    [anon_sym_BANG_EQ] = ACTIONS(2826),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2826),
    [anon_sym_LT_EQ_GT] = ACTIONS(2826),
    [anon_sym_EQ_TILDE] = ACTIONS(2826),
    [anon_sym_BANG_TILDE] = ACTIONS(2826),
    [anon_sym_LT_EQ] = ACTIONS(2816),
    [anon_sym_GT] = ACTIONS(2816),
    [anon_sym_GT_EQ] = ACTIONS(2832),
    [anon_sym_CARET] = ACTIONS(2834),
    [anon_sym_PLUS] = ACTIONS(2836),
    [anon_sym_SLASH] = ACTIONS(2812),
    [anon_sym_PERCENT] = ACTIONS(2812),
    [sym_comment] = ACTIONS(110),
  },
  [4623] = {
    [sym__simple_heredoc_body] = ACTIONS(10934),
    [sym__heredoc_body_beginning] = ACTIONS(10934),
    [sym__line_break] = ACTIONS(10934),
    [sym__element_reference_left_bracket] = ACTIONS(10934),
    [sym__scope_double_colon] = ACTIONS(10934),
    [sym__binary_minus] = ACTIONS(10934),
    [sym__binary_star] = ACTIONS(10934),
    [ts_builtin_sym_end] = ACTIONS(10934),
    [anon_sym___END__] = ACTIONS(10934),
    [anon_sym_LBRACE] = ACTIONS(10934),
    [anon_sym_RBRACE] = ACTIONS(10934),
    [anon_sym_RPAREN] = ACTIONS(10934),
    [anon_sym_DOT] = ACTIONS(10936),
    [anon_sym_end] = ACTIONS(10934),
    [anon_sym_COMMA] = ACTIONS(10934),
    [anon_sym_PIPE] = ACTIONS(10936),
    [anon_sym_SEMI] = ACTIONS(10934),
    [anon_sym_STAR_STAR] = ACTIONS(10934),
    [anon_sym_AMP] = ACTIONS(10936),
    [anon_sym_LT] = ACTIONS(10936),
    [anon_sym_if] = ACTIONS(10934),
    [anon_sym_unless] = ACTIONS(10934),
    [anon_sym_while] = ACTIONS(10934),
    [anon_sym_until] = ACTIONS(10934),
    [anon_sym_rescue] = ACTIONS(10934),
    [anon_sym_do] = ACTIONS(10934),
    [anon_sym_when] = ACTIONS(10934),
    [anon_sym_elsif] = ACTIONS(10934),
    [anon_sym_else] = ACTIONS(10934),
    [anon_sym_then] = ACTIONS(10934),
    [anon_sym_ensure] = ACTIONS(10934),
    [anon_sym_EQ_GT] = ACTIONS(10934),
    [anon_sym_AMP_DOT] = ACTIONS(10934),
    [anon_sym_QMARK] = ACTIONS(10934),
    [anon_sym_DOT_DOT] = ACTIONS(10936),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10934),
    [anon_sym_and] = ACTIONS(10934),
    [anon_sym_or] = ACTIONS(10934),
    [anon_sym_PIPE_PIPE] = ACTIONS(10934),
    [anon_sym_AMP_AMP] = ACTIONS(10934),
    [anon_sym_LT_LT] = ACTIONS(10934),
    [anon_sym_GT_GT] = ACTIONS(10934),
    [anon_sym_EQ_EQ] = ACTIONS(10936),
    [anon_sym_BANG_EQ] = ACTIONS(10934),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10934),
    [anon_sym_LT_EQ_GT] = ACTIONS(10934),
    [anon_sym_EQ_TILDE] = ACTIONS(10934),
    [anon_sym_BANG_TILDE] = ACTIONS(10934),
    [anon_sym_LT_EQ] = ACTIONS(10936),
    [anon_sym_GT] = ACTIONS(10936),
    [anon_sym_GT_EQ] = ACTIONS(10934),
    [anon_sym_CARET] = ACTIONS(10934),
    [anon_sym_PLUS] = ACTIONS(10934),
    [anon_sym_SLASH] = ACTIONS(10934),
    [anon_sym_PERCENT] = ACTIONS(10934),
    [sym_comment] = ACTIONS(110),
  },
  [4624] = {
    [sym__simple_symbol] = ACTIONS(3844),
    [sym__symbol_beginning] = ACTIONS(3844),
    [anon_sym_PIPE] = ACTIONS(3844),
    [anon_sym_STAR] = ACTIONS(3846),
    [anon_sym_STAR_STAR] = ACTIONS(3844),
    [anon_sym_AMP] = ACTIONS(3844),
    [anon_sym_LT] = ACTIONS(3846),
    [anon_sym_DOT_DOT] = ACTIONS(3844),
    [anon_sym_LT_LT] = ACTIONS(3844),
    [anon_sym_GT_GT] = ACTIONS(3844),
    [anon_sym_EQ_EQ] = ACTIONS(3846),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3844),
    [anon_sym_LT_EQ_GT] = ACTIONS(3844),
    [anon_sym_EQ_TILDE] = ACTIONS(3844),
    [anon_sym_BANG_TILDE] = ACTIONS(3844),
    [anon_sym_LT_EQ] = ACTIONS(3846),
    [anon_sym_GT] = ACTIONS(3846),
    [anon_sym_GT_EQ] = ACTIONS(3844),
    [anon_sym_CARET] = ACTIONS(3844),
    [anon_sym_PLUS] = ACTIONS(3846),
    [anon_sym_SLASH] = ACTIONS(3844),
    [anon_sym_PERCENT] = ACTIONS(3844),
    [anon_sym_BANG] = ACTIONS(3846),
    [anon_sym_TILDE] = ACTIONS(3844),
    [sym_constant] = ACTIONS(3846),
    [sym_identifier] = ACTIONS(3846),
    [sym_instance_variable] = ACTIONS(3846),
    [sym_class_variable] = ACTIONS(3846),
    [sym_global_variable] = ACTIONS(3846),
    [anon_sym_DASH] = ACTIONS(3846),
    [anon_sym_PLUS_AT] = ACTIONS(3844),
    [anon_sym_DASH_AT] = ACTIONS(3844),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(3846),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(3844),
    [anon_sym_BQUOTE] = ACTIONS(3844),
    [sym_comment] = ACTIONS(110),
  },
  [4625] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(10938),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [4626] = {
    [sym__simple_heredoc_body] = ACTIONS(3844),
    [sym__heredoc_body_beginning] = ACTIONS(3844),
    [sym__line_break] = ACTIONS(3844),
    [ts_builtin_sym_end] = ACTIONS(3844),
    [anon_sym___END__] = ACTIONS(3844),
    [anon_sym_RBRACE] = ACTIONS(3844),
    [anon_sym_RPAREN] = ACTIONS(3844),
    [anon_sym_end] = ACTIONS(3844),
    [anon_sym_COMMA] = ACTIONS(3844),
    [anon_sym_SEMI] = ACTIONS(3844),
    [anon_sym_if] = ACTIONS(3844),
    [anon_sym_unless] = ACTIONS(3844),
    [anon_sym_while] = ACTIONS(3844),
    [anon_sym_until] = ACTIONS(3844),
    [anon_sym_rescue] = ACTIONS(3844),
    [anon_sym_when] = ACTIONS(3844),
    [anon_sym_elsif] = ACTIONS(3844),
    [anon_sym_else] = ACTIONS(3844),
    [anon_sym_then] = ACTIONS(3844),
    [anon_sym_ensure] = ACTIONS(3844),
    [sym_comment] = ACTIONS(110),
  },
  [4627] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(10940),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [4628] = {
    [sym__simple_heredoc_body] = ACTIONS(10942),
    [sym__heredoc_body_beginning] = ACTIONS(10942),
    [sym__line_break] = ACTIONS(10942),
    [ts_builtin_sym_end] = ACTIONS(10942),
    [anon_sym___END__] = ACTIONS(10942),
    [anon_sym_RBRACE] = ACTIONS(10942),
    [anon_sym_RPAREN] = ACTIONS(10942),
    [anon_sym_end] = ACTIONS(10942),
    [anon_sym_COMMA] = ACTIONS(10942),
    [anon_sym_SEMI] = ACTIONS(10942),
    [anon_sym_if] = ACTIONS(10942),
    [anon_sym_unless] = ACTIONS(10942),
    [anon_sym_while] = ACTIONS(10942),
    [anon_sym_until] = ACTIONS(10942),
    [anon_sym_rescue] = ACTIONS(10942),
    [anon_sym_when] = ACTIONS(10942),
    [anon_sym_elsif] = ACTIONS(10942),
    [anon_sym_else] = ACTIONS(10942),
    [anon_sym_then] = ACTIONS(10942),
    [anon_sym_ensure] = ACTIONS(10942),
    [sym_comment] = ACTIONS(110),
  },
  [4629] = {
    [sym_operator] = STATE(444),
    [sym__method_name] = STATE(8038),
    [sym_setter] = STATE(444),
    [sym_symbol] = STATE(444),
    [sym__simple_symbol] = ACTIONS(764),
    [sym__symbol_beginning] = ACTIONS(766),
    [anon_sym_PIPE] = ACTIONS(768),
    [anon_sym_STAR] = ACTIONS(770),
    [anon_sym_STAR_STAR] = ACTIONS(768),
    [anon_sym_AMP] = ACTIONS(768),
    [anon_sym_LT] = ACTIONS(770),
    [anon_sym_DOT_DOT] = ACTIONS(768),
    [anon_sym_LT_LT] = ACTIONS(768),
    [anon_sym_GT_GT] = ACTIONS(768),
    [anon_sym_EQ_EQ] = ACTIONS(770),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(768),
    [anon_sym_LT_EQ_GT] = ACTIONS(768),
    [anon_sym_EQ_TILDE] = ACTIONS(768),
    [anon_sym_BANG_TILDE] = ACTIONS(768),
    [anon_sym_LT_EQ] = ACTIONS(770),
    [anon_sym_GT] = ACTIONS(770),
    [anon_sym_GT_EQ] = ACTIONS(768),
    [anon_sym_CARET] = ACTIONS(768),
    [anon_sym_PLUS] = ACTIONS(770),
    [anon_sym_SLASH] = ACTIONS(768),
    [anon_sym_PERCENT] = ACTIONS(768),
    [anon_sym_BANG] = ACTIONS(770),
    [anon_sym_TILDE] = ACTIONS(768),
    [sym_constant] = ACTIONS(772),
    [sym_identifier] = ACTIONS(774),
    [sym_instance_variable] = ACTIONS(772),
    [sym_class_variable] = ACTIONS(772),
    [sym_global_variable] = ACTIONS(772),
    [anon_sym_DASH] = ACTIONS(770),
    [anon_sym_PLUS_AT] = ACTIONS(768),
    [anon_sym_DASH_AT] = ACTIONS(768),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(770),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(768),
    [anon_sym_BQUOTE] = ACTIONS(768),
    [sym_comment] = ACTIONS(110),
  },
  [4630] = {
    [sym__simple_string] = ACTIONS(3612),
    [sym__simple_heredoc_body] = ACTIONS(3612),
    [sym__string_beginning] = ACTIONS(3612),
    [sym__heredoc_body_beginning] = ACTIONS(3612),
    [sym__element_reference_left_bracket] = ACTIONS(3612),
    [sym__scope_double_colon] = ACTIONS(3612),
    [sym__keyword_colon] = ACTIONS(3612),
    [sym__binary_minus] = ACTIONS(3612),
    [sym__binary_star] = ACTIONS(3612),
    [anon_sym_LBRACE] = ACTIONS(3612),
    [anon_sym_RBRACE] = ACTIONS(3612),
    [anon_sym_RPAREN] = ACTIONS(3612),
    [anon_sym_DOT] = ACTIONS(3614),
    [anon_sym_COMMA] = ACTIONS(3612),
    [anon_sym_PIPE] = ACTIONS(3614),
    [anon_sym_SEMI] = ACTIONS(3612),
    [anon_sym_STAR_STAR] = ACTIONS(3612),
    [anon_sym_AMP] = ACTIONS(3614),
    [anon_sym_EQ] = ACTIONS(3614),
    [anon_sym_LT] = ACTIONS(3614),
    [anon_sym_in] = ACTIONS(3612),
    [anon_sym_do] = ACTIONS(3612),
    [anon_sym_EQ_GT] = ACTIONS(3612),
    [anon_sym_RBRACK] = ACTIONS(3612),
    [anon_sym_AMP_DOT] = ACTIONS(3612),
    [anon_sym_QMARK] = ACTIONS(3614),
    [anon_sym_COLON] = ACTIONS(3612),
    [anon_sym_DOT_DOT] = ACTIONS(3614),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3612),
    [anon_sym_and] = ACTIONS(3612),
    [anon_sym_or] = ACTIONS(3612),
    [anon_sym_PIPE_PIPE] = ACTIONS(3612),
    [anon_sym_AMP_AMP] = ACTIONS(3612),
    [anon_sym_LT_LT] = ACTIONS(3612),
    [anon_sym_GT_GT] = ACTIONS(3612),
    [anon_sym_EQ_EQ] = ACTIONS(3614),
    [anon_sym_BANG_EQ] = ACTIONS(3612),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3612),
    [anon_sym_LT_EQ_GT] = ACTIONS(3612),
    [anon_sym_EQ_TILDE] = ACTIONS(3612),
    [anon_sym_BANG_TILDE] = ACTIONS(3612),
    [anon_sym_LT_EQ] = ACTIONS(3614),
    [anon_sym_GT] = ACTIONS(3614),
    [anon_sym_GT_EQ] = ACTIONS(3612),
    [anon_sym_CARET] = ACTIONS(3612),
    [anon_sym_PLUS] = ACTIONS(3612),
    [anon_sym_SLASH] = ACTIONS(3612),
    [anon_sym_PERCENT] = ACTIONS(3612),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(3614),
  },
  [4631] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(10944),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [4632] = {
    [sym__simple_heredoc_body] = ACTIONS(3844),
    [sym__heredoc_body_beginning] = ACTIONS(3844),
    [sym__element_reference_left_bracket] = ACTIONS(3844),
    [sym__scope_double_colon] = ACTIONS(3844),
    [sym__binary_minus] = ACTIONS(3844),
    [sym__binary_star] = ACTIONS(3844),
    [anon_sym_LBRACE] = ACTIONS(3844),
    [anon_sym_RBRACE] = ACTIONS(3844),
    [anon_sym_RPAREN] = ACTIONS(3844),
    [anon_sym_DOT] = ACTIONS(3846),
    [anon_sym_COMMA] = ACTIONS(3844),
    [anon_sym_PIPE] = ACTIONS(3846),
    [anon_sym_SEMI] = ACTIONS(3844),
    [anon_sym_STAR_STAR] = ACTIONS(3844),
    [anon_sym_AMP] = ACTIONS(3846),
    [anon_sym_EQ] = ACTIONS(3846),
    [anon_sym_LT] = ACTIONS(3846),
    [anon_sym_in] = ACTIONS(3844),
    [anon_sym_do] = ACTIONS(3844),
    [anon_sym_EQ_GT] = ACTIONS(3844),
    [anon_sym_RBRACK] = ACTIONS(3844),
    [anon_sym_AMP_DOT] = ACTIONS(3844),
    [anon_sym_QMARK] = ACTIONS(3844),
    [anon_sym_COLON] = ACTIONS(3844),
    [anon_sym_DOT_DOT] = ACTIONS(3846),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3844),
    [anon_sym_and] = ACTIONS(3844),
    [anon_sym_or] = ACTIONS(3844),
    [anon_sym_PIPE_PIPE] = ACTIONS(3844),
    [anon_sym_AMP_AMP] = ACTIONS(3844),
    [anon_sym_LT_LT] = ACTIONS(3844),
    [anon_sym_GT_GT] = ACTIONS(3844),
    [anon_sym_EQ_EQ] = ACTIONS(3846),
    [anon_sym_BANG_EQ] = ACTIONS(3844),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3844),
    [anon_sym_LT_EQ_GT] = ACTIONS(3844),
    [anon_sym_EQ_TILDE] = ACTIONS(3844),
    [anon_sym_BANG_TILDE] = ACTIONS(3844),
    [anon_sym_LT_EQ] = ACTIONS(3846),
    [anon_sym_GT] = ACTIONS(3846),
    [anon_sym_GT_EQ] = ACTIONS(3844),
    [anon_sym_CARET] = ACTIONS(3844),
    [anon_sym_PLUS] = ACTIONS(3844),
    [anon_sym_SLASH] = ACTIONS(3844),
    [anon_sym_PERCENT] = ACTIONS(3844),
    [sym_comment] = ACTIONS(256),
  },
  [4633] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(10946),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [4634] = {
    [sym__simple_heredoc_body] = ACTIONS(3850),
    [sym__heredoc_body_beginning] = ACTIONS(3850),
    [sym__element_reference_left_bracket] = ACTIONS(3850),
    [sym__scope_double_colon] = ACTIONS(3850),
    [sym__binary_minus] = ACTIONS(3850),
    [sym__binary_star] = ACTIONS(3850),
    [anon_sym_LBRACE] = ACTIONS(3850),
    [anon_sym_RBRACE] = ACTIONS(3850),
    [anon_sym_RPAREN] = ACTIONS(3850),
    [anon_sym_DOT] = ACTIONS(3852),
    [anon_sym_COMMA] = ACTIONS(3850),
    [anon_sym_PIPE] = ACTIONS(3852),
    [anon_sym_SEMI] = ACTIONS(3850),
    [anon_sym_STAR_STAR] = ACTIONS(3850),
    [anon_sym_AMP] = ACTIONS(3852),
    [anon_sym_EQ] = ACTIONS(3852),
    [anon_sym_LT] = ACTIONS(3852),
    [anon_sym_in] = ACTIONS(3850),
    [anon_sym_do] = ACTIONS(3850),
    [anon_sym_EQ_GT] = ACTIONS(3850),
    [anon_sym_RBRACK] = ACTIONS(3850),
    [anon_sym_AMP_DOT] = ACTIONS(3850),
    [anon_sym_QMARK] = ACTIONS(3850),
    [anon_sym_COLON] = ACTIONS(3850),
    [anon_sym_DOT_DOT] = ACTIONS(3852),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3850),
    [anon_sym_and] = ACTIONS(3850),
    [anon_sym_or] = ACTIONS(3850),
    [anon_sym_PIPE_PIPE] = ACTIONS(3850),
    [anon_sym_AMP_AMP] = ACTIONS(3850),
    [anon_sym_LT_LT] = ACTIONS(3850),
    [anon_sym_GT_GT] = ACTIONS(3850),
    [anon_sym_EQ_EQ] = ACTIONS(3852),
    [anon_sym_BANG_EQ] = ACTIONS(3850),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3850),
    [anon_sym_LT_EQ_GT] = ACTIONS(3850),
    [anon_sym_EQ_TILDE] = ACTIONS(3850),
    [anon_sym_BANG_TILDE] = ACTIONS(3850),
    [anon_sym_LT_EQ] = ACTIONS(3852),
    [anon_sym_GT] = ACTIONS(3852),
    [anon_sym_GT_EQ] = ACTIONS(3850),
    [anon_sym_CARET] = ACTIONS(3850),
    [anon_sym_PLUS] = ACTIONS(3850),
    [anon_sym_SLASH] = ACTIONS(3850),
    [anon_sym_PERCENT] = ACTIONS(3850),
    [sym_comment] = ACTIONS(256),
  },
  [4635] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(10948),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [4636] = {
    [sym__simple_heredoc_body] = ACTIONS(3856),
    [sym__heredoc_body_beginning] = ACTIONS(3856),
    [sym__element_reference_left_bracket] = ACTIONS(3856),
    [sym__scope_double_colon] = ACTIONS(3856),
    [sym__binary_minus] = ACTIONS(3856),
    [sym__binary_star] = ACTIONS(3856),
    [anon_sym_LBRACE] = ACTIONS(3856),
    [anon_sym_RBRACE] = ACTIONS(3856),
    [anon_sym_RPAREN] = ACTIONS(3856),
    [anon_sym_DOT] = ACTIONS(3858),
    [anon_sym_COMMA] = ACTIONS(3856),
    [anon_sym_PIPE] = ACTIONS(3858),
    [anon_sym_SEMI] = ACTIONS(3856),
    [anon_sym_STAR_STAR] = ACTIONS(3856),
    [anon_sym_AMP] = ACTIONS(3858),
    [anon_sym_EQ] = ACTIONS(3858),
    [anon_sym_LT] = ACTIONS(3858),
    [anon_sym_in] = ACTIONS(3856),
    [anon_sym_do] = ACTIONS(3856),
    [anon_sym_EQ_GT] = ACTIONS(3856),
    [anon_sym_RBRACK] = ACTIONS(3856),
    [anon_sym_AMP_DOT] = ACTIONS(3856),
    [anon_sym_QMARK] = ACTIONS(3856),
    [anon_sym_COLON] = ACTIONS(3856),
    [anon_sym_DOT_DOT] = ACTIONS(3858),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3856),
    [anon_sym_and] = ACTIONS(3856),
    [anon_sym_or] = ACTIONS(3856),
    [anon_sym_PIPE_PIPE] = ACTIONS(3856),
    [anon_sym_AMP_AMP] = ACTIONS(3856),
    [anon_sym_LT_LT] = ACTIONS(3856),
    [anon_sym_GT_GT] = ACTIONS(3856),
    [anon_sym_EQ_EQ] = ACTIONS(3858),
    [anon_sym_BANG_EQ] = ACTIONS(3856),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3856),
    [anon_sym_LT_EQ_GT] = ACTIONS(3856),
    [anon_sym_EQ_TILDE] = ACTIONS(3856),
    [anon_sym_BANG_TILDE] = ACTIONS(3856),
    [anon_sym_LT_EQ] = ACTIONS(3858),
    [anon_sym_GT] = ACTIONS(3858),
    [anon_sym_GT_EQ] = ACTIONS(3856),
    [anon_sym_CARET] = ACTIONS(3856),
    [anon_sym_PLUS] = ACTIONS(3856),
    [anon_sym_SLASH] = ACTIONS(3856),
    [anon_sym_PERCENT] = ACTIONS(3856),
    [sym_comment] = ACTIONS(256),
  },
  [4637] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(10950),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [4638] = {
    [sym__simple_heredoc_body] = ACTIONS(3862),
    [sym__heredoc_body_beginning] = ACTIONS(3862),
    [sym__element_reference_left_bracket] = ACTIONS(3862),
    [sym__scope_double_colon] = ACTIONS(3862),
    [sym__binary_minus] = ACTIONS(3862),
    [sym__binary_star] = ACTIONS(3862),
    [anon_sym_LBRACE] = ACTIONS(3862),
    [anon_sym_RBRACE] = ACTIONS(3862),
    [anon_sym_RPAREN] = ACTIONS(3862),
    [anon_sym_DOT] = ACTIONS(3864),
    [anon_sym_COMMA] = ACTIONS(3862),
    [anon_sym_PIPE] = ACTIONS(3864),
    [anon_sym_SEMI] = ACTIONS(3862),
    [anon_sym_STAR_STAR] = ACTIONS(3862),
    [anon_sym_AMP] = ACTIONS(3864),
    [anon_sym_EQ] = ACTIONS(3864),
    [anon_sym_LT] = ACTIONS(3864),
    [anon_sym_in] = ACTIONS(3862),
    [anon_sym_do] = ACTIONS(3862),
    [anon_sym_EQ_GT] = ACTIONS(3862),
    [anon_sym_RBRACK] = ACTIONS(3862),
    [anon_sym_AMP_DOT] = ACTIONS(3862),
    [anon_sym_QMARK] = ACTIONS(3862),
    [anon_sym_COLON] = ACTIONS(3862),
    [anon_sym_DOT_DOT] = ACTIONS(3864),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3862),
    [anon_sym_and] = ACTIONS(3862),
    [anon_sym_or] = ACTIONS(3862),
    [anon_sym_PIPE_PIPE] = ACTIONS(3862),
    [anon_sym_AMP_AMP] = ACTIONS(3862),
    [anon_sym_LT_LT] = ACTIONS(3862),
    [anon_sym_GT_GT] = ACTIONS(3862),
    [anon_sym_EQ_EQ] = ACTIONS(3864),
    [anon_sym_BANG_EQ] = ACTIONS(3862),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3862),
    [anon_sym_LT_EQ_GT] = ACTIONS(3862),
    [anon_sym_EQ_TILDE] = ACTIONS(3862),
    [anon_sym_BANG_TILDE] = ACTIONS(3862),
    [anon_sym_LT_EQ] = ACTIONS(3864),
    [anon_sym_GT] = ACTIONS(3864),
    [anon_sym_GT_EQ] = ACTIONS(3862),
    [anon_sym_CARET] = ACTIONS(3862),
    [anon_sym_PLUS] = ACTIONS(3862),
    [anon_sym_SLASH] = ACTIONS(3862),
    [anon_sym_PERCENT] = ACTIONS(3862),
    [sym_comment] = ACTIONS(256),
  },
  [4639] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(10952),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [4640] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_STAR_STAR] = ACTIONS(6720),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_RBRACK] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [4641] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(8048),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(1849),
    [sym_call] = STATE(1849),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(8049),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(8050),
    [sym__variable] = STATE(1849),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(10954),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2888),
    [anon_sym_yield] = ACTIONS(2890),
    [anon_sym_break] = ACTIONS(2892),
    [anon_sym_next] = ACTIONS(2894),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(10956),
    [anon_sym_defined_QMARK] = ACTIONS(10958),
    [anon_sym_not] = ACTIONS(10960),
    [anon_sym_BANG] = ACTIONS(10962),
    [anon_sym_TILDE] = ACTIONS(10962),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4642] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(8051),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(1849),
    [sym_call] = STATE(1849),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(8049),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(8050),
    [sym__variable] = STATE(1849),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(10954),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2888),
    [anon_sym_yield] = ACTIONS(2890),
    [anon_sym_break] = ACTIONS(2892),
    [anon_sym_next] = ACTIONS(2894),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(10956),
    [anon_sym_defined_QMARK] = ACTIONS(10958),
    [anon_sym_not] = ACTIONS(10960),
    [anon_sym_BANG] = ACTIONS(10962),
    [anon_sym_TILDE] = ACTIONS(10962),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4643] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(8052),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(1849),
    [sym_call] = STATE(1849),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(8049),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(8050),
    [sym__variable] = STATE(1849),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(10954),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2888),
    [anon_sym_yield] = ACTIONS(2890),
    [anon_sym_break] = ACTIONS(2892),
    [anon_sym_next] = ACTIONS(2894),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(10956),
    [anon_sym_defined_QMARK] = ACTIONS(10958),
    [anon_sym_not] = ACTIONS(10960),
    [anon_sym_BANG] = ACTIONS(10962),
    [anon_sym_TILDE] = ACTIONS(10962),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4644] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(10964),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_RBRACK] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [4645] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(6774),
    [sym__binary_star] = ACTIONS(6776),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(6778),
    [anon_sym_STAR_STAR] = ACTIONS(6780),
    [anon_sym_AMP] = ACTIONS(6782),
    [anon_sym_LT] = ACTIONS(6784),
    [anon_sym_EQ_GT] = ACTIONS(10964),
    [anon_sym_RBRACK] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(6786),
    [anon_sym_DOT_DOT] = ACTIONS(6788),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6790),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(6792),
    [anon_sym_AMP_AMP] = ACTIONS(6792),
    [anon_sym_LT_LT] = ACTIONS(6794),
    [anon_sym_GT_GT] = ACTIONS(6794),
    [anon_sym_EQ_EQ] = ACTIONS(6796),
    [anon_sym_BANG_EQ] = ACTIONS(6792),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6792),
    [anon_sym_LT_EQ_GT] = ACTIONS(6792),
    [anon_sym_EQ_TILDE] = ACTIONS(6792),
    [anon_sym_BANG_TILDE] = ACTIONS(6792),
    [anon_sym_LT_EQ] = ACTIONS(6784),
    [anon_sym_GT] = ACTIONS(6784),
    [anon_sym_GT_EQ] = ACTIONS(6798),
    [anon_sym_CARET] = ACTIONS(6800),
    [anon_sym_PLUS] = ACTIONS(6802),
    [anon_sym_SLASH] = ACTIONS(6780),
    [anon_sym_PERCENT] = ACTIONS(6780),
    [sym_comment] = ACTIONS(110),
  },
  [4646] = {
    [sym_heredoc_end] = STATE(3004),
    [aux_sym_argument_list_repeat1] = STATE(8055),
    [aux_sym_argument_list_repeat2] = STATE(3005),
    [sym__simple_heredoc_body] = ACTIONS(4410),
    [sym__heredoc_body_beginning] = ACTIONS(4412),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(10966),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_STAR_STAR] = ACTIONS(2272),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_RBRACK] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2272),
    [anon_sym_AMP_AMP] = ACTIONS(2272),
    [anon_sym_LT_LT] = ACTIONS(2272),
    [anon_sym_GT_GT] = ACTIONS(2272),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2272),
    [anon_sym_PLUS] = ACTIONS(2272),
    [anon_sym_SLASH] = ACTIONS(2272),
    [anon_sym_PERCENT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(110),
  },
  [4647] = {
    [sym__keyword_colon] = ACTIONS(10968),
    [sym_comment] = ACTIONS(110),
  },
  [4648] = {
    [sym_string] = STATE(1962),
    [aux_sym_chained_string_repeat1] = STATE(1963),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(10964),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_RBRACK] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(1626),
  },
  [4649] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(6720),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_RBRACK] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [4650] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(6714),
    [sym__binary_star] = ACTIONS(6716),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(6718),
    [anon_sym_STAR_STAR] = ACTIONS(6720),
    [anon_sym_AMP] = ACTIONS(6722),
    [anon_sym_LT] = ACTIONS(6724),
    [anon_sym_RBRACK] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(6726),
    [anon_sym_DOT_DOT] = ACTIONS(6728),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6730),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(6734),
    [anon_sym_AMP_AMP] = ACTIONS(6734),
    [anon_sym_LT_LT] = ACTIONS(6736),
    [anon_sym_GT_GT] = ACTIONS(6736),
    [anon_sym_EQ_EQ] = ACTIONS(6738),
    [anon_sym_BANG_EQ] = ACTIONS(6734),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6734),
    [anon_sym_LT_EQ_GT] = ACTIONS(6734),
    [anon_sym_EQ_TILDE] = ACTIONS(6734),
    [anon_sym_BANG_TILDE] = ACTIONS(6734),
    [anon_sym_LT_EQ] = ACTIONS(6724),
    [anon_sym_GT] = ACTIONS(6724),
    [anon_sym_GT_EQ] = ACTIONS(6740),
    [anon_sym_CARET] = ACTIONS(6742),
    [anon_sym_PLUS] = ACTIONS(6744),
    [anon_sym_SLASH] = ACTIONS(6720),
    [anon_sym_PERCENT] = ACTIONS(6720),
    [sym_comment] = ACTIONS(110),
  },
  [4651] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(8057),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(1849),
    [sym_call] = STATE(1849),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1850),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1851),
    [sym__variable] = STATE(1849),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2886),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2888),
    [anon_sym_yield] = ACTIONS(2890),
    [anon_sym_break] = ACTIONS(2892),
    [anon_sym_next] = ACTIONS(2894),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2896),
    [anon_sym_defined_QMARK] = ACTIONS(2898),
    [anon_sym_not] = ACTIONS(2900),
    [anon_sym_BANG] = ACTIONS(2902),
    [anon_sym_TILDE] = ACTIONS(2902),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4652] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(8058),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(1849),
    [sym_call] = STATE(1849),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1850),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1851),
    [sym__variable] = STATE(1849),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2886),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2888),
    [anon_sym_yield] = ACTIONS(2890),
    [anon_sym_break] = ACTIONS(2892),
    [anon_sym_next] = ACTIONS(2894),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2896),
    [anon_sym_defined_QMARK] = ACTIONS(2898),
    [anon_sym_not] = ACTIONS(2900),
    [anon_sym_BANG] = ACTIONS(2902),
    [anon_sym_TILDE] = ACTIONS(2902),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4653] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(8059),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(1849),
    [sym_call] = STATE(1849),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1850),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1851),
    [sym__variable] = STATE(1849),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2886),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2888),
    [anon_sym_yield] = ACTIONS(2890),
    [anon_sym_break] = ACTIONS(2892),
    [anon_sym_next] = ACTIONS(2894),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2896),
    [anon_sym_defined_QMARK] = ACTIONS(2898),
    [anon_sym_not] = ACTIONS(2900),
    [anon_sym_BANG] = ACTIONS(2902),
    [anon_sym_TILDE] = ACTIONS(2902),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4654] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(8060),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(1849),
    [sym_call] = STATE(1849),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1850),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1851),
    [sym__variable] = STATE(1849),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2886),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2888),
    [anon_sym_yield] = ACTIONS(2890),
    [anon_sym_break] = ACTIONS(2892),
    [anon_sym_next] = ACTIONS(2894),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2896),
    [anon_sym_defined_QMARK] = ACTIONS(2898),
    [anon_sym_not] = ACTIONS(2900),
    [anon_sym_BANG] = ACTIONS(2902),
    [anon_sym_TILDE] = ACTIONS(2902),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4655] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(8061),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(1849),
    [sym_call] = STATE(1849),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1850),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1851),
    [sym__variable] = STATE(1849),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2886),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2888),
    [anon_sym_yield] = ACTIONS(2890),
    [anon_sym_break] = ACTIONS(2892),
    [anon_sym_next] = ACTIONS(2894),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2896),
    [anon_sym_defined_QMARK] = ACTIONS(2898),
    [anon_sym_not] = ACTIONS(2900),
    [anon_sym_BANG] = ACTIONS(2902),
    [anon_sym_TILDE] = ACTIONS(2902),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4656] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(8062),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(1849),
    [sym_call] = STATE(1849),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1850),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1851),
    [sym__variable] = STATE(1849),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2886),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2888),
    [anon_sym_yield] = ACTIONS(2890),
    [anon_sym_break] = ACTIONS(2892),
    [anon_sym_next] = ACTIONS(2894),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2896),
    [anon_sym_defined_QMARK] = ACTIONS(2898),
    [anon_sym_not] = ACTIONS(2900),
    [anon_sym_BANG] = ACTIONS(2902),
    [anon_sym_TILDE] = ACTIONS(2902),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4657] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(8063),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [4658] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(8064),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(1849),
    [sym_call] = STATE(1849),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1850),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1851),
    [sym__variable] = STATE(1849),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2886),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2888),
    [anon_sym_yield] = ACTIONS(2890),
    [anon_sym_break] = ACTIONS(2892),
    [anon_sym_next] = ACTIONS(2894),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2896),
    [anon_sym_defined_QMARK] = ACTIONS(2898),
    [anon_sym_not] = ACTIONS(2900),
    [anon_sym_BANG] = ACTIONS(2902),
    [anon_sym_TILDE] = ACTIONS(2902),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4659] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(8065),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(1849),
    [sym_call] = STATE(1849),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1850),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1851),
    [sym__variable] = STATE(1849),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2886),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2888),
    [anon_sym_yield] = ACTIONS(2890),
    [anon_sym_break] = ACTIONS(2892),
    [anon_sym_next] = ACTIONS(2894),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2896),
    [anon_sym_defined_QMARK] = ACTIONS(2898),
    [anon_sym_not] = ACTIONS(2900),
    [anon_sym_BANG] = ACTIONS(2902),
    [anon_sym_TILDE] = ACTIONS(2902),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4660] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(8066),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(1849),
    [sym_call] = STATE(1849),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1850),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1851),
    [sym__variable] = STATE(1849),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2886),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2888),
    [anon_sym_yield] = ACTIONS(2890),
    [anon_sym_break] = ACTIONS(2892),
    [anon_sym_next] = ACTIONS(2894),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2896),
    [anon_sym_defined_QMARK] = ACTIONS(2898),
    [anon_sym_not] = ACTIONS(2900),
    [anon_sym_BANG] = ACTIONS(2902),
    [anon_sym_TILDE] = ACTIONS(2902),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4661] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(8067),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(1849),
    [sym_call] = STATE(1849),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1850),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1851),
    [sym__variable] = STATE(1849),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2886),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2888),
    [anon_sym_yield] = ACTIONS(2890),
    [anon_sym_break] = ACTIONS(2892),
    [anon_sym_next] = ACTIONS(2894),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2896),
    [anon_sym_defined_QMARK] = ACTIONS(2898),
    [anon_sym_not] = ACTIONS(2900),
    [anon_sym_BANG] = ACTIONS(2902),
    [anon_sym_TILDE] = ACTIONS(2902),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4662] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(8068),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(1849),
    [sym_call] = STATE(1849),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1850),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1851),
    [sym__variable] = STATE(1849),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2886),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2888),
    [anon_sym_yield] = ACTIONS(2890),
    [anon_sym_break] = ACTIONS(2892),
    [anon_sym_next] = ACTIONS(2894),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2896),
    [anon_sym_defined_QMARK] = ACTIONS(2898),
    [anon_sym_not] = ACTIONS(2900),
    [anon_sym_BANG] = ACTIONS(2902),
    [anon_sym_TILDE] = ACTIONS(2902),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4663] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(8077),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(8078),
    [sym_call] = STATE(8078),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(8079),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(8080),
    [sym__variable] = STATE(8078),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(10970),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(10972),
    [anon_sym_yield] = ACTIONS(10974),
    [anon_sym_break] = ACTIONS(10976),
    [anon_sym_next] = ACTIONS(10978),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(10980),
    [anon_sym_defined_QMARK] = ACTIONS(10982),
    [anon_sym_not] = ACTIONS(10984),
    [anon_sym_BANG] = ACTIONS(10986),
    [anon_sym_TILDE] = ACTIONS(10986),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [4664] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(8081),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(8078),
    [sym_call] = STATE(8078),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(8079),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(8080),
    [sym__variable] = STATE(8078),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(10970),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(10972),
    [anon_sym_yield] = ACTIONS(10974),
    [anon_sym_break] = ACTIONS(10976),
    [anon_sym_next] = ACTIONS(10978),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(10980),
    [anon_sym_defined_QMARK] = ACTIONS(10982),
    [anon_sym_not] = ACTIONS(10984),
    [anon_sym_BANG] = ACTIONS(10986),
    [anon_sym_TILDE] = ACTIONS(10986),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [4665] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(8082),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(8078),
    [sym_call] = STATE(8078),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(8079),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(8080),
    [sym__variable] = STATE(8078),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(10970),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(10972),
    [anon_sym_yield] = ACTIONS(10974),
    [anon_sym_break] = ACTIONS(10976),
    [anon_sym_next] = ACTIONS(10978),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(10980),
    [anon_sym_defined_QMARK] = ACTIONS(10982),
    [anon_sym_not] = ACTIONS(10984),
    [anon_sym_BANG] = ACTIONS(10986),
    [anon_sym_TILDE] = ACTIONS(10986),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [4666] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(10988),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_RBRACK] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [4667] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(6854),
    [sym__binary_star] = ACTIONS(6856),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(6858),
    [anon_sym_STAR_STAR] = ACTIONS(6860),
    [anon_sym_AMP] = ACTIONS(6862),
    [anon_sym_EQ] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(6864),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(10988),
    [anon_sym_RBRACK] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_PLUS_EQ] = ACTIONS(2210),
    [anon_sym_DASH_EQ] = ACTIONS(2210),
    [anon_sym_STAR_EQ] = ACTIONS(2210),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2210),
    [anon_sym_SLASH_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2210),
    [anon_sym_AMP_EQ] = ACTIONS(2210),
    [anon_sym_PERCENT_EQ] = ACTIONS(2210),
    [anon_sym_GT_GT_EQ] = ACTIONS(2210),
    [anon_sym_LT_LT_EQ] = ACTIONS(2210),
    [anon_sym_CARET_EQ] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(6866),
    [anon_sym_DOT_DOT] = ACTIONS(6868),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6870),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(6872),
    [anon_sym_AMP_AMP] = ACTIONS(6872),
    [anon_sym_LT_LT] = ACTIONS(6874),
    [anon_sym_GT_GT] = ACTIONS(6874),
    [anon_sym_EQ_EQ] = ACTIONS(6872),
    [anon_sym_BANG_EQ] = ACTIONS(6876),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6876),
    [anon_sym_LT_EQ_GT] = ACTIONS(6876),
    [anon_sym_EQ_TILDE] = ACTIONS(6876),
    [anon_sym_BANG_TILDE] = ACTIONS(6876),
    [anon_sym_LT_EQ] = ACTIONS(6864),
    [anon_sym_GT] = ACTIONS(6864),
    [anon_sym_GT_EQ] = ACTIONS(6878),
    [anon_sym_CARET] = ACTIONS(6858),
    [anon_sym_PLUS] = ACTIONS(6880),
    [anon_sym_SLASH] = ACTIONS(6860),
    [anon_sym_PERCENT] = ACTIONS(6860),
    [sym_comment] = ACTIONS(256),
  },
  [4668] = {
    [sym_heredoc_end] = STATE(6092),
    [aux_sym_argument_list_repeat1] = STATE(8085),
    [aux_sym_argument_list_repeat2] = STATE(6093),
    [sym__simple_heredoc_body] = ACTIONS(8530),
    [sym__heredoc_body_beginning] = ACTIONS(8532),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(10990),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_STAR_STAR] = ACTIONS(2274),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_EQ] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_RBRACK] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_PLUS_EQ] = ACTIONS(2272),
    [anon_sym_DASH_EQ] = ACTIONS(2272),
    [anon_sym_STAR_EQ] = ACTIONS(2272),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2272),
    [anon_sym_SLASH_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2272),
    [anon_sym_AMP_EQ] = ACTIONS(2272),
    [anon_sym_PERCENT_EQ] = ACTIONS(2272),
    [anon_sym_GT_GT_EQ] = ACTIONS(2272),
    [anon_sym_LT_LT_EQ] = ACTIONS(2272),
    [anon_sym_CARET_EQ] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2274),
    [anon_sym_AMP_AMP] = ACTIONS(2274),
    [anon_sym_LT_LT] = ACTIONS(2274),
    [anon_sym_GT_GT] = ACTIONS(2274),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2274),
    [anon_sym_PLUS] = ACTIONS(2274),
    [anon_sym_SLASH] = ACTIONS(2274),
    [anon_sym_PERCENT] = ACTIONS(2274),
    [sym_comment] = ACTIONS(256),
  },
  [4669] = {
    [sym__keyword_colon] = ACTIONS(10992),
    [sym_comment] = ACTIONS(110),
  },
  [4670] = {
    [sym_string] = STATE(3160),
    [aux_sym_chained_string_repeat1] = STATE(3161),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(10988),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_RBRACK] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(4490),
  },
  [4671] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(8088),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(1849),
    [sym_call] = STATE(1849),
    [sym_method_call] = STATE(976),
    [sym_splat_argument] = STATE(4790),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_right_assignment_list] = STATE(4791),
    [sym__arg_or_splat_arg] = STATE(8089),
    [sym_left_assignment_list] = STATE(1850),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1851),
    [sym__variable] = STATE(1849),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__splat_star] = ACTIONS(10994),
    [sym__unary_minus] = ACTIONS(2886),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2888),
    [anon_sym_yield] = ACTIONS(2890),
    [anon_sym_break] = ACTIONS(2892),
    [anon_sym_next] = ACTIONS(2894),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2896),
    [anon_sym_defined_QMARK] = ACTIONS(2898),
    [anon_sym_not] = ACTIONS(2900),
    [anon_sym_BANG] = ACTIONS(2902),
    [anon_sym_TILDE] = ACTIONS(2902),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4672] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(8090),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(1849),
    [sym_call] = STATE(1849),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1850),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1851),
    [sym__variable] = STATE(1849),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2886),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2888),
    [anon_sym_yield] = ACTIONS(2890),
    [anon_sym_break] = ACTIONS(2892),
    [anon_sym_next] = ACTIONS(2894),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2896),
    [anon_sym_defined_QMARK] = ACTIONS(2898),
    [anon_sym_not] = ACTIONS(2900),
    [anon_sym_BANG] = ACTIONS(2902),
    [anon_sym_TILDE] = ACTIONS(2902),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4673] = {
    [sym__simple_heredoc_body] = ACTIONS(4578),
    [sym__heredoc_body_beginning] = ACTIONS(4578),
    [sym__element_reference_left_bracket] = ACTIONS(4578),
    [sym__scope_double_colon] = ACTIONS(4578),
    [sym__binary_minus] = ACTIONS(4578),
    [sym__binary_star] = ACTIONS(4578),
    [anon_sym_LBRACE] = ACTIONS(4578),
    [anon_sym_RBRACE] = ACTIONS(4578),
    [anon_sym_RPAREN] = ACTIONS(4578),
    [anon_sym_DOT] = ACTIONS(4580),
    [anon_sym_COMMA] = ACTIONS(4578),
    [anon_sym_PIPE] = ACTIONS(4580),
    [anon_sym_SEMI] = ACTIONS(4578),
    [anon_sym_STAR_STAR] = ACTIONS(4578),
    [anon_sym_AMP] = ACTIONS(4580),
    [anon_sym_EQ] = ACTIONS(4580),
    [anon_sym_LT] = ACTIONS(4580),
    [anon_sym_in] = ACTIONS(4578),
    [anon_sym_do] = ACTIONS(4578),
    [anon_sym_EQ_GT] = ACTIONS(4578),
    [anon_sym_RBRACK] = ACTIONS(4578),
    [anon_sym_AMP_DOT] = ACTIONS(4578),
    [anon_sym_QMARK] = ACTIONS(4578),
    [anon_sym_COLON] = ACTIONS(4578),
    [anon_sym_DOT_DOT] = ACTIONS(4580),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4578),
    [anon_sym_and] = ACTIONS(4578),
    [anon_sym_or] = ACTIONS(4578),
    [anon_sym_PIPE_PIPE] = ACTIONS(4578),
    [anon_sym_AMP_AMP] = ACTIONS(4578),
    [anon_sym_LT_LT] = ACTIONS(4578),
    [anon_sym_GT_GT] = ACTIONS(4578),
    [anon_sym_EQ_EQ] = ACTIONS(4580),
    [anon_sym_BANG_EQ] = ACTIONS(4578),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4578),
    [anon_sym_LT_EQ_GT] = ACTIONS(4578),
    [anon_sym_EQ_TILDE] = ACTIONS(4578),
    [anon_sym_BANG_TILDE] = ACTIONS(4578),
    [anon_sym_LT_EQ] = ACTIONS(4580),
    [anon_sym_GT] = ACTIONS(4580),
    [anon_sym_GT_EQ] = ACTIONS(4578),
    [anon_sym_CARET] = ACTIONS(4578),
    [anon_sym_PLUS] = ACTIONS(4578),
    [anon_sym_SLASH] = ACTIONS(4578),
    [anon_sym_PERCENT] = ACTIONS(4578),
    [sym_comment] = ACTIONS(256),
  },
  [4674] = {
    [anon_sym_RBRACE] = ACTIONS(10996),
    [sym_comment] = ACTIONS(110),
  },
  [4675] = {
    [sym__binary_minus] = ACTIONS(4614),
    [sym__binary_star] = ACTIONS(4616),
    [anon_sym_RPAREN] = ACTIONS(10998),
    [anon_sym_PIPE] = ACTIONS(4620),
    [anon_sym_STAR_STAR] = ACTIONS(4622),
    [anon_sym_AMP] = ACTIONS(4624),
    [anon_sym_LT] = ACTIONS(4626),
    [anon_sym_QMARK] = ACTIONS(4628),
    [anon_sym_DOT_DOT] = ACTIONS(4630),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4632),
    [anon_sym_and] = ACTIONS(4634),
    [anon_sym_or] = ACTIONS(4634),
    [anon_sym_PIPE_PIPE] = ACTIONS(4636),
    [anon_sym_AMP_AMP] = ACTIONS(4636),
    [anon_sym_LT_LT] = ACTIONS(4638),
    [anon_sym_GT_GT] = ACTIONS(4638),
    [anon_sym_EQ_EQ] = ACTIONS(4640),
    [anon_sym_BANG_EQ] = ACTIONS(4636),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4636),
    [anon_sym_LT_EQ_GT] = ACTIONS(4636),
    [anon_sym_EQ_TILDE] = ACTIONS(4636),
    [anon_sym_BANG_TILDE] = ACTIONS(4636),
    [anon_sym_LT_EQ] = ACTIONS(4626),
    [anon_sym_GT] = ACTIONS(4626),
    [anon_sym_GT_EQ] = ACTIONS(4642),
    [anon_sym_CARET] = ACTIONS(4644),
    [anon_sym_PLUS] = ACTIONS(4646),
    [anon_sym_SLASH] = ACTIONS(4622),
    [anon_sym_PERCENT] = ACTIONS(4622),
    [sym_comment] = ACTIONS(110),
  },
  [4676] = {
    [sym__method_rest] = STATE(8093),
    [sym_operator] = STATE(217),
    [sym__method_name] = STATE(1866),
    [sym_setter] = STATE(217),
    [sym_symbol] = STATE(217),
    [sym__simple_symbol] = ACTIONS(378),
    [sym__symbol_beginning] = ACTIONS(380),
    [anon_sym_PIPE] = ACTIONS(384),
    [anon_sym_STAR] = ACTIONS(386),
    [anon_sym_STAR_STAR] = ACTIONS(384),
    [anon_sym_AMP] = ACTIONS(384),
    [anon_sym_LT] = ACTIONS(386),
    [anon_sym_DOT_DOT] = ACTIONS(384),
    [anon_sym_LT_LT] = ACTIONS(384),
    [anon_sym_GT_GT] = ACTIONS(384),
    [anon_sym_EQ_EQ] = ACTIONS(386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(384),
    [anon_sym_LT_EQ_GT] = ACTIONS(384),
    [anon_sym_EQ_TILDE] = ACTIONS(384),
    [anon_sym_BANG_TILDE] = ACTIONS(384),
    [anon_sym_LT_EQ] = ACTIONS(386),
    [anon_sym_GT] = ACTIONS(386),
    [anon_sym_GT_EQ] = ACTIONS(384),
    [anon_sym_CARET] = ACTIONS(384),
    [anon_sym_PLUS] = ACTIONS(386),
    [anon_sym_SLASH] = ACTIONS(384),
    [anon_sym_PERCENT] = ACTIONS(384),
    [anon_sym_BANG] = ACTIONS(386),
    [anon_sym_TILDE] = ACTIONS(384),
    [sym_constant] = ACTIONS(4694),
    [sym_identifier] = ACTIONS(4696),
    [sym_instance_variable] = ACTIONS(4694),
    [sym_class_variable] = ACTIONS(4694),
    [sym_global_variable] = ACTIONS(4694),
    [anon_sym_DASH] = ACTIONS(386),
    [anon_sym_PLUS_AT] = ACTIONS(384),
    [anon_sym_DASH_AT] = ACTIONS(384),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(386),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(384),
    [anon_sym_BQUOTE] = ACTIONS(384),
    [sym_comment] = ACTIONS(110),
  },
  [4677] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(8095),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11000),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4678] = {
    [sym__simple_heredoc_body] = ACTIONS(4826),
    [sym__heredoc_body_beginning] = ACTIONS(4826),
    [sym__element_reference_left_bracket] = ACTIONS(4826),
    [sym__scope_double_colon] = ACTIONS(4826),
    [sym__binary_minus] = ACTIONS(4826),
    [sym__binary_star] = ACTIONS(4826),
    [anon_sym_LBRACE] = ACTIONS(4826),
    [anon_sym_RBRACE] = ACTIONS(4826),
    [anon_sym_RPAREN] = ACTIONS(4826),
    [anon_sym_DOT] = ACTIONS(4828),
    [anon_sym_COMMA] = ACTIONS(4826),
    [anon_sym_PIPE] = ACTIONS(4828),
    [anon_sym_SEMI] = ACTIONS(4826),
    [anon_sym_STAR_STAR] = ACTIONS(4826),
    [anon_sym_AMP] = ACTIONS(4828),
    [anon_sym_EQ] = ACTIONS(4828),
    [anon_sym_LT] = ACTIONS(4828),
    [anon_sym_in] = ACTIONS(4826),
    [anon_sym_do] = ACTIONS(4826),
    [anon_sym_EQ_GT] = ACTIONS(4826),
    [anon_sym_RBRACK] = ACTIONS(4826),
    [anon_sym_AMP_DOT] = ACTIONS(4826),
    [anon_sym_QMARK] = ACTIONS(4826),
    [anon_sym_COLON] = ACTIONS(4826),
    [anon_sym_DOT_DOT] = ACTIONS(4828),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4826),
    [anon_sym_and] = ACTIONS(4826),
    [anon_sym_or] = ACTIONS(4826),
    [anon_sym_PIPE_PIPE] = ACTIONS(4826),
    [anon_sym_AMP_AMP] = ACTIONS(4826),
    [anon_sym_LT_LT] = ACTIONS(4826),
    [anon_sym_GT_GT] = ACTIONS(4826),
    [anon_sym_EQ_EQ] = ACTIONS(4828),
    [anon_sym_BANG_EQ] = ACTIONS(4826),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4826),
    [anon_sym_LT_EQ_GT] = ACTIONS(4826),
    [anon_sym_EQ_TILDE] = ACTIONS(4826),
    [anon_sym_BANG_TILDE] = ACTIONS(4826),
    [anon_sym_LT_EQ] = ACTIONS(4828),
    [anon_sym_GT] = ACTIONS(4828),
    [anon_sym_GT_EQ] = ACTIONS(4826),
    [anon_sym_CARET] = ACTIONS(4826),
    [anon_sym_PLUS] = ACTIONS(4826),
    [anon_sym_SLASH] = ACTIONS(4826),
    [anon_sym_PERCENT] = ACTIONS(4826),
    [sym_comment] = ACTIONS(256),
  },
  [4679] = {
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(8096),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym__line_break] = ACTIONS(692),
    [sym__binary_minus] = ACTIONS(5168),
    [sym__binary_star] = ACTIONS(5170),
    [anon_sym_PIPE] = ACTIONS(5172),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR_STAR] = ACTIONS(5174),
    [anon_sym_AMP] = ACTIONS(5176),
    [anon_sym_LT] = ACTIONS(5178),
    [anon_sym_QMARK] = ACTIONS(5180),
    [anon_sym_DOT_DOT] = ACTIONS(5182),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5184),
    [anon_sym_and] = ACTIONS(5186),
    [anon_sym_or] = ACTIONS(5186),
    [anon_sym_PIPE_PIPE] = ACTIONS(5188),
    [anon_sym_AMP_AMP] = ACTIONS(5188),
    [anon_sym_LT_LT] = ACTIONS(5190),
    [anon_sym_GT_GT] = ACTIONS(5190),
    [anon_sym_EQ_EQ] = ACTIONS(5192),
    [anon_sym_BANG_EQ] = ACTIONS(5188),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5188),
    [anon_sym_LT_EQ_GT] = ACTIONS(5188),
    [anon_sym_EQ_TILDE] = ACTIONS(5188),
    [anon_sym_BANG_TILDE] = ACTIONS(5188),
    [anon_sym_LT_EQ] = ACTIONS(5178),
    [anon_sym_GT] = ACTIONS(5178),
    [anon_sym_GT_EQ] = ACTIONS(5194),
    [anon_sym_CARET] = ACTIONS(5196),
    [anon_sym_PLUS] = ACTIONS(5198),
    [anon_sym_SLASH] = ACTIONS(5174),
    [anon_sym_PERCENT] = ACTIONS(5174),
    [sym_comment] = ACTIONS(110),
  },
  [4680] = {
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(8097),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym__line_break] = ACTIONS(692),
    [anon_sym_SEMI] = ACTIONS(692),
    [sym_comment] = ACTIONS(110),
  },
  [4681] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(8099),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11002),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4682] = {
    [sym__simple_heredoc_body] = ACTIONS(5290),
    [sym__heredoc_body_beginning] = ACTIONS(5290),
    [sym__element_reference_left_bracket] = ACTIONS(5290),
    [sym__scope_double_colon] = ACTIONS(5290),
    [sym__binary_minus] = ACTIONS(5290),
    [sym__binary_star] = ACTIONS(5290),
    [anon_sym_LBRACE] = ACTIONS(5290),
    [anon_sym_RBRACE] = ACTIONS(5290),
    [anon_sym_RPAREN] = ACTIONS(5290),
    [anon_sym_DOT] = ACTIONS(5292),
    [anon_sym_COMMA] = ACTIONS(5290),
    [anon_sym_PIPE] = ACTIONS(5292),
    [anon_sym_SEMI] = ACTIONS(5290),
    [anon_sym_STAR_STAR] = ACTIONS(5290),
    [anon_sym_AMP] = ACTIONS(5292),
    [anon_sym_EQ] = ACTIONS(5292),
    [anon_sym_LT] = ACTIONS(5292),
    [anon_sym_in] = ACTIONS(5290),
    [anon_sym_do] = ACTIONS(5290),
    [anon_sym_EQ_GT] = ACTIONS(5290),
    [anon_sym_RBRACK] = ACTIONS(5290),
    [anon_sym_AMP_DOT] = ACTIONS(5290),
    [anon_sym_QMARK] = ACTIONS(5290),
    [anon_sym_COLON] = ACTIONS(5290),
    [anon_sym_DOT_DOT] = ACTIONS(5292),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5290),
    [anon_sym_and] = ACTIONS(5290),
    [anon_sym_or] = ACTIONS(5290),
    [anon_sym_PIPE_PIPE] = ACTIONS(5290),
    [anon_sym_AMP_AMP] = ACTIONS(5290),
    [anon_sym_LT_LT] = ACTIONS(5290),
    [anon_sym_GT_GT] = ACTIONS(5290),
    [anon_sym_EQ_EQ] = ACTIONS(5292),
    [anon_sym_BANG_EQ] = ACTIONS(5290),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5290),
    [anon_sym_LT_EQ_GT] = ACTIONS(5290),
    [anon_sym_EQ_TILDE] = ACTIONS(5290),
    [anon_sym_BANG_TILDE] = ACTIONS(5290),
    [anon_sym_LT_EQ] = ACTIONS(5292),
    [anon_sym_GT] = ACTIONS(5292),
    [anon_sym_GT_EQ] = ACTIONS(5290),
    [anon_sym_CARET] = ACTIONS(5290),
    [anon_sym_PLUS] = ACTIONS(5290),
    [anon_sym_SLASH] = ACTIONS(5290),
    [anon_sym_PERCENT] = ACTIONS(5290),
    [sym_comment] = ACTIONS(256),
  },
  [4683] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(8101),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11004),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4684] = {
    [sym__simple_heredoc_body] = ACTIONS(5290),
    [sym__heredoc_body_beginning] = ACTIONS(5290),
    [sym__element_reference_left_bracket] = ACTIONS(5290),
    [sym__scope_double_colon] = ACTIONS(5290),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__binary_minus] = ACTIONS(5290),
    [sym__binary_star] = ACTIONS(5290),
    [anon_sym_LBRACE] = ACTIONS(5290),
    [anon_sym_RBRACE] = ACTIONS(5290),
    [anon_sym_RPAREN] = ACTIONS(5290),
    [anon_sym_DOT] = ACTIONS(5292),
    [anon_sym_COMMA] = ACTIONS(5290),
    [anon_sym_PIPE] = ACTIONS(5292),
    [anon_sym_SEMI] = ACTIONS(5290),
    [anon_sym_STAR_STAR] = ACTIONS(5290),
    [anon_sym_AMP] = ACTIONS(5292),
    [anon_sym_EQ] = ACTIONS(5292),
    [anon_sym_LT] = ACTIONS(5292),
    [anon_sym_in] = ACTIONS(5290),
    [anon_sym_do] = ACTIONS(5290),
    [anon_sym_EQ_GT] = ACTIONS(5290),
    [anon_sym_RBRACK] = ACTIONS(5290),
    [anon_sym_AMP_DOT] = ACTIONS(5290),
    [anon_sym_QMARK] = ACTIONS(5290),
    [anon_sym_COLON] = ACTIONS(5290),
    [anon_sym_DOT_DOT] = ACTIONS(5292),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5290),
    [anon_sym_and] = ACTIONS(5290),
    [anon_sym_or] = ACTIONS(5290),
    [anon_sym_PIPE_PIPE] = ACTIONS(5290),
    [anon_sym_AMP_AMP] = ACTIONS(5290),
    [anon_sym_LT_LT] = ACTIONS(5290),
    [anon_sym_GT_GT] = ACTIONS(5290),
    [anon_sym_EQ_EQ] = ACTIONS(5292),
    [anon_sym_BANG_EQ] = ACTIONS(5290),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5290),
    [anon_sym_LT_EQ_GT] = ACTIONS(5290),
    [anon_sym_EQ_TILDE] = ACTIONS(5290),
    [anon_sym_BANG_TILDE] = ACTIONS(5290),
    [anon_sym_LT_EQ] = ACTIONS(5292),
    [anon_sym_GT] = ACTIONS(5292),
    [anon_sym_GT_EQ] = ACTIONS(5290),
    [anon_sym_CARET] = ACTIONS(5290),
    [anon_sym_PLUS] = ACTIONS(5290),
    [anon_sym_SLASH] = ACTIONS(5290),
    [anon_sym_PERCENT] = ACTIONS(5290),
    [sym_comment] = ACTIONS(256),
  },
  [4685] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(6774),
    [sym__binary_star] = ACTIONS(6776),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(6778),
    [anon_sym_STAR_STAR] = ACTIONS(6780),
    [anon_sym_AMP] = ACTIONS(6782),
    [anon_sym_LT] = ACTIONS(6784),
    [anon_sym_EQ_GT] = ACTIONS(5298),
    [anon_sym_RBRACK] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(6786),
    [anon_sym_DOT_DOT] = ACTIONS(6788),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6790),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(6792),
    [anon_sym_AMP_AMP] = ACTIONS(6792),
    [anon_sym_LT_LT] = ACTIONS(6794),
    [anon_sym_GT_GT] = ACTIONS(6794),
    [anon_sym_EQ_EQ] = ACTIONS(6796),
    [anon_sym_BANG_EQ] = ACTIONS(6792),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6792),
    [anon_sym_LT_EQ_GT] = ACTIONS(6792),
    [anon_sym_EQ_TILDE] = ACTIONS(6792),
    [anon_sym_BANG_TILDE] = ACTIONS(6792),
    [anon_sym_LT_EQ] = ACTIONS(6784),
    [anon_sym_GT] = ACTIONS(6784),
    [anon_sym_GT_EQ] = ACTIONS(6798),
    [anon_sym_CARET] = ACTIONS(6800),
    [anon_sym_PLUS] = ACTIONS(6802),
    [anon_sym_SLASH] = ACTIONS(6780),
    [anon_sym_PERCENT] = ACTIONS(6780),
    [sym_comment] = ACTIONS(110),
  },
  [4686] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(6774),
    [sym__binary_star] = ACTIONS(6776),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(6778),
    [anon_sym_STAR_STAR] = ACTIONS(6780),
    [anon_sym_AMP] = ACTIONS(6782),
    [anon_sym_LT] = ACTIONS(6784),
    [anon_sym_EQ_GT] = ACTIONS(5338),
    [anon_sym_RBRACK] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(6786),
    [anon_sym_DOT_DOT] = ACTIONS(6788),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6790),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(6792),
    [anon_sym_AMP_AMP] = ACTIONS(6792),
    [anon_sym_LT_LT] = ACTIONS(6794),
    [anon_sym_GT_GT] = ACTIONS(6794),
    [anon_sym_EQ_EQ] = ACTIONS(6796),
    [anon_sym_BANG_EQ] = ACTIONS(6792),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6792),
    [anon_sym_LT_EQ_GT] = ACTIONS(6792),
    [anon_sym_EQ_TILDE] = ACTIONS(6792),
    [anon_sym_BANG_TILDE] = ACTIONS(6792),
    [anon_sym_LT_EQ] = ACTIONS(6784),
    [anon_sym_GT] = ACTIONS(6784),
    [anon_sym_GT_EQ] = ACTIONS(6798),
    [anon_sym_CARET] = ACTIONS(6800),
    [anon_sym_PLUS] = ACTIONS(6802),
    [anon_sym_SLASH] = ACTIONS(6780),
    [anon_sym_PERCENT] = ACTIONS(6780),
    [sym_comment] = ACTIONS(110),
  },
  [4687] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_STAR_STAR] = ACTIONS(6780),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_EQ_GT] = ACTIONS(1372),
    [anon_sym_RBRACK] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [4688] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(6774),
    [sym__binary_star] = ACTIONS(6776),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(6778),
    [anon_sym_STAR_STAR] = ACTIONS(6780),
    [anon_sym_AMP] = ACTIONS(6782),
    [anon_sym_LT] = ACTIONS(6784),
    [anon_sym_EQ_GT] = ACTIONS(4284),
    [anon_sym_RBRACK] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(6786),
    [anon_sym_DOT_DOT] = ACTIONS(6788),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6790),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(6792),
    [anon_sym_AMP_AMP] = ACTIONS(6792),
    [anon_sym_LT_LT] = ACTIONS(6794),
    [anon_sym_GT_GT] = ACTIONS(6794),
    [anon_sym_EQ_EQ] = ACTIONS(6796),
    [anon_sym_BANG_EQ] = ACTIONS(6792),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6792),
    [anon_sym_LT_EQ_GT] = ACTIONS(6792),
    [anon_sym_EQ_TILDE] = ACTIONS(6792),
    [anon_sym_BANG_TILDE] = ACTIONS(6792),
    [anon_sym_LT_EQ] = ACTIONS(6784),
    [anon_sym_GT] = ACTIONS(6784),
    [anon_sym_GT_EQ] = ACTIONS(6798),
    [anon_sym_CARET] = ACTIONS(6800),
    [anon_sym_PLUS] = ACTIONS(6802),
    [anon_sym_SLASH] = ACTIONS(6780),
    [anon_sym_PERCENT] = ACTIONS(6780),
    [sym_comment] = ACTIONS(110),
  },
  [4689] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(6780),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_RBRACK] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [4690] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(6774),
    [sym__binary_star] = ACTIONS(6776),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(6778),
    [anon_sym_STAR_STAR] = ACTIONS(6780),
    [anon_sym_AMP] = ACTIONS(6782),
    [anon_sym_LT] = ACTIONS(6784),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_RBRACK] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(6786),
    [anon_sym_DOT_DOT] = ACTIONS(6788),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6790),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(6792),
    [anon_sym_AMP_AMP] = ACTIONS(6792),
    [anon_sym_LT_LT] = ACTIONS(6794),
    [anon_sym_GT_GT] = ACTIONS(6794),
    [anon_sym_EQ_EQ] = ACTIONS(6796),
    [anon_sym_BANG_EQ] = ACTIONS(6792),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6792),
    [anon_sym_LT_EQ_GT] = ACTIONS(6792),
    [anon_sym_EQ_TILDE] = ACTIONS(6792),
    [anon_sym_BANG_TILDE] = ACTIONS(6792),
    [anon_sym_LT_EQ] = ACTIONS(6784),
    [anon_sym_GT] = ACTIONS(6784),
    [anon_sym_GT_EQ] = ACTIONS(6798),
    [anon_sym_CARET] = ACTIONS(6800),
    [anon_sym_PLUS] = ACTIONS(6802),
    [anon_sym_SLASH] = ACTIONS(6780),
    [anon_sym_PERCENT] = ACTIONS(6780),
    [sym_comment] = ACTIONS(110),
  },
  [4691] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(8102),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1888),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1889),
    [sym__variable] = STATE(504),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2938),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2904),
    [anon_sym_yield] = ACTIONS(2906),
    [anon_sym_break] = ACTIONS(2908),
    [anon_sym_next] = ACTIONS(2910),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(6768),
    [anon_sym_defined_QMARK] = ACTIONS(2940),
    [anon_sym_not] = ACTIONS(6770),
    [anon_sym_BANG] = ACTIONS(2946),
    [anon_sym_TILDE] = ACTIONS(2946),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4692] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(8103),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1888),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1889),
    [sym__variable] = STATE(504),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2938),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2904),
    [anon_sym_yield] = ACTIONS(2906),
    [anon_sym_break] = ACTIONS(2908),
    [anon_sym_next] = ACTIONS(2910),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(6768),
    [anon_sym_defined_QMARK] = ACTIONS(2940),
    [anon_sym_not] = ACTIONS(6770),
    [anon_sym_BANG] = ACTIONS(2946),
    [anon_sym_TILDE] = ACTIONS(2946),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4693] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(8104),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1888),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1889),
    [sym__variable] = STATE(504),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2938),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2904),
    [anon_sym_yield] = ACTIONS(2906),
    [anon_sym_break] = ACTIONS(2908),
    [anon_sym_next] = ACTIONS(2910),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(6768),
    [anon_sym_defined_QMARK] = ACTIONS(2940),
    [anon_sym_not] = ACTIONS(6770),
    [anon_sym_BANG] = ACTIONS(2946),
    [anon_sym_TILDE] = ACTIONS(2946),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4694] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(8105),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1888),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1889),
    [sym__variable] = STATE(504),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2938),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2904),
    [anon_sym_yield] = ACTIONS(2906),
    [anon_sym_break] = ACTIONS(2908),
    [anon_sym_next] = ACTIONS(2910),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(6768),
    [anon_sym_defined_QMARK] = ACTIONS(2940),
    [anon_sym_not] = ACTIONS(6770),
    [anon_sym_BANG] = ACTIONS(2946),
    [anon_sym_TILDE] = ACTIONS(2946),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4695] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(8106),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1888),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1889),
    [sym__variable] = STATE(504),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2938),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2904),
    [anon_sym_yield] = ACTIONS(2906),
    [anon_sym_break] = ACTIONS(2908),
    [anon_sym_next] = ACTIONS(2910),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(6768),
    [anon_sym_defined_QMARK] = ACTIONS(2940),
    [anon_sym_not] = ACTIONS(6770),
    [anon_sym_BANG] = ACTIONS(2946),
    [anon_sym_TILDE] = ACTIONS(2946),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4696] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(8107),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1888),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1889),
    [sym__variable] = STATE(504),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2938),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2904),
    [anon_sym_yield] = ACTIONS(2906),
    [anon_sym_break] = ACTIONS(2908),
    [anon_sym_next] = ACTIONS(2910),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(6768),
    [anon_sym_defined_QMARK] = ACTIONS(2940),
    [anon_sym_not] = ACTIONS(6770),
    [anon_sym_BANG] = ACTIONS(2946),
    [anon_sym_TILDE] = ACTIONS(2946),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4697] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(8108),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1888),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1889),
    [sym__variable] = STATE(504),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2938),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2904),
    [anon_sym_yield] = ACTIONS(2906),
    [anon_sym_break] = ACTIONS(2908),
    [anon_sym_next] = ACTIONS(2910),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(6768),
    [anon_sym_defined_QMARK] = ACTIONS(2940),
    [anon_sym_not] = ACTIONS(6770),
    [anon_sym_BANG] = ACTIONS(2946),
    [anon_sym_TILDE] = ACTIONS(2946),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4698] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(8109),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [4699] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(8110),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1888),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1889),
    [sym__variable] = STATE(504),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2938),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2904),
    [anon_sym_yield] = ACTIONS(2906),
    [anon_sym_break] = ACTIONS(2908),
    [anon_sym_next] = ACTIONS(2910),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(6768),
    [anon_sym_defined_QMARK] = ACTIONS(2940),
    [anon_sym_not] = ACTIONS(6770),
    [anon_sym_BANG] = ACTIONS(2946),
    [anon_sym_TILDE] = ACTIONS(2946),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4700] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(8111),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1888),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1889),
    [sym__variable] = STATE(504),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2938),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2904),
    [anon_sym_yield] = ACTIONS(2906),
    [anon_sym_break] = ACTIONS(2908),
    [anon_sym_next] = ACTIONS(2910),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(6768),
    [anon_sym_defined_QMARK] = ACTIONS(2940),
    [anon_sym_not] = ACTIONS(6770),
    [anon_sym_BANG] = ACTIONS(2946),
    [anon_sym_TILDE] = ACTIONS(2946),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4701] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(8112),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1888),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1889),
    [sym__variable] = STATE(504),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2938),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2904),
    [anon_sym_yield] = ACTIONS(2906),
    [anon_sym_break] = ACTIONS(2908),
    [anon_sym_next] = ACTIONS(2910),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(6768),
    [anon_sym_defined_QMARK] = ACTIONS(2940),
    [anon_sym_not] = ACTIONS(6770),
    [anon_sym_BANG] = ACTIONS(2946),
    [anon_sym_TILDE] = ACTIONS(2946),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4702] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(8113),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1888),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1889),
    [sym__variable] = STATE(504),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2938),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2904),
    [anon_sym_yield] = ACTIONS(2906),
    [anon_sym_break] = ACTIONS(2908),
    [anon_sym_next] = ACTIONS(2910),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(6768),
    [anon_sym_defined_QMARK] = ACTIONS(2940),
    [anon_sym_not] = ACTIONS(6770),
    [anon_sym_BANG] = ACTIONS(2946),
    [anon_sym_TILDE] = ACTIONS(2946),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4703] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(8114),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1888),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1889),
    [sym__variable] = STATE(504),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2938),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2904),
    [anon_sym_yield] = ACTIONS(2906),
    [anon_sym_break] = ACTIONS(2908),
    [anon_sym_next] = ACTIONS(2910),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(6768),
    [anon_sym_defined_QMARK] = ACTIONS(2940),
    [anon_sym_not] = ACTIONS(6770),
    [anon_sym_BANG] = ACTIONS(2946),
    [anon_sym_TILDE] = ACTIONS(2946),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4704] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1885),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(6127),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1888),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1889),
    [sym__variable] = STATE(504),
    [sym_reserved_identifier] = STATE(1890),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1891),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(8115),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(2934),
    [sym__splat_star] = ACTIONS(2936),
    [sym__unary_minus] = ACTIONS(2938),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(11006),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(824),
    [anon_sym_yield] = ACTIONS(826),
    [anon_sym_break] = ACTIONS(828),
    [anon_sym_next] = ACTIONS(830),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(6768),
    [anon_sym_defined_QMARK] = ACTIONS(2940),
    [anon_sym_not] = ACTIONS(2942),
    [anon_sym_BANG] = ACTIONS(2946),
    [anon_sym_TILDE] = ACTIONS(2946),
    [sym_constant] = ACTIONS(2948),
    [sym_identifier] = ACTIONS(2948),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4705] = {
    [sym_heredoc_end] = STATE(3004),
    [aux_sym_argument_list_repeat2] = STATE(6130),
    [sym__simple_heredoc_body] = ACTIONS(4410),
    [sym__heredoc_body_beginning] = ACTIONS(4412),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(11008),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_STAR_STAR] = ACTIONS(5472),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_EQ_GT] = ACTIONS(5472),
    [anon_sym_RBRACK] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5472),
    [anon_sym_AMP_AMP] = ACTIONS(5472),
    [anon_sym_LT_LT] = ACTIONS(5472),
    [anon_sym_GT_GT] = ACTIONS(5472),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5472),
    [anon_sym_PLUS] = ACTIONS(5472),
    [anon_sym_SLASH] = ACTIONS(5472),
    [anon_sym_PERCENT] = ACTIONS(5472),
    [sym_comment] = ACTIONS(110),
  },
  [4706] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(8117),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym_splat_argument] = STATE(6132),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_right_assignment_list] = STATE(6133),
    [sym__arg_or_splat_arg] = STATE(8118),
    [sym_left_assignment_list] = STATE(1888),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1889),
    [sym__variable] = STATE(504),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__splat_star] = ACTIONS(2936),
    [sym__unary_minus] = ACTIONS(2938),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2904),
    [anon_sym_yield] = ACTIONS(2906),
    [anon_sym_break] = ACTIONS(2908),
    [anon_sym_next] = ACTIONS(2910),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(6768),
    [anon_sym_defined_QMARK] = ACTIONS(2940),
    [anon_sym_not] = ACTIONS(6770),
    [anon_sym_BANG] = ACTIONS(2946),
    [anon_sym_TILDE] = ACTIONS(2946),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4707] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(8119),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1888),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1889),
    [sym__variable] = STATE(504),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2938),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2904),
    [anon_sym_yield] = ACTIONS(2906),
    [anon_sym_break] = ACTIONS(2908),
    [anon_sym_next] = ACTIONS(2910),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(6768),
    [anon_sym_defined_QMARK] = ACTIONS(2940),
    [anon_sym_not] = ACTIONS(6770),
    [anon_sym_BANG] = ACTIONS(2946),
    [anon_sym_TILDE] = ACTIONS(2946),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4708] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(8120),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1888),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1889),
    [sym__variable] = STATE(504),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2938),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2904),
    [anon_sym_yield] = ACTIONS(2906),
    [anon_sym_break] = ACTIONS(2908),
    [anon_sym_next] = ACTIONS(2910),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(6768),
    [anon_sym_defined_QMARK] = ACTIONS(2940),
    [anon_sym_not] = ACTIONS(6770),
    [anon_sym_BANG] = ACTIONS(2946),
    [anon_sym_TILDE] = ACTIONS(2946),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4709] = {
    [sym__statements] = STATE(8122),
    [sym__top_level_statement] = STATE(3863),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(3864),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_elsif] = STATE(3865),
    [sym_else] = STATE(3865),
    [sym__if_tail] = STATE(8123),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3867),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3869),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3870),
    [sym__variable] = STATE(3868),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(3849),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(8124),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(5566),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(5568),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(5570),
    [sym__unary_minus] = ACTIONS(5572),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11010),
    [anon_sym_SEMI] = ACTIONS(5576),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_elsif] = ACTIONS(5586),
    [anon_sym_else] = ACTIONS(5588),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5590),
    [anon_sym_defined_QMARK] = ACTIONS(5592),
    [anon_sym_not] = ACTIONS(5594),
    [anon_sym_BANG] = ACTIONS(5596),
    [anon_sym_TILDE] = ACTIONS(5596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4710] = {
    [sym__statements] = STATE(8126),
    [sym__top_level_statement] = STATE(3946),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(3947),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(8127),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3949),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3950),
    [sym_call] = STATE(3950),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3951),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3952),
    [sym__variable] = STATE(3950),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5682),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11012),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5686),
    [anon_sym_yield] = ACTIONS(5688),
    [anon_sym_break] = ACTIONS(5690),
    [anon_sym_next] = ACTIONS(5692),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(5588),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5694),
    [anon_sym_defined_QMARK] = ACTIONS(5696),
    [anon_sym_not] = ACTIONS(5698),
    [anon_sym_BANG] = ACTIONS(5700),
    [anon_sym_TILDE] = ACTIONS(5700),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4711] = {
    [sym__statements] = STATE(8129),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11014),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4712] = {
    [sym__statements] = STATE(8131),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11016),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4713] = {
    [sym__do] = STATE(8132),
    [sym_heredoc_end] = STATE(1550),
    [sym__terminator] = STATE(1557),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym__line_break] = ACTIONS(2446),
    [anon_sym_SEMI] = ACTIONS(2446),
    [anon_sym_do] = ACTIONS(2460),
    [sym_comment] = ACTIONS(110),
  },
  [4714] = {
    [sym__simple_heredoc_body] = ACTIONS(6154),
    [sym__heredoc_body_beginning] = ACTIONS(6154),
    [sym__element_reference_left_bracket] = ACTIONS(6154),
    [sym__scope_double_colon] = ACTIONS(6154),
    [sym__binary_minus] = ACTIONS(6154),
    [sym__binary_star] = ACTIONS(6154),
    [anon_sym_LBRACE] = ACTIONS(6154),
    [anon_sym_RBRACE] = ACTIONS(6154),
    [anon_sym_RPAREN] = ACTIONS(6154),
    [anon_sym_DOT] = ACTIONS(6156),
    [anon_sym_COMMA] = ACTIONS(6154),
    [anon_sym_PIPE] = ACTIONS(6156),
    [anon_sym_SEMI] = ACTIONS(6154),
    [anon_sym_STAR_STAR] = ACTIONS(6154),
    [anon_sym_AMP] = ACTIONS(6156),
    [anon_sym_EQ] = ACTIONS(6156),
    [anon_sym_LT] = ACTIONS(6156),
    [anon_sym_in] = ACTIONS(6154),
    [anon_sym_do] = ACTIONS(6154),
    [anon_sym_EQ_GT] = ACTIONS(6154),
    [anon_sym_RBRACK] = ACTIONS(6154),
    [anon_sym_AMP_DOT] = ACTIONS(6154),
    [anon_sym_QMARK] = ACTIONS(6154),
    [anon_sym_COLON] = ACTIONS(6154),
    [anon_sym_DOT_DOT] = ACTIONS(6156),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6154),
    [anon_sym_and] = ACTIONS(6154),
    [anon_sym_or] = ACTIONS(6154),
    [anon_sym_PIPE_PIPE] = ACTIONS(6154),
    [anon_sym_AMP_AMP] = ACTIONS(6154),
    [anon_sym_LT_LT] = ACTIONS(6154),
    [anon_sym_GT_GT] = ACTIONS(6154),
    [anon_sym_EQ_EQ] = ACTIONS(6156),
    [anon_sym_BANG_EQ] = ACTIONS(6154),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6154),
    [anon_sym_LT_EQ_GT] = ACTIONS(6154),
    [anon_sym_EQ_TILDE] = ACTIONS(6154),
    [anon_sym_BANG_TILDE] = ACTIONS(6154),
    [anon_sym_LT_EQ] = ACTIONS(6156),
    [anon_sym_GT] = ACTIONS(6156),
    [anon_sym_GT_EQ] = ACTIONS(6154),
    [anon_sym_CARET] = ACTIONS(6154),
    [anon_sym_PLUS] = ACTIONS(6154),
    [anon_sym_SLASH] = ACTIONS(6154),
    [anon_sym_PERCENT] = ACTIONS(6154),
    [sym_comment] = ACTIONS(256),
  },
  [4715] = {
    [anon_sym_end] = ACTIONS(11018),
    [sym_comment] = ACTIONS(110),
  },
  [4716] = {
    [sym_when] = STATE(8134),
    [sym_heredoc_end] = STATE(387),
    [sym__terminator] = STATE(1688),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym__line_break] = ACTIONS(666),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_when] = ACTIONS(2612),
    [sym_comment] = ACTIONS(110),
  },
  [4717] = {
    [sym__simple_heredoc_body] = ACTIONS(6600),
    [sym__heredoc_body_beginning] = ACTIONS(6600),
    [sym__element_reference_left_bracket] = ACTIONS(6600),
    [sym__scope_double_colon] = ACTIONS(6600),
    [sym__binary_minus] = ACTIONS(6600),
    [sym__binary_star] = ACTIONS(6600),
    [anon_sym_LBRACE] = ACTIONS(6600),
    [anon_sym_RBRACE] = ACTIONS(6600),
    [anon_sym_RPAREN] = ACTIONS(6600),
    [anon_sym_DOT] = ACTIONS(6602),
    [anon_sym_COMMA] = ACTIONS(6600),
    [anon_sym_PIPE] = ACTIONS(6602),
    [anon_sym_SEMI] = ACTIONS(6600),
    [anon_sym_STAR_STAR] = ACTIONS(6600),
    [anon_sym_AMP] = ACTIONS(6602),
    [anon_sym_EQ] = ACTIONS(6602),
    [anon_sym_LT] = ACTIONS(6602),
    [anon_sym_in] = ACTIONS(6600),
    [anon_sym_do] = ACTIONS(6600),
    [anon_sym_EQ_GT] = ACTIONS(6600),
    [anon_sym_RBRACK] = ACTIONS(6600),
    [anon_sym_AMP_DOT] = ACTIONS(6600),
    [anon_sym_QMARK] = ACTIONS(6600),
    [anon_sym_COLON] = ACTIONS(6600),
    [anon_sym_DOT_DOT] = ACTIONS(6602),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6600),
    [anon_sym_and] = ACTIONS(6600),
    [anon_sym_or] = ACTIONS(6600),
    [anon_sym_PIPE_PIPE] = ACTIONS(6600),
    [anon_sym_AMP_AMP] = ACTIONS(6600),
    [anon_sym_LT_LT] = ACTIONS(6600),
    [anon_sym_GT_GT] = ACTIONS(6600),
    [anon_sym_EQ_EQ] = ACTIONS(6602),
    [anon_sym_BANG_EQ] = ACTIONS(6600),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6600),
    [anon_sym_LT_EQ_GT] = ACTIONS(6600),
    [anon_sym_EQ_TILDE] = ACTIONS(6600),
    [anon_sym_BANG_TILDE] = ACTIONS(6600),
    [anon_sym_LT_EQ] = ACTIONS(6602),
    [anon_sym_GT] = ACTIONS(6602),
    [anon_sym_GT_EQ] = ACTIONS(6600),
    [anon_sym_CARET] = ACTIONS(6600),
    [anon_sym_PLUS] = ACTIONS(6600),
    [anon_sym_SLASH] = ACTIONS(6600),
    [anon_sym_PERCENT] = ACTIONS(6600),
    [sym_comment] = ACTIONS(256),
  },
  [4718] = {
    [anon_sym_end] = ACTIONS(11020),
    [sym_comment] = ACTIONS(110),
  },
  [4719] = {
    [sym__simple_heredoc_body] = ACTIONS(8568),
    [sym__heredoc_body_beginning] = ACTIONS(8568),
    [sym__binary_minus] = ACTIONS(6714),
    [sym__binary_star] = ACTIONS(6716),
    [anon_sym_COMMA] = ACTIONS(8568),
    [anon_sym_PIPE] = ACTIONS(6718),
    [anon_sym_STAR_STAR] = ACTIONS(6720),
    [anon_sym_AMP] = ACTIONS(6722),
    [anon_sym_LT] = ACTIONS(6724),
    [anon_sym_RBRACK] = ACTIONS(8568),
    [anon_sym_QMARK] = ACTIONS(6726),
    [anon_sym_DOT_DOT] = ACTIONS(6728),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6730),
    [anon_sym_and] = ACTIONS(6732),
    [anon_sym_or] = ACTIONS(6732),
    [anon_sym_PIPE_PIPE] = ACTIONS(6734),
    [anon_sym_AMP_AMP] = ACTIONS(6734),
    [anon_sym_LT_LT] = ACTIONS(6736),
    [anon_sym_GT_GT] = ACTIONS(6736),
    [anon_sym_EQ_EQ] = ACTIONS(6738),
    [anon_sym_BANG_EQ] = ACTIONS(6734),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6734),
    [anon_sym_LT_EQ_GT] = ACTIONS(6734),
    [anon_sym_EQ_TILDE] = ACTIONS(6734),
    [anon_sym_BANG_TILDE] = ACTIONS(6734),
    [anon_sym_LT_EQ] = ACTIONS(6724),
    [anon_sym_GT] = ACTIONS(6724),
    [anon_sym_GT_EQ] = ACTIONS(6740),
    [anon_sym_CARET] = ACTIONS(6742),
    [anon_sym_PLUS] = ACTIONS(6744),
    [anon_sym_SLASH] = ACTIONS(6720),
    [anon_sym_PERCENT] = ACTIONS(6720),
    [sym_comment] = ACTIONS(110),
  },
  [4720] = {
    [anon_sym_RBRACK] = ACTIONS(10952),
    [sym_comment] = ACTIONS(110),
  },
  [4721] = {
    [sym__simple_heredoc_body] = ACTIONS(6902),
    [sym__heredoc_body_beginning] = ACTIONS(6902),
    [sym__element_reference_left_bracket] = ACTIONS(6902),
    [sym__scope_double_colon] = ACTIONS(6902),
    [sym__binary_minus] = ACTIONS(6902),
    [sym__binary_star] = ACTIONS(6902),
    [anon_sym_LBRACE] = ACTIONS(6902),
    [anon_sym_RBRACE] = ACTIONS(6902),
    [anon_sym_RPAREN] = ACTIONS(6902),
    [anon_sym_DOT] = ACTIONS(6904),
    [anon_sym_COMMA] = ACTIONS(6902),
    [anon_sym_PIPE] = ACTIONS(6904),
    [anon_sym_SEMI] = ACTIONS(6902),
    [anon_sym_STAR_STAR] = ACTIONS(6902),
    [anon_sym_AMP] = ACTIONS(6904),
    [anon_sym_EQ] = ACTIONS(6904),
    [anon_sym_LT] = ACTIONS(6904),
    [anon_sym_in] = ACTIONS(6902),
    [anon_sym_do] = ACTIONS(6902),
    [anon_sym_EQ_GT] = ACTIONS(6902),
    [anon_sym_RBRACK] = ACTIONS(6902),
    [anon_sym_AMP_DOT] = ACTIONS(6902),
    [anon_sym_QMARK] = ACTIONS(6902),
    [anon_sym_COLON] = ACTIONS(6902),
    [anon_sym_DOT_DOT] = ACTIONS(6904),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6902),
    [anon_sym_and] = ACTIONS(6902),
    [anon_sym_or] = ACTIONS(6902),
    [anon_sym_PIPE_PIPE] = ACTIONS(6902),
    [anon_sym_AMP_AMP] = ACTIONS(6902),
    [anon_sym_LT_LT] = ACTIONS(6902),
    [anon_sym_GT_GT] = ACTIONS(6902),
    [anon_sym_EQ_EQ] = ACTIONS(6904),
    [anon_sym_BANG_EQ] = ACTIONS(6902),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6902),
    [anon_sym_LT_EQ_GT] = ACTIONS(6902),
    [anon_sym_EQ_TILDE] = ACTIONS(6902),
    [anon_sym_BANG_TILDE] = ACTIONS(6902),
    [anon_sym_LT_EQ] = ACTIONS(6904),
    [anon_sym_GT] = ACTIONS(6904),
    [anon_sym_GT_EQ] = ACTIONS(6902),
    [anon_sym_CARET] = ACTIONS(6902),
    [anon_sym_PLUS] = ACTIONS(6902),
    [anon_sym_SLASH] = ACTIONS(6902),
    [anon_sym_PERCENT] = ACTIONS(6902),
    [sym_comment] = ACTIONS(256),
  },
  [4722] = {
    [anon_sym_RBRACE] = ACTIONS(11022),
    [sym_comment] = ACTIONS(110),
  },
  [4723] = {
    [sym__statements] = STATE(8137),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(841),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(11022),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4724] = {
    [sym__simple_heredoc_body] = ACTIONS(6942),
    [sym__heredoc_body_beginning] = ACTIONS(6942),
    [sym__element_reference_left_bracket] = ACTIONS(6942),
    [sym__scope_double_colon] = ACTIONS(6942),
    [sym__binary_minus] = ACTIONS(6942),
    [sym__binary_star] = ACTIONS(6942),
    [anon_sym_LBRACE] = ACTIONS(6942),
    [anon_sym_RBRACE] = ACTIONS(6942),
    [anon_sym_RPAREN] = ACTIONS(6942),
    [anon_sym_DOT] = ACTIONS(6944),
    [anon_sym_COMMA] = ACTIONS(6942),
    [anon_sym_PIPE] = ACTIONS(6944),
    [anon_sym_SEMI] = ACTIONS(6942),
    [anon_sym_STAR_STAR] = ACTIONS(6942),
    [anon_sym_AMP] = ACTIONS(6944),
    [anon_sym_EQ] = ACTIONS(6944),
    [anon_sym_LT] = ACTIONS(6944),
    [anon_sym_in] = ACTIONS(6942),
    [anon_sym_do] = ACTIONS(6942),
    [anon_sym_EQ_GT] = ACTIONS(6942),
    [anon_sym_RBRACK] = ACTIONS(6942),
    [anon_sym_AMP_DOT] = ACTIONS(6942),
    [anon_sym_QMARK] = ACTIONS(6942),
    [anon_sym_COLON] = ACTIONS(6942),
    [anon_sym_DOT_DOT] = ACTIONS(6944),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6942),
    [anon_sym_and] = ACTIONS(6942),
    [anon_sym_or] = ACTIONS(6942),
    [anon_sym_PIPE_PIPE] = ACTIONS(6942),
    [anon_sym_AMP_AMP] = ACTIONS(6942),
    [anon_sym_LT_LT] = ACTIONS(6942),
    [anon_sym_GT_GT] = ACTIONS(6942),
    [anon_sym_EQ_EQ] = ACTIONS(6944),
    [anon_sym_BANG_EQ] = ACTIONS(6942),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6942),
    [anon_sym_LT_EQ_GT] = ACTIONS(6942),
    [anon_sym_EQ_TILDE] = ACTIONS(6942),
    [anon_sym_BANG_TILDE] = ACTIONS(6942),
    [anon_sym_LT_EQ] = ACTIONS(6944),
    [anon_sym_GT] = ACTIONS(6944),
    [anon_sym_GT_EQ] = ACTIONS(6942),
    [anon_sym_CARET] = ACTIONS(6942),
    [anon_sym_PLUS] = ACTIONS(6942),
    [anon_sym_SLASH] = ACTIONS(6942),
    [anon_sym_PERCENT] = ACTIONS(6942),
    [sym_comment] = ACTIONS(256),
  },
  [4725] = {
    [anon_sym_end] = ACTIONS(11024),
    [sym_comment] = ACTIONS(110),
  },
  [4726] = {
    [sym__statements] = STATE(8139),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(8140),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11026),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4727] = {
    [sym__statements] = STATE(8139),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(8141),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(8140),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11026),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4728] = {
    [sym__simple_heredoc_body] = ACTIONS(6980),
    [sym__heredoc_body_beginning] = ACTIONS(6980),
    [sym__element_reference_left_bracket] = ACTIONS(6980),
    [sym__scope_double_colon] = ACTIONS(6980),
    [sym__binary_minus] = ACTIONS(6980),
    [sym__binary_star] = ACTIONS(6980),
    [anon_sym_LBRACE] = ACTIONS(6980),
    [anon_sym_RBRACE] = ACTIONS(6980),
    [anon_sym_RPAREN] = ACTIONS(6980),
    [anon_sym_DOT] = ACTIONS(6982),
    [anon_sym_COMMA] = ACTIONS(6980),
    [anon_sym_PIPE] = ACTIONS(6982),
    [anon_sym_SEMI] = ACTIONS(6980),
    [anon_sym_STAR_STAR] = ACTIONS(6980),
    [anon_sym_AMP] = ACTIONS(6982),
    [anon_sym_EQ] = ACTIONS(6982),
    [anon_sym_LT] = ACTIONS(6982),
    [anon_sym_in] = ACTIONS(6980),
    [anon_sym_do] = ACTIONS(6980),
    [anon_sym_EQ_GT] = ACTIONS(6980),
    [anon_sym_RBRACK] = ACTIONS(6980),
    [anon_sym_AMP_DOT] = ACTIONS(6980),
    [anon_sym_QMARK] = ACTIONS(6980),
    [anon_sym_COLON] = ACTIONS(6980),
    [anon_sym_DOT_DOT] = ACTIONS(6982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6980),
    [anon_sym_and] = ACTIONS(6980),
    [anon_sym_or] = ACTIONS(6980),
    [anon_sym_PIPE_PIPE] = ACTIONS(6980),
    [anon_sym_AMP_AMP] = ACTIONS(6980),
    [anon_sym_LT_LT] = ACTIONS(6980),
    [anon_sym_GT_GT] = ACTIONS(6980),
    [anon_sym_EQ_EQ] = ACTIONS(6982),
    [anon_sym_BANG_EQ] = ACTIONS(6980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6980),
    [anon_sym_LT_EQ_GT] = ACTIONS(6980),
    [anon_sym_EQ_TILDE] = ACTIONS(6980),
    [anon_sym_BANG_TILDE] = ACTIONS(6980),
    [anon_sym_LT_EQ] = ACTIONS(6982),
    [anon_sym_GT] = ACTIONS(6982),
    [anon_sym_GT_EQ] = ACTIONS(6980),
    [anon_sym_CARET] = ACTIONS(6980),
    [anon_sym_PLUS] = ACTIONS(6980),
    [anon_sym_SLASH] = ACTIONS(6980),
    [anon_sym_PERCENT] = ACTIONS(6980),
    [sym_comment] = ACTIONS(256),
  },
  [4729] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(2968),
    [anon_sym_COMMA] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_STAR_STAR] = ACTIONS(2972),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_EQ_GT] = ACTIONS(7008),
    [anon_sym_RBRACK] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7008),
    [anon_sym_AMP_AMP] = ACTIONS(7008),
    [anon_sym_LT_LT] = ACTIONS(7008),
    [anon_sym_GT_GT] = ACTIONS(7008),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7008),
    [anon_sym_PLUS] = ACTIONS(7008),
    [anon_sym_SLASH] = ACTIONS(2972),
    [anon_sym_PERCENT] = ACTIONS(2972),
    [sym_comment] = ACTIONS(110),
  },
  [4730] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_COMMA] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_STAR_STAR] = ACTIONS(2972),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_EQ_GT] = ACTIONS(7012),
    [anon_sym_RBRACK] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7012),
    [anon_sym_AMP_AMP] = ACTIONS(7012),
    [anon_sym_LT_LT] = ACTIONS(7012),
    [anon_sym_GT_GT] = ACTIONS(7012),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7012),
    [anon_sym_PLUS] = ACTIONS(7012),
    [anon_sym_SLASH] = ACTIONS(7012),
    [anon_sym_PERCENT] = ACTIONS(7012),
    [sym_comment] = ACTIONS(110),
  },
  [4731] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(2966),
    [sym__binary_star] = ACTIONS(2968),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(2972),
    [anon_sym_AMP] = ACTIONS(2974),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_RBRACK] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(2988),
    [anon_sym_GT_GT] = ACTIONS(2988),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(2996),
    [anon_sym_SLASH] = ACTIONS(2972),
    [anon_sym_PERCENT] = ACTIONS(2972),
    [sym_comment] = ACTIONS(110),
  },
  [4732] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(2972),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_RBRACK] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7016),
    [anon_sym_PERCENT] = ACTIONS(7016),
    [sym_comment] = ACTIONS(110),
  },
  [4733] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(2966),
    [sym__binary_star] = ACTIONS(2968),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(2972),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_RBRACK] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(2988),
    [anon_sym_GT_GT] = ACTIONS(2988),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(2996),
    [anon_sym_SLASH] = ACTIONS(2972),
    [anon_sym_PERCENT] = ACTIONS(2972),
    [sym_comment] = ACTIONS(110),
  },
  [4734] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(2966),
    [sym__binary_star] = ACTIONS(2968),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(2970),
    [anon_sym_STAR_STAR] = ACTIONS(2972),
    [anon_sym_AMP] = ACTIONS(2974),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_RBRACK] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(2988),
    [anon_sym_GT_GT] = ACTIONS(2988),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(2994),
    [anon_sym_PLUS] = ACTIONS(2996),
    [anon_sym_SLASH] = ACTIONS(2972),
    [anon_sym_PERCENT] = ACTIONS(2972),
    [sym_comment] = ACTIONS(110),
  },
  [4735] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(11028),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [4736] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(2966),
    [sym__binary_star] = ACTIONS(2968),
    [anon_sym_COMMA] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(2970),
    [anon_sym_STAR_STAR] = ACTIONS(2972),
    [anon_sym_AMP] = ACTIONS(2974),
    [anon_sym_LT] = ACTIONS(2976),
    [anon_sym_EQ_GT] = ACTIONS(7108),
    [anon_sym_RBRACK] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(2980),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2982),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(2986),
    [anon_sym_AMP_AMP] = ACTIONS(2986),
    [anon_sym_LT_LT] = ACTIONS(2988),
    [anon_sym_GT_GT] = ACTIONS(2988),
    [anon_sym_EQ_EQ] = ACTIONS(2990),
    [anon_sym_BANG_EQ] = ACTIONS(2986),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2986),
    [anon_sym_LT_EQ_GT] = ACTIONS(2986),
    [anon_sym_EQ_TILDE] = ACTIONS(2986),
    [anon_sym_BANG_TILDE] = ACTIONS(2986),
    [anon_sym_LT_EQ] = ACTIONS(2976),
    [anon_sym_GT] = ACTIONS(2976),
    [anon_sym_GT_EQ] = ACTIONS(2992),
    [anon_sym_CARET] = ACTIONS(2994),
    [anon_sym_PLUS] = ACTIONS(2996),
    [anon_sym_SLASH] = ACTIONS(2972),
    [anon_sym_PERCENT] = ACTIONS(2972),
    [sym_comment] = ACTIONS(110),
  },
  [4737] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(2966),
    [sym__binary_star] = ACTIONS(2968),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(2970),
    [anon_sym_STAR_STAR] = ACTIONS(2972),
    [anon_sym_AMP] = ACTIONS(2974),
    [anon_sym_LT] = ACTIONS(2976),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_RBRACK] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(2978),
    [anon_sym_DOT_DOT] = ACTIONS(2980),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2982),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(2986),
    [anon_sym_AMP_AMP] = ACTIONS(2986),
    [anon_sym_LT_LT] = ACTIONS(2988),
    [anon_sym_GT_GT] = ACTIONS(2988),
    [anon_sym_EQ_EQ] = ACTIONS(2990),
    [anon_sym_BANG_EQ] = ACTIONS(2986),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2986),
    [anon_sym_LT_EQ_GT] = ACTIONS(2986),
    [anon_sym_EQ_TILDE] = ACTIONS(2986),
    [anon_sym_BANG_TILDE] = ACTIONS(2986),
    [anon_sym_LT_EQ] = ACTIONS(2976),
    [anon_sym_GT] = ACTIONS(2976),
    [anon_sym_GT_EQ] = ACTIONS(2992),
    [anon_sym_CARET] = ACTIONS(2994),
    [anon_sym_PLUS] = ACTIONS(2996),
    [anon_sym_SLASH] = ACTIONS(2972),
    [anon_sym_PERCENT] = ACTIONS(2972),
    [sym_comment] = ACTIONS(110),
  },
  [4738] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(2966),
    [sym__binary_star] = ACTIONS(2968),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(2970),
    [anon_sym_STAR_STAR] = ACTIONS(2972),
    [anon_sym_AMP] = ACTIONS(2974),
    [anon_sym_LT] = ACTIONS(2976),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_RBRACK] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(2988),
    [anon_sym_GT_GT] = ACTIONS(2988),
    [anon_sym_EQ_EQ] = ACTIONS(2990),
    [anon_sym_BANG_EQ] = ACTIONS(2986),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2986),
    [anon_sym_LT_EQ_GT] = ACTIONS(2986),
    [anon_sym_EQ_TILDE] = ACTIONS(2986),
    [anon_sym_BANG_TILDE] = ACTIONS(2986),
    [anon_sym_LT_EQ] = ACTIONS(2976),
    [anon_sym_GT] = ACTIONS(2976),
    [anon_sym_GT_EQ] = ACTIONS(2992),
    [anon_sym_CARET] = ACTIONS(2994),
    [anon_sym_PLUS] = ACTIONS(2996),
    [anon_sym_SLASH] = ACTIONS(2972),
    [anon_sym_PERCENT] = ACTIONS(2972),
    [sym_comment] = ACTIONS(110),
  },
  [4739] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(2966),
    [sym__binary_star] = ACTIONS(2968),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(2972),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_RBRACK] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(2996),
    [anon_sym_SLASH] = ACTIONS(2972),
    [anon_sym_PERCENT] = ACTIONS(2972),
    [sym_comment] = ACTIONS(110),
  },
  [4740] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(2968),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(2972),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_RBRACK] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(2972),
    [anon_sym_PERCENT] = ACTIONS(2972),
    [sym_comment] = ACTIONS(110),
  },
  [4741] = {
    [sym__simple_heredoc_body] = ACTIONS(7110),
    [sym__heredoc_body_beginning] = ACTIONS(7110),
    [sym__element_reference_left_bracket] = ACTIONS(7110),
    [sym__scope_double_colon] = ACTIONS(7110),
    [sym__binary_minus] = ACTIONS(7110),
    [sym__binary_star] = ACTIONS(7110),
    [anon_sym_LBRACE] = ACTIONS(7110),
    [anon_sym_RBRACE] = ACTIONS(7110),
    [anon_sym_RPAREN] = ACTIONS(7110),
    [anon_sym_DOT] = ACTIONS(7112),
    [anon_sym_COMMA] = ACTIONS(7110),
    [anon_sym_PIPE] = ACTIONS(7112),
    [anon_sym_SEMI] = ACTIONS(7110),
    [anon_sym_STAR_STAR] = ACTIONS(7112),
    [anon_sym_AMP] = ACTIONS(7112),
    [anon_sym_EQ] = ACTIONS(7112),
    [anon_sym_LT] = ACTIONS(7112),
    [anon_sym_in] = ACTIONS(7110),
    [anon_sym_do] = ACTIONS(7110),
    [anon_sym_EQ_GT] = ACTIONS(7110),
    [anon_sym_RBRACK] = ACTIONS(7110),
    [anon_sym_AMP_DOT] = ACTIONS(7110),
    [anon_sym_PLUS_EQ] = ACTIONS(7110),
    [anon_sym_DASH_EQ] = ACTIONS(7110),
    [anon_sym_STAR_EQ] = ACTIONS(7110),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7110),
    [anon_sym_SLASH_EQ] = ACTIONS(7110),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7110),
    [anon_sym_PIPE_EQ] = ACTIONS(7110),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7110),
    [anon_sym_AMP_EQ] = ACTIONS(7110),
    [anon_sym_PERCENT_EQ] = ACTIONS(7110),
    [anon_sym_GT_GT_EQ] = ACTIONS(7110),
    [anon_sym_LT_LT_EQ] = ACTIONS(7110),
    [anon_sym_CARET_EQ] = ACTIONS(7110),
    [anon_sym_QMARK] = ACTIONS(7110),
    [anon_sym_COLON] = ACTIONS(7110),
    [anon_sym_DOT_DOT] = ACTIONS(7112),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7110),
    [anon_sym_and] = ACTIONS(7110),
    [anon_sym_or] = ACTIONS(7110),
    [anon_sym_PIPE_PIPE] = ACTIONS(7112),
    [anon_sym_AMP_AMP] = ACTIONS(7112),
    [anon_sym_LT_LT] = ACTIONS(7112),
    [anon_sym_GT_GT] = ACTIONS(7112),
    [anon_sym_EQ_EQ] = ACTIONS(7112),
    [anon_sym_BANG_EQ] = ACTIONS(7110),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7110),
    [anon_sym_LT_EQ_GT] = ACTIONS(7110),
    [anon_sym_EQ_TILDE] = ACTIONS(7110),
    [anon_sym_BANG_TILDE] = ACTIONS(7110),
    [anon_sym_LT_EQ] = ACTIONS(7112),
    [anon_sym_GT] = ACTIONS(7112),
    [anon_sym_GT_EQ] = ACTIONS(7110),
    [anon_sym_CARET] = ACTIONS(7112),
    [anon_sym_PLUS] = ACTIONS(7112),
    [anon_sym_SLASH] = ACTIONS(7112),
    [anon_sym_PERCENT] = ACTIONS(7112),
    [sym_comment] = ACTIONS(256),
  },
  [4742] = {
    [sym_heredoc_end] = STATE(8144),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RBRACK] = ACTIONS(11030),
    [sym_comment] = ACTIONS(110),
  },
  [4743] = {
    [anon_sym_RBRACK] = ACTIONS(11030),
    [sym_comment] = ACTIONS(110),
  },
  [4744] = {
    [sym__simple_string] = ACTIONS(7116),
    [sym__simple_symbol] = ACTIONS(7116),
    [sym__simple_subshell] = ACTIONS(7116),
    [sym__simple_regex] = ACTIONS(7116),
    [sym__simple_word_list] = ACTIONS(7116),
    [sym__simple_heredoc_body] = ACTIONS(7116),
    [sym__string_beginning] = ACTIONS(7116),
    [sym__symbol_beginning] = ACTIONS(7116),
    [sym__subshell_beginning] = ACTIONS(7116),
    [sym__regex_beginning] = ACTIONS(7116),
    [sym__word_list_beginning] = ACTIONS(7116),
    [sym__heredoc_body_beginning] = ACTIONS(7116),
    [sym_heredoc_beginning] = ACTIONS(7116),
    [sym__element_reference_left_bracket] = ACTIONS(7116),
    [sym__block_ampersand] = ACTIONS(7116),
    [sym__splat_star] = ACTIONS(7116),
    [sym__argument_list_left_paren] = ACTIONS(7116),
    [sym__scope_double_colon] = ACTIONS(7116),
    [sym__unary_minus] = ACTIONS(7116),
    [sym__binary_minus] = ACTIONS(7116),
    [sym__binary_star] = ACTIONS(7116),
    [anon_sym_LBRACE] = ACTIONS(7116),
    [anon_sym_RBRACE] = ACTIONS(7116),
    [anon_sym_def] = ACTIONS(7118),
    [anon_sym_LPAREN] = ACTIONS(7116),
    [anon_sym_RPAREN] = ACTIONS(7116),
    [anon_sym_DOT] = ACTIONS(7118),
    [anon_sym_COLON_COLON] = ACTIONS(7116),
    [anon_sym_end] = ACTIONS(7118),
    [anon_sym_COMMA] = ACTIONS(7116),
    [anon_sym_PIPE] = ACTIONS(7118),
    [anon_sym_SEMI] = ACTIONS(7116),
    [anon_sym_STAR] = ACTIONS(7118),
    [anon_sym_STAR_STAR] = ACTIONS(7118),
    [anon_sym_AMP] = ACTIONS(7118),
    [anon_sym_EQ] = ACTIONS(7118),
    [anon_sym_class] = ACTIONS(7118),
    [anon_sym_LT] = ACTIONS(7118),
    [anon_sym_module] = ACTIONS(7118),
    [anon_sym_return] = ACTIONS(7118),
    [anon_sym_yield] = ACTIONS(7118),
    [anon_sym_break] = ACTIONS(7118),
    [anon_sym_next] = ACTIONS(7118),
    [anon_sym_redo] = ACTIONS(7118),
    [anon_sym_retry] = ACTIONS(7118),
    [anon_sym_if] = ACTIONS(7118),
    [anon_sym_unless] = ACTIONS(7118),
    [anon_sym_while] = ACTIONS(7118),
    [anon_sym_until] = ACTIONS(7118),
    [anon_sym_rescue] = ACTIONS(7118),
    [anon_sym_for] = ACTIONS(7118),
    [anon_sym_in] = ACTIONS(7118),
    [anon_sym_do] = ACTIONS(7118),
    [anon_sym_case] = ACTIONS(7118),
    [anon_sym_when] = ACTIONS(7118),
    [anon_sym_elsif] = ACTIONS(7118),
    [anon_sym_else] = ACTIONS(7118),
    [anon_sym_then] = ACTIONS(7118),
    [anon_sym_begin] = ACTIONS(7118),
    [anon_sym_ensure] = ACTIONS(7118),
    [anon_sym_EQ_GT] = ACTIONS(7116),
    [anon_sym_RBRACK] = ACTIONS(7116),
    [anon_sym_AMP_DOT] = ACTIONS(7116),
    [anon_sym_PLUS_EQ] = ACTIONS(7116),
    [anon_sym_DASH_EQ] = ACTIONS(7116),
    [anon_sym_STAR_EQ] = ACTIONS(7116),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7116),
    [anon_sym_SLASH_EQ] = ACTIONS(7116),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7116),
    [anon_sym_PIPE_EQ] = ACTIONS(7116),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7116),
    [anon_sym_AMP_EQ] = ACTIONS(7116),
    [anon_sym_PERCENT_EQ] = ACTIONS(7116),
    [anon_sym_GT_GT_EQ] = ACTIONS(7116),
    [anon_sym_LT_LT_EQ] = ACTIONS(7116),
    [anon_sym_CARET_EQ] = ACTIONS(7116),
    [anon_sym_QMARK] = ACTIONS(7118),
    [anon_sym_COLON] = ACTIONS(7118),
    [anon_sym_DOT_DOT] = ACTIONS(7118),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7116),
    [anon_sym_and] = ACTIONS(7118),
    [anon_sym_or] = ACTIONS(7118),
    [anon_sym_PIPE_PIPE] = ACTIONS(7118),
    [anon_sym_AMP_AMP] = ACTIONS(7118),
    [anon_sym_LT_LT] = ACTIONS(7118),
    [anon_sym_GT_GT] = ACTIONS(7118),
    [anon_sym_EQ_EQ] = ACTIONS(7118),
    [anon_sym_BANG_EQ] = ACTIONS(7116),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7116),
    [anon_sym_LT_EQ_GT] = ACTIONS(7116),
    [anon_sym_EQ_TILDE] = ACTIONS(7116),
    [anon_sym_BANG_TILDE] = ACTIONS(7116),
    [anon_sym_LT_EQ] = ACTIONS(7118),
    [anon_sym_GT] = ACTIONS(7118),
    [anon_sym_GT_EQ] = ACTIONS(7116),
    [anon_sym_CARET] = ACTIONS(7118),
    [anon_sym_PLUS] = ACTIONS(7118),
    [anon_sym_SLASH] = ACTIONS(7118),
    [anon_sym_PERCENT] = ACTIONS(7118),
    [anon_sym_defined_QMARK] = ACTIONS(7116),
    [anon_sym_not] = ACTIONS(7118),
    [anon_sym_BANG] = ACTIONS(7118),
    [anon_sym_TILDE] = ACTIONS(7116),
    [sym_constant] = ACTIONS(7120),
    [sym_identifier] = ACTIONS(7120),
    [sym_instance_variable] = ACTIONS(7118),
    [sym_class_variable] = ACTIONS(7118),
    [sym_global_variable] = ACTIONS(7118),
    [anon_sym_alias] = ACTIONS(7118),
    [anon_sym_defined] = ACTIONS(7118),
    [anon_sym_false] = ACTIONS(7118),
    [anon_sym_nil] = ACTIONS(7118),
    [anon_sym_self] = ACTIONS(7118),
    [anon_sym_super] = ACTIONS(7118),
    [anon_sym_true] = ACTIONS(7118),
    [anon_sym_undef] = ACTIONS(7118),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(7118),
    [sym_float] = ACTIONS(7120),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(7116),
    [anon_sym_TRUE] = ACTIONS(7118),
    [anon_sym_FALSE] = ACTIONS(7118),
    [anon_sym_NIL] = ACTIONS(7118),
    [sym_keyword__FILE__] = ACTIONS(7118),
    [sym_keyword__LINE__] = ACTIONS(7118),
    [sym_keyword__ENCODING__] = ACTIONS(7118),
    [sym__character_literal] = ACTIONS(7118),
    [anon_sym_LBRACK] = ACTIONS(7116),
    [anon_sym_DASH_GT] = ACTIONS(7116),
  },
  [4745] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1382),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(8146),
    [sym__argument] = STATE(1385),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1386),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1387),
    [sym__variable] = STATE(1383),
    [sym_reserved_identifier] = STATE(1388),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1389),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(8147),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(2154),
    [sym__splat_star] = ACTIONS(2156),
    [sym__unary_minus] = ACTIONS(2158),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(11032),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2162),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2164),
    [anon_sym_yield] = ACTIONS(2166),
    [anon_sym_break] = ACTIONS(2168),
    [anon_sym_next] = ACTIONS(2170),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2172),
    [anon_sym_defined_QMARK] = ACTIONS(2174),
    [anon_sym_not] = ACTIONS(2176),
    [anon_sym_BANG] = ACTIONS(2178),
    [anon_sym_TILDE] = ACTIONS(2178),
    [sym_constant] = ACTIONS(2180),
    [sym_identifier] = ACTIONS(2180),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4746] = {
    [sym__simple_string] = ACTIONS(1856),
    [sym__simple_symbol] = ACTIONS(1856),
    [sym__simple_subshell] = ACTIONS(1856),
    [sym__simple_regex] = ACTIONS(1856),
    [sym__simple_word_list] = ACTIONS(1856),
    [sym__simple_heredoc_body] = ACTIONS(1856),
    [sym__string_beginning] = ACTIONS(1856),
    [sym__symbol_beginning] = ACTIONS(1856),
    [sym__subshell_beginning] = ACTIONS(1856),
    [sym__regex_beginning] = ACTIONS(1856),
    [sym__word_list_beginning] = ACTIONS(1856),
    [sym__heredoc_body_beginning] = ACTIONS(1856),
    [sym_heredoc_beginning] = ACTIONS(1856),
    [sym__element_reference_left_bracket] = ACTIONS(1856),
    [sym__block_ampersand] = ACTIONS(1856),
    [sym__splat_star] = ACTIONS(1856),
    [sym__argument_list_left_paren] = ACTIONS(1856),
    [sym__scope_double_colon] = ACTIONS(1856),
    [sym__unary_minus] = ACTIONS(1856),
    [sym__binary_minus] = ACTIONS(1856),
    [sym__binary_star] = ACTIONS(1856),
    [anon_sym_LBRACE] = ACTIONS(1856),
    [anon_sym_RBRACE] = ACTIONS(1856),
    [anon_sym_def] = ACTIONS(1858),
    [anon_sym_LPAREN] = ACTIONS(1856),
    [anon_sym_RPAREN] = ACTIONS(1856),
    [anon_sym_DOT] = ACTIONS(1858),
    [anon_sym_COLON_COLON] = ACTIONS(1856),
    [anon_sym_end] = ACTIONS(1858),
    [anon_sym_COMMA] = ACTIONS(1856),
    [anon_sym_PIPE] = ACTIONS(1858),
    [anon_sym_SEMI] = ACTIONS(1856),
    [anon_sym_STAR] = ACTIONS(1858),
    [anon_sym_STAR_STAR] = ACTIONS(1858),
    [anon_sym_AMP] = ACTIONS(1858),
    [anon_sym_EQ] = ACTIONS(1858),
    [anon_sym_class] = ACTIONS(1858),
    [anon_sym_LT] = ACTIONS(1858),
    [anon_sym_module] = ACTIONS(1858),
    [anon_sym_return] = ACTIONS(1858),
    [anon_sym_yield] = ACTIONS(1858),
    [anon_sym_break] = ACTIONS(1858),
    [anon_sym_next] = ACTIONS(1858),
    [anon_sym_redo] = ACTIONS(1858),
    [anon_sym_retry] = ACTIONS(1858),
    [anon_sym_if] = ACTIONS(1858),
    [anon_sym_unless] = ACTIONS(1858),
    [anon_sym_while] = ACTIONS(1858),
    [anon_sym_until] = ACTIONS(1858),
    [anon_sym_rescue] = ACTIONS(1858),
    [anon_sym_for] = ACTIONS(1858),
    [anon_sym_in] = ACTIONS(1858),
    [anon_sym_do] = ACTIONS(1858),
    [anon_sym_case] = ACTIONS(1858),
    [anon_sym_when] = ACTIONS(1858),
    [anon_sym_elsif] = ACTIONS(1858),
    [anon_sym_else] = ACTIONS(1858),
    [anon_sym_then] = ACTIONS(1858),
    [anon_sym_begin] = ACTIONS(1858),
    [anon_sym_ensure] = ACTIONS(1858),
    [anon_sym_EQ_GT] = ACTIONS(1856),
    [anon_sym_RBRACK] = ACTIONS(1856),
    [anon_sym_AMP_DOT] = ACTIONS(1856),
    [anon_sym_PLUS_EQ] = ACTIONS(1856),
    [anon_sym_DASH_EQ] = ACTIONS(1856),
    [anon_sym_STAR_EQ] = ACTIONS(1856),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1856),
    [anon_sym_SLASH_EQ] = ACTIONS(1856),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1856),
    [anon_sym_PIPE_EQ] = ACTIONS(1856),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1856),
    [anon_sym_AMP_EQ] = ACTIONS(1856),
    [anon_sym_PERCENT_EQ] = ACTIONS(1856),
    [anon_sym_GT_GT_EQ] = ACTIONS(1856),
    [anon_sym_LT_LT_EQ] = ACTIONS(1856),
    [anon_sym_CARET_EQ] = ACTIONS(1856),
    [anon_sym_QMARK] = ACTIONS(1858),
    [anon_sym_COLON] = ACTIONS(1858),
    [anon_sym_DOT_DOT] = ACTIONS(1858),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1856),
    [anon_sym_and] = ACTIONS(1858),
    [anon_sym_or] = ACTIONS(1858),
    [anon_sym_PIPE_PIPE] = ACTIONS(1858),
    [anon_sym_AMP_AMP] = ACTIONS(1858),
    [anon_sym_LT_LT] = ACTIONS(1858),
    [anon_sym_GT_GT] = ACTIONS(1858),
    [anon_sym_EQ_EQ] = ACTIONS(1858),
    [anon_sym_BANG_EQ] = ACTIONS(1856),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1856),
    [anon_sym_LT_EQ_GT] = ACTIONS(1856),
    [anon_sym_EQ_TILDE] = ACTIONS(1856),
    [anon_sym_BANG_TILDE] = ACTIONS(1856),
    [anon_sym_LT_EQ] = ACTIONS(1858),
    [anon_sym_GT] = ACTIONS(1858),
    [anon_sym_GT_EQ] = ACTIONS(1856),
    [anon_sym_CARET] = ACTIONS(1858),
    [anon_sym_PLUS] = ACTIONS(1858),
    [anon_sym_SLASH] = ACTIONS(1858),
    [anon_sym_PERCENT] = ACTIONS(1858),
    [anon_sym_defined_QMARK] = ACTIONS(1856),
    [anon_sym_not] = ACTIONS(1858),
    [anon_sym_BANG] = ACTIONS(1858),
    [anon_sym_TILDE] = ACTIONS(1856),
    [sym_constant] = ACTIONS(7124),
    [sym_identifier] = ACTIONS(7124),
    [sym_instance_variable] = ACTIONS(1858),
    [sym_class_variable] = ACTIONS(1858),
    [sym_global_variable] = ACTIONS(1858),
    [anon_sym_alias] = ACTIONS(1858),
    [anon_sym_defined] = ACTIONS(1858),
    [anon_sym_false] = ACTIONS(1858),
    [anon_sym_nil] = ACTIONS(1858),
    [anon_sym_self] = ACTIONS(1858),
    [anon_sym_super] = ACTIONS(1858),
    [anon_sym_true] = ACTIONS(1858),
    [anon_sym_undef] = ACTIONS(1858),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1858),
    [sym_float] = ACTIONS(7124),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1856),
    [anon_sym_TRUE] = ACTIONS(1858),
    [anon_sym_FALSE] = ACTIONS(1858),
    [anon_sym_NIL] = ACTIONS(1858),
    [sym_keyword__FILE__] = ACTIONS(1858),
    [sym_keyword__LINE__] = ACTIONS(1858),
    [sym_keyword__ENCODING__] = ACTIONS(1858),
    [sym__character_literal] = ACTIONS(1858),
    [anon_sym_LBRACK] = ACTIONS(1856),
    [anon_sym_DASH_GT] = ACTIONS(1856),
  },
  [4747] = {
    [sym__simple_string] = ACTIONS(7126),
    [sym__simple_symbol] = ACTIONS(7126),
    [sym__simple_subshell] = ACTIONS(7126),
    [sym__simple_regex] = ACTIONS(7126),
    [sym__simple_word_list] = ACTIONS(7126),
    [sym__simple_heredoc_body] = ACTIONS(7126),
    [sym__string_beginning] = ACTIONS(7126),
    [sym__symbol_beginning] = ACTIONS(7126),
    [sym__subshell_beginning] = ACTIONS(7126),
    [sym__regex_beginning] = ACTIONS(7126),
    [sym__word_list_beginning] = ACTIONS(7126),
    [sym__heredoc_body_beginning] = ACTIONS(7126),
    [sym_heredoc_beginning] = ACTIONS(7126),
    [sym__element_reference_left_bracket] = ACTIONS(7126),
    [sym__block_ampersand] = ACTIONS(7126),
    [sym__splat_star] = ACTIONS(7126),
    [sym__argument_list_left_paren] = ACTIONS(7126),
    [sym__scope_double_colon] = ACTIONS(7126),
    [sym__unary_minus] = ACTIONS(7126),
    [sym__binary_minus] = ACTIONS(7126),
    [sym__binary_star] = ACTIONS(7126),
    [anon_sym_LBRACE] = ACTIONS(7126),
    [anon_sym_RBRACE] = ACTIONS(7126),
    [anon_sym_def] = ACTIONS(7128),
    [anon_sym_LPAREN] = ACTIONS(7126),
    [anon_sym_RPAREN] = ACTIONS(7126),
    [anon_sym_DOT] = ACTIONS(7128),
    [anon_sym_COLON_COLON] = ACTIONS(7126),
    [anon_sym_end] = ACTIONS(7128),
    [anon_sym_COMMA] = ACTIONS(7126),
    [anon_sym_PIPE] = ACTIONS(7128),
    [anon_sym_SEMI] = ACTIONS(7126),
    [anon_sym_STAR] = ACTIONS(7128),
    [anon_sym_STAR_STAR] = ACTIONS(7128),
    [anon_sym_AMP] = ACTIONS(7128),
    [anon_sym_EQ] = ACTIONS(7128),
    [anon_sym_class] = ACTIONS(7128),
    [anon_sym_LT] = ACTIONS(7128),
    [anon_sym_module] = ACTIONS(7128),
    [anon_sym_return] = ACTIONS(7128),
    [anon_sym_yield] = ACTIONS(7128),
    [anon_sym_break] = ACTIONS(7128),
    [anon_sym_next] = ACTIONS(7128),
    [anon_sym_redo] = ACTIONS(7128),
    [anon_sym_retry] = ACTIONS(7128),
    [anon_sym_if] = ACTIONS(7128),
    [anon_sym_unless] = ACTIONS(7128),
    [anon_sym_while] = ACTIONS(7128),
    [anon_sym_until] = ACTIONS(7128),
    [anon_sym_rescue] = ACTIONS(7128),
    [anon_sym_for] = ACTIONS(7128),
    [anon_sym_in] = ACTIONS(7128),
    [anon_sym_do] = ACTIONS(7128),
    [anon_sym_case] = ACTIONS(7128),
    [anon_sym_when] = ACTIONS(7128),
    [anon_sym_elsif] = ACTIONS(7128),
    [anon_sym_else] = ACTIONS(7128),
    [anon_sym_then] = ACTIONS(7128),
    [anon_sym_begin] = ACTIONS(7128),
    [anon_sym_ensure] = ACTIONS(7128),
    [anon_sym_EQ_GT] = ACTIONS(7126),
    [anon_sym_RBRACK] = ACTIONS(7126),
    [anon_sym_AMP_DOT] = ACTIONS(7126),
    [anon_sym_PLUS_EQ] = ACTIONS(7126),
    [anon_sym_DASH_EQ] = ACTIONS(7126),
    [anon_sym_STAR_EQ] = ACTIONS(7126),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7126),
    [anon_sym_SLASH_EQ] = ACTIONS(7126),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7126),
    [anon_sym_PIPE_EQ] = ACTIONS(7126),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7126),
    [anon_sym_AMP_EQ] = ACTIONS(7126),
    [anon_sym_PERCENT_EQ] = ACTIONS(7126),
    [anon_sym_GT_GT_EQ] = ACTIONS(7126),
    [anon_sym_LT_LT_EQ] = ACTIONS(7126),
    [anon_sym_CARET_EQ] = ACTIONS(7126),
    [anon_sym_QMARK] = ACTIONS(7128),
    [anon_sym_COLON] = ACTIONS(7128),
    [anon_sym_DOT_DOT] = ACTIONS(7128),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7126),
    [anon_sym_and] = ACTIONS(7128),
    [anon_sym_or] = ACTIONS(7128),
    [anon_sym_PIPE_PIPE] = ACTIONS(7128),
    [anon_sym_AMP_AMP] = ACTIONS(7128),
    [anon_sym_LT_LT] = ACTIONS(7128),
    [anon_sym_GT_GT] = ACTIONS(7128),
    [anon_sym_EQ_EQ] = ACTIONS(7128),
    [anon_sym_BANG_EQ] = ACTIONS(7126),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7126),
    [anon_sym_LT_EQ_GT] = ACTIONS(7126),
    [anon_sym_EQ_TILDE] = ACTIONS(7126),
    [anon_sym_BANG_TILDE] = ACTIONS(7126),
    [anon_sym_LT_EQ] = ACTIONS(7128),
    [anon_sym_GT] = ACTIONS(7128),
    [anon_sym_GT_EQ] = ACTIONS(7126),
    [anon_sym_CARET] = ACTIONS(7128),
    [anon_sym_PLUS] = ACTIONS(7128),
    [anon_sym_SLASH] = ACTIONS(7128),
    [anon_sym_PERCENT] = ACTIONS(7128),
    [anon_sym_defined_QMARK] = ACTIONS(7126),
    [anon_sym_not] = ACTIONS(7128),
    [anon_sym_BANG] = ACTIONS(7128),
    [anon_sym_TILDE] = ACTIONS(7126),
    [sym_constant] = ACTIONS(7130),
    [sym_identifier] = ACTIONS(7130),
    [sym_instance_variable] = ACTIONS(7128),
    [sym_class_variable] = ACTIONS(7128),
    [sym_global_variable] = ACTIONS(7128),
    [anon_sym_alias] = ACTIONS(7128),
    [anon_sym_defined] = ACTIONS(7128),
    [anon_sym_false] = ACTIONS(7128),
    [anon_sym_nil] = ACTIONS(7128),
    [anon_sym_self] = ACTIONS(7128),
    [anon_sym_super] = ACTIONS(7128),
    [anon_sym_true] = ACTIONS(7128),
    [anon_sym_undef] = ACTIONS(7128),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(7128),
    [sym_float] = ACTIONS(7130),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(7126),
    [anon_sym_TRUE] = ACTIONS(7128),
    [anon_sym_FALSE] = ACTIONS(7128),
    [anon_sym_NIL] = ACTIONS(7128),
    [sym_keyword__FILE__] = ACTIONS(7128),
    [sym_keyword__LINE__] = ACTIONS(7128),
    [sym_keyword__ENCODING__] = ACTIONS(7128),
    [sym__character_literal] = ACTIONS(7128),
    [anon_sym_LBRACK] = ACTIONS(7126),
    [anon_sym_DASH_GT] = ACTIONS(7126),
  },
  [4748] = {
    [sym__simple_string] = ACTIONS(7132),
    [sym__simple_symbol] = ACTIONS(7132),
    [sym__simple_subshell] = ACTIONS(7132),
    [sym__simple_regex] = ACTIONS(7132),
    [sym__simple_word_list] = ACTIONS(7132),
    [sym__simple_heredoc_body] = ACTIONS(7132),
    [sym__string_beginning] = ACTIONS(7132),
    [sym__symbol_beginning] = ACTIONS(7132),
    [sym__subshell_beginning] = ACTIONS(7132),
    [sym__regex_beginning] = ACTIONS(7132),
    [sym__word_list_beginning] = ACTIONS(7132),
    [sym__heredoc_body_beginning] = ACTIONS(7132),
    [sym_heredoc_beginning] = ACTIONS(7132),
    [sym__element_reference_left_bracket] = ACTIONS(7132),
    [sym__block_ampersand] = ACTIONS(7132),
    [sym__splat_star] = ACTIONS(7132),
    [sym__argument_list_left_paren] = ACTIONS(7132),
    [sym__scope_double_colon] = ACTIONS(7132),
    [sym__unary_minus] = ACTIONS(7132),
    [sym__binary_minus] = ACTIONS(7132),
    [sym__binary_star] = ACTIONS(7132),
    [anon_sym_LBRACE] = ACTIONS(7132),
    [anon_sym_RBRACE] = ACTIONS(7132),
    [anon_sym_def] = ACTIONS(7134),
    [anon_sym_LPAREN] = ACTIONS(7132),
    [anon_sym_RPAREN] = ACTIONS(7132),
    [anon_sym_DOT] = ACTIONS(7134),
    [anon_sym_COLON_COLON] = ACTIONS(7132),
    [anon_sym_end] = ACTIONS(7134),
    [anon_sym_COMMA] = ACTIONS(7132),
    [anon_sym_PIPE] = ACTIONS(7134),
    [anon_sym_SEMI] = ACTIONS(7132),
    [anon_sym_STAR] = ACTIONS(7134),
    [anon_sym_STAR_STAR] = ACTIONS(7134),
    [anon_sym_AMP] = ACTIONS(7134),
    [anon_sym_EQ] = ACTIONS(7134),
    [anon_sym_class] = ACTIONS(7134),
    [anon_sym_LT] = ACTIONS(7134),
    [anon_sym_module] = ACTIONS(7134),
    [anon_sym_return] = ACTIONS(7134),
    [anon_sym_yield] = ACTIONS(7134),
    [anon_sym_break] = ACTIONS(7134),
    [anon_sym_next] = ACTIONS(7134),
    [anon_sym_redo] = ACTIONS(7134),
    [anon_sym_retry] = ACTIONS(7134),
    [anon_sym_if] = ACTIONS(7134),
    [anon_sym_unless] = ACTIONS(7134),
    [anon_sym_while] = ACTIONS(7134),
    [anon_sym_until] = ACTIONS(7134),
    [anon_sym_rescue] = ACTIONS(7134),
    [anon_sym_for] = ACTIONS(7134),
    [anon_sym_in] = ACTIONS(7134),
    [anon_sym_do] = ACTIONS(7134),
    [anon_sym_case] = ACTIONS(7134),
    [anon_sym_when] = ACTIONS(7134),
    [anon_sym_elsif] = ACTIONS(7134),
    [anon_sym_else] = ACTIONS(7134),
    [anon_sym_then] = ACTIONS(7134),
    [anon_sym_begin] = ACTIONS(7134),
    [anon_sym_ensure] = ACTIONS(7134),
    [anon_sym_EQ_GT] = ACTIONS(7132),
    [anon_sym_RBRACK] = ACTIONS(7132),
    [anon_sym_AMP_DOT] = ACTIONS(7132),
    [anon_sym_PLUS_EQ] = ACTIONS(7132),
    [anon_sym_DASH_EQ] = ACTIONS(7132),
    [anon_sym_STAR_EQ] = ACTIONS(7132),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7132),
    [anon_sym_SLASH_EQ] = ACTIONS(7132),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7132),
    [anon_sym_PIPE_EQ] = ACTIONS(7132),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7132),
    [anon_sym_AMP_EQ] = ACTIONS(7132),
    [anon_sym_PERCENT_EQ] = ACTIONS(7132),
    [anon_sym_GT_GT_EQ] = ACTIONS(7132),
    [anon_sym_LT_LT_EQ] = ACTIONS(7132),
    [anon_sym_CARET_EQ] = ACTIONS(7132),
    [anon_sym_QMARK] = ACTIONS(7134),
    [anon_sym_COLON] = ACTIONS(7134),
    [anon_sym_DOT_DOT] = ACTIONS(7134),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7132),
    [anon_sym_and] = ACTIONS(7134),
    [anon_sym_or] = ACTIONS(7134),
    [anon_sym_PIPE_PIPE] = ACTIONS(7134),
    [anon_sym_AMP_AMP] = ACTIONS(7134),
    [anon_sym_LT_LT] = ACTIONS(7134),
    [anon_sym_GT_GT] = ACTIONS(7134),
    [anon_sym_EQ_EQ] = ACTIONS(7134),
    [anon_sym_BANG_EQ] = ACTIONS(7132),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7132),
    [anon_sym_LT_EQ_GT] = ACTIONS(7132),
    [anon_sym_EQ_TILDE] = ACTIONS(7132),
    [anon_sym_BANG_TILDE] = ACTIONS(7132),
    [anon_sym_LT_EQ] = ACTIONS(7134),
    [anon_sym_GT] = ACTIONS(7134),
    [anon_sym_GT_EQ] = ACTIONS(7132),
    [anon_sym_CARET] = ACTIONS(7134),
    [anon_sym_PLUS] = ACTIONS(7134),
    [anon_sym_SLASH] = ACTIONS(7134),
    [anon_sym_PERCENT] = ACTIONS(7134),
    [anon_sym_defined_QMARK] = ACTIONS(7132),
    [anon_sym_not] = ACTIONS(7134),
    [anon_sym_BANG] = ACTIONS(7134),
    [anon_sym_TILDE] = ACTIONS(7132),
    [sym_constant] = ACTIONS(7136),
    [sym_identifier] = ACTIONS(7136),
    [sym_instance_variable] = ACTIONS(7134),
    [sym_class_variable] = ACTIONS(7134),
    [sym_global_variable] = ACTIONS(7134),
    [anon_sym_alias] = ACTIONS(7134),
    [anon_sym_defined] = ACTIONS(7134),
    [anon_sym_false] = ACTIONS(7134),
    [anon_sym_nil] = ACTIONS(7134),
    [anon_sym_self] = ACTIONS(7134),
    [anon_sym_super] = ACTIONS(7134),
    [anon_sym_true] = ACTIONS(7134),
    [anon_sym_undef] = ACTIONS(7134),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(7134),
    [sym_float] = ACTIONS(7136),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(7132),
    [anon_sym_TRUE] = ACTIONS(7134),
    [anon_sym_FALSE] = ACTIONS(7134),
    [anon_sym_NIL] = ACTIONS(7134),
    [sym_keyword__FILE__] = ACTIONS(7134),
    [sym_keyword__LINE__] = ACTIONS(7134),
    [sym_keyword__ENCODING__] = ACTIONS(7134),
    [sym__character_literal] = ACTIONS(7134),
    [anon_sym_LBRACK] = ACTIONS(7132),
    [anon_sym_DASH_GT] = ACTIONS(7132),
  },
  [4749] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(1948),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1949),
    [sym_call] = STATE(1949),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(3104),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(1951),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1953),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1954),
    [sym__variable] = STATE(1949),
    [sym_reserved_identifier] = STATE(1955),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(1956),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(3006),
    [sym__splat_star] = ACTIONS(3008),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(3010),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(544),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(3014),
    [anon_sym_yield] = ACTIONS(3016),
    [anon_sym_break] = ACTIONS(3018),
    [anon_sym_next] = ACTIONS(3020),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_RBRACK] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_PLUS_EQ] = ACTIONS(532),
    [anon_sym_DASH_EQ] = ACTIONS(532),
    [anon_sym_STAR_EQ] = ACTIONS(532),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(532),
    [anon_sym_SLASH_EQ] = ACTIONS(532),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(532),
    [anon_sym_PIPE_EQ] = ACTIONS(532),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(532),
    [anon_sym_AMP_EQ] = ACTIONS(532),
    [anon_sym_PERCENT_EQ] = ACTIONS(532),
    [anon_sym_GT_GT_EQ] = ACTIONS(532),
    [anon_sym_LT_LT_EQ] = ACTIONS(532),
    [anon_sym_CARET_EQ] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(544),
    [anon_sym_AMP_AMP] = ACTIONS(544),
    [anon_sym_LT_LT] = ACTIONS(544),
    [anon_sym_GT_GT] = ACTIONS(544),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(544),
    [anon_sym_PERCENT] = ACTIONS(544),
    [anon_sym_defined_QMARK] = ACTIONS(3024),
    [anon_sym_not] = ACTIONS(3026),
    [anon_sym_BANG] = ACTIONS(3028),
    [anon_sym_TILDE] = ACTIONS(3030),
    [sym_constant] = ACTIONS(3032),
    [sym_identifier] = ACTIONS(3032),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [4750] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(1948),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1949),
    [sym_call] = STATE(1949),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(3105),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(1951),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1953),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1954),
    [sym__variable] = STATE(1949),
    [sym_reserved_identifier] = STATE(1955),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(1956),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(3006),
    [sym__splat_star] = ACTIONS(3008),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(3010),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(604),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(3014),
    [anon_sym_yield] = ACTIONS(3016),
    [anon_sym_break] = ACTIONS(3018),
    [anon_sym_next] = ACTIONS(3020),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_RBRACK] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_PLUS_EQ] = ACTIONS(602),
    [anon_sym_DASH_EQ] = ACTIONS(602),
    [anon_sym_STAR_EQ] = ACTIONS(602),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(602),
    [anon_sym_SLASH_EQ] = ACTIONS(602),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(602),
    [anon_sym_PIPE_EQ] = ACTIONS(602),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(602),
    [anon_sym_AMP_EQ] = ACTIONS(602),
    [anon_sym_PERCENT_EQ] = ACTIONS(602),
    [anon_sym_GT_GT_EQ] = ACTIONS(602),
    [anon_sym_LT_LT_EQ] = ACTIONS(602),
    [anon_sym_CARET_EQ] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(604),
    [anon_sym_AMP_AMP] = ACTIONS(604),
    [anon_sym_LT_LT] = ACTIONS(604),
    [anon_sym_GT_GT] = ACTIONS(604),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(604),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(604),
    [anon_sym_PERCENT] = ACTIONS(604),
    [anon_sym_defined_QMARK] = ACTIONS(3024),
    [anon_sym_not] = ACTIONS(3026),
    [anon_sym_BANG] = ACTIONS(3028),
    [anon_sym_TILDE] = ACTIONS(3030),
    [sym_constant] = ACTIONS(3032),
    [sym_identifier] = ACTIONS(3032),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [4751] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(1948),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1949),
    [sym_call] = STATE(1949),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(3106),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(1951),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1953),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1954),
    [sym__variable] = STATE(1949),
    [sym_reserved_identifier] = STATE(1955),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(1956),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(3006),
    [sym__splat_star] = ACTIONS(3008),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(3010),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(608),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(3014),
    [anon_sym_yield] = ACTIONS(3016),
    [anon_sym_break] = ACTIONS(3018),
    [anon_sym_next] = ACTIONS(3020),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_RBRACK] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_PLUS_EQ] = ACTIONS(606),
    [anon_sym_DASH_EQ] = ACTIONS(606),
    [anon_sym_STAR_EQ] = ACTIONS(606),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(606),
    [anon_sym_SLASH_EQ] = ACTIONS(606),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(606),
    [anon_sym_PIPE_EQ] = ACTIONS(606),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(606),
    [anon_sym_AMP_EQ] = ACTIONS(606),
    [anon_sym_PERCENT_EQ] = ACTIONS(606),
    [anon_sym_GT_GT_EQ] = ACTIONS(606),
    [anon_sym_LT_LT_EQ] = ACTIONS(606),
    [anon_sym_CARET_EQ] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(608),
    [anon_sym_AMP_AMP] = ACTIONS(608),
    [anon_sym_LT_LT] = ACTIONS(608),
    [anon_sym_GT_GT] = ACTIONS(608),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(608),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(608),
    [anon_sym_PERCENT] = ACTIONS(608),
    [anon_sym_defined_QMARK] = ACTIONS(3024),
    [anon_sym_not] = ACTIONS(3026),
    [anon_sym_BANG] = ACTIONS(3028),
    [anon_sym_TILDE] = ACTIONS(3030),
    [sym_constant] = ACTIONS(3032),
    [sym_identifier] = ACTIONS(3032),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [4752] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(1948),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1949),
    [sym_call] = STATE(1949),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(3107),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(1951),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1953),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1954),
    [sym__variable] = STATE(1949),
    [sym_reserved_identifier] = STATE(1955),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(1956),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(3006),
    [sym__splat_star] = ACTIONS(3008),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(3010),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(612),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(3014),
    [anon_sym_yield] = ACTIONS(3016),
    [anon_sym_break] = ACTIONS(3018),
    [anon_sym_next] = ACTIONS(3020),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_RBRACK] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_PLUS_EQ] = ACTIONS(610),
    [anon_sym_DASH_EQ] = ACTIONS(610),
    [anon_sym_STAR_EQ] = ACTIONS(610),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(610),
    [anon_sym_SLASH_EQ] = ACTIONS(610),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(610),
    [anon_sym_PIPE_EQ] = ACTIONS(610),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(610),
    [anon_sym_AMP_EQ] = ACTIONS(610),
    [anon_sym_PERCENT_EQ] = ACTIONS(610),
    [anon_sym_GT_GT_EQ] = ACTIONS(610),
    [anon_sym_LT_LT_EQ] = ACTIONS(610),
    [anon_sym_CARET_EQ] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(612),
    [anon_sym_AMP_AMP] = ACTIONS(612),
    [anon_sym_LT_LT] = ACTIONS(612),
    [anon_sym_GT_GT] = ACTIONS(612),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(612),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(612),
    [anon_sym_PERCENT] = ACTIONS(612),
    [anon_sym_defined_QMARK] = ACTIONS(3024),
    [anon_sym_not] = ACTIONS(3026),
    [anon_sym_BANG] = ACTIONS(3028),
    [anon_sym_TILDE] = ACTIONS(3030),
    [sym_constant] = ACTIONS(3032),
    [sym_identifier] = ACTIONS(3032),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [4753] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(6854),
    [sym__binary_star] = ACTIONS(6856),
    [anon_sym_LBRACE] = ACTIONS(5298),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(6858),
    [anon_sym_STAR_STAR] = ACTIONS(6860),
    [anon_sym_AMP] = ACTIONS(6862),
    [anon_sym_EQ] = ACTIONS(5304),
    [anon_sym_LT] = ACTIONS(6864),
    [anon_sym_do] = ACTIONS(5298),
    [anon_sym_EQ_GT] = ACTIONS(5298),
    [anon_sym_RBRACK] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_PLUS_EQ] = ACTIONS(5298),
    [anon_sym_DASH_EQ] = ACTIONS(5298),
    [anon_sym_STAR_EQ] = ACTIONS(5298),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5298),
    [anon_sym_SLASH_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5298),
    [anon_sym_AMP_EQ] = ACTIONS(5298),
    [anon_sym_PERCENT_EQ] = ACTIONS(5298),
    [anon_sym_GT_GT_EQ] = ACTIONS(5298),
    [anon_sym_LT_LT_EQ] = ACTIONS(5298),
    [anon_sym_CARET_EQ] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(6866),
    [anon_sym_DOT_DOT] = ACTIONS(6868),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6870),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(6872),
    [anon_sym_AMP_AMP] = ACTIONS(6872),
    [anon_sym_LT_LT] = ACTIONS(6874),
    [anon_sym_GT_GT] = ACTIONS(6874),
    [anon_sym_EQ_EQ] = ACTIONS(6872),
    [anon_sym_BANG_EQ] = ACTIONS(6876),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6876),
    [anon_sym_LT_EQ_GT] = ACTIONS(6876),
    [anon_sym_EQ_TILDE] = ACTIONS(6876),
    [anon_sym_BANG_TILDE] = ACTIONS(6876),
    [anon_sym_LT_EQ] = ACTIONS(6864),
    [anon_sym_GT] = ACTIONS(6864),
    [anon_sym_GT_EQ] = ACTIONS(6878),
    [anon_sym_CARET] = ACTIONS(6858),
    [anon_sym_PLUS] = ACTIONS(6880),
    [anon_sym_SLASH] = ACTIONS(6860),
    [anon_sym_PERCENT] = ACTIONS(6860),
    [sym_comment] = ACTIONS(256),
  },
  [4754] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(6854),
    [sym__binary_star] = ACTIONS(6856),
    [anon_sym_LBRACE] = ACTIONS(5338),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(6858),
    [anon_sym_STAR_STAR] = ACTIONS(6860),
    [anon_sym_AMP] = ACTIONS(6862),
    [anon_sym_EQ] = ACTIONS(5340),
    [anon_sym_LT] = ACTIONS(6864),
    [anon_sym_do] = ACTIONS(5338),
    [anon_sym_EQ_GT] = ACTIONS(5338),
    [anon_sym_RBRACK] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_PLUS_EQ] = ACTIONS(5338),
    [anon_sym_DASH_EQ] = ACTIONS(5338),
    [anon_sym_STAR_EQ] = ACTIONS(5338),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5338),
    [anon_sym_SLASH_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5338),
    [anon_sym_AMP_EQ] = ACTIONS(5338),
    [anon_sym_PERCENT_EQ] = ACTIONS(5338),
    [anon_sym_GT_GT_EQ] = ACTIONS(5338),
    [anon_sym_LT_LT_EQ] = ACTIONS(5338),
    [anon_sym_CARET_EQ] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(6866),
    [anon_sym_DOT_DOT] = ACTIONS(6868),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6870),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(6872),
    [anon_sym_AMP_AMP] = ACTIONS(6872),
    [anon_sym_LT_LT] = ACTIONS(6874),
    [anon_sym_GT_GT] = ACTIONS(6874),
    [anon_sym_EQ_EQ] = ACTIONS(6872),
    [anon_sym_BANG_EQ] = ACTIONS(6876),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6876),
    [anon_sym_LT_EQ_GT] = ACTIONS(6876),
    [anon_sym_EQ_TILDE] = ACTIONS(6876),
    [anon_sym_BANG_TILDE] = ACTIONS(6876),
    [anon_sym_LT_EQ] = ACTIONS(6864),
    [anon_sym_GT] = ACTIONS(6864),
    [anon_sym_GT_EQ] = ACTIONS(6878),
    [anon_sym_CARET] = ACTIONS(6858),
    [anon_sym_PLUS] = ACTIONS(6880),
    [anon_sym_SLASH] = ACTIONS(6860),
    [anon_sym_PERCENT] = ACTIONS(6860),
    [sym_comment] = ACTIONS(256),
  },
  [4755] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_LBRACE] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_STAR_STAR] = ACTIONS(6860),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_EQ] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_do] = ACTIONS(1372),
    [anon_sym_EQ_GT] = ACTIONS(1372),
    [anon_sym_RBRACK] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_PLUS_EQ] = ACTIONS(1372),
    [anon_sym_DASH_EQ] = ACTIONS(1372),
    [anon_sym_STAR_EQ] = ACTIONS(1372),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1372),
    [anon_sym_SLASH_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1372),
    [anon_sym_AMP_EQ] = ACTIONS(1372),
    [anon_sym_PERCENT_EQ] = ACTIONS(1372),
    [anon_sym_GT_GT_EQ] = ACTIONS(1372),
    [anon_sym_LT_LT_EQ] = ACTIONS(1372),
    [anon_sym_CARET_EQ] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1374),
    [anon_sym_AMP_AMP] = ACTIONS(1374),
    [anon_sym_LT_LT] = ACTIONS(1374),
    [anon_sym_GT_GT] = ACTIONS(1374),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1374),
    [anon_sym_PLUS] = ACTIONS(1374),
    [anon_sym_SLASH] = ACTIONS(1374),
    [anon_sym_PERCENT] = ACTIONS(1374),
    [sym_comment] = ACTIONS(256),
  },
  [4756] = {
    [anon_sym_RBRACE] = ACTIONS(11034),
    [sym_comment] = ACTIONS(110),
  },
  [4757] = {
    [sym__statements] = STATE(8149),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(841),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(11034),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4758] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(6854),
    [sym__binary_star] = ACTIONS(6856),
    [anon_sym_LBRACE] = ACTIONS(4284),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(6858),
    [anon_sym_STAR_STAR] = ACTIONS(6860),
    [anon_sym_AMP] = ACTIONS(6862),
    [anon_sym_EQ] = ACTIONS(5432),
    [anon_sym_LT] = ACTIONS(6864),
    [anon_sym_do] = ACTIONS(4284),
    [anon_sym_EQ_GT] = ACTIONS(4284),
    [anon_sym_RBRACK] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_PLUS_EQ] = ACTIONS(4284),
    [anon_sym_DASH_EQ] = ACTIONS(4284),
    [anon_sym_STAR_EQ] = ACTIONS(4284),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(4284),
    [anon_sym_SLASH_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(4284),
    [anon_sym_AMP_EQ] = ACTIONS(4284),
    [anon_sym_PERCENT_EQ] = ACTIONS(4284),
    [anon_sym_GT_GT_EQ] = ACTIONS(4284),
    [anon_sym_LT_LT_EQ] = ACTIONS(4284),
    [anon_sym_CARET_EQ] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(6866),
    [anon_sym_DOT_DOT] = ACTIONS(6868),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6870),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(6872),
    [anon_sym_AMP_AMP] = ACTIONS(6872),
    [anon_sym_LT_LT] = ACTIONS(6874),
    [anon_sym_GT_GT] = ACTIONS(6874),
    [anon_sym_EQ_EQ] = ACTIONS(6872),
    [anon_sym_BANG_EQ] = ACTIONS(6876),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6876),
    [anon_sym_LT_EQ_GT] = ACTIONS(6876),
    [anon_sym_EQ_TILDE] = ACTIONS(6876),
    [anon_sym_BANG_TILDE] = ACTIONS(6876),
    [anon_sym_LT_EQ] = ACTIONS(6864),
    [anon_sym_GT] = ACTIONS(6864),
    [anon_sym_GT_EQ] = ACTIONS(6878),
    [anon_sym_CARET] = ACTIONS(6858),
    [anon_sym_PLUS] = ACTIONS(6880),
    [anon_sym_SLASH] = ACTIONS(6860),
    [anon_sym_PERCENT] = ACTIONS(6860),
    [sym_comment] = ACTIONS(256),
  },
  [4759] = {
    [sym__simple_heredoc_body] = ACTIONS(6942),
    [sym__heredoc_body_beginning] = ACTIONS(6942),
    [sym__element_reference_left_bracket] = ACTIONS(6942),
    [sym__scope_double_colon] = ACTIONS(6942),
    [sym__binary_minus] = ACTIONS(6942),
    [sym__binary_star] = ACTIONS(6942),
    [anon_sym_LBRACE] = ACTIONS(6942),
    [anon_sym_RBRACE] = ACTIONS(6942),
    [anon_sym_RPAREN] = ACTIONS(6942),
    [anon_sym_DOT] = ACTIONS(6944),
    [anon_sym_COMMA] = ACTIONS(6942),
    [anon_sym_PIPE] = ACTIONS(6944),
    [anon_sym_SEMI] = ACTIONS(6942),
    [anon_sym_STAR_STAR] = ACTIONS(6944),
    [anon_sym_AMP] = ACTIONS(6944),
    [anon_sym_EQ] = ACTIONS(6944),
    [anon_sym_LT] = ACTIONS(6944),
    [anon_sym_in] = ACTIONS(6942),
    [anon_sym_do] = ACTIONS(6942),
    [anon_sym_EQ_GT] = ACTIONS(6942),
    [anon_sym_RBRACK] = ACTIONS(6942),
    [anon_sym_AMP_DOT] = ACTIONS(6942),
    [anon_sym_PLUS_EQ] = ACTIONS(6942),
    [anon_sym_DASH_EQ] = ACTIONS(6942),
    [anon_sym_STAR_EQ] = ACTIONS(6942),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6942),
    [anon_sym_SLASH_EQ] = ACTIONS(6942),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6942),
    [anon_sym_PIPE_EQ] = ACTIONS(6942),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6942),
    [anon_sym_AMP_EQ] = ACTIONS(6942),
    [anon_sym_PERCENT_EQ] = ACTIONS(6942),
    [anon_sym_GT_GT_EQ] = ACTIONS(6942),
    [anon_sym_LT_LT_EQ] = ACTIONS(6942),
    [anon_sym_CARET_EQ] = ACTIONS(6942),
    [anon_sym_QMARK] = ACTIONS(6942),
    [anon_sym_COLON] = ACTIONS(6942),
    [anon_sym_DOT_DOT] = ACTIONS(6944),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6942),
    [anon_sym_and] = ACTIONS(6942),
    [anon_sym_or] = ACTIONS(6942),
    [anon_sym_PIPE_PIPE] = ACTIONS(6944),
    [anon_sym_AMP_AMP] = ACTIONS(6944),
    [anon_sym_LT_LT] = ACTIONS(6944),
    [anon_sym_GT_GT] = ACTIONS(6944),
    [anon_sym_EQ_EQ] = ACTIONS(6944),
    [anon_sym_BANG_EQ] = ACTIONS(6942),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6942),
    [anon_sym_LT_EQ_GT] = ACTIONS(6942),
    [anon_sym_EQ_TILDE] = ACTIONS(6942),
    [anon_sym_BANG_TILDE] = ACTIONS(6942),
    [anon_sym_LT_EQ] = ACTIONS(6944),
    [anon_sym_GT] = ACTIONS(6944),
    [anon_sym_GT_EQ] = ACTIONS(6942),
    [anon_sym_CARET] = ACTIONS(6944),
    [anon_sym_PLUS] = ACTIONS(6944),
    [anon_sym_SLASH] = ACTIONS(6944),
    [anon_sym_PERCENT] = ACTIONS(6944),
    [sym_comment] = ACTIONS(256),
  },
  [4760] = {
    [anon_sym_end] = ACTIONS(11036),
    [sym_comment] = ACTIONS(110),
  },
  [4761] = {
    [sym__statements] = STATE(8151),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(8152),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11038),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4762] = {
    [sym__statements] = STATE(8151),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(8153),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(8152),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11038),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4763] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(6860),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_RBRACK] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2872),
    [anon_sym_AMP_AMP] = ACTIONS(2872),
    [anon_sym_LT_LT] = ACTIONS(2872),
    [anon_sym_GT_GT] = ACTIONS(2872),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2872),
    [anon_sym_PLUS] = ACTIONS(2872),
    [anon_sym_SLASH] = ACTIONS(2872),
    [anon_sym_PERCENT] = ACTIONS(2872),
    [sym_comment] = ACTIONS(256),
  },
  [4764] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(6854),
    [sym__binary_star] = ACTIONS(6856),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(6858),
    [anon_sym_STAR_STAR] = ACTIONS(6860),
    [anon_sym_AMP] = ACTIONS(6862),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(6864),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_RBRACK] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(6866),
    [anon_sym_DOT_DOT] = ACTIONS(6868),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(6872),
    [anon_sym_AMP_AMP] = ACTIONS(6872),
    [anon_sym_LT_LT] = ACTIONS(6874),
    [anon_sym_GT_GT] = ACTIONS(6874),
    [anon_sym_EQ_EQ] = ACTIONS(6872),
    [anon_sym_BANG_EQ] = ACTIONS(6876),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6876),
    [anon_sym_LT_EQ_GT] = ACTIONS(6876),
    [anon_sym_EQ_TILDE] = ACTIONS(6876),
    [anon_sym_BANG_TILDE] = ACTIONS(6876),
    [anon_sym_LT_EQ] = ACTIONS(6864),
    [anon_sym_GT] = ACTIONS(6864),
    [anon_sym_GT_EQ] = ACTIONS(6878),
    [anon_sym_CARET] = ACTIONS(6858),
    [anon_sym_PLUS] = ACTIONS(6880),
    [anon_sym_SLASH] = ACTIONS(6860),
    [anon_sym_PERCENT] = ACTIONS(6860),
    [sym_comment] = ACTIONS(256),
  },
  [4765] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(8154),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1949),
    [sym_call] = STATE(1949),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1953),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1954),
    [sym__variable] = STATE(1949),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(3010),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(6838),
    [anon_sym_yield] = ACTIONS(6840),
    [anon_sym_break] = ACTIONS(6842),
    [anon_sym_next] = ACTIONS(6844),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(6846),
    [anon_sym_defined_QMARK] = ACTIONS(3024),
    [anon_sym_not] = ACTIONS(6848),
    [anon_sym_BANG] = ACTIONS(3030),
    [anon_sym_TILDE] = ACTIONS(3030),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [4766] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(8155),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1949),
    [sym_call] = STATE(1949),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1953),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1954),
    [sym__variable] = STATE(1949),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(3010),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(6838),
    [anon_sym_yield] = ACTIONS(6840),
    [anon_sym_break] = ACTIONS(6842),
    [anon_sym_next] = ACTIONS(6844),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(6846),
    [anon_sym_defined_QMARK] = ACTIONS(3024),
    [anon_sym_not] = ACTIONS(6848),
    [anon_sym_BANG] = ACTIONS(3030),
    [anon_sym_TILDE] = ACTIONS(3030),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [4767] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(8156),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1949),
    [sym_call] = STATE(1949),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1953),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1954),
    [sym__variable] = STATE(1949),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(3010),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(6838),
    [anon_sym_yield] = ACTIONS(6840),
    [anon_sym_break] = ACTIONS(6842),
    [anon_sym_next] = ACTIONS(6844),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(6846),
    [anon_sym_defined_QMARK] = ACTIONS(3024),
    [anon_sym_not] = ACTIONS(6848),
    [anon_sym_BANG] = ACTIONS(3030),
    [anon_sym_TILDE] = ACTIONS(3030),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [4768] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(8157),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1949),
    [sym_call] = STATE(1949),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1953),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1954),
    [sym__variable] = STATE(1949),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(3010),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(6838),
    [anon_sym_yield] = ACTIONS(6840),
    [anon_sym_break] = ACTIONS(6842),
    [anon_sym_next] = ACTIONS(6844),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(6846),
    [anon_sym_defined_QMARK] = ACTIONS(3024),
    [anon_sym_not] = ACTIONS(6848),
    [anon_sym_BANG] = ACTIONS(3030),
    [anon_sym_TILDE] = ACTIONS(3030),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [4769] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(8158),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1949),
    [sym_call] = STATE(1949),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1953),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1954),
    [sym__variable] = STATE(1949),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(3010),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(6838),
    [anon_sym_yield] = ACTIONS(6840),
    [anon_sym_break] = ACTIONS(6842),
    [anon_sym_next] = ACTIONS(6844),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(6846),
    [anon_sym_defined_QMARK] = ACTIONS(3024),
    [anon_sym_not] = ACTIONS(6848),
    [anon_sym_BANG] = ACTIONS(3030),
    [anon_sym_TILDE] = ACTIONS(3030),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [4770] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(8159),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1949),
    [sym_call] = STATE(1949),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1953),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1954),
    [sym__variable] = STATE(1949),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(3010),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(6838),
    [anon_sym_yield] = ACTIONS(6840),
    [anon_sym_break] = ACTIONS(6842),
    [anon_sym_next] = ACTIONS(6844),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(6846),
    [anon_sym_defined_QMARK] = ACTIONS(3024),
    [anon_sym_not] = ACTIONS(6848),
    [anon_sym_BANG] = ACTIONS(3030),
    [anon_sym_TILDE] = ACTIONS(3030),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [4771] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(8160),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1949),
    [sym_call] = STATE(1949),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1953),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1954),
    [sym__variable] = STATE(1949),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(3010),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(6838),
    [anon_sym_yield] = ACTIONS(6840),
    [anon_sym_break] = ACTIONS(6842),
    [anon_sym_next] = ACTIONS(6844),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(6846),
    [anon_sym_defined_QMARK] = ACTIONS(3024),
    [anon_sym_not] = ACTIONS(6848),
    [anon_sym_BANG] = ACTIONS(3030),
    [anon_sym_TILDE] = ACTIONS(3030),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [4772] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(8161),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [4773] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(8162),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1949),
    [sym_call] = STATE(1949),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1953),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1954),
    [sym__variable] = STATE(1949),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(3010),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(6838),
    [anon_sym_yield] = ACTIONS(6840),
    [anon_sym_break] = ACTIONS(6842),
    [anon_sym_next] = ACTIONS(6844),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(6846),
    [anon_sym_defined_QMARK] = ACTIONS(3024),
    [anon_sym_not] = ACTIONS(6848),
    [anon_sym_BANG] = ACTIONS(3030),
    [anon_sym_TILDE] = ACTIONS(3030),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [4774] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(8163),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1949),
    [sym_call] = STATE(1949),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1953),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1954),
    [sym__variable] = STATE(1949),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(3010),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(6838),
    [anon_sym_yield] = ACTIONS(6840),
    [anon_sym_break] = ACTIONS(6842),
    [anon_sym_next] = ACTIONS(6844),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(6846),
    [anon_sym_defined_QMARK] = ACTIONS(3024),
    [anon_sym_not] = ACTIONS(6848),
    [anon_sym_BANG] = ACTIONS(3030),
    [anon_sym_TILDE] = ACTIONS(3030),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [4775] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(8164),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1949),
    [sym_call] = STATE(1949),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1953),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1954),
    [sym__variable] = STATE(1949),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(3010),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(6838),
    [anon_sym_yield] = ACTIONS(6840),
    [anon_sym_break] = ACTIONS(6842),
    [anon_sym_next] = ACTIONS(6844),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(6846),
    [anon_sym_defined_QMARK] = ACTIONS(3024),
    [anon_sym_not] = ACTIONS(6848),
    [anon_sym_BANG] = ACTIONS(3030),
    [anon_sym_TILDE] = ACTIONS(3030),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [4776] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(8165),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1949),
    [sym_call] = STATE(1949),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1953),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1954),
    [sym__variable] = STATE(1949),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(3010),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(6838),
    [anon_sym_yield] = ACTIONS(6840),
    [anon_sym_break] = ACTIONS(6842),
    [anon_sym_next] = ACTIONS(6844),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(6846),
    [anon_sym_defined_QMARK] = ACTIONS(3024),
    [anon_sym_not] = ACTIONS(6848),
    [anon_sym_BANG] = ACTIONS(3030),
    [anon_sym_TILDE] = ACTIONS(3030),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [4777] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(8166),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1949),
    [sym_call] = STATE(1949),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1953),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1954),
    [sym__variable] = STATE(1949),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(3010),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(6838),
    [anon_sym_yield] = ACTIONS(6840),
    [anon_sym_break] = ACTIONS(6842),
    [anon_sym_next] = ACTIONS(6844),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(6846),
    [anon_sym_defined_QMARK] = ACTIONS(3024),
    [anon_sym_not] = ACTIONS(6848),
    [anon_sym_BANG] = ACTIONS(3030),
    [anon_sym_TILDE] = ACTIONS(3030),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [4778] = {
    [sym__simple_heredoc_body] = ACTIONS(7290),
    [sym__heredoc_body_beginning] = ACTIONS(7290),
    [sym__element_reference_left_bracket] = ACTIONS(7290),
    [sym__scope_double_colon] = ACTIONS(7290),
    [sym__binary_minus] = ACTIONS(7290),
    [sym__binary_star] = ACTIONS(7290),
    [anon_sym_LBRACE] = ACTIONS(7290),
    [anon_sym_RBRACE] = ACTIONS(7290),
    [anon_sym_RPAREN] = ACTIONS(7290),
    [anon_sym_DOT] = ACTIONS(7292),
    [anon_sym_COMMA] = ACTIONS(7290),
    [anon_sym_PIPE] = ACTIONS(7292),
    [anon_sym_SEMI] = ACTIONS(7290),
    [anon_sym_STAR_STAR] = ACTIONS(7292),
    [anon_sym_AMP] = ACTIONS(7292),
    [anon_sym_EQ] = ACTIONS(7292),
    [anon_sym_LT] = ACTIONS(7292),
    [anon_sym_in] = ACTIONS(7290),
    [anon_sym_do] = ACTIONS(7290),
    [anon_sym_EQ_GT] = ACTIONS(7290),
    [anon_sym_RBRACK] = ACTIONS(7290),
    [anon_sym_AMP_DOT] = ACTIONS(7290),
    [anon_sym_PLUS_EQ] = ACTIONS(7290),
    [anon_sym_DASH_EQ] = ACTIONS(7290),
    [anon_sym_STAR_EQ] = ACTIONS(7290),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7290),
    [anon_sym_SLASH_EQ] = ACTIONS(7290),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7290),
    [anon_sym_PIPE_EQ] = ACTIONS(7290),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7290),
    [anon_sym_AMP_EQ] = ACTIONS(7290),
    [anon_sym_PERCENT_EQ] = ACTIONS(7290),
    [anon_sym_GT_GT_EQ] = ACTIONS(7290),
    [anon_sym_LT_LT_EQ] = ACTIONS(7290),
    [anon_sym_CARET_EQ] = ACTIONS(7290),
    [anon_sym_QMARK] = ACTIONS(7290),
    [anon_sym_COLON] = ACTIONS(7290),
    [anon_sym_DOT_DOT] = ACTIONS(7292),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7290),
    [anon_sym_and] = ACTIONS(7290),
    [anon_sym_or] = ACTIONS(7290),
    [anon_sym_PIPE_PIPE] = ACTIONS(7292),
    [anon_sym_AMP_AMP] = ACTIONS(7292),
    [anon_sym_LT_LT] = ACTIONS(7292),
    [anon_sym_GT_GT] = ACTIONS(7292),
    [anon_sym_EQ_EQ] = ACTIONS(7292),
    [anon_sym_BANG_EQ] = ACTIONS(7290),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7290),
    [anon_sym_LT_EQ_GT] = ACTIONS(7290),
    [anon_sym_EQ_TILDE] = ACTIONS(7290),
    [anon_sym_BANG_TILDE] = ACTIONS(7290),
    [anon_sym_LT_EQ] = ACTIONS(7292),
    [anon_sym_GT] = ACTIONS(7292),
    [anon_sym_GT_EQ] = ACTIONS(7290),
    [anon_sym_CARET] = ACTIONS(7292),
    [anon_sym_PLUS] = ACTIONS(7292),
    [anon_sym_SLASH] = ACTIONS(7292),
    [anon_sym_PERCENT] = ACTIONS(7292),
    [sym_comment] = ACTIONS(256),
  },
  [4779] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(1948),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1949),
    [sym_call] = STATE(1949),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(6226),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1953),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1954),
    [sym__variable] = STATE(1949),
    [sym_reserved_identifier] = STATE(1955),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(1956),
    [sym_subshell] = STATE(1062),
    [sym_heredoc_end] = STATE(8167),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__block_ampersand] = ACTIONS(3006),
    [sym__splat_star] = ACTIONS(3008),
    [sym__unary_minus] = ACTIONS(3010),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(11040),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(3014),
    [anon_sym_yield] = ACTIONS(3016),
    [anon_sym_break] = ACTIONS(3018),
    [anon_sym_next] = ACTIONS(3020),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(6846),
    [anon_sym_defined_QMARK] = ACTIONS(3024),
    [anon_sym_not] = ACTIONS(3026),
    [anon_sym_BANG] = ACTIONS(3030),
    [anon_sym_TILDE] = ACTIONS(3030),
    [sym_constant] = ACTIONS(3032),
    [sym_identifier] = ACTIONS(3032),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [4780] = {
    [sym_heredoc_end] = STATE(3153),
    [aux_sym_argument_list_repeat2] = STATE(6229),
    [sym__simple_heredoc_body] = ACTIONS(4552),
    [sym__heredoc_body_beginning] = ACTIONS(4554),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_LBRACE] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(11042),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_STAR_STAR] = ACTIONS(5474),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_EQ] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_do] = ACTIONS(5472),
    [anon_sym_EQ_GT] = ACTIONS(5472),
    [anon_sym_RBRACK] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_PLUS_EQ] = ACTIONS(5472),
    [anon_sym_DASH_EQ] = ACTIONS(5472),
    [anon_sym_STAR_EQ] = ACTIONS(5472),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5472),
    [anon_sym_SLASH_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5472),
    [anon_sym_AMP_EQ] = ACTIONS(5472),
    [anon_sym_PERCENT_EQ] = ACTIONS(5472),
    [anon_sym_GT_GT_EQ] = ACTIONS(5472),
    [anon_sym_LT_LT_EQ] = ACTIONS(5472),
    [anon_sym_CARET_EQ] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5474),
    [anon_sym_AMP_AMP] = ACTIONS(5474),
    [anon_sym_LT_LT] = ACTIONS(5474),
    [anon_sym_GT_GT] = ACTIONS(5474),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5474),
    [anon_sym_PLUS] = ACTIONS(5474),
    [anon_sym_SLASH] = ACTIONS(5474),
    [anon_sym_PERCENT] = ACTIONS(5474),
    [sym_comment] = ACTIONS(256),
  },
  [4781] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(8169),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1949),
    [sym_call] = STATE(1949),
    [sym_method_call] = STATE(503),
    [sym_splat_argument] = STATE(6231),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_right_assignment_list] = STATE(6232),
    [sym__arg_or_splat_arg] = STATE(8170),
    [sym_left_assignment_list] = STATE(1953),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1954),
    [sym__variable] = STATE(1949),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__splat_star] = ACTIONS(3008),
    [sym__unary_minus] = ACTIONS(3010),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(6838),
    [anon_sym_yield] = ACTIONS(6840),
    [anon_sym_break] = ACTIONS(6842),
    [anon_sym_next] = ACTIONS(6844),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(6846),
    [anon_sym_defined_QMARK] = ACTIONS(3024),
    [anon_sym_not] = ACTIONS(6848),
    [anon_sym_BANG] = ACTIONS(3030),
    [anon_sym_TILDE] = ACTIONS(3030),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [4782] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(8171),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1949),
    [sym_call] = STATE(1949),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1953),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1954),
    [sym__variable] = STATE(1949),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(3010),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(6838),
    [anon_sym_yield] = ACTIONS(6840),
    [anon_sym_break] = ACTIONS(6842),
    [anon_sym_next] = ACTIONS(6844),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(6846),
    [anon_sym_defined_QMARK] = ACTIONS(3024),
    [anon_sym_not] = ACTIONS(6848),
    [anon_sym_BANG] = ACTIONS(3030),
    [anon_sym_TILDE] = ACTIONS(3030),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [4783] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(8172),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1949),
    [sym_call] = STATE(1949),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1953),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1954),
    [sym__variable] = STATE(1949),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(3010),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(6838),
    [anon_sym_yield] = ACTIONS(6840),
    [anon_sym_break] = ACTIONS(6842),
    [anon_sym_next] = ACTIONS(6844),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(6846),
    [anon_sym_defined_QMARK] = ACTIONS(3024),
    [anon_sym_not] = ACTIONS(6848),
    [anon_sym_BANG] = ACTIONS(3030),
    [anon_sym_TILDE] = ACTIONS(3030),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [4784] = {
    [sym__simple_string] = ACTIONS(1398),
    [sym__simple_symbol] = ACTIONS(1398),
    [sym__simple_subshell] = ACTIONS(1398),
    [sym__simple_regex] = ACTIONS(1398),
    [sym__simple_word_list] = ACTIONS(1398),
    [sym__simple_heredoc_body] = ACTIONS(1398),
    [sym__string_beginning] = ACTIONS(1398),
    [sym__symbol_beginning] = ACTIONS(1398),
    [sym__subshell_beginning] = ACTIONS(1398),
    [sym__regex_beginning] = ACTIONS(1398),
    [sym__word_list_beginning] = ACTIONS(1398),
    [sym__heredoc_body_beginning] = ACTIONS(1398),
    [sym_heredoc_beginning] = ACTIONS(1398),
    [sym__block_ampersand] = ACTIONS(1398),
    [sym__splat_star] = ACTIONS(1398),
    [sym__unary_minus] = ACTIONS(1398),
    [anon_sym_LBRACE] = ACTIONS(1398),
    [anon_sym_def] = ACTIONS(2666),
    [anon_sym_LPAREN] = ACTIONS(1398),
    [anon_sym_RPAREN] = ACTIONS(1398),
    [anon_sym_COLON_COLON] = ACTIONS(1398),
    [anon_sym_end] = ACTIONS(2666),
    [anon_sym_STAR] = ACTIONS(2666),
    [anon_sym_STAR_STAR] = ACTIONS(1398),
    [anon_sym_class] = ACTIONS(2666),
    [anon_sym_module] = ACTIONS(2666),
    [anon_sym_return] = ACTIONS(2666),
    [anon_sym_yield] = ACTIONS(2666),
    [anon_sym_break] = ACTIONS(2666),
    [anon_sym_next] = ACTIONS(2666),
    [anon_sym_redo] = ACTIONS(2666),
    [anon_sym_retry] = ACTIONS(2666),
    [anon_sym_if] = ACTIONS(2666),
    [anon_sym_unless] = ACTIONS(2666),
    [anon_sym_while] = ACTIONS(2666),
    [anon_sym_until] = ACTIONS(2666),
    [anon_sym_rescue] = ACTIONS(2666),
    [anon_sym_for] = ACTIONS(2666),
    [anon_sym_in] = ACTIONS(2666),
    [anon_sym_do] = ACTIONS(2666),
    [anon_sym_case] = ACTIONS(2666),
    [anon_sym_when] = ACTIONS(2666),
    [anon_sym_elsif] = ACTIONS(2666),
    [anon_sym_else] = ACTIONS(2666),
    [anon_sym_then] = ACTIONS(2666),
    [anon_sym_begin] = ACTIONS(2666),
    [anon_sym_ensure] = ACTIONS(2666),
    [anon_sym_RBRACK] = ACTIONS(1398),
    [anon_sym_and] = ACTIONS(2666),
    [anon_sym_or] = ACTIONS(2666),
    [anon_sym_PLUS] = ACTIONS(2666),
    [anon_sym_defined_QMARK] = ACTIONS(1398),
    [anon_sym_not] = ACTIONS(2666),
    [anon_sym_BANG] = ACTIONS(1398),
    [anon_sym_TILDE] = ACTIONS(1398),
    [sym_constant] = ACTIONS(2668),
    [sym_identifier] = ACTIONS(2668),
    [sym_instance_variable] = ACTIONS(2666),
    [sym_class_variable] = ACTIONS(2666),
    [sym_global_variable] = ACTIONS(2666),
    [anon_sym_alias] = ACTIONS(2666),
    [anon_sym_defined] = ACTIONS(2666),
    [anon_sym_false] = ACTIONS(2666),
    [anon_sym_nil] = ACTIONS(2666),
    [anon_sym_self] = ACTIONS(2666),
    [anon_sym_super] = ACTIONS(2666),
    [anon_sym_true] = ACTIONS(2666),
    [anon_sym_undef] = ACTIONS(2666),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(2666),
    [sym_float] = ACTIONS(2668),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1398),
    [anon_sym_TRUE] = ACTIONS(2666),
    [anon_sym_FALSE] = ACTIONS(2666),
    [anon_sym_NIL] = ACTIONS(2666),
    [sym_keyword__FILE__] = ACTIONS(2666),
    [sym_keyword__LINE__] = ACTIONS(2666),
    [sym_keyword__ENCODING__] = ACTIONS(2666),
    [sym__character_literal] = ACTIONS(2666),
    [anon_sym_LBRACK] = ACTIONS(1398),
    [anon_sym_DASH_GT] = ACTIONS(1398),
  },
  [4785] = {
    [sym__statement] = STATE(8173),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [aux_sym_heredoc_end_repeat1] = STATE(8174),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [4786] = {
    [sym__simple_heredoc_body] = ACTIONS(11044),
    [sym__heredoc_body_beginning] = ACTIONS(11044),
    [anon_sym_RPAREN] = ACTIONS(11044),
    [anon_sym_RBRACK] = ACTIONS(11044),
    [sym_comment] = ACTIONS(110),
  },
  [4787] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(501),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(8175),
    [sym__argument] = STATE(506),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(509),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(510),
    [sym__variable] = STATE(504),
    [sym_reserved_identifier] = STATE(511),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(512),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(11044),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(11044),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(804),
    [sym__splat_star] = ACTIONS(806),
    [sym__unary_minus] = ACTIONS(808),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(818),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(824),
    [anon_sym_yield] = ACTIONS(826),
    [anon_sym_break] = ACTIONS(828),
    [anon_sym_next] = ACTIONS(830),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_RBRACK] = ACTIONS(11044),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(852),
    [anon_sym_defined_QMARK] = ACTIONS(854),
    [anon_sym_not] = ACTIONS(856),
    [anon_sym_BANG] = ACTIONS(858),
    [anon_sym_TILDE] = ACTIONS(858),
    [sym_constant] = ACTIONS(860),
    [sym_identifier] = ACTIONS(860),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4788] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(8176),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(509),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(510),
    [sym__variable] = STATE(504),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(808),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2904),
    [anon_sym_yield] = ACTIONS(2906),
    [anon_sym_break] = ACTIONS(2908),
    [anon_sym_next] = ACTIONS(2910),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(852),
    [anon_sym_defined_QMARK] = ACTIONS(854),
    [anon_sym_not] = ACTIONS(2912),
    [anon_sym_BANG] = ACTIONS(858),
    [anon_sym_TILDE] = ACTIONS(858),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4789] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(2966),
    [sym__binary_star] = ACTIONS(2968),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(2970),
    [anon_sym_STAR_STAR] = ACTIONS(2972),
    [anon_sym_AMP] = ACTIONS(2974),
    [anon_sym_LT] = ACTIONS(2976),
    [anon_sym_EQ_GT] = ACTIONS(6346),
    [anon_sym_RBRACK] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(2978),
    [anon_sym_DOT_DOT] = ACTIONS(2980),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2982),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(2986),
    [anon_sym_AMP_AMP] = ACTIONS(2986),
    [anon_sym_LT_LT] = ACTIONS(2988),
    [anon_sym_GT_GT] = ACTIONS(2988),
    [anon_sym_EQ_EQ] = ACTIONS(2990),
    [anon_sym_BANG_EQ] = ACTIONS(2986),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2986),
    [anon_sym_LT_EQ_GT] = ACTIONS(2986),
    [anon_sym_EQ_TILDE] = ACTIONS(2986),
    [anon_sym_BANG_TILDE] = ACTIONS(2986),
    [anon_sym_LT_EQ] = ACTIONS(2976),
    [anon_sym_GT] = ACTIONS(2976),
    [anon_sym_GT_EQ] = ACTIONS(2992),
    [anon_sym_CARET] = ACTIONS(2994),
    [anon_sym_PLUS] = ACTIONS(2996),
    [anon_sym_SLASH] = ACTIONS(2972),
    [anon_sym_PERCENT] = ACTIONS(2972),
    [sym_comment] = ACTIONS(110),
  },
  [4790] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(6346),
    [sym__binary_star] = ACTIONS(6346),
    [anon_sym_RBRACE] = ACTIONS(6346),
    [anon_sym_RPAREN] = ACTIONS(6346),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(7328),
    [anon_sym_STAR_STAR] = ACTIONS(6346),
    [anon_sym_AMP] = ACTIONS(7328),
    [anon_sym_LT] = ACTIONS(7328),
    [anon_sym_EQ_GT] = ACTIONS(6346),
    [anon_sym_RBRACK] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(6346),
    [anon_sym_DOT_DOT] = ACTIONS(7328),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6346),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(6346),
    [anon_sym_AMP_AMP] = ACTIONS(6346),
    [anon_sym_LT_LT] = ACTIONS(6346),
    [anon_sym_GT_GT] = ACTIONS(6346),
    [anon_sym_EQ_EQ] = ACTIONS(7328),
    [anon_sym_BANG_EQ] = ACTIONS(6346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6346),
    [anon_sym_LT_EQ_GT] = ACTIONS(6346),
    [anon_sym_EQ_TILDE] = ACTIONS(6346),
    [anon_sym_BANG_TILDE] = ACTIONS(6346),
    [anon_sym_LT_EQ] = ACTIONS(7328),
    [anon_sym_GT] = ACTIONS(7328),
    [anon_sym_GT_EQ] = ACTIONS(6346),
    [anon_sym_CARET] = ACTIONS(6346),
    [anon_sym_PLUS] = ACTIONS(6346),
    [anon_sym_SLASH] = ACTIONS(6346),
    [anon_sym_PERCENT] = ACTIONS(6346),
    [sym_comment] = ACTIONS(110),
  },
  [4791] = {
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_RBRACE] = ACTIONS(7330),
    [anon_sym_RPAREN] = ACTIONS(7330),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_EQ_GT] = ACTIONS(7330),
    [anon_sym_RBRACK] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [4792] = {
    [aux_sym_exceptions_repeat1] = STATE(8178),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_EQ_GT] = ACTIONS(7330),
    [anon_sym_RBRACK] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [4793] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(2966),
    [sym__binary_star] = ACTIONS(2968),
    [anon_sym_COMMA] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(2970),
    [anon_sym_STAR_STAR] = ACTIONS(2972),
    [anon_sym_AMP] = ACTIONS(2974),
    [anon_sym_LT] = ACTIONS(2976),
    [anon_sym_EQ_GT] = ACTIONS(7344),
    [anon_sym_RBRACK] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(2978),
    [anon_sym_DOT_DOT] = ACTIONS(2980),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2982),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(2986),
    [anon_sym_AMP_AMP] = ACTIONS(2986),
    [anon_sym_LT_LT] = ACTIONS(2988),
    [anon_sym_GT_GT] = ACTIONS(2988),
    [anon_sym_EQ_EQ] = ACTIONS(2990),
    [anon_sym_BANG_EQ] = ACTIONS(2986),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2986),
    [anon_sym_LT_EQ_GT] = ACTIONS(2986),
    [anon_sym_EQ_TILDE] = ACTIONS(2986),
    [anon_sym_BANG_TILDE] = ACTIONS(2986),
    [anon_sym_LT_EQ] = ACTIONS(2976),
    [anon_sym_GT] = ACTIONS(2976),
    [anon_sym_GT_EQ] = ACTIONS(2992),
    [anon_sym_CARET] = ACTIONS(2994),
    [anon_sym_PLUS] = ACTIONS(2996),
    [anon_sym_SLASH] = ACTIONS(2972),
    [anon_sym_PERCENT] = ACTIONS(2972),
    [sym_comment] = ACTIONS(110),
  },
  [4794] = {
    [sym__simple_heredoc_body] = ACTIONS(8662),
    [sym__heredoc_body_beginning] = ACTIONS(8662),
    [sym__binary_minus] = ACTIONS(6714),
    [sym__binary_star] = ACTIONS(6716),
    [anon_sym_COMMA] = ACTIONS(8662),
    [anon_sym_PIPE] = ACTIONS(6718),
    [anon_sym_STAR_STAR] = ACTIONS(6720),
    [anon_sym_AMP] = ACTIONS(6722),
    [anon_sym_LT] = ACTIONS(6724),
    [anon_sym_RBRACK] = ACTIONS(8662),
    [anon_sym_QMARK] = ACTIONS(6726),
    [anon_sym_DOT_DOT] = ACTIONS(6728),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6730),
    [anon_sym_and] = ACTIONS(6732),
    [anon_sym_or] = ACTIONS(6732),
    [anon_sym_PIPE_PIPE] = ACTIONS(6734),
    [anon_sym_AMP_AMP] = ACTIONS(6734),
    [anon_sym_LT_LT] = ACTIONS(6736),
    [anon_sym_GT_GT] = ACTIONS(6736),
    [anon_sym_EQ_EQ] = ACTIONS(6738),
    [anon_sym_BANG_EQ] = ACTIONS(6734),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6734),
    [anon_sym_LT_EQ_GT] = ACTIONS(6734),
    [anon_sym_EQ_TILDE] = ACTIONS(6734),
    [anon_sym_BANG_TILDE] = ACTIONS(6734),
    [anon_sym_LT_EQ] = ACTIONS(6724),
    [anon_sym_GT] = ACTIONS(6724),
    [anon_sym_GT_EQ] = ACTIONS(6740),
    [anon_sym_CARET] = ACTIONS(6742),
    [anon_sym_PLUS] = ACTIONS(6744),
    [anon_sym_SLASH] = ACTIONS(6720),
    [anon_sym_PERCENT] = ACTIONS(6720),
    [sym_comment] = ACTIONS(110),
  },
  [4795] = {
    [sym__simple_string] = ACTIONS(7346),
    [sym__simple_heredoc_body] = ACTIONS(7346),
    [sym__string_beginning] = ACTIONS(7346),
    [sym__heredoc_body_beginning] = ACTIONS(7346),
    [sym__element_reference_left_bracket] = ACTIONS(7346),
    [sym__scope_double_colon] = ACTIONS(7346),
    [sym__binary_minus] = ACTIONS(7346),
    [sym__binary_star] = ACTIONS(7346),
    [anon_sym_LBRACE] = ACTIONS(7346),
    [anon_sym_RBRACE] = ACTIONS(7346),
    [anon_sym_RPAREN] = ACTIONS(7346),
    [anon_sym_DOT] = ACTIONS(7348),
    [anon_sym_COMMA] = ACTIONS(7346),
    [anon_sym_PIPE] = ACTIONS(7348),
    [anon_sym_SEMI] = ACTIONS(7346),
    [anon_sym_STAR_STAR] = ACTIONS(7346),
    [anon_sym_AMP] = ACTIONS(7348),
    [anon_sym_EQ] = ACTIONS(7348),
    [anon_sym_LT] = ACTIONS(7348),
    [anon_sym_in] = ACTIONS(7346),
    [anon_sym_do] = ACTIONS(7346),
    [anon_sym_EQ_GT] = ACTIONS(7346),
    [anon_sym_RBRACK] = ACTIONS(7346),
    [anon_sym_AMP_DOT] = ACTIONS(7346),
    [anon_sym_QMARK] = ACTIONS(7348),
    [anon_sym_COLON] = ACTIONS(7346),
    [anon_sym_DOT_DOT] = ACTIONS(7348),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7346),
    [anon_sym_and] = ACTIONS(7346),
    [anon_sym_or] = ACTIONS(7346),
    [anon_sym_PIPE_PIPE] = ACTIONS(7346),
    [anon_sym_AMP_AMP] = ACTIONS(7346),
    [anon_sym_LT_LT] = ACTIONS(7346),
    [anon_sym_GT_GT] = ACTIONS(7346),
    [anon_sym_EQ_EQ] = ACTIONS(7348),
    [anon_sym_BANG_EQ] = ACTIONS(7346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7346),
    [anon_sym_LT_EQ_GT] = ACTIONS(7346),
    [anon_sym_EQ_TILDE] = ACTIONS(7346),
    [anon_sym_BANG_TILDE] = ACTIONS(7346),
    [anon_sym_LT_EQ] = ACTIONS(7348),
    [anon_sym_GT] = ACTIONS(7348),
    [anon_sym_GT_EQ] = ACTIONS(7346),
    [anon_sym_CARET] = ACTIONS(7346),
    [anon_sym_PLUS] = ACTIONS(7346),
    [anon_sym_SLASH] = ACTIONS(7346),
    [anon_sym_PERCENT] = ACTIONS(7346),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(7348),
  },
  [4796] = {
    [anon_sym_PIPE] = ACTIONS(11046),
    [anon_sym_SEMI] = ACTIONS(11048),
    [sym_comment] = ACTIONS(110),
  },
  [4797] = {
    [sym__simple_string] = ACTIONS(11050),
    [sym__simple_symbol] = ACTIONS(11050),
    [sym__simple_subshell] = ACTIONS(11050),
    [sym__simple_regex] = ACTIONS(11050),
    [sym__simple_word_list] = ACTIONS(11050),
    [sym__string_beginning] = ACTIONS(11050),
    [sym__symbol_beginning] = ACTIONS(11050),
    [sym__subshell_beginning] = ACTIONS(11050),
    [sym__regex_beginning] = ACTIONS(11050),
    [sym__word_list_beginning] = ACTIONS(11050),
    [sym_heredoc_beginning] = ACTIONS(11050),
    [sym__unary_minus] = ACTIONS(11050),
    [anon_sym_BEGIN] = ACTIONS(11052),
    [anon_sym_LBRACE] = ACTIONS(11050),
    [anon_sym_RBRACE] = ACTIONS(11050),
    [anon_sym_END] = ACTIONS(11052),
    [anon_sym_def] = ACTIONS(11052),
    [anon_sym_LPAREN] = ACTIONS(11050),
    [anon_sym_COLON_COLON] = ACTIONS(11050),
    [anon_sym_SEMI] = ACTIONS(11050),
    [anon_sym_STAR] = ACTIONS(11050),
    [anon_sym_class] = ACTIONS(11052),
    [anon_sym_module] = ACTIONS(11052),
    [anon_sym_return] = ACTIONS(11052),
    [anon_sym_yield] = ACTIONS(11052),
    [anon_sym_break] = ACTIONS(11052),
    [anon_sym_next] = ACTIONS(11052),
    [anon_sym_redo] = ACTIONS(11052),
    [anon_sym_retry] = ACTIONS(11052),
    [anon_sym_if] = ACTIONS(11052),
    [anon_sym_unless] = ACTIONS(11052),
    [anon_sym_while] = ACTIONS(11052),
    [anon_sym_until] = ACTIONS(11052),
    [anon_sym_for] = ACTIONS(11052),
    [anon_sym_case] = ACTIONS(11052),
    [anon_sym_begin] = ACTIONS(11052),
    [anon_sym_PLUS] = ACTIONS(11052),
    [anon_sym_defined_QMARK] = ACTIONS(11050),
    [anon_sym_not] = ACTIONS(11052),
    [anon_sym_BANG] = ACTIONS(11050),
    [anon_sym_TILDE] = ACTIONS(11050),
    [sym_constant] = ACTIONS(11054),
    [sym_identifier] = ACTIONS(11054),
    [sym_instance_variable] = ACTIONS(11052),
    [sym_class_variable] = ACTIONS(11052),
    [sym_global_variable] = ACTIONS(11052),
    [anon_sym_alias] = ACTIONS(11052),
    [anon_sym_false] = ACTIONS(11052),
    [anon_sym_nil] = ACTIONS(11052),
    [anon_sym_self] = ACTIONS(11052),
    [anon_sym_super] = ACTIONS(11052),
    [anon_sym_true] = ACTIONS(11052),
    [anon_sym_undef] = ACTIONS(11052),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(11052),
    [sym_float] = ACTIONS(11054),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(11050),
    [anon_sym_TRUE] = ACTIONS(11052),
    [anon_sym_FALSE] = ACTIONS(11052),
    [anon_sym_NIL] = ACTIONS(11052),
    [sym_keyword__FILE__] = ACTIONS(11052),
    [sym_keyword__LINE__] = ACTIONS(11052),
    [sym_keyword__ENCODING__] = ACTIONS(11052),
    [sym__character_literal] = ACTIONS(11052),
    [anon_sym_LBRACK] = ACTIONS(11050),
    [anon_sym_DASH_GT] = ACTIONS(11050),
  },
  [4798] = {
    [sym_identifier] = ACTIONS(11056),
    [sym_comment] = ACTIONS(110),
  },
  [4799] = {
    [sym__keyword_colon] = ACTIONS(11058),
    [anon_sym_COMMA] = ACTIONS(3090),
    [anon_sym_PIPE] = ACTIONS(3090),
    [anon_sym_SEMI] = ACTIONS(3090),
    [anon_sym_EQ] = ACTIONS(11060),
    [sym_comment] = ACTIONS(256),
  },
  [4800] = {
    [aux_sym_method_parameters_repeat1] = STATE(8185),
    [anon_sym_COMMA] = ACTIONS(11062),
    [anon_sym_PIPE] = ACTIONS(11046),
    [anon_sym_SEMI] = ACTIONS(11048),
    [sym_comment] = ACTIONS(110),
  },
  [4801] = {
    [sym__simple_heredoc_body] = ACTIONS(11064),
    [sym__heredoc_body_beginning] = ACTIONS(11064),
    [sym__line_break] = ACTIONS(11064),
    [sym__element_reference_left_bracket] = ACTIONS(11064),
    [sym__scope_double_colon] = ACTIONS(11064),
    [sym__binary_minus] = ACTIONS(11064),
    [sym__binary_star] = ACTIONS(11064),
    [ts_builtin_sym_end] = ACTIONS(11064),
    [anon_sym___END__] = ACTIONS(11064),
    [anon_sym_LBRACE] = ACTIONS(11064),
    [anon_sym_RBRACE] = ACTIONS(11064),
    [anon_sym_RPAREN] = ACTIONS(11064),
    [anon_sym_DOT] = ACTIONS(11066),
    [anon_sym_end] = ACTIONS(11064),
    [anon_sym_COMMA] = ACTIONS(11064),
    [anon_sym_PIPE] = ACTIONS(11066),
    [anon_sym_SEMI] = ACTIONS(11064),
    [anon_sym_STAR_STAR] = ACTIONS(11064),
    [anon_sym_AMP] = ACTIONS(11066),
    [anon_sym_LT] = ACTIONS(11066),
    [anon_sym_if] = ACTIONS(11064),
    [anon_sym_unless] = ACTIONS(11064),
    [anon_sym_while] = ACTIONS(11064),
    [anon_sym_until] = ACTIONS(11064),
    [anon_sym_rescue] = ACTIONS(11064),
    [anon_sym_do] = ACTIONS(11064),
    [anon_sym_when] = ACTIONS(11064),
    [anon_sym_elsif] = ACTIONS(11064),
    [anon_sym_else] = ACTIONS(11064),
    [anon_sym_then] = ACTIONS(11064),
    [anon_sym_ensure] = ACTIONS(11064),
    [anon_sym_EQ_GT] = ACTIONS(11064),
    [anon_sym_AMP_DOT] = ACTIONS(11064),
    [anon_sym_QMARK] = ACTIONS(11064),
    [anon_sym_DOT_DOT] = ACTIONS(11066),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11064),
    [anon_sym_and] = ACTIONS(11064),
    [anon_sym_or] = ACTIONS(11064),
    [anon_sym_PIPE_PIPE] = ACTIONS(11064),
    [anon_sym_AMP_AMP] = ACTIONS(11064),
    [anon_sym_LT_LT] = ACTIONS(11064),
    [anon_sym_GT_GT] = ACTIONS(11064),
    [anon_sym_EQ_EQ] = ACTIONS(11066),
    [anon_sym_BANG_EQ] = ACTIONS(11064),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11064),
    [anon_sym_LT_EQ_GT] = ACTIONS(11064),
    [anon_sym_EQ_TILDE] = ACTIONS(11064),
    [anon_sym_BANG_TILDE] = ACTIONS(11064),
    [anon_sym_LT_EQ] = ACTIONS(11066),
    [anon_sym_GT] = ACTIONS(11066),
    [anon_sym_GT_EQ] = ACTIONS(11064),
    [anon_sym_CARET] = ACTIONS(11064),
    [anon_sym_PLUS] = ACTIONS(11064),
    [anon_sym_SLASH] = ACTIONS(11064),
    [anon_sym_PERCENT] = ACTIONS(11064),
    [sym_comment] = ACTIONS(110),
  },
  [4802] = {
    [anon_sym_RBRACE] = ACTIONS(11068),
    [sym_comment] = ACTIONS(110),
  },
  [4803] = {
    [aux_sym_method_parameters_repeat1] = STATE(8188),
    [anon_sym_RPAREN] = ACTIONS(11070),
    [anon_sym_COMMA] = ACTIONS(6928),
    [sym_comment] = ACTIONS(110),
  },
  [4804] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(8189),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(1139),
    [sym_call] = STATE(1139),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(6367),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6368),
    [sym__variable] = STATE(1139),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(8822),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_RPAREN] = ACTIONS(6960),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_COMMA] = ACTIONS(6960),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_yield] = ACTIONS(1828),
    [anon_sym_break] = ACTIONS(1830),
    [anon_sym_next] = ACTIONS(1832),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(8824),
    [anon_sym_defined_QMARK] = ACTIONS(8826),
    [anon_sym_not] = ACTIONS(8828),
    [anon_sym_BANG] = ACTIONS(8830),
    [anon_sym_TILDE] = ACTIONS(8830),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [4805] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(8190),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(1139),
    [sym_call] = STATE(1139),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(6367),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6368),
    [sym__variable] = STATE(1139),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(8822),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_yield] = ACTIONS(1828),
    [anon_sym_break] = ACTIONS(1830),
    [anon_sym_next] = ACTIONS(1832),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(8824),
    [anon_sym_defined_QMARK] = ACTIONS(8826),
    [anon_sym_not] = ACTIONS(8828),
    [anon_sym_BANG] = ACTIONS(8830),
    [anon_sym_TILDE] = ACTIONS(8830),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [4806] = {
    [anon_sym_LBRACE] = ACTIONS(11072),
    [anon_sym_do] = ACTIONS(11072),
    [sym_comment] = ACTIONS(110),
  },
  [4807] = {
    [sym__formal_parameter] = STATE(8191),
    [sym__simple_formal_parameter] = STATE(1974),
    [sym_destructured_parameter] = STATE(1974),
    [sym_splat_parameter] = STATE(523),
    [sym_hash_splat_parameter] = STATE(523),
    [sym_block_parameter] = STATE(523),
    [sym_keyword_parameter] = STATE(523),
    [sym_optional_parameter] = STATE(523),
    [anon_sym_LPAREN] = ACTIONS(3050),
    [anon_sym_STAR] = ACTIONS(3054),
    [anon_sym_STAR_STAR] = ACTIONS(3056),
    [anon_sym_AMP] = ACTIONS(902),
    [sym_identifier] = ACTIONS(3058),
    [sym_comment] = ACTIONS(110),
  },
  [4808] = {
    [anon_sym_RPAREN] = ACTIONS(11074),
    [anon_sym_COMMA] = ACTIONS(11076),
    [sym_comment] = ACTIONS(110),
  },
  [4809] = {
    [sym__statements] = STATE(8195),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(8196),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(841),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(11078),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_PIPE] = ACTIONS(3048),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4810] = {
    [sym__statements] = STATE(8198),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(8199),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1981),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(8200),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(3076),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(3078),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(3080),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11080),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(3086),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4811] = {
    [sym_do_block] = STATE(8201),
    [sym_block] = STATE(8201),
    [anon_sym_LBRACE] = ACTIONS(6938),
    [anon_sym_do] = ACTIONS(11082),
    [sym_comment] = ACTIONS(110),
  },
  [4812] = {
    [anon_sym_LBRACE] = ACTIONS(3100),
    [anon_sym_RPAREN] = ACTIONS(3100),
    [anon_sym_COMMA] = ACTIONS(3100),
    [anon_sym_PIPE] = ACTIONS(3100),
    [anon_sym_SEMI] = ACTIONS(3100),
    [anon_sym_do] = ACTIONS(3100),
    [sym_comment] = ACTIONS(110),
  },
  [4813] = {
    [sym__heredoc_body_middle] = ACTIONS(4108),
    [sym__heredoc_body_end] = ACTIONS(11084),
    [anon_sym_if] = ACTIONS(4112),
    [anon_sym_unless] = ACTIONS(4114),
    [anon_sym_while] = ACTIONS(4116),
    [anon_sym_until] = ACTIONS(4118),
    [anon_sym_rescue] = ACTIONS(4120),
    [sym_comment] = ACTIONS(110),
  },
  [4814] = {
    [sym__statement] = STATE(8203),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [4815] = {
    [anon_sym_PIPE] = ACTIONS(11086),
    [anon_sym_SEMI] = ACTIONS(11088),
    [sym_comment] = ACTIONS(110),
  },
  [4816] = {
    [sym__simple_string] = ACTIONS(11050),
    [sym__simple_symbol] = ACTIONS(11050),
    [sym__simple_subshell] = ACTIONS(11050),
    [sym__simple_regex] = ACTIONS(11050),
    [sym__simple_word_list] = ACTIONS(11050),
    [sym__simple_heredoc_body] = ACTIONS(11050),
    [sym__string_beginning] = ACTIONS(11050),
    [sym__symbol_beginning] = ACTIONS(11050),
    [sym__subshell_beginning] = ACTIONS(11050),
    [sym__regex_beginning] = ACTIONS(11050),
    [sym__word_list_beginning] = ACTIONS(11050),
    [sym__heredoc_body_beginning] = ACTIONS(11050),
    [sym_heredoc_beginning] = ACTIONS(11050),
    [sym__line_break] = ACTIONS(11050),
    [sym__unary_minus] = ACTIONS(11050),
    [anon_sym_BEGIN] = ACTIONS(11052),
    [anon_sym_LBRACE] = ACTIONS(11050),
    [anon_sym_END] = ACTIONS(11052),
    [anon_sym_def] = ACTIONS(11052),
    [anon_sym_LPAREN] = ACTIONS(11050),
    [anon_sym_COLON_COLON] = ACTIONS(11050),
    [anon_sym_end] = ACTIONS(11052),
    [anon_sym_SEMI] = ACTIONS(11050),
    [anon_sym_STAR] = ACTIONS(11050),
    [anon_sym_class] = ACTIONS(11052),
    [anon_sym_module] = ACTIONS(11052),
    [anon_sym_return] = ACTIONS(11052),
    [anon_sym_yield] = ACTIONS(11052),
    [anon_sym_break] = ACTIONS(11052),
    [anon_sym_next] = ACTIONS(11052),
    [anon_sym_redo] = ACTIONS(11052),
    [anon_sym_retry] = ACTIONS(11052),
    [anon_sym_if] = ACTIONS(11052),
    [anon_sym_unless] = ACTIONS(11052),
    [anon_sym_while] = ACTIONS(11052),
    [anon_sym_until] = ACTIONS(11052),
    [anon_sym_for] = ACTIONS(11052),
    [anon_sym_case] = ACTIONS(11052),
    [anon_sym_begin] = ACTIONS(11052),
    [anon_sym_PLUS] = ACTIONS(11052),
    [anon_sym_defined_QMARK] = ACTIONS(11050),
    [anon_sym_not] = ACTIONS(11052),
    [anon_sym_BANG] = ACTIONS(11050),
    [anon_sym_TILDE] = ACTIONS(11050),
    [sym_constant] = ACTIONS(11054),
    [sym_identifier] = ACTIONS(11054),
    [sym_instance_variable] = ACTIONS(11052),
    [sym_class_variable] = ACTIONS(11052),
    [sym_global_variable] = ACTIONS(11052),
    [anon_sym_alias] = ACTIONS(11052),
    [anon_sym_false] = ACTIONS(11052),
    [anon_sym_nil] = ACTIONS(11052),
    [anon_sym_self] = ACTIONS(11052),
    [anon_sym_super] = ACTIONS(11052),
    [anon_sym_true] = ACTIONS(11052),
    [anon_sym_undef] = ACTIONS(11052),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(11052),
    [sym_float] = ACTIONS(11054),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(11050),
    [anon_sym_TRUE] = ACTIONS(11052),
    [anon_sym_FALSE] = ACTIONS(11052),
    [anon_sym_NIL] = ACTIONS(11052),
    [sym_keyword__FILE__] = ACTIONS(11052),
    [sym_keyword__LINE__] = ACTIONS(11052),
    [sym_keyword__ENCODING__] = ACTIONS(11052),
    [sym__character_literal] = ACTIONS(11052),
    [anon_sym_LBRACK] = ACTIONS(11050),
    [anon_sym_DASH_GT] = ACTIONS(11050),
  },
  [4817] = {
    [sym_identifier] = ACTIONS(11090),
    [sym_comment] = ACTIONS(110),
  },
  [4818] = {
    [aux_sym_method_parameters_repeat1] = STATE(8208),
    [anon_sym_COMMA] = ACTIONS(11092),
    [anon_sym_PIPE] = ACTIONS(11086),
    [anon_sym_SEMI] = ACTIONS(11088),
    [sym_comment] = ACTIONS(110),
  },
  [4819] = {
    [sym__simple_heredoc_body] = ACTIONS(11094),
    [sym__heredoc_body_beginning] = ACTIONS(11094),
    [sym__line_break] = ACTIONS(11094),
    [sym__element_reference_left_bracket] = ACTIONS(11094),
    [sym__scope_double_colon] = ACTIONS(11094),
    [sym__binary_minus] = ACTIONS(11094),
    [sym__binary_star] = ACTIONS(11094),
    [ts_builtin_sym_end] = ACTIONS(11094),
    [anon_sym___END__] = ACTIONS(11094),
    [anon_sym_LBRACE] = ACTIONS(11094),
    [anon_sym_RBRACE] = ACTIONS(11094),
    [anon_sym_RPAREN] = ACTIONS(11094),
    [anon_sym_DOT] = ACTIONS(11096),
    [anon_sym_end] = ACTIONS(11094),
    [anon_sym_COMMA] = ACTIONS(11094),
    [anon_sym_PIPE] = ACTIONS(11096),
    [anon_sym_SEMI] = ACTIONS(11094),
    [anon_sym_STAR_STAR] = ACTIONS(11094),
    [anon_sym_AMP] = ACTIONS(11096),
    [anon_sym_LT] = ACTIONS(11096),
    [anon_sym_if] = ACTIONS(11094),
    [anon_sym_unless] = ACTIONS(11094),
    [anon_sym_while] = ACTIONS(11094),
    [anon_sym_until] = ACTIONS(11094),
    [anon_sym_rescue] = ACTIONS(11094),
    [anon_sym_do] = ACTIONS(11094),
    [anon_sym_when] = ACTIONS(11094),
    [anon_sym_elsif] = ACTIONS(11094),
    [anon_sym_else] = ACTIONS(11094),
    [anon_sym_then] = ACTIONS(11094),
    [anon_sym_ensure] = ACTIONS(11094),
    [anon_sym_EQ_GT] = ACTIONS(11094),
    [anon_sym_AMP_DOT] = ACTIONS(11094),
    [anon_sym_QMARK] = ACTIONS(11094),
    [anon_sym_DOT_DOT] = ACTIONS(11096),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11094),
    [anon_sym_and] = ACTIONS(11094),
    [anon_sym_or] = ACTIONS(11094),
    [anon_sym_PIPE_PIPE] = ACTIONS(11094),
    [anon_sym_AMP_AMP] = ACTIONS(11094),
    [anon_sym_LT_LT] = ACTIONS(11094),
    [anon_sym_GT_GT] = ACTIONS(11094),
    [anon_sym_EQ_EQ] = ACTIONS(11096),
    [anon_sym_BANG_EQ] = ACTIONS(11094),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11094),
    [anon_sym_LT_EQ_GT] = ACTIONS(11094),
    [anon_sym_EQ_TILDE] = ACTIONS(11094),
    [anon_sym_BANG_TILDE] = ACTIONS(11094),
    [anon_sym_LT_EQ] = ACTIONS(11096),
    [anon_sym_GT] = ACTIONS(11096),
    [anon_sym_GT_EQ] = ACTIONS(11094),
    [anon_sym_CARET] = ACTIONS(11094),
    [anon_sym_PLUS] = ACTIONS(11094),
    [anon_sym_SLASH] = ACTIONS(11094),
    [anon_sym_PERCENT] = ACTIONS(11094),
    [sym_comment] = ACTIONS(110),
  },
  [4820] = {
    [sym__simple_string] = ACTIONS(2552),
    [sym__simple_symbol] = ACTIONS(2552),
    [sym__simple_subshell] = ACTIONS(2552),
    [sym__simple_regex] = ACTIONS(2552),
    [sym__simple_word_list] = ACTIONS(2552),
    [sym__simple_heredoc_body] = ACTIONS(430),
    [sym__string_beginning] = ACTIONS(2552),
    [sym__symbol_beginning] = ACTIONS(2552),
    [sym__subshell_beginning] = ACTIONS(2552),
    [sym__regex_beginning] = ACTIONS(2552),
    [sym__word_list_beginning] = ACTIONS(2552),
    [sym__heredoc_body_beginning] = ACTIONS(430),
    [sym_heredoc_beginning] = ACTIONS(2552),
    [sym__line_break] = ACTIONS(430),
    [sym__unary_minus] = ACTIONS(2552),
    [anon_sym_BEGIN] = ACTIONS(2670),
    [anon_sym_LBRACE] = ACTIONS(2552),
    [anon_sym_END] = ACTIONS(2670),
    [anon_sym_def] = ACTIONS(2670),
    [anon_sym_LPAREN] = ACTIONS(2552),
    [anon_sym_COLON_COLON] = ACTIONS(2552),
    [anon_sym_end] = ACTIONS(2670),
    [anon_sym_SEMI] = ACTIONS(2552),
    [anon_sym_STAR] = ACTIONS(2552),
    [anon_sym_class] = ACTIONS(2670),
    [anon_sym_module] = ACTIONS(2670),
    [anon_sym_return] = ACTIONS(2670),
    [anon_sym_yield] = ACTIONS(2670),
    [anon_sym_break] = ACTIONS(2670),
    [anon_sym_next] = ACTIONS(2670),
    [anon_sym_redo] = ACTIONS(2670),
    [anon_sym_retry] = ACTIONS(2670),
    [anon_sym_if] = ACTIONS(2670),
    [anon_sym_unless] = ACTIONS(2670),
    [anon_sym_while] = ACTIONS(2670),
    [anon_sym_until] = ACTIONS(2670),
    [anon_sym_rescue] = ACTIONS(6398),
    [anon_sym_for] = ACTIONS(2670),
    [anon_sym_case] = ACTIONS(2670),
    [anon_sym_begin] = ACTIONS(2670),
    [anon_sym_PLUS] = ACTIONS(2670),
    [anon_sym_defined_QMARK] = ACTIONS(2552),
    [anon_sym_not] = ACTIONS(2670),
    [anon_sym_BANG] = ACTIONS(2552),
    [anon_sym_TILDE] = ACTIONS(2552),
    [sym_constant] = ACTIONS(2672),
    [sym_identifier] = ACTIONS(2672),
    [sym_instance_variable] = ACTIONS(2670),
    [sym_class_variable] = ACTIONS(2670),
    [sym_global_variable] = ACTIONS(2670),
    [anon_sym_alias] = ACTIONS(2670),
    [anon_sym_false] = ACTIONS(2670),
    [anon_sym_nil] = ACTIONS(2670),
    [anon_sym_self] = ACTIONS(2670),
    [anon_sym_super] = ACTIONS(2670),
    [anon_sym_true] = ACTIONS(2670),
    [anon_sym_undef] = ACTIONS(2670),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(2670),
    [sym_float] = ACTIONS(2672),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(2552),
    [anon_sym_TRUE] = ACTIONS(2670),
    [anon_sym_FALSE] = ACTIONS(2670),
    [anon_sym_NIL] = ACTIONS(2670),
    [sym_keyword__FILE__] = ACTIONS(2670),
    [sym_keyword__LINE__] = ACTIONS(2670),
    [sym_keyword__ENCODING__] = ACTIONS(2670),
    [sym__character_literal] = ACTIONS(2670),
    [anon_sym_LBRACK] = ACTIONS(2552),
    [anon_sym_DASH_GT] = ACTIONS(2552),
  },
  [4821] = {
    [anon_sym_end] = ACTIONS(11098),
    [sym_comment] = ACTIONS(110),
  },
  [4822] = {
    [sym__statements] = STATE(8210),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11100),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4823] = {
    [sym__statements] = STATE(8210),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(8211),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11100),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4824] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(8212),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(4833),
    [sym_call] = STATE(4833),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(4834),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4835),
    [sym__variable] = STATE(4833),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(6958),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(6962),
    [anon_sym_yield] = ACTIONS(6964),
    [anon_sym_break] = ACTIONS(6966),
    [anon_sym_next] = ACTIONS(6968),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(6972),
    [anon_sym_defined_QMARK] = ACTIONS(6974),
    [anon_sym_not] = ACTIONS(6976),
    [anon_sym_BANG] = ACTIONS(6978),
    [anon_sym_TILDE] = ACTIONS(6978),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [4825] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6810),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1002),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(6811),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(6812),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(6813),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(9346),
    [sym__splat_star] = ACTIONS(9348),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(2118),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(5242),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(9350),
    [sym_identifier] = ACTIONS(9350),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4826] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6810),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1011),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(6811),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(6812),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(6813),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(9346),
    [sym__splat_star] = ACTIONS(9348),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(2118),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(5242),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(9350),
    [sym_identifier] = ACTIONS(9350),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4827] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6810),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1012),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(6811),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(6812),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(6813),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(9346),
    [sym__splat_star] = ACTIONS(9348),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(2118),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(5242),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(9350),
    [sym_identifier] = ACTIONS(9350),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4828] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6810),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1013),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(6811),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(6812),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(6813),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(9346),
    [sym__splat_star] = ACTIONS(9348),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(2118),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(5242),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(9350),
    [sym_identifier] = ACTIONS(9350),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4829] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(8213),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(4833),
    [sym_call] = STATE(4833),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(4834),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4835),
    [sym__variable] = STATE(4833),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(6958),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(6962),
    [anon_sym_yield] = ACTIONS(6964),
    [anon_sym_break] = ACTIONS(6966),
    [anon_sym_next] = ACTIONS(6968),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(6972),
    [anon_sym_defined_QMARK] = ACTIONS(6974),
    [anon_sym_not] = ACTIONS(6976),
    [anon_sym_BANG] = ACTIONS(6978),
    [anon_sym_TILDE] = ACTIONS(6978),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [4830] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(8214),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(4833),
    [sym_call] = STATE(4833),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(4834),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4835),
    [sym__variable] = STATE(4833),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(6958),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(6962),
    [anon_sym_yield] = ACTIONS(6964),
    [anon_sym_break] = ACTIONS(6966),
    [anon_sym_next] = ACTIONS(6968),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(6972),
    [anon_sym_defined_QMARK] = ACTIONS(6974),
    [anon_sym_not] = ACTIONS(6976),
    [anon_sym_BANG] = ACTIONS(6978),
    [anon_sym_TILDE] = ACTIONS(6978),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [4831] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(1027),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(4833),
    [sym_call] = STATE(4833),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(4834),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4835),
    [sym__variable] = STATE(4833),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(6958),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(6962),
    [anon_sym_yield] = ACTIONS(6964),
    [anon_sym_break] = ACTIONS(6966),
    [anon_sym_next] = ACTIONS(6968),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(6972),
    [anon_sym_defined_QMARK] = ACTIONS(6974),
    [anon_sym_not] = ACTIONS(6976),
    [anon_sym_BANG] = ACTIONS(6978),
    [anon_sym_TILDE] = ACTIONS(6978),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [4832] = {
    [sym__binary_minus] = ACTIONS(11102),
    [sym__binary_star] = ACTIONS(11104),
    [anon_sym_LBRACE] = ACTIONS(11106),
    [anon_sym_COMMA] = ACTIONS(11106),
    [anon_sym_PIPE] = ACTIONS(11108),
    [anon_sym_STAR_STAR] = ACTIONS(11110),
    [anon_sym_AMP] = ACTIONS(11112),
    [anon_sym_LT] = ACTIONS(11114),
    [anon_sym_do] = ACTIONS(11106),
    [anon_sym_QMARK] = ACTIONS(11116),
    [anon_sym_DOT_DOT] = ACTIONS(11118),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11120),
    [anon_sym_and] = ACTIONS(11122),
    [anon_sym_or] = ACTIONS(11122),
    [anon_sym_PIPE_PIPE] = ACTIONS(11124),
    [anon_sym_AMP_AMP] = ACTIONS(11124),
    [anon_sym_LT_LT] = ACTIONS(11126),
    [anon_sym_GT_GT] = ACTIONS(11126),
    [anon_sym_EQ_EQ] = ACTIONS(11128),
    [anon_sym_BANG_EQ] = ACTIONS(11124),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11124),
    [anon_sym_LT_EQ_GT] = ACTIONS(11124),
    [anon_sym_EQ_TILDE] = ACTIONS(11124),
    [anon_sym_BANG_TILDE] = ACTIONS(11124),
    [anon_sym_LT_EQ] = ACTIONS(11114),
    [anon_sym_GT] = ACTIONS(11114),
    [anon_sym_GT_EQ] = ACTIONS(11130),
    [anon_sym_CARET] = ACTIONS(11132),
    [anon_sym_PLUS] = ACTIONS(11134),
    [anon_sym_SLASH] = ACTIONS(11110),
    [anon_sym_PERCENT] = ACTIONS(11110),
    [sym_comment] = ACTIONS(110),
  },
  [4833] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(6595),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(8227),
    [sym__argument_list_with_parens] = STATE(2959),
    [sym__argument] = STATE(6596),
    [sym_splat_argument] = STATE(2961),
    [sym_hash_splat_argument] = STATE(2961),
    [sym_block_argument] = STATE(2961),
    [sym_do_block] = STATE(3238),
    [sym_block] = STATE(3238),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1105),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1106),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(6597),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(6598),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(2961),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(9148),
    [sym__splat_star] = ACTIONS(9150),
    [sym__argument_list_left_paren] = ACTIONS(4330),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(1740),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(4662),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(1752),
    [anon_sym_yield] = ACTIONS(1754),
    [anon_sym_break] = ACTIONS(1756),
    [anon_sym_next] = ACTIONS(1758),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(982),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(1780),
    [anon_sym_not] = ACTIONS(1782),
    [anon_sym_BANG] = ACTIONS(1784),
    [anon_sym_TILDE] = ACTIONS(1786),
    [sym_constant] = ACTIONS(9152),
    [sym_identifier] = ACTIONS(9152),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [4834] = {
    [anon_sym_EQ] = ACTIONS(11136),
    [sym_comment] = ACTIONS(256),
  },
  [4835] = {
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(11138),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(11140),
    [anon_sym_DASH_EQ] = ACTIONS(11140),
    [anon_sym_STAR_EQ] = ACTIONS(11140),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(11140),
    [anon_sym_SLASH_EQ] = ACTIONS(11140),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(11140),
    [anon_sym_PIPE_EQ] = ACTIONS(11140),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(11140),
    [anon_sym_AMP_EQ] = ACTIONS(11140),
    [anon_sym_PERCENT_EQ] = ACTIONS(11140),
    [anon_sym_GT_GT_EQ] = ACTIONS(11140),
    [anon_sym_LT_LT_EQ] = ACTIONS(11140),
    [anon_sym_CARET_EQ] = ACTIONS(11140),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [4836] = {
    [sym__binary_minus] = ACTIONS(11102),
    [sym__binary_star] = ACTIONS(11104),
    [anon_sym_LBRACE] = ACTIONS(11142),
    [anon_sym_COMMA] = ACTIONS(11142),
    [anon_sym_PIPE] = ACTIONS(11108),
    [anon_sym_STAR_STAR] = ACTIONS(11110),
    [anon_sym_AMP] = ACTIONS(11112),
    [anon_sym_LT] = ACTIONS(11114),
    [anon_sym_do] = ACTIONS(11142),
    [anon_sym_QMARK] = ACTIONS(11116),
    [anon_sym_DOT_DOT] = ACTIONS(11118),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11120),
    [anon_sym_and] = ACTIONS(11122),
    [anon_sym_or] = ACTIONS(11122),
    [anon_sym_PIPE_PIPE] = ACTIONS(11124),
    [anon_sym_AMP_AMP] = ACTIONS(11124),
    [anon_sym_LT_LT] = ACTIONS(11126),
    [anon_sym_GT_GT] = ACTIONS(11126),
    [anon_sym_EQ_EQ] = ACTIONS(11128),
    [anon_sym_BANG_EQ] = ACTIONS(11124),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11124),
    [anon_sym_LT_EQ_GT] = ACTIONS(11124),
    [anon_sym_EQ_TILDE] = ACTIONS(11124),
    [anon_sym_BANG_TILDE] = ACTIONS(11124),
    [anon_sym_LT_EQ] = ACTIONS(11114),
    [anon_sym_GT] = ACTIONS(11114),
    [anon_sym_GT_EQ] = ACTIONS(11130),
    [anon_sym_CARET] = ACTIONS(11132),
    [anon_sym_PLUS] = ACTIONS(11134),
    [anon_sym_SLASH] = ACTIONS(11110),
    [anon_sym_PERCENT] = ACTIONS(11110),
    [sym_comment] = ACTIONS(110),
  },
  [4837] = {
    [anon_sym_LBRACE] = ACTIONS(11144),
    [anon_sym_COMMA] = ACTIONS(11144),
    [anon_sym_do] = ACTIONS(11144),
    [sym_comment] = ACTIONS(110),
  },
  [4838] = {
    [sym__simple_formal_parameter] = STATE(8230),
    [sym_splat_parameter] = STATE(523),
    [sym_hash_splat_parameter] = STATE(523),
    [sym_block_parameter] = STATE(523),
    [sym_keyword_parameter] = STATE(523),
    [sym_optional_parameter] = STATE(523),
    [anon_sym_STAR] = ACTIONS(898),
    [anon_sym_STAR_STAR] = ACTIONS(900),
    [anon_sym_AMP] = ACTIONS(902),
    [sym_identifier] = ACTIONS(6984),
    [sym_comment] = ACTIONS(110),
  },
  [4839] = {
    [sym__simple_string] = ACTIONS(8070),
    [sym__simple_symbol] = ACTIONS(8070),
    [sym__simple_subshell] = ACTIONS(8070),
    [sym__simple_regex] = ACTIONS(8070),
    [sym__simple_word_list] = ACTIONS(8070),
    [sym__string_beginning] = ACTIONS(8070),
    [sym__symbol_beginning] = ACTIONS(8070),
    [sym__subshell_beginning] = ACTIONS(8070),
    [sym__regex_beginning] = ACTIONS(8070),
    [sym__word_list_beginning] = ACTIONS(8070),
    [sym_heredoc_beginning] = ACTIONS(8070),
    [sym__unary_minus] = ACTIONS(8070),
    [ts_builtin_sym_end] = ACTIONS(8070),
    [anon_sym___END__] = ACTIONS(10414),
    [anon_sym_BEGIN] = ACTIONS(10414),
    [anon_sym_LBRACE] = ACTIONS(8070),
    [anon_sym_END] = ACTIONS(10414),
    [anon_sym_def] = ACTIONS(10414),
    [anon_sym_LPAREN] = ACTIONS(8070),
    [anon_sym_COLON_COLON] = ACTIONS(8070),
    [anon_sym_SEMI] = ACTIONS(8070),
    [anon_sym_STAR] = ACTIONS(8070),
    [anon_sym_class] = ACTIONS(10414),
    [anon_sym_module] = ACTIONS(10414),
    [anon_sym_return] = ACTIONS(10414),
    [anon_sym_yield] = ACTIONS(10414),
    [anon_sym_break] = ACTIONS(10414),
    [anon_sym_next] = ACTIONS(10414),
    [anon_sym_redo] = ACTIONS(10414),
    [anon_sym_retry] = ACTIONS(10414),
    [anon_sym_if] = ACTIONS(10414),
    [anon_sym_unless] = ACTIONS(10414),
    [anon_sym_while] = ACTIONS(10414),
    [anon_sym_until] = ACTIONS(10414),
    [anon_sym_for] = ACTIONS(10414),
    [anon_sym_case] = ACTIONS(10414),
    [anon_sym_begin] = ACTIONS(10414),
    [anon_sym_PLUS] = ACTIONS(10414),
    [anon_sym_defined_QMARK] = ACTIONS(8070),
    [anon_sym_not] = ACTIONS(10414),
    [anon_sym_BANG] = ACTIONS(8070),
    [anon_sym_TILDE] = ACTIONS(8070),
    [sym_constant] = ACTIONS(10416),
    [sym_identifier] = ACTIONS(10416),
    [sym_instance_variable] = ACTIONS(10414),
    [sym_class_variable] = ACTIONS(10414),
    [sym_global_variable] = ACTIONS(10414),
    [anon_sym_alias] = ACTIONS(10414),
    [anon_sym_false] = ACTIONS(10414),
    [anon_sym_nil] = ACTIONS(10414),
    [anon_sym_self] = ACTIONS(10414),
    [anon_sym_super] = ACTIONS(10414),
    [anon_sym_true] = ACTIONS(10414),
    [anon_sym_undef] = ACTIONS(10414),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(10414),
    [sym_float] = ACTIONS(10416),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8070),
    [anon_sym_TRUE] = ACTIONS(10414),
    [anon_sym_FALSE] = ACTIONS(10414),
    [anon_sym_NIL] = ACTIONS(10414),
    [sym_keyword__FILE__] = ACTIONS(10414),
    [sym_keyword__LINE__] = ACTIONS(10414),
    [sym_keyword__ENCODING__] = ACTIONS(10414),
    [sym__character_literal] = ACTIONS(10414),
    [anon_sym_LBRACK] = ACTIONS(8070),
    [anon_sym_DASH_GT] = ACTIONS(8070),
  },
  [4840] = {
    [sym__heredoc_body_middle] = ACTIONS(8296),
    [sym__heredoc_body_end] = ACTIONS(11146),
    [anon_sym_if] = ACTIONS(4112),
    [anon_sym_unless] = ACTIONS(4114),
    [anon_sym_while] = ACTIONS(4116),
    [anon_sym_until] = ACTIONS(4118),
    [anon_sym_rescue] = ACTIONS(4120),
    [sym_comment] = ACTIONS(110),
  },
  [4841] = {
    [sym__simple_heredoc_body] = ACTIONS(11148),
    [sym__heredoc_body_beginning] = ACTIONS(11148),
    [sym__line_break] = ACTIONS(11148),
    [ts_builtin_sym_end] = ACTIONS(11148),
    [anon_sym___END__] = ACTIONS(11148),
    [anon_sym_RBRACE] = ACTIONS(11148),
    [anon_sym_RPAREN] = ACTIONS(11148),
    [anon_sym_end] = ACTIONS(11148),
    [anon_sym_SEMI] = ACTIONS(11148),
    [anon_sym_rescue] = ACTIONS(11148),
    [anon_sym_when] = ACTIONS(11148),
    [anon_sym_elsif] = ACTIONS(11148),
    [anon_sym_else] = ACTIONS(11148),
    [anon_sym_ensure] = ACTIONS(11148),
    [sym_comment] = ACTIONS(110),
  },
  [4842] = {
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_COLON] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [4843] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(8240),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(8241),
    [sym_call] = STATE(8241),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(8242),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(8243),
    [sym__variable] = STATE(8241),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(11150),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(11152),
    [anon_sym_yield] = ACTIONS(11154),
    [anon_sym_break] = ACTIONS(11156),
    [anon_sym_next] = ACTIONS(11158),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(11160),
    [anon_sym_defined_QMARK] = ACTIONS(11162),
    [anon_sym_not] = ACTIONS(11164),
    [anon_sym_BANG] = ACTIONS(11166),
    [anon_sym_TILDE] = ACTIONS(11166),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4844] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(8244),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(8241),
    [sym_call] = STATE(8241),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(8242),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(8243),
    [sym__variable] = STATE(8241),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(11150),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(11152),
    [anon_sym_yield] = ACTIONS(11154),
    [anon_sym_break] = ACTIONS(11156),
    [anon_sym_next] = ACTIONS(11158),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(11160),
    [anon_sym_defined_QMARK] = ACTIONS(11162),
    [anon_sym_not] = ACTIONS(11164),
    [anon_sym_BANG] = ACTIONS(11166),
    [anon_sym_TILDE] = ACTIONS(11166),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4845] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(8249),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4857),
    [sym_call] = STATE(4857),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4859),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4860),
    [sym__variable] = STATE(4857),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(7024),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(11168),
    [anon_sym_yield] = ACTIONS(11170),
    [anon_sym_break] = ACTIONS(11172),
    [anon_sym_next] = ACTIONS(11174),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(11176),
    [anon_sym_defined_QMARK] = ACTIONS(7034),
    [anon_sym_not] = ACTIONS(11178),
    [anon_sym_BANG] = ACTIONS(7040),
    [anon_sym_TILDE] = ACTIONS(7040),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4846] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(8250),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(8241),
    [sym_call] = STATE(8241),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(8242),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(8243),
    [sym__variable] = STATE(8241),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(11150),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(11152),
    [anon_sym_yield] = ACTIONS(11154),
    [anon_sym_break] = ACTIONS(11156),
    [anon_sym_next] = ACTIONS(11158),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(11160),
    [anon_sym_defined_QMARK] = ACTIONS(11162),
    [anon_sym_not] = ACTIONS(11164),
    [anon_sym_BANG] = ACTIONS(11166),
    [anon_sym_TILDE] = ACTIONS(11166),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4847] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(8255),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4857),
    [sym_call] = STATE(4857),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1886),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(8256),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4859),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4860),
    [sym__variable] = STATE(4857),
    [sym_reserved_identifier] = STATE(8257),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(8258),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(11180),
    [sym__splat_star] = ACTIONS(11182),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(7024),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(7026),
    [anon_sym_yield] = ACTIONS(7028),
    [anon_sym_break] = ACTIONS(7030),
    [anon_sym_next] = ACTIONS(7032),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_COLON] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(7034),
    [anon_sym_not] = ACTIONS(7036),
    [anon_sym_BANG] = ACTIONS(7038),
    [anon_sym_TILDE] = ACTIONS(7040),
    [sym_constant] = ACTIONS(11184),
    [sym_identifier] = ACTIONS(11184),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4848] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(8255),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4857),
    [sym_call] = STATE(4857),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1892),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(8256),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4859),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4860),
    [sym__variable] = STATE(4857),
    [sym_reserved_identifier] = STATE(8257),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(8258),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(11180),
    [sym__splat_star] = ACTIONS(11182),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(7024),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(7026),
    [anon_sym_yield] = ACTIONS(7028),
    [anon_sym_break] = ACTIONS(7030),
    [anon_sym_next] = ACTIONS(7032),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_COLON] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(7034),
    [anon_sym_not] = ACTIONS(7036),
    [anon_sym_BANG] = ACTIONS(7038),
    [anon_sym_TILDE] = ACTIONS(7040),
    [sym_constant] = ACTIONS(11184),
    [sym_identifier] = ACTIONS(11184),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4849] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(8255),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4857),
    [sym_call] = STATE(4857),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1893),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(8256),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4859),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4860),
    [sym__variable] = STATE(4857),
    [sym_reserved_identifier] = STATE(8257),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(8258),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(11180),
    [sym__splat_star] = ACTIONS(11182),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(7024),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(7026),
    [anon_sym_yield] = ACTIONS(7028),
    [anon_sym_break] = ACTIONS(7030),
    [anon_sym_next] = ACTIONS(7032),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_COLON] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(7034),
    [anon_sym_not] = ACTIONS(7036),
    [anon_sym_BANG] = ACTIONS(7038),
    [anon_sym_TILDE] = ACTIONS(7040),
    [sym_constant] = ACTIONS(11184),
    [sym_identifier] = ACTIONS(11184),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4850] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(8255),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4857),
    [sym_call] = STATE(4857),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1894),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(8256),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4859),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4860),
    [sym__variable] = STATE(4857),
    [sym_reserved_identifier] = STATE(8257),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(8258),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(11180),
    [sym__splat_star] = ACTIONS(11182),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(7024),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(7026),
    [anon_sym_yield] = ACTIONS(7028),
    [anon_sym_break] = ACTIONS(7030),
    [anon_sym_next] = ACTIONS(7032),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_COLON] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(7034),
    [anon_sym_not] = ACTIONS(7036),
    [anon_sym_BANG] = ACTIONS(7038),
    [anon_sym_TILDE] = ACTIONS(7040),
    [sym_constant] = ACTIONS(11184),
    [sym_identifier] = ACTIONS(11184),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4851] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(8259),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4857),
    [sym_call] = STATE(4857),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4859),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4860),
    [sym__variable] = STATE(4857),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(7024),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(11168),
    [anon_sym_yield] = ACTIONS(11170),
    [anon_sym_break] = ACTIONS(11172),
    [anon_sym_next] = ACTIONS(11174),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(11176),
    [anon_sym_defined_QMARK] = ACTIONS(7034),
    [anon_sym_not] = ACTIONS(11178),
    [anon_sym_BANG] = ACTIONS(7040),
    [anon_sym_TILDE] = ACTIONS(7040),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4852] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(8260),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4857),
    [sym_call] = STATE(4857),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4859),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4860),
    [sym__variable] = STATE(4857),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(7024),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(11168),
    [anon_sym_yield] = ACTIONS(11170),
    [anon_sym_break] = ACTIONS(11172),
    [anon_sym_next] = ACTIONS(11174),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(11176),
    [anon_sym_defined_QMARK] = ACTIONS(7034),
    [anon_sym_not] = ACTIONS(11178),
    [anon_sym_BANG] = ACTIONS(7040),
    [anon_sym_TILDE] = ACTIONS(7040),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4853] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(8260),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4857),
    [sym_call] = STATE(4857),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4859),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4860),
    [sym__variable] = STATE(4857),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(7024),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(11168),
    [anon_sym_yield] = ACTIONS(11170),
    [anon_sym_break] = ACTIONS(11172),
    [anon_sym_next] = ACTIONS(11174),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(11176),
    [anon_sym_defined_QMARK] = ACTIONS(7034),
    [anon_sym_not] = ACTIONS(11178),
    [anon_sym_BANG] = ACTIONS(7040),
    [anon_sym_TILDE] = ACTIONS(7040),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4854] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(2988),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4857),
    [sym_call] = STATE(4857),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4859),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4860),
    [sym__variable] = STATE(4857),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(7024),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(11168),
    [anon_sym_yield] = ACTIONS(11170),
    [anon_sym_break] = ACTIONS(11172),
    [anon_sym_next] = ACTIONS(11174),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(11176),
    [anon_sym_defined_QMARK] = ACTIONS(7034),
    [anon_sym_not] = ACTIONS(11178),
    [anon_sym_BANG] = ACTIONS(7040),
    [anon_sym_TILDE] = ACTIONS(7040),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4855] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(11186),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_COLON] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [4856] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(11188),
    [sym__binary_star] = ACTIONS(11190),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(11192),
    [anon_sym_STAR_STAR] = ACTIONS(11194),
    [anon_sym_AMP] = ACTIONS(11196),
    [anon_sym_LT] = ACTIONS(11198),
    [anon_sym_EQ_GT] = ACTIONS(11186),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(11200),
    [anon_sym_COLON] = ACTIONS(2210),
    [anon_sym_DOT_DOT] = ACTIONS(11202),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11204),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(11206),
    [anon_sym_AMP_AMP] = ACTIONS(11206),
    [anon_sym_LT_LT] = ACTIONS(11208),
    [anon_sym_GT_GT] = ACTIONS(11208),
    [anon_sym_EQ_EQ] = ACTIONS(11210),
    [anon_sym_BANG_EQ] = ACTIONS(11206),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11206),
    [anon_sym_LT_EQ_GT] = ACTIONS(11206),
    [anon_sym_EQ_TILDE] = ACTIONS(11206),
    [anon_sym_BANG_TILDE] = ACTIONS(11206),
    [anon_sym_LT_EQ] = ACTIONS(11198),
    [anon_sym_GT] = ACTIONS(11198),
    [anon_sym_GT_EQ] = ACTIONS(11212),
    [anon_sym_CARET] = ACTIONS(11214),
    [anon_sym_PLUS] = ACTIONS(11216),
    [anon_sym_SLASH] = ACTIONS(11194),
    [anon_sym_PERCENT] = ACTIONS(11194),
    [sym_comment] = ACTIONS(110),
  },
  [4857] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(8278),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4892),
    [sym_call] = STATE(4892),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1950),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(8279),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_do_block] = STATE(1952),
    [sym_block] = STATE(1952),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4894),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4895),
    [sym__variable] = STATE(4892),
    [sym_reserved_identifier] = STATE(8280),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(8281),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(11218),
    [sym__splat_star] = ACTIONS(11220),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(7082),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(3012),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(7084),
    [anon_sym_yield] = ACTIONS(7086),
    [anon_sym_break] = ACTIONS(7088),
    [anon_sym_next] = ACTIONS(7090),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(3022),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(980),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_COLON] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(7092),
    [anon_sym_not] = ACTIONS(7094),
    [anon_sym_BANG] = ACTIONS(7096),
    [anon_sym_TILDE] = ACTIONS(7098),
    [sym_constant] = ACTIONS(11222),
    [sym_identifier] = ACTIONS(11222),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [4858] = {
    [sym_heredoc_end] = STATE(3004),
    [aux_sym_argument_list_repeat1] = STATE(8283),
    [aux_sym_argument_list_repeat2] = STATE(3005),
    [sym__simple_heredoc_body] = ACTIONS(4410),
    [sym__heredoc_body_beginning] = ACTIONS(4412),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(11224),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_STAR_STAR] = ACTIONS(2272),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_COLON] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2272),
    [anon_sym_AMP_AMP] = ACTIONS(2272),
    [anon_sym_LT_LT] = ACTIONS(2272),
    [anon_sym_GT_GT] = ACTIONS(2272),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2272),
    [anon_sym_PLUS] = ACTIONS(2272),
    [anon_sym_SLASH] = ACTIONS(2272),
    [anon_sym_PERCENT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(110),
  },
  [4859] = {
    [anon_sym_EQ] = ACTIONS(11226),
    [sym_comment] = ACTIONS(256),
  },
  [4860] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(11228),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(11230),
    [anon_sym_DASH_EQ] = ACTIONS(11230),
    [anon_sym_STAR_EQ] = ACTIONS(11230),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(11230),
    [anon_sym_SLASH_EQ] = ACTIONS(11230),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(11230),
    [anon_sym_PIPE_EQ] = ACTIONS(11230),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(11230),
    [anon_sym_AMP_EQ] = ACTIONS(11230),
    [anon_sym_PERCENT_EQ] = ACTIONS(11230),
    [anon_sym_GT_GT_EQ] = ACTIONS(11230),
    [anon_sym_LT_LT_EQ] = ACTIONS(11230),
    [anon_sym_CARET_EQ] = ACTIONS(11230),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_COLON] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [4861] = {
    [sym__keyword_colon] = ACTIONS(11232),
    [sym_comment] = ACTIONS(110),
  },
  [4862] = {
    [sym_string] = STATE(1962),
    [aux_sym_chained_string_repeat1] = STATE(1963),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(11186),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_COLON] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(1626),
  },
  [4863] = {
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_COLON] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [4864] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [4865] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(8287),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [4866] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(8288),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [4867] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(8289),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [4868] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(8290),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [4869] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(8291),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [4870] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(8292),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [4871] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(8293),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [4872] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8294),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(64),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(68),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(32),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(84),
    [anon_sym_defined_QMARK] = ACTIONS(86),
    [anon_sym_not] = ACTIONS(88),
    [anon_sym_BANG] = ACTIONS(90),
    [anon_sym_TILDE] = ACTIONS(90),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4873] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(8295),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [4874] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(8296),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [4875] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(8297),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [4876] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(8298),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [4877] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(8299),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [4878] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(8308),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(8309),
    [sym_call] = STATE(8309),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(8310),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(8311),
    [sym__variable] = STATE(8309),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(11234),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(11236),
    [anon_sym_yield] = ACTIONS(11238),
    [anon_sym_break] = ACTIONS(11240),
    [anon_sym_next] = ACTIONS(11242),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(11244),
    [anon_sym_defined_QMARK] = ACTIONS(11246),
    [anon_sym_not] = ACTIONS(11248),
    [anon_sym_BANG] = ACTIONS(11250),
    [anon_sym_TILDE] = ACTIONS(11250),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [4879] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(8312),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(8309),
    [sym_call] = STATE(8309),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(8310),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(8311),
    [sym__variable] = STATE(8309),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(11234),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(11236),
    [anon_sym_yield] = ACTIONS(11238),
    [anon_sym_break] = ACTIONS(11240),
    [anon_sym_next] = ACTIONS(11242),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(11244),
    [anon_sym_defined_QMARK] = ACTIONS(11246),
    [anon_sym_not] = ACTIONS(11248),
    [anon_sym_BANG] = ACTIONS(11250),
    [anon_sym_TILDE] = ACTIONS(11250),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [4880] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(8317),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4892),
    [sym_call] = STATE(4892),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4894),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4895),
    [sym__variable] = STATE(4892),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(7082),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(11252),
    [anon_sym_yield] = ACTIONS(11254),
    [anon_sym_break] = ACTIONS(11256),
    [anon_sym_next] = ACTIONS(11258),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(11260),
    [anon_sym_defined_QMARK] = ACTIONS(7092),
    [anon_sym_not] = ACTIONS(11262),
    [anon_sym_BANG] = ACTIONS(7098),
    [anon_sym_TILDE] = ACTIONS(7098),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [4881] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(8318),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(8309),
    [sym_call] = STATE(8309),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(8310),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(8311),
    [sym__variable] = STATE(8309),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(11234),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(11236),
    [anon_sym_yield] = ACTIONS(11238),
    [anon_sym_break] = ACTIONS(11240),
    [anon_sym_next] = ACTIONS(11242),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(11244),
    [anon_sym_defined_QMARK] = ACTIONS(11246),
    [anon_sym_not] = ACTIONS(11248),
    [anon_sym_BANG] = ACTIONS(11250),
    [anon_sym_TILDE] = ACTIONS(11250),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [4882] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(8278),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4892),
    [sym_call] = STATE(4892),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(3104),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(8279),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4894),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4895),
    [sym__variable] = STATE(4892),
    [sym_reserved_identifier] = STATE(8280),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(8281),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(11218),
    [sym__splat_star] = ACTIONS(11220),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(7082),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(544),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(7084),
    [anon_sym_yield] = ACTIONS(7086),
    [anon_sym_break] = ACTIONS(7088),
    [anon_sym_next] = ACTIONS(7090),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_PLUS_EQ] = ACTIONS(532),
    [anon_sym_DASH_EQ] = ACTIONS(532),
    [anon_sym_STAR_EQ] = ACTIONS(532),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(532),
    [anon_sym_SLASH_EQ] = ACTIONS(532),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(532),
    [anon_sym_PIPE_EQ] = ACTIONS(532),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(532),
    [anon_sym_AMP_EQ] = ACTIONS(532),
    [anon_sym_PERCENT_EQ] = ACTIONS(532),
    [anon_sym_GT_GT_EQ] = ACTIONS(532),
    [anon_sym_LT_LT_EQ] = ACTIONS(532),
    [anon_sym_CARET_EQ] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_COLON] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(544),
    [anon_sym_AMP_AMP] = ACTIONS(544),
    [anon_sym_LT_LT] = ACTIONS(544),
    [anon_sym_GT_GT] = ACTIONS(544),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(544),
    [anon_sym_PERCENT] = ACTIONS(544),
    [anon_sym_defined_QMARK] = ACTIONS(7092),
    [anon_sym_not] = ACTIONS(7094),
    [anon_sym_BANG] = ACTIONS(7096),
    [anon_sym_TILDE] = ACTIONS(7098),
    [sym_constant] = ACTIONS(11222),
    [sym_identifier] = ACTIONS(11222),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [4883] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(8278),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4892),
    [sym_call] = STATE(4892),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(3105),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(8279),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4894),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4895),
    [sym__variable] = STATE(4892),
    [sym_reserved_identifier] = STATE(8280),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(8281),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(11218),
    [sym__splat_star] = ACTIONS(11220),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(7082),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(604),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(7084),
    [anon_sym_yield] = ACTIONS(7086),
    [anon_sym_break] = ACTIONS(7088),
    [anon_sym_next] = ACTIONS(7090),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_PLUS_EQ] = ACTIONS(602),
    [anon_sym_DASH_EQ] = ACTIONS(602),
    [anon_sym_STAR_EQ] = ACTIONS(602),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(602),
    [anon_sym_SLASH_EQ] = ACTIONS(602),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(602),
    [anon_sym_PIPE_EQ] = ACTIONS(602),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(602),
    [anon_sym_AMP_EQ] = ACTIONS(602),
    [anon_sym_PERCENT_EQ] = ACTIONS(602),
    [anon_sym_GT_GT_EQ] = ACTIONS(602),
    [anon_sym_LT_LT_EQ] = ACTIONS(602),
    [anon_sym_CARET_EQ] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_COLON] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(604),
    [anon_sym_AMP_AMP] = ACTIONS(604),
    [anon_sym_LT_LT] = ACTIONS(604),
    [anon_sym_GT_GT] = ACTIONS(604),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(604),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(604),
    [anon_sym_PERCENT] = ACTIONS(604),
    [anon_sym_defined_QMARK] = ACTIONS(7092),
    [anon_sym_not] = ACTIONS(7094),
    [anon_sym_BANG] = ACTIONS(7096),
    [anon_sym_TILDE] = ACTIONS(7098),
    [sym_constant] = ACTIONS(11222),
    [sym_identifier] = ACTIONS(11222),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [4884] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(8278),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4892),
    [sym_call] = STATE(4892),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(3106),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(8279),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4894),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4895),
    [sym__variable] = STATE(4892),
    [sym_reserved_identifier] = STATE(8280),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(8281),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(11218),
    [sym__splat_star] = ACTIONS(11220),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(7082),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(608),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(7084),
    [anon_sym_yield] = ACTIONS(7086),
    [anon_sym_break] = ACTIONS(7088),
    [anon_sym_next] = ACTIONS(7090),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_PLUS_EQ] = ACTIONS(606),
    [anon_sym_DASH_EQ] = ACTIONS(606),
    [anon_sym_STAR_EQ] = ACTIONS(606),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(606),
    [anon_sym_SLASH_EQ] = ACTIONS(606),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(606),
    [anon_sym_PIPE_EQ] = ACTIONS(606),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(606),
    [anon_sym_AMP_EQ] = ACTIONS(606),
    [anon_sym_PERCENT_EQ] = ACTIONS(606),
    [anon_sym_GT_GT_EQ] = ACTIONS(606),
    [anon_sym_LT_LT_EQ] = ACTIONS(606),
    [anon_sym_CARET_EQ] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_COLON] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(608),
    [anon_sym_AMP_AMP] = ACTIONS(608),
    [anon_sym_LT_LT] = ACTIONS(608),
    [anon_sym_GT_GT] = ACTIONS(608),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(608),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(608),
    [anon_sym_PERCENT] = ACTIONS(608),
    [anon_sym_defined_QMARK] = ACTIONS(7092),
    [anon_sym_not] = ACTIONS(7094),
    [anon_sym_BANG] = ACTIONS(7096),
    [anon_sym_TILDE] = ACTIONS(7098),
    [sym_constant] = ACTIONS(11222),
    [sym_identifier] = ACTIONS(11222),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [4885] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(8278),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4892),
    [sym_call] = STATE(4892),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(3107),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(8279),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4894),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4895),
    [sym__variable] = STATE(4892),
    [sym_reserved_identifier] = STATE(8280),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(8281),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(11218),
    [sym__splat_star] = ACTIONS(11220),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(7082),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(612),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(7084),
    [anon_sym_yield] = ACTIONS(7086),
    [anon_sym_break] = ACTIONS(7088),
    [anon_sym_next] = ACTIONS(7090),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_PLUS_EQ] = ACTIONS(610),
    [anon_sym_DASH_EQ] = ACTIONS(610),
    [anon_sym_STAR_EQ] = ACTIONS(610),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(610),
    [anon_sym_SLASH_EQ] = ACTIONS(610),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(610),
    [anon_sym_PIPE_EQ] = ACTIONS(610),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(610),
    [anon_sym_AMP_EQ] = ACTIONS(610),
    [anon_sym_PERCENT_EQ] = ACTIONS(610),
    [anon_sym_GT_GT_EQ] = ACTIONS(610),
    [anon_sym_LT_LT_EQ] = ACTIONS(610),
    [anon_sym_CARET_EQ] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_COLON] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(612),
    [anon_sym_AMP_AMP] = ACTIONS(612),
    [anon_sym_LT_LT] = ACTIONS(612),
    [anon_sym_GT_GT] = ACTIONS(612),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(612),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(612),
    [anon_sym_PERCENT] = ACTIONS(612),
    [anon_sym_defined_QMARK] = ACTIONS(7092),
    [anon_sym_not] = ACTIONS(7094),
    [anon_sym_BANG] = ACTIONS(7096),
    [anon_sym_TILDE] = ACTIONS(7098),
    [sym_constant] = ACTIONS(11222),
    [sym_identifier] = ACTIONS(11222),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [4886] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(8319),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4892),
    [sym_call] = STATE(4892),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4894),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4895),
    [sym__variable] = STATE(4892),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(7082),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(11252),
    [anon_sym_yield] = ACTIONS(11254),
    [anon_sym_break] = ACTIONS(11256),
    [anon_sym_next] = ACTIONS(11258),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(11260),
    [anon_sym_defined_QMARK] = ACTIONS(7092),
    [anon_sym_not] = ACTIONS(11262),
    [anon_sym_BANG] = ACTIONS(7098),
    [anon_sym_TILDE] = ACTIONS(7098),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [4887] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(8320),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4892),
    [sym_call] = STATE(4892),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4894),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4895),
    [sym__variable] = STATE(4892),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(7082),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(11252),
    [anon_sym_yield] = ACTIONS(11254),
    [anon_sym_break] = ACTIONS(11256),
    [anon_sym_next] = ACTIONS(11258),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(11260),
    [anon_sym_defined_QMARK] = ACTIONS(7092),
    [anon_sym_not] = ACTIONS(11262),
    [anon_sym_BANG] = ACTIONS(7098),
    [anon_sym_TILDE] = ACTIONS(7098),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [4888] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(8320),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4892),
    [sym_call] = STATE(4892),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4894),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4895),
    [sym__variable] = STATE(4892),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(7082),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(11252),
    [anon_sym_yield] = ACTIONS(11254),
    [anon_sym_break] = ACTIONS(11256),
    [anon_sym_next] = ACTIONS(11258),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(11260),
    [anon_sym_defined_QMARK] = ACTIONS(7092),
    [anon_sym_not] = ACTIONS(11262),
    [anon_sym_BANG] = ACTIONS(7098),
    [anon_sym_TILDE] = ACTIONS(7098),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [4889] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(3125),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4892),
    [sym_call] = STATE(4892),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4894),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4895),
    [sym__variable] = STATE(4892),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(7082),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(11252),
    [anon_sym_yield] = ACTIONS(11254),
    [anon_sym_break] = ACTIONS(11256),
    [anon_sym_next] = ACTIONS(11258),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(11260),
    [anon_sym_defined_QMARK] = ACTIONS(7092),
    [anon_sym_not] = ACTIONS(11262),
    [anon_sym_BANG] = ACTIONS(7098),
    [anon_sym_TILDE] = ACTIONS(7098),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [4890] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(11264),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_COLON] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [4891] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(11266),
    [sym__binary_star] = ACTIONS(11268),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(11270),
    [anon_sym_STAR_STAR] = ACTIONS(11272),
    [anon_sym_AMP] = ACTIONS(11274),
    [anon_sym_EQ] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(11276),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(11264),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_PLUS_EQ] = ACTIONS(2210),
    [anon_sym_DASH_EQ] = ACTIONS(2210),
    [anon_sym_STAR_EQ] = ACTIONS(2210),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2210),
    [anon_sym_SLASH_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2210),
    [anon_sym_AMP_EQ] = ACTIONS(2210),
    [anon_sym_PERCENT_EQ] = ACTIONS(2210),
    [anon_sym_GT_GT_EQ] = ACTIONS(2210),
    [anon_sym_LT_LT_EQ] = ACTIONS(2210),
    [anon_sym_CARET_EQ] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(11278),
    [anon_sym_COLON] = ACTIONS(2210),
    [anon_sym_DOT_DOT] = ACTIONS(11280),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11282),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(11284),
    [anon_sym_AMP_AMP] = ACTIONS(11284),
    [anon_sym_LT_LT] = ACTIONS(11286),
    [anon_sym_GT_GT] = ACTIONS(11286),
    [anon_sym_EQ_EQ] = ACTIONS(11284),
    [anon_sym_BANG_EQ] = ACTIONS(11288),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11288),
    [anon_sym_LT_EQ_GT] = ACTIONS(11288),
    [anon_sym_EQ_TILDE] = ACTIONS(11288),
    [anon_sym_BANG_TILDE] = ACTIONS(11288),
    [anon_sym_LT_EQ] = ACTIONS(11276),
    [anon_sym_GT] = ACTIONS(11276),
    [anon_sym_GT_EQ] = ACTIONS(11290),
    [anon_sym_CARET] = ACTIONS(11270),
    [anon_sym_PLUS] = ACTIONS(11292),
    [anon_sym_SLASH] = ACTIONS(11272),
    [anon_sym_PERCENT] = ACTIONS(11272),
    [sym_comment] = ACTIONS(256),
  },
  [4892] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(8278),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4892),
    [sym_call] = STATE(4892),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(3147),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(8279),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_do_block] = STATE(1952),
    [sym_block] = STATE(1952),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4894),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4895),
    [sym__variable] = STATE(4892),
    [sym_reserved_identifier] = STATE(8280),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(8281),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(11218),
    [sym__splat_star] = ACTIONS(11220),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(7082),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(3012),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(7084),
    [anon_sym_yield] = ACTIONS(7086),
    [anon_sym_break] = ACTIONS(7088),
    [anon_sym_next] = ACTIONS(7090),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(982),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(980),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_COLON] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(7092),
    [anon_sym_not] = ACTIONS(7094),
    [anon_sym_BANG] = ACTIONS(7096),
    [anon_sym_TILDE] = ACTIONS(7098),
    [sym_constant] = ACTIONS(11222),
    [sym_identifier] = ACTIONS(11222),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [4893] = {
    [sym_heredoc_end] = STATE(6092),
    [aux_sym_argument_list_repeat1] = STATE(8335),
    [aux_sym_argument_list_repeat2] = STATE(6093),
    [sym__simple_heredoc_body] = ACTIONS(8530),
    [sym__heredoc_body_beginning] = ACTIONS(8532),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(11294),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_STAR_STAR] = ACTIONS(2274),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_EQ] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_PLUS_EQ] = ACTIONS(2272),
    [anon_sym_DASH_EQ] = ACTIONS(2272),
    [anon_sym_STAR_EQ] = ACTIONS(2272),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2272),
    [anon_sym_SLASH_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2272),
    [anon_sym_AMP_EQ] = ACTIONS(2272),
    [anon_sym_PERCENT_EQ] = ACTIONS(2272),
    [anon_sym_GT_GT_EQ] = ACTIONS(2272),
    [anon_sym_LT_LT_EQ] = ACTIONS(2272),
    [anon_sym_CARET_EQ] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_COLON] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2274),
    [anon_sym_AMP_AMP] = ACTIONS(2274),
    [anon_sym_LT_LT] = ACTIONS(2274),
    [anon_sym_GT_GT] = ACTIONS(2274),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2274),
    [anon_sym_PLUS] = ACTIONS(2274),
    [anon_sym_SLASH] = ACTIONS(2274),
    [anon_sym_PERCENT] = ACTIONS(2274),
    [sym_comment] = ACTIONS(256),
  },
  [4894] = {
    [anon_sym_EQ] = ACTIONS(11296),
    [sym_comment] = ACTIONS(256),
  },
  [4895] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(11298),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(11300),
    [anon_sym_DASH_EQ] = ACTIONS(11300),
    [anon_sym_STAR_EQ] = ACTIONS(11300),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(11300),
    [anon_sym_SLASH_EQ] = ACTIONS(11300),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(11300),
    [anon_sym_PIPE_EQ] = ACTIONS(11300),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(11300),
    [anon_sym_AMP_EQ] = ACTIONS(11300),
    [anon_sym_PERCENT_EQ] = ACTIONS(11300),
    [anon_sym_GT_GT_EQ] = ACTIONS(11300),
    [anon_sym_LT_LT_EQ] = ACTIONS(11300),
    [anon_sym_CARET_EQ] = ACTIONS(11300),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_COLON] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [4896] = {
    [sym__keyword_colon] = ACTIONS(11302),
    [sym_comment] = ACTIONS(110),
  },
  [4897] = {
    [sym_string] = STATE(3160),
    [aux_sym_chained_string_repeat1] = STATE(3161),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(11264),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_COLON] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(4490),
  },
  [4898] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(8344),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_splat_argument] = STATE(3168),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_right_assignment_list] = STATE(3169),
    [sym__arg_or_splat_arg] = STATE(8345),
    [sym_left_assignment_list] = STATE(8346),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(8347),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__splat_star] = ACTIONS(11304),
    [sym__unary_minus] = ACTIONS(11306),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(11308),
    [anon_sym_defined_QMARK] = ACTIONS(11310),
    [anon_sym_not] = ACTIONS(11312),
    [anon_sym_BANG] = ACTIONS(11314),
    [anon_sym_TILDE] = ACTIONS(11314),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [4899] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(8348),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [4900] = {
    [sym__simple_heredoc_body] = ACTIONS(11316),
    [sym__heredoc_body_beginning] = ACTIONS(11316),
    [sym__line_break] = ACTIONS(11316),
    [sym__element_reference_left_bracket] = ACTIONS(11316),
    [sym__scope_double_colon] = ACTIONS(11316),
    [sym__binary_minus] = ACTIONS(11316),
    [sym__binary_star] = ACTIONS(11316),
    [ts_builtin_sym_end] = ACTIONS(11316),
    [anon_sym___END__] = ACTIONS(11316),
    [anon_sym_LBRACE] = ACTIONS(11316),
    [anon_sym_RBRACE] = ACTIONS(11316),
    [anon_sym_RPAREN] = ACTIONS(11316),
    [anon_sym_DOT] = ACTIONS(11318),
    [anon_sym_end] = ACTIONS(11316),
    [anon_sym_COMMA] = ACTIONS(11316),
    [anon_sym_PIPE] = ACTIONS(11318),
    [anon_sym_SEMI] = ACTIONS(11316),
    [anon_sym_STAR_STAR] = ACTIONS(11318),
    [anon_sym_AMP] = ACTIONS(11318),
    [anon_sym_EQ] = ACTIONS(11318),
    [anon_sym_LT] = ACTIONS(11318),
    [anon_sym_if] = ACTIONS(11316),
    [anon_sym_unless] = ACTIONS(11316),
    [anon_sym_while] = ACTIONS(11316),
    [anon_sym_until] = ACTIONS(11316),
    [anon_sym_rescue] = ACTIONS(11316),
    [anon_sym_do] = ACTIONS(11316),
    [anon_sym_when] = ACTIONS(11316),
    [anon_sym_elsif] = ACTIONS(11316),
    [anon_sym_else] = ACTIONS(11316),
    [anon_sym_then] = ACTIONS(11316),
    [anon_sym_ensure] = ACTIONS(11316),
    [anon_sym_AMP_DOT] = ACTIONS(11316),
    [anon_sym_PLUS_EQ] = ACTIONS(11316),
    [anon_sym_DASH_EQ] = ACTIONS(11316),
    [anon_sym_STAR_EQ] = ACTIONS(11316),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(11316),
    [anon_sym_SLASH_EQ] = ACTIONS(11316),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(11316),
    [anon_sym_PIPE_EQ] = ACTIONS(11316),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(11316),
    [anon_sym_AMP_EQ] = ACTIONS(11316),
    [anon_sym_PERCENT_EQ] = ACTIONS(11316),
    [anon_sym_GT_GT_EQ] = ACTIONS(11316),
    [anon_sym_LT_LT_EQ] = ACTIONS(11316),
    [anon_sym_CARET_EQ] = ACTIONS(11316),
    [anon_sym_QMARK] = ACTIONS(11316),
    [anon_sym_DOT_DOT] = ACTIONS(11318),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11316),
    [anon_sym_and] = ACTIONS(11316),
    [anon_sym_or] = ACTIONS(11316),
    [anon_sym_PIPE_PIPE] = ACTIONS(11318),
    [anon_sym_AMP_AMP] = ACTIONS(11318),
    [anon_sym_LT_LT] = ACTIONS(11318),
    [anon_sym_GT_GT] = ACTIONS(11318),
    [anon_sym_EQ_EQ] = ACTIONS(11318),
    [anon_sym_BANG_EQ] = ACTIONS(11316),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11316),
    [anon_sym_LT_EQ_GT] = ACTIONS(11316),
    [anon_sym_EQ_TILDE] = ACTIONS(11316),
    [anon_sym_BANG_TILDE] = ACTIONS(11316),
    [anon_sym_LT_EQ] = ACTIONS(11318),
    [anon_sym_GT] = ACTIONS(11318),
    [anon_sym_GT_EQ] = ACTIONS(11316),
    [anon_sym_CARET] = ACTIONS(11318),
    [anon_sym_PLUS] = ACTIONS(11318),
    [anon_sym_SLASH] = ACTIONS(11318),
    [anon_sym_PERCENT] = ACTIONS(11318),
    [sym_comment] = ACTIONS(256),
  },
  [4901] = {
    [anon_sym_RBRACK] = ACTIONS(11320),
    [sym_comment] = ACTIONS(110),
  },
  [4902] = {
    [sym__simple_string] = ACTIONS(5370),
    [sym__simple_symbol] = ACTIONS(5370),
    [sym__simple_subshell] = ACTIONS(5370),
    [sym__simple_regex] = ACTIONS(5370),
    [sym__simple_word_list] = ACTIONS(5370),
    [sym__simple_heredoc_body] = ACTIONS(5370),
    [sym__string_beginning] = ACTIONS(5370),
    [sym__symbol_beginning] = ACTIONS(5370),
    [sym__subshell_beginning] = ACTIONS(5370),
    [sym__regex_beginning] = ACTIONS(5370),
    [sym__word_list_beginning] = ACTIONS(5370),
    [sym__heredoc_body_beginning] = ACTIONS(5370),
    [sym_heredoc_beginning] = ACTIONS(5370),
    [sym__line_break] = ACTIONS(5370),
    [sym__element_reference_left_bracket] = ACTIONS(5370),
    [sym__block_ampersand] = ACTIONS(5370),
    [sym__splat_star] = ACTIONS(5370),
    [sym__argument_list_left_paren] = ACTIONS(5370),
    [sym__scope_double_colon] = ACTIONS(5370),
    [sym__unary_minus] = ACTIONS(5370),
    [sym__binary_minus] = ACTIONS(5370),
    [sym__binary_star] = ACTIONS(5370),
    [ts_builtin_sym_end] = ACTIONS(5370),
    [anon_sym___END__] = ACTIONS(5372),
    [anon_sym_LBRACE] = ACTIONS(5370),
    [anon_sym_def] = ACTIONS(5372),
    [anon_sym_LPAREN] = ACTIONS(5370),
    [anon_sym_DOT] = ACTIONS(5372),
    [anon_sym_COLON_COLON] = ACTIONS(5370),
    [anon_sym_end] = ACTIONS(5372),
    [anon_sym_COMMA] = ACTIONS(5370),
    [anon_sym_PIPE] = ACTIONS(5372),
    [anon_sym_SEMI] = ACTIONS(5370),
    [anon_sym_STAR] = ACTIONS(5372),
    [anon_sym_STAR_STAR] = ACTIONS(5372),
    [anon_sym_AMP] = ACTIONS(5372),
    [anon_sym_EQ] = ACTIONS(5372),
    [anon_sym_class] = ACTIONS(5372),
    [anon_sym_LT] = ACTIONS(5372),
    [anon_sym_module] = ACTIONS(5372),
    [anon_sym_return] = ACTIONS(5372),
    [anon_sym_yield] = ACTIONS(5372),
    [anon_sym_break] = ACTIONS(5372),
    [anon_sym_next] = ACTIONS(5372),
    [anon_sym_redo] = ACTIONS(5372),
    [anon_sym_retry] = ACTIONS(5372),
    [anon_sym_if] = ACTIONS(5372),
    [anon_sym_unless] = ACTIONS(5372),
    [anon_sym_while] = ACTIONS(5372),
    [anon_sym_until] = ACTIONS(5372),
    [anon_sym_rescue] = ACTIONS(5372),
    [anon_sym_for] = ACTIONS(5372),
    [anon_sym_in] = ACTIONS(5372),
    [anon_sym_do] = ACTIONS(5372),
    [anon_sym_case] = ACTIONS(5372),
    [anon_sym_when] = ACTIONS(5372),
    [anon_sym_elsif] = ACTIONS(5372),
    [anon_sym_else] = ACTIONS(5372),
    [anon_sym_then] = ACTIONS(5372),
    [anon_sym_begin] = ACTIONS(5372),
    [anon_sym_ensure] = ACTIONS(5372),
    [anon_sym_AMP_DOT] = ACTIONS(5370),
    [anon_sym_PLUS_EQ] = ACTIONS(5370),
    [anon_sym_DASH_EQ] = ACTIONS(5370),
    [anon_sym_STAR_EQ] = ACTIONS(5370),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5370),
    [anon_sym_SLASH_EQ] = ACTIONS(5370),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5370),
    [anon_sym_PIPE_EQ] = ACTIONS(5370),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5370),
    [anon_sym_AMP_EQ] = ACTIONS(5370),
    [anon_sym_PERCENT_EQ] = ACTIONS(5370),
    [anon_sym_GT_GT_EQ] = ACTIONS(5370),
    [anon_sym_LT_LT_EQ] = ACTIONS(5370),
    [anon_sym_CARET_EQ] = ACTIONS(5370),
    [anon_sym_QMARK] = ACTIONS(5372),
    [anon_sym_DOT_DOT] = ACTIONS(5372),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5370),
    [anon_sym_and] = ACTIONS(5372),
    [anon_sym_or] = ACTIONS(5372),
    [anon_sym_PIPE_PIPE] = ACTIONS(5372),
    [anon_sym_AMP_AMP] = ACTIONS(5372),
    [anon_sym_LT_LT] = ACTIONS(5372),
    [anon_sym_GT_GT] = ACTIONS(5372),
    [anon_sym_EQ_EQ] = ACTIONS(5372),
    [anon_sym_BANG_EQ] = ACTIONS(5370),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5370),
    [anon_sym_LT_EQ_GT] = ACTIONS(5370),
    [anon_sym_EQ_TILDE] = ACTIONS(5370),
    [anon_sym_BANG_TILDE] = ACTIONS(5370),
    [anon_sym_LT_EQ] = ACTIONS(5372),
    [anon_sym_GT] = ACTIONS(5372),
    [anon_sym_GT_EQ] = ACTIONS(5370),
    [anon_sym_CARET] = ACTIONS(5372),
    [anon_sym_PLUS] = ACTIONS(5372),
    [anon_sym_SLASH] = ACTIONS(5372),
    [anon_sym_PERCENT] = ACTIONS(5372),
    [anon_sym_defined_QMARK] = ACTIONS(5370),
    [anon_sym_not] = ACTIONS(5372),
    [anon_sym_BANG] = ACTIONS(5372),
    [anon_sym_TILDE] = ACTIONS(5370),
    [sym_constant] = ACTIONS(11322),
    [sym_identifier] = ACTIONS(11322),
    [sym_instance_variable] = ACTIONS(5372),
    [sym_class_variable] = ACTIONS(5372),
    [sym_global_variable] = ACTIONS(5372),
    [anon_sym_alias] = ACTIONS(5372),
    [anon_sym_defined] = ACTIONS(5372),
    [anon_sym_false] = ACTIONS(5372),
    [anon_sym_nil] = ACTIONS(5372),
    [anon_sym_self] = ACTIONS(5372),
    [anon_sym_super] = ACTIONS(5372),
    [anon_sym_true] = ACTIONS(5372),
    [anon_sym_undef] = ACTIONS(5372),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(5372),
    [sym_float] = ACTIONS(11322),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5370),
    [anon_sym_TRUE] = ACTIONS(5372),
    [anon_sym_FALSE] = ACTIONS(5372),
    [anon_sym_NIL] = ACTIONS(5372),
    [sym_keyword__FILE__] = ACTIONS(5372),
    [sym_keyword__LINE__] = ACTIONS(5372),
    [sym_keyword__ENCODING__] = ACTIONS(5372),
    [sym__character_literal] = ACTIONS(5372),
    [anon_sym_LBRACK] = ACTIONS(5370),
    [anon_sym_DASH_GT] = ACTIONS(5370),
  },
  [4903] = {
    [sym_heredoc_end] = STATE(8351),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RPAREN] = ACTIONS(11324),
    [sym_comment] = ACTIONS(110),
  },
  [4904] = {
    [anon_sym_RPAREN] = ACTIONS(11324),
    [sym_comment] = ACTIONS(110),
  },
  [4905] = {
    [sym__simple_string] = ACTIONS(3612),
    [sym__simple_heredoc_body] = ACTIONS(3612),
    [sym__string_beginning] = ACTIONS(3612),
    [sym__heredoc_body_beginning] = ACTIONS(3612),
    [sym__line_break] = ACTIONS(3612),
    [sym__element_reference_left_bracket] = ACTIONS(3612),
    [sym__scope_double_colon] = ACTIONS(3612),
    [sym__keyword_colon] = ACTIONS(3612),
    [sym__binary_minus] = ACTIONS(3612),
    [sym__binary_star] = ACTIONS(3612),
    [ts_builtin_sym_end] = ACTIONS(3612),
    [anon_sym___END__] = ACTIONS(3612),
    [anon_sym_LBRACE] = ACTIONS(3612),
    [anon_sym_RBRACE] = ACTIONS(3612),
    [anon_sym_RPAREN] = ACTIONS(3612),
    [anon_sym_DOT] = ACTIONS(3614),
    [anon_sym_end] = ACTIONS(3612),
    [anon_sym_COMMA] = ACTIONS(3612),
    [anon_sym_PIPE] = ACTIONS(3614),
    [anon_sym_SEMI] = ACTIONS(3612),
    [anon_sym_STAR_STAR] = ACTIONS(3614),
    [anon_sym_AMP] = ACTIONS(3614),
    [anon_sym_EQ] = ACTIONS(3614),
    [anon_sym_LT] = ACTIONS(3614),
    [anon_sym_if] = ACTIONS(3612),
    [anon_sym_unless] = ACTIONS(3612),
    [anon_sym_while] = ACTIONS(3612),
    [anon_sym_until] = ACTIONS(3612),
    [anon_sym_rescue] = ACTIONS(3612),
    [anon_sym_do] = ACTIONS(3612),
    [anon_sym_when] = ACTIONS(3612),
    [anon_sym_elsif] = ACTIONS(3612),
    [anon_sym_else] = ACTIONS(3612),
    [anon_sym_then] = ACTIONS(3612),
    [anon_sym_ensure] = ACTIONS(3612),
    [anon_sym_EQ_GT] = ACTIONS(3612),
    [anon_sym_AMP_DOT] = ACTIONS(3612),
    [anon_sym_PLUS_EQ] = ACTIONS(3612),
    [anon_sym_DASH_EQ] = ACTIONS(3612),
    [anon_sym_STAR_EQ] = ACTIONS(3612),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3612),
    [anon_sym_SLASH_EQ] = ACTIONS(3612),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3612),
    [anon_sym_PIPE_EQ] = ACTIONS(3612),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3612),
    [anon_sym_AMP_EQ] = ACTIONS(3612),
    [anon_sym_PERCENT_EQ] = ACTIONS(3612),
    [anon_sym_GT_GT_EQ] = ACTIONS(3612),
    [anon_sym_LT_LT_EQ] = ACTIONS(3612),
    [anon_sym_CARET_EQ] = ACTIONS(3612),
    [anon_sym_QMARK] = ACTIONS(3614),
    [anon_sym_DOT_DOT] = ACTIONS(3614),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3612),
    [anon_sym_and] = ACTIONS(3612),
    [anon_sym_or] = ACTIONS(3612),
    [anon_sym_PIPE_PIPE] = ACTIONS(3614),
    [anon_sym_AMP_AMP] = ACTIONS(3614),
    [anon_sym_LT_LT] = ACTIONS(3614),
    [anon_sym_GT_GT] = ACTIONS(3614),
    [anon_sym_EQ_EQ] = ACTIONS(3614),
    [anon_sym_BANG_EQ] = ACTIONS(3612),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3612),
    [anon_sym_LT_EQ_GT] = ACTIONS(3612),
    [anon_sym_EQ_TILDE] = ACTIONS(3612),
    [anon_sym_BANG_TILDE] = ACTIONS(3612),
    [anon_sym_LT_EQ] = ACTIONS(3614),
    [anon_sym_GT] = ACTIONS(3614),
    [anon_sym_GT_EQ] = ACTIONS(3612),
    [anon_sym_CARET] = ACTIONS(3614),
    [anon_sym_PLUS] = ACTIONS(3614),
    [anon_sym_SLASH] = ACTIONS(3614),
    [anon_sym_PERCENT] = ACTIONS(3614),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(3614),
  },
  [4906] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(11326),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [4907] = {
    [sym__simple_heredoc_body] = ACTIONS(3844),
    [sym__heredoc_body_beginning] = ACTIONS(3844),
    [sym__line_break] = ACTIONS(3844),
    [sym__element_reference_left_bracket] = ACTIONS(3844),
    [sym__scope_double_colon] = ACTIONS(3844),
    [sym__binary_minus] = ACTIONS(3844),
    [sym__binary_star] = ACTIONS(3844),
    [ts_builtin_sym_end] = ACTIONS(3844),
    [anon_sym___END__] = ACTIONS(3844),
    [anon_sym_LBRACE] = ACTIONS(3844),
    [anon_sym_RBRACE] = ACTIONS(3844),
    [anon_sym_RPAREN] = ACTIONS(3844),
    [anon_sym_DOT] = ACTIONS(3846),
    [anon_sym_end] = ACTIONS(3844),
    [anon_sym_COMMA] = ACTIONS(3844),
    [anon_sym_PIPE] = ACTIONS(3846),
    [anon_sym_SEMI] = ACTIONS(3844),
    [anon_sym_STAR_STAR] = ACTIONS(3846),
    [anon_sym_AMP] = ACTIONS(3846),
    [anon_sym_EQ] = ACTIONS(3846),
    [anon_sym_LT] = ACTIONS(3846),
    [anon_sym_if] = ACTIONS(3844),
    [anon_sym_unless] = ACTIONS(3844),
    [anon_sym_while] = ACTIONS(3844),
    [anon_sym_until] = ACTIONS(3844),
    [anon_sym_rescue] = ACTIONS(3844),
    [anon_sym_do] = ACTIONS(3844),
    [anon_sym_when] = ACTIONS(3844),
    [anon_sym_elsif] = ACTIONS(3844),
    [anon_sym_else] = ACTIONS(3844),
    [anon_sym_then] = ACTIONS(3844),
    [anon_sym_ensure] = ACTIONS(3844),
    [anon_sym_EQ_GT] = ACTIONS(3844),
    [anon_sym_AMP_DOT] = ACTIONS(3844),
    [anon_sym_PLUS_EQ] = ACTIONS(3844),
    [anon_sym_DASH_EQ] = ACTIONS(3844),
    [anon_sym_STAR_EQ] = ACTIONS(3844),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3844),
    [anon_sym_SLASH_EQ] = ACTIONS(3844),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3844),
    [anon_sym_PIPE_EQ] = ACTIONS(3844),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3844),
    [anon_sym_AMP_EQ] = ACTIONS(3844),
    [anon_sym_PERCENT_EQ] = ACTIONS(3844),
    [anon_sym_GT_GT_EQ] = ACTIONS(3844),
    [anon_sym_LT_LT_EQ] = ACTIONS(3844),
    [anon_sym_CARET_EQ] = ACTIONS(3844),
    [anon_sym_QMARK] = ACTIONS(3844),
    [anon_sym_DOT_DOT] = ACTIONS(3846),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3844),
    [anon_sym_and] = ACTIONS(3844),
    [anon_sym_or] = ACTIONS(3844),
    [anon_sym_PIPE_PIPE] = ACTIONS(3846),
    [anon_sym_AMP_AMP] = ACTIONS(3846),
    [anon_sym_LT_LT] = ACTIONS(3846),
    [anon_sym_GT_GT] = ACTIONS(3846),
    [anon_sym_EQ_EQ] = ACTIONS(3846),
    [anon_sym_BANG_EQ] = ACTIONS(3844),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3844),
    [anon_sym_LT_EQ_GT] = ACTIONS(3844),
    [anon_sym_EQ_TILDE] = ACTIONS(3844),
    [anon_sym_BANG_TILDE] = ACTIONS(3844),
    [anon_sym_LT_EQ] = ACTIONS(3846),
    [anon_sym_GT] = ACTIONS(3846),
    [anon_sym_GT_EQ] = ACTIONS(3844),
    [anon_sym_CARET] = ACTIONS(3846),
    [anon_sym_PLUS] = ACTIONS(3846),
    [anon_sym_SLASH] = ACTIONS(3846),
    [anon_sym_PERCENT] = ACTIONS(3846),
    [sym_comment] = ACTIONS(256),
  },
  [4908] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(11328),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [4909] = {
    [sym__simple_heredoc_body] = ACTIONS(3850),
    [sym__heredoc_body_beginning] = ACTIONS(3850),
    [sym__line_break] = ACTIONS(3850),
    [sym__element_reference_left_bracket] = ACTIONS(3850),
    [sym__scope_double_colon] = ACTIONS(3850),
    [sym__binary_minus] = ACTIONS(3850),
    [sym__binary_star] = ACTIONS(3850),
    [ts_builtin_sym_end] = ACTIONS(3850),
    [anon_sym___END__] = ACTIONS(3850),
    [anon_sym_LBRACE] = ACTIONS(3850),
    [anon_sym_RBRACE] = ACTIONS(3850),
    [anon_sym_RPAREN] = ACTIONS(3850),
    [anon_sym_DOT] = ACTIONS(3852),
    [anon_sym_end] = ACTIONS(3850),
    [anon_sym_COMMA] = ACTIONS(3850),
    [anon_sym_PIPE] = ACTIONS(3852),
    [anon_sym_SEMI] = ACTIONS(3850),
    [anon_sym_STAR_STAR] = ACTIONS(3852),
    [anon_sym_AMP] = ACTIONS(3852),
    [anon_sym_EQ] = ACTIONS(3852),
    [anon_sym_LT] = ACTIONS(3852),
    [anon_sym_if] = ACTIONS(3850),
    [anon_sym_unless] = ACTIONS(3850),
    [anon_sym_while] = ACTIONS(3850),
    [anon_sym_until] = ACTIONS(3850),
    [anon_sym_rescue] = ACTIONS(3850),
    [anon_sym_do] = ACTIONS(3850),
    [anon_sym_when] = ACTIONS(3850),
    [anon_sym_elsif] = ACTIONS(3850),
    [anon_sym_else] = ACTIONS(3850),
    [anon_sym_then] = ACTIONS(3850),
    [anon_sym_ensure] = ACTIONS(3850),
    [anon_sym_EQ_GT] = ACTIONS(3850),
    [anon_sym_AMP_DOT] = ACTIONS(3850),
    [anon_sym_PLUS_EQ] = ACTIONS(3850),
    [anon_sym_DASH_EQ] = ACTIONS(3850),
    [anon_sym_STAR_EQ] = ACTIONS(3850),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3850),
    [anon_sym_SLASH_EQ] = ACTIONS(3850),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3850),
    [anon_sym_PIPE_EQ] = ACTIONS(3850),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3850),
    [anon_sym_AMP_EQ] = ACTIONS(3850),
    [anon_sym_PERCENT_EQ] = ACTIONS(3850),
    [anon_sym_GT_GT_EQ] = ACTIONS(3850),
    [anon_sym_LT_LT_EQ] = ACTIONS(3850),
    [anon_sym_CARET_EQ] = ACTIONS(3850),
    [anon_sym_QMARK] = ACTIONS(3850),
    [anon_sym_DOT_DOT] = ACTIONS(3852),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3850),
    [anon_sym_and] = ACTIONS(3850),
    [anon_sym_or] = ACTIONS(3850),
    [anon_sym_PIPE_PIPE] = ACTIONS(3852),
    [anon_sym_AMP_AMP] = ACTIONS(3852),
    [anon_sym_LT_LT] = ACTIONS(3852),
    [anon_sym_GT_GT] = ACTIONS(3852),
    [anon_sym_EQ_EQ] = ACTIONS(3852),
    [anon_sym_BANG_EQ] = ACTIONS(3850),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3850),
    [anon_sym_LT_EQ_GT] = ACTIONS(3850),
    [anon_sym_EQ_TILDE] = ACTIONS(3850),
    [anon_sym_BANG_TILDE] = ACTIONS(3850),
    [anon_sym_LT_EQ] = ACTIONS(3852),
    [anon_sym_GT] = ACTIONS(3852),
    [anon_sym_GT_EQ] = ACTIONS(3850),
    [anon_sym_CARET] = ACTIONS(3852),
    [anon_sym_PLUS] = ACTIONS(3852),
    [anon_sym_SLASH] = ACTIONS(3852),
    [anon_sym_PERCENT] = ACTIONS(3852),
    [sym_comment] = ACTIONS(256),
  },
  [4910] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(11330),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [4911] = {
    [sym__simple_heredoc_body] = ACTIONS(3856),
    [sym__heredoc_body_beginning] = ACTIONS(3856),
    [sym__line_break] = ACTIONS(3856),
    [sym__element_reference_left_bracket] = ACTIONS(3856),
    [sym__scope_double_colon] = ACTIONS(3856),
    [sym__binary_minus] = ACTIONS(3856),
    [sym__binary_star] = ACTIONS(3856),
    [ts_builtin_sym_end] = ACTIONS(3856),
    [anon_sym___END__] = ACTIONS(3856),
    [anon_sym_LBRACE] = ACTIONS(3856),
    [anon_sym_RBRACE] = ACTIONS(3856),
    [anon_sym_RPAREN] = ACTIONS(3856),
    [anon_sym_DOT] = ACTIONS(3858),
    [anon_sym_end] = ACTIONS(3856),
    [anon_sym_COMMA] = ACTIONS(3856),
    [anon_sym_PIPE] = ACTIONS(3858),
    [anon_sym_SEMI] = ACTIONS(3856),
    [anon_sym_STAR_STAR] = ACTIONS(3858),
    [anon_sym_AMP] = ACTIONS(3858),
    [anon_sym_EQ] = ACTIONS(3858),
    [anon_sym_LT] = ACTIONS(3858),
    [anon_sym_if] = ACTIONS(3856),
    [anon_sym_unless] = ACTIONS(3856),
    [anon_sym_while] = ACTIONS(3856),
    [anon_sym_until] = ACTIONS(3856),
    [anon_sym_rescue] = ACTIONS(3856),
    [anon_sym_do] = ACTIONS(3856),
    [anon_sym_when] = ACTIONS(3856),
    [anon_sym_elsif] = ACTIONS(3856),
    [anon_sym_else] = ACTIONS(3856),
    [anon_sym_then] = ACTIONS(3856),
    [anon_sym_ensure] = ACTIONS(3856),
    [anon_sym_EQ_GT] = ACTIONS(3856),
    [anon_sym_AMP_DOT] = ACTIONS(3856),
    [anon_sym_PLUS_EQ] = ACTIONS(3856),
    [anon_sym_DASH_EQ] = ACTIONS(3856),
    [anon_sym_STAR_EQ] = ACTIONS(3856),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3856),
    [anon_sym_SLASH_EQ] = ACTIONS(3856),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3856),
    [anon_sym_PIPE_EQ] = ACTIONS(3856),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3856),
    [anon_sym_AMP_EQ] = ACTIONS(3856),
    [anon_sym_PERCENT_EQ] = ACTIONS(3856),
    [anon_sym_GT_GT_EQ] = ACTIONS(3856),
    [anon_sym_LT_LT_EQ] = ACTIONS(3856),
    [anon_sym_CARET_EQ] = ACTIONS(3856),
    [anon_sym_QMARK] = ACTIONS(3856),
    [anon_sym_DOT_DOT] = ACTIONS(3858),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3856),
    [anon_sym_and] = ACTIONS(3856),
    [anon_sym_or] = ACTIONS(3856),
    [anon_sym_PIPE_PIPE] = ACTIONS(3858),
    [anon_sym_AMP_AMP] = ACTIONS(3858),
    [anon_sym_LT_LT] = ACTIONS(3858),
    [anon_sym_GT_GT] = ACTIONS(3858),
    [anon_sym_EQ_EQ] = ACTIONS(3858),
    [anon_sym_BANG_EQ] = ACTIONS(3856),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3856),
    [anon_sym_LT_EQ_GT] = ACTIONS(3856),
    [anon_sym_EQ_TILDE] = ACTIONS(3856),
    [anon_sym_BANG_TILDE] = ACTIONS(3856),
    [anon_sym_LT_EQ] = ACTIONS(3858),
    [anon_sym_GT] = ACTIONS(3858),
    [anon_sym_GT_EQ] = ACTIONS(3856),
    [anon_sym_CARET] = ACTIONS(3858),
    [anon_sym_PLUS] = ACTIONS(3858),
    [anon_sym_SLASH] = ACTIONS(3858),
    [anon_sym_PERCENT] = ACTIONS(3858),
    [sym_comment] = ACTIONS(256),
  },
  [4912] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(11332),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [4913] = {
    [sym__simple_heredoc_body] = ACTIONS(3862),
    [sym__heredoc_body_beginning] = ACTIONS(3862),
    [sym__line_break] = ACTIONS(3862),
    [sym__element_reference_left_bracket] = ACTIONS(3862),
    [sym__scope_double_colon] = ACTIONS(3862),
    [sym__binary_minus] = ACTIONS(3862),
    [sym__binary_star] = ACTIONS(3862),
    [ts_builtin_sym_end] = ACTIONS(3862),
    [anon_sym___END__] = ACTIONS(3862),
    [anon_sym_LBRACE] = ACTIONS(3862),
    [anon_sym_RBRACE] = ACTIONS(3862),
    [anon_sym_RPAREN] = ACTIONS(3862),
    [anon_sym_DOT] = ACTIONS(3864),
    [anon_sym_end] = ACTIONS(3862),
    [anon_sym_COMMA] = ACTIONS(3862),
    [anon_sym_PIPE] = ACTIONS(3864),
    [anon_sym_SEMI] = ACTIONS(3862),
    [anon_sym_STAR_STAR] = ACTIONS(3864),
    [anon_sym_AMP] = ACTIONS(3864),
    [anon_sym_EQ] = ACTIONS(3864),
    [anon_sym_LT] = ACTIONS(3864),
    [anon_sym_if] = ACTIONS(3862),
    [anon_sym_unless] = ACTIONS(3862),
    [anon_sym_while] = ACTIONS(3862),
    [anon_sym_until] = ACTIONS(3862),
    [anon_sym_rescue] = ACTIONS(3862),
    [anon_sym_do] = ACTIONS(3862),
    [anon_sym_when] = ACTIONS(3862),
    [anon_sym_elsif] = ACTIONS(3862),
    [anon_sym_else] = ACTIONS(3862),
    [anon_sym_then] = ACTIONS(3862),
    [anon_sym_ensure] = ACTIONS(3862),
    [anon_sym_EQ_GT] = ACTIONS(3862),
    [anon_sym_AMP_DOT] = ACTIONS(3862),
    [anon_sym_PLUS_EQ] = ACTIONS(3862),
    [anon_sym_DASH_EQ] = ACTIONS(3862),
    [anon_sym_STAR_EQ] = ACTIONS(3862),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3862),
    [anon_sym_SLASH_EQ] = ACTIONS(3862),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3862),
    [anon_sym_PIPE_EQ] = ACTIONS(3862),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3862),
    [anon_sym_AMP_EQ] = ACTIONS(3862),
    [anon_sym_PERCENT_EQ] = ACTIONS(3862),
    [anon_sym_GT_GT_EQ] = ACTIONS(3862),
    [anon_sym_LT_LT_EQ] = ACTIONS(3862),
    [anon_sym_CARET_EQ] = ACTIONS(3862),
    [anon_sym_QMARK] = ACTIONS(3862),
    [anon_sym_DOT_DOT] = ACTIONS(3864),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3862),
    [anon_sym_and] = ACTIONS(3862),
    [anon_sym_or] = ACTIONS(3862),
    [anon_sym_PIPE_PIPE] = ACTIONS(3864),
    [anon_sym_AMP_AMP] = ACTIONS(3864),
    [anon_sym_LT_LT] = ACTIONS(3864),
    [anon_sym_GT_GT] = ACTIONS(3864),
    [anon_sym_EQ_EQ] = ACTIONS(3864),
    [anon_sym_BANG_EQ] = ACTIONS(3862),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3862),
    [anon_sym_LT_EQ_GT] = ACTIONS(3862),
    [anon_sym_EQ_TILDE] = ACTIONS(3862),
    [anon_sym_BANG_TILDE] = ACTIONS(3862),
    [anon_sym_LT_EQ] = ACTIONS(3864),
    [anon_sym_GT] = ACTIONS(3864),
    [anon_sym_GT_EQ] = ACTIONS(3862),
    [anon_sym_CARET] = ACTIONS(3864),
    [anon_sym_PLUS] = ACTIONS(3864),
    [anon_sym_SLASH] = ACTIONS(3864),
    [anon_sym_PERCENT] = ACTIONS(3864),
    [sym_comment] = ACTIONS(256),
  },
  [4914] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(11334),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [4915] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(11336),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [4916] = {
    [sym__statement] = STATE(8358),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [4917] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(11338),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [4918] = {
    [sym__statement] = STATE(8360),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [4919] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(11340),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [4920] = {
    [sym__statement] = STATE(8362),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [4921] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(11342),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [4922] = {
    [sym__statement] = STATE(8364),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [4923] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(11344),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [4924] = {
    [sym__statement] = STATE(8366),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [4925] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [ts_builtin_sym_end] = ACTIONS(1372),
    [anon_sym___END__] = ACTIONS(1372),
    [anon_sym_LBRACE] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(7174),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_EQ] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_if] = ACTIONS(1372),
    [anon_sym_unless] = ACTIONS(1372),
    [anon_sym_while] = ACTIONS(1372),
    [anon_sym_until] = ACTIONS(1372),
    [anon_sym_rescue] = ACTIONS(1372),
    [anon_sym_do] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_PLUS_EQ] = ACTIONS(1372),
    [anon_sym_DASH_EQ] = ACTIONS(1372),
    [anon_sym_STAR_EQ] = ACTIONS(1372),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1372),
    [anon_sym_SLASH_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1372),
    [anon_sym_AMP_EQ] = ACTIONS(1372),
    [anon_sym_PERCENT_EQ] = ACTIONS(1372),
    [anon_sym_GT_GT_EQ] = ACTIONS(1372),
    [anon_sym_LT_LT_EQ] = ACTIONS(1372),
    [anon_sym_CARET_EQ] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1374),
    [anon_sym_AMP_AMP] = ACTIONS(1374),
    [anon_sym_LT_LT] = ACTIONS(1374),
    [anon_sym_GT_GT] = ACTIONS(1374),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1374),
    [anon_sym_PLUS] = ACTIONS(1374),
    [anon_sym_SLASH] = ACTIONS(1374),
    [anon_sym_PERCENT] = ACTIONS(1374),
    [sym_comment] = ACTIONS(256),
  },
  [4926] = {
    [sym__simple_heredoc_body] = ACTIONS(1552),
    [sym__heredoc_body_beginning] = ACTIONS(1552),
    [sym__line_break] = ACTIONS(1552),
    [sym__element_reference_left_bracket] = ACTIONS(1552),
    [sym__scope_double_colon] = ACTIONS(1552),
    [sym__binary_minus] = ACTIONS(1552),
    [sym__binary_star] = ACTIONS(1552),
    [ts_builtin_sym_end] = ACTIONS(1552),
    [anon_sym___END__] = ACTIONS(1552),
    [anon_sym_LBRACE] = ACTIONS(1552),
    [anon_sym_RBRACE] = ACTIONS(1552),
    [anon_sym_RPAREN] = ACTIONS(1552),
    [anon_sym_DOT] = ACTIONS(1554),
    [anon_sym_end] = ACTIONS(1552),
    [anon_sym_COMMA] = ACTIONS(1552),
    [anon_sym_PIPE] = ACTIONS(1554),
    [anon_sym_SEMI] = ACTIONS(1552),
    [anon_sym_STAR_STAR] = ACTIONS(1554),
    [anon_sym_AMP] = ACTIONS(1554),
    [anon_sym_EQ] = ACTIONS(1554),
    [anon_sym_LT] = ACTIONS(1554),
    [anon_sym_if] = ACTIONS(1552),
    [anon_sym_unless] = ACTIONS(1552),
    [anon_sym_while] = ACTIONS(1552),
    [anon_sym_until] = ACTIONS(1552),
    [anon_sym_rescue] = ACTIONS(1552),
    [anon_sym_do] = ACTIONS(1552),
    [anon_sym_when] = ACTIONS(1552),
    [anon_sym_elsif] = ACTIONS(1552),
    [anon_sym_else] = ACTIONS(1552),
    [anon_sym_then] = ACTIONS(1552),
    [anon_sym_ensure] = ACTIONS(1552),
    [anon_sym_AMP_DOT] = ACTIONS(1552),
    [anon_sym_PLUS_EQ] = ACTIONS(1552),
    [anon_sym_DASH_EQ] = ACTIONS(1552),
    [anon_sym_STAR_EQ] = ACTIONS(1552),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1552),
    [anon_sym_SLASH_EQ] = ACTIONS(1552),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1552),
    [anon_sym_PIPE_EQ] = ACTIONS(1552),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1552),
    [anon_sym_AMP_EQ] = ACTIONS(1552),
    [anon_sym_PERCENT_EQ] = ACTIONS(1552),
    [anon_sym_GT_GT_EQ] = ACTIONS(1552),
    [anon_sym_LT_LT_EQ] = ACTIONS(1552),
    [anon_sym_CARET_EQ] = ACTIONS(1552),
    [anon_sym_QMARK] = ACTIONS(1552),
    [anon_sym_DOT_DOT] = ACTIONS(1554),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1552),
    [anon_sym_and] = ACTIONS(1552),
    [anon_sym_or] = ACTIONS(1552),
    [anon_sym_PIPE_PIPE] = ACTIONS(1554),
    [anon_sym_AMP_AMP] = ACTIONS(1554),
    [anon_sym_LT_LT] = ACTIONS(1554),
    [anon_sym_GT_GT] = ACTIONS(1554),
    [anon_sym_EQ_EQ] = ACTIONS(1554),
    [anon_sym_BANG_EQ] = ACTIONS(1552),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1552),
    [anon_sym_LT_EQ_GT] = ACTIONS(1552),
    [anon_sym_EQ_TILDE] = ACTIONS(1552),
    [anon_sym_BANG_TILDE] = ACTIONS(1552),
    [anon_sym_LT_EQ] = ACTIONS(1554),
    [anon_sym_GT] = ACTIONS(1554),
    [anon_sym_GT_EQ] = ACTIONS(1552),
    [anon_sym_CARET] = ACTIONS(1554),
    [anon_sym_PLUS] = ACTIONS(1554),
    [anon_sym_SLASH] = ACTIONS(1554),
    [anon_sym_PERCENT] = ACTIONS(1554),
    [sym_comment] = ACTIONS(256),
  },
  [4927] = {
    [anon_sym_RBRACE] = ACTIONS(11346),
    [sym_comment] = ACTIONS(110),
  },
  [4928] = {
    [sym_heredoc_end] = STATE(8368),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RBRACE] = ACTIONS(11346),
    [sym_comment] = ACTIONS(110),
  },
  [4929] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(8369),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(1139),
    [sym_call] = STATE(1139),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(1140),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1141),
    [sym__variable] = STATE(1139),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(1822),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_yield] = ACTIONS(1828),
    [anon_sym_break] = ACTIONS(1830),
    [anon_sym_next] = ACTIONS(1832),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(1834),
    [anon_sym_defined_QMARK] = ACTIONS(1836),
    [anon_sym_not] = ACTIONS(1838),
    [anon_sym_BANG] = ACTIONS(1840),
    [anon_sym_TILDE] = ACTIONS(1840),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [4930] = {
    [sym__simple_heredoc_body] = ACTIONS(1866),
    [sym__heredoc_body_beginning] = ACTIONS(1866),
    [sym__line_break] = ACTIONS(1866),
    [sym__element_reference_left_bracket] = ACTIONS(1866),
    [sym__scope_double_colon] = ACTIONS(1866),
    [sym__binary_minus] = ACTIONS(1866),
    [sym__binary_star] = ACTIONS(1866),
    [ts_builtin_sym_end] = ACTIONS(1866),
    [anon_sym___END__] = ACTIONS(1866),
    [anon_sym_LBRACE] = ACTIONS(1866),
    [anon_sym_RBRACE] = ACTIONS(1866),
    [anon_sym_RPAREN] = ACTIONS(1866),
    [anon_sym_DOT] = ACTIONS(1868),
    [anon_sym_end] = ACTIONS(1866),
    [anon_sym_COMMA] = ACTIONS(1866),
    [anon_sym_PIPE] = ACTIONS(1868),
    [anon_sym_SEMI] = ACTIONS(1866),
    [anon_sym_STAR_STAR] = ACTIONS(1868),
    [anon_sym_AMP] = ACTIONS(1868),
    [anon_sym_EQ] = ACTIONS(1868),
    [anon_sym_LT] = ACTIONS(1868),
    [anon_sym_if] = ACTIONS(1866),
    [anon_sym_unless] = ACTIONS(1866),
    [anon_sym_while] = ACTIONS(1866),
    [anon_sym_until] = ACTIONS(1866),
    [anon_sym_rescue] = ACTIONS(1866),
    [anon_sym_do] = ACTIONS(1866),
    [anon_sym_when] = ACTIONS(1866),
    [anon_sym_elsif] = ACTIONS(1866),
    [anon_sym_else] = ACTIONS(1866),
    [anon_sym_then] = ACTIONS(1866),
    [anon_sym_ensure] = ACTIONS(1866),
    [anon_sym_AMP_DOT] = ACTIONS(1866),
    [anon_sym_PLUS_EQ] = ACTIONS(1866),
    [anon_sym_DASH_EQ] = ACTIONS(1866),
    [anon_sym_STAR_EQ] = ACTIONS(1866),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1866),
    [anon_sym_SLASH_EQ] = ACTIONS(1866),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1866),
    [anon_sym_PIPE_EQ] = ACTIONS(1866),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1866),
    [anon_sym_AMP_EQ] = ACTIONS(1866),
    [anon_sym_PERCENT_EQ] = ACTIONS(1866),
    [anon_sym_GT_GT_EQ] = ACTIONS(1866),
    [anon_sym_LT_LT_EQ] = ACTIONS(1866),
    [anon_sym_CARET_EQ] = ACTIONS(1866),
    [anon_sym_QMARK] = ACTIONS(1866),
    [anon_sym_DOT_DOT] = ACTIONS(1868),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1866),
    [anon_sym_and] = ACTIONS(1866),
    [anon_sym_or] = ACTIONS(1866),
    [anon_sym_PIPE_PIPE] = ACTIONS(1868),
    [anon_sym_AMP_AMP] = ACTIONS(1868),
    [anon_sym_LT_LT] = ACTIONS(1868),
    [anon_sym_GT_GT] = ACTIONS(1868),
    [anon_sym_EQ_EQ] = ACTIONS(1868),
    [anon_sym_BANG_EQ] = ACTIONS(1866),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1866),
    [anon_sym_LT_EQ_GT] = ACTIONS(1866),
    [anon_sym_EQ_TILDE] = ACTIONS(1866),
    [anon_sym_BANG_TILDE] = ACTIONS(1866),
    [anon_sym_LT_EQ] = ACTIONS(1868),
    [anon_sym_GT] = ACTIONS(1868),
    [anon_sym_GT_EQ] = ACTIONS(1866),
    [anon_sym_CARET] = ACTIONS(1868),
    [anon_sym_PLUS] = ACTIONS(1868),
    [anon_sym_SLASH] = ACTIONS(1868),
    [anon_sym_PERCENT] = ACTIONS(1868),
    [sym_comment] = ACTIONS(256),
  },
  [4931] = {
    [anon_sym_DOT] = ACTIONS(11348),
    [anon_sym_COLON_COLON] = ACTIONS(11348),
    [sym_comment] = ACTIONS(110),
  },
  [4932] = {
    [sym_method_parameters] = STATE(8371),
    [sym__simple_formal_parameter] = STATE(1150),
    [sym_splat_parameter] = STATE(1151),
    [sym_hash_splat_parameter] = STATE(1151),
    [sym_block_parameter] = STATE(1151),
    [sym_keyword_parameter] = STATE(1151),
    [sym_optional_parameter] = STATE(1151),
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(8371),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym__line_break] = ACTIONS(692),
    [anon_sym_LPAREN] = ACTIONS(1872),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(1874),
    [anon_sym_STAR_STAR] = ACTIONS(1876),
    [anon_sym_AMP] = ACTIONS(1878),
    [sym_identifier] = ACTIONS(1880),
    [sym_comment] = ACTIONS(110),
  },
  [4933] = {
    [sym__simple_heredoc_body] = ACTIONS(1882),
    [sym__heredoc_body_beginning] = ACTIONS(1882),
    [sym__line_break] = ACTIONS(1882),
    [sym__element_reference_left_bracket] = ACTIONS(1882),
    [sym__scope_double_colon] = ACTIONS(1882),
    [sym__binary_minus] = ACTIONS(1882),
    [sym__binary_star] = ACTIONS(1882),
    [ts_builtin_sym_end] = ACTIONS(1882),
    [anon_sym___END__] = ACTIONS(1882),
    [anon_sym_LBRACE] = ACTIONS(1882),
    [anon_sym_RBRACE] = ACTIONS(1882),
    [anon_sym_RPAREN] = ACTIONS(1882),
    [anon_sym_DOT] = ACTIONS(1884),
    [anon_sym_end] = ACTIONS(1882),
    [anon_sym_COMMA] = ACTIONS(1882),
    [anon_sym_PIPE] = ACTIONS(1884),
    [anon_sym_SEMI] = ACTIONS(1882),
    [anon_sym_STAR_STAR] = ACTIONS(1884),
    [anon_sym_AMP] = ACTIONS(1884),
    [anon_sym_EQ] = ACTIONS(1884),
    [anon_sym_LT] = ACTIONS(1884),
    [anon_sym_if] = ACTIONS(1882),
    [anon_sym_unless] = ACTIONS(1882),
    [anon_sym_while] = ACTIONS(1882),
    [anon_sym_until] = ACTIONS(1882),
    [anon_sym_rescue] = ACTIONS(1882),
    [anon_sym_do] = ACTIONS(1882),
    [anon_sym_when] = ACTIONS(1882),
    [anon_sym_elsif] = ACTIONS(1882),
    [anon_sym_else] = ACTIONS(1882),
    [anon_sym_then] = ACTIONS(1882),
    [anon_sym_ensure] = ACTIONS(1882),
    [anon_sym_AMP_DOT] = ACTIONS(1882),
    [anon_sym_PLUS_EQ] = ACTIONS(1882),
    [anon_sym_DASH_EQ] = ACTIONS(1882),
    [anon_sym_STAR_EQ] = ACTIONS(1882),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1882),
    [anon_sym_SLASH_EQ] = ACTIONS(1882),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1882),
    [anon_sym_PIPE_EQ] = ACTIONS(1882),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1882),
    [anon_sym_AMP_EQ] = ACTIONS(1882),
    [anon_sym_PERCENT_EQ] = ACTIONS(1882),
    [anon_sym_GT_GT_EQ] = ACTIONS(1882),
    [anon_sym_LT_LT_EQ] = ACTIONS(1882),
    [anon_sym_CARET_EQ] = ACTIONS(1882),
    [anon_sym_QMARK] = ACTIONS(1882),
    [anon_sym_DOT_DOT] = ACTIONS(1884),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1882),
    [anon_sym_and] = ACTIONS(1882),
    [anon_sym_or] = ACTIONS(1882),
    [anon_sym_PIPE_PIPE] = ACTIONS(1884),
    [anon_sym_AMP_AMP] = ACTIONS(1884),
    [anon_sym_LT_LT] = ACTIONS(1884),
    [anon_sym_GT_GT] = ACTIONS(1884),
    [anon_sym_EQ_EQ] = ACTIONS(1884),
    [anon_sym_BANG_EQ] = ACTIONS(1882),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1882),
    [anon_sym_LT_EQ_GT] = ACTIONS(1882),
    [anon_sym_EQ_TILDE] = ACTIONS(1882),
    [anon_sym_BANG_TILDE] = ACTIONS(1882),
    [anon_sym_LT_EQ] = ACTIONS(1884),
    [anon_sym_GT] = ACTIONS(1884),
    [anon_sym_GT_EQ] = ACTIONS(1882),
    [anon_sym_CARET] = ACTIONS(1884),
    [anon_sym_PLUS] = ACTIONS(1884),
    [anon_sym_SLASH] = ACTIONS(1884),
    [anon_sym_PERCENT] = ACTIONS(1884),
    [sym_comment] = ACTIONS(256),
  },
  [4934] = {
    [anon_sym_RPAREN] = ACTIONS(11350),
    [sym_comment] = ACTIONS(110),
  },
  [4935] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8373),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1329),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1330),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2090),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2100),
    [anon_sym_defined_QMARK] = ACTIONS(2102),
    [anon_sym_not] = ACTIONS(2104),
    [anon_sym_BANG] = ACTIONS(2106),
    [anon_sym_TILDE] = ACTIONS(2106),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4936] = {
    [sym_superclass] = STATE(8374),
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(8375),
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__unary_minus] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(722),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(722),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(2110),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(722),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [4937] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_superclass] = STATE(8374),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1349),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1310),
    [sym__argument_list_with_parens] = STATE(1264),
    [sym__argument] = STATE(1350),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_do_block] = STATE(1312),
    [sym_block] = STATE(1312),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1353),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1354),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__terminator] = STATE(8375),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(2114),
    [sym__splat_star] = ACTIONS(2116),
    [sym__argument_list_left_paren] = ACTIONS(2034),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(2064),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(980),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2120),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(2110),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(2076),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2138),
    [sym_identifier] = ACTIONS(2138),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4938] = {
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(8377),
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__unary_minus] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(722),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(11352),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(722),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(722),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [4939] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1349),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1310),
    [sym__argument_list_with_parens] = STATE(1264),
    [sym__argument] = STATE(1350),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_do_block] = STATE(1312),
    [sym_block] = STATE(1312),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1353),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1354),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__terminator] = STATE(8377),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(2114),
    [sym__splat_star] = ACTIONS(2116),
    [sym__argument_list_left_paren] = ACTIONS(2034),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(2064),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(980),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(11354),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2120),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(2076),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2138),
    [sym_identifier] = ACTIONS(2138),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [4940] = {
    [sym__simple_heredoc_body] = ACTIONS(2264),
    [sym__heredoc_body_beginning] = ACTIONS(2264),
    [sym__line_break] = ACTIONS(2264),
    [sym__element_reference_left_bracket] = ACTIONS(2264),
    [sym__scope_double_colon] = ACTIONS(2264),
    [sym__binary_minus] = ACTIONS(2264),
    [sym__binary_star] = ACTIONS(2264),
    [ts_builtin_sym_end] = ACTIONS(2264),
    [anon_sym___END__] = ACTIONS(2264),
    [anon_sym_LBRACE] = ACTIONS(2264),
    [anon_sym_RBRACE] = ACTIONS(2264),
    [anon_sym_RPAREN] = ACTIONS(2264),
    [anon_sym_DOT] = ACTIONS(2266),
    [anon_sym_end] = ACTIONS(2264),
    [anon_sym_COMMA] = ACTIONS(2264),
    [anon_sym_PIPE] = ACTIONS(2266),
    [anon_sym_SEMI] = ACTIONS(2264),
    [anon_sym_STAR_STAR] = ACTIONS(2266),
    [anon_sym_AMP] = ACTIONS(2266),
    [anon_sym_EQ] = ACTIONS(2266),
    [anon_sym_LT] = ACTIONS(2266),
    [anon_sym_if] = ACTIONS(2264),
    [anon_sym_unless] = ACTIONS(2264),
    [anon_sym_while] = ACTIONS(2264),
    [anon_sym_until] = ACTIONS(2264),
    [anon_sym_rescue] = ACTIONS(2264),
    [anon_sym_do] = ACTIONS(2264),
    [anon_sym_when] = ACTIONS(2264),
    [anon_sym_elsif] = ACTIONS(2264),
    [anon_sym_else] = ACTIONS(2264),
    [anon_sym_then] = ACTIONS(2264),
    [anon_sym_ensure] = ACTIONS(2264),
    [anon_sym_AMP_DOT] = ACTIONS(2264),
    [anon_sym_PLUS_EQ] = ACTIONS(2264),
    [anon_sym_DASH_EQ] = ACTIONS(2264),
    [anon_sym_STAR_EQ] = ACTIONS(2264),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2264),
    [anon_sym_SLASH_EQ] = ACTIONS(2264),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2264),
    [anon_sym_PIPE_EQ] = ACTIONS(2264),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2264),
    [anon_sym_AMP_EQ] = ACTIONS(2264),
    [anon_sym_PERCENT_EQ] = ACTIONS(2264),
    [anon_sym_GT_GT_EQ] = ACTIONS(2264),
    [anon_sym_LT_LT_EQ] = ACTIONS(2264),
    [anon_sym_CARET_EQ] = ACTIONS(2264),
    [anon_sym_QMARK] = ACTIONS(2264),
    [anon_sym_DOT_DOT] = ACTIONS(2266),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2264),
    [anon_sym_and] = ACTIONS(2264),
    [anon_sym_or] = ACTIONS(2264),
    [anon_sym_PIPE_PIPE] = ACTIONS(2266),
    [anon_sym_AMP_AMP] = ACTIONS(2266),
    [anon_sym_LT_LT] = ACTIONS(2266),
    [anon_sym_GT_GT] = ACTIONS(2266),
    [anon_sym_EQ_EQ] = ACTIONS(2266),
    [anon_sym_BANG_EQ] = ACTIONS(2264),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2264),
    [anon_sym_LT_EQ_GT] = ACTIONS(2264),
    [anon_sym_EQ_TILDE] = ACTIONS(2264),
    [anon_sym_BANG_TILDE] = ACTIONS(2264),
    [anon_sym_LT_EQ] = ACTIONS(2266),
    [anon_sym_GT] = ACTIONS(2266),
    [anon_sym_GT_EQ] = ACTIONS(2264),
    [anon_sym_CARET] = ACTIONS(2266),
    [anon_sym_PLUS] = ACTIONS(2266),
    [anon_sym_SLASH] = ACTIONS(2266),
    [anon_sym_PERCENT] = ACTIONS(2266),
    [sym_comment] = ACTIONS(256),
  },
  [4941] = {
    [sym__simple_heredoc_body] = ACTIONS(2286),
    [sym__heredoc_body_beginning] = ACTIONS(2286),
    [sym__line_break] = ACTIONS(2286),
    [sym__element_reference_left_bracket] = ACTIONS(2286),
    [sym__scope_double_colon] = ACTIONS(2286),
    [sym__binary_minus] = ACTIONS(2286),
    [sym__binary_star] = ACTIONS(2286),
    [ts_builtin_sym_end] = ACTIONS(2286),
    [anon_sym___END__] = ACTIONS(2286),
    [anon_sym_LBRACE] = ACTIONS(2286),
    [anon_sym_RBRACE] = ACTIONS(2286),
    [anon_sym_RPAREN] = ACTIONS(2286),
    [anon_sym_DOT] = ACTIONS(2288),
    [anon_sym_end] = ACTIONS(2286),
    [anon_sym_COMMA] = ACTIONS(2286),
    [anon_sym_PIPE] = ACTIONS(2288),
    [anon_sym_SEMI] = ACTIONS(2286),
    [anon_sym_STAR_STAR] = ACTIONS(2288),
    [anon_sym_AMP] = ACTIONS(2288),
    [anon_sym_EQ] = ACTIONS(2288),
    [anon_sym_LT] = ACTIONS(2288),
    [anon_sym_if] = ACTIONS(2286),
    [anon_sym_unless] = ACTIONS(2286),
    [anon_sym_while] = ACTIONS(2286),
    [anon_sym_until] = ACTIONS(2286),
    [anon_sym_rescue] = ACTIONS(2286),
    [anon_sym_do] = ACTIONS(2286),
    [anon_sym_when] = ACTIONS(2286),
    [anon_sym_elsif] = ACTIONS(2286),
    [anon_sym_else] = ACTIONS(2286),
    [anon_sym_then] = ACTIONS(2286),
    [anon_sym_ensure] = ACTIONS(2286),
    [anon_sym_AMP_DOT] = ACTIONS(2286),
    [anon_sym_PLUS_EQ] = ACTIONS(2286),
    [anon_sym_DASH_EQ] = ACTIONS(2286),
    [anon_sym_STAR_EQ] = ACTIONS(2286),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2286),
    [anon_sym_SLASH_EQ] = ACTIONS(2286),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2286),
    [anon_sym_PIPE_EQ] = ACTIONS(2286),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2286),
    [anon_sym_AMP_EQ] = ACTIONS(2286),
    [anon_sym_PERCENT_EQ] = ACTIONS(2286),
    [anon_sym_GT_GT_EQ] = ACTIONS(2286),
    [anon_sym_LT_LT_EQ] = ACTIONS(2286),
    [anon_sym_CARET_EQ] = ACTIONS(2286),
    [anon_sym_QMARK] = ACTIONS(2286),
    [anon_sym_DOT_DOT] = ACTIONS(2288),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2286),
    [anon_sym_and] = ACTIONS(2286),
    [anon_sym_or] = ACTIONS(2286),
    [anon_sym_PIPE_PIPE] = ACTIONS(2288),
    [anon_sym_AMP_AMP] = ACTIONS(2288),
    [anon_sym_LT_LT] = ACTIONS(2288),
    [anon_sym_GT_GT] = ACTIONS(2288),
    [anon_sym_EQ_EQ] = ACTIONS(2288),
    [anon_sym_BANG_EQ] = ACTIONS(2286),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2286),
    [anon_sym_LT_EQ_GT] = ACTIONS(2286),
    [anon_sym_EQ_TILDE] = ACTIONS(2286),
    [anon_sym_BANG_TILDE] = ACTIONS(2286),
    [anon_sym_LT_EQ] = ACTIONS(2288),
    [anon_sym_GT] = ACTIONS(2288),
    [anon_sym_GT_EQ] = ACTIONS(2286),
    [anon_sym_CARET] = ACTIONS(2288),
    [anon_sym_PLUS] = ACTIONS(2288),
    [anon_sym_SLASH] = ACTIONS(2288),
    [anon_sym_PERCENT] = ACTIONS(2288),
    [sym_comment] = ACTIONS(256),
  },
  [4942] = {
    [sym__simple_heredoc_body] = ACTIONS(2290),
    [sym__heredoc_body_beginning] = ACTIONS(2290),
    [sym__line_break] = ACTIONS(2290),
    [sym__element_reference_left_bracket] = ACTIONS(2290),
    [sym__scope_double_colon] = ACTIONS(2290),
    [sym__binary_minus] = ACTIONS(2290),
    [sym__binary_star] = ACTIONS(2290),
    [ts_builtin_sym_end] = ACTIONS(2290),
    [anon_sym___END__] = ACTIONS(2290),
    [anon_sym_LBRACE] = ACTIONS(2290),
    [anon_sym_RBRACE] = ACTIONS(2290),
    [anon_sym_RPAREN] = ACTIONS(2290),
    [anon_sym_DOT] = ACTIONS(2292),
    [anon_sym_end] = ACTIONS(2290),
    [anon_sym_COMMA] = ACTIONS(2290),
    [anon_sym_PIPE] = ACTIONS(2292),
    [anon_sym_SEMI] = ACTIONS(2290),
    [anon_sym_STAR_STAR] = ACTIONS(2292),
    [anon_sym_AMP] = ACTIONS(2292),
    [anon_sym_EQ] = ACTIONS(2292),
    [anon_sym_LT] = ACTIONS(2292),
    [anon_sym_if] = ACTIONS(2290),
    [anon_sym_unless] = ACTIONS(2290),
    [anon_sym_while] = ACTIONS(2290),
    [anon_sym_until] = ACTIONS(2290),
    [anon_sym_rescue] = ACTIONS(2290),
    [anon_sym_do] = ACTIONS(2290),
    [anon_sym_when] = ACTIONS(2290),
    [anon_sym_elsif] = ACTIONS(2290),
    [anon_sym_else] = ACTIONS(2290),
    [anon_sym_then] = ACTIONS(2290),
    [anon_sym_ensure] = ACTIONS(2290),
    [anon_sym_AMP_DOT] = ACTIONS(2290),
    [anon_sym_PLUS_EQ] = ACTIONS(2290),
    [anon_sym_DASH_EQ] = ACTIONS(2290),
    [anon_sym_STAR_EQ] = ACTIONS(2290),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2290),
    [anon_sym_SLASH_EQ] = ACTIONS(2290),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2290),
    [anon_sym_PIPE_EQ] = ACTIONS(2290),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2290),
    [anon_sym_AMP_EQ] = ACTIONS(2290),
    [anon_sym_PERCENT_EQ] = ACTIONS(2290),
    [anon_sym_GT_GT_EQ] = ACTIONS(2290),
    [anon_sym_LT_LT_EQ] = ACTIONS(2290),
    [anon_sym_CARET_EQ] = ACTIONS(2290),
    [anon_sym_QMARK] = ACTIONS(2290),
    [anon_sym_DOT_DOT] = ACTIONS(2292),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2290),
    [anon_sym_and] = ACTIONS(2290),
    [anon_sym_or] = ACTIONS(2290),
    [anon_sym_PIPE_PIPE] = ACTIONS(2292),
    [anon_sym_AMP_AMP] = ACTIONS(2292),
    [anon_sym_LT_LT] = ACTIONS(2292),
    [anon_sym_GT_GT] = ACTIONS(2292),
    [anon_sym_EQ_EQ] = ACTIONS(2292),
    [anon_sym_BANG_EQ] = ACTIONS(2290),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2290),
    [anon_sym_LT_EQ_GT] = ACTIONS(2290),
    [anon_sym_EQ_TILDE] = ACTIONS(2290),
    [anon_sym_BANG_TILDE] = ACTIONS(2290),
    [anon_sym_LT_EQ] = ACTIONS(2292),
    [anon_sym_GT] = ACTIONS(2292),
    [anon_sym_GT_EQ] = ACTIONS(2290),
    [anon_sym_CARET] = ACTIONS(2292),
    [anon_sym_PLUS] = ACTIONS(2292),
    [anon_sym_SLASH] = ACTIONS(2292),
    [anon_sym_PERCENT] = ACTIONS(2292),
    [sym_comment] = ACTIONS(256),
  },
  [4943] = {
    [sym__simple_heredoc_body] = ACTIONS(2294),
    [sym__heredoc_body_beginning] = ACTIONS(2294),
    [sym__line_break] = ACTIONS(2294),
    [sym__element_reference_left_bracket] = ACTIONS(2294),
    [sym__scope_double_colon] = ACTIONS(2294),
    [sym__binary_minus] = ACTIONS(2294),
    [sym__binary_star] = ACTIONS(2294),
    [ts_builtin_sym_end] = ACTIONS(2294),
    [anon_sym___END__] = ACTIONS(2294),
    [anon_sym_LBRACE] = ACTIONS(2294),
    [anon_sym_RBRACE] = ACTIONS(2294),
    [anon_sym_RPAREN] = ACTIONS(2294),
    [anon_sym_DOT] = ACTIONS(2296),
    [anon_sym_end] = ACTIONS(2294),
    [anon_sym_COMMA] = ACTIONS(2294),
    [anon_sym_PIPE] = ACTIONS(2296),
    [anon_sym_SEMI] = ACTIONS(2294),
    [anon_sym_STAR_STAR] = ACTIONS(2296),
    [anon_sym_AMP] = ACTIONS(2296),
    [anon_sym_EQ] = ACTIONS(2296),
    [anon_sym_LT] = ACTIONS(2296),
    [anon_sym_if] = ACTIONS(2294),
    [anon_sym_unless] = ACTIONS(2294),
    [anon_sym_while] = ACTIONS(2294),
    [anon_sym_until] = ACTIONS(2294),
    [anon_sym_rescue] = ACTIONS(2294),
    [anon_sym_do] = ACTIONS(2294),
    [anon_sym_when] = ACTIONS(2294),
    [anon_sym_elsif] = ACTIONS(2294),
    [anon_sym_else] = ACTIONS(2294),
    [anon_sym_then] = ACTIONS(2294),
    [anon_sym_ensure] = ACTIONS(2294),
    [anon_sym_AMP_DOT] = ACTIONS(2294),
    [anon_sym_PLUS_EQ] = ACTIONS(2294),
    [anon_sym_DASH_EQ] = ACTIONS(2294),
    [anon_sym_STAR_EQ] = ACTIONS(2294),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2294),
    [anon_sym_SLASH_EQ] = ACTIONS(2294),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2294),
    [anon_sym_PIPE_EQ] = ACTIONS(2294),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2294),
    [anon_sym_AMP_EQ] = ACTIONS(2294),
    [anon_sym_PERCENT_EQ] = ACTIONS(2294),
    [anon_sym_GT_GT_EQ] = ACTIONS(2294),
    [anon_sym_LT_LT_EQ] = ACTIONS(2294),
    [anon_sym_CARET_EQ] = ACTIONS(2294),
    [anon_sym_QMARK] = ACTIONS(2294),
    [anon_sym_DOT_DOT] = ACTIONS(2296),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2294),
    [anon_sym_and] = ACTIONS(2294),
    [anon_sym_or] = ACTIONS(2294),
    [anon_sym_PIPE_PIPE] = ACTIONS(2296),
    [anon_sym_AMP_AMP] = ACTIONS(2296),
    [anon_sym_LT_LT] = ACTIONS(2296),
    [anon_sym_GT_GT] = ACTIONS(2296),
    [anon_sym_EQ_EQ] = ACTIONS(2296),
    [anon_sym_BANG_EQ] = ACTIONS(2294),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2294),
    [anon_sym_LT_EQ_GT] = ACTIONS(2294),
    [anon_sym_EQ_TILDE] = ACTIONS(2294),
    [anon_sym_BANG_TILDE] = ACTIONS(2294),
    [anon_sym_LT_EQ] = ACTIONS(2296),
    [anon_sym_GT] = ACTIONS(2296),
    [anon_sym_GT_EQ] = ACTIONS(2294),
    [anon_sym_CARET] = ACTIONS(2296),
    [anon_sym_PLUS] = ACTIONS(2296),
    [anon_sym_SLASH] = ACTIONS(2296),
    [anon_sym_PERCENT] = ACTIONS(2296),
    [sym_comment] = ACTIONS(256),
  },
  [4944] = {
    [sym__then] = STATE(8379),
    [sym_heredoc_end] = STATE(1476),
    [sym__terminator] = STATE(1484),
    [sym__simple_heredoc_body] = ACTIONS(2322),
    [sym__heredoc_body_beginning] = ACTIONS(2324),
    [sym__line_break] = ACTIONS(2326),
    [anon_sym_SEMI] = ACTIONS(2326),
    [anon_sym_if] = ACTIONS(2328),
    [anon_sym_unless] = ACTIONS(2330),
    [anon_sym_while] = ACTIONS(2332),
    [anon_sym_until] = ACTIONS(2334),
    [anon_sym_rescue] = ACTIONS(2336),
    [anon_sym_then] = ACTIONS(2338),
    [sym_comment] = ACTIONS(110),
  },
  [4945] = {
    [sym__then] = STATE(8380),
    [sym_heredoc_end] = STATE(1521),
    [sym__terminator] = STATE(1524),
    [sym__simple_heredoc_body] = ACTIONS(2402),
    [sym__heredoc_body_beginning] = ACTIONS(2404),
    [sym__line_break] = ACTIONS(2406),
    [anon_sym_SEMI] = ACTIONS(2406),
    [anon_sym_if] = ACTIONS(2328),
    [anon_sym_unless] = ACTIONS(2330),
    [anon_sym_while] = ACTIONS(2332),
    [anon_sym_until] = ACTIONS(2334),
    [anon_sym_rescue] = ACTIONS(2336),
    [anon_sym_then] = ACTIONS(2408),
    [sym_comment] = ACTIONS(110),
  },
  [4946] = {
    [sym__do] = STATE(8381),
    [sym_heredoc_end] = STATE(1550),
    [sym__terminator] = STATE(1557),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym__line_break] = ACTIONS(2446),
    [sym__binary_minus] = ACTIONS(2448),
    [sym__binary_star] = ACTIONS(2450),
    [anon_sym_PIPE] = ACTIONS(2452),
    [anon_sym_SEMI] = ACTIONS(2446),
    [anon_sym_STAR_STAR] = ACTIONS(2454),
    [anon_sym_AMP] = ACTIONS(2456),
    [anon_sym_LT] = ACTIONS(2458),
    [anon_sym_do] = ACTIONS(2460),
    [anon_sym_QMARK] = ACTIONS(2462),
    [anon_sym_DOT_DOT] = ACTIONS(2464),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2466),
    [anon_sym_and] = ACTIONS(2468),
    [anon_sym_or] = ACTIONS(2468),
    [anon_sym_PIPE_PIPE] = ACTIONS(2470),
    [anon_sym_AMP_AMP] = ACTIONS(2470),
    [anon_sym_LT_LT] = ACTIONS(2472),
    [anon_sym_GT_GT] = ACTIONS(2472),
    [anon_sym_EQ_EQ] = ACTIONS(2474),
    [anon_sym_BANG_EQ] = ACTIONS(2470),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2470),
    [anon_sym_LT_EQ_GT] = ACTIONS(2470),
    [anon_sym_EQ_TILDE] = ACTIONS(2470),
    [anon_sym_BANG_TILDE] = ACTIONS(2470),
    [anon_sym_LT_EQ] = ACTIONS(2458),
    [anon_sym_GT] = ACTIONS(2458),
    [anon_sym_GT_EQ] = ACTIONS(2476),
    [anon_sym_CARET] = ACTIONS(2478),
    [anon_sym_PLUS] = ACTIONS(2480),
    [anon_sym_SLASH] = ACTIONS(2454),
    [anon_sym_PERCENT] = ACTIONS(2454),
    [sym_comment] = ACTIONS(110),
  },
  [4947] = {
    [sym__do] = STATE(8382),
    [sym_heredoc_end] = STATE(1550),
    [sym__terminator] = STATE(1557),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym__line_break] = ACTIONS(2446),
    [sym__binary_minus] = ACTIONS(2448),
    [sym__binary_star] = ACTIONS(2450),
    [anon_sym_PIPE] = ACTIONS(2452),
    [anon_sym_SEMI] = ACTIONS(2446),
    [anon_sym_STAR_STAR] = ACTIONS(2454),
    [anon_sym_AMP] = ACTIONS(2456),
    [anon_sym_LT] = ACTIONS(2458),
    [anon_sym_do] = ACTIONS(2460),
    [anon_sym_QMARK] = ACTIONS(2462),
    [anon_sym_DOT_DOT] = ACTIONS(2464),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2466),
    [anon_sym_and] = ACTIONS(2468),
    [anon_sym_or] = ACTIONS(2468),
    [anon_sym_PIPE_PIPE] = ACTIONS(2470),
    [anon_sym_AMP_AMP] = ACTIONS(2470),
    [anon_sym_LT_LT] = ACTIONS(2472),
    [anon_sym_GT_GT] = ACTIONS(2472),
    [anon_sym_EQ_EQ] = ACTIONS(2474),
    [anon_sym_BANG_EQ] = ACTIONS(2470),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2470),
    [anon_sym_LT_EQ_GT] = ACTIONS(2470),
    [anon_sym_EQ_TILDE] = ACTIONS(2470),
    [anon_sym_BANG_TILDE] = ACTIONS(2470),
    [anon_sym_LT_EQ] = ACTIONS(2458),
    [anon_sym_GT] = ACTIONS(2458),
    [anon_sym_GT_EQ] = ACTIONS(2476),
    [anon_sym_CARET] = ACTIONS(2478),
    [anon_sym_PLUS] = ACTIONS(2480),
    [anon_sym_SLASH] = ACTIONS(2454),
    [anon_sym_PERCENT] = ACTIONS(2454),
    [sym_comment] = ACTIONS(110),
  },
  [4948] = {
    [sym_in] = STATE(8383),
    [anon_sym_in] = ACTIONS(2548),
    [sym_comment] = ACTIONS(110),
  },
  [4949] = {
    [anon_sym_end] = ACTIONS(11356),
    [sym_comment] = ACTIONS(110),
  },
  [4950] = {
    [sym_when] = STATE(8385),
    [sym_heredoc_end] = STATE(387),
    [sym__terminator] = STATE(402),
    [aux_sym_case_repeat1] = STATE(8386),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym__line_break] = ACTIONS(666),
    [sym__binary_minus] = ACTIONS(2600),
    [sym__binary_star] = ACTIONS(2602),
    [anon_sym_PIPE] = ACTIONS(2604),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_STAR_STAR] = ACTIONS(2606),
    [anon_sym_AMP] = ACTIONS(2608),
    [anon_sym_LT] = ACTIONS(2610),
    [anon_sym_when] = ACTIONS(2612),
    [anon_sym_QMARK] = ACTIONS(2614),
    [anon_sym_DOT_DOT] = ACTIONS(2616),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2618),
    [anon_sym_and] = ACTIONS(2620),
    [anon_sym_or] = ACTIONS(2620),
    [anon_sym_PIPE_PIPE] = ACTIONS(2622),
    [anon_sym_AMP_AMP] = ACTIONS(2622),
    [anon_sym_LT_LT] = ACTIONS(2624),
    [anon_sym_GT_GT] = ACTIONS(2624),
    [anon_sym_EQ_EQ] = ACTIONS(2626),
    [anon_sym_BANG_EQ] = ACTIONS(2622),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2622),
    [anon_sym_LT_EQ_GT] = ACTIONS(2622),
    [anon_sym_EQ_TILDE] = ACTIONS(2622),
    [anon_sym_BANG_TILDE] = ACTIONS(2622),
    [anon_sym_LT_EQ] = ACTIONS(2610),
    [anon_sym_GT] = ACTIONS(2610),
    [anon_sym_GT_EQ] = ACTIONS(2628),
    [anon_sym_CARET] = ACTIONS(2630),
    [anon_sym_PLUS] = ACTIONS(2632),
    [anon_sym_SLASH] = ACTIONS(2606),
    [anon_sym_PERCENT] = ACTIONS(2606),
    [sym_comment] = ACTIONS(110),
  },
  [4951] = {
    [sym_when] = STATE(8385),
    [sym_heredoc_end] = STATE(387),
    [sym__terminator] = STATE(1688),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym__line_break] = ACTIONS(666),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_when] = ACTIONS(2612),
    [sym_comment] = ACTIONS(110),
  },
  [4952] = {
    [sym__simple_heredoc_body] = ACTIONS(2674),
    [sym__heredoc_body_beginning] = ACTIONS(2674),
    [sym__line_break] = ACTIONS(2674),
    [sym__element_reference_left_bracket] = ACTIONS(2674),
    [sym__scope_double_colon] = ACTIONS(2674),
    [sym__binary_minus] = ACTIONS(2674),
    [sym__binary_star] = ACTIONS(2674),
    [ts_builtin_sym_end] = ACTIONS(2674),
    [anon_sym___END__] = ACTIONS(2674),
    [anon_sym_LBRACE] = ACTIONS(2674),
    [anon_sym_RBRACE] = ACTIONS(2674),
    [anon_sym_RPAREN] = ACTIONS(2674),
    [anon_sym_DOT] = ACTIONS(2676),
    [anon_sym_end] = ACTIONS(2674),
    [anon_sym_COMMA] = ACTIONS(2674),
    [anon_sym_PIPE] = ACTIONS(2676),
    [anon_sym_SEMI] = ACTIONS(2674),
    [anon_sym_STAR_STAR] = ACTIONS(2676),
    [anon_sym_AMP] = ACTIONS(2676),
    [anon_sym_EQ] = ACTIONS(2676),
    [anon_sym_LT] = ACTIONS(2676),
    [anon_sym_if] = ACTIONS(2674),
    [anon_sym_unless] = ACTIONS(2674),
    [anon_sym_while] = ACTIONS(2674),
    [anon_sym_until] = ACTIONS(2674),
    [anon_sym_rescue] = ACTIONS(2674),
    [anon_sym_do] = ACTIONS(2674),
    [anon_sym_when] = ACTIONS(2674),
    [anon_sym_elsif] = ACTIONS(2674),
    [anon_sym_else] = ACTIONS(2674),
    [anon_sym_then] = ACTIONS(2674),
    [anon_sym_ensure] = ACTIONS(2674),
    [anon_sym_AMP_DOT] = ACTIONS(2674),
    [anon_sym_PLUS_EQ] = ACTIONS(2674),
    [anon_sym_DASH_EQ] = ACTIONS(2674),
    [anon_sym_STAR_EQ] = ACTIONS(2674),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2674),
    [anon_sym_SLASH_EQ] = ACTIONS(2674),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2674),
    [anon_sym_PIPE_EQ] = ACTIONS(2674),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2674),
    [anon_sym_AMP_EQ] = ACTIONS(2674),
    [anon_sym_PERCENT_EQ] = ACTIONS(2674),
    [anon_sym_GT_GT_EQ] = ACTIONS(2674),
    [anon_sym_LT_LT_EQ] = ACTIONS(2674),
    [anon_sym_CARET_EQ] = ACTIONS(2674),
    [anon_sym_QMARK] = ACTIONS(2674),
    [anon_sym_DOT_DOT] = ACTIONS(2676),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2674),
    [anon_sym_and] = ACTIONS(2674),
    [anon_sym_or] = ACTIONS(2674),
    [anon_sym_PIPE_PIPE] = ACTIONS(2676),
    [anon_sym_AMP_AMP] = ACTIONS(2676),
    [anon_sym_LT_LT] = ACTIONS(2676),
    [anon_sym_GT_GT] = ACTIONS(2676),
    [anon_sym_EQ_EQ] = ACTIONS(2676),
    [anon_sym_BANG_EQ] = ACTIONS(2674),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2674),
    [anon_sym_LT_EQ_GT] = ACTIONS(2674),
    [anon_sym_EQ_TILDE] = ACTIONS(2674),
    [anon_sym_BANG_TILDE] = ACTIONS(2674),
    [anon_sym_LT_EQ] = ACTIONS(2676),
    [anon_sym_GT] = ACTIONS(2676),
    [anon_sym_GT_EQ] = ACTIONS(2674),
    [anon_sym_CARET] = ACTIONS(2676),
    [anon_sym_PLUS] = ACTIONS(2676),
    [anon_sym_SLASH] = ACTIONS(2676),
    [anon_sym_PERCENT] = ACTIONS(2676),
    [sym_comment] = ACTIONS(256),
  },
  [4953] = {
    [anon_sym_end] = ACTIONS(11358),
    [sym_comment] = ACTIONS(110),
  },
  [4954] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(8388),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11360),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4955] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [ts_builtin_sym_end] = ACTIONS(2870),
    [anon_sym___END__] = ACTIONS(2870),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(7174),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2872),
    [anon_sym_AMP_AMP] = ACTIONS(2872),
    [anon_sym_LT_LT] = ACTIONS(2872),
    [anon_sym_GT_GT] = ACTIONS(2872),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2872),
    [anon_sym_PLUS] = ACTIONS(2872),
    [anon_sym_SLASH] = ACTIONS(2872),
    [anon_sym_PERCENT] = ACTIONS(2872),
    [sym_comment] = ACTIONS(256),
  },
  [4956] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(7168),
    [sym__binary_star] = ACTIONS(7170),
    [ts_builtin_sym_end] = ACTIONS(2870),
    [anon_sym___END__] = ACTIONS(2870),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(7172),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(7174),
    [anon_sym_AMP] = ACTIONS(7176),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(7178),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(7180),
    [anon_sym_DOT_DOT] = ACTIONS(7182),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7184),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(7186),
    [anon_sym_AMP_AMP] = ACTIONS(7186),
    [anon_sym_LT_LT] = ACTIONS(7188),
    [anon_sym_GT_GT] = ACTIONS(7188),
    [anon_sym_EQ_EQ] = ACTIONS(7186),
    [anon_sym_BANG_EQ] = ACTIONS(7190),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7190),
    [anon_sym_LT_EQ_GT] = ACTIONS(7190),
    [anon_sym_EQ_TILDE] = ACTIONS(7190),
    [anon_sym_BANG_TILDE] = ACTIONS(7190),
    [anon_sym_LT_EQ] = ACTIONS(7178),
    [anon_sym_GT] = ACTIONS(7178),
    [anon_sym_GT_EQ] = ACTIONS(7192),
    [anon_sym_CARET] = ACTIONS(7172),
    [anon_sym_PLUS] = ACTIONS(7194),
    [anon_sym_SLASH] = ACTIONS(7174),
    [anon_sym_PERCENT] = ACTIONS(7174),
    [sym_comment] = ACTIONS(256),
  },
  [4957] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [ts_builtin_sym_end] = ACTIONS(2870),
    [anon_sym___END__] = ACTIONS(2870),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_RBRACE] = ACTIONS(2870),
    [anon_sym_RPAREN] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_end] = ACTIONS(2870),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(2872),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_when] = ACTIONS(2870),
    [anon_sym_elsif] = ACTIONS(2870),
    [anon_sym_else] = ACTIONS(2870),
    [anon_sym_then] = ACTIONS(2870),
    [anon_sym_ensure] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2872),
    [anon_sym_AMP_AMP] = ACTIONS(2872),
    [anon_sym_LT_LT] = ACTIONS(2872),
    [anon_sym_GT_GT] = ACTIONS(2872),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2872),
    [anon_sym_PLUS] = ACTIONS(2872),
    [anon_sym_SLASH] = ACTIONS(2872),
    [anon_sym_PERCENT] = ACTIONS(2872),
    [sym_comment] = ACTIONS(256),
  },
  [4958] = {
    [sym__simple_heredoc_body] = ACTIONS(2882),
    [sym__heredoc_body_beginning] = ACTIONS(2882),
    [sym__line_break] = ACTIONS(2882),
    [sym__element_reference_left_bracket] = ACTIONS(2882),
    [sym__scope_double_colon] = ACTIONS(2882),
    [sym__binary_minus] = ACTIONS(2882),
    [sym__binary_star] = ACTIONS(2882),
    [ts_builtin_sym_end] = ACTIONS(2882),
    [anon_sym___END__] = ACTIONS(2882),
    [anon_sym_LBRACE] = ACTIONS(2882),
    [anon_sym_RBRACE] = ACTIONS(2882),
    [anon_sym_RPAREN] = ACTIONS(2882),
    [anon_sym_DOT] = ACTIONS(2884),
    [anon_sym_end] = ACTIONS(2882),
    [anon_sym_COMMA] = ACTIONS(2882),
    [anon_sym_PIPE] = ACTIONS(2884),
    [anon_sym_SEMI] = ACTIONS(2882),
    [anon_sym_STAR_STAR] = ACTIONS(2884),
    [anon_sym_AMP] = ACTIONS(2884),
    [anon_sym_EQ] = ACTIONS(2884),
    [anon_sym_LT] = ACTIONS(2884),
    [anon_sym_if] = ACTIONS(2882),
    [anon_sym_unless] = ACTIONS(2882),
    [anon_sym_while] = ACTIONS(2882),
    [anon_sym_until] = ACTIONS(2882),
    [anon_sym_rescue] = ACTIONS(2882),
    [anon_sym_do] = ACTIONS(2882),
    [anon_sym_when] = ACTIONS(2882),
    [anon_sym_elsif] = ACTIONS(2882),
    [anon_sym_else] = ACTIONS(2882),
    [anon_sym_then] = ACTIONS(2882),
    [anon_sym_ensure] = ACTIONS(2882),
    [anon_sym_AMP_DOT] = ACTIONS(2882),
    [anon_sym_PLUS_EQ] = ACTIONS(2882),
    [anon_sym_DASH_EQ] = ACTIONS(2882),
    [anon_sym_STAR_EQ] = ACTIONS(2882),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2882),
    [anon_sym_SLASH_EQ] = ACTIONS(2882),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2882),
    [anon_sym_PIPE_EQ] = ACTIONS(2882),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2882),
    [anon_sym_AMP_EQ] = ACTIONS(2882),
    [anon_sym_PERCENT_EQ] = ACTIONS(2882),
    [anon_sym_GT_GT_EQ] = ACTIONS(2882),
    [anon_sym_LT_LT_EQ] = ACTIONS(2882),
    [anon_sym_CARET_EQ] = ACTIONS(2882),
    [anon_sym_QMARK] = ACTIONS(2882),
    [anon_sym_DOT_DOT] = ACTIONS(2884),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2882),
    [anon_sym_and] = ACTIONS(2882),
    [anon_sym_or] = ACTIONS(2882),
    [anon_sym_PIPE_PIPE] = ACTIONS(2884),
    [anon_sym_AMP_AMP] = ACTIONS(2884),
    [anon_sym_LT_LT] = ACTIONS(2884),
    [anon_sym_GT_GT] = ACTIONS(2884),
    [anon_sym_EQ_EQ] = ACTIONS(2884),
    [anon_sym_BANG_EQ] = ACTIONS(2882),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2882),
    [anon_sym_LT_EQ_GT] = ACTIONS(2882),
    [anon_sym_EQ_TILDE] = ACTIONS(2882),
    [anon_sym_BANG_TILDE] = ACTIONS(2882),
    [anon_sym_LT_EQ] = ACTIONS(2884),
    [anon_sym_GT] = ACTIONS(2884),
    [anon_sym_GT_EQ] = ACTIONS(2882),
    [anon_sym_CARET] = ACTIONS(2884),
    [anon_sym_PLUS] = ACTIONS(2884),
    [anon_sym_SLASH] = ACTIONS(2884),
    [anon_sym_PERCENT] = ACTIONS(2884),
    [sym_comment] = ACTIONS(256),
  },
  [4959] = {
    [sym__simple_heredoc_body] = ACTIONS(2952),
    [sym__heredoc_body_beginning] = ACTIONS(2952),
    [sym__line_break] = ACTIONS(2952),
    [sym__element_reference_left_bracket] = ACTIONS(2952),
    [sym__scope_double_colon] = ACTIONS(2952),
    [sym__binary_minus] = ACTIONS(2952),
    [sym__binary_star] = ACTIONS(2952),
    [ts_builtin_sym_end] = ACTIONS(2952),
    [anon_sym___END__] = ACTIONS(2952),
    [anon_sym_LBRACE] = ACTIONS(2952),
    [anon_sym_RBRACE] = ACTIONS(2952),
    [anon_sym_RPAREN] = ACTIONS(2952),
    [anon_sym_DOT] = ACTIONS(2954),
    [anon_sym_end] = ACTIONS(2952),
    [anon_sym_COMMA] = ACTIONS(2952),
    [anon_sym_PIPE] = ACTIONS(2954),
    [anon_sym_SEMI] = ACTIONS(2952),
    [anon_sym_STAR_STAR] = ACTIONS(2954),
    [anon_sym_AMP] = ACTIONS(2954),
    [anon_sym_EQ] = ACTIONS(2954),
    [anon_sym_LT] = ACTIONS(2954),
    [anon_sym_if] = ACTIONS(2952),
    [anon_sym_unless] = ACTIONS(2952),
    [anon_sym_while] = ACTIONS(2952),
    [anon_sym_until] = ACTIONS(2952),
    [anon_sym_rescue] = ACTIONS(2952),
    [anon_sym_do] = ACTIONS(2952),
    [anon_sym_when] = ACTIONS(2952),
    [anon_sym_elsif] = ACTIONS(2952),
    [anon_sym_else] = ACTIONS(2952),
    [anon_sym_then] = ACTIONS(2952),
    [anon_sym_ensure] = ACTIONS(2952),
    [anon_sym_AMP_DOT] = ACTIONS(2952),
    [anon_sym_PLUS_EQ] = ACTIONS(2952),
    [anon_sym_DASH_EQ] = ACTIONS(2952),
    [anon_sym_STAR_EQ] = ACTIONS(2952),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2952),
    [anon_sym_SLASH_EQ] = ACTIONS(2952),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2952),
    [anon_sym_PIPE_EQ] = ACTIONS(2952),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2952),
    [anon_sym_AMP_EQ] = ACTIONS(2952),
    [anon_sym_PERCENT_EQ] = ACTIONS(2952),
    [anon_sym_GT_GT_EQ] = ACTIONS(2952),
    [anon_sym_LT_LT_EQ] = ACTIONS(2952),
    [anon_sym_CARET_EQ] = ACTIONS(2952),
    [anon_sym_QMARK] = ACTIONS(2952),
    [anon_sym_DOT_DOT] = ACTIONS(2954),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2952),
    [anon_sym_and] = ACTIONS(2952),
    [anon_sym_or] = ACTIONS(2952),
    [anon_sym_PIPE_PIPE] = ACTIONS(2954),
    [anon_sym_AMP_AMP] = ACTIONS(2954),
    [anon_sym_LT_LT] = ACTIONS(2954),
    [anon_sym_GT_GT] = ACTIONS(2954),
    [anon_sym_EQ_EQ] = ACTIONS(2954),
    [anon_sym_BANG_EQ] = ACTIONS(2952),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2952),
    [anon_sym_LT_EQ_GT] = ACTIONS(2952),
    [anon_sym_EQ_TILDE] = ACTIONS(2952),
    [anon_sym_BANG_TILDE] = ACTIONS(2952),
    [anon_sym_LT_EQ] = ACTIONS(2954),
    [anon_sym_GT] = ACTIONS(2954),
    [anon_sym_GT_EQ] = ACTIONS(2952),
    [anon_sym_CARET] = ACTIONS(2954),
    [anon_sym_PLUS] = ACTIONS(2954),
    [anon_sym_SLASH] = ACTIONS(2954),
    [anon_sym_PERCENT] = ACTIONS(2954),
    [sym_comment] = ACTIONS(256),
  },
  [4960] = {
    [sym_heredoc_end] = STATE(8389),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RBRACK] = ACTIONS(11344),
    [sym_comment] = ACTIONS(110),
  },
  [4961] = {
    [anon_sym_RBRACK] = ACTIONS(11344),
    [sym_comment] = ACTIONS(110),
  },
  [4962] = {
    [sym_do_block] = STATE(8390),
    [sym_block] = STATE(8390),
    [anon_sym_LBRACE] = ACTIONS(3348),
    [anon_sym_do] = ACTIONS(3352),
    [sym_comment] = ACTIONS(110),
  },
  [4963] = {
    [sym__simple_heredoc_body] = ACTIONS(3100),
    [sym__heredoc_body_beginning] = ACTIONS(3100),
    [sym__line_break] = ACTIONS(3100),
    [sym__element_reference_left_bracket] = ACTIONS(3100),
    [sym__scope_double_colon] = ACTIONS(3100),
    [sym__binary_minus] = ACTIONS(3100),
    [sym__binary_star] = ACTIONS(3100),
    [ts_builtin_sym_end] = ACTIONS(3100),
    [anon_sym___END__] = ACTIONS(3100),
    [anon_sym_LBRACE] = ACTIONS(3100),
    [anon_sym_RBRACE] = ACTIONS(3100),
    [anon_sym_RPAREN] = ACTIONS(3100),
    [anon_sym_DOT] = ACTIONS(3102),
    [anon_sym_end] = ACTIONS(3100),
    [anon_sym_COMMA] = ACTIONS(3100),
    [anon_sym_PIPE] = ACTIONS(3102),
    [anon_sym_SEMI] = ACTIONS(3100),
    [anon_sym_STAR_STAR] = ACTIONS(3102),
    [anon_sym_AMP] = ACTIONS(3102),
    [anon_sym_EQ] = ACTIONS(3102),
    [anon_sym_LT] = ACTIONS(3102),
    [anon_sym_if] = ACTIONS(3100),
    [anon_sym_unless] = ACTIONS(3100),
    [anon_sym_while] = ACTIONS(3100),
    [anon_sym_until] = ACTIONS(3100),
    [anon_sym_rescue] = ACTIONS(3100),
    [anon_sym_do] = ACTIONS(3100),
    [anon_sym_when] = ACTIONS(3100),
    [anon_sym_elsif] = ACTIONS(3100),
    [anon_sym_else] = ACTIONS(3100),
    [anon_sym_then] = ACTIONS(3100),
    [anon_sym_ensure] = ACTIONS(3100),
    [anon_sym_AMP_DOT] = ACTIONS(3100),
    [anon_sym_PLUS_EQ] = ACTIONS(3100),
    [anon_sym_DASH_EQ] = ACTIONS(3100),
    [anon_sym_STAR_EQ] = ACTIONS(3100),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3100),
    [anon_sym_SLASH_EQ] = ACTIONS(3100),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3100),
    [anon_sym_PIPE_EQ] = ACTIONS(3100),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3100),
    [anon_sym_AMP_EQ] = ACTIONS(3100),
    [anon_sym_PERCENT_EQ] = ACTIONS(3100),
    [anon_sym_GT_GT_EQ] = ACTIONS(3100),
    [anon_sym_LT_LT_EQ] = ACTIONS(3100),
    [anon_sym_CARET_EQ] = ACTIONS(3100),
    [anon_sym_QMARK] = ACTIONS(3100),
    [anon_sym_DOT_DOT] = ACTIONS(3102),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3100),
    [anon_sym_and] = ACTIONS(3100),
    [anon_sym_or] = ACTIONS(3100),
    [anon_sym_PIPE_PIPE] = ACTIONS(3102),
    [anon_sym_AMP_AMP] = ACTIONS(3102),
    [anon_sym_LT_LT] = ACTIONS(3102),
    [anon_sym_GT_GT] = ACTIONS(3102),
    [anon_sym_EQ_EQ] = ACTIONS(3102),
    [anon_sym_BANG_EQ] = ACTIONS(3100),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3100),
    [anon_sym_LT_EQ_GT] = ACTIONS(3100),
    [anon_sym_EQ_TILDE] = ACTIONS(3100),
    [anon_sym_BANG_TILDE] = ACTIONS(3100),
    [anon_sym_LT_EQ] = ACTIONS(3102),
    [anon_sym_GT] = ACTIONS(3102),
    [anon_sym_GT_EQ] = ACTIONS(3100),
    [anon_sym_CARET] = ACTIONS(3102),
    [anon_sym_PLUS] = ACTIONS(3102),
    [anon_sym_SLASH] = ACTIONS(3102),
    [anon_sym_PERCENT] = ACTIONS(3102),
    [sym_comment] = ACTIONS(256),
  },
  [4964] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(8391),
    [sym__primary] = STATE(2082),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(2083),
    [sym_call] = STATE(2083),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(2085),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2086),
    [sym__variable] = STATE(2083),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(3162),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(3174),
    [anon_sym_yield] = ACTIONS(3176),
    [anon_sym_break] = ACTIONS(3178),
    [anon_sym_next] = ACTIONS(3180),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(3200),
    [anon_sym_defined_QMARK] = ACTIONS(3202),
    [anon_sym_not] = ACTIONS(3204),
    [anon_sym_BANG] = ACTIONS(3206),
    [anon_sym_TILDE] = ACTIONS(3206),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [4965] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(8392),
    [sym__primary] = STATE(2082),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(2083),
    [sym_call] = STATE(2083),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(2085),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2086),
    [sym__variable] = STATE(2083),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(3162),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(3174),
    [anon_sym_yield] = ACTIONS(3176),
    [anon_sym_break] = ACTIONS(3178),
    [anon_sym_next] = ACTIONS(3180),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(3200),
    [anon_sym_defined_QMARK] = ACTIONS(3202),
    [anon_sym_not] = ACTIONS(3204),
    [anon_sym_BANG] = ACTIONS(3206),
    [anon_sym_TILDE] = ACTIONS(3206),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [4966] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(8393),
    [sym__primary] = STATE(2082),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(2083),
    [sym_call] = STATE(2083),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(2085),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2086),
    [sym__variable] = STATE(2083),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(3162),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(3174),
    [anon_sym_yield] = ACTIONS(3176),
    [anon_sym_break] = ACTIONS(3178),
    [anon_sym_next] = ACTIONS(3180),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(3200),
    [anon_sym_defined_QMARK] = ACTIONS(3202),
    [anon_sym_not] = ACTIONS(3204),
    [anon_sym_BANG] = ACTIONS(3206),
    [anon_sym_TILDE] = ACTIONS(3206),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [4967] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(8394),
    [sym__primary] = STATE(2082),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(2083),
    [sym_call] = STATE(2083),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(2085),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2086),
    [sym__variable] = STATE(2083),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(3162),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(3174),
    [anon_sym_yield] = ACTIONS(3176),
    [anon_sym_break] = ACTIONS(3178),
    [anon_sym_next] = ACTIONS(3180),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(3200),
    [anon_sym_defined_QMARK] = ACTIONS(3202),
    [anon_sym_not] = ACTIONS(3204),
    [anon_sym_BANG] = ACTIONS(3206),
    [anon_sym_TILDE] = ACTIONS(3206),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [4968] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(8395),
    [sym__primary] = STATE(2082),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(2083),
    [sym_call] = STATE(2083),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(2085),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2086),
    [sym__variable] = STATE(2083),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(3162),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(3174),
    [anon_sym_yield] = ACTIONS(3176),
    [anon_sym_break] = ACTIONS(3178),
    [anon_sym_next] = ACTIONS(3180),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(3200),
    [anon_sym_defined_QMARK] = ACTIONS(3202),
    [anon_sym_not] = ACTIONS(3204),
    [anon_sym_BANG] = ACTIONS(3206),
    [anon_sym_TILDE] = ACTIONS(3206),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [4969] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(8396),
    [sym__primary] = STATE(2082),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(2083),
    [sym_call] = STATE(2083),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(2085),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2086),
    [sym__variable] = STATE(2083),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(3162),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(3174),
    [anon_sym_yield] = ACTIONS(3176),
    [anon_sym_break] = ACTIONS(3178),
    [anon_sym_next] = ACTIONS(3180),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(3200),
    [anon_sym_defined_QMARK] = ACTIONS(3202),
    [anon_sym_not] = ACTIONS(3204),
    [anon_sym_BANG] = ACTIONS(3206),
    [anon_sym_TILDE] = ACTIONS(3206),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [4970] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(8397),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [4971] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(8398),
    [sym__primary] = STATE(2082),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(2083),
    [sym_call] = STATE(2083),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(2085),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2086),
    [sym__variable] = STATE(2083),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(3162),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(3174),
    [anon_sym_yield] = ACTIONS(3176),
    [anon_sym_break] = ACTIONS(3178),
    [anon_sym_next] = ACTIONS(3180),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(3200),
    [anon_sym_defined_QMARK] = ACTIONS(3202),
    [anon_sym_not] = ACTIONS(3204),
    [anon_sym_BANG] = ACTIONS(3206),
    [anon_sym_TILDE] = ACTIONS(3206),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [4972] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(8399),
    [sym__primary] = STATE(2082),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(2083),
    [sym_call] = STATE(2083),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(2085),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2086),
    [sym__variable] = STATE(2083),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(3162),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(3174),
    [anon_sym_yield] = ACTIONS(3176),
    [anon_sym_break] = ACTIONS(3178),
    [anon_sym_next] = ACTIONS(3180),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(3200),
    [anon_sym_defined_QMARK] = ACTIONS(3202),
    [anon_sym_not] = ACTIONS(3204),
    [anon_sym_BANG] = ACTIONS(3206),
    [anon_sym_TILDE] = ACTIONS(3206),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [4973] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(8400),
    [sym__primary] = STATE(2082),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(2083),
    [sym_call] = STATE(2083),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(2085),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2086),
    [sym__variable] = STATE(2083),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(3162),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(3174),
    [anon_sym_yield] = ACTIONS(3176),
    [anon_sym_break] = ACTIONS(3178),
    [anon_sym_next] = ACTIONS(3180),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(3200),
    [anon_sym_defined_QMARK] = ACTIONS(3202),
    [anon_sym_not] = ACTIONS(3204),
    [anon_sym_BANG] = ACTIONS(3206),
    [anon_sym_TILDE] = ACTIONS(3206),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [4974] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(8401),
    [sym__primary] = STATE(2082),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(2083),
    [sym_call] = STATE(2083),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(2085),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2086),
    [sym__variable] = STATE(2083),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(3162),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(3174),
    [anon_sym_yield] = ACTIONS(3176),
    [anon_sym_break] = ACTIONS(3178),
    [anon_sym_next] = ACTIONS(3180),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(3200),
    [anon_sym_defined_QMARK] = ACTIONS(3202),
    [anon_sym_not] = ACTIONS(3204),
    [anon_sym_BANG] = ACTIONS(3206),
    [anon_sym_TILDE] = ACTIONS(3206),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [4975] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(8402),
    [sym__primary] = STATE(2082),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(2083),
    [sym_call] = STATE(2083),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(2085),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2086),
    [sym__variable] = STATE(2083),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(3162),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(3174),
    [anon_sym_yield] = ACTIONS(3176),
    [anon_sym_break] = ACTIONS(3178),
    [anon_sym_next] = ACTIONS(3180),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(3200),
    [anon_sym_defined_QMARK] = ACTIONS(3202),
    [anon_sym_not] = ACTIONS(3204),
    [anon_sym_BANG] = ACTIONS(3206),
    [anon_sym_TILDE] = ACTIONS(3206),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [4976] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(8403),
    [sym__primary] = STATE(2082),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(2083),
    [sym_call] = STATE(2083),
    [sym_method_call] = STATE(61),
    [sym_splat_argument] = STATE(8404),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_right_assignment_list] = STATE(8405),
    [sym__arg_or_splat_arg] = STATE(8406),
    [sym_left_assignment_list] = STATE(2085),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2086),
    [sym__variable] = STATE(2083),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__splat_star] = ACTIONS(1008),
    [sym__unary_minus] = ACTIONS(3162),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(3174),
    [anon_sym_yield] = ACTIONS(3176),
    [anon_sym_break] = ACTIONS(3178),
    [anon_sym_next] = ACTIONS(3180),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(3200),
    [anon_sym_defined_QMARK] = ACTIONS(3202),
    [anon_sym_not] = ACTIONS(3204),
    [anon_sym_BANG] = ACTIONS(3206),
    [anon_sym_TILDE] = ACTIONS(3206),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [4977] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(8407),
    [sym__primary] = STATE(2082),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(2083),
    [sym_call] = STATE(2083),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(2085),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2086),
    [sym__variable] = STATE(2083),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(3162),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(3174),
    [anon_sym_yield] = ACTIONS(3176),
    [anon_sym_break] = ACTIONS(3178),
    [anon_sym_next] = ACTIONS(3180),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(3200),
    [anon_sym_defined_QMARK] = ACTIONS(3202),
    [anon_sym_not] = ACTIONS(3204),
    [anon_sym_BANG] = ACTIONS(3206),
    [anon_sym_TILDE] = ACTIONS(3206),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [4978] = {
    [sym__simple_string] = ACTIONS(3382),
    [sym__simple_heredoc_body] = ACTIONS(3382),
    [sym__string_beginning] = ACTIONS(3382),
    [sym__heredoc_body_beginning] = ACTIONS(3382),
    [sym__line_break] = ACTIONS(3382),
    [sym__element_reference_left_bracket] = ACTIONS(3382),
    [sym__scope_double_colon] = ACTIONS(3382),
    [sym__binary_minus] = ACTIONS(3382),
    [sym__binary_star] = ACTIONS(3382),
    [ts_builtin_sym_end] = ACTIONS(3382),
    [anon_sym___END__] = ACTIONS(3382),
    [anon_sym_LBRACE] = ACTIONS(3382),
    [anon_sym_RBRACE] = ACTIONS(3382),
    [anon_sym_RPAREN] = ACTIONS(3382),
    [anon_sym_DOT] = ACTIONS(3384),
    [anon_sym_end] = ACTIONS(3382),
    [anon_sym_COMMA] = ACTIONS(3382),
    [anon_sym_PIPE] = ACTIONS(3384),
    [anon_sym_SEMI] = ACTIONS(3382),
    [anon_sym_STAR_STAR] = ACTIONS(3384),
    [anon_sym_AMP] = ACTIONS(3384),
    [anon_sym_EQ] = ACTIONS(3384),
    [anon_sym_LT] = ACTIONS(3384),
    [anon_sym_if] = ACTIONS(3382),
    [anon_sym_unless] = ACTIONS(3382),
    [anon_sym_while] = ACTIONS(3382),
    [anon_sym_until] = ACTIONS(3382),
    [anon_sym_rescue] = ACTIONS(3382),
    [anon_sym_do] = ACTIONS(3382),
    [anon_sym_when] = ACTIONS(3382),
    [anon_sym_elsif] = ACTIONS(3382),
    [anon_sym_else] = ACTIONS(3382),
    [anon_sym_then] = ACTIONS(3382),
    [anon_sym_ensure] = ACTIONS(3382),
    [anon_sym_AMP_DOT] = ACTIONS(3382),
    [anon_sym_PLUS_EQ] = ACTIONS(3382),
    [anon_sym_DASH_EQ] = ACTIONS(3382),
    [anon_sym_STAR_EQ] = ACTIONS(3382),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3382),
    [anon_sym_SLASH_EQ] = ACTIONS(3382),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3382),
    [anon_sym_PIPE_EQ] = ACTIONS(3382),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3382),
    [anon_sym_AMP_EQ] = ACTIONS(3382),
    [anon_sym_PERCENT_EQ] = ACTIONS(3382),
    [anon_sym_GT_GT_EQ] = ACTIONS(3382),
    [anon_sym_LT_LT_EQ] = ACTIONS(3382),
    [anon_sym_CARET_EQ] = ACTIONS(3382),
    [anon_sym_QMARK] = ACTIONS(3384),
    [anon_sym_DOT_DOT] = ACTIONS(3384),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3382),
    [anon_sym_and] = ACTIONS(3382),
    [anon_sym_or] = ACTIONS(3382),
    [anon_sym_PIPE_PIPE] = ACTIONS(3384),
    [anon_sym_AMP_AMP] = ACTIONS(3384),
    [anon_sym_LT_LT] = ACTIONS(3384),
    [anon_sym_GT_GT] = ACTIONS(3384),
    [anon_sym_EQ_EQ] = ACTIONS(3384),
    [anon_sym_BANG_EQ] = ACTIONS(3382),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3382),
    [anon_sym_LT_EQ_GT] = ACTIONS(3382),
    [anon_sym_EQ_TILDE] = ACTIONS(3382),
    [anon_sym_BANG_TILDE] = ACTIONS(3382),
    [anon_sym_LT_EQ] = ACTIONS(3384),
    [anon_sym_GT] = ACTIONS(3384),
    [anon_sym_GT_EQ] = ACTIONS(3382),
    [anon_sym_CARET] = ACTIONS(3384),
    [anon_sym_PLUS] = ACTIONS(3384),
    [anon_sym_SLASH] = ACTIONS(3384),
    [anon_sym_PERCENT] = ACTIONS(3384),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(3384),
  },
  [4979] = {
    [sym_string] = STATE(8408),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_heredoc_body] = ACTIONS(3386),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__heredoc_body_beginning] = ACTIONS(3386),
    [sym__line_break] = ACTIONS(3386),
    [sym__element_reference_left_bracket] = ACTIONS(3386),
    [sym__scope_double_colon] = ACTIONS(3386),
    [sym__binary_minus] = ACTIONS(3386),
    [sym__binary_star] = ACTIONS(3386),
    [ts_builtin_sym_end] = ACTIONS(3386),
    [anon_sym___END__] = ACTIONS(3386),
    [anon_sym_LBRACE] = ACTIONS(3386),
    [anon_sym_RBRACE] = ACTIONS(3386),
    [anon_sym_RPAREN] = ACTIONS(3386),
    [anon_sym_DOT] = ACTIONS(3388),
    [anon_sym_end] = ACTIONS(3386),
    [anon_sym_COMMA] = ACTIONS(3386),
    [anon_sym_PIPE] = ACTIONS(3388),
    [anon_sym_SEMI] = ACTIONS(3386),
    [anon_sym_STAR_STAR] = ACTIONS(3388),
    [anon_sym_AMP] = ACTIONS(3388),
    [anon_sym_EQ] = ACTIONS(3388),
    [anon_sym_LT] = ACTIONS(3388),
    [anon_sym_if] = ACTIONS(3386),
    [anon_sym_unless] = ACTIONS(3386),
    [anon_sym_while] = ACTIONS(3386),
    [anon_sym_until] = ACTIONS(3386),
    [anon_sym_rescue] = ACTIONS(3386),
    [anon_sym_do] = ACTIONS(3386),
    [anon_sym_when] = ACTIONS(3386),
    [anon_sym_elsif] = ACTIONS(3386),
    [anon_sym_else] = ACTIONS(3386),
    [anon_sym_then] = ACTIONS(3386),
    [anon_sym_ensure] = ACTIONS(3386),
    [anon_sym_AMP_DOT] = ACTIONS(3386),
    [anon_sym_PLUS_EQ] = ACTIONS(3386),
    [anon_sym_DASH_EQ] = ACTIONS(3386),
    [anon_sym_STAR_EQ] = ACTIONS(3386),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3386),
    [anon_sym_SLASH_EQ] = ACTIONS(3386),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3386),
    [anon_sym_PIPE_EQ] = ACTIONS(3386),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3386),
    [anon_sym_AMP_EQ] = ACTIONS(3386),
    [anon_sym_PERCENT_EQ] = ACTIONS(3386),
    [anon_sym_GT_GT_EQ] = ACTIONS(3386),
    [anon_sym_LT_LT_EQ] = ACTIONS(3386),
    [anon_sym_CARET_EQ] = ACTIONS(3386),
    [anon_sym_QMARK] = ACTIONS(3388),
    [anon_sym_DOT_DOT] = ACTIONS(3388),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3386),
    [anon_sym_and] = ACTIONS(3386),
    [anon_sym_or] = ACTIONS(3386),
    [anon_sym_PIPE_PIPE] = ACTIONS(3388),
    [anon_sym_AMP_AMP] = ACTIONS(3388),
    [anon_sym_LT_LT] = ACTIONS(3388),
    [anon_sym_GT_GT] = ACTIONS(3388),
    [anon_sym_EQ_EQ] = ACTIONS(3388),
    [anon_sym_BANG_EQ] = ACTIONS(3386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3386),
    [anon_sym_LT_EQ_GT] = ACTIONS(3386),
    [anon_sym_EQ_TILDE] = ACTIONS(3386),
    [anon_sym_BANG_TILDE] = ACTIONS(3386),
    [anon_sym_LT_EQ] = ACTIONS(3388),
    [anon_sym_GT] = ACTIONS(3388),
    [anon_sym_GT_EQ] = ACTIONS(3386),
    [anon_sym_CARET] = ACTIONS(3388),
    [anon_sym_PLUS] = ACTIONS(3388),
    [anon_sym_SLASH] = ACTIONS(3388),
    [anon_sym_PERCENT] = ACTIONS(3388),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(3216),
  },
  [4980] = {
    [sym__simple_heredoc_body] = ACTIONS(9456),
    [sym__heredoc_body_beginning] = ACTIONS(9456),
    [sym__line_break] = ACTIONS(9456),
    [sym__element_reference_left_bracket] = ACTIONS(9456),
    [sym__scope_double_colon] = ACTIONS(9456),
    [sym__binary_minus] = ACTIONS(9456),
    [sym__binary_star] = ACTIONS(9456),
    [ts_builtin_sym_end] = ACTIONS(9456),
    [anon_sym___END__] = ACTIONS(9456),
    [anon_sym_LBRACE] = ACTIONS(9456),
    [anon_sym_RBRACE] = ACTIONS(9456),
    [anon_sym_RPAREN] = ACTIONS(9456),
    [anon_sym_DOT] = ACTIONS(9458),
    [anon_sym_end] = ACTIONS(9456),
    [anon_sym_COMMA] = ACTIONS(9456),
    [anon_sym_PIPE] = ACTIONS(9458),
    [anon_sym_SEMI] = ACTIONS(9456),
    [anon_sym_STAR_STAR] = ACTIONS(9458),
    [anon_sym_AMP] = ACTIONS(9458),
    [anon_sym_EQ] = ACTIONS(9458),
    [anon_sym_LT] = ACTIONS(9458),
    [anon_sym_if] = ACTIONS(9456),
    [anon_sym_unless] = ACTIONS(9456),
    [anon_sym_while] = ACTIONS(9456),
    [anon_sym_until] = ACTIONS(9456),
    [anon_sym_rescue] = ACTIONS(9456),
    [anon_sym_do] = ACTIONS(9456),
    [anon_sym_when] = ACTIONS(9456),
    [anon_sym_elsif] = ACTIONS(9456),
    [anon_sym_else] = ACTIONS(9456),
    [anon_sym_then] = ACTIONS(9456),
    [anon_sym_ensure] = ACTIONS(9456),
    [anon_sym_AMP_DOT] = ACTIONS(9456),
    [anon_sym_PLUS_EQ] = ACTIONS(9456),
    [anon_sym_DASH_EQ] = ACTIONS(9456),
    [anon_sym_STAR_EQ] = ACTIONS(9456),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9456),
    [anon_sym_SLASH_EQ] = ACTIONS(9456),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9456),
    [anon_sym_PIPE_EQ] = ACTIONS(9456),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9456),
    [anon_sym_AMP_EQ] = ACTIONS(9456),
    [anon_sym_PERCENT_EQ] = ACTIONS(9456),
    [anon_sym_GT_GT_EQ] = ACTIONS(9456),
    [anon_sym_LT_LT_EQ] = ACTIONS(9456),
    [anon_sym_CARET_EQ] = ACTIONS(9456),
    [anon_sym_QMARK] = ACTIONS(9456),
    [anon_sym_DOT_DOT] = ACTIONS(9458),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9456),
    [anon_sym_and] = ACTIONS(9456),
    [anon_sym_or] = ACTIONS(9456),
    [anon_sym_PIPE_PIPE] = ACTIONS(9458),
    [anon_sym_AMP_AMP] = ACTIONS(9458),
    [anon_sym_LT_LT] = ACTIONS(9458),
    [anon_sym_GT_GT] = ACTIONS(9458),
    [anon_sym_EQ_EQ] = ACTIONS(9458),
    [anon_sym_BANG_EQ] = ACTIONS(9456),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9456),
    [anon_sym_LT_EQ_GT] = ACTIONS(9456),
    [anon_sym_EQ_TILDE] = ACTIONS(9456),
    [anon_sym_BANG_TILDE] = ACTIONS(9456),
    [anon_sym_LT_EQ] = ACTIONS(9458),
    [anon_sym_GT] = ACTIONS(9458),
    [anon_sym_GT_EQ] = ACTIONS(9456),
    [anon_sym_CARET] = ACTIONS(9458),
    [anon_sym_PLUS] = ACTIONS(9458),
    [anon_sym_SLASH] = ACTIONS(9458),
    [anon_sym_PERCENT] = ACTIONS(9458),
    [sym_comment] = ACTIONS(256),
  },
  [4981] = {
    [anon_sym_RPAREN] = ACTIONS(11362),
    [sym_comment] = ACTIONS(110),
  },
  [4982] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(11364),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [4983] = {
    [sym__statement] = STATE(8411),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [4984] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4993),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(340),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(4994),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(2625),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2626),
    [sym__variable] = STATE(2129),
    [sym_reserved_identifier] = STATE(4995),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(4996),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(7214),
    [sym__splat_star] = ACTIONS(7216),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(3874),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(3272),
    [anon_sym_yield] = ACTIONS(3274),
    [anon_sym_break] = ACTIONS(3276),
    [anon_sym_next] = ACTIONS(3278),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(3876),
    [anon_sym_not] = ACTIONS(3878),
    [anon_sym_BANG] = ACTIONS(3880),
    [anon_sym_TILDE] = ACTIONS(3882),
    [sym_constant] = ACTIONS(7218),
    [sym_identifier] = ACTIONS(7218),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4985] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4993),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(349),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(4994),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(2625),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2626),
    [sym__variable] = STATE(2129),
    [sym_reserved_identifier] = STATE(4995),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(4996),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(7214),
    [sym__splat_star] = ACTIONS(7216),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(3874),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(3272),
    [anon_sym_yield] = ACTIONS(3274),
    [anon_sym_break] = ACTIONS(3276),
    [anon_sym_next] = ACTIONS(3278),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(3876),
    [anon_sym_not] = ACTIONS(3878),
    [anon_sym_BANG] = ACTIONS(3880),
    [anon_sym_TILDE] = ACTIONS(3882),
    [sym_constant] = ACTIONS(7218),
    [sym_identifier] = ACTIONS(7218),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4986] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4993),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(350),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(4994),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(2625),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2626),
    [sym__variable] = STATE(2129),
    [sym_reserved_identifier] = STATE(4995),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(4996),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(7214),
    [sym__splat_star] = ACTIONS(7216),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(3874),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(3272),
    [anon_sym_yield] = ACTIONS(3274),
    [anon_sym_break] = ACTIONS(3276),
    [anon_sym_next] = ACTIONS(3278),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(3876),
    [anon_sym_not] = ACTIONS(3878),
    [anon_sym_BANG] = ACTIONS(3880),
    [anon_sym_TILDE] = ACTIONS(3882),
    [sym_constant] = ACTIONS(7218),
    [sym_identifier] = ACTIONS(7218),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4987] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4993),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(351),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(4994),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(2625),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2626),
    [sym__variable] = STATE(2129),
    [sym_reserved_identifier] = STATE(4995),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(4996),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(7214),
    [sym__splat_star] = ACTIONS(7216),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(3874),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(3272),
    [anon_sym_yield] = ACTIONS(3274),
    [anon_sym_break] = ACTIONS(3276),
    [anon_sym_next] = ACTIONS(3278),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(3876),
    [anon_sym_not] = ACTIONS(3878),
    [anon_sym_BANG] = ACTIONS(3880),
    [anon_sym_TILDE] = ACTIONS(3882),
    [sym_constant] = ACTIONS(7218),
    [sym_identifier] = ACTIONS(7218),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4988] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_RBRACE] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(7228),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_if] = ACTIONS(1372),
    [anon_sym_unless] = ACTIONS(1372),
    [anon_sym_while] = ACTIONS(1372),
    [anon_sym_until] = ACTIONS(1372),
    [anon_sym_rescue] = ACTIONS(1372),
    [anon_sym_EQ_GT] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [4989] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8412),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(2625),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2626),
    [sym__variable] = STATE(2129),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3874),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(7204),
    [anon_sym_yield] = ACTIONS(7206),
    [anon_sym_break] = ACTIONS(7208),
    [anon_sym_next] = ACTIONS(7210),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7708),
    [anon_sym_defined_QMARK] = ACTIONS(3876),
    [anon_sym_not] = ACTIONS(7710),
    [anon_sym_BANG] = ACTIONS(3882),
    [anon_sym_TILDE] = ACTIONS(3882),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4990] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8413),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(2625),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2626),
    [sym__variable] = STATE(2129),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3874),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(7204),
    [anon_sym_yield] = ACTIONS(7206),
    [anon_sym_break] = ACTIONS(7208),
    [anon_sym_next] = ACTIONS(7210),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7708),
    [anon_sym_defined_QMARK] = ACTIONS(3876),
    [anon_sym_not] = ACTIONS(7710),
    [anon_sym_BANG] = ACTIONS(3882),
    [anon_sym_TILDE] = ACTIONS(3882),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4991] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8414),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(2625),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2626),
    [sym__variable] = STATE(2129),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3874),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(7204),
    [anon_sym_yield] = ACTIONS(7206),
    [anon_sym_break] = ACTIONS(7208),
    [anon_sym_next] = ACTIONS(7210),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7708),
    [anon_sym_defined_QMARK] = ACTIONS(3876),
    [anon_sym_not] = ACTIONS(7710),
    [anon_sym_BANG] = ACTIONS(3882),
    [anon_sym_TILDE] = ACTIONS(3882),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [4992] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(11366),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_RBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [4993] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__line_break] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(7714),
    [sym__binary_star] = ACTIONS(7716),
    [anon_sym_RBRACE] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(7718),
    [anon_sym_SEMI] = ACTIONS(2210),
    [anon_sym_STAR_STAR] = ACTIONS(7720),
    [anon_sym_AMP] = ACTIONS(7722),
    [anon_sym_LT] = ACTIONS(7724),
    [anon_sym_if] = ACTIONS(2210),
    [anon_sym_unless] = ACTIONS(2210),
    [anon_sym_while] = ACTIONS(2210),
    [anon_sym_until] = ACTIONS(2210),
    [anon_sym_rescue] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(7726),
    [anon_sym_DOT_DOT] = ACTIONS(7728),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7730),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(7732),
    [anon_sym_AMP_AMP] = ACTIONS(7732),
    [anon_sym_LT_LT] = ACTIONS(7734),
    [anon_sym_GT_GT] = ACTIONS(7734),
    [anon_sym_EQ_EQ] = ACTIONS(7736),
    [anon_sym_BANG_EQ] = ACTIONS(7732),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7732),
    [anon_sym_LT_EQ_GT] = ACTIONS(7732),
    [anon_sym_EQ_TILDE] = ACTIONS(7732),
    [anon_sym_BANG_TILDE] = ACTIONS(7732),
    [anon_sym_LT_EQ] = ACTIONS(7724),
    [anon_sym_GT] = ACTIONS(7724),
    [anon_sym_GT_EQ] = ACTIONS(7738),
    [anon_sym_CARET] = ACTIONS(7740),
    [anon_sym_PLUS] = ACTIONS(7742),
    [anon_sym_SLASH] = ACTIONS(7720),
    [anon_sym_PERCENT] = ACTIONS(7720),
    [sym_comment] = ACTIONS(110),
  },
  [4994] = {
    [sym_heredoc_end] = STATE(1444),
    [aux_sym_argument_list_repeat1] = STATE(8417),
    [aux_sym_argument_list_repeat2] = STATE(1445),
    [sym__simple_heredoc_body] = ACTIONS(2268),
    [sym__heredoc_body_beginning] = ACTIONS(2270),
    [sym__line_break] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_RBRACE] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(11368),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_STAR_STAR] = ACTIONS(2272),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_if] = ACTIONS(2272),
    [anon_sym_unless] = ACTIONS(2272),
    [anon_sym_while] = ACTIONS(2272),
    [anon_sym_until] = ACTIONS(2272),
    [anon_sym_rescue] = ACTIONS(2272),
    [anon_sym_EQ_GT] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2272),
    [anon_sym_AMP_AMP] = ACTIONS(2272),
    [anon_sym_LT_LT] = ACTIONS(2272),
    [anon_sym_GT_GT] = ACTIONS(2272),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2272),
    [anon_sym_PLUS] = ACTIONS(2272),
    [anon_sym_SLASH] = ACTIONS(2272),
    [anon_sym_PERCENT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(110),
  },
  [4995] = {
    [sym__keyword_colon] = ACTIONS(11370),
    [sym_comment] = ACTIONS(110),
  },
  [4996] = {
    [sym_string] = STATE(611),
    [aux_sym_chained_string_repeat1] = STATE(612),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(20),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(11366),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_RBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(120),
  },
  [4997] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_RBRACE] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(7228),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [4998] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(7222),
    [sym__binary_star] = ACTIONS(7224),
    [anon_sym_RBRACE] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(7226),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(7228),
    [anon_sym_AMP] = ACTIONS(7230),
    [anon_sym_LT] = ACTIONS(7232),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(7234),
    [anon_sym_DOT_DOT] = ACTIONS(7236),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7238),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(7242),
    [anon_sym_AMP_AMP] = ACTIONS(7242),
    [anon_sym_LT_LT] = ACTIONS(7244),
    [anon_sym_GT_GT] = ACTIONS(7244),
    [anon_sym_EQ_EQ] = ACTIONS(7246),
    [anon_sym_BANG_EQ] = ACTIONS(7242),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7242),
    [anon_sym_LT_EQ_GT] = ACTIONS(7242),
    [anon_sym_EQ_TILDE] = ACTIONS(7242),
    [anon_sym_BANG_TILDE] = ACTIONS(7242),
    [anon_sym_LT_EQ] = ACTIONS(7232),
    [anon_sym_GT] = ACTIONS(7232),
    [anon_sym_GT_EQ] = ACTIONS(7248),
    [anon_sym_CARET] = ACTIONS(7250),
    [anon_sym_PLUS] = ACTIONS(7252),
    [anon_sym_SLASH] = ACTIONS(7228),
    [anon_sym_PERCENT] = ACTIONS(7228),
    [sym_comment] = ACTIONS(110),
  },
  [4999] = {
    [sym__simple_heredoc_body] = ACTIONS(11064),
    [sym__heredoc_body_beginning] = ACTIONS(11064),
    [sym__line_break] = ACTIONS(11064),
    [sym__element_reference_left_bracket] = ACTIONS(11064),
    [sym__scope_double_colon] = ACTIONS(11064),
    [sym__binary_minus] = ACTIONS(11064),
    [sym__binary_star] = ACTIONS(11064),
    [ts_builtin_sym_end] = ACTIONS(11064),
    [anon_sym___END__] = ACTIONS(11064),
    [anon_sym_LBRACE] = ACTIONS(11064),
    [anon_sym_RBRACE] = ACTIONS(11064),
    [anon_sym_RPAREN] = ACTIONS(11064),
    [anon_sym_DOT] = ACTIONS(11066),
    [anon_sym_end] = ACTIONS(11064),
    [anon_sym_COMMA] = ACTIONS(11064),
    [anon_sym_PIPE] = ACTIONS(11066),
    [anon_sym_SEMI] = ACTIONS(11064),
    [anon_sym_STAR_STAR] = ACTIONS(11066),
    [anon_sym_AMP] = ACTIONS(11066),
    [anon_sym_EQ] = ACTIONS(11066),
    [anon_sym_LT] = ACTIONS(11066),
    [anon_sym_if] = ACTIONS(11064),
    [anon_sym_unless] = ACTIONS(11064),
    [anon_sym_while] = ACTIONS(11064),
    [anon_sym_until] = ACTIONS(11064),
    [anon_sym_rescue] = ACTIONS(11064),
    [anon_sym_do] = ACTIONS(11064),
    [anon_sym_when] = ACTIONS(11064),
    [anon_sym_elsif] = ACTIONS(11064),
    [anon_sym_else] = ACTIONS(11064),
    [anon_sym_then] = ACTIONS(11064),
    [anon_sym_ensure] = ACTIONS(11064),
    [anon_sym_AMP_DOT] = ACTIONS(11064),
    [anon_sym_PLUS_EQ] = ACTIONS(11064),
    [anon_sym_DASH_EQ] = ACTIONS(11064),
    [anon_sym_STAR_EQ] = ACTIONS(11064),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(11064),
    [anon_sym_SLASH_EQ] = ACTIONS(11064),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(11064),
    [anon_sym_PIPE_EQ] = ACTIONS(11064),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(11064),
    [anon_sym_AMP_EQ] = ACTIONS(11064),
    [anon_sym_PERCENT_EQ] = ACTIONS(11064),
    [anon_sym_GT_GT_EQ] = ACTIONS(11064),
    [anon_sym_LT_LT_EQ] = ACTIONS(11064),
    [anon_sym_CARET_EQ] = ACTIONS(11064),
    [anon_sym_QMARK] = ACTIONS(11064),
    [anon_sym_DOT_DOT] = ACTIONS(11066),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11064),
    [anon_sym_and] = ACTIONS(11064),
    [anon_sym_or] = ACTIONS(11064),
    [anon_sym_PIPE_PIPE] = ACTIONS(11066),
    [anon_sym_AMP_AMP] = ACTIONS(11066),
    [anon_sym_LT_LT] = ACTIONS(11066),
    [anon_sym_GT_GT] = ACTIONS(11066),
    [anon_sym_EQ_EQ] = ACTIONS(11066),
    [anon_sym_BANG_EQ] = ACTIONS(11064),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11064),
    [anon_sym_LT_EQ_GT] = ACTIONS(11064),
    [anon_sym_EQ_TILDE] = ACTIONS(11064),
    [anon_sym_BANG_TILDE] = ACTIONS(11064),
    [anon_sym_LT_EQ] = ACTIONS(11066),
    [anon_sym_GT] = ACTIONS(11066),
    [anon_sym_GT_EQ] = ACTIONS(11064),
    [anon_sym_CARET] = ACTIONS(11066),
    [anon_sym_PLUS] = ACTIONS(11066),
    [anon_sym_SLASH] = ACTIONS(11066),
    [anon_sym_PERCENT] = ACTIONS(11066),
    [sym_comment] = ACTIONS(256),
  },
  [5000] = {
    [anon_sym_RBRACE] = ACTIONS(11372),
    [sym_comment] = ACTIONS(110),
  },
  [5001] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8420),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(2130),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2131),
    [sym__variable] = STATE(2129),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3268),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(7204),
    [anon_sym_yield] = ACTIONS(7206),
    [anon_sym_break] = ACTIONS(7208),
    [anon_sym_next] = ACTIONS(7210),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(3280),
    [anon_sym_defined_QMARK] = ACTIONS(3282),
    [anon_sym_not] = ACTIONS(7212),
    [anon_sym_BANG] = ACTIONS(3286),
    [anon_sym_TILDE] = ACTIONS(3286),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5002] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8421),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(2130),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2131),
    [sym__variable] = STATE(2129),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3268),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(7204),
    [anon_sym_yield] = ACTIONS(7206),
    [anon_sym_break] = ACTIONS(7208),
    [anon_sym_next] = ACTIONS(7210),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(3280),
    [anon_sym_defined_QMARK] = ACTIONS(3282),
    [anon_sym_not] = ACTIONS(7212),
    [anon_sym_BANG] = ACTIONS(3286),
    [anon_sym_TILDE] = ACTIONS(3286),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5003] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8422),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(2130),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2131),
    [sym__variable] = STATE(2129),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3268),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(7204),
    [anon_sym_yield] = ACTIONS(7206),
    [anon_sym_break] = ACTIONS(7208),
    [anon_sym_next] = ACTIONS(7210),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(3280),
    [anon_sym_defined_QMARK] = ACTIONS(3282),
    [anon_sym_not] = ACTIONS(7212),
    [anon_sym_BANG] = ACTIONS(3286),
    [anon_sym_TILDE] = ACTIONS(3286),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5004] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8423),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(2130),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2131),
    [sym__variable] = STATE(2129),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3268),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(7204),
    [anon_sym_yield] = ACTIONS(7206),
    [anon_sym_break] = ACTIONS(7208),
    [anon_sym_next] = ACTIONS(7210),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(3280),
    [anon_sym_defined_QMARK] = ACTIONS(3282),
    [anon_sym_not] = ACTIONS(7212),
    [anon_sym_BANG] = ACTIONS(3286),
    [anon_sym_TILDE] = ACTIONS(3286),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5005] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8424),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(2130),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2131),
    [sym__variable] = STATE(2129),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3268),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(7204),
    [anon_sym_yield] = ACTIONS(7206),
    [anon_sym_break] = ACTIONS(7208),
    [anon_sym_next] = ACTIONS(7210),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(3280),
    [anon_sym_defined_QMARK] = ACTIONS(3282),
    [anon_sym_not] = ACTIONS(7212),
    [anon_sym_BANG] = ACTIONS(3286),
    [anon_sym_TILDE] = ACTIONS(3286),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5006] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8425),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(2130),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2131),
    [sym__variable] = STATE(2129),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3268),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(7204),
    [anon_sym_yield] = ACTIONS(7206),
    [anon_sym_break] = ACTIONS(7208),
    [anon_sym_next] = ACTIONS(7210),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(3280),
    [anon_sym_defined_QMARK] = ACTIONS(3282),
    [anon_sym_not] = ACTIONS(7212),
    [anon_sym_BANG] = ACTIONS(3286),
    [anon_sym_TILDE] = ACTIONS(3286),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5007] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(8426),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [5008] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8427),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(2130),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2131),
    [sym__variable] = STATE(2129),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3268),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(7204),
    [anon_sym_yield] = ACTIONS(7206),
    [anon_sym_break] = ACTIONS(7208),
    [anon_sym_next] = ACTIONS(7210),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(3280),
    [anon_sym_defined_QMARK] = ACTIONS(3282),
    [anon_sym_not] = ACTIONS(7212),
    [anon_sym_BANG] = ACTIONS(3286),
    [anon_sym_TILDE] = ACTIONS(3286),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5009] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8428),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(2130),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2131),
    [sym__variable] = STATE(2129),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3268),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(7204),
    [anon_sym_yield] = ACTIONS(7206),
    [anon_sym_break] = ACTIONS(7208),
    [anon_sym_next] = ACTIONS(7210),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(3280),
    [anon_sym_defined_QMARK] = ACTIONS(3282),
    [anon_sym_not] = ACTIONS(7212),
    [anon_sym_BANG] = ACTIONS(3286),
    [anon_sym_TILDE] = ACTIONS(3286),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5010] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8429),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(2130),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2131),
    [sym__variable] = STATE(2129),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3268),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(7204),
    [anon_sym_yield] = ACTIONS(7206),
    [anon_sym_break] = ACTIONS(7208),
    [anon_sym_next] = ACTIONS(7210),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(3280),
    [anon_sym_defined_QMARK] = ACTIONS(3282),
    [anon_sym_not] = ACTIONS(7212),
    [anon_sym_BANG] = ACTIONS(3286),
    [anon_sym_TILDE] = ACTIONS(3286),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5011] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8430),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(2130),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2131),
    [sym__variable] = STATE(2129),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3268),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(7204),
    [anon_sym_yield] = ACTIONS(7206),
    [anon_sym_break] = ACTIONS(7208),
    [anon_sym_next] = ACTIONS(7210),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(3280),
    [anon_sym_defined_QMARK] = ACTIONS(3282),
    [anon_sym_not] = ACTIONS(7212),
    [anon_sym_BANG] = ACTIONS(3286),
    [anon_sym_TILDE] = ACTIONS(3286),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5012] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8431),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(2130),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2131),
    [sym__variable] = STATE(2129),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3268),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(7204),
    [anon_sym_yield] = ACTIONS(7206),
    [anon_sym_break] = ACTIONS(7208),
    [anon_sym_next] = ACTIONS(7210),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(3280),
    [anon_sym_defined_QMARK] = ACTIONS(3282),
    [anon_sym_not] = ACTIONS(7212),
    [anon_sym_BANG] = ACTIONS(3286),
    [anon_sym_TILDE] = ACTIONS(3286),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5013] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(8432),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2665),
    [sym_call] = STATE(2665),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(2667),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2668),
    [sym__variable] = STATE(2665),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(3934),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(7774),
    [anon_sym_yield] = ACTIONS(7776),
    [anon_sym_break] = ACTIONS(7778),
    [anon_sym_next] = ACTIONS(7780),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(7782),
    [anon_sym_defined_QMARK] = ACTIONS(3944),
    [anon_sym_not] = ACTIONS(7784),
    [anon_sym_BANG] = ACTIONS(3950),
    [anon_sym_TILDE] = ACTIONS(3950),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [5014] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(8433),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2665),
    [sym_call] = STATE(2665),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(2667),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2668),
    [sym__variable] = STATE(2665),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(3934),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(7774),
    [anon_sym_yield] = ACTIONS(7776),
    [anon_sym_break] = ACTIONS(7778),
    [anon_sym_next] = ACTIONS(7780),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(7782),
    [anon_sym_defined_QMARK] = ACTIONS(3944),
    [anon_sym_not] = ACTIONS(7784),
    [anon_sym_BANG] = ACTIONS(3950),
    [anon_sym_TILDE] = ACTIONS(3950),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [5015] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(8434),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2665),
    [sym_call] = STATE(2665),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(2667),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2668),
    [sym__variable] = STATE(2665),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(3934),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(7774),
    [anon_sym_yield] = ACTIONS(7776),
    [anon_sym_break] = ACTIONS(7778),
    [anon_sym_next] = ACTIONS(7780),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(7782),
    [anon_sym_defined_QMARK] = ACTIONS(3944),
    [anon_sym_not] = ACTIONS(7784),
    [anon_sym_BANG] = ACTIONS(3950),
    [anon_sym_TILDE] = ACTIONS(3950),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [5016] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(11374),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_RBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [5017] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__line_break] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(7788),
    [sym__binary_star] = ACTIONS(7790),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_RBRACE] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(7792),
    [anon_sym_SEMI] = ACTIONS(2210),
    [anon_sym_STAR_STAR] = ACTIONS(7794),
    [anon_sym_AMP] = ACTIONS(7796),
    [anon_sym_EQ] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(7798),
    [anon_sym_if] = ACTIONS(2210),
    [anon_sym_unless] = ACTIONS(2210),
    [anon_sym_while] = ACTIONS(2210),
    [anon_sym_until] = ACTIONS(2210),
    [anon_sym_rescue] = ACTIONS(2210),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_PLUS_EQ] = ACTIONS(2210),
    [anon_sym_DASH_EQ] = ACTIONS(2210),
    [anon_sym_STAR_EQ] = ACTIONS(2210),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2210),
    [anon_sym_SLASH_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2210),
    [anon_sym_AMP_EQ] = ACTIONS(2210),
    [anon_sym_PERCENT_EQ] = ACTIONS(2210),
    [anon_sym_GT_GT_EQ] = ACTIONS(2210),
    [anon_sym_LT_LT_EQ] = ACTIONS(2210),
    [anon_sym_CARET_EQ] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(7800),
    [anon_sym_DOT_DOT] = ACTIONS(7802),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7804),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(7806),
    [anon_sym_AMP_AMP] = ACTIONS(7806),
    [anon_sym_LT_LT] = ACTIONS(7808),
    [anon_sym_GT_GT] = ACTIONS(7808),
    [anon_sym_EQ_EQ] = ACTIONS(7806),
    [anon_sym_BANG_EQ] = ACTIONS(7810),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7810),
    [anon_sym_LT_EQ_GT] = ACTIONS(7810),
    [anon_sym_EQ_TILDE] = ACTIONS(7810),
    [anon_sym_BANG_TILDE] = ACTIONS(7810),
    [anon_sym_LT_EQ] = ACTIONS(7798),
    [anon_sym_GT] = ACTIONS(7798),
    [anon_sym_GT_EQ] = ACTIONS(7812),
    [anon_sym_CARET] = ACTIONS(7792),
    [anon_sym_PLUS] = ACTIONS(7814),
    [anon_sym_SLASH] = ACTIONS(7794),
    [anon_sym_PERCENT] = ACTIONS(7794),
    [sym_comment] = ACTIONS(256),
  },
  [5018] = {
    [sym_heredoc_end] = STATE(3770),
    [aux_sym_argument_list_repeat1] = STATE(8437),
    [aux_sym_argument_list_repeat2] = STATE(3771),
    [sym__simple_heredoc_body] = ACTIONS(5460),
    [sym__heredoc_body_beginning] = ACTIONS(5462),
    [sym__line_break] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_RBRACE] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(11376),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_STAR_STAR] = ACTIONS(2274),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_EQ] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_if] = ACTIONS(2272),
    [anon_sym_unless] = ACTIONS(2272),
    [anon_sym_while] = ACTIONS(2272),
    [anon_sym_until] = ACTIONS(2272),
    [anon_sym_rescue] = ACTIONS(2272),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_EQ_GT] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_PLUS_EQ] = ACTIONS(2272),
    [anon_sym_DASH_EQ] = ACTIONS(2272),
    [anon_sym_STAR_EQ] = ACTIONS(2272),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2272),
    [anon_sym_SLASH_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2272),
    [anon_sym_AMP_EQ] = ACTIONS(2272),
    [anon_sym_PERCENT_EQ] = ACTIONS(2272),
    [anon_sym_GT_GT_EQ] = ACTIONS(2272),
    [anon_sym_LT_LT_EQ] = ACTIONS(2272),
    [anon_sym_CARET_EQ] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2274),
    [anon_sym_AMP_AMP] = ACTIONS(2274),
    [anon_sym_LT_LT] = ACTIONS(2274),
    [anon_sym_GT_GT] = ACTIONS(2274),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2274),
    [anon_sym_PLUS] = ACTIONS(2274),
    [anon_sym_SLASH] = ACTIONS(2274),
    [anon_sym_PERCENT] = ACTIONS(2274),
    [sym_comment] = ACTIONS(256),
  },
  [5019] = {
    [sym__keyword_colon] = ACTIONS(11378),
    [sym_comment] = ACTIONS(110),
  },
  [5020] = {
    [sym_string] = STATE(2203),
    [aux_sym_chained_string_repeat1] = STATE(2204),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(11374),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_RBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(3266),
  },
  [5021] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8444),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_splat_argument] = STATE(2211),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_right_assignment_list] = STATE(2212),
    [sym__arg_or_splat_arg] = STATE(8445),
    [sym_left_assignment_list] = STATE(8446),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(8447),
    [sym__variable] = STATE(2129),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(11380),
    [sym__unary_minus] = ACTIONS(11382),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(7204),
    [anon_sym_yield] = ACTIONS(7206),
    [anon_sym_break] = ACTIONS(7208),
    [anon_sym_next] = ACTIONS(7210),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(11384),
    [anon_sym_defined_QMARK] = ACTIONS(11386),
    [anon_sym_not] = ACTIONS(11388),
    [anon_sym_BANG] = ACTIONS(11390),
    [anon_sym_TILDE] = ACTIONS(11390),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5022] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8448),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(2130),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2131),
    [sym__variable] = STATE(2129),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3268),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(7204),
    [anon_sym_yield] = ACTIONS(7206),
    [anon_sym_break] = ACTIONS(7208),
    [anon_sym_next] = ACTIONS(7210),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(3280),
    [anon_sym_defined_QMARK] = ACTIONS(3282),
    [anon_sym_not] = ACTIONS(7212),
    [anon_sym_BANG] = ACTIONS(3286),
    [anon_sym_TILDE] = ACTIONS(3286),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5023] = {
    [sym__simple_heredoc_body] = ACTIONS(4578),
    [sym__heredoc_body_beginning] = ACTIONS(4578),
    [sym__line_break] = ACTIONS(4578),
    [sym__element_reference_left_bracket] = ACTIONS(4578),
    [sym__scope_double_colon] = ACTIONS(4578),
    [sym__binary_minus] = ACTIONS(4578),
    [sym__binary_star] = ACTIONS(4578),
    [ts_builtin_sym_end] = ACTIONS(4578),
    [anon_sym___END__] = ACTIONS(4578),
    [anon_sym_LBRACE] = ACTIONS(4578),
    [anon_sym_RBRACE] = ACTIONS(4578),
    [anon_sym_RPAREN] = ACTIONS(4578),
    [anon_sym_DOT] = ACTIONS(4580),
    [anon_sym_end] = ACTIONS(4578),
    [anon_sym_COMMA] = ACTIONS(4578),
    [anon_sym_PIPE] = ACTIONS(4580),
    [anon_sym_SEMI] = ACTIONS(4578),
    [anon_sym_STAR_STAR] = ACTIONS(4580),
    [anon_sym_AMP] = ACTIONS(4580),
    [anon_sym_EQ] = ACTIONS(4580),
    [anon_sym_LT] = ACTIONS(4580),
    [anon_sym_if] = ACTIONS(4578),
    [anon_sym_unless] = ACTIONS(4578),
    [anon_sym_while] = ACTIONS(4578),
    [anon_sym_until] = ACTIONS(4578),
    [anon_sym_rescue] = ACTIONS(4578),
    [anon_sym_do] = ACTIONS(4578),
    [anon_sym_when] = ACTIONS(4578),
    [anon_sym_elsif] = ACTIONS(4578),
    [anon_sym_else] = ACTIONS(4578),
    [anon_sym_then] = ACTIONS(4578),
    [anon_sym_ensure] = ACTIONS(4578),
    [anon_sym_EQ_GT] = ACTIONS(4578),
    [anon_sym_AMP_DOT] = ACTIONS(4578),
    [anon_sym_PLUS_EQ] = ACTIONS(4578),
    [anon_sym_DASH_EQ] = ACTIONS(4578),
    [anon_sym_STAR_EQ] = ACTIONS(4578),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(4578),
    [anon_sym_SLASH_EQ] = ACTIONS(4578),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(4578),
    [anon_sym_PIPE_EQ] = ACTIONS(4578),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(4578),
    [anon_sym_AMP_EQ] = ACTIONS(4578),
    [anon_sym_PERCENT_EQ] = ACTIONS(4578),
    [anon_sym_GT_GT_EQ] = ACTIONS(4578),
    [anon_sym_LT_LT_EQ] = ACTIONS(4578),
    [anon_sym_CARET_EQ] = ACTIONS(4578),
    [anon_sym_QMARK] = ACTIONS(4578),
    [anon_sym_DOT_DOT] = ACTIONS(4580),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4578),
    [anon_sym_and] = ACTIONS(4578),
    [anon_sym_or] = ACTIONS(4578),
    [anon_sym_PIPE_PIPE] = ACTIONS(4580),
    [anon_sym_AMP_AMP] = ACTIONS(4580),
    [anon_sym_LT_LT] = ACTIONS(4580),
    [anon_sym_GT_GT] = ACTIONS(4580),
    [anon_sym_EQ_EQ] = ACTIONS(4580),
    [anon_sym_BANG_EQ] = ACTIONS(4578),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4578),
    [anon_sym_LT_EQ_GT] = ACTIONS(4578),
    [anon_sym_EQ_TILDE] = ACTIONS(4578),
    [anon_sym_BANG_TILDE] = ACTIONS(4578),
    [anon_sym_LT_EQ] = ACTIONS(4580),
    [anon_sym_GT] = ACTIONS(4580),
    [anon_sym_GT_EQ] = ACTIONS(4578),
    [anon_sym_CARET] = ACTIONS(4580),
    [anon_sym_PLUS] = ACTIONS(4580),
    [anon_sym_SLASH] = ACTIONS(4580),
    [anon_sym_PERCENT] = ACTIONS(4580),
    [sym_comment] = ACTIONS(256),
  },
  [5024] = {
    [anon_sym_RBRACE] = ACTIONS(11392),
    [sym_comment] = ACTIONS(110),
  },
  [5025] = {
    [sym__binary_minus] = ACTIONS(4614),
    [sym__binary_star] = ACTIONS(4616),
    [anon_sym_RPAREN] = ACTIONS(11394),
    [anon_sym_PIPE] = ACTIONS(4620),
    [anon_sym_STAR_STAR] = ACTIONS(4622),
    [anon_sym_AMP] = ACTIONS(4624),
    [anon_sym_LT] = ACTIONS(4626),
    [anon_sym_QMARK] = ACTIONS(4628),
    [anon_sym_DOT_DOT] = ACTIONS(4630),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4632),
    [anon_sym_and] = ACTIONS(4634),
    [anon_sym_or] = ACTIONS(4634),
    [anon_sym_PIPE_PIPE] = ACTIONS(4636),
    [anon_sym_AMP_AMP] = ACTIONS(4636),
    [anon_sym_LT_LT] = ACTIONS(4638),
    [anon_sym_GT_GT] = ACTIONS(4638),
    [anon_sym_EQ_EQ] = ACTIONS(4640),
    [anon_sym_BANG_EQ] = ACTIONS(4636),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4636),
    [anon_sym_LT_EQ_GT] = ACTIONS(4636),
    [anon_sym_EQ_TILDE] = ACTIONS(4636),
    [anon_sym_BANG_TILDE] = ACTIONS(4636),
    [anon_sym_LT_EQ] = ACTIONS(4626),
    [anon_sym_GT] = ACTIONS(4626),
    [anon_sym_GT_EQ] = ACTIONS(4642),
    [anon_sym_CARET] = ACTIONS(4644),
    [anon_sym_PLUS] = ACTIONS(4646),
    [anon_sym_SLASH] = ACTIONS(4622),
    [anon_sym_PERCENT] = ACTIONS(4622),
    [sym_comment] = ACTIONS(110),
  },
  [5026] = {
    [sym__method_rest] = STATE(8451),
    [sym_operator] = STATE(217),
    [sym__method_name] = STATE(2138),
    [sym_setter] = STATE(217),
    [sym_symbol] = STATE(217),
    [sym__simple_symbol] = ACTIONS(378),
    [sym__symbol_beginning] = ACTIONS(380),
    [anon_sym_PIPE] = ACTIONS(384),
    [anon_sym_STAR] = ACTIONS(386),
    [anon_sym_STAR_STAR] = ACTIONS(384),
    [anon_sym_AMP] = ACTIONS(384),
    [anon_sym_LT] = ACTIONS(386),
    [anon_sym_DOT_DOT] = ACTIONS(384),
    [anon_sym_LT_LT] = ACTIONS(384),
    [anon_sym_GT_GT] = ACTIONS(384),
    [anon_sym_EQ_EQ] = ACTIONS(386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(384),
    [anon_sym_LT_EQ_GT] = ACTIONS(384),
    [anon_sym_EQ_TILDE] = ACTIONS(384),
    [anon_sym_BANG_TILDE] = ACTIONS(384),
    [anon_sym_LT_EQ] = ACTIONS(386),
    [anon_sym_GT] = ACTIONS(386),
    [anon_sym_GT_EQ] = ACTIONS(384),
    [anon_sym_CARET] = ACTIONS(384),
    [anon_sym_PLUS] = ACTIONS(386),
    [anon_sym_SLASH] = ACTIONS(384),
    [anon_sym_PERCENT] = ACTIONS(384),
    [anon_sym_BANG] = ACTIONS(386),
    [anon_sym_TILDE] = ACTIONS(384),
    [sym_constant] = ACTIONS(4694),
    [sym_identifier] = ACTIONS(4696),
    [sym_instance_variable] = ACTIONS(4694),
    [sym_class_variable] = ACTIONS(4694),
    [sym_global_variable] = ACTIONS(4694),
    [anon_sym_DASH] = ACTIONS(386),
    [anon_sym_PLUS_AT] = ACTIONS(384),
    [anon_sym_DASH_AT] = ACTIONS(384),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(386),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(384),
    [anon_sym_BQUOTE] = ACTIONS(384),
    [sym_comment] = ACTIONS(110),
  },
  [5027] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(8453),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11396),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5028] = {
    [sym__simple_heredoc_body] = ACTIONS(4826),
    [sym__heredoc_body_beginning] = ACTIONS(4826),
    [sym__line_break] = ACTIONS(4826),
    [sym__element_reference_left_bracket] = ACTIONS(4826),
    [sym__scope_double_colon] = ACTIONS(4826),
    [sym__binary_minus] = ACTIONS(4826),
    [sym__binary_star] = ACTIONS(4826),
    [ts_builtin_sym_end] = ACTIONS(4826),
    [anon_sym___END__] = ACTIONS(4826),
    [anon_sym_LBRACE] = ACTIONS(4826),
    [anon_sym_RBRACE] = ACTIONS(4826),
    [anon_sym_RPAREN] = ACTIONS(4826),
    [anon_sym_DOT] = ACTIONS(4828),
    [anon_sym_end] = ACTIONS(4826),
    [anon_sym_COMMA] = ACTIONS(4826),
    [anon_sym_PIPE] = ACTIONS(4828),
    [anon_sym_SEMI] = ACTIONS(4826),
    [anon_sym_STAR_STAR] = ACTIONS(4828),
    [anon_sym_AMP] = ACTIONS(4828),
    [anon_sym_EQ] = ACTIONS(4828),
    [anon_sym_LT] = ACTIONS(4828),
    [anon_sym_if] = ACTIONS(4826),
    [anon_sym_unless] = ACTIONS(4826),
    [anon_sym_while] = ACTIONS(4826),
    [anon_sym_until] = ACTIONS(4826),
    [anon_sym_rescue] = ACTIONS(4826),
    [anon_sym_do] = ACTIONS(4826),
    [anon_sym_when] = ACTIONS(4826),
    [anon_sym_elsif] = ACTIONS(4826),
    [anon_sym_else] = ACTIONS(4826),
    [anon_sym_then] = ACTIONS(4826),
    [anon_sym_ensure] = ACTIONS(4826),
    [anon_sym_EQ_GT] = ACTIONS(4826),
    [anon_sym_AMP_DOT] = ACTIONS(4826),
    [anon_sym_PLUS_EQ] = ACTIONS(4826),
    [anon_sym_DASH_EQ] = ACTIONS(4826),
    [anon_sym_STAR_EQ] = ACTIONS(4826),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(4826),
    [anon_sym_SLASH_EQ] = ACTIONS(4826),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(4826),
    [anon_sym_PIPE_EQ] = ACTIONS(4826),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(4826),
    [anon_sym_AMP_EQ] = ACTIONS(4826),
    [anon_sym_PERCENT_EQ] = ACTIONS(4826),
    [anon_sym_GT_GT_EQ] = ACTIONS(4826),
    [anon_sym_LT_LT_EQ] = ACTIONS(4826),
    [anon_sym_CARET_EQ] = ACTIONS(4826),
    [anon_sym_QMARK] = ACTIONS(4826),
    [anon_sym_DOT_DOT] = ACTIONS(4828),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4826),
    [anon_sym_and] = ACTIONS(4826),
    [anon_sym_or] = ACTIONS(4826),
    [anon_sym_PIPE_PIPE] = ACTIONS(4828),
    [anon_sym_AMP_AMP] = ACTIONS(4828),
    [anon_sym_LT_LT] = ACTIONS(4828),
    [anon_sym_GT_GT] = ACTIONS(4828),
    [anon_sym_EQ_EQ] = ACTIONS(4828),
    [anon_sym_BANG_EQ] = ACTIONS(4826),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4826),
    [anon_sym_LT_EQ_GT] = ACTIONS(4826),
    [anon_sym_EQ_TILDE] = ACTIONS(4826),
    [anon_sym_BANG_TILDE] = ACTIONS(4826),
    [anon_sym_LT_EQ] = ACTIONS(4828),
    [anon_sym_GT] = ACTIONS(4828),
    [anon_sym_GT_EQ] = ACTIONS(4826),
    [anon_sym_CARET] = ACTIONS(4828),
    [anon_sym_PLUS] = ACTIONS(4828),
    [anon_sym_SLASH] = ACTIONS(4828),
    [anon_sym_PERCENT] = ACTIONS(4828),
    [sym_comment] = ACTIONS(256),
  },
  [5029] = {
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(8454),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym__line_break] = ACTIONS(692),
    [sym__binary_minus] = ACTIONS(5168),
    [sym__binary_star] = ACTIONS(5170),
    [anon_sym_PIPE] = ACTIONS(5172),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR_STAR] = ACTIONS(5174),
    [anon_sym_AMP] = ACTIONS(5176),
    [anon_sym_LT] = ACTIONS(5178),
    [anon_sym_QMARK] = ACTIONS(5180),
    [anon_sym_DOT_DOT] = ACTIONS(5182),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5184),
    [anon_sym_and] = ACTIONS(5186),
    [anon_sym_or] = ACTIONS(5186),
    [anon_sym_PIPE_PIPE] = ACTIONS(5188),
    [anon_sym_AMP_AMP] = ACTIONS(5188),
    [anon_sym_LT_LT] = ACTIONS(5190),
    [anon_sym_GT_GT] = ACTIONS(5190),
    [anon_sym_EQ_EQ] = ACTIONS(5192),
    [anon_sym_BANG_EQ] = ACTIONS(5188),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5188),
    [anon_sym_LT_EQ_GT] = ACTIONS(5188),
    [anon_sym_EQ_TILDE] = ACTIONS(5188),
    [anon_sym_BANG_TILDE] = ACTIONS(5188),
    [anon_sym_LT_EQ] = ACTIONS(5178),
    [anon_sym_GT] = ACTIONS(5178),
    [anon_sym_GT_EQ] = ACTIONS(5194),
    [anon_sym_CARET] = ACTIONS(5196),
    [anon_sym_PLUS] = ACTIONS(5198),
    [anon_sym_SLASH] = ACTIONS(5174),
    [anon_sym_PERCENT] = ACTIONS(5174),
    [sym_comment] = ACTIONS(110),
  },
  [5030] = {
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(8455),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym__line_break] = ACTIONS(692),
    [anon_sym_SEMI] = ACTIONS(692),
    [sym_comment] = ACTIONS(110),
  },
  [5031] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(8457),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11398),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5032] = {
    [sym__simple_heredoc_body] = ACTIONS(5290),
    [sym__heredoc_body_beginning] = ACTIONS(5290),
    [sym__line_break] = ACTIONS(5290),
    [sym__element_reference_left_bracket] = ACTIONS(5290),
    [sym__scope_double_colon] = ACTIONS(5290),
    [sym__binary_minus] = ACTIONS(5290),
    [sym__binary_star] = ACTIONS(5290),
    [ts_builtin_sym_end] = ACTIONS(5290),
    [anon_sym___END__] = ACTIONS(5290),
    [anon_sym_LBRACE] = ACTIONS(5290),
    [anon_sym_RBRACE] = ACTIONS(5290),
    [anon_sym_RPAREN] = ACTIONS(5290),
    [anon_sym_DOT] = ACTIONS(5292),
    [anon_sym_end] = ACTIONS(5290),
    [anon_sym_COMMA] = ACTIONS(5290),
    [anon_sym_PIPE] = ACTIONS(5292),
    [anon_sym_SEMI] = ACTIONS(5290),
    [anon_sym_STAR_STAR] = ACTIONS(5292),
    [anon_sym_AMP] = ACTIONS(5292),
    [anon_sym_EQ] = ACTIONS(5292),
    [anon_sym_LT] = ACTIONS(5292),
    [anon_sym_if] = ACTIONS(5290),
    [anon_sym_unless] = ACTIONS(5290),
    [anon_sym_while] = ACTIONS(5290),
    [anon_sym_until] = ACTIONS(5290),
    [anon_sym_rescue] = ACTIONS(5290),
    [anon_sym_do] = ACTIONS(5290),
    [anon_sym_when] = ACTIONS(5290),
    [anon_sym_elsif] = ACTIONS(5290),
    [anon_sym_else] = ACTIONS(5290),
    [anon_sym_then] = ACTIONS(5290),
    [anon_sym_ensure] = ACTIONS(5290),
    [anon_sym_EQ_GT] = ACTIONS(5290),
    [anon_sym_AMP_DOT] = ACTIONS(5290),
    [anon_sym_PLUS_EQ] = ACTIONS(5290),
    [anon_sym_DASH_EQ] = ACTIONS(5290),
    [anon_sym_STAR_EQ] = ACTIONS(5290),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5290),
    [anon_sym_SLASH_EQ] = ACTIONS(5290),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5290),
    [anon_sym_PIPE_EQ] = ACTIONS(5290),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5290),
    [anon_sym_AMP_EQ] = ACTIONS(5290),
    [anon_sym_PERCENT_EQ] = ACTIONS(5290),
    [anon_sym_GT_GT_EQ] = ACTIONS(5290),
    [anon_sym_LT_LT_EQ] = ACTIONS(5290),
    [anon_sym_CARET_EQ] = ACTIONS(5290),
    [anon_sym_QMARK] = ACTIONS(5290),
    [anon_sym_DOT_DOT] = ACTIONS(5292),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5290),
    [anon_sym_and] = ACTIONS(5290),
    [anon_sym_or] = ACTIONS(5290),
    [anon_sym_PIPE_PIPE] = ACTIONS(5292),
    [anon_sym_AMP_AMP] = ACTIONS(5292),
    [anon_sym_LT_LT] = ACTIONS(5292),
    [anon_sym_GT_GT] = ACTIONS(5292),
    [anon_sym_EQ_EQ] = ACTIONS(5292),
    [anon_sym_BANG_EQ] = ACTIONS(5290),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5290),
    [anon_sym_LT_EQ_GT] = ACTIONS(5290),
    [anon_sym_EQ_TILDE] = ACTIONS(5290),
    [anon_sym_BANG_TILDE] = ACTIONS(5290),
    [anon_sym_LT_EQ] = ACTIONS(5292),
    [anon_sym_GT] = ACTIONS(5292),
    [anon_sym_GT_EQ] = ACTIONS(5290),
    [anon_sym_CARET] = ACTIONS(5292),
    [anon_sym_PLUS] = ACTIONS(5292),
    [anon_sym_SLASH] = ACTIONS(5292),
    [anon_sym_PERCENT] = ACTIONS(5292),
    [sym_comment] = ACTIONS(256),
  },
  [5033] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(8459),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5034] = {
    [sym__simple_heredoc_body] = ACTIONS(5290),
    [sym__heredoc_body_beginning] = ACTIONS(5290),
    [sym__line_break] = ACTIONS(5290),
    [sym__element_reference_left_bracket] = ACTIONS(5290),
    [sym__scope_double_colon] = ACTIONS(5290),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__binary_minus] = ACTIONS(5290),
    [sym__binary_star] = ACTIONS(5290),
    [ts_builtin_sym_end] = ACTIONS(5290),
    [anon_sym___END__] = ACTIONS(5290),
    [anon_sym_LBRACE] = ACTIONS(5290),
    [anon_sym_RBRACE] = ACTIONS(5290),
    [anon_sym_RPAREN] = ACTIONS(5290),
    [anon_sym_DOT] = ACTIONS(5292),
    [anon_sym_end] = ACTIONS(5290),
    [anon_sym_COMMA] = ACTIONS(5290),
    [anon_sym_PIPE] = ACTIONS(5292),
    [anon_sym_SEMI] = ACTIONS(5290),
    [anon_sym_STAR_STAR] = ACTIONS(5292),
    [anon_sym_AMP] = ACTIONS(5292),
    [anon_sym_EQ] = ACTIONS(5292),
    [anon_sym_LT] = ACTIONS(5292),
    [anon_sym_if] = ACTIONS(5290),
    [anon_sym_unless] = ACTIONS(5290),
    [anon_sym_while] = ACTIONS(5290),
    [anon_sym_until] = ACTIONS(5290),
    [anon_sym_rescue] = ACTIONS(5290),
    [anon_sym_do] = ACTIONS(5290),
    [anon_sym_when] = ACTIONS(5290),
    [anon_sym_elsif] = ACTIONS(5290),
    [anon_sym_else] = ACTIONS(5290),
    [anon_sym_then] = ACTIONS(5290),
    [anon_sym_ensure] = ACTIONS(5290),
    [anon_sym_EQ_GT] = ACTIONS(5290),
    [anon_sym_AMP_DOT] = ACTIONS(5290),
    [anon_sym_PLUS_EQ] = ACTIONS(5290),
    [anon_sym_DASH_EQ] = ACTIONS(5290),
    [anon_sym_STAR_EQ] = ACTIONS(5290),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5290),
    [anon_sym_SLASH_EQ] = ACTIONS(5290),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5290),
    [anon_sym_PIPE_EQ] = ACTIONS(5290),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5290),
    [anon_sym_AMP_EQ] = ACTIONS(5290),
    [anon_sym_PERCENT_EQ] = ACTIONS(5290),
    [anon_sym_GT_GT_EQ] = ACTIONS(5290),
    [anon_sym_LT_LT_EQ] = ACTIONS(5290),
    [anon_sym_CARET_EQ] = ACTIONS(5290),
    [anon_sym_QMARK] = ACTIONS(5290),
    [anon_sym_DOT_DOT] = ACTIONS(5292),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5290),
    [anon_sym_and] = ACTIONS(5290),
    [anon_sym_or] = ACTIONS(5290),
    [anon_sym_PIPE_PIPE] = ACTIONS(5292),
    [anon_sym_AMP_AMP] = ACTIONS(5292),
    [anon_sym_LT_LT] = ACTIONS(5292),
    [anon_sym_GT_GT] = ACTIONS(5292),
    [anon_sym_EQ_EQ] = ACTIONS(5292),
    [anon_sym_BANG_EQ] = ACTIONS(5290),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5290),
    [anon_sym_LT_EQ_GT] = ACTIONS(5290),
    [anon_sym_EQ_TILDE] = ACTIONS(5290),
    [anon_sym_BANG_TILDE] = ACTIONS(5290),
    [anon_sym_LT_EQ] = ACTIONS(5292),
    [anon_sym_GT] = ACTIONS(5292),
    [anon_sym_GT_EQ] = ACTIONS(5290),
    [anon_sym_CARET] = ACTIONS(5292),
    [anon_sym_PLUS] = ACTIONS(5292),
    [anon_sym_SLASH] = ACTIONS(5292),
    [anon_sym_PERCENT] = ACTIONS(5292),
    [sym_comment] = ACTIONS(256),
  },
  [5035] = {
    [sym__statements] = STATE(8461),
    [sym__top_level_statement] = STATE(3863),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(3864),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_elsif] = STATE(3865),
    [sym_else] = STATE(3865),
    [sym__if_tail] = STATE(8462),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3867),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3869),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3870),
    [sym__variable] = STATE(3868),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(3849),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(8463),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(5566),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(5568),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(5570),
    [sym__unary_minus] = ACTIONS(5572),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11402),
    [anon_sym_SEMI] = ACTIONS(5576),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_elsif] = ACTIONS(5586),
    [anon_sym_else] = ACTIONS(5588),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5590),
    [anon_sym_defined_QMARK] = ACTIONS(5592),
    [anon_sym_not] = ACTIONS(5594),
    [anon_sym_BANG] = ACTIONS(5596),
    [anon_sym_TILDE] = ACTIONS(5596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5036] = {
    [sym__statements] = STATE(8465),
    [sym__top_level_statement] = STATE(3946),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(3947),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(8466),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3949),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3950),
    [sym_call] = STATE(3950),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3951),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3952),
    [sym__variable] = STATE(3950),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5682),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11404),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5686),
    [anon_sym_yield] = ACTIONS(5688),
    [anon_sym_break] = ACTIONS(5690),
    [anon_sym_next] = ACTIONS(5692),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(5588),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5694),
    [anon_sym_defined_QMARK] = ACTIONS(5696),
    [anon_sym_not] = ACTIONS(5698),
    [anon_sym_BANG] = ACTIONS(5700),
    [anon_sym_TILDE] = ACTIONS(5700),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5037] = {
    [sym__statements] = STATE(8468),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11406),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5038] = {
    [sym__statements] = STATE(8470),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11408),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5039] = {
    [sym__do] = STATE(8471),
    [sym_heredoc_end] = STATE(1550),
    [sym__terminator] = STATE(1557),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym__line_break] = ACTIONS(2446),
    [anon_sym_SEMI] = ACTIONS(2446),
    [anon_sym_do] = ACTIONS(2460),
    [sym_comment] = ACTIONS(110),
  },
  [5040] = {
    [sym__simple_heredoc_body] = ACTIONS(11094),
    [sym__heredoc_body_beginning] = ACTIONS(11094),
    [sym__line_break] = ACTIONS(11094),
    [sym__element_reference_left_bracket] = ACTIONS(11094),
    [sym__scope_double_colon] = ACTIONS(11094),
    [sym__binary_minus] = ACTIONS(11094),
    [sym__binary_star] = ACTIONS(11094),
    [ts_builtin_sym_end] = ACTIONS(11094),
    [anon_sym___END__] = ACTIONS(11094),
    [anon_sym_LBRACE] = ACTIONS(11094),
    [anon_sym_RBRACE] = ACTIONS(11094),
    [anon_sym_RPAREN] = ACTIONS(11094),
    [anon_sym_DOT] = ACTIONS(11096),
    [anon_sym_end] = ACTIONS(11094),
    [anon_sym_COMMA] = ACTIONS(11094),
    [anon_sym_PIPE] = ACTIONS(11096),
    [anon_sym_SEMI] = ACTIONS(11094),
    [anon_sym_STAR_STAR] = ACTIONS(11096),
    [anon_sym_AMP] = ACTIONS(11096),
    [anon_sym_EQ] = ACTIONS(11096),
    [anon_sym_LT] = ACTIONS(11096),
    [anon_sym_if] = ACTIONS(11094),
    [anon_sym_unless] = ACTIONS(11094),
    [anon_sym_while] = ACTIONS(11094),
    [anon_sym_until] = ACTIONS(11094),
    [anon_sym_rescue] = ACTIONS(11094),
    [anon_sym_do] = ACTIONS(11094),
    [anon_sym_when] = ACTIONS(11094),
    [anon_sym_elsif] = ACTIONS(11094),
    [anon_sym_else] = ACTIONS(11094),
    [anon_sym_then] = ACTIONS(11094),
    [anon_sym_ensure] = ACTIONS(11094),
    [anon_sym_AMP_DOT] = ACTIONS(11094),
    [anon_sym_PLUS_EQ] = ACTIONS(11094),
    [anon_sym_DASH_EQ] = ACTIONS(11094),
    [anon_sym_STAR_EQ] = ACTIONS(11094),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(11094),
    [anon_sym_SLASH_EQ] = ACTIONS(11094),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(11094),
    [anon_sym_PIPE_EQ] = ACTIONS(11094),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(11094),
    [anon_sym_AMP_EQ] = ACTIONS(11094),
    [anon_sym_PERCENT_EQ] = ACTIONS(11094),
    [anon_sym_GT_GT_EQ] = ACTIONS(11094),
    [anon_sym_LT_LT_EQ] = ACTIONS(11094),
    [anon_sym_CARET_EQ] = ACTIONS(11094),
    [anon_sym_QMARK] = ACTIONS(11094),
    [anon_sym_DOT_DOT] = ACTIONS(11096),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11094),
    [anon_sym_and] = ACTIONS(11094),
    [anon_sym_or] = ACTIONS(11094),
    [anon_sym_PIPE_PIPE] = ACTIONS(11096),
    [anon_sym_AMP_AMP] = ACTIONS(11096),
    [anon_sym_LT_LT] = ACTIONS(11096),
    [anon_sym_GT_GT] = ACTIONS(11096),
    [anon_sym_EQ_EQ] = ACTIONS(11096),
    [anon_sym_BANG_EQ] = ACTIONS(11094),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11094),
    [anon_sym_LT_EQ_GT] = ACTIONS(11094),
    [anon_sym_EQ_TILDE] = ACTIONS(11094),
    [anon_sym_BANG_TILDE] = ACTIONS(11094),
    [anon_sym_LT_EQ] = ACTIONS(11096),
    [anon_sym_GT] = ACTIONS(11096),
    [anon_sym_GT_EQ] = ACTIONS(11094),
    [anon_sym_CARET] = ACTIONS(11096),
    [anon_sym_PLUS] = ACTIONS(11096),
    [anon_sym_SLASH] = ACTIONS(11096),
    [anon_sym_PERCENT] = ACTIONS(11096),
    [sym_comment] = ACTIONS(256),
  },
  [5041] = {
    [anon_sym_end] = ACTIONS(11410),
    [sym_comment] = ACTIONS(110),
  },
  [5042] = {
    [sym__statements] = STATE(8473),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11412),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5043] = {
    [sym__statements] = STATE(8473),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(8474),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11412),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5044] = {
    [sym__simple_heredoc_body] = ACTIONS(6154),
    [sym__heredoc_body_beginning] = ACTIONS(6154),
    [sym__line_break] = ACTIONS(6154),
    [sym__element_reference_left_bracket] = ACTIONS(6154),
    [sym__scope_double_colon] = ACTIONS(6154),
    [sym__binary_minus] = ACTIONS(6154),
    [sym__binary_star] = ACTIONS(6154),
    [ts_builtin_sym_end] = ACTIONS(6154),
    [anon_sym___END__] = ACTIONS(6154),
    [anon_sym_LBRACE] = ACTIONS(6154),
    [anon_sym_RBRACE] = ACTIONS(6154),
    [anon_sym_RPAREN] = ACTIONS(6154),
    [anon_sym_DOT] = ACTIONS(6156),
    [anon_sym_end] = ACTIONS(6154),
    [anon_sym_COMMA] = ACTIONS(6154),
    [anon_sym_PIPE] = ACTIONS(6156),
    [anon_sym_SEMI] = ACTIONS(6154),
    [anon_sym_STAR_STAR] = ACTIONS(6156),
    [anon_sym_AMP] = ACTIONS(6156),
    [anon_sym_EQ] = ACTIONS(6156),
    [anon_sym_LT] = ACTIONS(6156),
    [anon_sym_if] = ACTIONS(6154),
    [anon_sym_unless] = ACTIONS(6154),
    [anon_sym_while] = ACTIONS(6154),
    [anon_sym_until] = ACTIONS(6154),
    [anon_sym_rescue] = ACTIONS(6154),
    [anon_sym_do] = ACTIONS(6154),
    [anon_sym_when] = ACTIONS(6154),
    [anon_sym_elsif] = ACTIONS(6154),
    [anon_sym_else] = ACTIONS(6154),
    [anon_sym_then] = ACTIONS(6154),
    [anon_sym_ensure] = ACTIONS(6154),
    [anon_sym_EQ_GT] = ACTIONS(6154),
    [anon_sym_AMP_DOT] = ACTIONS(6154),
    [anon_sym_PLUS_EQ] = ACTIONS(6154),
    [anon_sym_DASH_EQ] = ACTIONS(6154),
    [anon_sym_STAR_EQ] = ACTIONS(6154),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6154),
    [anon_sym_SLASH_EQ] = ACTIONS(6154),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6154),
    [anon_sym_PIPE_EQ] = ACTIONS(6154),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6154),
    [anon_sym_AMP_EQ] = ACTIONS(6154),
    [anon_sym_PERCENT_EQ] = ACTIONS(6154),
    [anon_sym_GT_GT_EQ] = ACTIONS(6154),
    [anon_sym_LT_LT_EQ] = ACTIONS(6154),
    [anon_sym_CARET_EQ] = ACTIONS(6154),
    [anon_sym_QMARK] = ACTIONS(6154),
    [anon_sym_DOT_DOT] = ACTIONS(6156),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6154),
    [anon_sym_and] = ACTIONS(6154),
    [anon_sym_or] = ACTIONS(6154),
    [anon_sym_PIPE_PIPE] = ACTIONS(6156),
    [anon_sym_AMP_AMP] = ACTIONS(6156),
    [anon_sym_LT_LT] = ACTIONS(6156),
    [anon_sym_GT_GT] = ACTIONS(6156),
    [anon_sym_EQ_EQ] = ACTIONS(6156),
    [anon_sym_BANG_EQ] = ACTIONS(6154),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6154),
    [anon_sym_LT_EQ_GT] = ACTIONS(6154),
    [anon_sym_EQ_TILDE] = ACTIONS(6154),
    [anon_sym_BANG_TILDE] = ACTIONS(6154),
    [anon_sym_LT_EQ] = ACTIONS(6156),
    [anon_sym_GT] = ACTIONS(6156),
    [anon_sym_GT_EQ] = ACTIONS(6154),
    [anon_sym_CARET] = ACTIONS(6156),
    [anon_sym_PLUS] = ACTIONS(6156),
    [anon_sym_SLASH] = ACTIONS(6156),
    [anon_sym_PERCENT] = ACTIONS(6156),
    [sym_comment] = ACTIONS(256),
  },
  [5045] = {
    [anon_sym_end] = ACTIONS(11414),
    [sym_comment] = ACTIONS(110),
  },
  [5046] = {
    [sym_when] = STATE(8476),
    [sym_heredoc_end] = STATE(387),
    [sym__terminator] = STATE(1688),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym__line_break] = ACTIONS(666),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_when] = ACTIONS(2612),
    [sym_comment] = ACTIONS(110),
  },
  [5047] = {
    [sym__simple_heredoc_body] = ACTIONS(6600),
    [sym__heredoc_body_beginning] = ACTIONS(6600),
    [sym__line_break] = ACTIONS(6600),
    [sym__element_reference_left_bracket] = ACTIONS(6600),
    [sym__scope_double_colon] = ACTIONS(6600),
    [sym__binary_minus] = ACTIONS(6600),
    [sym__binary_star] = ACTIONS(6600),
    [ts_builtin_sym_end] = ACTIONS(6600),
    [anon_sym___END__] = ACTIONS(6600),
    [anon_sym_LBRACE] = ACTIONS(6600),
    [anon_sym_RBRACE] = ACTIONS(6600),
    [anon_sym_RPAREN] = ACTIONS(6600),
    [anon_sym_DOT] = ACTIONS(6602),
    [anon_sym_end] = ACTIONS(6600),
    [anon_sym_COMMA] = ACTIONS(6600),
    [anon_sym_PIPE] = ACTIONS(6602),
    [anon_sym_SEMI] = ACTIONS(6600),
    [anon_sym_STAR_STAR] = ACTIONS(6602),
    [anon_sym_AMP] = ACTIONS(6602),
    [anon_sym_EQ] = ACTIONS(6602),
    [anon_sym_LT] = ACTIONS(6602),
    [anon_sym_if] = ACTIONS(6600),
    [anon_sym_unless] = ACTIONS(6600),
    [anon_sym_while] = ACTIONS(6600),
    [anon_sym_until] = ACTIONS(6600),
    [anon_sym_rescue] = ACTIONS(6600),
    [anon_sym_do] = ACTIONS(6600),
    [anon_sym_when] = ACTIONS(6600),
    [anon_sym_elsif] = ACTIONS(6600),
    [anon_sym_else] = ACTIONS(6600),
    [anon_sym_then] = ACTIONS(6600),
    [anon_sym_ensure] = ACTIONS(6600),
    [anon_sym_EQ_GT] = ACTIONS(6600),
    [anon_sym_AMP_DOT] = ACTIONS(6600),
    [anon_sym_PLUS_EQ] = ACTIONS(6600),
    [anon_sym_DASH_EQ] = ACTIONS(6600),
    [anon_sym_STAR_EQ] = ACTIONS(6600),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6600),
    [anon_sym_SLASH_EQ] = ACTIONS(6600),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6600),
    [anon_sym_PIPE_EQ] = ACTIONS(6600),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6600),
    [anon_sym_AMP_EQ] = ACTIONS(6600),
    [anon_sym_PERCENT_EQ] = ACTIONS(6600),
    [anon_sym_GT_GT_EQ] = ACTIONS(6600),
    [anon_sym_LT_LT_EQ] = ACTIONS(6600),
    [anon_sym_CARET_EQ] = ACTIONS(6600),
    [anon_sym_QMARK] = ACTIONS(6600),
    [anon_sym_DOT_DOT] = ACTIONS(6602),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6600),
    [anon_sym_and] = ACTIONS(6600),
    [anon_sym_or] = ACTIONS(6600),
    [anon_sym_PIPE_PIPE] = ACTIONS(6602),
    [anon_sym_AMP_AMP] = ACTIONS(6602),
    [anon_sym_LT_LT] = ACTIONS(6602),
    [anon_sym_GT_GT] = ACTIONS(6602),
    [anon_sym_EQ_EQ] = ACTIONS(6602),
    [anon_sym_BANG_EQ] = ACTIONS(6600),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6600),
    [anon_sym_LT_EQ_GT] = ACTIONS(6600),
    [anon_sym_EQ_TILDE] = ACTIONS(6600),
    [anon_sym_BANG_TILDE] = ACTIONS(6600),
    [anon_sym_LT_EQ] = ACTIONS(6602),
    [anon_sym_GT] = ACTIONS(6602),
    [anon_sym_GT_EQ] = ACTIONS(6600),
    [anon_sym_CARET] = ACTIONS(6602),
    [anon_sym_PLUS] = ACTIONS(6602),
    [anon_sym_SLASH] = ACTIONS(6602),
    [anon_sym_PERCENT] = ACTIONS(6602),
    [sym_comment] = ACTIONS(256),
  },
  [5048] = {
    [anon_sym_end] = ACTIONS(11416),
    [sym_comment] = ACTIONS(110),
  },
  [5049] = {
    [sym__simple_heredoc_body] = ACTIONS(8568),
    [sym__heredoc_body_beginning] = ACTIONS(8568),
    [sym__line_break] = ACTIONS(8568),
    [sym__element_reference_left_bracket] = ACTIONS(8568),
    [sym__scope_double_colon] = ACTIONS(8568),
    [sym__binary_minus] = ACTIONS(7168),
    [sym__binary_star] = ACTIONS(7170),
    [ts_builtin_sym_end] = ACTIONS(8568),
    [anon_sym___END__] = ACTIONS(8568),
    [anon_sym_LBRACE] = ACTIONS(8568),
    [anon_sym_DOT] = ACTIONS(9468),
    [anon_sym_COMMA] = ACTIONS(8568),
    [anon_sym_PIPE] = ACTIONS(7172),
    [anon_sym_SEMI] = ACTIONS(8568),
    [anon_sym_STAR_STAR] = ACTIONS(7174),
    [anon_sym_AMP] = ACTIONS(7176),
    [anon_sym_EQ] = ACTIONS(9468),
    [anon_sym_LT] = ACTIONS(7178),
    [anon_sym_if] = ACTIONS(8568),
    [anon_sym_unless] = ACTIONS(8568),
    [anon_sym_while] = ACTIONS(8568),
    [anon_sym_until] = ACTIONS(8568),
    [anon_sym_rescue] = ACTIONS(8568),
    [anon_sym_do] = ACTIONS(8568),
    [anon_sym_AMP_DOT] = ACTIONS(8568),
    [anon_sym_PLUS_EQ] = ACTIONS(8568),
    [anon_sym_DASH_EQ] = ACTIONS(8568),
    [anon_sym_STAR_EQ] = ACTIONS(8568),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8568),
    [anon_sym_SLASH_EQ] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8568),
    [anon_sym_PIPE_EQ] = ACTIONS(8568),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8568),
    [anon_sym_AMP_EQ] = ACTIONS(8568),
    [anon_sym_PERCENT_EQ] = ACTIONS(8568),
    [anon_sym_GT_GT_EQ] = ACTIONS(8568),
    [anon_sym_LT_LT_EQ] = ACTIONS(8568),
    [anon_sym_CARET_EQ] = ACTIONS(8568),
    [anon_sym_QMARK] = ACTIONS(7180),
    [anon_sym_DOT_DOT] = ACTIONS(7182),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7184),
    [anon_sym_and] = ACTIONS(8568),
    [anon_sym_or] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE] = ACTIONS(7186),
    [anon_sym_AMP_AMP] = ACTIONS(7186),
    [anon_sym_LT_LT] = ACTIONS(7188),
    [anon_sym_GT_GT] = ACTIONS(7188),
    [anon_sym_EQ_EQ] = ACTIONS(7186),
    [anon_sym_BANG_EQ] = ACTIONS(7190),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7190),
    [anon_sym_LT_EQ_GT] = ACTIONS(7190),
    [anon_sym_EQ_TILDE] = ACTIONS(7190),
    [anon_sym_BANG_TILDE] = ACTIONS(7190),
    [anon_sym_LT_EQ] = ACTIONS(7178),
    [anon_sym_GT] = ACTIONS(7178),
    [anon_sym_GT_EQ] = ACTIONS(7192),
    [anon_sym_CARET] = ACTIONS(7172),
    [anon_sym_PLUS] = ACTIONS(7194),
    [anon_sym_SLASH] = ACTIONS(7174),
    [anon_sym_PERCENT] = ACTIONS(7174),
    [sym_comment] = ACTIONS(256),
  },
  [5050] = {
    [anon_sym_RBRACK] = ACTIONS(11334),
    [sym_comment] = ACTIONS(110),
  },
  [5051] = {
    [sym__simple_heredoc_body] = ACTIONS(6902),
    [sym__heredoc_body_beginning] = ACTIONS(6902),
    [sym__line_break] = ACTIONS(6902),
    [sym__element_reference_left_bracket] = ACTIONS(6902),
    [sym__scope_double_colon] = ACTIONS(6902),
    [sym__binary_minus] = ACTIONS(6902),
    [sym__binary_star] = ACTIONS(6902),
    [ts_builtin_sym_end] = ACTIONS(6902),
    [anon_sym___END__] = ACTIONS(6902),
    [anon_sym_LBRACE] = ACTIONS(6902),
    [anon_sym_RBRACE] = ACTIONS(6902),
    [anon_sym_RPAREN] = ACTIONS(6902),
    [anon_sym_DOT] = ACTIONS(6904),
    [anon_sym_end] = ACTIONS(6902),
    [anon_sym_COMMA] = ACTIONS(6902),
    [anon_sym_PIPE] = ACTIONS(6904),
    [anon_sym_SEMI] = ACTIONS(6902),
    [anon_sym_STAR_STAR] = ACTIONS(6904),
    [anon_sym_AMP] = ACTIONS(6904),
    [anon_sym_EQ] = ACTIONS(6904),
    [anon_sym_LT] = ACTIONS(6904),
    [anon_sym_if] = ACTIONS(6902),
    [anon_sym_unless] = ACTIONS(6902),
    [anon_sym_while] = ACTIONS(6902),
    [anon_sym_until] = ACTIONS(6902),
    [anon_sym_rescue] = ACTIONS(6902),
    [anon_sym_do] = ACTIONS(6902),
    [anon_sym_when] = ACTIONS(6902),
    [anon_sym_elsif] = ACTIONS(6902),
    [anon_sym_else] = ACTIONS(6902),
    [anon_sym_then] = ACTIONS(6902),
    [anon_sym_ensure] = ACTIONS(6902),
    [anon_sym_EQ_GT] = ACTIONS(6902),
    [anon_sym_AMP_DOT] = ACTIONS(6902),
    [anon_sym_PLUS_EQ] = ACTIONS(6902),
    [anon_sym_DASH_EQ] = ACTIONS(6902),
    [anon_sym_STAR_EQ] = ACTIONS(6902),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6902),
    [anon_sym_SLASH_EQ] = ACTIONS(6902),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6902),
    [anon_sym_PIPE_EQ] = ACTIONS(6902),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6902),
    [anon_sym_AMP_EQ] = ACTIONS(6902),
    [anon_sym_PERCENT_EQ] = ACTIONS(6902),
    [anon_sym_GT_GT_EQ] = ACTIONS(6902),
    [anon_sym_LT_LT_EQ] = ACTIONS(6902),
    [anon_sym_CARET_EQ] = ACTIONS(6902),
    [anon_sym_QMARK] = ACTIONS(6902),
    [anon_sym_DOT_DOT] = ACTIONS(6904),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6902),
    [anon_sym_and] = ACTIONS(6902),
    [anon_sym_or] = ACTIONS(6902),
    [anon_sym_PIPE_PIPE] = ACTIONS(6904),
    [anon_sym_AMP_AMP] = ACTIONS(6904),
    [anon_sym_LT_LT] = ACTIONS(6904),
    [anon_sym_GT_GT] = ACTIONS(6904),
    [anon_sym_EQ_EQ] = ACTIONS(6904),
    [anon_sym_BANG_EQ] = ACTIONS(6902),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6902),
    [anon_sym_LT_EQ_GT] = ACTIONS(6902),
    [anon_sym_EQ_TILDE] = ACTIONS(6902),
    [anon_sym_BANG_TILDE] = ACTIONS(6902),
    [anon_sym_LT_EQ] = ACTIONS(6904),
    [anon_sym_GT] = ACTIONS(6904),
    [anon_sym_GT_EQ] = ACTIONS(6902),
    [anon_sym_CARET] = ACTIONS(6904),
    [anon_sym_PLUS] = ACTIONS(6904),
    [anon_sym_SLASH] = ACTIONS(6904),
    [anon_sym_PERCENT] = ACTIONS(6904),
    [sym_comment] = ACTIONS(256),
  },
  [5052] = {
    [sym__simple_heredoc_body] = ACTIONS(6980),
    [sym__heredoc_body_beginning] = ACTIONS(6980),
    [sym__line_break] = ACTIONS(6980),
    [sym__element_reference_left_bracket] = ACTIONS(6980),
    [sym__scope_double_colon] = ACTIONS(6980),
    [sym__binary_minus] = ACTIONS(6980),
    [sym__binary_star] = ACTIONS(6980),
    [ts_builtin_sym_end] = ACTIONS(6980),
    [anon_sym___END__] = ACTIONS(6980),
    [anon_sym_LBRACE] = ACTIONS(6980),
    [anon_sym_RBRACE] = ACTIONS(6980),
    [anon_sym_RPAREN] = ACTIONS(6980),
    [anon_sym_DOT] = ACTIONS(6982),
    [anon_sym_end] = ACTIONS(6980),
    [anon_sym_COMMA] = ACTIONS(6980),
    [anon_sym_PIPE] = ACTIONS(6982),
    [anon_sym_SEMI] = ACTIONS(6980),
    [anon_sym_STAR_STAR] = ACTIONS(6982),
    [anon_sym_AMP] = ACTIONS(6982),
    [anon_sym_EQ] = ACTIONS(6982),
    [anon_sym_LT] = ACTIONS(6982),
    [anon_sym_if] = ACTIONS(6980),
    [anon_sym_unless] = ACTIONS(6980),
    [anon_sym_while] = ACTIONS(6980),
    [anon_sym_until] = ACTIONS(6980),
    [anon_sym_rescue] = ACTIONS(6980),
    [anon_sym_do] = ACTIONS(6980),
    [anon_sym_when] = ACTIONS(6980),
    [anon_sym_elsif] = ACTIONS(6980),
    [anon_sym_else] = ACTIONS(6980),
    [anon_sym_then] = ACTIONS(6980),
    [anon_sym_ensure] = ACTIONS(6980),
    [anon_sym_EQ_GT] = ACTIONS(6980),
    [anon_sym_AMP_DOT] = ACTIONS(6980),
    [anon_sym_PLUS_EQ] = ACTIONS(6980),
    [anon_sym_DASH_EQ] = ACTIONS(6980),
    [anon_sym_STAR_EQ] = ACTIONS(6980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6980),
    [anon_sym_SLASH_EQ] = ACTIONS(6980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6980),
    [anon_sym_PIPE_EQ] = ACTIONS(6980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6980),
    [anon_sym_AMP_EQ] = ACTIONS(6980),
    [anon_sym_PERCENT_EQ] = ACTIONS(6980),
    [anon_sym_GT_GT_EQ] = ACTIONS(6980),
    [anon_sym_LT_LT_EQ] = ACTIONS(6980),
    [anon_sym_CARET_EQ] = ACTIONS(6980),
    [anon_sym_QMARK] = ACTIONS(6980),
    [anon_sym_DOT_DOT] = ACTIONS(6982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6980),
    [anon_sym_and] = ACTIONS(6980),
    [anon_sym_or] = ACTIONS(6980),
    [anon_sym_PIPE_PIPE] = ACTIONS(6982),
    [anon_sym_AMP_AMP] = ACTIONS(6982),
    [anon_sym_LT_LT] = ACTIONS(6982),
    [anon_sym_GT_GT] = ACTIONS(6982),
    [anon_sym_EQ_EQ] = ACTIONS(6982),
    [anon_sym_BANG_EQ] = ACTIONS(6980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6980),
    [anon_sym_LT_EQ_GT] = ACTIONS(6980),
    [anon_sym_EQ_TILDE] = ACTIONS(6980),
    [anon_sym_BANG_TILDE] = ACTIONS(6980),
    [anon_sym_LT_EQ] = ACTIONS(6982),
    [anon_sym_GT] = ACTIONS(6982),
    [anon_sym_GT_EQ] = ACTIONS(6980),
    [anon_sym_CARET] = ACTIONS(6982),
    [anon_sym_PLUS] = ACTIONS(6982),
    [anon_sym_SLASH] = ACTIONS(6982),
    [anon_sym_PERCENT] = ACTIONS(6982),
    [sym_comment] = ACTIONS(256),
  },
  [5053] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__line_break] = ACTIONS(7008),
    [sym__element_reference_left_bracket] = ACTIONS(7008),
    [sym__scope_double_colon] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(3320),
    [ts_builtin_sym_end] = ACTIONS(7008),
    [anon_sym___END__] = ACTIONS(7008),
    [anon_sym_LBRACE] = ACTIONS(7008),
    [anon_sym_DOT] = ACTIONS(7010),
    [anon_sym_COMMA] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_SEMI] = ACTIONS(7008),
    [anon_sym_STAR_STAR] = ACTIONS(3324),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_EQ] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_if] = ACTIONS(7008),
    [anon_sym_unless] = ACTIONS(7008),
    [anon_sym_while] = ACTIONS(7008),
    [anon_sym_until] = ACTIONS(7008),
    [anon_sym_rescue] = ACTIONS(7008),
    [anon_sym_do] = ACTIONS(7008),
    [anon_sym_EQ_GT] = ACTIONS(7008),
    [anon_sym_AMP_DOT] = ACTIONS(7008),
    [anon_sym_PLUS_EQ] = ACTIONS(7008),
    [anon_sym_DASH_EQ] = ACTIONS(7008),
    [anon_sym_STAR_EQ] = ACTIONS(7008),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7008),
    [anon_sym_SLASH_EQ] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7008),
    [anon_sym_PIPE_EQ] = ACTIONS(7008),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7008),
    [anon_sym_AMP_EQ] = ACTIONS(7008),
    [anon_sym_PERCENT_EQ] = ACTIONS(7008),
    [anon_sym_GT_GT_EQ] = ACTIONS(7008),
    [anon_sym_LT_LT_EQ] = ACTIONS(7008),
    [anon_sym_CARET_EQ] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7010),
    [anon_sym_AMP_AMP] = ACTIONS(7010),
    [anon_sym_LT_LT] = ACTIONS(7010),
    [anon_sym_GT_GT] = ACTIONS(7010),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7010),
    [anon_sym_PLUS] = ACTIONS(7010),
    [anon_sym_SLASH] = ACTIONS(3324),
    [anon_sym_PERCENT] = ACTIONS(3324),
    [sym_comment] = ACTIONS(256),
  },
  [5054] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__line_break] = ACTIONS(7012),
    [sym__element_reference_left_bracket] = ACTIONS(7012),
    [sym__scope_double_colon] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [ts_builtin_sym_end] = ACTIONS(7012),
    [anon_sym___END__] = ACTIONS(7012),
    [anon_sym_LBRACE] = ACTIONS(7012),
    [anon_sym_DOT] = ACTIONS(7014),
    [anon_sym_COMMA] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_SEMI] = ACTIONS(7012),
    [anon_sym_STAR_STAR] = ACTIONS(3324),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_EQ] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_if] = ACTIONS(7012),
    [anon_sym_unless] = ACTIONS(7012),
    [anon_sym_while] = ACTIONS(7012),
    [anon_sym_until] = ACTIONS(7012),
    [anon_sym_rescue] = ACTIONS(7012),
    [anon_sym_do] = ACTIONS(7012),
    [anon_sym_EQ_GT] = ACTIONS(7012),
    [anon_sym_AMP_DOT] = ACTIONS(7012),
    [anon_sym_PLUS_EQ] = ACTIONS(7012),
    [anon_sym_DASH_EQ] = ACTIONS(7012),
    [anon_sym_STAR_EQ] = ACTIONS(7012),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7012),
    [anon_sym_SLASH_EQ] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7012),
    [anon_sym_PIPE_EQ] = ACTIONS(7012),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7012),
    [anon_sym_AMP_EQ] = ACTIONS(7012),
    [anon_sym_PERCENT_EQ] = ACTIONS(7012),
    [anon_sym_GT_GT_EQ] = ACTIONS(7012),
    [anon_sym_LT_LT_EQ] = ACTIONS(7012),
    [anon_sym_CARET_EQ] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7014),
    [anon_sym_AMP_AMP] = ACTIONS(7014),
    [anon_sym_LT_LT] = ACTIONS(7014),
    [anon_sym_GT_GT] = ACTIONS(7014),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7014),
    [anon_sym_PLUS] = ACTIONS(7014),
    [anon_sym_SLASH] = ACTIONS(7014),
    [anon_sym_PERCENT] = ACTIONS(7014),
    [sym_comment] = ACTIONS(256),
  },
  [5055] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(3318),
    [sym__binary_star] = ACTIONS(3320),
    [ts_builtin_sym_end] = ACTIONS(7016),
    [anon_sym___END__] = ACTIONS(7016),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(3324),
    [anon_sym_AMP] = ACTIONS(3326),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(3338),
    [anon_sym_GT_GT] = ACTIONS(3338),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(3344),
    [anon_sym_SLASH] = ACTIONS(3324),
    [anon_sym_PERCENT] = ACTIONS(3324),
    [sym_comment] = ACTIONS(256),
  },
  [5056] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [ts_builtin_sym_end] = ACTIONS(7016),
    [anon_sym___END__] = ACTIONS(7016),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(3324),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7018),
    [anon_sym_GT_GT] = ACTIONS(7018),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(7018),
    [anon_sym_SLASH] = ACTIONS(7018),
    [anon_sym_PERCENT] = ACTIONS(7018),
    [sym_comment] = ACTIONS(256),
  },
  [5057] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(3318),
    [sym__binary_star] = ACTIONS(3320),
    [ts_builtin_sym_end] = ACTIONS(7016),
    [anon_sym___END__] = ACTIONS(7016),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(3324),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(3338),
    [anon_sym_GT_GT] = ACTIONS(3338),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(3344),
    [anon_sym_SLASH] = ACTIONS(3324),
    [anon_sym_PERCENT] = ACTIONS(3324),
    [sym_comment] = ACTIONS(256),
  },
  [5058] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(3318),
    [sym__binary_star] = ACTIONS(3320),
    [ts_builtin_sym_end] = ACTIONS(7016),
    [anon_sym___END__] = ACTIONS(7016),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(3322),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(3324),
    [anon_sym_AMP] = ACTIONS(3326),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(3338),
    [anon_sym_GT_GT] = ACTIONS(3338),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(3322),
    [anon_sym_PLUS] = ACTIONS(3344),
    [anon_sym_SLASH] = ACTIONS(3324),
    [anon_sym_PERCENT] = ACTIONS(3324),
    [sym_comment] = ACTIONS(256),
  },
  [5059] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(11418),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [5060] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__line_break] = ACTIONS(7108),
    [sym__element_reference_left_bracket] = ACTIONS(7108),
    [sym__scope_double_colon] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(3318),
    [sym__binary_star] = ACTIONS(3320),
    [ts_builtin_sym_end] = ACTIONS(7108),
    [anon_sym___END__] = ACTIONS(7108),
    [anon_sym_LBRACE] = ACTIONS(7108),
    [anon_sym_DOT] = ACTIONS(9472),
    [anon_sym_COMMA] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(3322),
    [anon_sym_SEMI] = ACTIONS(7108),
    [anon_sym_STAR_STAR] = ACTIONS(3324),
    [anon_sym_AMP] = ACTIONS(3326),
    [anon_sym_EQ] = ACTIONS(9472),
    [anon_sym_LT] = ACTIONS(3328),
    [anon_sym_if] = ACTIONS(7108),
    [anon_sym_unless] = ACTIONS(7108),
    [anon_sym_while] = ACTIONS(7108),
    [anon_sym_until] = ACTIONS(7108),
    [anon_sym_rescue] = ACTIONS(7108),
    [anon_sym_do] = ACTIONS(7108),
    [anon_sym_EQ_GT] = ACTIONS(7108),
    [anon_sym_AMP_DOT] = ACTIONS(7108),
    [anon_sym_PLUS_EQ] = ACTIONS(7108),
    [anon_sym_DASH_EQ] = ACTIONS(7108),
    [anon_sym_STAR_EQ] = ACTIONS(7108),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7108),
    [anon_sym_SLASH_EQ] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7108),
    [anon_sym_PIPE_EQ] = ACTIONS(7108),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7108),
    [anon_sym_AMP_EQ] = ACTIONS(7108),
    [anon_sym_PERCENT_EQ] = ACTIONS(7108),
    [anon_sym_GT_GT_EQ] = ACTIONS(7108),
    [anon_sym_LT_LT_EQ] = ACTIONS(7108),
    [anon_sym_CARET_EQ] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(3332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3334),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(3336),
    [anon_sym_AMP_AMP] = ACTIONS(3336),
    [anon_sym_LT_LT] = ACTIONS(3338),
    [anon_sym_GT_GT] = ACTIONS(3338),
    [anon_sym_EQ_EQ] = ACTIONS(3336),
    [anon_sym_BANG_EQ] = ACTIONS(3340),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3340),
    [anon_sym_LT_EQ_GT] = ACTIONS(3340),
    [anon_sym_EQ_TILDE] = ACTIONS(3340),
    [anon_sym_BANG_TILDE] = ACTIONS(3340),
    [anon_sym_LT_EQ] = ACTIONS(3328),
    [anon_sym_GT] = ACTIONS(3328),
    [anon_sym_GT_EQ] = ACTIONS(3342),
    [anon_sym_CARET] = ACTIONS(3322),
    [anon_sym_PLUS] = ACTIONS(3344),
    [anon_sym_SLASH] = ACTIONS(3324),
    [anon_sym_PERCENT] = ACTIONS(3324),
    [sym_comment] = ACTIONS(256),
  },
  [5061] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(3318),
    [sym__binary_star] = ACTIONS(3320),
    [ts_builtin_sym_end] = ACTIONS(7016),
    [anon_sym___END__] = ACTIONS(7016),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(3322),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(3324),
    [anon_sym_AMP] = ACTIONS(3326),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(3328),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(3330),
    [anon_sym_DOT_DOT] = ACTIONS(3332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3334),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(3336),
    [anon_sym_AMP_AMP] = ACTIONS(3336),
    [anon_sym_LT_LT] = ACTIONS(3338),
    [anon_sym_GT_GT] = ACTIONS(3338),
    [anon_sym_EQ_EQ] = ACTIONS(3336),
    [anon_sym_BANG_EQ] = ACTIONS(3340),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3340),
    [anon_sym_LT_EQ_GT] = ACTIONS(3340),
    [anon_sym_EQ_TILDE] = ACTIONS(3340),
    [anon_sym_BANG_TILDE] = ACTIONS(3340),
    [anon_sym_LT_EQ] = ACTIONS(3328),
    [anon_sym_GT] = ACTIONS(3328),
    [anon_sym_GT_EQ] = ACTIONS(3342),
    [anon_sym_CARET] = ACTIONS(3322),
    [anon_sym_PLUS] = ACTIONS(3344),
    [anon_sym_SLASH] = ACTIONS(3324),
    [anon_sym_PERCENT] = ACTIONS(3324),
    [sym_comment] = ACTIONS(256),
  },
  [5062] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(3318),
    [sym__binary_star] = ACTIONS(3320),
    [ts_builtin_sym_end] = ACTIONS(7016),
    [anon_sym___END__] = ACTIONS(7016),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(3322),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(3324),
    [anon_sym_AMP] = ACTIONS(3326),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(3328),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(3338),
    [anon_sym_GT_GT] = ACTIONS(3338),
    [anon_sym_EQ_EQ] = ACTIONS(3336),
    [anon_sym_BANG_EQ] = ACTIONS(3340),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3340),
    [anon_sym_LT_EQ_GT] = ACTIONS(3340),
    [anon_sym_EQ_TILDE] = ACTIONS(3340),
    [anon_sym_BANG_TILDE] = ACTIONS(3340),
    [anon_sym_LT_EQ] = ACTIONS(3328),
    [anon_sym_GT] = ACTIONS(3328),
    [anon_sym_GT_EQ] = ACTIONS(3342),
    [anon_sym_CARET] = ACTIONS(3322),
    [anon_sym_PLUS] = ACTIONS(3344),
    [anon_sym_SLASH] = ACTIONS(3324),
    [anon_sym_PERCENT] = ACTIONS(3324),
    [sym_comment] = ACTIONS(256),
  },
  [5063] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(3318),
    [sym__binary_star] = ACTIONS(3320),
    [ts_builtin_sym_end] = ACTIONS(7016),
    [anon_sym___END__] = ACTIONS(7016),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(3324),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7018),
    [anon_sym_GT_GT] = ACTIONS(7018),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(3344),
    [anon_sym_SLASH] = ACTIONS(3324),
    [anon_sym_PERCENT] = ACTIONS(3324),
    [sym_comment] = ACTIONS(256),
  },
  [5064] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(3320),
    [ts_builtin_sym_end] = ACTIONS(7016),
    [anon_sym___END__] = ACTIONS(7016),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(3324),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7018),
    [anon_sym_GT_GT] = ACTIONS(7018),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(7018),
    [anon_sym_SLASH] = ACTIONS(3324),
    [anon_sym_PERCENT] = ACTIONS(3324),
    [sym_comment] = ACTIONS(256),
  },
  [5065] = {
    [sym__simple_heredoc_body] = ACTIONS(6902),
    [sym__heredoc_body_beginning] = ACTIONS(6902),
    [sym__line_break] = ACTIONS(6902),
    [sym__element_reference_left_bracket] = ACTIONS(6902),
    [sym__scope_double_colon] = ACTIONS(6902),
    [sym__binary_minus] = ACTIONS(6902),
    [sym__binary_star] = ACTIONS(6902),
    [ts_builtin_sym_end] = ACTIONS(6902),
    [anon_sym___END__] = ACTIONS(6902),
    [anon_sym_LBRACE] = ACTIONS(6902),
    [anon_sym_RBRACE] = ACTIONS(6902),
    [anon_sym_RPAREN] = ACTIONS(6902),
    [anon_sym_DOT] = ACTIONS(6904),
    [anon_sym_end] = ACTIONS(6902),
    [anon_sym_COMMA] = ACTIONS(6902),
    [anon_sym_PIPE] = ACTIONS(6904),
    [anon_sym_SEMI] = ACTIONS(6902),
    [anon_sym_STAR_STAR] = ACTIONS(6904),
    [anon_sym_AMP] = ACTIONS(6904),
    [anon_sym_EQ] = ACTIONS(6904),
    [anon_sym_LT] = ACTIONS(6904),
    [anon_sym_if] = ACTIONS(6902),
    [anon_sym_unless] = ACTIONS(6902),
    [anon_sym_while] = ACTIONS(6902),
    [anon_sym_until] = ACTIONS(6902),
    [anon_sym_rescue] = ACTIONS(6902),
    [anon_sym_do] = ACTIONS(6902),
    [anon_sym_when] = ACTIONS(6902),
    [anon_sym_elsif] = ACTIONS(6902),
    [anon_sym_else] = ACTIONS(6902),
    [anon_sym_then] = ACTIONS(6902),
    [anon_sym_ensure] = ACTIONS(6902),
    [anon_sym_AMP_DOT] = ACTIONS(6902),
    [anon_sym_PLUS_EQ] = ACTIONS(6902),
    [anon_sym_DASH_EQ] = ACTIONS(6902),
    [anon_sym_STAR_EQ] = ACTIONS(6902),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6902),
    [anon_sym_SLASH_EQ] = ACTIONS(6902),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6902),
    [anon_sym_PIPE_EQ] = ACTIONS(6902),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6902),
    [anon_sym_AMP_EQ] = ACTIONS(6902),
    [anon_sym_PERCENT_EQ] = ACTIONS(6902),
    [anon_sym_GT_GT_EQ] = ACTIONS(6902),
    [anon_sym_LT_LT_EQ] = ACTIONS(6902),
    [anon_sym_CARET_EQ] = ACTIONS(6902),
    [anon_sym_QMARK] = ACTIONS(6902),
    [anon_sym_DOT_DOT] = ACTIONS(6904),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6902),
    [anon_sym_and] = ACTIONS(6902),
    [anon_sym_or] = ACTIONS(6902),
    [anon_sym_PIPE_PIPE] = ACTIONS(6904),
    [anon_sym_AMP_AMP] = ACTIONS(6904),
    [anon_sym_LT_LT] = ACTIONS(6904),
    [anon_sym_GT_GT] = ACTIONS(6904),
    [anon_sym_EQ_EQ] = ACTIONS(6904),
    [anon_sym_BANG_EQ] = ACTIONS(6902),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6902),
    [anon_sym_LT_EQ_GT] = ACTIONS(6902),
    [anon_sym_EQ_TILDE] = ACTIONS(6902),
    [anon_sym_BANG_TILDE] = ACTIONS(6902),
    [anon_sym_LT_EQ] = ACTIONS(6904),
    [anon_sym_GT] = ACTIONS(6904),
    [anon_sym_GT_EQ] = ACTIONS(6902),
    [anon_sym_CARET] = ACTIONS(6904),
    [anon_sym_PLUS] = ACTIONS(6904),
    [anon_sym_SLASH] = ACTIONS(6904),
    [anon_sym_PERCENT] = ACTIONS(6904),
    [sym_comment] = ACTIONS(256),
  },
  [5066] = {
    [sym__heredoc_body_middle] = ACTIONS(4108),
    [sym__heredoc_body_end] = ACTIONS(11420),
    [anon_sym_if] = ACTIONS(4112),
    [anon_sym_unless] = ACTIONS(4114),
    [anon_sym_while] = ACTIONS(4116),
    [anon_sym_until] = ACTIONS(4118),
    [anon_sym_rescue] = ACTIONS(4120),
    [sym_comment] = ACTIONS(110),
  },
  [5067] = {
    [sym__statement] = STATE(8480),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [5068] = {
    [sym__simple_heredoc_body] = ACTIONS(9492),
    [sym__heredoc_body_beginning] = ACTIONS(9492),
    [sym__line_break] = ACTIONS(9492),
    [sym__element_reference_left_bracket] = ACTIONS(9492),
    [sym__scope_double_colon] = ACTIONS(9492),
    [sym__binary_minus] = ACTIONS(9492),
    [sym__binary_star] = ACTIONS(9492),
    [ts_builtin_sym_end] = ACTIONS(9492),
    [anon_sym___END__] = ACTIONS(9492),
    [anon_sym_LBRACE] = ACTIONS(9492),
    [anon_sym_RBRACE] = ACTIONS(9492),
    [anon_sym_RPAREN] = ACTIONS(9492),
    [anon_sym_DOT] = ACTIONS(9494),
    [anon_sym_end] = ACTIONS(9492),
    [anon_sym_COMMA] = ACTIONS(9492),
    [anon_sym_PIPE] = ACTIONS(9494),
    [anon_sym_SEMI] = ACTIONS(9492),
    [anon_sym_STAR_STAR] = ACTIONS(9494),
    [anon_sym_AMP] = ACTIONS(9494),
    [anon_sym_EQ] = ACTIONS(9494),
    [anon_sym_LT] = ACTIONS(9494),
    [anon_sym_if] = ACTIONS(9492),
    [anon_sym_unless] = ACTIONS(9492),
    [anon_sym_while] = ACTIONS(9492),
    [anon_sym_until] = ACTIONS(9492),
    [anon_sym_rescue] = ACTIONS(9492),
    [anon_sym_do] = ACTIONS(9492),
    [anon_sym_when] = ACTIONS(9492),
    [anon_sym_elsif] = ACTIONS(9492),
    [anon_sym_else] = ACTIONS(9492),
    [anon_sym_then] = ACTIONS(9492),
    [anon_sym_ensure] = ACTIONS(9492),
    [anon_sym_AMP_DOT] = ACTIONS(9492),
    [anon_sym_PLUS_EQ] = ACTIONS(9492),
    [anon_sym_DASH_EQ] = ACTIONS(9492),
    [anon_sym_STAR_EQ] = ACTIONS(9492),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9492),
    [anon_sym_SLASH_EQ] = ACTIONS(9492),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9492),
    [anon_sym_PIPE_EQ] = ACTIONS(9492),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9492),
    [anon_sym_AMP_EQ] = ACTIONS(9492),
    [anon_sym_PERCENT_EQ] = ACTIONS(9492),
    [anon_sym_GT_GT_EQ] = ACTIONS(9492),
    [anon_sym_LT_LT_EQ] = ACTIONS(9492),
    [anon_sym_CARET_EQ] = ACTIONS(9492),
    [anon_sym_QMARK] = ACTIONS(9492),
    [anon_sym_DOT_DOT] = ACTIONS(9494),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9492),
    [anon_sym_and] = ACTIONS(9492),
    [anon_sym_or] = ACTIONS(9492),
    [anon_sym_PIPE_PIPE] = ACTIONS(9494),
    [anon_sym_AMP_AMP] = ACTIONS(9494),
    [anon_sym_LT_LT] = ACTIONS(9494),
    [anon_sym_GT_GT] = ACTIONS(9494),
    [anon_sym_EQ_EQ] = ACTIONS(9494),
    [anon_sym_BANG_EQ] = ACTIONS(9492),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9492),
    [anon_sym_LT_EQ_GT] = ACTIONS(9492),
    [anon_sym_EQ_TILDE] = ACTIONS(9492),
    [anon_sym_BANG_TILDE] = ACTIONS(9492),
    [anon_sym_LT_EQ] = ACTIONS(9494),
    [anon_sym_GT] = ACTIONS(9494),
    [anon_sym_GT_EQ] = ACTIONS(9492),
    [anon_sym_CARET] = ACTIONS(9494),
    [anon_sym_PLUS] = ACTIONS(9494),
    [anon_sym_SLASH] = ACTIONS(9494),
    [anon_sym_PERCENT] = ACTIONS(9494),
    [sym_comment] = ACTIONS(256),
  },
  [5069] = {
    [sym__simple_heredoc_body] = ACTIONS(9496),
    [sym__heredoc_body_beginning] = ACTIONS(9496),
    [sym__line_break] = ACTIONS(9496),
    [sym__element_reference_left_bracket] = ACTIONS(9496),
    [sym__scope_double_colon] = ACTIONS(9496),
    [sym__binary_minus] = ACTIONS(9496),
    [sym__binary_star] = ACTIONS(9496),
    [ts_builtin_sym_end] = ACTIONS(9496),
    [anon_sym___END__] = ACTIONS(9496),
    [anon_sym_LBRACE] = ACTIONS(9496),
    [anon_sym_RBRACE] = ACTIONS(9496),
    [anon_sym_RPAREN] = ACTIONS(9496),
    [anon_sym_DOT] = ACTIONS(9498),
    [anon_sym_end] = ACTIONS(9496),
    [anon_sym_COMMA] = ACTIONS(9496),
    [anon_sym_PIPE] = ACTIONS(9498),
    [anon_sym_SEMI] = ACTIONS(9496),
    [anon_sym_STAR_STAR] = ACTIONS(9498),
    [anon_sym_AMP] = ACTIONS(9498),
    [anon_sym_EQ] = ACTIONS(9498),
    [anon_sym_LT] = ACTIONS(9498),
    [anon_sym_if] = ACTIONS(9496),
    [anon_sym_unless] = ACTIONS(9496),
    [anon_sym_while] = ACTIONS(9496),
    [anon_sym_until] = ACTIONS(9496),
    [anon_sym_rescue] = ACTIONS(9496),
    [anon_sym_do] = ACTIONS(9496),
    [anon_sym_when] = ACTIONS(9496),
    [anon_sym_elsif] = ACTIONS(9496),
    [anon_sym_else] = ACTIONS(9496),
    [anon_sym_then] = ACTIONS(9496),
    [anon_sym_ensure] = ACTIONS(9496),
    [anon_sym_AMP_DOT] = ACTIONS(9496),
    [anon_sym_PLUS_EQ] = ACTIONS(9496),
    [anon_sym_DASH_EQ] = ACTIONS(9496),
    [anon_sym_STAR_EQ] = ACTIONS(9496),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9496),
    [anon_sym_SLASH_EQ] = ACTIONS(9496),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9496),
    [anon_sym_PIPE_EQ] = ACTIONS(9496),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9496),
    [anon_sym_AMP_EQ] = ACTIONS(9496),
    [anon_sym_PERCENT_EQ] = ACTIONS(9496),
    [anon_sym_GT_GT_EQ] = ACTIONS(9496),
    [anon_sym_LT_LT_EQ] = ACTIONS(9496),
    [anon_sym_CARET_EQ] = ACTIONS(9496),
    [anon_sym_QMARK] = ACTIONS(9496),
    [anon_sym_DOT_DOT] = ACTIONS(9498),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9496),
    [anon_sym_and] = ACTIONS(9496),
    [anon_sym_or] = ACTIONS(9496),
    [anon_sym_PIPE_PIPE] = ACTIONS(9498),
    [anon_sym_AMP_AMP] = ACTIONS(9498),
    [anon_sym_LT_LT] = ACTIONS(9498),
    [anon_sym_GT_GT] = ACTIONS(9498),
    [anon_sym_EQ_EQ] = ACTIONS(9498),
    [anon_sym_BANG_EQ] = ACTIONS(9496),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9496),
    [anon_sym_LT_EQ_GT] = ACTIONS(9496),
    [anon_sym_EQ_TILDE] = ACTIONS(9496),
    [anon_sym_BANG_TILDE] = ACTIONS(9496),
    [anon_sym_LT_EQ] = ACTIONS(9498),
    [anon_sym_GT] = ACTIONS(9498),
    [anon_sym_GT_EQ] = ACTIONS(9496),
    [anon_sym_CARET] = ACTIONS(9498),
    [anon_sym_PLUS] = ACTIONS(9498),
    [anon_sym_SLASH] = ACTIONS(9498),
    [anon_sym_PERCENT] = ACTIONS(9498),
    [sym_comment] = ACTIONS(256),
  },
  [5070] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(595),
    [sym__primary] = STATE(596),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(597),
    [sym_call] = STATE(597),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(8481),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(605),
    [sym__variable] = STATE(597),
    [sym_reserved_identifier] = STATE(606),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(607),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__block_ampersand] = ACTIONS(1006),
    [sym__splat_star] = ACTIONS(1008),
    [sym__unary_minus] = ACTIONS(1012),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(7294),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(1024),
    [anon_sym_yield] = ACTIONS(1026),
    [anon_sym_break] = ACTIONS(1028),
    [anon_sym_next] = ACTIONS(1030),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(3262),
    [anon_sym_defined_QMARK] = ACTIONS(1044),
    [anon_sym_not] = ACTIONS(1046),
    [anon_sym_BANG] = ACTIONS(1050),
    [anon_sym_TILDE] = ACTIONS(1050),
    [sym_constant] = ACTIONS(1052),
    [sym_identifier] = ACTIONS(1052),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(588),
    [anon_sym_super] = ACTIONS(590),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [5071] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(595),
    [sym__primary] = STATE(596),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(597),
    [sym_call] = STATE(597),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(8481),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(605),
    [sym__variable] = STATE(597),
    [sym_reserved_identifier] = STATE(606),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(607),
    [sym_subshell] = STATE(561),
    [sym_heredoc_end] = STATE(8482),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__block_ampersand] = ACTIONS(1006),
    [sym__splat_star] = ACTIONS(1008),
    [sym__unary_minus] = ACTIONS(1012),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(7294),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(1024),
    [anon_sym_yield] = ACTIONS(1026),
    [anon_sym_break] = ACTIONS(1028),
    [anon_sym_next] = ACTIONS(1030),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(3262),
    [anon_sym_defined_QMARK] = ACTIONS(1044),
    [anon_sym_not] = ACTIONS(1046),
    [anon_sym_BANG] = ACTIONS(1050),
    [anon_sym_TILDE] = ACTIONS(1050),
    [sym_constant] = ACTIONS(1052),
    [sym_identifier] = ACTIONS(1052),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(588),
    [anon_sym_super] = ACTIONS(590),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [5072] = {
    [sym_heredoc_end] = STATE(5068),
    [sym__simple_heredoc_body] = ACTIONS(3354),
    [sym__heredoc_body_beginning] = ACTIONS(3356),
    [sym__line_break] = ACTIONS(9500),
    [sym__element_reference_left_bracket] = ACTIONS(9500),
    [sym__scope_double_colon] = ACTIONS(9500),
    [sym__binary_minus] = ACTIONS(9500),
    [sym__binary_star] = ACTIONS(9500),
    [ts_builtin_sym_end] = ACTIONS(9500),
    [anon_sym___END__] = ACTIONS(9500),
    [anon_sym_LBRACE] = ACTIONS(9500),
    [anon_sym_RBRACE] = ACTIONS(9500),
    [anon_sym_RPAREN] = ACTIONS(9500),
    [anon_sym_DOT] = ACTIONS(9502),
    [anon_sym_end] = ACTIONS(9500),
    [anon_sym_COMMA] = ACTIONS(9500),
    [anon_sym_PIPE] = ACTIONS(9502),
    [anon_sym_SEMI] = ACTIONS(9500),
    [anon_sym_STAR_STAR] = ACTIONS(9502),
    [anon_sym_AMP] = ACTIONS(9502),
    [anon_sym_EQ] = ACTIONS(9502),
    [anon_sym_LT] = ACTIONS(9502),
    [anon_sym_if] = ACTIONS(9500),
    [anon_sym_unless] = ACTIONS(9500),
    [anon_sym_while] = ACTIONS(9500),
    [anon_sym_until] = ACTIONS(9500),
    [anon_sym_rescue] = ACTIONS(9500),
    [anon_sym_do] = ACTIONS(9500),
    [anon_sym_when] = ACTIONS(9500),
    [anon_sym_elsif] = ACTIONS(9500),
    [anon_sym_else] = ACTIONS(9500),
    [anon_sym_then] = ACTIONS(9500),
    [anon_sym_ensure] = ACTIONS(9500),
    [anon_sym_AMP_DOT] = ACTIONS(9500),
    [anon_sym_PLUS_EQ] = ACTIONS(9500),
    [anon_sym_DASH_EQ] = ACTIONS(9500),
    [anon_sym_STAR_EQ] = ACTIONS(9500),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9500),
    [anon_sym_SLASH_EQ] = ACTIONS(9500),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9500),
    [anon_sym_PIPE_EQ] = ACTIONS(9500),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9500),
    [anon_sym_AMP_EQ] = ACTIONS(9500),
    [anon_sym_PERCENT_EQ] = ACTIONS(9500),
    [anon_sym_GT_GT_EQ] = ACTIONS(9500),
    [anon_sym_LT_LT_EQ] = ACTIONS(9500),
    [anon_sym_CARET_EQ] = ACTIONS(9500),
    [anon_sym_QMARK] = ACTIONS(9500),
    [anon_sym_DOT_DOT] = ACTIONS(9502),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9500),
    [anon_sym_and] = ACTIONS(9500),
    [anon_sym_or] = ACTIONS(9500),
    [anon_sym_PIPE_PIPE] = ACTIONS(9502),
    [anon_sym_AMP_AMP] = ACTIONS(9502),
    [anon_sym_LT_LT] = ACTIONS(9502),
    [anon_sym_GT_GT] = ACTIONS(9502),
    [anon_sym_EQ_EQ] = ACTIONS(9502),
    [anon_sym_BANG_EQ] = ACTIONS(9500),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9500),
    [anon_sym_LT_EQ_GT] = ACTIONS(9500),
    [anon_sym_EQ_TILDE] = ACTIONS(9500),
    [anon_sym_BANG_TILDE] = ACTIONS(9500),
    [anon_sym_LT_EQ] = ACTIONS(9502),
    [anon_sym_GT] = ACTIONS(9502),
    [anon_sym_GT_EQ] = ACTIONS(9500),
    [anon_sym_CARET] = ACTIONS(9502),
    [anon_sym_PLUS] = ACTIONS(9502),
    [anon_sym_SLASH] = ACTIONS(9502),
    [anon_sym_PERCENT] = ACTIONS(9502),
    [sym_comment] = ACTIONS(256),
  },
  [5073] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__line_break] = ACTIONS(6346),
    [sym__element_reference_left_bracket] = ACTIONS(6346),
    [sym__scope_double_colon] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(3318),
    [sym__binary_star] = ACTIONS(3320),
    [ts_builtin_sym_end] = ACTIONS(6346),
    [anon_sym___END__] = ACTIONS(6346),
    [anon_sym_LBRACE] = ACTIONS(6346),
    [anon_sym_DOT] = ACTIONS(7328),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(3322),
    [anon_sym_SEMI] = ACTIONS(6346),
    [anon_sym_STAR_STAR] = ACTIONS(3324),
    [anon_sym_AMP] = ACTIONS(3326),
    [anon_sym_EQ] = ACTIONS(7328),
    [anon_sym_LT] = ACTIONS(3328),
    [anon_sym_if] = ACTIONS(6346),
    [anon_sym_unless] = ACTIONS(6346),
    [anon_sym_while] = ACTIONS(6346),
    [anon_sym_until] = ACTIONS(6346),
    [anon_sym_rescue] = ACTIONS(6346),
    [anon_sym_do] = ACTIONS(6346),
    [anon_sym_EQ_GT] = ACTIONS(6346),
    [anon_sym_AMP_DOT] = ACTIONS(6346),
    [anon_sym_PLUS_EQ] = ACTIONS(6346),
    [anon_sym_DASH_EQ] = ACTIONS(6346),
    [anon_sym_STAR_EQ] = ACTIONS(6346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6346),
    [anon_sym_SLASH_EQ] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6346),
    [anon_sym_PIPE_EQ] = ACTIONS(6346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6346),
    [anon_sym_AMP_EQ] = ACTIONS(6346),
    [anon_sym_PERCENT_EQ] = ACTIONS(6346),
    [anon_sym_GT_GT_EQ] = ACTIONS(6346),
    [anon_sym_LT_LT_EQ] = ACTIONS(6346),
    [anon_sym_CARET_EQ] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(3330),
    [anon_sym_DOT_DOT] = ACTIONS(3332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3334),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(3336),
    [anon_sym_AMP_AMP] = ACTIONS(3336),
    [anon_sym_LT_LT] = ACTIONS(3338),
    [anon_sym_GT_GT] = ACTIONS(3338),
    [anon_sym_EQ_EQ] = ACTIONS(3336),
    [anon_sym_BANG_EQ] = ACTIONS(3340),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3340),
    [anon_sym_LT_EQ_GT] = ACTIONS(3340),
    [anon_sym_EQ_TILDE] = ACTIONS(3340),
    [anon_sym_BANG_TILDE] = ACTIONS(3340),
    [anon_sym_LT_EQ] = ACTIONS(3328),
    [anon_sym_GT] = ACTIONS(3328),
    [anon_sym_GT_EQ] = ACTIONS(3342),
    [anon_sym_CARET] = ACTIONS(3322),
    [anon_sym_PLUS] = ACTIONS(3344),
    [anon_sym_SLASH] = ACTIONS(3324),
    [anon_sym_PERCENT] = ACTIONS(3324),
    [sym_comment] = ACTIONS(256),
  },
  [5074] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__line_break] = ACTIONS(6346),
    [sym__element_reference_left_bracket] = ACTIONS(6346),
    [sym__scope_double_colon] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(6346),
    [sym__binary_star] = ACTIONS(6346),
    [ts_builtin_sym_end] = ACTIONS(6346),
    [anon_sym___END__] = ACTIONS(6346),
    [anon_sym_LBRACE] = ACTIONS(6346),
    [anon_sym_RBRACE] = ACTIONS(6346),
    [anon_sym_RPAREN] = ACTIONS(6346),
    [anon_sym_DOT] = ACTIONS(7328),
    [anon_sym_end] = ACTIONS(6346),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(7328),
    [anon_sym_SEMI] = ACTIONS(6346),
    [anon_sym_STAR_STAR] = ACTIONS(7328),
    [anon_sym_AMP] = ACTIONS(7328),
    [anon_sym_EQ] = ACTIONS(7328),
    [anon_sym_LT] = ACTIONS(7328),
    [anon_sym_if] = ACTIONS(6346),
    [anon_sym_unless] = ACTIONS(6346),
    [anon_sym_while] = ACTIONS(6346),
    [anon_sym_until] = ACTIONS(6346),
    [anon_sym_rescue] = ACTIONS(6346),
    [anon_sym_do] = ACTIONS(6346),
    [anon_sym_when] = ACTIONS(6346),
    [anon_sym_elsif] = ACTIONS(6346),
    [anon_sym_else] = ACTIONS(6346),
    [anon_sym_then] = ACTIONS(6346),
    [anon_sym_ensure] = ACTIONS(6346),
    [anon_sym_EQ_GT] = ACTIONS(6346),
    [anon_sym_AMP_DOT] = ACTIONS(6346),
    [anon_sym_PLUS_EQ] = ACTIONS(6346),
    [anon_sym_DASH_EQ] = ACTIONS(6346),
    [anon_sym_STAR_EQ] = ACTIONS(6346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6346),
    [anon_sym_SLASH_EQ] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6346),
    [anon_sym_PIPE_EQ] = ACTIONS(6346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6346),
    [anon_sym_AMP_EQ] = ACTIONS(6346),
    [anon_sym_PERCENT_EQ] = ACTIONS(6346),
    [anon_sym_GT_GT_EQ] = ACTIONS(6346),
    [anon_sym_LT_LT_EQ] = ACTIONS(6346),
    [anon_sym_CARET_EQ] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(6346),
    [anon_sym_DOT_DOT] = ACTIONS(7328),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6346),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(7328),
    [anon_sym_AMP_AMP] = ACTIONS(7328),
    [anon_sym_LT_LT] = ACTIONS(7328),
    [anon_sym_GT_GT] = ACTIONS(7328),
    [anon_sym_EQ_EQ] = ACTIONS(7328),
    [anon_sym_BANG_EQ] = ACTIONS(6346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6346),
    [anon_sym_LT_EQ_GT] = ACTIONS(6346),
    [anon_sym_EQ_TILDE] = ACTIONS(6346),
    [anon_sym_BANG_TILDE] = ACTIONS(6346),
    [anon_sym_LT_EQ] = ACTIONS(7328),
    [anon_sym_GT] = ACTIONS(7328),
    [anon_sym_GT_EQ] = ACTIONS(6346),
    [anon_sym_CARET] = ACTIONS(7328),
    [anon_sym_PLUS] = ACTIONS(7328),
    [anon_sym_SLASH] = ACTIONS(7328),
    [anon_sym_PERCENT] = ACTIONS(7328),
    [sym_comment] = ACTIONS(256),
  },
  [5075] = {
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__line_break] = ACTIONS(7330),
    [sym__element_reference_left_bracket] = ACTIONS(7330),
    [sym__scope_double_colon] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [ts_builtin_sym_end] = ACTIONS(7330),
    [anon_sym___END__] = ACTIONS(7330),
    [anon_sym_LBRACE] = ACTIONS(7330),
    [anon_sym_RBRACE] = ACTIONS(7330),
    [anon_sym_RPAREN] = ACTIONS(7330),
    [anon_sym_DOT] = ACTIONS(7332),
    [anon_sym_end] = ACTIONS(7330),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_SEMI] = ACTIONS(7330),
    [anon_sym_STAR_STAR] = ACTIONS(7332),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_EQ] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_if] = ACTIONS(7330),
    [anon_sym_unless] = ACTIONS(7330),
    [anon_sym_while] = ACTIONS(7330),
    [anon_sym_until] = ACTIONS(7330),
    [anon_sym_rescue] = ACTIONS(7330),
    [anon_sym_do] = ACTIONS(7330),
    [anon_sym_when] = ACTIONS(7330),
    [anon_sym_elsif] = ACTIONS(7330),
    [anon_sym_else] = ACTIONS(7330),
    [anon_sym_then] = ACTIONS(7330),
    [anon_sym_ensure] = ACTIONS(7330),
    [anon_sym_EQ_GT] = ACTIONS(7330),
    [anon_sym_AMP_DOT] = ACTIONS(7330),
    [anon_sym_PLUS_EQ] = ACTIONS(7330),
    [anon_sym_DASH_EQ] = ACTIONS(7330),
    [anon_sym_STAR_EQ] = ACTIONS(7330),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7330),
    [anon_sym_SLASH_EQ] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7330),
    [anon_sym_PIPE_EQ] = ACTIONS(7330),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7330),
    [anon_sym_AMP_EQ] = ACTIONS(7330),
    [anon_sym_PERCENT_EQ] = ACTIONS(7330),
    [anon_sym_GT_GT_EQ] = ACTIONS(7330),
    [anon_sym_LT_LT_EQ] = ACTIONS(7330),
    [anon_sym_CARET_EQ] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7332),
    [anon_sym_AMP_AMP] = ACTIONS(7332),
    [anon_sym_LT_LT] = ACTIONS(7332),
    [anon_sym_GT_GT] = ACTIONS(7332),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7332),
    [anon_sym_PLUS] = ACTIONS(7332),
    [anon_sym_SLASH] = ACTIONS(7332),
    [anon_sym_PERCENT] = ACTIONS(7332),
    [sym_comment] = ACTIONS(256),
  },
  [5076] = {
    [aux_sym_exceptions_repeat1] = STATE(8484),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__line_break] = ACTIONS(7330),
    [sym__element_reference_left_bracket] = ACTIONS(7330),
    [sym__scope_double_colon] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [ts_builtin_sym_end] = ACTIONS(7330),
    [anon_sym___END__] = ACTIONS(7330),
    [anon_sym_LBRACE] = ACTIONS(7330),
    [anon_sym_DOT] = ACTIONS(7332),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_SEMI] = ACTIONS(7330),
    [anon_sym_STAR_STAR] = ACTIONS(7332),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_EQ] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_if] = ACTIONS(7330),
    [anon_sym_unless] = ACTIONS(7330),
    [anon_sym_while] = ACTIONS(7330),
    [anon_sym_until] = ACTIONS(7330),
    [anon_sym_rescue] = ACTIONS(7330),
    [anon_sym_do] = ACTIONS(7330),
    [anon_sym_EQ_GT] = ACTIONS(7330),
    [anon_sym_AMP_DOT] = ACTIONS(7330),
    [anon_sym_PLUS_EQ] = ACTIONS(7330),
    [anon_sym_DASH_EQ] = ACTIONS(7330),
    [anon_sym_STAR_EQ] = ACTIONS(7330),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7330),
    [anon_sym_SLASH_EQ] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7330),
    [anon_sym_PIPE_EQ] = ACTIONS(7330),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7330),
    [anon_sym_AMP_EQ] = ACTIONS(7330),
    [anon_sym_PERCENT_EQ] = ACTIONS(7330),
    [anon_sym_GT_GT_EQ] = ACTIONS(7330),
    [anon_sym_LT_LT_EQ] = ACTIONS(7330),
    [anon_sym_CARET_EQ] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7332),
    [anon_sym_AMP_AMP] = ACTIONS(7332),
    [anon_sym_LT_LT] = ACTIONS(7332),
    [anon_sym_GT_GT] = ACTIONS(7332),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7332),
    [anon_sym_PLUS] = ACTIONS(7332),
    [anon_sym_SLASH] = ACTIONS(7332),
    [anon_sym_PERCENT] = ACTIONS(7332),
    [sym_comment] = ACTIONS(256),
  },
  [5077] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__line_break] = ACTIONS(7344),
    [sym__element_reference_left_bracket] = ACTIONS(7344),
    [sym__scope_double_colon] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(3318),
    [sym__binary_star] = ACTIONS(3320),
    [ts_builtin_sym_end] = ACTIONS(7344),
    [anon_sym___END__] = ACTIONS(7344),
    [anon_sym_LBRACE] = ACTIONS(7344),
    [anon_sym_DOT] = ACTIONS(9504),
    [anon_sym_COMMA] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(3322),
    [anon_sym_SEMI] = ACTIONS(7344),
    [anon_sym_STAR_STAR] = ACTIONS(3324),
    [anon_sym_AMP] = ACTIONS(3326),
    [anon_sym_EQ] = ACTIONS(9504),
    [anon_sym_LT] = ACTIONS(3328),
    [anon_sym_if] = ACTIONS(7344),
    [anon_sym_unless] = ACTIONS(7344),
    [anon_sym_while] = ACTIONS(7344),
    [anon_sym_until] = ACTIONS(7344),
    [anon_sym_rescue] = ACTIONS(7344),
    [anon_sym_do] = ACTIONS(7344),
    [anon_sym_EQ_GT] = ACTIONS(7344),
    [anon_sym_AMP_DOT] = ACTIONS(7344),
    [anon_sym_PLUS_EQ] = ACTIONS(7344),
    [anon_sym_DASH_EQ] = ACTIONS(7344),
    [anon_sym_STAR_EQ] = ACTIONS(7344),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7344),
    [anon_sym_SLASH_EQ] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7344),
    [anon_sym_PIPE_EQ] = ACTIONS(7344),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7344),
    [anon_sym_AMP_EQ] = ACTIONS(7344),
    [anon_sym_PERCENT_EQ] = ACTIONS(7344),
    [anon_sym_GT_GT_EQ] = ACTIONS(7344),
    [anon_sym_LT_LT_EQ] = ACTIONS(7344),
    [anon_sym_CARET_EQ] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(3330),
    [anon_sym_DOT_DOT] = ACTIONS(3332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3334),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(3336),
    [anon_sym_AMP_AMP] = ACTIONS(3336),
    [anon_sym_LT_LT] = ACTIONS(3338),
    [anon_sym_GT_GT] = ACTIONS(3338),
    [anon_sym_EQ_EQ] = ACTIONS(3336),
    [anon_sym_BANG_EQ] = ACTIONS(3340),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3340),
    [anon_sym_LT_EQ_GT] = ACTIONS(3340),
    [anon_sym_EQ_TILDE] = ACTIONS(3340),
    [anon_sym_BANG_TILDE] = ACTIONS(3340),
    [anon_sym_LT_EQ] = ACTIONS(3328),
    [anon_sym_GT] = ACTIONS(3328),
    [anon_sym_GT_EQ] = ACTIONS(3342),
    [anon_sym_CARET] = ACTIONS(3322),
    [anon_sym_PLUS] = ACTIONS(3344),
    [anon_sym_SLASH] = ACTIONS(3324),
    [anon_sym_PERCENT] = ACTIONS(3324),
    [sym_comment] = ACTIONS(256),
  },
  [5078] = {
    [sym__simple_heredoc_body] = ACTIONS(8662),
    [sym__heredoc_body_beginning] = ACTIONS(8662),
    [sym__line_break] = ACTIONS(8662),
    [sym__element_reference_left_bracket] = ACTIONS(8662),
    [sym__scope_double_colon] = ACTIONS(8662),
    [sym__binary_minus] = ACTIONS(7168),
    [sym__binary_star] = ACTIONS(7170),
    [ts_builtin_sym_end] = ACTIONS(8662),
    [anon_sym___END__] = ACTIONS(8662),
    [anon_sym_LBRACE] = ACTIONS(8662),
    [anon_sym_DOT] = ACTIONS(9506),
    [anon_sym_COMMA] = ACTIONS(8662),
    [anon_sym_PIPE] = ACTIONS(7172),
    [anon_sym_SEMI] = ACTIONS(8662),
    [anon_sym_STAR_STAR] = ACTIONS(7174),
    [anon_sym_AMP] = ACTIONS(7176),
    [anon_sym_EQ] = ACTIONS(9506),
    [anon_sym_LT] = ACTIONS(7178),
    [anon_sym_if] = ACTIONS(8662),
    [anon_sym_unless] = ACTIONS(8662),
    [anon_sym_while] = ACTIONS(8662),
    [anon_sym_until] = ACTIONS(8662),
    [anon_sym_rescue] = ACTIONS(8662),
    [anon_sym_do] = ACTIONS(8662),
    [anon_sym_AMP_DOT] = ACTIONS(8662),
    [anon_sym_PLUS_EQ] = ACTIONS(8662),
    [anon_sym_DASH_EQ] = ACTIONS(8662),
    [anon_sym_STAR_EQ] = ACTIONS(8662),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8662),
    [anon_sym_SLASH_EQ] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8662),
    [anon_sym_PIPE_EQ] = ACTIONS(8662),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8662),
    [anon_sym_AMP_EQ] = ACTIONS(8662),
    [anon_sym_PERCENT_EQ] = ACTIONS(8662),
    [anon_sym_GT_GT_EQ] = ACTIONS(8662),
    [anon_sym_LT_LT_EQ] = ACTIONS(8662),
    [anon_sym_CARET_EQ] = ACTIONS(8662),
    [anon_sym_QMARK] = ACTIONS(7180),
    [anon_sym_DOT_DOT] = ACTIONS(7182),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7184),
    [anon_sym_and] = ACTIONS(8662),
    [anon_sym_or] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE] = ACTIONS(7186),
    [anon_sym_AMP_AMP] = ACTIONS(7186),
    [anon_sym_LT_LT] = ACTIONS(7188),
    [anon_sym_GT_GT] = ACTIONS(7188),
    [anon_sym_EQ_EQ] = ACTIONS(7186),
    [anon_sym_BANG_EQ] = ACTIONS(7190),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7190),
    [anon_sym_LT_EQ_GT] = ACTIONS(7190),
    [anon_sym_EQ_TILDE] = ACTIONS(7190),
    [anon_sym_BANG_TILDE] = ACTIONS(7190),
    [anon_sym_LT_EQ] = ACTIONS(7178),
    [anon_sym_GT] = ACTIONS(7178),
    [anon_sym_GT_EQ] = ACTIONS(7192),
    [anon_sym_CARET] = ACTIONS(7172),
    [anon_sym_PLUS] = ACTIONS(7194),
    [anon_sym_SLASH] = ACTIONS(7174),
    [anon_sym_PERCENT] = ACTIONS(7174),
    [sym_comment] = ACTIONS(256),
  },
  [5079] = {
    [sym__simple_string] = ACTIONS(7346),
    [sym__simple_heredoc_body] = ACTIONS(7346),
    [sym__string_beginning] = ACTIONS(7346),
    [sym__heredoc_body_beginning] = ACTIONS(7346),
    [sym__line_break] = ACTIONS(7346),
    [sym__element_reference_left_bracket] = ACTIONS(7346),
    [sym__scope_double_colon] = ACTIONS(7346),
    [sym__binary_minus] = ACTIONS(7346),
    [sym__binary_star] = ACTIONS(7346),
    [ts_builtin_sym_end] = ACTIONS(7346),
    [anon_sym___END__] = ACTIONS(7346),
    [anon_sym_LBRACE] = ACTIONS(7346),
    [anon_sym_RBRACE] = ACTIONS(7346),
    [anon_sym_RPAREN] = ACTIONS(7346),
    [anon_sym_DOT] = ACTIONS(7348),
    [anon_sym_end] = ACTIONS(7346),
    [anon_sym_COMMA] = ACTIONS(7346),
    [anon_sym_PIPE] = ACTIONS(7348),
    [anon_sym_SEMI] = ACTIONS(7346),
    [anon_sym_STAR_STAR] = ACTIONS(7348),
    [anon_sym_AMP] = ACTIONS(7348),
    [anon_sym_EQ] = ACTIONS(7348),
    [anon_sym_LT] = ACTIONS(7348),
    [anon_sym_if] = ACTIONS(7346),
    [anon_sym_unless] = ACTIONS(7346),
    [anon_sym_while] = ACTIONS(7346),
    [anon_sym_until] = ACTIONS(7346),
    [anon_sym_rescue] = ACTIONS(7346),
    [anon_sym_do] = ACTIONS(7346),
    [anon_sym_when] = ACTIONS(7346),
    [anon_sym_elsif] = ACTIONS(7346),
    [anon_sym_else] = ACTIONS(7346),
    [anon_sym_then] = ACTIONS(7346),
    [anon_sym_ensure] = ACTIONS(7346),
    [anon_sym_EQ_GT] = ACTIONS(7346),
    [anon_sym_AMP_DOT] = ACTIONS(7346),
    [anon_sym_PLUS_EQ] = ACTIONS(7346),
    [anon_sym_DASH_EQ] = ACTIONS(7346),
    [anon_sym_STAR_EQ] = ACTIONS(7346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7346),
    [anon_sym_SLASH_EQ] = ACTIONS(7346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7346),
    [anon_sym_PIPE_EQ] = ACTIONS(7346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7346),
    [anon_sym_AMP_EQ] = ACTIONS(7346),
    [anon_sym_PERCENT_EQ] = ACTIONS(7346),
    [anon_sym_GT_GT_EQ] = ACTIONS(7346),
    [anon_sym_LT_LT_EQ] = ACTIONS(7346),
    [anon_sym_CARET_EQ] = ACTIONS(7346),
    [anon_sym_QMARK] = ACTIONS(7348),
    [anon_sym_DOT_DOT] = ACTIONS(7348),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7346),
    [anon_sym_and] = ACTIONS(7346),
    [anon_sym_or] = ACTIONS(7346),
    [anon_sym_PIPE_PIPE] = ACTIONS(7348),
    [anon_sym_AMP_AMP] = ACTIONS(7348),
    [anon_sym_LT_LT] = ACTIONS(7348),
    [anon_sym_GT_GT] = ACTIONS(7348),
    [anon_sym_EQ_EQ] = ACTIONS(7348),
    [anon_sym_BANG_EQ] = ACTIONS(7346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7346),
    [anon_sym_LT_EQ_GT] = ACTIONS(7346),
    [anon_sym_EQ_TILDE] = ACTIONS(7346),
    [anon_sym_BANG_TILDE] = ACTIONS(7346),
    [anon_sym_LT_EQ] = ACTIONS(7348),
    [anon_sym_GT] = ACTIONS(7348),
    [anon_sym_GT_EQ] = ACTIONS(7346),
    [anon_sym_CARET] = ACTIONS(7348),
    [anon_sym_PLUS] = ACTIONS(7348),
    [anon_sym_SLASH] = ACTIONS(7348),
    [anon_sym_PERCENT] = ACTIONS(7348),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(7348),
  },
  [5080] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__line_break] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(7298),
    [sym__binary_star] = ACTIONS(7300),
    [ts_builtin_sym_end] = ACTIONS(5338),
    [anon_sym___END__] = ACTIONS(5338),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(7302),
    [anon_sym_SEMI] = ACTIONS(5338),
    [anon_sym_STAR_STAR] = ACTIONS(7304),
    [anon_sym_AMP] = ACTIONS(7306),
    [anon_sym_LT] = ACTIONS(7308),
    [anon_sym_if] = ACTIONS(5338),
    [anon_sym_unless] = ACTIONS(5338),
    [anon_sym_while] = ACTIONS(5338),
    [anon_sym_until] = ACTIONS(5338),
    [anon_sym_rescue] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(7310),
    [anon_sym_DOT_DOT] = ACTIONS(7312),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7314),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(7316),
    [anon_sym_AMP_AMP] = ACTIONS(7316),
    [anon_sym_LT_LT] = ACTIONS(7318),
    [anon_sym_GT_GT] = ACTIONS(7318),
    [anon_sym_EQ_EQ] = ACTIONS(7320),
    [anon_sym_BANG_EQ] = ACTIONS(7316),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7316),
    [anon_sym_LT_EQ_GT] = ACTIONS(7316),
    [anon_sym_EQ_TILDE] = ACTIONS(7316),
    [anon_sym_BANG_TILDE] = ACTIONS(7316),
    [anon_sym_LT_EQ] = ACTIONS(7308),
    [anon_sym_GT] = ACTIONS(7308),
    [anon_sym_GT_EQ] = ACTIONS(7322),
    [anon_sym_CARET] = ACTIONS(7324),
    [anon_sym_PLUS] = ACTIONS(7326),
    [anon_sym_SLASH] = ACTIONS(7304),
    [anon_sym_PERCENT] = ACTIONS(7304),
    [sym_comment] = ACTIONS(110),
  },
  [5081] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [ts_builtin_sym_end] = ACTIONS(1372),
    [anon_sym___END__] = ACTIONS(1372),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(7304),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_if] = ACTIONS(1372),
    [anon_sym_unless] = ACTIONS(1372),
    [anon_sym_while] = ACTIONS(1372),
    [anon_sym_until] = ACTIONS(1372),
    [anon_sym_rescue] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [5082] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [ts_builtin_sym_end] = ACTIONS(2870),
    [anon_sym___END__] = ACTIONS(2870),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(7304),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [5083] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(7298),
    [sym__binary_star] = ACTIONS(7300),
    [ts_builtin_sym_end] = ACTIONS(2870),
    [anon_sym___END__] = ACTIONS(2870),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(7302),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(7304),
    [anon_sym_AMP] = ACTIONS(7306),
    [anon_sym_LT] = ACTIONS(7308),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(7310),
    [anon_sym_DOT_DOT] = ACTIONS(7312),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7314),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(7316),
    [anon_sym_AMP_AMP] = ACTIONS(7316),
    [anon_sym_LT_LT] = ACTIONS(7318),
    [anon_sym_GT_GT] = ACTIONS(7318),
    [anon_sym_EQ_EQ] = ACTIONS(7320),
    [anon_sym_BANG_EQ] = ACTIONS(7316),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7316),
    [anon_sym_LT_EQ_GT] = ACTIONS(7316),
    [anon_sym_EQ_TILDE] = ACTIONS(7316),
    [anon_sym_BANG_TILDE] = ACTIONS(7316),
    [anon_sym_LT_EQ] = ACTIONS(7308),
    [anon_sym_GT] = ACTIONS(7308),
    [anon_sym_GT_EQ] = ACTIONS(7322),
    [anon_sym_CARET] = ACTIONS(7324),
    [anon_sym_PLUS] = ACTIONS(7326),
    [anon_sym_SLASH] = ACTIONS(7304),
    [anon_sym_PERCENT] = ACTIONS(7304),
    [sym_comment] = ACTIONS(110),
  },
  [5084] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8485),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(2214),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2215),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3370),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(3372),
    [anon_sym_defined_QMARK] = ACTIONS(3374),
    [anon_sym_not] = ACTIONS(3376),
    [anon_sym_BANG] = ACTIONS(3378),
    [anon_sym_TILDE] = ACTIONS(3378),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5085] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8486),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(2214),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2215),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3370),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(3372),
    [anon_sym_defined_QMARK] = ACTIONS(3374),
    [anon_sym_not] = ACTIONS(3376),
    [anon_sym_BANG] = ACTIONS(3378),
    [anon_sym_TILDE] = ACTIONS(3378),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5086] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8487),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(2214),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2215),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3370),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(3372),
    [anon_sym_defined_QMARK] = ACTIONS(3374),
    [anon_sym_not] = ACTIONS(3376),
    [anon_sym_BANG] = ACTIONS(3378),
    [anon_sym_TILDE] = ACTIONS(3378),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5087] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8488),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(2214),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2215),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3370),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(3372),
    [anon_sym_defined_QMARK] = ACTIONS(3374),
    [anon_sym_not] = ACTIONS(3376),
    [anon_sym_BANG] = ACTIONS(3378),
    [anon_sym_TILDE] = ACTIONS(3378),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5088] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8489),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(2214),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2215),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3370),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(3372),
    [anon_sym_defined_QMARK] = ACTIONS(3374),
    [anon_sym_not] = ACTIONS(3376),
    [anon_sym_BANG] = ACTIONS(3378),
    [anon_sym_TILDE] = ACTIONS(3378),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5089] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8490),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(2214),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2215),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3370),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(3372),
    [anon_sym_defined_QMARK] = ACTIONS(3374),
    [anon_sym_not] = ACTIONS(3376),
    [anon_sym_BANG] = ACTIONS(3378),
    [anon_sym_TILDE] = ACTIONS(3378),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5090] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(8491),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [5091] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8492),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(2214),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2215),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3370),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(3372),
    [anon_sym_defined_QMARK] = ACTIONS(3374),
    [anon_sym_not] = ACTIONS(3376),
    [anon_sym_BANG] = ACTIONS(3378),
    [anon_sym_TILDE] = ACTIONS(3378),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5092] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8493),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(2214),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2215),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3370),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(3372),
    [anon_sym_defined_QMARK] = ACTIONS(3374),
    [anon_sym_not] = ACTIONS(3376),
    [anon_sym_BANG] = ACTIONS(3378),
    [anon_sym_TILDE] = ACTIONS(3378),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5093] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8494),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(2214),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2215),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3370),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(3372),
    [anon_sym_defined_QMARK] = ACTIONS(3374),
    [anon_sym_not] = ACTIONS(3376),
    [anon_sym_BANG] = ACTIONS(3378),
    [anon_sym_TILDE] = ACTIONS(3378),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5094] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8495),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(2214),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2215),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3370),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(3372),
    [anon_sym_defined_QMARK] = ACTIONS(3374),
    [anon_sym_not] = ACTIONS(3376),
    [anon_sym_BANG] = ACTIONS(3378),
    [anon_sym_TILDE] = ACTIONS(3378),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5095] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8496),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(2214),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2215),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3370),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(3372),
    [anon_sym_defined_QMARK] = ACTIONS(3374),
    [anon_sym_not] = ACTIONS(3376),
    [anon_sym_BANG] = ACTIONS(3378),
    [anon_sym_TILDE] = ACTIONS(3378),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5096] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2210),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_splat_argument] = STATE(2211),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym__arg_or_splat_arg] = STATE(8497),
    [sym_left_assignment_list] = STATE(2214),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2215),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(3368),
    [sym__unary_minus] = ACTIONS(3370),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(3372),
    [anon_sym_defined_QMARK] = ACTIONS(3374),
    [anon_sym_not] = ACTIONS(3376),
    [anon_sym_BANG] = ACTIONS(3378),
    [anon_sym_TILDE] = ACTIONS(3378),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5097] = {
    [sym__simple_heredoc_body] = ACTIONS(11422),
    [sym__heredoc_body_beginning] = ACTIONS(11422),
    [sym__line_break] = ACTIONS(11422),
    [sym__binary_minus] = ACTIONS(11422),
    [sym__binary_star] = ACTIONS(11422),
    [ts_builtin_sym_end] = ACTIONS(11422),
    [anon_sym___END__] = ACTIONS(11422),
    [anon_sym_COMMA] = ACTIONS(11424),
    [anon_sym_PIPE] = ACTIONS(11426),
    [anon_sym_SEMI] = ACTIONS(11422),
    [anon_sym_STAR_STAR] = ACTIONS(11422),
    [anon_sym_AMP] = ACTIONS(11426),
    [anon_sym_LT] = ACTIONS(11426),
    [anon_sym_if] = ACTIONS(11422),
    [anon_sym_unless] = ACTIONS(11422),
    [anon_sym_while] = ACTIONS(11422),
    [anon_sym_until] = ACTIONS(11422),
    [anon_sym_rescue] = ACTIONS(11422),
    [anon_sym_QMARK] = ACTIONS(11422),
    [anon_sym_DOT_DOT] = ACTIONS(11426),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11422),
    [anon_sym_and] = ACTIONS(11422),
    [anon_sym_or] = ACTIONS(11422),
    [anon_sym_PIPE_PIPE] = ACTIONS(11422),
    [anon_sym_AMP_AMP] = ACTIONS(11422),
    [anon_sym_LT_LT] = ACTIONS(11422),
    [anon_sym_GT_GT] = ACTIONS(11422),
    [anon_sym_EQ_EQ] = ACTIONS(11426),
    [anon_sym_BANG_EQ] = ACTIONS(11422),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11422),
    [anon_sym_LT_EQ_GT] = ACTIONS(11422),
    [anon_sym_EQ_TILDE] = ACTIONS(11422),
    [anon_sym_BANG_TILDE] = ACTIONS(11422),
    [anon_sym_LT_EQ] = ACTIONS(11426),
    [anon_sym_GT] = ACTIONS(11426),
    [anon_sym_GT_EQ] = ACTIONS(11422),
    [anon_sym_CARET] = ACTIONS(11422),
    [anon_sym_PLUS] = ACTIONS(11422),
    [anon_sym_SLASH] = ACTIONS(11422),
    [anon_sym_PERCENT] = ACTIONS(11422),
    [sym_comment] = ACTIONS(110),
  },
  [5098] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2210),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_splat_argument] = STATE(2211),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_right_assignment_list] = STATE(2212),
    [sym__arg_or_splat_arg] = STATE(8499),
    [sym_left_assignment_list] = STATE(2214),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2215),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(3368),
    [sym__unary_minus] = ACTIONS(3370),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(3372),
    [anon_sym_defined_QMARK] = ACTIONS(3374),
    [anon_sym_not] = ACTIONS(3376),
    [anon_sym_BANG] = ACTIONS(3378),
    [anon_sym_TILDE] = ACTIONS(3378),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5099] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8500),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(2214),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2215),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3370),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(3372),
    [anon_sym_defined_QMARK] = ACTIONS(3374),
    [anon_sym_not] = ACTIONS(3376),
    [anon_sym_BANG] = ACTIONS(3378),
    [anon_sym_TILDE] = ACTIONS(3378),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5100] = {
    [sym__simple_string] = ACTIONS(7678),
    [sym__string_beginning] = ACTIONS(7678),
    [sym__string_middle] = ACTIONS(7678),
    [sym__string_end] = ACTIONS(7678),
    [sym__element_reference_left_bracket] = ACTIONS(7678),
    [sym__scope_double_colon] = ACTIONS(7678),
    [sym__binary_minus] = ACTIONS(7678),
    [sym__binary_star] = ACTIONS(7678),
    [anon_sym_DOT] = ACTIONS(7680),
    [anon_sym_COMMA] = ACTIONS(7678),
    [anon_sym_PIPE] = ACTIONS(7680),
    [anon_sym_STAR_STAR] = ACTIONS(7678),
    [anon_sym_AMP] = ACTIONS(7680),
    [anon_sym_LT] = ACTIONS(7680),
    [anon_sym_if] = ACTIONS(7678),
    [anon_sym_unless] = ACTIONS(7678),
    [anon_sym_while] = ACTIONS(7678),
    [anon_sym_until] = ACTIONS(7678),
    [anon_sym_rescue] = ACTIONS(7678),
    [anon_sym_AMP_DOT] = ACTIONS(7678),
    [anon_sym_QMARK] = ACTIONS(7680),
    [anon_sym_DOT_DOT] = ACTIONS(7680),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7678),
    [anon_sym_and] = ACTIONS(7678),
    [anon_sym_or] = ACTIONS(7678),
    [anon_sym_PIPE_PIPE] = ACTIONS(7678),
    [anon_sym_AMP_AMP] = ACTIONS(7678),
    [anon_sym_LT_LT] = ACTIONS(7678),
    [anon_sym_GT_GT] = ACTIONS(7678),
    [anon_sym_EQ_EQ] = ACTIONS(7680),
    [anon_sym_BANG_EQ] = ACTIONS(7678),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7678),
    [anon_sym_LT_EQ_GT] = ACTIONS(7678),
    [anon_sym_EQ_TILDE] = ACTIONS(7678),
    [anon_sym_BANG_TILDE] = ACTIONS(7678),
    [anon_sym_LT_EQ] = ACTIONS(7680),
    [anon_sym_GT] = ACTIONS(7680),
    [anon_sym_GT_EQ] = ACTIONS(7678),
    [anon_sym_CARET] = ACTIONS(7678),
    [anon_sym_PLUS] = ACTIONS(7678),
    [anon_sym_SLASH] = ACTIONS(7678),
    [anon_sym_PERCENT] = ACTIONS(7678),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(7680),
  },
  [5101] = {
    [sym__string_middle] = ACTIONS(7682),
    [sym__string_end] = ACTIONS(7682),
    [sym__element_reference_left_bracket] = ACTIONS(7682),
    [sym__scope_double_colon] = ACTIONS(7682),
    [sym__binary_minus] = ACTIONS(7682),
    [sym__binary_star] = ACTIONS(7682),
    [anon_sym_DOT] = ACTIONS(7684),
    [anon_sym_COMMA] = ACTIONS(7682),
    [anon_sym_PIPE] = ACTIONS(7684),
    [anon_sym_STAR_STAR] = ACTIONS(7682),
    [anon_sym_AMP] = ACTIONS(7684),
    [anon_sym_LT] = ACTIONS(7684),
    [anon_sym_if] = ACTIONS(7682),
    [anon_sym_unless] = ACTIONS(7682),
    [anon_sym_while] = ACTIONS(7682),
    [anon_sym_until] = ACTIONS(7682),
    [anon_sym_rescue] = ACTIONS(7682),
    [anon_sym_AMP_DOT] = ACTIONS(7682),
    [anon_sym_QMARK] = ACTIONS(7682),
    [anon_sym_DOT_DOT] = ACTIONS(7684),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7682),
    [anon_sym_and] = ACTIONS(7682),
    [anon_sym_or] = ACTIONS(7682),
    [anon_sym_PIPE_PIPE] = ACTIONS(7682),
    [anon_sym_AMP_AMP] = ACTIONS(7682),
    [anon_sym_LT_LT] = ACTIONS(7682),
    [anon_sym_GT_GT] = ACTIONS(7682),
    [anon_sym_EQ_EQ] = ACTIONS(7684),
    [anon_sym_BANG_EQ] = ACTIONS(7682),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7682),
    [anon_sym_LT_EQ_GT] = ACTIONS(7682),
    [anon_sym_EQ_TILDE] = ACTIONS(7682),
    [anon_sym_BANG_TILDE] = ACTIONS(7682),
    [anon_sym_LT_EQ] = ACTIONS(7684),
    [anon_sym_GT] = ACTIONS(7684),
    [anon_sym_GT_EQ] = ACTIONS(7682),
    [anon_sym_CARET] = ACTIONS(7682),
    [anon_sym_PLUS] = ACTIONS(7682),
    [anon_sym_SLASH] = ACTIONS(7682),
    [anon_sym_PERCENT] = ACTIONS(7682),
    [sym_comment] = ACTIONS(110),
  },
  [5102] = {
    [sym__string_middle] = ACTIONS(7686),
    [sym__string_end] = ACTIONS(7686),
    [sym__element_reference_left_bracket] = ACTIONS(7686),
    [sym__scope_double_colon] = ACTIONS(7686),
    [sym__binary_minus] = ACTIONS(7686),
    [sym__binary_star] = ACTIONS(7686),
    [anon_sym_DOT] = ACTIONS(7688),
    [anon_sym_COMMA] = ACTIONS(7686),
    [anon_sym_PIPE] = ACTIONS(7688),
    [anon_sym_STAR_STAR] = ACTIONS(7686),
    [anon_sym_AMP] = ACTIONS(7688),
    [anon_sym_LT] = ACTIONS(7688),
    [anon_sym_if] = ACTIONS(7686),
    [anon_sym_unless] = ACTIONS(7686),
    [anon_sym_while] = ACTIONS(7686),
    [anon_sym_until] = ACTIONS(7686),
    [anon_sym_rescue] = ACTIONS(7686),
    [anon_sym_AMP_DOT] = ACTIONS(7686),
    [anon_sym_QMARK] = ACTIONS(7686),
    [anon_sym_DOT_DOT] = ACTIONS(7688),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7686),
    [anon_sym_and] = ACTIONS(7686),
    [anon_sym_or] = ACTIONS(7686),
    [anon_sym_PIPE_PIPE] = ACTIONS(7686),
    [anon_sym_AMP_AMP] = ACTIONS(7686),
    [anon_sym_LT_LT] = ACTIONS(7686),
    [anon_sym_GT_GT] = ACTIONS(7686),
    [anon_sym_EQ_EQ] = ACTIONS(7688),
    [anon_sym_BANG_EQ] = ACTIONS(7686),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7686),
    [anon_sym_LT_EQ_GT] = ACTIONS(7686),
    [anon_sym_EQ_TILDE] = ACTIONS(7686),
    [anon_sym_BANG_TILDE] = ACTIONS(7686),
    [anon_sym_LT_EQ] = ACTIONS(7688),
    [anon_sym_GT] = ACTIONS(7688),
    [anon_sym_GT_EQ] = ACTIONS(7686),
    [anon_sym_CARET] = ACTIONS(7686),
    [anon_sym_PLUS] = ACTIONS(7686),
    [anon_sym_SLASH] = ACTIONS(7686),
    [anon_sym_PERCENT] = ACTIONS(7686),
    [sym_comment] = ACTIONS(110),
  },
  [5103] = {
    [sym__string_middle] = ACTIONS(7690),
    [sym__string_end] = ACTIONS(7690),
    [sym__element_reference_left_bracket] = ACTIONS(7690),
    [sym__scope_double_colon] = ACTIONS(7690),
    [sym__binary_minus] = ACTIONS(7690),
    [sym__binary_star] = ACTIONS(7690),
    [anon_sym_DOT] = ACTIONS(7692),
    [anon_sym_COMMA] = ACTIONS(7690),
    [anon_sym_PIPE] = ACTIONS(7692),
    [anon_sym_STAR_STAR] = ACTIONS(7690),
    [anon_sym_AMP] = ACTIONS(7692),
    [anon_sym_LT] = ACTIONS(7692),
    [anon_sym_if] = ACTIONS(7690),
    [anon_sym_unless] = ACTIONS(7690),
    [anon_sym_while] = ACTIONS(7690),
    [anon_sym_until] = ACTIONS(7690),
    [anon_sym_rescue] = ACTIONS(7690),
    [anon_sym_AMP_DOT] = ACTIONS(7690),
    [anon_sym_QMARK] = ACTIONS(7690),
    [anon_sym_DOT_DOT] = ACTIONS(7692),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7690),
    [anon_sym_and] = ACTIONS(7690),
    [anon_sym_or] = ACTIONS(7690),
    [anon_sym_PIPE_PIPE] = ACTIONS(7690),
    [anon_sym_AMP_AMP] = ACTIONS(7690),
    [anon_sym_LT_LT] = ACTIONS(7690),
    [anon_sym_GT_GT] = ACTIONS(7690),
    [anon_sym_EQ_EQ] = ACTIONS(7692),
    [anon_sym_BANG_EQ] = ACTIONS(7690),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7690),
    [anon_sym_LT_EQ_GT] = ACTIONS(7690),
    [anon_sym_EQ_TILDE] = ACTIONS(7690),
    [anon_sym_BANG_TILDE] = ACTIONS(7690),
    [anon_sym_LT_EQ] = ACTIONS(7692),
    [anon_sym_GT] = ACTIONS(7692),
    [anon_sym_GT_EQ] = ACTIONS(7690),
    [anon_sym_CARET] = ACTIONS(7690),
    [anon_sym_PLUS] = ACTIONS(7690),
    [anon_sym_SLASH] = ACTIONS(7690),
    [anon_sym_PERCENT] = ACTIONS(7690),
    [sym_comment] = ACTIONS(110),
  },
  [5104] = {
    [sym__string_middle] = ACTIONS(7694),
    [sym__string_end] = ACTIONS(7694),
    [sym__element_reference_left_bracket] = ACTIONS(7694),
    [sym__scope_double_colon] = ACTIONS(7694),
    [sym__binary_minus] = ACTIONS(7694),
    [sym__binary_star] = ACTIONS(7694),
    [anon_sym_DOT] = ACTIONS(7696),
    [anon_sym_COMMA] = ACTIONS(7694),
    [anon_sym_PIPE] = ACTIONS(7696),
    [anon_sym_STAR_STAR] = ACTIONS(7694),
    [anon_sym_AMP] = ACTIONS(7696),
    [anon_sym_LT] = ACTIONS(7696),
    [anon_sym_if] = ACTIONS(7694),
    [anon_sym_unless] = ACTIONS(7694),
    [anon_sym_while] = ACTIONS(7694),
    [anon_sym_until] = ACTIONS(7694),
    [anon_sym_rescue] = ACTIONS(7694),
    [anon_sym_AMP_DOT] = ACTIONS(7694),
    [anon_sym_QMARK] = ACTIONS(7694),
    [anon_sym_DOT_DOT] = ACTIONS(7696),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7694),
    [anon_sym_and] = ACTIONS(7694),
    [anon_sym_or] = ACTIONS(7694),
    [anon_sym_PIPE_PIPE] = ACTIONS(7694),
    [anon_sym_AMP_AMP] = ACTIONS(7694),
    [anon_sym_LT_LT] = ACTIONS(7694),
    [anon_sym_GT_GT] = ACTIONS(7694),
    [anon_sym_EQ_EQ] = ACTIONS(7696),
    [anon_sym_BANG_EQ] = ACTIONS(7694),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7694),
    [anon_sym_LT_EQ_GT] = ACTIONS(7694),
    [anon_sym_EQ_TILDE] = ACTIONS(7694),
    [anon_sym_BANG_TILDE] = ACTIONS(7694),
    [anon_sym_LT_EQ] = ACTIONS(7696),
    [anon_sym_GT] = ACTIONS(7696),
    [anon_sym_GT_EQ] = ACTIONS(7694),
    [anon_sym_CARET] = ACTIONS(7694),
    [anon_sym_PLUS] = ACTIONS(7694),
    [anon_sym_SLASH] = ACTIONS(7694),
    [anon_sym_PERCENT] = ACTIONS(7694),
    [sym_comment] = ACTIONS(110),
  },
  [5105] = {
    [sym__string_middle] = ACTIONS(8664),
    [sym__string_end] = ACTIONS(8664),
    [sym__element_reference_left_bracket] = ACTIONS(8664),
    [sym__scope_double_colon] = ACTIONS(8664),
    [sym__binary_minus] = ACTIONS(8664),
    [sym__binary_star] = ACTIONS(8664),
    [anon_sym_DOT] = ACTIONS(8666),
    [anon_sym_COMMA] = ACTIONS(8664),
    [anon_sym_PIPE] = ACTIONS(8666),
    [anon_sym_STAR_STAR] = ACTIONS(8664),
    [anon_sym_AMP] = ACTIONS(8666),
    [anon_sym_LT] = ACTIONS(8666),
    [anon_sym_if] = ACTIONS(8664),
    [anon_sym_unless] = ACTIONS(8664),
    [anon_sym_while] = ACTIONS(8664),
    [anon_sym_until] = ACTIONS(8664),
    [anon_sym_rescue] = ACTIONS(8664),
    [anon_sym_AMP_DOT] = ACTIONS(8664),
    [anon_sym_QMARK] = ACTIONS(8664),
    [anon_sym_DOT_DOT] = ACTIONS(8666),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8664),
    [anon_sym_and] = ACTIONS(8664),
    [anon_sym_or] = ACTIONS(8664),
    [anon_sym_PIPE_PIPE] = ACTIONS(8664),
    [anon_sym_AMP_AMP] = ACTIONS(8664),
    [anon_sym_LT_LT] = ACTIONS(8664),
    [anon_sym_GT_GT] = ACTIONS(8664),
    [anon_sym_EQ_EQ] = ACTIONS(8666),
    [anon_sym_BANG_EQ] = ACTIONS(8664),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8664),
    [anon_sym_LT_EQ_GT] = ACTIONS(8664),
    [anon_sym_EQ_TILDE] = ACTIONS(8664),
    [anon_sym_BANG_TILDE] = ACTIONS(8664),
    [anon_sym_LT_EQ] = ACTIONS(8666),
    [anon_sym_GT] = ACTIONS(8666),
    [anon_sym_GT_EQ] = ACTIONS(8664),
    [anon_sym_CARET] = ACTIONS(8664),
    [anon_sym_PLUS] = ACTIONS(8664),
    [anon_sym_SLASH] = ACTIONS(8664),
    [anon_sym_PERCENT] = ACTIONS(8664),
    [sym_comment] = ACTIONS(110),
  },
  [5106] = {
    [anon_sym_DOT] = ACTIONS(11428),
    [anon_sym_COLON_COLON] = ACTIONS(11428),
    [sym_comment] = ACTIONS(110),
  },
  [5107] = {
    [sym__string_middle] = ACTIONS(8832),
    [sym__string_end] = ACTIONS(8832),
    [sym__element_reference_left_bracket] = ACTIONS(8832),
    [sym__scope_double_colon] = ACTIONS(8832),
    [sym__binary_minus] = ACTIONS(8832),
    [sym__binary_star] = ACTIONS(8832),
    [anon_sym_DOT] = ACTIONS(8834),
    [anon_sym_COMMA] = ACTIONS(8832),
    [anon_sym_PIPE] = ACTIONS(8834),
    [anon_sym_STAR_STAR] = ACTIONS(8832),
    [anon_sym_AMP] = ACTIONS(8834),
    [anon_sym_LT] = ACTIONS(8834),
    [anon_sym_if] = ACTIONS(8832),
    [anon_sym_unless] = ACTIONS(8832),
    [anon_sym_while] = ACTIONS(8832),
    [anon_sym_until] = ACTIONS(8832),
    [anon_sym_rescue] = ACTIONS(8832),
    [anon_sym_AMP_DOT] = ACTIONS(8832),
    [anon_sym_QMARK] = ACTIONS(8832),
    [anon_sym_DOT_DOT] = ACTIONS(8834),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8832),
    [anon_sym_and] = ACTIONS(8832),
    [anon_sym_or] = ACTIONS(8832),
    [anon_sym_PIPE_PIPE] = ACTIONS(8832),
    [anon_sym_AMP_AMP] = ACTIONS(8832),
    [anon_sym_LT_LT] = ACTIONS(8832),
    [anon_sym_GT_GT] = ACTIONS(8832),
    [anon_sym_EQ_EQ] = ACTIONS(8834),
    [anon_sym_BANG_EQ] = ACTIONS(8832),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8832),
    [anon_sym_LT_EQ_GT] = ACTIONS(8832),
    [anon_sym_EQ_TILDE] = ACTIONS(8832),
    [anon_sym_BANG_TILDE] = ACTIONS(8832),
    [anon_sym_LT_EQ] = ACTIONS(8834),
    [anon_sym_GT] = ACTIONS(8834),
    [anon_sym_GT_EQ] = ACTIONS(8832),
    [anon_sym_CARET] = ACTIONS(8832),
    [anon_sym_PLUS] = ACTIONS(8832),
    [anon_sym_SLASH] = ACTIONS(8832),
    [anon_sym_PERCENT] = ACTIONS(8832),
    [sym_comment] = ACTIONS(110),
  },
  [5108] = {
    [sym__string_middle] = ACTIONS(8858),
    [sym__string_end] = ACTIONS(8858),
    [sym__element_reference_left_bracket] = ACTIONS(8858),
    [sym__scope_double_colon] = ACTIONS(8858),
    [sym__binary_minus] = ACTIONS(8858),
    [sym__binary_star] = ACTIONS(8858),
    [anon_sym_DOT] = ACTIONS(8860),
    [anon_sym_COMMA] = ACTIONS(8858),
    [anon_sym_PIPE] = ACTIONS(8860),
    [anon_sym_STAR_STAR] = ACTIONS(8858),
    [anon_sym_AMP] = ACTIONS(8860),
    [anon_sym_LT] = ACTIONS(8860),
    [anon_sym_if] = ACTIONS(8858),
    [anon_sym_unless] = ACTIONS(8858),
    [anon_sym_while] = ACTIONS(8858),
    [anon_sym_until] = ACTIONS(8858),
    [anon_sym_rescue] = ACTIONS(8858),
    [anon_sym_AMP_DOT] = ACTIONS(8858),
    [anon_sym_QMARK] = ACTIONS(8858),
    [anon_sym_DOT_DOT] = ACTIONS(8860),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8858),
    [anon_sym_and] = ACTIONS(8858),
    [anon_sym_or] = ACTIONS(8858),
    [anon_sym_PIPE_PIPE] = ACTIONS(8858),
    [anon_sym_AMP_AMP] = ACTIONS(8858),
    [anon_sym_LT_LT] = ACTIONS(8858),
    [anon_sym_GT_GT] = ACTIONS(8858),
    [anon_sym_EQ_EQ] = ACTIONS(8860),
    [anon_sym_BANG_EQ] = ACTIONS(8858),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8858),
    [anon_sym_LT_EQ_GT] = ACTIONS(8858),
    [anon_sym_EQ_TILDE] = ACTIONS(8858),
    [anon_sym_BANG_TILDE] = ACTIONS(8858),
    [anon_sym_LT_EQ] = ACTIONS(8860),
    [anon_sym_GT] = ACTIONS(8860),
    [anon_sym_GT_EQ] = ACTIONS(8858),
    [anon_sym_CARET] = ACTIONS(8858),
    [anon_sym_PLUS] = ACTIONS(8858),
    [anon_sym_SLASH] = ACTIONS(8858),
    [anon_sym_PERCENT] = ACTIONS(8858),
    [sym_comment] = ACTIONS(110),
  },
  [5109] = {
    [anon_sym_end] = ACTIONS(11430),
    [sym_comment] = ACTIONS(110),
  },
  [5110] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(8504),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11432),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5111] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(8506),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11434),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5112] = {
    [sym__string_middle] = ACTIONS(9340),
    [sym__string_end] = ACTIONS(9340),
    [sym__element_reference_left_bracket] = ACTIONS(9340),
    [sym__scope_double_colon] = ACTIONS(9340),
    [sym__binary_minus] = ACTIONS(9340),
    [sym__binary_star] = ACTIONS(9340),
    [anon_sym_DOT] = ACTIONS(9342),
    [anon_sym_COMMA] = ACTIONS(9340),
    [anon_sym_PIPE] = ACTIONS(9342),
    [anon_sym_STAR_STAR] = ACTIONS(9340),
    [anon_sym_AMP] = ACTIONS(9342),
    [anon_sym_LT] = ACTIONS(9342),
    [anon_sym_if] = ACTIONS(9340),
    [anon_sym_unless] = ACTIONS(9340),
    [anon_sym_while] = ACTIONS(9340),
    [anon_sym_until] = ACTIONS(9340),
    [anon_sym_rescue] = ACTIONS(9340),
    [anon_sym_AMP_DOT] = ACTIONS(9340),
    [anon_sym_QMARK] = ACTIONS(9340),
    [anon_sym_DOT_DOT] = ACTIONS(9342),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9340),
    [anon_sym_and] = ACTIONS(9340),
    [anon_sym_or] = ACTIONS(9340),
    [anon_sym_PIPE_PIPE] = ACTIONS(9340),
    [anon_sym_AMP_AMP] = ACTIONS(9340),
    [anon_sym_LT_LT] = ACTIONS(9340),
    [anon_sym_GT_GT] = ACTIONS(9340),
    [anon_sym_EQ_EQ] = ACTIONS(9342),
    [anon_sym_BANG_EQ] = ACTIONS(9340),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9340),
    [anon_sym_LT_EQ_GT] = ACTIONS(9340),
    [anon_sym_EQ_TILDE] = ACTIONS(9340),
    [anon_sym_BANG_TILDE] = ACTIONS(9340),
    [anon_sym_LT_EQ] = ACTIONS(9342),
    [anon_sym_GT] = ACTIONS(9342),
    [anon_sym_GT_EQ] = ACTIONS(9340),
    [anon_sym_CARET] = ACTIONS(9340),
    [anon_sym_PLUS] = ACTIONS(9340),
    [anon_sym_SLASH] = ACTIONS(9340),
    [anon_sym_PERCENT] = ACTIONS(9340),
    [sym_comment] = ACTIONS(110),
  },
  [5113] = {
    [anon_sym_end] = ACTIONS(11436),
    [sym_comment] = ACTIONS(110),
  },
  [5114] = {
    [sym__string_middle] = ACTIONS(9398),
    [sym__string_end] = ACTIONS(9398),
    [sym__element_reference_left_bracket] = ACTIONS(9398),
    [sym__scope_double_colon] = ACTIONS(9398),
    [sym__binary_minus] = ACTIONS(9398),
    [sym__binary_star] = ACTIONS(9398),
    [anon_sym_DOT] = ACTIONS(9400),
    [anon_sym_COMMA] = ACTIONS(9398),
    [anon_sym_PIPE] = ACTIONS(9400),
    [anon_sym_STAR_STAR] = ACTIONS(9398),
    [anon_sym_AMP] = ACTIONS(9400),
    [anon_sym_LT] = ACTIONS(9400),
    [anon_sym_if] = ACTIONS(9398),
    [anon_sym_unless] = ACTIONS(9398),
    [anon_sym_while] = ACTIONS(9398),
    [anon_sym_until] = ACTIONS(9398),
    [anon_sym_rescue] = ACTIONS(9398),
    [anon_sym_AMP_DOT] = ACTIONS(9398),
    [anon_sym_QMARK] = ACTIONS(9398),
    [anon_sym_DOT_DOT] = ACTIONS(9400),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9398),
    [anon_sym_and] = ACTIONS(9398),
    [anon_sym_or] = ACTIONS(9398),
    [anon_sym_PIPE_PIPE] = ACTIONS(9398),
    [anon_sym_AMP_AMP] = ACTIONS(9398),
    [anon_sym_LT_LT] = ACTIONS(9398),
    [anon_sym_GT_GT] = ACTIONS(9398),
    [anon_sym_EQ_EQ] = ACTIONS(9400),
    [anon_sym_BANG_EQ] = ACTIONS(9398),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9398),
    [anon_sym_LT_EQ_GT] = ACTIONS(9398),
    [anon_sym_EQ_TILDE] = ACTIONS(9398),
    [anon_sym_BANG_TILDE] = ACTIONS(9398),
    [anon_sym_LT_EQ] = ACTIONS(9400),
    [anon_sym_GT] = ACTIONS(9400),
    [anon_sym_GT_EQ] = ACTIONS(9398),
    [anon_sym_CARET] = ACTIONS(9398),
    [anon_sym_PLUS] = ACTIONS(9398),
    [anon_sym_SLASH] = ACTIONS(9398),
    [anon_sym_PERCENT] = ACTIONS(9398),
    [sym_comment] = ACTIONS(110),
  },
  [5115] = {
    [anon_sym_end] = ACTIONS(11438),
    [sym_comment] = ACTIONS(110),
  },
  [5116] = {
    [sym__simple_string] = ACTIONS(3612),
    [sym__simple_heredoc_body] = ACTIONS(3612),
    [sym__string_beginning] = ACTIONS(3612),
    [sym__heredoc_body_beginning] = ACTIONS(3612),
    [sym__string_middle] = ACTIONS(3612),
    [sym__string_end] = ACTIONS(3612),
    [sym__element_reference_left_bracket] = ACTIONS(3612),
    [sym__scope_double_colon] = ACTIONS(3612),
    [sym__keyword_colon] = ACTIONS(3612),
    [sym__binary_minus] = ACTIONS(3612),
    [sym__binary_star] = ACTIONS(3612),
    [anon_sym_DOT] = ACTIONS(3614),
    [anon_sym_COMMA] = ACTIONS(3612),
    [anon_sym_PIPE] = ACTIONS(3614),
    [anon_sym_STAR_STAR] = ACTIONS(3612),
    [anon_sym_AMP] = ACTIONS(3614),
    [anon_sym_LT] = ACTIONS(3614),
    [anon_sym_if] = ACTIONS(3612),
    [anon_sym_unless] = ACTIONS(3612),
    [anon_sym_while] = ACTIONS(3612),
    [anon_sym_until] = ACTIONS(3612),
    [anon_sym_rescue] = ACTIONS(3612),
    [anon_sym_EQ_GT] = ACTIONS(3612),
    [anon_sym_AMP_DOT] = ACTIONS(3612),
    [anon_sym_QMARK] = ACTIONS(3614),
    [anon_sym_DOT_DOT] = ACTIONS(3614),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3612),
    [anon_sym_and] = ACTIONS(3612),
    [anon_sym_or] = ACTIONS(3612),
    [anon_sym_PIPE_PIPE] = ACTIONS(3612),
    [anon_sym_AMP_AMP] = ACTIONS(3612),
    [anon_sym_LT_LT] = ACTIONS(3612),
    [anon_sym_GT_GT] = ACTIONS(3612),
    [anon_sym_EQ_EQ] = ACTIONS(3614),
    [anon_sym_BANG_EQ] = ACTIONS(3612),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3612),
    [anon_sym_LT_EQ_GT] = ACTIONS(3612),
    [anon_sym_EQ_TILDE] = ACTIONS(3612),
    [anon_sym_BANG_TILDE] = ACTIONS(3612),
    [anon_sym_LT_EQ] = ACTIONS(3614),
    [anon_sym_GT] = ACTIONS(3614),
    [anon_sym_GT_EQ] = ACTIONS(3612),
    [anon_sym_CARET] = ACTIONS(3612),
    [anon_sym_PLUS] = ACTIONS(3612),
    [anon_sym_SLASH] = ACTIONS(3612),
    [anon_sym_PERCENT] = ACTIONS(3612),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(3614),
  },
  [5117] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(11440),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [5118] = {
    [sym__simple_heredoc_body] = ACTIONS(3844),
    [sym__heredoc_body_beginning] = ACTIONS(3844),
    [sym__string_middle] = ACTIONS(3844),
    [sym__string_end] = ACTIONS(3844),
    [sym__element_reference_left_bracket] = ACTIONS(3844),
    [sym__scope_double_colon] = ACTIONS(3844),
    [sym__binary_minus] = ACTIONS(3844),
    [sym__binary_star] = ACTIONS(3844),
    [anon_sym_DOT] = ACTIONS(3846),
    [anon_sym_COMMA] = ACTIONS(3844),
    [anon_sym_PIPE] = ACTIONS(3846),
    [anon_sym_STAR_STAR] = ACTIONS(3844),
    [anon_sym_AMP] = ACTIONS(3846),
    [anon_sym_LT] = ACTIONS(3846),
    [anon_sym_if] = ACTIONS(3844),
    [anon_sym_unless] = ACTIONS(3844),
    [anon_sym_while] = ACTIONS(3844),
    [anon_sym_until] = ACTIONS(3844),
    [anon_sym_rescue] = ACTIONS(3844),
    [anon_sym_EQ_GT] = ACTIONS(3844),
    [anon_sym_AMP_DOT] = ACTIONS(3844),
    [anon_sym_QMARK] = ACTIONS(3844),
    [anon_sym_DOT_DOT] = ACTIONS(3846),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3844),
    [anon_sym_and] = ACTIONS(3844),
    [anon_sym_or] = ACTIONS(3844),
    [anon_sym_PIPE_PIPE] = ACTIONS(3844),
    [anon_sym_AMP_AMP] = ACTIONS(3844),
    [anon_sym_LT_LT] = ACTIONS(3844),
    [anon_sym_GT_GT] = ACTIONS(3844),
    [anon_sym_EQ_EQ] = ACTIONS(3846),
    [anon_sym_BANG_EQ] = ACTIONS(3844),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3844),
    [anon_sym_LT_EQ_GT] = ACTIONS(3844),
    [anon_sym_EQ_TILDE] = ACTIONS(3844),
    [anon_sym_BANG_TILDE] = ACTIONS(3844),
    [anon_sym_LT_EQ] = ACTIONS(3846),
    [anon_sym_GT] = ACTIONS(3846),
    [anon_sym_GT_EQ] = ACTIONS(3844),
    [anon_sym_CARET] = ACTIONS(3844),
    [anon_sym_PLUS] = ACTIONS(3844),
    [anon_sym_SLASH] = ACTIONS(3844),
    [anon_sym_PERCENT] = ACTIONS(3844),
    [sym_comment] = ACTIONS(110),
  },
  [5119] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(11442),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [5120] = {
    [sym__simple_heredoc_body] = ACTIONS(3850),
    [sym__heredoc_body_beginning] = ACTIONS(3850),
    [sym__string_middle] = ACTIONS(3850),
    [sym__string_end] = ACTIONS(3850),
    [sym__element_reference_left_bracket] = ACTIONS(3850),
    [sym__scope_double_colon] = ACTIONS(3850),
    [sym__binary_minus] = ACTIONS(3850),
    [sym__binary_star] = ACTIONS(3850),
    [anon_sym_DOT] = ACTIONS(3852),
    [anon_sym_COMMA] = ACTIONS(3850),
    [anon_sym_PIPE] = ACTIONS(3852),
    [anon_sym_STAR_STAR] = ACTIONS(3850),
    [anon_sym_AMP] = ACTIONS(3852),
    [anon_sym_LT] = ACTIONS(3852),
    [anon_sym_if] = ACTIONS(3850),
    [anon_sym_unless] = ACTIONS(3850),
    [anon_sym_while] = ACTIONS(3850),
    [anon_sym_until] = ACTIONS(3850),
    [anon_sym_rescue] = ACTIONS(3850),
    [anon_sym_EQ_GT] = ACTIONS(3850),
    [anon_sym_AMP_DOT] = ACTIONS(3850),
    [anon_sym_QMARK] = ACTIONS(3850),
    [anon_sym_DOT_DOT] = ACTIONS(3852),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3850),
    [anon_sym_and] = ACTIONS(3850),
    [anon_sym_or] = ACTIONS(3850),
    [anon_sym_PIPE_PIPE] = ACTIONS(3850),
    [anon_sym_AMP_AMP] = ACTIONS(3850),
    [anon_sym_LT_LT] = ACTIONS(3850),
    [anon_sym_GT_GT] = ACTIONS(3850),
    [anon_sym_EQ_EQ] = ACTIONS(3852),
    [anon_sym_BANG_EQ] = ACTIONS(3850),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3850),
    [anon_sym_LT_EQ_GT] = ACTIONS(3850),
    [anon_sym_EQ_TILDE] = ACTIONS(3850),
    [anon_sym_BANG_TILDE] = ACTIONS(3850),
    [anon_sym_LT_EQ] = ACTIONS(3852),
    [anon_sym_GT] = ACTIONS(3852),
    [anon_sym_GT_EQ] = ACTIONS(3850),
    [anon_sym_CARET] = ACTIONS(3850),
    [anon_sym_PLUS] = ACTIONS(3850),
    [anon_sym_SLASH] = ACTIONS(3850),
    [anon_sym_PERCENT] = ACTIONS(3850),
    [sym_comment] = ACTIONS(110),
  },
  [5121] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(11444),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [5122] = {
    [sym__simple_heredoc_body] = ACTIONS(3856),
    [sym__heredoc_body_beginning] = ACTIONS(3856),
    [sym__string_middle] = ACTIONS(3856),
    [sym__string_end] = ACTIONS(3856),
    [sym__element_reference_left_bracket] = ACTIONS(3856),
    [sym__scope_double_colon] = ACTIONS(3856),
    [sym__binary_minus] = ACTIONS(3856),
    [sym__binary_star] = ACTIONS(3856),
    [anon_sym_DOT] = ACTIONS(3858),
    [anon_sym_COMMA] = ACTIONS(3856),
    [anon_sym_PIPE] = ACTIONS(3858),
    [anon_sym_STAR_STAR] = ACTIONS(3856),
    [anon_sym_AMP] = ACTIONS(3858),
    [anon_sym_LT] = ACTIONS(3858),
    [anon_sym_if] = ACTIONS(3856),
    [anon_sym_unless] = ACTIONS(3856),
    [anon_sym_while] = ACTIONS(3856),
    [anon_sym_until] = ACTIONS(3856),
    [anon_sym_rescue] = ACTIONS(3856),
    [anon_sym_EQ_GT] = ACTIONS(3856),
    [anon_sym_AMP_DOT] = ACTIONS(3856),
    [anon_sym_QMARK] = ACTIONS(3856),
    [anon_sym_DOT_DOT] = ACTIONS(3858),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3856),
    [anon_sym_and] = ACTIONS(3856),
    [anon_sym_or] = ACTIONS(3856),
    [anon_sym_PIPE_PIPE] = ACTIONS(3856),
    [anon_sym_AMP_AMP] = ACTIONS(3856),
    [anon_sym_LT_LT] = ACTIONS(3856),
    [anon_sym_GT_GT] = ACTIONS(3856),
    [anon_sym_EQ_EQ] = ACTIONS(3858),
    [anon_sym_BANG_EQ] = ACTIONS(3856),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3856),
    [anon_sym_LT_EQ_GT] = ACTIONS(3856),
    [anon_sym_EQ_TILDE] = ACTIONS(3856),
    [anon_sym_BANG_TILDE] = ACTIONS(3856),
    [anon_sym_LT_EQ] = ACTIONS(3858),
    [anon_sym_GT] = ACTIONS(3858),
    [anon_sym_GT_EQ] = ACTIONS(3856),
    [anon_sym_CARET] = ACTIONS(3856),
    [anon_sym_PLUS] = ACTIONS(3856),
    [anon_sym_SLASH] = ACTIONS(3856),
    [anon_sym_PERCENT] = ACTIONS(3856),
    [sym_comment] = ACTIONS(110),
  },
  [5123] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(11446),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [5124] = {
    [sym__simple_heredoc_body] = ACTIONS(3862),
    [sym__heredoc_body_beginning] = ACTIONS(3862),
    [sym__string_middle] = ACTIONS(3862),
    [sym__string_end] = ACTIONS(3862),
    [sym__element_reference_left_bracket] = ACTIONS(3862),
    [sym__scope_double_colon] = ACTIONS(3862),
    [sym__binary_minus] = ACTIONS(3862),
    [sym__binary_star] = ACTIONS(3862),
    [anon_sym_DOT] = ACTIONS(3864),
    [anon_sym_COMMA] = ACTIONS(3862),
    [anon_sym_PIPE] = ACTIONS(3864),
    [anon_sym_STAR_STAR] = ACTIONS(3862),
    [anon_sym_AMP] = ACTIONS(3864),
    [anon_sym_LT] = ACTIONS(3864),
    [anon_sym_if] = ACTIONS(3862),
    [anon_sym_unless] = ACTIONS(3862),
    [anon_sym_while] = ACTIONS(3862),
    [anon_sym_until] = ACTIONS(3862),
    [anon_sym_rescue] = ACTIONS(3862),
    [anon_sym_EQ_GT] = ACTIONS(3862),
    [anon_sym_AMP_DOT] = ACTIONS(3862),
    [anon_sym_QMARK] = ACTIONS(3862),
    [anon_sym_DOT_DOT] = ACTIONS(3864),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3862),
    [anon_sym_and] = ACTIONS(3862),
    [anon_sym_or] = ACTIONS(3862),
    [anon_sym_PIPE_PIPE] = ACTIONS(3862),
    [anon_sym_AMP_AMP] = ACTIONS(3862),
    [anon_sym_LT_LT] = ACTIONS(3862),
    [anon_sym_GT_GT] = ACTIONS(3862),
    [anon_sym_EQ_EQ] = ACTIONS(3864),
    [anon_sym_BANG_EQ] = ACTIONS(3862),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3862),
    [anon_sym_LT_EQ_GT] = ACTIONS(3862),
    [anon_sym_EQ_TILDE] = ACTIONS(3862),
    [anon_sym_BANG_TILDE] = ACTIONS(3862),
    [anon_sym_LT_EQ] = ACTIONS(3864),
    [anon_sym_GT] = ACTIONS(3864),
    [anon_sym_GT_EQ] = ACTIONS(3862),
    [anon_sym_CARET] = ACTIONS(3862),
    [anon_sym_PLUS] = ACTIONS(3862),
    [anon_sym_SLASH] = ACTIONS(3862),
    [anon_sym_PERCENT] = ACTIONS(3862),
    [sym_comment] = ACTIONS(110),
  },
  [5125] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(11448),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [5126] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(11450),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [5127] = {
    [sym__statement] = STATE(8514),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [5128] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__string_middle] = ACTIONS(1372),
    [sym__string_end] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_STAR_STAR] = ACTIONS(7388),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_if] = ACTIONS(1372),
    [anon_sym_unless] = ACTIONS(1372),
    [anon_sym_while] = ACTIONS(1372),
    [anon_sym_until] = ACTIONS(1372),
    [anon_sym_rescue] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [5129] = {
    [sym__simple_string] = ACTIONS(2010),
    [sym__simple_symbol] = ACTIONS(2010),
    [sym__simple_subshell] = ACTIONS(2010),
    [sym__simple_regex] = ACTIONS(2010),
    [sym__simple_word_list] = ACTIONS(2010),
    [sym__simple_heredoc_body] = ACTIONS(2010),
    [sym__string_beginning] = ACTIONS(2010),
    [sym__symbol_beginning] = ACTIONS(2010),
    [sym__subshell_beginning] = ACTIONS(2010),
    [sym__regex_beginning] = ACTIONS(2010),
    [sym__word_list_beginning] = ACTIONS(2010),
    [sym__heredoc_body_beginning] = ACTIONS(2010),
    [sym__string_middle] = ACTIONS(2010),
    [sym__string_end] = ACTIONS(2010),
    [sym_heredoc_beginning] = ACTIONS(2010),
    [sym__element_reference_left_bracket] = ACTIONS(2010),
    [sym__block_ampersand] = ACTIONS(2010),
    [sym__splat_star] = ACTIONS(2010),
    [sym__argument_list_left_paren] = ACTIONS(2010),
    [sym__scope_double_colon] = ACTIONS(2010),
    [sym__unary_minus] = ACTIONS(2010),
    [sym__binary_minus] = ACTIONS(2010),
    [sym__binary_star] = ACTIONS(2010),
    [anon_sym_LBRACE] = ACTIONS(2010),
    [anon_sym_def] = ACTIONS(2012),
    [anon_sym_LPAREN] = ACTIONS(2010),
    [anon_sym_DOT] = ACTIONS(2012),
    [anon_sym_COLON_COLON] = ACTIONS(2010),
    [anon_sym_end] = ACTIONS(2012),
    [anon_sym_COMMA] = ACTIONS(2010),
    [anon_sym_PIPE] = ACTIONS(2012),
    [anon_sym_STAR] = ACTIONS(2012),
    [anon_sym_STAR_STAR] = ACTIONS(2012),
    [anon_sym_AMP] = ACTIONS(2012),
    [anon_sym_EQ] = ACTIONS(2012),
    [anon_sym_class] = ACTIONS(2012),
    [anon_sym_LT] = ACTIONS(2012),
    [anon_sym_module] = ACTIONS(2012),
    [anon_sym_return] = ACTIONS(2012),
    [anon_sym_yield] = ACTIONS(2012),
    [anon_sym_break] = ACTIONS(2012),
    [anon_sym_next] = ACTIONS(2012),
    [anon_sym_redo] = ACTIONS(2012),
    [anon_sym_retry] = ACTIONS(2012),
    [anon_sym_if] = ACTIONS(2012),
    [anon_sym_unless] = ACTIONS(2012),
    [anon_sym_while] = ACTIONS(2012),
    [anon_sym_until] = ACTIONS(2012),
    [anon_sym_rescue] = ACTIONS(2012),
    [anon_sym_for] = ACTIONS(2012),
    [anon_sym_in] = ACTIONS(2012),
    [anon_sym_do] = ACTIONS(2012),
    [anon_sym_case] = ACTIONS(2012),
    [anon_sym_when] = ACTIONS(2012),
    [anon_sym_elsif] = ACTIONS(2012),
    [anon_sym_else] = ACTIONS(2012),
    [anon_sym_then] = ACTIONS(2012),
    [anon_sym_begin] = ACTIONS(2012),
    [anon_sym_ensure] = ACTIONS(2012),
    [anon_sym_AMP_DOT] = ACTIONS(2010),
    [anon_sym_PLUS_EQ] = ACTIONS(2010),
    [anon_sym_DASH_EQ] = ACTIONS(2010),
    [anon_sym_STAR_EQ] = ACTIONS(2010),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2010),
    [anon_sym_SLASH_EQ] = ACTIONS(2010),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2010),
    [anon_sym_PIPE_EQ] = ACTIONS(2010),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2010),
    [anon_sym_AMP_EQ] = ACTIONS(2010),
    [anon_sym_PERCENT_EQ] = ACTIONS(2010),
    [anon_sym_GT_GT_EQ] = ACTIONS(2010),
    [anon_sym_LT_LT_EQ] = ACTIONS(2010),
    [anon_sym_CARET_EQ] = ACTIONS(2010),
    [anon_sym_QMARK] = ACTIONS(2012),
    [anon_sym_DOT_DOT] = ACTIONS(2012),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2010),
    [anon_sym_and] = ACTIONS(2012),
    [anon_sym_or] = ACTIONS(2012),
    [anon_sym_PIPE_PIPE] = ACTIONS(2012),
    [anon_sym_AMP_AMP] = ACTIONS(2012),
    [anon_sym_LT_LT] = ACTIONS(2012),
    [anon_sym_GT_GT] = ACTIONS(2012),
    [anon_sym_EQ_EQ] = ACTIONS(2012),
    [anon_sym_BANG_EQ] = ACTIONS(2010),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2010),
    [anon_sym_LT_EQ_GT] = ACTIONS(2010),
    [anon_sym_EQ_TILDE] = ACTIONS(2010),
    [anon_sym_BANG_TILDE] = ACTIONS(2010),
    [anon_sym_LT_EQ] = ACTIONS(2012),
    [anon_sym_GT] = ACTIONS(2012),
    [anon_sym_GT_EQ] = ACTIONS(2010),
    [anon_sym_CARET] = ACTIONS(2012),
    [anon_sym_PLUS] = ACTIONS(2012),
    [anon_sym_SLASH] = ACTIONS(2012),
    [anon_sym_PERCENT] = ACTIONS(2012),
    [anon_sym_defined_QMARK] = ACTIONS(2010),
    [anon_sym_not] = ACTIONS(2012),
    [anon_sym_BANG] = ACTIONS(2012),
    [anon_sym_TILDE] = ACTIONS(2010),
    [sym_constant] = ACTIONS(2014),
    [sym_identifier] = ACTIONS(2014),
    [sym_instance_variable] = ACTIONS(2012),
    [sym_class_variable] = ACTIONS(2012),
    [sym_global_variable] = ACTIONS(2012),
    [anon_sym_alias] = ACTIONS(2012),
    [anon_sym_defined] = ACTIONS(2012),
    [anon_sym_false] = ACTIONS(2012),
    [anon_sym_nil] = ACTIONS(2012),
    [anon_sym_self] = ACTIONS(2012),
    [anon_sym_super] = ACTIONS(2012),
    [anon_sym_true] = ACTIONS(2012),
    [anon_sym_undef] = ACTIONS(2012),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(2012),
    [sym_float] = ACTIONS(2014),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(2010),
    [anon_sym_TRUE] = ACTIONS(2012),
    [anon_sym_FALSE] = ACTIONS(2012),
    [anon_sym_NIL] = ACTIONS(2012),
    [sym_keyword__FILE__] = ACTIONS(2012),
    [sym_keyword__LINE__] = ACTIONS(2012),
    [sym_keyword__ENCODING__] = ACTIONS(2012),
    [sym__character_literal] = ACTIONS(2012),
    [anon_sym_LBRACK] = ACTIONS(2010),
    [anon_sym_DASH_GT] = ACTIONS(2010),
  },
  [5130] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__string_middle] = ACTIONS(2870),
    [sym__string_end] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(7388),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [5131] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__string_middle] = ACTIONS(2870),
    [sym__string_end] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(7382),
    [sym__binary_star] = ACTIONS(7384),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(7386),
    [anon_sym_STAR_STAR] = ACTIONS(7388),
    [anon_sym_AMP] = ACTIONS(7390),
    [anon_sym_LT] = ACTIONS(7392),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(7394),
    [anon_sym_DOT_DOT] = ACTIONS(7396),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7398),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(7400),
    [anon_sym_AMP_AMP] = ACTIONS(7400),
    [anon_sym_LT_LT] = ACTIONS(7402),
    [anon_sym_GT_GT] = ACTIONS(7402),
    [anon_sym_EQ_EQ] = ACTIONS(7404),
    [anon_sym_BANG_EQ] = ACTIONS(7400),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7400),
    [anon_sym_LT_EQ_GT] = ACTIONS(7400),
    [anon_sym_EQ_TILDE] = ACTIONS(7400),
    [anon_sym_BANG_TILDE] = ACTIONS(7400),
    [anon_sym_LT_EQ] = ACTIONS(7392),
    [anon_sym_GT] = ACTIONS(7392),
    [anon_sym_GT_EQ] = ACTIONS(7406),
    [anon_sym_CARET] = ACTIONS(7408),
    [anon_sym_PLUS] = ACTIONS(7410),
    [anon_sym_SLASH] = ACTIONS(7388),
    [anon_sym_PERCENT] = ACTIONS(7388),
    [sym_comment] = ACTIONS(110),
  },
  [5132] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(8515),
    [sym__primary] = STATE(2281),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(2282),
    [sym_scope_resolution] = STATE(2283),
    [sym_call] = STATE(2283),
    [sym_method_call] = STATE(2282),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(2284),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2285),
    [sym__variable] = STATE(2283),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(2274),
    [sym_true] = STATE(2282),
    [sym_false] = STATE(2282),
    [sym_self] = STATE(2274),
    [sym_nil] = STATE(2282),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2286),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(3410),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__string_beginning] = ACTIONS(3412),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__unary_minus] = ACTIONS(3414),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(3416),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_COLON_COLON] = ACTIONS(3418),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3420),
    [anon_sym_module] = ACTIONS(3422),
    [anon_sym_return] = ACTIONS(3424),
    [anon_sym_yield] = ACTIONS(3426),
    [anon_sym_break] = ACTIONS(3428),
    [anon_sym_next] = ACTIONS(3430),
    [anon_sym_redo] = ACTIONS(3432),
    [anon_sym_retry] = ACTIONS(3434),
    [anon_sym_if] = ACTIONS(3436),
    [anon_sym_unless] = ACTIONS(3438),
    [anon_sym_while] = ACTIONS(3440),
    [anon_sym_until] = ACTIONS(3442),
    [anon_sym_for] = ACTIONS(3444),
    [anon_sym_case] = ACTIONS(3446),
    [anon_sym_begin] = ACTIONS(3448),
    [anon_sym_PLUS] = ACTIONS(3450),
    [anon_sym_defined_QMARK] = ACTIONS(3452),
    [anon_sym_not] = ACTIONS(3454),
    [anon_sym_BANG] = ACTIONS(3456),
    [anon_sym_TILDE] = ACTIONS(3456),
    [sym_constant] = ACTIONS(3458),
    [sym_identifier] = ACTIONS(3458),
    [sym_instance_variable] = ACTIONS(3460),
    [sym_class_variable] = ACTIONS(3460),
    [sym_global_variable] = ACTIONS(3460),
    [anon_sym_false] = ACTIONS(3462),
    [anon_sym_nil] = ACTIONS(3464),
    [anon_sym_self] = ACTIONS(3466),
    [anon_sym_super] = ACTIONS(3468),
    [anon_sym_true] = ACTIONS(3470),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(3470),
    [anon_sym_FALSE] = ACTIONS(3462),
    [anon_sym_NIL] = ACTIONS(3464),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(3472),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [5133] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(8516),
    [sym__primary] = STATE(2281),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(2282),
    [sym_scope_resolution] = STATE(2283),
    [sym_call] = STATE(2283),
    [sym_method_call] = STATE(2282),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(2284),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2285),
    [sym__variable] = STATE(2283),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(2274),
    [sym_true] = STATE(2282),
    [sym_false] = STATE(2282),
    [sym_self] = STATE(2274),
    [sym_nil] = STATE(2282),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2286),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(3410),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__string_beginning] = ACTIONS(3412),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__unary_minus] = ACTIONS(3414),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(3416),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_COLON_COLON] = ACTIONS(3418),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3420),
    [anon_sym_module] = ACTIONS(3422),
    [anon_sym_return] = ACTIONS(3424),
    [anon_sym_yield] = ACTIONS(3426),
    [anon_sym_break] = ACTIONS(3428),
    [anon_sym_next] = ACTIONS(3430),
    [anon_sym_redo] = ACTIONS(3432),
    [anon_sym_retry] = ACTIONS(3434),
    [anon_sym_if] = ACTIONS(3436),
    [anon_sym_unless] = ACTIONS(3438),
    [anon_sym_while] = ACTIONS(3440),
    [anon_sym_until] = ACTIONS(3442),
    [anon_sym_for] = ACTIONS(3444),
    [anon_sym_case] = ACTIONS(3446),
    [anon_sym_begin] = ACTIONS(3448),
    [anon_sym_PLUS] = ACTIONS(3450),
    [anon_sym_defined_QMARK] = ACTIONS(3452),
    [anon_sym_not] = ACTIONS(3454),
    [anon_sym_BANG] = ACTIONS(3456),
    [anon_sym_TILDE] = ACTIONS(3456),
    [sym_constant] = ACTIONS(3458),
    [sym_identifier] = ACTIONS(3458),
    [sym_instance_variable] = ACTIONS(3460),
    [sym_class_variable] = ACTIONS(3460),
    [sym_global_variable] = ACTIONS(3460),
    [anon_sym_false] = ACTIONS(3462),
    [anon_sym_nil] = ACTIONS(3464),
    [anon_sym_self] = ACTIONS(3466),
    [anon_sym_super] = ACTIONS(3468),
    [anon_sym_true] = ACTIONS(3470),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(3470),
    [anon_sym_FALSE] = ACTIONS(3462),
    [anon_sym_NIL] = ACTIONS(3464),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(3472),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [5134] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(8517),
    [sym__primary] = STATE(2281),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(2282),
    [sym_scope_resolution] = STATE(2283),
    [sym_call] = STATE(2283),
    [sym_method_call] = STATE(2282),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(2284),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2285),
    [sym__variable] = STATE(2283),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(2274),
    [sym_true] = STATE(2282),
    [sym_false] = STATE(2282),
    [sym_self] = STATE(2274),
    [sym_nil] = STATE(2282),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2286),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(3410),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__string_beginning] = ACTIONS(3412),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__unary_minus] = ACTIONS(3414),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(3416),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_COLON_COLON] = ACTIONS(3418),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3420),
    [anon_sym_module] = ACTIONS(3422),
    [anon_sym_return] = ACTIONS(3424),
    [anon_sym_yield] = ACTIONS(3426),
    [anon_sym_break] = ACTIONS(3428),
    [anon_sym_next] = ACTIONS(3430),
    [anon_sym_redo] = ACTIONS(3432),
    [anon_sym_retry] = ACTIONS(3434),
    [anon_sym_if] = ACTIONS(3436),
    [anon_sym_unless] = ACTIONS(3438),
    [anon_sym_while] = ACTIONS(3440),
    [anon_sym_until] = ACTIONS(3442),
    [anon_sym_for] = ACTIONS(3444),
    [anon_sym_case] = ACTIONS(3446),
    [anon_sym_begin] = ACTIONS(3448),
    [anon_sym_PLUS] = ACTIONS(3450),
    [anon_sym_defined_QMARK] = ACTIONS(3452),
    [anon_sym_not] = ACTIONS(3454),
    [anon_sym_BANG] = ACTIONS(3456),
    [anon_sym_TILDE] = ACTIONS(3456),
    [sym_constant] = ACTIONS(3458),
    [sym_identifier] = ACTIONS(3458),
    [sym_instance_variable] = ACTIONS(3460),
    [sym_class_variable] = ACTIONS(3460),
    [sym_global_variable] = ACTIONS(3460),
    [anon_sym_false] = ACTIONS(3462),
    [anon_sym_nil] = ACTIONS(3464),
    [anon_sym_self] = ACTIONS(3466),
    [anon_sym_super] = ACTIONS(3468),
    [anon_sym_true] = ACTIONS(3470),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(3470),
    [anon_sym_FALSE] = ACTIONS(3462),
    [anon_sym_NIL] = ACTIONS(3464),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(3472),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [5135] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(8518),
    [sym__primary] = STATE(2281),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(2282),
    [sym_scope_resolution] = STATE(2283),
    [sym_call] = STATE(2283),
    [sym_method_call] = STATE(2282),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(2284),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2285),
    [sym__variable] = STATE(2283),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(2274),
    [sym_true] = STATE(2282),
    [sym_false] = STATE(2282),
    [sym_self] = STATE(2274),
    [sym_nil] = STATE(2282),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2286),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(3410),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__string_beginning] = ACTIONS(3412),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__unary_minus] = ACTIONS(3414),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(3416),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_COLON_COLON] = ACTIONS(3418),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3420),
    [anon_sym_module] = ACTIONS(3422),
    [anon_sym_return] = ACTIONS(3424),
    [anon_sym_yield] = ACTIONS(3426),
    [anon_sym_break] = ACTIONS(3428),
    [anon_sym_next] = ACTIONS(3430),
    [anon_sym_redo] = ACTIONS(3432),
    [anon_sym_retry] = ACTIONS(3434),
    [anon_sym_if] = ACTIONS(3436),
    [anon_sym_unless] = ACTIONS(3438),
    [anon_sym_while] = ACTIONS(3440),
    [anon_sym_until] = ACTIONS(3442),
    [anon_sym_for] = ACTIONS(3444),
    [anon_sym_case] = ACTIONS(3446),
    [anon_sym_begin] = ACTIONS(3448),
    [anon_sym_PLUS] = ACTIONS(3450),
    [anon_sym_defined_QMARK] = ACTIONS(3452),
    [anon_sym_not] = ACTIONS(3454),
    [anon_sym_BANG] = ACTIONS(3456),
    [anon_sym_TILDE] = ACTIONS(3456),
    [sym_constant] = ACTIONS(3458),
    [sym_identifier] = ACTIONS(3458),
    [sym_instance_variable] = ACTIONS(3460),
    [sym_class_variable] = ACTIONS(3460),
    [sym_global_variable] = ACTIONS(3460),
    [anon_sym_false] = ACTIONS(3462),
    [anon_sym_nil] = ACTIONS(3464),
    [anon_sym_self] = ACTIONS(3466),
    [anon_sym_super] = ACTIONS(3468),
    [anon_sym_true] = ACTIONS(3470),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(3470),
    [anon_sym_FALSE] = ACTIONS(3462),
    [anon_sym_NIL] = ACTIONS(3464),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(3472),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [5136] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(8519),
    [sym__primary] = STATE(2281),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(2282),
    [sym_scope_resolution] = STATE(2283),
    [sym_call] = STATE(2283),
    [sym_method_call] = STATE(2282),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(2284),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2285),
    [sym__variable] = STATE(2283),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(2274),
    [sym_true] = STATE(2282),
    [sym_false] = STATE(2282),
    [sym_self] = STATE(2274),
    [sym_nil] = STATE(2282),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2286),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(3410),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__string_beginning] = ACTIONS(3412),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__unary_minus] = ACTIONS(3414),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(3416),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_COLON_COLON] = ACTIONS(3418),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3420),
    [anon_sym_module] = ACTIONS(3422),
    [anon_sym_return] = ACTIONS(3424),
    [anon_sym_yield] = ACTIONS(3426),
    [anon_sym_break] = ACTIONS(3428),
    [anon_sym_next] = ACTIONS(3430),
    [anon_sym_redo] = ACTIONS(3432),
    [anon_sym_retry] = ACTIONS(3434),
    [anon_sym_if] = ACTIONS(3436),
    [anon_sym_unless] = ACTIONS(3438),
    [anon_sym_while] = ACTIONS(3440),
    [anon_sym_until] = ACTIONS(3442),
    [anon_sym_for] = ACTIONS(3444),
    [anon_sym_case] = ACTIONS(3446),
    [anon_sym_begin] = ACTIONS(3448),
    [anon_sym_PLUS] = ACTIONS(3450),
    [anon_sym_defined_QMARK] = ACTIONS(3452),
    [anon_sym_not] = ACTIONS(3454),
    [anon_sym_BANG] = ACTIONS(3456),
    [anon_sym_TILDE] = ACTIONS(3456),
    [sym_constant] = ACTIONS(3458),
    [sym_identifier] = ACTIONS(3458),
    [sym_instance_variable] = ACTIONS(3460),
    [sym_class_variable] = ACTIONS(3460),
    [sym_global_variable] = ACTIONS(3460),
    [anon_sym_false] = ACTIONS(3462),
    [anon_sym_nil] = ACTIONS(3464),
    [anon_sym_self] = ACTIONS(3466),
    [anon_sym_super] = ACTIONS(3468),
    [anon_sym_true] = ACTIONS(3470),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(3470),
    [anon_sym_FALSE] = ACTIONS(3462),
    [anon_sym_NIL] = ACTIONS(3464),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(3472),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [5137] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(8520),
    [sym__primary] = STATE(2281),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(2282),
    [sym_scope_resolution] = STATE(2283),
    [sym_call] = STATE(2283),
    [sym_method_call] = STATE(2282),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(2284),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2285),
    [sym__variable] = STATE(2283),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(2274),
    [sym_true] = STATE(2282),
    [sym_false] = STATE(2282),
    [sym_self] = STATE(2274),
    [sym_nil] = STATE(2282),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2286),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(3410),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__string_beginning] = ACTIONS(3412),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__unary_minus] = ACTIONS(3414),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(3416),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_COLON_COLON] = ACTIONS(3418),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3420),
    [anon_sym_module] = ACTIONS(3422),
    [anon_sym_return] = ACTIONS(3424),
    [anon_sym_yield] = ACTIONS(3426),
    [anon_sym_break] = ACTIONS(3428),
    [anon_sym_next] = ACTIONS(3430),
    [anon_sym_redo] = ACTIONS(3432),
    [anon_sym_retry] = ACTIONS(3434),
    [anon_sym_if] = ACTIONS(3436),
    [anon_sym_unless] = ACTIONS(3438),
    [anon_sym_while] = ACTIONS(3440),
    [anon_sym_until] = ACTIONS(3442),
    [anon_sym_for] = ACTIONS(3444),
    [anon_sym_case] = ACTIONS(3446),
    [anon_sym_begin] = ACTIONS(3448),
    [anon_sym_PLUS] = ACTIONS(3450),
    [anon_sym_defined_QMARK] = ACTIONS(3452),
    [anon_sym_not] = ACTIONS(3454),
    [anon_sym_BANG] = ACTIONS(3456),
    [anon_sym_TILDE] = ACTIONS(3456),
    [sym_constant] = ACTIONS(3458),
    [sym_identifier] = ACTIONS(3458),
    [sym_instance_variable] = ACTIONS(3460),
    [sym_class_variable] = ACTIONS(3460),
    [sym_global_variable] = ACTIONS(3460),
    [anon_sym_false] = ACTIONS(3462),
    [anon_sym_nil] = ACTIONS(3464),
    [anon_sym_self] = ACTIONS(3466),
    [anon_sym_super] = ACTIONS(3468),
    [anon_sym_true] = ACTIONS(3470),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(3470),
    [anon_sym_FALSE] = ACTIONS(3462),
    [anon_sym_NIL] = ACTIONS(3464),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(3472),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [5138] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(8521),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [5139] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(8522),
    [sym__primary] = STATE(2281),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(2282),
    [sym_scope_resolution] = STATE(2283),
    [sym_call] = STATE(2283),
    [sym_method_call] = STATE(2282),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(2284),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2285),
    [sym__variable] = STATE(2283),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(2274),
    [sym_true] = STATE(2282),
    [sym_false] = STATE(2282),
    [sym_self] = STATE(2274),
    [sym_nil] = STATE(2282),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2286),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(3410),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__string_beginning] = ACTIONS(3412),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__unary_minus] = ACTIONS(3414),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(3416),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_COLON_COLON] = ACTIONS(3418),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3420),
    [anon_sym_module] = ACTIONS(3422),
    [anon_sym_return] = ACTIONS(3424),
    [anon_sym_yield] = ACTIONS(3426),
    [anon_sym_break] = ACTIONS(3428),
    [anon_sym_next] = ACTIONS(3430),
    [anon_sym_redo] = ACTIONS(3432),
    [anon_sym_retry] = ACTIONS(3434),
    [anon_sym_if] = ACTIONS(3436),
    [anon_sym_unless] = ACTIONS(3438),
    [anon_sym_while] = ACTIONS(3440),
    [anon_sym_until] = ACTIONS(3442),
    [anon_sym_for] = ACTIONS(3444),
    [anon_sym_case] = ACTIONS(3446),
    [anon_sym_begin] = ACTIONS(3448),
    [anon_sym_PLUS] = ACTIONS(3450),
    [anon_sym_defined_QMARK] = ACTIONS(3452),
    [anon_sym_not] = ACTIONS(3454),
    [anon_sym_BANG] = ACTIONS(3456),
    [anon_sym_TILDE] = ACTIONS(3456),
    [sym_constant] = ACTIONS(3458),
    [sym_identifier] = ACTIONS(3458),
    [sym_instance_variable] = ACTIONS(3460),
    [sym_class_variable] = ACTIONS(3460),
    [sym_global_variable] = ACTIONS(3460),
    [anon_sym_false] = ACTIONS(3462),
    [anon_sym_nil] = ACTIONS(3464),
    [anon_sym_self] = ACTIONS(3466),
    [anon_sym_super] = ACTIONS(3468),
    [anon_sym_true] = ACTIONS(3470),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(3470),
    [anon_sym_FALSE] = ACTIONS(3462),
    [anon_sym_NIL] = ACTIONS(3464),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(3472),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [5140] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(8523),
    [sym__primary] = STATE(2281),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(2282),
    [sym_scope_resolution] = STATE(2283),
    [sym_call] = STATE(2283),
    [sym_method_call] = STATE(2282),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(2284),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2285),
    [sym__variable] = STATE(2283),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(2274),
    [sym_true] = STATE(2282),
    [sym_false] = STATE(2282),
    [sym_self] = STATE(2274),
    [sym_nil] = STATE(2282),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2286),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(3410),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__string_beginning] = ACTIONS(3412),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__unary_minus] = ACTIONS(3414),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(3416),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_COLON_COLON] = ACTIONS(3418),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3420),
    [anon_sym_module] = ACTIONS(3422),
    [anon_sym_return] = ACTIONS(3424),
    [anon_sym_yield] = ACTIONS(3426),
    [anon_sym_break] = ACTIONS(3428),
    [anon_sym_next] = ACTIONS(3430),
    [anon_sym_redo] = ACTIONS(3432),
    [anon_sym_retry] = ACTIONS(3434),
    [anon_sym_if] = ACTIONS(3436),
    [anon_sym_unless] = ACTIONS(3438),
    [anon_sym_while] = ACTIONS(3440),
    [anon_sym_until] = ACTIONS(3442),
    [anon_sym_for] = ACTIONS(3444),
    [anon_sym_case] = ACTIONS(3446),
    [anon_sym_begin] = ACTIONS(3448),
    [anon_sym_PLUS] = ACTIONS(3450),
    [anon_sym_defined_QMARK] = ACTIONS(3452),
    [anon_sym_not] = ACTIONS(3454),
    [anon_sym_BANG] = ACTIONS(3456),
    [anon_sym_TILDE] = ACTIONS(3456),
    [sym_constant] = ACTIONS(3458),
    [sym_identifier] = ACTIONS(3458),
    [sym_instance_variable] = ACTIONS(3460),
    [sym_class_variable] = ACTIONS(3460),
    [sym_global_variable] = ACTIONS(3460),
    [anon_sym_false] = ACTIONS(3462),
    [anon_sym_nil] = ACTIONS(3464),
    [anon_sym_self] = ACTIONS(3466),
    [anon_sym_super] = ACTIONS(3468),
    [anon_sym_true] = ACTIONS(3470),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(3470),
    [anon_sym_FALSE] = ACTIONS(3462),
    [anon_sym_NIL] = ACTIONS(3464),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(3472),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [5141] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(8524),
    [sym__primary] = STATE(2281),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(2282),
    [sym_scope_resolution] = STATE(2283),
    [sym_call] = STATE(2283),
    [sym_method_call] = STATE(2282),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(2284),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2285),
    [sym__variable] = STATE(2283),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(2274),
    [sym_true] = STATE(2282),
    [sym_false] = STATE(2282),
    [sym_self] = STATE(2274),
    [sym_nil] = STATE(2282),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2286),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(3410),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__string_beginning] = ACTIONS(3412),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__unary_minus] = ACTIONS(3414),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(3416),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_COLON_COLON] = ACTIONS(3418),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3420),
    [anon_sym_module] = ACTIONS(3422),
    [anon_sym_return] = ACTIONS(3424),
    [anon_sym_yield] = ACTIONS(3426),
    [anon_sym_break] = ACTIONS(3428),
    [anon_sym_next] = ACTIONS(3430),
    [anon_sym_redo] = ACTIONS(3432),
    [anon_sym_retry] = ACTIONS(3434),
    [anon_sym_if] = ACTIONS(3436),
    [anon_sym_unless] = ACTIONS(3438),
    [anon_sym_while] = ACTIONS(3440),
    [anon_sym_until] = ACTIONS(3442),
    [anon_sym_for] = ACTIONS(3444),
    [anon_sym_case] = ACTIONS(3446),
    [anon_sym_begin] = ACTIONS(3448),
    [anon_sym_PLUS] = ACTIONS(3450),
    [anon_sym_defined_QMARK] = ACTIONS(3452),
    [anon_sym_not] = ACTIONS(3454),
    [anon_sym_BANG] = ACTIONS(3456),
    [anon_sym_TILDE] = ACTIONS(3456),
    [sym_constant] = ACTIONS(3458),
    [sym_identifier] = ACTIONS(3458),
    [sym_instance_variable] = ACTIONS(3460),
    [sym_class_variable] = ACTIONS(3460),
    [sym_global_variable] = ACTIONS(3460),
    [anon_sym_false] = ACTIONS(3462),
    [anon_sym_nil] = ACTIONS(3464),
    [anon_sym_self] = ACTIONS(3466),
    [anon_sym_super] = ACTIONS(3468),
    [anon_sym_true] = ACTIONS(3470),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(3470),
    [anon_sym_FALSE] = ACTIONS(3462),
    [anon_sym_NIL] = ACTIONS(3464),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(3472),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [5142] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(8525),
    [sym__primary] = STATE(2281),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(2282),
    [sym_scope_resolution] = STATE(2283),
    [sym_call] = STATE(2283),
    [sym_method_call] = STATE(2282),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(2284),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2285),
    [sym__variable] = STATE(2283),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(2274),
    [sym_true] = STATE(2282),
    [sym_false] = STATE(2282),
    [sym_self] = STATE(2274),
    [sym_nil] = STATE(2282),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2286),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(3410),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__string_beginning] = ACTIONS(3412),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__unary_minus] = ACTIONS(3414),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(3416),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_COLON_COLON] = ACTIONS(3418),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3420),
    [anon_sym_module] = ACTIONS(3422),
    [anon_sym_return] = ACTIONS(3424),
    [anon_sym_yield] = ACTIONS(3426),
    [anon_sym_break] = ACTIONS(3428),
    [anon_sym_next] = ACTIONS(3430),
    [anon_sym_redo] = ACTIONS(3432),
    [anon_sym_retry] = ACTIONS(3434),
    [anon_sym_if] = ACTIONS(3436),
    [anon_sym_unless] = ACTIONS(3438),
    [anon_sym_while] = ACTIONS(3440),
    [anon_sym_until] = ACTIONS(3442),
    [anon_sym_for] = ACTIONS(3444),
    [anon_sym_case] = ACTIONS(3446),
    [anon_sym_begin] = ACTIONS(3448),
    [anon_sym_PLUS] = ACTIONS(3450),
    [anon_sym_defined_QMARK] = ACTIONS(3452),
    [anon_sym_not] = ACTIONS(3454),
    [anon_sym_BANG] = ACTIONS(3456),
    [anon_sym_TILDE] = ACTIONS(3456),
    [sym_constant] = ACTIONS(3458),
    [sym_identifier] = ACTIONS(3458),
    [sym_instance_variable] = ACTIONS(3460),
    [sym_class_variable] = ACTIONS(3460),
    [sym_global_variable] = ACTIONS(3460),
    [anon_sym_false] = ACTIONS(3462),
    [anon_sym_nil] = ACTIONS(3464),
    [anon_sym_self] = ACTIONS(3466),
    [anon_sym_super] = ACTIONS(3468),
    [anon_sym_true] = ACTIONS(3470),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(3470),
    [anon_sym_FALSE] = ACTIONS(3462),
    [anon_sym_NIL] = ACTIONS(3464),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(3472),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [5143] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(8526),
    [sym__primary] = STATE(2281),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(2282),
    [sym_scope_resolution] = STATE(2283),
    [sym_call] = STATE(2283),
    [sym_method_call] = STATE(2282),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(2284),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2285),
    [sym__variable] = STATE(2283),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(2274),
    [sym_true] = STATE(2282),
    [sym_false] = STATE(2282),
    [sym_self] = STATE(2274),
    [sym_nil] = STATE(2282),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2286),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(3410),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__string_beginning] = ACTIONS(3412),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__unary_minus] = ACTIONS(3414),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(3416),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_COLON_COLON] = ACTIONS(3418),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3420),
    [anon_sym_module] = ACTIONS(3422),
    [anon_sym_return] = ACTIONS(3424),
    [anon_sym_yield] = ACTIONS(3426),
    [anon_sym_break] = ACTIONS(3428),
    [anon_sym_next] = ACTIONS(3430),
    [anon_sym_redo] = ACTIONS(3432),
    [anon_sym_retry] = ACTIONS(3434),
    [anon_sym_if] = ACTIONS(3436),
    [anon_sym_unless] = ACTIONS(3438),
    [anon_sym_while] = ACTIONS(3440),
    [anon_sym_until] = ACTIONS(3442),
    [anon_sym_for] = ACTIONS(3444),
    [anon_sym_case] = ACTIONS(3446),
    [anon_sym_begin] = ACTIONS(3448),
    [anon_sym_PLUS] = ACTIONS(3450),
    [anon_sym_defined_QMARK] = ACTIONS(3452),
    [anon_sym_not] = ACTIONS(3454),
    [anon_sym_BANG] = ACTIONS(3456),
    [anon_sym_TILDE] = ACTIONS(3456),
    [sym_constant] = ACTIONS(3458),
    [sym_identifier] = ACTIONS(3458),
    [sym_instance_variable] = ACTIONS(3460),
    [sym_class_variable] = ACTIONS(3460),
    [sym_global_variable] = ACTIONS(3460),
    [anon_sym_false] = ACTIONS(3462),
    [anon_sym_nil] = ACTIONS(3464),
    [anon_sym_self] = ACTIONS(3466),
    [anon_sym_super] = ACTIONS(3468),
    [anon_sym_true] = ACTIONS(3470),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(3470),
    [anon_sym_FALSE] = ACTIONS(3462),
    [anon_sym_NIL] = ACTIONS(3464),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(3472),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [5144] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(501),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(8528),
    [sym__argument] = STATE(506),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(509),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(510),
    [sym__variable] = STATE(504),
    [sym_reserved_identifier] = STATE(511),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(512),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(8529),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(804),
    [sym__splat_star] = ACTIONS(806),
    [sym__unary_minus] = ACTIONS(808),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(818),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(824),
    [anon_sym_yield] = ACTIONS(826),
    [anon_sym_break] = ACTIONS(828),
    [anon_sym_next] = ACTIONS(830),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_RBRACK] = ACTIONS(11452),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(852),
    [anon_sym_defined_QMARK] = ACTIONS(854),
    [anon_sym_not] = ACTIONS(856),
    [anon_sym_BANG] = ACTIONS(858),
    [anon_sym_TILDE] = ACTIONS(858),
    [sym_constant] = ACTIONS(860),
    [sym_identifier] = ACTIONS(860),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [5145] = {
    [sym_constant] = ACTIONS(11454),
    [sym_identifier] = ACTIONS(11454),
    [sym_comment] = ACTIONS(110),
  },
  [5146] = {
    [sym_argument_list_with_parens] = STATE(8533),
    [sym__argument_list_with_parens] = STATE(8534),
    [sym_operator] = STATE(8533),
    [sym__argument_list_left_paren] = ACTIONS(11456),
    [anon_sym_PIPE] = ACTIONS(11458),
    [anon_sym_STAR] = ACTIONS(11460),
    [anon_sym_STAR_STAR] = ACTIONS(11458),
    [anon_sym_AMP] = ACTIONS(11458),
    [anon_sym_LT] = ACTIONS(11460),
    [anon_sym_DOT_DOT] = ACTIONS(11458),
    [anon_sym_LT_LT] = ACTIONS(11458),
    [anon_sym_GT_GT] = ACTIONS(11458),
    [anon_sym_EQ_EQ] = ACTIONS(11460),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11458),
    [anon_sym_LT_EQ_GT] = ACTIONS(11458),
    [anon_sym_EQ_TILDE] = ACTIONS(11458),
    [anon_sym_BANG_TILDE] = ACTIONS(11458),
    [anon_sym_LT_EQ] = ACTIONS(11460),
    [anon_sym_GT] = ACTIONS(11460),
    [anon_sym_GT_EQ] = ACTIONS(11458),
    [anon_sym_CARET] = ACTIONS(11458),
    [anon_sym_PLUS] = ACTIONS(11460),
    [anon_sym_SLASH] = ACTIONS(11458),
    [anon_sym_PERCENT] = ACTIONS(11458),
    [anon_sym_BANG] = ACTIONS(11460),
    [anon_sym_TILDE] = ACTIONS(11458),
    [sym_constant] = ACTIONS(11462),
    [sym_identifier] = ACTIONS(11462),
    [anon_sym_DASH] = ACTIONS(11460),
    [anon_sym_PLUS_AT] = ACTIONS(11458),
    [anon_sym_DASH_AT] = ACTIONS(11458),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(11460),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(11458),
    [anon_sym_BQUOTE] = ACTIONS(11458),
    [sym_comment] = ACTIONS(110),
  },
  [5147] = {
    [sym__statements] = STATE(8535),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(8536),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2128),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_hash_splat_argument] = STATE(197),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(2130),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2131),
    [sym__variable] = STATE(2129),
    [sym_reserved_identifier] = STATE(201),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(2132),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(2522),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym__hash_items] = STATE(2523),
    [sym_pair] = STATE(205),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3268),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(3756),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_PIPE] = ACTIONS(3048),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(302),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(3272),
    [anon_sym_yield] = ACTIONS(3274),
    [anon_sym_break] = ACTIONS(3276),
    [anon_sym_next] = ACTIONS(3278),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(3280),
    [anon_sym_defined_QMARK] = ACTIONS(3282),
    [anon_sym_not] = ACTIONS(3284),
    [anon_sym_BANG] = ACTIONS(3286),
    [anon_sym_TILDE] = ACTIONS(3286),
    [sym_constant] = ACTIONS(3288),
    [sym_identifier] = ACTIONS(3288),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(3290),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(3292),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5148] = {
    [sym__statements] = STATE(8538),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(8539),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1981),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(8540),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(3076),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(3078),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(3080),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11464),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(3086),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5149] = {
    [sym_do_block] = STATE(8541),
    [sym_block] = STATE(8541),
    [sym__simple_heredoc_body] = ACTIONS(3346),
    [sym__heredoc_body_beginning] = ACTIONS(3346),
    [sym__string_middle] = ACTIONS(3346),
    [sym__string_end] = ACTIONS(3346),
    [sym__element_reference_left_bracket] = ACTIONS(3346),
    [sym__scope_double_colon] = ACTIONS(3346),
    [sym__binary_minus] = ACTIONS(3346),
    [sym__binary_star] = ACTIONS(3346),
    [anon_sym_LBRACE] = ACTIONS(7556),
    [anon_sym_DOT] = ACTIONS(3350),
    [anon_sym_COMMA] = ACTIONS(3346),
    [anon_sym_PIPE] = ACTIONS(3350),
    [anon_sym_STAR_STAR] = ACTIONS(3350),
    [anon_sym_AMP] = ACTIONS(3350),
    [anon_sym_EQ] = ACTIONS(3350),
    [anon_sym_LT] = ACTIONS(3350),
    [anon_sym_if] = ACTIONS(3346),
    [anon_sym_unless] = ACTIONS(3346),
    [anon_sym_while] = ACTIONS(3346),
    [anon_sym_until] = ACTIONS(3346),
    [anon_sym_rescue] = ACTIONS(3346),
    [anon_sym_do] = ACTIONS(11466),
    [anon_sym_AMP_DOT] = ACTIONS(3346),
    [anon_sym_PLUS_EQ] = ACTIONS(3346),
    [anon_sym_DASH_EQ] = ACTIONS(3346),
    [anon_sym_STAR_EQ] = ACTIONS(3346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3346),
    [anon_sym_SLASH_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3346),
    [anon_sym_AMP_EQ] = ACTIONS(3346),
    [anon_sym_PERCENT_EQ] = ACTIONS(3346),
    [anon_sym_GT_GT_EQ] = ACTIONS(3346),
    [anon_sym_LT_LT_EQ] = ACTIONS(3346),
    [anon_sym_CARET_EQ] = ACTIONS(3346),
    [anon_sym_QMARK] = ACTIONS(3346),
    [anon_sym_DOT_DOT] = ACTIONS(3350),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3346),
    [anon_sym_and] = ACTIONS(3346),
    [anon_sym_or] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE] = ACTIONS(3350),
    [anon_sym_AMP_AMP] = ACTIONS(3350),
    [anon_sym_LT_LT] = ACTIONS(3350),
    [anon_sym_GT_GT] = ACTIONS(3350),
    [anon_sym_EQ_EQ] = ACTIONS(3350),
    [anon_sym_BANG_EQ] = ACTIONS(3346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3346),
    [anon_sym_LT_EQ_GT] = ACTIONS(3346),
    [anon_sym_EQ_TILDE] = ACTIONS(3346),
    [anon_sym_BANG_TILDE] = ACTIONS(3346),
    [anon_sym_LT_EQ] = ACTIONS(3350),
    [anon_sym_GT] = ACTIONS(3350),
    [anon_sym_GT_EQ] = ACTIONS(3346),
    [anon_sym_CARET] = ACTIONS(3350),
    [anon_sym_PLUS] = ACTIONS(3350),
    [anon_sym_SLASH] = ACTIONS(3350),
    [anon_sym_PERCENT] = ACTIONS(3350),
    [sym_comment] = ACTIONS(256),
  },
  [5150] = {
    [sym__simple_heredoc_body] = ACTIONS(3346),
    [sym__heredoc_body_beginning] = ACTIONS(3346),
    [sym__string_middle] = ACTIONS(3346),
    [sym__string_end] = ACTIONS(3346),
    [sym__element_reference_left_bracket] = ACTIONS(3346),
    [sym__scope_double_colon] = ACTIONS(3346),
    [sym__binary_minus] = ACTIONS(3346),
    [sym__binary_star] = ACTIONS(3346),
    [anon_sym_LBRACE] = ACTIONS(3346),
    [anon_sym_DOT] = ACTIONS(3350),
    [anon_sym_COMMA] = ACTIONS(3346),
    [anon_sym_PIPE] = ACTIONS(3350),
    [anon_sym_STAR_STAR] = ACTIONS(3350),
    [anon_sym_AMP] = ACTIONS(3350),
    [anon_sym_EQ] = ACTIONS(3350),
    [anon_sym_LT] = ACTIONS(3350),
    [anon_sym_if] = ACTIONS(3346),
    [anon_sym_unless] = ACTIONS(3346),
    [anon_sym_while] = ACTIONS(3346),
    [anon_sym_until] = ACTIONS(3346),
    [anon_sym_rescue] = ACTIONS(3346),
    [anon_sym_do] = ACTIONS(3346),
    [anon_sym_AMP_DOT] = ACTIONS(3346),
    [anon_sym_PLUS_EQ] = ACTIONS(3346),
    [anon_sym_DASH_EQ] = ACTIONS(3346),
    [anon_sym_STAR_EQ] = ACTIONS(3346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3346),
    [anon_sym_SLASH_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3346),
    [anon_sym_AMP_EQ] = ACTIONS(3346),
    [anon_sym_PERCENT_EQ] = ACTIONS(3346),
    [anon_sym_GT_GT_EQ] = ACTIONS(3346),
    [anon_sym_LT_LT_EQ] = ACTIONS(3346),
    [anon_sym_CARET_EQ] = ACTIONS(3346),
    [anon_sym_QMARK] = ACTIONS(3346),
    [anon_sym_DOT_DOT] = ACTIONS(3350),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3346),
    [anon_sym_and] = ACTIONS(3346),
    [anon_sym_or] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE] = ACTIONS(3350),
    [anon_sym_AMP_AMP] = ACTIONS(3350),
    [anon_sym_LT_LT] = ACTIONS(3350),
    [anon_sym_GT_GT] = ACTIONS(3350),
    [anon_sym_EQ_EQ] = ACTIONS(3350),
    [anon_sym_BANG_EQ] = ACTIONS(3346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3346),
    [anon_sym_LT_EQ_GT] = ACTIONS(3346),
    [anon_sym_EQ_TILDE] = ACTIONS(3346),
    [anon_sym_BANG_TILDE] = ACTIONS(3346),
    [anon_sym_LT_EQ] = ACTIONS(3350),
    [anon_sym_GT] = ACTIONS(3350),
    [anon_sym_GT_EQ] = ACTIONS(3346),
    [anon_sym_CARET] = ACTIONS(3350),
    [anon_sym_PLUS] = ACTIONS(3350),
    [anon_sym_SLASH] = ACTIONS(3350),
    [anon_sym_PERCENT] = ACTIONS(3350),
    [sym_comment] = ACTIONS(256),
  },
  [5151] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(8542),
    [sym__primary] = STATE(2281),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(2282),
    [sym_scope_resolution] = STATE(2283),
    [sym_call] = STATE(2283),
    [sym_method_call] = STATE(2282),
    [sym_splat_argument] = STATE(5243),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_right_assignment_list] = STATE(5244),
    [sym__arg_or_splat_arg] = STATE(8543),
    [sym_left_assignment_list] = STATE(2284),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2285),
    [sym__variable] = STATE(2283),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(2274),
    [sym_true] = STATE(2282),
    [sym_false] = STATE(2282),
    [sym_self] = STATE(2274),
    [sym_nil] = STATE(2282),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2286),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(3410),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__string_beginning] = ACTIONS(3412),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__splat_star] = ACTIONS(1120),
    [sym__unary_minus] = ACTIONS(3414),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(3416),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_COLON_COLON] = ACTIONS(3418),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3420),
    [anon_sym_module] = ACTIONS(3422),
    [anon_sym_return] = ACTIONS(3424),
    [anon_sym_yield] = ACTIONS(3426),
    [anon_sym_break] = ACTIONS(3428),
    [anon_sym_next] = ACTIONS(3430),
    [anon_sym_redo] = ACTIONS(3432),
    [anon_sym_retry] = ACTIONS(3434),
    [anon_sym_if] = ACTIONS(3436),
    [anon_sym_unless] = ACTIONS(3438),
    [anon_sym_while] = ACTIONS(3440),
    [anon_sym_until] = ACTIONS(3442),
    [anon_sym_for] = ACTIONS(3444),
    [anon_sym_case] = ACTIONS(3446),
    [anon_sym_begin] = ACTIONS(3448),
    [anon_sym_PLUS] = ACTIONS(3450),
    [anon_sym_defined_QMARK] = ACTIONS(3452),
    [anon_sym_not] = ACTIONS(3454),
    [anon_sym_BANG] = ACTIONS(3456),
    [anon_sym_TILDE] = ACTIONS(3456),
    [sym_constant] = ACTIONS(3458),
    [sym_identifier] = ACTIONS(3458),
    [sym_instance_variable] = ACTIONS(3460),
    [sym_class_variable] = ACTIONS(3460),
    [sym_global_variable] = ACTIONS(3460),
    [anon_sym_false] = ACTIONS(3462),
    [anon_sym_nil] = ACTIONS(3464),
    [anon_sym_self] = ACTIONS(3466),
    [anon_sym_super] = ACTIONS(3468),
    [anon_sym_true] = ACTIONS(3470),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(3470),
    [anon_sym_FALSE] = ACTIONS(3462),
    [anon_sym_NIL] = ACTIONS(3464),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(3472),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [5152] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(8544),
    [sym__primary] = STATE(2281),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(2282),
    [sym_scope_resolution] = STATE(2283),
    [sym_call] = STATE(2283),
    [sym_method_call] = STATE(2282),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(2284),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2285),
    [sym__variable] = STATE(2283),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(2274),
    [sym_true] = STATE(2282),
    [sym_false] = STATE(2282),
    [sym_self] = STATE(2274),
    [sym_nil] = STATE(2282),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2286),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(3410),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__string_beginning] = ACTIONS(3412),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__unary_minus] = ACTIONS(3414),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(3416),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_COLON_COLON] = ACTIONS(3418),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3420),
    [anon_sym_module] = ACTIONS(3422),
    [anon_sym_return] = ACTIONS(3424),
    [anon_sym_yield] = ACTIONS(3426),
    [anon_sym_break] = ACTIONS(3428),
    [anon_sym_next] = ACTIONS(3430),
    [anon_sym_redo] = ACTIONS(3432),
    [anon_sym_retry] = ACTIONS(3434),
    [anon_sym_if] = ACTIONS(3436),
    [anon_sym_unless] = ACTIONS(3438),
    [anon_sym_while] = ACTIONS(3440),
    [anon_sym_until] = ACTIONS(3442),
    [anon_sym_for] = ACTIONS(3444),
    [anon_sym_case] = ACTIONS(3446),
    [anon_sym_begin] = ACTIONS(3448),
    [anon_sym_PLUS] = ACTIONS(3450),
    [anon_sym_defined_QMARK] = ACTIONS(3452),
    [anon_sym_not] = ACTIONS(3454),
    [anon_sym_BANG] = ACTIONS(3456),
    [anon_sym_TILDE] = ACTIONS(3456),
    [sym_constant] = ACTIONS(3458),
    [sym_identifier] = ACTIONS(3458),
    [sym_instance_variable] = ACTIONS(3460),
    [sym_class_variable] = ACTIONS(3460),
    [sym_global_variable] = ACTIONS(3460),
    [anon_sym_false] = ACTIONS(3462),
    [anon_sym_nil] = ACTIONS(3464),
    [anon_sym_self] = ACTIONS(3466),
    [anon_sym_super] = ACTIONS(3468),
    [anon_sym_true] = ACTIONS(3470),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(3470),
    [anon_sym_FALSE] = ACTIONS(3462),
    [anon_sym_NIL] = ACTIONS(3464),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(3472),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [5153] = {
    [sym__simple_heredoc_body] = ACTIONS(9456),
    [sym__heredoc_body_beginning] = ACTIONS(9456),
    [sym__string_middle] = ACTIONS(9456),
    [sym__string_end] = ACTIONS(9456),
    [sym__element_reference_left_bracket] = ACTIONS(9456),
    [sym__scope_double_colon] = ACTIONS(9456),
    [sym__binary_minus] = ACTIONS(9456),
    [sym__binary_star] = ACTIONS(9456),
    [anon_sym_DOT] = ACTIONS(9458),
    [anon_sym_COMMA] = ACTIONS(9456),
    [anon_sym_PIPE] = ACTIONS(9458),
    [anon_sym_STAR_STAR] = ACTIONS(9456),
    [anon_sym_AMP] = ACTIONS(9458),
    [anon_sym_LT] = ACTIONS(9458),
    [anon_sym_if] = ACTIONS(9456),
    [anon_sym_unless] = ACTIONS(9456),
    [anon_sym_while] = ACTIONS(9456),
    [anon_sym_until] = ACTIONS(9456),
    [anon_sym_rescue] = ACTIONS(9456),
    [anon_sym_EQ_GT] = ACTIONS(9456),
    [anon_sym_AMP_DOT] = ACTIONS(9456),
    [anon_sym_QMARK] = ACTIONS(9456),
    [anon_sym_DOT_DOT] = ACTIONS(9458),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9456),
    [anon_sym_and] = ACTIONS(9456),
    [anon_sym_or] = ACTIONS(9456),
    [anon_sym_PIPE_PIPE] = ACTIONS(9456),
    [anon_sym_AMP_AMP] = ACTIONS(9456),
    [anon_sym_LT_LT] = ACTIONS(9456),
    [anon_sym_GT_GT] = ACTIONS(9456),
    [anon_sym_EQ_EQ] = ACTIONS(9458),
    [anon_sym_BANG_EQ] = ACTIONS(9456),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9456),
    [anon_sym_LT_EQ_GT] = ACTIONS(9456),
    [anon_sym_EQ_TILDE] = ACTIONS(9456),
    [anon_sym_BANG_TILDE] = ACTIONS(9456),
    [anon_sym_LT_EQ] = ACTIONS(9458),
    [anon_sym_GT] = ACTIONS(9458),
    [anon_sym_GT_EQ] = ACTIONS(9456),
    [anon_sym_CARET] = ACTIONS(9456),
    [anon_sym_PLUS] = ACTIONS(9456),
    [anon_sym_SLASH] = ACTIONS(9456),
    [anon_sym_PERCENT] = ACTIONS(9456),
    [sym_comment] = ACTIONS(110),
  },
  [5154] = {
    [anon_sym_RPAREN] = ACTIONS(11468),
    [sym_comment] = ACTIONS(110),
  },
  [5155] = {
    [sym__simple_heredoc_body] = ACTIONS(4578),
    [sym__heredoc_body_beginning] = ACTIONS(4578),
    [sym__string_middle] = ACTIONS(4578),
    [sym__string_end] = ACTIONS(4578),
    [sym__element_reference_left_bracket] = ACTIONS(4578),
    [sym__scope_double_colon] = ACTIONS(4578),
    [sym__binary_minus] = ACTIONS(4578),
    [sym__binary_star] = ACTIONS(4578),
    [anon_sym_DOT] = ACTIONS(4580),
    [anon_sym_COMMA] = ACTIONS(4578),
    [anon_sym_PIPE] = ACTIONS(4580),
    [anon_sym_STAR_STAR] = ACTIONS(4578),
    [anon_sym_AMP] = ACTIONS(4580),
    [anon_sym_LT] = ACTIONS(4580),
    [anon_sym_if] = ACTIONS(4578),
    [anon_sym_unless] = ACTIONS(4578),
    [anon_sym_while] = ACTIONS(4578),
    [anon_sym_until] = ACTIONS(4578),
    [anon_sym_rescue] = ACTIONS(4578),
    [anon_sym_EQ_GT] = ACTIONS(4578),
    [anon_sym_AMP_DOT] = ACTIONS(4578),
    [anon_sym_QMARK] = ACTIONS(4578),
    [anon_sym_DOT_DOT] = ACTIONS(4580),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4578),
    [anon_sym_and] = ACTIONS(4578),
    [anon_sym_or] = ACTIONS(4578),
    [anon_sym_PIPE_PIPE] = ACTIONS(4578),
    [anon_sym_AMP_AMP] = ACTIONS(4578),
    [anon_sym_LT_LT] = ACTIONS(4578),
    [anon_sym_GT_GT] = ACTIONS(4578),
    [anon_sym_EQ_EQ] = ACTIONS(4580),
    [anon_sym_BANG_EQ] = ACTIONS(4578),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4578),
    [anon_sym_LT_EQ_GT] = ACTIONS(4578),
    [anon_sym_EQ_TILDE] = ACTIONS(4578),
    [anon_sym_BANG_TILDE] = ACTIONS(4578),
    [anon_sym_LT_EQ] = ACTIONS(4580),
    [anon_sym_GT] = ACTIONS(4580),
    [anon_sym_GT_EQ] = ACTIONS(4578),
    [anon_sym_CARET] = ACTIONS(4578),
    [anon_sym_PLUS] = ACTIONS(4578),
    [anon_sym_SLASH] = ACTIONS(4578),
    [anon_sym_PERCENT] = ACTIONS(4578),
    [sym_comment] = ACTIONS(110),
  },
  [5156] = {
    [anon_sym_RBRACE] = ACTIONS(11470),
    [sym_comment] = ACTIONS(110),
  },
  [5157] = {
    [sym__binary_minus] = ACTIONS(4614),
    [sym__binary_star] = ACTIONS(4616),
    [anon_sym_RPAREN] = ACTIONS(11472),
    [anon_sym_PIPE] = ACTIONS(4620),
    [anon_sym_STAR_STAR] = ACTIONS(4622),
    [anon_sym_AMP] = ACTIONS(4624),
    [anon_sym_LT] = ACTIONS(4626),
    [anon_sym_QMARK] = ACTIONS(4628),
    [anon_sym_DOT_DOT] = ACTIONS(4630),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4632),
    [anon_sym_and] = ACTIONS(4634),
    [anon_sym_or] = ACTIONS(4634),
    [anon_sym_PIPE_PIPE] = ACTIONS(4636),
    [anon_sym_AMP_AMP] = ACTIONS(4636),
    [anon_sym_LT_LT] = ACTIONS(4638),
    [anon_sym_GT_GT] = ACTIONS(4638),
    [anon_sym_EQ_EQ] = ACTIONS(4640),
    [anon_sym_BANG_EQ] = ACTIONS(4636),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4636),
    [anon_sym_LT_EQ_GT] = ACTIONS(4636),
    [anon_sym_EQ_TILDE] = ACTIONS(4636),
    [anon_sym_BANG_TILDE] = ACTIONS(4636),
    [anon_sym_LT_EQ] = ACTIONS(4626),
    [anon_sym_GT] = ACTIONS(4626),
    [anon_sym_GT_EQ] = ACTIONS(4642),
    [anon_sym_CARET] = ACTIONS(4644),
    [anon_sym_PLUS] = ACTIONS(4646),
    [anon_sym_SLASH] = ACTIONS(4622),
    [anon_sym_PERCENT] = ACTIONS(4622),
    [sym_comment] = ACTIONS(110),
  },
  [5158] = {
    [sym__method_rest] = STATE(8548),
    [sym_operator] = STATE(217),
    [sym__method_name] = STATE(2304),
    [sym_setter] = STATE(217),
    [sym_symbol] = STATE(217),
    [sym__simple_symbol] = ACTIONS(378),
    [sym__symbol_beginning] = ACTIONS(380),
    [anon_sym_PIPE] = ACTIONS(384),
    [anon_sym_STAR] = ACTIONS(386),
    [anon_sym_STAR_STAR] = ACTIONS(384),
    [anon_sym_AMP] = ACTIONS(384),
    [anon_sym_LT] = ACTIONS(386),
    [anon_sym_DOT_DOT] = ACTIONS(384),
    [anon_sym_LT_LT] = ACTIONS(384),
    [anon_sym_GT_GT] = ACTIONS(384),
    [anon_sym_EQ_EQ] = ACTIONS(386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(384),
    [anon_sym_LT_EQ_GT] = ACTIONS(384),
    [anon_sym_EQ_TILDE] = ACTIONS(384),
    [anon_sym_BANG_TILDE] = ACTIONS(384),
    [anon_sym_LT_EQ] = ACTIONS(386),
    [anon_sym_GT] = ACTIONS(386),
    [anon_sym_GT_EQ] = ACTIONS(384),
    [anon_sym_CARET] = ACTIONS(384),
    [anon_sym_PLUS] = ACTIONS(386),
    [anon_sym_SLASH] = ACTIONS(384),
    [anon_sym_PERCENT] = ACTIONS(384),
    [anon_sym_BANG] = ACTIONS(386),
    [anon_sym_TILDE] = ACTIONS(384),
    [sym_constant] = ACTIONS(4694),
    [sym_identifier] = ACTIONS(4696),
    [sym_instance_variable] = ACTIONS(4694),
    [sym_class_variable] = ACTIONS(4694),
    [sym_global_variable] = ACTIONS(4694),
    [anon_sym_DASH] = ACTIONS(386),
    [anon_sym_PLUS_AT] = ACTIONS(384),
    [anon_sym_DASH_AT] = ACTIONS(384),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(386),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(384),
    [anon_sym_BQUOTE] = ACTIONS(384),
    [sym_comment] = ACTIONS(110),
  },
  [5159] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(8550),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11474),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5160] = {
    [sym__simple_heredoc_body] = ACTIONS(4826),
    [sym__heredoc_body_beginning] = ACTIONS(4826),
    [sym__string_middle] = ACTIONS(4826),
    [sym__string_end] = ACTIONS(4826),
    [sym__element_reference_left_bracket] = ACTIONS(4826),
    [sym__scope_double_colon] = ACTIONS(4826),
    [sym__binary_minus] = ACTIONS(4826),
    [sym__binary_star] = ACTIONS(4826),
    [anon_sym_DOT] = ACTIONS(4828),
    [anon_sym_COMMA] = ACTIONS(4826),
    [anon_sym_PIPE] = ACTIONS(4828),
    [anon_sym_STAR_STAR] = ACTIONS(4826),
    [anon_sym_AMP] = ACTIONS(4828),
    [anon_sym_LT] = ACTIONS(4828),
    [anon_sym_if] = ACTIONS(4826),
    [anon_sym_unless] = ACTIONS(4826),
    [anon_sym_while] = ACTIONS(4826),
    [anon_sym_until] = ACTIONS(4826),
    [anon_sym_rescue] = ACTIONS(4826),
    [anon_sym_EQ_GT] = ACTIONS(4826),
    [anon_sym_AMP_DOT] = ACTIONS(4826),
    [anon_sym_QMARK] = ACTIONS(4826),
    [anon_sym_DOT_DOT] = ACTIONS(4828),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4826),
    [anon_sym_and] = ACTIONS(4826),
    [anon_sym_or] = ACTIONS(4826),
    [anon_sym_PIPE_PIPE] = ACTIONS(4826),
    [anon_sym_AMP_AMP] = ACTIONS(4826),
    [anon_sym_LT_LT] = ACTIONS(4826),
    [anon_sym_GT_GT] = ACTIONS(4826),
    [anon_sym_EQ_EQ] = ACTIONS(4828),
    [anon_sym_BANG_EQ] = ACTIONS(4826),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4826),
    [anon_sym_LT_EQ_GT] = ACTIONS(4826),
    [anon_sym_EQ_TILDE] = ACTIONS(4826),
    [anon_sym_BANG_TILDE] = ACTIONS(4826),
    [anon_sym_LT_EQ] = ACTIONS(4828),
    [anon_sym_GT] = ACTIONS(4828),
    [anon_sym_GT_EQ] = ACTIONS(4826),
    [anon_sym_CARET] = ACTIONS(4826),
    [anon_sym_PLUS] = ACTIONS(4826),
    [anon_sym_SLASH] = ACTIONS(4826),
    [anon_sym_PERCENT] = ACTIONS(4826),
    [sym_comment] = ACTIONS(110),
  },
  [5161] = {
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(8551),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym__line_break] = ACTIONS(692),
    [sym__binary_minus] = ACTIONS(5168),
    [sym__binary_star] = ACTIONS(5170),
    [anon_sym_PIPE] = ACTIONS(5172),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR_STAR] = ACTIONS(5174),
    [anon_sym_AMP] = ACTIONS(5176),
    [anon_sym_LT] = ACTIONS(5178),
    [anon_sym_QMARK] = ACTIONS(5180),
    [anon_sym_DOT_DOT] = ACTIONS(5182),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5184),
    [anon_sym_and] = ACTIONS(5186),
    [anon_sym_or] = ACTIONS(5186),
    [anon_sym_PIPE_PIPE] = ACTIONS(5188),
    [anon_sym_AMP_AMP] = ACTIONS(5188),
    [anon_sym_LT_LT] = ACTIONS(5190),
    [anon_sym_GT_GT] = ACTIONS(5190),
    [anon_sym_EQ_EQ] = ACTIONS(5192),
    [anon_sym_BANG_EQ] = ACTIONS(5188),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5188),
    [anon_sym_LT_EQ_GT] = ACTIONS(5188),
    [anon_sym_EQ_TILDE] = ACTIONS(5188),
    [anon_sym_BANG_TILDE] = ACTIONS(5188),
    [anon_sym_LT_EQ] = ACTIONS(5178),
    [anon_sym_GT] = ACTIONS(5178),
    [anon_sym_GT_EQ] = ACTIONS(5194),
    [anon_sym_CARET] = ACTIONS(5196),
    [anon_sym_PLUS] = ACTIONS(5198),
    [anon_sym_SLASH] = ACTIONS(5174),
    [anon_sym_PERCENT] = ACTIONS(5174),
    [sym_comment] = ACTIONS(110),
  },
  [5162] = {
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(8552),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym__line_break] = ACTIONS(692),
    [anon_sym_SEMI] = ACTIONS(692),
    [sym_comment] = ACTIONS(110),
  },
  [5163] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(8554),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11476),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5164] = {
    [sym__simple_heredoc_body] = ACTIONS(5290),
    [sym__heredoc_body_beginning] = ACTIONS(5290),
    [sym__string_middle] = ACTIONS(5290),
    [sym__string_end] = ACTIONS(5290),
    [sym__element_reference_left_bracket] = ACTIONS(5290),
    [sym__scope_double_colon] = ACTIONS(5290),
    [sym__binary_minus] = ACTIONS(5290),
    [sym__binary_star] = ACTIONS(5290),
    [anon_sym_DOT] = ACTIONS(5292),
    [anon_sym_COMMA] = ACTIONS(5290),
    [anon_sym_PIPE] = ACTIONS(5292),
    [anon_sym_STAR_STAR] = ACTIONS(5290),
    [anon_sym_AMP] = ACTIONS(5292),
    [anon_sym_LT] = ACTIONS(5292),
    [anon_sym_if] = ACTIONS(5290),
    [anon_sym_unless] = ACTIONS(5290),
    [anon_sym_while] = ACTIONS(5290),
    [anon_sym_until] = ACTIONS(5290),
    [anon_sym_rescue] = ACTIONS(5290),
    [anon_sym_EQ_GT] = ACTIONS(5290),
    [anon_sym_AMP_DOT] = ACTIONS(5290),
    [anon_sym_QMARK] = ACTIONS(5290),
    [anon_sym_DOT_DOT] = ACTIONS(5292),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5290),
    [anon_sym_and] = ACTIONS(5290),
    [anon_sym_or] = ACTIONS(5290),
    [anon_sym_PIPE_PIPE] = ACTIONS(5290),
    [anon_sym_AMP_AMP] = ACTIONS(5290),
    [anon_sym_LT_LT] = ACTIONS(5290),
    [anon_sym_GT_GT] = ACTIONS(5290),
    [anon_sym_EQ_EQ] = ACTIONS(5292),
    [anon_sym_BANG_EQ] = ACTIONS(5290),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5290),
    [anon_sym_LT_EQ_GT] = ACTIONS(5290),
    [anon_sym_EQ_TILDE] = ACTIONS(5290),
    [anon_sym_BANG_TILDE] = ACTIONS(5290),
    [anon_sym_LT_EQ] = ACTIONS(5292),
    [anon_sym_GT] = ACTIONS(5292),
    [anon_sym_GT_EQ] = ACTIONS(5290),
    [anon_sym_CARET] = ACTIONS(5290),
    [anon_sym_PLUS] = ACTIONS(5290),
    [anon_sym_SLASH] = ACTIONS(5290),
    [anon_sym_PERCENT] = ACTIONS(5290),
    [sym_comment] = ACTIONS(110),
  },
  [5165] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(8556),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11478),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5166] = {
    [sym__simple_heredoc_body] = ACTIONS(5290),
    [sym__heredoc_body_beginning] = ACTIONS(5290),
    [sym__string_middle] = ACTIONS(5290),
    [sym__string_end] = ACTIONS(5290),
    [sym__element_reference_left_bracket] = ACTIONS(5290),
    [sym__scope_double_colon] = ACTIONS(5290),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__binary_minus] = ACTIONS(5290),
    [sym__binary_star] = ACTIONS(5290),
    [anon_sym_DOT] = ACTIONS(5292),
    [anon_sym_COMMA] = ACTIONS(5290),
    [anon_sym_PIPE] = ACTIONS(5292),
    [anon_sym_STAR_STAR] = ACTIONS(5290),
    [anon_sym_AMP] = ACTIONS(5292),
    [anon_sym_LT] = ACTIONS(5292),
    [anon_sym_if] = ACTIONS(5290),
    [anon_sym_unless] = ACTIONS(5290),
    [anon_sym_while] = ACTIONS(5290),
    [anon_sym_until] = ACTIONS(5290),
    [anon_sym_rescue] = ACTIONS(5290),
    [anon_sym_EQ_GT] = ACTIONS(5290),
    [anon_sym_AMP_DOT] = ACTIONS(5290),
    [anon_sym_QMARK] = ACTIONS(5290),
    [anon_sym_DOT_DOT] = ACTIONS(5292),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5290),
    [anon_sym_and] = ACTIONS(5290),
    [anon_sym_or] = ACTIONS(5290),
    [anon_sym_PIPE_PIPE] = ACTIONS(5290),
    [anon_sym_AMP_AMP] = ACTIONS(5290),
    [anon_sym_LT_LT] = ACTIONS(5290),
    [anon_sym_GT_GT] = ACTIONS(5290),
    [anon_sym_EQ_EQ] = ACTIONS(5292),
    [anon_sym_BANG_EQ] = ACTIONS(5290),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5290),
    [anon_sym_LT_EQ_GT] = ACTIONS(5290),
    [anon_sym_EQ_TILDE] = ACTIONS(5290),
    [anon_sym_BANG_TILDE] = ACTIONS(5290),
    [anon_sym_LT_EQ] = ACTIONS(5292),
    [anon_sym_GT] = ACTIONS(5292),
    [anon_sym_GT_EQ] = ACTIONS(5290),
    [anon_sym_CARET] = ACTIONS(5290),
    [anon_sym_PLUS] = ACTIONS(5290),
    [anon_sym_SLASH] = ACTIONS(5290),
    [anon_sym_PERCENT] = ACTIONS(5290),
    [sym_comment] = ACTIONS(110),
  },
  [5167] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__string_middle] = ACTIONS(5298),
    [sym__string_end] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(3526),
    [sym__binary_star] = ACTIONS(3528),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(3530),
    [anon_sym_STAR_STAR] = ACTIONS(3532),
    [anon_sym_AMP] = ACTIONS(3534),
    [anon_sym_LT] = ACTIONS(3536),
    [anon_sym_if] = ACTIONS(5298),
    [anon_sym_unless] = ACTIONS(5298),
    [anon_sym_while] = ACTIONS(5298),
    [anon_sym_until] = ACTIONS(5298),
    [anon_sym_rescue] = ACTIONS(5298),
    [anon_sym_EQ_GT] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(3538),
    [anon_sym_DOT_DOT] = ACTIONS(3540),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3542),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(3544),
    [anon_sym_AMP_AMP] = ACTIONS(3544),
    [anon_sym_LT_LT] = ACTIONS(3546),
    [anon_sym_GT_GT] = ACTIONS(3546),
    [anon_sym_EQ_EQ] = ACTIONS(3548),
    [anon_sym_BANG_EQ] = ACTIONS(3544),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3544),
    [anon_sym_LT_EQ_GT] = ACTIONS(3544),
    [anon_sym_EQ_TILDE] = ACTIONS(3544),
    [anon_sym_BANG_TILDE] = ACTIONS(3544),
    [anon_sym_LT_EQ] = ACTIONS(3536),
    [anon_sym_GT] = ACTIONS(3536),
    [anon_sym_GT_EQ] = ACTIONS(3550),
    [anon_sym_CARET] = ACTIONS(3552),
    [anon_sym_PLUS] = ACTIONS(3554),
    [anon_sym_SLASH] = ACTIONS(3532),
    [anon_sym_PERCENT] = ACTIONS(3532),
    [sym_comment] = ACTIONS(110),
  },
  [5168] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__string_middle] = ACTIONS(5338),
    [sym__string_end] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(3526),
    [sym__binary_star] = ACTIONS(3528),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(3530),
    [anon_sym_STAR_STAR] = ACTIONS(3532),
    [anon_sym_AMP] = ACTIONS(3534),
    [anon_sym_LT] = ACTIONS(3536),
    [anon_sym_if] = ACTIONS(5338),
    [anon_sym_unless] = ACTIONS(5338),
    [anon_sym_while] = ACTIONS(5338),
    [anon_sym_until] = ACTIONS(5338),
    [anon_sym_rescue] = ACTIONS(5338),
    [anon_sym_EQ_GT] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(3538),
    [anon_sym_DOT_DOT] = ACTIONS(3540),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3542),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(3544),
    [anon_sym_AMP_AMP] = ACTIONS(3544),
    [anon_sym_LT_LT] = ACTIONS(3546),
    [anon_sym_GT_GT] = ACTIONS(3546),
    [anon_sym_EQ_EQ] = ACTIONS(3548),
    [anon_sym_BANG_EQ] = ACTIONS(3544),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3544),
    [anon_sym_LT_EQ_GT] = ACTIONS(3544),
    [anon_sym_EQ_TILDE] = ACTIONS(3544),
    [anon_sym_BANG_TILDE] = ACTIONS(3544),
    [anon_sym_LT_EQ] = ACTIONS(3536),
    [anon_sym_GT] = ACTIONS(3536),
    [anon_sym_GT_EQ] = ACTIONS(3550),
    [anon_sym_CARET] = ACTIONS(3552),
    [anon_sym_PLUS] = ACTIONS(3554),
    [anon_sym_SLASH] = ACTIONS(3532),
    [anon_sym_PERCENT] = ACTIONS(3532),
    [sym_comment] = ACTIONS(110),
  },
  [5169] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__string_middle] = ACTIONS(4284),
    [sym__string_end] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(3526),
    [sym__binary_star] = ACTIONS(3528),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(3530),
    [anon_sym_STAR_STAR] = ACTIONS(3532),
    [anon_sym_AMP] = ACTIONS(3534),
    [anon_sym_LT] = ACTIONS(3536),
    [anon_sym_if] = ACTIONS(4284),
    [anon_sym_unless] = ACTIONS(4284),
    [anon_sym_while] = ACTIONS(4284),
    [anon_sym_until] = ACTIONS(4284),
    [anon_sym_rescue] = ACTIONS(4284),
    [anon_sym_EQ_GT] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(3538),
    [anon_sym_DOT_DOT] = ACTIONS(3540),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3542),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(3544),
    [anon_sym_AMP_AMP] = ACTIONS(3544),
    [anon_sym_LT_LT] = ACTIONS(3546),
    [anon_sym_GT_GT] = ACTIONS(3546),
    [anon_sym_EQ_EQ] = ACTIONS(3548),
    [anon_sym_BANG_EQ] = ACTIONS(3544),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3544),
    [anon_sym_LT_EQ_GT] = ACTIONS(3544),
    [anon_sym_EQ_TILDE] = ACTIONS(3544),
    [anon_sym_BANG_TILDE] = ACTIONS(3544),
    [anon_sym_LT_EQ] = ACTIONS(3536),
    [anon_sym_GT] = ACTIONS(3536),
    [anon_sym_GT_EQ] = ACTIONS(3550),
    [anon_sym_CARET] = ACTIONS(3552),
    [anon_sym_PLUS] = ACTIONS(3554),
    [anon_sym_SLASH] = ACTIONS(3532),
    [anon_sym_PERCENT] = ACTIONS(3532),
    [sym_comment] = ACTIONS(110),
  },
  [5170] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(8557),
    [sym__primary] = STATE(693),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(695),
    [sym_call] = STATE(695),
    [sym_method_call] = STATE(694),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(701),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(702),
    [sym__variable] = STATE(695),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2286),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(3410),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__string_beginning] = ACTIONS(3412),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__unary_minus] = ACTIONS(1124),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(3416),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3420),
    [anon_sym_module] = ACTIONS(3422),
    [anon_sym_return] = ACTIONS(3476),
    [anon_sym_yield] = ACTIONS(3478),
    [anon_sym_break] = ACTIONS(3480),
    [anon_sym_next] = ACTIONS(3482),
    [anon_sym_redo] = ACTIONS(3432),
    [anon_sym_retry] = ACTIONS(3434),
    [anon_sym_if] = ACTIONS(3436),
    [anon_sym_unless] = ACTIONS(3438),
    [anon_sym_while] = ACTIONS(3440),
    [anon_sym_until] = ACTIONS(3442),
    [anon_sym_for] = ACTIONS(3444),
    [anon_sym_case] = ACTIONS(3446),
    [anon_sym_begin] = ACTIONS(3448),
    [anon_sym_PLUS] = ACTIONS(3484),
    [anon_sym_defined_QMARK] = ACTIONS(1156),
    [anon_sym_not] = ACTIONS(3486),
    [anon_sym_BANG] = ACTIONS(1162),
    [anon_sym_TILDE] = ACTIONS(1162),
    [sym_constant] = ACTIONS(3488),
    [sym_identifier] = ACTIONS(3488),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_false] = ACTIONS(1186),
    [anon_sym_nil] = ACTIONS(1188),
    [anon_sym_self] = ACTIONS(3490),
    [anon_sym_super] = ACTIONS(3492),
    [anon_sym_true] = ACTIONS(1184),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(3472),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [5171] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(2318),
    [sym__primary] = STATE(693),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(695),
    [sym_call] = STATE(695),
    [sym_method_call] = STATE(694),
    [sym__argument] = STATE(5238),
    [sym_splat_argument] = STATE(699),
    [sym_hash_splat_argument] = STATE(699),
    [sym_block_argument] = STATE(699),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(701),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(702),
    [sym__variable] = STATE(695),
    [sym_reserved_identifier] = STATE(2321),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2322),
    [sym_subshell] = STATE(649),
    [sym_heredoc_end] = STATE(8558),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_pair] = STATE(699),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(1096),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(1106),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__block_ampersand] = ACTIONS(3508),
    [sym__splat_star] = ACTIONS(3510),
    [sym__unary_minus] = ACTIONS(1124),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(1128),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(11480),
    [anon_sym_class] = ACTIONS(1134),
    [anon_sym_module] = ACTIONS(1136),
    [anon_sym_return] = ACTIONS(1138),
    [anon_sym_yield] = ACTIONS(1140),
    [anon_sym_break] = ACTIONS(1142),
    [anon_sym_next] = ACTIONS(1144),
    [anon_sym_redo] = ACTIONS(1146),
    [anon_sym_retry] = ACTIONS(1148),
    [anon_sym_if] = ACTIONS(7490),
    [anon_sym_unless] = ACTIONS(7492),
    [anon_sym_while] = ACTIONS(7494),
    [anon_sym_until] = ACTIONS(7496),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1150),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1152),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1154),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(3484),
    [anon_sym_defined_QMARK] = ACTIONS(1156),
    [anon_sym_not] = ACTIONS(1158),
    [anon_sym_BANG] = ACTIONS(1162),
    [anon_sym_TILDE] = ACTIONS(1162),
    [sym_constant] = ACTIONS(3512),
    [sym_identifier] = ACTIONS(3512),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(1168),
    [anon_sym_nil] = ACTIONS(1170),
    [anon_sym_self] = ACTIONS(1172),
    [anon_sym_super] = ACTIONS(1174),
    [anon_sym_true] = ACTIONS(1176),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(1192),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [5172] = {
    [sym_heredoc_end] = STATE(2381),
    [aux_sym_argument_list_repeat2] = STATE(5241),
    [sym__simple_heredoc_body] = ACTIONS(3576),
    [sym__heredoc_body_beginning] = ACTIONS(3578),
    [sym__string_middle] = ACTIONS(5472),
    [sym__string_end] = ACTIONS(5472),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(11482),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_STAR_STAR] = ACTIONS(5472),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_if] = ACTIONS(5472),
    [anon_sym_unless] = ACTIONS(5472),
    [anon_sym_while] = ACTIONS(5472),
    [anon_sym_until] = ACTIONS(5472),
    [anon_sym_rescue] = ACTIONS(5472),
    [anon_sym_EQ_GT] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5472),
    [anon_sym_AMP_AMP] = ACTIONS(5472),
    [anon_sym_LT_LT] = ACTIONS(5472),
    [anon_sym_GT_GT] = ACTIONS(5472),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5472),
    [anon_sym_PLUS] = ACTIONS(5472),
    [anon_sym_SLASH] = ACTIONS(5472),
    [anon_sym_PERCENT] = ACTIONS(5472),
    [sym_comment] = ACTIONS(110),
  },
  [5173] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(8560),
    [sym__primary] = STATE(693),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(695),
    [sym_call] = STATE(695),
    [sym_method_call] = STATE(694),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(701),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(702),
    [sym__variable] = STATE(695),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2286),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(3410),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__string_beginning] = ACTIONS(3412),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__unary_minus] = ACTIONS(1124),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(3416),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3420),
    [anon_sym_module] = ACTIONS(3422),
    [anon_sym_return] = ACTIONS(3476),
    [anon_sym_yield] = ACTIONS(3478),
    [anon_sym_break] = ACTIONS(3480),
    [anon_sym_next] = ACTIONS(3482),
    [anon_sym_redo] = ACTIONS(3432),
    [anon_sym_retry] = ACTIONS(3434),
    [anon_sym_if] = ACTIONS(3436),
    [anon_sym_unless] = ACTIONS(3438),
    [anon_sym_while] = ACTIONS(3440),
    [anon_sym_until] = ACTIONS(3442),
    [anon_sym_for] = ACTIONS(3444),
    [anon_sym_case] = ACTIONS(3446),
    [anon_sym_begin] = ACTIONS(3448),
    [anon_sym_PLUS] = ACTIONS(3484),
    [anon_sym_defined_QMARK] = ACTIONS(1156),
    [anon_sym_not] = ACTIONS(3486),
    [anon_sym_BANG] = ACTIONS(1162),
    [anon_sym_TILDE] = ACTIONS(1162),
    [sym_constant] = ACTIONS(3488),
    [sym_identifier] = ACTIONS(3488),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_false] = ACTIONS(1186),
    [anon_sym_nil] = ACTIONS(1188),
    [anon_sym_self] = ACTIONS(3490),
    [anon_sym_super] = ACTIONS(3492),
    [anon_sym_true] = ACTIONS(1184),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(3472),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [5174] = {
    [sym__statements] = STATE(8562),
    [sym__top_level_statement] = STATE(3863),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(3864),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_elsif] = STATE(3865),
    [sym_else] = STATE(3865),
    [sym__if_tail] = STATE(8563),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3867),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3869),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3870),
    [sym__variable] = STATE(3868),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(3849),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(8564),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(5566),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(5568),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(5570),
    [sym__unary_minus] = ACTIONS(5572),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11484),
    [anon_sym_SEMI] = ACTIONS(5576),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_elsif] = ACTIONS(5586),
    [anon_sym_else] = ACTIONS(5588),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5590),
    [anon_sym_defined_QMARK] = ACTIONS(5592),
    [anon_sym_not] = ACTIONS(5594),
    [anon_sym_BANG] = ACTIONS(5596),
    [anon_sym_TILDE] = ACTIONS(5596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5175] = {
    [sym__statements] = STATE(8566),
    [sym__top_level_statement] = STATE(3946),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(3947),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(8567),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3949),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3950),
    [sym_call] = STATE(3950),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3951),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3952),
    [sym__variable] = STATE(3950),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5682),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11486),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5686),
    [anon_sym_yield] = ACTIONS(5688),
    [anon_sym_break] = ACTIONS(5690),
    [anon_sym_next] = ACTIONS(5692),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(5588),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5694),
    [anon_sym_defined_QMARK] = ACTIONS(5696),
    [anon_sym_not] = ACTIONS(5698),
    [anon_sym_BANG] = ACTIONS(5700),
    [anon_sym_TILDE] = ACTIONS(5700),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5176] = {
    [sym__statements] = STATE(8569),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11488),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5177] = {
    [sym__statements] = STATE(8571),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11490),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5178] = {
    [sym__do] = STATE(8572),
    [sym_heredoc_end] = STATE(1550),
    [sym__terminator] = STATE(1557),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym__line_break] = ACTIONS(2446),
    [anon_sym_SEMI] = ACTIONS(2446),
    [anon_sym_do] = ACTIONS(2460),
    [sym_comment] = ACTIONS(110),
  },
  [5179] = {
    [sym__simple_heredoc_body] = ACTIONS(6154),
    [sym__heredoc_body_beginning] = ACTIONS(6154),
    [sym__string_middle] = ACTIONS(6154),
    [sym__string_end] = ACTIONS(6154),
    [sym__element_reference_left_bracket] = ACTIONS(6154),
    [sym__scope_double_colon] = ACTIONS(6154),
    [sym__binary_minus] = ACTIONS(6154),
    [sym__binary_star] = ACTIONS(6154),
    [anon_sym_DOT] = ACTIONS(6156),
    [anon_sym_COMMA] = ACTIONS(6154),
    [anon_sym_PIPE] = ACTIONS(6156),
    [anon_sym_STAR_STAR] = ACTIONS(6154),
    [anon_sym_AMP] = ACTIONS(6156),
    [anon_sym_LT] = ACTIONS(6156),
    [anon_sym_if] = ACTIONS(6154),
    [anon_sym_unless] = ACTIONS(6154),
    [anon_sym_while] = ACTIONS(6154),
    [anon_sym_until] = ACTIONS(6154),
    [anon_sym_rescue] = ACTIONS(6154),
    [anon_sym_EQ_GT] = ACTIONS(6154),
    [anon_sym_AMP_DOT] = ACTIONS(6154),
    [anon_sym_QMARK] = ACTIONS(6154),
    [anon_sym_DOT_DOT] = ACTIONS(6156),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6154),
    [anon_sym_and] = ACTIONS(6154),
    [anon_sym_or] = ACTIONS(6154),
    [anon_sym_PIPE_PIPE] = ACTIONS(6154),
    [anon_sym_AMP_AMP] = ACTIONS(6154),
    [anon_sym_LT_LT] = ACTIONS(6154),
    [anon_sym_GT_GT] = ACTIONS(6154),
    [anon_sym_EQ_EQ] = ACTIONS(6156),
    [anon_sym_BANG_EQ] = ACTIONS(6154),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6154),
    [anon_sym_LT_EQ_GT] = ACTIONS(6154),
    [anon_sym_EQ_TILDE] = ACTIONS(6154),
    [anon_sym_BANG_TILDE] = ACTIONS(6154),
    [anon_sym_LT_EQ] = ACTIONS(6156),
    [anon_sym_GT] = ACTIONS(6156),
    [anon_sym_GT_EQ] = ACTIONS(6154),
    [anon_sym_CARET] = ACTIONS(6154),
    [anon_sym_PLUS] = ACTIONS(6154),
    [anon_sym_SLASH] = ACTIONS(6154),
    [anon_sym_PERCENT] = ACTIONS(6154),
    [sym_comment] = ACTIONS(110),
  },
  [5180] = {
    [anon_sym_end] = ACTIONS(11492),
    [sym_comment] = ACTIONS(110),
  },
  [5181] = {
    [sym_when] = STATE(8574),
    [sym_heredoc_end] = STATE(387),
    [sym__terminator] = STATE(1688),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym__line_break] = ACTIONS(666),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_when] = ACTIONS(2612),
    [sym_comment] = ACTIONS(110),
  },
  [5182] = {
    [sym__simple_heredoc_body] = ACTIONS(6600),
    [sym__heredoc_body_beginning] = ACTIONS(6600),
    [sym__string_middle] = ACTIONS(6600),
    [sym__string_end] = ACTIONS(6600),
    [sym__element_reference_left_bracket] = ACTIONS(6600),
    [sym__scope_double_colon] = ACTIONS(6600),
    [sym__binary_minus] = ACTIONS(6600),
    [sym__binary_star] = ACTIONS(6600),
    [anon_sym_DOT] = ACTIONS(6602),
    [anon_sym_COMMA] = ACTIONS(6600),
    [anon_sym_PIPE] = ACTIONS(6602),
    [anon_sym_STAR_STAR] = ACTIONS(6600),
    [anon_sym_AMP] = ACTIONS(6602),
    [anon_sym_LT] = ACTIONS(6602),
    [anon_sym_if] = ACTIONS(6600),
    [anon_sym_unless] = ACTIONS(6600),
    [anon_sym_while] = ACTIONS(6600),
    [anon_sym_until] = ACTIONS(6600),
    [anon_sym_rescue] = ACTIONS(6600),
    [anon_sym_EQ_GT] = ACTIONS(6600),
    [anon_sym_AMP_DOT] = ACTIONS(6600),
    [anon_sym_QMARK] = ACTIONS(6600),
    [anon_sym_DOT_DOT] = ACTIONS(6602),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6600),
    [anon_sym_and] = ACTIONS(6600),
    [anon_sym_or] = ACTIONS(6600),
    [anon_sym_PIPE_PIPE] = ACTIONS(6600),
    [anon_sym_AMP_AMP] = ACTIONS(6600),
    [anon_sym_LT_LT] = ACTIONS(6600),
    [anon_sym_GT_GT] = ACTIONS(6600),
    [anon_sym_EQ_EQ] = ACTIONS(6602),
    [anon_sym_BANG_EQ] = ACTIONS(6600),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6600),
    [anon_sym_LT_EQ_GT] = ACTIONS(6600),
    [anon_sym_EQ_TILDE] = ACTIONS(6600),
    [anon_sym_BANG_TILDE] = ACTIONS(6600),
    [anon_sym_LT_EQ] = ACTIONS(6602),
    [anon_sym_GT] = ACTIONS(6602),
    [anon_sym_GT_EQ] = ACTIONS(6600),
    [anon_sym_CARET] = ACTIONS(6600),
    [anon_sym_PLUS] = ACTIONS(6600),
    [anon_sym_SLASH] = ACTIONS(6600),
    [anon_sym_PERCENT] = ACTIONS(6600),
    [sym_comment] = ACTIONS(110),
  },
  [5183] = {
    [anon_sym_end] = ACTIONS(11494),
    [sym_comment] = ACTIONS(110),
  },
  [5184] = {
    [sym__simple_heredoc_body] = ACTIONS(8568),
    [sym__heredoc_body_beginning] = ACTIONS(8568),
    [sym__string_middle] = ACTIONS(8568),
    [sym__string_end] = ACTIONS(8568),
    [sym__element_reference_left_bracket] = ACTIONS(8568),
    [sym__scope_double_colon] = ACTIONS(8568),
    [sym__binary_minus] = ACTIONS(7382),
    [sym__binary_star] = ACTIONS(7384),
    [anon_sym_DOT] = ACTIONS(9468),
    [anon_sym_COMMA] = ACTIONS(8568),
    [anon_sym_PIPE] = ACTIONS(7386),
    [anon_sym_STAR_STAR] = ACTIONS(7388),
    [anon_sym_AMP] = ACTIONS(7390),
    [anon_sym_LT] = ACTIONS(7392),
    [anon_sym_if] = ACTIONS(8568),
    [anon_sym_unless] = ACTIONS(8568),
    [anon_sym_while] = ACTIONS(8568),
    [anon_sym_until] = ACTIONS(8568),
    [anon_sym_rescue] = ACTIONS(8568),
    [anon_sym_AMP_DOT] = ACTIONS(8568),
    [anon_sym_QMARK] = ACTIONS(7394),
    [anon_sym_DOT_DOT] = ACTIONS(7396),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7398),
    [anon_sym_and] = ACTIONS(8568),
    [anon_sym_or] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE] = ACTIONS(7400),
    [anon_sym_AMP_AMP] = ACTIONS(7400),
    [anon_sym_LT_LT] = ACTIONS(7402),
    [anon_sym_GT_GT] = ACTIONS(7402),
    [anon_sym_EQ_EQ] = ACTIONS(7404),
    [anon_sym_BANG_EQ] = ACTIONS(7400),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7400),
    [anon_sym_LT_EQ_GT] = ACTIONS(7400),
    [anon_sym_EQ_TILDE] = ACTIONS(7400),
    [anon_sym_BANG_TILDE] = ACTIONS(7400),
    [anon_sym_LT_EQ] = ACTIONS(7392),
    [anon_sym_GT] = ACTIONS(7392),
    [anon_sym_GT_EQ] = ACTIONS(7406),
    [anon_sym_CARET] = ACTIONS(7408),
    [anon_sym_PLUS] = ACTIONS(7410),
    [anon_sym_SLASH] = ACTIONS(7388),
    [anon_sym_PERCENT] = ACTIONS(7388),
    [sym_comment] = ACTIONS(110),
  },
  [5185] = {
    [anon_sym_RBRACK] = ACTIONS(11448),
    [sym_comment] = ACTIONS(110),
  },
  [5186] = {
    [sym__simple_heredoc_body] = ACTIONS(6902),
    [sym__heredoc_body_beginning] = ACTIONS(6902),
    [sym__string_middle] = ACTIONS(6902),
    [sym__string_end] = ACTIONS(6902),
    [sym__element_reference_left_bracket] = ACTIONS(6902),
    [sym__scope_double_colon] = ACTIONS(6902),
    [sym__binary_minus] = ACTIONS(6902),
    [sym__binary_star] = ACTIONS(6902),
    [anon_sym_DOT] = ACTIONS(6904),
    [anon_sym_COMMA] = ACTIONS(6902),
    [anon_sym_PIPE] = ACTIONS(6904),
    [anon_sym_STAR_STAR] = ACTIONS(6902),
    [anon_sym_AMP] = ACTIONS(6904),
    [anon_sym_LT] = ACTIONS(6904),
    [anon_sym_if] = ACTIONS(6902),
    [anon_sym_unless] = ACTIONS(6902),
    [anon_sym_while] = ACTIONS(6902),
    [anon_sym_until] = ACTIONS(6902),
    [anon_sym_rescue] = ACTIONS(6902),
    [anon_sym_EQ_GT] = ACTIONS(6902),
    [anon_sym_AMP_DOT] = ACTIONS(6902),
    [anon_sym_QMARK] = ACTIONS(6902),
    [anon_sym_DOT_DOT] = ACTIONS(6904),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6902),
    [anon_sym_and] = ACTIONS(6902),
    [anon_sym_or] = ACTIONS(6902),
    [anon_sym_PIPE_PIPE] = ACTIONS(6902),
    [anon_sym_AMP_AMP] = ACTIONS(6902),
    [anon_sym_LT_LT] = ACTIONS(6902),
    [anon_sym_GT_GT] = ACTIONS(6902),
    [anon_sym_EQ_EQ] = ACTIONS(6904),
    [anon_sym_BANG_EQ] = ACTIONS(6902),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6902),
    [anon_sym_LT_EQ_GT] = ACTIONS(6902),
    [anon_sym_EQ_TILDE] = ACTIONS(6902),
    [anon_sym_BANG_TILDE] = ACTIONS(6902),
    [anon_sym_LT_EQ] = ACTIONS(6904),
    [anon_sym_GT] = ACTIONS(6904),
    [anon_sym_GT_EQ] = ACTIONS(6902),
    [anon_sym_CARET] = ACTIONS(6902),
    [anon_sym_PLUS] = ACTIONS(6902),
    [anon_sym_SLASH] = ACTIONS(6902),
    [anon_sym_PERCENT] = ACTIONS(6902),
    [sym_comment] = ACTIONS(110),
  },
  [5187] = {
    [anon_sym_RBRACE] = ACTIONS(11496),
    [sym_comment] = ACTIONS(110),
  },
  [5188] = {
    [sym__statements] = STATE(8577),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(841),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(11496),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5189] = {
    [sym__simple_heredoc_body] = ACTIONS(6942),
    [sym__heredoc_body_beginning] = ACTIONS(6942),
    [sym__string_middle] = ACTIONS(6942),
    [sym__string_end] = ACTIONS(6942),
    [sym__element_reference_left_bracket] = ACTIONS(6942),
    [sym__scope_double_colon] = ACTIONS(6942),
    [sym__binary_minus] = ACTIONS(6942),
    [sym__binary_star] = ACTIONS(6942),
    [anon_sym_DOT] = ACTIONS(6944),
    [anon_sym_COMMA] = ACTIONS(6942),
    [anon_sym_PIPE] = ACTIONS(6944),
    [anon_sym_STAR_STAR] = ACTIONS(6942),
    [anon_sym_AMP] = ACTIONS(6944),
    [anon_sym_LT] = ACTIONS(6944),
    [anon_sym_if] = ACTIONS(6942),
    [anon_sym_unless] = ACTIONS(6942),
    [anon_sym_while] = ACTIONS(6942),
    [anon_sym_until] = ACTIONS(6942),
    [anon_sym_rescue] = ACTIONS(6942),
    [anon_sym_EQ_GT] = ACTIONS(6942),
    [anon_sym_AMP_DOT] = ACTIONS(6942),
    [anon_sym_QMARK] = ACTIONS(6942),
    [anon_sym_DOT_DOT] = ACTIONS(6944),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6942),
    [anon_sym_and] = ACTIONS(6942),
    [anon_sym_or] = ACTIONS(6942),
    [anon_sym_PIPE_PIPE] = ACTIONS(6942),
    [anon_sym_AMP_AMP] = ACTIONS(6942),
    [anon_sym_LT_LT] = ACTIONS(6942),
    [anon_sym_GT_GT] = ACTIONS(6942),
    [anon_sym_EQ_EQ] = ACTIONS(6944),
    [anon_sym_BANG_EQ] = ACTIONS(6942),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6942),
    [anon_sym_LT_EQ_GT] = ACTIONS(6942),
    [anon_sym_EQ_TILDE] = ACTIONS(6942),
    [anon_sym_BANG_TILDE] = ACTIONS(6942),
    [anon_sym_LT_EQ] = ACTIONS(6944),
    [anon_sym_GT] = ACTIONS(6944),
    [anon_sym_GT_EQ] = ACTIONS(6942),
    [anon_sym_CARET] = ACTIONS(6942),
    [anon_sym_PLUS] = ACTIONS(6942),
    [anon_sym_SLASH] = ACTIONS(6942),
    [anon_sym_PERCENT] = ACTIONS(6942),
    [sym_comment] = ACTIONS(110),
  },
  [5190] = {
    [anon_sym_end] = ACTIONS(11498),
    [sym_comment] = ACTIONS(110),
  },
  [5191] = {
    [sym__statements] = STATE(8579),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(8580),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11500),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5192] = {
    [sym__statements] = STATE(8579),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(8581),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(8580),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11500),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5193] = {
    [sym__simple_heredoc_body] = ACTIONS(6980),
    [sym__heredoc_body_beginning] = ACTIONS(6980),
    [sym__string_middle] = ACTIONS(6980),
    [sym__string_end] = ACTIONS(6980),
    [sym__element_reference_left_bracket] = ACTIONS(6980),
    [sym__scope_double_colon] = ACTIONS(6980),
    [sym__binary_minus] = ACTIONS(6980),
    [sym__binary_star] = ACTIONS(6980),
    [anon_sym_DOT] = ACTIONS(6982),
    [anon_sym_COMMA] = ACTIONS(6980),
    [anon_sym_PIPE] = ACTIONS(6982),
    [anon_sym_STAR_STAR] = ACTIONS(6980),
    [anon_sym_AMP] = ACTIONS(6982),
    [anon_sym_LT] = ACTIONS(6982),
    [anon_sym_if] = ACTIONS(6980),
    [anon_sym_unless] = ACTIONS(6980),
    [anon_sym_while] = ACTIONS(6980),
    [anon_sym_until] = ACTIONS(6980),
    [anon_sym_rescue] = ACTIONS(6980),
    [anon_sym_EQ_GT] = ACTIONS(6980),
    [anon_sym_AMP_DOT] = ACTIONS(6980),
    [anon_sym_QMARK] = ACTIONS(6980),
    [anon_sym_DOT_DOT] = ACTIONS(6982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6980),
    [anon_sym_and] = ACTIONS(6980),
    [anon_sym_or] = ACTIONS(6980),
    [anon_sym_PIPE_PIPE] = ACTIONS(6980),
    [anon_sym_AMP_AMP] = ACTIONS(6980),
    [anon_sym_LT_LT] = ACTIONS(6980),
    [anon_sym_GT_GT] = ACTIONS(6980),
    [anon_sym_EQ_EQ] = ACTIONS(6982),
    [anon_sym_BANG_EQ] = ACTIONS(6980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6980),
    [anon_sym_LT_EQ_GT] = ACTIONS(6980),
    [anon_sym_EQ_TILDE] = ACTIONS(6980),
    [anon_sym_BANG_TILDE] = ACTIONS(6980),
    [anon_sym_LT_EQ] = ACTIONS(6982),
    [anon_sym_GT] = ACTIONS(6982),
    [anon_sym_GT_EQ] = ACTIONS(6980),
    [anon_sym_CARET] = ACTIONS(6980),
    [anon_sym_PLUS] = ACTIONS(6980),
    [anon_sym_SLASH] = ACTIONS(6980),
    [anon_sym_PERCENT] = ACTIONS(6980),
    [sym_comment] = ACTIONS(110),
  },
  [5194] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__string_middle] = ACTIONS(7008),
    [sym__string_end] = ACTIONS(7008),
    [sym__element_reference_left_bracket] = ACTIONS(7008),
    [sym__scope_double_colon] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(3528),
    [anon_sym_DOT] = ACTIONS(7010),
    [anon_sym_COMMA] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_STAR_STAR] = ACTIONS(3532),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_if] = ACTIONS(7008),
    [anon_sym_unless] = ACTIONS(7008),
    [anon_sym_while] = ACTIONS(7008),
    [anon_sym_until] = ACTIONS(7008),
    [anon_sym_rescue] = ACTIONS(7008),
    [anon_sym_EQ_GT] = ACTIONS(7008),
    [anon_sym_AMP_DOT] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7008),
    [anon_sym_AMP_AMP] = ACTIONS(7008),
    [anon_sym_LT_LT] = ACTIONS(7008),
    [anon_sym_GT_GT] = ACTIONS(7008),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7008),
    [anon_sym_PLUS] = ACTIONS(7008),
    [anon_sym_SLASH] = ACTIONS(3532),
    [anon_sym_PERCENT] = ACTIONS(3532),
    [sym_comment] = ACTIONS(110),
  },
  [5195] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__string_middle] = ACTIONS(7012),
    [sym__string_end] = ACTIONS(7012),
    [sym__element_reference_left_bracket] = ACTIONS(7012),
    [sym__scope_double_colon] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_DOT] = ACTIONS(7014),
    [anon_sym_COMMA] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_STAR_STAR] = ACTIONS(3532),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_if] = ACTIONS(7012),
    [anon_sym_unless] = ACTIONS(7012),
    [anon_sym_while] = ACTIONS(7012),
    [anon_sym_until] = ACTIONS(7012),
    [anon_sym_rescue] = ACTIONS(7012),
    [anon_sym_EQ_GT] = ACTIONS(7012),
    [anon_sym_AMP_DOT] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7012),
    [anon_sym_AMP_AMP] = ACTIONS(7012),
    [anon_sym_LT_LT] = ACTIONS(7012),
    [anon_sym_GT_GT] = ACTIONS(7012),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7012),
    [anon_sym_PLUS] = ACTIONS(7012),
    [anon_sym_SLASH] = ACTIONS(7012),
    [anon_sym_PERCENT] = ACTIONS(7012),
    [sym_comment] = ACTIONS(110),
  },
  [5196] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__string_middle] = ACTIONS(7016),
    [sym__string_end] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(3526),
    [sym__binary_star] = ACTIONS(3528),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(3532),
    [anon_sym_AMP] = ACTIONS(3534),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(3546),
    [anon_sym_GT_GT] = ACTIONS(3546),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(3554),
    [anon_sym_SLASH] = ACTIONS(3532),
    [anon_sym_PERCENT] = ACTIONS(3532),
    [sym_comment] = ACTIONS(110),
  },
  [5197] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__string_middle] = ACTIONS(7016),
    [sym__string_end] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(3532),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7016),
    [anon_sym_PERCENT] = ACTIONS(7016),
    [sym_comment] = ACTIONS(110),
  },
  [5198] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__string_middle] = ACTIONS(7016),
    [sym__string_end] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(3526),
    [sym__binary_star] = ACTIONS(3528),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(3532),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(3546),
    [anon_sym_GT_GT] = ACTIONS(3546),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(3554),
    [anon_sym_SLASH] = ACTIONS(3532),
    [anon_sym_PERCENT] = ACTIONS(3532),
    [sym_comment] = ACTIONS(110),
  },
  [5199] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__string_middle] = ACTIONS(7016),
    [sym__string_end] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(3526),
    [sym__binary_star] = ACTIONS(3528),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(3530),
    [anon_sym_STAR_STAR] = ACTIONS(3532),
    [anon_sym_AMP] = ACTIONS(3534),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(3546),
    [anon_sym_GT_GT] = ACTIONS(3546),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(3552),
    [anon_sym_PLUS] = ACTIONS(3554),
    [anon_sym_SLASH] = ACTIONS(3532),
    [anon_sym_PERCENT] = ACTIONS(3532),
    [sym_comment] = ACTIONS(110),
  },
  [5200] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(11502),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [5201] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__string_middle] = ACTIONS(7108),
    [sym__string_end] = ACTIONS(7108),
    [sym__element_reference_left_bracket] = ACTIONS(7108),
    [sym__scope_double_colon] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(3526),
    [sym__binary_star] = ACTIONS(3528),
    [anon_sym_DOT] = ACTIONS(9472),
    [anon_sym_COMMA] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(3530),
    [anon_sym_STAR_STAR] = ACTIONS(3532),
    [anon_sym_AMP] = ACTIONS(3534),
    [anon_sym_LT] = ACTIONS(3536),
    [anon_sym_if] = ACTIONS(7108),
    [anon_sym_unless] = ACTIONS(7108),
    [anon_sym_while] = ACTIONS(7108),
    [anon_sym_until] = ACTIONS(7108),
    [anon_sym_rescue] = ACTIONS(7108),
    [anon_sym_EQ_GT] = ACTIONS(7108),
    [anon_sym_AMP_DOT] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(3540),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3542),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(3544),
    [anon_sym_AMP_AMP] = ACTIONS(3544),
    [anon_sym_LT_LT] = ACTIONS(3546),
    [anon_sym_GT_GT] = ACTIONS(3546),
    [anon_sym_EQ_EQ] = ACTIONS(3548),
    [anon_sym_BANG_EQ] = ACTIONS(3544),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3544),
    [anon_sym_LT_EQ_GT] = ACTIONS(3544),
    [anon_sym_EQ_TILDE] = ACTIONS(3544),
    [anon_sym_BANG_TILDE] = ACTIONS(3544),
    [anon_sym_LT_EQ] = ACTIONS(3536),
    [anon_sym_GT] = ACTIONS(3536),
    [anon_sym_GT_EQ] = ACTIONS(3550),
    [anon_sym_CARET] = ACTIONS(3552),
    [anon_sym_PLUS] = ACTIONS(3554),
    [anon_sym_SLASH] = ACTIONS(3532),
    [anon_sym_PERCENT] = ACTIONS(3532),
    [sym_comment] = ACTIONS(110),
  },
  [5202] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__string_middle] = ACTIONS(7016),
    [sym__string_end] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(3526),
    [sym__binary_star] = ACTIONS(3528),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(3530),
    [anon_sym_STAR_STAR] = ACTIONS(3532),
    [anon_sym_AMP] = ACTIONS(3534),
    [anon_sym_LT] = ACTIONS(3536),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(3538),
    [anon_sym_DOT_DOT] = ACTIONS(3540),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3542),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(3544),
    [anon_sym_AMP_AMP] = ACTIONS(3544),
    [anon_sym_LT_LT] = ACTIONS(3546),
    [anon_sym_GT_GT] = ACTIONS(3546),
    [anon_sym_EQ_EQ] = ACTIONS(3548),
    [anon_sym_BANG_EQ] = ACTIONS(3544),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3544),
    [anon_sym_LT_EQ_GT] = ACTIONS(3544),
    [anon_sym_EQ_TILDE] = ACTIONS(3544),
    [anon_sym_BANG_TILDE] = ACTIONS(3544),
    [anon_sym_LT_EQ] = ACTIONS(3536),
    [anon_sym_GT] = ACTIONS(3536),
    [anon_sym_GT_EQ] = ACTIONS(3550),
    [anon_sym_CARET] = ACTIONS(3552),
    [anon_sym_PLUS] = ACTIONS(3554),
    [anon_sym_SLASH] = ACTIONS(3532),
    [anon_sym_PERCENT] = ACTIONS(3532),
    [sym_comment] = ACTIONS(110),
  },
  [5203] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__string_middle] = ACTIONS(7016),
    [sym__string_end] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(3526),
    [sym__binary_star] = ACTIONS(3528),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(3530),
    [anon_sym_STAR_STAR] = ACTIONS(3532),
    [anon_sym_AMP] = ACTIONS(3534),
    [anon_sym_LT] = ACTIONS(3536),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(3546),
    [anon_sym_GT_GT] = ACTIONS(3546),
    [anon_sym_EQ_EQ] = ACTIONS(3548),
    [anon_sym_BANG_EQ] = ACTIONS(3544),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3544),
    [anon_sym_LT_EQ_GT] = ACTIONS(3544),
    [anon_sym_EQ_TILDE] = ACTIONS(3544),
    [anon_sym_BANG_TILDE] = ACTIONS(3544),
    [anon_sym_LT_EQ] = ACTIONS(3536),
    [anon_sym_GT] = ACTIONS(3536),
    [anon_sym_GT_EQ] = ACTIONS(3550),
    [anon_sym_CARET] = ACTIONS(3552),
    [anon_sym_PLUS] = ACTIONS(3554),
    [anon_sym_SLASH] = ACTIONS(3532),
    [anon_sym_PERCENT] = ACTIONS(3532),
    [sym_comment] = ACTIONS(110),
  },
  [5204] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__string_middle] = ACTIONS(7016),
    [sym__string_end] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(3526),
    [sym__binary_star] = ACTIONS(3528),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(3532),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(3554),
    [anon_sym_SLASH] = ACTIONS(3532),
    [anon_sym_PERCENT] = ACTIONS(3532),
    [sym_comment] = ACTIONS(110),
  },
  [5205] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__string_middle] = ACTIONS(7016),
    [sym__string_end] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(3528),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(3532),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(3532),
    [anon_sym_PERCENT] = ACTIONS(3532),
    [sym_comment] = ACTIONS(110),
  },
  [5206] = {
    [sym__simple_heredoc_body] = ACTIONS(7110),
    [sym__heredoc_body_beginning] = ACTIONS(7110),
    [sym__string_middle] = ACTIONS(7110),
    [sym__string_end] = ACTIONS(7110),
    [sym__element_reference_left_bracket] = ACTIONS(7110),
    [sym__scope_double_colon] = ACTIONS(7110),
    [sym__binary_minus] = ACTIONS(7110),
    [sym__binary_star] = ACTIONS(7110),
    [anon_sym_LBRACE] = ACTIONS(7110),
    [anon_sym_DOT] = ACTIONS(7112),
    [anon_sym_COMMA] = ACTIONS(7110),
    [anon_sym_PIPE] = ACTIONS(7112),
    [anon_sym_STAR_STAR] = ACTIONS(7112),
    [anon_sym_AMP] = ACTIONS(7112),
    [anon_sym_EQ] = ACTIONS(7112),
    [anon_sym_LT] = ACTIONS(7112),
    [anon_sym_if] = ACTIONS(7110),
    [anon_sym_unless] = ACTIONS(7110),
    [anon_sym_while] = ACTIONS(7110),
    [anon_sym_until] = ACTIONS(7110),
    [anon_sym_rescue] = ACTIONS(7110),
    [anon_sym_do] = ACTIONS(7110),
    [anon_sym_EQ_GT] = ACTIONS(7110),
    [anon_sym_AMP_DOT] = ACTIONS(7110),
    [anon_sym_PLUS_EQ] = ACTIONS(7110),
    [anon_sym_DASH_EQ] = ACTIONS(7110),
    [anon_sym_STAR_EQ] = ACTIONS(7110),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7110),
    [anon_sym_SLASH_EQ] = ACTIONS(7110),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7110),
    [anon_sym_PIPE_EQ] = ACTIONS(7110),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7110),
    [anon_sym_AMP_EQ] = ACTIONS(7110),
    [anon_sym_PERCENT_EQ] = ACTIONS(7110),
    [anon_sym_GT_GT_EQ] = ACTIONS(7110),
    [anon_sym_LT_LT_EQ] = ACTIONS(7110),
    [anon_sym_CARET_EQ] = ACTIONS(7110),
    [anon_sym_QMARK] = ACTIONS(7110),
    [anon_sym_DOT_DOT] = ACTIONS(7112),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7110),
    [anon_sym_and] = ACTIONS(7110),
    [anon_sym_or] = ACTIONS(7110),
    [anon_sym_PIPE_PIPE] = ACTIONS(7112),
    [anon_sym_AMP_AMP] = ACTIONS(7112),
    [anon_sym_LT_LT] = ACTIONS(7112),
    [anon_sym_GT_GT] = ACTIONS(7112),
    [anon_sym_EQ_EQ] = ACTIONS(7112),
    [anon_sym_BANG_EQ] = ACTIONS(7110),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7110),
    [anon_sym_LT_EQ_GT] = ACTIONS(7110),
    [anon_sym_EQ_TILDE] = ACTIONS(7110),
    [anon_sym_BANG_TILDE] = ACTIONS(7110),
    [anon_sym_LT_EQ] = ACTIONS(7112),
    [anon_sym_GT] = ACTIONS(7112),
    [anon_sym_GT_EQ] = ACTIONS(7110),
    [anon_sym_CARET] = ACTIONS(7112),
    [anon_sym_PLUS] = ACTIONS(7112),
    [anon_sym_SLASH] = ACTIONS(7112),
    [anon_sym_PERCENT] = ACTIONS(7112),
    [sym_comment] = ACTIONS(256),
  },
  [5207] = {
    [sym_heredoc_end] = STATE(8584),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RBRACK] = ACTIONS(11504),
    [sym_comment] = ACTIONS(110),
  },
  [5208] = {
    [anon_sym_RBRACK] = ACTIONS(11504),
    [sym_comment] = ACTIONS(110),
  },
  [5209] = {
    [sym__simple_string] = ACTIONS(7116),
    [sym__simple_symbol] = ACTIONS(7116),
    [sym__simple_subshell] = ACTIONS(7116),
    [sym__simple_regex] = ACTIONS(7116),
    [sym__simple_word_list] = ACTIONS(7116),
    [sym__simple_heredoc_body] = ACTIONS(7116),
    [sym__string_beginning] = ACTIONS(7116),
    [sym__symbol_beginning] = ACTIONS(7116),
    [sym__subshell_beginning] = ACTIONS(7116),
    [sym__regex_beginning] = ACTIONS(7116),
    [sym__word_list_beginning] = ACTIONS(7116),
    [sym__heredoc_body_beginning] = ACTIONS(7116),
    [sym__string_middle] = ACTIONS(7116),
    [sym__string_end] = ACTIONS(7116),
    [sym_heredoc_beginning] = ACTIONS(7116),
    [sym__element_reference_left_bracket] = ACTIONS(7116),
    [sym__block_ampersand] = ACTIONS(7116),
    [sym__splat_star] = ACTIONS(7116),
    [sym__argument_list_left_paren] = ACTIONS(7116),
    [sym__scope_double_colon] = ACTIONS(7116),
    [sym__unary_minus] = ACTIONS(7116),
    [sym__binary_minus] = ACTIONS(7116),
    [sym__binary_star] = ACTIONS(7116),
    [anon_sym_LBRACE] = ACTIONS(7116),
    [anon_sym_def] = ACTIONS(7118),
    [anon_sym_LPAREN] = ACTIONS(7116),
    [anon_sym_DOT] = ACTIONS(7118),
    [anon_sym_COLON_COLON] = ACTIONS(7116),
    [anon_sym_end] = ACTIONS(7118),
    [anon_sym_COMMA] = ACTIONS(7116),
    [anon_sym_PIPE] = ACTIONS(7118),
    [anon_sym_STAR] = ACTIONS(7118),
    [anon_sym_STAR_STAR] = ACTIONS(7118),
    [anon_sym_AMP] = ACTIONS(7118),
    [anon_sym_EQ] = ACTIONS(7118),
    [anon_sym_class] = ACTIONS(7118),
    [anon_sym_LT] = ACTIONS(7118),
    [anon_sym_module] = ACTIONS(7118),
    [anon_sym_return] = ACTIONS(7118),
    [anon_sym_yield] = ACTIONS(7118),
    [anon_sym_break] = ACTIONS(7118),
    [anon_sym_next] = ACTIONS(7118),
    [anon_sym_redo] = ACTIONS(7118),
    [anon_sym_retry] = ACTIONS(7118),
    [anon_sym_if] = ACTIONS(7118),
    [anon_sym_unless] = ACTIONS(7118),
    [anon_sym_while] = ACTIONS(7118),
    [anon_sym_until] = ACTIONS(7118),
    [anon_sym_rescue] = ACTIONS(7118),
    [anon_sym_for] = ACTIONS(7118),
    [anon_sym_in] = ACTIONS(7118),
    [anon_sym_do] = ACTIONS(7118),
    [anon_sym_case] = ACTIONS(7118),
    [anon_sym_when] = ACTIONS(7118),
    [anon_sym_elsif] = ACTIONS(7118),
    [anon_sym_else] = ACTIONS(7118),
    [anon_sym_then] = ACTIONS(7118),
    [anon_sym_begin] = ACTIONS(7118),
    [anon_sym_ensure] = ACTIONS(7118),
    [anon_sym_EQ_GT] = ACTIONS(7116),
    [anon_sym_AMP_DOT] = ACTIONS(7116),
    [anon_sym_PLUS_EQ] = ACTIONS(7116),
    [anon_sym_DASH_EQ] = ACTIONS(7116),
    [anon_sym_STAR_EQ] = ACTIONS(7116),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7116),
    [anon_sym_SLASH_EQ] = ACTIONS(7116),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7116),
    [anon_sym_PIPE_EQ] = ACTIONS(7116),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7116),
    [anon_sym_AMP_EQ] = ACTIONS(7116),
    [anon_sym_PERCENT_EQ] = ACTIONS(7116),
    [anon_sym_GT_GT_EQ] = ACTIONS(7116),
    [anon_sym_LT_LT_EQ] = ACTIONS(7116),
    [anon_sym_CARET_EQ] = ACTIONS(7116),
    [anon_sym_QMARK] = ACTIONS(7118),
    [anon_sym_DOT_DOT] = ACTIONS(7118),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7116),
    [anon_sym_and] = ACTIONS(7118),
    [anon_sym_or] = ACTIONS(7118),
    [anon_sym_PIPE_PIPE] = ACTIONS(7118),
    [anon_sym_AMP_AMP] = ACTIONS(7118),
    [anon_sym_LT_LT] = ACTIONS(7118),
    [anon_sym_GT_GT] = ACTIONS(7118),
    [anon_sym_EQ_EQ] = ACTIONS(7118),
    [anon_sym_BANG_EQ] = ACTIONS(7116),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7116),
    [anon_sym_LT_EQ_GT] = ACTIONS(7116),
    [anon_sym_EQ_TILDE] = ACTIONS(7116),
    [anon_sym_BANG_TILDE] = ACTIONS(7116),
    [anon_sym_LT_EQ] = ACTIONS(7118),
    [anon_sym_GT] = ACTIONS(7118),
    [anon_sym_GT_EQ] = ACTIONS(7116),
    [anon_sym_CARET] = ACTIONS(7118),
    [anon_sym_PLUS] = ACTIONS(7118),
    [anon_sym_SLASH] = ACTIONS(7118),
    [anon_sym_PERCENT] = ACTIONS(7118),
    [anon_sym_defined_QMARK] = ACTIONS(7116),
    [anon_sym_not] = ACTIONS(7118),
    [anon_sym_BANG] = ACTIONS(7118),
    [anon_sym_TILDE] = ACTIONS(7116),
    [sym_constant] = ACTIONS(7120),
    [sym_identifier] = ACTIONS(7120),
    [sym_instance_variable] = ACTIONS(7118),
    [sym_class_variable] = ACTIONS(7118),
    [sym_global_variable] = ACTIONS(7118),
    [anon_sym_alias] = ACTIONS(7118),
    [anon_sym_defined] = ACTIONS(7118),
    [anon_sym_false] = ACTIONS(7118),
    [anon_sym_nil] = ACTIONS(7118),
    [anon_sym_self] = ACTIONS(7118),
    [anon_sym_super] = ACTIONS(7118),
    [anon_sym_true] = ACTIONS(7118),
    [anon_sym_undef] = ACTIONS(7118),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(7118),
    [sym_float] = ACTIONS(7120),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(7116),
    [anon_sym_TRUE] = ACTIONS(7118),
    [anon_sym_FALSE] = ACTIONS(7118),
    [anon_sym_NIL] = ACTIONS(7118),
    [sym_keyword__FILE__] = ACTIONS(7118),
    [sym_keyword__LINE__] = ACTIONS(7118),
    [sym_keyword__ENCODING__] = ACTIONS(7118),
    [sym__character_literal] = ACTIONS(7118),
    [anon_sym_LBRACK] = ACTIONS(7116),
    [anon_sym_DASH_GT] = ACTIONS(7116),
  },
  [5210] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1382),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(8586),
    [sym__argument] = STATE(1385),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1386),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1387),
    [sym__variable] = STATE(1383),
    [sym_reserved_identifier] = STATE(1388),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1389),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(8587),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(2154),
    [sym__splat_star] = ACTIONS(2156),
    [sym__unary_minus] = ACTIONS(2158),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(11506),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2162),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2164),
    [anon_sym_yield] = ACTIONS(2166),
    [anon_sym_break] = ACTIONS(2168),
    [anon_sym_next] = ACTIONS(2170),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2172),
    [anon_sym_defined_QMARK] = ACTIONS(2174),
    [anon_sym_not] = ACTIONS(2176),
    [anon_sym_BANG] = ACTIONS(2178),
    [anon_sym_TILDE] = ACTIONS(2178),
    [sym_constant] = ACTIONS(2180),
    [sym_identifier] = ACTIONS(2180),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [5211] = {
    [sym__simple_string] = ACTIONS(1856),
    [sym__simple_symbol] = ACTIONS(1856),
    [sym__simple_subshell] = ACTIONS(1856),
    [sym__simple_regex] = ACTIONS(1856),
    [sym__simple_word_list] = ACTIONS(1856),
    [sym__simple_heredoc_body] = ACTIONS(1856),
    [sym__string_beginning] = ACTIONS(1856),
    [sym__symbol_beginning] = ACTIONS(1856),
    [sym__subshell_beginning] = ACTIONS(1856),
    [sym__regex_beginning] = ACTIONS(1856),
    [sym__word_list_beginning] = ACTIONS(1856),
    [sym__heredoc_body_beginning] = ACTIONS(1856),
    [sym__string_middle] = ACTIONS(1856),
    [sym__string_end] = ACTIONS(1856),
    [sym_heredoc_beginning] = ACTIONS(1856),
    [sym__element_reference_left_bracket] = ACTIONS(1856),
    [sym__block_ampersand] = ACTIONS(1856),
    [sym__splat_star] = ACTIONS(1856),
    [sym__argument_list_left_paren] = ACTIONS(1856),
    [sym__scope_double_colon] = ACTIONS(1856),
    [sym__unary_minus] = ACTIONS(1856),
    [sym__binary_minus] = ACTIONS(1856),
    [sym__binary_star] = ACTIONS(1856),
    [anon_sym_LBRACE] = ACTIONS(1856),
    [anon_sym_def] = ACTIONS(1858),
    [anon_sym_LPAREN] = ACTIONS(1856),
    [anon_sym_DOT] = ACTIONS(1858),
    [anon_sym_COLON_COLON] = ACTIONS(1856),
    [anon_sym_end] = ACTIONS(1858),
    [anon_sym_COMMA] = ACTIONS(1856),
    [anon_sym_PIPE] = ACTIONS(1858),
    [anon_sym_STAR] = ACTIONS(1858),
    [anon_sym_STAR_STAR] = ACTIONS(1858),
    [anon_sym_AMP] = ACTIONS(1858),
    [anon_sym_EQ] = ACTIONS(1858),
    [anon_sym_class] = ACTIONS(1858),
    [anon_sym_LT] = ACTIONS(1858),
    [anon_sym_module] = ACTIONS(1858),
    [anon_sym_return] = ACTIONS(1858),
    [anon_sym_yield] = ACTIONS(1858),
    [anon_sym_break] = ACTIONS(1858),
    [anon_sym_next] = ACTIONS(1858),
    [anon_sym_redo] = ACTIONS(1858),
    [anon_sym_retry] = ACTIONS(1858),
    [anon_sym_if] = ACTIONS(1858),
    [anon_sym_unless] = ACTIONS(1858),
    [anon_sym_while] = ACTIONS(1858),
    [anon_sym_until] = ACTIONS(1858),
    [anon_sym_rescue] = ACTIONS(1858),
    [anon_sym_for] = ACTIONS(1858),
    [anon_sym_in] = ACTIONS(1858),
    [anon_sym_do] = ACTIONS(1858),
    [anon_sym_case] = ACTIONS(1858),
    [anon_sym_when] = ACTIONS(1858),
    [anon_sym_elsif] = ACTIONS(1858),
    [anon_sym_else] = ACTIONS(1858),
    [anon_sym_then] = ACTIONS(1858),
    [anon_sym_begin] = ACTIONS(1858),
    [anon_sym_ensure] = ACTIONS(1858),
    [anon_sym_EQ_GT] = ACTIONS(1856),
    [anon_sym_AMP_DOT] = ACTIONS(1856),
    [anon_sym_PLUS_EQ] = ACTIONS(1856),
    [anon_sym_DASH_EQ] = ACTIONS(1856),
    [anon_sym_STAR_EQ] = ACTIONS(1856),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1856),
    [anon_sym_SLASH_EQ] = ACTIONS(1856),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1856),
    [anon_sym_PIPE_EQ] = ACTIONS(1856),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1856),
    [anon_sym_AMP_EQ] = ACTIONS(1856),
    [anon_sym_PERCENT_EQ] = ACTIONS(1856),
    [anon_sym_GT_GT_EQ] = ACTIONS(1856),
    [anon_sym_LT_LT_EQ] = ACTIONS(1856),
    [anon_sym_CARET_EQ] = ACTIONS(1856),
    [anon_sym_QMARK] = ACTIONS(1858),
    [anon_sym_DOT_DOT] = ACTIONS(1858),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1856),
    [anon_sym_and] = ACTIONS(1858),
    [anon_sym_or] = ACTIONS(1858),
    [anon_sym_PIPE_PIPE] = ACTIONS(1858),
    [anon_sym_AMP_AMP] = ACTIONS(1858),
    [anon_sym_LT_LT] = ACTIONS(1858),
    [anon_sym_GT_GT] = ACTIONS(1858),
    [anon_sym_EQ_EQ] = ACTIONS(1858),
    [anon_sym_BANG_EQ] = ACTIONS(1856),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1856),
    [anon_sym_LT_EQ_GT] = ACTIONS(1856),
    [anon_sym_EQ_TILDE] = ACTIONS(1856),
    [anon_sym_BANG_TILDE] = ACTIONS(1856),
    [anon_sym_LT_EQ] = ACTIONS(1858),
    [anon_sym_GT] = ACTIONS(1858),
    [anon_sym_GT_EQ] = ACTIONS(1856),
    [anon_sym_CARET] = ACTIONS(1858),
    [anon_sym_PLUS] = ACTIONS(1858),
    [anon_sym_SLASH] = ACTIONS(1858),
    [anon_sym_PERCENT] = ACTIONS(1858),
    [anon_sym_defined_QMARK] = ACTIONS(1856),
    [anon_sym_not] = ACTIONS(1858),
    [anon_sym_BANG] = ACTIONS(1858),
    [anon_sym_TILDE] = ACTIONS(1856),
    [sym_constant] = ACTIONS(7124),
    [sym_identifier] = ACTIONS(7124),
    [sym_instance_variable] = ACTIONS(1858),
    [sym_class_variable] = ACTIONS(1858),
    [sym_global_variable] = ACTIONS(1858),
    [anon_sym_alias] = ACTIONS(1858),
    [anon_sym_defined] = ACTIONS(1858),
    [anon_sym_false] = ACTIONS(1858),
    [anon_sym_nil] = ACTIONS(1858),
    [anon_sym_self] = ACTIONS(1858),
    [anon_sym_super] = ACTIONS(1858),
    [anon_sym_true] = ACTIONS(1858),
    [anon_sym_undef] = ACTIONS(1858),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1858),
    [sym_float] = ACTIONS(7124),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1856),
    [anon_sym_TRUE] = ACTIONS(1858),
    [anon_sym_FALSE] = ACTIONS(1858),
    [anon_sym_NIL] = ACTIONS(1858),
    [sym_keyword__FILE__] = ACTIONS(1858),
    [sym_keyword__LINE__] = ACTIONS(1858),
    [sym_keyword__ENCODING__] = ACTIONS(1858),
    [sym__character_literal] = ACTIONS(1858),
    [anon_sym_LBRACK] = ACTIONS(1856),
    [anon_sym_DASH_GT] = ACTIONS(1856),
  },
  [5212] = {
    [sym__simple_string] = ACTIONS(7126),
    [sym__simple_symbol] = ACTIONS(7126),
    [sym__simple_subshell] = ACTIONS(7126),
    [sym__simple_regex] = ACTIONS(7126),
    [sym__simple_word_list] = ACTIONS(7126),
    [sym__simple_heredoc_body] = ACTIONS(7126),
    [sym__string_beginning] = ACTIONS(7126),
    [sym__symbol_beginning] = ACTIONS(7126),
    [sym__subshell_beginning] = ACTIONS(7126),
    [sym__regex_beginning] = ACTIONS(7126),
    [sym__word_list_beginning] = ACTIONS(7126),
    [sym__heredoc_body_beginning] = ACTIONS(7126),
    [sym__string_middle] = ACTIONS(7126),
    [sym__string_end] = ACTIONS(7126),
    [sym_heredoc_beginning] = ACTIONS(7126),
    [sym__element_reference_left_bracket] = ACTIONS(7126),
    [sym__block_ampersand] = ACTIONS(7126),
    [sym__splat_star] = ACTIONS(7126),
    [sym__argument_list_left_paren] = ACTIONS(7126),
    [sym__scope_double_colon] = ACTIONS(7126),
    [sym__unary_minus] = ACTIONS(7126),
    [sym__binary_minus] = ACTIONS(7126),
    [sym__binary_star] = ACTIONS(7126),
    [anon_sym_LBRACE] = ACTIONS(7126),
    [anon_sym_def] = ACTIONS(7128),
    [anon_sym_LPAREN] = ACTIONS(7126),
    [anon_sym_DOT] = ACTIONS(7128),
    [anon_sym_COLON_COLON] = ACTIONS(7126),
    [anon_sym_end] = ACTIONS(7128),
    [anon_sym_COMMA] = ACTIONS(7126),
    [anon_sym_PIPE] = ACTIONS(7128),
    [anon_sym_STAR] = ACTIONS(7128),
    [anon_sym_STAR_STAR] = ACTIONS(7128),
    [anon_sym_AMP] = ACTIONS(7128),
    [anon_sym_EQ] = ACTIONS(7128),
    [anon_sym_class] = ACTIONS(7128),
    [anon_sym_LT] = ACTIONS(7128),
    [anon_sym_module] = ACTIONS(7128),
    [anon_sym_return] = ACTIONS(7128),
    [anon_sym_yield] = ACTIONS(7128),
    [anon_sym_break] = ACTIONS(7128),
    [anon_sym_next] = ACTIONS(7128),
    [anon_sym_redo] = ACTIONS(7128),
    [anon_sym_retry] = ACTIONS(7128),
    [anon_sym_if] = ACTIONS(7128),
    [anon_sym_unless] = ACTIONS(7128),
    [anon_sym_while] = ACTIONS(7128),
    [anon_sym_until] = ACTIONS(7128),
    [anon_sym_rescue] = ACTIONS(7128),
    [anon_sym_for] = ACTIONS(7128),
    [anon_sym_in] = ACTIONS(7128),
    [anon_sym_do] = ACTIONS(7128),
    [anon_sym_case] = ACTIONS(7128),
    [anon_sym_when] = ACTIONS(7128),
    [anon_sym_elsif] = ACTIONS(7128),
    [anon_sym_else] = ACTIONS(7128),
    [anon_sym_then] = ACTIONS(7128),
    [anon_sym_begin] = ACTIONS(7128),
    [anon_sym_ensure] = ACTIONS(7128),
    [anon_sym_EQ_GT] = ACTIONS(7126),
    [anon_sym_AMP_DOT] = ACTIONS(7126),
    [anon_sym_PLUS_EQ] = ACTIONS(7126),
    [anon_sym_DASH_EQ] = ACTIONS(7126),
    [anon_sym_STAR_EQ] = ACTIONS(7126),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7126),
    [anon_sym_SLASH_EQ] = ACTIONS(7126),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7126),
    [anon_sym_PIPE_EQ] = ACTIONS(7126),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7126),
    [anon_sym_AMP_EQ] = ACTIONS(7126),
    [anon_sym_PERCENT_EQ] = ACTIONS(7126),
    [anon_sym_GT_GT_EQ] = ACTIONS(7126),
    [anon_sym_LT_LT_EQ] = ACTIONS(7126),
    [anon_sym_CARET_EQ] = ACTIONS(7126),
    [anon_sym_QMARK] = ACTIONS(7128),
    [anon_sym_DOT_DOT] = ACTIONS(7128),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7126),
    [anon_sym_and] = ACTIONS(7128),
    [anon_sym_or] = ACTIONS(7128),
    [anon_sym_PIPE_PIPE] = ACTIONS(7128),
    [anon_sym_AMP_AMP] = ACTIONS(7128),
    [anon_sym_LT_LT] = ACTIONS(7128),
    [anon_sym_GT_GT] = ACTIONS(7128),
    [anon_sym_EQ_EQ] = ACTIONS(7128),
    [anon_sym_BANG_EQ] = ACTIONS(7126),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7126),
    [anon_sym_LT_EQ_GT] = ACTIONS(7126),
    [anon_sym_EQ_TILDE] = ACTIONS(7126),
    [anon_sym_BANG_TILDE] = ACTIONS(7126),
    [anon_sym_LT_EQ] = ACTIONS(7128),
    [anon_sym_GT] = ACTIONS(7128),
    [anon_sym_GT_EQ] = ACTIONS(7126),
    [anon_sym_CARET] = ACTIONS(7128),
    [anon_sym_PLUS] = ACTIONS(7128),
    [anon_sym_SLASH] = ACTIONS(7128),
    [anon_sym_PERCENT] = ACTIONS(7128),
    [anon_sym_defined_QMARK] = ACTIONS(7126),
    [anon_sym_not] = ACTIONS(7128),
    [anon_sym_BANG] = ACTIONS(7128),
    [anon_sym_TILDE] = ACTIONS(7126),
    [sym_constant] = ACTIONS(7130),
    [sym_identifier] = ACTIONS(7130),
    [sym_instance_variable] = ACTIONS(7128),
    [sym_class_variable] = ACTIONS(7128),
    [sym_global_variable] = ACTIONS(7128),
    [anon_sym_alias] = ACTIONS(7128),
    [anon_sym_defined] = ACTIONS(7128),
    [anon_sym_false] = ACTIONS(7128),
    [anon_sym_nil] = ACTIONS(7128),
    [anon_sym_self] = ACTIONS(7128),
    [anon_sym_super] = ACTIONS(7128),
    [anon_sym_true] = ACTIONS(7128),
    [anon_sym_undef] = ACTIONS(7128),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(7128),
    [sym_float] = ACTIONS(7130),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(7126),
    [anon_sym_TRUE] = ACTIONS(7128),
    [anon_sym_FALSE] = ACTIONS(7128),
    [anon_sym_NIL] = ACTIONS(7128),
    [sym_keyword__FILE__] = ACTIONS(7128),
    [sym_keyword__LINE__] = ACTIONS(7128),
    [sym_keyword__ENCODING__] = ACTIONS(7128),
    [sym__character_literal] = ACTIONS(7128),
    [anon_sym_LBRACK] = ACTIONS(7126),
    [anon_sym_DASH_GT] = ACTIONS(7126),
  },
  [5213] = {
    [sym__simple_string] = ACTIONS(7132),
    [sym__simple_symbol] = ACTIONS(7132),
    [sym__simple_subshell] = ACTIONS(7132),
    [sym__simple_regex] = ACTIONS(7132),
    [sym__simple_word_list] = ACTIONS(7132),
    [sym__simple_heredoc_body] = ACTIONS(7132),
    [sym__string_beginning] = ACTIONS(7132),
    [sym__symbol_beginning] = ACTIONS(7132),
    [sym__subshell_beginning] = ACTIONS(7132),
    [sym__regex_beginning] = ACTIONS(7132),
    [sym__word_list_beginning] = ACTIONS(7132),
    [sym__heredoc_body_beginning] = ACTIONS(7132),
    [sym__string_middle] = ACTIONS(7132),
    [sym__string_end] = ACTIONS(7132),
    [sym_heredoc_beginning] = ACTIONS(7132),
    [sym__element_reference_left_bracket] = ACTIONS(7132),
    [sym__block_ampersand] = ACTIONS(7132),
    [sym__splat_star] = ACTIONS(7132),
    [sym__argument_list_left_paren] = ACTIONS(7132),
    [sym__scope_double_colon] = ACTIONS(7132),
    [sym__unary_minus] = ACTIONS(7132),
    [sym__binary_minus] = ACTIONS(7132),
    [sym__binary_star] = ACTIONS(7132),
    [anon_sym_LBRACE] = ACTIONS(7132),
    [anon_sym_def] = ACTIONS(7134),
    [anon_sym_LPAREN] = ACTIONS(7132),
    [anon_sym_DOT] = ACTIONS(7134),
    [anon_sym_COLON_COLON] = ACTIONS(7132),
    [anon_sym_end] = ACTIONS(7134),
    [anon_sym_COMMA] = ACTIONS(7132),
    [anon_sym_PIPE] = ACTIONS(7134),
    [anon_sym_STAR] = ACTIONS(7134),
    [anon_sym_STAR_STAR] = ACTIONS(7134),
    [anon_sym_AMP] = ACTIONS(7134),
    [anon_sym_EQ] = ACTIONS(7134),
    [anon_sym_class] = ACTIONS(7134),
    [anon_sym_LT] = ACTIONS(7134),
    [anon_sym_module] = ACTIONS(7134),
    [anon_sym_return] = ACTIONS(7134),
    [anon_sym_yield] = ACTIONS(7134),
    [anon_sym_break] = ACTIONS(7134),
    [anon_sym_next] = ACTIONS(7134),
    [anon_sym_redo] = ACTIONS(7134),
    [anon_sym_retry] = ACTIONS(7134),
    [anon_sym_if] = ACTIONS(7134),
    [anon_sym_unless] = ACTIONS(7134),
    [anon_sym_while] = ACTIONS(7134),
    [anon_sym_until] = ACTIONS(7134),
    [anon_sym_rescue] = ACTIONS(7134),
    [anon_sym_for] = ACTIONS(7134),
    [anon_sym_in] = ACTIONS(7134),
    [anon_sym_do] = ACTIONS(7134),
    [anon_sym_case] = ACTIONS(7134),
    [anon_sym_when] = ACTIONS(7134),
    [anon_sym_elsif] = ACTIONS(7134),
    [anon_sym_else] = ACTIONS(7134),
    [anon_sym_then] = ACTIONS(7134),
    [anon_sym_begin] = ACTIONS(7134),
    [anon_sym_ensure] = ACTIONS(7134),
    [anon_sym_EQ_GT] = ACTIONS(7132),
    [anon_sym_AMP_DOT] = ACTIONS(7132),
    [anon_sym_PLUS_EQ] = ACTIONS(7132),
    [anon_sym_DASH_EQ] = ACTIONS(7132),
    [anon_sym_STAR_EQ] = ACTIONS(7132),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7132),
    [anon_sym_SLASH_EQ] = ACTIONS(7132),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7132),
    [anon_sym_PIPE_EQ] = ACTIONS(7132),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7132),
    [anon_sym_AMP_EQ] = ACTIONS(7132),
    [anon_sym_PERCENT_EQ] = ACTIONS(7132),
    [anon_sym_GT_GT_EQ] = ACTIONS(7132),
    [anon_sym_LT_LT_EQ] = ACTIONS(7132),
    [anon_sym_CARET_EQ] = ACTIONS(7132),
    [anon_sym_QMARK] = ACTIONS(7134),
    [anon_sym_DOT_DOT] = ACTIONS(7134),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7132),
    [anon_sym_and] = ACTIONS(7134),
    [anon_sym_or] = ACTIONS(7134),
    [anon_sym_PIPE_PIPE] = ACTIONS(7134),
    [anon_sym_AMP_AMP] = ACTIONS(7134),
    [anon_sym_LT_LT] = ACTIONS(7134),
    [anon_sym_GT_GT] = ACTIONS(7134),
    [anon_sym_EQ_EQ] = ACTIONS(7134),
    [anon_sym_BANG_EQ] = ACTIONS(7132),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7132),
    [anon_sym_LT_EQ_GT] = ACTIONS(7132),
    [anon_sym_EQ_TILDE] = ACTIONS(7132),
    [anon_sym_BANG_TILDE] = ACTIONS(7132),
    [anon_sym_LT_EQ] = ACTIONS(7134),
    [anon_sym_GT] = ACTIONS(7134),
    [anon_sym_GT_EQ] = ACTIONS(7132),
    [anon_sym_CARET] = ACTIONS(7134),
    [anon_sym_PLUS] = ACTIONS(7134),
    [anon_sym_SLASH] = ACTIONS(7134),
    [anon_sym_PERCENT] = ACTIONS(7134),
    [anon_sym_defined_QMARK] = ACTIONS(7132),
    [anon_sym_not] = ACTIONS(7134),
    [anon_sym_BANG] = ACTIONS(7134),
    [anon_sym_TILDE] = ACTIONS(7132),
    [sym_constant] = ACTIONS(7136),
    [sym_identifier] = ACTIONS(7136),
    [sym_instance_variable] = ACTIONS(7134),
    [sym_class_variable] = ACTIONS(7134),
    [sym_global_variable] = ACTIONS(7134),
    [anon_sym_alias] = ACTIONS(7134),
    [anon_sym_defined] = ACTIONS(7134),
    [anon_sym_false] = ACTIONS(7134),
    [anon_sym_nil] = ACTIONS(7134),
    [anon_sym_self] = ACTIONS(7134),
    [anon_sym_super] = ACTIONS(7134),
    [anon_sym_true] = ACTIONS(7134),
    [anon_sym_undef] = ACTIONS(7134),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(7134),
    [sym_float] = ACTIONS(7136),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(7132),
    [anon_sym_TRUE] = ACTIONS(7134),
    [anon_sym_FALSE] = ACTIONS(7134),
    [anon_sym_NIL] = ACTIONS(7134),
    [sym_keyword__FILE__] = ACTIONS(7134),
    [sym_keyword__LINE__] = ACTIONS(7134),
    [sym_keyword__ENCODING__] = ACTIONS(7134),
    [sym__character_literal] = ACTIONS(7134),
    [anon_sym_LBRACK] = ACTIONS(7132),
    [anon_sym_DASH_GT] = ACTIONS(7132),
  },
  [5214] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__string_middle] = ACTIONS(5298),
    [sym__string_end] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(3782),
    [sym__binary_star] = ACTIONS(3784),
    [anon_sym_LBRACE] = ACTIONS(5298),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(3786),
    [anon_sym_STAR_STAR] = ACTIONS(3788),
    [anon_sym_AMP] = ACTIONS(3790),
    [anon_sym_EQ] = ACTIONS(5304),
    [anon_sym_LT] = ACTIONS(3792),
    [anon_sym_if] = ACTIONS(5298),
    [anon_sym_unless] = ACTIONS(5298),
    [anon_sym_while] = ACTIONS(5298),
    [anon_sym_until] = ACTIONS(5298),
    [anon_sym_rescue] = ACTIONS(5298),
    [anon_sym_do] = ACTIONS(5298),
    [anon_sym_EQ_GT] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_PLUS_EQ] = ACTIONS(5298),
    [anon_sym_DASH_EQ] = ACTIONS(5298),
    [anon_sym_STAR_EQ] = ACTIONS(5298),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5298),
    [anon_sym_SLASH_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5298),
    [anon_sym_AMP_EQ] = ACTIONS(5298),
    [anon_sym_PERCENT_EQ] = ACTIONS(5298),
    [anon_sym_GT_GT_EQ] = ACTIONS(5298),
    [anon_sym_LT_LT_EQ] = ACTIONS(5298),
    [anon_sym_CARET_EQ] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(3794),
    [anon_sym_DOT_DOT] = ACTIONS(3796),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3798),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(3800),
    [anon_sym_AMP_AMP] = ACTIONS(3800),
    [anon_sym_LT_LT] = ACTIONS(3802),
    [anon_sym_GT_GT] = ACTIONS(3802),
    [anon_sym_EQ_EQ] = ACTIONS(3800),
    [anon_sym_BANG_EQ] = ACTIONS(3804),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3804),
    [anon_sym_LT_EQ_GT] = ACTIONS(3804),
    [anon_sym_EQ_TILDE] = ACTIONS(3804),
    [anon_sym_BANG_TILDE] = ACTIONS(3804),
    [anon_sym_LT_EQ] = ACTIONS(3792),
    [anon_sym_GT] = ACTIONS(3792),
    [anon_sym_GT_EQ] = ACTIONS(3806),
    [anon_sym_CARET] = ACTIONS(3786),
    [anon_sym_PLUS] = ACTIONS(3808),
    [anon_sym_SLASH] = ACTIONS(3788),
    [anon_sym_PERCENT] = ACTIONS(3788),
    [sym_comment] = ACTIONS(256),
  },
  [5215] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__string_middle] = ACTIONS(5338),
    [sym__string_end] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(3782),
    [sym__binary_star] = ACTIONS(3784),
    [anon_sym_LBRACE] = ACTIONS(5338),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(3786),
    [anon_sym_STAR_STAR] = ACTIONS(3788),
    [anon_sym_AMP] = ACTIONS(3790),
    [anon_sym_EQ] = ACTIONS(5340),
    [anon_sym_LT] = ACTIONS(3792),
    [anon_sym_if] = ACTIONS(5338),
    [anon_sym_unless] = ACTIONS(5338),
    [anon_sym_while] = ACTIONS(5338),
    [anon_sym_until] = ACTIONS(5338),
    [anon_sym_rescue] = ACTIONS(5338),
    [anon_sym_do] = ACTIONS(5338),
    [anon_sym_EQ_GT] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_PLUS_EQ] = ACTIONS(5338),
    [anon_sym_DASH_EQ] = ACTIONS(5338),
    [anon_sym_STAR_EQ] = ACTIONS(5338),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5338),
    [anon_sym_SLASH_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5338),
    [anon_sym_AMP_EQ] = ACTIONS(5338),
    [anon_sym_PERCENT_EQ] = ACTIONS(5338),
    [anon_sym_GT_GT_EQ] = ACTIONS(5338),
    [anon_sym_LT_LT_EQ] = ACTIONS(5338),
    [anon_sym_CARET_EQ] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(3794),
    [anon_sym_DOT_DOT] = ACTIONS(3796),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3798),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(3800),
    [anon_sym_AMP_AMP] = ACTIONS(3800),
    [anon_sym_LT_LT] = ACTIONS(3802),
    [anon_sym_GT_GT] = ACTIONS(3802),
    [anon_sym_EQ_EQ] = ACTIONS(3800),
    [anon_sym_BANG_EQ] = ACTIONS(3804),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3804),
    [anon_sym_LT_EQ_GT] = ACTIONS(3804),
    [anon_sym_EQ_TILDE] = ACTIONS(3804),
    [anon_sym_BANG_TILDE] = ACTIONS(3804),
    [anon_sym_LT_EQ] = ACTIONS(3792),
    [anon_sym_GT] = ACTIONS(3792),
    [anon_sym_GT_EQ] = ACTIONS(3806),
    [anon_sym_CARET] = ACTIONS(3786),
    [anon_sym_PLUS] = ACTIONS(3808),
    [anon_sym_SLASH] = ACTIONS(3788),
    [anon_sym_PERCENT] = ACTIONS(3788),
    [sym_comment] = ACTIONS(256),
  },
  [5216] = {
    [sym__simple_heredoc_body] = ACTIONS(5370),
    [sym__heredoc_body_beginning] = ACTIONS(5370),
    [sym__string_middle] = ACTIONS(5370),
    [sym__string_end] = ACTIONS(5370),
    [sym__element_reference_left_bracket] = ACTIONS(5370),
    [sym__scope_double_colon] = ACTIONS(5370),
    [sym__binary_minus] = ACTIONS(5370),
    [sym__binary_star] = ACTIONS(5370),
    [anon_sym_LBRACE] = ACTIONS(5370),
    [anon_sym_DOT] = ACTIONS(5372),
    [anon_sym_COMMA] = ACTIONS(5370),
    [anon_sym_PIPE] = ACTIONS(5372),
    [anon_sym_STAR_STAR] = ACTIONS(5372),
    [anon_sym_AMP] = ACTIONS(5372),
    [anon_sym_EQ] = ACTIONS(5372),
    [anon_sym_LT] = ACTIONS(5372),
    [anon_sym_if] = ACTIONS(5370),
    [anon_sym_unless] = ACTIONS(5370),
    [anon_sym_while] = ACTIONS(5370),
    [anon_sym_until] = ACTIONS(5370),
    [anon_sym_rescue] = ACTIONS(5370),
    [anon_sym_do] = ACTIONS(5370),
    [anon_sym_EQ_GT] = ACTIONS(5370),
    [anon_sym_AMP_DOT] = ACTIONS(5370),
    [anon_sym_PLUS_EQ] = ACTIONS(5370),
    [anon_sym_DASH_EQ] = ACTIONS(5370),
    [anon_sym_STAR_EQ] = ACTIONS(5370),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5370),
    [anon_sym_SLASH_EQ] = ACTIONS(5370),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5370),
    [anon_sym_PIPE_EQ] = ACTIONS(5370),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5370),
    [anon_sym_AMP_EQ] = ACTIONS(5370),
    [anon_sym_PERCENT_EQ] = ACTIONS(5370),
    [anon_sym_GT_GT_EQ] = ACTIONS(5370),
    [anon_sym_LT_LT_EQ] = ACTIONS(5370),
    [anon_sym_CARET_EQ] = ACTIONS(5370),
    [anon_sym_QMARK] = ACTIONS(5370),
    [anon_sym_DOT_DOT] = ACTIONS(5372),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5370),
    [anon_sym_and] = ACTIONS(5370),
    [anon_sym_or] = ACTIONS(5370),
    [anon_sym_PIPE_PIPE] = ACTIONS(5372),
    [anon_sym_AMP_AMP] = ACTIONS(5372),
    [anon_sym_LT_LT] = ACTIONS(5372),
    [anon_sym_GT_GT] = ACTIONS(5372),
    [anon_sym_EQ_EQ] = ACTIONS(5372),
    [anon_sym_BANG_EQ] = ACTIONS(5370),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5370),
    [anon_sym_LT_EQ_GT] = ACTIONS(5370),
    [anon_sym_EQ_TILDE] = ACTIONS(5370),
    [anon_sym_BANG_TILDE] = ACTIONS(5370),
    [anon_sym_LT_EQ] = ACTIONS(5372),
    [anon_sym_GT] = ACTIONS(5372),
    [anon_sym_GT_EQ] = ACTIONS(5370),
    [anon_sym_CARET] = ACTIONS(5372),
    [anon_sym_PLUS] = ACTIONS(5372),
    [anon_sym_SLASH] = ACTIONS(5372),
    [anon_sym_PERCENT] = ACTIONS(5372),
    [sym_comment] = ACTIONS(256),
  },
  [5217] = {
    [sym_heredoc_end] = STATE(8589),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RPAREN] = ACTIONS(11508),
    [sym_comment] = ACTIONS(110),
  },
  [5218] = {
    [anon_sym_RPAREN] = ACTIONS(11508),
    [sym_comment] = ACTIONS(110),
  },
  [5219] = {
    [anon_sym_RBRACE] = ACTIONS(11510),
    [sym_comment] = ACTIONS(110),
  },
  [5220] = {
    [sym__statements] = STATE(8591),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(841),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(11510),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5221] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__string_middle] = ACTIONS(4284),
    [sym__string_end] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(3782),
    [sym__binary_star] = ACTIONS(3784),
    [anon_sym_LBRACE] = ACTIONS(4284),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(3786),
    [anon_sym_STAR_STAR] = ACTIONS(3788),
    [anon_sym_AMP] = ACTIONS(3790),
    [anon_sym_EQ] = ACTIONS(5432),
    [anon_sym_LT] = ACTIONS(3792),
    [anon_sym_if] = ACTIONS(4284),
    [anon_sym_unless] = ACTIONS(4284),
    [anon_sym_while] = ACTIONS(4284),
    [anon_sym_until] = ACTIONS(4284),
    [anon_sym_rescue] = ACTIONS(4284),
    [anon_sym_do] = ACTIONS(4284),
    [anon_sym_EQ_GT] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_PLUS_EQ] = ACTIONS(4284),
    [anon_sym_DASH_EQ] = ACTIONS(4284),
    [anon_sym_STAR_EQ] = ACTIONS(4284),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(4284),
    [anon_sym_SLASH_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(4284),
    [anon_sym_AMP_EQ] = ACTIONS(4284),
    [anon_sym_PERCENT_EQ] = ACTIONS(4284),
    [anon_sym_GT_GT_EQ] = ACTIONS(4284),
    [anon_sym_LT_LT_EQ] = ACTIONS(4284),
    [anon_sym_CARET_EQ] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(3794),
    [anon_sym_DOT_DOT] = ACTIONS(3796),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3798),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(3800),
    [anon_sym_AMP_AMP] = ACTIONS(3800),
    [anon_sym_LT_LT] = ACTIONS(3802),
    [anon_sym_GT_GT] = ACTIONS(3802),
    [anon_sym_EQ_EQ] = ACTIONS(3800),
    [anon_sym_BANG_EQ] = ACTIONS(3804),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3804),
    [anon_sym_LT_EQ_GT] = ACTIONS(3804),
    [anon_sym_EQ_TILDE] = ACTIONS(3804),
    [anon_sym_BANG_TILDE] = ACTIONS(3804),
    [anon_sym_LT_EQ] = ACTIONS(3792),
    [anon_sym_GT] = ACTIONS(3792),
    [anon_sym_GT_EQ] = ACTIONS(3806),
    [anon_sym_CARET] = ACTIONS(3786),
    [anon_sym_PLUS] = ACTIONS(3808),
    [anon_sym_SLASH] = ACTIONS(3788),
    [anon_sym_PERCENT] = ACTIONS(3788),
    [sym_comment] = ACTIONS(256),
  },
  [5222] = {
    [sym__simple_heredoc_body] = ACTIONS(6942),
    [sym__heredoc_body_beginning] = ACTIONS(6942),
    [sym__string_middle] = ACTIONS(6942),
    [sym__string_end] = ACTIONS(6942),
    [sym__element_reference_left_bracket] = ACTIONS(6942),
    [sym__scope_double_colon] = ACTIONS(6942),
    [sym__binary_minus] = ACTIONS(6942),
    [sym__binary_star] = ACTIONS(6942),
    [anon_sym_LBRACE] = ACTIONS(6942),
    [anon_sym_DOT] = ACTIONS(6944),
    [anon_sym_COMMA] = ACTIONS(6942),
    [anon_sym_PIPE] = ACTIONS(6944),
    [anon_sym_STAR_STAR] = ACTIONS(6944),
    [anon_sym_AMP] = ACTIONS(6944),
    [anon_sym_EQ] = ACTIONS(6944),
    [anon_sym_LT] = ACTIONS(6944),
    [anon_sym_if] = ACTIONS(6942),
    [anon_sym_unless] = ACTIONS(6942),
    [anon_sym_while] = ACTIONS(6942),
    [anon_sym_until] = ACTIONS(6942),
    [anon_sym_rescue] = ACTIONS(6942),
    [anon_sym_do] = ACTIONS(6942),
    [anon_sym_EQ_GT] = ACTIONS(6942),
    [anon_sym_AMP_DOT] = ACTIONS(6942),
    [anon_sym_PLUS_EQ] = ACTIONS(6942),
    [anon_sym_DASH_EQ] = ACTIONS(6942),
    [anon_sym_STAR_EQ] = ACTIONS(6942),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6942),
    [anon_sym_SLASH_EQ] = ACTIONS(6942),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6942),
    [anon_sym_PIPE_EQ] = ACTIONS(6942),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6942),
    [anon_sym_AMP_EQ] = ACTIONS(6942),
    [anon_sym_PERCENT_EQ] = ACTIONS(6942),
    [anon_sym_GT_GT_EQ] = ACTIONS(6942),
    [anon_sym_LT_LT_EQ] = ACTIONS(6942),
    [anon_sym_CARET_EQ] = ACTIONS(6942),
    [anon_sym_QMARK] = ACTIONS(6942),
    [anon_sym_DOT_DOT] = ACTIONS(6944),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6942),
    [anon_sym_and] = ACTIONS(6942),
    [anon_sym_or] = ACTIONS(6942),
    [anon_sym_PIPE_PIPE] = ACTIONS(6944),
    [anon_sym_AMP_AMP] = ACTIONS(6944),
    [anon_sym_LT_LT] = ACTIONS(6944),
    [anon_sym_GT_GT] = ACTIONS(6944),
    [anon_sym_EQ_EQ] = ACTIONS(6944),
    [anon_sym_BANG_EQ] = ACTIONS(6942),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6942),
    [anon_sym_LT_EQ_GT] = ACTIONS(6942),
    [anon_sym_EQ_TILDE] = ACTIONS(6942),
    [anon_sym_BANG_TILDE] = ACTIONS(6942),
    [anon_sym_LT_EQ] = ACTIONS(6944),
    [anon_sym_GT] = ACTIONS(6944),
    [anon_sym_GT_EQ] = ACTIONS(6942),
    [anon_sym_CARET] = ACTIONS(6944),
    [anon_sym_PLUS] = ACTIONS(6944),
    [anon_sym_SLASH] = ACTIONS(6944),
    [anon_sym_PERCENT] = ACTIONS(6944),
    [sym_comment] = ACTIONS(256),
  },
  [5223] = {
    [anon_sym_end] = ACTIONS(11512),
    [sym_comment] = ACTIONS(110),
  },
  [5224] = {
    [sym__statements] = STATE(8593),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(8594),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11514),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5225] = {
    [sym__statements] = STATE(8593),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(8595),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(8594),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11514),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5226] = {
    [sym_method] = STATE(769),
    [sym_singleton_method] = STATE(769),
    [sym_class] = STATE(769),
    [sym_singleton_class] = STATE(769),
    [sym_module] = STATE(769),
    [sym_return] = STATE(769),
    [sym_yield] = STATE(769),
    [sym_break] = STATE(769),
    [sym_next] = STATE(769),
    [sym_redo] = STATE(769),
    [sym_retry] = STATE(769),
    [sym_while] = STATE(769),
    [sym_until] = STATE(769),
    [sym_for] = STATE(769),
    [sym_case] = STATE(769),
    [sym_if] = STATE(769),
    [sym_unless] = STATE(769),
    [sym_begin] = STATE(769),
    [sym__arg] = STATE(8596),
    [sym__primary] = STATE(804),
    [sym_parenthesized_statements] = STATE(769),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(805),
    [sym_call] = STATE(805),
    [sym_method_call] = STATE(694),
    [sym_assignment] = STATE(811),
    [sym_operator_assignment] = STATE(811),
    [sym_conditional] = STATE(811),
    [sym_range] = STATE(811),
    [sym_binary] = STATE(811),
    [sym_unary] = STATE(811),
    [sym_left_assignment_list] = STATE(812),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(813),
    [sym__variable] = STATE(805),
    [sym_symbol] = STATE(769),
    [sym_complex] = STATE(769),
    [sym_rational] = STATE(769),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(769),
    [sym_string] = STATE(2518),
    [sym_subshell] = STATE(769),
    [sym_array] = STATE(769),
    [sym_hash] = STATE(769),
    [sym_regex] = STATE(769),
    [sym_lambda] = STATE(769),
    [sym__simple_string] = ACTIONS(3712),
    [sym__simple_symbol] = ACTIONS(1276),
    [sym__simple_subshell] = ACTIONS(1278),
    [sym__simple_regex] = ACTIONS(1280),
    [sym__simple_word_list] = ACTIONS(1282),
    [sym__string_beginning] = ACTIONS(3714),
    [sym__symbol_beginning] = ACTIONS(1286),
    [sym__subshell_beginning] = ACTIONS(1288),
    [sym__regex_beginning] = ACTIONS(1290),
    [sym__word_list_beginning] = ACTIONS(1292),
    [sym_heredoc_beginning] = ACTIONS(1294),
    [sym__unary_minus] = ACTIONS(1302),
    [anon_sym_LBRACE] = ACTIONS(3716),
    [anon_sym_def] = ACTIONS(3718),
    [anon_sym_LPAREN] = ACTIONS(1308),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3720),
    [anon_sym_module] = ACTIONS(3722),
    [anon_sym_return] = ACTIONS(3724),
    [anon_sym_yield] = ACTIONS(3726),
    [anon_sym_break] = ACTIONS(3728),
    [anon_sym_next] = ACTIONS(3730),
    [anon_sym_redo] = ACTIONS(3732),
    [anon_sym_retry] = ACTIONS(3734),
    [anon_sym_if] = ACTIONS(3736),
    [anon_sym_unless] = ACTIONS(3738),
    [anon_sym_while] = ACTIONS(3740),
    [anon_sym_until] = ACTIONS(3742),
    [anon_sym_for] = ACTIONS(3744),
    [anon_sym_case] = ACTIONS(3746),
    [anon_sym_begin] = ACTIONS(3748),
    [anon_sym_PLUS] = ACTIONS(3750),
    [anon_sym_defined_QMARK] = ACTIONS(1334),
    [anon_sym_not] = ACTIONS(3752),
    [anon_sym_BANG] = ACTIONS(1340),
    [anon_sym_TILDE] = ACTIONS(1340),
    [sym_constant] = ACTIONS(3488),
    [sym_identifier] = ACTIONS(3488),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_false] = ACTIONS(1186),
    [anon_sym_nil] = ACTIONS(1188),
    [anon_sym_self] = ACTIONS(3490),
    [anon_sym_super] = ACTIONS(3492),
    [anon_sym_true] = ACTIONS(1184),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1344),
    [sym_float] = ACTIONS(1346),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1348),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1350),
    [sym_keyword__LINE__] = ACTIONS(1350),
    [sym_keyword__ENCODING__] = ACTIONS(1350),
    [sym__character_literal] = ACTIONS(3754),
    [anon_sym_LBRACK] = ACTIONS(1354),
    [anon_sym_DASH_GT] = ACTIONS(1356),
  },
  [5227] = {
    [sym__simple_heredoc_body] = ACTIONS(7290),
    [sym__heredoc_body_beginning] = ACTIONS(7290),
    [sym__string_middle] = ACTIONS(7290),
    [sym__string_end] = ACTIONS(7290),
    [sym__element_reference_left_bracket] = ACTIONS(7290),
    [sym__scope_double_colon] = ACTIONS(7290),
    [sym__binary_minus] = ACTIONS(7290),
    [sym__binary_star] = ACTIONS(7290),
    [anon_sym_LBRACE] = ACTIONS(7290),
    [anon_sym_DOT] = ACTIONS(7292),
    [anon_sym_COMMA] = ACTIONS(7290),
    [anon_sym_PIPE] = ACTIONS(7292),
    [anon_sym_STAR_STAR] = ACTIONS(7292),
    [anon_sym_AMP] = ACTIONS(7292),
    [anon_sym_EQ] = ACTIONS(7292),
    [anon_sym_LT] = ACTIONS(7292),
    [anon_sym_if] = ACTIONS(7290),
    [anon_sym_unless] = ACTIONS(7290),
    [anon_sym_while] = ACTIONS(7290),
    [anon_sym_until] = ACTIONS(7290),
    [anon_sym_rescue] = ACTIONS(7290),
    [anon_sym_do] = ACTIONS(7290),
    [anon_sym_EQ_GT] = ACTIONS(7290),
    [anon_sym_AMP_DOT] = ACTIONS(7290),
    [anon_sym_PLUS_EQ] = ACTIONS(7290),
    [anon_sym_DASH_EQ] = ACTIONS(7290),
    [anon_sym_STAR_EQ] = ACTIONS(7290),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7290),
    [anon_sym_SLASH_EQ] = ACTIONS(7290),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7290),
    [anon_sym_PIPE_EQ] = ACTIONS(7290),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7290),
    [anon_sym_AMP_EQ] = ACTIONS(7290),
    [anon_sym_PERCENT_EQ] = ACTIONS(7290),
    [anon_sym_GT_GT_EQ] = ACTIONS(7290),
    [anon_sym_LT_LT_EQ] = ACTIONS(7290),
    [anon_sym_CARET_EQ] = ACTIONS(7290),
    [anon_sym_QMARK] = ACTIONS(7290),
    [anon_sym_DOT_DOT] = ACTIONS(7292),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7290),
    [anon_sym_and] = ACTIONS(7290),
    [anon_sym_or] = ACTIONS(7290),
    [anon_sym_PIPE_PIPE] = ACTIONS(7292),
    [anon_sym_AMP_AMP] = ACTIONS(7292),
    [anon_sym_LT_LT] = ACTIONS(7292),
    [anon_sym_GT_GT] = ACTIONS(7292),
    [anon_sym_EQ_EQ] = ACTIONS(7292),
    [anon_sym_BANG_EQ] = ACTIONS(7290),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7290),
    [anon_sym_LT_EQ_GT] = ACTIONS(7290),
    [anon_sym_EQ_TILDE] = ACTIONS(7290),
    [anon_sym_BANG_TILDE] = ACTIONS(7290),
    [anon_sym_LT_EQ] = ACTIONS(7292),
    [anon_sym_GT] = ACTIONS(7292),
    [anon_sym_GT_EQ] = ACTIONS(7290),
    [anon_sym_CARET] = ACTIONS(7292),
    [anon_sym_PLUS] = ACTIONS(7292),
    [anon_sym_SLASH] = ACTIONS(7292),
    [anon_sym_PERCENT] = ACTIONS(7292),
    [sym_comment] = ACTIONS(256),
  },
  [5228] = {
    [sym__simple_heredoc_body] = ACTIONS(1398),
    [sym__heredoc_body_beginning] = ACTIONS(1398),
    [sym__string_middle] = ACTIONS(1398),
    [sym__string_end] = ACTIONS(1398),
    [sym__element_reference_left_bracket] = ACTIONS(1398),
    [sym__scope_double_colon] = ACTIONS(1398),
    [sym__binary_minus] = ACTIONS(1398),
    [sym__binary_star] = ACTIONS(1398),
    [anon_sym_LBRACE] = ACTIONS(1398),
    [anon_sym_DOT] = ACTIONS(2666),
    [anon_sym_COMMA] = ACTIONS(1398),
    [anon_sym_PIPE] = ACTIONS(2666),
    [anon_sym_STAR_STAR] = ACTIONS(2666),
    [anon_sym_AMP] = ACTIONS(2666),
    [anon_sym_EQ] = ACTIONS(2666),
    [anon_sym_LT] = ACTIONS(2666),
    [anon_sym_if] = ACTIONS(1398),
    [anon_sym_unless] = ACTIONS(1398),
    [anon_sym_while] = ACTIONS(1398),
    [anon_sym_until] = ACTIONS(1398),
    [anon_sym_rescue] = ACTIONS(1398),
    [anon_sym_do] = ACTIONS(1398),
    [anon_sym_EQ_GT] = ACTIONS(1398),
    [anon_sym_AMP_DOT] = ACTIONS(1398),
    [anon_sym_PLUS_EQ] = ACTIONS(1398),
    [anon_sym_DASH_EQ] = ACTIONS(1398),
    [anon_sym_STAR_EQ] = ACTIONS(1398),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1398),
    [anon_sym_SLASH_EQ] = ACTIONS(1398),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1398),
    [anon_sym_PIPE_EQ] = ACTIONS(1398),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1398),
    [anon_sym_AMP_EQ] = ACTIONS(1398),
    [anon_sym_PERCENT_EQ] = ACTIONS(1398),
    [anon_sym_GT_GT_EQ] = ACTIONS(1398),
    [anon_sym_LT_LT_EQ] = ACTIONS(1398),
    [anon_sym_CARET_EQ] = ACTIONS(1398),
    [anon_sym_QMARK] = ACTIONS(1398),
    [anon_sym_DOT_DOT] = ACTIONS(2666),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1398),
    [anon_sym_and] = ACTIONS(1398),
    [anon_sym_or] = ACTIONS(1398),
    [anon_sym_PIPE_PIPE] = ACTIONS(2666),
    [anon_sym_AMP_AMP] = ACTIONS(2666),
    [anon_sym_LT_LT] = ACTIONS(2666),
    [anon_sym_GT_GT] = ACTIONS(2666),
    [anon_sym_EQ_EQ] = ACTIONS(2666),
    [anon_sym_BANG_EQ] = ACTIONS(1398),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1398),
    [anon_sym_LT_EQ_GT] = ACTIONS(1398),
    [anon_sym_EQ_TILDE] = ACTIONS(1398),
    [anon_sym_BANG_TILDE] = ACTIONS(1398),
    [anon_sym_LT_EQ] = ACTIONS(2666),
    [anon_sym_GT] = ACTIONS(2666),
    [anon_sym_GT_EQ] = ACTIONS(1398),
    [anon_sym_CARET] = ACTIONS(2666),
    [anon_sym_PLUS] = ACTIONS(2666),
    [anon_sym_SLASH] = ACTIONS(2666),
    [anon_sym_PERCENT] = ACTIONS(2666),
    [sym_comment] = ACTIONS(256),
  },
  [5229] = {
    [sym__statement] = STATE(8597),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [aux_sym_heredoc_end_repeat1] = STATE(8598),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [5230] = {
    [sym__simple_heredoc_body] = ACTIONS(5468),
    [sym__heredoc_body_beginning] = ACTIONS(5468),
    [sym__string_middle] = ACTIONS(5468),
    [sym__string_end] = ACTIONS(5468),
    [sym__element_reference_left_bracket] = ACTIONS(5468),
    [sym__scope_double_colon] = ACTIONS(5468),
    [sym__binary_minus] = ACTIONS(5468),
    [sym__binary_star] = ACTIONS(5468),
    [anon_sym_LBRACE] = ACTIONS(5468),
    [anon_sym_DOT] = ACTIONS(5470),
    [anon_sym_COMMA] = ACTIONS(5468),
    [anon_sym_PIPE] = ACTIONS(5470),
    [anon_sym_STAR_STAR] = ACTIONS(5470),
    [anon_sym_AMP] = ACTIONS(5470),
    [anon_sym_EQ] = ACTIONS(5470),
    [anon_sym_LT] = ACTIONS(5470),
    [anon_sym_if] = ACTIONS(5468),
    [anon_sym_unless] = ACTIONS(5468),
    [anon_sym_while] = ACTIONS(5468),
    [anon_sym_until] = ACTIONS(5468),
    [anon_sym_rescue] = ACTIONS(5468),
    [anon_sym_do] = ACTIONS(5468),
    [anon_sym_EQ_GT] = ACTIONS(5468),
    [anon_sym_AMP_DOT] = ACTIONS(5468),
    [anon_sym_PLUS_EQ] = ACTIONS(5468),
    [anon_sym_DASH_EQ] = ACTIONS(5468),
    [anon_sym_STAR_EQ] = ACTIONS(5468),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5468),
    [anon_sym_SLASH_EQ] = ACTIONS(5468),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5468),
    [anon_sym_PIPE_EQ] = ACTIONS(5468),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5468),
    [anon_sym_AMP_EQ] = ACTIONS(5468),
    [anon_sym_PERCENT_EQ] = ACTIONS(5468),
    [anon_sym_GT_GT_EQ] = ACTIONS(5468),
    [anon_sym_LT_LT_EQ] = ACTIONS(5468),
    [anon_sym_CARET_EQ] = ACTIONS(5468),
    [anon_sym_QMARK] = ACTIONS(5468),
    [anon_sym_DOT_DOT] = ACTIONS(5470),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5468),
    [anon_sym_and] = ACTIONS(5468),
    [anon_sym_or] = ACTIONS(5468),
    [anon_sym_PIPE_PIPE] = ACTIONS(5470),
    [anon_sym_AMP_AMP] = ACTIONS(5470),
    [anon_sym_LT_LT] = ACTIONS(5470),
    [anon_sym_GT_GT] = ACTIONS(5470),
    [anon_sym_EQ_EQ] = ACTIONS(5470),
    [anon_sym_BANG_EQ] = ACTIONS(5468),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5468),
    [anon_sym_LT_EQ_GT] = ACTIONS(5468),
    [anon_sym_EQ_TILDE] = ACTIONS(5468),
    [anon_sym_BANG_TILDE] = ACTIONS(5468),
    [anon_sym_LT_EQ] = ACTIONS(5470),
    [anon_sym_GT] = ACTIONS(5470),
    [anon_sym_GT_EQ] = ACTIONS(5468),
    [anon_sym_CARET] = ACTIONS(5470),
    [anon_sym_PLUS] = ACTIONS(5470),
    [anon_sym_SLASH] = ACTIONS(5470),
    [anon_sym_PERCENT] = ACTIONS(5470),
    [sym_comment] = ACTIONS(256),
  },
  [5231] = {
    [sym_heredoc_end] = STATE(8599),
    [sym__simple_heredoc_body] = ACTIONS(7480),
    [sym__heredoc_body_beginning] = ACTIONS(7482),
    [sym__string_middle] = ACTIONS(5472),
    [sym__string_end] = ACTIONS(5472),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_LBRACE] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(5472),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_STAR_STAR] = ACTIONS(5474),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_EQ] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_if] = ACTIONS(5472),
    [anon_sym_unless] = ACTIONS(5472),
    [anon_sym_while] = ACTIONS(5472),
    [anon_sym_until] = ACTIONS(5472),
    [anon_sym_rescue] = ACTIONS(5472),
    [anon_sym_do] = ACTIONS(5472),
    [anon_sym_EQ_GT] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_PLUS_EQ] = ACTIONS(5472),
    [anon_sym_DASH_EQ] = ACTIONS(5472),
    [anon_sym_STAR_EQ] = ACTIONS(5472),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5472),
    [anon_sym_SLASH_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5472),
    [anon_sym_AMP_EQ] = ACTIONS(5472),
    [anon_sym_PERCENT_EQ] = ACTIONS(5472),
    [anon_sym_GT_GT_EQ] = ACTIONS(5472),
    [anon_sym_LT_LT_EQ] = ACTIONS(5472),
    [anon_sym_CARET_EQ] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5474),
    [anon_sym_AMP_AMP] = ACTIONS(5474),
    [anon_sym_LT_LT] = ACTIONS(5474),
    [anon_sym_GT_GT] = ACTIONS(5474),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5474),
    [anon_sym_PLUS] = ACTIONS(5474),
    [anon_sym_SLASH] = ACTIONS(5474),
    [anon_sym_PERCENT] = ACTIONS(5474),
    [sym_comment] = ACTIONS(256),
  },
  [5232] = {
    [sym_method] = STATE(769),
    [sym_singleton_method] = STATE(769),
    [sym_class] = STATE(769),
    [sym_singleton_class] = STATE(769),
    [sym_module] = STATE(769),
    [sym_return] = STATE(769),
    [sym_yield] = STATE(769),
    [sym_break] = STATE(769),
    [sym_next] = STATE(769),
    [sym_redo] = STATE(769),
    [sym_retry] = STATE(769),
    [sym_while] = STATE(769),
    [sym_until] = STATE(769),
    [sym_for] = STATE(769),
    [sym_case] = STATE(769),
    [sym_if] = STATE(769),
    [sym_unless] = STATE(769),
    [sym_begin] = STATE(769),
    [sym__arg] = STATE(2371),
    [sym__primary] = STATE(804),
    [sym_parenthesized_statements] = STATE(769),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(805),
    [sym_call] = STATE(805),
    [sym_method_call] = STATE(694),
    [sym__argument] = STATE(8600),
    [sym_splat_argument] = STATE(2375),
    [sym_hash_splat_argument] = STATE(2375),
    [sym_block_argument] = STATE(2375),
    [sym_assignment] = STATE(811),
    [sym_operator_assignment] = STATE(811),
    [sym_conditional] = STATE(811),
    [sym_range] = STATE(811),
    [sym_binary] = STATE(811),
    [sym_unary] = STATE(811),
    [sym_left_assignment_list] = STATE(812),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(813),
    [sym__variable] = STATE(805),
    [sym_reserved_identifier] = STATE(2377),
    [sym_symbol] = STATE(769),
    [sym_complex] = STATE(769),
    [sym_rational] = STATE(769),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(769),
    [sym_string] = STATE(2378),
    [sym_subshell] = STATE(769),
    [sym_heredoc_end] = STATE(8601),
    [sym_array] = STATE(769),
    [sym_hash] = STATE(769),
    [sym_pair] = STATE(2375),
    [sym_regex] = STATE(769),
    [sym_lambda] = STATE(769),
    [sym__simple_string] = ACTIONS(1274),
    [sym__simple_symbol] = ACTIONS(1276),
    [sym__simple_subshell] = ACTIONS(1278),
    [sym__simple_regex] = ACTIONS(1280),
    [sym__simple_word_list] = ACTIONS(1282),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(1284),
    [sym__symbol_beginning] = ACTIONS(1286),
    [sym__subshell_beginning] = ACTIONS(1288),
    [sym__regex_beginning] = ACTIONS(1290),
    [sym__word_list_beginning] = ACTIONS(1292),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(1294),
    [sym__block_ampersand] = ACTIONS(3564),
    [sym__splat_star] = ACTIONS(3566),
    [sym__unary_minus] = ACTIONS(1302),
    [anon_sym_LBRACE] = ACTIONS(3716),
    [anon_sym_def] = ACTIONS(1306),
    [anon_sym_LPAREN] = ACTIONS(1308),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(11516),
    [anon_sym_class] = ACTIONS(1310),
    [anon_sym_module] = ACTIONS(1312),
    [anon_sym_return] = ACTIONS(1314),
    [anon_sym_yield] = ACTIONS(1316),
    [anon_sym_break] = ACTIONS(1318),
    [anon_sym_next] = ACTIONS(1320),
    [anon_sym_redo] = ACTIONS(1322),
    [anon_sym_retry] = ACTIONS(1324),
    [anon_sym_if] = ACTIONS(7624),
    [anon_sym_unless] = ACTIONS(7626),
    [anon_sym_while] = ACTIONS(7628),
    [anon_sym_until] = ACTIONS(7630),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1326),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1330),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1332),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(3750),
    [anon_sym_defined_QMARK] = ACTIONS(1334),
    [anon_sym_not] = ACTIONS(1336),
    [anon_sym_BANG] = ACTIONS(1340),
    [anon_sym_TILDE] = ACTIONS(1340),
    [sym_constant] = ACTIONS(3574),
    [sym_identifier] = ACTIONS(3574),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(1168),
    [anon_sym_nil] = ACTIONS(1170),
    [anon_sym_self] = ACTIONS(1172),
    [anon_sym_super] = ACTIONS(1174),
    [anon_sym_true] = ACTIONS(1176),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1344),
    [sym_float] = ACTIONS(1346),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1348),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1350),
    [sym_keyword__LINE__] = ACTIONS(1350),
    [sym_keyword__ENCODING__] = ACTIONS(1350),
    [sym__character_literal] = ACTIONS(1352),
    [anon_sym_LBRACK] = ACTIONS(1354),
    [anon_sym_DASH_GT] = ACTIONS(1356),
  },
  [5233] = {
    [sym_heredoc_end] = STATE(5230),
    [aux_sym_argument_list_repeat2] = STATE(8603),
    [sym__simple_heredoc_body] = ACTIONS(7480),
    [sym__heredoc_body_beginning] = ACTIONS(7482),
    [sym__string_middle] = ACTIONS(5472),
    [sym__string_end] = ACTIONS(5472),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_LBRACE] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(11518),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_STAR_STAR] = ACTIONS(5474),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_EQ] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_if] = ACTIONS(5472),
    [anon_sym_unless] = ACTIONS(5472),
    [anon_sym_while] = ACTIONS(5472),
    [anon_sym_until] = ACTIONS(5472),
    [anon_sym_rescue] = ACTIONS(5472),
    [anon_sym_do] = ACTIONS(5472),
    [anon_sym_EQ_GT] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_PLUS_EQ] = ACTIONS(5472),
    [anon_sym_DASH_EQ] = ACTIONS(5472),
    [anon_sym_STAR_EQ] = ACTIONS(5472),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5472),
    [anon_sym_SLASH_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5472),
    [anon_sym_AMP_EQ] = ACTIONS(5472),
    [anon_sym_PERCENT_EQ] = ACTIONS(5472),
    [anon_sym_GT_GT_EQ] = ACTIONS(5472),
    [anon_sym_LT_LT_EQ] = ACTIONS(5472),
    [anon_sym_CARET_EQ] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5474),
    [anon_sym_AMP_AMP] = ACTIONS(5474),
    [anon_sym_LT_LT] = ACTIONS(5474),
    [anon_sym_GT_GT] = ACTIONS(5474),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5474),
    [anon_sym_PLUS] = ACTIONS(5474),
    [anon_sym_SLASH] = ACTIONS(5474),
    [anon_sym_PERCENT] = ACTIONS(5474),
    [sym_comment] = ACTIONS(256),
  },
  [5234] = {
    [sym_method] = STATE(769),
    [sym_singleton_method] = STATE(769),
    [sym_class] = STATE(769),
    [sym_singleton_class] = STATE(769),
    [sym_module] = STATE(769),
    [sym_return] = STATE(769),
    [sym_yield] = STATE(769),
    [sym_break] = STATE(769),
    [sym_next] = STATE(769),
    [sym_redo] = STATE(769),
    [sym_retry] = STATE(769),
    [sym_while] = STATE(769),
    [sym_until] = STATE(769),
    [sym_for] = STATE(769),
    [sym_case] = STATE(769),
    [sym_if] = STATE(769),
    [sym_unless] = STATE(769),
    [sym_begin] = STATE(769),
    [sym__arg] = STATE(8604),
    [sym__primary] = STATE(804),
    [sym_parenthesized_statements] = STATE(769),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(805),
    [sym_call] = STATE(805),
    [sym_method_call] = STATE(694),
    [sym_assignment] = STATE(811),
    [sym_operator_assignment] = STATE(811),
    [sym_conditional] = STATE(811),
    [sym_range] = STATE(811),
    [sym_binary] = STATE(811),
    [sym_unary] = STATE(811),
    [sym_left_assignment_list] = STATE(812),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(813),
    [sym__variable] = STATE(805),
    [sym_symbol] = STATE(769),
    [sym_complex] = STATE(769),
    [sym_rational] = STATE(769),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(769),
    [sym_string] = STATE(2518),
    [sym_subshell] = STATE(769),
    [sym_array] = STATE(769),
    [sym_hash] = STATE(769),
    [sym_regex] = STATE(769),
    [sym_lambda] = STATE(769),
    [sym__simple_string] = ACTIONS(3712),
    [sym__simple_symbol] = ACTIONS(1276),
    [sym__simple_subshell] = ACTIONS(1278),
    [sym__simple_regex] = ACTIONS(1280),
    [sym__simple_word_list] = ACTIONS(1282),
    [sym__string_beginning] = ACTIONS(3714),
    [sym__symbol_beginning] = ACTIONS(1286),
    [sym__subshell_beginning] = ACTIONS(1288),
    [sym__regex_beginning] = ACTIONS(1290),
    [sym__word_list_beginning] = ACTIONS(1292),
    [sym_heredoc_beginning] = ACTIONS(1294),
    [sym__unary_minus] = ACTIONS(1302),
    [anon_sym_LBRACE] = ACTIONS(3716),
    [anon_sym_def] = ACTIONS(3718),
    [anon_sym_LPAREN] = ACTIONS(1308),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3720),
    [anon_sym_module] = ACTIONS(3722),
    [anon_sym_return] = ACTIONS(3724),
    [anon_sym_yield] = ACTIONS(3726),
    [anon_sym_break] = ACTIONS(3728),
    [anon_sym_next] = ACTIONS(3730),
    [anon_sym_redo] = ACTIONS(3732),
    [anon_sym_retry] = ACTIONS(3734),
    [anon_sym_if] = ACTIONS(3736),
    [anon_sym_unless] = ACTIONS(3738),
    [anon_sym_while] = ACTIONS(3740),
    [anon_sym_until] = ACTIONS(3742),
    [anon_sym_for] = ACTIONS(3744),
    [anon_sym_case] = ACTIONS(3746),
    [anon_sym_begin] = ACTIONS(3748),
    [anon_sym_PLUS] = ACTIONS(3750),
    [anon_sym_defined_QMARK] = ACTIONS(1334),
    [anon_sym_not] = ACTIONS(3752),
    [anon_sym_BANG] = ACTIONS(1340),
    [anon_sym_TILDE] = ACTIONS(1340),
    [sym_constant] = ACTIONS(3488),
    [sym_identifier] = ACTIONS(3488),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_false] = ACTIONS(1186),
    [anon_sym_nil] = ACTIONS(1188),
    [anon_sym_self] = ACTIONS(3490),
    [anon_sym_super] = ACTIONS(3492),
    [anon_sym_true] = ACTIONS(1184),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1344),
    [sym_float] = ACTIONS(1346),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1348),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1350),
    [sym_keyword__LINE__] = ACTIONS(1350),
    [sym_keyword__ENCODING__] = ACTIONS(1350),
    [sym__character_literal] = ACTIONS(3754),
    [anon_sym_LBRACK] = ACTIONS(1354),
    [anon_sym_DASH_GT] = ACTIONS(1356),
  },
  [5235] = {
    [sym__heredoc_body_middle] = ACTIONS(4108),
    [sym__heredoc_body_end] = ACTIONS(11520),
    [anon_sym_if] = ACTIONS(4112),
    [anon_sym_unless] = ACTIONS(4114),
    [anon_sym_while] = ACTIONS(4116),
    [anon_sym_until] = ACTIONS(4118),
    [anon_sym_rescue] = ACTIONS(4120),
    [sym_comment] = ACTIONS(110),
  },
  [5236] = {
    [sym__statement] = STATE(8606),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [5237] = {
    [sym__simple_heredoc_body] = ACTIONS(9492),
    [sym__heredoc_body_beginning] = ACTIONS(9492),
    [sym__string_middle] = ACTIONS(9492),
    [sym__string_end] = ACTIONS(9492),
    [sym__element_reference_left_bracket] = ACTIONS(9492),
    [sym__scope_double_colon] = ACTIONS(9492),
    [sym__binary_minus] = ACTIONS(9492),
    [sym__binary_star] = ACTIONS(9492),
    [anon_sym_DOT] = ACTIONS(9494),
    [anon_sym_COMMA] = ACTIONS(9492),
    [anon_sym_PIPE] = ACTIONS(9494),
    [anon_sym_STAR_STAR] = ACTIONS(9492),
    [anon_sym_AMP] = ACTIONS(9494),
    [anon_sym_LT] = ACTIONS(9494),
    [anon_sym_if] = ACTIONS(9492),
    [anon_sym_unless] = ACTIONS(9492),
    [anon_sym_while] = ACTIONS(9492),
    [anon_sym_until] = ACTIONS(9492),
    [anon_sym_rescue] = ACTIONS(9492),
    [anon_sym_EQ_GT] = ACTIONS(9492),
    [anon_sym_AMP_DOT] = ACTIONS(9492),
    [anon_sym_QMARK] = ACTIONS(9492),
    [anon_sym_DOT_DOT] = ACTIONS(9494),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9492),
    [anon_sym_and] = ACTIONS(9492),
    [anon_sym_or] = ACTIONS(9492),
    [anon_sym_PIPE_PIPE] = ACTIONS(9492),
    [anon_sym_AMP_AMP] = ACTIONS(9492),
    [anon_sym_LT_LT] = ACTIONS(9492),
    [anon_sym_GT_GT] = ACTIONS(9492),
    [anon_sym_EQ_EQ] = ACTIONS(9494),
    [anon_sym_BANG_EQ] = ACTIONS(9492),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9492),
    [anon_sym_LT_EQ_GT] = ACTIONS(9492),
    [anon_sym_EQ_TILDE] = ACTIONS(9492),
    [anon_sym_BANG_TILDE] = ACTIONS(9492),
    [anon_sym_LT_EQ] = ACTIONS(9494),
    [anon_sym_GT] = ACTIONS(9494),
    [anon_sym_GT_EQ] = ACTIONS(9492),
    [anon_sym_CARET] = ACTIONS(9492),
    [anon_sym_PLUS] = ACTIONS(9492),
    [anon_sym_SLASH] = ACTIONS(9492),
    [anon_sym_PERCENT] = ACTIONS(9492),
    [sym_comment] = ACTIONS(110),
  },
  [5238] = {
    [sym__simple_heredoc_body] = ACTIONS(9496),
    [sym__heredoc_body_beginning] = ACTIONS(9496),
    [sym__string_middle] = ACTIONS(9496),
    [sym__string_end] = ACTIONS(9496),
    [sym__element_reference_left_bracket] = ACTIONS(9496),
    [sym__scope_double_colon] = ACTIONS(9496),
    [sym__binary_minus] = ACTIONS(9496),
    [sym__binary_star] = ACTIONS(9496),
    [anon_sym_DOT] = ACTIONS(9498),
    [anon_sym_COMMA] = ACTIONS(9496),
    [anon_sym_PIPE] = ACTIONS(9498),
    [anon_sym_STAR_STAR] = ACTIONS(9496),
    [anon_sym_AMP] = ACTIONS(9498),
    [anon_sym_LT] = ACTIONS(9498),
    [anon_sym_if] = ACTIONS(9496),
    [anon_sym_unless] = ACTIONS(9496),
    [anon_sym_while] = ACTIONS(9496),
    [anon_sym_until] = ACTIONS(9496),
    [anon_sym_rescue] = ACTIONS(9496),
    [anon_sym_EQ_GT] = ACTIONS(9496),
    [anon_sym_AMP_DOT] = ACTIONS(9496),
    [anon_sym_QMARK] = ACTIONS(9496),
    [anon_sym_DOT_DOT] = ACTIONS(9498),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9496),
    [anon_sym_and] = ACTIONS(9496),
    [anon_sym_or] = ACTIONS(9496),
    [anon_sym_PIPE_PIPE] = ACTIONS(9496),
    [anon_sym_AMP_AMP] = ACTIONS(9496),
    [anon_sym_LT_LT] = ACTIONS(9496),
    [anon_sym_GT_GT] = ACTIONS(9496),
    [anon_sym_EQ_EQ] = ACTIONS(9498),
    [anon_sym_BANG_EQ] = ACTIONS(9496),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9496),
    [anon_sym_LT_EQ_GT] = ACTIONS(9496),
    [anon_sym_EQ_TILDE] = ACTIONS(9496),
    [anon_sym_BANG_TILDE] = ACTIONS(9496),
    [anon_sym_LT_EQ] = ACTIONS(9498),
    [anon_sym_GT] = ACTIONS(9498),
    [anon_sym_GT_EQ] = ACTIONS(9496),
    [anon_sym_CARET] = ACTIONS(9496),
    [anon_sym_PLUS] = ACTIONS(9496),
    [anon_sym_SLASH] = ACTIONS(9496),
    [anon_sym_PERCENT] = ACTIONS(9496),
    [sym_comment] = ACTIONS(110),
  },
  [5239] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(692),
    [sym__primary] = STATE(693),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(695),
    [sym_call] = STATE(695),
    [sym_method_call] = STATE(694),
    [sym__argument] = STATE(8607),
    [sym_splat_argument] = STATE(699),
    [sym_hash_splat_argument] = STATE(699),
    [sym_block_argument] = STATE(699),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(701),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(702),
    [sym__variable] = STATE(695),
    [sym_reserved_identifier] = STATE(703),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(704),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_pair] = STATE(699),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(1096),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__string_beginning] = ACTIONS(1106),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__block_ampersand] = ACTIONS(1118),
    [sym__splat_star] = ACTIONS(1120),
    [sym__unary_minus] = ACTIONS(1124),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(1128),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(7488),
    [anon_sym_class] = ACTIONS(1134),
    [anon_sym_module] = ACTIONS(1136),
    [anon_sym_return] = ACTIONS(1138),
    [anon_sym_yield] = ACTIONS(1140),
    [anon_sym_break] = ACTIONS(1142),
    [anon_sym_next] = ACTIONS(1144),
    [anon_sym_redo] = ACTIONS(1146),
    [anon_sym_retry] = ACTIONS(1148),
    [anon_sym_if] = ACTIONS(7490),
    [anon_sym_unless] = ACTIONS(7492),
    [anon_sym_while] = ACTIONS(7494),
    [anon_sym_until] = ACTIONS(7496),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1150),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1152),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1154),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(3484),
    [anon_sym_defined_QMARK] = ACTIONS(1156),
    [anon_sym_not] = ACTIONS(1158),
    [anon_sym_BANG] = ACTIONS(1162),
    [anon_sym_TILDE] = ACTIONS(1162),
    [sym_constant] = ACTIONS(1164),
    [sym_identifier] = ACTIONS(1164),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(1168),
    [anon_sym_nil] = ACTIONS(1170),
    [anon_sym_self] = ACTIONS(1172),
    [anon_sym_super] = ACTIONS(1174),
    [anon_sym_true] = ACTIONS(1176),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(1192),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [5240] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(692),
    [sym__primary] = STATE(693),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(695),
    [sym_call] = STATE(695),
    [sym_method_call] = STATE(694),
    [sym__argument] = STATE(8607),
    [sym_splat_argument] = STATE(699),
    [sym_hash_splat_argument] = STATE(699),
    [sym_block_argument] = STATE(699),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(701),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(702),
    [sym__variable] = STATE(695),
    [sym_reserved_identifier] = STATE(703),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(704),
    [sym_subshell] = STATE(649),
    [sym_heredoc_end] = STATE(8608),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_pair] = STATE(699),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(1096),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(1106),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__block_ampersand] = ACTIONS(1118),
    [sym__splat_star] = ACTIONS(1120),
    [sym__unary_minus] = ACTIONS(1124),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(1128),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(7488),
    [anon_sym_class] = ACTIONS(1134),
    [anon_sym_module] = ACTIONS(1136),
    [anon_sym_return] = ACTIONS(1138),
    [anon_sym_yield] = ACTIONS(1140),
    [anon_sym_break] = ACTIONS(1142),
    [anon_sym_next] = ACTIONS(1144),
    [anon_sym_redo] = ACTIONS(1146),
    [anon_sym_retry] = ACTIONS(1148),
    [anon_sym_if] = ACTIONS(7490),
    [anon_sym_unless] = ACTIONS(7492),
    [anon_sym_while] = ACTIONS(7494),
    [anon_sym_until] = ACTIONS(7496),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1150),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1152),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1154),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(3484),
    [anon_sym_defined_QMARK] = ACTIONS(1156),
    [anon_sym_not] = ACTIONS(1158),
    [anon_sym_BANG] = ACTIONS(1162),
    [anon_sym_TILDE] = ACTIONS(1162),
    [sym_constant] = ACTIONS(1164),
    [sym_identifier] = ACTIONS(1164),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(1168),
    [anon_sym_nil] = ACTIONS(1170),
    [anon_sym_self] = ACTIONS(1172),
    [anon_sym_super] = ACTIONS(1174),
    [anon_sym_true] = ACTIONS(1176),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(1192),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [5241] = {
    [sym_heredoc_end] = STATE(5237),
    [sym__simple_heredoc_body] = ACTIONS(3576),
    [sym__heredoc_body_beginning] = ACTIONS(3578),
    [sym__string_middle] = ACTIONS(9500),
    [sym__string_end] = ACTIONS(9500),
    [sym__element_reference_left_bracket] = ACTIONS(9500),
    [sym__scope_double_colon] = ACTIONS(9500),
    [sym__binary_minus] = ACTIONS(9500),
    [sym__binary_star] = ACTIONS(9500),
    [anon_sym_DOT] = ACTIONS(9502),
    [anon_sym_COMMA] = ACTIONS(9500),
    [anon_sym_PIPE] = ACTIONS(9502),
    [anon_sym_STAR_STAR] = ACTIONS(9500),
    [anon_sym_AMP] = ACTIONS(9502),
    [anon_sym_LT] = ACTIONS(9502),
    [anon_sym_if] = ACTIONS(9500),
    [anon_sym_unless] = ACTIONS(9500),
    [anon_sym_while] = ACTIONS(9500),
    [anon_sym_until] = ACTIONS(9500),
    [anon_sym_rescue] = ACTIONS(9500),
    [anon_sym_EQ_GT] = ACTIONS(9500),
    [anon_sym_AMP_DOT] = ACTIONS(9500),
    [anon_sym_QMARK] = ACTIONS(9500),
    [anon_sym_DOT_DOT] = ACTIONS(9502),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9500),
    [anon_sym_and] = ACTIONS(9500),
    [anon_sym_or] = ACTIONS(9500),
    [anon_sym_PIPE_PIPE] = ACTIONS(9500),
    [anon_sym_AMP_AMP] = ACTIONS(9500),
    [anon_sym_LT_LT] = ACTIONS(9500),
    [anon_sym_GT_GT] = ACTIONS(9500),
    [anon_sym_EQ_EQ] = ACTIONS(9502),
    [anon_sym_BANG_EQ] = ACTIONS(9500),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9500),
    [anon_sym_LT_EQ_GT] = ACTIONS(9500),
    [anon_sym_EQ_TILDE] = ACTIONS(9500),
    [anon_sym_BANG_TILDE] = ACTIONS(9500),
    [anon_sym_LT_EQ] = ACTIONS(9502),
    [anon_sym_GT] = ACTIONS(9502),
    [anon_sym_GT_EQ] = ACTIONS(9500),
    [anon_sym_CARET] = ACTIONS(9500),
    [anon_sym_PLUS] = ACTIONS(9500),
    [anon_sym_SLASH] = ACTIONS(9500),
    [anon_sym_PERCENT] = ACTIONS(9500),
    [sym_comment] = ACTIONS(110),
  },
  [5242] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__string_middle] = ACTIONS(6346),
    [sym__string_end] = ACTIONS(6346),
    [sym__element_reference_left_bracket] = ACTIONS(6346),
    [sym__scope_double_colon] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(3526),
    [sym__binary_star] = ACTIONS(3528),
    [anon_sym_DOT] = ACTIONS(7328),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(3530),
    [anon_sym_STAR_STAR] = ACTIONS(3532),
    [anon_sym_AMP] = ACTIONS(3534),
    [anon_sym_LT] = ACTIONS(3536),
    [anon_sym_if] = ACTIONS(6346),
    [anon_sym_unless] = ACTIONS(6346),
    [anon_sym_while] = ACTIONS(6346),
    [anon_sym_until] = ACTIONS(6346),
    [anon_sym_rescue] = ACTIONS(6346),
    [anon_sym_EQ_GT] = ACTIONS(6346),
    [anon_sym_AMP_DOT] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(3538),
    [anon_sym_DOT_DOT] = ACTIONS(3540),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3542),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(3544),
    [anon_sym_AMP_AMP] = ACTIONS(3544),
    [anon_sym_LT_LT] = ACTIONS(3546),
    [anon_sym_GT_GT] = ACTIONS(3546),
    [anon_sym_EQ_EQ] = ACTIONS(3548),
    [anon_sym_BANG_EQ] = ACTIONS(3544),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3544),
    [anon_sym_LT_EQ_GT] = ACTIONS(3544),
    [anon_sym_EQ_TILDE] = ACTIONS(3544),
    [anon_sym_BANG_TILDE] = ACTIONS(3544),
    [anon_sym_LT_EQ] = ACTIONS(3536),
    [anon_sym_GT] = ACTIONS(3536),
    [anon_sym_GT_EQ] = ACTIONS(3550),
    [anon_sym_CARET] = ACTIONS(3552),
    [anon_sym_PLUS] = ACTIONS(3554),
    [anon_sym_SLASH] = ACTIONS(3532),
    [anon_sym_PERCENT] = ACTIONS(3532),
    [sym_comment] = ACTIONS(110),
  },
  [5243] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__string_middle] = ACTIONS(6346),
    [sym__string_end] = ACTIONS(6346),
    [sym__element_reference_left_bracket] = ACTIONS(6346),
    [sym__scope_double_colon] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(6346),
    [sym__binary_star] = ACTIONS(6346),
    [anon_sym_DOT] = ACTIONS(7328),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(7328),
    [anon_sym_STAR_STAR] = ACTIONS(6346),
    [anon_sym_AMP] = ACTIONS(7328),
    [anon_sym_LT] = ACTIONS(7328),
    [anon_sym_if] = ACTIONS(6346),
    [anon_sym_unless] = ACTIONS(6346),
    [anon_sym_while] = ACTIONS(6346),
    [anon_sym_until] = ACTIONS(6346),
    [anon_sym_rescue] = ACTIONS(6346),
    [anon_sym_EQ_GT] = ACTIONS(6346),
    [anon_sym_AMP_DOT] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(6346),
    [anon_sym_DOT_DOT] = ACTIONS(7328),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6346),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(6346),
    [anon_sym_AMP_AMP] = ACTIONS(6346),
    [anon_sym_LT_LT] = ACTIONS(6346),
    [anon_sym_GT_GT] = ACTIONS(6346),
    [anon_sym_EQ_EQ] = ACTIONS(7328),
    [anon_sym_BANG_EQ] = ACTIONS(6346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6346),
    [anon_sym_LT_EQ_GT] = ACTIONS(6346),
    [anon_sym_EQ_TILDE] = ACTIONS(6346),
    [anon_sym_BANG_TILDE] = ACTIONS(6346),
    [anon_sym_LT_EQ] = ACTIONS(7328),
    [anon_sym_GT] = ACTIONS(7328),
    [anon_sym_GT_EQ] = ACTIONS(6346),
    [anon_sym_CARET] = ACTIONS(6346),
    [anon_sym_PLUS] = ACTIONS(6346),
    [anon_sym_SLASH] = ACTIONS(6346),
    [anon_sym_PERCENT] = ACTIONS(6346),
    [sym_comment] = ACTIONS(110),
  },
  [5244] = {
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__string_middle] = ACTIONS(7330),
    [sym__string_end] = ACTIONS(7330),
    [sym__element_reference_left_bracket] = ACTIONS(7330),
    [sym__scope_double_colon] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_DOT] = ACTIONS(7332),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_if] = ACTIONS(7330),
    [anon_sym_unless] = ACTIONS(7330),
    [anon_sym_while] = ACTIONS(7330),
    [anon_sym_until] = ACTIONS(7330),
    [anon_sym_rescue] = ACTIONS(7330),
    [anon_sym_EQ_GT] = ACTIONS(7330),
    [anon_sym_AMP_DOT] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [5245] = {
    [aux_sym_exceptions_repeat1] = STATE(8610),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__string_middle] = ACTIONS(7330),
    [sym__string_end] = ACTIONS(7330),
    [sym__element_reference_left_bracket] = ACTIONS(7330),
    [sym__scope_double_colon] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_DOT] = ACTIONS(7332),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_if] = ACTIONS(7330),
    [anon_sym_unless] = ACTIONS(7330),
    [anon_sym_while] = ACTIONS(7330),
    [anon_sym_until] = ACTIONS(7330),
    [anon_sym_rescue] = ACTIONS(7330),
    [anon_sym_EQ_GT] = ACTIONS(7330),
    [anon_sym_AMP_DOT] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [5246] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__string_middle] = ACTIONS(7344),
    [sym__string_end] = ACTIONS(7344),
    [sym__element_reference_left_bracket] = ACTIONS(7344),
    [sym__scope_double_colon] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(3526),
    [sym__binary_star] = ACTIONS(3528),
    [anon_sym_DOT] = ACTIONS(9504),
    [anon_sym_COMMA] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(3530),
    [anon_sym_STAR_STAR] = ACTIONS(3532),
    [anon_sym_AMP] = ACTIONS(3534),
    [anon_sym_LT] = ACTIONS(3536),
    [anon_sym_if] = ACTIONS(7344),
    [anon_sym_unless] = ACTIONS(7344),
    [anon_sym_while] = ACTIONS(7344),
    [anon_sym_until] = ACTIONS(7344),
    [anon_sym_rescue] = ACTIONS(7344),
    [anon_sym_EQ_GT] = ACTIONS(7344),
    [anon_sym_AMP_DOT] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(3538),
    [anon_sym_DOT_DOT] = ACTIONS(3540),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3542),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(3544),
    [anon_sym_AMP_AMP] = ACTIONS(3544),
    [anon_sym_LT_LT] = ACTIONS(3546),
    [anon_sym_GT_GT] = ACTIONS(3546),
    [anon_sym_EQ_EQ] = ACTIONS(3548),
    [anon_sym_BANG_EQ] = ACTIONS(3544),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3544),
    [anon_sym_LT_EQ_GT] = ACTIONS(3544),
    [anon_sym_EQ_TILDE] = ACTIONS(3544),
    [anon_sym_BANG_TILDE] = ACTIONS(3544),
    [anon_sym_LT_EQ] = ACTIONS(3536),
    [anon_sym_GT] = ACTIONS(3536),
    [anon_sym_GT_EQ] = ACTIONS(3550),
    [anon_sym_CARET] = ACTIONS(3552),
    [anon_sym_PLUS] = ACTIONS(3554),
    [anon_sym_SLASH] = ACTIONS(3532),
    [anon_sym_PERCENT] = ACTIONS(3532),
    [sym_comment] = ACTIONS(110),
  },
  [5247] = {
    [sym__simple_heredoc_body] = ACTIONS(8662),
    [sym__heredoc_body_beginning] = ACTIONS(8662),
    [sym__string_middle] = ACTIONS(8662),
    [sym__string_end] = ACTIONS(8662),
    [sym__element_reference_left_bracket] = ACTIONS(8662),
    [sym__scope_double_colon] = ACTIONS(8662),
    [sym__binary_minus] = ACTIONS(7382),
    [sym__binary_star] = ACTIONS(7384),
    [anon_sym_DOT] = ACTIONS(9506),
    [anon_sym_COMMA] = ACTIONS(8662),
    [anon_sym_PIPE] = ACTIONS(7386),
    [anon_sym_STAR_STAR] = ACTIONS(7388),
    [anon_sym_AMP] = ACTIONS(7390),
    [anon_sym_LT] = ACTIONS(7392),
    [anon_sym_if] = ACTIONS(8662),
    [anon_sym_unless] = ACTIONS(8662),
    [anon_sym_while] = ACTIONS(8662),
    [anon_sym_until] = ACTIONS(8662),
    [anon_sym_rescue] = ACTIONS(8662),
    [anon_sym_AMP_DOT] = ACTIONS(8662),
    [anon_sym_QMARK] = ACTIONS(7394),
    [anon_sym_DOT_DOT] = ACTIONS(7396),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7398),
    [anon_sym_and] = ACTIONS(8662),
    [anon_sym_or] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE] = ACTIONS(7400),
    [anon_sym_AMP_AMP] = ACTIONS(7400),
    [anon_sym_LT_LT] = ACTIONS(7402),
    [anon_sym_GT_GT] = ACTIONS(7402),
    [anon_sym_EQ_EQ] = ACTIONS(7404),
    [anon_sym_BANG_EQ] = ACTIONS(7400),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7400),
    [anon_sym_LT_EQ_GT] = ACTIONS(7400),
    [anon_sym_EQ_TILDE] = ACTIONS(7400),
    [anon_sym_BANG_TILDE] = ACTIONS(7400),
    [anon_sym_LT_EQ] = ACTIONS(7392),
    [anon_sym_GT] = ACTIONS(7392),
    [anon_sym_GT_EQ] = ACTIONS(7406),
    [anon_sym_CARET] = ACTIONS(7408),
    [anon_sym_PLUS] = ACTIONS(7410),
    [anon_sym_SLASH] = ACTIONS(7388),
    [anon_sym_PERCENT] = ACTIONS(7388),
    [sym_comment] = ACTIONS(110),
  },
  [5248] = {
    [sym__simple_string] = ACTIONS(7346),
    [sym__simple_heredoc_body] = ACTIONS(7346),
    [sym__string_beginning] = ACTIONS(7346),
    [sym__heredoc_body_beginning] = ACTIONS(7346),
    [sym__string_middle] = ACTIONS(7346),
    [sym__string_end] = ACTIONS(7346),
    [sym__element_reference_left_bracket] = ACTIONS(7346),
    [sym__scope_double_colon] = ACTIONS(7346),
    [sym__binary_minus] = ACTIONS(7346),
    [sym__binary_star] = ACTIONS(7346),
    [anon_sym_DOT] = ACTIONS(7348),
    [anon_sym_COMMA] = ACTIONS(7346),
    [anon_sym_PIPE] = ACTIONS(7348),
    [anon_sym_STAR_STAR] = ACTIONS(7346),
    [anon_sym_AMP] = ACTIONS(7348),
    [anon_sym_LT] = ACTIONS(7348),
    [anon_sym_if] = ACTIONS(7346),
    [anon_sym_unless] = ACTIONS(7346),
    [anon_sym_while] = ACTIONS(7346),
    [anon_sym_until] = ACTIONS(7346),
    [anon_sym_rescue] = ACTIONS(7346),
    [anon_sym_EQ_GT] = ACTIONS(7346),
    [anon_sym_AMP_DOT] = ACTIONS(7346),
    [anon_sym_QMARK] = ACTIONS(7348),
    [anon_sym_DOT_DOT] = ACTIONS(7348),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7346),
    [anon_sym_and] = ACTIONS(7346),
    [anon_sym_or] = ACTIONS(7346),
    [anon_sym_PIPE_PIPE] = ACTIONS(7346),
    [anon_sym_AMP_AMP] = ACTIONS(7346),
    [anon_sym_LT_LT] = ACTIONS(7346),
    [anon_sym_GT_GT] = ACTIONS(7346),
    [anon_sym_EQ_EQ] = ACTIONS(7348),
    [anon_sym_BANG_EQ] = ACTIONS(7346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7346),
    [anon_sym_LT_EQ_GT] = ACTIONS(7346),
    [anon_sym_EQ_TILDE] = ACTIONS(7346),
    [anon_sym_BANG_TILDE] = ACTIONS(7346),
    [anon_sym_LT_EQ] = ACTIONS(7348),
    [anon_sym_GT] = ACTIONS(7348),
    [anon_sym_GT_EQ] = ACTIONS(7346),
    [anon_sym_CARET] = ACTIONS(7346),
    [anon_sym_PLUS] = ACTIONS(7346),
    [anon_sym_SLASH] = ACTIONS(7346),
    [anon_sym_PERCENT] = ACTIONS(7346),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(7348),
  },
  [5249] = {
    [sym__string_middle] = ACTIONS(9562),
    [sym__string_end] = ACTIONS(9562),
    [sym__element_reference_left_bracket] = ACTIONS(9562),
    [sym__scope_double_colon] = ACTIONS(9562),
    [sym__binary_minus] = ACTIONS(9562),
    [sym__binary_star] = ACTIONS(9562),
    [anon_sym_DOT] = ACTIONS(9564),
    [anon_sym_COMMA] = ACTIONS(9562),
    [anon_sym_PIPE] = ACTIONS(9564),
    [anon_sym_STAR_STAR] = ACTIONS(9562),
    [anon_sym_AMP] = ACTIONS(9564),
    [anon_sym_LT] = ACTIONS(9564),
    [anon_sym_if] = ACTIONS(9562),
    [anon_sym_unless] = ACTIONS(9562),
    [anon_sym_while] = ACTIONS(9562),
    [anon_sym_until] = ACTIONS(9562),
    [anon_sym_rescue] = ACTIONS(9562),
    [anon_sym_AMP_DOT] = ACTIONS(9562),
    [anon_sym_QMARK] = ACTIONS(9562),
    [anon_sym_DOT_DOT] = ACTIONS(9564),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9562),
    [anon_sym_and] = ACTIONS(9562),
    [anon_sym_or] = ACTIONS(9562),
    [anon_sym_PIPE_PIPE] = ACTIONS(9562),
    [anon_sym_AMP_AMP] = ACTIONS(9562),
    [anon_sym_LT_LT] = ACTIONS(9562),
    [anon_sym_GT_GT] = ACTIONS(9562),
    [anon_sym_EQ_EQ] = ACTIONS(9564),
    [anon_sym_BANG_EQ] = ACTIONS(9562),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9562),
    [anon_sym_LT_EQ_GT] = ACTIONS(9562),
    [anon_sym_EQ_TILDE] = ACTIONS(9562),
    [anon_sym_BANG_TILDE] = ACTIONS(9562),
    [anon_sym_LT_EQ] = ACTIONS(9564),
    [anon_sym_GT] = ACTIONS(9564),
    [anon_sym_GT_EQ] = ACTIONS(9562),
    [anon_sym_CARET] = ACTIONS(9562),
    [anon_sym_PLUS] = ACTIONS(9562),
    [anon_sym_SLASH] = ACTIONS(9562),
    [anon_sym_PERCENT] = ACTIONS(9562),
    [sym_comment] = ACTIONS(110),
  },
  [5250] = {
    [sym_elsif] = STATE(3865),
    [sym_else] = STATE(3865),
    [sym__if_tail] = STATE(8612),
    [anon_sym_end] = ACTIONS(11522),
    [anon_sym_elsif] = ACTIONS(9592),
    [anon_sym_else] = ACTIONS(9594),
    [sym_comment] = ACTIONS(110),
  },
  [5251] = {
    [anon_sym_end] = ACTIONS(11522),
    [sym_comment] = ACTIONS(110),
  },
  [5252] = {
    [sym__statements] = STATE(8613),
    [sym__top_level_statement] = STATE(3863),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(3864),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_elsif] = STATE(3865),
    [sym_else] = STATE(3865),
    [sym__if_tail] = STATE(8612),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3867),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3869),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3870),
    [sym__variable] = STATE(3868),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5572),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11524),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_elsif] = ACTIONS(5586),
    [anon_sym_else] = ACTIONS(5588),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5590),
    [anon_sym_defined_QMARK] = ACTIONS(5592),
    [anon_sym_not] = ACTIONS(5594),
    [anon_sym_BANG] = ACTIONS(5596),
    [anon_sym_TILDE] = ACTIONS(5596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5253] = {
    [sym__string_middle] = ACTIONS(9758),
    [sym__string_end] = ACTIONS(9758),
    [sym__element_reference_left_bracket] = ACTIONS(9758),
    [sym__scope_double_colon] = ACTIONS(9758),
    [sym__binary_minus] = ACTIONS(9758),
    [sym__binary_star] = ACTIONS(9758),
    [anon_sym_DOT] = ACTIONS(9760),
    [anon_sym_COMMA] = ACTIONS(9758),
    [anon_sym_PIPE] = ACTIONS(9760),
    [anon_sym_STAR_STAR] = ACTIONS(9758),
    [anon_sym_AMP] = ACTIONS(9760),
    [anon_sym_LT] = ACTIONS(9760),
    [anon_sym_if] = ACTIONS(9758),
    [anon_sym_unless] = ACTIONS(9758),
    [anon_sym_while] = ACTIONS(9758),
    [anon_sym_until] = ACTIONS(9758),
    [anon_sym_rescue] = ACTIONS(9758),
    [anon_sym_AMP_DOT] = ACTIONS(9758),
    [anon_sym_QMARK] = ACTIONS(9758),
    [anon_sym_DOT_DOT] = ACTIONS(9760),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9758),
    [anon_sym_and] = ACTIONS(9758),
    [anon_sym_or] = ACTIONS(9758),
    [anon_sym_PIPE_PIPE] = ACTIONS(9758),
    [anon_sym_AMP_AMP] = ACTIONS(9758),
    [anon_sym_LT_LT] = ACTIONS(9758),
    [anon_sym_GT_GT] = ACTIONS(9758),
    [anon_sym_EQ_EQ] = ACTIONS(9760),
    [anon_sym_BANG_EQ] = ACTIONS(9758),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9758),
    [anon_sym_LT_EQ_GT] = ACTIONS(9758),
    [anon_sym_EQ_TILDE] = ACTIONS(9758),
    [anon_sym_BANG_TILDE] = ACTIONS(9758),
    [anon_sym_LT_EQ] = ACTIONS(9760),
    [anon_sym_GT] = ACTIONS(9760),
    [anon_sym_GT_EQ] = ACTIONS(9758),
    [anon_sym_CARET] = ACTIONS(9758),
    [anon_sym_PLUS] = ACTIONS(9758),
    [anon_sym_SLASH] = ACTIONS(9758),
    [anon_sym_PERCENT] = ACTIONS(9758),
    [sym_comment] = ACTIONS(110),
  },
  [5254] = {
    [sym_else] = STATE(8615),
    [anon_sym_end] = ACTIONS(11526),
    [anon_sym_else] = ACTIONS(9594),
    [sym_comment] = ACTIONS(110),
  },
  [5255] = {
    [anon_sym_end] = ACTIONS(11526),
    [sym_comment] = ACTIONS(110),
  },
  [5256] = {
    [sym__string_middle] = ACTIONS(9922),
    [sym__string_end] = ACTIONS(9922),
    [sym__element_reference_left_bracket] = ACTIONS(9922),
    [sym__scope_double_colon] = ACTIONS(9922),
    [sym__binary_minus] = ACTIONS(9922),
    [sym__binary_star] = ACTIONS(9922),
    [anon_sym_DOT] = ACTIONS(9924),
    [anon_sym_COMMA] = ACTIONS(9922),
    [anon_sym_PIPE] = ACTIONS(9924),
    [anon_sym_STAR_STAR] = ACTIONS(9922),
    [anon_sym_AMP] = ACTIONS(9924),
    [anon_sym_LT] = ACTIONS(9924),
    [anon_sym_if] = ACTIONS(9922),
    [anon_sym_unless] = ACTIONS(9922),
    [anon_sym_while] = ACTIONS(9922),
    [anon_sym_until] = ACTIONS(9922),
    [anon_sym_rescue] = ACTIONS(9922),
    [anon_sym_AMP_DOT] = ACTIONS(9922),
    [anon_sym_QMARK] = ACTIONS(9922),
    [anon_sym_DOT_DOT] = ACTIONS(9924),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9922),
    [anon_sym_and] = ACTIONS(9922),
    [anon_sym_or] = ACTIONS(9922),
    [anon_sym_PIPE_PIPE] = ACTIONS(9922),
    [anon_sym_AMP_AMP] = ACTIONS(9922),
    [anon_sym_LT_LT] = ACTIONS(9922),
    [anon_sym_GT_GT] = ACTIONS(9922),
    [anon_sym_EQ_EQ] = ACTIONS(9924),
    [anon_sym_BANG_EQ] = ACTIONS(9922),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9922),
    [anon_sym_LT_EQ_GT] = ACTIONS(9922),
    [anon_sym_EQ_TILDE] = ACTIONS(9922),
    [anon_sym_BANG_TILDE] = ACTIONS(9922),
    [anon_sym_LT_EQ] = ACTIONS(9924),
    [anon_sym_GT] = ACTIONS(9924),
    [anon_sym_GT_EQ] = ACTIONS(9922),
    [anon_sym_CARET] = ACTIONS(9922),
    [anon_sym_PLUS] = ACTIONS(9922),
    [anon_sym_SLASH] = ACTIONS(9922),
    [anon_sym_PERCENT] = ACTIONS(9922),
    [sym_comment] = ACTIONS(110),
  },
  [5257] = {
    [anon_sym_end] = ACTIONS(11528),
    [sym_comment] = ACTIONS(110),
  },
  [5258] = {
    [sym__string_middle] = ACTIONS(10004),
    [sym__string_end] = ACTIONS(10004),
    [sym__element_reference_left_bracket] = ACTIONS(10004),
    [sym__scope_double_colon] = ACTIONS(10004),
    [sym__binary_minus] = ACTIONS(10004),
    [sym__binary_star] = ACTIONS(10004),
    [anon_sym_DOT] = ACTIONS(10006),
    [anon_sym_COMMA] = ACTIONS(10004),
    [anon_sym_PIPE] = ACTIONS(10006),
    [anon_sym_STAR_STAR] = ACTIONS(10004),
    [anon_sym_AMP] = ACTIONS(10006),
    [anon_sym_LT] = ACTIONS(10006),
    [anon_sym_if] = ACTIONS(10004),
    [anon_sym_unless] = ACTIONS(10004),
    [anon_sym_while] = ACTIONS(10004),
    [anon_sym_until] = ACTIONS(10004),
    [anon_sym_rescue] = ACTIONS(10004),
    [anon_sym_AMP_DOT] = ACTIONS(10004),
    [anon_sym_QMARK] = ACTIONS(10004),
    [anon_sym_DOT_DOT] = ACTIONS(10006),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10004),
    [anon_sym_and] = ACTIONS(10004),
    [anon_sym_or] = ACTIONS(10004),
    [anon_sym_PIPE_PIPE] = ACTIONS(10004),
    [anon_sym_AMP_AMP] = ACTIONS(10004),
    [anon_sym_LT_LT] = ACTIONS(10004),
    [anon_sym_GT_GT] = ACTIONS(10004),
    [anon_sym_EQ_EQ] = ACTIONS(10006),
    [anon_sym_BANG_EQ] = ACTIONS(10004),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10004),
    [anon_sym_LT_EQ_GT] = ACTIONS(10004),
    [anon_sym_EQ_TILDE] = ACTIONS(10004),
    [anon_sym_BANG_TILDE] = ACTIONS(10004),
    [anon_sym_LT_EQ] = ACTIONS(10006),
    [anon_sym_GT] = ACTIONS(10006),
    [anon_sym_GT_EQ] = ACTIONS(10004),
    [anon_sym_CARET] = ACTIONS(10004),
    [anon_sym_PLUS] = ACTIONS(10004),
    [anon_sym_SLASH] = ACTIONS(10004),
    [anon_sym_PERCENT] = ACTIONS(10004),
    [sym_comment] = ACTIONS(110),
  },
  [5259] = {
    [anon_sym_end] = ACTIONS(11530),
    [sym_comment] = ACTIONS(110),
  },
  [5260] = {
    [sym__statements] = STATE(8619),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11532),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5261] = {
    [sym__string_middle] = ACTIONS(10332),
    [sym__string_end] = ACTIONS(10332),
    [sym__element_reference_left_bracket] = ACTIONS(10332),
    [sym__scope_double_colon] = ACTIONS(10332),
    [sym__binary_minus] = ACTIONS(10332),
    [sym__binary_star] = ACTIONS(10332),
    [anon_sym_DOT] = ACTIONS(10334),
    [anon_sym_COMMA] = ACTIONS(10332),
    [anon_sym_PIPE] = ACTIONS(10334),
    [anon_sym_STAR_STAR] = ACTIONS(10332),
    [anon_sym_AMP] = ACTIONS(10334),
    [anon_sym_LT] = ACTIONS(10334),
    [anon_sym_if] = ACTIONS(10332),
    [anon_sym_unless] = ACTIONS(10332),
    [anon_sym_while] = ACTIONS(10332),
    [anon_sym_until] = ACTIONS(10332),
    [anon_sym_rescue] = ACTIONS(10332),
    [anon_sym_AMP_DOT] = ACTIONS(10332),
    [anon_sym_QMARK] = ACTIONS(10332),
    [anon_sym_DOT_DOT] = ACTIONS(10334),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10332),
    [anon_sym_and] = ACTIONS(10332),
    [anon_sym_or] = ACTIONS(10332),
    [anon_sym_PIPE_PIPE] = ACTIONS(10332),
    [anon_sym_AMP_AMP] = ACTIONS(10332),
    [anon_sym_LT_LT] = ACTIONS(10332),
    [anon_sym_GT_GT] = ACTIONS(10332),
    [anon_sym_EQ_EQ] = ACTIONS(10334),
    [anon_sym_BANG_EQ] = ACTIONS(10332),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10332),
    [anon_sym_LT_EQ_GT] = ACTIONS(10332),
    [anon_sym_EQ_TILDE] = ACTIONS(10332),
    [anon_sym_BANG_TILDE] = ACTIONS(10332),
    [anon_sym_LT_EQ] = ACTIONS(10334),
    [anon_sym_GT] = ACTIONS(10334),
    [anon_sym_GT_EQ] = ACTIONS(10332),
    [anon_sym_CARET] = ACTIONS(10332),
    [anon_sym_PLUS] = ACTIONS(10332),
    [anon_sym_SLASH] = ACTIONS(10332),
    [anon_sym_PERCENT] = ACTIONS(10332),
    [sym_comment] = ACTIONS(110),
  },
  [5262] = {
    [anon_sym_end] = ACTIONS(11534),
    [sym_comment] = ACTIONS(110),
  },
  [5263] = {
    [sym__string_middle] = ACTIONS(10934),
    [sym__string_end] = ACTIONS(10934),
    [sym__element_reference_left_bracket] = ACTIONS(10934),
    [sym__scope_double_colon] = ACTIONS(10934),
    [sym__binary_minus] = ACTIONS(10934),
    [sym__binary_star] = ACTIONS(10934),
    [anon_sym_DOT] = ACTIONS(10936),
    [anon_sym_COMMA] = ACTIONS(10934),
    [anon_sym_PIPE] = ACTIONS(10936),
    [anon_sym_STAR_STAR] = ACTIONS(10934),
    [anon_sym_AMP] = ACTIONS(10936),
    [anon_sym_LT] = ACTIONS(10936),
    [anon_sym_if] = ACTIONS(10934),
    [anon_sym_unless] = ACTIONS(10934),
    [anon_sym_while] = ACTIONS(10934),
    [anon_sym_until] = ACTIONS(10934),
    [anon_sym_rescue] = ACTIONS(10934),
    [anon_sym_AMP_DOT] = ACTIONS(10934),
    [anon_sym_QMARK] = ACTIONS(10934),
    [anon_sym_DOT_DOT] = ACTIONS(10936),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10934),
    [anon_sym_and] = ACTIONS(10934),
    [anon_sym_or] = ACTIONS(10934),
    [anon_sym_PIPE_PIPE] = ACTIONS(10934),
    [anon_sym_AMP_AMP] = ACTIONS(10934),
    [anon_sym_LT_LT] = ACTIONS(10934),
    [anon_sym_GT_GT] = ACTIONS(10934),
    [anon_sym_EQ_EQ] = ACTIONS(10936),
    [anon_sym_BANG_EQ] = ACTIONS(10934),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10934),
    [anon_sym_LT_EQ_GT] = ACTIONS(10934),
    [anon_sym_EQ_TILDE] = ACTIONS(10934),
    [anon_sym_BANG_TILDE] = ACTIONS(10934),
    [anon_sym_LT_EQ] = ACTIONS(10936),
    [anon_sym_GT] = ACTIONS(10936),
    [anon_sym_GT_EQ] = ACTIONS(10934),
    [anon_sym_CARET] = ACTIONS(10934),
    [anon_sym_PLUS] = ACTIONS(10934),
    [anon_sym_SLASH] = ACTIONS(10934),
    [anon_sym_PERCENT] = ACTIONS(10934),
    [sym_comment] = ACTIONS(110),
  },
  [5264] = {
    [sym__string_middle] = ACTIONS(3844),
    [sym__string_end] = ACTIONS(3844),
    [anon_sym_COMMA] = ACTIONS(3844),
    [anon_sym_if] = ACTIONS(3844),
    [anon_sym_unless] = ACTIONS(3844),
    [anon_sym_while] = ACTIONS(3844),
    [anon_sym_until] = ACTIONS(3844),
    [anon_sym_rescue] = ACTIONS(3844),
    [sym_comment] = ACTIONS(110),
  },
  [5265] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(11536),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [5266] = {
    [sym__string_middle] = ACTIONS(10942),
    [sym__string_end] = ACTIONS(10942),
    [anon_sym_COMMA] = ACTIONS(10942),
    [anon_sym_if] = ACTIONS(10942),
    [anon_sym_unless] = ACTIONS(10942),
    [anon_sym_while] = ACTIONS(10942),
    [anon_sym_until] = ACTIONS(10942),
    [anon_sym_rescue] = ACTIONS(10942),
    [sym_comment] = ACTIONS(110),
  },
  [5267] = {
    [sym_operator] = STATE(726),
    [sym__method_name] = STATE(8622),
    [sym_setter] = STATE(726),
    [sym_symbol] = STATE(726),
    [sym__simple_symbol] = ACTIONS(1200),
    [sym__symbol_beginning] = ACTIONS(1202),
    [anon_sym_PIPE] = ACTIONS(1204),
    [anon_sym_STAR] = ACTIONS(1206),
    [anon_sym_STAR_STAR] = ACTIONS(1204),
    [anon_sym_AMP] = ACTIONS(1204),
    [anon_sym_LT] = ACTIONS(1206),
    [anon_sym_DOT_DOT] = ACTIONS(1204),
    [anon_sym_LT_LT] = ACTIONS(1204),
    [anon_sym_GT_GT] = ACTIONS(1204),
    [anon_sym_EQ_EQ] = ACTIONS(1206),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1204),
    [anon_sym_LT_EQ_GT] = ACTIONS(1204),
    [anon_sym_EQ_TILDE] = ACTIONS(1204),
    [anon_sym_BANG_TILDE] = ACTIONS(1204),
    [anon_sym_LT_EQ] = ACTIONS(1206),
    [anon_sym_GT] = ACTIONS(1206),
    [anon_sym_GT_EQ] = ACTIONS(1204),
    [anon_sym_CARET] = ACTIONS(1204),
    [anon_sym_PLUS] = ACTIONS(1206),
    [anon_sym_SLASH] = ACTIONS(1204),
    [anon_sym_PERCENT] = ACTIONS(1204),
    [anon_sym_BANG] = ACTIONS(1206),
    [anon_sym_TILDE] = ACTIONS(1204),
    [sym_constant] = ACTIONS(1208),
    [sym_identifier] = ACTIONS(1210),
    [sym_instance_variable] = ACTIONS(1208),
    [sym_class_variable] = ACTIONS(1208),
    [sym_global_variable] = ACTIONS(1208),
    [anon_sym_DASH] = ACTIONS(1206),
    [anon_sym_PLUS_AT] = ACTIONS(1204),
    [anon_sym_DASH_AT] = ACTIONS(1204),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1206),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(1204),
    [anon_sym_BQUOTE] = ACTIONS(1204),
    [sym_comment] = ACTIONS(110),
  },
  [5268] = {
    [sym__string_middle] = ACTIONS(11064),
    [sym__string_end] = ACTIONS(11064),
    [sym__element_reference_left_bracket] = ACTIONS(11064),
    [sym__scope_double_colon] = ACTIONS(11064),
    [sym__binary_minus] = ACTIONS(11064),
    [sym__binary_star] = ACTIONS(11064),
    [anon_sym_DOT] = ACTIONS(11066),
    [anon_sym_COMMA] = ACTIONS(11064),
    [anon_sym_PIPE] = ACTIONS(11066),
    [anon_sym_STAR_STAR] = ACTIONS(11064),
    [anon_sym_AMP] = ACTIONS(11066),
    [anon_sym_LT] = ACTIONS(11066),
    [anon_sym_if] = ACTIONS(11064),
    [anon_sym_unless] = ACTIONS(11064),
    [anon_sym_while] = ACTIONS(11064),
    [anon_sym_until] = ACTIONS(11064),
    [anon_sym_rescue] = ACTIONS(11064),
    [anon_sym_AMP_DOT] = ACTIONS(11064),
    [anon_sym_QMARK] = ACTIONS(11064),
    [anon_sym_DOT_DOT] = ACTIONS(11066),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11064),
    [anon_sym_and] = ACTIONS(11064),
    [anon_sym_or] = ACTIONS(11064),
    [anon_sym_PIPE_PIPE] = ACTIONS(11064),
    [anon_sym_AMP_AMP] = ACTIONS(11064),
    [anon_sym_LT_LT] = ACTIONS(11064),
    [anon_sym_GT_GT] = ACTIONS(11064),
    [anon_sym_EQ_EQ] = ACTIONS(11066),
    [anon_sym_BANG_EQ] = ACTIONS(11064),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11064),
    [anon_sym_LT_EQ_GT] = ACTIONS(11064),
    [anon_sym_EQ_TILDE] = ACTIONS(11064),
    [anon_sym_BANG_TILDE] = ACTIONS(11064),
    [anon_sym_LT_EQ] = ACTIONS(11066),
    [anon_sym_GT] = ACTIONS(11066),
    [anon_sym_GT_EQ] = ACTIONS(11064),
    [anon_sym_CARET] = ACTIONS(11064),
    [anon_sym_PLUS] = ACTIONS(11064),
    [anon_sym_SLASH] = ACTIONS(11064),
    [anon_sym_PERCENT] = ACTIONS(11064),
    [sym_comment] = ACTIONS(110),
  },
  [5269] = {
    [anon_sym_RBRACE] = ACTIONS(11538),
    [sym_comment] = ACTIONS(110),
  },
  [5270] = {
    [sym__string_middle] = ACTIONS(11094),
    [sym__string_end] = ACTIONS(11094),
    [sym__element_reference_left_bracket] = ACTIONS(11094),
    [sym__scope_double_colon] = ACTIONS(11094),
    [sym__binary_minus] = ACTIONS(11094),
    [sym__binary_star] = ACTIONS(11094),
    [anon_sym_DOT] = ACTIONS(11096),
    [anon_sym_COMMA] = ACTIONS(11094),
    [anon_sym_PIPE] = ACTIONS(11096),
    [anon_sym_STAR_STAR] = ACTIONS(11094),
    [anon_sym_AMP] = ACTIONS(11096),
    [anon_sym_LT] = ACTIONS(11096),
    [anon_sym_if] = ACTIONS(11094),
    [anon_sym_unless] = ACTIONS(11094),
    [anon_sym_while] = ACTIONS(11094),
    [anon_sym_until] = ACTIONS(11094),
    [anon_sym_rescue] = ACTIONS(11094),
    [anon_sym_AMP_DOT] = ACTIONS(11094),
    [anon_sym_QMARK] = ACTIONS(11094),
    [anon_sym_DOT_DOT] = ACTIONS(11096),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11094),
    [anon_sym_and] = ACTIONS(11094),
    [anon_sym_or] = ACTIONS(11094),
    [anon_sym_PIPE_PIPE] = ACTIONS(11094),
    [anon_sym_AMP_AMP] = ACTIONS(11094),
    [anon_sym_LT_LT] = ACTIONS(11094),
    [anon_sym_GT_GT] = ACTIONS(11094),
    [anon_sym_EQ_EQ] = ACTIONS(11096),
    [anon_sym_BANG_EQ] = ACTIONS(11094),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11094),
    [anon_sym_LT_EQ_GT] = ACTIONS(11094),
    [anon_sym_EQ_TILDE] = ACTIONS(11094),
    [anon_sym_BANG_TILDE] = ACTIONS(11094),
    [anon_sym_LT_EQ] = ACTIONS(11096),
    [anon_sym_GT] = ACTIONS(11096),
    [anon_sym_GT_EQ] = ACTIONS(11094),
    [anon_sym_CARET] = ACTIONS(11094),
    [anon_sym_PLUS] = ACTIONS(11094),
    [anon_sym_SLASH] = ACTIONS(11094),
    [anon_sym_PERCENT] = ACTIONS(11094),
    [sym_comment] = ACTIONS(110),
  },
  [5271] = {
    [anon_sym_end] = ACTIONS(11540),
    [sym_comment] = ACTIONS(110),
  },
  [5272] = {
    [sym__statements] = STATE(8625),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11542),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5273] = {
    [sym__statements] = STATE(8625),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(8626),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11542),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5274] = {
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(8627),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [5275] = {
    [sym__string_middle] = ACTIONS(11316),
    [sym__string_end] = ACTIONS(11316),
    [sym__element_reference_left_bracket] = ACTIONS(11316),
    [sym__scope_double_colon] = ACTIONS(11316),
    [sym__binary_minus] = ACTIONS(11316),
    [sym__binary_star] = ACTIONS(11316),
    [anon_sym_DOT] = ACTIONS(11318),
    [anon_sym_COMMA] = ACTIONS(11316),
    [anon_sym_PIPE] = ACTIONS(11318),
    [anon_sym_STAR_STAR] = ACTIONS(11318),
    [anon_sym_AMP] = ACTIONS(11318),
    [anon_sym_EQ] = ACTIONS(11318),
    [anon_sym_LT] = ACTIONS(11318),
    [anon_sym_if] = ACTIONS(11316),
    [anon_sym_unless] = ACTIONS(11316),
    [anon_sym_while] = ACTIONS(11316),
    [anon_sym_until] = ACTIONS(11316),
    [anon_sym_rescue] = ACTIONS(11316),
    [anon_sym_AMP_DOT] = ACTIONS(11316),
    [anon_sym_PLUS_EQ] = ACTIONS(11316),
    [anon_sym_DASH_EQ] = ACTIONS(11316),
    [anon_sym_STAR_EQ] = ACTIONS(11316),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(11316),
    [anon_sym_SLASH_EQ] = ACTIONS(11316),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(11316),
    [anon_sym_PIPE_EQ] = ACTIONS(11316),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(11316),
    [anon_sym_AMP_EQ] = ACTIONS(11316),
    [anon_sym_PERCENT_EQ] = ACTIONS(11316),
    [anon_sym_GT_GT_EQ] = ACTIONS(11316),
    [anon_sym_LT_LT_EQ] = ACTIONS(11316),
    [anon_sym_CARET_EQ] = ACTIONS(11316),
    [anon_sym_QMARK] = ACTIONS(11316),
    [anon_sym_DOT_DOT] = ACTIONS(11318),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11316),
    [anon_sym_and] = ACTIONS(11316),
    [anon_sym_or] = ACTIONS(11316),
    [anon_sym_PIPE_PIPE] = ACTIONS(11318),
    [anon_sym_AMP_AMP] = ACTIONS(11318),
    [anon_sym_LT_LT] = ACTIONS(11318),
    [anon_sym_GT_GT] = ACTIONS(11318),
    [anon_sym_EQ_EQ] = ACTIONS(11318),
    [anon_sym_BANG_EQ] = ACTIONS(11316),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11316),
    [anon_sym_LT_EQ_GT] = ACTIONS(11316),
    [anon_sym_EQ_TILDE] = ACTIONS(11316),
    [anon_sym_BANG_TILDE] = ACTIONS(11316),
    [anon_sym_LT_EQ] = ACTIONS(11318),
    [anon_sym_GT] = ACTIONS(11318),
    [anon_sym_GT_EQ] = ACTIONS(11316),
    [anon_sym_CARET] = ACTIONS(11318),
    [anon_sym_PLUS] = ACTIONS(11318),
    [anon_sym_SLASH] = ACTIONS(11318),
    [anon_sym_PERCENT] = ACTIONS(11318),
    [sym_comment] = ACTIONS(256),
  },
  [5276] = {
    [anon_sym_RBRACK] = ACTIONS(11544),
    [sym_comment] = ACTIONS(110),
  },
  [5277] = {
    [sym__simple_string] = ACTIONS(5370),
    [sym__simple_symbol] = ACTIONS(5370),
    [sym__simple_subshell] = ACTIONS(5370),
    [sym__simple_regex] = ACTIONS(5370),
    [sym__simple_word_list] = ACTIONS(5370),
    [sym__string_beginning] = ACTIONS(5370),
    [sym__symbol_beginning] = ACTIONS(5370),
    [sym__subshell_beginning] = ACTIONS(5370),
    [sym__regex_beginning] = ACTIONS(5370),
    [sym__word_list_beginning] = ACTIONS(5370),
    [sym__string_middle] = ACTIONS(5370),
    [sym__string_end] = ACTIONS(5370),
    [sym_heredoc_beginning] = ACTIONS(5370),
    [sym__element_reference_left_bracket] = ACTIONS(5370),
    [sym__block_ampersand] = ACTIONS(5370),
    [sym__splat_star] = ACTIONS(5370),
    [sym__argument_list_left_paren] = ACTIONS(5370),
    [sym__scope_double_colon] = ACTIONS(5370),
    [sym__unary_minus] = ACTIONS(5370),
    [sym__binary_minus] = ACTIONS(5370),
    [sym__binary_star] = ACTIONS(5370),
    [anon_sym_LBRACE] = ACTIONS(5370),
    [anon_sym_def] = ACTIONS(5372),
    [anon_sym_LPAREN] = ACTIONS(5370),
    [anon_sym_DOT] = ACTIONS(5372),
    [anon_sym_COLON_COLON] = ACTIONS(5370),
    [anon_sym_end] = ACTIONS(5372),
    [anon_sym_COMMA] = ACTIONS(5370),
    [anon_sym_PIPE] = ACTIONS(5372),
    [anon_sym_STAR] = ACTIONS(5372),
    [anon_sym_STAR_STAR] = ACTIONS(5372),
    [anon_sym_AMP] = ACTIONS(5372),
    [anon_sym_EQ] = ACTIONS(5372),
    [anon_sym_class] = ACTIONS(5372),
    [anon_sym_LT] = ACTIONS(5372),
    [anon_sym_module] = ACTIONS(5372),
    [anon_sym_return] = ACTIONS(5372),
    [anon_sym_yield] = ACTIONS(5372),
    [anon_sym_break] = ACTIONS(5372),
    [anon_sym_next] = ACTIONS(5372),
    [anon_sym_redo] = ACTIONS(5372),
    [anon_sym_retry] = ACTIONS(5372),
    [anon_sym_if] = ACTIONS(5372),
    [anon_sym_unless] = ACTIONS(5372),
    [anon_sym_while] = ACTIONS(5372),
    [anon_sym_until] = ACTIONS(5372),
    [anon_sym_rescue] = ACTIONS(5372),
    [anon_sym_for] = ACTIONS(5372),
    [anon_sym_in] = ACTIONS(5372),
    [anon_sym_do] = ACTIONS(5372),
    [anon_sym_case] = ACTIONS(5372),
    [anon_sym_when] = ACTIONS(5372),
    [anon_sym_elsif] = ACTIONS(5372),
    [anon_sym_else] = ACTIONS(5372),
    [anon_sym_then] = ACTIONS(5372),
    [anon_sym_begin] = ACTIONS(5372),
    [anon_sym_ensure] = ACTIONS(5372),
    [anon_sym_AMP_DOT] = ACTIONS(5370),
    [anon_sym_PLUS_EQ] = ACTIONS(5370),
    [anon_sym_DASH_EQ] = ACTIONS(5370),
    [anon_sym_STAR_EQ] = ACTIONS(5370),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5370),
    [anon_sym_SLASH_EQ] = ACTIONS(5370),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5370),
    [anon_sym_PIPE_EQ] = ACTIONS(5370),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5370),
    [anon_sym_AMP_EQ] = ACTIONS(5370),
    [anon_sym_PERCENT_EQ] = ACTIONS(5370),
    [anon_sym_GT_GT_EQ] = ACTIONS(5370),
    [anon_sym_LT_LT_EQ] = ACTIONS(5370),
    [anon_sym_CARET_EQ] = ACTIONS(5370),
    [anon_sym_QMARK] = ACTIONS(5372),
    [anon_sym_DOT_DOT] = ACTIONS(5372),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5370),
    [anon_sym_and] = ACTIONS(5372),
    [anon_sym_or] = ACTIONS(5372),
    [anon_sym_PIPE_PIPE] = ACTIONS(5372),
    [anon_sym_AMP_AMP] = ACTIONS(5372),
    [anon_sym_LT_LT] = ACTIONS(5372),
    [anon_sym_GT_GT] = ACTIONS(5372),
    [anon_sym_EQ_EQ] = ACTIONS(5372),
    [anon_sym_BANG_EQ] = ACTIONS(5370),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5370),
    [anon_sym_LT_EQ_GT] = ACTIONS(5370),
    [anon_sym_EQ_TILDE] = ACTIONS(5370),
    [anon_sym_BANG_TILDE] = ACTIONS(5370),
    [anon_sym_LT_EQ] = ACTIONS(5372),
    [anon_sym_GT] = ACTIONS(5372),
    [anon_sym_GT_EQ] = ACTIONS(5370),
    [anon_sym_CARET] = ACTIONS(5372),
    [anon_sym_PLUS] = ACTIONS(5372),
    [anon_sym_SLASH] = ACTIONS(5372),
    [anon_sym_PERCENT] = ACTIONS(5372),
    [anon_sym_defined_QMARK] = ACTIONS(5370),
    [anon_sym_not] = ACTIONS(5372),
    [anon_sym_BANG] = ACTIONS(5372),
    [anon_sym_TILDE] = ACTIONS(5370),
    [sym_constant] = ACTIONS(11322),
    [sym_identifier] = ACTIONS(11322),
    [sym_instance_variable] = ACTIONS(5372),
    [sym_class_variable] = ACTIONS(5372),
    [sym_global_variable] = ACTIONS(5372),
    [anon_sym_alias] = ACTIONS(5372),
    [anon_sym_defined] = ACTIONS(5372),
    [anon_sym_false] = ACTIONS(5372),
    [anon_sym_nil] = ACTIONS(5372),
    [anon_sym_self] = ACTIONS(5372),
    [anon_sym_super] = ACTIONS(5372),
    [anon_sym_true] = ACTIONS(5372),
    [anon_sym_undef] = ACTIONS(5372),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(5372),
    [sym_float] = ACTIONS(11322),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5370),
    [anon_sym_TRUE] = ACTIONS(5372),
    [anon_sym_FALSE] = ACTIONS(5372),
    [anon_sym_NIL] = ACTIONS(5372),
    [sym_keyword__FILE__] = ACTIONS(5372),
    [sym_keyword__LINE__] = ACTIONS(5372),
    [sym_keyword__ENCODING__] = ACTIONS(5372),
    [sym__character_literal] = ACTIONS(5372),
    [anon_sym_LBRACK] = ACTIONS(5370),
    [anon_sym_DASH_GT] = ACTIONS(5370),
  },
  [5278] = {
    [sym_heredoc_end] = STATE(8630),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RPAREN] = ACTIONS(11546),
    [sym_comment] = ACTIONS(110),
  },
  [5279] = {
    [anon_sym_RPAREN] = ACTIONS(11546),
    [sym_comment] = ACTIONS(110),
  },
  [5280] = {
    [sym__simple_string] = ACTIONS(3612),
    [sym__simple_heredoc_body] = ACTIONS(3612),
    [sym__string_beginning] = ACTIONS(3612),
    [sym__heredoc_body_beginning] = ACTIONS(3612),
    [sym__string_middle] = ACTIONS(3612),
    [sym__string_end] = ACTIONS(3612),
    [sym__element_reference_left_bracket] = ACTIONS(3612),
    [sym__scope_double_colon] = ACTIONS(3612),
    [sym__keyword_colon] = ACTIONS(3612),
    [sym__binary_minus] = ACTIONS(3612),
    [sym__binary_star] = ACTIONS(3612),
    [anon_sym_LBRACE] = ACTIONS(3612),
    [anon_sym_DOT] = ACTIONS(3614),
    [anon_sym_COMMA] = ACTIONS(3612),
    [anon_sym_PIPE] = ACTIONS(3614),
    [anon_sym_STAR_STAR] = ACTIONS(3614),
    [anon_sym_AMP] = ACTIONS(3614),
    [anon_sym_EQ] = ACTIONS(3614),
    [anon_sym_LT] = ACTIONS(3614),
    [anon_sym_if] = ACTIONS(3612),
    [anon_sym_unless] = ACTIONS(3612),
    [anon_sym_while] = ACTIONS(3612),
    [anon_sym_until] = ACTIONS(3612),
    [anon_sym_rescue] = ACTIONS(3612),
    [anon_sym_do] = ACTIONS(3612),
    [anon_sym_EQ_GT] = ACTIONS(3612),
    [anon_sym_AMP_DOT] = ACTIONS(3612),
    [anon_sym_PLUS_EQ] = ACTIONS(3612),
    [anon_sym_DASH_EQ] = ACTIONS(3612),
    [anon_sym_STAR_EQ] = ACTIONS(3612),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3612),
    [anon_sym_SLASH_EQ] = ACTIONS(3612),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3612),
    [anon_sym_PIPE_EQ] = ACTIONS(3612),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3612),
    [anon_sym_AMP_EQ] = ACTIONS(3612),
    [anon_sym_PERCENT_EQ] = ACTIONS(3612),
    [anon_sym_GT_GT_EQ] = ACTIONS(3612),
    [anon_sym_LT_LT_EQ] = ACTIONS(3612),
    [anon_sym_CARET_EQ] = ACTIONS(3612),
    [anon_sym_QMARK] = ACTIONS(3614),
    [anon_sym_DOT_DOT] = ACTIONS(3614),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3612),
    [anon_sym_and] = ACTIONS(3612),
    [anon_sym_or] = ACTIONS(3612),
    [anon_sym_PIPE_PIPE] = ACTIONS(3614),
    [anon_sym_AMP_AMP] = ACTIONS(3614),
    [anon_sym_LT_LT] = ACTIONS(3614),
    [anon_sym_GT_GT] = ACTIONS(3614),
    [anon_sym_EQ_EQ] = ACTIONS(3614),
    [anon_sym_BANG_EQ] = ACTIONS(3612),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3612),
    [anon_sym_LT_EQ_GT] = ACTIONS(3612),
    [anon_sym_EQ_TILDE] = ACTIONS(3612),
    [anon_sym_BANG_TILDE] = ACTIONS(3612),
    [anon_sym_LT_EQ] = ACTIONS(3614),
    [anon_sym_GT] = ACTIONS(3614),
    [anon_sym_GT_EQ] = ACTIONS(3612),
    [anon_sym_CARET] = ACTIONS(3614),
    [anon_sym_PLUS] = ACTIONS(3614),
    [anon_sym_SLASH] = ACTIONS(3614),
    [anon_sym_PERCENT] = ACTIONS(3614),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(3614),
  },
  [5281] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(11548),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [5282] = {
    [sym__simple_heredoc_body] = ACTIONS(3844),
    [sym__heredoc_body_beginning] = ACTIONS(3844),
    [sym__string_middle] = ACTIONS(3844),
    [sym__string_end] = ACTIONS(3844),
    [sym__element_reference_left_bracket] = ACTIONS(3844),
    [sym__scope_double_colon] = ACTIONS(3844),
    [sym__binary_minus] = ACTIONS(3844),
    [sym__binary_star] = ACTIONS(3844),
    [anon_sym_LBRACE] = ACTIONS(3844),
    [anon_sym_DOT] = ACTIONS(3846),
    [anon_sym_COMMA] = ACTIONS(3844),
    [anon_sym_PIPE] = ACTIONS(3846),
    [anon_sym_STAR_STAR] = ACTIONS(3846),
    [anon_sym_AMP] = ACTIONS(3846),
    [anon_sym_EQ] = ACTIONS(3846),
    [anon_sym_LT] = ACTIONS(3846),
    [anon_sym_if] = ACTIONS(3844),
    [anon_sym_unless] = ACTIONS(3844),
    [anon_sym_while] = ACTIONS(3844),
    [anon_sym_until] = ACTIONS(3844),
    [anon_sym_rescue] = ACTIONS(3844),
    [anon_sym_do] = ACTIONS(3844),
    [anon_sym_EQ_GT] = ACTIONS(3844),
    [anon_sym_AMP_DOT] = ACTIONS(3844),
    [anon_sym_PLUS_EQ] = ACTIONS(3844),
    [anon_sym_DASH_EQ] = ACTIONS(3844),
    [anon_sym_STAR_EQ] = ACTIONS(3844),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3844),
    [anon_sym_SLASH_EQ] = ACTIONS(3844),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3844),
    [anon_sym_PIPE_EQ] = ACTIONS(3844),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3844),
    [anon_sym_AMP_EQ] = ACTIONS(3844),
    [anon_sym_PERCENT_EQ] = ACTIONS(3844),
    [anon_sym_GT_GT_EQ] = ACTIONS(3844),
    [anon_sym_LT_LT_EQ] = ACTIONS(3844),
    [anon_sym_CARET_EQ] = ACTIONS(3844),
    [anon_sym_QMARK] = ACTIONS(3844),
    [anon_sym_DOT_DOT] = ACTIONS(3846),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3844),
    [anon_sym_and] = ACTIONS(3844),
    [anon_sym_or] = ACTIONS(3844),
    [anon_sym_PIPE_PIPE] = ACTIONS(3846),
    [anon_sym_AMP_AMP] = ACTIONS(3846),
    [anon_sym_LT_LT] = ACTIONS(3846),
    [anon_sym_GT_GT] = ACTIONS(3846),
    [anon_sym_EQ_EQ] = ACTIONS(3846),
    [anon_sym_BANG_EQ] = ACTIONS(3844),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3844),
    [anon_sym_LT_EQ_GT] = ACTIONS(3844),
    [anon_sym_EQ_TILDE] = ACTIONS(3844),
    [anon_sym_BANG_TILDE] = ACTIONS(3844),
    [anon_sym_LT_EQ] = ACTIONS(3846),
    [anon_sym_GT] = ACTIONS(3846),
    [anon_sym_GT_EQ] = ACTIONS(3844),
    [anon_sym_CARET] = ACTIONS(3846),
    [anon_sym_PLUS] = ACTIONS(3846),
    [anon_sym_SLASH] = ACTIONS(3846),
    [anon_sym_PERCENT] = ACTIONS(3846),
    [sym_comment] = ACTIONS(256),
  },
  [5283] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(11550),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [5284] = {
    [sym__simple_heredoc_body] = ACTIONS(3850),
    [sym__heredoc_body_beginning] = ACTIONS(3850),
    [sym__string_middle] = ACTIONS(3850),
    [sym__string_end] = ACTIONS(3850),
    [sym__element_reference_left_bracket] = ACTIONS(3850),
    [sym__scope_double_colon] = ACTIONS(3850),
    [sym__binary_minus] = ACTIONS(3850),
    [sym__binary_star] = ACTIONS(3850),
    [anon_sym_LBRACE] = ACTIONS(3850),
    [anon_sym_DOT] = ACTIONS(3852),
    [anon_sym_COMMA] = ACTIONS(3850),
    [anon_sym_PIPE] = ACTIONS(3852),
    [anon_sym_STAR_STAR] = ACTIONS(3852),
    [anon_sym_AMP] = ACTIONS(3852),
    [anon_sym_EQ] = ACTIONS(3852),
    [anon_sym_LT] = ACTIONS(3852),
    [anon_sym_if] = ACTIONS(3850),
    [anon_sym_unless] = ACTIONS(3850),
    [anon_sym_while] = ACTIONS(3850),
    [anon_sym_until] = ACTIONS(3850),
    [anon_sym_rescue] = ACTIONS(3850),
    [anon_sym_do] = ACTIONS(3850),
    [anon_sym_EQ_GT] = ACTIONS(3850),
    [anon_sym_AMP_DOT] = ACTIONS(3850),
    [anon_sym_PLUS_EQ] = ACTIONS(3850),
    [anon_sym_DASH_EQ] = ACTIONS(3850),
    [anon_sym_STAR_EQ] = ACTIONS(3850),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3850),
    [anon_sym_SLASH_EQ] = ACTIONS(3850),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3850),
    [anon_sym_PIPE_EQ] = ACTIONS(3850),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3850),
    [anon_sym_AMP_EQ] = ACTIONS(3850),
    [anon_sym_PERCENT_EQ] = ACTIONS(3850),
    [anon_sym_GT_GT_EQ] = ACTIONS(3850),
    [anon_sym_LT_LT_EQ] = ACTIONS(3850),
    [anon_sym_CARET_EQ] = ACTIONS(3850),
    [anon_sym_QMARK] = ACTIONS(3850),
    [anon_sym_DOT_DOT] = ACTIONS(3852),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3850),
    [anon_sym_and] = ACTIONS(3850),
    [anon_sym_or] = ACTIONS(3850),
    [anon_sym_PIPE_PIPE] = ACTIONS(3852),
    [anon_sym_AMP_AMP] = ACTIONS(3852),
    [anon_sym_LT_LT] = ACTIONS(3852),
    [anon_sym_GT_GT] = ACTIONS(3852),
    [anon_sym_EQ_EQ] = ACTIONS(3852),
    [anon_sym_BANG_EQ] = ACTIONS(3850),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3850),
    [anon_sym_LT_EQ_GT] = ACTIONS(3850),
    [anon_sym_EQ_TILDE] = ACTIONS(3850),
    [anon_sym_BANG_TILDE] = ACTIONS(3850),
    [anon_sym_LT_EQ] = ACTIONS(3852),
    [anon_sym_GT] = ACTIONS(3852),
    [anon_sym_GT_EQ] = ACTIONS(3850),
    [anon_sym_CARET] = ACTIONS(3852),
    [anon_sym_PLUS] = ACTIONS(3852),
    [anon_sym_SLASH] = ACTIONS(3852),
    [anon_sym_PERCENT] = ACTIONS(3852),
    [sym_comment] = ACTIONS(256),
  },
  [5285] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(11552),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [5286] = {
    [sym__simple_heredoc_body] = ACTIONS(3856),
    [sym__heredoc_body_beginning] = ACTIONS(3856),
    [sym__string_middle] = ACTIONS(3856),
    [sym__string_end] = ACTIONS(3856),
    [sym__element_reference_left_bracket] = ACTIONS(3856),
    [sym__scope_double_colon] = ACTIONS(3856),
    [sym__binary_minus] = ACTIONS(3856),
    [sym__binary_star] = ACTIONS(3856),
    [anon_sym_LBRACE] = ACTIONS(3856),
    [anon_sym_DOT] = ACTIONS(3858),
    [anon_sym_COMMA] = ACTIONS(3856),
    [anon_sym_PIPE] = ACTIONS(3858),
    [anon_sym_STAR_STAR] = ACTIONS(3858),
    [anon_sym_AMP] = ACTIONS(3858),
    [anon_sym_EQ] = ACTIONS(3858),
    [anon_sym_LT] = ACTIONS(3858),
    [anon_sym_if] = ACTIONS(3856),
    [anon_sym_unless] = ACTIONS(3856),
    [anon_sym_while] = ACTIONS(3856),
    [anon_sym_until] = ACTIONS(3856),
    [anon_sym_rescue] = ACTIONS(3856),
    [anon_sym_do] = ACTIONS(3856),
    [anon_sym_EQ_GT] = ACTIONS(3856),
    [anon_sym_AMP_DOT] = ACTIONS(3856),
    [anon_sym_PLUS_EQ] = ACTIONS(3856),
    [anon_sym_DASH_EQ] = ACTIONS(3856),
    [anon_sym_STAR_EQ] = ACTIONS(3856),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3856),
    [anon_sym_SLASH_EQ] = ACTIONS(3856),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3856),
    [anon_sym_PIPE_EQ] = ACTIONS(3856),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3856),
    [anon_sym_AMP_EQ] = ACTIONS(3856),
    [anon_sym_PERCENT_EQ] = ACTIONS(3856),
    [anon_sym_GT_GT_EQ] = ACTIONS(3856),
    [anon_sym_LT_LT_EQ] = ACTIONS(3856),
    [anon_sym_CARET_EQ] = ACTIONS(3856),
    [anon_sym_QMARK] = ACTIONS(3856),
    [anon_sym_DOT_DOT] = ACTIONS(3858),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3856),
    [anon_sym_and] = ACTIONS(3856),
    [anon_sym_or] = ACTIONS(3856),
    [anon_sym_PIPE_PIPE] = ACTIONS(3858),
    [anon_sym_AMP_AMP] = ACTIONS(3858),
    [anon_sym_LT_LT] = ACTIONS(3858),
    [anon_sym_GT_GT] = ACTIONS(3858),
    [anon_sym_EQ_EQ] = ACTIONS(3858),
    [anon_sym_BANG_EQ] = ACTIONS(3856),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3856),
    [anon_sym_LT_EQ_GT] = ACTIONS(3856),
    [anon_sym_EQ_TILDE] = ACTIONS(3856),
    [anon_sym_BANG_TILDE] = ACTIONS(3856),
    [anon_sym_LT_EQ] = ACTIONS(3858),
    [anon_sym_GT] = ACTIONS(3858),
    [anon_sym_GT_EQ] = ACTIONS(3856),
    [anon_sym_CARET] = ACTIONS(3858),
    [anon_sym_PLUS] = ACTIONS(3858),
    [anon_sym_SLASH] = ACTIONS(3858),
    [anon_sym_PERCENT] = ACTIONS(3858),
    [sym_comment] = ACTIONS(256),
  },
  [5287] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(11554),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [5288] = {
    [sym__simple_heredoc_body] = ACTIONS(3862),
    [sym__heredoc_body_beginning] = ACTIONS(3862),
    [sym__string_middle] = ACTIONS(3862),
    [sym__string_end] = ACTIONS(3862),
    [sym__element_reference_left_bracket] = ACTIONS(3862),
    [sym__scope_double_colon] = ACTIONS(3862),
    [sym__binary_minus] = ACTIONS(3862),
    [sym__binary_star] = ACTIONS(3862),
    [anon_sym_LBRACE] = ACTIONS(3862),
    [anon_sym_DOT] = ACTIONS(3864),
    [anon_sym_COMMA] = ACTIONS(3862),
    [anon_sym_PIPE] = ACTIONS(3864),
    [anon_sym_STAR_STAR] = ACTIONS(3864),
    [anon_sym_AMP] = ACTIONS(3864),
    [anon_sym_EQ] = ACTIONS(3864),
    [anon_sym_LT] = ACTIONS(3864),
    [anon_sym_if] = ACTIONS(3862),
    [anon_sym_unless] = ACTIONS(3862),
    [anon_sym_while] = ACTIONS(3862),
    [anon_sym_until] = ACTIONS(3862),
    [anon_sym_rescue] = ACTIONS(3862),
    [anon_sym_do] = ACTIONS(3862),
    [anon_sym_EQ_GT] = ACTIONS(3862),
    [anon_sym_AMP_DOT] = ACTIONS(3862),
    [anon_sym_PLUS_EQ] = ACTIONS(3862),
    [anon_sym_DASH_EQ] = ACTIONS(3862),
    [anon_sym_STAR_EQ] = ACTIONS(3862),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3862),
    [anon_sym_SLASH_EQ] = ACTIONS(3862),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3862),
    [anon_sym_PIPE_EQ] = ACTIONS(3862),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3862),
    [anon_sym_AMP_EQ] = ACTIONS(3862),
    [anon_sym_PERCENT_EQ] = ACTIONS(3862),
    [anon_sym_GT_GT_EQ] = ACTIONS(3862),
    [anon_sym_LT_LT_EQ] = ACTIONS(3862),
    [anon_sym_CARET_EQ] = ACTIONS(3862),
    [anon_sym_QMARK] = ACTIONS(3862),
    [anon_sym_DOT_DOT] = ACTIONS(3864),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3862),
    [anon_sym_and] = ACTIONS(3862),
    [anon_sym_or] = ACTIONS(3862),
    [anon_sym_PIPE_PIPE] = ACTIONS(3864),
    [anon_sym_AMP_AMP] = ACTIONS(3864),
    [anon_sym_LT_LT] = ACTIONS(3864),
    [anon_sym_GT_GT] = ACTIONS(3864),
    [anon_sym_EQ_EQ] = ACTIONS(3864),
    [anon_sym_BANG_EQ] = ACTIONS(3862),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3862),
    [anon_sym_LT_EQ_GT] = ACTIONS(3862),
    [anon_sym_EQ_TILDE] = ACTIONS(3862),
    [anon_sym_BANG_TILDE] = ACTIONS(3862),
    [anon_sym_LT_EQ] = ACTIONS(3864),
    [anon_sym_GT] = ACTIONS(3864),
    [anon_sym_GT_EQ] = ACTIONS(3862),
    [anon_sym_CARET] = ACTIONS(3864),
    [anon_sym_PLUS] = ACTIONS(3864),
    [anon_sym_SLASH] = ACTIONS(3864),
    [anon_sym_PERCENT] = ACTIONS(3864),
    [sym_comment] = ACTIONS(256),
  },
  [5289] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(11556),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [5290] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(11558),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [5291] = {
    [sym__statement] = STATE(8637),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [5292] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(11560),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [5293] = {
    [sym__statement] = STATE(8639),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [5294] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(11562),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [5295] = {
    [sym__statement] = STATE(8641),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [5296] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(11564),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [5297] = {
    [sym__statement] = STATE(8643),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [5298] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(11566),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [5299] = {
    [sym__statement] = STATE(8645),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [5300] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__string_middle] = ACTIONS(1372),
    [sym__string_end] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_LBRACE] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_STAR_STAR] = ACTIONS(7566),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_EQ] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_if] = ACTIONS(1372),
    [anon_sym_unless] = ACTIONS(1372),
    [anon_sym_while] = ACTIONS(1372),
    [anon_sym_until] = ACTIONS(1372),
    [anon_sym_rescue] = ACTIONS(1372),
    [anon_sym_do] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_PLUS_EQ] = ACTIONS(1372),
    [anon_sym_DASH_EQ] = ACTIONS(1372),
    [anon_sym_STAR_EQ] = ACTIONS(1372),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1372),
    [anon_sym_SLASH_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1372),
    [anon_sym_AMP_EQ] = ACTIONS(1372),
    [anon_sym_PERCENT_EQ] = ACTIONS(1372),
    [anon_sym_GT_GT_EQ] = ACTIONS(1372),
    [anon_sym_LT_LT_EQ] = ACTIONS(1372),
    [anon_sym_CARET_EQ] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1374),
    [anon_sym_AMP_AMP] = ACTIONS(1374),
    [anon_sym_LT_LT] = ACTIONS(1374),
    [anon_sym_GT_GT] = ACTIONS(1374),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1374),
    [anon_sym_PLUS] = ACTIONS(1374),
    [anon_sym_SLASH] = ACTIONS(1374),
    [anon_sym_PERCENT] = ACTIONS(1374),
    [sym_comment] = ACTIONS(256),
  },
  [5301] = {
    [sym__simple_heredoc_body] = ACTIONS(1552),
    [sym__heredoc_body_beginning] = ACTIONS(1552),
    [sym__string_middle] = ACTIONS(1552),
    [sym__string_end] = ACTIONS(1552),
    [sym__element_reference_left_bracket] = ACTIONS(1552),
    [sym__scope_double_colon] = ACTIONS(1552),
    [sym__binary_minus] = ACTIONS(1552),
    [sym__binary_star] = ACTIONS(1552),
    [anon_sym_LBRACE] = ACTIONS(1552),
    [anon_sym_DOT] = ACTIONS(1554),
    [anon_sym_COMMA] = ACTIONS(1552),
    [anon_sym_PIPE] = ACTIONS(1554),
    [anon_sym_STAR_STAR] = ACTIONS(1554),
    [anon_sym_AMP] = ACTIONS(1554),
    [anon_sym_EQ] = ACTIONS(1554),
    [anon_sym_LT] = ACTIONS(1554),
    [anon_sym_if] = ACTIONS(1552),
    [anon_sym_unless] = ACTIONS(1552),
    [anon_sym_while] = ACTIONS(1552),
    [anon_sym_until] = ACTIONS(1552),
    [anon_sym_rescue] = ACTIONS(1552),
    [anon_sym_do] = ACTIONS(1552),
    [anon_sym_AMP_DOT] = ACTIONS(1552),
    [anon_sym_PLUS_EQ] = ACTIONS(1552),
    [anon_sym_DASH_EQ] = ACTIONS(1552),
    [anon_sym_STAR_EQ] = ACTIONS(1552),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1552),
    [anon_sym_SLASH_EQ] = ACTIONS(1552),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1552),
    [anon_sym_PIPE_EQ] = ACTIONS(1552),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1552),
    [anon_sym_AMP_EQ] = ACTIONS(1552),
    [anon_sym_PERCENT_EQ] = ACTIONS(1552),
    [anon_sym_GT_GT_EQ] = ACTIONS(1552),
    [anon_sym_LT_LT_EQ] = ACTIONS(1552),
    [anon_sym_CARET_EQ] = ACTIONS(1552),
    [anon_sym_QMARK] = ACTIONS(1552),
    [anon_sym_DOT_DOT] = ACTIONS(1554),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1552),
    [anon_sym_and] = ACTIONS(1552),
    [anon_sym_or] = ACTIONS(1552),
    [anon_sym_PIPE_PIPE] = ACTIONS(1554),
    [anon_sym_AMP_AMP] = ACTIONS(1554),
    [anon_sym_LT_LT] = ACTIONS(1554),
    [anon_sym_GT_GT] = ACTIONS(1554),
    [anon_sym_EQ_EQ] = ACTIONS(1554),
    [anon_sym_BANG_EQ] = ACTIONS(1552),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1552),
    [anon_sym_LT_EQ_GT] = ACTIONS(1552),
    [anon_sym_EQ_TILDE] = ACTIONS(1552),
    [anon_sym_BANG_TILDE] = ACTIONS(1552),
    [anon_sym_LT_EQ] = ACTIONS(1554),
    [anon_sym_GT] = ACTIONS(1554),
    [anon_sym_GT_EQ] = ACTIONS(1552),
    [anon_sym_CARET] = ACTIONS(1554),
    [anon_sym_PLUS] = ACTIONS(1554),
    [anon_sym_SLASH] = ACTIONS(1554),
    [anon_sym_PERCENT] = ACTIONS(1554),
    [sym_comment] = ACTIONS(256),
  },
  [5302] = {
    [anon_sym_RBRACE] = ACTIONS(11568),
    [sym_comment] = ACTIONS(110),
  },
  [5303] = {
    [sym_heredoc_end] = STATE(8647),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RBRACE] = ACTIONS(11568),
    [sym_comment] = ACTIONS(110),
  },
  [5304] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(8648),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(1139),
    [sym_call] = STATE(1139),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(1140),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1141),
    [sym__variable] = STATE(1139),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(1822),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_yield] = ACTIONS(1828),
    [anon_sym_break] = ACTIONS(1830),
    [anon_sym_next] = ACTIONS(1832),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(1834),
    [anon_sym_defined_QMARK] = ACTIONS(1836),
    [anon_sym_not] = ACTIONS(1838),
    [anon_sym_BANG] = ACTIONS(1840),
    [anon_sym_TILDE] = ACTIONS(1840),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [5305] = {
    [sym__simple_heredoc_body] = ACTIONS(1866),
    [sym__heredoc_body_beginning] = ACTIONS(1866),
    [sym__string_middle] = ACTIONS(1866),
    [sym__string_end] = ACTIONS(1866),
    [sym__element_reference_left_bracket] = ACTIONS(1866),
    [sym__scope_double_colon] = ACTIONS(1866),
    [sym__binary_minus] = ACTIONS(1866),
    [sym__binary_star] = ACTIONS(1866),
    [anon_sym_LBRACE] = ACTIONS(1866),
    [anon_sym_DOT] = ACTIONS(1868),
    [anon_sym_COMMA] = ACTIONS(1866),
    [anon_sym_PIPE] = ACTIONS(1868),
    [anon_sym_STAR_STAR] = ACTIONS(1868),
    [anon_sym_AMP] = ACTIONS(1868),
    [anon_sym_EQ] = ACTIONS(1868),
    [anon_sym_LT] = ACTIONS(1868),
    [anon_sym_if] = ACTIONS(1866),
    [anon_sym_unless] = ACTIONS(1866),
    [anon_sym_while] = ACTIONS(1866),
    [anon_sym_until] = ACTIONS(1866),
    [anon_sym_rescue] = ACTIONS(1866),
    [anon_sym_do] = ACTIONS(1866),
    [anon_sym_AMP_DOT] = ACTIONS(1866),
    [anon_sym_PLUS_EQ] = ACTIONS(1866),
    [anon_sym_DASH_EQ] = ACTIONS(1866),
    [anon_sym_STAR_EQ] = ACTIONS(1866),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1866),
    [anon_sym_SLASH_EQ] = ACTIONS(1866),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1866),
    [anon_sym_PIPE_EQ] = ACTIONS(1866),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1866),
    [anon_sym_AMP_EQ] = ACTIONS(1866),
    [anon_sym_PERCENT_EQ] = ACTIONS(1866),
    [anon_sym_GT_GT_EQ] = ACTIONS(1866),
    [anon_sym_LT_LT_EQ] = ACTIONS(1866),
    [anon_sym_CARET_EQ] = ACTIONS(1866),
    [anon_sym_QMARK] = ACTIONS(1866),
    [anon_sym_DOT_DOT] = ACTIONS(1868),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1866),
    [anon_sym_and] = ACTIONS(1866),
    [anon_sym_or] = ACTIONS(1866),
    [anon_sym_PIPE_PIPE] = ACTIONS(1868),
    [anon_sym_AMP_AMP] = ACTIONS(1868),
    [anon_sym_LT_LT] = ACTIONS(1868),
    [anon_sym_GT_GT] = ACTIONS(1868),
    [anon_sym_EQ_EQ] = ACTIONS(1868),
    [anon_sym_BANG_EQ] = ACTIONS(1866),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1866),
    [anon_sym_LT_EQ_GT] = ACTIONS(1866),
    [anon_sym_EQ_TILDE] = ACTIONS(1866),
    [anon_sym_BANG_TILDE] = ACTIONS(1866),
    [anon_sym_LT_EQ] = ACTIONS(1868),
    [anon_sym_GT] = ACTIONS(1868),
    [anon_sym_GT_EQ] = ACTIONS(1866),
    [anon_sym_CARET] = ACTIONS(1868),
    [anon_sym_PLUS] = ACTIONS(1868),
    [anon_sym_SLASH] = ACTIONS(1868),
    [anon_sym_PERCENT] = ACTIONS(1868),
    [sym_comment] = ACTIONS(256),
  },
  [5306] = {
    [anon_sym_DOT] = ACTIONS(11570),
    [anon_sym_COLON_COLON] = ACTIONS(11570),
    [sym_comment] = ACTIONS(110),
  },
  [5307] = {
    [sym_method_parameters] = STATE(8650),
    [sym__simple_formal_parameter] = STATE(1150),
    [sym_splat_parameter] = STATE(1151),
    [sym_hash_splat_parameter] = STATE(1151),
    [sym_block_parameter] = STATE(1151),
    [sym_keyword_parameter] = STATE(1151),
    [sym_optional_parameter] = STATE(1151),
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(8650),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym__line_break] = ACTIONS(692),
    [anon_sym_LPAREN] = ACTIONS(1872),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(1874),
    [anon_sym_STAR_STAR] = ACTIONS(1876),
    [anon_sym_AMP] = ACTIONS(1878),
    [sym_identifier] = ACTIONS(1880),
    [sym_comment] = ACTIONS(110),
  },
  [5308] = {
    [sym__simple_heredoc_body] = ACTIONS(1882),
    [sym__heredoc_body_beginning] = ACTIONS(1882),
    [sym__string_middle] = ACTIONS(1882),
    [sym__string_end] = ACTIONS(1882),
    [sym__element_reference_left_bracket] = ACTIONS(1882),
    [sym__scope_double_colon] = ACTIONS(1882),
    [sym__binary_minus] = ACTIONS(1882),
    [sym__binary_star] = ACTIONS(1882),
    [anon_sym_LBRACE] = ACTIONS(1882),
    [anon_sym_DOT] = ACTIONS(1884),
    [anon_sym_COMMA] = ACTIONS(1882),
    [anon_sym_PIPE] = ACTIONS(1884),
    [anon_sym_STAR_STAR] = ACTIONS(1884),
    [anon_sym_AMP] = ACTIONS(1884),
    [anon_sym_EQ] = ACTIONS(1884),
    [anon_sym_LT] = ACTIONS(1884),
    [anon_sym_if] = ACTIONS(1882),
    [anon_sym_unless] = ACTIONS(1882),
    [anon_sym_while] = ACTIONS(1882),
    [anon_sym_until] = ACTIONS(1882),
    [anon_sym_rescue] = ACTIONS(1882),
    [anon_sym_do] = ACTIONS(1882),
    [anon_sym_AMP_DOT] = ACTIONS(1882),
    [anon_sym_PLUS_EQ] = ACTIONS(1882),
    [anon_sym_DASH_EQ] = ACTIONS(1882),
    [anon_sym_STAR_EQ] = ACTIONS(1882),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1882),
    [anon_sym_SLASH_EQ] = ACTIONS(1882),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1882),
    [anon_sym_PIPE_EQ] = ACTIONS(1882),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1882),
    [anon_sym_AMP_EQ] = ACTIONS(1882),
    [anon_sym_PERCENT_EQ] = ACTIONS(1882),
    [anon_sym_GT_GT_EQ] = ACTIONS(1882),
    [anon_sym_LT_LT_EQ] = ACTIONS(1882),
    [anon_sym_CARET_EQ] = ACTIONS(1882),
    [anon_sym_QMARK] = ACTIONS(1882),
    [anon_sym_DOT_DOT] = ACTIONS(1884),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1882),
    [anon_sym_and] = ACTIONS(1882),
    [anon_sym_or] = ACTIONS(1882),
    [anon_sym_PIPE_PIPE] = ACTIONS(1884),
    [anon_sym_AMP_AMP] = ACTIONS(1884),
    [anon_sym_LT_LT] = ACTIONS(1884),
    [anon_sym_GT_GT] = ACTIONS(1884),
    [anon_sym_EQ_EQ] = ACTIONS(1884),
    [anon_sym_BANG_EQ] = ACTIONS(1882),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1882),
    [anon_sym_LT_EQ_GT] = ACTIONS(1882),
    [anon_sym_EQ_TILDE] = ACTIONS(1882),
    [anon_sym_BANG_TILDE] = ACTIONS(1882),
    [anon_sym_LT_EQ] = ACTIONS(1884),
    [anon_sym_GT] = ACTIONS(1884),
    [anon_sym_GT_EQ] = ACTIONS(1882),
    [anon_sym_CARET] = ACTIONS(1884),
    [anon_sym_PLUS] = ACTIONS(1884),
    [anon_sym_SLASH] = ACTIONS(1884),
    [anon_sym_PERCENT] = ACTIONS(1884),
    [sym_comment] = ACTIONS(256),
  },
  [5309] = {
    [anon_sym_RPAREN] = ACTIONS(11572),
    [sym_comment] = ACTIONS(110),
  },
  [5310] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8652),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1329),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1330),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2090),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2100),
    [anon_sym_defined_QMARK] = ACTIONS(2102),
    [anon_sym_not] = ACTIONS(2104),
    [anon_sym_BANG] = ACTIONS(2106),
    [anon_sym_TILDE] = ACTIONS(2106),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5311] = {
    [sym_superclass] = STATE(8653),
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(8654),
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__unary_minus] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(722),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(722),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(2110),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(722),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [5312] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_superclass] = STATE(8653),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1349),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1310),
    [sym__argument_list_with_parens] = STATE(1264),
    [sym__argument] = STATE(1350),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_do_block] = STATE(1312),
    [sym_block] = STATE(1312),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1353),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1354),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__terminator] = STATE(8654),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(2114),
    [sym__splat_star] = ACTIONS(2116),
    [sym__argument_list_left_paren] = ACTIONS(2034),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(2064),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(980),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2120),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(2110),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(2076),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2138),
    [sym_identifier] = ACTIONS(2138),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [5313] = {
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(8656),
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__unary_minus] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(722),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(11574),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(722),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(722),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [5314] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1349),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1310),
    [sym__argument_list_with_parens] = STATE(1264),
    [sym__argument] = STATE(1350),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_do_block] = STATE(1312),
    [sym_block] = STATE(1312),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1353),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1354),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__terminator] = STATE(8656),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(2114),
    [sym__splat_star] = ACTIONS(2116),
    [sym__argument_list_left_paren] = ACTIONS(2034),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(2064),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(980),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(11576),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2120),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(2076),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2138),
    [sym_identifier] = ACTIONS(2138),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [5315] = {
    [sym__simple_heredoc_body] = ACTIONS(2264),
    [sym__heredoc_body_beginning] = ACTIONS(2264),
    [sym__string_middle] = ACTIONS(2264),
    [sym__string_end] = ACTIONS(2264),
    [sym__element_reference_left_bracket] = ACTIONS(2264),
    [sym__scope_double_colon] = ACTIONS(2264),
    [sym__binary_minus] = ACTIONS(2264),
    [sym__binary_star] = ACTIONS(2264),
    [anon_sym_LBRACE] = ACTIONS(2264),
    [anon_sym_DOT] = ACTIONS(2266),
    [anon_sym_COMMA] = ACTIONS(2264),
    [anon_sym_PIPE] = ACTIONS(2266),
    [anon_sym_STAR_STAR] = ACTIONS(2266),
    [anon_sym_AMP] = ACTIONS(2266),
    [anon_sym_EQ] = ACTIONS(2266),
    [anon_sym_LT] = ACTIONS(2266),
    [anon_sym_if] = ACTIONS(2264),
    [anon_sym_unless] = ACTIONS(2264),
    [anon_sym_while] = ACTIONS(2264),
    [anon_sym_until] = ACTIONS(2264),
    [anon_sym_rescue] = ACTIONS(2264),
    [anon_sym_do] = ACTIONS(2264),
    [anon_sym_AMP_DOT] = ACTIONS(2264),
    [anon_sym_PLUS_EQ] = ACTIONS(2264),
    [anon_sym_DASH_EQ] = ACTIONS(2264),
    [anon_sym_STAR_EQ] = ACTIONS(2264),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2264),
    [anon_sym_SLASH_EQ] = ACTIONS(2264),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2264),
    [anon_sym_PIPE_EQ] = ACTIONS(2264),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2264),
    [anon_sym_AMP_EQ] = ACTIONS(2264),
    [anon_sym_PERCENT_EQ] = ACTIONS(2264),
    [anon_sym_GT_GT_EQ] = ACTIONS(2264),
    [anon_sym_LT_LT_EQ] = ACTIONS(2264),
    [anon_sym_CARET_EQ] = ACTIONS(2264),
    [anon_sym_QMARK] = ACTIONS(2264),
    [anon_sym_DOT_DOT] = ACTIONS(2266),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2264),
    [anon_sym_and] = ACTIONS(2264),
    [anon_sym_or] = ACTIONS(2264),
    [anon_sym_PIPE_PIPE] = ACTIONS(2266),
    [anon_sym_AMP_AMP] = ACTIONS(2266),
    [anon_sym_LT_LT] = ACTIONS(2266),
    [anon_sym_GT_GT] = ACTIONS(2266),
    [anon_sym_EQ_EQ] = ACTIONS(2266),
    [anon_sym_BANG_EQ] = ACTIONS(2264),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2264),
    [anon_sym_LT_EQ_GT] = ACTIONS(2264),
    [anon_sym_EQ_TILDE] = ACTIONS(2264),
    [anon_sym_BANG_TILDE] = ACTIONS(2264),
    [anon_sym_LT_EQ] = ACTIONS(2266),
    [anon_sym_GT] = ACTIONS(2266),
    [anon_sym_GT_EQ] = ACTIONS(2264),
    [anon_sym_CARET] = ACTIONS(2266),
    [anon_sym_PLUS] = ACTIONS(2266),
    [anon_sym_SLASH] = ACTIONS(2266),
    [anon_sym_PERCENT] = ACTIONS(2266),
    [sym_comment] = ACTIONS(256),
  },
  [5316] = {
    [sym__simple_heredoc_body] = ACTIONS(2286),
    [sym__heredoc_body_beginning] = ACTIONS(2286),
    [sym__string_middle] = ACTIONS(2286),
    [sym__string_end] = ACTIONS(2286),
    [sym__element_reference_left_bracket] = ACTIONS(2286),
    [sym__scope_double_colon] = ACTIONS(2286),
    [sym__binary_minus] = ACTIONS(2286),
    [sym__binary_star] = ACTIONS(2286),
    [anon_sym_LBRACE] = ACTIONS(2286),
    [anon_sym_DOT] = ACTIONS(2288),
    [anon_sym_COMMA] = ACTIONS(2286),
    [anon_sym_PIPE] = ACTIONS(2288),
    [anon_sym_STAR_STAR] = ACTIONS(2288),
    [anon_sym_AMP] = ACTIONS(2288),
    [anon_sym_EQ] = ACTIONS(2288),
    [anon_sym_LT] = ACTIONS(2288),
    [anon_sym_if] = ACTIONS(2286),
    [anon_sym_unless] = ACTIONS(2286),
    [anon_sym_while] = ACTIONS(2286),
    [anon_sym_until] = ACTIONS(2286),
    [anon_sym_rescue] = ACTIONS(2286),
    [anon_sym_do] = ACTIONS(2286),
    [anon_sym_AMP_DOT] = ACTIONS(2286),
    [anon_sym_PLUS_EQ] = ACTIONS(2286),
    [anon_sym_DASH_EQ] = ACTIONS(2286),
    [anon_sym_STAR_EQ] = ACTIONS(2286),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2286),
    [anon_sym_SLASH_EQ] = ACTIONS(2286),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2286),
    [anon_sym_PIPE_EQ] = ACTIONS(2286),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2286),
    [anon_sym_AMP_EQ] = ACTIONS(2286),
    [anon_sym_PERCENT_EQ] = ACTIONS(2286),
    [anon_sym_GT_GT_EQ] = ACTIONS(2286),
    [anon_sym_LT_LT_EQ] = ACTIONS(2286),
    [anon_sym_CARET_EQ] = ACTIONS(2286),
    [anon_sym_QMARK] = ACTIONS(2286),
    [anon_sym_DOT_DOT] = ACTIONS(2288),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2286),
    [anon_sym_and] = ACTIONS(2286),
    [anon_sym_or] = ACTIONS(2286),
    [anon_sym_PIPE_PIPE] = ACTIONS(2288),
    [anon_sym_AMP_AMP] = ACTIONS(2288),
    [anon_sym_LT_LT] = ACTIONS(2288),
    [anon_sym_GT_GT] = ACTIONS(2288),
    [anon_sym_EQ_EQ] = ACTIONS(2288),
    [anon_sym_BANG_EQ] = ACTIONS(2286),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2286),
    [anon_sym_LT_EQ_GT] = ACTIONS(2286),
    [anon_sym_EQ_TILDE] = ACTIONS(2286),
    [anon_sym_BANG_TILDE] = ACTIONS(2286),
    [anon_sym_LT_EQ] = ACTIONS(2288),
    [anon_sym_GT] = ACTIONS(2288),
    [anon_sym_GT_EQ] = ACTIONS(2286),
    [anon_sym_CARET] = ACTIONS(2288),
    [anon_sym_PLUS] = ACTIONS(2288),
    [anon_sym_SLASH] = ACTIONS(2288),
    [anon_sym_PERCENT] = ACTIONS(2288),
    [sym_comment] = ACTIONS(256),
  },
  [5317] = {
    [sym__simple_heredoc_body] = ACTIONS(2290),
    [sym__heredoc_body_beginning] = ACTIONS(2290),
    [sym__string_middle] = ACTIONS(2290),
    [sym__string_end] = ACTIONS(2290),
    [sym__element_reference_left_bracket] = ACTIONS(2290),
    [sym__scope_double_colon] = ACTIONS(2290),
    [sym__binary_minus] = ACTIONS(2290),
    [sym__binary_star] = ACTIONS(2290),
    [anon_sym_LBRACE] = ACTIONS(2290),
    [anon_sym_DOT] = ACTIONS(2292),
    [anon_sym_COMMA] = ACTIONS(2290),
    [anon_sym_PIPE] = ACTIONS(2292),
    [anon_sym_STAR_STAR] = ACTIONS(2292),
    [anon_sym_AMP] = ACTIONS(2292),
    [anon_sym_EQ] = ACTIONS(2292),
    [anon_sym_LT] = ACTIONS(2292),
    [anon_sym_if] = ACTIONS(2290),
    [anon_sym_unless] = ACTIONS(2290),
    [anon_sym_while] = ACTIONS(2290),
    [anon_sym_until] = ACTIONS(2290),
    [anon_sym_rescue] = ACTIONS(2290),
    [anon_sym_do] = ACTIONS(2290),
    [anon_sym_AMP_DOT] = ACTIONS(2290),
    [anon_sym_PLUS_EQ] = ACTIONS(2290),
    [anon_sym_DASH_EQ] = ACTIONS(2290),
    [anon_sym_STAR_EQ] = ACTIONS(2290),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2290),
    [anon_sym_SLASH_EQ] = ACTIONS(2290),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2290),
    [anon_sym_PIPE_EQ] = ACTIONS(2290),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2290),
    [anon_sym_AMP_EQ] = ACTIONS(2290),
    [anon_sym_PERCENT_EQ] = ACTIONS(2290),
    [anon_sym_GT_GT_EQ] = ACTIONS(2290),
    [anon_sym_LT_LT_EQ] = ACTIONS(2290),
    [anon_sym_CARET_EQ] = ACTIONS(2290),
    [anon_sym_QMARK] = ACTIONS(2290),
    [anon_sym_DOT_DOT] = ACTIONS(2292),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2290),
    [anon_sym_and] = ACTIONS(2290),
    [anon_sym_or] = ACTIONS(2290),
    [anon_sym_PIPE_PIPE] = ACTIONS(2292),
    [anon_sym_AMP_AMP] = ACTIONS(2292),
    [anon_sym_LT_LT] = ACTIONS(2292),
    [anon_sym_GT_GT] = ACTIONS(2292),
    [anon_sym_EQ_EQ] = ACTIONS(2292),
    [anon_sym_BANG_EQ] = ACTIONS(2290),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2290),
    [anon_sym_LT_EQ_GT] = ACTIONS(2290),
    [anon_sym_EQ_TILDE] = ACTIONS(2290),
    [anon_sym_BANG_TILDE] = ACTIONS(2290),
    [anon_sym_LT_EQ] = ACTIONS(2292),
    [anon_sym_GT] = ACTIONS(2292),
    [anon_sym_GT_EQ] = ACTIONS(2290),
    [anon_sym_CARET] = ACTIONS(2292),
    [anon_sym_PLUS] = ACTIONS(2292),
    [anon_sym_SLASH] = ACTIONS(2292),
    [anon_sym_PERCENT] = ACTIONS(2292),
    [sym_comment] = ACTIONS(256),
  },
  [5318] = {
    [sym__simple_heredoc_body] = ACTIONS(2294),
    [sym__heredoc_body_beginning] = ACTIONS(2294),
    [sym__string_middle] = ACTIONS(2294),
    [sym__string_end] = ACTIONS(2294),
    [sym__element_reference_left_bracket] = ACTIONS(2294),
    [sym__scope_double_colon] = ACTIONS(2294),
    [sym__binary_minus] = ACTIONS(2294),
    [sym__binary_star] = ACTIONS(2294),
    [anon_sym_LBRACE] = ACTIONS(2294),
    [anon_sym_DOT] = ACTIONS(2296),
    [anon_sym_COMMA] = ACTIONS(2294),
    [anon_sym_PIPE] = ACTIONS(2296),
    [anon_sym_STAR_STAR] = ACTIONS(2296),
    [anon_sym_AMP] = ACTIONS(2296),
    [anon_sym_EQ] = ACTIONS(2296),
    [anon_sym_LT] = ACTIONS(2296),
    [anon_sym_if] = ACTIONS(2294),
    [anon_sym_unless] = ACTIONS(2294),
    [anon_sym_while] = ACTIONS(2294),
    [anon_sym_until] = ACTIONS(2294),
    [anon_sym_rescue] = ACTIONS(2294),
    [anon_sym_do] = ACTIONS(2294),
    [anon_sym_AMP_DOT] = ACTIONS(2294),
    [anon_sym_PLUS_EQ] = ACTIONS(2294),
    [anon_sym_DASH_EQ] = ACTIONS(2294),
    [anon_sym_STAR_EQ] = ACTIONS(2294),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2294),
    [anon_sym_SLASH_EQ] = ACTIONS(2294),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2294),
    [anon_sym_PIPE_EQ] = ACTIONS(2294),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2294),
    [anon_sym_AMP_EQ] = ACTIONS(2294),
    [anon_sym_PERCENT_EQ] = ACTIONS(2294),
    [anon_sym_GT_GT_EQ] = ACTIONS(2294),
    [anon_sym_LT_LT_EQ] = ACTIONS(2294),
    [anon_sym_CARET_EQ] = ACTIONS(2294),
    [anon_sym_QMARK] = ACTIONS(2294),
    [anon_sym_DOT_DOT] = ACTIONS(2296),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2294),
    [anon_sym_and] = ACTIONS(2294),
    [anon_sym_or] = ACTIONS(2294),
    [anon_sym_PIPE_PIPE] = ACTIONS(2296),
    [anon_sym_AMP_AMP] = ACTIONS(2296),
    [anon_sym_LT_LT] = ACTIONS(2296),
    [anon_sym_GT_GT] = ACTIONS(2296),
    [anon_sym_EQ_EQ] = ACTIONS(2296),
    [anon_sym_BANG_EQ] = ACTIONS(2294),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2294),
    [anon_sym_LT_EQ_GT] = ACTIONS(2294),
    [anon_sym_EQ_TILDE] = ACTIONS(2294),
    [anon_sym_BANG_TILDE] = ACTIONS(2294),
    [anon_sym_LT_EQ] = ACTIONS(2296),
    [anon_sym_GT] = ACTIONS(2296),
    [anon_sym_GT_EQ] = ACTIONS(2294),
    [anon_sym_CARET] = ACTIONS(2296),
    [anon_sym_PLUS] = ACTIONS(2296),
    [anon_sym_SLASH] = ACTIONS(2296),
    [anon_sym_PERCENT] = ACTIONS(2296),
    [sym_comment] = ACTIONS(256),
  },
  [5319] = {
    [sym__then] = STATE(8658),
    [sym_heredoc_end] = STATE(1476),
    [sym__terminator] = STATE(1484),
    [sym__simple_heredoc_body] = ACTIONS(2322),
    [sym__heredoc_body_beginning] = ACTIONS(2324),
    [sym__line_break] = ACTIONS(2326),
    [anon_sym_SEMI] = ACTIONS(2326),
    [anon_sym_if] = ACTIONS(2328),
    [anon_sym_unless] = ACTIONS(2330),
    [anon_sym_while] = ACTIONS(2332),
    [anon_sym_until] = ACTIONS(2334),
    [anon_sym_rescue] = ACTIONS(2336),
    [anon_sym_then] = ACTIONS(2338),
    [sym_comment] = ACTIONS(110),
  },
  [5320] = {
    [sym__then] = STATE(8659),
    [sym_heredoc_end] = STATE(1521),
    [sym__terminator] = STATE(1524),
    [sym__simple_heredoc_body] = ACTIONS(2402),
    [sym__heredoc_body_beginning] = ACTIONS(2404),
    [sym__line_break] = ACTIONS(2406),
    [anon_sym_SEMI] = ACTIONS(2406),
    [anon_sym_if] = ACTIONS(2328),
    [anon_sym_unless] = ACTIONS(2330),
    [anon_sym_while] = ACTIONS(2332),
    [anon_sym_until] = ACTIONS(2334),
    [anon_sym_rescue] = ACTIONS(2336),
    [anon_sym_then] = ACTIONS(2408),
    [sym_comment] = ACTIONS(110),
  },
  [5321] = {
    [sym__do] = STATE(8660),
    [sym_heredoc_end] = STATE(1550),
    [sym__terminator] = STATE(1557),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym__line_break] = ACTIONS(2446),
    [sym__binary_minus] = ACTIONS(2448),
    [sym__binary_star] = ACTIONS(2450),
    [anon_sym_PIPE] = ACTIONS(2452),
    [anon_sym_SEMI] = ACTIONS(2446),
    [anon_sym_STAR_STAR] = ACTIONS(2454),
    [anon_sym_AMP] = ACTIONS(2456),
    [anon_sym_LT] = ACTIONS(2458),
    [anon_sym_do] = ACTIONS(2460),
    [anon_sym_QMARK] = ACTIONS(2462),
    [anon_sym_DOT_DOT] = ACTIONS(2464),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2466),
    [anon_sym_and] = ACTIONS(2468),
    [anon_sym_or] = ACTIONS(2468),
    [anon_sym_PIPE_PIPE] = ACTIONS(2470),
    [anon_sym_AMP_AMP] = ACTIONS(2470),
    [anon_sym_LT_LT] = ACTIONS(2472),
    [anon_sym_GT_GT] = ACTIONS(2472),
    [anon_sym_EQ_EQ] = ACTIONS(2474),
    [anon_sym_BANG_EQ] = ACTIONS(2470),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2470),
    [anon_sym_LT_EQ_GT] = ACTIONS(2470),
    [anon_sym_EQ_TILDE] = ACTIONS(2470),
    [anon_sym_BANG_TILDE] = ACTIONS(2470),
    [anon_sym_LT_EQ] = ACTIONS(2458),
    [anon_sym_GT] = ACTIONS(2458),
    [anon_sym_GT_EQ] = ACTIONS(2476),
    [anon_sym_CARET] = ACTIONS(2478),
    [anon_sym_PLUS] = ACTIONS(2480),
    [anon_sym_SLASH] = ACTIONS(2454),
    [anon_sym_PERCENT] = ACTIONS(2454),
    [sym_comment] = ACTIONS(110),
  },
  [5322] = {
    [sym__do] = STATE(8661),
    [sym_heredoc_end] = STATE(1550),
    [sym__terminator] = STATE(1557),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym__line_break] = ACTIONS(2446),
    [sym__binary_minus] = ACTIONS(2448),
    [sym__binary_star] = ACTIONS(2450),
    [anon_sym_PIPE] = ACTIONS(2452),
    [anon_sym_SEMI] = ACTIONS(2446),
    [anon_sym_STAR_STAR] = ACTIONS(2454),
    [anon_sym_AMP] = ACTIONS(2456),
    [anon_sym_LT] = ACTIONS(2458),
    [anon_sym_do] = ACTIONS(2460),
    [anon_sym_QMARK] = ACTIONS(2462),
    [anon_sym_DOT_DOT] = ACTIONS(2464),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2466),
    [anon_sym_and] = ACTIONS(2468),
    [anon_sym_or] = ACTIONS(2468),
    [anon_sym_PIPE_PIPE] = ACTIONS(2470),
    [anon_sym_AMP_AMP] = ACTIONS(2470),
    [anon_sym_LT_LT] = ACTIONS(2472),
    [anon_sym_GT_GT] = ACTIONS(2472),
    [anon_sym_EQ_EQ] = ACTIONS(2474),
    [anon_sym_BANG_EQ] = ACTIONS(2470),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2470),
    [anon_sym_LT_EQ_GT] = ACTIONS(2470),
    [anon_sym_EQ_TILDE] = ACTIONS(2470),
    [anon_sym_BANG_TILDE] = ACTIONS(2470),
    [anon_sym_LT_EQ] = ACTIONS(2458),
    [anon_sym_GT] = ACTIONS(2458),
    [anon_sym_GT_EQ] = ACTIONS(2476),
    [anon_sym_CARET] = ACTIONS(2478),
    [anon_sym_PLUS] = ACTIONS(2480),
    [anon_sym_SLASH] = ACTIONS(2454),
    [anon_sym_PERCENT] = ACTIONS(2454),
    [sym_comment] = ACTIONS(110),
  },
  [5323] = {
    [sym_in] = STATE(8662),
    [anon_sym_in] = ACTIONS(2548),
    [sym_comment] = ACTIONS(110),
  },
  [5324] = {
    [anon_sym_end] = ACTIONS(11578),
    [sym_comment] = ACTIONS(110),
  },
  [5325] = {
    [sym_when] = STATE(8664),
    [sym_heredoc_end] = STATE(387),
    [sym__terminator] = STATE(402),
    [aux_sym_case_repeat1] = STATE(8665),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym__line_break] = ACTIONS(666),
    [sym__binary_minus] = ACTIONS(2600),
    [sym__binary_star] = ACTIONS(2602),
    [anon_sym_PIPE] = ACTIONS(2604),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_STAR_STAR] = ACTIONS(2606),
    [anon_sym_AMP] = ACTIONS(2608),
    [anon_sym_LT] = ACTIONS(2610),
    [anon_sym_when] = ACTIONS(2612),
    [anon_sym_QMARK] = ACTIONS(2614),
    [anon_sym_DOT_DOT] = ACTIONS(2616),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2618),
    [anon_sym_and] = ACTIONS(2620),
    [anon_sym_or] = ACTIONS(2620),
    [anon_sym_PIPE_PIPE] = ACTIONS(2622),
    [anon_sym_AMP_AMP] = ACTIONS(2622),
    [anon_sym_LT_LT] = ACTIONS(2624),
    [anon_sym_GT_GT] = ACTIONS(2624),
    [anon_sym_EQ_EQ] = ACTIONS(2626),
    [anon_sym_BANG_EQ] = ACTIONS(2622),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2622),
    [anon_sym_LT_EQ_GT] = ACTIONS(2622),
    [anon_sym_EQ_TILDE] = ACTIONS(2622),
    [anon_sym_BANG_TILDE] = ACTIONS(2622),
    [anon_sym_LT_EQ] = ACTIONS(2610),
    [anon_sym_GT] = ACTIONS(2610),
    [anon_sym_GT_EQ] = ACTIONS(2628),
    [anon_sym_CARET] = ACTIONS(2630),
    [anon_sym_PLUS] = ACTIONS(2632),
    [anon_sym_SLASH] = ACTIONS(2606),
    [anon_sym_PERCENT] = ACTIONS(2606),
    [sym_comment] = ACTIONS(110),
  },
  [5326] = {
    [sym_when] = STATE(8664),
    [sym_heredoc_end] = STATE(387),
    [sym__terminator] = STATE(1688),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym__line_break] = ACTIONS(666),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_when] = ACTIONS(2612),
    [sym_comment] = ACTIONS(110),
  },
  [5327] = {
    [sym__simple_heredoc_body] = ACTIONS(2674),
    [sym__heredoc_body_beginning] = ACTIONS(2674),
    [sym__string_middle] = ACTIONS(2674),
    [sym__string_end] = ACTIONS(2674),
    [sym__element_reference_left_bracket] = ACTIONS(2674),
    [sym__scope_double_colon] = ACTIONS(2674),
    [sym__binary_minus] = ACTIONS(2674),
    [sym__binary_star] = ACTIONS(2674),
    [anon_sym_LBRACE] = ACTIONS(2674),
    [anon_sym_DOT] = ACTIONS(2676),
    [anon_sym_COMMA] = ACTIONS(2674),
    [anon_sym_PIPE] = ACTIONS(2676),
    [anon_sym_STAR_STAR] = ACTIONS(2676),
    [anon_sym_AMP] = ACTIONS(2676),
    [anon_sym_EQ] = ACTIONS(2676),
    [anon_sym_LT] = ACTIONS(2676),
    [anon_sym_if] = ACTIONS(2674),
    [anon_sym_unless] = ACTIONS(2674),
    [anon_sym_while] = ACTIONS(2674),
    [anon_sym_until] = ACTIONS(2674),
    [anon_sym_rescue] = ACTIONS(2674),
    [anon_sym_do] = ACTIONS(2674),
    [anon_sym_AMP_DOT] = ACTIONS(2674),
    [anon_sym_PLUS_EQ] = ACTIONS(2674),
    [anon_sym_DASH_EQ] = ACTIONS(2674),
    [anon_sym_STAR_EQ] = ACTIONS(2674),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2674),
    [anon_sym_SLASH_EQ] = ACTIONS(2674),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2674),
    [anon_sym_PIPE_EQ] = ACTIONS(2674),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2674),
    [anon_sym_AMP_EQ] = ACTIONS(2674),
    [anon_sym_PERCENT_EQ] = ACTIONS(2674),
    [anon_sym_GT_GT_EQ] = ACTIONS(2674),
    [anon_sym_LT_LT_EQ] = ACTIONS(2674),
    [anon_sym_CARET_EQ] = ACTIONS(2674),
    [anon_sym_QMARK] = ACTIONS(2674),
    [anon_sym_DOT_DOT] = ACTIONS(2676),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2674),
    [anon_sym_and] = ACTIONS(2674),
    [anon_sym_or] = ACTIONS(2674),
    [anon_sym_PIPE_PIPE] = ACTIONS(2676),
    [anon_sym_AMP_AMP] = ACTIONS(2676),
    [anon_sym_LT_LT] = ACTIONS(2676),
    [anon_sym_GT_GT] = ACTIONS(2676),
    [anon_sym_EQ_EQ] = ACTIONS(2676),
    [anon_sym_BANG_EQ] = ACTIONS(2674),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2674),
    [anon_sym_LT_EQ_GT] = ACTIONS(2674),
    [anon_sym_EQ_TILDE] = ACTIONS(2674),
    [anon_sym_BANG_TILDE] = ACTIONS(2674),
    [anon_sym_LT_EQ] = ACTIONS(2676),
    [anon_sym_GT] = ACTIONS(2676),
    [anon_sym_GT_EQ] = ACTIONS(2674),
    [anon_sym_CARET] = ACTIONS(2676),
    [anon_sym_PLUS] = ACTIONS(2676),
    [anon_sym_SLASH] = ACTIONS(2676),
    [anon_sym_PERCENT] = ACTIONS(2676),
    [sym_comment] = ACTIONS(256),
  },
  [5328] = {
    [anon_sym_end] = ACTIONS(11580),
    [sym_comment] = ACTIONS(110),
  },
  [5329] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(8667),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11582),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5330] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__string_middle] = ACTIONS(2870),
    [sym__string_end] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(7566),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2872),
    [anon_sym_AMP_AMP] = ACTIONS(2872),
    [anon_sym_LT_LT] = ACTIONS(2872),
    [anon_sym_GT_GT] = ACTIONS(2872),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2872),
    [anon_sym_PLUS] = ACTIONS(2872),
    [anon_sym_SLASH] = ACTIONS(2872),
    [anon_sym_PERCENT] = ACTIONS(2872),
    [sym_comment] = ACTIONS(256),
  },
  [5331] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__string_middle] = ACTIONS(2870),
    [sym__string_end] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(7560),
    [sym__binary_star] = ACTIONS(7562),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(7564),
    [anon_sym_STAR_STAR] = ACTIONS(7566),
    [anon_sym_AMP] = ACTIONS(7568),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(7570),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(7572),
    [anon_sym_DOT_DOT] = ACTIONS(7574),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7576),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(7578),
    [anon_sym_AMP_AMP] = ACTIONS(7578),
    [anon_sym_LT_LT] = ACTIONS(7580),
    [anon_sym_GT_GT] = ACTIONS(7580),
    [anon_sym_EQ_EQ] = ACTIONS(7578),
    [anon_sym_BANG_EQ] = ACTIONS(7582),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7582),
    [anon_sym_LT_EQ_GT] = ACTIONS(7582),
    [anon_sym_EQ_TILDE] = ACTIONS(7582),
    [anon_sym_BANG_TILDE] = ACTIONS(7582),
    [anon_sym_LT_EQ] = ACTIONS(7570),
    [anon_sym_GT] = ACTIONS(7570),
    [anon_sym_GT_EQ] = ACTIONS(7584),
    [anon_sym_CARET] = ACTIONS(7564),
    [anon_sym_PLUS] = ACTIONS(7586),
    [anon_sym_SLASH] = ACTIONS(7566),
    [anon_sym_PERCENT] = ACTIONS(7566),
    [sym_comment] = ACTIONS(256),
  },
  [5332] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__string_middle] = ACTIONS(2870),
    [sym__string_end] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(2872),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2872),
    [anon_sym_AMP_AMP] = ACTIONS(2872),
    [anon_sym_LT_LT] = ACTIONS(2872),
    [anon_sym_GT_GT] = ACTIONS(2872),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2872),
    [anon_sym_PLUS] = ACTIONS(2872),
    [anon_sym_SLASH] = ACTIONS(2872),
    [anon_sym_PERCENT] = ACTIONS(2872),
    [sym_comment] = ACTIONS(256),
  },
  [5333] = {
    [sym__simple_heredoc_body] = ACTIONS(2882),
    [sym__heredoc_body_beginning] = ACTIONS(2882),
    [sym__string_middle] = ACTIONS(2882),
    [sym__string_end] = ACTIONS(2882),
    [sym__element_reference_left_bracket] = ACTIONS(2882),
    [sym__scope_double_colon] = ACTIONS(2882),
    [sym__binary_minus] = ACTIONS(2882),
    [sym__binary_star] = ACTIONS(2882),
    [anon_sym_LBRACE] = ACTIONS(2882),
    [anon_sym_DOT] = ACTIONS(2884),
    [anon_sym_COMMA] = ACTIONS(2882),
    [anon_sym_PIPE] = ACTIONS(2884),
    [anon_sym_STAR_STAR] = ACTIONS(2884),
    [anon_sym_AMP] = ACTIONS(2884),
    [anon_sym_EQ] = ACTIONS(2884),
    [anon_sym_LT] = ACTIONS(2884),
    [anon_sym_if] = ACTIONS(2882),
    [anon_sym_unless] = ACTIONS(2882),
    [anon_sym_while] = ACTIONS(2882),
    [anon_sym_until] = ACTIONS(2882),
    [anon_sym_rescue] = ACTIONS(2882),
    [anon_sym_do] = ACTIONS(2882),
    [anon_sym_AMP_DOT] = ACTIONS(2882),
    [anon_sym_PLUS_EQ] = ACTIONS(2882),
    [anon_sym_DASH_EQ] = ACTIONS(2882),
    [anon_sym_STAR_EQ] = ACTIONS(2882),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2882),
    [anon_sym_SLASH_EQ] = ACTIONS(2882),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2882),
    [anon_sym_PIPE_EQ] = ACTIONS(2882),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2882),
    [anon_sym_AMP_EQ] = ACTIONS(2882),
    [anon_sym_PERCENT_EQ] = ACTIONS(2882),
    [anon_sym_GT_GT_EQ] = ACTIONS(2882),
    [anon_sym_LT_LT_EQ] = ACTIONS(2882),
    [anon_sym_CARET_EQ] = ACTIONS(2882),
    [anon_sym_QMARK] = ACTIONS(2882),
    [anon_sym_DOT_DOT] = ACTIONS(2884),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2882),
    [anon_sym_and] = ACTIONS(2882),
    [anon_sym_or] = ACTIONS(2882),
    [anon_sym_PIPE_PIPE] = ACTIONS(2884),
    [anon_sym_AMP_AMP] = ACTIONS(2884),
    [anon_sym_LT_LT] = ACTIONS(2884),
    [anon_sym_GT_GT] = ACTIONS(2884),
    [anon_sym_EQ_EQ] = ACTIONS(2884),
    [anon_sym_BANG_EQ] = ACTIONS(2882),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2882),
    [anon_sym_LT_EQ_GT] = ACTIONS(2882),
    [anon_sym_EQ_TILDE] = ACTIONS(2882),
    [anon_sym_BANG_TILDE] = ACTIONS(2882),
    [anon_sym_LT_EQ] = ACTIONS(2884),
    [anon_sym_GT] = ACTIONS(2884),
    [anon_sym_GT_EQ] = ACTIONS(2882),
    [anon_sym_CARET] = ACTIONS(2884),
    [anon_sym_PLUS] = ACTIONS(2884),
    [anon_sym_SLASH] = ACTIONS(2884),
    [anon_sym_PERCENT] = ACTIONS(2884),
    [sym_comment] = ACTIONS(256),
  },
  [5334] = {
    [sym__simple_heredoc_body] = ACTIONS(2952),
    [sym__heredoc_body_beginning] = ACTIONS(2952),
    [sym__string_middle] = ACTIONS(2952),
    [sym__string_end] = ACTIONS(2952),
    [sym__element_reference_left_bracket] = ACTIONS(2952),
    [sym__scope_double_colon] = ACTIONS(2952),
    [sym__binary_minus] = ACTIONS(2952),
    [sym__binary_star] = ACTIONS(2952),
    [anon_sym_LBRACE] = ACTIONS(2952),
    [anon_sym_DOT] = ACTIONS(2954),
    [anon_sym_COMMA] = ACTIONS(2952),
    [anon_sym_PIPE] = ACTIONS(2954),
    [anon_sym_STAR_STAR] = ACTIONS(2954),
    [anon_sym_AMP] = ACTIONS(2954),
    [anon_sym_EQ] = ACTIONS(2954),
    [anon_sym_LT] = ACTIONS(2954),
    [anon_sym_if] = ACTIONS(2952),
    [anon_sym_unless] = ACTIONS(2952),
    [anon_sym_while] = ACTIONS(2952),
    [anon_sym_until] = ACTIONS(2952),
    [anon_sym_rescue] = ACTIONS(2952),
    [anon_sym_do] = ACTIONS(2952),
    [anon_sym_AMP_DOT] = ACTIONS(2952),
    [anon_sym_PLUS_EQ] = ACTIONS(2952),
    [anon_sym_DASH_EQ] = ACTIONS(2952),
    [anon_sym_STAR_EQ] = ACTIONS(2952),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2952),
    [anon_sym_SLASH_EQ] = ACTIONS(2952),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2952),
    [anon_sym_PIPE_EQ] = ACTIONS(2952),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2952),
    [anon_sym_AMP_EQ] = ACTIONS(2952),
    [anon_sym_PERCENT_EQ] = ACTIONS(2952),
    [anon_sym_GT_GT_EQ] = ACTIONS(2952),
    [anon_sym_LT_LT_EQ] = ACTIONS(2952),
    [anon_sym_CARET_EQ] = ACTIONS(2952),
    [anon_sym_QMARK] = ACTIONS(2952),
    [anon_sym_DOT_DOT] = ACTIONS(2954),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2952),
    [anon_sym_and] = ACTIONS(2952),
    [anon_sym_or] = ACTIONS(2952),
    [anon_sym_PIPE_PIPE] = ACTIONS(2954),
    [anon_sym_AMP_AMP] = ACTIONS(2954),
    [anon_sym_LT_LT] = ACTIONS(2954),
    [anon_sym_GT_GT] = ACTIONS(2954),
    [anon_sym_EQ_EQ] = ACTIONS(2954),
    [anon_sym_BANG_EQ] = ACTIONS(2952),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2952),
    [anon_sym_LT_EQ_GT] = ACTIONS(2952),
    [anon_sym_EQ_TILDE] = ACTIONS(2952),
    [anon_sym_BANG_TILDE] = ACTIONS(2952),
    [anon_sym_LT_EQ] = ACTIONS(2954),
    [anon_sym_GT] = ACTIONS(2954),
    [anon_sym_GT_EQ] = ACTIONS(2952),
    [anon_sym_CARET] = ACTIONS(2954),
    [anon_sym_PLUS] = ACTIONS(2954),
    [anon_sym_SLASH] = ACTIONS(2954),
    [anon_sym_PERCENT] = ACTIONS(2954),
    [sym_comment] = ACTIONS(256),
  },
  [5335] = {
    [sym_heredoc_end] = STATE(8668),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RBRACK] = ACTIONS(11566),
    [sym_comment] = ACTIONS(110),
  },
  [5336] = {
    [anon_sym_RBRACK] = ACTIONS(11566),
    [sym_comment] = ACTIONS(110),
  },
  [5337] = {
    [sym__statements] = STATE(8535),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(8536),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(841),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(11584),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_PIPE] = ACTIONS(3048),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5338] = {
    [sym__statements] = STATE(8538),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(8539),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1981),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(8540),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(3076),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(3078),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(3080),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11464),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(3086),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5339] = {
    [sym_do_block] = STATE(8670),
    [sym_block] = STATE(8670),
    [anon_sym_LBRACE] = ACTIONS(7556),
    [anon_sym_do] = ACTIONS(11466),
    [sym_comment] = ACTIONS(110),
  },
  [5340] = {
    [sym__simple_heredoc_body] = ACTIONS(3100),
    [sym__heredoc_body_beginning] = ACTIONS(3100),
    [sym__string_middle] = ACTIONS(3100),
    [sym__string_end] = ACTIONS(3100),
    [sym__element_reference_left_bracket] = ACTIONS(3100),
    [sym__scope_double_colon] = ACTIONS(3100),
    [sym__binary_minus] = ACTIONS(3100),
    [sym__binary_star] = ACTIONS(3100),
    [anon_sym_LBRACE] = ACTIONS(3100),
    [anon_sym_DOT] = ACTIONS(3102),
    [anon_sym_COMMA] = ACTIONS(3100),
    [anon_sym_PIPE] = ACTIONS(3102),
    [anon_sym_STAR_STAR] = ACTIONS(3102),
    [anon_sym_AMP] = ACTIONS(3102),
    [anon_sym_EQ] = ACTIONS(3102),
    [anon_sym_LT] = ACTIONS(3102),
    [anon_sym_if] = ACTIONS(3100),
    [anon_sym_unless] = ACTIONS(3100),
    [anon_sym_while] = ACTIONS(3100),
    [anon_sym_until] = ACTIONS(3100),
    [anon_sym_rescue] = ACTIONS(3100),
    [anon_sym_do] = ACTIONS(3100),
    [anon_sym_AMP_DOT] = ACTIONS(3100),
    [anon_sym_PLUS_EQ] = ACTIONS(3100),
    [anon_sym_DASH_EQ] = ACTIONS(3100),
    [anon_sym_STAR_EQ] = ACTIONS(3100),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3100),
    [anon_sym_SLASH_EQ] = ACTIONS(3100),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3100),
    [anon_sym_PIPE_EQ] = ACTIONS(3100),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3100),
    [anon_sym_AMP_EQ] = ACTIONS(3100),
    [anon_sym_PERCENT_EQ] = ACTIONS(3100),
    [anon_sym_GT_GT_EQ] = ACTIONS(3100),
    [anon_sym_LT_LT_EQ] = ACTIONS(3100),
    [anon_sym_CARET_EQ] = ACTIONS(3100),
    [anon_sym_QMARK] = ACTIONS(3100),
    [anon_sym_DOT_DOT] = ACTIONS(3102),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3100),
    [anon_sym_and] = ACTIONS(3100),
    [anon_sym_or] = ACTIONS(3100),
    [anon_sym_PIPE_PIPE] = ACTIONS(3102),
    [anon_sym_AMP_AMP] = ACTIONS(3102),
    [anon_sym_LT_LT] = ACTIONS(3102),
    [anon_sym_GT_GT] = ACTIONS(3102),
    [anon_sym_EQ_EQ] = ACTIONS(3102),
    [anon_sym_BANG_EQ] = ACTIONS(3100),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3100),
    [anon_sym_LT_EQ_GT] = ACTIONS(3100),
    [anon_sym_EQ_TILDE] = ACTIONS(3100),
    [anon_sym_BANG_TILDE] = ACTIONS(3100),
    [anon_sym_LT_EQ] = ACTIONS(3102),
    [anon_sym_GT] = ACTIONS(3102),
    [anon_sym_GT_EQ] = ACTIONS(3100),
    [anon_sym_CARET] = ACTIONS(3102),
    [anon_sym_PLUS] = ACTIONS(3102),
    [anon_sym_SLASH] = ACTIONS(3102),
    [anon_sym_PERCENT] = ACTIONS(3102),
    [sym_comment] = ACTIONS(256),
  },
  [5341] = {
    [sym_method] = STATE(2460),
    [sym_singleton_method] = STATE(2460),
    [sym_class] = STATE(2460),
    [sym_singleton_class] = STATE(2460),
    [sym_module] = STATE(2460),
    [sym_return] = STATE(2460),
    [sym_yield] = STATE(2460),
    [sym_break] = STATE(2460),
    [sym_next] = STATE(2460),
    [sym_redo] = STATE(2460),
    [sym_retry] = STATE(2460),
    [sym_while] = STATE(2460),
    [sym_until] = STATE(2460),
    [sym_for] = STATE(2460),
    [sym_case] = STATE(2460),
    [sym_if] = STATE(2460),
    [sym_unless] = STATE(2460),
    [sym_begin] = STATE(2460),
    [sym__arg] = STATE(8671),
    [sym__primary] = STATE(2488),
    [sym_parenthesized_statements] = STATE(2460),
    [sym_element_reference] = STATE(2282),
    [sym_scope_resolution] = STATE(2489),
    [sym_call] = STATE(2489),
    [sym_method_call] = STATE(2282),
    [sym_assignment] = STATE(2490),
    [sym_operator_assignment] = STATE(2490),
    [sym_conditional] = STATE(2490),
    [sym_range] = STATE(2490),
    [sym_binary] = STATE(2490),
    [sym_unary] = STATE(2490),
    [sym_left_assignment_list] = STATE(2491),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2492),
    [sym__variable] = STATE(2489),
    [sym_symbol] = STATE(2460),
    [sym_complex] = STATE(2460),
    [sym_rational] = STATE(2460),
    [sym_super] = STATE(2274),
    [sym_true] = STATE(2282),
    [sym_false] = STATE(2282),
    [sym_self] = STATE(2274),
    [sym_nil] = STATE(2282),
    [sym_chained_string] = STATE(2460),
    [sym_string] = STATE(2493),
    [sym_subshell] = STATE(2460),
    [sym_array] = STATE(2460),
    [sym_hash] = STATE(2460),
    [sym_regex] = STATE(2460),
    [sym_lambda] = STATE(2460),
    [sym__simple_string] = ACTIONS(3628),
    [sym__simple_symbol] = ACTIONS(3630),
    [sym__simple_subshell] = ACTIONS(3632),
    [sym__simple_regex] = ACTIONS(3634),
    [sym__simple_word_list] = ACTIONS(3636),
    [sym__string_beginning] = ACTIONS(3638),
    [sym__symbol_beginning] = ACTIONS(3640),
    [sym__subshell_beginning] = ACTIONS(3642),
    [sym__regex_beginning] = ACTIONS(3644),
    [sym__word_list_beginning] = ACTIONS(3646),
    [sym_heredoc_beginning] = ACTIONS(3648),
    [sym__unary_minus] = ACTIONS(3650),
    [anon_sym_LBRACE] = ACTIONS(3652),
    [anon_sym_def] = ACTIONS(3654),
    [anon_sym_LPAREN] = ACTIONS(3656),
    [anon_sym_COLON_COLON] = ACTIONS(3418),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3658),
    [anon_sym_module] = ACTIONS(3660),
    [anon_sym_return] = ACTIONS(3662),
    [anon_sym_yield] = ACTIONS(3664),
    [anon_sym_break] = ACTIONS(3666),
    [anon_sym_next] = ACTIONS(3668),
    [anon_sym_redo] = ACTIONS(3670),
    [anon_sym_retry] = ACTIONS(3672),
    [anon_sym_if] = ACTIONS(3674),
    [anon_sym_unless] = ACTIONS(3676),
    [anon_sym_while] = ACTIONS(3678),
    [anon_sym_until] = ACTIONS(3680),
    [anon_sym_for] = ACTIONS(3682),
    [anon_sym_case] = ACTIONS(3684),
    [anon_sym_begin] = ACTIONS(3686),
    [anon_sym_PLUS] = ACTIONS(3688),
    [anon_sym_defined_QMARK] = ACTIONS(3690),
    [anon_sym_not] = ACTIONS(3692),
    [anon_sym_BANG] = ACTIONS(3694),
    [anon_sym_TILDE] = ACTIONS(3694),
    [sym_constant] = ACTIONS(3458),
    [sym_identifier] = ACTIONS(3458),
    [sym_instance_variable] = ACTIONS(3460),
    [sym_class_variable] = ACTIONS(3460),
    [sym_global_variable] = ACTIONS(3460),
    [anon_sym_false] = ACTIONS(3462),
    [anon_sym_nil] = ACTIONS(3464),
    [anon_sym_self] = ACTIONS(3466),
    [anon_sym_super] = ACTIONS(3468),
    [anon_sym_true] = ACTIONS(3470),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3696),
    [sym_float] = ACTIONS(3698),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3700),
    [anon_sym_TRUE] = ACTIONS(3470),
    [anon_sym_FALSE] = ACTIONS(3462),
    [anon_sym_NIL] = ACTIONS(3464),
    [sym_keyword__FILE__] = ACTIONS(3702),
    [sym_keyword__LINE__] = ACTIONS(3702),
    [sym_keyword__ENCODING__] = ACTIONS(3702),
    [sym__character_literal] = ACTIONS(3704),
    [anon_sym_LBRACK] = ACTIONS(3706),
    [anon_sym_DASH_GT] = ACTIONS(3708),
  },
  [5342] = {
    [sym_method] = STATE(2460),
    [sym_singleton_method] = STATE(2460),
    [sym_class] = STATE(2460),
    [sym_singleton_class] = STATE(2460),
    [sym_module] = STATE(2460),
    [sym_return] = STATE(2460),
    [sym_yield] = STATE(2460),
    [sym_break] = STATE(2460),
    [sym_next] = STATE(2460),
    [sym_redo] = STATE(2460),
    [sym_retry] = STATE(2460),
    [sym_while] = STATE(2460),
    [sym_until] = STATE(2460),
    [sym_for] = STATE(2460),
    [sym_case] = STATE(2460),
    [sym_if] = STATE(2460),
    [sym_unless] = STATE(2460),
    [sym_begin] = STATE(2460),
    [sym__arg] = STATE(8672),
    [sym__primary] = STATE(2488),
    [sym_parenthesized_statements] = STATE(2460),
    [sym_element_reference] = STATE(2282),
    [sym_scope_resolution] = STATE(2489),
    [sym_call] = STATE(2489),
    [sym_method_call] = STATE(2282),
    [sym_assignment] = STATE(2490),
    [sym_operator_assignment] = STATE(2490),
    [sym_conditional] = STATE(2490),
    [sym_range] = STATE(2490),
    [sym_binary] = STATE(2490),
    [sym_unary] = STATE(2490),
    [sym_left_assignment_list] = STATE(2491),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2492),
    [sym__variable] = STATE(2489),
    [sym_symbol] = STATE(2460),
    [sym_complex] = STATE(2460),
    [sym_rational] = STATE(2460),
    [sym_super] = STATE(2274),
    [sym_true] = STATE(2282),
    [sym_false] = STATE(2282),
    [sym_self] = STATE(2274),
    [sym_nil] = STATE(2282),
    [sym_chained_string] = STATE(2460),
    [sym_string] = STATE(2493),
    [sym_subshell] = STATE(2460),
    [sym_array] = STATE(2460),
    [sym_hash] = STATE(2460),
    [sym_regex] = STATE(2460),
    [sym_lambda] = STATE(2460),
    [sym__simple_string] = ACTIONS(3628),
    [sym__simple_symbol] = ACTIONS(3630),
    [sym__simple_subshell] = ACTIONS(3632),
    [sym__simple_regex] = ACTIONS(3634),
    [sym__simple_word_list] = ACTIONS(3636),
    [sym__string_beginning] = ACTIONS(3638),
    [sym__symbol_beginning] = ACTIONS(3640),
    [sym__subshell_beginning] = ACTIONS(3642),
    [sym__regex_beginning] = ACTIONS(3644),
    [sym__word_list_beginning] = ACTIONS(3646),
    [sym_heredoc_beginning] = ACTIONS(3648),
    [sym__unary_minus] = ACTIONS(3650),
    [anon_sym_LBRACE] = ACTIONS(3652),
    [anon_sym_def] = ACTIONS(3654),
    [anon_sym_LPAREN] = ACTIONS(3656),
    [anon_sym_COLON_COLON] = ACTIONS(3418),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3658),
    [anon_sym_module] = ACTIONS(3660),
    [anon_sym_return] = ACTIONS(3662),
    [anon_sym_yield] = ACTIONS(3664),
    [anon_sym_break] = ACTIONS(3666),
    [anon_sym_next] = ACTIONS(3668),
    [anon_sym_redo] = ACTIONS(3670),
    [anon_sym_retry] = ACTIONS(3672),
    [anon_sym_if] = ACTIONS(3674),
    [anon_sym_unless] = ACTIONS(3676),
    [anon_sym_while] = ACTIONS(3678),
    [anon_sym_until] = ACTIONS(3680),
    [anon_sym_for] = ACTIONS(3682),
    [anon_sym_case] = ACTIONS(3684),
    [anon_sym_begin] = ACTIONS(3686),
    [anon_sym_PLUS] = ACTIONS(3688),
    [anon_sym_defined_QMARK] = ACTIONS(3690),
    [anon_sym_not] = ACTIONS(3692),
    [anon_sym_BANG] = ACTIONS(3694),
    [anon_sym_TILDE] = ACTIONS(3694),
    [sym_constant] = ACTIONS(3458),
    [sym_identifier] = ACTIONS(3458),
    [sym_instance_variable] = ACTIONS(3460),
    [sym_class_variable] = ACTIONS(3460),
    [sym_global_variable] = ACTIONS(3460),
    [anon_sym_false] = ACTIONS(3462),
    [anon_sym_nil] = ACTIONS(3464),
    [anon_sym_self] = ACTIONS(3466),
    [anon_sym_super] = ACTIONS(3468),
    [anon_sym_true] = ACTIONS(3470),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3696),
    [sym_float] = ACTIONS(3698),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3700),
    [anon_sym_TRUE] = ACTIONS(3470),
    [anon_sym_FALSE] = ACTIONS(3462),
    [anon_sym_NIL] = ACTIONS(3464),
    [sym_keyword__FILE__] = ACTIONS(3702),
    [sym_keyword__LINE__] = ACTIONS(3702),
    [sym_keyword__ENCODING__] = ACTIONS(3702),
    [sym__character_literal] = ACTIONS(3704),
    [anon_sym_LBRACK] = ACTIONS(3706),
    [anon_sym_DASH_GT] = ACTIONS(3708),
  },
  [5343] = {
    [sym_method] = STATE(2460),
    [sym_singleton_method] = STATE(2460),
    [sym_class] = STATE(2460),
    [sym_singleton_class] = STATE(2460),
    [sym_module] = STATE(2460),
    [sym_return] = STATE(2460),
    [sym_yield] = STATE(2460),
    [sym_break] = STATE(2460),
    [sym_next] = STATE(2460),
    [sym_redo] = STATE(2460),
    [sym_retry] = STATE(2460),
    [sym_while] = STATE(2460),
    [sym_until] = STATE(2460),
    [sym_for] = STATE(2460),
    [sym_case] = STATE(2460),
    [sym_if] = STATE(2460),
    [sym_unless] = STATE(2460),
    [sym_begin] = STATE(2460),
    [sym__arg] = STATE(8673),
    [sym__primary] = STATE(2488),
    [sym_parenthesized_statements] = STATE(2460),
    [sym_element_reference] = STATE(2282),
    [sym_scope_resolution] = STATE(2489),
    [sym_call] = STATE(2489),
    [sym_method_call] = STATE(2282),
    [sym_assignment] = STATE(2490),
    [sym_operator_assignment] = STATE(2490),
    [sym_conditional] = STATE(2490),
    [sym_range] = STATE(2490),
    [sym_binary] = STATE(2490),
    [sym_unary] = STATE(2490),
    [sym_left_assignment_list] = STATE(2491),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2492),
    [sym__variable] = STATE(2489),
    [sym_symbol] = STATE(2460),
    [sym_complex] = STATE(2460),
    [sym_rational] = STATE(2460),
    [sym_super] = STATE(2274),
    [sym_true] = STATE(2282),
    [sym_false] = STATE(2282),
    [sym_self] = STATE(2274),
    [sym_nil] = STATE(2282),
    [sym_chained_string] = STATE(2460),
    [sym_string] = STATE(2493),
    [sym_subshell] = STATE(2460),
    [sym_array] = STATE(2460),
    [sym_hash] = STATE(2460),
    [sym_regex] = STATE(2460),
    [sym_lambda] = STATE(2460),
    [sym__simple_string] = ACTIONS(3628),
    [sym__simple_symbol] = ACTIONS(3630),
    [sym__simple_subshell] = ACTIONS(3632),
    [sym__simple_regex] = ACTIONS(3634),
    [sym__simple_word_list] = ACTIONS(3636),
    [sym__string_beginning] = ACTIONS(3638),
    [sym__symbol_beginning] = ACTIONS(3640),
    [sym__subshell_beginning] = ACTIONS(3642),
    [sym__regex_beginning] = ACTIONS(3644),
    [sym__word_list_beginning] = ACTIONS(3646),
    [sym_heredoc_beginning] = ACTIONS(3648),
    [sym__unary_minus] = ACTIONS(3650),
    [anon_sym_LBRACE] = ACTIONS(3652),
    [anon_sym_def] = ACTIONS(3654),
    [anon_sym_LPAREN] = ACTIONS(3656),
    [anon_sym_COLON_COLON] = ACTIONS(3418),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3658),
    [anon_sym_module] = ACTIONS(3660),
    [anon_sym_return] = ACTIONS(3662),
    [anon_sym_yield] = ACTIONS(3664),
    [anon_sym_break] = ACTIONS(3666),
    [anon_sym_next] = ACTIONS(3668),
    [anon_sym_redo] = ACTIONS(3670),
    [anon_sym_retry] = ACTIONS(3672),
    [anon_sym_if] = ACTIONS(3674),
    [anon_sym_unless] = ACTIONS(3676),
    [anon_sym_while] = ACTIONS(3678),
    [anon_sym_until] = ACTIONS(3680),
    [anon_sym_for] = ACTIONS(3682),
    [anon_sym_case] = ACTIONS(3684),
    [anon_sym_begin] = ACTIONS(3686),
    [anon_sym_PLUS] = ACTIONS(3688),
    [anon_sym_defined_QMARK] = ACTIONS(3690),
    [anon_sym_not] = ACTIONS(3692),
    [anon_sym_BANG] = ACTIONS(3694),
    [anon_sym_TILDE] = ACTIONS(3694),
    [sym_constant] = ACTIONS(3458),
    [sym_identifier] = ACTIONS(3458),
    [sym_instance_variable] = ACTIONS(3460),
    [sym_class_variable] = ACTIONS(3460),
    [sym_global_variable] = ACTIONS(3460),
    [anon_sym_false] = ACTIONS(3462),
    [anon_sym_nil] = ACTIONS(3464),
    [anon_sym_self] = ACTIONS(3466),
    [anon_sym_super] = ACTIONS(3468),
    [anon_sym_true] = ACTIONS(3470),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3696),
    [sym_float] = ACTIONS(3698),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3700),
    [anon_sym_TRUE] = ACTIONS(3470),
    [anon_sym_FALSE] = ACTIONS(3462),
    [anon_sym_NIL] = ACTIONS(3464),
    [sym_keyword__FILE__] = ACTIONS(3702),
    [sym_keyword__LINE__] = ACTIONS(3702),
    [sym_keyword__ENCODING__] = ACTIONS(3702),
    [sym__character_literal] = ACTIONS(3704),
    [anon_sym_LBRACK] = ACTIONS(3706),
    [anon_sym_DASH_GT] = ACTIONS(3708),
  },
  [5344] = {
    [sym_method] = STATE(2460),
    [sym_singleton_method] = STATE(2460),
    [sym_class] = STATE(2460),
    [sym_singleton_class] = STATE(2460),
    [sym_module] = STATE(2460),
    [sym_return] = STATE(2460),
    [sym_yield] = STATE(2460),
    [sym_break] = STATE(2460),
    [sym_next] = STATE(2460),
    [sym_redo] = STATE(2460),
    [sym_retry] = STATE(2460),
    [sym_while] = STATE(2460),
    [sym_until] = STATE(2460),
    [sym_for] = STATE(2460),
    [sym_case] = STATE(2460),
    [sym_if] = STATE(2460),
    [sym_unless] = STATE(2460),
    [sym_begin] = STATE(2460),
    [sym__arg] = STATE(8674),
    [sym__primary] = STATE(2488),
    [sym_parenthesized_statements] = STATE(2460),
    [sym_element_reference] = STATE(2282),
    [sym_scope_resolution] = STATE(2489),
    [sym_call] = STATE(2489),
    [sym_method_call] = STATE(2282),
    [sym_assignment] = STATE(2490),
    [sym_operator_assignment] = STATE(2490),
    [sym_conditional] = STATE(2490),
    [sym_range] = STATE(2490),
    [sym_binary] = STATE(2490),
    [sym_unary] = STATE(2490),
    [sym_left_assignment_list] = STATE(2491),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2492),
    [sym__variable] = STATE(2489),
    [sym_symbol] = STATE(2460),
    [sym_complex] = STATE(2460),
    [sym_rational] = STATE(2460),
    [sym_super] = STATE(2274),
    [sym_true] = STATE(2282),
    [sym_false] = STATE(2282),
    [sym_self] = STATE(2274),
    [sym_nil] = STATE(2282),
    [sym_chained_string] = STATE(2460),
    [sym_string] = STATE(2493),
    [sym_subshell] = STATE(2460),
    [sym_array] = STATE(2460),
    [sym_hash] = STATE(2460),
    [sym_regex] = STATE(2460),
    [sym_lambda] = STATE(2460),
    [sym__simple_string] = ACTIONS(3628),
    [sym__simple_symbol] = ACTIONS(3630),
    [sym__simple_subshell] = ACTIONS(3632),
    [sym__simple_regex] = ACTIONS(3634),
    [sym__simple_word_list] = ACTIONS(3636),
    [sym__string_beginning] = ACTIONS(3638),
    [sym__symbol_beginning] = ACTIONS(3640),
    [sym__subshell_beginning] = ACTIONS(3642),
    [sym__regex_beginning] = ACTIONS(3644),
    [sym__word_list_beginning] = ACTIONS(3646),
    [sym_heredoc_beginning] = ACTIONS(3648),
    [sym__unary_minus] = ACTIONS(3650),
    [anon_sym_LBRACE] = ACTIONS(3652),
    [anon_sym_def] = ACTIONS(3654),
    [anon_sym_LPAREN] = ACTIONS(3656),
    [anon_sym_COLON_COLON] = ACTIONS(3418),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3658),
    [anon_sym_module] = ACTIONS(3660),
    [anon_sym_return] = ACTIONS(3662),
    [anon_sym_yield] = ACTIONS(3664),
    [anon_sym_break] = ACTIONS(3666),
    [anon_sym_next] = ACTIONS(3668),
    [anon_sym_redo] = ACTIONS(3670),
    [anon_sym_retry] = ACTIONS(3672),
    [anon_sym_if] = ACTIONS(3674),
    [anon_sym_unless] = ACTIONS(3676),
    [anon_sym_while] = ACTIONS(3678),
    [anon_sym_until] = ACTIONS(3680),
    [anon_sym_for] = ACTIONS(3682),
    [anon_sym_case] = ACTIONS(3684),
    [anon_sym_begin] = ACTIONS(3686),
    [anon_sym_PLUS] = ACTIONS(3688),
    [anon_sym_defined_QMARK] = ACTIONS(3690),
    [anon_sym_not] = ACTIONS(3692),
    [anon_sym_BANG] = ACTIONS(3694),
    [anon_sym_TILDE] = ACTIONS(3694),
    [sym_constant] = ACTIONS(3458),
    [sym_identifier] = ACTIONS(3458),
    [sym_instance_variable] = ACTIONS(3460),
    [sym_class_variable] = ACTIONS(3460),
    [sym_global_variable] = ACTIONS(3460),
    [anon_sym_false] = ACTIONS(3462),
    [anon_sym_nil] = ACTIONS(3464),
    [anon_sym_self] = ACTIONS(3466),
    [anon_sym_super] = ACTIONS(3468),
    [anon_sym_true] = ACTIONS(3470),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3696),
    [sym_float] = ACTIONS(3698),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3700),
    [anon_sym_TRUE] = ACTIONS(3470),
    [anon_sym_FALSE] = ACTIONS(3462),
    [anon_sym_NIL] = ACTIONS(3464),
    [sym_keyword__FILE__] = ACTIONS(3702),
    [sym_keyword__LINE__] = ACTIONS(3702),
    [sym_keyword__ENCODING__] = ACTIONS(3702),
    [sym__character_literal] = ACTIONS(3704),
    [anon_sym_LBRACK] = ACTIONS(3706),
    [anon_sym_DASH_GT] = ACTIONS(3708),
  },
  [5345] = {
    [sym_method] = STATE(2460),
    [sym_singleton_method] = STATE(2460),
    [sym_class] = STATE(2460),
    [sym_singleton_class] = STATE(2460),
    [sym_module] = STATE(2460),
    [sym_return] = STATE(2460),
    [sym_yield] = STATE(2460),
    [sym_break] = STATE(2460),
    [sym_next] = STATE(2460),
    [sym_redo] = STATE(2460),
    [sym_retry] = STATE(2460),
    [sym_while] = STATE(2460),
    [sym_until] = STATE(2460),
    [sym_for] = STATE(2460),
    [sym_case] = STATE(2460),
    [sym_if] = STATE(2460),
    [sym_unless] = STATE(2460),
    [sym_begin] = STATE(2460),
    [sym__arg] = STATE(8675),
    [sym__primary] = STATE(2488),
    [sym_parenthesized_statements] = STATE(2460),
    [sym_element_reference] = STATE(2282),
    [sym_scope_resolution] = STATE(2489),
    [sym_call] = STATE(2489),
    [sym_method_call] = STATE(2282),
    [sym_assignment] = STATE(2490),
    [sym_operator_assignment] = STATE(2490),
    [sym_conditional] = STATE(2490),
    [sym_range] = STATE(2490),
    [sym_binary] = STATE(2490),
    [sym_unary] = STATE(2490),
    [sym_left_assignment_list] = STATE(2491),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2492),
    [sym__variable] = STATE(2489),
    [sym_symbol] = STATE(2460),
    [sym_complex] = STATE(2460),
    [sym_rational] = STATE(2460),
    [sym_super] = STATE(2274),
    [sym_true] = STATE(2282),
    [sym_false] = STATE(2282),
    [sym_self] = STATE(2274),
    [sym_nil] = STATE(2282),
    [sym_chained_string] = STATE(2460),
    [sym_string] = STATE(2493),
    [sym_subshell] = STATE(2460),
    [sym_array] = STATE(2460),
    [sym_hash] = STATE(2460),
    [sym_regex] = STATE(2460),
    [sym_lambda] = STATE(2460),
    [sym__simple_string] = ACTIONS(3628),
    [sym__simple_symbol] = ACTIONS(3630),
    [sym__simple_subshell] = ACTIONS(3632),
    [sym__simple_regex] = ACTIONS(3634),
    [sym__simple_word_list] = ACTIONS(3636),
    [sym__string_beginning] = ACTIONS(3638),
    [sym__symbol_beginning] = ACTIONS(3640),
    [sym__subshell_beginning] = ACTIONS(3642),
    [sym__regex_beginning] = ACTIONS(3644),
    [sym__word_list_beginning] = ACTIONS(3646),
    [sym_heredoc_beginning] = ACTIONS(3648),
    [sym__unary_minus] = ACTIONS(3650),
    [anon_sym_LBRACE] = ACTIONS(3652),
    [anon_sym_def] = ACTIONS(3654),
    [anon_sym_LPAREN] = ACTIONS(3656),
    [anon_sym_COLON_COLON] = ACTIONS(3418),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3658),
    [anon_sym_module] = ACTIONS(3660),
    [anon_sym_return] = ACTIONS(3662),
    [anon_sym_yield] = ACTIONS(3664),
    [anon_sym_break] = ACTIONS(3666),
    [anon_sym_next] = ACTIONS(3668),
    [anon_sym_redo] = ACTIONS(3670),
    [anon_sym_retry] = ACTIONS(3672),
    [anon_sym_if] = ACTIONS(3674),
    [anon_sym_unless] = ACTIONS(3676),
    [anon_sym_while] = ACTIONS(3678),
    [anon_sym_until] = ACTIONS(3680),
    [anon_sym_for] = ACTIONS(3682),
    [anon_sym_case] = ACTIONS(3684),
    [anon_sym_begin] = ACTIONS(3686),
    [anon_sym_PLUS] = ACTIONS(3688),
    [anon_sym_defined_QMARK] = ACTIONS(3690),
    [anon_sym_not] = ACTIONS(3692),
    [anon_sym_BANG] = ACTIONS(3694),
    [anon_sym_TILDE] = ACTIONS(3694),
    [sym_constant] = ACTIONS(3458),
    [sym_identifier] = ACTIONS(3458),
    [sym_instance_variable] = ACTIONS(3460),
    [sym_class_variable] = ACTIONS(3460),
    [sym_global_variable] = ACTIONS(3460),
    [anon_sym_false] = ACTIONS(3462),
    [anon_sym_nil] = ACTIONS(3464),
    [anon_sym_self] = ACTIONS(3466),
    [anon_sym_super] = ACTIONS(3468),
    [anon_sym_true] = ACTIONS(3470),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3696),
    [sym_float] = ACTIONS(3698),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3700),
    [anon_sym_TRUE] = ACTIONS(3470),
    [anon_sym_FALSE] = ACTIONS(3462),
    [anon_sym_NIL] = ACTIONS(3464),
    [sym_keyword__FILE__] = ACTIONS(3702),
    [sym_keyword__LINE__] = ACTIONS(3702),
    [sym_keyword__ENCODING__] = ACTIONS(3702),
    [sym__character_literal] = ACTIONS(3704),
    [anon_sym_LBRACK] = ACTIONS(3706),
    [anon_sym_DASH_GT] = ACTIONS(3708),
  },
  [5346] = {
    [sym_method] = STATE(2460),
    [sym_singleton_method] = STATE(2460),
    [sym_class] = STATE(2460),
    [sym_singleton_class] = STATE(2460),
    [sym_module] = STATE(2460),
    [sym_return] = STATE(2460),
    [sym_yield] = STATE(2460),
    [sym_break] = STATE(2460),
    [sym_next] = STATE(2460),
    [sym_redo] = STATE(2460),
    [sym_retry] = STATE(2460),
    [sym_while] = STATE(2460),
    [sym_until] = STATE(2460),
    [sym_for] = STATE(2460),
    [sym_case] = STATE(2460),
    [sym_if] = STATE(2460),
    [sym_unless] = STATE(2460),
    [sym_begin] = STATE(2460),
    [sym__arg] = STATE(8676),
    [sym__primary] = STATE(2488),
    [sym_parenthesized_statements] = STATE(2460),
    [sym_element_reference] = STATE(2282),
    [sym_scope_resolution] = STATE(2489),
    [sym_call] = STATE(2489),
    [sym_method_call] = STATE(2282),
    [sym_assignment] = STATE(2490),
    [sym_operator_assignment] = STATE(2490),
    [sym_conditional] = STATE(2490),
    [sym_range] = STATE(2490),
    [sym_binary] = STATE(2490),
    [sym_unary] = STATE(2490),
    [sym_left_assignment_list] = STATE(2491),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2492),
    [sym__variable] = STATE(2489),
    [sym_symbol] = STATE(2460),
    [sym_complex] = STATE(2460),
    [sym_rational] = STATE(2460),
    [sym_super] = STATE(2274),
    [sym_true] = STATE(2282),
    [sym_false] = STATE(2282),
    [sym_self] = STATE(2274),
    [sym_nil] = STATE(2282),
    [sym_chained_string] = STATE(2460),
    [sym_string] = STATE(2493),
    [sym_subshell] = STATE(2460),
    [sym_array] = STATE(2460),
    [sym_hash] = STATE(2460),
    [sym_regex] = STATE(2460),
    [sym_lambda] = STATE(2460),
    [sym__simple_string] = ACTIONS(3628),
    [sym__simple_symbol] = ACTIONS(3630),
    [sym__simple_subshell] = ACTIONS(3632),
    [sym__simple_regex] = ACTIONS(3634),
    [sym__simple_word_list] = ACTIONS(3636),
    [sym__string_beginning] = ACTIONS(3638),
    [sym__symbol_beginning] = ACTIONS(3640),
    [sym__subshell_beginning] = ACTIONS(3642),
    [sym__regex_beginning] = ACTIONS(3644),
    [sym__word_list_beginning] = ACTIONS(3646),
    [sym_heredoc_beginning] = ACTIONS(3648),
    [sym__unary_minus] = ACTIONS(3650),
    [anon_sym_LBRACE] = ACTIONS(3652),
    [anon_sym_def] = ACTIONS(3654),
    [anon_sym_LPAREN] = ACTIONS(3656),
    [anon_sym_COLON_COLON] = ACTIONS(3418),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3658),
    [anon_sym_module] = ACTIONS(3660),
    [anon_sym_return] = ACTIONS(3662),
    [anon_sym_yield] = ACTIONS(3664),
    [anon_sym_break] = ACTIONS(3666),
    [anon_sym_next] = ACTIONS(3668),
    [anon_sym_redo] = ACTIONS(3670),
    [anon_sym_retry] = ACTIONS(3672),
    [anon_sym_if] = ACTIONS(3674),
    [anon_sym_unless] = ACTIONS(3676),
    [anon_sym_while] = ACTIONS(3678),
    [anon_sym_until] = ACTIONS(3680),
    [anon_sym_for] = ACTIONS(3682),
    [anon_sym_case] = ACTIONS(3684),
    [anon_sym_begin] = ACTIONS(3686),
    [anon_sym_PLUS] = ACTIONS(3688),
    [anon_sym_defined_QMARK] = ACTIONS(3690),
    [anon_sym_not] = ACTIONS(3692),
    [anon_sym_BANG] = ACTIONS(3694),
    [anon_sym_TILDE] = ACTIONS(3694),
    [sym_constant] = ACTIONS(3458),
    [sym_identifier] = ACTIONS(3458),
    [sym_instance_variable] = ACTIONS(3460),
    [sym_class_variable] = ACTIONS(3460),
    [sym_global_variable] = ACTIONS(3460),
    [anon_sym_false] = ACTIONS(3462),
    [anon_sym_nil] = ACTIONS(3464),
    [anon_sym_self] = ACTIONS(3466),
    [anon_sym_super] = ACTIONS(3468),
    [anon_sym_true] = ACTIONS(3470),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3696),
    [sym_float] = ACTIONS(3698),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3700),
    [anon_sym_TRUE] = ACTIONS(3470),
    [anon_sym_FALSE] = ACTIONS(3462),
    [anon_sym_NIL] = ACTIONS(3464),
    [sym_keyword__FILE__] = ACTIONS(3702),
    [sym_keyword__LINE__] = ACTIONS(3702),
    [sym_keyword__ENCODING__] = ACTIONS(3702),
    [sym__character_literal] = ACTIONS(3704),
    [anon_sym_LBRACK] = ACTIONS(3706),
    [anon_sym_DASH_GT] = ACTIONS(3708),
  },
  [5347] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(8677),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [5348] = {
    [sym_method] = STATE(2460),
    [sym_singleton_method] = STATE(2460),
    [sym_class] = STATE(2460),
    [sym_singleton_class] = STATE(2460),
    [sym_module] = STATE(2460),
    [sym_return] = STATE(2460),
    [sym_yield] = STATE(2460),
    [sym_break] = STATE(2460),
    [sym_next] = STATE(2460),
    [sym_redo] = STATE(2460),
    [sym_retry] = STATE(2460),
    [sym_while] = STATE(2460),
    [sym_until] = STATE(2460),
    [sym_for] = STATE(2460),
    [sym_case] = STATE(2460),
    [sym_if] = STATE(2460),
    [sym_unless] = STATE(2460),
    [sym_begin] = STATE(2460),
    [sym__arg] = STATE(8678),
    [sym__primary] = STATE(2488),
    [sym_parenthesized_statements] = STATE(2460),
    [sym_element_reference] = STATE(2282),
    [sym_scope_resolution] = STATE(2489),
    [sym_call] = STATE(2489),
    [sym_method_call] = STATE(2282),
    [sym_assignment] = STATE(2490),
    [sym_operator_assignment] = STATE(2490),
    [sym_conditional] = STATE(2490),
    [sym_range] = STATE(2490),
    [sym_binary] = STATE(2490),
    [sym_unary] = STATE(2490),
    [sym_left_assignment_list] = STATE(2491),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2492),
    [sym__variable] = STATE(2489),
    [sym_symbol] = STATE(2460),
    [sym_complex] = STATE(2460),
    [sym_rational] = STATE(2460),
    [sym_super] = STATE(2274),
    [sym_true] = STATE(2282),
    [sym_false] = STATE(2282),
    [sym_self] = STATE(2274),
    [sym_nil] = STATE(2282),
    [sym_chained_string] = STATE(2460),
    [sym_string] = STATE(2493),
    [sym_subshell] = STATE(2460),
    [sym_array] = STATE(2460),
    [sym_hash] = STATE(2460),
    [sym_regex] = STATE(2460),
    [sym_lambda] = STATE(2460),
    [sym__simple_string] = ACTIONS(3628),
    [sym__simple_symbol] = ACTIONS(3630),
    [sym__simple_subshell] = ACTIONS(3632),
    [sym__simple_regex] = ACTIONS(3634),
    [sym__simple_word_list] = ACTIONS(3636),
    [sym__string_beginning] = ACTIONS(3638),
    [sym__symbol_beginning] = ACTIONS(3640),
    [sym__subshell_beginning] = ACTIONS(3642),
    [sym__regex_beginning] = ACTIONS(3644),
    [sym__word_list_beginning] = ACTIONS(3646),
    [sym_heredoc_beginning] = ACTIONS(3648),
    [sym__unary_minus] = ACTIONS(3650),
    [anon_sym_LBRACE] = ACTIONS(3652),
    [anon_sym_def] = ACTIONS(3654),
    [anon_sym_LPAREN] = ACTIONS(3656),
    [anon_sym_COLON_COLON] = ACTIONS(3418),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3658),
    [anon_sym_module] = ACTIONS(3660),
    [anon_sym_return] = ACTIONS(3662),
    [anon_sym_yield] = ACTIONS(3664),
    [anon_sym_break] = ACTIONS(3666),
    [anon_sym_next] = ACTIONS(3668),
    [anon_sym_redo] = ACTIONS(3670),
    [anon_sym_retry] = ACTIONS(3672),
    [anon_sym_if] = ACTIONS(3674),
    [anon_sym_unless] = ACTIONS(3676),
    [anon_sym_while] = ACTIONS(3678),
    [anon_sym_until] = ACTIONS(3680),
    [anon_sym_for] = ACTIONS(3682),
    [anon_sym_case] = ACTIONS(3684),
    [anon_sym_begin] = ACTIONS(3686),
    [anon_sym_PLUS] = ACTIONS(3688),
    [anon_sym_defined_QMARK] = ACTIONS(3690),
    [anon_sym_not] = ACTIONS(3692),
    [anon_sym_BANG] = ACTIONS(3694),
    [anon_sym_TILDE] = ACTIONS(3694),
    [sym_constant] = ACTIONS(3458),
    [sym_identifier] = ACTIONS(3458),
    [sym_instance_variable] = ACTIONS(3460),
    [sym_class_variable] = ACTIONS(3460),
    [sym_global_variable] = ACTIONS(3460),
    [anon_sym_false] = ACTIONS(3462),
    [anon_sym_nil] = ACTIONS(3464),
    [anon_sym_self] = ACTIONS(3466),
    [anon_sym_super] = ACTIONS(3468),
    [anon_sym_true] = ACTIONS(3470),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3696),
    [sym_float] = ACTIONS(3698),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3700),
    [anon_sym_TRUE] = ACTIONS(3470),
    [anon_sym_FALSE] = ACTIONS(3462),
    [anon_sym_NIL] = ACTIONS(3464),
    [sym_keyword__FILE__] = ACTIONS(3702),
    [sym_keyword__LINE__] = ACTIONS(3702),
    [sym_keyword__ENCODING__] = ACTIONS(3702),
    [sym__character_literal] = ACTIONS(3704),
    [anon_sym_LBRACK] = ACTIONS(3706),
    [anon_sym_DASH_GT] = ACTIONS(3708),
  },
  [5349] = {
    [sym_method] = STATE(2460),
    [sym_singleton_method] = STATE(2460),
    [sym_class] = STATE(2460),
    [sym_singleton_class] = STATE(2460),
    [sym_module] = STATE(2460),
    [sym_return] = STATE(2460),
    [sym_yield] = STATE(2460),
    [sym_break] = STATE(2460),
    [sym_next] = STATE(2460),
    [sym_redo] = STATE(2460),
    [sym_retry] = STATE(2460),
    [sym_while] = STATE(2460),
    [sym_until] = STATE(2460),
    [sym_for] = STATE(2460),
    [sym_case] = STATE(2460),
    [sym_if] = STATE(2460),
    [sym_unless] = STATE(2460),
    [sym_begin] = STATE(2460),
    [sym__arg] = STATE(8679),
    [sym__primary] = STATE(2488),
    [sym_parenthesized_statements] = STATE(2460),
    [sym_element_reference] = STATE(2282),
    [sym_scope_resolution] = STATE(2489),
    [sym_call] = STATE(2489),
    [sym_method_call] = STATE(2282),
    [sym_assignment] = STATE(2490),
    [sym_operator_assignment] = STATE(2490),
    [sym_conditional] = STATE(2490),
    [sym_range] = STATE(2490),
    [sym_binary] = STATE(2490),
    [sym_unary] = STATE(2490),
    [sym_left_assignment_list] = STATE(2491),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2492),
    [sym__variable] = STATE(2489),
    [sym_symbol] = STATE(2460),
    [sym_complex] = STATE(2460),
    [sym_rational] = STATE(2460),
    [sym_super] = STATE(2274),
    [sym_true] = STATE(2282),
    [sym_false] = STATE(2282),
    [sym_self] = STATE(2274),
    [sym_nil] = STATE(2282),
    [sym_chained_string] = STATE(2460),
    [sym_string] = STATE(2493),
    [sym_subshell] = STATE(2460),
    [sym_array] = STATE(2460),
    [sym_hash] = STATE(2460),
    [sym_regex] = STATE(2460),
    [sym_lambda] = STATE(2460),
    [sym__simple_string] = ACTIONS(3628),
    [sym__simple_symbol] = ACTIONS(3630),
    [sym__simple_subshell] = ACTIONS(3632),
    [sym__simple_regex] = ACTIONS(3634),
    [sym__simple_word_list] = ACTIONS(3636),
    [sym__string_beginning] = ACTIONS(3638),
    [sym__symbol_beginning] = ACTIONS(3640),
    [sym__subshell_beginning] = ACTIONS(3642),
    [sym__regex_beginning] = ACTIONS(3644),
    [sym__word_list_beginning] = ACTIONS(3646),
    [sym_heredoc_beginning] = ACTIONS(3648),
    [sym__unary_minus] = ACTIONS(3650),
    [anon_sym_LBRACE] = ACTIONS(3652),
    [anon_sym_def] = ACTIONS(3654),
    [anon_sym_LPAREN] = ACTIONS(3656),
    [anon_sym_COLON_COLON] = ACTIONS(3418),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3658),
    [anon_sym_module] = ACTIONS(3660),
    [anon_sym_return] = ACTIONS(3662),
    [anon_sym_yield] = ACTIONS(3664),
    [anon_sym_break] = ACTIONS(3666),
    [anon_sym_next] = ACTIONS(3668),
    [anon_sym_redo] = ACTIONS(3670),
    [anon_sym_retry] = ACTIONS(3672),
    [anon_sym_if] = ACTIONS(3674),
    [anon_sym_unless] = ACTIONS(3676),
    [anon_sym_while] = ACTIONS(3678),
    [anon_sym_until] = ACTIONS(3680),
    [anon_sym_for] = ACTIONS(3682),
    [anon_sym_case] = ACTIONS(3684),
    [anon_sym_begin] = ACTIONS(3686),
    [anon_sym_PLUS] = ACTIONS(3688),
    [anon_sym_defined_QMARK] = ACTIONS(3690),
    [anon_sym_not] = ACTIONS(3692),
    [anon_sym_BANG] = ACTIONS(3694),
    [anon_sym_TILDE] = ACTIONS(3694),
    [sym_constant] = ACTIONS(3458),
    [sym_identifier] = ACTIONS(3458),
    [sym_instance_variable] = ACTIONS(3460),
    [sym_class_variable] = ACTIONS(3460),
    [sym_global_variable] = ACTIONS(3460),
    [anon_sym_false] = ACTIONS(3462),
    [anon_sym_nil] = ACTIONS(3464),
    [anon_sym_self] = ACTIONS(3466),
    [anon_sym_super] = ACTIONS(3468),
    [anon_sym_true] = ACTIONS(3470),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3696),
    [sym_float] = ACTIONS(3698),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3700),
    [anon_sym_TRUE] = ACTIONS(3470),
    [anon_sym_FALSE] = ACTIONS(3462),
    [anon_sym_NIL] = ACTIONS(3464),
    [sym_keyword__FILE__] = ACTIONS(3702),
    [sym_keyword__LINE__] = ACTIONS(3702),
    [sym_keyword__ENCODING__] = ACTIONS(3702),
    [sym__character_literal] = ACTIONS(3704),
    [anon_sym_LBRACK] = ACTIONS(3706),
    [anon_sym_DASH_GT] = ACTIONS(3708),
  },
  [5350] = {
    [sym_method] = STATE(2460),
    [sym_singleton_method] = STATE(2460),
    [sym_class] = STATE(2460),
    [sym_singleton_class] = STATE(2460),
    [sym_module] = STATE(2460),
    [sym_return] = STATE(2460),
    [sym_yield] = STATE(2460),
    [sym_break] = STATE(2460),
    [sym_next] = STATE(2460),
    [sym_redo] = STATE(2460),
    [sym_retry] = STATE(2460),
    [sym_while] = STATE(2460),
    [sym_until] = STATE(2460),
    [sym_for] = STATE(2460),
    [sym_case] = STATE(2460),
    [sym_if] = STATE(2460),
    [sym_unless] = STATE(2460),
    [sym_begin] = STATE(2460),
    [sym__arg] = STATE(8680),
    [sym__primary] = STATE(2488),
    [sym_parenthesized_statements] = STATE(2460),
    [sym_element_reference] = STATE(2282),
    [sym_scope_resolution] = STATE(2489),
    [sym_call] = STATE(2489),
    [sym_method_call] = STATE(2282),
    [sym_assignment] = STATE(2490),
    [sym_operator_assignment] = STATE(2490),
    [sym_conditional] = STATE(2490),
    [sym_range] = STATE(2490),
    [sym_binary] = STATE(2490),
    [sym_unary] = STATE(2490),
    [sym_left_assignment_list] = STATE(2491),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2492),
    [sym__variable] = STATE(2489),
    [sym_symbol] = STATE(2460),
    [sym_complex] = STATE(2460),
    [sym_rational] = STATE(2460),
    [sym_super] = STATE(2274),
    [sym_true] = STATE(2282),
    [sym_false] = STATE(2282),
    [sym_self] = STATE(2274),
    [sym_nil] = STATE(2282),
    [sym_chained_string] = STATE(2460),
    [sym_string] = STATE(2493),
    [sym_subshell] = STATE(2460),
    [sym_array] = STATE(2460),
    [sym_hash] = STATE(2460),
    [sym_regex] = STATE(2460),
    [sym_lambda] = STATE(2460),
    [sym__simple_string] = ACTIONS(3628),
    [sym__simple_symbol] = ACTIONS(3630),
    [sym__simple_subshell] = ACTIONS(3632),
    [sym__simple_regex] = ACTIONS(3634),
    [sym__simple_word_list] = ACTIONS(3636),
    [sym__string_beginning] = ACTIONS(3638),
    [sym__symbol_beginning] = ACTIONS(3640),
    [sym__subshell_beginning] = ACTIONS(3642),
    [sym__regex_beginning] = ACTIONS(3644),
    [sym__word_list_beginning] = ACTIONS(3646),
    [sym_heredoc_beginning] = ACTIONS(3648),
    [sym__unary_minus] = ACTIONS(3650),
    [anon_sym_LBRACE] = ACTIONS(3652),
    [anon_sym_def] = ACTIONS(3654),
    [anon_sym_LPAREN] = ACTIONS(3656),
    [anon_sym_COLON_COLON] = ACTIONS(3418),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3658),
    [anon_sym_module] = ACTIONS(3660),
    [anon_sym_return] = ACTIONS(3662),
    [anon_sym_yield] = ACTIONS(3664),
    [anon_sym_break] = ACTIONS(3666),
    [anon_sym_next] = ACTIONS(3668),
    [anon_sym_redo] = ACTIONS(3670),
    [anon_sym_retry] = ACTIONS(3672),
    [anon_sym_if] = ACTIONS(3674),
    [anon_sym_unless] = ACTIONS(3676),
    [anon_sym_while] = ACTIONS(3678),
    [anon_sym_until] = ACTIONS(3680),
    [anon_sym_for] = ACTIONS(3682),
    [anon_sym_case] = ACTIONS(3684),
    [anon_sym_begin] = ACTIONS(3686),
    [anon_sym_PLUS] = ACTIONS(3688),
    [anon_sym_defined_QMARK] = ACTIONS(3690),
    [anon_sym_not] = ACTIONS(3692),
    [anon_sym_BANG] = ACTIONS(3694),
    [anon_sym_TILDE] = ACTIONS(3694),
    [sym_constant] = ACTIONS(3458),
    [sym_identifier] = ACTIONS(3458),
    [sym_instance_variable] = ACTIONS(3460),
    [sym_class_variable] = ACTIONS(3460),
    [sym_global_variable] = ACTIONS(3460),
    [anon_sym_false] = ACTIONS(3462),
    [anon_sym_nil] = ACTIONS(3464),
    [anon_sym_self] = ACTIONS(3466),
    [anon_sym_super] = ACTIONS(3468),
    [anon_sym_true] = ACTIONS(3470),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3696),
    [sym_float] = ACTIONS(3698),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3700),
    [anon_sym_TRUE] = ACTIONS(3470),
    [anon_sym_FALSE] = ACTIONS(3462),
    [anon_sym_NIL] = ACTIONS(3464),
    [sym_keyword__FILE__] = ACTIONS(3702),
    [sym_keyword__LINE__] = ACTIONS(3702),
    [sym_keyword__ENCODING__] = ACTIONS(3702),
    [sym__character_literal] = ACTIONS(3704),
    [anon_sym_LBRACK] = ACTIONS(3706),
    [anon_sym_DASH_GT] = ACTIONS(3708),
  },
  [5351] = {
    [sym_method] = STATE(2460),
    [sym_singleton_method] = STATE(2460),
    [sym_class] = STATE(2460),
    [sym_singleton_class] = STATE(2460),
    [sym_module] = STATE(2460),
    [sym_return] = STATE(2460),
    [sym_yield] = STATE(2460),
    [sym_break] = STATE(2460),
    [sym_next] = STATE(2460),
    [sym_redo] = STATE(2460),
    [sym_retry] = STATE(2460),
    [sym_while] = STATE(2460),
    [sym_until] = STATE(2460),
    [sym_for] = STATE(2460),
    [sym_case] = STATE(2460),
    [sym_if] = STATE(2460),
    [sym_unless] = STATE(2460),
    [sym_begin] = STATE(2460),
    [sym__arg] = STATE(8681),
    [sym__primary] = STATE(2488),
    [sym_parenthesized_statements] = STATE(2460),
    [sym_element_reference] = STATE(2282),
    [sym_scope_resolution] = STATE(2489),
    [sym_call] = STATE(2489),
    [sym_method_call] = STATE(2282),
    [sym_assignment] = STATE(2490),
    [sym_operator_assignment] = STATE(2490),
    [sym_conditional] = STATE(2490),
    [sym_range] = STATE(2490),
    [sym_binary] = STATE(2490),
    [sym_unary] = STATE(2490),
    [sym_left_assignment_list] = STATE(2491),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2492),
    [sym__variable] = STATE(2489),
    [sym_symbol] = STATE(2460),
    [sym_complex] = STATE(2460),
    [sym_rational] = STATE(2460),
    [sym_super] = STATE(2274),
    [sym_true] = STATE(2282),
    [sym_false] = STATE(2282),
    [sym_self] = STATE(2274),
    [sym_nil] = STATE(2282),
    [sym_chained_string] = STATE(2460),
    [sym_string] = STATE(2493),
    [sym_subshell] = STATE(2460),
    [sym_array] = STATE(2460),
    [sym_hash] = STATE(2460),
    [sym_regex] = STATE(2460),
    [sym_lambda] = STATE(2460),
    [sym__simple_string] = ACTIONS(3628),
    [sym__simple_symbol] = ACTIONS(3630),
    [sym__simple_subshell] = ACTIONS(3632),
    [sym__simple_regex] = ACTIONS(3634),
    [sym__simple_word_list] = ACTIONS(3636),
    [sym__string_beginning] = ACTIONS(3638),
    [sym__symbol_beginning] = ACTIONS(3640),
    [sym__subshell_beginning] = ACTIONS(3642),
    [sym__regex_beginning] = ACTIONS(3644),
    [sym__word_list_beginning] = ACTIONS(3646),
    [sym_heredoc_beginning] = ACTIONS(3648),
    [sym__unary_minus] = ACTIONS(3650),
    [anon_sym_LBRACE] = ACTIONS(3652),
    [anon_sym_def] = ACTIONS(3654),
    [anon_sym_LPAREN] = ACTIONS(3656),
    [anon_sym_COLON_COLON] = ACTIONS(3418),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3658),
    [anon_sym_module] = ACTIONS(3660),
    [anon_sym_return] = ACTIONS(3662),
    [anon_sym_yield] = ACTIONS(3664),
    [anon_sym_break] = ACTIONS(3666),
    [anon_sym_next] = ACTIONS(3668),
    [anon_sym_redo] = ACTIONS(3670),
    [anon_sym_retry] = ACTIONS(3672),
    [anon_sym_if] = ACTIONS(3674),
    [anon_sym_unless] = ACTIONS(3676),
    [anon_sym_while] = ACTIONS(3678),
    [anon_sym_until] = ACTIONS(3680),
    [anon_sym_for] = ACTIONS(3682),
    [anon_sym_case] = ACTIONS(3684),
    [anon_sym_begin] = ACTIONS(3686),
    [anon_sym_PLUS] = ACTIONS(3688),
    [anon_sym_defined_QMARK] = ACTIONS(3690),
    [anon_sym_not] = ACTIONS(3692),
    [anon_sym_BANG] = ACTIONS(3694),
    [anon_sym_TILDE] = ACTIONS(3694),
    [sym_constant] = ACTIONS(3458),
    [sym_identifier] = ACTIONS(3458),
    [sym_instance_variable] = ACTIONS(3460),
    [sym_class_variable] = ACTIONS(3460),
    [sym_global_variable] = ACTIONS(3460),
    [anon_sym_false] = ACTIONS(3462),
    [anon_sym_nil] = ACTIONS(3464),
    [anon_sym_self] = ACTIONS(3466),
    [anon_sym_super] = ACTIONS(3468),
    [anon_sym_true] = ACTIONS(3470),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3696),
    [sym_float] = ACTIONS(3698),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3700),
    [anon_sym_TRUE] = ACTIONS(3470),
    [anon_sym_FALSE] = ACTIONS(3462),
    [anon_sym_NIL] = ACTIONS(3464),
    [sym_keyword__FILE__] = ACTIONS(3702),
    [sym_keyword__LINE__] = ACTIONS(3702),
    [sym_keyword__ENCODING__] = ACTIONS(3702),
    [sym__character_literal] = ACTIONS(3704),
    [anon_sym_LBRACK] = ACTIONS(3706),
    [anon_sym_DASH_GT] = ACTIONS(3708),
  },
  [5352] = {
    [sym_method] = STATE(2460),
    [sym_singleton_method] = STATE(2460),
    [sym_class] = STATE(2460),
    [sym_singleton_class] = STATE(2460),
    [sym_module] = STATE(2460),
    [sym_return] = STATE(2460),
    [sym_yield] = STATE(2460),
    [sym_break] = STATE(2460),
    [sym_next] = STATE(2460),
    [sym_redo] = STATE(2460),
    [sym_retry] = STATE(2460),
    [sym_while] = STATE(2460),
    [sym_until] = STATE(2460),
    [sym_for] = STATE(2460),
    [sym_case] = STATE(2460),
    [sym_if] = STATE(2460),
    [sym_unless] = STATE(2460),
    [sym_begin] = STATE(2460),
    [sym__arg] = STATE(8682),
    [sym__primary] = STATE(2488),
    [sym_parenthesized_statements] = STATE(2460),
    [sym_element_reference] = STATE(2282),
    [sym_scope_resolution] = STATE(2489),
    [sym_call] = STATE(2489),
    [sym_method_call] = STATE(2282),
    [sym_assignment] = STATE(2490),
    [sym_operator_assignment] = STATE(2490),
    [sym_conditional] = STATE(2490),
    [sym_range] = STATE(2490),
    [sym_binary] = STATE(2490),
    [sym_unary] = STATE(2490),
    [sym_left_assignment_list] = STATE(2491),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2492),
    [sym__variable] = STATE(2489),
    [sym_symbol] = STATE(2460),
    [sym_complex] = STATE(2460),
    [sym_rational] = STATE(2460),
    [sym_super] = STATE(2274),
    [sym_true] = STATE(2282),
    [sym_false] = STATE(2282),
    [sym_self] = STATE(2274),
    [sym_nil] = STATE(2282),
    [sym_chained_string] = STATE(2460),
    [sym_string] = STATE(2493),
    [sym_subshell] = STATE(2460),
    [sym_array] = STATE(2460),
    [sym_hash] = STATE(2460),
    [sym_regex] = STATE(2460),
    [sym_lambda] = STATE(2460),
    [sym__simple_string] = ACTIONS(3628),
    [sym__simple_symbol] = ACTIONS(3630),
    [sym__simple_subshell] = ACTIONS(3632),
    [sym__simple_regex] = ACTIONS(3634),
    [sym__simple_word_list] = ACTIONS(3636),
    [sym__string_beginning] = ACTIONS(3638),
    [sym__symbol_beginning] = ACTIONS(3640),
    [sym__subshell_beginning] = ACTIONS(3642),
    [sym__regex_beginning] = ACTIONS(3644),
    [sym__word_list_beginning] = ACTIONS(3646),
    [sym_heredoc_beginning] = ACTIONS(3648),
    [sym__unary_minus] = ACTIONS(3650),
    [anon_sym_LBRACE] = ACTIONS(3652),
    [anon_sym_def] = ACTIONS(3654),
    [anon_sym_LPAREN] = ACTIONS(3656),
    [anon_sym_COLON_COLON] = ACTIONS(3418),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3658),
    [anon_sym_module] = ACTIONS(3660),
    [anon_sym_return] = ACTIONS(3662),
    [anon_sym_yield] = ACTIONS(3664),
    [anon_sym_break] = ACTIONS(3666),
    [anon_sym_next] = ACTIONS(3668),
    [anon_sym_redo] = ACTIONS(3670),
    [anon_sym_retry] = ACTIONS(3672),
    [anon_sym_if] = ACTIONS(3674),
    [anon_sym_unless] = ACTIONS(3676),
    [anon_sym_while] = ACTIONS(3678),
    [anon_sym_until] = ACTIONS(3680),
    [anon_sym_for] = ACTIONS(3682),
    [anon_sym_case] = ACTIONS(3684),
    [anon_sym_begin] = ACTIONS(3686),
    [anon_sym_PLUS] = ACTIONS(3688),
    [anon_sym_defined_QMARK] = ACTIONS(3690),
    [anon_sym_not] = ACTIONS(3692),
    [anon_sym_BANG] = ACTIONS(3694),
    [anon_sym_TILDE] = ACTIONS(3694),
    [sym_constant] = ACTIONS(3458),
    [sym_identifier] = ACTIONS(3458),
    [sym_instance_variable] = ACTIONS(3460),
    [sym_class_variable] = ACTIONS(3460),
    [sym_global_variable] = ACTIONS(3460),
    [anon_sym_false] = ACTIONS(3462),
    [anon_sym_nil] = ACTIONS(3464),
    [anon_sym_self] = ACTIONS(3466),
    [anon_sym_super] = ACTIONS(3468),
    [anon_sym_true] = ACTIONS(3470),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3696),
    [sym_float] = ACTIONS(3698),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3700),
    [anon_sym_TRUE] = ACTIONS(3470),
    [anon_sym_FALSE] = ACTIONS(3462),
    [anon_sym_NIL] = ACTIONS(3464),
    [sym_keyword__FILE__] = ACTIONS(3702),
    [sym_keyword__LINE__] = ACTIONS(3702),
    [sym_keyword__ENCODING__] = ACTIONS(3702),
    [sym__character_literal] = ACTIONS(3704),
    [anon_sym_LBRACK] = ACTIONS(3706),
    [anon_sym_DASH_GT] = ACTIONS(3708),
  },
  [5353] = {
    [sym_do_block] = STATE(8541),
    [sym_block] = STATE(8541),
    [sym__simple_heredoc_body] = ACTIONS(3346),
    [sym__heredoc_body_beginning] = ACTIONS(3346),
    [sym__string_middle] = ACTIONS(3346),
    [sym__string_end] = ACTIONS(3346),
    [sym__element_reference_left_bracket] = ACTIONS(3346),
    [sym__scope_double_colon] = ACTIONS(3346),
    [sym__binary_minus] = ACTIONS(3346),
    [sym__binary_star] = ACTIONS(3346),
    [anon_sym_LBRACE] = ACTIONS(7556),
    [anon_sym_DOT] = ACTIONS(3350),
    [anon_sym_COMMA] = ACTIONS(3346),
    [anon_sym_PIPE] = ACTIONS(3350),
    [anon_sym_STAR_STAR] = ACTIONS(3350),
    [anon_sym_AMP] = ACTIONS(3350),
    [anon_sym_EQ] = ACTIONS(3350),
    [anon_sym_LT] = ACTIONS(3350),
    [anon_sym_if] = ACTIONS(3346),
    [anon_sym_unless] = ACTIONS(3346),
    [anon_sym_while] = ACTIONS(3346),
    [anon_sym_until] = ACTIONS(3346),
    [anon_sym_rescue] = ACTIONS(3346),
    [anon_sym_do] = ACTIONS(3346),
    [anon_sym_AMP_DOT] = ACTIONS(3346),
    [anon_sym_PLUS_EQ] = ACTIONS(3346),
    [anon_sym_DASH_EQ] = ACTIONS(3346),
    [anon_sym_STAR_EQ] = ACTIONS(3346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3346),
    [anon_sym_SLASH_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3346),
    [anon_sym_AMP_EQ] = ACTIONS(3346),
    [anon_sym_PERCENT_EQ] = ACTIONS(3346),
    [anon_sym_GT_GT_EQ] = ACTIONS(3346),
    [anon_sym_LT_LT_EQ] = ACTIONS(3346),
    [anon_sym_CARET_EQ] = ACTIONS(3346),
    [anon_sym_QMARK] = ACTIONS(3346),
    [anon_sym_DOT_DOT] = ACTIONS(3350),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3346),
    [anon_sym_and] = ACTIONS(3346),
    [anon_sym_or] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE] = ACTIONS(3350),
    [anon_sym_AMP_AMP] = ACTIONS(3350),
    [anon_sym_LT_LT] = ACTIONS(3350),
    [anon_sym_GT_GT] = ACTIONS(3350),
    [anon_sym_EQ_EQ] = ACTIONS(3350),
    [anon_sym_BANG_EQ] = ACTIONS(3346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3346),
    [anon_sym_LT_EQ_GT] = ACTIONS(3346),
    [anon_sym_EQ_TILDE] = ACTIONS(3346),
    [anon_sym_BANG_TILDE] = ACTIONS(3346),
    [anon_sym_LT_EQ] = ACTIONS(3350),
    [anon_sym_GT] = ACTIONS(3350),
    [anon_sym_GT_EQ] = ACTIONS(3346),
    [anon_sym_CARET] = ACTIONS(3350),
    [anon_sym_PLUS] = ACTIONS(3350),
    [anon_sym_SLASH] = ACTIONS(3350),
    [anon_sym_PERCENT] = ACTIONS(3350),
    [sym_comment] = ACTIONS(256),
  },
  [5354] = {
    [sym_method] = STATE(2460),
    [sym_singleton_method] = STATE(2460),
    [sym_class] = STATE(2460),
    [sym_singleton_class] = STATE(2460),
    [sym_module] = STATE(2460),
    [sym_return] = STATE(2460),
    [sym_yield] = STATE(2460),
    [sym_break] = STATE(2460),
    [sym_next] = STATE(2460),
    [sym_redo] = STATE(2460),
    [sym_retry] = STATE(2460),
    [sym_while] = STATE(2460),
    [sym_until] = STATE(2460),
    [sym_for] = STATE(2460),
    [sym_case] = STATE(2460),
    [sym_if] = STATE(2460),
    [sym_unless] = STATE(2460),
    [sym_begin] = STATE(2460),
    [sym__arg] = STATE(8683),
    [sym__primary] = STATE(2488),
    [sym_parenthesized_statements] = STATE(2460),
    [sym_element_reference] = STATE(2282),
    [sym_scope_resolution] = STATE(2489),
    [sym_call] = STATE(2489),
    [sym_method_call] = STATE(2282),
    [sym_splat_argument] = STATE(8684),
    [sym_assignment] = STATE(2490),
    [sym_operator_assignment] = STATE(2490),
    [sym_conditional] = STATE(2490),
    [sym_range] = STATE(2490),
    [sym_binary] = STATE(2490),
    [sym_unary] = STATE(2490),
    [sym_right_assignment_list] = STATE(8685),
    [sym__arg_or_splat_arg] = STATE(8686),
    [sym_left_assignment_list] = STATE(2491),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2492),
    [sym__variable] = STATE(2489),
    [sym_symbol] = STATE(2460),
    [sym_complex] = STATE(2460),
    [sym_rational] = STATE(2460),
    [sym_super] = STATE(2274),
    [sym_true] = STATE(2282),
    [sym_false] = STATE(2282),
    [sym_self] = STATE(2274),
    [sym_nil] = STATE(2282),
    [sym_chained_string] = STATE(2460),
    [sym_string] = STATE(2493),
    [sym_subshell] = STATE(2460),
    [sym_array] = STATE(2460),
    [sym_hash] = STATE(2460),
    [sym_regex] = STATE(2460),
    [sym_lambda] = STATE(2460),
    [sym__simple_string] = ACTIONS(3628),
    [sym__simple_symbol] = ACTIONS(3630),
    [sym__simple_subshell] = ACTIONS(3632),
    [sym__simple_regex] = ACTIONS(3634),
    [sym__simple_word_list] = ACTIONS(3636),
    [sym__string_beginning] = ACTIONS(3638),
    [sym__symbol_beginning] = ACTIONS(3640),
    [sym__subshell_beginning] = ACTIONS(3642),
    [sym__regex_beginning] = ACTIONS(3644),
    [sym__word_list_beginning] = ACTIONS(3646),
    [sym_heredoc_beginning] = ACTIONS(3648),
    [sym__splat_star] = ACTIONS(1298),
    [sym__unary_minus] = ACTIONS(3650),
    [anon_sym_LBRACE] = ACTIONS(3652),
    [anon_sym_def] = ACTIONS(3654),
    [anon_sym_LPAREN] = ACTIONS(3656),
    [anon_sym_COLON_COLON] = ACTIONS(3418),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3658),
    [anon_sym_module] = ACTIONS(3660),
    [anon_sym_return] = ACTIONS(3662),
    [anon_sym_yield] = ACTIONS(3664),
    [anon_sym_break] = ACTIONS(3666),
    [anon_sym_next] = ACTIONS(3668),
    [anon_sym_redo] = ACTIONS(3670),
    [anon_sym_retry] = ACTIONS(3672),
    [anon_sym_if] = ACTIONS(3674),
    [anon_sym_unless] = ACTIONS(3676),
    [anon_sym_while] = ACTIONS(3678),
    [anon_sym_until] = ACTIONS(3680),
    [anon_sym_for] = ACTIONS(3682),
    [anon_sym_case] = ACTIONS(3684),
    [anon_sym_begin] = ACTIONS(3686),
    [anon_sym_PLUS] = ACTIONS(3688),
    [anon_sym_defined_QMARK] = ACTIONS(3690),
    [anon_sym_not] = ACTIONS(3692),
    [anon_sym_BANG] = ACTIONS(3694),
    [anon_sym_TILDE] = ACTIONS(3694),
    [sym_constant] = ACTIONS(3458),
    [sym_identifier] = ACTIONS(3458),
    [sym_instance_variable] = ACTIONS(3460),
    [sym_class_variable] = ACTIONS(3460),
    [sym_global_variable] = ACTIONS(3460),
    [anon_sym_false] = ACTIONS(3462),
    [anon_sym_nil] = ACTIONS(3464),
    [anon_sym_self] = ACTIONS(3466),
    [anon_sym_super] = ACTIONS(3468),
    [anon_sym_true] = ACTIONS(3470),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3696),
    [sym_float] = ACTIONS(3698),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3700),
    [anon_sym_TRUE] = ACTIONS(3470),
    [anon_sym_FALSE] = ACTIONS(3462),
    [anon_sym_NIL] = ACTIONS(3464),
    [sym_keyword__FILE__] = ACTIONS(3702),
    [sym_keyword__LINE__] = ACTIONS(3702),
    [sym_keyword__ENCODING__] = ACTIONS(3702),
    [sym__character_literal] = ACTIONS(3704),
    [anon_sym_LBRACK] = ACTIONS(3706),
    [anon_sym_DASH_GT] = ACTIONS(3708),
  },
  [5355] = {
    [sym_method] = STATE(2460),
    [sym_singleton_method] = STATE(2460),
    [sym_class] = STATE(2460),
    [sym_singleton_class] = STATE(2460),
    [sym_module] = STATE(2460),
    [sym_return] = STATE(2460),
    [sym_yield] = STATE(2460),
    [sym_break] = STATE(2460),
    [sym_next] = STATE(2460),
    [sym_redo] = STATE(2460),
    [sym_retry] = STATE(2460),
    [sym_while] = STATE(2460),
    [sym_until] = STATE(2460),
    [sym_for] = STATE(2460),
    [sym_case] = STATE(2460),
    [sym_if] = STATE(2460),
    [sym_unless] = STATE(2460),
    [sym_begin] = STATE(2460),
    [sym__arg] = STATE(8687),
    [sym__primary] = STATE(2488),
    [sym_parenthesized_statements] = STATE(2460),
    [sym_element_reference] = STATE(2282),
    [sym_scope_resolution] = STATE(2489),
    [sym_call] = STATE(2489),
    [sym_method_call] = STATE(2282),
    [sym_assignment] = STATE(2490),
    [sym_operator_assignment] = STATE(2490),
    [sym_conditional] = STATE(2490),
    [sym_range] = STATE(2490),
    [sym_binary] = STATE(2490),
    [sym_unary] = STATE(2490),
    [sym_left_assignment_list] = STATE(2491),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2492),
    [sym__variable] = STATE(2489),
    [sym_symbol] = STATE(2460),
    [sym_complex] = STATE(2460),
    [sym_rational] = STATE(2460),
    [sym_super] = STATE(2274),
    [sym_true] = STATE(2282),
    [sym_false] = STATE(2282),
    [sym_self] = STATE(2274),
    [sym_nil] = STATE(2282),
    [sym_chained_string] = STATE(2460),
    [sym_string] = STATE(2493),
    [sym_subshell] = STATE(2460),
    [sym_array] = STATE(2460),
    [sym_hash] = STATE(2460),
    [sym_regex] = STATE(2460),
    [sym_lambda] = STATE(2460),
    [sym__simple_string] = ACTIONS(3628),
    [sym__simple_symbol] = ACTIONS(3630),
    [sym__simple_subshell] = ACTIONS(3632),
    [sym__simple_regex] = ACTIONS(3634),
    [sym__simple_word_list] = ACTIONS(3636),
    [sym__string_beginning] = ACTIONS(3638),
    [sym__symbol_beginning] = ACTIONS(3640),
    [sym__subshell_beginning] = ACTIONS(3642),
    [sym__regex_beginning] = ACTIONS(3644),
    [sym__word_list_beginning] = ACTIONS(3646),
    [sym_heredoc_beginning] = ACTIONS(3648),
    [sym__unary_minus] = ACTIONS(3650),
    [anon_sym_LBRACE] = ACTIONS(3652),
    [anon_sym_def] = ACTIONS(3654),
    [anon_sym_LPAREN] = ACTIONS(3656),
    [anon_sym_COLON_COLON] = ACTIONS(3418),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3658),
    [anon_sym_module] = ACTIONS(3660),
    [anon_sym_return] = ACTIONS(3662),
    [anon_sym_yield] = ACTIONS(3664),
    [anon_sym_break] = ACTIONS(3666),
    [anon_sym_next] = ACTIONS(3668),
    [anon_sym_redo] = ACTIONS(3670),
    [anon_sym_retry] = ACTIONS(3672),
    [anon_sym_if] = ACTIONS(3674),
    [anon_sym_unless] = ACTIONS(3676),
    [anon_sym_while] = ACTIONS(3678),
    [anon_sym_until] = ACTIONS(3680),
    [anon_sym_for] = ACTIONS(3682),
    [anon_sym_case] = ACTIONS(3684),
    [anon_sym_begin] = ACTIONS(3686),
    [anon_sym_PLUS] = ACTIONS(3688),
    [anon_sym_defined_QMARK] = ACTIONS(3690),
    [anon_sym_not] = ACTIONS(3692),
    [anon_sym_BANG] = ACTIONS(3694),
    [anon_sym_TILDE] = ACTIONS(3694),
    [sym_constant] = ACTIONS(3458),
    [sym_identifier] = ACTIONS(3458),
    [sym_instance_variable] = ACTIONS(3460),
    [sym_class_variable] = ACTIONS(3460),
    [sym_global_variable] = ACTIONS(3460),
    [anon_sym_false] = ACTIONS(3462),
    [anon_sym_nil] = ACTIONS(3464),
    [anon_sym_self] = ACTIONS(3466),
    [anon_sym_super] = ACTIONS(3468),
    [anon_sym_true] = ACTIONS(3470),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3696),
    [sym_float] = ACTIONS(3698),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3700),
    [anon_sym_TRUE] = ACTIONS(3470),
    [anon_sym_FALSE] = ACTIONS(3462),
    [anon_sym_NIL] = ACTIONS(3464),
    [sym_keyword__FILE__] = ACTIONS(3702),
    [sym_keyword__LINE__] = ACTIONS(3702),
    [sym_keyword__ENCODING__] = ACTIONS(3702),
    [sym__character_literal] = ACTIONS(3704),
    [anon_sym_LBRACK] = ACTIONS(3706),
    [anon_sym_DASH_GT] = ACTIONS(3708),
  },
  [5356] = {
    [sym__simple_string] = ACTIONS(3382),
    [sym__simple_heredoc_body] = ACTIONS(3382),
    [sym__string_beginning] = ACTIONS(3382),
    [sym__heredoc_body_beginning] = ACTIONS(3382),
    [sym__string_middle] = ACTIONS(3382),
    [sym__string_end] = ACTIONS(3382),
    [sym__element_reference_left_bracket] = ACTIONS(3382),
    [sym__scope_double_colon] = ACTIONS(3382),
    [sym__binary_minus] = ACTIONS(3382),
    [sym__binary_star] = ACTIONS(3382),
    [anon_sym_LBRACE] = ACTIONS(3382),
    [anon_sym_DOT] = ACTIONS(3384),
    [anon_sym_COMMA] = ACTIONS(3382),
    [anon_sym_PIPE] = ACTIONS(3384),
    [anon_sym_STAR_STAR] = ACTIONS(3384),
    [anon_sym_AMP] = ACTIONS(3384),
    [anon_sym_EQ] = ACTIONS(3384),
    [anon_sym_LT] = ACTIONS(3384),
    [anon_sym_if] = ACTIONS(3382),
    [anon_sym_unless] = ACTIONS(3382),
    [anon_sym_while] = ACTIONS(3382),
    [anon_sym_until] = ACTIONS(3382),
    [anon_sym_rescue] = ACTIONS(3382),
    [anon_sym_do] = ACTIONS(3382),
    [anon_sym_AMP_DOT] = ACTIONS(3382),
    [anon_sym_PLUS_EQ] = ACTIONS(3382),
    [anon_sym_DASH_EQ] = ACTIONS(3382),
    [anon_sym_STAR_EQ] = ACTIONS(3382),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3382),
    [anon_sym_SLASH_EQ] = ACTIONS(3382),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3382),
    [anon_sym_PIPE_EQ] = ACTIONS(3382),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3382),
    [anon_sym_AMP_EQ] = ACTIONS(3382),
    [anon_sym_PERCENT_EQ] = ACTIONS(3382),
    [anon_sym_GT_GT_EQ] = ACTIONS(3382),
    [anon_sym_LT_LT_EQ] = ACTIONS(3382),
    [anon_sym_CARET_EQ] = ACTIONS(3382),
    [anon_sym_QMARK] = ACTIONS(3384),
    [anon_sym_DOT_DOT] = ACTIONS(3384),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3382),
    [anon_sym_and] = ACTIONS(3382),
    [anon_sym_or] = ACTIONS(3382),
    [anon_sym_PIPE_PIPE] = ACTIONS(3384),
    [anon_sym_AMP_AMP] = ACTIONS(3384),
    [anon_sym_LT_LT] = ACTIONS(3384),
    [anon_sym_GT_GT] = ACTIONS(3384),
    [anon_sym_EQ_EQ] = ACTIONS(3384),
    [anon_sym_BANG_EQ] = ACTIONS(3382),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3382),
    [anon_sym_LT_EQ_GT] = ACTIONS(3382),
    [anon_sym_EQ_TILDE] = ACTIONS(3382),
    [anon_sym_BANG_TILDE] = ACTIONS(3382),
    [anon_sym_LT_EQ] = ACTIONS(3384),
    [anon_sym_GT] = ACTIONS(3384),
    [anon_sym_GT_EQ] = ACTIONS(3382),
    [anon_sym_CARET] = ACTIONS(3384),
    [anon_sym_PLUS] = ACTIONS(3384),
    [anon_sym_SLASH] = ACTIONS(3384),
    [anon_sym_PERCENT] = ACTIONS(3384),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(3384),
  },
  [5357] = {
    [sym_string] = STATE(8688),
    [sym__simple_string] = ACTIONS(3628),
    [sym__simple_heredoc_body] = ACTIONS(3386),
    [sym__string_beginning] = ACTIONS(3638),
    [sym__heredoc_body_beginning] = ACTIONS(3386),
    [sym__string_middle] = ACTIONS(3386),
    [sym__string_end] = ACTIONS(3386),
    [sym__element_reference_left_bracket] = ACTIONS(3386),
    [sym__scope_double_colon] = ACTIONS(3386),
    [sym__binary_minus] = ACTIONS(3386),
    [sym__binary_star] = ACTIONS(3386),
    [anon_sym_LBRACE] = ACTIONS(3386),
    [anon_sym_DOT] = ACTIONS(3388),
    [anon_sym_COMMA] = ACTIONS(3386),
    [anon_sym_PIPE] = ACTIONS(3388),
    [anon_sym_STAR_STAR] = ACTIONS(3388),
    [anon_sym_AMP] = ACTIONS(3388),
    [anon_sym_EQ] = ACTIONS(3388),
    [anon_sym_LT] = ACTIONS(3388),
    [anon_sym_if] = ACTIONS(3386),
    [anon_sym_unless] = ACTIONS(3386),
    [anon_sym_while] = ACTIONS(3386),
    [anon_sym_until] = ACTIONS(3386),
    [anon_sym_rescue] = ACTIONS(3386),
    [anon_sym_do] = ACTIONS(3386),
    [anon_sym_AMP_DOT] = ACTIONS(3386),
    [anon_sym_PLUS_EQ] = ACTIONS(3386),
    [anon_sym_DASH_EQ] = ACTIONS(3386),
    [anon_sym_STAR_EQ] = ACTIONS(3386),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3386),
    [anon_sym_SLASH_EQ] = ACTIONS(3386),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3386),
    [anon_sym_PIPE_EQ] = ACTIONS(3386),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3386),
    [anon_sym_AMP_EQ] = ACTIONS(3386),
    [anon_sym_PERCENT_EQ] = ACTIONS(3386),
    [anon_sym_GT_GT_EQ] = ACTIONS(3386),
    [anon_sym_LT_LT_EQ] = ACTIONS(3386),
    [anon_sym_CARET_EQ] = ACTIONS(3386),
    [anon_sym_QMARK] = ACTIONS(3388),
    [anon_sym_DOT_DOT] = ACTIONS(3388),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3386),
    [anon_sym_and] = ACTIONS(3386),
    [anon_sym_or] = ACTIONS(3386),
    [anon_sym_PIPE_PIPE] = ACTIONS(3388),
    [anon_sym_AMP_AMP] = ACTIONS(3388),
    [anon_sym_LT_LT] = ACTIONS(3388),
    [anon_sym_GT_GT] = ACTIONS(3388),
    [anon_sym_EQ_EQ] = ACTIONS(3388),
    [anon_sym_BANG_EQ] = ACTIONS(3386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3386),
    [anon_sym_LT_EQ_GT] = ACTIONS(3386),
    [anon_sym_EQ_TILDE] = ACTIONS(3386),
    [anon_sym_BANG_TILDE] = ACTIONS(3386),
    [anon_sym_LT_EQ] = ACTIONS(3388),
    [anon_sym_GT] = ACTIONS(3388),
    [anon_sym_GT_EQ] = ACTIONS(3386),
    [anon_sym_CARET] = ACTIONS(3388),
    [anon_sym_PLUS] = ACTIONS(3388),
    [anon_sym_SLASH] = ACTIONS(3388),
    [anon_sym_PERCENT] = ACTIONS(3388),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(3704),
  },
  [5358] = {
    [sym__simple_heredoc_body] = ACTIONS(9456),
    [sym__heredoc_body_beginning] = ACTIONS(9456),
    [sym__string_middle] = ACTIONS(9456),
    [sym__string_end] = ACTIONS(9456),
    [sym__element_reference_left_bracket] = ACTIONS(9456),
    [sym__scope_double_colon] = ACTIONS(9456),
    [sym__binary_minus] = ACTIONS(9456),
    [sym__binary_star] = ACTIONS(9456),
    [anon_sym_LBRACE] = ACTIONS(9456),
    [anon_sym_DOT] = ACTIONS(9458),
    [anon_sym_COMMA] = ACTIONS(9456),
    [anon_sym_PIPE] = ACTIONS(9458),
    [anon_sym_STAR_STAR] = ACTIONS(9458),
    [anon_sym_AMP] = ACTIONS(9458),
    [anon_sym_EQ] = ACTIONS(9458),
    [anon_sym_LT] = ACTIONS(9458),
    [anon_sym_if] = ACTIONS(9456),
    [anon_sym_unless] = ACTIONS(9456),
    [anon_sym_while] = ACTIONS(9456),
    [anon_sym_until] = ACTIONS(9456),
    [anon_sym_rescue] = ACTIONS(9456),
    [anon_sym_do] = ACTIONS(9456),
    [anon_sym_AMP_DOT] = ACTIONS(9456),
    [anon_sym_PLUS_EQ] = ACTIONS(9456),
    [anon_sym_DASH_EQ] = ACTIONS(9456),
    [anon_sym_STAR_EQ] = ACTIONS(9456),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9456),
    [anon_sym_SLASH_EQ] = ACTIONS(9456),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9456),
    [anon_sym_PIPE_EQ] = ACTIONS(9456),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9456),
    [anon_sym_AMP_EQ] = ACTIONS(9456),
    [anon_sym_PERCENT_EQ] = ACTIONS(9456),
    [anon_sym_GT_GT_EQ] = ACTIONS(9456),
    [anon_sym_LT_LT_EQ] = ACTIONS(9456),
    [anon_sym_CARET_EQ] = ACTIONS(9456),
    [anon_sym_QMARK] = ACTIONS(9456),
    [anon_sym_DOT_DOT] = ACTIONS(9458),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9456),
    [anon_sym_and] = ACTIONS(9456),
    [anon_sym_or] = ACTIONS(9456),
    [anon_sym_PIPE_PIPE] = ACTIONS(9458),
    [anon_sym_AMP_AMP] = ACTIONS(9458),
    [anon_sym_LT_LT] = ACTIONS(9458),
    [anon_sym_GT_GT] = ACTIONS(9458),
    [anon_sym_EQ_EQ] = ACTIONS(9458),
    [anon_sym_BANG_EQ] = ACTIONS(9456),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9456),
    [anon_sym_LT_EQ_GT] = ACTIONS(9456),
    [anon_sym_EQ_TILDE] = ACTIONS(9456),
    [anon_sym_BANG_TILDE] = ACTIONS(9456),
    [anon_sym_LT_EQ] = ACTIONS(9458),
    [anon_sym_GT] = ACTIONS(9458),
    [anon_sym_GT_EQ] = ACTIONS(9456),
    [anon_sym_CARET] = ACTIONS(9458),
    [anon_sym_PLUS] = ACTIONS(9458),
    [anon_sym_SLASH] = ACTIONS(9458),
    [anon_sym_PERCENT] = ACTIONS(9458),
    [sym_comment] = ACTIONS(256),
  },
  [5359] = {
    [anon_sym_RPAREN] = ACTIONS(11586),
    [sym_comment] = ACTIONS(110),
  },
  [5360] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(11588),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [5361] = {
    [sym__statement] = STATE(8691),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [5362] = {
    [sym__string_middle] = ACTIONS(11064),
    [sym__string_end] = ACTIONS(11064),
    [sym__element_reference_left_bracket] = ACTIONS(11064),
    [sym__scope_double_colon] = ACTIONS(11064),
    [sym__binary_minus] = ACTIONS(11064),
    [sym__binary_star] = ACTIONS(11064),
    [anon_sym_DOT] = ACTIONS(11066),
    [anon_sym_COMMA] = ACTIONS(11064),
    [anon_sym_PIPE] = ACTIONS(11066),
    [anon_sym_STAR_STAR] = ACTIONS(11066),
    [anon_sym_AMP] = ACTIONS(11066),
    [anon_sym_EQ] = ACTIONS(11066),
    [anon_sym_LT] = ACTIONS(11066),
    [anon_sym_if] = ACTIONS(11064),
    [anon_sym_unless] = ACTIONS(11064),
    [anon_sym_while] = ACTIONS(11064),
    [anon_sym_until] = ACTIONS(11064),
    [anon_sym_rescue] = ACTIONS(11064),
    [anon_sym_AMP_DOT] = ACTIONS(11064),
    [anon_sym_PLUS_EQ] = ACTIONS(11064),
    [anon_sym_DASH_EQ] = ACTIONS(11064),
    [anon_sym_STAR_EQ] = ACTIONS(11064),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(11064),
    [anon_sym_SLASH_EQ] = ACTIONS(11064),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(11064),
    [anon_sym_PIPE_EQ] = ACTIONS(11064),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(11064),
    [anon_sym_AMP_EQ] = ACTIONS(11064),
    [anon_sym_PERCENT_EQ] = ACTIONS(11064),
    [anon_sym_GT_GT_EQ] = ACTIONS(11064),
    [anon_sym_LT_LT_EQ] = ACTIONS(11064),
    [anon_sym_CARET_EQ] = ACTIONS(11064),
    [anon_sym_QMARK] = ACTIONS(11064),
    [anon_sym_DOT_DOT] = ACTIONS(11066),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11064),
    [anon_sym_and] = ACTIONS(11064),
    [anon_sym_or] = ACTIONS(11064),
    [anon_sym_PIPE_PIPE] = ACTIONS(11066),
    [anon_sym_AMP_AMP] = ACTIONS(11066),
    [anon_sym_LT_LT] = ACTIONS(11066),
    [anon_sym_GT_GT] = ACTIONS(11066),
    [anon_sym_EQ_EQ] = ACTIONS(11066),
    [anon_sym_BANG_EQ] = ACTIONS(11064),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11064),
    [anon_sym_LT_EQ_GT] = ACTIONS(11064),
    [anon_sym_EQ_TILDE] = ACTIONS(11064),
    [anon_sym_BANG_TILDE] = ACTIONS(11064),
    [anon_sym_LT_EQ] = ACTIONS(11066),
    [anon_sym_GT] = ACTIONS(11066),
    [anon_sym_GT_EQ] = ACTIONS(11064),
    [anon_sym_CARET] = ACTIONS(11066),
    [anon_sym_PLUS] = ACTIONS(11066),
    [anon_sym_SLASH] = ACTIONS(11066),
    [anon_sym_PERCENT] = ACTIONS(11066),
    [sym_comment] = ACTIONS(256),
  },
  [5363] = {
    [anon_sym_RBRACE] = ACTIONS(11590),
    [sym_comment] = ACTIONS(110),
  },
  [5364] = {
    [sym__simple_heredoc_body] = ACTIONS(4578),
    [sym__heredoc_body_beginning] = ACTIONS(4578),
    [sym__string_middle] = ACTIONS(4578),
    [sym__string_end] = ACTIONS(4578),
    [sym__element_reference_left_bracket] = ACTIONS(4578),
    [sym__scope_double_colon] = ACTIONS(4578),
    [sym__binary_minus] = ACTIONS(4578),
    [sym__binary_star] = ACTIONS(4578),
    [anon_sym_LBRACE] = ACTIONS(4578),
    [anon_sym_DOT] = ACTIONS(4580),
    [anon_sym_COMMA] = ACTIONS(4578),
    [anon_sym_PIPE] = ACTIONS(4580),
    [anon_sym_STAR_STAR] = ACTIONS(4580),
    [anon_sym_AMP] = ACTIONS(4580),
    [anon_sym_EQ] = ACTIONS(4580),
    [anon_sym_LT] = ACTIONS(4580),
    [anon_sym_if] = ACTIONS(4578),
    [anon_sym_unless] = ACTIONS(4578),
    [anon_sym_while] = ACTIONS(4578),
    [anon_sym_until] = ACTIONS(4578),
    [anon_sym_rescue] = ACTIONS(4578),
    [anon_sym_do] = ACTIONS(4578),
    [anon_sym_EQ_GT] = ACTIONS(4578),
    [anon_sym_AMP_DOT] = ACTIONS(4578),
    [anon_sym_PLUS_EQ] = ACTIONS(4578),
    [anon_sym_DASH_EQ] = ACTIONS(4578),
    [anon_sym_STAR_EQ] = ACTIONS(4578),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(4578),
    [anon_sym_SLASH_EQ] = ACTIONS(4578),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(4578),
    [anon_sym_PIPE_EQ] = ACTIONS(4578),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(4578),
    [anon_sym_AMP_EQ] = ACTIONS(4578),
    [anon_sym_PERCENT_EQ] = ACTIONS(4578),
    [anon_sym_GT_GT_EQ] = ACTIONS(4578),
    [anon_sym_LT_LT_EQ] = ACTIONS(4578),
    [anon_sym_CARET_EQ] = ACTIONS(4578),
    [anon_sym_QMARK] = ACTIONS(4578),
    [anon_sym_DOT_DOT] = ACTIONS(4580),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4578),
    [anon_sym_and] = ACTIONS(4578),
    [anon_sym_or] = ACTIONS(4578),
    [anon_sym_PIPE_PIPE] = ACTIONS(4580),
    [anon_sym_AMP_AMP] = ACTIONS(4580),
    [anon_sym_LT_LT] = ACTIONS(4580),
    [anon_sym_GT_GT] = ACTIONS(4580),
    [anon_sym_EQ_EQ] = ACTIONS(4580),
    [anon_sym_BANG_EQ] = ACTIONS(4578),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4578),
    [anon_sym_LT_EQ_GT] = ACTIONS(4578),
    [anon_sym_EQ_TILDE] = ACTIONS(4578),
    [anon_sym_BANG_TILDE] = ACTIONS(4578),
    [anon_sym_LT_EQ] = ACTIONS(4580),
    [anon_sym_GT] = ACTIONS(4580),
    [anon_sym_GT_EQ] = ACTIONS(4578),
    [anon_sym_CARET] = ACTIONS(4580),
    [anon_sym_PLUS] = ACTIONS(4580),
    [anon_sym_SLASH] = ACTIONS(4580),
    [anon_sym_PERCENT] = ACTIONS(4580),
    [sym_comment] = ACTIONS(256),
  },
  [5365] = {
    [anon_sym_RBRACE] = ACTIONS(11592),
    [sym_comment] = ACTIONS(110),
  },
  [5366] = {
    [sym__binary_minus] = ACTIONS(4614),
    [sym__binary_star] = ACTIONS(4616),
    [anon_sym_RPAREN] = ACTIONS(11594),
    [anon_sym_PIPE] = ACTIONS(4620),
    [anon_sym_STAR_STAR] = ACTIONS(4622),
    [anon_sym_AMP] = ACTIONS(4624),
    [anon_sym_LT] = ACTIONS(4626),
    [anon_sym_QMARK] = ACTIONS(4628),
    [anon_sym_DOT_DOT] = ACTIONS(4630),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4632),
    [anon_sym_and] = ACTIONS(4634),
    [anon_sym_or] = ACTIONS(4634),
    [anon_sym_PIPE_PIPE] = ACTIONS(4636),
    [anon_sym_AMP_AMP] = ACTIONS(4636),
    [anon_sym_LT_LT] = ACTIONS(4638),
    [anon_sym_GT_GT] = ACTIONS(4638),
    [anon_sym_EQ_EQ] = ACTIONS(4640),
    [anon_sym_BANG_EQ] = ACTIONS(4636),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4636),
    [anon_sym_LT_EQ_GT] = ACTIONS(4636),
    [anon_sym_EQ_TILDE] = ACTIONS(4636),
    [anon_sym_BANG_TILDE] = ACTIONS(4636),
    [anon_sym_LT_EQ] = ACTIONS(4626),
    [anon_sym_GT] = ACTIONS(4626),
    [anon_sym_GT_EQ] = ACTIONS(4642),
    [anon_sym_CARET] = ACTIONS(4644),
    [anon_sym_PLUS] = ACTIONS(4646),
    [anon_sym_SLASH] = ACTIONS(4622),
    [anon_sym_PERCENT] = ACTIONS(4622),
    [sym_comment] = ACTIONS(110),
  },
  [5367] = {
    [sym__method_rest] = STATE(8695),
    [sym_operator] = STATE(217),
    [sym__method_name] = STATE(2527),
    [sym_setter] = STATE(217),
    [sym_symbol] = STATE(217),
    [sym__simple_symbol] = ACTIONS(378),
    [sym__symbol_beginning] = ACTIONS(380),
    [anon_sym_PIPE] = ACTIONS(384),
    [anon_sym_STAR] = ACTIONS(386),
    [anon_sym_STAR_STAR] = ACTIONS(384),
    [anon_sym_AMP] = ACTIONS(384),
    [anon_sym_LT] = ACTIONS(386),
    [anon_sym_DOT_DOT] = ACTIONS(384),
    [anon_sym_LT_LT] = ACTIONS(384),
    [anon_sym_GT_GT] = ACTIONS(384),
    [anon_sym_EQ_EQ] = ACTIONS(386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(384),
    [anon_sym_LT_EQ_GT] = ACTIONS(384),
    [anon_sym_EQ_TILDE] = ACTIONS(384),
    [anon_sym_BANG_TILDE] = ACTIONS(384),
    [anon_sym_LT_EQ] = ACTIONS(386),
    [anon_sym_GT] = ACTIONS(386),
    [anon_sym_GT_EQ] = ACTIONS(384),
    [anon_sym_CARET] = ACTIONS(384),
    [anon_sym_PLUS] = ACTIONS(386),
    [anon_sym_SLASH] = ACTIONS(384),
    [anon_sym_PERCENT] = ACTIONS(384),
    [anon_sym_BANG] = ACTIONS(386),
    [anon_sym_TILDE] = ACTIONS(384),
    [sym_constant] = ACTIONS(4694),
    [sym_identifier] = ACTIONS(4696),
    [sym_instance_variable] = ACTIONS(4694),
    [sym_class_variable] = ACTIONS(4694),
    [sym_global_variable] = ACTIONS(4694),
    [anon_sym_DASH] = ACTIONS(386),
    [anon_sym_PLUS_AT] = ACTIONS(384),
    [anon_sym_DASH_AT] = ACTIONS(384),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(386),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(384),
    [anon_sym_BQUOTE] = ACTIONS(384),
    [sym_comment] = ACTIONS(110),
  },
  [5368] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(8697),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11596),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5369] = {
    [sym__simple_heredoc_body] = ACTIONS(4826),
    [sym__heredoc_body_beginning] = ACTIONS(4826),
    [sym__string_middle] = ACTIONS(4826),
    [sym__string_end] = ACTIONS(4826),
    [sym__element_reference_left_bracket] = ACTIONS(4826),
    [sym__scope_double_colon] = ACTIONS(4826),
    [sym__binary_minus] = ACTIONS(4826),
    [sym__binary_star] = ACTIONS(4826),
    [anon_sym_LBRACE] = ACTIONS(4826),
    [anon_sym_DOT] = ACTIONS(4828),
    [anon_sym_COMMA] = ACTIONS(4826),
    [anon_sym_PIPE] = ACTIONS(4828),
    [anon_sym_STAR_STAR] = ACTIONS(4828),
    [anon_sym_AMP] = ACTIONS(4828),
    [anon_sym_EQ] = ACTIONS(4828),
    [anon_sym_LT] = ACTIONS(4828),
    [anon_sym_if] = ACTIONS(4826),
    [anon_sym_unless] = ACTIONS(4826),
    [anon_sym_while] = ACTIONS(4826),
    [anon_sym_until] = ACTIONS(4826),
    [anon_sym_rescue] = ACTIONS(4826),
    [anon_sym_do] = ACTIONS(4826),
    [anon_sym_EQ_GT] = ACTIONS(4826),
    [anon_sym_AMP_DOT] = ACTIONS(4826),
    [anon_sym_PLUS_EQ] = ACTIONS(4826),
    [anon_sym_DASH_EQ] = ACTIONS(4826),
    [anon_sym_STAR_EQ] = ACTIONS(4826),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(4826),
    [anon_sym_SLASH_EQ] = ACTIONS(4826),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(4826),
    [anon_sym_PIPE_EQ] = ACTIONS(4826),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(4826),
    [anon_sym_AMP_EQ] = ACTIONS(4826),
    [anon_sym_PERCENT_EQ] = ACTIONS(4826),
    [anon_sym_GT_GT_EQ] = ACTIONS(4826),
    [anon_sym_LT_LT_EQ] = ACTIONS(4826),
    [anon_sym_CARET_EQ] = ACTIONS(4826),
    [anon_sym_QMARK] = ACTIONS(4826),
    [anon_sym_DOT_DOT] = ACTIONS(4828),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4826),
    [anon_sym_and] = ACTIONS(4826),
    [anon_sym_or] = ACTIONS(4826),
    [anon_sym_PIPE_PIPE] = ACTIONS(4828),
    [anon_sym_AMP_AMP] = ACTIONS(4828),
    [anon_sym_LT_LT] = ACTIONS(4828),
    [anon_sym_GT_GT] = ACTIONS(4828),
    [anon_sym_EQ_EQ] = ACTIONS(4828),
    [anon_sym_BANG_EQ] = ACTIONS(4826),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4826),
    [anon_sym_LT_EQ_GT] = ACTIONS(4826),
    [anon_sym_EQ_TILDE] = ACTIONS(4826),
    [anon_sym_BANG_TILDE] = ACTIONS(4826),
    [anon_sym_LT_EQ] = ACTIONS(4828),
    [anon_sym_GT] = ACTIONS(4828),
    [anon_sym_GT_EQ] = ACTIONS(4826),
    [anon_sym_CARET] = ACTIONS(4828),
    [anon_sym_PLUS] = ACTIONS(4828),
    [anon_sym_SLASH] = ACTIONS(4828),
    [anon_sym_PERCENT] = ACTIONS(4828),
    [sym_comment] = ACTIONS(256),
  },
  [5370] = {
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(8698),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym__line_break] = ACTIONS(692),
    [sym__binary_minus] = ACTIONS(5168),
    [sym__binary_star] = ACTIONS(5170),
    [anon_sym_PIPE] = ACTIONS(5172),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR_STAR] = ACTIONS(5174),
    [anon_sym_AMP] = ACTIONS(5176),
    [anon_sym_LT] = ACTIONS(5178),
    [anon_sym_QMARK] = ACTIONS(5180),
    [anon_sym_DOT_DOT] = ACTIONS(5182),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5184),
    [anon_sym_and] = ACTIONS(5186),
    [anon_sym_or] = ACTIONS(5186),
    [anon_sym_PIPE_PIPE] = ACTIONS(5188),
    [anon_sym_AMP_AMP] = ACTIONS(5188),
    [anon_sym_LT_LT] = ACTIONS(5190),
    [anon_sym_GT_GT] = ACTIONS(5190),
    [anon_sym_EQ_EQ] = ACTIONS(5192),
    [anon_sym_BANG_EQ] = ACTIONS(5188),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5188),
    [anon_sym_LT_EQ_GT] = ACTIONS(5188),
    [anon_sym_EQ_TILDE] = ACTIONS(5188),
    [anon_sym_BANG_TILDE] = ACTIONS(5188),
    [anon_sym_LT_EQ] = ACTIONS(5178),
    [anon_sym_GT] = ACTIONS(5178),
    [anon_sym_GT_EQ] = ACTIONS(5194),
    [anon_sym_CARET] = ACTIONS(5196),
    [anon_sym_PLUS] = ACTIONS(5198),
    [anon_sym_SLASH] = ACTIONS(5174),
    [anon_sym_PERCENT] = ACTIONS(5174),
    [sym_comment] = ACTIONS(110),
  },
  [5371] = {
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(8699),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym__line_break] = ACTIONS(692),
    [anon_sym_SEMI] = ACTIONS(692),
    [sym_comment] = ACTIONS(110),
  },
  [5372] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(8701),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11598),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5373] = {
    [sym__simple_heredoc_body] = ACTIONS(5290),
    [sym__heredoc_body_beginning] = ACTIONS(5290),
    [sym__string_middle] = ACTIONS(5290),
    [sym__string_end] = ACTIONS(5290),
    [sym__element_reference_left_bracket] = ACTIONS(5290),
    [sym__scope_double_colon] = ACTIONS(5290),
    [sym__binary_minus] = ACTIONS(5290),
    [sym__binary_star] = ACTIONS(5290),
    [anon_sym_LBRACE] = ACTIONS(5290),
    [anon_sym_DOT] = ACTIONS(5292),
    [anon_sym_COMMA] = ACTIONS(5290),
    [anon_sym_PIPE] = ACTIONS(5292),
    [anon_sym_STAR_STAR] = ACTIONS(5292),
    [anon_sym_AMP] = ACTIONS(5292),
    [anon_sym_EQ] = ACTIONS(5292),
    [anon_sym_LT] = ACTIONS(5292),
    [anon_sym_if] = ACTIONS(5290),
    [anon_sym_unless] = ACTIONS(5290),
    [anon_sym_while] = ACTIONS(5290),
    [anon_sym_until] = ACTIONS(5290),
    [anon_sym_rescue] = ACTIONS(5290),
    [anon_sym_do] = ACTIONS(5290),
    [anon_sym_EQ_GT] = ACTIONS(5290),
    [anon_sym_AMP_DOT] = ACTIONS(5290),
    [anon_sym_PLUS_EQ] = ACTIONS(5290),
    [anon_sym_DASH_EQ] = ACTIONS(5290),
    [anon_sym_STAR_EQ] = ACTIONS(5290),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5290),
    [anon_sym_SLASH_EQ] = ACTIONS(5290),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5290),
    [anon_sym_PIPE_EQ] = ACTIONS(5290),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5290),
    [anon_sym_AMP_EQ] = ACTIONS(5290),
    [anon_sym_PERCENT_EQ] = ACTIONS(5290),
    [anon_sym_GT_GT_EQ] = ACTIONS(5290),
    [anon_sym_LT_LT_EQ] = ACTIONS(5290),
    [anon_sym_CARET_EQ] = ACTIONS(5290),
    [anon_sym_QMARK] = ACTIONS(5290),
    [anon_sym_DOT_DOT] = ACTIONS(5292),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5290),
    [anon_sym_and] = ACTIONS(5290),
    [anon_sym_or] = ACTIONS(5290),
    [anon_sym_PIPE_PIPE] = ACTIONS(5292),
    [anon_sym_AMP_AMP] = ACTIONS(5292),
    [anon_sym_LT_LT] = ACTIONS(5292),
    [anon_sym_GT_GT] = ACTIONS(5292),
    [anon_sym_EQ_EQ] = ACTIONS(5292),
    [anon_sym_BANG_EQ] = ACTIONS(5290),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5290),
    [anon_sym_LT_EQ_GT] = ACTIONS(5290),
    [anon_sym_EQ_TILDE] = ACTIONS(5290),
    [anon_sym_BANG_TILDE] = ACTIONS(5290),
    [anon_sym_LT_EQ] = ACTIONS(5292),
    [anon_sym_GT] = ACTIONS(5292),
    [anon_sym_GT_EQ] = ACTIONS(5290),
    [anon_sym_CARET] = ACTIONS(5292),
    [anon_sym_PLUS] = ACTIONS(5292),
    [anon_sym_SLASH] = ACTIONS(5292),
    [anon_sym_PERCENT] = ACTIONS(5292),
    [sym_comment] = ACTIONS(256),
  },
  [5374] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(8703),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11600),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5375] = {
    [sym__simple_heredoc_body] = ACTIONS(5290),
    [sym__heredoc_body_beginning] = ACTIONS(5290),
    [sym__string_middle] = ACTIONS(5290),
    [sym__string_end] = ACTIONS(5290),
    [sym__element_reference_left_bracket] = ACTIONS(5290),
    [sym__scope_double_colon] = ACTIONS(5290),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__binary_minus] = ACTIONS(5290),
    [sym__binary_star] = ACTIONS(5290),
    [anon_sym_LBRACE] = ACTIONS(5290),
    [anon_sym_DOT] = ACTIONS(5292),
    [anon_sym_COMMA] = ACTIONS(5290),
    [anon_sym_PIPE] = ACTIONS(5292),
    [anon_sym_STAR_STAR] = ACTIONS(5292),
    [anon_sym_AMP] = ACTIONS(5292),
    [anon_sym_EQ] = ACTIONS(5292),
    [anon_sym_LT] = ACTIONS(5292),
    [anon_sym_if] = ACTIONS(5290),
    [anon_sym_unless] = ACTIONS(5290),
    [anon_sym_while] = ACTIONS(5290),
    [anon_sym_until] = ACTIONS(5290),
    [anon_sym_rescue] = ACTIONS(5290),
    [anon_sym_do] = ACTIONS(5290),
    [anon_sym_EQ_GT] = ACTIONS(5290),
    [anon_sym_AMP_DOT] = ACTIONS(5290),
    [anon_sym_PLUS_EQ] = ACTIONS(5290),
    [anon_sym_DASH_EQ] = ACTIONS(5290),
    [anon_sym_STAR_EQ] = ACTIONS(5290),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5290),
    [anon_sym_SLASH_EQ] = ACTIONS(5290),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5290),
    [anon_sym_PIPE_EQ] = ACTIONS(5290),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5290),
    [anon_sym_AMP_EQ] = ACTIONS(5290),
    [anon_sym_PERCENT_EQ] = ACTIONS(5290),
    [anon_sym_GT_GT_EQ] = ACTIONS(5290),
    [anon_sym_LT_LT_EQ] = ACTIONS(5290),
    [anon_sym_CARET_EQ] = ACTIONS(5290),
    [anon_sym_QMARK] = ACTIONS(5290),
    [anon_sym_DOT_DOT] = ACTIONS(5292),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5290),
    [anon_sym_and] = ACTIONS(5290),
    [anon_sym_or] = ACTIONS(5290),
    [anon_sym_PIPE_PIPE] = ACTIONS(5292),
    [anon_sym_AMP_AMP] = ACTIONS(5292),
    [anon_sym_LT_LT] = ACTIONS(5292),
    [anon_sym_GT_GT] = ACTIONS(5292),
    [anon_sym_EQ_EQ] = ACTIONS(5292),
    [anon_sym_BANG_EQ] = ACTIONS(5290),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5290),
    [anon_sym_LT_EQ_GT] = ACTIONS(5290),
    [anon_sym_EQ_TILDE] = ACTIONS(5290),
    [anon_sym_BANG_TILDE] = ACTIONS(5290),
    [anon_sym_LT_EQ] = ACTIONS(5292),
    [anon_sym_GT] = ACTIONS(5292),
    [anon_sym_GT_EQ] = ACTIONS(5290),
    [anon_sym_CARET] = ACTIONS(5292),
    [anon_sym_PLUS] = ACTIONS(5292),
    [anon_sym_SLASH] = ACTIONS(5292),
    [anon_sym_PERCENT] = ACTIONS(5292),
    [sym_comment] = ACTIONS(256),
  },
  [5376] = {
    [sym__statements] = STATE(8705),
    [sym__top_level_statement] = STATE(3863),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(3864),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_elsif] = STATE(3865),
    [sym_else] = STATE(3865),
    [sym__if_tail] = STATE(8706),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3867),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3869),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3870),
    [sym__variable] = STATE(3868),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(3849),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(8707),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(5566),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(5568),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(5570),
    [sym__unary_minus] = ACTIONS(5572),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11602),
    [anon_sym_SEMI] = ACTIONS(5576),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_elsif] = ACTIONS(5586),
    [anon_sym_else] = ACTIONS(5588),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5590),
    [anon_sym_defined_QMARK] = ACTIONS(5592),
    [anon_sym_not] = ACTIONS(5594),
    [anon_sym_BANG] = ACTIONS(5596),
    [anon_sym_TILDE] = ACTIONS(5596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5377] = {
    [sym__statements] = STATE(8709),
    [sym__top_level_statement] = STATE(3946),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(3947),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(8710),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3949),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3950),
    [sym_call] = STATE(3950),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3951),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3952),
    [sym__variable] = STATE(3950),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5682),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11604),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5686),
    [anon_sym_yield] = ACTIONS(5688),
    [anon_sym_break] = ACTIONS(5690),
    [anon_sym_next] = ACTIONS(5692),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(5588),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5694),
    [anon_sym_defined_QMARK] = ACTIONS(5696),
    [anon_sym_not] = ACTIONS(5698),
    [anon_sym_BANG] = ACTIONS(5700),
    [anon_sym_TILDE] = ACTIONS(5700),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5378] = {
    [sym__statements] = STATE(8712),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11606),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5379] = {
    [sym__statements] = STATE(8714),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11608),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5380] = {
    [sym__do] = STATE(8715),
    [sym_heredoc_end] = STATE(1550),
    [sym__terminator] = STATE(1557),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym__line_break] = ACTIONS(2446),
    [anon_sym_SEMI] = ACTIONS(2446),
    [anon_sym_do] = ACTIONS(2460),
    [sym_comment] = ACTIONS(110),
  },
  [5381] = {
    [sym__string_middle] = ACTIONS(11094),
    [sym__string_end] = ACTIONS(11094),
    [sym__element_reference_left_bracket] = ACTIONS(11094),
    [sym__scope_double_colon] = ACTIONS(11094),
    [sym__binary_minus] = ACTIONS(11094),
    [sym__binary_star] = ACTIONS(11094),
    [anon_sym_DOT] = ACTIONS(11096),
    [anon_sym_COMMA] = ACTIONS(11094),
    [anon_sym_PIPE] = ACTIONS(11096),
    [anon_sym_STAR_STAR] = ACTIONS(11096),
    [anon_sym_AMP] = ACTIONS(11096),
    [anon_sym_EQ] = ACTIONS(11096),
    [anon_sym_LT] = ACTIONS(11096),
    [anon_sym_if] = ACTIONS(11094),
    [anon_sym_unless] = ACTIONS(11094),
    [anon_sym_while] = ACTIONS(11094),
    [anon_sym_until] = ACTIONS(11094),
    [anon_sym_rescue] = ACTIONS(11094),
    [anon_sym_AMP_DOT] = ACTIONS(11094),
    [anon_sym_PLUS_EQ] = ACTIONS(11094),
    [anon_sym_DASH_EQ] = ACTIONS(11094),
    [anon_sym_STAR_EQ] = ACTIONS(11094),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(11094),
    [anon_sym_SLASH_EQ] = ACTIONS(11094),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(11094),
    [anon_sym_PIPE_EQ] = ACTIONS(11094),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(11094),
    [anon_sym_AMP_EQ] = ACTIONS(11094),
    [anon_sym_PERCENT_EQ] = ACTIONS(11094),
    [anon_sym_GT_GT_EQ] = ACTIONS(11094),
    [anon_sym_LT_LT_EQ] = ACTIONS(11094),
    [anon_sym_CARET_EQ] = ACTIONS(11094),
    [anon_sym_QMARK] = ACTIONS(11094),
    [anon_sym_DOT_DOT] = ACTIONS(11096),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11094),
    [anon_sym_and] = ACTIONS(11094),
    [anon_sym_or] = ACTIONS(11094),
    [anon_sym_PIPE_PIPE] = ACTIONS(11096),
    [anon_sym_AMP_AMP] = ACTIONS(11096),
    [anon_sym_LT_LT] = ACTIONS(11096),
    [anon_sym_GT_GT] = ACTIONS(11096),
    [anon_sym_EQ_EQ] = ACTIONS(11096),
    [anon_sym_BANG_EQ] = ACTIONS(11094),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11094),
    [anon_sym_LT_EQ_GT] = ACTIONS(11094),
    [anon_sym_EQ_TILDE] = ACTIONS(11094),
    [anon_sym_BANG_TILDE] = ACTIONS(11094),
    [anon_sym_LT_EQ] = ACTIONS(11096),
    [anon_sym_GT] = ACTIONS(11096),
    [anon_sym_GT_EQ] = ACTIONS(11094),
    [anon_sym_CARET] = ACTIONS(11096),
    [anon_sym_PLUS] = ACTIONS(11096),
    [anon_sym_SLASH] = ACTIONS(11096),
    [anon_sym_PERCENT] = ACTIONS(11096),
    [sym_comment] = ACTIONS(256),
  },
  [5382] = {
    [anon_sym_end] = ACTIONS(11610),
    [sym_comment] = ACTIONS(110),
  },
  [5383] = {
    [sym__statements] = STATE(8717),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11612),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5384] = {
    [sym__statements] = STATE(8717),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(8718),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11612),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5385] = {
    [sym__simple_heredoc_body] = ACTIONS(6154),
    [sym__heredoc_body_beginning] = ACTIONS(6154),
    [sym__string_middle] = ACTIONS(6154),
    [sym__string_end] = ACTIONS(6154),
    [sym__element_reference_left_bracket] = ACTIONS(6154),
    [sym__scope_double_colon] = ACTIONS(6154),
    [sym__binary_minus] = ACTIONS(6154),
    [sym__binary_star] = ACTIONS(6154),
    [anon_sym_LBRACE] = ACTIONS(6154),
    [anon_sym_DOT] = ACTIONS(6156),
    [anon_sym_COMMA] = ACTIONS(6154),
    [anon_sym_PIPE] = ACTIONS(6156),
    [anon_sym_STAR_STAR] = ACTIONS(6156),
    [anon_sym_AMP] = ACTIONS(6156),
    [anon_sym_EQ] = ACTIONS(6156),
    [anon_sym_LT] = ACTIONS(6156),
    [anon_sym_if] = ACTIONS(6154),
    [anon_sym_unless] = ACTIONS(6154),
    [anon_sym_while] = ACTIONS(6154),
    [anon_sym_until] = ACTIONS(6154),
    [anon_sym_rescue] = ACTIONS(6154),
    [anon_sym_do] = ACTIONS(6154),
    [anon_sym_EQ_GT] = ACTIONS(6154),
    [anon_sym_AMP_DOT] = ACTIONS(6154),
    [anon_sym_PLUS_EQ] = ACTIONS(6154),
    [anon_sym_DASH_EQ] = ACTIONS(6154),
    [anon_sym_STAR_EQ] = ACTIONS(6154),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6154),
    [anon_sym_SLASH_EQ] = ACTIONS(6154),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6154),
    [anon_sym_PIPE_EQ] = ACTIONS(6154),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6154),
    [anon_sym_AMP_EQ] = ACTIONS(6154),
    [anon_sym_PERCENT_EQ] = ACTIONS(6154),
    [anon_sym_GT_GT_EQ] = ACTIONS(6154),
    [anon_sym_LT_LT_EQ] = ACTIONS(6154),
    [anon_sym_CARET_EQ] = ACTIONS(6154),
    [anon_sym_QMARK] = ACTIONS(6154),
    [anon_sym_DOT_DOT] = ACTIONS(6156),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6154),
    [anon_sym_and] = ACTIONS(6154),
    [anon_sym_or] = ACTIONS(6154),
    [anon_sym_PIPE_PIPE] = ACTIONS(6156),
    [anon_sym_AMP_AMP] = ACTIONS(6156),
    [anon_sym_LT_LT] = ACTIONS(6156),
    [anon_sym_GT_GT] = ACTIONS(6156),
    [anon_sym_EQ_EQ] = ACTIONS(6156),
    [anon_sym_BANG_EQ] = ACTIONS(6154),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6154),
    [anon_sym_LT_EQ_GT] = ACTIONS(6154),
    [anon_sym_EQ_TILDE] = ACTIONS(6154),
    [anon_sym_BANG_TILDE] = ACTIONS(6154),
    [anon_sym_LT_EQ] = ACTIONS(6156),
    [anon_sym_GT] = ACTIONS(6156),
    [anon_sym_GT_EQ] = ACTIONS(6154),
    [anon_sym_CARET] = ACTIONS(6156),
    [anon_sym_PLUS] = ACTIONS(6156),
    [anon_sym_SLASH] = ACTIONS(6156),
    [anon_sym_PERCENT] = ACTIONS(6156),
    [sym_comment] = ACTIONS(256),
  },
  [5386] = {
    [anon_sym_end] = ACTIONS(11614),
    [sym_comment] = ACTIONS(110),
  },
  [5387] = {
    [sym_when] = STATE(8720),
    [sym_heredoc_end] = STATE(387),
    [sym__terminator] = STATE(1688),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym__line_break] = ACTIONS(666),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_when] = ACTIONS(2612),
    [sym_comment] = ACTIONS(110),
  },
  [5388] = {
    [sym__simple_heredoc_body] = ACTIONS(6600),
    [sym__heredoc_body_beginning] = ACTIONS(6600),
    [sym__string_middle] = ACTIONS(6600),
    [sym__string_end] = ACTIONS(6600),
    [sym__element_reference_left_bracket] = ACTIONS(6600),
    [sym__scope_double_colon] = ACTIONS(6600),
    [sym__binary_minus] = ACTIONS(6600),
    [sym__binary_star] = ACTIONS(6600),
    [anon_sym_LBRACE] = ACTIONS(6600),
    [anon_sym_DOT] = ACTIONS(6602),
    [anon_sym_COMMA] = ACTIONS(6600),
    [anon_sym_PIPE] = ACTIONS(6602),
    [anon_sym_STAR_STAR] = ACTIONS(6602),
    [anon_sym_AMP] = ACTIONS(6602),
    [anon_sym_EQ] = ACTIONS(6602),
    [anon_sym_LT] = ACTIONS(6602),
    [anon_sym_if] = ACTIONS(6600),
    [anon_sym_unless] = ACTIONS(6600),
    [anon_sym_while] = ACTIONS(6600),
    [anon_sym_until] = ACTIONS(6600),
    [anon_sym_rescue] = ACTIONS(6600),
    [anon_sym_do] = ACTIONS(6600),
    [anon_sym_EQ_GT] = ACTIONS(6600),
    [anon_sym_AMP_DOT] = ACTIONS(6600),
    [anon_sym_PLUS_EQ] = ACTIONS(6600),
    [anon_sym_DASH_EQ] = ACTIONS(6600),
    [anon_sym_STAR_EQ] = ACTIONS(6600),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6600),
    [anon_sym_SLASH_EQ] = ACTIONS(6600),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6600),
    [anon_sym_PIPE_EQ] = ACTIONS(6600),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6600),
    [anon_sym_AMP_EQ] = ACTIONS(6600),
    [anon_sym_PERCENT_EQ] = ACTIONS(6600),
    [anon_sym_GT_GT_EQ] = ACTIONS(6600),
    [anon_sym_LT_LT_EQ] = ACTIONS(6600),
    [anon_sym_CARET_EQ] = ACTIONS(6600),
    [anon_sym_QMARK] = ACTIONS(6600),
    [anon_sym_DOT_DOT] = ACTIONS(6602),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6600),
    [anon_sym_and] = ACTIONS(6600),
    [anon_sym_or] = ACTIONS(6600),
    [anon_sym_PIPE_PIPE] = ACTIONS(6602),
    [anon_sym_AMP_AMP] = ACTIONS(6602),
    [anon_sym_LT_LT] = ACTIONS(6602),
    [anon_sym_GT_GT] = ACTIONS(6602),
    [anon_sym_EQ_EQ] = ACTIONS(6602),
    [anon_sym_BANG_EQ] = ACTIONS(6600),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6600),
    [anon_sym_LT_EQ_GT] = ACTIONS(6600),
    [anon_sym_EQ_TILDE] = ACTIONS(6600),
    [anon_sym_BANG_TILDE] = ACTIONS(6600),
    [anon_sym_LT_EQ] = ACTIONS(6602),
    [anon_sym_GT] = ACTIONS(6602),
    [anon_sym_GT_EQ] = ACTIONS(6600),
    [anon_sym_CARET] = ACTIONS(6602),
    [anon_sym_PLUS] = ACTIONS(6602),
    [anon_sym_SLASH] = ACTIONS(6602),
    [anon_sym_PERCENT] = ACTIONS(6602),
    [sym_comment] = ACTIONS(256),
  },
  [5389] = {
    [anon_sym_end] = ACTIONS(11616),
    [sym_comment] = ACTIONS(110),
  },
  [5390] = {
    [sym__simple_heredoc_body] = ACTIONS(8568),
    [sym__heredoc_body_beginning] = ACTIONS(8568),
    [sym__string_middle] = ACTIONS(8568),
    [sym__string_end] = ACTIONS(8568),
    [sym__element_reference_left_bracket] = ACTIONS(8568),
    [sym__scope_double_colon] = ACTIONS(8568),
    [sym__binary_minus] = ACTIONS(7560),
    [sym__binary_star] = ACTIONS(7562),
    [anon_sym_LBRACE] = ACTIONS(8568),
    [anon_sym_DOT] = ACTIONS(9468),
    [anon_sym_COMMA] = ACTIONS(8568),
    [anon_sym_PIPE] = ACTIONS(7564),
    [anon_sym_STAR_STAR] = ACTIONS(7566),
    [anon_sym_AMP] = ACTIONS(7568),
    [anon_sym_EQ] = ACTIONS(9468),
    [anon_sym_LT] = ACTIONS(7570),
    [anon_sym_if] = ACTIONS(8568),
    [anon_sym_unless] = ACTIONS(8568),
    [anon_sym_while] = ACTIONS(8568),
    [anon_sym_until] = ACTIONS(8568),
    [anon_sym_rescue] = ACTIONS(8568),
    [anon_sym_do] = ACTIONS(8568),
    [anon_sym_AMP_DOT] = ACTIONS(8568),
    [anon_sym_PLUS_EQ] = ACTIONS(8568),
    [anon_sym_DASH_EQ] = ACTIONS(8568),
    [anon_sym_STAR_EQ] = ACTIONS(8568),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8568),
    [anon_sym_SLASH_EQ] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8568),
    [anon_sym_PIPE_EQ] = ACTIONS(8568),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8568),
    [anon_sym_AMP_EQ] = ACTIONS(8568),
    [anon_sym_PERCENT_EQ] = ACTIONS(8568),
    [anon_sym_GT_GT_EQ] = ACTIONS(8568),
    [anon_sym_LT_LT_EQ] = ACTIONS(8568),
    [anon_sym_CARET_EQ] = ACTIONS(8568),
    [anon_sym_QMARK] = ACTIONS(7572),
    [anon_sym_DOT_DOT] = ACTIONS(7574),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7576),
    [anon_sym_and] = ACTIONS(8568),
    [anon_sym_or] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE] = ACTIONS(7578),
    [anon_sym_AMP_AMP] = ACTIONS(7578),
    [anon_sym_LT_LT] = ACTIONS(7580),
    [anon_sym_GT_GT] = ACTIONS(7580),
    [anon_sym_EQ_EQ] = ACTIONS(7578),
    [anon_sym_BANG_EQ] = ACTIONS(7582),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7582),
    [anon_sym_LT_EQ_GT] = ACTIONS(7582),
    [anon_sym_EQ_TILDE] = ACTIONS(7582),
    [anon_sym_BANG_TILDE] = ACTIONS(7582),
    [anon_sym_LT_EQ] = ACTIONS(7570),
    [anon_sym_GT] = ACTIONS(7570),
    [anon_sym_GT_EQ] = ACTIONS(7584),
    [anon_sym_CARET] = ACTIONS(7564),
    [anon_sym_PLUS] = ACTIONS(7586),
    [anon_sym_SLASH] = ACTIONS(7566),
    [anon_sym_PERCENT] = ACTIONS(7566),
    [sym_comment] = ACTIONS(256),
  },
  [5391] = {
    [anon_sym_RBRACK] = ACTIONS(11556),
    [sym_comment] = ACTIONS(110),
  },
  [5392] = {
    [sym__simple_heredoc_body] = ACTIONS(6902),
    [sym__heredoc_body_beginning] = ACTIONS(6902),
    [sym__string_middle] = ACTIONS(6902),
    [sym__string_end] = ACTIONS(6902),
    [sym__element_reference_left_bracket] = ACTIONS(6902),
    [sym__scope_double_colon] = ACTIONS(6902),
    [sym__binary_minus] = ACTIONS(6902),
    [sym__binary_star] = ACTIONS(6902),
    [anon_sym_LBRACE] = ACTIONS(6902),
    [anon_sym_DOT] = ACTIONS(6904),
    [anon_sym_COMMA] = ACTIONS(6902),
    [anon_sym_PIPE] = ACTIONS(6904),
    [anon_sym_STAR_STAR] = ACTIONS(6904),
    [anon_sym_AMP] = ACTIONS(6904),
    [anon_sym_EQ] = ACTIONS(6904),
    [anon_sym_LT] = ACTIONS(6904),
    [anon_sym_if] = ACTIONS(6902),
    [anon_sym_unless] = ACTIONS(6902),
    [anon_sym_while] = ACTIONS(6902),
    [anon_sym_until] = ACTIONS(6902),
    [anon_sym_rescue] = ACTIONS(6902),
    [anon_sym_do] = ACTIONS(6902),
    [anon_sym_EQ_GT] = ACTIONS(6902),
    [anon_sym_AMP_DOT] = ACTIONS(6902),
    [anon_sym_PLUS_EQ] = ACTIONS(6902),
    [anon_sym_DASH_EQ] = ACTIONS(6902),
    [anon_sym_STAR_EQ] = ACTIONS(6902),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6902),
    [anon_sym_SLASH_EQ] = ACTIONS(6902),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6902),
    [anon_sym_PIPE_EQ] = ACTIONS(6902),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6902),
    [anon_sym_AMP_EQ] = ACTIONS(6902),
    [anon_sym_PERCENT_EQ] = ACTIONS(6902),
    [anon_sym_GT_GT_EQ] = ACTIONS(6902),
    [anon_sym_LT_LT_EQ] = ACTIONS(6902),
    [anon_sym_CARET_EQ] = ACTIONS(6902),
    [anon_sym_QMARK] = ACTIONS(6902),
    [anon_sym_DOT_DOT] = ACTIONS(6904),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6902),
    [anon_sym_and] = ACTIONS(6902),
    [anon_sym_or] = ACTIONS(6902),
    [anon_sym_PIPE_PIPE] = ACTIONS(6904),
    [anon_sym_AMP_AMP] = ACTIONS(6904),
    [anon_sym_LT_LT] = ACTIONS(6904),
    [anon_sym_GT_GT] = ACTIONS(6904),
    [anon_sym_EQ_EQ] = ACTIONS(6904),
    [anon_sym_BANG_EQ] = ACTIONS(6902),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6902),
    [anon_sym_LT_EQ_GT] = ACTIONS(6902),
    [anon_sym_EQ_TILDE] = ACTIONS(6902),
    [anon_sym_BANG_TILDE] = ACTIONS(6902),
    [anon_sym_LT_EQ] = ACTIONS(6904),
    [anon_sym_GT] = ACTIONS(6904),
    [anon_sym_GT_EQ] = ACTIONS(6902),
    [anon_sym_CARET] = ACTIONS(6904),
    [anon_sym_PLUS] = ACTIONS(6904),
    [anon_sym_SLASH] = ACTIONS(6904),
    [anon_sym_PERCENT] = ACTIONS(6904),
    [sym_comment] = ACTIONS(256),
  },
  [5393] = {
    [sym__simple_heredoc_body] = ACTIONS(6980),
    [sym__heredoc_body_beginning] = ACTIONS(6980),
    [sym__string_middle] = ACTIONS(6980),
    [sym__string_end] = ACTIONS(6980),
    [sym__element_reference_left_bracket] = ACTIONS(6980),
    [sym__scope_double_colon] = ACTIONS(6980),
    [sym__binary_minus] = ACTIONS(6980),
    [sym__binary_star] = ACTIONS(6980),
    [anon_sym_LBRACE] = ACTIONS(6980),
    [anon_sym_DOT] = ACTIONS(6982),
    [anon_sym_COMMA] = ACTIONS(6980),
    [anon_sym_PIPE] = ACTIONS(6982),
    [anon_sym_STAR_STAR] = ACTIONS(6982),
    [anon_sym_AMP] = ACTIONS(6982),
    [anon_sym_EQ] = ACTIONS(6982),
    [anon_sym_LT] = ACTIONS(6982),
    [anon_sym_if] = ACTIONS(6980),
    [anon_sym_unless] = ACTIONS(6980),
    [anon_sym_while] = ACTIONS(6980),
    [anon_sym_until] = ACTIONS(6980),
    [anon_sym_rescue] = ACTIONS(6980),
    [anon_sym_do] = ACTIONS(6980),
    [anon_sym_EQ_GT] = ACTIONS(6980),
    [anon_sym_AMP_DOT] = ACTIONS(6980),
    [anon_sym_PLUS_EQ] = ACTIONS(6980),
    [anon_sym_DASH_EQ] = ACTIONS(6980),
    [anon_sym_STAR_EQ] = ACTIONS(6980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6980),
    [anon_sym_SLASH_EQ] = ACTIONS(6980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6980),
    [anon_sym_PIPE_EQ] = ACTIONS(6980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6980),
    [anon_sym_AMP_EQ] = ACTIONS(6980),
    [anon_sym_PERCENT_EQ] = ACTIONS(6980),
    [anon_sym_GT_GT_EQ] = ACTIONS(6980),
    [anon_sym_LT_LT_EQ] = ACTIONS(6980),
    [anon_sym_CARET_EQ] = ACTIONS(6980),
    [anon_sym_QMARK] = ACTIONS(6980),
    [anon_sym_DOT_DOT] = ACTIONS(6982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6980),
    [anon_sym_and] = ACTIONS(6980),
    [anon_sym_or] = ACTIONS(6980),
    [anon_sym_PIPE_PIPE] = ACTIONS(6982),
    [anon_sym_AMP_AMP] = ACTIONS(6982),
    [anon_sym_LT_LT] = ACTIONS(6982),
    [anon_sym_GT_GT] = ACTIONS(6982),
    [anon_sym_EQ_EQ] = ACTIONS(6982),
    [anon_sym_BANG_EQ] = ACTIONS(6980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6980),
    [anon_sym_LT_EQ_GT] = ACTIONS(6980),
    [anon_sym_EQ_TILDE] = ACTIONS(6980),
    [anon_sym_BANG_TILDE] = ACTIONS(6980),
    [anon_sym_LT_EQ] = ACTIONS(6982),
    [anon_sym_GT] = ACTIONS(6982),
    [anon_sym_GT_EQ] = ACTIONS(6980),
    [anon_sym_CARET] = ACTIONS(6982),
    [anon_sym_PLUS] = ACTIONS(6982),
    [anon_sym_SLASH] = ACTIONS(6982),
    [anon_sym_PERCENT] = ACTIONS(6982),
    [sym_comment] = ACTIONS(256),
  },
  [5394] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__string_middle] = ACTIONS(7008),
    [sym__string_end] = ACTIONS(7008),
    [sym__element_reference_left_bracket] = ACTIONS(7008),
    [sym__scope_double_colon] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(3784),
    [anon_sym_LBRACE] = ACTIONS(7008),
    [anon_sym_DOT] = ACTIONS(7010),
    [anon_sym_COMMA] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_STAR_STAR] = ACTIONS(3788),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_EQ] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_if] = ACTIONS(7008),
    [anon_sym_unless] = ACTIONS(7008),
    [anon_sym_while] = ACTIONS(7008),
    [anon_sym_until] = ACTIONS(7008),
    [anon_sym_rescue] = ACTIONS(7008),
    [anon_sym_do] = ACTIONS(7008),
    [anon_sym_EQ_GT] = ACTIONS(7008),
    [anon_sym_AMP_DOT] = ACTIONS(7008),
    [anon_sym_PLUS_EQ] = ACTIONS(7008),
    [anon_sym_DASH_EQ] = ACTIONS(7008),
    [anon_sym_STAR_EQ] = ACTIONS(7008),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7008),
    [anon_sym_SLASH_EQ] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7008),
    [anon_sym_PIPE_EQ] = ACTIONS(7008),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7008),
    [anon_sym_AMP_EQ] = ACTIONS(7008),
    [anon_sym_PERCENT_EQ] = ACTIONS(7008),
    [anon_sym_GT_GT_EQ] = ACTIONS(7008),
    [anon_sym_LT_LT_EQ] = ACTIONS(7008),
    [anon_sym_CARET_EQ] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7010),
    [anon_sym_AMP_AMP] = ACTIONS(7010),
    [anon_sym_LT_LT] = ACTIONS(7010),
    [anon_sym_GT_GT] = ACTIONS(7010),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7010),
    [anon_sym_PLUS] = ACTIONS(7010),
    [anon_sym_SLASH] = ACTIONS(3788),
    [anon_sym_PERCENT] = ACTIONS(3788),
    [sym_comment] = ACTIONS(256),
  },
  [5395] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__string_middle] = ACTIONS(7012),
    [sym__string_end] = ACTIONS(7012),
    [sym__element_reference_left_bracket] = ACTIONS(7012),
    [sym__scope_double_colon] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_LBRACE] = ACTIONS(7012),
    [anon_sym_DOT] = ACTIONS(7014),
    [anon_sym_COMMA] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_STAR_STAR] = ACTIONS(3788),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_EQ] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_if] = ACTIONS(7012),
    [anon_sym_unless] = ACTIONS(7012),
    [anon_sym_while] = ACTIONS(7012),
    [anon_sym_until] = ACTIONS(7012),
    [anon_sym_rescue] = ACTIONS(7012),
    [anon_sym_do] = ACTIONS(7012),
    [anon_sym_EQ_GT] = ACTIONS(7012),
    [anon_sym_AMP_DOT] = ACTIONS(7012),
    [anon_sym_PLUS_EQ] = ACTIONS(7012),
    [anon_sym_DASH_EQ] = ACTIONS(7012),
    [anon_sym_STAR_EQ] = ACTIONS(7012),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7012),
    [anon_sym_SLASH_EQ] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7012),
    [anon_sym_PIPE_EQ] = ACTIONS(7012),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7012),
    [anon_sym_AMP_EQ] = ACTIONS(7012),
    [anon_sym_PERCENT_EQ] = ACTIONS(7012),
    [anon_sym_GT_GT_EQ] = ACTIONS(7012),
    [anon_sym_LT_LT_EQ] = ACTIONS(7012),
    [anon_sym_CARET_EQ] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7014),
    [anon_sym_AMP_AMP] = ACTIONS(7014),
    [anon_sym_LT_LT] = ACTIONS(7014),
    [anon_sym_GT_GT] = ACTIONS(7014),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7014),
    [anon_sym_PLUS] = ACTIONS(7014),
    [anon_sym_SLASH] = ACTIONS(7014),
    [anon_sym_PERCENT] = ACTIONS(7014),
    [sym_comment] = ACTIONS(256),
  },
  [5396] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__string_middle] = ACTIONS(7016),
    [sym__string_end] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(3782),
    [sym__binary_star] = ACTIONS(3784),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(3788),
    [anon_sym_AMP] = ACTIONS(3790),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(3802),
    [anon_sym_GT_GT] = ACTIONS(3802),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(3808),
    [anon_sym_SLASH] = ACTIONS(3788),
    [anon_sym_PERCENT] = ACTIONS(3788),
    [sym_comment] = ACTIONS(256),
  },
  [5397] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__string_middle] = ACTIONS(7016),
    [sym__string_end] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(3788),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7018),
    [anon_sym_GT_GT] = ACTIONS(7018),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(7018),
    [anon_sym_SLASH] = ACTIONS(7018),
    [anon_sym_PERCENT] = ACTIONS(7018),
    [sym_comment] = ACTIONS(256),
  },
  [5398] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__string_middle] = ACTIONS(7016),
    [sym__string_end] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(3782),
    [sym__binary_star] = ACTIONS(3784),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(3788),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(3802),
    [anon_sym_GT_GT] = ACTIONS(3802),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(3808),
    [anon_sym_SLASH] = ACTIONS(3788),
    [anon_sym_PERCENT] = ACTIONS(3788),
    [sym_comment] = ACTIONS(256),
  },
  [5399] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__string_middle] = ACTIONS(7016),
    [sym__string_end] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(3782),
    [sym__binary_star] = ACTIONS(3784),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(3786),
    [anon_sym_STAR_STAR] = ACTIONS(3788),
    [anon_sym_AMP] = ACTIONS(3790),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(3802),
    [anon_sym_GT_GT] = ACTIONS(3802),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(3786),
    [anon_sym_PLUS] = ACTIONS(3808),
    [anon_sym_SLASH] = ACTIONS(3788),
    [anon_sym_PERCENT] = ACTIONS(3788),
    [sym_comment] = ACTIONS(256),
  },
  [5400] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(11618),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [5401] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__string_middle] = ACTIONS(7108),
    [sym__string_end] = ACTIONS(7108),
    [sym__element_reference_left_bracket] = ACTIONS(7108),
    [sym__scope_double_colon] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(3782),
    [sym__binary_star] = ACTIONS(3784),
    [anon_sym_LBRACE] = ACTIONS(7108),
    [anon_sym_DOT] = ACTIONS(9472),
    [anon_sym_COMMA] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(3786),
    [anon_sym_STAR_STAR] = ACTIONS(3788),
    [anon_sym_AMP] = ACTIONS(3790),
    [anon_sym_EQ] = ACTIONS(9472),
    [anon_sym_LT] = ACTIONS(3792),
    [anon_sym_if] = ACTIONS(7108),
    [anon_sym_unless] = ACTIONS(7108),
    [anon_sym_while] = ACTIONS(7108),
    [anon_sym_until] = ACTIONS(7108),
    [anon_sym_rescue] = ACTIONS(7108),
    [anon_sym_do] = ACTIONS(7108),
    [anon_sym_EQ_GT] = ACTIONS(7108),
    [anon_sym_AMP_DOT] = ACTIONS(7108),
    [anon_sym_PLUS_EQ] = ACTIONS(7108),
    [anon_sym_DASH_EQ] = ACTIONS(7108),
    [anon_sym_STAR_EQ] = ACTIONS(7108),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7108),
    [anon_sym_SLASH_EQ] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7108),
    [anon_sym_PIPE_EQ] = ACTIONS(7108),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7108),
    [anon_sym_AMP_EQ] = ACTIONS(7108),
    [anon_sym_PERCENT_EQ] = ACTIONS(7108),
    [anon_sym_GT_GT_EQ] = ACTIONS(7108),
    [anon_sym_LT_LT_EQ] = ACTIONS(7108),
    [anon_sym_CARET_EQ] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(3796),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3798),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(3800),
    [anon_sym_AMP_AMP] = ACTIONS(3800),
    [anon_sym_LT_LT] = ACTIONS(3802),
    [anon_sym_GT_GT] = ACTIONS(3802),
    [anon_sym_EQ_EQ] = ACTIONS(3800),
    [anon_sym_BANG_EQ] = ACTIONS(3804),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3804),
    [anon_sym_LT_EQ_GT] = ACTIONS(3804),
    [anon_sym_EQ_TILDE] = ACTIONS(3804),
    [anon_sym_BANG_TILDE] = ACTIONS(3804),
    [anon_sym_LT_EQ] = ACTIONS(3792),
    [anon_sym_GT] = ACTIONS(3792),
    [anon_sym_GT_EQ] = ACTIONS(3806),
    [anon_sym_CARET] = ACTIONS(3786),
    [anon_sym_PLUS] = ACTIONS(3808),
    [anon_sym_SLASH] = ACTIONS(3788),
    [anon_sym_PERCENT] = ACTIONS(3788),
    [sym_comment] = ACTIONS(256),
  },
  [5402] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__string_middle] = ACTIONS(7016),
    [sym__string_end] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(3782),
    [sym__binary_star] = ACTIONS(3784),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(3786),
    [anon_sym_STAR_STAR] = ACTIONS(3788),
    [anon_sym_AMP] = ACTIONS(3790),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(3792),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(3794),
    [anon_sym_DOT_DOT] = ACTIONS(3796),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3798),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(3800),
    [anon_sym_AMP_AMP] = ACTIONS(3800),
    [anon_sym_LT_LT] = ACTIONS(3802),
    [anon_sym_GT_GT] = ACTIONS(3802),
    [anon_sym_EQ_EQ] = ACTIONS(3800),
    [anon_sym_BANG_EQ] = ACTIONS(3804),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3804),
    [anon_sym_LT_EQ_GT] = ACTIONS(3804),
    [anon_sym_EQ_TILDE] = ACTIONS(3804),
    [anon_sym_BANG_TILDE] = ACTIONS(3804),
    [anon_sym_LT_EQ] = ACTIONS(3792),
    [anon_sym_GT] = ACTIONS(3792),
    [anon_sym_GT_EQ] = ACTIONS(3806),
    [anon_sym_CARET] = ACTIONS(3786),
    [anon_sym_PLUS] = ACTIONS(3808),
    [anon_sym_SLASH] = ACTIONS(3788),
    [anon_sym_PERCENT] = ACTIONS(3788),
    [sym_comment] = ACTIONS(256),
  },
  [5403] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__string_middle] = ACTIONS(7016),
    [sym__string_end] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(3782),
    [sym__binary_star] = ACTIONS(3784),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(3786),
    [anon_sym_STAR_STAR] = ACTIONS(3788),
    [anon_sym_AMP] = ACTIONS(3790),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(3792),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(3802),
    [anon_sym_GT_GT] = ACTIONS(3802),
    [anon_sym_EQ_EQ] = ACTIONS(3800),
    [anon_sym_BANG_EQ] = ACTIONS(3804),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3804),
    [anon_sym_LT_EQ_GT] = ACTIONS(3804),
    [anon_sym_EQ_TILDE] = ACTIONS(3804),
    [anon_sym_BANG_TILDE] = ACTIONS(3804),
    [anon_sym_LT_EQ] = ACTIONS(3792),
    [anon_sym_GT] = ACTIONS(3792),
    [anon_sym_GT_EQ] = ACTIONS(3806),
    [anon_sym_CARET] = ACTIONS(3786),
    [anon_sym_PLUS] = ACTIONS(3808),
    [anon_sym_SLASH] = ACTIONS(3788),
    [anon_sym_PERCENT] = ACTIONS(3788),
    [sym_comment] = ACTIONS(256),
  },
  [5404] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__string_middle] = ACTIONS(7016),
    [sym__string_end] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(3782),
    [sym__binary_star] = ACTIONS(3784),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(3788),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7018),
    [anon_sym_GT_GT] = ACTIONS(7018),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(3808),
    [anon_sym_SLASH] = ACTIONS(3788),
    [anon_sym_PERCENT] = ACTIONS(3788),
    [sym_comment] = ACTIONS(256),
  },
  [5405] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__string_middle] = ACTIONS(7016),
    [sym__string_end] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(3784),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(3788),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7018),
    [anon_sym_GT_GT] = ACTIONS(7018),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(7018),
    [anon_sym_SLASH] = ACTIONS(3788),
    [anon_sym_PERCENT] = ACTIONS(3788),
    [sym_comment] = ACTIONS(256),
  },
  [5406] = {
    [sym__string_middle] = ACTIONS(6902),
    [sym__string_end] = ACTIONS(6902),
    [sym__element_reference_left_bracket] = ACTIONS(6902),
    [sym__scope_double_colon] = ACTIONS(6902),
    [sym__binary_minus] = ACTIONS(6902),
    [sym__binary_star] = ACTIONS(6902),
    [anon_sym_DOT] = ACTIONS(6904),
    [anon_sym_COMMA] = ACTIONS(6902),
    [anon_sym_PIPE] = ACTIONS(6904),
    [anon_sym_STAR_STAR] = ACTIONS(6904),
    [anon_sym_AMP] = ACTIONS(6904),
    [anon_sym_EQ] = ACTIONS(6904),
    [anon_sym_LT] = ACTIONS(6904),
    [anon_sym_if] = ACTIONS(6902),
    [anon_sym_unless] = ACTIONS(6902),
    [anon_sym_while] = ACTIONS(6902),
    [anon_sym_until] = ACTIONS(6902),
    [anon_sym_rescue] = ACTIONS(6902),
    [anon_sym_AMP_DOT] = ACTIONS(6902),
    [anon_sym_PLUS_EQ] = ACTIONS(6902),
    [anon_sym_DASH_EQ] = ACTIONS(6902),
    [anon_sym_STAR_EQ] = ACTIONS(6902),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6902),
    [anon_sym_SLASH_EQ] = ACTIONS(6902),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6902),
    [anon_sym_PIPE_EQ] = ACTIONS(6902),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6902),
    [anon_sym_AMP_EQ] = ACTIONS(6902),
    [anon_sym_PERCENT_EQ] = ACTIONS(6902),
    [anon_sym_GT_GT_EQ] = ACTIONS(6902),
    [anon_sym_LT_LT_EQ] = ACTIONS(6902),
    [anon_sym_CARET_EQ] = ACTIONS(6902),
    [anon_sym_QMARK] = ACTIONS(6902),
    [anon_sym_DOT_DOT] = ACTIONS(6904),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6902),
    [anon_sym_and] = ACTIONS(6902),
    [anon_sym_or] = ACTIONS(6902),
    [anon_sym_PIPE_PIPE] = ACTIONS(6904),
    [anon_sym_AMP_AMP] = ACTIONS(6904),
    [anon_sym_LT_LT] = ACTIONS(6904),
    [anon_sym_GT_GT] = ACTIONS(6904),
    [anon_sym_EQ_EQ] = ACTIONS(6904),
    [anon_sym_BANG_EQ] = ACTIONS(6902),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6902),
    [anon_sym_LT_EQ_GT] = ACTIONS(6902),
    [anon_sym_EQ_TILDE] = ACTIONS(6902),
    [anon_sym_BANG_TILDE] = ACTIONS(6902),
    [anon_sym_LT_EQ] = ACTIONS(6904),
    [anon_sym_GT] = ACTIONS(6904),
    [anon_sym_GT_EQ] = ACTIONS(6902),
    [anon_sym_CARET] = ACTIONS(6904),
    [anon_sym_PLUS] = ACTIONS(6904),
    [anon_sym_SLASH] = ACTIONS(6904),
    [anon_sym_PERCENT] = ACTIONS(6904),
    [sym_comment] = ACTIONS(256),
  },
  [5407] = {
    [sym__heredoc_body_middle] = ACTIONS(4108),
    [sym__heredoc_body_end] = ACTIONS(11620),
    [anon_sym_if] = ACTIONS(4112),
    [anon_sym_unless] = ACTIONS(4114),
    [anon_sym_while] = ACTIONS(4116),
    [anon_sym_until] = ACTIONS(4118),
    [anon_sym_rescue] = ACTIONS(4120),
    [sym_comment] = ACTIONS(110),
  },
  [5408] = {
    [sym__statement] = STATE(8724),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [5409] = {
    [sym__simple_heredoc_body] = ACTIONS(9492),
    [sym__heredoc_body_beginning] = ACTIONS(9492),
    [sym__string_middle] = ACTIONS(9492),
    [sym__string_end] = ACTIONS(9492),
    [sym__element_reference_left_bracket] = ACTIONS(9492),
    [sym__scope_double_colon] = ACTIONS(9492),
    [sym__binary_minus] = ACTIONS(9492),
    [sym__binary_star] = ACTIONS(9492),
    [anon_sym_LBRACE] = ACTIONS(9492),
    [anon_sym_DOT] = ACTIONS(9494),
    [anon_sym_COMMA] = ACTIONS(9492),
    [anon_sym_PIPE] = ACTIONS(9494),
    [anon_sym_STAR_STAR] = ACTIONS(9494),
    [anon_sym_AMP] = ACTIONS(9494),
    [anon_sym_EQ] = ACTIONS(9494),
    [anon_sym_LT] = ACTIONS(9494),
    [anon_sym_if] = ACTIONS(9492),
    [anon_sym_unless] = ACTIONS(9492),
    [anon_sym_while] = ACTIONS(9492),
    [anon_sym_until] = ACTIONS(9492),
    [anon_sym_rescue] = ACTIONS(9492),
    [anon_sym_do] = ACTIONS(9492),
    [anon_sym_AMP_DOT] = ACTIONS(9492),
    [anon_sym_PLUS_EQ] = ACTIONS(9492),
    [anon_sym_DASH_EQ] = ACTIONS(9492),
    [anon_sym_STAR_EQ] = ACTIONS(9492),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9492),
    [anon_sym_SLASH_EQ] = ACTIONS(9492),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9492),
    [anon_sym_PIPE_EQ] = ACTIONS(9492),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9492),
    [anon_sym_AMP_EQ] = ACTIONS(9492),
    [anon_sym_PERCENT_EQ] = ACTIONS(9492),
    [anon_sym_GT_GT_EQ] = ACTIONS(9492),
    [anon_sym_LT_LT_EQ] = ACTIONS(9492),
    [anon_sym_CARET_EQ] = ACTIONS(9492),
    [anon_sym_QMARK] = ACTIONS(9492),
    [anon_sym_DOT_DOT] = ACTIONS(9494),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9492),
    [anon_sym_and] = ACTIONS(9492),
    [anon_sym_or] = ACTIONS(9492),
    [anon_sym_PIPE_PIPE] = ACTIONS(9494),
    [anon_sym_AMP_AMP] = ACTIONS(9494),
    [anon_sym_LT_LT] = ACTIONS(9494),
    [anon_sym_GT_GT] = ACTIONS(9494),
    [anon_sym_EQ_EQ] = ACTIONS(9494),
    [anon_sym_BANG_EQ] = ACTIONS(9492),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9492),
    [anon_sym_LT_EQ_GT] = ACTIONS(9492),
    [anon_sym_EQ_TILDE] = ACTIONS(9492),
    [anon_sym_BANG_TILDE] = ACTIONS(9492),
    [anon_sym_LT_EQ] = ACTIONS(9494),
    [anon_sym_GT] = ACTIONS(9494),
    [anon_sym_GT_EQ] = ACTIONS(9492),
    [anon_sym_CARET] = ACTIONS(9494),
    [anon_sym_PLUS] = ACTIONS(9494),
    [anon_sym_SLASH] = ACTIONS(9494),
    [anon_sym_PERCENT] = ACTIONS(9494),
    [sym_comment] = ACTIONS(256),
  },
  [5410] = {
    [sym__simple_heredoc_body] = ACTIONS(9496),
    [sym__heredoc_body_beginning] = ACTIONS(9496),
    [sym__string_middle] = ACTIONS(9496),
    [sym__string_end] = ACTIONS(9496),
    [sym__element_reference_left_bracket] = ACTIONS(9496),
    [sym__scope_double_colon] = ACTIONS(9496),
    [sym__binary_minus] = ACTIONS(9496),
    [sym__binary_star] = ACTIONS(9496),
    [anon_sym_LBRACE] = ACTIONS(9496),
    [anon_sym_DOT] = ACTIONS(9498),
    [anon_sym_COMMA] = ACTIONS(9496),
    [anon_sym_PIPE] = ACTIONS(9498),
    [anon_sym_STAR_STAR] = ACTIONS(9498),
    [anon_sym_AMP] = ACTIONS(9498),
    [anon_sym_EQ] = ACTIONS(9498),
    [anon_sym_LT] = ACTIONS(9498),
    [anon_sym_if] = ACTIONS(9496),
    [anon_sym_unless] = ACTIONS(9496),
    [anon_sym_while] = ACTIONS(9496),
    [anon_sym_until] = ACTIONS(9496),
    [anon_sym_rescue] = ACTIONS(9496),
    [anon_sym_do] = ACTIONS(9496),
    [anon_sym_AMP_DOT] = ACTIONS(9496),
    [anon_sym_PLUS_EQ] = ACTIONS(9496),
    [anon_sym_DASH_EQ] = ACTIONS(9496),
    [anon_sym_STAR_EQ] = ACTIONS(9496),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9496),
    [anon_sym_SLASH_EQ] = ACTIONS(9496),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9496),
    [anon_sym_PIPE_EQ] = ACTIONS(9496),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9496),
    [anon_sym_AMP_EQ] = ACTIONS(9496),
    [anon_sym_PERCENT_EQ] = ACTIONS(9496),
    [anon_sym_GT_GT_EQ] = ACTIONS(9496),
    [anon_sym_LT_LT_EQ] = ACTIONS(9496),
    [anon_sym_CARET_EQ] = ACTIONS(9496),
    [anon_sym_QMARK] = ACTIONS(9496),
    [anon_sym_DOT_DOT] = ACTIONS(9498),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9496),
    [anon_sym_and] = ACTIONS(9496),
    [anon_sym_or] = ACTIONS(9496),
    [anon_sym_PIPE_PIPE] = ACTIONS(9498),
    [anon_sym_AMP_AMP] = ACTIONS(9498),
    [anon_sym_LT_LT] = ACTIONS(9498),
    [anon_sym_GT_GT] = ACTIONS(9498),
    [anon_sym_EQ_EQ] = ACTIONS(9498),
    [anon_sym_BANG_EQ] = ACTIONS(9496),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9496),
    [anon_sym_LT_EQ_GT] = ACTIONS(9496),
    [anon_sym_EQ_TILDE] = ACTIONS(9496),
    [anon_sym_BANG_TILDE] = ACTIONS(9496),
    [anon_sym_LT_EQ] = ACTIONS(9498),
    [anon_sym_GT] = ACTIONS(9498),
    [anon_sym_GT_EQ] = ACTIONS(9496),
    [anon_sym_CARET] = ACTIONS(9498),
    [anon_sym_PLUS] = ACTIONS(9498),
    [anon_sym_SLASH] = ACTIONS(9498),
    [anon_sym_PERCENT] = ACTIONS(9498),
    [sym_comment] = ACTIONS(256),
  },
  [5411] = {
    [sym_method] = STATE(769),
    [sym_singleton_method] = STATE(769),
    [sym_class] = STATE(769),
    [sym_singleton_class] = STATE(769),
    [sym_module] = STATE(769),
    [sym_return] = STATE(769),
    [sym_yield] = STATE(769),
    [sym_break] = STATE(769),
    [sym_next] = STATE(769),
    [sym_redo] = STATE(769),
    [sym_retry] = STATE(769),
    [sym_while] = STATE(769),
    [sym_until] = STATE(769),
    [sym_for] = STATE(769),
    [sym_case] = STATE(769),
    [sym_if] = STATE(769),
    [sym_unless] = STATE(769),
    [sym_begin] = STATE(769),
    [sym__arg] = STATE(803),
    [sym__primary] = STATE(804),
    [sym_parenthesized_statements] = STATE(769),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(805),
    [sym_call] = STATE(805),
    [sym_method_call] = STATE(694),
    [sym__argument] = STATE(8725),
    [sym_splat_argument] = STATE(809),
    [sym_hash_splat_argument] = STATE(809),
    [sym_block_argument] = STATE(809),
    [sym_assignment] = STATE(811),
    [sym_operator_assignment] = STATE(811),
    [sym_conditional] = STATE(811),
    [sym_range] = STATE(811),
    [sym_binary] = STATE(811),
    [sym_unary] = STATE(811),
    [sym_left_assignment_list] = STATE(812),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(813),
    [sym__variable] = STATE(805),
    [sym_reserved_identifier] = STATE(814),
    [sym_symbol] = STATE(769),
    [sym_complex] = STATE(769),
    [sym_rational] = STATE(769),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(769),
    [sym_string] = STATE(815),
    [sym_subshell] = STATE(769),
    [sym_array] = STATE(769),
    [sym_hash] = STATE(769),
    [sym_pair] = STATE(809),
    [sym_regex] = STATE(769),
    [sym_lambda] = STATE(769),
    [sym__simple_string] = ACTIONS(1274),
    [sym__simple_symbol] = ACTIONS(1276),
    [sym__simple_subshell] = ACTIONS(1278),
    [sym__simple_regex] = ACTIONS(1280),
    [sym__simple_word_list] = ACTIONS(1282),
    [sym__string_beginning] = ACTIONS(1284),
    [sym__symbol_beginning] = ACTIONS(1286),
    [sym__subshell_beginning] = ACTIONS(1288),
    [sym__regex_beginning] = ACTIONS(1290),
    [sym__word_list_beginning] = ACTIONS(1292),
    [sym_heredoc_beginning] = ACTIONS(1294),
    [sym__block_ampersand] = ACTIONS(1296),
    [sym__splat_star] = ACTIONS(1298),
    [sym__unary_minus] = ACTIONS(1302),
    [anon_sym_LBRACE] = ACTIONS(3716),
    [anon_sym_def] = ACTIONS(1306),
    [anon_sym_LPAREN] = ACTIONS(1308),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(7622),
    [anon_sym_class] = ACTIONS(1310),
    [anon_sym_module] = ACTIONS(1312),
    [anon_sym_return] = ACTIONS(1314),
    [anon_sym_yield] = ACTIONS(1316),
    [anon_sym_break] = ACTIONS(1318),
    [anon_sym_next] = ACTIONS(1320),
    [anon_sym_redo] = ACTIONS(1322),
    [anon_sym_retry] = ACTIONS(1324),
    [anon_sym_if] = ACTIONS(7624),
    [anon_sym_unless] = ACTIONS(7626),
    [anon_sym_while] = ACTIONS(7628),
    [anon_sym_until] = ACTIONS(7630),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1326),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1330),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1332),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(3750),
    [anon_sym_defined_QMARK] = ACTIONS(1334),
    [anon_sym_not] = ACTIONS(1336),
    [anon_sym_BANG] = ACTIONS(1340),
    [anon_sym_TILDE] = ACTIONS(1340),
    [sym_constant] = ACTIONS(1342),
    [sym_identifier] = ACTIONS(1342),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(1168),
    [anon_sym_nil] = ACTIONS(1170),
    [anon_sym_self] = ACTIONS(1172),
    [anon_sym_super] = ACTIONS(1174),
    [anon_sym_true] = ACTIONS(1176),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1344),
    [sym_float] = ACTIONS(1346),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1348),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1350),
    [sym_keyword__LINE__] = ACTIONS(1350),
    [sym_keyword__ENCODING__] = ACTIONS(1350),
    [sym__character_literal] = ACTIONS(1352),
    [anon_sym_LBRACK] = ACTIONS(1354),
    [anon_sym_DASH_GT] = ACTIONS(1356),
  },
  [5412] = {
    [sym_method] = STATE(769),
    [sym_singleton_method] = STATE(769),
    [sym_class] = STATE(769),
    [sym_singleton_class] = STATE(769),
    [sym_module] = STATE(769),
    [sym_return] = STATE(769),
    [sym_yield] = STATE(769),
    [sym_break] = STATE(769),
    [sym_next] = STATE(769),
    [sym_redo] = STATE(769),
    [sym_retry] = STATE(769),
    [sym_while] = STATE(769),
    [sym_until] = STATE(769),
    [sym_for] = STATE(769),
    [sym_case] = STATE(769),
    [sym_if] = STATE(769),
    [sym_unless] = STATE(769),
    [sym_begin] = STATE(769),
    [sym__arg] = STATE(803),
    [sym__primary] = STATE(804),
    [sym_parenthesized_statements] = STATE(769),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(805),
    [sym_call] = STATE(805),
    [sym_method_call] = STATE(694),
    [sym__argument] = STATE(8725),
    [sym_splat_argument] = STATE(809),
    [sym_hash_splat_argument] = STATE(809),
    [sym_block_argument] = STATE(809),
    [sym_assignment] = STATE(811),
    [sym_operator_assignment] = STATE(811),
    [sym_conditional] = STATE(811),
    [sym_range] = STATE(811),
    [sym_binary] = STATE(811),
    [sym_unary] = STATE(811),
    [sym_left_assignment_list] = STATE(812),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(813),
    [sym__variable] = STATE(805),
    [sym_reserved_identifier] = STATE(814),
    [sym_symbol] = STATE(769),
    [sym_complex] = STATE(769),
    [sym_rational] = STATE(769),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(769),
    [sym_string] = STATE(815),
    [sym_subshell] = STATE(769),
    [sym_heredoc_end] = STATE(8726),
    [sym_array] = STATE(769),
    [sym_hash] = STATE(769),
    [sym_pair] = STATE(809),
    [sym_regex] = STATE(769),
    [sym_lambda] = STATE(769),
    [sym__simple_string] = ACTIONS(1274),
    [sym__simple_symbol] = ACTIONS(1276),
    [sym__simple_subshell] = ACTIONS(1278),
    [sym__simple_regex] = ACTIONS(1280),
    [sym__simple_word_list] = ACTIONS(1282),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(1284),
    [sym__symbol_beginning] = ACTIONS(1286),
    [sym__subshell_beginning] = ACTIONS(1288),
    [sym__regex_beginning] = ACTIONS(1290),
    [sym__word_list_beginning] = ACTIONS(1292),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(1294),
    [sym__block_ampersand] = ACTIONS(1296),
    [sym__splat_star] = ACTIONS(1298),
    [sym__unary_minus] = ACTIONS(1302),
    [anon_sym_LBRACE] = ACTIONS(3716),
    [anon_sym_def] = ACTIONS(1306),
    [anon_sym_LPAREN] = ACTIONS(1308),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(7622),
    [anon_sym_class] = ACTIONS(1310),
    [anon_sym_module] = ACTIONS(1312),
    [anon_sym_return] = ACTIONS(1314),
    [anon_sym_yield] = ACTIONS(1316),
    [anon_sym_break] = ACTIONS(1318),
    [anon_sym_next] = ACTIONS(1320),
    [anon_sym_redo] = ACTIONS(1322),
    [anon_sym_retry] = ACTIONS(1324),
    [anon_sym_if] = ACTIONS(7624),
    [anon_sym_unless] = ACTIONS(7626),
    [anon_sym_while] = ACTIONS(7628),
    [anon_sym_until] = ACTIONS(7630),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1326),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1330),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1332),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(3750),
    [anon_sym_defined_QMARK] = ACTIONS(1334),
    [anon_sym_not] = ACTIONS(1336),
    [anon_sym_BANG] = ACTIONS(1340),
    [anon_sym_TILDE] = ACTIONS(1340),
    [sym_constant] = ACTIONS(1342),
    [sym_identifier] = ACTIONS(1342),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(1168),
    [anon_sym_nil] = ACTIONS(1170),
    [anon_sym_self] = ACTIONS(1172),
    [anon_sym_super] = ACTIONS(1174),
    [anon_sym_true] = ACTIONS(1176),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1344),
    [sym_float] = ACTIONS(1346),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1348),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1350),
    [sym_keyword__LINE__] = ACTIONS(1350),
    [sym_keyword__ENCODING__] = ACTIONS(1350),
    [sym__character_literal] = ACTIONS(1352),
    [anon_sym_LBRACK] = ACTIONS(1354),
    [anon_sym_DASH_GT] = ACTIONS(1356),
  },
  [5413] = {
    [sym_heredoc_end] = STATE(5409),
    [sym__simple_heredoc_body] = ACTIONS(3814),
    [sym__heredoc_body_beginning] = ACTIONS(3816),
    [sym__string_middle] = ACTIONS(9500),
    [sym__string_end] = ACTIONS(9500),
    [sym__element_reference_left_bracket] = ACTIONS(9500),
    [sym__scope_double_colon] = ACTIONS(9500),
    [sym__binary_minus] = ACTIONS(9500),
    [sym__binary_star] = ACTIONS(9500),
    [anon_sym_LBRACE] = ACTIONS(9500),
    [anon_sym_DOT] = ACTIONS(9502),
    [anon_sym_COMMA] = ACTIONS(9500),
    [anon_sym_PIPE] = ACTIONS(9502),
    [anon_sym_STAR_STAR] = ACTIONS(9502),
    [anon_sym_AMP] = ACTIONS(9502),
    [anon_sym_EQ] = ACTIONS(9502),
    [anon_sym_LT] = ACTIONS(9502),
    [anon_sym_if] = ACTIONS(9500),
    [anon_sym_unless] = ACTIONS(9500),
    [anon_sym_while] = ACTIONS(9500),
    [anon_sym_until] = ACTIONS(9500),
    [anon_sym_rescue] = ACTIONS(9500),
    [anon_sym_do] = ACTIONS(9500),
    [anon_sym_AMP_DOT] = ACTIONS(9500),
    [anon_sym_PLUS_EQ] = ACTIONS(9500),
    [anon_sym_DASH_EQ] = ACTIONS(9500),
    [anon_sym_STAR_EQ] = ACTIONS(9500),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9500),
    [anon_sym_SLASH_EQ] = ACTIONS(9500),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9500),
    [anon_sym_PIPE_EQ] = ACTIONS(9500),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9500),
    [anon_sym_AMP_EQ] = ACTIONS(9500),
    [anon_sym_PERCENT_EQ] = ACTIONS(9500),
    [anon_sym_GT_GT_EQ] = ACTIONS(9500),
    [anon_sym_LT_LT_EQ] = ACTIONS(9500),
    [anon_sym_CARET_EQ] = ACTIONS(9500),
    [anon_sym_QMARK] = ACTIONS(9500),
    [anon_sym_DOT_DOT] = ACTIONS(9502),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9500),
    [anon_sym_and] = ACTIONS(9500),
    [anon_sym_or] = ACTIONS(9500),
    [anon_sym_PIPE_PIPE] = ACTIONS(9502),
    [anon_sym_AMP_AMP] = ACTIONS(9502),
    [anon_sym_LT_LT] = ACTIONS(9502),
    [anon_sym_GT_GT] = ACTIONS(9502),
    [anon_sym_EQ_EQ] = ACTIONS(9502),
    [anon_sym_BANG_EQ] = ACTIONS(9500),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9500),
    [anon_sym_LT_EQ_GT] = ACTIONS(9500),
    [anon_sym_EQ_TILDE] = ACTIONS(9500),
    [anon_sym_BANG_TILDE] = ACTIONS(9500),
    [anon_sym_LT_EQ] = ACTIONS(9502),
    [anon_sym_GT] = ACTIONS(9502),
    [anon_sym_GT_EQ] = ACTIONS(9500),
    [anon_sym_CARET] = ACTIONS(9502),
    [anon_sym_PLUS] = ACTIONS(9502),
    [anon_sym_SLASH] = ACTIONS(9502),
    [anon_sym_PERCENT] = ACTIONS(9502),
    [sym_comment] = ACTIONS(256),
  },
  [5414] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__string_middle] = ACTIONS(6346),
    [sym__string_end] = ACTIONS(6346),
    [sym__element_reference_left_bracket] = ACTIONS(6346),
    [sym__scope_double_colon] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(3782),
    [sym__binary_star] = ACTIONS(3784),
    [anon_sym_LBRACE] = ACTIONS(6346),
    [anon_sym_DOT] = ACTIONS(7328),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(3786),
    [anon_sym_STAR_STAR] = ACTIONS(3788),
    [anon_sym_AMP] = ACTIONS(3790),
    [anon_sym_EQ] = ACTIONS(7328),
    [anon_sym_LT] = ACTIONS(3792),
    [anon_sym_if] = ACTIONS(6346),
    [anon_sym_unless] = ACTIONS(6346),
    [anon_sym_while] = ACTIONS(6346),
    [anon_sym_until] = ACTIONS(6346),
    [anon_sym_rescue] = ACTIONS(6346),
    [anon_sym_do] = ACTIONS(6346),
    [anon_sym_EQ_GT] = ACTIONS(6346),
    [anon_sym_AMP_DOT] = ACTIONS(6346),
    [anon_sym_PLUS_EQ] = ACTIONS(6346),
    [anon_sym_DASH_EQ] = ACTIONS(6346),
    [anon_sym_STAR_EQ] = ACTIONS(6346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6346),
    [anon_sym_SLASH_EQ] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6346),
    [anon_sym_PIPE_EQ] = ACTIONS(6346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6346),
    [anon_sym_AMP_EQ] = ACTIONS(6346),
    [anon_sym_PERCENT_EQ] = ACTIONS(6346),
    [anon_sym_GT_GT_EQ] = ACTIONS(6346),
    [anon_sym_LT_LT_EQ] = ACTIONS(6346),
    [anon_sym_CARET_EQ] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(3794),
    [anon_sym_DOT_DOT] = ACTIONS(3796),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3798),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(3800),
    [anon_sym_AMP_AMP] = ACTIONS(3800),
    [anon_sym_LT_LT] = ACTIONS(3802),
    [anon_sym_GT_GT] = ACTIONS(3802),
    [anon_sym_EQ_EQ] = ACTIONS(3800),
    [anon_sym_BANG_EQ] = ACTIONS(3804),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3804),
    [anon_sym_LT_EQ_GT] = ACTIONS(3804),
    [anon_sym_EQ_TILDE] = ACTIONS(3804),
    [anon_sym_BANG_TILDE] = ACTIONS(3804),
    [anon_sym_LT_EQ] = ACTIONS(3792),
    [anon_sym_GT] = ACTIONS(3792),
    [anon_sym_GT_EQ] = ACTIONS(3806),
    [anon_sym_CARET] = ACTIONS(3786),
    [anon_sym_PLUS] = ACTIONS(3808),
    [anon_sym_SLASH] = ACTIONS(3788),
    [anon_sym_PERCENT] = ACTIONS(3788),
    [sym_comment] = ACTIONS(256),
  },
  [5415] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__string_middle] = ACTIONS(6346),
    [sym__string_end] = ACTIONS(6346),
    [sym__element_reference_left_bracket] = ACTIONS(6346),
    [sym__scope_double_colon] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(6346),
    [sym__binary_star] = ACTIONS(6346),
    [anon_sym_LBRACE] = ACTIONS(6346),
    [anon_sym_DOT] = ACTIONS(7328),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(7328),
    [anon_sym_STAR_STAR] = ACTIONS(7328),
    [anon_sym_AMP] = ACTIONS(7328),
    [anon_sym_EQ] = ACTIONS(7328),
    [anon_sym_LT] = ACTIONS(7328),
    [anon_sym_if] = ACTIONS(6346),
    [anon_sym_unless] = ACTIONS(6346),
    [anon_sym_while] = ACTIONS(6346),
    [anon_sym_until] = ACTIONS(6346),
    [anon_sym_rescue] = ACTIONS(6346),
    [anon_sym_do] = ACTIONS(6346),
    [anon_sym_EQ_GT] = ACTIONS(6346),
    [anon_sym_AMP_DOT] = ACTIONS(6346),
    [anon_sym_PLUS_EQ] = ACTIONS(6346),
    [anon_sym_DASH_EQ] = ACTIONS(6346),
    [anon_sym_STAR_EQ] = ACTIONS(6346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6346),
    [anon_sym_SLASH_EQ] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6346),
    [anon_sym_PIPE_EQ] = ACTIONS(6346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6346),
    [anon_sym_AMP_EQ] = ACTIONS(6346),
    [anon_sym_PERCENT_EQ] = ACTIONS(6346),
    [anon_sym_GT_GT_EQ] = ACTIONS(6346),
    [anon_sym_LT_LT_EQ] = ACTIONS(6346),
    [anon_sym_CARET_EQ] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(6346),
    [anon_sym_DOT_DOT] = ACTIONS(7328),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6346),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(7328),
    [anon_sym_AMP_AMP] = ACTIONS(7328),
    [anon_sym_LT_LT] = ACTIONS(7328),
    [anon_sym_GT_GT] = ACTIONS(7328),
    [anon_sym_EQ_EQ] = ACTIONS(7328),
    [anon_sym_BANG_EQ] = ACTIONS(6346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6346),
    [anon_sym_LT_EQ_GT] = ACTIONS(6346),
    [anon_sym_EQ_TILDE] = ACTIONS(6346),
    [anon_sym_BANG_TILDE] = ACTIONS(6346),
    [anon_sym_LT_EQ] = ACTIONS(7328),
    [anon_sym_GT] = ACTIONS(7328),
    [anon_sym_GT_EQ] = ACTIONS(6346),
    [anon_sym_CARET] = ACTIONS(7328),
    [anon_sym_PLUS] = ACTIONS(7328),
    [anon_sym_SLASH] = ACTIONS(7328),
    [anon_sym_PERCENT] = ACTIONS(7328),
    [sym_comment] = ACTIONS(256),
  },
  [5416] = {
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__string_middle] = ACTIONS(7330),
    [sym__string_end] = ACTIONS(7330),
    [sym__element_reference_left_bracket] = ACTIONS(7330),
    [sym__scope_double_colon] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_LBRACE] = ACTIONS(7330),
    [anon_sym_DOT] = ACTIONS(7332),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_STAR_STAR] = ACTIONS(7332),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_EQ] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_if] = ACTIONS(7330),
    [anon_sym_unless] = ACTIONS(7330),
    [anon_sym_while] = ACTIONS(7330),
    [anon_sym_until] = ACTIONS(7330),
    [anon_sym_rescue] = ACTIONS(7330),
    [anon_sym_do] = ACTIONS(7330),
    [anon_sym_EQ_GT] = ACTIONS(7330),
    [anon_sym_AMP_DOT] = ACTIONS(7330),
    [anon_sym_PLUS_EQ] = ACTIONS(7330),
    [anon_sym_DASH_EQ] = ACTIONS(7330),
    [anon_sym_STAR_EQ] = ACTIONS(7330),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7330),
    [anon_sym_SLASH_EQ] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7330),
    [anon_sym_PIPE_EQ] = ACTIONS(7330),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7330),
    [anon_sym_AMP_EQ] = ACTIONS(7330),
    [anon_sym_PERCENT_EQ] = ACTIONS(7330),
    [anon_sym_GT_GT_EQ] = ACTIONS(7330),
    [anon_sym_LT_LT_EQ] = ACTIONS(7330),
    [anon_sym_CARET_EQ] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7332),
    [anon_sym_AMP_AMP] = ACTIONS(7332),
    [anon_sym_LT_LT] = ACTIONS(7332),
    [anon_sym_GT_GT] = ACTIONS(7332),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7332),
    [anon_sym_PLUS] = ACTIONS(7332),
    [anon_sym_SLASH] = ACTIONS(7332),
    [anon_sym_PERCENT] = ACTIONS(7332),
    [sym_comment] = ACTIONS(256),
  },
  [5417] = {
    [aux_sym_exceptions_repeat1] = STATE(8728),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__string_middle] = ACTIONS(7330),
    [sym__string_end] = ACTIONS(7330),
    [sym__element_reference_left_bracket] = ACTIONS(7330),
    [sym__scope_double_colon] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_LBRACE] = ACTIONS(7330),
    [anon_sym_DOT] = ACTIONS(7332),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_STAR_STAR] = ACTIONS(7332),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_EQ] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_if] = ACTIONS(7330),
    [anon_sym_unless] = ACTIONS(7330),
    [anon_sym_while] = ACTIONS(7330),
    [anon_sym_until] = ACTIONS(7330),
    [anon_sym_rescue] = ACTIONS(7330),
    [anon_sym_do] = ACTIONS(7330),
    [anon_sym_EQ_GT] = ACTIONS(7330),
    [anon_sym_AMP_DOT] = ACTIONS(7330),
    [anon_sym_PLUS_EQ] = ACTIONS(7330),
    [anon_sym_DASH_EQ] = ACTIONS(7330),
    [anon_sym_STAR_EQ] = ACTIONS(7330),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7330),
    [anon_sym_SLASH_EQ] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7330),
    [anon_sym_PIPE_EQ] = ACTIONS(7330),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7330),
    [anon_sym_AMP_EQ] = ACTIONS(7330),
    [anon_sym_PERCENT_EQ] = ACTIONS(7330),
    [anon_sym_GT_GT_EQ] = ACTIONS(7330),
    [anon_sym_LT_LT_EQ] = ACTIONS(7330),
    [anon_sym_CARET_EQ] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7332),
    [anon_sym_AMP_AMP] = ACTIONS(7332),
    [anon_sym_LT_LT] = ACTIONS(7332),
    [anon_sym_GT_GT] = ACTIONS(7332),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7332),
    [anon_sym_PLUS] = ACTIONS(7332),
    [anon_sym_SLASH] = ACTIONS(7332),
    [anon_sym_PERCENT] = ACTIONS(7332),
    [sym_comment] = ACTIONS(256),
  },
  [5418] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__string_middle] = ACTIONS(7344),
    [sym__string_end] = ACTIONS(7344),
    [sym__element_reference_left_bracket] = ACTIONS(7344),
    [sym__scope_double_colon] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(3782),
    [sym__binary_star] = ACTIONS(3784),
    [anon_sym_LBRACE] = ACTIONS(7344),
    [anon_sym_DOT] = ACTIONS(9504),
    [anon_sym_COMMA] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(3786),
    [anon_sym_STAR_STAR] = ACTIONS(3788),
    [anon_sym_AMP] = ACTIONS(3790),
    [anon_sym_EQ] = ACTIONS(9504),
    [anon_sym_LT] = ACTIONS(3792),
    [anon_sym_if] = ACTIONS(7344),
    [anon_sym_unless] = ACTIONS(7344),
    [anon_sym_while] = ACTIONS(7344),
    [anon_sym_until] = ACTIONS(7344),
    [anon_sym_rescue] = ACTIONS(7344),
    [anon_sym_do] = ACTIONS(7344),
    [anon_sym_EQ_GT] = ACTIONS(7344),
    [anon_sym_AMP_DOT] = ACTIONS(7344),
    [anon_sym_PLUS_EQ] = ACTIONS(7344),
    [anon_sym_DASH_EQ] = ACTIONS(7344),
    [anon_sym_STAR_EQ] = ACTIONS(7344),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7344),
    [anon_sym_SLASH_EQ] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7344),
    [anon_sym_PIPE_EQ] = ACTIONS(7344),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7344),
    [anon_sym_AMP_EQ] = ACTIONS(7344),
    [anon_sym_PERCENT_EQ] = ACTIONS(7344),
    [anon_sym_GT_GT_EQ] = ACTIONS(7344),
    [anon_sym_LT_LT_EQ] = ACTIONS(7344),
    [anon_sym_CARET_EQ] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(3794),
    [anon_sym_DOT_DOT] = ACTIONS(3796),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3798),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(3800),
    [anon_sym_AMP_AMP] = ACTIONS(3800),
    [anon_sym_LT_LT] = ACTIONS(3802),
    [anon_sym_GT_GT] = ACTIONS(3802),
    [anon_sym_EQ_EQ] = ACTIONS(3800),
    [anon_sym_BANG_EQ] = ACTIONS(3804),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3804),
    [anon_sym_LT_EQ_GT] = ACTIONS(3804),
    [anon_sym_EQ_TILDE] = ACTIONS(3804),
    [anon_sym_BANG_TILDE] = ACTIONS(3804),
    [anon_sym_LT_EQ] = ACTIONS(3792),
    [anon_sym_GT] = ACTIONS(3792),
    [anon_sym_GT_EQ] = ACTIONS(3806),
    [anon_sym_CARET] = ACTIONS(3786),
    [anon_sym_PLUS] = ACTIONS(3808),
    [anon_sym_SLASH] = ACTIONS(3788),
    [anon_sym_PERCENT] = ACTIONS(3788),
    [sym_comment] = ACTIONS(256),
  },
  [5419] = {
    [sym__simple_heredoc_body] = ACTIONS(8662),
    [sym__heredoc_body_beginning] = ACTIONS(8662),
    [sym__string_middle] = ACTIONS(8662),
    [sym__string_end] = ACTIONS(8662),
    [sym__element_reference_left_bracket] = ACTIONS(8662),
    [sym__scope_double_colon] = ACTIONS(8662),
    [sym__binary_minus] = ACTIONS(7560),
    [sym__binary_star] = ACTIONS(7562),
    [anon_sym_LBRACE] = ACTIONS(8662),
    [anon_sym_DOT] = ACTIONS(9506),
    [anon_sym_COMMA] = ACTIONS(8662),
    [anon_sym_PIPE] = ACTIONS(7564),
    [anon_sym_STAR_STAR] = ACTIONS(7566),
    [anon_sym_AMP] = ACTIONS(7568),
    [anon_sym_EQ] = ACTIONS(9506),
    [anon_sym_LT] = ACTIONS(7570),
    [anon_sym_if] = ACTIONS(8662),
    [anon_sym_unless] = ACTIONS(8662),
    [anon_sym_while] = ACTIONS(8662),
    [anon_sym_until] = ACTIONS(8662),
    [anon_sym_rescue] = ACTIONS(8662),
    [anon_sym_do] = ACTIONS(8662),
    [anon_sym_AMP_DOT] = ACTIONS(8662),
    [anon_sym_PLUS_EQ] = ACTIONS(8662),
    [anon_sym_DASH_EQ] = ACTIONS(8662),
    [anon_sym_STAR_EQ] = ACTIONS(8662),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8662),
    [anon_sym_SLASH_EQ] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8662),
    [anon_sym_PIPE_EQ] = ACTIONS(8662),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8662),
    [anon_sym_AMP_EQ] = ACTIONS(8662),
    [anon_sym_PERCENT_EQ] = ACTIONS(8662),
    [anon_sym_GT_GT_EQ] = ACTIONS(8662),
    [anon_sym_LT_LT_EQ] = ACTIONS(8662),
    [anon_sym_CARET_EQ] = ACTIONS(8662),
    [anon_sym_QMARK] = ACTIONS(7572),
    [anon_sym_DOT_DOT] = ACTIONS(7574),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7576),
    [anon_sym_and] = ACTIONS(8662),
    [anon_sym_or] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE] = ACTIONS(7578),
    [anon_sym_AMP_AMP] = ACTIONS(7578),
    [anon_sym_LT_LT] = ACTIONS(7580),
    [anon_sym_GT_GT] = ACTIONS(7580),
    [anon_sym_EQ_EQ] = ACTIONS(7578),
    [anon_sym_BANG_EQ] = ACTIONS(7582),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7582),
    [anon_sym_LT_EQ_GT] = ACTIONS(7582),
    [anon_sym_EQ_TILDE] = ACTIONS(7582),
    [anon_sym_BANG_TILDE] = ACTIONS(7582),
    [anon_sym_LT_EQ] = ACTIONS(7570),
    [anon_sym_GT] = ACTIONS(7570),
    [anon_sym_GT_EQ] = ACTIONS(7584),
    [anon_sym_CARET] = ACTIONS(7564),
    [anon_sym_PLUS] = ACTIONS(7586),
    [anon_sym_SLASH] = ACTIONS(7566),
    [anon_sym_PERCENT] = ACTIONS(7566),
    [sym_comment] = ACTIONS(256),
  },
  [5420] = {
    [sym__simple_string] = ACTIONS(7346),
    [sym__simple_heredoc_body] = ACTIONS(7346),
    [sym__string_beginning] = ACTIONS(7346),
    [sym__heredoc_body_beginning] = ACTIONS(7346),
    [sym__string_middle] = ACTIONS(7346),
    [sym__string_end] = ACTIONS(7346),
    [sym__element_reference_left_bracket] = ACTIONS(7346),
    [sym__scope_double_colon] = ACTIONS(7346),
    [sym__binary_minus] = ACTIONS(7346),
    [sym__binary_star] = ACTIONS(7346),
    [anon_sym_LBRACE] = ACTIONS(7346),
    [anon_sym_DOT] = ACTIONS(7348),
    [anon_sym_COMMA] = ACTIONS(7346),
    [anon_sym_PIPE] = ACTIONS(7348),
    [anon_sym_STAR_STAR] = ACTIONS(7348),
    [anon_sym_AMP] = ACTIONS(7348),
    [anon_sym_EQ] = ACTIONS(7348),
    [anon_sym_LT] = ACTIONS(7348),
    [anon_sym_if] = ACTIONS(7346),
    [anon_sym_unless] = ACTIONS(7346),
    [anon_sym_while] = ACTIONS(7346),
    [anon_sym_until] = ACTIONS(7346),
    [anon_sym_rescue] = ACTIONS(7346),
    [anon_sym_do] = ACTIONS(7346),
    [anon_sym_EQ_GT] = ACTIONS(7346),
    [anon_sym_AMP_DOT] = ACTIONS(7346),
    [anon_sym_PLUS_EQ] = ACTIONS(7346),
    [anon_sym_DASH_EQ] = ACTIONS(7346),
    [anon_sym_STAR_EQ] = ACTIONS(7346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7346),
    [anon_sym_SLASH_EQ] = ACTIONS(7346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7346),
    [anon_sym_PIPE_EQ] = ACTIONS(7346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7346),
    [anon_sym_AMP_EQ] = ACTIONS(7346),
    [anon_sym_PERCENT_EQ] = ACTIONS(7346),
    [anon_sym_GT_GT_EQ] = ACTIONS(7346),
    [anon_sym_LT_LT_EQ] = ACTIONS(7346),
    [anon_sym_CARET_EQ] = ACTIONS(7346),
    [anon_sym_QMARK] = ACTIONS(7348),
    [anon_sym_DOT_DOT] = ACTIONS(7348),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7346),
    [anon_sym_and] = ACTIONS(7346),
    [anon_sym_or] = ACTIONS(7346),
    [anon_sym_PIPE_PIPE] = ACTIONS(7348),
    [anon_sym_AMP_AMP] = ACTIONS(7348),
    [anon_sym_LT_LT] = ACTIONS(7348),
    [anon_sym_GT_GT] = ACTIONS(7348),
    [anon_sym_EQ_EQ] = ACTIONS(7348),
    [anon_sym_BANG_EQ] = ACTIONS(7346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7346),
    [anon_sym_LT_EQ_GT] = ACTIONS(7346),
    [anon_sym_EQ_TILDE] = ACTIONS(7346),
    [anon_sym_BANG_TILDE] = ACTIONS(7346),
    [anon_sym_LT_EQ] = ACTIONS(7348),
    [anon_sym_GT] = ACTIONS(7348),
    [anon_sym_GT_EQ] = ACTIONS(7346),
    [anon_sym_CARET] = ACTIONS(7348),
    [anon_sym_PLUS] = ACTIONS(7348),
    [anon_sym_SLASH] = ACTIONS(7348),
    [anon_sym_PERCENT] = ACTIONS(7348),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(7348),
  },
  [5421] = {
    [sym__string_middle] = ACTIONS(5338),
    [sym__string_end] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(7634),
    [sym__binary_star] = ACTIONS(7636),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(7638),
    [anon_sym_STAR_STAR] = ACTIONS(7640),
    [anon_sym_AMP] = ACTIONS(7642),
    [anon_sym_LT] = ACTIONS(7644),
    [anon_sym_if] = ACTIONS(5338),
    [anon_sym_unless] = ACTIONS(5338),
    [anon_sym_while] = ACTIONS(5338),
    [anon_sym_until] = ACTIONS(5338),
    [anon_sym_rescue] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(7646),
    [anon_sym_DOT_DOT] = ACTIONS(7648),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7650),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(7652),
    [anon_sym_AMP_AMP] = ACTIONS(7652),
    [anon_sym_LT_LT] = ACTIONS(7654),
    [anon_sym_GT_GT] = ACTIONS(7654),
    [anon_sym_EQ_EQ] = ACTIONS(7656),
    [anon_sym_BANG_EQ] = ACTIONS(7652),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7652),
    [anon_sym_LT_EQ_GT] = ACTIONS(7652),
    [anon_sym_EQ_TILDE] = ACTIONS(7652),
    [anon_sym_BANG_TILDE] = ACTIONS(7652),
    [anon_sym_LT_EQ] = ACTIONS(7644),
    [anon_sym_GT] = ACTIONS(7644),
    [anon_sym_GT_EQ] = ACTIONS(7658),
    [anon_sym_CARET] = ACTIONS(7660),
    [anon_sym_PLUS] = ACTIONS(7662),
    [anon_sym_SLASH] = ACTIONS(7640),
    [anon_sym_PERCENT] = ACTIONS(7640),
    [sym_comment] = ACTIONS(110),
  },
  [5422] = {
    [sym__string_middle] = ACTIONS(1372),
    [sym__string_end] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_STAR_STAR] = ACTIONS(7640),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_if] = ACTIONS(1372),
    [anon_sym_unless] = ACTIONS(1372),
    [anon_sym_while] = ACTIONS(1372),
    [anon_sym_until] = ACTIONS(1372),
    [anon_sym_rescue] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [5423] = {
    [sym__string_middle] = ACTIONS(2870),
    [sym__string_end] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(7640),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [5424] = {
    [sym__string_middle] = ACTIONS(2870),
    [sym__string_end] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(7634),
    [sym__binary_star] = ACTIONS(7636),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(7638),
    [anon_sym_STAR_STAR] = ACTIONS(7640),
    [anon_sym_AMP] = ACTIONS(7642),
    [anon_sym_LT] = ACTIONS(7644),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(7646),
    [anon_sym_DOT_DOT] = ACTIONS(7648),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7650),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(7652),
    [anon_sym_AMP_AMP] = ACTIONS(7652),
    [anon_sym_LT_LT] = ACTIONS(7654),
    [anon_sym_GT_GT] = ACTIONS(7654),
    [anon_sym_EQ_EQ] = ACTIONS(7656),
    [anon_sym_BANG_EQ] = ACTIONS(7652),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7652),
    [anon_sym_LT_EQ_GT] = ACTIONS(7652),
    [anon_sym_EQ_TILDE] = ACTIONS(7652),
    [anon_sym_BANG_TILDE] = ACTIONS(7652),
    [anon_sym_LT_EQ] = ACTIONS(7644),
    [anon_sym_GT] = ACTIONS(7644),
    [anon_sym_GT_EQ] = ACTIONS(7658),
    [anon_sym_CARET] = ACTIONS(7660),
    [anon_sym_PLUS] = ACTIONS(7662),
    [anon_sym_SLASH] = ACTIONS(7640),
    [anon_sym_PERCENT] = ACTIONS(7640),
    [sym_comment] = ACTIONS(110),
  },
  [5425] = {
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(8729),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(2603),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2604),
    [sym__variable] = STATE(122),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(3830),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(3832),
    [anon_sym_defined_QMARK] = ACTIONS(3834),
    [anon_sym_not] = ACTIONS(3836),
    [anon_sym_BANG] = ACTIONS(3838),
    [anon_sym_TILDE] = ACTIONS(3838),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [5426] = {
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(8730),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(2603),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2604),
    [sym__variable] = STATE(122),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(3830),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(3832),
    [anon_sym_defined_QMARK] = ACTIONS(3834),
    [anon_sym_not] = ACTIONS(3836),
    [anon_sym_BANG] = ACTIONS(3838),
    [anon_sym_TILDE] = ACTIONS(3838),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [5427] = {
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(8731),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(2603),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2604),
    [sym__variable] = STATE(122),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(3830),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(3832),
    [anon_sym_defined_QMARK] = ACTIONS(3834),
    [anon_sym_not] = ACTIONS(3836),
    [anon_sym_BANG] = ACTIONS(3838),
    [anon_sym_TILDE] = ACTIONS(3838),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [5428] = {
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(8732),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(2603),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2604),
    [sym__variable] = STATE(122),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(3830),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(3832),
    [anon_sym_defined_QMARK] = ACTIONS(3834),
    [anon_sym_not] = ACTIONS(3836),
    [anon_sym_BANG] = ACTIONS(3838),
    [anon_sym_TILDE] = ACTIONS(3838),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [5429] = {
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(8733),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(2603),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2604),
    [sym__variable] = STATE(122),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(3830),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(3832),
    [anon_sym_defined_QMARK] = ACTIONS(3834),
    [anon_sym_not] = ACTIONS(3836),
    [anon_sym_BANG] = ACTIONS(3838),
    [anon_sym_TILDE] = ACTIONS(3838),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [5430] = {
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(8734),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(2603),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2604),
    [sym__variable] = STATE(122),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(3830),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(3832),
    [anon_sym_defined_QMARK] = ACTIONS(3834),
    [anon_sym_not] = ACTIONS(3836),
    [anon_sym_BANG] = ACTIONS(3838),
    [anon_sym_TILDE] = ACTIONS(3838),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [5431] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(8735),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [5432] = {
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(8736),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(2603),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2604),
    [sym__variable] = STATE(122),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(3830),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(3832),
    [anon_sym_defined_QMARK] = ACTIONS(3834),
    [anon_sym_not] = ACTIONS(3836),
    [anon_sym_BANG] = ACTIONS(3838),
    [anon_sym_TILDE] = ACTIONS(3838),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [5433] = {
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(8737),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(2603),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2604),
    [sym__variable] = STATE(122),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(3830),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(3832),
    [anon_sym_defined_QMARK] = ACTIONS(3834),
    [anon_sym_not] = ACTIONS(3836),
    [anon_sym_BANG] = ACTIONS(3838),
    [anon_sym_TILDE] = ACTIONS(3838),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [5434] = {
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(8738),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(2603),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2604),
    [sym__variable] = STATE(122),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(3830),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(3832),
    [anon_sym_defined_QMARK] = ACTIONS(3834),
    [anon_sym_not] = ACTIONS(3836),
    [anon_sym_BANG] = ACTIONS(3838),
    [anon_sym_TILDE] = ACTIONS(3838),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [5435] = {
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(8739),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(2603),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2604),
    [sym__variable] = STATE(122),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(3830),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(3832),
    [anon_sym_defined_QMARK] = ACTIONS(3834),
    [anon_sym_not] = ACTIONS(3836),
    [anon_sym_BANG] = ACTIONS(3838),
    [anon_sym_TILDE] = ACTIONS(3838),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [5436] = {
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(8740),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(2603),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2604),
    [sym__variable] = STATE(122),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(3830),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(3832),
    [anon_sym_defined_QMARK] = ACTIONS(3834),
    [anon_sym_not] = ACTIONS(3836),
    [anon_sym_BANG] = ACTIONS(3838),
    [anon_sym_TILDE] = ACTIONS(3838),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [5437] = {
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(2599),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_splat_argument] = STATE(2600),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym__arg_or_splat_arg] = STATE(8741),
    [sym_left_assignment_list] = STATE(2603),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2604),
    [sym__variable] = STATE(122),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__splat_star] = ACTIONS(3828),
    [sym__unary_minus] = ACTIONS(3830),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(3832),
    [anon_sym_defined_QMARK] = ACTIONS(3834),
    [anon_sym_not] = ACTIONS(3836),
    [anon_sym_BANG] = ACTIONS(3838),
    [anon_sym_TILDE] = ACTIONS(3838),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [5438] = {
    [sym__string_middle] = ACTIONS(11422),
    [sym__string_end] = ACTIONS(11422),
    [sym__binary_minus] = ACTIONS(11422),
    [sym__binary_star] = ACTIONS(11422),
    [anon_sym_COMMA] = ACTIONS(11622),
    [anon_sym_PIPE] = ACTIONS(11426),
    [anon_sym_STAR_STAR] = ACTIONS(11422),
    [anon_sym_AMP] = ACTIONS(11426),
    [anon_sym_LT] = ACTIONS(11426),
    [anon_sym_if] = ACTIONS(11422),
    [anon_sym_unless] = ACTIONS(11422),
    [anon_sym_while] = ACTIONS(11422),
    [anon_sym_until] = ACTIONS(11422),
    [anon_sym_rescue] = ACTIONS(11422),
    [anon_sym_QMARK] = ACTIONS(11422),
    [anon_sym_DOT_DOT] = ACTIONS(11426),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11422),
    [anon_sym_and] = ACTIONS(11422),
    [anon_sym_or] = ACTIONS(11422),
    [anon_sym_PIPE_PIPE] = ACTIONS(11422),
    [anon_sym_AMP_AMP] = ACTIONS(11422),
    [anon_sym_LT_LT] = ACTIONS(11422),
    [anon_sym_GT_GT] = ACTIONS(11422),
    [anon_sym_EQ_EQ] = ACTIONS(11426),
    [anon_sym_BANG_EQ] = ACTIONS(11422),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11422),
    [anon_sym_LT_EQ_GT] = ACTIONS(11422),
    [anon_sym_EQ_TILDE] = ACTIONS(11422),
    [anon_sym_BANG_TILDE] = ACTIONS(11422),
    [anon_sym_LT_EQ] = ACTIONS(11426),
    [anon_sym_GT] = ACTIONS(11426),
    [anon_sym_GT_EQ] = ACTIONS(11422),
    [anon_sym_CARET] = ACTIONS(11422),
    [anon_sym_PLUS] = ACTIONS(11422),
    [anon_sym_SLASH] = ACTIONS(11422),
    [anon_sym_PERCENT] = ACTIONS(11422),
    [sym_comment] = ACTIONS(110),
  },
  [5439] = {
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(2599),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_splat_argument] = STATE(2600),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_right_assignment_list] = STATE(2601),
    [sym__arg_or_splat_arg] = STATE(8743),
    [sym_left_assignment_list] = STATE(2603),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2604),
    [sym__variable] = STATE(122),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__splat_star] = ACTIONS(3828),
    [sym__unary_minus] = ACTIONS(3830),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(3832),
    [anon_sym_defined_QMARK] = ACTIONS(3834),
    [anon_sym_not] = ACTIONS(3836),
    [anon_sym_BANG] = ACTIONS(3838),
    [anon_sym_TILDE] = ACTIONS(3838),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [5440] = {
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(8744),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(2603),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2604),
    [sym__variable] = STATE(122),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(3830),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(3832),
    [anon_sym_defined_QMARK] = ACTIONS(3834),
    [anon_sym_not] = ACTIONS(3836),
    [anon_sym_BANG] = ACTIONS(3838),
    [anon_sym_TILDE] = ACTIONS(3838),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [5441] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8745),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(5446),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5447),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(7698),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7700),
    [anon_sym_defined_QMARK] = ACTIONS(7702),
    [anon_sym_not] = ACTIONS(7704),
    [anon_sym_BANG] = ACTIONS(7706),
    [anon_sym_TILDE] = ACTIONS(7706),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5442] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8746),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(5446),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5447),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(7698),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7700),
    [anon_sym_defined_QMARK] = ACTIONS(7702),
    [anon_sym_not] = ACTIONS(7704),
    [anon_sym_BANG] = ACTIONS(7706),
    [anon_sym_TILDE] = ACTIONS(7706),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5443] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8747),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(5446),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5447),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(7698),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7700),
    [anon_sym_defined_QMARK] = ACTIONS(7702),
    [anon_sym_not] = ACTIONS(7704),
    [anon_sym_BANG] = ACTIONS(7706),
    [anon_sym_TILDE] = ACTIONS(7706),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5444] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1410),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(5446),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5447),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(7698),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7700),
    [anon_sym_defined_QMARK] = ACTIONS(7702),
    [anon_sym_not] = ACTIONS(7704),
    [anon_sym_BANG] = ACTIONS(7706),
    [anon_sym_TILDE] = ACTIONS(7706),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5445] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__line_break] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(11624),
    [sym__binary_star] = ACTIONS(11626),
    [anon_sym_RBRACE] = ACTIONS(5298),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(11628),
    [anon_sym_SEMI] = ACTIONS(5298),
    [anon_sym_STAR_STAR] = ACTIONS(11630),
    [anon_sym_AMP] = ACTIONS(11632),
    [anon_sym_LT] = ACTIONS(11634),
    [anon_sym_if] = ACTIONS(5298),
    [anon_sym_unless] = ACTIONS(5298),
    [anon_sym_while] = ACTIONS(5298),
    [anon_sym_until] = ACTIONS(5298),
    [anon_sym_rescue] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(11636),
    [anon_sym_DOT_DOT] = ACTIONS(11638),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11640),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(11642),
    [anon_sym_AMP_AMP] = ACTIONS(11642),
    [anon_sym_LT_LT] = ACTIONS(11644),
    [anon_sym_GT_GT] = ACTIONS(11644),
    [anon_sym_EQ_EQ] = ACTIONS(11646),
    [anon_sym_BANG_EQ] = ACTIONS(11642),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11642),
    [anon_sym_LT_EQ_GT] = ACTIONS(11642),
    [anon_sym_EQ_TILDE] = ACTIONS(11642),
    [anon_sym_BANG_TILDE] = ACTIONS(11642),
    [anon_sym_LT_EQ] = ACTIONS(11634),
    [anon_sym_GT] = ACTIONS(11634),
    [anon_sym_GT_EQ] = ACTIONS(11648),
    [anon_sym_CARET] = ACTIONS(11650),
    [anon_sym_PLUS] = ACTIONS(11652),
    [anon_sym_SLASH] = ACTIONS(11630),
    [anon_sym_PERCENT] = ACTIONS(11630),
    [sym_comment] = ACTIONS(110),
  },
  [5446] = {
    [anon_sym_EQ] = ACTIONS(11654),
    [sym_comment] = ACTIONS(256),
  },
  [5447] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_RBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(11656),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(11658),
    [anon_sym_DASH_EQ] = ACTIONS(11658),
    [anon_sym_STAR_EQ] = ACTIONS(11658),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(11658),
    [anon_sym_SLASH_EQ] = ACTIONS(11658),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(11658),
    [anon_sym_PIPE_EQ] = ACTIONS(11658),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(11658),
    [anon_sym_AMP_EQ] = ACTIONS(11658),
    [anon_sym_PERCENT_EQ] = ACTIONS(11658),
    [anon_sym_GT_GT_EQ] = ACTIONS(11658),
    [anon_sym_LT_LT_EQ] = ACTIONS(11658),
    [anon_sym_CARET_EQ] = ACTIONS(11658),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [5448] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__line_break] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(11624),
    [sym__binary_star] = ACTIONS(11626),
    [anon_sym_RBRACE] = ACTIONS(5338),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(11628),
    [anon_sym_SEMI] = ACTIONS(5338),
    [anon_sym_STAR_STAR] = ACTIONS(11630),
    [anon_sym_AMP] = ACTIONS(11632),
    [anon_sym_LT] = ACTIONS(11634),
    [anon_sym_if] = ACTIONS(5338),
    [anon_sym_unless] = ACTIONS(5338),
    [anon_sym_while] = ACTIONS(5338),
    [anon_sym_until] = ACTIONS(5338),
    [anon_sym_rescue] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(11636),
    [anon_sym_DOT_DOT] = ACTIONS(11638),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11640),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(11642),
    [anon_sym_AMP_AMP] = ACTIONS(11642),
    [anon_sym_LT_LT] = ACTIONS(11644),
    [anon_sym_GT_GT] = ACTIONS(11644),
    [anon_sym_EQ_EQ] = ACTIONS(11646),
    [anon_sym_BANG_EQ] = ACTIONS(11642),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11642),
    [anon_sym_LT_EQ_GT] = ACTIONS(11642),
    [anon_sym_EQ_TILDE] = ACTIONS(11642),
    [anon_sym_BANG_TILDE] = ACTIONS(11642),
    [anon_sym_LT_EQ] = ACTIONS(11634),
    [anon_sym_GT] = ACTIONS(11634),
    [anon_sym_GT_EQ] = ACTIONS(11648),
    [anon_sym_CARET] = ACTIONS(11650),
    [anon_sym_PLUS] = ACTIONS(11652),
    [anon_sym_SLASH] = ACTIONS(11630),
    [anon_sym_PERCENT] = ACTIONS(11630),
    [sym_comment] = ACTIONS(110),
  },
  [5449] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_RBRACE] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(7720),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_if] = ACTIONS(1372),
    [anon_sym_unless] = ACTIONS(1372),
    [anon_sym_while] = ACTIONS(1372),
    [anon_sym_until] = ACTIONS(1372),
    [anon_sym_rescue] = ACTIONS(1372),
    [anon_sym_EQ_GT] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [5450] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__line_break] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(11624),
    [sym__binary_star] = ACTIONS(11626),
    [anon_sym_RBRACE] = ACTIONS(4284),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(11628),
    [anon_sym_SEMI] = ACTIONS(4284),
    [anon_sym_STAR_STAR] = ACTIONS(11630),
    [anon_sym_AMP] = ACTIONS(11632),
    [anon_sym_LT] = ACTIONS(11634),
    [anon_sym_if] = ACTIONS(4284),
    [anon_sym_unless] = ACTIONS(4284),
    [anon_sym_while] = ACTIONS(4284),
    [anon_sym_until] = ACTIONS(4284),
    [anon_sym_rescue] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(11636),
    [anon_sym_DOT_DOT] = ACTIONS(11638),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11640),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(11642),
    [anon_sym_AMP_AMP] = ACTIONS(11642),
    [anon_sym_LT_LT] = ACTIONS(11644),
    [anon_sym_GT_GT] = ACTIONS(11644),
    [anon_sym_EQ_EQ] = ACTIONS(11646),
    [anon_sym_BANG_EQ] = ACTIONS(11642),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11642),
    [anon_sym_LT_EQ_GT] = ACTIONS(11642),
    [anon_sym_EQ_TILDE] = ACTIONS(11642),
    [anon_sym_BANG_TILDE] = ACTIONS(11642),
    [anon_sym_LT_EQ] = ACTIONS(11634),
    [anon_sym_GT] = ACTIONS(11634),
    [anon_sym_GT_EQ] = ACTIONS(11648),
    [anon_sym_CARET] = ACTIONS(11650),
    [anon_sym_PLUS] = ACTIONS(11652),
    [anon_sym_SLASH] = ACTIONS(11630),
    [anon_sym_PERCENT] = ACTIONS(11630),
    [sym_comment] = ACTIONS(110),
  },
  [5451] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_RBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(7720),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [5452] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(7714),
    [sym__binary_star] = ACTIONS(7716),
    [anon_sym_RBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(7718),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(7720),
    [anon_sym_AMP] = ACTIONS(7722),
    [anon_sym_LT] = ACTIONS(7724),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(7726),
    [anon_sym_DOT_DOT] = ACTIONS(7728),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7730),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(7732),
    [anon_sym_AMP_AMP] = ACTIONS(7732),
    [anon_sym_LT_LT] = ACTIONS(7734),
    [anon_sym_GT_GT] = ACTIONS(7734),
    [anon_sym_EQ_EQ] = ACTIONS(7736),
    [anon_sym_BANG_EQ] = ACTIONS(7732),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7732),
    [anon_sym_LT_EQ_GT] = ACTIONS(7732),
    [anon_sym_EQ_TILDE] = ACTIONS(7732),
    [anon_sym_BANG_TILDE] = ACTIONS(7732),
    [anon_sym_LT_EQ] = ACTIONS(7724),
    [anon_sym_GT] = ACTIONS(7724),
    [anon_sym_GT_EQ] = ACTIONS(7738),
    [anon_sym_CARET] = ACTIONS(7740),
    [anon_sym_PLUS] = ACTIONS(7742),
    [anon_sym_SLASH] = ACTIONS(7720),
    [anon_sym_PERCENT] = ACTIONS(7720),
    [sym_comment] = ACTIONS(110),
  },
  [5453] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8762),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(5446),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5447),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(7698),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7700),
    [anon_sym_defined_QMARK] = ACTIONS(7702),
    [anon_sym_not] = ACTIONS(7704),
    [anon_sym_BANG] = ACTIONS(7706),
    [anon_sym_TILDE] = ACTIONS(7706),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5454] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8763),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(2625),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2626),
    [sym__variable] = STATE(2129),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3874),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(7204),
    [anon_sym_yield] = ACTIONS(7206),
    [anon_sym_break] = ACTIONS(7208),
    [anon_sym_next] = ACTIONS(7210),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7708),
    [anon_sym_defined_QMARK] = ACTIONS(3876),
    [anon_sym_not] = ACTIONS(7710),
    [anon_sym_BANG] = ACTIONS(3882),
    [anon_sym_TILDE] = ACTIONS(3882),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5455] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8764),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(2625),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2626),
    [sym__variable] = STATE(2129),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3874),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(7204),
    [anon_sym_yield] = ACTIONS(7206),
    [anon_sym_break] = ACTIONS(7208),
    [anon_sym_next] = ACTIONS(7210),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7708),
    [anon_sym_defined_QMARK] = ACTIONS(3876),
    [anon_sym_not] = ACTIONS(7710),
    [anon_sym_BANG] = ACTIONS(3882),
    [anon_sym_TILDE] = ACTIONS(3882),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5456] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8765),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(2625),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2626),
    [sym__variable] = STATE(2129),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3874),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(7204),
    [anon_sym_yield] = ACTIONS(7206),
    [anon_sym_break] = ACTIONS(7208),
    [anon_sym_next] = ACTIONS(7210),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7708),
    [anon_sym_defined_QMARK] = ACTIONS(3876),
    [anon_sym_not] = ACTIONS(7710),
    [anon_sym_BANG] = ACTIONS(3882),
    [anon_sym_TILDE] = ACTIONS(3882),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5457] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8766),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(2625),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2626),
    [sym__variable] = STATE(2129),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3874),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(7204),
    [anon_sym_yield] = ACTIONS(7206),
    [anon_sym_break] = ACTIONS(7208),
    [anon_sym_next] = ACTIONS(7210),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7708),
    [anon_sym_defined_QMARK] = ACTIONS(3876),
    [anon_sym_not] = ACTIONS(7710),
    [anon_sym_BANG] = ACTIONS(3882),
    [anon_sym_TILDE] = ACTIONS(3882),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5458] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8767),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(2625),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2626),
    [sym__variable] = STATE(2129),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3874),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(7204),
    [anon_sym_yield] = ACTIONS(7206),
    [anon_sym_break] = ACTIONS(7208),
    [anon_sym_next] = ACTIONS(7210),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7708),
    [anon_sym_defined_QMARK] = ACTIONS(3876),
    [anon_sym_not] = ACTIONS(7710),
    [anon_sym_BANG] = ACTIONS(3882),
    [anon_sym_TILDE] = ACTIONS(3882),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5459] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8768),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(2625),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2626),
    [sym__variable] = STATE(2129),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3874),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(7204),
    [anon_sym_yield] = ACTIONS(7206),
    [anon_sym_break] = ACTIONS(7208),
    [anon_sym_next] = ACTIONS(7210),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7708),
    [anon_sym_defined_QMARK] = ACTIONS(3876),
    [anon_sym_not] = ACTIONS(7710),
    [anon_sym_BANG] = ACTIONS(3882),
    [anon_sym_TILDE] = ACTIONS(3882),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5460] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(8769),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [5461] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8770),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(2625),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2626),
    [sym__variable] = STATE(2129),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3874),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(7204),
    [anon_sym_yield] = ACTIONS(7206),
    [anon_sym_break] = ACTIONS(7208),
    [anon_sym_next] = ACTIONS(7210),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7708),
    [anon_sym_defined_QMARK] = ACTIONS(3876),
    [anon_sym_not] = ACTIONS(7710),
    [anon_sym_BANG] = ACTIONS(3882),
    [anon_sym_TILDE] = ACTIONS(3882),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5462] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8771),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(2625),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2626),
    [sym__variable] = STATE(2129),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3874),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(7204),
    [anon_sym_yield] = ACTIONS(7206),
    [anon_sym_break] = ACTIONS(7208),
    [anon_sym_next] = ACTIONS(7210),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7708),
    [anon_sym_defined_QMARK] = ACTIONS(3876),
    [anon_sym_not] = ACTIONS(7710),
    [anon_sym_BANG] = ACTIONS(3882),
    [anon_sym_TILDE] = ACTIONS(3882),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5463] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8772),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(2625),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2626),
    [sym__variable] = STATE(2129),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3874),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(7204),
    [anon_sym_yield] = ACTIONS(7206),
    [anon_sym_break] = ACTIONS(7208),
    [anon_sym_next] = ACTIONS(7210),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7708),
    [anon_sym_defined_QMARK] = ACTIONS(3876),
    [anon_sym_not] = ACTIONS(7710),
    [anon_sym_BANG] = ACTIONS(3882),
    [anon_sym_TILDE] = ACTIONS(3882),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5464] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8773),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(2625),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2626),
    [sym__variable] = STATE(2129),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3874),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(7204),
    [anon_sym_yield] = ACTIONS(7206),
    [anon_sym_break] = ACTIONS(7208),
    [anon_sym_next] = ACTIONS(7210),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7708),
    [anon_sym_defined_QMARK] = ACTIONS(3876),
    [anon_sym_not] = ACTIONS(7710),
    [anon_sym_BANG] = ACTIONS(3882),
    [anon_sym_TILDE] = ACTIONS(3882),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5465] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8774),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(2625),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2626),
    [sym__variable] = STATE(2129),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3874),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(7204),
    [anon_sym_yield] = ACTIONS(7206),
    [anon_sym_break] = ACTIONS(7208),
    [anon_sym_next] = ACTIONS(7210),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7708),
    [anon_sym_defined_QMARK] = ACTIONS(3876),
    [anon_sym_not] = ACTIONS(7710),
    [anon_sym_BANG] = ACTIONS(3882),
    [anon_sym_TILDE] = ACTIONS(3882),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5466] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2623),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(3780),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(2625),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2626),
    [sym__variable] = STATE(2129),
    [sym_reserved_identifier] = STATE(2627),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(2628),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(8775),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__block_ampersand] = ACTIONS(3870),
    [sym__splat_star] = ACTIONS(3872),
    [sym__unary_minus] = ACTIONS(3874),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(11660),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(3272),
    [anon_sym_yield] = ACTIONS(3274),
    [anon_sym_break] = ACTIONS(3276),
    [anon_sym_next] = ACTIONS(3278),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(7708),
    [anon_sym_defined_QMARK] = ACTIONS(3876),
    [anon_sym_not] = ACTIONS(3878),
    [anon_sym_BANG] = ACTIONS(3882),
    [anon_sym_TILDE] = ACTIONS(3882),
    [sym_constant] = ACTIONS(3884),
    [sym_identifier] = ACTIONS(3884),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5467] = {
    [sym_heredoc_end] = STATE(1444),
    [aux_sym_argument_list_repeat2] = STATE(3783),
    [sym__simple_heredoc_body] = ACTIONS(2268),
    [sym__heredoc_body_beginning] = ACTIONS(2270),
    [sym__line_break] = ACTIONS(5472),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_RBRACE] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(11662),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_SEMI] = ACTIONS(5472),
    [anon_sym_STAR_STAR] = ACTIONS(5472),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_if] = ACTIONS(5472),
    [anon_sym_unless] = ACTIONS(5472),
    [anon_sym_while] = ACTIONS(5472),
    [anon_sym_until] = ACTIONS(5472),
    [anon_sym_rescue] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5472),
    [anon_sym_AMP_AMP] = ACTIONS(5472),
    [anon_sym_LT_LT] = ACTIONS(5472),
    [anon_sym_GT_GT] = ACTIONS(5472),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5472),
    [anon_sym_PLUS] = ACTIONS(5472),
    [anon_sym_SLASH] = ACTIONS(5472),
    [anon_sym_PERCENT] = ACTIONS(5472),
    [sym_comment] = ACTIONS(110),
  },
  [5468] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8777),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_splat_argument] = STATE(3785),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_right_assignment_list] = STATE(3786),
    [sym__arg_or_splat_arg] = STATE(8778),
    [sym_left_assignment_list] = STATE(2625),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2626),
    [sym__variable] = STATE(2129),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(7216),
    [sym__unary_minus] = ACTIONS(3874),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(7204),
    [anon_sym_yield] = ACTIONS(7206),
    [anon_sym_break] = ACTIONS(7208),
    [anon_sym_next] = ACTIONS(7210),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7708),
    [anon_sym_defined_QMARK] = ACTIONS(3876),
    [anon_sym_not] = ACTIONS(7710),
    [anon_sym_BANG] = ACTIONS(3882),
    [anon_sym_TILDE] = ACTIONS(3882),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5469] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8779),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(2625),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2626),
    [sym__variable] = STATE(2129),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3874),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(7204),
    [anon_sym_yield] = ACTIONS(7206),
    [anon_sym_break] = ACTIONS(7208),
    [anon_sym_next] = ACTIONS(7210),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7708),
    [anon_sym_defined_QMARK] = ACTIONS(3876),
    [anon_sym_not] = ACTIONS(7710),
    [anon_sym_BANG] = ACTIONS(3882),
    [anon_sym_TILDE] = ACTIONS(3882),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5470] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8780),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(5446),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5447),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(7698),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7700),
    [anon_sym_defined_QMARK] = ACTIONS(7702),
    [anon_sym_not] = ACTIONS(7704),
    [anon_sym_BANG] = ACTIONS(7706),
    [anon_sym_TILDE] = ACTIONS(7706),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5471] = {
    [sym__top_level_statement] = STATE(4841),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(841),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(6994),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5472] = {
    [sym__simple_heredoc_body] = ACTIONS(6998),
    [sym__heredoc_body_beginning] = ACTIONS(6998),
    [sym__line_break] = ACTIONS(6998),
    [sym__binary_minus] = ACTIONS(3898),
    [sym__binary_star] = ACTIONS(3900),
    [anon_sym_RBRACE] = ACTIONS(6998),
    [anon_sym_PIPE] = ACTIONS(3902),
    [anon_sym_SEMI] = ACTIONS(6998),
    [anon_sym_STAR_STAR] = ACTIONS(3904),
    [anon_sym_AMP] = ACTIONS(3906),
    [anon_sym_LT] = ACTIONS(3908),
    [anon_sym_if] = ACTIONS(6998),
    [anon_sym_unless] = ACTIONS(6998),
    [anon_sym_while] = ACTIONS(6998),
    [anon_sym_until] = ACTIONS(6998),
    [anon_sym_rescue] = ACTIONS(6998),
    [anon_sym_QMARK] = ACTIONS(3910),
    [anon_sym_DOT_DOT] = ACTIONS(3912),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3914),
    [anon_sym_and] = ACTIONS(3916),
    [anon_sym_or] = ACTIONS(3916),
    [anon_sym_PIPE_PIPE] = ACTIONS(3918),
    [anon_sym_AMP_AMP] = ACTIONS(3918),
    [anon_sym_LT_LT] = ACTIONS(3920),
    [anon_sym_GT_GT] = ACTIONS(3920),
    [anon_sym_EQ_EQ] = ACTIONS(3922),
    [anon_sym_BANG_EQ] = ACTIONS(3918),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3918),
    [anon_sym_LT_EQ_GT] = ACTIONS(3918),
    [anon_sym_EQ_TILDE] = ACTIONS(3918),
    [anon_sym_BANG_TILDE] = ACTIONS(3918),
    [anon_sym_LT_EQ] = ACTIONS(3908),
    [anon_sym_GT] = ACTIONS(3908),
    [anon_sym_GT_EQ] = ACTIONS(3924),
    [anon_sym_CARET] = ACTIONS(3926),
    [anon_sym_PLUS] = ACTIONS(3928),
    [anon_sym_SLASH] = ACTIONS(3904),
    [anon_sym_PERCENT] = ACTIONS(3904),
    [sym_comment] = ACTIONS(110),
  },
  [5473] = {
    [sym__simple_heredoc_body] = ACTIONS(7000),
    [sym__heredoc_body_beginning] = ACTIONS(7000),
    [sym__line_break] = ACTIONS(7000),
    [sym__binary_minus] = ACTIONS(3898),
    [sym__binary_star] = ACTIONS(3900),
    [anon_sym_RBRACE] = ACTIONS(7000),
    [anon_sym_PIPE] = ACTIONS(3902),
    [anon_sym_SEMI] = ACTIONS(7000),
    [anon_sym_STAR_STAR] = ACTIONS(3904),
    [anon_sym_AMP] = ACTIONS(3906),
    [anon_sym_LT] = ACTIONS(3908),
    [anon_sym_if] = ACTIONS(7000),
    [anon_sym_unless] = ACTIONS(7000),
    [anon_sym_while] = ACTIONS(7000),
    [anon_sym_until] = ACTIONS(7000),
    [anon_sym_rescue] = ACTIONS(7000),
    [anon_sym_QMARK] = ACTIONS(3910),
    [anon_sym_DOT_DOT] = ACTIONS(3912),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3914),
    [anon_sym_and] = ACTIONS(3916),
    [anon_sym_or] = ACTIONS(3916),
    [anon_sym_PIPE_PIPE] = ACTIONS(3918),
    [anon_sym_AMP_AMP] = ACTIONS(3918),
    [anon_sym_LT_LT] = ACTIONS(3920),
    [anon_sym_GT_GT] = ACTIONS(3920),
    [anon_sym_EQ_EQ] = ACTIONS(3922),
    [anon_sym_BANG_EQ] = ACTIONS(3918),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3918),
    [anon_sym_LT_EQ_GT] = ACTIONS(3918),
    [anon_sym_EQ_TILDE] = ACTIONS(3918),
    [anon_sym_BANG_TILDE] = ACTIONS(3918),
    [anon_sym_LT_EQ] = ACTIONS(3908),
    [anon_sym_GT] = ACTIONS(3908),
    [anon_sym_GT_EQ] = ACTIONS(3924),
    [anon_sym_CARET] = ACTIONS(3926),
    [anon_sym_PLUS] = ACTIONS(3928),
    [anon_sym_SLASH] = ACTIONS(3904),
    [anon_sym_PERCENT] = ACTIONS(3904),
    [sym_comment] = ACTIONS(110),
  },
  [5474] = {
    [sym__simple_heredoc_body] = ACTIONS(7002),
    [sym__heredoc_body_beginning] = ACTIONS(7002),
    [sym__line_break] = ACTIONS(7002),
    [sym__binary_minus] = ACTIONS(3898),
    [sym__binary_star] = ACTIONS(3900),
    [anon_sym_RBRACE] = ACTIONS(7002),
    [anon_sym_PIPE] = ACTIONS(3902),
    [anon_sym_SEMI] = ACTIONS(7002),
    [anon_sym_STAR_STAR] = ACTIONS(3904),
    [anon_sym_AMP] = ACTIONS(3906),
    [anon_sym_LT] = ACTIONS(3908),
    [anon_sym_if] = ACTIONS(7002),
    [anon_sym_unless] = ACTIONS(7002),
    [anon_sym_while] = ACTIONS(7002),
    [anon_sym_until] = ACTIONS(7002),
    [anon_sym_rescue] = ACTIONS(7002),
    [anon_sym_QMARK] = ACTIONS(3910),
    [anon_sym_DOT_DOT] = ACTIONS(3912),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3914),
    [anon_sym_and] = ACTIONS(3916),
    [anon_sym_or] = ACTIONS(3916),
    [anon_sym_PIPE_PIPE] = ACTIONS(3918),
    [anon_sym_AMP_AMP] = ACTIONS(3918),
    [anon_sym_LT_LT] = ACTIONS(3920),
    [anon_sym_GT_GT] = ACTIONS(3920),
    [anon_sym_EQ_EQ] = ACTIONS(3922),
    [anon_sym_BANG_EQ] = ACTIONS(3918),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3918),
    [anon_sym_LT_EQ_GT] = ACTIONS(3918),
    [anon_sym_EQ_TILDE] = ACTIONS(3918),
    [anon_sym_BANG_TILDE] = ACTIONS(3918),
    [anon_sym_LT_EQ] = ACTIONS(3908),
    [anon_sym_GT] = ACTIONS(3908),
    [anon_sym_GT_EQ] = ACTIONS(3924),
    [anon_sym_CARET] = ACTIONS(3926),
    [anon_sym_PLUS] = ACTIONS(3928),
    [anon_sym_SLASH] = ACTIONS(3904),
    [anon_sym_PERCENT] = ACTIONS(3904),
    [sym_comment] = ACTIONS(110),
  },
  [5475] = {
    [sym__simple_heredoc_body] = ACTIONS(7004),
    [sym__heredoc_body_beginning] = ACTIONS(7004),
    [sym__line_break] = ACTIONS(7004),
    [sym__binary_minus] = ACTIONS(3898),
    [sym__binary_star] = ACTIONS(3900),
    [anon_sym_RBRACE] = ACTIONS(7004),
    [anon_sym_PIPE] = ACTIONS(3902),
    [anon_sym_SEMI] = ACTIONS(7004),
    [anon_sym_STAR_STAR] = ACTIONS(3904),
    [anon_sym_AMP] = ACTIONS(3906),
    [anon_sym_LT] = ACTIONS(3908),
    [anon_sym_if] = ACTIONS(7004),
    [anon_sym_unless] = ACTIONS(7004),
    [anon_sym_while] = ACTIONS(7004),
    [anon_sym_until] = ACTIONS(7004),
    [anon_sym_rescue] = ACTIONS(7004),
    [anon_sym_QMARK] = ACTIONS(3910),
    [anon_sym_DOT_DOT] = ACTIONS(3912),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3914),
    [anon_sym_and] = ACTIONS(3916),
    [anon_sym_or] = ACTIONS(3916),
    [anon_sym_PIPE_PIPE] = ACTIONS(3918),
    [anon_sym_AMP_AMP] = ACTIONS(3918),
    [anon_sym_LT_LT] = ACTIONS(3920),
    [anon_sym_GT_GT] = ACTIONS(3920),
    [anon_sym_EQ_EQ] = ACTIONS(3922),
    [anon_sym_BANG_EQ] = ACTIONS(3918),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3918),
    [anon_sym_LT_EQ_GT] = ACTIONS(3918),
    [anon_sym_EQ_TILDE] = ACTIONS(3918),
    [anon_sym_BANG_TILDE] = ACTIONS(3918),
    [anon_sym_LT_EQ] = ACTIONS(3908),
    [anon_sym_GT] = ACTIONS(3908),
    [anon_sym_GT_EQ] = ACTIONS(3924),
    [anon_sym_CARET] = ACTIONS(3926),
    [anon_sym_PLUS] = ACTIONS(3928),
    [anon_sym_SLASH] = ACTIONS(3904),
    [anon_sym_PERCENT] = ACTIONS(3904),
    [sym_comment] = ACTIONS(110),
  },
  [5476] = {
    [sym__simple_heredoc_body] = ACTIONS(7006),
    [sym__heredoc_body_beginning] = ACTIONS(7006),
    [sym__line_break] = ACTIONS(7006),
    [sym__binary_minus] = ACTIONS(3898),
    [sym__binary_star] = ACTIONS(3900),
    [anon_sym_RBRACE] = ACTIONS(7006),
    [anon_sym_PIPE] = ACTIONS(3902),
    [anon_sym_SEMI] = ACTIONS(7006),
    [anon_sym_STAR_STAR] = ACTIONS(3904),
    [anon_sym_AMP] = ACTIONS(3906),
    [anon_sym_LT] = ACTIONS(3908),
    [anon_sym_if] = ACTIONS(7006),
    [anon_sym_unless] = ACTIONS(7006),
    [anon_sym_while] = ACTIONS(7006),
    [anon_sym_until] = ACTIONS(7006),
    [anon_sym_rescue] = ACTIONS(7006),
    [anon_sym_QMARK] = ACTIONS(3910),
    [anon_sym_DOT_DOT] = ACTIONS(3912),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3914),
    [anon_sym_and] = ACTIONS(3916),
    [anon_sym_or] = ACTIONS(3916),
    [anon_sym_PIPE_PIPE] = ACTIONS(3918),
    [anon_sym_AMP_AMP] = ACTIONS(3918),
    [anon_sym_LT_LT] = ACTIONS(3920),
    [anon_sym_GT_GT] = ACTIONS(3920),
    [anon_sym_EQ_EQ] = ACTIONS(3922),
    [anon_sym_BANG_EQ] = ACTIONS(3918),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3918),
    [anon_sym_LT_EQ_GT] = ACTIONS(3918),
    [anon_sym_EQ_TILDE] = ACTIONS(3918),
    [anon_sym_BANG_TILDE] = ACTIONS(3918),
    [anon_sym_LT_EQ] = ACTIONS(3908),
    [anon_sym_GT] = ACTIONS(3908),
    [anon_sym_GT_EQ] = ACTIONS(3924),
    [anon_sym_CARET] = ACTIONS(3926),
    [anon_sym_PLUS] = ACTIONS(3928),
    [anon_sym_SLASH] = ACTIONS(3904),
    [anon_sym_PERCENT] = ACTIONS(3904),
    [sym_comment] = ACTIONS(110),
  },
  [5477] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__line_break] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(3900),
    [anon_sym_RBRACE] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_SEMI] = ACTIONS(7008),
    [anon_sym_STAR_STAR] = ACTIONS(3904),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_if] = ACTIONS(7008),
    [anon_sym_unless] = ACTIONS(7008),
    [anon_sym_while] = ACTIONS(7008),
    [anon_sym_until] = ACTIONS(7008),
    [anon_sym_rescue] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7008),
    [anon_sym_AMP_AMP] = ACTIONS(7008),
    [anon_sym_LT_LT] = ACTIONS(7008),
    [anon_sym_GT_GT] = ACTIONS(7008),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7008),
    [anon_sym_PLUS] = ACTIONS(7008),
    [anon_sym_SLASH] = ACTIONS(3904),
    [anon_sym_PERCENT] = ACTIONS(3904),
    [sym_comment] = ACTIONS(110),
  },
  [5478] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__line_break] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_RBRACE] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_SEMI] = ACTIONS(7012),
    [anon_sym_STAR_STAR] = ACTIONS(3904),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_if] = ACTIONS(7012),
    [anon_sym_unless] = ACTIONS(7012),
    [anon_sym_while] = ACTIONS(7012),
    [anon_sym_until] = ACTIONS(7012),
    [anon_sym_rescue] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7012),
    [anon_sym_AMP_AMP] = ACTIONS(7012),
    [anon_sym_LT_LT] = ACTIONS(7012),
    [anon_sym_GT_GT] = ACTIONS(7012),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7012),
    [anon_sym_PLUS] = ACTIONS(7012),
    [anon_sym_SLASH] = ACTIONS(7012),
    [anon_sym_PERCENT] = ACTIONS(7012),
    [sym_comment] = ACTIONS(110),
  },
  [5479] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(3898),
    [sym__binary_star] = ACTIONS(3900),
    [anon_sym_RBRACE] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(3904),
    [anon_sym_AMP] = ACTIONS(3906),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(3920),
    [anon_sym_GT_GT] = ACTIONS(3920),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(3928),
    [anon_sym_SLASH] = ACTIONS(3904),
    [anon_sym_PERCENT] = ACTIONS(3904),
    [sym_comment] = ACTIONS(110),
  },
  [5480] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_RBRACE] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(3904),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7016),
    [anon_sym_PERCENT] = ACTIONS(7016),
    [sym_comment] = ACTIONS(110),
  },
  [5481] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(3898),
    [sym__binary_star] = ACTIONS(3900),
    [anon_sym_RBRACE] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(3904),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(3920),
    [anon_sym_GT_GT] = ACTIONS(3920),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(3928),
    [anon_sym_SLASH] = ACTIONS(3904),
    [anon_sym_PERCENT] = ACTIONS(3904),
    [sym_comment] = ACTIONS(110),
  },
  [5482] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(3898),
    [sym__binary_star] = ACTIONS(3900),
    [anon_sym_RBRACE] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(3902),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(3904),
    [anon_sym_AMP] = ACTIONS(3906),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(3920),
    [anon_sym_GT_GT] = ACTIONS(3920),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(3926),
    [anon_sym_PLUS] = ACTIONS(3928),
    [anon_sym_SLASH] = ACTIONS(3904),
    [anon_sym_PERCENT] = ACTIONS(3904),
    [sym_comment] = ACTIONS(110),
  },
  [5483] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(11664),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [5484] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__line_break] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(3898),
    [sym__binary_star] = ACTIONS(3900),
    [anon_sym_RBRACE] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(3902),
    [anon_sym_SEMI] = ACTIONS(7108),
    [anon_sym_STAR_STAR] = ACTIONS(3904),
    [anon_sym_AMP] = ACTIONS(3906),
    [anon_sym_LT] = ACTIONS(3908),
    [anon_sym_if] = ACTIONS(7108),
    [anon_sym_unless] = ACTIONS(7108),
    [anon_sym_while] = ACTIONS(7108),
    [anon_sym_until] = ACTIONS(7108),
    [anon_sym_rescue] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(3912),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3914),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(3918),
    [anon_sym_AMP_AMP] = ACTIONS(3918),
    [anon_sym_LT_LT] = ACTIONS(3920),
    [anon_sym_GT_GT] = ACTIONS(3920),
    [anon_sym_EQ_EQ] = ACTIONS(3922),
    [anon_sym_BANG_EQ] = ACTIONS(3918),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3918),
    [anon_sym_LT_EQ_GT] = ACTIONS(3918),
    [anon_sym_EQ_TILDE] = ACTIONS(3918),
    [anon_sym_BANG_TILDE] = ACTIONS(3918),
    [anon_sym_LT_EQ] = ACTIONS(3908),
    [anon_sym_GT] = ACTIONS(3908),
    [anon_sym_GT_EQ] = ACTIONS(3924),
    [anon_sym_CARET] = ACTIONS(3926),
    [anon_sym_PLUS] = ACTIONS(3928),
    [anon_sym_SLASH] = ACTIONS(3904),
    [anon_sym_PERCENT] = ACTIONS(3904),
    [sym_comment] = ACTIONS(110),
  },
  [5485] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(3898),
    [sym__binary_star] = ACTIONS(3900),
    [anon_sym_RBRACE] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(3902),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(3904),
    [anon_sym_AMP] = ACTIONS(3906),
    [anon_sym_LT] = ACTIONS(3908),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(3910),
    [anon_sym_DOT_DOT] = ACTIONS(3912),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3914),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(3918),
    [anon_sym_AMP_AMP] = ACTIONS(3918),
    [anon_sym_LT_LT] = ACTIONS(3920),
    [anon_sym_GT_GT] = ACTIONS(3920),
    [anon_sym_EQ_EQ] = ACTIONS(3922),
    [anon_sym_BANG_EQ] = ACTIONS(3918),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3918),
    [anon_sym_LT_EQ_GT] = ACTIONS(3918),
    [anon_sym_EQ_TILDE] = ACTIONS(3918),
    [anon_sym_BANG_TILDE] = ACTIONS(3918),
    [anon_sym_LT_EQ] = ACTIONS(3908),
    [anon_sym_GT] = ACTIONS(3908),
    [anon_sym_GT_EQ] = ACTIONS(3924),
    [anon_sym_CARET] = ACTIONS(3926),
    [anon_sym_PLUS] = ACTIONS(3928),
    [anon_sym_SLASH] = ACTIONS(3904),
    [anon_sym_PERCENT] = ACTIONS(3904),
    [sym_comment] = ACTIONS(110),
  },
  [5486] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(3898),
    [sym__binary_star] = ACTIONS(3900),
    [anon_sym_RBRACE] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(3902),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(3904),
    [anon_sym_AMP] = ACTIONS(3906),
    [anon_sym_LT] = ACTIONS(3908),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(3920),
    [anon_sym_GT_GT] = ACTIONS(3920),
    [anon_sym_EQ_EQ] = ACTIONS(3922),
    [anon_sym_BANG_EQ] = ACTIONS(3918),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3918),
    [anon_sym_LT_EQ_GT] = ACTIONS(3918),
    [anon_sym_EQ_TILDE] = ACTIONS(3918),
    [anon_sym_BANG_TILDE] = ACTIONS(3918),
    [anon_sym_LT_EQ] = ACTIONS(3908),
    [anon_sym_GT] = ACTIONS(3908),
    [anon_sym_GT_EQ] = ACTIONS(3924),
    [anon_sym_CARET] = ACTIONS(3926),
    [anon_sym_PLUS] = ACTIONS(3928),
    [anon_sym_SLASH] = ACTIONS(3904),
    [anon_sym_PERCENT] = ACTIONS(3904),
    [sym_comment] = ACTIONS(110),
  },
  [5487] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(3898),
    [sym__binary_star] = ACTIONS(3900),
    [anon_sym_RBRACE] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(3904),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(3928),
    [anon_sym_SLASH] = ACTIONS(3904),
    [anon_sym_PERCENT] = ACTIONS(3904),
    [sym_comment] = ACTIONS(110),
  },
  [5488] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(3900),
    [anon_sym_RBRACE] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(3904),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(3904),
    [anon_sym_PERCENT] = ACTIONS(3904),
    [sym_comment] = ACTIONS(110),
  },
  [5489] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(8782),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(5498),
    [sym_call] = STATE(5498),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(5499),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5500),
    [sym__variable] = STATE(5498),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(7756),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(7758),
    [anon_sym_yield] = ACTIONS(7760),
    [anon_sym_break] = ACTIONS(7762),
    [anon_sym_next] = ACTIONS(7764),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(7766),
    [anon_sym_defined_QMARK] = ACTIONS(7768),
    [anon_sym_not] = ACTIONS(7770),
    [anon_sym_BANG] = ACTIONS(7772),
    [anon_sym_TILDE] = ACTIONS(7772),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [5490] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(2664),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2665),
    [sym_call] = STATE(2665),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(4940),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(2666),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(2667),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2668),
    [sym__variable] = STATE(2665),
    [sym_reserved_identifier] = STATE(2669),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2670),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(3930),
    [sym__splat_star] = ACTIONS(3932),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(3934),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_RBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(544),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(3936),
    [anon_sym_yield] = ACTIONS(3938),
    [anon_sym_break] = ACTIONS(3940),
    [anon_sym_next] = ACTIONS(3942),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_PLUS_EQ] = ACTIONS(532),
    [anon_sym_DASH_EQ] = ACTIONS(532),
    [anon_sym_STAR_EQ] = ACTIONS(532),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(532),
    [anon_sym_SLASH_EQ] = ACTIONS(532),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(532),
    [anon_sym_PIPE_EQ] = ACTIONS(532),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(532),
    [anon_sym_AMP_EQ] = ACTIONS(532),
    [anon_sym_PERCENT_EQ] = ACTIONS(532),
    [anon_sym_GT_GT_EQ] = ACTIONS(532),
    [anon_sym_LT_LT_EQ] = ACTIONS(532),
    [anon_sym_CARET_EQ] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(544),
    [anon_sym_AMP_AMP] = ACTIONS(544),
    [anon_sym_LT_LT] = ACTIONS(544),
    [anon_sym_GT_GT] = ACTIONS(544),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(544),
    [anon_sym_PERCENT] = ACTIONS(544),
    [anon_sym_defined_QMARK] = ACTIONS(3944),
    [anon_sym_not] = ACTIONS(3946),
    [anon_sym_BANG] = ACTIONS(3948),
    [anon_sym_TILDE] = ACTIONS(3950),
    [sym_constant] = ACTIONS(3952),
    [sym_identifier] = ACTIONS(3952),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [5491] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(2664),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2665),
    [sym_call] = STATE(2665),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(4941),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(2666),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(2667),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2668),
    [sym__variable] = STATE(2665),
    [sym_reserved_identifier] = STATE(2669),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2670),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(3930),
    [sym__splat_star] = ACTIONS(3932),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(3934),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_RBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(604),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(3936),
    [anon_sym_yield] = ACTIONS(3938),
    [anon_sym_break] = ACTIONS(3940),
    [anon_sym_next] = ACTIONS(3942),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_PLUS_EQ] = ACTIONS(602),
    [anon_sym_DASH_EQ] = ACTIONS(602),
    [anon_sym_STAR_EQ] = ACTIONS(602),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(602),
    [anon_sym_SLASH_EQ] = ACTIONS(602),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(602),
    [anon_sym_PIPE_EQ] = ACTIONS(602),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(602),
    [anon_sym_AMP_EQ] = ACTIONS(602),
    [anon_sym_PERCENT_EQ] = ACTIONS(602),
    [anon_sym_GT_GT_EQ] = ACTIONS(602),
    [anon_sym_LT_LT_EQ] = ACTIONS(602),
    [anon_sym_CARET_EQ] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(604),
    [anon_sym_AMP_AMP] = ACTIONS(604),
    [anon_sym_LT_LT] = ACTIONS(604),
    [anon_sym_GT_GT] = ACTIONS(604),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(604),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(604),
    [anon_sym_PERCENT] = ACTIONS(604),
    [anon_sym_defined_QMARK] = ACTIONS(3944),
    [anon_sym_not] = ACTIONS(3946),
    [anon_sym_BANG] = ACTIONS(3948),
    [anon_sym_TILDE] = ACTIONS(3950),
    [sym_constant] = ACTIONS(3952),
    [sym_identifier] = ACTIONS(3952),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [5492] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(2664),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2665),
    [sym_call] = STATE(2665),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(4942),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(2666),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(2667),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2668),
    [sym__variable] = STATE(2665),
    [sym_reserved_identifier] = STATE(2669),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2670),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(3930),
    [sym__splat_star] = ACTIONS(3932),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(3934),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_RBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(608),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(3936),
    [anon_sym_yield] = ACTIONS(3938),
    [anon_sym_break] = ACTIONS(3940),
    [anon_sym_next] = ACTIONS(3942),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_PLUS_EQ] = ACTIONS(606),
    [anon_sym_DASH_EQ] = ACTIONS(606),
    [anon_sym_STAR_EQ] = ACTIONS(606),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(606),
    [anon_sym_SLASH_EQ] = ACTIONS(606),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(606),
    [anon_sym_PIPE_EQ] = ACTIONS(606),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(606),
    [anon_sym_AMP_EQ] = ACTIONS(606),
    [anon_sym_PERCENT_EQ] = ACTIONS(606),
    [anon_sym_GT_GT_EQ] = ACTIONS(606),
    [anon_sym_LT_LT_EQ] = ACTIONS(606),
    [anon_sym_CARET_EQ] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(608),
    [anon_sym_AMP_AMP] = ACTIONS(608),
    [anon_sym_LT_LT] = ACTIONS(608),
    [anon_sym_GT_GT] = ACTIONS(608),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(608),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(608),
    [anon_sym_PERCENT] = ACTIONS(608),
    [anon_sym_defined_QMARK] = ACTIONS(3944),
    [anon_sym_not] = ACTIONS(3946),
    [anon_sym_BANG] = ACTIONS(3948),
    [anon_sym_TILDE] = ACTIONS(3950),
    [sym_constant] = ACTIONS(3952),
    [sym_identifier] = ACTIONS(3952),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [5493] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(2664),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2665),
    [sym_call] = STATE(2665),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(4943),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(2666),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(2667),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2668),
    [sym__variable] = STATE(2665),
    [sym_reserved_identifier] = STATE(2669),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2670),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(3930),
    [sym__splat_star] = ACTIONS(3932),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(3934),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_RBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(612),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(3936),
    [anon_sym_yield] = ACTIONS(3938),
    [anon_sym_break] = ACTIONS(3940),
    [anon_sym_next] = ACTIONS(3942),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_PLUS_EQ] = ACTIONS(610),
    [anon_sym_DASH_EQ] = ACTIONS(610),
    [anon_sym_STAR_EQ] = ACTIONS(610),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(610),
    [anon_sym_SLASH_EQ] = ACTIONS(610),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(610),
    [anon_sym_PIPE_EQ] = ACTIONS(610),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(610),
    [anon_sym_AMP_EQ] = ACTIONS(610),
    [anon_sym_PERCENT_EQ] = ACTIONS(610),
    [anon_sym_GT_GT_EQ] = ACTIONS(610),
    [anon_sym_LT_LT_EQ] = ACTIONS(610),
    [anon_sym_CARET_EQ] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(612),
    [anon_sym_AMP_AMP] = ACTIONS(612),
    [anon_sym_LT_LT] = ACTIONS(612),
    [anon_sym_GT_GT] = ACTIONS(612),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(612),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(612),
    [anon_sym_PERCENT] = ACTIONS(612),
    [anon_sym_defined_QMARK] = ACTIONS(3944),
    [anon_sym_not] = ACTIONS(3946),
    [anon_sym_BANG] = ACTIONS(3948),
    [anon_sym_TILDE] = ACTIONS(3950),
    [sym_constant] = ACTIONS(3952),
    [sym_identifier] = ACTIONS(3952),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [5494] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(8783),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(5498),
    [sym_call] = STATE(5498),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(5499),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5500),
    [sym__variable] = STATE(5498),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(7756),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(7758),
    [anon_sym_yield] = ACTIONS(7760),
    [anon_sym_break] = ACTIONS(7762),
    [anon_sym_next] = ACTIONS(7764),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(7766),
    [anon_sym_defined_QMARK] = ACTIONS(7768),
    [anon_sym_not] = ACTIONS(7770),
    [anon_sym_BANG] = ACTIONS(7772),
    [anon_sym_TILDE] = ACTIONS(7772),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [5495] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(8784),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(5498),
    [sym_call] = STATE(5498),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(5499),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5500),
    [sym__variable] = STATE(5498),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(7756),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(7758),
    [anon_sym_yield] = ACTIONS(7760),
    [anon_sym_break] = ACTIONS(7762),
    [anon_sym_next] = ACTIONS(7764),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(7766),
    [anon_sym_defined_QMARK] = ACTIONS(7768),
    [anon_sym_not] = ACTIONS(7770),
    [anon_sym_BANG] = ACTIONS(7772),
    [anon_sym_TILDE] = ACTIONS(7772),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [5496] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(4957),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(5498),
    [sym_call] = STATE(5498),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(5499),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5500),
    [sym__variable] = STATE(5498),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(7756),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(7758),
    [anon_sym_yield] = ACTIONS(7760),
    [anon_sym_break] = ACTIONS(7762),
    [anon_sym_next] = ACTIONS(7764),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(7766),
    [anon_sym_defined_QMARK] = ACTIONS(7768),
    [anon_sym_not] = ACTIONS(7770),
    [anon_sym_BANG] = ACTIONS(7772),
    [anon_sym_TILDE] = ACTIONS(7772),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [5497] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__line_break] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(11666),
    [sym__binary_star] = ACTIONS(11668),
    [anon_sym_LBRACE] = ACTIONS(5298),
    [anon_sym_RBRACE] = ACTIONS(5298),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(11670),
    [anon_sym_SEMI] = ACTIONS(5298),
    [anon_sym_STAR_STAR] = ACTIONS(11672),
    [anon_sym_AMP] = ACTIONS(11674),
    [anon_sym_EQ] = ACTIONS(5304),
    [anon_sym_LT] = ACTIONS(11676),
    [anon_sym_if] = ACTIONS(5298),
    [anon_sym_unless] = ACTIONS(5298),
    [anon_sym_while] = ACTIONS(5298),
    [anon_sym_until] = ACTIONS(5298),
    [anon_sym_rescue] = ACTIONS(5298),
    [anon_sym_do] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_PLUS_EQ] = ACTIONS(5298),
    [anon_sym_DASH_EQ] = ACTIONS(5298),
    [anon_sym_STAR_EQ] = ACTIONS(5298),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5298),
    [anon_sym_SLASH_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5298),
    [anon_sym_AMP_EQ] = ACTIONS(5298),
    [anon_sym_PERCENT_EQ] = ACTIONS(5298),
    [anon_sym_GT_GT_EQ] = ACTIONS(5298),
    [anon_sym_LT_LT_EQ] = ACTIONS(5298),
    [anon_sym_CARET_EQ] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(11678),
    [anon_sym_DOT_DOT] = ACTIONS(11680),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11682),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(11684),
    [anon_sym_AMP_AMP] = ACTIONS(11684),
    [anon_sym_LT_LT] = ACTIONS(11686),
    [anon_sym_GT_GT] = ACTIONS(11686),
    [anon_sym_EQ_EQ] = ACTIONS(11684),
    [anon_sym_BANG_EQ] = ACTIONS(11688),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11688),
    [anon_sym_LT_EQ_GT] = ACTIONS(11688),
    [anon_sym_EQ_TILDE] = ACTIONS(11688),
    [anon_sym_BANG_TILDE] = ACTIONS(11688),
    [anon_sym_LT_EQ] = ACTIONS(11676),
    [anon_sym_GT] = ACTIONS(11676),
    [anon_sym_GT_EQ] = ACTIONS(11690),
    [anon_sym_CARET] = ACTIONS(11670),
    [anon_sym_PLUS] = ACTIONS(11692),
    [anon_sym_SLASH] = ACTIONS(11672),
    [anon_sym_PERCENT] = ACTIONS(11672),
    [sym_comment] = ACTIONS(256),
  },
  [5498] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(2664),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2665),
    [sym_call] = STATE(2665),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(1579),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(2666),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_do_block] = STATE(602),
    [sym_block] = STATE(602),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(2667),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2668),
    [sym__variable] = STATE(2665),
    [sym_reserved_identifier] = STATE(2669),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2670),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(3930),
    [sym__splat_star] = ACTIONS(3932),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(3934),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(1014),
    [anon_sym_RBRACE] = ACTIONS(980),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(3936),
    [anon_sym_yield] = ACTIONS(3938),
    [anon_sym_break] = ACTIONS(3940),
    [anon_sym_next] = ACTIONS(3942),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(982),
    [anon_sym_unless] = ACTIONS(982),
    [anon_sym_while] = ACTIONS(982),
    [anon_sym_until] = ACTIONS(982),
    [anon_sym_rescue] = ACTIONS(982),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(982),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(3944),
    [anon_sym_not] = ACTIONS(3946),
    [anon_sym_BANG] = ACTIONS(3948),
    [anon_sym_TILDE] = ACTIONS(3950),
    [sym_constant] = ACTIONS(3952),
    [sym_identifier] = ACTIONS(3952),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [5499] = {
    [anon_sym_EQ] = ACTIONS(11694),
    [sym_comment] = ACTIONS(256),
  },
  [5500] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_RBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(11696),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(11698),
    [anon_sym_DASH_EQ] = ACTIONS(11698),
    [anon_sym_STAR_EQ] = ACTIONS(11698),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(11698),
    [anon_sym_SLASH_EQ] = ACTIONS(11698),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(11698),
    [anon_sym_PIPE_EQ] = ACTIONS(11698),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(11698),
    [anon_sym_AMP_EQ] = ACTIONS(11698),
    [anon_sym_PERCENT_EQ] = ACTIONS(11698),
    [anon_sym_GT_GT_EQ] = ACTIONS(11698),
    [anon_sym_LT_LT_EQ] = ACTIONS(11698),
    [anon_sym_CARET_EQ] = ACTIONS(11698),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [5501] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__line_break] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(11666),
    [sym__binary_star] = ACTIONS(11668),
    [anon_sym_LBRACE] = ACTIONS(5338),
    [anon_sym_RBRACE] = ACTIONS(5338),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(11670),
    [anon_sym_SEMI] = ACTIONS(5338),
    [anon_sym_STAR_STAR] = ACTIONS(11672),
    [anon_sym_AMP] = ACTIONS(11674),
    [anon_sym_EQ] = ACTIONS(5340),
    [anon_sym_LT] = ACTIONS(11676),
    [anon_sym_if] = ACTIONS(5338),
    [anon_sym_unless] = ACTIONS(5338),
    [anon_sym_while] = ACTIONS(5338),
    [anon_sym_until] = ACTIONS(5338),
    [anon_sym_rescue] = ACTIONS(5338),
    [anon_sym_do] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_PLUS_EQ] = ACTIONS(5338),
    [anon_sym_DASH_EQ] = ACTIONS(5338),
    [anon_sym_STAR_EQ] = ACTIONS(5338),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5338),
    [anon_sym_SLASH_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5338),
    [anon_sym_AMP_EQ] = ACTIONS(5338),
    [anon_sym_PERCENT_EQ] = ACTIONS(5338),
    [anon_sym_GT_GT_EQ] = ACTIONS(5338),
    [anon_sym_LT_LT_EQ] = ACTIONS(5338),
    [anon_sym_CARET_EQ] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(11678),
    [anon_sym_DOT_DOT] = ACTIONS(11680),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11682),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(11684),
    [anon_sym_AMP_AMP] = ACTIONS(11684),
    [anon_sym_LT_LT] = ACTIONS(11686),
    [anon_sym_GT_GT] = ACTIONS(11686),
    [anon_sym_EQ_EQ] = ACTIONS(11684),
    [anon_sym_BANG_EQ] = ACTIONS(11688),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11688),
    [anon_sym_LT_EQ_GT] = ACTIONS(11688),
    [anon_sym_EQ_TILDE] = ACTIONS(11688),
    [anon_sym_BANG_TILDE] = ACTIONS(11688),
    [anon_sym_LT_EQ] = ACTIONS(11676),
    [anon_sym_GT] = ACTIONS(11676),
    [anon_sym_GT_EQ] = ACTIONS(11690),
    [anon_sym_CARET] = ACTIONS(11670),
    [anon_sym_PLUS] = ACTIONS(11692),
    [anon_sym_SLASH] = ACTIONS(11672),
    [anon_sym_PERCENT] = ACTIONS(11672),
    [sym_comment] = ACTIONS(256),
  },
  [5502] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(5017),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2665),
    [sym_call] = STATE(2665),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2147),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(5018),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(2667),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2668),
    [sym__variable] = STATE(2665),
    [sym_reserved_identifier] = STATE(5019),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(5020),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(7254),
    [sym__splat_star] = ACTIONS(7256),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(3934),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_RBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(544),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(3936),
    [anon_sym_yield] = ACTIONS(3938),
    [anon_sym_break] = ACTIONS(3940),
    [anon_sym_next] = ACTIONS(3942),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_PLUS_EQ] = ACTIONS(532),
    [anon_sym_DASH_EQ] = ACTIONS(532),
    [anon_sym_STAR_EQ] = ACTIONS(532),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(532),
    [anon_sym_SLASH_EQ] = ACTIONS(532),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(532),
    [anon_sym_PIPE_EQ] = ACTIONS(532),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(532),
    [anon_sym_AMP_EQ] = ACTIONS(532),
    [anon_sym_PERCENT_EQ] = ACTIONS(532),
    [anon_sym_GT_GT_EQ] = ACTIONS(532),
    [anon_sym_LT_LT_EQ] = ACTIONS(532),
    [anon_sym_CARET_EQ] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(544),
    [anon_sym_AMP_AMP] = ACTIONS(544),
    [anon_sym_LT_LT] = ACTIONS(544),
    [anon_sym_GT_GT] = ACTIONS(544),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(544),
    [anon_sym_PERCENT] = ACTIONS(544),
    [anon_sym_defined_QMARK] = ACTIONS(3944),
    [anon_sym_not] = ACTIONS(3946),
    [anon_sym_BANG] = ACTIONS(3948),
    [anon_sym_TILDE] = ACTIONS(3950),
    [sym_constant] = ACTIONS(7258),
    [sym_identifier] = ACTIONS(7258),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [5503] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(5017),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2665),
    [sym_call] = STATE(2665),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2148),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(5018),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(2667),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2668),
    [sym__variable] = STATE(2665),
    [sym_reserved_identifier] = STATE(5019),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(5020),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(7254),
    [sym__splat_star] = ACTIONS(7256),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(3934),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_RBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(604),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(3936),
    [anon_sym_yield] = ACTIONS(3938),
    [anon_sym_break] = ACTIONS(3940),
    [anon_sym_next] = ACTIONS(3942),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_PLUS_EQ] = ACTIONS(602),
    [anon_sym_DASH_EQ] = ACTIONS(602),
    [anon_sym_STAR_EQ] = ACTIONS(602),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(602),
    [anon_sym_SLASH_EQ] = ACTIONS(602),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(602),
    [anon_sym_PIPE_EQ] = ACTIONS(602),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(602),
    [anon_sym_AMP_EQ] = ACTIONS(602),
    [anon_sym_PERCENT_EQ] = ACTIONS(602),
    [anon_sym_GT_GT_EQ] = ACTIONS(602),
    [anon_sym_LT_LT_EQ] = ACTIONS(602),
    [anon_sym_CARET_EQ] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(604),
    [anon_sym_AMP_AMP] = ACTIONS(604),
    [anon_sym_LT_LT] = ACTIONS(604),
    [anon_sym_GT_GT] = ACTIONS(604),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(604),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(604),
    [anon_sym_PERCENT] = ACTIONS(604),
    [anon_sym_defined_QMARK] = ACTIONS(3944),
    [anon_sym_not] = ACTIONS(3946),
    [anon_sym_BANG] = ACTIONS(3948),
    [anon_sym_TILDE] = ACTIONS(3950),
    [sym_constant] = ACTIONS(7258),
    [sym_identifier] = ACTIONS(7258),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [5504] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(5017),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2665),
    [sym_call] = STATE(2665),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2149),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(5018),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(2667),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2668),
    [sym__variable] = STATE(2665),
    [sym_reserved_identifier] = STATE(5019),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(5020),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(7254),
    [sym__splat_star] = ACTIONS(7256),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(3934),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_RBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(608),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(3936),
    [anon_sym_yield] = ACTIONS(3938),
    [anon_sym_break] = ACTIONS(3940),
    [anon_sym_next] = ACTIONS(3942),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_PLUS_EQ] = ACTIONS(606),
    [anon_sym_DASH_EQ] = ACTIONS(606),
    [anon_sym_STAR_EQ] = ACTIONS(606),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(606),
    [anon_sym_SLASH_EQ] = ACTIONS(606),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(606),
    [anon_sym_PIPE_EQ] = ACTIONS(606),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(606),
    [anon_sym_AMP_EQ] = ACTIONS(606),
    [anon_sym_PERCENT_EQ] = ACTIONS(606),
    [anon_sym_GT_GT_EQ] = ACTIONS(606),
    [anon_sym_LT_LT_EQ] = ACTIONS(606),
    [anon_sym_CARET_EQ] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(608),
    [anon_sym_AMP_AMP] = ACTIONS(608),
    [anon_sym_LT_LT] = ACTIONS(608),
    [anon_sym_GT_GT] = ACTIONS(608),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(608),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(608),
    [anon_sym_PERCENT] = ACTIONS(608),
    [anon_sym_defined_QMARK] = ACTIONS(3944),
    [anon_sym_not] = ACTIONS(3946),
    [anon_sym_BANG] = ACTIONS(3948),
    [anon_sym_TILDE] = ACTIONS(3950),
    [sym_constant] = ACTIONS(7258),
    [sym_identifier] = ACTIONS(7258),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [5505] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(5017),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2665),
    [sym_call] = STATE(2665),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2150),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(5018),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(2667),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2668),
    [sym__variable] = STATE(2665),
    [sym_reserved_identifier] = STATE(5019),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(5020),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(7254),
    [sym__splat_star] = ACTIONS(7256),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(3934),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_RBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(612),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(3936),
    [anon_sym_yield] = ACTIONS(3938),
    [anon_sym_break] = ACTIONS(3940),
    [anon_sym_next] = ACTIONS(3942),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_PLUS_EQ] = ACTIONS(610),
    [anon_sym_DASH_EQ] = ACTIONS(610),
    [anon_sym_STAR_EQ] = ACTIONS(610),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(610),
    [anon_sym_SLASH_EQ] = ACTIONS(610),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(610),
    [anon_sym_PIPE_EQ] = ACTIONS(610),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(610),
    [anon_sym_AMP_EQ] = ACTIONS(610),
    [anon_sym_PERCENT_EQ] = ACTIONS(610),
    [anon_sym_GT_GT_EQ] = ACTIONS(610),
    [anon_sym_LT_LT_EQ] = ACTIONS(610),
    [anon_sym_CARET_EQ] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(612),
    [anon_sym_AMP_AMP] = ACTIONS(612),
    [anon_sym_LT_LT] = ACTIONS(612),
    [anon_sym_GT_GT] = ACTIONS(612),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(612),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(612),
    [anon_sym_PERCENT] = ACTIONS(612),
    [anon_sym_defined_QMARK] = ACTIONS(3944),
    [anon_sym_not] = ACTIONS(3946),
    [anon_sym_BANG] = ACTIONS(3948),
    [anon_sym_TILDE] = ACTIONS(3950),
    [sym_constant] = ACTIONS(7258),
    [sym_identifier] = ACTIONS(7258),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [5506] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_LBRACE] = ACTIONS(1372),
    [anon_sym_RBRACE] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(7794),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_EQ] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_if] = ACTIONS(1372),
    [anon_sym_unless] = ACTIONS(1372),
    [anon_sym_while] = ACTIONS(1372),
    [anon_sym_until] = ACTIONS(1372),
    [anon_sym_rescue] = ACTIONS(1372),
    [anon_sym_do] = ACTIONS(1372),
    [anon_sym_EQ_GT] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_PLUS_EQ] = ACTIONS(1372),
    [anon_sym_DASH_EQ] = ACTIONS(1372),
    [anon_sym_STAR_EQ] = ACTIONS(1372),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1372),
    [anon_sym_SLASH_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1372),
    [anon_sym_AMP_EQ] = ACTIONS(1372),
    [anon_sym_PERCENT_EQ] = ACTIONS(1372),
    [anon_sym_GT_GT_EQ] = ACTIONS(1372),
    [anon_sym_LT_LT_EQ] = ACTIONS(1372),
    [anon_sym_CARET_EQ] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1374),
    [anon_sym_AMP_AMP] = ACTIONS(1374),
    [anon_sym_LT_LT] = ACTIONS(1374),
    [anon_sym_GT_GT] = ACTIONS(1374),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1374),
    [anon_sym_PLUS] = ACTIONS(1374),
    [anon_sym_SLASH] = ACTIONS(1374),
    [anon_sym_PERCENT] = ACTIONS(1374),
    [sym_comment] = ACTIONS(256),
  },
  [5507] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__line_break] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(11666),
    [sym__binary_star] = ACTIONS(11668),
    [anon_sym_LBRACE] = ACTIONS(4284),
    [anon_sym_RBRACE] = ACTIONS(4284),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(11670),
    [anon_sym_SEMI] = ACTIONS(4284),
    [anon_sym_STAR_STAR] = ACTIONS(11672),
    [anon_sym_AMP] = ACTIONS(11674),
    [anon_sym_EQ] = ACTIONS(5432),
    [anon_sym_LT] = ACTIONS(11676),
    [anon_sym_if] = ACTIONS(4284),
    [anon_sym_unless] = ACTIONS(4284),
    [anon_sym_while] = ACTIONS(4284),
    [anon_sym_until] = ACTIONS(4284),
    [anon_sym_rescue] = ACTIONS(4284),
    [anon_sym_do] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_PLUS_EQ] = ACTIONS(4284),
    [anon_sym_DASH_EQ] = ACTIONS(4284),
    [anon_sym_STAR_EQ] = ACTIONS(4284),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(4284),
    [anon_sym_SLASH_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(4284),
    [anon_sym_AMP_EQ] = ACTIONS(4284),
    [anon_sym_PERCENT_EQ] = ACTIONS(4284),
    [anon_sym_GT_GT_EQ] = ACTIONS(4284),
    [anon_sym_LT_LT_EQ] = ACTIONS(4284),
    [anon_sym_CARET_EQ] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(11678),
    [anon_sym_DOT_DOT] = ACTIONS(11680),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11682),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(11684),
    [anon_sym_AMP_AMP] = ACTIONS(11684),
    [anon_sym_LT_LT] = ACTIONS(11686),
    [anon_sym_GT_GT] = ACTIONS(11686),
    [anon_sym_EQ_EQ] = ACTIONS(11684),
    [anon_sym_BANG_EQ] = ACTIONS(11688),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11688),
    [anon_sym_LT_EQ_GT] = ACTIONS(11688),
    [anon_sym_EQ_TILDE] = ACTIONS(11688),
    [anon_sym_BANG_TILDE] = ACTIONS(11688),
    [anon_sym_LT_EQ] = ACTIONS(11676),
    [anon_sym_GT] = ACTIONS(11676),
    [anon_sym_GT_EQ] = ACTIONS(11690),
    [anon_sym_CARET] = ACTIONS(11670),
    [anon_sym_PLUS] = ACTIONS(11692),
    [anon_sym_SLASH] = ACTIONS(11672),
    [anon_sym_PERCENT] = ACTIONS(11672),
    [sym_comment] = ACTIONS(256),
  },
  [5508] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_RBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(7794),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2872),
    [anon_sym_AMP_AMP] = ACTIONS(2872),
    [anon_sym_LT_LT] = ACTIONS(2872),
    [anon_sym_GT_GT] = ACTIONS(2872),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2872),
    [anon_sym_PLUS] = ACTIONS(2872),
    [anon_sym_SLASH] = ACTIONS(2872),
    [anon_sym_PERCENT] = ACTIONS(2872),
    [sym_comment] = ACTIONS(256),
  },
  [5509] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(7788),
    [sym__binary_star] = ACTIONS(7790),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_RBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(7792),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(7794),
    [anon_sym_AMP] = ACTIONS(7796),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(7798),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(7800),
    [anon_sym_DOT_DOT] = ACTIONS(7802),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7804),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(7806),
    [anon_sym_AMP_AMP] = ACTIONS(7806),
    [anon_sym_LT_LT] = ACTIONS(7808),
    [anon_sym_GT_GT] = ACTIONS(7808),
    [anon_sym_EQ_EQ] = ACTIONS(7806),
    [anon_sym_BANG_EQ] = ACTIONS(7810),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7810),
    [anon_sym_LT_EQ_GT] = ACTIONS(7810),
    [anon_sym_EQ_TILDE] = ACTIONS(7810),
    [anon_sym_BANG_TILDE] = ACTIONS(7810),
    [anon_sym_LT_EQ] = ACTIONS(7798),
    [anon_sym_GT] = ACTIONS(7798),
    [anon_sym_GT_EQ] = ACTIONS(7812),
    [anon_sym_CARET] = ACTIONS(7792),
    [anon_sym_PLUS] = ACTIONS(7814),
    [anon_sym_SLASH] = ACTIONS(7794),
    [anon_sym_PERCENT] = ACTIONS(7794),
    [sym_comment] = ACTIONS(256),
  },
  [5510] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(8799),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(5498),
    [sym_call] = STATE(5498),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(5499),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5500),
    [sym__variable] = STATE(5498),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(7756),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(7758),
    [anon_sym_yield] = ACTIONS(7760),
    [anon_sym_break] = ACTIONS(7762),
    [anon_sym_next] = ACTIONS(7764),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(7766),
    [anon_sym_defined_QMARK] = ACTIONS(7768),
    [anon_sym_not] = ACTIONS(7770),
    [anon_sym_BANG] = ACTIONS(7772),
    [anon_sym_TILDE] = ACTIONS(7772),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [5511] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(8800),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2665),
    [sym_call] = STATE(2665),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(2667),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2668),
    [sym__variable] = STATE(2665),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(3934),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(7774),
    [anon_sym_yield] = ACTIONS(7776),
    [anon_sym_break] = ACTIONS(7778),
    [anon_sym_next] = ACTIONS(7780),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(7782),
    [anon_sym_defined_QMARK] = ACTIONS(3944),
    [anon_sym_not] = ACTIONS(7784),
    [anon_sym_BANG] = ACTIONS(3950),
    [anon_sym_TILDE] = ACTIONS(3950),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [5512] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(8801),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2665),
    [sym_call] = STATE(2665),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(2667),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2668),
    [sym__variable] = STATE(2665),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(3934),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(7774),
    [anon_sym_yield] = ACTIONS(7776),
    [anon_sym_break] = ACTIONS(7778),
    [anon_sym_next] = ACTIONS(7780),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(7782),
    [anon_sym_defined_QMARK] = ACTIONS(3944),
    [anon_sym_not] = ACTIONS(7784),
    [anon_sym_BANG] = ACTIONS(3950),
    [anon_sym_TILDE] = ACTIONS(3950),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [5513] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(8802),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2665),
    [sym_call] = STATE(2665),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(2667),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2668),
    [sym__variable] = STATE(2665),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(3934),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(7774),
    [anon_sym_yield] = ACTIONS(7776),
    [anon_sym_break] = ACTIONS(7778),
    [anon_sym_next] = ACTIONS(7780),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(7782),
    [anon_sym_defined_QMARK] = ACTIONS(3944),
    [anon_sym_not] = ACTIONS(7784),
    [anon_sym_BANG] = ACTIONS(3950),
    [anon_sym_TILDE] = ACTIONS(3950),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [5514] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(8803),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2665),
    [sym_call] = STATE(2665),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(2667),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2668),
    [sym__variable] = STATE(2665),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(3934),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(7774),
    [anon_sym_yield] = ACTIONS(7776),
    [anon_sym_break] = ACTIONS(7778),
    [anon_sym_next] = ACTIONS(7780),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(7782),
    [anon_sym_defined_QMARK] = ACTIONS(3944),
    [anon_sym_not] = ACTIONS(7784),
    [anon_sym_BANG] = ACTIONS(3950),
    [anon_sym_TILDE] = ACTIONS(3950),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [5515] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(8804),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2665),
    [sym_call] = STATE(2665),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(2667),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2668),
    [sym__variable] = STATE(2665),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(3934),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(7774),
    [anon_sym_yield] = ACTIONS(7776),
    [anon_sym_break] = ACTIONS(7778),
    [anon_sym_next] = ACTIONS(7780),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(7782),
    [anon_sym_defined_QMARK] = ACTIONS(3944),
    [anon_sym_not] = ACTIONS(7784),
    [anon_sym_BANG] = ACTIONS(3950),
    [anon_sym_TILDE] = ACTIONS(3950),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [5516] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(8805),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2665),
    [sym_call] = STATE(2665),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(2667),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2668),
    [sym__variable] = STATE(2665),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(3934),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(7774),
    [anon_sym_yield] = ACTIONS(7776),
    [anon_sym_break] = ACTIONS(7778),
    [anon_sym_next] = ACTIONS(7780),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(7782),
    [anon_sym_defined_QMARK] = ACTIONS(3944),
    [anon_sym_not] = ACTIONS(7784),
    [anon_sym_BANG] = ACTIONS(3950),
    [anon_sym_TILDE] = ACTIONS(3950),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [5517] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(8806),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [5518] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(8807),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2665),
    [sym_call] = STATE(2665),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(2667),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2668),
    [sym__variable] = STATE(2665),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(3934),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(7774),
    [anon_sym_yield] = ACTIONS(7776),
    [anon_sym_break] = ACTIONS(7778),
    [anon_sym_next] = ACTIONS(7780),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(7782),
    [anon_sym_defined_QMARK] = ACTIONS(3944),
    [anon_sym_not] = ACTIONS(7784),
    [anon_sym_BANG] = ACTIONS(3950),
    [anon_sym_TILDE] = ACTIONS(3950),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [5519] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(8808),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2665),
    [sym_call] = STATE(2665),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(2667),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2668),
    [sym__variable] = STATE(2665),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(3934),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(7774),
    [anon_sym_yield] = ACTIONS(7776),
    [anon_sym_break] = ACTIONS(7778),
    [anon_sym_next] = ACTIONS(7780),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(7782),
    [anon_sym_defined_QMARK] = ACTIONS(3944),
    [anon_sym_not] = ACTIONS(7784),
    [anon_sym_BANG] = ACTIONS(3950),
    [anon_sym_TILDE] = ACTIONS(3950),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [5520] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(8809),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2665),
    [sym_call] = STATE(2665),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(2667),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2668),
    [sym__variable] = STATE(2665),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(3934),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(7774),
    [anon_sym_yield] = ACTIONS(7776),
    [anon_sym_break] = ACTIONS(7778),
    [anon_sym_next] = ACTIONS(7780),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(7782),
    [anon_sym_defined_QMARK] = ACTIONS(3944),
    [anon_sym_not] = ACTIONS(7784),
    [anon_sym_BANG] = ACTIONS(3950),
    [anon_sym_TILDE] = ACTIONS(3950),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [5521] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(8810),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2665),
    [sym_call] = STATE(2665),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(2667),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2668),
    [sym__variable] = STATE(2665),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(3934),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(7774),
    [anon_sym_yield] = ACTIONS(7776),
    [anon_sym_break] = ACTIONS(7778),
    [anon_sym_next] = ACTIONS(7780),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(7782),
    [anon_sym_defined_QMARK] = ACTIONS(3944),
    [anon_sym_not] = ACTIONS(7784),
    [anon_sym_BANG] = ACTIONS(3950),
    [anon_sym_TILDE] = ACTIONS(3950),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [5522] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(8811),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2665),
    [sym_call] = STATE(2665),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(2667),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2668),
    [sym__variable] = STATE(2665),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(3934),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(7774),
    [anon_sym_yield] = ACTIONS(7776),
    [anon_sym_break] = ACTIONS(7778),
    [anon_sym_next] = ACTIONS(7780),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(7782),
    [anon_sym_defined_QMARK] = ACTIONS(3944),
    [anon_sym_not] = ACTIONS(7784),
    [anon_sym_BANG] = ACTIONS(3950),
    [anon_sym_TILDE] = ACTIONS(3950),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [5523] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(2664),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2665),
    [sym_call] = STATE(2665),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(5069),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(2667),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2668),
    [sym__variable] = STATE(2665),
    [sym_reserved_identifier] = STATE(2669),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2670),
    [sym_subshell] = STATE(561),
    [sym_heredoc_end] = STATE(8812),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__block_ampersand] = ACTIONS(3930),
    [sym__splat_star] = ACTIONS(3932),
    [sym__unary_minus] = ACTIONS(3934),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(11700),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(3936),
    [anon_sym_yield] = ACTIONS(3938),
    [anon_sym_break] = ACTIONS(3940),
    [anon_sym_next] = ACTIONS(3942),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(7782),
    [anon_sym_defined_QMARK] = ACTIONS(3944),
    [anon_sym_not] = ACTIONS(3946),
    [anon_sym_BANG] = ACTIONS(3950),
    [anon_sym_TILDE] = ACTIONS(3950),
    [sym_constant] = ACTIONS(3952),
    [sym_identifier] = ACTIONS(3952),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [5524] = {
    [sym_heredoc_end] = STATE(2196),
    [aux_sym_argument_list_repeat2] = STATE(5072),
    [sym__simple_heredoc_body] = ACTIONS(3354),
    [sym__heredoc_body_beginning] = ACTIONS(3356),
    [sym__line_break] = ACTIONS(5472),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_LBRACE] = ACTIONS(5472),
    [anon_sym_RBRACE] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(11702),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_SEMI] = ACTIONS(5472),
    [anon_sym_STAR_STAR] = ACTIONS(5474),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_EQ] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_if] = ACTIONS(5472),
    [anon_sym_unless] = ACTIONS(5472),
    [anon_sym_while] = ACTIONS(5472),
    [anon_sym_until] = ACTIONS(5472),
    [anon_sym_rescue] = ACTIONS(5472),
    [anon_sym_do] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_PLUS_EQ] = ACTIONS(5472),
    [anon_sym_DASH_EQ] = ACTIONS(5472),
    [anon_sym_STAR_EQ] = ACTIONS(5472),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5472),
    [anon_sym_SLASH_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5472),
    [anon_sym_AMP_EQ] = ACTIONS(5472),
    [anon_sym_PERCENT_EQ] = ACTIONS(5472),
    [anon_sym_GT_GT_EQ] = ACTIONS(5472),
    [anon_sym_LT_LT_EQ] = ACTIONS(5472),
    [anon_sym_CARET_EQ] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5474),
    [anon_sym_AMP_AMP] = ACTIONS(5474),
    [anon_sym_LT_LT] = ACTIONS(5474),
    [anon_sym_GT_GT] = ACTIONS(5474),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5474),
    [anon_sym_PLUS] = ACTIONS(5474),
    [anon_sym_SLASH] = ACTIONS(5474),
    [anon_sym_PERCENT] = ACTIONS(5474),
    [sym_comment] = ACTIONS(256),
  },
  [5525] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(8814),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2665),
    [sym_call] = STATE(2665),
    [sym_method_call] = STATE(338),
    [sym_splat_argument] = STATE(5074),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_right_assignment_list] = STATE(5075),
    [sym__arg_or_splat_arg] = STATE(8815),
    [sym_left_assignment_list] = STATE(2667),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2668),
    [sym__variable] = STATE(2665),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__splat_star] = ACTIONS(7256),
    [sym__unary_minus] = ACTIONS(3934),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(7774),
    [anon_sym_yield] = ACTIONS(7776),
    [anon_sym_break] = ACTIONS(7778),
    [anon_sym_next] = ACTIONS(7780),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(7782),
    [anon_sym_defined_QMARK] = ACTIONS(3944),
    [anon_sym_not] = ACTIONS(7784),
    [anon_sym_BANG] = ACTIONS(3950),
    [anon_sym_TILDE] = ACTIONS(3950),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [5526] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(8816),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2665),
    [sym_call] = STATE(2665),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(2667),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2668),
    [sym__variable] = STATE(2665),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(3934),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(7774),
    [anon_sym_yield] = ACTIONS(7776),
    [anon_sym_break] = ACTIONS(7778),
    [anon_sym_next] = ACTIONS(7780),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(7782),
    [anon_sym_defined_QMARK] = ACTIONS(3944),
    [anon_sym_not] = ACTIONS(7784),
    [anon_sym_BANG] = ACTIONS(3950),
    [anon_sym_TILDE] = ACTIONS(3950),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [5527] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(8817),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(5498),
    [sym_call] = STATE(5498),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(5499),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5500),
    [sym__variable] = STATE(5498),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(7756),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(7758),
    [anon_sym_yield] = ACTIONS(7760),
    [anon_sym_break] = ACTIONS(7762),
    [anon_sym_next] = ACTIONS(7764),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(7766),
    [anon_sym_defined_QMARK] = ACTIONS(7768),
    [anon_sym_not] = ACTIONS(7770),
    [anon_sym_BANG] = ACTIONS(7772),
    [anon_sym_TILDE] = ACTIONS(7772),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [5528] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8818),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(5535),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5536),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(7828),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7830),
    [anon_sym_defined_QMARK] = ACTIONS(7832),
    [anon_sym_not] = ACTIONS(7834),
    [anon_sym_BANG] = ACTIONS(7836),
    [anon_sym_TILDE] = ACTIONS(7836),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5529] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8819),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(5535),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5536),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(7828),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7830),
    [anon_sym_defined_QMARK] = ACTIONS(7832),
    [anon_sym_not] = ACTIONS(7834),
    [anon_sym_BANG] = ACTIONS(7836),
    [anon_sym_TILDE] = ACTIONS(7836),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5530] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8820),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(5535),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5536),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(7828),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7830),
    [anon_sym_defined_QMARK] = ACTIONS(7832),
    [anon_sym_not] = ACTIONS(7834),
    [anon_sym_BANG] = ACTIONS(7836),
    [anon_sym_TILDE] = ACTIONS(7836),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5531] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8821),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(5535),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5536),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(7828),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7830),
    [anon_sym_defined_QMARK] = ACTIONS(7832),
    [anon_sym_not] = ACTIONS(7834),
    [anon_sym_BANG] = ACTIONS(7836),
    [anon_sym_TILDE] = ACTIONS(7836),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5532] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(434),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(5535),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5536),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(7828),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7830),
    [anon_sym_defined_QMARK] = ACTIONS(7832),
    [anon_sym_not] = ACTIONS(7834),
    [anon_sym_BANG] = ACTIONS(7836),
    [anon_sym_TILDE] = ACTIONS(7836),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5533] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__line_break] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(11704),
    [sym__binary_star] = ACTIONS(11706),
    [anon_sym_RBRACE] = ACTIONS(6346),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(11708),
    [anon_sym_SEMI] = ACTIONS(6346),
    [anon_sym_STAR_STAR] = ACTIONS(11710),
    [anon_sym_AMP] = ACTIONS(11712),
    [anon_sym_LT] = ACTIONS(11714),
    [anon_sym_if] = ACTIONS(6346),
    [anon_sym_unless] = ACTIONS(6346),
    [anon_sym_while] = ACTIONS(6346),
    [anon_sym_until] = ACTIONS(6346),
    [anon_sym_rescue] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(11716),
    [anon_sym_DOT_DOT] = ACTIONS(11718),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11720),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(11722),
    [anon_sym_AMP_AMP] = ACTIONS(11722),
    [anon_sym_LT_LT] = ACTIONS(11724),
    [anon_sym_GT_GT] = ACTIONS(11724),
    [anon_sym_EQ_EQ] = ACTIONS(11726),
    [anon_sym_BANG_EQ] = ACTIONS(11722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11722),
    [anon_sym_LT_EQ_GT] = ACTIONS(11722),
    [anon_sym_EQ_TILDE] = ACTIONS(11722),
    [anon_sym_BANG_TILDE] = ACTIONS(11722),
    [anon_sym_LT_EQ] = ACTIONS(11714),
    [anon_sym_GT] = ACTIONS(11714),
    [anon_sym_GT_EQ] = ACTIONS(11728),
    [anon_sym_CARET] = ACTIONS(11730),
    [anon_sym_PLUS] = ACTIONS(11732),
    [anon_sym_SLASH] = ACTIONS(11710),
    [anon_sym_PERCENT] = ACTIONS(11710),
    [sym_comment] = ACTIONS(110),
  },
  [5534] = {
    [aux_sym_exceptions_repeat1] = STATE(8835),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__line_break] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_RBRACE] = ACTIONS(7330),
    [anon_sym_COMMA] = ACTIONS(11734),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_SEMI] = ACTIONS(7330),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_if] = ACTIONS(7330),
    [anon_sym_unless] = ACTIONS(7330),
    [anon_sym_while] = ACTIONS(7330),
    [anon_sym_until] = ACTIONS(7330),
    [anon_sym_rescue] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [5535] = {
    [anon_sym_EQ] = ACTIONS(11736),
    [sym_comment] = ACTIONS(256),
  },
  [5536] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_RBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(11738),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(11740),
    [anon_sym_DASH_EQ] = ACTIONS(11740),
    [anon_sym_STAR_EQ] = ACTIONS(11740),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(11740),
    [anon_sym_SLASH_EQ] = ACTIONS(11740),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(11740),
    [anon_sym_PIPE_EQ] = ACTIONS(11740),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(11740),
    [anon_sym_AMP_EQ] = ACTIONS(11740),
    [anon_sym_PERCENT_EQ] = ACTIONS(11740),
    [anon_sym_GT_GT_EQ] = ACTIONS(11740),
    [anon_sym_LT_LT_EQ] = ACTIONS(11740),
    [anon_sym_CARET_EQ] = ACTIONS(11740),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [5537] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__line_break] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(3898),
    [sym__binary_star] = ACTIONS(3900),
    [anon_sym_RBRACE] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(3902),
    [anon_sym_SEMI] = ACTIONS(7344),
    [anon_sym_STAR_STAR] = ACTIONS(3904),
    [anon_sym_AMP] = ACTIONS(3906),
    [anon_sym_LT] = ACTIONS(3908),
    [anon_sym_if] = ACTIONS(7344),
    [anon_sym_unless] = ACTIONS(7344),
    [anon_sym_while] = ACTIONS(7344),
    [anon_sym_until] = ACTIONS(7344),
    [anon_sym_rescue] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(3910),
    [anon_sym_DOT_DOT] = ACTIONS(3912),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3914),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(3918),
    [anon_sym_AMP_AMP] = ACTIONS(3918),
    [anon_sym_LT_LT] = ACTIONS(3920),
    [anon_sym_GT_GT] = ACTIONS(3920),
    [anon_sym_EQ_EQ] = ACTIONS(3922),
    [anon_sym_BANG_EQ] = ACTIONS(3918),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3918),
    [anon_sym_LT_EQ_GT] = ACTIONS(3918),
    [anon_sym_EQ_TILDE] = ACTIONS(3918),
    [anon_sym_BANG_TILDE] = ACTIONS(3918),
    [anon_sym_LT_EQ] = ACTIONS(3908),
    [anon_sym_GT] = ACTIONS(3908),
    [anon_sym_GT_EQ] = ACTIONS(3924),
    [anon_sym_CARET] = ACTIONS(3926),
    [anon_sym_PLUS] = ACTIONS(3928),
    [anon_sym_SLASH] = ACTIONS(3904),
    [anon_sym_PERCENT] = ACTIONS(3904),
    [sym_comment] = ACTIONS(110),
  },
  [5538] = {
    [sym__simple_string] = ACTIONS(7678),
    [sym__string_beginning] = ACTIONS(7678),
    [sym__element_reference_left_bracket] = ACTIONS(7678),
    [sym__scope_double_colon] = ACTIONS(7678),
    [sym__keyword_colon] = ACTIONS(7678),
    [sym__binary_minus] = ACTIONS(7678),
    [sym__binary_star] = ACTIONS(7678),
    [anon_sym_DOT] = ACTIONS(7680),
    [anon_sym_PIPE] = ACTIONS(7680),
    [anon_sym_STAR_STAR] = ACTIONS(7678),
    [anon_sym_AMP] = ACTIONS(7680),
    [anon_sym_LT] = ACTIONS(7680),
    [anon_sym_EQ_GT] = ACTIONS(7678),
    [anon_sym_AMP_DOT] = ACTIONS(7678),
    [anon_sym_QMARK] = ACTIONS(7680),
    [anon_sym_DOT_DOT] = ACTIONS(7680),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7678),
    [anon_sym_and] = ACTIONS(7678),
    [anon_sym_or] = ACTIONS(7678),
    [anon_sym_PIPE_PIPE] = ACTIONS(7678),
    [anon_sym_AMP_AMP] = ACTIONS(7678),
    [anon_sym_LT_LT] = ACTIONS(7678),
    [anon_sym_GT_GT] = ACTIONS(7678),
    [anon_sym_EQ_EQ] = ACTIONS(7680),
    [anon_sym_BANG_EQ] = ACTIONS(7678),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7678),
    [anon_sym_LT_EQ_GT] = ACTIONS(7678),
    [anon_sym_EQ_TILDE] = ACTIONS(7678),
    [anon_sym_BANG_TILDE] = ACTIONS(7678),
    [anon_sym_LT_EQ] = ACTIONS(7680),
    [anon_sym_GT] = ACTIONS(7680),
    [anon_sym_GT_EQ] = ACTIONS(7678),
    [anon_sym_CARET] = ACTIONS(7678),
    [anon_sym_PLUS] = ACTIONS(7678),
    [anon_sym_SLASH] = ACTIONS(7678),
    [anon_sym_PERCENT] = ACTIONS(7678),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(7680),
  },
  [5539] = {
    [sym__element_reference_left_bracket] = ACTIONS(7682),
    [sym__scope_double_colon] = ACTIONS(7682),
    [sym__binary_minus] = ACTIONS(7682),
    [sym__binary_star] = ACTIONS(7682),
    [anon_sym_LBRACE] = ACTIONS(7682),
    [anon_sym_RPAREN] = ACTIONS(7682),
    [anon_sym_DOT] = ACTIONS(7684),
    [anon_sym_COMMA] = ACTIONS(7682),
    [anon_sym_PIPE] = ACTIONS(7684),
    [anon_sym_SEMI] = ACTIONS(7682),
    [anon_sym_STAR_STAR] = ACTIONS(7682),
    [anon_sym_AMP] = ACTIONS(7684),
    [anon_sym_LT] = ACTIONS(7684),
    [anon_sym_do] = ACTIONS(7682),
    [anon_sym_EQ_GT] = ACTIONS(7682),
    [anon_sym_AMP_DOT] = ACTIONS(7682),
    [anon_sym_QMARK] = ACTIONS(7682),
    [anon_sym_COLON] = ACTIONS(7682),
    [anon_sym_DOT_DOT] = ACTIONS(7684),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7682),
    [anon_sym_and] = ACTIONS(7682),
    [anon_sym_or] = ACTIONS(7682),
    [anon_sym_PIPE_PIPE] = ACTIONS(7682),
    [anon_sym_AMP_AMP] = ACTIONS(7682),
    [anon_sym_LT_LT] = ACTIONS(7682),
    [anon_sym_GT_GT] = ACTIONS(7682),
    [anon_sym_EQ_EQ] = ACTIONS(7684),
    [anon_sym_BANG_EQ] = ACTIONS(7682),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7682),
    [anon_sym_LT_EQ_GT] = ACTIONS(7682),
    [anon_sym_EQ_TILDE] = ACTIONS(7682),
    [anon_sym_BANG_TILDE] = ACTIONS(7682),
    [anon_sym_LT_EQ] = ACTIONS(7684),
    [anon_sym_GT] = ACTIONS(7684),
    [anon_sym_GT_EQ] = ACTIONS(7682),
    [anon_sym_CARET] = ACTIONS(7682),
    [anon_sym_PLUS] = ACTIONS(7682),
    [anon_sym_SLASH] = ACTIONS(7682),
    [anon_sym_PERCENT] = ACTIONS(7682),
    [sym_comment] = ACTIONS(110),
  },
  [5540] = {
    [sym__element_reference_left_bracket] = ACTIONS(7686),
    [sym__scope_double_colon] = ACTIONS(7686),
    [sym__binary_minus] = ACTIONS(7686),
    [sym__binary_star] = ACTIONS(7686),
    [anon_sym_LBRACE] = ACTIONS(7686),
    [anon_sym_RPAREN] = ACTIONS(7686),
    [anon_sym_DOT] = ACTIONS(7688),
    [anon_sym_COMMA] = ACTIONS(7686),
    [anon_sym_PIPE] = ACTIONS(7688),
    [anon_sym_SEMI] = ACTIONS(7686),
    [anon_sym_STAR_STAR] = ACTIONS(7686),
    [anon_sym_AMP] = ACTIONS(7688),
    [anon_sym_LT] = ACTIONS(7688),
    [anon_sym_do] = ACTIONS(7686),
    [anon_sym_EQ_GT] = ACTIONS(7686),
    [anon_sym_AMP_DOT] = ACTIONS(7686),
    [anon_sym_QMARK] = ACTIONS(7686),
    [anon_sym_COLON] = ACTIONS(7686),
    [anon_sym_DOT_DOT] = ACTIONS(7688),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7686),
    [anon_sym_and] = ACTIONS(7686),
    [anon_sym_or] = ACTIONS(7686),
    [anon_sym_PIPE_PIPE] = ACTIONS(7686),
    [anon_sym_AMP_AMP] = ACTIONS(7686),
    [anon_sym_LT_LT] = ACTIONS(7686),
    [anon_sym_GT_GT] = ACTIONS(7686),
    [anon_sym_EQ_EQ] = ACTIONS(7688),
    [anon_sym_BANG_EQ] = ACTIONS(7686),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7686),
    [anon_sym_LT_EQ_GT] = ACTIONS(7686),
    [anon_sym_EQ_TILDE] = ACTIONS(7686),
    [anon_sym_BANG_TILDE] = ACTIONS(7686),
    [anon_sym_LT_EQ] = ACTIONS(7688),
    [anon_sym_GT] = ACTIONS(7688),
    [anon_sym_GT_EQ] = ACTIONS(7686),
    [anon_sym_CARET] = ACTIONS(7686),
    [anon_sym_PLUS] = ACTIONS(7686),
    [anon_sym_SLASH] = ACTIONS(7686),
    [anon_sym_PERCENT] = ACTIONS(7686),
    [sym_comment] = ACTIONS(110),
  },
  [5541] = {
    [sym__element_reference_left_bracket] = ACTIONS(7690),
    [sym__scope_double_colon] = ACTIONS(7690),
    [sym__binary_minus] = ACTIONS(7690),
    [sym__binary_star] = ACTIONS(7690),
    [anon_sym_LBRACE] = ACTIONS(7690),
    [anon_sym_RPAREN] = ACTIONS(7690),
    [anon_sym_DOT] = ACTIONS(7692),
    [anon_sym_COMMA] = ACTIONS(7690),
    [anon_sym_PIPE] = ACTIONS(7692),
    [anon_sym_SEMI] = ACTIONS(7690),
    [anon_sym_STAR_STAR] = ACTIONS(7690),
    [anon_sym_AMP] = ACTIONS(7692),
    [anon_sym_LT] = ACTIONS(7692),
    [anon_sym_do] = ACTIONS(7690),
    [anon_sym_EQ_GT] = ACTIONS(7690),
    [anon_sym_AMP_DOT] = ACTIONS(7690),
    [anon_sym_QMARK] = ACTIONS(7690),
    [anon_sym_COLON] = ACTIONS(7690),
    [anon_sym_DOT_DOT] = ACTIONS(7692),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7690),
    [anon_sym_and] = ACTIONS(7690),
    [anon_sym_or] = ACTIONS(7690),
    [anon_sym_PIPE_PIPE] = ACTIONS(7690),
    [anon_sym_AMP_AMP] = ACTIONS(7690),
    [anon_sym_LT_LT] = ACTIONS(7690),
    [anon_sym_GT_GT] = ACTIONS(7690),
    [anon_sym_EQ_EQ] = ACTIONS(7692),
    [anon_sym_BANG_EQ] = ACTIONS(7690),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7690),
    [anon_sym_LT_EQ_GT] = ACTIONS(7690),
    [anon_sym_EQ_TILDE] = ACTIONS(7690),
    [anon_sym_BANG_TILDE] = ACTIONS(7690),
    [anon_sym_LT_EQ] = ACTIONS(7692),
    [anon_sym_GT] = ACTIONS(7692),
    [anon_sym_GT_EQ] = ACTIONS(7690),
    [anon_sym_CARET] = ACTIONS(7690),
    [anon_sym_PLUS] = ACTIONS(7690),
    [anon_sym_SLASH] = ACTIONS(7690),
    [anon_sym_PERCENT] = ACTIONS(7690),
    [sym_comment] = ACTIONS(110),
  },
  [5542] = {
    [sym__element_reference_left_bracket] = ACTIONS(7694),
    [sym__scope_double_colon] = ACTIONS(7694),
    [sym__binary_minus] = ACTIONS(7694),
    [sym__binary_star] = ACTIONS(7694),
    [anon_sym_LBRACE] = ACTIONS(7694),
    [anon_sym_RPAREN] = ACTIONS(7694),
    [anon_sym_DOT] = ACTIONS(7696),
    [anon_sym_COMMA] = ACTIONS(7694),
    [anon_sym_PIPE] = ACTIONS(7696),
    [anon_sym_SEMI] = ACTIONS(7694),
    [anon_sym_STAR_STAR] = ACTIONS(7694),
    [anon_sym_AMP] = ACTIONS(7696),
    [anon_sym_LT] = ACTIONS(7696),
    [anon_sym_do] = ACTIONS(7694),
    [anon_sym_EQ_GT] = ACTIONS(7694),
    [anon_sym_AMP_DOT] = ACTIONS(7694),
    [anon_sym_QMARK] = ACTIONS(7694),
    [anon_sym_COLON] = ACTIONS(7694),
    [anon_sym_DOT_DOT] = ACTIONS(7696),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7694),
    [anon_sym_and] = ACTIONS(7694),
    [anon_sym_or] = ACTIONS(7694),
    [anon_sym_PIPE_PIPE] = ACTIONS(7694),
    [anon_sym_AMP_AMP] = ACTIONS(7694),
    [anon_sym_LT_LT] = ACTIONS(7694),
    [anon_sym_GT_GT] = ACTIONS(7694),
    [anon_sym_EQ_EQ] = ACTIONS(7696),
    [anon_sym_BANG_EQ] = ACTIONS(7694),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7694),
    [anon_sym_LT_EQ_GT] = ACTIONS(7694),
    [anon_sym_EQ_TILDE] = ACTIONS(7694),
    [anon_sym_BANG_TILDE] = ACTIONS(7694),
    [anon_sym_LT_EQ] = ACTIONS(7696),
    [anon_sym_GT] = ACTIONS(7696),
    [anon_sym_GT_EQ] = ACTIONS(7694),
    [anon_sym_CARET] = ACTIONS(7694),
    [anon_sym_PLUS] = ACTIONS(7694),
    [anon_sym_SLASH] = ACTIONS(7694),
    [anon_sym_PERCENT] = ACTIONS(7694),
    [sym_comment] = ACTIONS(110),
  },
  [5543] = {
    [sym__simple_string] = ACTIONS(3612),
    [sym__string_beginning] = ACTIONS(3612),
    [sym__heredoc_body_middle] = ACTIONS(3612),
    [sym__heredoc_body_end] = ACTIONS(3612),
    [sym__element_reference_left_bracket] = ACTIONS(3612),
    [sym__scope_double_colon] = ACTIONS(3612),
    [sym__binary_minus] = ACTIONS(3612),
    [sym__binary_star] = ACTIONS(3612),
    [anon_sym_DOT] = ACTIONS(3614),
    [anon_sym_COMMA] = ACTIONS(3612),
    [anon_sym_PIPE] = ACTIONS(3614),
    [anon_sym_STAR_STAR] = ACTIONS(3612),
    [anon_sym_AMP] = ACTIONS(3614),
    [anon_sym_LT] = ACTIONS(3614),
    [anon_sym_if] = ACTIONS(3612),
    [anon_sym_unless] = ACTIONS(3612),
    [anon_sym_while] = ACTIONS(3612),
    [anon_sym_until] = ACTIONS(3612),
    [anon_sym_rescue] = ACTIONS(3612),
    [anon_sym_AMP_DOT] = ACTIONS(3612),
    [anon_sym_QMARK] = ACTIONS(3614),
    [anon_sym_DOT_DOT] = ACTIONS(3614),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3612),
    [anon_sym_and] = ACTIONS(3612),
    [anon_sym_or] = ACTIONS(3612),
    [anon_sym_PIPE_PIPE] = ACTIONS(3612),
    [anon_sym_AMP_AMP] = ACTIONS(3612),
    [anon_sym_LT_LT] = ACTIONS(3612),
    [anon_sym_GT_GT] = ACTIONS(3612),
    [anon_sym_EQ_EQ] = ACTIONS(3614),
    [anon_sym_BANG_EQ] = ACTIONS(3612),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3612),
    [anon_sym_LT_EQ_GT] = ACTIONS(3612),
    [anon_sym_EQ_TILDE] = ACTIONS(3612),
    [anon_sym_BANG_TILDE] = ACTIONS(3612),
    [anon_sym_LT_EQ] = ACTIONS(3614),
    [anon_sym_GT] = ACTIONS(3614),
    [anon_sym_GT_EQ] = ACTIONS(3612),
    [anon_sym_CARET] = ACTIONS(3612),
    [anon_sym_PLUS] = ACTIONS(3612),
    [anon_sym_SLASH] = ACTIONS(3612),
    [anon_sym_PERCENT] = ACTIONS(3612),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(3614),
  },
  [5544] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(11742),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [5545] = {
    [sym__heredoc_body_middle] = ACTIONS(3844),
    [sym__heredoc_body_end] = ACTIONS(3844),
    [sym__element_reference_left_bracket] = ACTIONS(3844),
    [sym__scope_double_colon] = ACTIONS(3844),
    [sym__binary_minus] = ACTIONS(3844),
    [sym__binary_star] = ACTIONS(3844),
    [anon_sym_DOT] = ACTIONS(3846),
    [anon_sym_COMMA] = ACTIONS(3844),
    [anon_sym_PIPE] = ACTIONS(3846),
    [anon_sym_STAR_STAR] = ACTIONS(3844),
    [anon_sym_AMP] = ACTIONS(3846),
    [anon_sym_LT] = ACTIONS(3846),
    [anon_sym_if] = ACTIONS(3844),
    [anon_sym_unless] = ACTIONS(3844),
    [anon_sym_while] = ACTIONS(3844),
    [anon_sym_until] = ACTIONS(3844),
    [anon_sym_rescue] = ACTIONS(3844),
    [anon_sym_AMP_DOT] = ACTIONS(3844),
    [anon_sym_QMARK] = ACTIONS(3844),
    [anon_sym_DOT_DOT] = ACTIONS(3846),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3844),
    [anon_sym_and] = ACTIONS(3844),
    [anon_sym_or] = ACTIONS(3844),
    [anon_sym_PIPE_PIPE] = ACTIONS(3844),
    [anon_sym_AMP_AMP] = ACTIONS(3844),
    [anon_sym_LT_LT] = ACTIONS(3844),
    [anon_sym_GT_GT] = ACTIONS(3844),
    [anon_sym_EQ_EQ] = ACTIONS(3846),
    [anon_sym_BANG_EQ] = ACTIONS(3844),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3844),
    [anon_sym_LT_EQ_GT] = ACTIONS(3844),
    [anon_sym_EQ_TILDE] = ACTIONS(3844),
    [anon_sym_BANG_TILDE] = ACTIONS(3844),
    [anon_sym_LT_EQ] = ACTIONS(3846),
    [anon_sym_GT] = ACTIONS(3846),
    [anon_sym_GT_EQ] = ACTIONS(3844),
    [anon_sym_CARET] = ACTIONS(3844),
    [anon_sym_PLUS] = ACTIONS(3844),
    [anon_sym_SLASH] = ACTIONS(3844),
    [anon_sym_PERCENT] = ACTIONS(3844),
    [sym_comment] = ACTIONS(110),
  },
  [5546] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(11744),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [5547] = {
    [sym__heredoc_body_middle] = ACTIONS(3850),
    [sym__heredoc_body_end] = ACTIONS(3850),
    [sym__element_reference_left_bracket] = ACTIONS(3850),
    [sym__scope_double_colon] = ACTIONS(3850),
    [sym__binary_minus] = ACTIONS(3850),
    [sym__binary_star] = ACTIONS(3850),
    [anon_sym_DOT] = ACTIONS(3852),
    [anon_sym_COMMA] = ACTIONS(3850),
    [anon_sym_PIPE] = ACTIONS(3852),
    [anon_sym_STAR_STAR] = ACTIONS(3850),
    [anon_sym_AMP] = ACTIONS(3852),
    [anon_sym_LT] = ACTIONS(3852),
    [anon_sym_if] = ACTIONS(3850),
    [anon_sym_unless] = ACTIONS(3850),
    [anon_sym_while] = ACTIONS(3850),
    [anon_sym_until] = ACTIONS(3850),
    [anon_sym_rescue] = ACTIONS(3850),
    [anon_sym_AMP_DOT] = ACTIONS(3850),
    [anon_sym_QMARK] = ACTIONS(3850),
    [anon_sym_DOT_DOT] = ACTIONS(3852),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3850),
    [anon_sym_and] = ACTIONS(3850),
    [anon_sym_or] = ACTIONS(3850),
    [anon_sym_PIPE_PIPE] = ACTIONS(3850),
    [anon_sym_AMP_AMP] = ACTIONS(3850),
    [anon_sym_LT_LT] = ACTIONS(3850),
    [anon_sym_GT_GT] = ACTIONS(3850),
    [anon_sym_EQ_EQ] = ACTIONS(3852),
    [anon_sym_BANG_EQ] = ACTIONS(3850),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3850),
    [anon_sym_LT_EQ_GT] = ACTIONS(3850),
    [anon_sym_EQ_TILDE] = ACTIONS(3850),
    [anon_sym_BANG_TILDE] = ACTIONS(3850),
    [anon_sym_LT_EQ] = ACTIONS(3852),
    [anon_sym_GT] = ACTIONS(3852),
    [anon_sym_GT_EQ] = ACTIONS(3850),
    [anon_sym_CARET] = ACTIONS(3850),
    [anon_sym_PLUS] = ACTIONS(3850),
    [anon_sym_SLASH] = ACTIONS(3850),
    [anon_sym_PERCENT] = ACTIONS(3850),
    [sym_comment] = ACTIONS(110),
  },
  [5548] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(11746),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [5549] = {
    [sym__heredoc_body_middle] = ACTIONS(3856),
    [sym__heredoc_body_end] = ACTIONS(3856),
    [sym__element_reference_left_bracket] = ACTIONS(3856),
    [sym__scope_double_colon] = ACTIONS(3856),
    [sym__binary_minus] = ACTIONS(3856),
    [sym__binary_star] = ACTIONS(3856),
    [anon_sym_DOT] = ACTIONS(3858),
    [anon_sym_COMMA] = ACTIONS(3856),
    [anon_sym_PIPE] = ACTIONS(3858),
    [anon_sym_STAR_STAR] = ACTIONS(3856),
    [anon_sym_AMP] = ACTIONS(3858),
    [anon_sym_LT] = ACTIONS(3858),
    [anon_sym_if] = ACTIONS(3856),
    [anon_sym_unless] = ACTIONS(3856),
    [anon_sym_while] = ACTIONS(3856),
    [anon_sym_until] = ACTIONS(3856),
    [anon_sym_rescue] = ACTIONS(3856),
    [anon_sym_AMP_DOT] = ACTIONS(3856),
    [anon_sym_QMARK] = ACTIONS(3856),
    [anon_sym_DOT_DOT] = ACTIONS(3858),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3856),
    [anon_sym_and] = ACTIONS(3856),
    [anon_sym_or] = ACTIONS(3856),
    [anon_sym_PIPE_PIPE] = ACTIONS(3856),
    [anon_sym_AMP_AMP] = ACTIONS(3856),
    [anon_sym_LT_LT] = ACTIONS(3856),
    [anon_sym_GT_GT] = ACTIONS(3856),
    [anon_sym_EQ_EQ] = ACTIONS(3858),
    [anon_sym_BANG_EQ] = ACTIONS(3856),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3856),
    [anon_sym_LT_EQ_GT] = ACTIONS(3856),
    [anon_sym_EQ_TILDE] = ACTIONS(3856),
    [anon_sym_BANG_TILDE] = ACTIONS(3856),
    [anon_sym_LT_EQ] = ACTIONS(3858),
    [anon_sym_GT] = ACTIONS(3858),
    [anon_sym_GT_EQ] = ACTIONS(3856),
    [anon_sym_CARET] = ACTIONS(3856),
    [anon_sym_PLUS] = ACTIONS(3856),
    [anon_sym_SLASH] = ACTIONS(3856),
    [anon_sym_PERCENT] = ACTIONS(3856),
    [sym_comment] = ACTIONS(110),
  },
  [5550] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(11748),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [5551] = {
    [sym__heredoc_body_middle] = ACTIONS(3862),
    [sym__heredoc_body_end] = ACTIONS(3862),
    [sym__element_reference_left_bracket] = ACTIONS(3862),
    [sym__scope_double_colon] = ACTIONS(3862),
    [sym__binary_minus] = ACTIONS(3862),
    [sym__binary_star] = ACTIONS(3862),
    [anon_sym_DOT] = ACTIONS(3864),
    [anon_sym_COMMA] = ACTIONS(3862),
    [anon_sym_PIPE] = ACTIONS(3864),
    [anon_sym_STAR_STAR] = ACTIONS(3862),
    [anon_sym_AMP] = ACTIONS(3864),
    [anon_sym_LT] = ACTIONS(3864),
    [anon_sym_if] = ACTIONS(3862),
    [anon_sym_unless] = ACTIONS(3862),
    [anon_sym_while] = ACTIONS(3862),
    [anon_sym_until] = ACTIONS(3862),
    [anon_sym_rescue] = ACTIONS(3862),
    [anon_sym_AMP_DOT] = ACTIONS(3862),
    [anon_sym_QMARK] = ACTIONS(3862),
    [anon_sym_DOT_DOT] = ACTIONS(3864),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3862),
    [anon_sym_and] = ACTIONS(3862),
    [anon_sym_or] = ACTIONS(3862),
    [anon_sym_PIPE_PIPE] = ACTIONS(3862),
    [anon_sym_AMP_AMP] = ACTIONS(3862),
    [anon_sym_LT_LT] = ACTIONS(3862),
    [anon_sym_GT_GT] = ACTIONS(3862),
    [anon_sym_EQ_EQ] = ACTIONS(3864),
    [anon_sym_BANG_EQ] = ACTIONS(3862),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3862),
    [anon_sym_LT_EQ_GT] = ACTIONS(3862),
    [anon_sym_EQ_TILDE] = ACTIONS(3862),
    [anon_sym_BANG_TILDE] = ACTIONS(3862),
    [anon_sym_LT_EQ] = ACTIONS(3864),
    [anon_sym_GT] = ACTIONS(3864),
    [anon_sym_GT_EQ] = ACTIONS(3862),
    [anon_sym_CARET] = ACTIONS(3862),
    [anon_sym_PLUS] = ACTIONS(3862),
    [anon_sym_SLASH] = ACTIONS(3862),
    [anon_sym_PERCENT] = ACTIONS(3862),
    [sym_comment] = ACTIONS(110),
  },
  [5552] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(11750),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [5553] = {
    [sym__heredoc_body_middle] = ACTIONS(4578),
    [sym__heredoc_body_end] = ACTIONS(4578),
    [sym__element_reference_left_bracket] = ACTIONS(4578),
    [sym__scope_double_colon] = ACTIONS(4578),
    [sym__binary_minus] = ACTIONS(4578),
    [sym__binary_star] = ACTIONS(4578),
    [anon_sym_DOT] = ACTIONS(4580),
    [anon_sym_COMMA] = ACTIONS(4578),
    [anon_sym_PIPE] = ACTIONS(4580),
    [anon_sym_STAR_STAR] = ACTIONS(4578),
    [anon_sym_AMP] = ACTIONS(4580),
    [anon_sym_LT] = ACTIONS(4580),
    [anon_sym_if] = ACTIONS(4578),
    [anon_sym_unless] = ACTIONS(4578),
    [anon_sym_while] = ACTIONS(4578),
    [anon_sym_until] = ACTIONS(4578),
    [anon_sym_rescue] = ACTIONS(4578),
    [anon_sym_AMP_DOT] = ACTIONS(4578),
    [anon_sym_QMARK] = ACTIONS(4578),
    [anon_sym_DOT_DOT] = ACTIONS(4580),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4578),
    [anon_sym_and] = ACTIONS(4578),
    [anon_sym_or] = ACTIONS(4578),
    [anon_sym_PIPE_PIPE] = ACTIONS(4578),
    [anon_sym_AMP_AMP] = ACTIONS(4578),
    [anon_sym_LT_LT] = ACTIONS(4578),
    [anon_sym_GT_GT] = ACTIONS(4578),
    [anon_sym_EQ_EQ] = ACTIONS(4580),
    [anon_sym_BANG_EQ] = ACTIONS(4578),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4578),
    [anon_sym_LT_EQ_GT] = ACTIONS(4578),
    [anon_sym_EQ_TILDE] = ACTIONS(4578),
    [anon_sym_BANG_TILDE] = ACTIONS(4578),
    [anon_sym_LT_EQ] = ACTIONS(4580),
    [anon_sym_GT] = ACTIONS(4580),
    [anon_sym_GT_EQ] = ACTIONS(4578),
    [anon_sym_CARET] = ACTIONS(4578),
    [anon_sym_PLUS] = ACTIONS(4578),
    [anon_sym_SLASH] = ACTIONS(4578),
    [anon_sym_PERCENT] = ACTIONS(4578),
    [sym_comment] = ACTIONS(110),
  },
  [5554] = {
    [anon_sym_RBRACE] = ACTIONS(11752),
    [sym_comment] = ACTIONS(110),
  },
  [5555] = {
    [sym__binary_minus] = ACTIONS(4614),
    [sym__binary_star] = ACTIONS(4616),
    [anon_sym_RPAREN] = ACTIONS(11754),
    [anon_sym_PIPE] = ACTIONS(4620),
    [anon_sym_STAR_STAR] = ACTIONS(4622),
    [anon_sym_AMP] = ACTIONS(4624),
    [anon_sym_LT] = ACTIONS(4626),
    [anon_sym_QMARK] = ACTIONS(4628),
    [anon_sym_DOT_DOT] = ACTIONS(4630),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4632),
    [anon_sym_and] = ACTIONS(4634),
    [anon_sym_or] = ACTIONS(4634),
    [anon_sym_PIPE_PIPE] = ACTIONS(4636),
    [anon_sym_AMP_AMP] = ACTIONS(4636),
    [anon_sym_LT_LT] = ACTIONS(4638),
    [anon_sym_GT_GT] = ACTIONS(4638),
    [anon_sym_EQ_EQ] = ACTIONS(4640),
    [anon_sym_BANG_EQ] = ACTIONS(4636),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4636),
    [anon_sym_LT_EQ_GT] = ACTIONS(4636),
    [anon_sym_EQ_TILDE] = ACTIONS(4636),
    [anon_sym_BANG_TILDE] = ACTIONS(4636),
    [anon_sym_LT_EQ] = ACTIONS(4626),
    [anon_sym_GT] = ACTIONS(4626),
    [anon_sym_GT_EQ] = ACTIONS(4642),
    [anon_sym_CARET] = ACTIONS(4644),
    [anon_sym_PLUS] = ACTIONS(4646),
    [anon_sym_SLASH] = ACTIONS(4622),
    [anon_sym_PERCENT] = ACTIONS(4622),
    [sym_comment] = ACTIONS(110),
  },
  [5556] = {
    [sym__method_rest] = STATE(8845),
    [sym_operator] = STATE(217),
    [sym__method_name] = STATE(2700),
    [sym_setter] = STATE(217),
    [sym_symbol] = STATE(217),
    [sym__simple_symbol] = ACTIONS(378),
    [sym__symbol_beginning] = ACTIONS(380),
    [anon_sym_PIPE] = ACTIONS(384),
    [anon_sym_STAR] = ACTIONS(386),
    [anon_sym_STAR_STAR] = ACTIONS(384),
    [anon_sym_AMP] = ACTIONS(384),
    [anon_sym_LT] = ACTIONS(386),
    [anon_sym_DOT_DOT] = ACTIONS(384),
    [anon_sym_LT_LT] = ACTIONS(384),
    [anon_sym_GT_GT] = ACTIONS(384),
    [anon_sym_EQ_EQ] = ACTIONS(386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(384),
    [anon_sym_LT_EQ_GT] = ACTIONS(384),
    [anon_sym_EQ_TILDE] = ACTIONS(384),
    [anon_sym_BANG_TILDE] = ACTIONS(384),
    [anon_sym_LT_EQ] = ACTIONS(386),
    [anon_sym_GT] = ACTIONS(386),
    [anon_sym_GT_EQ] = ACTIONS(384),
    [anon_sym_CARET] = ACTIONS(384),
    [anon_sym_PLUS] = ACTIONS(386),
    [anon_sym_SLASH] = ACTIONS(384),
    [anon_sym_PERCENT] = ACTIONS(384),
    [anon_sym_BANG] = ACTIONS(386),
    [anon_sym_TILDE] = ACTIONS(384),
    [sym_constant] = ACTIONS(4694),
    [sym_identifier] = ACTIONS(4696),
    [sym_instance_variable] = ACTIONS(4694),
    [sym_class_variable] = ACTIONS(4694),
    [sym_global_variable] = ACTIONS(4694),
    [anon_sym_DASH] = ACTIONS(386),
    [anon_sym_PLUS_AT] = ACTIONS(384),
    [anon_sym_DASH_AT] = ACTIONS(384),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(386),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(384),
    [anon_sym_BQUOTE] = ACTIONS(384),
    [sym_comment] = ACTIONS(110),
  },
  [5557] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(8847),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11756),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5558] = {
    [sym__heredoc_body_middle] = ACTIONS(4826),
    [sym__heredoc_body_end] = ACTIONS(4826),
    [sym__element_reference_left_bracket] = ACTIONS(4826),
    [sym__scope_double_colon] = ACTIONS(4826),
    [sym__binary_minus] = ACTIONS(4826),
    [sym__binary_star] = ACTIONS(4826),
    [anon_sym_DOT] = ACTIONS(4828),
    [anon_sym_COMMA] = ACTIONS(4826),
    [anon_sym_PIPE] = ACTIONS(4828),
    [anon_sym_STAR_STAR] = ACTIONS(4826),
    [anon_sym_AMP] = ACTIONS(4828),
    [anon_sym_LT] = ACTIONS(4828),
    [anon_sym_if] = ACTIONS(4826),
    [anon_sym_unless] = ACTIONS(4826),
    [anon_sym_while] = ACTIONS(4826),
    [anon_sym_until] = ACTIONS(4826),
    [anon_sym_rescue] = ACTIONS(4826),
    [anon_sym_AMP_DOT] = ACTIONS(4826),
    [anon_sym_QMARK] = ACTIONS(4826),
    [anon_sym_DOT_DOT] = ACTIONS(4828),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4826),
    [anon_sym_and] = ACTIONS(4826),
    [anon_sym_or] = ACTIONS(4826),
    [anon_sym_PIPE_PIPE] = ACTIONS(4826),
    [anon_sym_AMP_AMP] = ACTIONS(4826),
    [anon_sym_LT_LT] = ACTIONS(4826),
    [anon_sym_GT_GT] = ACTIONS(4826),
    [anon_sym_EQ_EQ] = ACTIONS(4828),
    [anon_sym_BANG_EQ] = ACTIONS(4826),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4826),
    [anon_sym_LT_EQ_GT] = ACTIONS(4826),
    [anon_sym_EQ_TILDE] = ACTIONS(4826),
    [anon_sym_BANG_TILDE] = ACTIONS(4826),
    [anon_sym_LT_EQ] = ACTIONS(4828),
    [anon_sym_GT] = ACTIONS(4828),
    [anon_sym_GT_EQ] = ACTIONS(4826),
    [anon_sym_CARET] = ACTIONS(4826),
    [anon_sym_PLUS] = ACTIONS(4826),
    [anon_sym_SLASH] = ACTIONS(4826),
    [anon_sym_PERCENT] = ACTIONS(4826),
    [sym_comment] = ACTIONS(110),
  },
  [5559] = {
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(8848),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym__line_break] = ACTIONS(692),
    [sym__binary_minus] = ACTIONS(5168),
    [sym__binary_star] = ACTIONS(5170),
    [anon_sym_PIPE] = ACTIONS(5172),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR_STAR] = ACTIONS(5174),
    [anon_sym_AMP] = ACTIONS(5176),
    [anon_sym_LT] = ACTIONS(5178),
    [anon_sym_QMARK] = ACTIONS(5180),
    [anon_sym_DOT_DOT] = ACTIONS(5182),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5184),
    [anon_sym_and] = ACTIONS(5186),
    [anon_sym_or] = ACTIONS(5186),
    [anon_sym_PIPE_PIPE] = ACTIONS(5188),
    [anon_sym_AMP_AMP] = ACTIONS(5188),
    [anon_sym_LT_LT] = ACTIONS(5190),
    [anon_sym_GT_GT] = ACTIONS(5190),
    [anon_sym_EQ_EQ] = ACTIONS(5192),
    [anon_sym_BANG_EQ] = ACTIONS(5188),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5188),
    [anon_sym_LT_EQ_GT] = ACTIONS(5188),
    [anon_sym_EQ_TILDE] = ACTIONS(5188),
    [anon_sym_BANG_TILDE] = ACTIONS(5188),
    [anon_sym_LT_EQ] = ACTIONS(5178),
    [anon_sym_GT] = ACTIONS(5178),
    [anon_sym_GT_EQ] = ACTIONS(5194),
    [anon_sym_CARET] = ACTIONS(5196),
    [anon_sym_PLUS] = ACTIONS(5198),
    [anon_sym_SLASH] = ACTIONS(5174),
    [anon_sym_PERCENT] = ACTIONS(5174),
    [sym_comment] = ACTIONS(110),
  },
  [5560] = {
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(8849),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym__line_break] = ACTIONS(692),
    [anon_sym_SEMI] = ACTIONS(692),
    [sym_comment] = ACTIONS(110),
  },
  [5561] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(8851),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11758),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5562] = {
    [sym__heredoc_body_middle] = ACTIONS(5290),
    [sym__heredoc_body_end] = ACTIONS(5290),
    [sym__element_reference_left_bracket] = ACTIONS(5290),
    [sym__scope_double_colon] = ACTIONS(5290),
    [sym__binary_minus] = ACTIONS(5290),
    [sym__binary_star] = ACTIONS(5290),
    [anon_sym_DOT] = ACTIONS(5292),
    [anon_sym_COMMA] = ACTIONS(5290),
    [anon_sym_PIPE] = ACTIONS(5292),
    [anon_sym_STAR_STAR] = ACTIONS(5290),
    [anon_sym_AMP] = ACTIONS(5292),
    [anon_sym_LT] = ACTIONS(5292),
    [anon_sym_if] = ACTIONS(5290),
    [anon_sym_unless] = ACTIONS(5290),
    [anon_sym_while] = ACTIONS(5290),
    [anon_sym_until] = ACTIONS(5290),
    [anon_sym_rescue] = ACTIONS(5290),
    [anon_sym_AMP_DOT] = ACTIONS(5290),
    [anon_sym_QMARK] = ACTIONS(5290),
    [anon_sym_DOT_DOT] = ACTIONS(5292),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5290),
    [anon_sym_and] = ACTIONS(5290),
    [anon_sym_or] = ACTIONS(5290),
    [anon_sym_PIPE_PIPE] = ACTIONS(5290),
    [anon_sym_AMP_AMP] = ACTIONS(5290),
    [anon_sym_LT_LT] = ACTIONS(5290),
    [anon_sym_GT_GT] = ACTIONS(5290),
    [anon_sym_EQ_EQ] = ACTIONS(5292),
    [anon_sym_BANG_EQ] = ACTIONS(5290),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5290),
    [anon_sym_LT_EQ_GT] = ACTIONS(5290),
    [anon_sym_EQ_TILDE] = ACTIONS(5290),
    [anon_sym_BANG_TILDE] = ACTIONS(5290),
    [anon_sym_LT_EQ] = ACTIONS(5292),
    [anon_sym_GT] = ACTIONS(5292),
    [anon_sym_GT_EQ] = ACTIONS(5290),
    [anon_sym_CARET] = ACTIONS(5290),
    [anon_sym_PLUS] = ACTIONS(5290),
    [anon_sym_SLASH] = ACTIONS(5290),
    [anon_sym_PERCENT] = ACTIONS(5290),
    [sym_comment] = ACTIONS(110),
  },
  [5563] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(8853),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11760),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5564] = {
    [sym__heredoc_body_middle] = ACTIONS(5290),
    [sym__heredoc_body_end] = ACTIONS(5290),
    [sym__element_reference_left_bracket] = ACTIONS(5290),
    [sym__scope_double_colon] = ACTIONS(5290),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__binary_minus] = ACTIONS(5290),
    [sym__binary_star] = ACTIONS(5290),
    [anon_sym_DOT] = ACTIONS(5292),
    [anon_sym_COMMA] = ACTIONS(5290),
    [anon_sym_PIPE] = ACTIONS(5292),
    [anon_sym_STAR_STAR] = ACTIONS(5290),
    [anon_sym_AMP] = ACTIONS(5292),
    [anon_sym_LT] = ACTIONS(5292),
    [anon_sym_if] = ACTIONS(5290),
    [anon_sym_unless] = ACTIONS(5290),
    [anon_sym_while] = ACTIONS(5290),
    [anon_sym_until] = ACTIONS(5290),
    [anon_sym_rescue] = ACTIONS(5290),
    [anon_sym_AMP_DOT] = ACTIONS(5290),
    [anon_sym_QMARK] = ACTIONS(5290),
    [anon_sym_DOT_DOT] = ACTIONS(5292),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5290),
    [anon_sym_and] = ACTIONS(5290),
    [anon_sym_or] = ACTIONS(5290),
    [anon_sym_PIPE_PIPE] = ACTIONS(5290),
    [anon_sym_AMP_AMP] = ACTIONS(5290),
    [anon_sym_LT_LT] = ACTIONS(5290),
    [anon_sym_GT_GT] = ACTIONS(5290),
    [anon_sym_EQ_EQ] = ACTIONS(5292),
    [anon_sym_BANG_EQ] = ACTIONS(5290),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5290),
    [anon_sym_LT_EQ_GT] = ACTIONS(5290),
    [anon_sym_EQ_TILDE] = ACTIONS(5290),
    [anon_sym_BANG_TILDE] = ACTIONS(5290),
    [anon_sym_LT_EQ] = ACTIONS(5292),
    [anon_sym_GT] = ACTIONS(5292),
    [anon_sym_GT_EQ] = ACTIONS(5290),
    [anon_sym_CARET] = ACTIONS(5290),
    [anon_sym_PLUS] = ACTIONS(5290),
    [anon_sym_SLASH] = ACTIONS(5290),
    [anon_sym_PERCENT] = ACTIONS(5290),
    [sym_comment] = ACTIONS(110),
  },
  [5565] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(11762),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [5566] = {
    [sym__statement] = STATE(8855),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [5567] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(11764),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [5568] = {
    [sym__statement] = STATE(8857),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [5569] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(11766),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [5570] = {
    [sym__statement] = STATE(8859),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [5571] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(11768),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [5572] = {
    [sym__statement] = STATE(8861),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [5573] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(11770),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [5574] = {
    [sym__statement] = STATE(8863),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [5575] = {
    [sym__simple_string] = ACTIONS(126),
    [sym__simple_heredoc_body] = ACTIONS(126),
    [sym__string_beginning] = ACTIONS(126),
    [sym__heredoc_body_beginning] = ACTIONS(126),
    [sym__heredoc_body_middle] = ACTIONS(126),
    [sym__heredoc_body_end] = ACTIONS(126),
    [sym__element_reference_left_bracket] = ACTIONS(126),
    [sym__scope_double_colon] = ACTIONS(126),
    [sym__binary_minus] = ACTIONS(126),
    [sym__binary_star] = ACTIONS(126),
    [anon_sym_DOT] = ACTIONS(128),
    [anon_sym_COMMA] = ACTIONS(126),
    [anon_sym_PIPE] = ACTIONS(128),
    [anon_sym_STAR_STAR] = ACTIONS(126),
    [anon_sym_AMP] = ACTIONS(128),
    [anon_sym_LT] = ACTIONS(128),
    [anon_sym_if] = ACTIONS(126),
    [anon_sym_unless] = ACTIONS(126),
    [anon_sym_while] = ACTIONS(126),
    [anon_sym_until] = ACTIONS(126),
    [anon_sym_rescue] = ACTIONS(126),
    [anon_sym_EQ_GT] = ACTIONS(126),
    [anon_sym_AMP_DOT] = ACTIONS(126),
    [anon_sym_QMARK] = ACTIONS(128),
    [anon_sym_DOT_DOT] = ACTIONS(128),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(126),
    [anon_sym_and] = ACTIONS(126),
    [anon_sym_or] = ACTIONS(126),
    [anon_sym_PIPE_PIPE] = ACTIONS(126),
    [anon_sym_AMP_AMP] = ACTIONS(126),
    [anon_sym_LT_LT] = ACTIONS(126),
    [anon_sym_GT_GT] = ACTIONS(126),
    [anon_sym_EQ_EQ] = ACTIONS(128),
    [anon_sym_BANG_EQ] = ACTIONS(126),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(126),
    [anon_sym_LT_EQ_GT] = ACTIONS(126),
    [anon_sym_EQ_TILDE] = ACTIONS(126),
    [anon_sym_BANG_TILDE] = ACTIONS(126),
    [anon_sym_LT_EQ] = ACTIONS(128),
    [anon_sym_GT] = ACTIONS(128),
    [anon_sym_GT_EQ] = ACTIONS(126),
    [anon_sym_CARET] = ACTIONS(126),
    [anon_sym_PLUS] = ACTIONS(126),
    [anon_sym_SLASH] = ACTIONS(126),
    [anon_sym_PERCENT] = ACTIONS(126),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(128),
  },
  [5576] = {
    [sym__statement] = STATE(8864),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(8865),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [5577] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(8866),
    [sym__primary] = STATE(5605),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(5606),
    [sym_scope_resolution] = STATE(5607),
    [sym_call] = STATE(5607),
    [sym_method_call] = STATE(5606),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(5608),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5609),
    [sym__variable] = STATE(5607),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(5598),
    [sym_true] = STATE(5606),
    [sym_false] = STATE(5606),
    [sym_self] = STATE(5598),
    [sym_nil] = STATE(5606),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(5610),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(7868),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__string_beginning] = ACTIONS(7870),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__unary_minus] = ACTIONS(7872),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(7874),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_COLON_COLON] = ACTIONS(7876),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(7878),
    [anon_sym_module] = ACTIONS(7880),
    [anon_sym_return] = ACTIONS(7882),
    [anon_sym_yield] = ACTIONS(7884),
    [anon_sym_break] = ACTIONS(7886),
    [anon_sym_next] = ACTIONS(7888),
    [anon_sym_redo] = ACTIONS(7890),
    [anon_sym_retry] = ACTIONS(7892),
    [anon_sym_if] = ACTIONS(7894),
    [anon_sym_unless] = ACTIONS(7896),
    [anon_sym_while] = ACTIONS(7898),
    [anon_sym_until] = ACTIONS(7900),
    [anon_sym_for] = ACTIONS(7902),
    [anon_sym_case] = ACTIONS(7904),
    [anon_sym_begin] = ACTIONS(7906),
    [anon_sym_PLUS] = ACTIONS(7908),
    [anon_sym_defined_QMARK] = ACTIONS(7910),
    [anon_sym_not] = ACTIONS(7912),
    [anon_sym_BANG] = ACTIONS(7914),
    [anon_sym_TILDE] = ACTIONS(7914),
    [sym_constant] = ACTIONS(7916),
    [sym_identifier] = ACTIONS(7916),
    [sym_instance_variable] = ACTIONS(7918),
    [sym_class_variable] = ACTIONS(7918),
    [sym_global_variable] = ACTIONS(7918),
    [anon_sym_false] = ACTIONS(7920),
    [anon_sym_nil] = ACTIONS(7922),
    [anon_sym_self] = ACTIONS(7924),
    [anon_sym_super] = ACTIONS(7926),
    [anon_sym_true] = ACTIONS(7928),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(7928),
    [anon_sym_FALSE] = ACTIONS(7920),
    [anon_sym_NIL] = ACTIONS(7922),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(7930),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [5578] = {
    [sym__method_rest] = STATE(5626),
    [sym__variable] = STATE(5627),
    [sym_operator] = STATE(217),
    [sym__method_name] = STATE(5628),
    [sym_setter] = STATE(217),
    [sym_symbol] = STATE(217),
    [sym_super] = STATE(219),
    [sym_self] = STATE(219),
    [sym__simple_symbol] = ACTIONS(378),
    [sym__symbol_beginning] = ACTIONS(380),
    [anon_sym_LPAREN] = ACTIONS(7954),
    [anon_sym_PIPE] = ACTIONS(384),
    [anon_sym_STAR] = ACTIONS(386),
    [anon_sym_STAR_STAR] = ACTIONS(384),
    [anon_sym_AMP] = ACTIONS(384),
    [anon_sym_LT] = ACTIONS(386),
    [anon_sym_DOT_DOT] = ACTIONS(384),
    [anon_sym_LT_LT] = ACTIONS(384),
    [anon_sym_GT_GT] = ACTIONS(384),
    [anon_sym_EQ_EQ] = ACTIONS(386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(384),
    [anon_sym_LT_EQ_GT] = ACTIONS(384),
    [anon_sym_EQ_TILDE] = ACTIONS(384),
    [anon_sym_BANG_TILDE] = ACTIONS(384),
    [anon_sym_LT_EQ] = ACTIONS(386),
    [anon_sym_GT] = ACTIONS(386),
    [anon_sym_GT_EQ] = ACTIONS(384),
    [anon_sym_CARET] = ACTIONS(384),
    [anon_sym_PLUS] = ACTIONS(386),
    [anon_sym_SLASH] = ACTIONS(384),
    [anon_sym_PERCENT] = ACTIONS(384),
    [anon_sym_BANG] = ACTIONS(386),
    [anon_sym_TILDE] = ACTIONS(384),
    [sym_constant] = ACTIONS(388),
    [sym_identifier] = ACTIONS(390),
    [sym_instance_variable] = ACTIONS(388),
    [sym_class_variable] = ACTIONS(388),
    [sym_global_variable] = ACTIONS(388),
    [anon_sym_self] = ACTIONS(392),
    [anon_sym_super] = ACTIONS(394),
    [anon_sym_DASH] = ACTIONS(386),
    [anon_sym_PLUS_AT] = ACTIONS(384),
    [anon_sym_DASH_AT] = ACTIONS(384),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(386),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(384),
    [anon_sym_BQUOTE] = ACTIONS(384),
    [sym_comment] = ACTIONS(110),
  },
  [5579] = {
    [sym_constant] = ACTIONS(11772),
    [sym_identifier] = ACTIONS(11772),
    [sym_comment] = ACTIONS(110),
  },
  [5580] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(293),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(5635),
    [sym_call] = STATE(295),
    [sym_method_call] = STATE(286),
    [sym__lhs] = STATE(255),
    [sym__variable] = STATE(295),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [sym__singleton_class_left_angle_left_langle] = ACTIONS(7960),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(458),
    [anon_sym_COLON_COLON] = ACTIONS(524),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(7962),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [5581] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(293),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(5637),
    [sym_call] = STATE(295),
    [sym_method_call] = STATE(286),
    [sym__lhs] = STATE(255),
    [sym__variable] = STATE(295),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(458),
    [anon_sym_COLON_COLON] = ACTIONS(524),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(7964),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [5582] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(2762),
    [sym__primary] = STATE(2763),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2765),
    [sym_call] = STATE(2765),
    [sym_method_call] = STATE(2764),
    [sym_argument_list] = STATE(5643),
    [sym__argument_list_with_parens] = STATE(2767),
    [sym__argument] = STATE(2768),
    [sym_splat_argument] = STATE(2769),
    [sym_hash_splat_argument] = STATE(2769),
    [sym_block_argument] = STATE(2769),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(2771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2772),
    [sym__variable] = STATE(2765),
    [sym_reserved_identifier] = STATE(2773),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(2774),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_pair] = STATE(2769),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(3984),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(3994),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym__heredoc_body_middle] = ACTIONS(532),
    [sym__heredoc_body_end] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(4006),
    [sym__splat_star] = ACTIONS(4008),
    [sym__argument_list_left_paren] = ACTIONS(4010),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(4012),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(4016),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(4022),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(4024),
    [anon_sym_return] = ACTIONS(4026),
    [anon_sym_yield] = ACTIONS(4028),
    [anon_sym_break] = ACTIONS(4030),
    [anon_sym_next] = ACTIONS(4032),
    [anon_sym_redo] = ACTIONS(4034),
    [anon_sym_retry] = ACTIONS(4036),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(4038),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(4040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(4042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(4044),
    [anon_sym_not] = ACTIONS(4046),
    [anon_sym_BANG] = ACTIONS(4048),
    [anon_sym_TILDE] = ACTIONS(4050),
    [sym_constant] = ACTIONS(4052),
    [sym_identifier] = ACTIONS(4052),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(4056),
    [anon_sym_nil] = ACTIONS(4058),
    [anon_sym_self] = ACTIONS(4060),
    [anon_sym_super] = ACTIONS(4062),
    [anon_sym_true] = ACTIONS(4064),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(4080),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [5583] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(2762),
    [sym__primary] = STATE(2763),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2765),
    [sym_call] = STATE(2765),
    [sym_method_call] = STATE(2764),
    [sym_argument_list] = STATE(5647),
    [sym__argument_list_with_parens] = STATE(2767),
    [sym__argument] = STATE(2768),
    [sym_splat_argument] = STATE(2769),
    [sym_hash_splat_argument] = STATE(2769),
    [sym_block_argument] = STATE(2769),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(2771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2772),
    [sym__variable] = STATE(2765),
    [sym_reserved_identifier] = STATE(2773),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(2774),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_pair] = STATE(2769),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(3984),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(3994),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym__heredoc_body_middle] = ACTIONS(602),
    [sym__heredoc_body_end] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(4006),
    [sym__splat_star] = ACTIONS(4008),
    [sym__argument_list_left_paren] = ACTIONS(4010),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(4012),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(4016),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(4022),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(4024),
    [anon_sym_return] = ACTIONS(4026),
    [anon_sym_yield] = ACTIONS(4028),
    [anon_sym_break] = ACTIONS(4030),
    [anon_sym_next] = ACTIONS(4032),
    [anon_sym_redo] = ACTIONS(4034),
    [anon_sym_retry] = ACTIONS(4036),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(4038),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(4040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(4042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(4044),
    [anon_sym_not] = ACTIONS(4046),
    [anon_sym_BANG] = ACTIONS(4048),
    [anon_sym_TILDE] = ACTIONS(4050),
    [sym_constant] = ACTIONS(4052),
    [sym_identifier] = ACTIONS(4052),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(4056),
    [anon_sym_nil] = ACTIONS(4058),
    [anon_sym_self] = ACTIONS(4060),
    [anon_sym_super] = ACTIONS(4062),
    [anon_sym_true] = ACTIONS(4064),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(4080),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [5584] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(2762),
    [sym__primary] = STATE(2763),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2765),
    [sym_call] = STATE(2765),
    [sym_method_call] = STATE(2764),
    [sym_argument_list] = STATE(5648),
    [sym__argument_list_with_parens] = STATE(2767),
    [sym__argument] = STATE(2768),
    [sym_splat_argument] = STATE(2769),
    [sym_hash_splat_argument] = STATE(2769),
    [sym_block_argument] = STATE(2769),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(2771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2772),
    [sym__variable] = STATE(2765),
    [sym_reserved_identifier] = STATE(2773),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(2774),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_pair] = STATE(2769),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(3984),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(3994),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym__heredoc_body_middle] = ACTIONS(606),
    [sym__heredoc_body_end] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(4006),
    [sym__splat_star] = ACTIONS(4008),
    [sym__argument_list_left_paren] = ACTIONS(4010),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(4012),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(4016),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(4022),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(4024),
    [anon_sym_return] = ACTIONS(4026),
    [anon_sym_yield] = ACTIONS(4028),
    [anon_sym_break] = ACTIONS(4030),
    [anon_sym_next] = ACTIONS(4032),
    [anon_sym_redo] = ACTIONS(4034),
    [anon_sym_retry] = ACTIONS(4036),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(4038),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(4040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(4042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(4044),
    [anon_sym_not] = ACTIONS(4046),
    [anon_sym_BANG] = ACTIONS(4048),
    [anon_sym_TILDE] = ACTIONS(4050),
    [sym_constant] = ACTIONS(4052),
    [sym_identifier] = ACTIONS(4052),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(4056),
    [anon_sym_nil] = ACTIONS(4058),
    [anon_sym_self] = ACTIONS(4060),
    [anon_sym_super] = ACTIONS(4062),
    [anon_sym_true] = ACTIONS(4064),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(4080),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [5585] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(2762),
    [sym__primary] = STATE(2763),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2765),
    [sym_call] = STATE(2765),
    [sym_method_call] = STATE(2764),
    [sym_argument_list] = STATE(5649),
    [sym__argument_list_with_parens] = STATE(2767),
    [sym__argument] = STATE(2768),
    [sym_splat_argument] = STATE(2769),
    [sym_hash_splat_argument] = STATE(2769),
    [sym_block_argument] = STATE(2769),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(2771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2772),
    [sym__variable] = STATE(2765),
    [sym_reserved_identifier] = STATE(2773),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(2774),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_pair] = STATE(2769),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(3984),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(3994),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym__heredoc_body_middle] = ACTIONS(610),
    [sym__heredoc_body_end] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(4006),
    [sym__splat_star] = ACTIONS(4008),
    [sym__argument_list_left_paren] = ACTIONS(4010),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(4012),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(4016),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(4022),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(4024),
    [anon_sym_return] = ACTIONS(4026),
    [anon_sym_yield] = ACTIONS(4028),
    [anon_sym_break] = ACTIONS(4030),
    [anon_sym_next] = ACTIONS(4032),
    [anon_sym_redo] = ACTIONS(4034),
    [anon_sym_retry] = ACTIONS(4036),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(4038),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(4040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(4042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(4044),
    [anon_sym_not] = ACTIONS(4046),
    [anon_sym_BANG] = ACTIONS(4048),
    [anon_sym_TILDE] = ACTIONS(4050),
    [sym_constant] = ACTIONS(4052),
    [sym_identifier] = ACTIONS(4052),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(4056),
    [anon_sym_nil] = ACTIONS(4058),
    [anon_sym_self] = ACTIONS(4060),
    [anon_sym_super] = ACTIONS(4062),
    [anon_sym_true] = ACTIONS(4064),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(4080),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [5586] = {
    [sym__simple_heredoc_body] = ACTIONS(614),
    [sym__heredoc_body_beginning] = ACTIONS(614),
    [sym__heredoc_body_middle] = ACTIONS(614),
    [sym__heredoc_body_end] = ACTIONS(614),
    [sym__element_reference_left_bracket] = ACTIONS(614),
    [sym__scope_double_colon] = ACTIONS(614),
    [sym__binary_minus] = ACTIONS(614),
    [sym__binary_star] = ACTIONS(614),
    [anon_sym_DOT] = ACTIONS(616),
    [anon_sym_COMMA] = ACTIONS(614),
    [anon_sym_PIPE] = ACTIONS(616),
    [anon_sym_STAR_STAR] = ACTIONS(614),
    [anon_sym_AMP] = ACTIONS(616),
    [anon_sym_LT] = ACTIONS(616),
    [anon_sym_if] = ACTIONS(614),
    [anon_sym_unless] = ACTIONS(614),
    [anon_sym_while] = ACTIONS(614),
    [anon_sym_until] = ACTIONS(614),
    [anon_sym_rescue] = ACTIONS(614),
    [anon_sym_EQ_GT] = ACTIONS(614),
    [anon_sym_AMP_DOT] = ACTIONS(614),
    [anon_sym_QMARK] = ACTIONS(614),
    [anon_sym_DOT_DOT] = ACTIONS(616),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(614),
    [anon_sym_and] = ACTIONS(614),
    [anon_sym_or] = ACTIONS(614),
    [anon_sym_PIPE_PIPE] = ACTIONS(614),
    [anon_sym_AMP_AMP] = ACTIONS(614),
    [anon_sym_LT_LT] = ACTIONS(614),
    [anon_sym_GT_GT] = ACTIONS(614),
    [anon_sym_EQ_EQ] = ACTIONS(616),
    [anon_sym_BANG_EQ] = ACTIONS(614),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(614),
    [anon_sym_LT_EQ_GT] = ACTIONS(614),
    [anon_sym_EQ_TILDE] = ACTIONS(614),
    [anon_sym_BANG_TILDE] = ACTIONS(614),
    [anon_sym_LT_EQ] = ACTIONS(616),
    [anon_sym_GT] = ACTIONS(616),
    [anon_sym_GT_EQ] = ACTIONS(614),
    [anon_sym_CARET] = ACTIONS(614),
    [anon_sym_PLUS] = ACTIONS(614),
    [anon_sym_SLASH] = ACTIONS(614),
    [anon_sym_PERCENT] = ACTIONS(614),
    [sym_comment] = ACTIONS(110),
  },
  [5587] = {
    [sym__simple_heredoc_body] = ACTIONS(618),
    [sym__heredoc_body_beginning] = ACTIONS(618),
    [sym__heredoc_body_middle] = ACTIONS(618),
    [sym__heredoc_body_end] = ACTIONS(618),
    [sym__element_reference_left_bracket] = ACTIONS(618),
    [sym__scope_double_colon] = ACTIONS(618),
    [sym__binary_minus] = ACTIONS(618),
    [sym__binary_star] = ACTIONS(618),
    [anon_sym_DOT] = ACTIONS(620),
    [anon_sym_COMMA] = ACTIONS(618),
    [anon_sym_PIPE] = ACTIONS(620),
    [anon_sym_STAR_STAR] = ACTIONS(618),
    [anon_sym_AMP] = ACTIONS(620),
    [anon_sym_LT] = ACTIONS(620),
    [anon_sym_if] = ACTIONS(618),
    [anon_sym_unless] = ACTIONS(618),
    [anon_sym_while] = ACTIONS(618),
    [anon_sym_until] = ACTIONS(618),
    [anon_sym_rescue] = ACTIONS(618),
    [anon_sym_EQ_GT] = ACTIONS(618),
    [anon_sym_AMP_DOT] = ACTIONS(618),
    [anon_sym_QMARK] = ACTIONS(618),
    [anon_sym_DOT_DOT] = ACTIONS(620),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(618),
    [anon_sym_and] = ACTIONS(618),
    [anon_sym_or] = ACTIONS(618),
    [anon_sym_PIPE_PIPE] = ACTIONS(618),
    [anon_sym_AMP_AMP] = ACTIONS(618),
    [anon_sym_LT_LT] = ACTIONS(618),
    [anon_sym_GT_GT] = ACTIONS(618),
    [anon_sym_EQ_EQ] = ACTIONS(620),
    [anon_sym_BANG_EQ] = ACTIONS(618),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(618),
    [anon_sym_LT_EQ_GT] = ACTIONS(618),
    [anon_sym_EQ_TILDE] = ACTIONS(618),
    [anon_sym_BANG_TILDE] = ACTIONS(618),
    [anon_sym_LT_EQ] = ACTIONS(620),
    [anon_sym_GT] = ACTIONS(620),
    [anon_sym_GT_EQ] = ACTIONS(618),
    [anon_sym_CARET] = ACTIONS(618),
    [anon_sym_PLUS] = ACTIONS(618),
    [anon_sym_SLASH] = ACTIONS(618),
    [anon_sym_PERCENT] = ACTIONS(618),
    [sym_comment] = ACTIONS(110),
  },
  [5588] = {
    [sym__statement] = STATE(5650),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(361),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5589] = {
    [sym__statement] = STATE(5651),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(361),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5590] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(5652),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5591] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(5653),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5592] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(285),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(381),
    [sym_call] = STATE(381),
    [sym_method_call] = STATE(286),
    [sym__mlhs] = STATE(5654),
    [sym__simple_mlhs] = STATE(383),
    [sym_destructured_left_assignment] = STATE(383),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(384),
    [sym__variable] = STATE(381),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(658),
    [anon_sym_COLON_COLON] = ACTIONS(460),
    [anon_sym_STAR] = ACTIONS(660),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(494),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [5593] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_when] = STATE(5655),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(5656),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(400),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(401),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(387),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__terminator] = STATE(402),
    [aux_sym_case_repeat1] = STATE(5657),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(666),
    [sym__unary_minus] = ACTIONS(668),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_when] = ACTIONS(678),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(680),
    [anon_sym_defined_QMARK] = ACTIONS(682),
    [anon_sym_not] = ACTIONS(684),
    [anon_sym_BANG] = ACTIONS(686),
    [anon_sym_TILDE] = ACTIONS(686),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5594] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(5659),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(5660),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(692),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(7972),
    [anon_sym_SEMI] = ACTIONS(698),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5595] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(8868),
    [sym__primary] = STATE(5605),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(5606),
    [sym_scope_resolution] = STATE(5607),
    [sym_call] = STATE(5607),
    [sym_method_call] = STATE(5606),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(5608),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5609),
    [sym__variable] = STATE(5607),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(5598),
    [sym_true] = STATE(5606),
    [sym_false] = STATE(5606),
    [sym_self] = STATE(5598),
    [sym_nil] = STATE(5606),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(5610),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(7868),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__string_beginning] = ACTIONS(7870),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__unary_minus] = ACTIONS(7872),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(7874),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_COLON_COLON] = ACTIONS(7876),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(7878),
    [anon_sym_module] = ACTIONS(7880),
    [anon_sym_return] = ACTIONS(7882),
    [anon_sym_yield] = ACTIONS(7884),
    [anon_sym_break] = ACTIONS(7886),
    [anon_sym_next] = ACTIONS(7888),
    [anon_sym_redo] = ACTIONS(7890),
    [anon_sym_retry] = ACTIONS(7892),
    [anon_sym_if] = ACTIONS(7894),
    [anon_sym_unless] = ACTIONS(7896),
    [anon_sym_while] = ACTIONS(7898),
    [anon_sym_until] = ACTIONS(7900),
    [anon_sym_for] = ACTIONS(7902),
    [anon_sym_case] = ACTIONS(7904),
    [anon_sym_begin] = ACTIONS(7906),
    [anon_sym_PLUS] = ACTIONS(7908),
    [anon_sym_defined_QMARK] = ACTIONS(7910),
    [anon_sym_not] = ACTIONS(7912),
    [anon_sym_BANG] = ACTIONS(7914),
    [anon_sym_TILDE] = ACTIONS(7914),
    [sym_constant] = ACTIONS(7916),
    [sym_identifier] = ACTIONS(7916),
    [sym_instance_variable] = ACTIONS(7918),
    [sym_class_variable] = ACTIONS(7918),
    [sym_global_variable] = ACTIONS(7918),
    [anon_sym_false] = ACTIONS(7920),
    [anon_sym_nil] = ACTIONS(7922),
    [anon_sym_self] = ACTIONS(7924),
    [anon_sym_super] = ACTIONS(7926),
    [anon_sym_true] = ACTIONS(7928),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(7928),
    [anon_sym_FALSE] = ACTIONS(7920),
    [anon_sym_NIL] = ACTIONS(7922),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(7930),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [5596] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(8869),
    [sym__primary] = STATE(5605),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(5606),
    [sym_scope_resolution] = STATE(5607),
    [sym_call] = STATE(5607),
    [sym_method_call] = STATE(5606),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(5608),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5609),
    [sym__variable] = STATE(5607),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(5598),
    [sym_true] = STATE(5606),
    [sym_false] = STATE(5606),
    [sym_self] = STATE(5598),
    [sym_nil] = STATE(5606),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(5610),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(7868),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__string_beginning] = ACTIONS(7870),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__unary_minus] = ACTIONS(7872),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(7874),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_COLON_COLON] = ACTIONS(7876),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(7878),
    [anon_sym_module] = ACTIONS(7880),
    [anon_sym_return] = ACTIONS(7882),
    [anon_sym_yield] = ACTIONS(7884),
    [anon_sym_break] = ACTIONS(7886),
    [anon_sym_next] = ACTIONS(7888),
    [anon_sym_redo] = ACTIONS(7890),
    [anon_sym_retry] = ACTIONS(7892),
    [anon_sym_if] = ACTIONS(7894),
    [anon_sym_unless] = ACTIONS(7896),
    [anon_sym_while] = ACTIONS(7898),
    [anon_sym_until] = ACTIONS(7900),
    [anon_sym_for] = ACTIONS(7902),
    [anon_sym_case] = ACTIONS(7904),
    [anon_sym_begin] = ACTIONS(7906),
    [anon_sym_PLUS] = ACTIONS(7908),
    [anon_sym_defined_QMARK] = ACTIONS(7910),
    [anon_sym_not] = ACTIONS(7912),
    [anon_sym_BANG] = ACTIONS(7914),
    [anon_sym_TILDE] = ACTIONS(7914),
    [sym_constant] = ACTIONS(7916),
    [sym_identifier] = ACTIONS(7916),
    [sym_instance_variable] = ACTIONS(7918),
    [sym_class_variable] = ACTIONS(7918),
    [sym_global_variable] = ACTIONS(7918),
    [anon_sym_false] = ACTIONS(7920),
    [anon_sym_nil] = ACTIONS(7922),
    [anon_sym_self] = ACTIONS(7924),
    [anon_sym_super] = ACTIONS(7926),
    [anon_sym_true] = ACTIONS(7928),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(7928),
    [anon_sym_FALSE] = ACTIONS(7920),
    [anon_sym_NIL] = ACTIONS(7922),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(7930),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [5597] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(5663),
    [sym__primary] = STATE(5605),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(5606),
    [sym_scope_resolution] = STATE(5607),
    [sym_call] = STATE(5607),
    [sym_method_call] = STATE(5606),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(5608),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5609),
    [sym__variable] = STATE(5607),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(5598),
    [sym_true] = STATE(5606),
    [sym_false] = STATE(5606),
    [sym_self] = STATE(5598),
    [sym_nil] = STATE(5606),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(5610),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(7868),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__string_beginning] = ACTIONS(7870),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__unary_minus] = ACTIONS(7872),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(7874),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_COLON_COLON] = ACTIONS(7876),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(7878),
    [anon_sym_module] = ACTIONS(7880),
    [anon_sym_return] = ACTIONS(7882),
    [anon_sym_yield] = ACTIONS(7884),
    [anon_sym_break] = ACTIONS(7886),
    [anon_sym_next] = ACTIONS(7888),
    [anon_sym_redo] = ACTIONS(7890),
    [anon_sym_retry] = ACTIONS(7892),
    [anon_sym_if] = ACTIONS(7894),
    [anon_sym_unless] = ACTIONS(7896),
    [anon_sym_while] = ACTIONS(7898),
    [anon_sym_until] = ACTIONS(7900),
    [anon_sym_for] = ACTIONS(7902),
    [anon_sym_case] = ACTIONS(7904),
    [anon_sym_begin] = ACTIONS(7906),
    [anon_sym_PLUS] = ACTIONS(7908),
    [anon_sym_defined_QMARK] = ACTIONS(7910),
    [anon_sym_not] = ACTIONS(7912),
    [anon_sym_BANG] = ACTIONS(7914),
    [anon_sym_TILDE] = ACTIONS(7914),
    [sym_constant] = ACTIONS(7916),
    [sym_identifier] = ACTIONS(7916),
    [sym_instance_variable] = ACTIONS(7918),
    [sym_class_variable] = ACTIONS(7918),
    [sym_global_variable] = ACTIONS(7918),
    [anon_sym_false] = ACTIONS(7920),
    [anon_sym_nil] = ACTIONS(7922),
    [anon_sym_self] = ACTIONS(7924),
    [anon_sym_super] = ACTIONS(7926),
    [anon_sym_true] = ACTIONS(7928),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(7928),
    [anon_sym_FALSE] = ACTIONS(7920),
    [anon_sym_NIL] = ACTIONS(7922),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(7930),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [5598] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym__heredoc_body_middle] = ACTIONS(722),
    [sym__heredoc_body_end] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [5599] = {
    [sym__simple_heredoc_body] = ACTIONS(740),
    [sym__heredoc_body_beginning] = ACTIONS(740),
    [sym__heredoc_body_middle] = ACTIONS(740),
    [sym__heredoc_body_end] = ACTIONS(740),
    [sym__element_reference_left_bracket] = ACTIONS(740),
    [sym__scope_double_colon] = ACTIONS(740),
    [sym__binary_minus] = ACTIONS(740),
    [sym__binary_star] = ACTIONS(740),
    [anon_sym_LBRACE] = ACTIONS(740),
    [anon_sym_DOT] = ACTIONS(742),
    [anon_sym_COMMA] = ACTIONS(740),
    [anon_sym_PIPE] = ACTIONS(742),
    [anon_sym_STAR_STAR] = ACTIONS(742),
    [anon_sym_AMP] = ACTIONS(742),
    [anon_sym_EQ] = ACTIONS(742),
    [anon_sym_LT] = ACTIONS(742),
    [anon_sym_if] = ACTIONS(740),
    [anon_sym_unless] = ACTIONS(740),
    [anon_sym_while] = ACTIONS(740),
    [anon_sym_until] = ACTIONS(740),
    [anon_sym_rescue] = ACTIONS(740),
    [anon_sym_do] = ACTIONS(740),
    [anon_sym_AMP_DOT] = ACTIONS(740),
    [anon_sym_PLUS_EQ] = ACTIONS(740),
    [anon_sym_DASH_EQ] = ACTIONS(740),
    [anon_sym_STAR_EQ] = ACTIONS(740),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(740),
    [anon_sym_SLASH_EQ] = ACTIONS(740),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(740),
    [anon_sym_PIPE_EQ] = ACTIONS(740),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(740),
    [anon_sym_AMP_EQ] = ACTIONS(740),
    [anon_sym_PERCENT_EQ] = ACTIONS(740),
    [anon_sym_GT_GT_EQ] = ACTIONS(740),
    [anon_sym_LT_LT_EQ] = ACTIONS(740),
    [anon_sym_CARET_EQ] = ACTIONS(740),
    [anon_sym_QMARK] = ACTIONS(740),
    [anon_sym_DOT_DOT] = ACTIONS(742),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(740),
    [anon_sym_and] = ACTIONS(740),
    [anon_sym_or] = ACTIONS(740),
    [anon_sym_PIPE_PIPE] = ACTIONS(742),
    [anon_sym_AMP_AMP] = ACTIONS(742),
    [anon_sym_LT_LT] = ACTIONS(742),
    [anon_sym_GT_GT] = ACTIONS(742),
    [anon_sym_EQ_EQ] = ACTIONS(742),
    [anon_sym_BANG_EQ] = ACTIONS(740),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(740),
    [anon_sym_LT_EQ_GT] = ACTIONS(740),
    [anon_sym_EQ_TILDE] = ACTIONS(740),
    [anon_sym_BANG_TILDE] = ACTIONS(740),
    [anon_sym_LT_EQ] = ACTIONS(742),
    [anon_sym_GT] = ACTIONS(742),
    [anon_sym_GT_EQ] = ACTIONS(740),
    [anon_sym_CARET] = ACTIONS(742),
    [anon_sym_PLUS] = ACTIONS(742),
    [anon_sym_SLASH] = ACTIONS(742),
    [anon_sym_PERCENT] = ACTIONS(742),
    [sym_comment] = ACTIONS(256),
  },
  [5600] = {
    [sym__simple_heredoc_body] = ACTIONS(744),
    [sym__heredoc_body_beginning] = ACTIONS(744),
    [sym__heredoc_body_middle] = ACTIONS(744),
    [sym__heredoc_body_end] = ACTIONS(744),
    [sym__element_reference_left_bracket] = ACTIONS(744),
    [sym__scope_double_colon] = ACTIONS(744),
    [sym__binary_minus] = ACTIONS(744),
    [sym__binary_star] = ACTIONS(744),
    [anon_sym_LBRACE] = ACTIONS(744),
    [anon_sym_DOT] = ACTIONS(746),
    [anon_sym_COMMA] = ACTIONS(744),
    [anon_sym_PIPE] = ACTIONS(746),
    [anon_sym_STAR_STAR] = ACTIONS(746),
    [anon_sym_AMP] = ACTIONS(746),
    [anon_sym_EQ] = ACTIONS(746),
    [anon_sym_LT] = ACTIONS(746),
    [anon_sym_if] = ACTIONS(744),
    [anon_sym_unless] = ACTIONS(744),
    [anon_sym_while] = ACTIONS(744),
    [anon_sym_until] = ACTIONS(744),
    [anon_sym_rescue] = ACTIONS(744),
    [anon_sym_do] = ACTIONS(744),
    [anon_sym_AMP_DOT] = ACTIONS(744),
    [anon_sym_PLUS_EQ] = ACTIONS(744),
    [anon_sym_DASH_EQ] = ACTIONS(744),
    [anon_sym_STAR_EQ] = ACTIONS(744),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(744),
    [anon_sym_SLASH_EQ] = ACTIONS(744),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(744),
    [anon_sym_PIPE_EQ] = ACTIONS(744),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(744),
    [anon_sym_AMP_EQ] = ACTIONS(744),
    [anon_sym_PERCENT_EQ] = ACTIONS(744),
    [anon_sym_GT_GT_EQ] = ACTIONS(744),
    [anon_sym_LT_LT_EQ] = ACTIONS(744),
    [anon_sym_CARET_EQ] = ACTIONS(744),
    [anon_sym_QMARK] = ACTIONS(744),
    [anon_sym_DOT_DOT] = ACTIONS(746),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(744),
    [anon_sym_and] = ACTIONS(744),
    [anon_sym_or] = ACTIONS(744),
    [anon_sym_PIPE_PIPE] = ACTIONS(746),
    [anon_sym_AMP_AMP] = ACTIONS(746),
    [anon_sym_LT_LT] = ACTIONS(746),
    [anon_sym_GT_GT] = ACTIONS(746),
    [anon_sym_EQ_EQ] = ACTIONS(746),
    [anon_sym_BANG_EQ] = ACTIONS(744),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(744),
    [anon_sym_LT_EQ_GT] = ACTIONS(744),
    [anon_sym_EQ_TILDE] = ACTIONS(744),
    [anon_sym_BANG_TILDE] = ACTIONS(744),
    [anon_sym_LT_EQ] = ACTIONS(746),
    [anon_sym_GT] = ACTIONS(746),
    [anon_sym_GT_EQ] = ACTIONS(744),
    [anon_sym_CARET] = ACTIONS(746),
    [anon_sym_PLUS] = ACTIONS(746),
    [anon_sym_SLASH] = ACTIONS(746),
    [anon_sym_PERCENT] = ACTIONS(746),
    [sym_comment] = ACTIONS(256),
  },
  [5601] = {
    [sym__simple_string] = ACTIONS(748),
    [sym__simple_symbol] = ACTIONS(748),
    [sym__simple_subshell] = ACTIONS(748),
    [sym__simple_regex] = ACTIONS(748),
    [sym__simple_word_list] = ACTIONS(748),
    [sym__simple_heredoc_body] = ACTIONS(748),
    [sym__string_beginning] = ACTIONS(748),
    [sym__symbol_beginning] = ACTIONS(748),
    [sym__subshell_beginning] = ACTIONS(748),
    [sym__regex_beginning] = ACTIONS(748),
    [sym__word_list_beginning] = ACTIONS(748),
    [sym__heredoc_body_beginning] = ACTIONS(748),
    [sym__heredoc_body_middle] = ACTIONS(748),
    [sym__heredoc_body_end] = ACTIONS(748),
    [sym_heredoc_beginning] = ACTIONS(748),
    [sym__element_reference_left_bracket] = ACTIONS(748),
    [sym__block_ampersand] = ACTIONS(748),
    [sym__splat_star] = ACTIONS(748),
    [sym__argument_list_left_paren] = ACTIONS(748),
    [sym__scope_double_colon] = ACTIONS(748),
    [sym__unary_minus] = ACTIONS(748),
    [sym__binary_minus] = ACTIONS(748),
    [sym__binary_star] = ACTIONS(748),
    [anon_sym_LBRACE] = ACTIONS(748),
    [anon_sym_def] = ACTIONS(750),
    [anon_sym_LPAREN] = ACTIONS(748),
    [anon_sym_DOT] = ACTIONS(750),
    [anon_sym_COLON_COLON] = ACTIONS(748),
    [anon_sym_end] = ACTIONS(750),
    [anon_sym_COMMA] = ACTIONS(748),
    [anon_sym_PIPE] = ACTIONS(750),
    [anon_sym_STAR] = ACTIONS(750),
    [anon_sym_STAR_STAR] = ACTIONS(750),
    [anon_sym_AMP] = ACTIONS(750),
    [anon_sym_EQ] = ACTIONS(750),
    [anon_sym_class] = ACTIONS(750),
    [anon_sym_LT] = ACTIONS(750),
    [anon_sym_module] = ACTIONS(750),
    [anon_sym_return] = ACTIONS(750),
    [anon_sym_yield] = ACTIONS(750),
    [anon_sym_break] = ACTIONS(750),
    [anon_sym_next] = ACTIONS(750),
    [anon_sym_redo] = ACTIONS(750),
    [anon_sym_retry] = ACTIONS(750),
    [anon_sym_if] = ACTIONS(750),
    [anon_sym_unless] = ACTIONS(750),
    [anon_sym_while] = ACTIONS(750),
    [anon_sym_until] = ACTIONS(750),
    [anon_sym_rescue] = ACTIONS(750),
    [anon_sym_for] = ACTIONS(750),
    [anon_sym_in] = ACTIONS(750),
    [anon_sym_do] = ACTIONS(750),
    [anon_sym_case] = ACTIONS(750),
    [anon_sym_when] = ACTIONS(750),
    [anon_sym_elsif] = ACTIONS(750),
    [anon_sym_else] = ACTIONS(750),
    [anon_sym_then] = ACTIONS(750),
    [anon_sym_begin] = ACTIONS(750),
    [anon_sym_ensure] = ACTIONS(750),
    [anon_sym_AMP_DOT] = ACTIONS(748),
    [anon_sym_PLUS_EQ] = ACTIONS(748),
    [anon_sym_DASH_EQ] = ACTIONS(748),
    [anon_sym_STAR_EQ] = ACTIONS(748),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(748),
    [anon_sym_SLASH_EQ] = ACTIONS(748),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(748),
    [anon_sym_PIPE_EQ] = ACTIONS(748),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(748),
    [anon_sym_AMP_EQ] = ACTIONS(748),
    [anon_sym_PERCENT_EQ] = ACTIONS(748),
    [anon_sym_GT_GT_EQ] = ACTIONS(748),
    [anon_sym_LT_LT_EQ] = ACTIONS(748),
    [anon_sym_CARET_EQ] = ACTIONS(748),
    [anon_sym_QMARK] = ACTIONS(750),
    [anon_sym_DOT_DOT] = ACTIONS(750),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(748),
    [anon_sym_and] = ACTIONS(750),
    [anon_sym_or] = ACTIONS(750),
    [anon_sym_PIPE_PIPE] = ACTIONS(750),
    [anon_sym_AMP_AMP] = ACTIONS(750),
    [anon_sym_LT_LT] = ACTIONS(750),
    [anon_sym_GT_GT] = ACTIONS(750),
    [anon_sym_EQ_EQ] = ACTIONS(750),
    [anon_sym_BANG_EQ] = ACTIONS(748),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(748),
    [anon_sym_LT_EQ_GT] = ACTIONS(748),
    [anon_sym_EQ_TILDE] = ACTIONS(748),
    [anon_sym_BANG_TILDE] = ACTIONS(748),
    [anon_sym_LT_EQ] = ACTIONS(750),
    [anon_sym_GT] = ACTIONS(750),
    [anon_sym_GT_EQ] = ACTIONS(748),
    [anon_sym_CARET] = ACTIONS(750),
    [anon_sym_PLUS] = ACTIONS(750),
    [anon_sym_SLASH] = ACTIONS(750),
    [anon_sym_PERCENT] = ACTIONS(750),
    [anon_sym_defined_QMARK] = ACTIONS(748),
    [anon_sym_not] = ACTIONS(750),
    [anon_sym_BANG] = ACTIONS(750),
    [anon_sym_TILDE] = ACTIONS(748),
    [sym_constant] = ACTIONS(752),
    [sym_identifier] = ACTIONS(752),
    [sym_instance_variable] = ACTIONS(750),
    [sym_class_variable] = ACTIONS(750),
    [sym_global_variable] = ACTIONS(750),
    [anon_sym_alias] = ACTIONS(750),
    [anon_sym_defined] = ACTIONS(750),
    [anon_sym_false] = ACTIONS(750),
    [anon_sym_nil] = ACTIONS(750),
    [anon_sym_self] = ACTIONS(750),
    [anon_sym_super] = ACTIONS(750),
    [anon_sym_true] = ACTIONS(750),
    [anon_sym_undef] = ACTIONS(750),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(750),
    [sym_float] = ACTIONS(752),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(748),
    [anon_sym_TRUE] = ACTIONS(750),
    [anon_sym_FALSE] = ACTIONS(750),
    [anon_sym_NIL] = ACTIONS(750),
    [sym_keyword__FILE__] = ACTIONS(750),
    [sym_keyword__LINE__] = ACTIONS(750),
    [sym_keyword__ENCODING__] = ACTIONS(750),
    [sym__character_literal] = ACTIONS(750),
    [anon_sym_LBRACK] = ACTIONS(748),
    [anon_sym_DASH_GT] = ACTIONS(748),
  },
  [5602] = {
    [sym__simple_string] = ACTIONS(754),
    [sym__simple_symbol] = ACTIONS(754),
    [sym__simple_subshell] = ACTIONS(754),
    [sym__simple_regex] = ACTIONS(754),
    [sym__simple_word_list] = ACTIONS(754),
    [sym__simple_heredoc_body] = ACTIONS(754),
    [sym__string_beginning] = ACTIONS(754),
    [sym__symbol_beginning] = ACTIONS(754),
    [sym__subshell_beginning] = ACTIONS(754),
    [sym__regex_beginning] = ACTIONS(754),
    [sym__word_list_beginning] = ACTIONS(754),
    [sym__heredoc_body_beginning] = ACTIONS(754),
    [sym__heredoc_body_middle] = ACTIONS(754),
    [sym__heredoc_body_end] = ACTIONS(754),
    [sym_heredoc_beginning] = ACTIONS(754),
    [sym__element_reference_left_bracket] = ACTIONS(754),
    [sym__block_ampersand] = ACTIONS(754),
    [sym__splat_star] = ACTIONS(754),
    [sym__argument_list_left_paren] = ACTIONS(754),
    [sym__scope_double_colon] = ACTIONS(754),
    [sym__unary_minus] = ACTIONS(754),
    [sym__binary_minus] = ACTIONS(754),
    [sym__binary_star] = ACTIONS(754),
    [anon_sym_LBRACE] = ACTIONS(754),
    [anon_sym_def] = ACTIONS(756),
    [anon_sym_LPAREN] = ACTIONS(754),
    [anon_sym_DOT] = ACTIONS(756),
    [anon_sym_COLON_COLON] = ACTIONS(754),
    [anon_sym_end] = ACTIONS(756),
    [anon_sym_COMMA] = ACTIONS(754),
    [anon_sym_PIPE] = ACTIONS(756),
    [anon_sym_STAR] = ACTIONS(756),
    [anon_sym_STAR_STAR] = ACTIONS(756),
    [anon_sym_AMP] = ACTIONS(756),
    [anon_sym_EQ] = ACTIONS(756),
    [anon_sym_class] = ACTIONS(756),
    [anon_sym_LT] = ACTIONS(756),
    [anon_sym_module] = ACTIONS(756),
    [anon_sym_return] = ACTIONS(756),
    [anon_sym_yield] = ACTIONS(756),
    [anon_sym_break] = ACTIONS(756),
    [anon_sym_next] = ACTIONS(756),
    [anon_sym_redo] = ACTIONS(756),
    [anon_sym_retry] = ACTIONS(756),
    [anon_sym_if] = ACTIONS(756),
    [anon_sym_unless] = ACTIONS(756),
    [anon_sym_while] = ACTIONS(756),
    [anon_sym_until] = ACTIONS(756),
    [anon_sym_rescue] = ACTIONS(756),
    [anon_sym_for] = ACTIONS(756),
    [anon_sym_in] = ACTIONS(756),
    [anon_sym_do] = ACTIONS(756),
    [anon_sym_case] = ACTIONS(756),
    [anon_sym_when] = ACTIONS(756),
    [anon_sym_elsif] = ACTIONS(756),
    [anon_sym_else] = ACTIONS(756),
    [anon_sym_then] = ACTIONS(756),
    [anon_sym_begin] = ACTIONS(756),
    [anon_sym_ensure] = ACTIONS(756),
    [anon_sym_AMP_DOT] = ACTIONS(754),
    [anon_sym_PLUS_EQ] = ACTIONS(754),
    [anon_sym_DASH_EQ] = ACTIONS(754),
    [anon_sym_STAR_EQ] = ACTIONS(754),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(754),
    [anon_sym_SLASH_EQ] = ACTIONS(754),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(754),
    [anon_sym_PIPE_EQ] = ACTIONS(754),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(754),
    [anon_sym_AMP_EQ] = ACTIONS(754),
    [anon_sym_PERCENT_EQ] = ACTIONS(754),
    [anon_sym_GT_GT_EQ] = ACTIONS(754),
    [anon_sym_LT_LT_EQ] = ACTIONS(754),
    [anon_sym_CARET_EQ] = ACTIONS(754),
    [anon_sym_QMARK] = ACTIONS(756),
    [anon_sym_DOT_DOT] = ACTIONS(756),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(754),
    [anon_sym_and] = ACTIONS(756),
    [anon_sym_or] = ACTIONS(756),
    [anon_sym_PIPE_PIPE] = ACTIONS(756),
    [anon_sym_AMP_AMP] = ACTIONS(756),
    [anon_sym_LT_LT] = ACTIONS(756),
    [anon_sym_GT_GT] = ACTIONS(756),
    [anon_sym_EQ_EQ] = ACTIONS(756),
    [anon_sym_BANG_EQ] = ACTIONS(754),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(754),
    [anon_sym_LT_EQ_GT] = ACTIONS(754),
    [anon_sym_EQ_TILDE] = ACTIONS(754),
    [anon_sym_BANG_TILDE] = ACTIONS(754),
    [anon_sym_LT_EQ] = ACTIONS(756),
    [anon_sym_GT] = ACTIONS(756),
    [anon_sym_GT_EQ] = ACTIONS(754),
    [anon_sym_CARET] = ACTIONS(756),
    [anon_sym_PLUS] = ACTIONS(756),
    [anon_sym_SLASH] = ACTIONS(756),
    [anon_sym_PERCENT] = ACTIONS(756),
    [anon_sym_defined_QMARK] = ACTIONS(754),
    [anon_sym_not] = ACTIONS(756),
    [anon_sym_BANG] = ACTIONS(756),
    [anon_sym_TILDE] = ACTIONS(754),
    [sym_constant] = ACTIONS(758),
    [sym_identifier] = ACTIONS(758),
    [sym_instance_variable] = ACTIONS(756),
    [sym_class_variable] = ACTIONS(756),
    [sym_global_variable] = ACTIONS(756),
    [anon_sym_alias] = ACTIONS(756),
    [anon_sym_defined] = ACTIONS(756),
    [anon_sym_false] = ACTIONS(756),
    [anon_sym_nil] = ACTIONS(756),
    [anon_sym_self] = ACTIONS(756),
    [anon_sym_super] = ACTIONS(756),
    [anon_sym_true] = ACTIONS(756),
    [anon_sym_undef] = ACTIONS(756),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(756),
    [sym_float] = ACTIONS(758),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(754),
    [anon_sym_TRUE] = ACTIONS(756),
    [anon_sym_FALSE] = ACTIONS(756),
    [anon_sym_NIL] = ACTIONS(756),
    [sym_keyword__FILE__] = ACTIONS(756),
    [sym_keyword__LINE__] = ACTIONS(756),
    [sym_keyword__ENCODING__] = ACTIONS(756),
    [sym__character_literal] = ACTIONS(756),
    [anon_sym_LBRACK] = ACTIONS(754),
    [anon_sym_DASH_GT] = ACTIONS(754),
  },
  [5603] = {
    [sym__simple_heredoc_body] = ACTIONS(760),
    [sym__heredoc_body_beginning] = ACTIONS(760),
    [sym__heredoc_body_middle] = ACTIONS(760),
    [sym__heredoc_body_end] = ACTIONS(760),
    [sym__element_reference_left_bracket] = ACTIONS(760),
    [sym__scope_double_colon] = ACTIONS(760),
    [sym__binary_minus] = ACTIONS(760),
    [sym__binary_star] = ACTIONS(760),
    [anon_sym_LBRACE] = ACTIONS(760),
    [anon_sym_DOT] = ACTIONS(762),
    [anon_sym_COMMA] = ACTIONS(760),
    [anon_sym_PIPE] = ACTIONS(762),
    [anon_sym_STAR_STAR] = ACTIONS(762),
    [anon_sym_AMP] = ACTIONS(762),
    [anon_sym_EQ] = ACTIONS(762),
    [anon_sym_LT] = ACTIONS(762),
    [anon_sym_if] = ACTIONS(760),
    [anon_sym_unless] = ACTIONS(760),
    [anon_sym_while] = ACTIONS(760),
    [anon_sym_until] = ACTIONS(760),
    [anon_sym_rescue] = ACTIONS(760),
    [anon_sym_do] = ACTIONS(760),
    [anon_sym_AMP_DOT] = ACTIONS(760),
    [anon_sym_PLUS_EQ] = ACTIONS(760),
    [anon_sym_DASH_EQ] = ACTIONS(760),
    [anon_sym_STAR_EQ] = ACTIONS(760),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(760),
    [anon_sym_SLASH_EQ] = ACTIONS(760),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(760),
    [anon_sym_PIPE_EQ] = ACTIONS(760),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(760),
    [anon_sym_AMP_EQ] = ACTIONS(760),
    [anon_sym_PERCENT_EQ] = ACTIONS(760),
    [anon_sym_GT_GT_EQ] = ACTIONS(760),
    [anon_sym_LT_LT_EQ] = ACTIONS(760),
    [anon_sym_CARET_EQ] = ACTIONS(760),
    [anon_sym_QMARK] = ACTIONS(760),
    [anon_sym_DOT_DOT] = ACTIONS(762),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(760),
    [anon_sym_and] = ACTIONS(760),
    [anon_sym_or] = ACTIONS(760),
    [anon_sym_PIPE_PIPE] = ACTIONS(762),
    [anon_sym_AMP_AMP] = ACTIONS(762),
    [anon_sym_LT_LT] = ACTIONS(762),
    [anon_sym_GT_GT] = ACTIONS(762),
    [anon_sym_EQ_EQ] = ACTIONS(762),
    [anon_sym_BANG_EQ] = ACTIONS(760),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(760),
    [anon_sym_LT_EQ_GT] = ACTIONS(760),
    [anon_sym_EQ_TILDE] = ACTIONS(760),
    [anon_sym_BANG_TILDE] = ACTIONS(760),
    [anon_sym_LT_EQ] = ACTIONS(762),
    [anon_sym_GT] = ACTIONS(762),
    [anon_sym_GT_EQ] = ACTIONS(760),
    [anon_sym_CARET] = ACTIONS(762),
    [anon_sym_PLUS] = ACTIONS(762),
    [anon_sym_SLASH] = ACTIONS(762),
    [anon_sym_PERCENT] = ACTIONS(762),
    [sym_comment] = ACTIONS(256),
  },
  [5604] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__heredoc_body_middle] = ACTIONS(5298),
    [sym__heredoc_body_end] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(11774),
    [sym__binary_star] = ACTIONS(11776),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(11778),
    [anon_sym_STAR_STAR] = ACTIONS(11780),
    [anon_sym_AMP] = ACTIONS(11782),
    [anon_sym_LT] = ACTIONS(11784),
    [anon_sym_if] = ACTIONS(5298),
    [anon_sym_unless] = ACTIONS(5298),
    [anon_sym_while] = ACTIONS(5298),
    [anon_sym_until] = ACTIONS(5298),
    [anon_sym_rescue] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(11786),
    [anon_sym_DOT_DOT] = ACTIONS(11788),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11790),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(11792),
    [anon_sym_AMP_AMP] = ACTIONS(11792),
    [anon_sym_LT_LT] = ACTIONS(11794),
    [anon_sym_GT_GT] = ACTIONS(11794),
    [anon_sym_EQ_EQ] = ACTIONS(11796),
    [anon_sym_BANG_EQ] = ACTIONS(11792),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11792),
    [anon_sym_LT_EQ_GT] = ACTIONS(11792),
    [anon_sym_EQ_TILDE] = ACTIONS(11792),
    [anon_sym_BANG_TILDE] = ACTIONS(11792),
    [anon_sym_LT_EQ] = ACTIONS(11784),
    [anon_sym_GT] = ACTIONS(11784),
    [anon_sym_GT_EQ] = ACTIONS(11798),
    [anon_sym_CARET] = ACTIONS(11800),
    [anon_sym_PLUS] = ACTIONS(11802),
    [anon_sym_SLASH] = ACTIONS(11780),
    [anon_sym_PERCENT] = ACTIONS(11780),
    [sym_comment] = ACTIONS(110),
  },
  [5605] = {
    [sym__simple_heredoc_body] = ACTIONS(968),
    [sym__heredoc_body_beginning] = ACTIONS(968),
    [sym__heredoc_body_middle] = ACTIONS(968),
    [sym__heredoc_body_end] = ACTIONS(968),
    [sym__element_reference_left_bracket] = ACTIONS(11804),
    [sym__scope_double_colon] = ACTIONS(11806),
    [sym__binary_minus] = ACTIONS(968),
    [sym__binary_star] = ACTIONS(968),
    [anon_sym_DOT] = ACTIONS(11808),
    [anon_sym_COMMA] = ACTIONS(968),
    [anon_sym_PIPE] = ACTIONS(976),
    [anon_sym_STAR_STAR] = ACTIONS(968),
    [anon_sym_AMP] = ACTIONS(976),
    [anon_sym_LT] = ACTIONS(976),
    [anon_sym_if] = ACTIONS(968),
    [anon_sym_unless] = ACTIONS(968),
    [anon_sym_while] = ACTIONS(968),
    [anon_sym_until] = ACTIONS(968),
    [anon_sym_rescue] = ACTIONS(968),
    [anon_sym_AMP_DOT] = ACTIONS(11810),
    [anon_sym_QMARK] = ACTIONS(968),
    [anon_sym_DOT_DOT] = ACTIONS(976),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(968),
    [anon_sym_and] = ACTIONS(968),
    [anon_sym_or] = ACTIONS(968),
    [anon_sym_PIPE_PIPE] = ACTIONS(968),
    [anon_sym_AMP_AMP] = ACTIONS(968),
    [anon_sym_LT_LT] = ACTIONS(968),
    [anon_sym_GT_GT] = ACTIONS(968),
    [anon_sym_EQ_EQ] = ACTIONS(976),
    [anon_sym_BANG_EQ] = ACTIONS(968),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(968),
    [anon_sym_LT_EQ_GT] = ACTIONS(968),
    [anon_sym_EQ_TILDE] = ACTIONS(968),
    [anon_sym_BANG_TILDE] = ACTIONS(968),
    [anon_sym_LT_EQ] = ACTIONS(976),
    [anon_sym_GT] = ACTIONS(976),
    [anon_sym_GT_EQ] = ACTIONS(968),
    [anon_sym_CARET] = ACTIONS(968),
    [anon_sym_PLUS] = ACTIONS(968),
    [anon_sym_SLASH] = ACTIONS(968),
    [anon_sym_PERCENT] = ACTIONS(968),
    [sym_comment] = ACTIONS(110),
  },
  [5606] = {
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym__heredoc_body_middle] = ACTIONS(980),
    [sym__heredoc_body_end] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(980),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_if] = ACTIONS(980),
    [anon_sym_unless] = ACTIONS(980),
    [anon_sym_while] = ACTIONS(980),
    [anon_sym_until] = ACTIONS(980),
    [anon_sym_rescue] = ACTIONS(980),
    [anon_sym_do] = ACTIONS(980),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(980),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(980),
    [anon_sym_or] = ACTIONS(980),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [sym_comment] = ACTIONS(256),
  },
  [5607] = {
    [sym_method] = STATE(2839),
    [sym_singleton_method] = STATE(2839),
    [sym_class] = STATE(2839),
    [sym_singleton_class] = STATE(2839),
    [sym_module] = STATE(2839),
    [sym_return] = STATE(2839),
    [sym_yield] = STATE(2839),
    [sym_break] = STATE(2839),
    [sym_next] = STATE(2839),
    [sym_redo] = STATE(2839),
    [sym_retry] = STATE(2839),
    [sym_while] = STATE(2839),
    [sym_until] = STATE(2839),
    [sym_for] = STATE(2839),
    [sym_case] = STATE(2839),
    [sym_if] = STATE(2839),
    [sym_unless] = STATE(2839),
    [sym_begin] = STATE(2839),
    [sym__arg] = STATE(2873),
    [sym__primary] = STATE(2874),
    [sym_parenthesized_statements] = STATE(2839),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2875),
    [sym_call] = STATE(2875),
    [sym_method_call] = STATE(2764),
    [sym_argument_list] = STATE(8887),
    [sym__argument_list_with_parens] = STATE(2877),
    [sym__argument] = STATE(2878),
    [sym_splat_argument] = STATE(2879),
    [sym_hash_splat_argument] = STATE(2879),
    [sym_block_argument] = STATE(2879),
    [sym_do_block] = STATE(8888),
    [sym_block] = STATE(8888),
    [sym_assignment] = STATE(2881),
    [sym_operator_assignment] = STATE(2881),
    [sym_conditional] = STATE(2881),
    [sym_range] = STATE(2881),
    [sym_binary] = STATE(2881),
    [sym_unary] = STATE(2881),
    [sym_left_assignment_list] = STATE(2882),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2883),
    [sym__variable] = STATE(2875),
    [sym_reserved_identifier] = STATE(2884),
    [sym_symbol] = STATE(2839),
    [sym_complex] = STATE(2839),
    [sym_rational] = STATE(2839),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2839),
    [sym_string] = STATE(2885),
    [sym_subshell] = STATE(2839),
    [sym_array] = STATE(2839),
    [sym_hash] = STATE(2839),
    [sym_pair] = STATE(2879),
    [sym_regex] = STATE(2839),
    [sym_lambda] = STATE(2839),
    [sym__simple_string] = ACTIONS(4162),
    [sym__simple_symbol] = ACTIONS(4164),
    [sym__simple_subshell] = ACTIONS(4166),
    [sym__simple_regex] = ACTIONS(4168),
    [sym__simple_word_list] = ACTIONS(4170),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(4172),
    [sym__symbol_beginning] = ACTIONS(4174),
    [sym__subshell_beginning] = ACTIONS(4176),
    [sym__regex_beginning] = ACTIONS(4178),
    [sym__word_list_beginning] = ACTIONS(4180),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym__heredoc_body_middle] = ACTIONS(980),
    [sym__heredoc_body_end] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(4182),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(4184),
    [sym__splat_star] = ACTIONS(4186),
    [sym__argument_list_left_paren] = ACTIONS(4188),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(4190),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(11812),
    [anon_sym_def] = ACTIONS(4194),
    [anon_sym_LPAREN] = ACTIONS(4196),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(4198),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(4200),
    [anon_sym_return] = ACTIONS(4202),
    [anon_sym_yield] = ACTIONS(4204),
    [anon_sym_break] = ACTIONS(4206),
    [anon_sym_next] = ACTIONS(4208),
    [anon_sym_redo] = ACTIONS(4210),
    [anon_sym_retry] = ACTIONS(4212),
    [anon_sym_if] = ACTIONS(982),
    [anon_sym_unless] = ACTIONS(982),
    [anon_sym_while] = ACTIONS(982),
    [anon_sym_until] = ACTIONS(982),
    [anon_sym_rescue] = ACTIONS(982),
    [anon_sym_for] = ACTIONS(4214),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(11814),
    [anon_sym_case] = ACTIONS(4218),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(4220),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(4222),
    [anon_sym_not] = ACTIONS(4224),
    [anon_sym_BANG] = ACTIONS(4226),
    [anon_sym_TILDE] = ACTIONS(4228),
    [sym_constant] = ACTIONS(4230),
    [sym_identifier] = ACTIONS(4230),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(4056),
    [anon_sym_nil] = ACTIONS(4058),
    [anon_sym_self] = ACTIONS(4060),
    [anon_sym_super] = ACTIONS(4062),
    [anon_sym_true] = ACTIONS(4064),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(4232),
    [sym_float] = ACTIONS(4234),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4236),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4238),
    [sym_keyword__LINE__] = ACTIONS(4238),
    [sym_keyword__ENCODING__] = ACTIONS(4238),
    [sym__character_literal] = ACTIONS(4240),
    [anon_sym_LBRACK] = ACTIONS(4242),
    [anon_sym_DASH_GT] = ACTIONS(4244),
  },
  [5608] = {
    [anon_sym_EQ] = ACTIONS(11816),
    [sym_comment] = ACTIONS(256),
  },
  [5609] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__heredoc_body_middle] = ACTIONS(250),
    [sym__heredoc_body_end] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(11818),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(11820),
    [anon_sym_DASH_EQ] = ACTIONS(11820),
    [anon_sym_STAR_EQ] = ACTIONS(11820),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(11820),
    [anon_sym_SLASH_EQ] = ACTIONS(11820),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(11820),
    [anon_sym_PIPE_EQ] = ACTIONS(11820),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(11820),
    [anon_sym_AMP_EQ] = ACTIONS(11820),
    [anon_sym_PERCENT_EQ] = ACTIONS(11820),
    [anon_sym_GT_GT_EQ] = ACTIONS(11820),
    [anon_sym_LT_LT_EQ] = ACTIONS(11820),
    [anon_sym_CARET_EQ] = ACTIONS(11820),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [5610] = {
    [sym_string] = STATE(5712),
    [aux_sym_chained_string_repeat1] = STATE(5713),
    [sym__simple_string] = ACTIONS(7868),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(7870),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__heredoc_body_middle] = ACTIONS(250),
    [sym__heredoc_body_end] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(7930),
  },
  [5611] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__heredoc_body_middle] = ACTIONS(5338),
    [sym__heredoc_body_end] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(11774),
    [sym__binary_star] = ACTIONS(11776),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(11778),
    [anon_sym_STAR_STAR] = ACTIONS(11780),
    [anon_sym_AMP] = ACTIONS(11782),
    [anon_sym_LT] = ACTIONS(11784),
    [anon_sym_if] = ACTIONS(5338),
    [anon_sym_unless] = ACTIONS(5338),
    [anon_sym_while] = ACTIONS(5338),
    [anon_sym_until] = ACTIONS(5338),
    [anon_sym_rescue] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(11786),
    [anon_sym_DOT_DOT] = ACTIONS(11788),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11790),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(11792),
    [anon_sym_AMP_AMP] = ACTIONS(11792),
    [anon_sym_LT_LT] = ACTIONS(11794),
    [anon_sym_GT_GT] = ACTIONS(11794),
    [anon_sym_EQ_EQ] = ACTIONS(11796),
    [anon_sym_BANG_EQ] = ACTIONS(11792),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11792),
    [anon_sym_LT_EQ_GT] = ACTIONS(11792),
    [anon_sym_EQ_TILDE] = ACTIONS(11792),
    [anon_sym_BANG_TILDE] = ACTIONS(11792),
    [anon_sym_LT_EQ] = ACTIONS(11784),
    [anon_sym_GT] = ACTIONS(11784),
    [anon_sym_GT_EQ] = ACTIONS(11798),
    [anon_sym_CARET] = ACTIONS(11800),
    [anon_sym_PLUS] = ACTIONS(11802),
    [anon_sym_SLASH] = ACTIONS(11780),
    [anon_sym_PERCENT] = ACTIONS(11780),
    [sym_comment] = ACTIONS(110),
  },
  [5612] = {
    [sym__simple_heredoc_body] = ACTIONS(5370),
    [sym__heredoc_body_beginning] = ACTIONS(5370),
    [sym__heredoc_body_middle] = ACTIONS(5370),
    [sym__heredoc_body_end] = ACTIONS(5370),
    [sym__element_reference_left_bracket] = ACTIONS(5370),
    [sym__scope_double_colon] = ACTIONS(5370),
    [sym__binary_minus] = ACTIONS(5370),
    [sym__binary_star] = ACTIONS(5370),
    [anon_sym_DOT] = ACTIONS(5372),
    [anon_sym_COMMA] = ACTIONS(5370),
    [anon_sym_PIPE] = ACTIONS(5372),
    [anon_sym_STAR_STAR] = ACTIONS(5370),
    [anon_sym_AMP] = ACTIONS(5372),
    [anon_sym_LT] = ACTIONS(5372),
    [anon_sym_if] = ACTIONS(5370),
    [anon_sym_unless] = ACTIONS(5370),
    [anon_sym_while] = ACTIONS(5370),
    [anon_sym_until] = ACTIONS(5370),
    [anon_sym_rescue] = ACTIONS(5370),
    [anon_sym_EQ_GT] = ACTIONS(5370),
    [anon_sym_AMP_DOT] = ACTIONS(5370),
    [anon_sym_QMARK] = ACTIONS(5370),
    [anon_sym_DOT_DOT] = ACTIONS(5372),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5370),
    [anon_sym_and] = ACTIONS(5370),
    [anon_sym_or] = ACTIONS(5370),
    [anon_sym_PIPE_PIPE] = ACTIONS(5370),
    [anon_sym_AMP_AMP] = ACTIONS(5370),
    [anon_sym_LT_LT] = ACTIONS(5370),
    [anon_sym_GT_GT] = ACTIONS(5370),
    [anon_sym_EQ_EQ] = ACTIONS(5372),
    [anon_sym_BANG_EQ] = ACTIONS(5370),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5370),
    [anon_sym_LT_EQ_GT] = ACTIONS(5370),
    [anon_sym_EQ_TILDE] = ACTIONS(5370),
    [anon_sym_BANG_TILDE] = ACTIONS(5370),
    [anon_sym_LT_EQ] = ACTIONS(5372),
    [anon_sym_GT] = ACTIONS(5372),
    [anon_sym_GT_EQ] = ACTIONS(5370),
    [anon_sym_CARET] = ACTIONS(5370),
    [anon_sym_PLUS] = ACTIONS(5370),
    [anon_sym_SLASH] = ACTIONS(5370),
    [anon_sym_PERCENT] = ACTIONS(5370),
    [sym_comment] = ACTIONS(110),
  },
  [5613] = {
    [sym_heredoc_end] = STATE(8892),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RPAREN] = ACTIONS(11822),
    [sym_comment] = ACTIONS(110),
  },
  [5614] = {
    [anon_sym_RPAREN] = ACTIONS(11822),
    [sym_comment] = ACTIONS(110),
  },
  [5615] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(5642),
    [sym__primary] = STATE(2763),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2765),
    [sym_call] = STATE(2765),
    [sym_method_call] = STATE(2764),
    [sym_argument_list] = STATE(5643),
    [sym__argument_list_with_parens] = STATE(2767),
    [sym__argument] = STATE(5644),
    [sym_splat_argument] = STATE(2769),
    [sym_hash_splat_argument] = STATE(2769),
    [sym_block_argument] = STATE(2769),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(2771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2772),
    [sym__variable] = STATE(2765),
    [sym_reserved_identifier] = STATE(5645),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(5646),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_pair] = STATE(2769),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(3984),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(3994),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym__heredoc_body_middle] = ACTIONS(532),
    [sym__heredoc_body_end] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(7966),
    [sym__splat_star] = ACTIONS(7968),
    [sym__argument_list_left_paren] = ACTIONS(4010),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(4012),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(4016),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(4022),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(4024),
    [anon_sym_return] = ACTIONS(4026),
    [anon_sym_yield] = ACTIONS(4028),
    [anon_sym_break] = ACTIONS(4030),
    [anon_sym_next] = ACTIONS(4032),
    [anon_sym_redo] = ACTIONS(4034),
    [anon_sym_retry] = ACTIONS(4036),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(4038),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(4040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(4042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(4044),
    [anon_sym_not] = ACTIONS(4046),
    [anon_sym_BANG] = ACTIONS(4048),
    [anon_sym_TILDE] = ACTIONS(4050),
    [sym_constant] = ACTIONS(7970),
    [sym_identifier] = ACTIONS(7970),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(4056),
    [anon_sym_nil] = ACTIONS(4058),
    [anon_sym_self] = ACTIONS(4060),
    [anon_sym_super] = ACTIONS(4062),
    [anon_sym_true] = ACTIONS(4064),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(4080),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [5616] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(5642),
    [sym__primary] = STATE(2763),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2765),
    [sym_call] = STATE(2765),
    [sym_method_call] = STATE(2764),
    [sym_argument_list] = STATE(5647),
    [sym__argument_list_with_parens] = STATE(2767),
    [sym__argument] = STATE(5644),
    [sym_splat_argument] = STATE(2769),
    [sym_hash_splat_argument] = STATE(2769),
    [sym_block_argument] = STATE(2769),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(2771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2772),
    [sym__variable] = STATE(2765),
    [sym_reserved_identifier] = STATE(5645),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(5646),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_pair] = STATE(2769),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(3984),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(3994),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym__heredoc_body_middle] = ACTIONS(602),
    [sym__heredoc_body_end] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(7966),
    [sym__splat_star] = ACTIONS(7968),
    [sym__argument_list_left_paren] = ACTIONS(4010),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(4012),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(4016),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(4022),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(4024),
    [anon_sym_return] = ACTIONS(4026),
    [anon_sym_yield] = ACTIONS(4028),
    [anon_sym_break] = ACTIONS(4030),
    [anon_sym_next] = ACTIONS(4032),
    [anon_sym_redo] = ACTIONS(4034),
    [anon_sym_retry] = ACTIONS(4036),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(4038),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(4040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(4042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(4044),
    [anon_sym_not] = ACTIONS(4046),
    [anon_sym_BANG] = ACTIONS(4048),
    [anon_sym_TILDE] = ACTIONS(4050),
    [sym_constant] = ACTIONS(7970),
    [sym_identifier] = ACTIONS(7970),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(4056),
    [anon_sym_nil] = ACTIONS(4058),
    [anon_sym_self] = ACTIONS(4060),
    [anon_sym_super] = ACTIONS(4062),
    [anon_sym_true] = ACTIONS(4064),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(4080),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [5617] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(5642),
    [sym__primary] = STATE(2763),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2765),
    [sym_call] = STATE(2765),
    [sym_method_call] = STATE(2764),
    [sym_argument_list] = STATE(5648),
    [sym__argument_list_with_parens] = STATE(2767),
    [sym__argument] = STATE(5644),
    [sym_splat_argument] = STATE(2769),
    [sym_hash_splat_argument] = STATE(2769),
    [sym_block_argument] = STATE(2769),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(2771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2772),
    [sym__variable] = STATE(2765),
    [sym_reserved_identifier] = STATE(5645),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(5646),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_pair] = STATE(2769),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(3984),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(3994),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym__heredoc_body_middle] = ACTIONS(606),
    [sym__heredoc_body_end] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(7966),
    [sym__splat_star] = ACTIONS(7968),
    [sym__argument_list_left_paren] = ACTIONS(4010),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(4012),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(4016),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(4022),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(4024),
    [anon_sym_return] = ACTIONS(4026),
    [anon_sym_yield] = ACTIONS(4028),
    [anon_sym_break] = ACTIONS(4030),
    [anon_sym_next] = ACTIONS(4032),
    [anon_sym_redo] = ACTIONS(4034),
    [anon_sym_retry] = ACTIONS(4036),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(4038),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(4040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(4042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(4044),
    [anon_sym_not] = ACTIONS(4046),
    [anon_sym_BANG] = ACTIONS(4048),
    [anon_sym_TILDE] = ACTIONS(4050),
    [sym_constant] = ACTIONS(7970),
    [sym_identifier] = ACTIONS(7970),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(4056),
    [anon_sym_nil] = ACTIONS(4058),
    [anon_sym_self] = ACTIONS(4060),
    [anon_sym_super] = ACTIONS(4062),
    [anon_sym_true] = ACTIONS(4064),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(4080),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [5618] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(5642),
    [sym__primary] = STATE(2763),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2765),
    [sym_call] = STATE(2765),
    [sym_method_call] = STATE(2764),
    [sym_argument_list] = STATE(5649),
    [sym__argument_list_with_parens] = STATE(2767),
    [sym__argument] = STATE(5644),
    [sym_splat_argument] = STATE(2769),
    [sym_hash_splat_argument] = STATE(2769),
    [sym_block_argument] = STATE(2769),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(2771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2772),
    [sym__variable] = STATE(2765),
    [sym_reserved_identifier] = STATE(5645),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(5646),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_pair] = STATE(2769),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(3984),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(3994),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym__heredoc_body_middle] = ACTIONS(610),
    [sym__heredoc_body_end] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(7966),
    [sym__splat_star] = ACTIONS(7968),
    [sym__argument_list_left_paren] = ACTIONS(4010),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(4012),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(4016),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(4022),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(4024),
    [anon_sym_return] = ACTIONS(4026),
    [anon_sym_yield] = ACTIONS(4028),
    [anon_sym_break] = ACTIONS(4030),
    [anon_sym_next] = ACTIONS(4032),
    [anon_sym_redo] = ACTIONS(4034),
    [anon_sym_retry] = ACTIONS(4036),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(4038),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(4040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(4042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(4044),
    [anon_sym_not] = ACTIONS(4046),
    [anon_sym_BANG] = ACTIONS(4048),
    [anon_sym_TILDE] = ACTIONS(4050),
    [sym_constant] = ACTIONS(7970),
    [sym_identifier] = ACTIONS(7970),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(4056),
    [anon_sym_nil] = ACTIONS(4058),
    [anon_sym_self] = ACTIONS(4060),
    [anon_sym_super] = ACTIONS(4062),
    [anon_sym_true] = ACTIONS(4064),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(4080),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [5619] = {
    [sym__simple_string] = ACTIONS(748),
    [sym__simple_symbol] = ACTIONS(748),
    [sym__simple_subshell] = ACTIONS(748),
    [sym__simple_regex] = ACTIONS(748),
    [sym__simple_word_list] = ACTIONS(748),
    [sym__simple_heredoc_body] = ACTIONS(748),
    [sym__string_beginning] = ACTIONS(748),
    [sym__symbol_beginning] = ACTIONS(748),
    [sym__subshell_beginning] = ACTIONS(748),
    [sym__regex_beginning] = ACTIONS(748),
    [sym__word_list_beginning] = ACTIONS(748),
    [sym__heredoc_body_beginning] = ACTIONS(748),
    [sym__heredoc_body_middle] = ACTIONS(748),
    [sym__heredoc_body_end] = ACTIONS(748),
    [sym_heredoc_beginning] = ACTIONS(748),
    [sym__element_reference_left_bracket] = ACTIONS(748),
    [sym__block_ampersand] = ACTIONS(748),
    [sym__splat_star] = ACTIONS(748),
    [sym__argument_list_left_paren] = ACTIONS(748),
    [sym__scope_double_colon] = ACTIONS(748),
    [sym__unary_minus] = ACTIONS(748),
    [sym__binary_minus] = ACTIONS(748),
    [sym__binary_star] = ACTIONS(748),
    [anon_sym_LBRACE] = ACTIONS(748),
    [anon_sym_def] = ACTIONS(750),
    [anon_sym_LPAREN] = ACTIONS(748),
    [anon_sym_DOT] = ACTIONS(750),
    [anon_sym_COLON_COLON] = ACTIONS(748),
    [anon_sym_end] = ACTIONS(750),
    [anon_sym_COMMA] = ACTIONS(748),
    [anon_sym_PIPE] = ACTIONS(750),
    [anon_sym_STAR] = ACTIONS(750),
    [anon_sym_STAR_STAR] = ACTIONS(750),
    [anon_sym_AMP] = ACTIONS(750),
    [anon_sym_EQ] = ACTIONS(750),
    [anon_sym_class] = ACTIONS(750),
    [anon_sym_LT] = ACTIONS(750),
    [anon_sym_module] = ACTIONS(750),
    [anon_sym_return] = ACTIONS(750),
    [anon_sym_yield] = ACTIONS(750),
    [anon_sym_break] = ACTIONS(750),
    [anon_sym_next] = ACTIONS(750),
    [anon_sym_redo] = ACTIONS(750),
    [anon_sym_retry] = ACTIONS(750),
    [anon_sym_if] = ACTIONS(750),
    [anon_sym_unless] = ACTIONS(750),
    [anon_sym_while] = ACTIONS(750),
    [anon_sym_until] = ACTIONS(750),
    [anon_sym_rescue] = ACTIONS(750),
    [anon_sym_for] = ACTIONS(750),
    [anon_sym_in] = ACTIONS(750),
    [anon_sym_do] = ACTIONS(750),
    [anon_sym_case] = ACTIONS(750),
    [anon_sym_when] = ACTIONS(750),
    [anon_sym_elsif] = ACTIONS(750),
    [anon_sym_else] = ACTIONS(750),
    [anon_sym_then] = ACTIONS(750),
    [anon_sym_begin] = ACTIONS(750),
    [anon_sym_ensure] = ACTIONS(750),
    [anon_sym_EQ_GT] = ACTIONS(748),
    [anon_sym_AMP_DOT] = ACTIONS(748),
    [anon_sym_PLUS_EQ] = ACTIONS(748),
    [anon_sym_DASH_EQ] = ACTIONS(748),
    [anon_sym_STAR_EQ] = ACTIONS(748),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(748),
    [anon_sym_SLASH_EQ] = ACTIONS(748),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(748),
    [anon_sym_PIPE_EQ] = ACTIONS(748),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(748),
    [anon_sym_AMP_EQ] = ACTIONS(748),
    [anon_sym_PERCENT_EQ] = ACTIONS(748),
    [anon_sym_GT_GT_EQ] = ACTIONS(748),
    [anon_sym_LT_LT_EQ] = ACTIONS(748),
    [anon_sym_CARET_EQ] = ACTIONS(748),
    [anon_sym_QMARK] = ACTIONS(750),
    [anon_sym_DOT_DOT] = ACTIONS(750),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(748),
    [anon_sym_and] = ACTIONS(750),
    [anon_sym_or] = ACTIONS(750),
    [anon_sym_PIPE_PIPE] = ACTIONS(750),
    [anon_sym_AMP_AMP] = ACTIONS(750),
    [anon_sym_LT_LT] = ACTIONS(750),
    [anon_sym_GT_GT] = ACTIONS(750),
    [anon_sym_EQ_EQ] = ACTIONS(750),
    [anon_sym_BANG_EQ] = ACTIONS(748),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(748),
    [anon_sym_LT_EQ_GT] = ACTIONS(748),
    [anon_sym_EQ_TILDE] = ACTIONS(748),
    [anon_sym_BANG_TILDE] = ACTIONS(748),
    [anon_sym_LT_EQ] = ACTIONS(750),
    [anon_sym_GT] = ACTIONS(750),
    [anon_sym_GT_EQ] = ACTIONS(748),
    [anon_sym_CARET] = ACTIONS(750),
    [anon_sym_PLUS] = ACTIONS(750),
    [anon_sym_SLASH] = ACTIONS(750),
    [anon_sym_PERCENT] = ACTIONS(750),
    [anon_sym_defined_QMARK] = ACTIONS(748),
    [anon_sym_not] = ACTIONS(750),
    [anon_sym_BANG] = ACTIONS(750),
    [anon_sym_TILDE] = ACTIONS(748),
    [sym_constant] = ACTIONS(752),
    [sym_identifier] = ACTIONS(752),
    [sym_instance_variable] = ACTIONS(750),
    [sym_class_variable] = ACTIONS(750),
    [sym_global_variable] = ACTIONS(750),
    [anon_sym_alias] = ACTIONS(750),
    [anon_sym_defined] = ACTIONS(750),
    [anon_sym_false] = ACTIONS(750),
    [anon_sym_nil] = ACTIONS(750),
    [anon_sym_self] = ACTIONS(750),
    [anon_sym_super] = ACTIONS(750),
    [anon_sym_true] = ACTIONS(750),
    [anon_sym_undef] = ACTIONS(750),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(750),
    [sym_float] = ACTIONS(752),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(748),
    [anon_sym_TRUE] = ACTIONS(750),
    [anon_sym_FALSE] = ACTIONS(750),
    [anon_sym_NIL] = ACTIONS(750),
    [sym_keyword__FILE__] = ACTIONS(750),
    [sym_keyword__LINE__] = ACTIONS(750),
    [sym_keyword__ENCODING__] = ACTIONS(750),
    [sym__character_literal] = ACTIONS(750),
    [anon_sym_LBRACK] = ACTIONS(748),
    [anon_sym_DASH_GT] = ACTIONS(748),
  },
  [5620] = {
    [sym__simple_string] = ACTIONS(754),
    [sym__simple_symbol] = ACTIONS(754),
    [sym__simple_subshell] = ACTIONS(754),
    [sym__simple_regex] = ACTIONS(754),
    [sym__simple_word_list] = ACTIONS(754),
    [sym__simple_heredoc_body] = ACTIONS(754),
    [sym__string_beginning] = ACTIONS(754),
    [sym__symbol_beginning] = ACTIONS(754),
    [sym__subshell_beginning] = ACTIONS(754),
    [sym__regex_beginning] = ACTIONS(754),
    [sym__word_list_beginning] = ACTIONS(754),
    [sym__heredoc_body_beginning] = ACTIONS(754),
    [sym__heredoc_body_middle] = ACTIONS(754),
    [sym__heredoc_body_end] = ACTIONS(754),
    [sym_heredoc_beginning] = ACTIONS(754),
    [sym__element_reference_left_bracket] = ACTIONS(754),
    [sym__block_ampersand] = ACTIONS(754),
    [sym__splat_star] = ACTIONS(754),
    [sym__argument_list_left_paren] = ACTIONS(754),
    [sym__scope_double_colon] = ACTIONS(754),
    [sym__unary_minus] = ACTIONS(754),
    [sym__binary_minus] = ACTIONS(754),
    [sym__binary_star] = ACTIONS(754),
    [anon_sym_LBRACE] = ACTIONS(754),
    [anon_sym_def] = ACTIONS(756),
    [anon_sym_LPAREN] = ACTIONS(754),
    [anon_sym_DOT] = ACTIONS(756),
    [anon_sym_COLON_COLON] = ACTIONS(754),
    [anon_sym_end] = ACTIONS(756),
    [anon_sym_COMMA] = ACTIONS(754),
    [anon_sym_PIPE] = ACTIONS(756),
    [anon_sym_STAR] = ACTIONS(756),
    [anon_sym_STAR_STAR] = ACTIONS(756),
    [anon_sym_AMP] = ACTIONS(756),
    [anon_sym_EQ] = ACTIONS(756),
    [anon_sym_class] = ACTIONS(756),
    [anon_sym_LT] = ACTIONS(756),
    [anon_sym_module] = ACTIONS(756),
    [anon_sym_return] = ACTIONS(756),
    [anon_sym_yield] = ACTIONS(756),
    [anon_sym_break] = ACTIONS(756),
    [anon_sym_next] = ACTIONS(756),
    [anon_sym_redo] = ACTIONS(756),
    [anon_sym_retry] = ACTIONS(756),
    [anon_sym_if] = ACTIONS(756),
    [anon_sym_unless] = ACTIONS(756),
    [anon_sym_while] = ACTIONS(756),
    [anon_sym_until] = ACTIONS(756),
    [anon_sym_rescue] = ACTIONS(756),
    [anon_sym_for] = ACTIONS(756),
    [anon_sym_in] = ACTIONS(756),
    [anon_sym_do] = ACTIONS(756),
    [anon_sym_case] = ACTIONS(756),
    [anon_sym_when] = ACTIONS(756),
    [anon_sym_elsif] = ACTIONS(756),
    [anon_sym_else] = ACTIONS(756),
    [anon_sym_then] = ACTIONS(756),
    [anon_sym_begin] = ACTIONS(756),
    [anon_sym_ensure] = ACTIONS(756),
    [anon_sym_EQ_GT] = ACTIONS(754),
    [anon_sym_AMP_DOT] = ACTIONS(754),
    [anon_sym_PLUS_EQ] = ACTIONS(754),
    [anon_sym_DASH_EQ] = ACTIONS(754),
    [anon_sym_STAR_EQ] = ACTIONS(754),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(754),
    [anon_sym_SLASH_EQ] = ACTIONS(754),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(754),
    [anon_sym_PIPE_EQ] = ACTIONS(754),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(754),
    [anon_sym_AMP_EQ] = ACTIONS(754),
    [anon_sym_PERCENT_EQ] = ACTIONS(754),
    [anon_sym_GT_GT_EQ] = ACTIONS(754),
    [anon_sym_LT_LT_EQ] = ACTIONS(754),
    [anon_sym_CARET_EQ] = ACTIONS(754),
    [anon_sym_QMARK] = ACTIONS(756),
    [anon_sym_DOT_DOT] = ACTIONS(756),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(754),
    [anon_sym_and] = ACTIONS(756),
    [anon_sym_or] = ACTIONS(756),
    [anon_sym_PIPE_PIPE] = ACTIONS(756),
    [anon_sym_AMP_AMP] = ACTIONS(756),
    [anon_sym_LT_LT] = ACTIONS(756),
    [anon_sym_GT_GT] = ACTIONS(756),
    [anon_sym_EQ_EQ] = ACTIONS(756),
    [anon_sym_BANG_EQ] = ACTIONS(754),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(754),
    [anon_sym_LT_EQ_GT] = ACTIONS(754),
    [anon_sym_EQ_TILDE] = ACTIONS(754),
    [anon_sym_BANG_TILDE] = ACTIONS(754),
    [anon_sym_LT_EQ] = ACTIONS(756),
    [anon_sym_GT] = ACTIONS(756),
    [anon_sym_GT_EQ] = ACTIONS(754),
    [anon_sym_CARET] = ACTIONS(756),
    [anon_sym_PLUS] = ACTIONS(756),
    [anon_sym_SLASH] = ACTIONS(756),
    [anon_sym_PERCENT] = ACTIONS(756),
    [anon_sym_defined_QMARK] = ACTIONS(754),
    [anon_sym_not] = ACTIONS(756),
    [anon_sym_BANG] = ACTIONS(756),
    [anon_sym_TILDE] = ACTIONS(754),
    [sym_constant] = ACTIONS(758),
    [sym_identifier] = ACTIONS(758),
    [sym_instance_variable] = ACTIONS(756),
    [sym_class_variable] = ACTIONS(756),
    [sym_global_variable] = ACTIONS(756),
    [anon_sym_alias] = ACTIONS(756),
    [anon_sym_defined] = ACTIONS(756),
    [anon_sym_false] = ACTIONS(756),
    [anon_sym_nil] = ACTIONS(756),
    [anon_sym_self] = ACTIONS(756),
    [anon_sym_super] = ACTIONS(756),
    [anon_sym_true] = ACTIONS(756),
    [anon_sym_undef] = ACTIONS(756),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(756),
    [sym_float] = ACTIONS(758),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(754),
    [anon_sym_TRUE] = ACTIONS(756),
    [anon_sym_FALSE] = ACTIONS(756),
    [anon_sym_NIL] = ACTIONS(756),
    [sym_keyword__FILE__] = ACTIONS(756),
    [sym_keyword__LINE__] = ACTIONS(756),
    [sym_keyword__ENCODING__] = ACTIONS(756),
    [sym__character_literal] = ACTIONS(756),
    [anon_sym_LBRACK] = ACTIONS(754),
    [anon_sym_DASH_GT] = ACTIONS(754),
  },
  [5621] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__heredoc_body_middle] = ACTIONS(1372),
    [sym__heredoc_body_end] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_STAR_STAR] = ACTIONS(7990),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_if] = ACTIONS(1372),
    [anon_sym_unless] = ACTIONS(1372),
    [anon_sym_while] = ACTIONS(1372),
    [anon_sym_until] = ACTIONS(1372),
    [anon_sym_rescue] = ACTIONS(1372),
    [anon_sym_EQ_GT] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [5622] = {
    [sym__simple_heredoc_body] = ACTIONS(1552),
    [sym__heredoc_body_beginning] = ACTIONS(1552),
    [sym__heredoc_body_middle] = ACTIONS(1552),
    [sym__heredoc_body_end] = ACTIONS(1552),
    [sym__element_reference_left_bracket] = ACTIONS(1552),
    [sym__scope_double_colon] = ACTIONS(1552),
    [sym__binary_minus] = ACTIONS(1552),
    [sym__binary_star] = ACTIONS(1552),
    [anon_sym_DOT] = ACTIONS(1554),
    [anon_sym_COMMA] = ACTIONS(1552),
    [anon_sym_PIPE] = ACTIONS(1554),
    [anon_sym_STAR_STAR] = ACTIONS(1552),
    [anon_sym_AMP] = ACTIONS(1554),
    [anon_sym_LT] = ACTIONS(1554),
    [anon_sym_if] = ACTIONS(1552),
    [anon_sym_unless] = ACTIONS(1552),
    [anon_sym_while] = ACTIONS(1552),
    [anon_sym_until] = ACTIONS(1552),
    [anon_sym_rescue] = ACTIONS(1552),
    [anon_sym_EQ_GT] = ACTIONS(1552),
    [anon_sym_AMP_DOT] = ACTIONS(1552),
    [anon_sym_QMARK] = ACTIONS(1552),
    [anon_sym_DOT_DOT] = ACTIONS(1554),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1552),
    [anon_sym_and] = ACTIONS(1552),
    [anon_sym_or] = ACTIONS(1552),
    [anon_sym_PIPE_PIPE] = ACTIONS(1552),
    [anon_sym_AMP_AMP] = ACTIONS(1552),
    [anon_sym_LT_LT] = ACTIONS(1552),
    [anon_sym_GT_GT] = ACTIONS(1552),
    [anon_sym_EQ_EQ] = ACTIONS(1554),
    [anon_sym_BANG_EQ] = ACTIONS(1552),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1552),
    [anon_sym_LT_EQ_GT] = ACTIONS(1552),
    [anon_sym_EQ_TILDE] = ACTIONS(1552),
    [anon_sym_BANG_TILDE] = ACTIONS(1552),
    [anon_sym_LT_EQ] = ACTIONS(1554),
    [anon_sym_GT] = ACTIONS(1554),
    [anon_sym_GT_EQ] = ACTIONS(1552),
    [anon_sym_CARET] = ACTIONS(1552),
    [anon_sym_PLUS] = ACTIONS(1552),
    [anon_sym_SLASH] = ACTIONS(1552),
    [anon_sym_PERCENT] = ACTIONS(1552),
    [sym_comment] = ACTIONS(110),
  },
  [5623] = {
    [anon_sym_RBRACE] = ACTIONS(11824),
    [sym_comment] = ACTIONS(110),
  },
  [5624] = {
    [sym_heredoc_end] = STATE(8894),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RBRACE] = ACTIONS(11824),
    [sym_comment] = ACTIONS(110),
  },
  [5625] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(8895),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(1139),
    [sym_call] = STATE(1139),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(1140),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1141),
    [sym__variable] = STATE(1139),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(1822),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_yield] = ACTIONS(1828),
    [anon_sym_break] = ACTIONS(1830),
    [anon_sym_next] = ACTIONS(1832),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(1834),
    [anon_sym_defined_QMARK] = ACTIONS(1836),
    [anon_sym_not] = ACTIONS(1838),
    [anon_sym_BANG] = ACTIONS(1840),
    [anon_sym_TILDE] = ACTIONS(1840),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [5626] = {
    [sym__simple_heredoc_body] = ACTIONS(1866),
    [sym__heredoc_body_beginning] = ACTIONS(1866),
    [sym__heredoc_body_middle] = ACTIONS(1866),
    [sym__heredoc_body_end] = ACTIONS(1866),
    [sym__element_reference_left_bracket] = ACTIONS(1866),
    [sym__scope_double_colon] = ACTIONS(1866),
    [sym__binary_minus] = ACTIONS(1866),
    [sym__binary_star] = ACTIONS(1866),
    [anon_sym_DOT] = ACTIONS(1868),
    [anon_sym_COMMA] = ACTIONS(1866),
    [anon_sym_PIPE] = ACTIONS(1868),
    [anon_sym_STAR_STAR] = ACTIONS(1866),
    [anon_sym_AMP] = ACTIONS(1868),
    [anon_sym_LT] = ACTIONS(1868),
    [anon_sym_if] = ACTIONS(1866),
    [anon_sym_unless] = ACTIONS(1866),
    [anon_sym_while] = ACTIONS(1866),
    [anon_sym_until] = ACTIONS(1866),
    [anon_sym_rescue] = ACTIONS(1866),
    [anon_sym_EQ_GT] = ACTIONS(1866),
    [anon_sym_AMP_DOT] = ACTIONS(1866),
    [anon_sym_QMARK] = ACTIONS(1866),
    [anon_sym_DOT_DOT] = ACTIONS(1868),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1866),
    [anon_sym_and] = ACTIONS(1866),
    [anon_sym_or] = ACTIONS(1866),
    [anon_sym_PIPE_PIPE] = ACTIONS(1866),
    [anon_sym_AMP_AMP] = ACTIONS(1866),
    [anon_sym_LT_LT] = ACTIONS(1866),
    [anon_sym_GT_GT] = ACTIONS(1866),
    [anon_sym_EQ_EQ] = ACTIONS(1868),
    [anon_sym_BANG_EQ] = ACTIONS(1866),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1866),
    [anon_sym_LT_EQ_GT] = ACTIONS(1866),
    [anon_sym_EQ_TILDE] = ACTIONS(1866),
    [anon_sym_BANG_TILDE] = ACTIONS(1866),
    [anon_sym_LT_EQ] = ACTIONS(1868),
    [anon_sym_GT] = ACTIONS(1868),
    [anon_sym_GT_EQ] = ACTIONS(1866),
    [anon_sym_CARET] = ACTIONS(1866),
    [anon_sym_PLUS] = ACTIONS(1866),
    [anon_sym_SLASH] = ACTIONS(1866),
    [anon_sym_PERCENT] = ACTIONS(1866),
    [sym_comment] = ACTIONS(110),
  },
  [5627] = {
    [anon_sym_DOT] = ACTIONS(11826),
    [anon_sym_COLON_COLON] = ACTIONS(11826),
    [sym_comment] = ACTIONS(110),
  },
  [5628] = {
    [sym_method_parameters] = STATE(8897),
    [sym__simple_formal_parameter] = STATE(1150),
    [sym_splat_parameter] = STATE(1151),
    [sym_hash_splat_parameter] = STATE(1151),
    [sym_block_parameter] = STATE(1151),
    [sym_keyword_parameter] = STATE(1151),
    [sym_optional_parameter] = STATE(1151),
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(8897),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym__line_break] = ACTIONS(692),
    [anon_sym_LPAREN] = ACTIONS(1872),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(1874),
    [anon_sym_STAR_STAR] = ACTIONS(1876),
    [anon_sym_AMP] = ACTIONS(1878),
    [sym_identifier] = ACTIONS(1880),
    [sym_comment] = ACTIONS(110),
  },
  [5629] = {
    [sym__simple_heredoc_body] = ACTIONS(1882),
    [sym__heredoc_body_beginning] = ACTIONS(1882),
    [sym__heredoc_body_middle] = ACTIONS(1882),
    [sym__heredoc_body_end] = ACTIONS(1882),
    [sym__element_reference_left_bracket] = ACTIONS(1882),
    [sym__scope_double_colon] = ACTIONS(1882),
    [sym__binary_minus] = ACTIONS(1882),
    [sym__binary_star] = ACTIONS(1882),
    [anon_sym_DOT] = ACTIONS(1884),
    [anon_sym_COMMA] = ACTIONS(1882),
    [anon_sym_PIPE] = ACTIONS(1884),
    [anon_sym_STAR_STAR] = ACTIONS(1882),
    [anon_sym_AMP] = ACTIONS(1884),
    [anon_sym_LT] = ACTIONS(1884),
    [anon_sym_if] = ACTIONS(1882),
    [anon_sym_unless] = ACTIONS(1882),
    [anon_sym_while] = ACTIONS(1882),
    [anon_sym_until] = ACTIONS(1882),
    [anon_sym_rescue] = ACTIONS(1882),
    [anon_sym_EQ_GT] = ACTIONS(1882),
    [anon_sym_AMP_DOT] = ACTIONS(1882),
    [anon_sym_QMARK] = ACTIONS(1882),
    [anon_sym_DOT_DOT] = ACTIONS(1884),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1882),
    [anon_sym_and] = ACTIONS(1882),
    [anon_sym_or] = ACTIONS(1882),
    [anon_sym_PIPE_PIPE] = ACTIONS(1882),
    [anon_sym_AMP_AMP] = ACTIONS(1882),
    [anon_sym_LT_LT] = ACTIONS(1882),
    [anon_sym_GT_GT] = ACTIONS(1882),
    [anon_sym_EQ_EQ] = ACTIONS(1884),
    [anon_sym_BANG_EQ] = ACTIONS(1882),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1882),
    [anon_sym_LT_EQ_GT] = ACTIONS(1882),
    [anon_sym_EQ_TILDE] = ACTIONS(1882),
    [anon_sym_BANG_TILDE] = ACTIONS(1882),
    [anon_sym_LT_EQ] = ACTIONS(1884),
    [anon_sym_GT] = ACTIONS(1884),
    [anon_sym_GT_EQ] = ACTIONS(1882),
    [anon_sym_CARET] = ACTIONS(1882),
    [anon_sym_PLUS] = ACTIONS(1882),
    [anon_sym_SLASH] = ACTIONS(1882),
    [anon_sym_PERCENT] = ACTIONS(1882),
    [sym_comment] = ACTIONS(110),
  },
  [5630] = {
    [anon_sym_RPAREN] = ACTIONS(11828),
    [sym_comment] = ACTIONS(110),
  },
  [5631] = {
    [sym__simple_string] = ACTIONS(2010),
    [sym__simple_symbol] = ACTIONS(2010),
    [sym__simple_subshell] = ACTIONS(2010),
    [sym__simple_regex] = ACTIONS(2010),
    [sym__simple_word_list] = ACTIONS(2010),
    [sym__simple_heredoc_body] = ACTIONS(2010),
    [sym__string_beginning] = ACTIONS(2010),
    [sym__symbol_beginning] = ACTIONS(2010),
    [sym__subshell_beginning] = ACTIONS(2010),
    [sym__regex_beginning] = ACTIONS(2010),
    [sym__word_list_beginning] = ACTIONS(2010),
    [sym__heredoc_body_beginning] = ACTIONS(2010),
    [sym__heredoc_body_middle] = ACTIONS(2010),
    [sym__heredoc_body_end] = ACTIONS(2010),
    [sym_heredoc_beginning] = ACTIONS(2010),
    [sym__element_reference_left_bracket] = ACTIONS(2010),
    [sym__block_ampersand] = ACTIONS(2010),
    [sym__splat_star] = ACTIONS(2010),
    [sym__argument_list_left_paren] = ACTIONS(2010),
    [sym__scope_double_colon] = ACTIONS(2010),
    [sym__unary_minus] = ACTIONS(2010),
    [sym__binary_minus] = ACTIONS(2010),
    [sym__binary_star] = ACTIONS(2010),
    [anon_sym_LBRACE] = ACTIONS(2010),
    [anon_sym_def] = ACTIONS(2012),
    [anon_sym_LPAREN] = ACTIONS(2010),
    [anon_sym_DOT] = ACTIONS(2012),
    [anon_sym_COLON_COLON] = ACTIONS(2010),
    [anon_sym_end] = ACTIONS(2012),
    [anon_sym_COMMA] = ACTIONS(2010),
    [anon_sym_PIPE] = ACTIONS(2012),
    [anon_sym_STAR] = ACTIONS(2012),
    [anon_sym_STAR_STAR] = ACTIONS(2012),
    [anon_sym_AMP] = ACTIONS(2012),
    [anon_sym_EQ] = ACTIONS(2012),
    [anon_sym_class] = ACTIONS(2012),
    [anon_sym_LT] = ACTIONS(2012),
    [anon_sym_module] = ACTIONS(2012),
    [anon_sym_return] = ACTIONS(2012),
    [anon_sym_yield] = ACTIONS(2012),
    [anon_sym_break] = ACTIONS(2012),
    [anon_sym_next] = ACTIONS(2012),
    [anon_sym_redo] = ACTIONS(2012),
    [anon_sym_retry] = ACTIONS(2012),
    [anon_sym_if] = ACTIONS(2012),
    [anon_sym_unless] = ACTIONS(2012),
    [anon_sym_while] = ACTIONS(2012),
    [anon_sym_until] = ACTIONS(2012),
    [anon_sym_rescue] = ACTIONS(2012),
    [anon_sym_for] = ACTIONS(2012),
    [anon_sym_in] = ACTIONS(2012),
    [anon_sym_do] = ACTIONS(2012),
    [anon_sym_case] = ACTIONS(2012),
    [anon_sym_when] = ACTIONS(2012),
    [anon_sym_elsif] = ACTIONS(2012),
    [anon_sym_else] = ACTIONS(2012),
    [anon_sym_then] = ACTIONS(2012),
    [anon_sym_begin] = ACTIONS(2012),
    [anon_sym_ensure] = ACTIONS(2012),
    [anon_sym_EQ_GT] = ACTIONS(2010),
    [anon_sym_AMP_DOT] = ACTIONS(2010),
    [anon_sym_PLUS_EQ] = ACTIONS(2010),
    [anon_sym_DASH_EQ] = ACTIONS(2010),
    [anon_sym_STAR_EQ] = ACTIONS(2010),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2010),
    [anon_sym_SLASH_EQ] = ACTIONS(2010),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2010),
    [anon_sym_PIPE_EQ] = ACTIONS(2010),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2010),
    [anon_sym_AMP_EQ] = ACTIONS(2010),
    [anon_sym_PERCENT_EQ] = ACTIONS(2010),
    [anon_sym_GT_GT_EQ] = ACTIONS(2010),
    [anon_sym_LT_LT_EQ] = ACTIONS(2010),
    [anon_sym_CARET_EQ] = ACTIONS(2010),
    [anon_sym_QMARK] = ACTIONS(2012),
    [anon_sym_DOT_DOT] = ACTIONS(2012),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2010),
    [anon_sym_and] = ACTIONS(2012),
    [anon_sym_or] = ACTIONS(2012),
    [anon_sym_PIPE_PIPE] = ACTIONS(2012),
    [anon_sym_AMP_AMP] = ACTIONS(2012),
    [anon_sym_LT_LT] = ACTIONS(2012),
    [anon_sym_GT_GT] = ACTIONS(2012),
    [anon_sym_EQ_EQ] = ACTIONS(2012),
    [anon_sym_BANG_EQ] = ACTIONS(2010),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2010),
    [anon_sym_LT_EQ_GT] = ACTIONS(2010),
    [anon_sym_EQ_TILDE] = ACTIONS(2010),
    [anon_sym_BANG_TILDE] = ACTIONS(2010),
    [anon_sym_LT_EQ] = ACTIONS(2012),
    [anon_sym_GT] = ACTIONS(2012),
    [anon_sym_GT_EQ] = ACTIONS(2010),
    [anon_sym_CARET] = ACTIONS(2012),
    [anon_sym_PLUS] = ACTIONS(2012),
    [anon_sym_SLASH] = ACTIONS(2012),
    [anon_sym_PERCENT] = ACTIONS(2012),
    [anon_sym_defined_QMARK] = ACTIONS(2010),
    [anon_sym_not] = ACTIONS(2012),
    [anon_sym_BANG] = ACTIONS(2012),
    [anon_sym_TILDE] = ACTIONS(2010),
    [sym_constant] = ACTIONS(2014),
    [sym_identifier] = ACTIONS(2014),
    [sym_instance_variable] = ACTIONS(2012),
    [sym_class_variable] = ACTIONS(2012),
    [sym_global_variable] = ACTIONS(2012),
    [anon_sym_alias] = ACTIONS(2012),
    [anon_sym_defined] = ACTIONS(2012),
    [anon_sym_false] = ACTIONS(2012),
    [anon_sym_nil] = ACTIONS(2012),
    [anon_sym_self] = ACTIONS(2012),
    [anon_sym_super] = ACTIONS(2012),
    [anon_sym_true] = ACTIONS(2012),
    [anon_sym_undef] = ACTIONS(2012),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(2012),
    [sym_float] = ACTIONS(2014),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(2010),
    [anon_sym_TRUE] = ACTIONS(2012),
    [anon_sym_FALSE] = ACTIONS(2012),
    [anon_sym_NIL] = ACTIONS(2012),
    [sym_keyword__FILE__] = ACTIONS(2012),
    [sym_keyword__LINE__] = ACTIONS(2012),
    [sym_keyword__ENCODING__] = ACTIONS(2012),
    [sym__character_literal] = ACTIONS(2012),
    [anon_sym_LBRACK] = ACTIONS(2010),
    [anon_sym_DASH_GT] = ACTIONS(2010),
  },
  [5632] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__heredoc_body_middle] = ACTIONS(4284),
    [sym__heredoc_body_end] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(11774),
    [sym__binary_star] = ACTIONS(11776),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(11778),
    [anon_sym_STAR_STAR] = ACTIONS(11780),
    [anon_sym_AMP] = ACTIONS(11782),
    [anon_sym_LT] = ACTIONS(11784),
    [anon_sym_if] = ACTIONS(4284),
    [anon_sym_unless] = ACTIONS(4284),
    [anon_sym_while] = ACTIONS(4284),
    [anon_sym_until] = ACTIONS(4284),
    [anon_sym_rescue] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(11786),
    [anon_sym_DOT_DOT] = ACTIONS(11788),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11790),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(11792),
    [anon_sym_AMP_AMP] = ACTIONS(11792),
    [anon_sym_LT_LT] = ACTIONS(11794),
    [anon_sym_GT_GT] = ACTIONS(11794),
    [anon_sym_EQ_EQ] = ACTIONS(11796),
    [anon_sym_BANG_EQ] = ACTIONS(11792),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11792),
    [anon_sym_LT_EQ_GT] = ACTIONS(11792),
    [anon_sym_EQ_TILDE] = ACTIONS(11792),
    [anon_sym_BANG_TILDE] = ACTIONS(11792),
    [anon_sym_LT_EQ] = ACTIONS(11784),
    [anon_sym_GT] = ACTIONS(11784),
    [anon_sym_GT_EQ] = ACTIONS(11798),
    [anon_sym_CARET] = ACTIONS(11800),
    [anon_sym_PLUS] = ACTIONS(11802),
    [anon_sym_SLASH] = ACTIONS(11780),
    [anon_sym_PERCENT] = ACTIONS(11780),
    [sym_comment] = ACTIONS(110),
  },
  [5633] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(8899),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1329),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1330),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2090),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2100),
    [anon_sym_defined_QMARK] = ACTIONS(2102),
    [anon_sym_not] = ACTIONS(2104),
    [anon_sym_BANG] = ACTIONS(2106),
    [anon_sym_TILDE] = ACTIONS(2106),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5634] = {
    [sym_superclass] = STATE(8900),
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(8901),
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__unary_minus] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(722),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(722),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(2110),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(722),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [5635] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_superclass] = STATE(8900),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1349),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1310),
    [sym__argument_list_with_parens] = STATE(1264),
    [sym__argument] = STATE(1350),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_do_block] = STATE(1312),
    [sym_block] = STATE(1312),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1353),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1354),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__terminator] = STATE(8901),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(2114),
    [sym__splat_star] = ACTIONS(2116),
    [sym__argument_list_left_paren] = ACTIONS(2034),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(2064),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(980),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2120),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(2110),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(2076),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2138),
    [sym_identifier] = ACTIONS(2138),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [5636] = {
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(8903),
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__unary_minus] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(722),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(11830),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(722),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(722),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [5637] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1349),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1310),
    [sym__argument_list_with_parens] = STATE(1264),
    [sym__argument] = STATE(1350),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_do_block] = STATE(1312),
    [sym_block] = STATE(1312),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1353),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1354),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__terminator] = STATE(8903),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(2114),
    [sym__splat_star] = ACTIONS(2116),
    [sym__argument_list_left_paren] = ACTIONS(2034),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(2064),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(980),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(11832),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2120),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(2076),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2138),
    [sym_identifier] = ACTIONS(2138),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [5638] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(8905),
    [sym__primary] = STATE(2763),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2765),
    [sym_call] = STATE(2765),
    [sym_method_call] = STATE(2764),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(2771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2772),
    [sym__variable] = STATE(2765),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(5610),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(7868),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__string_beginning] = ACTIONS(7870),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__unary_minus] = ACTIONS(4012),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(7874),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(7878),
    [anon_sym_module] = ACTIONS(7880),
    [anon_sym_return] = ACTIONS(7934),
    [anon_sym_yield] = ACTIONS(7936),
    [anon_sym_break] = ACTIONS(7938),
    [anon_sym_next] = ACTIONS(7940),
    [anon_sym_redo] = ACTIONS(7890),
    [anon_sym_retry] = ACTIONS(7892),
    [anon_sym_if] = ACTIONS(7894),
    [anon_sym_unless] = ACTIONS(7896),
    [anon_sym_while] = ACTIONS(7898),
    [anon_sym_until] = ACTIONS(7900),
    [anon_sym_for] = ACTIONS(7902),
    [anon_sym_case] = ACTIONS(7904),
    [anon_sym_begin] = ACTIONS(7906),
    [anon_sym_PLUS] = ACTIONS(7942),
    [anon_sym_defined_QMARK] = ACTIONS(4044),
    [anon_sym_not] = ACTIONS(7944),
    [anon_sym_BANG] = ACTIONS(4050),
    [anon_sym_TILDE] = ACTIONS(4050),
    [sym_constant] = ACTIONS(7946),
    [sym_identifier] = ACTIONS(7946),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_false] = ACTIONS(4074),
    [anon_sym_nil] = ACTIONS(4076),
    [anon_sym_self] = ACTIONS(7948),
    [anon_sym_super] = ACTIONS(7950),
    [anon_sym_true] = ACTIONS(4072),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(7930),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [5639] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(8906),
    [sym__primary] = STATE(2763),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2765),
    [sym_call] = STATE(2765),
    [sym_method_call] = STATE(2764),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(2771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2772),
    [sym__variable] = STATE(2765),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(5610),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(7868),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__string_beginning] = ACTIONS(7870),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__unary_minus] = ACTIONS(4012),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(7874),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(7878),
    [anon_sym_module] = ACTIONS(7880),
    [anon_sym_return] = ACTIONS(7934),
    [anon_sym_yield] = ACTIONS(7936),
    [anon_sym_break] = ACTIONS(7938),
    [anon_sym_next] = ACTIONS(7940),
    [anon_sym_redo] = ACTIONS(7890),
    [anon_sym_retry] = ACTIONS(7892),
    [anon_sym_if] = ACTIONS(7894),
    [anon_sym_unless] = ACTIONS(7896),
    [anon_sym_while] = ACTIONS(7898),
    [anon_sym_until] = ACTIONS(7900),
    [anon_sym_for] = ACTIONS(7902),
    [anon_sym_case] = ACTIONS(7904),
    [anon_sym_begin] = ACTIONS(7906),
    [anon_sym_PLUS] = ACTIONS(7942),
    [anon_sym_defined_QMARK] = ACTIONS(4044),
    [anon_sym_not] = ACTIONS(7944),
    [anon_sym_BANG] = ACTIONS(4050),
    [anon_sym_TILDE] = ACTIONS(4050),
    [sym_constant] = ACTIONS(7946),
    [sym_identifier] = ACTIONS(7946),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_false] = ACTIONS(4074),
    [anon_sym_nil] = ACTIONS(4076),
    [anon_sym_self] = ACTIONS(7948),
    [anon_sym_super] = ACTIONS(7950),
    [anon_sym_true] = ACTIONS(4072),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(7930),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [5640] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(8907),
    [sym__primary] = STATE(2763),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2765),
    [sym_call] = STATE(2765),
    [sym_method_call] = STATE(2764),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(2771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2772),
    [sym__variable] = STATE(2765),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(5610),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(7868),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__string_beginning] = ACTIONS(7870),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__unary_minus] = ACTIONS(4012),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(7874),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(7878),
    [anon_sym_module] = ACTIONS(7880),
    [anon_sym_return] = ACTIONS(7934),
    [anon_sym_yield] = ACTIONS(7936),
    [anon_sym_break] = ACTIONS(7938),
    [anon_sym_next] = ACTIONS(7940),
    [anon_sym_redo] = ACTIONS(7890),
    [anon_sym_retry] = ACTIONS(7892),
    [anon_sym_if] = ACTIONS(7894),
    [anon_sym_unless] = ACTIONS(7896),
    [anon_sym_while] = ACTIONS(7898),
    [anon_sym_until] = ACTIONS(7900),
    [anon_sym_for] = ACTIONS(7902),
    [anon_sym_case] = ACTIONS(7904),
    [anon_sym_begin] = ACTIONS(7906),
    [anon_sym_PLUS] = ACTIONS(7942),
    [anon_sym_defined_QMARK] = ACTIONS(4044),
    [anon_sym_not] = ACTIONS(7944),
    [anon_sym_BANG] = ACTIONS(4050),
    [anon_sym_TILDE] = ACTIONS(4050),
    [sym_constant] = ACTIONS(7946),
    [sym_identifier] = ACTIONS(7946),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_false] = ACTIONS(4074),
    [anon_sym_nil] = ACTIONS(4076),
    [anon_sym_self] = ACTIONS(7948),
    [anon_sym_super] = ACTIONS(7950),
    [anon_sym_true] = ACTIONS(4072),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(7930),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [5641] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym__heredoc_body_middle] = ACTIONS(722),
    [sym__heredoc_body_end] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(11834),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [5642] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__heredoc_body_middle] = ACTIONS(2210),
    [sym__heredoc_body_end] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(7984),
    [sym__binary_star] = ACTIONS(7986),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(7988),
    [anon_sym_STAR_STAR] = ACTIONS(7990),
    [anon_sym_AMP] = ACTIONS(7992),
    [anon_sym_LT] = ACTIONS(7994),
    [anon_sym_if] = ACTIONS(2210),
    [anon_sym_unless] = ACTIONS(2210),
    [anon_sym_while] = ACTIONS(2210),
    [anon_sym_until] = ACTIONS(2210),
    [anon_sym_rescue] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(7996),
    [anon_sym_DOT_DOT] = ACTIONS(7998),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8000),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(8002),
    [anon_sym_AMP_AMP] = ACTIONS(8002),
    [anon_sym_LT_LT] = ACTIONS(8004),
    [anon_sym_GT_GT] = ACTIONS(8004),
    [anon_sym_EQ_EQ] = ACTIONS(8006),
    [anon_sym_BANG_EQ] = ACTIONS(8002),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8002),
    [anon_sym_LT_EQ_GT] = ACTIONS(8002),
    [anon_sym_EQ_TILDE] = ACTIONS(8002),
    [anon_sym_BANG_TILDE] = ACTIONS(8002),
    [anon_sym_LT_EQ] = ACTIONS(7994),
    [anon_sym_GT] = ACTIONS(7994),
    [anon_sym_GT_EQ] = ACTIONS(8008),
    [anon_sym_CARET] = ACTIONS(8010),
    [anon_sym_PLUS] = ACTIONS(8012),
    [anon_sym_SLASH] = ACTIONS(7990),
    [anon_sym_PERCENT] = ACTIONS(7990),
    [sym_comment] = ACTIONS(110),
  },
  [5643] = {
    [sym__simple_heredoc_body] = ACTIONS(2264),
    [sym__heredoc_body_beginning] = ACTIONS(2264),
    [sym__heredoc_body_middle] = ACTIONS(2264),
    [sym__heredoc_body_end] = ACTIONS(2264),
    [sym__element_reference_left_bracket] = ACTIONS(2264),
    [sym__scope_double_colon] = ACTIONS(2264),
    [sym__binary_minus] = ACTIONS(2264),
    [sym__binary_star] = ACTIONS(2264),
    [anon_sym_DOT] = ACTIONS(2266),
    [anon_sym_COMMA] = ACTIONS(2264),
    [anon_sym_PIPE] = ACTIONS(2266),
    [anon_sym_STAR_STAR] = ACTIONS(2264),
    [anon_sym_AMP] = ACTIONS(2266),
    [anon_sym_LT] = ACTIONS(2266),
    [anon_sym_if] = ACTIONS(2264),
    [anon_sym_unless] = ACTIONS(2264),
    [anon_sym_while] = ACTIONS(2264),
    [anon_sym_until] = ACTIONS(2264),
    [anon_sym_rescue] = ACTIONS(2264),
    [anon_sym_EQ_GT] = ACTIONS(2264),
    [anon_sym_AMP_DOT] = ACTIONS(2264),
    [anon_sym_QMARK] = ACTIONS(2264),
    [anon_sym_DOT_DOT] = ACTIONS(2266),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2264),
    [anon_sym_and] = ACTIONS(2264),
    [anon_sym_or] = ACTIONS(2264),
    [anon_sym_PIPE_PIPE] = ACTIONS(2264),
    [anon_sym_AMP_AMP] = ACTIONS(2264),
    [anon_sym_LT_LT] = ACTIONS(2264),
    [anon_sym_GT_GT] = ACTIONS(2264),
    [anon_sym_EQ_EQ] = ACTIONS(2266),
    [anon_sym_BANG_EQ] = ACTIONS(2264),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2264),
    [anon_sym_LT_EQ_GT] = ACTIONS(2264),
    [anon_sym_EQ_TILDE] = ACTIONS(2264),
    [anon_sym_BANG_TILDE] = ACTIONS(2264),
    [anon_sym_LT_EQ] = ACTIONS(2266),
    [anon_sym_GT] = ACTIONS(2266),
    [anon_sym_GT_EQ] = ACTIONS(2264),
    [anon_sym_CARET] = ACTIONS(2264),
    [anon_sym_PLUS] = ACTIONS(2264),
    [anon_sym_SLASH] = ACTIONS(2264),
    [anon_sym_PERCENT] = ACTIONS(2264),
    [sym_comment] = ACTIONS(110),
  },
  [5644] = {
    [sym_heredoc_end] = STATE(5705),
    [aux_sym_argument_list_repeat1] = STATE(8910),
    [aux_sym_argument_list_repeat2] = STATE(5706),
    [sym__simple_heredoc_body] = ACTIONS(8034),
    [sym__heredoc_body_beginning] = ACTIONS(8036),
    [sym__heredoc_body_middle] = ACTIONS(2272),
    [sym__heredoc_body_end] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(11836),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_STAR_STAR] = ACTIONS(2272),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_if] = ACTIONS(2272),
    [anon_sym_unless] = ACTIONS(2272),
    [anon_sym_while] = ACTIONS(2272),
    [anon_sym_until] = ACTIONS(2272),
    [anon_sym_rescue] = ACTIONS(2272),
    [anon_sym_EQ_GT] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2272),
    [anon_sym_AMP_AMP] = ACTIONS(2272),
    [anon_sym_LT_LT] = ACTIONS(2272),
    [anon_sym_GT_GT] = ACTIONS(2272),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2272),
    [anon_sym_PLUS] = ACTIONS(2272),
    [anon_sym_SLASH] = ACTIONS(2272),
    [anon_sym_PERCENT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(110),
  },
  [5645] = {
    [sym__keyword_colon] = ACTIONS(11838),
    [sym_comment] = ACTIONS(110),
  },
  [5646] = {
    [sym_string] = STATE(5712),
    [aux_sym_chained_string_repeat1] = STATE(5713),
    [sym__simple_string] = ACTIONS(7868),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(7870),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__heredoc_body_middle] = ACTIONS(250),
    [sym__heredoc_body_end] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(11834),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(7930),
  },
  [5647] = {
    [sym__simple_heredoc_body] = ACTIONS(2286),
    [sym__heredoc_body_beginning] = ACTIONS(2286),
    [sym__heredoc_body_middle] = ACTIONS(2286),
    [sym__heredoc_body_end] = ACTIONS(2286),
    [sym__element_reference_left_bracket] = ACTIONS(2286),
    [sym__scope_double_colon] = ACTIONS(2286),
    [sym__binary_minus] = ACTIONS(2286),
    [sym__binary_star] = ACTIONS(2286),
    [anon_sym_DOT] = ACTIONS(2288),
    [anon_sym_COMMA] = ACTIONS(2286),
    [anon_sym_PIPE] = ACTIONS(2288),
    [anon_sym_STAR_STAR] = ACTIONS(2286),
    [anon_sym_AMP] = ACTIONS(2288),
    [anon_sym_LT] = ACTIONS(2288),
    [anon_sym_if] = ACTIONS(2286),
    [anon_sym_unless] = ACTIONS(2286),
    [anon_sym_while] = ACTIONS(2286),
    [anon_sym_until] = ACTIONS(2286),
    [anon_sym_rescue] = ACTIONS(2286),
    [anon_sym_EQ_GT] = ACTIONS(2286),
    [anon_sym_AMP_DOT] = ACTIONS(2286),
    [anon_sym_QMARK] = ACTIONS(2286),
    [anon_sym_DOT_DOT] = ACTIONS(2288),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2286),
    [anon_sym_and] = ACTIONS(2286),
    [anon_sym_or] = ACTIONS(2286),
    [anon_sym_PIPE_PIPE] = ACTIONS(2286),
    [anon_sym_AMP_AMP] = ACTIONS(2286),
    [anon_sym_LT_LT] = ACTIONS(2286),
    [anon_sym_GT_GT] = ACTIONS(2286),
    [anon_sym_EQ_EQ] = ACTIONS(2288),
    [anon_sym_BANG_EQ] = ACTIONS(2286),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2286),
    [anon_sym_LT_EQ_GT] = ACTIONS(2286),
    [anon_sym_EQ_TILDE] = ACTIONS(2286),
    [anon_sym_BANG_TILDE] = ACTIONS(2286),
    [anon_sym_LT_EQ] = ACTIONS(2288),
    [anon_sym_GT] = ACTIONS(2288),
    [anon_sym_GT_EQ] = ACTIONS(2286),
    [anon_sym_CARET] = ACTIONS(2286),
    [anon_sym_PLUS] = ACTIONS(2286),
    [anon_sym_SLASH] = ACTIONS(2286),
    [anon_sym_PERCENT] = ACTIONS(2286),
    [sym_comment] = ACTIONS(110),
  },
  [5648] = {
    [sym__simple_heredoc_body] = ACTIONS(2290),
    [sym__heredoc_body_beginning] = ACTIONS(2290),
    [sym__heredoc_body_middle] = ACTIONS(2290),
    [sym__heredoc_body_end] = ACTIONS(2290),
    [sym__element_reference_left_bracket] = ACTIONS(2290),
    [sym__scope_double_colon] = ACTIONS(2290),
    [sym__binary_minus] = ACTIONS(2290),
    [sym__binary_star] = ACTIONS(2290),
    [anon_sym_DOT] = ACTIONS(2292),
    [anon_sym_COMMA] = ACTIONS(2290),
    [anon_sym_PIPE] = ACTIONS(2292),
    [anon_sym_STAR_STAR] = ACTIONS(2290),
    [anon_sym_AMP] = ACTIONS(2292),
    [anon_sym_LT] = ACTIONS(2292),
    [anon_sym_if] = ACTIONS(2290),
    [anon_sym_unless] = ACTIONS(2290),
    [anon_sym_while] = ACTIONS(2290),
    [anon_sym_until] = ACTIONS(2290),
    [anon_sym_rescue] = ACTIONS(2290),
    [anon_sym_EQ_GT] = ACTIONS(2290),
    [anon_sym_AMP_DOT] = ACTIONS(2290),
    [anon_sym_QMARK] = ACTIONS(2290),
    [anon_sym_DOT_DOT] = ACTIONS(2292),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2290),
    [anon_sym_and] = ACTIONS(2290),
    [anon_sym_or] = ACTIONS(2290),
    [anon_sym_PIPE_PIPE] = ACTIONS(2290),
    [anon_sym_AMP_AMP] = ACTIONS(2290),
    [anon_sym_LT_LT] = ACTIONS(2290),
    [anon_sym_GT_GT] = ACTIONS(2290),
    [anon_sym_EQ_EQ] = ACTIONS(2292),
    [anon_sym_BANG_EQ] = ACTIONS(2290),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2290),
    [anon_sym_LT_EQ_GT] = ACTIONS(2290),
    [anon_sym_EQ_TILDE] = ACTIONS(2290),
    [anon_sym_BANG_TILDE] = ACTIONS(2290),
    [anon_sym_LT_EQ] = ACTIONS(2292),
    [anon_sym_GT] = ACTIONS(2292),
    [anon_sym_GT_EQ] = ACTIONS(2290),
    [anon_sym_CARET] = ACTIONS(2290),
    [anon_sym_PLUS] = ACTIONS(2290),
    [anon_sym_SLASH] = ACTIONS(2290),
    [anon_sym_PERCENT] = ACTIONS(2290),
    [sym_comment] = ACTIONS(110),
  },
  [5649] = {
    [sym__simple_heredoc_body] = ACTIONS(2294),
    [sym__heredoc_body_beginning] = ACTIONS(2294),
    [sym__heredoc_body_middle] = ACTIONS(2294),
    [sym__heredoc_body_end] = ACTIONS(2294),
    [sym__element_reference_left_bracket] = ACTIONS(2294),
    [sym__scope_double_colon] = ACTIONS(2294),
    [sym__binary_minus] = ACTIONS(2294),
    [sym__binary_star] = ACTIONS(2294),
    [anon_sym_DOT] = ACTIONS(2296),
    [anon_sym_COMMA] = ACTIONS(2294),
    [anon_sym_PIPE] = ACTIONS(2296),
    [anon_sym_STAR_STAR] = ACTIONS(2294),
    [anon_sym_AMP] = ACTIONS(2296),
    [anon_sym_LT] = ACTIONS(2296),
    [anon_sym_if] = ACTIONS(2294),
    [anon_sym_unless] = ACTIONS(2294),
    [anon_sym_while] = ACTIONS(2294),
    [anon_sym_until] = ACTIONS(2294),
    [anon_sym_rescue] = ACTIONS(2294),
    [anon_sym_EQ_GT] = ACTIONS(2294),
    [anon_sym_AMP_DOT] = ACTIONS(2294),
    [anon_sym_QMARK] = ACTIONS(2294),
    [anon_sym_DOT_DOT] = ACTIONS(2296),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2294),
    [anon_sym_and] = ACTIONS(2294),
    [anon_sym_or] = ACTIONS(2294),
    [anon_sym_PIPE_PIPE] = ACTIONS(2294),
    [anon_sym_AMP_AMP] = ACTIONS(2294),
    [anon_sym_LT_LT] = ACTIONS(2294),
    [anon_sym_GT_GT] = ACTIONS(2294),
    [anon_sym_EQ_EQ] = ACTIONS(2296),
    [anon_sym_BANG_EQ] = ACTIONS(2294),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2294),
    [anon_sym_LT_EQ_GT] = ACTIONS(2294),
    [anon_sym_EQ_TILDE] = ACTIONS(2294),
    [anon_sym_BANG_TILDE] = ACTIONS(2294),
    [anon_sym_LT_EQ] = ACTIONS(2296),
    [anon_sym_GT] = ACTIONS(2296),
    [anon_sym_GT_EQ] = ACTIONS(2294),
    [anon_sym_CARET] = ACTIONS(2294),
    [anon_sym_PLUS] = ACTIONS(2294),
    [anon_sym_SLASH] = ACTIONS(2294),
    [anon_sym_PERCENT] = ACTIONS(2294),
    [sym_comment] = ACTIONS(110),
  },
  [5650] = {
    [sym__then] = STATE(8912),
    [sym_heredoc_end] = STATE(1476),
    [sym__terminator] = STATE(1484),
    [sym__simple_heredoc_body] = ACTIONS(2322),
    [sym__heredoc_body_beginning] = ACTIONS(2324),
    [sym__line_break] = ACTIONS(2326),
    [anon_sym_SEMI] = ACTIONS(2326),
    [anon_sym_if] = ACTIONS(2328),
    [anon_sym_unless] = ACTIONS(2330),
    [anon_sym_while] = ACTIONS(2332),
    [anon_sym_until] = ACTIONS(2334),
    [anon_sym_rescue] = ACTIONS(2336),
    [anon_sym_then] = ACTIONS(2338),
    [sym_comment] = ACTIONS(110),
  },
  [5651] = {
    [sym__then] = STATE(8913),
    [sym_heredoc_end] = STATE(1521),
    [sym__terminator] = STATE(1524),
    [sym__simple_heredoc_body] = ACTIONS(2402),
    [sym__heredoc_body_beginning] = ACTIONS(2404),
    [sym__line_break] = ACTIONS(2406),
    [anon_sym_SEMI] = ACTIONS(2406),
    [anon_sym_if] = ACTIONS(2328),
    [anon_sym_unless] = ACTIONS(2330),
    [anon_sym_while] = ACTIONS(2332),
    [anon_sym_until] = ACTIONS(2334),
    [anon_sym_rescue] = ACTIONS(2336),
    [anon_sym_then] = ACTIONS(2408),
    [sym_comment] = ACTIONS(110),
  },
  [5652] = {
    [sym__do] = STATE(8914),
    [sym_heredoc_end] = STATE(1550),
    [sym__terminator] = STATE(1557),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym__line_break] = ACTIONS(2446),
    [sym__binary_minus] = ACTIONS(2448),
    [sym__binary_star] = ACTIONS(2450),
    [anon_sym_PIPE] = ACTIONS(2452),
    [anon_sym_SEMI] = ACTIONS(2446),
    [anon_sym_STAR_STAR] = ACTIONS(2454),
    [anon_sym_AMP] = ACTIONS(2456),
    [anon_sym_LT] = ACTIONS(2458),
    [anon_sym_do] = ACTIONS(2460),
    [anon_sym_QMARK] = ACTIONS(2462),
    [anon_sym_DOT_DOT] = ACTIONS(2464),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2466),
    [anon_sym_and] = ACTIONS(2468),
    [anon_sym_or] = ACTIONS(2468),
    [anon_sym_PIPE_PIPE] = ACTIONS(2470),
    [anon_sym_AMP_AMP] = ACTIONS(2470),
    [anon_sym_LT_LT] = ACTIONS(2472),
    [anon_sym_GT_GT] = ACTIONS(2472),
    [anon_sym_EQ_EQ] = ACTIONS(2474),
    [anon_sym_BANG_EQ] = ACTIONS(2470),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2470),
    [anon_sym_LT_EQ_GT] = ACTIONS(2470),
    [anon_sym_EQ_TILDE] = ACTIONS(2470),
    [anon_sym_BANG_TILDE] = ACTIONS(2470),
    [anon_sym_LT_EQ] = ACTIONS(2458),
    [anon_sym_GT] = ACTIONS(2458),
    [anon_sym_GT_EQ] = ACTIONS(2476),
    [anon_sym_CARET] = ACTIONS(2478),
    [anon_sym_PLUS] = ACTIONS(2480),
    [anon_sym_SLASH] = ACTIONS(2454),
    [anon_sym_PERCENT] = ACTIONS(2454),
    [sym_comment] = ACTIONS(110),
  },
  [5653] = {
    [sym__do] = STATE(8915),
    [sym_heredoc_end] = STATE(1550),
    [sym__terminator] = STATE(1557),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym__line_break] = ACTIONS(2446),
    [sym__binary_minus] = ACTIONS(2448),
    [sym__binary_star] = ACTIONS(2450),
    [anon_sym_PIPE] = ACTIONS(2452),
    [anon_sym_SEMI] = ACTIONS(2446),
    [anon_sym_STAR_STAR] = ACTIONS(2454),
    [anon_sym_AMP] = ACTIONS(2456),
    [anon_sym_LT] = ACTIONS(2458),
    [anon_sym_do] = ACTIONS(2460),
    [anon_sym_QMARK] = ACTIONS(2462),
    [anon_sym_DOT_DOT] = ACTIONS(2464),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2466),
    [anon_sym_and] = ACTIONS(2468),
    [anon_sym_or] = ACTIONS(2468),
    [anon_sym_PIPE_PIPE] = ACTIONS(2470),
    [anon_sym_AMP_AMP] = ACTIONS(2470),
    [anon_sym_LT_LT] = ACTIONS(2472),
    [anon_sym_GT_GT] = ACTIONS(2472),
    [anon_sym_EQ_EQ] = ACTIONS(2474),
    [anon_sym_BANG_EQ] = ACTIONS(2470),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2470),
    [anon_sym_LT_EQ_GT] = ACTIONS(2470),
    [anon_sym_EQ_TILDE] = ACTIONS(2470),
    [anon_sym_BANG_TILDE] = ACTIONS(2470),
    [anon_sym_LT_EQ] = ACTIONS(2458),
    [anon_sym_GT] = ACTIONS(2458),
    [anon_sym_GT_EQ] = ACTIONS(2476),
    [anon_sym_CARET] = ACTIONS(2478),
    [anon_sym_PLUS] = ACTIONS(2480),
    [anon_sym_SLASH] = ACTIONS(2454),
    [anon_sym_PERCENT] = ACTIONS(2454),
    [sym_comment] = ACTIONS(110),
  },
  [5654] = {
    [sym_in] = STATE(8916),
    [anon_sym_in] = ACTIONS(2548),
    [sym_comment] = ACTIONS(110),
  },
  [5655] = {
    [anon_sym_end] = ACTIONS(11840),
    [sym_comment] = ACTIONS(110),
  },
  [5656] = {
    [sym_when] = STATE(8918),
    [sym_heredoc_end] = STATE(387),
    [sym__terminator] = STATE(402),
    [aux_sym_case_repeat1] = STATE(8919),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym__line_break] = ACTIONS(666),
    [sym__binary_minus] = ACTIONS(2600),
    [sym__binary_star] = ACTIONS(2602),
    [anon_sym_PIPE] = ACTIONS(2604),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_STAR_STAR] = ACTIONS(2606),
    [anon_sym_AMP] = ACTIONS(2608),
    [anon_sym_LT] = ACTIONS(2610),
    [anon_sym_when] = ACTIONS(2612),
    [anon_sym_QMARK] = ACTIONS(2614),
    [anon_sym_DOT_DOT] = ACTIONS(2616),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2618),
    [anon_sym_and] = ACTIONS(2620),
    [anon_sym_or] = ACTIONS(2620),
    [anon_sym_PIPE_PIPE] = ACTIONS(2622),
    [anon_sym_AMP_AMP] = ACTIONS(2622),
    [anon_sym_LT_LT] = ACTIONS(2624),
    [anon_sym_GT_GT] = ACTIONS(2624),
    [anon_sym_EQ_EQ] = ACTIONS(2626),
    [anon_sym_BANG_EQ] = ACTIONS(2622),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2622),
    [anon_sym_LT_EQ_GT] = ACTIONS(2622),
    [anon_sym_EQ_TILDE] = ACTIONS(2622),
    [anon_sym_BANG_TILDE] = ACTIONS(2622),
    [anon_sym_LT_EQ] = ACTIONS(2610),
    [anon_sym_GT] = ACTIONS(2610),
    [anon_sym_GT_EQ] = ACTIONS(2628),
    [anon_sym_CARET] = ACTIONS(2630),
    [anon_sym_PLUS] = ACTIONS(2632),
    [anon_sym_SLASH] = ACTIONS(2606),
    [anon_sym_PERCENT] = ACTIONS(2606),
    [sym_comment] = ACTIONS(110),
  },
  [5657] = {
    [sym_when] = STATE(8918),
    [sym_heredoc_end] = STATE(387),
    [sym__terminator] = STATE(1688),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym__line_break] = ACTIONS(666),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_when] = ACTIONS(2612),
    [sym_comment] = ACTIONS(110),
  },
  [5658] = {
    [sym__simple_heredoc_body] = ACTIONS(2674),
    [sym__heredoc_body_beginning] = ACTIONS(2674),
    [sym__heredoc_body_middle] = ACTIONS(2674),
    [sym__heredoc_body_end] = ACTIONS(2674),
    [sym__element_reference_left_bracket] = ACTIONS(2674),
    [sym__scope_double_colon] = ACTIONS(2674),
    [sym__binary_minus] = ACTIONS(2674),
    [sym__binary_star] = ACTIONS(2674),
    [anon_sym_DOT] = ACTIONS(2676),
    [anon_sym_COMMA] = ACTIONS(2674),
    [anon_sym_PIPE] = ACTIONS(2676),
    [anon_sym_STAR_STAR] = ACTIONS(2674),
    [anon_sym_AMP] = ACTIONS(2676),
    [anon_sym_LT] = ACTIONS(2676),
    [anon_sym_if] = ACTIONS(2674),
    [anon_sym_unless] = ACTIONS(2674),
    [anon_sym_while] = ACTIONS(2674),
    [anon_sym_until] = ACTIONS(2674),
    [anon_sym_rescue] = ACTIONS(2674),
    [anon_sym_EQ_GT] = ACTIONS(2674),
    [anon_sym_AMP_DOT] = ACTIONS(2674),
    [anon_sym_QMARK] = ACTIONS(2674),
    [anon_sym_DOT_DOT] = ACTIONS(2676),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2674),
    [anon_sym_and] = ACTIONS(2674),
    [anon_sym_or] = ACTIONS(2674),
    [anon_sym_PIPE_PIPE] = ACTIONS(2674),
    [anon_sym_AMP_AMP] = ACTIONS(2674),
    [anon_sym_LT_LT] = ACTIONS(2674),
    [anon_sym_GT_GT] = ACTIONS(2674),
    [anon_sym_EQ_EQ] = ACTIONS(2676),
    [anon_sym_BANG_EQ] = ACTIONS(2674),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2674),
    [anon_sym_LT_EQ_GT] = ACTIONS(2674),
    [anon_sym_EQ_TILDE] = ACTIONS(2674),
    [anon_sym_BANG_TILDE] = ACTIONS(2674),
    [anon_sym_LT_EQ] = ACTIONS(2676),
    [anon_sym_GT] = ACTIONS(2676),
    [anon_sym_GT_EQ] = ACTIONS(2674),
    [anon_sym_CARET] = ACTIONS(2674),
    [anon_sym_PLUS] = ACTIONS(2674),
    [anon_sym_SLASH] = ACTIONS(2674),
    [anon_sym_PERCENT] = ACTIONS(2674),
    [sym_comment] = ACTIONS(110),
  },
  [5659] = {
    [anon_sym_end] = ACTIONS(11842),
    [sym_comment] = ACTIONS(110),
  },
  [5660] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(8921),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11844),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5661] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__heredoc_body_middle] = ACTIONS(2870),
    [sym__heredoc_body_end] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(7990),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [5662] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__heredoc_body_middle] = ACTIONS(2870),
    [sym__heredoc_body_end] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(7984),
    [sym__binary_star] = ACTIONS(7986),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(7988),
    [anon_sym_STAR_STAR] = ACTIONS(7990),
    [anon_sym_AMP] = ACTIONS(7992),
    [anon_sym_LT] = ACTIONS(7994),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(7996),
    [anon_sym_DOT_DOT] = ACTIONS(7998),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8000),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(8002),
    [anon_sym_AMP_AMP] = ACTIONS(8002),
    [anon_sym_LT_LT] = ACTIONS(8004),
    [anon_sym_GT_GT] = ACTIONS(8004),
    [anon_sym_EQ_EQ] = ACTIONS(8006),
    [anon_sym_BANG_EQ] = ACTIONS(8002),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8002),
    [anon_sym_LT_EQ_GT] = ACTIONS(8002),
    [anon_sym_EQ_TILDE] = ACTIONS(8002),
    [anon_sym_BANG_TILDE] = ACTIONS(8002),
    [anon_sym_LT_EQ] = ACTIONS(7994),
    [anon_sym_GT] = ACTIONS(7994),
    [anon_sym_GT_EQ] = ACTIONS(8008),
    [anon_sym_CARET] = ACTIONS(8010),
    [anon_sym_PLUS] = ACTIONS(8012),
    [anon_sym_SLASH] = ACTIONS(7990),
    [anon_sym_PERCENT] = ACTIONS(7990),
    [sym_comment] = ACTIONS(110),
  },
  [5663] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__heredoc_body_middle] = ACTIONS(2870),
    [sym__heredoc_body_end] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(2870),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [5664] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(8922),
    [sym__primary] = STATE(5605),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(5606),
    [sym_scope_resolution] = STATE(5607),
    [sym_call] = STATE(5607),
    [sym_method_call] = STATE(5606),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(5608),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5609),
    [sym__variable] = STATE(5607),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(5598),
    [sym_true] = STATE(5606),
    [sym_false] = STATE(5606),
    [sym_self] = STATE(5598),
    [sym_nil] = STATE(5606),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(5610),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(7868),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__string_beginning] = ACTIONS(7870),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__unary_minus] = ACTIONS(7872),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(7874),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_COLON_COLON] = ACTIONS(7876),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(7878),
    [anon_sym_module] = ACTIONS(7880),
    [anon_sym_return] = ACTIONS(7882),
    [anon_sym_yield] = ACTIONS(7884),
    [anon_sym_break] = ACTIONS(7886),
    [anon_sym_next] = ACTIONS(7888),
    [anon_sym_redo] = ACTIONS(7890),
    [anon_sym_retry] = ACTIONS(7892),
    [anon_sym_if] = ACTIONS(7894),
    [anon_sym_unless] = ACTIONS(7896),
    [anon_sym_while] = ACTIONS(7898),
    [anon_sym_until] = ACTIONS(7900),
    [anon_sym_for] = ACTIONS(7902),
    [anon_sym_case] = ACTIONS(7904),
    [anon_sym_begin] = ACTIONS(7906),
    [anon_sym_PLUS] = ACTIONS(7908),
    [anon_sym_defined_QMARK] = ACTIONS(7910),
    [anon_sym_not] = ACTIONS(7912),
    [anon_sym_BANG] = ACTIONS(7914),
    [anon_sym_TILDE] = ACTIONS(7914),
    [sym_constant] = ACTIONS(7916),
    [sym_identifier] = ACTIONS(7916),
    [sym_instance_variable] = ACTIONS(7918),
    [sym_class_variable] = ACTIONS(7918),
    [sym_global_variable] = ACTIONS(7918),
    [anon_sym_false] = ACTIONS(7920),
    [anon_sym_nil] = ACTIONS(7922),
    [anon_sym_self] = ACTIONS(7924),
    [anon_sym_super] = ACTIONS(7926),
    [anon_sym_true] = ACTIONS(7928),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(7928),
    [anon_sym_FALSE] = ACTIONS(7920),
    [anon_sym_NIL] = ACTIONS(7922),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(7930),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [5665] = {
    [sym__simple_heredoc_body] = ACTIONS(2882),
    [sym__heredoc_body_beginning] = ACTIONS(2882),
    [sym__heredoc_body_middle] = ACTIONS(2882),
    [sym__heredoc_body_end] = ACTIONS(2882),
    [sym__element_reference_left_bracket] = ACTIONS(2882),
    [sym__scope_double_colon] = ACTIONS(2882),
    [sym__binary_minus] = ACTIONS(2882),
    [sym__binary_star] = ACTIONS(2882),
    [anon_sym_DOT] = ACTIONS(2884),
    [anon_sym_COMMA] = ACTIONS(2882),
    [anon_sym_PIPE] = ACTIONS(2884),
    [anon_sym_STAR_STAR] = ACTIONS(2882),
    [anon_sym_AMP] = ACTIONS(2884),
    [anon_sym_LT] = ACTIONS(2884),
    [anon_sym_if] = ACTIONS(2882),
    [anon_sym_unless] = ACTIONS(2882),
    [anon_sym_while] = ACTIONS(2882),
    [anon_sym_until] = ACTIONS(2882),
    [anon_sym_rescue] = ACTIONS(2882),
    [anon_sym_EQ_GT] = ACTIONS(2882),
    [anon_sym_AMP_DOT] = ACTIONS(2882),
    [anon_sym_QMARK] = ACTIONS(2882),
    [anon_sym_DOT_DOT] = ACTIONS(2884),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2882),
    [anon_sym_and] = ACTIONS(2882),
    [anon_sym_or] = ACTIONS(2882),
    [anon_sym_PIPE_PIPE] = ACTIONS(2882),
    [anon_sym_AMP_AMP] = ACTIONS(2882),
    [anon_sym_LT_LT] = ACTIONS(2882),
    [anon_sym_GT_GT] = ACTIONS(2882),
    [anon_sym_EQ_EQ] = ACTIONS(2884),
    [anon_sym_BANG_EQ] = ACTIONS(2882),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2882),
    [anon_sym_LT_EQ_GT] = ACTIONS(2882),
    [anon_sym_EQ_TILDE] = ACTIONS(2882),
    [anon_sym_BANG_TILDE] = ACTIONS(2882),
    [anon_sym_LT_EQ] = ACTIONS(2884),
    [anon_sym_GT] = ACTIONS(2884),
    [anon_sym_GT_EQ] = ACTIONS(2882),
    [anon_sym_CARET] = ACTIONS(2882),
    [anon_sym_PLUS] = ACTIONS(2882),
    [anon_sym_SLASH] = ACTIONS(2882),
    [anon_sym_PERCENT] = ACTIONS(2882),
    [sym_comment] = ACTIONS(110),
  },
  [5666] = {
    [sym__simple_heredoc_body] = ACTIONS(2952),
    [sym__heredoc_body_beginning] = ACTIONS(2952),
    [sym__heredoc_body_middle] = ACTIONS(2952),
    [sym__heredoc_body_end] = ACTIONS(2952),
    [sym__element_reference_left_bracket] = ACTIONS(2952),
    [sym__scope_double_colon] = ACTIONS(2952),
    [sym__binary_minus] = ACTIONS(2952),
    [sym__binary_star] = ACTIONS(2952),
    [anon_sym_DOT] = ACTIONS(2954),
    [anon_sym_COMMA] = ACTIONS(2952),
    [anon_sym_PIPE] = ACTIONS(2954),
    [anon_sym_STAR_STAR] = ACTIONS(2952),
    [anon_sym_AMP] = ACTIONS(2954),
    [anon_sym_LT] = ACTIONS(2954),
    [anon_sym_if] = ACTIONS(2952),
    [anon_sym_unless] = ACTIONS(2952),
    [anon_sym_while] = ACTIONS(2952),
    [anon_sym_until] = ACTIONS(2952),
    [anon_sym_rescue] = ACTIONS(2952),
    [anon_sym_EQ_GT] = ACTIONS(2952),
    [anon_sym_AMP_DOT] = ACTIONS(2952),
    [anon_sym_QMARK] = ACTIONS(2952),
    [anon_sym_DOT_DOT] = ACTIONS(2954),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2952),
    [anon_sym_and] = ACTIONS(2952),
    [anon_sym_or] = ACTIONS(2952),
    [anon_sym_PIPE_PIPE] = ACTIONS(2952),
    [anon_sym_AMP_AMP] = ACTIONS(2952),
    [anon_sym_LT_LT] = ACTIONS(2952),
    [anon_sym_GT_GT] = ACTIONS(2952),
    [anon_sym_EQ_EQ] = ACTIONS(2954),
    [anon_sym_BANG_EQ] = ACTIONS(2952),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2952),
    [anon_sym_LT_EQ_GT] = ACTIONS(2952),
    [anon_sym_EQ_TILDE] = ACTIONS(2952),
    [anon_sym_BANG_TILDE] = ACTIONS(2952),
    [anon_sym_LT_EQ] = ACTIONS(2954),
    [anon_sym_GT] = ACTIONS(2954),
    [anon_sym_GT_EQ] = ACTIONS(2952),
    [anon_sym_CARET] = ACTIONS(2952),
    [anon_sym_PLUS] = ACTIONS(2952),
    [anon_sym_SLASH] = ACTIONS(2952),
    [anon_sym_PERCENT] = ACTIONS(2952),
    [sym_comment] = ACTIONS(110),
  },
  [5667] = {
    [sym_heredoc_end] = STATE(8923),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RBRACK] = ACTIONS(11770),
    [sym_comment] = ACTIONS(110),
  },
  [5668] = {
    [anon_sym_RBRACK] = ACTIONS(11770),
    [sym_comment] = ACTIONS(110),
  },
  [5669] = {
    [sym__statements] = STATE(8925),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(8926),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(841),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(11846),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_PIPE] = ACTIONS(3048),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5670] = {
    [sym__statements] = STATE(8928),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(8929),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1981),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(8930),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(3076),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(3078),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(3080),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11848),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(3086),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5671] = {
    [sym_do_block] = STATE(8931),
    [sym_block] = STATE(8931),
    [anon_sym_LBRACE] = ACTIONS(7980),
    [anon_sym_do] = ACTIONS(11850),
    [sym_comment] = ACTIONS(110),
  },
  [5672] = {
    [sym__simple_heredoc_body] = ACTIONS(3100),
    [sym__heredoc_body_beginning] = ACTIONS(3100),
    [sym__heredoc_body_middle] = ACTIONS(3100),
    [sym__heredoc_body_end] = ACTIONS(3100),
    [sym__element_reference_left_bracket] = ACTIONS(3100),
    [sym__scope_double_colon] = ACTIONS(3100),
    [sym__binary_minus] = ACTIONS(3100),
    [sym__binary_star] = ACTIONS(3100),
    [anon_sym_DOT] = ACTIONS(3102),
    [anon_sym_COMMA] = ACTIONS(3100),
    [anon_sym_PIPE] = ACTIONS(3102),
    [anon_sym_STAR_STAR] = ACTIONS(3100),
    [anon_sym_AMP] = ACTIONS(3102),
    [anon_sym_LT] = ACTIONS(3102),
    [anon_sym_if] = ACTIONS(3100),
    [anon_sym_unless] = ACTIONS(3100),
    [anon_sym_while] = ACTIONS(3100),
    [anon_sym_until] = ACTIONS(3100),
    [anon_sym_rescue] = ACTIONS(3100),
    [anon_sym_EQ_GT] = ACTIONS(3100),
    [anon_sym_AMP_DOT] = ACTIONS(3100),
    [anon_sym_QMARK] = ACTIONS(3100),
    [anon_sym_DOT_DOT] = ACTIONS(3102),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3100),
    [anon_sym_and] = ACTIONS(3100),
    [anon_sym_or] = ACTIONS(3100),
    [anon_sym_PIPE_PIPE] = ACTIONS(3100),
    [anon_sym_AMP_AMP] = ACTIONS(3100),
    [anon_sym_LT_LT] = ACTIONS(3100),
    [anon_sym_GT_GT] = ACTIONS(3100),
    [anon_sym_EQ_EQ] = ACTIONS(3102),
    [anon_sym_BANG_EQ] = ACTIONS(3100),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3100),
    [anon_sym_LT_EQ_GT] = ACTIONS(3100),
    [anon_sym_EQ_TILDE] = ACTIONS(3100),
    [anon_sym_BANG_TILDE] = ACTIONS(3100),
    [anon_sym_LT_EQ] = ACTIONS(3102),
    [anon_sym_GT] = ACTIONS(3102),
    [anon_sym_GT_EQ] = ACTIONS(3100),
    [anon_sym_CARET] = ACTIONS(3100),
    [anon_sym_PLUS] = ACTIONS(3100),
    [anon_sym_SLASH] = ACTIONS(3100),
    [anon_sym_PERCENT] = ACTIONS(3100),
    [sym_comment] = ACTIONS(110),
  },
  [5673] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(8932),
    [sym__primary] = STATE(2763),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2765),
    [sym_call] = STATE(2765),
    [sym_method_call] = STATE(2764),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(2771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2772),
    [sym__variable] = STATE(2765),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(5610),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(7868),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__string_beginning] = ACTIONS(7870),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__unary_minus] = ACTIONS(4012),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(7874),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(7878),
    [anon_sym_module] = ACTIONS(7880),
    [anon_sym_return] = ACTIONS(7934),
    [anon_sym_yield] = ACTIONS(7936),
    [anon_sym_break] = ACTIONS(7938),
    [anon_sym_next] = ACTIONS(7940),
    [anon_sym_redo] = ACTIONS(7890),
    [anon_sym_retry] = ACTIONS(7892),
    [anon_sym_if] = ACTIONS(7894),
    [anon_sym_unless] = ACTIONS(7896),
    [anon_sym_while] = ACTIONS(7898),
    [anon_sym_until] = ACTIONS(7900),
    [anon_sym_for] = ACTIONS(7902),
    [anon_sym_case] = ACTIONS(7904),
    [anon_sym_begin] = ACTIONS(7906),
    [anon_sym_PLUS] = ACTIONS(7942),
    [anon_sym_defined_QMARK] = ACTIONS(4044),
    [anon_sym_not] = ACTIONS(7944),
    [anon_sym_BANG] = ACTIONS(4050),
    [anon_sym_TILDE] = ACTIONS(4050),
    [sym_constant] = ACTIONS(7946),
    [sym_identifier] = ACTIONS(7946),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_false] = ACTIONS(4074),
    [anon_sym_nil] = ACTIONS(4076),
    [anon_sym_self] = ACTIONS(7948),
    [anon_sym_super] = ACTIONS(7950),
    [anon_sym_true] = ACTIONS(4072),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(7930),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [5674] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(8933),
    [sym__primary] = STATE(2763),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2765),
    [sym_call] = STATE(2765),
    [sym_method_call] = STATE(2764),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(2771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2772),
    [sym__variable] = STATE(2765),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(5610),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(7868),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__string_beginning] = ACTIONS(7870),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__unary_minus] = ACTIONS(4012),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(7874),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(7878),
    [anon_sym_module] = ACTIONS(7880),
    [anon_sym_return] = ACTIONS(7934),
    [anon_sym_yield] = ACTIONS(7936),
    [anon_sym_break] = ACTIONS(7938),
    [anon_sym_next] = ACTIONS(7940),
    [anon_sym_redo] = ACTIONS(7890),
    [anon_sym_retry] = ACTIONS(7892),
    [anon_sym_if] = ACTIONS(7894),
    [anon_sym_unless] = ACTIONS(7896),
    [anon_sym_while] = ACTIONS(7898),
    [anon_sym_until] = ACTIONS(7900),
    [anon_sym_for] = ACTIONS(7902),
    [anon_sym_case] = ACTIONS(7904),
    [anon_sym_begin] = ACTIONS(7906),
    [anon_sym_PLUS] = ACTIONS(7942),
    [anon_sym_defined_QMARK] = ACTIONS(4044),
    [anon_sym_not] = ACTIONS(7944),
    [anon_sym_BANG] = ACTIONS(4050),
    [anon_sym_TILDE] = ACTIONS(4050),
    [sym_constant] = ACTIONS(7946),
    [sym_identifier] = ACTIONS(7946),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_false] = ACTIONS(4074),
    [anon_sym_nil] = ACTIONS(4076),
    [anon_sym_self] = ACTIONS(7948),
    [anon_sym_super] = ACTIONS(7950),
    [anon_sym_true] = ACTIONS(4072),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(7930),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [5675] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(8934),
    [sym__primary] = STATE(2763),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2765),
    [sym_call] = STATE(2765),
    [sym_method_call] = STATE(2764),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(2771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2772),
    [sym__variable] = STATE(2765),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(5610),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(7868),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__string_beginning] = ACTIONS(7870),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__unary_minus] = ACTIONS(4012),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(7874),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(7878),
    [anon_sym_module] = ACTIONS(7880),
    [anon_sym_return] = ACTIONS(7934),
    [anon_sym_yield] = ACTIONS(7936),
    [anon_sym_break] = ACTIONS(7938),
    [anon_sym_next] = ACTIONS(7940),
    [anon_sym_redo] = ACTIONS(7890),
    [anon_sym_retry] = ACTIONS(7892),
    [anon_sym_if] = ACTIONS(7894),
    [anon_sym_unless] = ACTIONS(7896),
    [anon_sym_while] = ACTIONS(7898),
    [anon_sym_until] = ACTIONS(7900),
    [anon_sym_for] = ACTIONS(7902),
    [anon_sym_case] = ACTIONS(7904),
    [anon_sym_begin] = ACTIONS(7906),
    [anon_sym_PLUS] = ACTIONS(7942),
    [anon_sym_defined_QMARK] = ACTIONS(4044),
    [anon_sym_not] = ACTIONS(7944),
    [anon_sym_BANG] = ACTIONS(4050),
    [anon_sym_TILDE] = ACTIONS(4050),
    [sym_constant] = ACTIONS(7946),
    [sym_identifier] = ACTIONS(7946),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_false] = ACTIONS(4074),
    [anon_sym_nil] = ACTIONS(4076),
    [anon_sym_self] = ACTIONS(7948),
    [anon_sym_super] = ACTIONS(7950),
    [anon_sym_true] = ACTIONS(4072),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(7930),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [5676] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(8935),
    [sym__primary] = STATE(2763),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2765),
    [sym_call] = STATE(2765),
    [sym_method_call] = STATE(2764),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(2771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2772),
    [sym__variable] = STATE(2765),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(5610),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(7868),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__string_beginning] = ACTIONS(7870),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__unary_minus] = ACTIONS(4012),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(7874),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(7878),
    [anon_sym_module] = ACTIONS(7880),
    [anon_sym_return] = ACTIONS(7934),
    [anon_sym_yield] = ACTIONS(7936),
    [anon_sym_break] = ACTIONS(7938),
    [anon_sym_next] = ACTIONS(7940),
    [anon_sym_redo] = ACTIONS(7890),
    [anon_sym_retry] = ACTIONS(7892),
    [anon_sym_if] = ACTIONS(7894),
    [anon_sym_unless] = ACTIONS(7896),
    [anon_sym_while] = ACTIONS(7898),
    [anon_sym_until] = ACTIONS(7900),
    [anon_sym_for] = ACTIONS(7902),
    [anon_sym_case] = ACTIONS(7904),
    [anon_sym_begin] = ACTIONS(7906),
    [anon_sym_PLUS] = ACTIONS(7942),
    [anon_sym_defined_QMARK] = ACTIONS(4044),
    [anon_sym_not] = ACTIONS(7944),
    [anon_sym_BANG] = ACTIONS(4050),
    [anon_sym_TILDE] = ACTIONS(4050),
    [sym_constant] = ACTIONS(7946),
    [sym_identifier] = ACTIONS(7946),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_false] = ACTIONS(4074),
    [anon_sym_nil] = ACTIONS(4076),
    [anon_sym_self] = ACTIONS(7948),
    [anon_sym_super] = ACTIONS(7950),
    [anon_sym_true] = ACTIONS(4072),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(7930),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [5677] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(8936),
    [sym__primary] = STATE(2763),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2765),
    [sym_call] = STATE(2765),
    [sym_method_call] = STATE(2764),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(2771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2772),
    [sym__variable] = STATE(2765),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(5610),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(7868),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__string_beginning] = ACTIONS(7870),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__unary_minus] = ACTIONS(4012),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(7874),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(7878),
    [anon_sym_module] = ACTIONS(7880),
    [anon_sym_return] = ACTIONS(7934),
    [anon_sym_yield] = ACTIONS(7936),
    [anon_sym_break] = ACTIONS(7938),
    [anon_sym_next] = ACTIONS(7940),
    [anon_sym_redo] = ACTIONS(7890),
    [anon_sym_retry] = ACTIONS(7892),
    [anon_sym_if] = ACTIONS(7894),
    [anon_sym_unless] = ACTIONS(7896),
    [anon_sym_while] = ACTIONS(7898),
    [anon_sym_until] = ACTIONS(7900),
    [anon_sym_for] = ACTIONS(7902),
    [anon_sym_case] = ACTIONS(7904),
    [anon_sym_begin] = ACTIONS(7906),
    [anon_sym_PLUS] = ACTIONS(7942),
    [anon_sym_defined_QMARK] = ACTIONS(4044),
    [anon_sym_not] = ACTIONS(7944),
    [anon_sym_BANG] = ACTIONS(4050),
    [anon_sym_TILDE] = ACTIONS(4050),
    [sym_constant] = ACTIONS(7946),
    [sym_identifier] = ACTIONS(7946),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_false] = ACTIONS(4074),
    [anon_sym_nil] = ACTIONS(4076),
    [anon_sym_self] = ACTIONS(7948),
    [anon_sym_super] = ACTIONS(7950),
    [anon_sym_true] = ACTIONS(4072),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(7930),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [5678] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(8937),
    [sym__primary] = STATE(2763),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2765),
    [sym_call] = STATE(2765),
    [sym_method_call] = STATE(2764),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(2771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2772),
    [sym__variable] = STATE(2765),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(5610),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(7868),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__string_beginning] = ACTIONS(7870),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__unary_minus] = ACTIONS(4012),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(7874),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(7878),
    [anon_sym_module] = ACTIONS(7880),
    [anon_sym_return] = ACTIONS(7934),
    [anon_sym_yield] = ACTIONS(7936),
    [anon_sym_break] = ACTIONS(7938),
    [anon_sym_next] = ACTIONS(7940),
    [anon_sym_redo] = ACTIONS(7890),
    [anon_sym_retry] = ACTIONS(7892),
    [anon_sym_if] = ACTIONS(7894),
    [anon_sym_unless] = ACTIONS(7896),
    [anon_sym_while] = ACTIONS(7898),
    [anon_sym_until] = ACTIONS(7900),
    [anon_sym_for] = ACTIONS(7902),
    [anon_sym_case] = ACTIONS(7904),
    [anon_sym_begin] = ACTIONS(7906),
    [anon_sym_PLUS] = ACTIONS(7942),
    [anon_sym_defined_QMARK] = ACTIONS(4044),
    [anon_sym_not] = ACTIONS(7944),
    [anon_sym_BANG] = ACTIONS(4050),
    [anon_sym_TILDE] = ACTIONS(4050),
    [sym_constant] = ACTIONS(7946),
    [sym_identifier] = ACTIONS(7946),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_false] = ACTIONS(4074),
    [anon_sym_nil] = ACTIONS(4076),
    [anon_sym_self] = ACTIONS(7948),
    [anon_sym_super] = ACTIONS(7950),
    [anon_sym_true] = ACTIONS(4072),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(7930),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [5679] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(8938),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [5680] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(8939),
    [sym__primary] = STATE(2763),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2765),
    [sym_call] = STATE(2765),
    [sym_method_call] = STATE(2764),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(2771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2772),
    [sym__variable] = STATE(2765),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(5610),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(7868),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__string_beginning] = ACTIONS(7870),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__unary_minus] = ACTIONS(4012),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(7874),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(7878),
    [anon_sym_module] = ACTIONS(7880),
    [anon_sym_return] = ACTIONS(7934),
    [anon_sym_yield] = ACTIONS(7936),
    [anon_sym_break] = ACTIONS(7938),
    [anon_sym_next] = ACTIONS(7940),
    [anon_sym_redo] = ACTIONS(7890),
    [anon_sym_retry] = ACTIONS(7892),
    [anon_sym_if] = ACTIONS(7894),
    [anon_sym_unless] = ACTIONS(7896),
    [anon_sym_while] = ACTIONS(7898),
    [anon_sym_until] = ACTIONS(7900),
    [anon_sym_for] = ACTIONS(7902),
    [anon_sym_case] = ACTIONS(7904),
    [anon_sym_begin] = ACTIONS(7906),
    [anon_sym_PLUS] = ACTIONS(7942),
    [anon_sym_defined_QMARK] = ACTIONS(4044),
    [anon_sym_not] = ACTIONS(7944),
    [anon_sym_BANG] = ACTIONS(4050),
    [anon_sym_TILDE] = ACTIONS(4050),
    [sym_constant] = ACTIONS(7946),
    [sym_identifier] = ACTIONS(7946),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_false] = ACTIONS(4074),
    [anon_sym_nil] = ACTIONS(4076),
    [anon_sym_self] = ACTIONS(7948),
    [anon_sym_super] = ACTIONS(7950),
    [anon_sym_true] = ACTIONS(4072),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(7930),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [5681] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(8940),
    [sym__primary] = STATE(2763),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2765),
    [sym_call] = STATE(2765),
    [sym_method_call] = STATE(2764),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(2771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2772),
    [sym__variable] = STATE(2765),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(5610),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(7868),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__string_beginning] = ACTIONS(7870),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__unary_minus] = ACTIONS(4012),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(7874),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(7878),
    [anon_sym_module] = ACTIONS(7880),
    [anon_sym_return] = ACTIONS(7934),
    [anon_sym_yield] = ACTIONS(7936),
    [anon_sym_break] = ACTIONS(7938),
    [anon_sym_next] = ACTIONS(7940),
    [anon_sym_redo] = ACTIONS(7890),
    [anon_sym_retry] = ACTIONS(7892),
    [anon_sym_if] = ACTIONS(7894),
    [anon_sym_unless] = ACTIONS(7896),
    [anon_sym_while] = ACTIONS(7898),
    [anon_sym_until] = ACTIONS(7900),
    [anon_sym_for] = ACTIONS(7902),
    [anon_sym_case] = ACTIONS(7904),
    [anon_sym_begin] = ACTIONS(7906),
    [anon_sym_PLUS] = ACTIONS(7942),
    [anon_sym_defined_QMARK] = ACTIONS(4044),
    [anon_sym_not] = ACTIONS(7944),
    [anon_sym_BANG] = ACTIONS(4050),
    [anon_sym_TILDE] = ACTIONS(4050),
    [sym_constant] = ACTIONS(7946),
    [sym_identifier] = ACTIONS(7946),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_false] = ACTIONS(4074),
    [anon_sym_nil] = ACTIONS(4076),
    [anon_sym_self] = ACTIONS(7948),
    [anon_sym_super] = ACTIONS(7950),
    [anon_sym_true] = ACTIONS(4072),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(7930),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [5682] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(8941),
    [sym__primary] = STATE(2763),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2765),
    [sym_call] = STATE(2765),
    [sym_method_call] = STATE(2764),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(2771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2772),
    [sym__variable] = STATE(2765),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(5610),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(7868),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__string_beginning] = ACTIONS(7870),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__unary_minus] = ACTIONS(4012),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(7874),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(7878),
    [anon_sym_module] = ACTIONS(7880),
    [anon_sym_return] = ACTIONS(7934),
    [anon_sym_yield] = ACTIONS(7936),
    [anon_sym_break] = ACTIONS(7938),
    [anon_sym_next] = ACTIONS(7940),
    [anon_sym_redo] = ACTIONS(7890),
    [anon_sym_retry] = ACTIONS(7892),
    [anon_sym_if] = ACTIONS(7894),
    [anon_sym_unless] = ACTIONS(7896),
    [anon_sym_while] = ACTIONS(7898),
    [anon_sym_until] = ACTIONS(7900),
    [anon_sym_for] = ACTIONS(7902),
    [anon_sym_case] = ACTIONS(7904),
    [anon_sym_begin] = ACTIONS(7906),
    [anon_sym_PLUS] = ACTIONS(7942),
    [anon_sym_defined_QMARK] = ACTIONS(4044),
    [anon_sym_not] = ACTIONS(7944),
    [anon_sym_BANG] = ACTIONS(4050),
    [anon_sym_TILDE] = ACTIONS(4050),
    [sym_constant] = ACTIONS(7946),
    [sym_identifier] = ACTIONS(7946),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_false] = ACTIONS(4074),
    [anon_sym_nil] = ACTIONS(4076),
    [anon_sym_self] = ACTIONS(7948),
    [anon_sym_super] = ACTIONS(7950),
    [anon_sym_true] = ACTIONS(4072),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(7930),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [5683] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(8942),
    [sym__primary] = STATE(2763),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2765),
    [sym_call] = STATE(2765),
    [sym_method_call] = STATE(2764),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(2771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2772),
    [sym__variable] = STATE(2765),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(5610),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(7868),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__string_beginning] = ACTIONS(7870),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__unary_minus] = ACTIONS(4012),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(7874),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(7878),
    [anon_sym_module] = ACTIONS(7880),
    [anon_sym_return] = ACTIONS(7934),
    [anon_sym_yield] = ACTIONS(7936),
    [anon_sym_break] = ACTIONS(7938),
    [anon_sym_next] = ACTIONS(7940),
    [anon_sym_redo] = ACTIONS(7890),
    [anon_sym_retry] = ACTIONS(7892),
    [anon_sym_if] = ACTIONS(7894),
    [anon_sym_unless] = ACTIONS(7896),
    [anon_sym_while] = ACTIONS(7898),
    [anon_sym_until] = ACTIONS(7900),
    [anon_sym_for] = ACTIONS(7902),
    [anon_sym_case] = ACTIONS(7904),
    [anon_sym_begin] = ACTIONS(7906),
    [anon_sym_PLUS] = ACTIONS(7942),
    [anon_sym_defined_QMARK] = ACTIONS(4044),
    [anon_sym_not] = ACTIONS(7944),
    [anon_sym_BANG] = ACTIONS(4050),
    [anon_sym_TILDE] = ACTIONS(4050),
    [sym_constant] = ACTIONS(7946),
    [sym_identifier] = ACTIONS(7946),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_false] = ACTIONS(4074),
    [anon_sym_nil] = ACTIONS(4076),
    [anon_sym_self] = ACTIONS(7948),
    [anon_sym_super] = ACTIONS(7950),
    [anon_sym_true] = ACTIONS(4072),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(7930),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [5684] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(8943),
    [sym__primary] = STATE(2763),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2765),
    [sym_call] = STATE(2765),
    [sym_method_call] = STATE(2764),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(2771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2772),
    [sym__variable] = STATE(2765),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(5610),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(7868),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__string_beginning] = ACTIONS(7870),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__unary_minus] = ACTIONS(4012),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(7874),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(7878),
    [anon_sym_module] = ACTIONS(7880),
    [anon_sym_return] = ACTIONS(7934),
    [anon_sym_yield] = ACTIONS(7936),
    [anon_sym_break] = ACTIONS(7938),
    [anon_sym_next] = ACTIONS(7940),
    [anon_sym_redo] = ACTIONS(7890),
    [anon_sym_retry] = ACTIONS(7892),
    [anon_sym_if] = ACTIONS(7894),
    [anon_sym_unless] = ACTIONS(7896),
    [anon_sym_while] = ACTIONS(7898),
    [anon_sym_until] = ACTIONS(7900),
    [anon_sym_for] = ACTIONS(7902),
    [anon_sym_case] = ACTIONS(7904),
    [anon_sym_begin] = ACTIONS(7906),
    [anon_sym_PLUS] = ACTIONS(7942),
    [anon_sym_defined_QMARK] = ACTIONS(4044),
    [anon_sym_not] = ACTIONS(7944),
    [anon_sym_BANG] = ACTIONS(4050),
    [anon_sym_TILDE] = ACTIONS(4050),
    [sym_constant] = ACTIONS(7946),
    [sym_identifier] = ACTIONS(7946),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_false] = ACTIONS(4074),
    [anon_sym_nil] = ACTIONS(4076),
    [anon_sym_self] = ACTIONS(7948),
    [anon_sym_super] = ACTIONS(7950),
    [anon_sym_true] = ACTIONS(4072),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(7930),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [5685] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(501),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(8945),
    [sym__argument] = STATE(506),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(509),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(510),
    [sym__variable] = STATE(504),
    [sym_reserved_identifier] = STATE(511),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(512),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(8946),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(804),
    [sym__splat_star] = ACTIONS(806),
    [sym__unary_minus] = ACTIONS(808),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(818),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(824),
    [anon_sym_yield] = ACTIONS(826),
    [anon_sym_break] = ACTIONS(828),
    [anon_sym_next] = ACTIONS(830),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_RBRACK] = ACTIONS(11852),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(852),
    [anon_sym_defined_QMARK] = ACTIONS(854),
    [anon_sym_not] = ACTIONS(856),
    [anon_sym_BANG] = ACTIONS(858),
    [anon_sym_TILDE] = ACTIONS(858),
    [sym_constant] = ACTIONS(860),
    [sym_identifier] = ACTIONS(860),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [5686] = {
    [sym_constant] = ACTIONS(11854),
    [sym_identifier] = ACTIONS(11854),
    [sym_comment] = ACTIONS(110),
  },
  [5687] = {
    [sym_argument_list_with_parens] = STATE(8950),
    [sym__argument_list_with_parens] = STATE(8951),
    [sym_operator] = STATE(8950),
    [sym__argument_list_left_paren] = ACTIONS(11856),
    [anon_sym_PIPE] = ACTIONS(11858),
    [anon_sym_STAR] = ACTIONS(11860),
    [anon_sym_STAR_STAR] = ACTIONS(11858),
    [anon_sym_AMP] = ACTIONS(11858),
    [anon_sym_LT] = ACTIONS(11860),
    [anon_sym_DOT_DOT] = ACTIONS(11858),
    [anon_sym_LT_LT] = ACTIONS(11858),
    [anon_sym_GT_GT] = ACTIONS(11858),
    [anon_sym_EQ_EQ] = ACTIONS(11860),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11858),
    [anon_sym_LT_EQ_GT] = ACTIONS(11858),
    [anon_sym_EQ_TILDE] = ACTIONS(11858),
    [anon_sym_BANG_TILDE] = ACTIONS(11858),
    [anon_sym_LT_EQ] = ACTIONS(11860),
    [anon_sym_GT] = ACTIONS(11860),
    [anon_sym_GT_EQ] = ACTIONS(11858),
    [anon_sym_CARET] = ACTIONS(11858),
    [anon_sym_PLUS] = ACTIONS(11860),
    [anon_sym_SLASH] = ACTIONS(11858),
    [anon_sym_PERCENT] = ACTIONS(11858),
    [anon_sym_BANG] = ACTIONS(11860),
    [anon_sym_TILDE] = ACTIONS(11858),
    [sym_constant] = ACTIONS(11862),
    [sym_identifier] = ACTIONS(11862),
    [anon_sym_DASH] = ACTIONS(11860),
    [anon_sym_PLUS_AT] = ACTIONS(11858),
    [anon_sym_DASH_AT] = ACTIONS(11858),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(11860),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(11858),
    [anon_sym_BQUOTE] = ACTIONS(11858),
    [sym_comment] = ACTIONS(110),
  },
  [5688] = {
    [sym_method] = STATE(2839),
    [sym_singleton_method] = STATE(2839),
    [sym_class] = STATE(2839),
    [sym_singleton_class] = STATE(2839),
    [sym_module] = STATE(2839),
    [sym_return] = STATE(2839),
    [sym_yield] = STATE(2839),
    [sym_break] = STATE(2839),
    [sym_next] = STATE(2839),
    [sym_redo] = STATE(2839),
    [sym_retry] = STATE(2839),
    [sym_while] = STATE(2839),
    [sym_until] = STATE(2839),
    [sym_for] = STATE(2839),
    [sym_case] = STATE(2839),
    [sym_if] = STATE(2839),
    [sym_unless] = STATE(2839),
    [sym_begin] = STATE(2839),
    [sym__arg] = STATE(8952),
    [sym__primary] = STATE(2874),
    [sym_parenthesized_statements] = STATE(2839),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2875),
    [sym_call] = STATE(2875),
    [sym_method_call] = STATE(2764),
    [sym_assignment] = STATE(2881),
    [sym_operator_assignment] = STATE(2881),
    [sym_conditional] = STATE(2881),
    [sym_range] = STATE(2881),
    [sym_binary] = STATE(2881),
    [sym_unary] = STATE(2881),
    [sym_left_assignment_list] = STATE(2882),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2883),
    [sym__variable] = STATE(2875),
    [sym_symbol] = STATE(2839),
    [sym_complex] = STATE(2839),
    [sym_rational] = STATE(2839),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2839),
    [sym_string] = STATE(5842),
    [sym_subshell] = STATE(2839),
    [sym_array] = STATE(2839),
    [sym_hash] = STATE(2839),
    [sym_regex] = STATE(2839),
    [sym_lambda] = STATE(2839),
    [sym__simple_string] = ACTIONS(8168),
    [sym__simple_symbol] = ACTIONS(4164),
    [sym__simple_subshell] = ACTIONS(4166),
    [sym__simple_regex] = ACTIONS(4168),
    [sym__simple_word_list] = ACTIONS(4170),
    [sym__string_beginning] = ACTIONS(8170),
    [sym__symbol_beginning] = ACTIONS(4174),
    [sym__subshell_beginning] = ACTIONS(4176),
    [sym__regex_beginning] = ACTIONS(4178),
    [sym__word_list_beginning] = ACTIONS(4180),
    [sym_heredoc_beginning] = ACTIONS(4182),
    [sym__unary_minus] = ACTIONS(4190),
    [anon_sym_LBRACE] = ACTIONS(8172),
    [anon_sym_def] = ACTIONS(8174),
    [anon_sym_LPAREN] = ACTIONS(4196),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8176),
    [anon_sym_module] = ACTIONS(8178),
    [anon_sym_return] = ACTIONS(8180),
    [anon_sym_yield] = ACTIONS(8182),
    [anon_sym_break] = ACTIONS(8184),
    [anon_sym_next] = ACTIONS(8186),
    [anon_sym_redo] = ACTIONS(8188),
    [anon_sym_retry] = ACTIONS(8190),
    [anon_sym_if] = ACTIONS(8192),
    [anon_sym_unless] = ACTIONS(8194),
    [anon_sym_while] = ACTIONS(8196),
    [anon_sym_until] = ACTIONS(8198),
    [anon_sym_for] = ACTIONS(8200),
    [anon_sym_case] = ACTIONS(8202),
    [anon_sym_begin] = ACTIONS(8204),
    [anon_sym_PLUS] = ACTIONS(8206),
    [anon_sym_defined_QMARK] = ACTIONS(4222),
    [anon_sym_not] = ACTIONS(8208),
    [anon_sym_BANG] = ACTIONS(4228),
    [anon_sym_TILDE] = ACTIONS(4228),
    [sym_constant] = ACTIONS(7946),
    [sym_identifier] = ACTIONS(7946),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_false] = ACTIONS(4074),
    [anon_sym_nil] = ACTIONS(4076),
    [anon_sym_self] = ACTIONS(7948),
    [anon_sym_super] = ACTIONS(7950),
    [anon_sym_true] = ACTIONS(4072),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4232),
    [sym_float] = ACTIONS(4234),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4236),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4238),
    [sym_keyword__LINE__] = ACTIONS(4238),
    [sym_keyword__ENCODING__] = ACTIONS(4238),
    [sym__character_literal] = ACTIONS(8210),
    [anon_sym_LBRACK] = ACTIONS(4242),
    [anon_sym_DASH_GT] = ACTIONS(4244),
  },
  [5689] = {
    [sym_method] = STATE(2839),
    [sym_singleton_method] = STATE(2839),
    [sym_class] = STATE(2839),
    [sym_singleton_class] = STATE(2839),
    [sym_module] = STATE(2839),
    [sym_return] = STATE(2839),
    [sym_yield] = STATE(2839),
    [sym_break] = STATE(2839),
    [sym_next] = STATE(2839),
    [sym_redo] = STATE(2839),
    [sym_retry] = STATE(2839),
    [sym_while] = STATE(2839),
    [sym_until] = STATE(2839),
    [sym_for] = STATE(2839),
    [sym_case] = STATE(2839),
    [sym_if] = STATE(2839),
    [sym_unless] = STATE(2839),
    [sym_begin] = STATE(2839),
    [sym__arg] = STATE(8953),
    [sym__primary] = STATE(2874),
    [sym_parenthesized_statements] = STATE(2839),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2875),
    [sym_call] = STATE(2875),
    [sym_method_call] = STATE(2764),
    [sym_assignment] = STATE(2881),
    [sym_operator_assignment] = STATE(2881),
    [sym_conditional] = STATE(2881),
    [sym_range] = STATE(2881),
    [sym_binary] = STATE(2881),
    [sym_unary] = STATE(2881),
    [sym_left_assignment_list] = STATE(2882),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2883),
    [sym__variable] = STATE(2875),
    [sym_symbol] = STATE(2839),
    [sym_complex] = STATE(2839),
    [sym_rational] = STATE(2839),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2839),
    [sym_string] = STATE(5842),
    [sym_subshell] = STATE(2839),
    [sym_array] = STATE(2839),
    [sym_hash] = STATE(2839),
    [sym_regex] = STATE(2839),
    [sym_lambda] = STATE(2839),
    [sym__simple_string] = ACTIONS(8168),
    [sym__simple_symbol] = ACTIONS(4164),
    [sym__simple_subshell] = ACTIONS(4166),
    [sym__simple_regex] = ACTIONS(4168),
    [sym__simple_word_list] = ACTIONS(4170),
    [sym__string_beginning] = ACTIONS(8170),
    [sym__symbol_beginning] = ACTIONS(4174),
    [sym__subshell_beginning] = ACTIONS(4176),
    [sym__regex_beginning] = ACTIONS(4178),
    [sym__word_list_beginning] = ACTIONS(4180),
    [sym_heredoc_beginning] = ACTIONS(4182),
    [sym__unary_minus] = ACTIONS(4190),
    [anon_sym_LBRACE] = ACTIONS(8172),
    [anon_sym_def] = ACTIONS(8174),
    [anon_sym_LPAREN] = ACTIONS(4196),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8176),
    [anon_sym_module] = ACTIONS(8178),
    [anon_sym_return] = ACTIONS(8180),
    [anon_sym_yield] = ACTIONS(8182),
    [anon_sym_break] = ACTIONS(8184),
    [anon_sym_next] = ACTIONS(8186),
    [anon_sym_redo] = ACTIONS(8188),
    [anon_sym_retry] = ACTIONS(8190),
    [anon_sym_if] = ACTIONS(8192),
    [anon_sym_unless] = ACTIONS(8194),
    [anon_sym_while] = ACTIONS(8196),
    [anon_sym_until] = ACTIONS(8198),
    [anon_sym_for] = ACTIONS(8200),
    [anon_sym_case] = ACTIONS(8202),
    [anon_sym_begin] = ACTIONS(8204),
    [anon_sym_PLUS] = ACTIONS(8206),
    [anon_sym_defined_QMARK] = ACTIONS(4222),
    [anon_sym_not] = ACTIONS(8208),
    [anon_sym_BANG] = ACTIONS(4228),
    [anon_sym_TILDE] = ACTIONS(4228),
    [sym_constant] = ACTIONS(7946),
    [sym_identifier] = ACTIONS(7946),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_false] = ACTIONS(4074),
    [anon_sym_nil] = ACTIONS(4076),
    [anon_sym_self] = ACTIONS(7948),
    [anon_sym_super] = ACTIONS(7950),
    [anon_sym_true] = ACTIONS(4072),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4232),
    [sym_float] = ACTIONS(4234),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4236),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4238),
    [sym_keyword__LINE__] = ACTIONS(4238),
    [sym_keyword__ENCODING__] = ACTIONS(4238),
    [sym__character_literal] = ACTIONS(8210),
    [anon_sym_LBRACK] = ACTIONS(4242),
    [anon_sym_DASH_GT] = ACTIONS(4244),
  },
  [5690] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1382),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(8955),
    [sym__argument] = STATE(1385),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1386),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1387),
    [sym__variable] = STATE(1383),
    [sym_reserved_identifier] = STATE(1388),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1389),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(8956),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(2154),
    [sym__splat_star] = ACTIONS(2156),
    [sym__unary_minus] = ACTIONS(2158),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(11864),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2162),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2164),
    [anon_sym_yield] = ACTIONS(2166),
    [anon_sym_break] = ACTIONS(2168),
    [anon_sym_next] = ACTIONS(2170),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2172),
    [anon_sym_defined_QMARK] = ACTIONS(2174),
    [anon_sym_not] = ACTIONS(2176),
    [anon_sym_BANG] = ACTIONS(2178),
    [anon_sym_TILDE] = ACTIONS(2178),
    [sym_constant] = ACTIONS(2180),
    [sym_identifier] = ACTIONS(2180),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [5691] = {
    [sym__statements] = STATE(8957),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(8958),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2128),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_hash_splat_argument] = STATE(197),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(2130),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2131),
    [sym__variable] = STATE(2129),
    [sym_reserved_identifier] = STATE(201),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(2132),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(5846),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym__hash_items] = STATE(5847),
    [sym_pair] = STATE(205),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3268),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(8212),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_PIPE] = ACTIONS(3048),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(302),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(3272),
    [anon_sym_yield] = ACTIONS(3274),
    [anon_sym_break] = ACTIONS(3276),
    [anon_sym_next] = ACTIONS(3278),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(3280),
    [anon_sym_defined_QMARK] = ACTIONS(3282),
    [anon_sym_not] = ACTIONS(3284),
    [anon_sym_BANG] = ACTIONS(3286),
    [anon_sym_TILDE] = ACTIONS(3286),
    [sym_constant] = ACTIONS(3288),
    [sym_identifier] = ACTIONS(3288),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(3290),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(3292),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5692] = {
    [sym_method] = STATE(2839),
    [sym_singleton_method] = STATE(2839),
    [sym_class] = STATE(2839),
    [sym_singleton_class] = STATE(2839),
    [sym_module] = STATE(2839),
    [sym_return] = STATE(2839),
    [sym_yield] = STATE(2839),
    [sym_break] = STATE(2839),
    [sym_next] = STATE(2839),
    [sym_redo] = STATE(2839),
    [sym_retry] = STATE(2839),
    [sym_while] = STATE(2839),
    [sym_until] = STATE(2839),
    [sym_for] = STATE(2839),
    [sym_case] = STATE(2839),
    [sym_if] = STATE(2839),
    [sym_unless] = STATE(2839),
    [sym_begin] = STATE(2839),
    [sym__arg] = STATE(8959),
    [sym__primary] = STATE(2874),
    [sym_parenthesized_statements] = STATE(2839),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2875),
    [sym_call] = STATE(2875),
    [sym_method_call] = STATE(2764),
    [sym_assignment] = STATE(2881),
    [sym_operator_assignment] = STATE(2881),
    [sym_conditional] = STATE(2881),
    [sym_range] = STATE(2881),
    [sym_binary] = STATE(2881),
    [sym_unary] = STATE(2881),
    [sym_left_assignment_list] = STATE(2882),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2883),
    [sym__variable] = STATE(2875),
    [sym_symbol] = STATE(2839),
    [sym_complex] = STATE(2839),
    [sym_rational] = STATE(2839),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2839),
    [sym_string] = STATE(5842),
    [sym_subshell] = STATE(2839),
    [sym_array] = STATE(2839),
    [sym_hash] = STATE(2839),
    [sym_regex] = STATE(2839),
    [sym_lambda] = STATE(2839),
    [sym__simple_string] = ACTIONS(8168),
    [sym__simple_symbol] = ACTIONS(4164),
    [sym__simple_subshell] = ACTIONS(4166),
    [sym__simple_regex] = ACTIONS(4168),
    [sym__simple_word_list] = ACTIONS(4170),
    [sym__string_beginning] = ACTIONS(8170),
    [sym__symbol_beginning] = ACTIONS(4174),
    [sym__subshell_beginning] = ACTIONS(4176),
    [sym__regex_beginning] = ACTIONS(4178),
    [sym__word_list_beginning] = ACTIONS(4180),
    [sym_heredoc_beginning] = ACTIONS(4182),
    [sym__unary_minus] = ACTIONS(4190),
    [anon_sym_LBRACE] = ACTIONS(8172),
    [anon_sym_def] = ACTIONS(8174),
    [anon_sym_LPAREN] = ACTIONS(4196),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8176),
    [anon_sym_module] = ACTIONS(8178),
    [anon_sym_return] = ACTIONS(8180),
    [anon_sym_yield] = ACTIONS(8182),
    [anon_sym_break] = ACTIONS(8184),
    [anon_sym_next] = ACTIONS(8186),
    [anon_sym_redo] = ACTIONS(8188),
    [anon_sym_retry] = ACTIONS(8190),
    [anon_sym_if] = ACTIONS(8192),
    [anon_sym_unless] = ACTIONS(8194),
    [anon_sym_while] = ACTIONS(8196),
    [anon_sym_until] = ACTIONS(8198),
    [anon_sym_for] = ACTIONS(8200),
    [anon_sym_case] = ACTIONS(8202),
    [anon_sym_begin] = ACTIONS(8204),
    [anon_sym_PLUS] = ACTIONS(8206),
    [anon_sym_defined_QMARK] = ACTIONS(4222),
    [anon_sym_not] = ACTIONS(8208),
    [anon_sym_BANG] = ACTIONS(4228),
    [anon_sym_TILDE] = ACTIONS(4228),
    [sym_constant] = ACTIONS(7946),
    [sym_identifier] = ACTIONS(7946),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_false] = ACTIONS(4074),
    [anon_sym_nil] = ACTIONS(4076),
    [anon_sym_self] = ACTIONS(7948),
    [anon_sym_super] = ACTIONS(7950),
    [anon_sym_true] = ACTIONS(4072),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4232),
    [sym_float] = ACTIONS(4234),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4236),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4238),
    [sym_keyword__LINE__] = ACTIONS(4238),
    [sym_keyword__ENCODING__] = ACTIONS(4238),
    [sym__character_literal] = ACTIONS(8210),
    [anon_sym_LBRACK] = ACTIONS(4242),
    [anon_sym_DASH_GT] = ACTIONS(4244),
  },
  [5693] = {
    [sym__statements] = STATE(8961),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(8962),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1981),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(8963),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(3076),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(3078),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(3080),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11866),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(3086),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5694] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym__heredoc_body_middle] = ACTIONS(722),
    [sym__heredoc_body_end] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(11868),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [5695] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__heredoc_body_middle] = ACTIONS(2210),
    [sym__heredoc_body_end] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(8238),
    [sym__binary_star] = ACTIONS(8240),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(8242),
    [anon_sym_STAR_STAR] = ACTIONS(8244),
    [anon_sym_AMP] = ACTIONS(8246),
    [anon_sym_EQ] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(8248),
    [anon_sym_if] = ACTIONS(2210),
    [anon_sym_unless] = ACTIONS(2210),
    [anon_sym_while] = ACTIONS(2210),
    [anon_sym_until] = ACTIONS(2210),
    [anon_sym_rescue] = ACTIONS(2210),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_PLUS_EQ] = ACTIONS(2210),
    [anon_sym_DASH_EQ] = ACTIONS(2210),
    [anon_sym_STAR_EQ] = ACTIONS(2210),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2210),
    [anon_sym_SLASH_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2210),
    [anon_sym_AMP_EQ] = ACTIONS(2210),
    [anon_sym_PERCENT_EQ] = ACTIONS(2210),
    [anon_sym_GT_GT_EQ] = ACTIONS(2210),
    [anon_sym_LT_LT_EQ] = ACTIONS(2210),
    [anon_sym_CARET_EQ] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(8250),
    [anon_sym_DOT_DOT] = ACTIONS(8252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8254),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(8256),
    [anon_sym_AMP_AMP] = ACTIONS(8256),
    [anon_sym_LT_LT] = ACTIONS(8258),
    [anon_sym_GT_GT] = ACTIONS(8258),
    [anon_sym_EQ_EQ] = ACTIONS(8256),
    [anon_sym_BANG_EQ] = ACTIONS(8260),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8260),
    [anon_sym_LT_EQ_GT] = ACTIONS(8260),
    [anon_sym_EQ_TILDE] = ACTIONS(8260),
    [anon_sym_BANG_TILDE] = ACTIONS(8260),
    [anon_sym_LT_EQ] = ACTIONS(8248),
    [anon_sym_GT] = ACTIONS(8248),
    [anon_sym_GT_EQ] = ACTIONS(8262),
    [anon_sym_CARET] = ACTIONS(8242),
    [anon_sym_PLUS] = ACTIONS(8264),
    [anon_sym_SLASH] = ACTIONS(8244),
    [anon_sym_PERCENT] = ACTIONS(8244),
    [sym_comment] = ACTIONS(256),
  },
  [5696] = {
    [sym_do_block] = STATE(8965),
    [sym_block] = STATE(8965),
    [sym__simple_heredoc_body] = ACTIONS(3346),
    [sym__heredoc_body_beginning] = ACTIONS(3346),
    [sym__heredoc_body_middle] = ACTIONS(3346),
    [sym__heredoc_body_end] = ACTIONS(3346),
    [sym__element_reference_left_bracket] = ACTIONS(3346),
    [sym__scope_double_colon] = ACTIONS(3346),
    [sym__binary_minus] = ACTIONS(3346),
    [sym__binary_star] = ACTIONS(3346),
    [anon_sym_LBRACE] = ACTIONS(8234),
    [anon_sym_DOT] = ACTIONS(3350),
    [anon_sym_COMMA] = ACTIONS(3346),
    [anon_sym_PIPE] = ACTIONS(3350),
    [anon_sym_STAR_STAR] = ACTIONS(3350),
    [anon_sym_AMP] = ACTIONS(3350),
    [anon_sym_EQ] = ACTIONS(3350),
    [anon_sym_LT] = ACTIONS(3350),
    [anon_sym_if] = ACTIONS(3346),
    [anon_sym_unless] = ACTIONS(3346),
    [anon_sym_while] = ACTIONS(3346),
    [anon_sym_until] = ACTIONS(3346),
    [anon_sym_rescue] = ACTIONS(3346),
    [anon_sym_do] = ACTIONS(11870),
    [anon_sym_EQ_GT] = ACTIONS(3346),
    [anon_sym_AMP_DOT] = ACTIONS(3346),
    [anon_sym_PLUS_EQ] = ACTIONS(3346),
    [anon_sym_DASH_EQ] = ACTIONS(3346),
    [anon_sym_STAR_EQ] = ACTIONS(3346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3346),
    [anon_sym_SLASH_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3346),
    [anon_sym_AMP_EQ] = ACTIONS(3346),
    [anon_sym_PERCENT_EQ] = ACTIONS(3346),
    [anon_sym_GT_GT_EQ] = ACTIONS(3346),
    [anon_sym_LT_LT_EQ] = ACTIONS(3346),
    [anon_sym_CARET_EQ] = ACTIONS(3346),
    [anon_sym_QMARK] = ACTIONS(3346),
    [anon_sym_DOT_DOT] = ACTIONS(3350),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3346),
    [anon_sym_and] = ACTIONS(3346),
    [anon_sym_or] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE] = ACTIONS(3350),
    [anon_sym_AMP_AMP] = ACTIONS(3350),
    [anon_sym_LT_LT] = ACTIONS(3350),
    [anon_sym_GT_GT] = ACTIONS(3350),
    [anon_sym_EQ_EQ] = ACTIONS(3350),
    [anon_sym_BANG_EQ] = ACTIONS(3346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3346),
    [anon_sym_LT_EQ_GT] = ACTIONS(3346),
    [anon_sym_EQ_TILDE] = ACTIONS(3346),
    [anon_sym_BANG_TILDE] = ACTIONS(3346),
    [anon_sym_LT_EQ] = ACTIONS(3350),
    [anon_sym_GT] = ACTIONS(3350),
    [anon_sym_GT_EQ] = ACTIONS(3346),
    [anon_sym_CARET] = ACTIONS(3350),
    [anon_sym_PLUS] = ACTIONS(3350),
    [anon_sym_SLASH] = ACTIONS(3350),
    [anon_sym_PERCENT] = ACTIONS(3350),
    [sym_comment] = ACTIONS(256),
  },
  [5697] = {
    [sym_heredoc_end] = STATE(8968),
    [aux_sym_argument_list_repeat2] = STATE(8969),
    [sym__simple_heredoc_body] = ACTIONS(11872),
    [sym__heredoc_body_beginning] = ACTIONS(11874),
    [sym__heredoc_body_middle] = ACTIONS(2272),
    [sym__heredoc_body_end] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(2272),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_STAR_STAR] = ACTIONS(2274),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_EQ] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_if] = ACTIONS(2272),
    [anon_sym_unless] = ACTIONS(2272),
    [anon_sym_while] = ACTIONS(2272),
    [anon_sym_until] = ACTIONS(2272),
    [anon_sym_rescue] = ACTIONS(2272),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_EQ_GT] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_PLUS_EQ] = ACTIONS(2272),
    [anon_sym_DASH_EQ] = ACTIONS(2272),
    [anon_sym_STAR_EQ] = ACTIONS(2272),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2272),
    [anon_sym_SLASH_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2272),
    [anon_sym_AMP_EQ] = ACTIONS(2272),
    [anon_sym_PERCENT_EQ] = ACTIONS(2272),
    [anon_sym_GT_GT_EQ] = ACTIONS(2272),
    [anon_sym_LT_LT_EQ] = ACTIONS(2272),
    [anon_sym_CARET_EQ] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2274),
    [anon_sym_AMP_AMP] = ACTIONS(2274),
    [anon_sym_LT_LT] = ACTIONS(2274),
    [anon_sym_GT_GT] = ACTIONS(2274),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2274),
    [anon_sym_PLUS] = ACTIONS(2274),
    [anon_sym_SLASH] = ACTIONS(2274),
    [anon_sym_PERCENT] = ACTIONS(2274),
    [sym_comment] = ACTIONS(256),
  },
  [5698] = {
    [sym_heredoc_end] = STATE(8968),
    [aux_sym_argument_list_repeat1] = STATE(8971),
    [aux_sym_argument_list_repeat2] = STATE(8969),
    [sym__simple_heredoc_body] = ACTIONS(11872),
    [sym__heredoc_body_beginning] = ACTIONS(11874),
    [sym__heredoc_body_middle] = ACTIONS(2272),
    [sym__heredoc_body_end] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(11876),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_STAR_STAR] = ACTIONS(2274),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_EQ] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_if] = ACTIONS(2272),
    [anon_sym_unless] = ACTIONS(2272),
    [anon_sym_while] = ACTIONS(2272),
    [anon_sym_until] = ACTIONS(2272),
    [anon_sym_rescue] = ACTIONS(2272),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_EQ_GT] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_PLUS_EQ] = ACTIONS(2272),
    [anon_sym_DASH_EQ] = ACTIONS(2272),
    [anon_sym_STAR_EQ] = ACTIONS(2272),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2272),
    [anon_sym_SLASH_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2272),
    [anon_sym_AMP_EQ] = ACTIONS(2272),
    [anon_sym_PERCENT_EQ] = ACTIONS(2272),
    [anon_sym_GT_GT_EQ] = ACTIONS(2272),
    [anon_sym_LT_LT_EQ] = ACTIONS(2272),
    [anon_sym_CARET_EQ] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2274),
    [anon_sym_AMP_AMP] = ACTIONS(2274),
    [anon_sym_LT_LT] = ACTIONS(2274),
    [anon_sym_GT_GT] = ACTIONS(2274),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2274),
    [anon_sym_PLUS] = ACTIONS(2274),
    [anon_sym_SLASH] = ACTIONS(2274),
    [anon_sym_PERCENT] = ACTIONS(2274),
    [sym_comment] = ACTIONS(256),
  },
  [5699] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__heredoc_body_middle] = ACTIONS(2210),
    [sym__heredoc_body_end] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(2210),
    [sym__binary_star] = ACTIONS(2210),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(2216),
    [anon_sym_STAR_STAR] = ACTIONS(2216),
    [anon_sym_AMP] = ACTIONS(2216),
    [anon_sym_EQ] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(2216),
    [anon_sym_if] = ACTIONS(2210),
    [anon_sym_unless] = ACTIONS(2210),
    [anon_sym_while] = ACTIONS(2210),
    [anon_sym_until] = ACTIONS(2210),
    [anon_sym_rescue] = ACTIONS(2210),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_PLUS_EQ] = ACTIONS(2210),
    [anon_sym_DASH_EQ] = ACTIONS(2210),
    [anon_sym_STAR_EQ] = ACTIONS(2210),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2210),
    [anon_sym_SLASH_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2210),
    [anon_sym_AMP_EQ] = ACTIONS(2210),
    [anon_sym_PERCENT_EQ] = ACTIONS(2210),
    [anon_sym_GT_GT_EQ] = ACTIONS(2210),
    [anon_sym_LT_LT_EQ] = ACTIONS(2210),
    [anon_sym_CARET_EQ] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(2210),
    [anon_sym_DOT_DOT] = ACTIONS(2216),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2210),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(2216),
    [anon_sym_AMP_AMP] = ACTIONS(2216),
    [anon_sym_LT_LT] = ACTIONS(2216),
    [anon_sym_GT_GT] = ACTIONS(2216),
    [anon_sym_EQ_EQ] = ACTIONS(2216),
    [anon_sym_BANG_EQ] = ACTIONS(2210),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2210),
    [anon_sym_LT_EQ_GT] = ACTIONS(2210),
    [anon_sym_EQ_TILDE] = ACTIONS(2210),
    [anon_sym_BANG_TILDE] = ACTIONS(2210),
    [anon_sym_LT_EQ] = ACTIONS(2216),
    [anon_sym_GT] = ACTIONS(2216),
    [anon_sym_GT_EQ] = ACTIONS(2210),
    [anon_sym_CARET] = ACTIONS(2216),
    [anon_sym_PLUS] = ACTIONS(2216),
    [anon_sym_SLASH] = ACTIONS(2216),
    [anon_sym_PERCENT] = ACTIONS(2216),
    [sym_comment] = ACTIONS(256),
  },
  [5700] = {
    [sym__simple_heredoc_body] = ACTIONS(3346),
    [sym__heredoc_body_beginning] = ACTIONS(3346),
    [sym__heredoc_body_middle] = ACTIONS(3346),
    [sym__heredoc_body_end] = ACTIONS(3346),
    [sym__element_reference_left_bracket] = ACTIONS(3346),
    [sym__scope_double_colon] = ACTIONS(3346),
    [sym__binary_minus] = ACTIONS(3346),
    [sym__binary_star] = ACTIONS(3346),
    [anon_sym_LBRACE] = ACTIONS(3346),
    [anon_sym_DOT] = ACTIONS(3350),
    [anon_sym_COMMA] = ACTIONS(3346),
    [anon_sym_PIPE] = ACTIONS(3350),
    [anon_sym_STAR_STAR] = ACTIONS(3350),
    [anon_sym_AMP] = ACTIONS(3350),
    [anon_sym_EQ] = ACTIONS(3350),
    [anon_sym_LT] = ACTIONS(3350),
    [anon_sym_if] = ACTIONS(3346),
    [anon_sym_unless] = ACTIONS(3346),
    [anon_sym_while] = ACTIONS(3346),
    [anon_sym_until] = ACTIONS(3346),
    [anon_sym_rescue] = ACTIONS(3346),
    [anon_sym_do] = ACTIONS(3346),
    [anon_sym_EQ_GT] = ACTIONS(3346),
    [anon_sym_AMP_DOT] = ACTIONS(3346),
    [anon_sym_PLUS_EQ] = ACTIONS(3346),
    [anon_sym_DASH_EQ] = ACTIONS(3346),
    [anon_sym_STAR_EQ] = ACTIONS(3346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3346),
    [anon_sym_SLASH_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3346),
    [anon_sym_AMP_EQ] = ACTIONS(3346),
    [anon_sym_PERCENT_EQ] = ACTIONS(3346),
    [anon_sym_GT_GT_EQ] = ACTIONS(3346),
    [anon_sym_LT_LT_EQ] = ACTIONS(3346),
    [anon_sym_CARET_EQ] = ACTIONS(3346),
    [anon_sym_QMARK] = ACTIONS(3346),
    [anon_sym_DOT_DOT] = ACTIONS(3350),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3346),
    [anon_sym_and] = ACTIONS(3346),
    [anon_sym_or] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE] = ACTIONS(3350),
    [anon_sym_AMP_AMP] = ACTIONS(3350),
    [anon_sym_LT_LT] = ACTIONS(3350),
    [anon_sym_GT_GT] = ACTIONS(3350),
    [anon_sym_EQ_EQ] = ACTIONS(3350),
    [anon_sym_BANG_EQ] = ACTIONS(3346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3346),
    [anon_sym_LT_EQ_GT] = ACTIONS(3346),
    [anon_sym_EQ_TILDE] = ACTIONS(3346),
    [anon_sym_BANG_TILDE] = ACTIONS(3346),
    [anon_sym_LT_EQ] = ACTIONS(3350),
    [anon_sym_GT] = ACTIONS(3350),
    [anon_sym_GT_EQ] = ACTIONS(3346),
    [anon_sym_CARET] = ACTIONS(3350),
    [anon_sym_PLUS] = ACTIONS(3350),
    [anon_sym_SLASH] = ACTIONS(3350),
    [anon_sym_PERCENT] = ACTIONS(3350),
    [sym_comment] = ACTIONS(256),
  },
  [5701] = {
    [sym__keyword_colon] = ACTIONS(11878),
    [sym_comment] = ACTIONS(110),
  },
  [5702] = {
    [sym_string] = STATE(5916),
    [aux_sym_chained_string_repeat1] = STATE(5917),
    [sym__simple_string] = ACTIONS(8168),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(8170),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__heredoc_body_middle] = ACTIONS(250),
    [sym__heredoc_body_end] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(11868),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(8210),
  },
  [5703] = {
    [sym__simple_heredoc_body] = ACTIONS(1398),
    [sym__heredoc_body_beginning] = ACTIONS(1398),
    [sym__heredoc_body_middle] = ACTIONS(1398),
    [sym__heredoc_body_end] = ACTIONS(1398),
    [sym__element_reference_left_bracket] = ACTIONS(1398),
    [sym__scope_double_colon] = ACTIONS(1398),
    [sym__binary_minus] = ACTIONS(1398),
    [sym__binary_star] = ACTIONS(1398),
    [anon_sym_DOT] = ACTIONS(2666),
    [anon_sym_COMMA] = ACTIONS(1398),
    [anon_sym_PIPE] = ACTIONS(2666),
    [anon_sym_STAR_STAR] = ACTIONS(1398),
    [anon_sym_AMP] = ACTIONS(2666),
    [anon_sym_LT] = ACTIONS(2666),
    [anon_sym_if] = ACTIONS(1398),
    [anon_sym_unless] = ACTIONS(1398),
    [anon_sym_while] = ACTIONS(1398),
    [anon_sym_until] = ACTIONS(1398),
    [anon_sym_rescue] = ACTIONS(1398),
    [anon_sym_EQ_GT] = ACTIONS(1398),
    [anon_sym_AMP_DOT] = ACTIONS(1398),
    [anon_sym_QMARK] = ACTIONS(1398),
    [anon_sym_DOT_DOT] = ACTIONS(2666),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1398),
    [anon_sym_and] = ACTIONS(1398),
    [anon_sym_or] = ACTIONS(1398),
    [anon_sym_PIPE_PIPE] = ACTIONS(1398),
    [anon_sym_AMP_AMP] = ACTIONS(1398),
    [anon_sym_LT_LT] = ACTIONS(1398),
    [anon_sym_GT_GT] = ACTIONS(1398),
    [anon_sym_EQ_EQ] = ACTIONS(2666),
    [anon_sym_BANG_EQ] = ACTIONS(1398),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1398),
    [anon_sym_LT_EQ_GT] = ACTIONS(1398),
    [anon_sym_EQ_TILDE] = ACTIONS(1398),
    [anon_sym_BANG_TILDE] = ACTIONS(1398),
    [anon_sym_LT_EQ] = ACTIONS(2666),
    [anon_sym_GT] = ACTIONS(2666),
    [anon_sym_GT_EQ] = ACTIONS(1398),
    [anon_sym_CARET] = ACTIONS(1398),
    [anon_sym_PLUS] = ACTIONS(1398),
    [anon_sym_SLASH] = ACTIONS(1398),
    [anon_sym_PERCENT] = ACTIONS(1398),
    [sym_comment] = ACTIONS(110),
  },
  [5704] = {
    [sym__statement] = STATE(8973),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [aux_sym_heredoc_end_repeat1] = STATE(8974),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [5705] = {
    [sym__simple_heredoc_body] = ACTIONS(5468),
    [sym__heredoc_body_beginning] = ACTIONS(5468),
    [sym__heredoc_body_middle] = ACTIONS(5468),
    [sym__heredoc_body_end] = ACTIONS(5468),
    [sym__element_reference_left_bracket] = ACTIONS(5468),
    [sym__scope_double_colon] = ACTIONS(5468),
    [sym__binary_minus] = ACTIONS(5468),
    [sym__binary_star] = ACTIONS(5468),
    [anon_sym_DOT] = ACTIONS(5470),
    [anon_sym_COMMA] = ACTIONS(5468),
    [anon_sym_PIPE] = ACTIONS(5470),
    [anon_sym_STAR_STAR] = ACTIONS(5468),
    [anon_sym_AMP] = ACTIONS(5470),
    [anon_sym_LT] = ACTIONS(5470),
    [anon_sym_if] = ACTIONS(5468),
    [anon_sym_unless] = ACTIONS(5468),
    [anon_sym_while] = ACTIONS(5468),
    [anon_sym_until] = ACTIONS(5468),
    [anon_sym_rescue] = ACTIONS(5468),
    [anon_sym_EQ_GT] = ACTIONS(5468),
    [anon_sym_AMP_DOT] = ACTIONS(5468),
    [anon_sym_QMARK] = ACTIONS(5468),
    [anon_sym_DOT_DOT] = ACTIONS(5470),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5468),
    [anon_sym_and] = ACTIONS(5468),
    [anon_sym_or] = ACTIONS(5468),
    [anon_sym_PIPE_PIPE] = ACTIONS(5468),
    [anon_sym_AMP_AMP] = ACTIONS(5468),
    [anon_sym_LT_LT] = ACTIONS(5468),
    [anon_sym_GT_GT] = ACTIONS(5468),
    [anon_sym_EQ_EQ] = ACTIONS(5470),
    [anon_sym_BANG_EQ] = ACTIONS(5468),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5468),
    [anon_sym_LT_EQ_GT] = ACTIONS(5468),
    [anon_sym_EQ_TILDE] = ACTIONS(5468),
    [anon_sym_BANG_TILDE] = ACTIONS(5468),
    [anon_sym_LT_EQ] = ACTIONS(5470),
    [anon_sym_GT] = ACTIONS(5470),
    [anon_sym_GT_EQ] = ACTIONS(5468),
    [anon_sym_CARET] = ACTIONS(5468),
    [anon_sym_PLUS] = ACTIONS(5468),
    [anon_sym_SLASH] = ACTIONS(5468),
    [anon_sym_PERCENT] = ACTIONS(5468),
    [sym_comment] = ACTIONS(110),
  },
  [5706] = {
    [sym_heredoc_end] = STATE(8975),
    [sym__simple_heredoc_body] = ACTIONS(8034),
    [sym__heredoc_body_beginning] = ACTIONS(8036),
    [sym__heredoc_body_middle] = ACTIONS(5472),
    [sym__heredoc_body_end] = ACTIONS(5472),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(5472),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_STAR_STAR] = ACTIONS(5472),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_if] = ACTIONS(5472),
    [anon_sym_unless] = ACTIONS(5472),
    [anon_sym_while] = ACTIONS(5472),
    [anon_sym_until] = ACTIONS(5472),
    [anon_sym_rescue] = ACTIONS(5472),
    [anon_sym_EQ_GT] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5472),
    [anon_sym_AMP_AMP] = ACTIONS(5472),
    [anon_sym_LT_LT] = ACTIONS(5472),
    [anon_sym_GT_GT] = ACTIONS(5472),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5472),
    [anon_sym_PLUS] = ACTIONS(5472),
    [anon_sym_SLASH] = ACTIONS(5472),
    [anon_sym_PERCENT] = ACTIONS(5472),
    [sym_comment] = ACTIONS(110),
  },
  [5707] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(2762),
    [sym__primary] = STATE(2763),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2765),
    [sym_call] = STATE(2765),
    [sym_method_call] = STATE(2764),
    [sym__argument] = STATE(8976),
    [sym_splat_argument] = STATE(2769),
    [sym_hash_splat_argument] = STATE(2769),
    [sym_block_argument] = STATE(2769),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(2771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2772),
    [sym__variable] = STATE(2765),
    [sym_reserved_identifier] = STATE(2773),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(2774),
    [sym_subshell] = STATE(2719),
    [sym_heredoc_end] = STATE(8977),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_pair] = STATE(2769),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(3984),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(3994),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__block_ampersand] = ACTIONS(4006),
    [sym__splat_star] = ACTIONS(4008),
    [sym__unary_minus] = ACTIONS(4012),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(4016),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(11880),
    [anon_sym_class] = ACTIONS(4022),
    [anon_sym_module] = ACTIONS(4024),
    [anon_sym_return] = ACTIONS(4026),
    [anon_sym_yield] = ACTIONS(4028),
    [anon_sym_break] = ACTIONS(4030),
    [anon_sym_next] = ACTIONS(4032),
    [anon_sym_redo] = ACTIONS(4034),
    [anon_sym_retry] = ACTIONS(4036),
    [anon_sym_if] = ACTIONS(11882),
    [anon_sym_unless] = ACTIONS(11884),
    [anon_sym_while] = ACTIONS(11886),
    [anon_sym_until] = ACTIONS(11888),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(4038),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(4040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(4042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(7942),
    [anon_sym_defined_QMARK] = ACTIONS(4044),
    [anon_sym_not] = ACTIONS(4046),
    [anon_sym_BANG] = ACTIONS(4050),
    [anon_sym_TILDE] = ACTIONS(4050),
    [sym_constant] = ACTIONS(4052),
    [sym_identifier] = ACTIONS(4052),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(4056),
    [anon_sym_nil] = ACTIONS(4058),
    [anon_sym_self] = ACTIONS(4060),
    [anon_sym_super] = ACTIONS(4062),
    [anon_sym_true] = ACTIONS(4064),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(4080),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [5708] = {
    [sym_heredoc_end] = STATE(5705),
    [aux_sym_argument_list_repeat2] = STATE(8979),
    [sym__simple_heredoc_body] = ACTIONS(8034),
    [sym__heredoc_body_beginning] = ACTIONS(8036),
    [sym__heredoc_body_middle] = ACTIONS(5472),
    [sym__heredoc_body_end] = ACTIONS(5472),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(11890),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_STAR_STAR] = ACTIONS(5472),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_if] = ACTIONS(5472),
    [anon_sym_unless] = ACTIONS(5472),
    [anon_sym_while] = ACTIONS(5472),
    [anon_sym_until] = ACTIONS(5472),
    [anon_sym_rescue] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5472),
    [anon_sym_AMP_AMP] = ACTIONS(5472),
    [anon_sym_LT_LT] = ACTIONS(5472),
    [anon_sym_GT_GT] = ACTIONS(5472),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5472),
    [anon_sym_PLUS] = ACTIONS(5472),
    [anon_sym_SLASH] = ACTIONS(5472),
    [anon_sym_PERCENT] = ACTIONS(5472),
    [sym_comment] = ACTIONS(110),
  },
  [5709] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(8980),
    [sym__primary] = STATE(2763),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2765),
    [sym_call] = STATE(2765),
    [sym_method_call] = STATE(2764),
    [sym_splat_argument] = STATE(8981),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_right_assignment_list] = STATE(8982),
    [sym__arg_or_splat_arg] = STATE(8983),
    [sym_left_assignment_list] = STATE(2771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2772),
    [sym__variable] = STATE(2765),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(5610),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(7868),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__string_beginning] = ACTIONS(7870),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__splat_star] = ACTIONS(7968),
    [sym__unary_minus] = ACTIONS(4012),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(7874),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(7878),
    [anon_sym_module] = ACTIONS(7880),
    [anon_sym_return] = ACTIONS(7934),
    [anon_sym_yield] = ACTIONS(7936),
    [anon_sym_break] = ACTIONS(7938),
    [anon_sym_next] = ACTIONS(7940),
    [anon_sym_redo] = ACTIONS(7890),
    [anon_sym_retry] = ACTIONS(7892),
    [anon_sym_if] = ACTIONS(7894),
    [anon_sym_unless] = ACTIONS(7896),
    [anon_sym_while] = ACTIONS(7898),
    [anon_sym_until] = ACTIONS(7900),
    [anon_sym_for] = ACTIONS(7902),
    [anon_sym_case] = ACTIONS(7904),
    [anon_sym_begin] = ACTIONS(7906),
    [anon_sym_PLUS] = ACTIONS(7942),
    [anon_sym_defined_QMARK] = ACTIONS(4044),
    [anon_sym_not] = ACTIONS(7944),
    [anon_sym_BANG] = ACTIONS(4050),
    [anon_sym_TILDE] = ACTIONS(4050),
    [sym_constant] = ACTIONS(7946),
    [sym_identifier] = ACTIONS(7946),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_false] = ACTIONS(4074),
    [anon_sym_nil] = ACTIONS(4076),
    [anon_sym_self] = ACTIONS(7948),
    [anon_sym_super] = ACTIONS(7950),
    [anon_sym_true] = ACTIONS(4072),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(7930),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [5710] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(8984),
    [sym__primary] = STATE(2763),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2765),
    [sym_call] = STATE(2765),
    [sym_method_call] = STATE(2764),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(2771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2772),
    [sym__variable] = STATE(2765),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(5610),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(7868),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__string_beginning] = ACTIONS(7870),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__unary_minus] = ACTIONS(4012),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(7874),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(7878),
    [anon_sym_module] = ACTIONS(7880),
    [anon_sym_return] = ACTIONS(7934),
    [anon_sym_yield] = ACTIONS(7936),
    [anon_sym_break] = ACTIONS(7938),
    [anon_sym_next] = ACTIONS(7940),
    [anon_sym_redo] = ACTIONS(7890),
    [anon_sym_retry] = ACTIONS(7892),
    [anon_sym_if] = ACTIONS(7894),
    [anon_sym_unless] = ACTIONS(7896),
    [anon_sym_while] = ACTIONS(7898),
    [anon_sym_until] = ACTIONS(7900),
    [anon_sym_for] = ACTIONS(7902),
    [anon_sym_case] = ACTIONS(7904),
    [anon_sym_begin] = ACTIONS(7906),
    [anon_sym_PLUS] = ACTIONS(7942),
    [anon_sym_defined_QMARK] = ACTIONS(4044),
    [anon_sym_not] = ACTIONS(7944),
    [anon_sym_BANG] = ACTIONS(4050),
    [anon_sym_TILDE] = ACTIONS(4050),
    [sym_constant] = ACTIONS(7946),
    [sym_identifier] = ACTIONS(7946),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_false] = ACTIONS(4074),
    [anon_sym_nil] = ACTIONS(4076),
    [anon_sym_self] = ACTIONS(7948),
    [anon_sym_super] = ACTIONS(7950),
    [anon_sym_true] = ACTIONS(4072),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(7930),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [5711] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(8985),
    [sym__primary] = STATE(5605),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(5606),
    [sym_scope_resolution] = STATE(5607),
    [sym_call] = STATE(5607),
    [sym_method_call] = STATE(5606),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(5608),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5609),
    [sym__variable] = STATE(5607),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(5598),
    [sym_true] = STATE(5606),
    [sym_false] = STATE(5606),
    [sym_self] = STATE(5598),
    [sym_nil] = STATE(5606),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(5610),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(7868),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__string_beginning] = ACTIONS(7870),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__unary_minus] = ACTIONS(7872),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(7874),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_COLON_COLON] = ACTIONS(7876),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(7878),
    [anon_sym_module] = ACTIONS(7880),
    [anon_sym_return] = ACTIONS(7882),
    [anon_sym_yield] = ACTIONS(7884),
    [anon_sym_break] = ACTIONS(7886),
    [anon_sym_next] = ACTIONS(7888),
    [anon_sym_redo] = ACTIONS(7890),
    [anon_sym_retry] = ACTIONS(7892),
    [anon_sym_if] = ACTIONS(7894),
    [anon_sym_unless] = ACTIONS(7896),
    [anon_sym_while] = ACTIONS(7898),
    [anon_sym_until] = ACTIONS(7900),
    [anon_sym_for] = ACTIONS(7902),
    [anon_sym_case] = ACTIONS(7904),
    [anon_sym_begin] = ACTIONS(7906),
    [anon_sym_PLUS] = ACTIONS(7908),
    [anon_sym_defined_QMARK] = ACTIONS(7910),
    [anon_sym_not] = ACTIONS(7912),
    [anon_sym_BANG] = ACTIONS(7914),
    [anon_sym_TILDE] = ACTIONS(7914),
    [sym_constant] = ACTIONS(7916),
    [sym_identifier] = ACTIONS(7916),
    [sym_instance_variable] = ACTIONS(7918),
    [sym_class_variable] = ACTIONS(7918),
    [sym_global_variable] = ACTIONS(7918),
    [anon_sym_false] = ACTIONS(7920),
    [anon_sym_nil] = ACTIONS(7922),
    [anon_sym_self] = ACTIONS(7924),
    [anon_sym_super] = ACTIONS(7926),
    [anon_sym_true] = ACTIONS(7928),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(7928),
    [anon_sym_FALSE] = ACTIONS(7920),
    [anon_sym_NIL] = ACTIONS(7922),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(7930),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [5712] = {
    [sym__simple_string] = ACTIONS(3382),
    [sym__simple_heredoc_body] = ACTIONS(3382),
    [sym__string_beginning] = ACTIONS(3382),
    [sym__heredoc_body_beginning] = ACTIONS(3382),
    [sym__heredoc_body_middle] = ACTIONS(3382),
    [sym__heredoc_body_end] = ACTIONS(3382),
    [sym__element_reference_left_bracket] = ACTIONS(3382),
    [sym__scope_double_colon] = ACTIONS(3382),
    [sym__binary_minus] = ACTIONS(3382),
    [sym__binary_star] = ACTIONS(3382),
    [anon_sym_DOT] = ACTIONS(3384),
    [anon_sym_COMMA] = ACTIONS(3382),
    [anon_sym_PIPE] = ACTIONS(3384),
    [anon_sym_STAR_STAR] = ACTIONS(3382),
    [anon_sym_AMP] = ACTIONS(3384),
    [anon_sym_LT] = ACTIONS(3384),
    [anon_sym_if] = ACTIONS(3382),
    [anon_sym_unless] = ACTIONS(3382),
    [anon_sym_while] = ACTIONS(3382),
    [anon_sym_until] = ACTIONS(3382),
    [anon_sym_rescue] = ACTIONS(3382),
    [anon_sym_EQ_GT] = ACTIONS(3382),
    [anon_sym_AMP_DOT] = ACTIONS(3382),
    [anon_sym_QMARK] = ACTIONS(3384),
    [anon_sym_DOT_DOT] = ACTIONS(3384),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3382),
    [anon_sym_and] = ACTIONS(3382),
    [anon_sym_or] = ACTIONS(3382),
    [anon_sym_PIPE_PIPE] = ACTIONS(3382),
    [anon_sym_AMP_AMP] = ACTIONS(3382),
    [anon_sym_LT_LT] = ACTIONS(3382),
    [anon_sym_GT_GT] = ACTIONS(3382),
    [anon_sym_EQ_EQ] = ACTIONS(3384),
    [anon_sym_BANG_EQ] = ACTIONS(3382),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3382),
    [anon_sym_LT_EQ_GT] = ACTIONS(3382),
    [anon_sym_EQ_TILDE] = ACTIONS(3382),
    [anon_sym_BANG_TILDE] = ACTIONS(3382),
    [anon_sym_LT_EQ] = ACTIONS(3384),
    [anon_sym_GT] = ACTIONS(3384),
    [anon_sym_GT_EQ] = ACTIONS(3382),
    [anon_sym_CARET] = ACTIONS(3382),
    [anon_sym_PLUS] = ACTIONS(3382),
    [anon_sym_SLASH] = ACTIONS(3382),
    [anon_sym_PERCENT] = ACTIONS(3382),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(3384),
  },
  [5713] = {
    [sym_string] = STATE(8986),
    [sym__simple_string] = ACTIONS(7868),
    [sym__simple_heredoc_body] = ACTIONS(3386),
    [sym__string_beginning] = ACTIONS(7870),
    [sym__heredoc_body_beginning] = ACTIONS(3386),
    [sym__heredoc_body_middle] = ACTIONS(3386),
    [sym__heredoc_body_end] = ACTIONS(3386),
    [sym__element_reference_left_bracket] = ACTIONS(3386),
    [sym__scope_double_colon] = ACTIONS(3386),
    [sym__binary_minus] = ACTIONS(3386),
    [sym__binary_star] = ACTIONS(3386),
    [anon_sym_DOT] = ACTIONS(3388),
    [anon_sym_COMMA] = ACTIONS(3386),
    [anon_sym_PIPE] = ACTIONS(3388),
    [anon_sym_STAR_STAR] = ACTIONS(3386),
    [anon_sym_AMP] = ACTIONS(3388),
    [anon_sym_LT] = ACTIONS(3388),
    [anon_sym_if] = ACTIONS(3386),
    [anon_sym_unless] = ACTIONS(3386),
    [anon_sym_while] = ACTIONS(3386),
    [anon_sym_until] = ACTIONS(3386),
    [anon_sym_rescue] = ACTIONS(3386),
    [anon_sym_EQ_GT] = ACTIONS(3386),
    [anon_sym_AMP_DOT] = ACTIONS(3386),
    [anon_sym_QMARK] = ACTIONS(3388),
    [anon_sym_DOT_DOT] = ACTIONS(3388),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3386),
    [anon_sym_and] = ACTIONS(3386),
    [anon_sym_or] = ACTIONS(3386),
    [anon_sym_PIPE_PIPE] = ACTIONS(3386),
    [anon_sym_AMP_AMP] = ACTIONS(3386),
    [anon_sym_LT_LT] = ACTIONS(3386),
    [anon_sym_GT_GT] = ACTIONS(3386),
    [anon_sym_EQ_EQ] = ACTIONS(3388),
    [anon_sym_BANG_EQ] = ACTIONS(3386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3386),
    [anon_sym_LT_EQ_GT] = ACTIONS(3386),
    [anon_sym_EQ_TILDE] = ACTIONS(3386),
    [anon_sym_BANG_TILDE] = ACTIONS(3386),
    [anon_sym_LT_EQ] = ACTIONS(3388),
    [anon_sym_GT] = ACTIONS(3388),
    [anon_sym_GT_EQ] = ACTIONS(3386),
    [anon_sym_CARET] = ACTIONS(3386),
    [anon_sym_PLUS] = ACTIONS(3386),
    [anon_sym_SLASH] = ACTIONS(3386),
    [anon_sym_PERCENT] = ACTIONS(3386),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(7930),
  },
  [5714] = {
    [sym__statements] = STATE(8988),
    [sym__top_level_statement] = STATE(3863),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(3864),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_elsif] = STATE(3865),
    [sym_else] = STATE(3865),
    [sym__if_tail] = STATE(8989),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3867),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3869),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3870),
    [sym__variable] = STATE(3868),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(3849),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(8990),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(5566),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(5568),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(5570),
    [sym__unary_minus] = ACTIONS(5572),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11892),
    [anon_sym_SEMI] = ACTIONS(5576),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_elsif] = ACTIONS(5586),
    [anon_sym_else] = ACTIONS(5588),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5590),
    [anon_sym_defined_QMARK] = ACTIONS(5592),
    [anon_sym_not] = ACTIONS(5594),
    [anon_sym_BANG] = ACTIONS(5596),
    [anon_sym_TILDE] = ACTIONS(5596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5715] = {
    [sym__statements] = STATE(8992),
    [sym__top_level_statement] = STATE(3946),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(3947),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(8993),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3949),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3950),
    [sym_call] = STATE(3950),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3951),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3952),
    [sym__variable] = STATE(3950),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5682),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11894),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5686),
    [anon_sym_yield] = ACTIONS(5688),
    [anon_sym_break] = ACTIONS(5690),
    [anon_sym_next] = ACTIONS(5692),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(5588),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5694),
    [anon_sym_defined_QMARK] = ACTIONS(5696),
    [anon_sym_not] = ACTIONS(5698),
    [anon_sym_BANG] = ACTIONS(5700),
    [anon_sym_TILDE] = ACTIONS(5700),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5716] = {
    [sym__statements] = STATE(8995),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11896),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5717] = {
    [sym__statements] = STATE(8997),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11898),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5718] = {
    [sym__do] = STATE(8998),
    [sym_heredoc_end] = STATE(1550),
    [sym__terminator] = STATE(1557),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym__line_break] = ACTIONS(2446),
    [anon_sym_SEMI] = ACTIONS(2446),
    [anon_sym_do] = ACTIONS(2460),
    [sym_comment] = ACTIONS(110),
  },
  [5719] = {
    [sym__heredoc_body_middle] = ACTIONS(6154),
    [sym__heredoc_body_end] = ACTIONS(6154),
    [sym__element_reference_left_bracket] = ACTIONS(6154),
    [sym__scope_double_colon] = ACTIONS(6154),
    [sym__binary_minus] = ACTIONS(6154),
    [sym__binary_star] = ACTIONS(6154),
    [anon_sym_DOT] = ACTIONS(6156),
    [anon_sym_COMMA] = ACTIONS(6154),
    [anon_sym_PIPE] = ACTIONS(6156),
    [anon_sym_STAR_STAR] = ACTIONS(6154),
    [anon_sym_AMP] = ACTIONS(6156),
    [anon_sym_LT] = ACTIONS(6156),
    [anon_sym_if] = ACTIONS(6154),
    [anon_sym_unless] = ACTIONS(6154),
    [anon_sym_while] = ACTIONS(6154),
    [anon_sym_until] = ACTIONS(6154),
    [anon_sym_rescue] = ACTIONS(6154),
    [anon_sym_AMP_DOT] = ACTIONS(6154),
    [anon_sym_QMARK] = ACTIONS(6154),
    [anon_sym_DOT_DOT] = ACTIONS(6156),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6154),
    [anon_sym_and] = ACTIONS(6154),
    [anon_sym_or] = ACTIONS(6154),
    [anon_sym_PIPE_PIPE] = ACTIONS(6154),
    [anon_sym_AMP_AMP] = ACTIONS(6154),
    [anon_sym_LT_LT] = ACTIONS(6154),
    [anon_sym_GT_GT] = ACTIONS(6154),
    [anon_sym_EQ_EQ] = ACTIONS(6156),
    [anon_sym_BANG_EQ] = ACTIONS(6154),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6154),
    [anon_sym_LT_EQ_GT] = ACTIONS(6154),
    [anon_sym_EQ_TILDE] = ACTIONS(6154),
    [anon_sym_BANG_TILDE] = ACTIONS(6154),
    [anon_sym_LT_EQ] = ACTIONS(6156),
    [anon_sym_GT] = ACTIONS(6156),
    [anon_sym_GT_EQ] = ACTIONS(6154),
    [anon_sym_CARET] = ACTIONS(6154),
    [anon_sym_PLUS] = ACTIONS(6154),
    [anon_sym_SLASH] = ACTIONS(6154),
    [anon_sym_PERCENT] = ACTIONS(6154),
    [sym_comment] = ACTIONS(110),
  },
  [5720] = {
    [anon_sym_end] = ACTIONS(11900),
    [sym_comment] = ACTIONS(110),
  },
  [5721] = {
    [sym_when] = STATE(9000),
    [sym_heredoc_end] = STATE(387),
    [sym__terminator] = STATE(1688),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym__line_break] = ACTIONS(666),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_when] = ACTIONS(2612),
    [sym_comment] = ACTIONS(110),
  },
  [5722] = {
    [sym__heredoc_body_middle] = ACTIONS(6600),
    [sym__heredoc_body_end] = ACTIONS(6600),
    [sym__element_reference_left_bracket] = ACTIONS(6600),
    [sym__scope_double_colon] = ACTIONS(6600),
    [sym__binary_minus] = ACTIONS(6600),
    [sym__binary_star] = ACTIONS(6600),
    [anon_sym_DOT] = ACTIONS(6602),
    [anon_sym_COMMA] = ACTIONS(6600),
    [anon_sym_PIPE] = ACTIONS(6602),
    [anon_sym_STAR_STAR] = ACTIONS(6600),
    [anon_sym_AMP] = ACTIONS(6602),
    [anon_sym_LT] = ACTIONS(6602),
    [anon_sym_if] = ACTIONS(6600),
    [anon_sym_unless] = ACTIONS(6600),
    [anon_sym_while] = ACTIONS(6600),
    [anon_sym_until] = ACTIONS(6600),
    [anon_sym_rescue] = ACTIONS(6600),
    [anon_sym_AMP_DOT] = ACTIONS(6600),
    [anon_sym_QMARK] = ACTIONS(6600),
    [anon_sym_DOT_DOT] = ACTIONS(6602),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6600),
    [anon_sym_and] = ACTIONS(6600),
    [anon_sym_or] = ACTIONS(6600),
    [anon_sym_PIPE_PIPE] = ACTIONS(6600),
    [anon_sym_AMP_AMP] = ACTIONS(6600),
    [anon_sym_LT_LT] = ACTIONS(6600),
    [anon_sym_GT_GT] = ACTIONS(6600),
    [anon_sym_EQ_EQ] = ACTIONS(6602),
    [anon_sym_BANG_EQ] = ACTIONS(6600),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6600),
    [anon_sym_LT_EQ_GT] = ACTIONS(6600),
    [anon_sym_EQ_TILDE] = ACTIONS(6600),
    [anon_sym_BANG_TILDE] = ACTIONS(6600),
    [anon_sym_LT_EQ] = ACTIONS(6602),
    [anon_sym_GT] = ACTIONS(6602),
    [anon_sym_GT_EQ] = ACTIONS(6600),
    [anon_sym_CARET] = ACTIONS(6600),
    [anon_sym_PLUS] = ACTIONS(6600),
    [anon_sym_SLASH] = ACTIONS(6600),
    [anon_sym_PERCENT] = ACTIONS(6600),
    [sym_comment] = ACTIONS(110),
  },
  [5723] = {
    [anon_sym_end] = ACTIONS(11902),
    [sym_comment] = ACTIONS(110),
  },
  [5724] = {
    [sym__heredoc_body_middle] = ACTIONS(6690),
    [sym__heredoc_body_end] = ACTIONS(6690),
    [anon_sym_if] = ACTIONS(6690),
    [anon_sym_unless] = ACTIONS(6690),
    [anon_sym_while] = ACTIONS(6690),
    [anon_sym_until] = ACTIONS(6690),
    [anon_sym_rescue] = ACTIONS(6690),
    [sym_comment] = ACTIONS(110),
  },
  [5725] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(11904),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [5726] = {
    [sym__statement] = STATE(9003),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [5727] = {
    [sym__heredoc_body_middle] = ACTIONS(4690),
    [sym__heredoc_body_end] = ACTIONS(4690),
    [anon_sym_COMMA] = ACTIONS(4690),
    [anon_sym_if] = ACTIONS(4690),
    [anon_sym_unless] = ACTIONS(4690),
    [anon_sym_while] = ACTIONS(4690),
    [anon_sym_until] = ACTIONS(4690),
    [anon_sym_rescue] = ACTIONS(4690),
    [sym_comment] = ACTIONS(110),
  },
  [5728] = {
    [sym_operator] = STATE(2796),
    [sym__method_name] = STATE(9004),
    [sym_setter] = STATE(2796),
    [sym_symbol] = STATE(2796),
    [sym__simple_symbol] = ACTIONS(4088),
    [sym__symbol_beginning] = ACTIONS(4090),
    [anon_sym_PIPE] = ACTIONS(4092),
    [anon_sym_STAR] = ACTIONS(4094),
    [anon_sym_STAR_STAR] = ACTIONS(4092),
    [anon_sym_AMP] = ACTIONS(4092),
    [anon_sym_LT] = ACTIONS(4094),
    [anon_sym_DOT_DOT] = ACTIONS(4092),
    [anon_sym_LT_LT] = ACTIONS(4092),
    [anon_sym_GT_GT] = ACTIONS(4092),
    [anon_sym_EQ_EQ] = ACTIONS(4094),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4092),
    [anon_sym_LT_EQ_GT] = ACTIONS(4092),
    [anon_sym_EQ_TILDE] = ACTIONS(4092),
    [anon_sym_BANG_TILDE] = ACTIONS(4092),
    [anon_sym_LT_EQ] = ACTIONS(4094),
    [anon_sym_GT] = ACTIONS(4094),
    [anon_sym_GT_EQ] = ACTIONS(4092),
    [anon_sym_CARET] = ACTIONS(4092),
    [anon_sym_PLUS] = ACTIONS(4094),
    [anon_sym_SLASH] = ACTIONS(4092),
    [anon_sym_PERCENT] = ACTIONS(4092),
    [anon_sym_BANG] = ACTIONS(4094),
    [anon_sym_TILDE] = ACTIONS(4092),
    [sym_constant] = ACTIONS(4096),
    [sym_identifier] = ACTIONS(4098),
    [sym_instance_variable] = ACTIONS(4096),
    [sym_class_variable] = ACTIONS(4096),
    [sym_global_variable] = ACTIONS(4096),
    [anon_sym_DASH] = ACTIONS(4094),
    [anon_sym_PLUS_AT] = ACTIONS(4092),
    [anon_sym_DASH_AT] = ACTIONS(4092),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(4094),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(4092),
    [anon_sym_BQUOTE] = ACTIONS(4092),
    [sym_comment] = ACTIONS(110),
  },
  [5729] = {
    [sym__heredoc_body_middle] = ACTIONS(6694),
    [sym__heredoc_body_end] = ACTIONS(6694),
    [anon_sym_COMMA] = ACTIONS(11906),
    [anon_sym_if] = ACTIONS(6694),
    [anon_sym_unless] = ACTIONS(6694),
    [anon_sym_while] = ACTIONS(6694),
    [anon_sym_until] = ACTIONS(6694),
    [anon_sym_rescue] = ACTIONS(6694),
    [sym_comment] = ACTIONS(110),
  },
  [5730] = {
    [anon_sym_RBRACK] = ACTIONS(11750),
    [sym_comment] = ACTIONS(110),
  },
  [5731] = {
    [sym__heredoc_body_middle] = ACTIONS(6902),
    [sym__heredoc_body_end] = ACTIONS(6902),
    [sym__element_reference_left_bracket] = ACTIONS(6902),
    [sym__scope_double_colon] = ACTIONS(6902),
    [sym__binary_minus] = ACTIONS(6902),
    [sym__binary_star] = ACTIONS(6902),
    [anon_sym_DOT] = ACTIONS(6904),
    [anon_sym_COMMA] = ACTIONS(6902),
    [anon_sym_PIPE] = ACTIONS(6904),
    [anon_sym_STAR_STAR] = ACTIONS(6902),
    [anon_sym_AMP] = ACTIONS(6904),
    [anon_sym_LT] = ACTIONS(6904),
    [anon_sym_if] = ACTIONS(6902),
    [anon_sym_unless] = ACTIONS(6902),
    [anon_sym_while] = ACTIONS(6902),
    [anon_sym_until] = ACTIONS(6902),
    [anon_sym_rescue] = ACTIONS(6902),
    [anon_sym_AMP_DOT] = ACTIONS(6902),
    [anon_sym_QMARK] = ACTIONS(6902),
    [anon_sym_DOT_DOT] = ACTIONS(6904),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6902),
    [anon_sym_and] = ACTIONS(6902),
    [anon_sym_or] = ACTIONS(6902),
    [anon_sym_PIPE_PIPE] = ACTIONS(6902),
    [anon_sym_AMP_AMP] = ACTIONS(6902),
    [anon_sym_LT_LT] = ACTIONS(6902),
    [anon_sym_GT_GT] = ACTIONS(6902),
    [anon_sym_EQ_EQ] = ACTIONS(6904),
    [anon_sym_BANG_EQ] = ACTIONS(6902),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6902),
    [anon_sym_LT_EQ_GT] = ACTIONS(6902),
    [anon_sym_EQ_TILDE] = ACTIONS(6902),
    [anon_sym_BANG_TILDE] = ACTIONS(6902),
    [anon_sym_LT_EQ] = ACTIONS(6904),
    [anon_sym_GT] = ACTIONS(6904),
    [anon_sym_GT_EQ] = ACTIONS(6902),
    [anon_sym_CARET] = ACTIONS(6902),
    [anon_sym_PLUS] = ACTIONS(6902),
    [anon_sym_SLASH] = ACTIONS(6902),
    [anon_sym_PERCENT] = ACTIONS(6902),
    [sym_comment] = ACTIONS(110),
  },
  [5732] = {
    [anon_sym_RBRACE] = ACTIONS(11908),
    [sym_comment] = ACTIONS(110),
  },
  [5733] = {
    [sym__statements] = STATE(9007),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(841),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(11908),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5734] = {
    [sym__heredoc_body_middle] = ACTIONS(6942),
    [sym__heredoc_body_end] = ACTIONS(6942),
    [sym__element_reference_left_bracket] = ACTIONS(6942),
    [sym__scope_double_colon] = ACTIONS(6942),
    [sym__binary_minus] = ACTIONS(6942),
    [sym__binary_star] = ACTIONS(6942),
    [anon_sym_DOT] = ACTIONS(6944),
    [anon_sym_COMMA] = ACTIONS(6942),
    [anon_sym_PIPE] = ACTIONS(6944),
    [anon_sym_STAR_STAR] = ACTIONS(6942),
    [anon_sym_AMP] = ACTIONS(6944),
    [anon_sym_LT] = ACTIONS(6944),
    [anon_sym_if] = ACTIONS(6942),
    [anon_sym_unless] = ACTIONS(6942),
    [anon_sym_while] = ACTIONS(6942),
    [anon_sym_until] = ACTIONS(6942),
    [anon_sym_rescue] = ACTIONS(6942),
    [anon_sym_AMP_DOT] = ACTIONS(6942),
    [anon_sym_QMARK] = ACTIONS(6942),
    [anon_sym_DOT_DOT] = ACTIONS(6944),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6942),
    [anon_sym_and] = ACTIONS(6942),
    [anon_sym_or] = ACTIONS(6942),
    [anon_sym_PIPE_PIPE] = ACTIONS(6942),
    [anon_sym_AMP_AMP] = ACTIONS(6942),
    [anon_sym_LT_LT] = ACTIONS(6942),
    [anon_sym_GT_GT] = ACTIONS(6942),
    [anon_sym_EQ_EQ] = ACTIONS(6944),
    [anon_sym_BANG_EQ] = ACTIONS(6942),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6942),
    [anon_sym_LT_EQ_GT] = ACTIONS(6942),
    [anon_sym_EQ_TILDE] = ACTIONS(6942),
    [anon_sym_BANG_TILDE] = ACTIONS(6942),
    [anon_sym_LT_EQ] = ACTIONS(6944),
    [anon_sym_GT] = ACTIONS(6944),
    [anon_sym_GT_EQ] = ACTIONS(6942),
    [anon_sym_CARET] = ACTIONS(6942),
    [anon_sym_PLUS] = ACTIONS(6942),
    [anon_sym_SLASH] = ACTIONS(6942),
    [anon_sym_PERCENT] = ACTIONS(6942),
    [sym_comment] = ACTIONS(110),
  },
  [5735] = {
    [anon_sym_end] = ACTIONS(11910),
    [sym_comment] = ACTIONS(110),
  },
  [5736] = {
    [sym__statements] = STATE(9009),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(9010),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11912),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5737] = {
    [sym__statements] = STATE(9009),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(9011),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(9010),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11912),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5738] = {
    [sym__heredoc_body_middle] = ACTIONS(6980),
    [sym__heredoc_body_end] = ACTIONS(6980),
    [sym__element_reference_left_bracket] = ACTIONS(6980),
    [sym__scope_double_colon] = ACTIONS(6980),
    [sym__binary_minus] = ACTIONS(6980),
    [sym__binary_star] = ACTIONS(6980),
    [anon_sym_DOT] = ACTIONS(6982),
    [anon_sym_COMMA] = ACTIONS(6980),
    [anon_sym_PIPE] = ACTIONS(6982),
    [anon_sym_STAR_STAR] = ACTIONS(6980),
    [anon_sym_AMP] = ACTIONS(6982),
    [anon_sym_LT] = ACTIONS(6982),
    [anon_sym_if] = ACTIONS(6980),
    [anon_sym_unless] = ACTIONS(6980),
    [anon_sym_while] = ACTIONS(6980),
    [anon_sym_until] = ACTIONS(6980),
    [anon_sym_rescue] = ACTIONS(6980),
    [anon_sym_AMP_DOT] = ACTIONS(6980),
    [anon_sym_QMARK] = ACTIONS(6980),
    [anon_sym_DOT_DOT] = ACTIONS(6982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6980),
    [anon_sym_and] = ACTIONS(6980),
    [anon_sym_or] = ACTIONS(6980),
    [anon_sym_PIPE_PIPE] = ACTIONS(6980),
    [anon_sym_AMP_AMP] = ACTIONS(6980),
    [anon_sym_LT_LT] = ACTIONS(6980),
    [anon_sym_GT_GT] = ACTIONS(6980),
    [anon_sym_EQ_EQ] = ACTIONS(6982),
    [anon_sym_BANG_EQ] = ACTIONS(6980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6980),
    [anon_sym_LT_EQ_GT] = ACTIONS(6980),
    [anon_sym_EQ_TILDE] = ACTIONS(6980),
    [anon_sym_BANG_TILDE] = ACTIONS(6980),
    [anon_sym_LT_EQ] = ACTIONS(6982),
    [anon_sym_GT] = ACTIONS(6982),
    [anon_sym_GT_EQ] = ACTIONS(6980),
    [anon_sym_CARET] = ACTIONS(6980),
    [anon_sym_PLUS] = ACTIONS(6980),
    [anon_sym_SLASH] = ACTIONS(6980),
    [anon_sym_PERCENT] = ACTIONS(6980),
    [sym_comment] = ACTIONS(110),
  },
  [5739] = {
    [sym__heredoc_body_middle] = ACTIONS(6998),
    [sym__heredoc_body_end] = ACTIONS(6998),
    [sym__binary_minus] = ACTIONS(4122),
    [sym__binary_star] = ACTIONS(4124),
    [anon_sym_PIPE] = ACTIONS(4126),
    [anon_sym_STAR_STAR] = ACTIONS(4128),
    [anon_sym_AMP] = ACTIONS(4130),
    [anon_sym_LT] = ACTIONS(4132),
    [anon_sym_if] = ACTIONS(6998),
    [anon_sym_unless] = ACTIONS(6998),
    [anon_sym_while] = ACTIONS(6998),
    [anon_sym_until] = ACTIONS(6998),
    [anon_sym_rescue] = ACTIONS(6998),
    [anon_sym_QMARK] = ACTIONS(4134),
    [anon_sym_DOT_DOT] = ACTIONS(4136),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4138),
    [anon_sym_and] = ACTIONS(4140),
    [anon_sym_or] = ACTIONS(4140),
    [anon_sym_PIPE_PIPE] = ACTIONS(4142),
    [anon_sym_AMP_AMP] = ACTIONS(4142),
    [anon_sym_LT_LT] = ACTIONS(4144),
    [anon_sym_GT_GT] = ACTIONS(4144),
    [anon_sym_EQ_EQ] = ACTIONS(4146),
    [anon_sym_BANG_EQ] = ACTIONS(4142),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4142),
    [anon_sym_LT_EQ_GT] = ACTIONS(4142),
    [anon_sym_EQ_TILDE] = ACTIONS(4142),
    [anon_sym_BANG_TILDE] = ACTIONS(4142),
    [anon_sym_LT_EQ] = ACTIONS(4132),
    [anon_sym_GT] = ACTIONS(4132),
    [anon_sym_GT_EQ] = ACTIONS(4148),
    [anon_sym_CARET] = ACTIONS(4150),
    [anon_sym_PLUS] = ACTIONS(4152),
    [anon_sym_SLASH] = ACTIONS(4128),
    [anon_sym_PERCENT] = ACTIONS(4128),
    [sym_comment] = ACTIONS(110),
  },
  [5740] = {
    [sym__heredoc_body_middle] = ACTIONS(7000),
    [sym__heredoc_body_end] = ACTIONS(7000),
    [sym__binary_minus] = ACTIONS(4122),
    [sym__binary_star] = ACTIONS(4124),
    [anon_sym_PIPE] = ACTIONS(4126),
    [anon_sym_STAR_STAR] = ACTIONS(4128),
    [anon_sym_AMP] = ACTIONS(4130),
    [anon_sym_LT] = ACTIONS(4132),
    [anon_sym_if] = ACTIONS(7000),
    [anon_sym_unless] = ACTIONS(7000),
    [anon_sym_while] = ACTIONS(7000),
    [anon_sym_until] = ACTIONS(7000),
    [anon_sym_rescue] = ACTIONS(7000),
    [anon_sym_QMARK] = ACTIONS(4134),
    [anon_sym_DOT_DOT] = ACTIONS(4136),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4138),
    [anon_sym_and] = ACTIONS(4140),
    [anon_sym_or] = ACTIONS(4140),
    [anon_sym_PIPE_PIPE] = ACTIONS(4142),
    [anon_sym_AMP_AMP] = ACTIONS(4142),
    [anon_sym_LT_LT] = ACTIONS(4144),
    [anon_sym_GT_GT] = ACTIONS(4144),
    [anon_sym_EQ_EQ] = ACTIONS(4146),
    [anon_sym_BANG_EQ] = ACTIONS(4142),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4142),
    [anon_sym_LT_EQ_GT] = ACTIONS(4142),
    [anon_sym_EQ_TILDE] = ACTIONS(4142),
    [anon_sym_BANG_TILDE] = ACTIONS(4142),
    [anon_sym_LT_EQ] = ACTIONS(4132),
    [anon_sym_GT] = ACTIONS(4132),
    [anon_sym_GT_EQ] = ACTIONS(4148),
    [anon_sym_CARET] = ACTIONS(4150),
    [anon_sym_PLUS] = ACTIONS(4152),
    [anon_sym_SLASH] = ACTIONS(4128),
    [anon_sym_PERCENT] = ACTIONS(4128),
    [sym_comment] = ACTIONS(110),
  },
  [5741] = {
    [sym__heredoc_body_middle] = ACTIONS(7002),
    [sym__heredoc_body_end] = ACTIONS(7002),
    [sym__binary_minus] = ACTIONS(4122),
    [sym__binary_star] = ACTIONS(4124),
    [anon_sym_PIPE] = ACTIONS(4126),
    [anon_sym_STAR_STAR] = ACTIONS(4128),
    [anon_sym_AMP] = ACTIONS(4130),
    [anon_sym_LT] = ACTIONS(4132),
    [anon_sym_if] = ACTIONS(7002),
    [anon_sym_unless] = ACTIONS(7002),
    [anon_sym_while] = ACTIONS(7002),
    [anon_sym_until] = ACTIONS(7002),
    [anon_sym_rescue] = ACTIONS(7002),
    [anon_sym_QMARK] = ACTIONS(4134),
    [anon_sym_DOT_DOT] = ACTIONS(4136),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4138),
    [anon_sym_and] = ACTIONS(4140),
    [anon_sym_or] = ACTIONS(4140),
    [anon_sym_PIPE_PIPE] = ACTIONS(4142),
    [anon_sym_AMP_AMP] = ACTIONS(4142),
    [anon_sym_LT_LT] = ACTIONS(4144),
    [anon_sym_GT_GT] = ACTIONS(4144),
    [anon_sym_EQ_EQ] = ACTIONS(4146),
    [anon_sym_BANG_EQ] = ACTIONS(4142),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4142),
    [anon_sym_LT_EQ_GT] = ACTIONS(4142),
    [anon_sym_EQ_TILDE] = ACTIONS(4142),
    [anon_sym_BANG_TILDE] = ACTIONS(4142),
    [anon_sym_LT_EQ] = ACTIONS(4132),
    [anon_sym_GT] = ACTIONS(4132),
    [anon_sym_GT_EQ] = ACTIONS(4148),
    [anon_sym_CARET] = ACTIONS(4150),
    [anon_sym_PLUS] = ACTIONS(4152),
    [anon_sym_SLASH] = ACTIONS(4128),
    [anon_sym_PERCENT] = ACTIONS(4128),
    [sym_comment] = ACTIONS(110),
  },
  [5742] = {
    [sym__heredoc_body_middle] = ACTIONS(7004),
    [sym__heredoc_body_end] = ACTIONS(7004),
    [sym__binary_minus] = ACTIONS(4122),
    [sym__binary_star] = ACTIONS(4124),
    [anon_sym_PIPE] = ACTIONS(4126),
    [anon_sym_STAR_STAR] = ACTIONS(4128),
    [anon_sym_AMP] = ACTIONS(4130),
    [anon_sym_LT] = ACTIONS(4132),
    [anon_sym_if] = ACTIONS(7004),
    [anon_sym_unless] = ACTIONS(7004),
    [anon_sym_while] = ACTIONS(7004),
    [anon_sym_until] = ACTIONS(7004),
    [anon_sym_rescue] = ACTIONS(7004),
    [anon_sym_QMARK] = ACTIONS(4134),
    [anon_sym_DOT_DOT] = ACTIONS(4136),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4138),
    [anon_sym_and] = ACTIONS(4140),
    [anon_sym_or] = ACTIONS(4140),
    [anon_sym_PIPE_PIPE] = ACTIONS(4142),
    [anon_sym_AMP_AMP] = ACTIONS(4142),
    [anon_sym_LT_LT] = ACTIONS(4144),
    [anon_sym_GT_GT] = ACTIONS(4144),
    [anon_sym_EQ_EQ] = ACTIONS(4146),
    [anon_sym_BANG_EQ] = ACTIONS(4142),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4142),
    [anon_sym_LT_EQ_GT] = ACTIONS(4142),
    [anon_sym_EQ_TILDE] = ACTIONS(4142),
    [anon_sym_BANG_TILDE] = ACTIONS(4142),
    [anon_sym_LT_EQ] = ACTIONS(4132),
    [anon_sym_GT] = ACTIONS(4132),
    [anon_sym_GT_EQ] = ACTIONS(4148),
    [anon_sym_CARET] = ACTIONS(4150),
    [anon_sym_PLUS] = ACTIONS(4152),
    [anon_sym_SLASH] = ACTIONS(4128),
    [anon_sym_PERCENT] = ACTIONS(4128),
    [sym_comment] = ACTIONS(110),
  },
  [5743] = {
    [sym__heredoc_body_middle] = ACTIONS(7006),
    [sym__heredoc_body_end] = ACTIONS(7006),
    [sym__binary_minus] = ACTIONS(4122),
    [sym__binary_star] = ACTIONS(4124),
    [anon_sym_PIPE] = ACTIONS(4126),
    [anon_sym_STAR_STAR] = ACTIONS(4128),
    [anon_sym_AMP] = ACTIONS(4130),
    [anon_sym_LT] = ACTIONS(4132),
    [anon_sym_if] = ACTIONS(7006),
    [anon_sym_unless] = ACTIONS(7006),
    [anon_sym_while] = ACTIONS(7006),
    [anon_sym_until] = ACTIONS(7006),
    [anon_sym_rescue] = ACTIONS(7006),
    [anon_sym_QMARK] = ACTIONS(4134),
    [anon_sym_DOT_DOT] = ACTIONS(4136),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4138),
    [anon_sym_and] = ACTIONS(4140),
    [anon_sym_or] = ACTIONS(4140),
    [anon_sym_PIPE_PIPE] = ACTIONS(4142),
    [anon_sym_AMP_AMP] = ACTIONS(4142),
    [anon_sym_LT_LT] = ACTIONS(4144),
    [anon_sym_GT_GT] = ACTIONS(4144),
    [anon_sym_EQ_EQ] = ACTIONS(4146),
    [anon_sym_BANG_EQ] = ACTIONS(4142),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4142),
    [anon_sym_LT_EQ_GT] = ACTIONS(4142),
    [anon_sym_EQ_TILDE] = ACTIONS(4142),
    [anon_sym_BANG_TILDE] = ACTIONS(4142),
    [anon_sym_LT_EQ] = ACTIONS(4132),
    [anon_sym_GT] = ACTIONS(4132),
    [anon_sym_GT_EQ] = ACTIONS(4148),
    [anon_sym_CARET] = ACTIONS(4150),
    [anon_sym_PLUS] = ACTIONS(4152),
    [anon_sym_SLASH] = ACTIONS(4128),
    [anon_sym_PERCENT] = ACTIONS(4128),
    [sym_comment] = ACTIONS(110),
  },
  [5744] = {
    [sym__heredoc_body_middle] = ACTIONS(7008),
    [sym__heredoc_body_end] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(4124),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_STAR_STAR] = ACTIONS(4128),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_if] = ACTIONS(7008),
    [anon_sym_unless] = ACTIONS(7008),
    [anon_sym_while] = ACTIONS(7008),
    [anon_sym_until] = ACTIONS(7008),
    [anon_sym_rescue] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7008),
    [anon_sym_AMP_AMP] = ACTIONS(7008),
    [anon_sym_LT_LT] = ACTIONS(7008),
    [anon_sym_GT_GT] = ACTIONS(7008),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7008),
    [anon_sym_PLUS] = ACTIONS(7008),
    [anon_sym_SLASH] = ACTIONS(4128),
    [anon_sym_PERCENT] = ACTIONS(4128),
    [sym_comment] = ACTIONS(110),
  },
  [5745] = {
    [sym__heredoc_body_middle] = ACTIONS(7012),
    [sym__heredoc_body_end] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_STAR_STAR] = ACTIONS(4128),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_if] = ACTIONS(7012),
    [anon_sym_unless] = ACTIONS(7012),
    [anon_sym_while] = ACTIONS(7012),
    [anon_sym_until] = ACTIONS(7012),
    [anon_sym_rescue] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7012),
    [anon_sym_AMP_AMP] = ACTIONS(7012),
    [anon_sym_LT_LT] = ACTIONS(7012),
    [anon_sym_GT_GT] = ACTIONS(7012),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7012),
    [anon_sym_PLUS] = ACTIONS(7012),
    [anon_sym_SLASH] = ACTIONS(7012),
    [anon_sym_PERCENT] = ACTIONS(7012),
    [sym_comment] = ACTIONS(110),
  },
  [5746] = {
    [sym__heredoc_body_middle] = ACTIONS(7016),
    [sym__heredoc_body_end] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(4122),
    [sym__binary_star] = ACTIONS(4124),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(4128),
    [anon_sym_AMP] = ACTIONS(4130),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(4144),
    [anon_sym_GT_GT] = ACTIONS(4144),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(4152),
    [anon_sym_SLASH] = ACTIONS(4128),
    [anon_sym_PERCENT] = ACTIONS(4128),
    [sym_comment] = ACTIONS(110),
  },
  [5747] = {
    [sym__heredoc_body_middle] = ACTIONS(7016),
    [sym__heredoc_body_end] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(4128),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7016),
    [anon_sym_PERCENT] = ACTIONS(7016),
    [sym_comment] = ACTIONS(110),
  },
  [5748] = {
    [sym__heredoc_body_middle] = ACTIONS(7016),
    [sym__heredoc_body_end] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(4122),
    [sym__binary_star] = ACTIONS(4124),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(4128),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(4144),
    [anon_sym_GT_GT] = ACTIONS(4144),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(4152),
    [anon_sym_SLASH] = ACTIONS(4128),
    [anon_sym_PERCENT] = ACTIONS(4128),
    [sym_comment] = ACTIONS(110),
  },
  [5749] = {
    [sym__heredoc_body_middle] = ACTIONS(7016),
    [sym__heredoc_body_end] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(4122),
    [sym__binary_star] = ACTIONS(4124),
    [anon_sym_PIPE] = ACTIONS(4126),
    [anon_sym_STAR_STAR] = ACTIONS(4128),
    [anon_sym_AMP] = ACTIONS(4130),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(4144),
    [anon_sym_GT_GT] = ACTIONS(4144),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(4150),
    [anon_sym_PLUS] = ACTIONS(4152),
    [anon_sym_SLASH] = ACTIONS(4128),
    [anon_sym_PERCENT] = ACTIONS(4128),
    [sym_comment] = ACTIONS(110),
  },
  [5750] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(11914),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [5751] = {
    [sym__heredoc_body_middle] = ACTIONS(7108),
    [sym__heredoc_body_end] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(4122),
    [sym__binary_star] = ACTIONS(4124),
    [anon_sym_PIPE] = ACTIONS(4126),
    [anon_sym_STAR_STAR] = ACTIONS(4128),
    [anon_sym_AMP] = ACTIONS(4130),
    [anon_sym_LT] = ACTIONS(4132),
    [anon_sym_if] = ACTIONS(7108),
    [anon_sym_unless] = ACTIONS(7108),
    [anon_sym_while] = ACTIONS(7108),
    [anon_sym_until] = ACTIONS(7108),
    [anon_sym_rescue] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(4136),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4138),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(4142),
    [anon_sym_AMP_AMP] = ACTIONS(4142),
    [anon_sym_LT_LT] = ACTIONS(4144),
    [anon_sym_GT_GT] = ACTIONS(4144),
    [anon_sym_EQ_EQ] = ACTIONS(4146),
    [anon_sym_BANG_EQ] = ACTIONS(4142),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4142),
    [anon_sym_LT_EQ_GT] = ACTIONS(4142),
    [anon_sym_EQ_TILDE] = ACTIONS(4142),
    [anon_sym_BANG_TILDE] = ACTIONS(4142),
    [anon_sym_LT_EQ] = ACTIONS(4132),
    [anon_sym_GT] = ACTIONS(4132),
    [anon_sym_GT_EQ] = ACTIONS(4148),
    [anon_sym_CARET] = ACTIONS(4150),
    [anon_sym_PLUS] = ACTIONS(4152),
    [anon_sym_SLASH] = ACTIONS(4128),
    [anon_sym_PERCENT] = ACTIONS(4128),
    [sym_comment] = ACTIONS(110),
  },
  [5752] = {
    [sym__heredoc_body_middle] = ACTIONS(7016),
    [sym__heredoc_body_end] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(4122),
    [sym__binary_star] = ACTIONS(4124),
    [anon_sym_PIPE] = ACTIONS(4126),
    [anon_sym_STAR_STAR] = ACTIONS(4128),
    [anon_sym_AMP] = ACTIONS(4130),
    [anon_sym_LT] = ACTIONS(4132),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(4134),
    [anon_sym_DOT_DOT] = ACTIONS(4136),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4138),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(4142),
    [anon_sym_AMP_AMP] = ACTIONS(4142),
    [anon_sym_LT_LT] = ACTIONS(4144),
    [anon_sym_GT_GT] = ACTIONS(4144),
    [anon_sym_EQ_EQ] = ACTIONS(4146),
    [anon_sym_BANG_EQ] = ACTIONS(4142),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4142),
    [anon_sym_LT_EQ_GT] = ACTIONS(4142),
    [anon_sym_EQ_TILDE] = ACTIONS(4142),
    [anon_sym_BANG_TILDE] = ACTIONS(4142),
    [anon_sym_LT_EQ] = ACTIONS(4132),
    [anon_sym_GT] = ACTIONS(4132),
    [anon_sym_GT_EQ] = ACTIONS(4148),
    [anon_sym_CARET] = ACTIONS(4150),
    [anon_sym_PLUS] = ACTIONS(4152),
    [anon_sym_SLASH] = ACTIONS(4128),
    [anon_sym_PERCENT] = ACTIONS(4128),
    [sym_comment] = ACTIONS(110),
  },
  [5753] = {
    [sym__heredoc_body_middle] = ACTIONS(7016),
    [sym__heredoc_body_end] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(4122),
    [sym__binary_star] = ACTIONS(4124),
    [anon_sym_PIPE] = ACTIONS(4126),
    [anon_sym_STAR_STAR] = ACTIONS(4128),
    [anon_sym_AMP] = ACTIONS(4130),
    [anon_sym_LT] = ACTIONS(4132),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(4144),
    [anon_sym_GT_GT] = ACTIONS(4144),
    [anon_sym_EQ_EQ] = ACTIONS(4146),
    [anon_sym_BANG_EQ] = ACTIONS(4142),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4142),
    [anon_sym_LT_EQ_GT] = ACTIONS(4142),
    [anon_sym_EQ_TILDE] = ACTIONS(4142),
    [anon_sym_BANG_TILDE] = ACTIONS(4142),
    [anon_sym_LT_EQ] = ACTIONS(4132),
    [anon_sym_GT] = ACTIONS(4132),
    [anon_sym_GT_EQ] = ACTIONS(4148),
    [anon_sym_CARET] = ACTIONS(4150),
    [anon_sym_PLUS] = ACTIONS(4152),
    [anon_sym_SLASH] = ACTIONS(4128),
    [anon_sym_PERCENT] = ACTIONS(4128),
    [sym_comment] = ACTIONS(110),
  },
  [5754] = {
    [sym__heredoc_body_middle] = ACTIONS(7016),
    [sym__heredoc_body_end] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(4122),
    [sym__binary_star] = ACTIONS(4124),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(4128),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(4152),
    [anon_sym_SLASH] = ACTIONS(4128),
    [anon_sym_PERCENT] = ACTIONS(4128),
    [sym_comment] = ACTIONS(110),
  },
  [5755] = {
    [sym__heredoc_body_middle] = ACTIONS(7016),
    [sym__heredoc_body_end] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(4124),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(4128),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(4128),
    [anon_sym_PERCENT] = ACTIONS(4128),
    [sym_comment] = ACTIONS(110),
  },
  [5756] = {
    [sym__heredoc_body_middle] = ACTIONS(7110),
    [sym__heredoc_body_end] = ACTIONS(7110),
    [sym__element_reference_left_bracket] = ACTIONS(7110),
    [sym__scope_double_colon] = ACTIONS(7110),
    [sym__binary_minus] = ACTIONS(7110),
    [sym__binary_star] = ACTIONS(7110),
    [anon_sym_DOT] = ACTIONS(7112),
    [anon_sym_COMMA] = ACTIONS(7110),
    [anon_sym_PIPE] = ACTIONS(7112),
    [anon_sym_STAR_STAR] = ACTIONS(7112),
    [anon_sym_AMP] = ACTIONS(7112),
    [anon_sym_EQ] = ACTIONS(7112),
    [anon_sym_LT] = ACTIONS(7112),
    [anon_sym_if] = ACTIONS(7110),
    [anon_sym_unless] = ACTIONS(7110),
    [anon_sym_while] = ACTIONS(7110),
    [anon_sym_until] = ACTIONS(7110),
    [anon_sym_rescue] = ACTIONS(7110),
    [anon_sym_AMP_DOT] = ACTIONS(7110),
    [anon_sym_PLUS_EQ] = ACTIONS(7110),
    [anon_sym_DASH_EQ] = ACTIONS(7110),
    [anon_sym_STAR_EQ] = ACTIONS(7110),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7110),
    [anon_sym_SLASH_EQ] = ACTIONS(7110),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7110),
    [anon_sym_PIPE_EQ] = ACTIONS(7110),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7110),
    [anon_sym_AMP_EQ] = ACTIONS(7110),
    [anon_sym_PERCENT_EQ] = ACTIONS(7110),
    [anon_sym_GT_GT_EQ] = ACTIONS(7110),
    [anon_sym_LT_LT_EQ] = ACTIONS(7110),
    [anon_sym_CARET_EQ] = ACTIONS(7110),
    [anon_sym_QMARK] = ACTIONS(7110),
    [anon_sym_DOT_DOT] = ACTIONS(7112),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7110),
    [anon_sym_and] = ACTIONS(7110),
    [anon_sym_or] = ACTIONS(7110),
    [anon_sym_PIPE_PIPE] = ACTIONS(7112),
    [anon_sym_AMP_AMP] = ACTIONS(7112),
    [anon_sym_LT_LT] = ACTIONS(7112),
    [anon_sym_GT_GT] = ACTIONS(7112),
    [anon_sym_EQ_EQ] = ACTIONS(7112),
    [anon_sym_BANG_EQ] = ACTIONS(7110),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7110),
    [anon_sym_LT_EQ_GT] = ACTIONS(7110),
    [anon_sym_EQ_TILDE] = ACTIONS(7110),
    [anon_sym_BANG_TILDE] = ACTIONS(7110),
    [anon_sym_LT_EQ] = ACTIONS(7112),
    [anon_sym_GT] = ACTIONS(7112),
    [anon_sym_GT_EQ] = ACTIONS(7110),
    [anon_sym_CARET] = ACTIONS(7112),
    [anon_sym_PLUS] = ACTIONS(7112),
    [anon_sym_SLASH] = ACTIONS(7112),
    [anon_sym_PERCENT] = ACTIONS(7112),
    [sym_comment] = ACTIONS(256),
  },
  [5757] = {
    [sym_heredoc_end] = STATE(9014),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RBRACK] = ACTIONS(11916),
    [sym_comment] = ACTIONS(110),
  },
  [5758] = {
    [anon_sym_RBRACK] = ACTIONS(11916),
    [sym_comment] = ACTIONS(110),
  },
  [5759] = {
    [sym__simple_string] = ACTIONS(7116),
    [sym__simple_symbol] = ACTIONS(7116),
    [sym__simple_subshell] = ACTIONS(7116),
    [sym__simple_regex] = ACTIONS(7116),
    [sym__simple_word_list] = ACTIONS(7116),
    [sym__string_beginning] = ACTIONS(7116),
    [sym__symbol_beginning] = ACTIONS(7116),
    [sym__subshell_beginning] = ACTIONS(7116),
    [sym__regex_beginning] = ACTIONS(7116),
    [sym__word_list_beginning] = ACTIONS(7116),
    [sym__heredoc_body_middle] = ACTIONS(7116),
    [sym__heredoc_body_end] = ACTIONS(7116),
    [sym_heredoc_beginning] = ACTIONS(7116),
    [sym__element_reference_left_bracket] = ACTIONS(7116),
    [sym__block_ampersand] = ACTIONS(7116),
    [sym__splat_star] = ACTIONS(7116),
    [sym__argument_list_left_paren] = ACTIONS(7116),
    [sym__scope_double_colon] = ACTIONS(7116),
    [sym__unary_minus] = ACTIONS(7116),
    [sym__binary_minus] = ACTIONS(7116),
    [sym__binary_star] = ACTIONS(7116),
    [anon_sym_LBRACE] = ACTIONS(7116),
    [anon_sym_def] = ACTIONS(7118),
    [anon_sym_LPAREN] = ACTIONS(7116),
    [anon_sym_DOT] = ACTIONS(7118),
    [anon_sym_COLON_COLON] = ACTIONS(7116),
    [anon_sym_end] = ACTIONS(7118),
    [anon_sym_COMMA] = ACTIONS(7116),
    [anon_sym_PIPE] = ACTIONS(7118),
    [anon_sym_STAR] = ACTIONS(7118),
    [anon_sym_STAR_STAR] = ACTIONS(7118),
    [anon_sym_AMP] = ACTIONS(7118),
    [anon_sym_EQ] = ACTIONS(7118),
    [anon_sym_class] = ACTIONS(7118),
    [anon_sym_LT] = ACTIONS(7118),
    [anon_sym_module] = ACTIONS(7118),
    [anon_sym_return] = ACTIONS(7118),
    [anon_sym_yield] = ACTIONS(7118),
    [anon_sym_break] = ACTIONS(7118),
    [anon_sym_next] = ACTIONS(7118),
    [anon_sym_redo] = ACTIONS(7118),
    [anon_sym_retry] = ACTIONS(7118),
    [anon_sym_if] = ACTIONS(7118),
    [anon_sym_unless] = ACTIONS(7118),
    [anon_sym_while] = ACTIONS(7118),
    [anon_sym_until] = ACTIONS(7118),
    [anon_sym_rescue] = ACTIONS(7118),
    [anon_sym_for] = ACTIONS(7118),
    [anon_sym_in] = ACTIONS(7118),
    [anon_sym_do] = ACTIONS(7118),
    [anon_sym_case] = ACTIONS(7118),
    [anon_sym_when] = ACTIONS(7118),
    [anon_sym_elsif] = ACTIONS(7118),
    [anon_sym_else] = ACTIONS(7118),
    [anon_sym_then] = ACTIONS(7118),
    [anon_sym_begin] = ACTIONS(7118),
    [anon_sym_ensure] = ACTIONS(7118),
    [anon_sym_AMP_DOT] = ACTIONS(7116),
    [anon_sym_PLUS_EQ] = ACTIONS(7116),
    [anon_sym_DASH_EQ] = ACTIONS(7116),
    [anon_sym_STAR_EQ] = ACTIONS(7116),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7116),
    [anon_sym_SLASH_EQ] = ACTIONS(7116),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7116),
    [anon_sym_PIPE_EQ] = ACTIONS(7116),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7116),
    [anon_sym_AMP_EQ] = ACTIONS(7116),
    [anon_sym_PERCENT_EQ] = ACTIONS(7116),
    [anon_sym_GT_GT_EQ] = ACTIONS(7116),
    [anon_sym_LT_LT_EQ] = ACTIONS(7116),
    [anon_sym_CARET_EQ] = ACTIONS(7116),
    [anon_sym_QMARK] = ACTIONS(7118),
    [anon_sym_DOT_DOT] = ACTIONS(7118),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7116),
    [anon_sym_and] = ACTIONS(7118),
    [anon_sym_or] = ACTIONS(7118),
    [anon_sym_PIPE_PIPE] = ACTIONS(7118),
    [anon_sym_AMP_AMP] = ACTIONS(7118),
    [anon_sym_LT_LT] = ACTIONS(7118),
    [anon_sym_GT_GT] = ACTIONS(7118),
    [anon_sym_EQ_EQ] = ACTIONS(7118),
    [anon_sym_BANG_EQ] = ACTIONS(7116),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7116),
    [anon_sym_LT_EQ_GT] = ACTIONS(7116),
    [anon_sym_EQ_TILDE] = ACTIONS(7116),
    [anon_sym_BANG_TILDE] = ACTIONS(7116),
    [anon_sym_LT_EQ] = ACTIONS(7118),
    [anon_sym_GT] = ACTIONS(7118),
    [anon_sym_GT_EQ] = ACTIONS(7116),
    [anon_sym_CARET] = ACTIONS(7118),
    [anon_sym_PLUS] = ACTIONS(7118),
    [anon_sym_SLASH] = ACTIONS(7118),
    [anon_sym_PERCENT] = ACTIONS(7118),
    [anon_sym_defined_QMARK] = ACTIONS(7116),
    [anon_sym_not] = ACTIONS(7118),
    [anon_sym_BANG] = ACTIONS(7118),
    [anon_sym_TILDE] = ACTIONS(7116),
    [sym_constant] = ACTIONS(7120),
    [sym_identifier] = ACTIONS(7120),
    [sym_instance_variable] = ACTIONS(7118),
    [sym_class_variable] = ACTIONS(7118),
    [sym_global_variable] = ACTIONS(7118),
    [anon_sym_alias] = ACTIONS(7118),
    [anon_sym_defined] = ACTIONS(7118),
    [anon_sym_false] = ACTIONS(7118),
    [anon_sym_nil] = ACTIONS(7118),
    [anon_sym_self] = ACTIONS(7118),
    [anon_sym_super] = ACTIONS(7118),
    [anon_sym_true] = ACTIONS(7118),
    [anon_sym_undef] = ACTIONS(7118),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(7118),
    [sym_float] = ACTIONS(7120),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(7116),
    [anon_sym_TRUE] = ACTIONS(7118),
    [anon_sym_FALSE] = ACTIONS(7118),
    [anon_sym_NIL] = ACTIONS(7118),
    [sym_keyword__FILE__] = ACTIONS(7118),
    [sym_keyword__LINE__] = ACTIONS(7118),
    [sym_keyword__ENCODING__] = ACTIONS(7118),
    [sym__character_literal] = ACTIONS(7118),
    [anon_sym_LBRACK] = ACTIONS(7116),
    [anon_sym_DASH_GT] = ACTIONS(7116),
  },
  [5760] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1382),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(9016),
    [sym__argument] = STATE(1385),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1386),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1387),
    [sym__variable] = STATE(1383),
    [sym_reserved_identifier] = STATE(1388),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1389),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(9017),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(2154),
    [sym__splat_star] = ACTIONS(2156),
    [sym__unary_minus] = ACTIONS(2158),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(11918),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2162),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2164),
    [anon_sym_yield] = ACTIONS(2166),
    [anon_sym_break] = ACTIONS(2168),
    [anon_sym_next] = ACTIONS(2170),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2172),
    [anon_sym_defined_QMARK] = ACTIONS(2174),
    [anon_sym_not] = ACTIONS(2176),
    [anon_sym_BANG] = ACTIONS(2178),
    [anon_sym_TILDE] = ACTIONS(2178),
    [sym_constant] = ACTIONS(2180),
    [sym_identifier] = ACTIONS(2180),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [5761] = {
    [sym__simple_string] = ACTIONS(1856),
    [sym__simple_symbol] = ACTIONS(1856),
    [sym__simple_subshell] = ACTIONS(1856),
    [sym__simple_regex] = ACTIONS(1856),
    [sym__simple_word_list] = ACTIONS(1856),
    [sym__string_beginning] = ACTIONS(1856),
    [sym__symbol_beginning] = ACTIONS(1856),
    [sym__subshell_beginning] = ACTIONS(1856),
    [sym__regex_beginning] = ACTIONS(1856),
    [sym__word_list_beginning] = ACTIONS(1856),
    [sym__heredoc_body_middle] = ACTIONS(1856),
    [sym__heredoc_body_end] = ACTIONS(1856),
    [sym_heredoc_beginning] = ACTIONS(1856),
    [sym__element_reference_left_bracket] = ACTIONS(1856),
    [sym__block_ampersand] = ACTIONS(1856),
    [sym__splat_star] = ACTIONS(1856),
    [sym__argument_list_left_paren] = ACTIONS(1856),
    [sym__scope_double_colon] = ACTIONS(1856),
    [sym__unary_minus] = ACTIONS(1856),
    [sym__binary_minus] = ACTIONS(1856),
    [sym__binary_star] = ACTIONS(1856),
    [anon_sym_LBRACE] = ACTIONS(1856),
    [anon_sym_def] = ACTIONS(1858),
    [anon_sym_LPAREN] = ACTIONS(1856),
    [anon_sym_DOT] = ACTIONS(1858),
    [anon_sym_COLON_COLON] = ACTIONS(1856),
    [anon_sym_end] = ACTIONS(1858),
    [anon_sym_COMMA] = ACTIONS(1856),
    [anon_sym_PIPE] = ACTIONS(1858),
    [anon_sym_STAR] = ACTIONS(1858),
    [anon_sym_STAR_STAR] = ACTIONS(1858),
    [anon_sym_AMP] = ACTIONS(1858),
    [anon_sym_EQ] = ACTIONS(1858),
    [anon_sym_class] = ACTIONS(1858),
    [anon_sym_LT] = ACTIONS(1858),
    [anon_sym_module] = ACTIONS(1858),
    [anon_sym_return] = ACTIONS(1858),
    [anon_sym_yield] = ACTIONS(1858),
    [anon_sym_break] = ACTIONS(1858),
    [anon_sym_next] = ACTIONS(1858),
    [anon_sym_redo] = ACTIONS(1858),
    [anon_sym_retry] = ACTIONS(1858),
    [anon_sym_if] = ACTIONS(1858),
    [anon_sym_unless] = ACTIONS(1858),
    [anon_sym_while] = ACTIONS(1858),
    [anon_sym_until] = ACTIONS(1858),
    [anon_sym_rescue] = ACTIONS(1858),
    [anon_sym_for] = ACTIONS(1858),
    [anon_sym_in] = ACTIONS(1858),
    [anon_sym_do] = ACTIONS(1858),
    [anon_sym_case] = ACTIONS(1858),
    [anon_sym_when] = ACTIONS(1858),
    [anon_sym_elsif] = ACTIONS(1858),
    [anon_sym_else] = ACTIONS(1858),
    [anon_sym_then] = ACTIONS(1858),
    [anon_sym_begin] = ACTIONS(1858),
    [anon_sym_ensure] = ACTIONS(1858),
    [anon_sym_AMP_DOT] = ACTIONS(1856),
    [anon_sym_PLUS_EQ] = ACTIONS(1856),
    [anon_sym_DASH_EQ] = ACTIONS(1856),
    [anon_sym_STAR_EQ] = ACTIONS(1856),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1856),
    [anon_sym_SLASH_EQ] = ACTIONS(1856),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1856),
    [anon_sym_PIPE_EQ] = ACTIONS(1856),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1856),
    [anon_sym_AMP_EQ] = ACTIONS(1856),
    [anon_sym_PERCENT_EQ] = ACTIONS(1856),
    [anon_sym_GT_GT_EQ] = ACTIONS(1856),
    [anon_sym_LT_LT_EQ] = ACTIONS(1856),
    [anon_sym_CARET_EQ] = ACTIONS(1856),
    [anon_sym_QMARK] = ACTIONS(1858),
    [anon_sym_DOT_DOT] = ACTIONS(1858),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1856),
    [anon_sym_and] = ACTIONS(1858),
    [anon_sym_or] = ACTIONS(1858),
    [anon_sym_PIPE_PIPE] = ACTIONS(1858),
    [anon_sym_AMP_AMP] = ACTIONS(1858),
    [anon_sym_LT_LT] = ACTIONS(1858),
    [anon_sym_GT_GT] = ACTIONS(1858),
    [anon_sym_EQ_EQ] = ACTIONS(1858),
    [anon_sym_BANG_EQ] = ACTIONS(1856),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1856),
    [anon_sym_LT_EQ_GT] = ACTIONS(1856),
    [anon_sym_EQ_TILDE] = ACTIONS(1856),
    [anon_sym_BANG_TILDE] = ACTIONS(1856),
    [anon_sym_LT_EQ] = ACTIONS(1858),
    [anon_sym_GT] = ACTIONS(1858),
    [anon_sym_GT_EQ] = ACTIONS(1856),
    [anon_sym_CARET] = ACTIONS(1858),
    [anon_sym_PLUS] = ACTIONS(1858),
    [anon_sym_SLASH] = ACTIONS(1858),
    [anon_sym_PERCENT] = ACTIONS(1858),
    [anon_sym_defined_QMARK] = ACTIONS(1856),
    [anon_sym_not] = ACTIONS(1858),
    [anon_sym_BANG] = ACTIONS(1858),
    [anon_sym_TILDE] = ACTIONS(1856),
    [sym_constant] = ACTIONS(7124),
    [sym_identifier] = ACTIONS(7124),
    [sym_instance_variable] = ACTIONS(1858),
    [sym_class_variable] = ACTIONS(1858),
    [sym_global_variable] = ACTIONS(1858),
    [anon_sym_alias] = ACTIONS(1858),
    [anon_sym_defined] = ACTIONS(1858),
    [anon_sym_false] = ACTIONS(1858),
    [anon_sym_nil] = ACTIONS(1858),
    [anon_sym_self] = ACTIONS(1858),
    [anon_sym_super] = ACTIONS(1858),
    [anon_sym_true] = ACTIONS(1858),
    [anon_sym_undef] = ACTIONS(1858),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1858),
    [sym_float] = ACTIONS(7124),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1856),
    [anon_sym_TRUE] = ACTIONS(1858),
    [anon_sym_FALSE] = ACTIONS(1858),
    [anon_sym_NIL] = ACTIONS(1858),
    [sym_keyword__FILE__] = ACTIONS(1858),
    [sym_keyword__LINE__] = ACTIONS(1858),
    [sym_keyword__ENCODING__] = ACTIONS(1858),
    [sym__character_literal] = ACTIONS(1858),
    [anon_sym_LBRACK] = ACTIONS(1856),
    [anon_sym_DASH_GT] = ACTIONS(1856),
  },
  [5762] = {
    [sym__simple_string] = ACTIONS(7126),
    [sym__simple_symbol] = ACTIONS(7126),
    [sym__simple_subshell] = ACTIONS(7126),
    [sym__simple_regex] = ACTIONS(7126),
    [sym__simple_word_list] = ACTIONS(7126),
    [sym__string_beginning] = ACTIONS(7126),
    [sym__symbol_beginning] = ACTIONS(7126),
    [sym__subshell_beginning] = ACTIONS(7126),
    [sym__regex_beginning] = ACTIONS(7126),
    [sym__word_list_beginning] = ACTIONS(7126),
    [sym__heredoc_body_middle] = ACTIONS(7126),
    [sym__heredoc_body_end] = ACTIONS(7126),
    [sym_heredoc_beginning] = ACTIONS(7126),
    [sym__element_reference_left_bracket] = ACTIONS(7126),
    [sym__block_ampersand] = ACTIONS(7126),
    [sym__splat_star] = ACTIONS(7126),
    [sym__argument_list_left_paren] = ACTIONS(7126),
    [sym__scope_double_colon] = ACTIONS(7126),
    [sym__unary_minus] = ACTIONS(7126),
    [sym__binary_minus] = ACTIONS(7126),
    [sym__binary_star] = ACTIONS(7126),
    [anon_sym_LBRACE] = ACTIONS(7126),
    [anon_sym_def] = ACTIONS(7128),
    [anon_sym_LPAREN] = ACTIONS(7126),
    [anon_sym_DOT] = ACTIONS(7128),
    [anon_sym_COLON_COLON] = ACTIONS(7126),
    [anon_sym_end] = ACTIONS(7128),
    [anon_sym_COMMA] = ACTIONS(7126),
    [anon_sym_PIPE] = ACTIONS(7128),
    [anon_sym_STAR] = ACTIONS(7128),
    [anon_sym_STAR_STAR] = ACTIONS(7128),
    [anon_sym_AMP] = ACTIONS(7128),
    [anon_sym_EQ] = ACTIONS(7128),
    [anon_sym_class] = ACTIONS(7128),
    [anon_sym_LT] = ACTIONS(7128),
    [anon_sym_module] = ACTIONS(7128),
    [anon_sym_return] = ACTIONS(7128),
    [anon_sym_yield] = ACTIONS(7128),
    [anon_sym_break] = ACTIONS(7128),
    [anon_sym_next] = ACTIONS(7128),
    [anon_sym_redo] = ACTIONS(7128),
    [anon_sym_retry] = ACTIONS(7128),
    [anon_sym_if] = ACTIONS(7128),
    [anon_sym_unless] = ACTIONS(7128),
    [anon_sym_while] = ACTIONS(7128),
    [anon_sym_until] = ACTIONS(7128),
    [anon_sym_rescue] = ACTIONS(7128),
    [anon_sym_for] = ACTIONS(7128),
    [anon_sym_in] = ACTIONS(7128),
    [anon_sym_do] = ACTIONS(7128),
    [anon_sym_case] = ACTIONS(7128),
    [anon_sym_when] = ACTIONS(7128),
    [anon_sym_elsif] = ACTIONS(7128),
    [anon_sym_else] = ACTIONS(7128),
    [anon_sym_then] = ACTIONS(7128),
    [anon_sym_begin] = ACTIONS(7128),
    [anon_sym_ensure] = ACTIONS(7128),
    [anon_sym_AMP_DOT] = ACTIONS(7126),
    [anon_sym_PLUS_EQ] = ACTIONS(7126),
    [anon_sym_DASH_EQ] = ACTIONS(7126),
    [anon_sym_STAR_EQ] = ACTIONS(7126),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7126),
    [anon_sym_SLASH_EQ] = ACTIONS(7126),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7126),
    [anon_sym_PIPE_EQ] = ACTIONS(7126),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7126),
    [anon_sym_AMP_EQ] = ACTIONS(7126),
    [anon_sym_PERCENT_EQ] = ACTIONS(7126),
    [anon_sym_GT_GT_EQ] = ACTIONS(7126),
    [anon_sym_LT_LT_EQ] = ACTIONS(7126),
    [anon_sym_CARET_EQ] = ACTIONS(7126),
    [anon_sym_QMARK] = ACTIONS(7128),
    [anon_sym_DOT_DOT] = ACTIONS(7128),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7126),
    [anon_sym_and] = ACTIONS(7128),
    [anon_sym_or] = ACTIONS(7128),
    [anon_sym_PIPE_PIPE] = ACTIONS(7128),
    [anon_sym_AMP_AMP] = ACTIONS(7128),
    [anon_sym_LT_LT] = ACTIONS(7128),
    [anon_sym_GT_GT] = ACTIONS(7128),
    [anon_sym_EQ_EQ] = ACTIONS(7128),
    [anon_sym_BANG_EQ] = ACTIONS(7126),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7126),
    [anon_sym_LT_EQ_GT] = ACTIONS(7126),
    [anon_sym_EQ_TILDE] = ACTIONS(7126),
    [anon_sym_BANG_TILDE] = ACTIONS(7126),
    [anon_sym_LT_EQ] = ACTIONS(7128),
    [anon_sym_GT] = ACTIONS(7128),
    [anon_sym_GT_EQ] = ACTIONS(7126),
    [anon_sym_CARET] = ACTIONS(7128),
    [anon_sym_PLUS] = ACTIONS(7128),
    [anon_sym_SLASH] = ACTIONS(7128),
    [anon_sym_PERCENT] = ACTIONS(7128),
    [anon_sym_defined_QMARK] = ACTIONS(7126),
    [anon_sym_not] = ACTIONS(7128),
    [anon_sym_BANG] = ACTIONS(7128),
    [anon_sym_TILDE] = ACTIONS(7126),
    [sym_constant] = ACTIONS(7130),
    [sym_identifier] = ACTIONS(7130),
    [sym_instance_variable] = ACTIONS(7128),
    [sym_class_variable] = ACTIONS(7128),
    [sym_global_variable] = ACTIONS(7128),
    [anon_sym_alias] = ACTIONS(7128),
    [anon_sym_defined] = ACTIONS(7128),
    [anon_sym_false] = ACTIONS(7128),
    [anon_sym_nil] = ACTIONS(7128),
    [anon_sym_self] = ACTIONS(7128),
    [anon_sym_super] = ACTIONS(7128),
    [anon_sym_true] = ACTIONS(7128),
    [anon_sym_undef] = ACTIONS(7128),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(7128),
    [sym_float] = ACTIONS(7130),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(7126),
    [anon_sym_TRUE] = ACTIONS(7128),
    [anon_sym_FALSE] = ACTIONS(7128),
    [anon_sym_NIL] = ACTIONS(7128),
    [sym_keyword__FILE__] = ACTIONS(7128),
    [sym_keyword__LINE__] = ACTIONS(7128),
    [sym_keyword__ENCODING__] = ACTIONS(7128),
    [sym__character_literal] = ACTIONS(7128),
    [anon_sym_LBRACK] = ACTIONS(7126),
    [anon_sym_DASH_GT] = ACTIONS(7126),
  },
  [5763] = {
    [sym__simple_string] = ACTIONS(7132),
    [sym__simple_symbol] = ACTIONS(7132),
    [sym__simple_subshell] = ACTIONS(7132),
    [sym__simple_regex] = ACTIONS(7132),
    [sym__simple_word_list] = ACTIONS(7132),
    [sym__string_beginning] = ACTIONS(7132),
    [sym__symbol_beginning] = ACTIONS(7132),
    [sym__subshell_beginning] = ACTIONS(7132),
    [sym__regex_beginning] = ACTIONS(7132),
    [sym__word_list_beginning] = ACTIONS(7132),
    [sym__heredoc_body_middle] = ACTIONS(7132),
    [sym__heredoc_body_end] = ACTIONS(7132),
    [sym_heredoc_beginning] = ACTIONS(7132),
    [sym__element_reference_left_bracket] = ACTIONS(7132),
    [sym__block_ampersand] = ACTIONS(7132),
    [sym__splat_star] = ACTIONS(7132),
    [sym__argument_list_left_paren] = ACTIONS(7132),
    [sym__scope_double_colon] = ACTIONS(7132),
    [sym__unary_minus] = ACTIONS(7132),
    [sym__binary_minus] = ACTIONS(7132),
    [sym__binary_star] = ACTIONS(7132),
    [anon_sym_LBRACE] = ACTIONS(7132),
    [anon_sym_def] = ACTIONS(7134),
    [anon_sym_LPAREN] = ACTIONS(7132),
    [anon_sym_DOT] = ACTIONS(7134),
    [anon_sym_COLON_COLON] = ACTIONS(7132),
    [anon_sym_end] = ACTIONS(7134),
    [anon_sym_COMMA] = ACTIONS(7132),
    [anon_sym_PIPE] = ACTIONS(7134),
    [anon_sym_STAR] = ACTIONS(7134),
    [anon_sym_STAR_STAR] = ACTIONS(7134),
    [anon_sym_AMP] = ACTIONS(7134),
    [anon_sym_EQ] = ACTIONS(7134),
    [anon_sym_class] = ACTIONS(7134),
    [anon_sym_LT] = ACTIONS(7134),
    [anon_sym_module] = ACTIONS(7134),
    [anon_sym_return] = ACTIONS(7134),
    [anon_sym_yield] = ACTIONS(7134),
    [anon_sym_break] = ACTIONS(7134),
    [anon_sym_next] = ACTIONS(7134),
    [anon_sym_redo] = ACTIONS(7134),
    [anon_sym_retry] = ACTIONS(7134),
    [anon_sym_if] = ACTIONS(7134),
    [anon_sym_unless] = ACTIONS(7134),
    [anon_sym_while] = ACTIONS(7134),
    [anon_sym_until] = ACTIONS(7134),
    [anon_sym_rescue] = ACTIONS(7134),
    [anon_sym_for] = ACTIONS(7134),
    [anon_sym_in] = ACTIONS(7134),
    [anon_sym_do] = ACTIONS(7134),
    [anon_sym_case] = ACTIONS(7134),
    [anon_sym_when] = ACTIONS(7134),
    [anon_sym_elsif] = ACTIONS(7134),
    [anon_sym_else] = ACTIONS(7134),
    [anon_sym_then] = ACTIONS(7134),
    [anon_sym_begin] = ACTIONS(7134),
    [anon_sym_ensure] = ACTIONS(7134),
    [anon_sym_AMP_DOT] = ACTIONS(7132),
    [anon_sym_PLUS_EQ] = ACTIONS(7132),
    [anon_sym_DASH_EQ] = ACTIONS(7132),
    [anon_sym_STAR_EQ] = ACTIONS(7132),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7132),
    [anon_sym_SLASH_EQ] = ACTIONS(7132),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7132),
    [anon_sym_PIPE_EQ] = ACTIONS(7132),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7132),
    [anon_sym_AMP_EQ] = ACTIONS(7132),
    [anon_sym_PERCENT_EQ] = ACTIONS(7132),
    [anon_sym_GT_GT_EQ] = ACTIONS(7132),
    [anon_sym_LT_LT_EQ] = ACTIONS(7132),
    [anon_sym_CARET_EQ] = ACTIONS(7132),
    [anon_sym_QMARK] = ACTIONS(7134),
    [anon_sym_DOT_DOT] = ACTIONS(7134),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7132),
    [anon_sym_and] = ACTIONS(7134),
    [anon_sym_or] = ACTIONS(7134),
    [anon_sym_PIPE_PIPE] = ACTIONS(7134),
    [anon_sym_AMP_AMP] = ACTIONS(7134),
    [anon_sym_LT_LT] = ACTIONS(7134),
    [anon_sym_GT_GT] = ACTIONS(7134),
    [anon_sym_EQ_EQ] = ACTIONS(7134),
    [anon_sym_BANG_EQ] = ACTIONS(7132),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7132),
    [anon_sym_LT_EQ_GT] = ACTIONS(7132),
    [anon_sym_EQ_TILDE] = ACTIONS(7132),
    [anon_sym_BANG_TILDE] = ACTIONS(7132),
    [anon_sym_LT_EQ] = ACTIONS(7134),
    [anon_sym_GT] = ACTIONS(7134),
    [anon_sym_GT_EQ] = ACTIONS(7132),
    [anon_sym_CARET] = ACTIONS(7134),
    [anon_sym_PLUS] = ACTIONS(7134),
    [anon_sym_SLASH] = ACTIONS(7134),
    [anon_sym_PERCENT] = ACTIONS(7134),
    [anon_sym_defined_QMARK] = ACTIONS(7132),
    [anon_sym_not] = ACTIONS(7134),
    [anon_sym_BANG] = ACTIONS(7134),
    [anon_sym_TILDE] = ACTIONS(7132),
    [sym_constant] = ACTIONS(7136),
    [sym_identifier] = ACTIONS(7136),
    [sym_instance_variable] = ACTIONS(7134),
    [sym_class_variable] = ACTIONS(7134),
    [sym_global_variable] = ACTIONS(7134),
    [anon_sym_alias] = ACTIONS(7134),
    [anon_sym_defined] = ACTIONS(7134),
    [anon_sym_false] = ACTIONS(7134),
    [anon_sym_nil] = ACTIONS(7134),
    [anon_sym_self] = ACTIONS(7134),
    [anon_sym_super] = ACTIONS(7134),
    [anon_sym_true] = ACTIONS(7134),
    [anon_sym_undef] = ACTIONS(7134),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(7134),
    [sym_float] = ACTIONS(7136),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(7132),
    [anon_sym_TRUE] = ACTIONS(7134),
    [anon_sym_FALSE] = ACTIONS(7134),
    [anon_sym_NIL] = ACTIONS(7134),
    [sym_keyword__FILE__] = ACTIONS(7134),
    [sym_keyword__LINE__] = ACTIONS(7134),
    [sym_keyword__ENCODING__] = ACTIONS(7134),
    [sym__character_literal] = ACTIONS(7134),
    [anon_sym_LBRACK] = ACTIONS(7132),
    [anon_sym_DASH_GT] = ACTIONS(7132),
  },
  [5764] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(11920),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [5765] = {
    [sym__statement] = STATE(9019),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [5766] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(11922),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [5767] = {
    [sym__statement] = STATE(9021),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [5768] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(11924),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [5769] = {
    [sym__statement] = STATE(9023),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [5770] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(11926),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [5771] = {
    [sym__statement] = STATE(9025),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [5772] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(11928),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [5773] = {
    [sym__statement] = STATE(9027),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [5774] = {
    [sym__simple_string] = ACTIONS(126),
    [sym__simple_heredoc_body] = ACTIONS(126),
    [sym__string_beginning] = ACTIONS(126),
    [sym__heredoc_body_beginning] = ACTIONS(126),
    [sym__heredoc_body_middle] = ACTIONS(126),
    [sym__heredoc_body_end] = ACTIONS(126),
    [sym__element_reference_left_bracket] = ACTIONS(126),
    [sym__scope_double_colon] = ACTIONS(126),
    [sym__binary_minus] = ACTIONS(126),
    [sym__binary_star] = ACTIONS(126),
    [anon_sym_LBRACE] = ACTIONS(126),
    [anon_sym_DOT] = ACTIONS(128),
    [anon_sym_COMMA] = ACTIONS(126),
    [anon_sym_PIPE] = ACTIONS(128),
    [anon_sym_STAR_STAR] = ACTIONS(128),
    [anon_sym_AMP] = ACTIONS(128),
    [anon_sym_EQ] = ACTIONS(128),
    [anon_sym_LT] = ACTIONS(128),
    [anon_sym_if] = ACTIONS(126),
    [anon_sym_unless] = ACTIONS(126),
    [anon_sym_while] = ACTIONS(126),
    [anon_sym_until] = ACTIONS(126),
    [anon_sym_rescue] = ACTIONS(126),
    [anon_sym_do] = ACTIONS(126),
    [anon_sym_AMP_DOT] = ACTIONS(126),
    [anon_sym_PLUS_EQ] = ACTIONS(126),
    [anon_sym_DASH_EQ] = ACTIONS(126),
    [anon_sym_STAR_EQ] = ACTIONS(126),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(126),
    [anon_sym_SLASH_EQ] = ACTIONS(126),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(126),
    [anon_sym_PIPE_EQ] = ACTIONS(126),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(126),
    [anon_sym_AMP_EQ] = ACTIONS(126),
    [anon_sym_PERCENT_EQ] = ACTIONS(126),
    [anon_sym_GT_GT_EQ] = ACTIONS(126),
    [anon_sym_LT_LT_EQ] = ACTIONS(126),
    [anon_sym_CARET_EQ] = ACTIONS(126),
    [anon_sym_QMARK] = ACTIONS(128),
    [anon_sym_DOT_DOT] = ACTIONS(128),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(126),
    [anon_sym_and] = ACTIONS(126),
    [anon_sym_or] = ACTIONS(126),
    [anon_sym_PIPE_PIPE] = ACTIONS(128),
    [anon_sym_AMP_AMP] = ACTIONS(128),
    [anon_sym_LT_LT] = ACTIONS(128),
    [anon_sym_GT_GT] = ACTIONS(128),
    [anon_sym_EQ_EQ] = ACTIONS(128),
    [anon_sym_BANG_EQ] = ACTIONS(126),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(126),
    [anon_sym_LT_EQ_GT] = ACTIONS(126),
    [anon_sym_EQ_TILDE] = ACTIONS(126),
    [anon_sym_BANG_TILDE] = ACTIONS(126),
    [anon_sym_LT_EQ] = ACTIONS(128),
    [anon_sym_GT] = ACTIONS(128),
    [anon_sym_GT_EQ] = ACTIONS(126),
    [anon_sym_CARET] = ACTIONS(128),
    [anon_sym_PLUS] = ACTIONS(128),
    [anon_sym_SLASH] = ACTIONS(128),
    [anon_sym_PERCENT] = ACTIONS(128),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(128),
  },
  [5775] = {
    [sym__simple_heredoc_body] = ACTIONS(130),
    [sym__heredoc_body_beginning] = ACTIONS(130),
    [sym__heredoc_body_middle] = ACTIONS(130),
    [sym__heredoc_body_end] = ACTIONS(130),
    [sym__element_reference_left_bracket] = ACTIONS(130),
    [sym__scope_double_colon] = ACTIONS(130),
    [sym__binary_minus] = ACTIONS(130),
    [sym__binary_star] = ACTIONS(130),
    [anon_sym_LBRACE] = ACTIONS(130),
    [anon_sym_DOT] = ACTIONS(132),
    [anon_sym_COMMA] = ACTIONS(130),
    [anon_sym_PIPE] = ACTIONS(132),
    [anon_sym_STAR_STAR] = ACTIONS(132),
    [anon_sym_AMP] = ACTIONS(132),
    [anon_sym_EQ] = ACTIONS(132),
    [anon_sym_LT] = ACTIONS(132),
    [anon_sym_if] = ACTIONS(130),
    [anon_sym_unless] = ACTIONS(130),
    [anon_sym_while] = ACTIONS(130),
    [anon_sym_until] = ACTIONS(130),
    [anon_sym_rescue] = ACTIONS(130),
    [anon_sym_do] = ACTIONS(130),
    [anon_sym_AMP_DOT] = ACTIONS(130),
    [anon_sym_PLUS_EQ] = ACTIONS(130),
    [anon_sym_DASH_EQ] = ACTIONS(130),
    [anon_sym_STAR_EQ] = ACTIONS(130),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(130),
    [anon_sym_SLASH_EQ] = ACTIONS(130),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(130),
    [anon_sym_PIPE_EQ] = ACTIONS(130),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(130),
    [anon_sym_AMP_EQ] = ACTIONS(130),
    [anon_sym_PERCENT_EQ] = ACTIONS(130),
    [anon_sym_GT_GT_EQ] = ACTIONS(130),
    [anon_sym_LT_LT_EQ] = ACTIONS(130),
    [anon_sym_CARET_EQ] = ACTIONS(130),
    [anon_sym_QMARK] = ACTIONS(130),
    [anon_sym_DOT_DOT] = ACTIONS(132),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(130),
    [anon_sym_and] = ACTIONS(130),
    [anon_sym_or] = ACTIONS(130),
    [anon_sym_PIPE_PIPE] = ACTIONS(132),
    [anon_sym_AMP_AMP] = ACTIONS(132),
    [anon_sym_LT_LT] = ACTIONS(132),
    [anon_sym_GT_GT] = ACTIONS(132),
    [anon_sym_EQ_EQ] = ACTIONS(132),
    [anon_sym_BANG_EQ] = ACTIONS(130),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(130),
    [anon_sym_LT_EQ_GT] = ACTIONS(130),
    [anon_sym_EQ_TILDE] = ACTIONS(130),
    [anon_sym_BANG_TILDE] = ACTIONS(130),
    [anon_sym_LT_EQ] = ACTIONS(132),
    [anon_sym_GT] = ACTIONS(132),
    [anon_sym_GT_EQ] = ACTIONS(130),
    [anon_sym_CARET] = ACTIONS(132),
    [anon_sym_PLUS] = ACTIONS(132),
    [anon_sym_SLASH] = ACTIONS(132),
    [anon_sym_PERCENT] = ACTIONS(132),
    [sym_comment] = ACTIONS(256),
  },
  [5776] = {
    [sym__simple_heredoc_body] = ACTIONS(134),
    [sym__heredoc_body_beginning] = ACTIONS(134),
    [sym__heredoc_body_middle] = ACTIONS(134),
    [sym__heredoc_body_end] = ACTIONS(134),
    [sym__element_reference_left_bracket] = ACTIONS(134),
    [sym__scope_double_colon] = ACTIONS(134),
    [sym__binary_minus] = ACTIONS(134),
    [sym__binary_star] = ACTIONS(134),
    [anon_sym_LBRACE] = ACTIONS(134),
    [anon_sym_DOT] = ACTIONS(136),
    [anon_sym_COMMA] = ACTIONS(134),
    [anon_sym_PIPE] = ACTIONS(136),
    [anon_sym_STAR_STAR] = ACTIONS(136),
    [anon_sym_AMP] = ACTIONS(136),
    [anon_sym_EQ] = ACTIONS(136),
    [anon_sym_LT] = ACTIONS(136),
    [anon_sym_if] = ACTIONS(134),
    [anon_sym_unless] = ACTIONS(134),
    [anon_sym_while] = ACTIONS(134),
    [anon_sym_until] = ACTIONS(134),
    [anon_sym_rescue] = ACTIONS(134),
    [anon_sym_do] = ACTIONS(134),
    [anon_sym_AMP_DOT] = ACTIONS(134),
    [anon_sym_PLUS_EQ] = ACTIONS(134),
    [anon_sym_DASH_EQ] = ACTIONS(134),
    [anon_sym_STAR_EQ] = ACTIONS(134),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(134),
    [anon_sym_SLASH_EQ] = ACTIONS(134),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(134),
    [anon_sym_PIPE_EQ] = ACTIONS(134),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(134),
    [anon_sym_AMP_EQ] = ACTIONS(134),
    [anon_sym_PERCENT_EQ] = ACTIONS(134),
    [anon_sym_GT_GT_EQ] = ACTIONS(134),
    [anon_sym_LT_LT_EQ] = ACTIONS(134),
    [anon_sym_CARET_EQ] = ACTIONS(134),
    [anon_sym_QMARK] = ACTIONS(134),
    [anon_sym_DOT_DOT] = ACTIONS(136),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(134),
    [anon_sym_and] = ACTIONS(134),
    [anon_sym_or] = ACTIONS(134),
    [anon_sym_PIPE_PIPE] = ACTIONS(136),
    [anon_sym_AMP_AMP] = ACTIONS(136),
    [anon_sym_LT_LT] = ACTIONS(136),
    [anon_sym_GT_GT] = ACTIONS(136),
    [anon_sym_EQ_EQ] = ACTIONS(136),
    [anon_sym_BANG_EQ] = ACTIONS(134),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(134),
    [anon_sym_LT_EQ_GT] = ACTIONS(134),
    [anon_sym_EQ_TILDE] = ACTIONS(134),
    [anon_sym_BANG_TILDE] = ACTIONS(134),
    [anon_sym_LT_EQ] = ACTIONS(136),
    [anon_sym_GT] = ACTIONS(136),
    [anon_sym_GT_EQ] = ACTIONS(134),
    [anon_sym_CARET] = ACTIONS(136),
    [anon_sym_PLUS] = ACTIONS(136),
    [anon_sym_SLASH] = ACTIONS(136),
    [anon_sym_PERCENT] = ACTIONS(136),
    [sym_comment] = ACTIONS(256),
  },
  [5777] = {
    [sym__simple_heredoc_body] = ACTIONS(138),
    [sym__heredoc_body_beginning] = ACTIONS(138),
    [sym__heredoc_body_middle] = ACTIONS(138),
    [sym__heredoc_body_end] = ACTIONS(138),
    [sym__element_reference_left_bracket] = ACTIONS(138),
    [sym__scope_double_colon] = ACTIONS(138),
    [sym__binary_minus] = ACTIONS(138),
    [sym__binary_star] = ACTIONS(138),
    [anon_sym_LBRACE] = ACTIONS(138),
    [anon_sym_DOT] = ACTIONS(140),
    [anon_sym_COMMA] = ACTIONS(138),
    [anon_sym_PIPE] = ACTIONS(140),
    [anon_sym_STAR_STAR] = ACTIONS(140),
    [anon_sym_AMP] = ACTIONS(140),
    [anon_sym_EQ] = ACTIONS(140),
    [anon_sym_LT] = ACTIONS(140),
    [anon_sym_if] = ACTIONS(138),
    [anon_sym_unless] = ACTIONS(138),
    [anon_sym_while] = ACTIONS(138),
    [anon_sym_until] = ACTIONS(138),
    [anon_sym_rescue] = ACTIONS(138),
    [anon_sym_do] = ACTIONS(138),
    [anon_sym_AMP_DOT] = ACTIONS(138),
    [anon_sym_PLUS_EQ] = ACTIONS(138),
    [anon_sym_DASH_EQ] = ACTIONS(138),
    [anon_sym_STAR_EQ] = ACTIONS(138),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(138),
    [anon_sym_SLASH_EQ] = ACTIONS(138),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(138),
    [anon_sym_PIPE_EQ] = ACTIONS(138),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(138),
    [anon_sym_AMP_EQ] = ACTIONS(138),
    [anon_sym_PERCENT_EQ] = ACTIONS(138),
    [anon_sym_GT_GT_EQ] = ACTIONS(138),
    [anon_sym_LT_LT_EQ] = ACTIONS(138),
    [anon_sym_CARET_EQ] = ACTIONS(138),
    [anon_sym_QMARK] = ACTIONS(138),
    [anon_sym_DOT_DOT] = ACTIONS(140),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(138),
    [anon_sym_and] = ACTIONS(138),
    [anon_sym_or] = ACTIONS(138),
    [anon_sym_PIPE_PIPE] = ACTIONS(140),
    [anon_sym_AMP_AMP] = ACTIONS(140),
    [anon_sym_LT_LT] = ACTIONS(140),
    [anon_sym_GT_GT] = ACTIONS(140),
    [anon_sym_EQ_EQ] = ACTIONS(140),
    [anon_sym_BANG_EQ] = ACTIONS(138),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(138),
    [anon_sym_LT_EQ_GT] = ACTIONS(138),
    [anon_sym_EQ_TILDE] = ACTIONS(138),
    [anon_sym_BANG_TILDE] = ACTIONS(138),
    [anon_sym_LT_EQ] = ACTIONS(140),
    [anon_sym_GT] = ACTIONS(140),
    [anon_sym_GT_EQ] = ACTIONS(138),
    [anon_sym_CARET] = ACTIONS(140),
    [anon_sym_PLUS] = ACTIONS(140),
    [anon_sym_SLASH] = ACTIONS(140),
    [anon_sym_PERCENT] = ACTIONS(140),
    [sym_comment] = ACTIONS(256),
  },
  [5778] = {
    [sym__simple_heredoc_body] = ACTIONS(142),
    [sym__heredoc_body_beginning] = ACTIONS(142),
    [sym__heredoc_body_middle] = ACTIONS(142),
    [sym__heredoc_body_end] = ACTIONS(142),
    [sym__element_reference_left_bracket] = ACTIONS(142),
    [sym__scope_double_colon] = ACTIONS(142),
    [sym__binary_minus] = ACTIONS(142),
    [sym__binary_star] = ACTIONS(142),
    [anon_sym_LBRACE] = ACTIONS(142),
    [anon_sym_DOT] = ACTIONS(144),
    [anon_sym_COMMA] = ACTIONS(142),
    [anon_sym_PIPE] = ACTIONS(144),
    [anon_sym_STAR_STAR] = ACTIONS(144),
    [anon_sym_AMP] = ACTIONS(144),
    [anon_sym_EQ] = ACTIONS(144),
    [anon_sym_LT] = ACTIONS(144),
    [anon_sym_if] = ACTIONS(142),
    [anon_sym_unless] = ACTIONS(142),
    [anon_sym_while] = ACTIONS(142),
    [anon_sym_until] = ACTIONS(142),
    [anon_sym_rescue] = ACTIONS(142),
    [anon_sym_do] = ACTIONS(142),
    [anon_sym_AMP_DOT] = ACTIONS(142),
    [anon_sym_PLUS_EQ] = ACTIONS(142),
    [anon_sym_DASH_EQ] = ACTIONS(142),
    [anon_sym_STAR_EQ] = ACTIONS(142),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(142),
    [anon_sym_SLASH_EQ] = ACTIONS(142),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(142),
    [anon_sym_PIPE_EQ] = ACTIONS(142),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(142),
    [anon_sym_AMP_EQ] = ACTIONS(142),
    [anon_sym_PERCENT_EQ] = ACTIONS(142),
    [anon_sym_GT_GT_EQ] = ACTIONS(142),
    [anon_sym_LT_LT_EQ] = ACTIONS(142),
    [anon_sym_CARET_EQ] = ACTIONS(142),
    [anon_sym_QMARK] = ACTIONS(142),
    [anon_sym_DOT_DOT] = ACTIONS(144),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(142),
    [anon_sym_and] = ACTIONS(142),
    [anon_sym_or] = ACTIONS(142),
    [anon_sym_PIPE_PIPE] = ACTIONS(144),
    [anon_sym_AMP_AMP] = ACTIONS(144),
    [anon_sym_LT_LT] = ACTIONS(144),
    [anon_sym_GT_GT] = ACTIONS(144),
    [anon_sym_EQ_EQ] = ACTIONS(144),
    [anon_sym_BANG_EQ] = ACTIONS(142),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(142),
    [anon_sym_LT_EQ_GT] = ACTIONS(142),
    [anon_sym_EQ_TILDE] = ACTIONS(142),
    [anon_sym_BANG_TILDE] = ACTIONS(142),
    [anon_sym_LT_EQ] = ACTIONS(144),
    [anon_sym_GT] = ACTIONS(144),
    [anon_sym_GT_EQ] = ACTIONS(142),
    [anon_sym_CARET] = ACTIONS(144),
    [anon_sym_PLUS] = ACTIONS(144),
    [anon_sym_SLASH] = ACTIONS(144),
    [anon_sym_PERCENT] = ACTIONS(144),
    [sym_comment] = ACTIONS(256),
  },
  [5779] = {
    [sym__statement] = STATE(9028),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(9029),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [5780] = {
    [sym__statement] = STATE(9030),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(9031),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [5781] = {
    [sym__statement] = STATE(9032),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(9033),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [5782] = {
    [sym__statement] = STATE(9034),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(9035),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [5783] = {
    [sym__statement] = STATE(9036),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(9037),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [5784] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__heredoc_body_middle] = ACTIONS(250),
    [sym__heredoc_body_end] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [5785] = {
    [sym_method] = STATE(5784),
    [sym_singleton_method] = STATE(5784),
    [sym_class] = STATE(5784),
    [sym_singleton_class] = STATE(5784),
    [sym_module] = STATE(5784),
    [sym_return] = STATE(5784),
    [sym_yield] = STATE(5784),
    [sym_break] = STATE(5784),
    [sym_next] = STATE(5784),
    [sym_redo] = STATE(5784),
    [sym_retry] = STATE(5784),
    [sym_while] = STATE(5784),
    [sym_until] = STATE(5784),
    [sym_for] = STATE(5784),
    [sym_case] = STATE(5784),
    [sym_if] = STATE(5784),
    [sym_unless] = STATE(5784),
    [sym_begin] = STATE(5784),
    [sym__arg] = STATE(9038),
    [sym__primary] = STATE(5812),
    [sym_parenthesized_statements] = STATE(5784),
    [sym_element_reference] = STATE(5606),
    [sym_scope_resolution] = STATE(5813),
    [sym_call] = STATE(5813),
    [sym_method_call] = STATE(5606),
    [sym_assignment] = STATE(5814),
    [sym_operator_assignment] = STATE(5814),
    [sym_conditional] = STATE(5814),
    [sym_range] = STATE(5814),
    [sym_binary] = STATE(5814),
    [sym_unary] = STATE(5814),
    [sym_left_assignment_list] = STATE(5815),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5816),
    [sym__variable] = STATE(5813),
    [sym_symbol] = STATE(5784),
    [sym_complex] = STATE(5784),
    [sym_rational] = STATE(5784),
    [sym_super] = STATE(5598),
    [sym_true] = STATE(5606),
    [sym_false] = STATE(5606),
    [sym_self] = STATE(5598),
    [sym_nil] = STATE(5606),
    [sym_chained_string] = STATE(5784),
    [sym_string] = STATE(5817),
    [sym_subshell] = STATE(5784),
    [sym_array] = STATE(5784),
    [sym_hash] = STATE(5784),
    [sym_regex] = STATE(5784),
    [sym_lambda] = STATE(5784),
    [sym__simple_string] = ACTIONS(8084),
    [sym__simple_symbol] = ACTIONS(8086),
    [sym__simple_subshell] = ACTIONS(8088),
    [sym__simple_regex] = ACTIONS(8090),
    [sym__simple_word_list] = ACTIONS(8092),
    [sym__string_beginning] = ACTIONS(8094),
    [sym__symbol_beginning] = ACTIONS(8096),
    [sym__subshell_beginning] = ACTIONS(8098),
    [sym__regex_beginning] = ACTIONS(8100),
    [sym__word_list_beginning] = ACTIONS(8102),
    [sym_heredoc_beginning] = ACTIONS(8104),
    [sym__unary_minus] = ACTIONS(8106),
    [anon_sym_LBRACE] = ACTIONS(8108),
    [anon_sym_def] = ACTIONS(8110),
    [anon_sym_LPAREN] = ACTIONS(8112),
    [anon_sym_COLON_COLON] = ACTIONS(7876),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8114),
    [anon_sym_module] = ACTIONS(8116),
    [anon_sym_return] = ACTIONS(8118),
    [anon_sym_yield] = ACTIONS(8120),
    [anon_sym_break] = ACTIONS(8122),
    [anon_sym_next] = ACTIONS(8124),
    [anon_sym_redo] = ACTIONS(8126),
    [anon_sym_retry] = ACTIONS(8128),
    [anon_sym_if] = ACTIONS(8130),
    [anon_sym_unless] = ACTIONS(8132),
    [anon_sym_while] = ACTIONS(8134),
    [anon_sym_until] = ACTIONS(8136),
    [anon_sym_for] = ACTIONS(8138),
    [anon_sym_case] = ACTIONS(8140),
    [anon_sym_begin] = ACTIONS(8142),
    [anon_sym_PLUS] = ACTIONS(8144),
    [anon_sym_defined_QMARK] = ACTIONS(8146),
    [anon_sym_not] = ACTIONS(8148),
    [anon_sym_BANG] = ACTIONS(8150),
    [anon_sym_TILDE] = ACTIONS(8150),
    [sym_constant] = ACTIONS(7916),
    [sym_identifier] = ACTIONS(7916),
    [sym_instance_variable] = ACTIONS(7918),
    [sym_class_variable] = ACTIONS(7918),
    [sym_global_variable] = ACTIONS(7918),
    [anon_sym_false] = ACTIONS(7920),
    [anon_sym_nil] = ACTIONS(7922),
    [anon_sym_self] = ACTIONS(7924),
    [anon_sym_super] = ACTIONS(7926),
    [anon_sym_true] = ACTIONS(7928),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8152),
    [sym_float] = ACTIONS(8154),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8156),
    [anon_sym_TRUE] = ACTIONS(7928),
    [anon_sym_FALSE] = ACTIONS(7920),
    [anon_sym_NIL] = ACTIONS(7922),
    [sym_keyword__FILE__] = ACTIONS(8158),
    [sym_keyword__LINE__] = ACTIONS(8158),
    [sym_keyword__ENCODING__] = ACTIONS(8158),
    [sym__character_literal] = ACTIONS(8160),
    [anon_sym_LBRACK] = ACTIONS(8162),
    [anon_sym_DASH_GT] = ACTIONS(8164),
  },
  [5786] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(193),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_hash_splat_argument] = STATE(197),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(199),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(200),
    [sym__variable] = STATE(196),
    [sym_reserved_identifier] = STATE(201),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(202),
    [sym_subshell] = STATE(151),
    [sym_heredoc_end] = STATE(9040),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym__hash_items] = STATE(9041),
    [sym_pair] = STATE(205),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(260),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(272),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(286),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_RBRACE] = ACTIONS(11930),
    [anon_sym_def] = ACTIONS(292),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(302),
    [anon_sym_class] = ACTIONS(304),
    [anon_sym_module] = ACTIONS(306),
    [anon_sym_return] = ACTIONS(308),
    [anon_sym_yield] = ACTIONS(310),
    [anon_sym_break] = ACTIONS(312),
    [anon_sym_next] = ACTIONS(314),
    [anon_sym_redo] = ACTIONS(316),
    [anon_sym_retry] = ACTIONS(318),
    [anon_sym_if] = ACTIONS(320),
    [anon_sym_unless] = ACTIONS(322),
    [anon_sym_while] = ACTIONS(324),
    [anon_sym_until] = ACTIONS(326),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(328),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(330),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(332),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(334),
    [anon_sym_defined_QMARK] = ACTIONS(336),
    [anon_sym_not] = ACTIONS(338),
    [anon_sym_BANG] = ACTIONS(340),
    [anon_sym_TILDE] = ACTIONS(340),
    [sym_constant] = ACTIONS(342),
    [sym_identifier] = ACTIONS(342),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(346),
    [anon_sym_nil] = ACTIONS(348),
    [anon_sym_self] = ACTIONS(350),
    [anon_sym_super] = ACTIONS(352),
    [anon_sym_true] = ACTIONS(354),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(370),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [5787] = {
    [sym__method_rest] = STATE(9043),
    [sym__variable] = STATE(9044),
    [sym_operator] = STATE(217),
    [sym__method_name] = STATE(9045),
    [sym_setter] = STATE(217),
    [sym_symbol] = STATE(217),
    [sym_super] = STATE(219),
    [sym_self] = STATE(219),
    [sym__simple_symbol] = ACTIONS(378),
    [sym__symbol_beginning] = ACTIONS(380),
    [anon_sym_LPAREN] = ACTIONS(11932),
    [anon_sym_PIPE] = ACTIONS(384),
    [anon_sym_STAR] = ACTIONS(386),
    [anon_sym_STAR_STAR] = ACTIONS(384),
    [anon_sym_AMP] = ACTIONS(384),
    [anon_sym_LT] = ACTIONS(386),
    [anon_sym_DOT_DOT] = ACTIONS(384),
    [anon_sym_LT_LT] = ACTIONS(384),
    [anon_sym_GT_GT] = ACTIONS(384),
    [anon_sym_EQ_EQ] = ACTIONS(386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(384),
    [anon_sym_LT_EQ_GT] = ACTIONS(384),
    [anon_sym_EQ_TILDE] = ACTIONS(384),
    [anon_sym_BANG_TILDE] = ACTIONS(384),
    [anon_sym_LT_EQ] = ACTIONS(386),
    [anon_sym_GT] = ACTIONS(386),
    [anon_sym_GT_EQ] = ACTIONS(384),
    [anon_sym_CARET] = ACTIONS(384),
    [anon_sym_PLUS] = ACTIONS(386),
    [anon_sym_SLASH] = ACTIONS(384),
    [anon_sym_PERCENT] = ACTIONS(384),
    [anon_sym_BANG] = ACTIONS(386),
    [anon_sym_TILDE] = ACTIONS(384),
    [sym_constant] = ACTIONS(388),
    [sym_identifier] = ACTIONS(390),
    [sym_instance_variable] = ACTIONS(388),
    [sym_class_variable] = ACTIONS(388),
    [sym_global_variable] = ACTIONS(388),
    [anon_sym_self] = ACTIONS(392),
    [anon_sym_super] = ACTIONS(394),
    [anon_sym_DASH] = ACTIONS(386),
    [anon_sym_PLUS_AT] = ACTIONS(384),
    [anon_sym_DASH_AT] = ACTIONS(384),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(386),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(384),
    [anon_sym_BQUOTE] = ACTIONS(384),
    [sym_comment] = ACTIONS(110),
  },
  [5788] = {
    [sym__statements] = STATE(9047),
    [sym__top_level_statement] = STATE(235),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(236),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(237),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(240),
    [sym__mlhs] = STATE(241),
    [sym__simple_mlhs] = STATE(242),
    [sym_destructured_left_assignment] = STATE(242),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(243),
    [sym__variable] = STATE(239),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(396),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_RPAREN] = ACTIONS(11934),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(402),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(412),
    [anon_sym_defined_QMARK] = ACTIONS(414),
    [anon_sym_not] = ACTIONS(416),
    [anon_sym_BANG] = ACTIONS(418),
    [anon_sym_TILDE] = ACTIONS(418),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5789] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(293),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(9050),
    [sym_call] = STATE(295),
    [sym_method_call] = STATE(286),
    [sym__lhs] = STATE(255),
    [sym__variable] = STATE(295),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [sym__singleton_class_left_angle_left_langle] = ACTIONS(11936),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(458),
    [anon_sym_COLON_COLON] = ACTIONS(524),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(11938),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [5790] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(293),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(9052),
    [sym_call] = STATE(295),
    [sym_method_call] = STATE(286),
    [sym__lhs] = STATE(255),
    [sym__variable] = STATE(295),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(458),
    [anon_sym_COLON_COLON] = ACTIONS(524),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(11940),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [5791] = {
    [sym_method] = STATE(2839),
    [sym_singleton_method] = STATE(2839),
    [sym_class] = STATE(2839),
    [sym_singleton_class] = STATE(2839),
    [sym_module] = STATE(2839),
    [sym_return] = STATE(2839),
    [sym_yield] = STATE(2839),
    [sym_break] = STATE(2839),
    [sym_next] = STATE(2839),
    [sym_redo] = STATE(2839),
    [sym_retry] = STATE(2839),
    [sym_while] = STATE(2839),
    [sym_until] = STATE(2839),
    [sym_for] = STATE(2839),
    [sym_case] = STATE(2839),
    [sym_if] = STATE(2839),
    [sym_unless] = STATE(2839),
    [sym_begin] = STATE(2839),
    [sym__arg] = STATE(2873),
    [sym__primary] = STATE(2874),
    [sym_parenthesized_statements] = STATE(2839),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2875),
    [sym_call] = STATE(2875),
    [sym_method_call] = STATE(2764),
    [sym_argument_list] = STATE(9053),
    [sym__argument_list_with_parens] = STATE(2877),
    [sym__argument] = STATE(2878),
    [sym_splat_argument] = STATE(2879),
    [sym_hash_splat_argument] = STATE(2879),
    [sym_block_argument] = STATE(2879),
    [sym_assignment] = STATE(2881),
    [sym_operator_assignment] = STATE(2881),
    [sym_conditional] = STATE(2881),
    [sym_range] = STATE(2881),
    [sym_binary] = STATE(2881),
    [sym_unary] = STATE(2881),
    [sym_left_assignment_list] = STATE(2882),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2883),
    [sym__variable] = STATE(2875),
    [sym_reserved_identifier] = STATE(2884),
    [sym_symbol] = STATE(2839),
    [sym_complex] = STATE(2839),
    [sym_rational] = STATE(2839),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2839),
    [sym_string] = STATE(2885),
    [sym_subshell] = STATE(2839),
    [sym_array] = STATE(2839),
    [sym_hash] = STATE(2839),
    [sym_pair] = STATE(2879),
    [sym_regex] = STATE(2839),
    [sym_lambda] = STATE(2839),
    [sym__simple_string] = ACTIONS(4162),
    [sym__simple_symbol] = ACTIONS(4164),
    [sym__simple_subshell] = ACTIONS(4166),
    [sym__simple_regex] = ACTIONS(4168),
    [sym__simple_word_list] = ACTIONS(4170),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(4172),
    [sym__symbol_beginning] = ACTIONS(4174),
    [sym__subshell_beginning] = ACTIONS(4176),
    [sym__regex_beginning] = ACTIONS(4178),
    [sym__word_list_beginning] = ACTIONS(4180),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym__heredoc_body_middle] = ACTIONS(532),
    [sym__heredoc_body_end] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(4182),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(4184),
    [sym__splat_star] = ACTIONS(4186),
    [sym__argument_list_left_paren] = ACTIONS(4188),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(4190),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(4194),
    [anon_sym_LPAREN] = ACTIONS(4196),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(544),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(4198),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(4200),
    [anon_sym_return] = ACTIONS(4202),
    [anon_sym_yield] = ACTIONS(4204),
    [anon_sym_break] = ACTIONS(4206),
    [anon_sym_next] = ACTIONS(4208),
    [anon_sym_redo] = ACTIONS(4210),
    [anon_sym_retry] = ACTIONS(4212),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(4214),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(4218),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(4220),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_PLUS_EQ] = ACTIONS(532),
    [anon_sym_DASH_EQ] = ACTIONS(532),
    [anon_sym_STAR_EQ] = ACTIONS(532),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(532),
    [anon_sym_SLASH_EQ] = ACTIONS(532),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(532),
    [anon_sym_PIPE_EQ] = ACTIONS(532),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(532),
    [anon_sym_AMP_EQ] = ACTIONS(532),
    [anon_sym_PERCENT_EQ] = ACTIONS(532),
    [anon_sym_GT_GT_EQ] = ACTIONS(532),
    [anon_sym_LT_LT_EQ] = ACTIONS(532),
    [anon_sym_CARET_EQ] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(544),
    [anon_sym_AMP_AMP] = ACTIONS(544),
    [anon_sym_LT_LT] = ACTIONS(544),
    [anon_sym_GT_GT] = ACTIONS(544),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(544),
    [anon_sym_PERCENT] = ACTIONS(544),
    [anon_sym_defined_QMARK] = ACTIONS(4222),
    [anon_sym_not] = ACTIONS(4224),
    [anon_sym_BANG] = ACTIONS(4226),
    [anon_sym_TILDE] = ACTIONS(4228),
    [sym_constant] = ACTIONS(4230),
    [sym_identifier] = ACTIONS(4230),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(4056),
    [anon_sym_nil] = ACTIONS(4058),
    [anon_sym_self] = ACTIONS(4060),
    [anon_sym_super] = ACTIONS(4062),
    [anon_sym_true] = ACTIONS(4064),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(4232),
    [sym_float] = ACTIONS(4234),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4236),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4238),
    [sym_keyword__LINE__] = ACTIONS(4238),
    [sym_keyword__ENCODING__] = ACTIONS(4238),
    [sym__character_literal] = ACTIONS(4240),
    [anon_sym_LBRACK] = ACTIONS(4242),
    [anon_sym_DASH_GT] = ACTIONS(4244),
  },
  [5792] = {
    [sym_method] = STATE(2839),
    [sym_singleton_method] = STATE(2839),
    [sym_class] = STATE(2839),
    [sym_singleton_class] = STATE(2839),
    [sym_module] = STATE(2839),
    [sym_return] = STATE(2839),
    [sym_yield] = STATE(2839),
    [sym_break] = STATE(2839),
    [sym_next] = STATE(2839),
    [sym_redo] = STATE(2839),
    [sym_retry] = STATE(2839),
    [sym_while] = STATE(2839),
    [sym_until] = STATE(2839),
    [sym_for] = STATE(2839),
    [sym_case] = STATE(2839),
    [sym_if] = STATE(2839),
    [sym_unless] = STATE(2839),
    [sym_begin] = STATE(2839),
    [sym__arg] = STATE(2873),
    [sym__primary] = STATE(2874),
    [sym_parenthesized_statements] = STATE(2839),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2875),
    [sym_call] = STATE(2875),
    [sym_method_call] = STATE(2764),
    [sym_argument_list] = STATE(9054),
    [sym__argument_list_with_parens] = STATE(2877),
    [sym__argument] = STATE(2878),
    [sym_splat_argument] = STATE(2879),
    [sym_hash_splat_argument] = STATE(2879),
    [sym_block_argument] = STATE(2879),
    [sym_assignment] = STATE(2881),
    [sym_operator_assignment] = STATE(2881),
    [sym_conditional] = STATE(2881),
    [sym_range] = STATE(2881),
    [sym_binary] = STATE(2881),
    [sym_unary] = STATE(2881),
    [sym_left_assignment_list] = STATE(2882),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2883),
    [sym__variable] = STATE(2875),
    [sym_reserved_identifier] = STATE(2884),
    [sym_symbol] = STATE(2839),
    [sym_complex] = STATE(2839),
    [sym_rational] = STATE(2839),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2839),
    [sym_string] = STATE(2885),
    [sym_subshell] = STATE(2839),
    [sym_array] = STATE(2839),
    [sym_hash] = STATE(2839),
    [sym_pair] = STATE(2879),
    [sym_regex] = STATE(2839),
    [sym_lambda] = STATE(2839),
    [sym__simple_string] = ACTIONS(4162),
    [sym__simple_symbol] = ACTIONS(4164),
    [sym__simple_subshell] = ACTIONS(4166),
    [sym__simple_regex] = ACTIONS(4168),
    [sym__simple_word_list] = ACTIONS(4170),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(4172),
    [sym__symbol_beginning] = ACTIONS(4174),
    [sym__subshell_beginning] = ACTIONS(4176),
    [sym__regex_beginning] = ACTIONS(4178),
    [sym__word_list_beginning] = ACTIONS(4180),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym__heredoc_body_middle] = ACTIONS(602),
    [sym__heredoc_body_end] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(4182),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(4184),
    [sym__splat_star] = ACTIONS(4186),
    [sym__argument_list_left_paren] = ACTIONS(4188),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(4190),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(4194),
    [anon_sym_LPAREN] = ACTIONS(4196),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(604),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(4198),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(4200),
    [anon_sym_return] = ACTIONS(4202),
    [anon_sym_yield] = ACTIONS(4204),
    [anon_sym_break] = ACTIONS(4206),
    [anon_sym_next] = ACTIONS(4208),
    [anon_sym_redo] = ACTIONS(4210),
    [anon_sym_retry] = ACTIONS(4212),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(4214),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(4218),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(4220),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_PLUS_EQ] = ACTIONS(602),
    [anon_sym_DASH_EQ] = ACTIONS(602),
    [anon_sym_STAR_EQ] = ACTIONS(602),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(602),
    [anon_sym_SLASH_EQ] = ACTIONS(602),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(602),
    [anon_sym_PIPE_EQ] = ACTIONS(602),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(602),
    [anon_sym_AMP_EQ] = ACTIONS(602),
    [anon_sym_PERCENT_EQ] = ACTIONS(602),
    [anon_sym_GT_GT_EQ] = ACTIONS(602),
    [anon_sym_LT_LT_EQ] = ACTIONS(602),
    [anon_sym_CARET_EQ] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(604),
    [anon_sym_AMP_AMP] = ACTIONS(604),
    [anon_sym_LT_LT] = ACTIONS(604),
    [anon_sym_GT_GT] = ACTIONS(604),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(604),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(604),
    [anon_sym_PERCENT] = ACTIONS(604),
    [anon_sym_defined_QMARK] = ACTIONS(4222),
    [anon_sym_not] = ACTIONS(4224),
    [anon_sym_BANG] = ACTIONS(4226),
    [anon_sym_TILDE] = ACTIONS(4228),
    [sym_constant] = ACTIONS(4230),
    [sym_identifier] = ACTIONS(4230),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(4056),
    [anon_sym_nil] = ACTIONS(4058),
    [anon_sym_self] = ACTIONS(4060),
    [anon_sym_super] = ACTIONS(4062),
    [anon_sym_true] = ACTIONS(4064),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(4232),
    [sym_float] = ACTIONS(4234),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4236),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4238),
    [sym_keyword__LINE__] = ACTIONS(4238),
    [sym_keyword__ENCODING__] = ACTIONS(4238),
    [sym__character_literal] = ACTIONS(4240),
    [anon_sym_LBRACK] = ACTIONS(4242),
    [anon_sym_DASH_GT] = ACTIONS(4244),
  },
  [5793] = {
    [sym_method] = STATE(2839),
    [sym_singleton_method] = STATE(2839),
    [sym_class] = STATE(2839),
    [sym_singleton_class] = STATE(2839),
    [sym_module] = STATE(2839),
    [sym_return] = STATE(2839),
    [sym_yield] = STATE(2839),
    [sym_break] = STATE(2839),
    [sym_next] = STATE(2839),
    [sym_redo] = STATE(2839),
    [sym_retry] = STATE(2839),
    [sym_while] = STATE(2839),
    [sym_until] = STATE(2839),
    [sym_for] = STATE(2839),
    [sym_case] = STATE(2839),
    [sym_if] = STATE(2839),
    [sym_unless] = STATE(2839),
    [sym_begin] = STATE(2839),
    [sym__arg] = STATE(2873),
    [sym__primary] = STATE(2874),
    [sym_parenthesized_statements] = STATE(2839),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2875),
    [sym_call] = STATE(2875),
    [sym_method_call] = STATE(2764),
    [sym_argument_list] = STATE(9055),
    [sym__argument_list_with_parens] = STATE(2877),
    [sym__argument] = STATE(2878),
    [sym_splat_argument] = STATE(2879),
    [sym_hash_splat_argument] = STATE(2879),
    [sym_block_argument] = STATE(2879),
    [sym_assignment] = STATE(2881),
    [sym_operator_assignment] = STATE(2881),
    [sym_conditional] = STATE(2881),
    [sym_range] = STATE(2881),
    [sym_binary] = STATE(2881),
    [sym_unary] = STATE(2881),
    [sym_left_assignment_list] = STATE(2882),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2883),
    [sym__variable] = STATE(2875),
    [sym_reserved_identifier] = STATE(2884),
    [sym_symbol] = STATE(2839),
    [sym_complex] = STATE(2839),
    [sym_rational] = STATE(2839),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2839),
    [sym_string] = STATE(2885),
    [sym_subshell] = STATE(2839),
    [sym_array] = STATE(2839),
    [sym_hash] = STATE(2839),
    [sym_pair] = STATE(2879),
    [sym_regex] = STATE(2839),
    [sym_lambda] = STATE(2839),
    [sym__simple_string] = ACTIONS(4162),
    [sym__simple_symbol] = ACTIONS(4164),
    [sym__simple_subshell] = ACTIONS(4166),
    [sym__simple_regex] = ACTIONS(4168),
    [sym__simple_word_list] = ACTIONS(4170),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(4172),
    [sym__symbol_beginning] = ACTIONS(4174),
    [sym__subshell_beginning] = ACTIONS(4176),
    [sym__regex_beginning] = ACTIONS(4178),
    [sym__word_list_beginning] = ACTIONS(4180),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym__heredoc_body_middle] = ACTIONS(606),
    [sym__heredoc_body_end] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(4182),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(4184),
    [sym__splat_star] = ACTIONS(4186),
    [sym__argument_list_left_paren] = ACTIONS(4188),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(4190),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(4194),
    [anon_sym_LPAREN] = ACTIONS(4196),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(608),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(4198),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(4200),
    [anon_sym_return] = ACTIONS(4202),
    [anon_sym_yield] = ACTIONS(4204),
    [anon_sym_break] = ACTIONS(4206),
    [anon_sym_next] = ACTIONS(4208),
    [anon_sym_redo] = ACTIONS(4210),
    [anon_sym_retry] = ACTIONS(4212),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(4214),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(4218),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(4220),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_PLUS_EQ] = ACTIONS(606),
    [anon_sym_DASH_EQ] = ACTIONS(606),
    [anon_sym_STAR_EQ] = ACTIONS(606),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(606),
    [anon_sym_SLASH_EQ] = ACTIONS(606),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(606),
    [anon_sym_PIPE_EQ] = ACTIONS(606),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(606),
    [anon_sym_AMP_EQ] = ACTIONS(606),
    [anon_sym_PERCENT_EQ] = ACTIONS(606),
    [anon_sym_GT_GT_EQ] = ACTIONS(606),
    [anon_sym_LT_LT_EQ] = ACTIONS(606),
    [anon_sym_CARET_EQ] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(608),
    [anon_sym_AMP_AMP] = ACTIONS(608),
    [anon_sym_LT_LT] = ACTIONS(608),
    [anon_sym_GT_GT] = ACTIONS(608),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(608),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(608),
    [anon_sym_PERCENT] = ACTIONS(608),
    [anon_sym_defined_QMARK] = ACTIONS(4222),
    [anon_sym_not] = ACTIONS(4224),
    [anon_sym_BANG] = ACTIONS(4226),
    [anon_sym_TILDE] = ACTIONS(4228),
    [sym_constant] = ACTIONS(4230),
    [sym_identifier] = ACTIONS(4230),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(4056),
    [anon_sym_nil] = ACTIONS(4058),
    [anon_sym_self] = ACTIONS(4060),
    [anon_sym_super] = ACTIONS(4062),
    [anon_sym_true] = ACTIONS(4064),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(4232),
    [sym_float] = ACTIONS(4234),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4236),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4238),
    [sym_keyword__LINE__] = ACTIONS(4238),
    [sym_keyword__ENCODING__] = ACTIONS(4238),
    [sym__character_literal] = ACTIONS(4240),
    [anon_sym_LBRACK] = ACTIONS(4242),
    [anon_sym_DASH_GT] = ACTIONS(4244),
  },
  [5794] = {
    [sym_method] = STATE(2839),
    [sym_singleton_method] = STATE(2839),
    [sym_class] = STATE(2839),
    [sym_singleton_class] = STATE(2839),
    [sym_module] = STATE(2839),
    [sym_return] = STATE(2839),
    [sym_yield] = STATE(2839),
    [sym_break] = STATE(2839),
    [sym_next] = STATE(2839),
    [sym_redo] = STATE(2839),
    [sym_retry] = STATE(2839),
    [sym_while] = STATE(2839),
    [sym_until] = STATE(2839),
    [sym_for] = STATE(2839),
    [sym_case] = STATE(2839),
    [sym_if] = STATE(2839),
    [sym_unless] = STATE(2839),
    [sym_begin] = STATE(2839),
    [sym__arg] = STATE(2873),
    [sym__primary] = STATE(2874),
    [sym_parenthesized_statements] = STATE(2839),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2875),
    [sym_call] = STATE(2875),
    [sym_method_call] = STATE(2764),
    [sym_argument_list] = STATE(9056),
    [sym__argument_list_with_parens] = STATE(2877),
    [sym__argument] = STATE(2878),
    [sym_splat_argument] = STATE(2879),
    [sym_hash_splat_argument] = STATE(2879),
    [sym_block_argument] = STATE(2879),
    [sym_assignment] = STATE(2881),
    [sym_operator_assignment] = STATE(2881),
    [sym_conditional] = STATE(2881),
    [sym_range] = STATE(2881),
    [sym_binary] = STATE(2881),
    [sym_unary] = STATE(2881),
    [sym_left_assignment_list] = STATE(2882),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2883),
    [sym__variable] = STATE(2875),
    [sym_reserved_identifier] = STATE(2884),
    [sym_symbol] = STATE(2839),
    [sym_complex] = STATE(2839),
    [sym_rational] = STATE(2839),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2839),
    [sym_string] = STATE(2885),
    [sym_subshell] = STATE(2839),
    [sym_array] = STATE(2839),
    [sym_hash] = STATE(2839),
    [sym_pair] = STATE(2879),
    [sym_regex] = STATE(2839),
    [sym_lambda] = STATE(2839),
    [sym__simple_string] = ACTIONS(4162),
    [sym__simple_symbol] = ACTIONS(4164),
    [sym__simple_subshell] = ACTIONS(4166),
    [sym__simple_regex] = ACTIONS(4168),
    [sym__simple_word_list] = ACTIONS(4170),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(4172),
    [sym__symbol_beginning] = ACTIONS(4174),
    [sym__subshell_beginning] = ACTIONS(4176),
    [sym__regex_beginning] = ACTIONS(4178),
    [sym__word_list_beginning] = ACTIONS(4180),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym__heredoc_body_middle] = ACTIONS(610),
    [sym__heredoc_body_end] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(4182),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(4184),
    [sym__splat_star] = ACTIONS(4186),
    [sym__argument_list_left_paren] = ACTIONS(4188),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(4190),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(4194),
    [anon_sym_LPAREN] = ACTIONS(4196),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(612),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(4198),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(4200),
    [anon_sym_return] = ACTIONS(4202),
    [anon_sym_yield] = ACTIONS(4204),
    [anon_sym_break] = ACTIONS(4206),
    [anon_sym_next] = ACTIONS(4208),
    [anon_sym_redo] = ACTIONS(4210),
    [anon_sym_retry] = ACTIONS(4212),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(4214),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(4218),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(4220),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_PLUS_EQ] = ACTIONS(610),
    [anon_sym_DASH_EQ] = ACTIONS(610),
    [anon_sym_STAR_EQ] = ACTIONS(610),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(610),
    [anon_sym_SLASH_EQ] = ACTIONS(610),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(610),
    [anon_sym_PIPE_EQ] = ACTIONS(610),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(610),
    [anon_sym_AMP_EQ] = ACTIONS(610),
    [anon_sym_PERCENT_EQ] = ACTIONS(610),
    [anon_sym_GT_GT_EQ] = ACTIONS(610),
    [anon_sym_LT_LT_EQ] = ACTIONS(610),
    [anon_sym_CARET_EQ] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(612),
    [anon_sym_AMP_AMP] = ACTIONS(612),
    [anon_sym_LT_LT] = ACTIONS(612),
    [anon_sym_GT_GT] = ACTIONS(612),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(612),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(612),
    [anon_sym_PERCENT] = ACTIONS(612),
    [anon_sym_defined_QMARK] = ACTIONS(4222),
    [anon_sym_not] = ACTIONS(4224),
    [anon_sym_BANG] = ACTIONS(4226),
    [anon_sym_TILDE] = ACTIONS(4228),
    [sym_constant] = ACTIONS(4230),
    [sym_identifier] = ACTIONS(4230),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(4056),
    [anon_sym_nil] = ACTIONS(4058),
    [anon_sym_self] = ACTIONS(4060),
    [anon_sym_super] = ACTIONS(4062),
    [anon_sym_true] = ACTIONS(4064),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(4232),
    [sym_float] = ACTIONS(4234),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4236),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4238),
    [sym_keyword__LINE__] = ACTIONS(4238),
    [sym_keyword__ENCODING__] = ACTIONS(4238),
    [sym__character_literal] = ACTIONS(4240),
    [anon_sym_LBRACK] = ACTIONS(4242),
    [anon_sym_DASH_GT] = ACTIONS(4244),
  },
  [5795] = {
    [sym__simple_heredoc_body] = ACTIONS(614),
    [sym__heredoc_body_beginning] = ACTIONS(614),
    [sym__heredoc_body_middle] = ACTIONS(614),
    [sym__heredoc_body_end] = ACTIONS(614),
    [sym__element_reference_left_bracket] = ACTIONS(614),
    [sym__scope_double_colon] = ACTIONS(614),
    [sym__binary_minus] = ACTIONS(614),
    [sym__binary_star] = ACTIONS(614),
    [anon_sym_LBRACE] = ACTIONS(614),
    [anon_sym_DOT] = ACTIONS(616),
    [anon_sym_COMMA] = ACTIONS(614),
    [anon_sym_PIPE] = ACTIONS(616),
    [anon_sym_STAR_STAR] = ACTIONS(616),
    [anon_sym_AMP] = ACTIONS(616),
    [anon_sym_EQ] = ACTIONS(616),
    [anon_sym_LT] = ACTIONS(616),
    [anon_sym_if] = ACTIONS(614),
    [anon_sym_unless] = ACTIONS(614),
    [anon_sym_while] = ACTIONS(614),
    [anon_sym_until] = ACTIONS(614),
    [anon_sym_rescue] = ACTIONS(614),
    [anon_sym_do] = ACTIONS(614),
    [anon_sym_AMP_DOT] = ACTIONS(614),
    [anon_sym_PLUS_EQ] = ACTIONS(614),
    [anon_sym_DASH_EQ] = ACTIONS(614),
    [anon_sym_STAR_EQ] = ACTIONS(614),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(614),
    [anon_sym_SLASH_EQ] = ACTIONS(614),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(614),
    [anon_sym_PIPE_EQ] = ACTIONS(614),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(614),
    [anon_sym_AMP_EQ] = ACTIONS(614),
    [anon_sym_PERCENT_EQ] = ACTIONS(614),
    [anon_sym_GT_GT_EQ] = ACTIONS(614),
    [anon_sym_LT_LT_EQ] = ACTIONS(614),
    [anon_sym_CARET_EQ] = ACTIONS(614),
    [anon_sym_QMARK] = ACTIONS(614),
    [anon_sym_DOT_DOT] = ACTIONS(616),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(614),
    [anon_sym_and] = ACTIONS(614),
    [anon_sym_or] = ACTIONS(614),
    [anon_sym_PIPE_PIPE] = ACTIONS(616),
    [anon_sym_AMP_AMP] = ACTIONS(616),
    [anon_sym_LT_LT] = ACTIONS(616),
    [anon_sym_GT_GT] = ACTIONS(616),
    [anon_sym_EQ_EQ] = ACTIONS(616),
    [anon_sym_BANG_EQ] = ACTIONS(614),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(614),
    [anon_sym_LT_EQ_GT] = ACTIONS(614),
    [anon_sym_EQ_TILDE] = ACTIONS(614),
    [anon_sym_BANG_TILDE] = ACTIONS(614),
    [anon_sym_LT_EQ] = ACTIONS(616),
    [anon_sym_GT] = ACTIONS(616),
    [anon_sym_GT_EQ] = ACTIONS(614),
    [anon_sym_CARET] = ACTIONS(616),
    [anon_sym_PLUS] = ACTIONS(616),
    [anon_sym_SLASH] = ACTIONS(616),
    [anon_sym_PERCENT] = ACTIONS(616),
    [sym_comment] = ACTIONS(256),
  },
  [5796] = {
    [sym__simple_heredoc_body] = ACTIONS(618),
    [sym__heredoc_body_beginning] = ACTIONS(618),
    [sym__heredoc_body_middle] = ACTIONS(618),
    [sym__heredoc_body_end] = ACTIONS(618),
    [sym__element_reference_left_bracket] = ACTIONS(618),
    [sym__scope_double_colon] = ACTIONS(618),
    [sym__binary_minus] = ACTIONS(618),
    [sym__binary_star] = ACTIONS(618),
    [anon_sym_LBRACE] = ACTIONS(618),
    [anon_sym_DOT] = ACTIONS(620),
    [anon_sym_COMMA] = ACTIONS(618),
    [anon_sym_PIPE] = ACTIONS(620),
    [anon_sym_STAR_STAR] = ACTIONS(620),
    [anon_sym_AMP] = ACTIONS(620),
    [anon_sym_EQ] = ACTIONS(620),
    [anon_sym_LT] = ACTIONS(620),
    [anon_sym_if] = ACTIONS(618),
    [anon_sym_unless] = ACTIONS(618),
    [anon_sym_while] = ACTIONS(618),
    [anon_sym_until] = ACTIONS(618),
    [anon_sym_rescue] = ACTIONS(618),
    [anon_sym_do] = ACTIONS(618),
    [anon_sym_AMP_DOT] = ACTIONS(618),
    [anon_sym_PLUS_EQ] = ACTIONS(618),
    [anon_sym_DASH_EQ] = ACTIONS(618),
    [anon_sym_STAR_EQ] = ACTIONS(618),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(618),
    [anon_sym_SLASH_EQ] = ACTIONS(618),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(618),
    [anon_sym_PIPE_EQ] = ACTIONS(618),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(618),
    [anon_sym_AMP_EQ] = ACTIONS(618),
    [anon_sym_PERCENT_EQ] = ACTIONS(618),
    [anon_sym_GT_GT_EQ] = ACTIONS(618),
    [anon_sym_LT_LT_EQ] = ACTIONS(618),
    [anon_sym_CARET_EQ] = ACTIONS(618),
    [anon_sym_QMARK] = ACTIONS(618),
    [anon_sym_DOT_DOT] = ACTIONS(620),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(618),
    [anon_sym_and] = ACTIONS(618),
    [anon_sym_or] = ACTIONS(618),
    [anon_sym_PIPE_PIPE] = ACTIONS(620),
    [anon_sym_AMP_AMP] = ACTIONS(620),
    [anon_sym_LT_LT] = ACTIONS(620),
    [anon_sym_GT_GT] = ACTIONS(620),
    [anon_sym_EQ_EQ] = ACTIONS(620),
    [anon_sym_BANG_EQ] = ACTIONS(618),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(618),
    [anon_sym_LT_EQ_GT] = ACTIONS(618),
    [anon_sym_EQ_TILDE] = ACTIONS(618),
    [anon_sym_BANG_TILDE] = ACTIONS(618),
    [anon_sym_LT_EQ] = ACTIONS(620),
    [anon_sym_GT] = ACTIONS(620),
    [anon_sym_GT_EQ] = ACTIONS(618),
    [anon_sym_CARET] = ACTIONS(620),
    [anon_sym_PLUS] = ACTIONS(620),
    [anon_sym_SLASH] = ACTIONS(620),
    [anon_sym_PERCENT] = ACTIONS(620),
    [sym_comment] = ACTIONS(256),
  },
  [5797] = {
    [sym__statement] = STATE(9057),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(361),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5798] = {
    [sym__statement] = STATE(9058),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(361),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5799] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9059),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5800] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9060),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5801] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(285),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(381),
    [sym_call] = STATE(381),
    [sym_method_call] = STATE(286),
    [sym__mlhs] = STATE(9061),
    [sym__simple_mlhs] = STATE(383),
    [sym_destructured_left_assignment] = STATE(383),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(384),
    [sym__variable] = STATE(381),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(658),
    [anon_sym_COLON_COLON] = ACTIONS(460),
    [anon_sym_STAR] = ACTIONS(660),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(494),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [5802] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_when] = STATE(9062),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9063),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(400),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(401),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(387),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__terminator] = STATE(402),
    [aux_sym_case_repeat1] = STATE(9064),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(666),
    [sym__unary_minus] = ACTIONS(668),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_when] = ACTIONS(678),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(680),
    [anon_sym_defined_QMARK] = ACTIONS(682),
    [anon_sym_not] = ACTIONS(684),
    [anon_sym_BANG] = ACTIONS(686),
    [anon_sym_TILDE] = ACTIONS(686),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5803] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(9066),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(9067),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(692),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11942),
    [anon_sym_SEMI] = ACTIONS(698),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5804] = {
    [sym_method] = STATE(5784),
    [sym_singleton_method] = STATE(5784),
    [sym_class] = STATE(5784),
    [sym_singleton_class] = STATE(5784),
    [sym_module] = STATE(5784),
    [sym_return] = STATE(5784),
    [sym_yield] = STATE(5784),
    [sym_break] = STATE(5784),
    [sym_next] = STATE(5784),
    [sym_redo] = STATE(5784),
    [sym_retry] = STATE(5784),
    [sym_while] = STATE(5784),
    [sym_until] = STATE(5784),
    [sym_for] = STATE(5784),
    [sym_case] = STATE(5784),
    [sym_if] = STATE(5784),
    [sym_unless] = STATE(5784),
    [sym_begin] = STATE(5784),
    [sym__arg] = STATE(9068),
    [sym__primary] = STATE(5812),
    [sym_parenthesized_statements] = STATE(5784),
    [sym_element_reference] = STATE(5606),
    [sym_scope_resolution] = STATE(5813),
    [sym_call] = STATE(5813),
    [sym_method_call] = STATE(5606),
    [sym_assignment] = STATE(5814),
    [sym_operator_assignment] = STATE(5814),
    [sym_conditional] = STATE(5814),
    [sym_range] = STATE(5814),
    [sym_binary] = STATE(5814),
    [sym_unary] = STATE(5814),
    [sym_left_assignment_list] = STATE(5815),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5816),
    [sym__variable] = STATE(5813),
    [sym_symbol] = STATE(5784),
    [sym_complex] = STATE(5784),
    [sym_rational] = STATE(5784),
    [sym_super] = STATE(5598),
    [sym_true] = STATE(5606),
    [sym_false] = STATE(5606),
    [sym_self] = STATE(5598),
    [sym_nil] = STATE(5606),
    [sym_chained_string] = STATE(5784),
    [sym_string] = STATE(5817),
    [sym_subshell] = STATE(5784),
    [sym_array] = STATE(5784),
    [sym_hash] = STATE(5784),
    [sym_regex] = STATE(5784),
    [sym_lambda] = STATE(5784),
    [sym__simple_string] = ACTIONS(8084),
    [sym__simple_symbol] = ACTIONS(8086),
    [sym__simple_subshell] = ACTIONS(8088),
    [sym__simple_regex] = ACTIONS(8090),
    [sym__simple_word_list] = ACTIONS(8092),
    [sym__string_beginning] = ACTIONS(8094),
    [sym__symbol_beginning] = ACTIONS(8096),
    [sym__subshell_beginning] = ACTIONS(8098),
    [sym__regex_beginning] = ACTIONS(8100),
    [sym__word_list_beginning] = ACTIONS(8102),
    [sym_heredoc_beginning] = ACTIONS(8104),
    [sym__unary_minus] = ACTIONS(8106),
    [anon_sym_LBRACE] = ACTIONS(8108),
    [anon_sym_def] = ACTIONS(8110),
    [anon_sym_LPAREN] = ACTIONS(8112),
    [anon_sym_COLON_COLON] = ACTIONS(7876),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8114),
    [anon_sym_module] = ACTIONS(8116),
    [anon_sym_return] = ACTIONS(8118),
    [anon_sym_yield] = ACTIONS(8120),
    [anon_sym_break] = ACTIONS(8122),
    [anon_sym_next] = ACTIONS(8124),
    [anon_sym_redo] = ACTIONS(8126),
    [anon_sym_retry] = ACTIONS(8128),
    [anon_sym_if] = ACTIONS(8130),
    [anon_sym_unless] = ACTIONS(8132),
    [anon_sym_while] = ACTIONS(8134),
    [anon_sym_until] = ACTIONS(8136),
    [anon_sym_for] = ACTIONS(8138),
    [anon_sym_case] = ACTIONS(8140),
    [anon_sym_begin] = ACTIONS(8142),
    [anon_sym_PLUS] = ACTIONS(8144),
    [anon_sym_defined_QMARK] = ACTIONS(8146),
    [anon_sym_not] = ACTIONS(8148),
    [anon_sym_BANG] = ACTIONS(8150),
    [anon_sym_TILDE] = ACTIONS(8150),
    [sym_constant] = ACTIONS(7916),
    [sym_identifier] = ACTIONS(7916),
    [sym_instance_variable] = ACTIONS(7918),
    [sym_class_variable] = ACTIONS(7918),
    [sym_global_variable] = ACTIONS(7918),
    [anon_sym_false] = ACTIONS(7920),
    [anon_sym_nil] = ACTIONS(7922),
    [anon_sym_self] = ACTIONS(7924),
    [anon_sym_super] = ACTIONS(7926),
    [anon_sym_true] = ACTIONS(7928),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8152),
    [sym_float] = ACTIONS(8154),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8156),
    [anon_sym_TRUE] = ACTIONS(7928),
    [anon_sym_FALSE] = ACTIONS(7920),
    [anon_sym_NIL] = ACTIONS(7922),
    [sym_keyword__FILE__] = ACTIONS(8158),
    [sym_keyword__LINE__] = ACTIONS(8158),
    [sym_keyword__ENCODING__] = ACTIONS(8158),
    [sym__character_literal] = ACTIONS(8160),
    [anon_sym_LBRACK] = ACTIONS(8162),
    [anon_sym_DASH_GT] = ACTIONS(8164),
  },
  [5805] = {
    [sym_method] = STATE(5784),
    [sym_singleton_method] = STATE(5784),
    [sym_class] = STATE(5784),
    [sym_singleton_class] = STATE(5784),
    [sym_module] = STATE(5784),
    [sym_return] = STATE(5784),
    [sym_yield] = STATE(5784),
    [sym_break] = STATE(5784),
    [sym_next] = STATE(5784),
    [sym_redo] = STATE(5784),
    [sym_retry] = STATE(5784),
    [sym_while] = STATE(5784),
    [sym_until] = STATE(5784),
    [sym_for] = STATE(5784),
    [sym_case] = STATE(5784),
    [sym_if] = STATE(5784),
    [sym_unless] = STATE(5784),
    [sym_begin] = STATE(5784),
    [sym__arg] = STATE(9069),
    [sym__primary] = STATE(5812),
    [sym_parenthesized_statements] = STATE(5784),
    [sym_element_reference] = STATE(5606),
    [sym_scope_resolution] = STATE(5813),
    [sym_call] = STATE(5813),
    [sym_method_call] = STATE(5606),
    [sym_assignment] = STATE(5814),
    [sym_operator_assignment] = STATE(5814),
    [sym_conditional] = STATE(5814),
    [sym_range] = STATE(5814),
    [sym_binary] = STATE(5814),
    [sym_unary] = STATE(5814),
    [sym_left_assignment_list] = STATE(5815),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5816),
    [sym__variable] = STATE(5813),
    [sym_symbol] = STATE(5784),
    [sym_complex] = STATE(5784),
    [sym_rational] = STATE(5784),
    [sym_super] = STATE(5598),
    [sym_true] = STATE(5606),
    [sym_false] = STATE(5606),
    [sym_self] = STATE(5598),
    [sym_nil] = STATE(5606),
    [sym_chained_string] = STATE(5784),
    [sym_string] = STATE(5817),
    [sym_subshell] = STATE(5784),
    [sym_array] = STATE(5784),
    [sym_hash] = STATE(5784),
    [sym_regex] = STATE(5784),
    [sym_lambda] = STATE(5784),
    [sym__simple_string] = ACTIONS(8084),
    [sym__simple_symbol] = ACTIONS(8086),
    [sym__simple_subshell] = ACTIONS(8088),
    [sym__simple_regex] = ACTIONS(8090),
    [sym__simple_word_list] = ACTIONS(8092),
    [sym__string_beginning] = ACTIONS(8094),
    [sym__symbol_beginning] = ACTIONS(8096),
    [sym__subshell_beginning] = ACTIONS(8098),
    [sym__regex_beginning] = ACTIONS(8100),
    [sym__word_list_beginning] = ACTIONS(8102),
    [sym_heredoc_beginning] = ACTIONS(8104),
    [sym__unary_minus] = ACTIONS(8106),
    [anon_sym_LBRACE] = ACTIONS(8108),
    [anon_sym_def] = ACTIONS(8110),
    [anon_sym_LPAREN] = ACTIONS(8112),
    [anon_sym_COLON_COLON] = ACTIONS(7876),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8114),
    [anon_sym_module] = ACTIONS(8116),
    [anon_sym_return] = ACTIONS(8118),
    [anon_sym_yield] = ACTIONS(8120),
    [anon_sym_break] = ACTIONS(8122),
    [anon_sym_next] = ACTIONS(8124),
    [anon_sym_redo] = ACTIONS(8126),
    [anon_sym_retry] = ACTIONS(8128),
    [anon_sym_if] = ACTIONS(8130),
    [anon_sym_unless] = ACTIONS(8132),
    [anon_sym_while] = ACTIONS(8134),
    [anon_sym_until] = ACTIONS(8136),
    [anon_sym_for] = ACTIONS(8138),
    [anon_sym_case] = ACTIONS(8140),
    [anon_sym_begin] = ACTIONS(8142),
    [anon_sym_PLUS] = ACTIONS(8144),
    [anon_sym_defined_QMARK] = ACTIONS(8146),
    [anon_sym_not] = ACTIONS(8148),
    [anon_sym_BANG] = ACTIONS(8150),
    [anon_sym_TILDE] = ACTIONS(8150),
    [sym_constant] = ACTIONS(7916),
    [sym_identifier] = ACTIONS(7916),
    [sym_instance_variable] = ACTIONS(7918),
    [sym_class_variable] = ACTIONS(7918),
    [sym_global_variable] = ACTIONS(7918),
    [anon_sym_false] = ACTIONS(7920),
    [anon_sym_nil] = ACTIONS(7922),
    [anon_sym_self] = ACTIONS(7924),
    [anon_sym_super] = ACTIONS(7926),
    [anon_sym_true] = ACTIONS(7928),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8152),
    [sym_float] = ACTIONS(8154),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8156),
    [anon_sym_TRUE] = ACTIONS(7928),
    [anon_sym_FALSE] = ACTIONS(7920),
    [anon_sym_NIL] = ACTIONS(7922),
    [sym_keyword__FILE__] = ACTIONS(8158),
    [sym_keyword__LINE__] = ACTIONS(8158),
    [sym_keyword__ENCODING__] = ACTIONS(8158),
    [sym__character_literal] = ACTIONS(8160),
    [anon_sym_LBRACK] = ACTIONS(8162),
    [anon_sym_DASH_GT] = ACTIONS(8164),
  },
  [5806] = {
    [sym_method] = STATE(5784),
    [sym_singleton_method] = STATE(5784),
    [sym_class] = STATE(5784),
    [sym_singleton_class] = STATE(5784),
    [sym_module] = STATE(5784),
    [sym_return] = STATE(5784),
    [sym_yield] = STATE(5784),
    [sym_break] = STATE(5784),
    [sym_next] = STATE(5784),
    [sym_redo] = STATE(5784),
    [sym_retry] = STATE(5784),
    [sym_while] = STATE(5784),
    [sym_until] = STATE(5784),
    [sym_for] = STATE(5784),
    [sym_case] = STATE(5784),
    [sym_if] = STATE(5784),
    [sym_unless] = STATE(5784),
    [sym_begin] = STATE(5784),
    [sym__arg] = STATE(9070),
    [sym__primary] = STATE(5812),
    [sym_parenthesized_statements] = STATE(5784),
    [sym_element_reference] = STATE(5606),
    [sym_scope_resolution] = STATE(5813),
    [sym_call] = STATE(5813),
    [sym_method_call] = STATE(5606),
    [sym_assignment] = STATE(5814),
    [sym_operator_assignment] = STATE(5814),
    [sym_conditional] = STATE(5814),
    [sym_range] = STATE(5814),
    [sym_binary] = STATE(5814),
    [sym_unary] = STATE(5814),
    [sym_left_assignment_list] = STATE(5815),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5816),
    [sym__variable] = STATE(5813),
    [sym_symbol] = STATE(5784),
    [sym_complex] = STATE(5784),
    [sym_rational] = STATE(5784),
    [sym_super] = STATE(5598),
    [sym_true] = STATE(5606),
    [sym_false] = STATE(5606),
    [sym_self] = STATE(5598),
    [sym_nil] = STATE(5606),
    [sym_chained_string] = STATE(5784),
    [sym_string] = STATE(5817),
    [sym_subshell] = STATE(5784),
    [sym_array] = STATE(5784),
    [sym_hash] = STATE(5784),
    [sym_regex] = STATE(5784),
    [sym_lambda] = STATE(5784),
    [sym__simple_string] = ACTIONS(8084),
    [sym__simple_symbol] = ACTIONS(8086),
    [sym__simple_subshell] = ACTIONS(8088),
    [sym__simple_regex] = ACTIONS(8090),
    [sym__simple_word_list] = ACTIONS(8092),
    [sym__string_beginning] = ACTIONS(8094),
    [sym__symbol_beginning] = ACTIONS(8096),
    [sym__subshell_beginning] = ACTIONS(8098),
    [sym__regex_beginning] = ACTIONS(8100),
    [sym__word_list_beginning] = ACTIONS(8102),
    [sym_heredoc_beginning] = ACTIONS(8104),
    [sym__unary_minus] = ACTIONS(8106),
    [anon_sym_LBRACE] = ACTIONS(8108),
    [anon_sym_def] = ACTIONS(8110),
    [anon_sym_LPAREN] = ACTIONS(8112),
    [anon_sym_COLON_COLON] = ACTIONS(7876),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8114),
    [anon_sym_module] = ACTIONS(8116),
    [anon_sym_return] = ACTIONS(8118),
    [anon_sym_yield] = ACTIONS(8120),
    [anon_sym_break] = ACTIONS(8122),
    [anon_sym_next] = ACTIONS(8124),
    [anon_sym_redo] = ACTIONS(8126),
    [anon_sym_retry] = ACTIONS(8128),
    [anon_sym_if] = ACTIONS(8130),
    [anon_sym_unless] = ACTIONS(8132),
    [anon_sym_while] = ACTIONS(8134),
    [anon_sym_until] = ACTIONS(8136),
    [anon_sym_for] = ACTIONS(8138),
    [anon_sym_case] = ACTIONS(8140),
    [anon_sym_begin] = ACTIONS(8142),
    [anon_sym_PLUS] = ACTIONS(8144),
    [anon_sym_defined_QMARK] = ACTIONS(8146),
    [anon_sym_not] = ACTIONS(8148),
    [anon_sym_BANG] = ACTIONS(8150),
    [anon_sym_TILDE] = ACTIONS(8150),
    [sym_constant] = ACTIONS(7916),
    [sym_identifier] = ACTIONS(7916),
    [sym_instance_variable] = ACTIONS(7918),
    [sym_class_variable] = ACTIONS(7918),
    [sym_global_variable] = ACTIONS(7918),
    [anon_sym_false] = ACTIONS(7920),
    [anon_sym_nil] = ACTIONS(7922),
    [anon_sym_self] = ACTIONS(7924),
    [anon_sym_super] = ACTIONS(7926),
    [anon_sym_true] = ACTIONS(7928),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8152),
    [sym_float] = ACTIONS(8154),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8156),
    [anon_sym_TRUE] = ACTIONS(7928),
    [anon_sym_FALSE] = ACTIONS(7920),
    [anon_sym_NIL] = ACTIONS(7922),
    [sym_keyword__FILE__] = ACTIONS(8158),
    [sym_keyword__LINE__] = ACTIONS(8158),
    [sym_keyword__ENCODING__] = ACTIONS(8158),
    [sym__character_literal] = ACTIONS(8160),
    [anon_sym_LBRACK] = ACTIONS(8162),
    [anon_sym_DASH_GT] = ACTIONS(8164),
  },
  [5807] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__heredoc_body_middle] = ACTIONS(250),
    [sym__heredoc_body_end] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
    [anon_sym_r] = ACTIONS(11944),
  },
  [5808] = {
    [sym__simple_heredoc_body] = ACTIONS(778),
    [sym__heredoc_body_beginning] = ACTIONS(778),
    [sym__heredoc_body_middle] = ACTIONS(778),
    [sym__heredoc_body_end] = ACTIONS(778),
    [sym__element_reference_left_bracket] = ACTIONS(778),
    [sym__scope_double_colon] = ACTIONS(778),
    [sym__binary_minus] = ACTIONS(778),
    [sym__binary_star] = ACTIONS(778),
    [anon_sym_LBRACE] = ACTIONS(778),
    [anon_sym_DOT] = ACTIONS(780),
    [anon_sym_COMMA] = ACTIONS(778),
    [anon_sym_PIPE] = ACTIONS(780),
    [anon_sym_STAR_STAR] = ACTIONS(780),
    [anon_sym_AMP] = ACTIONS(780),
    [anon_sym_EQ] = ACTIONS(780),
    [anon_sym_LT] = ACTIONS(780),
    [anon_sym_if] = ACTIONS(778),
    [anon_sym_unless] = ACTIONS(778),
    [anon_sym_while] = ACTIONS(778),
    [anon_sym_until] = ACTIONS(778),
    [anon_sym_rescue] = ACTIONS(778),
    [anon_sym_do] = ACTIONS(778),
    [anon_sym_AMP_DOT] = ACTIONS(778),
    [anon_sym_PLUS_EQ] = ACTIONS(778),
    [anon_sym_DASH_EQ] = ACTIONS(778),
    [anon_sym_STAR_EQ] = ACTIONS(778),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(778),
    [anon_sym_SLASH_EQ] = ACTIONS(778),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(778),
    [anon_sym_PIPE_EQ] = ACTIONS(778),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(778),
    [anon_sym_AMP_EQ] = ACTIONS(778),
    [anon_sym_PERCENT_EQ] = ACTIONS(778),
    [anon_sym_GT_GT_EQ] = ACTIONS(778),
    [anon_sym_LT_LT_EQ] = ACTIONS(778),
    [anon_sym_CARET_EQ] = ACTIONS(778),
    [anon_sym_QMARK] = ACTIONS(778),
    [anon_sym_DOT_DOT] = ACTIONS(780),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(778),
    [anon_sym_and] = ACTIONS(778),
    [anon_sym_or] = ACTIONS(778),
    [anon_sym_PIPE_PIPE] = ACTIONS(780),
    [anon_sym_AMP_AMP] = ACTIONS(780),
    [anon_sym_LT_LT] = ACTIONS(780),
    [anon_sym_GT_GT] = ACTIONS(780),
    [anon_sym_EQ_EQ] = ACTIONS(780),
    [anon_sym_BANG_EQ] = ACTIONS(778),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(778),
    [anon_sym_LT_EQ_GT] = ACTIONS(778),
    [anon_sym_EQ_TILDE] = ACTIONS(778),
    [anon_sym_BANG_TILDE] = ACTIONS(778),
    [anon_sym_LT_EQ] = ACTIONS(780),
    [anon_sym_GT] = ACTIONS(780),
    [anon_sym_GT_EQ] = ACTIONS(778),
    [anon_sym_CARET] = ACTIONS(780),
    [anon_sym_PLUS] = ACTIONS(780),
    [anon_sym_SLASH] = ACTIONS(780),
    [anon_sym_PERCENT] = ACTIONS(780),
    [sym_comment] = ACTIONS(256),
  },
  [5809] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(501),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(9073),
    [sym__argument] = STATE(506),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(509),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(510),
    [sym__variable] = STATE(504),
    [sym_reserved_identifier] = STATE(511),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(512),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(9074),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(804),
    [sym__splat_star] = ACTIONS(806),
    [sym__unary_minus] = ACTIONS(808),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(818),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(824),
    [anon_sym_yield] = ACTIONS(826),
    [anon_sym_break] = ACTIONS(828),
    [anon_sym_next] = ACTIONS(830),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_RBRACK] = ACTIONS(11946),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(852),
    [anon_sym_defined_QMARK] = ACTIONS(854),
    [anon_sym_not] = ACTIONS(856),
    [anon_sym_BANG] = ACTIONS(858),
    [anon_sym_TILDE] = ACTIONS(858),
    [sym_constant] = ACTIONS(860),
    [sym_identifier] = ACTIONS(860),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [5810] = {
    [sym_lambda_parameters] = STATE(9077),
    [sym__simple_formal_parameter] = STATE(522),
    [sym_splat_parameter] = STATE(523),
    [sym_hash_splat_parameter] = STATE(523),
    [sym_block_parameter] = STATE(523),
    [sym_keyword_parameter] = STATE(523),
    [sym_optional_parameter] = STATE(523),
    [sym_do_block] = STATE(9078),
    [sym_block] = STATE(9078),
    [anon_sym_LBRACE] = ACTIONS(11948),
    [anon_sym_LPAREN] = ACTIONS(896),
    [anon_sym_STAR] = ACTIONS(898),
    [anon_sym_STAR_STAR] = ACTIONS(900),
    [anon_sym_AMP] = ACTIONS(902),
    [anon_sym_do] = ACTIONS(11950),
    [sym_identifier] = ACTIONS(906),
    [sym_comment] = ACTIONS(110),
  },
  [5811] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__heredoc_body_middle] = ACTIONS(5298),
    [sym__heredoc_body_end] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(11952),
    [sym__binary_star] = ACTIONS(11954),
    [anon_sym_LBRACE] = ACTIONS(5298),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(11956),
    [anon_sym_STAR_STAR] = ACTIONS(11958),
    [anon_sym_AMP] = ACTIONS(11960),
    [anon_sym_EQ] = ACTIONS(5304),
    [anon_sym_LT] = ACTIONS(11962),
    [anon_sym_if] = ACTIONS(5298),
    [anon_sym_unless] = ACTIONS(5298),
    [anon_sym_while] = ACTIONS(5298),
    [anon_sym_until] = ACTIONS(5298),
    [anon_sym_rescue] = ACTIONS(5298),
    [anon_sym_do] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_PLUS_EQ] = ACTIONS(5298),
    [anon_sym_DASH_EQ] = ACTIONS(5298),
    [anon_sym_STAR_EQ] = ACTIONS(5298),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5298),
    [anon_sym_SLASH_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5298),
    [anon_sym_AMP_EQ] = ACTIONS(5298),
    [anon_sym_PERCENT_EQ] = ACTIONS(5298),
    [anon_sym_GT_GT_EQ] = ACTIONS(5298),
    [anon_sym_LT_LT_EQ] = ACTIONS(5298),
    [anon_sym_CARET_EQ] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(11964),
    [anon_sym_DOT_DOT] = ACTIONS(11966),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11968),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(11970),
    [anon_sym_AMP_AMP] = ACTIONS(11970),
    [anon_sym_LT_LT] = ACTIONS(11972),
    [anon_sym_GT_GT] = ACTIONS(11972),
    [anon_sym_EQ_EQ] = ACTIONS(11970),
    [anon_sym_BANG_EQ] = ACTIONS(11974),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11974),
    [anon_sym_LT_EQ_GT] = ACTIONS(11974),
    [anon_sym_EQ_TILDE] = ACTIONS(11974),
    [anon_sym_BANG_TILDE] = ACTIONS(11974),
    [anon_sym_LT_EQ] = ACTIONS(11962),
    [anon_sym_GT] = ACTIONS(11962),
    [anon_sym_GT_EQ] = ACTIONS(11976),
    [anon_sym_CARET] = ACTIONS(11956),
    [anon_sym_PLUS] = ACTIONS(11978),
    [anon_sym_SLASH] = ACTIONS(11958),
    [anon_sym_PERCENT] = ACTIONS(11958),
    [sym_comment] = ACTIONS(256),
  },
  [5812] = {
    [sym__simple_heredoc_body] = ACTIONS(968),
    [sym__heredoc_body_beginning] = ACTIONS(968),
    [sym__heredoc_body_middle] = ACTIONS(968),
    [sym__heredoc_body_end] = ACTIONS(968),
    [sym__element_reference_left_bracket] = ACTIONS(11804),
    [sym__scope_double_colon] = ACTIONS(11806),
    [sym__binary_minus] = ACTIONS(968),
    [sym__binary_star] = ACTIONS(968),
    [anon_sym_LBRACE] = ACTIONS(968),
    [anon_sym_DOT] = ACTIONS(11808),
    [anon_sym_COMMA] = ACTIONS(968),
    [anon_sym_PIPE] = ACTIONS(976),
    [anon_sym_STAR_STAR] = ACTIONS(976),
    [anon_sym_AMP] = ACTIONS(976),
    [anon_sym_EQ] = ACTIONS(976),
    [anon_sym_LT] = ACTIONS(976),
    [anon_sym_if] = ACTIONS(968),
    [anon_sym_unless] = ACTIONS(968),
    [anon_sym_while] = ACTIONS(968),
    [anon_sym_until] = ACTIONS(968),
    [anon_sym_rescue] = ACTIONS(968),
    [anon_sym_do] = ACTIONS(968),
    [anon_sym_AMP_DOT] = ACTIONS(11810),
    [anon_sym_PLUS_EQ] = ACTIONS(968),
    [anon_sym_DASH_EQ] = ACTIONS(968),
    [anon_sym_STAR_EQ] = ACTIONS(968),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(968),
    [anon_sym_SLASH_EQ] = ACTIONS(968),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(968),
    [anon_sym_PIPE_EQ] = ACTIONS(968),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(968),
    [anon_sym_AMP_EQ] = ACTIONS(968),
    [anon_sym_PERCENT_EQ] = ACTIONS(968),
    [anon_sym_GT_GT_EQ] = ACTIONS(968),
    [anon_sym_LT_LT_EQ] = ACTIONS(968),
    [anon_sym_CARET_EQ] = ACTIONS(968),
    [anon_sym_QMARK] = ACTIONS(968),
    [anon_sym_DOT_DOT] = ACTIONS(976),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(968),
    [anon_sym_and] = ACTIONS(968),
    [anon_sym_or] = ACTIONS(968),
    [anon_sym_PIPE_PIPE] = ACTIONS(976),
    [anon_sym_AMP_AMP] = ACTIONS(976),
    [anon_sym_LT_LT] = ACTIONS(976),
    [anon_sym_GT_GT] = ACTIONS(976),
    [anon_sym_EQ_EQ] = ACTIONS(976),
    [anon_sym_BANG_EQ] = ACTIONS(968),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(968),
    [anon_sym_LT_EQ_GT] = ACTIONS(968),
    [anon_sym_EQ_TILDE] = ACTIONS(968),
    [anon_sym_BANG_TILDE] = ACTIONS(968),
    [anon_sym_LT_EQ] = ACTIONS(976),
    [anon_sym_GT] = ACTIONS(976),
    [anon_sym_GT_EQ] = ACTIONS(968),
    [anon_sym_CARET] = ACTIONS(976),
    [anon_sym_PLUS] = ACTIONS(976),
    [anon_sym_SLASH] = ACTIONS(976),
    [anon_sym_PERCENT] = ACTIONS(976),
    [sym_comment] = ACTIONS(256),
  },
  [5813] = {
    [sym_method] = STATE(2839),
    [sym_singleton_method] = STATE(2839),
    [sym_class] = STATE(2839),
    [sym_singleton_class] = STATE(2839),
    [sym_module] = STATE(2839),
    [sym_return] = STATE(2839),
    [sym_yield] = STATE(2839),
    [sym_break] = STATE(2839),
    [sym_next] = STATE(2839),
    [sym_redo] = STATE(2839),
    [sym_retry] = STATE(2839),
    [sym_while] = STATE(2839),
    [sym_until] = STATE(2839),
    [sym_for] = STATE(2839),
    [sym_case] = STATE(2839),
    [sym_if] = STATE(2839),
    [sym_unless] = STATE(2839),
    [sym_begin] = STATE(2839),
    [sym__arg] = STATE(2873),
    [sym__primary] = STATE(2874),
    [sym_parenthesized_statements] = STATE(2839),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2875),
    [sym_call] = STATE(2875),
    [sym_method_call] = STATE(2764),
    [sym_argument_list] = STATE(9091),
    [sym__argument_list_with_parens] = STATE(2877),
    [sym__argument] = STATE(2878),
    [sym_splat_argument] = STATE(2879),
    [sym_hash_splat_argument] = STATE(2879),
    [sym_block_argument] = STATE(2879),
    [sym_do_block] = STATE(8888),
    [sym_block] = STATE(8888),
    [sym_assignment] = STATE(2881),
    [sym_operator_assignment] = STATE(2881),
    [sym_conditional] = STATE(2881),
    [sym_range] = STATE(2881),
    [sym_binary] = STATE(2881),
    [sym_unary] = STATE(2881),
    [sym_left_assignment_list] = STATE(2882),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2883),
    [sym__variable] = STATE(2875),
    [sym_reserved_identifier] = STATE(2884),
    [sym_symbol] = STATE(2839),
    [sym_complex] = STATE(2839),
    [sym_rational] = STATE(2839),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2839),
    [sym_string] = STATE(2885),
    [sym_subshell] = STATE(2839),
    [sym_array] = STATE(2839),
    [sym_hash] = STATE(2839),
    [sym_pair] = STATE(2879),
    [sym_regex] = STATE(2839),
    [sym_lambda] = STATE(2839),
    [sym__simple_string] = ACTIONS(4162),
    [sym__simple_symbol] = ACTIONS(4164),
    [sym__simple_subshell] = ACTIONS(4166),
    [sym__simple_regex] = ACTIONS(4168),
    [sym__simple_word_list] = ACTIONS(4170),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(4172),
    [sym__symbol_beginning] = ACTIONS(4174),
    [sym__subshell_beginning] = ACTIONS(4176),
    [sym__regex_beginning] = ACTIONS(4178),
    [sym__word_list_beginning] = ACTIONS(4180),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym__heredoc_body_middle] = ACTIONS(980),
    [sym__heredoc_body_end] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(4182),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(4184),
    [sym__splat_star] = ACTIONS(4186),
    [sym__argument_list_left_paren] = ACTIONS(4188),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(4190),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(11812),
    [anon_sym_def] = ACTIONS(4194),
    [anon_sym_LPAREN] = ACTIONS(4196),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(4198),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(4200),
    [anon_sym_return] = ACTIONS(4202),
    [anon_sym_yield] = ACTIONS(4204),
    [anon_sym_break] = ACTIONS(4206),
    [anon_sym_next] = ACTIONS(4208),
    [anon_sym_redo] = ACTIONS(4210),
    [anon_sym_retry] = ACTIONS(4212),
    [anon_sym_if] = ACTIONS(982),
    [anon_sym_unless] = ACTIONS(982),
    [anon_sym_while] = ACTIONS(982),
    [anon_sym_until] = ACTIONS(982),
    [anon_sym_rescue] = ACTIONS(982),
    [anon_sym_for] = ACTIONS(4214),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(982),
    [anon_sym_case] = ACTIONS(4218),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(4220),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(4222),
    [anon_sym_not] = ACTIONS(4224),
    [anon_sym_BANG] = ACTIONS(4226),
    [anon_sym_TILDE] = ACTIONS(4228),
    [sym_constant] = ACTIONS(4230),
    [sym_identifier] = ACTIONS(4230),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(4056),
    [anon_sym_nil] = ACTIONS(4058),
    [anon_sym_self] = ACTIONS(4060),
    [anon_sym_super] = ACTIONS(4062),
    [anon_sym_true] = ACTIONS(4064),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(4232),
    [sym_float] = ACTIONS(4234),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4236),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4238),
    [sym_keyword__LINE__] = ACTIONS(4238),
    [sym_keyword__ENCODING__] = ACTIONS(4238),
    [sym__character_literal] = ACTIONS(4240),
    [anon_sym_LBRACK] = ACTIONS(4242),
    [anon_sym_DASH_GT] = ACTIONS(4244),
  },
  [5814] = {
    [sym__simple_heredoc_body] = ACTIONS(968),
    [sym__heredoc_body_beginning] = ACTIONS(968),
    [sym__heredoc_body_middle] = ACTIONS(968),
    [sym__heredoc_body_end] = ACTIONS(968),
    [sym__element_reference_left_bracket] = ACTIONS(968),
    [sym__scope_double_colon] = ACTIONS(968),
    [sym__binary_minus] = ACTIONS(968),
    [sym__binary_star] = ACTIONS(968),
    [anon_sym_LBRACE] = ACTIONS(968),
    [anon_sym_DOT] = ACTIONS(976),
    [anon_sym_COMMA] = ACTIONS(968),
    [anon_sym_PIPE] = ACTIONS(976),
    [anon_sym_STAR_STAR] = ACTIONS(976),
    [anon_sym_AMP] = ACTIONS(976),
    [anon_sym_EQ] = ACTIONS(976),
    [anon_sym_LT] = ACTIONS(976),
    [anon_sym_if] = ACTIONS(968),
    [anon_sym_unless] = ACTIONS(968),
    [anon_sym_while] = ACTIONS(968),
    [anon_sym_until] = ACTIONS(968),
    [anon_sym_rescue] = ACTIONS(968),
    [anon_sym_do] = ACTIONS(968),
    [anon_sym_AMP_DOT] = ACTIONS(968),
    [anon_sym_PLUS_EQ] = ACTIONS(968),
    [anon_sym_DASH_EQ] = ACTIONS(968),
    [anon_sym_STAR_EQ] = ACTIONS(968),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(968),
    [anon_sym_SLASH_EQ] = ACTIONS(968),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(968),
    [anon_sym_PIPE_EQ] = ACTIONS(968),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(968),
    [anon_sym_AMP_EQ] = ACTIONS(968),
    [anon_sym_PERCENT_EQ] = ACTIONS(968),
    [anon_sym_GT_GT_EQ] = ACTIONS(968),
    [anon_sym_LT_LT_EQ] = ACTIONS(968),
    [anon_sym_CARET_EQ] = ACTIONS(968),
    [anon_sym_QMARK] = ACTIONS(968),
    [anon_sym_DOT_DOT] = ACTIONS(976),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(968),
    [anon_sym_and] = ACTIONS(968),
    [anon_sym_or] = ACTIONS(968),
    [anon_sym_PIPE_PIPE] = ACTIONS(976),
    [anon_sym_AMP_AMP] = ACTIONS(976),
    [anon_sym_LT_LT] = ACTIONS(976),
    [anon_sym_GT_GT] = ACTIONS(976),
    [anon_sym_EQ_EQ] = ACTIONS(976),
    [anon_sym_BANG_EQ] = ACTIONS(968),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(968),
    [anon_sym_LT_EQ_GT] = ACTIONS(968),
    [anon_sym_EQ_TILDE] = ACTIONS(968),
    [anon_sym_BANG_TILDE] = ACTIONS(968),
    [anon_sym_LT_EQ] = ACTIONS(976),
    [anon_sym_GT] = ACTIONS(976),
    [anon_sym_GT_EQ] = ACTIONS(968),
    [anon_sym_CARET] = ACTIONS(976),
    [anon_sym_PLUS] = ACTIONS(976),
    [anon_sym_SLASH] = ACTIONS(976),
    [anon_sym_PERCENT] = ACTIONS(976),
    [sym_comment] = ACTIONS(256),
  },
  [5815] = {
    [anon_sym_EQ] = ACTIONS(11980),
    [sym_comment] = ACTIONS(256),
  },
  [5816] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__heredoc_body_middle] = ACTIONS(250),
    [sym__heredoc_body_end] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(11982),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(11984),
    [anon_sym_DASH_EQ] = ACTIONS(11984),
    [anon_sym_STAR_EQ] = ACTIONS(11984),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(11984),
    [anon_sym_SLASH_EQ] = ACTIONS(11984),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(11984),
    [anon_sym_PIPE_EQ] = ACTIONS(11984),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(11984),
    [anon_sym_AMP_EQ] = ACTIONS(11984),
    [anon_sym_PERCENT_EQ] = ACTIONS(11984),
    [anon_sym_GT_GT_EQ] = ACTIONS(11984),
    [anon_sym_LT_LT_EQ] = ACTIONS(11984),
    [anon_sym_CARET_EQ] = ACTIONS(11984),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [5817] = {
    [sym_string] = STATE(9094),
    [aux_sym_chained_string_repeat1] = STATE(9095),
    [sym__simple_string] = ACTIONS(8084),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(8094),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__heredoc_body_middle] = ACTIONS(250),
    [sym__heredoc_body_end] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(8160),
  },
  [5818] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__heredoc_body_middle] = ACTIONS(5338),
    [sym__heredoc_body_end] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(11952),
    [sym__binary_star] = ACTIONS(11954),
    [anon_sym_LBRACE] = ACTIONS(5338),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(11956),
    [anon_sym_STAR_STAR] = ACTIONS(11958),
    [anon_sym_AMP] = ACTIONS(11960),
    [anon_sym_EQ] = ACTIONS(5340),
    [anon_sym_LT] = ACTIONS(11962),
    [anon_sym_if] = ACTIONS(5338),
    [anon_sym_unless] = ACTIONS(5338),
    [anon_sym_while] = ACTIONS(5338),
    [anon_sym_until] = ACTIONS(5338),
    [anon_sym_rescue] = ACTIONS(5338),
    [anon_sym_do] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_PLUS_EQ] = ACTIONS(5338),
    [anon_sym_DASH_EQ] = ACTIONS(5338),
    [anon_sym_STAR_EQ] = ACTIONS(5338),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5338),
    [anon_sym_SLASH_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5338),
    [anon_sym_AMP_EQ] = ACTIONS(5338),
    [anon_sym_PERCENT_EQ] = ACTIONS(5338),
    [anon_sym_GT_GT_EQ] = ACTIONS(5338),
    [anon_sym_LT_LT_EQ] = ACTIONS(5338),
    [anon_sym_CARET_EQ] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(11964),
    [anon_sym_DOT_DOT] = ACTIONS(11966),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11968),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(11970),
    [anon_sym_AMP_AMP] = ACTIONS(11970),
    [anon_sym_LT_LT] = ACTIONS(11972),
    [anon_sym_GT_GT] = ACTIONS(11972),
    [anon_sym_EQ_EQ] = ACTIONS(11970),
    [anon_sym_BANG_EQ] = ACTIONS(11974),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11974),
    [anon_sym_LT_EQ_GT] = ACTIONS(11974),
    [anon_sym_EQ_TILDE] = ACTIONS(11974),
    [anon_sym_BANG_TILDE] = ACTIONS(11974),
    [anon_sym_LT_EQ] = ACTIONS(11962),
    [anon_sym_GT] = ACTIONS(11962),
    [anon_sym_GT_EQ] = ACTIONS(11976),
    [anon_sym_CARET] = ACTIONS(11956),
    [anon_sym_PLUS] = ACTIONS(11978),
    [anon_sym_SLASH] = ACTIONS(11958),
    [anon_sym_PERCENT] = ACTIONS(11958),
    [sym_comment] = ACTIONS(256),
  },
  [5819] = {
    [sym__simple_heredoc_body] = ACTIONS(5370),
    [sym__heredoc_body_beginning] = ACTIONS(5370),
    [sym__heredoc_body_middle] = ACTIONS(5370),
    [sym__heredoc_body_end] = ACTIONS(5370),
    [sym__element_reference_left_bracket] = ACTIONS(5370),
    [sym__scope_double_colon] = ACTIONS(5370),
    [sym__binary_minus] = ACTIONS(5370),
    [sym__binary_star] = ACTIONS(5370),
    [anon_sym_LBRACE] = ACTIONS(5370),
    [anon_sym_DOT] = ACTIONS(5372),
    [anon_sym_COMMA] = ACTIONS(5370),
    [anon_sym_PIPE] = ACTIONS(5372),
    [anon_sym_STAR_STAR] = ACTIONS(5372),
    [anon_sym_AMP] = ACTIONS(5372),
    [anon_sym_EQ] = ACTIONS(5372),
    [anon_sym_LT] = ACTIONS(5372),
    [anon_sym_if] = ACTIONS(5370),
    [anon_sym_unless] = ACTIONS(5370),
    [anon_sym_while] = ACTIONS(5370),
    [anon_sym_until] = ACTIONS(5370),
    [anon_sym_rescue] = ACTIONS(5370),
    [anon_sym_do] = ACTIONS(5370),
    [anon_sym_AMP_DOT] = ACTIONS(5370),
    [anon_sym_PLUS_EQ] = ACTIONS(5370),
    [anon_sym_DASH_EQ] = ACTIONS(5370),
    [anon_sym_STAR_EQ] = ACTIONS(5370),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5370),
    [anon_sym_SLASH_EQ] = ACTIONS(5370),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5370),
    [anon_sym_PIPE_EQ] = ACTIONS(5370),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5370),
    [anon_sym_AMP_EQ] = ACTIONS(5370),
    [anon_sym_PERCENT_EQ] = ACTIONS(5370),
    [anon_sym_GT_GT_EQ] = ACTIONS(5370),
    [anon_sym_LT_LT_EQ] = ACTIONS(5370),
    [anon_sym_CARET_EQ] = ACTIONS(5370),
    [anon_sym_QMARK] = ACTIONS(5370),
    [anon_sym_DOT_DOT] = ACTIONS(5372),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5370),
    [anon_sym_and] = ACTIONS(5370),
    [anon_sym_or] = ACTIONS(5370),
    [anon_sym_PIPE_PIPE] = ACTIONS(5372),
    [anon_sym_AMP_AMP] = ACTIONS(5372),
    [anon_sym_LT_LT] = ACTIONS(5372),
    [anon_sym_GT_GT] = ACTIONS(5372),
    [anon_sym_EQ_EQ] = ACTIONS(5372),
    [anon_sym_BANG_EQ] = ACTIONS(5370),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5370),
    [anon_sym_LT_EQ_GT] = ACTIONS(5370),
    [anon_sym_EQ_TILDE] = ACTIONS(5370),
    [anon_sym_BANG_TILDE] = ACTIONS(5370),
    [anon_sym_LT_EQ] = ACTIONS(5372),
    [anon_sym_GT] = ACTIONS(5372),
    [anon_sym_GT_EQ] = ACTIONS(5370),
    [anon_sym_CARET] = ACTIONS(5372),
    [anon_sym_PLUS] = ACTIONS(5372),
    [anon_sym_SLASH] = ACTIONS(5372),
    [anon_sym_PERCENT] = ACTIONS(5372),
    [sym_comment] = ACTIONS(256),
  },
  [5820] = {
    [sym_heredoc_end] = STATE(9097),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RPAREN] = ACTIONS(11986),
    [sym_comment] = ACTIONS(110),
  },
  [5821] = {
    [anon_sym_RPAREN] = ACTIONS(11986),
    [sym_comment] = ACTIONS(110),
  },
  [5822] = {
    [sym__simple_string] = ACTIONS(126),
    [sym__simple_heredoc_body] = ACTIONS(126),
    [sym__string_beginning] = ACTIONS(126),
    [sym__heredoc_body_beginning] = ACTIONS(126),
    [sym__heredoc_body_middle] = ACTIONS(126),
    [sym__heredoc_body_end] = ACTIONS(126),
    [sym__element_reference_left_bracket] = ACTIONS(126),
    [sym__scope_double_colon] = ACTIONS(126),
    [sym__binary_minus] = ACTIONS(126),
    [sym__binary_star] = ACTIONS(126),
    [anon_sym_LBRACE] = ACTIONS(126),
    [anon_sym_DOT] = ACTIONS(128),
    [anon_sym_COMMA] = ACTIONS(126),
    [anon_sym_PIPE] = ACTIONS(128),
    [anon_sym_STAR_STAR] = ACTIONS(128),
    [anon_sym_AMP] = ACTIONS(128),
    [anon_sym_EQ] = ACTIONS(128),
    [anon_sym_LT] = ACTIONS(128),
    [anon_sym_if] = ACTIONS(126),
    [anon_sym_unless] = ACTIONS(126),
    [anon_sym_while] = ACTIONS(126),
    [anon_sym_until] = ACTIONS(126),
    [anon_sym_rescue] = ACTIONS(126),
    [anon_sym_do] = ACTIONS(126),
    [anon_sym_EQ_GT] = ACTIONS(126),
    [anon_sym_AMP_DOT] = ACTIONS(126),
    [anon_sym_PLUS_EQ] = ACTIONS(126),
    [anon_sym_DASH_EQ] = ACTIONS(126),
    [anon_sym_STAR_EQ] = ACTIONS(126),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(126),
    [anon_sym_SLASH_EQ] = ACTIONS(126),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(126),
    [anon_sym_PIPE_EQ] = ACTIONS(126),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(126),
    [anon_sym_AMP_EQ] = ACTIONS(126),
    [anon_sym_PERCENT_EQ] = ACTIONS(126),
    [anon_sym_GT_GT_EQ] = ACTIONS(126),
    [anon_sym_LT_LT_EQ] = ACTIONS(126),
    [anon_sym_CARET_EQ] = ACTIONS(126),
    [anon_sym_QMARK] = ACTIONS(128),
    [anon_sym_DOT_DOT] = ACTIONS(128),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(126),
    [anon_sym_and] = ACTIONS(126),
    [anon_sym_or] = ACTIONS(126),
    [anon_sym_PIPE_PIPE] = ACTIONS(128),
    [anon_sym_AMP_AMP] = ACTIONS(128),
    [anon_sym_LT_LT] = ACTIONS(128),
    [anon_sym_GT_GT] = ACTIONS(128),
    [anon_sym_EQ_EQ] = ACTIONS(128),
    [anon_sym_BANG_EQ] = ACTIONS(126),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(126),
    [anon_sym_LT_EQ_GT] = ACTIONS(126),
    [anon_sym_EQ_TILDE] = ACTIONS(126),
    [anon_sym_BANG_TILDE] = ACTIONS(126),
    [anon_sym_LT_EQ] = ACTIONS(128),
    [anon_sym_GT] = ACTIONS(128),
    [anon_sym_GT_EQ] = ACTIONS(126),
    [anon_sym_CARET] = ACTIONS(128),
    [anon_sym_PLUS] = ACTIONS(128),
    [anon_sym_SLASH] = ACTIONS(128),
    [anon_sym_PERCENT] = ACTIONS(128),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(128),
  },
  [5823] = {
    [sym__statement] = STATE(9098),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(9099),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [5824] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(193),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_hash_splat_argument] = STATE(197),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(199),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(200),
    [sym__variable] = STATE(196),
    [sym_reserved_identifier] = STATE(201),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(202),
    [sym_subshell] = STATE(151),
    [sym_heredoc_end] = STATE(5846),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym__hash_items] = STATE(5847),
    [sym_pair] = STATE(205),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(260),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(272),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(286),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_RBRACE] = ACTIONS(8212),
    [anon_sym_def] = ACTIONS(292),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(302),
    [anon_sym_class] = ACTIONS(304),
    [anon_sym_module] = ACTIONS(306),
    [anon_sym_return] = ACTIONS(308),
    [anon_sym_yield] = ACTIONS(310),
    [anon_sym_break] = ACTIONS(312),
    [anon_sym_next] = ACTIONS(314),
    [anon_sym_redo] = ACTIONS(316),
    [anon_sym_retry] = ACTIONS(318),
    [anon_sym_if] = ACTIONS(320),
    [anon_sym_unless] = ACTIONS(322),
    [anon_sym_while] = ACTIONS(324),
    [anon_sym_until] = ACTIONS(326),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(328),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(330),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(332),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(334),
    [anon_sym_defined_QMARK] = ACTIONS(336),
    [anon_sym_not] = ACTIONS(338),
    [anon_sym_BANG] = ACTIONS(340),
    [anon_sym_TILDE] = ACTIONS(340),
    [sym_constant] = ACTIONS(342),
    [sym_identifier] = ACTIONS(342),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(346),
    [anon_sym_nil] = ACTIONS(348),
    [anon_sym_self] = ACTIONS(350),
    [anon_sym_super] = ACTIONS(352),
    [anon_sym_true] = ACTIONS(354),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(370),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [5825] = {
    [sym__method_rest] = STATE(5849),
    [sym__variable] = STATE(5850),
    [sym_operator] = STATE(217),
    [sym__method_name] = STATE(5851),
    [sym_setter] = STATE(217),
    [sym_symbol] = STATE(217),
    [sym_super] = STATE(219),
    [sym_self] = STATE(219),
    [sym__simple_symbol] = ACTIONS(378),
    [sym__symbol_beginning] = ACTIONS(380),
    [anon_sym_LPAREN] = ACTIONS(8214),
    [anon_sym_PIPE] = ACTIONS(384),
    [anon_sym_STAR] = ACTIONS(386),
    [anon_sym_STAR_STAR] = ACTIONS(384),
    [anon_sym_AMP] = ACTIONS(384),
    [anon_sym_LT] = ACTIONS(386),
    [anon_sym_DOT_DOT] = ACTIONS(384),
    [anon_sym_LT_LT] = ACTIONS(384),
    [anon_sym_GT_GT] = ACTIONS(384),
    [anon_sym_EQ_EQ] = ACTIONS(386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(384),
    [anon_sym_LT_EQ_GT] = ACTIONS(384),
    [anon_sym_EQ_TILDE] = ACTIONS(384),
    [anon_sym_BANG_TILDE] = ACTIONS(384),
    [anon_sym_LT_EQ] = ACTIONS(386),
    [anon_sym_GT] = ACTIONS(386),
    [anon_sym_GT_EQ] = ACTIONS(384),
    [anon_sym_CARET] = ACTIONS(384),
    [anon_sym_PLUS] = ACTIONS(386),
    [anon_sym_SLASH] = ACTIONS(384),
    [anon_sym_PERCENT] = ACTIONS(384),
    [anon_sym_BANG] = ACTIONS(386),
    [anon_sym_TILDE] = ACTIONS(384),
    [sym_constant] = ACTIONS(388),
    [sym_identifier] = ACTIONS(390),
    [sym_instance_variable] = ACTIONS(388),
    [sym_class_variable] = ACTIONS(388),
    [sym_global_variable] = ACTIONS(388),
    [anon_sym_self] = ACTIONS(392),
    [anon_sym_super] = ACTIONS(394),
    [anon_sym_DASH] = ACTIONS(386),
    [anon_sym_PLUS_AT] = ACTIONS(384),
    [anon_sym_DASH_AT] = ACTIONS(384),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(386),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(384),
    [anon_sym_BQUOTE] = ACTIONS(384),
    [sym_comment] = ACTIONS(110),
  },
  [5826] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(293),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(5857),
    [sym_call] = STATE(295),
    [sym_method_call] = STATE(286),
    [sym__lhs] = STATE(255),
    [sym__variable] = STATE(295),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [sym__singleton_class_left_angle_left_langle] = ACTIONS(8218),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(458),
    [anon_sym_COLON_COLON] = ACTIONS(524),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(8220),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [5827] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(293),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(5859),
    [sym_call] = STATE(295),
    [sym_method_call] = STATE(286),
    [sym__lhs] = STATE(255),
    [sym__variable] = STATE(295),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(458),
    [anon_sym_COLON_COLON] = ACTIONS(524),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(8222),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [5828] = {
    [sym_method] = STATE(2839),
    [sym_singleton_method] = STATE(2839),
    [sym_class] = STATE(2839),
    [sym_singleton_class] = STATE(2839),
    [sym_module] = STATE(2839),
    [sym_return] = STATE(2839),
    [sym_yield] = STATE(2839),
    [sym_break] = STATE(2839),
    [sym_next] = STATE(2839),
    [sym_redo] = STATE(2839),
    [sym_retry] = STATE(2839),
    [sym_while] = STATE(2839),
    [sym_until] = STATE(2839),
    [sym_for] = STATE(2839),
    [sym_case] = STATE(2839),
    [sym_if] = STATE(2839),
    [sym_unless] = STATE(2839),
    [sym_begin] = STATE(2839),
    [sym__arg] = STATE(5695),
    [sym__primary] = STATE(2874),
    [sym_parenthesized_statements] = STATE(2839),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2875),
    [sym_call] = STATE(2875),
    [sym_method_call] = STATE(2764),
    [sym_argument_list] = STATE(5860),
    [sym__argument_list_with_parens] = STATE(5697),
    [sym__argument] = STATE(5698),
    [sym_splat_argument] = STATE(5699),
    [sym_hash_splat_argument] = STATE(5699),
    [sym_block_argument] = STATE(5699),
    [sym_assignment] = STATE(2881),
    [sym_operator_assignment] = STATE(2881),
    [sym_conditional] = STATE(2881),
    [sym_range] = STATE(2881),
    [sym_binary] = STATE(2881),
    [sym_unary] = STATE(2881),
    [sym_left_assignment_list] = STATE(2882),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2883),
    [sym__variable] = STATE(2875),
    [sym_reserved_identifier] = STATE(5701),
    [sym_symbol] = STATE(2839),
    [sym_complex] = STATE(2839),
    [sym_rational] = STATE(2839),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2839),
    [sym_string] = STATE(5702),
    [sym_subshell] = STATE(2839),
    [sym_array] = STATE(2839),
    [sym_hash] = STATE(2839),
    [sym_pair] = STATE(5699),
    [sym_regex] = STATE(2839),
    [sym_lambda] = STATE(2839),
    [sym__simple_string] = ACTIONS(4162),
    [sym__simple_symbol] = ACTIONS(4164),
    [sym__simple_subshell] = ACTIONS(4166),
    [sym__simple_regex] = ACTIONS(4168),
    [sym__simple_word_list] = ACTIONS(4170),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(4172),
    [sym__symbol_beginning] = ACTIONS(4174),
    [sym__subshell_beginning] = ACTIONS(4176),
    [sym__regex_beginning] = ACTIONS(4178),
    [sym__word_list_beginning] = ACTIONS(4180),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym__heredoc_body_middle] = ACTIONS(532),
    [sym__heredoc_body_end] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(4182),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(8022),
    [sym__splat_star] = ACTIONS(8024),
    [sym__argument_list_left_paren] = ACTIONS(8026),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(4190),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(4194),
    [anon_sym_LPAREN] = ACTIONS(4196),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(544),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(4198),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(4200),
    [anon_sym_return] = ACTIONS(4202),
    [anon_sym_yield] = ACTIONS(4204),
    [anon_sym_break] = ACTIONS(4206),
    [anon_sym_next] = ACTIONS(4208),
    [anon_sym_redo] = ACTIONS(4210),
    [anon_sym_retry] = ACTIONS(4212),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(4214),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(4218),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(4220),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_PLUS_EQ] = ACTIONS(532),
    [anon_sym_DASH_EQ] = ACTIONS(532),
    [anon_sym_STAR_EQ] = ACTIONS(532),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(532),
    [anon_sym_SLASH_EQ] = ACTIONS(532),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(532),
    [anon_sym_PIPE_EQ] = ACTIONS(532),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(532),
    [anon_sym_AMP_EQ] = ACTIONS(532),
    [anon_sym_PERCENT_EQ] = ACTIONS(532),
    [anon_sym_GT_GT_EQ] = ACTIONS(532),
    [anon_sym_LT_LT_EQ] = ACTIONS(532),
    [anon_sym_CARET_EQ] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(544),
    [anon_sym_AMP_AMP] = ACTIONS(544),
    [anon_sym_LT_LT] = ACTIONS(544),
    [anon_sym_GT_GT] = ACTIONS(544),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(544),
    [anon_sym_PERCENT] = ACTIONS(544),
    [anon_sym_defined_QMARK] = ACTIONS(4222),
    [anon_sym_not] = ACTIONS(4224),
    [anon_sym_BANG] = ACTIONS(4226),
    [anon_sym_TILDE] = ACTIONS(4228),
    [sym_constant] = ACTIONS(8032),
    [sym_identifier] = ACTIONS(8032),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(4056),
    [anon_sym_nil] = ACTIONS(4058),
    [anon_sym_self] = ACTIONS(4060),
    [anon_sym_super] = ACTIONS(4062),
    [anon_sym_true] = ACTIONS(4064),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(4232),
    [sym_float] = ACTIONS(4234),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4236),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4238),
    [sym_keyword__LINE__] = ACTIONS(4238),
    [sym_keyword__ENCODING__] = ACTIONS(4238),
    [sym__character_literal] = ACTIONS(4240),
    [anon_sym_LBRACK] = ACTIONS(4242),
    [anon_sym_DASH_GT] = ACTIONS(4244),
  },
  [5829] = {
    [sym_method] = STATE(2839),
    [sym_singleton_method] = STATE(2839),
    [sym_class] = STATE(2839),
    [sym_singleton_class] = STATE(2839),
    [sym_module] = STATE(2839),
    [sym_return] = STATE(2839),
    [sym_yield] = STATE(2839),
    [sym_break] = STATE(2839),
    [sym_next] = STATE(2839),
    [sym_redo] = STATE(2839),
    [sym_retry] = STATE(2839),
    [sym_while] = STATE(2839),
    [sym_until] = STATE(2839),
    [sym_for] = STATE(2839),
    [sym_case] = STATE(2839),
    [sym_if] = STATE(2839),
    [sym_unless] = STATE(2839),
    [sym_begin] = STATE(2839),
    [sym__arg] = STATE(5695),
    [sym__primary] = STATE(2874),
    [sym_parenthesized_statements] = STATE(2839),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2875),
    [sym_call] = STATE(2875),
    [sym_method_call] = STATE(2764),
    [sym_argument_list] = STATE(5861),
    [sym__argument_list_with_parens] = STATE(5697),
    [sym__argument] = STATE(5698),
    [sym_splat_argument] = STATE(5699),
    [sym_hash_splat_argument] = STATE(5699),
    [sym_block_argument] = STATE(5699),
    [sym_assignment] = STATE(2881),
    [sym_operator_assignment] = STATE(2881),
    [sym_conditional] = STATE(2881),
    [sym_range] = STATE(2881),
    [sym_binary] = STATE(2881),
    [sym_unary] = STATE(2881),
    [sym_left_assignment_list] = STATE(2882),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2883),
    [sym__variable] = STATE(2875),
    [sym_reserved_identifier] = STATE(5701),
    [sym_symbol] = STATE(2839),
    [sym_complex] = STATE(2839),
    [sym_rational] = STATE(2839),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2839),
    [sym_string] = STATE(5702),
    [sym_subshell] = STATE(2839),
    [sym_array] = STATE(2839),
    [sym_hash] = STATE(2839),
    [sym_pair] = STATE(5699),
    [sym_regex] = STATE(2839),
    [sym_lambda] = STATE(2839),
    [sym__simple_string] = ACTIONS(4162),
    [sym__simple_symbol] = ACTIONS(4164),
    [sym__simple_subshell] = ACTIONS(4166),
    [sym__simple_regex] = ACTIONS(4168),
    [sym__simple_word_list] = ACTIONS(4170),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(4172),
    [sym__symbol_beginning] = ACTIONS(4174),
    [sym__subshell_beginning] = ACTIONS(4176),
    [sym__regex_beginning] = ACTIONS(4178),
    [sym__word_list_beginning] = ACTIONS(4180),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym__heredoc_body_middle] = ACTIONS(602),
    [sym__heredoc_body_end] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(4182),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(8022),
    [sym__splat_star] = ACTIONS(8024),
    [sym__argument_list_left_paren] = ACTIONS(8026),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(4190),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(4194),
    [anon_sym_LPAREN] = ACTIONS(4196),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(604),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(4198),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(4200),
    [anon_sym_return] = ACTIONS(4202),
    [anon_sym_yield] = ACTIONS(4204),
    [anon_sym_break] = ACTIONS(4206),
    [anon_sym_next] = ACTIONS(4208),
    [anon_sym_redo] = ACTIONS(4210),
    [anon_sym_retry] = ACTIONS(4212),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(4214),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(4218),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(4220),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_PLUS_EQ] = ACTIONS(602),
    [anon_sym_DASH_EQ] = ACTIONS(602),
    [anon_sym_STAR_EQ] = ACTIONS(602),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(602),
    [anon_sym_SLASH_EQ] = ACTIONS(602),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(602),
    [anon_sym_PIPE_EQ] = ACTIONS(602),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(602),
    [anon_sym_AMP_EQ] = ACTIONS(602),
    [anon_sym_PERCENT_EQ] = ACTIONS(602),
    [anon_sym_GT_GT_EQ] = ACTIONS(602),
    [anon_sym_LT_LT_EQ] = ACTIONS(602),
    [anon_sym_CARET_EQ] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(604),
    [anon_sym_AMP_AMP] = ACTIONS(604),
    [anon_sym_LT_LT] = ACTIONS(604),
    [anon_sym_GT_GT] = ACTIONS(604),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(604),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(604),
    [anon_sym_PERCENT] = ACTIONS(604),
    [anon_sym_defined_QMARK] = ACTIONS(4222),
    [anon_sym_not] = ACTIONS(4224),
    [anon_sym_BANG] = ACTIONS(4226),
    [anon_sym_TILDE] = ACTIONS(4228),
    [sym_constant] = ACTIONS(8032),
    [sym_identifier] = ACTIONS(8032),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(4056),
    [anon_sym_nil] = ACTIONS(4058),
    [anon_sym_self] = ACTIONS(4060),
    [anon_sym_super] = ACTIONS(4062),
    [anon_sym_true] = ACTIONS(4064),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(4232),
    [sym_float] = ACTIONS(4234),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4236),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4238),
    [sym_keyword__LINE__] = ACTIONS(4238),
    [sym_keyword__ENCODING__] = ACTIONS(4238),
    [sym__character_literal] = ACTIONS(4240),
    [anon_sym_LBRACK] = ACTIONS(4242),
    [anon_sym_DASH_GT] = ACTIONS(4244),
  },
  [5830] = {
    [sym_method] = STATE(2839),
    [sym_singleton_method] = STATE(2839),
    [sym_class] = STATE(2839),
    [sym_singleton_class] = STATE(2839),
    [sym_module] = STATE(2839),
    [sym_return] = STATE(2839),
    [sym_yield] = STATE(2839),
    [sym_break] = STATE(2839),
    [sym_next] = STATE(2839),
    [sym_redo] = STATE(2839),
    [sym_retry] = STATE(2839),
    [sym_while] = STATE(2839),
    [sym_until] = STATE(2839),
    [sym_for] = STATE(2839),
    [sym_case] = STATE(2839),
    [sym_if] = STATE(2839),
    [sym_unless] = STATE(2839),
    [sym_begin] = STATE(2839),
    [sym__arg] = STATE(5695),
    [sym__primary] = STATE(2874),
    [sym_parenthesized_statements] = STATE(2839),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2875),
    [sym_call] = STATE(2875),
    [sym_method_call] = STATE(2764),
    [sym_argument_list] = STATE(5862),
    [sym__argument_list_with_parens] = STATE(5697),
    [sym__argument] = STATE(5698),
    [sym_splat_argument] = STATE(5699),
    [sym_hash_splat_argument] = STATE(5699),
    [sym_block_argument] = STATE(5699),
    [sym_assignment] = STATE(2881),
    [sym_operator_assignment] = STATE(2881),
    [sym_conditional] = STATE(2881),
    [sym_range] = STATE(2881),
    [sym_binary] = STATE(2881),
    [sym_unary] = STATE(2881),
    [sym_left_assignment_list] = STATE(2882),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2883),
    [sym__variable] = STATE(2875),
    [sym_reserved_identifier] = STATE(5701),
    [sym_symbol] = STATE(2839),
    [sym_complex] = STATE(2839),
    [sym_rational] = STATE(2839),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2839),
    [sym_string] = STATE(5702),
    [sym_subshell] = STATE(2839),
    [sym_array] = STATE(2839),
    [sym_hash] = STATE(2839),
    [sym_pair] = STATE(5699),
    [sym_regex] = STATE(2839),
    [sym_lambda] = STATE(2839),
    [sym__simple_string] = ACTIONS(4162),
    [sym__simple_symbol] = ACTIONS(4164),
    [sym__simple_subshell] = ACTIONS(4166),
    [sym__simple_regex] = ACTIONS(4168),
    [sym__simple_word_list] = ACTIONS(4170),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(4172),
    [sym__symbol_beginning] = ACTIONS(4174),
    [sym__subshell_beginning] = ACTIONS(4176),
    [sym__regex_beginning] = ACTIONS(4178),
    [sym__word_list_beginning] = ACTIONS(4180),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym__heredoc_body_middle] = ACTIONS(606),
    [sym__heredoc_body_end] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(4182),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(8022),
    [sym__splat_star] = ACTIONS(8024),
    [sym__argument_list_left_paren] = ACTIONS(8026),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(4190),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(4194),
    [anon_sym_LPAREN] = ACTIONS(4196),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(608),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(4198),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(4200),
    [anon_sym_return] = ACTIONS(4202),
    [anon_sym_yield] = ACTIONS(4204),
    [anon_sym_break] = ACTIONS(4206),
    [anon_sym_next] = ACTIONS(4208),
    [anon_sym_redo] = ACTIONS(4210),
    [anon_sym_retry] = ACTIONS(4212),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(4214),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(4218),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(4220),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_PLUS_EQ] = ACTIONS(606),
    [anon_sym_DASH_EQ] = ACTIONS(606),
    [anon_sym_STAR_EQ] = ACTIONS(606),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(606),
    [anon_sym_SLASH_EQ] = ACTIONS(606),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(606),
    [anon_sym_PIPE_EQ] = ACTIONS(606),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(606),
    [anon_sym_AMP_EQ] = ACTIONS(606),
    [anon_sym_PERCENT_EQ] = ACTIONS(606),
    [anon_sym_GT_GT_EQ] = ACTIONS(606),
    [anon_sym_LT_LT_EQ] = ACTIONS(606),
    [anon_sym_CARET_EQ] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(608),
    [anon_sym_AMP_AMP] = ACTIONS(608),
    [anon_sym_LT_LT] = ACTIONS(608),
    [anon_sym_GT_GT] = ACTIONS(608),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(608),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(608),
    [anon_sym_PERCENT] = ACTIONS(608),
    [anon_sym_defined_QMARK] = ACTIONS(4222),
    [anon_sym_not] = ACTIONS(4224),
    [anon_sym_BANG] = ACTIONS(4226),
    [anon_sym_TILDE] = ACTIONS(4228),
    [sym_constant] = ACTIONS(8032),
    [sym_identifier] = ACTIONS(8032),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(4056),
    [anon_sym_nil] = ACTIONS(4058),
    [anon_sym_self] = ACTIONS(4060),
    [anon_sym_super] = ACTIONS(4062),
    [anon_sym_true] = ACTIONS(4064),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(4232),
    [sym_float] = ACTIONS(4234),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4236),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4238),
    [sym_keyword__LINE__] = ACTIONS(4238),
    [sym_keyword__ENCODING__] = ACTIONS(4238),
    [sym__character_literal] = ACTIONS(4240),
    [anon_sym_LBRACK] = ACTIONS(4242),
    [anon_sym_DASH_GT] = ACTIONS(4244),
  },
  [5831] = {
    [sym_method] = STATE(2839),
    [sym_singleton_method] = STATE(2839),
    [sym_class] = STATE(2839),
    [sym_singleton_class] = STATE(2839),
    [sym_module] = STATE(2839),
    [sym_return] = STATE(2839),
    [sym_yield] = STATE(2839),
    [sym_break] = STATE(2839),
    [sym_next] = STATE(2839),
    [sym_redo] = STATE(2839),
    [sym_retry] = STATE(2839),
    [sym_while] = STATE(2839),
    [sym_until] = STATE(2839),
    [sym_for] = STATE(2839),
    [sym_case] = STATE(2839),
    [sym_if] = STATE(2839),
    [sym_unless] = STATE(2839),
    [sym_begin] = STATE(2839),
    [sym__arg] = STATE(5695),
    [sym__primary] = STATE(2874),
    [sym_parenthesized_statements] = STATE(2839),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2875),
    [sym_call] = STATE(2875),
    [sym_method_call] = STATE(2764),
    [sym_argument_list] = STATE(5863),
    [sym__argument_list_with_parens] = STATE(5697),
    [sym__argument] = STATE(5698),
    [sym_splat_argument] = STATE(5699),
    [sym_hash_splat_argument] = STATE(5699),
    [sym_block_argument] = STATE(5699),
    [sym_assignment] = STATE(2881),
    [sym_operator_assignment] = STATE(2881),
    [sym_conditional] = STATE(2881),
    [sym_range] = STATE(2881),
    [sym_binary] = STATE(2881),
    [sym_unary] = STATE(2881),
    [sym_left_assignment_list] = STATE(2882),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2883),
    [sym__variable] = STATE(2875),
    [sym_reserved_identifier] = STATE(5701),
    [sym_symbol] = STATE(2839),
    [sym_complex] = STATE(2839),
    [sym_rational] = STATE(2839),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2839),
    [sym_string] = STATE(5702),
    [sym_subshell] = STATE(2839),
    [sym_array] = STATE(2839),
    [sym_hash] = STATE(2839),
    [sym_pair] = STATE(5699),
    [sym_regex] = STATE(2839),
    [sym_lambda] = STATE(2839),
    [sym__simple_string] = ACTIONS(4162),
    [sym__simple_symbol] = ACTIONS(4164),
    [sym__simple_subshell] = ACTIONS(4166),
    [sym__simple_regex] = ACTIONS(4168),
    [sym__simple_word_list] = ACTIONS(4170),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(4172),
    [sym__symbol_beginning] = ACTIONS(4174),
    [sym__subshell_beginning] = ACTIONS(4176),
    [sym__regex_beginning] = ACTIONS(4178),
    [sym__word_list_beginning] = ACTIONS(4180),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym__heredoc_body_middle] = ACTIONS(610),
    [sym__heredoc_body_end] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(4182),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(8022),
    [sym__splat_star] = ACTIONS(8024),
    [sym__argument_list_left_paren] = ACTIONS(8026),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(4190),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(4194),
    [anon_sym_LPAREN] = ACTIONS(4196),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(612),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(4198),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(4200),
    [anon_sym_return] = ACTIONS(4202),
    [anon_sym_yield] = ACTIONS(4204),
    [anon_sym_break] = ACTIONS(4206),
    [anon_sym_next] = ACTIONS(4208),
    [anon_sym_redo] = ACTIONS(4210),
    [anon_sym_retry] = ACTIONS(4212),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(4214),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(4218),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(4220),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_PLUS_EQ] = ACTIONS(610),
    [anon_sym_DASH_EQ] = ACTIONS(610),
    [anon_sym_STAR_EQ] = ACTIONS(610),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(610),
    [anon_sym_SLASH_EQ] = ACTIONS(610),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(610),
    [anon_sym_PIPE_EQ] = ACTIONS(610),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(610),
    [anon_sym_AMP_EQ] = ACTIONS(610),
    [anon_sym_PERCENT_EQ] = ACTIONS(610),
    [anon_sym_GT_GT_EQ] = ACTIONS(610),
    [anon_sym_LT_LT_EQ] = ACTIONS(610),
    [anon_sym_CARET_EQ] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(612),
    [anon_sym_AMP_AMP] = ACTIONS(612),
    [anon_sym_LT_LT] = ACTIONS(612),
    [anon_sym_GT_GT] = ACTIONS(612),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(612),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(612),
    [anon_sym_PERCENT] = ACTIONS(612),
    [anon_sym_defined_QMARK] = ACTIONS(4222),
    [anon_sym_not] = ACTIONS(4224),
    [anon_sym_BANG] = ACTIONS(4226),
    [anon_sym_TILDE] = ACTIONS(4228),
    [sym_constant] = ACTIONS(8032),
    [sym_identifier] = ACTIONS(8032),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(4056),
    [anon_sym_nil] = ACTIONS(4058),
    [anon_sym_self] = ACTIONS(4060),
    [anon_sym_super] = ACTIONS(4062),
    [anon_sym_true] = ACTIONS(4064),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(4232),
    [sym_float] = ACTIONS(4234),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4236),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4238),
    [sym_keyword__LINE__] = ACTIONS(4238),
    [sym_keyword__ENCODING__] = ACTIONS(4238),
    [sym__character_literal] = ACTIONS(4240),
    [anon_sym_LBRACK] = ACTIONS(4242),
    [anon_sym_DASH_GT] = ACTIONS(4244),
  },
  [5832] = {
    [sym__simple_heredoc_body] = ACTIONS(614),
    [sym__heredoc_body_beginning] = ACTIONS(614),
    [sym__heredoc_body_middle] = ACTIONS(614),
    [sym__heredoc_body_end] = ACTIONS(614),
    [sym__element_reference_left_bracket] = ACTIONS(614),
    [sym__scope_double_colon] = ACTIONS(614),
    [sym__binary_minus] = ACTIONS(614),
    [sym__binary_star] = ACTIONS(614),
    [anon_sym_LBRACE] = ACTIONS(614),
    [anon_sym_DOT] = ACTIONS(616),
    [anon_sym_COMMA] = ACTIONS(614),
    [anon_sym_PIPE] = ACTIONS(616),
    [anon_sym_STAR_STAR] = ACTIONS(616),
    [anon_sym_AMP] = ACTIONS(616),
    [anon_sym_EQ] = ACTIONS(616),
    [anon_sym_LT] = ACTIONS(616),
    [anon_sym_if] = ACTIONS(614),
    [anon_sym_unless] = ACTIONS(614),
    [anon_sym_while] = ACTIONS(614),
    [anon_sym_until] = ACTIONS(614),
    [anon_sym_rescue] = ACTIONS(614),
    [anon_sym_do] = ACTIONS(614),
    [anon_sym_EQ_GT] = ACTIONS(614),
    [anon_sym_AMP_DOT] = ACTIONS(614),
    [anon_sym_PLUS_EQ] = ACTIONS(614),
    [anon_sym_DASH_EQ] = ACTIONS(614),
    [anon_sym_STAR_EQ] = ACTIONS(614),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(614),
    [anon_sym_SLASH_EQ] = ACTIONS(614),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(614),
    [anon_sym_PIPE_EQ] = ACTIONS(614),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(614),
    [anon_sym_AMP_EQ] = ACTIONS(614),
    [anon_sym_PERCENT_EQ] = ACTIONS(614),
    [anon_sym_GT_GT_EQ] = ACTIONS(614),
    [anon_sym_LT_LT_EQ] = ACTIONS(614),
    [anon_sym_CARET_EQ] = ACTIONS(614),
    [anon_sym_QMARK] = ACTIONS(614),
    [anon_sym_DOT_DOT] = ACTIONS(616),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(614),
    [anon_sym_and] = ACTIONS(614),
    [anon_sym_or] = ACTIONS(614),
    [anon_sym_PIPE_PIPE] = ACTIONS(616),
    [anon_sym_AMP_AMP] = ACTIONS(616),
    [anon_sym_LT_LT] = ACTIONS(616),
    [anon_sym_GT_GT] = ACTIONS(616),
    [anon_sym_EQ_EQ] = ACTIONS(616),
    [anon_sym_BANG_EQ] = ACTIONS(614),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(614),
    [anon_sym_LT_EQ_GT] = ACTIONS(614),
    [anon_sym_EQ_TILDE] = ACTIONS(614),
    [anon_sym_BANG_TILDE] = ACTIONS(614),
    [anon_sym_LT_EQ] = ACTIONS(616),
    [anon_sym_GT] = ACTIONS(616),
    [anon_sym_GT_EQ] = ACTIONS(614),
    [anon_sym_CARET] = ACTIONS(616),
    [anon_sym_PLUS] = ACTIONS(616),
    [anon_sym_SLASH] = ACTIONS(616),
    [anon_sym_PERCENT] = ACTIONS(616),
    [sym_comment] = ACTIONS(256),
  },
  [5833] = {
    [sym__simple_heredoc_body] = ACTIONS(618),
    [sym__heredoc_body_beginning] = ACTIONS(618),
    [sym__heredoc_body_middle] = ACTIONS(618),
    [sym__heredoc_body_end] = ACTIONS(618),
    [sym__element_reference_left_bracket] = ACTIONS(618),
    [sym__scope_double_colon] = ACTIONS(618),
    [sym__binary_minus] = ACTIONS(618),
    [sym__binary_star] = ACTIONS(618),
    [anon_sym_LBRACE] = ACTIONS(618),
    [anon_sym_DOT] = ACTIONS(620),
    [anon_sym_COMMA] = ACTIONS(618),
    [anon_sym_PIPE] = ACTIONS(620),
    [anon_sym_STAR_STAR] = ACTIONS(620),
    [anon_sym_AMP] = ACTIONS(620),
    [anon_sym_EQ] = ACTIONS(620),
    [anon_sym_LT] = ACTIONS(620),
    [anon_sym_if] = ACTIONS(618),
    [anon_sym_unless] = ACTIONS(618),
    [anon_sym_while] = ACTIONS(618),
    [anon_sym_until] = ACTIONS(618),
    [anon_sym_rescue] = ACTIONS(618),
    [anon_sym_do] = ACTIONS(618),
    [anon_sym_EQ_GT] = ACTIONS(618),
    [anon_sym_AMP_DOT] = ACTIONS(618),
    [anon_sym_PLUS_EQ] = ACTIONS(618),
    [anon_sym_DASH_EQ] = ACTIONS(618),
    [anon_sym_STAR_EQ] = ACTIONS(618),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(618),
    [anon_sym_SLASH_EQ] = ACTIONS(618),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(618),
    [anon_sym_PIPE_EQ] = ACTIONS(618),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(618),
    [anon_sym_AMP_EQ] = ACTIONS(618),
    [anon_sym_PERCENT_EQ] = ACTIONS(618),
    [anon_sym_GT_GT_EQ] = ACTIONS(618),
    [anon_sym_LT_LT_EQ] = ACTIONS(618),
    [anon_sym_CARET_EQ] = ACTIONS(618),
    [anon_sym_QMARK] = ACTIONS(618),
    [anon_sym_DOT_DOT] = ACTIONS(620),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(618),
    [anon_sym_and] = ACTIONS(618),
    [anon_sym_or] = ACTIONS(618),
    [anon_sym_PIPE_PIPE] = ACTIONS(620),
    [anon_sym_AMP_AMP] = ACTIONS(620),
    [anon_sym_LT_LT] = ACTIONS(620),
    [anon_sym_GT_GT] = ACTIONS(620),
    [anon_sym_EQ_EQ] = ACTIONS(620),
    [anon_sym_BANG_EQ] = ACTIONS(618),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(618),
    [anon_sym_LT_EQ_GT] = ACTIONS(618),
    [anon_sym_EQ_TILDE] = ACTIONS(618),
    [anon_sym_BANG_TILDE] = ACTIONS(618),
    [anon_sym_LT_EQ] = ACTIONS(620),
    [anon_sym_GT] = ACTIONS(620),
    [anon_sym_GT_EQ] = ACTIONS(618),
    [anon_sym_CARET] = ACTIONS(620),
    [anon_sym_PLUS] = ACTIONS(620),
    [anon_sym_SLASH] = ACTIONS(620),
    [anon_sym_PERCENT] = ACTIONS(620),
    [sym_comment] = ACTIONS(256),
  },
  [5834] = {
    [sym__statement] = STATE(5864),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(361),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5835] = {
    [sym__statement] = STATE(5865),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(361),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5836] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(5866),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5837] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(5867),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5838] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(285),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(381),
    [sym_call] = STATE(381),
    [sym_method_call] = STATE(286),
    [sym__mlhs] = STATE(5868),
    [sym__simple_mlhs] = STATE(383),
    [sym_destructured_left_assignment] = STATE(383),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(384),
    [sym__variable] = STATE(381),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(658),
    [anon_sym_COLON_COLON] = ACTIONS(460),
    [anon_sym_STAR] = ACTIONS(660),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(494),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [5839] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_when] = STATE(5873),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(5874),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(400),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(401),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(387),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__terminator] = STATE(402),
    [aux_sym_case_repeat1] = STATE(5875),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(666),
    [sym__unary_minus] = ACTIONS(668),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_when] = ACTIONS(678),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(680),
    [anon_sym_defined_QMARK] = ACTIONS(682),
    [anon_sym_not] = ACTIONS(684),
    [anon_sym_BANG] = ACTIONS(686),
    [anon_sym_TILDE] = ACTIONS(686),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5840] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(5877),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(5878),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(692),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(8226),
    [anon_sym_SEMI] = ACTIONS(698),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5841] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__heredoc_body_middle] = ACTIONS(1372),
    [sym__heredoc_body_end] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_LBRACE] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_STAR_STAR] = ACTIONS(8244),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_EQ] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_if] = ACTIONS(1372),
    [anon_sym_unless] = ACTIONS(1372),
    [anon_sym_while] = ACTIONS(1372),
    [anon_sym_until] = ACTIONS(1372),
    [anon_sym_rescue] = ACTIONS(1372),
    [anon_sym_do] = ACTIONS(1372),
    [anon_sym_EQ_GT] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_PLUS_EQ] = ACTIONS(1372),
    [anon_sym_DASH_EQ] = ACTIONS(1372),
    [anon_sym_STAR_EQ] = ACTIONS(1372),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1372),
    [anon_sym_SLASH_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1372),
    [anon_sym_AMP_EQ] = ACTIONS(1372),
    [anon_sym_PERCENT_EQ] = ACTIONS(1372),
    [anon_sym_GT_GT_EQ] = ACTIONS(1372),
    [anon_sym_LT_LT_EQ] = ACTIONS(1372),
    [anon_sym_CARET_EQ] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1374),
    [anon_sym_AMP_AMP] = ACTIONS(1374),
    [anon_sym_LT_LT] = ACTIONS(1374),
    [anon_sym_GT_GT] = ACTIONS(1374),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1374),
    [anon_sym_PLUS] = ACTIONS(1374),
    [anon_sym_SLASH] = ACTIONS(1374),
    [anon_sym_PERCENT] = ACTIONS(1374),
    [sym_comment] = ACTIONS(256),
  },
  [5842] = {
    [sym_string] = STATE(5916),
    [aux_sym_chained_string_repeat1] = STATE(5917),
    [sym__simple_string] = ACTIONS(8168),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(8170),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__heredoc_body_middle] = ACTIONS(250),
    [sym__heredoc_body_end] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(8210),
  },
  [5843] = {
    [sym__simple_heredoc_body] = ACTIONS(1552),
    [sym__heredoc_body_beginning] = ACTIONS(1552),
    [sym__heredoc_body_middle] = ACTIONS(1552),
    [sym__heredoc_body_end] = ACTIONS(1552),
    [sym__element_reference_left_bracket] = ACTIONS(1552),
    [sym__scope_double_colon] = ACTIONS(1552),
    [sym__binary_minus] = ACTIONS(1552),
    [sym__binary_star] = ACTIONS(1552),
    [anon_sym_LBRACE] = ACTIONS(1552),
    [anon_sym_DOT] = ACTIONS(1554),
    [anon_sym_COMMA] = ACTIONS(1552),
    [anon_sym_PIPE] = ACTIONS(1554),
    [anon_sym_STAR_STAR] = ACTIONS(1554),
    [anon_sym_AMP] = ACTIONS(1554),
    [anon_sym_EQ] = ACTIONS(1554),
    [anon_sym_LT] = ACTIONS(1554),
    [anon_sym_if] = ACTIONS(1552),
    [anon_sym_unless] = ACTIONS(1552),
    [anon_sym_while] = ACTIONS(1552),
    [anon_sym_until] = ACTIONS(1552),
    [anon_sym_rescue] = ACTIONS(1552),
    [anon_sym_do] = ACTIONS(1552),
    [anon_sym_EQ_GT] = ACTIONS(1552),
    [anon_sym_AMP_DOT] = ACTIONS(1552),
    [anon_sym_PLUS_EQ] = ACTIONS(1552),
    [anon_sym_DASH_EQ] = ACTIONS(1552),
    [anon_sym_STAR_EQ] = ACTIONS(1552),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1552),
    [anon_sym_SLASH_EQ] = ACTIONS(1552),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1552),
    [anon_sym_PIPE_EQ] = ACTIONS(1552),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1552),
    [anon_sym_AMP_EQ] = ACTIONS(1552),
    [anon_sym_PERCENT_EQ] = ACTIONS(1552),
    [anon_sym_GT_GT_EQ] = ACTIONS(1552),
    [anon_sym_LT_LT_EQ] = ACTIONS(1552),
    [anon_sym_CARET_EQ] = ACTIONS(1552),
    [anon_sym_QMARK] = ACTIONS(1552),
    [anon_sym_DOT_DOT] = ACTIONS(1554),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1552),
    [anon_sym_and] = ACTIONS(1552),
    [anon_sym_or] = ACTIONS(1552),
    [anon_sym_PIPE_PIPE] = ACTIONS(1554),
    [anon_sym_AMP_AMP] = ACTIONS(1554),
    [anon_sym_LT_LT] = ACTIONS(1554),
    [anon_sym_GT_GT] = ACTIONS(1554),
    [anon_sym_EQ_EQ] = ACTIONS(1554),
    [anon_sym_BANG_EQ] = ACTIONS(1552),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1552),
    [anon_sym_LT_EQ_GT] = ACTIONS(1552),
    [anon_sym_EQ_TILDE] = ACTIONS(1552),
    [anon_sym_BANG_TILDE] = ACTIONS(1552),
    [anon_sym_LT_EQ] = ACTIONS(1554),
    [anon_sym_GT] = ACTIONS(1554),
    [anon_sym_GT_EQ] = ACTIONS(1552),
    [anon_sym_CARET] = ACTIONS(1554),
    [anon_sym_PLUS] = ACTIONS(1554),
    [anon_sym_SLASH] = ACTIONS(1554),
    [anon_sym_PERCENT] = ACTIONS(1554),
    [sym_comment] = ACTIONS(256),
  },
  [5844] = {
    [anon_sym_RBRACE] = ACTIONS(11988),
    [sym_comment] = ACTIONS(110),
  },
  [5845] = {
    [sym__statements] = STATE(9101),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(841),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(11988),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5846] = {
    [anon_sym_RBRACE] = ACTIONS(11990),
    [sym_comment] = ACTIONS(110),
  },
  [5847] = {
    [sym_heredoc_end] = STATE(9103),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RBRACE] = ACTIONS(11990),
    [sym_comment] = ACTIONS(110),
  },
  [5848] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(9104),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(1139),
    [sym_call] = STATE(1139),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(1140),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1141),
    [sym__variable] = STATE(1139),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(1822),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_yield] = ACTIONS(1828),
    [anon_sym_break] = ACTIONS(1830),
    [anon_sym_next] = ACTIONS(1832),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(1834),
    [anon_sym_defined_QMARK] = ACTIONS(1836),
    [anon_sym_not] = ACTIONS(1838),
    [anon_sym_BANG] = ACTIONS(1840),
    [anon_sym_TILDE] = ACTIONS(1840),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [5849] = {
    [sym__simple_heredoc_body] = ACTIONS(1866),
    [sym__heredoc_body_beginning] = ACTIONS(1866),
    [sym__heredoc_body_middle] = ACTIONS(1866),
    [sym__heredoc_body_end] = ACTIONS(1866),
    [sym__element_reference_left_bracket] = ACTIONS(1866),
    [sym__scope_double_colon] = ACTIONS(1866),
    [sym__binary_minus] = ACTIONS(1866),
    [sym__binary_star] = ACTIONS(1866),
    [anon_sym_LBRACE] = ACTIONS(1866),
    [anon_sym_DOT] = ACTIONS(1868),
    [anon_sym_COMMA] = ACTIONS(1866),
    [anon_sym_PIPE] = ACTIONS(1868),
    [anon_sym_STAR_STAR] = ACTIONS(1868),
    [anon_sym_AMP] = ACTIONS(1868),
    [anon_sym_EQ] = ACTIONS(1868),
    [anon_sym_LT] = ACTIONS(1868),
    [anon_sym_if] = ACTIONS(1866),
    [anon_sym_unless] = ACTIONS(1866),
    [anon_sym_while] = ACTIONS(1866),
    [anon_sym_until] = ACTIONS(1866),
    [anon_sym_rescue] = ACTIONS(1866),
    [anon_sym_do] = ACTIONS(1866),
    [anon_sym_EQ_GT] = ACTIONS(1866),
    [anon_sym_AMP_DOT] = ACTIONS(1866),
    [anon_sym_PLUS_EQ] = ACTIONS(1866),
    [anon_sym_DASH_EQ] = ACTIONS(1866),
    [anon_sym_STAR_EQ] = ACTIONS(1866),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1866),
    [anon_sym_SLASH_EQ] = ACTIONS(1866),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1866),
    [anon_sym_PIPE_EQ] = ACTIONS(1866),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1866),
    [anon_sym_AMP_EQ] = ACTIONS(1866),
    [anon_sym_PERCENT_EQ] = ACTIONS(1866),
    [anon_sym_GT_GT_EQ] = ACTIONS(1866),
    [anon_sym_LT_LT_EQ] = ACTIONS(1866),
    [anon_sym_CARET_EQ] = ACTIONS(1866),
    [anon_sym_QMARK] = ACTIONS(1866),
    [anon_sym_DOT_DOT] = ACTIONS(1868),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1866),
    [anon_sym_and] = ACTIONS(1866),
    [anon_sym_or] = ACTIONS(1866),
    [anon_sym_PIPE_PIPE] = ACTIONS(1868),
    [anon_sym_AMP_AMP] = ACTIONS(1868),
    [anon_sym_LT_LT] = ACTIONS(1868),
    [anon_sym_GT_GT] = ACTIONS(1868),
    [anon_sym_EQ_EQ] = ACTIONS(1868),
    [anon_sym_BANG_EQ] = ACTIONS(1866),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1866),
    [anon_sym_LT_EQ_GT] = ACTIONS(1866),
    [anon_sym_EQ_TILDE] = ACTIONS(1866),
    [anon_sym_BANG_TILDE] = ACTIONS(1866),
    [anon_sym_LT_EQ] = ACTIONS(1868),
    [anon_sym_GT] = ACTIONS(1868),
    [anon_sym_GT_EQ] = ACTIONS(1866),
    [anon_sym_CARET] = ACTIONS(1868),
    [anon_sym_PLUS] = ACTIONS(1868),
    [anon_sym_SLASH] = ACTIONS(1868),
    [anon_sym_PERCENT] = ACTIONS(1868),
    [sym_comment] = ACTIONS(256),
  },
  [5850] = {
    [anon_sym_DOT] = ACTIONS(11992),
    [anon_sym_COLON_COLON] = ACTIONS(11992),
    [sym_comment] = ACTIONS(110),
  },
  [5851] = {
    [sym_method_parameters] = STATE(9106),
    [sym__simple_formal_parameter] = STATE(1150),
    [sym_splat_parameter] = STATE(1151),
    [sym_hash_splat_parameter] = STATE(1151),
    [sym_block_parameter] = STATE(1151),
    [sym_keyword_parameter] = STATE(1151),
    [sym_optional_parameter] = STATE(1151),
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(9106),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym__line_break] = ACTIONS(692),
    [anon_sym_LPAREN] = ACTIONS(1872),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(1874),
    [anon_sym_STAR_STAR] = ACTIONS(1876),
    [anon_sym_AMP] = ACTIONS(1878),
    [sym_identifier] = ACTIONS(1880),
    [sym_comment] = ACTIONS(110),
  },
  [5852] = {
    [sym__simple_heredoc_body] = ACTIONS(1882),
    [sym__heredoc_body_beginning] = ACTIONS(1882),
    [sym__heredoc_body_middle] = ACTIONS(1882),
    [sym__heredoc_body_end] = ACTIONS(1882),
    [sym__element_reference_left_bracket] = ACTIONS(1882),
    [sym__scope_double_colon] = ACTIONS(1882),
    [sym__binary_minus] = ACTIONS(1882),
    [sym__binary_star] = ACTIONS(1882),
    [anon_sym_LBRACE] = ACTIONS(1882),
    [anon_sym_DOT] = ACTIONS(1884),
    [anon_sym_COMMA] = ACTIONS(1882),
    [anon_sym_PIPE] = ACTIONS(1884),
    [anon_sym_STAR_STAR] = ACTIONS(1884),
    [anon_sym_AMP] = ACTIONS(1884),
    [anon_sym_EQ] = ACTIONS(1884),
    [anon_sym_LT] = ACTIONS(1884),
    [anon_sym_if] = ACTIONS(1882),
    [anon_sym_unless] = ACTIONS(1882),
    [anon_sym_while] = ACTIONS(1882),
    [anon_sym_until] = ACTIONS(1882),
    [anon_sym_rescue] = ACTIONS(1882),
    [anon_sym_do] = ACTIONS(1882),
    [anon_sym_EQ_GT] = ACTIONS(1882),
    [anon_sym_AMP_DOT] = ACTIONS(1882),
    [anon_sym_PLUS_EQ] = ACTIONS(1882),
    [anon_sym_DASH_EQ] = ACTIONS(1882),
    [anon_sym_STAR_EQ] = ACTIONS(1882),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1882),
    [anon_sym_SLASH_EQ] = ACTIONS(1882),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1882),
    [anon_sym_PIPE_EQ] = ACTIONS(1882),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1882),
    [anon_sym_AMP_EQ] = ACTIONS(1882),
    [anon_sym_PERCENT_EQ] = ACTIONS(1882),
    [anon_sym_GT_GT_EQ] = ACTIONS(1882),
    [anon_sym_LT_LT_EQ] = ACTIONS(1882),
    [anon_sym_CARET_EQ] = ACTIONS(1882),
    [anon_sym_QMARK] = ACTIONS(1882),
    [anon_sym_DOT_DOT] = ACTIONS(1884),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1882),
    [anon_sym_and] = ACTIONS(1882),
    [anon_sym_or] = ACTIONS(1882),
    [anon_sym_PIPE_PIPE] = ACTIONS(1884),
    [anon_sym_AMP_AMP] = ACTIONS(1884),
    [anon_sym_LT_LT] = ACTIONS(1884),
    [anon_sym_GT_GT] = ACTIONS(1884),
    [anon_sym_EQ_EQ] = ACTIONS(1884),
    [anon_sym_BANG_EQ] = ACTIONS(1882),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1882),
    [anon_sym_LT_EQ_GT] = ACTIONS(1882),
    [anon_sym_EQ_TILDE] = ACTIONS(1882),
    [anon_sym_BANG_TILDE] = ACTIONS(1882),
    [anon_sym_LT_EQ] = ACTIONS(1884),
    [anon_sym_GT] = ACTIONS(1884),
    [anon_sym_GT_EQ] = ACTIONS(1882),
    [anon_sym_CARET] = ACTIONS(1884),
    [anon_sym_PLUS] = ACTIONS(1884),
    [anon_sym_SLASH] = ACTIONS(1884),
    [anon_sym_PERCENT] = ACTIONS(1884),
    [sym_comment] = ACTIONS(256),
  },
  [5853] = {
    [anon_sym_RPAREN] = ACTIONS(11994),
    [sym_comment] = ACTIONS(110),
  },
  [5854] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__heredoc_body_middle] = ACTIONS(4284),
    [sym__heredoc_body_end] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(11952),
    [sym__binary_star] = ACTIONS(11954),
    [anon_sym_LBRACE] = ACTIONS(4284),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(11956),
    [anon_sym_STAR_STAR] = ACTIONS(11958),
    [anon_sym_AMP] = ACTIONS(11960),
    [anon_sym_EQ] = ACTIONS(5432),
    [anon_sym_LT] = ACTIONS(11962),
    [anon_sym_if] = ACTIONS(4284),
    [anon_sym_unless] = ACTIONS(4284),
    [anon_sym_while] = ACTIONS(4284),
    [anon_sym_until] = ACTIONS(4284),
    [anon_sym_rescue] = ACTIONS(4284),
    [anon_sym_do] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_PLUS_EQ] = ACTIONS(4284),
    [anon_sym_DASH_EQ] = ACTIONS(4284),
    [anon_sym_STAR_EQ] = ACTIONS(4284),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(4284),
    [anon_sym_SLASH_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(4284),
    [anon_sym_AMP_EQ] = ACTIONS(4284),
    [anon_sym_PERCENT_EQ] = ACTIONS(4284),
    [anon_sym_GT_GT_EQ] = ACTIONS(4284),
    [anon_sym_LT_LT_EQ] = ACTIONS(4284),
    [anon_sym_CARET_EQ] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(11964),
    [anon_sym_DOT_DOT] = ACTIONS(11966),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11968),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(11970),
    [anon_sym_AMP_AMP] = ACTIONS(11970),
    [anon_sym_LT_LT] = ACTIONS(11972),
    [anon_sym_GT_GT] = ACTIONS(11972),
    [anon_sym_EQ_EQ] = ACTIONS(11970),
    [anon_sym_BANG_EQ] = ACTIONS(11974),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11974),
    [anon_sym_LT_EQ_GT] = ACTIONS(11974),
    [anon_sym_EQ_TILDE] = ACTIONS(11974),
    [anon_sym_BANG_TILDE] = ACTIONS(11974),
    [anon_sym_LT_EQ] = ACTIONS(11962),
    [anon_sym_GT] = ACTIONS(11962),
    [anon_sym_GT_EQ] = ACTIONS(11976),
    [anon_sym_CARET] = ACTIONS(11956),
    [anon_sym_PLUS] = ACTIONS(11978),
    [anon_sym_SLASH] = ACTIONS(11958),
    [anon_sym_PERCENT] = ACTIONS(11958),
    [sym_comment] = ACTIONS(256),
  },
  [5855] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9108),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1329),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1330),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2090),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2100),
    [anon_sym_defined_QMARK] = ACTIONS(2102),
    [anon_sym_not] = ACTIONS(2104),
    [anon_sym_BANG] = ACTIONS(2106),
    [anon_sym_TILDE] = ACTIONS(2106),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5856] = {
    [sym_superclass] = STATE(9109),
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(9110),
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__unary_minus] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(722),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(722),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(2110),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(722),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [5857] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_superclass] = STATE(9109),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1349),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1310),
    [sym__argument_list_with_parens] = STATE(1264),
    [sym__argument] = STATE(1350),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_do_block] = STATE(1312),
    [sym_block] = STATE(1312),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1353),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1354),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__terminator] = STATE(9110),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(2114),
    [sym__splat_star] = ACTIONS(2116),
    [sym__argument_list_left_paren] = ACTIONS(2034),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(2064),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(980),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2120),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(2110),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(2076),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2138),
    [sym_identifier] = ACTIONS(2138),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [5858] = {
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(9112),
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__unary_minus] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(722),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(11996),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(722),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(722),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [5859] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1349),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1310),
    [sym__argument_list_with_parens] = STATE(1264),
    [sym__argument] = STATE(1350),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_do_block] = STATE(1312),
    [sym_block] = STATE(1312),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1353),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1354),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__terminator] = STATE(9112),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(2114),
    [sym__splat_star] = ACTIONS(2116),
    [sym__argument_list_left_paren] = ACTIONS(2034),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(2064),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(980),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(11998),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2120),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(2076),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2138),
    [sym_identifier] = ACTIONS(2138),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [5860] = {
    [sym__simple_heredoc_body] = ACTIONS(2264),
    [sym__heredoc_body_beginning] = ACTIONS(2264),
    [sym__heredoc_body_middle] = ACTIONS(2264),
    [sym__heredoc_body_end] = ACTIONS(2264),
    [sym__element_reference_left_bracket] = ACTIONS(2264),
    [sym__scope_double_colon] = ACTIONS(2264),
    [sym__binary_minus] = ACTIONS(2264),
    [sym__binary_star] = ACTIONS(2264),
    [anon_sym_LBRACE] = ACTIONS(2264),
    [anon_sym_DOT] = ACTIONS(2266),
    [anon_sym_COMMA] = ACTIONS(2264),
    [anon_sym_PIPE] = ACTIONS(2266),
    [anon_sym_STAR_STAR] = ACTIONS(2266),
    [anon_sym_AMP] = ACTIONS(2266),
    [anon_sym_EQ] = ACTIONS(2266),
    [anon_sym_LT] = ACTIONS(2266),
    [anon_sym_if] = ACTIONS(2264),
    [anon_sym_unless] = ACTIONS(2264),
    [anon_sym_while] = ACTIONS(2264),
    [anon_sym_until] = ACTIONS(2264),
    [anon_sym_rescue] = ACTIONS(2264),
    [anon_sym_do] = ACTIONS(2264),
    [anon_sym_EQ_GT] = ACTIONS(2264),
    [anon_sym_AMP_DOT] = ACTIONS(2264),
    [anon_sym_PLUS_EQ] = ACTIONS(2264),
    [anon_sym_DASH_EQ] = ACTIONS(2264),
    [anon_sym_STAR_EQ] = ACTIONS(2264),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2264),
    [anon_sym_SLASH_EQ] = ACTIONS(2264),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2264),
    [anon_sym_PIPE_EQ] = ACTIONS(2264),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2264),
    [anon_sym_AMP_EQ] = ACTIONS(2264),
    [anon_sym_PERCENT_EQ] = ACTIONS(2264),
    [anon_sym_GT_GT_EQ] = ACTIONS(2264),
    [anon_sym_LT_LT_EQ] = ACTIONS(2264),
    [anon_sym_CARET_EQ] = ACTIONS(2264),
    [anon_sym_QMARK] = ACTIONS(2264),
    [anon_sym_DOT_DOT] = ACTIONS(2266),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2264),
    [anon_sym_and] = ACTIONS(2264),
    [anon_sym_or] = ACTIONS(2264),
    [anon_sym_PIPE_PIPE] = ACTIONS(2266),
    [anon_sym_AMP_AMP] = ACTIONS(2266),
    [anon_sym_LT_LT] = ACTIONS(2266),
    [anon_sym_GT_GT] = ACTIONS(2266),
    [anon_sym_EQ_EQ] = ACTIONS(2266),
    [anon_sym_BANG_EQ] = ACTIONS(2264),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2264),
    [anon_sym_LT_EQ_GT] = ACTIONS(2264),
    [anon_sym_EQ_TILDE] = ACTIONS(2264),
    [anon_sym_BANG_TILDE] = ACTIONS(2264),
    [anon_sym_LT_EQ] = ACTIONS(2266),
    [anon_sym_GT] = ACTIONS(2266),
    [anon_sym_GT_EQ] = ACTIONS(2264),
    [anon_sym_CARET] = ACTIONS(2266),
    [anon_sym_PLUS] = ACTIONS(2266),
    [anon_sym_SLASH] = ACTIONS(2266),
    [anon_sym_PERCENT] = ACTIONS(2266),
    [sym_comment] = ACTIONS(256),
  },
  [5861] = {
    [sym__simple_heredoc_body] = ACTIONS(2286),
    [sym__heredoc_body_beginning] = ACTIONS(2286),
    [sym__heredoc_body_middle] = ACTIONS(2286),
    [sym__heredoc_body_end] = ACTIONS(2286),
    [sym__element_reference_left_bracket] = ACTIONS(2286),
    [sym__scope_double_colon] = ACTIONS(2286),
    [sym__binary_minus] = ACTIONS(2286),
    [sym__binary_star] = ACTIONS(2286),
    [anon_sym_LBRACE] = ACTIONS(2286),
    [anon_sym_DOT] = ACTIONS(2288),
    [anon_sym_COMMA] = ACTIONS(2286),
    [anon_sym_PIPE] = ACTIONS(2288),
    [anon_sym_STAR_STAR] = ACTIONS(2288),
    [anon_sym_AMP] = ACTIONS(2288),
    [anon_sym_EQ] = ACTIONS(2288),
    [anon_sym_LT] = ACTIONS(2288),
    [anon_sym_if] = ACTIONS(2286),
    [anon_sym_unless] = ACTIONS(2286),
    [anon_sym_while] = ACTIONS(2286),
    [anon_sym_until] = ACTIONS(2286),
    [anon_sym_rescue] = ACTIONS(2286),
    [anon_sym_do] = ACTIONS(2286),
    [anon_sym_EQ_GT] = ACTIONS(2286),
    [anon_sym_AMP_DOT] = ACTIONS(2286),
    [anon_sym_PLUS_EQ] = ACTIONS(2286),
    [anon_sym_DASH_EQ] = ACTIONS(2286),
    [anon_sym_STAR_EQ] = ACTIONS(2286),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2286),
    [anon_sym_SLASH_EQ] = ACTIONS(2286),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2286),
    [anon_sym_PIPE_EQ] = ACTIONS(2286),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2286),
    [anon_sym_AMP_EQ] = ACTIONS(2286),
    [anon_sym_PERCENT_EQ] = ACTIONS(2286),
    [anon_sym_GT_GT_EQ] = ACTIONS(2286),
    [anon_sym_LT_LT_EQ] = ACTIONS(2286),
    [anon_sym_CARET_EQ] = ACTIONS(2286),
    [anon_sym_QMARK] = ACTIONS(2286),
    [anon_sym_DOT_DOT] = ACTIONS(2288),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2286),
    [anon_sym_and] = ACTIONS(2286),
    [anon_sym_or] = ACTIONS(2286),
    [anon_sym_PIPE_PIPE] = ACTIONS(2288),
    [anon_sym_AMP_AMP] = ACTIONS(2288),
    [anon_sym_LT_LT] = ACTIONS(2288),
    [anon_sym_GT_GT] = ACTIONS(2288),
    [anon_sym_EQ_EQ] = ACTIONS(2288),
    [anon_sym_BANG_EQ] = ACTIONS(2286),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2286),
    [anon_sym_LT_EQ_GT] = ACTIONS(2286),
    [anon_sym_EQ_TILDE] = ACTIONS(2286),
    [anon_sym_BANG_TILDE] = ACTIONS(2286),
    [anon_sym_LT_EQ] = ACTIONS(2288),
    [anon_sym_GT] = ACTIONS(2288),
    [anon_sym_GT_EQ] = ACTIONS(2286),
    [anon_sym_CARET] = ACTIONS(2288),
    [anon_sym_PLUS] = ACTIONS(2288),
    [anon_sym_SLASH] = ACTIONS(2288),
    [anon_sym_PERCENT] = ACTIONS(2288),
    [sym_comment] = ACTIONS(256),
  },
  [5862] = {
    [sym__simple_heredoc_body] = ACTIONS(2290),
    [sym__heredoc_body_beginning] = ACTIONS(2290),
    [sym__heredoc_body_middle] = ACTIONS(2290),
    [sym__heredoc_body_end] = ACTIONS(2290),
    [sym__element_reference_left_bracket] = ACTIONS(2290),
    [sym__scope_double_colon] = ACTIONS(2290),
    [sym__binary_minus] = ACTIONS(2290),
    [sym__binary_star] = ACTIONS(2290),
    [anon_sym_LBRACE] = ACTIONS(2290),
    [anon_sym_DOT] = ACTIONS(2292),
    [anon_sym_COMMA] = ACTIONS(2290),
    [anon_sym_PIPE] = ACTIONS(2292),
    [anon_sym_STAR_STAR] = ACTIONS(2292),
    [anon_sym_AMP] = ACTIONS(2292),
    [anon_sym_EQ] = ACTIONS(2292),
    [anon_sym_LT] = ACTIONS(2292),
    [anon_sym_if] = ACTIONS(2290),
    [anon_sym_unless] = ACTIONS(2290),
    [anon_sym_while] = ACTIONS(2290),
    [anon_sym_until] = ACTIONS(2290),
    [anon_sym_rescue] = ACTIONS(2290),
    [anon_sym_do] = ACTIONS(2290),
    [anon_sym_EQ_GT] = ACTIONS(2290),
    [anon_sym_AMP_DOT] = ACTIONS(2290),
    [anon_sym_PLUS_EQ] = ACTIONS(2290),
    [anon_sym_DASH_EQ] = ACTIONS(2290),
    [anon_sym_STAR_EQ] = ACTIONS(2290),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2290),
    [anon_sym_SLASH_EQ] = ACTIONS(2290),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2290),
    [anon_sym_PIPE_EQ] = ACTIONS(2290),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2290),
    [anon_sym_AMP_EQ] = ACTIONS(2290),
    [anon_sym_PERCENT_EQ] = ACTIONS(2290),
    [anon_sym_GT_GT_EQ] = ACTIONS(2290),
    [anon_sym_LT_LT_EQ] = ACTIONS(2290),
    [anon_sym_CARET_EQ] = ACTIONS(2290),
    [anon_sym_QMARK] = ACTIONS(2290),
    [anon_sym_DOT_DOT] = ACTIONS(2292),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2290),
    [anon_sym_and] = ACTIONS(2290),
    [anon_sym_or] = ACTIONS(2290),
    [anon_sym_PIPE_PIPE] = ACTIONS(2292),
    [anon_sym_AMP_AMP] = ACTIONS(2292),
    [anon_sym_LT_LT] = ACTIONS(2292),
    [anon_sym_GT_GT] = ACTIONS(2292),
    [anon_sym_EQ_EQ] = ACTIONS(2292),
    [anon_sym_BANG_EQ] = ACTIONS(2290),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2290),
    [anon_sym_LT_EQ_GT] = ACTIONS(2290),
    [anon_sym_EQ_TILDE] = ACTIONS(2290),
    [anon_sym_BANG_TILDE] = ACTIONS(2290),
    [anon_sym_LT_EQ] = ACTIONS(2292),
    [anon_sym_GT] = ACTIONS(2292),
    [anon_sym_GT_EQ] = ACTIONS(2290),
    [anon_sym_CARET] = ACTIONS(2292),
    [anon_sym_PLUS] = ACTIONS(2292),
    [anon_sym_SLASH] = ACTIONS(2292),
    [anon_sym_PERCENT] = ACTIONS(2292),
    [sym_comment] = ACTIONS(256),
  },
  [5863] = {
    [sym__simple_heredoc_body] = ACTIONS(2294),
    [sym__heredoc_body_beginning] = ACTIONS(2294),
    [sym__heredoc_body_middle] = ACTIONS(2294),
    [sym__heredoc_body_end] = ACTIONS(2294),
    [sym__element_reference_left_bracket] = ACTIONS(2294),
    [sym__scope_double_colon] = ACTIONS(2294),
    [sym__binary_minus] = ACTIONS(2294),
    [sym__binary_star] = ACTIONS(2294),
    [anon_sym_LBRACE] = ACTIONS(2294),
    [anon_sym_DOT] = ACTIONS(2296),
    [anon_sym_COMMA] = ACTIONS(2294),
    [anon_sym_PIPE] = ACTIONS(2296),
    [anon_sym_STAR_STAR] = ACTIONS(2296),
    [anon_sym_AMP] = ACTIONS(2296),
    [anon_sym_EQ] = ACTIONS(2296),
    [anon_sym_LT] = ACTIONS(2296),
    [anon_sym_if] = ACTIONS(2294),
    [anon_sym_unless] = ACTIONS(2294),
    [anon_sym_while] = ACTIONS(2294),
    [anon_sym_until] = ACTIONS(2294),
    [anon_sym_rescue] = ACTIONS(2294),
    [anon_sym_do] = ACTIONS(2294),
    [anon_sym_EQ_GT] = ACTIONS(2294),
    [anon_sym_AMP_DOT] = ACTIONS(2294),
    [anon_sym_PLUS_EQ] = ACTIONS(2294),
    [anon_sym_DASH_EQ] = ACTIONS(2294),
    [anon_sym_STAR_EQ] = ACTIONS(2294),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2294),
    [anon_sym_SLASH_EQ] = ACTIONS(2294),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2294),
    [anon_sym_PIPE_EQ] = ACTIONS(2294),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2294),
    [anon_sym_AMP_EQ] = ACTIONS(2294),
    [anon_sym_PERCENT_EQ] = ACTIONS(2294),
    [anon_sym_GT_GT_EQ] = ACTIONS(2294),
    [anon_sym_LT_LT_EQ] = ACTIONS(2294),
    [anon_sym_CARET_EQ] = ACTIONS(2294),
    [anon_sym_QMARK] = ACTIONS(2294),
    [anon_sym_DOT_DOT] = ACTIONS(2296),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2294),
    [anon_sym_and] = ACTIONS(2294),
    [anon_sym_or] = ACTIONS(2294),
    [anon_sym_PIPE_PIPE] = ACTIONS(2296),
    [anon_sym_AMP_AMP] = ACTIONS(2296),
    [anon_sym_LT_LT] = ACTIONS(2296),
    [anon_sym_GT_GT] = ACTIONS(2296),
    [anon_sym_EQ_EQ] = ACTIONS(2296),
    [anon_sym_BANG_EQ] = ACTIONS(2294),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2294),
    [anon_sym_LT_EQ_GT] = ACTIONS(2294),
    [anon_sym_EQ_TILDE] = ACTIONS(2294),
    [anon_sym_BANG_TILDE] = ACTIONS(2294),
    [anon_sym_LT_EQ] = ACTIONS(2296),
    [anon_sym_GT] = ACTIONS(2296),
    [anon_sym_GT_EQ] = ACTIONS(2294),
    [anon_sym_CARET] = ACTIONS(2296),
    [anon_sym_PLUS] = ACTIONS(2296),
    [anon_sym_SLASH] = ACTIONS(2296),
    [anon_sym_PERCENT] = ACTIONS(2296),
    [sym_comment] = ACTIONS(256),
  },
  [5864] = {
    [sym__then] = STATE(9114),
    [sym_heredoc_end] = STATE(1476),
    [sym__terminator] = STATE(1484),
    [sym__simple_heredoc_body] = ACTIONS(2322),
    [sym__heredoc_body_beginning] = ACTIONS(2324),
    [sym__line_break] = ACTIONS(2326),
    [anon_sym_SEMI] = ACTIONS(2326),
    [anon_sym_if] = ACTIONS(2328),
    [anon_sym_unless] = ACTIONS(2330),
    [anon_sym_while] = ACTIONS(2332),
    [anon_sym_until] = ACTIONS(2334),
    [anon_sym_rescue] = ACTIONS(2336),
    [anon_sym_then] = ACTIONS(2338),
    [sym_comment] = ACTIONS(110),
  },
  [5865] = {
    [sym__then] = STATE(9115),
    [sym_heredoc_end] = STATE(1521),
    [sym__terminator] = STATE(1524),
    [sym__simple_heredoc_body] = ACTIONS(2402),
    [sym__heredoc_body_beginning] = ACTIONS(2404),
    [sym__line_break] = ACTIONS(2406),
    [anon_sym_SEMI] = ACTIONS(2406),
    [anon_sym_if] = ACTIONS(2328),
    [anon_sym_unless] = ACTIONS(2330),
    [anon_sym_while] = ACTIONS(2332),
    [anon_sym_until] = ACTIONS(2334),
    [anon_sym_rescue] = ACTIONS(2336),
    [anon_sym_then] = ACTIONS(2408),
    [sym_comment] = ACTIONS(110),
  },
  [5866] = {
    [sym__do] = STATE(9116),
    [sym_heredoc_end] = STATE(1550),
    [sym__terminator] = STATE(1557),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym__line_break] = ACTIONS(2446),
    [sym__binary_minus] = ACTIONS(2448),
    [sym__binary_star] = ACTIONS(2450),
    [anon_sym_PIPE] = ACTIONS(2452),
    [anon_sym_SEMI] = ACTIONS(2446),
    [anon_sym_STAR_STAR] = ACTIONS(2454),
    [anon_sym_AMP] = ACTIONS(2456),
    [anon_sym_LT] = ACTIONS(2458),
    [anon_sym_do] = ACTIONS(2460),
    [anon_sym_QMARK] = ACTIONS(2462),
    [anon_sym_DOT_DOT] = ACTIONS(2464),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2466),
    [anon_sym_and] = ACTIONS(2468),
    [anon_sym_or] = ACTIONS(2468),
    [anon_sym_PIPE_PIPE] = ACTIONS(2470),
    [anon_sym_AMP_AMP] = ACTIONS(2470),
    [anon_sym_LT_LT] = ACTIONS(2472),
    [anon_sym_GT_GT] = ACTIONS(2472),
    [anon_sym_EQ_EQ] = ACTIONS(2474),
    [anon_sym_BANG_EQ] = ACTIONS(2470),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2470),
    [anon_sym_LT_EQ_GT] = ACTIONS(2470),
    [anon_sym_EQ_TILDE] = ACTIONS(2470),
    [anon_sym_BANG_TILDE] = ACTIONS(2470),
    [anon_sym_LT_EQ] = ACTIONS(2458),
    [anon_sym_GT] = ACTIONS(2458),
    [anon_sym_GT_EQ] = ACTIONS(2476),
    [anon_sym_CARET] = ACTIONS(2478),
    [anon_sym_PLUS] = ACTIONS(2480),
    [anon_sym_SLASH] = ACTIONS(2454),
    [anon_sym_PERCENT] = ACTIONS(2454),
    [sym_comment] = ACTIONS(110),
  },
  [5867] = {
    [sym__do] = STATE(9117),
    [sym_heredoc_end] = STATE(1550),
    [sym__terminator] = STATE(1557),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym__line_break] = ACTIONS(2446),
    [sym__binary_minus] = ACTIONS(2448),
    [sym__binary_star] = ACTIONS(2450),
    [anon_sym_PIPE] = ACTIONS(2452),
    [anon_sym_SEMI] = ACTIONS(2446),
    [anon_sym_STAR_STAR] = ACTIONS(2454),
    [anon_sym_AMP] = ACTIONS(2456),
    [anon_sym_LT] = ACTIONS(2458),
    [anon_sym_do] = ACTIONS(2460),
    [anon_sym_QMARK] = ACTIONS(2462),
    [anon_sym_DOT_DOT] = ACTIONS(2464),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2466),
    [anon_sym_and] = ACTIONS(2468),
    [anon_sym_or] = ACTIONS(2468),
    [anon_sym_PIPE_PIPE] = ACTIONS(2470),
    [anon_sym_AMP_AMP] = ACTIONS(2470),
    [anon_sym_LT_LT] = ACTIONS(2472),
    [anon_sym_GT_GT] = ACTIONS(2472),
    [anon_sym_EQ_EQ] = ACTIONS(2474),
    [anon_sym_BANG_EQ] = ACTIONS(2470),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2470),
    [anon_sym_LT_EQ_GT] = ACTIONS(2470),
    [anon_sym_EQ_TILDE] = ACTIONS(2470),
    [anon_sym_BANG_TILDE] = ACTIONS(2470),
    [anon_sym_LT_EQ] = ACTIONS(2458),
    [anon_sym_GT] = ACTIONS(2458),
    [anon_sym_GT_EQ] = ACTIONS(2476),
    [anon_sym_CARET] = ACTIONS(2478),
    [anon_sym_PLUS] = ACTIONS(2480),
    [anon_sym_SLASH] = ACTIONS(2454),
    [anon_sym_PERCENT] = ACTIONS(2454),
    [sym_comment] = ACTIONS(110),
  },
  [5868] = {
    [sym_in] = STATE(9118),
    [anon_sym_in] = ACTIONS(2548),
    [sym_comment] = ACTIONS(110),
  },
  [5869] = {
    [sym__heredoc_body_middle] = ACTIONS(6942),
    [sym__heredoc_body_end] = ACTIONS(6942),
    [sym__element_reference_left_bracket] = ACTIONS(6942),
    [sym__scope_double_colon] = ACTIONS(6942),
    [sym__binary_minus] = ACTIONS(6942),
    [sym__binary_star] = ACTIONS(6942),
    [anon_sym_DOT] = ACTIONS(6944),
    [anon_sym_COMMA] = ACTIONS(6942),
    [anon_sym_PIPE] = ACTIONS(6944),
    [anon_sym_STAR_STAR] = ACTIONS(6944),
    [anon_sym_AMP] = ACTIONS(6944),
    [anon_sym_EQ] = ACTIONS(6944),
    [anon_sym_LT] = ACTIONS(6944),
    [anon_sym_if] = ACTIONS(6942),
    [anon_sym_unless] = ACTIONS(6942),
    [anon_sym_while] = ACTIONS(6942),
    [anon_sym_until] = ACTIONS(6942),
    [anon_sym_rescue] = ACTIONS(6942),
    [anon_sym_AMP_DOT] = ACTIONS(6942),
    [anon_sym_PLUS_EQ] = ACTIONS(6942),
    [anon_sym_DASH_EQ] = ACTIONS(6942),
    [anon_sym_STAR_EQ] = ACTIONS(6942),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6942),
    [anon_sym_SLASH_EQ] = ACTIONS(6942),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6942),
    [anon_sym_PIPE_EQ] = ACTIONS(6942),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6942),
    [anon_sym_AMP_EQ] = ACTIONS(6942),
    [anon_sym_PERCENT_EQ] = ACTIONS(6942),
    [anon_sym_GT_GT_EQ] = ACTIONS(6942),
    [anon_sym_LT_LT_EQ] = ACTIONS(6942),
    [anon_sym_CARET_EQ] = ACTIONS(6942),
    [anon_sym_QMARK] = ACTIONS(6942),
    [anon_sym_DOT_DOT] = ACTIONS(6944),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6942),
    [anon_sym_and] = ACTIONS(6942),
    [anon_sym_or] = ACTIONS(6942),
    [anon_sym_PIPE_PIPE] = ACTIONS(6944),
    [anon_sym_AMP_AMP] = ACTIONS(6944),
    [anon_sym_LT_LT] = ACTIONS(6944),
    [anon_sym_GT_GT] = ACTIONS(6944),
    [anon_sym_EQ_EQ] = ACTIONS(6944),
    [anon_sym_BANG_EQ] = ACTIONS(6942),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6942),
    [anon_sym_LT_EQ_GT] = ACTIONS(6942),
    [anon_sym_EQ_TILDE] = ACTIONS(6942),
    [anon_sym_BANG_TILDE] = ACTIONS(6942),
    [anon_sym_LT_EQ] = ACTIONS(6944),
    [anon_sym_GT] = ACTIONS(6944),
    [anon_sym_GT_EQ] = ACTIONS(6942),
    [anon_sym_CARET] = ACTIONS(6944),
    [anon_sym_PLUS] = ACTIONS(6944),
    [anon_sym_SLASH] = ACTIONS(6944),
    [anon_sym_PERCENT] = ACTIONS(6944),
    [sym_comment] = ACTIONS(256),
  },
  [5870] = {
    [anon_sym_end] = ACTIONS(12000),
    [sym_comment] = ACTIONS(110),
  },
  [5871] = {
    [sym__statements] = STATE(9120),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(9121),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(12002),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5872] = {
    [sym__statements] = STATE(9120),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(9122),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(9121),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(12002),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5873] = {
    [anon_sym_end] = ACTIONS(12004),
    [sym_comment] = ACTIONS(110),
  },
  [5874] = {
    [sym_when] = STATE(9124),
    [sym_heredoc_end] = STATE(387),
    [sym__terminator] = STATE(402),
    [aux_sym_case_repeat1] = STATE(9125),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym__line_break] = ACTIONS(666),
    [sym__binary_minus] = ACTIONS(2600),
    [sym__binary_star] = ACTIONS(2602),
    [anon_sym_PIPE] = ACTIONS(2604),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_STAR_STAR] = ACTIONS(2606),
    [anon_sym_AMP] = ACTIONS(2608),
    [anon_sym_LT] = ACTIONS(2610),
    [anon_sym_when] = ACTIONS(2612),
    [anon_sym_QMARK] = ACTIONS(2614),
    [anon_sym_DOT_DOT] = ACTIONS(2616),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2618),
    [anon_sym_and] = ACTIONS(2620),
    [anon_sym_or] = ACTIONS(2620),
    [anon_sym_PIPE_PIPE] = ACTIONS(2622),
    [anon_sym_AMP_AMP] = ACTIONS(2622),
    [anon_sym_LT_LT] = ACTIONS(2624),
    [anon_sym_GT_GT] = ACTIONS(2624),
    [anon_sym_EQ_EQ] = ACTIONS(2626),
    [anon_sym_BANG_EQ] = ACTIONS(2622),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2622),
    [anon_sym_LT_EQ_GT] = ACTIONS(2622),
    [anon_sym_EQ_TILDE] = ACTIONS(2622),
    [anon_sym_BANG_TILDE] = ACTIONS(2622),
    [anon_sym_LT_EQ] = ACTIONS(2610),
    [anon_sym_GT] = ACTIONS(2610),
    [anon_sym_GT_EQ] = ACTIONS(2628),
    [anon_sym_CARET] = ACTIONS(2630),
    [anon_sym_PLUS] = ACTIONS(2632),
    [anon_sym_SLASH] = ACTIONS(2606),
    [anon_sym_PERCENT] = ACTIONS(2606),
    [sym_comment] = ACTIONS(110),
  },
  [5875] = {
    [sym_when] = STATE(9124),
    [sym_heredoc_end] = STATE(387),
    [sym__terminator] = STATE(1688),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym__line_break] = ACTIONS(666),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_when] = ACTIONS(2612),
    [sym_comment] = ACTIONS(110),
  },
  [5876] = {
    [sym__simple_heredoc_body] = ACTIONS(2674),
    [sym__heredoc_body_beginning] = ACTIONS(2674),
    [sym__heredoc_body_middle] = ACTIONS(2674),
    [sym__heredoc_body_end] = ACTIONS(2674),
    [sym__element_reference_left_bracket] = ACTIONS(2674),
    [sym__scope_double_colon] = ACTIONS(2674),
    [sym__binary_minus] = ACTIONS(2674),
    [sym__binary_star] = ACTIONS(2674),
    [anon_sym_LBRACE] = ACTIONS(2674),
    [anon_sym_DOT] = ACTIONS(2676),
    [anon_sym_COMMA] = ACTIONS(2674),
    [anon_sym_PIPE] = ACTIONS(2676),
    [anon_sym_STAR_STAR] = ACTIONS(2676),
    [anon_sym_AMP] = ACTIONS(2676),
    [anon_sym_EQ] = ACTIONS(2676),
    [anon_sym_LT] = ACTIONS(2676),
    [anon_sym_if] = ACTIONS(2674),
    [anon_sym_unless] = ACTIONS(2674),
    [anon_sym_while] = ACTIONS(2674),
    [anon_sym_until] = ACTIONS(2674),
    [anon_sym_rescue] = ACTIONS(2674),
    [anon_sym_do] = ACTIONS(2674),
    [anon_sym_EQ_GT] = ACTIONS(2674),
    [anon_sym_AMP_DOT] = ACTIONS(2674),
    [anon_sym_PLUS_EQ] = ACTIONS(2674),
    [anon_sym_DASH_EQ] = ACTIONS(2674),
    [anon_sym_STAR_EQ] = ACTIONS(2674),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2674),
    [anon_sym_SLASH_EQ] = ACTIONS(2674),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2674),
    [anon_sym_PIPE_EQ] = ACTIONS(2674),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2674),
    [anon_sym_AMP_EQ] = ACTIONS(2674),
    [anon_sym_PERCENT_EQ] = ACTIONS(2674),
    [anon_sym_GT_GT_EQ] = ACTIONS(2674),
    [anon_sym_LT_LT_EQ] = ACTIONS(2674),
    [anon_sym_CARET_EQ] = ACTIONS(2674),
    [anon_sym_QMARK] = ACTIONS(2674),
    [anon_sym_DOT_DOT] = ACTIONS(2676),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2674),
    [anon_sym_and] = ACTIONS(2674),
    [anon_sym_or] = ACTIONS(2674),
    [anon_sym_PIPE_PIPE] = ACTIONS(2676),
    [anon_sym_AMP_AMP] = ACTIONS(2676),
    [anon_sym_LT_LT] = ACTIONS(2676),
    [anon_sym_GT_GT] = ACTIONS(2676),
    [anon_sym_EQ_EQ] = ACTIONS(2676),
    [anon_sym_BANG_EQ] = ACTIONS(2674),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2674),
    [anon_sym_LT_EQ_GT] = ACTIONS(2674),
    [anon_sym_EQ_TILDE] = ACTIONS(2674),
    [anon_sym_BANG_TILDE] = ACTIONS(2674),
    [anon_sym_LT_EQ] = ACTIONS(2676),
    [anon_sym_GT] = ACTIONS(2676),
    [anon_sym_GT_EQ] = ACTIONS(2674),
    [anon_sym_CARET] = ACTIONS(2676),
    [anon_sym_PLUS] = ACTIONS(2676),
    [anon_sym_SLASH] = ACTIONS(2676),
    [anon_sym_PERCENT] = ACTIONS(2676),
    [sym_comment] = ACTIONS(256),
  },
  [5877] = {
    [anon_sym_end] = ACTIONS(12006),
    [sym_comment] = ACTIONS(110),
  },
  [5878] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(9127),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(12008),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5879] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__heredoc_body_middle] = ACTIONS(2870),
    [sym__heredoc_body_end] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(8244),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2872),
    [anon_sym_AMP_AMP] = ACTIONS(2872),
    [anon_sym_LT_LT] = ACTIONS(2872),
    [anon_sym_GT_GT] = ACTIONS(2872),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2872),
    [anon_sym_PLUS] = ACTIONS(2872),
    [anon_sym_SLASH] = ACTIONS(2872),
    [anon_sym_PERCENT] = ACTIONS(2872),
    [sym_comment] = ACTIONS(256),
  },
  [5880] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__heredoc_body_middle] = ACTIONS(2870),
    [sym__heredoc_body_end] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(8238),
    [sym__binary_star] = ACTIONS(8240),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(8242),
    [anon_sym_STAR_STAR] = ACTIONS(8244),
    [anon_sym_AMP] = ACTIONS(8246),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(8248),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(8250),
    [anon_sym_DOT_DOT] = ACTIONS(8252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8254),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(8256),
    [anon_sym_AMP_AMP] = ACTIONS(8256),
    [anon_sym_LT_LT] = ACTIONS(8258),
    [anon_sym_GT_GT] = ACTIONS(8258),
    [anon_sym_EQ_EQ] = ACTIONS(8256),
    [anon_sym_BANG_EQ] = ACTIONS(8260),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8260),
    [anon_sym_LT_EQ_GT] = ACTIONS(8260),
    [anon_sym_EQ_TILDE] = ACTIONS(8260),
    [anon_sym_BANG_TILDE] = ACTIONS(8260),
    [anon_sym_LT_EQ] = ACTIONS(8248),
    [anon_sym_GT] = ACTIONS(8248),
    [anon_sym_GT_EQ] = ACTIONS(8262),
    [anon_sym_CARET] = ACTIONS(8242),
    [anon_sym_PLUS] = ACTIONS(8264),
    [anon_sym_SLASH] = ACTIONS(8244),
    [anon_sym_PERCENT] = ACTIONS(8244),
    [sym_comment] = ACTIONS(256),
  },
  [5881] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__heredoc_body_middle] = ACTIONS(2870),
    [sym__heredoc_body_end] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(2872),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2872),
    [anon_sym_AMP_AMP] = ACTIONS(2872),
    [anon_sym_LT_LT] = ACTIONS(2872),
    [anon_sym_GT_GT] = ACTIONS(2872),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2872),
    [anon_sym_PLUS] = ACTIONS(2872),
    [anon_sym_SLASH] = ACTIONS(2872),
    [anon_sym_PERCENT] = ACTIONS(2872),
    [sym_comment] = ACTIONS(256),
  },
  [5882] = {
    [sym_method] = STATE(5784),
    [sym_singleton_method] = STATE(5784),
    [sym_class] = STATE(5784),
    [sym_singleton_class] = STATE(5784),
    [sym_module] = STATE(5784),
    [sym_return] = STATE(5784),
    [sym_yield] = STATE(5784),
    [sym_break] = STATE(5784),
    [sym_next] = STATE(5784),
    [sym_redo] = STATE(5784),
    [sym_retry] = STATE(5784),
    [sym_while] = STATE(5784),
    [sym_until] = STATE(5784),
    [sym_for] = STATE(5784),
    [sym_case] = STATE(5784),
    [sym_if] = STATE(5784),
    [sym_unless] = STATE(5784),
    [sym_begin] = STATE(5784),
    [sym__arg] = STATE(9128),
    [sym__primary] = STATE(5812),
    [sym_parenthesized_statements] = STATE(5784),
    [sym_element_reference] = STATE(5606),
    [sym_scope_resolution] = STATE(5813),
    [sym_call] = STATE(5813),
    [sym_method_call] = STATE(5606),
    [sym_assignment] = STATE(5814),
    [sym_operator_assignment] = STATE(5814),
    [sym_conditional] = STATE(5814),
    [sym_range] = STATE(5814),
    [sym_binary] = STATE(5814),
    [sym_unary] = STATE(5814),
    [sym_left_assignment_list] = STATE(5815),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5816),
    [sym__variable] = STATE(5813),
    [sym_symbol] = STATE(5784),
    [sym_complex] = STATE(5784),
    [sym_rational] = STATE(5784),
    [sym_super] = STATE(5598),
    [sym_true] = STATE(5606),
    [sym_false] = STATE(5606),
    [sym_self] = STATE(5598),
    [sym_nil] = STATE(5606),
    [sym_chained_string] = STATE(5784),
    [sym_string] = STATE(5817),
    [sym_subshell] = STATE(5784),
    [sym_array] = STATE(5784),
    [sym_hash] = STATE(5784),
    [sym_regex] = STATE(5784),
    [sym_lambda] = STATE(5784),
    [sym__simple_string] = ACTIONS(8084),
    [sym__simple_symbol] = ACTIONS(8086),
    [sym__simple_subshell] = ACTIONS(8088),
    [sym__simple_regex] = ACTIONS(8090),
    [sym__simple_word_list] = ACTIONS(8092),
    [sym__string_beginning] = ACTIONS(8094),
    [sym__symbol_beginning] = ACTIONS(8096),
    [sym__subshell_beginning] = ACTIONS(8098),
    [sym__regex_beginning] = ACTIONS(8100),
    [sym__word_list_beginning] = ACTIONS(8102),
    [sym_heredoc_beginning] = ACTIONS(8104),
    [sym__unary_minus] = ACTIONS(8106),
    [anon_sym_LBRACE] = ACTIONS(8108),
    [anon_sym_def] = ACTIONS(8110),
    [anon_sym_LPAREN] = ACTIONS(8112),
    [anon_sym_COLON_COLON] = ACTIONS(7876),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8114),
    [anon_sym_module] = ACTIONS(8116),
    [anon_sym_return] = ACTIONS(8118),
    [anon_sym_yield] = ACTIONS(8120),
    [anon_sym_break] = ACTIONS(8122),
    [anon_sym_next] = ACTIONS(8124),
    [anon_sym_redo] = ACTIONS(8126),
    [anon_sym_retry] = ACTIONS(8128),
    [anon_sym_if] = ACTIONS(8130),
    [anon_sym_unless] = ACTIONS(8132),
    [anon_sym_while] = ACTIONS(8134),
    [anon_sym_until] = ACTIONS(8136),
    [anon_sym_for] = ACTIONS(8138),
    [anon_sym_case] = ACTIONS(8140),
    [anon_sym_begin] = ACTIONS(8142),
    [anon_sym_PLUS] = ACTIONS(8144),
    [anon_sym_defined_QMARK] = ACTIONS(8146),
    [anon_sym_not] = ACTIONS(8148),
    [anon_sym_BANG] = ACTIONS(8150),
    [anon_sym_TILDE] = ACTIONS(8150),
    [sym_constant] = ACTIONS(7916),
    [sym_identifier] = ACTIONS(7916),
    [sym_instance_variable] = ACTIONS(7918),
    [sym_class_variable] = ACTIONS(7918),
    [sym_global_variable] = ACTIONS(7918),
    [anon_sym_false] = ACTIONS(7920),
    [anon_sym_nil] = ACTIONS(7922),
    [anon_sym_self] = ACTIONS(7924),
    [anon_sym_super] = ACTIONS(7926),
    [anon_sym_true] = ACTIONS(7928),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8152),
    [sym_float] = ACTIONS(8154),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8156),
    [anon_sym_TRUE] = ACTIONS(7928),
    [anon_sym_FALSE] = ACTIONS(7920),
    [anon_sym_NIL] = ACTIONS(7922),
    [sym_keyword__FILE__] = ACTIONS(8158),
    [sym_keyword__LINE__] = ACTIONS(8158),
    [sym_keyword__ENCODING__] = ACTIONS(8158),
    [sym__character_literal] = ACTIONS(8160),
    [anon_sym_LBRACK] = ACTIONS(8162),
    [anon_sym_DASH_GT] = ACTIONS(8164),
  },
  [5883] = {
    [sym__simple_heredoc_body] = ACTIONS(2882),
    [sym__heredoc_body_beginning] = ACTIONS(2882),
    [sym__heredoc_body_middle] = ACTIONS(2882),
    [sym__heredoc_body_end] = ACTIONS(2882),
    [sym__element_reference_left_bracket] = ACTIONS(2882),
    [sym__scope_double_colon] = ACTIONS(2882),
    [sym__binary_minus] = ACTIONS(2882),
    [sym__binary_star] = ACTIONS(2882),
    [anon_sym_LBRACE] = ACTIONS(2882),
    [anon_sym_DOT] = ACTIONS(2884),
    [anon_sym_COMMA] = ACTIONS(2882),
    [anon_sym_PIPE] = ACTIONS(2884),
    [anon_sym_STAR_STAR] = ACTIONS(2884),
    [anon_sym_AMP] = ACTIONS(2884),
    [anon_sym_EQ] = ACTIONS(2884),
    [anon_sym_LT] = ACTIONS(2884),
    [anon_sym_if] = ACTIONS(2882),
    [anon_sym_unless] = ACTIONS(2882),
    [anon_sym_while] = ACTIONS(2882),
    [anon_sym_until] = ACTIONS(2882),
    [anon_sym_rescue] = ACTIONS(2882),
    [anon_sym_do] = ACTIONS(2882),
    [anon_sym_EQ_GT] = ACTIONS(2882),
    [anon_sym_AMP_DOT] = ACTIONS(2882),
    [anon_sym_PLUS_EQ] = ACTIONS(2882),
    [anon_sym_DASH_EQ] = ACTIONS(2882),
    [anon_sym_STAR_EQ] = ACTIONS(2882),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2882),
    [anon_sym_SLASH_EQ] = ACTIONS(2882),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2882),
    [anon_sym_PIPE_EQ] = ACTIONS(2882),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2882),
    [anon_sym_AMP_EQ] = ACTIONS(2882),
    [anon_sym_PERCENT_EQ] = ACTIONS(2882),
    [anon_sym_GT_GT_EQ] = ACTIONS(2882),
    [anon_sym_LT_LT_EQ] = ACTIONS(2882),
    [anon_sym_CARET_EQ] = ACTIONS(2882),
    [anon_sym_QMARK] = ACTIONS(2882),
    [anon_sym_DOT_DOT] = ACTIONS(2884),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2882),
    [anon_sym_and] = ACTIONS(2882),
    [anon_sym_or] = ACTIONS(2882),
    [anon_sym_PIPE_PIPE] = ACTIONS(2884),
    [anon_sym_AMP_AMP] = ACTIONS(2884),
    [anon_sym_LT_LT] = ACTIONS(2884),
    [anon_sym_GT_GT] = ACTIONS(2884),
    [anon_sym_EQ_EQ] = ACTIONS(2884),
    [anon_sym_BANG_EQ] = ACTIONS(2882),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2882),
    [anon_sym_LT_EQ_GT] = ACTIONS(2882),
    [anon_sym_EQ_TILDE] = ACTIONS(2882),
    [anon_sym_BANG_TILDE] = ACTIONS(2882),
    [anon_sym_LT_EQ] = ACTIONS(2884),
    [anon_sym_GT] = ACTIONS(2884),
    [anon_sym_GT_EQ] = ACTIONS(2882),
    [anon_sym_CARET] = ACTIONS(2884),
    [anon_sym_PLUS] = ACTIONS(2884),
    [anon_sym_SLASH] = ACTIONS(2884),
    [anon_sym_PERCENT] = ACTIONS(2884),
    [sym_comment] = ACTIONS(256),
  },
  [5884] = {
    [sym__simple_heredoc_body] = ACTIONS(2952),
    [sym__heredoc_body_beginning] = ACTIONS(2952),
    [sym__heredoc_body_middle] = ACTIONS(2952),
    [sym__heredoc_body_end] = ACTIONS(2952),
    [sym__element_reference_left_bracket] = ACTIONS(2952),
    [sym__scope_double_colon] = ACTIONS(2952),
    [sym__binary_minus] = ACTIONS(2952),
    [sym__binary_star] = ACTIONS(2952),
    [anon_sym_LBRACE] = ACTIONS(2952),
    [anon_sym_DOT] = ACTIONS(2954),
    [anon_sym_COMMA] = ACTIONS(2952),
    [anon_sym_PIPE] = ACTIONS(2954),
    [anon_sym_STAR_STAR] = ACTIONS(2954),
    [anon_sym_AMP] = ACTIONS(2954),
    [anon_sym_EQ] = ACTIONS(2954),
    [anon_sym_LT] = ACTIONS(2954),
    [anon_sym_if] = ACTIONS(2952),
    [anon_sym_unless] = ACTIONS(2952),
    [anon_sym_while] = ACTIONS(2952),
    [anon_sym_until] = ACTIONS(2952),
    [anon_sym_rescue] = ACTIONS(2952),
    [anon_sym_do] = ACTIONS(2952),
    [anon_sym_EQ_GT] = ACTIONS(2952),
    [anon_sym_AMP_DOT] = ACTIONS(2952),
    [anon_sym_PLUS_EQ] = ACTIONS(2952),
    [anon_sym_DASH_EQ] = ACTIONS(2952),
    [anon_sym_STAR_EQ] = ACTIONS(2952),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2952),
    [anon_sym_SLASH_EQ] = ACTIONS(2952),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2952),
    [anon_sym_PIPE_EQ] = ACTIONS(2952),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2952),
    [anon_sym_AMP_EQ] = ACTIONS(2952),
    [anon_sym_PERCENT_EQ] = ACTIONS(2952),
    [anon_sym_GT_GT_EQ] = ACTIONS(2952),
    [anon_sym_LT_LT_EQ] = ACTIONS(2952),
    [anon_sym_CARET_EQ] = ACTIONS(2952),
    [anon_sym_QMARK] = ACTIONS(2952),
    [anon_sym_DOT_DOT] = ACTIONS(2954),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2952),
    [anon_sym_and] = ACTIONS(2952),
    [anon_sym_or] = ACTIONS(2952),
    [anon_sym_PIPE_PIPE] = ACTIONS(2954),
    [anon_sym_AMP_AMP] = ACTIONS(2954),
    [anon_sym_LT_LT] = ACTIONS(2954),
    [anon_sym_GT_GT] = ACTIONS(2954),
    [anon_sym_EQ_EQ] = ACTIONS(2954),
    [anon_sym_BANG_EQ] = ACTIONS(2952),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2952),
    [anon_sym_LT_EQ_GT] = ACTIONS(2952),
    [anon_sym_EQ_TILDE] = ACTIONS(2952),
    [anon_sym_BANG_TILDE] = ACTIONS(2952),
    [anon_sym_LT_EQ] = ACTIONS(2954),
    [anon_sym_GT] = ACTIONS(2954),
    [anon_sym_GT_EQ] = ACTIONS(2952),
    [anon_sym_CARET] = ACTIONS(2954),
    [anon_sym_PLUS] = ACTIONS(2954),
    [anon_sym_SLASH] = ACTIONS(2954),
    [anon_sym_PERCENT] = ACTIONS(2954),
    [sym_comment] = ACTIONS(256),
  },
  [5885] = {
    [sym_heredoc_end] = STATE(9129),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RBRACK] = ACTIONS(11928),
    [sym_comment] = ACTIONS(110),
  },
  [5886] = {
    [anon_sym_RBRACK] = ACTIONS(11928),
    [sym_comment] = ACTIONS(110),
  },
  [5887] = {
    [sym__statements] = STATE(8957),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(8958),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(841),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(12010),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_PIPE] = ACTIONS(3048),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5888] = {
    [sym__statements] = STATE(8961),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(8962),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1981),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(8963),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(3076),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(3078),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(3080),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(11866),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(3086),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5889] = {
    [sym_do_block] = STATE(9131),
    [sym_block] = STATE(9131),
    [anon_sym_LBRACE] = ACTIONS(8234),
    [anon_sym_do] = ACTIONS(11870),
    [sym_comment] = ACTIONS(110),
  },
  [5890] = {
    [sym__simple_heredoc_body] = ACTIONS(3100),
    [sym__heredoc_body_beginning] = ACTIONS(3100),
    [sym__heredoc_body_middle] = ACTIONS(3100),
    [sym__heredoc_body_end] = ACTIONS(3100),
    [sym__element_reference_left_bracket] = ACTIONS(3100),
    [sym__scope_double_colon] = ACTIONS(3100),
    [sym__binary_minus] = ACTIONS(3100),
    [sym__binary_star] = ACTIONS(3100),
    [anon_sym_LBRACE] = ACTIONS(3100),
    [anon_sym_DOT] = ACTIONS(3102),
    [anon_sym_COMMA] = ACTIONS(3100),
    [anon_sym_PIPE] = ACTIONS(3102),
    [anon_sym_STAR_STAR] = ACTIONS(3102),
    [anon_sym_AMP] = ACTIONS(3102),
    [anon_sym_EQ] = ACTIONS(3102),
    [anon_sym_LT] = ACTIONS(3102),
    [anon_sym_if] = ACTIONS(3100),
    [anon_sym_unless] = ACTIONS(3100),
    [anon_sym_while] = ACTIONS(3100),
    [anon_sym_until] = ACTIONS(3100),
    [anon_sym_rescue] = ACTIONS(3100),
    [anon_sym_do] = ACTIONS(3100),
    [anon_sym_EQ_GT] = ACTIONS(3100),
    [anon_sym_AMP_DOT] = ACTIONS(3100),
    [anon_sym_PLUS_EQ] = ACTIONS(3100),
    [anon_sym_DASH_EQ] = ACTIONS(3100),
    [anon_sym_STAR_EQ] = ACTIONS(3100),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3100),
    [anon_sym_SLASH_EQ] = ACTIONS(3100),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3100),
    [anon_sym_PIPE_EQ] = ACTIONS(3100),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3100),
    [anon_sym_AMP_EQ] = ACTIONS(3100),
    [anon_sym_PERCENT_EQ] = ACTIONS(3100),
    [anon_sym_GT_GT_EQ] = ACTIONS(3100),
    [anon_sym_LT_LT_EQ] = ACTIONS(3100),
    [anon_sym_CARET_EQ] = ACTIONS(3100),
    [anon_sym_QMARK] = ACTIONS(3100),
    [anon_sym_DOT_DOT] = ACTIONS(3102),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3100),
    [anon_sym_and] = ACTIONS(3100),
    [anon_sym_or] = ACTIONS(3100),
    [anon_sym_PIPE_PIPE] = ACTIONS(3102),
    [anon_sym_AMP_AMP] = ACTIONS(3102),
    [anon_sym_LT_LT] = ACTIONS(3102),
    [anon_sym_GT_GT] = ACTIONS(3102),
    [anon_sym_EQ_EQ] = ACTIONS(3102),
    [anon_sym_BANG_EQ] = ACTIONS(3100),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3100),
    [anon_sym_LT_EQ_GT] = ACTIONS(3100),
    [anon_sym_EQ_TILDE] = ACTIONS(3100),
    [anon_sym_BANG_TILDE] = ACTIONS(3100),
    [anon_sym_LT_EQ] = ACTIONS(3102),
    [anon_sym_GT] = ACTIONS(3102),
    [anon_sym_GT_EQ] = ACTIONS(3100),
    [anon_sym_CARET] = ACTIONS(3102),
    [anon_sym_PLUS] = ACTIONS(3102),
    [anon_sym_SLASH] = ACTIONS(3102),
    [anon_sym_PERCENT] = ACTIONS(3102),
    [sym_comment] = ACTIONS(256),
  },
  [5891] = {
    [sym_method] = STATE(2839),
    [sym_singleton_method] = STATE(2839),
    [sym_class] = STATE(2839),
    [sym_singleton_class] = STATE(2839),
    [sym_module] = STATE(2839),
    [sym_return] = STATE(2839),
    [sym_yield] = STATE(2839),
    [sym_break] = STATE(2839),
    [sym_next] = STATE(2839),
    [sym_redo] = STATE(2839),
    [sym_retry] = STATE(2839),
    [sym_while] = STATE(2839),
    [sym_until] = STATE(2839),
    [sym_for] = STATE(2839),
    [sym_case] = STATE(2839),
    [sym_if] = STATE(2839),
    [sym_unless] = STATE(2839),
    [sym_begin] = STATE(2839),
    [sym__arg] = STATE(9132),
    [sym__primary] = STATE(2874),
    [sym_parenthesized_statements] = STATE(2839),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2875),
    [sym_call] = STATE(2875),
    [sym_method_call] = STATE(2764),
    [sym_assignment] = STATE(2881),
    [sym_operator_assignment] = STATE(2881),
    [sym_conditional] = STATE(2881),
    [sym_range] = STATE(2881),
    [sym_binary] = STATE(2881),
    [sym_unary] = STATE(2881),
    [sym_left_assignment_list] = STATE(2882),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2883),
    [sym__variable] = STATE(2875),
    [sym_symbol] = STATE(2839),
    [sym_complex] = STATE(2839),
    [sym_rational] = STATE(2839),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2839),
    [sym_string] = STATE(5842),
    [sym_subshell] = STATE(2839),
    [sym_array] = STATE(2839),
    [sym_hash] = STATE(2839),
    [sym_regex] = STATE(2839),
    [sym_lambda] = STATE(2839),
    [sym__simple_string] = ACTIONS(8168),
    [sym__simple_symbol] = ACTIONS(4164),
    [sym__simple_subshell] = ACTIONS(4166),
    [sym__simple_regex] = ACTIONS(4168),
    [sym__simple_word_list] = ACTIONS(4170),
    [sym__string_beginning] = ACTIONS(8170),
    [sym__symbol_beginning] = ACTIONS(4174),
    [sym__subshell_beginning] = ACTIONS(4176),
    [sym__regex_beginning] = ACTIONS(4178),
    [sym__word_list_beginning] = ACTIONS(4180),
    [sym_heredoc_beginning] = ACTIONS(4182),
    [sym__unary_minus] = ACTIONS(4190),
    [anon_sym_LBRACE] = ACTIONS(8172),
    [anon_sym_def] = ACTIONS(8174),
    [anon_sym_LPAREN] = ACTIONS(4196),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8176),
    [anon_sym_module] = ACTIONS(8178),
    [anon_sym_return] = ACTIONS(8180),
    [anon_sym_yield] = ACTIONS(8182),
    [anon_sym_break] = ACTIONS(8184),
    [anon_sym_next] = ACTIONS(8186),
    [anon_sym_redo] = ACTIONS(8188),
    [anon_sym_retry] = ACTIONS(8190),
    [anon_sym_if] = ACTIONS(8192),
    [anon_sym_unless] = ACTIONS(8194),
    [anon_sym_while] = ACTIONS(8196),
    [anon_sym_until] = ACTIONS(8198),
    [anon_sym_for] = ACTIONS(8200),
    [anon_sym_case] = ACTIONS(8202),
    [anon_sym_begin] = ACTIONS(8204),
    [anon_sym_PLUS] = ACTIONS(8206),
    [anon_sym_defined_QMARK] = ACTIONS(4222),
    [anon_sym_not] = ACTIONS(8208),
    [anon_sym_BANG] = ACTIONS(4228),
    [anon_sym_TILDE] = ACTIONS(4228),
    [sym_constant] = ACTIONS(7946),
    [sym_identifier] = ACTIONS(7946),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_false] = ACTIONS(4074),
    [anon_sym_nil] = ACTIONS(4076),
    [anon_sym_self] = ACTIONS(7948),
    [anon_sym_super] = ACTIONS(7950),
    [anon_sym_true] = ACTIONS(4072),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4232),
    [sym_float] = ACTIONS(4234),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4236),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4238),
    [sym_keyword__LINE__] = ACTIONS(4238),
    [sym_keyword__ENCODING__] = ACTIONS(4238),
    [sym__character_literal] = ACTIONS(8210),
    [anon_sym_LBRACK] = ACTIONS(4242),
    [anon_sym_DASH_GT] = ACTIONS(4244),
  },
  [5892] = {
    [sym_method] = STATE(2839),
    [sym_singleton_method] = STATE(2839),
    [sym_class] = STATE(2839),
    [sym_singleton_class] = STATE(2839),
    [sym_module] = STATE(2839),
    [sym_return] = STATE(2839),
    [sym_yield] = STATE(2839),
    [sym_break] = STATE(2839),
    [sym_next] = STATE(2839),
    [sym_redo] = STATE(2839),
    [sym_retry] = STATE(2839),
    [sym_while] = STATE(2839),
    [sym_until] = STATE(2839),
    [sym_for] = STATE(2839),
    [sym_case] = STATE(2839),
    [sym_if] = STATE(2839),
    [sym_unless] = STATE(2839),
    [sym_begin] = STATE(2839),
    [sym__arg] = STATE(9133),
    [sym__primary] = STATE(2874),
    [sym_parenthesized_statements] = STATE(2839),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2875),
    [sym_call] = STATE(2875),
    [sym_method_call] = STATE(2764),
    [sym_assignment] = STATE(2881),
    [sym_operator_assignment] = STATE(2881),
    [sym_conditional] = STATE(2881),
    [sym_range] = STATE(2881),
    [sym_binary] = STATE(2881),
    [sym_unary] = STATE(2881),
    [sym_left_assignment_list] = STATE(2882),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2883),
    [sym__variable] = STATE(2875),
    [sym_symbol] = STATE(2839),
    [sym_complex] = STATE(2839),
    [sym_rational] = STATE(2839),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2839),
    [sym_string] = STATE(5842),
    [sym_subshell] = STATE(2839),
    [sym_array] = STATE(2839),
    [sym_hash] = STATE(2839),
    [sym_regex] = STATE(2839),
    [sym_lambda] = STATE(2839),
    [sym__simple_string] = ACTIONS(8168),
    [sym__simple_symbol] = ACTIONS(4164),
    [sym__simple_subshell] = ACTIONS(4166),
    [sym__simple_regex] = ACTIONS(4168),
    [sym__simple_word_list] = ACTIONS(4170),
    [sym__string_beginning] = ACTIONS(8170),
    [sym__symbol_beginning] = ACTIONS(4174),
    [sym__subshell_beginning] = ACTIONS(4176),
    [sym__regex_beginning] = ACTIONS(4178),
    [sym__word_list_beginning] = ACTIONS(4180),
    [sym_heredoc_beginning] = ACTIONS(4182),
    [sym__unary_minus] = ACTIONS(4190),
    [anon_sym_LBRACE] = ACTIONS(8172),
    [anon_sym_def] = ACTIONS(8174),
    [anon_sym_LPAREN] = ACTIONS(4196),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8176),
    [anon_sym_module] = ACTIONS(8178),
    [anon_sym_return] = ACTIONS(8180),
    [anon_sym_yield] = ACTIONS(8182),
    [anon_sym_break] = ACTIONS(8184),
    [anon_sym_next] = ACTIONS(8186),
    [anon_sym_redo] = ACTIONS(8188),
    [anon_sym_retry] = ACTIONS(8190),
    [anon_sym_if] = ACTIONS(8192),
    [anon_sym_unless] = ACTIONS(8194),
    [anon_sym_while] = ACTIONS(8196),
    [anon_sym_until] = ACTIONS(8198),
    [anon_sym_for] = ACTIONS(8200),
    [anon_sym_case] = ACTIONS(8202),
    [anon_sym_begin] = ACTIONS(8204),
    [anon_sym_PLUS] = ACTIONS(8206),
    [anon_sym_defined_QMARK] = ACTIONS(4222),
    [anon_sym_not] = ACTIONS(8208),
    [anon_sym_BANG] = ACTIONS(4228),
    [anon_sym_TILDE] = ACTIONS(4228),
    [sym_constant] = ACTIONS(7946),
    [sym_identifier] = ACTIONS(7946),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_false] = ACTIONS(4074),
    [anon_sym_nil] = ACTIONS(4076),
    [anon_sym_self] = ACTIONS(7948),
    [anon_sym_super] = ACTIONS(7950),
    [anon_sym_true] = ACTIONS(4072),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4232),
    [sym_float] = ACTIONS(4234),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4236),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4238),
    [sym_keyword__LINE__] = ACTIONS(4238),
    [sym_keyword__ENCODING__] = ACTIONS(4238),
    [sym__character_literal] = ACTIONS(8210),
    [anon_sym_LBRACK] = ACTIONS(4242),
    [anon_sym_DASH_GT] = ACTIONS(4244),
  },
  [5893] = {
    [sym_method] = STATE(2839),
    [sym_singleton_method] = STATE(2839),
    [sym_class] = STATE(2839),
    [sym_singleton_class] = STATE(2839),
    [sym_module] = STATE(2839),
    [sym_return] = STATE(2839),
    [sym_yield] = STATE(2839),
    [sym_break] = STATE(2839),
    [sym_next] = STATE(2839),
    [sym_redo] = STATE(2839),
    [sym_retry] = STATE(2839),
    [sym_while] = STATE(2839),
    [sym_until] = STATE(2839),
    [sym_for] = STATE(2839),
    [sym_case] = STATE(2839),
    [sym_if] = STATE(2839),
    [sym_unless] = STATE(2839),
    [sym_begin] = STATE(2839),
    [sym__arg] = STATE(9134),
    [sym__primary] = STATE(2874),
    [sym_parenthesized_statements] = STATE(2839),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2875),
    [sym_call] = STATE(2875),
    [sym_method_call] = STATE(2764),
    [sym_assignment] = STATE(2881),
    [sym_operator_assignment] = STATE(2881),
    [sym_conditional] = STATE(2881),
    [sym_range] = STATE(2881),
    [sym_binary] = STATE(2881),
    [sym_unary] = STATE(2881),
    [sym_left_assignment_list] = STATE(2882),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2883),
    [sym__variable] = STATE(2875),
    [sym_symbol] = STATE(2839),
    [sym_complex] = STATE(2839),
    [sym_rational] = STATE(2839),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2839),
    [sym_string] = STATE(5842),
    [sym_subshell] = STATE(2839),
    [sym_array] = STATE(2839),
    [sym_hash] = STATE(2839),
    [sym_regex] = STATE(2839),
    [sym_lambda] = STATE(2839),
    [sym__simple_string] = ACTIONS(8168),
    [sym__simple_symbol] = ACTIONS(4164),
    [sym__simple_subshell] = ACTIONS(4166),
    [sym__simple_regex] = ACTIONS(4168),
    [sym__simple_word_list] = ACTIONS(4170),
    [sym__string_beginning] = ACTIONS(8170),
    [sym__symbol_beginning] = ACTIONS(4174),
    [sym__subshell_beginning] = ACTIONS(4176),
    [sym__regex_beginning] = ACTIONS(4178),
    [sym__word_list_beginning] = ACTIONS(4180),
    [sym_heredoc_beginning] = ACTIONS(4182),
    [sym__unary_minus] = ACTIONS(4190),
    [anon_sym_LBRACE] = ACTIONS(8172),
    [anon_sym_def] = ACTIONS(8174),
    [anon_sym_LPAREN] = ACTIONS(4196),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8176),
    [anon_sym_module] = ACTIONS(8178),
    [anon_sym_return] = ACTIONS(8180),
    [anon_sym_yield] = ACTIONS(8182),
    [anon_sym_break] = ACTIONS(8184),
    [anon_sym_next] = ACTIONS(8186),
    [anon_sym_redo] = ACTIONS(8188),
    [anon_sym_retry] = ACTIONS(8190),
    [anon_sym_if] = ACTIONS(8192),
    [anon_sym_unless] = ACTIONS(8194),
    [anon_sym_while] = ACTIONS(8196),
    [anon_sym_until] = ACTIONS(8198),
    [anon_sym_for] = ACTIONS(8200),
    [anon_sym_case] = ACTIONS(8202),
    [anon_sym_begin] = ACTIONS(8204),
    [anon_sym_PLUS] = ACTIONS(8206),
    [anon_sym_defined_QMARK] = ACTIONS(4222),
    [anon_sym_not] = ACTIONS(8208),
    [anon_sym_BANG] = ACTIONS(4228),
    [anon_sym_TILDE] = ACTIONS(4228),
    [sym_constant] = ACTIONS(7946),
    [sym_identifier] = ACTIONS(7946),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_false] = ACTIONS(4074),
    [anon_sym_nil] = ACTIONS(4076),
    [anon_sym_self] = ACTIONS(7948),
    [anon_sym_super] = ACTIONS(7950),
    [anon_sym_true] = ACTIONS(4072),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4232),
    [sym_float] = ACTIONS(4234),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4236),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4238),
    [sym_keyword__LINE__] = ACTIONS(4238),
    [sym_keyword__ENCODING__] = ACTIONS(4238),
    [sym__character_literal] = ACTIONS(8210),
    [anon_sym_LBRACK] = ACTIONS(4242),
    [anon_sym_DASH_GT] = ACTIONS(4244),
  },
  [5894] = {
    [sym_method] = STATE(2839),
    [sym_singleton_method] = STATE(2839),
    [sym_class] = STATE(2839),
    [sym_singleton_class] = STATE(2839),
    [sym_module] = STATE(2839),
    [sym_return] = STATE(2839),
    [sym_yield] = STATE(2839),
    [sym_break] = STATE(2839),
    [sym_next] = STATE(2839),
    [sym_redo] = STATE(2839),
    [sym_retry] = STATE(2839),
    [sym_while] = STATE(2839),
    [sym_until] = STATE(2839),
    [sym_for] = STATE(2839),
    [sym_case] = STATE(2839),
    [sym_if] = STATE(2839),
    [sym_unless] = STATE(2839),
    [sym_begin] = STATE(2839),
    [sym__arg] = STATE(9135),
    [sym__primary] = STATE(2874),
    [sym_parenthesized_statements] = STATE(2839),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2875),
    [sym_call] = STATE(2875),
    [sym_method_call] = STATE(2764),
    [sym_assignment] = STATE(2881),
    [sym_operator_assignment] = STATE(2881),
    [sym_conditional] = STATE(2881),
    [sym_range] = STATE(2881),
    [sym_binary] = STATE(2881),
    [sym_unary] = STATE(2881),
    [sym_left_assignment_list] = STATE(2882),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2883),
    [sym__variable] = STATE(2875),
    [sym_symbol] = STATE(2839),
    [sym_complex] = STATE(2839),
    [sym_rational] = STATE(2839),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2839),
    [sym_string] = STATE(5842),
    [sym_subshell] = STATE(2839),
    [sym_array] = STATE(2839),
    [sym_hash] = STATE(2839),
    [sym_regex] = STATE(2839),
    [sym_lambda] = STATE(2839),
    [sym__simple_string] = ACTIONS(8168),
    [sym__simple_symbol] = ACTIONS(4164),
    [sym__simple_subshell] = ACTIONS(4166),
    [sym__simple_regex] = ACTIONS(4168),
    [sym__simple_word_list] = ACTIONS(4170),
    [sym__string_beginning] = ACTIONS(8170),
    [sym__symbol_beginning] = ACTIONS(4174),
    [sym__subshell_beginning] = ACTIONS(4176),
    [sym__regex_beginning] = ACTIONS(4178),
    [sym__word_list_beginning] = ACTIONS(4180),
    [sym_heredoc_beginning] = ACTIONS(4182),
    [sym__unary_minus] = ACTIONS(4190),
    [anon_sym_LBRACE] = ACTIONS(8172),
    [anon_sym_def] = ACTIONS(8174),
    [anon_sym_LPAREN] = ACTIONS(4196),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8176),
    [anon_sym_module] = ACTIONS(8178),
    [anon_sym_return] = ACTIONS(8180),
    [anon_sym_yield] = ACTIONS(8182),
    [anon_sym_break] = ACTIONS(8184),
    [anon_sym_next] = ACTIONS(8186),
    [anon_sym_redo] = ACTIONS(8188),
    [anon_sym_retry] = ACTIONS(8190),
    [anon_sym_if] = ACTIONS(8192),
    [anon_sym_unless] = ACTIONS(8194),
    [anon_sym_while] = ACTIONS(8196),
    [anon_sym_until] = ACTIONS(8198),
    [anon_sym_for] = ACTIONS(8200),
    [anon_sym_case] = ACTIONS(8202),
    [anon_sym_begin] = ACTIONS(8204),
    [anon_sym_PLUS] = ACTIONS(8206),
    [anon_sym_defined_QMARK] = ACTIONS(4222),
    [anon_sym_not] = ACTIONS(8208),
    [anon_sym_BANG] = ACTIONS(4228),
    [anon_sym_TILDE] = ACTIONS(4228),
    [sym_constant] = ACTIONS(7946),
    [sym_identifier] = ACTIONS(7946),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_false] = ACTIONS(4074),
    [anon_sym_nil] = ACTIONS(4076),
    [anon_sym_self] = ACTIONS(7948),
    [anon_sym_super] = ACTIONS(7950),
    [anon_sym_true] = ACTIONS(4072),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4232),
    [sym_float] = ACTIONS(4234),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4236),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4238),
    [sym_keyword__LINE__] = ACTIONS(4238),
    [sym_keyword__ENCODING__] = ACTIONS(4238),
    [sym__character_literal] = ACTIONS(8210),
    [anon_sym_LBRACK] = ACTIONS(4242),
    [anon_sym_DASH_GT] = ACTIONS(4244),
  },
  [5895] = {
    [sym_method] = STATE(2839),
    [sym_singleton_method] = STATE(2839),
    [sym_class] = STATE(2839),
    [sym_singleton_class] = STATE(2839),
    [sym_module] = STATE(2839),
    [sym_return] = STATE(2839),
    [sym_yield] = STATE(2839),
    [sym_break] = STATE(2839),
    [sym_next] = STATE(2839),
    [sym_redo] = STATE(2839),
    [sym_retry] = STATE(2839),
    [sym_while] = STATE(2839),
    [sym_until] = STATE(2839),
    [sym_for] = STATE(2839),
    [sym_case] = STATE(2839),
    [sym_if] = STATE(2839),
    [sym_unless] = STATE(2839),
    [sym_begin] = STATE(2839),
    [sym__arg] = STATE(9136),
    [sym__primary] = STATE(2874),
    [sym_parenthesized_statements] = STATE(2839),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2875),
    [sym_call] = STATE(2875),
    [sym_method_call] = STATE(2764),
    [sym_assignment] = STATE(2881),
    [sym_operator_assignment] = STATE(2881),
    [sym_conditional] = STATE(2881),
    [sym_range] = STATE(2881),
    [sym_binary] = STATE(2881),
    [sym_unary] = STATE(2881),
    [sym_left_assignment_list] = STATE(2882),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2883),
    [sym__variable] = STATE(2875),
    [sym_symbol] = STATE(2839),
    [sym_complex] = STATE(2839),
    [sym_rational] = STATE(2839),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2839),
    [sym_string] = STATE(5842),
    [sym_subshell] = STATE(2839),
    [sym_array] = STATE(2839),
    [sym_hash] = STATE(2839),
    [sym_regex] = STATE(2839),
    [sym_lambda] = STATE(2839),
    [sym__simple_string] = ACTIONS(8168),
    [sym__simple_symbol] = ACTIONS(4164),
    [sym__simple_subshell] = ACTIONS(4166),
    [sym__simple_regex] = ACTIONS(4168),
    [sym__simple_word_list] = ACTIONS(4170),
    [sym__string_beginning] = ACTIONS(8170),
    [sym__symbol_beginning] = ACTIONS(4174),
    [sym__subshell_beginning] = ACTIONS(4176),
    [sym__regex_beginning] = ACTIONS(4178),
    [sym__word_list_beginning] = ACTIONS(4180),
    [sym_heredoc_beginning] = ACTIONS(4182),
    [sym__unary_minus] = ACTIONS(4190),
    [anon_sym_LBRACE] = ACTIONS(8172),
    [anon_sym_def] = ACTIONS(8174),
    [anon_sym_LPAREN] = ACTIONS(4196),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8176),
    [anon_sym_module] = ACTIONS(8178),
    [anon_sym_return] = ACTIONS(8180),
    [anon_sym_yield] = ACTIONS(8182),
    [anon_sym_break] = ACTIONS(8184),
    [anon_sym_next] = ACTIONS(8186),
    [anon_sym_redo] = ACTIONS(8188),
    [anon_sym_retry] = ACTIONS(8190),
    [anon_sym_if] = ACTIONS(8192),
    [anon_sym_unless] = ACTIONS(8194),
    [anon_sym_while] = ACTIONS(8196),
    [anon_sym_until] = ACTIONS(8198),
    [anon_sym_for] = ACTIONS(8200),
    [anon_sym_case] = ACTIONS(8202),
    [anon_sym_begin] = ACTIONS(8204),
    [anon_sym_PLUS] = ACTIONS(8206),
    [anon_sym_defined_QMARK] = ACTIONS(4222),
    [anon_sym_not] = ACTIONS(8208),
    [anon_sym_BANG] = ACTIONS(4228),
    [anon_sym_TILDE] = ACTIONS(4228),
    [sym_constant] = ACTIONS(7946),
    [sym_identifier] = ACTIONS(7946),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_false] = ACTIONS(4074),
    [anon_sym_nil] = ACTIONS(4076),
    [anon_sym_self] = ACTIONS(7948),
    [anon_sym_super] = ACTIONS(7950),
    [anon_sym_true] = ACTIONS(4072),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4232),
    [sym_float] = ACTIONS(4234),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4236),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4238),
    [sym_keyword__LINE__] = ACTIONS(4238),
    [sym_keyword__ENCODING__] = ACTIONS(4238),
    [sym__character_literal] = ACTIONS(8210),
    [anon_sym_LBRACK] = ACTIONS(4242),
    [anon_sym_DASH_GT] = ACTIONS(4244),
  },
  [5896] = {
    [sym_method] = STATE(2839),
    [sym_singleton_method] = STATE(2839),
    [sym_class] = STATE(2839),
    [sym_singleton_class] = STATE(2839),
    [sym_module] = STATE(2839),
    [sym_return] = STATE(2839),
    [sym_yield] = STATE(2839),
    [sym_break] = STATE(2839),
    [sym_next] = STATE(2839),
    [sym_redo] = STATE(2839),
    [sym_retry] = STATE(2839),
    [sym_while] = STATE(2839),
    [sym_until] = STATE(2839),
    [sym_for] = STATE(2839),
    [sym_case] = STATE(2839),
    [sym_if] = STATE(2839),
    [sym_unless] = STATE(2839),
    [sym_begin] = STATE(2839),
    [sym__arg] = STATE(9137),
    [sym__primary] = STATE(2874),
    [sym_parenthesized_statements] = STATE(2839),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2875),
    [sym_call] = STATE(2875),
    [sym_method_call] = STATE(2764),
    [sym_assignment] = STATE(2881),
    [sym_operator_assignment] = STATE(2881),
    [sym_conditional] = STATE(2881),
    [sym_range] = STATE(2881),
    [sym_binary] = STATE(2881),
    [sym_unary] = STATE(2881),
    [sym_left_assignment_list] = STATE(2882),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2883),
    [sym__variable] = STATE(2875),
    [sym_symbol] = STATE(2839),
    [sym_complex] = STATE(2839),
    [sym_rational] = STATE(2839),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2839),
    [sym_string] = STATE(5842),
    [sym_subshell] = STATE(2839),
    [sym_array] = STATE(2839),
    [sym_hash] = STATE(2839),
    [sym_regex] = STATE(2839),
    [sym_lambda] = STATE(2839),
    [sym__simple_string] = ACTIONS(8168),
    [sym__simple_symbol] = ACTIONS(4164),
    [sym__simple_subshell] = ACTIONS(4166),
    [sym__simple_regex] = ACTIONS(4168),
    [sym__simple_word_list] = ACTIONS(4170),
    [sym__string_beginning] = ACTIONS(8170),
    [sym__symbol_beginning] = ACTIONS(4174),
    [sym__subshell_beginning] = ACTIONS(4176),
    [sym__regex_beginning] = ACTIONS(4178),
    [sym__word_list_beginning] = ACTIONS(4180),
    [sym_heredoc_beginning] = ACTIONS(4182),
    [sym__unary_minus] = ACTIONS(4190),
    [anon_sym_LBRACE] = ACTIONS(8172),
    [anon_sym_def] = ACTIONS(8174),
    [anon_sym_LPAREN] = ACTIONS(4196),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8176),
    [anon_sym_module] = ACTIONS(8178),
    [anon_sym_return] = ACTIONS(8180),
    [anon_sym_yield] = ACTIONS(8182),
    [anon_sym_break] = ACTIONS(8184),
    [anon_sym_next] = ACTIONS(8186),
    [anon_sym_redo] = ACTIONS(8188),
    [anon_sym_retry] = ACTIONS(8190),
    [anon_sym_if] = ACTIONS(8192),
    [anon_sym_unless] = ACTIONS(8194),
    [anon_sym_while] = ACTIONS(8196),
    [anon_sym_until] = ACTIONS(8198),
    [anon_sym_for] = ACTIONS(8200),
    [anon_sym_case] = ACTIONS(8202),
    [anon_sym_begin] = ACTIONS(8204),
    [anon_sym_PLUS] = ACTIONS(8206),
    [anon_sym_defined_QMARK] = ACTIONS(4222),
    [anon_sym_not] = ACTIONS(8208),
    [anon_sym_BANG] = ACTIONS(4228),
    [anon_sym_TILDE] = ACTIONS(4228),
    [sym_constant] = ACTIONS(7946),
    [sym_identifier] = ACTIONS(7946),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_false] = ACTIONS(4074),
    [anon_sym_nil] = ACTIONS(4076),
    [anon_sym_self] = ACTIONS(7948),
    [anon_sym_super] = ACTIONS(7950),
    [anon_sym_true] = ACTIONS(4072),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4232),
    [sym_float] = ACTIONS(4234),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4236),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4238),
    [sym_keyword__LINE__] = ACTIONS(4238),
    [sym_keyword__ENCODING__] = ACTIONS(4238),
    [sym__character_literal] = ACTIONS(8210),
    [anon_sym_LBRACK] = ACTIONS(4242),
    [anon_sym_DASH_GT] = ACTIONS(4244),
  },
  [5897] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(9138),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [5898] = {
    [sym_method] = STATE(2839),
    [sym_singleton_method] = STATE(2839),
    [sym_class] = STATE(2839),
    [sym_singleton_class] = STATE(2839),
    [sym_module] = STATE(2839),
    [sym_return] = STATE(2839),
    [sym_yield] = STATE(2839),
    [sym_break] = STATE(2839),
    [sym_next] = STATE(2839),
    [sym_redo] = STATE(2839),
    [sym_retry] = STATE(2839),
    [sym_while] = STATE(2839),
    [sym_until] = STATE(2839),
    [sym_for] = STATE(2839),
    [sym_case] = STATE(2839),
    [sym_if] = STATE(2839),
    [sym_unless] = STATE(2839),
    [sym_begin] = STATE(2839),
    [sym__arg] = STATE(9139),
    [sym__primary] = STATE(2874),
    [sym_parenthesized_statements] = STATE(2839),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2875),
    [sym_call] = STATE(2875),
    [sym_method_call] = STATE(2764),
    [sym_assignment] = STATE(2881),
    [sym_operator_assignment] = STATE(2881),
    [sym_conditional] = STATE(2881),
    [sym_range] = STATE(2881),
    [sym_binary] = STATE(2881),
    [sym_unary] = STATE(2881),
    [sym_left_assignment_list] = STATE(2882),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2883),
    [sym__variable] = STATE(2875),
    [sym_symbol] = STATE(2839),
    [sym_complex] = STATE(2839),
    [sym_rational] = STATE(2839),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2839),
    [sym_string] = STATE(5842),
    [sym_subshell] = STATE(2839),
    [sym_array] = STATE(2839),
    [sym_hash] = STATE(2839),
    [sym_regex] = STATE(2839),
    [sym_lambda] = STATE(2839),
    [sym__simple_string] = ACTIONS(8168),
    [sym__simple_symbol] = ACTIONS(4164),
    [sym__simple_subshell] = ACTIONS(4166),
    [sym__simple_regex] = ACTIONS(4168),
    [sym__simple_word_list] = ACTIONS(4170),
    [sym__string_beginning] = ACTIONS(8170),
    [sym__symbol_beginning] = ACTIONS(4174),
    [sym__subshell_beginning] = ACTIONS(4176),
    [sym__regex_beginning] = ACTIONS(4178),
    [sym__word_list_beginning] = ACTIONS(4180),
    [sym_heredoc_beginning] = ACTIONS(4182),
    [sym__unary_minus] = ACTIONS(4190),
    [anon_sym_LBRACE] = ACTIONS(8172),
    [anon_sym_def] = ACTIONS(8174),
    [anon_sym_LPAREN] = ACTIONS(4196),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8176),
    [anon_sym_module] = ACTIONS(8178),
    [anon_sym_return] = ACTIONS(8180),
    [anon_sym_yield] = ACTIONS(8182),
    [anon_sym_break] = ACTIONS(8184),
    [anon_sym_next] = ACTIONS(8186),
    [anon_sym_redo] = ACTIONS(8188),
    [anon_sym_retry] = ACTIONS(8190),
    [anon_sym_if] = ACTIONS(8192),
    [anon_sym_unless] = ACTIONS(8194),
    [anon_sym_while] = ACTIONS(8196),
    [anon_sym_until] = ACTIONS(8198),
    [anon_sym_for] = ACTIONS(8200),
    [anon_sym_case] = ACTIONS(8202),
    [anon_sym_begin] = ACTIONS(8204),
    [anon_sym_PLUS] = ACTIONS(8206),
    [anon_sym_defined_QMARK] = ACTIONS(4222),
    [anon_sym_not] = ACTIONS(8208),
    [anon_sym_BANG] = ACTIONS(4228),
    [anon_sym_TILDE] = ACTIONS(4228),
    [sym_constant] = ACTIONS(7946),
    [sym_identifier] = ACTIONS(7946),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_false] = ACTIONS(4074),
    [anon_sym_nil] = ACTIONS(4076),
    [anon_sym_self] = ACTIONS(7948),
    [anon_sym_super] = ACTIONS(7950),
    [anon_sym_true] = ACTIONS(4072),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4232),
    [sym_float] = ACTIONS(4234),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4236),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4238),
    [sym_keyword__LINE__] = ACTIONS(4238),
    [sym_keyword__ENCODING__] = ACTIONS(4238),
    [sym__character_literal] = ACTIONS(8210),
    [anon_sym_LBRACK] = ACTIONS(4242),
    [anon_sym_DASH_GT] = ACTIONS(4244),
  },
  [5899] = {
    [sym_method] = STATE(2839),
    [sym_singleton_method] = STATE(2839),
    [sym_class] = STATE(2839),
    [sym_singleton_class] = STATE(2839),
    [sym_module] = STATE(2839),
    [sym_return] = STATE(2839),
    [sym_yield] = STATE(2839),
    [sym_break] = STATE(2839),
    [sym_next] = STATE(2839),
    [sym_redo] = STATE(2839),
    [sym_retry] = STATE(2839),
    [sym_while] = STATE(2839),
    [sym_until] = STATE(2839),
    [sym_for] = STATE(2839),
    [sym_case] = STATE(2839),
    [sym_if] = STATE(2839),
    [sym_unless] = STATE(2839),
    [sym_begin] = STATE(2839),
    [sym__arg] = STATE(9140),
    [sym__primary] = STATE(2874),
    [sym_parenthesized_statements] = STATE(2839),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2875),
    [sym_call] = STATE(2875),
    [sym_method_call] = STATE(2764),
    [sym_assignment] = STATE(2881),
    [sym_operator_assignment] = STATE(2881),
    [sym_conditional] = STATE(2881),
    [sym_range] = STATE(2881),
    [sym_binary] = STATE(2881),
    [sym_unary] = STATE(2881),
    [sym_left_assignment_list] = STATE(2882),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2883),
    [sym__variable] = STATE(2875),
    [sym_symbol] = STATE(2839),
    [sym_complex] = STATE(2839),
    [sym_rational] = STATE(2839),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2839),
    [sym_string] = STATE(5842),
    [sym_subshell] = STATE(2839),
    [sym_array] = STATE(2839),
    [sym_hash] = STATE(2839),
    [sym_regex] = STATE(2839),
    [sym_lambda] = STATE(2839),
    [sym__simple_string] = ACTIONS(8168),
    [sym__simple_symbol] = ACTIONS(4164),
    [sym__simple_subshell] = ACTIONS(4166),
    [sym__simple_regex] = ACTIONS(4168),
    [sym__simple_word_list] = ACTIONS(4170),
    [sym__string_beginning] = ACTIONS(8170),
    [sym__symbol_beginning] = ACTIONS(4174),
    [sym__subshell_beginning] = ACTIONS(4176),
    [sym__regex_beginning] = ACTIONS(4178),
    [sym__word_list_beginning] = ACTIONS(4180),
    [sym_heredoc_beginning] = ACTIONS(4182),
    [sym__unary_minus] = ACTIONS(4190),
    [anon_sym_LBRACE] = ACTIONS(8172),
    [anon_sym_def] = ACTIONS(8174),
    [anon_sym_LPAREN] = ACTIONS(4196),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8176),
    [anon_sym_module] = ACTIONS(8178),
    [anon_sym_return] = ACTIONS(8180),
    [anon_sym_yield] = ACTIONS(8182),
    [anon_sym_break] = ACTIONS(8184),
    [anon_sym_next] = ACTIONS(8186),
    [anon_sym_redo] = ACTIONS(8188),
    [anon_sym_retry] = ACTIONS(8190),
    [anon_sym_if] = ACTIONS(8192),
    [anon_sym_unless] = ACTIONS(8194),
    [anon_sym_while] = ACTIONS(8196),
    [anon_sym_until] = ACTIONS(8198),
    [anon_sym_for] = ACTIONS(8200),
    [anon_sym_case] = ACTIONS(8202),
    [anon_sym_begin] = ACTIONS(8204),
    [anon_sym_PLUS] = ACTIONS(8206),
    [anon_sym_defined_QMARK] = ACTIONS(4222),
    [anon_sym_not] = ACTIONS(8208),
    [anon_sym_BANG] = ACTIONS(4228),
    [anon_sym_TILDE] = ACTIONS(4228),
    [sym_constant] = ACTIONS(7946),
    [sym_identifier] = ACTIONS(7946),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_false] = ACTIONS(4074),
    [anon_sym_nil] = ACTIONS(4076),
    [anon_sym_self] = ACTIONS(7948),
    [anon_sym_super] = ACTIONS(7950),
    [anon_sym_true] = ACTIONS(4072),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4232),
    [sym_float] = ACTIONS(4234),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4236),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4238),
    [sym_keyword__LINE__] = ACTIONS(4238),
    [sym_keyword__ENCODING__] = ACTIONS(4238),
    [sym__character_literal] = ACTIONS(8210),
    [anon_sym_LBRACK] = ACTIONS(4242),
    [anon_sym_DASH_GT] = ACTIONS(4244),
  },
  [5900] = {
    [sym_method] = STATE(2839),
    [sym_singleton_method] = STATE(2839),
    [sym_class] = STATE(2839),
    [sym_singleton_class] = STATE(2839),
    [sym_module] = STATE(2839),
    [sym_return] = STATE(2839),
    [sym_yield] = STATE(2839),
    [sym_break] = STATE(2839),
    [sym_next] = STATE(2839),
    [sym_redo] = STATE(2839),
    [sym_retry] = STATE(2839),
    [sym_while] = STATE(2839),
    [sym_until] = STATE(2839),
    [sym_for] = STATE(2839),
    [sym_case] = STATE(2839),
    [sym_if] = STATE(2839),
    [sym_unless] = STATE(2839),
    [sym_begin] = STATE(2839),
    [sym__arg] = STATE(9141),
    [sym__primary] = STATE(2874),
    [sym_parenthesized_statements] = STATE(2839),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2875),
    [sym_call] = STATE(2875),
    [sym_method_call] = STATE(2764),
    [sym_assignment] = STATE(2881),
    [sym_operator_assignment] = STATE(2881),
    [sym_conditional] = STATE(2881),
    [sym_range] = STATE(2881),
    [sym_binary] = STATE(2881),
    [sym_unary] = STATE(2881),
    [sym_left_assignment_list] = STATE(2882),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2883),
    [sym__variable] = STATE(2875),
    [sym_symbol] = STATE(2839),
    [sym_complex] = STATE(2839),
    [sym_rational] = STATE(2839),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2839),
    [sym_string] = STATE(5842),
    [sym_subshell] = STATE(2839),
    [sym_array] = STATE(2839),
    [sym_hash] = STATE(2839),
    [sym_regex] = STATE(2839),
    [sym_lambda] = STATE(2839),
    [sym__simple_string] = ACTIONS(8168),
    [sym__simple_symbol] = ACTIONS(4164),
    [sym__simple_subshell] = ACTIONS(4166),
    [sym__simple_regex] = ACTIONS(4168),
    [sym__simple_word_list] = ACTIONS(4170),
    [sym__string_beginning] = ACTIONS(8170),
    [sym__symbol_beginning] = ACTIONS(4174),
    [sym__subshell_beginning] = ACTIONS(4176),
    [sym__regex_beginning] = ACTIONS(4178),
    [sym__word_list_beginning] = ACTIONS(4180),
    [sym_heredoc_beginning] = ACTIONS(4182),
    [sym__unary_minus] = ACTIONS(4190),
    [anon_sym_LBRACE] = ACTIONS(8172),
    [anon_sym_def] = ACTIONS(8174),
    [anon_sym_LPAREN] = ACTIONS(4196),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8176),
    [anon_sym_module] = ACTIONS(8178),
    [anon_sym_return] = ACTIONS(8180),
    [anon_sym_yield] = ACTIONS(8182),
    [anon_sym_break] = ACTIONS(8184),
    [anon_sym_next] = ACTIONS(8186),
    [anon_sym_redo] = ACTIONS(8188),
    [anon_sym_retry] = ACTIONS(8190),
    [anon_sym_if] = ACTIONS(8192),
    [anon_sym_unless] = ACTIONS(8194),
    [anon_sym_while] = ACTIONS(8196),
    [anon_sym_until] = ACTIONS(8198),
    [anon_sym_for] = ACTIONS(8200),
    [anon_sym_case] = ACTIONS(8202),
    [anon_sym_begin] = ACTIONS(8204),
    [anon_sym_PLUS] = ACTIONS(8206),
    [anon_sym_defined_QMARK] = ACTIONS(4222),
    [anon_sym_not] = ACTIONS(8208),
    [anon_sym_BANG] = ACTIONS(4228),
    [anon_sym_TILDE] = ACTIONS(4228),
    [sym_constant] = ACTIONS(7946),
    [sym_identifier] = ACTIONS(7946),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_false] = ACTIONS(4074),
    [anon_sym_nil] = ACTIONS(4076),
    [anon_sym_self] = ACTIONS(7948),
    [anon_sym_super] = ACTIONS(7950),
    [anon_sym_true] = ACTIONS(4072),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4232),
    [sym_float] = ACTIONS(4234),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4236),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4238),
    [sym_keyword__LINE__] = ACTIONS(4238),
    [sym_keyword__ENCODING__] = ACTIONS(4238),
    [sym__character_literal] = ACTIONS(8210),
    [anon_sym_LBRACK] = ACTIONS(4242),
    [anon_sym_DASH_GT] = ACTIONS(4244),
  },
  [5901] = {
    [sym_method] = STATE(2839),
    [sym_singleton_method] = STATE(2839),
    [sym_class] = STATE(2839),
    [sym_singleton_class] = STATE(2839),
    [sym_module] = STATE(2839),
    [sym_return] = STATE(2839),
    [sym_yield] = STATE(2839),
    [sym_break] = STATE(2839),
    [sym_next] = STATE(2839),
    [sym_redo] = STATE(2839),
    [sym_retry] = STATE(2839),
    [sym_while] = STATE(2839),
    [sym_until] = STATE(2839),
    [sym_for] = STATE(2839),
    [sym_case] = STATE(2839),
    [sym_if] = STATE(2839),
    [sym_unless] = STATE(2839),
    [sym_begin] = STATE(2839),
    [sym__arg] = STATE(9142),
    [sym__primary] = STATE(2874),
    [sym_parenthesized_statements] = STATE(2839),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2875),
    [sym_call] = STATE(2875),
    [sym_method_call] = STATE(2764),
    [sym_assignment] = STATE(2881),
    [sym_operator_assignment] = STATE(2881),
    [sym_conditional] = STATE(2881),
    [sym_range] = STATE(2881),
    [sym_binary] = STATE(2881),
    [sym_unary] = STATE(2881),
    [sym_left_assignment_list] = STATE(2882),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2883),
    [sym__variable] = STATE(2875),
    [sym_symbol] = STATE(2839),
    [sym_complex] = STATE(2839),
    [sym_rational] = STATE(2839),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2839),
    [sym_string] = STATE(5842),
    [sym_subshell] = STATE(2839),
    [sym_array] = STATE(2839),
    [sym_hash] = STATE(2839),
    [sym_regex] = STATE(2839),
    [sym_lambda] = STATE(2839),
    [sym__simple_string] = ACTIONS(8168),
    [sym__simple_symbol] = ACTIONS(4164),
    [sym__simple_subshell] = ACTIONS(4166),
    [sym__simple_regex] = ACTIONS(4168),
    [sym__simple_word_list] = ACTIONS(4170),
    [sym__string_beginning] = ACTIONS(8170),
    [sym__symbol_beginning] = ACTIONS(4174),
    [sym__subshell_beginning] = ACTIONS(4176),
    [sym__regex_beginning] = ACTIONS(4178),
    [sym__word_list_beginning] = ACTIONS(4180),
    [sym_heredoc_beginning] = ACTIONS(4182),
    [sym__unary_minus] = ACTIONS(4190),
    [anon_sym_LBRACE] = ACTIONS(8172),
    [anon_sym_def] = ACTIONS(8174),
    [anon_sym_LPAREN] = ACTIONS(4196),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8176),
    [anon_sym_module] = ACTIONS(8178),
    [anon_sym_return] = ACTIONS(8180),
    [anon_sym_yield] = ACTIONS(8182),
    [anon_sym_break] = ACTIONS(8184),
    [anon_sym_next] = ACTIONS(8186),
    [anon_sym_redo] = ACTIONS(8188),
    [anon_sym_retry] = ACTIONS(8190),
    [anon_sym_if] = ACTIONS(8192),
    [anon_sym_unless] = ACTIONS(8194),
    [anon_sym_while] = ACTIONS(8196),
    [anon_sym_until] = ACTIONS(8198),
    [anon_sym_for] = ACTIONS(8200),
    [anon_sym_case] = ACTIONS(8202),
    [anon_sym_begin] = ACTIONS(8204),
    [anon_sym_PLUS] = ACTIONS(8206),
    [anon_sym_defined_QMARK] = ACTIONS(4222),
    [anon_sym_not] = ACTIONS(8208),
    [anon_sym_BANG] = ACTIONS(4228),
    [anon_sym_TILDE] = ACTIONS(4228),
    [sym_constant] = ACTIONS(7946),
    [sym_identifier] = ACTIONS(7946),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_false] = ACTIONS(4074),
    [anon_sym_nil] = ACTIONS(4076),
    [anon_sym_self] = ACTIONS(7948),
    [anon_sym_super] = ACTIONS(7950),
    [anon_sym_true] = ACTIONS(4072),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4232),
    [sym_float] = ACTIONS(4234),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4236),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4238),
    [sym_keyword__LINE__] = ACTIONS(4238),
    [sym_keyword__ENCODING__] = ACTIONS(4238),
    [sym__character_literal] = ACTIONS(8210),
    [anon_sym_LBRACK] = ACTIONS(4242),
    [anon_sym_DASH_GT] = ACTIONS(4244),
  },
  [5902] = {
    [sym_method] = STATE(2839),
    [sym_singleton_method] = STATE(2839),
    [sym_class] = STATE(2839),
    [sym_singleton_class] = STATE(2839),
    [sym_module] = STATE(2839),
    [sym_return] = STATE(2839),
    [sym_yield] = STATE(2839),
    [sym_break] = STATE(2839),
    [sym_next] = STATE(2839),
    [sym_redo] = STATE(2839),
    [sym_retry] = STATE(2839),
    [sym_while] = STATE(2839),
    [sym_until] = STATE(2839),
    [sym_for] = STATE(2839),
    [sym_case] = STATE(2839),
    [sym_if] = STATE(2839),
    [sym_unless] = STATE(2839),
    [sym_begin] = STATE(2839),
    [sym__arg] = STATE(9143),
    [sym__primary] = STATE(2874),
    [sym_parenthesized_statements] = STATE(2839),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2875),
    [sym_call] = STATE(2875),
    [sym_method_call] = STATE(2764),
    [sym_assignment] = STATE(2881),
    [sym_operator_assignment] = STATE(2881),
    [sym_conditional] = STATE(2881),
    [sym_range] = STATE(2881),
    [sym_binary] = STATE(2881),
    [sym_unary] = STATE(2881),
    [sym_left_assignment_list] = STATE(2882),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2883),
    [sym__variable] = STATE(2875),
    [sym_symbol] = STATE(2839),
    [sym_complex] = STATE(2839),
    [sym_rational] = STATE(2839),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2839),
    [sym_string] = STATE(5842),
    [sym_subshell] = STATE(2839),
    [sym_array] = STATE(2839),
    [sym_hash] = STATE(2839),
    [sym_regex] = STATE(2839),
    [sym_lambda] = STATE(2839),
    [sym__simple_string] = ACTIONS(8168),
    [sym__simple_symbol] = ACTIONS(4164),
    [sym__simple_subshell] = ACTIONS(4166),
    [sym__simple_regex] = ACTIONS(4168),
    [sym__simple_word_list] = ACTIONS(4170),
    [sym__string_beginning] = ACTIONS(8170),
    [sym__symbol_beginning] = ACTIONS(4174),
    [sym__subshell_beginning] = ACTIONS(4176),
    [sym__regex_beginning] = ACTIONS(4178),
    [sym__word_list_beginning] = ACTIONS(4180),
    [sym_heredoc_beginning] = ACTIONS(4182),
    [sym__unary_minus] = ACTIONS(4190),
    [anon_sym_LBRACE] = ACTIONS(8172),
    [anon_sym_def] = ACTIONS(8174),
    [anon_sym_LPAREN] = ACTIONS(4196),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8176),
    [anon_sym_module] = ACTIONS(8178),
    [anon_sym_return] = ACTIONS(8180),
    [anon_sym_yield] = ACTIONS(8182),
    [anon_sym_break] = ACTIONS(8184),
    [anon_sym_next] = ACTIONS(8186),
    [anon_sym_redo] = ACTIONS(8188),
    [anon_sym_retry] = ACTIONS(8190),
    [anon_sym_if] = ACTIONS(8192),
    [anon_sym_unless] = ACTIONS(8194),
    [anon_sym_while] = ACTIONS(8196),
    [anon_sym_until] = ACTIONS(8198),
    [anon_sym_for] = ACTIONS(8200),
    [anon_sym_case] = ACTIONS(8202),
    [anon_sym_begin] = ACTIONS(8204),
    [anon_sym_PLUS] = ACTIONS(8206),
    [anon_sym_defined_QMARK] = ACTIONS(4222),
    [anon_sym_not] = ACTIONS(8208),
    [anon_sym_BANG] = ACTIONS(4228),
    [anon_sym_TILDE] = ACTIONS(4228),
    [sym_constant] = ACTIONS(7946),
    [sym_identifier] = ACTIONS(7946),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_false] = ACTIONS(4074),
    [anon_sym_nil] = ACTIONS(4076),
    [anon_sym_self] = ACTIONS(7948),
    [anon_sym_super] = ACTIONS(7950),
    [anon_sym_true] = ACTIONS(4072),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4232),
    [sym_float] = ACTIONS(4234),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4236),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4238),
    [sym_keyword__LINE__] = ACTIONS(4238),
    [sym_keyword__ENCODING__] = ACTIONS(4238),
    [sym__character_literal] = ACTIONS(8210),
    [anon_sym_LBRACK] = ACTIONS(4242),
    [anon_sym_DASH_GT] = ACTIONS(4244),
  },
  [5903] = {
    [sym_do_block] = STATE(8965),
    [sym_block] = STATE(8965),
    [sym__simple_heredoc_body] = ACTIONS(3346),
    [sym__heredoc_body_beginning] = ACTIONS(3346),
    [sym__heredoc_body_middle] = ACTIONS(3346),
    [sym__heredoc_body_end] = ACTIONS(3346),
    [sym__element_reference_left_bracket] = ACTIONS(3346),
    [sym__scope_double_colon] = ACTIONS(3346),
    [sym__binary_minus] = ACTIONS(3346),
    [sym__binary_star] = ACTIONS(3346),
    [anon_sym_LBRACE] = ACTIONS(8234),
    [anon_sym_DOT] = ACTIONS(3350),
    [anon_sym_COMMA] = ACTIONS(3346),
    [anon_sym_PIPE] = ACTIONS(3350),
    [anon_sym_STAR_STAR] = ACTIONS(3350),
    [anon_sym_AMP] = ACTIONS(3350),
    [anon_sym_EQ] = ACTIONS(3350),
    [anon_sym_LT] = ACTIONS(3350),
    [anon_sym_if] = ACTIONS(3346),
    [anon_sym_unless] = ACTIONS(3346),
    [anon_sym_while] = ACTIONS(3346),
    [anon_sym_until] = ACTIONS(3346),
    [anon_sym_rescue] = ACTIONS(3346),
    [anon_sym_do] = ACTIONS(3346),
    [anon_sym_EQ_GT] = ACTIONS(3346),
    [anon_sym_AMP_DOT] = ACTIONS(3346),
    [anon_sym_PLUS_EQ] = ACTIONS(3346),
    [anon_sym_DASH_EQ] = ACTIONS(3346),
    [anon_sym_STAR_EQ] = ACTIONS(3346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3346),
    [anon_sym_SLASH_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3346),
    [anon_sym_AMP_EQ] = ACTIONS(3346),
    [anon_sym_PERCENT_EQ] = ACTIONS(3346),
    [anon_sym_GT_GT_EQ] = ACTIONS(3346),
    [anon_sym_LT_LT_EQ] = ACTIONS(3346),
    [anon_sym_CARET_EQ] = ACTIONS(3346),
    [anon_sym_QMARK] = ACTIONS(3346),
    [anon_sym_DOT_DOT] = ACTIONS(3350),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3346),
    [anon_sym_and] = ACTIONS(3346),
    [anon_sym_or] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE] = ACTIONS(3350),
    [anon_sym_AMP_AMP] = ACTIONS(3350),
    [anon_sym_LT_LT] = ACTIONS(3350),
    [anon_sym_GT_GT] = ACTIONS(3350),
    [anon_sym_EQ_EQ] = ACTIONS(3350),
    [anon_sym_BANG_EQ] = ACTIONS(3346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3346),
    [anon_sym_LT_EQ_GT] = ACTIONS(3346),
    [anon_sym_EQ_TILDE] = ACTIONS(3346),
    [anon_sym_BANG_TILDE] = ACTIONS(3346),
    [anon_sym_LT_EQ] = ACTIONS(3350),
    [anon_sym_GT] = ACTIONS(3350),
    [anon_sym_GT_EQ] = ACTIONS(3346),
    [anon_sym_CARET] = ACTIONS(3350),
    [anon_sym_PLUS] = ACTIONS(3350),
    [anon_sym_SLASH] = ACTIONS(3350),
    [anon_sym_PERCENT] = ACTIONS(3350),
    [sym_comment] = ACTIONS(256),
  },
  [5904] = {
    [sym__statements] = STATE(5844),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(5845),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(841),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(12012),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_PIPE] = ACTIONS(3048),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5905] = {
    [sym__statements] = STATE(5870),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(5871),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1981),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(5872),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(3076),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(3078),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(3080),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(8224),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(3086),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [5906] = {
    [sym__heredoc_body_middle] = ACTIONS(7290),
    [sym__heredoc_body_end] = ACTIONS(7290),
    [sym__element_reference_left_bracket] = ACTIONS(7290),
    [sym__scope_double_colon] = ACTIONS(7290),
    [sym__binary_minus] = ACTIONS(7290),
    [sym__binary_star] = ACTIONS(7290),
    [anon_sym_DOT] = ACTIONS(7292),
    [anon_sym_COMMA] = ACTIONS(7290),
    [anon_sym_PIPE] = ACTIONS(7292),
    [anon_sym_STAR_STAR] = ACTIONS(7292),
    [anon_sym_AMP] = ACTIONS(7292),
    [anon_sym_EQ] = ACTIONS(7292),
    [anon_sym_LT] = ACTIONS(7292),
    [anon_sym_if] = ACTIONS(7290),
    [anon_sym_unless] = ACTIONS(7290),
    [anon_sym_while] = ACTIONS(7290),
    [anon_sym_until] = ACTIONS(7290),
    [anon_sym_rescue] = ACTIONS(7290),
    [anon_sym_AMP_DOT] = ACTIONS(7290),
    [anon_sym_PLUS_EQ] = ACTIONS(7290),
    [anon_sym_DASH_EQ] = ACTIONS(7290),
    [anon_sym_STAR_EQ] = ACTIONS(7290),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7290),
    [anon_sym_SLASH_EQ] = ACTIONS(7290),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7290),
    [anon_sym_PIPE_EQ] = ACTIONS(7290),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7290),
    [anon_sym_AMP_EQ] = ACTIONS(7290),
    [anon_sym_PERCENT_EQ] = ACTIONS(7290),
    [anon_sym_GT_GT_EQ] = ACTIONS(7290),
    [anon_sym_LT_LT_EQ] = ACTIONS(7290),
    [anon_sym_CARET_EQ] = ACTIONS(7290),
    [anon_sym_QMARK] = ACTIONS(7290),
    [anon_sym_DOT_DOT] = ACTIONS(7292),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7290),
    [anon_sym_and] = ACTIONS(7290),
    [anon_sym_or] = ACTIONS(7290),
    [anon_sym_PIPE_PIPE] = ACTIONS(7292),
    [anon_sym_AMP_AMP] = ACTIONS(7292),
    [anon_sym_LT_LT] = ACTIONS(7292),
    [anon_sym_GT_GT] = ACTIONS(7292),
    [anon_sym_EQ_EQ] = ACTIONS(7292),
    [anon_sym_BANG_EQ] = ACTIONS(7290),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7290),
    [anon_sym_LT_EQ_GT] = ACTIONS(7290),
    [anon_sym_EQ_TILDE] = ACTIONS(7290),
    [anon_sym_BANG_TILDE] = ACTIONS(7290),
    [anon_sym_LT_EQ] = ACTIONS(7292),
    [anon_sym_GT] = ACTIONS(7292),
    [anon_sym_GT_EQ] = ACTIONS(7290),
    [anon_sym_CARET] = ACTIONS(7292),
    [anon_sym_PLUS] = ACTIONS(7292),
    [anon_sym_SLASH] = ACTIONS(7292),
    [anon_sym_PERCENT] = ACTIONS(7292),
    [sym_comment] = ACTIONS(256),
  },
  [5907] = {
    [sym__simple_heredoc_body] = ACTIONS(1398),
    [sym__heredoc_body_beginning] = ACTIONS(1398),
    [sym__heredoc_body_middle] = ACTIONS(1398),
    [sym__heredoc_body_end] = ACTIONS(1398),
    [sym__element_reference_left_bracket] = ACTIONS(1398),
    [sym__scope_double_colon] = ACTIONS(1398),
    [sym__binary_minus] = ACTIONS(1398),
    [sym__binary_star] = ACTIONS(1398),
    [anon_sym_LBRACE] = ACTIONS(1398),
    [anon_sym_DOT] = ACTIONS(2666),
    [anon_sym_COMMA] = ACTIONS(1398),
    [anon_sym_PIPE] = ACTIONS(2666),
    [anon_sym_STAR_STAR] = ACTIONS(2666),
    [anon_sym_AMP] = ACTIONS(2666),
    [anon_sym_EQ] = ACTIONS(2666),
    [anon_sym_LT] = ACTIONS(2666),
    [anon_sym_if] = ACTIONS(1398),
    [anon_sym_unless] = ACTIONS(1398),
    [anon_sym_while] = ACTIONS(1398),
    [anon_sym_until] = ACTIONS(1398),
    [anon_sym_rescue] = ACTIONS(1398),
    [anon_sym_do] = ACTIONS(1398),
    [anon_sym_AMP_DOT] = ACTIONS(1398),
    [anon_sym_PLUS_EQ] = ACTIONS(1398),
    [anon_sym_DASH_EQ] = ACTIONS(1398),
    [anon_sym_STAR_EQ] = ACTIONS(1398),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1398),
    [anon_sym_SLASH_EQ] = ACTIONS(1398),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1398),
    [anon_sym_PIPE_EQ] = ACTIONS(1398),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1398),
    [anon_sym_AMP_EQ] = ACTIONS(1398),
    [anon_sym_PERCENT_EQ] = ACTIONS(1398),
    [anon_sym_GT_GT_EQ] = ACTIONS(1398),
    [anon_sym_LT_LT_EQ] = ACTIONS(1398),
    [anon_sym_CARET_EQ] = ACTIONS(1398),
    [anon_sym_QMARK] = ACTIONS(1398),
    [anon_sym_DOT_DOT] = ACTIONS(2666),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1398),
    [anon_sym_and] = ACTIONS(1398),
    [anon_sym_or] = ACTIONS(1398),
    [anon_sym_PIPE_PIPE] = ACTIONS(2666),
    [anon_sym_AMP_AMP] = ACTIONS(2666),
    [anon_sym_LT_LT] = ACTIONS(2666),
    [anon_sym_GT_GT] = ACTIONS(2666),
    [anon_sym_EQ_EQ] = ACTIONS(2666),
    [anon_sym_BANG_EQ] = ACTIONS(1398),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1398),
    [anon_sym_LT_EQ_GT] = ACTIONS(1398),
    [anon_sym_EQ_TILDE] = ACTIONS(1398),
    [anon_sym_BANG_TILDE] = ACTIONS(1398),
    [anon_sym_LT_EQ] = ACTIONS(2666),
    [anon_sym_GT] = ACTIONS(2666),
    [anon_sym_GT_EQ] = ACTIONS(1398),
    [anon_sym_CARET] = ACTIONS(2666),
    [anon_sym_PLUS] = ACTIONS(2666),
    [anon_sym_SLASH] = ACTIONS(2666),
    [anon_sym_PERCENT] = ACTIONS(2666),
    [sym_comment] = ACTIONS(256),
  },
  [5908] = {
    [sym__statement] = STATE(9145),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [aux_sym_heredoc_end_repeat1] = STATE(9146),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [5909] = {
    [sym__simple_heredoc_body] = ACTIONS(5468),
    [sym__heredoc_body_beginning] = ACTIONS(5468),
    [sym__heredoc_body_middle] = ACTIONS(5468),
    [sym__heredoc_body_end] = ACTIONS(5468),
    [sym__element_reference_left_bracket] = ACTIONS(5468),
    [sym__scope_double_colon] = ACTIONS(5468),
    [sym__binary_minus] = ACTIONS(5468),
    [sym__binary_star] = ACTIONS(5468),
    [anon_sym_LBRACE] = ACTIONS(5468),
    [anon_sym_DOT] = ACTIONS(5470),
    [anon_sym_COMMA] = ACTIONS(5468),
    [anon_sym_PIPE] = ACTIONS(5470),
    [anon_sym_STAR_STAR] = ACTIONS(5470),
    [anon_sym_AMP] = ACTIONS(5470),
    [anon_sym_EQ] = ACTIONS(5470),
    [anon_sym_LT] = ACTIONS(5470),
    [anon_sym_if] = ACTIONS(5468),
    [anon_sym_unless] = ACTIONS(5468),
    [anon_sym_while] = ACTIONS(5468),
    [anon_sym_until] = ACTIONS(5468),
    [anon_sym_rescue] = ACTIONS(5468),
    [anon_sym_do] = ACTIONS(5468),
    [anon_sym_AMP_DOT] = ACTIONS(5468),
    [anon_sym_PLUS_EQ] = ACTIONS(5468),
    [anon_sym_DASH_EQ] = ACTIONS(5468),
    [anon_sym_STAR_EQ] = ACTIONS(5468),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5468),
    [anon_sym_SLASH_EQ] = ACTIONS(5468),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5468),
    [anon_sym_PIPE_EQ] = ACTIONS(5468),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5468),
    [anon_sym_AMP_EQ] = ACTIONS(5468),
    [anon_sym_PERCENT_EQ] = ACTIONS(5468),
    [anon_sym_GT_GT_EQ] = ACTIONS(5468),
    [anon_sym_LT_LT_EQ] = ACTIONS(5468),
    [anon_sym_CARET_EQ] = ACTIONS(5468),
    [anon_sym_QMARK] = ACTIONS(5468),
    [anon_sym_DOT_DOT] = ACTIONS(5470),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5468),
    [anon_sym_and] = ACTIONS(5468),
    [anon_sym_or] = ACTIONS(5468),
    [anon_sym_PIPE_PIPE] = ACTIONS(5470),
    [anon_sym_AMP_AMP] = ACTIONS(5470),
    [anon_sym_LT_LT] = ACTIONS(5470),
    [anon_sym_GT_GT] = ACTIONS(5470),
    [anon_sym_EQ_EQ] = ACTIONS(5470),
    [anon_sym_BANG_EQ] = ACTIONS(5468),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5468),
    [anon_sym_LT_EQ_GT] = ACTIONS(5468),
    [anon_sym_EQ_TILDE] = ACTIONS(5468),
    [anon_sym_BANG_TILDE] = ACTIONS(5468),
    [anon_sym_LT_EQ] = ACTIONS(5470),
    [anon_sym_GT] = ACTIONS(5470),
    [anon_sym_GT_EQ] = ACTIONS(5468),
    [anon_sym_CARET] = ACTIONS(5470),
    [anon_sym_PLUS] = ACTIONS(5470),
    [anon_sym_SLASH] = ACTIONS(5470),
    [anon_sym_PERCENT] = ACTIONS(5470),
    [sym_comment] = ACTIONS(256),
  },
  [5910] = {
    [sym_heredoc_end] = STATE(9147),
    [sym__simple_heredoc_body] = ACTIONS(8270),
    [sym__heredoc_body_beginning] = ACTIONS(8272),
    [sym__heredoc_body_middle] = ACTIONS(5472),
    [sym__heredoc_body_end] = ACTIONS(5472),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_LBRACE] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(5472),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_STAR_STAR] = ACTIONS(5474),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_EQ] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_if] = ACTIONS(5472),
    [anon_sym_unless] = ACTIONS(5472),
    [anon_sym_while] = ACTIONS(5472),
    [anon_sym_until] = ACTIONS(5472),
    [anon_sym_rescue] = ACTIONS(5472),
    [anon_sym_do] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_PLUS_EQ] = ACTIONS(5472),
    [anon_sym_DASH_EQ] = ACTIONS(5472),
    [anon_sym_STAR_EQ] = ACTIONS(5472),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5472),
    [anon_sym_SLASH_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5472),
    [anon_sym_AMP_EQ] = ACTIONS(5472),
    [anon_sym_PERCENT_EQ] = ACTIONS(5472),
    [anon_sym_GT_GT_EQ] = ACTIONS(5472),
    [anon_sym_LT_LT_EQ] = ACTIONS(5472),
    [anon_sym_CARET_EQ] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5474),
    [anon_sym_AMP_AMP] = ACTIONS(5474),
    [anon_sym_LT_LT] = ACTIONS(5474),
    [anon_sym_GT_GT] = ACTIONS(5474),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5474),
    [anon_sym_PLUS] = ACTIONS(5474),
    [anon_sym_SLASH] = ACTIONS(5474),
    [anon_sym_PERCENT] = ACTIONS(5474),
    [sym_comment] = ACTIONS(256),
  },
  [5911] = {
    [sym_method] = STATE(2839),
    [sym_singleton_method] = STATE(2839),
    [sym_class] = STATE(2839),
    [sym_singleton_class] = STATE(2839),
    [sym_module] = STATE(2839),
    [sym_return] = STATE(2839),
    [sym_yield] = STATE(2839),
    [sym_break] = STATE(2839),
    [sym_next] = STATE(2839),
    [sym_redo] = STATE(2839),
    [sym_retry] = STATE(2839),
    [sym_while] = STATE(2839),
    [sym_until] = STATE(2839),
    [sym_for] = STATE(2839),
    [sym_case] = STATE(2839),
    [sym_if] = STATE(2839),
    [sym_unless] = STATE(2839),
    [sym_begin] = STATE(2839),
    [sym__arg] = STATE(2873),
    [sym__primary] = STATE(2874),
    [sym_parenthesized_statements] = STATE(2839),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2875),
    [sym_call] = STATE(2875),
    [sym_method_call] = STATE(2764),
    [sym__argument] = STATE(9148),
    [sym_splat_argument] = STATE(2879),
    [sym_hash_splat_argument] = STATE(2879),
    [sym_block_argument] = STATE(2879),
    [sym_assignment] = STATE(2881),
    [sym_operator_assignment] = STATE(2881),
    [sym_conditional] = STATE(2881),
    [sym_range] = STATE(2881),
    [sym_binary] = STATE(2881),
    [sym_unary] = STATE(2881),
    [sym_left_assignment_list] = STATE(2882),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2883),
    [sym__variable] = STATE(2875),
    [sym_reserved_identifier] = STATE(2884),
    [sym_symbol] = STATE(2839),
    [sym_complex] = STATE(2839),
    [sym_rational] = STATE(2839),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2839),
    [sym_string] = STATE(2885),
    [sym_subshell] = STATE(2839),
    [sym_heredoc_end] = STATE(9149),
    [sym_array] = STATE(2839),
    [sym_hash] = STATE(2839),
    [sym_pair] = STATE(2879),
    [sym_regex] = STATE(2839),
    [sym_lambda] = STATE(2839),
    [sym__simple_string] = ACTIONS(4162),
    [sym__simple_symbol] = ACTIONS(4164),
    [sym__simple_subshell] = ACTIONS(4166),
    [sym__simple_regex] = ACTIONS(4168),
    [sym__simple_word_list] = ACTIONS(4170),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(4172),
    [sym__symbol_beginning] = ACTIONS(4174),
    [sym__subshell_beginning] = ACTIONS(4176),
    [sym__regex_beginning] = ACTIONS(4178),
    [sym__word_list_beginning] = ACTIONS(4180),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(4182),
    [sym__block_ampersand] = ACTIONS(4184),
    [sym__splat_star] = ACTIONS(4186),
    [sym__unary_minus] = ACTIONS(4190),
    [anon_sym_LBRACE] = ACTIONS(8172),
    [anon_sym_def] = ACTIONS(4194),
    [anon_sym_LPAREN] = ACTIONS(4196),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(12014),
    [anon_sym_class] = ACTIONS(4198),
    [anon_sym_module] = ACTIONS(4200),
    [anon_sym_return] = ACTIONS(4202),
    [anon_sym_yield] = ACTIONS(4204),
    [anon_sym_break] = ACTIONS(4206),
    [anon_sym_next] = ACTIONS(4208),
    [anon_sym_redo] = ACTIONS(4210),
    [anon_sym_retry] = ACTIONS(4212),
    [anon_sym_if] = ACTIONS(12016),
    [anon_sym_unless] = ACTIONS(12018),
    [anon_sym_while] = ACTIONS(12020),
    [anon_sym_until] = ACTIONS(12022),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(4214),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(4218),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(4220),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(8206),
    [anon_sym_defined_QMARK] = ACTIONS(4222),
    [anon_sym_not] = ACTIONS(4224),
    [anon_sym_BANG] = ACTIONS(4228),
    [anon_sym_TILDE] = ACTIONS(4228),
    [sym_constant] = ACTIONS(4230),
    [sym_identifier] = ACTIONS(4230),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(4056),
    [anon_sym_nil] = ACTIONS(4058),
    [anon_sym_self] = ACTIONS(4060),
    [anon_sym_super] = ACTIONS(4062),
    [anon_sym_true] = ACTIONS(4064),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4232),
    [sym_float] = ACTIONS(4234),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4236),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4238),
    [sym_keyword__LINE__] = ACTIONS(4238),
    [sym_keyword__ENCODING__] = ACTIONS(4238),
    [sym__character_literal] = ACTIONS(4240),
    [anon_sym_LBRACK] = ACTIONS(4242),
    [anon_sym_DASH_GT] = ACTIONS(4244),
  },
  [5912] = {
    [sym_heredoc_end] = STATE(5909),
    [aux_sym_argument_list_repeat2] = STATE(9151),
    [sym__simple_heredoc_body] = ACTIONS(8270),
    [sym__heredoc_body_beginning] = ACTIONS(8272),
    [sym__heredoc_body_middle] = ACTIONS(5472),
    [sym__heredoc_body_end] = ACTIONS(5472),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_LBRACE] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(12024),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_STAR_STAR] = ACTIONS(5474),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_EQ] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_if] = ACTIONS(5472),
    [anon_sym_unless] = ACTIONS(5472),
    [anon_sym_while] = ACTIONS(5472),
    [anon_sym_until] = ACTIONS(5472),
    [anon_sym_rescue] = ACTIONS(5472),
    [anon_sym_do] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_PLUS_EQ] = ACTIONS(5472),
    [anon_sym_DASH_EQ] = ACTIONS(5472),
    [anon_sym_STAR_EQ] = ACTIONS(5472),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5472),
    [anon_sym_SLASH_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5472),
    [anon_sym_AMP_EQ] = ACTIONS(5472),
    [anon_sym_PERCENT_EQ] = ACTIONS(5472),
    [anon_sym_GT_GT_EQ] = ACTIONS(5472),
    [anon_sym_LT_LT_EQ] = ACTIONS(5472),
    [anon_sym_CARET_EQ] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5474),
    [anon_sym_AMP_AMP] = ACTIONS(5474),
    [anon_sym_LT_LT] = ACTIONS(5474),
    [anon_sym_GT_GT] = ACTIONS(5474),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5474),
    [anon_sym_PLUS] = ACTIONS(5474),
    [anon_sym_SLASH] = ACTIONS(5474),
    [anon_sym_PERCENT] = ACTIONS(5474),
    [sym_comment] = ACTIONS(256),
  },
  [5913] = {
    [sym_method] = STATE(2839),
    [sym_singleton_method] = STATE(2839),
    [sym_class] = STATE(2839),
    [sym_singleton_class] = STATE(2839),
    [sym_module] = STATE(2839),
    [sym_return] = STATE(2839),
    [sym_yield] = STATE(2839),
    [sym_break] = STATE(2839),
    [sym_next] = STATE(2839),
    [sym_redo] = STATE(2839),
    [sym_retry] = STATE(2839),
    [sym_while] = STATE(2839),
    [sym_until] = STATE(2839),
    [sym_for] = STATE(2839),
    [sym_case] = STATE(2839),
    [sym_if] = STATE(2839),
    [sym_unless] = STATE(2839),
    [sym_begin] = STATE(2839),
    [sym__arg] = STATE(9152),
    [sym__primary] = STATE(2874),
    [sym_parenthesized_statements] = STATE(2839),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2875),
    [sym_call] = STATE(2875),
    [sym_method_call] = STATE(2764),
    [sym_splat_argument] = STATE(9153),
    [sym_assignment] = STATE(2881),
    [sym_operator_assignment] = STATE(2881),
    [sym_conditional] = STATE(2881),
    [sym_range] = STATE(2881),
    [sym_binary] = STATE(2881),
    [sym_unary] = STATE(2881),
    [sym_right_assignment_list] = STATE(9154),
    [sym__arg_or_splat_arg] = STATE(9155),
    [sym_left_assignment_list] = STATE(2882),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2883),
    [sym__variable] = STATE(2875),
    [sym_symbol] = STATE(2839),
    [sym_complex] = STATE(2839),
    [sym_rational] = STATE(2839),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2839),
    [sym_string] = STATE(5842),
    [sym_subshell] = STATE(2839),
    [sym_array] = STATE(2839),
    [sym_hash] = STATE(2839),
    [sym_regex] = STATE(2839),
    [sym_lambda] = STATE(2839),
    [sym__simple_string] = ACTIONS(8168),
    [sym__simple_symbol] = ACTIONS(4164),
    [sym__simple_subshell] = ACTIONS(4166),
    [sym__simple_regex] = ACTIONS(4168),
    [sym__simple_word_list] = ACTIONS(4170),
    [sym__string_beginning] = ACTIONS(8170),
    [sym__symbol_beginning] = ACTIONS(4174),
    [sym__subshell_beginning] = ACTIONS(4176),
    [sym__regex_beginning] = ACTIONS(4178),
    [sym__word_list_beginning] = ACTIONS(4180),
    [sym_heredoc_beginning] = ACTIONS(4182),
    [sym__splat_star] = ACTIONS(8024),
    [sym__unary_minus] = ACTIONS(4190),
    [anon_sym_LBRACE] = ACTIONS(8172),
    [anon_sym_def] = ACTIONS(8174),
    [anon_sym_LPAREN] = ACTIONS(4196),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8176),
    [anon_sym_module] = ACTIONS(8178),
    [anon_sym_return] = ACTIONS(8180),
    [anon_sym_yield] = ACTIONS(8182),
    [anon_sym_break] = ACTIONS(8184),
    [anon_sym_next] = ACTIONS(8186),
    [anon_sym_redo] = ACTIONS(8188),
    [anon_sym_retry] = ACTIONS(8190),
    [anon_sym_if] = ACTIONS(8192),
    [anon_sym_unless] = ACTIONS(8194),
    [anon_sym_while] = ACTIONS(8196),
    [anon_sym_until] = ACTIONS(8198),
    [anon_sym_for] = ACTIONS(8200),
    [anon_sym_case] = ACTIONS(8202),
    [anon_sym_begin] = ACTIONS(8204),
    [anon_sym_PLUS] = ACTIONS(8206),
    [anon_sym_defined_QMARK] = ACTIONS(4222),
    [anon_sym_not] = ACTIONS(8208),
    [anon_sym_BANG] = ACTIONS(4228),
    [anon_sym_TILDE] = ACTIONS(4228),
    [sym_constant] = ACTIONS(7946),
    [sym_identifier] = ACTIONS(7946),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_false] = ACTIONS(4074),
    [anon_sym_nil] = ACTIONS(4076),
    [anon_sym_self] = ACTIONS(7948),
    [anon_sym_super] = ACTIONS(7950),
    [anon_sym_true] = ACTIONS(4072),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4232),
    [sym_float] = ACTIONS(4234),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4236),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4238),
    [sym_keyword__LINE__] = ACTIONS(4238),
    [sym_keyword__ENCODING__] = ACTIONS(4238),
    [sym__character_literal] = ACTIONS(8210),
    [anon_sym_LBRACK] = ACTIONS(4242),
    [anon_sym_DASH_GT] = ACTIONS(4244),
  },
  [5914] = {
    [sym_method] = STATE(2839),
    [sym_singleton_method] = STATE(2839),
    [sym_class] = STATE(2839),
    [sym_singleton_class] = STATE(2839),
    [sym_module] = STATE(2839),
    [sym_return] = STATE(2839),
    [sym_yield] = STATE(2839),
    [sym_break] = STATE(2839),
    [sym_next] = STATE(2839),
    [sym_redo] = STATE(2839),
    [sym_retry] = STATE(2839),
    [sym_while] = STATE(2839),
    [sym_until] = STATE(2839),
    [sym_for] = STATE(2839),
    [sym_case] = STATE(2839),
    [sym_if] = STATE(2839),
    [sym_unless] = STATE(2839),
    [sym_begin] = STATE(2839),
    [sym__arg] = STATE(9156),
    [sym__primary] = STATE(2874),
    [sym_parenthesized_statements] = STATE(2839),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2875),
    [sym_call] = STATE(2875),
    [sym_method_call] = STATE(2764),
    [sym_assignment] = STATE(2881),
    [sym_operator_assignment] = STATE(2881),
    [sym_conditional] = STATE(2881),
    [sym_range] = STATE(2881),
    [sym_binary] = STATE(2881),
    [sym_unary] = STATE(2881),
    [sym_left_assignment_list] = STATE(2882),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2883),
    [sym__variable] = STATE(2875),
    [sym_symbol] = STATE(2839),
    [sym_complex] = STATE(2839),
    [sym_rational] = STATE(2839),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2839),
    [sym_string] = STATE(5842),
    [sym_subshell] = STATE(2839),
    [sym_array] = STATE(2839),
    [sym_hash] = STATE(2839),
    [sym_regex] = STATE(2839),
    [sym_lambda] = STATE(2839),
    [sym__simple_string] = ACTIONS(8168),
    [sym__simple_symbol] = ACTIONS(4164),
    [sym__simple_subshell] = ACTIONS(4166),
    [sym__simple_regex] = ACTIONS(4168),
    [sym__simple_word_list] = ACTIONS(4170),
    [sym__string_beginning] = ACTIONS(8170),
    [sym__symbol_beginning] = ACTIONS(4174),
    [sym__subshell_beginning] = ACTIONS(4176),
    [sym__regex_beginning] = ACTIONS(4178),
    [sym__word_list_beginning] = ACTIONS(4180),
    [sym_heredoc_beginning] = ACTIONS(4182),
    [sym__unary_minus] = ACTIONS(4190),
    [anon_sym_LBRACE] = ACTIONS(8172),
    [anon_sym_def] = ACTIONS(8174),
    [anon_sym_LPAREN] = ACTIONS(4196),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8176),
    [anon_sym_module] = ACTIONS(8178),
    [anon_sym_return] = ACTIONS(8180),
    [anon_sym_yield] = ACTIONS(8182),
    [anon_sym_break] = ACTIONS(8184),
    [anon_sym_next] = ACTIONS(8186),
    [anon_sym_redo] = ACTIONS(8188),
    [anon_sym_retry] = ACTIONS(8190),
    [anon_sym_if] = ACTIONS(8192),
    [anon_sym_unless] = ACTIONS(8194),
    [anon_sym_while] = ACTIONS(8196),
    [anon_sym_until] = ACTIONS(8198),
    [anon_sym_for] = ACTIONS(8200),
    [anon_sym_case] = ACTIONS(8202),
    [anon_sym_begin] = ACTIONS(8204),
    [anon_sym_PLUS] = ACTIONS(8206),
    [anon_sym_defined_QMARK] = ACTIONS(4222),
    [anon_sym_not] = ACTIONS(8208),
    [anon_sym_BANG] = ACTIONS(4228),
    [anon_sym_TILDE] = ACTIONS(4228),
    [sym_constant] = ACTIONS(7946),
    [sym_identifier] = ACTIONS(7946),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_false] = ACTIONS(4074),
    [anon_sym_nil] = ACTIONS(4076),
    [anon_sym_self] = ACTIONS(7948),
    [anon_sym_super] = ACTIONS(7950),
    [anon_sym_true] = ACTIONS(4072),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4232),
    [sym_float] = ACTIONS(4234),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4236),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4238),
    [sym_keyword__LINE__] = ACTIONS(4238),
    [sym_keyword__ENCODING__] = ACTIONS(4238),
    [sym__character_literal] = ACTIONS(8210),
    [anon_sym_LBRACK] = ACTIONS(4242),
    [anon_sym_DASH_GT] = ACTIONS(4244),
  },
  [5915] = {
    [sym_method] = STATE(5784),
    [sym_singleton_method] = STATE(5784),
    [sym_class] = STATE(5784),
    [sym_singleton_class] = STATE(5784),
    [sym_module] = STATE(5784),
    [sym_return] = STATE(5784),
    [sym_yield] = STATE(5784),
    [sym_break] = STATE(5784),
    [sym_next] = STATE(5784),
    [sym_redo] = STATE(5784),
    [sym_retry] = STATE(5784),
    [sym_while] = STATE(5784),
    [sym_until] = STATE(5784),
    [sym_for] = STATE(5784),
    [sym_case] = STATE(5784),
    [sym_if] = STATE(5784),
    [sym_unless] = STATE(5784),
    [sym_begin] = STATE(5784),
    [sym__arg] = STATE(9157),
    [sym__primary] = STATE(5812),
    [sym_parenthesized_statements] = STATE(5784),
    [sym_element_reference] = STATE(5606),
    [sym_scope_resolution] = STATE(5813),
    [sym_call] = STATE(5813),
    [sym_method_call] = STATE(5606),
    [sym_assignment] = STATE(5814),
    [sym_operator_assignment] = STATE(5814),
    [sym_conditional] = STATE(5814),
    [sym_range] = STATE(5814),
    [sym_binary] = STATE(5814),
    [sym_unary] = STATE(5814),
    [sym_left_assignment_list] = STATE(5815),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5816),
    [sym__variable] = STATE(5813),
    [sym_symbol] = STATE(5784),
    [sym_complex] = STATE(5784),
    [sym_rational] = STATE(5784),
    [sym_super] = STATE(5598),
    [sym_true] = STATE(5606),
    [sym_false] = STATE(5606),
    [sym_self] = STATE(5598),
    [sym_nil] = STATE(5606),
    [sym_chained_string] = STATE(5784),
    [sym_string] = STATE(5817),
    [sym_subshell] = STATE(5784),
    [sym_array] = STATE(5784),
    [sym_hash] = STATE(5784),
    [sym_regex] = STATE(5784),
    [sym_lambda] = STATE(5784),
    [sym__simple_string] = ACTIONS(8084),
    [sym__simple_symbol] = ACTIONS(8086),
    [sym__simple_subshell] = ACTIONS(8088),
    [sym__simple_regex] = ACTIONS(8090),
    [sym__simple_word_list] = ACTIONS(8092),
    [sym__string_beginning] = ACTIONS(8094),
    [sym__symbol_beginning] = ACTIONS(8096),
    [sym__subshell_beginning] = ACTIONS(8098),
    [sym__regex_beginning] = ACTIONS(8100),
    [sym__word_list_beginning] = ACTIONS(8102),
    [sym_heredoc_beginning] = ACTIONS(8104),
    [sym__unary_minus] = ACTIONS(8106),
    [anon_sym_LBRACE] = ACTIONS(8108),
    [anon_sym_def] = ACTIONS(8110),
    [anon_sym_LPAREN] = ACTIONS(8112),
    [anon_sym_COLON_COLON] = ACTIONS(7876),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8114),
    [anon_sym_module] = ACTIONS(8116),
    [anon_sym_return] = ACTIONS(8118),
    [anon_sym_yield] = ACTIONS(8120),
    [anon_sym_break] = ACTIONS(8122),
    [anon_sym_next] = ACTIONS(8124),
    [anon_sym_redo] = ACTIONS(8126),
    [anon_sym_retry] = ACTIONS(8128),
    [anon_sym_if] = ACTIONS(8130),
    [anon_sym_unless] = ACTIONS(8132),
    [anon_sym_while] = ACTIONS(8134),
    [anon_sym_until] = ACTIONS(8136),
    [anon_sym_for] = ACTIONS(8138),
    [anon_sym_case] = ACTIONS(8140),
    [anon_sym_begin] = ACTIONS(8142),
    [anon_sym_PLUS] = ACTIONS(8144),
    [anon_sym_defined_QMARK] = ACTIONS(8146),
    [anon_sym_not] = ACTIONS(8148),
    [anon_sym_BANG] = ACTIONS(8150),
    [anon_sym_TILDE] = ACTIONS(8150),
    [sym_constant] = ACTIONS(7916),
    [sym_identifier] = ACTIONS(7916),
    [sym_instance_variable] = ACTIONS(7918),
    [sym_class_variable] = ACTIONS(7918),
    [sym_global_variable] = ACTIONS(7918),
    [anon_sym_false] = ACTIONS(7920),
    [anon_sym_nil] = ACTIONS(7922),
    [anon_sym_self] = ACTIONS(7924),
    [anon_sym_super] = ACTIONS(7926),
    [anon_sym_true] = ACTIONS(7928),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8152),
    [sym_float] = ACTIONS(8154),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8156),
    [anon_sym_TRUE] = ACTIONS(7928),
    [anon_sym_FALSE] = ACTIONS(7920),
    [anon_sym_NIL] = ACTIONS(7922),
    [sym_keyword__FILE__] = ACTIONS(8158),
    [sym_keyword__LINE__] = ACTIONS(8158),
    [sym_keyword__ENCODING__] = ACTIONS(8158),
    [sym__character_literal] = ACTIONS(8160),
    [anon_sym_LBRACK] = ACTIONS(8162),
    [anon_sym_DASH_GT] = ACTIONS(8164),
  },
  [5916] = {
    [sym__simple_string] = ACTIONS(3382),
    [sym__simple_heredoc_body] = ACTIONS(3382),
    [sym__string_beginning] = ACTIONS(3382),
    [sym__heredoc_body_beginning] = ACTIONS(3382),
    [sym__heredoc_body_middle] = ACTIONS(3382),
    [sym__heredoc_body_end] = ACTIONS(3382),
    [sym__element_reference_left_bracket] = ACTIONS(3382),
    [sym__scope_double_colon] = ACTIONS(3382),
    [sym__binary_minus] = ACTIONS(3382),
    [sym__binary_star] = ACTIONS(3382),
    [anon_sym_LBRACE] = ACTIONS(3382),
    [anon_sym_DOT] = ACTIONS(3384),
    [anon_sym_COMMA] = ACTIONS(3382),
    [anon_sym_PIPE] = ACTIONS(3384),
    [anon_sym_STAR_STAR] = ACTIONS(3384),
    [anon_sym_AMP] = ACTIONS(3384),
    [anon_sym_EQ] = ACTIONS(3384),
    [anon_sym_LT] = ACTIONS(3384),
    [anon_sym_if] = ACTIONS(3382),
    [anon_sym_unless] = ACTIONS(3382),
    [anon_sym_while] = ACTIONS(3382),
    [anon_sym_until] = ACTIONS(3382),
    [anon_sym_rescue] = ACTIONS(3382),
    [anon_sym_do] = ACTIONS(3382),
    [anon_sym_EQ_GT] = ACTIONS(3382),
    [anon_sym_AMP_DOT] = ACTIONS(3382),
    [anon_sym_PLUS_EQ] = ACTIONS(3382),
    [anon_sym_DASH_EQ] = ACTIONS(3382),
    [anon_sym_STAR_EQ] = ACTIONS(3382),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3382),
    [anon_sym_SLASH_EQ] = ACTIONS(3382),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3382),
    [anon_sym_PIPE_EQ] = ACTIONS(3382),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3382),
    [anon_sym_AMP_EQ] = ACTIONS(3382),
    [anon_sym_PERCENT_EQ] = ACTIONS(3382),
    [anon_sym_GT_GT_EQ] = ACTIONS(3382),
    [anon_sym_LT_LT_EQ] = ACTIONS(3382),
    [anon_sym_CARET_EQ] = ACTIONS(3382),
    [anon_sym_QMARK] = ACTIONS(3384),
    [anon_sym_DOT_DOT] = ACTIONS(3384),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3382),
    [anon_sym_and] = ACTIONS(3382),
    [anon_sym_or] = ACTIONS(3382),
    [anon_sym_PIPE_PIPE] = ACTIONS(3384),
    [anon_sym_AMP_AMP] = ACTIONS(3384),
    [anon_sym_LT_LT] = ACTIONS(3384),
    [anon_sym_GT_GT] = ACTIONS(3384),
    [anon_sym_EQ_EQ] = ACTIONS(3384),
    [anon_sym_BANG_EQ] = ACTIONS(3382),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3382),
    [anon_sym_LT_EQ_GT] = ACTIONS(3382),
    [anon_sym_EQ_TILDE] = ACTIONS(3382),
    [anon_sym_BANG_TILDE] = ACTIONS(3382),
    [anon_sym_LT_EQ] = ACTIONS(3384),
    [anon_sym_GT] = ACTIONS(3384),
    [anon_sym_GT_EQ] = ACTIONS(3382),
    [anon_sym_CARET] = ACTIONS(3384),
    [anon_sym_PLUS] = ACTIONS(3384),
    [anon_sym_SLASH] = ACTIONS(3384),
    [anon_sym_PERCENT] = ACTIONS(3384),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(3384),
  },
  [5917] = {
    [sym_string] = STATE(9158),
    [sym__simple_string] = ACTIONS(8168),
    [sym__simple_heredoc_body] = ACTIONS(3386),
    [sym__string_beginning] = ACTIONS(8170),
    [sym__heredoc_body_beginning] = ACTIONS(3386),
    [sym__heredoc_body_middle] = ACTIONS(3386),
    [sym__heredoc_body_end] = ACTIONS(3386),
    [sym__element_reference_left_bracket] = ACTIONS(3386),
    [sym__scope_double_colon] = ACTIONS(3386),
    [sym__binary_minus] = ACTIONS(3386),
    [sym__binary_star] = ACTIONS(3386),
    [anon_sym_LBRACE] = ACTIONS(3386),
    [anon_sym_DOT] = ACTIONS(3388),
    [anon_sym_COMMA] = ACTIONS(3386),
    [anon_sym_PIPE] = ACTIONS(3388),
    [anon_sym_STAR_STAR] = ACTIONS(3388),
    [anon_sym_AMP] = ACTIONS(3388),
    [anon_sym_EQ] = ACTIONS(3388),
    [anon_sym_LT] = ACTIONS(3388),
    [anon_sym_if] = ACTIONS(3386),
    [anon_sym_unless] = ACTIONS(3386),
    [anon_sym_while] = ACTIONS(3386),
    [anon_sym_until] = ACTIONS(3386),
    [anon_sym_rescue] = ACTIONS(3386),
    [anon_sym_do] = ACTIONS(3386),
    [anon_sym_EQ_GT] = ACTIONS(3386),
    [anon_sym_AMP_DOT] = ACTIONS(3386),
    [anon_sym_PLUS_EQ] = ACTIONS(3386),
    [anon_sym_DASH_EQ] = ACTIONS(3386),
    [anon_sym_STAR_EQ] = ACTIONS(3386),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3386),
    [anon_sym_SLASH_EQ] = ACTIONS(3386),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3386),
    [anon_sym_PIPE_EQ] = ACTIONS(3386),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3386),
    [anon_sym_AMP_EQ] = ACTIONS(3386),
    [anon_sym_PERCENT_EQ] = ACTIONS(3386),
    [anon_sym_GT_GT_EQ] = ACTIONS(3386),
    [anon_sym_LT_LT_EQ] = ACTIONS(3386),
    [anon_sym_CARET_EQ] = ACTIONS(3386),
    [anon_sym_QMARK] = ACTIONS(3388),
    [anon_sym_DOT_DOT] = ACTIONS(3388),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3386),
    [anon_sym_and] = ACTIONS(3386),
    [anon_sym_or] = ACTIONS(3386),
    [anon_sym_PIPE_PIPE] = ACTIONS(3388),
    [anon_sym_AMP_AMP] = ACTIONS(3388),
    [anon_sym_LT_LT] = ACTIONS(3388),
    [anon_sym_GT_GT] = ACTIONS(3388),
    [anon_sym_EQ_EQ] = ACTIONS(3388),
    [anon_sym_BANG_EQ] = ACTIONS(3386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3386),
    [anon_sym_LT_EQ_GT] = ACTIONS(3386),
    [anon_sym_EQ_TILDE] = ACTIONS(3386),
    [anon_sym_BANG_TILDE] = ACTIONS(3386),
    [anon_sym_LT_EQ] = ACTIONS(3388),
    [anon_sym_GT] = ACTIONS(3388),
    [anon_sym_GT_EQ] = ACTIONS(3386),
    [anon_sym_CARET] = ACTIONS(3388),
    [anon_sym_PLUS] = ACTIONS(3388),
    [anon_sym_SLASH] = ACTIONS(3388),
    [anon_sym_PERCENT] = ACTIONS(3388),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(8210),
  },
  [5918] = {
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(9159),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(5927),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5928),
    [sym__variable] = STATE(907),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(8286),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(8288),
    [anon_sym_defined_QMARK] = ACTIONS(8290),
    [anon_sym_not] = ACTIONS(8292),
    [anon_sym_BANG] = ACTIONS(8294),
    [anon_sym_TILDE] = ACTIONS(8294),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [5919] = {
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(9160),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(5927),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5928),
    [sym__variable] = STATE(907),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(8286),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(8288),
    [anon_sym_defined_QMARK] = ACTIONS(8290),
    [anon_sym_not] = ACTIONS(8292),
    [anon_sym_BANG] = ACTIONS(8294),
    [anon_sym_TILDE] = ACTIONS(8294),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [5920] = {
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(9161),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(5927),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5928),
    [sym__variable] = STATE(907),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(8286),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(8288),
    [anon_sym_defined_QMARK] = ACTIONS(8290),
    [anon_sym_not] = ACTIONS(8292),
    [anon_sym_BANG] = ACTIONS(8294),
    [anon_sym_TILDE] = ACTIONS(8294),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [5921] = {
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(9162),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(5927),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5928),
    [sym__variable] = STATE(907),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(8286),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(8288),
    [anon_sym_defined_QMARK] = ACTIONS(8290),
    [anon_sym_not] = ACTIONS(8292),
    [anon_sym_BANG] = ACTIONS(8294),
    [anon_sym_TILDE] = ACTIONS(8294),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [5922] = {
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(2791),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(5927),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5928),
    [sym__variable] = STATE(907),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(8286),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(8288),
    [anon_sym_defined_QMARK] = ACTIONS(8290),
    [anon_sym_not] = ACTIONS(8292),
    [anon_sym_BANG] = ACTIONS(8294),
    [anon_sym_TILDE] = ACTIONS(8294),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [5923] = {
    [sym__heredoc_body_middle] = ACTIONS(6346),
    [sym__heredoc_body_end] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(12026),
    [sym__binary_star] = ACTIONS(12028),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(12030),
    [anon_sym_STAR_STAR] = ACTIONS(12032),
    [anon_sym_AMP] = ACTIONS(12034),
    [anon_sym_LT] = ACTIONS(12036),
    [anon_sym_if] = ACTIONS(6346),
    [anon_sym_unless] = ACTIONS(6346),
    [anon_sym_while] = ACTIONS(6346),
    [anon_sym_until] = ACTIONS(6346),
    [anon_sym_rescue] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(12038),
    [anon_sym_DOT_DOT] = ACTIONS(12040),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12042),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(12044),
    [anon_sym_AMP_AMP] = ACTIONS(12044),
    [anon_sym_LT_LT] = ACTIONS(12046),
    [anon_sym_GT_GT] = ACTIONS(12046),
    [anon_sym_EQ_EQ] = ACTIONS(12048),
    [anon_sym_BANG_EQ] = ACTIONS(12044),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12044),
    [anon_sym_LT_EQ_GT] = ACTIONS(12044),
    [anon_sym_EQ_TILDE] = ACTIONS(12044),
    [anon_sym_BANG_TILDE] = ACTIONS(12044),
    [anon_sym_LT_EQ] = ACTIONS(12036),
    [anon_sym_GT] = ACTIONS(12036),
    [anon_sym_GT_EQ] = ACTIONS(12050),
    [anon_sym_CARET] = ACTIONS(12052),
    [anon_sym_PLUS] = ACTIONS(12054),
    [anon_sym_SLASH] = ACTIONS(12032),
    [anon_sym_PERCENT] = ACTIONS(12032),
    [sym_comment] = ACTIONS(110),
  },
  [5924] = {
    [sym__heredoc_body_middle] = ACTIONS(6346),
    [sym__heredoc_body_end] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(6346),
    [sym__binary_star] = ACTIONS(6346),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(7328),
    [anon_sym_STAR_STAR] = ACTIONS(6346),
    [anon_sym_AMP] = ACTIONS(7328),
    [anon_sym_LT] = ACTIONS(7328),
    [anon_sym_if] = ACTIONS(6346),
    [anon_sym_unless] = ACTIONS(6346),
    [anon_sym_while] = ACTIONS(6346),
    [anon_sym_until] = ACTIONS(6346),
    [anon_sym_rescue] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(6346),
    [anon_sym_DOT_DOT] = ACTIONS(7328),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6346),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(6346),
    [anon_sym_AMP_AMP] = ACTIONS(6346),
    [anon_sym_LT_LT] = ACTIONS(6346),
    [anon_sym_GT_GT] = ACTIONS(6346),
    [anon_sym_EQ_EQ] = ACTIONS(7328),
    [anon_sym_BANG_EQ] = ACTIONS(6346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6346),
    [anon_sym_LT_EQ_GT] = ACTIONS(6346),
    [anon_sym_EQ_TILDE] = ACTIONS(6346),
    [anon_sym_BANG_TILDE] = ACTIONS(6346),
    [anon_sym_LT_EQ] = ACTIONS(7328),
    [anon_sym_GT] = ACTIONS(7328),
    [anon_sym_GT_EQ] = ACTIONS(6346),
    [anon_sym_CARET] = ACTIONS(6346),
    [anon_sym_PLUS] = ACTIONS(6346),
    [anon_sym_SLASH] = ACTIONS(6346),
    [anon_sym_PERCENT] = ACTIONS(6346),
    [sym_comment] = ACTIONS(110),
  },
  [5925] = {
    [sym__heredoc_body_middle] = ACTIONS(7330),
    [sym__heredoc_body_end] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_if] = ACTIONS(7330),
    [anon_sym_unless] = ACTIONS(7330),
    [anon_sym_while] = ACTIONS(7330),
    [anon_sym_until] = ACTIONS(7330),
    [anon_sym_rescue] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [5926] = {
    [aux_sym_exceptions_repeat1] = STATE(9176),
    [sym__heredoc_body_middle] = ACTIONS(7330),
    [sym__heredoc_body_end] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_COMMA] = ACTIONS(12056),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_if] = ACTIONS(7330),
    [anon_sym_unless] = ACTIONS(7330),
    [anon_sym_while] = ACTIONS(7330),
    [anon_sym_until] = ACTIONS(7330),
    [anon_sym_rescue] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [5927] = {
    [anon_sym_EQ] = ACTIONS(12058),
    [sym_comment] = ACTIONS(256),
  },
  [5928] = {
    [sym__heredoc_body_middle] = ACTIONS(250),
    [sym__heredoc_body_end] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(12060),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(12062),
    [anon_sym_DASH_EQ] = ACTIONS(12062),
    [anon_sym_STAR_EQ] = ACTIONS(12062),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(12062),
    [anon_sym_SLASH_EQ] = ACTIONS(12062),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(12062),
    [anon_sym_PIPE_EQ] = ACTIONS(12062),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(12062),
    [anon_sym_AMP_EQ] = ACTIONS(12062),
    [anon_sym_PERCENT_EQ] = ACTIONS(12062),
    [anon_sym_GT_GT_EQ] = ACTIONS(12062),
    [anon_sym_LT_LT_EQ] = ACTIONS(12062),
    [anon_sym_CARET_EQ] = ACTIONS(12062),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [5929] = {
    [sym__heredoc_body_middle] = ACTIONS(7344),
    [sym__heredoc_body_end] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(4122),
    [sym__binary_star] = ACTIONS(4124),
    [anon_sym_PIPE] = ACTIONS(4126),
    [anon_sym_STAR_STAR] = ACTIONS(4128),
    [anon_sym_AMP] = ACTIONS(4130),
    [anon_sym_LT] = ACTIONS(4132),
    [anon_sym_if] = ACTIONS(7344),
    [anon_sym_unless] = ACTIONS(7344),
    [anon_sym_while] = ACTIONS(7344),
    [anon_sym_until] = ACTIONS(7344),
    [anon_sym_rescue] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(4134),
    [anon_sym_DOT_DOT] = ACTIONS(4136),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4138),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(4142),
    [anon_sym_AMP_AMP] = ACTIONS(4142),
    [anon_sym_LT_LT] = ACTIONS(4144),
    [anon_sym_GT_GT] = ACTIONS(4144),
    [anon_sym_EQ_EQ] = ACTIONS(4146),
    [anon_sym_BANG_EQ] = ACTIONS(4142),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4142),
    [anon_sym_LT_EQ_GT] = ACTIONS(4142),
    [anon_sym_EQ_TILDE] = ACTIONS(4142),
    [anon_sym_BANG_TILDE] = ACTIONS(4142),
    [anon_sym_LT_EQ] = ACTIONS(4132),
    [anon_sym_GT] = ACTIONS(4132),
    [anon_sym_GT_EQ] = ACTIONS(4148),
    [anon_sym_CARET] = ACTIONS(4150),
    [anon_sym_PLUS] = ACTIONS(4152),
    [anon_sym_SLASH] = ACTIONS(4128),
    [anon_sym_PERCENT] = ACTIONS(4128),
    [sym_comment] = ACTIONS(110),
  },
  [5930] = {
    [sym__simple_string] = ACTIONS(7346),
    [sym__string_beginning] = ACTIONS(7346),
    [sym__heredoc_body_middle] = ACTIONS(7346),
    [sym__heredoc_body_end] = ACTIONS(7346),
    [sym__element_reference_left_bracket] = ACTIONS(7346),
    [sym__scope_double_colon] = ACTIONS(7346),
    [sym__binary_minus] = ACTIONS(7346),
    [sym__binary_star] = ACTIONS(7346),
    [anon_sym_DOT] = ACTIONS(7348),
    [anon_sym_COMMA] = ACTIONS(7346),
    [anon_sym_PIPE] = ACTIONS(7348),
    [anon_sym_STAR_STAR] = ACTIONS(7346),
    [anon_sym_AMP] = ACTIONS(7348),
    [anon_sym_LT] = ACTIONS(7348),
    [anon_sym_if] = ACTIONS(7346),
    [anon_sym_unless] = ACTIONS(7346),
    [anon_sym_while] = ACTIONS(7346),
    [anon_sym_until] = ACTIONS(7346),
    [anon_sym_rescue] = ACTIONS(7346),
    [anon_sym_AMP_DOT] = ACTIONS(7346),
    [anon_sym_QMARK] = ACTIONS(7348),
    [anon_sym_DOT_DOT] = ACTIONS(7348),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7346),
    [anon_sym_and] = ACTIONS(7346),
    [anon_sym_or] = ACTIONS(7346),
    [anon_sym_PIPE_PIPE] = ACTIONS(7346),
    [anon_sym_AMP_AMP] = ACTIONS(7346),
    [anon_sym_LT_LT] = ACTIONS(7346),
    [anon_sym_GT_GT] = ACTIONS(7346),
    [anon_sym_EQ_EQ] = ACTIONS(7348),
    [anon_sym_BANG_EQ] = ACTIONS(7346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7346),
    [anon_sym_LT_EQ_GT] = ACTIONS(7346),
    [anon_sym_EQ_TILDE] = ACTIONS(7346),
    [anon_sym_BANG_TILDE] = ACTIONS(7346),
    [anon_sym_LT_EQ] = ACTIONS(7348),
    [anon_sym_GT] = ACTIONS(7348),
    [anon_sym_GT_EQ] = ACTIONS(7346),
    [anon_sym_CARET] = ACTIONS(7346),
    [anon_sym_PLUS] = ACTIONS(7346),
    [anon_sym_SLASH] = ACTIONS(7346),
    [anon_sym_PERCENT] = ACTIONS(7346),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(7348),
  },
  [5931] = {
    [sym__simple_string] = ACTIONS(12064),
    [sym__simple_symbol] = ACTIONS(12064),
    [sym__simple_subshell] = ACTIONS(12064),
    [sym__simple_regex] = ACTIONS(12064),
    [sym__simple_word_list] = ACTIONS(12064),
    [sym__string_beginning] = ACTIONS(12064),
    [sym__symbol_beginning] = ACTIONS(12064),
    [sym__subshell_beginning] = ACTIONS(12064),
    [sym__regex_beginning] = ACTIONS(12064),
    [sym__word_list_beginning] = ACTIONS(12064),
    [sym_heredoc_beginning] = ACTIONS(12064),
    [sym__unary_minus] = ACTIONS(12064),
    [anon_sym_LBRACE] = ACTIONS(12064),
    [anon_sym_def] = ACTIONS(12066),
    [anon_sym_LPAREN] = ACTIONS(12064),
    [anon_sym_COLON_COLON] = ACTIONS(12064),
    [anon_sym_SEMI] = ACTIONS(12064),
    [anon_sym_STAR] = ACTIONS(12064),
    [anon_sym_class] = ACTIONS(12066),
    [anon_sym_module] = ACTIONS(12066),
    [anon_sym_return] = ACTIONS(12066),
    [anon_sym_yield] = ACTIONS(12066),
    [anon_sym_break] = ACTIONS(12066),
    [anon_sym_next] = ACTIONS(12066),
    [anon_sym_redo] = ACTIONS(12066),
    [anon_sym_retry] = ACTIONS(12066),
    [anon_sym_if] = ACTIONS(12066),
    [anon_sym_unless] = ACTIONS(12066),
    [anon_sym_while] = ACTIONS(12066),
    [anon_sym_until] = ACTIONS(12066),
    [anon_sym_for] = ACTIONS(12066),
    [anon_sym_case] = ACTIONS(12066),
    [anon_sym_begin] = ACTIONS(12066),
    [anon_sym_PLUS] = ACTIONS(12066),
    [anon_sym_defined_QMARK] = ACTIONS(12064),
    [anon_sym_not] = ACTIONS(12066),
    [anon_sym_BANG] = ACTIONS(12064),
    [anon_sym_TILDE] = ACTIONS(12064),
    [sym_constant] = ACTIONS(12068),
    [sym_identifier] = ACTIONS(12068),
    [sym_instance_variable] = ACTIONS(12066),
    [sym_class_variable] = ACTIONS(12066),
    [sym_global_variable] = ACTIONS(12066),
    [anon_sym_alias] = ACTIONS(12066),
    [anon_sym_false] = ACTIONS(12066),
    [anon_sym_nil] = ACTIONS(12066),
    [anon_sym_self] = ACTIONS(12066),
    [anon_sym_super] = ACTIONS(12066),
    [anon_sym_true] = ACTIONS(12066),
    [anon_sym_undef] = ACTIONS(12066),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(12066),
    [sym_float] = ACTIONS(12068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(12064),
    [anon_sym_TRUE] = ACTIONS(12066),
    [anon_sym_FALSE] = ACTIONS(12066),
    [anon_sym_NIL] = ACTIONS(12066),
    [sym_keyword__FILE__] = ACTIONS(12066),
    [sym_keyword__LINE__] = ACTIONS(12066),
    [sym_keyword__ENCODING__] = ACTIONS(12066),
    [sym__character_literal] = ACTIONS(12066),
    [anon_sym_LBRACK] = ACTIONS(12064),
    [anon_sym_DASH_GT] = ACTIONS(12064),
  },
  [5932] = {
    [anon_sym_RBRACE] = ACTIONS(12070),
    [anon_sym_RPAREN] = ACTIONS(12070),
    [anon_sym_RBRACK] = ACTIONS(12070),
    [sym_comment] = ACTIONS(110),
  },
  [5933] = {
    [sym__simple_string] = ACTIONS(3612),
    [sym__string_beginning] = ACTIONS(3612),
    [sym__element_reference_left_bracket] = ACTIONS(3612),
    [sym__scope_double_colon] = ACTIONS(3612),
    [sym__binary_minus] = ACTIONS(3612),
    [sym__binary_star] = ACTIONS(3612),
    [anon_sym_LBRACE] = ACTIONS(3612),
    [anon_sym_RPAREN] = ACTIONS(3612),
    [anon_sym_DOT] = ACTIONS(3614),
    [anon_sym_COMMA] = ACTIONS(3612),
    [anon_sym_PIPE] = ACTIONS(3614),
    [anon_sym_SEMI] = ACTIONS(3612),
    [anon_sym_STAR_STAR] = ACTIONS(3612),
    [anon_sym_AMP] = ACTIONS(3614),
    [anon_sym_LT] = ACTIONS(3614),
    [anon_sym_do] = ACTIONS(3612),
    [anon_sym_EQ_GT] = ACTIONS(3612),
    [anon_sym_AMP_DOT] = ACTIONS(3612),
    [anon_sym_QMARK] = ACTIONS(3614),
    [anon_sym_COLON] = ACTIONS(3612),
    [anon_sym_DOT_DOT] = ACTIONS(3614),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3612),
    [anon_sym_and] = ACTIONS(3612),
    [anon_sym_or] = ACTIONS(3612),
    [anon_sym_PIPE_PIPE] = ACTIONS(3612),
    [anon_sym_AMP_AMP] = ACTIONS(3612),
    [anon_sym_LT_LT] = ACTIONS(3612),
    [anon_sym_GT_GT] = ACTIONS(3612),
    [anon_sym_EQ_EQ] = ACTIONS(3614),
    [anon_sym_BANG_EQ] = ACTIONS(3612),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3612),
    [anon_sym_LT_EQ_GT] = ACTIONS(3612),
    [anon_sym_EQ_TILDE] = ACTIONS(3612),
    [anon_sym_BANG_TILDE] = ACTIONS(3612),
    [anon_sym_LT_EQ] = ACTIONS(3614),
    [anon_sym_GT] = ACTIONS(3614),
    [anon_sym_GT_EQ] = ACTIONS(3612),
    [anon_sym_CARET] = ACTIONS(3612),
    [anon_sym_PLUS] = ACTIONS(3612),
    [anon_sym_SLASH] = ACTIONS(3612),
    [anon_sym_PERCENT] = ACTIONS(3612),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(3614),
  },
  [5934] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(12072),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [5935] = {
    [sym__element_reference_left_bracket] = ACTIONS(8664),
    [sym__scope_double_colon] = ACTIONS(8664),
    [sym__binary_minus] = ACTIONS(8664),
    [sym__binary_star] = ACTIONS(8664),
    [anon_sym_LBRACE] = ACTIONS(8664),
    [anon_sym_RPAREN] = ACTIONS(8664),
    [anon_sym_DOT] = ACTIONS(8666),
    [anon_sym_COMMA] = ACTIONS(8664),
    [anon_sym_PIPE] = ACTIONS(8666),
    [anon_sym_SEMI] = ACTIONS(8664),
    [anon_sym_STAR_STAR] = ACTIONS(8664),
    [anon_sym_AMP] = ACTIONS(8666),
    [anon_sym_LT] = ACTIONS(8666),
    [anon_sym_do] = ACTIONS(8664),
    [anon_sym_EQ_GT] = ACTIONS(8664),
    [anon_sym_AMP_DOT] = ACTIONS(8664),
    [anon_sym_QMARK] = ACTIONS(8664),
    [anon_sym_COLON] = ACTIONS(8664),
    [anon_sym_DOT_DOT] = ACTIONS(8666),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8664),
    [anon_sym_and] = ACTIONS(8664),
    [anon_sym_or] = ACTIONS(8664),
    [anon_sym_PIPE_PIPE] = ACTIONS(8664),
    [anon_sym_AMP_AMP] = ACTIONS(8664),
    [anon_sym_LT_LT] = ACTIONS(8664),
    [anon_sym_GT_GT] = ACTIONS(8664),
    [anon_sym_EQ_EQ] = ACTIONS(8666),
    [anon_sym_BANG_EQ] = ACTIONS(8664),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8664),
    [anon_sym_LT_EQ_GT] = ACTIONS(8664),
    [anon_sym_EQ_TILDE] = ACTIONS(8664),
    [anon_sym_BANG_TILDE] = ACTIONS(8664),
    [anon_sym_LT_EQ] = ACTIONS(8666),
    [anon_sym_GT] = ACTIONS(8666),
    [anon_sym_GT_EQ] = ACTIONS(8664),
    [anon_sym_CARET] = ACTIONS(8664),
    [anon_sym_PLUS] = ACTIONS(8664),
    [anon_sym_SLASH] = ACTIONS(8664),
    [anon_sym_PERCENT] = ACTIONS(8664),
    [sym_comment] = ACTIONS(110),
  },
  [5936] = {
    [anon_sym_DOT] = ACTIONS(12074),
    [anon_sym_COLON_COLON] = ACTIONS(12074),
    [sym_comment] = ACTIONS(110),
  },
  [5937] = {
    [sym__element_reference_left_bracket] = ACTIONS(8832),
    [sym__scope_double_colon] = ACTIONS(8832),
    [sym__binary_minus] = ACTIONS(8832),
    [sym__binary_star] = ACTIONS(8832),
    [anon_sym_LBRACE] = ACTIONS(8832),
    [anon_sym_RPAREN] = ACTIONS(8832),
    [anon_sym_DOT] = ACTIONS(8834),
    [anon_sym_COMMA] = ACTIONS(8832),
    [anon_sym_PIPE] = ACTIONS(8834),
    [anon_sym_SEMI] = ACTIONS(8832),
    [anon_sym_STAR_STAR] = ACTIONS(8832),
    [anon_sym_AMP] = ACTIONS(8834),
    [anon_sym_LT] = ACTIONS(8834),
    [anon_sym_do] = ACTIONS(8832),
    [anon_sym_EQ_GT] = ACTIONS(8832),
    [anon_sym_AMP_DOT] = ACTIONS(8832),
    [anon_sym_QMARK] = ACTIONS(8832),
    [anon_sym_COLON] = ACTIONS(8832),
    [anon_sym_DOT_DOT] = ACTIONS(8834),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8832),
    [anon_sym_and] = ACTIONS(8832),
    [anon_sym_or] = ACTIONS(8832),
    [anon_sym_PIPE_PIPE] = ACTIONS(8832),
    [anon_sym_AMP_AMP] = ACTIONS(8832),
    [anon_sym_LT_LT] = ACTIONS(8832),
    [anon_sym_GT_GT] = ACTIONS(8832),
    [anon_sym_EQ_EQ] = ACTIONS(8834),
    [anon_sym_BANG_EQ] = ACTIONS(8832),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8832),
    [anon_sym_LT_EQ_GT] = ACTIONS(8832),
    [anon_sym_EQ_TILDE] = ACTIONS(8832),
    [anon_sym_BANG_TILDE] = ACTIONS(8832),
    [anon_sym_LT_EQ] = ACTIONS(8834),
    [anon_sym_GT] = ACTIONS(8834),
    [anon_sym_GT_EQ] = ACTIONS(8832),
    [anon_sym_CARET] = ACTIONS(8832),
    [anon_sym_PLUS] = ACTIONS(8832),
    [anon_sym_SLASH] = ACTIONS(8832),
    [anon_sym_PERCENT] = ACTIONS(8832),
    [sym_comment] = ACTIONS(110),
  },
  [5938] = {
    [sym__element_reference_left_bracket] = ACTIONS(8858),
    [sym__scope_double_colon] = ACTIONS(8858),
    [sym__binary_minus] = ACTIONS(8858),
    [sym__binary_star] = ACTIONS(8858),
    [anon_sym_LBRACE] = ACTIONS(8858),
    [anon_sym_RPAREN] = ACTIONS(8858),
    [anon_sym_DOT] = ACTIONS(8860),
    [anon_sym_COMMA] = ACTIONS(8858),
    [anon_sym_PIPE] = ACTIONS(8860),
    [anon_sym_SEMI] = ACTIONS(8858),
    [anon_sym_STAR_STAR] = ACTIONS(8858),
    [anon_sym_AMP] = ACTIONS(8860),
    [anon_sym_LT] = ACTIONS(8860),
    [anon_sym_do] = ACTIONS(8858),
    [anon_sym_EQ_GT] = ACTIONS(8858),
    [anon_sym_AMP_DOT] = ACTIONS(8858),
    [anon_sym_QMARK] = ACTIONS(8858),
    [anon_sym_COLON] = ACTIONS(8858),
    [anon_sym_DOT_DOT] = ACTIONS(8860),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8858),
    [anon_sym_and] = ACTIONS(8858),
    [anon_sym_or] = ACTIONS(8858),
    [anon_sym_PIPE_PIPE] = ACTIONS(8858),
    [anon_sym_AMP_AMP] = ACTIONS(8858),
    [anon_sym_LT_LT] = ACTIONS(8858),
    [anon_sym_GT_GT] = ACTIONS(8858),
    [anon_sym_EQ_EQ] = ACTIONS(8860),
    [anon_sym_BANG_EQ] = ACTIONS(8858),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8858),
    [anon_sym_LT_EQ_GT] = ACTIONS(8858),
    [anon_sym_EQ_TILDE] = ACTIONS(8858),
    [anon_sym_BANG_TILDE] = ACTIONS(8858),
    [anon_sym_LT_EQ] = ACTIONS(8860),
    [anon_sym_GT] = ACTIONS(8860),
    [anon_sym_GT_EQ] = ACTIONS(8858),
    [anon_sym_CARET] = ACTIONS(8858),
    [anon_sym_PLUS] = ACTIONS(8858),
    [anon_sym_SLASH] = ACTIONS(8858),
    [anon_sym_PERCENT] = ACTIONS(8858),
    [sym_comment] = ACTIONS(110),
  },
  [5939] = {
    [anon_sym_end] = ACTIONS(12076),
    [sym_comment] = ACTIONS(110),
  },
  [5940] = {
    [sym__simple_string] = ACTIONS(3612),
    [sym__simple_heredoc_body] = ACTIONS(3612),
    [sym__string_beginning] = ACTIONS(3612),
    [sym__heredoc_body_beginning] = ACTIONS(3612),
    [sym__element_reference_left_bracket] = ACTIONS(3612),
    [sym__scope_double_colon] = ACTIONS(3612),
    [sym__binary_minus] = ACTIONS(3612),
    [sym__binary_star] = ACTIONS(3612),
    [anon_sym_LBRACE] = ACTIONS(3612),
    [anon_sym_RBRACE] = ACTIONS(3612),
    [anon_sym_RPAREN] = ACTIONS(3612),
    [anon_sym_DOT] = ACTIONS(3614),
    [anon_sym_COMMA] = ACTIONS(3612),
    [anon_sym_PIPE] = ACTIONS(3614),
    [anon_sym_SEMI] = ACTIONS(3612),
    [anon_sym_STAR_STAR] = ACTIONS(3612),
    [anon_sym_AMP] = ACTIONS(3614),
    [anon_sym_EQ] = ACTIONS(3614),
    [anon_sym_LT] = ACTIONS(3614),
    [anon_sym_in] = ACTIONS(3612),
    [anon_sym_do] = ACTIONS(3612),
    [anon_sym_EQ_GT] = ACTIONS(3612),
    [anon_sym_RBRACK] = ACTIONS(3612),
    [anon_sym_AMP_DOT] = ACTIONS(3612),
    [anon_sym_QMARK] = ACTIONS(3614),
    [anon_sym_COLON] = ACTIONS(3612),
    [anon_sym_DOT_DOT] = ACTIONS(3614),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3612),
    [anon_sym_and] = ACTIONS(3612),
    [anon_sym_or] = ACTIONS(3612),
    [anon_sym_PIPE_PIPE] = ACTIONS(3612),
    [anon_sym_AMP_AMP] = ACTIONS(3612),
    [anon_sym_LT_LT] = ACTIONS(3612),
    [anon_sym_GT_GT] = ACTIONS(3612),
    [anon_sym_EQ_EQ] = ACTIONS(3614),
    [anon_sym_BANG_EQ] = ACTIONS(3612),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3612),
    [anon_sym_LT_EQ_GT] = ACTIONS(3612),
    [anon_sym_EQ_TILDE] = ACTIONS(3612),
    [anon_sym_BANG_TILDE] = ACTIONS(3612),
    [anon_sym_LT_EQ] = ACTIONS(3614),
    [anon_sym_GT] = ACTIONS(3614),
    [anon_sym_GT_EQ] = ACTIONS(3612),
    [anon_sym_CARET] = ACTIONS(3612),
    [anon_sym_PLUS] = ACTIONS(3612),
    [anon_sym_SLASH] = ACTIONS(3612),
    [anon_sym_PERCENT] = ACTIONS(3612),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(3614),
  },
  [5941] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(12078),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [5942] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9183),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(977),
    [sym_call] = STATE(977),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(5947),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5948),
    [sym__variable] = STATE(977),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(8310),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(1578),
    [anon_sym_yield] = ACTIONS(1580),
    [anon_sym_break] = ACTIONS(1582),
    [anon_sym_next] = ACTIONS(1584),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8312),
    [anon_sym_defined_QMARK] = ACTIONS(8314),
    [anon_sym_not] = ACTIONS(8316),
    [anon_sym_BANG] = ACTIONS(8318),
    [anon_sym_TILDE] = ACTIONS(8318),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [5943] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9184),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(977),
    [sym_call] = STATE(977),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(5947),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5948),
    [sym__variable] = STATE(977),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(8310),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(1578),
    [anon_sym_yield] = ACTIONS(1580),
    [anon_sym_break] = ACTIONS(1582),
    [anon_sym_next] = ACTIONS(1584),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8312),
    [anon_sym_defined_QMARK] = ACTIONS(8314),
    [anon_sym_not] = ACTIONS(8316),
    [anon_sym_BANG] = ACTIONS(8318),
    [anon_sym_TILDE] = ACTIONS(8318),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [5944] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9185),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(977),
    [sym_call] = STATE(977),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(5947),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5948),
    [sym__variable] = STATE(977),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(8310),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(1578),
    [anon_sym_yield] = ACTIONS(1580),
    [anon_sym_break] = ACTIONS(1582),
    [anon_sym_next] = ACTIONS(1584),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8312),
    [anon_sym_defined_QMARK] = ACTIONS(8314),
    [anon_sym_not] = ACTIONS(8316),
    [anon_sym_BANG] = ACTIONS(8318),
    [anon_sym_TILDE] = ACTIONS(8318),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [5945] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(2988),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(977),
    [sym_call] = STATE(977),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(5947),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5948),
    [sym__variable] = STATE(977),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(8310),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(1578),
    [anon_sym_yield] = ACTIONS(1580),
    [anon_sym_break] = ACTIONS(1582),
    [anon_sym_next] = ACTIONS(1584),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8312),
    [anon_sym_defined_QMARK] = ACTIONS(8314),
    [anon_sym_not] = ACTIONS(8316),
    [anon_sym_BANG] = ACTIONS(8318),
    [anon_sym_TILDE] = ACTIONS(8318),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [5946] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(12080),
    [sym__binary_star] = ACTIONS(12082),
    [anon_sym_RBRACE] = ACTIONS(5298),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(12084),
    [anon_sym_STAR_STAR] = ACTIONS(12086),
    [anon_sym_AMP] = ACTIONS(12088),
    [anon_sym_LT] = ACTIONS(12090),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(12092),
    [anon_sym_DOT_DOT] = ACTIONS(12094),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12096),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(12098),
    [anon_sym_AMP_AMP] = ACTIONS(12098),
    [anon_sym_LT_LT] = ACTIONS(12100),
    [anon_sym_GT_GT] = ACTIONS(12100),
    [anon_sym_EQ_EQ] = ACTIONS(12102),
    [anon_sym_BANG_EQ] = ACTIONS(12098),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12098),
    [anon_sym_LT_EQ_GT] = ACTIONS(12098),
    [anon_sym_EQ_TILDE] = ACTIONS(12098),
    [anon_sym_BANG_TILDE] = ACTIONS(12098),
    [anon_sym_LT_EQ] = ACTIONS(12090),
    [anon_sym_GT] = ACTIONS(12090),
    [anon_sym_GT_EQ] = ACTIONS(12104),
    [anon_sym_CARET] = ACTIONS(12106),
    [anon_sym_PLUS] = ACTIONS(12108),
    [anon_sym_SLASH] = ACTIONS(12086),
    [anon_sym_PERCENT] = ACTIONS(12086),
    [sym_comment] = ACTIONS(110),
  },
  [5947] = {
    [anon_sym_EQ] = ACTIONS(12110),
    [sym_comment] = ACTIONS(256),
  },
  [5948] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_RBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(12112),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(12114),
    [anon_sym_DASH_EQ] = ACTIONS(12114),
    [anon_sym_STAR_EQ] = ACTIONS(12114),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(12114),
    [anon_sym_SLASH_EQ] = ACTIONS(12114),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(12114),
    [anon_sym_PIPE_EQ] = ACTIONS(12114),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(12114),
    [anon_sym_AMP_EQ] = ACTIONS(12114),
    [anon_sym_PERCENT_EQ] = ACTIONS(12114),
    [anon_sym_GT_GT_EQ] = ACTIONS(12114),
    [anon_sym_LT_LT_EQ] = ACTIONS(12114),
    [anon_sym_CARET_EQ] = ACTIONS(12114),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [5949] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(12080),
    [sym__binary_star] = ACTIONS(12082),
    [anon_sym_RBRACE] = ACTIONS(5338),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(12084),
    [anon_sym_STAR_STAR] = ACTIONS(12086),
    [anon_sym_AMP] = ACTIONS(12088),
    [anon_sym_LT] = ACTIONS(12090),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(12092),
    [anon_sym_DOT_DOT] = ACTIONS(12094),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12096),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(12098),
    [anon_sym_AMP_AMP] = ACTIONS(12098),
    [anon_sym_LT_LT] = ACTIONS(12100),
    [anon_sym_GT_GT] = ACTIONS(12100),
    [anon_sym_EQ_EQ] = ACTIONS(12102),
    [anon_sym_BANG_EQ] = ACTIONS(12098),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12098),
    [anon_sym_LT_EQ_GT] = ACTIONS(12098),
    [anon_sym_EQ_TILDE] = ACTIONS(12098),
    [anon_sym_BANG_TILDE] = ACTIONS(12098),
    [anon_sym_LT_EQ] = ACTIONS(12090),
    [anon_sym_GT] = ACTIONS(12090),
    [anon_sym_GT_EQ] = ACTIONS(12104),
    [anon_sym_CARET] = ACTIONS(12106),
    [anon_sym_PLUS] = ACTIONS(12108),
    [anon_sym_SLASH] = ACTIONS(12086),
    [anon_sym_PERCENT] = ACTIONS(12086),
    [sym_comment] = ACTIONS(110),
  },
  [5950] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(5960),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2917),
    [sym_call] = STATE(2917),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1886),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(5961),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(2919),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2920),
    [sym__variable] = STATE(2917),
    [sym_reserved_identifier] = STATE(5962),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(5963),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(8332),
    [sym__splat_star] = ACTIONS(8334),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(4264),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_RBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(4266),
    [anon_sym_yield] = ACTIONS(4268),
    [anon_sym_break] = ACTIONS(4270),
    [anon_sym_next] = ACTIONS(4272),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(4274),
    [anon_sym_not] = ACTIONS(4276),
    [anon_sym_BANG] = ACTIONS(4278),
    [anon_sym_TILDE] = ACTIONS(4280),
    [sym_constant] = ACTIONS(8336),
    [sym_identifier] = ACTIONS(8336),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [5951] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(5960),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2917),
    [sym_call] = STATE(2917),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1892),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(5961),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(2919),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2920),
    [sym__variable] = STATE(2917),
    [sym_reserved_identifier] = STATE(5962),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(5963),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(8332),
    [sym__splat_star] = ACTIONS(8334),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(4264),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_RBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(4266),
    [anon_sym_yield] = ACTIONS(4268),
    [anon_sym_break] = ACTIONS(4270),
    [anon_sym_next] = ACTIONS(4272),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(4274),
    [anon_sym_not] = ACTIONS(4276),
    [anon_sym_BANG] = ACTIONS(4278),
    [anon_sym_TILDE] = ACTIONS(4280),
    [sym_constant] = ACTIONS(8336),
    [sym_identifier] = ACTIONS(8336),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [5952] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(5960),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2917),
    [sym_call] = STATE(2917),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1893),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(5961),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(2919),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2920),
    [sym__variable] = STATE(2917),
    [sym_reserved_identifier] = STATE(5962),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(5963),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(8332),
    [sym__splat_star] = ACTIONS(8334),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(4264),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_RBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(4266),
    [anon_sym_yield] = ACTIONS(4268),
    [anon_sym_break] = ACTIONS(4270),
    [anon_sym_next] = ACTIONS(4272),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(4274),
    [anon_sym_not] = ACTIONS(4276),
    [anon_sym_BANG] = ACTIONS(4278),
    [anon_sym_TILDE] = ACTIONS(4280),
    [sym_constant] = ACTIONS(8336),
    [sym_identifier] = ACTIONS(8336),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [5953] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(5960),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2917),
    [sym_call] = STATE(2917),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1894),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(5961),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(2919),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2920),
    [sym__variable] = STATE(2917),
    [sym_reserved_identifier] = STATE(5962),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(5963),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(8332),
    [sym__splat_star] = ACTIONS(8334),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(4264),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_RBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(4266),
    [anon_sym_yield] = ACTIONS(4268),
    [anon_sym_break] = ACTIONS(4270),
    [anon_sym_next] = ACTIONS(4272),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(4274),
    [anon_sym_not] = ACTIONS(4276),
    [anon_sym_BANG] = ACTIONS(4278),
    [anon_sym_TILDE] = ACTIONS(4280),
    [sym_constant] = ACTIONS(8336),
    [sym_identifier] = ACTIONS(8336),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [5954] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_RBRACE] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_STAR_STAR] = ACTIONS(8346),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_EQ_GT] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [5955] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(12080),
    [sym__binary_star] = ACTIONS(12082),
    [anon_sym_RBRACE] = ACTIONS(4284),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(12084),
    [anon_sym_STAR_STAR] = ACTIONS(12086),
    [anon_sym_AMP] = ACTIONS(12088),
    [anon_sym_LT] = ACTIONS(12090),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(12092),
    [anon_sym_DOT_DOT] = ACTIONS(12094),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12096),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(12098),
    [anon_sym_AMP_AMP] = ACTIONS(12098),
    [anon_sym_LT_LT] = ACTIONS(12100),
    [anon_sym_GT_GT] = ACTIONS(12100),
    [anon_sym_EQ_EQ] = ACTIONS(12102),
    [anon_sym_BANG_EQ] = ACTIONS(12098),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12098),
    [anon_sym_LT_EQ_GT] = ACTIONS(12098),
    [anon_sym_EQ_TILDE] = ACTIONS(12098),
    [anon_sym_BANG_TILDE] = ACTIONS(12098),
    [anon_sym_LT_EQ] = ACTIONS(12090),
    [anon_sym_GT] = ACTIONS(12090),
    [anon_sym_GT_EQ] = ACTIONS(12104),
    [anon_sym_CARET] = ACTIONS(12106),
    [anon_sym_PLUS] = ACTIONS(12108),
    [anon_sym_SLASH] = ACTIONS(12086),
    [anon_sym_PERCENT] = ACTIONS(12086),
    [sym_comment] = ACTIONS(110),
  },
  [5956] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9200),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2917),
    [sym_call] = STATE(2917),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(2919),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2920),
    [sym__variable] = STATE(2917),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4264),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(8320),
    [anon_sym_yield] = ACTIONS(8322),
    [anon_sym_break] = ACTIONS(8324),
    [anon_sym_next] = ACTIONS(8326),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8328),
    [anon_sym_defined_QMARK] = ACTIONS(4274),
    [anon_sym_not] = ACTIONS(8330),
    [anon_sym_BANG] = ACTIONS(4280),
    [anon_sym_TILDE] = ACTIONS(4280),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [5957] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9201),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2917),
    [sym_call] = STATE(2917),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(2919),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2920),
    [sym__variable] = STATE(2917),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4264),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(8320),
    [anon_sym_yield] = ACTIONS(8322),
    [anon_sym_break] = ACTIONS(8324),
    [anon_sym_next] = ACTIONS(8326),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8328),
    [anon_sym_defined_QMARK] = ACTIONS(4274),
    [anon_sym_not] = ACTIONS(8330),
    [anon_sym_BANG] = ACTIONS(4280),
    [anon_sym_TILDE] = ACTIONS(4280),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [5958] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9202),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2917),
    [sym_call] = STATE(2917),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(2919),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2920),
    [sym__variable] = STATE(2917),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4264),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(8320),
    [anon_sym_yield] = ACTIONS(8322),
    [anon_sym_break] = ACTIONS(8324),
    [anon_sym_next] = ACTIONS(8326),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8328),
    [anon_sym_defined_QMARK] = ACTIONS(4274),
    [anon_sym_not] = ACTIONS(8330),
    [anon_sym_BANG] = ACTIONS(4280),
    [anon_sym_TILDE] = ACTIONS(4280),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [5959] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(12116),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_RBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [5960] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(8340),
    [sym__binary_star] = ACTIONS(8342),
    [anon_sym_RBRACE] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(8344),
    [anon_sym_STAR_STAR] = ACTIONS(8346),
    [anon_sym_AMP] = ACTIONS(8348),
    [anon_sym_LT] = ACTIONS(8350),
    [anon_sym_EQ_GT] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(8352),
    [anon_sym_DOT_DOT] = ACTIONS(8354),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8356),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(8358),
    [anon_sym_AMP_AMP] = ACTIONS(8358),
    [anon_sym_LT_LT] = ACTIONS(8360),
    [anon_sym_GT_GT] = ACTIONS(8360),
    [anon_sym_EQ_EQ] = ACTIONS(8362),
    [anon_sym_BANG_EQ] = ACTIONS(8358),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8358),
    [anon_sym_LT_EQ_GT] = ACTIONS(8358),
    [anon_sym_EQ_TILDE] = ACTIONS(8358),
    [anon_sym_BANG_TILDE] = ACTIONS(8358),
    [anon_sym_LT_EQ] = ACTIONS(8350),
    [anon_sym_GT] = ACTIONS(8350),
    [anon_sym_GT_EQ] = ACTIONS(8364),
    [anon_sym_CARET] = ACTIONS(8366),
    [anon_sym_PLUS] = ACTIONS(8368),
    [anon_sym_SLASH] = ACTIONS(8346),
    [anon_sym_PERCENT] = ACTIONS(8346),
    [sym_comment] = ACTIONS(110),
  },
  [5961] = {
    [sym_heredoc_end] = STATE(3004),
    [aux_sym_argument_list_repeat1] = STATE(9205),
    [aux_sym_argument_list_repeat2] = STATE(3005),
    [sym__simple_heredoc_body] = ACTIONS(4410),
    [sym__heredoc_body_beginning] = ACTIONS(4412),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_RBRACE] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(12118),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_STAR_STAR] = ACTIONS(2272),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_EQ_GT] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2272),
    [anon_sym_AMP_AMP] = ACTIONS(2272),
    [anon_sym_LT_LT] = ACTIONS(2272),
    [anon_sym_GT_GT] = ACTIONS(2272),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2272),
    [anon_sym_PLUS] = ACTIONS(2272),
    [anon_sym_SLASH] = ACTIONS(2272),
    [anon_sym_PERCENT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(110),
  },
  [5962] = {
    [sym__keyword_colon] = ACTIONS(12120),
    [sym_comment] = ACTIONS(110),
  },
  [5963] = {
    [sym_string] = STATE(1962),
    [aux_sym_chained_string_repeat1] = STATE(1963),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(12116),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_RBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(1626),
  },
  [5964] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_RBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(8346),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [5965] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(8340),
    [sym__binary_star] = ACTIONS(8342),
    [anon_sym_RBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(8344),
    [anon_sym_STAR_STAR] = ACTIONS(8346),
    [anon_sym_AMP] = ACTIONS(8348),
    [anon_sym_LT] = ACTIONS(8350),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(8352),
    [anon_sym_DOT_DOT] = ACTIONS(8354),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8356),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(8358),
    [anon_sym_AMP_AMP] = ACTIONS(8358),
    [anon_sym_LT_LT] = ACTIONS(8360),
    [anon_sym_GT_GT] = ACTIONS(8360),
    [anon_sym_EQ_EQ] = ACTIONS(8362),
    [anon_sym_BANG_EQ] = ACTIONS(8358),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8358),
    [anon_sym_LT_EQ_GT] = ACTIONS(8358),
    [anon_sym_EQ_TILDE] = ACTIONS(8358),
    [anon_sym_BANG_TILDE] = ACTIONS(8358),
    [anon_sym_LT_EQ] = ACTIONS(8350),
    [anon_sym_GT] = ACTIONS(8350),
    [anon_sym_GT_EQ] = ACTIONS(8364),
    [anon_sym_CARET] = ACTIONS(8366),
    [anon_sym_PLUS] = ACTIONS(8368),
    [anon_sym_SLASH] = ACTIONS(8346),
    [anon_sym_PERCENT] = ACTIONS(8346),
    [sym_comment] = ACTIONS(110),
  },
  [5966] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9207),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(977),
    [sym_call] = STATE(977),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(5947),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5948),
    [sym__variable] = STATE(977),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(8310),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(1578),
    [anon_sym_yield] = ACTIONS(1580),
    [anon_sym_break] = ACTIONS(1582),
    [anon_sym_next] = ACTIONS(1584),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8312),
    [anon_sym_defined_QMARK] = ACTIONS(8314),
    [anon_sym_not] = ACTIONS(8316),
    [anon_sym_BANG] = ACTIONS(8318),
    [anon_sym_TILDE] = ACTIONS(8318),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [5967] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9208),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2917),
    [sym_call] = STATE(2917),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(2919),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2920),
    [sym__variable] = STATE(2917),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4264),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(8320),
    [anon_sym_yield] = ACTIONS(8322),
    [anon_sym_break] = ACTIONS(8324),
    [anon_sym_next] = ACTIONS(8326),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8328),
    [anon_sym_defined_QMARK] = ACTIONS(4274),
    [anon_sym_not] = ACTIONS(8330),
    [anon_sym_BANG] = ACTIONS(4280),
    [anon_sym_TILDE] = ACTIONS(4280),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [5968] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9209),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2917),
    [sym_call] = STATE(2917),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(2919),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2920),
    [sym__variable] = STATE(2917),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4264),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(8320),
    [anon_sym_yield] = ACTIONS(8322),
    [anon_sym_break] = ACTIONS(8324),
    [anon_sym_next] = ACTIONS(8326),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8328),
    [anon_sym_defined_QMARK] = ACTIONS(4274),
    [anon_sym_not] = ACTIONS(8330),
    [anon_sym_BANG] = ACTIONS(4280),
    [anon_sym_TILDE] = ACTIONS(4280),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [5969] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9210),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2917),
    [sym_call] = STATE(2917),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(2919),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2920),
    [sym__variable] = STATE(2917),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4264),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(8320),
    [anon_sym_yield] = ACTIONS(8322),
    [anon_sym_break] = ACTIONS(8324),
    [anon_sym_next] = ACTIONS(8326),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8328),
    [anon_sym_defined_QMARK] = ACTIONS(4274),
    [anon_sym_not] = ACTIONS(8330),
    [anon_sym_BANG] = ACTIONS(4280),
    [anon_sym_TILDE] = ACTIONS(4280),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [5970] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9211),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2917),
    [sym_call] = STATE(2917),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(2919),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2920),
    [sym__variable] = STATE(2917),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4264),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(8320),
    [anon_sym_yield] = ACTIONS(8322),
    [anon_sym_break] = ACTIONS(8324),
    [anon_sym_next] = ACTIONS(8326),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8328),
    [anon_sym_defined_QMARK] = ACTIONS(4274),
    [anon_sym_not] = ACTIONS(8330),
    [anon_sym_BANG] = ACTIONS(4280),
    [anon_sym_TILDE] = ACTIONS(4280),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [5971] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9212),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2917),
    [sym_call] = STATE(2917),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(2919),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2920),
    [sym__variable] = STATE(2917),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4264),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(8320),
    [anon_sym_yield] = ACTIONS(8322),
    [anon_sym_break] = ACTIONS(8324),
    [anon_sym_next] = ACTIONS(8326),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8328),
    [anon_sym_defined_QMARK] = ACTIONS(4274),
    [anon_sym_not] = ACTIONS(8330),
    [anon_sym_BANG] = ACTIONS(4280),
    [anon_sym_TILDE] = ACTIONS(4280),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [5972] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9213),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2917),
    [sym_call] = STATE(2917),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(2919),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2920),
    [sym__variable] = STATE(2917),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4264),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(8320),
    [anon_sym_yield] = ACTIONS(8322),
    [anon_sym_break] = ACTIONS(8324),
    [anon_sym_next] = ACTIONS(8326),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8328),
    [anon_sym_defined_QMARK] = ACTIONS(4274),
    [anon_sym_not] = ACTIONS(8330),
    [anon_sym_BANG] = ACTIONS(4280),
    [anon_sym_TILDE] = ACTIONS(4280),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [5973] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(9214),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [5974] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9215),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2917),
    [sym_call] = STATE(2917),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(2919),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2920),
    [sym__variable] = STATE(2917),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4264),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(8320),
    [anon_sym_yield] = ACTIONS(8322),
    [anon_sym_break] = ACTIONS(8324),
    [anon_sym_next] = ACTIONS(8326),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8328),
    [anon_sym_defined_QMARK] = ACTIONS(4274),
    [anon_sym_not] = ACTIONS(8330),
    [anon_sym_BANG] = ACTIONS(4280),
    [anon_sym_TILDE] = ACTIONS(4280),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [5975] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9216),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2917),
    [sym_call] = STATE(2917),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(2919),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2920),
    [sym__variable] = STATE(2917),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4264),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(8320),
    [anon_sym_yield] = ACTIONS(8322),
    [anon_sym_break] = ACTIONS(8324),
    [anon_sym_next] = ACTIONS(8326),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8328),
    [anon_sym_defined_QMARK] = ACTIONS(4274),
    [anon_sym_not] = ACTIONS(8330),
    [anon_sym_BANG] = ACTIONS(4280),
    [anon_sym_TILDE] = ACTIONS(4280),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [5976] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9217),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2917),
    [sym_call] = STATE(2917),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(2919),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2920),
    [sym__variable] = STATE(2917),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4264),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(8320),
    [anon_sym_yield] = ACTIONS(8322),
    [anon_sym_break] = ACTIONS(8324),
    [anon_sym_next] = ACTIONS(8326),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8328),
    [anon_sym_defined_QMARK] = ACTIONS(4274),
    [anon_sym_not] = ACTIONS(8330),
    [anon_sym_BANG] = ACTIONS(4280),
    [anon_sym_TILDE] = ACTIONS(4280),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [5977] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9218),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2917),
    [sym_call] = STATE(2917),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(2919),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2920),
    [sym__variable] = STATE(2917),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4264),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(8320),
    [anon_sym_yield] = ACTIONS(8322),
    [anon_sym_break] = ACTIONS(8324),
    [anon_sym_next] = ACTIONS(8326),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8328),
    [anon_sym_defined_QMARK] = ACTIONS(4274),
    [anon_sym_not] = ACTIONS(8330),
    [anon_sym_BANG] = ACTIONS(4280),
    [anon_sym_TILDE] = ACTIONS(4280),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [5978] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9219),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2917),
    [sym_call] = STATE(2917),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(2919),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2920),
    [sym__variable] = STATE(2917),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4264),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(8320),
    [anon_sym_yield] = ACTIONS(8322),
    [anon_sym_break] = ACTIONS(8324),
    [anon_sym_next] = ACTIONS(8326),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8328),
    [anon_sym_defined_QMARK] = ACTIONS(4274),
    [anon_sym_not] = ACTIONS(8330),
    [anon_sym_BANG] = ACTIONS(4280),
    [anon_sym_TILDE] = ACTIONS(4280),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [5979] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(9220),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2957),
    [sym_call] = STATE(2957),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(2963),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2964),
    [sym__variable] = STATE(2957),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(4332),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(8482),
    [anon_sym_yield] = ACTIONS(8484),
    [anon_sym_break] = ACTIONS(8486),
    [anon_sym_next] = ACTIONS(8488),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(8490),
    [anon_sym_defined_QMARK] = ACTIONS(4346),
    [anon_sym_not] = ACTIONS(8492),
    [anon_sym_BANG] = ACTIONS(4352),
    [anon_sym_TILDE] = ACTIONS(4352),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [5980] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(9221),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2957),
    [sym_call] = STATE(2957),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(2963),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2964),
    [sym__variable] = STATE(2957),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(4332),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(8482),
    [anon_sym_yield] = ACTIONS(8484),
    [anon_sym_break] = ACTIONS(8486),
    [anon_sym_next] = ACTIONS(8488),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(8490),
    [anon_sym_defined_QMARK] = ACTIONS(4346),
    [anon_sym_not] = ACTIONS(8492),
    [anon_sym_BANG] = ACTIONS(4352),
    [anon_sym_TILDE] = ACTIONS(4352),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [5981] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(9222),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2957),
    [sym_call] = STATE(2957),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(2963),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2964),
    [sym__variable] = STATE(2957),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(4332),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(8482),
    [anon_sym_yield] = ACTIONS(8484),
    [anon_sym_break] = ACTIONS(8486),
    [anon_sym_next] = ACTIONS(8488),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(8490),
    [anon_sym_defined_QMARK] = ACTIONS(4346),
    [anon_sym_not] = ACTIONS(8492),
    [anon_sym_BANG] = ACTIONS(4352),
    [anon_sym_TILDE] = ACTIONS(4352),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [5982] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(12122),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_RBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [5983] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(8498),
    [sym__binary_star] = ACTIONS(8500),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_RBRACE] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(8502),
    [anon_sym_STAR_STAR] = ACTIONS(8504),
    [anon_sym_AMP] = ACTIONS(8506),
    [anon_sym_EQ] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(8508),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_PLUS_EQ] = ACTIONS(2210),
    [anon_sym_DASH_EQ] = ACTIONS(2210),
    [anon_sym_STAR_EQ] = ACTIONS(2210),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2210),
    [anon_sym_SLASH_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2210),
    [anon_sym_AMP_EQ] = ACTIONS(2210),
    [anon_sym_PERCENT_EQ] = ACTIONS(2210),
    [anon_sym_GT_GT_EQ] = ACTIONS(2210),
    [anon_sym_LT_LT_EQ] = ACTIONS(2210),
    [anon_sym_CARET_EQ] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(8510),
    [anon_sym_DOT_DOT] = ACTIONS(8512),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8514),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(8516),
    [anon_sym_AMP_AMP] = ACTIONS(8516),
    [anon_sym_LT_LT] = ACTIONS(8518),
    [anon_sym_GT_GT] = ACTIONS(8518),
    [anon_sym_EQ_EQ] = ACTIONS(8516),
    [anon_sym_BANG_EQ] = ACTIONS(8520),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8520),
    [anon_sym_LT_EQ_GT] = ACTIONS(8520),
    [anon_sym_EQ_TILDE] = ACTIONS(8520),
    [anon_sym_BANG_TILDE] = ACTIONS(8520),
    [anon_sym_LT_EQ] = ACTIONS(8508),
    [anon_sym_GT] = ACTIONS(8508),
    [anon_sym_GT_EQ] = ACTIONS(8522),
    [anon_sym_CARET] = ACTIONS(8502),
    [anon_sym_PLUS] = ACTIONS(8524),
    [anon_sym_SLASH] = ACTIONS(8504),
    [anon_sym_PERCENT] = ACTIONS(8504),
    [sym_comment] = ACTIONS(256),
  },
  [5984] = {
    [sym_heredoc_end] = STATE(3153),
    [aux_sym_argument_list_repeat1] = STATE(9225),
    [aux_sym_argument_list_repeat2] = STATE(3154),
    [sym__simple_heredoc_body] = ACTIONS(4552),
    [sym__heredoc_body_beginning] = ACTIONS(4554),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_RBRACE] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(12124),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_STAR_STAR] = ACTIONS(2274),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_EQ] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_EQ_GT] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_PLUS_EQ] = ACTIONS(2272),
    [anon_sym_DASH_EQ] = ACTIONS(2272),
    [anon_sym_STAR_EQ] = ACTIONS(2272),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2272),
    [anon_sym_SLASH_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2272),
    [anon_sym_AMP_EQ] = ACTIONS(2272),
    [anon_sym_PERCENT_EQ] = ACTIONS(2272),
    [anon_sym_GT_GT_EQ] = ACTIONS(2272),
    [anon_sym_LT_LT_EQ] = ACTIONS(2272),
    [anon_sym_CARET_EQ] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2274),
    [anon_sym_AMP_AMP] = ACTIONS(2274),
    [anon_sym_LT_LT] = ACTIONS(2274),
    [anon_sym_GT_GT] = ACTIONS(2274),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2274),
    [anon_sym_PLUS] = ACTIONS(2274),
    [anon_sym_SLASH] = ACTIONS(2274),
    [anon_sym_PERCENT] = ACTIONS(2274),
    [sym_comment] = ACTIONS(256),
  },
  [5985] = {
    [sym__keyword_colon] = ACTIONS(12126),
    [sym_comment] = ACTIONS(110),
  },
  [5986] = {
    [sym_string] = STATE(3160),
    [aux_sym_chained_string_repeat1] = STATE(3161),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(12122),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_RBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(4490),
  },
  [5987] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(2916),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2917),
    [sym_call] = STATE(2917),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(6127),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(2919),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2920),
    [sym__variable] = STATE(2917),
    [sym_reserved_identifier] = STATE(2921),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(2922),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(9227),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(4260),
    [sym__splat_star] = ACTIONS(4262),
    [sym__unary_minus] = ACTIONS(4264),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(12128),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(4266),
    [anon_sym_yield] = ACTIONS(4268),
    [anon_sym_break] = ACTIONS(4270),
    [anon_sym_next] = ACTIONS(4272),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(8328),
    [anon_sym_defined_QMARK] = ACTIONS(4274),
    [anon_sym_not] = ACTIONS(4276),
    [anon_sym_BANG] = ACTIONS(4280),
    [anon_sym_TILDE] = ACTIONS(4280),
    [sym_constant] = ACTIONS(4282),
    [sym_identifier] = ACTIONS(4282),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [5988] = {
    [sym_heredoc_end] = STATE(3004),
    [aux_sym_argument_list_repeat2] = STATE(6130),
    [sym__simple_heredoc_body] = ACTIONS(4410),
    [sym__heredoc_body_beginning] = ACTIONS(4412),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_RBRACE] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(12130),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_STAR_STAR] = ACTIONS(5472),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5472),
    [anon_sym_AMP_AMP] = ACTIONS(5472),
    [anon_sym_LT_LT] = ACTIONS(5472),
    [anon_sym_GT_GT] = ACTIONS(5472),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5472),
    [anon_sym_PLUS] = ACTIONS(5472),
    [anon_sym_SLASH] = ACTIONS(5472),
    [anon_sym_PERCENT] = ACTIONS(5472),
    [sym_comment] = ACTIONS(110),
  },
  [5989] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9229),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2917),
    [sym_call] = STATE(2917),
    [sym_method_call] = STATE(503),
    [sym_splat_argument] = STATE(6132),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_right_assignment_list] = STATE(6133),
    [sym__arg_or_splat_arg] = STATE(9230),
    [sym_left_assignment_list] = STATE(2919),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2920),
    [sym__variable] = STATE(2917),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__splat_star] = ACTIONS(8334),
    [sym__unary_minus] = ACTIONS(4264),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(8320),
    [anon_sym_yield] = ACTIONS(8322),
    [anon_sym_break] = ACTIONS(8324),
    [anon_sym_next] = ACTIONS(8326),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8328),
    [anon_sym_defined_QMARK] = ACTIONS(4274),
    [anon_sym_not] = ACTIONS(8330),
    [anon_sym_BANG] = ACTIONS(4280),
    [anon_sym_TILDE] = ACTIONS(4280),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [5990] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9231),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2917),
    [sym_call] = STATE(2917),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(2919),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2920),
    [sym__variable] = STATE(2917),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4264),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(8320),
    [anon_sym_yield] = ACTIONS(8322),
    [anon_sym_break] = ACTIONS(8324),
    [anon_sym_next] = ACTIONS(8326),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8328),
    [anon_sym_defined_QMARK] = ACTIONS(4274),
    [anon_sym_not] = ACTIONS(8330),
    [anon_sym_BANG] = ACTIONS(4280),
    [anon_sym_TILDE] = ACTIONS(4280),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [5991] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9232),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(977),
    [sym_call] = STATE(977),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(5947),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5948),
    [sym__variable] = STATE(977),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(8310),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(1578),
    [anon_sym_yield] = ACTIONS(1580),
    [anon_sym_break] = ACTIONS(1582),
    [anon_sym_next] = ACTIONS(1584),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8312),
    [anon_sym_defined_QMARK] = ACTIONS(8314),
    [anon_sym_not] = ACTIONS(8316),
    [anon_sym_BANG] = ACTIONS(8318),
    [anon_sym_TILDE] = ACTIONS(8318),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [5992] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(4288),
    [anon_sym_RBRACE] = ACTIONS(7008),
    [anon_sym_COMMA] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_STAR_STAR] = ACTIONS(4292),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7008),
    [anon_sym_AMP_AMP] = ACTIONS(7008),
    [anon_sym_LT_LT] = ACTIONS(7008),
    [anon_sym_GT_GT] = ACTIONS(7008),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7008),
    [anon_sym_PLUS] = ACTIONS(7008),
    [anon_sym_SLASH] = ACTIONS(4292),
    [anon_sym_PERCENT] = ACTIONS(4292),
    [sym_comment] = ACTIONS(110),
  },
  [5993] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_RBRACE] = ACTIONS(7012),
    [anon_sym_COMMA] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_STAR_STAR] = ACTIONS(4292),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7012),
    [anon_sym_AMP_AMP] = ACTIONS(7012),
    [anon_sym_LT_LT] = ACTIONS(7012),
    [anon_sym_GT_GT] = ACTIONS(7012),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7012),
    [anon_sym_PLUS] = ACTIONS(7012),
    [anon_sym_SLASH] = ACTIONS(7012),
    [anon_sym_PERCENT] = ACTIONS(7012),
    [sym_comment] = ACTIONS(110),
  },
  [5994] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(4286),
    [sym__binary_star] = ACTIONS(4288),
    [anon_sym_RBRACE] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(4292),
    [anon_sym_AMP] = ACTIONS(4294),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(4308),
    [anon_sym_GT_GT] = ACTIONS(4308),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(4316),
    [anon_sym_SLASH] = ACTIONS(4292),
    [anon_sym_PERCENT] = ACTIONS(4292),
    [sym_comment] = ACTIONS(110),
  },
  [5995] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_RBRACE] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(4292),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7016),
    [anon_sym_PERCENT] = ACTIONS(7016),
    [sym_comment] = ACTIONS(110),
  },
  [5996] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(4286),
    [sym__binary_star] = ACTIONS(4288),
    [anon_sym_RBRACE] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(4292),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(4308),
    [anon_sym_GT_GT] = ACTIONS(4308),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(4316),
    [anon_sym_SLASH] = ACTIONS(4292),
    [anon_sym_PERCENT] = ACTIONS(4292),
    [sym_comment] = ACTIONS(110),
  },
  [5997] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(4286),
    [sym__binary_star] = ACTIONS(4288),
    [anon_sym_RBRACE] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(4290),
    [anon_sym_STAR_STAR] = ACTIONS(4292),
    [anon_sym_AMP] = ACTIONS(4294),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(4308),
    [anon_sym_GT_GT] = ACTIONS(4308),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(4314),
    [anon_sym_PLUS] = ACTIONS(4316),
    [anon_sym_SLASH] = ACTIONS(4292),
    [anon_sym_PERCENT] = ACTIONS(4292),
    [sym_comment] = ACTIONS(110),
  },
  [5998] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(12132),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [5999] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(4286),
    [sym__binary_star] = ACTIONS(4288),
    [anon_sym_RBRACE] = ACTIONS(7108),
    [anon_sym_COMMA] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(4290),
    [anon_sym_STAR_STAR] = ACTIONS(4292),
    [anon_sym_AMP] = ACTIONS(4294),
    [anon_sym_LT] = ACTIONS(4296),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(4300),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4302),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(4306),
    [anon_sym_AMP_AMP] = ACTIONS(4306),
    [anon_sym_LT_LT] = ACTIONS(4308),
    [anon_sym_GT_GT] = ACTIONS(4308),
    [anon_sym_EQ_EQ] = ACTIONS(4310),
    [anon_sym_BANG_EQ] = ACTIONS(4306),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4306),
    [anon_sym_LT_EQ_GT] = ACTIONS(4306),
    [anon_sym_EQ_TILDE] = ACTIONS(4306),
    [anon_sym_BANG_TILDE] = ACTIONS(4306),
    [anon_sym_LT_EQ] = ACTIONS(4296),
    [anon_sym_GT] = ACTIONS(4296),
    [anon_sym_GT_EQ] = ACTIONS(4312),
    [anon_sym_CARET] = ACTIONS(4314),
    [anon_sym_PLUS] = ACTIONS(4316),
    [anon_sym_SLASH] = ACTIONS(4292),
    [anon_sym_PERCENT] = ACTIONS(4292),
    [sym_comment] = ACTIONS(110),
  },
  [6000] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(4286),
    [sym__binary_star] = ACTIONS(4288),
    [anon_sym_RBRACE] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(4290),
    [anon_sym_STAR_STAR] = ACTIONS(4292),
    [anon_sym_AMP] = ACTIONS(4294),
    [anon_sym_LT] = ACTIONS(4296),
    [anon_sym_QMARK] = ACTIONS(4298),
    [anon_sym_DOT_DOT] = ACTIONS(4300),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4302),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(4306),
    [anon_sym_AMP_AMP] = ACTIONS(4306),
    [anon_sym_LT_LT] = ACTIONS(4308),
    [anon_sym_GT_GT] = ACTIONS(4308),
    [anon_sym_EQ_EQ] = ACTIONS(4310),
    [anon_sym_BANG_EQ] = ACTIONS(4306),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4306),
    [anon_sym_LT_EQ_GT] = ACTIONS(4306),
    [anon_sym_EQ_TILDE] = ACTIONS(4306),
    [anon_sym_BANG_TILDE] = ACTIONS(4306),
    [anon_sym_LT_EQ] = ACTIONS(4296),
    [anon_sym_GT] = ACTIONS(4296),
    [anon_sym_GT_EQ] = ACTIONS(4312),
    [anon_sym_CARET] = ACTIONS(4314),
    [anon_sym_PLUS] = ACTIONS(4316),
    [anon_sym_SLASH] = ACTIONS(4292),
    [anon_sym_PERCENT] = ACTIONS(4292),
    [sym_comment] = ACTIONS(110),
  },
  [6001] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(4286),
    [sym__binary_star] = ACTIONS(4288),
    [anon_sym_RBRACE] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(4290),
    [anon_sym_STAR_STAR] = ACTIONS(4292),
    [anon_sym_AMP] = ACTIONS(4294),
    [anon_sym_LT] = ACTIONS(4296),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(4308),
    [anon_sym_GT_GT] = ACTIONS(4308),
    [anon_sym_EQ_EQ] = ACTIONS(4310),
    [anon_sym_BANG_EQ] = ACTIONS(4306),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4306),
    [anon_sym_LT_EQ_GT] = ACTIONS(4306),
    [anon_sym_EQ_TILDE] = ACTIONS(4306),
    [anon_sym_BANG_TILDE] = ACTIONS(4306),
    [anon_sym_LT_EQ] = ACTIONS(4296),
    [anon_sym_GT] = ACTIONS(4296),
    [anon_sym_GT_EQ] = ACTIONS(4312),
    [anon_sym_CARET] = ACTIONS(4314),
    [anon_sym_PLUS] = ACTIONS(4316),
    [anon_sym_SLASH] = ACTIONS(4292),
    [anon_sym_PERCENT] = ACTIONS(4292),
    [sym_comment] = ACTIONS(110),
  },
  [6002] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(4286),
    [sym__binary_star] = ACTIONS(4288),
    [anon_sym_RBRACE] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(4292),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(4316),
    [anon_sym_SLASH] = ACTIONS(4292),
    [anon_sym_PERCENT] = ACTIONS(4292),
    [sym_comment] = ACTIONS(110),
  },
  [6003] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(4288),
    [anon_sym_RBRACE] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(4292),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(4292),
    [anon_sym_PERCENT] = ACTIONS(4292),
    [sym_comment] = ACTIONS(110),
  },
  [6004] = {
    [sym__simple_heredoc_body] = ACTIONS(7110),
    [sym__heredoc_body_beginning] = ACTIONS(7110),
    [sym__element_reference_left_bracket] = ACTIONS(7110),
    [sym__scope_double_colon] = ACTIONS(7110),
    [sym__binary_minus] = ACTIONS(7110),
    [sym__binary_star] = ACTIONS(7110),
    [anon_sym_LBRACE] = ACTIONS(7110),
    [anon_sym_RBRACE] = ACTIONS(7110),
    [anon_sym_RPAREN] = ACTIONS(7110),
    [anon_sym_DOT] = ACTIONS(7112),
    [anon_sym_COMMA] = ACTIONS(7110),
    [anon_sym_PIPE] = ACTIONS(7112),
    [anon_sym_SEMI] = ACTIONS(7110),
    [anon_sym_STAR_STAR] = ACTIONS(7112),
    [anon_sym_AMP] = ACTIONS(7112),
    [anon_sym_EQ] = ACTIONS(7112),
    [anon_sym_LT] = ACTIONS(7112),
    [anon_sym_in] = ACTIONS(7110),
    [anon_sym_do] = ACTIONS(7110),
    [anon_sym_RBRACK] = ACTIONS(7110),
    [anon_sym_AMP_DOT] = ACTIONS(7110),
    [anon_sym_PLUS_EQ] = ACTIONS(7110),
    [anon_sym_DASH_EQ] = ACTIONS(7110),
    [anon_sym_STAR_EQ] = ACTIONS(7110),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7110),
    [anon_sym_SLASH_EQ] = ACTIONS(7110),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7110),
    [anon_sym_PIPE_EQ] = ACTIONS(7110),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7110),
    [anon_sym_AMP_EQ] = ACTIONS(7110),
    [anon_sym_PERCENT_EQ] = ACTIONS(7110),
    [anon_sym_GT_GT_EQ] = ACTIONS(7110),
    [anon_sym_LT_LT_EQ] = ACTIONS(7110),
    [anon_sym_CARET_EQ] = ACTIONS(7110),
    [anon_sym_QMARK] = ACTIONS(7110),
    [anon_sym_COLON] = ACTIONS(7110),
    [anon_sym_DOT_DOT] = ACTIONS(7112),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7110),
    [anon_sym_and] = ACTIONS(7110),
    [anon_sym_or] = ACTIONS(7110),
    [anon_sym_PIPE_PIPE] = ACTIONS(7112),
    [anon_sym_AMP_AMP] = ACTIONS(7112),
    [anon_sym_LT_LT] = ACTIONS(7112),
    [anon_sym_GT_GT] = ACTIONS(7112),
    [anon_sym_EQ_EQ] = ACTIONS(7112),
    [anon_sym_BANG_EQ] = ACTIONS(7110),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7110),
    [anon_sym_LT_EQ_GT] = ACTIONS(7110),
    [anon_sym_EQ_TILDE] = ACTIONS(7110),
    [anon_sym_BANG_TILDE] = ACTIONS(7110),
    [anon_sym_LT_EQ] = ACTIONS(7112),
    [anon_sym_GT] = ACTIONS(7112),
    [anon_sym_GT_EQ] = ACTIONS(7110),
    [anon_sym_CARET] = ACTIONS(7112),
    [anon_sym_PLUS] = ACTIONS(7112),
    [anon_sym_SLASH] = ACTIONS(7112),
    [anon_sym_PERCENT] = ACTIONS(7112),
    [sym_comment] = ACTIONS(256),
  },
  [6005] = {
    [sym_heredoc_end] = STATE(9235),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RBRACK] = ACTIONS(12134),
    [sym_comment] = ACTIONS(110),
  },
  [6006] = {
    [anon_sym_RBRACK] = ACTIONS(12134),
    [sym_comment] = ACTIONS(110),
  },
  [6007] = {
    [sym__simple_string] = ACTIONS(7116),
    [sym__simple_symbol] = ACTIONS(7116),
    [sym__simple_subshell] = ACTIONS(7116),
    [sym__simple_regex] = ACTIONS(7116),
    [sym__simple_word_list] = ACTIONS(7116),
    [sym__simple_heredoc_body] = ACTIONS(7116),
    [sym__string_beginning] = ACTIONS(7116),
    [sym__symbol_beginning] = ACTIONS(7116),
    [sym__subshell_beginning] = ACTIONS(7116),
    [sym__regex_beginning] = ACTIONS(7116),
    [sym__word_list_beginning] = ACTIONS(7116),
    [sym__heredoc_body_beginning] = ACTIONS(7116),
    [sym_heredoc_beginning] = ACTIONS(7116),
    [sym__element_reference_left_bracket] = ACTIONS(7116),
    [sym__block_ampersand] = ACTIONS(7116),
    [sym__splat_star] = ACTIONS(7116),
    [sym__argument_list_left_paren] = ACTIONS(7116),
    [sym__scope_double_colon] = ACTIONS(7116),
    [sym__unary_minus] = ACTIONS(7116),
    [sym__binary_minus] = ACTIONS(7116),
    [sym__binary_star] = ACTIONS(7116),
    [anon_sym_LBRACE] = ACTIONS(7116),
    [anon_sym_RBRACE] = ACTIONS(7116),
    [anon_sym_def] = ACTIONS(7118),
    [anon_sym_LPAREN] = ACTIONS(7116),
    [anon_sym_RPAREN] = ACTIONS(7116),
    [anon_sym_DOT] = ACTIONS(7118),
    [anon_sym_COLON_COLON] = ACTIONS(7116),
    [anon_sym_end] = ACTIONS(7118),
    [anon_sym_COMMA] = ACTIONS(7116),
    [anon_sym_PIPE] = ACTIONS(7118),
    [anon_sym_SEMI] = ACTIONS(7116),
    [anon_sym_STAR] = ACTIONS(7118),
    [anon_sym_STAR_STAR] = ACTIONS(7118),
    [anon_sym_AMP] = ACTIONS(7118),
    [anon_sym_EQ] = ACTIONS(7118),
    [anon_sym_class] = ACTIONS(7118),
    [anon_sym_LT] = ACTIONS(7118),
    [anon_sym_module] = ACTIONS(7118),
    [anon_sym_return] = ACTIONS(7118),
    [anon_sym_yield] = ACTIONS(7118),
    [anon_sym_break] = ACTIONS(7118),
    [anon_sym_next] = ACTIONS(7118),
    [anon_sym_redo] = ACTIONS(7118),
    [anon_sym_retry] = ACTIONS(7118),
    [anon_sym_if] = ACTIONS(7118),
    [anon_sym_unless] = ACTIONS(7118),
    [anon_sym_while] = ACTIONS(7118),
    [anon_sym_until] = ACTIONS(7118),
    [anon_sym_rescue] = ACTIONS(7118),
    [anon_sym_for] = ACTIONS(7118),
    [anon_sym_in] = ACTIONS(7118),
    [anon_sym_do] = ACTIONS(7118),
    [anon_sym_case] = ACTIONS(7118),
    [anon_sym_when] = ACTIONS(7118),
    [anon_sym_elsif] = ACTIONS(7118),
    [anon_sym_else] = ACTIONS(7118),
    [anon_sym_then] = ACTIONS(7118),
    [anon_sym_begin] = ACTIONS(7118),
    [anon_sym_ensure] = ACTIONS(7118),
    [anon_sym_RBRACK] = ACTIONS(7116),
    [anon_sym_AMP_DOT] = ACTIONS(7116),
    [anon_sym_PLUS_EQ] = ACTIONS(7116),
    [anon_sym_DASH_EQ] = ACTIONS(7116),
    [anon_sym_STAR_EQ] = ACTIONS(7116),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7116),
    [anon_sym_SLASH_EQ] = ACTIONS(7116),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7116),
    [anon_sym_PIPE_EQ] = ACTIONS(7116),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7116),
    [anon_sym_AMP_EQ] = ACTIONS(7116),
    [anon_sym_PERCENT_EQ] = ACTIONS(7116),
    [anon_sym_GT_GT_EQ] = ACTIONS(7116),
    [anon_sym_LT_LT_EQ] = ACTIONS(7116),
    [anon_sym_CARET_EQ] = ACTIONS(7116),
    [anon_sym_QMARK] = ACTIONS(7118),
    [anon_sym_COLON] = ACTIONS(7118),
    [anon_sym_DOT_DOT] = ACTIONS(7118),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7116),
    [anon_sym_and] = ACTIONS(7118),
    [anon_sym_or] = ACTIONS(7118),
    [anon_sym_PIPE_PIPE] = ACTIONS(7118),
    [anon_sym_AMP_AMP] = ACTIONS(7118),
    [anon_sym_LT_LT] = ACTIONS(7118),
    [anon_sym_GT_GT] = ACTIONS(7118),
    [anon_sym_EQ_EQ] = ACTIONS(7118),
    [anon_sym_BANG_EQ] = ACTIONS(7116),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7116),
    [anon_sym_LT_EQ_GT] = ACTIONS(7116),
    [anon_sym_EQ_TILDE] = ACTIONS(7116),
    [anon_sym_BANG_TILDE] = ACTIONS(7116),
    [anon_sym_LT_EQ] = ACTIONS(7118),
    [anon_sym_GT] = ACTIONS(7118),
    [anon_sym_GT_EQ] = ACTIONS(7116),
    [anon_sym_CARET] = ACTIONS(7118),
    [anon_sym_PLUS] = ACTIONS(7118),
    [anon_sym_SLASH] = ACTIONS(7118),
    [anon_sym_PERCENT] = ACTIONS(7118),
    [anon_sym_defined_QMARK] = ACTIONS(7116),
    [anon_sym_not] = ACTIONS(7118),
    [anon_sym_BANG] = ACTIONS(7118),
    [anon_sym_TILDE] = ACTIONS(7116),
    [sym_constant] = ACTIONS(7120),
    [sym_identifier] = ACTIONS(7120),
    [sym_instance_variable] = ACTIONS(7118),
    [sym_class_variable] = ACTIONS(7118),
    [sym_global_variable] = ACTIONS(7118),
    [anon_sym_alias] = ACTIONS(7118),
    [anon_sym_defined] = ACTIONS(7118),
    [anon_sym_false] = ACTIONS(7118),
    [anon_sym_nil] = ACTIONS(7118),
    [anon_sym_self] = ACTIONS(7118),
    [anon_sym_super] = ACTIONS(7118),
    [anon_sym_true] = ACTIONS(7118),
    [anon_sym_undef] = ACTIONS(7118),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(7118),
    [sym_float] = ACTIONS(7120),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(7116),
    [anon_sym_TRUE] = ACTIONS(7118),
    [anon_sym_FALSE] = ACTIONS(7118),
    [anon_sym_NIL] = ACTIONS(7118),
    [sym_keyword__FILE__] = ACTIONS(7118),
    [sym_keyword__LINE__] = ACTIONS(7118),
    [sym_keyword__ENCODING__] = ACTIONS(7118),
    [sym__character_literal] = ACTIONS(7118),
    [anon_sym_LBRACK] = ACTIONS(7116),
    [anon_sym_DASH_GT] = ACTIONS(7116),
  },
  [6008] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1382),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(9237),
    [sym__argument] = STATE(1385),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1386),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1387),
    [sym__variable] = STATE(1383),
    [sym_reserved_identifier] = STATE(1388),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1389),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(9238),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(2154),
    [sym__splat_star] = ACTIONS(2156),
    [sym__unary_minus] = ACTIONS(2158),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(12136),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2162),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2164),
    [anon_sym_yield] = ACTIONS(2166),
    [anon_sym_break] = ACTIONS(2168),
    [anon_sym_next] = ACTIONS(2170),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2172),
    [anon_sym_defined_QMARK] = ACTIONS(2174),
    [anon_sym_not] = ACTIONS(2176),
    [anon_sym_BANG] = ACTIONS(2178),
    [anon_sym_TILDE] = ACTIONS(2178),
    [sym_constant] = ACTIONS(2180),
    [sym_identifier] = ACTIONS(2180),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6009] = {
    [sym__simple_string] = ACTIONS(1856),
    [sym__simple_symbol] = ACTIONS(1856),
    [sym__simple_subshell] = ACTIONS(1856),
    [sym__simple_regex] = ACTIONS(1856),
    [sym__simple_word_list] = ACTIONS(1856),
    [sym__simple_heredoc_body] = ACTIONS(1856),
    [sym__string_beginning] = ACTIONS(1856),
    [sym__symbol_beginning] = ACTIONS(1856),
    [sym__subshell_beginning] = ACTIONS(1856),
    [sym__regex_beginning] = ACTIONS(1856),
    [sym__word_list_beginning] = ACTIONS(1856),
    [sym__heredoc_body_beginning] = ACTIONS(1856),
    [sym_heredoc_beginning] = ACTIONS(1856),
    [sym__element_reference_left_bracket] = ACTIONS(1856),
    [sym__block_ampersand] = ACTIONS(1856),
    [sym__splat_star] = ACTIONS(1856),
    [sym__argument_list_left_paren] = ACTIONS(1856),
    [sym__scope_double_colon] = ACTIONS(1856),
    [sym__unary_minus] = ACTIONS(1856),
    [sym__binary_minus] = ACTIONS(1856),
    [sym__binary_star] = ACTIONS(1856),
    [anon_sym_LBRACE] = ACTIONS(1856),
    [anon_sym_RBRACE] = ACTIONS(1856),
    [anon_sym_def] = ACTIONS(1858),
    [anon_sym_LPAREN] = ACTIONS(1856),
    [anon_sym_RPAREN] = ACTIONS(1856),
    [anon_sym_DOT] = ACTIONS(1858),
    [anon_sym_COLON_COLON] = ACTIONS(1856),
    [anon_sym_end] = ACTIONS(1858),
    [anon_sym_COMMA] = ACTIONS(1856),
    [anon_sym_PIPE] = ACTIONS(1858),
    [anon_sym_SEMI] = ACTIONS(1856),
    [anon_sym_STAR] = ACTIONS(1858),
    [anon_sym_STAR_STAR] = ACTIONS(1858),
    [anon_sym_AMP] = ACTIONS(1858),
    [anon_sym_EQ] = ACTIONS(1858),
    [anon_sym_class] = ACTIONS(1858),
    [anon_sym_LT] = ACTIONS(1858),
    [anon_sym_module] = ACTIONS(1858),
    [anon_sym_return] = ACTIONS(1858),
    [anon_sym_yield] = ACTIONS(1858),
    [anon_sym_break] = ACTIONS(1858),
    [anon_sym_next] = ACTIONS(1858),
    [anon_sym_redo] = ACTIONS(1858),
    [anon_sym_retry] = ACTIONS(1858),
    [anon_sym_if] = ACTIONS(1858),
    [anon_sym_unless] = ACTIONS(1858),
    [anon_sym_while] = ACTIONS(1858),
    [anon_sym_until] = ACTIONS(1858),
    [anon_sym_rescue] = ACTIONS(1858),
    [anon_sym_for] = ACTIONS(1858),
    [anon_sym_in] = ACTIONS(1858),
    [anon_sym_do] = ACTIONS(1858),
    [anon_sym_case] = ACTIONS(1858),
    [anon_sym_when] = ACTIONS(1858),
    [anon_sym_elsif] = ACTIONS(1858),
    [anon_sym_else] = ACTIONS(1858),
    [anon_sym_then] = ACTIONS(1858),
    [anon_sym_begin] = ACTIONS(1858),
    [anon_sym_ensure] = ACTIONS(1858),
    [anon_sym_RBRACK] = ACTIONS(1856),
    [anon_sym_AMP_DOT] = ACTIONS(1856),
    [anon_sym_PLUS_EQ] = ACTIONS(1856),
    [anon_sym_DASH_EQ] = ACTIONS(1856),
    [anon_sym_STAR_EQ] = ACTIONS(1856),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1856),
    [anon_sym_SLASH_EQ] = ACTIONS(1856),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1856),
    [anon_sym_PIPE_EQ] = ACTIONS(1856),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1856),
    [anon_sym_AMP_EQ] = ACTIONS(1856),
    [anon_sym_PERCENT_EQ] = ACTIONS(1856),
    [anon_sym_GT_GT_EQ] = ACTIONS(1856),
    [anon_sym_LT_LT_EQ] = ACTIONS(1856),
    [anon_sym_CARET_EQ] = ACTIONS(1856),
    [anon_sym_QMARK] = ACTIONS(1858),
    [anon_sym_COLON] = ACTIONS(1858),
    [anon_sym_DOT_DOT] = ACTIONS(1858),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1856),
    [anon_sym_and] = ACTIONS(1858),
    [anon_sym_or] = ACTIONS(1858),
    [anon_sym_PIPE_PIPE] = ACTIONS(1858),
    [anon_sym_AMP_AMP] = ACTIONS(1858),
    [anon_sym_LT_LT] = ACTIONS(1858),
    [anon_sym_GT_GT] = ACTIONS(1858),
    [anon_sym_EQ_EQ] = ACTIONS(1858),
    [anon_sym_BANG_EQ] = ACTIONS(1856),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1856),
    [anon_sym_LT_EQ_GT] = ACTIONS(1856),
    [anon_sym_EQ_TILDE] = ACTIONS(1856),
    [anon_sym_BANG_TILDE] = ACTIONS(1856),
    [anon_sym_LT_EQ] = ACTIONS(1858),
    [anon_sym_GT] = ACTIONS(1858),
    [anon_sym_GT_EQ] = ACTIONS(1856),
    [anon_sym_CARET] = ACTIONS(1858),
    [anon_sym_PLUS] = ACTIONS(1858),
    [anon_sym_SLASH] = ACTIONS(1858),
    [anon_sym_PERCENT] = ACTIONS(1858),
    [anon_sym_defined_QMARK] = ACTIONS(1856),
    [anon_sym_not] = ACTIONS(1858),
    [anon_sym_BANG] = ACTIONS(1858),
    [anon_sym_TILDE] = ACTIONS(1856),
    [sym_constant] = ACTIONS(7124),
    [sym_identifier] = ACTIONS(7124),
    [sym_instance_variable] = ACTIONS(1858),
    [sym_class_variable] = ACTIONS(1858),
    [sym_global_variable] = ACTIONS(1858),
    [anon_sym_alias] = ACTIONS(1858),
    [anon_sym_defined] = ACTIONS(1858),
    [anon_sym_false] = ACTIONS(1858),
    [anon_sym_nil] = ACTIONS(1858),
    [anon_sym_self] = ACTIONS(1858),
    [anon_sym_super] = ACTIONS(1858),
    [anon_sym_true] = ACTIONS(1858),
    [anon_sym_undef] = ACTIONS(1858),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1858),
    [sym_float] = ACTIONS(7124),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1856),
    [anon_sym_TRUE] = ACTIONS(1858),
    [anon_sym_FALSE] = ACTIONS(1858),
    [anon_sym_NIL] = ACTIONS(1858),
    [sym_keyword__FILE__] = ACTIONS(1858),
    [sym_keyword__LINE__] = ACTIONS(1858),
    [sym_keyword__ENCODING__] = ACTIONS(1858),
    [sym__character_literal] = ACTIONS(1858),
    [anon_sym_LBRACK] = ACTIONS(1856),
    [anon_sym_DASH_GT] = ACTIONS(1856),
  },
  [6010] = {
    [sym__simple_string] = ACTIONS(7126),
    [sym__simple_symbol] = ACTIONS(7126),
    [sym__simple_subshell] = ACTIONS(7126),
    [sym__simple_regex] = ACTIONS(7126),
    [sym__simple_word_list] = ACTIONS(7126),
    [sym__simple_heredoc_body] = ACTIONS(7126),
    [sym__string_beginning] = ACTIONS(7126),
    [sym__symbol_beginning] = ACTIONS(7126),
    [sym__subshell_beginning] = ACTIONS(7126),
    [sym__regex_beginning] = ACTIONS(7126),
    [sym__word_list_beginning] = ACTIONS(7126),
    [sym__heredoc_body_beginning] = ACTIONS(7126),
    [sym_heredoc_beginning] = ACTIONS(7126),
    [sym__element_reference_left_bracket] = ACTIONS(7126),
    [sym__block_ampersand] = ACTIONS(7126),
    [sym__splat_star] = ACTIONS(7126),
    [sym__argument_list_left_paren] = ACTIONS(7126),
    [sym__scope_double_colon] = ACTIONS(7126),
    [sym__unary_minus] = ACTIONS(7126),
    [sym__binary_minus] = ACTIONS(7126),
    [sym__binary_star] = ACTIONS(7126),
    [anon_sym_LBRACE] = ACTIONS(7126),
    [anon_sym_RBRACE] = ACTIONS(7126),
    [anon_sym_def] = ACTIONS(7128),
    [anon_sym_LPAREN] = ACTIONS(7126),
    [anon_sym_RPAREN] = ACTIONS(7126),
    [anon_sym_DOT] = ACTIONS(7128),
    [anon_sym_COLON_COLON] = ACTIONS(7126),
    [anon_sym_end] = ACTIONS(7128),
    [anon_sym_COMMA] = ACTIONS(7126),
    [anon_sym_PIPE] = ACTIONS(7128),
    [anon_sym_SEMI] = ACTIONS(7126),
    [anon_sym_STAR] = ACTIONS(7128),
    [anon_sym_STAR_STAR] = ACTIONS(7128),
    [anon_sym_AMP] = ACTIONS(7128),
    [anon_sym_EQ] = ACTIONS(7128),
    [anon_sym_class] = ACTIONS(7128),
    [anon_sym_LT] = ACTIONS(7128),
    [anon_sym_module] = ACTIONS(7128),
    [anon_sym_return] = ACTIONS(7128),
    [anon_sym_yield] = ACTIONS(7128),
    [anon_sym_break] = ACTIONS(7128),
    [anon_sym_next] = ACTIONS(7128),
    [anon_sym_redo] = ACTIONS(7128),
    [anon_sym_retry] = ACTIONS(7128),
    [anon_sym_if] = ACTIONS(7128),
    [anon_sym_unless] = ACTIONS(7128),
    [anon_sym_while] = ACTIONS(7128),
    [anon_sym_until] = ACTIONS(7128),
    [anon_sym_rescue] = ACTIONS(7128),
    [anon_sym_for] = ACTIONS(7128),
    [anon_sym_in] = ACTIONS(7128),
    [anon_sym_do] = ACTIONS(7128),
    [anon_sym_case] = ACTIONS(7128),
    [anon_sym_when] = ACTIONS(7128),
    [anon_sym_elsif] = ACTIONS(7128),
    [anon_sym_else] = ACTIONS(7128),
    [anon_sym_then] = ACTIONS(7128),
    [anon_sym_begin] = ACTIONS(7128),
    [anon_sym_ensure] = ACTIONS(7128),
    [anon_sym_RBRACK] = ACTIONS(7126),
    [anon_sym_AMP_DOT] = ACTIONS(7126),
    [anon_sym_PLUS_EQ] = ACTIONS(7126),
    [anon_sym_DASH_EQ] = ACTIONS(7126),
    [anon_sym_STAR_EQ] = ACTIONS(7126),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7126),
    [anon_sym_SLASH_EQ] = ACTIONS(7126),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7126),
    [anon_sym_PIPE_EQ] = ACTIONS(7126),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7126),
    [anon_sym_AMP_EQ] = ACTIONS(7126),
    [anon_sym_PERCENT_EQ] = ACTIONS(7126),
    [anon_sym_GT_GT_EQ] = ACTIONS(7126),
    [anon_sym_LT_LT_EQ] = ACTIONS(7126),
    [anon_sym_CARET_EQ] = ACTIONS(7126),
    [anon_sym_QMARK] = ACTIONS(7128),
    [anon_sym_COLON] = ACTIONS(7128),
    [anon_sym_DOT_DOT] = ACTIONS(7128),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7126),
    [anon_sym_and] = ACTIONS(7128),
    [anon_sym_or] = ACTIONS(7128),
    [anon_sym_PIPE_PIPE] = ACTIONS(7128),
    [anon_sym_AMP_AMP] = ACTIONS(7128),
    [anon_sym_LT_LT] = ACTIONS(7128),
    [anon_sym_GT_GT] = ACTIONS(7128),
    [anon_sym_EQ_EQ] = ACTIONS(7128),
    [anon_sym_BANG_EQ] = ACTIONS(7126),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7126),
    [anon_sym_LT_EQ_GT] = ACTIONS(7126),
    [anon_sym_EQ_TILDE] = ACTIONS(7126),
    [anon_sym_BANG_TILDE] = ACTIONS(7126),
    [anon_sym_LT_EQ] = ACTIONS(7128),
    [anon_sym_GT] = ACTIONS(7128),
    [anon_sym_GT_EQ] = ACTIONS(7126),
    [anon_sym_CARET] = ACTIONS(7128),
    [anon_sym_PLUS] = ACTIONS(7128),
    [anon_sym_SLASH] = ACTIONS(7128),
    [anon_sym_PERCENT] = ACTIONS(7128),
    [anon_sym_defined_QMARK] = ACTIONS(7126),
    [anon_sym_not] = ACTIONS(7128),
    [anon_sym_BANG] = ACTIONS(7128),
    [anon_sym_TILDE] = ACTIONS(7126),
    [sym_constant] = ACTIONS(7130),
    [sym_identifier] = ACTIONS(7130),
    [sym_instance_variable] = ACTIONS(7128),
    [sym_class_variable] = ACTIONS(7128),
    [sym_global_variable] = ACTIONS(7128),
    [anon_sym_alias] = ACTIONS(7128),
    [anon_sym_defined] = ACTIONS(7128),
    [anon_sym_false] = ACTIONS(7128),
    [anon_sym_nil] = ACTIONS(7128),
    [anon_sym_self] = ACTIONS(7128),
    [anon_sym_super] = ACTIONS(7128),
    [anon_sym_true] = ACTIONS(7128),
    [anon_sym_undef] = ACTIONS(7128),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(7128),
    [sym_float] = ACTIONS(7130),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(7126),
    [anon_sym_TRUE] = ACTIONS(7128),
    [anon_sym_FALSE] = ACTIONS(7128),
    [anon_sym_NIL] = ACTIONS(7128),
    [sym_keyword__FILE__] = ACTIONS(7128),
    [sym_keyword__LINE__] = ACTIONS(7128),
    [sym_keyword__ENCODING__] = ACTIONS(7128),
    [sym__character_literal] = ACTIONS(7128),
    [anon_sym_LBRACK] = ACTIONS(7126),
    [anon_sym_DASH_GT] = ACTIONS(7126),
  },
  [6011] = {
    [sym__simple_string] = ACTIONS(7132),
    [sym__simple_symbol] = ACTIONS(7132),
    [sym__simple_subshell] = ACTIONS(7132),
    [sym__simple_regex] = ACTIONS(7132),
    [sym__simple_word_list] = ACTIONS(7132),
    [sym__simple_heredoc_body] = ACTIONS(7132),
    [sym__string_beginning] = ACTIONS(7132),
    [sym__symbol_beginning] = ACTIONS(7132),
    [sym__subshell_beginning] = ACTIONS(7132),
    [sym__regex_beginning] = ACTIONS(7132),
    [sym__word_list_beginning] = ACTIONS(7132),
    [sym__heredoc_body_beginning] = ACTIONS(7132),
    [sym_heredoc_beginning] = ACTIONS(7132),
    [sym__element_reference_left_bracket] = ACTIONS(7132),
    [sym__block_ampersand] = ACTIONS(7132),
    [sym__splat_star] = ACTIONS(7132),
    [sym__argument_list_left_paren] = ACTIONS(7132),
    [sym__scope_double_colon] = ACTIONS(7132),
    [sym__unary_minus] = ACTIONS(7132),
    [sym__binary_minus] = ACTIONS(7132),
    [sym__binary_star] = ACTIONS(7132),
    [anon_sym_LBRACE] = ACTIONS(7132),
    [anon_sym_RBRACE] = ACTIONS(7132),
    [anon_sym_def] = ACTIONS(7134),
    [anon_sym_LPAREN] = ACTIONS(7132),
    [anon_sym_RPAREN] = ACTIONS(7132),
    [anon_sym_DOT] = ACTIONS(7134),
    [anon_sym_COLON_COLON] = ACTIONS(7132),
    [anon_sym_end] = ACTIONS(7134),
    [anon_sym_COMMA] = ACTIONS(7132),
    [anon_sym_PIPE] = ACTIONS(7134),
    [anon_sym_SEMI] = ACTIONS(7132),
    [anon_sym_STAR] = ACTIONS(7134),
    [anon_sym_STAR_STAR] = ACTIONS(7134),
    [anon_sym_AMP] = ACTIONS(7134),
    [anon_sym_EQ] = ACTIONS(7134),
    [anon_sym_class] = ACTIONS(7134),
    [anon_sym_LT] = ACTIONS(7134),
    [anon_sym_module] = ACTIONS(7134),
    [anon_sym_return] = ACTIONS(7134),
    [anon_sym_yield] = ACTIONS(7134),
    [anon_sym_break] = ACTIONS(7134),
    [anon_sym_next] = ACTIONS(7134),
    [anon_sym_redo] = ACTIONS(7134),
    [anon_sym_retry] = ACTIONS(7134),
    [anon_sym_if] = ACTIONS(7134),
    [anon_sym_unless] = ACTIONS(7134),
    [anon_sym_while] = ACTIONS(7134),
    [anon_sym_until] = ACTIONS(7134),
    [anon_sym_rescue] = ACTIONS(7134),
    [anon_sym_for] = ACTIONS(7134),
    [anon_sym_in] = ACTIONS(7134),
    [anon_sym_do] = ACTIONS(7134),
    [anon_sym_case] = ACTIONS(7134),
    [anon_sym_when] = ACTIONS(7134),
    [anon_sym_elsif] = ACTIONS(7134),
    [anon_sym_else] = ACTIONS(7134),
    [anon_sym_then] = ACTIONS(7134),
    [anon_sym_begin] = ACTIONS(7134),
    [anon_sym_ensure] = ACTIONS(7134),
    [anon_sym_RBRACK] = ACTIONS(7132),
    [anon_sym_AMP_DOT] = ACTIONS(7132),
    [anon_sym_PLUS_EQ] = ACTIONS(7132),
    [anon_sym_DASH_EQ] = ACTIONS(7132),
    [anon_sym_STAR_EQ] = ACTIONS(7132),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7132),
    [anon_sym_SLASH_EQ] = ACTIONS(7132),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7132),
    [anon_sym_PIPE_EQ] = ACTIONS(7132),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7132),
    [anon_sym_AMP_EQ] = ACTIONS(7132),
    [anon_sym_PERCENT_EQ] = ACTIONS(7132),
    [anon_sym_GT_GT_EQ] = ACTIONS(7132),
    [anon_sym_LT_LT_EQ] = ACTIONS(7132),
    [anon_sym_CARET_EQ] = ACTIONS(7132),
    [anon_sym_QMARK] = ACTIONS(7134),
    [anon_sym_COLON] = ACTIONS(7134),
    [anon_sym_DOT_DOT] = ACTIONS(7134),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7132),
    [anon_sym_and] = ACTIONS(7134),
    [anon_sym_or] = ACTIONS(7134),
    [anon_sym_PIPE_PIPE] = ACTIONS(7134),
    [anon_sym_AMP_AMP] = ACTIONS(7134),
    [anon_sym_LT_LT] = ACTIONS(7134),
    [anon_sym_GT_GT] = ACTIONS(7134),
    [anon_sym_EQ_EQ] = ACTIONS(7134),
    [anon_sym_BANG_EQ] = ACTIONS(7132),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7132),
    [anon_sym_LT_EQ_GT] = ACTIONS(7132),
    [anon_sym_EQ_TILDE] = ACTIONS(7132),
    [anon_sym_BANG_TILDE] = ACTIONS(7132),
    [anon_sym_LT_EQ] = ACTIONS(7134),
    [anon_sym_GT] = ACTIONS(7134),
    [anon_sym_GT_EQ] = ACTIONS(7132),
    [anon_sym_CARET] = ACTIONS(7134),
    [anon_sym_PLUS] = ACTIONS(7134),
    [anon_sym_SLASH] = ACTIONS(7134),
    [anon_sym_PERCENT] = ACTIONS(7134),
    [anon_sym_defined_QMARK] = ACTIONS(7132),
    [anon_sym_not] = ACTIONS(7134),
    [anon_sym_BANG] = ACTIONS(7134),
    [anon_sym_TILDE] = ACTIONS(7132),
    [sym_constant] = ACTIONS(7136),
    [sym_identifier] = ACTIONS(7136),
    [sym_instance_variable] = ACTIONS(7134),
    [sym_class_variable] = ACTIONS(7134),
    [sym_global_variable] = ACTIONS(7134),
    [anon_sym_alias] = ACTIONS(7134),
    [anon_sym_defined] = ACTIONS(7134),
    [anon_sym_false] = ACTIONS(7134),
    [anon_sym_nil] = ACTIONS(7134),
    [anon_sym_self] = ACTIONS(7134),
    [anon_sym_super] = ACTIONS(7134),
    [anon_sym_true] = ACTIONS(7134),
    [anon_sym_undef] = ACTIONS(7134),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(7134),
    [sym_float] = ACTIONS(7136),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(7132),
    [anon_sym_TRUE] = ACTIONS(7134),
    [anon_sym_FALSE] = ACTIONS(7134),
    [anon_sym_NIL] = ACTIONS(7134),
    [sym_keyword__FILE__] = ACTIONS(7134),
    [sym_keyword__LINE__] = ACTIONS(7134),
    [sym_keyword__ENCODING__] = ACTIONS(7134),
    [sym__character_literal] = ACTIONS(7134),
    [anon_sym_LBRACK] = ACTIONS(7132),
    [anon_sym_DASH_GT] = ACTIONS(7132),
  },
  [6012] = {
    [sym__simple_string] = ACTIONS(126),
    [sym__simple_heredoc_body] = ACTIONS(126),
    [sym__string_beginning] = ACTIONS(126),
    [sym__heredoc_body_beginning] = ACTIONS(126),
    [sym__element_reference_left_bracket] = ACTIONS(126),
    [sym__scope_double_colon] = ACTIONS(126),
    [sym__binary_minus] = ACTIONS(126),
    [sym__binary_star] = ACTIONS(126),
    [anon_sym_LBRACE] = ACTIONS(126),
    [anon_sym_RBRACE] = ACTIONS(126),
    [anon_sym_RPAREN] = ACTIONS(126),
    [anon_sym_DOT] = ACTIONS(128),
    [anon_sym_COMMA] = ACTIONS(126),
    [anon_sym_PIPE] = ACTIONS(128),
    [anon_sym_SEMI] = ACTIONS(126),
    [anon_sym_STAR_STAR] = ACTIONS(128),
    [anon_sym_AMP] = ACTIONS(128),
    [anon_sym_EQ] = ACTIONS(128),
    [anon_sym_LT] = ACTIONS(128),
    [anon_sym_in] = ACTIONS(126),
    [anon_sym_do] = ACTIONS(126),
    [anon_sym_RBRACK] = ACTIONS(126),
    [anon_sym_AMP_DOT] = ACTIONS(126),
    [anon_sym_PLUS_EQ] = ACTIONS(126),
    [anon_sym_DASH_EQ] = ACTIONS(126),
    [anon_sym_STAR_EQ] = ACTIONS(126),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(126),
    [anon_sym_SLASH_EQ] = ACTIONS(126),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(126),
    [anon_sym_PIPE_EQ] = ACTIONS(126),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(126),
    [anon_sym_AMP_EQ] = ACTIONS(126),
    [anon_sym_PERCENT_EQ] = ACTIONS(126),
    [anon_sym_GT_GT_EQ] = ACTIONS(126),
    [anon_sym_LT_LT_EQ] = ACTIONS(126),
    [anon_sym_CARET_EQ] = ACTIONS(126),
    [anon_sym_QMARK] = ACTIONS(128),
    [anon_sym_COLON] = ACTIONS(126),
    [anon_sym_DOT_DOT] = ACTIONS(128),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(126),
    [anon_sym_and] = ACTIONS(126),
    [anon_sym_or] = ACTIONS(126),
    [anon_sym_PIPE_PIPE] = ACTIONS(128),
    [anon_sym_AMP_AMP] = ACTIONS(128),
    [anon_sym_LT_LT] = ACTIONS(128),
    [anon_sym_GT_GT] = ACTIONS(128),
    [anon_sym_EQ_EQ] = ACTIONS(128),
    [anon_sym_BANG_EQ] = ACTIONS(126),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(126),
    [anon_sym_LT_EQ_GT] = ACTIONS(126),
    [anon_sym_EQ_TILDE] = ACTIONS(126),
    [anon_sym_BANG_TILDE] = ACTIONS(126),
    [anon_sym_LT_EQ] = ACTIONS(128),
    [anon_sym_GT] = ACTIONS(128),
    [anon_sym_GT_EQ] = ACTIONS(126),
    [anon_sym_CARET] = ACTIONS(128),
    [anon_sym_PLUS] = ACTIONS(128),
    [anon_sym_SLASH] = ACTIONS(128),
    [anon_sym_PERCENT] = ACTIONS(128),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(128),
  },
  [6013] = {
    [sym__simple_heredoc_body] = ACTIONS(130),
    [sym__heredoc_body_beginning] = ACTIONS(130),
    [sym__element_reference_left_bracket] = ACTIONS(130),
    [sym__scope_double_colon] = ACTIONS(130),
    [sym__binary_minus] = ACTIONS(130),
    [sym__binary_star] = ACTIONS(130),
    [anon_sym_LBRACE] = ACTIONS(130),
    [anon_sym_RBRACE] = ACTIONS(130),
    [anon_sym_RPAREN] = ACTIONS(130),
    [anon_sym_DOT] = ACTIONS(132),
    [anon_sym_COMMA] = ACTIONS(130),
    [anon_sym_PIPE] = ACTIONS(132),
    [anon_sym_SEMI] = ACTIONS(130),
    [anon_sym_STAR_STAR] = ACTIONS(132),
    [anon_sym_AMP] = ACTIONS(132),
    [anon_sym_EQ] = ACTIONS(132),
    [anon_sym_LT] = ACTIONS(132),
    [anon_sym_in] = ACTIONS(130),
    [anon_sym_do] = ACTIONS(130),
    [anon_sym_RBRACK] = ACTIONS(130),
    [anon_sym_AMP_DOT] = ACTIONS(130),
    [anon_sym_PLUS_EQ] = ACTIONS(130),
    [anon_sym_DASH_EQ] = ACTIONS(130),
    [anon_sym_STAR_EQ] = ACTIONS(130),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(130),
    [anon_sym_SLASH_EQ] = ACTIONS(130),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(130),
    [anon_sym_PIPE_EQ] = ACTIONS(130),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(130),
    [anon_sym_AMP_EQ] = ACTIONS(130),
    [anon_sym_PERCENT_EQ] = ACTIONS(130),
    [anon_sym_GT_GT_EQ] = ACTIONS(130),
    [anon_sym_LT_LT_EQ] = ACTIONS(130),
    [anon_sym_CARET_EQ] = ACTIONS(130),
    [anon_sym_QMARK] = ACTIONS(130),
    [anon_sym_COLON] = ACTIONS(130),
    [anon_sym_DOT_DOT] = ACTIONS(132),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(130),
    [anon_sym_and] = ACTIONS(130),
    [anon_sym_or] = ACTIONS(130),
    [anon_sym_PIPE_PIPE] = ACTIONS(132),
    [anon_sym_AMP_AMP] = ACTIONS(132),
    [anon_sym_LT_LT] = ACTIONS(132),
    [anon_sym_GT_GT] = ACTIONS(132),
    [anon_sym_EQ_EQ] = ACTIONS(132),
    [anon_sym_BANG_EQ] = ACTIONS(130),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(130),
    [anon_sym_LT_EQ_GT] = ACTIONS(130),
    [anon_sym_EQ_TILDE] = ACTIONS(130),
    [anon_sym_BANG_TILDE] = ACTIONS(130),
    [anon_sym_LT_EQ] = ACTIONS(132),
    [anon_sym_GT] = ACTIONS(132),
    [anon_sym_GT_EQ] = ACTIONS(130),
    [anon_sym_CARET] = ACTIONS(132),
    [anon_sym_PLUS] = ACTIONS(132),
    [anon_sym_SLASH] = ACTIONS(132),
    [anon_sym_PERCENT] = ACTIONS(132),
    [sym_comment] = ACTIONS(256),
  },
  [6014] = {
    [sym__simple_heredoc_body] = ACTIONS(134),
    [sym__heredoc_body_beginning] = ACTIONS(134),
    [sym__element_reference_left_bracket] = ACTIONS(134),
    [sym__scope_double_colon] = ACTIONS(134),
    [sym__binary_minus] = ACTIONS(134),
    [sym__binary_star] = ACTIONS(134),
    [anon_sym_LBRACE] = ACTIONS(134),
    [anon_sym_RBRACE] = ACTIONS(134),
    [anon_sym_RPAREN] = ACTIONS(134),
    [anon_sym_DOT] = ACTIONS(136),
    [anon_sym_COMMA] = ACTIONS(134),
    [anon_sym_PIPE] = ACTIONS(136),
    [anon_sym_SEMI] = ACTIONS(134),
    [anon_sym_STAR_STAR] = ACTIONS(136),
    [anon_sym_AMP] = ACTIONS(136),
    [anon_sym_EQ] = ACTIONS(136),
    [anon_sym_LT] = ACTIONS(136),
    [anon_sym_in] = ACTIONS(134),
    [anon_sym_do] = ACTIONS(134),
    [anon_sym_RBRACK] = ACTIONS(134),
    [anon_sym_AMP_DOT] = ACTIONS(134),
    [anon_sym_PLUS_EQ] = ACTIONS(134),
    [anon_sym_DASH_EQ] = ACTIONS(134),
    [anon_sym_STAR_EQ] = ACTIONS(134),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(134),
    [anon_sym_SLASH_EQ] = ACTIONS(134),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(134),
    [anon_sym_PIPE_EQ] = ACTIONS(134),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(134),
    [anon_sym_AMP_EQ] = ACTIONS(134),
    [anon_sym_PERCENT_EQ] = ACTIONS(134),
    [anon_sym_GT_GT_EQ] = ACTIONS(134),
    [anon_sym_LT_LT_EQ] = ACTIONS(134),
    [anon_sym_CARET_EQ] = ACTIONS(134),
    [anon_sym_QMARK] = ACTIONS(134),
    [anon_sym_COLON] = ACTIONS(134),
    [anon_sym_DOT_DOT] = ACTIONS(136),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(134),
    [anon_sym_and] = ACTIONS(134),
    [anon_sym_or] = ACTIONS(134),
    [anon_sym_PIPE_PIPE] = ACTIONS(136),
    [anon_sym_AMP_AMP] = ACTIONS(136),
    [anon_sym_LT_LT] = ACTIONS(136),
    [anon_sym_GT_GT] = ACTIONS(136),
    [anon_sym_EQ_EQ] = ACTIONS(136),
    [anon_sym_BANG_EQ] = ACTIONS(134),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(134),
    [anon_sym_LT_EQ_GT] = ACTIONS(134),
    [anon_sym_EQ_TILDE] = ACTIONS(134),
    [anon_sym_BANG_TILDE] = ACTIONS(134),
    [anon_sym_LT_EQ] = ACTIONS(136),
    [anon_sym_GT] = ACTIONS(136),
    [anon_sym_GT_EQ] = ACTIONS(134),
    [anon_sym_CARET] = ACTIONS(136),
    [anon_sym_PLUS] = ACTIONS(136),
    [anon_sym_SLASH] = ACTIONS(136),
    [anon_sym_PERCENT] = ACTIONS(136),
    [sym_comment] = ACTIONS(256),
  },
  [6015] = {
    [sym__simple_heredoc_body] = ACTIONS(138),
    [sym__heredoc_body_beginning] = ACTIONS(138),
    [sym__element_reference_left_bracket] = ACTIONS(138),
    [sym__scope_double_colon] = ACTIONS(138),
    [sym__binary_minus] = ACTIONS(138),
    [sym__binary_star] = ACTIONS(138),
    [anon_sym_LBRACE] = ACTIONS(138),
    [anon_sym_RBRACE] = ACTIONS(138),
    [anon_sym_RPAREN] = ACTIONS(138),
    [anon_sym_DOT] = ACTIONS(140),
    [anon_sym_COMMA] = ACTIONS(138),
    [anon_sym_PIPE] = ACTIONS(140),
    [anon_sym_SEMI] = ACTIONS(138),
    [anon_sym_STAR_STAR] = ACTIONS(140),
    [anon_sym_AMP] = ACTIONS(140),
    [anon_sym_EQ] = ACTIONS(140),
    [anon_sym_LT] = ACTIONS(140),
    [anon_sym_in] = ACTIONS(138),
    [anon_sym_do] = ACTIONS(138),
    [anon_sym_RBRACK] = ACTIONS(138),
    [anon_sym_AMP_DOT] = ACTIONS(138),
    [anon_sym_PLUS_EQ] = ACTIONS(138),
    [anon_sym_DASH_EQ] = ACTIONS(138),
    [anon_sym_STAR_EQ] = ACTIONS(138),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(138),
    [anon_sym_SLASH_EQ] = ACTIONS(138),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(138),
    [anon_sym_PIPE_EQ] = ACTIONS(138),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(138),
    [anon_sym_AMP_EQ] = ACTIONS(138),
    [anon_sym_PERCENT_EQ] = ACTIONS(138),
    [anon_sym_GT_GT_EQ] = ACTIONS(138),
    [anon_sym_LT_LT_EQ] = ACTIONS(138),
    [anon_sym_CARET_EQ] = ACTIONS(138),
    [anon_sym_QMARK] = ACTIONS(138),
    [anon_sym_COLON] = ACTIONS(138),
    [anon_sym_DOT_DOT] = ACTIONS(140),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(138),
    [anon_sym_and] = ACTIONS(138),
    [anon_sym_or] = ACTIONS(138),
    [anon_sym_PIPE_PIPE] = ACTIONS(140),
    [anon_sym_AMP_AMP] = ACTIONS(140),
    [anon_sym_LT_LT] = ACTIONS(140),
    [anon_sym_GT_GT] = ACTIONS(140),
    [anon_sym_EQ_EQ] = ACTIONS(140),
    [anon_sym_BANG_EQ] = ACTIONS(138),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(138),
    [anon_sym_LT_EQ_GT] = ACTIONS(138),
    [anon_sym_EQ_TILDE] = ACTIONS(138),
    [anon_sym_BANG_TILDE] = ACTIONS(138),
    [anon_sym_LT_EQ] = ACTIONS(140),
    [anon_sym_GT] = ACTIONS(140),
    [anon_sym_GT_EQ] = ACTIONS(138),
    [anon_sym_CARET] = ACTIONS(140),
    [anon_sym_PLUS] = ACTIONS(140),
    [anon_sym_SLASH] = ACTIONS(140),
    [anon_sym_PERCENT] = ACTIONS(140),
    [sym_comment] = ACTIONS(256),
  },
  [6016] = {
    [sym__simple_heredoc_body] = ACTIONS(142),
    [sym__heredoc_body_beginning] = ACTIONS(142),
    [sym__element_reference_left_bracket] = ACTIONS(142),
    [sym__scope_double_colon] = ACTIONS(142),
    [sym__binary_minus] = ACTIONS(142),
    [sym__binary_star] = ACTIONS(142),
    [anon_sym_LBRACE] = ACTIONS(142),
    [anon_sym_RBRACE] = ACTIONS(142),
    [anon_sym_RPAREN] = ACTIONS(142),
    [anon_sym_DOT] = ACTIONS(144),
    [anon_sym_COMMA] = ACTIONS(142),
    [anon_sym_PIPE] = ACTIONS(144),
    [anon_sym_SEMI] = ACTIONS(142),
    [anon_sym_STAR_STAR] = ACTIONS(144),
    [anon_sym_AMP] = ACTIONS(144),
    [anon_sym_EQ] = ACTIONS(144),
    [anon_sym_LT] = ACTIONS(144),
    [anon_sym_in] = ACTIONS(142),
    [anon_sym_do] = ACTIONS(142),
    [anon_sym_RBRACK] = ACTIONS(142),
    [anon_sym_AMP_DOT] = ACTIONS(142),
    [anon_sym_PLUS_EQ] = ACTIONS(142),
    [anon_sym_DASH_EQ] = ACTIONS(142),
    [anon_sym_STAR_EQ] = ACTIONS(142),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(142),
    [anon_sym_SLASH_EQ] = ACTIONS(142),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(142),
    [anon_sym_PIPE_EQ] = ACTIONS(142),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(142),
    [anon_sym_AMP_EQ] = ACTIONS(142),
    [anon_sym_PERCENT_EQ] = ACTIONS(142),
    [anon_sym_GT_GT_EQ] = ACTIONS(142),
    [anon_sym_LT_LT_EQ] = ACTIONS(142),
    [anon_sym_CARET_EQ] = ACTIONS(142),
    [anon_sym_QMARK] = ACTIONS(142),
    [anon_sym_COLON] = ACTIONS(142),
    [anon_sym_DOT_DOT] = ACTIONS(144),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(142),
    [anon_sym_and] = ACTIONS(142),
    [anon_sym_or] = ACTIONS(142),
    [anon_sym_PIPE_PIPE] = ACTIONS(144),
    [anon_sym_AMP_AMP] = ACTIONS(144),
    [anon_sym_LT_LT] = ACTIONS(144),
    [anon_sym_GT_GT] = ACTIONS(144),
    [anon_sym_EQ_EQ] = ACTIONS(144),
    [anon_sym_BANG_EQ] = ACTIONS(142),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(142),
    [anon_sym_LT_EQ_GT] = ACTIONS(142),
    [anon_sym_EQ_TILDE] = ACTIONS(142),
    [anon_sym_BANG_TILDE] = ACTIONS(142),
    [anon_sym_LT_EQ] = ACTIONS(144),
    [anon_sym_GT] = ACTIONS(144),
    [anon_sym_GT_EQ] = ACTIONS(142),
    [anon_sym_CARET] = ACTIONS(144),
    [anon_sym_PLUS] = ACTIONS(144),
    [anon_sym_SLASH] = ACTIONS(144),
    [anon_sym_PERCENT] = ACTIONS(144),
    [sym_comment] = ACTIONS(256),
  },
  [6017] = {
    [sym__statement] = STATE(9239),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(9240),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [6018] = {
    [sym__statement] = STATE(9241),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(9242),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [6019] = {
    [sym__statement] = STATE(9243),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(9244),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [6020] = {
    [sym__statement] = STATE(9245),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(9246),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [6021] = {
    [sym__statement] = STATE(9247),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [aux_sym_symbol_repeat1] = STATE(9248),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [6022] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_RBRACE] = ACTIONS(250),
    [anon_sym_RPAREN] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_in] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_RBRACK] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_COLON] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [6023] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(9249),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6051),
    [sym_call] = STATE(6051),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(6053),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6054),
    [sym__variable] = STATE(6051),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(8420),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(8432),
    [anon_sym_yield] = ACTIONS(8434),
    [anon_sym_break] = ACTIONS(8436),
    [anon_sym_next] = ACTIONS(8438),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(8458),
    [anon_sym_defined_QMARK] = ACTIONS(8460),
    [anon_sym_not] = ACTIONS(8462),
    [anon_sym_BANG] = ACTIONS(8464),
    [anon_sym_TILDE] = ACTIONS(8464),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [6024] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(193),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_hash_splat_argument] = STATE(197),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(199),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(200),
    [sym__variable] = STATE(196),
    [sym_reserved_identifier] = STATE(201),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(202),
    [sym_subshell] = STATE(151),
    [sym_heredoc_end] = STATE(9251),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym__hash_items] = STATE(9252),
    [sym_pair] = STATE(205),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(260),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(272),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(286),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_RBRACE] = ACTIONS(12138),
    [anon_sym_def] = ACTIONS(292),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(302),
    [anon_sym_class] = ACTIONS(304),
    [anon_sym_module] = ACTIONS(306),
    [anon_sym_return] = ACTIONS(308),
    [anon_sym_yield] = ACTIONS(310),
    [anon_sym_break] = ACTIONS(312),
    [anon_sym_next] = ACTIONS(314),
    [anon_sym_redo] = ACTIONS(316),
    [anon_sym_retry] = ACTIONS(318),
    [anon_sym_if] = ACTIONS(320),
    [anon_sym_unless] = ACTIONS(322),
    [anon_sym_while] = ACTIONS(324),
    [anon_sym_until] = ACTIONS(326),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(328),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(330),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(332),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(334),
    [anon_sym_defined_QMARK] = ACTIONS(336),
    [anon_sym_not] = ACTIONS(338),
    [anon_sym_BANG] = ACTIONS(340),
    [anon_sym_TILDE] = ACTIONS(340),
    [sym_constant] = ACTIONS(342),
    [sym_identifier] = ACTIONS(342),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(346),
    [anon_sym_nil] = ACTIONS(348),
    [anon_sym_self] = ACTIONS(350),
    [anon_sym_super] = ACTIONS(352),
    [anon_sym_true] = ACTIONS(354),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(370),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [6025] = {
    [sym__method_rest] = STATE(9254),
    [sym__variable] = STATE(9255),
    [sym_operator] = STATE(217),
    [sym__method_name] = STATE(9256),
    [sym_setter] = STATE(217),
    [sym_symbol] = STATE(217),
    [sym_super] = STATE(219),
    [sym_self] = STATE(219),
    [sym__simple_symbol] = ACTIONS(378),
    [sym__symbol_beginning] = ACTIONS(380),
    [anon_sym_LPAREN] = ACTIONS(12140),
    [anon_sym_PIPE] = ACTIONS(384),
    [anon_sym_STAR] = ACTIONS(386),
    [anon_sym_STAR_STAR] = ACTIONS(384),
    [anon_sym_AMP] = ACTIONS(384),
    [anon_sym_LT] = ACTIONS(386),
    [anon_sym_DOT_DOT] = ACTIONS(384),
    [anon_sym_LT_LT] = ACTIONS(384),
    [anon_sym_GT_GT] = ACTIONS(384),
    [anon_sym_EQ_EQ] = ACTIONS(386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(384),
    [anon_sym_LT_EQ_GT] = ACTIONS(384),
    [anon_sym_EQ_TILDE] = ACTIONS(384),
    [anon_sym_BANG_TILDE] = ACTIONS(384),
    [anon_sym_LT_EQ] = ACTIONS(386),
    [anon_sym_GT] = ACTIONS(386),
    [anon_sym_GT_EQ] = ACTIONS(384),
    [anon_sym_CARET] = ACTIONS(384),
    [anon_sym_PLUS] = ACTIONS(386),
    [anon_sym_SLASH] = ACTIONS(384),
    [anon_sym_PERCENT] = ACTIONS(384),
    [anon_sym_BANG] = ACTIONS(386),
    [anon_sym_TILDE] = ACTIONS(384),
    [sym_constant] = ACTIONS(388),
    [sym_identifier] = ACTIONS(390),
    [sym_instance_variable] = ACTIONS(388),
    [sym_class_variable] = ACTIONS(388),
    [sym_global_variable] = ACTIONS(388),
    [anon_sym_self] = ACTIONS(392),
    [anon_sym_super] = ACTIONS(394),
    [anon_sym_DASH] = ACTIONS(386),
    [anon_sym_PLUS_AT] = ACTIONS(384),
    [anon_sym_DASH_AT] = ACTIONS(384),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(386),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(384),
    [anon_sym_BQUOTE] = ACTIONS(384),
    [sym_comment] = ACTIONS(110),
  },
  [6026] = {
    [sym__statements] = STATE(9258),
    [sym__top_level_statement] = STATE(235),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(236),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(237),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(240),
    [sym__mlhs] = STATE(241),
    [sym__simple_mlhs] = STATE(242),
    [sym_destructured_left_assignment] = STATE(242),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(243),
    [sym__variable] = STATE(239),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(396),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_RPAREN] = ACTIONS(12142),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(402),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(412),
    [anon_sym_defined_QMARK] = ACTIONS(414),
    [anon_sym_not] = ACTIONS(416),
    [anon_sym_BANG] = ACTIONS(418),
    [anon_sym_TILDE] = ACTIONS(418),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6027] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(293),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(9261),
    [sym_call] = STATE(295),
    [sym_method_call] = STATE(286),
    [sym__lhs] = STATE(255),
    [sym__variable] = STATE(295),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [sym__singleton_class_left_angle_left_langle] = ACTIONS(12144),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(458),
    [anon_sym_COLON_COLON] = ACTIONS(524),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(12146),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [6028] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(293),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(9263),
    [sym_call] = STATE(295),
    [sym_method_call] = STATE(286),
    [sym__lhs] = STATE(255),
    [sym__variable] = STATE(295),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(458),
    [anon_sym_COLON_COLON] = ACTIONS(524),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(12148),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [6029] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(2956),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2957),
    [sym_call] = STATE(2957),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(9264),
    [sym__argument_list_with_parens] = STATE(2959),
    [sym__argument] = STATE(2960),
    [sym_splat_argument] = STATE(2961),
    [sym_hash_splat_argument] = STATE(2961),
    [sym_block_argument] = STATE(2961),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(2963),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2964),
    [sym__variable] = STATE(2957),
    [sym_reserved_identifier] = STATE(2965),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(2966),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(2961),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(4326),
    [sym__splat_star] = ACTIONS(4328),
    [sym__argument_list_left_paren] = ACTIONS(4330),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(4332),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_RBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(544),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(4336),
    [anon_sym_yield] = ACTIONS(4338),
    [anon_sym_break] = ACTIONS(4340),
    [anon_sym_next] = ACTIONS(4342),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_PLUS_EQ] = ACTIONS(532),
    [anon_sym_DASH_EQ] = ACTIONS(532),
    [anon_sym_STAR_EQ] = ACTIONS(532),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(532),
    [anon_sym_SLASH_EQ] = ACTIONS(532),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(532),
    [anon_sym_PIPE_EQ] = ACTIONS(532),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(532),
    [anon_sym_AMP_EQ] = ACTIONS(532),
    [anon_sym_PERCENT_EQ] = ACTIONS(532),
    [anon_sym_GT_GT_EQ] = ACTIONS(532),
    [anon_sym_LT_LT_EQ] = ACTIONS(532),
    [anon_sym_CARET_EQ] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(544),
    [anon_sym_AMP_AMP] = ACTIONS(544),
    [anon_sym_LT_LT] = ACTIONS(544),
    [anon_sym_GT_GT] = ACTIONS(544),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(544),
    [anon_sym_PERCENT] = ACTIONS(544),
    [anon_sym_defined_QMARK] = ACTIONS(4346),
    [anon_sym_not] = ACTIONS(4348),
    [anon_sym_BANG] = ACTIONS(4350),
    [anon_sym_TILDE] = ACTIONS(4352),
    [sym_constant] = ACTIONS(4354),
    [sym_identifier] = ACTIONS(4354),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [6030] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(2956),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2957),
    [sym_call] = STATE(2957),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(9265),
    [sym__argument_list_with_parens] = STATE(2959),
    [sym__argument] = STATE(2960),
    [sym_splat_argument] = STATE(2961),
    [sym_hash_splat_argument] = STATE(2961),
    [sym_block_argument] = STATE(2961),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(2963),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2964),
    [sym__variable] = STATE(2957),
    [sym_reserved_identifier] = STATE(2965),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(2966),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(2961),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(4326),
    [sym__splat_star] = ACTIONS(4328),
    [sym__argument_list_left_paren] = ACTIONS(4330),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(4332),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_RBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(604),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(4336),
    [anon_sym_yield] = ACTIONS(4338),
    [anon_sym_break] = ACTIONS(4340),
    [anon_sym_next] = ACTIONS(4342),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_PLUS_EQ] = ACTIONS(602),
    [anon_sym_DASH_EQ] = ACTIONS(602),
    [anon_sym_STAR_EQ] = ACTIONS(602),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(602),
    [anon_sym_SLASH_EQ] = ACTIONS(602),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(602),
    [anon_sym_PIPE_EQ] = ACTIONS(602),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(602),
    [anon_sym_AMP_EQ] = ACTIONS(602),
    [anon_sym_PERCENT_EQ] = ACTIONS(602),
    [anon_sym_GT_GT_EQ] = ACTIONS(602),
    [anon_sym_LT_LT_EQ] = ACTIONS(602),
    [anon_sym_CARET_EQ] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(604),
    [anon_sym_AMP_AMP] = ACTIONS(604),
    [anon_sym_LT_LT] = ACTIONS(604),
    [anon_sym_GT_GT] = ACTIONS(604),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(604),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(604),
    [anon_sym_PERCENT] = ACTIONS(604),
    [anon_sym_defined_QMARK] = ACTIONS(4346),
    [anon_sym_not] = ACTIONS(4348),
    [anon_sym_BANG] = ACTIONS(4350),
    [anon_sym_TILDE] = ACTIONS(4352),
    [sym_constant] = ACTIONS(4354),
    [sym_identifier] = ACTIONS(4354),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [6031] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(2956),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2957),
    [sym_call] = STATE(2957),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(9266),
    [sym__argument_list_with_parens] = STATE(2959),
    [sym__argument] = STATE(2960),
    [sym_splat_argument] = STATE(2961),
    [sym_hash_splat_argument] = STATE(2961),
    [sym_block_argument] = STATE(2961),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(2963),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2964),
    [sym__variable] = STATE(2957),
    [sym_reserved_identifier] = STATE(2965),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(2966),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(2961),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(4326),
    [sym__splat_star] = ACTIONS(4328),
    [sym__argument_list_left_paren] = ACTIONS(4330),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(4332),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_RBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(608),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(4336),
    [anon_sym_yield] = ACTIONS(4338),
    [anon_sym_break] = ACTIONS(4340),
    [anon_sym_next] = ACTIONS(4342),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_PLUS_EQ] = ACTIONS(606),
    [anon_sym_DASH_EQ] = ACTIONS(606),
    [anon_sym_STAR_EQ] = ACTIONS(606),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(606),
    [anon_sym_SLASH_EQ] = ACTIONS(606),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(606),
    [anon_sym_PIPE_EQ] = ACTIONS(606),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(606),
    [anon_sym_AMP_EQ] = ACTIONS(606),
    [anon_sym_PERCENT_EQ] = ACTIONS(606),
    [anon_sym_GT_GT_EQ] = ACTIONS(606),
    [anon_sym_LT_LT_EQ] = ACTIONS(606),
    [anon_sym_CARET_EQ] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(608),
    [anon_sym_AMP_AMP] = ACTIONS(608),
    [anon_sym_LT_LT] = ACTIONS(608),
    [anon_sym_GT_GT] = ACTIONS(608),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(608),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(608),
    [anon_sym_PERCENT] = ACTIONS(608),
    [anon_sym_defined_QMARK] = ACTIONS(4346),
    [anon_sym_not] = ACTIONS(4348),
    [anon_sym_BANG] = ACTIONS(4350),
    [anon_sym_TILDE] = ACTIONS(4352),
    [sym_constant] = ACTIONS(4354),
    [sym_identifier] = ACTIONS(4354),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [6032] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(2956),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2957),
    [sym_call] = STATE(2957),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(9267),
    [sym__argument_list_with_parens] = STATE(2959),
    [sym__argument] = STATE(2960),
    [sym_splat_argument] = STATE(2961),
    [sym_hash_splat_argument] = STATE(2961),
    [sym_block_argument] = STATE(2961),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(2963),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2964),
    [sym__variable] = STATE(2957),
    [sym_reserved_identifier] = STATE(2965),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(2966),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(2961),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(4326),
    [sym__splat_star] = ACTIONS(4328),
    [sym__argument_list_left_paren] = ACTIONS(4330),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(4332),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_RBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(612),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(4336),
    [anon_sym_yield] = ACTIONS(4338),
    [anon_sym_break] = ACTIONS(4340),
    [anon_sym_next] = ACTIONS(4342),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_PLUS_EQ] = ACTIONS(610),
    [anon_sym_DASH_EQ] = ACTIONS(610),
    [anon_sym_STAR_EQ] = ACTIONS(610),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(610),
    [anon_sym_SLASH_EQ] = ACTIONS(610),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(610),
    [anon_sym_PIPE_EQ] = ACTIONS(610),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(610),
    [anon_sym_AMP_EQ] = ACTIONS(610),
    [anon_sym_PERCENT_EQ] = ACTIONS(610),
    [anon_sym_GT_GT_EQ] = ACTIONS(610),
    [anon_sym_LT_LT_EQ] = ACTIONS(610),
    [anon_sym_CARET_EQ] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(612),
    [anon_sym_AMP_AMP] = ACTIONS(612),
    [anon_sym_LT_LT] = ACTIONS(612),
    [anon_sym_GT_GT] = ACTIONS(612),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(612),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(612),
    [anon_sym_PERCENT] = ACTIONS(612),
    [anon_sym_defined_QMARK] = ACTIONS(4346),
    [anon_sym_not] = ACTIONS(4348),
    [anon_sym_BANG] = ACTIONS(4350),
    [anon_sym_TILDE] = ACTIONS(4352),
    [sym_constant] = ACTIONS(4354),
    [sym_identifier] = ACTIONS(4354),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [6033] = {
    [sym__simple_heredoc_body] = ACTIONS(614),
    [sym__heredoc_body_beginning] = ACTIONS(614),
    [sym__element_reference_left_bracket] = ACTIONS(614),
    [sym__scope_double_colon] = ACTIONS(614),
    [sym__binary_minus] = ACTIONS(614),
    [sym__binary_star] = ACTIONS(614),
    [anon_sym_LBRACE] = ACTIONS(614),
    [anon_sym_RBRACE] = ACTIONS(614),
    [anon_sym_RPAREN] = ACTIONS(614),
    [anon_sym_DOT] = ACTIONS(616),
    [anon_sym_COMMA] = ACTIONS(614),
    [anon_sym_PIPE] = ACTIONS(616),
    [anon_sym_SEMI] = ACTIONS(614),
    [anon_sym_STAR_STAR] = ACTIONS(616),
    [anon_sym_AMP] = ACTIONS(616),
    [anon_sym_EQ] = ACTIONS(616),
    [anon_sym_LT] = ACTIONS(616),
    [anon_sym_in] = ACTIONS(614),
    [anon_sym_do] = ACTIONS(614),
    [anon_sym_RBRACK] = ACTIONS(614),
    [anon_sym_AMP_DOT] = ACTIONS(614),
    [anon_sym_PLUS_EQ] = ACTIONS(614),
    [anon_sym_DASH_EQ] = ACTIONS(614),
    [anon_sym_STAR_EQ] = ACTIONS(614),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(614),
    [anon_sym_SLASH_EQ] = ACTIONS(614),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(614),
    [anon_sym_PIPE_EQ] = ACTIONS(614),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(614),
    [anon_sym_AMP_EQ] = ACTIONS(614),
    [anon_sym_PERCENT_EQ] = ACTIONS(614),
    [anon_sym_GT_GT_EQ] = ACTIONS(614),
    [anon_sym_LT_LT_EQ] = ACTIONS(614),
    [anon_sym_CARET_EQ] = ACTIONS(614),
    [anon_sym_QMARK] = ACTIONS(614),
    [anon_sym_COLON] = ACTIONS(614),
    [anon_sym_DOT_DOT] = ACTIONS(616),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(614),
    [anon_sym_and] = ACTIONS(614),
    [anon_sym_or] = ACTIONS(614),
    [anon_sym_PIPE_PIPE] = ACTIONS(616),
    [anon_sym_AMP_AMP] = ACTIONS(616),
    [anon_sym_LT_LT] = ACTIONS(616),
    [anon_sym_GT_GT] = ACTIONS(616),
    [anon_sym_EQ_EQ] = ACTIONS(616),
    [anon_sym_BANG_EQ] = ACTIONS(614),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(614),
    [anon_sym_LT_EQ_GT] = ACTIONS(614),
    [anon_sym_EQ_TILDE] = ACTIONS(614),
    [anon_sym_BANG_TILDE] = ACTIONS(614),
    [anon_sym_LT_EQ] = ACTIONS(616),
    [anon_sym_GT] = ACTIONS(616),
    [anon_sym_GT_EQ] = ACTIONS(614),
    [anon_sym_CARET] = ACTIONS(616),
    [anon_sym_PLUS] = ACTIONS(616),
    [anon_sym_SLASH] = ACTIONS(616),
    [anon_sym_PERCENT] = ACTIONS(616),
    [sym_comment] = ACTIONS(256),
  },
  [6034] = {
    [sym__simple_heredoc_body] = ACTIONS(618),
    [sym__heredoc_body_beginning] = ACTIONS(618),
    [sym__element_reference_left_bracket] = ACTIONS(618),
    [sym__scope_double_colon] = ACTIONS(618),
    [sym__binary_minus] = ACTIONS(618),
    [sym__binary_star] = ACTIONS(618),
    [anon_sym_LBRACE] = ACTIONS(618),
    [anon_sym_RBRACE] = ACTIONS(618),
    [anon_sym_RPAREN] = ACTIONS(618),
    [anon_sym_DOT] = ACTIONS(620),
    [anon_sym_COMMA] = ACTIONS(618),
    [anon_sym_PIPE] = ACTIONS(620),
    [anon_sym_SEMI] = ACTIONS(618),
    [anon_sym_STAR_STAR] = ACTIONS(620),
    [anon_sym_AMP] = ACTIONS(620),
    [anon_sym_EQ] = ACTIONS(620),
    [anon_sym_LT] = ACTIONS(620),
    [anon_sym_in] = ACTIONS(618),
    [anon_sym_do] = ACTIONS(618),
    [anon_sym_RBRACK] = ACTIONS(618),
    [anon_sym_AMP_DOT] = ACTIONS(618),
    [anon_sym_PLUS_EQ] = ACTIONS(618),
    [anon_sym_DASH_EQ] = ACTIONS(618),
    [anon_sym_STAR_EQ] = ACTIONS(618),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(618),
    [anon_sym_SLASH_EQ] = ACTIONS(618),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(618),
    [anon_sym_PIPE_EQ] = ACTIONS(618),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(618),
    [anon_sym_AMP_EQ] = ACTIONS(618),
    [anon_sym_PERCENT_EQ] = ACTIONS(618),
    [anon_sym_GT_GT_EQ] = ACTIONS(618),
    [anon_sym_LT_LT_EQ] = ACTIONS(618),
    [anon_sym_CARET_EQ] = ACTIONS(618),
    [anon_sym_QMARK] = ACTIONS(618),
    [anon_sym_COLON] = ACTIONS(618),
    [anon_sym_DOT_DOT] = ACTIONS(620),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(618),
    [anon_sym_and] = ACTIONS(618),
    [anon_sym_or] = ACTIONS(618),
    [anon_sym_PIPE_PIPE] = ACTIONS(620),
    [anon_sym_AMP_AMP] = ACTIONS(620),
    [anon_sym_LT_LT] = ACTIONS(620),
    [anon_sym_GT_GT] = ACTIONS(620),
    [anon_sym_EQ_EQ] = ACTIONS(620),
    [anon_sym_BANG_EQ] = ACTIONS(618),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(618),
    [anon_sym_LT_EQ_GT] = ACTIONS(618),
    [anon_sym_EQ_TILDE] = ACTIONS(618),
    [anon_sym_BANG_TILDE] = ACTIONS(618),
    [anon_sym_LT_EQ] = ACTIONS(620),
    [anon_sym_GT] = ACTIONS(620),
    [anon_sym_GT_EQ] = ACTIONS(618),
    [anon_sym_CARET] = ACTIONS(620),
    [anon_sym_PLUS] = ACTIONS(620),
    [anon_sym_SLASH] = ACTIONS(620),
    [anon_sym_PERCENT] = ACTIONS(620),
    [sym_comment] = ACTIONS(256),
  },
  [6035] = {
    [sym__statement] = STATE(9268),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(361),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6036] = {
    [sym__statement] = STATE(9269),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(361),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6037] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9270),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6038] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9271),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6039] = {
    [sym_method] = STATE(255),
    [sym_singleton_method] = STATE(255),
    [sym_class] = STATE(255),
    [sym_singleton_class] = STATE(255),
    [sym_module] = STATE(255),
    [sym_return] = STATE(255),
    [sym_yield] = STATE(255),
    [sym_break] = STATE(255),
    [sym_next] = STATE(255),
    [sym_redo] = STATE(255),
    [sym_retry] = STATE(255),
    [sym_while] = STATE(255),
    [sym_until] = STATE(255),
    [sym_for] = STATE(255),
    [sym_case] = STATE(255),
    [sym_if] = STATE(255),
    [sym_unless] = STATE(255),
    [sym_begin] = STATE(255),
    [sym__primary] = STATE(285),
    [sym_parenthesized_statements] = STATE(255),
    [sym_element_reference] = STATE(286),
    [sym_scope_resolution] = STATE(381),
    [sym_call] = STATE(381),
    [sym_method_call] = STATE(286),
    [sym__mlhs] = STATE(9272),
    [sym__simple_mlhs] = STATE(383),
    [sym_destructured_left_assignment] = STATE(383),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(384),
    [sym__variable] = STATE(381),
    [sym_symbol] = STATE(255),
    [sym_complex] = STATE(255),
    [sym_rational] = STATE(255),
    [sym_super] = STATE(275),
    [sym_true] = STATE(286),
    [sym_false] = STATE(286),
    [sym_self] = STATE(275),
    [sym_nil] = STATE(286),
    [sym_chained_string] = STATE(255),
    [sym_string] = STATE(289),
    [sym_subshell] = STATE(255),
    [sym_array] = STATE(255),
    [sym_hash] = STATE(255),
    [sym_regex] = STATE(255),
    [sym_lambda] = STATE(255),
    [sym__simple_string] = ACTIONS(432),
    [sym__simple_symbol] = ACTIONS(434),
    [sym__simple_subshell] = ACTIONS(436),
    [sym__simple_regex] = ACTIONS(438),
    [sym__simple_word_list] = ACTIONS(440),
    [sym__string_beginning] = ACTIONS(442),
    [sym__symbol_beginning] = ACTIONS(444),
    [sym__subshell_beginning] = ACTIONS(446),
    [sym__regex_beginning] = ACTIONS(448),
    [sym__word_list_beginning] = ACTIONS(450),
    [sym_heredoc_beginning] = ACTIONS(452),
    [anon_sym_LBRACE] = ACTIONS(454),
    [anon_sym_def] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(658),
    [anon_sym_COLON_COLON] = ACTIONS(460),
    [anon_sym_STAR] = ACTIONS(660),
    [anon_sym_class] = ACTIONS(464),
    [anon_sym_module] = ACTIONS(466),
    [anon_sym_return] = ACTIONS(468),
    [anon_sym_yield] = ACTIONS(470),
    [anon_sym_break] = ACTIONS(472),
    [anon_sym_next] = ACTIONS(474),
    [anon_sym_redo] = ACTIONS(476),
    [anon_sym_retry] = ACTIONS(478),
    [anon_sym_if] = ACTIONS(480),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(484),
    [anon_sym_until] = ACTIONS(486),
    [anon_sym_for] = ACTIONS(488),
    [anon_sym_case] = ACTIONS(490),
    [anon_sym_begin] = ACTIONS(492),
    [sym_constant] = ACTIONS(494),
    [sym_identifier] = ACTIONS(494),
    [sym_instance_variable] = ACTIONS(496),
    [sym_class_variable] = ACTIONS(496),
    [sym_global_variable] = ACTIONS(496),
    [anon_sym_false] = ACTIONS(498),
    [anon_sym_nil] = ACTIONS(500),
    [anon_sym_self] = ACTIONS(502),
    [anon_sym_super] = ACTIONS(504),
    [anon_sym_true] = ACTIONS(506),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(508),
    [sym_float] = ACTIONS(510),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(512),
    [anon_sym_TRUE] = ACTIONS(506),
    [anon_sym_FALSE] = ACTIONS(498),
    [anon_sym_NIL] = ACTIONS(500),
    [sym_keyword__FILE__] = ACTIONS(514),
    [sym_keyword__LINE__] = ACTIONS(514),
    [sym_keyword__ENCODING__] = ACTIONS(514),
    [sym__character_literal] = ACTIONS(516),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_DASH_GT] = ACTIONS(520),
  },
  [6040] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_when] = STATE(9273),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9274),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(400),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(401),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(387),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__terminator] = STATE(402),
    [aux_sym_case_repeat1] = STATE(9275),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(666),
    [sym__unary_minus] = ACTIONS(668),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_when] = ACTIONS(678),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(680),
    [anon_sym_defined_QMARK] = ACTIONS(682),
    [anon_sym_not] = ACTIONS(684),
    [anon_sym_BANG] = ACTIONS(686),
    [anon_sym_TILDE] = ACTIONS(686),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6041] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(9277),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(9278),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(692),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(12150),
    [anon_sym_SEMI] = ACTIONS(698),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6042] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(9279),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6051),
    [sym_call] = STATE(6051),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(6053),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6054),
    [sym__variable] = STATE(6051),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(8420),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(8432),
    [anon_sym_yield] = ACTIONS(8434),
    [anon_sym_break] = ACTIONS(8436),
    [anon_sym_next] = ACTIONS(8438),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(8458),
    [anon_sym_defined_QMARK] = ACTIONS(8460),
    [anon_sym_not] = ACTIONS(8462),
    [anon_sym_BANG] = ACTIONS(8464),
    [anon_sym_TILDE] = ACTIONS(8464),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [6043] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(9280),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6051),
    [sym_call] = STATE(6051),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(6053),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6054),
    [sym__variable] = STATE(6051),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(8420),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(8432),
    [anon_sym_yield] = ACTIONS(8434),
    [anon_sym_break] = ACTIONS(8436),
    [anon_sym_next] = ACTIONS(8438),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(8458),
    [anon_sym_defined_QMARK] = ACTIONS(8460),
    [anon_sym_not] = ACTIONS(8462),
    [anon_sym_BANG] = ACTIONS(8464),
    [anon_sym_TILDE] = ACTIONS(8464),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [6044] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(9281),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6051),
    [sym_call] = STATE(6051),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(6053),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6054),
    [sym__variable] = STATE(6051),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(8420),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(8432),
    [anon_sym_yield] = ACTIONS(8434),
    [anon_sym_break] = ACTIONS(8436),
    [anon_sym_next] = ACTIONS(8438),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(8458),
    [anon_sym_defined_QMARK] = ACTIONS(8460),
    [anon_sym_not] = ACTIONS(8462),
    [anon_sym_BANG] = ACTIONS(8464),
    [anon_sym_TILDE] = ACTIONS(8464),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [6045] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_RBRACE] = ACTIONS(250),
    [anon_sym_RPAREN] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_in] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_RBRACK] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_COLON] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
    [anon_sym_r] = ACTIONS(12152),
  },
  [6046] = {
    [sym__simple_heredoc_body] = ACTIONS(778),
    [sym__heredoc_body_beginning] = ACTIONS(778),
    [sym__element_reference_left_bracket] = ACTIONS(778),
    [sym__scope_double_colon] = ACTIONS(778),
    [sym__binary_minus] = ACTIONS(778),
    [sym__binary_star] = ACTIONS(778),
    [anon_sym_LBRACE] = ACTIONS(778),
    [anon_sym_RBRACE] = ACTIONS(778),
    [anon_sym_RPAREN] = ACTIONS(778),
    [anon_sym_DOT] = ACTIONS(780),
    [anon_sym_COMMA] = ACTIONS(778),
    [anon_sym_PIPE] = ACTIONS(780),
    [anon_sym_SEMI] = ACTIONS(778),
    [anon_sym_STAR_STAR] = ACTIONS(780),
    [anon_sym_AMP] = ACTIONS(780),
    [anon_sym_EQ] = ACTIONS(780),
    [anon_sym_LT] = ACTIONS(780),
    [anon_sym_in] = ACTIONS(778),
    [anon_sym_do] = ACTIONS(778),
    [anon_sym_RBRACK] = ACTIONS(778),
    [anon_sym_AMP_DOT] = ACTIONS(778),
    [anon_sym_PLUS_EQ] = ACTIONS(778),
    [anon_sym_DASH_EQ] = ACTIONS(778),
    [anon_sym_STAR_EQ] = ACTIONS(778),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(778),
    [anon_sym_SLASH_EQ] = ACTIONS(778),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(778),
    [anon_sym_PIPE_EQ] = ACTIONS(778),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(778),
    [anon_sym_AMP_EQ] = ACTIONS(778),
    [anon_sym_PERCENT_EQ] = ACTIONS(778),
    [anon_sym_GT_GT_EQ] = ACTIONS(778),
    [anon_sym_LT_LT_EQ] = ACTIONS(778),
    [anon_sym_CARET_EQ] = ACTIONS(778),
    [anon_sym_QMARK] = ACTIONS(778),
    [anon_sym_COLON] = ACTIONS(778),
    [anon_sym_DOT_DOT] = ACTIONS(780),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(778),
    [anon_sym_and] = ACTIONS(778),
    [anon_sym_or] = ACTIONS(778),
    [anon_sym_PIPE_PIPE] = ACTIONS(780),
    [anon_sym_AMP_AMP] = ACTIONS(780),
    [anon_sym_LT_LT] = ACTIONS(780),
    [anon_sym_GT_GT] = ACTIONS(780),
    [anon_sym_EQ_EQ] = ACTIONS(780),
    [anon_sym_BANG_EQ] = ACTIONS(778),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(778),
    [anon_sym_LT_EQ_GT] = ACTIONS(778),
    [anon_sym_EQ_TILDE] = ACTIONS(778),
    [anon_sym_BANG_TILDE] = ACTIONS(778),
    [anon_sym_LT_EQ] = ACTIONS(780),
    [anon_sym_GT] = ACTIONS(780),
    [anon_sym_GT_EQ] = ACTIONS(778),
    [anon_sym_CARET] = ACTIONS(780),
    [anon_sym_PLUS] = ACTIONS(780),
    [anon_sym_SLASH] = ACTIONS(780),
    [anon_sym_PERCENT] = ACTIONS(780),
    [sym_comment] = ACTIONS(256),
  },
  [6047] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(501),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(9284),
    [sym__argument] = STATE(506),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(509),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(510),
    [sym__variable] = STATE(504),
    [sym_reserved_identifier] = STATE(511),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(512),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(9285),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(804),
    [sym__splat_star] = ACTIONS(806),
    [sym__unary_minus] = ACTIONS(808),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(818),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(824),
    [anon_sym_yield] = ACTIONS(826),
    [anon_sym_break] = ACTIONS(828),
    [anon_sym_next] = ACTIONS(830),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_RBRACK] = ACTIONS(12154),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(852),
    [anon_sym_defined_QMARK] = ACTIONS(854),
    [anon_sym_not] = ACTIONS(856),
    [anon_sym_BANG] = ACTIONS(858),
    [anon_sym_TILDE] = ACTIONS(858),
    [sym_constant] = ACTIONS(860),
    [sym_identifier] = ACTIONS(860),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6048] = {
    [sym_lambda_parameters] = STATE(9286),
    [sym__simple_formal_parameter] = STATE(522),
    [sym_splat_parameter] = STATE(523),
    [sym_hash_splat_parameter] = STATE(523),
    [sym_block_parameter] = STATE(523),
    [sym_keyword_parameter] = STATE(523),
    [sym_optional_parameter] = STATE(523),
    [sym_do_block] = STATE(9287),
    [sym_block] = STATE(9287),
    [anon_sym_LBRACE] = ACTIONS(8526),
    [anon_sym_LPAREN] = ACTIONS(896),
    [anon_sym_STAR] = ACTIONS(898),
    [anon_sym_STAR_STAR] = ACTIONS(900),
    [anon_sym_AMP] = ACTIONS(902),
    [anon_sym_do] = ACTIONS(12156),
    [sym_identifier] = ACTIONS(906),
    [sym_comment] = ACTIONS(110),
  },
  [6049] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(12158),
    [sym__binary_star] = ACTIONS(12160),
    [anon_sym_LBRACE] = ACTIONS(5298),
    [anon_sym_RBRACE] = ACTIONS(5298),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(12162),
    [anon_sym_STAR_STAR] = ACTIONS(12164),
    [anon_sym_AMP] = ACTIONS(12166),
    [anon_sym_EQ] = ACTIONS(5304),
    [anon_sym_LT] = ACTIONS(12168),
    [anon_sym_do] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_PLUS_EQ] = ACTIONS(5298),
    [anon_sym_DASH_EQ] = ACTIONS(5298),
    [anon_sym_STAR_EQ] = ACTIONS(5298),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5298),
    [anon_sym_SLASH_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5298),
    [anon_sym_AMP_EQ] = ACTIONS(5298),
    [anon_sym_PERCENT_EQ] = ACTIONS(5298),
    [anon_sym_GT_GT_EQ] = ACTIONS(5298),
    [anon_sym_LT_LT_EQ] = ACTIONS(5298),
    [anon_sym_CARET_EQ] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(12170),
    [anon_sym_DOT_DOT] = ACTIONS(12172),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12174),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(12176),
    [anon_sym_AMP_AMP] = ACTIONS(12176),
    [anon_sym_LT_LT] = ACTIONS(12178),
    [anon_sym_GT_GT] = ACTIONS(12178),
    [anon_sym_EQ_EQ] = ACTIONS(12176),
    [anon_sym_BANG_EQ] = ACTIONS(12180),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12180),
    [anon_sym_LT_EQ_GT] = ACTIONS(12180),
    [anon_sym_EQ_TILDE] = ACTIONS(12180),
    [anon_sym_BANG_TILDE] = ACTIONS(12180),
    [anon_sym_LT_EQ] = ACTIONS(12168),
    [anon_sym_GT] = ACTIONS(12168),
    [anon_sym_GT_EQ] = ACTIONS(12182),
    [anon_sym_CARET] = ACTIONS(12162),
    [anon_sym_PLUS] = ACTIONS(12184),
    [anon_sym_SLASH] = ACTIONS(12164),
    [anon_sym_PERCENT] = ACTIONS(12164),
    [sym_comment] = ACTIONS(256),
  },
  [6050] = {
    [sym__simple_heredoc_body] = ACTIONS(968),
    [sym__heredoc_body_beginning] = ACTIONS(968),
    [sym__element_reference_left_bracket] = ACTIONS(4318),
    [sym__scope_double_colon] = ACTIONS(4320),
    [sym__binary_minus] = ACTIONS(968),
    [sym__binary_star] = ACTIONS(968),
    [anon_sym_LBRACE] = ACTIONS(968),
    [anon_sym_RBRACE] = ACTIONS(968),
    [anon_sym_RPAREN] = ACTIONS(968),
    [anon_sym_DOT] = ACTIONS(4322),
    [anon_sym_COMMA] = ACTIONS(968),
    [anon_sym_PIPE] = ACTIONS(976),
    [anon_sym_SEMI] = ACTIONS(968),
    [anon_sym_STAR_STAR] = ACTIONS(976),
    [anon_sym_AMP] = ACTIONS(976),
    [anon_sym_EQ] = ACTIONS(976),
    [anon_sym_LT] = ACTIONS(976),
    [anon_sym_in] = ACTIONS(968),
    [anon_sym_do] = ACTIONS(968),
    [anon_sym_RBRACK] = ACTIONS(968),
    [anon_sym_AMP_DOT] = ACTIONS(4324),
    [anon_sym_PLUS_EQ] = ACTIONS(968),
    [anon_sym_DASH_EQ] = ACTIONS(968),
    [anon_sym_STAR_EQ] = ACTIONS(968),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(968),
    [anon_sym_SLASH_EQ] = ACTIONS(968),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(968),
    [anon_sym_PIPE_EQ] = ACTIONS(968),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(968),
    [anon_sym_AMP_EQ] = ACTIONS(968),
    [anon_sym_PERCENT_EQ] = ACTIONS(968),
    [anon_sym_GT_GT_EQ] = ACTIONS(968),
    [anon_sym_LT_LT_EQ] = ACTIONS(968),
    [anon_sym_CARET_EQ] = ACTIONS(968),
    [anon_sym_QMARK] = ACTIONS(968),
    [anon_sym_COLON] = ACTIONS(968),
    [anon_sym_DOT_DOT] = ACTIONS(976),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(968),
    [anon_sym_and] = ACTIONS(968),
    [anon_sym_or] = ACTIONS(968),
    [anon_sym_PIPE_PIPE] = ACTIONS(976),
    [anon_sym_AMP_AMP] = ACTIONS(976),
    [anon_sym_LT_LT] = ACTIONS(976),
    [anon_sym_GT_GT] = ACTIONS(976),
    [anon_sym_EQ_EQ] = ACTIONS(976),
    [anon_sym_BANG_EQ] = ACTIONS(968),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(968),
    [anon_sym_LT_EQ_GT] = ACTIONS(968),
    [anon_sym_EQ_TILDE] = ACTIONS(968),
    [anon_sym_BANG_TILDE] = ACTIONS(968),
    [anon_sym_LT_EQ] = ACTIONS(976),
    [anon_sym_GT] = ACTIONS(976),
    [anon_sym_GT_EQ] = ACTIONS(968),
    [anon_sym_CARET] = ACTIONS(976),
    [anon_sym_PLUS] = ACTIONS(976),
    [anon_sym_SLASH] = ACTIONS(976),
    [anon_sym_PERCENT] = ACTIONS(976),
    [sym_comment] = ACTIONS(256),
  },
  [6051] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(2956),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2957),
    [sym_call] = STATE(2957),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(6712),
    [sym__argument_list_with_parens] = STATE(2959),
    [sym__argument] = STATE(2960),
    [sym_splat_argument] = STATE(2961),
    [sym_hash_splat_argument] = STATE(2961),
    [sym_block_argument] = STATE(2961),
    [sym_do_block] = STATE(2962),
    [sym_block] = STATE(2962),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(2963),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2964),
    [sym__variable] = STATE(2957),
    [sym_reserved_identifier] = STATE(2965),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(2966),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(2961),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(4326),
    [sym__splat_star] = ACTIONS(4328),
    [sym__argument_list_left_paren] = ACTIONS(4330),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(4332),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(4334),
    [anon_sym_RBRACE] = ACTIONS(980),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(4336),
    [anon_sym_yield] = ACTIONS(4338),
    [anon_sym_break] = ACTIONS(4340),
    [anon_sym_next] = ACTIONS(4342),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(982),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(4346),
    [anon_sym_not] = ACTIONS(4348),
    [anon_sym_BANG] = ACTIONS(4350),
    [anon_sym_TILDE] = ACTIONS(4352),
    [sym_constant] = ACTIONS(4354),
    [sym_identifier] = ACTIONS(4354),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [6052] = {
    [sym__simple_heredoc_body] = ACTIONS(968),
    [sym__heredoc_body_beginning] = ACTIONS(968),
    [sym__element_reference_left_bracket] = ACTIONS(968),
    [sym__scope_double_colon] = ACTIONS(968),
    [sym__binary_minus] = ACTIONS(968),
    [sym__binary_star] = ACTIONS(968),
    [anon_sym_LBRACE] = ACTIONS(968),
    [anon_sym_RBRACE] = ACTIONS(968),
    [anon_sym_RPAREN] = ACTIONS(968),
    [anon_sym_DOT] = ACTIONS(976),
    [anon_sym_COMMA] = ACTIONS(968),
    [anon_sym_PIPE] = ACTIONS(976),
    [anon_sym_SEMI] = ACTIONS(968),
    [anon_sym_STAR_STAR] = ACTIONS(976),
    [anon_sym_AMP] = ACTIONS(976),
    [anon_sym_EQ] = ACTIONS(976),
    [anon_sym_LT] = ACTIONS(976),
    [anon_sym_in] = ACTIONS(968),
    [anon_sym_do] = ACTIONS(968),
    [anon_sym_RBRACK] = ACTIONS(968),
    [anon_sym_AMP_DOT] = ACTIONS(968),
    [anon_sym_PLUS_EQ] = ACTIONS(968),
    [anon_sym_DASH_EQ] = ACTIONS(968),
    [anon_sym_STAR_EQ] = ACTIONS(968),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(968),
    [anon_sym_SLASH_EQ] = ACTIONS(968),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(968),
    [anon_sym_PIPE_EQ] = ACTIONS(968),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(968),
    [anon_sym_AMP_EQ] = ACTIONS(968),
    [anon_sym_PERCENT_EQ] = ACTIONS(968),
    [anon_sym_GT_GT_EQ] = ACTIONS(968),
    [anon_sym_LT_LT_EQ] = ACTIONS(968),
    [anon_sym_CARET_EQ] = ACTIONS(968),
    [anon_sym_QMARK] = ACTIONS(968),
    [anon_sym_COLON] = ACTIONS(968),
    [anon_sym_DOT_DOT] = ACTIONS(976),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(968),
    [anon_sym_and] = ACTIONS(968),
    [anon_sym_or] = ACTIONS(968),
    [anon_sym_PIPE_PIPE] = ACTIONS(976),
    [anon_sym_AMP_AMP] = ACTIONS(976),
    [anon_sym_LT_LT] = ACTIONS(976),
    [anon_sym_GT_GT] = ACTIONS(976),
    [anon_sym_EQ_EQ] = ACTIONS(976),
    [anon_sym_BANG_EQ] = ACTIONS(968),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(968),
    [anon_sym_LT_EQ_GT] = ACTIONS(968),
    [anon_sym_EQ_TILDE] = ACTIONS(968),
    [anon_sym_BANG_TILDE] = ACTIONS(968),
    [anon_sym_LT_EQ] = ACTIONS(976),
    [anon_sym_GT] = ACTIONS(976),
    [anon_sym_GT_EQ] = ACTIONS(968),
    [anon_sym_CARET] = ACTIONS(976),
    [anon_sym_PLUS] = ACTIONS(976),
    [anon_sym_SLASH] = ACTIONS(976),
    [anon_sym_PERCENT] = ACTIONS(976),
    [sym_comment] = ACTIONS(256),
  },
  [6053] = {
    [anon_sym_EQ] = ACTIONS(12186),
    [sym_comment] = ACTIONS(256),
  },
  [6054] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_RBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(12188),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(12190),
    [anon_sym_DASH_EQ] = ACTIONS(12190),
    [anon_sym_STAR_EQ] = ACTIONS(12190),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(12190),
    [anon_sym_SLASH_EQ] = ACTIONS(12190),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(12190),
    [anon_sym_PIPE_EQ] = ACTIONS(12190),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(12190),
    [anon_sym_AMP_EQ] = ACTIONS(12190),
    [anon_sym_PERCENT_EQ] = ACTIONS(12190),
    [anon_sym_GT_GT_EQ] = ACTIONS(12190),
    [anon_sym_LT_LT_EQ] = ACTIONS(12190),
    [anon_sym_CARET_EQ] = ACTIONS(12190),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [6055] = {
    [sym_string] = STATE(9302),
    [aux_sym_chained_string_repeat1] = STATE(9303),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_RBRACE] = ACTIONS(250),
    [anon_sym_RPAREN] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_in] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_RBRACK] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_COLON] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(8474),
  },
  [6056] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(12158),
    [sym__binary_star] = ACTIONS(12160),
    [anon_sym_LBRACE] = ACTIONS(5338),
    [anon_sym_RBRACE] = ACTIONS(5338),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(12162),
    [anon_sym_STAR_STAR] = ACTIONS(12164),
    [anon_sym_AMP] = ACTIONS(12166),
    [anon_sym_EQ] = ACTIONS(5340),
    [anon_sym_LT] = ACTIONS(12168),
    [anon_sym_do] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_PLUS_EQ] = ACTIONS(5338),
    [anon_sym_DASH_EQ] = ACTIONS(5338),
    [anon_sym_STAR_EQ] = ACTIONS(5338),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5338),
    [anon_sym_SLASH_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5338),
    [anon_sym_AMP_EQ] = ACTIONS(5338),
    [anon_sym_PERCENT_EQ] = ACTIONS(5338),
    [anon_sym_GT_GT_EQ] = ACTIONS(5338),
    [anon_sym_LT_LT_EQ] = ACTIONS(5338),
    [anon_sym_CARET_EQ] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(12170),
    [anon_sym_DOT_DOT] = ACTIONS(12172),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12174),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(12176),
    [anon_sym_AMP_AMP] = ACTIONS(12176),
    [anon_sym_LT_LT] = ACTIONS(12178),
    [anon_sym_GT_GT] = ACTIONS(12178),
    [anon_sym_EQ_EQ] = ACTIONS(12176),
    [anon_sym_BANG_EQ] = ACTIONS(12180),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12180),
    [anon_sym_LT_EQ_GT] = ACTIONS(12180),
    [anon_sym_EQ_TILDE] = ACTIONS(12180),
    [anon_sym_BANG_TILDE] = ACTIONS(12180),
    [anon_sym_LT_EQ] = ACTIONS(12168),
    [anon_sym_GT] = ACTIONS(12168),
    [anon_sym_GT_EQ] = ACTIONS(12182),
    [anon_sym_CARET] = ACTIONS(12162),
    [anon_sym_PLUS] = ACTIONS(12184),
    [anon_sym_SLASH] = ACTIONS(12164),
    [anon_sym_PERCENT] = ACTIONS(12164),
    [sym_comment] = ACTIONS(256),
  },
  [6057] = {
    [sym__simple_heredoc_body] = ACTIONS(5370),
    [sym__heredoc_body_beginning] = ACTIONS(5370),
    [sym__element_reference_left_bracket] = ACTIONS(5370),
    [sym__scope_double_colon] = ACTIONS(5370),
    [sym__binary_minus] = ACTIONS(5370),
    [sym__binary_star] = ACTIONS(5370),
    [anon_sym_LBRACE] = ACTIONS(5370),
    [anon_sym_RBRACE] = ACTIONS(5370),
    [anon_sym_RPAREN] = ACTIONS(5370),
    [anon_sym_DOT] = ACTIONS(5372),
    [anon_sym_COMMA] = ACTIONS(5370),
    [anon_sym_PIPE] = ACTIONS(5372),
    [anon_sym_SEMI] = ACTIONS(5370),
    [anon_sym_STAR_STAR] = ACTIONS(5372),
    [anon_sym_AMP] = ACTIONS(5372),
    [anon_sym_EQ] = ACTIONS(5372),
    [anon_sym_LT] = ACTIONS(5372),
    [anon_sym_in] = ACTIONS(5370),
    [anon_sym_do] = ACTIONS(5370),
    [anon_sym_RBRACK] = ACTIONS(5370),
    [anon_sym_AMP_DOT] = ACTIONS(5370),
    [anon_sym_PLUS_EQ] = ACTIONS(5370),
    [anon_sym_DASH_EQ] = ACTIONS(5370),
    [anon_sym_STAR_EQ] = ACTIONS(5370),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5370),
    [anon_sym_SLASH_EQ] = ACTIONS(5370),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5370),
    [anon_sym_PIPE_EQ] = ACTIONS(5370),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5370),
    [anon_sym_AMP_EQ] = ACTIONS(5370),
    [anon_sym_PERCENT_EQ] = ACTIONS(5370),
    [anon_sym_GT_GT_EQ] = ACTIONS(5370),
    [anon_sym_LT_LT_EQ] = ACTIONS(5370),
    [anon_sym_CARET_EQ] = ACTIONS(5370),
    [anon_sym_QMARK] = ACTIONS(5370),
    [anon_sym_COLON] = ACTIONS(5370),
    [anon_sym_DOT_DOT] = ACTIONS(5372),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5370),
    [anon_sym_and] = ACTIONS(5370),
    [anon_sym_or] = ACTIONS(5370),
    [anon_sym_PIPE_PIPE] = ACTIONS(5372),
    [anon_sym_AMP_AMP] = ACTIONS(5372),
    [anon_sym_LT_LT] = ACTIONS(5372),
    [anon_sym_GT_GT] = ACTIONS(5372),
    [anon_sym_EQ_EQ] = ACTIONS(5372),
    [anon_sym_BANG_EQ] = ACTIONS(5370),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5370),
    [anon_sym_LT_EQ_GT] = ACTIONS(5370),
    [anon_sym_EQ_TILDE] = ACTIONS(5370),
    [anon_sym_BANG_TILDE] = ACTIONS(5370),
    [anon_sym_LT_EQ] = ACTIONS(5372),
    [anon_sym_GT] = ACTIONS(5372),
    [anon_sym_GT_EQ] = ACTIONS(5370),
    [anon_sym_CARET] = ACTIONS(5372),
    [anon_sym_PLUS] = ACTIONS(5372),
    [anon_sym_SLASH] = ACTIONS(5372),
    [anon_sym_PERCENT] = ACTIONS(5372),
    [sym_comment] = ACTIONS(256),
  },
  [6058] = {
    [sym_heredoc_end] = STATE(9305),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RPAREN] = ACTIONS(12192),
    [sym_comment] = ACTIONS(110),
  },
  [6059] = {
    [anon_sym_RPAREN] = ACTIONS(12192),
    [sym_comment] = ACTIONS(110),
  },
  [6060] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(5983),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2957),
    [sym_call] = STATE(2957),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(3104),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(5984),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(2963),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2964),
    [sym__variable] = STATE(2957),
    [sym_reserved_identifier] = STATE(5985),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(5986),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(8370),
    [sym__splat_star] = ACTIONS(8372),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(4332),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_RBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(544),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(4336),
    [anon_sym_yield] = ACTIONS(4338),
    [anon_sym_break] = ACTIONS(4340),
    [anon_sym_next] = ACTIONS(4342),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_PLUS_EQ] = ACTIONS(532),
    [anon_sym_DASH_EQ] = ACTIONS(532),
    [anon_sym_STAR_EQ] = ACTIONS(532),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(532),
    [anon_sym_SLASH_EQ] = ACTIONS(532),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(532),
    [anon_sym_PIPE_EQ] = ACTIONS(532),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(532),
    [anon_sym_AMP_EQ] = ACTIONS(532),
    [anon_sym_PERCENT_EQ] = ACTIONS(532),
    [anon_sym_GT_GT_EQ] = ACTIONS(532),
    [anon_sym_LT_LT_EQ] = ACTIONS(532),
    [anon_sym_CARET_EQ] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(544),
    [anon_sym_AMP_AMP] = ACTIONS(544),
    [anon_sym_LT_LT] = ACTIONS(544),
    [anon_sym_GT_GT] = ACTIONS(544),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(544),
    [anon_sym_PERCENT] = ACTIONS(544),
    [anon_sym_defined_QMARK] = ACTIONS(4346),
    [anon_sym_not] = ACTIONS(4348),
    [anon_sym_BANG] = ACTIONS(4350),
    [anon_sym_TILDE] = ACTIONS(4352),
    [sym_constant] = ACTIONS(8374),
    [sym_identifier] = ACTIONS(8374),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [6061] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(5983),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2957),
    [sym_call] = STATE(2957),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(3105),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(5984),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(2963),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2964),
    [sym__variable] = STATE(2957),
    [sym_reserved_identifier] = STATE(5985),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(5986),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(8370),
    [sym__splat_star] = ACTIONS(8372),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(4332),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_RBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(604),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(4336),
    [anon_sym_yield] = ACTIONS(4338),
    [anon_sym_break] = ACTIONS(4340),
    [anon_sym_next] = ACTIONS(4342),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_PLUS_EQ] = ACTIONS(602),
    [anon_sym_DASH_EQ] = ACTIONS(602),
    [anon_sym_STAR_EQ] = ACTIONS(602),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(602),
    [anon_sym_SLASH_EQ] = ACTIONS(602),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(602),
    [anon_sym_PIPE_EQ] = ACTIONS(602),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(602),
    [anon_sym_AMP_EQ] = ACTIONS(602),
    [anon_sym_PERCENT_EQ] = ACTIONS(602),
    [anon_sym_GT_GT_EQ] = ACTIONS(602),
    [anon_sym_LT_LT_EQ] = ACTIONS(602),
    [anon_sym_CARET_EQ] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(604),
    [anon_sym_AMP_AMP] = ACTIONS(604),
    [anon_sym_LT_LT] = ACTIONS(604),
    [anon_sym_GT_GT] = ACTIONS(604),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(604),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(604),
    [anon_sym_PERCENT] = ACTIONS(604),
    [anon_sym_defined_QMARK] = ACTIONS(4346),
    [anon_sym_not] = ACTIONS(4348),
    [anon_sym_BANG] = ACTIONS(4350),
    [anon_sym_TILDE] = ACTIONS(4352),
    [sym_constant] = ACTIONS(8374),
    [sym_identifier] = ACTIONS(8374),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [6062] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(5983),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2957),
    [sym_call] = STATE(2957),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(3106),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(5984),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(2963),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2964),
    [sym__variable] = STATE(2957),
    [sym_reserved_identifier] = STATE(5985),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(5986),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(8370),
    [sym__splat_star] = ACTIONS(8372),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(4332),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_RBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(608),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(4336),
    [anon_sym_yield] = ACTIONS(4338),
    [anon_sym_break] = ACTIONS(4340),
    [anon_sym_next] = ACTIONS(4342),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_PLUS_EQ] = ACTIONS(606),
    [anon_sym_DASH_EQ] = ACTIONS(606),
    [anon_sym_STAR_EQ] = ACTIONS(606),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(606),
    [anon_sym_SLASH_EQ] = ACTIONS(606),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(606),
    [anon_sym_PIPE_EQ] = ACTIONS(606),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(606),
    [anon_sym_AMP_EQ] = ACTIONS(606),
    [anon_sym_PERCENT_EQ] = ACTIONS(606),
    [anon_sym_GT_GT_EQ] = ACTIONS(606),
    [anon_sym_LT_LT_EQ] = ACTIONS(606),
    [anon_sym_CARET_EQ] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(608),
    [anon_sym_AMP_AMP] = ACTIONS(608),
    [anon_sym_LT_LT] = ACTIONS(608),
    [anon_sym_GT_GT] = ACTIONS(608),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(608),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(608),
    [anon_sym_PERCENT] = ACTIONS(608),
    [anon_sym_defined_QMARK] = ACTIONS(4346),
    [anon_sym_not] = ACTIONS(4348),
    [anon_sym_BANG] = ACTIONS(4350),
    [anon_sym_TILDE] = ACTIONS(4352),
    [sym_constant] = ACTIONS(8374),
    [sym_identifier] = ACTIONS(8374),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [6063] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(5983),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2957),
    [sym_call] = STATE(2957),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(3107),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(5984),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(2963),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2964),
    [sym__variable] = STATE(2957),
    [sym_reserved_identifier] = STATE(5985),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(5986),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(8370),
    [sym__splat_star] = ACTIONS(8372),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(4332),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_RBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(612),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(4336),
    [anon_sym_yield] = ACTIONS(4338),
    [anon_sym_break] = ACTIONS(4340),
    [anon_sym_next] = ACTIONS(4342),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_PLUS_EQ] = ACTIONS(610),
    [anon_sym_DASH_EQ] = ACTIONS(610),
    [anon_sym_STAR_EQ] = ACTIONS(610),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(610),
    [anon_sym_SLASH_EQ] = ACTIONS(610),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(610),
    [anon_sym_PIPE_EQ] = ACTIONS(610),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(610),
    [anon_sym_AMP_EQ] = ACTIONS(610),
    [anon_sym_PERCENT_EQ] = ACTIONS(610),
    [anon_sym_GT_GT_EQ] = ACTIONS(610),
    [anon_sym_LT_LT_EQ] = ACTIONS(610),
    [anon_sym_CARET_EQ] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(612),
    [anon_sym_AMP_AMP] = ACTIONS(612),
    [anon_sym_LT_LT] = ACTIONS(612),
    [anon_sym_GT_GT] = ACTIONS(612),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(612),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(612),
    [anon_sym_PERCENT] = ACTIONS(612),
    [anon_sym_defined_QMARK] = ACTIONS(4346),
    [anon_sym_not] = ACTIONS(4348),
    [anon_sym_BANG] = ACTIONS(4350),
    [anon_sym_TILDE] = ACTIONS(4352),
    [sym_constant] = ACTIONS(8374),
    [sym_identifier] = ACTIONS(8374),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [6064] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_LBRACE] = ACTIONS(1372),
    [anon_sym_RBRACE] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_STAR_STAR] = ACTIONS(8504),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_EQ] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_do] = ACTIONS(1372),
    [anon_sym_EQ_GT] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_PLUS_EQ] = ACTIONS(1372),
    [anon_sym_DASH_EQ] = ACTIONS(1372),
    [anon_sym_STAR_EQ] = ACTIONS(1372),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1372),
    [anon_sym_SLASH_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1372),
    [anon_sym_AMP_EQ] = ACTIONS(1372),
    [anon_sym_PERCENT_EQ] = ACTIONS(1372),
    [anon_sym_GT_GT_EQ] = ACTIONS(1372),
    [anon_sym_LT_LT_EQ] = ACTIONS(1372),
    [anon_sym_CARET_EQ] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1374),
    [anon_sym_AMP_AMP] = ACTIONS(1374),
    [anon_sym_LT_LT] = ACTIONS(1374),
    [anon_sym_GT_GT] = ACTIONS(1374),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1374),
    [anon_sym_PLUS] = ACTIONS(1374),
    [anon_sym_SLASH] = ACTIONS(1374),
    [anon_sym_PERCENT] = ACTIONS(1374),
    [sym_comment] = ACTIONS(256),
  },
  [6065] = {
    [anon_sym_RBRACE] = ACTIONS(12194),
    [sym_comment] = ACTIONS(110),
  },
  [6066] = {
    [sym__statements] = STATE(9307),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(841),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(12194),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6067] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(12158),
    [sym__binary_star] = ACTIONS(12160),
    [anon_sym_LBRACE] = ACTIONS(4284),
    [anon_sym_RBRACE] = ACTIONS(4284),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(12162),
    [anon_sym_STAR_STAR] = ACTIONS(12164),
    [anon_sym_AMP] = ACTIONS(12166),
    [anon_sym_EQ] = ACTIONS(5432),
    [anon_sym_LT] = ACTIONS(12168),
    [anon_sym_do] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_PLUS_EQ] = ACTIONS(4284),
    [anon_sym_DASH_EQ] = ACTIONS(4284),
    [anon_sym_STAR_EQ] = ACTIONS(4284),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(4284),
    [anon_sym_SLASH_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(4284),
    [anon_sym_AMP_EQ] = ACTIONS(4284),
    [anon_sym_PERCENT_EQ] = ACTIONS(4284),
    [anon_sym_GT_GT_EQ] = ACTIONS(4284),
    [anon_sym_LT_LT_EQ] = ACTIONS(4284),
    [anon_sym_CARET_EQ] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(12170),
    [anon_sym_DOT_DOT] = ACTIONS(12172),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12174),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(12176),
    [anon_sym_AMP_AMP] = ACTIONS(12176),
    [anon_sym_LT_LT] = ACTIONS(12178),
    [anon_sym_GT_GT] = ACTIONS(12178),
    [anon_sym_EQ_EQ] = ACTIONS(12176),
    [anon_sym_BANG_EQ] = ACTIONS(12180),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12180),
    [anon_sym_LT_EQ_GT] = ACTIONS(12180),
    [anon_sym_EQ_TILDE] = ACTIONS(12180),
    [anon_sym_BANG_TILDE] = ACTIONS(12180),
    [anon_sym_LT_EQ] = ACTIONS(12168),
    [anon_sym_GT] = ACTIONS(12168),
    [anon_sym_GT_EQ] = ACTIONS(12182),
    [anon_sym_CARET] = ACTIONS(12162),
    [anon_sym_PLUS] = ACTIONS(12184),
    [anon_sym_SLASH] = ACTIONS(12164),
    [anon_sym_PERCENT] = ACTIONS(12164),
    [sym_comment] = ACTIONS(256),
  },
  [6068] = {
    [sym__simple_heredoc_body] = ACTIONS(6942),
    [sym__heredoc_body_beginning] = ACTIONS(6942),
    [sym__element_reference_left_bracket] = ACTIONS(6942),
    [sym__scope_double_colon] = ACTIONS(6942),
    [sym__binary_minus] = ACTIONS(6942),
    [sym__binary_star] = ACTIONS(6942),
    [anon_sym_LBRACE] = ACTIONS(6942),
    [anon_sym_RBRACE] = ACTIONS(6942),
    [anon_sym_RPAREN] = ACTIONS(6942),
    [anon_sym_DOT] = ACTIONS(6944),
    [anon_sym_COMMA] = ACTIONS(6942),
    [anon_sym_PIPE] = ACTIONS(6944),
    [anon_sym_SEMI] = ACTIONS(6942),
    [anon_sym_STAR_STAR] = ACTIONS(6944),
    [anon_sym_AMP] = ACTIONS(6944),
    [anon_sym_EQ] = ACTIONS(6944),
    [anon_sym_LT] = ACTIONS(6944),
    [anon_sym_in] = ACTIONS(6942),
    [anon_sym_do] = ACTIONS(6942),
    [anon_sym_RBRACK] = ACTIONS(6942),
    [anon_sym_AMP_DOT] = ACTIONS(6942),
    [anon_sym_PLUS_EQ] = ACTIONS(6942),
    [anon_sym_DASH_EQ] = ACTIONS(6942),
    [anon_sym_STAR_EQ] = ACTIONS(6942),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6942),
    [anon_sym_SLASH_EQ] = ACTIONS(6942),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6942),
    [anon_sym_PIPE_EQ] = ACTIONS(6942),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6942),
    [anon_sym_AMP_EQ] = ACTIONS(6942),
    [anon_sym_PERCENT_EQ] = ACTIONS(6942),
    [anon_sym_GT_GT_EQ] = ACTIONS(6942),
    [anon_sym_LT_LT_EQ] = ACTIONS(6942),
    [anon_sym_CARET_EQ] = ACTIONS(6942),
    [anon_sym_QMARK] = ACTIONS(6942),
    [anon_sym_COLON] = ACTIONS(6942),
    [anon_sym_DOT_DOT] = ACTIONS(6944),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6942),
    [anon_sym_and] = ACTIONS(6942),
    [anon_sym_or] = ACTIONS(6942),
    [anon_sym_PIPE_PIPE] = ACTIONS(6944),
    [anon_sym_AMP_AMP] = ACTIONS(6944),
    [anon_sym_LT_LT] = ACTIONS(6944),
    [anon_sym_GT_GT] = ACTIONS(6944),
    [anon_sym_EQ_EQ] = ACTIONS(6944),
    [anon_sym_BANG_EQ] = ACTIONS(6942),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6942),
    [anon_sym_LT_EQ_GT] = ACTIONS(6942),
    [anon_sym_EQ_TILDE] = ACTIONS(6942),
    [anon_sym_BANG_TILDE] = ACTIONS(6942),
    [anon_sym_LT_EQ] = ACTIONS(6944),
    [anon_sym_GT] = ACTIONS(6944),
    [anon_sym_GT_EQ] = ACTIONS(6942),
    [anon_sym_CARET] = ACTIONS(6944),
    [anon_sym_PLUS] = ACTIONS(6944),
    [anon_sym_SLASH] = ACTIONS(6944),
    [anon_sym_PERCENT] = ACTIONS(6944),
    [sym_comment] = ACTIONS(256),
  },
  [6069] = {
    [anon_sym_end] = ACTIONS(12196),
    [sym_comment] = ACTIONS(110),
  },
  [6070] = {
    [sym__statements] = STATE(9309),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(9310),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(12198),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6071] = {
    [sym__statements] = STATE(9309),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(9311),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(9310),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(12198),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6072] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_RBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(8504),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2872),
    [anon_sym_AMP_AMP] = ACTIONS(2872),
    [anon_sym_LT_LT] = ACTIONS(2872),
    [anon_sym_GT_GT] = ACTIONS(2872),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2872),
    [anon_sym_PLUS] = ACTIONS(2872),
    [anon_sym_SLASH] = ACTIONS(2872),
    [anon_sym_PERCENT] = ACTIONS(2872),
    [sym_comment] = ACTIONS(256),
  },
  [6073] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(8498),
    [sym__binary_star] = ACTIONS(8500),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_RBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(8502),
    [anon_sym_STAR_STAR] = ACTIONS(8504),
    [anon_sym_AMP] = ACTIONS(8506),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(8508),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(8510),
    [anon_sym_DOT_DOT] = ACTIONS(8512),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8514),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(8516),
    [anon_sym_AMP_AMP] = ACTIONS(8516),
    [anon_sym_LT_LT] = ACTIONS(8518),
    [anon_sym_GT_GT] = ACTIONS(8518),
    [anon_sym_EQ_EQ] = ACTIONS(8516),
    [anon_sym_BANG_EQ] = ACTIONS(8520),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8520),
    [anon_sym_LT_EQ_GT] = ACTIONS(8520),
    [anon_sym_EQ_TILDE] = ACTIONS(8520),
    [anon_sym_BANG_TILDE] = ACTIONS(8520),
    [anon_sym_LT_EQ] = ACTIONS(8508),
    [anon_sym_GT] = ACTIONS(8508),
    [anon_sym_GT_EQ] = ACTIONS(8522),
    [anon_sym_CARET] = ACTIONS(8502),
    [anon_sym_PLUS] = ACTIONS(8524),
    [anon_sym_SLASH] = ACTIONS(8504),
    [anon_sym_PERCENT] = ACTIONS(8504),
    [sym_comment] = ACTIONS(256),
  },
  [6074] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(9312),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6051),
    [sym_call] = STATE(6051),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(6053),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6054),
    [sym__variable] = STATE(6051),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(8420),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(8432),
    [anon_sym_yield] = ACTIONS(8434),
    [anon_sym_break] = ACTIONS(8436),
    [anon_sym_next] = ACTIONS(8438),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(8458),
    [anon_sym_defined_QMARK] = ACTIONS(8460),
    [anon_sym_not] = ACTIONS(8462),
    [anon_sym_BANG] = ACTIONS(8464),
    [anon_sym_TILDE] = ACTIONS(8464),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [6075] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(9313),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2957),
    [sym_call] = STATE(2957),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(2963),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2964),
    [sym__variable] = STATE(2957),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(4332),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(8482),
    [anon_sym_yield] = ACTIONS(8484),
    [anon_sym_break] = ACTIONS(8486),
    [anon_sym_next] = ACTIONS(8488),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(8490),
    [anon_sym_defined_QMARK] = ACTIONS(4346),
    [anon_sym_not] = ACTIONS(8492),
    [anon_sym_BANG] = ACTIONS(4352),
    [anon_sym_TILDE] = ACTIONS(4352),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [6076] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(9314),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2957),
    [sym_call] = STATE(2957),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(2963),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2964),
    [sym__variable] = STATE(2957),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(4332),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(8482),
    [anon_sym_yield] = ACTIONS(8484),
    [anon_sym_break] = ACTIONS(8486),
    [anon_sym_next] = ACTIONS(8488),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(8490),
    [anon_sym_defined_QMARK] = ACTIONS(4346),
    [anon_sym_not] = ACTIONS(8492),
    [anon_sym_BANG] = ACTIONS(4352),
    [anon_sym_TILDE] = ACTIONS(4352),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [6077] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(9315),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2957),
    [sym_call] = STATE(2957),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(2963),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2964),
    [sym__variable] = STATE(2957),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(4332),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(8482),
    [anon_sym_yield] = ACTIONS(8484),
    [anon_sym_break] = ACTIONS(8486),
    [anon_sym_next] = ACTIONS(8488),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(8490),
    [anon_sym_defined_QMARK] = ACTIONS(4346),
    [anon_sym_not] = ACTIONS(8492),
    [anon_sym_BANG] = ACTIONS(4352),
    [anon_sym_TILDE] = ACTIONS(4352),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [6078] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(9316),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2957),
    [sym_call] = STATE(2957),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(2963),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2964),
    [sym__variable] = STATE(2957),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(4332),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(8482),
    [anon_sym_yield] = ACTIONS(8484),
    [anon_sym_break] = ACTIONS(8486),
    [anon_sym_next] = ACTIONS(8488),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(8490),
    [anon_sym_defined_QMARK] = ACTIONS(4346),
    [anon_sym_not] = ACTIONS(8492),
    [anon_sym_BANG] = ACTIONS(4352),
    [anon_sym_TILDE] = ACTIONS(4352),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [6079] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(9317),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2957),
    [sym_call] = STATE(2957),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(2963),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2964),
    [sym__variable] = STATE(2957),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(4332),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(8482),
    [anon_sym_yield] = ACTIONS(8484),
    [anon_sym_break] = ACTIONS(8486),
    [anon_sym_next] = ACTIONS(8488),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(8490),
    [anon_sym_defined_QMARK] = ACTIONS(4346),
    [anon_sym_not] = ACTIONS(8492),
    [anon_sym_BANG] = ACTIONS(4352),
    [anon_sym_TILDE] = ACTIONS(4352),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [6080] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(9318),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2957),
    [sym_call] = STATE(2957),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(2963),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2964),
    [sym__variable] = STATE(2957),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(4332),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(8482),
    [anon_sym_yield] = ACTIONS(8484),
    [anon_sym_break] = ACTIONS(8486),
    [anon_sym_next] = ACTIONS(8488),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(8490),
    [anon_sym_defined_QMARK] = ACTIONS(4346),
    [anon_sym_not] = ACTIONS(8492),
    [anon_sym_BANG] = ACTIONS(4352),
    [anon_sym_TILDE] = ACTIONS(4352),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [6081] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(9319),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [6082] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(9320),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2957),
    [sym_call] = STATE(2957),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(2963),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2964),
    [sym__variable] = STATE(2957),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(4332),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(8482),
    [anon_sym_yield] = ACTIONS(8484),
    [anon_sym_break] = ACTIONS(8486),
    [anon_sym_next] = ACTIONS(8488),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(8490),
    [anon_sym_defined_QMARK] = ACTIONS(4346),
    [anon_sym_not] = ACTIONS(8492),
    [anon_sym_BANG] = ACTIONS(4352),
    [anon_sym_TILDE] = ACTIONS(4352),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [6083] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(9321),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2957),
    [sym_call] = STATE(2957),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(2963),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2964),
    [sym__variable] = STATE(2957),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(4332),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(8482),
    [anon_sym_yield] = ACTIONS(8484),
    [anon_sym_break] = ACTIONS(8486),
    [anon_sym_next] = ACTIONS(8488),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(8490),
    [anon_sym_defined_QMARK] = ACTIONS(4346),
    [anon_sym_not] = ACTIONS(8492),
    [anon_sym_BANG] = ACTIONS(4352),
    [anon_sym_TILDE] = ACTIONS(4352),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [6084] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(9322),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2957),
    [sym_call] = STATE(2957),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(2963),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2964),
    [sym__variable] = STATE(2957),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(4332),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(8482),
    [anon_sym_yield] = ACTIONS(8484),
    [anon_sym_break] = ACTIONS(8486),
    [anon_sym_next] = ACTIONS(8488),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(8490),
    [anon_sym_defined_QMARK] = ACTIONS(4346),
    [anon_sym_not] = ACTIONS(8492),
    [anon_sym_BANG] = ACTIONS(4352),
    [anon_sym_TILDE] = ACTIONS(4352),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [6085] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(9323),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2957),
    [sym_call] = STATE(2957),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(2963),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2964),
    [sym__variable] = STATE(2957),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(4332),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(8482),
    [anon_sym_yield] = ACTIONS(8484),
    [anon_sym_break] = ACTIONS(8486),
    [anon_sym_next] = ACTIONS(8488),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(8490),
    [anon_sym_defined_QMARK] = ACTIONS(4346),
    [anon_sym_not] = ACTIONS(8492),
    [anon_sym_BANG] = ACTIONS(4352),
    [anon_sym_TILDE] = ACTIONS(4352),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [6086] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(9324),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2957),
    [sym_call] = STATE(2957),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(2963),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2964),
    [sym__variable] = STATE(2957),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(4332),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(8482),
    [anon_sym_yield] = ACTIONS(8484),
    [anon_sym_break] = ACTIONS(8486),
    [anon_sym_next] = ACTIONS(8488),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(8490),
    [anon_sym_defined_QMARK] = ACTIONS(4346),
    [anon_sym_not] = ACTIONS(8492),
    [anon_sym_BANG] = ACTIONS(4352),
    [anon_sym_TILDE] = ACTIONS(4352),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [6087] = {
    [sym__statements] = STATE(6065),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(6066),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(841),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(12200),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_PIPE] = ACTIONS(3048),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6088] = {
    [sym__statements] = STATE(6069),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(6070),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1981),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(6071),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(3076),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(3078),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(3080),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(8494),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(3086),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6089] = {
    [sym__simple_heredoc_body] = ACTIONS(7290),
    [sym__heredoc_body_beginning] = ACTIONS(7290),
    [sym__element_reference_left_bracket] = ACTIONS(7290),
    [sym__scope_double_colon] = ACTIONS(7290),
    [sym__binary_minus] = ACTIONS(7290),
    [sym__binary_star] = ACTIONS(7290),
    [anon_sym_LBRACE] = ACTIONS(7290),
    [anon_sym_RBRACE] = ACTIONS(7290),
    [anon_sym_RPAREN] = ACTIONS(7290),
    [anon_sym_DOT] = ACTIONS(7292),
    [anon_sym_COMMA] = ACTIONS(7290),
    [anon_sym_PIPE] = ACTIONS(7292),
    [anon_sym_SEMI] = ACTIONS(7290),
    [anon_sym_STAR_STAR] = ACTIONS(7292),
    [anon_sym_AMP] = ACTIONS(7292),
    [anon_sym_EQ] = ACTIONS(7292),
    [anon_sym_LT] = ACTIONS(7292),
    [anon_sym_in] = ACTIONS(7290),
    [anon_sym_do] = ACTIONS(7290),
    [anon_sym_RBRACK] = ACTIONS(7290),
    [anon_sym_AMP_DOT] = ACTIONS(7290),
    [anon_sym_PLUS_EQ] = ACTIONS(7290),
    [anon_sym_DASH_EQ] = ACTIONS(7290),
    [anon_sym_STAR_EQ] = ACTIONS(7290),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7290),
    [anon_sym_SLASH_EQ] = ACTIONS(7290),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7290),
    [anon_sym_PIPE_EQ] = ACTIONS(7290),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7290),
    [anon_sym_AMP_EQ] = ACTIONS(7290),
    [anon_sym_PERCENT_EQ] = ACTIONS(7290),
    [anon_sym_GT_GT_EQ] = ACTIONS(7290),
    [anon_sym_LT_LT_EQ] = ACTIONS(7290),
    [anon_sym_CARET_EQ] = ACTIONS(7290),
    [anon_sym_QMARK] = ACTIONS(7290),
    [anon_sym_COLON] = ACTIONS(7290),
    [anon_sym_DOT_DOT] = ACTIONS(7292),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7290),
    [anon_sym_and] = ACTIONS(7290),
    [anon_sym_or] = ACTIONS(7290),
    [anon_sym_PIPE_PIPE] = ACTIONS(7292),
    [anon_sym_AMP_AMP] = ACTIONS(7292),
    [anon_sym_LT_LT] = ACTIONS(7292),
    [anon_sym_GT_GT] = ACTIONS(7292),
    [anon_sym_EQ_EQ] = ACTIONS(7292),
    [anon_sym_BANG_EQ] = ACTIONS(7290),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7290),
    [anon_sym_LT_EQ_GT] = ACTIONS(7290),
    [anon_sym_EQ_TILDE] = ACTIONS(7290),
    [anon_sym_BANG_TILDE] = ACTIONS(7290),
    [anon_sym_LT_EQ] = ACTIONS(7292),
    [anon_sym_GT] = ACTIONS(7292),
    [anon_sym_GT_EQ] = ACTIONS(7290),
    [anon_sym_CARET] = ACTIONS(7292),
    [anon_sym_PLUS] = ACTIONS(7292),
    [anon_sym_SLASH] = ACTIONS(7292),
    [anon_sym_PERCENT] = ACTIONS(7292),
    [sym_comment] = ACTIONS(256),
  },
  [6090] = {
    [sym__simple_heredoc_body] = ACTIONS(1398),
    [sym__heredoc_body_beginning] = ACTIONS(1398),
    [sym__element_reference_left_bracket] = ACTIONS(1398),
    [sym__scope_double_colon] = ACTIONS(1398),
    [sym__binary_minus] = ACTIONS(1398),
    [sym__binary_star] = ACTIONS(1398),
    [anon_sym_LBRACE] = ACTIONS(1398),
    [anon_sym_RBRACE] = ACTIONS(1398),
    [anon_sym_RPAREN] = ACTIONS(1398),
    [anon_sym_DOT] = ACTIONS(2666),
    [anon_sym_COMMA] = ACTIONS(1398),
    [anon_sym_PIPE] = ACTIONS(2666),
    [anon_sym_SEMI] = ACTIONS(1398),
    [anon_sym_STAR_STAR] = ACTIONS(2666),
    [anon_sym_AMP] = ACTIONS(2666),
    [anon_sym_EQ] = ACTIONS(2666),
    [anon_sym_LT] = ACTIONS(2666),
    [anon_sym_in] = ACTIONS(1398),
    [anon_sym_do] = ACTIONS(1398),
    [anon_sym_RBRACK] = ACTIONS(1398),
    [anon_sym_AMP_DOT] = ACTIONS(1398),
    [anon_sym_PLUS_EQ] = ACTIONS(1398),
    [anon_sym_DASH_EQ] = ACTIONS(1398),
    [anon_sym_STAR_EQ] = ACTIONS(1398),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1398),
    [anon_sym_SLASH_EQ] = ACTIONS(1398),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1398),
    [anon_sym_PIPE_EQ] = ACTIONS(1398),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1398),
    [anon_sym_AMP_EQ] = ACTIONS(1398),
    [anon_sym_PERCENT_EQ] = ACTIONS(1398),
    [anon_sym_GT_GT_EQ] = ACTIONS(1398),
    [anon_sym_LT_LT_EQ] = ACTIONS(1398),
    [anon_sym_CARET_EQ] = ACTIONS(1398),
    [anon_sym_QMARK] = ACTIONS(1398),
    [anon_sym_COLON] = ACTIONS(1398),
    [anon_sym_DOT_DOT] = ACTIONS(2666),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1398),
    [anon_sym_and] = ACTIONS(1398),
    [anon_sym_or] = ACTIONS(1398),
    [anon_sym_PIPE_PIPE] = ACTIONS(2666),
    [anon_sym_AMP_AMP] = ACTIONS(2666),
    [anon_sym_LT_LT] = ACTIONS(2666),
    [anon_sym_GT_GT] = ACTIONS(2666),
    [anon_sym_EQ_EQ] = ACTIONS(2666),
    [anon_sym_BANG_EQ] = ACTIONS(1398),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1398),
    [anon_sym_LT_EQ_GT] = ACTIONS(1398),
    [anon_sym_EQ_TILDE] = ACTIONS(1398),
    [anon_sym_BANG_TILDE] = ACTIONS(1398),
    [anon_sym_LT_EQ] = ACTIONS(2666),
    [anon_sym_GT] = ACTIONS(2666),
    [anon_sym_GT_EQ] = ACTIONS(1398),
    [anon_sym_CARET] = ACTIONS(2666),
    [anon_sym_PLUS] = ACTIONS(2666),
    [anon_sym_SLASH] = ACTIONS(2666),
    [anon_sym_PERCENT] = ACTIONS(2666),
    [sym_comment] = ACTIONS(256),
  },
  [6091] = {
    [sym__statement] = STATE(9326),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [aux_sym_heredoc_end_repeat1] = STATE(9327),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [6092] = {
    [sym__simple_heredoc_body] = ACTIONS(5468),
    [sym__heredoc_body_beginning] = ACTIONS(5468),
    [sym__element_reference_left_bracket] = ACTIONS(5468),
    [sym__scope_double_colon] = ACTIONS(5468),
    [sym__binary_minus] = ACTIONS(5468),
    [sym__binary_star] = ACTIONS(5468),
    [anon_sym_LBRACE] = ACTIONS(5468),
    [anon_sym_RBRACE] = ACTIONS(5468),
    [anon_sym_RPAREN] = ACTIONS(5468),
    [anon_sym_DOT] = ACTIONS(5470),
    [anon_sym_COMMA] = ACTIONS(5468),
    [anon_sym_PIPE] = ACTIONS(5470),
    [anon_sym_SEMI] = ACTIONS(5468),
    [anon_sym_STAR_STAR] = ACTIONS(5470),
    [anon_sym_AMP] = ACTIONS(5470),
    [anon_sym_EQ] = ACTIONS(5470),
    [anon_sym_LT] = ACTIONS(5470),
    [anon_sym_in] = ACTIONS(5468),
    [anon_sym_do] = ACTIONS(5468),
    [anon_sym_RBRACK] = ACTIONS(5468),
    [anon_sym_AMP_DOT] = ACTIONS(5468),
    [anon_sym_PLUS_EQ] = ACTIONS(5468),
    [anon_sym_DASH_EQ] = ACTIONS(5468),
    [anon_sym_STAR_EQ] = ACTIONS(5468),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5468),
    [anon_sym_SLASH_EQ] = ACTIONS(5468),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5468),
    [anon_sym_PIPE_EQ] = ACTIONS(5468),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5468),
    [anon_sym_AMP_EQ] = ACTIONS(5468),
    [anon_sym_PERCENT_EQ] = ACTIONS(5468),
    [anon_sym_GT_GT_EQ] = ACTIONS(5468),
    [anon_sym_LT_LT_EQ] = ACTIONS(5468),
    [anon_sym_CARET_EQ] = ACTIONS(5468),
    [anon_sym_QMARK] = ACTIONS(5468),
    [anon_sym_COLON] = ACTIONS(5468),
    [anon_sym_DOT_DOT] = ACTIONS(5470),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5468),
    [anon_sym_and] = ACTIONS(5468),
    [anon_sym_or] = ACTIONS(5468),
    [anon_sym_PIPE_PIPE] = ACTIONS(5470),
    [anon_sym_AMP_AMP] = ACTIONS(5470),
    [anon_sym_LT_LT] = ACTIONS(5470),
    [anon_sym_GT_GT] = ACTIONS(5470),
    [anon_sym_EQ_EQ] = ACTIONS(5470),
    [anon_sym_BANG_EQ] = ACTIONS(5468),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5468),
    [anon_sym_LT_EQ_GT] = ACTIONS(5468),
    [anon_sym_EQ_TILDE] = ACTIONS(5468),
    [anon_sym_BANG_TILDE] = ACTIONS(5468),
    [anon_sym_LT_EQ] = ACTIONS(5470),
    [anon_sym_GT] = ACTIONS(5470),
    [anon_sym_GT_EQ] = ACTIONS(5468),
    [anon_sym_CARET] = ACTIONS(5470),
    [anon_sym_PLUS] = ACTIONS(5470),
    [anon_sym_SLASH] = ACTIONS(5470),
    [anon_sym_PERCENT] = ACTIONS(5470),
    [sym_comment] = ACTIONS(256),
  },
  [6093] = {
    [sym_heredoc_end] = STATE(9328),
    [sym__simple_heredoc_body] = ACTIONS(8530),
    [sym__heredoc_body_beginning] = ACTIONS(8532),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_LBRACE] = ACTIONS(5472),
    [anon_sym_RBRACE] = ACTIONS(5472),
    [anon_sym_RPAREN] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(5472),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_SEMI] = ACTIONS(5472),
    [anon_sym_STAR_STAR] = ACTIONS(5474),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_EQ] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_in] = ACTIONS(5472),
    [anon_sym_do] = ACTIONS(5472),
    [anon_sym_RBRACK] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_PLUS_EQ] = ACTIONS(5472),
    [anon_sym_DASH_EQ] = ACTIONS(5472),
    [anon_sym_STAR_EQ] = ACTIONS(5472),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5472),
    [anon_sym_SLASH_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5472),
    [anon_sym_AMP_EQ] = ACTIONS(5472),
    [anon_sym_PERCENT_EQ] = ACTIONS(5472),
    [anon_sym_GT_GT_EQ] = ACTIONS(5472),
    [anon_sym_LT_LT_EQ] = ACTIONS(5472),
    [anon_sym_CARET_EQ] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_COLON] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5474),
    [anon_sym_AMP_AMP] = ACTIONS(5474),
    [anon_sym_LT_LT] = ACTIONS(5474),
    [anon_sym_GT_GT] = ACTIONS(5474),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5474),
    [anon_sym_PLUS] = ACTIONS(5474),
    [anon_sym_SLASH] = ACTIONS(5474),
    [anon_sym_PERCENT] = ACTIONS(5474),
    [sym_comment] = ACTIONS(256),
  },
  [6094] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(2956),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2957),
    [sym_call] = STATE(2957),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(9329),
    [sym_splat_argument] = STATE(2961),
    [sym_hash_splat_argument] = STATE(2961),
    [sym_block_argument] = STATE(2961),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(2963),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2964),
    [sym__variable] = STATE(2957),
    [sym_reserved_identifier] = STATE(2965),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(2966),
    [sym_subshell] = STATE(1062),
    [sym_heredoc_end] = STATE(9330),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(2961),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__block_ampersand] = ACTIONS(4326),
    [sym__splat_star] = ACTIONS(4328),
    [sym__unary_minus] = ACTIONS(4332),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(12202),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(4336),
    [anon_sym_yield] = ACTIONS(4338),
    [anon_sym_break] = ACTIONS(4340),
    [anon_sym_next] = ACTIONS(4342),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(8490),
    [anon_sym_defined_QMARK] = ACTIONS(4346),
    [anon_sym_not] = ACTIONS(4348),
    [anon_sym_BANG] = ACTIONS(4352),
    [anon_sym_TILDE] = ACTIONS(4352),
    [sym_constant] = ACTIONS(4354),
    [sym_identifier] = ACTIONS(4354),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [6095] = {
    [sym_heredoc_end] = STATE(6092),
    [aux_sym_argument_list_repeat2] = STATE(9332),
    [sym__simple_heredoc_body] = ACTIONS(8530),
    [sym__heredoc_body_beginning] = ACTIONS(8532),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_LBRACE] = ACTIONS(5472),
    [anon_sym_RBRACE] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(12204),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_STAR_STAR] = ACTIONS(5474),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_EQ] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_do] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_PLUS_EQ] = ACTIONS(5472),
    [anon_sym_DASH_EQ] = ACTIONS(5472),
    [anon_sym_STAR_EQ] = ACTIONS(5472),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5472),
    [anon_sym_SLASH_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5472),
    [anon_sym_AMP_EQ] = ACTIONS(5472),
    [anon_sym_PERCENT_EQ] = ACTIONS(5472),
    [anon_sym_GT_GT_EQ] = ACTIONS(5472),
    [anon_sym_LT_LT_EQ] = ACTIONS(5472),
    [anon_sym_CARET_EQ] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5474),
    [anon_sym_AMP_AMP] = ACTIONS(5474),
    [anon_sym_LT_LT] = ACTIONS(5474),
    [anon_sym_GT_GT] = ACTIONS(5474),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5474),
    [anon_sym_PLUS] = ACTIONS(5474),
    [anon_sym_SLASH] = ACTIONS(5474),
    [anon_sym_PERCENT] = ACTIONS(5474),
    [sym_comment] = ACTIONS(256),
  },
  [6096] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(9333),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2957),
    [sym_call] = STATE(2957),
    [sym_method_call] = STATE(503),
    [sym_splat_argument] = STATE(6231),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_right_assignment_list] = STATE(6232),
    [sym__arg_or_splat_arg] = STATE(9334),
    [sym_left_assignment_list] = STATE(2963),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2964),
    [sym__variable] = STATE(2957),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__splat_star] = ACTIONS(8372),
    [sym__unary_minus] = ACTIONS(4332),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(8482),
    [anon_sym_yield] = ACTIONS(8484),
    [anon_sym_break] = ACTIONS(8486),
    [anon_sym_next] = ACTIONS(8488),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(8490),
    [anon_sym_defined_QMARK] = ACTIONS(4346),
    [anon_sym_not] = ACTIONS(8492),
    [anon_sym_BANG] = ACTIONS(4352),
    [anon_sym_TILDE] = ACTIONS(4352),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [6097] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(9335),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2957),
    [sym_call] = STATE(2957),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(2963),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2964),
    [sym__variable] = STATE(2957),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(4332),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(8482),
    [anon_sym_yield] = ACTIONS(8484),
    [anon_sym_break] = ACTIONS(8486),
    [anon_sym_next] = ACTIONS(8488),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(8490),
    [anon_sym_defined_QMARK] = ACTIONS(4346),
    [anon_sym_not] = ACTIONS(8492),
    [anon_sym_BANG] = ACTIONS(4352),
    [anon_sym_TILDE] = ACTIONS(4352),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [6098] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(9336),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6051),
    [sym_call] = STATE(6051),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(6053),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6054),
    [sym__variable] = STATE(6051),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(8420),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(8432),
    [anon_sym_yield] = ACTIONS(8434),
    [anon_sym_break] = ACTIONS(8436),
    [anon_sym_next] = ACTIONS(8438),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(8458),
    [anon_sym_defined_QMARK] = ACTIONS(8460),
    [anon_sym_not] = ACTIONS(8462),
    [anon_sym_BANG] = ACTIONS(8464),
    [anon_sym_TILDE] = ACTIONS(8464),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [6099] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9337),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(977),
    [sym_call] = STATE(977),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(978),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(979),
    [sym__variable] = STATE(977),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(1568),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(1578),
    [anon_sym_yield] = ACTIONS(1580),
    [anon_sym_break] = ACTIONS(1582),
    [anon_sym_next] = ACTIONS(1584),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(1604),
    [anon_sym_defined_QMARK] = ACTIONS(1606),
    [anon_sym_not] = ACTIONS(1608),
    [anon_sym_BANG] = ACTIONS(1610),
    [anon_sym_TILDE] = ACTIONS(1610),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6100] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(4286),
    [sym__binary_star] = ACTIONS(4288),
    [anon_sym_RBRACE] = ACTIONS(6346),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(4290),
    [anon_sym_STAR_STAR] = ACTIONS(4292),
    [anon_sym_AMP] = ACTIONS(4294),
    [anon_sym_LT] = ACTIONS(4296),
    [anon_sym_QMARK] = ACTIONS(4298),
    [anon_sym_DOT_DOT] = ACTIONS(4300),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4302),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(4306),
    [anon_sym_AMP_AMP] = ACTIONS(4306),
    [anon_sym_LT_LT] = ACTIONS(4308),
    [anon_sym_GT_GT] = ACTIONS(4308),
    [anon_sym_EQ_EQ] = ACTIONS(4310),
    [anon_sym_BANG_EQ] = ACTIONS(4306),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4306),
    [anon_sym_LT_EQ_GT] = ACTIONS(4306),
    [anon_sym_EQ_TILDE] = ACTIONS(4306),
    [anon_sym_BANG_TILDE] = ACTIONS(4306),
    [anon_sym_LT_EQ] = ACTIONS(4296),
    [anon_sym_GT] = ACTIONS(4296),
    [anon_sym_GT_EQ] = ACTIONS(4312),
    [anon_sym_CARET] = ACTIONS(4314),
    [anon_sym_PLUS] = ACTIONS(4316),
    [anon_sym_SLASH] = ACTIONS(4292),
    [anon_sym_PERCENT] = ACTIONS(4292),
    [sym_comment] = ACTIONS(110),
  },
  [6101] = {
    [aux_sym_exceptions_repeat1] = STATE(9339),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_RBRACE] = ACTIONS(7330),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [6102] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(4286),
    [sym__binary_star] = ACTIONS(4288),
    [anon_sym_RBRACE] = ACTIONS(7344),
    [anon_sym_COMMA] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(4290),
    [anon_sym_STAR_STAR] = ACTIONS(4292),
    [anon_sym_AMP] = ACTIONS(4294),
    [anon_sym_LT] = ACTIONS(4296),
    [anon_sym_QMARK] = ACTIONS(4298),
    [anon_sym_DOT_DOT] = ACTIONS(4300),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4302),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(4306),
    [anon_sym_AMP_AMP] = ACTIONS(4306),
    [anon_sym_LT_LT] = ACTIONS(4308),
    [anon_sym_GT_GT] = ACTIONS(4308),
    [anon_sym_EQ_EQ] = ACTIONS(4310),
    [anon_sym_BANG_EQ] = ACTIONS(4306),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4306),
    [anon_sym_LT_EQ_GT] = ACTIONS(4306),
    [anon_sym_EQ_TILDE] = ACTIONS(4306),
    [anon_sym_BANG_TILDE] = ACTIONS(4306),
    [anon_sym_LT_EQ] = ACTIONS(4296),
    [anon_sym_GT] = ACTIONS(4296),
    [anon_sym_GT_EQ] = ACTIONS(4312),
    [anon_sym_CARET] = ACTIONS(4314),
    [anon_sym_PLUS] = ACTIONS(4316),
    [anon_sym_SLASH] = ACTIONS(4292),
    [anon_sym_PERCENT] = ACTIONS(4292),
    [sym_comment] = ACTIONS(110),
  },
  [6103] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(9341),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(12206),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6104] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(9343),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(12208),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6105] = {
    [sym__element_reference_left_bracket] = ACTIONS(9340),
    [sym__scope_double_colon] = ACTIONS(9340),
    [sym__binary_minus] = ACTIONS(9340),
    [sym__binary_star] = ACTIONS(9340),
    [anon_sym_LBRACE] = ACTIONS(9340),
    [anon_sym_RPAREN] = ACTIONS(9340),
    [anon_sym_DOT] = ACTIONS(9342),
    [anon_sym_COMMA] = ACTIONS(9340),
    [anon_sym_PIPE] = ACTIONS(9342),
    [anon_sym_SEMI] = ACTIONS(9340),
    [anon_sym_STAR_STAR] = ACTIONS(9340),
    [anon_sym_AMP] = ACTIONS(9342),
    [anon_sym_LT] = ACTIONS(9342),
    [anon_sym_do] = ACTIONS(9340),
    [anon_sym_EQ_GT] = ACTIONS(9340),
    [anon_sym_AMP_DOT] = ACTIONS(9340),
    [anon_sym_QMARK] = ACTIONS(9340),
    [anon_sym_COLON] = ACTIONS(9340),
    [anon_sym_DOT_DOT] = ACTIONS(9342),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9340),
    [anon_sym_and] = ACTIONS(9340),
    [anon_sym_or] = ACTIONS(9340),
    [anon_sym_PIPE_PIPE] = ACTIONS(9340),
    [anon_sym_AMP_AMP] = ACTIONS(9340),
    [anon_sym_LT_LT] = ACTIONS(9340),
    [anon_sym_GT_GT] = ACTIONS(9340),
    [anon_sym_EQ_EQ] = ACTIONS(9342),
    [anon_sym_BANG_EQ] = ACTIONS(9340),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9340),
    [anon_sym_LT_EQ_GT] = ACTIONS(9340),
    [anon_sym_EQ_TILDE] = ACTIONS(9340),
    [anon_sym_BANG_TILDE] = ACTIONS(9340),
    [anon_sym_LT_EQ] = ACTIONS(9342),
    [anon_sym_GT] = ACTIONS(9342),
    [anon_sym_GT_EQ] = ACTIONS(9340),
    [anon_sym_CARET] = ACTIONS(9340),
    [anon_sym_PLUS] = ACTIONS(9340),
    [anon_sym_SLASH] = ACTIONS(9340),
    [anon_sym_PERCENT] = ACTIONS(9340),
    [sym_comment] = ACTIONS(110),
  },
  [6106] = {
    [anon_sym_end] = ACTIONS(12210),
    [sym_comment] = ACTIONS(110),
  },
  [6107] = {
    [sym__element_reference_left_bracket] = ACTIONS(9398),
    [sym__scope_double_colon] = ACTIONS(9398),
    [sym__binary_minus] = ACTIONS(9398),
    [sym__binary_star] = ACTIONS(9398),
    [anon_sym_LBRACE] = ACTIONS(9398),
    [anon_sym_RPAREN] = ACTIONS(9398),
    [anon_sym_DOT] = ACTIONS(9400),
    [anon_sym_COMMA] = ACTIONS(9398),
    [anon_sym_PIPE] = ACTIONS(9400),
    [anon_sym_SEMI] = ACTIONS(9398),
    [anon_sym_STAR_STAR] = ACTIONS(9398),
    [anon_sym_AMP] = ACTIONS(9400),
    [anon_sym_LT] = ACTIONS(9400),
    [anon_sym_do] = ACTIONS(9398),
    [anon_sym_EQ_GT] = ACTIONS(9398),
    [anon_sym_AMP_DOT] = ACTIONS(9398),
    [anon_sym_QMARK] = ACTIONS(9398),
    [anon_sym_COLON] = ACTIONS(9398),
    [anon_sym_DOT_DOT] = ACTIONS(9400),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9398),
    [anon_sym_and] = ACTIONS(9398),
    [anon_sym_or] = ACTIONS(9398),
    [anon_sym_PIPE_PIPE] = ACTIONS(9398),
    [anon_sym_AMP_AMP] = ACTIONS(9398),
    [anon_sym_LT_LT] = ACTIONS(9398),
    [anon_sym_GT_GT] = ACTIONS(9398),
    [anon_sym_EQ_EQ] = ACTIONS(9400),
    [anon_sym_BANG_EQ] = ACTIONS(9398),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9398),
    [anon_sym_LT_EQ_GT] = ACTIONS(9398),
    [anon_sym_EQ_TILDE] = ACTIONS(9398),
    [anon_sym_BANG_TILDE] = ACTIONS(9398),
    [anon_sym_LT_EQ] = ACTIONS(9400),
    [anon_sym_GT] = ACTIONS(9400),
    [anon_sym_GT_EQ] = ACTIONS(9398),
    [anon_sym_CARET] = ACTIONS(9398),
    [anon_sym_PLUS] = ACTIONS(9398),
    [anon_sym_SLASH] = ACTIONS(9398),
    [anon_sym_PERCENT] = ACTIONS(9398),
    [sym_comment] = ACTIONS(110),
  },
  [6108] = {
    [anon_sym_end] = ACTIONS(12212),
    [sym_comment] = ACTIONS(110),
  },
  [6109] = {
    [sym__simple_heredoc_body] = ACTIONS(9456),
    [sym__heredoc_body_beginning] = ACTIONS(9456),
    [sym__element_reference_left_bracket] = ACTIONS(9456),
    [sym__scope_double_colon] = ACTIONS(9456),
    [sym__binary_minus] = ACTIONS(9456),
    [sym__binary_star] = ACTIONS(9456),
    [anon_sym_LBRACE] = ACTIONS(9456),
    [anon_sym_RBRACE] = ACTIONS(9456),
    [anon_sym_RPAREN] = ACTIONS(9456),
    [anon_sym_DOT] = ACTIONS(9458),
    [anon_sym_COMMA] = ACTIONS(9456),
    [anon_sym_PIPE] = ACTIONS(9458),
    [anon_sym_SEMI] = ACTIONS(9456),
    [anon_sym_STAR_STAR] = ACTIONS(9456),
    [anon_sym_AMP] = ACTIONS(9458),
    [anon_sym_EQ] = ACTIONS(9458),
    [anon_sym_LT] = ACTIONS(9458),
    [anon_sym_in] = ACTIONS(9456),
    [anon_sym_do] = ACTIONS(9456),
    [anon_sym_EQ_GT] = ACTIONS(9456),
    [anon_sym_RBRACK] = ACTIONS(9456),
    [anon_sym_AMP_DOT] = ACTIONS(9456),
    [anon_sym_QMARK] = ACTIONS(9456),
    [anon_sym_COLON] = ACTIONS(9456),
    [anon_sym_DOT_DOT] = ACTIONS(9458),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9456),
    [anon_sym_and] = ACTIONS(9456),
    [anon_sym_or] = ACTIONS(9456),
    [anon_sym_PIPE_PIPE] = ACTIONS(9456),
    [anon_sym_AMP_AMP] = ACTIONS(9456),
    [anon_sym_LT_LT] = ACTIONS(9456),
    [anon_sym_GT_GT] = ACTIONS(9456),
    [anon_sym_EQ_EQ] = ACTIONS(9458),
    [anon_sym_BANG_EQ] = ACTIONS(9456),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9456),
    [anon_sym_LT_EQ_GT] = ACTIONS(9456),
    [anon_sym_EQ_TILDE] = ACTIONS(9456),
    [anon_sym_BANG_TILDE] = ACTIONS(9456),
    [anon_sym_LT_EQ] = ACTIONS(9458),
    [anon_sym_GT] = ACTIONS(9458),
    [anon_sym_GT_EQ] = ACTIONS(9456),
    [anon_sym_CARET] = ACTIONS(9456),
    [anon_sym_PLUS] = ACTIONS(9456),
    [anon_sym_SLASH] = ACTIONS(9456),
    [anon_sym_PERCENT] = ACTIONS(9456),
    [sym_comment] = ACTIONS(256),
  },
  [6110] = {
    [anon_sym_RPAREN] = ACTIONS(12214),
    [sym_comment] = ACTIONS(110),
  },
  [6111] = {
    [sym__simple_heredoc_body] = ACTIONS(8568),
    [sym__heredoc_body_beginning] = ACTIONS(8568),
    [sym__element_reference_left_bracket] = ACTIONS(8568),
    [sym__scope_double_colon] = ACTIONS(8568),
    [sym__binary_minus] = ACTIONS(4380),
    [sym__binary_star] = ACTIONS(4382),
    [anon_sym_DOT] = ACTIONS(9468),
    [anon_sym_COMMA] = ACTIONS(8568),
    [anon_sym_PIPE] = ACTIONS(4384),
    [anon_sym_STAR_STAR] = ACTIONS(4386),
    [anon_sym_AMP] = ACTIONS(4388),
    [anon_sym_LT] = ACTIONS(4390),
    [anon_sym_EQ_GT] = ACTIONS(8568),
    [anon_sym_AMP_DOT] = ACTIONS(8568),
    [anon_sym_QMARK] = ACTIONS(4392),
    [anon_sym_DOT_DOT] = ACTIONS(4394),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4396),
    [anon_sym_and] = ACTIONS(8568),
    [anon_sym_or] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE] = ACTIONS(4398),
    [anon_sym_AMP_AMP] = ACTIONS(4398),
    [anon_sym_LT_LT] = ACTIONS(4400),
    [anon_sym_GT_GT] = ACTIONS(4400),
    [anon_sym_EQ_EQ] = ACTIONS(4402),
    [anon_sym_BANG_EQ] = ACTIONS(4398),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4398),
    [anon_sym_LT_EQ_GT] = ACTIONS(4398),
    [anon_sym_EQ_TILDE] = ACTIONS(4398),
    [anon_sym_BANG_TILDE] = ACTIONS(4398),
    [anon_sym_LT_EQ] = ACTIONS(4390),
    [anon_sym_GT] = ACTIONS(4390),
    [anon_sym_GT_EQ] = ACTIONS(4404),
    [anon_sym_CARET] = ACTIONS(4406),
    [anon_sym_PLUS] = ACTIONS(4408),
    [anon_sym_SLASH] = ACTIONS(4386),
    [anon_sym_PERCENT] = ACTIONS(4386),
    [sym_comment] = ACTIONS(110),
  },
  [6112] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__element_reference_left_bracket] = ACTIONS(7008),
    [sym__scope_double_colon] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(4382),
    [anon_sym_DOT] = ACTIONS(7010),
    [anon_sym_COMMA] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_STAR_STAR] = ACTIONS(4386),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_EQ_GT] = ACTIONS(7008),
    [anon_sym_AMP_DOT] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7008),
    [anon_sym_AMP_AMP] = ACTIONS(7008),
    [anon_sym_LT_LT] = ACTIONS(7008),
    [anon_sym_GT_GT] = ACTIONS(7008),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7008),
    [anon_sym_PLUS] = ACTIONS(7008),
    [anon_sym_SLASH] = ACTIONS(4386),
    [anon_sym_PERCENT] = ACTIONS(4386),
    [sym_comment] = ACTIONS(110),
  },
  [6113] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__element_reference_left_bracket] = ACTIONS(7012),
    [sym__scope_double_colon] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_DOT] = ACTIONS(7014),
    [anon_sym_COMMA] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_STAR_STAR] = ACTIONS(4386),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_EQ_GT] = ACTIONS(7012),
    [anon_sym_AMP_DOT] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7012),
    [anon_sym_AMP_AMP] = ACTIONS(7012),
    [anon_sym_LT_LT] = ACTIONS(7012),
    [anon_sym_GT_GT] = ACTIONS(7012),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7012),
    [anon_sym_PLUS] = ACTIONS(7012),
    [anon_sym_SLASH] = ACTIONS(7012),
    [anon_sym_PERCENT] = ACTIONS(7012),
    [sym_comment] = ACTIONS(110),
  },
  [6114] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(4380),
    [sym__binary_star] = ACTIONS(4382),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(4386),
    [anon_sym_AMP] = ACTIONS(4388),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(4400),
    [anon_sym_GT_GT] = ACTIONS(4400),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(4408),
    [anon_sym_SLASH] = ACTIONS(4386),
    [anon_sym_PERCENT] = ACTIONS(4386),
    [sym_comment] = ACTIONS(110),
  },
  [6115] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(4386),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7016),
    [anon_sym_PERCENT] = ACTIONS(7016),
    [sym_comment] = ACTIONS(110),
  },
  [6116] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(4380),
    [sym__binary_star] = ACTIONS(4382),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(4386),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(4400),
    [anon_sym_GT_GT] = ACTIONS(4400),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(4408),
    [anon_sym_SLASH] = ACTIONS(4386),
    [anon_sym_PERCENT] = ACTIONS(4386),
    [sym_comment] = ACTIONS(110),
  },
  [6117] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(4380),
    [sym__binary_star] = ACTIONS(4382),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(4384),
    [anon_sym_STAR_STAR] = ACTIONS(4386),
    [anon_sym_AMP] = ACTIONS(4388),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(4400),
    [anon_sym_GT_GT] = ACTIONS(4400),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(4406),
    [anon_sym_PLUS] = ACTIONS(4408),
    [anon_sym_SLASH] = ACTIONS(4386),
    [anon_sym_PERCENT] = ACTIONS(4386),
    [sym_comment] = ACTIONS(110),
  },
  [6118] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(12216),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [6119] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__element_reference_left_bracket] = ACTIONS(7108),
    [sym__scope_double_colon] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(4380),
    [sym__binary_star] = ACTIONS(4382),
    [anon_sym_DOT] = ACTIONS(9472),
    [anon_sym_COMMA] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(4384),
    [anon_sym_STAR_STAR] = ACTIONS(4386),
    [anon_sym_AMP] = ACTIONS(4388),
    [anon_sym_LT] = ACTIONS(4390),
    [anon_sym_EQ_GT] = ACTIONS(7108),
    [anon_sym_AMP_DOT] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(4394),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4396),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(4398),
    [anon_sym_AMP_AMP] = ACTIONS(4398),
    [anon_sym_LT_LT] = ACTIONS(4400),
    [anon_sym_GT_GT] = ACTIONS(4400),
    [anon_sym_EQ_EQ] = ACTIONS(4402),
    [anon_sym_BANG_EQ] = ACTIONS(4398),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4398),
    [anon_sym_LT_EQ_GT] = ACTIONS(4398),
    [anon_sym_EQ_TILDE] = ACTIONS(4398),
    [anon_sym_BANG_TILDE] = ACTIONS(4398),
    [anon_sym_LT_EQ] = ACTIONS(4390),
    [anon_sym_GT] = ACTIONS(4390),
    [anon_sym_GT_EQ] = ACTIONS(4404),
    [anon_sym_CARET] = ACTIONS(4406),
    [anon_sym_PLUS] = ACTIONS(4408),
    [anon_sym_SLASH] = ACTIONS(4386),
    [anon_sym_PERCENT] = ACTIONS(4386),
    [sym_comment] = ACTIONS(110),
  },
  [6120] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(4380),
    [sym__binary_star] = ACTIONS(4382),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(4384),
    [anon_sym_STAR_STAR] = ACTIONS(4386),
    [anon_sym_AMP] = ACTIONS(4388),
    [anon_sym_LT] = ACTIONS(4390),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(4392),
    [anon_sym_DOT_DOT] = ACTIONS(4394),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4396),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(4398),
    [anon_sym_AMP_AMP] = ACTIONS(4398),
    [anon_sym_LT_LT] = ACTIONS(4400),
    [anon_sym_GT_GT] = ACTIONS(4400),
    [anon_sym_EQ_EQ] = ACTIONS(4402),
    [anon_sym_BANG_EQ] = ACTIONS(4398),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4398),
    [anon_sym_LT_EQ_GT] = ACTIONS(4398),
    [anon_sym_EQ_TILDE] = ACTIONS(4398),
    [anon_sym_BANG_TILDE] = ACTIONS(4398),
    [anon_sym_LT_EQ] = ACTIONS(4390),
    [anon_sym_GT] = ACTIONS(4390),
    [anon_sym_GT_EQ] = ACTIONS(4404),
    [anon_sym_CARET] = ACTIONS(4406),
    [anon_sym_PLUS] = ACTIONS(4408),
    [anon_sym_SLASH] = ACTIONS(4386),
    [anon_sym_PERCENT] = ACTIONS(4386),
    [sym_comment] = ACTIONS(110),
  },
  [6121] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(4380),
    [sym__binary_star] = ACTIONS(4382),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(4384),
    [anon_sym_STAR_STAR] = ACTIONS(4386),
    [anon_sym_AMP] = ACTIONS(4388),
    [anon_sym_LT] = ACTIONS(4390),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(4400),
    [anon_sym_GT_GT] = ACTIONS(4400),
    [anon_sym_EQ_EQ] = ACTIONS(4402),
    [anon_sym_BANG_EQ] = ACTIONS(4398),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4398),
    [anon_sym_LT_EQ_GT] = ACTIONS(4398),
    [anon_sym_EQ_TILDE] = ACTIONS(4398),
    [anon_sym_BANG_TILDE] = ACTIONS(4398),
    [anon_sym_LT_EQ] = ACTIONS(4390),
    [anon_sym_GT] = ACTIONS(4390),
    [anon_sym_GT_EQ] = ACTIONS(4404),
    [anon_sym_CARET] = ACTIONS(4406),
    [anon_sym_PLUS] = ACTIONS(4408),
    [anon_sym_SLASH] = ACTIONS(4386),
    [anon_sym_PERCENT] = ACTIONS(4386),
    [sym_comment] = ACTIONS(110),
  },
  [6122] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(4380),
    [sym__binary_star] = ACTIONS(4382),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(4386),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(4408),
    [anon_sym_SLASH] = ACTIONS(4386),
    [anon_sym_PERCENT] = ACTIONS(4386),
    [sym_comment] = ACTIONS(110),
  },
  [6123] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(4382),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(4386),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(4386),
    [anon_sym_PERCENT] = ACTIONS(4386),
    [sym_comment] = ACTIONS(110),
  },
  [6124] = {
    [sym__heredoc_body_middle] = ACTIONS(4108),
    [sym__heredoc_body_end] = ACTIONS(12218),
    [anon_sym_if] = ACTIONS(4112),
    [anon_sym_unless] = ACTIONS(4114),
    [anon_sym_while] = ACTIONS(4116),
    [anon_sym_until] = ACTIONS(4118),
    [anon_sym_rescue] = ACTIONS(4120),
    [sym_comment] = ACTIONS(110),
  },
  [6125] = {
    [sym__statement] = STATE(9348),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [6126] = {
    [sym__simple_heredoc_body] = ACTIONS(9492),
    [sym__heredoc_body_beginning] = ACTIONS(9492),
    [sym__element_reference_left_bracket] = ACTIONS(9492),
    [sym__scope_double_colon] = ACTIONS(9492),
    [sym__binary_minus] = ACTIONS(9492),
    [sym__binary_star] = ACTIONS(9492),
    [anon_sym_LBRACE] = ACTIONS(9492),
    [anon_sym_RBRACE] = ACTIONS(9492),
    [anon_sym_RPAREN] = ACTIONS(9492),
    [anon_sym_DOT] = ACTIONS(9494),
    [anon_sym_COMMA] = ACTIONS(9492),
    [anon_sym_PIPE] = ACTIONS(9494),
    [anon_sym_SEMI] = ACTIONS(9492),
    [anon_sym_STAR_STAR] = ACTIONS(9492),
    [anon_sym_AMP] = ACTIONS(9494),
    [anon_sym_EQ] = ACTIONS(9494),
    [anon_sym_LT] = ACTIONS(9494),
    [anon_sym_in] = ACTIONS(9492),
    [anon_sym_do] = ACTIONS(9492),
    [anon_sym_EQ_GT] = ACTIONS(9492),
    [anon_sym_RBRACK] = ACTIONS(9492),
    [anon_sym_AMP_DOT] = ACTIONS(9492),
    [anon_sym_QMARK] = ACTIONS(9492),
    [anon_sym_COLON] = ACTIONS(9492),
    [anon_sym_DOT_DOT] = ACTIONS(9494),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9492),
    [anon_sym_and] = ACTIONS(9492),
    [anon_sym_or] = ACTIONS(9492),
    [anon_sym_PIPE_PIPE] = ACTIONS(9492),
    [anon_sym_AMP_AMP] = ACTIONS(9492),
    [anon_sym_LT_LT] = ACTIONS(9492),
    [anon_sym_GT_GT] = ACTIONS(9492),
    [anon_sym_EQ_EQ] = ACTIONS(9494),
    [anon_sym_BANG_EQ] = ACTIONS(9492),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9492),
    [anon_sym_LT_EQ_GT] = ACTIONS(9492),
    [anon_sym_EQ_TILDE] = ACTIONS(9492),
    [anon_sym_BANG_TILDE] = ACTIONS(9492),
    [anon_sym_LT_EQ] = ACTIONS(9494),
    [anon_sym_GT] = ACTIONS(9494),
    [anon_sym_GT_EQ] = ACTIONS(9492),
    [anon_sym_CARET] = ACTIONS(9492),
    [anon_sym_PLUS] = ACTIONS(9492),
    [anon_sym_SLASH] = ACTIONS(9492),
    [anon_sym_PERCENT] = ACTIONS(9492),
    [sym_comment] = ACTIONS(256),
  },
  [6127] = {
    [sym__simple_heredoc_body] = ACTIONS(9496),
    [sym__heredoc_body_beginning] = ACTIONS(9496),
    [sym__element_reference_left_bracket] = ACTIONS(9496),
    [sym__scope_double_colon] = ACTIONS(9496),
    [sym__binary_minus] = ACTIONS(9496),
    [sym__binary_star] = ACTIONS(9496),
    [anon_sym_LBRACE] = ACTIONS(9496),
    [anon_sym_RBRACE] = ACTIONS(9496),
    [anon_sym_RPAREN] = ACTIONS(9496),
    [anon_sym_DOT] = ACTIONS(9498),
    [anon_sym_COMMA] = ACTIONS(9496),
    [anon_sym_PIPE] = ACTIONS(9498),
    [anon_sym_SEMI] = ACTIONS(9496),
    [anon_sym_STAR_STAR] = ACTIONS(9496),
    [anon_sym_AMP] = ACTIONS(9498),
    [anon_sym_EQ] = ACTIONS(9498),
    [anon_sym_LT] = ACTIONS(9498),
    [anon_sym_in] = ACTIONS(9496),
    [anon_sym_do] = ACTIONS(9496),
    [anon_sym_EQ_GT] = ACTIONS(9496),
    [anon_sym_RBRACK] = ACTIONS(9496),
    [anon_sym_AMP_DOT] = ACTIONS(9496),
    [anon_sym_QMARK] = ACTIONS(9496),
    [anon_sym_COLON] = ACTIONS(9496),
    [anon_sym_DOT_DOT] = ACTIONS(9498),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9496),
    [anon_sym_and] = ACTIONS(9496),
    [anon_sym_or] = ACTIONS(9496),
    [anon_sym_PIPE_PIPE] = ACTIONS(9496),
    [anon_sym_AMP_AMP] = ACTIONS(9496),
    [anon_sym_LT_LT] = ACTIONS(9496),
    [anon_sym_GT_GT] = ACTIONS(9496),
    [anon_sym_EQ_EQ] = ACTIONS(9498),
    [anon_sym_BANG_EQ] = ACTIONS(9496),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9496),
    [anon_sym_LT_EQ_GT] = ACTIONS(9496),
    [anon_sym_EQ_TILDE] = ACTIONS(9496),
    [anon_sym_BANG_TILDE] = ACTIONS(9496),
    [anon_sym_LT_EQ] = ACTIONS(9498),
    [anon_sym_GT] = ACTIONS(9498),
    [anon_sym_GT_EQ] = ACTIONS(9496),
    [anon_sym_CARET] = ACTIONS(9496),
    [anon_sym_PLUS] = ACTIONS(9496),
    [anon_sym_SLASH] = ACTIONS(9496),
    [anon_sym_PERCENT] = ACTIONS(9496),
    [sym_comment] = ACTIONS(256),
  },
  [6128] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1000),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(9349),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_reserved_identifier] = STATE(1009),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1010),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(1634),
    [sym__splat_star] = ACTIONS(1636),
    [sym__unary_minus] = ACTIONS(1640),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(8552),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(1642),
    [anon_sym_yield] = ACTIONS(1644),
    [anon_sym_break] = ACTIONS(1646),
    [anon_sym_next] = ACTIONS(1648),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2038),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(1652),
    [anon_sym_BANG] = ACTIONS(1656),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(1658),
    [sym_identifier] = ACTIONS(1658),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6129] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1000),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(9349),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_reserved_identifier] = STATE(1009),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1010),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(9350),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(1634),
    [sym__splat_star] = ACTIONS(1636),
    [sym__unary_minus] = ACTIONS(1640),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(8552),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(1642),
    [anon_sym_yield] = ACTIONS(1644),
    [anon_sym_break] = ACTIONS(1646),
    [anon_sym_next] = ACTIONS(1648),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2038),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(1652),
    [anon_sym_BANG] = ACTIONS(1656),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(1658),
    [sym_identifier] = ACTIONS(1658),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6130] = {
    [sym_heredoc_end] = STATE(6126),
    [sym__simple_heredoc_body] = ACTIONS(4410),
    [sym__heredoc_body_beginning] = ACTIONS(4412),
    [sym__element_reference_left_bracket] = ACTIONS(9500),
    [sym__scope_double_colon] = ACTIONS(9500),
    [sym__binary_minus] = ACTIONS(9500),
    [sym__binary_star] = ACTIONS(9500),
    [anon_sym_LBRACE] = ACTIONS(9500),
    [anon_sym_RBRACE] = ACTIONS(9500),
    [anon_sym_RPAREN] = ACTIONS(9500),
    [anon_sym_DOT] = ACTIONS(9502),
    [anon_sym_COMMA] = ACTIONS(9500),
    [anon_sym_PIPE] = ACTIONS(9502),
    [anon_sym_SEMI] = ACTIONS(9500),
    [anon_sym_STAR_STAR] = ACTIONS(9500),
    [anon_sym_AMP] = ACTIONS(9502),
    [anon_sym_EQ] = ACTIONS(9502),
    [anon_sym_LT] = ACTIONS(9502),
    [anon_sym_in] = ACTIONS(9500),
    [anon_sym_do] = ACTIONS(9500),
    [anon_sym_EQ_GT] = ACTIONS(9500),
    [anon_sym_RBRACK] = ACTIONS(9500),
    [anon_sym_AMP_DOT] = ACTIONS(9500),
    [anon_sym_QMARK] = ACTIONS(9500),
    [anon_sym_COLON] = ACTIONS(9500),
    [anon_sym_DOT_DOT] = ACTIONS(9502),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9500),
    [anon_sym_and] = ACTIONS(9500),
    [anon_sym_or] = ACTIONS(9500),
    [anon_sym_PIPE_PIPE] = ACTIONS(9500),
    [anon_sym_AMP_AMP] = ACTIONS(9500),
    [anon_sym_LT_LT] = ACTIONS(9500),
    [anon_sym_GT_GT] = ACTIONS(9500),
    [anon_sym_EQ_EQ] = ACTIONS(9502),
    [anon_sym_BANG_EQ] = ACTIONS(9500),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9500),
    [anon_sym_LT_EQ_GT] = ACTIONS(9500),
    [anon_sym_EQ_TILDE] = ACTIONS(9500),
    [anon_sym_BANG_TILDE] = ACTIONS(9500),
    [anon_sym_LT_EQ] = ACTIONS(9502),
    [anon_sym_GT] = ACTIONS(9502),
    [anon_sym_GT_EQ] = ACTIONS(9500),
    [anon_sym_CARET] = ACTIONS(9500),
    [anon_sym_PLUS] = ACTIONS(9500),
    [anon_sym_SLASH] = ACTIONS(9500),
    [anon_sym_PERCENT] = ACTIONS(9500),
    [sym_comment] = ACTIONS(256),
  },
  [6131] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__element_reference_left_bracket] = ACTIONS(6346),
    [sym__scope_double_colon] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(4380),
    [sym__binary_star] = ACTIONS(4382),
    [anon_sym_DOT] = ACTIONS(7328),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(4384),
    [anon_sym_STAR_STAR] = ACTIONS(4386),
    [anon_sym_AMP] = ACTIONS(4388),
    [anon_sym_LT] = ACTIONS(4390),
    [anon_sym_EQ_GT] = ACTIONS(6346),
    [anon_sym_AMP_DOT] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(4392),
    [anon_sym_DOT_DOT] = ACTIONS(4394),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4396),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(4398),
    [anon_sym_AMP_AMP] = ACTIONS(4398),
    [anon_sym_LT_LT] = ACTIONS(4400),
    [anon_sym_GT_GT] = ACTIONS(4400),
    [anon_sym_EQ_EQ] = ACTIONS(4402),
    [anon_sym_BANG_EQ] = ACTIONS(4398),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4398),
    [anon_sym_LT_EQ_GT] = ACTIONS(4398),
    [anon_sym_EQ_TILDE] = ACTIONS(4398),
    [anon_sym_BANG_TILDE] = ACTIONS(4398),
    [anon_sym_LT_EQ] = ACTIONS(4390),
    [anon_sym_GT] = ACTIONS(4390),
    [anon_sym_GT_EQ] = ACTIONS(4404),
    [anon_sym_CARET] = ACTIONS(4406),
    [anon_sym_PLUS] = ACTIONS(4408),
    [anon_sym_SLASH] = ACTIONS(4386),
    [anon_sym_PERCENT] = ACTIONS(4386),
    [sym_comment] = ACTIONS(110),
  },
  [6132] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__element_reference_left_bracket] = ACTIONS(6346),
    [sym__scope_double_colon] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(6346),
    [sym__binary_star] = ACTIONS(6346),
    [anon_sym_LBRACE] = ACTIONS(6346),
    [anon_sym_RBRACE] = ACTIONS(6346),
    [anon_sym_RPAREN] = ACTIONS(6346),
    [anon_sym_DOT] = ACTIONS(7328),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(7328),
    [anon_sym_SEMI] = ACTIONS(6346),
    [anon_sym_STAR_STAR] = ACTIONS(6346),
    [anon_sym_AMP] = ACTIONS(7328),
    [anon_sym_EQ] = ACTIONS(7328),
    [anon_sym_LT] = ACTIONS(7328),
    [anon_sym_in] = ACTIONS(6346),
    [anon_sym_do] = ACTIONS(6346),
    [anon_sym_EQ_GT] = ACTIONS(6346),
    [anon_sym_RBRACK] = ACTIONS(6346),
    [anon_sym_AMP_DOT] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(6346),
    [anon_sym_COLON] = ACTIONS(6346),
    [anon_sym_DOT_DOT] = ACTIONS(7328),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6346),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(6346),
    [anon_sym_AMP_AMP] = ACTIONS(6346),
    [anon_sym_LT_LT] = ACTIONS(6346),
    [anon_sym_GT_GT] = ACTIONS(6346),
    [anon_sym_EQ_EQ] = ACTIONS(7328),
    [anon_sym_BANG_EQ] = ACTIONS(6346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6346),
    [anon_sym_LT_EQ_GT] = ACTIONS(6346),
    [anon_sym_EQ_TILDE] = ACTIONS(6346),
    [anon_sym_BANG_TILDE] = ACTIONS(6346),
    [anon_sym_LT_EQ] = ACTIONS(7328),
    [anon_sym_GT] = ACTIONS(7328),
    [anon_sym_GT_EQ] = ACTIONS(6346),
    [anon_sym_CARET] = ACTIONS(6346),
    [anon_sym_PLUS] = ACTIONS(6346),
    [anon_sym_SLASH] = ACTIONS(6346),
    [anon_sym_PERCENT] = ACTIONS(6346),
    [sym_comment] = ACTIONS(256),
  },
  [6133] = {
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__element_reference_left_bracket] = ACTIONS(7330),
    [sym__scope_double_colon] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_LBRACE] = ACTIONS(7330),
    [anon_sym_RBRACE] = ACTIONS(7330),
    [anon_sym_RPAREN] = ACTIONS(7330),
    [anon_sym_DOT] = ACTIONS(7332),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_SEMI] = ACTIONS(7330),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_EQ] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_in] = ACTIONS(7330),
    [anon_sym_do] = ACTIONS(7330),
    [anon_sym_EQ_GT] = ACTIONS(7330),
    [anon_sym_RBRACK] = ACTIONS(7330),
    [anon_sym_AMP_DOT] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_COLON] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(256),
  },
  [6134] = {
    [aux_sym_exceptions_repeat1] = STATE(9352),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__element_reference_left_bracket] = ACTIONS(7330),
    [sym__scope_double_colon] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_DOT] = ACTIONS(7332),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_EQ_GT] = ACTIONS(7330),
    [anon_sym_AMP_DOT] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [6135] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__element_reference_left_bracket] = ACTIONS(7344),
    [sym__scope_double_colon] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(4380),
    [sym__binary_star] = ACTIONS(4382),
    [anon_sym_DOT] = ACTIONS(9504),
    [anon_sym_COMMA] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(4384),
    [anon_sym_STAR_STAR] = ACTIONS(4386),
    [anon_sym_AMP] = ACTIONS(4388),
    [anon_sym_LT] = ACTIONS(4390),
    [anon_sym_EQ_GT] = ACTIONS(7344),
    [anon_sym_AMP_DOT] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(4392),
    [anon_sym_DOT_DOT] = ACTIONS(4394),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4396),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(4398),
    [anon_sym_AMP_AMP] = ACTIONS(4398),
    [anon_sym_LT_LT] = ACTIONS(4400),
    [anon_sym_GT_GT] = ACTIONS(4400),
    [anon_sym_EQ_EQ] = ACTIONS(4402),
    [anon_sym_BANG_EQ] = ACTIONS(4398),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4398),
    [anon_sym_LT_EQ_GT] = ACTIONS(4398),
    [anon_sym_EQ_TILDE] = ACTIONS(4398),
    [anon_sym_BANG_TILDE] = ACTIONS(4398),
    [anon_sym_LT_EQ] = ACTIONS(4390),
    [anon_sym_GT] = ACTIONS(4390),
    [anon_sym_GT_EQ] = ACTIONS(4404),
    [anon_sym_CARET] = ACTIONS(4406),
    [anon_sym_PLUS] = ACTIONS(4408),
    [anon_sym_SLASH] = ACTIONS(4386),
    [anon_sym_PERCENT] = ACTIONS(4386),
    [sym_comment] = ACTIONS(110),
  },
  [6136] = {
    [sym__simple_heredoc_body] = ACTIONS(8662),
    [sym__heredoc_body_beginning] = ACTIONS(8662),
    [sym__element_reference_left_bracket] = ACTIONS(8662),
    [sym__scope_double_colon] = ACTIONS(8662),
    [sym__binary_minus] = ACTIONS(4380),
    [sym__binary_star] = ACTIONS(4382),
    [anon_sym_DOT] = ACTIONS(9506),
    [anon_sym_COMMA] = ACTIONS(8662),
    [anon_sym_PIPE] = ACTIONS(4384),
    [anon_sym_STAR_STAR] = ACTIONS(4386),
    [anon_sym_AMP] = ACTIONS(4388),
    [anon_sym_LT] = ACTIONS(4390),
    [anon_sym_EQ_GT] = ACTIONS(8662),
    [anon_sym_AMP_DOT] = ACTIONS(8662),
    [anon_sym_QMARK] = ACTIONS(4392),
    [anon_sym_DOT_DOT] = ACTIONS(4394),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4396),
    [anon_sym_and] = ACTIONS(8662),
    [anon_sym_or] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE] = ACTIONS(4398),
    [anon_sym_AMP_AMP] = ACTIONS(4398),
    [anon_sym_LT_LT] = ACTIONS(4400),
    [anon_sym_GT_GT] = ACTIONS(4400),
    [anon_sym_EQ_EQ] = ACTIONS(4402),
    [anon_sym_BANG_EQ] = ACTIONS(4398),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4398),
    [anon_sym_LT_EQ_GT] = ACTIONS(4398),
    [anon_sym_EQ_TILDE] = ACTIONS(4398),
    [anon_sym_BANG_TILDE] = ACTIONS(4398),
    [anon_sym_LT_EQ] = ACTIONS(4390),
    [anon_sym_GT] = ACTIONS(4390),
    [anon_sym_GT_EQ] = ACTIONS(4404),
    [anon_sym_CARET] = ACTIONS(4406),
    [anon_sym_PLUS] = ACTIONS(4408),
    [anon_sym_SLASH] = ACTIONS(4386),
    [anon_sym_PERCENT] = ACTIONS(4386),
    [sym_comment] = ACTIONS(110),
  },
  [6137] = {
    [sym__element_reference_left_bracket] = ACTIONS(9562),
    [sym__scope_double_colon] = ACTIONS(9562),
    [sym__binary_minus] = ACTIONS(9562),
    [sym__binary_star] = ACTIONS(9562),
    [anon_sym_LBRACE] = ACTIONS(9562),
    [anon_sym_RPAREN] = ACTIONS(9562),
    [anon_sym_DOT] = ACTIONS(9564),
    [anon_sym_COMMA] = ACTIONS(9562),
    [anon_sym_PIPE] = ACTIONS(9564),
    [anon_sym_SEMI] = ACTIONS(9562),
    [anon_sym_STAR_STAR] = ACTIONS(9562),
    [anon_sym_AMP] = ACTIONS(9564),
    [anon_sym_LT] = ACTIONS(9564),
    [anon_sym_do] = ACTIONS(9562),
    [anon_sym_EQ_GT] = ACTIONS(9562),
    [anon_sym_AMP_DOT] = ACTIONS(9562),
    [anon_sym_QMARK] = ACTIONS(9562),
    [anon_sym_COLON] = ACTIONS(9562),
    [anon_sym_DOT_DOT] = ACTIONS(9564),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9562),
    [anon_sym_and] = ACTIONS(9562),
    [anon_sym_or] = ACTIONS(9562),
    [anon_sym_PIPE_PIPE] = ACTIONS(9562),
    [anon_sym_AMP_AMP] = ACTIONS(9562),
    [anon_sym_LT_LT] = ACTIONS(9562),
    [anon_sym_GT_GT] = ACTIONS(9562),
    [anon_sym_EQ_EQ] = ACTIONS(9564),
    [anon_sym_BANG_EQ] = ACTIONS(9562),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9562),
    [anon_sym_LT_EQ_GT] = ACTIONS(9562),
    [anon_sym_EQ_TILDE] = ACTIONS(9562),
    [anon_sym_BANG_TILDE] = ACTIONS(9562),
    [anon_sym_LT_EQ] = ACTIONS(9564),
    [anon_sym_GT] = ACTIONS(9564),
    [anon_sym_GT_EQ] = ACTIONS(9562),
    [anon_sym_CARET] = ACTIONS(9562),
    [anon_sym_PLUS] = ACTIONS(9562),
    [anon_sym_SLASH] = ACTIONS(9562),
    [anon_sym_PERCENT] = ACTIONS(9562),
    [sym_comment] = ACTIONS(110),
  },
  [6138] = {
    [sym_elsif] = STATE(3865),
    [sym_else] = STATE(3865),
    [sym__if_tail] = STATE(9354),
    [anon_sym_end] = ACTIONS(12220),
    [anon_sym_elsif] = ACTIONS(9592),
    [anon_sym_else] = ACTIONS(9594),
    [sym_comment] = ACTIONS(110),
  },
  [6139] = {
    [anon_sym_end] = ACTIONS(12220),
    [sym_comment] = ACTIONS(110),
  },
  [6140] = {
    [sym__statements] = STATE(9355),
    [sym__top_level_statement] = STATE(3863),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(3864),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_elsif] = STATE(3865),
    [sym_else] = STATE(3865),
    [sym__if_tail] = STATE(9354),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3867),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3869),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3870),
    [sym__variable] = STATE(3868),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5572),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(12222),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_elsif] = ACTIONS(5586),
    [anon_sym_else] = ACTIONS(5588),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5590),
    [anon_sym_defined_QMARK] = ACTIONS(5592),
    [anon_sym_not] = ACTIONS(5594),
    [anon_sym_BANG] = ACTIONS(5596),
    [anon_sym_TILDE] = ACTIONS(5596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6141] = {
    [sym__element_reference_left_bracket] = ACTIONS(9758),
    [sym__scope_double_colon] = ACTIONS(9758),
    [sym__binary_minus] = ACTIONS(9758),
    [sym__binary_star] = ACTIONS(9758),
    [anon_sym_LBRACE] = ACTIONS(9758),
    [anon_sym_RPAREN] = ACTIONS(9758),
    [anon_sym_DOT] = ACTIONS(9760),
    [anon_sym_COMMA] = ACTIONS(9758),
    [anon_sym_PIPE] = ACTIONS(9760),
    [anon_sym_SEMI] = ACTIONS(9758),
    [anon_sym_STAR_STAR] = ACTIONS(9758),
    [anon_sym_AMP] = ACTIONS(9760),
    [anon_sym_LT] = ACTIONS(9760),
    [anon_sym_do] = ACTIONS(9758),
    [anon_sym_EQ_GT] = ACTIONS(9758),
    [anon_sym_AMP_DOT] = ACTIONS(9758),
    [anon_sym_QMARK] = ACTIONS(9758),
    [anon_sym_COLON] = ACTIONS(9758),
    [anon_sym_DOT_DOT] = ACTIONS(9760),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9758),
    [anon_sym_and] = ACTIONS(9758),
    [anon_sym_or] = ACTIONS(9758),
    [anon_sym_PIPE_PIPE] = ACTIONS(9758),
    [anon_sym_AMP_AMP] = ACTIONS(9758),
    [anon_sym_LT_LT] = ACTIONS(9758),
    [anon_sym_GT_GT] = ACTIONS(9758),
    [anon_sym_EQ_EQ] = ACTIONS(9760),
    [anon_sym_BANG_EQ] = ACTIONS(9758),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9758),
    [anon_sym_LT_EQ_GT] = ACTIONS(9758),
    [anon_sym_EQ_TILDE] = ACTIONS(9758),
    [anon_sym_BANG_TILDE] = ACTIONS(9758),
    [anon_sym_LT_EQ] = ACTIONS(9760),
    [anon_sym_GT] = ACTIONS(9760),
    [anon_sym_GT_EQ] = ACTIONS(9758),
    [anon_sym_CARET] = ACTIONS(9758),
    [anon_sym_PLUS] = ACTIONS(9758),
    [anon_sym_SLASH] = ACTIONS(9758),
    [anon_sym_PERCENT] = ACTIONS(9758),
    [sym_comment] = ACTIONS(110),
  },
  [6142] = {
    [sym_else] = STATE(9357),
    [anon_sym_end] = ACTIONS(12224),
    [anon_sym_else] = ACTIONS(9594),
    [sym_comment] = ACTIONS(110),
  },
  [6143] = {
    [anon_sym_end] = ACTIONS(12224),
    [sym_comment] = ACTIONS(110),
  },
  [6144] = {
    [sym__element_reference_left_bracket] = ACTIONS(9922),
    [sym__scope_double_colon] = ACTIONS(9922),
    [sym__binary_minus] = ACTIONS(9922),
    [sym__binary_star] = ACTIONS(9922),
    [anon_sym_LBRACE] = ACTIONS(9922),
    [anon_sym_RPAREN] = ACTIONS(9922),
    [anon_sym_DOT] = ACTIONS(9924),
    [anon_sym_COMMA] = ACTIONS(9922),
    [anon_sym_PIPE] = ACTIONS(9924),
    [anon_sym_SEMI] = ACTIONS(9922),
    [anon_sym_STAR_STAR] = ACTIONS(9922),
    [anon_sym_AMP] = ACTIONS(9924),
    [anon_sym_LT] = ACTIONS(9924),
    [anon_sym_do] = ACTIONS(9922),
    [anon_sym_EQ_GT] = ACTIONS(9922),
    [anon_sym_AMP_DOT] = ACTIONS(9922),
    [anon_sym_QMARK] = ACTIONS(9922),
    [anon_sym_COLON] = ACTIONS(9922),
    [anon_sym_DOT_DOT] = ACTIONS(9924),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9922),
    [anon_sym_and] = ACTIONS(9922),
    [anon_sym_or] = ACTIONS(9922),
    [anon_sym_PIPE_PIPE] = ACTIONS(9922),
    [anon_sym_AMP_AMP] = ACTIONS(9922),
    [anon_sym_LT_LT] = ACTIONS(9922),
    [anon_sym_GT_GT] = ACTIONS(9922),
    [anon_sym_EQ_EQ] = ACTIONS(9924),
    [anon_sym_BANG_EQ] = ACTIONS(9922),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9922),
    [anon_sym_LT_EQ_GT] = ACTIONS(9922),
    [anon_sym_EQ_TILDE] = ACTIONS(9922),
    [anon_sym_BANG_TILDE] = ACTIONS(9922),
    [anon_sym_LT_EQ] = ACTIONS(9924),
    [anon_sym_GT] = ACTIONS(9924),
    [anon_sym_GT_EQ] = ACTIONS(9922),
    [anon_sym_CARET] = ACTIONS(9922),
    [anon_sym_PLUS] = ACTIONS(9922),
    [anon_sym_SLASH] = ACTIONS(9922),
    [anon_sym_PERCENT] = ACTIONS(9922),
    [sym_comment] = ACTIONS(110),
  },
  [6145] = {
    [anon_sym_end] = ACTIONS(12226),
    [sym_comment] = ACTIONS(110),
  },
  [6146] = {
    [sym__element_reference_left_bracket] = ACTIONS(10004),
    [sym__scope_double_colon] = ACTIONS(10004),
    [sym__binary_minus] = ACTIONS(10004),
    [sym__binary_star] = ACTIONS(10004),
    [anon_sym_LBRACE] = ACTIONS(10004),
    [anon_sym_RPAREN] = ACTIONS(10004),
    [anon_sym_DOT] = ACTIONS(10006),
    [anon_sym_COMMA] = ACTIONS(10004),
    [anon_sym_PIPE] = ACTIONS(10006),
    [anon_sym_SEMI] = ACTIONS(10004),
    [anon_sym_STAR_STAR] = ACTIONS(10004),
    [anon_sym_AMP] = ACTIONS(10006),
    [anon_sym_LT] = ACTIONS(10006),
    [anon_sym_do] = ACTIONS(10004),
    [anon_sym_EQ_GT] = ACTIONS(10004),
    [anon_sym_AMP_DOT] = ACTIONS(10004),
    [anon_sym_QMARK] = ACTIONS(10004),
    [anon_sym_COLON] = ACTIONS(10004),
    [anon_sym_DOT_DOT] = ACTIONS(10006),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10004),
    [anon_sym_and] = ACTIONS(10004),
    [anon_sym_or] = ACTIONS(10004),
    [anon_sym_PIPE_PIPE] = ACTIONS(10004),
    [anon_sym_AMP_AMP] = ACTIONS(10004),
    [anon_sym_LT_LT] = ACTIONS(10004),
    [anon_sym_GT_GT] = ACTIONS(10004),
    [anon_sym_EQ_EQ] = ACTIONS(10006),
    [anon_sym_BANG_EQ] = ACTIONS(10004),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10004),
    [anon_sym_LT_EQ_GT] = ACTIONS(10004),
    [anon_sym_EQ_TILDE] = ACTIONS(10004),
    [anon_sym_BANG_TILDE] = ACTIONS(10004),
    [anon_sym_LT_EQ] = ACTIONS(10006),
    [anon_sym_GT] = ACTIONS(10006),
    [anon_sym_GT_EQ] = ACTIONS(10004),
    [anon_sym_CARET] = ACTIONS(10004),
    [anon_sym_PLUS] = ACTIONS(10004),
    [anon_sym_SLASH] = ACTIONS(10004),
    [anon_sym_PERCENT] = ACTIONS(10004),
    [sym_comment] = ACTIONS(110),
  },
  [6147] = {
    [anon_sym_end] = ACTIONS(12228),
    [sym_comment] = ACTIONS(110),
  },
  [6148] = {
    [sym__statements] = STATE(9361),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(12230),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6149] = {
    [sym__element_reference_left_bracket] = ACTIONS(10332),
    [sym__scope_double_colon] = ACTIONS(10332),
    [sym__binary_minus] = ACTIONS(10332),
    [sym__binary_star] = ACTIONS(10332),
    [anon_sym_LBRACE] = ACTIONS(10332),
    [anon_sym_RPAREN] = ACTIONS(10332),
    [anon_sym_DOT] = ACTIONS(10334),
    [anon_sym_COMMA] = ACTIONS(10332),
    [anon_sym_PIPE] = ACTIONS(10334),
    [anon_sym_SEMI] = ACTIONS(10332),
    [anon_sym_STAR_STAR] = ACTIONS(10332),
    [anon_sym_AMP] = ACTIONS(10334),
    [anon_sym_LT] = ACTIONS(10334),
    [anon_sym_do] = ACTIONS(10332),
    [anon_sym_EQ_GT] = ACTIONS(10332),
    [anon_sym_AMP_DOT] = ACTIONS(10332),
    [anon_sym_QMARK] = ACTIONS(10332),
    [anon_sym_COLON] = ACTIONS(10332),
    [anon_sym_DOT_DOT] = ACTIONS(10334),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10332),
    [anon_sym_and] = ACTIONS(10332),
    [anon_sym_or] = ACTIONS(10332),
    [anon_sym_PIPE_PIPE] = ACTIONS(10332),
    [anon_sym_AMP_AMP] = ACTIONS(10332),
    [anon_sym_LT_LT] = ACTIONS(10332),
    [anon_sym_GT_GT] = ACTIONS(10332),
    [anon_sym_EQ_EQ] = ACTIONS(10334),
    [anon_sym_BANG_EQ] = ACTIONS(10332),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10332),
    [anon_sym_LT_EQ_GT] = ACTIONS(10332),
    [anon_sym_EQ_TILDE] = ACTIONS(10332),
    [anon_sym_BANG_TILDE] = ACTIONS(10332),
    [anon_sym_LT_EQ] = ACTIONS(10334),
    [anon_sym_GT] = ACTIONS(10334),
    [anon_sym_GT_EQ] = ACTIONS(10332),
    [anon_sym_CARET] = ACTIONS(10332),
    [anon_sym_PLUS] = ACTIONS(10332),
    [anon_sym_SLASH] = ACTIONS(10332),
    [anon_sym_PERCENT] = ACTIONS(10332),
    [sym_comment] = ACTIONS(110),
  },
  [6150] = {
    [anon_sym_end] = ACTIONS(12232),
    [sym_comment] = ACTIONS(110),
  },
  [6151] = {
    [sym__element_reference_left_bracket] = ACTIONS(10934),
    [sym__scope_double_colon] = ACTIONS(10934),
    [sym__binary_minus] = ACTIONS(10934),
    [sym__binary_star] = ACTIONS(10934),
    [anon_sym_LBRACE] = ACTIONS(10934),
    [anon_sym_RPAREN] = ACTIONS(10934),
    [anon_sym_DOT] = ACTIONS(10936),
    [anon_sym_COMMA] = ACTIONS(10934),
    [anon_sym_PIPE] = ACTIONS(10936),
    [anon_sym_SEMI] = ACTIONS(10934),
    [anon_sym_STAR_STAR] = ACTIONS(10934),
    [anon_sym_AMP] = ACTIONS(10936),
    [anon_sym_LT] = ACTIONS(10936),
    [anon_sym_do] = ACTIONS(10934),
    [anon_sym_EQ_GT] = ACTIONS(10934),
    [anon_sym_AMP_DOT] = ACTIONS(10934),
    [anon_sym_QMARK] = ACTIONS(10934),
    [anon_sym_COLON] = ACTIONS(10934),
    [anon_sym_DOT_DOT] = ACTIONS(10936),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10934),
    [anon_sym_and] = ACTIONS(10934),
    [anon_sym_or] = ACTIONS(10934),
    [anon_sym_PIPE_PIPE] = ACTIONS(10934),
    [anon_sym_AMP_AMP] = ACTIONS(10934),
    [anon_sym_LT_LT] = ACTIONS(10934),
    [anon_sym_GT_GT] = ACTIONS(10934),
    [anon_sym_EQ_EQ] = ACTIONS(10936),
    [anon_sym_BANG_EQ] = ACTIONS(10934),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10934),
    [anon_sym_LT_EQ_GT] = ACTIONS(10934),
    [anon_sym_EQ_TILDE] = ACTIONS(10934),
    [anon_sym_BANG_TILDE] = ACTIONS(10934),
    [anon_sym_LT_EQ] = ACTIONS(10936),
    [anon_sym_GT] = ACTIONS(10936),
    [anon_sym_GT_EQ] = ACTIONS(10934),
    [anon_sym_CARET] = ACTIONS(10934),
    [anon_sym_PLUS] = ACTIONS(10934),
    [anon_sym_SLASH] = ACTIONS(10934),
    [anon_sym_PERCENT] = ACTIONS(10934),
    [sym_comment] = ACTIONS(110),
  },
  [6152] = {
    [sym__element_reference_left_bracket] = ACTIONS(11064),
    [sym__scope_double_colon] = ACTIONS(11064),
    [sym__binary_minus] = ACTIONS(11064),
    [sym__binary_star] = ACTIONS(11064),
    [anon_sym_LBRACE] = ACTIONS(11064),
    [anon_sym_RPAREN] = ACTIONS(11064),
    [anon_sym_DOT] = ACTIONS(11066),
    [anon_sym_COMMA] = ACTIONS(11064),
    [anon_sym_PIPE] = ACTIONS(11066),
    [anon_sym_SEMI] = ACTIONS(11064),
    [anon_sym_STAR_STAR] = ACTIONS(11064),
    [anon_sym_AMP] = ACTIONS(11066),
    [anon_sym_LT] = ACTIONS(11066),
    [anon_sym_do] = ACTIONS(11064),
    [anon_sym_EQ_GT] = ACTIONS(11064),
    [anon_sym_AMP_DOT] = ACTIONS(11064),
    [anon_sym_QMARK] = ACTIONS(11064),
    [anon_sym_COLON] = ACTIONS(11064),
    [anon_sym_DOT_DOT] = ACTIONS(11066),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11064),
    [anon_sym_and] = ACTIONS(11064),
    [anon_sym_or] = ACTIONS(11064),
    [anon_sym_PIPE_PIPE] = ACTIONS(11064),
    [anon_sym_AMP_AMP] = ACTIONS(11064),
    [anon_sym_LT_LT] = ACTIONS(11064),
    [anon_sym_GT_GT] = ACTIONS(11064),
    [anon_sym_EQ_EQ] = ACTIONS(11066),
    [anon_sym_BANG_EQ] = ACTIONS(11064),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11064),
    [anon_sym_LT_EQ_GT] = ACTIONS(11064),
    [anon_sym_EQ_TILDE] = ACTIONS(11064),
    [anon_sym_BANG_TILDE] = ACTIONS(11064),
    [anon_sym_LT_EQ] = ACTIONS(11066),
    [anon_sym_GT] = ACTIONS(11066),
    [anon_sym_GT_EQ] = ACTIONS(11064),
    [anon_sym_CARET] = ACTIONS(11064),
    [anon_sym_PLUS] = ACTIONS(11064),
    [anon_sym_SLASH] = ACTIONS(11064),
    [anon_sym_PERCENT] = ACTIONS(11064),
    [sym_comment] = ACTIONS(110),
  },
  [6153] = {
    [anon_sym_RBRACE] = ACTIONS(12234),
    [sym_comment] = ACTIONS(110),
  },
  [6154] = {
    [sym__element_reference_left_bracket] = ACTIONS(11094),
    [sym__scope_double_colon] = ACTIONS(11094),
    [sym__binary_minus] = ACTIONS(11094),
    [sym__binary_star] = ACTIONS(11094),
    [anon_sym_LBRACE] = ACTIONS(11094),
    [anon_sym_RPAREN] = ACTIONS(11094),
    [anon_sym_DOT] = ACTIONS(11096),
    [anon_sym_COMMA] = ACTIONS(11094),
    [anon_sym_PIPE] = ACTIONS(11096),
    [anon_sym_SEMI] = ACTIONS(11094),
    [anon_sym_STAR_STAR] = ACTIONS(11094),
    [anon_sym_AMP] = ACTIONS(11096),
    [anon_sym_LT] = ACTIONS(11096),
    [anon_sym_do] = ACTIONS(11094),
    [anon_sym_EQ_GT] = ACTIONS(11094),
    [anon_sym_AMP_DOT] = ACTIONS(11094),
    [anon_sym_QMARK] = ACTIONS(11094),
    [anon_sym_COLON] = ACTIONS(11094),
    [anon_sym_DOT_DOT] = ACTIONS(11096),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11094),
    [anon_sym_and] = ACTIONS(11094),
    [anon_sym_or] = ACTIONS(11094),
    [anon_sym_PIPE_PIPE] = ACTIONS(11094),
    [anon_sym_AMP_AMP] = ACTIONS(11094),
    [anon_sym_LT_LT] = ACTIONS(11094),
    [anon_sym_GT_GT] = ACTIONS(11094),
    [anon_sym_EQ_EQ] = ACTIONS(11096),
    [anon_sym_BANG_EQ] = ACTIONS(11094),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11094),
    [anon_sym_LT_EQ_GT] = ACTIONS(11094),
    [anon_sym_EQ_TILDE] = ACTIONS(11094),
    [anon_sym_BANG_TILDE] = ACTIONS(11094),
    [anon_sym_LT_EQ] = ACTIONS(11096),
    [anon_sym_GT] = ACTIONS(11096),
    [anon_sym_GT_EQ] = ACTIONS(11094),
    [anon_sym_CARET] = ACTIONS(11094),
    [anon_sym_PLUS] = ACTIONS(11094),
    [anon_sym_SLASH] = ACTIONS(11094),
    [anon_sym_PERCENT] = ACTIONS(11094),
    [sym_comment] = ACTIONS(110),
  },
  [6155] = {
    [anon_sym_end] = ACTIONS(12236),
    [sym_comment] = ACTIONS(110),
  },
  [6156] = {
    [sym__statements] = STATE(9365),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(12238),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6157] = {
    [sym__statements] = STATE(9365),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(9366),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(12238),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6158] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(9367),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(199),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(200),
    [sym__variable] = STATE(196),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(286),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1514),
    [anon_sym_yield] = ACTIONS(1516),
    [anon_sym_break] = ACTIONS(1518),
    [anon_sym_next] = ACTIONS(1520),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(334),
    [anon_sym_defined_QMARK] = ACTIONS(336),
    [anon_sym_not] = ACTIONS(1540),
    [anon_sym_BANG] = ACTIONS(340),
    [anon_sym_TILDE] = ACTIONS(340),
    [sym_constant] = ACTIONS(1542),
    [sym_identifier] = ACTIONS(1542),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_false] = ACTIONS(364),
    [anon_sym_nil] = ACTIONS(366),
    [anon_sym_self] = ACTIONS(1544),
    [anon_sym_super] = ACTIONS(1546),
    [anon_sym_true] = ACTIONS(362),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [6159] = {
    [sym__element_reference_left_bracket] = ACTIONS(11316),
    [sym__scope_double_colon] = ACTIONS(11316),
    [sym__binary_minus] = ACTIONS(11316),
    [sym__binary_star] = ACTIONS(11316),
    [anon_sym_DOT] = ACTIONS(11318),
    [anon_sym_COMMA] = ACTIONS(11316),
    [anon_sym_PIPE] = ACTIONS(11318),
    [anon_sym_STAR_STAR] = ACTIONS(11318),
    [anon_sym_AMP] = ACTIONS(11318),
    [anon_sym_EQ] = ACTIONS(11318),
    [anon_sym_LT] = ACTIONS(11318),
    [anon_sym_EQ_GT] = ACTIONS(11316),
    [anon_sym_AMP_DOT] = ACTIONS(11316),
    [anon_sym_PLUS_EQ] = ACTIONS(11316),
    [anon_sym_DASH_EQ] = ACTIONS(11316),
    [anon_sym_STAR_EQ] = ACTIONS(11316),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(11316),
    [anon_sym_SLASH_EQ] = ACTIONS(11316),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(11316),
    [anon_sym_PIPE_EQ] = ACTIONS(11316),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(11316),
    [anon_sym_AMP_EQ] = ACTIONS(11316),
    [anon_sym_PERCENT_EQ] = ACTIONS(11316),
    [anon_sym_GT_GT_EQ] = ACTIONS(11316),
    [anon_sym_LT_LT_EQ] = ACTIONS(11316),
    [anon_sym_CARET_EQ] = ACTIONS(11316),
    [anon_sym_QMARK] = ACTIONS(11316),
    [anon_sym_DOT_DOT] = ACTIONS(11318),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11316),
    [anon_sym_and] = ACTIONS(11316),
    [anon_sym_or] = ACTIONS(11316),
    [anon_sym_PIPE_PIPE] = ACTIONS(11318),
    [anon_sym_AMP_AMP] = ACTIONS(11318),
    [anon_sym_LT_LT] = ACTIONS(11318),
    [anon_sym_GT_GT] = ACTIONS(11318),
    [anon_sym_EQ_EQ] = ACTIONS(11318),
    [anon_sym_BANG_EQ] = ACTIONS(11316),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11316),
    [anon_sym_LT_EQ_GT] = ACTIONS(11316),
    [anon_sym_EQ_TILDE] = ACTIONS(11316),
    [anon_sym_BANG_TILDE] = ACTIONS(11316),
    [anon_sym_LT_EQ] = ACTIONS(11318),
    [anon_sym_GT] = ACTIONS(11318),
    [anon_sym_GT_EQ] = ACTIONS(11316),
    [anon_sym_CARET] = ACTIONS(11318),
    [anon_sym_PLUS] = ACTIONS(11318),
    [anon_sym_SLASH] = ACTIONS(11318),
    [anon_sym_PERCENT] = ACTIONS(11318),
    [sym_comment] = ACTIONS(256),
  },
  [6160] = {
    [anon_sym_RBRACK] = ACTIONS(12240),
    [sym_comment] = ACTIONS(110),
  },
  [6161] = {
    [sym__simple_string] = ACTIONS(5370),
    [sym__simple_symbol] = ACTIONS(5370),
    [sym__simple_subshell] = ACTIONS(5370),
    [sym__simple_regex] = ACTIONS(5370),
    [sym__simple_word_list] = ACTIONS(5370),
    [sym__string_beginning] = ACTIONS(5370),
    [sym__symbol_beginning] = ACTIONS(5370),
    [sym__subshell_beginning] = ACTIONS(5370),
    [sym__regex_beginning] = ACTIONS(5370),
    [sym__word_list_beginning] = ACTIONS(5370),
    [sym_heredoc_beginning] = ACTIONS(5370),
    [sym__element_reference_left_bracket] = ACTIONS(5370),
    [sym__block_ampersand] = ACTIONS(5370),
    [sym__splat_star] = ACTIONS(5370),
    [sym__argument_list_left_paren] = ACTIONS(5370),
    [sym__scope_double_colon] = ACTIONS(5370),
    [sym__unary_minus] = ACTIONS(5370),
    [sym__binary_minus] = ACTIONS(5370),
    [sym__binary_star] = ACTIONS(5370),
    [anon_sym_LBRACE] = ACTIONS(5370),
    [anon_sym_def] = ACTIONS(5372),
    [anon_sym_LPAREN] = ACTIONS(5370),
    [anon_sym_DOT] = ACTIONS(5372),
    [anon_sym_COLON_COLON] = ACTIONS(5370),
    [anon_sym_end] = ACTIONS(5372),
    [anon_sym_COMMA] = ACTIONS(5370),
    [anon_sym_PIPE] = ACTIONS(5372),
    [anon_sym_STAR] = ACTIONS(5372),
    [anon_sym_STAR_STAR] = ACTIONS(5372),
    [anon_sym_AMP] = ACTIONS(5372),
    [anon_sym_EQ] = ACTIONS(5372),
    [anon_sym_class] = ACTIONS(5372),
    [anon_sym_LT] = ACTIONS(5372),
    [anon_sym_module] = ACTIONS(5372),
    [anon_sym_return] = ACTIONS(5372),
    [anon_sym_yield] = ACTIONS(5372),
    [anon_sym_break] = ACTIONS(5372),
    [anon_sym_next] = ACTIONS(5372),
    [anon_sym_redo] = ACTIONS(5372),
    [anon_sym_retry] = ACTIONS(5372),
    [anon_sym_if] = ACTIONS(5372),
    [anon_sym_unless] = ACTIONS(5372),
    [anon_sym_while] = ACTIONS(5372),
    [anon_sym_until] = ACTIONS(5372),
    [anon_sym_rescue] = ACTIONS(5372),
    [anon_sym_for] = ACTIONS(5372),
    [anon_sym_in] = ACTIONS(5372),
    [anon_sym_do] = ACTIONS(5372),
    [anon_sym_case] = ACTIONS(5372),
    [anon_sym_when] = ACTIONS(5372),
    [anon_sym_elsif] = ACTIONS(5372),
    [anon_sym_else] = ACTIONS(5372),
    [anon_sym_then] = ACTIONS(5372),
    [anon_sym_begin] = ACTIONS(5372),
    [anon_sym_ensure] = ACTIONS(5372),
    [anon_sym_EQ_GT] = ACTIONS(5370),
    [anon_sym_AMP_DOT] = ACTIONS(5370),
    [anon_sym_PLUS_EQ] = ACTIONS(5370),
    [anon_sym_DASH_EQ] = ACTIONS(5370),
    [anon_sym_STAR_EQ] = ACTIONS(5370),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5370),
    [anon_sym_SLASH_EQ] = ACTIONS(5370),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5370),
    [anon_sym_PIPE_EQ] = ACTIONS(5370),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5370),
    [anon_sym_AMP_EQ] = ACTIONS(5370),
    [anon_sym_PERCENT_EQ] = ACTIONS(5370),
    [anon_sym_GT_GT_EQ] = ACTIONS(5370),
    [anon_sym_LT_LT_EQ] = ACTIONS(5370),
    [anon_sym_CARET_EQ] = ACTIONS(5370),
    [anon_sym_QMARK] = ACTIONS(5372),
    [anon_sym_DOT_DOT] = ACTIONS(5372),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5370),
    [anon_sym_and] = ACTIONS(5372),
    [anon_sym_or] = ACTIONS(5372),
    [anon_sym_PIPE_PIPE] = ACTIONS(5372),
    [anon_sym_AMP_AMP] = ACTIONS(5372),
    [anon_sym_LT_LT] = ACTIONS(5372),
    [anon_sym_GT_GT] = ACTIONS(5372),
    [anon_sym_EQ_EQ] = ACTIONS(5372),
    [anon_sym_BANG_EQ] = ACTIONS(5370),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5370),
    [anon_sym_LT_EQ_GT] = ACTIONS(5370),
    [anon_sym_EQ_TILDE] = ACTIONS(5370),
    [anon_sym_BANG_TILDE] = ACTIONS(5370),
    [anon_sym_LT_EQ] = ACTIONS(5372),
    [anon_sym_GT] = ACTIONS(5372),
    [anon_sym_GT_EQ] = ACTIONS(5370),
    [anon_sym_CARET] = ACTIONS(5372),
    [anon_sym_PLUS] = ACTIONS(5372),
    [anon_sym_SLASH] = ACTIONS(5372),
    [anon_sym_PERCENT] = ACTIONS(5372),
    [anon_sym_defined_QMARK] = ACTIONS(5370),
    [anon_sym_not] = ACTIONS(5372),
    [anon_sym_BANG] = ACTIONS(5372),
    [anon_sym_TILDE] = ACTIONS(5370),
    [sym_constant] = ACTIONS(11322),
    [sym_identifier] = ACTIONS(11322),
    [sym_instance_variable] = ACTIONS(5372),
    [sym_class_variable] = ACTIONS(5372),
    [sym_global_variable] = ACTIONS(5372),
    [anon_sym_alias] = ACTIONS(5372),
    [anon_sym_defined] = ACTIONS(5372),
    [anon_sym_false] = ACTIONS(5372),
    [anon_sym_nil] = ACTIONS(5372),
    [anon_sym_self] = ACTIONS(5372),
    [anon_sym_super] = ACTIONS(5372),
    [anon_sym_true] = ACTIONS(5372),
    [anon_sym_undef] = ACTIONS(5372),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(5372),
    [sym_float] = ACTIONS(11322),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5370),
    [anon_sym_TRUE] = ACTIONS(5372),
    [anon_sym_FALSE] = ACTIONS(5372),
    [anon_sym_NIL] = ACTIONS(5372),
    [sym_keyword__FILE__] = ACTIONS(5372),
    [sym_keyword__LINE__] = ACTIONS(5372),
    [sym_keyword__ENCODING__] = ACTIONS(5372),
    [sym__character_literal] = ACTIONS(5372),
    [anon_sym_LBRACK] = ACTIONS(5370),
    [anon_sym_DASH_GT] = ACTIONS(5370),
  },
  [6162] = {
    [sym_heredoc_end] = STATE(9370),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RPAREN] = ACTIONS(12242),
    [sym_comment] = ACTIONS(110),
  },
  [6163] = {
    [anon_sym_RPAREN] = ACTIONS(12242),
    [sym_comment] = ACTIONS(110),
  },
  [6164] = {
    [sym__simple_string] = ACTIONS(3612),
    [sym__simple_heredoc_body] = ACTIONS(3612),
    [sym__string_beginning] = ACTIONS(3612),
    [sym__heredoc_body_beginning] = ACTIONS(3612),
    [sym__element_reference_left_bracket] = ACTIONS(3612),
    [sym__scope_double_colon] = ACTIONS(3612),
    [sym__keyword_colon] = ACTIONS(3612),
    [sym__binary_minus] = ACTIONS(3612),
    [sym__binary_star] = ACTIONS(3612),
    [anon_sym_LBRACE] = ACTIONS(3612),
    [anon_sym_RBRACE] = ACTIONS(3612),
    [anon_sym_RPAREN] = ACTIONS(3612),
    [anon_sym_DOT] = ACTIONS(3614),
    [anon_sym_COMMA] = ACTIONS(3612),
    [anon_sym_PIPE] = ACTIONS(3614),
    [anon_sym_SEMI] = ACTIONS(3612),
    [anon_sym_STAR_STAR] = ACTIONS(3614),
    [anon_sym_AMP] = ACTIONS(3614),
    [anon_sym_EQ] = ACTIONS(3614),
    [anon_sym_LT] = ACTIONS(3614),
    [anon_sym_in] = ACTIONS(3612),
    [anon_sym_do] = ACTIONS(3612),
    [anon_sym_EQ_GT] = ACTIONS(3612),
    [anon_sym_RBRACK] = ACTIONS(3612),
    [anon_sym_AMP_DOT] = ACTIONS(3612),
    [anon_sym_PLUS_EQ] = ACTIONS(3612),
    [anon_sym_DASH_EQ] = ACTIONS(3612),
    [anon_sym_STAR_EQ] = ACTIONS(3612),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3612),
    [anon_sym_SLASH_EQ] = ACTIONS(3612),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3612),
    [anon_sym_PIPE_EQ] = ACTIONS(3612),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3612),
    [anon_sym_AMP_EQ] = ACTIONS(3612),
    [anon_sym_PERCENT_EQ] = ACTIONS(3612),
    [anon_sym_GT_GT_EQ] = ACTIONS(3612),
    [anon_sym_LT_LT_EQ] = ACTIONS(3612),
    [anon_sym_CARET_EQ] = ACTIONS(3612),
    [anon_sym_QMARK] = ACTIONS(3614),
    [anon_sym_COLON] = ACTIONS(3612),
    [anon_sym_DOT_DOT] = ACTIONS(3614),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3612),
    [anon_sym_and] = ACTIONS(3612),
    [anon_sym_or] = ACTIONS(3612),
    [anon_sym_PIPE_PIPE] = ACTIONS(3614),
    [anon_sym_AMP_AMP] = ACTIONS(3614),
    [anon_sym_LT_LT] = ACTIONS(3614),
    [anon_sym_GT_GT] = ACTIONS(3614),
    [anon_sym_EQ_EQ] = ACTIONS(3614),
    [anon_sym_BANG_EQ] = ACTIONS(3612),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3612),
    [anon_sym_LT_EQ_GT] = ACTIONS(3612),
    [anon_sym_EQ_TILDE] = ACTIONS(3612),
    [anon_sym_BANG_TILDE] = ACTIONS(3612),
    [anon_sym_LT_EQ] = ACTIONS(3614),
    [anon_sym_GT] = ACTIONS(3614),
    [anon_sym_GT_EQ] = ACTIONS(3612),
    [anon_sym_CARET] = ACTIONS(3614),
    [anon_sym_PLUS] = ACTIONS(3614),
    [anon_sym_SLASH] = ACTIONS(3614),
    [anon_sym_PERCENT] = ACTIONS(3614),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(3614),
  },
  [6165] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(12244),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [6166] = {
    [sym__simple_heredoc_body] = ACTIONS(3844),
    [sym__heredoc_body_beginning] = ACTIONS(3844),
    [sym__element_reference_left_bracket] = ACTIONS(3844),
    [sym__scope_double_colon] = ACTIONS(3844),
    [sym__binary_minus] = ACTIONS(3844),
    [sym__binary_star] = ACTIONS(3844),
    [anon_sym_LBRACE] = ACTIONS(3844),
    [anon_sym_RBRACE] = ACTIONS(3844),
    [anon_sym_RPAREN] = ACTIONS(3844),
    [anon_sym_DOT] = ACTIONS(3846),
    [anon_sym_COMMA] = ACTIONS(3844),
    [anon_sym_PIPE] = ACTIONS(3846),
    [anon_sym_SEMI] = ACTIONS(3844),
    [anon_sym_STAR_STAR] = ACTIONS(3846),
    [anon_sym_AMP] = ACTIONS(3846),
    [anon_sym_EQ] = ACTIONS(3846),
    [anon_sym_LT] = ACTIONS(3846),
    [anon_sym_in] = ACTIONS(3844),
    [anon_sym_do] = ACTIONS(3844),
    [anon_sym_EQ_GT] = ACTIONS(3844),
    [anon_sym_RBRACK] = ACTIONS(3844),
    [anon_sym_AMP_DOT] = ACTIONS(3844),
    [anon_sym_PLUS_EQ] = ACTIONS(3844),
    [anon_sym_DASH_EQ] = ACTIONS(3844),
    [anon_sym_STAR_EQ] = ACTIONS(3844),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3844),
    [anon_sym_SLASH_EQ] = ACTIONS(3844),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3844),
    [anon_sym_PIPE_EQ] = ACTIONS(3844),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3844),
    [anon_sym_AMP_EQ] = ACTIONS(3844),
    [anon_sym_PERCENT_EQ] = ACTIONS(3844),
    [anon_sym_GT_GT_EQ] = ACTIONS(3844),
    [anon_sym_LT_LT_EQ] = ACTIONS(3844),
    [anon_sym_CARET_EQ] = ACTIONS(3844),
    [anon_sym_QMARK] = ACTIONS(3844),
    [anon_sym_COLON] = ACTIONS(3844),
    [anon_sym_DOT_DOT] = ACTIONS(3846),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3844),
    [anon_sym_and] = ACTIONS(3844),
    [anon_sym_or] = ACTIONS(3844),
    [anon_sym_PIPE_PIPE] = ACTIONS(3846),
    [anon_sym_AMP_AMP] = ACTIONS(3846),
    [anon_sym_LT_LT] = ACTIONS(3846),
    [anon_sym_GT_GT] = ACTIONS(3846),
    [anon_sym_EQ_EQ] = ACTIONS(3846),
    [anon_sym_BANG_EQ] = ACTIONS(3844),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3844),
    [anon_sym_LT_EQ_GT] = ACTIONS(3844),
    [anon_sym_EQ_TILDE] = ACTIONS(3844),
    [anon_sym_BANG_TILDE] = ACTIONS(3844),
    [anon_sym_LT_EQ] = ACTIONS(3846),
    [anon_sym_GT] = ACTIONS(3846),
    [anon_sym_GT_EQ] = ACTIONS(3844),
    [anon_sym_CARET] = ACTIONS(3846),
    [anon_sym_PLUS] = ACTIONS(3846),
    [anon_sym_SLASH] = ACTIONS(3846),
    [anon_sym_PERCENT] = ACTIONS(3846),
    [sym_comment] = ACTIONS(256),
  },
  [6167] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(12246),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [6168] = {
    [sym__simple_heredoc_body] = ACTIONS(3850),
    [sym__heredoc_body_beginning] = ACTIONS(3850),
    [sym__element_reference_left_bracket] = ACTIONS(3850),
    [sym__scope_double_colon] = ACTIONS(3850),
    [sym__binary_minus] = ACTIONS(3850),
    [sym__binary_star] = ACTIONS(3850),
    [anon_sym_LBRACE] = ACTIONS(3850),
    [anon_sym_RBRACE] = ACTIONS(3850),
    [anon_sym_RPAREN] = ACTIONS(3850),
    [anon_sym_DOT] = ACTIONS(3852),
    [anon_sym_COMMA] = ACTIONS(3850),
    [anon_sym_PIPE] = ACTIONS(3852),
    [anon_sym_SEMI] = ACTIONS(3850),
    [anon_sym_STAR_STAR] = ACTIONS(3852),
    [anon_sym_AMP] = ACTIONS(3852),
    [anon_sym_EQ] = ACTIONS(3852),
    [anon_sym_LT] = ACTIONS(3852),
    [anon_sym_in] = ACTIONS(3850),
    [anon_sym_do] = ACTIONS(3850),
    [anon_sym_EQ_GT] = ACTIONS(3850),
    [anon_sym_RBRACK] = ACTIONS(3850),
    [anon_sym_AMP_DOT] = ACTIONS(3850),
    [anon_sym_PLUS_EQ] = ACTIONS(3850),
    [anon_sym_DASH_EQ] = ACTIONS(3850),
    [anon_sym_STAR_EQ] = ACTIONS(3850),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3850),
    [anon_sym_SLASH_EQ] = ACTIONS(3850),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3850),
    [anon_sym_PIPE_EQ] = ACTIONS(3850),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3850),
    [anon_sym_AMP_EQ] = ACTIONS(3850),
    [anon_sym_PERCENT_EQ] = ACTIONS(3850),
    [anon_sym_GT_GT_EQ] = ACTIONS(3850),
    [anon_sym_LT_LT_EQ] = ACTIONS(3850),
    [anon_sym_CARET_EQ] = ACTIONS(3850),
    [anon_sym_QMARK] = ACTIONS(3850),
    [anon_sym_COLON] = ACTIONS(3850),
    [anon_sym_DOT_DOT] = ACTIONS(3852),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3850),
    [anon_sym_and] = ACTIONS(3850),
    [anon_sym_or] = ACTIONS(3850),
    [anon_sym_PIPE_PIPE] = ACTIONS(3852),
    [anon_sym_AMP_AMP] = ACTIONS(3852),
    [anon_sym_LT_LT] = ACTIONS(3852),
    [anon_sym_GT_GT] = ACTIONS(3852),
    [anon_sym_EQ_EQ] = ACTIONS(3852),
    [anon_sym_BANG_EQ] = ACTIONS(3850),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3850),
    [anon_sym_LT_EQ_GT] = ACTIONS(3850),
    [anon_sym_EQ_TILDE] = ACTIONS(3850),
    [anon_sym_BANG_TILDE] = ACTIONS(3850),
    [anon_sym_LT_EQ] = ACTIONS(3852),
    [anon_sym_GT] = ACTIONS(3852),
    [anon_sym_GT_EQ] = ACTIONS(3850),
    [anon_sym_CARET] = ACTIONS(3852),
    [anon_sym_PLUS] = ACTIONS(3852),
    [anon_sym_SLASH] = ACTIONS(3852),
    [anon_sym_PERCENT] = ACTIONS(3852),
    [sym_comment] = ACTIONS(256),
  },
  [6169] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(12248),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [6170] = {
    [sym__simple_heredoc_body] = ACTIONS(3856),
    [sym__heredoc_body_beginning] = ACTIONS(3856),
    [sym__element_reference_left_bracket] = ACTIONS(3856),
    [sym__scope_double_colon] = ACTIONS(3856),
    [sym__binary_minus] = ACTIONS(3856),
    [sym__binary_star] = ACTIONS(3856),
    [anon_sym_LBRACE] = ACTIONS(3856),
    [anon_sym_RBRACE] = ACTIONS(3856),
    [anon_sym_RPAREN] = ACTIONS(3856),
    [anon_sym_DOT] = ACTIONS(3858),
    [anon_sym_COMMA] = ACTIONS(3856),
    [anon_sym_PIPE] = ACTIONS(3858),
    [anon_sym_SEMI] = ACTIONS(3856),
    [anon_sym_STAR_STAR] = ACTIONS(3858),
    [anon_sym_AMP] = ACTIONS(3858),
    [anon_sym_EQ] = ACTIONS(3858),
    [anon_sym_LT] = ACTIONS(3858),
    [anon_sym_in] = ACTIONS(3856),
    [anon_sym_do] = ACTIONS(3856),
    [anon_sym_EQ_GT] = ACTIONS(3856),
    [anon_sym_RBRACK] = ACTIONS(3856),
    [anon_sym_AMP_DOT] = ACTIONS(3856),
    [anon_sym_PLUS_EQ] = ACTIONS(3856),
    [anon_sym_DASH_EQ] = ACTIONS(3856),
    [anon_sym_STAR_EQ] = ACTIONS(3856),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3856),
    [anon_sym_SLASH_EQ] = ACTIONS(3856),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3856),
    [anon_sym_PIPE_EQ] = ACTIONS(3856),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3856),
    [anon_sym_AMP_EQ] = ACTIONS(3856),
    [anon_sym_PERCENT_EQ] = ACTIONS(3856),
    [anon_sym_GT_GT_EQ] = ACTIONS(3856),
    [anon_sym_LT_LT_EQ] = ACTIONS(3856),
    [anon_sym_CARET_EQ] = ACTIONS(3856),
    [anon_sym_QMARK] = ACTIONS(3856),
    [anon_sym_COLON] = ACTIONS(3856),
    [anon_sym_DOT_DOT] = ACTIONS(3858),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3856),
    [anon_sym_and] = ACTIONS(3856),
    [anon_sym_or] = ACTIONS(3856),
    [anon_sym_PIPE_PIPE] = ACTIONS(3858),
    [anon_sym_AMP_AMP] = ACTIONS(3858),
    [anon_sym_LT_LT] = ACTIONS(3858),
    [anon_sym_GT_GT] = ACTIONS(3858),
    [anon_sym_EQ_EQ] = ACTIONS(3858),
    [anon_sym_BANG_EQ] = ACTIONS(3856),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3856),
    [anon_sym_LT_EQ_GT] = ACTIONS(3856),
    [anon_sym_EQ_TILDE] = ACTIONS(3856),
    [anon_sym_BANG_TILDE] = ACTIONS(3856),
    [anon_sym_LT_EQ] = ACTIONS(3858),
    [anon_sym_GT] = ACTIONS(3858),
    [anon_sym_GT_EQ] = ACTIONS(3856),
    [anon_sym_CARET] = ACTIONS(3858),
    [anon_sym_PLUS] = ACTIONS(3858),
    [anon_sym_SLASH] = ACTIONS(3858),
    [anon_sym_PERCENT] = ACTIONS(3858),
    [sym_comment] = ACTIONS(256),
  },
  [6171] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(12250),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [6172] = {
    [sym__simple_heredoc_body] = ACTIONS(3862),
    [sym__heredoc_body_beginning] = ACTIONS(3862),
    [sym__element_reference_left_bracket] = ACTIONS(3862),
    [sym__scope_double_colon] = ACTIONS(3862),
    [sym__binary_minus] = ACTIONS(3862),
    [sym__binary_star] = ACTIONS(3862),
    [anon_sym_LBRACE] = ACTIONS(3862),
    [anon_sym_RBRACE] = ACTIONS(3862),
    [anon_sym_RPAREN] = ACTIONS(3862),
    [anon_sym_DOT] = ACTIONS(3864),
    [anon_sym_COMMA] = ACTIONS(3862),
    [anon_sym_PIPE] = ACTIONS(3864),
    [anon_sym_SEMI] = ACTIONS(3862),
    [anon_sym_STAR_STAR] = ACTIONS(3864),
    [anon_sym_AMP] = ACTIONS(3864),
    [anon_sym_EQ] = ACTIONS(3864),
    [anon_sym_LT] = ACTIONS(3864),
    [anon_sym_in] = ACTIONS(3862),
    [anon_sym_do] = ACTIONS(3862),
    [anon_sym_EQ_GT] = ACTIONS(3862),
    [anon_sym_RBRACK] = ACTIONS(3862),
    [anon_sym_AMP_DOT] = ACTIONS(3862),
    [anon_sym_PLUS_EQ] = ACTIONS(3862),
    [anon_sym_DASH_EQ] = ACTIONS(3862),
    [anon_sym_STAR_EQ] = ACTIONS(3862),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3862),
    [anon_sym_SLASH_EQ] = ACTIONS(3862),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3862),
    [anon_sym_PIPE_EQ] = ACTIONS(3862),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3862),
    [anon_sym_AMP_EQ] = ACTIONS(3862),
    [anon_sym_PERCENT_EQ] = ACTIONS(3862),
    [anon_sym_GT_GT_EQ] = ACTIONS(3862),
    [anon_sym_LT_LT_EQ] = ACTIONS(3862),
    [anon_sym_CARET_EQ] = ACTIONS(3862),
    [anon_sym_QMARK] = ACTIONS(3862),
    [anon_sym_COLON] = ACTIONS(3862),
    [anon_sym_DOT_DOT] = ACTIONS(3864),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3862),
    [anon_sym_and] = ACTIONS(3862),
    [anon_sym_or] = ACTIONS(3862),
    [anon_sym_PIPE_PIPE] = ACTIONS(3864),
    [anon_sym_AMP_AMP] = ACTIONS(3864),
    [anon_sym_LT_LT] = ACTIONS(3864),
    [anon_sym_GT_GT] = ACTIONS(3864),
    [anon_sym_EQ_EQ] = ACTIONS(3864),
    [anon_sym_BANG_EQ] = ACTIONS(3862),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3862),
    [anon_sym_LT_EQ_GT] = ACTIONS(3862),
    [anon_sym_EQ_TILDE] = ACTIONS(3862),
    [anon_sym_BANG_TILDE] = ACTIONS(3862),
    [anon_sym_LT_EQ] = ACTIONS(3864),
    [anon_sym_GT] = ACTIONS(3864),
    [anon_sym_GT_EQ] = ACTIONS(3862),
    [anon_sym_CARET] = ACTIONS(3864),
    [anon_sym_PLUS] = ACTIONS(3864),
    [anon_sym_SLASH] = ACTIONS(3864),
    [anon_sym_PERCENT] = ACTIONS(3864),
    [sym_comment] = ACTIONS(256),
  },
  [6173] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(12252),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [6174] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(12254),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [6175] = {
    [sym__statement] = STATE(9377),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [6176] = {
    [sym__simple_heredoc_body] = ACTIONS(9456),
    [sym__heredoc_body_beginning] = ACTIONS(9456),
    [sym__element_reference_left_bracket] = ACTIONS(9456),
    [sym__scope_double_colon] = ACTIONS(9456),
    [sym__binary_minus] = ACTIONS(9456),
    [sym__binary_star] = ACTIONS(9456),
    [anon_sym_LBRACE] = ACTIONS(9456),
    [anon_sym_RBRACE] = ACTIONS(9456),
    [anon_sym_RPAREN] = ACTIONS(9456),
    [anon_sym_DOT] = ACTIONS(9458),
    [anon_sym_COMMA] = ACTIONS(9456),
    [anon_sym_PIPE] = ACTIONS(9458),
    [anon_sym_SEMI] = ACTIONS(9456),
    [anon_sym_STAR_STAR] = ACTIONS(9458),
    [anon_sym_AMP] = ACTIONS(9458),
    [anon_sym_EQ] = ACTIONS(9458),
    [anon_sym_LT] = ACTIONS(9458),
    [anon_sym_in] = ACTIONS(9456),
    [anon_sym_do] = ACTIONS(9456),
    [anon_sym_EQ_GT] = ACTIONS(9456),
    [anon_sym_RBRACK] = ACTIONS(9456),
    [anon_sym_AMP_DOT] = ACTIONS(9456),
    [anon_sym_PLUS_EQ] = ACTIONS(9456),
    [anon_sym_DASH_EQ] = ACTIONS(9456),
    [anon_sym_STAR_EQ] = ACTIONS(9456),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9456),
    [anon_sym_SLASH_EQ] = ACTIONS(9456),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9456),
    [anon_sym_PIPE_EQ] = ACTIONS(9456),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9456),
    [anon_sym_AMP_EQ] = ACTIONS(9456),
    [anon_sym_PERCENT_EQ] = ACTIONS(9456),
    [anon_sym_GT_GT_EQ] = ACTIONS(9456),
    [anon_sym_LT_LT_EQ] = ACTIONS(9456),
    [anon_sym_CARET_EQ] = ACTIONS(9456),
    [anon_sym_QMARK] = ACTIONS(9456),
    [anon_sym_COLON] = ACTIONS(9456),
    [anon_sym_DOT_DOT] = ACTIONS(9458),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9456),
    [anon_sym_and] = ACTIONS(9456),
    [anon_sym_or] = ACTIONS(9456),
    [anon_sym_PIPE_PIPE] = ACTIONS(9458),
    [anon_sym_AMP_AMP] = ACTIONS(9458),
    [anon_sym_LT_LT] = ACTIONS(9458),
    [anon_sym_GT_GT] = ACTIONS(9458),
    [anon_sym_EQ_EQ] = ACTIONS(9458),
    [anon_sym_BANG_EQ] = ACTIONS(9456),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9456),
    [anon_sym_LT_EQ_GT] = ACTIONS(9456),
    [anon_sym_EQ_TILDE] = ACTIONS(9456),
    [anon_sym_BANG_TILDE] = ACTIONS(9456),
    [anon_sym_LT_EQ] = ACTIONS(9458),
    [anon_sym_GT] = ACTIONS(9458),
    [anon_sym_GT_EQ] = ACTIONS(9456),
    [anon_sym_CARET] = ACTIONS(9458),
    [anon_sym_PLUS] = ACTIONS(9458),
    [anon_sym_SLASH] = ACTIONS(9458),
    [anon_sym_PERCENT] = ACTIONS(9458),
    [sym_comment] = ACTIONS(256),
  },
  [6177] = {
    [anon_sym_RPAREN] = ACTIONS(12256),
    [sym_comment] = ACTIONS(110),
  },
  [6178] = {
    [sym__element_reference_left_bracket] = ACTIONS(11064),
    [sym__scope_double_colon] = ACTIONS(11064),
    [sym__binary_minus] = ACTIONS(11064),
    [sym__binary_star] = ACTIONS(11064),
    [anon_sym_DOT] = ACTIONS(11066),
    [anon_sym_COMMA] = ACTIONS(11064),
    [anon_sym_PIPE] = ACTIONS(11066),
    [anon_sym_STAR_STAR] = ACTIONS(11066),
    [anon_sym_AMP] = ACTIONS(11066),
    [anon_sym_EQ] = ACTIONS(11066),
    [anon_sym_LT] = ACTIONS(11066),
    [anon_sym_EQ_GT] = ACTIONS(11064),
    [anon_sym_AMP_DOT] = ACTIONS(11064),
    [anon_sym_PLUS_EQ] = ACTIONS(11064),
    [anon_sym_DASH_EQ] = ACTIONS(11064),
    [anon_sym_STAR_EQ] = ACTIONS(11064),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(11064),
    [anon_sym_SLASH_EQ] = ACTIONS(11064),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(11064),
    [anon_sym_PIPE_EQ] = ACTIONS(11064),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(11064),
    [anon_sym_AMP_EQ] = ACTIONS(11064),
    [anon_sym_PERCENT_EQ] = ACTIONS(11064),
    [anon_sym_GT_GT_EQ] = ACTIONS(11064),
    [anon_sym_LT_LT_EQ] = ACTIONS(11064),
    [anon_sym_CARET_EQ] = ACTIONS(11064),
    [anon_sym_QMARK] = ACTIONS(11064),
    [anon_sym_DOT_DOT] = ACTIONS(11066),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11064),
    [anon_sym_and] = ACTIONS(11064),
    [anon_sym_or] = ACTIONS(11064),
    [anon_sym_PIPE_PIPE] = ACTIONS(11066),
    [anon_sym_AMP_AMP] = ACTIONS(11066),
    [anon_sym_LT_LT] = ACTIONS(11066),
    [anon_sym_GT_GT] = ACTIONS(11066),
    [anon_sym_EQ_EQ] = ACTIONS(11066),
    [anon_sym_BANG_EQ] = ACTIONS(11064),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11064),
    [anon_sym_LT_EQ_GT] = ACTIONS(11064),
    [anon_sym_EQ_TILDE] = ACTIONS(11064),
    [anon_sym_BANG_TILDE] = ACTIONS(11064),
    [anon_sym_LT_EQ] = ACTIONS(11066),
    [anon_sym_GT] = ACTIONS(11066),
    [anon_sym_GT_EQ] = ACTIONS(11064),
    [anon_sym_CARET] = ACTIONS(11066),
    [anon_sym_PLUS] = ACTIONS(11066),
    [anon_sym_SLASH] = ACTIONS(11066),
    [anon_sym_PERCENT] = ACTIONS(11066),
    [sym_comment] = ACTIONS(256),
  },
  [6179] = {
    [anon_sym_RBRACE] = ACTIONS(12258),
    [sym_comment] = ACTIONS(110),
  },
  [6180] = {
    [sym__simple_heredoc_body] = ACTIONS(4578),
    [sym__heredoc_body_beginning] = ACTIONS(4578),
    [sym__element_reference_left_bracket] = ACTIONS(4578),
    [sym__scope_double_colon] = ACTIONS(4578),
    [sym__binary_minus] = ACTIONS(4578),
    [sym__binary_star] = ACTIONS(4578),
    [anon_sym_LBRACE] = ACTIONS(4578),
    [anon_sym_RBRACE] = ACTIONS(4578),
    [anon_sym_RPAREN] = ACTIONS(4578),
    [anon_sym_DOT] = ACTIONS(4580),
    [anon_sym_COMMA] = ACTIONS(4578),
    [anon_sym_PIPE] = ACTIONS(4580),
    [anon_sym_SEMI] = ACTIONS(4578),
    [anon_sym_STAR_STAR] = ACTIONS(4580),
    [anon_sym_AMP] = ACTIONS(4580),
    [anon_sym_EQ] = ACTIONS(4580),
    [anon_sym_LT] = ACTIONS(4580),
    [anon_sym_in] = ACTIONS(4578),
    [anon_sym_do] = ACTIONS(4578),
    [anon_sym_EQ_GT] = ACTIONS(4578),
    [anon_sym_RBRACK] = ACTIONS(4578),
    [anon_sym_AMP_DOT] = ACTIONS(4578),
    [anon_sym_PLUS_EQ] = ACTIONS(4578),
    [anon_sym_DASH_EQ] = ACTIONS(4578),
    [anon_sym_STAR_EQ] = ACTIONS(4578),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(4578),
    [anon_sym_SLASH_EQ] = ACTIONS(4578),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(4578),
    [anon_sym_PIPE_EQ] = ACTIONS(4578),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(4578),
    [anon_sym_AMP_EQ] = ACTIONS(4578),
    [anon_sym_PERCENT_EQ] = ACTIONS(4578),
    [anon_sym_GT_GT_EQ] = ACTIONS(4578),
    [anon_sym_LT_LT_EQ] = ACTIONS(4578),
    [anon_sym_CARET_EQ] = ACTIONS(4578),
    [anon_sym_QMARK] = ACTIONS(4578),
    [anon_sym_COLON] = ACTIONS(4578),
    [anon_sym_DOT_DOT] = ACTIONS(4580),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4578),
    [anon_sym_and] = ACTIONS(4578),
    [anon_sym_or] = ACTIONS(4578),
    [anon_sym_PIPE_PIPE] = ACTIONS(4580),
    [anon_sym_AMP_AMP] = ACTIONS(4580),
    [anon_sym_LT_LT] = ACTIONS(4580),
    [anon_sym_GT_GT] = ACTIONS(4580),
    [anon_sym_EQ_EQ] = ACTIONS(4580),
    [anon_sym_BANG_EQ] = ACTIONS(4578),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4578),
    [anon_sym_LT_EQ_GT] = ACTIONS(4578),
    [anon_sym_EQ_TILDE] = ACTIONS(4578),
    [anon_sym_BANG_TILDE] = ACTIONS(4578),
    [anon_sym_LT_EQ] = ACTIONS(4580),
    [anon_sym_GT] = ACTIONS(4580),
    [anon_sym_GT_EQ] = ACTIONS(4578),
    [anon_sym_CARET] = ACTIONS(4580),
    [anon_sym_PLUS] = ACTIONS(4580),
    [anon_sym_SLASH] = ACTIONS(4580),
    [anon_sym_PERCENT] = ACTIONS(4580),
    [sym_comment] = ACTIONS(256),
  },
  [6181] = {
    [anon_sym_RBRACE] = ACTIONS(12260),
    [sym_comment] = ACTIONS(110),
  },
  [6182] = {
    [sym__binary_minus] = ACTIONS(4614),
    [sym__binary_star] = ACTIONS(4616),
    [anon_sym_RPAREN] = ACTIONS(12262),
    [anon_sym_PIPE] = ACTIONS(4620),
    [anon_sym_STAR_STAR] = ACTIONS(4622),
    [anon_sym_AMP] = ACTIONS(4624),
    [anon_sym_LT] = ACTIONS(4626),
    [anon_sym_QMARK] = ACTIONS(4628),
    [anon_sym_DOT_DOT] = ACTIONS(4630),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4632),
    [anon_sym_and] = ACTIONS(4634),
    [anon_sym_or] = ACTIONS(4634),
    [anon_sym_PIPE_PIPE] = ACTIONS(4636),
    [anon_sym_AMP_AMP] = ACTIONS(4636),
    [anon_sym_LT_LT] = ACTIONS(4638),
    [anon_sym_GT_GT] = ACTIONS(4638),
    [anon_sym_EQ_EQ] = ACTIONS(4640),
    [anon_sym_BANG_EQ] = ACTIONS(4636),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4636),
    [anon_sym_LT_EQ_GT] = ACTIONS(4636),
    [anon_sym_EQ_TILDE] = ACTIONS(4636),
    [anon_sym_BANG_TILDE] = ACTIONS(4636),
    [anon_sym_LT_EQ] = ACTIONS(4626),
    [anon_sym_GT] = ACTIONS(4626),
    [anon_sym_GT_EQ] = ACTIONS(4642),
    [anon_sym_CARET] = ACTIONS(4644),
    [anon_sym_PLUS] = ACTIONS(4646),
    [anon_sym_SLASH] = ACTIONS(4622),
    [anon_sym_PERCENT] = ACTIONS(4622),
    [sym_comment] = ACTIONS(110),
  },
  [6183] = {
    [sym__method_rest] = STATE(9382),
    [sym_operator] = STATE(217),
    [sym__method_name] = STATE(3095),
    [sym_setter] = STATE(217),
    [sym_symbol] = STATE(217),
    [sym__simple_symbol] = ACTIONS(378),
    [sym__symbol_beginning] = ACTIONS(380),
    [anon_sym_PIPE] = ACTIONS(384),
    [anon_sym_STAR] = ACTIONS(386),
    [anon_sym_STAR_STAR] = ACTIONS(384),
    [anon_sym_AMP] = ACTIONS(384),
    [anon_sym_LT] = ACTIONS(386),
    [anon_sym_DOT_DOT] = ACTIONS(384),
    [anon_sym_LT_LT] = ACTIONS(384),
    [anon_sym_GT_GT] = ACTIONS(384),
    [anon_sym_EQ_EQ] = ACTIONS(386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(384),
    [anon_sym_LT_EQ_GT] = ACTIONS(384),
    [anon_sym_EQ_TILDE] = ACTIONS(384),
    [anon_sym_BANG_TILDE] = ACTIONS(384),
    [anon_sym_LT_EQ] = ACTIONS(386),
    [anon_sym_GT] = ACTIONS(386),
    [anon_sym_GT_EQ] = ACTIONS(384),
    [anon_sym_CARET] = ACTIONS(384),
    [anon_sym_PLUS] = ACTIONS(386),
    [anon_sym_SLASH] = ACTIONS(384),
    [anon_sym_PERCENT] = ACTIONS(384),
    [anon_sym_BANG] = ACTIONS(386),
    [anon_sym_TILDE] = ACTIONS(384),
    [sym_constant] = ACTIONS(4694),
    [sym_identifier] = ACTIONS(4696),
    [sym_instance_variable] = ACTIONS(4694),
    [sym_class_variable] = ACTIONS(4694),
    [sym_global_variable] = ACTIONS(4694),
    [anon_sym_DASH] = ACTIONS(386),
    [anon_sym_PLUS_AT] = ACTIONS(384),
    [anon_sym_DASH_AT] = ACTIONS(384),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(386),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(384),
    [anon_sym_BQUOTE] = ACTIONS(384),
    [sym_comment] = ACTIONS(110),
  },
  [6184] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(9384),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(12264),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6185] = {
    [sym__simple_heredoc_body] = ACTIONS(4826),
    [sym__heredoc_body_beginning] = ACTIONS(4826),
    [sym__element_reference_left_bracket] = ACTIONS(4826),
    [sym__scope_double_colon] = ACTIONS(4826),
    [sym__binary_minus] = ACTIONS(4826),
    [sym__binary_star] = ACTIONS(4826),
    [anon_sym_LBRACE] = ACTIONS(4826),
    [anon_sym_RBRACE] = ACTIONS(4826),
    [anon_sym_RPAREN] = ACTIONS(4826),
    [anon_sym_DOT] = ACTIONS(4828),
    [anon_sym_COMMA] = ACTIONS(4826),
    [anon_sym_PIPE] = ACTIONS(4828),
    [anon_sym_SEMI] = ACTIONS(4826),
    [anon_sym_STAR_STAR] = ACTIONS(4828),
    [anon_sym_AMP] = ACTIONS(4828),
    [anon_sym_EQ] = ACTIONS(4828),
    [anon_sym_LT] = ACTIONS(4828),
    [anon_sym_in] = ACTIONS(4826),
    [anon_sym_do] = ACTIONS(4826),
    [anon_sym_EQ_GT] = ACTIONS(4826),
    [anon_sym_RBRACK] = ACTIONS(4826),
    [anon_sym_AMP_DOT] = ACTIONS(4826),
    [anon_sym_PLUS_EQ] = ACTIONS(4826),
    [anon_sym_DASH_EQ] = ACTIONS(4826),
    [anon_sym_STAR_EQ] = ACTIONS(4826),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(4826),
    [anon_sym_SLASH_EQ] = ACTIONS(4826),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(4826),
    [anon_sym_PIPE_EQ] = ACTIONS(4826),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(4826),
    [anon_sym_AMP_EQ] = ACTIONS(4826),
    [anon_sym_PERCENT_EQ] = ACTIONS(4826),
    [anon_sym_GT_GT_EQ] = ACTIONS(4826),
    [anon_sym_LT_LT_EQ] = ACTIONS(4826),
    [anon_sym_CARET_EQ] = ACTIONS(4826),
    [anon_sym_QMARK] = ACTIONS(4826),
    [anon_sym_COLON] = ACTIONS(4826),
    [anon_sym_DOT_DOT] = ACTIONS(4828),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4826),
    [anon_sym_and] = ACTIONS(4826),
    [anon_sym_or] = ACTIONS(4826),
    [anon_sym_PIPE_PIPE] = ACTIONS(4828),
    [anon_sym_AMP_AMP] = ACTIONS(4828),
    [anon_sym_LT_LT] = ACTIONS(4828),
    [anon_sym_GT_GT] = ACTIONS(4828),
    [anon_sym_EQ_EQ] = ACTIONS(4828),
    [anon_sym_BANG_EQ] = ACTIONS(4826),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4826),
    [anon_sym_LT_EQ_GT] = ACTIONS(4826),
    [anon_sym_EQ_TILDE] = ACTIONS(4826),
    [anon_sym_BANG_TILDE] = ACTIONS(4826),
    [anon_sym_LT_EQ] = ACTIONS(4828),
    [anon_sym_GT] = ACTIONS(4828),
    [anon_sym_GT_EQ] = ACTIONS(4826),
    [anon_sym_CARET] = ACTIONS(4828),
    [anon_sym_PLUS] = ACTIONS(4828),
    [anon_sym_SLASH] = ACTIONS(4828),
    [anon_sym_PERCENT] = ACTIONS(4828),
    [sym_comment] = ACTIONS(256),
  },
  [6186] = {
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(9385),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym__line_break] = ACTIONS(692),
    [sym__binary_minus] = ACTIONS(5168),
    [sym__binary_star] = ACTIONS(5170),
    [anon_sym_PIPE] = ACTIONS(5172),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR_STAR] = ACTIONS(5174),
    [anon_sym_AMP] = ACTIONS(5176),
    [anon_sym_LT] = ACTIONS(5178),
    [anon_sym_QMARK] = ACTIONS(5180),
    [anon_sym_DOT_DOT] = ACTIONS(5182),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5184),
    [anon_sym_and] = ACTIONS(5186),
    [anon_sym_or] = ACTIONS(5186),
    [anon_sym_PIPE_PIPE] = ACTIONS(5188),
    [anon_sym_AMP_AMP] = ACTIONS(5188),
    [anon_sym_LT_LT] = ACTIONS(5190),
    [anon_sym_GT_GT] = ACTIONS(5190),
    [anon_sym_EQ_EQ] = ACTIONS(5192),
    [anon_sym_BANG_EQ] = ACTIONS(5188),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5188),
    [anon_sym_LT_EQ_GT] = ACTIONS(5188),
    [anon_sym_EQ_TILDE] = ACTIONS(5188),
    [anon_sym_BANG_TILDE] = ACTIONS(5188),
    [anon_sym_LT_EQ] = ACTIONS(5178),
    [anon_sym_GT] = ACTIONS(5178),
    [anon_sym_GT_EQ] = ACTIONS(5194),
    [anon_sym_CARET] = ACTIONS(5196),
    [anon_sym_PLUS] = ACTIONS(5198),
    [anon_sym_SLASH] = ACTIONS(5174),
    [anon_sym_PERCENT] = ACTIONS(5174),
    [sym_comment] = ACTIONS(110),
  },
  [6187] = {
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(9386),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym__line_break] = ACTIONS(692),
    [anon_sym_SEMI] = ACTIONS(692),
    [sym_comment] = ACTIONS(110),
  },
  [6188] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(9388),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(12266),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6189] = {
    [sym__simple_heredoc_body] = ACTIONS(5290),
    [sym__heredoc_body_beginning] = ACTIONS(5290),
    [sym__element_reference_left_bracket] = ACTIONS(5290),
    [sym__scope_double_colon] = ACTIONS(5290),
    [sym__binary_minus] = ACTIONS(5290),
    [sym__binary_star] = ACTIONS(5290),
    [anon_sym_LBRACE] = ACTIONS(5290),
    [anon_sym_RBRACE] = ACTIONS(5290),
    [anon_sym_RPAREN] = ACTIONS(5290),
    [anon_sym_DOT] = ACTIONS(5292),
    [anon_sym_COMMA] = ACTIONS(5290),
    [anon_sym_PIPE] = ACTIONS(5292),
    [anon_sym_SEMI] = ACTIONS(5290),
    [anon_sym_STAR_STAR] = ACTIONS(5292),
    [anon_sym_AMP] = ACTIONS(5292),
    [anon_sym_EQ] = ACTIONS(5292),
    [anon_sym_LT] = ACTIONS(5292),
    [anon_sym_in] = ACTIONS(5290),
    [anon_sym_do] = ACTIONS(5290),
    [anon_sym_EQ_GT] = ACTIONS(5290),
    [anon_sym_RBRACK] = ACTIONS(5290),
    [anon_sym_AMP_DOT] = ACTIONS(5290),
    [anon_sym_PLUS_EQ] = ACTIONS(5290),
    [anon_sym_DASH_EQ] = ACTIONS(5290),
    [anon_sym_STAR_EQ] = ACTIONS(5290),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5290),
    [anon_sym_SLASH_EQ] = ACTIONS(5290),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5290),
    [anon_sym_PIPE_EQ] = ACTIONS(5290),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5290),
    [anon_sym_AMP_EQ] = ACTIONS(5290),
    [anon_sym_PERCENT_EQ] = ACTIONS(5290),
    [anon_sym_GT_GT_EQ] = ACTIONS(5290),
    [anon_sym_LT_LT_EQ] = ACTIONS(5290),
    [anon_sym_CARET_EQ] = ACTIONS(5290),
    [anon_sym_QMARK] = ACTIONS(5290),
    [anon_sym_COLON] = ACTIONS(5290),
    [anon_sym_DOT_DOT] = ACTIONS(5292),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5290),
    [anon_sym_and] = ACTIONS(5290),
    [anon_sym_or] = ACTIONS(5290),
    [anon_sym_PIPE_PIPE] = ACTIONS(5292),
    [anon_sym_AMP_AMP] = ACTIONS(5292),
    [anon_sym_LT_LT] = ACTIONS(5292),
    [anon_sym_GT_GT] = ACTIONS(5292),
    [anon_sym_EQ_EQ] = ACTIONS(5292),
    [anon_sym_BANG_EQ] = ACTIONS(5290),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5290),
    [anon_sym_LT_EQ_GT] = ACTIONS(5290),
    [anon_sym_EQ_TILDE] = ACTIONS(5290),
    [anon_sym_BANG_TILDE] = ACTIONS(5290),
    [anon_sym_LT_EQ] = ACTIONS(5292),
    [anon_sym_GT] = ACTIONS(5292),
    [anon_sym_GT_EQ] = ACTIONS(5290),
    [anon_sym_CARET] = ACTIONS(5292),
    [anon_sym_PLUS] = ACTIONS(5292),
    [anon_sym_SLASH] = ACTIONS(5292),
    [anon_sym_PERCENT] = ACTIONS(5292),
    [sym_comment] = ACTIONS(256),
  },
  [6190] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(9390),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(12268),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6191] = {
    [sym__simple_heredoc_body] = ACTIONS(5290),
    [sym__heredoc_body_beginning] = ACTIONS(5290),
    [sym__element_reference_left_bracket] = ACTIONS(5290),
    [sym__scope_double_colon] = ACTIONS(5290),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__binary_minus] = ACTIONS(5290),
    [sym__binary_star] = ACTIONS(5290),
    [anon_sym_LBRACE] = ACTIONS(5290),
    [anon_sym_RBRACE] = ACTIONS(5290),
    [anon_sym_RPAREN] = ACTIONS(5290),
    [anon_sym_DOT] = ACTIONS(5292),
    [anon_sym_COMMA] = ACTIONS(5290),
    [anon_sym_PIPE] = ACTIONS(5292),
    [anon_sym_SEMI] = ACTIONS(5290),
    [anon_sym_STAR_STAR] = ACTIONS(5292),
    [anon_sym_AMP] = ACTIONS(5292),
    [anon_sym_EQ] = ACTIONS(5292),
    [anon_sym_LT] = ACTIONS(5292),
    [anon_sym_in] = ACTIONS(5290),
    [anon_sym_do] = ACTIONS(5290),
    [anon_sym_EQ_GT] = ACTIONS(5290),
    [anon_sym_RBRACK] = ACTIONS(5290),
    [anon_sym_AMP_DOT] = ACTIONS(5290),
    [anon_sym_PLUS_EQ] = ACTIONS(5290),
    [anon_sym_DASH_EQ] = ACTIONS(5290),
    [anon_sym_STAR_EQ] = ACTIONS(5290),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5290),
    [anon_sym_SLASH_EQ] = ACTIONS(5290),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5290),
    [anon_sym_PIPE_EQ] = ACTIONS(5290),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5290),
    [anon_sym_AMP_EQ] = ACTIONS(5290),
    [anon_sym_PERCENT_EQ] = ACTIONS(5290),
    [anon_sym_GT_GT_EQ] = ACTIONS(5290),
    [anon_sym_LT_LT_EQ] = ACTIONS(5290),
    [anon_sym_CARET_EQ] = ACTIONS(5290),
    [anon_sym_QMARK] = ACTIONS(5290),
    [anon_sym_COLON] = ACTIONS(5290),
    [anon_sym_DOT_DOT] = ACTIONS(5292),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5290),
    [anon_sym_and] = ACTIONS(5290),
    [anon_sym_or] = ACTIONS(5290),
    [anon_sym_PIPE_PIPE] = ACTIONS(5292),
    [anon_sym_AMP_AMP] = ACTIONS(5292),
    [anon_sym_LT_LT] = ACTIONS(5292),
    [anon_sym_GT_GT] = ACTIONS(5292),
    [anon_sym_EQ_EQ] = ACTIONS(5292),
    [anon_sym_BANG_EQ] = ACTIONS(5290),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5290),
    [anon_sym_LT_EQ_GT] = ACTIONS(5290),
    [anon_sym_EQ_TILDE] = ACTIONS(5290),
    [anon_sym_BANG_TILDE] = ACTIONS(5290),
    [anon_sym_LT_EQ] = ACTIONS(5292),
    [anon_sym_GT] = ACTIONS(5292),
    [anon_sym_GT_EQ] = ACTIONS(5290),
    [anon_sym_CARET] = ACTIONS(5292),
    [anon_sym_PLUS] = ACTIONS(5292),
    [anon_sym_SLASH] = ACTIONS(5292),
    [anon_sym_PERCENT] = ACTIONS(5292),
    [sym_comment] = ACTIONS(256),
  },
  [6192] = {
    [sym__statements] = STATE(9392),
    [sym__top_level_statement] = STATE(3863),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(3864),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_elsif] = STATE(3865),
    [sym_else] = STATE(3865),
    [sym__if_tail] = STATE(9393),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3867),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3869),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3870),
    [sym__variable] = STATE(3868),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(3849),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(9394),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(5566),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(5568),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(5570),
    [sym__unary_minus] = ACTIONS(5572),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(12270),
    [anon_sym_SEMI] = ACTIONS(5576),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_elsif] = ACTIONS(5586),
    [anon_sym_else] = ACTIONS(5588),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5590),
    [anon_sym_defined_QMARK] = ACTIONS(5592),
    [anon_sym_not] = ACTIONS(5594),
    [anon_sym_BANG] = ACTIONS(5596),
    [anon_sym_TILDE] = ACTIONS(5596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6193] = {
    [sym__statements] = STATE(9396),
    [sym__top_level_statement] = STATE(3946),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(3947),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(9397),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3949),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3950),
    [sym_call] = STATE(3950),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3951),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3952),
    [sym__variable] = STATE(3950),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5682),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(12272),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5686),
    [anon_sym_yield] = ACTIONS(5688),
    [anon_sym_break] = ACTIONS(5690),
    [anon_sym_next] = ACTIONS(5692),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(5588),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5694),
    [anon_sym_defined_QMARK] = ACTIONS(5696),
    [anon_sym_not] = ACTIONS(5698),
    [anon_sym_BANG] = ACTIONS(5700),
    [anon_sym_TILDE] = ACTIONS(5700),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6194] = {
    [sym__statements] = STATE(9399),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(12274),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6195] = {
    [sym__statements] = STATE(9401),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(12276),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6196] = {
    [sym__do] = STATE(9402),
    [sym_heredoc_end] = STATE(1550),
    [sym__terminator] = STATE(1557),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym__line_break] = ACTIONS(2446),
    [anon_sym_SEMI] = ACTIONS(2446),
    [anon_sym_do] = ACTIONS(2460),
    [sym_comment] = ACTIONS(110),
  },
  [6197] = {
    [sym__element_reference_left_bracket] = ACTIONS(11094),
    [sym__scope_double_colon] = ACTIONS(11094),
    [sym__binary_minus] = ACTIONS(11094),
    [sym__binary_star] = ACTIONS(11094),
    [anon_sym_DOT] = ACTIONS(11096),
    [anon_sym_COMMA] = ACTIONS(11094),
    [anon_sym_PIPE] = ACTIONS(11096),
    [anon_sym_STAR_STAR] = ACTIONS(11096),
    [anon_sym_AMP] = ACTIONS(11096),
    [anon_sym_EQ] = ACTIONS(11096),
    [anon_sym_LT] = ACTIONS(11096),
    [anon_sym_EQ_GT] = ACTIONS(11094),
    [anon_sym_AMP_DOT] = ACTIONS(11094),
    [anon_sym_PLUS_EQ] = ACTIONS(11094),
    [anon_sym_DASH_EQ] = ACTIONS(11094),
    [anon_sym_STAR_EQ] = ACTIONS(11094),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(11094),
    [anon_sym_SLASH_EQ] = ACTIONS(11094),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(11094),
    [anon_sym_PIPE_EQ] = ACTIONS(11094),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(11094),
    [anon_sym_AMP_EQ] = ACTIONS(11094),
    [anon_sym_PERCENT_EQ] = ACTIONS(11094),
    [anon_sym_GT_GT_EQ] = ACTIONS(11094),
    [anon_sym_LT_LT_EQ] = ACTIONS(11094),
    [anon_sym_CARET_EQ] = ACTIONS(11094),
    [anon_sym_QMARK] = ACTIONS(11094),
    [anon_sym_DOT_DOT] = ACTIONS(11096),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11094),
    [anon_sym_and] = ACTIONS(11094),
    [anon_sym_or] = ACTIONS(11094),
    [anon_sym_PIPE_PIPE] = ACTIONS(11096),
    [anon_sym_AMP_AMP] = ACTIONS(11096),
    [anon_sym_LT_LT] = ACTIONS(11096),
    [anon_sym_GT_GT] = ACTIONS(11096),
    [anon_sym_EQ_EQ] = ACTIONS(11096),
    [anon_sym_BANG_EQ] = ACTIONS(11094),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11094),
    [anon_sym_LT_EQ_GT] = ACTIONS(11094),
    [anon_sym_EQ_TILDE] = ACTIONS(11094),
    [anon_sym_BANG_TILDE] = ACTIONS(11094),
    [anon_sym_LT_EQ] = ACTIONS(11096),
    [anon_sym_GT] = ACTIONS(11096),
    [anon_sym_GT_EQ] = ACTIONS(11094),
    [anon_sym_CARET] = ACTIONS(11096),
    [anon_sym_PLUS] = ACTIONS(11096),
    [anon_sym_SLASH] = ACTIONS(11096),
    [anon_sym_PERCENT] = ACTIONS(11096),
    [sym_comment] = ACTIONS(256),
  },
  [6198] = {
    [anon_sym_end] = ACTIONS(12278),
    [sym_comment] = ACTIONS(110),
  },
  [6199] = {
    [sym__statements] = STATE(9404),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(12280),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6200] = {
    [sym__statements] = STATE(9404),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(9405),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(12280),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6201] = {
    [sym__simple_heredoc_body] = ACTIONS(6154),
    [sym__heredoc_body_beginning] = ACTIONS(6154),
    [sym__element_reference_left_bracket] = ACTIONS(6154),
    [sym__scope_double_colon] = ACTIONS(6154),
    [sym__binary_minus] = ACTIONS(6154),
    [sym__binary_star] = ACTIONS(6154),
    [anon_sym_LBRACE] = ACTIONS(6154),
    [anon_sym_RBRACE] = ACTIONS(6154),
    [anon_sym_RPAREN] = ACTIONS(6154),
    [anon_sym_DOT] = ACTIONS(6156),
    [anon_sym_COMMA] = ACTIONS(6154),
    [anon_sym_PIPE] = ACTIONS(6156),
    [anon_sym_SEMI] = ACTIONS(6154),
    [anon_sym_STAR_STAR] = ACTIONS(6156),
    [anon_sym_AMP] = ACTIONS(6156),
    [anon_sym_EQ] = ACTIONS(6156),
    [anon_sym_LT] = ACTIONS(6156),
    [anon_sym_in] = ACTIONS(6154),
    [anon_sym_do] = ACTIONS(6154),
    [anon_sym_EQ_GT] = ACTIONS(6154),
    [anon_sym_RBRACK] = ACTIONS(6154),
    [anon_sym_AMP_DOT] = ACTIONS(6154),
    [anon_sym_PLUS_EQ] = ACTIONS(6154),
    [anon_sym_DASH_EQ] = ACTIONS(6154),
    [anon_sym_STAR_EQ] = ACTIONS(6154),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6154),
    [anon_sym_SLASH_EQ] = ACTIONS(6154),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6154),
    [anon_sym_PIPE_EQ] = ACTIONS(6154),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6154),
    [anon_sym_AMP_EQ] = ACTIONS(6154),
    [anon_sym_PERCENT_EQ] = ACTIONS(6154),
    [anon_sym_GT_GT_EQ] = ACTIONS(6154),
    [anon_sym_LT_LT_EQ] = ACTIONS(6154),
    [anon_sym_CARET_EQ] = ACTIONS(6154),
    [anon_sym_QMARK] = ACTIONS(6154),
    [anon_sym_COLON] = ACTIONS(6154),
    [anon_sym_DOT_DOT] = ACTIONS(6156),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6154),
    [anon_sym_and] = ACTIONS(6154),
    [anon_sym_or] = ACTIONS(6154),
    [anon_sym_PIPE_PIPE] = ACTIONS(6156),
    [anon_sym_AMP_AMP] = ACTIONS(6156),
    [anon_sym_LT_LT] = ACTIONS(6156),
    [anon_sym_GT_GT] = ACTIONS(6156),
    [anon_sym_EQ_EQ] = ACTIONS(6156),
    [anon_sym_BANG_EQ] = ACTIONS(6154),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6154),
    [anon_sym_LT_EQ_GT] = ACTIONS(6154),
    [anon_sym_EQ_TILDE] = ACTIONS(6154),
    [anon_sym_BANG_TILDE] = ACTIONS(6154),
    [anon_sym_LT_EQ] = ACTIONS(6156),
    [anon_sym_GT] = ACTIONS(6156),
    [anon_sym_GT_EQ] = ACTIONS(6154),
    [anon_sym_CARET] = ACTIONS(6156),
    [anon_sym_PLUS] = ACTIONS(6156),
    [anon_sym_SLASH] = ACTIONS(6156),
    [anon_sym_PERCENT] = ACTIONS(6156),
    [sym_comment] = ACTIONS(256),
  },
  [6202] = {
    [anon_sym_end] = ACTIONS(12282),
    [sym_comment] = ACTIONS(110),
  },
  [6203] = {
    [sym_when] = STATE(9407),
    [sym_heredoc_end] = STATE(387),
    [sym__terminator] = STATE(1688),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym__line_break] = ACTIONS(666),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_when] = ACTIONS(2612),
    [sym_comment] = ACTIONS(110),
  },
  [6204] = {
    [sym__simple_heredoc_body] = ACTIONS(6600),
    [sym__heredoc_body_beginning] = ACTIONS(6600),
    [sym__element_reference_left_bracket] = ACTIONS(6600),
    [sym__scope_double_colon] = ACTIONS(6600),
    [sym__binary_minus] = ACTIONS(6600),
    [sym__binary_star] = ACTIONS(6600),
    [anon_sym_LBRACE] = ACTIONS(6600),
    [anon_sym_RBRACE] = ACTIONS(6600),
    [anon_sym_RPAREN] = ACTIONS(6600),
    [anon_sym_DOT] = ACTIONS(6602),
    [anon_sym_COMMA] = ACTIONS(6600),
    [anon_sym_PIPE] = ACTIONS(6602),
    [anon_sym_SEMI] = ACTIONS(6600),
    [anon_sym_STAR_STAR] = ACTIONS(6602),
    [anon_sym_AMP] = ACTIONS(6602),
    [anon_sym_EQ] = ACTIONS(6602),
    [anon_sym_LT] = ACTIONS(6602),
    [anon_sym_in] = ACTIONS(6600),
    [anon_sym_do] = ACTIONS(6600),
    [anon_sym_EQ_GT] = ACTIONS(6600),
    [anon_sym_RBRACK] = ACTIONS(6600),
    [anon_sym_AMP_DOT] = ACTIONS(6600),
    [anon_sym_PLUS_EQ] = ACTIONS(6600),
    [anon_sym_DASH_EQ] = ACTIONS(6600),
    [anon_sym_STAR_EQ] = ACTIONS(6600),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6600),
    [anon_sym_SLASH_EQ] = ACTIONS(6600),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6600),
    [anon_sym_PIPE_EQ] = ACTIONS(6600),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6600),
    [anon_sym_AMP_EQ] = ACTIONS(6600),
    [anon_sym_PERCENT_EQ] = ACTIONS(6600),
    [anon_sym_GT_GT_EQ] = ACTIONS(6600),
    [anon_sym_LT_LT_EQ] = ACTIONS(6600),
    [anon_sym_CARET_EQ] = ACTIONS(6600),
    [anon_sym_QMARK] = ACTIONS(6600),
    [anon_sym_COLON] = ACTIONS(6600),
    [anon_sym_DOT_DOT] = ACTIONS(6602),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6600),
    [anon_sym_and] = ACTIONS(6600),
    [anon_sym_or] = ACTIONS(6600),
    [anon_sym_PIPE_PIPE] = ACTIONS(6602),
    [anon_sym_AMP_AMP] = ACTIONS(6602),
    [anon_sym_LT_LT] = ACTIONS(6602),
    [anon_sym_GT_GT] = ACTIONS(6602),
    [anon_sym_EQ_EQ] = ACTIONS(6602),
    [anon_sym_BANG_EQ] = ACTIONS(6600),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6600),
    [anon_sym_LT_EQ_GT] = ACTIONS(6600),
    [anon_sym_EQ_TILDE] = ACTIONS(6600),
    [anon_sym_BANG_TILDE] = ACTIONS(6600),
    [anon_sym_LT_EQ] = ACTIONS(6602),
    [anon_sym_GT] = ACTIONS(6602),
    [anon_sym_GT_EQ] = ACTIONS(6600),
    [anon_sym_CARET] = ACTIONS(6602),
    [anon_sym_PLUS] = ACTIONS(6602),
    [anon_sym_SLASH] = ACTIONS(6602),
    [anon_sym_PERCENT] = ACTIONS(6602),
    [sym_comment] = ACTIONS(256),
  },
  [6205] = {
    [anon_sym_end] = ACTIONS(12284),
    [sym_comment] = ACTIONS(110),
  },
  [6206] = {
    [sym__simple_heredoc_body] = ACTIONS(8568),
    [sym__heredoc_body_beginning] = ACTIONS(8568),
    [sym__element_reference_left_bracket] = ACTIONS(8568),
    [sym__scope_double_colon] = ACTIONS(8568),
    [sym__binary_minus] = ACTIONS(4520),
    [sym__binary_star] = ACTIONS(4522),
    [anon_sym_LBRACE] = ACTIONS(8568),
    [anon_sym_DOT] = ACTIONS(9468),
    [anon_sym_COMMA] = ACTIONS(8568),
    [anon_sym_PIPE] = ACTIONS(4524),
    [anon_sym_STAR_STAR] = ACTIONS(4526),
    [anon_sym_AMP] = ACTIONS(4528),
    [anon_sym_EQ] = ACTIONS(9468),
    [anon_sym_LT] = ACTIONS(4530),
    [anon_sym_do] = ACTIONS(8568),
    [anon_sym_EQ_GT] = ACTIONS(8568),
    [anon_sym_AMP_DOT] = ACTIONS(8568),
    [anon_sym_PLUS_EQ] = ACTIONS(8568),
    [anon_sym_DASH_EQ] = ACTIONS(8568),
    [anon_sym_STAR_EQ] = ACTIONS(8568),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8568),
    [anon_sym_SLASH_EQ] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8568),
    [anon_sym_PIPE_EQ] = ACTIONS(8568),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8568),
    [anon_sym_AMP_EQ] = ACTIONS(8568),
    [anon_sym_PERCENT_EQ] = ACTIONS(8568),
    [anon_sym_GT_GT_EQ] = ACTIONS(8568),
    [anon_sym_LT_LT_EQ] = ACTIONS(8568),
    [anon_sym_CARET_EQ] = ACTIONS(8568),
    [anon_sym_QMARK] = ACTIONS(4532),
    [anon_sym_DOT_DOT] = ACTIONS(4534),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4536),
    [anon_sym_and] = ACTIONS(8568),
    [anon_sym_or] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE] = ACTIONS(4538),
    [anon_sym_AMP_AMP] = ACTIONS(4538),
    [anon_sym_LT_LT] = ACTIONS(4540),
    [anon_sym_GT_GT] = ACTIONS(4540),
    [anon_sym_EQ_EQ] = ACTIONS(4538),
    [anon_sym_BANG_EQ] = ACTIONS(4542),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4542),
    [anon_sym_LT_EQ_GT] = ACTIONS(4542),
    [anon_sym_EQ_TILDE] = ACTIONS(4542),
    [anon_sym_BANG_TILDE] = ACTIONS(4542),
    [anon_sym_LT_EQ] = ACTIONS(4530),
    [anon_sym_GT] = ACTIONS(4530),
    [anon_sym_GT_EQ] = ACTIONS(4544),
    [anon_sym_CARET] = ACTIONS(4524),
    [anon_sym_PLUS] = ACTIONS(4546),
    [anon_sym_SLASH] = ACTIONS(4526),
    [anon_sym_PERCENT] = ACTIONS(4526),
    [sym_comment] = ACTIONS(256),
  },
  [6207] = {
    [anon_sym_RBRACK] = ACTIONS(12252),
    [sym_comment] = ACTIONS(110),
  },
  [6208] = {
    [sym__simple_heredoc_body] = ACTIONS(6902),
    [sym__heredoc_body_beginning] = ACTIONS(6902),
    [sym__element_reference_left_bracket] = ACTIONS(6902),
    [sym__scope_double_colon] = ACTIONS(6902),
    [sym__binary_minus] = ACTIONS(6902),
    [sym__binary_star] = ACTIONS(6902),
    [anon_sym_LBRACE] = ACTIONS(6902),
    [anon_sym_RBRACE] = ACTIONS(6902),
    [anon_sym_RPAREN] = ACTIONS(6902),
    [anon_sym_DOT] = ACTIONS(6904),
    [anon_sym_COMMA] = ACTIONS(6902),
    [anon_sym_PIPE] = ACTIONS(6904),
    [anon_sym_SEMI] = ACTIONS(6902),
    [anon_sym_STAR_STAR] = ACTIONS(6904),
    [anon_sym_AMP] = ACTIONS(6904),
    [anon_sym_EQ] = ACTIONS(6904),
    [anon_sym_LT] = ACTIONS(6904),
    [anon_sym_in] = ACTIONS(6902),
    [anon_sym_do] = ACTIONS(6902),
    [anon_sym_EQ_GT] = ACTIONS(6902),
    [anon_sym_RBRACK] = ACTIONS(6902),
    [anon_sym_AMP_DOT] = ACTIONS(6902),
    [anon_sym_PLUS_EQ] = ACTIONS(6902),
    [anon_sym_DASH_EQ] = ACTIONS(6902),
    [anon_sym_STAR_EQ] = ACTIONS(6902),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6902),
    [anon_sym_SLASH_EQ] = ACTIONS(6902),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6902),
    [anon_sym_PIPE_EQ] = ACTIONS(6902),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6902),
    [anon_sym_AMP_EQ] = ACTIONS(6902),
    [anon_sym_PERCENT_EQ] = ACTIONS(6902),
    [anon_sym_GT_GT_EQ] = ACTIONS(6902),
    [anon_sym_LT_LT_EQ] = ACTIONS(6902),
    [anon_sym_CARET_EQ] = ACTIONS(6902),
    [anon_sym_QMARK] = ACTIONS(6902),
    [anon_sym_COLON] = ACTIONS(6902),
    [anon_sym_DOT_DOT] = ACTIONS(6904),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6902),
    [anon_sym_and] = ACTIONS(6902),
    [anon_sym_or] = ACTIONS(6902),
    [anon_sym_PIPE_PIPE] = ACTIONS(6904),
    [anon_sym_AMP_AMP] = ACTIONS(6904),
    [anon_sym_LT_LT] = ACTIONS(6904),
    [anon_sym_GT_GT] = ACTIONS(6904),
    [anon_sym_EQ_EQ] = ACTIONS(6904),
    [anon_sym_BANG_EQ] = ACTIONS(6902),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6902),
    [anon_sym_LT_EQ_GT] = ACTIONS(6902),
    [anon_sym_EQ_TILDE] = ACTIONS(6902),
    [anon_sym_BANG_TILDE] = ACTIONS(6902),
    [anon_sym_LT_EQ] = ACTIONS(6904),
    [anon_sym_GT] = ACTIONS(6904),
    [anon_sym_GT_EQ] = ACTIONS(6902),
    [anon_sym_CARET] = ACTIONS(6904),
    [anon_sym_PLUS] = ACTIONS(6904),
    [anon_sym_SLASH] = ACTIONS(6904),
    [anon_sym_PERCENT] = ACTIONS(6904),
    [sym_comment] = ACTIONS(256),
  },
  [6209] = {
    [sym__simple_heredoc_body] = ACTIONS(6980),
    [sym__heredoc_body_beginning] = ACTIONS(6980),
    [sym__element_reference_left_bracket] = ACTIONS(6980),
    [sym__scope_double_colon] = ACTIONS(6980),
    [sym__binary_minus] = ACTIONS(6980),
    [sym__binary_star] = ACTIONS(6980),
    [anon_sym_LBRACE] = ACTIONS(6980),
    [anon_sym_RBRACE] = ACTIONS(6980),
    [anon_sym_RPAREN] = ACTIONS(6980),
    [anon_sym_DOT] = ACTIONS(6982),
    [anon_sym_COMMA] = ACTIONS(6980),
    [anon_sym_PIPE] = ACTIONS(6982),
    [anon_sym_SEMI] = ACTIONS(6980),
    [anon_sym_STAR_STAR] = ACTIONS(6982),
    [anon_sym_AMP] = ACTIONS(6982),
    [anon_sym_EQ] = ACTIONS(6982),
    [anon_sym_LT] = ACTIONS(6982),
    [anon_sym_in] = ACTIONS(6980),
    [anon_sym_do] = ACTIONS(6980),
    [anon_sym_EQ_GT] = ACTIONS(6980),
    [anon_sym_RBRACK] = ACTIONS(6980),
    [anon_sym_AMP_DOT] = ACTIONS(6980),
    [anon_sym_PLUS_EQ] = ACTIONS(6980),
    [anon_sym_DASH_EQ] = ACTIONS(6980),
    [anon_sym_STAR_EQ] = ACTIONS(6980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6980),
    [anon_sym_SLASH_EQ] = ACTIONS(6980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6980),
    [anon_sym_PIPE_EQ] = ACTIONS(6980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6980),
    [anon_sym_AMP_EQ] = ACTIONS(6980),
    [anon_sym_PERCENT_EQ] = ACTIONS(6980),
    [anon_sym_GT_GT_EQ] = ACTIONS(6980),
    [anon_sym_LT_LT_EQ] = ACTIONS(6980),
    [anon_sym_CARET_EQ] = ACTIONS(6980),
    [anon_sym_QMARK] = ACTIONS(6980),
    [anon_sym_COLON] = ACTIONS(6980),
    [anon_sym_DOT_DOT] = ACTIONS(6982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6980),
    [anon_sym_and] = ACTIONS(6980),
    [anon_sym_or] = ACTIONS(6980),
    [anon_sym_PIPE_PIPE] = ACTIONS(6982),
    [anon_sym_AMP_AMP] = ACTIONS(6982),
    [anon_sym_LT_LT] = ACTIONS(6982),
    [anon_sym_GT_GT] = ACTIONS(6982),
    [anon_sym_EQ_EQ] = ACTIONS(6982),
    [anon_sym_BANG_EQ] = ACTIONS(6980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6980),
    [anon_sym_LT_EQ_GT] = ACTIONS(6980),
    [anon_sym_EQ_TILDE] = ACTIONS(6980),
    [anon_sym_BANG_TILDE] = ACTIONS(6980),
    [anon_sym_LT_EQ] = ACTIONS(6982),
    [anon_sym_GT] = ACTIONS(6982),
    [anon_sym_GT_EQ] = ACTIONS(6980),
    [anon_sym_CARET] = ACTIONS(6982),
    [anon_sym_PLUS] = ACTIONS(6982),
    [anon_sym_SLASH] = ACTIONS(6982),
    [anon_sym_PERCENT] = ACTIONS(6982),
    [sym_comment] = ACTIONS(256),
  },
  [6210] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__element_reference_left_bracket] = ACTIONS(7008),
    [sym__scope_double_colon] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(4522),
    [anon_sym_LBRACE] = ACTIONS(7008),
    [anon_sym_DOT] = ACTIONS(7010),
    [anon_sym_COMMA] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_STAR_STAR] = ACTIONS(4526),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_EQ] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_do] = ACTIONS(7008),
    [anon_sym_EQ_GT] = ACTIONS(7008),
    [anon_sym_AMP_DOT] = ACTIONS(7008),
    [anon_sym_PLUS_EQ] = ACTIONS(7008),
    [anon_sym_DASH_EQ] = ACTIONS(7008),
    [anon_sym_STAR_EQ] = ACTIONS(7008),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7008),
    [anon_sym_SLASH_EQ] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7008),
    [anon_sym_PIPE_EQ] = ACTIONS(7008),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7008),
    [anon_sym_AMP_EQ] = ACTIONS(7008),
    [anon_sym_PERCENT_EQ] = ACTIONS(7008),
    [anon_sym_GT_GT_EQ] = ACTIONS(7008),
    [anon_sym_LT_LT_EQ] = ACTIONS(7008),
    [anon_sym_CARET_EQ] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7010),
    [anon_sym_AMP_AMP] = ACTIONS(7010),
    [anon_sym_LT_LT] = ACTIONS(7010),
    [anon_sym_GT_GT] = ACTIONS(7010),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7010),
    [anon_sym_PLUS] = ACTIONS(7010),
    [anon_sym_SLASH] = ACTIONS(4526),
    [anon_sym_PERCENT] = ACTIONS(4526),
    [sym_comment] = ACTIONS(256),
  },
  [6211] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__element_reference_left_bracket] = ACTIONS(7012),
    [sym__scope_double_colon] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_LBRACE] = ACTIONS(7012),
    [anon_sym_DOT] = ACTIONS(7014),
    [anon_sym_COMMA] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_STAR_STAR] = ACTIONS(4526),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_EQ] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_do] = ACTIONS(7012),
    [anon_sym_EQ_GT] = ACTIONS(7012),
    [anon_sym_AMP_DOT] = ACTIONS(7012),
    [anon_sym_PLUS_EQ] = ACTIONS(7012),
    [anon_sym_DASH_EQ] = ACTIONS(7012),
    [anon_sym_STAR_EQ] = ACTIONS(7012),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7012),
    [anon_sym_SLASH_EQ] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7012),
    [anon_sym_PIPE_EQ] = ACTIONS(7012),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7012),
    [anon_sym_AMP_EQ] = ACTIONS(7012),
    [anon_sym_PERCENT_EQ] = ACTIONS(7012),
    [anon_sym_GT_GT_EQ] = ACTIONS(7012),
    [anon_sym_LT_LT_EQ] = ACTIONS(7012),
    [anon_sym_CARET_EQ] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7014),
    [anon_sym_AMP_AMP] = ACTIONS(7014),
    [anon_sym_LT_LT] = ACTIONS(7014),
    [anon_sym_GT_GT] = ACTIONS(7014),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7014),
    [anon_sym_PLUS] = ACTIONS(7014),
    [anon_sym_SLASH] = ACTIONS(7014),
    [anon_sym_PERCENT] = ACTIONS(7014),
    [sym_comment] = ACTIONS(256),
  },
  [6212] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(4520),
    [sym__binary_star] = ACTIONS(4522),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(4526),
    [anon_sym_AMP] = ACTIONS(4528),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(4540),
    [anon_sym_GT_GT] = ACTIONS(4540),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(4546),
    [anon_sym_SLASH] = ACTIONS(4526),
    [anon_sym_PERCENT] = ACTIONS(4526),
    [sym_comment] = ACTIONS(256),
  },
  [6213] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(4526),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7018),
    [anon_sym_GT_GT] = ACTIONS(7018),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(7018),
    [anon_sym_SLASH] = ACTIONS(7018),
    [anon_sym_PERCENT] = ACTIONS(7018),
    [sym_comment] = ACTIONS(256),
  },
  [6214] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(4520),
    [sym__binary_star] = ACTIONS(4522),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(4526),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(4540),
    [anon_sym_GT_GT] = ACTIONS(4540),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(4546),
    [anon_sym_SLASH] = ACTIONS(4526),
    [anon_sym_PERCENT] = ACTIONS(4526),
    [sym_comment] = ACTIONS(256),
  },
  [6215] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(4520),
    [sym__binary_star] = ACTIONS(4522),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(4524),
    [anon_sym_STAR_STAR] = ACTIONS(4526),
    [anon_sym_AMP] = ACTIONS(4528),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(4540),
    [anon_sym_GT_GT] = ACTIONS(4540),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(4524),
    [anon_sym_PLUS] = ACTIONS(4546),
    [anon_sym_SLASH] = ACTIONS(4526),
    [anon_sym_PERCENT] = ACTIONS(4526),
    [sym_comment] = ACTIONS(256),
  },
  [6216] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(12286),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [6217] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__element_reference_left_bracket] = ACTIONS(7108),
    [sym__scope_double_colon] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(4520),
    [sym__binary_star] = ACTIONS(4522),
    [anon_sym_LBRACE] = ACTIONS(7108),
    [anon_sym_DOT] = ACTIONS(9472),
    [anon_sym_COMMA] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(4524),
    [anon_sym_STAR_STAR] = ACTIONS(4526),
    [anon_sym_AMP] = ACTIONS(4528),
    [anon_sym_EQ] = ACTIONS(9472),
    [anon_sym_LT] = ACTIONS(4530),
    [anon_sym_do] = ACTIONS(7108),
    [anon_sym_EQ_GT] = ACTIONS(7108),
    [anon_sym_AMP_DOT] = ACTIONS(7108),
    [anon_sym_PLUS_EQ] = ACTIONS(7108),
    [anon_sym_DASH_EQ] = ACTIONS(7108),
    [anon_sym_STAR_EQ] = ACTIONS(7108),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7108),
    [anon_sym_SLASH_EQ] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7108),
    [anon_sym_PIPE_EQ] = ACTIONS(7108),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7108),
    [anon_sym_AMP_EQ] = ACTIONS(7108),
    [anon_sym_PERCENT_EQ] = ACTIONS(7108),
    [anon_sym_GT_GT_EQ] = ACTIONS(7108),
    [anon_sym_LT_LT_EQ] = ACTIONS(7108),
    [anon_sym_CARET_EQ] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(4534),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4536),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(4538),
    [anon_sym_AMP_AMP] = ACTIONS(4538),
    [anon_sym_LT_LT] = ACTIONS(4540),
    [anon_sym_GT_GT] = ACTIONS(4540),
    [anon_sym_EQ_EQ] = ACTIONS(4538),
    [anon_sym_BANG_EQ] = ACTIONS(4542),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4542),
    [anon_sym_LT_EQ_GT] = ACTIONS(4542),
    [anon_sym_EQ_TILDE] = ACTIONS(4542),
    [anon_sym_BANG_TILDE] = ACTIONS(4542),
    [anon_sym_LT_EQ] = ACTIONS(4530),
    [anon_sym_GT] = ACTIONS(4530),
    [anon_sym_GT_EQ] = ACTIONS(4544),
    [anon_sym_CARET] = ACTIONS(4524),
    [anon_sym_PLUS] = ACTIONS(4546),
    [anon_sym_SLASH] = ACTIONS(4526),
    [anon_sym_PERCENT] = ACTIONS(4526),
    [sym_comment] = ACTIONS(256),
  },
  [6218] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(4520),
    [sym__binary_star] = ACTIONS(4522),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(4524),
    [anon_sym_STAR_STAR] = ACTIONS(4526),
    [anon_sym_AMP] = ACTIONS(4528),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(4530),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(4532),
    [anon_sym_DOT_DOT] = ACTIONS(4534),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4536),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(4538),
    [anon_sym_AMP_AMP] = ACTIONS(4538),
    [anon_sym_LT_LT] = ACTIONS(4540),
    [anon_sym_GT_GT] = ACTIONS(4540),
    [anon_sym_EQ_EQ] = ACTIONS(4538),
    [anon_sym_BANG_EQ] = ACTIONS(4542),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4542),
    [anon_sym_LT_EQ_GT] = ACTIONS(4542),
    [anon_sym_EQ_TILDE] = ACTIONS(4542),
    [anon_sym_BANG_TILDE] = ACTIONS(4542),
    [anon_sym_LT_EQ] = ACTIONS(4530),
    [anon_sym_GT] = ACTIONS(4530),
    [anon_sym_GT_EQ] = ACTIONS(4544),
    [anon_sym_CARET] = ACTIONS(4524),
    [anon_sym_PLUS] = ACTIONS(4546),
    [anon_sym_SLASH] = ACTIONS(4526),
    [anon_sym_PERCENT] = ACTIONS(4526),
    [sym_comment] = ACTIONS(256),
  },
  [6219] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(4520),
    [sym__binary_star] = ACTIONS(4522),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(4524),
    [anon_sym_STAR_STAR] = ACTIONS(4526),
    [anon_sym_AMP] = ACTIONS(4528),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(4530),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(4540),
    [anon_sym_GT_GT] = ACTIONS(4540),
    [anon_sym_EQ_EQ] = ACTIONS(4538),
    [anon_sym_BANG_EQ] = ACTIONS(4542),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4542),
    [anon_sym_LT_EQ_GT] = ACTIONS(4542),
    [anon_sym_EQ_TILDE] = ACTIONS(4542),
    [anon_sym_BANG_TILDE] = ACTIONS(4542),
    [anon_sym_LT_EQ] = ACTIONS(4530),
    [anon_sym_GT] = ACTIONS(4530),
    [anon_sym_GT_EQ] = ACTIONS(4544),
    [anon_sym_CARET] = ACTIONS(4524),
    [anon_sym_PLUS] = ACTIONS(4546),
    [anon_sym_SLASH] = ACTIONS(4526),
    [anon_sym_PERCENT] = ACTIONS(4526),
    [sym_comment] = ACTIONS(256),
  },
  [6220] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(4520),
    [sym__binary_star] = ACTIONS(4522),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(4526),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7018),
    [anon_sym_GT_GT] = ACTIONS(7018),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(4546),
    [anon_sym_SLASH] = ACTIONS(4526),
    [anon_sym_PERCENT] = ACTIONS(4526),
    [sym_comment] = ACTIONS(256),
  },
  [6221] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(4522),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(4526),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7018),
    [anon_sym_GT_GT] = ACTIONS(7018),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(7018),
    [anon_sym_SLASH] = ACTIONS(4526),
    [anon_sym_PERCENT] = ACTIONS(4526),
    [sym_comment] = ACTIONS(256),
  },
  [6222] = {
    [sym__element_reference_left_bracket] = ACTIONS(6902),
    [sym__scope_double_colon] = ACTIONS(6902),
    [sym__binary_minus] = ACTIONS(6902),
    [sym__binary_star] = ACTIONS(6902),
    [anon_sym_DOT] = ACTIONS(6904),
    [anon_sym_COMMA] = ACTIONS(6902),
    [anon_sym_PIPE] = ACTIONS(6904),
    [anon_sym_STAR_STAR] = ACTIONS(6904),
    [anon_sym_AMP] = ACTIONS(6904),
    [anon_sym_EQ] = ACTIONS(6904),
    [anon_sym_LT] = ACTIONS(6904),
    [anon_sym_EQ_GT] = ACTIONS(6902),
    [anon_sym_AMP_DOT] = ACTIONS(6902),
    [anon_sym_PLUS_EQ] = ACTIONS(6902),
    [anon_sym_DASH_EQ] = ACTIONS(6902),
    [anon_sym_STAR_EQ] = ACTIONS(6902),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6902),
    [anon_sym_SLASH_EQ] = ACTIONS(6902),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6902),
    [anon_sym_PIPE_EQ] = ACTIONS(6902),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6902),
    [anon_sym_AMP_EQ] = ACTIONS(6902),
    [anon_sym_PERCENT_EQ] = ACTIONS(6902),
    [anon_sym_GT_GT_EQ] = ACTIONS(6902),
    [anon_sym_LT_LT_EQ] = ACTIONS(6902),
    [anon_sym_CARET_EQ] = ACTIONS(6902),
    [anon_sym_QMARK] = ACTIONS(6902),
    [anon_sym_DOT_DOT] = ACTIONS(6904),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6902),
    [anon_sym_and] = ACTIONS(6902),
    [anon_sym_or] = ACTIONS(6902),
    [anon_sym_PIPE_PIPE] = ACTIONS(6904),
    [anon_sym_AMP_AMP] = ACTIONS(6904),
    [anon_sym_LT_LT] = ACTIONS(6904),
    [anon_sym_GT_GT] = ACTIONS(6904),
    [anon_sym_EQ_EQ] = ACTIONS(6904),
    [anon_sym_BANG_EQ] = ACTIONS(6902),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6902),
    [anon_sym_LT_EQ_GT] = ACTIONS(6902),
    [anon_sym_EQ_TILDE] = ACTIONS(6902),
    [anon_sym_BANG_TILDE] = ACTIONS(6902),
    [anon_sym_LT_EQ] = ACTIONS(6904),
    [anon_sym_GT] = ACTIONS(6904),
    [anon_sym_GT_EQ] = ACTIONS(6902),
    [anon_sym_CARET] = ACTIONS(6904),
    [anon_sym_PLUS] = ACTIONS(6904),
    [anon_sym_SLASH] = ACTIONS(6904),
    [anon_sym_PERCENT] = ACTIONS(6904),
    [sym_comment] = ACTIONS(256),
  },
  [6223] = {
    [sym__heredoc_body_middle] = ACTIONS(4108),
    [sym__heredoc_body_end] = ACTIONS(12288),
    [anon_sym_if] = ACTIONS(4112),
    [anon_sym_unless] = ACTIONS(4114),
    [anon_sym_while] = ACTIONS(4116),
    [anon_sym_until] = ACTIONS(4118),
    [anon_sym_rescue] = ACTIONS(4120),
    [sym_comment] = ACTIONS(110),
  },
  [6224] = {
    [sym__statement] = STATE(9411),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [6225] = {
    [sym__simple_heredoc_body] = ACTIONS(9492),
    [sym__heredoc_body_beginning] = ACTIONS(9492),
    [sym__element_reference_left_bracket] = ACTIONS(9492),
    [sym__scope_double_colon] = ACTIONS(9492),
    [sym__binary_minus] = ACTIONS(9492),
    [sym__binary_star] = ACTIONS(9492),
    [anon_sym_LBRACE] = ACTIONS(9492),
    [anon_sym_RBRACE] = ACTIONS(9492),
    [anon_sym_RPAREN] = ACTIONS(9492),
    [anon_sym_DOT] = ACTIONS(9494),
    [anon_sym_COMMA] = ACTIONS(9492),
    [anon_sym_PIPE] = ACTIONS(9494),
    [anon_sym_SEMI] = ACTIONS(9492),
    [anon_sym_STAR_STAR] = ACTIONS(9494),
    [anon_sym_AMP] = ACTIONS(9494),
    [anon_sym_EQ] = ACTIONS(9494),
    [anon_sym_LT] = ACTIONS(9494),
    [anon_sym_in] = ACTIONS(9492),
    [anon_sym_do] = ACTIONS(9492),
    [anon_sym_EQ_GT] = ACTIONS(9492),
    [anon_sym_RBRACK] = ACTIONS(9492),
    [anon_sym_AMP_DOT] = ACTIONS(9492),
    [anon_sym_PLUS_EQ] = ACTIONS(9492),
    [anon_sym_DASH_EQ] = ACTIONS(9492),
    [anon_sym_STAR_EQ] = ACTIONS(9492),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9492),
    [anon_sym_SLASH_EQ] = ACTIONS(9492),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9492),
    [anon_sym_PIPE_EQ] = ACTIONS(9492),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9492),
    [anon_sym_AMP_EQ] = ACTIONS(9492),
    [anon_sym_PERCENT_EQ] = ACTIONS(9492),
    [anon_sym_GT_GT_EQ] = ACTIONS(9492),
    [anon_sym_LT_LT_EQ] = ACTIONS(9492),
    [anon_sym_CARET_EQ] = ACTIONS(9492),
    [anon_sym_QMARK] = ACTIONS(9492),
    [anon_sym_COLON] = ACTIONS(9492),
    [anon_sym_DOT_DOT] = ACTIONS(9494),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9492),
    [anon_sym_and] = ACTIONS(9492),
    [anon_sym_or] = ACTIONS(9492),
    [anon_sym_PIPE_PIPE] = ACTIONS(9494),
    [anon_sym_AMP_AMP] = ACTIONS(9494),
    [anon_sym_LT_LT] = ACTIONS(9494),
    [anon_sym_GT_GT] = ACTIONS(9494),
    [anon_sym_EQ_EQ] = ACTIONS(9494),
    [anon_sym_BANG_EQ] = ACTIONS(9492),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9492),
    [anon_sym_LT_EQ_GT] = ACTIONS(9492),
    [anon_sym_EQ_TILDE] = ACTIONS(9492),
    [anon_sym_BANG_TILDE] = ACTIONS(9492),
    [anon_sym_LT_EQ] = ACTIONS(9494),
    [anon_sym_GT] = ACTIONS(9494),
    [anon_sym_GT_EQ] = ACTIONS(9492),
    [anon_sym_CARET] = ACTIONS(9494),
    [anon_sym_PLUS] = ACTIONS(9494),
    [anon_sym_SLASH] = ACTIONS(9494),
    [anon_sym_PERCENT] = ACTIONS(9494),
    [sym_comment] = ACTIONS(256),
  },
  [6226] = {
    [sym__simple_heredoc_body] = ACTIONS(9496),
    [sym__heredoc_body_beginning] = ACTIONS(9496),
    [sym__element_reference_left_bracket] = ACTIONS(9496),
    [sym__scope_double_colon] = ACTIONS(9496),
    [sym__binary_minus] = ACTIONS(9496),
    [sym__binary_star] = ACTIONS(9496),
    [anon_sym_LBRACE] = ACTIONS(9496),
    [anon_sym_RBRACE] = ACTIONS(9496),
    [anon_sym_RPAREN] = ACTIONS(9496),
    [anon_sym_DOT] = ACTIONS(9498),
    [anon_sym_COMMA] = ACTIONS(9496),
    [anon_sym_PIPE] = ACTIONS(9498),
    [anon_sym_SEMI] = ACTIONS(9496),
    [anon_sym_STAR_STAR] = ACTIONS(9498),
    [anon_sym_AMP] = ACTIONS(9498),
    [anon_sym_EQ] = ACTIONS(9498),
    [anon_sym_LT] = ACTIONS(9498),
    [anon_sym_in] = ACTIONS(9496),
    [anon_sym_do] = ACTIONS(9496),
    [anon_sym_EQ_GT] = ACTIONS(9496),
    [anon_sym_RBRACK] = ACTIONS(9496),
    [anon_sym_AMP_DOT] = ACTIONS(9496),
    [anon_sym_PLUS_EQ] = ACTIONS(9496),
    [anon_sym_DASH_EQ] = ACTIONS(9496),
    [anon_sym_STAR_EQ] = ACTIONS(9496),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9496),
    [anon_sym_SLASH_EQ] = ACTIONS(9496),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9496),
    [anon_sym_PIPE_EQ] = ACTIONS(9496),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9496),
    [anon_sym_AMP_EQ] = ACTIONS(9496),
    [anon_sym_PERCENT_EQ] = ACTIONS(9496),
    [anon_sym_GT_GT_EQ] = ACTIONS(9496),
    [anon_sym_LT_LT_EQ] = ACTIONS(9496),
    [anon_sym_CARET_EQ] = ACTIONS(9496),
    [anon_sym_QMARK] = ACTIONS(9496),
    [anon_sym_COLON] = ACTIONS(9496),
    [anon_sym_DOT_DOT] = ACTIONS(9498),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9496),
    [anon_sym_and] = ACTIONS(9496),
    [anon_sym_or] = ACTIONS(9496),
    [anon_sym_PIPE_PIPE] = ACTIONS(9498),
    [anon_sym_AMP_AMP] = ACTIONS(9498),
    [anon_sym_LT_LT] = ACTIONS(9498),
    [anon_sym_GT_GT] = ACTIONS(9498),
    [anon_sym_EQ_EQ] = ACTIONS(9498),
    [anon_sym_BANG_EQ] = ACTIONS(9496),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9496),
    [anon_sym_LT_EQ_GT] = ACTIONS(9496),
    [anon_sym_EQ_TILDE] = ACTIONS(9496),
    [anon_sym_BANG_TILDE] = ACTIONS(9496),
    [anon_sym_LT_EQ] = ACTIONS(9498),
    [anon_sym_GT] = ACTIONS(9498),
    [anon_sym_GT_EQ] = ACTIONS(9496),
    [anon_sym_CARET] = ACTIONS(9498),
    [anon_sym_PLUS] = ACTIONS(9498),
    [anon_sym_SLASH] = ACTIONS(9498),
    [anon_sym_PERCENT] = ACTIONS(9498),
    [sym_comment] = ACTIONS(256),
  },
  [6227] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(1096),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(9412),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1105),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1106),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1107),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(1108),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__block_ampersand] = ACTIONS(1734),
    [sym__splat_star] = ACTIONS(1736),
    [sym__unary_minus] = ACTIONS(1740),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(8620),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(1752),
    [anon_sym_yield] = ACTIONS(1754),
    [anon_sym_break] = ACTIONS(1756),
    [anon_sym_next] = ACTIONS(1758),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(4486),
    [anon_sym_defined_QMARK] = ACTIONS(1780),
    [anon_sym_not] = ACTIONS(1782),
    [anon_sym_BANG] = ACTIONS(1786),
    [anon_sym_TILDE] = ACTIONS(1786),
    [sym_constant] = ACTIONS(1788),
    [sym_identifier] = ACTIONS(1788),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [6228] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(1096),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(9412),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1105),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1106),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1107),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(1108),
    [sym_subshell] = STATE(1062),
    [sym_heredoc_end] = STATE(9413),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__block_ampersand] = ACTIONS(1734),
    [sym__splat_star] = ACTIONS(1736),
    [sym__unary_minus] = ACTIONS(1740),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(8620),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(1752),
    [anon_sym_yield] = ACTIONS(1754),
    [anon_sym_break] = ACTIONS(1756),
    [anon_sym_next] = ACTIONS(1758),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(4486),
    [anon_sym_defined_QMARK] = ACTIONS(1780),
    [anon_sym_not] = ACTIONS(1782),
    [anon_sym_BANG] = ACTIONS(1786),
    [anon_sym_TILDE] = ACTIONS(1786),
    [sym_constant] = ACTIONS(1788),
    [sym_identifier] = ACTIONS(1788),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [6229] = {
    [sym_heredoc_end] = STATE(6225),
    [sym__simple_heredoc_body] = ACTIONS(4552),
    [sym__heredoc_body_beginning] = ACTIONS(4554),
    [sym__element_reference_left_bracket] = ACTIONS(9500),
    [sym__scope_double_colon] = ACTIONS(9500),
    [sym__binary_minus] = ACTIONS(9500),
    [sym__binary_star] = ACTIONS(9500),
    [anon_sym_LBRACE] = ACTIONS(9500),
    [anon_sym_RBRACE] = ACTIONS(9500),
    [anon_sym_RPAREN] = ACTIONS(9500),
    [anon_sym_DOT] = ACTIONS(9502),
    [anon_sym_COMMA] = ACTIONS(9500),
    [anon_sym_PIPE] = ACTIONS(9502),
    [anon_sym_SEMI] = ACTIONS(9500),
    [anon_sym_STAR_STAR] = ACTIONS(9502),
    [anon_sym_AMP] = ACTIONS(9502),
    [anon_sym_EQ] = ACTIONS(9502),
    [anon_sym_LT] = ACTIONS(9502),
    [anon_sym_in] = ACTIONS(9500),
    [anon_sym_do] = ACTIONS(9500),
    [anon_sym_EQ_GT] = ACTIONS(9500),
    [anon_sym_RBRACK] = ACTIONS(9500),
    [anon_sym_AMP_DOT] = ACTIONS(9500),
    [anon_sym_PLUS_EQ] = ACTIONS(9500),
    [anon_sym_DASH_EQ] = ACTIONS(9500),
    [anon_sym_STAR_EQ] = ACTIONS(9500),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9500),
    [anon_sym_SLASH_EQ] = ACTIONS(9500),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9500),
    [anon_sym_PIPE_EQ] = ACTIONS(9500),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9500),
    [anon_sym_AMP_EQ] = ACTIONS(9500),
    [anon_sym_PERCENT_EQ] = ACTIONS(9500),
    [anon_sym_GT_GT_EQ] = ACTIONS(9500),
    [anon_sym_LT_LT_EQ] = ACTIONS(9500),
    [anon_sym_CARET_EQ] = ACTIONS(9500),
    [anon_sym_QMARK] = ACTIONS(9500),
    [anon_sym_COLON] = ACTIONS(9500),
    [anon_sym_DOT_DOT] = ACTIONS(9502),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9500),
    [anon_sym_and] = ACTIONS(9500),
    [anon_sym_or] = ACTIONS(9500),
    [anon_sym_PIPE_PIPE] = ACTIONS(9502),
    [anon_sym_AMP_AMP] = ACTIONS(9502),
    [anon_sym_LT_LT] = ACTIONS(9502),
    [anon_sym_GT_GT] = ACTIONS(9502),
    [anon_sym_EQ_EQ] = ACTIONS(9502),
    [anon_sym_BANG_EQ] = ACTIONS(9500),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9500),
    [anon_sym_LT_EQ_GT] = ACTIONS(9500),
    [anon_sym_EQ_TILDE] = ACTIONS(9500),
    [anon_sym_BANG_TILDE] = ACTIONS(9500),
    [anon_sym_LT_EQ] = ACTIONS(9502),
    [anon_sym_GT] = ACTIONS(9502),
    [anon_sym_GT_EQ] = ACTIONS(9500),
    [anon_sym_CARET] = ACTIONS(9502),
    [anon_sym_PLUS] = ACTIONS(9502),
    [anon_sym_SLASH] = ACTIONS(9502),
    [anon_sym_PERCENT] = ACTIONS(9502),
    [sym_comment] = ACTIONS(256),
  },
  [6230] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__element_reference_left_bracket] = ACTIONS(6346),
    [sym__scope_double_colon] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(4520),
    [sym__binary_star] = ACTIONS(4522),
    [anon_sym_LBRACE] = ACTIONS(6346),
    [anon_sym_DOT] = ACTIONS(7328),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(4524),
    [anon_sym_STAR_STAR] = ACTIONS(4526),
    [anon_sym_AMP] = ACTIONS(4528),
    [anon_sym_EQ] = ACTIONS(7328),
    [anon_sym_LT] = ACTIONS(4530),
    [anon_sym_do] = ACTIONS(6346),
    [anon_sym_EQ_GT] = ACTIONS(6346),
    [anon_sym_AMP_DOT] = ACTIONS(6346),
    [anon_sym_PLUS_EQ] = ACTIONS(6346),
    [anon_sym_DASH_EQ] = ACTIONS(6346),
    [anon_sym_STAR_EQ] = ACTIONS(6346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6346),
    [anon_sym_SLASH_EQ] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6346),
    [anon_sym_PIPE_EQ] = ACTIONS(6346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6346),
    [anon_sym_AMP_EQ] = ACTIONS(6346),
    [anon_sym_PERCENT_EQ] = ACTIONS(6346),
    [anon_sym_GT_GT_EQ] = ACTIONS(6346),
    [anon_sym_LT_LT_EQ] = ACTIONS(6346),
    [anon_sym_CARET_EQ] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(4532),
    [anon_sym_DOT_DOT] = ACTIONS(4534),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4536),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(4538),
    [anon_sym_AMP_AMP] = ACTIONS(4538),
    [anon_sym_LT_LT] = ACTIONS(4540),
    [anon_sym_GT_GT] = ACTIONS(4540),
    [anon_sym_EQ_EQ] = ACTIONS(4538),
    [anon_sym_BANG_EQ] = ACTIONS(4542),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4542),
    [anon_sym_LT_EQ_GT] = ACTIONS(4542),
    [anon_sym_EQ_TILDE] = ACTIONS(4542),
    [anon_sym_BANG_TILDE] = ACTIONS(4542),
    [anon_sym_LT_EQ] = ACTIONS(4530),
    [anon_sym_GT] = ACTIONS(4530),
    [anon_sym_GT_EQ] = ACTIONS(4544),
    [anon_sym_CARET] = ACTIONS(4524),
    [anon_sym_PLUS] = ACTIONS(4546),
    [anon_sym_SLASH] = ACTIONS(4526),
    [anon_sym_PERCENT] = ACTIONS(4526),
    [sym_comment] = ACTIONS(256),
  },
  [6231] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__element_reference_left_bracket] = ACTIONS(6346),
    [sym__scope_double_colon] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(6346),
    [sym__binary_star] = ACTIONS(6346),
    [anon_sym_LBRACE] = ACTIONS(6346),
    [anon_sym_RBRACE] = ACTIONS(6346),
    [anon_sym_RPAREN] = ACTIONS(6346),
    [anon_sym_DOT] = ACTIONS(7328),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(7328),
    [anon_sym_SEMI] = ACTIONS(6346),
    [anon_sym_STAR_STAR] = ACTIONS(7328),
    [anon_sym_AMP] = ACTIONS(7328),
    [anon_sym_EQ] = ACTIONS(7328),
    [anon_sym_LT] = ACTIONS(7328),
    [anon_sym_in] = ACTIONS(6346),
    [anon_sym_do] = ACTIONS(6346),
    [anon_sym_EQ_GT] = ACTIONS(6346),
    [anon_sym_RBRACK] = ACTIONS(6346),
    [anon_sym_AMP_DOT] = ACTIONS(6346),
    [anon_sym_PLUS_EQ] = ACTIONS(6346),
    [anon_sym_DASH_EQ] = ACTIONS(6346),
    [anon_sym_STAR_EQ] = ACTIONS(6346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6346),
    [anon_sym_SLASH_EQ] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6346),
    [anon_sym_PIPE_EQ] = ACTIONS(6346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6346),
    [anon_sym_AMP_EQ] = ACTIONS(6346),
    [anon_sym_PERCENT_EQ] = ACTIONS(6346),
    [anon_sym_GT_GT_EQ] = ACTIONS(6346),
    [anon_sym_LT_LT_EQ] = ACTIONS(6346),
    [anon_sym_CARET_EQ] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(6346),
    [anon_sym_COLON] = ACTIONS(6346),
    [anon_sym_DOT_DOT] = ACTIONS(7328),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6346),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(7328),
    [anon_sym_AMP_AMP] = ACTIONS(7328),
    [anon_sym_LT_LT] = ACTIONS(7328),
    [anon_sym_GT_GT] = ACTIONS(7328),
    [anon_sym_EQ_EQ] = ACTIONS(7328),
    [anon_sym_BANG_EQ] = ACTIONS(6346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6346),
    [anon_sym_LT_EQ_GT] = ACTIONS(6346),
    [anon_sym_EQ_TILDE] = ACTIONS(6346),
    [anon_sym_BANG_TILDE] = ACTIONS(6346),
    [anon_sym_LT_EQ] = ACTIONS(7328),
    [anon_sym_GT] = ACTIONS(7328),
    [anon_sym_GT_EQ] = ACTIONS(6346),
    [anon_sym_CARET] = ACTIONS(7328),
    [anon_sym_PLUS] = ACTIONS(7328),
    [anon_sym_SLASH] = ACTIONS(7328),
    [anon_sym_PERCENT] = ACTIONS(7328),
    [sym_comment] = ACTIONS(256),
  },
  [6232] = {
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__element_reference_left_bracket] = ACTIONS(7330),
    [sym__scope_double_colon] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_LBRACE] = ACTIONS(7330),
    [anon_sym_RBRACE] = ACTIONS(7330),
    [anon_sym_RPAREN] = ACTIONS(7330),
    [anon_sym_DOT] = ACTIONS(7332),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_SEMI] = ACTIONS(7330),
    [anon_sym_STAR_STAR] = ACTIONS(7332),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_EQ] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_in] = ACTIONS(7330),
    [anon_sym_do] = ACTIONS(7330),
    [anon_sym_EQ_GT] = ACTIONS(7330),
    [anon_sym_RBRACK] = ACTIONS(7330),
    [anon_sym_AMP_DOT] = ACTIONS(7330),
    [anon_sym_PLUS_EQ] = ACTIONS(7330),
    [anon_sym_DASH_EQ] = ACTIONS(7330),
    [anon_sym_STAR_EQ] = ACTIONS(7330),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7330),
    [anon_sym_SLASH_EQ] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7330),
    [anon_sym_PIPE_EQ] = ACTIONS(7330),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7330),
    [anon_sym_AMP_EQ] = ACTIONS(7330),
    [anon_sym_PERCENT_EQ] = ACTIONS(7330),
    [anon_sym_GT_GT_EQ] = ACTIONS(7330),
    [anon_sym_LT_LT_EQ] = ACTIONS(7330),
    [anon_sym_CARET_EQ] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_COLON] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7332),
    [anon_sym_AMP_AMP] = ACTIONS(7332),
    [anon_sym_LT_LT] = ACTIONS(7332),
    [anon_sym_GT_GT] = ACTIONS(7332),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7332),
    [anon_sym_PLUS] = ACTIONS(7332),
    [anon_sym_SLASH] = ACTIONS(7332),
    [anon_sym_PERCENT] = ACTIONS(7332),
    [sym_comment] = ACTIONS(256),
  },
  [6233] = {
    [aux_sym_exceptions_repeat1] = STATE(9415),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__element_reference_left_bracket] = ACTIONS(7330),
    [sym__scope_double_colon] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_LBRACE] = ACTIONS(7330),
    [anon_sym_DOT] = ACTIONS(7332),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_STAR_STAR] = ACTIONS(7332),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_EQ] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_do] = ACTIONS(7330),
    [anon_sym_EQ_GT] = ACTIONS(7330),
    [anon_sym_AMP_DOT] = ACTIONS(7330),
    [anon_sym_PLUS_EQ] = ACTIONS(7330),
    [anon_sym_DASH_EQ] = ACTIONS(7330),
    [anon_sym_STAR_EQ] = ACTIONS(7330),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7330),
    [anon_sym_SLASH_EQ] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7330),
    [anon_sym_PIPE_EQ] = ACTIONS(7330),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7330),
    [anon_sym_AMP_EQ] = ACTIONS(7330),
    [anon_sym_PERCENT_EQ] = ACTIONS(7330),
    [anon_sym_GT_GT_EQ] = ACTIONS(7330),
    [anon_sym_LT_LT_EQ] = ACTIONS(7330),
    [anon_sym_CARET_EQ] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7332),
    [anon_sym_AMP_AMP] = ACTIONS(7332),
    [anon_sym_LT_LT] = ACTIONS(7332),
    [anon_sym_GT_GT] = ACTIONS(7332),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7332),
    [anon_sym_PLUS] = ACTIONS(7332),
    [anon_sym_SLASH] = ACTIONS(7332),
    [anon_sym_PERCENT] = ACTIONS(7332),
    [sym_comment] = ACTIONS(256),
  },
  [6234] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__element_reference_left_bracket] = ACTIONS(7344),
    [sym__scope_double_colon] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(4520),
    [sym__binary_star] = ACTIONS(4522),
    [anon_sym_LBRACE] = ACTIONS(7344),
    [anon_sym_DOT] = ACTIONS(9504),
    [anon_sym_COMMA] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(4524),
    [anon_sym_STAR_STAR] = ACTIONS(4526),
    [anon_sym_AMP] = ACTIONS(4528),
    [anon_sym_EQ] = ACTIONS(9504),
    [anon_sym_LT] = ACTIONS(4530),
    [anon_sym_do] = ACTIONS(7344),
    [anon_sym_EQ_GT] = ACTIONS(7344),
    [anon_sym_AMP_DOT] = ACTIONS(7344),
    [anon_sym_PLUS_EQ] = ACTIONS(7344),
    [anon_sym_DASH_EQ] = ACTIONS(7344),
    [anon_sym_STAR_EQ] = ACTIONS(7344),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7344),
    [anon_sym_SLASH_EQ] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7344),
    [anon_sym_PIPE_EQ] = ACTIONS(7344),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7344),
    [anon_sym_AMP_EQ] = ACTIONS(7344),
    [anon_sym_PERCENT_EQ] = ACTIONS(7344),
    [anon_sym_GT_GT_EQ] = ACTIONS(7344),
    [anon_sym_LT_LT_EQ] = ACTIONS(7344),
    [anon_sym_CARET_EQ] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(4532),
    [anon_sym_DOT_DOT] = ACTIONS(4534),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4536),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(4538),
    [anon_sym_AMP_AMP] = ACTIONS(4538),
    [anon_sym_LT_LT] = ACTIONS(4540),
    [anon_sym_GT_GT] = ACTIONS(4540),
    [anon_sym_EQ_EQ] = ACTIONS(4538),
    [anon_sym_BANG_EQ] = ACTIONS(4542),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4542),
    [anon_sym_LT_EQ_GT] = ACTIONS(4542),
    [anon_sym_EQ_TILDE] = ACTIONS(4542),
    [anon_sym_BANG_TILDE] = ACTIONS(4542),
    [anon_sym_LT_EQ] = ACTIONS(4530),
    [anon_sym_GT] = ACTIONS(4530),
    [anon_sym_GT_EQ] = ACTIONS(4544),
    [anon_sym_CARET] = ACTIONS(4524),
    [anon_sym_PLUS] = ACTIONS(4546),
    [anon_sym_SLASH] = ACTIONS(4526),
    [anon_sym_PERCENT] = ACTIONS(4526),
    [sym_comment] = ACTIONS(256),
  },
  [6235] = {
    [sym__simple_heredoc_body] = ACTIONS(8662),
    [sym__heredoc_body_beginning] = ACTIONS(8662),
    [sym__element_reference_left_bracket] = ACTIONS(8662),
    [sym__scope_double_colon] = ACTIONS(8662),
    [sym__binary_minus] = ACTIONS(4520),
    [sym__binary_star] = ACTIONS(4522),
    [anon_sym_LBRACE] = ACTIONS(8662),
    [anon_sym_DOT] = ACTIONS(9506),
    [anon_sym_COMMA] = ACTIONS(8662),
    [anon_sym_PIPE] = ACTIONS(4524),
    [anon_sym_STAR_STAR] = ACTIONS(4526),
    [anon_sym_AMP] = ACTIONS(4528),
    [anon_sym_EQ] = ACTIONS(9506),
    [anon_sym_LT] = ACTIONS(4530),
    [anon_sym_do] = ACTIONS(8662),
    [anon_sym_EQ_GT] = ACTIONS(8662),
    [anon_sym_AMP_DOT] = ACTIONS(8662),
    [anon_sym_PLUS_EQ] = ACTIONS(8662),
    [anon_sym_DASH_EQ] = ACTIONS(8662),
    [anon_sym_STAR_EQ] = ACTIONS(8662),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8662),
    [anon_sym_SLASH_EQ] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8662),
    [anon_sym_PIPE_EQ] = ACTIONS(8662),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8662),
    [anon_sym_AMP_EQ] = ACTIONS(8662),
    [anon_sym_PERCENT_EQ] = ACTIONS(8662),
    [anon_sym_GT_GT_EQ] = ACTIONS(8662),
    [anon_sym_LT_LT_EQ] = ACTIONS(8662),
    [anon_sym_CARET_EQ] = ACTIONS(8662),
    [anon_sym_QMARK] = ACTIONS(4532),
    [anon_sym_DOT_DOT] = ACTIONS(4534),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4536),
    [anon_sym_and] = ACTIONS(8662),
    [anon_sym_or] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE] = ACTIONS(4538),
    [anon_sym_AMP_AMP] = ACTIONS(4538),
    [anon_sym_LT_LT] = ACTIONS(4540),
    [anon_sym_GT_GT] = ACTIONS(4540),
    [anon_sym_EQ_EQ] = ACTIONS(4538),
    [anon_sym_BANG_EQ] = ACTIONS(4542),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4542),
    [anon_sym_LT_EQ_GT] = ACTIONS(4542),
    [anon_sym_EQ_TILDE] = ACTIONS(4542),
    [anon_sym_BANG_TILDE] = ACTIONS(4542),
    [anon_sym_LT_EQ] = ACTIONS(4530),
    [anon_sym_GT] = ACTIONS(4530),
    [anon_sym_GT_EQ] = ACTIONS(4544),
    [anon_sym_CARET] = ACTIONS(4524),
    [anon_sym_PLUS] = ACTIONS(4546),
    [anon_sym_SLASH] = ACTIONS(4526),
    [anon_sym_PERCENT] = ACTIONS(4526),
    [sym_comment] = ACTIONS(256),
  },
  [6236] = {
    [sym__simple_string] = ACTIONS(7346),
    [sym__simple_heredoc_body] = ACTIONS(7346),
    [sym__string_beginning] = ACTIONS(7346),
    [sym__heredoc_body_beginning] = ACTIONS(7346),
    [sym__element_reference_left_bracket] = ACTIONS(7346),
    [sym__scope_double_colon] = ACTIONS(7346),
    [sym__binary_minus] = ACTIONS(7346),
    [sym__binary_star] = ACTIONS(7346),
    [anon_sym_LBRACE] = ACTIONS(7346),
    [anon_sym_RBRACE] = ACTIONS(7346),
    [anon_sym_RPAREN] = ACTIONS(7346),
    [anon_sym_DOT] = ACTIONS(7348),
    [anon_sym_COMMA] = ACTIONS(7346),
    [anon_sym_PIPE] = ACTIONS(7348),
    [anon_sym_SEMI] = ACTIONS(7346),
    [anon_sym_STAR_STAR] = ACTIONS(7348),
    [anon_sym_AMP] = ACTIONS(7348),
    [anon_sym_EQ] = ACTIONS(7348),
    [anon_sym_LT] = ACTIONS(7348),
    [anon_sym_in] = ACTIONS(7346),
    [anon_sym_do] = ACTIONS(7346),
    [anon_sym_EQ_GT] = ACTIONS(7346),
    [anon_sym_RBRACK] = ACTIONS(7346),
    [anon_sym_AMP_DOT] = ACTIONS(7346),
    [anon_sym_PLUS_EQ] = ACTIONS(7346),
    [anon_sym_DASH_EQ] = ACTIONS(7346),
    [anon_sym_STAR_EQ] = ACTIONS(7346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7346),
    [anon_sym_SLASH_EQ] = ACTIONS(7346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7346),
    [anon_sym_PIPE_EQ] = ACTIONS(7346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7346),
    [anon_sym_AMP_EQ] = ACTIONS(7346),
    [anon_sym_PERCENT_EQ] = ACTIONS(7346),
    [anon_sym_GT_GT_EQ] = ACTIONS(7346),
    [anon_sym_LT_LT_EQ] = ACTIONS(7346),
    [anon_sym_CARET_EQ] = ACTIONS(7346),
    [anon_sym_QMARK] = ACTIONS(7348),
    [anon_sym_COLON] = ACTIONS(7346),
    [anon_sym_DOT_DOT] = ACTIONS(7348),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7346),
    [anon_sym_and] = ACTIONS(7346),
    [anon_sym_or] = ACTIONS(7346),
    [anon_sym_PIPE_PIPE] = ACTIONS(7348),
    [anon_sym_AMP_AMP] = ACTIONS(7348),
    [anon_sym_LT_LT] = ACTIONS(7348),
    [anon_sym_GT_GT] = ACTIONS(7348),
    [anon_sym_EQ_EQ] = ACTIONS(7348),
    [anon_sym_BANG_EQ] = ACTIONS(7346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7346),
    [anon_sym_LT_EQ_GT] = ACTIONS(7346),
    [anon_sym_EQ_TILDE] = ACTIONS(7346),
    [anon_sym_BANG_TILDE] = ACTIONS(7346),
    [anon_sym_LT_EQ] = ACTIONS(7348),
    [anon_sym_GT] = ACTIONS(7348),
    [anon_sym_GT_EQ] = ACTIONS(7346),
    [anon_sym_CARET] = ACTIONS(7348),
    [anon_sym_PLUS] = ACTIONS(7348),
    [anon_sym_SLASH] = ACTIONS(7348),
    [anon_sym_PERCENT] = ACTIONS(7348),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(7348),
  },
  [6237] = {
    [sym__binary_minus] = ACTIONS(8624),
    [sym__binary_star] = ACTIONS(8626),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(8628),
    [anon_sym_STAR_STAR] = ACTIONS(8630),
    [anon_sym_AMP] = ACTIONS(8632),
    [anon_sym_LT] = ACTIONS(8634),
    [anon_sym_EQ_GT] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(8636),
    [anon_sym_DOT_DOT] = ACTIONS(8638),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8640),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(8642),
    [anon_sym_AMP_AMP] = ACTIONS(8642),
    [anon_sym_LT_LT] = ACTIONS(8644),
    [anon_sym_GT_GT] = ACTIONS(8644),
    [anon_sym_EQ_EQ] = ACTIONS(8646),
    [anon_sym_BANG_EQ] = ACTIONS(8642),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8642),
    [anon_sym_LT_EQ_GT] = ACTIONS(8642),
    [anon_sym_EQ_TILDE] = ACTIONS(8642),
    [anon_sym_BANG_TILDE] = ACTIONS(8642),
    [anon_sym_LT_EQ] = ACTIONS(8634),
    [anon_sym_GT] = ACTIONS(8634),
    [anon_sym_GT_EQ] = ACTIONS(8648),
    [anon_sym_CARET] = ACTIONS(8650),
    [anon_sym_PLUS] = ACTIONS(8652),
    [anon_sym_SLASH] = ACTIONS(8630),
    [anon_sym_PERCENT] = ACTIONS(8630),
    [sym_comment] = ACTIONS(110),
  },
  [6238] = {
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_STAR_STAR] = ACTIONS(8630),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_EQ_GT] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [6239] = {
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(8630),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [6240] = {
    [sym__binary_minus] = ACTIONS(8624),
    [sym__binary_star] = ACTIONS(8626),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(8628),
    [anon_sym_STAR_STAR] = ACTIONS(8630),
    [anon_sym_AMP] = ACTIONS(8632),
    [anon_sym_LT] = ACTIONS(8634),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(8636),
    [anon_sym_DOT_DOT] = ACTIONS(8638),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8640),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(8642),
    [anon_sym_AMP_AMP] = ACTIONS(8642),
    [anon_sym_LT_LT] = ACTIONS(8644),
    [anon_sym_GT_GT] = ACTIONS(8644),
    [anon_sym_EQ_EQ] = ACTIONS(8646),
    [anon_sym_BANG_EQ] = ACTIONS(8642),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8642),
    [anon_sym_LT_EQ_GT] = ACTIONS(8642),
    [anon_sym_EQ_TILDE] = ACTIONS(8642),
    [anon_sym_BANG_TILDE] = ACTIONS(8642),
    [anon_sym_LT_EQ] = ACTIONS(8634),
    [anon_sym_GT] = ACTIONS(8634),
    [anon_sym_GT_EQ] = ACTIONS(8648),
    [anon_sym_CARET] = ACTIONS(8650),
    [anon_sym_PLUS] = ACTIONS(8652),
    [anon_sym_SLASH] = ACTIONS(8630),
    [anon_sym_PERCENT] = ACTIONS(8630),
    [sym_comment] = ACTIONS(110),
  },
  [6241] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(9416),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(3171),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3172),
    [sym__variable] = STATE(196),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(4568),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1514),
    [anon_sym_yield] = ACTIONS(1516),
    [anon_sym_break] = ACTIONS(1518),
    [anon_sym_next] = ACTIONS(1520),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(4570),
    [anon_sym_defined_QMARK] = ACTIONS(4572),
    [anon_sym_not] = ACTIONS(4574),
    [anon_sym_BANG] = ACTIONS(4576),
    [anon_sym_TILDE] = ACTIONS(4576),
    [sym_constant] = ACTIONS(1542),
    [sym_identifier] = ACTIONS(1542),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_false] = ACTIONS(364),
    [anon_sym_nil] = ACTIONS(366),
    [anon_sym_self] = ACTIONS(1544),
    [anon_sym_super] = ACTIONS(1546),
    [anon_sym_true] = ACTIONS(362),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [6242] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(9417),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(3171),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3172),
    [sym__variable] = STATE(196),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(4568),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1514),
    [anon_sym_yield] = ACTIONS(1516),
    [anon_sym_break] = ACTIONS(1518),
    [anon_sym_next] = ACTIONS(1520),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(4570),
    [anon_sym_defined_QMARK] = ACTIONS(4572),
    [anon_sym_not] = ACTIONS(4574),
    [anon_sym_BANG] = ACTIONS(4576),
    [anon_sym_TILDE] = ACTIONS(4576),
    [sym_constant] = ACTIONS(1542),
    [sym_identifier] = ACTIONS(1542),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_false] = ACTIONS(364),
    [anon_sym_nil] = ACTIONS(366),
    [anon_sym_self] = ACTIONS(1544),
    [anon_sym_super] = ACTIONS(1546),
    [anon_sym_true] = ACTIONS(362),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [6243] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(9418),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(3171),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3172),
    [sym__variable] = STATE(196),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(4568),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1514),
    [anon_sym_yield] = ACTIONS(1516),
    [anon_sym_break] = ACTIONS(1518),
    [anon_sym_next] = ACTIONS(1520),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(4570),
    [anon_sym_defined_QMARK] = ACTIONS(4572),
    [anon_sym_not] = ACTIONS(4574),
    [anon_sym_BANG] = ACTIONS(4576),
    [anon_sym_TILDE] = ACTIONS(4576),
    [sym_constant] = ACTIONS(1542),
    [sym_identifier] = ACTIONS(1542),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_false] = ACTIONS(364),
    [anon_sym_nil] = ACTIONS(366),
    [anon_sym_self] = ACTIONS(1544),
    [anon_sym_super] = ACTIONS(1546),
    [anon_sym_true] = ACTIONS(362),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [6244] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(9419),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(3171),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3172),
    [sym__variable] = STATE(196),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(4568),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1514),
    [anon_sym_yield] = ACTIONS(1516),
    [anon_sym_break] = ACTIONS(1518),
    [anon_sym_next] = ACTIONS(1520),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(4570),
    [anon_sym_defined_QMARK] = ACTIONS(4572),
    [anon_sym_not] = ACTIONS(4574),
    [anon_sym_BANG] = ACTIONS(4576),
    [anon_sym_TILDE] = ACTIONS(4576),
    [sym_constant] = ACTIONS(1542),
    [sym_identifier] = ACTIONS(1542),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_false] = ACTIONS(364),
    [anon_sym_nil] = ACTIONS(366),
    [anon_sym_self] = ACTIONS(1544),
    [anon_sym_super] = ACTIONS(1546),
    [anon_sym_true] = ACTIONS(362),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [6245] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(9420),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(3171),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3172),
    [sym__variable] = STATE(196),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(4568),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1514),
    [anon_sym_yield] = ACTIONS(1516),
    [anon_sym_break] = ACTIONS(1518),
    [anon_sym_next] = ACTIONS(1520),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(4570),
    [anon_sym_defined_QMARK] = ACTIONS(4572),
    [anon_sym_not] = ACTIONS(4574),
    [anon_sym_BANG] = ACTIONS(4576),
    [anon_sym_TILDE] = ACTIONS(4576),
    [sym_constant] = ACTIONS(1542),
    [sym_identifier] = ACTIONS(1542),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_false] = ACTIONS(364),
    [anon_sym_nil] = ACTIONS(366),
    [anon_sym_self] = ACTIONS(1544),
    [anon_sym_super] = ACTIONS(1546),
    [anon_sym_true] = ACTIONS(362),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [6246] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(9421),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(3171),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3172),
    [sym__variable] = STATE(196),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(4568),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1514),
    [anon_sym_yield] = ACTIONS(1516),
    [anon_sym_break] = ACTIONS(1518),
    [anon_sym_next] = ACTIONS(1520),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(4570),
    [anon_sym_defined_QMARK] = ACTIONS(4572),
    [anon_sym_not] = ACTIONS(4574),
    [anon_sym_BANG] = ACTIONS(4576),
    [anon_sym_TILDE] = ACTIONS(4576),
    [sym_constant] = ACTIONS(1542),
    [sym_identifier] = ACTIONS(1542),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_false] = ACTIONS(364),
    [anon_sym_nil] = ACTIONS(366),
    [anon_sym_self] = ACTIONS(1544),
    [anon_sym_super] = ACTIONS(1546),
    [anon_sym_true] = ACTIONS(362),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [6247] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(9422),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [6248] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(9423),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(3171),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3172),
    [sym__variable] = STATE(196),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(4568),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1514),
    [anon_sym_yield] = ACTIONS(1516),
    [anon_sym_break] = ACTIONS(1518),
    [anon_sym_next] = ACTIONS(1520),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(4570),
    [anon_sym_defined_QMARK] = ACTIONS(4572),
    [anon_sym_not] = ACTIONS(4574),
    [anon_sym_BANG] = ACTIONS(4576),
    [anon_sym_TILDE] = ACTIONS(4576),
    [sym_constant] = ACTIONS(1542),
    [sym_identifier] = ACTIONS(1542),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_false] = ACTIONS(364),
    [anon_sym_nil] = ACTIONS(366),
    [anon_sym_self] = ACTIONS(1544),
    [anon_sym_super] = ACTIONS(1546),
    [anon_sym_true] = ACTIONS(362),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [6249] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(9424),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(3171),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3172),
    [sym__variable] = STATE(196),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(4568),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1514),
    [anon_sym_yield] = ACTIONS(1516),
    [anon_sym_break] = ACTIONS(1518),
    [anon_sym_next] = ACTIONS(1520),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(4570),
    [anon_sym_defined_QMARK] = ACTIONS(4572),
    [anon_sym_not] = ACTIONS(4574),
    [anon_sym_BANG] = ACTIONS(4576),
    [anon_sym_TILDE] = ACTIONS(4576),
    [sym_constant] = ACTIONS(1542),
    [sym_identifier] = ACTIONS(1542),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_false] = ACTIONS(364),
    [anon_sym_nil] = ACTIONS(366),
    [anon_sym_self] = ACTIONS(1544),
    [anon_sym_super] = ACTIONS(1546),
    [anon_sym_true] = ACTIONS(362),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [6250] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(9425),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(3171),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3172),
    [sym__variable] = STATE(196),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(4568),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1514),
    [anon_sym_yield] = ACTIONS(1516),
    [anon_sym_break] = ACTIONS(1518),
    [anon_sym_next] = ACTIONS(1520),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(4570),
    [anon_sym_defined_QMARK] = ACTIONS(4572),
    [anon_sym_not] = ACTIONS(4574),
    [anon_sym_BANG] = ACTIONS(4576),
    [anon_sym_TILDE] = ACTIONS(4576),
    [sym_constant] = ACTIONS(1542),
    [sym_identifier] = ACTIONS(1542),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_false] = ACTIONS(364),
    [anon_sym_nil] = ACTIONS(366),
    [anon_sym_self] = ACTIONS(1544),
    [anon_sym_super] = ACTIONS(1546),
    [anon_sym_true] = ACTIONS(362),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [6251] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(9426),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(3171),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3172),
    [sym__variable] = STATE(196),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(4568),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1514),
    [anon_sym_yield] = ACTIONS(1516),
    [anon_sym_break] = ACTIONS(1518),
    [anon_sym_next] = ACTIONS(1520),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(4570),
    [anon_sym_defined_QMARK] = ACTIONS(4572),
    [anon_sym_not] = ACTIONS(4574),
    [anon_sym_BANG] = ACTIONS(4576),
    [anon_sym_TILDE] = ACTIONS(4576),
    [sym_constant] = ACTIONS(1542),
    [sym_identifier] = ACTIONS(1542),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_false] = ACTIONS(364),
    [anon_sym_nil] = ACTIONS(366),
    [anon_sym_self] = ACTIONS(1544),
    [anon_sym_super] = ACTIONS(1546),
    [anon_sym_true] = ACTIONS(362),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [6252] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(9427),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(3171),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3172),
    [sym__variable] = STATE(196),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(4568),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1514),
    [anon_sym_yield] = ACTIONS(1516),
    [anon_sym_break] = ACTIONS(1518),
    [anon_sym_next] = ACTIONS(1520),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(4570),
    [anon_sym_defined_QMARK] = ACTIONS(4572),
    [anon_sym_not] = ACTIONS(4574),
    [anon_sym_BANG] = ACTIONS(4576),
    [anon_sym_TILDE] = ACTIONS(4576),
    [sym_constant] = ACTIONS(1542),
    [sym_identifier] = ACTIONS(1542),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_false] = ACTIONS(364),
    [anon_sym_nil] = ACTIONS(366),
    [anon_sym_self] = ACTIONS(1544),
    [anon_sym_super] = ACTIONS(1546),
    [anon_sym_true] = ACTIONS(362),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [6253] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(3167),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_splat_argument] = STATE(3168),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym__arg_or_splat_arg] = STATE(9428),
    [sym_left_assignment_list] = STATE(3171),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3172),
    [sym__variable] = STATE(196),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__splat_star] = ACTIONS(4566),
    [sym__unary_minus] = ACTIONS(4568),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1514),
    [anon_sym_yield] = ACTIONS(1516),
    [anon_sym_break] = ACTIONS(1518),
    [anon_sym_next] = ACTIONS(1520),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(4570),
    [anon_sym_defined_QMARK] = ACTIONS(4572),
    [anon_sym_not] = ACTIONS(4574),
    [anon_sym_BANG] = ACTIONS(4576),
    [anon_sym_TILDE] = ACTIONS(4576),
    [sym_constant] = ACTIONS(1542),
    [sym_identifier] = ACTIONS(1542),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_false] = ACTIONS(364),
    [anon_sym_nil] = ACTIONS(366),
    [anon_sym_self] = ACTIONS(1544),
    [anon_sym_super] = ACTIONS(1546),
    [anon_sym_true] = ACTIONS(362),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [6254] = {
    [sym__binary_minus] = ACTIONS(11422),
    [sym__binary_star] = ACTIONS(11422),
    [anon_sym_COMMA] = ACTIONS(12290),
    [anon_sym_PIPE] = ACTIONS(11426),
    [anon_sym_STAR_STAR] = ACTIONS(11422),
    [anon_sym_AMP] = ACTIONS(11426),
    [anon_sym_LT] = ACTIONS(11426),
    [anon_sym_EQ_GT] = ACTIONS(11422),
    [anon_sym_QMARK] = ACTIONS(11422),
    [anon_sym_DOT_DOT] = ACTIONS(11426),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11422),
    [anon_sym_and] = ACTIONS(11422),
    [anon_sym_or] = ACTIONS(11422),
    [anon_sym_PIPE_PIPE] = ACTIONS(11422),
    [anon_sym_AMP_AMP] = ACTIONS(11422),
    [anon_sym_LT_LT] = ACTIONS(11422),
    [anon_sym_GT_GT] = ACTIONS(11422),
    [anon_sym_EQ_EQ] = ACTIONS(11426),
    [anon_sym_BANG_EQ] = ACTIONS(11422),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11422),
    [anon_sym_LT_EQ_GT] = ACTIONS(11422),
    [anon_sym_EQ_TILDE] = ACTIONS(11422),
    [anon_sym_BANG_TILDE] = ACTIONS(11422),
    [anon_sym_LT_EQ] = ACTIONS(11426),
    [anon_sym_GT] = ACTIONS(11426),
    [anon_sym_GT_EQ] = ACTIONS(11422),
    [anon_sym_CARET] = ACTIONS(11422),
    [anon_sym_PLUS] = ACTIONS(11422),
    [anon_sym_SLASH] = ACTIONS(11422),
    [anon_sym_PERCENT] = ACTIONS(11422),
    [sym_comment] = ACTIONS(110),
  },
  [6255] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(3167),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_splat_argument] = STATE(3168),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_right_assignment_list] = STATE(3169),
    [sym__arg_or_splat_arg] = STATE(9430),
    [sym_left_assignment_list] = STATE(3171),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3172),
    [sym__variable] = STATE(196),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__splat_star] = ACTIONS(4566),
    [sym__unary_minus] = ACTIONS(4568),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1514),
    [anon_sym_yield] = ACTIONS(1516),
    [anon_sym_break] = ACTIONS(1518),
    [anon_sym_next] = ACTIONS(1520),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(4570),
    [anon_sym_defined_QMARK] = ACTIONS(4572),
    [anon_sym_not] = ACTIONS(4574),
    [anon_sym_BANG] = ACTIONS(4576),
    [anon_sym_TILDE] = ACTIONS(4576),
    [sym_constant] = ACTIONS(1542),
    [sym_identifier] = ACTIONS(1542),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_false] = ACTIONS(364),
    [anon_sym_nil] = ACTIONS(366),
    [anon_sym_self] = ACTIONS(1544),
    [anon_sym_super] = ACTIONS(1546),
    [anon_sym_true] = ACTIONS(362),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [6256] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(9431),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(3171),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3172),
    [sym__variable] = STATE(196),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(4568),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1514),
    [anon_sym_yield] = ACTIONS(1516),
    [anon_sym_break] = ACTIONS(1518),
    [anon_sym_next] = ACTIONS(1520),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(4570),
    [anon_sym_defined_QMARK] = ACTIONS(4572),
    [anon_sym_not] = ACTIONS(4574),
    [anon_sym_BANG] = ACTIONS(4576),
    [anon_sym_TILDE] = ACTIONS(4576),
    [sym_constant] = ACTIONS(1542),
    [sym_identifier] = ACTIONS(1542),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_false] = ACTIONS(364),
    [anon_sym_nil] = ACTIONS(366),
    [anon_sym_self] = ACTIONS(1544),
    [anon_sym_super] = ACTIONS(1546),
    [anon_sym_true] = ACTIONS(362),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [6257] = {
    [sym__heredoc_body_middle] = ACTIONS(4108),
    [sym__heredoc_body_end] = ACTIONS(12292),
    [anon_sym_if] = ACTIONS(4112),
    [anon_sym_unless] = ACTIONS(4114),
    [anon_sym_while] = ACTIONS(4116),
    [anon_sym_until] = ACTIONS(4118),
    [anon_sym_rescue] = ACTIONS(4120),
    [sym_comment] = ACTIONS(110),
  },
  [6258] = {
    [sym__statement] = STATE(9433),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [6259] = {
    [sym__simple_heredoc_body] = ACTIONS(12294),
    [sym__heredoc_body_beginning] = ACTIONS(12294),
    [anon_sym_RBRACE] = ACTIONS(12294),
    [sym_comment] = ACTIONS(110),
  },
  [6260] = {
    [sym__simple_heredoc_body] = ACTIONS(7682),
    [sym__heredoc_body_beginning] = ACTIONS(7682),
    [sym__line_break] = ACTIONS(7682),
    [anon_sym_LPAREN] = ACTIONS(7682),
    [anon_sym_SEMI] = ACTIONS(7682),
    [anon_sym_STAR] = ACTIONS(7684),
    [anon_sym_STAR_STAR] = ACTIONS(7682),
    [anon_sym_AMP] = ACTIONS(7682),
    [sym_identifier] = ACTIONS(7684),
    [sym_comment] = ACTIONS(110),
  },
  [6261] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9434),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3679),
    [sym_call] = STATE(3679),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(6266),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6267),
    [sym__variable] = STATE(3679),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(8674),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5344),
    [anon_sym_yield] = ACTIONS(5346),
    [anon_sym_break] = ACTIONS(5348),
    [anon_sym_next] = ACTIONS(5350),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8676),
    [anon_sym_defined_QMARK] = ACTIONS(8678),
    [anon_sym_not] = ACTIONS(8680),
    [anon_sym_BANG] = ACTIONS(8682),
    [anon_sym_TILDE] = ACTIONS(8682),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6262] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9435),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3679),
    [sym_call] = STATE(3679),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(6266),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6267),
    [sym__variable] = STATE(3679),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(8674),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5344),
    [anon_sym_yield] = ACTIONS(5346),
    [anon_sym_break] = ACTIONS(5348),
    [anon_sym_next] = ACTIONS(5350),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8676),
    [anon_sym_defined_QMARK] = ACTIONS(8678),
    [anon_sym_not] = ACTIONS(8680),
    [anon_sym_BANG] = ACTIONS(8682),
    [anon_sym_TILDE] = ACTIONS(8682),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6263] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9436),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3679),
    [sym_call] = STATE(3679),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(6266),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6267),
    [sym__variable] = STATE(3679),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(8674),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5344),
    [anon_sym_yield] = ACTIONS(5346),
    [anon_sym_break] = ACTIONS(5348),
    [anon_sym_next] = ACTIONS(5350),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8676),
    [anon_sym_defined_QMARK] = ACTIONS(8678),
    [anon_sym_not] = ACTIONS(8680),
    [anon_sym_BANG] = ACTIONS(8682),
    [anon_sym_TILDE] = ACTIONS(8682),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6264] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(2988),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3679),
    [sym_call] = STATE(3679),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(6266),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6267),
    [sym__variable] = STATE(3679),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(8674),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5344),
    [anon_sym_yield] = ACTIONS(5346),
    [anon_sym_break] = ACTIONS(5348),
    [anon_sym_next] = ACTIONS(5350),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8676),
    [anon_sym_defined_QMARK] = ACTIONS(8678),
    [anon_sym_not] = ACTIONS(8680),
    [anon_sym_BANG] = ACTIONS(8682),
    [anon_sym_TILDE] = ACTIONS(8682),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6265] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(12296),
    [sym__binary_star] = ACTIONS(12298),
    [anon_sym_RPAREN] = ACTIONS(5298),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(12300),
    [anon_sym_STAR_STAR] = ACTIONS(12302),
    [anon_sym_AMP] = ACTIONS(12304),
    [anon_sym_LT] = ACTIONS(12306),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(12308),
    [anon_sym_DOT_DOT] = ACTIONS(12310),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12312),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(12314),
    [anon_sym_AMP_AMP] = ACTIONS(12314),
    [anon_sym_LT_LT] = ACTIONS(12316),
    [anon_sym_GT_GT] = ACTIONS(12316),
    [anon_sym_EQ_EQ] = ACTIONS(12318),
    [anon_sym_BANG_EQ] = ACTIONS(12314),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12314),
    [anon_sym_LT_EQ_GT] = ACTIONS(12314),
    [anon_sym_EQ_TILDE] = ACTIONS(12314),
    [anon_sym_BANG_TILDE] = ACTIONS(12314),
    [anon_sym_LT_EQ] = ACTIONS(12306),
    [anon_sym_GT] = ACTIONS(12306),
    [anon_sym_GT_EQ] = ACTIONS(12320),
    [anon_sym_CARET] = ACTIONS(12322),
    [anon_sym_PLUS] = ACTIONS(12324),
    [anon_sym_SLASH] = ACTIONS(12302),
    [anon_sym_PERCENT] = ACTIONS(12302),
    [sym_comment] = ACTIONS(110),
  },
  [6266] = {
    [anon_sym_EQ] = ACTIONS(12326),
    [sym_comment] = ACTIONS(256),
  },
  [6267] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_RPAREN] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(12328),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(12330),
    [anon_sym_DASH_EQ] = ACTIONS(12330),
    [anon_sym_STAR_EQ] = ACTIONS(12330),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(12330),
    [anon_sym_SLASH_EQ] = ACTIONS(12330),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(12330),
    [anon_sym_PIPE_EQ] = ACTIONS(12330),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(12330),
    [anon_sym_AMP_EQ] = ACTIONS(12330),
    [anon_sym_PERCENT_EQ] = ACTIONS(12330),
    [anon_sym_GT_GT_EQ] = ACTIONS(12330),
    [anon_sym_LT_LT_EQ] = ACTIONS(12330),
    [anon_sym_CARET_EQ] = ACTIONS(12330),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [6268] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(12296),
    [sym__binary_star] = ACTIONS(12298),
    [anon_sym_RPAREN] = ACTIONS(5338),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(12300),
    [anon_sym_STAR_STAR] = ACTIONS(12302),
    [anon_sym_AMP] = ACTIONS(12304),
    [anon_sym_LT] = ACTIONS(12306),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(12308),
    [anon_sym_DOT_DOT] = ACTIONS(12310),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12312),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(12314),
    [anon_sym_AMP_AMP] = ACTIONS(12314),
    [anon_sym_LT_LT] = ACTIONS(12316),
    [anon_sym_GT_GT] = ACTIONS(12316),
    [anon_sym_EQ_EQ] = ACTIONS(12318),
    [anon_sym_BANG_EQ] = ACTIONS(12314),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12314),
    [anon_sym_LT_EQ_GT] = ACTIONS(12314),
    [anon_sym_EQ_TILDE] = ACTIONS(12314),
    [anon_sym_BANG_TILDE] = ACTIONS(12314),
    [anon_sym_LT_EQ] = ACTIONS(12306),
    [anon_sym_GT] = ACTIONS(12306),
    [anon_sym_GT_EQ] = ACTIONS(12320),
    [anon_sym_CARET] = ACTIONS(12322),
    [anon_sym_PLUS] = ACTIONS(12324),
    [anon_sym_SLASH] = ACTIONS(12302),
    [anon_sym_PERCENT] = ACTIONS(12302),
    [sym_comment] = ACTIONS(110),
  },
  [6269] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_RPAREN] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_STAR_STAR] = ACTIONS(8696),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_EQ_GT] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [6270] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(12296),
    [sym__binary_star] = ACTIONS(12298),
    [anon_sym_RPAREN] = ACTIONS(4284),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(12300),
    [anon_sym_STAR_STAR] = ACTIONS(12302),
    [anon_sym_AMP] = ACTIONS(12304),
    [anon_sym_LT] = ACTIONS(12306),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(12308),
    [anon_sym_DOT_DOT] = ACTIONS(12310),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12312),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(12314),
    [anon_sym_AMP_AMP] = ACTIONS(12314),
    [anon_sym_LT_LT] = ACTIONS(12316),
    [anon_sym_GT_GT] = ACTIONS(12316),
    [anon_sym_EQ_EQ] = ACTIONS(12318),
    [anon_sym_BANG_EQ] = ACTIONS(12314),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12314),
    [anon_sym_LT_EQ_GT] = ACTIONS(12314),
    [anon_sym_EQ_TILDE] = ACTIONS(12314),
    [anon_sym_BANG_TILDE] = ACTIONS(12314),
    [anon_sym_LT_EQ] = ACTIONS(12306),
    [anon_sym_GT] = ACTIONS(12306),
    [anon_sym_GT_EQ] = ACTIONS(12320),
    [anon_sym_CARET] = ACTIONS(12322),
    [anon_sym_PLUS] = ACTIONS(12324),
    [anon_sym_SLASH] = ACTIONS(12302),
    [anon_sym_PERCENT] = ACTIONS(12302),
    [sym_comment] = ACTIONS(110),
  },
  [6271] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_RPAREN] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(8696),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [6272] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(8690),
    [sym__binary_star] = ACTIONS(8692),
    [anon_sym_RPAREN] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(8694),
    [anon_sym_STAR_STAR] = ACTIONS(8696),
    [anon_sym_AMP] = ACTIONS(8698),
    [anon_sym_LT] = ACTIONS(8700),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(8702),
    [anon_sym_DOT_DOT] = ACTIONS(8704),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8706),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(8708),
    [anon_sym_AMP_AMP] = ACTIONS(8708),
    [anon_sym_LT_LT] = ACTIONS(8710),
    [anon_sym_GT_GT] = ACTIONS(8710),
    [anon_sym_EQ_EQ] = ACTIONS(8712),
    [anon_sym_BANG_EQ] = ACTIONS(8708),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8708),
    [anon_sym_LT_EQ_GT] = ACTIONS(8708),
    [anon_sym_EQ_TILDE] = ACTIONS(8708),
    [anon_sym_BANG_TILDE] = ACTIONS(8708),
    [anon_sym_LT_EQ] = ACTIONS(8700),
    [anon_sym_GT] = ACTIONS(8700),
    [anon_sym_GT_EQ] = ACTIONS(8714),
    [anon_sym_CARET] = ACTIONS(8716),
    [anon_sym_PLUS] = ACTIONS(8718),
    [anon_sym_SLASH] = ACTIONS(8696),
    [anon_sym_PERCENT] = ACTIONS(8696),
    [sym_comment] = ACTIONS(110),
  },
  [6273] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9451),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3679),
    [sym_call] = STATE(3679),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(6266),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6267),
    [sym__variable] = STATE(3679),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(8674),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5344),
    [anon_sym_yield] = ACTIONS(5346),
    [anon_sym_break] = ACTIONS(5348),
    [anon_sym_next] = ACTIONS(5350),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8676),
    [anon_sym_defined_QMARK] = ACTIONS(8678),
    [anon_sym_not] = ACTIONS(8680),
    [anon_sym_BANG] = ACTIONS(8682),
    [anon_sym_TILDE] = ACTIONS(8682),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6274] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9452),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3197),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3198),
    [sym__variable] = STATE(1383),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4602),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5360),
    [anon_sym_yield] = ACTIONS(5362),
    [anon_sym_break] = ACTIONS(5364),
    [anon_sym_next] = ACTIONS(5366),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8684),
    [anon_sym_defined_QMARK] = ACTIONS(4604),
    [anon_sym_not] = ACTIONS(8686),
    [anon_sym_BANG] = ACTIONS(4610),
    [anon_sym_TILDE] = ACTIONS(4610),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6275] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9453),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3197),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3198),
    [sym__variable] = STATE(1383),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4602),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5360),
    [anon_sym_yield] = ACTIONS(5362),
    [anon_sym_break] = ACTIONS(5364),
    [anon_sym_next] = ACTIONS(5366),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8684),
    [anon_sym_defined_QMARK] = ACTIONS(4604),
    [anon_sym_not] = ACTIONS(8686),
    [anon_sym_BANG] = ACTIONS(4610),
    [anon_sym_TILDE] = ACTIONS(4610),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6276] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9454),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3197),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3198),
    [sym__variable] = STATE(1383),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4602),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5360),
    [anon_sym_yield] = ACTIONS(5362),
    [anon_sym_break] = ACTIONS(5364),
    [anon_sym_next] = ACTIONS(5366),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8684),
    [anon_sym_defined_QMARK] = ACTIONS(4604),
    [anon_sym_not] = ACTIONS(8686),
    [anon_sym_BANG] = ACTIONS(4610),
    [anon_sym_TILDE] = ACTIONS(4610),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6277] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9455),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3197),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3198),
    [sym__variable] = STATE(1383),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4602),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5360),
    [anon_sym_yield] = ACTIONS(5362),
    [anon_sym_break] = ACTIONS(5364),
    [anon_sym_next] = ACTIONS(5366),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8684),
    [anon_sym_defined_QMARK] = ACTIONS(4604),
    [anon_sym_not] = ACTIONS(8686),
    [anon_sym_BANG] = ACTIONS(4610),
    [anon_sym_TILDE] = ACTIONS(4610),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6278] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9456),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3197),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3198),
    [sym__variable] = STATE(1383),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4602),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5360),
    [anon_sym_yield] = ACTIONS(5362),
    [anon_sym_break] = ACTIONS(5364),
    [anon_sym_next] = ACTIONS(5366),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8684),
    [anon_sym_defined_QMARK] = ACTIONS(4604),
    [anon_sym_not] = ACTIONS(8686),
    [anon_sym_BANG] = ACTIONS(4610),
    [anon_sym_TILDE] = ACTIONS(4610),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6279] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9457),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3197),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3198),
    [sym__variable] = STATE(1383),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4602),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5360),
    [anon_sym_yield] = ACTIONS(5362),
    [anon_sym_break] = ACTIONS(5364),
    [anon_sym_next] = ACTIONS(5366),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8684),
    [anon_sym_defined_QMARK] = ACTIONS(4604),
    [anon_sym_not] = ACTIONS(8686),
    [anon_sym_BANG] = ACTIONS(4610),
    [anon_sym_TILDE] = ACTIONS(4610),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6280] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(9458),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [6281] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9459),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3197),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3198),
    [sym__variable] = STATE(1383),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4602),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5360),
    [anon_sym_yield] = ACTIONS(5362),
    [anon_sym_break] = ACTIONS(5364),
    [anon_sym_next] = ACTIONS(5366),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8684),
    [anon_sym_defined_QMARK] = ACTIONS(4604),
    [anon_sym_not] = ACTIONS(8686),
    [anon_sym_BANG] = ACTIONS(4610),
    [anon_sym_TILDE] = ACTIONS(4610),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6282] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9460),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3197),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3198),
    [sym__variable] = STATE(1383),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4602),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5360),
    [anon_sym_yield] = ACTIONS(5362),
    [anon_sym_break] = ACTIONS(5364),
    [anon_sym_next] = ACTIONS(5366),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8684),
    [anon_sym_defined_QMARK] = ACTIONS(4604),
    [anon_sym_not] = ACTIONS(8686),
    [anon_sym_BANG] = ACTIONS(4610),
    [anon_sym_TILDE] = ACTIONS(4610),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6283] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9461),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3197),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3198),
    [sym__variable] = STATE(1383),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4602),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5360),
    [anon_sym_yield] = ACTIONS(5362),
    [anon_sym_break] = ACTIONS(5364),
    [anon_sym_next] = ACTIONS(5366),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8684),
    [anon_sym_defined_QMARK] = ACTIONS(4604),
    [anon_sym_not] = ACTIONS(8686),
    [anon_sym_BANG] = ACTIONS(4610),
    [anon_sym_TILDE] = ACTIONS(4610),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6284] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9462),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3197),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3198),
    [sym__variable] = STATE(1383),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4602),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5360),
    [anon_sym_yield] = ACTIONS(5362),
    [anon_sym_break] = ACTIONS(5364),
    [anon_sym_next] = ACTIONS(5366),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8684),
    [anon_sym_defined_QMARK] = ACTIONS(4604),
    [anon_sym_not] = ACTIONS(8686),
    [anon_sym_BANG] = ACTIONS(4610),
    [anon_sym_TILDE] = ACTIONS(4610),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6285] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9463),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3197),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3198),
    [sym__variable] = STATE(1383),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4602),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5360),
    [anon_sym_yield] = ACTIONS(5362),
    [anon_sym_break] = ACTIONS(5364),
    [anon_sym_next] = ACTIONS(5366),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8684),
    [anon_sym_defined_QMARK] = ACTIONS(4604),
    [anon_sym_not] = ACTIONS(8686),
    [anon_sym_BANG] = ACTIONS(4610),
    [anon_sym_TILDE] = ACTIONS(4610),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6286] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3195),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(6127),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3197),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3198),
    [sym__variable] = STATE(1383),
    [sym_reserved_identifier] = STATE(3199),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(3200),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(9464),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(4598),
    [sym__splat_star] = ACTIONS(4600),
    [sym__unary_minus] = ACTIONS(4602),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(12332),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2164),
    [anon_sym_yield] = ACTIONS(2166),
    [anon_sym_break] = ACTIONS(2168),
    [anon_sym_next] = ACTIONS(2170),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(8684),
    [anon_sym_defined_QMARK] = ACTIONS(4604),
    [anon_sym_not] = ACTIONS(4606),
    [anon_sym_BANG] = ACTIONS(4610),
    [anon_sym_TILDE] = ACTIONS(4610),
    [sym_constant] = ACTIONS(4612),
    [sym_identifier] = ACTIONS(4612),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6287] = {
    [sym_heredoc_end] = STATE(3004),
    [aux_sym_argument_list_repeat2] = STATE(6130),
    [sym__simple_heredoc_body] = ACTIONS(4410),
    [sym__heredoc_body_beginning] = ACTIONS(4412),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_RPAREN] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(12334),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_STAR_STAR] = ACTIONS(5472),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5472),
    [anon_sym_AMP_AMP] = ACTIONS(5472),
    [anon_sym_LT_LT] = ACTIONS(5472),
    [anon_sym_GT_GT] = ACTIONS(5472),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5472),
    [anon_sym_PLUS] = ACTIONS(5472),
    [anon_sym_SLASH] = ACTIONS(5472),
    [anon_sym_PERCENT] = ACTIONS(5472),
    [sym_comment] = ACTIONS(110),
  },
  [6288] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9466),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_splat_argument] = STATE(6132),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_right_assignment_list] = STATE(6133),
    [sym__arg_or_splat_arg] = STATE(9467),
    [sym_left_assignment_list] = STATE(3197),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3198),
    [sym__variable] = STATE(1383),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__splat_star] = ACTIONS(5376),
    [sym__unary_minus] = ACTIONS(4602),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5360),
    [anon_sym_yield] = ACTIONS(5362),
    [anon_sym_break] = ACTIONS(5364),
    [anon_sym_next] = ACTIONS(5366),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8684),
    [anon_sym_defined_QMARK] = ACTIONS(4604),
    [anon_sym_not] = ACTIONS(8686),
    [anon_sym_BANG] = ACTIONS(4610),
    [anon_sym_TILDE] = ACTIONS(4610),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6289] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9468),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3197),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3198),
    [sym__variable] = STATE(1383),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4602),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5360),
    [anon_sym_yield] = ACTIONS(5362),
    [anon_sym_break] = ACTIONS(5364),
    [anon_sym_next] = ACTIONS(5366),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8684),
    [anon_sym_defined_QMARK] = ACTIONS(4604),
    [anon_sym_not] = ACTIONS(8686),
    [anon_sym_BANG] = ACTIONS(4610),
    [anon_sym_TILDE] = ACTIONS(4610),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6290] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9469),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3679),
    [sym_call] = STATE(3679),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(6266),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6267),
    [sym__variable] = STATE(3679),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(8674),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5344),
    [anon_sym_yield] = ACTIONS(5346),
    [anon_sym_break] = ACTIONS(5348),
    [anon_sym_next] = ACTIONS(5350),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8676),
    [anon_sym_defined_QMARK] = ACTIONS(8678),
    [anon_sym_not] = ACTIONS(8680),
    [anon_sym_BANG] = ACTIONS(8682),
    [anon_sym_TILDE] = ACTIONS(8682),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6291] = {
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(4616),
    [anon_sym_RPAREN] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_STAR_STAR] = ACTIONS(4622),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7008),
    [anon_sym_AMP_AMP] = ACTIONS(7008),
    [anon_sym_LT_LT] = ACTIONS(7008),
    [anon_sym_GT_GT] = ACTIONS(7008),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7008),
    [anon_sym_PLUS] = ACTIONS(7008),
    [anon_sym_SLASH] = ACTIONS(4622),
    [anon_sym_PERCENT] = ACTIONS(4622),
    [sym_comment] = ACTIONS(110),
  },
  [6292] = {
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_RPAREN] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_STAR_STAR] = ACTIONS(4622),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7012),
    [anon_sym_AMP_AMP] = ACTIONS(7012),
    [anon_sym_LT_LT] = ACTIONS(7012),
    [anon_sym_GT_GT] = ACTIONS(7012),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7012),
    [anon_sym_PLUS] = ACTIONS(7012),
    [anon_sym_SLASH] = ACTIONS(7012),
    [anon_sym_PERCENT] = ACTIONS(7012),
    [sym_comment] = ACTIONS(110),
  },
  [6293] = {
    [sym__method_rest] = STATE(9470),
    [sym_operator] = STATE(217),
    [sym__method_name] = STATE(218),
    [sym_setter] = STATE(217),
    [sym_symbol] = STATE(217),
    [sym__simple_symbol] = ACTIONS(378),
    [sym__symbol_beginning] = ACTIONS(380),
    [anon_sym_PIPE] = ACTIONS(384),
    [anon_sym_STAR] = ACTIONS(386),
    [anon_sym_STAR_STAR] = ACTIONS(384),
    [anon_sym_AMP] = ACTIONS(384),
    [anon_sym_LT] = ACTIONS(386),
    [anon_sym_DOT_DOT] = ACTIONS(384),
    [anon_sym_LT_LT] = ACTIONS(384),
    [anon_sym_GT_GT] = ACTIONS(384),
    [anon_sym_EQ_EQ] = ACTIONS(386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(384),
    [anon_sym_LT_EQ_GT] = ACTIONS(384),
    [anon_sym_EQ_TILDE] = ACTIONS(384),
    [anon_sym_BANG_TILDE] = ACTIONS(384),
    [anon_sym_LT_EQ] = ACTIONS(386),
    [anon_sym_GT] = ACTIONS(386),
    [anon_sym_GT_EQ] = ACTIONS(384),
    [anon_sym_CARET] = ACTIONS(384),
    [anon_sym_PLUS] = ACTIONS(386),
    [anon_sym_SLASH] = ACTIONS(384),
    [anon_sym_PERCENT] = ACTIONS(384),
    [anon_sym_BANG] = ACTIONS(386),
    [anon_sym_TILDE] = ACTIONS(384),
    [sym_constant] = ACTIONS(4694),
    [sym_identifier] = ACTIONS(4696),
    [sym_instance_variable] = ACTIONS(4694),
    [sym_class_variable] = ACTIONS(4694),
    [sym_global_variable] = ACTIONS(4694),
    [anon_sym_DASH] = ACTIONS(386),
    [anon_sym_PLUS_AT] = ACTIONS(384),
    [anon_sym_DASH_AT] = ACTIONS(384),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(386),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(384),
    [anon_sym_BQUOTE] = ACTIONS(384),
    [sym_comment] = ACTIONS(110),
  },
  [6294] = {
    [sym__binary_minus] = ACTIONS(4614),
    [sym__binary_star] = ACTIONS(4616),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(4622),
    [anon_sym_AMP] = ACTIONS(4624),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(4638),
    [anon_sym_GT_GT] = ACTIONS(4638),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(4646),
    [anon_sym_SLASH] = ACTIONS(4622),
    [anon_sym_PERCENT] = ACTIONS(4622),
    [sym_comment] = ACTIONS(110),
  },
  [6295] = {
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(4622),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7016),
    [anon_sym_PERCENT] = ACTIONS(7016),
    [sym_comment] = ACTIONS(110),
  },
  [6296] = {
    [sym__binary_minus] = ACTIONS(4614),
    [sym__binary_star] = ACTIONS(4616),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(4622),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(4638),
    [anon_sym_GT_GT] = ACTIONS(4638),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(4646),
    [anon_sym_SLASH] = ACTIONS(4622),
    [anon_sym_PERCENT] = ACTIONS(4622),
    [sym_comment] = ACTIONS(110),
  },
  [6297] = {
    [sym__binary_minus] = ACTIONS(4614),
    [sym__binary_star] = ACTIONS(4616),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(4620),
    [anon_sym_STAR_STAR] = ACTIONS(4622),
    [anon_sym_AMP] = ACTIONS(4624),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(4638),
    [anon_sym_GT_GT] = ACTIONS(4638),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(4644),
    [anon_sym_PLUS] = ACTIONS(4646),
    [anon_sym_SLASH] = ACTIONS(4622),
    [anon_sym_PERCENT] = ACTIONS(4622),
    [sym_comment] = ACTIONS(110),
  },
  [6298] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(12336),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [6299] = {
    [sym__binary_minus] = ACTIONS(4614),
    [sym__binary_star] = ACTIONS(4616),
    [anon_sym_RPAREN] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(4620),
    [anon_sym_STAR_STAR] = ACTIONS(4622),
    [anon_sym_AMP] = ACTIONS(4624),
    [anon_sym_LT] = ACTIONS(4626),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(4630),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4632),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(4636),
    [anon_sym_AMP_AMP] = ACTIONS(4636),
    [anon_sym_LT_LT] = ACTIONS(4638),
    [anon_sym_GT_GT] = ACTIONS(4638),
    [anon_sym_EQ_EQ] = ACTIONS(4640),
    [anon_sym_BANG_EQ] = ACTIONS(4636),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4636),
    [anon_sym_LT_EQ_GT] = ACTIONS(4636),
    [anon_sym_EQ_TILDE] = ACTIONS(4636),
    [anon_sym_BANG_TILDE] = ACTIONS(4636),
    [anon_sym_LT_EQ] = ACTIONS(4626),
    [anon_sym_GT] = ACTIONS(4626),
    [anon_sym_GT_EQ] = ACTIONS(4642),
    [anon_sym_CARET] = ACTIONS(4644),
    [anon_sym_PLUS] = ACTIONS(4646),
    [anon_sym_SLASH] = ACTIONS(4622),
    [anon_sym_PERCENT] = ACTIONS(4622),
    [sym_comment] = ACTIONS(110),
  },
  [6300] = {
    [sym__binary_minus] = ACTIONS(4614),
    [sym__binary_star] = ACTIONS(4616),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(4620),
    [anon_sym_STAR_STAR] = ACTIONS(4622),
    [anon_sym_AMP] = ACTIONS(4624),
    [anon_sym_LT] = ACTIONS(4626),
    [anon_sym_QMARK] = ACTIONS(4628),
    [anon_sym_DOT_DOT] = ACTIONS(4630),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4632),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(4636),
    [anon_sym_AMP_AMP] = ACTIONS(4636),
    [anon_sym_LT_LT] = ACTIONS(4638),
    [anon_sym_GT_GT] = ACTIONS(4638),
    [anon_sym_EQ_EQ] = ACTIONS(4640),
    [anon_sym_BANG_EQ] = ACTIONS(4636),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4636),
    [anon_sym_LT_EQ_GT] = ACTIONS(4636),
    [anon_sym_EQ_TILDE] = ACTIONS(4636),
    [anon_sym_BANG_TILDE] = ACTIONS(4636),
    [anon_sym_LT_EQ] = ACTIONS(4626),
    [anon_sym_GT] = ACTIONS(4626),
    [anon_sym_GT_EQ] = ACTIONS(4642),
    [anon_sym_CARET] = ACTIONS(4644),
    [anon_sym_PLUS] = ACTIONS(4646),
    [anon_sym_SLASH] = ACTIONS(4622),
    [anon_sym_PERCENT] = ACTIONS(4622),
    [sym_comment] = ACTIONS(110),
  },
  [6301] = {
    [sym__binary_minus] = ACTIONS(4614),
    [sym__binary_star] = ACTIONS(4616),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(4620),
    [anon_sym_STAR_STAR] = ACTIONS(4622),
    [anon_sym_AMP] = ACTIONS(4624),
    [anon_sym_LT] = ACTIONS(4626),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(4638),
    [anon_sym_GT_GT] = ACTIONS(4638),
    [anon_sym_EQ_EQ] = ACTIONS(4640),
    [anon_sym_BANG_EQ] = ACTIONS(4636),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4636),
    [anon_sym_LT_EQ_GT] = ACTIONS(4636),
    [anon_sym_EQ_TILDE] = ACTIONS(4636),
    [anon_sym_BANG_TILDE] = ACTIONS(4636),
    [anon_sym_LT_EQ] = ACTIONS(4626),
    [anon_sym_GT] = ACTIONS(4626),
    [anon_sym_GT_EQ] = ACTIONS(4642),
    [anon_sym_CARET] = ACTIONS(4644),
    [anon_sym_PLUS] = ACTIONS(4646),
    [anon_sym_SLASH] = ACTIONS(4622),
    [anon_sym_PERCENT] = ACTIONS(4622),
    [sym_comment] = ACTIONS(110),
  },
  [6302] = {
    [sym__binary_minus] = ACTIONS(4614),
    [sym__binary_star] = ACTIONS(4616),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(4622),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(4646),
    [anon_sym_SLASH] = ACTIONS(4622),
    [anon_sym_PERCENT] = ACTIONS(4622),
    [sym_comment] = ACTIONS(110),
  },
  [6303] = {
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(4616),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(4622),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(4622),
    [anon_sym_PERCENT] = ACTIONS(4622),
    [sym_comment] = ACTIONS(110),
  },
  [6304] = {
    [sym__element_reference_left_bracket] = ACTIONS(7110),
    [sym__scope_double_colon] = ACTIONS(7110),
    [sym__binary_minus] = ACTIONS(7110),
    [sym__binary_star] = ACTIONS(7110),
    [anon_sym_LBRACE] = ACTIONS(7110),
    [anon_sym_RPAREN] = ACTIONS(7110),
    [anon_sym_DOT] = ACTIONS(7112),
    [anon_sym_COMMA] = ACTIONS(7110),
    [anon_sym_PIPE] = ACTIONS(7112),
    [anon_sym_SEMI] = ACTIONS(7110),
    [anon_sym_STAR_STAR] = ACTIONS(7112),
    [anon_sym_AMP] = ACTIONS(7112),
    [anon_sym_EQ] = ACTIONS(7112),
    [anon_sym_LT] = ACTIONS(7112),
    [anon_sym_do] = ACTIONS(7110),
    [anon_sym_AMP_DOT] = ACTIONS(7110),
    [anon_sym_PLUS_EQ] = ACTIONS(7110),
    [anon_sym_DASH_EQ] = ACTIONS(7110),
    [anon_sym_STAR_EQ] = ACTIONS(7110),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7110),
    [anon_sym_SLASH_EQ] = ACTIONS(7110),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7110),
    [anon_sym_PIPE_EQ] = ACTIONS(7110),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7110),
    [anon_sym_AMP_EQ] = ACTIONS(7110),
    [anon_sym_PERCENT_EQ] = ACTIONS(7110),
    [anon_sym_GT_GT_EQ] = ACTIONS(7110),
    [anon_sym_LT_LT_EQ] = ACTIONS(7110),
    [anon_sym_CARET_EQ] = ACTIONS(7110),
    [anon_sym_QMARK] = ACTIONS(7110),
    [anon_sym_COLON] = ACTIONS(7110),
    [anon_sym_DOT_DOT] = ACTIONS(7112),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7110),
    [anon_sym_and] = ACTIONS(7110),
    [anon_sym_or] = ACTIONS(7110),
    [anon_sym_PIPE_PIPE] = ACTIONS(7112),
    [anon_sym_AMP_AMP] = ACTIONS(7112),
    [anon_sym_LT_LT] = ACTIONS(7112),
    [anon_sym_GT_GT] = ACTIONS(7112),
    [anon_sym_EQ_EQ] = ACTIONS(7112),
    [anon_sym_BANG_EQ] = ACTIONS(7110),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7110),
    [anon_sym_LT_EQ_GT] = ACTIONS(7110),
    [anon_sym_EQ_TILDE] = ACTIONS(7110),
    [anon_sym_BANG_TILDE] = ACTIONS(7110),
    [anon_sym_LT_EQ] = ACTIONS(7112),
    [anon_sym_GT] = ACTIONS(7112),
    [anon_sym_GT_EQ] = ACTIONS(7110),
    [anon_sym_CARET] = ACTIONS(7112),
    [anon_sym_PLUS] = ACTIONS(7112),
    [anon_sym_SLASH] = ACTIONS(7112),
    [anon_sym_PERCENT] = ACTIONS(7112),
    [sym_comment] = ACTIONS(256),
  },
  [6305] = {
    [sym_heredoc_end] = STATE(9473),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RBRACK] = ACTIONS(12338),
    [sym_comment] = ACTIONS(110),
  },
  [6306] = {
    [anon_sym_RBRACK] = ACTIONS(12338),
    [sym_comment] = ACTIONS(110),
  },
  [6307] = {
    [sym__simple_string] = ACTIONS(7116),
    [sym__simple_symbol] = ACTIONS(7116),
    [sym__simple_subshell] = ACTIONS(7116),
    [sym__simple_regex] = ACTIONS(7116),
    [sym__simple_word_list] = ACTIONS(7116),
    [sym__string_beginning] = ACTIONS(7116),
    [sym__symbol_beginning] = ACTIONS(7116),
    [sym__subshell_beginning] = ACTIONS(7116),
    [sym__regex_beginning] = ACTIONS(7116),
    [sym__word_list_beginning] = ACTIONS(7116),
    [sym_heredoc_beginning] = ACTIONS(7116),
    [sym__element_reference_left_bracket] = ACTIONS(7116),
    [sym__block_ampersand] = ACTIONS(7116),
    [sym__splat_star] = ACTIONS(7116),
    [sym__argument_list_left_paren] = ACTIONS(7116),
    [sym__scope_double_colon] = ACTIONS(7116),
    [sym__unary_minus] = ACTIONS(7116),
    [sym__binary_minus] = ACTIONS(7116),
    [sym__binary_star] = ACTIONS(7116),
    [anon_sym_LBRACE] = ACTIONS(7116),
    [anon_sym_def] = ACTIONS(7118),
    [anon_sym_LPAREN] = ACTIONS(7116),
    [anon_sym_RPAREN] = ACTIONS(7116),
    [anon_sym_DOT] = ACTIONS(7118),
    [anon_sym_COLON_COLON] = ACTIONS(7116),
    [anon_sym_end] = ACTIONS(7118),
    [anon_sym_COMMA] = ACTIONS(7116),
    [anon_sym_PIPE] = ACTIONS(7118),
    [anon_sym_SEMI] = ACTIONS(7116),
    [anon_sym_STAR] = ACTIONS(7118),
    [anon_sym_STAR_STAR] = ACTIONS(7118),
    [anon_sym_AMP] = ACTIONS(7118),
    [anon_sym_EQ] = ACTIONS(7118),
    [anon_sym_class] = ACTIONS(7118),
    [anon_sym_LT] = ACTIONS(7118),
    [anon_sym_module] = ACTIONS(7118),
    [anon_sym_return] = ACTIONS(7118),
    [anon_sym_yield] = ACTIONS(7118),
    [anon_sym_break] = ACTIONS(7118),
    [anon_sym_next] = ACTIONS(7118),
    [anon_sym_redo] = ACTIONS(7118),
    [anon_sym_retry] = ACTIONS(7118),
    [anon_sym_if] = ACTIONS(7118),
    [anon_sym_unless] = ACTIONS(7118),
    [anon_sym_while] = ACTIONS(7118),
    [anon_sym_until] = ACTIONS(7118),
    [anon_sym_rescue] = ACTIONS(7118),
    [anon_sym_for] = ACTIONS(7118),
    [anon_sym_in] = ACTIONS(7118),
    [anon_sym_do] = ACTIONS(7118),
    [anon_sym_case] = ACTIONS(7118),
    [anon_sym_when] = ACTIONS(7118),
    [anon_sym_elsif] = ACTIONS(7118),
    [anon_sym_else] = ACTIONS(7118),
    [anon_sym_then] = ACTIONS(7118),
    [anon_sym_begin] = ACTIONS(7118),
    [anon_sym_ensure] = ACTIONS(7118),
    [anon_sym_AMP_DOT] = ACTIONS(7116),
    [anon_sym_PLUS_EQ] = ACTIONS(7116),
    [anon_sym_DASH_EQ] = ACTIONS(7116),
    [anon_sym_STAR_EQ] = ACTIONS(7116),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7116),
    [anon_sym_SLASH_EQ] = ACTIONS(7116),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7116),
    [anon_sym_PIPE_EQ] = ACTIONS(7116),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7116),
    [anon_sym_AMP_EQ] = ACTIONS(7116),
    [anon_sym_PERCENT_EQ] = ACTIONS(7116),
    [anon_sym_GT_GT_EQ] = ACTIONS(7116),
    [anon_sym_LT_LT_EQ] = ACTIONS(7116),
    [anon_sym_CARET_EQ] = ACTIONS(7116),
    [anon_sym_QMARK] = ACTIONS(7118),
    [anon_sym_COLON] = ACTIONS(7118),
    [anon_sym_DOT_DOT] = ACTIONS(7118),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7116),
    [anon_sym_and] = ACTIONS(7118),
    [anon_sym_or] = ACTIONS(7118),
    [anon_sym_PIPE_PIPE] = ACTIONS(7118),
    [anon_sym_AMP_AMP] = ACTIONS(7118),
    [anon_sym_LT_LT] = ACTIONS(7118),
    [anon_sym_GT_GT] = ACTIONS(7118),
    [anon_sym_EQ_EQ] = ACTIONS(7118),
    [anon_sym_BANG_EQ] = ACTIONS(7116),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7116),
    [anon_sym_LT_EQ_GT] = ACTIONS(7116),
    [anon_sym_EQ_TILDE] = ACTIONS(7116),
    [anon_sym_BANG_TILDE] = ACTIONS(7116),
    [anon_sym_LT_EQ] = ACTIONS(7118),
    [anon_sym_GT] = ACTIONS(7118),
    [anon_sym_GT_EQ] = ACTIONS(7116),
    [anon_sym_CARET] = ACTIONS(7118),
    [anon_sym_PLUS] = ACTIONS(7118),
    [anon_sym_SLASH] = ACTIONS(7118),
    [anon_sym_PERCENT] = ACTIONS(7118),
    [anon_sym_defined_QMARK] = ACTIONS(7116),
    [anon_sym_not] = ACTIONS(7118),
    [anon_sym_BANG] = ACTIONS(7118),
    [anon_sym_TILDE] = ACTIONS(7116),
    [sym_constant] = ACTIONS(7120),
    [sym_identifier] = ACTIONS(7120),
    [sym_instance_variable] = ACTIONS(7118),
    [sym_class_variable] = ACTIONS(7118),
    [sym_global_variable] = ACTIONS(7118),
    [anon_sym_alias] = ACTIONS(7118),
    [anon_sym_defined] = ACTIONS(7118),
    [anon_sym_false] = ACTIONS(7118),
    [anon_sym_nil] = ACTIONS(7118),
    [anon_sym_self] = ACTIONS(7118),
    [anon_sym_super] = ACTIONS(7118),
    [anon_sym_true] = ACTIONS(7118),
    [anon_sym_undef] = ACTIONS(7118),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(7118),
    [sym_float] = ACTIONS(7120),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(7116),
    [anon_sym_TRUE] = ACTIONS(7118),
    [anon_sym_FALSE] = ACTIONS(7118),
    [anon_sym_NIL] = ACTIONS(7118),
    [sym_keyword__FILE__] = ACTIONS(7118),
    [sym_keyword__LINE__] = ACTIONS(7118),
    [sym_keyword__ENCODING__] = ACTIONS(7118),
    [sym__character_literal] = ACTIONS(7118),
    [anon_sym_LBRACK] = ACTIONS(7116),
    [anon_sym_DASH_GT] = ACTIONS(7116),
  },
  [6308] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1382),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(9475),
    [sym__argument] = STATE(1385),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1386),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1387),
    [sym__variable] = STATE(1383),
    [sym_reserved_identifier] = STATE(1388),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1389),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(9476),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(2154),
    [sym__splat_star] = ACTIONS(2156),
    [sym__unary_minus] = ACTIONS(2158),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(12340),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2162),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2164),
    [anon_sym_yield] = ACTIONS(2166),
    [anon_sym_break] = ACTIONS(2168),
    [anon_sym_next] = ACTIONS(2170),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2172),
    [anon_sym_defined_QMARK] = ACTIONS(2174),
    [anon_sym_not] = ACTIONS(2176),
    [anon_sym_BANG] = ACTIONS(2178),
    [anon_sym_TILDE] = ACTIONS(2178),
    [sym_constant] = ACTIONS(2180),
    [sym_identifier] = ACTIONS(2180),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6309] = {
    [sym__simple_string] = ACTIONS(1856),
    [sym__simple_symbol] = ACTIONS(1856),
    [sym__simple_subshell] = ACTIONS(1856),
    [sym__simple_regex] = ACTIONS(1856),
    [sym__simple_word_list] = ACTIONS(1856),
    [sym__string_beginning] = ACTIONS(1856),
    [sym__symbol_beginning] = ACTIONS(1856),
    [sym__subshell_beginning] = ACTIONS(1856),
    [sym__regex_beginning] = ACTIONS(1856),
    [sym__word_list_beginning] = ACTIONS(1856),
    [sym_heredoc_beginning] = ACTIONS(1856),
    [sym__element_reference_left_bracket] = ACTIONS(1856),
    [sym__block_ampersand] = ACTIONS(1856),
    [sym__splat_star] = ACTIONS(1856),
    [sym__argument_list_left_paren] = ACTIONS(1856),
    [sym__scope_double_colon] = ACTIONS(1856),
    [sym__unary_minus] = ACTIONS(1856),
    [sym__binary_minus] = ACTIONS(1856),
    [sym__binary_star] = ACTIONS(1856),
    [anon_sym_LBRACE] = ACTIONS(1856),
    [anon_sym_def] = ACTIONS(1858),
    [anon_sym_LPAREN] = ACTIONS(1856),
    [anon_sym_RPAREN] = ACTIONS(1856),
    [anon_sym_DOT] = ACTIONS(1858),
    [anon_sym_COLON_COLON] = ACTIONS(1856),
    [anon_sym_end] = ACTIONS(1858),
    [anon_sym_COMMA] = ACTIONS(1856),
    [anon_sym_PIPE] = ACTIONS(1858),
    [anon_sym_SEMI] = ACTIONS(1856),
    [anon_sym_STAR] = ACTIONS(1858),
    [anon_sym_STAR_STAR] = ACTIONS(1858),
    [anon_sym_AMP] = ACTIONS(1858),
    [anon_sym_EQ] = ACTIONS(1858),
    [anon_sym_class] = ACTIONS(1858),
    [anon_sym_LT] = ACTIONS(1858),
    [anon_sym_module] = ACTIONS(1858),
    [anon_sym_return] = ACTIONS(1858),
    [anon_sym_yield] = ACTIONS(1858),
    [anon_sym_break] = ACTIONS(1858),
    [anon_sym_next] = ACTIONS(1858),
    [anon_sym_redo] = ACTIONS(1858),
    [anon_sym_retry] = ACTIONS(1858),
    [anon_sym_if] = ACTIONS(1858),
    [anon_sym_unless] = ACTIONS(1858),
    [anon_sym_while] = ACTIONS(1858),
    [anon_sym_until] = ACTIONS(1858),
    [anon_sym_rescue] = ACTIONS(1858),
    [anon_sym_for] = ACTIONS(1858),
    [anon_sym_in] = ACTIONS(1858),
    [anon_sym_do] = ACTIONS(1858),
    [anon_sym_case] = ACTIONS(1858),
    [anon_sym_when] = ACTIONS(1858),
    [anon_sym_elsif] = ACTIONS(1858),
    [anon_sym_else] = ACTIONS(1858),
    [anon_sym_then] = ACTIONS(1858),
    [anon_sym_begin] = ACTIONS(1858),
    [anon_sym_ensure] = ACTIONS(1858),
    [anon_sym_AMP_DOT] = ACTIONS(1856),
    [anon_sym_PLUS_EQ] = ACTIONS(1856),
    [anon_sym_DASH_EQ] = ACTIONS(1856),
    [anon_sym_STAR_EQ] = ACTIONS(1856),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1856),
    [anon_sym_SLASH_EQ] = ACTIONS(1856),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1856),
    [anon_sym_PIPE_EQ] = ACTIONS(1856),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1856),
    [anon_sym_AMP_EQ] = ACTIONS(1856),
    [anon_sym_PERCENT_EQ] = ACTIONS(1856),
    [anon_sym_GT_GT_EQ] = ACTIONS(1856),
    [anon_sym_LT_LT_EQ] = ACTIONS(1856),
    [anon_sym_CARET_EQ] = ACTIONS(1856),
    [anon_sym_QMARK] = ACTIONS(1858),
    [anon_sym_COLON] = ACTIONS(1858),
    [anon_sym_DOT_DOT] = ACTIONS(1858),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1856),
    [anon_sym_and] = ACTIONS(1858),
    [anon_sym_or] = ACTIONS(1858),
    [anon_sym_PIPE_PIPE] = ACTIONS(1858),
    [anon_sym_AMP_AMP] = ACTIONS(1858),
    [anon_sym_LT_LT] = ACTIONS(1858),
    [anon_sym_GT_GT] = ACTIONS(1858),
    [anon_sym_EQ_EQ] = ACTIONS(1858),
    [anon_sym_BANG_EQ] = ACTIONS(1856),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1856),
    [anon_sym_LT_EQ_GT] = ACTIONS(1856),
    [anon_sym_EQ_TILDE] = ACTIONS(1856),
    [anon_sym_BANG_TILDE] = ACTIONS(1856),
    [anon_sym_LT_EQ] = ACTIONS(1858),
    [anon_sym_GT] = ACTIONS(1858),
    [anon_sym_GT_EQ] = ACTIONS(1856),
    [anon_sym_CARET] = ACTIONS(1858),
    [anon_sym_PLUS] = ACTIONS(1858),
    [anon_sym_SLASH] = ACTIONS(1858),
    [anon_sym_PERCENT] = ACTIONS(1858),
    [anon_sym_defined_QMARK] = ACTIONS(1856),
    [anon_sym_not] = ACTIONS(1858),
    [anon_sym_BANG] = ACTIONS(1858),
    [anon_sym_TILDE] = ACTIONS(1856),
    [sym_constant] = ACTIONS(7124),
    [sym_identifier] = ACTIONS(7124),
    [sym_instance_variable] = ACTIONS(1858),
    [sym_class_variable] = ACTIONS(1858),
    [sym_global_variable] = ACTIONS(1858),
    [anon_sym_alias] = ACTIONS(1858),
    [anon_sym_defined] = ACTIONS(1858),
    [anon_sym_false] = ACTIONS(1858),
    [anon_sym_nil] = ACTIONS(1858),
    [anon_sym_self] = ACTIONS(1858),
    [anon_sym_super] = ACTIONS(1858),
    [anon_sym_true] = ACTIONS(1858),
    [anon_sym_undef] = ACTIONS(1858),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1858),
    [sym_float] = ACTIONS(7124),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1856),
    [anon_sym_TRUE] = ACTIONS(1858),
    [anon_sym_FALSE] = ACTIONS(1858),
    [anon_sym_NIL] = ACTIONS(1858),
    [sym_keyword__FILE__] = ACTIONS(1858),
    [sym_keyword__LINE__] = ACTIONS(1858),
    [sym_keyword__ENCODING__] = ACTIONS(1858),
    [sym__character_literal] = ACTIONS(1858),
    [anon_sym_LBRACK] = ACTIONS(1856),
    [anon_sym_DASH_GT] = ACTIONS(1856),
  },
  [6310] = {
    [sym__simple_string] = ACTIONS(7126),
    [sym__simple_symbol] = ACTIONS(7126),
    [sym__simple_subshell] = ACTIONS(7126),
    [sym__simple_regex] = ACTIONS(7126),
    [sym__simple_word_list] = ACTIONS(7126),
    [sym__string_beginning] = ACTIONS(7126),
    [sym__symbol_beginning] = ACTIONS(7126),
    [sym__subshell_beginning] = ACTIONS(7126),
    [sym__regex_beginning] = ACTIONS(7126),
    [sym__word_list_beginning] = ACTIONS(7126),
    [sym_heredoc_beginning] = ACTIONS(7126),
    [sym__element_reference_left_bracket] = ACTIONS(7126),
    [sym__block_ampersand] = ACTIONS(7126),
    [sym__splat_star] = ACTIONS(7126),
    [sym__argument_list_left_paren] = ACTIONS(7126),
    [sym__scope_double_colon] = ACTIONS(7126),
    [sym__unary_minus] = ACTIONS(7126),
    [sym__binary_minus] = ACTIONS(7126),
    [sym__binary_star] = ACTIONS(7126),
    [anon_sym_LBRACE] = ACTIONS(7126),
    [anon_sym_def] = ACTIONS(7128),
    [anon_sym_LPAREN] = ACTIONS(7126),
    [anon_sym_RPAREN] = ACTIONS(7126),
    [anon_sym_DOT] = ACTIONS(7128),
    [anon_sym_COLON_COLON] = ACTIONS(7126),
    [anon_sym_end] = ACTIONS(7128),
    [anon_sym_COMMA] = ACTIONS(7126),
    [anon_sym_PIPE] = ACTIONS(7128),
    [anon_sym_SEMI] = ACTIONS(7126),
    [anon_sym_STAR] = ACTIONS(7128),
    [anon_sym_STAR_STAR] = ACTIONS(7128),
    [anon_sym_AMP] = ACTIONS(7128),
    [anon_sym_EQ] = ACTIONS(7128),
    [anon_sym_class] = ACTIONS(7128),
    [anon_sym_LT] = ACTIONS(7128),
    [anon_sym_module] = ACTIONS(7128),
    [anon_sym_return] = ACTIONS(7128),
    [anon_sym_yield] = ACTIONS(7128),
    [anon_sym_break] = ACTIONS(7128),
    [anon_sym_next] = ACTIONS(7128),
    [anon_sym_redo] = ACTIONS(7128),
    [anon_sym_retry] = ACTIONS(7128),
    [anon_sym_if] = ACTIONS(7128),
    [anon_sym_unless] = ACTIONS(7128),
    [anon_sym_while] = ACTIONS(7128),
    [anon_sym_until] = ACTIONS(7128),
    [anon_sym_rescue] = ACTIONS(7128),
    [anon_sym_for] = ACTIONS(7128),
    [anon_sym_in] = ACTIONS(7128),
    [anon_sym_do] = ACTIONS(7128),
    [anon_sym_case] = ACTIONS(7128),
    [anon_sym_when] = ACTIONS(7128),
    [anon_sym_elsif] = ACTIONS(7128),
    [anon_sym_else] = ACTIONS(7128),
    [anon_sym_then] = ACTIONS(7128),
    [anon_sym_begin] = ACTIONS(7128),
    [anon_sym_ensure] = ACTIONS(7128),
    [anon_sym_AMP_DOT] = ACTIONS(7126),
    [anon_sym_PLUS_EQ] = ACTIONS(7126),
    [anon_sym_DASH_EQ] = ACTIONS(7126),
    [anon_sym_STAR_EQ] = ACTIONS(7126),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7126),
    [anon_sym_SLASH_EQ] = ACTIONS(7126),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7126),
    [anon_sym_PIPE_EQ] = ACTIONS(7126),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7126),
    [anon_sym_AMP_EQ] = ACTIONS(7126),
    [anon_sym_PERCENT_EQ] = ACTIONS(7126),
    [anon_sym_GT_GT_EQ] = ACTIONS(7126),
    [anon_sym_LT_LT_EQ] = ACTIONS(7126),
    [anon_sym_CARET_EQ] = ACTIONS(7126),
    [anon_sym_QMARK] = ACTIONS(7128),
    [anon_sym_COLON] = ACTIONS(7128),
    [anon_sym_DOT_DOT] = ACTIONS(7128),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7126),
    [anon_sym_and] = ACTIONS(7128),
    [anon_sym_or] = ACTIONS(7128),
    [anon_sym_PIPE_PIPE] = ACTIONS(7128),
    [anon_sym_AMP_AMP] = ACTIONS(7128),
    [anon_sym_LT_LT] = ACTIONS(7128),
    [anon_sym_GT_GT] = ACTIONS(7128),
    [anon_sym_EQ_EQ] = ACTIONS(7128),
    [anon_sym_BANG_EQ] = ACTIONS(7126),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7126),
    [anon_sym_LT_EQ_GT] = ACTIONS(7126),
    [anon_sym_EQ_TILDE] = ACTIONS(7126),
    [anon_sym_BANG_TILDE] = ACTIONS(7126),
    [anon_sym_LT_EQ] = ACTIONS(7128),
    [anon_sym_GT] = ACTIONS(7128),
    [anon_sym_GT_EQ] = ACTIONS(7126),
    [anon_sym_CARET] = ACTIONS(7128),
    [anon_sym_PLUS] = ACTIONS(7128),
    [anon_sym_SLASH] = ACTIONS(7128),
    [anon_sym_PERCENT] = ACTIONS(7128),
    [anon_sym_defined_QMARK] = ACTIONS(7126),
    [anon_sym_not] = ACTIONS(7128),
    [anon_sym_BANG] = ACTIONS(7128),
    [anon_sym_TILDE] = ACTIONS(7126),
    [sym_constant] = ACTIONS(7130),
    [sym_identifier] = ACTIONS(7130),
    [sym_instance_variable] = ACTIONS(7128),
    [sym_class_variable] = ACTIONS(7128),
    [sym_global_variable] = ACTIONS(7128),
    [anon_sym_alias] = ACTIONS(7128),
    [anon_sym_defined] = ACTIONS(7128),
    [anon_sym_false] = ACTIONS(7128),
    [anon_sym_nil] = ACTIONS(7128),
    [anon_sym_self] = ACTIONS(7128),
    [anon_sym_super] = ACTIONS(7128),
    [anon_sym_true] = ACTIONS(7128),
    [anon_sym_undef] = ACTIONS(7128),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(7128),
    [sym_float] = ACTIONS(7130),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(7126),
    [anon_sym_TRUE] = ACTIONS(7128),
    [anon_sym_FALSE] = ACTIONS(7128),
    [anon_sym_NIL] = ACTIONS(7128),
    [sym_keyword__FILE__] = ACTIONS(7128),
    [sym_keyword__LINE__] = ACTIONS(7128),
    [sym_keyword__ENCODING__] = ACTIONS(7128),
    [sym__character_literal] = ACTIONS(7128),
    [anon_sym_LBRACK] = ACTIONS(7126),
    [anon_sym_DASH_GT] = ACTIONS(7126),
  },
  [6311] = {
    [sym__simple_string] = ACTIONS(7132),
    [sym__simple_symbol] = ACTIONS(7132),
    [sym__simple_subshell] = ACTIONS(7132),
    [sym__simple_regex] = ACTIONS(7132),
    [sym__simple_word_list] = ACTIONS(7132),
    [sym__string_beginning] = ACTIONS(7132),
    [sym__symbol_beginning] = ACTIONS(7132),
    [sym__subshell_beginning] = ACTIONS(7132),
    [sym__regex_beginning] = ACTIONS(7132),
    [sym__word_list_beginning] = ACTIONS(7132),
    [sym_heredoc_beginning] = ACTIONS(7132),
    [sym__element_reference_left_bracket] = ACTIONS(7132),
    [sym__block_ampersand] = ACTIONS(7132),
    [sym__splat_star] = ACTIONS(7132),
    [sym__argument_list_left_paren] = ACTIONS(7132),
    [sym__scope_double_colon] = ACTIONS(7132),
    [sym__unary_minus] = ACTIONS(7132),
    [sym__binary_minus] = ACTIONS(7132),
    [sym__binary_star] = ACTIONS(7132),
    [anon_sym_LBRACE] = ACTIONS(7132),
    [anon_sym_def] = ACTIONS(7134),
    [anon_sym_LPAREN] = ACTIONS(7132),
    [anon_sym_RPAREN] = ACTIONS(7132),
    [anon_sym_DOT] = ACTIONS(7134),
    [anon_sym_COLON_COLON] = ACTIONS(7132),
    [anon_sym_end] = ACTIONS(7134),
    [anon_sym_COMMA] = ACTIONS(7132),
    [anon_sym_PIPE] = ACTIONS(7134),
    [anon_sym_SEMI] = ACTIONS(7132),
    [anon_sym_STAR] = ACTIONS(7134),
    [anon_sym_STAR_STAR] = ACTIONS(7134),
    [anon_sym_AMP] = ACTIONS(7134),
    [anon_sym_EQ] = ACTIONS(7134),
    [anon_sym_class] = ACTIONS(7134),
    [anon_sym_LT] = ACTIONS(7134),
    [anon_sym_module] = ACTIONS(7134),
    [anon_sym_return] = ACTIONS(7134),
    [anon_sym_yield] = ACTIONS(7134),
    [anon_sym_break] = ACTIONS(7134),
    [anon_sym_next] = ACTIONS(7134),
    [anon_sym_redo] = ACTIONS(7134),
    [anon_sym_retry] = ACTIONS(7134),
    [anon_sym_if] = ACTIONS(7134),
    [anon_sym_unless] = ACTIONS(7134),
    [anon_sym_while] = ACTIONS(7134),
    [anon_sym_until] = ACTIONS(7134),
    [anon_sym_rescue] = ACTIONS(7134),
    [anon_sym_for] = ACTIONS(7134),
    [anon_sym_in] = ACTIONS(7134),
    [anon_sym_do] = ACTIONS(7134),
    [anon_sym_case] = ACTIONS(7134),
    [anon_sym_when] = ACTIONS(7134),
    [anon_sym_elsif] = ACTIONS(7134),
    [anon_sym_else] = ACTIONS(7134),
    [anon_sym_then] = ACTIONS(7134),
    [anon_sym_begin] = ACTIONS(7134),
    [anon_sym_ensure] = ACTIONS(7134),
    [anon_sym_AMP_DOT] = ACTIONS(7132),
    [anon_sym_PLUS_EQ] = ACTIONS(7132),
    [anon_sym_DASH_EQ] = ACTIONS(7132),
    [anon_sym_STAR_EQ] = ACTIONS(7132),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7132),
    [anon_sym_SLASH_EQ] = ACTIONS(7132),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7132),
    [anon_sym_PIPE_EQ] = ACTIONS(7132),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7132),
    [anon_sym_AMP_EQ] = ACTIONS(7132),
    [anon_sym_PERCENT_EQ] = ACTIONS(7132),
    [anon_sym_GT_GT_EQ] = ACTIONS(7132),
    [anon_sym_LT_LT_EQ] = ACTIONS(7132),
    [anon_sym_CARET_EQ] = ACTIONS(7132),
    [anon_sym_QMARK] = ACTIONS(7134),
    [anon_sym_COLON] = ACTIONS(7134),
    [anon_sym_DOT_DOT] = ACTIONS(7134),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7132),
    [anon_sym_and] = ACTIONS(7134),
    [anon_sym_or] = ACTIONS(7134),
    [anon_sym_PIPE_PIPE] = ACTIONS(7134),
    [anon_sym_AMP_AMP] = ACTIONS(7134),
    [anon_sym_LT_LT] = ACTIONS(7134),
    [anon_sym_GT_GT] = ACTIONS(7134),
    [anon_sym_EQ_EQ] = ACTIONS(7134),
    [anon_sym_BANG_EQ] = ACTIONS(7132),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7132),
    [anon_sym_LT_EQ_GT] = ACTIONS(7132),
    [anon_sym_EQ_TILDE] = ACTIONS(7132),
    [anon_sym_BANG_TILDE] = ACTIONS(7132),
    [anon_sym_LT_EQ] = ACTIONS(7134),
    [anon_sym_GT] = ACTIONS(7134),
    [anon_sym_GT_EQ] = ACTIONS(7132),
    [anon_sym_CARET] = ACTIONS(7134),
    [anon_sym_PLUS] = ACTIONS(7134),
    [anon_sym_SLASH] = ACTIONS(7134),
    [anon_sym_PERCENT] = ACTIONS(7134),
    [anon_sym_defined_QMARK] = ACTIONS(7132),
    [anon_sym_not] = ACTIONS(7134),
    [anon_sym_BANG] = ACTIONS(7134),
    [anon_sym_TILDE] = ACTIONS(7132),
    [sym_constant] = ACTIONS(7136),
    [sym_identifier] = ACTIONS(7136),
    [sym_instance_variable] = ACTIONS(7134),
    [sym_class_variable] = ACTIONS(7134),
    [sym_global_variable] = ACTIONS(7134),
    [anon_sym_alias] = ACTIONS(7134),
    [anon_sym_defined] = ACTIONS(7134),
    [anon_sym_false] = ACTIONS(7134),
    [anon_sym_nil] = ACTIONS(7134),
    [anon_sym_self] = ACTIONS(7134),
    [anon_sym_super] = ACTIONS(7134),
    [anon_sym_true] = ACTIONS(7134),
    [anon_sym_undef] = ACTIONS(7134),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(7134),
    [sym_float] = ACTIONS(7136),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(7132),
    [anon_sym_TRUE] = ACTIONS(7134),
    [anon_sym_FALSE] = ACTIONS(7134),
    [anon_sym_NIL] = ACTIONS(7134),
    [sym_keyword__FILE__] = ACTIONS(7134),
    [sym_keyword__LINE__] = ACTIONS(7134),
    [sym_keyword__ENCODING__] = ACTIONS(7134),
    [sym__character_literal] = ACTIONS(7134),
    [anon_sym_LBRACK] = ACTIONS(7132),
    [anon_sym_DASH_GT] = ACTIONS(7132),
  },
  [6312] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(9477),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6321),
    [sym_call] = STATE(6321),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(6322),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6323),
    [sym__variable] = STATE(6321),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(8744),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(8746),
    [anon_sym_yield] = ACTIONS(8748),
    [anon_sym_break] = ACTIONS(8750),
    [anon_sym_next] = ACTIONS(8752),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(8754),
    [anon_sym_defined_QMARK] = ACTIONS(8756),
    [anon_sym_not] = ACTIONS(8758),
    [anon_sym_BANG] = ACTIONS(8760),
    [anon_sym_TILDE] = ACTIONS(8760),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [6313] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(3234),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(9264),
    [sym__argument_list_with_parens] = STATE(2959),
    [sym__argument] = STATE(3237),
    [sym_splat_argument] = STATE(2961),
    [sym_hash_splat_argument] = STATE(2961),
    [sym_block_argument] = STATE(2961),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(3239),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3240),
    [sym__variable] = STATE(3235),
    [sym_reserved_identifier] = STATE(3241),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3242),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(2961),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(4656),
    [sym__splat_star] = ACTIONS(4658),
    [sym__argument_list_left_paren] = ACTIONS(4330),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(4660),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_RPAREN] = ACTIONS(532),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(544),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(4664),
    [anon_sym_yield] = ACTIONS(4666),
    [anon_sym_break] = ACTIONS(4668),
    [anon_sym_next] = ACTIONS(4670),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_PLUS_EQ] = ACTIONS(532),
    [anon_sym_DASH_EQ] = ACTIONS(532),
    [anon_sym_STAR_EQ] = ACTIONS(532),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(532),
    [anon_sym_SLASH_EQ] = ACTIONS(532),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(532),
    [anon_sym_PIPE_EQ] = ACTIONS(532),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(532),
    [anon_sym_AMP_EQ] = ACTIONS(532),
    [anon_sym_PERCENT_EQ] = ACTIONS(532),
    [anon_sym_GT_GT_EQ] = ACTIONS(532),
    [anon_sym_LT_LT_EQ] = ACTIONS(532),
    [anon_sym_CARET_EQ] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(544),
    [anon_sym_AMP_AMP] = ACTIONS(544),
    [anon_sym_LT_LT] = ACTIONS(544),
    [anon_sym_GT_GT] = ACTIONS(544),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(544),
    [anon_sym_PERCENT] = ACTIONS(544),
    [anon_sym_defined_QMARK] = ACTIONS(4674),
    [anon_sym_not] = ACTIONS(4676),
    [anon_sym_BANG] = ACTIONS(4678),
    [anon_sym_TILDE] = ACTIONS(4680),
    [sym_constant] = ACTIONS(4682),
    [sym_identifier] = ACTIONS(4682),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [6314] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(3234),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(9265),
    [sym__argument_list_with_parens] = STATE(2959),
    [sym__argument] = STATE(3237),
    [sym_splat_argument] = STATE(2961),
    [sym_hash_splat_argument] = STATE(2961),
    [sym_block_argument] = STATE(2961),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(3239),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3240),
    [sym__variable] = STATE(3235),
    [sym_reserved_identifier] = STATE(3241),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3242),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(2961),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(4656),
    [sym__splat_star] = ACTIONS(4658),
    [sym__argument_list_left_paren] = ACTIONS(4330),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(4660),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_RPAREN] = ACTIONS(602),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(604),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(4664),
    [anon_sym_yield] = ACTIONS(4666),
    [anon_sym_break] = ACTIONS(4668),
    [anon_sym_next] = ACTIONS(4670),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_PLUS_EQ] = ACTIONS(602),
    [anon_sym_DASH_EQ] = ACTIONS(602),
    [anon_sym_STAR_EQ] = ACTIONS(602),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(602),
    [anon_sym_SLASH_EQ] = ACTIONS(602),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(602),
    [anon_sym_PIPE_EQ] = ACTIONS(602),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(602),
    [anon_sym_AMP_EQ] = ACTIONS(602),
    [anon_sym_PERCENT_EQ] = ACTIONS(602),
    [anon_sym_GT_GT_EQ] = ACTIONS(602),
    [anon_sym_LT_LT_EQ] = ACTIONS(602),
    [anon_sym_CARET_EQ] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(604),
    [anon_sym_AMP_AMP] = ACTIONS(604),
    [anon_sym_LT_LT] = ACTIONS(604),
    [anon_sym_GT_GT] = ACTIONS(604),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(604),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(604),
    [anon_sym_PERCENT] = ACTIONS(604),
    [anon_sym_defined_QMARK] = ACTIONS(4674),
    [anon_sym_not] = ACTIONS(4676),
    [anon_sym_BANG] = ACTIONS(4678),
    [anon_sym_TILDE] = ACTIONS(4680),
    [sym_constant] = ACTIONS(4682),
    [sym_identifier] = ACTIONS(4682),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [6315] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(3234),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(9266),
    [sym__argument_list_with_parens] = STATE(2959),
    [sym__argument] = STATE(3237),
    [sym_splat_argument] = STATE(2961),
    [sym_hash_splat_argument] = STATE(2961),
    [sym_block_argument] = STATE(2961),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(3239),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3240),
    [sym__variable] = STATE(3235),
    [sym_reserved_identifier] = STATE(3241),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3242),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(2961),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(4656),
    [sym__splat_star] = ACTIONS(4658),
    [sym__argument_list_left_paren] = ACTIONS(4330),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(4660),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_RPAREN] = ACTIONS(606),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(608),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(4664),
    [anon_sym_yield] = ACTIONS(4666),
    [anon_sym_break] = ACTIONS(4668),
    [anon_sym_next] = ACTIONS(4670),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_PLUS_EQ] = ACTIONS(606),
    [anon_sym_DASH_EQ] = ACTIONS(606),
    [anon_sym_STAR_EQ] = ACTIONS(606),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(606),
    [anon_sym_SLASH_EQ] = ACTIONS(606),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(606),
    [anon_sym_PIPE_EQ] = ACTIONS(606),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(606),
    [anon_sym_AMP_EQ] = ACTIONS(606),
    [anon_sym_PERCENT_EQ] = ACTIONS(606),
    [anon_sym_GT_GT_EQ] = ACTIONS(606),
    [anon_sym_LT_LT_EQ] = ACTIONS(606),
    [anon_sym_CARET_EQ] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(608),
    [anon_sym_AMP_AMP] = ACTIONS(608),
    [anon_sym_LT_LT] = ACTIONS(608),
    [anon_sym_GT_GT] = ACTIONS(608),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(608),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(608),
    [anon_sym_PERCENT] = ACTIONS(608),
    [anon_sym_defined_QMARK] = ACTIONS(4674),
    [anon_sym_not] = ACTIONS(4676),
    [anon_sym_BANG] = ACTIONS(4678),
    [anon_sym_TILDE] = ACTIONS(4680),
    [sym_constant] = ACTIONS(4682),
    [sym_identifier] = ACTIONS(4682),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [6316] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(3234),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(9267),
    [sym__argument_list_with_parens] = STATE(2959),
    [sym__argument] = STATE(3237),
    [sym_splat_argument] = STATE(2961),
    [sym_hash_splat_argument] = STATE(2961),
    [sym_block_argument] = STATE(2961),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(3239),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3240),
    [sym__variable] = STATE(3235),
    [sym_reserved_identifier] = STATE(3241),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3242),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(2961),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(4656),
    [sym__splat_star] = ACTIONS(4658),
    [sym__argument_list_left_paren] = ACTIONS(4330),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(4660),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_RPAREN] = ACTIONS(610),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(612),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(4664),
    [anon_sym_yield] = ACTIONS(4666),
    [anon_sym_break] = ACTIONS(4668),
    [anon_sym_next] = ACTIONS(4670),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_PLUS_EQ] = ACTIONS(610),
    [anon_sym_DASH_EQ] = ACTIONS(610),
    [anon_sym_STAR_EQ] = ACTIONS(610),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(610),
    [anon_sym_SLASH_EQ] = ACTIONS(610),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(610),
    [anon_sym_PIPE_EQ] = ACTIONS(610),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(610),
    [anon_sym_AMP_EQ] = ACTIONS(610),
    [anon_sym_PERCENT_EQ] = ACTIONS(610),
    [anon_sym_GT_GT_EQ] = ACTIONS(610),
    [anon_sym_LT_LT_EQ] = ACTIONS(610),
    [anon_sym_CARET_EQ] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(612),
    [anon_sym_AMP_AMP] = ACTIONS(612),
    [anon_sym_LT_LT] = ACTIONS(612),
    [anon_sym_GT_GT] = ACTIONS(612),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(612),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(612),
    [anon_sym_PERCENT] = ACTIONS(612),
    [anon_sym_defined_QMARK] = ACTIONS(4674),
    [anon_sym_not] = ACTIONS(4676),
    [anon_sym_BANG] = ACTIONS(4678),
    [anon_sym_TILDE] = ACTIONS(4680),
    [sym_constant] = ACTIONS(4682),
    [sym_identifier] = ACTIONS(4682),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [6317] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(9478),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6321),
    [sym_call] = STATE(6321),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(6322),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6323),
    [sym__variable] = STATE(6321),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(8744),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(8746),
    [anon_sym_yield] = ACTIONS(8748),
    [anon_sym_break] = ACTIONS(8750),
    [anon_sym_next] = ACTIONS(8752),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(8754),
    [anon_sym_defined_QMARK] = ACTIONS(8756),
    [anon_sym_not] = ACTIONS(8758),
    [anon_sym_BANG] = ACTIONS(8760),
    [anon_sym_TILDE] = ACTIONS(8760),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [6318] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(9479),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6321),
    [sym_call] = STATE(6321),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(6322),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6323),
    [sym__variable] = STATE(6321),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(8744),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(8746),
    [anon_sym_yield] = ACTIONS(8748),
    [anon_sym_break] = ACTIONS(8750),
    [anon_sym_next] = ACTIONS(8752),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(8754),
    [anon_sym_defined_QMARK] = ACTIONS(8756),
    [anon_sym_not] = ACTIONS(8758),
    [anon_sym_BANG] = ACTIONS(8760),
    [anon_sym_TILDE] = ACTIONS(8760),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [6319] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(9281),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6321),
    [sym_call] = STATE(6321),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(6322),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6323),
    [sym__variable] = STATE(6321),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(8744),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(8746),
    [anon_sym_yield] = ACTIONS(8748),
    [anon_sym_break] = ACTIONS(8750),
    [anon_sym_next] = ACTIONS(8752),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(8754),
    [anon_sym_defined_QMARK] = ACTIONS(8756),
    [anon_sym_not] = ACTIONS(8758),
    [anon_sym_BANG] = ACTIONS(8760),
    [anon_sym_TILDE] = ACTIONS(8760),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [6320] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(12342),
    [sym__binary_star] = ACTIONS(12344),
    [anon_sym_LBRACE] = ACTIONS(5298),
    [anon_sym_RPAREN] = ACTIONS(5298),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(12346),
    [anon_sym_STAR_STAR] = ACTIONS(12348),
    [anon_sym_AMP] = ACTIONS(12350),
    [anon_sym_EQ] = ACTIONS(5304),
    [anon_sym_LT] = ACTIONS(12352),
    [anon_sym_do] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_PLUS_EQ] = ACTIONS(5298),
    [anon_sym_DASH_EQ] = ACTIONS(5298),
    [anon_sym_STAR_EQ] = ACTIONS(5298),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5298),
    [anon_sym_SLASH_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5298),
    [anon_sym_AMP_EQ] = ACTIONS(5298),
    [anon_sym_PERCENT_EQ] = ACTIONS(5298),
    [anon_sym_GT_GT_EQ] = ACTIONS(5298),
    [anon_sym_LT_LT_EQ] = ACTIONS(5298),
    [anon_sym_CARET_EQ] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(12354),
    [anon_sym_DOT_DOT] = ACTIONS(12356),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12358),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(12360),
    [anon_sym_AMP_AMP] = ACTIONS(12360),
    [anon_sym_LT_LT] = ACTIONS(12362),
    [anon_sym_GT_GT] = ACTIONS(12362),
    [anon_sym_EQ_EQ] = ACTIONS(12360),
    [anon_sym_BANG_EQ] = ACTIONS(12364),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12364),
    [anon_sym_LT_EQ_GT] = ACTIONS(12364),
    [anon_sym_EQ_TILDE] = ACTIONS(12364),
    [anon_sym_BANG_TILDE] = ACTIONS(12364),
    [anon_sym_LT_EQ] = ACTIONS(12352),
    [anon_sym_GT] = ACTIONS(12352),
    [anon_sym_GT_EQ] = ACTIONS(12366),
    [anon_sym_CARET] = ACTIONS(12346),
    [anon_sym_PLUS] = ACTIONS(12368),
    [anon_sym_SLASH] = ACTIONS(12348),
    [anon_sym_PERCENT] = ACTIONS(12348),
    [sym_comment] = ACTIONS(256),
  },
  [6321] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(3234),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(6712),
    [sym__argument_list_with_parens] = STATE(2959),
    [sym__argument] = STATE(3237),
    [sym_splat_argument] = STATE(2961),
    [sym_hash_splat_argument] = STATE(2961),
    [sym_block_argument] = STATE(2961),
    [sym_do_block] = STATE(2962),
    [sym_block] = STATE(2962),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(3239),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3240),
    [sym__variable] = STATE(3235),
    [sym_reserved_identifier] = STATE(3241),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3242),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(2961),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(4656),
    [sym__splat_star] = ACTIONS(4658),
    [sym__argument_list_left_paren] = ACTIONS(4330),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(4660),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(4334),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_RPAREN] = ACTIONS(980),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(4664),
    [anon_sym_yield] = ACTIONS(4666),
    [anon_sym_break] = ACTIONS(4668),
    [anon_sym_next] = ACTIONS(4670),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(982),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(4674),
    [anon_sym_not] = ACTIONS(4676),
    [anon_sym_BANG] = ACTIONS(4678),
    [anon_sym_TILDE] = ACTIONS(4680),
    [sym_constant] = ACTIONS(4682),
    [sym_identifier] = ACTIONS(4682),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [6322] = {
    [anon_sym_EQ] = ACTIONS(12370),
    [sym_comment] = ACTIONS(256),
  },
  [6323] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_RPAREN] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(12372),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(12374),
    [anon_sym_DASH_EQ] = ACTIONS(12374),
    [anon_sym_STAR_EQ] = ACTIONS(12374),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(12374),
    [anon_sym_SLASH_EQ] = ACTIONS(12374),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(12374),
    [anon_sym_PIPE_EQ] = ACTIONS(12374),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(12374),
    [anon_sym_AMP_EQ] = ACTIONS(12374),
    [anon_sym_PERCENT_EQ] = ACTIONS(12374),
    [anon_sym_GT_GT_EQ] = ACTIONS(12374),
    [anon_sym_LT_LT_EQ] = ACTIONS(12374),
    [anon_sym_CARET_EQ] = ACTIONS(12374),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [6324] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(12342),
    [sym__binary_star] = ACTIONS(12344),
    [anon_sym_LBRACE] = ACTIONS(5338),
    [anon_sym_RPAREN] = ACTIONS(5338),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(12346),
    [anon_sym_STAR_STAR] = ACTIONS(12348),
    [anon_sym_AMP] = ACTIONS(12350),
    [anon_sym_EQ] = ACTIONS(5340),
    [anon_sym_LT] = ACTIONS(12352),
    [anon_sym_do] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_PLUS_EQ] = ACTIONS(5338),
    [anon_sym_DASH_EQ] = ACTIONS(5338),
    [anon_sym_STAR_EQ] = ACTIONS(5338),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5338),
    [anon_sym_SLASH_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5338),
    [anon_sym_AMP_EQ] = ACTIONS(5338),
    [anon_sym_PERCENT_EQ] = ACTIONS(5338),
    [anon_sym_GT_GT_EQ] = ACTIONS(5338),
    [anon_sym_LT_LT_EQ] = ACTIONS(5338),
    [anon_sym_CARET_EQ] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(12354),
    [anon_sym_DOT_DOT] = ACTIONS(12356),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12358),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(12360),
    [anon_sym_AMP_AMP] = ACTIONS(12360),
    [anon_sym_LT_LT] = ACTIONS(12362),
    [anon_sym_GT_GT] = ACTIONS(12362),
    [anon_sym_EQ_EQ] = ACTIONS(12360),
    [anon_sym_BANG_EQ] = ACTIONS(12364),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12364),
    [anon_sym_LT_EQ_GT] = ACTIONS(12364),
    [anon_sym_EQ_TILDE] = ACTIONS(12364),
    [anon_sym_BANG_TILDE] = ACTIONS(12364),
    [anon_sym_LT_EQ] = ACTIONS(12352),
    [anon_sym_GT] = ACTIONS(12352),
    [anon_sym_GT_EQ] = ACTIONS(12366),
    [anon_sym_CARET] = ACTIONS(12346),
    [anon_sym_PLUS] = ACTIONS(12368),
    [anon_sym_SLASH] = ACTIONS(12348),
    [anon_sym_PERCENT] = ACTIONS(12348),
    [sym_comment] = ACTIONS(256),
  },
  [6325] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(3716),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(3104),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(3717),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(3239),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3240),
    [sym__variable] = STATE(3235),
    [sym_reserved_identifier] = STATE(3718),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3719),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(5414),
    [sym__splat_star] = ACTIONS(5416),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(4660),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_RPAREN] = ACTIONS(532),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(544),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(4664),
    [anon_sym_yield] = ACTIONS(4666),
    [anon_sym_break] = ACTIONS(4668),
    [anon_sym_next] = ACTIONS(4670),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_PLUS_EQ] = ACTIONS(532),
    [anon_sym_DASH_EQ] = ACTIONS(532),
    [anon_sym_STAR_EQ] = ACTIONS(532),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(532),
    [anon_sym_SLASH_EQ] = ACTIONS(532),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(532),
    [anon_sym_PIPE_EQ] = ACTIONS(532),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(532),
    [anon_sym_AMP_EQ] = ACTIONS(532),
    [anon_sym_PERCENT_EQ] = ACTIONS(532),
    [anon_sym_GT_GT_EQ] = ACTIONS(532),
    [anon_sym_LT_LT_EQ] = ACTIONS(532),
    [anon_sym_CARET_EQ] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(544),
    [anon_sym_AMP_AMP] = ACTIONS(544),
    [anon_sym_LT_LT] = ACTIONS(544),
    [anon_sym_GT_GT] = ACTIONS(544),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(544),
    [anon_sym_PERCENT] = ACTIONS(544),
    [anon_sym_defined_QMARK] = ACTIONS(4674),
    [anon_sym_not] = ACTIONS(4676),
    [anon_sym_BANG] = ACTIONS(4678),
    [anon_sym_TILDE] = ACTIONS(4680),
    [sym_constant] = ACTIONS(5418),
    [sym_identifier] = ACTIONS(5418),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [6326] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(3716),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(3105),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(3717),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(3239),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3240),
    [sym__variable] = STATE(3235),
    [sym_reserved_identifier] = STATE(3718),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3719),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(5414),
    [sym__splat_star] = ACTIONS(5416),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(4660),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_RPAREN] = ACTIONS(602),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(604),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(4664),
    [anon_sym_yield] = ACTIONS(4666),
    [anon_sym_break] = ACTIONS(4668),
    [anon_sym_next] = ACTIONS(4670),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_PLUS_EQ] = ACTIONS(602),
    [anon_sym_DASH_EQ] = ACTIONS(602),
    [anon_sym_STAR_EQ] = ACTIONS(602),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(602),
    [anon_sym_SLASH_EQ] = ACTIONS(602),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(602),
    [anon_sym_PIPE_EQ] = ACTIONS(602),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(602),
    [anon_sym_AMP_EQ] = ACTIONS(602),
    [anon_sym_PERCENT_EQ] = ACTIONS(602),
    [anon_sym_GT_GT_EQ] = ACTIONS(602),
    [anon_sym_LT_LT_EQ] = ACTIONS(602),
    [anon_sym_CARET_EQ] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(604),
    [anon_sym_AMP_AMP] = ACTIONS(604),
    [anon_sym_LT_LT] = ACTIONS(604),
    [anon_sym_GT_GT] = ACTIONS(604),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(604),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(604),
    [anon_sym_PERCENT] = ACTIONS(604),
    [anon_sym_defined_QMARK] = ACTIONS(4674),
    [anon_sym_not] = ACTIONS(4676),
    [anon_sym_BANG] = ACTIONS(4678),
    [anon_sym_TILDE] = ACTIONS(4680),
    [sym_constant] = ACTIONS(5418),
    [sym_identifier] = ACTIONS(5418),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [6327] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(3716),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(3106),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(3717),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(3239),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3240),
    [sym__variable] = STATE(3235),
    [sym_reserved_identifier] = STATE(3718),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3719),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(5414),
    [sym__splat_star] = ACTIONS(5416),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(4660),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_RPAREN] = ACTIONS(606),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(608),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(4664),
    [anon_sym_yield] = ACTIONS(4666),
    [anon_sym_break] = ACTIONS(4668),
    [anon_sym_next] = ACTIONS(4670),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_PLUS_EQ] = ACTIONS(606),
    [anon_sym_DASH_EQ] = ACTIONS(606),
    [anon_sym_STAR_EQ] = ACTIONS(606),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(606),
    [anon_sym_SLASH_EQ] = ACTIONS(606),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(606),
    [anon_sym_PIPE_EQ] = ACTIONS(606),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(606),
    [anon_sym_AMP_EQ] = ACTIONS(606),
    [anon_sym_PERCENT_EQ] = ACTIONS(606),
    [anon_sym_GT_GT_EQ] = ACTIONS(606),
    [anon_sym_LT_LT_EQ] = ACTIONS(606),
    [anon_sym_CARET_EQ] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(608),
    [anon_sym_AMP_AMP] = ACTIONS(608),
    [anon_sym_LT_LT] = ACTIONS(608),
    [anon_sym_GT_GT] = ACTIONS(608),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(608),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(608),
    [anon_sym_PERCENT] = ACTIONS(608),
    [anon_sym_defined_QMARK] = ACTIONS(4674),
    [anon_sym_not] = ACTIONS(4676),
    [anon_sym_BANG] = ACTIONS(4678),
    [anon_sym_TILDE] = ACTIONS(4680),
    [sym_constant] = ACTIONS(5418),
    [sym_identifier] = ACTIONS(5418),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [6328] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(3716),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(3107),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(3717),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(3239),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3240),
    [sym__variable] = STATE(3235),
    [sym_reserved_identifier] = STATE(3718),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3719),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(5414),
    [sym__splat_star] = ACTIONS(5416),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(4660),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_RPAREN] = ACTIONS(610),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(612),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(4664),
    [anon_sym_yield] = ACTIONS(4666),
    [anon_sym_break] = ACTIONS(4668),
    [anon_sym_next] = ACTIONS(4670),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_PLUS_EQ] = ACTIONS(610),
    [anon_sym_DASH_EQ] = ACTIONS(610),
    [anon_sym_STAR_EQ] = ACTIONS(610),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(610),
    [anon_sym_SLASH_EQ] = ACTIONS(610),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(610),
    [anon_sym_PIPE_EQ] = ACTIONS(610),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(610),
    [anon_sym_AMP_EQ] = ACTIONS(610),
    [anon_sym_PERCENT_EQ] = ACTIONS(610),
    [anon_sym_GT_GT_EQ] = ACTIONS(610),
    [anon_sym_LT_LT_EQ] = ACTIONS(610),
    [anon_sym_CARET_EQ] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(612),
    [anon_sym_AMP_AMP] = ACTIONS(612),
    [anon_sym_LT_LT] = ACTIONS(612),
    [anon_sym_GT_GT] = ACTIONS(612),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(612),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(612),
    [anon_sym_PERCENT] = ACTIONS(612),
    [anon_sym_defined_QMARK] = ACTIONS(4674),
    [anon_sym_not] = ACTIONS(4676),
    [anon_sym_BANG] = ACTIONS(4678),
    [anon_sym_TILDE] = ACTIONS(4680),
    [sym_constant] = ACTIONS(5418),
    [sym_identifier] = ACTIONS(5418),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [6329] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_LBRACE] = ACTIONS(1372),
    [anon_sym_RPAREN] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_STAR_STAR] = ACTIONS(8784),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_EQ] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_do] = ACTIONS(1372),
    [anon_sym_EQ_GT] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_PLUS_EQ] = ACTIONS(1372),
    [anon_sym_DASH_EQ] = ACTIONS(1372),
    [anon_sym_STAR_EQ] = ACTIONS(1372),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1372),
    [anon_sym_SLASH_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1372),
    [anon_sym_AMP_EQ] = ACTIONS(1372),
    [anon_sym_PERCENT_EQ] = ACTIONS(1372),
    [anon_sym_GT_GT_EQ] = ACTIONS(1372),
    [anon_sym_LT_LT_EQ] = ACTIONS(1372),
    [anon_sym_CARET_EQ] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1374),
    [anon_sym_AMP_AMP] = ACTIONS(1374),
    [anon_sym_LT_LT] = ACTIONS(1374),
    [anon_sym_GT_GT] = ACTIONS(1374),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1374),
    [anon_sym_PLUS] = ACTIONS(1374),
    [anon_sym_SLASH] = ACTIONS(1374),
    [anon_sym_PERCENT] = ACTIONS(1374),
    [sym_comment] = ACTIONS(256),
  },
  [6330] = {
    [anon_sym_RBRACE] = ACTIONS(12376),
    [sym_comment] = ACTIONS(110),
  },
  [6331] = {
    [sym__statements] = STATE(9495),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(841),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(12376),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6332] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(12342),
    [sym__binary_star] = ACTIONS(12344),
    [anon_sym_LBRACE] = ACTIONS(4284),
    [anon_sym_RPAREN] = ACTIONS(4284),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(12346),
    [anon_sym_STAR_STAR] = ACTIONS(12348),
    [anon_sym_AMP] = ACTIONS(12350),
    [anon_sym_EQ] = ACTIONS(5432),
    [anon_sym_LT] = ACTIONS(12352),
    [anon_sym_do] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_PLUS_EQ] = ACTIONS(4284),
    [anon_sym_DASH_EQ] = ACTIONS(4284),
    [anon_sym_STAR_EQ] = ACTIONS(4284),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(4284),
    [anon_sym_SLASH_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(4284),
    [anon_sym_AMP_EQ] = ACTIONS(4284),
    [anon_sym_PERCENT_EQ] = ACTIONS(4284),
    [anon_sym_GT_GT_EQ] = ACTIONS(4284),
    [anon_sym_LT_LT_EQ] = ACTIONS(4284),
    [anon_sym_CARET_EQ] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(12354),
    [anon_sym_DOT_DOT] = ACTIONS(12356),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12358),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(12360),
    [anon_sym_AMP_AMP] = ACTIONS(12360),
    [anon_sym_LT_LT] = ACTIONS(12362),
    [anon_sym_GT_GT] = ACTIONS(12362),
    [anon_sym_EQ_EQ] = ACTIONS(12360),
    [anon_sym_BANG_EQ] = ACTIONS(12364),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12364),
    [anon_sym_LT_EQ_GT] = ACTIONS(12364),
    [anon_sym_EQ_TILDE] = ACTIONS(12364),
    [anon_sym_BANG_TILDE] = ACTIONS(12364),
    [anon_sym_LT_EQ] = ACTIONS(12352),
    [anon_sym_GT] = ACTIONS(12352),
    [anon_sym_GT_EQ] = ACTIONS(12366),
    [anon_sym_CARET] = ACTIONS(12346),
    [anon_sym_PLUS] = ACTIONS(12368),
    [anon_sym_SLASH] = ACTIONS(12348),
    [anon_sym_PERCENT] = ACTIONS(12348),
    [sym_comment] = ACTIONS(256),
  },
  [6333] = {
    [sym__element_reference_left_bracket] = ACTIONS(6942),
    [sym__scope_double_colon] = ACTIONS(6942),
    [sym__binary_minus] = ACTIONS(6942),
    [sym__binary_star] = ACTIONS(6942),
    [anon_sym_LBRACE] = ACTIONS(6942),
    [anon_sym_RPAREN] = ACTIONS(6942),
    [anon_sym_DOT] = ACTIONS(6944),
    [anon_sym_COMMA] = ACTIONS(6942),
    [anon_sym_PIPE] = ACTIONS(6944),
    [anon_sym_SEMI] = ACTIONS(6942),
    [anon_sym_STAR_STAR] = ACTIONS(6944),
    [anon_sym_AMP] = ACTIONS(6944),
    [anon_sym_EQ] = ACTIONS(6944),
    [anon_sym_LT] = ACTIONS(6944),
    [anon_sym_do] = ACTIONS(6942),
    [anon_sym_AMP_DOT] = ACTIONS(6942),
    [anon_sym_PLUS_EQ] = ACTIONS(6942),
    [anon_sym_DASH_EQ] = ACTIONS(6942),
    [anon_sym_STAR_EQ] = ACTIONS(6942),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6942),
    [anon_sym_SLASH_EQ] = ACTIONS(6942),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6942),
    [anon_sym_PIPE_EQ] = ACTIONS(6942),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6942),
    [anon_sym_AMP_EQ] = ACTIONS(6942),
    [anon_sym_PERCENT_EQ] = ACTIONS(6942),
    [anon_sym_GT_GT_EQ] = ACTIONS(6942),
    [anon_sym_LT_LT_EQ] = ACTIONS(6942),
    [anon_sym_CARET_EQ] = ACTIONS(6942),
    [anon_sym_QMARK] = ACTIONS(6942),
    [anon_sym_COLON] = ACTIONS(6942),
    [anon_sym_DOT_DOT] = ACTIONS(6944),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6942),
    [anon_sym_and] = ACTIONS(6942),
    [anon_sym_or] = ACTIONS(6942),
    [anon_sym_PIPE_PIPE] = ACTIONS(6944),
    [anon_sym_AMP_AMP] = ACTIONS(6944),
    [anon_sym_LT_LT] = ACTIONS(6944),
    [anon_sym_GT_GT] = ACTIONS(6944),
    [anon_sym_EQ_EQ] = ACTIONS(6944),
    [anon_sym_BANG_EQ] = ACTIONS(6942),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6942),
    [anon_sym_LT_EQ_GT] = ACTIONS(6942),
    [anon_sym_EQ_TILDE] = ACTIONS(6942),
    [anon_sym_BANG_TILDE] = ACTIONS(6942),
    [anon_sym_LT_EQ] = ACTIONS(6944),
    [anon_sym_GT] = ACTIONS(6944),
    [anon_sym_GT_EQ] = ACTIONS(6942),
    [anon_sym_CARET] = ACTIONS(6944),
    [anon_sym_PLUS] = ACTIONS(6944),
    [anon_sym_SLASH] = ACTIONS(6944),
    [anon_sym_PERCENT] = ACTIONS(6944),
    [sym_comment] = ACTIONS(256),
  },
  [6334] = {
    [anon_sym_end] = ACTIONS(12378),
    [sym_comment] = ACTIONS(110),
  },
  [6335] = {
    [sym__statements] = STATE(9497),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(9498),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(12380),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6336] = {
    [sym__statements] = STATE(9497),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(9499),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(9498),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(12380),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6337] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_RPAREN] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(8784),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2872),
    [anon_sym_AMP_AMP] = ACTIONS(2872),
    [anon_sym_LT_LT] = ACTIONS(2872),
    [anon_sym_GT_GT] = ACTIONS(2872),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2872),
    [anon_sym_PLUS] = ACTIONS(2872),
    [anon_sym_SLASH] = ACTIONS(2872),
    [anon_sym_PERCENT] = ACTIONS(2872),
    [sym_comment] = ACTIONS(256),
  },
  [6338] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(8778),
    [sym__binary_star] = ACTIONS(8780),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_RPAREN] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(8782),
    [anon_sym_STAR_STAR] = ACTIONS(8784),
    [anon_sym_AMP] = ACTIONS(8786),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(8788),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(8790),
    [anon_sym_DOT_DOT] = ACTIONS(8792),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8794),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(8796),
    [anon_sym_AMP_AMP] = ACTIONS(8796),
    [anon_sym_LT_LT] = ACTIONS(8798),
    [anon_sym_GT_GT] = ACTIONS(8798),
    [anon_sym_EQ_EQ] = ACTIONS(8796),
    [anon_sym_BANG_EQ] = ACTIONS(8800),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8800),
    [anon_sym_LT_EQ_GT] = ACTIONS(8800),
    [anon_sym_EQ_TILDE] = ACTIONS(8800),
    [anon_sym_BANG_TILDE] = ACTIONS(8800),
    [anon_sym_LT_EQ] = ACTIONS(8788),
    [anon_sym_GT] = ACTIONS(8788),
    [anon_sym_GT_EQ] = ACTIONS(8802),
    [anon_sym_CARET] = ACTIONS(8782),
    [anon_sym_PLUS] = ACTIONS(8804),
    [anon_sym_SLASH] = ACTIONS(8784),
    [anon_sym_PERCENT] = ACTIONS(8784),
    [sym_comment] = ACTIONS(256),
  },
  [6339] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(9500),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6321),
    [sym_call] = STATE(6321),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(6322),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6323),
    [sym__variable] = STATE(6321),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(8744),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(8746),
    [anon_sym_yield] = ACTIONS(8748),
    [anon_sym_break] = ACTIONS(8750),
    [anon_sym_next] = ACTIONS(8752),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(8754),
    [anon_sym_defined_QMARK] = ACTIONS(8756),
    [anon_sym_not] = ACTIONS(8758),
    [anon_sym_BANG] = ACTIONS(8760),
    [anon_sym_TILDE] = ACTIONS(8760),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [6340] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(9501),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(3239),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3240),
    [sym__variable] = STATE(3235),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(4660),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(8762),
    [anon_sym_yield] = ACTIONS(8764),
    [anon_sym_break] = ACTIONS(8766),
    [anon_sym_next] = ACTIONS(8768),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(8770),
    [anon_sym_defined_QMARK] = ACTIONS(4674),
    [anon_sym_not] = ACTIONS(8772),
    [anon_sym_BANG] = ACTIONS(4680),
    [anon_sym_TILDE] = ACTIONS(4680),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [6341] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(9502),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(3239),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3240),
    [sym__variable] = STATE(3235),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(4660),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(8762),
    [anon_sym_yield] = ACTIONS(8764),
    [anon_sym_break] = ACTIONS(8766),
    [anon_sym_next] = ACTIONS(8768),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(8770),
    [anon_sym_defined_QMARK] = ACTIONS(4674),
    [anon_sym_not] = ACTIONS(8772),
    [anon_sym_BANG] = ACTIONS(4680),
    [anon_sym_TILDE] = ACTIONS(4680),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [6342] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(9503),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(3239),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3240),
    [sym__variable] = STATE(3235),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(4660),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(8762),
    [anon_sym_yield] = ACTIONS(8764),
    [anon_sym_break] = ACTIONS(8766),
    [anon_sym_next] = ACTIONS(8768),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(8770),
    [anon_sym_defined_QMARK] = ACTIONS(4674),
    [anon_sym_not] = ACTIONS(8772),
    [anon_sym_BANG] = ACTIONS(4680),
    [anon_sym_TILDE] = ACTIONS(4680),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [6343] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(9504),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(3239),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3240),
    [sym__variable] = STATE(3235),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(4660),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(8762),
    [anon_sym_yield] = ACTIONS(8764),
    [anon_sym_break] = ACTIONS(8766),
    [anon_sym_next] = ACTIONS(8768),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(8770),
    [anon_sym_defined_QMARK] = ACTIONS(4674),
    [anon_sym_not] = ACTIONS(8772),
    [anon_sym_BANG] = ACTIONS(4680),
    [anon_sym_TILDE] = ACTIONS(4680),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [6344] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(9505),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(3239),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3240),
    [sym__variable] = STATE(3235),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(4660),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(8762),
    [anon_sym_yield] = ACTIONS(8764),
    [anon_sym_break] = ACTIONS(8766),
    [anon_sym_next] = ACTIONS(8768),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(8770),
    [anon_sym_defined_QMARK] = ACTIONS(4674),
    [anon_sym_not] = ACTIONS(8772),
    [anon_sym_BANG] = ACTIONS(4680),
    [anon_sym_TILDE] = ACTIONS(4680),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [6345] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(9506),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(3239),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3240),
    [sym__variable] = STATE(3235),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(4660),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(8762),
    [anon_sym_yield] = ACTIONS(8764),
    [anon_sym_break] = ACTIONS(8766),
    [anon_sym_next] = ACTIONS(8768),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(8770),
    [anon_sym_defined_QMARK] = ACTIONS(4674),
    [anon_sym_not] = ACTIONS(8772),
    [anon_sym_BANG] = ACTIONS(4680),
    [anon_sym_TILDE] = ACTIONS(4680),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [6346] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(9507),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [6347] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(9508),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(3239),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3240),
    [sym__variable] = STATE(3235),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(4660),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(8762),
    [anon_sym_yield] = ACTIONS(8764),
    [anon_sym_break] = ACTIONS(8766),
    [anon_sym_next] = ACTIONS(8768),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(8770),
    [anon_sym_defined_QMARK] = ACTIONS(4674),
    [anon_sym_not] = ACTIONS(8772),
    [anon_sym_BANG] = ACTIONS(4680),
    [anon_sym_TILDE] = ACTIONS(4680),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [6348] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(9509),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(3239),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3240),
    [sym__variable] = STATE(3235),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(4660),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(8762),
    [anon_sym_yield] = ACTIONS(8764),
    [anon_sym_break] = ACTIONS(8766),
    [anon_sym_next] = ACTIONS(8768),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(8770),
    [anon_sym_defined_QMARK] = ACTIONS(4674),
    [anon_sym_not] = ACTIONS(8772),
    [anon_sym_BANG] = ACTIONS(4680),
    [anon_sym_TILDE] = ACTIONS(4680),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [6349] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(9510),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(3239),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3240),
    [sym__variable] = STATE(3235),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(4660),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(8762),
    [anon_sym_yield] = ACTIONS(8764),
    [anon_sym_break] = ACTIONS(8766),
    [anon_sym_next] = ACTIONS(8768),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(8770),
    [anon_sym_defined_QMARK] = ACTIONS(4674),
    [anon_sym_not] = ACTIONS(8772),
    [anon_sym_BANG] = ACTIONS(4680),
    [anon_sym_TILDE] = ACTIONS(4680),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [6350] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(9511),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(3239),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3240),
    [sym__variable] = STATE(3235),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(4660),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(8762),
    [anon_sym_yield] = ACTIONS(8764),
    [anon_sym_break] = ACTIONS(8766),
    [anon_sym_next] = ACTIONS(8768),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(8770),
    [anon_sym_defined_QMARK] = ACTIONS(4674),
    [anon_sym_not] = ACTIONS(8772),
    [anon_sym_BANG] = ACTIONS(4680),
    [anon_sym_TILDE] = ACTIONS(4680),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [6351] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(9512),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(3239),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3240),
    [sym__variable] = STATE(3235),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(4660),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(8762),
    [anon_sym_yield] = ACTIONS(8764),
    [anon_sym_break] = ACTIONS(8766),
    [anon_sym_next] = ACTIONS(8768),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(8770),
    [anon_sym_defined_QMARK] = ACTIONS(4674),
    [anon_sym_not] = ACTIONS(8772),
    [anon_sym_BANG] = ACTIONS(4680),
    [anon_sym_TILDE] = ACTIONS(4680),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [6352] = {
    [sym__statements] = STATE(6330),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(6331),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(841),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(12382),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_PIPE] = ACTIONS(3048),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6353] = {
    [sym__statements] = STATE(6334),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(6335),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1981),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(6336),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(3076),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(3078),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(3080),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(8774),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(3086),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6354] = {
    [sym__element_reference_left_bracket] = ACTIONS(7290),
    [sym__scope_double_colon] = ACTIONS(7290),
    [sym__binary_minus] = ACTIONS(7290),
    [sym__binary_star] = ACTIONS(7290),
    [anon_sym_LBRACE] = ACTIONS(7290),
    [anon_sym_RPAREN] = ACTIONS(7290),
    [anon_sym_DOT] = ACTIONS(7292),
    [anon_sym_COMMA] = ACTIONS(7290),
    [anon_sym_PIPE] = ACTIONS(7292),
    [anon_sym_SEMI] = ACTIONS(7290),
    [anon_sym_STAR_STAR] = ACTIONS(7292),
    [anon_sym_AMP] = ACTIONS(7292),
    [anon_sym_EQ] = ACTIONS(7292),
    [anon_sym_LT] = ACTIONS(7292),
    [anon_sym_do] = ACTIONS(7290),
    [anon_sym_AMP_DOT] = ACTIONS(7290),
    [anon_sym_PLUS_EQ] = ACTIONS(7290),
    [anon_sym_DASH_EQ] = ACTIONS(7290),
    [anon_sym_STAR_EQ] = ACTIONS(7290),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7290),
    [anon_sym_SLASH_EQ] = ACTIONS(7290),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7290),
    [anon_sym_PIPE_EQ] = ACTIONS(7290),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7290),
    [anon_sym_AMP_EQ] = ACTIONS(7290),
    [anon_sym_PERCENT_EQ] = ACTIONS(7290),
    [anon_sym_GT_GT_EQ] = ACTIONS(7290),
    [anon_sym_LT_LT_EQ] = ACTIONS(7290),
    [anon_sym_CARET_EQ] = ACTIONS(7290),
    [anon_sym_QMARK] = ACTIONS(7290),
    [anon_sym_COLON] = ACTIONS(7290),
    [anon_sym_DOT_DOT] = ACTIONS(7292),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7290),
    [anon_sym_and] = ACTIONS(7290),
    [anon_sym_or] = ACTIONS(7290),
    [anon_sym_PIPE_PIPE] = ACTIONS(7292),
    [anon_sym_AMP_AMP] = ACTIONS(7292),
    [anon_sym_LT_LT] = ACTIONS(7292),
    [anon_sym_GT_GT] = ACTIONS(7292),
    [anon_sym_EQ_EQ] = ACTIONS(7292),
    [anon_sym_BANG_EQ] = ACTIONS(7290),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7290),
    [anon_sym_LT_EQ_GT] = ACTIONS(7290),
    [anon_sym_EQ_TILDE] = ACTIONS(7290),
    [anon_sym_BANG_TILDE] = ACTIONS(7290),
    [anon_sym_LT_EQ] = ACTIONS(7292),
    [anon_sym_GT] = ACTIONS(7292),
    [anon_sym_GT_EQ] = ACTIONS(7290),
    [anon_sym_CARET] = ACTIONS(7292),
    [anon_sym_PLUS] = ACTIONS(7292),
    [anon_sym_SLASH] = ACTIONS(7292),
    [anon_sym_PERCENT] = ACTIONS(7292),
    [sym_comment] = ACTIONS(256),
  },
  [6355] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(3234),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(9329),
    [sym_splat_argument] = STATE(2961),
    [sym_hash_splat_argument] = STATE(2961),
    [sym_block_argument] = STATE(2961),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(3239),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3240),
    [sym__variable] = STATE(3235),
    [sym_reserved_identifier] = STATE(3241),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3242),
    [sym_subshell] = STATE(1062),
    [sym_heredoc_end] = STATE(9514),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(2961),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__block_ampersand] = ACTIONS(4656),
    [sym__splat_star] = ACTIONS(4658),
    [sym__unary_minus] = ACTIONS(4660),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(12384),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(4664),
    [anon_sym_yield] = ACTIONS(4666),
    [anon_sym_break] = ACTIONS(4668),
    [anon_sym_next] = ACTIONS(4670),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(8770),
    [anon_sym_defined_QMARK] = ACTIONS(4674),
    [anon_sym_not] = ACTIONS(4676),
    [anon_sym_BANG] = ACTIONS(4680),
    [anon_sym_TILDE] = ACTIONS(4680),
    [sym_constant] = ACTIONS(4682),
    [sym_identifier] = ACTIONS(4682),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [6356] = {
    [sym_heredoc_end] = STATE(6092),
    [aux_sym_argument_list_repeat2] = STATE(9332),
    [sym__simple_heredoc_body] = ACTIONS(8530),
    [sym__heredoc_body_beginning] = ACTIONS(8532),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_LBRACE] = ACTIONS(5472),
    [anon_sym_RPAREN] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(12386),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_STAR_STAR] = ACTIONS(5474),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_EQ] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_do] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_PLUS_EQ] = ACTIONS(5472),
    [anon_sym_DASH_EQ] = ACTIONS(5472),
    [anon_sym_STAR_EQ] = ACTIONS(5472),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5472),
    [anon_sym_SLASH_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5472),
    [anon_sym_AMP_EQ] = ACTIONS(5472),
    [anon_sym_PERCENT_EQ] = ACTIONS(5472),
    [anon_sym_GT_GT_EQ] = ACTIONS(5472),
    [anon_sym_LT_LT_EQ] = ACTIONS(5472),
    [anon_sym_CARET_EQ] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5474),
    [anon_sym_AMP_AMP] = ACTIONS(5474),
    [anon_sym_LT_LT] = ACTIONS(5474),
    [anon_sym_GT_GT] = ACTIONS(5474),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5474),
    [anon_sym_PLUS] = ACTIONS(5474),
    [anon_sym_SLASH] = ACTIONS(5474),
    [anon_sym_PERCENT] = ACTIONS(5474),
    [sym_comment] = ACTIONS(256),
  },
  [6357] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(9516),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_splat_argument] = STATE(6231),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_right_assignment_list] = STATE(6232),
    [sym__arg_or_splat_arg] = STATE(9517),
    [sym_left_assignment_list] = STATE(3239),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3240),
    [sym__variable] = STATE(3235),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__splat_star] = ACTIONS(5416),
    [sym__unary_minus] = ACTIONS(4660),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(8762),
    [anon_sym_yield] = ACTIONS(8764),
    [anon_sym_break] = ACTIONS(8766),
    [anon_sym_next] = ACTIONS(8768),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(8770),
    [anon_sym_defined_QMARK] = ACTIONS(4674),
    [anon_sym_not] = ACTIONS(8772),
    [anon_sym_BANG] = ACTIONS(4680),
    [anon_sym_TILDE] = ACTIONS(4680),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [6358] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(9518),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(3239),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3240),
    [sym__variable] = STATE(3235),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(4660),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(8762),
    [anon_sym_yield] = ACTIONS(8764),
    [anon_sym_break] = ACTIONS(8766),
    [anon_sym_next] = ACTIONS(8768),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(8770),
    [anon_sym_defined_QMARK] = ACTIONS(4674),
    [anon_sym_not] = ACTIONS(8772),
    [anon_sym_BANG] = ACTIONS(4680),
    [anon_sym_TILDE] = ACTIONS(4680),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [6359] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(9519),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6321),
    [sym_call] = STATE(6321),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(6322),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6323),
    [sym__variable] = STATE(6321),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(8744),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(8746),
    [anon_sym_yield] = ACTIONS(8748),
    [anon_sym_break] = ACTIONS(8750),
    [anon_sym_next] = ACTIONS(8752),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(8754),
    [anon_sym_defined_QMARK] = ACTIONS(8756),
    [anon_sym_not] = ACTIONS(8758),
    [anon_sym_BANG] = ACTIONS(8760),
    [anon_sym_TILDE] = ACTIONS(8760),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [6360] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(9520),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(1139),
    [sym_call] = STATE(1139),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(6367),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6368),
    [sym__variable] = STATE(1139),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(8822),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_yield] = ACTIONS(1828),
    [anon_sym_break] = ACTIONS(1830),
    [anon_sym_next] = ACTIONS(1832),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(8824),
    [anon_sym_defined_QMARK] = ACTIONS(8826),
    [anon_sym_not] = ACTIONS(8828),
    [anon_sym_BANG] = ACTIONS(8830),
    [anon_sym_TILDE] = ACTIONS(8830),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [6361] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(9521),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(1139),
    [sym_call] = STATE(1139),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(6367),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6368),
    [sym__variable] = STATE(1139),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(8822),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_yield] = ACTIONS(1828),
    [anon_sym_break] = ACTIONS(1830),
    [anon_sym_next] = ACTIONS(1832),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(8824),
    [anon_sym_defined_QMARK] = ACTIONS(8826),
    [anon_sym_not] = ACTIONS(8828),
    [anon_sym_BANG] = ACTIONS(8830),
    [anon_sym_TILDE] = ACTIONS(8830),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [6362] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(9522),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(1139),
    [sym_call] = STATE(1139),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(6367),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6368),
    [sym__variable] = STATE(1139),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(8822),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_yield] = ACTIONS(1828),
    [anon_sym_break] = ACTIONS(1830),
    [anon_sym_next] = ACTIONS(1832),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(8824),
    [anon_sym_defined_QMARK] = ACTIONS(8826),
    [anon_sym_not] = ACTIONS(8828),
    [anon_sym_BANG] = ACTIONS(8830),
    [anon_sym_TILDE] = ACTIONS(8830),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [6363] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(9523),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(1139),
    [sym_call] = STATE(1139),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(6367),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6368),
    [sym__variable] = STATE(1139),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(8822),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_yield] = ACTIONS(1828),
    [anon_sym_break] = ACTIONS(1830),
    [anon_sym_next] = ACTIONS(1832),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(8824),
    [anon_sym_defined_QMARK] = ACTIONS(8826),
    [anon_sym_not] = ACTIONS(8828),
    [anon_sym_BANG] = ACTIONS(8830),
    [anon_sym_TILDE] = ACTIONS(8830),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [6364] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(1027),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(1139),
    [sym_call] = STATE(1139),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(6367),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6368),
    [sym__variable] = STATE(1139),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(8822),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_yield] = ACTIONS(1828),
    [anon_sym_break] = ACTIONS(1830),
    [anon_sym_next] = ACTIONS(1832),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(8824),
    [anon_sym_defined_QMARK] = ACTIONS(8826),
    [anon_sym_not] = ACTIONS(8828),
    [anon_sym_BANG] = ACTIONS(8830),
    [anon_sym_TILDE] = ACTIONS(8830),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [6365] = {
    [sym__binary_minus] = ACTIONS(12388),
    [sym__binary_star] = ACTIONS(12390),
    [anon_sym_RPAREN] = ACTIONS(6346),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(12392),
    [anon_sym_STAR_STAR] = ACTIONS(12394),
    [anon_sym_AMP] = ACTIONS(12396),
    [anon_sym_LT] = ACTIONS(12398),
    [anon_sym_QMARK] = ACTIONS(12400),
    [anon_sym_DOT_DOT] = ACTIONS(12402),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12404),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(12406),
    [anon_sym_AMP_AMP] = ACTIONS(12406),
    [anon_sym_LT_LT] = ACTIONS(12408),
    [anon_sym_GT_GT] = ACTIONS(12408),
    [anon_sym_EQ_EQ] = ACTIONS(12410),
    [anon_sym_BANG_EQ] = ACTIONS(12406),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12406),
    [anon_sym_LT_EQ_GT] = ACTIONS(12406),
    [anon_sym_EQ_TILDE] = ACTIONS(12406),
    [anon_sym_BANG_TILDE] = ACTIONS(12406),
    [anon_sym_LT_EQ] = ACTIONS(12398),
    [anon_sym_GT] = ACTIONS(12398),
    [anon_sym_GT_EQ] = ACTIONS(12412),
    [anon_sym_CARET] = ACTIONS(12414),
    [anon_sym_PLUS] = ACTIONS(12416),
    [anon_sym_SLASH] = ACTIONS(12394),
    [anon_sym_PERCENT] = ACTIONS(12394),
    [sym_comment] = ACTIONS(110),
  },
  [6366] = {
    [aux_sym_exceptions_repeat1] = STATE(9537),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_RPAREN] = ACTIONS(7330),
    [anon_sym_COMMA] = ACTIONS(12418),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [6367] = {
    [anon_sym_EQ] = ACTIONS(12420),
    [sym_comment] = ACTIONS(256),
  },
  [6368] = {
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_RPAREN] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(12422),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(12424),
    [anon_sym_DASH_EQ] = ACTIONS(12424),
    [anon_sym_STAR_EQ] = ACTIONS(12424),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(12424),
    [anon_sym_SLASH_EQ] = ACTIONS(12424),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(12424),
    [anon_sym_PIPE_EQ] = ACTIONS(12424),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(12424),
    [anon_sym_AMP_EQ] = ACTIONS(12424),
    [anon_sym_PERCENT_EQ] = ACTIONS(12424),
    [anon_sym_GT_GT_EQ] = ACTIONS(12424),
    [anon_sym_LT_LT_EQ] = ACTIONS(12424),
    [anon_sym_CARET_EQ] = ACTIONS(12424),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [6369] = {
    [sym__binary_minus] = ACTIONS(4614),
    [sym__binary_star] = ACTIONS(4616),
    [anon_sym_RPAREN] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(4620),
    [anon_sym_STAR_STAR] = ACTIONS(4622),
    [anon_sym_AMP] = ACTIONS(4624),
    [anon_sym_LT] = ACTIONS(4626),
    [anon_sym_QMARK] = ACTIONS(4628),
    [anon_sym_DOT_DOT] = ACTIONS(4630),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4632),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(4636),
    [anon_sym_AMP_AMP] = ACTIONS(4636),
    [anon_sym_LT_LT] = ACTIONS(4638),
    [anon_sym_GT_GT] = ACTIONS(4638),
    [anon_sym_EQ_EQ] = ACTIONS(4640),
    [anon_sym_BANG_EQ] = ACTIONS(4636),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4636),
    [anon_sym_LT_EQ_GT] = ACTIONS(4636),
    [anon_sym_EQ_TILDE] = ACTIONS(4636),
    [anon_sym_BANG_TILDE] = ACTIONS(4636),
    [anon_sym_LT_EQ] = ACTIONS(4626),
    [anon_sym_GT] = ACTIONS(4626),
    [anon_sym_GT_EQ] = ACTIONS(4642),
    [anon_sym_CARET] = ACTIONS(4644),
    [anon_sym_PLUS] = ACTIONS(4646),
    [anon_sym_SLASH] = ACTIONS(4622),
    [anon_sym_PERCENT] = ACTIONS(4622),
    [sym_comment] = ACTIONS(110),
  },
  [6370] = {
    [sym__simple_string] = ACTIONS(12426),
    [sym__simple_symbol] = ACTIONS(12426),
    [sym__simple_subshell] = ACTIONS(12426),
    [sym__simple_regex] = ACTIONS(12426),
    [sym__simple_word_list] = ACTIONS(12426),
    [sym__string_beginning] = ACTIONS(12426),
    [sym__symbol_beginning] = ACTIONS(12426),
    [sym__subshell_beginning] = ACTIONS(12426),
    [sym__regex_beginning] = ACTIONS(12426),
    [sym__word_list_beginning] = ACTIONS(12426),
    [sym_heredoc_beginning] = ACTIONS(12426),
    [sym__unary_minus] = ACTIONS(12426),
    [anon_sym_BEGIN] = ACTIONS(12428),
    [anon_sym_LBRACE] = ACTIONS(12426),
    [anon_sym_END] = ACTIONS(12428),
    [anon_sym_def] = ACTIONS(12428),
    [anon_sym_LPAREN] = ACTIONS(12426),
    [anon_sym_COLON_COLON] = ACTIONS(12426),
    [anon_sym_end] = ACTIONS(12428),
    [anon_sym_SEMI] = ACTIONS(12426),
    [anon_sym_STAR] = ACTIONS(12426),
    [anon_sym_class] = ACTIONS(12428),
    [anon_sym_module] = ACTIONS(12428),
    [anon_sym_return] = ACTIONS(12428),
    [anon_sym_yield] = ACTIONS(12428),
    [anon_sym_break] = ACTIONS(12428),
    [anon_sym_next] = ACTIONS(12428),
    [anon_sym_redo] = ACTIONS(12428),
    [anon_sym_retry] = ACTIONS(12428),
    [anon_sym_if] = ACTIONS(12428),
    [anon_sym_unless] = ACTIONS(12428),
    [anon_sym_while] = ACTIONS(12428),
    [anon_sym_until] = ACTIONS(12428),
    [anon_sym_rescue] = ACTIONS(12428),
    [anon_sym_for] = ACTIONS(12428),
    [anon_sym_case] = ACTIONS(12428),
    [anon_sym_else] = ACTIONS(12428),
    [anon_sym_begin] = ACTIONS(12428),
    [anon_sym_ensure] = ACTIONS(12428),
    [anon_sym_PLUS] = ACTIONS(12428),
    [anon_sym_defined_QMARK] = ACTIONS(12426),
    [anon_sym_not] = ACTIONS(12428),
    [anon_sym_BANG] = ACTIONS(12426),
    [anon_sym_TILDE] = ACTIONS(12426),
    [sym_constant] = ACTIONS(12430),
    [sym_identifier] = ACTIONS(12430),
    [sym_instance_variable] = ACTIONS(12428),
    [sym_class_variable] = ACTIONS(12428),
    [sym_global_variable] = ACTIONS(12428),
    [anon_sym_alias] = ACTIONS(12428),
    [anon_sym_false] = ACTIONS(12428),
    [anon_sym_nil] = ACTIONS(12428),
    [anon_sym_self] = ACTIONS(12428),
    [anon_sym_super] = ACTIONS(12428),
    [anon_sym_true] = ACTIONS(12428),
    [anon_sym_undef] = ACTIONS(12428),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(12428),
    [sym_float] = ACTIONS(12430),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(12426),
    [anon_sym_TRUE] = ACTIONS(12428),
    [anon_sym_FALSE] = ACTIONS(12428),
    [anon_sym_NIL] = ACTIONS(12428),
    [sym_keyword__FILE__] = ACTIONS(12428),
    [sym_keyword__LINE__] = ACTIONS(12428),
    [sym_keyword__ENCODING__] = ACTIONS(12428),
    [sym__character_literal] = ACTIONS(12428),
    [anon_sym_LBRACK] = ACTIONS(12426),
    [anon_sym_DASH_GT] = ACTIONS(12426),
  },
  [6371] = {
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(9540),
    [sym__simple_string] = ACTIONS(12426),
    [sym__simple_symbol] = ACTIONS(12426),
    [sym__simple_subshell] = ACTIONS(12426),
    [sym__simple_regex] = ACTIONS(12426),
    [sym__simple_word_list] = ACTIONS(12426),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(12426),
    [sym__symbol_beginning] = ACTIONS(12426),
    [sym__subshell_beginning] = ACTIONS(12426),
    [sym__regex_beginning] = ACTIONS(12426),
    [sym__word_list_beginning] = ACTIONS(12426),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(12426),
    [sym__line_break] = ACTIONS(692),
    [sym__unary_minus] = ACTIONS(12426),
    [anon_sym_BEGIN] = ACTIONS(12428),
    [anon_sym_LBRACE] = ACTIONS(12426),
    [anon_sym_END] = ACTIONS(12428),
    [anon_sym_def] = ACTIONS(12428),
    [anon_sym_LPAREN] = ACTIONS(12426),
    [anon_sym_COLON_COLON] = ACTIONS(12426),
    [anon_sym_end] = ACTIONS(12428),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(12426),
    [anon_sym_class] = ACTIONS(12428),
    [anon_sym_module] = ACTIONS(12428),
    [anon_sym_return] = ACTIONS(12428),
    [anon_sym_yield] = ACTIONS(12428),
    [anon_sym_break] = ACTIONS(12428),
    [anon_sym_next] = ACTIONS(12428),
    [anon_sym_redo] = ACTIONS(12428),
    [anon_sym_retry] = ACTIONS(12428),
    [anon_sym_if] = ACTIONS(12428),
    [anon_sym_unless] = ACTIONS(12428),
    [anon_sym_while] = ACTIONS(12428),
    [anon_sym_until] = ACTIONS(12428),
    [anon_sym_rescue] = ACTIONS(12428),
    [anon_sym_for] = ACTIONS(12428),
    [anon_sym_case] = ACTIONS(12428),
    [anon_sym_else] = ACTIONS(12428),
    [anon_sym_begin] = ACTIONS(12428),
    [anon_sym_ensure] = ACTIONS(12428),
    [anon_sym_PLUS] = ACTIONS(12428),
    [anon_sym_defined_QMARK] = ACTIONS(12426),
    [anon_sym_not] = ACTIONS(12428),
    [anon_sym_BANG] = ACTIONS(12426),
    [anon_sym_TILDE] = ACTIONS(12426),
    [sym_constant] = ACTIONS(12430),
    [sym_identifier] = ACTIONS(12430),
    [sym_instance_variable] = ACTIONS(12428),
    [sym_class_variable] = ACTIONS(12428),
    [sym_global_variable] = ACTIONS(12428),
    [anon_sym_alias] = ACTIONS(12428),
    [anon_sym_false] = ACTIONS(12428),
    [anon_sym_nil] = ACTIONS(12428),
    [anon_sym_self] = ACTIONS(12428),
    [anon_sym_super] = ACTIONS(12428),
    [anon_sym_true] = ACTIONS(12428),
    [anon_sym_undef] = ACTIONS(12428),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(12428),
    [sym_float] = ACTIONS(12430),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(12426),
    [anon_sym_TRUE] = ACTIONS(12428),
    [anon_sym_FALSE] = ACTIONS(12428),
    [anon_sym_NIL] = ACTIONS(12428),
    [sym_keyword__FILE__] = ACTIONS(12428),
    [sym_keyword__LINE__] = ACTIONS(12428),
    [sym_keyword__ENCODING__] = ACTIONS(12428),
    [sym__character_literal] = ACTIONS(12428),
    [anon_sym_LBRACK] = ACTIONS(12426),
    [anon_sym_DASH_GT] = ACTIONS(12426),
  },
  [6372] = {
    [anon_sym_RPAREN] = ACTIONS(12432),
    [anon_sym_COMMA] = ACTIONS(11076),
    [sym_comment] = ACTIONS(110),
  },
  [6373] = {
    [sym__statements] = STATE(9543),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(9544),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(841),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(12434),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_PIPE] = ACTIONS(3048),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6374] = {
    [sym__statements] = STATE(9546),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(9547),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1981),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(9548),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(3076),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(3078),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(3080),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(12436),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(3086),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6375] = {
    [sym_do_block] = STATE(9549),
    [sym_block] = STATE(9549),
    [anon_sym_LBRACE] = ACTIONS(8844),
    [anon_sym_do] = ACTIONS(12438),
    [sym_comment] = ACTIONS(110),
  },
  [6376] = {
    [sym__simple_heredoc_body] = ACTIONS(3100),
    [sym__heredoc_body_beginning] = ACTIONS(3100),
    [sym__line_break] = ACTIONS(3100),
    [anon_sym_COMMA] = ACTIONS(3100),
    [anon_sym_SEMI] = ACTIONS(3100),
    [sym_comment] = ACTIONS(110),
  },
  [6377] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9550),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(6382),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6383),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(8848),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(8850),
    [anon_sym_defined_QMARK] = ACTIONS(8852),
    [anon_sym_not] = ACTIONS(8854),
    [anon_sym_BANG] = ACTIONS(8856),
    [anon_sym_TILDE] = ACTIONS(8856),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6378] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9551),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(6382),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6383),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(8848),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(8850),
    [anon_sym_defined_QMARK] = ACTIONS(8852),
    [anon_sym_not] = ACTIONS(8854),
    [anon_sym_BANG] = ACTIONS(8856),
    [anon_sym_TILDE] = ACTIONS(8856),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6379] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9552),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(6382),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6383),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(8848),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(8850),
    [anon_sym_defined_QMARK] = ACTIONS(8852),
    [anon_sym_not] = ACTIONS(8854),
    [anon_sym_BANG] = ACTIONS(8856),
    [anon_sym_TILDE] = ACTIONS(8856),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6380] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(434),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(6382),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6383),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(8848),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(8850),
    [anon_sym_defined_QMARK] = ACTIONS(8852),
    [anon_sym_not] = ACTIONS(8854),
    [anon_sym_BANG] = ACTIONS(8856),
    [anon_sym_TILDE] = ACTIONS(8856),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6381] = {
    [sym__simple_heredoc_body] = ACTIONS(11106),
    [sym__heredoc_body_beginning] = ACTIONS(11106),
    [sym__line_break] = ACTIONS(11106),
    [sym__binary_minus] = ACTIONS(12440),
    [sym__binary_star] = ACTIONS(12442),
    [anon_sym_COMMA] = ACTIONS(11106),
    [anon_sym_PIPE] = ACTIONS(12444),
    [anon_sym_SEMI] = ACTIONS(11106),
    [anon_sym_STAR_STAR] = ACTIONS(12446),
    [anon_sym_AMP] = ACTIONS(12448),
    [anon_sym_LT] = ACTIONS(12450),
    [anon_sym_QMARK] = ACTIONS(12452),
    [anon_sym_DOT_DOT] = ACTIONS(12454),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12456),
    [anon_sym_and] = ACTIONS(12458),
    [anon_sym_or] = ACTIONS(12458),
    [anon_sym_PIPE_PIPE] = ACTIONS(12460),
    [anon_sym_AMP_AMP] = ACTIONS(12460),
    [anon_sym_LT_LT] = ACTIONS(12462),
    [anon_sym_GT_GT] = ACTIONS(12462),
    [anon_sym_EQ_EQ] = ACTIONS(12464),
    [anon_sym_BANG_EQ] = ACTIONS(12460),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12460),
    [anon_sym_LT_EQ_GT] = ACTIONS(12460),
    [anon_sym_EQ_TILDE] = ACTIONS(12460),
    [anon_sym_BANG_TILDE] = ACTIONS(12460),
    [anon_sym_LT_EQ] = ACTIONS(12450),
    [anon_sym_GT] = ACTIONS(12450),
    [anon_sym_GT_EQ] = ACTIONS(12466),
    [anon_sym_CARET] = ACTIONS(12468),
    [anon_sym_PLUS] = ACTIONS(12470),
    [anon_sym_SLASH] = ACTIONS(12446),
    [anon_sym_PERCENT] = ACTIONS(12446),
    [sym_comment] = ACTIONS(110),
  },
  [6382] = {
    [anon_sym_EQ] = ACTIONS(12472),
    [sym_comment] = ACTIONS(256),
  },
  [6383] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(12474),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(12476),
    [anon_sym_DASH_EQ] = ACTIONS(12476),
    [anon_sym_STAR_EQ] = ACTIONS(12476),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(12476),
    [anon_sym_SLASH_EQ] = ACTIONS(12476),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(12476),
    [anon_sym_PIPE_EQ] = ACTIONS(12476),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(12476),
    [anon_sym_AMP_EQ] = ACTIONS(12476),
    [anon_sym_PERCENT_EQ] = ACTIONS(12476),
    [anon_sym_GT_GT_EQ] = ACTIONS(12476),
    [anon_sym_LT_LT_EQ] = ACTIONS(12476),
    [anon_sym_CARET_EQ] = ACTIONS(12476),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [6384] = {
    [sym__simple_heredoc_body] = ACTIONS(11142),
    [sym__heredoc_body_beginning] = ACTIONS(11142),
    [sym__line_break] = ACTIONS(11142),
    [sym__binary_minus] = ACTIONS(12440),
    [sym__binary_star] = ACTIONS(12442),
    [anon_sym_COMMA] = ACTIONS(11142),
    [anon_sym_PIPE] = ACTIONS(12444),
    [anon_sym_SEMI] = ACTIONS(11142),
    [anon_sym_STAR_STAR] = ACTIONS(12446),
    [anon_sym_AMP] = ACTIONS(12448),
    [anon_sym_LT] = ACTIONS(12450),
    [anon_sym_QMARK] = ACTIONS(12452),
    [anon_sym_DOT_DOT] = ACTIONS(12454),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12456),
    [anon_sym_and] = ACTIONS(12458),
    [anon_sym_or] = ACTIONS(12458),
    [anon_sym_PIPE_PIPE] = ACTIONS(12460),
    [anon_sym_AMP_AMP] = ACTIONS(12460),
    [anon_sym_LT_LT] = ACTIONS(12462),
    [anon_sym_GT_GT] = ACTIONS(12462),
    [anon_sym_EQ_EQ] = ACTIONS(12464),
    [anon_sym_BANG_EQ] = ACTIONS(12460),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12460),
    [anon_sym_LT_EQ_GT] = ACTIONS(12460),
    [anon_sym_EQ_TILDE] = ACTIONS(12460),
    [anon_sym_BANG_TILDE] = ACTIONS(12460),
    [anon_sym_LT_EQ] = ACTIONS(12450),
    [anon_sym_GT] = ACTIONS(12450),
    [anon_sym_GT_EQ] = ACTIONS(12466),
    [anon_sym_CARET] = ACTIONS(12468),
    [anon_sym_PLUS] = ACTIONS(12470),
    [anon_sym_SLASH] = ACTIONS(12446),
    [anon_sym_PERCENT] = ACTIONS(12446),
    [sym_comment] = ACTIONS(110),
  },
  [6385] = {
    [sym__simple_heredoc_body] = ACTIONS(12478),
    [sym__heredoc_body_beginning] = ACTIONS(12478),
    [sym__line_break] = ACTIONS(12478),
    [sym__element_reference_left_bracket] = ACTIONS(12478),
    [sym__scope_double_colon] = ACTIONS(12478),
    [sym__binary_minus] = ACTIONS(12478),
    [sym__binary_star] = ACTIONS(12478),
    [ts_builtin_sym_end] = ACTIONS(12478),
    [anon_sym___END__] = ACTIONS(12478),
    [anon_sym_LBRACE] = ACTIONS(12478),
    [anon_sym_RBRACE] = ACTIONS(12478),
    [anon_sym_RPAREN] = ACTIONS(12478),
    [anon_sym_DOT] = ACTIONS(12480),
    [anon_sym_end] = ACTIONS(12478),
    [anon_sym_COMMA] = ACTIONS(12478),
    [anon_sym_PIPE] = ACTIONS(12480),
    [anon_sym_SEMI] = ACTIONS(12478),
    [anon_sym_STAR_STAR] = ACTIONS(12478),
    [anon_sym_AMP] = ACTIONS(12480),
    [anon_sym_LT] = ACTIONS(12480),
    [anon_sym_if] = ACTIONS(12478),
    [anon_sym_unless] = ACTIONS(12478),
    [anon_sym_while] = ACTIONS(12478),
    [anon_sym_until] = ACTIONS(12478),
    [anon_sym_rescue] = ACTIONS(12478),
    [anon_sym_do] = ACTIONS(12478),
    [anon_sym_when] = ACTIONS(12478),
    [anon_sym_elsif] = ACTIONS(12478),
    [anon_sym_else] = ACTIONS(12478),
    [anon_sym_then] = ACTIONS(12478),
    [anon_sym_ensure] = ACTIONS(12478),
    [anon_sym_EQ_GT] = ACTIONS(12478),
    [anon_sym_AMP_DOT] = ACTIONS(12478),
    [anon_sym_QMARK] = ACTIONS(12478),
    [anon_sym_DOT_DOT] = ACTIONS(12480),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12478),
    [anon_sym_and] = ACTIONS(12478),
    [anon_sym_or] = ACTIONS(12478),
    [anon_sym_PIPE_PIPE] = ACTIONS(12478),
    [anon_sym_AMP_AMP] = ACTIONS(12478),
    [anon_sym_LT_LT] = ACTIONS(12478),
    [anon_sym_GT_GT] = ACTIONS(12478),
    [anon_sym_EQ_EQ] = ACTIONS(12480),
    [anon_sym_BANG_EQ] = ACTIONS(12478),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12478),
    [anon_sym_LT_EQ_GT] = ACTIONS(12478),
    [anon_sym_EQ_TILDE] = ACTIONS(12478),
    [anon_sym_BANG_TILDE] = ACTIONS(12478),
    [anon_sym_LT_EQ] = ACTIONS(12480),
    [anon_sym_GT] = ACTIONS(12480),
    [anon_sym_GT_EQ] = ACTIONS(12478),
    [anon_sym_CARET] = ACTIONS(12478),
    [anon_sym_PLUS] = ACTIONS(12478),
    [anon_sym_SLASH] = ACTIONS(12478),
    [anon_sym_PERCENT] = ACTIONS(12478),
    [sym_comment] = ACTIONS(110),
  },
  [6386] = {
    [sym__formal_parameter] = STATE(9567),
    [sym__simple_formal_parameter] = STATE(1974),
    [sym_destructured_parameter] = STATE(1974),
    [sym_splat_parameter] = STATE(523),
    [sym_hash_splat_parameter] = STATE(523),
    [sym_block_parameter] = STATE(523),
    [sym_keyword_parameter] = STATE(523),
    [sym_optional_parameter] = STATE(523),
    [anon_sym_LPAREN] = ACTIONS(3050),
    [anon_sym_STAR] = ACTIONS(3054),
    [anon_sym_STAR_STAR] = ACTIONS(3056),
    [anon_sym_AMP] = ACTIONS(902),
    [sym_identifier] = ACTIONS(3058),
    [sym_comment] = ACTIONS(110),
  },
  [6387] = {
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(9540),
    [aux_sym_method_parameters_repeat1] = STATE(9569),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym__line_break] = ACTIONS(692),
    [anon_sym_COMMA] = ACTIONS(12482),
    [anon_sym_SEMI] = ACTIONS(692),
    [sym_comment] = ACTIONS(110),
  },
  [6388] = {
    [sym__simple_heredoc_body] = ACTIONS(6930),
    [sym__heredoc_body_beginning] = ACTIONS(6930),
    [sym__line_break] = ACTIONS(6930),
    [anon_sym_COMMA] = ACTIONS(6930),
    [anon_sym_SEMI] = ACTIONS(6930),
    [sym_comment] = ACTIONS(110),
  },
  [6389] = {
    [sym_method] = STATE(3490),
    [sym_singleton_method] = STATE(3490),
    [sym_class] = STATE(3490),
    [sym_singleton_class] = STATE(3490),
    [sym_module] = STATE(3490),
    [sym_return] = STATE(3490),
    [sym_yield] = STATE(3490),
    [sym_break] = STATE(3490),
    [sym_next] = STATE(3490),
    [sym_redo] = STATE(3490),
    [sym_retry] = STATE(3490),
    [sym_while] = STATE(3490),
    [sym_until] = STATE(3490),
    [sym_for] = STATE(3490),
    [sym_case] = STATE(3490),
    [sym_if] = STATE(3490),
    [sym_unless] = STATE(3490),
    [sym_begin] = STATE(3490),
    [sym__arg] = STATE(9570),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(3490),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6321),
    [sym_call] = STATE(6321),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(3519),
    [sym_operator_assignment] = STATE(3519),
    [sym_conditional] = STATE(3519),
    [sym_range] = STATE(3519),
    [sym_binary] = STATE(3519),
    [sym_unary] = STATE(3519),
    [sym_left_assignment_list] = STATE(6398),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6399),
    [sym__variable] = STATE(6321),
    [sym_symbol] = STATE(3490),
    [sym_complex] = STATE(3490),
    [sym_rational] = STATE(3490),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(3490),
    [sym_string] = STATE(3522),
    [sym_subshell] = STATE(3490),
    [sym_array] = STATE(3490),
    [sym_hash] = STATE(3490),
    [sym_regex] = STATE(3490),
    [sym_lambda] = STATE(3490),
    [sym__simple_string] = ACTIONS(5000),
    [sym__simple_symbol] = ACTIONS(5002),
    [sym__simple_subshell] = ACTIONS(5004),
    [sym__simple_regex] = ACTIONS(5006),
    [sym__simple_word_list] = ACTIONS(5008),
    [sym__string_beginning] = ACTIONS(5010),
    [sym__symbol_beginning] = ACTIONS(5012),
    [sym__subshell_beginning] = ACTIONS(5014),
    [sym__regex_beginning] = ACTIONS(5016),
    [sym__word_list_beginning] = ACTIONS(5018),
    [sym_heredoc_beginning] = ACTIONS(5020),
    [sym__unary_minus] = ACTIONS(8866),
    [anon_sym_LBRACE] = ACTIONS(5024),
    [anon_sym_def] = ACTIONS(5026),
    [anon_sym_LPAREN] = ACTIONS(5028),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(5030),
    [anon_sym_module] = ACTIONS(5032),
    [anon_sym_return] = ACTIONS(8868),
    [anon_sym_yield] = ACTIONS(8870),
    [anon_sym_break] = ACTIONS(8872),
    [anon_sym_next] = ACTIONS(8874),
    [anon_sym_redo] = ACTIONS(5042),
    [anon_sym_retry] = ACTIONS(5044),
    [anon_sym_if] = ACTIONS(5046),
    [anon_sym_unless] = ACTIONS(5048),
    [anon_sym_while] = ACTIONS(5050),
    [anon_sym_until] = ACTIONS(5052),
    [anon_sym_for] = ACTIONS(5054),
    [anon_sym_case] = ACTIONS(5056),
    [anon_sym_begin] = ACTIONS(5058),
    [anon_sym_PLUS] = ACTIONS(8876),
    [anon_sym_defined_QMARK] = ACTIONS(8878),
    [anon_sym_not] = ACTIONS(8880),
    [anon_sym_BANG] = ACTIONS(8882),
    [anon_sym_TILDE] = ACTIONS(8882),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5068),
    [sym_float] = ACTIONS(5070),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5072),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(5074),
    [sym_keyword__LINE__] = ACTIONS(5074),
    [sym_keyword__ENCODING__] = ACTIONS(5074),
    [sym__character_literal] = ACTIONS(5076),
    [anon_sym_LBRACK] = ACTIONS(5078),
    [anon_sym_DASH_GT] = ACTIONS(5080),
  },
  [6390] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9575),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(6669),
    [sym__argument_list_with_parens] = STATE(6670),
    [sym__argument] = STATE(9576),
    [sym_splat_argument] = STATE(6672),
    [sym_hash_splat_argument] = STATE(6672),
    [sym_block_argument] = STATE(6672),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3274),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3275),
    [sym__variable] = STATE(3235),
    [sym_reserved_identifier] = STATE(9577),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(9578),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(6672),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(12484),
    [sym__splat_star] = ACTIONS(12486),
    [sym__argument_list_left_paren] = ACTIONS(9202),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(4720),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(532),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(4724),
    [anon_sym_yield] = ACTIONS(4726),
    [anon_sym_break] = ACTIONS(4728),
    [anon_sym_next] = ACTIONS(4730),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(4734),
    [anon_sym_not] = ACTIONS(4736),
    [anon_sym_BANG] = ACTIONS(8898),
    [anon_sym_TILDE] = ACTIONS(4738),
    [sym_constant] = ACTIONS(12488),
    [sym_identifier] = ACTIONS(12488),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6391] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9575),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(6675),
    [sym__argument_list_with_parens] = STATE(6670),
    [sym__argument] = STATE(9576),
    [sym_splat_argument] = STATE(6672),
    [sym_hash_splat_argument] = STATE(6672),
    [sym_block_argument] = STATE(6672),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3274),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3275),
    [sym__variable] = STATE(3235),
    [sym_reserved_identifier] = STATE(9577),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(9578),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(6672),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(12484),
    [sym__splat_star] = ACTIONS(12486),
    [sym__argument_list_left_paren] = ACTIONS(9202),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(4720),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(602),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(4724),
    [anon_sym_yield] = ACTIONS(4726),
    [anon_sym_break] = ACTIONS(4728),
    [anon_sym_next] = ACTIONS(4730),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(4734),
    [anon_sym_not] = ACTIONS(4736),
    [anon_sym_BANG] = ACTIONS(8898),
    [anon_sym_TILDE] = ACTIONS(4738),
    [sym_constant] = ACTIONS(12488),
    [sym_identifier] = ACTIONS(12488),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6392] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9575),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(6676),
    [sym__argument_list_with_parens] = STATE(6670),
    [sym__argument] = STATE(9576),
    [sym_splat_argument] = STATE(6672),
    [sym_hash_splat_argument] = STATE(6672),
    [sym_block_argument] = STATE(6672),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3274),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3275),
    [sym__variable] = STATE(3235),
    [sym_reserved_identifier] = STATE(9577),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(9578),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(6672),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(12484),
    [sym__splat_star] = ACTIONS(12486),
    [sym__argument_list_left_paren] = ACTIONS(9202),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(4720),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(606),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(4724),
    [anon_sym_yield] = ACTIONS(4726),
    [anon_sym_break] = ACTIONS(4728),
    [anon_sym_next] = ACTIONS(4730),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(4734),
    [anon_sym_not] = ACTIONS(4736),
    [anon_sym_BANG] = ACTIONS(8898),
    [anon_sym_TILDE] = ACTIONS(4738),
    [sym_constant] = ACTIONS(12488),
    [sym_identifier] = ACTIONS(12488),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6393] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9575),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(6677),
    [sym__argument_list_with_parens] = STATE(6670),
    [sym__argument] = STATE(9576),
    [sym_splat_argument] = STATE(6672),
    [sym_hash_splat_argument] = STATE(6672),
    [sym_block_argument] = STATE(6672),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3274),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3275),
    [sym__variable] = STATE(3235),
    [sym_reserved_identifier] = STATE(9577),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(9578),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(6672),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(12484),
    [sym__splat_star] = ACTIONS(12486),
    [sym__argument_list_left_paren] = ACTIONS(9202),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(4720),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(610),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(4724),
    [anon_sym_yield] = ACTIONS(4726),
    [anon_sym_break] = ACTIONS(4728),
    [anon_sym_next] = ACTIONS(4730),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(4734),
    [anon_sym_not] = ACTIONS(4736),
    [anon_sym_BANG] = ACTIONS(8898),
    [anon_sym_TILDE] = ACTIONS(4738),
    [sym_constant] = ACTIONS(12488),
    [sym_identifier] = ACTIONS(12488),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6394] = {
    [sym_method] = STATE(3490),
    [sym_singleton_method] = STATE(3490),
    [sym_class] = STATE(3490),
    [sym_singleton_class] = STATE(3490),
    [sym_module] = STATE(3490),
    [sym_return] = STATE(3490),
    [sym_yield] = STATE(3490),
    [sym_break] = STATE(3490),
    [sym_next] = STATE(3490),
    [sym_redo] = STATE(3490),
    [sym_retry] = STATE(3490),
    [sym_while] = STATE(3490),
    [sym_until] = STATE(3490),
    [sym_for] = STATE(3490),
    [sym_case] = STATE(3490),
    [sym_if] = STATE(3490),
    [sym_unless] = STATE(3490),
    [sym_begin] = STATE(3490),
    [sym__arg] = STATE(9579),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(3490),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6321),
    [sym_call] = STATE(6321),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(3519),
    [sym_operator_assignment] = STATE(3519),
    [sym_conditional] = STATE(3519),
    [sym_range] = STATE(3519),
    [sym_binary] = STATE(3519),
    [sym_unary] = STATE(3519),
    [sym_left_assignment_list] = STATE(6398),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6399),
    [sym__variable] = STATE(6321),
    [sym_symbol] = STATE(3490),
    [sym_complex] = STATE(3490),
    [sym_rational] = STATE(3490),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(3490),
    [sym_string] = STATE(3522),
    [sym_subshell] = STATE(3490),
    [sym_array] = STATE(3490),
    [sym_hash] = STATE(3490),
    [sym_regex] = STATE(3490),
    [sym_lambda] = STATE(3490),
    [sym__simple_string] = ACTIONS(5000),
    [sym__simple_symbol] = ACTIONS(5002),
    [sym__simple_subshell] = ACTIONS(5004),
    [sym__simple_regex] = ACTIONS(5006),
    [sym__simple_word_list] = ACTIONS(5008),
    [sym__string_beginning] = ACTIONS(5010),
    [sym__symbol_beginning] = ACTIONS(5012),
    [sym__subshell_beginning] = ACTIONS(5014),
    [sym__regex_beginning] = ACTIONS(5016),
    [sym__word_list_beginning] = ACTIONS(5018),
    [sym_heredoc_beginning] = ACTIONS(5020),
    [sym__unary_minus] = ACTIONS(8866),
    [anon_sym_LBRACE] = ACTIONS(5024),
    [anon_sym_def] = ACTIONS(5026),
    [anon_sym_LPAREN] = ACTIONS(5028),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(5030),
    [anon_sym_module] = ACTIONS(5032),
    [anon_sym_return] = ACTIONS(8868),
    [anon_sym_yield] = ACTIONS(8870),
    [anon_sym_break] = ACTIONS(8872),
    [anon_sym_next] = ACTIONS(8874),
    [anon_sym_redo] = ACTIONS(5042),
    [anon_sym_retry] = ACTIONS(5044),
    [anon_sym_if] = ACTIONS(5046),
    [anon_sym_unless] = ACTIONS(5048),
    [anon_sym_while] = ACTIONS(5050),
    [anon_sym_until] = ACTIONS(5052),
    [anon_sym_for] = ACTIONS(5054),
    [anon_sym_case] = ACTIONS(5056),
    [anon_sym_begin] = ACTIONS(5058),
    [anon_sym_PLUS] = ACTIONS(8876),
    [anon_sym_defined_QMARK] = ACTIONS(8878),
    [anon_sym_not] = ACTIONS(8880),
    [anon_sym_BANG] = ACTIONS(8882),
    [anon_sym_TILDE] = ACTIONS(8882),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5068),
    [sym_float] = ACTIONS(5070),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5072),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(5074),
    [sym_keyword__LINE__] = ACTIONS(5074),
    [sym_keyword__ENCODING__] = ACTIONS(5074),
    [sym__character_literal] = ACTIONS(5076),
    [anon_sym_LBRACK] = ACTIONS(5078),
    [anon_sym_DASH_GT] = ACTIONS(5080),
  },
  [6395] = {
    [sym_method] = STATE(3490),
    [sym_singleton_method] = STATE(3490),
    [sym_class] = STATE(3490),
    [sym_singleton_class] = STATE(3490),
    [sym_module] = STATE(3490),
    [sym_return] = STATE(3490),
    [sym_yield] = STATE(3490),
    [sym_break] = STATE(3490),
    [sym_next] = STATE(3490),
    [sym_redo] = STATE(3490),
    [sym_retry] = STATE(3490),
    [sym_while] = STATE(3490),
    [sym_until] = STATE(3490),
    [sym_for] = STATE(3490),
    [sym_case] = STATE(3490),
    [sym_if] = STATE(3490),
    [sym_unless] = STATE(3490),
    [sym_begin] = STATE(3490),
    [sym__arg] = STATE(9580),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(3490),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6321),
    [sym_call] = STATE(6321),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(3519),
    [sym_operator_assignment] = STATE(3519),
    [sym_conditional] = STATE(3519),
    [sym_range] = STATE(3519),
    [sym_binary] = STATE(3519),
    [sym_unary] = STATE(3519),
    [sym_left_assignment_list] = STATE(6398),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6399),
    [sym__variable] = STATE(6321),
    [sym_symbol] = STATE(3490),
    [sym_complex] = STATE(3490),
    [sym_rational] = STATE(3490),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(3490),
    [sym_string] = STATE(3522),
    [sym_subshell] = STATE(3490),
    [sym_array] = STATE(3490),
    [sym_hash] = STATE(3490),
    [sym_regex] = STATE(3490),
    [sym_lambda] = STATE(3490),
    [sym__simple_string] = ACTIONS(5000),
    [sym__simple_symbol] = ACTIONS(5002),
    [sym__simple_subshell] = ACTIONS(5004),
    [sym__simple_regex] = ACTIONS(5006),
    [sym__simple_word_list] = ACTIONS(5008),
    [sym__string_beginning] = ACTIONS(5010),
    [sym__symbol_beginning] = ACTIONS(5012),
    [sym__subshell_beginning] = ACTIONS(5014),
    [sym__regex_beginning] = ACTIONS(5016),
    [sym__word_list_beginning] = ACTIONS(5018),
    [sym_heredoc_beginning] = ACTIONS(5020),
    [sym__unary_minus] = ACTIONS(8866),
    [anon_sym_LBRACE] = ACTIONS(5024),
    [anon_sym_def] = ACTIONS(5026),
    [anon_sym_LPAREN] = ACTIONS(5028),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(5030),
    [anon_sym_module] = ACTIONS(5032),
    [anon_sym_return] = ACTIONS(8868),
    [anon_sym_yield] = ACTIONS(8870),
    [anon_sym_break] = ACTIONS(8872),
    [anon_sym_next] = ACTIONS(8874),
    [anon_sym_redo] = ACTIONS(5042),
    [anon_sym_retry] = ACTIONS(5044),
    [anon_sym_if] = ACTIONS(5046),
    [anon_sym_unless] = ACTIONS(5048),
    [anon_sym_while] = ACTIONS(5050),
    [anon_sym_until] = ACTIONS(5052),
    [anon_sym_for] = ACTIONS(5054),
    [anon_sym_case] = ACTIONS(5056),
    [anon_sym_begin] = ACTIONS(5058),
    [anon_sym_PLUS] = ACTIONS(8876),
    [anon_sym_defined_QMARK] = ACTIONS(8878),
    [anon_sym_not] = ACTIONS(8880),
    [anon_sym_BANG] = ACTIONS(8882),
    [anon_sym_TILDE] = ACTIONS(8882),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5068),
    [sym_float] = ACTIONS(5070),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5072),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(5074),
    [sym_keyword__LINE__] = ACTIONS(5074),
    [sym_keyword__ENCODING__] = ACTIONS(5074),
    [sym__character_literal] = ACTIONS(5076),
    [anon_sym_LBRACK] = ACTIONS(5078),
    [anon_sym_DASH_GT] = ACTIONS(5080),
  },
  [6396] = {
    [sym_method] = STATE(3490),
    [sym_singleton_method] = STATE(3490),
    [sym_class] = STATE(3490),
    [sym_singleton_class] = STATE(3490),
    [sym_module] = STATE(3490),
    [sym_return] = STATE(3490),
    [sym_yield] = STATE(3490),
    [sym_break] = STATE(3490),
    [sym_next] = STATE(3490),
    [sym_redo] = STATE(3490),
    [sym_retry] = STATE(3490),
    [sym_while] = STATE(3490),
    [sym_until] = STATE(3490),
    [sym_for] = STATE(3490),
    [sym_case] = STATE(3490),
    [sym_if] = STATE(3490),
    [sym_unless] = STATE(3490),
    [sym_begin] = STATE(3490),
    [sym__arg] = STATE(6691),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(3490),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6321),
    [sym_call] = STATE(6321),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(3519),
    [sym_operator_assignment] = STATE(3519),
    [sym_conditional] = STATE(3519),
    [sym_range] = STATE(3519),
    [sym_binary] = STATE(3519),
    [sym_unary] = STATE(3519),
    [sym_left_assignment_list] = STATE(6398),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6399),
    [sym__variable] = STATE(6321),
    [sym_symbol] = STATE(3490),
    [sym_complex] = STATE(3490),
    [sym_rational] = STATE(3490),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(3490),
    [sym_string] = STATE(3522),
    [sym_subshell] = STATE(3490),
    [sym_array] = STATE(3490),
    [sym_hash] = STATE(3490),
    [sym_regex] = STATE(3490),
    [sym_lambda] = STATE(3490),
    [sym__simple_string] = ACTIONS(5000),
    [sym__simple_symbol] = ACTIONS(5002),
    [sym__simple_subshell] = ACTIONS(5004),
    [sym__simple_regex] = ACTIONS(5006),
    [sym__simple_word_list] = ACTIONS(5008),
    [sym__string_beginning] = ACTIONS(5010),
    [sym__symbol_beginning] = ACTIONS(5012),
    [sym__subshell_beginning] = ACTIONS(5014),
    [sym__regex_beginning] = ACTIONS(5016),
    [sym__word_list_beginning] = ACTIONS(5018),
    [sym_heredoc_beginning] = ACTIONS(5020),
    [sym__unary_minus] = ACTIONS(8866),
    [anon_sym_LBRACE] = ACTIONS(5024),
    [anon_sym_def] = ACTIONS(5026),
    [anon_sym_LPAREN] = ACTIONS(5028),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(5030),
    [anon_sym_module] = ACTIONS(5032),
    [anon_sym_return] = ACTIONS(8868),
    [anon_sym_yield] = ACTIONS(8870),
    [anon_sym_break] = ACTIONS(8872),
    [anon_sym_next] = ACTIONS(8874),
    [anon_sym_redo] = ACTIONS(5042),
    [anon_sym_retry] = ACTIONS(5044),
    [anon_sym_if] = ACTIONS(5046),
    [anon_sym_unless] = ACTIONS(5048),
    [anon_sym_while] = ACTIONS(5050),
    [anon_sym_until] = ACTIONS(5052),
    [anon_sym_for] = ACTIONS(5054),
    [anon_sym_case] = ACTIONS(5056),
    [anon_sym_begin] = ACTIONS(5058),
    [anon_sym_PLUS] = ACTIONS(8876),
    [anon_sym_defined_QMARK] = ACTIONS(8878),
    [anon_sym_not] = ACTIONS(8880),
    [anon_sym_BANG] = ACTIONS(8882),
    [anon_sym_TILDE] = ACTIONS(8882),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5068),
    [sym_float] = ACTIONS(5070),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5072),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(5074),
    [sym_keyword__LINE__] = ACTIONS(5074),
    [sym_keyword__ENCODING__] = ACTIONS(5074),
    [sym__character_literal] = ACTIONS(5076),
    [anon_sym_LBRACK] = ACTIONS(5078),
    [anon_sym_DASH_GT] = ACTIONS(5080),
  },
  [6397] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(12490),
    [sym__binary_star] = ACTIONS(12492),
    [anon_sym_LBRACE] = ACTIONS(5298),
    [anon_sym_RPAREN] = ACTIONS(5298),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(12494),
    [anon_sym_STAR_STAR] = ACTIONS(12496),
    [anon_sym_AMP] = ACTIONS(12498),
    [anon_sym_EQ] = ACTIONS(5304),
    [anon_sym_LT] = ACTIONS(12500),
    [anon_sym_do] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(12502),
    [anon_sym_DOT_DOT] = ACTIONS(12504),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12506),
    [anon_sym_and] = ACTIONS(12508),
    [anon_sym_or] = ACTIONS(12508),
    [anon_sym_PIPE_PIPE] = ACTIONS(12510),
    [anon_sym_AMP_AMP] = ACTIONS(12510),
    [anon_sym_LT_LT] = ACTIONS(12512),
    [anon_sym_GT_GT] = ACTIONS(12512),
    [anon_sym_EQ_EQ] = ACTIONS(12514),
    [anon_sym_BANG_EQ] = ACTIONS(12510),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12510),
    [anon_sym_LT_EQ_GT] = ACTIONS(12510),
    [anon_sym_EQ_TILDE] = ACTIONS(12510),
    [anon_sym_BANG_TILDE] = ACTIONS(12510),
    [anon_sym_LT_EQ] = ACTIONS(12500),
    [anon_sym_GT] = ACTIONS(12500),
    [anon_sym_GT_EQ] = ACTIONS(12516),
    [anon_sym_CARET] = ACTIONS(12518),
    [anon_sym_PLUS] = ACTIONS(12520),
    [anon_sym_SLASH] = ACTIONS(12496),
    [anon_sym_PERCENT] = ACTIONS(12496),
    [sym_comment] = ACTIONS(256),
  },
  [6398] = {
    [anon_sym_EQ] = ACTIONS(12522),
    [sym_comment] = ACTIONS(256),
  },
  [6399] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_RPAREN] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(12524),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(12526),
    [anon_sym_DASH_EQ] = ACTIONS(12526),
    [anon_sym_STAR_EQ] = ACTIONS(12526),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(12526),
    [anon_sym_SLASH_EQ] = ACTIONS(12526),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(12526),
    [anon_sym_PIPE_EQ] = ACTIONS(12526),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(12526),
    [anon_sym_AMP_EQ] = ACTIONS(12526),
    [anon_sym_PERCENT_EQ] = ACTIONS(12526),
    [anon_sym_GT_GT_EQ] = ACTIONS(12526),
    [anon_sym_LT_LT_EQ] = ACTIONS(12526),
    [anon_sym_CARET_EQ] = ACTIONS(12526),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [6400] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(12490),
    [sym__binary_star] = ACTIONS(12492),
    [anon_sym_LBRACE] = ACTIONS(5338),
    [anon_sym_RPAREN] = ACTIONS(5338),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(12494),
    [anon_sym_STAR_STAR] = ACTIONS(12496),
    [anon_sym_AMP] = ACTIONS(12498),
    [anon_sym_EQ] = ACTIONS(5340),
    [anon_sym_LT] = ACTIONS(12500),
    [anon_sym_do] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(12502),
    [anon_sym_DOT_DOT] = ACTIONS(12504),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12506),
    [anon_sym_and] = ACTIONS(12508),
    [anon_sym_or] = ACTIONS(12508),
    [anon_sym_PIPE_PIPE] = ACTIONS(12510),
    [anon_sym_AMP_AMP] = ACTIONS(12510),
    [anon_sym_LT_LT] = ACTIONS(12512),
    [anon_sym_GT_GT] = ACTIONS(12512),
    [anon_sym_EQ_EQ] = ACTIONS(12514),
    [anon_sym_BANG_EQ] = ACTIONS(12510),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12510),
    [anon_sym_LT_EQ_GT] = ACTIONS(12510),
    [anon_sym_EQ_TILDE] = ACTIONS(12510),
    [anon_sym_BANG_TILDE] = ACTIONS(12510),
    [anon_sym_LT_EQ] = ACTIONS(12500),
    [anon_sym_GT] = ACTIONS(12500),
    [anon_sym_GT_EQ] = ACTIONS(12516),
    [anon_sym_CARET] = ACTIONS(12518),
    [anon_sym_PLUS] = ACTIONS(12520),
    [anon_sym_SLASH] = ACTIONS(12496),
    [anon_sym_PERCENT] = ACTIONS(12496),
    [sym_comment] = ACTIONS(256),
  },
  [6401] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6411),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1886),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(6412),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3274),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3275),
    [sym__variable] = STATE(3235),
    [sym_reserved_identifier] = STATE(6413),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(6414),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(8894),
    [sym__splat_star] = ACTIONS(8896),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(4720),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(532),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(4724),
    [anon_sym_yield] = ACTIONS(4726),
    [anon_sym_break] = ACTIONS(4728),
    [anon_sym_next] = ACTIONS(4730),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(4734),
    [anon_sym_not] = ACTIONS(4736),
    [anon_sym_BANG] = ACTIONS(8898),
    [anon_sym_TILDE] = ACTIONS(4738),
    [sym_constant] = ACTIONS(8900),
    [sym_identifier] = ACTIONS(8900),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6402] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6411),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1892),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(6412),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3274),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3275),
    [sym__variable] = STATE(3235),
    [sym_reserved_identifier] = STATE(6413),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(6414),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(8894),
    [sym__splat_star] = ACTIONS(8896),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(4720),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(602),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(4724),
    [anon_sym_yield] = ACTIONS(4726),
    [anon_sym_break] = ACTIONS(4728),
    [anon_sym_next] = ACTIONS(4730),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(4734),
    [anon_sym_not] = ACTIONS(4736),
    [anon_sym_BANG] = ACTIONS(8898),
    [anon_sym_TILDE] = ACTIONS(4738),
    [sym_constant] = ACTIONS(8900),
    [sym_identifier] = ACTIONS(8900),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6403] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6411),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1893),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(6412),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3274),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3275),
    [sym__variable] = STATE(3235),
    [sym_reserved_identifier] = STATE(6413),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(6414),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(8894),
    [sym__splat_star] = ACTIONS(8896),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(4720),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(606),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(4724),
    [anon_sym_yield] = ACTIONS(4726),
    [anon_sym_break] = ACTIONS(4728),
    [anon_sym_next] = ACTIONS(4730),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(4734),
    [anon_sym_not] = ACTIONS(4736),
    [anon_sym_BANG] = ACTIONS(8898),
    [anon_sym_TILDE] = ACTIONS(4738),
    [sym_constant] = ACTIONS(8900),
    [sym_identifier] = ACTIONS(8900),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6404] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6411),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1894),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(6412),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3274),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3275),
    [sym__variable] = STATE(3235),
    [sym_reserved_identifier] = STATE(6413),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(6414),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(8894),
    [sym__splat_star] = ACTIONS(8896),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(4720),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(610),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(4724),
    [anon_sym_yield] = ACTIONS(4726),
    [anon_sym_break] = ACTIONS(4728),
    [anon_sym_next] = ACTIONS(4730),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(4734),
    [anon_sym_not] = ACTIONS(4736),
    [anon_sym_BANG] = ACTIONS(8898),
    [anon_sym_TILDE] = ACTIONS(4738),
    [sym_constant] = ACTIONS(8900),
    [sym_identifier] = ACTIONS(8900),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6405] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_LBRACE] = ACTIONS(1372),
    [anon_sym_RPAREN] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_STAR_STAR] = ACTIONS(8910),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_EQ] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_do] = ACTIONS(1372),
    [anon_sym_EQ_GT] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(256),
  },
  [6406] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(12490),
    [sym__binary_star] = ACTIONS(12492),
    [anon_sym_LBRACE] = ACTIONS(4284),
    [anon_sym_RPAREN] = ACTIONS(4284),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(12494),
    [anon_sym_STAR_STAR] = ACTIONS(12496),
    [anon_sym_AMP] = ACTIONS(12498),
    [anon_sym_EQ] = ACTIONS(5432),
    [anon_sym_LT] = ACTIONS(12500),
    [anon_sym_do] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(12502),
    [anon_sym_DOT_DOT] = ACTIONS(12504),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12506),
    [anon_sym_and] = ACTIONS(12508),
    [anon_sym_or] = ACTIONS(12508),
    [anon_sym_PIPE_PIPE] = ACTIONS(12510),
    [anon_sym_AMP_AMP] = ACTIONS(12510),
    [anon_sym_LT_LT] = ACTIONS(12512),
    [anon_sym_GT_GT] = ACTIONS(12512),
    [anon_sym_EQ_EQ] = ACTIONS(12514),
    [anon_sym_BANG_EQ] = ACTIONS(12510),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12510),
    [anon_sym_LT_EQ_GT] = ACTIONS(12510),
    [anon_sym_EQ_TILDE] = ACTIONS(12510),
    [anon_sym_BANG_TILDE] = ACTIONS(12510),
    [anon_sym_LT_EQ] = ACTIONS(12500),
    [anon_sym_GT] = ACTIONS(12500),
    [anon_sym_GT_EQ] = ACTIONS(12516),
    [anon_sym_CARET] = ACTIONS(12518),
    [anon_sym_PLUS] = ACTIONS(12520),
    [anon_sym_SLASH] = ACTIONS(12496),
    [anon_sym_PERCENT] = ACTIONS(12496),
    [sym_comment] = ACTIONS(256),
  },
  [6407] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9595),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3274),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3275),
    [sym__variable] = STATE(3235),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4720),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(8884),
    [anon_sym_yield] = ACTIONS(8886),
    [anon_sym_break] = ACTIONS(8888),
    [anon_sym_next] = ACTIONS(8890),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(4732),
    [anon_sym_defined_QMARK] = ACTIONS(4734),
    [anon_sym_not] = ACTIONS(8892),
    [anon_sym_BANG] = ACTIONS(4738),
    [anon_sym_TILDE] = ACTIONS(4738),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6408] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9596),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3274),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3275),
    [sym__variable] = STATE(3235),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4720),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(8884),
    [anon_sym_yield] = ACTIONS(8886),
    [anon_sym_break] = ACTIONS(8888),
    [anon_sym_next] = ACTIONS(8890),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(4732),
    [anon_sym_defined_QMARK] = ACTIONS(4734),
    [anon_sym_not] = ACTIONS(8892),
    [anon_sym_BANG] = ACTIONS(4738),
    [anon_sym_TILDE] = ACTIONS(4738),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6409] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9597),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3274),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3275),
    [sym__variable] = STATE(3235),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4720),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(8884),
    [anon_sym_yield] = ACTIONS(8886),
    [anon_sym_break] = ACTIONS(8888),
    [anon_sym_next] = ACTIONS(8890),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(4732),
    [anon_sym_defined_QMARK] = ACTIONS(4734),
    [anon_sym_not] = ACTIONS(8892),
    [anon_sym_BANG] = ACTIONS(4738),
    [anon_sym_TILDE] = ACTIONS(4738),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6410] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(12528),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_RPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [6411] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(8904),
    [sym__binary_star] = ACTIONS(8906),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_RPAREN] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(8908),
    [anon_sym_STAR_STAR] = ACTIONS(8910),
    [anon_sym_AMP] = ACTIONS(8912),
    [anon_sym_EQ] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(8914),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(8916),
    [anon_sym_DOT_DOT] = ACTIONS(8918),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8920),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(8924),
    [anon_sym_AMP_AMP] = ACTIONS(8924),
    [anon_sym_LT_LT] = ACTIONS(8926),
    [anon_sym_GT_GT] = ACTIONS(8926),
    [anon_sym_EQ_EQ] = ACTIONS(8928),
    [anon_sym_BANG_EQ] = ACTIONS(8924),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8924),
    [anon_sym_LT_EQ_GT] = ACTIONS(8924),
    [anon_sym_EQ_TILDE] = ACTIONS(8924),
    [anon_sym_BANG_TILDE] = ACTIONS(8924),
    [anon_sym_LT_EQ] = ACTIONS(8914),
    [anon_sym_GT] = ACTIONS(8914),
    [anon_sym_GT_EQ] = ACTIONS(8930),
    [anon_sym_CARET] = ACTIONS(8932),
    [anon_sym_PLUS] = ACTIONS(8934),
    [anon_sym_SLASH] = ACTIONS(8910),
    [anon_sym_PERCENT] = ACTIONS(8910),
    [sym_comment] = ACTIONS(256),
  },
  [6412] = {
    [sym_heredoc_end] = STATE(3004),
    [aux_sym_argument_list_repeat1] = STATE(9600),
    [aux_sym_argument_list_repeat2] = STATE(3005),
    [sym__simple_heredoc_body] = ACTIONS(4410),
    [sym__heredoc_body_beginning] = ACTIONS(4412),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_RPAREN] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(12530),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_STAR_STAR] = ACTIONS(2272),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_EQ] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_EQ_GT] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2272),
    [anon_sym_AMP_AMP] = ACTIONS(2272),
    [anon_sym_LT_LT] = ACTIONS(2272),
    [anon_sym_GT_GT] = ACTIONS(2272),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2272),
    [anon_sym_PLUS] = ACTIONS(2272),
    [anon_sym_SLASH] = ACTIONS(2272),
    [anon_sym_PERCENT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(256),
  },
  [6413] = {
    [sym__keyword_colon] = ACTIONS(12532),
    [sym_comment] = ACTIONS(110),
  },
  [6414] = {
    [sym_string] = STATE(1962),
    [aux_sym_chained_string_repeat1] = STATE(1963),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(12528),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_RPAREN] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(1626),
  },
  [6415] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_RPAREN] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(8910),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(256),
  },
  [6416] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(8904),
    [sym__binary_star] = ACTIONS(8906),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_RPAREN] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(8908),
    [anon_sym_STAR_STAR] = ACTIONS(8910),
    [anon_sym_AMP] = ACTIONS(8912),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(8914),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(8916),
    [anon_sym_DOT_DOT] = ACTIONS(8918),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8920),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(8924),
    [anon_sym_AMP_AMP] = ACTIONS(8924),
    [anon_sym_LT_LT] = ACTIONS(8926),
    [anon_sym_GT_GT] = ACTIONS(8926),
    [anon_sym_EQ_EQ] = ACTIONS(8928),
    [anon_sym_BANG_EQ] = ACTIONS(8924),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8924),
    [anon_sym_LT_EQ_GT] = ACTIONS(8924),
    [anon_sym_EQ_TILDE] = ACTIONS(8924),
    [anon_sym_BANG_TILDE] = ACTIONS(8924),
    [anon_sym_LT_EQ] = ACTIONS(8914),
    [anon_sym_GT] = ACTIONS(8914),
    [anon_sym_GT_EQ] = ACTIONS(8930),
    [anon_sym_CARET] = ACTIONS(8932),
    [anon_sym_PLUS] = ACTIONS(8934),
    [anon_sym_SLASH] = ACTIONS(8910),
    [anon_sym_PERCENT] = ACTIONS(8910),
    [sym_comment] = ACTIONS(256),
  },
  [6417] = {
    [sym_method] = STATE(3490),
    [sym_singleton_method] = STATE(3490),
    [sym_class] = STATE(3490),
    [sym_singleton_class] = STATE(3490),
    [sym_module] = STATE(3490),
    [sym_return] = STATE(3490),
    [sym_yield] = STATE(3490),
    [sym_break] = STATE(3490),
    [sym_next] = STATE(3490),
    [sym_redo] = STATE(3490),
    [sym_retry] = STATE(3490),
    [sym_while] = STATE(3490),
    [sym_until] = STATE(3490),
    [sym_for] = STATE(3490),
    [sym_case] = STATE(3490),
    [sym_if] = STATE(3490),
    [sym_unless] = STATE(3490),
    [sym_begin] = STATE(3490),
    [sym__arg] = STATE(9602),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(3490),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6321),
    [sym_call] = STATE(6321),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(3519),
    [sym_operator_assignment] = STATE(3519),
    [sym_conditional] = STATE(3519),
    [sym_range] = STATE(3519),
    [sym_binary] = STATE(3519),
    [sym_unary] = STATE(3519),
    [sym_left_assignment_list] = STATE(6398),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6399),
    [sym__variable] = STATE(6321),
    [sym_symbol] = STATE(3490),
    [sym_complex] = STATE(3490),
    [sym_rational] = STATE(3490),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(3490),
    [sym_string] = STATE(3522),
    [sym_subshell] = STATE(3490),
    [sym_array] = STATE(3490),
    [sym_hash] = STATE(3490),
    [sym_regex] = STATE(3490),
    [sym_lambda] = STATE(3490),
    [sym__simple_string] = ACTIONS(5000),
    [sym__simple_symbol] = ACTIONS(5002),
    [sym__simple_subshell] = ACTIONS(5004),
    [sym__simple_regex] = ACTIONS(5006),
    [sym__simple_word_list] = ACTIONS(5008),
    [sym__string_beginning] = ACTIONS(5010),
    [sym__symbol_beginning] = ACTIONS(5012),
    [sym__subshell_beginning] = ACTIONS(5014),
    [sym__regex_beginning] = ACTIONS(5016),
    [sym__word_list_beginning] = ACTIONS(5018),
    [sym_heredoc_beginning] = ACTIONS(5020),
    [sym__unary_minus] = ACTIONS(8866),
    [anon_sym_LBRACE] = ACTIONS(5024),
    [anon_sym_def] = ACTIONS(5026),
    [anon_sym_LPAREN] = ACTIONS(5028),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(5030),
    [anon_sym_module] = ACTIONS(5032),
    [anon_sym_return] = ACTIONS(8868),
    [anon_sym_yield] = ACTIONS(8870),
    [anon_sym_break] = ACTIONS(8872),
    [anon_sym_next] = ACTIONS(8874),
    [anon_sym_redo] = ACTIONS(5042),
    [anon_sym_retry] = ACTIONS(5044),
    [anon_sym_if] = ACTIONS(5046),
    [anon_sym_unless] = ACTIONS(5048),
    [anon_sym_while] = ACTIONS(5050),
    [anon_sym_until] = ACTIONS(5052),
    [anon_sym_for] = ACTIONS(5054),
    [anon_sym_case] = ACTIONS(5056),
    [anon_sym_begin] = ACTIONS(5058),
    [anon_sym_PLUS] = ACTIONS(8876),
    [anon_sym_defined_QMARK] = ACTIONS(8878),
    [anon_sym_not] = ACTIONS(8880),
    [anon_sym_BANG] = ACTIONS(8882),
    [anon_sym_TILDE] = ACTIONS(8882),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5068),
    [sym_float] = ACTIONS(5070),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5072),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(5074),
    [sym_keyword__LINE__] = ACTIONS(5074),
    [sym_keyword__ENCODING__] = ACTIONS(5074),
    [sym__character_literal] = ACTIONS(5076),
    [anon_sym_LBRACK] = ACTIONS(5078),
    [anon_sym_DASH_GT] = ACTIONS(5080),
  },
  [6418] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9603),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3274),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3275),
    [sym__variable] = STATE(3235),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4720),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(8884),
    [anon_sym_yield] = ACTIONS(8886),
    [anon_sym_break] = ACTIONS(8888),
    [anon_sym_next] = ACTIONS(8890),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(4732),
    [anon_sym_defined_QMARK] = ACTIONS(4734),
    [anon_sym_not] = ACTIONS(8892),
    [anon_sym_BANG] = ACTIONS(4738),
    [anon_sym_TILDE] = ACTIONS(4738),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6419] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9604),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3274),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3275),
    [sym__variable] = STATE(3235),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4720),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(8884),
    [anon_sym_yield] = ACTIONS(8886),
    [anon_sym_break] = ACTIONS(8888),
    [anon_sym_next] = ACTIONS(8890),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(4732),
    [anon_sym_defined_QMARK] = ACTIONS(4734),
    [anon_sym_not] = ACTIONS(8892),
    [anon_sym_BANG] = ACTIONS(4738),
    [anon_sym_TILDE] = ACTIONS(4738),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6420] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9605),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3274),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3275),
    [sym__variable] = STATE(3235),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4720),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(8884),
    [anon_sym_yield] = ACTIONS(8886),
    [anon_sym_break] = ACTIONS(8888),
    [anon_sym_next] = ACTIONS(8890),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(4732),
    [anon_sym_defined_QMARK] = ACTIONS(4734),
    [anon_sym_not] = ACTIONS(8892),
    [anon_sym_BANG] = ACTIONS(4738),
    [anon_sym_TILDE] = ACTIONS(4738),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6421] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9606),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3274),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3275),
    [sym__variable] = STATE(3235),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4720),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(8884),
    [anon_sym_yield] = ACTIONS(8886),
    [anon_sym_break] = ACTIONS(8888),
    [anon_sym_next] = ACTIONS(8890),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(4732),
    [anon_sym_defined_QMARK] = ACTIONS(4734),
    [anon_sym_not] = ACTIONS(8892),
    [anon_sym_BANG] = ACTIONS(4738),
    [anon_sym_TILDE] = ACTIONS(4738),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6422] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9607),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3274),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3275),
    [sym__variable] = STATE(3235),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4720),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(8884),
    [anon_sym_yield] = ACTIONS(8886),
    [anon_sym_break] = ACTIONS(8888),
    [anon_sym_next] = ACTIONS(8890),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(4732),
    [anon_sym_defined_QMARK] = ACTIONS(4734),
    [anon_sym_not] = ACTIONS(8892),
    [anon_sym_BANG] = ACTIONS(4738),
    [anon_sym_TILDE] = ACTIONS(4738),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6423] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9608),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3274),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3275),
    [sym__variable] = STATE(3235),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4720),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(8884),
    [anon_sym_yield] = ACTIONS(8886),
    [anon_sym_break] = ACTIONS(8888),
    [anon_sym_next] = ACTIONS(8890),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(4732),
    [anon_sym_defined_QMARK] = ACTIONS(4734),
    [anon_sym_not] = ACTIONS(8892),
    [anon_sym_BANG] = ACTIONS(4738),
    [anon_sym_TILDE] = ACTIONS(4738),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6424] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(9609),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [6425] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9610),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3274),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3275),
    [sym__variable] = STATE(3235),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4720),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(8884),
    [anon_sym_yield] = ACTIONS(8886),
    [anon_sym_break] = ACTIONS(8888),
    [anon_sym_next] = ACTIONS(8890),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(4732),
    [anon_sym_defined_QMARK] = ACTIONS(4734),
    [anon_sym_not] = ACTIONS(8892),
    [anon_sym_BANG] = ACTIONS(4738),
    [anon_sym_TILDE] = ACTIONS(4738),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6426] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9611),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3274),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3275),
    [sym__variable] = STATE(3235),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4720),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(8884),
    [anon_sym_yield] = ACTIONS(8886),
    [anon_sym_break] = ACTIONS(8888),
    [anon_sym_next] = ACTIONS(8890),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(4732),
    [anon_sym_defined_QMARK] = ACTIONS(4734),
    [anon_sym_not] = ACTIONS(8892),
    [anon_sym_BANG] = ACTIONS(4738),
    [anon_sym_TILDE] = ACTIONS(4738),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6427] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9612),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3274),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3275),
    [sym__variable] = STATE(3235),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4720),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(8884),
    [anon_sym_yield] = ACTIONS(8886),
    [anon_sym_break] = ACTIONS(8888),
    [anon_sym_next] = ACTIONS(8890),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(4732),
    [anon_sym_defined_QMARK] = ACTIONS(4734),
    [anon_sym_not] = ACTIONS(8892),
    [anon_sym_BANG] = ACTIONS(4738),
    [anon_sym_TILDE] = ACTIONS(4738),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6428] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9613),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3274),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3275),
    [sym__variable] = STATE(3235),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4720),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(8884),
    [anon_sym_yield] = ACTIONS(8886),
    [anon_sym_break] = ACTIONS(8888),
    [anon_sym_next] = ACTIONS(8890),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(4732),
    [anon_sym_defined_QMARK] = ACTIONS(4734),
    [anon_sym_not] = ACTIONS(8892),
    [anon_sym_BANG] = ACTIONS(4738),
    [anon_sym_TILDE] = ACTIONS(4738),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6429] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9614),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3274),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3275),
    [sym__variable] = STATE(3235),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4720),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(8884),
    [anon_sym_yield] = ACTIONS(8886),
    [anon_sym_break] = ACTIONS(8888),
    [anon_sym_next] = ACTIONS(8890),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(4732),
    [anon_sym_defined_QMARK] = ACTIONS(4734),
    [anon_sym_not] = ACTIONS(8892),
    [anon_sym_BANG] = ACTIONS(4738),
    [anon_sym_TILDE] = ACTIONS(4738),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6430] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3272),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(6607),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3274),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3275),
    [sym__variable] = STATE(3235),
    [sym_reserved_identifier] = STATE(3276),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(3277),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(9615),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(4716),
    [sym__splat_star] = ACTIONS(4718),
    [sym__unary_minus] = ACTIONS(4720),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(4722),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(4724),
    [anon_sym_yield] = ACTIONS(4726),
    [anon_sym_break] = ACTIONS(4728),
    [anon_sym_next] = ACTIONS(4730),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(4732),
    [anon_sym_defined_QMARK] = ACTIONS(4734),
    [anon_sym_not] = ACTIONS(4736),
    [anon_sym_BANG] = ACTIONS(4738),
    [anon_sym_TILDE] = ACTIONS(4738),
    [sym_constant] = ACTIONS(4740),
    [sym_identifier] = ACTIONS(4740),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6431] = {
    [sym_heredoc_end] = STATE(3448),
    [aux_sym_argument_list_repeat2] = STATE(6610),
    [sym__simple_heredoc_body] = ACTIONS(4968),
    [sym__heredoc_body_beginning] = ACTIONS(4970),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [anon_sym_LBRACE] = ACTIONS(5472),
    [anon_sym_RPAREN] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5472),
    [anon_sym_COMMA] = ACTIONS(12534),
    [anon_sym_EQ] = ACTIONS(5472),
    [anon_sym_do] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [sym_comment] = ACTIONS(256),
  },
  [6432] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9617),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_splat_argument] = STATE(6132),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_right_assignment_list] = STATE(6133),
    [sym__arg_or_splat_arg] = STATE(9618),
    [sym_left_assignment_list] = STATE(3274),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3275),
    [sym__variable] = STATE(3235),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__splat_star] = ACTIONS(8896),
    [sym__unary_minus] = ACTIONS(4720),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(8884),
    [anon_sym_yield] = ACTIONS(8886),
    [anon_sym_break] = ACTIONS(8888),
    [anon_sym_next] = ACTIONS(8890),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(4732),
    [anon_sym_defined_QMARK] = ACTIONS(4734),
    [anon_sym_not] = ACTIONS(8892),
    [anon_sym_BANG] = ACTIONS(4738),
    [anon_sym_TILDE] = ACTIONS(4738),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6433] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9619),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3274),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3275),
    [sym__variable] = STATE(3235),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4720),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(8884),
    [anon_sym_yield] = ACTIONS(8886),
    [anon_sym_break] = ACTIONS(8888),
    [anon_sym_next] = ACTIONS(8890),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(4732),
    [anon_sym_defined_QMARK] = ACTIONS(4734),
    [anon_sym_not] = ACTIONS(8892),
    [anon_sym_BANG] = ACTIONS(4738),
    [anon_sym_TILDE] = ACTIONS(4738),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6434] = {
    [sym_method] = STATE(3490),
    [sym_singleton_method] = STATE(3490),
    [sym_class] = STATE(3490),
    [sym_singleton_class] = STATE(3490),
    [sym_module] = STATE(3490),
    [sym_return] = STATE(3490),
    [sym_yield] = STATE(3490),
    [sym_break] = STATE(3490),
    [sym_next] = STATE(3490),
    [sym_redo] = STATE(3490),
    [sym_retry] = STATE(3490),
    [sym_while] = STATE(3490),
    [sym_until] = STATE(3490),
    [sym_for] = STATE(3490),
    [sym_case] = STATE(3490),
    [sym_if] = STATE(3490),
    [sym_unless] = STATE(3490),
    [sym_begin] = STATE(3490),
    [sym__arg] = STATE(9620),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(3490),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6321),
    [sym_call] = STATE(6321),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(3519),
    [sym_operator_assignment] = STATE(3519),
    [sym_conditional] = STATE(3519),
    [sym_range] = STATE(3519),
    [sym_binary] = STATE(3519),
    [sym_unary] = STATE(3519),
    [sym_left_assignment_list] = STATE(6398),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6399),
    [sym__variable] = STATE(6321),
    [sym_symbol] = STATE(3490),
    [sym_complex] = STATE(3490),
    [sym_rational] = STATE(3490),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(3490),
    [sym_string] = STATE(3522),
    [sym_subshell] = STATE(3490),
    [sym_array] = STATE(3490),
    [sym_hash] = STATE(3490),
    [sym_regex] = STATE(3490),
    [sym_lambda] = STATE(3490),
    [sym__simple_string] = ACTIONS(5000),
    [sym__simple_symbol] = ACTIONS(5002),
    [sym__simple_subshell] = ACTIONS(5004),
    [sym__simple_regex] = ACTIONS(5006),
    [sym__simple_word_list] = ACTIONS(5008),
    [sym__string_beginning] = ACTIONS(5010),
    [sym__symbol_beginning] = ACTIONS(5012),
    [sym__subshell_beginning] = ACTIONS(5014),
    [sym__regex_beginning] = ACTIONS(5016),
    [sym__word_list_beginning] = ACTIONS(5018),
    [sym_heredoc_beginning] = ACTIONS(5020),
    [sym__unary_minus] = ACTIONS(8866),
    [anon_sym_LBRACE] = ACTIONS(5024),
    [anon_sym_def] = ACTIONS(5026),
    [anon_sym_LPAREN] = ACTIONS(5028),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(5030),
    [anon_sym_module] = ACTIONS(5032),
    [anon_sym_return] = ACTIONS(8868),
    [anon_sym_yield] = ACTIONS(8870),
    [anon_sym_break] = ACTIONS(8872),
    [anon_sym_next] = ACTIONS(8874),
    [anon_sym_redo] = ACTIONS(5042),
    [anon_sym_retry] = ACTIONS(5044),
    [anon_sym_if] = ACTIONS(5046),
    [anon_sym_unless] = ACTIONS(5048),
    [anon_sym_while] = ACTIONS(5050),
    [anon_sym_until] = ACTIONS(5052),
    [anon_sym_for] = ACTIONS(5054),
    [anon_sym_case] = ACTIONS(5056),
    [anon_sym_begin] = ACTIONS(5058),
    [anon_sym_PLUS] = ACTIONS(8876),
    [anon_sym_defined_QMARK] = ACTIONS(8878),
    [anon_sym_not] = ACTIONS(8880),
    [anon_sym_BANG] = ACTIONS(8882),
    [anon_sym_TILDE] = ACTIONS(8882),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5068),
    [sym_float] = ACTIONS(5070),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5072),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(5074),
    [sym_keyword__LINE__] = ACTIONS(5074),
    [sym_keyword__ENCODING__] = ACTIONS(5074),
    [sym__character_literal] = ACTIONS(5076),
    [anon_sym_LBRACK] = ACTIONS(5078),
    [anon_sym_DASH_GT] = ACTIONS(5080),
  },
  [6435] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_RPAREN] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(8952),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_if] = ACTIONS(1372),
    [anon_sym_unless] = ACTIONS(1372),
    [anon_sym_while] = ACTIONS(1372),
    [anon_sym_until] = ACTIONS(1372),
    [anon_sym_rescue] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [6436] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_RPAREN] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(8952),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [6437] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(8946),
    [sym__binary_star] = ACTIONS(8948),
    [anon_sym_RPAREN] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(8950),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(8952),
    [anon_sym_AMP] = ACTIONS(8954),
    [anon_sym_LT] = ACTIONS(8956),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(8958),
    [anon_sym_DOT_DOT] = ACTIONS(8960),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8962),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(8964),
    [anon_sym_AMP_AMP] = ACTIONS(8964),
    [anon_sym_LT_LT] = ACTIONS(8966),
    [anon_sym_GT_GT] = ACTIONS(8966),
    [anon_sym_EQ_EQ] = ACTIONS(8968),
    [anon_sym_BANG_EQ] = ACTIONS(8964),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8964),
    [anon_sym_LT_EQ_GT] = ACTIONS(8964),
    [anon_sym_EQ_TILDE] = ACTIONS(8964),
    [anon_sym_BANG_TILDE] = ACTIONS(8964),
    [anon_sym_LT_EQ] = ACTIONS(8956),
    [anon_sym_GT] = ACTIONS(8956),
    [anon_sym_GT_EQ] = ACTIONS(8970),
    [anon_sym_CARET] = ACTIONS(8972),
    [anon_sym_PLUS] = ACTIONS(8974),
    [anon_sym_SLASH] = ACTIONS(8952),
    [anon_sym_PERCENT] = ACTIONS(8952),
    [sym_comment] = ACTIONS(110),
  },
  [6438] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9621),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3283),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3284),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(4742),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4744),
    [anon_sym_defined_QMARK] = ACTIONS(4746),
    [anon_sym_not] = ACTIONS(4748),
    [anon_sym_BANG] = ACTIONS(4750),
    [anon_sym_TILDE] = ACTIONS(4750),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6439] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9622),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3283),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3284),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(4742),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4744),
    [anon_sym_defined_QMARK] = ACTIONS(4746),
    [anon_sym_not] = ACTIONS(4748),
    [anon_sym_BANG] = ACTIONS(4750),
    [anon_sym_TILDE] = ACTIONS(4750),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6440] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9623),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3283),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3284),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(4742),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4744),
    [anon_sym_defined_QMARK] = ACTIONS(4746),
    [anon_sym_not] = ACTIONS(4748),
    [anon_sym_BANG] = ACTIONS(4750),
    [anon_sym_TILDE] = ACTIONS(4750),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6441] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9624),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3283),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3284),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(4742),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4744),
    [anon_sym_defined_QMARK] = ACTIONS(4746),
    [anon_sym_not] = ACTIONS(4748),
    [anon_sym_BANG] = ACTIONS(4750),
    [anon_sym_TILDE] = ACTIONS(4750),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6442] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9625),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3283),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3284),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(4742),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4744),
    [anon_sym_defined_QMARK] = ACTIONS(4746),
    [anon_sym_not] = ACTIONS(4748),
    [anon_sym_BANG] = ACTIONS(4750),
    [anon_sym_TILDE] = ACTIONS(4750),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6443] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9626),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3283),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3284),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(4742),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4744),
    [anon_sym_defined_QMARK] = ACTIONS(4746),
    [anon_sym_not] = ACTIONS(4748),
    [anon_sym_BANG] = ACTIONS(4750),
    [anon_sym_TILDE] = ACTIONS(4750),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6444] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(9627),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [6445] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9628),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3283),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3284),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(4742),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4744),
    [anon_sym_defined_QMARK] = ACTIONS(4746),
    [anon_sym_not] = ACTIONS(4748),
    [anon_sym_BANG] = ACTIONS(4750),
    [anon_sym_TILDE] = ACTIONS(4750),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6446] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9629),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3283),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3284),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(4742),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4744),
    [anon_sym_defined_QMARK] = ACTIONS(4746),
    [anon_sym_not] = ACTIONS(4748),
    [anon_sym_BANG] = ACTIONS(4750),
    [anon_sym_TILDE] = ACTIONS(4750),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6447] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9630),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3283),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3284),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(4742),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4744),
    [anon_sym_defined_QMARK] = ACTIONS(4746),
    [anon_sym_not] = ACTIONS(4748),
    [anon_sym_BANG] = ACTIONS(4750),
    [anon_sym_TILDE] = ACTIONS(4750),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6448] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9631),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3283),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3284),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(4742),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4744),
    [anon_sym_defined_QMARK] = ACTIONS(4746),
    [anon_sym_not] = ACTIONS(4748),
    [anon_sym_BANG] = ACTIONS(4750),
    [anon_sym_TILDE] = ACTIONS(4750),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6449] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9632),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3283),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3284),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(4742),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4744),
    [anon_sym_defined_QMARK] = ACTIONS(4746),
    [anon_sym_not] = ACTIONS(4748),
    [anon_sym_BANG] = ACTIONS(4750),
    [anon_sym_TILDE] = ACTIONS(4750),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6450] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9633),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_splat_argument] = STATE(3785),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_right_assignment_list] = STATE(3786),
    [sym__arg_or_splat_arg] = STATE(9634),
    [sym_left_assignment_list] = STATE(3283),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3284),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(1890),
    [sym__unary_minus] = ACTIONS(4742),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4744),
    [anon_sym_defined_QMARK] = ACTIONS(4746),
    [anon_sym_not] = ACTIONS(4748),
    [anon_sym_BANG] = ACTIONS(4750),
    [anon_sym_TILDE] = ACTIONS(4750),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6451] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9635),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3283),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3284),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(4742),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4744),
    [anon_sym_defined_QMARK] = ACTIONS(4746),
    [anon_sym_not] = ACTIONS(4748),
    [anon_sym_BANG] = ACTIONS(4750),
    [anon_sym_TILDE] = ACTIONS(4750),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6452] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__line_break] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(4774),
    [sym__binary_star] = ACTIONS(4776),
    [anon_sym_RPAREN] = ACTIONS(5298),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(4778),
    [anon_sym_SEMI] = ACTIONS(5298),
    [anon_sym_STAR_STAR] = ACTIONS(4780),
    [anon_sym_AMP] = ACTIONS(4782),
    [anon_sym_LT] = ACTIONS(4784),
    [anon_sym_if] = ACTIONS(5298),
    [anon_sym_unless] = ACTIONS(5298),
    [anon_sym_while] = ACTIONS(5298),
    [anon_sym_until] = ACTIONS(5298),
    [anon_sym_rescue] = ACTIONS(5298),
    [anon_sym_EQ_GT] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(4786),
    [anon_sym_DOT_DOT] = ACTIONS(4788),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4790),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(4792),
    [anon_sym_AMP_AMP] = ACTIONS(4792),
    [anon_sym_LT_LT] = ACTIONS(4794),
    [anon_sym_GT_GT] = ACTIONS(4794),
    [anon_sym_EQ_EQ] = ACTIONS(4796),
    [anon_sym_BANG_EQ] = ACTIONS(4792),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4792),
    [anon_sym_LT_EQ_GT] = ACTIONS(4792),
    [anon_sym_EQ_TILDE] = ACTIONS(4792),
    [anon_sym_BANG_TILDE] = ACTIONS(4792),
    [anon_sym_LT_EQ] = ACTIONS(4784),
    [anon_sym_GT] = ACTIONS(4784),
    [anon_sym_GT_EQ] = ACTIONS(4798),
    [anon_sym_CARET] = ACTIONS(4800),
    [anon_sym_PLUS] = ACTIONS(4802),
    [anon_sym_SLASH] = ACTIONS(4780),
    [anon_sym_PERCENT] = ACTIONS(4780),
    [sym_comment] = ACTIONS(110),
  },
  [6453] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__line_break] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(4774),
    [sym__binary_star] = ACTIONS(4776),
    [anon_sym_RPAREN] = ACTIONS(5338),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(4778),
    [anon_sym_SEMI] = ACTIONS(5338),
    [anon_sym_STAR_STAR] = ACTIONS(4780),
    [anon_sym_AMP] = ACTIONS(4782),
    [anon_sym_LT] = ACTIONS(4784),
    [anon_sym_if] = ACTIONS(5338),
    [anon_sym_unless] = ACTIONS(5338),
    [anon_sym_while] = ACTIONS(5338),
    [anon_sym_until] = ACTIONS(5338),
    [anon_sym_rescue] = ACTIONS(5338),
    [anon_sym_EQ_GT] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(4786),
    [anon_sym_DOT_DOT] = ACTIONS(4788),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4790),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(4792),
    [anon_sym_AMP_AMP] = ACTIONS(4792),
    [anon_sym_LT_LT] = ACTIONS(4794),
    [anon_sym_GT_GT] = ACTIONS(4794),
    [anon_sym_EQ_EQ] = ACTIONS(4796),
    [anon_sym_BANG_EQ] = ACTIONS(4792),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4792),
    [anon_sym_LT_EQ_GT] = ACTIONS(4792),
    [anon_sym_EQ_TILDE] = ACTIONS(4792),
    [anon_sym_BANG_TILDE] = ACTIONS(4792),
    [anon_sym_LT_EQ] = ACTIONS(4784),
    [anon_sym_GT] = ACTIONS(4784),
    [anon_sym_GT_EQ] = ACTIONS(4798),
    [anon_sym_CARET] = ACTIONS(4800),
    [anon_sym_PLUS] = ACTIONS(4802),
    [anon_sym_SLASH] = ACTIONS(4780),
    [anon_sym_PERCENT] = ACTIONS(4780),
    [sym_comment] = ACTIONS(110),
  },
  [6454] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__line_break] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(4774),
    [sym__binary_star] = ACTIONS(4776),
    [anon_sym_RPAREN] = ACTIONS(4284),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(4778),
    [anon_sym_SEMI] = ACTIONS(4284),
    [anon_sym_STAR_STAR] = ACTIONS(4780),
    [anon_sym_AMP] = ACTIONS(4782),
    [anon_sym_LT] = ACTIONS(4784),
    [anon_sym_if] = ACTIONS(4284),
    [anon_sym_unless] = ACTIONS(4284),
    [anon_sym_while] = ACTIONS(4284),
    [anon_sym_until] = ACTIONS(4284),
    [anon_sym_rescue] = ACTIONS(4284),
    [anon_sym_EQ_GT] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(4786),
    [anon_sym_DOT_DOT] = ACTIONS(4788),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4790),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(4792),
    [anon_sym_AMP_AMP] = ACTIONS(4792),
    [anon_sym_LT_LT] = ACTIONS(4794),
    [anon_sym_GT_GT] = ACTIONS(4794),
    [anon_sym_EQ_EQ] = ACTIONS(4796),
    [anon_sym_BANG_EQ] = ACTIONS(4792),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4792),
    [anon_sym_LT_EQ_GT] = ACTIONS(4792),
    [anon_sym_EQ_TILDE] = ACTIONS(4792),
    [anon_sym_BANG_TILDE] = ACTIONS(4792),
    [anon_sym_LT_EQ] = ACTIONS(4784),
    [anon_sym_GT] = ACTIONS(4784),
    [anon_sym_GT_EQ] = ACTIONS(4798),
    [anon_sym_CARET] = ACTIONS(4800),
    [anon_sym_PLUS] = ACTIONS(4802),
    [anon_sym_SLASH] = ACTIONS(4780),
    [anon_sym_PERCENT] = ACTIONS(4780),
    [sym_comment] = ACTIONS(110),
  },
  [6455] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9636),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1174),
    [sym_call] = STATE(1174),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1176),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(1174),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1892),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(4752),
    [anon_sym_yield] = ACTIONS(4754),
    [anon_sym_break] = ACTIONS(4756),
    [anon_sym_next] = ACTIONS(4758),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4760),
    [anon_sym_defined_QMARK] = ACTIONS(1904),
    [anon_sym_not] = ACTIONS(4762),
    [anon_sym_BANG] = ACTIONS(1910),
    [anon_sym_TILDE] = ACTIONS(1910),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6456] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3297),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1174),
    [sym_call] = STATE(1174),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(3780),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1176),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(1174),
    [sym_reserved_identifier] = STATE(3299),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(3300),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(9637),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__block_ampersand] = ACTIONS(4766),
    [sym__splat_star] = ACTIONS(4768),
    [sym__unary_minus] = ACTIONS(1892),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(12536),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(1896),
    [anon_sym_yield] = ACTIONS(1898),
    [anon_sym_break] = ACTIONS(1900),
    [anon_sym_next] = ACTIONS(1902),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(4760),
    [anon_sym_defined_QMARK] = ACTIONS(1904),
    [anon_sym_not] = ACTIONS(1906),
    [anon_sym_BANG] = ACTIONS(1910),
    [anon_sym_TILDE] = ACTIONS(1910),
    [sym_constant] = ACTIONS(4770),
    [sym_identifier] = ACTIONS(4770),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6457] = {
    [sym_heredoc_end] = STATE(1444),
    [aux_sym_argument_list_repeat2] = STATE(3783),
    [sym__simple_heredoc_body] = ACTIONS(2268),
    [sym__heredoc_body_beginning] = ACTIONS(2270),
    [sym__line_break] = ACTIONS(5472),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_RPAREN] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(12538),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_SEMI] = ACTIONS(5472),
    [anon_sym_STAR_STAR] = ACTIONS(5472),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_if] = ACTIONS(5472),
    [anon_sym_unless] = ACTIONS(5472),
    [anon_sym_while] = ACTIONS(5472),
    [anon_sym_until] = ACTIONS(5472),
    [anon_sym_rescue] = ACTIONS(5472),
    [anon_sym_EQ_GT] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5472),
    [anon_sym_AMP_AMP] = ACTIONS(5472),
    [anon_sym_LT_LT] = ACTIONS(5472),
    [anon_sym_GT_GT] = ACTIONS(5472),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5472),
    [anon_sym_PLUS] = ACTIONS(5472),
    [anon_sym_SLASH] = ACTIONS(5472),
    [anon_sym_PERCENT] = ACTIONS(5472),
    [sym_comment] = ACTIONS(110),
  },
  [6458] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9639),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1174),
    [sym_call] = STATE(1174),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1176),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(1174),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1892),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(4752),
    [anon_sym_yield] = ACTIONS(4754),
    [anon_sym_break] = ACTIONS(4756),
    [anon_sym_next] = ACTIONS(4758),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4760),
    [anon_sym_defined_QMARK] = ACTIONS(1904),
    [anon_sym_not] = ACTIONS(4762),
    [anon_sym_BANG] = ACTIONS(1910),
    [anon_sym_TILDE] = ACTIONS(1910),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6459] = {
    [sym__simple_heredoc_body] = ACTIONS(8568),
    [sym__heredoc_body_beginning] = ACTIONS(8568),
    [sym__line_break] = ACTIONS(8568),
    [sym__element_reference_left_bracket] = ACTIONS(8568),
    [sym__scope_double_colon] = ACTIONS(8568),
    [sym__binary_minus] = ACTIONS(8946),
    [sym__binary_star] = ACTIONS(8948),
    [anon_sym_RPAREN] = ACTIONS(8568),
    [anon_sym_DOT] = ACTIONS(9468),
    [anon_sym_COMMA] = ACTIONS(8568),
    [anon_sym_PIPE] = ACTIONS(8950),
    [anon_sym_SEMI] = ACTIONS(8568),
    [anon_sym_STAR_STAR] = ACTIONS(8952),
    [anon_sym_AMP] = ACTIONS(8954),
    [anon_sym_LT] = ACTIONS(8956),
    [anon_sym_if] = ACTIONS(8568),
    [anon_sym_unless] = ACTIONS(8568),
    [anon_sym_while] = ACTIONS(8568),
    [anon_sym_until] = ACTIONS(8568),
    [anon_sym_rescue] = ACTIONS(8568),
    [anon_sym_AMP_DOT] = ACTIONS(8568),
    [anon_sym_QMARK] = ACTIONS(8958),
    [anon_sym_DOT_DOT] = ACTIONS(8960),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8962),
    [anon_sym_and] = ACTIONS(8568),
    [anon_sym_or] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE] = ACTIONS(8964),
    [anon_sym_AMP_AMP] = ACTIONS(8964),
    [anon_sym_LT_LT] = ACTIONS(8966),
    [anon_sym_GT_GT] = ACTIONS(8966),
    [anon_sym_EQ_EQ] = ACTIONS(8968),
    [anon_sym_BANG_EQ] = ACTIONS(8964),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8964),
    [anon_sym_LT_EQ_GT] = ACTIONS(8964),
    [anon_sym_EQ_TILDE] = ACTIONS(8964),
    [anon_sym_BANG_TILDE] = ACTIONS(8964),
    [anon_sym_LT_EQ] = ACTIONS(8956),
    [anon_sym_GT] = ACTIONS(8956),
    [anon_sym_GT_EQ] = ACTIONS(8970),
    [anon_sym_CARET] = ACTIONS(8972),
    [anon_sym_PLUS] = ACTIONS(8974),
    [anon_sym_SLASH] = ACTIONS(8952),
    [anon_sym_PERCENT] = ACTIONS(8952),
    [sym_comment] = ACTIONS(110),
  },
  [6460] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__line_break] = ACTIONS(7008),
    [sym__element_reference_left_bracket] = ACTIONS(7008),
    [sym__scope_double_colon] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(4776),
    [anon_sym_RPAREN] = ACTIONS(7008),
    [anon_sym_DOT] = ACTIONS(7010),
    [anon_sym_COMMA] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_SEMI] = ACTIONS(7008),
    [anon_sym_STAR_STAR] = ACTIONS(4780),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_if] = ACTIONS(7008),
    [anon_sym_unless] = ACTIONS(7008),
    [anon_sym_while] = ACTIONS(7008),
    [anon_sym_until] = ACTIONS(7008),
    [anon_sym_rescue] = ACTIONS(7008),
    [anon_sym_EQ_GT] = ACTIONS(7008),
    [anon_sym_AMP_DOT] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7008),
    [anon_sym_AMP_AMP] = ACTIONS(7008),
    [anon_sym_LT_LT] = ACTIONS(7008),
    [anon_sym_GT_GT] = ACTIONS(7008),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7008),
    [anon_sym_PLUS] = ACTIONS(7008),
    [anon_sym_SLASH] = ACTIONS(4780),
    [anon_sym_PERCENT] = ACTIONS(4780),
    [sym_comment] = ACTIONS(110),
  },
  [6461] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__line_break] = ACTIONS(7012),
    [sym__element_reference_left_bracket] = ACTIONS(7012),
    [sym__scope_double_colon] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_RPAREN] = ACTIONS(7012),
    [anon_sym_DOT] = ACTIONS(7014),
    [anon_sym_COMMA] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_SEMI] = ACTIONS(7012),
    [anon_sym_STAR_STAR] = ACTIONS(4780),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_if] = ACTIONS(7012),
    [anon_sym_unless] = ACTIONS(7012),
    [anon_sym_while] = ACTIONS(7012),
    [anon_sym_until] = ACTIONS(7012),
    [anon_sym_rescue] = ACTIONS(7012),
    [anon_sym_EQ_GT] = ACTIONS(7012),
    [anon_sym_AMP_DOT] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7012),
    [anon_sym_AMP_AMP] = ACTIONS(7012),
    [anon_sym_LT_LT] = ACTIONS(7012),
    [anon_sym_GT_GT] = ACTIONS(7012),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7012),
    [anon_sym_PLUS] = ACTIONS(7012),
    [anon_sym_SLASH] = ACTIONS(7012),
    [anon_sym_PERCENT] = ACTIONS(7012),
    [sym_comment] = ACTIONS(110),
  },
  [6462] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(4774),
    [sym__binary_star] = ACTIONS(4776),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(4780),
    [anon_sym_AMP] = ACTIONS(4782),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(4794),
    [anon_sym_GT_GT] = ACTIONS(4794),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(4802),
    [anon_sym_SLASH] = ACTIONS(4780),
    [anon_sym_PERCENT] = ACTIONS(4780),
    [sym_comment] = ACTIONS(110),
  },
  [6463] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(4780),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7016),
    [anon_sym_PERCENT] = ACTIONS(7016),
    [sym_comment] = ACTIONS(110),
  },
  [6464] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(4774),
    [sym__binary_star] = ACTIONS(4776),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(4780),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(4794),
    [anon_sym_GT_GT] = ACTIONS(4794),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(4802),
    [anon_sym_SLASH] = ACTIONS(4780),
    [anon_sym_PERCENT] = ACTIONS(4780),
    [sym_comment] = ACTIONS(110),
  },
  [6465] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(4774),
    [sym__binary_star] = ACTIONS(4776),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(4778),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(4780),
    [anon_sym_AMP] = ACTIONS(4782),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(4794),
    [anon_sym_GT_GT] = ACTIONS(4794),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(4800),
    [anon_sym_PLUS] = ACTIONS(4802),
    [anon_sym_SLASH] = ACTIONS(4780),
    [anon_sym_PERCENT] = ACTIONS(4780),
    [sym_comment] = ACTIONS(110),
  },
  [6466] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(12540),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [6467] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__line_break] = ACTIONS(7108),
    [sym__element_reference_left_bracket] = ACTIONS(7108),
    [sym__scope_double_colon] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(4774),
    [sym__binary_star] = ACTIONS(4776),
    [anon_sym_RPAREN] = ACTIONS(7108),
    [anon_sym_DOT] = ACTIONS(9472),
    [anon_sym_COMMA] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(4778),
    [anon_sym_SEMI] = ACTIONS(7108),
    [anon_sym_STAR_STAR] = ACTIONS(4780),
    [anon_sym_AMP] = ACTIONS(4782),
    [anon_sym_LT] = ACTIONS(4784),
    [anon_sym_if] = ACTIONS(7108),
    [anon_sym_unless] = ACTIONS(7108),
    [anon_sym_while] = ACTIONS(7108),
    [anon_sym_until] = ACTIONS(7108),
    [anon_sym_rescue] = ACTIONS(7108),
    [anon_sym_EQ_GT] = ACTIONS(7108),
    [anon_sym_AMP_DOT] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(4788),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4790),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(4792),
    [anon_sym_AMP_AMP] = ACTIONS(4792),
    [anon_sym_LT_LT] = ACTIONS(4794),
    [anon_sym_GT_GT] = ACTIONS(4794),
    [anon_sym_EQ_EQ] = ACTIONS(4796),
    [anon_sym_BANG_EQ] = ACTIONS(4792),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4792),
    [anon_sym_LT_EQ_GT] = ACTIONS(4792),
    [anon_sym_EQ_TILDE] = ACTIONS(4792),
    [anon_sym_BANG_TILDE] = ACTIONS(4792),
    [anon_sym_LT_EQ] = ACTIONS(4784),
    [anon_sym_GT] = ACTIONS(4784),
    [anon_sym_GT_EQ] = ACTIONS(4798),
    [anon_sym_CARET] = ACTIONS(4800),
    [anon_sym_PLUS] = ACTIONS(4802),
    [anon_sym_SLASH] = ACTIONS(4780),
    [anon_sym_PERCENT] = ACTIONS(4780),
    [sym_comment] = ACTIONS(110),
  },
  [6468] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(4774),
    [sym__binary_star] = ACTIONS(4776),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(4778),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(4780),
    [anon_sym_AMP] = ACTIONS(4782),
    [anon_sym_LT] = ACTIONS(4784),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(4786),
    [anon_sym_DOT_DOT] = ACTIONS(4788),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4790),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(4792),
    [anon_sym_AMP_AMP] = ACTIONS(4792),
    [anon_sym_LT_LT] = ACTIONS(4794),
    [anon_sym_GT_GT] = ACTIONS(4794),
    [anon_sym_EQ_EQ] = ACTIONS(4796),
    [anon_sym_BANG_EQ] = ACTIONS(4792),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4792),
    [anon_sym_LT_EQ_GT] = ACTIONS(4792),
    [anon_sym_EQ_TILDE] = ACTIONS(4792),
    [anon_sym_BANG_TILDE] = ACTIONS(4792),
    [anon_sym_LT_EQ] = ACTIONS(4784),
    [anon_sym_GT] = ACTIONS(4784),
    [anon_sym_GT_EQ] = ACTIONS(4798),
    [anon_sym_CARET] = ACTIONS(4800),
    [anon_sym_PLUS] = ACTIONS(4802),
    [anon_sym_SLASH] = ACTIONS(4780),
    [anon_sym_PERCENT] = ACTIONS(4780),
    [sym_comment] = ACTIONS(110),
  },
  [6469] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(4774),
    [sym__binary_star] = ACTIONS(4776),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(4778),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(4780),
    [anon_sym_AMP] = ACTIONS(4782),
    [anon_sym_LT] = ACTIONS(4784),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(4794),
    [anon_sym_GT_GT] = ACTIONS(4794),
    [anon_sym_EQ_EQ] = ACTIONS(4796),
    [anon_sym_BANG_EQ] = ACTIONS(4792),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4792),
    [anon_sym_LT_EQ_GT] = ACTIONS(4792),
    [anon_sym_EQ_TILDE] = ACTIONS(4792),
    [anon_sym_BANG_TILDE] = ACTIONS(4792),
    [anon_sym_LT_EQ] = ACTIONS(4784),
    [anon_sym_GT] = ACTIONS(4784),
    [anon_sym_GT_EQ] = ACTIONS(4798),
    [anon_sym_CARET] = ACTIONS(4800),
    [anon_sym_PLUS] = ACTIONS(4802),
    [anon_sym_SLASH] = ACTIONS(4780),
    [anon_sym_PERCENT] = ACTIONS(4780),
    [sym_comment] = ACTIONS(110),
  },
  [6470] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(4774),
    [sym__binary_star] = ACTIONS(4776),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(4780),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(4802),
    [anon_sym_SLASH] = ACTIONS(4780),
    [anon_sym_PERCENT] = ACTIONS(4780),
    [sym_comment] = ACTIONS(110),
  },
  [6471] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(4776),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(4780),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(4780),
    [anon_sym_PERCENT] = ACTIONS(4780),
    [sym_comment] = ACTIONS(110),
  },
  [6472] = {
    [sym__simple_string] = ACTIONS(7116),
    [sym__simple_symbol] = ACTIONS(7116),
    [sym__simple_subshell] = ACTIONS(7116),
    [sym__simple_regex] = ACTIONS(7116),
    [sym__simple_word_list] = ACTIONS(7116),
    [sym__simple_heredoc_body] = ACTIONS(7116),
    [sym__string_beginning] = ACTIONS(7116),
    [sym__symbol_beginning] = ACTIONS(7116),
    [sym__subshell_beginning] = ACTIONS(7116),
    [sym__regex_beginning] = ACTIONS(7116),
    [sym__word_list_beginning] = ACTIONS(7116),
    [sym__heredoc_body_beginning] = ACTIONS(7116),
    [sym_heredoc_beginning] = ACTIONS(7116),
    [sym__line_break] = ACTIONS(7116),
    [sym__element_reference_left_bracket] = ACTIONS(7116),
    [sym__block_ampersand] = ACTIONS(7116),
    [sym__splat_star] = ACTIONS(7116),
    [sym__argument_list_left_paren] = ACTIONS(7116),
    [sym__scope_double_colon] = ACTIONS(7116),
    [sym__unary_minus] = ACTIONS(7116),
    [sym__binary_minus] = ACTIONS(7116),
    [sym__binary_star] = ACTIONS(7116),
    [anon_sym_LBRACE] = ACTIONS(7116),
    [anon_sym_RBRACE] = ACTIONS(7116),
    [anon_sym_def] = ACTIONS(7118),
    [anon_sym_LPAREN] = ACTIONS(7116),
    [anon_sym_RPAREN] = ACTIONS(7116),
    [anon_sym_DOT] = ACTIONS(7118),
    [anon_sym_COLON_COLON] = ACTIONS(7116),
    [anon_sym_end] = ACTIONS(7118),
    [anon_sym_COMMA] = ACTIONS(7116),
    [anon_sym_PIPE] = ACTIONS(7118),
    [anon_sym_SEMI] = ACTIONS(7116),
    [anon_sym_STAR] = ACTIONS(7118),
    [anon_sym_STAR_STAR] = ACTIONS(7118),
    [anon_sym_AMP] = ACTIONS(7118),
    [anon_sym_EQ] = ACTIONS(7118),
    [anon_sym_class] = ACTIONS(7118),
    [anon_sym_LT] = ACTIONS(7118),
    [anon_sym_module] = ACTIONS(7118),
    [anon_sym_return] = ACTIONS(7118),
    [anon_sym_yield] = ACTIONS(7118),
    [anon_sym_break] = ACTIONS(7118),
    [anon_sym_next] = ACTIONS(7118),
    [anon_sym_redo] = ACTIONS(7118),
    [anon_sym_retry] = ACTIONS(7118),
    [anon_sym_if] = ACTIONS(7118),
    [anon_sym_unless] = ACTIONS(7118),
    [anon_sym_while] = ACTIONS(7118),
    [anon_sym_until] = ACTIONS(7118),
    [anon_sym_rescue] = ACTIONS(7118),
    [anon_sym_for] = ACTIONS(7118),
    [anon_sym_in] = ACTIONS(7118),
    [anon_sym_do] = ACTIONS(7118),
    [anon_sym_case] = ACTIONS(7118),
    [anon_sym_when] = ACTIONS(7118),
    [anon_sym_elsif] = ACTIONS(7118),
    [anon_sym_else] = ACTIONS(7118),
    [anon_sym_then] = ACTIONS(7118),
    [anon_sym_begin] = ACTIONS(7118),
    [anon_sym_ensure] = ACTIONS(7118),
    [anon_sym_EQ_GT] = ACTIONS(7116),
    [anon_sym_AMP_DOT] = ACTIONS(7116),
    [anon_sym_PLUS_EQ] = ACTIONS(7116),
    [anon_sym_DASH_EQ] = ACTIONS(7116),
    [anon_sym_STAR_EQ] = ACTIONS(7116),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7116),
    [anon_sym_SLASH_EQ] = ACTIONS(7116),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7116),
    [anon_sym_PIPE_EQ] = ACTIONS(7116),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7116),
    [anon_sym_AMP_EQ] = ACTIONS(7116),
    [anon_sym_PERCENT_EQ] = ACTIONS(7116),
    [anon_sym_GT_GT_EQ] = ACTIONS(7116),
    [anon_sym_LT_LT_EQ] = ACTIONS(7116),
    [anon_sym_CARET_EQ] = ACTIONS(7116),
    [anon_sym_QMARK] = ACTIONS(7118),
    [anon_sym_DOT_DOT] = ACTIONS(7118),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7116),
    [anon_sym_and] = ACTIONS(7118),
    [anon_sym_or] = ACTIONS(7118),
    [anon_sym_PIPE_PIPE] = ACTIONS(7118),
    [anon_sym_AMP_AMP] = ACTIONS(7118),
    [anon_sym_LT_LT] = ACTIONS(7118),
    [anon_sym_GT_GT] = ACTIONS(7118),
    [anon_sym_EQ_EQ] = ACTIONS(7118),
    [anon_sym_BANG_EQ] = ACTIONS(7116),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7116),
    [anon_sym_LT_EQ_GT] = ACTIONS(7116),
    [anon_sym_EQ_TILDE] = ACTIONS(7116),
    [anon_sym_BANG_TILDE] = ACTIONS(7116),
    [anon_sym_LT_EQ] = ACTIONS(7118),
    [anon_sym_GT] = ACTIONS(7118),
    [anon_sym_GT_EQ] = ACTIONS(7116),
    [anon_sym_CARET] = ACTIONS(7118),
    [anon_sym_PLUS] = ACTIONS(7118),
    [anon_sym_SLASH] = ACTIONS(7118),
    [anon_sym_PERCENT] = ACTIONS(7118),
    [anon_sym_defined_QMARK] = ACTIONS(7116),
    [anon_sym_not] = ACTIONS(7118),
    [anon_sym_BANG] = ACTIONS(7118),
    [anon_sym_TILDE] = ACTIONS(7116),
    [sym_constant] = ACTIONS(7120),
    [sym_identifier] = ACTIONS(7120),
    [sym_instance_variable] = ACTIONS(7118),
    [sym_class_variable] = ACTIONS(7118),
    [sym_global_variable] = ACTIONS(7118),
    [anon_sym_alias] = ACTIONS(7118),
    [anon_sym_defined] = ACTIONS(7118),
    [anon_sym_false] = ACTIONS(7118),
    [anon_sym_nil] = ACTIONS(7118),
    [anon_sym_self] = ACTIONS(7118),
    [anon_sym_super] = ACTIONS(7118),
    [anon_sym_true] = ACTIONS(7118),
    [anon_sym_undef] = ACTIONS(7118),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(7118),
    [sym_float] = ACTIONS(7120),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(7116),
    [anon_sym_TRUE] = ACTIONS(7118),
    [anon_sym_FALSE] = ACTIONS(7118),
    [anon_sym_NIL] = ACTIONS(7118),
    [sym_keyword__FILE__] = ACTIONS(7118),
    [sym_keyword__LINE__] = ACTIONS(7118),
    [sym_keyword__ENCODING__] = ACTIONS(7118),
    [sym__character_literal] = ACTIONS(7118),
    [anon_sym_LBRACK] = ACTIONS(7116),
    [anon_sym_DASH_GT] = ACTIONS(7116),
  },
  [6473] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1382),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(9642),
    [sym__argument] = STATE(1385),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1386),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1387),
    [sym__variable] = STATE(1383),
    [sym_reserved_identifier] = STATE(1388),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1389),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(9643),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(2154),
    [sym__splat_star] = ACTIONS(2156),
    [sym__unary_minus] = ACTIONS(2158),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(12542),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2162),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2164),
    [anon_sym_yield] = ACTIONS(2166),
    [anon_sym_break] = ACTIONS(2168),
    [anon_sym_next] = ACTIONS(2170),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2172),
    [anon_sym_defined_QMARK] = ACTIONS(2174),
    [anon_sym_not] = ACTIONS(2176),
    [anon_sym_BANG] = ACTIONS(2178),
    [anon_sym_TILDE] = ACTIONS(2178),
    [sym_constant] = ACTIONS(2180),
    [sym_identifier] = ACTIONS(2180),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6474] = {
    [sym__simple_string] = ACTIONS(1856),
    [sym__simple_symbol] = ACTIONS(1856),
    [sym__simple_subshell] = ACTIONS(1856),
    [sym__simple_regex] = ACTIONS(1856),
    [sym__simple_word_list] = ACTIONS(1856),
    [sym__simple_heredoc_body] = ACTIONS(1856),
    [sym__string_beginning] = ACTIONS(1856),
    [sym__symbol_beginning] = ACTIONS(1856),
    [sym__subshell_beginning] = ACTIONS(1856),
    [sym__regex_beginning] = ACTIONS(1856),
    [sym__word_list_beginning] = ACTIONS(1856),
    [sym__heredoc_body_beginning] = ACTIONS(1856),
    [sym_heredoc_beginning] = ACTIONS(1856),
    [sym__line_break] = ACTIONS(1856),
    [sym__element_reference_left_bracket] = ACTIONS(1856),
    [sym__block_ampersand] = ACTIONS(1856),
    [sym__splat_star] = ACTIONS(1856),
    [sym__argument_list_left_paren] = ACTIONS(1856),
    [sym__scope_double_colon] = ACTIONS(1856),
    [sym__unary_minus] = ACTIONS(1856),
    [sym__binary_minus] = ACTIONS(1856),
    [sym__binary_star] = ACTIONS(1856),
    [anon_sym_LBRACE] = ACTIONS(1856),
    [anon_sym_RBRACE] = ACTIONS(1856),
    [anon_sym_def] = ACTIONS(1858),
    [anon_sym_LPAREN] = ACTIONS(1856),
    [anon_sym_RPAREN] = ACTIONS(1856),
    [anon_sym_DOT] = ACTIONS(1858),
    [anon_sym_COLON_COLON] = ACTIONS(1856),
    [anon_sym_end] = ACTIONS(1858),
    [anon_sym_COMMA] = ACTIONS(1856),
    [anon_sym_PIPE] = ACTIONS(1858),
    [anon_sym_SEMI] = ACTIONS(1856),
    [anon_sym_STAR] = ACTIONS(1858),
    [anon_sym_STAR_STAR] = ACTIONS(1858),
    [anon_sym_AMP] = ACTIONS(1858),
    [anon_sym_EQ] = ACTIONS(1858),
    [anon_sym_class] = ACTIONS(1858),
    [anon_sym_LT] = ACTIONS(1858),
    [anon_sym_module] = ACTIONS(1858),
    [anon_sym_return] = ACTIONS(1858),
    [anon_sym_yield] = ACTIONS(1858),
    [anon_sym_break] = ACTIONS(1858),
    [anon_sym_next] = ACTIONS(1858),
    [anon_sym_redo] = ACTIONS(1858),
    [anon_sym_retry] = ACTIONS(1858),
    [anon_sym_if] = ACTIONS(1858),
    [anon_sym_unless] = ACTIONS(1858),
    [anon_sym_while] = ACTIONS(1858),
    [anon_sym_until] = ACTIONS(1858),
    [anon_sym_rescue] = ACTIONS(1858),
    [anon_sym_for] = ACTIONS(1858),
    [anon_sym_in] = ACTIONS(1858),
    [anon_sym_do] = ACTIONS(1858),
    [anon_sym_case] = ACTIONS(1858),
    [anon_sym_when] = ACTIONS(1858),
    [anon_sym_elsif] = ACTIONS(1858),
    [anon_sym_else] = ACTIONS(1858),
    [anon_sym_then] = ACTIONS(1858),
    [anon_sym_begin] = ACTIONS(1858),
    [anon_sym_ensure] = ACTIONS(1858),
    [anon_sym_EQ_GT] = ACTIONS(1856),
    [anon_sym_AMP_DOT] = ACTIONS(1856),
    [anon_sym_PLUS_EQ] = ACTIONS(1856),
    [anon_sym_DASH_EQ] = ACTIONS(1856),
    [anon_sym_STAR_EQ] = ACTIONS(1856),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1856),
    [anon_sym_SLASH_EQ] = ACTIONS(1856),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1856),
    [anon_sym_PIPE_EQ] = ACTIONS(1856),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1856),
    [anon_sym_AMP_EQ] = ACTIONS(1856),
    [anon_sym_PERCENT_EQ] = ACTIONS(1856),
    [anon_sym_GT_GT_EQ] = ACTIONS(1856),
    [anon_sym_LT_LT_EQ] = ACTIONS(1856),
    [anon_sym_CARET_EQ] = ACTIONS(1856),
    [anon_sym_QMARK] = ACTIONS(1858),
    [anon_sym_DOT_DOT] = ACTIONS(1858),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1856),
    [anon_sym_and] = ACTIONS(1858),
    [anon_sym_or] = ACTIONS(1858),
    [anon_sym_PIPE_PIPE] = ACTIONS(1858),
    [anon_sym_AMP_AMP] = ACTIONS(1858),
    [anon_sym_LT_LT] = ACTIONS(1858),
    [anon_sym_GT_GT] = ACTIONS(1858),
    [anon_sym_EQ_EQ] = ACTIONS(1858),
    [anon_sym_BANG_EQ] = ACTIONS(1856),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1856),
    [anon_sym_LT_EQ_GT] = ACTIONS(1856),
    [anon_sym_EQ_TILDE] = ACTIONS(1856),
    [anon_sym_BANG_TILDE] = ACTIONS(1856),
    [anon_sym_LT_EQ] = ACTIONS(1858),
    [anon_sym_GT] = ACTIONS(1858),
    [anon_sym_GT_EQ] = ACTIONS(1856),
    [anon_sym_CARET] = ACTIONS(1858),
    [anon_sym_PLUS] = ACTIONS(1858),
    [anon_sym_SLASH] = ACTIONS(1858),
    [anon_sym_PERCENT] = ACTIONS(1858),
    [anon_sym_defined_QMARK] = ACTIONS(1856),
    [anon_sym_not] = ACTIONS(1858),
    [anon_sym_BANG] = ACTIONS(1858),
    [anon_sym_TILDE] = ACTIONS(1856),
    [sym_constant] = ACTIONS(7124),
    [sym_identifier] = ACTIONS(7124),
    [sym_instance_variable] = ACTIONS(1858),
    [sym_class_variable] = ACTIONS(1858),
    [sym_global_variable] = ACTIONS(1858),
    [anon_sym_alias] = ACTIONS(1858),
    [anon_sym_defined] = ACTIONS(1858),
    [anon_sym_false] = ACTIONS(1858),
    [anon_sym_nil] = ACTIONS(1858),
    [anon_sym_self] = ACTIONS(1858),
    [anon_sym_super] = ACTIONS(1858),
    [anon_sym_true] = ACTIONS(1858),
    [anon_sym_undef] = ACTIONS(1858),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1858),
    [sym_float] = ACTIONS(7124),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1856),
    [anon_sym_TRUE] = ACTIONS(1858),
    [anon_sym_FALSE] = ACTIONS(1858),
    [anon_sym_NIL] = ACTIONS(1858),
    [sym_keyword__FILE__] = ACTIONS(1858),
    [sym_keyword__LINE__] = ACTIONS(1858),
    [sym_keyword__ENCODING__] = ACTIONS(1858),
    [sym__character_literal] = ACTIONS(1858),
    [anon_sym_LBRACK] = ACTIONS(1856),
    [anon_sym_DASH_GT] = ACTIONS(1856),
  },
  [6475] = {
    [sym__simple_string] = ACTIONS(7126),
    [sym__simple_symbol] = ACTIONS(7126),
    [sym__simple_subshell] = ACTIONS(7126),
    [sym__simple_regex] = ACTIONS(7126),
    [sym__simple_word_list] = ACTIONS(7126),
    [sym__simple_heredoc_body] = ACTIONS(7126),
    [sym__string_beginning] = ACTIONS(7126),
    [sym__symbol_beginning] = ACTIONS(7126),
    [sym__subshell_beginning] = ACTIONS(7126),
    [sym__regex_beginning] = ACTIONS(7126),
    [sym__word_list_beginning] = ACTIONS(7126),
    [sym__heredoc_body_beginning] = ACTIONS(7126),
    [sym_heredoc_beginning] = ACTIONS(7126),
    [sym__line_break] = ACTIONS(7126),
    [sym__element_reference_left_bracket] = ACTIONS(7126),
    [sym__block_ampersand] = ACTIONS(7126),
    [sym__splat_star] = ACTIONS(7126),
    [sym__argument_list_left_paren] = ACTIONS(7126),
    [sym__scope_double_colon] = ACTIONS(7126),
    [sym__unary_minus] = ACTIONS(7126),
    [sym__binary_minus] = ACTIONS(7126),
    [sym__binary_star] = ACTIONS(7126),
    [anon_sym_LBRACE] = ACTIONS(7126),
    [anon_sym_RBRACE] = ACTIONS(7126),
    [anon_sym_def] = ACTIONS(7128),
    [anon_sym_LPAREN] = ACTIONS(7126),
    [anon_sym_RPAREN] = ACTIONS(7126),
    [anon_sym_DOT] = ACTIONS(7128),
    [anon_sym_COLON_COLON] = ACTIONS(7126),
    [anon_sym_end] = ACTIONS(7128),
    [anon_sym_COMMA] = ACTIONS(7126),
    [anon_sym_PIPE] = ACTIONS(7128),
    [anon_sym_SEMI] = ACTIONS(7126),
    [anon_sym_STAR] = ACTIONS(7128),
    [anon_sym_STAR_STAR] = ACTIONS(7128),
    [anon_sym_AMP] = ACTIONS(7128),
    [anon_sym_EQ] = ACTIONS(7128),
    [anon_sym_class] = ACTIONS(7128),
    [anon_sym_LT] = ACTIONS(7128),
    [anon_sym_module] = ACTIONS(7128),
    [anon_sym_return] = ACTIONS(7128),
    [anon_sym_yield] = ACTIONS(7128),
    [anon_sym_break] = ACTIONS(7128),
    [anon_sym_next] = ACTIONS(7128),
    [anon_sym_redo] = ACTIONS(7128),
    [anon_sym_retry] = ACTIONS(7128),
    [anon_sym_if] = ACTIONS(7128),
    [anon_sym_unless] = ACTIONS(7128),
    [anon_sym_while] = ACTIONS(7128),
    [anon_sym_until] = ACTIONS(7128),
    [anon_sym_rescue] = ACTIONS(7128),
    [anon_sym_for] = ACTIONS(7128),
    [anon_sym_in] = ACTIONS(7128),
    [anon_sym_do] = ACTIONS(7128),
    [anon_sym_case] = ACTIONS(7128),
    [anon_sym_when] = ACTIONS(7128),
    [anon_sym_elsif] = ACTIONS(7128),
    [anon_sym_else] = ACTIONS(7128),
    [anon_sym_then] = ACTIONS(7128),
    [anon_sym_begin] = ACTIONS(7128),
    [anon_sym_ensure] = ACTIONS(7128),
    [anon_sym_EQ_GT] = ACTIONS(7126),
    [anon_sym_AMP_DOT] = ACTIONS(7126),
    [anon_sym_PLUS_EQ] = ACTIONS(7126),
    [anon_sym_DASH_EQ] = ACTIONS(7126),
    [anon_sym_STAR_EQ] = ACTIONS(7126),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7126),
    [anon_sym_SLASH_EQ] = ACTIONS(7126),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7126),
    [anon_sym_PIPE_EQ] = ACTIONS(7126),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7126),
    [anon_sym_AMP_EQ] = ACTIONS(7126),
    [anon_sym_PERCENT_EQ] = ACTIONS(7126),
    [anon_sym_GT_GT_EQ] = ACTIONS(7126),
    [anon_sym_LT_LT_EQ] = ACTIONS(7126),
    [anon_sym_CARET_EQ] = ACTIONS(7126),
    [anon_sym_QMARK] = ACTIONS(7128),
    [anon_sym_DOT_DOT] = ACTIONS(7128),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7126),
    [anon_sym_and] = ACTIONS(7128),
    [anon_sym_or] = ACTIONS(7128),
    [anon_sym_PIPE_PIPE] = ACTIONS(7128),
    [anon_sym_AMP_AMP] = ACTIONS(7128),
    [anon_sym_LT_LT] = ACTIONS(7128),
    [anon_sym_GT_GT] = ACTIONS(7128),
    [anon_sym_EQ_EQ] = ACTIONS(7128),
    [anon_sym_BANG_EQ] = ACTIONS(7126),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7126),
    [anon_sym_LT_EQ_GT] = ACTIONS(7126),
    [anon_sym_EQ_TILDE] = ACTIONS(7126),
    [anon_sym_BANG_TILDE] = ACTIONS(7126),
    [anon_sym_LT_EQ] = ACTIONS(7128),
    [anon_sym_GT] = ACTIONS(7128),
    [anon_sym_GT_EQ] = ACTIONS(7126),
    [anon_sym_CARET] = ACTIONS(7128),
    [anon_sym_PLUS] = ACTIONS(7128),
    [anon_sym_SLASH] = ACTIONS(7128),
    [anon_sym_PERCENT] = ACTIONS(7128),
    [anon_sym_defined_QMARK] = ACTIONS(7126),
    [anon_sym_not] = ACTIONS(7128),
    [anon_sym_BANG] = ACTIONS(7128),
    [anon_sym_TILDE] = ACTIONS(7126),
    [sym_constant] = ACTIONS(7130),
    [sym_identifier] = ACTIONS(7130),
    [sym_instance_variable] = ACTIONS(7128),
    [sym_class_variable] = ACTIONS(7128),
    [sym_global_variable] = ACTIONS(7128),
    [anon_sym_alias] = ACTIONS(7128),
    [anon_sym_defined] = ACTIONS(7128),
    [anon_sym_false] = ACTIONS(7128),
    [anon_sym_nil] = ACTIONS(7128),
    [anon_sym_self] = ACTIONS(7128),
    [anon_sym_super] = ACTIONS(7128),
    [anon_sym_true] = ACTIONS(7128),
    [anon_sym_undef] = ACTIONS(7128),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(7128),
    [sym_float] = ACTIONS(7130),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(7126),
    [anon_sym_TRUE] = ACTIONS(7128),
    [anon_sym_FALSE] = ACTIONS(7128),
    [anon_sym_NIL] = ACTIONS(7128),
    [sym_keyword__FILE__] = ACTIONS(7128),
    [sym_keyword__LINE__] = ACTIONS(7128),
    [sym_keyword__ENCODING__] = ACTIONS(7128),
    [sym__character_literal] = ACTIONS(7128),
    [anon_sym_LBRACK] = ACTIONS(7126),
    [anon_sym_DASH_GT] = ACTIONS(7126),
  },
  [6476] = {
    [sym__simple_string] = ACTIONS(7132),
    [sym__simple_symbol] = ACTIONS(7132),
    [sym__simple_subshell] = ACTIONS(7132),
    [sym__simple_regex] = ACTIONS(7132),
    [sym__simple_word_list] = ACTIONS(7132),
    [sym__simple_heredoc_body] = ACTIONS(7132),
    [sym__string_beginning] = ACTIONS(7132),
    [sym__symbol_beginning] = ACTIONS(7132),
    [sym__subshell_beginning] = ACTIONS(7132),
    [sym__regex_beginning] = ACTIONS(7132),
    [sym__word_list_beginning] = ACTIONS(7132),
    [sym__heredoc_body_beginning] = ACTIONS(7132),
    [sym_heredoc_beginning] = ACTIONS(7132),
    [sym__line_break] = ACTIONS(7132),
    [sym__element_reference_left_bracket] = ACTIONS(7132),
    [sym__block_ampersand] = ACTIONS(7132),
    [sym__splat_star] = ACTIONS(7132),
    [sym__argument_list_left_paren] = ACTIONS(7132),
    [sym__scope_double_colon] = ACTIONS(7132),
    [sym__unary_minus] = ACTIONS(7132),
    [sym__binary_minus] = ACTIONS(7132),
    [sym__binary_star] = ACTIONS(7132),
    [anon_sym_LBRACE] = ACTIONS(7132),
    [anon_sym_RBRACE] = ACTIONS(7132),
    [anon_sym_def] = ACTIONS(7134),
    [anon_sym_LPAREN] = ACTIONS(7132),
    [anon_sym_RPAREN] = ACTIONS(7132),
    [anon_sym_DOT] = ACTIONS(7134),
    [anon_sym_COLON_COLON] = ACTIONS(7132),
    [anon_sym_end] = ACTIONS(7134),
    [anon_sym_COMMA] = ACTIONS(7132),
    [anon_sym_PIPE] = ACTIONS(7134),
    [anon_sym_SEMI] = ACTIONS(7132),
    [anon_sym_STAR] = ACTIONS(7134),
    [anon_sym_STAR_STAR] = ACTIONS(7134),
    [anon_sym_AMP] = ACTIONS(7134),
    [anon_sym_EQ] = ACTIONS(7134),
    [anon_sym_class] = ACTIONS(7134),
    [anon_sym_LT] = ACTIONS(7134),
    [anon_sym_module] = ACTIONS(7134),
    [anon_sym_return] = ACTIONS(7134),
    [anon_sym_yield] = ACTIONS(7134),
    [anon_sym_break] = ACTIONS(7134),
    [anon_sym_next] = ACTIONS(7134),
    [anon_sym_redo] = ACTIONS(7134),
    [anon_sym_retry] = ACTIONS(7134),
    [anon_sym_if] = ACTIONS(7134),
    [anon_sym_unless] = ACTIONS(7134),
    [anon_sym_while] = ACTIONS(7134),
    [anon_sym_until] = ACTIONS(7134),
    [anon_sym_rescue] = ACTIONS(7134),
    [anon_sym_for] = ACTIONS(7134),
    [anon_sym_in] = ACTIONS(7134),
    [anon_sym_do] = ACTIONS(7134),
    [anon_sym_case] = ACTIONS(7134),
    [anon_sym_when] = ACTIONS(7134),
    [anon_sym_elsif] = ACTIONS(7134),
    [anon_sym_else] = ACTIONS(7134),
    [anon_sym_then] = ACTIONS(7134),
    [anon_sym_begin] = ACTIONS(7134),
    [anon_sym_ensure] = ACTIONS(7134),
    [anon_sym_EQ_GT] = ACTIONS(7132),
    [anon_sym_AMP_DOT] = ACTIONS(7132),
    [anon_sym_PLUS_EQ] = ACTIONS(7132),
    [anon_sym_DASH_EQ] = ACTIONS(7132),
    [anon_sym_STAR_EQ] = ACTIONS(7132),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7132),
    [anon_sym_SLASH_EQ] = ACTIONS(7132),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7132),
    [anon_sym_PIPE_EQ] = ACTIONS(7132),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7132),
    [anon_sym_AMP_EQ] = ACTIONS(7132),
    [anon_sym_PERCENT_EQ] = ACTIONS(7132),
    [anon_sym_GT_GT_EQ] = ACTIONS(7132),
    [anon_sym_LT_LT_EQ] = ACTIONS(7132),
    [anon_sym_CARET_EQ] = ACTIONS(7132),
    [anon_sym_QMARK] = ACTIONS(7134),
    [anon_sym_DOT_DOT] = ACTIONS(7134),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7132),
    [anon_sym_and] = ACTIONS(7134),
    [anon_sym_or] = ACTIONS(7134),
    [anon_sym_PIPE_PIPE] = ACTIONS(7134),
    [anon_sym_AMP_AMP] = ACTIONS(7134),
    [anon_sym_LT_LT] = ACTIONS(7134),
    [anon_sym_GT_GT] = ACTIONS(7134),
    [anon_sym_EQ_EQ] = ACTIONS(7134),
    [anon_sym_BANG_EQ] = ACTIONS(7132),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7132),
    [anon_sym_LT_EQ_GT] = ACTIONS(7132),
    [anon_sym_EQ_TILDE] = ACTIONS(7132),
    [anon_sym_BANG_TILDE] = ACTIONS(7132),
    [anon_sym_LT_EQ] = ACTIONS(7134),
    [anon_sym_GT] = ACTIONS(7134),
    [anon_sym_GT_EQ] = ACTIONS(7132),
    [anon_sym_CARET] = ACTIONS(7134),
    [anon_sym_PLUS] = ACTIONS(7134),
    [anon_sym_SLASH] = ACTIONS(7134),
    [anon_sym_PERCENT] = ACTIONS(7134),
    [anon_sym_defined_QMARK] = ACTIONS(7132),
    [anon_sym_not] = ACTIONS(7134),
    [anon_sym_BANG] = ACTIONS(7134),
    [anon_sym_TILDE] = ACTIONS(7132),
    [sym_constant] = ACTIONS(7136),
    [sym_identifier] = ACTIONS(7136),
    [sym_instance_variable] = ACTIONS(7134),
    [sym_class_variable] = ACTIONS(7134),
    [sym_global_variable] = ACTIONS(7134),
    [anon_sym_alias] = ACTIONS(7134),
    [anon_sym_defined] = ACTIONS(7134),
    [anon_sym_false] = ACTIONS(7134),
    [anon_sym_nil] = ACTIONS(7134),
    [anon_sym_self] = ACTIONS(7134),
    [anon_sym_super] = ACTIONS(7134),
    [anon_sym_true] = ACTIONS(7134),
    [anon_sym_undef] = ACTIONS(7134),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(7134),
    [sym_float] = ACTIONS(7136),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(7132),
    [anon_sym_TRUE] = ACTIONS(7134),
    [anon_sym_FALSE] = ACTIONS(7134),
    [anon_sym_NIL] = ACTIONS(7134),
    [sym_keyword__FILE__] = ACTIONS(7134),
    [sym_keyword__LINE__] = ACTIONS(7134),
    [sym_keyword__ENCODING__] = ACTIONS(7134),
    [sym__character_literal] = ACTIONS(7134),
    [anon_sym_LBRACK] = ACTIONS(7132),
    [anon_sym_DASH_GT] = ACTIONS(7132),
  },
  [6477] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__line_break] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(4872),
    [sym__binary_star] = ACTIONS(4874),
    [anon_sym_LBRACE] = ACTIONS(5298),
    [anon_sym_RPAREN] = ACTIONS(5298),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(4876),
    [anon_sym_SEMI] = ACTIONS(5298),
    [anon_sym_STAR_STAR] = ACTIONS(4878),
    [anon_sym_AMP] = ACTIONS(4880),
    [anon_sym_EQ] = ACTIONS(5304),
    [anon_sym_LT] = ACTIONS(4882),
    [anon_sym_if] = ACTIONS(5298),
    [anon_sym_unless] = ACTIONS(5298),
    [anon_sym_while] = ACTIONS(5298),
    [anon_sym_until] = ACTIONS(5298),
    [anon_sym_rescue] = ACTIONS(5298),
    [anon_sym_do] = ACTIONS(5298),
    [anon_sym_EQ_GT] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_PLUS_EQ] = ACTIONS(5298),
    [anon_sym_DASH_EQ] = ACTIONS(5298),
    [anon_sym_STAR_EQ] = ACTIONS(5298),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5298),
    [anon_sym_SLASH_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5298),
    [anon_sym_AMP_EQ] = ACTIONS(5298),
    [anon_sym_PERCENT_EQ] = ACTIONS(5298),
    [anon_sym_GT_GT_EQ] = ACTIONS(5298),
    [anon_sym_LT_LT_EQ] = ACTIONS(5298),
    [anon_sym_CARET_EQ] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(4884),
    [anon_sym_DOT_DOT] = ACTIONS(4886),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4888),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(4890),
    [anon_sym_AMP_AMP] = ACTIONS(4890),
    [anon_sym_LT_LT] = ACTIONS(4892),
    [anon_sym_GT_GT] = ACTIONS(4892),
    [anon_sym_EQ_EQ] = ACTIONS(4890),
    [anon_sym_BANG_EQ] = ACTIONS(4894),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4894),
    [anon_sym_LT_EQ_GT] = ACTIONS(4894),
    [anon_sym_EQ_TILDE] = ACTIONS(4894),
    [anon_sym_BANG_TILDE] = ACTIONS(4894),
    [anon_sym_LT_EQ] = ACTIONS(4882),
    [anon_sym_GT] = ACTIONS(4882),
    [anon_sym_GT_EQ] = ACTIONS(4896),
    [anon_sym_CARET] = ACTIONS(4876),
    [anon_sym_PLUS] = ACTIONS(4898),
    [anon_sym_SLASH] = ACTIONS(4878),
    [anon_sym_PERCENT] = ACTIONS(4878),
    [sym_comment] = ACTIONS(256),
  },
  [6478] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__line_break] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(4872),
    [sym__binary_star] = ACTIONS(4874),
    [anon_sym_LBRACE] = ACTIONS(5338),
    [anon_sym_RPAREN] = ACTIONS(5338),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(4876),
    [anon_sym_SEMI] = ACTIONS(5338),
    [anon_sym_STAR_STAR] = ACTIONS(4878),
    [anon_sym_AMP] = ACTIONS(4880),
    [anon_sym_EQ] = ACTIONS(5340),
    [anon_sym_LT] = ACTIONS(4882),
    [anon_sym_if] = ACTIONS(5338),
    [anon_sym_unless] = ACTIONS(5338),
    [anon_sym_while] = ACTIONS(5338),
    [anon_sym_until] = ACTIONS(5338),
    [anon_sym_rescue] = ACTIONS(5338),
    [anon_sym_do] = ACTIONS(5338),
    [anon_sym_EQ_GT] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_PLUS_EQ] = ACTIONS(5338),
    [anon_sym_DASH_EQ] = ACTIONS(5338),
    [anon_sym_STAR_EQ] = ACTIONS(5338),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5338),
    [anon_sym_SLASH_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5338),
    [anon_sym_AMP_EQ] = ACTIONS(5338),
    [anon_sym_PERCENT_EQ] = ACTIONS(5338),
    [anon_sym_GT_GT_EQ] = ACTIONS(5338),
    [anon_sym_LT_LT_EQ] = ACTIONS(5338),
    [anon_sym_CARET_EQ] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(4884),
    [anon_sym_DOT_DOT] = ACTIONS(4886),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4888),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(4890),
    [anon_sym_AMP_AMP] = ACTIONS(4890),
    [anon_sym_LT_LT] = ACTIONS(4892),
    [anon_sym_GT_GT] = ACTIONS(4892),
    [anon_sym_EQ_EQ] = ACTIONS(4890),
    [anon_sym_BANG_EQ] = ACTIONS(4894),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4894),
    [anon_sym_LT_EQ_GT] = ACTIONS(4894),
    [anon_sym_EQ_TILDE] = ACTIONS(4894),
    [anon_sym_BANG_TILDE] = ACTIONS(4894),
    [anon_sym_LT_EQ] = ACTIONS(4882),
    [anon_sym_GT] = ACTIONS(4882),
    [anon_sym_GT_EQ] = ACTIONS(4896),
    [anon_sym_CARET] = ACTIONS(4876),
    [anon_sym_PLUS] = ACTIONS(4898),
    [anon_sym_SLASH] = ACTIONS(4878),
    [anon_sym_PERCENT] = ACTIONS(4878),
    [sym_comment] = ACTIONS(256),
  },
  [6479] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__line_break] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(4872),
    [sym__binary_star] = ACTIONS(4874),
    [anon_sym_LBRACE] = ACTIONS(4284),
    [anon_sym_RPAREN] = ACTIONS(4284),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(4876),
    [anon_sym_SEMI] = ACTIONS(4284),
    [anon_sym_STAR_STAR] = ACTIONS(4878),
    [anon_sym_AMP] = ACTIONS(4880),
    [anon_sym_EQ] = ACTIONS(5432),
    [anon_sym_LT] = ACTIONS(4882),
    [anon_sym_if] = ACTIONS(4284),
    [anon_sym_unless] = ACTIONS(4284),
    [anon_sym_while] = ACTIONS(4284),
    [anon_sym_until] = ACTIONS(4284),
    [anon_sym_rescue] = ACTIONS(4284),
    [anon_sym_do] = ACTIONS(4284),
    [anon_sym_EQ_GT] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_PLUS_EQ] = ACTIONS(4284),
    [anon_sym_DASH_EQ] = ACTIONS(4284),
    [anon_sym_STAR_EQ] = ACTIONS(4284),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(4284),
    [anon_sym_SLASH_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(4284),
    [anon_sym_AMP_EQ] = ACTIONS(4284),
    [anon_sym_PERCENT_EQ] = ACTIONS(4284),
    [anon_sym_GT_GT_EQ] = ACTIONS(4284),
    [anon_sym_LT_LT_EQ] = ACTIONS(4284),
    [anon_sym_CARET_EQ] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(4884),
    [anon_sym_DOT_DOT] = ACTIONS(4886),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4888),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(4890),
    [anon_sym_AMP_AMP] = ACTIONS(4890),
    [anon_sym_LT_LT] = ACTIONS(4892),
    [anon_sym_GT_GT] = ACTIONS(4892),
    [anon_sym_EQ_EQ] = ACTIONS(4890),
    [anon_sym_BANG_EQ] = ACTIONS(4894),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4894),
    [anon_sym_LT_EQ_GT] = ACTIONS(4894),
    [anon_sym_EQ_TILDE] = ACTIONS(4894),
    [anon_sym_BANG_TILDE] = ACTIONS(4894),
    [anon_sym_LT_EQ] = ACTIONS(4882),
    [anon_sym_GT] = ACTIONS(4882),
    [anon_sym_GT_EQ] = ACTIONS(4896),
    [anon_sym_CARET] = ACTIONS(4876),
    [anon_sym_PLUS] = ACTIONS(4898),
    [anon_sym_SLASH] = ACTIONS(4878),
    [anon_sym_PERCENT] = ACTIONS(4878),
    [sym_comment] = ACTIONS(256),
  },
  [6480] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(9644),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1222),
    [sym_call] = STATE(1222),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1224),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1225),
    [sym__variable] = STATE(1222),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(1980),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(4858),
    [anon_sym_yield] = ACTIONS(4860),
    [anon_sym_break] = ACTIONS(4862),
    [anon_sym_next] = ACTIONS(4864),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(4866),
    [anon_sym_defined_QMARK] = ACTIONS(1990),
    [anon_sym_not] = ACTIONS(4868),
    [anon_sym_BANG] = ACTIONS(1996),
    [anon_sym_TILDE] = ACTIONS(1996),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [6481] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(3322),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1222),
    [sym_call] = STATE(1222),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(6946),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1224),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1225),
    [sym__variable] = STATE(1222),
    [sym_reserved_identifier] = STATE(3324),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(3325),
    [sym_subshell] = STATE(561),
    [sym_heredoc_end] = STATE(9645),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__block_ampersand] = ACTIONS(4810),
    [sym__splat_star] = ACTIONS(4812),
    [sym__unary_minus] = ACTIONS(1980),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(12544),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(1982),
    [anon_sym_yield] = ACTIONS(1984),
    [anon_sym_break] = ACTIONS(1986),
    [anon_sym_next] = ACTIONS(1988),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(4866),
    [anon_sym_defined_QMARK] = ACTIONS(1990),
    [anon_sym_not] = ACTIONS(1992),
    [anon_sym_BANG] = ACTIONS(1996),
    [anon_sym_TILDE] = ACTIONS(1996),
    [sym_constant] = ACTIONS(4814),
    [sym_identifier] = ACTIONS(4814),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [6482] = {
    [sym_heredoc_end] = STATE(3770),
    [aux_sym_argument_list_repeat2] = STATE(6949),
    [sym__simple_heredoc_body] = ACTIONS(5460),
    [sym__heredoc_body_beginning] = ACTIONS(5462),
    [sym__line_break] = ACTIONS(5472),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_LBRACE] = ACTIONS(5472),
    [anon_sym_RPAREN] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(12546),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_SEMI] = ACTIONS(5472),
    [anon_sym_STAR_STAR] = ACTIONS(5474),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_EQ] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_if] = ACTIONS(5472),
    [anon_sym_unless] = ACTIONS(5472),
    [anon_sym_while] = ACTIONS(5472),
    [anon_sym_until] = ACTIONS(5472),
    [anon_sym_rescue] = ACTIONS(5472),
    [anon_sym_do] = ACTIONS(5472),
    [anon_sym_EQ_GT] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_PLUS_EQ] = ACTIONS(5472),
    [anon_sym_DASH_EQ] = ACTIONS(5472),
    [anon_sym_STAR_EQ] = ACTIONS(5472),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5472),
    [anon_sym_SLASH_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5472),
    [anon_sym_AMP_EQ] = ACTIONS(5472),
    [anon_sym_PERCENT_EQ] = ACTIONS(5472),
    [anon_sym_GT_GT_EQ] = ACTIONS(5472),
    [anon_sym_LT_LT_EQ] = ACTIONS(5472),
    [anon_sym_CARET_EQ] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5474),
    [anon_sym_AMP_AMP] = ACTIONS(5474),
    [anon_sym_LT_LT] = ACTIONS(5474),
    [anon_sym_GT_GT] = ACTIONS(5474),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5474),
    [anon_sym_PLUS] = ACTIONS(5474),
    [anon_sym_SLASH] = ACTIONS(5474),
    [anon_sym_PERCENT] = ACTIONS(5474),
    [sym_comment] = ACTIONS(256),
  },
  [6483] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(9647),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1222),
    [sym_call] = STATE(1222),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1224),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1225),
    [sym__variable] = STATE(1222),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(1980),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(4858),
    [anon_sym_yield] = ACTIONS(4860),
    [anon_sym_break] = ACTIONS(4862),
    [anon_sym_next] = ACTIONS(4864),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(4866),
    [anon_sym_defined_QMARK] = ACTIONS(1990),
    [anon_sym_not] = ACTIONS(4868),
    [anon_sym_BANG] = ACTIONS(1996),
    [anon_sym_TILDE] = ACTIONS(1996),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [6484] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1172),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1174),
    [sym_call] = STATE(1174),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(6955),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1176),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(1174),
    [sym_reserved_identifier] = STATE(1178),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(1179),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__block_ampersand] = ACTIONS(1888),
    [sym__splat_star] = ACTIONS(1890),
    [sym__unary_minus] = ACTIONS(1892),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(9004),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(1896),
    [anon_sym_yield] = ACTIONS(1898),
    [anon_sym_break] = ACTIONS(1900),
    [anon_sym_next] = ACTIONS(1902),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(4760),
    [anon_sym_defined_QMARK] = ACTIONS(1904),
    [anon_sym_not] = ACTIONS(1906),
    [anon_sym_BANG] = ACTIONS(1910),
    [anon_sym_TILDE] = ACTIONS(1910),
    [sym_constant] = ACTIONS(1912),
    [sym_identifier] = ACTIONS(1912),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6485] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1172),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1174),
    [sym_call] = STATE(1174),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(6955),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1176),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(1174),
    [sym_reserved_identifier] = STATE(1178),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(1179),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(9648),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__block_ampersand] = ACTIONS(1888),
    [sym__splat_star] = ACTIONS(1890),
    [sym__unary_minus] = ACTIONS(1892),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(9004),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(1896),
    [anon_sym_yield] = ACTIONS(1898),
    [anon_sym_break] = ACTIONS(1900),
    [anon_sym_next] = ACTIONS(1902),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(4760),
    [anon_sym_defined_QMARK] = ACTIONS(1904),
    [anon_sym_not] = ACTIONS(1906),
    [anon_sym_BANG] = ACTIONS(1910),
    [anon_sym_TILDE] = ACTIONS(1910),
    [sym_constant] = ACTIONS(1912),
    [sym_identifier] = ACTIONS(1912),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6486] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__line_break] = ACTIONS(6346),
    [sym__element_reference_left_bracket] = ACTIONS(6346),
    [sym__scope_double_colon] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(4774),
    [sym__binary_star] = ACTIONS(4776),
    [anon_sym_RPAREN] = ACTIONS(6346),
    [anon_sym_DOT] = ACTIONS(7328),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(4778),
    [anon_sym_SEMI] = ACTIONS(6346),
    [anon_sym_STAR_STAR] = ACTIONS(4780),
    [anon_sym_AMP] = ACTIONS(4782),
    [anon_sym_LT] = ACTIONS(4784),
    [anon_sym_if] = ACTIONS(6346),
    [anon_sym_unless] = ACTIONS(6346),
    [anon_sym_while] = ACTIONS(6346),
    [anon_sym_until] = ACTIONS(6346),
    [anon_sym_rescue] = ACTIONS(6346),
    [anon_sym_EQ_GT] = ACTIONS(6346),
    [anon_sym_AMP_DOT] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(4786),
    [anon_sym_DOT_DOT] = ACTIONS(4788),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4790),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(4792),
    [anon_sym_AMP_AMP] = ACTIONS(4792),
    [anon_sym_LT_LT] = ACTIONS(4794),
    [anon_sym_GT_GT] = ACTIONS(4794),
    [anon_sym_EQ_EQ] = ACTIONS(4796),
    [anon_sym_BANG_EQ] = ACTIONS(4792),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4792),
    [anon_sym_LT_EQ_GT] = ACTIONS(4792),
    [anon_sym_EQ_TILDE] = ACTIONS(4792),
    [anon_sym_BANG_TILDE] = ACTIONS(4792),
    [anon_sym_LT_EQ] = ACTIONS(4784),
    [anon_sym_GT] = ACTIONS(4784),
    [anon_sym_GT_EQ] = ACTIONS(4798),
    [anon_sym_CARET] = ACTIONS(4800),
    [anon_sym_PLUS] = ACTIONS(4802),
    [anon_sym_SLASH] = ACTIONS(4780),
    [anon_sym_PERCENT] = ACTIONS(4780),
    [sym_comment] = ACTIONS(110),
  },
  [6487] = {
    [aux_sym_exceptions_repeat1] = STATE(9650),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__line_break] = ACTIONS(7330),
    [sym__element_reference_left_bracket] = ACTIONS(7330),
    [sym__scope_double_colon] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_RPAREN] = ACTIONS(7330),
    [anon_sym_DOT] = ACTIONS(7332),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_SEMI] = ACTIONS(7330),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_if] = ACTIONS(7330),
    [anon_sym_unless] = ACTIONS(7330),
    [anon_sym_while] = ACTIONS(7330),
    [anon_sym_until] = ACTIONS(7330),
    [anon_sym_rescue] = ACTIONS(7330),
    [anon_sym_EQ_GT] = ACTIONS(7330),
    [anon_sym_AMP_DOT] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [6488] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__line_break] = ACTIONS(7344),
    [sym__element_reference_left_bracket] = ACTIONS(7344),
    [sym__scope_double_colon] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(4774),
    [sym__binary_star] = ACTIONS(4776),
    [anon_sym_RPAREN] = ACTIONS(7344),
    [anon_sym_DOT] = ACTIONS(9504),
    [anon_sym_COMMA] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(4778),
    [anon_sym_SEMI] = ACTIONS(7344),
    [anon_sym_STAR_STAR] = ACTIONS(4780),
    [anon_sym_AMP] = ACTIONS(4782),
    [anon_sym_LT] = ACTIONS(4784),
    [anon_sym_if] = ACTIONS(7344),
    [anon_sym_unless] = ACTIONS(7344),
    [anon_sym_while] = ACTIONS(7344),
    [anon_sym_until] = ACTIONS(7344),
    [anon_sym_rescue] = ACTIONS(7344),
    [anon_sym_EQ_GT] = ACTIONS(7344),
    [anon_sym_AMP_DOT] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(4786),
    [anon_sym_DOT_DOT] = ACTIONS(4788),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4790),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(4792),
    [anon_sym_AMP_AMP] = ACTIONS(4792),
    [anon_sym_LT_LT] = ACTIONS(4794),
    [anon_sym_GT_GT] = ACTIONS(4794),
    [anon_sym_EQ_EQ] = ACTIONS(4796),
    [anon_sym_BANG_EQ] = ACTIONS(4792),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4792),
    [anon_sym_LT_EQ_GT] = ACTIONS(4792),
    [anon_sym_EQ_TILDE] = ACTIONS(4792),
    [anon_sym_BANG_TILDE] = ACTIONS(4792),
    [anon_sym_LT_EQ] = ACTIONS(4784),
    [anon_sym_GT] = ACTIONS(4784),
    [anon_sym_GT_EQ] = ACTIONS(4798),
    [anon_sym_CARET] = ACTIONS(4800),
    [anon_sym_PLUS] = ACTIONS(4802),
    [anon_sym_SLASH] = ACTIONS(4780),
    [anon_sym_PERCENT] = ACTIONS(4780),
    [sym_comment] = ACTIONS(110),
  },
  [6489] = {
    [sym__simple_heredoc_body] = ACTIONS(8662),
    [sym__heredoc_body_beginning] = ACTIONS(8662),
    [sym__line_break] = ACTIONS(8662),
    [sym__element_reference_left_bracket] = ACTIONS(8662),
    [sym__scope_double_colon] = ACTIONS(8662),
    [sym__binary_minus] = ACTIONS(8946),
    [sym__binary_star] = ACTIONS(8948),
    [anon_sym_RPAREN] = ACTIONS(8662),
    [anon_sym_DOT] = ACTIONS(9506),
    [anon_sym_COMMA] = ACTIONS(8662),
    [anon_sym_PIPE] = ACTIONS(8950),
    [anon_sym_SEMI] = ACTIONS(8662),
    [anon_sym_STAR_STAR] = ACTIONS(8952),
    [anon_sym_AMP] = ACTIONS(8954),
    [anon_sym_LT] = ACTIONS(8956),
    [anon_sym_if] = ACTIONS(8662),
    [anon_sym_unless] = ACTIONS(8662),
    [anon_sym_while] = ACTIONS(8662),
    [anon_sym_until] = ACTIONS(8662),
    [anon_sym_rescue] = ACTIONS(8662),
    [anon_sym_AMP_DOT] = ACTIONS(8662),
    [anon_sym_QMARK] = ACTIONS(8958),
    [anon_sym_DOT_DOT] = ACTIONS(8960),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8962),
    [anon_sym_and] = ACTIONS(8662),
    [anon_sym_or] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE] = ACTIONS(8964),
    [anon_sym_AMP_AMP] = ACTIONS(8964),
    [anon_sym_LT_LT] = ACTIONS(8966),
    [anon_sym_GT_GT] = ACTIONS(8966),
    [anon_sym_EQ_EQ] = ACTIONS(8968),
    [anon_sym_BANG_EQ] = ACTIONS(8964),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8964),
    [anon_sym_LT_EQ_GT] = ACTIONS(8964),
    [anon_sym_EQ_TILDE] = ACTIONS(8964),
    [anon_sym_BANG_TILDE] = ACTIONS(8964),
    [anon_sym_LT_EQ] = ACTIONS(8956),
    [anon_sym_GT] = ACTIONS(8956),
    [anon_sym_GT_EQ] = ACTIONS(8970),
    [anon_sym_CARET] = ACTIONS(8972),
    [anon_sym_PLUS] = ACTIONS(8974),
    [anon_sym_SLASH] = ACTIONS(8952),
    [anon_sym_PERCENT] = ACTIONS(8952),
    [sym_comment] = ACTIONS(110),
  },
  [6490] = {
    [sym__simple_string] = ACTIONS(8070),
    [sym__simple_symbol] = ACTIONS(8070),
    [sym__simple_subshell] = ACTIONS(8070),
    [sym__simple_regex] = ACTIONS(8070),
    [sym__simple_word_list] = ACTIONS(8070),
    [sym__string_beginning] = ACTIONS(8070),
    [sym__symbol_beginning] = ACTIONS(8070),
    [sym__subshell_beginning] = ACTIONS(8070),
    [sym__regex_beginning] = ACTIONS(8070),
    [sym__word_list_beginning] = ACTIONS(8070),
    [sym_heredoc_beginning] = ACTIONS(8070),
    [sym__unary_minus] = ACTIONS(8070),
    [anon_sym_BEGIN] = ACTIONS(10414),
    [anon_sym_LBRACE] = ACTIONS(8070),
    [anon_sym_RBRACE] = ACTIONS(8070),
    [anon_sym_END] = ACTIONS(10414),
    [anon_sym_def] = ACTIONS(10414),
    [anon_sym_LPAREN] = ACTIONS(8070),
    [anon_sym_RPAREN] = ACTIONS(8070),
    [anon_sym_COLON_COLON] = ACTIONS(8070),
    [anon_sym_SEMI] = ACTIONS(8070),
    [anon_sym_STAR] = ACTIONS(8070),
    [anon_sym_class] = ACTIONS(10414),
    [anon_sym_module] = ACTIONS(10414),
    [anon_sym_return] = ACTIONS(10414),
    [anon_sym_yield] = ACTIONS(10414),
    [anon_sym_break] = ACTIONS(10414),
    [anon_sym_next] = ACTIONS(10414),
    [anon_sym_redo] = ACTIONS(10414),
    [anon_sym_retry] = ACTIONS(10414),
    [anon_sym_if] = ACTIONS(10414),
    [anon_sym_unless] = ACTIONS(10414),
    [anon_sym_while] = ACTIONS(10414),
    [anon_sym_until] = ACTIONS(10414),
    [anon_sym_for] = ACTIONS(10414),
    [anon_sym_case] = ACTIONS(10414),
    [anon_sym_begin] = ACTIONS(10414),
    [anon_sym_PLUS] = ACTIONS(10414),
    [anon_sym_defined_QMARK] = ACTIONS(8070),
    [anon_sym_not] = ACTIONS(10414),
    [anon_sym_BANG] = ACTIONS(8070),
    [anon_sym_TILDE] = ACTIONS(8070),
    [sym_constant] = ACTIONS(10416),
    [sym_identifier] = ACTIONS(10416),
    [sym_instance_variable] = ACTIONS(10414),
    [sym_class_variable] = ACTIONS(10414),
    [sym_global_variable] = ACTIONS(10414),
    [anon_sym_alias] = ACTIONS(10414),
    [anon_sym_false] = ACTIONS(10414),
    [anon_sym_nil] = ACTIONS(10414),
    [anon_sym_self] = ACTIONS(10414),
    [anon_sym_super] = ACTIONS(10414),
    [anon_sym_true] = ACTIONS(10414),
    [anon_sym_undef] = ACTIONS(10414),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(10414),
    [sym_float] = ACTIONS(10416),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8070),
    [anon_sym_TRUE] = ACTIONS(10414),
    [anon_sym_FALSE] = ACTIONS(10414),
    [anon_sym_NIL] = ACTIONS(10414),
    [sym_keyword__FILE__] = ACTIONS(10414),
    [sym_keyword__LINE__] = ACTIONS(10414),
    [sym_keyword__ENCODING__] = ACTIONS(10414),
    [sym__character_literal] = ACTIONS(10414),
    [anon_sym_LBRACK] = ACTIONS(8070),
    [anon_sym_DASH_GT] = ACTIONS(8070),
  },
  [6491] = {
    [sym__heredoc_body_middle] = ACTIONS(8296),
    [sym__heredoc_body_end] = ACTIONS(12548),
    [anon_sym_if] = ACTIONS(4112),
    [anon_sym_unless] = ACTIONS(4114),
    [anon_sym_while] = ACTIONS(4116),
    [anon_sym_until] = ACTIONS(4118),
    [anon_sym_rescue] = ACTIONS(4120),
    [sym_comment] = ACTIONS(110),
  },
  [6492] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9652),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(240),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(243),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(396),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(412),
    [anon_sym_defined_QMARK] = ACTIONS(414),
    [anon_sym_not] = ACTIONS(416),
    [anon_sym_BANG] = ACTIONS(418),
    [anon_sym_TILDE] = ACTIONS(418),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6493] = {
    [sym__simple_string] = ACTIONS(5370),
    [sym__simple_symbol] = ACTIONS(5370),
    [sym__simple_subshell] = ACTIONS(5370),
    [sym__simple_regex] = ACTIONS(5370),
    [sym__simple_word_list] = ACTIONS(5370),
    [sym__simple_heredoc_body] = ACTIONS(5370),
    [sym__string_beginning] = ACTIONS(5370),
    [sym__symbol_beginning] = ACTIONS(5370),
    [sym__subshell_beginning] = ACTIONS(5370),
    [sym__regex_beginning] = ACTIONS(5370),
    [sym__word_list_beginning] = ACTIONS(5370),
    [sym__heredoc_body_beginning] = ACTIONS(5370),
    [sym_heredoc_beginning] = ACTIONS(5370),
    [sym__line_break] = ACTIONS(5370),
    [sym__element_reference_left_bracket] = ACTIONS(5370),
    [sym__block_ampersand] = ACTIONS(5370),
    [sym__splat_star] = ACTIONS(5370),
    [sym__argument_list_left_paren] = ACTIONS(5370),
    [sym__scope_double_colon] = ACTIONS(5370),
    [sym__unary_minus] = ACTIONS(5370),
    [sym__binary_minus] = ACTIONS(5370),
    [sym__binary_star] = ACTIONS(5370),
    [anon_sym_LBRACE] = ACTIONS(5370),
    [anon_sym_RBRACE] = ACTIONS(5370),
    [anon_sym_def] = ACTIONS(5372),
    [anon_sym_LPAREN] = ACTIONS(5370),
    [anon_sym_RPAREN] = ACTIONS(5370),
    [anon_sym_DOT] = ACTIONS(5372),
    [anon_sym_COLON_COLON] = ACTIONS(5370),
    [anon_sym_end] = ACTIONS(5372),
    [anon_sym_COMMA] = ACTIONS(5370),
    [anon_sym_PIPE] = ACTIONS(5372),
    [anon_sym_SEMI] = ACTIONS(5370),
    [anon_sym_STAR] = ACTIONS(5372),
    [anon_sym_STAR_STAR] = ACTIONS(5372),
    [anon_sym_AMP] = ACTIONS(5372),
    [anon_sym_EQ] = ACTIONS(5372),
    [anon_sym_class] = ACTIONS(5372),
    [anon_sym_LT] = ACTIONS(5372),
    [anon_sym_module] = ACTIONS(5372),
    [anon_sym_return] = ACTIONS(5372),
    [anon_sym_yield] = ACTIONS(5372),
    [anon_sym_break] = ACTIONS(5372),
    [anon_sym_next] = ACTIONS(5372),
    [anon_sym_redo] = ACTIONS(5372),
    [anon_sym_retry] = ACTIONS(5372),
    [anon_sym_if] = ACTIONS(5372),
    [anon_sym_unless] = ACTIONS(5372),
    [anon_sym_while] = ACTIONS(5372),
    [anon_sym_until] = ACTIONS(5372),
    [anon_sym_rescue] = ACTIONS(5372),
    [anon_sym_for] = ACTIONS(5372),
    [anon_sym_in] = ACTIONS(5372),
    [anon_sym_do] = ACTIONS(5372),
    [anon_sym_case] = ACTIONS(5372),
    [anon_sym_when] = ACTIONS(5372),
    [anon_sym_elsif] = ACTIONS(5372),
    [anon_sym_else] = ACTIONS(5372),
    [anon_sym_then] = ACTIONS(5372),
    [anon_sym_begin] = ACTIONS(5372),
    [anon_sym_ensure] = ACTIONS(5372),
    [anon_sym_AMP_DOT] = ACTIONS(5370),
    [anon_sym_PLUS_EQ] = ACTIONS(5370),
    [anon_sym_DASH_EQ] = ACTIONS(5370),
    [anon_sym_STAR_EQ] = ACTIONS(5370),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5370),
    [anon_sym_SLASH_EQ] = ACTIONS(5370),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5370),
    [anon_sym_PIPE_EQ] = ACTIONS(5370),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5370),
    [anon_sym_AMP_EQ] = ACTIONS(5370),
    [anon_sym_PERCENT_EQ] = ACTIONS(5370),
    [anon_sym_GT_GT_EQ] = ACTIONS(5370),
    [anon_sym_LT_LT_EQ] = ACTIONS(5370),
    [anon_sym_CARET_EQ] = ACTIONS(5370),
    [anon_sym_QMARK] = ACTIONS(5372),
    [anon_sym_DOT_DOT] = ACTIONS(5372),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5370),
    [anon_sym_and] = ACTIONS(5372),
    [anon_sym_or] = ACTIONS(5372),
    [anon_sym_PIPE_PIPE] = ACTIONS(5372),
    [anon_sym_AMP_AMP] = ACTIONS(5372),
    [anon_sym_LT_LT] = ACTIONS(5372),
    [anon_sym_GT_GT] = ACTIONS(5372),
    [anon_sym_EQ_EQ] = ACTIONS(5372),
    [anon_sym_BANG_EQ] = ACTIONS(5370),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5370),
    [anon_sym_LT_EQ_GT] = ACTIONS(5370),
    [anon_sym_EQ_TILDE] = ACTIONS(5370),
    [anon_sym_BANG_TILDE] = ACTIONS(5370),
    [anon_sym_LT_EQ] = ACTIONS(5372),
    [anon_sym_GT] = ACTIONS(5372),
    [anon_sym_GT_EQ] = ACTIONS(5370),
    [anon_sym_CARET] = ACTIONS(5372),
    [anon_sym_PLUS] = ACTIONS(5372),
    [anon_sym_SLASH] = ACTIONS(5372),
    [anon_sym_PERCENT] = ACTIONS(5372),
    [anon_sym_defined_QMARK] = ACTIONS(5370),
    [anon_sym_not] = ACTIONS(5372),
    [anon_sym_BANG] = ACTIONS(5372),
    [anon_sym_TILDE] = ACTIONS(5370),
    [sym_constant] = ACTIONS(11322),
    [sym_identifier] = ACTIONS(11322),
    [sym_instance_variable] = ACTIONS(5372),
    [sym_class_variable] = ACTIONS(5372),
    [sym_global_variable] = ACTIONS(5372),
    [anon_sym_alias] = ACTIONS(5372),
    [anon_sym_defined] = ACTIONS(5372),
    [anon_sym_false] = ACTIONS(5372),
    [anon_sym_nil] = ACTIONS(5372),
    [anon_sym_self] = ACTIONS(5372),
    [anon_sym_super] = ACTIONS(5372),
    [anon_sym_true] = ACTIONS(5372),
    [anon_sym_undef] = ACTIONS(5372),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(5372),
    [sym_float] = ACTIONS(11322),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5370),
    [anon_sym_TRUE] = ACTIONS(5372),
    [anon_sym_FALSE] = ACTIONS(5372),
    [anon_sym_NIL] = ACTIONS(5372),
    [sym_keyword__FILE__] = ACTIONS(5372),
    [sym_keyword__LINE__] = ACTIONS(5372),
    [sym_keyword__ENCODING__] = ACTIONS(5372),
    [sym__character_literal] = ACTIONS(5372),
    [anon_sym_LBRACK] = ACTIONS(5370),
    [anon_sym_DASH_GT] = ACTIONS(5370),
  },
  [6494] = {
    [sym_heredoc_end] = STATE(9654),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RPAREN] = ACTIONS(12550),
    [sym_comment] = ACTIONS(110),
  },
  [6495] = {
    [anon_sym_RPAREN] = ACTIONS(12550),
    [sym_comment] = ACTIONS(110),
  },
  [6496] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_LBRACE] = ACTIONS(1372),
    [anon_sym_RPAREN] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(9020),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_EQ] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_if] = ACTIONS(1372),
    [anon_sym_unless] = ACTIONS(1372),
    [anon_sym_while] = ACTIONS(1372),
    [anon_sym_until] = ACTIONS(1372),
    [anon_sym_rescue] = ACTIONS(1372),
    [anon_sym_do] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_PLUS_EQ] = ACTIONS(1372),
    [anon_sym_DASH_EQ] = ACTIONS(1372),
    [anon_sym_STAR_EQ] = ACTIONS(1372),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1372),
    [anon_sym_SLASH_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1372),
    [anon_sym_AMP_EQ] = ACTIONS(1372),
    [anon_sym_PERCENT_EQ] = ACTIONS(1372),
    [anon_sym_GT_GT_EQ] = ACTIONS(1372),
    [anon_sym_LT_LT_EQ] = ACTIONS(1372),
    [anon_sym_CARET_EQ] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1374),
    [anon_sym_AMP_AMP] = ACTIONS(1374),
    [anon_sym_LT_LT] = ACTIONS(1374),
    [anon_sym_GT_GT] = ACTIONS(1374),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1374),
    [anon_sym_PLUS] = ACTIONS(1374),
    [anon_sym_SLASH] = ACTIONS(1374),
    [anon_sym_PERCENT] = ACTIONS(1374),
    [sym_comment] = ACTIONS(256),
  },
  [6497] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_RPAREN] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(9020),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2872),
    [anon_sym_AMP_AMP] = ACTIONS(2872),
    [anon_sym_LT_LT] = ACTIONS(2872),
    [anon_sym_GT_GT] = ACTIONS(2872),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2872),
    [anon_sym_PLUS] = ACTIONS(2872),
    [anon_sym_SLASH] = ACTIONS(2872),
    [anon_sym_PERCENT] = ACTIONS(2872),
    [sym_comment] = ACTIONS(256),
  },
  [6498] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(9014),
    [sym__binary_star] = ACTIONS(9016),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_RPAREN] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(9018),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(9020),
    [anon_sym_AMP] = ACTIONS(9022),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(9024),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(9026),
    [anon_sym_DOT_DOT] = ACTIONS(9028),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9030),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(9032),
    [anon_sym_AMP_AMP] = ACTIONS(9032),
    [anon_sym_LT_LT] = ACTIONS(9034),
    [anon_sym_GT_GT] = ACTIONS(9034),
    [anon_sym_EQ_EQ] = ACTIONS(9032),
    [anon_sym_BANG_EQ] = ACTIONS(9036),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9036),
    [anon_sym_LT_EQ_GT] = ACTIONS(9036),
    [anon_sym_EQ_TILDE] = ACTIONS(9036),
    [anon_sym_BANG_TILDE] = ACTIONS(9036),
    [anon_sym_LT_EQ] = ACTIONS(9024),
    [anon_sym_GT] = ACTIONS(9024),
    [anon_sym_GT_EQ] = ACTIONS(9038),
    [anon_sym_CARET] = ACTIONS(9018),
    [anon_sym_PLUS] = ACTIONS(9040),
    [anon_sym_SLASH] = ACTIONS(9020),
    [anon_sym_PERCENT] = ACTIONS(9020),
    [sym_comment] = ACTIONS(256),
  },
  [6499] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(9655),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3366),
    [sym_call] = STATE(3366),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(3367),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3368),
    [sym__variable] = STATE(3366),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(4840),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(4842),
    [anon_sym_yield] = ACTIONS(4844),
    [anon_sym_break] = ACTIONS(4846),
    [anon_sym_next] = ACTIONS(4848),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(4850),
    [anon_sym_defined_QMARK] = ACTIONS(4852),
    [anon_sym_not] = ACTIONS(4854),
    [anon_sym_BANG] = ACTIONS(4856),
    [anon_sym_TILDE] = ACTIONS(4856),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [6500] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(9656),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3366),
    [sym_call] = STATE(3366),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(3367),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3368),
    [sym__variable] = STATE(3366),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(4840),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(4842),
    [anon_sym_yield] = ACTIONS(4844),
    [anon_sym_break] = ACTIONS(4846),
    [anon_sym_next] = ACTIONS(4848),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(4850),
    [anon_sym_defined_QMARK] = ACTIONS(4852),
    [anon_sym_not] = ACTIONS(4854),
    [anon_sym_BANG] = ACTIONS(4856),
    [anon_sym_TILDE] = ACTIONS(4856),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [6501] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(9657),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3366),
    [sym_call] = STATE(3366),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(3367),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3368),
    [sym__variable] = STATE(3366),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(4840),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(4842),
    [anon_sym_yield] = ACTIONS(4844),
    [anon_sym_break] = ACTIONS(4846),
    [anon_sym_next] = ACTIONS(4848),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(4850),
    [anon_sym_defined_QMARK] = ACTIONS(4852),
    [anon_sym_not] = ACTIONS(4854),
    [anon_sym_BANG] = ACTIONS(4856),
    [anon_sym_TILDE] = ACTIONS(4856),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [6502] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(9658),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3366),
    [sym_call] = STATE(3366),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(3367),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3368),
    [sym__variable] = STATE(3366),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(4840),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(4842),
    [anon_sym_yield] = ACTIONS(4844),
    [anon_sym_break] = ACTIONS(4846),
    [anon_sym_next] = ACTIONS(4848),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(4850),
    [anon_sym_defined_QMARK] = ACTIONS(4852),
    [anon_sym_not] = ACTIONS(4854),
    [anon_sym_BANG] = ACTIONS(4856),
    [anon_sym_TILDE] = ACTIONS(4856),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [6503] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(9659),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3366),
    [sym_call] = STATE(3366),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(3367),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3368),
    [sym__variable] = STATE(3366),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(4840),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(4842),
    [anon_sym_yield] = ACTIONS(4844),
    [anon_sym_break] = ACTIONS(4846),
    [anon_sym_next] = ACTIONS(4848),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(4850),
    [anon_sym_defined_QMARK] = ACTIONS(4852),
    [anon_sym_not] = ACTIONS(4854),
    [anon_sym_BANG] = ACTIONS(4856),
    [anon_sym_TILDE] = ACTIONS(4856),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [6504] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(9660),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3366),
    [sym_call] = STATE(3366),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(3367),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3368),
    [sym__variable] = STATE(3366),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(4840),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(4842),
    [anon_sym_yield] = ACTIONS(4844),
    [anon_sym_break] = ACTIONS(4846),
    [anon_sym_next] = ACTIONS(4848),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(4850),
    [anon_sym_defined_QMARK] = ACTIONS(4852),
    [anon_sym_not] = ACTIONS(4854),
    [anon_sym_BANG] = ACTIONS(4856),
    [anon_sym_TILDE] = ACTIONS(4856),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [6505] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(9661),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [6506] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(9662),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3366),
    [sym_call] = STATE(3366),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(3367),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3368),
    [sym__variable] = STATE(3366),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(4840),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(4842),
    [anon_sym_yield] = ACTIONS(4844),
    [anon_sym_break] = ACTIONS(4846),
    [anon_sym_next] = ACTIONS(4848),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(4850),
    [anon_sym_defined_QMARK] = ACTIONS(4852),
    [anon_sym_not] = ACTIONS(4854),
    [anon_sym_BANG] = ACTIONS(4856),
    [anon_sym_TILDE] = ACTIONS(4856),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [6507] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(9663),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3366),
    [sym_call] = STATE(3366),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(3367),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3368),
    [sym__variable] = STATE(3366),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(4840),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(4842),
    [anon_sym_yield] = ACTIONS(4844),
    [anon_sym_break] = ACTIONS(4846),
    [anon_sym_next] = ACTIONS(4848),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(4850),
    [anon_sym_defined_QMARK] = ACTIONS(4852),
    [anon_sym_not] = ACTIONS(4854),
    [anon_sym_BANG] = ACTIONS(4856),
    [anon_sym_TILDE] = ACTIONS(4856),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [6508] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(9664),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3366),
    [sym_call] = STATE(3366),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(3367),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3368),
    [sym__variable] = STATE(3366),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(4840),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(4842),
    [anon_sym_yield] = ACTIONS(4844),
    [anon_sym_break] = ACTIONS(4846),
    [anon_sym_next] = ACTIONS(4848),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(4850),
    [anon_sym_defined_QMARK] = ACTIONS(4852),
    [anon_sym_not] = ACTIONS(4854),
    [anon_sym_BANG] = ACTIONS(4856),
    [anon_sym_TILDE] = ACTIONS(4856),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [6509] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(9665),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3366),
    [sym_call] = STATE(3366),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(3367),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3368),
    [sym__variable] = STATE(3366),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(4840),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(4842),
    [anon_sym_yield] = ACTIONS(4844),
    [anon_sym_break] = ACTIONS(4846),
    [anon_sym_next] = ACTIONS(4848),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(4850),
    [anon_sym_defined_QMARK] = ACTIONS(4852),
    [anon_sym_not] = ACTIONS(4854),
    [anon_sym_BANG] = ACTIONS(4856),
    [anon_sym_TILDE] = ACTIONS(4856),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [6510] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(9666),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3366),
    [sym_call] = STATE(3366),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(3367),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3368),
    [sym__variable] = STATE(3366),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(4840),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(4842),
    [anon_sym_yield] = ACTIONS(4844),
    [anon_sym_break] = ACTIONS(4846),
    [anon_sym_next] = ACTIONS(4848),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(4850),
    [anon_sym_defined_QMARK] = ACTIONS(4852),
    [anon_sym_not] = ACTIONS(4854),
    [anon_sym_BANG] = ACTIONS(4856),
    [anon_sym_TILDE] = ACTIONS(4856),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [6511] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(9667),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3366),
    [sym_call] = STATE(3366),
    [sym_method_call] = STATE(61),
    [sym_splat_argument] = STATE(8404),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_right_assignment_list] = STATE(8405),
    [sym__arg_or_splat_arg] = STATE(9668),
    [sym_left_assignment_list] = STATE(3367),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3368),
    [sym__variable] = STATE(3366),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__splat_star] = ACTIONS(1978),
    [sym__unary_minus] = ACTIONS(4840),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(4842),
    [anon_sym_yield] = ACTIONS(4844),
    [anon_sym_break] = ACTIONS(4846),
    [anon_sym_next] = ACTIONS(4848),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(4850),
    [anon_sym_defined_QMARK] = ACTIONS(4852),
    [anon_sym_not] = ACTIONS(4854),
    [anon_sym_BANG] = ACTIONS(4856),
    [anon_sym_TILDE] = ACTIONS(4856),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [6512] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(9669),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3366),
    [sym_call] = STATE(3366),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(3367),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3368),
    [sym__variable] = STATE(3366),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(4840),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(4842),
    [anon_sym_yield] = ACTIONS(4844),
    [anon_sym_break] = ACTIONS(4846),
    [anon_sym_next] = ACTIONS(4848),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(4850),
    [anon_sym_defined_QMARK] = ACTIONS(4852),
    [anon_sym_not] = ACTIONS(4854),
    [anon_sym_BANG] = ACTIONS(4856),
    [anon_sym_TILDE] = ACTIONS(4856),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [6513] = {
    [sym__simple_heredoc_body] = ACTIONS(8568),
    [sym__heredoc_body_beginning] = ACTIONS(8568),
    [sym__line_break] = ACTIONS(8568),
    [sym__element_reference_left_bracket] = ACTIONS(8568),
    [sym__scope_double_colon] = ACTIONS(8568),
    [sym__binary_minus] = ACTIONS(9014),
    [sym__binary_star] = ACTIONS(9016),
    [anon_sym_LBRACE] = ACTIONS(8568),
    [anon_sym_RPAREN] = ACTIONS(8568),
    [anon_sym_DOT] = ACTIONS(9468),
    [anon_sym_COMMA] = ACTIONS(8568),
    [anon_sym_PIPE] = ACTIONS(9018),
    [anon_sym_SEMI] = ACTIONS(8568),
    [anon_sym_STAR_STAR] = ACTIONS(9020),
    [anon_sym_AMP] = ACTIONS(9022),
    [anon_sym_EQ] = ACTIONS(9468),
    [anon_sym_LT] = ACTIONS(9024),
    [anon_sym_if] = ACTIONS(8568),
    [anon_sym_unless] = ACTIONS(8568),
    [anon_sym_while] = ACTIONS(8568),
    [anon_sym_until] = ACTIONS(8568),
    [anon_sym_rescue] = ACTIONS(8568),
    [anon_sym_do] = ACTIONS(8568),
    [anon_sym_AMP_DOT] = ACTIONS(8568),
    [anon_sym_PLUS_EQ] = ACTIONS(8568),
    [anon_sym_DASH_EQ] = ACTIONS(8568),
    [anon_sym_STAR_EQ] = ACTIONS(8568),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8568),
    [anon_sym_SLASH_EQ] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8568),
    [anon_sym_PIPE_EQ] = ACTIONS(8568),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8568),
    [anon_sym_AMP_EQ] = ACTIONS(8568),
    [anon_sym_PERCENT_EQ] = ACTIONS(8568),
    [anon_sym_GT_GT_EQ] = ACTIONS(8568),
    [anon_sym_LT_LT_EQ] = ACTIONS(8568),
    [anon_sym_CARET_EQ] = ACTIONS(8568),
    [anon_sym_QMARK] = ACTIONS(9026),
    [anon_sym_DOT_DOT] = ACTIONS(9028),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9030),
    [anon_sym_and] = ACTIONS(8568),
    [anon_sym_or] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE] = ACTIONS(9032),
    [anon_sym_AMP_AMP] = ACTIONS(9032),
    [anon_sym_LT_LT] = ACTIONS(9034),
    [anon_sym_GT_GT] = ACTIONS(9034),
    [anon_sym_EQ_EQ] = ACTIONS(9032),
    [anon_sym_BANG_EQ] = ACTIONS(9036),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9036),
    [anon_sym_LT_EQ_GT] = ACTIONS(9036),
    [anon_sym_EQ_TILDE] = ACTIONS(9036),
    [anon_sym_BANG_TILDE] = ACTIONS(9036),
    [anon_sym_LT_EQ] = ACTIONS(9024),
    [anon_sym_GT] = ACTIONS(9024),
    [anon_sym_GT_EQ] = ACTIONS(9038),
    [anon_sym_CARET] = ACTIONS(9018),
    [anon_sym_PLUS] = ACTIONS(9040),
    [anon_sym_SLASH] = ACTIONS(9020),
    [anon_sym_PERCENT] = ACTIONS(9020),
    [sym_comment] = ACTIONS(256),
  },
  [6514] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__line_break] = ACTIONS(7008),
    [sym__element_reference_left_bracket] = ACTIONS(7008),
    [sym__scope_double_colon] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(4874),
    [anon_sym_LBRACE] = ACTIONS(7008),
    [anon_sym_RPAREN] = ACTIONS(7008),
    [anon_sym_DOT] = ACTIONS(7010),
    [anon_sym_COMMA] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_SEMI] = ACTIONS(7008),
    [anon_sym_STAR_STAR] = ACTIONS(4878),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_EQ] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_if] = ACTIONS(7008),
    [anon_sym_unless] = ACTIONS(7008),
    [anon_sym_while] = ACTIONS(7008),
    [anon_sym_until] = ACTIONS(7008),
    [anon_sym_rescue] = ACTIONS(7008),
    [anon_sym_do] = ACTIONS(7008),
    [anon_sym_EQ_GT] = ACTIONS(7008),
    [anon_sym_AMP_DOT] = ACTIONS(7008),
    [anon_sym_PLUS_EQ] = ACTIONS(7008),
    [anon_sym_DASH_EQ] = ACTIONS(7008),
    [anon_sym_STAR_EQ] = ACTIONS(7008),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7008),
    [anon_sym_SLASH_EQ] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7008),
    [anon_sym_PIPE_EQ] = ACTIONS(7008),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7008),
    [anon_sym_AMP_EQ] = ACTIONS(7008),
    [anon_sym_PERCENT_EQ] = ACTIONS(7008),
    [anon_sym_GT_GT_EQ] = ACTIONS(7008),
    [anon_sym_LT_LT_EQ] = ACTIONS(7008),
    [anon_sym_CARET_EQ] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7010),
    [anon_sym_AMP_AMP] = ACTIONS(7010),
    [anon_sym_LT_LT] = ACTIONS(7010),
    [anon_sym_GT_GT] = ACTIONS(7010),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7010),
    [anon_sym_PLUS] = ACTIONS(7010),
    [anon_sym_SLASH] = ACTIONS(4878),
    [anon_sym_PERCENT] = ACTIONS(4878),
    [sym_comment] = ACTIONS(256),
  },
  [6515] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__line_break] = ACTIONS(7012),
    [sym__element_reference_left_bracket] = ACTIONS(7012),
    [sym__scope_double_colon] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_LBRACE] = ACTIONS(7012),
    [anon_sym_RPAREN] = ACTIONS(7012),
    [anon_sym_DOT] = ACTIONS(7014),
    [anon_sym_COMMA] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_SEMI] = ACTIONS(7012),
    [anon_sym_STAR_STAR] = ACTIONS(4878),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_EQ] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_if] = ACTIONS(7012),
    [anon_sym_unless] = ACTIONS(7012),
    [anon_sym_while] = ACTIONS(7012),
    [anon_sym_until] = ACTIONS(7012),
    [anon_sym_rescue] = ACTIONS(7012),
    [anon_sym_do] = ACTIONS(7012),
    [anon_sym_EQ_GT] = ACTIONS(7012),
    [anon_sym_AMP_DOT] = ACTIONS(7012),
    [anon_sym_PLUS_EQ] = ACTIONS(7012),
    [anon_sym_DASH_EQ] = ACTIONS(7012),
    [anon_sym_STAR_EQ] = ACTIONS(7012),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7012),
    [anon_sym_SLASH_EQ] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7012),
    [anon_sym_PIPE_EQ] = ACTIONS(7012),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7012),
    [anon_sym_AMP_EQ] = ACTIONS(7012),
    [anon_sym_PERCENT_EQ] = ACTIONS(7012),
    [anon_sym_GT_GT_EQ] = ACTIONS(7012),
    [anon_sym_LT_LT_EQ] = ACTIONS(7012),
    [anon_sym_CARET_EQ] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7014),
    [anon_sym_AMP_AMP] = ACTIONS(7014),
    [anon_sym_LT_LT] = ACTIONS(7014),
    [anon_sym_GT_GT] = ACTIONS(7014),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7014),
    [anon_sym_PLUS] = ACTIONS(7014),
    [anon_sym_SLASH] = ACTIONS(7014),
    [anon_sym_PERCENT] = ACTIONS(7014),
    [sym_comment] = ACTIONS(256),
  },
  [6516] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(4872),
    [sym__binary_star] = ACTIONS(4874),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(4878),
    [anon_sym_AMP] = ACTIONS(4880),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(4892),
    [anon_sym_GT_GT] = ACTIONS(4892),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(4898),
    [anon_sym_SLASH] = ACTIONS(4878),
    [anon_sym_PERCENT] = ACTIONS(4878),
    [sym_comment] = ACTIONS(256),
  },
  [6517] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(4878),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7018),
    [anon_sym_GT_GT] = ACTIONS(7018),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(7018),
    [anon_sym_SLASH] = ACTIONS(7018),
    [anon_sym_PERCENT] = ACTIONS(7018),
    [sym_comment] = ACTIONS(256),
  },
  [6518] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(4872),
    [sym__binary_star] = ACTIONS(4874),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(4878),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(4892),
    [anon_sym_GT_GT] = ACTIONS(4892),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(4898),
    [anon_sym_SLASH] = ACTIONS(4878),
    [anon_sym_PERCENT] = ACTIONS(4878),
    [sym_comment] = ACTIONS(256),
  },
  [6519] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(4872),
    [sym__binary_star] = ACTIONS(4874),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(4876),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(4878),
    [anon_sym_AMP] = ACTIONS(4880),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(4892),
    [anon_sym_GT_GT] = ACTIONS(4892),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(4876),
    [anon_sym_PLUS] = ACTIONS(4898),
    [anon_sym_SLASH] = ACTIONS(4878),
    [anon_sym_PERCENT] = ACTIONS(4878),
    [sym_comment] = ACTIONS(256),
  },
  [6520] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(12552),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [6521] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__line_break] = ACTIONS(7108),
    [sym__element_reference_left_bracket] = ACTIONS(7108),
    [sym__scope_double_colon] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(4872),
    [sym__binary_star] = ACTIONS(4874),
    [anon_sym_LBRACE] = ACTIONS(7108),
    [anon_sym_RPAREN] = ACTIONS(7108),
    [anon_sym_DOT] = ACTIONS(9472),
    [anon_sym_COMMA] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(4876),
    [anon_sym_SEMI] = ACTIONS(7108),
    [anon_sym_STAR_STAR] = ACTIONS(4878),
    [anon_sym_AMP] = ACTIONS(4880),
    [anon_sym_EQ] = ACTIONS(9472),
    [anon_sym_LT] = ACTIONS(4882),
    [anon_sym_if] = ACTIONS(7108),
    [anon_sym_unless] = ACTIONS(7108),
    [anon_sym_while] = ACTIONS(7108),
    [anon_sym_until] = ACTIONS(7108),
    [anon_sym_rescue] = ACTIONS(7108),
    [anon_sym_do] = ACTIONS(7108),
    [anon_sym_EQ_GT] = ACTIONS(7108),
    [anon_sym_AMP_DOT] = ACTIONS(7108),
    [anon_sym_PLUS_EQ] = ACTIONS(7108),
    [anon_sym_DASH_EQ] = ACTIONS(7108),
    [anon_sym_STAR_EQ] = ACTIONS(7108),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7108),
    [anon_sym_SLASH_EQ] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7108),
    [anon_sym_PIPE_EQ] = ACTIONS(7108),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7108),
    [anon_sym_AMP_EQ] = ACTIONS(7108),
    [anon_sym_PERCENT_EQ] = ACTIONS(7108),
    [anon_sym_GT_GT_EQ] = ACTIONS(7108),
    [anon_sym_LT_LT_EQ] = ACTIONS(7108),
    [anon_sym_CARET_EQ] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(4886),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4888),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(4890),
    [anon_sym_AMP_AMP] = ACTIONS(4890),
    [anon_sym_LT_LT] = ACTIONS(4892),
    [anon_sym_GT_GT] = ACTIONS(4892),
    [anon_sym_EQ_EQ] = ACTIONS(4890),
    [anon_sym_BANG_EQ] = ACTIONS(4894),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4894),
    [anon_sym_LT_EQ_GT] = ACTIONS(4894),
    [anon_sym_EQ_TILDE] = ACTIONS(4894),
    [anon_sym_BANG_TILDE] = ACTIONS(4894),
    [anon_sym_LT_EQ] = ACTIONS(4882),
    [anon_sym_GT] = ACTIONS(4882),
    [anon_sym_GT_EQ] = ACTIONS(4896),
    [anon_sym_CARET] = ACTIONS(4876),
    [anon_sym_PLUS] = ACTIONS(4898),
    [anon_sym_SLASH] = ACTIONS(4878),
    [anon_sym_PERCENT] = ACTIONS(4878),
    [sym_comment] = ACTIONS(256),
  },
  [6522] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(4872),
    [sym__binary_star] = ACTIONS(4874),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(4876),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(4878),
    [anon_sym_AMP] = ACTIONS(4880),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(4882),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(4884),
    [anon_sym_DOT_DOT] = ACTIONS(4886),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4888),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(4890),
    [anon_sym_AMP_AMP] = ACTIONS(4890),
    [anon_sym_LT_LT] = ACTIONS(4892),
    [anon_sym_GT_GT] = ACTIONS(4892),
    [anon_sym_EQ_EQ] = ACTIONS(4890),
    [anon_sym_BANG_EQ] = ACTIONS(4894),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4894),
    [anon_sym_LT_EQ_GT] = ACTIONS(4894),
    [anon_sym_EQ_TILDE] = ACTIONS(4894),
    [anon_sym_BANG_TILDE] = ACTIONS(4894),
    [anon_sym_LT_EQ] = ACTIONS(4882),
    [anon_sym_GT] = ACTIONS(4882),
    [anon_sym_GT_EQ] = ACTIONS(4896),
    [anon_sym_CARET] = ACTIONS(4876),
    [anon_sym_PLUS] = ACTIONS(4898),
    [anon_sym_SLASH] = ACTIONS(4878),
    [anon_sym_PERCENT] = ACTIONS(4878),
    [sym_comment] = ACTIONS(256),
  },
  [6523] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(4872),
    [sym__binary_star] = ACTIONS(4874),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(4876),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(4878),
    [anon_sym_AMP] = ACTIONS(4880),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(4882),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(4892),
    [anon_sym_GT_GT] = ACTIONS(4892),
    [anon_sym_EQ_EQ] = ACTIONS(4890),
    [anon_sym_BANG_EQ] = ACTIONS(4894),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4894),
    [anon_sym_LT_EQ_GT] = ACTIONS(4894),
    [anon_sym_EQ_TILDE] = ACTIONS(4894),
    [anon_sym_BANG_TILDE] = ACTIONS(4894),
    [anon_sym_LT_EQ] = ACTIONS(4882),
    [anon_sym_GT] = ACTIONS(4882),
    [anon_sym_GT_EQ] = ACTIONS(4896),
    [anon_sym_CARET] = ACTIONS(4876),
    [anon_sym_PLUS] = ACTIONS(4898),
    [anon_sym_SLASH] = ACTIONS(4878),
    [anon_sym_PERCENT] = ACTIONS(4878),
    [sym_comment] = ACTIONS(256),
  },
  [6524] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(4872),
    [sym__binary_star] = ACTIONS(4874),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(4878),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7018),
    [anon_sym_GT_GT] = ACTIONS(7018),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(4898),
    [anon_sym_SLASH] = ACTIONS(4878),
    [anon_sym_PERCENT] = ACTIONS(4878),
    [sym_comment] = ACTIONS(256),
  },
  [6525] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(4874),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(4878),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7018),
    [anon_sym_GT_GT] = ACTIONS(7018),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(7018),
    [anon_sym_SLASH] = ACTIONS(4878),
    [anon_sym_PERCENT] = ACTIONS(4878),
    [sym_comment] = ACTIONS(256),
  },
  [6526] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1220),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1222),
    [sym_call] = STATE(1222),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(8481),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1224),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1225),
    [sym__variable] = STATE(1222),
    [sym_reserved_identifier] = STATE(1226),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1227),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__block_ampersand] = ACTIONS(1976),
    [sym__splat_star] = ACTIONS(1978),
    [sym__unary_minus] = ACTIONS(1980),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(9048),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(1982),
    [anon_sym_yield] = ACTIONS(1984),
    [anon_sym_break] = ACTIONS(1986),
    [anon_sym_next] = ACTIONS(1988),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(4866),
    [anon_sym_defined_QMARK] = ACTIONS(1990),
    [anon_sym_not] = ACTIONS(1992),
    [anon_sym_BANG] = ACTIONS(1996),
    [anon_sym_TILDE] = ACTIONS(1996),
    [sym_constant] = ACTIONS(1998),
    [sym_identifier] = ACTIONS(1998),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [6527] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1220),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1222),
    [sym_call] = STATE(1222),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(8481),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1224),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1225),
    [sym__variable] = STATE(1222),
    [sym_reserved_identifier] = STATE(1226),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1227),
    [sym_subshell] = STATE(561),
    [sym_heredoc_end] = STATE(9671),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__block_ampersand] = ACTIONS(1976),
    [sym__splat_star] = ACTIONS(1978),
    [sym__unary_minus] = ACTIONS(1980),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(9048),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(1982),
    [anon_sym_yield] = ACTIONS(1984),
    [anon_sym_break] = ACTIONS(1986),
    [anon_sym_next] = ACTIONS(1988),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(4866),
    [anon_sym_defined_QMARK] = ACTIONS(1990),
    [anon_sym_not] = ACTIONS(1992),
    [anon_sym_BANG] = ACTIONS(1996),
    [anon_sym_TILDE] = ACTIONS(1996),
    [sym_constant] = ACTIONS(1998),
    [sym_identifier] = ACTIONS(1998),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [6528] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__line_break] = ACTIONS(6346),
    [sym__element_reference_left_bracket] = ACTIONS(6346),
    [sym__scope_double_colon] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(4872),
    [sym__binary_star] = ACTIONS(4874),
    [anon_sym_LBRACE] = ACTIONS(6346),
    [anon_sym_RPAREN] = ACTIONS(6346),
    [anon_sym_DOT] = ACTIONS(7328),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(4876),
    [anon_sym_SEMI] = ACTIONS(6346),
    [anon_sym_STAR_STAR] = ACTIONS(4878),
    [anon_sym_AMP] = ACTIONS(4880),
    [anon_sym_EQ] = ACTIONS(7328),
    [anon_sym_LT] = ACTIONS(4882),
    [anon_sym_if] = ACTIONS(6346),
    [anon_sym_unless] = ACTIONS(6346),
    [anon_sym_while] = ACTIONS(6346),
    [anon_sym_until] = ACTIONS(6346),
    [anon_sym_rescue] = ACTIONS(6346),
    [anon_sym_do] = ACTIONS(6346),
    [anon_sym_EQ_GT] = ACTIONS(6346),
    [anon_sym_AMP_DOT] = ACTIONS(6346),
    [anon_sym_PLUS_EQ] = ACTIONS(6346),
    [anon_sym_DASH_EQ] = ACTIONS(6346),
    [anon_sym_STAR_EQ] = ACTIONS(6346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6346),
    [anon_sym_SLASH_EQ] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6346),
    [anon_sym_PIPE_EQ] = ACTIONS(6346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6346),
    [anon_sym_AMP_EQ] = ACTIONS(6346),
    [anon_sym_PERCENT_EQ] = ACTIONS(6346),
    [anon_sym_GT_GT_EQ] = ACTIONS(6346),
    [anon_sym_LT_LT_EQ] = ACTIONS(6346),
    [anon_sym_CARET_EQ] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(4884),
    [anon_sym_DOT_DOT] = ACTIONS(4886),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4888),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(4890),
    [anon_sym_AMP_AMP] = ACTIONS(4890),
    [anon_sym_LT_LT] = ACTIONS(4892),
    [anon_sym_GT_GT] = ACTIONS(4892),
    [anon_sym_EQ_EQ] = ACTIONS(4890),
    [anon_sym_BANG_EQ] = ACTIONS(4894),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4894),
    [anon_sym_LT_EQ_GT] = ACTIONS(4894),
    [anon_sym_EQ_TILDE] = ACTIONS(4894),
    [anon_sym_BANG_TILDE] = ACTIONS(4894),
    [anon_sym_LT_EQ] = ACTIONS(4882),
    [anon_sym_GT] = ACTIONS(4882),
    [anon_sym_GT_EQ] = ACTIONS(4896),
    [anon_sym_CARET] = ACTIONS(4876),
    [anon_sym_PLUS] = ACTIONS(4898),
    [anon_sym_SLASH] = ACTIONS(4878),
    [anon_sym_PERCENT] = ACTIONS(4878),
    [sym_comment] = ACTIONS(256),
  },
  [6529] = {
    [aux_sym_exceptions_repeat1] = STATE(9673),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__line_break] = ACTIONS(7330),
    [sym__element_reference_left_bracket] = ACTIONS(7330),
    [sym__scope_double_colon] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_LBRACE] = ACTIONS(7330),
    [anon_sym_RPAREN] = ACTIONS(7330),
    [anon_sym_DOT] = ACTIONS(7332),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_SEMI] = ACTIONS(7330),
    [anon_sym_STAR_STAR] = ACTIONS(7332),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_EQ] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_if] = ACTIONS(7330),
    [anon_sym_unless] = ACTIONS(7330),
    [anon_sym_while] = ACTIONS(7330),
    [anon_sym_until] = ACTIONS(7330),
    [anon_sym_rescue] = ACTIONS(7330),
    [anon_sym_do] = ACTIONS(7330),
    [anon_sym_EQ_GT] = ACTIONS(7330),
    [anon_sym_AMP_DOT] = ACTIONS(7330),
    [anon_sym_PLUS_EQ] = ACTIONS(7330),
    [anon_sym_DASH_EQ] = ACTIONS(7330),
    [anon_sym_STAR_EQ] = ACTIONS(7330),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7330),
    [anon_sym_SLASH_EQ] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7330),
    [anon_sym_PIPE_EQ] = ACTIONS(7330),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7330),
    [anon_sym_AMP_EQ] = ACTIONS(7330),
    [anon_sym_PERCENT_EQ] = ACTIONS(7330),
    [anon_sym_GT_GT_EQ] = ACTIONS(7330),
    [anon_sym_LT_LT_EQ] = ACTIONS(7330),
    [anon_sym_CARET_EQ] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7332),
    [anon_sym_AMP_AMP] = ACTIONS(7332),
    [anon_sym_LT_LT] = ACTIONS(7332),
    [anon_sym_GT_GT] = ACTIONS(7332),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7332),
    [anon_sym_PLUS] = ACTIONS(7332),
    [anon_sym_SLASH] = ACTIONS(7332),
    [anon_sym_PERCENT] = ACTIONS(7332),
    [sym_comment] = ACTIONS(256),
  },
  [6530] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__line_break] = ACTIONS(7344),
    [sym__element_reference_left_bracket] = ACTIONS(7344),
    [sym__scope_double_colon] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(4872),
    [sym__binary_star] = ACTIONS(4874),
    [anon_sym_LBRACE] = ACTIONS(7344),
    [anon_sym_RPAREN] = ACTIONS(7344),
    [anon_sym_DOT] = ACTIONS(9504),
    [anon_sym_COMMA] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(4876),
    [anon_sym_SEMI] = ACTIONS(7344),
    [anon_sym_STAR_STAR] = ACTIONS(4878),
    [anon_sym_AMP] = ACTIONS(4880),
    [anon_sym_EQ] = ACTIONS(9504),
    [anon_sym_LT] = ACTIONS(4882),
    [anon_sym_if] = ACTIONS(7344),
    [anon_sym_unless] = ACTIONS(7344),
    [anon_sym_while] = ACTIONS(7344),
    [anon_sym_until] = ACTIONS(7344),
    [anon_sym_rescue] = ACTIONS(7344),
    [anon_sym_do] = ACTIONS(7344),
    [anon_sym_EQ_GT] = ACTIONS(7344),
    [anon_sym_AMP_DOT] = ACTIONS(7344),
    [anon_sym_PLUS_EQ] = ACTIONS(7344),
    [anon_sym_DASH_EQ] = ACTIONS(7344),
    [anon_sym_STAR_EQ] = ACTIONS(7344),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7344),
    [anon_sym_SLASH_EQ] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7344),
    [anon_sym_PIPE_EQ] = ACTIONS(7344),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7344),
    [anon_sym_AMP_EQ] = ACTIONS(7344),
    [anon_sym_PERCENT_EQ] = ACTIONS(7344),
    [anon_sym_GT_GT_EQ] = ACTIONS(7344),
    [anon_sym_LT_LT_EQ] = ACTIONS(7344),
    [anon_sym_CARET_EQ] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(4884),
    [anon_sym_DOT_DOT] = ACTIONS(4886),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4888),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(4890),
    [anon_sym_AMP_AMP] = ACTIONS(4890),
    [anon_sym_LT_LT] = ACTIONS(4892),
    [anon_sym_GT_GT] = ACTIONS(4892),
    [anon_sym_EQ_EQ] = ACTIONS(4890),
    [anon_sym_BANG_EQ] = ACTIONS(4894),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4894),
    [anon_sym_LT_EQ_GT] = ACTIONS(4894),
    [anon_sym_EQ_TILDE] = ACTIONS(4894),
    [anon_sym_BANG_TILDE] = ACTIONS(4894),
    [anon_sym_LT_EQ] = ACTIONS(4882),
    [anon_sym_GT] = ACTIONS(4882),
    [anon_sym_GT_EQ] = ACTIONS(4896),
    [anon_sym_CARET] = ACTIONS(4876),
    [anon_sym_PLUS] = ACTIONS(4898),
    [anon_sym_SLASH] = ACTIONS(4878),
    [anon_sym_PERCENT] = ACTIONS(4878),
    [sym_comment] = ACTIONS(256),
  },
  [6531] = {
    [sym__simple_heredoc_body] = ACTIONS(8662),
    [sym__heredoc_body_beginning] = ACTIONS(8662),
    [sym__line_break] = ACTIONS(8662),
    [sym__element_reference_left_bracket] = ACTIONS(8662),
    [sym__scope_double_colon] = ACTIONS(8662),
    [sym__binary_minus] = ACTIONS(9014),
    [sym__binary_star] = ACTIONS(9016),
    [anon_sym_LBRACE] = ACTIONS(8662),
    [anon_sym_RPAREN] = ACTIONS(8662),
    [anon_sym_DOT] = ACTIONS(9506),
    [anon_sym_COMMA] = ACTIONS(8662),
    [anon_sym_PIPE] = ACTIONS(9018),
    [anon_sym_SEMI] = ACTIONS(8662),
    [anon_sym_STAR_STAR] = ACTIONS(9020),
    [anon_sym_AMP] = ACTIONS(9022),
    [anon_sym_EQ] = ACTIONS(9506),
    [anon_sym_LT] = ACTIONS(9024),
    [anon_sym_if] = ACTIONS(8662),
    [anon_sym_unless] = ACTIONS(8662),
    [anon_sym_while] = ACTIONS(8662),
    [anon_sym_until] = ACTIONS(8662),
    [anon_sym_rescue] = ACTIONS(8662),
    [anon_sym_do] = ACTIONS(8662),
    [anon_sym_AMP_DOT] = ACTIONS(8662),
    [anon_sym_PLUS_EQ] = ACTIONS(8662),
    [anon_sym_DASH_EQ] = ACTIONS(8662),
    [anon_sym_STAR_EQ] = ACTIONS(8662),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8662),
    [anon_sym_SLASH_EQ] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8662),
    [anon_sym_PIPE_EQ] = ACTIONS(8662),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8662),
    [anon_sym_AMP_EQ] = ACTIONS(8662),
    [anon_sym_PERCENT_EQ] = ACTIONS(8662),
    [anon_sym_GT_GT_EQ] = ACTIONS(8662),
    [anon_sym_LT_LT_EQ] = ACTIONS(8662),
    [anon_sym_CARET_EQ] = ACTIONS(8662),
    [anon_sym_QMARK] = ACTIONS(9026),
    [anon_sym_DOT_DOT] = ACTIONS(9028),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9030),
    [anon_sym_and] = ACTIONS(8662),
    [anon_sym_or] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE] = ACTIONS(9032),
    [anon_sym_AMP_AMP] = ACTIONS(9032),
    [anon_sym_LT_LT] = ACTIONS(9034),
    [anon_sym_GT_GT] = ACTIONS(9034),
    [anon_sym_EQ_EQ] = ACTIONS(9032),
    [anon_sym_BANG_EQ] = ACTIONS(9036),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9036),
    [anon_sym_LT_EQ_GT] = ACTIONS(9036),
    [anon_sym_EQ_TILDE] = ACTIONS(9036),
    [anon_sym_BANG_TILDE] = ACTIONS(9036),
    [anon_sym_LT_EQ] = ACTIONS(9024),
    [anon_sym_GT] = ACTIONS(9024),
    [anon_sym_GT_EQ] = ACTIONS(9038),
    [anon_sym_CARET] = ACTIONS(9018),
    [anon_sym_PLUS] = ACTIONS(9040),
    [anon_sym_SLASH] = ACTIONS(9020),
    [anon_sym_PERCENT] = ACTIONS(9020),
    [sym_comment] = ACTIONS(256),
  },
  [6532] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__line_break] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(9052),
    [sym__binary_star] = ACTIONS(9054),
    [anon_sym_RPAREN] = ACTIONS(5338),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(9056),
    [anon_sym_SEMI] = ACTIONS(5338),
    [anon_sym_STAR_STAR] = ACTIONS(9058),
    [anon_sym_AMP] = ACTIONS(9060),
    [anon_sym_LT] = ACTIONS(9062),
    [anon_sym_if] = ACTIONS(5338),
    [anon_sym_unless] = ACTIONS(5338),
    [anon_sym_while] = ACTIONS(5338),
    [anon_sym_until] = ACTIONS(5338),
    [anon_sym_rescue] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(9064),
    [anon_sym_DOT_DOT] = ACTIONS(9066),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9068),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(9070),
    [anon_sym_AMP_AMP] = ACTIONS(9070),
    [anon_sym_LT_LT] = ACTIONS(9072),
    [anon_sym_GT_GT] = ACTIONS(9072),
    [anon_sym_EQ_EQ] = ACTIONS(9074),
    [anon_sym_BANG_EQ] = ACTIONS(9070),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9070),
    [anon_sym_LT_EQ_GT] = ACTIONS(9070),
    [anon_sym_EQ_TILDE] = ACTIONS(9070),
    [anon_sym_BANG_TILDE] = ACTIONS(9070),
    [anon_sym_LT_EQ] = ACTIONS(9062),
    [anon_sym_GT] = ACTIONS(9062),
    [anon_sym_GT_EQ] = ACTIONS(9076),
    [anon_sym_CARET] = ACTIONS(9078),
    [anon_sym_PLUS] = ACTIONS(9080),
    [anon_sym_SLASH] = ACTIONS(9058),
    [anon_sym_PERCENT] = ACTIONS(9058),
    [sym_comment] = ACTIONS(110),
  },
  [6533] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_RPAREN] = ACTIONS(1372),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(9058),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_if] = ACTIONS(1372),
    [anon_sym_unless] = ACTIONS(1372),
    [anon_sym_while] = ACTIONS(1372),
    [anon_sym_until] = ACTIONS(1372),
    [anon_sym_rescue] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [6534] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_RPAREN] = ACTIONS(2870),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(9058),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [6535] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(9052),
    [sym__binary_star] = ACTIONS(9054),
    [anon_sym_RPAREN] = ACTIONS(2870),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(9056),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(9058),
    [anon_sym_AMP] = ACTIONS(9060),
    [anon_sym_LT] = ACTIONS(9062),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(9064),
    [anon_sym_DOT_DOT] = ACTIONS(9066),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9068),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(9070),
    [anon_sym_AMP_AMP] = ACTIONS(9070),
    [anon_sym_LT_LT] = ACTIONS(9072),
    [anon_sym_GT_GT] = ACTIONS(9072),
    [anon_sym_EQ_EQ] = ACTIONS(9074),
    [anon_sym_BANG_EQ] = ACTIONS(9070),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9070),
    [anon_sym_LT_EQ_GT] = ACTIONS(9070),
    [anon_sym_EQ_TILDE] = ACTIONS(9070),
    [anon_sym_BANG_TILDE] = ACTIONS(9070),
    [anon_sym_LT_EQ] = ACTIONS(9062),
    [anon_sym_GT] = ACTIONS(9062),
    [anon_sym_GT_EQ] = ACTIONS(9076),
    [anon_sym_CARET] = ACTIONS(9078),
    [anon_sym_PLUS] = ACTIONS(9080),
    [anon_sym_SLASH] = ACTIONS(9058),
    [anon_sym_PERCENT] = ACTIONS(9058),
    [sym_comment] = ACTIONS(110),
  },
  [6536] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9674),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3403),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3404),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(4912),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4914),
    [anon_sym_defined_QMARK] = ACTIONS(4916),
    [anon_sym_not] = ACTIONS(4918),
    [anon_sym_BANG] = ACTIONS(4920),
    [anon_sym_TILDE] = ACTIONS(4920),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6537] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9675),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3403),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3404),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(4912),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4914),
    [anon_sym_defined_QMARK] = ACTIONS(4916),
    [anon_sym_not] = ACTIONS(4918),
    [anon_sym_BANG] = ACTIONS(4920),
    [anon_sym_TILDE] = ACTIONS(4920),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6538] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9676),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3403),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3404),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(4912),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4914),
    [anon_sym_defined_QMARK] = ACTIONS(4916),
    [anon_sym_not] = ACTIONS(4918),
    [anon_sym_BANG] = ACTIONS(4920),
    [anon_sym_TILDE] = ACTIONS(4920),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6539] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9677),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3403),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3404),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(4912),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4914),
    [anon_sym_defined_QMARK] = ACTIONS(4916),
    [anon_sym_not] = ACTIONS(4918),
    [anon_sym_BANG] = ACTIONS(4920),
    [anon_sym_TILDE] = ACTIONS(4920),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6540] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9678),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3403),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3404),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(4912),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4914),
    [anon_sym_defined_QMARK] = ACTIONS(4916),
    [anon_sym_not] = ACTIONS(4918),
    [anon_sym_BANG] = ACTIONS(4920),
    [anon_sym_TILDE] = ACTIONS(4920),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6541] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9679),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3403),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3404),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(4912),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4914),
    [anon_sym_defined_QMARK] = ACTIONS(4916),
    [anon_sym_not] = ACTIONS(4918),
    [anon_sym_BANG] = ACTIONS(4920),
    [anon_sym_TILDE] = ACTIONS(4920),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6542] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(9680),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [6543] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9681),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3403),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3404),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(4912),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4914),
    [anon_sym_defined_QMARK] = ACTIONS(4916),
    [anon_sym_not] = ACTIONS(4918),
    [anon_sym_BANG] = ACTIONS(4920),
    [anon_sym_TILDE] = ACTIONS(4920),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6544] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9682),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3403),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3404),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(4912),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4914),
    [anon_sym_defined_QMARK] = ACTIONS(4916),
    [anon_sym_not] = ACTIONS(4918),
    [anon_sym_BANG] = ACTIONS(4920),
    [anon_sym_TILDE] = ACTIONS(4920),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6545] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9683),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3403),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3404),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(4912),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4914),
    [anon_sym_defined_QMARK] = ACTIONS(4916),
    [anon_sym_not] = ACTIONS(4918),
    [anon_sym_BANG] = ACTIONS(4920),
    [anon_sym_TILDE] = ACTIONS(4920),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6546] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9684),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3403),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3404),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(4912),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4914),
    [anon_sym_defined_QMARK] = ACTIONS(4916),
    [anon_sym_not] = ACTIONS(4918),
    [anon_sym_BANG] = ACTIONS(4920),
    [anon_sym_TILDE] = ACTIONS(4920),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6547] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9685),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3403),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3404),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(4912),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4914),
    [anon_sym_defined_QMARK] = ACTIONS(4916),
    [anon_sym_not] = ACTIONS(4918),
    [anon_sym_BANG] = ACTIONS(4920),
    [anon_sym_TILDE] = ACTIONS(4920),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6548] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3401),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_splat_argument] = STATE(2211),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym__arg_or_splat_arg] = STATE(8497),
    [sym_left_assignment_list] = STATE(3403),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3404),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(4910),
    [sym__unary_minus] = ACTIONS(4912),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4914),
    [anon_sym_defined_QMARK] = ACTIONS(4916),
    [anon_sym_not] = ACTIONS(4918),
    [anon_sym_BANG] = ACTIONS(4920),
    [anon_sym_TILDE] = ACTIONS(4920),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6549] = {
    [sym__simple_heredoc_body] = ACTIONS(11422),
    [sym__heredoc_body_beginning] = ACTIONS(11422),
    [sym__line_break] = ACTIONS(11422),
    [sym__binary_minus] = ACTIONS(11422),
    [sym__binary_star] = ACTIONS(11422),
    [anon_sym_RPAREN] = ACTIONS(11422),
    [anon_sym_COMMA] = ACTIONS(12554),
    [anon_sym_PIPE] = ACTIONS(11426),
    [anon_sym_SEMI] = ACTIONS(11422),
    [anon_sym_STAR_STAR] = ACTIONS(11422),
    [anon_sym_AMP] = ACTIONS(11426),
    [anon_sym_LT] = ACTIONS(11426),
    [anon_sym_if] = ACTIONS(11422),
    [anon_sym_unless] = ACTIONS(11422),
    [anon_sym_while] = ACTIONS(11422),
    [anon_sym_until] = ACTIONS(11422),
    [anon_sym_rescue] = ACTIONS(11422),
    [anon_sym_QMARK] = ACTIONS(11422),
    [anon_sym_DOT_DOT] = ACTIONS(11426),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11422),
    [anon_sym_and] = ACTIONS(11422),
    [anon_sym_or] = ACTIONS(11422),
    [anon_sym_PIPE_PIPE] = ACTIONS(11422),
    [anon_sym_AMP_AMP] = ACTIONS(11422),
    [anon_sym_LT_LT] = ACTIONS(11422),
    [anon_sym_GT_GT] = ACTIONS(11422),
    [anon_sym_EQ_EQ] = ACTIONS(11426),
    [anon_sym_BANG_EQ] = ACTIONS(11422),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11422),
    [anon_sym_LT_EQ_GT] = ACTIONS(11422),
    [anon_sym_EQ_TILDE] = ACTIONS(11422),
    [anon_sym_BANG_TILDE] = ACTIONS(11422),
    [anon_sym_LT_EQ] = ACTIONS(11426),
    [anon_sym_GT] = ACTIONS(11426),
    [anon_sym_GT_EQ] = ACTIONS(11422),
    [anon_sym_CARET] = ACTIONS(11422),
    [anon_sym_PLUS] = ACTIONS(11422),
    [anon_sym_SLASH] = ACTIONS(11422),
    [anon_sym_PERCENT] = ACTIONS(11422),
    [sym_comment] = ACTIONS(110),
  },
  [6550] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3401),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_splat_argument] = STATE(2211),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_right_assignment_list] = STATE(2212),
    [sym__arg_or_splat_arg] = STATE(9687),
    [sym_left_assignment_list] = STATE(3403),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3404),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(4910),
    [sym__unary_minus] = ACTIONS(4912),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4914),
    [anon_sym_defined_QMARK] = ACTIONS(4916),
    [anon_sym_not] = ACTIONS(4918),
    [anon_sym_BANG] = ACTIONS(4920),
    [anon_sym_TILDE] = ACTIONS(4920),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6551] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9688),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3403),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3404),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(4912),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4914),
    [anon_sym_defined_QMARK] = ACTIONS(4916),
    [anon_sym_not] = ACTIONS(4918),
    [anon_sym_BANG] = ACTIONS(4920),
    [anon_sym_TILDE] = ACTIONS(4920),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6552] = {
    [sym__simple_string] = ACTIONS(7678),
    [sym__string_beginning] = ACTIONS(7678),
    [sym__element_reference_left_bracket] = ACTIONS(7678),
    [sym__scope_double_colon] = ACTIONS(7678),
    [anon_sym_DOT] = ACTIONS(7678),
    [anon_sym_AMP_DOT] = ACTIONS(7678),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(7680),
  },
  [6553] = {
    [sym__element_reference_left_bracket] = ACTIONS(7682),
    [sym__scope_double_colon] = ACTIONS(7682),
    [anon_sym_DOT] = ACTIONS(7682),
    [anon_sym_AMP_DOT] = ACTIONS(7682),
    [sym_comment] = ACTIONS(110),
  },
  [6554] = {
    [sym__element_reference_left_bracket] = ACTIONS(7686),
    [sym__scope_double_colon] = ACTIONS(7686),
    [anon_sym_DOT] = ACTIONS(7686),
    [anon_sym_AMP_DOT] = ACTIONS(7686),
    [sym_comment] = ACTIONS(110),
  },
  [6555] = {
    [sym__element_reference_left_bracket] = ACTIONS(7690),
    [sym__scope_double_colon] = ACTIONS(7690),
    [anon_sym_DOT] = ACTIONS(7690),
    [anon_sym_AMP_DOT] = ACTIONS(7690),
    [sym_comment] = ACTIONS(110),
  },
  [6556] = {
    [sym__element_reference_left_bracket] = ACTIONS(7694),
    [sym__scope_double_colon] = ACTIONS(7694),
    [anon_sym_DOT] = ACTIONS(7694),
    [anon_sym_AMP_DOT] = ACTIONS(7694),
    [sym_comment] = ACTIONS(110),
  },
  [6557] = {
    [sym__element_reference_left_bracket] = ACTIONS(8664),
    [sym__scope_double_colon] = ACTIONS(8664),
    [anon_sym_DOT] = ACTIONS(8664),
    [anon_sym_AMP_DOT] = ACTIONS(8664),
    [sym_comment] = ACTIONS(110),
  },
  [6558] = {
    [anon_sym_DOT] = ACTIONS(12556),
    [anon_sym_COLON_COLON] = ACTIONS(12556),
    [sym_comment] = ACTIONS(110),
  },
  [6559] = {
    [sym__element_reference_left_bracket] = ACTIONS(8832),
    [sym__scope_double_colon] = ACTIONS(8832),
    [anon_sym_DOT] = ACTIONS(8832),
    [anon_sym_AMP_DOT] = ACTIONS(8832),
    [sym_comment] = ACTIONS(110),
  },
  [6560] = {
    [sym__element_reference_left_bracket] = ACTIONS(8858),
    [sym__scope_double_colon] = ACTIONS(8858),
    [anon_sym_DOT] = ACTIONS(8858),
    [anon_sym_AMP_DOT] = ACTIONS(8858),
    [sym_comment] = ACTIONS(110),
  },
  [6561] = {
    [anon_sym_end] = ACTIONS(12558),
    [sym_comment] = ACTIONS(110),
  },
  [6562] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(9692),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(12560),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6563] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(9694),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(12562),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6564] = {
    [sym__element_reference_left_bracket] = ACTIONS(9340),
    [sym__scope_double_colon] = ACTIONS(9340),
    [anon_sym_DOT] = ACTIONS(9340),
    [anon_sym_AMP_DOT] = ACTIONS(9340),
    [sym_comment] = ACTIONS(110),
  },
  [6565] = {
    [anon_sym_end] = ACTIONS(12564),
    [sym_comment] = ACTIONS(110),
  },
  [6566] = {
    [sym__element_reference_left_bracket] = ACTIONS(9398),
    [sym__scope_double_colon] = ACTIONS(9398),
    [anon_sym_DOT] = ACTIONS(9398),
    [anon_sym_AMP_DOT] = ACTIONS(9398),
    [sym_comment] = ACTIONS(110),
  },
  [6567] = {
    [anon_sym_end] = ACTIONS(12566),
    [sym_comment] = ACTIONS(110),
  },
  [6568] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_STAR_STAR] = ACTIONS(9122),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [6569] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9696),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3437),
    [sym_call] = STATE(3437),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3438),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3439),
    [sym__variable] = STATE(3437),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4944),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(4946),
    [anon_sym_yield] = ACTIONS(4948),
    [anon_sym_break] = ACTIONS(4950),
    [anon_sym_next] = ACTIONS(4952),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(4954),
    [anon_sym_defined_QMARK] = ACTIONS(4956),
    [anon_sym_not] = ACTIONS(4958),
    [anon_sym_BANG] = ACTIONS(4960),
    [anon_sym_TILDE] = ACTIONS(4960),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6570] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9697),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3437),
    [sym_call] = STATE(3437),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3438),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3439),
    [sym__variable] = STATE(3437),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4944),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(4946),
    [anon_sym_yield] = ACTIONS(4948),
    [anon_sym_break] = ACTIONS(4950),
    [anon_sym_next] = ACTIONS(4952),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(4954),
    [anon_sym_defined_QMARK] = ACTIONS(4956),
    [anon_sym_not] = ACTIONS(4958),
    [anon_sym_BANG] = ACTIONS(4960),
    [anon_sym_TILDE] = ACTIONS(4960),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6571] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9698),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3437),
    [sym_call] = STATE(3437),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3438),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3439),
    [sym__variable] = STATE(3437),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4944),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(4946),
    [anon_sym_yield] = ACTIONS(4948),
    [anon_sym_break] = ACTIONS(4950),
    [anon_sym_next] = ACTIONS(4952),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(4954),
    [anon_sym_defined_QMARK] = ACTIONS(4956),
    [anon_sym_not] = ACTIONS(4958),
    [anon_sym_BANG] = ACTIONS(4960),
    [anon_sym_TILDE] = ACTIONS(4960),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6572] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(12568),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [6573] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(4380),
    [sym__binary_star] = ACTIONS(4382),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(4384),
    [anon_sym_STAR_STAR] = ACTIONS(4386),
    [anon_sym_AMP] = ACTIONS(4388),
    [anon_sym_LT] = ACTIONS(4390),
    [anon_sym_EQ_GT] = ACTIONS(12568),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(4392),
    [anon_sym_DOT_DOT] = ACTIONS(4394),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4396),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(4398),
    [anon_sym_AMP_AMP] = ACTIONS(4398),
    [anon_sym_LT_LT] = ACTIONS(4400),
    [anon_sym_GT_GT] = ACTIONS(4400),
    [anon_sym_EQ_EQ] = ACTIONS(4402),
    [anon_sym_BANG_EQ] = ACTIONS(4398),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4398),
    [anon_sym_LT_EQ_GT] = ACTIONS(4398),
    [anon_sym_EQ_TILDE] = ACTIONS(4398),
    [anon_sym_BANG_TILDE] = ACTIONS(4398),
    [anon_sym_LT_EQ] = ACTIONS(4390),
    [anon_sym_GT] = ACTIONS(4390),
    [anon_sym_GT_EQ] = ACTIONS(4404),
    [anon_sym_CARET] = ACTIONS(4406),
    [anon_sym_PLUS] = ACTIONS(4408),
    [anon_sym_SLASH] = ACTIONS(4386),
    [anon_sym_PERCENT] = ACTIONS(4386),
    [sym_comment] = ACTIONS(110),
  },
  [6574] = {
    [sym_heredoc_end] = STATE(3004),
    [aux_sym_argument_list_repeat1] = STATE(9701),
    [aux_sym_argument_list_repeat2] = STATE(3005),
    [sym__simple_heredoc_body] = ACTIONS(4410),
    [sym__heredoc_body_beginning] = ACTIONS(4412),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(12570),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_STAR_STAR] = ACTIONS(2272),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2272),
    [anon_sym_AMP_AMP] = ACTIONS(2272),
    [anon_sym_LT_LT] = ACTIONS(2272),
    [anon_sym_GT_GT] = ACTIONS(2272),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2272),
    [anon_sym_PLUS] = ACTIONS(2272),
    [anon_sym_SLASH] = ACTIONS(2272),
    [anon_sym_PERCENT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(110),
  },
  [6575] = {
    [sym__keyword_colon] = ACTIONS(12572),
    [sym_comment] = ACTIONS(110),
  },
  [6576] = {
    [sym_string] = STATE(1962),
    [aux_sym_chained_string_repeat1] = STATE(1963),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(12568),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(1626),
  },
  [6577] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(9122),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [6578] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(9116),
    [sym__binary_star] = ACTIONS(9118),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(9120),
    [anon_sym_STAR_STAR] = ACTIONS(9122),
    [anon_sym_AMP] = ACTIONS(9124),
    [anon_sym_LT] = ACTIONS(9126),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(9128),
    [anon_sym_DOT_DOT] = ACTIONS(9130),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9132),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(9136),
    [anon_sym_AMP_AMP] = ACTIONS(9136),
    [anon_sym_LT_LT] = ACTIONS(9138),
    [anon_sym_GT_GT] = ACTIONS(9138),
    [anon_sym_EQ_EQ] = ACTIONS(9140),
    [anon_sym_BANG_EQ] = ACTIONS(9136),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9136),
    [anon_sym_LT_EQ_GT] = ACTIONS(9136),
    [anon_sym_EQ_TILDE] = ACTIONS(9136),
    [anon_sym_BANG_TILDE] = ACTIONS(9136),
    [anon_sym_LT_EQ] = ACTIONS(9126),
    [anon_sym_GT] = ACTIONS(9126),
    [anon_sym_GT_EQ] = ACTIONS(9142),
    [anon_sym_CARET] = ACTIONS(9144),
    [anon_sym_PLUS] = ACTIONS(9146),
    [anon_sym_SLASH] = ACTIONS(9122),
    [anon_sym_PERCENT] = ACTIONS(9122),
    [sym_comment] = ACTIONS(110),
  },
  [6579] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9703),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3437),
    [sym_call] = STATE(3437),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3438),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3439),
    [sym__variable] = STATE(3437),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4944),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(4946),
    [anon_sym_yield] = ACTIONS(4948),
    [anon_sym_break] = ACTIONS(4950),
    [anon_sym_next] = ACTIONS(4952),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(4954),
    [anon_sym_defined_QMARK] = ACTIONS(4956),
    [anon_sym_not] = ACTIONS(4958),
    [anon_sym_BANG] = ACTIONS(4960),
    [anon_sym_TILDE] = ACTIONS(4960),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6580] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9704),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3437),
    [sym_call] = STATE(3437),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3438),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3439),
    [sym__variable] = STATE(3437),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4944),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(4946),
    [anon_sym_yield] = ACTIONS(4948),
    [anon_sym_break] = ACTIONS(4950),
    [anon_sym_next] = ACTIONS(4952),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(4954),
    [anon_sym_defined_QMARK] = ACTIONS(4956),
    [anon_sym_not] = ACTIONS(4958),
    [anon_sym_BANG] = ACTIONS(4960),
    [anon_sym_TILDE] = ACTIONS(4960),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6581] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9705),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3437),
    [sym_call] = STATE(3437),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3438),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3439),
    [sym__variable] = STATE(3437),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4944),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(4946),
    [anon_sym_yield] = ACTIONS(4948),
    [anon_sym_break] = ACTIONS(4950),
    [anon_sym_next] = ACTIONS(4952),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(4954),
    [anon_sym_defined_QMARK] = ACTIONS(4956),
    [anon_sym_not] = ACTIONS(4958),
    [anon_sym_BANG] = ACTIONS(4960),
    [anon_sym_TILDE] = ACTIONS(4960),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6582] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9706),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3437),
    [sym_call] = STATE(3437),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3438),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3439),
    [sym__variable] = STATE(3437),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4944),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(4946),
    [anon_sym_yield] = ACTIONS(4948),
    [anon_sym_break] = ACTIONS(4950),
    [anon_sym_next] = ACTIONS(4952),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(4954),
    [anon_sym_defined_QMARK] = ACTIONS(4956),
    [anon_sym_not] = ACTIONS(4958),
    [anon_sym_BANG] = ACTIONS(4960),
    [anon_sym_TILDE] = ACTIONS(4960),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6583] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9707),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3437),
    [sym_call] = STATE(3437),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3438),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3439),
    [sym__variable] = STATE(3437),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4944),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(4946),
    [anon_sym_yield] = ACTIONS(4948),
    [anon_sym_break] = ACTIONS(4950),
    [anon_sym_next] = ACTIONS(4952),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(4954),
    [anon_sym_defined_QMARK] = ACTIONS(4956),
    [anon_sym_not] = ACTIONS(4958),
    [anon_sym_BANG] = ACTIONS(4960),
    [anon_sym_TILDE] = ACTIONS(4960),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6584] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9708),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3437),
    [sym_call] = STATE(3437),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3438),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3439),
    [sym__variable] = STATE(3437),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4944),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(4946),
    [anon_sym_yield] = ACTIONS(4948),
    [anon_sym_break] = ACTIONS(4950),
    [anon_sym_next] = ACTIONS(4952),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(4954),
    [anon_sym_defined_QMARK] = ACTIONS(4956),
    [anon_sym_not] = ACTIONS(4958),
    [anon_sym_BANG] = ACTIONS(4960),
    [anon_sym_TILDE] = ACTIONS(4960),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6585] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(9709),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [6586] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9710),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3437),
    [sym_call] = STATE(3437),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3438),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3439),
    [sym__variable] = STATE(3437),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4944),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(4946),
    [anon_sym_yield] = ACTIONS(4948),
    [anon_sym_break] = ACTIONS(4950),
    [anon_sym_next] = ACTIONS(4952),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(4954),
    [anon_sym_defined_QMARK] = ACTIONS(4956),
    [anon_sym_not] = ACTIONS(4958),
    [anon_sym_BANG] = ACTIONS(4960),
    [anon_sym_TILDE] = ACTIONS(4960),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6587] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9711),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3437),
    [sym_call] = STATE(3437),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3438),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3439),
    [sym__variable] = STATE(3437),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4944),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(4946),
    [anon_sym_yield] = ACTIONS(4948),
    [anon_sym_break] = ACTIONS(4950),
    [anon_sym_next] = ACTIONS(4952),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(4954),
    [anon_sym_defined_QMARK] = ACTIONS(4956),
    [anon_sym_not] = ACTIONS(4958),
    [anon_sym_BANG] = ACTIONS(4960),
    [anon_sym_TILDE] = ACTIONS(4960),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6588] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9712),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3437),
    [sym_call] = STATE(3437),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3438),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3439),
    [sym__variable] = STATE(3437),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4944),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(4946),
    [anon_sym_yield] = ACTIONS(4948),
    [anon_sym_break] = ACTIONS(4950),
    [anon_sym_next] = ACTIONS(4952),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(4954),
    [anon_sym_defined_QMARK] = ACTIONS(4956),
    [anon_sym_not] = ACTIONS(4958),
    [anon_sym_BANG] = ACTIONS(4960),
    [anon_sym_TILDE] = ACTIONS(4960),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6589] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9713),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3437),
    [sym_call] = STATE(3437),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3438),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3439),
    [sym__variable] = STATE(3437),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4944),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(4946),
    [anon_sym_yield] = ACTIONS(4948),
    [anon_sym_break] = ACTIONS(4950),
    [anon_sym_next] = ACTIONS(4952),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(4954),
    [anon_sym_defined_QMARK] = ACTIONS(4956),
    [anon_sym_not] = ACTIONS(4958),
    [anon_sym_BANG] = ACTIONS(4960),
    [anon_sym_TILDE] = ACTIONS(4960),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6590] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9714),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3437),
    [sym_call] = STATE(3437),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3438),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3439),
    [sym__variable] = STATE(3437),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4944),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(4946),
    [anon_sym_yield] = ACTIONS(4948),
    [anon_sym_break] = ACTIONS(4950),
    [anon_sym_next] = ACTIONS(4952),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(4954),
    [anon_sym_defined_QMARK] = ACTIONS(4956),
    [anon_sym_not] = ACTIONS(4958),
    [anon_sym_BANG] = ACTIONS(4960),
    [anon_sym_TILDE] = ACTIONS(4960),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6591] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(9723),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(9724),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(9725),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(12574),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(12576),
    [anon_sym_yield] = ACTIONS(12578),
    [anon_sym_break] = ACTIONS(12580),
    [anon_sym_next] = ACTIONS(12582),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(12584),
    [anon_sym_defined_QMARK] = ACTIONS(12586),
    [anon_sym_not] = ACTIONS(12588),
    [anon_sym_BANG] = ACTIONS(12590),
    [anon_sym_TILDE] = ACTIONS(12590),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [6592] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(9726),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(9724),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(9725),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(12574),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(12576),
    [anon_sym_yield] = ACTIONS(12578),
    [anon_sym_break] = ACTIONS(12580),
    [anon_sym_next] = ACTIONS(12582),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(12584),
    [anon_sym_defined_QMARK] = ACTIONS(12586),
    [anon_sym_not] = ACTIONS(12588),
    [anon_sym_BANG] = ACTIONS(12590),
    [anon_sym_TILDE] = ACTIONS(12590),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [6593] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(9727),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(9724),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(9725),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(12574),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(12576),
    [anon_sym_yield] = ACTIONS(12578),
    [anon_sym_break] = ACTIONS(12580),
    [anon_sym_next] = ACTIONS(12582),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(12584),
    [anon_sym_defined_QMARK] = ACTIONS(12586),
    [anon_sym_not] = ACTIONS(12588),
    [anon_sym_BANG] = ACTIONS(12590),
    [anon_sym_TILDE] = ACTIONS(12590),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [6594] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(12592),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [6595] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(4520),
    [sym__binary_star] = ACTIONS(4522),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(4524),
    [anon_sym_STAR_STAR] = ACTIONS(4526),
    [anon_sym_AMP] = ACTIONS(4528),
    [anon_sym_EQ] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(4530),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(12592),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_PLUS_EQ] = ACTIONS(2210),
    [anon_sym_DASH_EQ] = ACTIONS(2210),
    [anon_sym_STAR_EQ] = ACTIONS(2210),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2210),
    [anon_sym_SLASH_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2210),
    [anon_sym_AMP_EQ] = ACTIONS(2210),
    [anon_sym_PERCENT_EQ] = ACTIONS(2210),
    [anon_sym_GT_GT_EQ] = ACTIONS(2210),
    [anon_sym_LT_LT_EQ] = ACTIONS(2210),
    [anon_sym_CARET_EQ] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(4532),
    [anon_sym_DOT_DOT] = ACTIONS(4534),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4536),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(4538),
    [anon_sym_AMP_AMP] = ACTIONS(4538),
    [anon_sym_LT_LT] = ACTIONS(4540),
    [anon_sym_GT_GT] = ACTIONS(4540),
    [anon_sym_EQ_EQ] = ACTIONS(4538),
    [anon_sym_BANG_EQ] = ACTIONS(4542),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4542),
    [anon_sym_LT_EQ_GT] = ACTIONS(4542),
    [anon_sym_EQ_TILDE] = ACTIONS(4542),
    [anon_sym_BANG_TILDE] = ACTIONS(4542),
    [anon_sym_LT_EQ] = ACTIONS(4530),
    [anon_sym_GT] = ACTIONS(4530),
    [anon_sym_GT_EQ] = ACTIONS(4544),
    [anon_sym_CARET] = ACTIONS(4524),
    [anon_sym_PLUS] = ACTIONS(4546),
    [anon_sym_SLASH] = ACTIONS(4526),
    [anon_sym_PERCENT] = ACTIONS(4526),
    [sym_comment] = ACTIONS(256),
  },
  [6596] = {
    [sym_heredoc_end] = STATE(6092),
    [aux_sym_argument_list_repeat1] = STATE(9730),
    [aux_sym_argument_list_repeat2] = STATE(6093),
    [sym__simple_heredoc_body] = ACTIONS(8530),
    [sym__heredoc_body_beginning] = ACTIONS(8532),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(12594),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_STAR_STAR] = ACTIONS(2274),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_EQ] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_PLUS_EQ] = ACTIONS(2272),
    [anon_sym_DASH_EQ] = ACTIONS(2272),
    [anon_sym_STAR_EQ] = ACTIONS(2272),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2272),
    [anon_sym_SLASH_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2272),
    [anon_sym_AMP_EQ] = ACTIONS(2272),
    [anon_sym_PERCENT_EQ] = ACTIONS(2272),
    [anon_sym_GT_GT_EQ] = ACTIONS(2272),
    [anon_sym_LT_LT_EQ] = ACTIONS(2272),
    [anon_sym_CARET_EQ] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2274),
    [anon_sym_AMP_AMP] = ACTIONS(2274),
    [anon_sym_LT_LT] = ACTIONS(2274),
    [anon_sym_GT_GT] = ACTIONS(2274),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2274),
    [anon_sym_PLUS] = ACTIONS(2274),
    [anon_sym_SLASH] = ACTIONS(2274),
    [anon_sym_PERCENT] = ACTIONS(2274),
    [sym_comment] = ACTIONS(256),
  },
  [6597] = {
    [sym__keyword_colon] = ACTIONS(12596),
    [sym_comment] = ACTIONS(110),
  },
  [6598] = {
    [sym_string] = STATE(3160),
    [aux_sym_chained_string_repeat1] = STATE(3161),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(12592),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(4490),
  },
  [6599] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9732),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3437),
    [sym_call] = STATE(3437),
    [sym_method_call] = STATE(976),
    [sym_splat_argument] = STATE(6132),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_right_assignment_list] = STATE(6133),
    [sym__arg_or_splat_arg] = STATE(9733),
    [sym_left_assignment_list] = STATE(3438),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3439),
    [sym__variable] = STATE(3437),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__splat_star] = ACTIONS(9112),
    [sym__unary_minus] = ACTIONS(4944),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(4946),
    [anon_sym_yield] = ACTIONS(4948),
    [anon_sym_break] = ACTIONS(4950),
    [anon_sym_next] = ACTIONS(4952),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(4954),
    [anon_sym_defined_QMARK] = ACTIONS(4956),
    [anon_sym_not] = ACTIONS(4958),
    [anon_sym_BANG] = ACTIONS(4960),
    [anon_sym_TILDE] = ACTIONS(4960),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6600] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9734),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3437),
    [sym_call] = STATE(3437),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3438),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3439),
    [sym__variable] = STATE(3437),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4944),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(4946),
    [anon_sym_yield] = ACTIONS(4948),
    [anon_sym_break] = ACTIONS(4950),
    [anon_sym_next] = ACTIONS(4952),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(4954),
    [anon_sym_defined_QMARK] = ACTIONS(4956),
    [anon_sym_not] = ACTIONS(4958),
    [anon_sym_BANG] = ACTIONS(4960),
    [anon_sym_TILDE] = ACTIONS(4960),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6601] = {
    [sym__simple_heredoc_body] = ACTIONS(9456),
    [sym__heredoc_body_beginning] = ACTIONS(9456),
    [sym__element_reference_left_bracket] = ACTIONS(9456),
    [sym__scope_double_colon] = ACTIONS(9456),
    [anon_sym_LBRACE] = ACTIONS(9456),
    [anon_sym_RPAREN] = ACTIONS(9456),
    [anon_sym_DOT] = ACTIONS(9456),
    [anon_sym_COMMA] = ACTIONS(9456),
    [anon_sym_EQ] = ACTIONS(9456),
    [anon_sym_in] = ACTIONS(9456),
    [anon_sym_do] = ACTIONS(9456),
    [anon_sym_AMP_DOT] = ACTIONS(9456),
    [sym_comment] = ACTIONS(256),
  },
  [6602] = {
    [anon_sym_RPAREN] = ACTIONS(12598),
    [sym_comment] = ACTIONS(110),
  },
  [6603] = {
    [sym__simple_heredoc_body] = ACTIONS(8568),
    [sym__heredoc_body_beginning] = ACTIONS(8568),
    [sym__element_reference_left_bracket] = ACTIONS(8568),
    [sym__scope_double_colon] = ACTIONS(8568),
    [sym__binary_minus] = ACTIONS(9116),
    [sym__binary_star] = ACTIONS(9118),
    [anon_sym_DOT] = ACTIONS(9468),
    [anon_sym_COMMA] = ACTIONS(8568),
    [anon_sym_PIPE] = ACTIONS(9120),
    [anon_sym_STAR_STAR] = ACTIONS(9122),
    [anon_sym_AMP] = ACTIONS(9124),
    [anon_sym_LT] = ACTIONS(9126),
    [anon_sym_AMP_DOT] = ACTIONS(8568),
    [anon_sym_QMARK] = ACTIONS(9128),
    [anon_sym_DOT_DOT] = ACTIONS(9130),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9132),
    [anon_sym_and] = ACTIONS(9134),
    [anon_sym_or] = ACTIONS(9134),
    [anon_sym_PIPE_PIPE] = ACTIONS(9136),
    [anon_sym_AMP_AMP] = ACTIONS(9136),
    [anon_sym_LT_LT] = ACTIONS(9138),
    [anon_sym_GT_GT] = ACTIONS(9138),
    [anon_sym_EQ_EQ] = ACTIONS(9140),
    [anon_sym_BANG_EQ] = ACTIONS(9136),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9136),
    [anon_sym_LT_EQ_GT] = ACTIONS(9136),
    [anon_sym_EQ_TILDE] = ACTIONS(9136),
    [anon_sym_BANG_TILDE] = ACTIONS(9136),
    [anon_sym_LT_EQ] = ACTIONS(9126),
    [anon_sym_GT] = ACTIONS(9126),
    [anon_sym_GT_EQ] = ACTIONS(9142),
    [anon_sym_CARET] = ACTIONS(9144),
    [anon_sym_PLUS] = ACTIONS(9146),
    [anon_sym_SLASH] = ACTIONS(9122),
    [anon_sym_PERCENT] = ACTIONS(9122),
    [sym_comment] = ACTIONS(110),
  },
  [6604] = {
    [sym__heredoc_body_middle] = ACTIONS(4108),
    [sym__heredoc_body_end] = ACTIONS(12600),
    [anon_sym_if] = ACTIONS(4112),
    [anon_sym_unless] = ACTIONS(4114),
    [anon_sym_while] = ACTIONS(4116),
    [anon_sym_until] = ACTIONS(4118),
    [anon_sym_rescue] = ACTIONS(4120),
    [sym_comment] = ACTIONS(110),
  },
  [6605] = {
    [sym__statement] = STATE(9737),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [6606] = {
    [sym__simple_heredoc_body] = ACTIONS(9492),
    [sym__heredoc_body_beginning] = ACTIONS(9492),
    [sym__element_reference_left_bracket] = ACTIONS(9492),
    [sym__scope_double_colon] = ACTIONS(9492),
    [anon_sym_LBRACE] = ACTIONS(9492),
    [anon_sym_RPAREN] = ACTIONS(9492),
    [anon_sym_DOT] = ACTIONS(9492),
    [anon_sym_COMMA] = ACTIONS(9492),
    [anon_sym_EQ] = ACTIONS(9492),
    [anon_sym_in] = ACTIONS(9492),
    [anon_sym_do] = ACTIONS(9492),
    [anon_sym_AMP_DOT] = ACTIONS(9492),
    [sym_comment] = ACTIONS(256),
  },
  [6607] = {
    [sym__simple_heredoc_body] = ACTIONS(9496),
    [sym__heredoc_body_beginning] = ACTIONS(9496),
    [sym__element_reference_left_bracket] = ACTIONS(9496),
    [sym__scope_double_colon] = ACTIONS(9496),
    [anon_sym_LBRACE] = ACTIONS(9496),
    [anon_sym_RPAREN] = ACTIONS(9496),
    [anon_sym_DOT] = ACTIONS(9496),
    [anon_sym_COMMA] = ACTIONS(9496),
    [anon_sym_EQ] = ACTIONS(9496),
    [anon_sym_in] = ACTIONS(9496),
    [anon_sym_do] = ACTIONS(9496),
    [anon_sym_AMP_DOT] = ACTIONS(9496),
    [sym_comment] = ACTIONS(256),
  },
  [6608] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1262),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(9738),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_reserved_identifier] = STATE(1267),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1268),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(2030),
    [sym__splat_star] = ACTIONS(2032),
    [sym__unary_minus] = ACTIONS(1640),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2036),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(1642),
    [anon_sym_yield] = ACTIONS(1644),
    [anon_sym_break] = ACTIONS(1646),
    [anon_sym_next] = ACTIONS(1648),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2038),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(1652),
    [anon_sym_BANG] = ACTIONS(1656),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(2040),
    [sym_identifier] = ACTIONS(2040),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6609] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1262),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(9738),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_reserved_identifier] = STATE(1267),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1268),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(9739),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(2030),
    [sym__splat_star] = ACTIONS(2032),
    [sym__unary_minus] = ACTIONS(1640),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2036),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(1642),
    [anon_sym_yield] = ACTIONS(1644),
    [anon_sym_break] = ACTIONS(1646),
    [anon_sym_next] = ACTIONS(1648),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2038),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(1652),
    [anon_sym_BANG] = ACTIONS(1656),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(2040),
    [sym_identifier] = ACTIONS(2040),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6610] = {
    [sym_heredoc_end] = STATE(6606),
    [sym__simple_heredoc_body] = ACTIONS(4968),
    [sym__heredoc_body_beginning] = ACTIONS(4970),
    [sym__element_reference_left_bracket] = ACTIONS(9500),
    [sym__scope_double_colon] = ACTIONS(9500),
    [anon_sym_LBRACE] = ACTIONS(9500),
    [anon_sym_RPAREN] = ACTIONS(9500),
    [anon_sym_DOT] = ACTIONS(9500),
    [anon_sym_COMMA] = ACTIONS(9500),
    [anon_sym_EQ] = ACTIONS(9500),
    [anon_sym_in] = ACTIONS(9500),
    [anon_sym_do] = ACTIONS(9500),
    [anon_sym_AMP_DOT] = ACTIONS(9500),
    [sym_comment] = ACTIONS(256),
  },
  [6611] = {
    [sym__simple_heredoc_body] = ACTIONS(8662),
    [sym__heredoc_body_beginning] = ACTIONS(8662),
    [sym__element_reference_left_bracket] = ACTIONS(8662),
    [sym__scope_double_colon] = ACTIONS(8662),
    [sym__binary_minus] = ACTIONS(9116),
    [sym__binary_star] = ACTIONS(9118),
    [anon_sym_DOT] = ACTIONS(9506),
    [anon_sym_COMMA] = ACTIONS(8662),
    [anon_sym_PIPE] = ACTIONS(9120),
    [anon_sym_STAR_STAR] = ACTIONS(9122),
    [anon_sym_AMP] = ACTIONS(9124),
    [anon_sym_LT] = ACTIONS(9126),
    [anon_sym_AMP_DOT] = ACTIONS(8662),
    [anon_sym_QMARK] = ACTIONS(9128),
    [anon_sym_DOT_DOT] = ACTIONS(9130),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9132),
    [anon_sym_and] = ACTIONS(9134),
    [anon_sym_or] = ACTIONS(9134),
    [anon_sym_PIPE_PIPE] = ACTIONS(9136),
    [anon_sym_AMP_AMP] = ACTIONS(9136),
    [anon_sym_LT_LT] = ACTIONS(9138),
    [anon_sym_GT_GT] = ACTIONS(9138),
    [anon_sym_EQ_EQ] = ACTIONS(9140),
    [anon_sym_BANG_EQ] = ACTIONS(9136),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9136),
    [anon_sym_LT_EQ_GT] = ACTIONS(9136),
    [anon_sym_EQ_TILDE] = ACTIONS(9136),
    [anon_sym_BANG_TILDE] = ACTIONS(9136),
    [anon_sym_LT_EQ] = ACTIONS(9126),
    [anon_sym_GT] = ACTIONS(9126),
    [anon_sym_GT_EQ] = ACTIONS(9142),
    [anon_sym_CARET] = ACTIONS(9144),
    [anon_sym_PLUS] = ACTIONS(9146),
    [anon_sym_SLASH] = ACTIONS(9122),
    [anon_sym_PERCENT] = ACTIONS(9122),
    [sym_comment] = ACTIONS(110),
  },
  [6612] = {
    [sym__element_reference_left_bracket] = ACTIONS(9562),
    [sym__scope_double_colon] = ACTIONS(9562),
    [anon_sym_DOT] = ACTIONS(9562),
    [anon_sym_AMP_DOT] = ACTIONS(9562),
    [sym_comment] = ACTIONS(110),
  },
  [6613] = {
    [sym_elsif] = STATE(3865),
    [sym_else] = STATE(3865),
    [sym__if_tail] = STATE(9741),
    [anon_sym_end] = ACTIONS(12602),
    [anon_sym_elsif] = ACTIONS(9592),
    [anon_sym_else] = ACTIONS(9594),
    [sym_comment] = ACTIONS(110),
  },
  [6614] = {
    [anon_sym_end] = ACTIONS(12602),
    [sym_comment] = ACTIONS(110),
  },
  [6615] = {
    [sym__statements] = STATE(9742),
    [sym__top_level_statement] = STATE(3863),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(3864),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_elsif] = STATE(3865),
    [sym_else] = STATE(3865),
    [sym__if_tail] = STATE(9741),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3867),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3869),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3870),
    [sym__variable] = STATE(3868),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5572),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(12604),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_elsif] = ACTIONS(5586),
    [anon_sym_else] = ACTIONS(5588),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5590),
    [anon_sym_defined_QMARK] = ACTIONS(5592),
    [anon_sym_not] = ACTIONS(5594),
    [anon_sym_BANG] = ACTIONS(5596),
    [anon_sym_TILDE] = ACTIONS(5596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6616] = {
    [sym__element_reference_left_bracket] = ACTIONS(9758),
    [sym__scope_double_colon] = ACTIONS(9758),
    [anon_sym_DOT] = ACTIONS(9758),
    [anon_sym_AMP_DOT] = ACTIONS(9758),
    [sym_comment] = ACTIONS(110),
  },
  [6617] = {
    [sym_else] = STATE(9744),
    [anon_sym_end] = ACTIONS(12606),
    [anon_sym_else] = ACTIONS(9594),
    [sym_comment] = ACTIONS(110),
  },
  [6618] = {
    [anon_sym_end] = ACTIONS(12606),
    [sym_comment] = ACTIONS(110),
  },
  [6619] = {
    [sym__element_reference_left_bracket] = ACTIONS(9922),
    [sym__scope_double_colon] = ACTIONS(9922),
    [anon_sym_DOT] = ACTIONS(9922),
    [anon_sym_AMP_DOT] = ACTIONS(9922),
    [sym_comment] = ACTIONS(110),
  },
  [6620] = {
    [anon_sym_end] = ACTIONS(12608),
    [sym_comment] = ACTIONS(110),
  },
  [6621] = {
    [sym__element_reference_left_bracket] = ACTIONS(10004),
    [sym__scope_double_colon] = ACTIONS(10004),
    [anon_sym_DOT] = ACTIONS(10004),
    [anon_sym_AMP_DOT] = ACTIONS(10004),
    [sym_comment] = ACTIONS(110),
  },
  [6622] = {
    [anon_sym_end] = ACTIONS(12610),
    [sym_comment] = ACTIONS(110),
  },
  [6623] = {
    [sym__statements] = STATE(9748),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(12612),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6624] = {
    [sym__element_reference_left_bracket] = ACTIONS(10332),
    [sym__scope_double_colon] = ACTIONS(10332),
    [anon_sym_DOT] = ACTIONS(10332),
    [anon_sym_AMP_DOT] = ACTIONS(10332),
    [sym_comment] = ACTIONS(110),
  },
  [6625] = {
    [anon_sym_end] = ACTIONS(12614),
    [sym_comment] = ACTIONS(110),
  },
  [6626] = {
    [sym__element_reference_left_bracket] = ACTIONS(10934),
    [sym__scope_double_colon] = ACTIONS(10934),
    [anon_sym_DOT] = ACTIONS(10934),
    [anon_sym_AMP_DOT] = ACTIONS(10934),
    [sym_comment] = ACTIONS(110),
  },
  [6627] = {
    [sym__element_reference_left_bracket] = ACTIONS(11064),
    [sym__scope_double_colon] = ACTIONS(11064),
    [anon_sym_RPAREN] = ACTIONS(11064),
    [anon_sym_DOT] = ACTIONS(11064),
    [anon_sym_COMMA] = ACTIONS(11064),
    [anon_sym_EQ] = ACTIONS(11064),
    [anon_sym_in] = ACTIONS(11064),
    [anon_sym_AMP_DOT] = ACTIONS(11064),
    [sym_comment] = ACTIONS(256),
  },
  [6628] = {
    [anon_sym_RBRACE] = ACTIONS(12616),
    [sym_comment] = ACTIONS(110),
  },
  [6629] = {
    [sym__element_reference_left_bracket] = ACTIONS(11094),
    [sym__scope_double_colon] = ACTIONS(11094),
    [anon_sym_RPAREN] = ACTIONS(11094),
    [anon_sym_DOT] = ACTIONS(11094),
    [anon_sym_COMMA] = ACTIONS(11094),
    [anon_sym_EQ] = ACTIONS(11094),
    [anon_sym_in] = ACTIONS(11094),
    [anon_sym_AMP_DOT] = ACTIONS(11094),
    [sym_comment] = ACTIONS(256),
  },
  [6630] = {
    [anon_sym_end] = ACTIONS(12618),
    [sym_comment] = ACTIONS(110),
  },
  [6631] = {
    [sym__statements] = STATE(9752),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(12620),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6632] = {
    [sym__statements] = STATE(9752),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(9753),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(12620),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6633] = {
    [sym__element_reference_left_bracket] = ACTIONS(11316),
    [sym__scope_double_colon] = ACTIONS(11316),
    [anon_sym_RPAREN] = ACTIONS(11316),
    [anon_sym_DOT] = ACTIONS(11316),
    [anon_sym_COMMA] = ACTIONS(11316),
    [anon_sym_EQ] = ACTIONS(11316),
    [anon_sym_in] = ACTIONS(11316),
    [anon_sym_AMP_DOT] = ACTIONS(11316),
    [sym_comment] = ACTIONS(256),
  },
  [6634] = {
    [anon_sym_RBRACK] = ACTIONS(12622),
    [sym_comment] = ACTIONS(110),
  },
  [6635] = {
    [sym__simple_string] = ACTIONS(5370),
    [sym__simple_symbol] = ACTIONS(5370),
    [sym__simple_subshell] = ACTIONS(5370),
    [sym__simple_regex] = ACTIONS(5370),
    [sym__simple_word_list] = ACTIONS(5370),
    [sym__string_beginning] = ACTIONS(5370),
    [sym__symbol_beginning] = ACTIONS(5370),
    [sym__subshell_beginning] = ACTIONS(5370),
    [sym__regex_beginning] = ACTIONS(5370),
    [sym__word_list_beginning] = ACTIONS(5370),
    [sym_heredoc_beginning] = ACTIONS(5370),
    [sym__element_reference_left_bracket] = ACTIONS(5370),
    [sym__block_ampersand] = ACTIONS(5370),
    [sym__splat_star] = ACTIONS(5370),
    [sym__argument_list_left_paren] = ACTIONS(5370),
    [sym__scope_double_colon] = ACTIONS(5370),
    [sym__unary_minus] = ACTIONS(5370),
    [anon_sym_LBRACE] = ACTIONS(5370),
    [anon_sym_def] = ACTIONS(5372),
    [anon_sym_LPAREN] = ACTIONS(5370),
    [anon_sym_RPAREN] = ACTIONS(5370),
    [anon_sym_DOT] = ACTIONS(5370),
    [anon_sym_COLON_COLON] = ACTIONS(5370),
    [anon_sym_end] = ACTIONS(5372),
    [anon_sym_COMMA] = ACTIONS(5370),
    [anon_sym_STAR] = ACTIONS(5372),
    [anon_sym_STAR_STAR] = ACTIONS(5370),
    [anon_sym_EQ] = ACTIONS(5370),
    [anon_sym_class] = ACTIONS(5372),
    [anon_sym_module] = ACTIONS(5372),
    [anon_sym_return] = ACTIONS(5372),
    [anon_sym_yield] = ACTIONS(5372),
    [anon_sym_break] = ACTIONS(5372),
    [anon_sym_next] = ACTIONS(5372),
    [anon_sym_redo] = ACTIONS(5372),
    [anon_sym_retry] = ACTIONS(5372),
    [anon_sym_if] = ACTIONS(5372),
    [anon_sym_unless] = ACTIONS(5372),
    [anon_sym_while] = ACTIONS(5372),
    [anon_sym_until] = ACTIONS(5372),
    [anon_sym_rescue] = ACTIONS(5372),
    [anon_sym_for] = ACTIONS(5372),
    [anon_sym_in] = ACTIONS(5372),
    [anon_sym_do] = ACTIONS(5372),
    [anon_sym_case] = ACTIONS(5372),
    [anon_sym_when] = ACTIONS(5372),
    [anon_sym_elsif] = ACTIONS(5372),
    [anon_sym_else] = ACTIONS(5372),
    [anon_sym_then] = ACTIONS(5372),
    [anon_sym_begin] = ACTIONS(5372),
    [anon_sym_ensure] = ACTIONS(5372),
    [anon_sym_AMP_DOT] = ACTIONS(5370),
    [anon_sym_and] = ACTIONS(5372),
    [anon_sym_or] = ACTIONS(5372),
    [anon_sym_PLUS] = ACTIONS(5372),
    [anon_sym_defined_QMARK] = ACTIONS(5370),
    [anon_sym_not] = ACTIONS(5372),
    [anon_sym_BANG] = ACTIONS(5370),
    [anon_sym_TILDE] = ACTIONS(5370),
    [sym_constant] = ACTIONS(11322),
    [sym_identifier] = ACTIONS(11322),
    [sym_instance_variable] = ACTIONS(5372),
    [sym_class_variable] = ACTIONS(5372),
    [sym_global_variable] = ACTIONS(5372),
    [anon_sym_alias] = ACTIONS(5372),
    [anon_sym_defined] = ACTIONS(5372),
    [anon_sym_false] = ACTIONS(5372),
    [anon_sym_nil] = ACTIONS(5372),
    [anon_sym_self] = ACTIONS(5372),
    [anon_sym_super] = ACTIONS(5372),
    [anon_sym_true] = ACTIONS(5372),
    [anon_sym_undef] = ACTIONS(5372),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(5372),
    [sym_float] = ACTIONS(11322),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5370),
    [anon_sym_TRUE] = ACTIONS(5372),
    [anon_sym_FALSE] = ACTIONS(5372),
    [anon_sym_NIL] = ACTIONS(5372),
    [sym_keyword__FILE__] = ACTIONS(5372),
    [sym_keyword__LINE__] = ACTIONS(5372),
    [sym_keyword__ENCODING__] = ACTIONS(5372),
    [sym__character_literal] = ACTIONS(5372),
    [anon_sym_LBRACK] = ACTIONS(5370),
    [anon_sym_DASH_GT] = ACTIONS(5370),
  },
  [6636] = {
    [sym_heredoc_end] = STATE(9756),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RPAREN] = ACTIONS(12624),
    [sym_comment] = ACTIONS(110),
  },
  [6637] = {
    [anon_sym_RPAREN] = ACTIONS(12624),
    [sym_comment] = ACTIONS(110),
  },
  [6638] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(12626),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [6639] = {
    [sym__statement] = STATE(9758),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [6640] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(12628),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [6641] = {
    [sym__statement] = STATE(9760),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [6642] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(12630),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [6643] = {
    [sym__statement] = STATE(9762),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [6644] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(12632),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [6645] = {
    [sym__statement] = STATE(9764),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [6646] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(12634),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [6647] = {
    [sym__statement] = STATE(9766),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [6648] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_LBRACE] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_STAR_STAR] = ACTIONS(9222),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_EQ] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_do] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(256),
  },
  [6649] = {
    [sym__simple_heredoc_body] = ACTIONS(1552),
    [sym__heredoc_body_beginning] = ACTIONS(1552),
    [sym__element_reference_left_bracket] = ACTIONS(1552),
    [sym__scope_double_colon] = ACTIONS(1552),
    [sym__binary_minus] = ACTIONS(1552),
    [sym__binary_star] = ACTIONS(1552),
    [anon_sym_LBRACE] = ACTIONS(1552),
    [anon_sym_RPAREN] = ACTIONS(1552),
    [anon_sym_DOT] = ACTIONS(1554),
    [anon_sym_COMMA] = ACTIONS(1552),
    [anon_sym_PIPE] = ACTIONS(1554),
    [anon_sym_STAR_STAR] = ACTIONS(1552),
    [anon_sym_AMP] = ACTIONS(1554),
    [anon_sym_EQ] = ACTIONS(1554),
    [anon_sym_LT] = ACTIONS(1554),
    [anon_sym_do] = ACTIONS(1552),
    [anon_sym_AMP_DOT] = ACTIONS(1552),
    [anon_sym_QMARK] = ACTIONS(1552),
    [anon_sym_DOT_DOT] = ACTIONS(1554),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1552),
    [anon_sym_and] = ACTIONS(1552),
    [anon_sym_or] = ACTIONS(1552),
    [anon_sym_PIPE_PIPE] = ACTIONS(1552),
    [anon_sym_AMP_AMP] = ACTIONS(1552),
    [anon_sym_LT_LT] = ACTIONS(1552),
    [anon_sym_GT_GT] = ACTIONS(1552),
    [anon_sym_EQ_EQ] = ACTIONS(1554),
    [anon_sym_BANG_EQ] = ACTIONS(1552),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1552),
    [anon_sym_LT_EQ_GT] = ACTIONS(1552),
    [anon_sym_EQ_TILDE] = ACTIONS(1552),
    [anon_sym_BANG_TILDE] = ACTIONS(1552),
    [anon_sym_LT_EQ] = ACTIONS(1554),
    [anon_sym_GT] = ACTIONS(1554),
    [anon_sym_GT_EQ] = ACTIONS(1552),
    [anon_sym_CARET] = ACTIONS(1552),
    [anon_sym_PLUS] = ACTIONS(1552),
    [anon_sym_SLASH] = ACTIONS(1552),
    [anon_sym_PERCENT] = ACTIONS(1552),
    [sym_comment] = ACTIONS(256),
  },
  [6650] = {
    [anon_sym_RBRACE] = ACTIONS(12636),
    [sym_comment] = ACTIONS(110),
  },
  [6651] = {
    [sym_heredoc_end] = STATE(9768),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RBRACE] = ACTIONS(12636),
    [sym_comment] = ACTIONS(110),
  },
  [6652] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(9769),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(1139),
    [sym_call] = STATE(1139),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(1140),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1141),
    [sym__variable] = STATE(1139),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(1822),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_yield] = ACTIONS(1828),
    [anon_sym_break] = ACTIONS(1830),
    [anon_sym_next] = ACTIONS(1832),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(1834),
    [anon_sym_defined_QMARK] = ACTIONS(1836),
    [anon_sym_not] = ACTIONS(1838),
    [anon_sym_BANG] = ACTIONS(1840),
    [anon_sym_TILDE] = ACTIONS(1840),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [6653] = {
    [sym__simple_heredoc_body] = ACTIONS(1866),
    [sym__heredoc_body_beginning] = ACTIONS(1866),
    [sym__element_reference_left_bracket] = ACTIONS(1866),
    [sym__scope_double_colon] = ACTIONS(1866),
    [sym__binary_minus] = ACTIONS(1866),
    [sym__binary_star] = ACTIONS(1866),
    [anon_sym_LBRACE] = ACTIONS(1866),
    [anon_sym_RPAREN] = ACTIONS(1866),
    [anon_sym_DOT] = ACTIONS(1868),
    [anon_sym_COMMA] = ACTIONS(1866),
    [anon_sym_PIPE] = ACTIONS(1868),
    [anon_sym_STAR_STAR] = ACTIONS(1866),
    [anon_sym_AMP] = ACTIONS(1868),
    [anon_sym_EQ] = ACTIONS(1868),
    [anon_sym_LT] = ACTIONS(1868),
    [anon_sym_do] = ACTIONS(1866),
    [anon_sym_AMP_DOT] = ACTIONS(1866),
    [anon_sym_QMARK] = ACTIONS(1866),
    [anon_sym_DOT_DOT] = ACTIONS(1868),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1866),
    [anon_sym_and] = ACTIONS(1866),
    [anon_sym_or] = ACTIONS(1866),
    [anon_sym_PIPE_PIPE] = ACTIONS(1866),
    [anon_sym_AMP_AMP] = ACTIONS(1866),
    [anon_sym_LT_LT] = ACTIONS(1866),
    [anon_sym_GT_GT] = ACTIONS(1866),
    [anon_sym_EQ_EQ] = ACTIONS(1868),
    [anon_sym_BANG_EQ] = ACTIONS(1866),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1866),
    [anon_sym_LT_EQ_GT] = ACTIONS(1866),
    [anon_sym_EQ_TILDE] = ACTIONS(1866),
    [anon_sym_BANG_TILDE] = ACTIONS(1866),
    [anon_sym_LT_EQ] = ACTIONS(1868),
    [anon_sym_GT] = ACTIONS(1868),
    [anon_sym_GT_EQ] = ACTIONS(1866),
    [anon_sym_CARET] = ACTIONS(1866),
    [anon_sym_PLUS] = ACTIONS(1866),
    [anon_sym_SLASH] = ACTIONS(1866),
    [anon_sym_PERCENT] = ACTIONS(1866),
    [sym_comment] = ACTIONS(256),
  },
  [6654] = {
    [anon_sym_DOT] = ACTIONS(12638),
    [anon_sym_COLON_COLON] = ACTIONS(12638),
    [sym_comment] = ACTIONS(110),
  },
  [6655] = {
    [sym_method_parameters] = STATE(9771),
    [sym__simple_formal_parameter] = STATE(1150),
    [sym_splat_parameter] = STATE(1151),
    [sym_hash_splat_parameter] = STATE(1151),
    [sym_block_parameter] = STATE(1151),
    [sym_keyword_parameter] = STATE(1151),
    [sym_optional_parameter] = STATE(1151),
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(9771),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym__line_break] = ACTIONS(692),
    [anon_sym_LPAREN] = ACTIONS(1872),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(1874),
    [anon_sym_STAR_STAR] = ACTIONS(1876),
    [anon_sym_AMP] = ACTIONS(1878),
    [sym_identifier] = ACTIONS(1880),
    [sym_comment] = ACTIONS(110),
  },
  [6656] = {
    [sym__simple_heredoc_body] = ACTIONS(1882),
    [sym__heredoc_body_beginning] = ACTIONS(1882),
    [sym__element_reference_left_bracket] = ACTIONS(1882),
    [sym__scope_double_colon] = ACTIONS(1882),
    [sym__binary_minus] = ACTIONS(1882),
    [sym__binary_star] = ACTIONS(1882),
    [anon_sym_LBRACE] = ACTIONS(1882),
    [anon_sym_RPAREN] = ACTIONS(1882),
    [anon_sym_DOT] = ACTIONS(1884),
    [anon_sym_COMMA] = ACTIONS(1882),
    [anon_sym_PIPE] = ACTIONS(1884),
    [anon_sym_STAR_STAR] = ACTIONS(1882),
    [anon_sym_AMP] = ACTIONS(1884),
    [anon_sym_EQ] = ACTIONS(1884),
    [anon_sym_LT] = ACTIONS(1884),
    [anon_sym_do] = ACTIONS(1882),
    [anon_sym_AMP_DOT] = ACTIONS(1882),
    [anon_sym_QMARK] = ACTIONS(1882),
    [anon_sym_DOT_DOT] = ACTIONS(1884),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1882),
    [anon_sym_and] = ACTIONS(1882),
    [anon_sym_or] = ACTIONS(1882),
    [anon_sym_PIPE_PIPE] = ACTIONS(1882),
    [anon_sym_AMP_AMP] = ACTIONS(1882),
    [anon_sym_LT_LT] = ACTIONS(1882),
    [anon_sym_GT_GT] = ACTIONS(1882),
    [anon_sym_EQ_EQ] = ACTIONS(1884),
    [anon_sym_BANG_EQ] = ACTIONS(1882),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1882),
    [anon_sym_LT_EQ_GT] = ACTIONS(1882),
    [anon_sym_EQ_TILDE] = ACTIONS(1882),
    [anon_sym_BANG_TILDE] = ACTIONS(1882),
    [anon_sym_LT_EQ] = ACTIONS(1884),
    [anon_sym_GT] = ACTIONS(1884),
    [anon_sym_GT_EQ] = ACTIONS(1882),
    [anon_sym_CARET] = ACTIONS(1882),
    [anon_sym_PLUS] = ACTIONS(1882),
    [anon_sym_SLASH] = ACTIONS(1882),
    [anon_sym_PERCENT] = ACTIONS(1882),
    [sym_comment] = ACTIONS(256),
  },
  [6657] = {
    [anon_sym_RPAREN] = ACTIONS(12640),
    [sym_comment] = ACTIONS(110),
  },
  [6658] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9773),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1329),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1330),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2090),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2100),
    [anon_sym_defined_QMARK] = ACTIONS(2102),
    [anon_sym_not] = ACTIONS(2104),
    [anon_sym_BANG] = ACTIONS(2106),
    [anon_sym_TILDE] = ACTIONS(2106),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6659] = {
    [sym_superclass] = STATE(9774),
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(9775),
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__unary_minus] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(722),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(722),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(2110),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(722),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [6660] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_superclass] = STATE(9774),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1349),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1310),
    [sym__argument_list_with_parens] = STATE(1264),
    [sym__argument] = STATE(1350),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_do_block] = STATE(1312),
    [sym_block] = STATE(1312),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1353),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1354),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__terminator] = STATE(9775),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(2114),
    [sym__splat_star] = ACTIONS(2116),
    [sym__argument_list_left_paren] = ACTIONS(2034),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(2064),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(980),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2120),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(2110),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(2076),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2138),
    [sym_identifier] = ACTIONS(2138),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6661] = {
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(9777),
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__unary_minus] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(722),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(12642),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(722),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(722),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [6662] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1349),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1310),
    [sym__argument_list_with_parens] = STATE(1264),
    [sym__argument] = STATE(1350),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_do_block] = STATE(1312),
    [sym_block] = STATE(1312),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1353),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1354),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__terminator] = STATE(9777),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(2114),
    [sym__splat_star] = ACTIONS(2116),
    [sym__argument_list_left_paren] = ACTIONS(2034),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(2064),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(980),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(12644),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2120),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(2076),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2138),
    [sym_identifier] = ACTIONS(2138),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6663] = {
    [sym_method] = STATE(3490),
    [sym_singleton_method] = STATE(3490),
    [sym_class] = STATE(3490),
    [sym_singleton_class] = STATE(3490),
    [sym_module] = STATE(3490),
    [sym_return] = STATE(3490),
    [sym_yield] = STATE(3490),
    [sym_break] = STATE(3490),
    [sym_next] = STATE(3490),
    [sym_redo] = STATE(3490),
    [sym_retry] = STATE(3490),
    [sym_while] = STATE(3490),
    [sym_until] = STATE(3490),
    [sym_for] = STATE(3490),
    [sym_case] = STATE(3490),
    [sym_if] = STATE(3490),
    [sym_unless] = STATE(3490),
    [sym_begin] = STATE(3490),
    [sym__arg] = STATE(9779),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(3490),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(3519),
    [sym_operator_assignment] = STATE(3519),
    [sym_conditional] = STATE(3519),
    [sym_range] = STATE(3519),
    [sym_binary] = STATE(3519),
    [sym_unary] = STATE(3519),
    [sym_left_assignment_list] = STATE(3520),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3521),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(3490),
    [sym_complex] = STATE(3490),
    [sym_rational] = STATE(3490),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(3490),
    [sym_string] = STATE(3522),
    [sym_subshell] = STATE(3490),
    [sym_array] = STATE(3490),
    [sym_hash] = STATE(3490),
    [sym_regex] = STATE(3490),
    [sym_lambda] = STATE(3490),
    [sym__simple_string] = ACTIONS(5000),
    [sym__simple_symbol] = ACTIONS(5002),
    [sym__simple_subshell] = ACTIONS(5004),
    [sym__simple_regex] = ACTIONS(5006),
    [sym__simple_word_list] = ACTIONS(5008),
    [sym__string_beginning] = ACTIONS(5010),
    [sym__symbol_beginning] = ACTIONS(5012),
    [sym__subshell_beginning] = ACTIONS(5014),
    [sym__regex_beginning] = ACTIONS(5016),
    [sym__word_list_beginning] = ACTIONS(5018),
    [sym_heredoc_beginning] = ACTIONS(5020),
    [sym__unary_minus] = ACTIONS(5022),
    [anon_sym_LBRACE] = ACTIONS(5024),
    [anon_sym_def] = ACTIONS(5026),
    [anon_sym_LPAREN] = ACTIONS(5028),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(5030),
    [anon_sym_module] = ACTIONS(5032),
    [anon_sym_return] = ACTIONS(5034),
    [anon_sym_yield] = ACTIONS(5036),
    [anon_sym_break] = ACTIONS(5038),
    [anon_sym_next] = ACTIONS(5040),
    [anon_sym_redo] = ACTIONS(5042),
    [anon_sym_retry] = ACTIONS(5044),
    [anon_sym_if] = ACTIONS(5046),
    [anon_sym_unless] = ACTIONS(5048),
    [anon_sym_while] = ACTIONS(5050),
    [anon_sym_until] = ACTIONS(5052),
    [anon_sym_for] = ACTIONS(5054),
    [anon_sym_case] = ACTIONS(5056),
    [anon_sym_begin] = ACTIONS(5058),
    [anon_sym_PLUS] = ACTIONS(5060),
    [anon_sym_defined_QMARK] = ACTIONS(5062),
    [anon_sym_not] = ACTIONS(5064),
    [anon_sym_BANG] = ACTIONS(5066),
    [anon_sym_TILDE] = ACTIONS(5066),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5068),
    [sym_float] = ACTIONS(5070),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5072),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(5074),
    [sym_keyword__LINE__] = ACTIONS(5074),
    [sym_keyword__ENCODING__] = ACTIONS(5074),
    [sym__character_literal] = ACTIONS(5076),
    [anon_sym_LBRACK] = ACTIONS(5078),
    [anon_sym_DASH_GT] = ACTIONS(5080),
  },
  [6664] = {
    [sym_method] = STATE(3490),
    [sym_singleton_method] = STATE(3490),
    [sym_class] = STATE(3490),
    [sym_singleton_class] = STATE(3490),
    [sym_module] = STATE(3490),
    [sym_return] = STATE(3490),
    [sym_yield] = STATE(3490),
    [sym_break] = STATE(3490),
    [sym_next] = STATE(3490),
    [sym_redo] = STATE(3490),
    [sym_retry] = STATE(3490),
    [sym_while] = STATE(3490),
    [sym_until] = STATE(3490),
    [sym_for] = STATE(3490),
    [sym_case] = STATE(3490),
    [sym_if] = STATE(3490),
    [sym_unless] = STATE(3490),
    [sym_begin] = STATE(3490),
    [sym__arg] = STATE(9780),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(3490),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(3519),
    [sym_operator_assignment] = STATE(3519),
    [sym_conditional] = STATE(3519),
    [sym_range] = STATE(3519),
    [sym_binary] = STATE(3519),
    [sym_unary] = STATE(3519),
    [sym_left_assignment_list] = STATE(3520),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3521),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(3490),
    [sym_complex] = STATE(3490),
    [sym_rational] = STATE(3490),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(3490),
    [sym_string] = STATE(3522),
    [sym_subshell] = STATE(3490),
    [sym_array] = STATE(3490),
    [sym_hash] = STATE(3490),
    [sym_regex] = STATE(3490),
    [sym_lambda] = STATE(3490),
    [sym__simple_string] = ACTIONS(5000),
    [sym__simple_symbol] = ACTIONS(5002),
    [sym__simple_subshell] = ACTIONS(5004),
    [sym__simple_regex] = ACTIONS(5006),
    [sym__simple_word_list] = ACTIONS(5008),
    [sym__string_beginning] = ACTIONS(5010),
    [sym__symbol_beginning] = ACTIONS(5012),
    [sym__subshell_beginning] = ACTIONS(5014),
    [sym__regex_beginning] = ACTIONS(5016),
    [sym__word_list_beginning] = ACTIONS(5018),
    [sym_heredoc_beginning] = ACTIONS(5020),
    [sym__unary_minus] = ACTIONS(5022),
    [anon_sym_LBRACE] = ACTIONS(5024),
    [anon_sym_def] = ACTIONS(5026),
    [anon_sym_LPAREN] = ACTIONS(5028),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(5030),
    [anon_sym_module] = ACTIONS(5032),
    [anon_sym_return] = ACTIONS(5034),
    [anon_sym_yield] = ACTIONS(5036),
    [anon_sym_break] = ACTIONS(5038),
    [anon_sym_next] = ACTIONS(5040),
    [anon_sym_redo] = ACTIONS(5042),
    [anon_sym_retry] = ACTIONS(5044),
    [anon_sym_if] = ACTIONS(5046),
    [anon_sym_unless] = ACTIONS(5048),
    [anon_sym_while] = ACTIONS(5050),
    [anon_sym_until] = ACTIONS(5052),
    [anon_sym_for] = ACTIONS(5054),
    [anon_sym_case] = ACTIONS(5056),
    [anon_sym_begin] = ACTIONS(5058),
    [anon_sym_PLUS] = ACTIONS(5060),
    [anon_sym_defined_QMARK] = ACTIONS(5062),
    [anon_sym_not] = ACTIONS(5064),
    [anon_sym_BANG] = ACTIONS(5066),
    [anon_sym_TILDE] = ACTIONS(5066),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5068),
    [sym_float] = ACTIONS(5070),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5072),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(5074),
    [sym_keyword__LINE__] = ACTIONS(5074),
    [sym_keyword__ENCODING__] = ACTIONS(5074),
    [sym__character_literal] = ACTIONS(5076),
    [anon_sym_LBRACK] = ACTIONS(5078),
    [anon_sym_DASH_GT] = ACTIONS(5080),
  },
  [6665] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1382),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(9782),
    [sym__argument] = STATE(1385),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1386),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1387),
    [sym__variable] = STATE(1383),
    [sym_reserved_identifier] = STATE(1388),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1389),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(9783),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(2154),
    [sym__splat_star] = ACTIONS(2156),
    [sym__unary_minus] = ACTIONS(2158),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(12646),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2162),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2164),
    [anon_sym_yield] = ACTIONS(2166),
    [anon_sym_break] = ACTIONS(2168),
    [anon_sym_next] = ACTIONS(2170),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2172),
    [anon_sym_defined_QMARK] = ACTIONS(2174),
    [anon_sym_not] = ACTIONS(2176),
    [anon_sym_BANG] = ACTIONS(2178),
    [anon_sym_TILDE] = ACTIONS(2178),
    [sym_constant] = ACTIONS(2180),
    [sym_identifier] = ACTIONS(2180),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6666] = {
    [sym_method] = STATE(3490),
    [sym_singleton_method] = STATE(3490),
    [sym_class] = STATE(3490),
    [sym_singleton_class] = STATE(3490),
    [sym_module] = STATE(3490),
    [sym_return] = STATE(3490),
    [sym_yield] = STATE(3490),
    [sym_break] = STATE(3490),
    [sym_next] = STATE(3490),
    [sym_redo] = STATE(3490),
    [sym_retry] = STATE(3490),
    [sym_while] = STATE(3490),
    [sym_until] = STATE(3490),
    [sym_for] = STATE(3490),
    [sym_case] = STATE(3490),
    [sym_if] = STATE(3490),
    [sym_unless] = STATE(3490),
    [sym_begin] = STATE(3490),
    [sym__arg] = STATE(9784),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(3490),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(3519),
    [sym_operator_assignment] = STATE(3519),
    [sym_conditional] = STATE(3519),
    [sym_range] = STATE(3519),
    [sym_binary] = STATE(3519),
    [sym_unary] = STATE(3519),
    [sym_left_assignment_list] = STATE(3520),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3521),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(3490),
    [sym_complex] = STATE(3490),
    [sym_rational] = STATE(3490),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(3490),
    [sym_string] = STATE(3522),
    [sym_subshell] = STATE(3490),
    [sym_array] = STATE(3490),
    [sym_hash] = STATE(3490),
    [sym_regex] = STATE(3490),
    [sym_lambda] = STATE(3490),
    [sym__simple_string] = ACTIONS(5000),
    [sym__simple_symbol] = ACTIONS(5002),
    [sym__simple_subshell] = ACTIONS(5004),
    [sym__simple_regex] = ACTIONS(5006),
    [sym__simple_word_list] = ACTIONS(5008),
    [sym__string_beginning] = ACTIONS(5010),
    [sym__symbol_beginning] = ACTIONS(5012),
    [sym__subshell_beginning] = ACTIONS(5014),
    [sym__regex_beginning] = ACTIONS(5016),
    [sym__word_list_beginning] = ACTIONS(5018),
    [sym_heredoc_beginning] = ACTIONS(5020),
    [sym__unary_minus] = ACTIONS(5022),
    [anon_sym_LBRACE] = ACTIONS(5024),
    [anon_sym_def] = ACTIONS(5026),
    [anon_sym_LPAREN] = ACTIONS(5028),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(5030),
    [anon_sym_module] = ACTIONS(5032),
    [anon_sym_return] = ACTIONS(5034),
    [anon_sym_yield] = ACTIONS(5036),
    [anon_sym_break] = ACTIONS(5038),
    [anon_sym_next] = ACTIONS(5040),
    [anon_sym_redo] = ACTIONS(5042),
    [anon_sym_retry] = ACTIONS(5044),
    [anon_sym_if] = ACTIONS(5046),
    [anon_sym_unless] = ACTIONS(5048),
    [anon_sym_while] = ACTIONS(5050),
    [anon_sym_until] = ACTIONS(5052),
    [anon_sym_for] = ACTIONS(5054),
    [anon_sym_case] = ACTIONS(5056),
    [anon_sym_begin] = ACTIONS(5058),
    [anon_sym_PLUS] = ACTIONS(5060),
    [anon_sym_defined_QMARK] = ACTIONS(5062),
    [anon_sym_not] = ACTIONS(5064),
    [anon_sym_BANG] = ACTIONS(5066),
    [anon_sym_TILDE] = ACTIONS(5066),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5068),
    [sym_float] = ACTIONS(5070),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5072),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(5074),
    [sym_keyword__LINE__] = ACTIONS(5074),
    [sym_keyword__ENCODING__] = ACTIONS(5074),
    [sym__character_literal] = ACTIONS(5076),
    [anon_sym_LBRACK] = ACTIONS(5078),
    [anon_sym_DASH_GT] = ACTIONS(5080),
  },
  [6667] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(12648),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [6668] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(5102),
    [sym__binary_star] = ACTIONS(5104),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(5106),
    [anon_sym_STAR_STAR] = ACTIONS(5108),
    [anon_sym_AMP] = ACTIONS(5110),
    [anon_sym_EQ] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(5112),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(12648),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(5114),
    [anon_sym_DOT_DOT] = ACTIONS(5116),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5118),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(5122),
    [anon_sym_AMP_AMP] = ACTIONS(5122),
    [anon_sym_LT_LT] = ACTIONS(5124),
    [anon_sym_GT_GT] = ACTIONS(5124),
    [anon_sym_EQ_EQ] = ACTIONS(5126),
    [anon_sym_BANG_EQ] = ACTIONS(5122),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5122),
    [anon_sym_LT_EQ_GT] = ACTIONS(5122),
    [anon_sym_EQ_TILDE] = ACTIONS(5122),
    [anon_sym_BANG_TILDE] = ACTIONS(5122),
    [anon_sym_LT_EQ] = ACTIONS(5112),
    [anon_sym_GT] = ACTIONS(5112),
    [anon_sym_GT_EQ] = ACTIONS(5128),
    [anon_sym_CARET] = ACTIONS(5130),
    [anon_sym_PLUS] = ACTIONS(5132),
    [anon_sym_SLASH] = ACTIONS(5108),
    [anon_sym_PERCENT] = ACTIONS(5108),
    [sym_comment] = ACTIONS(256),
  },
  [6669] = {
    [sym__simple_heredoc_body] = ACTIONS(2264),
    [sym__heredoc_body_beginning] = ACTIONS(2264),
    [sym__element_reference_left_bracket] = ACTIONS(2264),
    [sym__scope_double_colon] = ACTIONS(2264),
    [sym__binary_minus] = ACTIONS(2264),
    [sym__binary_star] = ACTIONS(2264),
    [anon_sym_LBRACE] = ACTIONS(2264),
    [anon_sym_RPAREN] = ACTIONS(2264),
    [anon_sym_DOT] = ACTIONS(2266),
    [anon_sym_COMMA] = ACTIONS(2264),
    [anon_sym_PIPE] = ACTIONS(2266),
    [anon_sym_STAR_STAR] = ACTIONS(2264),
    [anon_sym_AMP] = ACTIONS(2266),
    [anon_sym_EQ] = ACTIONS(2266),
    [anon_sym_LT] = ACTIONS(2266),
    [anon_sym_do] = ACTIONS(2264),
    [anon_sym_AMP_DOT] = ACTIONS(2264),
    [anon_sym_QMARK] = ACTIONS(2264),
    [anon_sym_DOT_DOT] = ACTIONS(2266),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2264),
    [anon_sym_and] = ACTIONS(2264),
    [anon_sym_or] = ACTIONS(2264),
    [anon_sym_PIPE_PIPE] = ACTIONS(2264),
    [anon_sym_AMP_AMP] = ACTIONS(2264),
    [anon_sym_LT_LT] = ACTIONS(2264),
    [anon_sym_GT_GT] = ACTIONS(2264),
    [anon_sym_EQ_EQ] = ACTIONS(2266),
    [anon_sym_BANG_EQ] = ACTIONS(2264),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2264),
    [anon_sym_LT_EQ_GT] = ACTIONS(2264),
    [anon_sym_EQ_TILDE] = ACTIONS(2264),
    [anon_sym_BANG_TILDE] = ACTIONS(2264),
    [anon_sym_LT_EQ] = ACTIONS(2266),
    [anon_sym_GT] = ACTIONS(2266),
    [anon_sym_GT_EQ] = ACTIONS(2264),
    [anon_sym_CARET] = ACTIONS(2264),
    [anon_sym_PLUS] = ACTIONS(2264),
    [anon_sym_SLASH] = ACTIONS(2264),
    [anon_sym_PERCENT] = ACTIONS(2264),
    [sym_comment] = ACTIONS(256),
  },
  [6670] = {
    [sym_heredoc_end] = STATE(9788),
    [aux_sym_argument_list_repeat2] = STATE(9789),
    [sym__simple_heredoc_body] = ACTIONS(12650),
    [sym__heredoc_body_beginning] = ACTIONS(12652),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_RPAREN] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(2272),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_STAR_STAR] = ACTIONS(2272),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_EQ] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2272),
    [anon_sym_AMP_AMP] = ACTIONS(2272),
    [anon_sym_LT_LT] = ACTIONS(2272),
    [anon_sym_GT_GT] = ACTIONS(2272),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2272),
    [anon_sym_PLUS] = ACTIONS(2272),
    [anon_sym_SLASH] = ACTIONS(2272),
    [anon_sym_PERCENT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(256),
  },
  [6671] = {
    [sym_heredoc_end] = STATE(9788),
    [aux_sym_argument_list_repeat1] = STATE(9791),
    [aux_sym_argument_list_repeat2] = STATE(9789),
    [sym__simple_heredoc_body] = ACTIONS(12650),
    [sym__heredoc_body_beginning] = ACTIONS(12652),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(12654),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_STAR_STAR] = ACTIONS(2272),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_EQ] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2272),
    [anon_sym_AMP_AMP] = ACTIONS(2272),
    [anon_sym_LT_LT] = ACTIONS(2272),
    [anon_sym_GT_GT] = ACTIONS(2272),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2272),
    [anon_sym_PLUS] = ACTIONS(2272),
    [anon_sym_SLASH] = ACTIONS(2272),
    [anon_sym_PERCENT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(256),
  },
  [6672] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(2210),
    [sym__binary_star] = ACTIONS(2210),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_RPAREN] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(2216),
    [anon_sym_STAR_STAR] = ACTIONS(2210),
    [anon_sym_AMP] = ACTIONS(2216),
    [anon_sym_EQ] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(2216),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(2210),
    [anon_sym_DOT_DOT] = ACTIONS(2216),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2210),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(2210),
    [anon_sym_AMP_AMP] = ACTIONS(2210),
    [anon_sym_LT_LT] = ACTIONS(2210),
    [anon_sym_GT_GT] = ACTIONS(2210),
    [anon_sym_EQ_EQ] = ACTIONS(2216),
    [anon_sym_BANG_EQ] = ACTIONS(2210),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2210),
    [anon_sym_LT_EQ_GT] = ACTIONS(2210),
    [anon_sym_EQ_TILDE] = ACTIONS(2210),
    [anon_sym_BANG_TILDE] = ACTIONS(2210),
    [anon_sym_LT_EQ] = ACTIONS(2216),
    [anon_sym_GT] = ACTIONS(2216),
    [anon_sym_GT_EQ] = ACTIONS(2210),
    [anon_sym_CARET] = ACTIONS(2210),
    [anon_sym_PLUS] = ACTIONS(2210),
    [anon_sym_SLASH] = ACTIONS(2210),
    [anon_sym_PERCENT] = ACTIONS(2210),
    [sym_comment] = ACTIONS(256),
  },
  [6673] = {
    [sym__keyword_colon] = ACTIONS(12656),
    [sym_comment] = ACTIONS(110),
  },
  [6674] = {
    [sym_string] = STATE(1962),
    [aux_sym_chained_string_repeat1] = STATE(1963),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(12648),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(1626),
  },
  [6675] = {
    [sym__simple_heredoc_body] = ACTIONS(2286),
    [sym__heredoc_body_beginning] = ACTIONS(2286),
    [sym__element_reference_left_bracket] = ACTIONS(2286),
    [sym__scope_double_colon] = ACTIONS(2286),
    [sym__binary_minus] = ACTIONS(2286),
    [sym__binary_star] = ACTIONS(2286),
    [anon_sym_LBRACE] = ACTIONS(2286),
    [anon_sym_RPAREN] = ACTIONS(2286),
    [anon_sym_DOT] = ACTIONS(2288),
    [anon_sym_COMMA] = ACTIONS(2286),
    [anon_sym_PIPE] = ACTIONS(2288),
    [anon_sym_STAR_STAR] = ACTIONS(2286),
    [anon_sym_AMP] = ACTIONS(2288),
    [anon_sym_EQ] = ACTIONS(2288),
    [anon_sym_LT] = ACTIONS(2288),
    [anon_sym_do] = ACTIONS(2286),
    [anon_sym_AMP_DOT] = ACTIONS(2286),
    [anon_sym_QMARK] = ACTIONS(2286),
    [anon_sym_DOT_DOT] = ACTIONS(2288),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2286),
    [anon_sym_and] = ACTIONS(2286),
    [anon_sym_or] = ACTIONS(2286),
    [anon_sym_PIPE_PIPE] = ACTIONS(2286),
    [anon_sym_AMP_AMP] = ACTIONS(2286),
    [anon_sym_LT_LT] = ACTIONS(2286),
    [anon_sym_GT_GT] = ACTIONS(2286),
    [anon_sym_EQ_EQ] = ACTIONS(2288),
    [anon_sym_BANG_EQ] = ACTIONS(2286),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2286),
    [anon_sym_LT_EQ_GT] = ACTIONS(2286),
    [anon_sym_EQ_TILDE] = ACTIONS(2286),
    [anon_sym_BANG_TILDE] = ACTIONS(2286),
    [anon_sym_LT_EQ] = ACTIONS(2288),
    [anon_sym_GT] = ACTIONS(2288),
    [anon_sym_GT_EQ] = ACTIONS(2286),
    [anon_sym_CARET] = ACTIONS(2286),
    [anon_sym_PLUS] = ACTIONS(2286),
    [anon_sym_SLASH] = ACTIONS(2286),
    [anon_sym_PERCENT] = ACTIONS(2286),
    [sym_comment] = ACTIONS(256),
  },
  [6676] = {
    [sym__simple_heredoc_body] = ACTIONS(2290),
    [sym__heredoc_body_beginning] = ACTIONS(2290),
    [sym__element_reference_left_bracket] = ACTIONS(2290),
    [sym__scope_double_colon] = ACTIONS(2290),
    [sym__binary_minus] = ACTIONS(2290),
    [sym__binary_star] = ACTIONS(2290),
    [anon_sym_LBRACE] = ACTIONS(2290),
    [anon_sym_RPAREN] = ACTIONS(2290),
    [anon_sym_DOT] = ACTIONS(2292),
    [anon_sym_COMMA] = ACTIONS(2290),
    [anon_sym_PIPE] = ACTIONS(2292),
    [anon_sym_STAR_STAR] = ACTIONS(2290),
    [anon_sym_AMP] = ACTIONS(2292),
    [anon_sym_EQ] = ACTIONS(2292),
    [anon_sym_LT] = ACTIONS(2292),
    [anon_sym_do] = ACTIONS(2290),
    [anon_sym_AMP_DOT] = ACTIONS(2290),
    [anon_sym_QMARK] = ACTIONS(2290),
    [anon_sym_DOT_DOT] = ACTIONS(2292),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2290),
    [anon_sym_and] = ACTIONS(2290),
    [anon_sym_or] = ACTIONS(2290),
    [anon_sym_PIPE_PIPE] = ACTIONS(2290),
    [anon_sym_AMP_AMP] = ACTIONS(2290),
    [anon_sym_LT_LT] = ACTIONS(2290),
    [anon_sym_GT_GT] = ACTIONS(2290),
    [anon_sym_EQ_EQ] = ACTIONS(2292),
    [anon_sym_BANG_EQ] = ACTIONS(2290),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2290),
    [anon_sym_LT_EQ_GT] = ACTIONS(2290),
    [anon_sym_EQ_TILDE] = ACTIONS(2290),
    [anon_sym_BANG_TILDE] = ACTIONS(2290),
    [anon_sym_LT_EQ] = ACTIONS(2292),
    [anon_sym_GT] = ACTIONS(2292),
    [anon_sym_GT_EQ] = ACTIONS(2290),
    [anon_sym_CARET] = ACTIONS(2290),
    [anon_sym_PLUS] = ACTIONS(2290),
    [anon_sym_SLASH] = ACTIONS(2290),
    [anon_sym_PERCENT] = ACTIONS(2290),
    [sym_comment] = ACTIONS(256),
  },
  [6677] = {
    [sym__simple_heredoc_body] = ACTIONS(2294),
    [sym__heredoc_body_beginning] = ACTIONS(2294),
    [sym__element_reference_left_bracket] = ACTIONS(2294),
    [sym__scope_double_colon] = ACTIONS(2294),
    [sym__binary_minus] = ACTIONS(2294),
    [sym__binary_star] = ACTIONS(2294),
    [anon_sym_LBRACE] = ACTIONS(2294),
    [anon_sym_RPAREN] = ACTIONS(2294),
    [anon_sym_DOT] = ACTIONS(2296),
    [anon_sym_COMMA] = ACTIONS(2294),
    [anon_sym_PIPE] = ACTIONS(2296),
    [anon_sym_STAR_STAR] = ACTIONS(2294),
    [anon_sym_AMP] = ACTIONS(2296),
    [anon_sym_EQ] = ACTIONS(2296),
    [anon_sym_LT] = ACTIONS(2296),
    [anon_sym_do] = ACTIONS(2294),
    [anon_sym_AMP_DOT] = ACTIONS(2294),
    [anon_sym_QMARK] = ACTIONS(2294),
    [anon_sym_DOT_DOT] = ACTIONS(2296),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2294),
    [anon_sym_and] = ACTIONS(2294),
    [anon_sym_or] = ACTIONS(2294),
    [anon_sym_PIPE_PIPE] = ACTIONS(2294),
    [anon_sym_AMP_AMP] = ACTIONS(2294),
    [anon_sym_LT_LT] = ACTIONS(2294),
    [anon_sym_GT_GT] = ACTIONS(2294),
    [anon_sym_EQ_EQ] = ACTIONS(2296),
    [anon_sym_BANG_EQ] = ACTIONS(2294),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2294),
    [anon_sym_LT_EQ_GT] = ACTIONS(2294),
    [anon_sym_EQ_TILDE] = ACTIONS(2294),
    [anon_sym_BANG_TILDE] = ACTIONS(2294),
    [anon_sym_LT_EQ] = ACTIONS(2296),
    [anon_sym_GT] = ACTIONS(2296),
    [anon_sym_GT_EQ] = ACTIONS(2294),
    [anon_sym_CARET] = ACTIONS(2294),
    [anon_sym_PLUS] = ACTIONS(2294),
    [anon_sym_SLASH] = ACTIONS(2294),
    [anon_sym_PERCENT] = ACTIONS(2294),
    [sym_comment] = ACTIONS(256),
  },
  [6678] = {
    [sym__then] = STATE(9793),
    [sym_heredoc_end] = STATE(1476),
    [sym__terminator] = STATE(1484),
    [sym__simple_heredoc_body] = ACTIONS(2322),
    [sym__heredoc_body_beginning] = ACTIONS(2324),
    [sym__line_break] = ACTIONS(2326),
    [anon_sym_SEMI] = ACTIONS(2326),
    [anon_sym_if] = ACTIONS(2328),
    [anon_sym_unless] = ACTIONS(2330),
    [anon_sym_while] = ACTIONS(2332),
    [anon_sym_until] = ACTIONS(2334),
    [anon_sym_rescue] = ACTIONS(2336),
    [anon_sym_then] = ACTIONS(2338),
    [sym_comment] = ACTIONS(110),
  },
  [6679] = {
    [sym__then] = STATE(9794),
    [sym_heredoc_end] = STATE(1521),
    [sym__terminator] = STATE(1524),
    [sym__simple_heredoc_body] = ACTIONS(2402),
    [sym__heredoc_body_beginning] = ACTIONS(2404),
    [sym__line_break] = ACTIONS(2406),
    [anon_sym_SEMI] = ACTIONS(2406),
    [anon_sym_if] = ACTIONS(2328),
    [anon_sym_unless] = ACTIONS(2330),
    [anon_sym_while] = ACTIONS(2332),
    [anon_sym_until] = ACTIONS(2334),
    [anon_sym_rescue] = ACTIONS(2336),
    [anon_sym_then] = ACTIONS(2408),
    [sym_comment] = ACTIONS(110),
  },
  [6680] = {
    [sym__do] = STATE(9795),
    [sym_heredoc_end] = STATE(1550),
    [sym__terminator] = STATE(1557),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym__line_break] = ACTIONS(2446),
    [sym__binary_minus] = ACTIONS(2448),
    [sym__binary_star] = ACTIONS(2450),
    [anon_sym_PIPE] = ACTIONS(2452),
    [anon_sym_SEMI] = ACTIONS(2446),
    [anon_sym_STAR_STAR] = ACTIONS(2454),
    [anon_sym_AMP] = ACTIONS(2456),
    [anon_sym_LT] = ACTIONS(2458),
    [anon_sym_do] = ACTIONS(2460),
    [anon_sym_QMARK] = ACTIONS(2462),
    [anon_sym_DOT_DOT] = ACTIONS(2464),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2466),
    [anon_sym_and] = ACTIONS(2468),
    [anon_sym_or] = ACTIONS(2468),
    [anon_sym_PIPE_PIPE] = ACTIONS(2470),
    [anon_sym_AMP_AMP] = ACTIONS(2470),
    [anon_sym_LT_LT] = ACTIONS(2472),
    [anon_sym_GT_GT] = ACTIONS(2472),
    [anon_sym_EQ_EQ] = ACTIONS(2474),
    [anon_sym_BANG_EQ] = ACTIONS(2470),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2470),
    [anon_sym_LT_EQ_GT] = ACTIONS(2470),
    [anon_sym_EQ_TILDE] = ACTIONS(2470),
    [anon_sym_BANG_TILDE] = ACTIONS(2470),
    [anon_sym_LT_EQ] = ACTIONS(2458),
    [anon_sym_GT] = ACTIONS(2458),
    [anon_sym_GT_EQ] = ACTIONS(2476),
    [anon_sym_CARET] = ACTIONS(2478),
    [anon_sym_PLUS] = ACTIONS(2480),
    [anon_sym_SLASH] = ACTIONS(2454),
    [anon_sym_PERCENT] = ACTIONS(2454),
    [sym_comment] = ACTIONS(110),
  },
  [6681] = {
    [sym__do] = STATE(9796),
    [sym_heredoc_end] = STATE(1550),
    [sym__terminator] = STATE(1557),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym__line_break] = ACTIONS(2446),
    [sym__binary_minus] = ACTIONS(2448),
    [sym__binary_star] = ACTIONS(2450),
    [anon_sym_PIPE] = ACTIONS(2452),
    [anon_sym_SEMI] = ACTIONS(2446),
    [anon_sym_STAR_STAR] = ACTIONS(2454),
    [anon_sym_AMP] = ACTIONS(2456),
    [anon_sym_LT] = ACTIONS(2458),
    [anon_sym_do] = ACTIONS(2460),
    [anon_sym_QMARK] = ACTIONS(2462),
    [anon_sym_DOT_DOT] = ACTIONS(2464),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2466),
    [anon_sym_and] = ACTIONS(2468),
    [anon_sym_or] = ACTIONS(2468),
    [anon_sym_PIPE_PIPE] = ACTIONS(2470),
    [anon_sym_AMP_AMP] = ACTIONS(2470),
    [anon_sym_LT_LT] = ACTIONS(2472),
    [anon_sym_GT_GT] = ACTIONS(2472),
    [anon_sym_EQ_EQ] = ACTIONS(2474),
    [anon_sym_BANG_EQ] = ACTIONS(2470),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2470),
    [anon_sym_LT_EQ_GT] = ACTIONS(2470),
    [anon_sym_EQ_TILDE] = ACTIONS(2470),
    [anon_sym_BANG_TILDE] = ACTIONS(2470),
    [anon_sym_LT_EQ] = ACTIONS(2458),
    [anon_sym_GT] = ACTIONS(2458),
    [anon_sym_GT_EQ] = ACTIONS(2476),
    [anon_sym_CARET] = ACTIONS(2478),
    [anon_sym_PLUS] = ACTIONS(2480),
    [anon_sym_SLASH] = ACTIONS(2454),
    [anon_sym_PERCENT] = ACTIONS(2454),
    [sym_comment] = ACTIONS(110),
  },
  [6682] = {
    [sym_in] = STATE(9797),
    [anon_sym_in] = ACTIONS(2548),
    [sym_comment] = ACTIONS(110),
  },
  [6683] = {
    [anon_sym_end] = ACTIONS(12658),
    [sym_comment] = ACTIONS(110),
  },
  [6684] = {
    [sym_when] = STATE(9799),
    [sym_heredoc_end] = STATE(387),
    [sym__terminator] = STATE(402),
    [aux_sym_case_repeat1] = STATE(9800),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym__line_break] = ACTIONS(666),
    [sym__binary_minus] = ACTIONS(2600),
    [sym__binary_star] = ACTIONS(2602),
    [anon_sym_PIPE] = ACTIONS(2604),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_STAR_STAR] = ACTIONS(2606),
    [anon_sym_AMP] = ACTIONS(2608),
    [anon_sym_LT] = ACTIONS(2610),
    [anon_sym_when] = ACTIONS(2612),
    [anon_sym_QMARK] = ACTIONS(2614),
    [anon_sym_DOT_DOT] = ACTIONS(2616),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2618),
    [anon_sym_and] = ACTIONS(2620),
    [anon_sym_or] = ACTIONS(2620),
    [anon_sym_PIPE_PIPE] = ACTIONS(2622),
    [anon_sym_AMP_AMP] = ACTIONS(2622),
    [anon_sym_LT_LT] = ACTIONS(2624),
    [anon_sym_GT_GT] = ACTIONS(2624),
    [anon_sym_EQ_EQ] = ACTIONS(2626),
    [anon_sym_BANG_EQ] = ACTIONS(2622),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2622),
    [anon_sym_LT_EQ_GT] = ACTIONS(2622),
    [anon_sym_EQ_TILDE] = ACTIONS(2622),
    [anon_sym_BANG_TILDE] = ACTIONS(2622),
    [anon_sym_LT_EQ] = ACTIONS(2610),
    [anon_sym_GT] = ACTIONS(2610),
    [anon_sym_GT_EQ] = ACTIONS(2628),
    [anon_sym_CARET] = ACTIONS(2630),
    [anon_sym_PLUS] = ACTIONS(2632),
    [anon_sym_SLASH] = ACTIONS(2606),
    [anon_sym_PERCENT] = ACTIONS(2606),
    [sym_comment] = ACTIONS(110),
  },
  [6685] = {
    [sym_when] = STATE(9799),
    [sym_heredoc_end] = STATE(387),
    [sym__terminator] = STATE(1688),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym__line_break] = ACTIONS(666),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_when] = ACTIONS(2612),
    [sym_comment] = ACTIONS(110),
  },
  [6686] = {
    [sym__simple_heredoc_body] = ACTIONS(2674),
    [sym__heredoc_body_beginning] = ACTIONS(2674),
    [sym__element_reference_left_bracket] = ACTIONS(2674),
    [sym__scope_double_colon] = ACTIONS(2674),
    [sym__binary_minus] = ACTIONS(2674),
    [sym__binary_star] = ACTIONS(2674),
    [anon_sym_LBRACE] = ACTIONS(2674),
    [anon_sym_RPAREN] = ACTIONS(2674),
    [anon_sym_DOT] = ACTIONS(2676),
    [anon_sym_COMMA] = ACTIONS(2674),
    [anon_sym_PIPE] = ACTIONS(2676),
    [anon_sym_STAR_STAR] = ACTIONS(2674),
    [anon_sym_AMP] = ACTIONS(2676),
    [anon_sym_EQ] = ACTIONS(2676),
    [anon_sym_LT] = ACTIONS(2676),
    [anon_sym_do] = ACTIONS(2674),
    [anon_sym_AMP_DOT] = ACTIONS(2674),
    [anon_sym_QMARK] = ACTIONS(2674),
    [anon_sym_DOT_DOT] = ACTIONS(2676),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2674),
    [anon_sym_and] = ACTIONS(2674),
    [anon_sym_or] = ACTIONS(2674),
    [anon_sym_PIPE_PIPE] = ACTIONS(2674),
    [anon_sym_AMP_AMP] = ACTIONS(2674),
    [anon_sym_LT_LT] = ACTIONS(2674),
    [anon_sym_GT_GT] = ACTIONS(2674),
    [anon_sym_EQ_EQ] = ACTIONS(2676),
    [anon_sym_BANG_EQ] = ACTIONS(2674),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2674),
    [anon_sym_LT_EQ_GT] = ACTIONS(2674),
    [anon_sym_EQ_TILDE] = ACTIONS(2674),
    [anon_sym_BANG_TILDE] = ACTIONS(2674),
    [anon_sym_LT_EQ] = ACTIONS(2676),
    [anon_sym_GT] = ACTIONS(2676),
    [anon_sym_GT_EQ] = ACTIONS(2674),
    [anon_sym_CARET] = ACTIONS(2674),
    [anon_sym_PLUS] = ACTIONS(2674),
    [anon_sym_SLASH] = ACTIONS(2674),
    [anon_sym_PERCENT] = ACTIONS(2674),
    [sym_comment] = ACTIONS(256),
  },
  [6687] = {
    [anon_sym_end] = ACTIONS(12660),
    [sym_comment] = ACTIONS(110),
  },
  [6688] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(9802),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(12662),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6689] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(9222),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(256),
  },
  [6690] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(9216),
    [sym__binary_star] = ACTIONS(9218),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(9220),
    [anon_sym_STAR_STAR] = ACTIONS(9222),
    [anon_sym_AMP] = ACTIONS(9224),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(9226),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(9228),
    [anon_sym_DOT_DOT] = ACTIONS(9230),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9232),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(9236),
    [anon_sym_AMP_AMP] = ACTIONS(9236),
    [anon_sym_LT_LT] = ACTIONS(9238),
    [anon_sym_GT_GT] = ACTIONS(9238),
    [anon_sym_EQ_EQ] = ACTIONS(9240),
    [anon_sym_BANG_EQ] = ACTIONS(9236),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9236),
    [anon_sym_LT_EQ_GT] = ACTIONS(9236),
    [anon_sym_EQ_TILDE] = ACTIONS(9236),
    [anon_sym_BANG_TILDE] = ACTIONS(9236),
    [anon_sym_LT_EQ] = ACTIONS(9226),
    [anon_sym_GT] = ACTIONS(9226),
    [anon_sym_GT_EQ] = ACTIONS(9242),
    [anon_sym_CARET] = ACTIONS(9244),
    [anon_sym_PLUS] = ACTIONS(9246),
    [anon_sym_SLASH] = ACTIONS(9222),
    [anon_sym_PERCENT] = ACTIONS(9222),
    [sym_comment] = ACTIONS(256),
  },
  [6691] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_RPAREN] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(2870),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(256),
  },
  [6692] = {
    [sym__simple_heredoc_body] = ACTIONS(2882),
    [sym__heredoc_body_beginning] = ACTIONS(2882),
    [sym__element_reference_left_bracket] = ACTIONS(2882),
    [sym__scope_double_colon] = ACTIONS(2882),
    [sym__binary_minus] = ACTIONS(2882),
    [sym__binary_star] = ACTIONS(2882),
    [anon_sym_LBRACE] = ACTIONS(2882),
    [anon_sym_RPAREN] = ACTIONS(2882),
    [anon_sym_DOT] = ACTIONS(2884),
    [anon_sym_COMMA] = ACTIONS(2882),
    [anon_sym_PIPE] = ACTIONS(2884),
    [anon_sym_STAR_STAR] = ACTIONS(2882),
    [anon_sym_AMP] = ACTIONS(2884),
    [anon_sym_EQ] = ACTIONS(2884),
    [anon_sym_LT] = ACTIONS(2884),
    [anon_sym_do] = ACTIONS(2882),
    [anon_sym_AMP_DOT] = ACTIONS(2882),
    [anon_sym_QMARK] = ACTIONS(2882),
    [anon_sym_DOT_DOT] = ACTIONS(2884),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2882),
    [anon_sym_and] = ACTIONS(2882),
    [anon_sym_or] = ACTIONS(2882),
    [anon_sym_PIPE_PIPE] = ACTIONS(2882),
    [anon_sym_AMP_AMP] = ACTIONS(2882),
    [anon_sym_LT_LT] = ACTIONS(2882),
    [anon_sym_GT_GT] = ACTIONS(2882),
    [anon_sym_EQ_EQ] = ACTIONS(2884),
    [anon_sym_BANG_EQ] = ACTIONS(2882),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2882),
    [anon_sym_LT_EQ_GT] = ACTIONS(2882),
    [anon_sym_EQ_TILDE] = ACTIONS(2882),
    [anon_sym_BANG_TILDE] = ACTIONS(2882),
    [anon_sym_LT_EQ] = ACTIONS(2884),
    [anon_sym_GT] = ACTIONS(2884),
    [anon_sym_GT_EQ] = ACTIONS(2882),
    [anon_sym_CARET] = ACTIONS(2882),
    [anon_sym_PLUS] = ACTIONS(2882),
    [anon_sym_SLASH] = ACTIONS(2882),
    [anon_sym_PERCENT] = ACTIONS(2882),
    [sym_comment] = ACTIONS(256),
  },
  [6693] = {
    [sym__simple_heredoc_body] = ACTIONS(2952),
    [sym__heredoc_body_beginning] = ACTIONS(2952),
    [sym__element_reference_left_bracket] = ACTIONS(2952),
    [sym__scope_double_colon] = ACTIONS(2952),
    [sym__binary_minus] = ACTIONS(2952),
    [sym__binary_star] = ACTIONS(2952),
    [anon_sym_LBRACE] = ACTIONS(2952),
    [anon_sym_RPAREN] = ACTIONS(2952),
    [anon_sym_DOT] = ACTIONS(2954),
    [anon_sym_COMMA] = ACTIONS(2952),
    [anon_sym_PIPE] = ACTIONS(2954),
    [anon_sym_STAR_STAR] = ACTIONS(2952),
    [anon_sym_AMP] = ACTIONS(2954),
    [anon_sym_EQ] = ACTIONS(2954),
    [anon_sym_LT] = ACTIONS(2954),
    [anon_sym_do] = ACTIONS(2952),
    [anon_sym_AMP_DOT] = ACTIONS(2952),
    [anon_sym_QMARK] = ACTIONS(2952),
    [anon_sym_DOT_DOT] = ACTIONS(2954),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2952),
    [anon_sym_and] = ACTIONS(2952),
    [anon_sym_or] = ACTIONS(2952),
    [anon_sym_PIPE_PIPE] = ACTIONS(2952),
    [anon_sym_AMP_AMP] = ACTIONS(2952),
    [anon_sym_LT_LT] = ACTIONS(2952),
    [anon_sym_GT_GT] = ACTIONS(2952),
    [anon_sym_EQ_EQ] = ACTIONS(2954),
    [anon_sym_BANG_EQ] = ACTIONS(2952),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2952),
    [anon_sym_LT_EQ_GT] = ACTIONS(2952),
    [anon_sym_EQ_TILDE] = ACTIONS(2952),
    [anon_sym_BANG_TILDE] = ACTIONS(2952),
    [anon_sym_LT_EQ] = ACTIONS(2954),
    [anon_sym_GT] = ACTIONS(2954),
    [anon_sym_GT_EQ] = ACTIONS(2952),
    [anon_sym_CARET] = ACTIONS(2952),
    [anon_sym_PLUS] = ACTIONS(2952),
    [anon_sym_SLASH] = ACTIONS(2952),
    [anon_sym_PERCENT] = ACTIONS(2952),
    [sym_comment] = ACTIONS(256),
  },
  [6694] = {
    [sym_heredoc_end] = STATE(9803),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RBRACK] = ACTIONS(12634),
    [sym_comment] = ACTIONS(110),
  },
  [6695] = {
    [anon_sym_RBRACK] = ACTIONS(12634),
    [sym_comment] = ACTIONS(110),
  },
  [6696] = {
    [sym__statements] = STATE(9805),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(9806),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(841),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(12664),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_PIPE] = ACTIONS(3048),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6697] = {
    [sym__statements] = STATE(9808),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(9809),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1981),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(9810),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(3076),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(3078),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(3080),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(12666),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(3086),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6698] = {
    [sym_do_block] = STATE(9811),
    [sym_block] = STATE(9811),
    [anon_sym_LBRACE] = ACTIONS(9212),
    [anon_sym_do] = ACTIONS(12668),
    [sym_comment] = ACTIONS(110),
  },
  [6699] = {
    [sym__simple_heredoc_body] = ACTIONS(3100),
    [sym__heredoc_body_beginning] = ACTIONS(3100),
    [sym__element_reference_left_bracket] = ACTIONS(3100),
    [sym__scope_double_colon] = ACTIONS(3100),
    [sym__binary_minus] = ACTIONS(3100),
    [sym__binary_star] = ACTIONS(3100),
    [anon_sym_LBRACE] = ACTIONS(3100),
    [anon_sym_RPAREN] = ACTIONS(3100),
    [anon_sym_DOT] = ACTIONS(3102),
    [anon_sym_COMMA] = ACTIONS(3100),
    [anon_sym_PIPE] = ACTIONS(3102),
    [anon_sym_STAR_STAR] = ACTIONS(3100),
    [anon_sym_AMP] = ACTIONS(3102),
    [anon_sym_EQ] = ACTIONS(3102),
    [anon_sym_LT] = ACTIONS(3102),
    [anon_sym_do] = ACTIONS(3100),
    [anon_sym_AMP_DOT] = ACTIONS(3100),
    [anon_sym_QMARK] = ACTIONS(3100),
    [anon_sym_DOT_DOT] = ACTIONS(3102),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3100),
    [anon_sym_and] = ACTIONS(3100),
    [anon_sym_or] = ACTIONS(3100),
    [anon_sym_PIPE_PIPE] = ACTIONS(3100),
    [anon_sym_AMP_AMP] = ACTIONS(3100),
    [anon_sym_LT_LT] = ACTIONS(3100),
    [anon_sym_GT_GT] = ACTIONS(3100),
    [anon_sym_EQ_EQ] = ACTIONS(3102),
    [anon_sym_BANG_EQ] = ACTIONS(3100),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3100),
    [anon_sym_LT_EQ_GT] = ACTIONS(3100),
    [anon_sym_EQ_TILDE] = ACTIONS(3100),
    [anon_sym_BANG_TILDE] = ACTIONS(3100),
    [anon_sym_LT_EQ] = ACTIONS(3102),
    [anon_sym_GT] = ACTIONS(3102),
    [anon_sym_GT_EQ] = ACTIONS(3100),
    [anon_sym_CARET] = ACTIONS(3100),
    [anon_sym_PLUS] = ACTIONS(3100),
    [anon_sym_SLASH] = ACTIONS(3100),
    [anon_sym_PERCENT] = ACTIONS(3100),
    [sym_comment] = ACTIONS(256),
  },
  [6700] = {
    [sym_method] = STATE(3490),
    [sym_singleton_method] = STATE(3490),
    [sym_class] = STATE(3490),
    [sym_singleton_class] = STATE(3490),
    [sym_module] = STATE(3490),
    [sym_return] = STATE(3490),
    [sym_yield] = STATE(3490),
    [sym_break] = STATE(3490),
    [sym_next] = STATE(3490),
    [sym_redo] = STATE(3490),
    [sym_retry] = STATE(3490),
    [sym_while] = STATE(3490),
    [sym_until] = STATE(3490),
    [sym_for] = STATE(3490),
    [sym_case] = STATE(3490),
    [sym_if] = STATE(3490),
    [sym_unless] = STATE(3490),
    [sym_begin] = STATE(3490),
    [sym__arg] = STATE(9812),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(3490),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(3519),
    [sym_operator_assignment] = STATE(3519),
    [sym_conditional] = STATE(3519),
    [sym_range] = STATE(3519),
    [sym_binary] = STATE(3519),
    [sym_unary] = STATE(3519),
    [sym_left_assignment_list] = STATE(3520),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3521),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(3490),
    [sym_complex] = STATE(3490),
    [sym_rational] = STATE(3490),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(3490),
    [sym_string] = STATE(3522),
    [sym_subshell] = STATE(3490),
    [sym_array] = STATE(3490),
    [sym_hash] = STATE(3490),
    [sym_regex] = STATE(3490),
    [sym_lambda] = STATE(3490),
    [sym__simple_string] = ACTIONS(5000),
    [sym__simple_symbol] = ACTIONS(5002),
    [sym__simple_subshell] = ACTIONS(5004),
    [sym__simple_regex] = ACTIONS(5006),
    [sym__simple_word_list] = ACTIONS(5008),
    [sym__string_beginning] = ACTIONS(5010),
    [sym__symbol_beginning] = ACTIONS(5012),
    [sym__subshell_beginning] = ACTIONS(5014),
    [sym__regex_beginning] = ACTIONS(5016),
    [sym__word_list_beginning] = ACTIONS(5018),
    [sym_heredoc_beginning] = ACTIONS(5020),
    [sym__unary_minus] = ACTIONS(5022),
    [anon_sym_LBRACE] = ACTIONS(5024),
    [anon_sym_def] = ACTIONS(5026),
    [anon_sym_LPAREN] = ACTIONS(5028),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(5030),
    [anon_sym_module] = ACTIONS(5032),
    [anon_sym_return] = ACTIONS(5034),
    [anon_sym_yield] = ACTIONS(5036),
    [anon_sym_break] = ACTIONS(5038),
    [anon_sym_next] = ACTIONS(5040),
    [anon_sym_redo] = ACTIONS(5042),
    [anon_sym_retry] = ACTIONS(5044),
    [anon_sym_if] = ACTIONS(5046),
    [anon_sym_unless] = ACTIONS(5048),
    [anon_sym_while] = ACTIONS(5050),
    [anon_sym_until] = ACTIONS(5052),
    [anon_sym_for] = ACTIONS(5054),
    [anon_sym_case] = ACTIONS(5056),
    [anon_sym_begin] = ACTIONS(5058),
    [anon_sym_PLUS] = ACTIONS(5060),
    [anon_sym_defined_QMARK] = ACTIONS(5062),
    [anon_sym_not] = ACTIONS(5064),
    [anon_sym_BANG] = ACTIONS(5066),
    [anon_sym_TILDE] = ACTIONS(5066),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5068),
    [sym_float] = ACTIONS(5070),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5072),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(5074),
    [sym_keyword__LINE__] = ACTIONS(5074),
    [sym_keyword__ENCODING__] = ACTIONS(5074),
    [sym__character_literal] = ACTIONS(5076),
    [anon_sym_LBRACK] = ACTIONS(5078),
    [anon_sym_DASH_GT] = ACTIONS(5080),
  },
  [6701] = {
    [sym_method] = STATE(3490),
    [sym_singleton_method] = STATE(3490),
    [sym_class] = STATE(3490),
    [sym_singleton_class] = STATE(3490),
    [sym_module] = STATE(3490),
    [sym_return] = STATE(3490),
    [sym_yield] = STATE(3490),
    [sym_break] = STATE(3490),
    [sym_next] = STATE(3490),
    [sym_redo] = STATE(3490),
    [sym_retry] = STATE(3490),
    [sym_while] = STATE(3490),
    [sym_until] = STATE(3490),
    [sym_for] = STATE(3490),
    [sym_case] = STATE(3490),
    [sym_if] = STATE(3490),
    [sym_unless] = STATE(3490),
    [sym_begin] = STATE(3490),
    [sym__arg] = STATE(9813),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(3490),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(3519),
    [sym_operator_assignment] = STATE(3519),
    [sym_conditional] = STATE(3519),
    [sym_range] = STATE(3519),
    [sym_binary] = STATE(3519),
    [sym_unary] = STATE(3519),
    [sym_left_assignment_list] = STATE(3520),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3521),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(3490),
    [sym_complex] = STATE(3490),
    [sym_rational] = STATE(3490),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(3490),
    [sym_string] = STATE(3522),
    [sym_subshell] = STATE(3490),
    [sym_array] = STATE(3490),
    [sym_hash] = STATE(3490),
    [sym_regex] = STATE(3490),
    [sym_lambda] = STATE(3490),
    [sym__simple_string] = ACTIONS(5000),
    [sym__simple_symbol] = ACTIONS(5002),
    [sym__simple_subshell] = ACTIONS(5004),
    [sym__simple_regex] = ACTIONS(5006),
    [sym__simple_word_list] = ACTIONS(5008),
    [sym__string_beginning] = ACTIONS(5010),
    [sym__symbol_beginning] = ACTIONS(5012),
    [sym__subshell_beginning] = ACTIONS(5014),
    [sym__regex_beginning] = ACTIONS(5016),
    [sym__word_list_beginning] = ACTIONS(5018),
    [sym_heredoc_beginning] = ACTIONS(5020),
    [sym__unary_minus] = ACTIONS(5022),
    [anon_sym_LBRACE] = ACTIONS(5024),
    [anon_sym_def] = ACTIONS(5026),
    [anon_sym_LPAREN] = ACTIONS(5028),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(5030),
    [anon_sym_module] = ACTIONS(5032),
    [anon_sym_return] = ACTIONS(5034),
    [anon_sym_yield] = ACTIONS(5036),
    [anon_sym_break] = ACTIONS(5038),
    [anon_sym_next] = ACTIONS(5040),
    [anon_sym_redo] = ACTIONS(5042),
    [anon_sym_retry] = ACTIONS(5044),
    [anon_sym_if] = ACTIONS(5046),
    [anon_sym_unless] = ACTIONS(5048),
    [anon_sym_while] = ACTIONS(5050),
    [anon_sym_until] = ACTIONS(5052),
    [anon_sym_for] = ACTIONS(5054),
    [anon_sym_case] = ACTIONS(5056),
    [anon_sym_begin] = ACTIONS(5058),
    [anon_sym_PLUS] = ACTIONS(5060),
    [anon_sym_defined_QMARK] = ACTIONS(5062),
    [anon_sym_not] = ACTIONS(5064),
    [anon_sym_BANG] = ACTIONS(5066),
    [anon_sym_TILDE] = ACTIONS(5066),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5068),
    [sym_float] = ACTIONS(5070),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5072),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(5074),
    [sym_keyword__LINE__] = ACTIONS(5074),
    [sym_keyword__ENCODING__] = ACTIONS(5074),
    [sym__character_literal] = ACTIONS(5076),
    [anon_sym_LBRACK] = ACTIONS(5078),
    [anon_sym_DASH_GT] = ACTIONS(5080),
  },
  [6702] = {
    [sym_method] = STATE(3490),
    [sym_singleton_method] = STATE(3490),
    [sym_class] = STATE(3490),
    [sym_singleton_class] = STATE(3490),
    [sym_module] = STATE(3490),
    [sym_return] = STATE(3490),
    [sym_yield] = STATE(3490),
    [sym_break] = STATE(3490),
    [sym_next] = STATE(3490),
    [sym_redo] = STATE(3490),
    [sym_retry] = STATE(3490),
    [sym_while] = STATE(3490),
    [sym_until] = STATE(3490),
    [sym_for] = STATE(3490),
    [sym_case] = STATE(3490),
    [sym_if] = STATE(3490),
    [sym_unless] = STATE(3490),
    [sym_begin] = STATE(3490),
    [sym__arg] = STATE(9814),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(3490),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(3519),
    [sym_operator_assignment] = STATE(3519),
    [sym_conditional] = STATE(3519),
    [sym_range] = STATE(3519),
    [sym_binary] = STATE(3519),
    [sym_unary] = STATE(3519),
    [sym_left_assignment_list] = STATE(3520),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3521),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(3490),
    [sym_complex] = STATE(3490),
    [sym_rational] = STATE(3490),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(3490),
    [sym_string] = STATE(3522),
    [sym_subshell] = STATE(3490),
    [sym_array] = STATE(3490),
    [sym_hash] = STATE(3490),
    [sym_regex] = STATE(3490),
    [sym_lambda] = STATE(3490),
    [sym__simple_string] = ACTIONS(5000),
    [sym__simple_symbol] = ACTIONS(5002),
    [sym__simple_subshell] = ACTIONS(5004),
    [sym__simple_regex] = ACTIONS(5006),
    [sym__simple_word_list] = ACTIONS(5008),
    [sym__string_beginning] = ACTIONS(5010),
    [sym__symbol_beginning] = ACTIONS(5012),
    [sym__subshell_beginning] = ACTIONS(5014),
    [sym__regex_beginning] = ACTIONS(5016),
    [sym__word_list_beginning] = ACTIONS(5018),
    [sym_heredoc_beginning] = ACTIONS(5020),
    [sym__unary_minus] = ACTIONS(5022),
    [anon_sym_LBRACE] = ACTIONS(5024),
    [anon_sym_def] = ACTIONS(5026),
    [anon_sym_LPAREN] = ACTIONS(5028),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(5030),
    [anon_sym_module] = ACTIONS(5032),
    [anon_sym_return] = ACTIONS(5034),
    [anon_sym_yield] = ACTIONS(5036),
    [anon_sym_break] = ACTIONS(5038),
    [anon_sym_next] = ACTIONS(5040),
    [anon_sym_redo] = ACTIONS(5042),
    [anon_sym_retry] = ACTIONS(5044),
    [anon_sym_if] = ACTIONS(5046),
    [anon_sym_unless] = ACTIONS(5048),
    [anon_sym_while] = ACTIONS(5050),
    [anon_sym_until] = ACTIONS(5052),
    [anon_sym_for] = ACTIONS(5054),
    [anon_sym_case] = ACTIONS(5056),
    [anon_sym_begin] = ACTIONS(5058),
    [anon_sym_PLUS] = ACTIONS(5060),
    [anon_sym_defined_QMARK] = ACTIONS(5062),
    [anon_sym_not] = ACTIONS(5064),
    [anon_sym_BANG] = ACTIONS(5066),
    [anon_sym_TILDE] = ACTIONS(5066),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5068),
    [sym_float] = ACTIONS(5070),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5072),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(5074),
    [sym_keyword__LINE__] = ACTIONS(5074),
    [sym_keyword__ENCODING__] = ACTIONS(5074),
    [sym__character_literal] = ACTIONS(5076),
    [anon_sym_LBRACK] = ACTIONS(5078),
    [anon_sym_DASH_GT] = ACTIONS(5080),
  },
  [6703] = {
    [sym_method] = STATE(3490),
    [sym_singleton_method] = STATE(3490),
    [sym_class] = STATE(3490),
    [sym_singleton_class] = STATE(3490),
    [sym_module] = STATE(3490),
    [sym_return] = STATE(3490),
    [sym_yield] = STATE(3490),
    [sym_break] = STATE(3490),
    [sym_next] = STATE(3490),
    [sym_redo] = STATE(3490),
    [sym_retry] = STATE(3490),
    [sym_while] = STATE(3490),
    [sym_until] = STATE(3490),
    [sym_for] = STATE(3490),
    [sym_case] = STATE(3490),
    [sym_if] = STATE(3490),
    [sym_unless] = STATE(3490),
    [sym_begin] = STATE(3490),
    [sym__arg] = STATE(9815),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(3490),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(3519),
    [sym_operator_assignment] = STATE(3519),
    [sym_conditional] = STATE(3519),
    [sym_range] = STATE(3519),
    [sym_binary] = STATE(3519),
    [sym_unary] = STATE(3519),
    [sym_left_assignment_list] = STATE(3520),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3521),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(3490),
    [sym_complex] = STATE(3490),
    [sym_rational] = STATE(3490),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(3490),
    [sym_string] = STATE(3522),
    [sym_subshell] = STATE(3490),
    [sym_array] = STATE(3490),
    [sym_hash] = STATE(3490),
    [sym_regex] = STATE(3490),
    [sym_lambda] = STATE(3490),
    [sym__simple_string] = ACTIONS(5000),
    [sym__simple_symbol] = ACTIONS(5002),
    [sym__simple_subshell] = ACTIONS(5004),
    [sym__simple_regex] = ACTIONS(5006),
    [sym__simple_word_list] = ACTIONS(5008),
    [sym__string_beginning] = ACTIONS(5010),
    [sym__symbol_beginning] = ACTIONS(5012),
    [sym__subshell_beginning] = ACTIONS(5014),
    [sym__regex_beginning] = ACTIONS(5016),
    [sym__word_list_beginning] = ACTIONS(5018),
    [sym_heredoc_beginning] = ACTIONS(5020),
    [sym__unary_minus] = ACTIONS(5022),
    [anon_sym_LBRACE] = ACTIONS(5024),
    [anon_sym_def] = ACTIONS(5026),
    [anon_sym_LPAREN] = ACTIONS(5028),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(5030),
    [anon_sym_module] = ACTIONS(5032),
    [anon_sym_return] = ACTIONS(5034),
    [anon_sym_yield] = ACTIONS(5036),
    [anon_sym_break] = ACTIONS(5038),
    [anon_sym_next] = ACTIONS(5040),
    [anon_sym_redo] = ACTIONS(5042),
    [anon_sym_retry] = ACTIONS(5044),
    [anon_sym_if] = ACTIONS(5046),
    [anon_sym_unless] = ACTIONS(5048),
    [anon_sym_while] = ACTIONS(5050),
    [anon_sym_until] = ACTIONS(5052),
    [anon_sym_for] = ACTIONS(5054),
    [anon_sym_case] = ACTIONS(5056),
    [anon_sym_begin] = ACTIONS(5058),
    [anon_sym_PLUS] = ACTIONS(5060),
    [anon_sym_defined_QMARK] = ACTIONS(5062),
    [anon_sym_not] = ACTIONS(5064),
    [anon_sym_BANG] = ACTIONS(5066),
    [anon_sym_TILDE] = ACTIONS(5066),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5068),
    [sym_float] = ACTIONS(5070),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5072),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(5074),
    [sym_keyword__LINE__] = ACTIONS(5074),
    [sym_keyword__ENCODING__] = ACTIONS(5074),
    [sym__character_literal] = ACTIONS(5076),
    [anon_sym_LBRACK] = ACTIONS(5078),
    [anon_sym_DASH_GT] = ACTIONS(5080),
  },
  [6704] = {
    [sym_method] = STATE(3490),
    [sym_singleton_method] = STATE(3490),
    [sym_class] = STATE(3490),
    [sym_singleton_class] = STATE(3490),
    [sym_module] = STATE(3490),
    [sym_return] = STATE(3490),
    [sym_yield] = STATE(3490),
    [sym_break] = STATE(3490),
    [sym_next] = STATE(3490),
    [sym_redo] = STATE(3490),
    [sym_retry] = STATE(3490),
    [sym_while] = STATE(3490),
    [sym_until] = STATE(3490),
    [sym_for] = STATE(3490),
    [sym_case] = STATE(3490),
    [sym_if] = STATE(3490),
    [sym_unless] = STATE(3490),
    [sym_begin] = STATE(3490),
    [sym__arg] = STATE(9816),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(3490),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(3519),
    [sym_operator_assignment] = STATE(3519),
    [sym_conditional] = STATE(3519),
    [sym_range] = STATE(3519),
    [sym_binary] = STATE(3519),
    [sym_unary] = STATE(3519),
    [sym_left_assignment_list] = STATE(3520),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3521),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(3490),
    [sym_complex] = STATE(3490),
    [sym_rational] = STATE(3490),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(3490),
    [sym_string] = STATE(3522),
    [sym_subshell] = STATE(3490),
    [sym_array] = STATE(3490),
    [sym_hash] = STATE(3490),
    [sym_regex] = STATE(3490),
    [sym_lambda] = STATE(3490),
    [sym__simple_string] = ACTIONS(5000),
    [sym__simple_symbol] = ACTIONS(5002),
    [sym__simple_subshell] = ACTIONS(5004),
    [sym__simple_regex] = ACTIONS(5006),
    [sym__simple_word_list] = ACTIONS(5008),
    [sym__string_beginning] = ACTIONS(5010),
    [sym__symbol_beginning] = ACTIONS(5012),
    [sym__subshell_beginning] = ACTIONS(5014),
    [sym__regex_beginning] = ACTIONS(5016),
    [sym__word_list_beginning] = ACTIONS(5018),
    [sym_heredoc_beginning] = ACTIONS(5020),
    [sym__unary_minus] = ACTIONS(5022),
    [anon_sym_LBRACE] = ACTIONS(5024),
    [anon_sym_def] = ACTIONS(5026),
    [anon_sym_LPAREN] = ACTIONS(5028),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(5030),
    [anon_sym_module] = ACTIONS(5032),
    [anon_sym_return] = ACTIONS(5034),
    [anon_sym_yield] = ACTIONS(5036),
    [anon_sym_break] = ACTIONS(5038),
    [anon_sym_next] = ACTIONS(5040),
    [anon_sym_redo] = ACTIONS(5042),
    [anon_sym_retry] = ACTIONS(5044),
    [anon_sym_if] = ACTIONS(5046),
    [anon_sym_unless] = ACTIONS(5048),
    [anon_sym_while] = ACTIONS(5050),
    [anon_sym_until] = ACTIONS(5052),
    [anon_sym_for] = ACTIONS(5054),
    [anon_sym_case] = ACTIONS(5056),
    [anon_sym_begin] = ACTIONS(5058),
    [anon_sym_PLUS] = ACTIONS(5060),
    [anon_sym_defined_QMARK] = ACTIONS(5062),
    [anon_sym_not] = ACTIONS(5064),
    [anon_sym_BANG] = ACTIONS(5066),
    [anon_sym_TILDE] = ACTIONS(5066),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5068),
    [sym_float] = ACTIONS(5070),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5072),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(5074),
    [sym_keyword__LINE__] = ACTIONS(5074),
    [sym_keyword__ENCODING__] = ACTIONS(5074),
    [sym__character_literal] = ACTIONS(5076),
    [anon_sym_LBRACK] = ACTIONS(5078),
    [anon_sym_DASH_GT] = ACTIONS(5080),
  },
  [6705] = {
    [sym_method] = STATE(3490),
    [sym_singleton_method] = STATE(3490),
    [sym_class] = STATE(3490),
    [sym_singleton_class] = STATE(3490),
    [sym_module] = STATE(3490),
    [sym_return] = STATE(3490),
    [sym_yield] = STATE(3490),
    [sym_break] = STATE(3490),
    [sym_next] = STATE(3490),
    [sym_redo] = STATE(3490),
    [sym_retry] = STATE(3490),
    [sym_while] = STATE(3490),
    [sym_until] = STATE(3490),
    [sym_for] = STATE(3490),
    [sym_case] = STATE(3490),
    [sym_if] = STATE(3490),
    [sym_unless] = STATE(3490),
    [sym_begin] = STATE(3490),
    [sym__arg] = STATE(9817),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(3490),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(3519),
    [sym_operator_assignment] = STATE(3519),
    [sym_conditional] = STATE(3519),
    [sym_range] = STATE(3519),
    [sym_binary] = STATE(3519),
    [sym_unary] = STATE(3519),
    [sym_left_assignment_list] = STATE(3520),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3521),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(3490),
    [sym_complex] = STATE(3490),
    [sym_rational] = STATE(3490),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(3490),
    [sym_string] = STATE(3522),
    [sym_subshell] = STATE(3490),
    [sym_array] = STATE(3490),
    [sym_hash] = STATE(3490),
    [sym_regex] = STATE(3490),
    [sym_lambda] = STATE(3490),
    [sym__simple_string] = ACTIONS(5000),
    [sym__simple_symbol] = ACTIONS(5002),
    [sym__simple_subshell] = ACTIONS(5004),
    [sym__simple_regex] = ACTIONS(5006),
    [sym__simple_word_list] = ACTIONS(5008),
    [sym__string_beginning] = ACTIONS(5010),
    [sym__symbol_beginning] = ACTIONS(5012),
    [sym__subshell_beginning] = ACTIONS(5014),
    [sym__regex_beginning] = ACTIONS(5016),
    [sym__word_list_beginning] = ACTIONS(5018),
    [sym_heredoc_beginning] = ACTIONS(5020),
    [sym__unary_minus] = ACTIONS(5022),
    [anon_sym_LBRACE] = ACTIONS(5024),
    [anon_sym_def] = ACTIONS(5026),
    [anon_sym_LPAREN] = ACTIONS(5028),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(5030),
    [anon_sym_module] = ACTIONS(5032),
    [anon_sym_return] = ACTIONS(5034),
    [anon_sym_yield] = ACTIONS(5036),
    [anon_sym_break] = ACTIONS(5038),
    [anon_sym_next] = ACTIONS(5040),
    [anon_sym_redo] = ACTIONS(5042),
    [anon_sym_retry] = ACTIONS(5044),
    [anon_sym_if] = ACTIONS(5046),
    [anon_sym_unless] = ACTIONS(5048),
    [anon_sym_while] = ACTIONS(5050),
    [anon_sym_until] = ACTIONS(5052),
    [anon_sym_for] = ACTIONS(5054),
    [anon_sym_case] = ACTIONS(5056),
    [anon_sym_begin] = ACTIONS(5058),
    [anon_sym_PLUS] = ACTIONS(5060),
    [anon_sym_defined_QMARK] = ACTIONS(5062),
    [anon_sym_not] = ACTIONS(5064),
    [anon_sym_BANG] = ACTIONS(5066),
    [anon_sym_TILDE] = ACTIONS(5066),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5068),
    [sym_float] = ACTIONS(5070),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5072),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(5074),
    [sym_keyword__LINE__] = ACTIONS(5074),
    [sym_keyword__ENCODING__] = ACTIONS(5074),
    [sym__character_literal] = ACTIONS(5076),
    [anon_sym_LBRACK] = ACTIONS(5078),
    [anon_sym_DASH_GT] = ACTIONS(5080),
  },
  [6706] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(9818),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [6707] = {
    [sym_method] = STATE(3490),
    [sym_singleton_method] = STATE(3490),
    [sym_class] = STATE(3490),
    [sym_singleton_class] = STATE(3490),
    [sym_module] = STATE(3490),
    [sym_return] = STATE(3490),
    [sym_yield] = STATE(3490),
    [sym_break] = STATE(3490),
    [sym_next] = STATE(3490),
    [sym_redo] = STATE(3490),
    [sym_retry] = STATE(3490),
    [sym_while] = STATE(3490),
    [sym_until] = STATE(3490),
    [sym_for] = STATE(3490),
    [sym_case] = STATE(3490),
    [sym_if] = STATE(3490),
    [sym_unless] = STATE(3490),
    [sym_begin] = STATE(3490),
    [sym__arg] = STATE(9819),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(3490),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(3519),
    [sym_operator_assignment] = STATE(3519),
    [sym_conditional] = STATE(3519),
    [sym_range] = STATE(3519),
    [sym_binary] = STATE(3519),
    [sym_unary] = STATE(3519),
    [sym_left_assignment_list] = STATE(3520),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3521),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(3490),
    [sym_complex] = STATE(3490),
    [sym_rational] = STATE(3490),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(3490),
    [sym_string] = STATE(3522),
    [sym_subshell] = STATE(3490),
    [sym_array] = STATE(3490),
    [sym_hash] = STATE(3490),
    [sym_regex] = STATE(3490),
    [sym_lambda] = STATE(3490),
    [sym__simple_string] = ACTIONS(5000),
    [sym__simple_symbol] = ACTIONS(5002),
    [sym__simple_subshell] = ACTIONS(5004),
    [sym__simple_regex] = ACTIONS(5006),
    [sym__simple_word_list] = ACTIONS(5008),
    [sym__string_beginning] = ACTIONS(5010),
    [sym__symbol_beginning] = ACTIONS(5012),
    [sym__subshell_beginning] = ACTIONS(5014),
    [sym__regex_beginning] = ACTIONS(5016),
    [sym__word_list_beginning] = ACTIONS(5018),
    [sym_heredoc_beginning] = ACTIONS(5020),
    [sym__unary_minus] = ACTIONS(5022),
    [anon_sym_LBRACE] = ACTIONS(5024),
    [anon_sym_def] = ACTIONS(5026),
    [anon_sym_LPAREN] = ACTIONS(5028),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(5030),
    [anon_sym_module] = ACTIONS(5032),
    [anon_sym_return] = ACTIONS(5034),
    [anon_sym_yield] = ACTIONS(5036),
    [anon_sym_break] = ACTIONS(5038),
    [anon_sym_next] = ACTIONS(5040),
    [anon_sym_redo] = ACTIONS(5042),
    [anon_sym_retry] = ACTIONS(5044),
    [anon_sym_if] = ACTIONS(5046),
    [anon_sym_unless] = ACTIONS(5048),
    [anon_sym_while] = ACTIONS(5050),
    [anon_sym_until] = ACTIONS(5052),
    [anon_sym_for] = ACTIONS(5054),
    [anon_sym_case] = ACTIONS(5056),
    [anon_sym_begin] = ACTIONS(5058),
    [anon_sym_PLUS] = ACTIONS(5060),
    [anon_sym_defined_QMARK] = ACTIONS(5062),
    [anon_sym_not] = ACTIONS(5064),
    [anon_sym_BANG] = ACTIONS(5066),
    [anon_sym_TILDE] = ACTIONS(5066),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5068),
    [sym_float] = ACTIONS(5070),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5072),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(5074),
    [sym_keyword__LINE__] = ACTIONS(5074),
    [sym_keyword__ENCODING__] = ACTIONS(5074),
    [sym__character_literal] = ACTIONS(5076),
    [anon_sym_LBRACK] = ACTIONS(5078),
    [anon_sym_DASH_GT] = ACTIONS(5080),
  },
  [6708] = {
    [sym_method] = STATE(3490),
    [sym_singleton_method] = STATE(3490),
    [sym_class] = STATE(3490),
    [sym_singleton_class] = STATE(3490),
    [sym_module] = STATE(3490),
    [sym_return] = STATE(3490),
    [sym_yield] = STATE(3490),
    [sym_break] = STATE(3490),
    [sym_next] = STATE(3490),
    [sym_redo] = STATE(3490),
    [sym_retry] = STATE(3490),
    [sym_while] = STATE(3490),
    [sym_until] = STATE(3490),
    [sym_for] = STATE(3490),
    [sym_case] = STATE(3490),
    [sym_if] = STATE(3490),
    [sym_unless] = STATE(3490),
    [sym_begin] = STATE(3490),
    [sym__arg] = STATE(9820),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(3490),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(3519),
    [sym_operator_assignment] = STATE(3519),
    [sym_conditional] = STATE(3519),
    [sym_range] = STATE(3519),
    [sym_binary] = STATE(3519),
    [sym_unary] = STATE(3519),
    [sym_left_assignment_list] = STATE(3520),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3521),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(3490),
    [sym_complex] = STATE(3490),
    [sym_rational] = STATE(3490),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(3490),
    [sym_string] = STATE(3522),
    [sym_subshell] = STATE(3490),
    [sym_array] = STATE(3490),
    [sym_hash] = STATE(3490),
    [sym_regex] = STATE(3490),
    [sym_lambda] = STATE(3490),
    [sym__simple_string] = ACTIONS(5000),
    [sym__simple_symbol] = ACTIONS(5002),
    [sym__simple_subshell] = ACTIONS(5004),
    [sym__simple_regex] = ACTIONS(5006),
    [sym__simple_word_list] = ACTIONS(5008),
    [sym__string_beginning] = ACTIONS(5010),
    [sym__symbol_beginning] = ACTIONS(5012),
    [sym__subshell_beginning] = ACTIONS(5014),
    [sym__regex_beginning] = ACTIONS(5016),
    [sym__word_list_beginning] = ACTIONS(5018),
    [sym_heredoc_beginning] = ACTIONS(5020),
    [sym__unary_minus] = ACTIONS(5022),
    [anon_sym_LBRACE] = ACTIONS(5024),
    [anon_sym_def] = ACTIONS(5026),
    [anon_sym_LPAREN] = ACTIONS(5028),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(5030),
    [anon_sym_module] = ACTIONS(5032),
    [anon_sym_return] = ACTIONS(5034),
    [anon_sym_yield] = ACTIONS(5036),
    [anon_sym_break] = ACTIONS(5038),
    [anon_sym_next] = ACTIONS(5040),
    [anon_sym_redo] = ACTIONS(5042),
    [anon_sym_retry] = ACTIONS(5044),
    [anon_sym_if] = ACTIONS(5046),
    [anon_sym_unless] = ACTIONS(5048),
    [anon_sym_while] = ACTIONS(5050),
    [anon_sym_until] = ACTIONS(5052),
    [anon_sym_for] = ACTIONS(5054),
    [anon_sym_case] = ACTIONS(5056),
    [anon_sym_begin] = ACTIONS(5058),
    [anon_sym_PLUS] = ACTIONS(5060),
    [anon_sym_defined_QMARK] = ACTIONS(5062),
    [anon_sym_not] = ACTIONS(5064),
    [anon_sym_BANG] = ACTIONS(5066),
    [anon_sym_TILDE] = ACTIONS(5066),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5068),
    [sym_float] = ACTIONS(5070),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5072),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(5074),
    [sym_keyword__LINE__] = ACTIONS(5074),
    [sym_keyword__ENCODING__] = ACTIONS(5074),
    [sym__character_literal] = ACTIONS(5076),
    [anon_sym_LBRACK] = ACTIONS(5078),
    [anon_sym_DASH_GT] = ACTIONS(5080),
  },
  [6709] = {
    [sym_method] = STATE(3490),
    [sym_singleton_method] = STATE(3490),
    [sym_class] = STATE(3490),
    [sym_singleton_class] = STATE(3490),
    [sym_module] = STATE(3490),
    [sym_return] = STATE(3490),
    [sym_yield] = STATE(3490),
    [sym_break] = STATE(3490),
    [sym_next] = STATE(3490),
    [sym_redo] = STATE(3490),
    [sym_retry] = STATE(3490),
    [sym_while] = STATE(3490),
    [sym_until] = STATE(3490),
    [sym_for] = STATE(3490),
    [sym_case] = STATE(3490),
    [sym_if] = STATE(3490),
    [sym_unless] = STATE(3490),
    [sym_begin] = STATE(3490),
    [sym__arg] = STATE(9821),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(3490),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(3519),
    [sym_operator_assignment] = STATE(3519),
    [sym_conditional] = STATE(3519),
    [sym_range] = STATE(3519),
    [sym_binary] = STATE(3519),
    [sym_unary] = STATE(3519),
    [sym_left_assignment_list] = STATE(3520),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3521),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(3490),
    [sym_complex] = STATE(3490),
    [sym_rational] = STATE(3490),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(3490),
    [sym_string] = STATE(3522),
    [sym_subshell] = STATE(3490),
    [sym_array] = STATE(3490),
    [sym_hash] = STATE(3490),
    [sym_regex] = STATE(3490),
    [sym_lambda] = STATE(3490),
    [sym__simple_string] = ACTIONS(5000),
    [sym__simple_symbol] = ACTIONS(5002),
    [sym__simple_subshell] = ACTIONS(5004),
    [sym__simple_regex] = ACTIONS(5006),
    [sym__simple_word_list] = ACTIONS(5008),
    [sym__string_beginning] = ACTIONS(5010),
    [sym__symbol_beginning] = ACTIONS(5012),
    [sym__subshell_beginning] = ACTIONS(5014),
    [sym__regex_beginning] = ACTIONS(5016),
    [sym__word_list_beginning] = ACTIONS(5018),
    [sym_heredoc_beginning] = ACTIONS(5020),
    [sym__unary_minus] = ACTIONS(5022),
    [anon_sym_LBRACE] = ACTIONS(5024),
    [anon_sym_def] = ACTIONS(5026),
    [anon_sym_LPAREN] = ACTIONS(5028),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(5030),
    [anon_sym_module] = ACTIONS(5032),
    [anon_sym_return] = ACTIONS(5034),
    [anon_sym_yield] = ACTIONS(5036),
    [anon_sym_break] = ACTIONS(5038),
    [anon_sym_next] = ACTIONS(5040),
    [anon_sym_redo] = ACTIONS(5042),
    [anon_sym_retry] = ACTIONS(5044),
    [anon_sym_if] = ACTIONS(5046),
    [anon_sym_unless] = ACTIONS(5048),
    [anon_sym_while] = ACTIONS(5050),
    [anon_sym_until] = ACTIONS(5052),
    [anon_sym_for] = ACTIONS(5054),
    [anon_sym_case] = ACTIONS(5056),
    [anon_sym_begin] = ACTIONS(5058),
    [anon_sym_PLUS] = ACTIONS(5060),
    [anon_sym_defined_QMARK] = ACTIONS(5062),
    [anon_sym_not] = ACTIONS(5064),
    [anon_sym_BANG] = ACTIONS(5066),
    [anon_sym_TILDE] = ACTIONS(5066),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5068),
    [sym_float] = ACTIONS(5070),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5072),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(5074),
    [sym_keyword__LINE__] = ACTIONS(5074),
    [sym_keyword__ENCODING__] = ACTIONS(5074),
    [sym__character_literal] = ACTIONS(5076),
    [anon_sym_LBRACK] = ACTIONS(5078),
    [anon_sym_DASH_GT] = ACTIONS(5080),
  },
  [6710] = {
    [sym_method] = STATE(3490),
    [sym_singleton_method] = STATE(3490),
    [sym_class] = STATE(3490),
    [sym_singleton_class] = STATE(3490),
    [sym_module] = STATE(3490),
    [sym_return] = STATE(3490),
    [sym_yield] = STATE(3490),
    [sym_break] = STATE(3490),
    [sym_next] = STATE(3490),
    [sym_redo] = STATE(3490),
    [sym_retry] = STATE(3490),
    [sym_while] = STATE(3490),
    [sym_until] = STATE(3490),
    [sym_for] = STATE(3490),
    [sym_case] = STATE(3490),
    [sym_if] = STATE(3490),
    [sym_unless] = STATE(3490),
    [sym_begin] = STATE(3490),
    [sym__arg] = STATE(9822),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(3490),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(3519),
    [sym_operator_assignment] = STATE(3519),
    [sym_conditional] = STATE(3519),
    [sym_range] = STATE(3519),
    [sym_binary] = STATE(3519),
    [sym_unary] = STATE(3519),
    [sym_left_assignment_list] = STATE(3520),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3521),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(3490),
    [sym_complex] = STATE(3490),
    [sym_rational] = STATE(3490),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(3490),
    [sym_string] = STATE(3522),
    [sym_subshell] = STATE(3490),
    [sym_array] = STATE(3490),
    [sym_hash] = STATE(3490),
    [sym_regex] = STATE(3490),
    [sym_lambda] = STATE(3490),
    [sym__simple_string] = ACTIONS(5000),
    [sym__simple_symbol] = ACTIONS(5002),
    [sym__simple_subshell] = ACTIONS(5004),
    [sym__simple_regex] = ACTIONS(5006),
    [sym__simple_word_list] = ACTIONS(5008),
    [sym__string_beginning] = ACTIONS(5010),
    [sym__symbol_beginning] = ACTIONS(5012),
    [sym__subshell_beginning] = ACTIONS(5014),
    [sym__regex_beginning] = ACTIONS(5016),
    [sym__word_list_beginning] = ACTIONS(5018),
    [sym_heredoc_beginning] = ACTIONS(5020),
    [sym__unary_minus] = ACTIONS(5022),
    [anon_sym_LBRACE] = ACTIONS(5024),
    [anon_sym_def] = ACTIONS(5026),
    [anon_sym_LPAREN] = ACTIONS(5028),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(5030),
    [anon_sym_module] = ACTIONS(5032),
    [anon_sym_return] = ACTIONS(5034),
    [anon_sym_yield] = ACTIONS(5036),
    [anon_sym_break] = ACTIONS(5038),
    [anon_sym_next] = ACTIONS(5040),
    [anon_sym_redo] = ACTIONS(5042),
    [anon_sym_retry] = ACTIONS(5044),
    [anon_sym_if] = ACTIONS(5046),
    [anon_sym_unless] = ACTIONS(5048),
    [anon_sym_while] = ACTIONS(5050),
    [anon_sym_until] = ACTIONS(5052),
    [anon_sym_for] = ACTIONS(5054),
    [anon_sym_case] = ACTIONS(5056),
    [anon_sym_begin] = ACTIONS(5058),
    [anon_sym_PLUS] = ACTIONS(5060),
    [anon_sym_defined_QMARK] = ACTIONS(5062),
    [anon_sym_not] = ACTIONS(5064),
    [anon_sym_BANG] = ACTIONS(5066),
    [anon_sym_TILDE] = ACTIONS(5066),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5068),
    [sym_float] = ACTIONS(5070),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5072),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(5074),
    [sym_keyword__LINE__] = ACTIONS(5074),
    [sym_keyword__ENCODING__] = ACTIONS(5074),
    [sym__character_literal] = ACTIONS(5076),
    [anon_sym_LBRACK] = ACTIONS(5078),
    [anon_sym_DASH_GT] = ACTIONS(5080),
  },
  [6711] = {
    [sym_method] = STATE(3490),
    [sym_singleton_method] = STATE(3490),
    [sym_class] = STATE(3490),
    [sym_singleton_class] = STATE(3490),
    [sym_module] = STATE(3490),
    [sym_return] = STATE(3490),
    [sym_yield] = STATE(3490),
    [sym_break] = STATE(3490),
    [sym_next] = STATE(3490),
    [sym_redo] = STATE(3490),
    [sym_retry] = STATE(3490),
    [sym_while] = STATE(3490),
    [sym_until] = STATE(3490),
    [sym_for] = STATE(3490),
    [sym_case] = STATE(3490),
    [sym_if] = STATE(3490),
    [sym_unless] = STATE(3490),
    [sym_begin] = STATE(3490),
    [sym__arg] = STATE(9823),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(3490),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(3519),
    [sym_operator_assignment] = STATE(3519),
    [sym_conditional] = STATE(3519),
    [sym_range] = STATE(3519),
    [sym_binary] = STATE(3519),
    [sym_unary] = STATE(3519),
    [sym_left_assignment_list] = STATE(3520),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3521),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(3490),
    [sym_complex] = STATE(3490),
    [sym_rational] = STATE(3490),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(3490),
    [sym_string] = STATE(3522),
    [sym_subshell] = STATE(3490),
    [sym_array] = STATE(3490),
    [sym_hash] = STATE(3490),
    [sym_regex] = STATE(3490),
    [sym_lambda] = STATE(3490),
    [sym__simple_string] = ACTIONS(5000),
    [sym__simple_symbol] = ACTIONS(5002),
    [sym__simple_subshell] = ACTIONS(5004),
    [sym__simple_regex] = ACTIONS(5006),
    [sym__simple_word_list] = ACTIONS(5008),
    [sym__string_beginning] = ACTIONS(5010),
    [sym__symbol_beginning] = ACTIONS(5012),
    [sym__subshell_beginning] = ACTIONS(5014),
    [sym__regex_beginning] = ACTIONS(5016),
    [sym__word_list_beginning] = ACTIONS(5018),
    [sym_heredoc_beginning] = ACTIONS(5020),
    [sym__unary_minus] = ACTIONS(5022),
    [anon_sym_LBRACE] = ACTIONS(5024),
    [anon_sym_def] = ACTIONS(5026),
    [anon_sym_LPAREN] = ACTIONS(5028),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(5030),
    [anon_sym_module] = ACTIONS(5032),
    [anon_sym_return] = ACTIONS(5034),
    [anon_sym_yield] = ACTIONS(5036),
    [anon_sym_break] = ACTIONS(5038),
    [anon_sym_next] = ACTIONS(5040),
    [anon_sym_redo] = ACTIONS(5042),
    [anon_sym_retry] = ACTIONS(5044),
    [anon_sym_if] = ACTIONS(5046),
    [anon_sym_unless] = ACTIONS(5048),
    [anon_sym_while] = ACTIONS(5050),
    [anon_sym_until] = ACTIONS(5052),
    [anon_sym_for] = ACTIONS(5054),
    [anon_sym_case] = ACTIONS(5056),
    [anon_sym_begin] = ACTIONS(5058),
    [anon_sym_PLUS] = ACTIONS(5060),
    [anon_sym_defined_QMARK] = ACTIONS(5062),
    [anon_sym_not] = ACTIONS(5064),
    [anon_sym_BANG] = ACTIONS(5066),
    [anon_sym_TILDE] = ACTIONS(5066),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5068),
    [sym_float] = ACTIONS(5070),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5072),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(5074),
    [sym_keyword__LINE__] = ACTIONS(5074),
    [sym_keyword__ENCODING__] = ACTIONS(5074),
    [sym__character_literal] = ACTIONS(5076),
    [anon_sym_LBRACK] = ACTIONS(5078),
    [anon_sym_DASH_GT] = ACTIONS(5080),
  },
  [6712] = {
    [sym_do_block] = STATE(6089),
    [sym_block] = STATE(6089),
    [sym__simple_heredoc_body] = ACTIONS(3346),
    [sym__heredoc_body_beginning] = ACTIONS(3346),
    [sym__element_reference_left_bracket] = ACTIONS(3346),
    [sym__scope_double_colon] = ACTIONS(3346),
    [sym__binary_minus] = ACTIONS(3346),
    [sym__binary_star] = ACTIONS(3346),
    [anon_sym_LBRACE] = ACTIONS(8526),
    [anon_sym_RBRACE] = ACTIONS(3346),
    [anon_sym_RPAREN] = ACTIONS(3346),
    [anon_sym_DOT] = ACTIONS(3350),
    [anon_sym_COMMA] = ACTIONS(3346),
    [anon_sym_PIPE] = ACTIONS(3350),
    [anon_sym_SEMI] = ACTIONS(3346),
    [anon_sym_STAR_STAR] = ACTIONS(3350),
    [anon_sym_AMP] = ACTIONS(3350),
    [anon_sym_EQ] = ACTIONS(3350),
    [anon_sym_LT] = ACTIONS(3350),
    [anon_sym_in] = ACTIONS(3346),
    [anon_sym_do] = ACTIONS(3346),
    [anon_sym_RBRACK] = ACTIONS(3346),
    [anon_sym_AMP_DOT] = ACTIONS(3346),
    [anon_sym_PLUS_EQ] = ACTIONS(3346),
    [anon_sym_DASH_EQ] = ACTIONS(3346),
    [anon_sym_STAR_EQ] = ACTIONS(3346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3346),
    [anon_sym_SLASH_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3346),
    [anon_sym_AMP_EQ] = ACTIONS(3346),
    [anon_sym_PERCENT_EQ] = ACTIONS(3346),
    [anon_sym_GT_GT_EQ] = ACTIONS(3346),
    [anon_sym_LT_LT_EQ] = ACTIONS(3346),
    [anon_sym_CARET_EQ] = ACTIONS(3346),
    [anon_sym_QMARK] = ACTIONS(3346),
    [anon_sym_COLON] = ACTIONS(3346),
    [anon_sym_DOT_DOT] = ACTIONS(3350),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3346),
    [anon_sym_and] = ACTIONS(3346),
    [anon_sym_or] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE] = ACTIONS(3350),
    [anon_sym_AMP_AMP] = ACTIONS(3350),
    [anon_sym_LT_LT] = ACTIONS(3350),
    [anon_sym_GT_GT] = ACTIONS(3350),
    [anon_sym_EQ_EQ] = ACTIONS(3350),
    [anon_sym_BANG_EQ] = ACTIONS(3346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3346),
    [anon_sym_LT_EQ_GT] = ACTIONS(3346),
    [anon_sym_EQ_TILDE] = ACTIONS(3346),
    [anon_sym_BANG_TILDE] = ACTIONS(3346),
    [anon_sym_LT_EQ] = ACTIONS(3350),
    [anon_sym_GT] = ACTIONS(3350),
    [anon_sym_GT_EQ] = ACTIONS(3346),
    [anon_sym_CARET] = ACTIONS(3350),
    [anon_sym_PLUS] = ACTIONS(3350),
    [anon_sym_SLASH] = ACTIONS(3350),
    [anon_sym_PERCENT] = ACTIONS(3350),
    [sym_comment] = ACTIONS(256),
  },
  [6713] = {
    [sym_method] = STATE(3490),
    [sym_singleton_method] = STATE(3490),
    [sym_class] = STATE(3490),
    [sym_singleton_class] = STATE(3490),
    [sym_module] = STATE(3490),
    [sym_return] = STATE(3490),
    [sym_yield] = STATE(3490),
    [sym_break] = STATE(3490),
    [sym_next] = STATE(3490),
    [sym_redo] = STATE(3490),
    [sym_retry] = STATE(3490),
    [sym_while] = STATE(3490),
    [sym_until] = STATE(3490),
    [sym_for] = STATE(3490),
    [sym_case] = STATE(3490),
    [sym_if] = STATE(3490),
    [sym_unless] = STATE(3490),
    [sym_begin] = STATE(3490),
    [sym__arg] = STATE(9824),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(3490),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_splat_argument] = STATE(9825),
    [sym_assignment] = STATE(3519),
    [sym_operator_assignment] = STATE(3519),
    [sym_conditional] = STATE(3519),
    [sym_range] = STATE(3519),
    [sym_binary] = STATE(3519),
    [sym_unary] = STATE(3519),
    [sym_right_assignment_list] = STATE(9826),
    [sym__arg_or_splat_arg] = STATE(9827),
    [sym_left_assignment_list] = STATE(3520),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3521),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(3490),
    [sym_complex] = STATE(3490),
    [sym_rational] = STATE(3490),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(3490),
    [sym_string] = STATE(3522),
    [sym_subshell] = STATE(3490),
    [sym_array] = STATE(3490),
    [sym_hash] = STATE(3490),
    [sym_regex] = STATE(3490),
    [sym_lambda] = STATE(3490),
    [sym__simple_string] = ACTIONS(5000),
    [sym__simple_symbol] = ACTIONS(5002),
    [sym__simple_subshell] = ACTIONS(5004),
    [sym__simple_regex] = ACTIONS(5006),
    [sym__simple_word_list] = ACTIONS(5008),
    [sym__string_beginning] = ACTIONS(5010),
    [sym__symbol_beginning] = ACTIONS(5012),
    [sym__subshell_beginning] = ACTIONS(5014),
    [sym__regex_beginning] = ACTIONS(5016),
    [sym__word_list_beginning] = ACTIONS(5018),
    [sym_heredoc_beginning] = ACTIONS(5020),
    [sym__splat_star] = ACTIONS(9200),
    [sym__unary_minus] = ACTIONS(5022),
    [anon_sym_LBRACE] = ACTIONS(5024),
    [anon_sym_def] = ACTIONS(5026),
    [anon_sym_LPAREN] = ACTIONS(5028),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(5030),
    [anon_sym_module] = ACTIONS(5032),
    [anon_sym_return] = ACTIONS(5034),
    [anon_sym_yield] = ACTIONS(5036),
    [anon_sym_break] = ACTIONS(5038),
    [anon_sym_next] = ACTIONS(5040),
    [anon_sym_redo] = ACTIONS(5042),
    [anon_sym_retry] = ACTIONS(5044),
    [anon_sym_if] = ACTIONS(5046),
    [anon_sym_unless] = ACTIONS(5048),
    [anon_sym_while] = ACTIONS(5050),
    [anon_sym_until] = ACTIONS(5052),
    [anon_sym_for] = ACTIONS(5054),
    [anon_sym_case] = ACTIONS(5056),
    [anon_sym_begin] = ACTIONS(5058),
    [anon_sym_PLUS] = ACTIONS(5060),
    [anon_sym_defined_QMARK] = ACTIONS(5062),
    [anon_sym_not] = ACTIONS(5064),
    [anon_sym_BANG] = ACTIONS(5066),
    [anon_sym_TILDE] = ACTIONS(5066),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5068),
    [sym_float] = ACTIONS(5070),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5072),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(5074),
    [sym_keyword__LINE__] = ACTIONS(5074),
    [sym_keyword__ENCODING__] = ACTIONS(5074),
    [sym__character_literal] = ACTIONS(5076),
    [anon_sym_LBRACK] = ACTIONS(5078),
    [anon_sym_DASH_GT] = ACTIONS(5080),
  },
  [6714] = {
    [sym_method] = STATE(3490),
    [sym_singleton_method] = STATE(3490),
    [sym_class] = STATE(3490),
    [sym_singleton_class] = STATE(3490),
    [sym_module] = STATE(3490),
    [sym_return] = STATE(3490),
    [sym_yield] = STATE(3490),
    [sym_break] = STATE(3490),
    [sym_next] = STATE(3490),
    [sym_redo] = STATE(3490),
    [sym_retry] = STATE(3490),
    [sym_while] = STATE(3490),
    [sym_until] = STATE(3490),
    [sym_for] = STATE(3490),
    [sym_case] = STATE(3490),
    [sym_if] = STATE(3490),
    [sym_unless] = STATE(3490),
    [sym_begin] = STATE(3490),
    [sym__arg] = STATE(9828),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(3490),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(3519),
    [sym_operator_assignment] = STATE(3519),
    [sym_conditional] = STATE(3519),
    [sym_range] = STATE(3519),
    [sym_binary] = STATE(3519),
    [sym_unary] = STATE(3519),
    [sym_left_assignment_list] = STATE(3520),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3521),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(3490),
    [sym_complex] = STATE(3490),
    [sym_rational] = STATE(3490),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(3490),
    [sym_string] = STATE(3522),
    [sym_subshell] = STATE(3490),
    [sym_array] = STATE(3490),
    [sym_hash] = STATE(3490),
    [sym_regex] = STATE(3490),
    [sym_lambda] = STATE(3490),
    [sym__simple_string] = ACTIONS(5000),
    [sym__simple_symbol] = ACTIONS(5002),
    [sym__simple_subshell] = ACTIONS(5004),
    [sym__simple_regex] = ACTIONS(5006),
    [sym__simple_word_list] = ACTIONS(5008),
    [sym__string_beginning] = ACTIONS(5010),
    [sym__symbol_beginning] = ACTIONS(5012),
    [sym__subshell_beginning] = ACTIONS(5014),
    [sym__regex_beginning] = ACTIONS(5016),
    [sym__word_list_beginning] = ACTIONS(5018),
    [sym_heredoc_beginning] = ACTIONS(5020),
    [sym__unary_minus] = ACTIONS(5022),
    [anon_sym_LBRACE] = ACTIONS(5024),
    [anon_sym_def] = ACTIONS(5026),
    [anon_sym_LPAREN] = ACTIONS(5028),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(5030),
    [anon_sym_module] = ACTIONS(5032),
    [anon_sym_return] = ACTIONS(5034),
    [anon_sym_yield] = ACTIONS(5036),
    [anon_sym_break] = ACTIONS(5038),
    [anon_sym_next] = ACTIONS(5040),
    [anon_sym_redo] = ACTIONS(5042),
    [anon_sym_retry] = ACTIONS(5044),
    [anon_sym_if] = ACTIONS(5046),
    [anon_sym_unless] = ACTIONS(5048),
    [anon_sym_while] = ACTIONS(5050),
    [anon_sym_until] = ACTIONS(5052),
    [anon_sym_for] = ACTIONS(5054),
    [anon_sym_case] = ACTIONS(5056),
    [anon_sym_begin] = ACTIONS(5058),
    [anon_sym_PLUS] = ACTIONS(5060),
    [anon_sym_defined_QMARK] = ACTIONS(5062),
    [anon_sym_not] = ACTIONS(5064),
    [anon_sym_BANG] = ACTIONS(5066),
    [anon_sym_TILDE] = ACTIONS(5066),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5068),
    [sym_float] = ACTIONS(5070),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5072),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(5074),
    [sym_keyword__LINE__] = ACTIONS(5074),
    [sym_keyword__ENCODING__] = ACTIONS(5074),
    [sym__character_literal] = ACTIONS(5076),
    [anon_sym_LBRACK] = ACTIONS(5078),
    [anon_sym_DASH_GT] = ACTIONS(5080),
  },
  [6715] = {
    [sym__simple_string] = ACTIONS(3382),
    [sym__simple_heredoc_body] = ACTIONS(3382),
    [sym__string_beginning] = ACTIONS(3382),
    [sym__heredoc_body_beginning] = ACTIONS(3382),
    [sym__element_reference_left_bracket] = ACTIONS(3382),
    [sym__scope_double_colon] = ACTIONS(3382),
    [sym__binary_minus] = ACTIONS(3382),
    [sym__binary_star] = ACTIONS(3382),
    [anon_sym_LBRACE] = ACTIONS(3382),
    [anon_sym_RPAREN] = ACTIONS(3382),
    [anon_sym_DOT] = ACTIONS(3384),
    [anon_sym_COMMA] = ACTIONS(3382),
    [anon_sym_PIPE] = ACTIONS(3384),
    [anon_sym_STAR_STAR] = ACTIONS(3382),
    [anon_sym_AMP] = ACTIONS(3384),
    [anon_sym_EQ] = ACTIONS(3384),
    [anon_sym_LT] = ACTIONS(3384),
    [anon_sym_do] = ACTIONS(3382),
    [anon_sym_AMP_DOT] = ACTIONS(3382),
    [anon_sym_QMARK] = ACTIONS(3384),
    [anon_sym_DOT_DOT] = ACTIONS(3384),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3382),
    [anon_sym_and] = ACTIONS(3382),
    [anon_sym_or] = ACTIONS(3382),
    [anon_sym_PIPE_PIPE] = ACTIONS(3382),
    [anon_sym_AMP_AMP] = ACTIONS(3382),
    [anon_sym_LT_LT] = ACTIONS(3382),
    [anon_sym_GT_GT] = ACTIONS(3382),
    [anon_sym_EQ_EQ] = ACTIONS(3384),
    [anon_sym_BANG_EQ] = ACTIONS(3382),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3382),
    [anon_sym_LT_EQ_GT] = ACTIONS(3382),
    [anon_sym_EQ_TILDE] = ACTIONS(3382),
    [anon_sym_BANG_TILDE] = ACTIONS(3382),
    [anon_sym_LT_EQ] = ACTIONS(3384),
    [anon_sym_GT] = ACTIONS(3384),
    [anon_sym_GT_EQ] = ACTIONS(3382),
    [anon_sym_CARET] = ACTIONS(3382),
    [anon_sym_PLUS] = ACTIONS(3382),
    [anon_sym_SLASH] = ACTIONS(3382),
    [anon_sym_PERCENT] = ACTIONS(3382),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(3384),
  },
  [6716] = {
    [sym_string] = STATE(9829),
    [sym__simple_string] = ACTIONS(5000),
    [sym__simple_heredoc_body] = ACTIONS(3386),
    [sym__string_beginning] = ACTIONS(5010),
    [sym__heredoc_body_beginning] = ACTIONS(3386),
    [sym__element_reference_left_bracket] = ACTIONS(3386),
    [sym__scope_double_colon] = ACTIONS(3386),
    [sym__binary_minus] = ACTIONS(3386),
    [sym__binary_star] = ACTIONS(3386),
    [anon_sym_LBRACE] = ACTIONS(3386),
    [anon_sym_RPAREN] = ACTIONS(3386),
    [anon_sym_DOT] = ACTIONS(3388),
    [anon_sym_COMMA] = ACTIONS(3386),
    [anon_sym_PIPE] = ACTIONS(3388),
    [anon_sym_STAR_STAR] = ACTIONS(3386),
    [anon_sym_AMP] = ACTIONS(3388),
    [anon_sym_EQ] = ACTIONS(3388),
    [anon_sym_LT] = ACTIONS(3388),
    [anon_sym_do] = ACTIONS(3386),
    [anon_sym_AMP_DOT] = ACTIONS(3386),
    [anon_sym_QMARK] = ACTIONS(3388),
    [anon_sym_DOT_DOT] = ACTIONS(3388),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3386),
    [anon_sym_and] = ACTIONS(3386),
    [anon_sym_or] = ACTIONS(3386),
    [anon_sym_PIPE_PIPE] = ACTIONS(3386),
    [anon_sym_AMP_AMP] = ACTIONS(3386),
    [anon_sym_LT_LT] = ACTIONS(3386),
    [anon_sym_GT_GT] = ACTIONS(3386),
    [anon_sym_EQ_EQ] = ACTIONS(3388),
    [anon_sym_BANG_EQ] = ACTIONS(3386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3386),
    [anon_sym_LT_EQ_GT] = ACTIONS(3386),
    [anon_sym_EQ_TILDE] = ACTIONS(3386),
    [anon_sym_BANG_TILDE] = ACTIONS(3386),
    [anon_sym_LT_EQ] = ACTIONS(3388),
    [anon_sym_GT] = ACTIONS(3388),
    [anon_sym_GT_EQ] = ACTIONS(3386),
    [anon_sym_CARET] = ACTIONS(3386),
    [anon_sym_PLUS] = ACTIONS(3386),
    [anon_sym_SLASH] = ACTIONS(3386),
    [anon_sym_PERCENT] = ACTIONS(3386),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(5076),
  },
  [6717] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(5102),
    [sym__binary_star] = ACTIONS(5104),
    [anon_sym_LBRACE] = ACTIONS(5298),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(5106),
    [anon_sym_STAR_STAR] = ACTIONS(5108),
    [anon_sym_AMP] = ACTIONS(5110),
    [anon_sym_EQ] = ACTIONS(5304),
    [anon_sym_LT] = ACTIONS(5112),
    [anon_sym_do] = ACTIONS(5298),
    [anon_sym_EQ_GT] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(5114),
    [anon_sym_DOT_DOT] = ACTIONS(5116),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5118),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(5122),
    [anon_sym_AMP_AMP] = ACTIONS(5122),
    [anon_sym_LT_LT] = ACTIONS(5124),
    [anon_sym_GT_GT] = ACTIONS(5124),
    [anon_sym_EQ_EQ] = ACTIONS(5126),
    [anon_sym_BANG_EQ] = ACTIONS(5122),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5122),
    [anon_sym_LT_EQ_GT] = ACTIONS(5122),
    [anon_sym_EQ_TILDE] = ACTIONS(5122),
    [anon_sym_BANG_TILDE] = ACTIONS(5122),
    [anon_sym_LT_EQ] = ACTIONS(5112),
    [anon_sym_GT] = ACTIONS(5112),
    [anon_sym_GT_EQ] = ACTIONS(5128),
    [anon_sym_CARET] = ACTIONS(5130),
    [anon_sym_PLUS] = ACTIONS(5132),
    [anon_sym_SLASH] = ACTIONS(5108),
    [anon_sym_PERCENT] = ACTIONS(5108),
    [sym_comment] = ACTIONS(256),
  },
  [6718] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(5102),
    [sym__binary_star] = ACTIONS(5104),
    [anon_sym_LBRACE] = ACTIONS(5338),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(5106),
    [anon_sym_STAR_STAR] = ACTIONS(5108),
    [anon_sym_AMP] = ACTIONS(5110),
    [anon_sym_EQ] = ACTIONS(5340),
    [anon_sym_LT] = ACTIONS(5112),
    [anon_sym_do] = ACTIONS(5338),
    [anon_sym_EQ_GT] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(5114),
    [anon_sym_DOT_DOT] = ACTIONS(5116),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5118),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(5122),
    [anon_sym_AMP_AMP] = ACTIONS(5122),
    [anon_sym_LT_LT] = ACTIONS(5124),
    [anon_sym_GT_GT] = ACTIONS(5124),
    [anon_sym_EQ_EQ] = ACTIONS(5126),
    [anon_sym_BANG_EQ] = ACTIONS(5122),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5122),
    [anon_sym_LT_EQ_GT] = ACTIONS(5122),
    [anon_sym_EQ_TILDE] = ACTIONS(5122),
    [anon_sym_BANG_TILDE] = ACTIONS(5122),
    [anon_sym_LT_EQ] = ACTIONS(5112),
    [anon_sym_GT] = ACTIONS(5112),
    [anon_sym_GT_EQ] = ACTIONS(5128),
    [anon_sym_CARET] = ACTIONS(5130),
    [anon_sym_PLUS] = ACTIONS(5132),
    [anon_sym_SLASH] = ACTIONS(5108),
    [anon_sym_PERCENT] = ACTIONS(5108),
    [sym_comment] = ACTIONS(256),
  },
  [6719] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(5102),
    [sym__binary_star] = ACTIONS(5104),
    [anon_sym_LBRACE] = ACTIONS(4284),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(5106),
    [anon_sym_STAR_STAR] = ACTIONS(5108),
    [anon_sym_AMP] = ACTIONS(5110),
    [anon_sym_EQ] = ACTIONS(5432),
    [anon_sym_LT] = ACTIONS(5112),
    [anon_sym_do] = ACTIONS(4284),
    [anon_sym_EQ_GT] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(5114),
    [anon_sym_DOT_DOT] = ACTIONS(5116),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5118),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(5122),
    [anon_sym_AMP_AMP] = ACTIONS(5122),
    [anon_sym_LT_LT] = ACTIONS(5124),
    [anon_sym_GT_GT] = ACTIONS(5124),
    [anon_sym_EQ_EQ] = ACTIONS(5126),
    [anon_sym_BANG_EQ] = ACTIONS(5122),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5122),
    [anon_sym_LT_EQ_GT] = ACTIONS(5122),
    [anon_sym_EQ_TILDE] = ACTIONS(5122),
    [anon_sym_BANG_TILDE] = ACTIONS(5122),
    [anon_sym_LT_EQ] = ACTIONS(5112),
    [anon_sym_GT] = ACTIONS(5112),
    [anon_sym_GT_EQ] = ACTIONS(5128),
    [anon_sym_CARET] = ACTIONS(5130),
    [anon_sym_PLUS] = ACTIONS(5132),
    [anon_sym_SLASH] = ACTIONS(5108),
    [anon_sym_PERCENT] = ACTIONS(5108),
    [sym_comment] = ACTIONS(256),
  },
  [6720] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9830),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1313),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1314),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2062),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5082),
    [anon_sym_yield] = ACTIONS(5084),
    [anon_sym_break] = ACTIONS(5086),
    [anon_sym_next] = ACTIONS(5088),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2078),
    [anon_sym_defined_QMARK] = ACTIONS(2080),
    [anon_sym_not] = ACTIONS(5090),
    [anon_sym_BANG] = ACTIONS(2084),
    [anon_sym_TILDE] = ACTIONS(2084),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6721] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3534),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(6127),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1313),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1314),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(3536),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(3537),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(9831),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(5092),
    [sym__splat_star] = ACTIONS(5094),
    [sym__unary_minus] = ACTIONS(2062),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(12670),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2068),
    [anon_sym_yield] = ACTIONS(2070),
    [anon_sym_break] = ACTIONS(2072),
    [anon_sym_next] = ACTIONS(2074),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2078),
    [anon_sym_defined_QMARK] = ACTIONS(2080),
    [anon_sym_not] = ACTIONS(2082),
    [anon_sym_BANG] = ACTIONS(2084),
    [anon_sym_TILDE] = ACTIONS(2084),
    [sym_constant] = ACTIONS(5098),
    [sym_identifier] = ACTIONS(5098),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6722] = {
    [sym_heredoc_end] = STATE(3004),
    [aux_sym_argument_list_repeat2] = STATE(6130),
    [sym__simple_heredoc_body] = ACTIONS(4410),
    [sym__heredoc_body_beginning] = ACTIONS(4412),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_LBRACE] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(12672),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_STAR_STAR] = ACTIONS(5472),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_EQ] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_do] = ACTIONS(5472),
    [anon_sym_EQ_GT] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5472),
    [anon_sym_AMP_AMP] = ACTIONS(5472),
    [anon_sym_LT_LT] = ACTIONS(5472),
    [anon_sym_GT_GT] = ACTIONS(5472),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5472),
    [anon_sym_PLUS] = ACTIONS(5472),
    [anon_sym_SLASH] = ACTIONS(5472),
    [anon_sym_PERCENT] = ACTIONS(5472),
    [sym_comment] = ACTIONS(256),
  },
  [6723] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9833),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1313),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1314),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2062),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5082),
    [anon_sym_yield] = ACTIONS(5084),
    [anon_sym_break] = ACTIONS(5086),
    [anon_sym_next] = ACTIONS(5088),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2078),
    [anon_sym_defined_QMARK] = ACTIONS(2080),
    [anon_sym_not] = ACTIONS(5090),
    [anon_sym_BANG] = ACTIONS(2084),
    [anon_sym_TILDE] = ACTIONS(2084),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6724] = {
    [sym__simple_heredoc_body] = ACTIONS(8568),
    [sym__heredoc_body_beginning] = ACTIONS(8568),
    [sym__element_reference_left_bracket] = ACTIONS(8568),
    [sym__scope_double_colon] = ACTIONS(8568),
    [sym__binary_minus] = ACTIONS(9216),
    [sym__binary_star] = ACTIONS(9218),
    [anon_sym_LBRACE] = ACTIONS(8568),
    [anon_sym_DOT] = ACTIONS(9468),
    [anon_sym_COMMA] = ACTIONS(8568),
    [anon_sym_PIPE] = ACTIONS(9220),
    [anon_sym_STAR_STAR] = ACTIONS(9222),
    [anon_sym_AMP] = ACTIONS(9224),
    [anon_sym_EQ] = ACTIONS(9468),
    [anon_sym_LT] = ACTIONS(9226),
    [anon_sym_do] = ACTIONS(8568),
    [anon_sym_AMP_DOT] = ACTIONS(8568),
    [anon_sym_QMARK] = ACTIONS(9228),
    [anon_sym_DOT_DOT] = ACTIONS(9230),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9232),
    [anon_sym_and] = ACTIONS(9234),
    [anon_sym_or] = ACTIONS(9234),
    [anon_sym_PIPE_PIPE] = ACTIONS(9236),
    [anon_sym_AMP_AMP] = ACTIONS(9236),
    [anon_sym_LT_LT] = ACTIONS(9238),
    [anon_sym_GT_GT] = ACTIONS(9238),
    [anon_sym_EQ_EQ] = ACTIONS(9240),
    [anon_sym_BANG_EQ] = ACTIONS(9236),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9236),
    [anon_sym_LT_EQ_GT] = ACTIONS(9236),
    [anon_sym_EQ_TILDE] = ACTIONS(9236),
    [anon_sym_BANG_TILDE] = ACTIONS(9236),
    [anon_sym_LT_EQ] = ACTIONS(9226),
    [anon_sym_GT] = ACTIONS(9226),
    [anon_sym_GT_EQ] = ACTIONS(9242),
    [anon_sym_CARET] = ACTIONS(9244),
    [anon_sym_PLUS] = ACTIONS(9246),
    [anon_sym_SLASH] = ACTIONS(9222),
    [anon_sym_PERCENT] = ACTIONS(9222),
    [sym_comment] = ACTIONS(256),
  },
  [6725] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__element_reference_left_bracket] = ACTIONS(7008),
    [sym__scope_double_colon] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(5104),
    [anon_sym_LBRACE] = ACTIONS(7008),
    [anon_sym_DOT] = ACTIONS(7010),
    [anon_sym_COMMA] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_STAR_STAR] = ACTIONS(5108),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_EQ] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_do] = ACTIONS(7008),
    [anon_sym_EQ_GT] = ACTIONS(7008),
    [anon_sym_AMP_DOT] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7008),
    [anon_sym_AMP_AMP] = ACTIONS(7008),
    [anon_sym_LT_LT] = ACTIONS(7008),
    [anon_sym_GT_GT] = ACTIONS(7008),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7008),
    [anon_sym_PLUS] = ACTIONS(7008),
    [anon_sym_SLASH] = ACTIONS(5108),
    [anon_sym_PERCENT] = ACTIONS(5108),
    [sym_comment] = ACTIONS(256),
  },
  [6726] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__element_reference_left_bracket] = ACTIONS(7012),
    [sym__scope_double_colon] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_LBRACE] = ACTIONS(7012),
    [anon_sym_DOT] = ACTIONS(7014),
    [anon_sym_COMMA] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_STAR_STAR] = ACTIONS(5108),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_EQ] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_do] = ACTIONS(7012),
    [anon_sym_EQ_GT] = ACTIONS(7012),
    [anon_sym_AMP_DOT] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7012),
    [anon_sym_AMP_AMP] = ACTIONS(7012),
    [anon_sym_LT_LT] = ACTIONS(7012),
    [anon_sym_GT_GT] = ACTIONS(7012),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7012),
    [anon_sym_PLUS] = ACTIONS(7012),
    [anon_sym_SLASH] = ACTIONS(7012),
    [anon_sym_PERCENT] = ACTIONS(7012),
    [sym_comment] = ACTIONS(256),
  },
  [6727] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5102),
    [sym__binary_star] = ACTIONS(5104),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(5108),
    [anon_sym_AMP] = ACTIONS(5110),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(5124),
    [anon_sym_GT_GT] = ACTIONS(5124),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(5132),
    [anon_sym_SLASH] = ACTIONS(5108),
    [anon_sym_PERCENT] = ACTIONS(5108),
    [sym_comment] = ACTIONS(256),
  },
  [6728] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(5108),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7016),
    [anon_sym_PERCENT] = ACTIONS(7016),
    [sym_comment] = ACTIONS(256),
  },
  [6729] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5102),
    [sym__binary_star] = ACTIONS(5104),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(5108),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(5124),
    [anon_sym_GT_GT] = ACTIONS(5124),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(5132),
    [anon_sym_SLASH] = ACTIONS(5108),
    [anon_sym_PERCENT] = ACTIONS(5108),
    [sym_comment] = ACTIONS(256),
  },
  [6730] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5102),
    [sym__binary_star] = ACTIONS(5104),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(5106),
    [anon_sym_STAR_STAR] = ACTIONS(5108),
    [anon_sym_AMP] = ACTIONS(5110),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(5124),
    [anon_sym_GT_GT] = ACTIONS(5124),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(5130),
    [anon_sym_PLUS] = ACTIONS(5132),
    [anon_sym_SLASH] = ACTIONS(5108),
    [anon_sym_PERCENT] = ACTIONS(5108),
    [sym_comment] = ACTIONS(256),
  },
  [6731] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(12674),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [6732] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__element_reference_left_bracket] = ACTIONS(7108),
    [sym__scope_double_colon] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(5102),
    [sym__binary_star] = ACTIONS(5104),
    [anon_sym_LBRACE] = ACTIONS(7108),
    [anon_sym_DOT] = ACTIONS(9472),
    [anon_sym_COMMA] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(5106),
    [anon_sym_STAR_STAR] = ACTIONS(5108),
    [anon_sym_AMP] = ACTIONS(5110),
    [anon_sym_EQ] = ACTIONS(9472),
    [anon_sym_LT] = ACTIONS(5112),
    [anon_sym_do] = ACTIONS(7108),
    [anon_sym_EQ_GT] = ACTIONS(7108),
    [anon_sym_AMP_DOT] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(5116),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5118),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(5122),
    [anon_sym_AMP_AMP] = ACTIONS(5122),
    [anon_sym_LT_LT] = ACTIONS(5124),
    [anon_sym_GT_GT] = ACTIONS(5124),
    [anon_sym_EQ_EQ] = ACTIONS(5126),
    [anon_sym_BANG_EQ] = ACTIONS(5122),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5122),
    [anon_sym_LT_EQ_GT] = ACTIONS(5122),
    [anon_sym_EQ_TILDE] = ACTIONS(5122),
    [anon_sym_BANG_TILDE] = ACTIONS(5122),
    [anon_sym_LT_EQ] = ACTIONS(5112),
    [anon_sym_GT] = ACTIONS(5112),
    [anon_sym_GT_EQ] = ACTIONS(5128),
    [anon_sym_CARET] = ACTIONS(5130),
    [anon_sym_PLUS] = ACTIONS(5132),
    [anon_sym_SLASH] = ACTIONS(5108),
    [anon_sym_PERCENT] = ACTIONS(5108),
    [sym_comment] = ACTIONS(256),
  },
  [6733] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5102),
    [sym__binary_star] = ACTIONS(5104),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(5106),
    [anon_sym_STAR_STAR] = ACTIONS(5108),
    [anon_sym_AMP] = ACTIONS(5110),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(5112),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(5114),
    [anon_sym_DOT_DOT] = ACTIONS(5116),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5118),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(5122),
    [anon_sym_AMP_AMP] = ACTIONS(5122),
    [anon_sym_LT_LT] = ACTIONS(5124),
    [anon_sym_GT_GT] = ACTIONS(5124),
    [anon_sym_EQ_EQ] = ACTIONS(5126),
    [anon_sym_BANG_EQ] = ACTIONS(5122),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5122),
    [anon_sym_LT_EQ_GT] = ACTIONS(5122),
    [anon_sym_EQ_TILDE] = ACTIONS(5122),
    [anon_sym_BANG_TILDE] = ACTIONS(5122),
    [anon_sym_LT_EQ] = ACTIONS(5112),
    [anon_sym_GT] = ACTIONS(5112),
    [anon_sym_GT_EQ] = ACTIONS(5128),
    [anon_sym_CARET] = ACTIONS(5130),
    [anon_sym_PLUS] = ACTIONS(5132),
    [anon_sym_SLASH] = ACTIONS(5108),
    [anon_sym_PERCENT] = ACTIONS(5108),
    [sym_comment] = ACTIONS(256),
  },
  [6734] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5102),
    [sym__binary_star] = ACTIONS(5104),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(5106),
    [anon_sym_STAR_STAR] = ACTIONS(5108),
    [anon_sym_AMP] = ACTIONS(5110),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(5112),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(5124),
    [anon_sym_GT_GT] = ACTIONS(5124),
    [anon_sym_EQ_EQ] = ACTIONS(5126),
    [anon_sym_BANG_EQ] = ACTIONS(5122),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5122),
    [anon_sym_LT_EQ_GT] = ACTIONS(5122),
    [anon_sym_EQ_TILDE] = ACTIONS(5122),
    [anon_sym_BANG_TILDE] = ACTIONS(5122),
    [anon_sym_LT_EQ] = ACTIONS(5112),
    [anon_sym_GT] = ACTIONS(5112),
    [anon_sym_GT_EQ] = ACTIONS(5128),
    [anon_sym_CARET] = ACTIONS(5130),
    [anon_sym_PLUS] = ACTIONS(5132),
    [anon_sym_SLASH] = ACTIONS(5108),
    [anon_sym_PERCENT] = ACTIONS(5108),
    [sym_comment] = ACTIONS(256),
  },
  [6735] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5102),
    [sym__binary_star] = ACTIONS(5104),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(5108),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(5132),
    [anon_sym_SLASH] = ACTIONS(5108),
    [anon_sym_PERCENT] = ACTIONS(5108),
    [sym_comment] = ACTIONS(256),
  },
  [6736] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(5104),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(5108),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(5108),
    [anon_sym_PERCENT] = ACTIONS(5108),
    [sym_comment] = ACTIONS(256),
  },
  [6737] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1309),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(9738),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1313),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1314),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1315),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1316),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(2058),
    [sym__splat_star] = ACTIONS(2060),
    [sym__unary_minus] = ACTIONS(2062),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2066),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2068),
    [anon_sym_yield] = ACTIONS(2070),
    [anon_sym_break] = ACTIONS(2072),
    [anon_sym_next] = ACTIONS(2074),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2078),
    [anon_sym_defined_QMARK] = ACTIONS(2080),
    [anon_sym_not] = ACTIONS(2082),
    [anon_sym_BANG] = ACTIONS(2084),
    [anon_sym_TILDE] = ACTIONS(2084),
    [sym_constant] = ACTIONS(2086),
    [sym_identifier] = ACTIONS(2086),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6738] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1309),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(9738),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1313),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1314),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1315),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1316),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(9835),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(2058),
    [sym__splat_star] = ACTIONS(2060),
    [sym__unary_minus] = ACTIONS(2062),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2066),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2068),
    [anon_sym_yield] = ACTIONS(2070),
    [anon_sym_break] = ACTIONS(2072),
    [anon_sym_next] = ACTIONS(2074),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2078),
    [anon_sym_defined_QMARK] = ACTIONS(2080),
    [anon_sym_not] = ACTIONS(2082),
    [anon_sym_BANG] = ACTIONS(2084),
    [anon_sym_TILDE] = ACTIONS(2084),
    [sym_constant] = ACTIONS(2086),
    [sym_identifier] = ACTIONS(2086),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6739] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__element_reference_left_bracket] = ACTIONS(6346),
    [sym__scope_double_colon] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(5102),
    [sym__binary_star] = ACTIONS(5104),
    [anon_sym_LBRACE] = ACTIONS(6346),
    [anon_sym_DOT] = ACTIONS(7328),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(5106),
    [anon_sym_STAR_STAR] = ACTIONS(5108),
    [anon_sym_AMP] = ACTIONS(5110),
    [anon_sym_EQ] = ACTIONS(7328),
    [anon_sym_LT] = ACTIONS(5112),
    [anon_sym_do] = ACTIONS(6346),
    [anon_sym_EQ_GT] = ACTIONS(6346),
    [anon_sym_AMP_DOT] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(5114),
    [anon_sym_DOT_DOT] = ACTIONS(5116),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5118),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(5122),
    [anon_sym_AMP_AMP] = ACTIONS(5122),
    [anon_sym_LT_LT] = ACTIONS(5124),
    [anon_sym_GT_GT] = ACTIONS(5124),
    [anon_sym_EQ_EQ] = ACTIONS(5126),
    [anon_sym_BANG_EQ] = ACTIONS(5122),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5122),
    [anon_sym_LT_EQ_GT] = ACTIONS(5122),
    [anon_sym_EQ_TILDE] = ACTIONS(5122),
    [anon_sym_BANG_TILDE] = ACTIONS(5122),
    [anon_sym_LT_EQ] = ACTIONS(5112),
    [anon_sym_GT] = ACTIONS(5112),
    [anon_sym_GT_EQ] = ACTIONS(5128),
    [anon_sym_CARET] = ACTIONS(5130),
    [anon_sym_PLUS] = ACTIONS(5132),
    [anon_sym_SLASH] = ACTIONS(5108),
    [anon_sym_PERCENT] = ACTIONS(5108),
    [sym_comment] = ACTIONS(256),
  },
  [6740] = {
    [aux_sym_exceptions_repeat1] = STATE(9837),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__element_reference_left_bracket] = ACTIONS(7330),
    [sym__scope_double_colon] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_LBRACE] = ACTIONS(7330),
    [anon_sym_DOT] = ACTIONS(7332),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_EQ] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_do] = ACTIONS(7330),
    [anon_sym_EQ_GT] = ACTIONS(7330),
    [anon_sym_AMP_DOT] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(256),
  },
  [6741] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__element_reference_left_bracket] = ACTIONS(7344),
    [sym__scope_double_colon] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(5102),
    [sym__binary_star] = ACTIONS(5104),
    [anon_sym_LBRACE] = ACTIONS(7344),
    [anon_sym_DOT] = ACTIONS(9504),
    [anon_sym_COMMA] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(5106),
    [anon_sym_STAR_STAR] = ACTIONS(5108),
    [anon_sym_AMP] = ACTIONS(5110),
    [anon_sym_EQ] = ACTIONS(9504),
    [anon_sym_LT] = ACTIONS(5112),
    [anon_sym_do] = ACTIONS(7344),
    [anon_sym_EQ_GT] = ACTIONS(7344),
    [anon_sym_AMP_DOT] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(5114),
    [anon_sym_DOT_DOT] = ACTIONS(5116),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5118),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(5122),
    [anon_sym_AMP_AMP] = ACTIONS(5122),
    [anon_sym_LT_LT] = ACTIONS(5124),
    [anon_sym_GT_GT] = ACTIONS(5124),
    [anon_sym_EQ_EQ] = ACTIONS(5126),
    [anon_sym_BANG_EQ] = ACTIONS(5122),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5122),
    [anon_sym_LT_EQ_GT] = ACTIONS(5122),
    [anon_sym_EQ_TILDE] = ACTIONS(5122),
    [anon_sym_BANG_TILDE] = ACTIONS(5122),
    [anon_sym_LT_EQ] = ACTIONS(5112),
    [anon_sym_GT] = ACTIONS(5112),
    [anon_sym_GT_EQ] = ACTIONS(5128),
    [anon_sym_CARET] = ACTIONS(5130),
    [anon_sym_PLUS] = ACTIONS(5132),
    [anon_sym_SLASH] = ACTIONS(5108),
    [anon_sym_PERCENT] = ACTIONS(5108),
    [sym_comment] = ACTIONS(256),
  },
  [6742] = {
    [sym__simple_heredoc_body] = ACTIONS(8662),
    [sym__heredoc_body_beginning] = ACTIONS(8662),
    [sym__element_reference_left_bracket] = ACTIONS(8662),
    [sym__scope_double_colon] = ACTIONS(8662),
    [sym__binary_minus] = ACTIONS(9216),
    [sym__binary_star] = ACTIONS(9218),
    [anon_sym_LBRACE] = ACTIONS(8662),
    [anon_sym_DOT] = ACTIONS(9506),
    [anon_sym_COMMA] = ACTIONS(8662),
    [anon_sym_PIPE] = ACTIONS(9220),
    [anon_sym_STAR_STAR] = ACTIONS(9222),
    [anon_sym_AMP] = ACTIONS(9224),
    [anon_sym_EQ] = ACTIONS(9506),
    [anon_sym_LT] = ACTIONS(9226),
    [anon_sym_do] = ACTIONS(8662),
    [anon_sym_AMP_DOT] = ACTIONS(8662),
    [anon_sym_QMARK] = ACTIONS(9228),
    [anon_sym_DOT_DOT] = ACTIONS(9230),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9232),
    [anon_sym_and] = ACTIONS(9234),
    [anon_sym_or] = ACTIONS(9234),
    [anon_sym_PIPE_PIPE] = ACTIONS(9236),
    [anon_sym_AMP_AMP] = ACTIONS(9236),
    [anon_sym_LT_LT] = ACTIONS(9238),
    [anon_sym_GT_GT] = ACTIONS(9238),
    [anon_sym_EQ_EQ] = ACTIONS(9240),
    [anon_sym_BANG_EQ] = ACTIONS(9236),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9236),
    [anon_sym_LT_EQ_GT] = ACTIONS(9236),
    [anon_sym_EQ_TILDE] = ACTIONS(9236),
    [anon_sym_BANG_TILDE] = ACTIONS(9236),
    [anon_sym_LT_EQ] = ACTIONS(9226),
    [anon_sym_GT] = ACTIONS(9226),
    [anon_sym_GT_EQ] = ACTIONS(9242),
    [anon_sym_CARET] = ACTIONS(9244),
    [anon_sym_PLUS] = ACTIONS(9246),
    [anon_sym_SLASH] = ACTIONS(9222),
    [anon_sym_PERCENT] = ACTIONS(9222),
    [sym_comment] = ACTIONS(256),
  },
  [6743] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9838),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(6748),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6749),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(9262),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(9264),
    [anon_sym_defined_QMARK] = ACTIONS(9266),
    [anon_sym_not] = ACTIONS(9268),
    [anon_sym_BANG] = ACTIONS(9270),
    [anon_sym_TILDE] = ACTIONS(9270),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6744] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9839),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(6748),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6749),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(9262),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(9264),
    [anon_sym_defined_QMARK] = ACTIONS(9266),
    [anon_sym_not] = ACTIONS(9268),
    [anon_sym_BANG] = ACTIONS(9270),
    [anon_sym_TILDE] = ACTIONS(9270),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6745] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9840),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(6748),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6749),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(9262),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(9264),
    [anon_sym_defined_QMARK] = ACTIONS(9266),
    [anon_sym_not] = ACTIONS(9268),
    [anon_sym_BANG] = ACTIONS(9270),
    [anon_sym_TILDE] = ACTIONS(9270),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6746] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1410),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(6748),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6749),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(9262),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(9264),
    [anon_sym_defined_QMARK] = ACTIONS(9266),
    [anon_sym_not] = ACTIONS(9268),
    [anon_sym_BANG] = ACTIONS(9270),
    [anon_sym_TILDE] = ACTIONS(9270),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6747] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__line_break] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(12676),
    [sym__binary_star] = ACTIONS(12678),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(12680),
    [anon_sym_SEMI] = ACTIONS(5298),
    [anon_sym_STAR_STAR] = ACTIONS(12682),
    [anon_sym_AMP] = ACTIONS(12684),
    [anon_sym_LT] = ACTIONS(12686),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(12688),
    [anon_sym_DOT_DOT] = ACTIONS(12690),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12692),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(12694),
    [anon_sym_AMP_AMP] = ACTIONS(12694),
    [anon_sym_LT_LT] = ACTIONS(12696),
    [anon_sym_GT_GT] = ACTIONS(12696),
    [anon_sym_EQ_EQ] = ACTIONS(12698),
    [anon_sym_BANG_EQ] = ACTIONS(12694),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12694),
    [anon_sym_LT_EQ_GT] = ACTIONS(12694),
    [anon_sym_EQ_TILDE] = ACTIONS(12694),
    [anon_sym_BANG_TILDE] = ACTIONS(12694),
    [anon_sym_LT_EQ] = ACTIONS(12686),
    [anon_sym_GT] = ACTIONS(12686),
    [anon_sym_GT_EQ] = ACTIONS(12700),
    [anon_sym_CARET] = ACTIONS(12702),
    [anon_sym_PLUS] = ACTIONS(12704),
    [anon_sym_SLASH] = ACTIONS(12682),
    [anon_sym_PERCENT] = ACTIONS(12682),
    [sym_comment] = ACTIONS(110),
  },
  [6748] = {
    [anon_sym_EQ] = ACTIONS(12706),
    [sym_comment] = ACTIONS(256),
  },
  [6749] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(12708),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(12710),
    [anon_sym_DASH_EQ] = ACTIONS(12710),
    [anon_sym_STAR_EQ] = ACTIONS(12710),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(12710),
    [anon_sym_SLASH_EQ] = ACTIONS(12710),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(12710),
    [anon_sym_PIPE_EQ] = ACTIONS(12710),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(12710),
    [anon_sym_AMP_EQ] = ACTIONS(12710),
    [anon_sym_PERCENT_EQ] = ACTIONS(12710),
    [anon_sym_GT_GT_EQ] = ACTIONS(12710),
    [anon_sym_LT_LT_EQ] = ACTIONS(12710),
    [anon_sym_CARET_EQ] = ACTIONS(12710),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [6750] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__line_break] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(12676),
    [sym__binary_star] = ACTIONS(12678),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(12680),
    [anon_sym_SEMI] = ACTIONS(5338),
    [anon_sym_STAR_STAR] = ACTIONS(12682),
    [anon_sym_AMP] = ACTIONS(12684),
    [anon_sym_LT] = ACTIONS(12686),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(12688),
    [anon_sym_DOT_DOT] = ACTIONS(12690),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12692),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(12694),
    [anon_sym_AMP_AMP] = ACTIONS(12694),
    [anon_sym_LT_LT] = ACTIONS(12696),
    [anon_sym_GT_GT] = ACTIONS(12696),
    [anon_sym_EQ_EQ] = ACTIONS(12698),
    [anon_sym_BANG_EQ] = ACTIONS(12694),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12694),
    [anon_sym_LT_EQ_GT] = ACTIONS(12694),
    [anon_sym_EQ_TILDE] = ACTIONS(12694),
    [anon_sym_BANG_TILDE] = ACTIONS(12694),
    [anon_sym_LT_EQ] = ACTIONS(12686),
    [anon_sym_GT] = ACTIONS(12686),
    [anon_sym_GT_EQ] = ACTIONS(12700),
    [anon_sym_CARET] = ACTIONS(12702),
    [anon_sym_PLUS] = ACTIONS(12704),
    [anon_sym_SLASH] = ACTIONS(12682),
    [anon_sym_PERCENT] = ACTIONS(12682),
    [sym_comment] = ACTIONS(110),
  },
  [6751] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6761),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(3575),
    [sym_call] = STATE(3575),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(340),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(6762),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3577),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3578),
    [sym__variable] = STATE(3575),
    [sym_reserved_identifier] = STATE(6763),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(6764),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(9284),
    [sym__splat_star] = ACTIONS(9286),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(5148),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(5150),
    [anon_sym_yield] = ACTIONS(5152),
    [anon_sym_break] = ACTIONS(5154),
    [anon_sym_next] = ACTIONS(5156),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(5158),
    [anon_sym_not] = ACTIONS(5160),
    [anon_sym_BANG] = ACTIONS(5162),
    [anon_sym_TILDE] = ACTIONS(5164),
    [sym_constant] = ACTIONS(9288),
    [sym_identifier] = ACTIONS(9288),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6752] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6761),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(3575),
    [sym_call] = STATE(3575),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(349),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(6762),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3577),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3578),
    [sym__variable] = STATE(3575),
    [sym_reserved_identifier] = STATE(6763),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(6764),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(9284),
    [sym__splat_star] = ACTIONS(9286),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(5148),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(5150),
    [anon_sym_yield] = ACTIONS(5152),
    [anon_sym_break] = ACTIONS(5154),
    [anon_sym_next] = ACTIONS(5156),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(5158),
    [anon_sym_not] = ACTIONS(5160),
    [anon_sym_BANG] = ACTIONS(5162),
    [anon_sym_TILDE] = ACTIONS(5164),
    [sym_constant] = ACTIONS(9288),
    [sym_identifier] = ACTIONS(9288),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6753] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6761),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(3575),
    [sym_call] = STATE(3575),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(350),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(6762),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3577),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3578),
    [sym__variable] = STATE(3575),
    [sym_reserved_identifier] = STATE(6763),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(6764),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(9284),
    [sym__splat_star] = ACTIONS(9286),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(5148),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(5150),
    [anon_sym_yield] = ACTIONS(5152),
    [anon_sym_break] = ACTIONS(5154),
    [anon_sym_next] = ACTIONS(5156),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(5158),
    [anon_sym_not] = ACTIONS(5160),
    [anon_sym_BANG] = ACTIONS(5162),
    [anon_sym_TILDE] = ACTIONS(5164),
    [sym_constant] = ACTIONS(9288),
    [sym_identifier] = ACTIONS(9288),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6754] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6761),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(3575),
    [sym_call] = STATE(3575),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(351),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(6762),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3577),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3578),
    [sym__variable] = STATE(3575),
    [sym_reserved_identifier] = STATE(6763),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(6764),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(9284),
    [sym__splat_star] = ACTIONS(9286),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(5148),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(5150),
    [anon_sym_yield] = ACTIONS(5152),
    [anon_sym_break] = ACTIONS(5154),
    [anon_sym_next] = ACTIONS(5156),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(5158),
    [anon_sym_not] = ACTIONS(5160),
    [anon_sym_BANG] = ACTIONS(5162),
    [anon_sym_TILDE] = ACTIONS(5164),
    [sym_constant] = ACTIONS(9288),
    [sym_identifier] = ACTIONS(9288),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6755] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(9298),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_EQ_GT] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [6756] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__line_break] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(12676),
    [sym__binary_star] = ACTIONS(12678),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(12680),
    [anon_sym_SEMI] = ACTIONS(4284),
    [anon_sym_STAR_STAR] = ACTIONS(12682),
    [anon_sym_AMP] = ACTIONS(12684),
    [anon_sym_LT] = ACTIONS(12686),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(12688),
    [anon_sym_DOT_DOT] = ACTIONS(12690),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12692),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(12694),
    [anon_sym_AMP_AMP] = ACTIONS(12694),
    [anon_sym_LT_LT] = ACTIONS(12696),
    [anon_sym_GT_GT] = ACTIONS(12696),
    [anon_sym_EQ_EQ] = ACTIONS(12698),
    [anon_sym_BANG_EQ] = ACTIONS(12694),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12694),
    [anon_sym_LT_EQ_GT] = ACTIONS(12694),
    [anon_sym_EQ_TILDE] = ACTIONS(12694),
    [anon_sym_BANG_TILDE] = ACTIONS(12694),
    [anon_sym_LT_EQ] = ACTIONS(12686),
    [anon_sym_GT] = ACTIONS(12686),
    [anon_sym_GT_EQ] = ACTIONS(12700),
    [anon_sym_CARET] = ACTIONS(12702),
    [anon_sym_PLUS] = ACTIONS(12704),
    [anon_sym_SLASH] = ACTIONS(12682),
    [anon_sym_PERCENT] = ACTIONS(12682),
    [sym_comment] = ACTIONS(110),
  },
  [6757] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9855),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(3575),
    [sym_call] = STATE(3575),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3577),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3578),
    [sym__variable] = STATE(3575),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5148),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(9272),
    [anon_sym_yield] = ACTIONS(9274),
    [anon_sym_break] = ACTIONS(9276),
    [anon_sym_next] = ACTIONS(9278),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(9280),
    [anon_sym_defined_QMARK] = ACTIONS(5158),
    [anon_sym_not] = ACTIONS(9282),
    [anon_sym_BANG] = ACTIONS(5164),
    [anon_sym_TILDE] = ACTIONS(5164),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6758] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9856),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(3575),
    [sym_call] = STATE(3575),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3577),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3578),
    [sym__variable] = STATE(3575),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5148),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(9272),
    [anon_sym_yield] = ACTIONS(9274),
    [anon_sym_break] = ACTIONS(9276),
    [anon_sym_next] = ACTIONS(9278),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(9280),
    [anon_sym_defined_QMARK] = ACTIONS(5158),
    [anon_sym_not] = ACTIONS(9282),
    [anon_sym_BANG] = ACTIONS(5164),
    [anon_sym_TILDE] = ACTIONS(5164),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6759] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9857),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(3575),
    [sym_call] = STATE(3575),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3577),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3578),
    [sym__variable] = STATE(3575),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5148),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(9272),
    [anon_sym_yield] = ACTIONS(9274),
    [anon_sym_break] = ACTIONS(9276),
    [anon_sym_next] = ACTIONS(9278),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(9280),
    [anon_sym_defined_QMARK] = ACTIONS(5158),
    [anon_sym_not] = ACTIONS(9282),
    [anon_sym_BANG] = ACTIONS(5164),
    [anon_sym_TILDE] = ACTIONS(5164),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6760] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(12712),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [6761] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__line_break] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(9292),
    [sym__binary_star] = ACTIONS(9294),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(9296),
    [anon_sym_SEMI] = ACTIONS(2210),
    [anon_sym_STAR_STAR] = ACTIONS(9298),
    [anon_sym_AMP] = ACTIONS(9300),
    [anon_sym_LT] = ACTIONS(9302),
    [anon_sym_EQ_GT] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(9304),
    [anon_sym_DOT_DOT] = ACTIONS(9306),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9308),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(9310),
    [anon_sym_AMP_AMP] = ACTIONS(9310),
    [anon_sym_LT_LT] = ACTIONS(9312),
    [anon_sym_GT_GT] = ACTIONS(9312),
    [anon_sym_EQ_EQ] = ACTIONS(9314),
    [anon_sym_BANG_EQ] = ACTIONS(9310),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9310),
    [anon_sym_LT_EQ_GT] = ACTIONS(9310),
    [anon_sym_EQ_TILDE] = ACTIONS(9310),
    [anon_sym_BANG_TILDE] = ACTIONS(9310),
    [anon_sym_LT_EQ] = ACTIONS(9302),
    [anon_sym_GT] = ACTIONS(9302),
    [anon_sym_GT_EQ] = ACTIONS(9316),
    [anon_sym_CARET] = ACTIONS(9318),
    [anon_sym_PLUS] = ACTIONS(9320),
    [anon_sym_SLASH] = ACTIONS(9298),
    [anon_sym_PERCENT] = ACTIONS(9298),
    [sym_comment] = ACTIONS(110),
  },
  [6762] = {
    [sym_heredoc_end] = STATE(1444),
    [aux_sym_argument_list_repeat1] = STATE(9860),
    [aux_sym_argument_list_repeat2] = STATE(1445),
    [sym__simple_heredoc_body] = ACTIONS(2268),
    [sym__heredoc_body_beginning] = ACTIONS(2270),
    [sym__line_break] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(12714),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_STAR_STAR] = ACTIONS(2272),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_EQ_GT] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2272),
    [anon_sym_AMP_AMP] = ACTIONS(2272),
    [anon_sym_LT_LT] = ACTIONS(2272),
    [anon_sym_GT_GT] = ACTIONS(2272),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2272),
    [anon_sym_PLUS] = ACTIONS(2272),
    [anon_sym_SLASH] = ACTIONS(2272),
    [anon_sym_PERCENT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(110),
  },
  [6763] = {
    [sym__keyword_colon] = ACTIONS(12716),
    [sym_comment] = ACTIONS(110),
  },
  [6764] = {
    [sym_string] = STATE(611),
    [aux_sym_chained_string_repeat1] = STATE(612),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(20),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(12712),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(120),
  },
  [6765] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(9298),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [6766] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(9292),
    [sym__binary_star] = ACTIONS(9294),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(9296),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(9298),
    [anon_sym_AMP] = ACTIONS(9300),
    [anon_sym_LT] = ACTIONS(9302),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(9304),
    [anon_sym_DOT_DOT] = ACTIONS(9306),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9308),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(9310),
    [anon_sym_AMP_AMP] = ACTIONS(9310),
    [anon_sym_LT_LT] = ACTIONS(9312),
    [anon_sym_GT_GT] = ACTIONS(9312),
    [anon_sym_EQ_EQ] = ACTIONS(9314),
    [anon_sym_BANG_EQ] = ACTIONS(9310),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9310),
    [anon_sym_LT_EQ_GT] = ACTIONS(9310),
    [anon_sym_EQ_TILDE] = ACTIONS(9310),
    [anon_sym_BANG_TILDE] = ACTIONS(9310),
    [anon_sym_LT_EQ] = ACTIONS(9302),
    [anon_sym_GT] = ACTIONS(9302),
    [anon_sym_GT_EQ] = ACTIONS(9316),
    [anon_sym_CARET] = ACTIONS(9318),
    [anon_sym_PLUS] = ACTIONS(9320),
    [anon_sym_SLASH] = ACTIONS(9298),
    [anon_sym_PERCENT] = ACTIONS(9298),
    [sym_comment] = ACTIONS(110),
  },
  [6767] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9862),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(6748),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6749),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(9262),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(9264),
    [anon_sym_defined_QMARK] = ACTIONS(9266),
    [anon_sym_not] = ACTIONS(9268),
    [anon_sym_BANG] = ACTIONS(9270),
    [anon_sym_TILDE] = ACTIONS(9270),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6768] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9863),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(3575),
    [sym_call] = STATE(3575),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3577),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3578),
    [sym__variable] = STATE(3575),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5148),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(9272),
    [anon_sym_yield] = ACTIONS(9274),
    [anon_sym_break] = ACTIONS(9276),
    [anon_sym_next] = ACTIONS(9278),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(9280),
    [anon_sym_defined_QMARK] = ACTIONS(5158),
    [anon_sym_not] = ACTIONS(9282),
    [anon_sym_BANG] = ACTIONS(5164),
    [anon_sym_TILDE] = ACTIONS(5164),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6769] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9864),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(3575),
    [sym_call] = STATE(3575),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3577),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3578),
    [sym__variable] = STATE(3575),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5148),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(9272),
    [anon_sym_yield] = ACTIONS(9274),
    [anon_sym_break] = ACTIONS(9276),
    [anon_sym_next] = ACTIONS(9278),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(9280),
    [anon_sym_defined_QMARK] = ACTIONS(5158),
    [anon_sym_not] = ACTIONS(9282),
    [anon_sym_BANG] = ACTIONS(5164),
    [anon_sym_TILDE] = ACTIONS(5164),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6770] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9865),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(3575),
    [sym_call] = STATE(3575),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3577),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3578),
    [sym__variable] = STATE(3575),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5148),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(9272),
    [anon_sym_yield] = ACTIONS(9274),
    [anon_sym_break] = ACTIONS(9276),
    [anon_sym_next] = ACTIONS(9278),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(9280),
    [anon_sym_defined_QMARK] = ACTIONS(5158),
    [anon_sym_not] = ACTIONS(9282),
    [anon_sym_BANG] = ACTIONS(5164),
    [anon_sym_TILDE] = ACTIONS(5164),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6771] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9866),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(3575),
    [sym_call] = STATE(3575),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3577),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3578),
    [sym__variable] = STATE(3575),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5148),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(9272),
    [anon_sym_yield] = ACTIONS(9274),
    [anon_sym_break] = ACTIONS(9276),
    [anon_sym_next] = ACTIONS(9278),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(9280),
    [anon_sym_defined_QMARK] = ACTIONS(5158),
    [anon_sym_not] = ACTIONS(9282),
    [anon_sym_BANG] = ACTIONS(5164),
    [anon_sym_TILDE] = ACTIONS(5164),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6772] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9867),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(3575),
    [sym_call] = STATE(3575),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3577),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3578),
    [sym__variable] = STATE(3575),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5148),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(9272),
    [anon_sym_yield] = ACTIONS(9274),
    [anon_sym_break] = ACTIONS(9276),
    [anon_sym_next] = ACTIONS(9278),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(9280),
    [anon_sym_defined_QMARK] = ACTIONS(5158),
    [anon_sym_not] = ACTIONS(9282),
    [anon_sym_BANG] = ACTIONS(5164),
    [anon_sym_TILDE] = ACTIONS(5164),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6773] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9868),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(3575),
    [sym_call] = STATE(3575),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3577),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3578),
    [sym__variable] = STATE(3575),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5148),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(9272),
    [anon_sym_yield] = ACTIONS(9274),
    [anon_sym_break] = ACTIONS(9276),
    [anon_sym_next] = ACTIONS(9278),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(9280),
    [anon_sym_defined_QMARK] = ACTIONS(5158),
    [anon_sym_not] = ACTIONS(9282),
    [anon_sym_BANG] = ACTIONS(5164),
    [anon_sym_TILDE] = ACTIONS(5164),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6774] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(9869),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [6775] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9870),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(3575),
    [sym_call] = STATE(3575),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3577),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3578),
    [sym__variable] = STATE(3575),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5148),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(9272),
    [anon_sym_yield] = ACTIONS(9274),
    [anon_sym_break] = ACTIONS(9276),
    [anon_sym_next] = ACTIONS(9278),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(9280),
    [anon_sym_defined_QMARK] = ACTIONS(5158),
    [anon_sym_not] = ACTIONS(9282),
    [anon_sym_BANG] = ACTIONS(5164),
    [anon_sym_TILDE] = ACTIONS(5164),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6776] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9871),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(3575),
    [sym_call] = STATE(3575),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3577),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3578),
    [sym__variable] = STATE(3575),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5148),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(9272),
    [anon_sym_yield] = ACTIONS(9274),
    [anon_sym_break] = ACTIONS(9276),
    [anon_sym_next] = ACTIONS(9278),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(9280),
    [anon_sym_defined_QMARK] = ACTIONS(5158),
    [anon_sym_not] = ACTIONS(9282),
    [anon_sym_BANG] = ACTIONS(5164),
    [anon_sym_TILDE] = ACTIONS(5164),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6777] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9872),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(3575),
    [sym_call] = STATE(3575),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3577),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3578),
    [sym__variable] = STATE(3575),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5148),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(9272),
    [anon_sym_yield] = ACTIONS(9274),
    [anon_sym_break] = ACTIONS(9276),
    [anon_sym_next] = ACTIONS(9278),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(9280),
    [anon_sym_defined_QMARK] = ACTIONS(5158),
    [anon_sym_not] = ACTIONS(9282),
    [anon_sym_BANG] = ACTIONS(5164),
    [anon_sym_TILDE] = ACTIONS(5164),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6778] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9873),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(3575),
    [sym_call] = STATE(3575),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3577),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3578),
    [sym__variable] = STATE(3575),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5148),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(9272),
    [anon_sym_yield] = ACTIONS(9274),
    [anon_sym_break] = ACTIONS(9276),
    [anon_sym_next] = ACTIONS(9278),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(9280),
    [anon_sym_defined_QMARK] = ACTIONS(5158),
    [anon_sym_not] = ACTIONS(9282),
    [anon_sym_BANG] = ACTIONS(5164),
    [anon_sym_TILDE] = ACTIONS(5164),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6779] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9874),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(3575),
    [sym_call] = STATE(3575),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3577),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3578),
    [sym__variable] = STATE(3575),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5148),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(9272),
    [anon_sym_yield] = ACTIONS(9274),
    [anon_sym_break] = ACTIONS(9276),
    [anon_sym_next] = ACTIONS(9278),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(9280),
    [anon_sym_defined_QMARK] = ACTIONS(5158),
    [anon_sym_not] = ACTIONS(9282),
    [anon_sym_BANG] = ACTIONS(5164),
    [anon_sym_TILDE] = ACTIONS(5164),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6780] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3574),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(3575),
    [sym_call] = STATE(3575),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(3780),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3577),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3578),
    [sym__variable] = STATE(3575),
    [sym_reserved_identifier] = STATE(3579),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(3580),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(9875),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__block_ampersand] = ACTIONS(5144),
    [sym__splat_star] = ACTIONS(5146),
    [sym__unary_minus] = ACTIONS(5148),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(12718),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(5150),
    [anon_sym_yield] = ACTIONS(5152),
    [anon_sym_break] = ACTIONS(5154),
    [anon_sym_next] = ACTIONS(5156),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(9280),
    [anon_sym_defined_QMARK] = ACTIONS(5158),
    [anon_sym_not] = ACTIONS(5160),
    [anon_sym_BANG] = ACTIONS(5164),
    [anon_sym_TILDE] = ACTIONS(5164),
    [sym_constant] = ACTIONS(5166),
    [sym_identifier] = ACTIONS(5166),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6781] = {
    [sym_heredoc_end] = STATE(1444),
    [aux_sym_argument_list_repeat2] = STATE(3783),
    [sym__simple_heredoc_body] = ACTIONS(2268),
    [sym__heredoc_body_beginning] = ACTIONS(2270),
    [sym__line_break] = ACTIONS(5472),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(12720),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_SEMI] = ACTIONS(5472),
    [anon_sym_STAR_STAR] = ACTIONS(5472),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5472),
    [anon_sym_AMP_AMP] = ACTIONS(5472),
    [anon_sym_LT_LT] = ACTIONS(5472),
    [anon_sym_GT_GT] = ACTIONS(5472),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5472),
    [anon_sym_PLUS] = ACTIONS(5472),
    [anon_sym_SLASH] = ACTIONS(5472),
    [anon_sym_PERCENT] = ACTIONS(5472),
    [sym_comment] = ACTIONS(110),
  },
  [6782] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9877),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(3575),
    [sym_call] = STATE(3575),
    [sym_method_call] = STATE(338),
    [sym_splat_argument] = STATE(3785),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_right_assignment_list] = STATE(3786),
    [sym__arg_or_splat_arg] = STATE(9878),
    [sym_left_assignment_list] = STATE(3577),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3578),
    [sym__variable] = STATE(3575),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(9286),
    [sym__unary_minus] = ACTIONS(5148),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(9272),
    [anon_sym_yield] = ACTIONS(9274),
    [anon_sym_break] = ACTIONS(9276),
    [anon_sym_next] = ACTIONS(9278),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(9280),
    [anon_sym_defined_QMARK] = ACTIONS(5158),
    [anon_sym_not] = ACTIONS(9282),
    [anon_sym_BANG] = ACTIONS(5164),
    [anon_sym_TILDE] = ACTIONS(5164),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6783] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9879),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(3575),
    [sym_call] = STATE(3575),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3577),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3578),
    [sym__variable] = STATE(3575),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5148),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(9272),
    [anon_sym_yield] = ACTIONS(9274),
    [anon_sym_break] = ACTIONS(9276),
    [anon_sym_next] = ACTIONS(9278),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(9280),
    [anon_sym_defined_QMARK] = ACTIONS(5158),
    [anon_sym_not] = ACTIONS(9282),
    [anon_sym_BANG] = ACTIONS(5164),
    [anon_sym_TILDE] = ACTIONS(5164),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6784] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9880),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(6748),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6749),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(9262),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(9264),
    [anon_sym_defined_QMARK] = ACTIONS(9266),
    [anon_sym_not] = ACTIONS(9268),
    [anon_sym_BANG] = ACTIONS(9270),
    [anon_sym_TILDE] = ACTIONS(9270),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6785] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__line_break] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(5170),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_SEMI] = ACTIONS(7008),
    [anon_sym_STAR_STAR] = ACTIONS(5174),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7008),
    [anon_sym_AMP_AMP] = ACTIONS(7008),
    [anon_sym_LT_LT] = ACTIONS(7008),
    [anon_sym_GT_GT] = ACTIONS(7008),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7008),
    [anon_sym_PLUS] = ACTIONS(7008),
    [anon_sym_SLASH] = ACTIONS(5174),
    [anon_sym_PERCENT] = ACTIONS(5174),
    [sym_comment] = ACTIONS(110),
  },
  [6786] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__line_break] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_SEMI] = ACTIONS(7012),
    [anon_sym_STAR_STAR] = ACTIONS(5174),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7012),
    [anon_sym_AMP_AMP] = ACTIONS(7012),
    [anon_sym_LT_LT] = ACTIONS(7012),
    [anon_sym_GT_GT] = ACTIONS(7012),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7012),
    [anon_sym_PLUS] = ACTIONS(7012),
    [anon_sym_SLASH] = ACTIONS(7012),
    [anon_sym_PERCENT] = ACTIONS(7012),
    [sym_comment] = ACTIONS(110),
  },
  [6787] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5168),
    [sym__binary_star] = ACTIONS(5170),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(5174),
    [anon_sym_AMP] = ACTIONS(5176),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(5190),
    [anon_sym_GT_GT] = ACTIONS(5190),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(5198),
    [anon_sym_SLASH] = ACTIONS(5174),
    [anon_sym_PERCENT] = ACTIONS(5174),
    [sym_comment] = ACTIONS(110),
  },
  [6788] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(5174),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7016),
    [anon_sym_PERCENT] = ACTIONS(7016),
    [sym_comment] = ACTIONS(110),
  },
  [6789] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5168),
    [sym__binary_star] = ACTIONS(5170),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(5174),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(5190),
    [anon_sym_GT_GT] = ACTIONS(5190),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(5198),
    [anon_sym_SLASH] = ACTIONS(5174),
    [anon_sym_PERCENT] = ACTIONS(5174),
    [sym_comment] = ACTIONS(110),
  },
  [6790] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5168),
    [sym__binary_star] = ACTIONS(5170),
    [anon_sym_PIPE] = ACTIONS(5172),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(5174),
    [anon_sym_AMP] = ACTIONS(5176),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(5190),
    [anon_sym_GT_GT] = ACTIONS(5190),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(5196),
    [anon_sym_PLUS] = ACTIONS(5198),
    [anon_sym_SLASH] = ACTIONS(5174),
    [anon_sym_PERCENT] = ACTIONS(5174),
    [sym_comment] = ACTIONS(110),
  },
  [6791] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(12722),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [6792] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__line_break] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(5168),
    [sym__binary_star] = ACTIONS(5170),
    [anon_sym_PIPE] = ACTIONS(5172),
    [anon_sym_SEMI] = ACTIONS(7108),
    [anon_sym_STAR_STAR] = ACTIONS(5174),
    [anon_sym_AMP] = ACTIONS(5176),
    [anon_sym_LT] = ACTIONS(5178),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(5182),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5184),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(5188),
    [anon_sym_AMP_AMP] = ACTIONS(5188),
    [anon_sym_LT_LT] = ACTIONS(5190),
    [anon_sym_GT_GT] = ACTIONS(5190),
    [anon_sym_EQ_EQ] = ACTIONS(5192),
    [anon_sym_BANG_EQ] = ACTIONS(5188),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5188),
    [anon_sym_LT_EQ_GT] = ACTIONS(5188),
    [anon_sym_EQ_TILDE] = ACTIONS(5188),
    [anon_sym_BANG_TILDE] = ACTIONS(5188),
    [anon_sym_LT_EQ] = ACTIONS(5178),
    [anon_sym_GT] = ACTIONS(5178),
    [anon_sym_GT_EQ] = ACTIONS(5194),
    [anon_sym_CARET] = ACTIONS(5196),
    [anon_sym_PLUS] = ACTIONS(5198),
    [anon_sym_SLASH] = ACTIONS(5174),
    [anon_sym_PERCENT] = ACTIONS(5174),
    [sym_comment] = ACTIONS(110),
  },
  [6793] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5168),
    [sym__binary_star] = ACTIONS(5170),
    [anon_sym_PIPE] = ACTIONS(5172),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(5174),
    [anon_sym_AMP] = ACTIONS(5176),
    [anon_sym_LT] = ACTIONS(5178),
    [anon_sym_QMARK] = ACTIONS(5180),
    [anon_sym_DOT_DOT] = ACTIONS(5182),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5184),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(5188),
    [anon_sym_AMP_AMP] = ACTIONS(5188),
    [anon_sym_LT_LT] = ACTIONS(5190),
    [anon_sym_GT_GT] = ACTIONS(5190),
    [anon_sym_EQ_EQ] = ACTIONS(5192),
    [anon_sym_BANG_EQ] = ACTIONS(5188),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5188),
    [anon_sym_LT_EQ_GT] = ACTIONS(5188),
    [anon_sym_EQ_TILDE] = ACTIONS(5188),
    [anon_sym_BANG_TILDE] = ACTIONS(5188),
    [anon_sym_LT_EQ] = ACTIONS(5178),
    [anon_sym_GT] = ACTIONS(5178),
    [anon_sym_GT_EQ] = ACTIONS(5194),
    [anon_sym_CARET] = ACTIONS(5196),
    [anon_sym_PLUS] = ACTIONS(5198),
    [anon_sym_SLASH] = ACTIONS(5174),
    [anon_sym_PERCENT] = ACTIONS(5174),
    [sym_comment] = ACTIONS(110),
  },
  [6794] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5168),
    [sym__binary_star] = ACTIONS(5170),
    [anon_sym_PIPE] = ACTIONS(5172),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(5174),
    [anon_sym_AMP] = ACTIONS(5176),
    [anon_sym_LT] = ACTIONS(5178),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(5190),
    [anon_sym_GT_GT] = ACTIONS(5190),
    [anon_sym_EQ_EQ] = ACTIONS(5192),
    [anon_sym_BANG_EQ] = ACTIONS(5188),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5188),
    [anon_sym_LT_EQ_GT] = ACTIONS(5188),
    [anon_sym_EQ_TILDE] = ACTIONS(5188),
    [anon_sym_BANG_TILDE] = ACTIONS(5188),
    [anon_sym_LT_EQ] = ACTIONS(5178),
    [anon_sym_GT] = ACTIONS(5178),
    [anon_sym_GT_EQ] = ACTIONS(5194),
    [anon_sym_CARET] = ACTIONS(5196),
    [anon_sym_PLUS] = ACTIONS(5198),
    [anon_sym_SLASH] = ACTIONS(5174),
    [anon_sym_PERCENT] = ACTIONS(5174),
    [sym_comment] = ACTIONS(110),
  },
  [6795] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5168),
    [sym__binary_star] = ACTIONS(5170),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(5174),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(5198),
    [anon_sym_SLASH] = ACTIONS(5174),
    [anon_sym_PERCENT] = ACTIONS(5174),
    [sym_comment] = ACTIONS(110),
  },
  [6796] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(5170),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(5174),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(5174),
    [anon_sym_PERCENT] = ACTIONS(5174),
    [sym_comment] = ACTIONS(110),
  },
  [6797] = {
    [sym__simple_heredoc_body] = ACTIONS(12724),
    [sym__heredoc_body_beginning] = ACTIONS(12724),
    [sym__line_break] = ACTIONS(12724),
    [sym__element_reference_left_bracket] = ACTIONS(12724),
    [sym__scope_double_colon] = ACTIONS(12724),
    [sym__binary_minus] = ACTIONS(12724),
    [sym__binary_star] = ACTIONS(12724),
    [ts_builtin_sym_end] = ACTIONS(12724),
    [anon_sym___END__] = ACTIONS(12724),
    [anon_sym_LBRACE] = ACTIONS(12724),
    [anon_sym_RBRACE] = ACTIONS(12724),
    [anon_sym_RPAREN] = ACTIONS(12724),
    [anon_sym_DOT] = ACTIONS(12726),
    [anon_sym_end] = ACTIONS(12724),
    [anon_sym_COMMA] = ACTIONS(12724),
    [anon_sym_PIPE] = ACTIONS(12726),
    [anon_sym_SEMI] = ACTIONS(12724),
    [anon_sym_STAR_STAR] = ACTIONS(12724),
    [anon_sym_AMP] = ACTIONS(12726),
    [anon_sym_LT] = ACTIONS(12726),
    [anon_sym_if] = ACTIONS(12724),
    [anon_sym_unless] = ACTIONS(12724),
    [anon_sym_while] = ACTIONS(12724),
    [anon_sym_until] = ACTIONS(12724),
    [anon_sym_rescue] = ACTIONS(12724),
    [anon_sym_do] = ACTIONS(12724),
    [anon_sym_when] = ACTIONS(12724),
    [anon_sym_elsif] = ACTIONS(12724),
    [anon_sym_else] = ACTIONS(12724),
    [anon_sym_then] = ACTIONS(12724),
    [anon_sym_ensure] = ACTIONS(12724),
    [anon_sym_EQ_GT] = ACTIONS(12724),
    [anon_sym_AMP_DOT] = ACTIONS(12724),
    [anon_sym_QMARK] = ACTIONS(12724),
    [anon_sym_DOT_DOT] = ACTIONS(12726),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12724),
    [anon_sym_and] = ACTIONS(12724),
    [anon_sym_or] = ACTIONS(12724),
    [anon_sym_PIPE_PIPE] = ACTIONS(12724),
    [anon_sym_AMP_AMP] = ACTIONS(12724),
    [anon_sym_LT_LT] = ACTIONS(12724),
    [anon_sym_GT_GT] = ACTIONS(12724),
    [anon_sym_EQ_EQ] = ACTIONS(12726),
    [anon_sym_BANG_EQ] = ACTIONS(12724),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12724),
    [anon_sym_LT_EQ_GT] = ACTIONS(12724),
    [anon_sym_EQ_TILDE] = ACTIONS(12724),
    [anon_sym_BANG_TILDE] = ACTIONS(12724),
    [anon_sym_LT_EQ] = ACTIONS(12726),
    [anon_sym_GT] = ACTIONS(12726),
    [anon_sym_GT_EQ] = ACTIONS(12724),
    [anon_sym_CARET] = ACTIONS(12724),
    [anon_sym_PLUS] = ACTIONS(12724),
    [anon_sym_SLASH] = ACTIONS(12724),
    [anon_sym_PERCENT] = ACTIONS(12724),
    [sym_comment] = ACTIONS(110),
  },
  [6798] = {
    [anon_sym_end] = ACTIONS(12728),
    [sym_comment] = ACTIONS(110),
  },
  [6799] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9883),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(6382),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6383),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(8848),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(8850),
    [anon_sym_defined_QMARK] = ACTIONS(8852),
    [anon_sym_not] = ACTIONS(8854),
    [anon_sym_BANG] = ACTIONS(8856),
    [anon_sym_TILDE] = ACTIONS(8856),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6800] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__line_break] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(12440),
    [sym__binary_star] = ACTIONS(12442),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(12444),
    [anon_sym_SEMI] = ACTIONS(6346),
    [anon_sym_STAR_STAR] = ACTIONS(12446),
    [anon_sym_AMP] = ACTIONS(12448),
    [anon_sym_LT] = ACTIONS(12450),
    [anon_sym_QMARK] = ACTIONS(12452),
    [anon_sym_DOT_DOT] = ACTIONS(12454),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12456),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(12460),
    [anon_sym_AMP_AMP] = ACTIONS(12460),
    [anon_sym_LT_LT] = ACTIONS(12462),
    [anon_sym_GT_GT] = ACTIONS(12462),
    [anon_sym_EQ_EQ] = ACTIONS(12464),
    [anon_sym_BANG_EQ] = ACTIONS(12460),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12460),
    [anon_sym_LT_EQ_GT] = ACTIONS(12460),
    [anon_sym_EQ_TILDE] = ACTIONS(12460),
    [anon_sym_BANG_TILDE] = ACTIONS(12460),
    [anon_sym_LT_EQ] = ACTIONS(12450),
    [anon_sym_GT] = ACTIONS(12450),
    [anon_sym_GT_EQ] = ACTIONS(12466),
    [anon_sym_CARET] = ACTIONS(12468),
    [anon_sym_PLUS] = ACTIONS(12470),
    [anon_sym_SLASH] = ACTIONS(12446),
    [anon_sym_PERCENT] = ACTIONS(12446),
    [sym_comment] = ACTIONS(110),
  },
  [6801] = {
    [aux_sym_exceptions_repeat1] = STATE(9885),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__line_break] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_COMMA] = ACTIONS(12730),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_SEMI] = ACTIONS(7330),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [6802] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__line_break] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(5168),
    [sym__binary_star] = ACTIONS(5170),
    [anon_sym_PIPE] = ACTIONS(5172),
    [anon_sym_SEMI] = ACTIONS(7344),
    [anon_sym_STAR_STAR] = ACTIONS(5174),
    [anon_sym_AMP] = ACTIONS(5176),
    [anon_sym_LT] = ACTIONS(5178),
    [anon_sym_QMARK] = ACTIONS(5180),
    [anon_sym_DOT_DOT] = ACTIONS(5182),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5184),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(5188),
    [anon_sym_AMP_AMP] = ACTIONS(5188),
    [anon_sym_LT_LT] = ACTIONS(5190),
    [anon_sym_GT_GT] = ACTIONS(5190),
    [anon_sym_EQ_EQ] = ACTIONS(5192),
    [anon_sym_BANG_EQ] = ACTIONS(5188),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5188),
    [anon_sym_LT_EQ_GT] = ACTIONS(5188),
    [anon_sym_EQ_TILDE] = ACTIONS(5188),
    [anon_sym_BANG_TILDE] = ACTIONS(5188),
    [anon_sym_LT_EQ] = ACTIONS(5178),
    [anon_sym_GT] = ACTIONS(5178),
    [anon_sym_GT_EQ] = ACTIONS(5194),
    [anon_sym_CARET] = ACTIONS(5196),
    [anon_sym_PLUS] = ACTIONS(5198),
    [anon_sym_SLASH] = ACTIONS(5174),
    [anon_sym_PERCENT] = ACTIONS(5174),
    [sym_comment] = ACTIONS(110),
  },
  [6803] = {
    [sym__simple_heredoc_body] = ACTIONS(12732),
    [sym__heredoc_body_beginning] = ACTIONS(12732),
    [sym__line_break] = ACTIONS(12732),
    [sym__element_reference_left_bracket] = ACTIONS(12732),
    [sym__scope_double_colon] = ACTIONS(12732),
    [sym__binary_minus] = ACTIONS(12732),
    [sym__binary_star] = ACTIONS(12732),
    [ts_builtin_sym_end] = ACTIONS(12732),
    [anon_sym___END__] = ACTIONS(12732),
    [anon_sym_LBRACE] = ACTIONS(12732),
    [anon_sym_RBRACE] = ACTIONS(12732),
    [anon_sym_RPAREN] = ACTIONS(12732),
    [anon_sym_DOT] = ACTIONS(12734),
    [anon_sym_end] = ACTIONS(12732),
    [anon_sym_COMMA] = ACTIONS(12732),
    [anon_sym_PIPE] = ACTIONS(12734),
    [anon_sym_SEMI] = ACTIONS(12732),
    [anon_sym_STAR_STAR] = ACTIONS(12732),
    [anon_sym_AMP] = ACTIONS(12734),
    [anon_sym_LT] = ACTIONS(12734),
    [anon_sym_if] = ACTIONS(12732),
    [anon_sym_unless] = ACTIONS(12732),
    [anon_sym_while] = ACTIONS(12732),
    [anon_sym_until] = ACTIONS(12732),
    [anon_sym_rescue] = ACTIONS(12732),
    [anon_sym_do] = ACTIONS(12732),
    [anon_sym_when] = ACTIONS(12732),
    [anon_sym_elsif] = ACTIONS(12732),
    [anon_sym_else] = ACTIONS(12732),
    [anon_sym_then] = ACTIONS(12732),
    [anon_sym_ensure] = ACTIONS(12732),
    [anon_sym_EQ_GT] = ACTIONS(12732),
    [anon_sym_AMP_DOT] = ACTIONS(12732),
    [anon_sym_QMARK] = ACTIONS(12732),
    [anon_sym_DOT_DOT] = ACTIONS(12734),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12732),
    [anon_sym_and] = ACTIONS(12732),
    [anon_sym_or] = ACTIONS(12732),
    [anon_sym_PIPE_PIPE] = ACTIONS(12732),
    [anon_sym_AMP_AMP] = ACTIONS(12732),
    [anon_sym_LT_LT] = ACTIONS(12732),
    [anon_sym_GT_GT] = ACTIONS(12732),
    [anon_sym_EQ_EQ] = ACTIONS(12734),
    [anon_sym_BANG_EQ] = ACTIONS(12732),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12732),
    [anon_sym_LT_EQ_GT] = ACTIONS(12732),
    [anon_sym_EQ_TILDE] = ACTIONS(12732),
    [anon_sym_BANG_TILDE] = ACTIONS(12732),
    [anon_sym_LT_EQ] = ACTIONS(12734),
    [anon_sym_GT] = ACTIONS(12734),
    [anon_sym_GT_EQ] = ACTIONS(12732),
    [anon_sym_CARET] = ACTIONS(12732),
    [anon_sym_PLUS] = ACTIONS(12732),
    [anon_sym_SLASH] = ACTIONS(12732),
    [anon_sym_PERCENT] = ACTIONS(12732),
    [sym_comment] = ACTIONS(110),
  },
  [6804] = {
    [anon_sym_end] = ACTIONS(12736),
    [sym_comment] = ACTIONS(110),
  },
  [6805] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_LBRACE] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_STAR_STAR] = ACTIONS(9358),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_do] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [6806] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9887),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3612),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3613),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5210),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5212),
    [anon_sym_yield] = ACTIONS(5214),
    [anon_sym_break] = ACTIONS(5216),
    [anon_sym_next] = ACTIONS(5218),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5220),
    [anon_sym_defined_QMARK] = ACTIONS(5222),
    [anon_sym_not] = ACTIONS(5224),
    [anon_sym_BANG] = ACTIONS(5226),
    [anon_sym_TILDE] = ACTIONS(5226),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6807] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9888),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3612),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3613),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5210),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5212),
    [anon_sym_yield] = ACTIONS(5214),
    [anon_sym_break] = ACTIONS(5216),
    [anon_sym_next] = ACTIONS(5218),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5220),
    [anon_sym_defined_QMARK] = ACTIONS(5222),
    [anon_sym_not] = ACTIONS(5224),
    [anon_sym_BANG] = ACTIONS(5226),
    [anon_sym_TILDE] = ACTIONS(5226),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6808] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9889),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3612),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3613),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5210),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5212),
    [anon_sym_yield] = ACTIONS(5214),
    [anon_sym_break] = ACTIONS(5216),
    [anon_sym_next] = ACTIONS(5218),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5220),
    [anon_sym_defined_QMARK] = ACTIONS(5222),
    [anon_sym_not] = ACTIONS(5224),
    [anon_sym_BANG] = ACTIONS(5226),
    [anon_sym_TILDE] = ACTIONS(5226),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6809] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(12738),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [6810] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(5248),
    [sym__binary_star] = ACTIONS(5250),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(5252),
    [anon_sym_STAR_STAR] = ACTIONS(5254),
    [anon_sym_AMP] = ACTIONS(5256),
    [anon_sym_LT] = ACTIONS(5258),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(12738),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(5260),
    [anon_sym_DOT_DOT] = ACTIONS(5262),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5264),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(5268),
    [anon_sym_AMP_AMP] = ACTIONS(5268),
    [anon_sym_LT_LT] = ACTIONS(5270),
    [anon_sym_GT_GT] = ACTIONS(5270),
    [anon_sym_EQ_EQ] = ACTIONS(5272),
    [anon_sym_BANG_EQ] = ACTIONS(5268),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5268),
    [anon_sym_LT_EQ_GT] = ACTIONS(5268),
    [anon_sym_EQ_TILDE] = ACTIONS(5268),
    [anon_sym_BANG_TILDE] = ACTIONS(5268),
    [anon_sym_LT_EQ] = ACTIONS(5258),
    [anon_sym_GT] = ACTIONS(5258),
    [anon_sym_GT_EQ] = ACTIONS(5274),
    [anon_sym_CARET] = ACTIONS(5276),
    [anon_sym_PLUS] = ACTIONS(5278),
    [anon_sym_SLASH] = ACTIONS(5254),
    [anon_sym_PERCENT] = ACTIONS(5254),
    [sym_comment] = ACTIONS(110),
  },
  [6811] = {
    [sym_heredoc_end] = STATE(3004),
    [aux_sym_argument_list_repeat1] = STATE(9892),
    [aux_sym_argument_list_repeat2] = STATE(3005),
    [sym__simple_heredoc_body] = ACTIONS(4410),
    [sym__heredoc_body_beginning] = ACTIONS(4412),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(12740),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_STAR_STAR] = ACTIONS(2272),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2272),
    [anon_sym_AMP_AMP] = ACTIONS(2272),
    [anon_sym_LT_LT] = ACTIONS(2272),
    [anon_sym_GT_GT] = ACTIONS(2272),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2272),
    [anon_sym_PLUS] = ACTIONS(2272),
    [anon_sym_SLASH] = ACTIONS(2272),
    [anon_sym_PERCENT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(110),
  },
  [6812] = {
    [sym__keyword_colon] = ACTIONS(12742),
    [sym_comment] = ACTIONS(110),
  },
  [6813] = {
    [sym_string] = STATE(1962),
    [aux_sym_chained_string_repeat1] = STATE(1963),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(12738),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(1626),
  },
  [6814] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(9358),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [6815] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(9352),
    [sym__binary_star] = ACTIONS(9354),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(9356),
    [anon_sym_STAR_STAR] = ACTIONS(9358),
    [anon_sym_AMP] = ACTIONS(9360),
    [anon_sym_LT] = ACTIONS(9362),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(9364),
    [anon_sym_DOT_DOT] = ACTIONS(9366),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9368),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(9372),
    [anon_sym_AMP_AMP] = ACTIONS(9372),
    [anon_sym_LT_LT] = ACTIONS(9374),
    [anon_sym_GT_GT] = ACTIONS(9374),
    [anon_sym_EQ_EQ] = ACTIONS(9376),
    [anon_sym_BANG_EQ] = ACTIONS(9372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9372),
    [anon_sym_LT_EQ_GT] = ACTIONS(9372),
    [anon_sym_EQ_TILDE] = ACTIONS(9372),
    [anon_sym_BANG_TILDE] = ACTIONS(9372),
    [anon_sym_LT_EQ] = ACTIONS(9362),
    [anon_sym_GT] = ACTIONS(9362),
    [anon_sym_GT_EQ] = ACTIONS(9378),
    [anon_sym_CARET] = ACTIONS(9380),
    [anon_sym_PLUS] = ACTIONS(9382),
    [anon_sym_SLASH] = ACTIONS(9358),
    [anon_sym_PERCENT] = ACTIONS(9358),
    [sym_comment] = ACTIONS(110),
  },
  [6816] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9894),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3612),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3613),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5210),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5212),
    [anon_sym_yield] = ACTIONS(5214),
    [anon_sym_break] = ACTIONS(5216),
    [anon_sym_next] = ACTIONS(5218),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5220),
    [anon_sym_defined_QMARK] = ACTIONS(5222),
    [anon_sym_not] = ACTIONS(5224),
    [anon_sym_BANG] = ACTIONS(5226),
    [anon_sym_TILDE] = ACTIONS(5226),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6817] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9895),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3612),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3613),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5210),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5212),
    [anon_sym_yield] = ACTIONS(5214),
    [anon_sym_break] = ACTIONS(5216),
    [anon_sym_next] = ACTIONS(5218),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5220),
    [anon_sym_defined_QMARK] = ACTIONS(5222),
    [anon_sym_not] = ACTIONS(5224),
    [anon_sym_BANG] = ACTIONS(5226),
    [anon_sym_TILDE] = ACTIONS(5226),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6818] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9896),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3612),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3613),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5210),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5212),
    [anon_sym_yield] = ACTIONS(5214),
    [anon_sym_break] = ACTIONS(5216),
    [anon_sym_next] = ACTIONS(5218),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5220),
    [anon_sym_defined_QMARK] = ACTIONS(5222),
    [anon_sym_not] = ACTIONS(5224),
    [anon_sym_BANG] = ACTIONS(5226),
    [anon_sym_TILDE] = ACTIONS(5226),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6819] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9897),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3612),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3613),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5210),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5212),
    [anon_sym_yield] = ACTIONS(5214),
    [anon_sym_break] = ACTIONS(5216),
    [anon_sym_next] = ACTIONS(5218),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5220),
    [anon_sym_defined_QMARK] = ACTIONS(5222),
    [anon_sym_not] = ACTIONS(5224),
    [anon_sym_BANG] = ACTIONS(5226),
    [anon_sym_TILDE] = ACTIONS(5226),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6820] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9898),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3612),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3613),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5210),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5212),
    [anon_sym_yield] = ACTIONS(5214),
    [anon_sym_break] = ACTIONS(5216),
    [anon_sym_next] = ACTIONS(5218),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5220),
    [anon_sym_defined_QMARK] = ACTIONS(5222),
    [anon_sym_not] = ACTIONS(5224),
    [anon_sym_BANG] = ACTIONS(5226),
    [anon_sym_TILDE] = ACTIONS(5226),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6821] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9899),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3612),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3613),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5210),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5212),
    [anon_sym_yield] = ACTIONS(5214),
    [anon_sym_break] = ACTIONS(5216),
    [anon_sym_next] = ACTIONS(5218),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5220),
    [anon_sym_defined_QMARK] = ACTIONS(5222),
    [anon_sym_not] = ACTIONS(5224),
    [anon_sym_BANG] = ACTIONS(5226),
    [anon_sym_TILDE] = ACTIONS(5226),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6822] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(9900),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [6823] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9901),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3612),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3613),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5210),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5212),
    [anon_sym_yield] = ACTIONS(5214),
    [anon_sym_break] = ACTIONS(5216),
    [anon_sym_next] = ACTIONS(5218),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5220),
    [anon_sym_defined_QMARK] = ACTIONS(5222),
    [anon_sym_not] = ACTIONS(5224),
    [anon_sym_BANG] = ACTIONS(5226),
    [anon_sym_TILDE] = ACTIONS(5226),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6824] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9902),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3612),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3613),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5210),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5212),
    [anon_sym_yield] = ACTIONS(5214),
    [anon_sym_break] = ACTIONS(5216),
    [anon_sym_next] = ACTIONS(5218),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5220),
    [anon_sym_defined_QMARK] = ACTIONS(5222),
    [anon_sym_not] = ACTIONS(5224),
    [anon_sym_BANG] = ACTIONS(5226),
    [anon_sym_TILDE] = ACTIONS(5226),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6825] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9903),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3612),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3613),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5210),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5212),
    [anon_sym_yield] = ACTIONS(5214),
    [anon_sym_break] = ACTIONS(5216),
    [anon_sym_next] = ACTIONS(5218),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5220),
    [anon_sym_defined_QMARK] = ACTIONS(5222),
    [anon_sym_not] = ACTIONS(5224),
    [anon_sym_BANG] = ACTIONS(5226),
    [anon_sym_TILDE] = ACTIONS(5226),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6826] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9904),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3612),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3613),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5210),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5212),
    [anon_sym_yield] = ACTIONS(5214),
    [anon_sym_break] = ACTIONS(5216),
    [anon_sym_next] = ACTIONS(5218),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5220),
    [anon_sym_defined_QMARK] = ACTIONS(5222),
    [anon_sym_not] = ACTIONS(5224),
    [anon_sym_BANG] = ACTIONS(5226),
    [anon_sym_TILDE] = ACTIONS(5226),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6827] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9905),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3612),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3613),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5210),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5212),
    [anon_sym_yield] = ACTIONS(5214),
    [anon_sym_break] = ACTIONS(5216),
    [anon_sym_next] = ACTIONS(5218),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5220),
    [anon_sym_defined_QMARK] = ACTIONS(5222),
    [anon_sym_not] = ACTIONS(5224),
    [anon_sym_BANG] = ACTIONS(5226),
    [anon_sym_TILDE] = ACTIONS(5226),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6828] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9906),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_splat_argument] = STATE(6132),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_right_assignment_list] = STATE(6133),
    [sym__arg_or_splat_arg] = STATE(9907),
    [sym_left_assignment_list] = STATE(3612),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3613),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__splat_star] = ACTIONS(9348),
    [sym__unary_minus] = ACTIONS(5210),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5212),
    [anon_sym_yield] = ACTIONS(5214),
    [anon_sym_break] = ACTIONS(5216),
    [anon_sym_next] = ACTIONS(5218),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5220),
    [anon_sym_defined_QMARK] = ACTIONS(5222),
    [anon_sym_not] = ACTIONS(5224),
    [anon_sym_BANG] = ACTIONS(5226),
    [anon_sym_TILDE] = ACTIONS(5226),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6829] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9908),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3612),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3613),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5210),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5212),
    [anon_sym_yield] = ACTIONS(5214),
    [anon_sym_break] = ACTIONS(5216),
    [anon_sym_next] = ACTIONS(5218),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5220),
    [anon_sym_defined_QMARK] = ACTIONS(5222),
    [anon_sym_not] = ACTIONS(5224),
    [anon_sym_BANG] = ACTIONS(5226),
    [anon_sym_TILDE] = ACTIONS(5226),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6830] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(5248),
    [sym__binary_star] = ACTIONS(5250),
    [anon_sym_LBRACE] = ACTIONS(5298),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(5252),
    [anon_sym_STAR_STAR] = ACTIONS(5254),
    [anon_sym_AMP] = ACTIONS(5256),
    [anon_sym_LT] = ACTIONS(5258),
    [anon_sym_do] = ACTIONS(5298),
    [anon_sym_EQ_GT] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(5260),
    [anon_sym_DOT_DOT] = ACTIONS(5262),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5264),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(5268),
    [anon_sym_AMP_AMP] = ACTIONS(5268),
    [anon_sym_LT_LT] = ACTIONS(5270),
    [anon_sym_GT_GT] = ACTIONS(5270),
    [anon_sym_EQ_EQ] = ACTIONS(5272),
    [anon_sym_BANG_EQ] = ACTIONS(5268),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5268),
    [anon_sym_LT_EQ_GT] = ACTIONS(5268),
    [anon_sym_EQ_TILDE] = ACTIONS(5268),
    [anon_sym_BANG_TILDE] = ACTIONS(5268),
    [anon_sym_LT_EQ] = ACTIONS(5258),
    [anon_sym_GT] = ACTIONS(5258),
    [anon_sym_GT_EQ] = ACTIONS(5274),
    [anon_sym_CARET] = ACTIONS(5276),
    [anon_sym_PLUS] = ACTIONS(5278),
    [anon_sym_SLASH] = ACTIONS(5254),
    [anon_sym_PERCENT] = ACTIONS(5254),
    [sym_comment] = ACTIONS(110),
  },
  [6831] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(5248),
    [sym__binary_star] = ACTIONS(5250),
    [anon_sym_LBRACE] = ACTIONS(5338),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(5252),
    [anon_sym_STAR_STAR] = ACTIONS(5254),
    [anon_sym_AMP] = ACTIONS(5256),
    [anon_sym_LT] = ACTIONS(5258),
    [anon_sym_do] = ACTIONS(5338),
    [anon_sym_EQ_GT] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(5260),
    [anon_sym_DOT_DOT] = ACTIONS(5262),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5264),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(5268),
    [anon_sym_AMP_AMP] = ACTIONS(5268),
    [anon_sym_LT_LT] = ACTIONS(5270),
    [anon_sym_GT_GT] = ACTIONS(5270),
    [anon_sym_EQ_EQ] = ACTIONS(5272),
    [anon_sym_BANG_EQ] = ACTIONS(5268),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5268),
    [anon_sym_LT_EQ_GT] = ACTIONS(5268),
    [anon_sym_EQ_TILDE] = ACTIONS(5268),
    [anon_sym_BANG_TILDE] = ACTIONS(5268),
    [anon_sym_LT_EQ] = ACTIONS(5258),
    [anon_sym_GT] = ACTIONS(5258),
    [anon_sym_GT_EQ] = ACTIONS(5274),
    [anon_sym_CARET] = ACTIONS(5276),
    [anon_sym_PLUS] = ACTIONS(5278),
    [anon_sym_SLASH] = ACTIONS(5254),
    [anon_sym_PERCENT] = ACTIONS(5254),
    [sym_comment] = ACTIONS(110),
  },
  [6832] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(5248),
    [sym__binary_star] = ACTIONS(5250),
    [anon_sym_LBRACE] = ACTIONS(4284),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(5252),
    [anon_sym_STAR_STAR] = ACTIONS(5254),
    [anon_sym_AMP] = ACTIONS(5256),
    [anon_sym_LT] = ACTIONS(5258),
    [anon_sym_do] = ACTIONS(4284),
    [anon_sym_EQ_GT] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(5260),
    [anon_sym_DOT_DOT] = ACTIONS(5262),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5264),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(5268),
    [anon_sym_AMP_AMP] = ACTIONS(5268),
    [anon_sym_LT_LT] = ACTIONS(5270),
    [anon_sym_GT_GT] = ACTIONS(5270),
    [anon_sym_EQ_EQ] = ACTIONS(5272),
    [anon_sym_BANG_EQ] = ACTIONS(5268),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5268),
    [anon_sym_LT_EQ_GT] = ACTIONS(5268),
    [anon_sym_EQ_TILDE] = ACTIONS(5268),
    [anon_sym_BANG_TILDE] = ACTIONS(5268),
    [anon_sym_LT_EQ] = ACTIONS(5258),
    [anon_sym_GT] = ACTIONS(5258),
    [anon_sym_GT_EQ] = ACTIONS(5274),
    [anon_sym_CARET] = ACTIONS(5276),
    [anon_sym_PLUS] = ACTIONS(5278),
    [anon_sym_SLASH] = ACTIONS(5254),
    [anon_sym_PERCENT] = ACTIONS(5254),
    [sym_comment] = ACTIONS(110),
  },
  [6833] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9909),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5228),
    [anon_sym_yield] = ACTIONS(5230),
    [anon_sym_break] = ACTIONS(5232),
    [anon_sym_next] = ACTIONS(5234),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(5236),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6834] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3625),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(6127),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(3627),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(3628),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(9910),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(5238),
    [sym__splat_star] = ACTIONS(5240),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(12744),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(5244),
    [sym_identifier] = ACTIONS(5244),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6835] = {
    [sym_heredoc_end] = STATE(3004),
    [aux_sym_argument_list_repeat2] = STATE(6130),
    [sym__simple_heredoc_body] = ACTIONS(4410),
    [sym__heredoc_body_beginning] = ACTIONS(4412),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_LBRACE] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(12746),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_STAR_STAR] = ACTIONS(5472),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_do] = ACTIONS(5472),
    [anon_sym_EQ_GT] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5472),
    [anon_sym_AMP_AMP] = ACTIONS(5472),
    [anon_sym_LT_LT] = ACTIONS(5472),
    [anon_sym_GT_GT] = ACTIONS(5472),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5472),
    [anon_sym_PLUS] = ACTIONS(5472),
    [anon_sym_SLASH] = ACTIONS(5472),
    [anon_sym_PERCENT] = ACTIONS(5472),
    [sym_comment] = ACTIONS(110),
  },
  [6836] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9912),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5228),
    [anon_sym_yield] = ACTIONS(5230),
    [anon_sym_break] = ACTIONS(5232),
    [anon_sym_next] = ACTIONS(5234),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(5236),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6837] = {
    [sym__simple_heredoc_body] = ACTIONS(8568),
    [sym__heredoc_body_beginning] = ACTIONS(8568),
    [sym__element_reference_left_bracket] = ACTIONS(8568),
    [sym__scope_double_colon] = ACTIONS(8568),
    [sym__binary_minus] = ACTIONS(9352),
    [sym__binary_star] = ACTIONS(9354),
    [anon_sym_LBRACE] = ACTIONS(8568),
    [anon_sym_DOT] = ACTIONS(9468),
    [anon_sym_COMMA] = ACTIONS(8568),
    [anon_sym_PIPE] = ACTIONS(9356),
    [anon_sym_STAR_STAR] = ACTIONS(9358),
    [anon_sym_AMP] = ACTIONS(9360),
    [anon_sym_LT] = ACTIONS(9362),
    [anon_sym_do] = ACTIONS(8568),
    [anon_sym_AMP_DOT] = ACTIONS(8568),
    [anon_sym_QMARK] = ACTIONS(9364),
    [anon_sym_DOT_DOT] = ACTIONS(9366),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9368),
    [anon_sym_and] = ACTIONS(9370),
    [anon_sym_or] = ACTIONS(9370),
    [anon_sym_PIPE_PIPE] = ACTIONS(9372),
    [anon_sym_AMP_AMP] = ACTIONS(9372),
    [anon_sym_LT_LT] = ACTIONS(9374),
    [anon_sym_GT_GT] = ACTIONS(9374),
    [anon_sym_EQ_EQ] = ACTIONS(9376),
    [anon_sym_BANG_EQ] = ACTIONS(9372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9372),
    [anon_sym_LT_EQ_GT] = ACTIONS(9372),
    [anon_sym_EQ_TILDE] = ACTIONS(9372),
    [anon_sym_BANG_TILDE] = ACTIONS(9372),
    [anon_sym_LT_EQ] = ACTIONS(9362),
    [anon_sym_GT] = ACTIONS(9362),
    [anon_sym_GT_EQ] = ACTIONS(9378),
    [anon_sym_CARET] = ACTIONS(9380),
    [anon_sym_PLUS] = ACTIONS(9382),
    [anon_sym_SLASH] = ACTIONS(9358),
    [anon_sym_PERCENT] = ACTIONS(9358),
    [sym_comment] = ACTIONS(110),
  },
  [6838] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__element_reference_left_bracket] = ACTIONS(7008),
    [sym__scope_double_colon] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(5250),
    [anon_sym_LBRACE] = ACTIONS(7008),
    [anon_sym_DOT] = ACTIONS(7010),
    [anon_sym_COMMA] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_STAR_STAR] = ACTIONS(5254),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_do] = ACTIONS(7008),
    [anon_sym_EQ_GT] = ACTIONS(7008),
    [anon_sym_AMP_DOT] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7008),
    [anon_sym_AMP_AMP] = ACTIONS(7008),
    [anon_sym_LT_LT] = ACTIONS(7008),
    [anon_sym_GT_GT] = ACTIONS(7008),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7008),
    [anon_sym_PLUS] = ACTIONS(7008),
    [anon_sym_SLASH] = ACTIONS(5254),
    [anon_sym_PERCENT] = ACTIONS(5254),
    [sym_comment] = ACTIONS(110),
  },
  [6839] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__element_reference_left_bracket] = ACTIONS(7012),
    [sym__scope_double_colon] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_LBRACE] = ACTIONS(7012),
    [anon_sym_DOT] = ACTIONS(7014),
    [anon_sym_COMMA] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_STAR_STAR] = ACTIONS(5254),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_do] = ACTIONS(7012),
    [anon_sym_EQ_GT] = ACTIONS(7012),
    [anon_sym_AMP_DOT] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7012),
    [anon_sym_AMP_AMP] = ACTIONS(7012),
    [anon_sym_LT_LT] = ACTIONS(7012),
    [anon_sym_GT_GT] = ACTIONS(7012),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7012),
    [anon_sym_PLUS] = ACTIONS(7012),
    [anon_sym_SLASH] = ACTIONS(7012),
    [anon_sym_PERCENT] = ACTIONS(7012),
    [sym_comment] = ACTIONS(110),
  },
  [6840] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5248),
    [sym__binary_star] = ACTIONS(5250),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(5254),
    [anon_sym_AMP] = ACTIONS(5256),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(5270),
    [anon_sym_GT_GT] = ACTIONS(5270),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(5278),
    [anon_sym_SLASH] = ACTIONS(5254),
    [anon_sym_PERCENT] = ACTIONS(5254),
    [sym_comment] = ACTIONS(110),
  },
  [6841] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(5254),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7016),
    [anon_sym_PERCENT] = ACTIONS(7016),
    [sym_comment] = ACTIONS(110),
  },
  [6842] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5248),
    [sym__binary_star] = ACTIONS(5250),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(5254),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(5270),
    [anon_sym_GT_GT] = ACTIONS(5270),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(5278),
    [anon_sym_SLASH] = ACTIONS(5254),
    [anon_sym_PERCENT] = ACTIONS(5254),
    [sym_comment] = ACTIONS(110),
  },
  [6843] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5248),
    [sym__binary_star] = ACTIONS(5250),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(5252),
    [anon_sym_STAR_STAR] = ACTIONS(5254),
    [anon_sym_AMP] = ACTIONS(5256),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(5270),
    [anon_sym_GT_GT] = ACTIONS(5270),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(5276),
    [anon_sym_PLUS] = ACTIONS(5278),
    [anon_sym_SLASH] = ACTIONS(5254),
    [anon_sym_PERCENT] = ACTIONS(5254),
    [sym_comment] = ACTIONS(110),
  },
  [6844] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(12748),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [6845] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__element_reference_left_bracket] = ACTIONS(7108),
    [sym__scope_double_colon] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(5248),
    [sym__binary_star] = ACTIONS(5250),
    [anon_sym_LBRACE] = ACTIONS(7108),
    [anon_sym_DOT] = ACTIONS(9472),
    [anon_sym_COMMA] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(5252),
    [anon_sym_STAR_STAR] = ACTIONS(5254),
    [anon_sym_AMP] = ACTIONS(5256),
    [anon_sym_LT] = ACTIONS(5258),
    [anon_sym_do] = ACTIONS(7108),
    [anon_sym_EQ_GT] = ACTIONS(7108),
    [anon_sym_AMP_DOT] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(5262),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5264),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(5268),
    [anon_sym_AMP_AMP] = ACTIONS(5268),
    [anon_sym_LT_LT] = ACTIONS(5270),
    [anon_sym_GT_GT] = ACTIONS(5270),
    [anon_sym_EQ_EQ] = ACTIONS(5272),
    [anon_sym_BANG_EQ] = ACTIONS(5268),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5268),
    [anon_sym_LT_EQ_GT] = ACTIONS(5268),
    [anon_sym_EQ_TILDE] = ACTIONS(5268),
    [anon_sym_BANG_TILDE] = ACTIONS(5268),
    [anon_sym_LT_EQ] = ACTIONS(5258),
    [anon_sym_GT] = ACTIONS(5258),
    [anon_sym_GT_EQ] = ACTIONS(5274),
    [anon_sym_CARET] = ACTIONS(5276),
    [anon_sym_PLUS] = ACTIONS(5278),
    [anon_sym_SLASH] = ACTIONS(5254),
    [anon_sym_PERCENT] = ACTIONS(5254),
    [sym_comment] = ACTIONS(110),
  },
  [6846] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5248),
    [sym__binary_star] = ACTIONS(5250),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(5252),
    [anon_sym_STAR_STAR] = ACTIONS(5254),
    [anon_sym_AMP] = ACTIONS(5256),
    [anon_sym_LT] = ACTIONS(5258),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(5260),
    [anon_sym_DOT_DOT] = ACTIONS(5262),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5264),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(5268),
    [anon_sym_AMP_AMP] = ACTIONS(5268),
    [anon_sym_LT_LT] = ACTIONS(5270),
    [anon_sym_GT_GT] = ACTIONS(5270),
    [anon_sym_EQ_EQ] = ACTIONS(5272),
    [anon_sym_BANG_EQ] = ACTIONS(5268),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5268),
    [anon_sym_LT_EQ_GT] = ACTIONS(5268),
    [anon_sym_EQ_TILDE] = ACTIONS(5268),
    [anon_sym_BANG_TILDE] = ACTIONS(5268),
    [anon_sym_LT_EQ] = ACTIONS(5258),
    [anon_sym_GT] = ACTIONS(5258),
    [anon_sym_GT_EQ] = ACTIONS(5274),
    [anon_sym_CARET] = ACTIONS(5276),
    [anon_sym_PLUS] = ACTIONS(5278),
    [anon_sym_SLASH] = ACTIONS(5254),
    [anon_sym_PERCENT] = ACTIONS(5254),
    [sym_comment] = ACTIONS(110),
  },
  [6847] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5248),
    [sym__binary_star] = ACTIONS(5250),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(5252),
    [anon_sym_STAR_STAR] = ACTIONS(5254),
    [anon_sym_AMP] = ACTIONS(5256),
    [anon_sym_LT] = ACTIONS(5258),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(5270),
    [anon_sym_GT_GT] = ACTIONS(5270),
    [anon_sym_EQ_EQ] = ACTIONS(5272),
    [anon_sym_BANG_EQ] = ACTIONS(5268),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5268),
    [anon_sym_LT_EQ_GT] = ACTIONS(5268),
    [anon_sym_EQ_TILDE] = ACTIONS(5268),
    [anon_sym_BANG_TILDE] = ACTIONS(5268),
    [anon_sym_LT_EQ] = ACTIONS(5258),
    [anon_sym_GT] = ACTIONS(5258),
    [anon_sym_GT_EQ] = ACTIONS(5274),
    [anon_sym_CARET] = ACTIONS(5276),
    [anon_sym_PLUS] = ACTIONS(5278),
    [anon_sym_SLASH] = ACTIONS(5254),
    [anon_sym_PERCENT] = ACTIONS(5254),
    [sym_comment] = ACTIONS(110),
  },
  [6848] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5248),
    [sym__binary_star] = ACTIONS(5250),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(5254),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(5278),
    [anon_sym_SLASH] = ACTIONS(5254),
    [anon_sym_PERCENT] = ACTIONS(5254),
    [sym_comment] = ACTIONS(110),
  },
  [6849] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(5250),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(5254),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(5254),
    [anon_sym_PERCENT] = ACTIONS(5254),
    [sym_comment] = ACTIONS(110),
  },
  [6850] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1349),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(9738),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1353),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1354),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(2114),
    [sym__splat_star] = ACTIONS(2116),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2120),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2138),
    [sym_identifier] = ACTIONS(2138),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6851] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1349),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(9738),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1353),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1354),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(9914),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(2114),
    [sym__splat_star] = ACTIONS(2116),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2120),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2138),
    [sym_identifier] = ACTIONS(2138),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6852] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__element_reference_left_bracket] = ACTIONS(6346),
    [sym__scope_double_colon] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(5248),
    [sym__binary_star] = ACTIONS(5250),
    [anon_sym_LBRACE] = ACTIONS(6346),
    [anon_sym_DOT] = ACTIONS(7328),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(5252),
    [anon_sym_STAR_STAR] = ACTIONS(5254),
    [anon_sym_AMP] = ACTIONS(5256),
    [anon_sym_LT] = ACTIONS(5258),
    [anon_sym_do] = ACTIONS(6346),
    [anon_sym_EQ_GT] = ACTIONS(6346),
    [anon_sym_AMP_DOT] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(5260),
    [anon_sym_DOT_DOT] = ACTIONS(5262),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5264),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(5268),
    [anon_sym_AMP_AMP] = ACTIONS(5268),
    [anon_sym_LT_LT] = ACTIONS(5270),
    [anon_sym_GT_GT] = ACTIONS(5270),
    [anon_sym_EQ_EQ] = ACTIONS(5272),
    [anon_sym_BANG_EQ] = ACTIONS(5268),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5268),
    [anon_sym_LT_EQ_GT] = ACTIONS(5268),
    [anon_sym_EQ_TILDE] = ACTIONS(5268),
    [anon_sym_BANG_TILDE] = ACTIONS(5268),
    [anon_sym_LT_EQ] = ACTIONS(5258),
    [anon_sym_GT] = ACTIONS(5258),
    [anon_sym_GT_EQ] = ACTIONS(5274),
    [anon_sym_CARET] = ACTIONS(5276),
    [anon_sym_PLUS] = ACTIONS(5278),
    [anon_sym_SLASH] = ACTIONS(5254),
    [anon_sym_PERCENT] = ACTIONS(5254),
    [sym_comment] = ACTIONS(110),
  },
  [6853] = {
    [aux_sym_exceptions_repeat1] = STATE(9916),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__element_reference_left_bracket] = ACTIONS(7330),
    [sym__scope_double_colon] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_LBRACE] = ACTIONS(7330),
    [anon_sym_DOT] = ACTIONS(7332),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_do] = ACTIONS(7330),
    [anon_sym_EQ_GT] = ACTIONS(7330),
    [anon_sym_AMP_DOT] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [6854] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__element_reference_left_bracket] = ACTIONS(7344),
    [sym__scope_double_colon] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(5248),
    [sym__binary_star] = ACTIONS(5250),
    [anon_sym_LBRACE] = ACTIONS(7344),
    [anon_sym_DOT] = ACTIONS(9504),
    [anon_sym_COMMA] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(5252),
    [anon_sym_STAR_STAR] = ACTIONS(5254),
    [anon_sym_AMP] = ACTIONS(5256),
    [anon_sym_LT] = ACTIONS(5258),
    [anon_sym_do] = ACTIONS(7344),
    [anon_sym_EQ_GT] = ACTIONS(7344),
    [anon_sym_AMP_DOT] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(5260),
    [anon_sym_DOT_DOT] = ACTIONS(5262),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5264),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(5268),
    [anon_sym_AMP_AMP] = ACTIONS(5268),
    [anon_sym_LT_LT] = ACTIONS(5270),
    [anon_sym_GT_GT] = ACTIONS(5270),
    [anon_sym_EQ_EQ] = ACTIONS(5272),
    [anon_sym_BANG_EQ] = ACTIONS(5268),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5268),
    [anon_sym_LT_EQ_GT] = ACTIONS(5268),
    [anon_sym_EQ_TILDE] = ACTIONS(5268),
    [anon_sym_BANG_TILDE] = ACTIONS(5268),
    [anon_sym_LT_EQ] = ACTIONS(5258),
    [anon_sym_GT] = ACTIONS(5258),
    [anon_sym_GT_EQ] = ACTIONS(5274),
    [anon_sym_CARET] = ACTIONS(5276),
    [anon_sym_PLUS] = ACTIONS(5278),
    [anon_sym_SLASH] = ACTIONS(5254),
    [anon_sym_PERCENT] = ACTIONS(5254),
    [sym_comment] = ACTIONS(110),
  },
  [6855] = {
    [sym__simple_heredoc_body] = ACTIONS(8662),
    [sym__heredoc_body_beginning] = ACTIONS(8662),
    [sym__element_reference_left_bracket] = ACTIONS(8662),
    [sym__scope_double_colon] = ACTIONS(8662),
    [sym__binary_minus] = ACTIONS(9352),
    [sym__binary_star] = ACTIONS(9354),
    [anon_sym_LBRACE] = ACTIONS(8662),
    [anon_sym_DOT] = ACTIONS(9506),
    [anon_sym_COMMA] = ACTIONS(8662),
    [anon_sym_PIPE] = ACTIONS(9356),
    [anon_sym_STAR_STAR] = ACTIONS(9358),
    [anon_sym_AMP] = ACTIONS(9360),
    [anon_sym_LT] = ACTIONS(9362),
    [anon_sym_do] = ACTIONS(8662),
    [anon_sym_AMP_DOT] = ACTIONS(8662),
    [anon_sym_QMARK] = ACTIONS(9364),
    [anon_sym_DOT_DOT] = ACTIONS(9366),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9368),
    [anon_sym_and] = ACTIONS(9370),
    [anon_sym_or] = ACTIONS(9370),
    [anon_sym_PIPE_PIPE] = ACTIONS(9372),
    [anon_sym_AMP_AMP] = ACTIONS(9372),
    [anon_sym_LT_LT] = ACTIONS(9374),
    [anon_sym_GT_GT] = ACTIONS(9374),
    [anon_sym_EQ_EQ] = ACTIONS(9376),
    [anon_sym_BANG_EQ] = ACTIONS(9372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9372),
    [anon_sym_LT_EQ_GT] = ACTIONS(9372),
    [anon_sym_EQ_TILDE] = ACTIONS(9372),
    [anon_sym_BANG_TILDE] = ACTIONS(9372),
    [anon_sym_LT_EQ] = ACTIONS(9362),
    [anon_sym_GT] = ACTIONS(9362),
    [anon_sym_GT_EQ] = ACTIONS(9378),
    [anon_sym_CARET] = ACTIONS(9380),
    [anon_sym_PLUS] = ACTIONS(9382),
    [anon_sym_SLASH] = ACTIONS(9358),
    [anon_sym_PERCENT] = ACTIONS(9358),
    [sym_comment] = ACTIONS(110),
  },
  [6856] = {
    [sym__simple_heredoc_body] = ACTIONS(12750),
    [sym__heredoc_body_beginning] = ACTIONS(12750),
    [sym__line_break] = ACTIONS(12750),
    [sym__element_reference_left_bracket] = ACTIONS(12750),
    [sym__scope_double_colon] = ACTIONS(12750),
    [sym__binary_minus] = ACTIONS(12750),
    [sym__binary_star] = ACTIONS(12750),
    [ts_builtin_sym_end] = ACTIONS(12750),
    [anon_sym___END__] = ACTIONS(12750),
    [anon_sym_LBRACE] = ACTIONS(12750),
    [anon_sym_RBRACE] = ACTIONS(12750),
    [anon_sym_RPAREN] = ACTIONS(12750),
    [anon_sym_DOT] = ACTIONS(12752),
    [anon_sym_end] = ACTIONS(12750),
    [anon_sym_COMMA] = ACTIONS(12750),
    [anon_sym_PIPE] = ACTIONS(12752),
    [anon_sym_SEMI] = ACTIONS(12750),
    [anon_sym_STAR_STAR] = ACTIONS(12750),
    [anon_sym_AMP] = ACTIONS(12752),
    [anon_sym_LT] = ACTIONS(12752),
    [anon_sym_if] = ACTIONS(12750),
    [anon_sym_unless] = ACTIONS(12750),
    [anon_sym_while] = ACTIONS(12750),
    [anon_sym_until] = ACTIONS(12750),
    [anon_sym_rescue] = ACTIONS(12750),
    [anon_sym_do] = ACTIONS(12750),
    [anon_sym_when] = ACTIONS(12750),
    [anon_sym_elsif] = ACTIONS(12750),
    [anon_sym_else] = ACTIONS(12750),
    [anon_sym_then] = ACTIONS(12750),
    [anon_sym_ensure] = ACTIONS(12750),
    [anon_sym_EQ_GT] = ACTIONS(12750),
    [anon_sym_AMP_DOT] = ACTIONS(12750),
    [anon_sym_QMARK] = ACTIONS(12750),
    [anon_sym_DOT_DOT] = ACTIONS(12752),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12750),
    [anon_sym_and] = ACTIONS(12750),
    [anon_sym_or] = ACTIONS(12750),
    [anon_sym_PIPE_PIPE] = ACTIONS(12750),
    [anon_sym_AMP_AMP] = ACTIONS(12750),
    [anon_sym_LT_LT] = ACTIONS(12750),
    [anon_sym_GT_GT] = ACTIONS(12750),
    [anon_sym_EQ_EQ] = ACTIONS(12752),
    [anon_sym_BANG_EQ] = ACTIONS(12750),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12750),
    [anon_sym_LT_EQ_GT] = ACTIONS(12750),
    [anon_sym_EQ_TILDE] = ACTIONS(12750),
    [anon_sym_BANG_TILDE] = ACTIONS(12750),
    [anon_sym_LT_EQ] = ACTIONS(12752),
    [anon_sym_GT] = ACTIONS(12752),
    [anon_sym_GT_EQ] = ACTIONS(12750),
    [anon_sym_CARET] = ACTIONS(12750),
    [anon_sym_PLUS] = ACTIONS(12750),
    [anon_sym_SLASH] = ACTIONS(12750),
    [anon_sym_PERCENT] = ACTIONS(12750),
    [sym_comment] = ACTIONS(110),
  },
  [6857] = {
    [sym__simple_string] = ACTIONS(7678),
    [sym__simple_heredoc_body] = ACTIONS(7678),
    [sym__string_beginning] = ACTIONS(7678),
    [sym__heredoc_body_beginning] = ACTIONS(7678),
    [sym__line_break] = ACTIONS(7678),
    [sym__element_reference_left_bracket] = ACTIONS(7678),
    [sym__scope_double_colon] = ACTIONS(7678),
    [sym__keyword_colon] = ACTIONS(7678),
    [sym__binary_minus] = ACTIONS(7678),
    [sym__binary_star] = ACTIONS(7678),
    [ts_builtin_sym_end] = ACTIONS(7678),
    [anon_sym___END__] = ACTIONS(7678),
    [anon_sym_LBRACE] = ACTIONS(7678),
    [anon_sym_RBRACE] = ACTIONS(7678),
    [anon_sym_RPAREN] = ACTIONS(7678),
    [anon_sym_DOT] = ACTIONS(7680),
    [anon_sym_end] = ACTIONS(7678),
    [anon_sym_COMMA] = ACTIONS(7678),
    [anon_sym_PIPE] = ACTIONS(7680),
    [anon_sym_SEMI] = ACTIONS(7678),
    [anon_sym_STAR_STAR] = ACTIONS(7678),
    [anon_sym_AMP] = ACTIONS(7680),
    [anon_sym_LT] = ACTIONS(7680),
    [anon_sym_if] = ACTIONS(7678),
    [anon_sym_unless] = ACTIONS(7678),
    [anon_sym_while] = ACTIONS(7678),
    [anon_sym_until] = ACTIONS(7678),
    [anon_sym_rescue] = ACTIONS(7678),
    [anon_sym_do] = ACTIONS(7678),
    [anon_sym_when] = ACTIONS(7678),
    [anon_sym_elsif] = ACTIONS(7678),
    [anon_sym_else] = ACTIONS(7678),
    [anon_sym_then] = ACTIONS(7678),
    [anon_sym_ensure] = ACTIONS(7678),
    [anon_sym_EQ_GT] = ACTIONS(7678),
    [anon_sym_AMP_DOT] = ACTIONS(7678),
    [anon_sym_QMARK] = ACTIONS(7680),
    [anon_sym_DOT_DOT] = ACTIONS(7680),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7678),
    [anon_sym_and] = ACTIONS(7678),
    [anon_sym_or] = ACTIONS(7678),
    [anon_sym_PIPE_PIPE] = ACTIONS(7678),
    [anon_sym_AMP_AMP] = ACTIONS(7678),
    [anon_sym_LT_LT] = ACTIONS(7678),
    [anon_sym_GT_GT] = ACTIONS(7678),
    [anon_sym_EQ_EQ] = ACTIONS(7680),
    [anon_sym_BANG_EQ] = ACTIONS(7678),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7678),
    [anon_sym_LT_EQ_GT] = ACTIONS(7678),
    [anon_sym_EQ_TILDE] = ACTIONS(7678),
    [anon_sym_BANG_TILDE] = ACTIONS(7678),
    [anon_sym_LT_EQ] = ACTIONS(7680),
    [anon_sym_GT] = ACTIONS(7680),
    [anon_sym_GT_EQ] = ACTIONS(7678),
    [anon_sym_CARET] = ACTIONS(7678),
    [anon_sym_PLUS] = ACTIONS(7678),
    [anon_sym_SLASH] = ACTIONS(7678),
    [anon_sym_PERCENT] = ACTIONS(7678),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(7680),
  },
  [6858] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__line_break] = ACTIONS(7008),
    [sym__element_reference_left_bracket] = ACTIONS(7008),
    [sym__scope_double_colon] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(5302),
    [ts_builtin_sym_end] = ACTIONS(7008),
    [anon_sym___END__] = ACTIONS(7008),
    [anon_sym_DOT] = ACTIONS(7010),
    [anon_sym_COMMA] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_SEMI] = ACTIONS(7008),
    [anon_sym_STAR_STAR] = ACTIONS(5308),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_if] = ACTIONS(7008),
    [anon_sym_unless] = ACTIONS(7008),
    [anon_sym_while] = ACTIONS(7008),
    [anon_sym_until] = ACTIONS(7008),
    [anon_sym_rescue] = ACTIONS(7008),
    [anon_sym_AMP_DOT] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7008),
    [anon_sym_AMP_AMP] = ACTIONS(7008),
    [anon_sym_LT_LT] = ACTIONS(7008),
    [anon_sym_GT_GT] = ACTIONS(7008),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7008),
    [anon_sym_PLUS] = ACTIONS(7008),
    [anon_sym_SLASH] = ACTIONS(5308),
    [anon_sym_PERCENT] = ACTIONS(5308),
    [sym_comment] = ACTIONS(110),
  },
  [6859] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__line_break] = ACTIONS(7012),
    [sym__element_reference_left_bracket] = ACTIONS(7012),
    [sym__scope_double_colon] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [ts_builtin_sym_end] = ACTIONS(7012),
    [anon_sym___END__] = ACTIONS(7012),
    [anon_sym_DOT] = ACTIONS(7014),
    [anon_sym_COMMA] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_SEMI] = ACTIONS(7012),
    [anon_sym_STAR_STAR] = ACTIONS(5308),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_if] = ACTIONS(7012),
    [anon_sym_unless] = ACTIONS(7012),
    [anon_sym_while] = ACTIONS(7012),
    [anon_sym_until] = ACTIONS(7012),
    [anon_sym_rescue] = ACTIONS(7012),
    [anon_sym_AMP_DOT] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7012),
    [anon_sym_AMP_AMP] = ACTIONS(7012),
    [anon_sym_LT_LT] = ACTIONS(7012),
    [anon_sym_GT_GT] = ACTIONS(7012),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7012),
    [anon_sym_PLUS] = ACTIONS(7012),
    [anon_sym_SLASH] = ACTIONS(7012),
    [anon_sym_PERCENT] = ACTIONS(7012),
    [sym_comment] = ACTIONS(110),
  },
  [6860] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5300),
    [sym__binary_star] = ACTIONS(5302),
    [ts_builtin_sym_end] = ACTIONS(7016),
    [anon_sym___END__] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(5308),
    [anon_sym_AMP] = ACTIONS(5310),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(5322),
    [anon_sym_GT_GT] = ACTIONS(5322),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(5330),
    [anon_sym_SLASH] = ACTIONS(5308),
    [anon_sym_PERCENT] = ACTIONS(5308),
    [sym_comment] = ACTIONS(110),
  },
  [6861] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [ts_builtin_sym_end] = ACTIONS(7016),
    [anon_sym___END__] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(5308),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7016),
    [anon_sym_PERCENT] = ACTIONS(7016),
    [sym_comment] = ACTIONS(110),
  },
  [6862] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5300),
    [sym__binary_star] = ACTIONS(5302),
    [ts_builtin_sym_end] = ACTIONS(7016),
    [anon_sym___END__] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(5308),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(5322),
    [anon_sym_GT_GT] = ACTIONS(5322),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(5330),
    [anon_sym_SLASH] = ACTIONS(5308),
    [anon_sym_PERCENT] = ACTIONS(5308),
    [sym_comment] = ACTIONS(110),
  },
  [6863] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5300),
    [sym__binary_star] = ACTIONS(5302),
    [ts_builtin_sym_end] = ACTIONS(7016),
    [anon_sym___END__] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(5306),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(5308),
    [anon_sym_AMP] = ACTIONS(5310),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(5322),
    [anon_sym_GT_GT] = ACTIONS(5322),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(5328),
    [anon_sym_PLUS] = ACTIONS(5330),
    [anon_sym_SLASH] = ACTIONS(5308),
    [anon_sym_PERCENT] = ACTIONS(5308),
    [sym_comment] = ACTIONS(110),
  },
  [6864] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(12754),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [6865] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__line_break] = ACTIONS(7108),
    [sym__element_reference_left_bracket] = ACTIONS(7108),
    [sym__scope_double_colon] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(5300),
    [sym__binary_star] = ACTIONS(5302),
    [ts_builtin_sym_end] = ACTIONS(7108),
    [anon_sym___END__] = ACTIONS(7108),
    [anon_sym_DOT] = ACTIONS(9472),
    [anon_sym_COMMA] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(5306),
    [anon_sym_SEMI] = ACTIONS(7108),
    [anon_sym_STAR_STAR] = ACTIONS(5308),
    [anon_sym_AMP] = ACTIONS(5310),
    [anon_sym_LT] = ACTIONS(5312),
    [anon_sym_if] = ACTIONS(7108),
    [anon_sym_unless] = ACTIONS(7108),
    [anon_sym_while] = ACTIONS(7108),
    [anon_sym_until] = ACTIONS(7108),
    [anon_sym_rescue] = ACTIONS(7108),
    [anon_sym_AMP_DOT] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(5316),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5318),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(5320),
    [anon_sym_AMP_AMP] = ACTIONS(5320),
    [anon_sym_LT_LT] = ACTIONS(5322),
    [anon_sym_GT_GT] = ACTIONS(5322),
    [anon_sym_EQ_EQ] = ACTIONS(5324),
    [anon_sym_BANG_EQ] = ACTIONS(5320),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5320),
    [anon_sym_LT_EQ_GT] = ACTIONS(5320),
    [anon_sym_EQ_TILDE] = ACTIONS(5320),
    [anon_sym_BANG_TILDE] = ACTIONS(5320),
    [anon_sym_LT_EQ] = ACTIONS(5312),
    [anon_sym_GT] = ACTIONS(5312),
    [anon_sym_GT_EQ] = ACTIONS(5326),
    [anon_sym_CARET] = ACTIONS(5328),
    [anon_sym_PLUS] = ACTIONS(5330),
    [anon_sym_SLASH] = ACTIONS(5308),
    [anon_sym_PERCENT] = ACTIONS(5308),
    [sym_comment] = ACTIONS(110),
  },
  [6866] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5300),
    [sym__binary_star] = ACTIONS(5302),
    [ts_builtin_sym_end] = ACTIONS(7016),
    [anon_sym___END__] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(5306),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(5308),
    [anon_sym_AMP] = ACTIONS(5310),
    [anon_sym_LT] = ACTIONS(5312),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(5314),
    [anon_sym_DOT_DOT] = ACTIONS(5316),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5318),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(5320),
    [anon_sym_AMP_AMP] = ACTIONS(5320),
    [anon_sym_LT_LT] = ACTIONS(5322),
    [anon_sym_GT_GT] = ACTIONS(5322),
    [anon_sym_EQ_EQ] = ACTIONS(5324),
    [anon_sym_BANG_EQ] = ACTIONS(5320),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5320),
    [anon_sym_LT_EQ_GT] = ACTIONS(5320),
    [anon_sym_EQ_TILDE] = ACTIONS(5320),
    [anon_sym_BANG_TILDE] = ACTIONS(5320),
    [anon_sym_LT_EQ] = ACTIONS(5312),
    [anon_sym_GT] = ACTIONS(5312),
    [anon_sym_GT_EQ] = ACTIONS(5326),
    [anon_sym_CARET] = ACTIONS(5328),
    [anon_sym_PLUS] = ACTIONS(5330),
    [anon_sym_SLASH] = ACTIONS(5308),
    [anon_sym_PERCENT] = ACTIONS(5308),
    [sym_comment] = ACTIONS(110),
  },
  [6867] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5300),
    [sym__binary_star] = ACTIONS(5302),
    [ts_builtin_sym_end] = ACTIONS(7016),
    [anon_sym___END__] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(5306),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(5308),
    [anon_sym_AMP] = ACTIONS(5310),
    [anon_sym_LT] = ACTIONS(5312),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(5322),
    [anon_sym_GT_GT] = ACTIONS(5322),
    [anon_sym_EQ_EQ] = ACTIONS(5324),
    [anon_sym_BANG_EQ] = ACTIONS(5320),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5320),
    [anon_sym_LT_EQ_GT] = ACTIONS(5320),
    [anon_sym_EQ_TILDE] = ACTIONS(5320),
    [anon_sym_BANG_TILDE] = ACTIONS(5320),
    [anon_sym_LT_EQ] = ACTIONS(5312),
    [anon_sym_GT] = ACTIONS(5312),
    [anon_sym_GT_EQ] = ACTIONS(5326),
    [anon_sym_CARET] = ACTIONS(5328),
    [anon_sym_PLUS] = ACTIONS(5330),
    [anon_sym_SLASH] = ACTIONS(5308),
    [anon_sym_PERCENT] = ACTIONS(5308),
    [sym_comment] = ACTIONS(110),
  },
  [6868] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5300),
    [sym__binary_star] = ACTIONS(5302),
    [ts_builtin_sym_end] = ACTIONS(7016),
    [anon_sym___END__] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(5308),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(5330),
    [anon_sym_SLASH] = ACTIONS(5308),
    [anon_sym_PERCENT] = ACTIONS(5308),
    [sym_comment] = ACTIONS(110),
  },
  [6869] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(5302),
    [ts_builtin_sym_end] = ACTIONS(7016),
    [anon_sym___END__] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(5308),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(5308),
    [anon_sym_PERCENT] = ACTIONS(5308),
    [sym_comment] = ACTIONS(110),
  },
  [6870] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__line_break] = ACTIONS(6346),
    [sym__element_reference_left_bracket] = ACTIONS(6346),
    [sym__scope_double_colon] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(5300),
    [sym__binary_star] = ACTIONS(5302),
    [ts_builtin_sym_end] = ACTIONS(6346),
    [anon_sym___END__] = ACTIONS(6346),
    [anon_sym_DOT] = ACTIONS(7328),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(5306),
    [anon_sym_SEMI] = ACTIONS(6346),
    [anon_sym_STAR_STAR] = ACTIONS(5308),
    [anon_sym_AMP] = ACTIONS(5310),
    [anon_sym_LT] = ACTIONS(5312),
    [anon_sym_if] = ACTIONS(6346),
    [anon_sym_unless] = ACTIONS(6346),
    [anon_sym_while] = ACTIONS(6346),
    [anon_sym_until] = ACTIONS(6346),
    [anon_sym_rescue] = ACTIONS(6346),
    [anon_sym_AMP_DOT] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(5314),
    [anon_sym_DOT_DOT] = ACTIONS(5316),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5318),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(5320),
    [anon_sym_AMP_AMP] = ACTIONS(5320),
    [anon_sym_LT_LT] = ACTIONS(5322),
    [anon_sym_GT_GT] = ACTIONS(5322),
    [anon_sym_EQ_EQ] = ACTIONS(5324),
    [anon_sym_BANG_EQ] = ACTIONS(5320),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5320),
    [anon_sym_LT_EQ_GT] = ACTIONS(5320),
    [anon_sym_EQ_TILDE] = ACTIONS(5320),
    [anon_sym_BANG_TILDE] = ACTIONS(5320),
    [anon_sym_LT_EQ] = ACTIONS(5312),
    [anon_sym_GT] = ACTIONS(5312),
    [anon_sym_GT_EQ] = ACTIONS(5326),
    [anon_sym_CARET] = ACTIONS(5328),
    [anon_sym_PLUS] = ACTIONS(5330),
    [anon_sym_SLASH] = ACTIONS(5308),
    [anon_sym_PERCENT] = ACTIONS(5308),
    [sym_comment] = ACTIONS(110),
  },
  [6871] = {
    [aux_sym_exceptions_repeat1] = STATE(9919),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__line_break] = ACTIONS(7330),
    [sym__element_reference_left_bracket] = ACTIONS(7330),
    [sym__scope_double_colon] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [ts_builtin_sym_end] = ACTIONS(7330),
    [anon_sym___END__] = ACTIONS(7330),
    [anon_sym_DOT] = ACTIONS(7332),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_SEMI] = ACTIONS(7330),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_if] = ACTIONS(7330),
    [anon_sym_unless] = ACTIONS(7330),
    [anon_sym_while] = ACTIONS(7330),
    [anon_sym_until] = ACTIONS(7330),
    [anon_sym_rescue] = ACTIONS(7330),
    [anon_sym_AMP_DOT] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [6872] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__line_break] = ACTIONS(7344),
    [sym__element_reference_left_bracket] = ACTIONS(7344),
    [sym__scope_double_colon] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(5300),
    [sym__binary_star] = ACTIONS(5302),
    [ts_builtin_sym_end] = ACTIONS(7344),
    [anon_sym___END__] = ACTIONS(7344),
    [anon_sym_DOT] = ACTIONS(9504),
    [anon_sym_COMMA] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(5306),
    [anon_sym_SEMI] = ACTIONS(7344),
    [anon_sym_STAR_STAR] = ACTIONS(5308),
    [anon_sym_AMP] = ACTIONS(5310),
    [anon_sym_LT] = ACTIONS(5312),
    [anon_sym_if] = ACTIONS(7344),
    [anon_sym_unless] = ACTIONS(7344),
    [anon_sym_while] = ACTIONS(7344),
    [anon_sym_until] = ACTIONS(7344),
    [anon_sym_rescue] = ACTIONS(7344),
    [anon_sym_AMP_DOT] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(5314),
    [anon_sym_DOT_DOT] = ACTIONS(5316),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5318),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(5320),
    [anon_sym_AMP_AMP] = ACTIONS(5320),
    [anon_sym_LT_LT] = ACTIONS(5322),
    [anon_sym_GT_GT] = ACTIONS(5322),
    [anon_sym_EQ_EQ] = ACTIONS(5324),
    [anon_sym_BANG_EQ] = ACTIONS(5320),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5320),
    [anon_sym_LT_EQ_GT] = ACTIONS(5320),
    [anon_sym_EQ_TILDE] = ACTIONS(5320),
    [anon_sym_BANG_TILDE] = ACTIONS(5320),
    [anon_sym_LT_EQ] = ACTIONS(5312),
    [anon_sym_GT] = ACTIONS(5312),
    [anon_sym_GT_EQ] = ACTIONS(5326),
    [anon_sym_CARET] = ACTIONS(5328),
    [anon_sym_PLUS] = ACTIONS(5330),
    [anon_sym_SLASH] = ACTIONS(5308),
    [anon_sym_PERCENT] = ACTIONS(5308),
    [sym_comment] = ACTIONS(110),
  },
  [6873] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_RPAREN] = ACTIONS(1372),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_STAR_STAR] = ACTIONS(9412),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [6874] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_RPAREN] = ACTIONS(2870),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(9412),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [6875] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(9406),
    [sym__binary_star] = ACTIONS(9408),
    [anon_sym_RPAREN] = ACTIONS(2870),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(9410),
    [anon_sym_STAR_STAR] = ACTIONS(9412),
    [anon_sym_AMP] = ACTIONS(9414),
    [anon_sym_LT] = ACTIONS(9416),
    [anon_sym_QMARK] = ACTIONS(9418),
    [anon_sym_DOT_DOT] = ACTIONS(9420),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9422),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(9426),
    [anon_sym_AMP_AMP] = ACTIONS(9426),
    [anon_sym_LT_LT] = ACTIONS(9428),
    [anon_sym_GT_GT] = ACTIONS(9428),
    [anon_sym_EQ_EQ] = ACTIONS(9430),
    [anon_sym_BANG_EQ] = ACTIONS(9426),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9426),
    [anon_sym_LT_EQ_GT] = ACTIONS(9426),
    [anon_sym_EQ_TILDE] = ACTIONS(9426),
    [anon_sym_BANG_TILDE] = ACTIONS(9426),
    [anon_sym_LT_EQ] = ACTIONS(9416),
    [anon_sym_GT] = ACTIONS(9416),
    [anon_sym_GT_EQ] = ACTIONS(9432),
    [anon_sym_CARET] = ACTIONS(9434),
    [anon_sym_PLUS] = ACTIONS(9436),
    [anon_sym_SLASH] = ACTIONS(9412),
    [anon_sym_PERCENT] = ACTIONS(9412),
    [sym_comment] = ACTIONS(110),
  },
  [6876] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9920),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3679),
    [sym_call] = STATE(3679),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(3680),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3681),
    [sym__variable] = STATE(3679),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5342),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5344),
    [anon_sym_yield] = ACTIONS(5346),
    [anon_sym_break] = ACTIONS(5348),
    [anon_sym_next] = ACTIONS(5350),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5352),
    [anon_sym_defined_QMARK] = ACTIONS(5354),
    [anon_sym_not] = ACTIONS(5356),
    [anon_sym_BANG] = ACTIONS(5358),
    [anon_sym_TILDE] = ACTIONS(5358),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6877] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9921),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3679),
    [sym_call] = STATE(3679),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(3680),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3681),
    [sym__variable] = STATE(3679),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5342),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5344),
    [anon_sym_yield] = ACTIONS(5346),
    [anon_sym_break] = ACTIONS(5348),
    [anon_sym_next] = ACTIONS(5350),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5352),
    [anon_sym_defined_QMARK] = ACTIONS(5354),
    [anon_sym_not] = ACTIONS(5356),
    [anon_sym_BANG] = ACTIONS(5358),
    [anon_sym_TILDE] = ACTIONS(5358),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6878] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9922),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3679),
    [sym_call] = STATE(3679),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(3680),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3681),
    [sym__variable] = STATE(3679),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5342),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5344),
    [anon_sym_yield] = ACTIONS(5346),
    [anon_sym_break] = ACTIONS(5348),
    [anon_sym_next] = ACTIONS(5350),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5352),
    [anon_sym_defined_QMARK] = ACTIONS(5354),
    [anon_sym_not] = ACTIONS(5356),
    [anon_sym_BANG] = ACTIONS(5358),
    [anon_sym_TILDE] = ACTIONS(5358),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6879] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9923),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3679),
    [sym_call] = STATE(3679),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(3680),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3681),
    [sym__variable] = STATE(3679),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5342),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5344),
    [anon_sym_yield] = ACTIONS(5346),
    [anon_sym_break] = ACTIONS(5348),
    [anon_sym_next] = ACTIONS(5350),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5352),
    [anon_sym_defined_QMARK] = ACTIONS(5354),
    [anon_sym_not] = ACTIONS(5356),
    [anon_sym_BANG] = ACTIONS(5358),
    [anon_sym_TILDE] = ACTIONS(5358),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6880] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9924),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3679),
    [sym_call] = STATE(3679),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(3680),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3681),
    [sym__variable] = STATE(3679),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5342),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5344),
    [anon_sym_yield] = ACTIONS(5346),
    [anon_sym_break] = ACTIONS(5348),
    [anon_sym_next] = ACTIONS(5350),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5352),
    [anon_sym_defined_QMARK] = ACTIONS(5354),
    [anon_sym_not] = ACTIONS(5356),
    [anon_sym_BANG] = ACTIONS(5358),
    [anon_sym_TILDE] = ACTIONS(5358),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6881] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9925),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3679),
    [sym_call] = STATE(3679),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(3680),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3681),
    [sym__variable] = STATE(3679),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5342),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5344),
    [anon_sym_yield] = ACTIONS(5346),
    [anon_sym_break] = ACTIONS(5348),
    [anon_sym_next] = ACTIONS(5350),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5352),
    [anon_sym_defined_QMARK] = ACTIONS(5354),
    [anon_sym_not] = ACTIONS(5356),
    [anon_sym_BANG] = ACTIONS(5358),
    [anon_sym_TILDE] = ACTIONS(5358),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6882] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(9926),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [6883] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9927),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3679),
    [sym_call] = STATE(3679),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(3680),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3681),
    [sym__variable] = STATE(3679),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5342),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5344),
    [anon_sym_yield] = ACTIONS(5346),
    [anon_sym_break] = ACTIONS(5348),
    [anon_sym_next] = ACTIONS(5350),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5352),
    [anon_sym_defined_QMARK] = ACTIONS(5354),
    [anon_sym_not] = ACTIONS(5356),
    [anon_sym_BANG] = ACTIONS(5358),
    [anon_sym_TILDE] = ACTIONS(5358),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6884] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9928),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3679),
    [sym_call] = STATE(3679),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(3680),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3681),
    [sym__variable] = STATE(3679),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5342),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5344),
    [anon_sym_yield] = ACTIONS(5346),
    [anon_sym_break] = ACTIONS(5348),
    [anon_sym_next] = ACTIONS(5350),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5352),
    [anon_sym_defined_QMARK] = ACTIONS(5354),
    [anon_sym_not] = ACTIONS(5356),
    [anon_sym_BANG] = ACTIONS(5358),
    [anon_sym_TILDE] = ACTIONS(5358),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6885] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9929),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3679),
    [sym_call] = STATE(3679),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(3680),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3681),
    [sym__variable] = STATE(3679),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5342),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5344),
    [anon_sym_yield] = ACTIONS(5346),
    [anon_sym_break] = ACTIONS(5348),
    [anon_sym_next] = ACTIONS(5350),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5352),
    [anon_sym_defined_QMARK] = ACTIONS(5354),
    [anon_sym_not] = ACTIONS(5356),
    [anon_sym_BANG] = ACTIONS(5358),
    [anon_sym_TILDE] = ACTIONS(5358),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6886] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9930),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3679),
    [sym_call] = STATE(3679),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(3680),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3681),
    [sym__variable] = STATE(3679),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5342),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5344),
    [anon_sym_yield] = ACTIONS(5346),
    [anon_sym_break] = ACTIONS(5348),
    [anon_sym_next] = ACTIONS(5350),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5352),
    [anon_sym_defined_QMARK] = ACTIONS(5354),
    [anon_sym_not] = ACTIONS(5356),
    [anon_sym_BANG] = ACTIONS(5358),
    [anon_sym_TILDE] = ACTIONS(5358),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6887] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9931),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3679),
    [sym_call] = STATE(3679),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(3680),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3681),
    [sym__variable] = STATE(3679),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5342),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5344),
    [anon_sym_yield] = ACTIONS(5346),
    [anon_sym_break] = ACTIONS(5348),
    [anon_sym_next] = ACTIONS(5350),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5352),
    [anon_sym_defined_QMARK] = ACTIONS(5354),
    [anon_sym_not] = ACTIONS(5356),
    [anon_sym_BANG] = ACTIONS(5358),
    [anon_sym_TILDE] = ACTIONS(5358),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6888] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9933),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3679),
    [sym_call] = STATE(3679),
    [sym_method_call] = STATE(976),
    [sym_splat_argument] = STATE(4790),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_right_assignment_list] = STATE(4791),
    [sym__arg_or_splat_arg] = STATE(9934),
    [sym_left_assignment_list] = STATE(3680),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3681),
    [sym__variable] = STATE(3679),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__splat_star] = ACTIONS(12756),
    [sym__unary_minus] = ACTIONS(5342),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5344),
    [anon_sym_yield] = ACTIONS(5346),
    [anon_sym_break] = ACTIONS(5348),
    [anon_sym_next] = ACTIONS(5350),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5352),
    [anon_sym_defined_QMARK] = ACTIONS(5354),
    [anon_sym_not] = ACTIONS(5356),
    [anon_sym_BANG] = ACTIONS(5358),
    [anon_sym_TILDE] = ACTIONS(5358),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6889] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9935),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3679),
    [sym_call] = STATE(3679),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(3680),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3681),
    [sym__variable] = STATE(3679),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5342),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5344),
    [anon_sym_yield] = ACTIONS(5346),
    [anon_sym_break] = ACTIONS(5348),
    [anon_sym_next] = ACTIONS(5350),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5352),
    [anon_sym_defined_QMARK] = ACTIONS(5354),
    [anon_sym_not] = ACTIONS(5356),
    [anon_sym_BANG] = ACTIONS(5358),
    [anon_sym_TILDE] = ACTIONS(5358),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6890] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(8690),
    [sym__binary_star] = ACTIONS(8692),
    [anon_sym_RPAREN] = ACTIONS(5298),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(8694),
    [anon_sym_STAR_STAR] = ACTIONS(8696),
    [anon_sym_AMP] = ACTIONS(8698),
    [anon_sym_LT] = ACTIONS(8700),
    [anon_sym_EQ_GT] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(8702),
    [anon_sym_DOT_DOT] = ACTIONS(8704),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8706),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(8708),
    [anon_sym_AMP_AMP] = ACTIONS(8708),
    [anon_sym_LT_LT] = ACTIONS(8710),
    [anon_sym_GT_GT] = ACTIONS(8710),
    [anon_sym_EQ_EQ] = ACTIONS(8712),
    [anon_sym_BANG_EQ] = ACTIONS(8708),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8708),
    [anon_sym_LT_EQ_GT] = ACTIONS(8708),
    [anon_sym_EQ_TILDE] = ACTIONS(8708),
    [anon_sym_BANG_TILDE] = ACTIONS(8708),
    [anon_sym_LT_EQ] = ACTIONS(8700),
    [anon_sym_GT] = ACTIONS(8700),
    [anon_sym_GT_EQ] = ACTIONS(8714),
    [anon_sym_CARET] = ACTIONS(8716),
    [anon_sym_PLUS] = ACTIONS(8718),
    [anon_sym_SLASH] = ACTIONS(8696),
    [anon_sym_PERCENT] = ACTIONS(8696),
    [sym_comment] = ACTIONS(110),
  },
  [6891] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(8690),
    [sym__binary_star] = ACTIONS(8692),
    [anon_sym_RPAREN] = ACTIONS(5338),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(8694),
    [anon_sym_STAR_STAR] = ACTIONS(8696),
    [anon_sym_AMP] = ACTIONS(8698),
    [anon_sym_LT] = ACTIONS(8700),
    [anon_sym_EQ_GT] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(8702),
    [anon_sym_DOT_DOT] = ACTIONS(8704),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8706),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(8708),
    [anon_sym_AMP_AMP] = ACTIONS(8708),
    [anon_sym_LT_LT] = ACTIONS(8710),
    [anon_sym_GT_GT] = ACTIONS(8710),
    [anon_sym_EQ_EQ] = ACTIONS(8712),
    [anon_sym_BANG_EQ] = ACTIONS(8708),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8708),
    [anon_sym_LT_EQ_GT] = ACTIONS(8708),
    [anon_sym_EQ_TILDE] = ACTIONS(8708),
    [anon_sym_BANG_TILDE] = ACTIONS(8708),
    [anon_sym_LT_EQ] = ACTIONS(8700),
    [anon_sym_GT] = ACTIONS(8700),
    [anon_sym_GT_EQ] = ACTIONS(8714),
    [anon_sym_CARET] = ACTIONS(8716),
    [anon_sym_PLUS] = ACTIONS(8718),
    [anon_sym_SLASH] = ACTIONS(8696),
    [anon_sym_PERCENT] = ACTIONS(8696),
    [sym_comment] = ACTIONS(110),
  },
  [6892] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(8690),
    [sym__binary_star] = ACTIONS(8692),
    [anon_sym_RPAREN] = ACTIONS(4284),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(8694),
    [anon_sym_STAR_STAR] = ACTIONS(8696),
    [anon_sym_AMP] = ACTIONS(8698),
    [anon_sym_LT] = ACTIONS(8700),
    [anon_sym_EQ_GT] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(8702),
    [anon_sym_DOT_DOT] = ACTIONS(8704),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8706),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(8708),
    [anon_sym_AMP_AMP] = ACTIONS(8708),
    [anon_sym_LT_LT] = ACTIONS(8710),
    [anon_sym_GT_GT] = ACTIONS(8710),
    [anon_sym_EQ_EQ] = ACTIONS(8712),
    [anon_sym_BANG_EQ] = ACTIONS(8708),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8708),
    [anon_sym_LT_EQ_GT] = ACTIONS(8708),
    [anon_sym_EQ_TILDE] = ACTIONS(8708),
    [anon_sym_BANG_TILDE] = ACTIONS(8708),
    [anon_sym_LT_EQ] = ACTIONS(8700),
    [anon_sym_GT] = ACTIONS(8700),
    [anon_sym_GT_EQ] = ACTIONS(8714),
    [anon_sym_CARET] = ACTIONS(8716),
    [anon_sym_PLUS] = ACTIONS(8718),
    [anon_sym_SLASH] = ACTIONS(8696),
    [anon_sym_PERCENT] = ACTIONS(8696),
    [sym_comment] = ACTIONS(110),
  },
  [6893] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9936),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3197),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3198),
    [sym__variable] = STATE(1383),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4602),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5360),
    [anon_sym_yield] = ACTIONS(5362),
    [anon_sym_break] = ACTIONS(5364),
    [anon_sym_next] = ACTIONS(5366),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8684),
    [anon_sym_defined_QMARK] = ACTIONS(4604),
    [anon_sym_not] = ACTIONS(8686),
    [anon_sym_BANG] = ACTIONS(4610),
    [anon_sym_TILDE] = ACTIONS(4610),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6894] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3693),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(6127),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3197),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3198),
    [sym__variable] = STATE(1383),
    [sym_reserved_identifier] = STATE(3695),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(3696),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(9937),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(5374),
    [sym__splat_star] = ACTIONS(5376),
    [sym__unary_minus] = ACTIONS(4602),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(12758),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2164),
    [anon_sym_yield] = ACTIONS(2166),
    [anon_sym_break] = ACTIONS(2168),
    [anon_sym_next] = ACTIONS(2170),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(8684),
    [anon_sym_defined_QMARK] = ACTIONS(4604),
    [anon_sym_not] = ACTIONS(4606),
    [anon_sym_BANG] = ACTIONS(4610),
    [anon_sym_TILDE] = ACTIONS(4610),
    [sym_constant] = ACTIONS(5378),
    [sym_identifier] = ACTIONS(5378),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6895] = {
    [sym_heredoc_end] = STATE(3004),
    [aux_sym_argument_list_repeat2] = STATE(6130),
    [sym__simple_heredoc_body] = ACTIONS(4410),
    [sym__heredoc_body_beginning] = ACTIONS(4412),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_RPAREN] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(12760),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_STAR_STAR] = ACTIONS(5472),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_EQ_GT] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5472),
    [anon_sym_AMP_AMP] = ACTIONS(5472),
    [anon_sym_LT_LT] = ACTIONS(5472),
    [anon_sym_GT_GT] = ACTIONS(5472),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5472),
    [anon_sym_PLUS] = ACTIONS(5472),
    [anon_sym_SLASH] = ACTIONS(5472),
    [anon_sym_PERCENT] = ACTIONS(5472),
    [sym_comment] = ACTIONS(110),
  },
  [6896] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9939),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3197),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3198),
    [sym__variable] = STATE(1383),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4602),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5360),
    [anon_sym_yield] = ACTIONS(5362),
    [anon_sym_break] = ACTIONS(5364),
    [anon_sym_next] = ACTIONS(5366),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8684),
    [anon_sym_defined_QMARK] = ACTIONS(4604),
    [anon_sym_not] = ACTIONS(8686),
    [anon_sym_BANG] = ACTIONS(4610),
    [anon_sym_TILDE] = ACTIONS(4610),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6897] = {
    [sym__simple_heredoc_body] = ACTIONS(8568),
    [sym__heredoc_body_beginning] = ACTIONS(8568),
    [sym__binary_minus] = ACTIONS(9406),
    [sym__binary_star] = ACTIONS(9408),
    [anon_sym_RPAREN] = ACTIONS(8568),
    [anon_sym_COMMA] = ACTIONS(8568),
    [anon_sym_PIPE] = ACTIONS(9410),
    [anon_sym_STAR_STAR] = ACTIONS(9412),
    [anon_sym_AMP] = ACTIONS(9414),
    [anon_sym_LT] = ACTIONS(9416),
    [anon_sym_QMARK] = ACTIONS(9418),
    [anon_sym_DOT_DOT] = ACTIONS(9420),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9422),
    [anon_sym_and] = ACTIONS(9424),
    [anon_sym_or] = ACTIONS(9424),
    [anon_sym_PIPE_PIPE] = ACTIONS(9426),
    [anon_sym_AMP_AMP] = ACTIONS(9426),
    [anon_sym_LT_LT] = ACTIONS(9428),
    [anon_sym_GT_GT] = ACTIONS(9428),
    [anon_sym_EQ_EQ] = ACTIONS(9430),
    [anon_sym_BANG_EQ] = ACTIONS(9426),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9426),
    [anon_sym_LT_EQ_GT] = ACTIONS(9426),
    [anon_sym_EQ_TILDE] = ACTIONS(9426),
    [anon_sym_BANG_TILDE] = ACTIONS(9426),
    [anon_sym_LT_EQ] = ACTIONS(9416),
    [anon_sym_GT] = ACTIONS(9416),
    [anon_sym_GT_EQ] = ACTIONS(9432),
    [anon_sym_CARET] = ACTIONS(9434),
    [anon_sym_PLUS] = ACTIONS(9436),
    [anon_sym_SLASH] = ACTIONS(9412),
    [anon_sym_PERCENT] = ACTIONS(9412),
    [sym_comment] = ACTIONS(110),
  },
  [6898] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(5384),
    [anon_sym_RPAREN] = ACTIONS(7008),
    [anon_sym_COMMA] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_STAR_STAR] = ACTIONS(5388),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_EQ_GT] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7008),
    [anon_sym_AMP_AMP] = ACTIONS(7008),
    [anon_sym_LT_LT] = ACTIONS(7008),
    [anon_sym_GT_GT] = ACTIONS(7008),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7008),
    [anon_sym_PLUS] = ACTIONS(7008),
    [anon_sym_SLASH] = ACTIONS(5388),
    [anon_sym_PERCENT] = ACTIONS(5388),
    [sym_comment] = ACTIONS(110),
  },
  [6899] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_RPAREN] = ACTIONS(7012),
    [anon_sym_COMMA] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_STAR_STAR] = ACTIONS(5388),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_EQ_GT] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7012),
    [anon_sym_AMP_AMP] = ACTIONS(7012),
    [anon_sym_LT_LT] = ACTIONS(7012),
    [anon_sym_GT_GT] = ACTIONS(7012),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7012),
    [anon_sym_PLUS] = ACTIONS(7012),
    [anon_sym_SLASH] = ACTIONS(7012),
    [anon_sym_PERCENT] = ACTIONS(7012),
    [sym_comment] = ACTIONS(110),
  },
  [6900] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5382),
    [sym__binary_star] = ACTIONS(5384),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(5388),
    [anon_sym_AMP] = ACTIONS(5390),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(5404),
    [anon_sym_GT_GT] = ACTIONS(5404),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(5412),
    [anon_sym_SLASH] = ACTIONS(5388),
    [anon_sym_PERCENT] = ACTIONS(5388),
    [sym_comment] = ACTIONS(110),
  },
  [6901] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(5388),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7016),
    [anon_sym_PERCENT] = ACTIONS(7016),
    [sym_comment] = ACTIONS(110),
  },
  [6902] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5382),
    [sym__binary_star] = ACTIONS(5384),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(5388),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(5404),
    [anon_sym_GT_GT] = ACTIONS(5404),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(5412),
    [anon_sym_SLASH] = ACTIONS(5388),
    [anon_sym_PERCENT] = ACTIONS(5388),
    [sym_comment] = ACTIONS(110),
  },
  [6903] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5382),
    [sym__binary_star] = ACTIONS(5384),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(5386),
    [anon_sym_STAR_STAR] = ACTIONS(5388),
    [anon_sym_AMP] = ACTIONS(5390),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(5404),
    [anon_sym_GT_GT] = ACTIONS(5404),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(5410),
    [anon_sym_PLUS] = ACTIONS(5412),
    [anon_sym_SLASH] = ACTIONS(5388),
    [anon_sym_PERCENT] = ACTIONS(5388),
    [sym_comment] = ACTIONS(110),
  },
  [6904] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(12762),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [6905] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(5382),
    [sym__binary_star] = ACTIONS(5384),
    [anon_sym_RPAREN] = ACTIONS(7108),
    [anon_sym_COMMA] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(5386),
    [anon_sym_STAR_STAR] = ACTIONS(5388),
    [anon_sym_AMP] = ACTIONS(5390),
    [anon_sym_LT] = ACTIONS(5392),
    [anon_sym_EQ_GT] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(5396),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5398),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(5402),
    [anon_sym_AMP_AMP] = ACTIONS(5402),
    [anon_sym_LT_LT] = ACTIONS(5404),
    [anon_sym_GT_GT] = ACTIONS(5404),
    [anon_sym_EQ_EQ] = ACTIONS(5406),
    [anon_sym_BANG_EQ] = ACTIONS(5402),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5402),
    [anon_sym_LT_EQ_GT] = ACTIONS(5402),
    [anon_sym_EQ_TILDE] = ACTIONS(5402),
    [anon_sym_BANG_TILDE] = ACTIONS(5402),
    [anon_sym_LT_EQ] = ACTIONS(5392),
    [anon_sym_GT] = ACTIONS(5392),
    [anon_sym_GT_EQ] = ACTIONS(5408),
    [anon_sym_CARET] = ACTIONS(5410),
    [anon_sym_PLUS] = ACTIONS(5412),
    [anon_sym_SLASH] = ACTIONS(5388),
    [anon_sym_PERCENT] = ACTIONS(5388),
    [sym_comment] = ACTIONS(110),
  },
  [6906] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5382),
    [sym__binary_star] = ACTIONS(5384),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(5386),
    [anon_sym_STAR_STAR] = ACTIONS(5388),
    [anon_sym_AMP] = ACTIONS(5390),
    [anon_sym_LT] = ACTIONS(5392),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(5394),
    [anon_sym_DOT_DOT] = ACTIONS(5396),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5398),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(5402),
    [anon_sym_AMP_AMP] = ACTIONS(5402),
    [anon_sym_LT_LT] = ACTIONS(5404),
    [anon_sym_GT_GT] = ACTIONS(5404),
    [anon_sym_EQ_EQ] = ACTIONS(5406),
    [anon_sym_BANG_EQ] = ACTIONS(5402),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5402),
    [anon_sym_LT_EQ_GT] = ACTIONS(5402),
    [anon_sym_EQ_TILDE] = ACTIONS(5402),
    [anon_sym_BANG_TILDE] = ACTIONS(5402),
    [anon_sym_LT_EQ] = ACTIONS(5392),
    [anon_sym_GT] = ACTIONS(5392),
    [anon_sym_GT_EQ] = ACTIONS(5408),
    [anon_sym_CARET] = ACTIONS(5410),
    [anon_sym_PLUS] = ACTIONS(5412),
    [anon_sym_SLASH] = ACTIONS(5388),
    [anon_sym_PERCENT] = ACTIONS(5388),
    [sym_comment] = ACTIONS(110),
  },
  [6907] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5382),
    [sym__binary_star] = ACTIONS(5384),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(5386),
    [anon_sym_STAR_STAR] = ACTIONS(5388),
    [anon_sym_AMP] = ACTIONS(5390),
    [anon_sym_LT] = ACTIONS(5392),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(5404),
    [anon_sym_GT_GT] = ACTIONS(5404),
    [anon_sym_EQ_EQ] = ACTIONS(5406),
    [anon_sym_BANG_EQ] = ACTIONS(5402),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5402),
    [anon_sym_LT_EQ_GT] = ACTIONS(5402),
    [anon_sym_EQ_TILDE] = ACTIONS(5402),
    [anon_sym_BANG_TILDE] = ACTIONS(5402),
    [anon_sym_LT_EQ] = ACTIONS(5392),
    [anon_sym_GT] = ACTIONS(5392),
    [anon_sym_GT_EQ] = ACTIONS(5408),
    [anon_sym_CARET] = ACTIONS(5410),
    [anon_sym_PLUS] = ACTIONS(5412),
    [anon_sym_SLASH] = ACTIONS(5388),
    [anon_sym_PERCENT] = ACTIONS(5388),
    [sym_comment] = ACTIONS(110),
  },
  [6908] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5382),
    [sym__binary_star] = ACTIONS(5384),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(5388),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(5412),
    [anon_sym_SLASH] = ACTIONS(5388),
    [anon_sym_PERCENT] = ACTIONS(5388),
    [sym_comment] = ACTIONS(110),
  },
  [6909] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(5384),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(5388),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(5388),
    [anon_sym_PERCENT] = ACTIONS(5388),
    [sym_comment] = ACTIONS(110),
  },
  [6910] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(8778),
    [sym__binary_star] = ACTIONS(8780),
    [anon_sym_LBRACE] = ACTIONS(5298),
    [anon_sym_RPAREN] = ACTIONS(5298),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(8782),
    [anon_sym_STAR_STAR] = ACTIONS(8784),
    [anon_sym_AMP] = ACTIONS(8786),
    [anon_sym_EQ] = ACTIONS(5304),
    [anon_sym_LT] = ACTIONS(8788),
    [anon_sym_do] = ACTIONS(5298),
    [anon_sym_EQ_GT] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_PLUS_EQ] = ACTIONS(5298),
    [anon_sym_DASH_EQ] = ACTIONS(5298),
    [anon_sym_STAR_EQ] = ACTIONS(5298),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5298),
    [anon_sym_SLASH_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5298),
    [anon_sym_AMP_EQ] = ACTIONS(5298),
    [anon_sym_PERCENT_EQ] = ACTIONS(5298),
    [anon_sym_GT_GT_EQ] = ACTIONS(5298),
    [anon_sym_LT_LT_EQ] = ACTIONS(5298),
    [anon_sym_CARET_EQ] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(8790),
    [anon_sym_DOT_DOT] = ACTIONS(8792),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8794),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(8796),
    [anon_sym_AMP_AMP] = ACTIONS(8796),
    [anon_sym_LT_LT] = ACTIONS(8798),
    [anon_sym_GT_GT] = ACTIONS(8798),
    [anon_sym_EQ_EQ] = ACTIONS(8796),
    [anon_sym_BANG_EQ] = ACTIONS(8800),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8800),
    [anon_sym_LT_EQ_GT] = ACTIONS(8800),
    [anon_sym_EQ_TILDE] = ACTIONS(8800),
    [anon_sym_BANG_TILDE] = ACTIONS(8800),
    [anon_sym_LT_EQ] = ACTIONS(8788),
    [anon_sym_GT] = ACTIONS(8788),
    [anon_sym_GT_EQ] = ACTIONS(8802),
    [anon_sym_CARET] = ACTIONS(8782),
    [anon_sym_PLUS] = ACTIONS(8804),
    [anon_sym_SLASH] = ACTIONS(8784),
    [anon_sym_PERCENT] = ACTIONS(8784),
    [sym_comment] = ACTIONS(256),
  },
  [6911] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(8778),
    [sym__binary_star] = ACTIONS(8780),
    [anon_sym_LBRACE] = ACTIONS(5338),
    [anon_sym_RPAREN] = ACTIONS(5338),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(8782),
    [anon_sym_STAR_STAR] = ACTIONS(8784),
    [anon_sym_AMP] = ACTIONS(8786),
    [anon_sym_EQ] = ACTIONS(5340),
    [anon_sym_LT] = ACTIONS(8788),
    [anon_sym_do] = ACTIONS(5338),
    [anon_sym_EQ_GT] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_PLUS_EQ] = ACTIONS(5338),
    [anon_sym_DASH_EQ] = ACTIONS(5338),
    [anon_sym_STAR_EQ] = ACTIONS(5338),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5338),
    [anon_sym_SLASH_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5338),
    [anon_sym_AMP_EQ] = ACTIONS(5338),
    [anon_sym_PERCENT_EQ] = ACTIONS(5338),
    [anon_sym_GT_GT_EQ] = ACTIONS(5338),
    [anon_sym_LT_LT_EQ] = ACTIONS(5338),
    [anon_sym_CARET_EQ] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(8790),
    [anon_sym_DOT_DOT] = ACTIONS(8792),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8794),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(8796),
    [anon_sym_AMP_AMP] = ACTIONS(8796),
    [anon_sym_LT_LT] = ACTIONS(8798),
    [anon_sym_GT_GT] = ACTIONS(8798),
    [anon_sym_EQ_EQ] = ACTIONS(8796),
    [anon_sym_BANG_EQ] = ACTIONS(8800),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8800),
    [anon_sym_LT_EQ_GT] = ACTIONS(8800),
    [anon_sym_EQ_TILDE] = ACTIONS(8800),
    [anon_sym_BANG_TILDE] = ACTIONS(8800),
    [anon_sym_LT_EQ] = ACTIONS(8788),
    [anon_sym_GT] = ACTIONS(8788),
    [anon_sym_GT_EQ] = ACTIONS(8802),
    [anon_sym_CARET] = ACTIONS(8782),
    [anon_sym_PLUS] = ACTIONS(8804),
    [anon_sym_SLASH] = ACTIONS(8784),
    [anon_sym_PERCENT] = ACTIONS(8784),
    [sym_comment] = ACTIONS(256),
  },
  [6912] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(8778),
    [sym__binary_star] = ACTIONS(8780),
    [anon_sym_LBRACE] = ACTIONS(4284),
    [anon_sym_RPAREN] = ACTIONS(4284),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(8782),
    [anon_sym_STAR_STAR] = ACTIONS(8784),
    [anon_sym_AMP] = ACTIONS(8786),
    [anon_sym_EQ] = ACTIONS(5432),
    [anon_sym_LT] = ACTIONS(8788),
    [anon_sym_do] = ACTIONS(4284),
    [anon_sym_EQ_GT] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_PLUS_EQ] = ACTIONS(4284),
    [anon_sym_DASH_EQ] = ACTIONS(4284),
    [anon_sym_STAR_EQ] = ACTIONS(4284),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(4284),
    [anon_sym_SLASH_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(4284),
    [anon_sym_AMP_EQ] = ACTIONS(4284),
    [anon_sym_PERCENT_EQ] = ACTIONS(4284),
    [anon_sym_GT_GT_EQ] = ACTIONS(4284),
    [anon_sym_LT_LT_EQ] = ACTIONS(4284),
    [anon_sym_CARET_EQ] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(8790),
    [anon_sym_DOT_DOT] = ACTIONS(8792),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8794),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(8796),
    [anon_sym_AMP_AMP] = ACTIONS(8796),
    [anon_sym_LT_LT] = ACTIONS(8798),
    [anon_sym_GT_GT] = ACTIONS(8798),
    [anon_sym_EQ_EQ] = ACTIONS(8796),
    [anon_sym_BANG_EQ] = ACTIONS(8800),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8800),
    [anon_sym_LT_EQ_GT] = ACTIONS(8800),
    [anon_sym_EQ_TILDE] = ACTIONS(8800),
    [anon_sym_BANG_TILDE] = ACTIONS(8800),
    [anon_sym_LT_EQ] = ACTIONS(8788),
    [anon_sym_GT] = ACTIONS(8788),
    [anon_sym_GT_EQ] = ACTIONS(8802),
    [anon_sym_CARET] = ACTIONS(8782),
    [anon_sym_PLUS] = ACTIONS(8804),
    [anon_sym_SLASH] = ACTIONS(8784),
    [anon_sym_PERCENT] = ACTIONS(8784),
    [sym_comment] = ACTIONS(256),
  },
  [6913] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(9941),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(3239),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3240),
    [sym__variable] = STATE(3235),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(4660),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(8762),
    [anon_sym_yield] = ACTIONS(8764),
    [anon_sym_break] = ACTIONS(8766),
    [anon_sym_next] = ACTIONS(8768),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(8770),
    [anon_sym_defined_QMARK] = ACTIONS(4674),
    [anon_sym_not] = ACTIONS(8772),
    [anon_sym_BANG] = ACTIONS(4680),
    [anon_sym_TILDE] = ACTIONS(4680),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [6914] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(3716),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(6226),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(3239),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3240),
    [sym__variable] = STATE(3235),
    [sym_reserved_identifier] = STATE(3718),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3719),
    [sym_subshell] = STATE(1062),
    [sym_heredoc_end] = STATE(9942),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__block_ampersand] = ACTIONS(5414),
    [sym__splat_star] = ACTIONS(5416),
    [sym__unary_minus] = ACTIONS(4660),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(12764),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(4664),
    [anon_sym_yield] = ACTIONS(4666),
    [anon_sym_break] = ACTIONS(4668),
    [anon_sym_next] = ACTIONS(4670),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(8770),
    [anon_sym_defined_QMARK] = ACTIONS(4674),
    [anon_sym_not] = ACTIONS(4676),
    [anon_sym_BANG] = ACTIONS(4680),
    [anon_sym_TILDE] = ACTIONS(4680),
    [sym_constant] = ACTIONS(5418),
    [sym_identifier] = ACTIONS(5418),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [6915] = {
    [sym_heredoc_end] = STATE(3153),
    [aux_sym_argument_list_repeat2] = STATE(6229),
    [sym__simple_heredoc_body] = ACTIONS(4552),
    [sym__heredoc_body_beginning] = ACTIONS(4554),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_LBRACE] = ACTIONS(5472),
    [anon_sym_RPAREN] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(12766),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_STAR_STAR] = ACTIONS(5474),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_EQ] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_do] = ACTIONS(5472),
    [anon_sym_EQ_GT] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_PLUS_EQ] = ACTIONS(5472),
    [anon_sym_DASH_EQ] = ACTIONS(5472),
    [anon_sym_STAR_EQ] = ACTIONS(5472),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5472),
    [anon_sym_SLASH_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5472),
    [anon_sym_AMP_EQ] = ACTIONS(5472),
    [anon_sym_PERCENT_EQ] = ACTIONS(5472),
    [anon_sym_GT_GT_EQ] = ACTIONS(5472),
    [anon_sym_LT_LT_EQ] = ACTIONS(5472),
    [anon_sym_CARET_EQ] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5474),
    [anon_sym_AMP_AMP] = ACTIONS(5474),
    [anon_sym_LT_LT] = ACTIONS(5474),
    [anon_sym_GT_GT] = ACTIONS(5474),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5474),
    [anon_sym_PLUS] = ACTIONS(5474),
    [anon_sym_SLASH] = ACTIONS(5474),
    [anon_sym_PERCENT] = ACTIONS(5474),
    [sym_comment] = ACTIONS(256),
  },
  [6916] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(9944),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(3239),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3240),
    [sym__variable] = STATE(3235),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(4660),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(8762),
    [anon_sym_yield] = ACTIONS(8764),
    [anon_sym_break] = ACTIONS(8766),
    [anon_sym_next] = ACTIONS(8768),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(8770),
    [anon_sym_defined_QMARK] = ACTIONS(4674),
    [anon_sym_not] = ACTIONS(8772),
    [anon_sym_BANG] = ACTIONS(4680),
    [anon_sym_TILDE] = ACTIONS(4680),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [6917] = {
    [sym__simple_heredoc_body] = ACTIONS(12768),
    [sym__heredoc_body_beginning] = ACTIONS(12768),
    [sym__line_break] = ACTIONS(12768),
    [sym__element_reference_left_bracket] = ACTIONS(12768),
    [sym__scope_double_colon] = ACTIONS(12768),
    [sym__binary_minus] = ACTIONS(12768),
    [sym__binary_star] = ACTIONS(12768),
    [ts_builtin_sym_end] = ACTIONS(12768),
    [anon_sym___END__] = ACTIONS(12768),
    [anon_sym_LBRACE] = ACTIONS(12768),
    [anon_sym_RBRACE] = ACTIONS(12768),
    [anon_sym_RPAREN] = ACTIONS(12768),
    [anon_sym_DOT] = ACTIONS(12770),
    [anon_sym_end] = ACTIONS(12768),
    [anon_sym_COMMA] = ACTIONS(12768),
    [anon_sym_PIPE] = ACTIONS(12770),
    [anon_sym_SEMI] = ACTIONS(12768),
    [anon_sym_STAR_STAR] = ACTIONS(12768),
    [anon_sym_AMP] = ACTIONS(12770),
    [anon_sym_LT] = ACTIONS(12770),
    [anon_sym_if] = ACTIONS(12768),
    [anon_sym_unless] = ACTIONS(12768),
    [anon_sym_while] = ACTIONS(12768),
    [anon_sym_until] = ACTIONS(12768),
    [anon_sym_rescue] = ACTIONS(12768),
    [anon_sym_do] = ACTIONS(12768),
    [anon_sym_when] = ACTIONS(12768),
    [anon_sym_elsif] = ACTIONS(12768),
    [anon_sym_else] = ACTIONS(12768),
    [anon_sym_then] = ACTIONS(12768),
    [anon_sym_ensure] = ACTIONS(12768),
    [anon_sym_EQ_GT] = ACTIONS(12768),
    [anon_sym_AMP_DOT] = ACTIONS(12768),
    [anon_sym_QMARK] = ACTIONS(12768),
    [anon_sym_DOT_DOT] = ACTIONS(12770),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12768),
    [anon_sym_and] = ACTIONS(12768),
    [anon_sym_or] = ACTIONS(12768),
    [anon_sym_PIPE_PIPE] = ACTIONS(12768),
    [anon_sym_AMP_AMP] = ACTIONS(12768),
    [anon_sym_LT_LT] = ACTIONS(12768),
    [anon_sym_GT_GT] = ACTIONS(12768),
    [anon_sym_EQ_EQ] = ACTIONS(12770),
    [anon_sym_BANG_EQ] = ACTIONS(12768),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12768),
    [anon_sym_LT_EQ_GT] = ACTIONS(12768),
    [anon_sym_EQ_TILDE] = ACTIONS(12768),
    [anon_sym_BANG_TILDE] = ACTIONS(12768),
    [anon_sym_LT_EQ] = ACTIONS(12770),
    [anon_sym_GT] = ACTIONS(12770),
    [anon_sym_GT_EQ] = ACTIONS(12768),
    [anon_sym_CARET] = ACTIONS(12768),
    [anon_sym_PLUS] = ACTIONS(12768),
    [anon_sym_SLASH] = ACTIONS(12768),
    [anon_sym_PERCENT] = ACTIONS(12768),
    [sym_comment] = ACTIONS(110),
  },
  [6918] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1382),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(8175),
    [sym__argument] = STATE(1385),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1386),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1387),
    [sym__variable] = STATE(1383),
    [sym_reserved_identifier] = STATE(1388),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1389),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(11044),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(11044),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(2154),
    [sym__splat_star] = ACTIONS(2156),
    [sym__unary_minus] = ACTIONS(2158),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(11044),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2162),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2164),
    [anon_sym_yield] = ACTIONS(2166),
    [anon_sym_break] = ACTIONS(2168),
    [anon_sym_next] = ACTIONS(2170),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2172),
    [anon_sym_defined_QMARK] = ACTIONS(2174),
    [anon_sym_not] = ACTIONS(2176),
    [anon_sym_BANG] = ACTIONS(2178),
    [anon_sym_TILDE] = ACTIONS(2178),
    [sym_constant] = ACTIONS(2180),
    [sym_identifier] = ACTIONS(2180),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6919] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(9945),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1386),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1387),
    [sym__variable] = STATE(1383),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2158),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5360),
    [anon_sym_yield] = ACTIONS(5362),
    [anon_sym_break] = ACTIONS(5364),
    [anon_sym_next] = ACTIONS(5366),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2172),
    [anon_sym_defined_QMARK] = ACTIONS(2174),
    [anon_sym_not] = ACTIONS(5368),
    [anon_sym_BANG] = ACTIONS(2178),
    [anon_sym_TILDE] = ACTIONS(2178),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [6920] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(5382),
    [sym__binary_star] = ACTIONS(5384),
    [anon_sym_RPAREN] = ACTIONS(6346),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(5386),
    [anon_sym_STAR_STAR] = ACTIONS(5388),
    [anon_sym_AMP] = ACTIONS(5390),
    [anon_sym_LT] = ACTIONS(5392),
    [anon_sym_EQ_GT] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(5394),
    [anon_sym_DOT_DOT] = ACTIONS(5396),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5398),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(5402),
    [anon_sym_AMP_AMP] = ACTIONS(5402),
    [anon_sym_LT_LT] = ACTIONS(5404),
    [anon_sym_GT_GT] = ACTIONS(5404),
    [anon_sym_EQ_EQ] = ACTIONS(5406),
    [anon_sym_BANG_EQ] = ACTIONS(5402),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5402),
    [anon_sym_LT_EQ_GT] = ACTIONS(5402),
    [anon_sym_EQ_TILDE] = ACTIONS(5402),
    [anon_sym_BANG_TILDE] = ACTIONS(5402),
    [anon_sym_LT_EQ] = ACTIONS(5392),
    [anon_sym_GT] = ACTIONS(5392),
    [anon_sym_GT_EQ] = ACTIONS(5408),
    [anon_sym_CARET] = ACTIONS(5410),
    [anon_sym_PLUS] = ACTIONS(5412),
    [anon_sym_SLASH] = ACTIONS(5388),
    [anon_sym_PERCENT] = ACTIONS(5388),
    [sym_comment] = ACTIONS(110),
  },
  [6921] = {
    [aux_sym_exceptions_repeat1] = STATE(9947),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_RPAREN] = ACTIONS(7330),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_EQ_GT] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [6922] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(5382),
    [sym__binary_star] = ACTIONS(5384),
    [anon_sym_RPAREN] = ACTIONS(7344),
    [anon_sym_COMMA] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(5386),
    [anon_sym_STAR_STAR] = ACTIONS(5388),
    [anon_sym_AMP] = ACTIONS(5390),
    [anon_sym_LT] = ACTIONS(5392),
    [anon_sym_EQ_GT] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(5394),
    [anon_sym_DOT_DOT] = ACTIONS(5396),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5398),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(5402),
    [anon_sym_AMP_AMP] = ACTIONS(5402),
    [anon_sym_LT_LT] = ACTIONS(5404),
    [anon_sym_GT_GT] = ACTIONS(5404),
    [anon_sym_EQ_EQ] = ACTIONS(5406),
    [anon_sym_BANG_EQ] = ACTIONS(5402),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5402),
    [anon_sym_LT_EQ_GT] = ACTIONS(5402),
    [anon_sym_EQ_TILDE] = ACTIONS(5402),
    [anon_sym_BANG_TILDE] = ACTIONS(5402),
    [anon_sym_LT_EQ] = ACTIONS(5392),
    [anon_sym_GT] = ACTIONS(5392),
    [anon_sym_GT_EQ] = ACTIONS(5408),
    [anon_sym_CARET] = ACTIONS(5410),
    [anon_sym_PLUS] = ACTIONS(5412),
    [anon_sym_SLASH] = ACTIONS(5388),
    [anon_sym_PERCENT] = ACTIONS(5388),
    [sym_comment] = ACTIONS(110),
  },
  [6923] = {
    [sym__simple_heredoc_body] = ACTIONS(8662),
    [sym__heredoc_body_beginning] = ACTIONS(8662),
    [sym__binary_minus] = ACTIONS(9406),
    [sym__binary_star] = ACTIONS(9408),
    [anon_sym_RPAREN] = ACTIONS(8662),
    [anon_sym_COMMA] = ACTIONS(8662),
    [anon_sym_PIPE] = ACTIONS(9410),
    [anon_sym_STAR_STAR] = ACTIONS(9412),
    [anon_sym_AMP] = ACTIONS(9414),
    [anon_sym_LT] = ACTIONS(9416),
    [anon_sym_QMARK] = ACTIONS(9418),
    [anon_sym_DOT_DOT] = ACTIONS(9420),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9422),
    [anon_sym_and] = ACTIONS(9424),
    [anon_sym_or] = ACTIONS(9424),
    [anon_sym_PIPE_PIPE] = ACTIONS(9426),
    [anon_sym_AMP_AMP] = ACTIONS(9426),
    [anon_sym_LT_LT] = ACTIONS(9428),
    [anon_sym_GT_GT] = ACTIONS(9428),
    [anon_sym_EQ_EQ] = ACTIONS(9430),
    [anon_sym_BANG_EQ] = ACTIONS(9426),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9426),
    [anon_sym_LT_EQ_GT] = ACTIONS(9426),
    [anon_sym_EQ_TILDE] = ACTIONS(9426),
    [anon_sym_BANG_TILDE] = ACTIONS(9426),
    [anon_sym_LT_EQ] = ACTIONS(9416),
    [anon_sym_GT] = ACTIONS(9416),
    [anon_sym_GT_EQ] = ACTIONS(9432),
    [anon_sym_CARET] = ACTIONS(9434),
    [anon_sym_PLUS] = ACTIONS(9436),
    [anon_sym_SLASH] = ACTIONS(9412),
    [anon_sym_PERCENT] = ACTIONS(9412),
    [sym_comment] = ACTIONS(110),
  },
  [6924] = {
    [sym__simple_heredoc_body] = ACTIONS(8568),
    [sym__heredoc_body_beginning] = ACTIONS(8568),
    [sym__line_break] = ACTIONS(8568),
    [sym__element_reference_left_bracket] = ACTIONS(8568),
    [sym__scope_double_colon] = ACTIONS(8568),
    [sym__binary_minus] = ACTIONS(2212),
    [sym__binary_star] = ACTIONS(2214),
    [ts_builtin_sym_end] = ACTIONS(8568),
    [anon_sym___END__] = ACTIONS(8568),
    [anon_sym_DOT] = ACTIONS(9468),
    [anon_sym_COMMA] = ACTIONS(8568),
    [anon_sym_PIPE] = ACTIONS(2218),
    [anon_sym_SEMI] = ACTIONS(8568),
    [anon_sym_STAR_STAR] = ACTIONS(2220),
    [anon_sym_AMP] = ACTIONS(2222),
    [anon_sym_LT] = ACTIONS(2224),
    [anon_sym_if] = ACTIONS(8568),
    [anon_sym_unless] = ACTIONS(8568),
    [anon_sym_while] = ACTIONS(8568),
    [anon_sym_until] = ACTIONS(8568),
    [anon_sym_rescue] = ACTIONS(8568),
    [anon_sym_EQ_GT] = ACTIONS(8568),
    [anon_sym_AMP_DOT] = ACTIONS(8568),
    [anon_sym_QMARK] = ACTIONS(2226),
    [anon_sym_DOT_DOT] = ACTIONS(2228),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2230),
    [anon_sym_and] = ACTIONS(8568),
    [anon_sym_or] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE] = ACTIONS(2232),
    [anon_sym_AMP_AMP] = ACTIONS(2232),
    [anon_sym_LT_LT] = ACTIONS(2234),
    [anon_sym_GT_GT] = ACTIONS(2234),
    [anon_sym_EQ_EQ] = ACTIONS(2236),
    [anon_sym_BANG_EQ] = ACTIONS(2232),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2232),
    [anon_sym_LT_EQ_GT] = ACTIONS(2232),
    [anon_sym_EQ_TILDE] = ACTIONS(2232),
    [anon_sym_BANG_TILDE] = ACTIONS(2232),
    [anon_sym_LT_EQ] = ACTIONS(2224),
    [anon_sym_GT] = ACTIONS(2224),
    [anon_sym_GT_EQ] = ACTIONS(2238),
    [anon_sym_CARET] = ACTIONS(2240),
    [anon_sym_PLUS] = ACTIONS(2242),
    [anon_sym_SLASH] = ACTIONS(2220),
    [anon_sym_PERCENT] = ACTIONS(2220),
    [sym_comment] = ACTIONS(110),
  },
  [6925] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1404),
    [sym__primary] = STATE(337),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(339),
    [sym_call] = STATE(339),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(6955),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(345),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(346),
    [sym__variable] = STATE(339),
    [sym_reserved_identifier] = STATE(1406),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(1407),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__block_ampersand] = ACTIONS(2202),
    [sym__splat_star] = ACTIONS(2204),
    [sym__unary_minus] = ACTIONS(542),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(9464),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(554),
    [anon_sym_yield] = ACTIONS(556),
    [anon_sym_break] = ACTIONS(558),
    [anon_sym_next] = ACTIONS(560),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2190),
    [anon_sym_defined_QMARK] = ACTIONS(572),
    [anon_sym_not] = ACTIONS(574),
    [anon_sym_BANG] = ACTIONS(578),
    [anon_sym_TILDE] = ACTIONS(578),
    [sym_constant] = ACTIONS(2206),
    [sym_identifier] = ACTIONS(2206),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(588),
    [anon_sym_super] = ACTIONS(590),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6926] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1404),
    [sym__primary] = STATE(337),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(339),
    [sym_call] = STATE(339),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(6955),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(345),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(346),
    [sym__variable] = STATE(339),
    [sym_reserved_identifier] = STATE(1406),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(1407),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(9948),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__block_ampersand] = ACTIONS(2202),
    [sym__splat_star] = ACTIONS(2204),
    [sym__unary_minus] = ACTIONS(542),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(9464),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(554),
    [anon_sym_yield] = ACTIONS(556),
    [anon_sym_break] = ACTIONS(558),
    [anon_sym_next] = ACTIONS(560),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2190),
    [anon_sym_defined_QMARK] = ACTIONS(572),
    [anon_sym_not] = ACTIONS(574),
    [anon_sym_BANG] = ACTIONS(578),
    [anon_sym_TILDE] = ACTIONS(578),
    [sym_constant] = ACTIONS(2206),
    [sym_identifier] = ACTIONS(2206),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(588),
    [anon_sym_super] = ACTIONS(590),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6927] = {
    [sym__simple_heredoc_body] = ACTIONS(8662),
    [sym__heredoc_body_beginning] = ACTIONS(8662),
    [sym__line_break] = ACTIONS(8662),
    [sym__element_reference_left_bracket] = ACTIONS(8662),
    [sym__scope_double_colon] = ACTIONS(8662),
    [sym__binary_minus] = ACTIONS(2212),
    [sym__binary_star] = ACTIONS(2214),
    [ts_builtin_sym_end] = ACTIONS(8662),
    [anon_sym___END__] = ACTIONS(8662),
    [anon_sym_DOT] = ACTIONS(9506),
    [anon_sym_COMMA] = ACTIONS(8662),
    [anon_sym_PIPE] = ACTIONS(2218),
    [anon_sym_SEMI] = ACTIONS(8662),
    [anon_sym_STAR_STAR] = ACTIONS(2220),
    [anon_sym_AMP] = ACTIONS(2222),
    [anon_sym_LT] = ACTIONS(2224),
    [anon_sym_if] = ACTIONS(8662),
    [anon_sym_unless] = ACTIONS(8662),
    [anon_sym_while] = ACTIONS(8662),
    [anon_sym_until] = ACTIONS(8662),
    [anon_sym_rescue] = ACTIONS(8662),
    [anon_sym_EQ_GT] = ACTIONS(8662),
    [anon_sym_AMP_DOT] = ACTIONS(8662),
    [anon_sym_QMARK] = ACTIONS(2226),
    [anon_sym_DOT_DOT] = ACTIONS(2228),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2230),
    [anon_sym_and] = ACTIONS(8662),
    [anon_sym_or] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE] = ACTIONS(2232),
    [anon_sym_AMP_AMP] = ACTIONS(2232),
    [anon_sym_LT_LT] = ACTIONS(2234),
    [anon_sym_GT_GT] = ACTIONS(2234),
    [anon_sym_EQ_EQ] = ACTIONS(2236),
    [anon_sym_BANG_EQ] = ACTIONS(2232),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2232),
    [anon_sym_LT_EQ_GT] = ACTIONS(2232),
    [anon_sym_EQ_TILDE] = ACTIONS(2232),
    [anon_sym_BANG_TILDE] = ACTIONS(2232),
    [anon_sym_LT_EQ] = ACTIONS(2224),
    [anon_sym_GT] = ACTIONS(2224),
    [anon_sym_GT_EQ] = ACTIONS(2238),
    [anon_sym_CARET] = ACTIONS(2240),
    [anon_sym_PLUS] = ACTIONS(2242),
    [anon_sym_SLASH] = ACTIONS(2220),
    [anon_sym_PERCENT] = ACTIONS(2220),
    [sym_comment] = ACTIONS(110),
  },
  [6928] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9949),
    [sym__primary] = STATE(337),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(339),
    [sym_call] = STATE(339),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(345),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(346),
    [sym__variable] = STATE(339),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(542),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2182),
    [anon_sym_yield] = ACTIONS(2184),
    [anon_sym_break] = ACTIONS(2186),
    [anon_sym_next] = ACTIONS(2188),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2190),
    [anon_sym_defined_QMARK] = ACTIONS(572),
    [anon_sym_not] = ACTIONS(2192),
    [anon_sym_BANG] = ACTIONS(578),
    [anon_sym_TILDE] = ACTIONS(578),
    [sym_constant] = ACTIONS(2194),
    [sym_identifier] = ACTIONS(2194),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2196),
    [anon_sym_super] = ACTIONS(2198),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6929] = {
    [sym__simple_heredoc_body] = ACTIONS(11316),
    [sym__heredoc_body_beginning] = ACTIONS(11316),
    [sym__line_break] = ACTIONS(11316),
    [sym__element_reference_left_bracket] = ACTIONS(11316),
    [sym__scope_double_colon] = ACTIONS(11316),
    [sym__binary_minus] = ACTIONS(11316),
    [sym__binary_star] = ACTIONS(11316),
    [ts_builtin_sym_end] = ACTIONS(11316),
    [anon_sym___END__] = ACTIONS(11316),
    [anon_sym_LBRACE] = ACTIONS(11316),
    [anon_sym_RBRACE] = ACTIONS(11316),
    [anon_sym_RPAREN] = ACTIONS(11316),
    [anon_sym_DOT] = ACTIONS(11318),
    [anon_sym_end] = ACTIONS(11316),
    [anon_sym_COMMA] = ACTIONS(11316),
    [anon_sym_PIPE] = ACTIONS(11318),
    [anon_sym_SEMI] = ACTIONS(11316),
    [anon_sym_STAR_STAR] = ACTIONS(11318),
    [anon_sym_AMP] = ACTIONS(11318),
    [anon_sym_EQ] = ACTIONS(11318),
    [anon_sym_LT] = ACTIONS(11318),
    [anon_sym_if] = ACTIONS(11316),
    [anon_sym_unless] = ACTIONS(11316),
    [anon_sym_while] = ACTIONS(11316),
    [anon_sym_until] = ACTIONS(11316),
    [anon_sym_rescue] = ACTIONS(11316),
    [anon_sym_do] = ACTIONS(11316),
    [anon_sym_when] = ACTIONS(11316),
    [anon_sym_elsif] = ACTIONS(11316),
    [anon_sym_else] = ACTIONS(11316),
    [anon_sym_then] = ACTIONS(11316),
    [anon_sym_ensure] = ACTIONS(11316),
    [anon_sym_EQ_GT] = ACTIONS(11316),
    [anon_sym_AMP_DOT] = ACTIONS(11316),
    [anon_sym_PLUS_EQ] = ACTIONS(11316),
    [anon_sym_DASH_EQ] = ACTIONS(11316),
    [anon_sym_STAR_EQ] = ACTIONS(11316),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(11316),
    [anon_sym_SLASH_EQ] = ACTIONS(11316),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(11316),
    [anon_sym_PIPE_EQ] = ACTIONS(11316),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(11316),
    [anon_sym_AMP_EQ] = ACTIONS(11316),
    [anon_sym_PERCENT_EQ] = ACTIONS(11316),
    [anon_sym_GT_GT_EQ] = ACTIONS(11316),
    [anon_sym_LT_LT_EQ] = ACTIONS(11316),
    [anon_sym_CARET_EQ] = ACTIONS(11316),
    [anon_sym_QMARK] = ACTIONS(11316),
    [anon_sym_DOT_DOT] = ACTIONS(11318),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11316),
    [anon_sym_and] = ACTIONS(11316),
    [anon_sym_or] = ACTIONS(11316),
    [anon_sym_PIPE_PIPE] = ACTIONS(11318),
    [anon_sym_AMP_AMP] = ACTIONS(11318),
    [anon_sym_LT_LT] = ACTIONS(11318),
    [anon_sym_GT_GT] = ACTIONS(11318),
    [anon_sym_EQ_EQ] = ACTIONS(11318),
    [anon_sym_BANG_EQ] = ACTIONS(11316),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11316),
    [anon_sym_LT_EQ_GT] = ACTIONS(11316),
    [anon_sym_EQ_TILDE] = ACTIONS(11316),
    [anon_sym_BANG_TILDE] = ACTIONS(11316),
    [anon_sym_LT_EQ] = ACTIONS(11318),
    [anon_sym_GT] = ACTIONS(11318),
    [anon_sym_GT_EQ] = ACTIONS(11316),
    [anon_sym_CARET] = ACTIONS(11318),
    [anon_sym_PLUS] = ACTIONS(11318),
    [anon_sym_SLASH] = ACTIONS(11318),
    [anon_sym_PERCENT] = ACTIONS(11318),
    [sym_comment] = ACTIONS(256),
  },
  [6930] = {
    [anon_sym_RBRACK] = ACTIONS(12772),
    [sym_comment] = ACTIONS(110),
  },
  [6931] = {
    [sym__simple_string] = ACTIONS(5370),
    [sym__simple_symbol] = ACTIONS(5370),
    [sym__simple_subshell] = ACTIONS(5370),
    [sym__simple_regex] = ACTIONS(5370),
    [sym__simple_word_list] = ACTIONS(5370),
    [sym__simple_heredoc_body] = ACTIONS(5370),
    [sym__string_beginning] = ACTIONS(5370),
    [sym__symbol_beginning] = ACTIONS(5370),
    [sym__subshell_beginning] = ACTIONS(5370),
    [sym__regex_beginning] = ACTIONS(5370),
    [sym__word_list_beginning] = ACTIONS(5370),
    [sym__heredoc_body_beginning] = ACTIONS(5370),
    [sym_heredoc_beginning] = ACTIONS(5370),
    [sym__line_break] = ACTIONS(5370),
    [sym__element_reference_left_bracket] = ACTIONS(5370),
    [sym__block_ampersand] = ACTIONS(5370),
    [sym__splat_star] = ACTIONS(5370),
    [sym__argument_list_left_paren] = ACTIONS(5370),
    [sym__scope_double_colon] = ACTIONS(5370),
    [sym__unary_minus] = ACTIONS(5370),
    [sym__binary_minus] = ACTIONS(5370),
    [sym__binary_star] = ACTIONS(5370),
    [ts_builtin_sym_end] = ACTIONS(5370),
    [anon_sym___END__] = ACTIONS(5372),
    [anon_sym_LBRACE] = ACTIONS(5370),
    [anon_sym_def] = ACTIONS(5372),
    [anon_sym_LPAREN] = ACTIONS(5370),
    [anon_sym_DOT] = ACTIONS(5372),
    [anon_sym_COLON_COLON] = ACTIONS(5370),
    [anon_sym_end] = ACTIONS(5372),
    [anon_sym_COMMA] = ACTIONS(5370),
    [anon_sym_PIPE] = ACTIONS(5372),
    [anon_sym_SEMI] = ACTIONS(5370),
    [anon_sym_STAR] = ACTIONS(5372),
    [anon_sym_STAR_STAR] = ACTIONS(5372),
    [anon_sym_AMP] = ACTIONS(5372),
    [anon_sym_EQ] = ACTIONS(5372),
    [anon_sym_class] = ACTIONS(5372),
    [anon_sym_LT] = ACTIONS(5372),
    [anon_sym_module] = ACTIONS(5372),
    [anon_sym_return] = ACTIONS(5372),
    [anon_sym_yield] = ACTIONS(5372),
    [anon_sym_break] = ACTIONS(5372),
    [anon_sym_next] = ACTIONS(5372),
    [anon_sym_redo] = ACTIONS(5372),
    [anon_sym_retry] = ACTIONS(5372),
    [anon_sym_if] = ACTIONS(5372),
    [anon_sym_unless] = ACTIONS(5372),
    [anon_sym_while] = ACTIONS(5372),
    [anon_sym_until] = ACTIONS(5372),
    [anon_sym_rescue] = ACTIONS(5372),
    [anon_sym_for] = ACTIONS(5372),
    [anon_sym_in] = ACTIONS(5372),
    [anon_sym_do] = ACTIONS(5372),
    [anon_sym_case] = ACTIONS(5372),
    [anon_sym_when] = ACTIONS(5372),
    [anon_sym_elsif] = ACTIONS(5372),
    [anon_sym_else] = ACTIONS(5372),
    [anon_sym_then] = ACTIONS(5372),
    [anon_sym_begin] = ACTIONS(5372),
    [anon_sym_ensure] = ACTIONS(5372),
    [anon_sym_EQ_GT] = ACTIONS(5370),
    [anon_sym_AMP_DOT] = ACTIONS(5370),
    [anon_sym_PLUS_EQ] = ACTIONS(5370),
    [anon_sym_DASH_EQ] = ACTIONS(5370),
    [anon_sym_STAR_EQ] = ACTIONS(5370),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5370),
    [anon_sym_SLASH_EQ] = ACTIONS(5370),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5370),
    [anon_sym_PIPE_EQ] = ACTIONS(5370),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5370),
    [anon_sym_AMP_EQ] = ACTIONS(5370),
    [anon_sym_PERCENT_EQ] = ACTIONS(5370),
    [anon_sym_GT_GT_EQ] = ACTIONS(5370),
    [anon_sym_LT_LT_EQ] = ACTIONS(5370),
    [anon_sym_CARET_EQ] = ACTIONS(5370),
    [anon_sym_QMARK] = ACTIONS(5372),
    [anon_sym_DOT_DOT] = ACTIONS(5372),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5370),
    [anon_sym_and] = ACTIONS(5372),
    [anon_sym_or] = ACTIONS(5372),
    [anon_sym_PIPE_PIPE] = ACTIONS(5372),
    [anon_sym_AMP_AMP] = ACTIONS(5372),
    [anon_sym_LT_LT] = ACTIONS(5372),
    [anon_sym_GT_GT] = ACTIONS(5372),
    [anon_sym_EQ_EQ] = ACTIONS(5372),
    [anon_sym_BANG_EQ] = ACTIONS(5370),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5370),
    [anon_sym_LT_EQ_GT] = ACTIONS(5370),
    [anon_sym_EQ_TILDE] = ACTIONS(5370),
    [anon_sym_BANG_TILDE] = ACTIONS(5370),
    [anon_sym_LT_EQ] = ACTIONS(5372),
    [anon_sym_GT] = ACTIONS(5372),
    [anon_sym_GT_EQ] = ACTIONS(5370),
    [anon_sym_CARET] = ACTIONS(5372),
    [anon_sym_PLUS] = ACTIONS(5372),
    [anon_sym_SLASH] = ACTIONS(5372),
    [anon_sym_PERCENT] = ACTIONS(5372),
    [anon_sym_defined_QMARK] = ACTIONS(5370),
    [anon_sym_not] = ACTIONS(5372),
    [anon_sym_BANG] = ACTIONS(5372),
    [anon_sym_TILDE] = ACTIONS(5370),
    [sym_constant] = ACTIONS(11322),
    [sym_identifier] = ACTIONS(11322),
    [sym_instance_variable] = ACTIONS(5372),
    [sym_class_variable] = ACTIONS(5372),
    [sym_global_variable] = ACTIONS(5372),
    [anon_sym_alias] = ACTIONS(5372),
    [anon_sym_defined] = ACTIONS(5372),
    [anon_sym_false] = ACTIONS(5372),
    [anon_sym_nil] = ACTIONS(5372),
    [anon_sym_self] = ACTIONS(5372),
    [anon_sym_super] = ACTIONS(5372),
    [anon_sym_true] = ACTIONS(5372),
    [anon_sym_undef] = ACTIONS(5372),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(5372),
    [sym_float] = ACTIONS(11322),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5370),
    [anon_sym_TRUE] = ACTIONS(5372),
    [anon_sym_FALSE] = ACTIONS(5372),
    [anon_sym_NIL] = ACTIONS(5372),
    [sym_keyword__FILE__] = ACTIONS(5372),
    [sym_keyword__LINE__] = ACTIONS(5372),
    [sym_keyword__ENCODING__] = ACTIONS(5372),
    [sym__character_literal] = ACTIONS(5372),
    [anon_sym_LBRACK] = ACTIONS(5370),
    [anon_sym_DASH_GT] = ACTIONS(5370),
  },
  [6932] = {
    [sym_heredoc_end] = STATE(9952),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RPAREN] = ACTIONS(12774),
    [sym_comment] = ACTIONS(110),
  },
  [6933] = {
    [anon_sym_RPAREN] = ACTIONS(12774),
    [sym_comment] = ACTIONS(110),
  },
  [6934] = {
    [sym__simple_heredoc_body] = ACTIONS(9456),
    [sym__heredoc_body_beginning] = ACTIONS(9456),
    [sym__line_break] = ACTIONS(9456),
    [sym__element_reference_left_bracket] = ACTIONS(9456),
    [sym__scope_double_colon] = ACTIONS(9456),
    [sym__binary_minus] = ACTIONS(9456),
    [sym__binary_star] = ACTIONS(9456),
    [ts_builtin_sym_end] = ACTIONS(9456),
    [anon_sym___END__] = ACTIONS(9456),
    [anon_sym_LBRACE] = ACTIONS(9456),
    [anon_sym_RBRACE] = ACTIONS(9456),
    [anon_sym_RPAREN] = ACTIONS(9456),
    [anon_sym_DOT] = ACTIONS(9458),
    [anon_sym_end] = ACTIONS(9456),
    [anon_sym_COMMA] = ACTIONS(9456),
    [anon_sym_PIPE] = ACTIONS(9458),
    [anon_sym_SEMI] = ACTIONS(9456),
    [anon_sym_STAR_STAR] = ACTIONS(9458),
    [anon_sym_AMP] = ACTIONS(9458),
    [anon_sym_EQ] = ACTIONS(9458),
    [anon_sym_LT] = ACTIONS(9458),
    [anon_sym_if] = ACTIONS(9456),
    [anon_sym_unless] = ACTIONS(9456),
    [anon_sym_while] = ACTIONS(9456),
    [anon_sym_until] = ACTIONS(9456),
    [anon_sym_rescue] = ACTIONS(9456),
    [anon_sym_do] = ACTIONS(9456),
    [anon_sym_when] = ACTIONS(9456),
    [anon_sym_elsif] = ACTIONS(9456),
    [anon_sym_else] = ACTIONS(9456),
    [anon_sym_then] = ACTIONS(9456),
    [anon_sym_ensure] = ACTIONS(9456),
    [anon_sym_EQ_GT] = ACTIONS(9456),
    [anon_sym_AMP_DOT] = ACTIONS(9456),
    [anon_sym_PLUS_EQ] = ACTIONS(9456),
    [anon_sym_DASH_EQ] = ACTIONS(9456),
    [anon_sym_STAR_EQ] = ACTIONS(9456),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9456),
    [anon_sym_SLASH_EQ] = ACTIONS(9456),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9456),
    [anon_sym_PIPE_EQ] = ACTIONS(9456),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9456),
    [anon_sym_AMP_EQ] = ACTIONS(9456),
    [anon_sym_PERCENT_EQ] = ACTIONS(9456),
    [anon_sym_GT_GT_EQ] = ACTIONS(9456),
    [anon_sym_LT_LT_EQ] = ACTIONS(9456),
    [anon_sym_CARET_EQ] = ACTIONS(9456),
    [anon_sym_QMARK] = ACTIONS(9456),
    [anon_sym_DOT_DOT] = ACTIONS(9458),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9456),
    [anon_sym_and] = ACTIONS(9456),
    [anon_sym_or] = ACTIONS(9456),
    [anon_sym_PIPE_PIPE] = ACTIONS(9458),
    [anon_sym_AMP_AMP] = ACTIONS(9458),
    [anon_sym_LT_LT] = ACTIONS(9458),
    [anon_sym_GT_GT] = ACTIONS(9458),
    [anon_sym_EQ_EQ] = ACTIONS(9458),
    [anon_sym_BANG_EQ] = ACTIONS(9456),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9456),
    [anon_sym_LT_EQ_GT] = ACTIONS(9456),
    [anon_sym_EQ_TILDE] = ACTIONS(9456),
    [anon_sym_BANG_TILDE] = ACTIONS(9456),
    [anon_sym_LT_EQ] = ACTIONS(9458),
    [anon_sym_GT] = ACTIONS(9458),
    [anon_sym_GT_EQ] = ACTIONS(9456),
    [anon_sym_CARET] = ACTIONS(9458),
    [anon_sym_PLUS] = ACTIONS(9458),
    [anon_sym_SLASH] = ACTIONS(9458),
    [anon_sym_PERCENT] = ACTIONS(9458),
    [sym_comment] = ACTIONS(256),
  },
  [6935] = {
    [anon_sym_RPAREN] = ACTIONS(12776),
    [sym_comment] = ACTIONS(110),
  },
  [6936] = {
    [sym__simple_heredoc_body] = ACTIONS(11064),
    [sym__heredoc_body_beginning] = ACTIONS(11064),
    [sym__line_break] = ACTIONS(11064),
    [sym__element_reference_left_bracket] = ACTIONS(11064),
    [sym__scope_double_colon] = ACTIONS(11064),
    [sym__binary_minus] = ACTIONS(11064),
    [sym__binary_star] = ACTIONS(11064),
    [ts_builtin_sym_end] = ACTIONS(11064),
    [anon_sym___END__] = ACTIONS(11064),
    [anon_sym_LBRACE] = ACTIONS(11064),
    [anon_sym_RBRACE] = ACTIONS(11064),
    [anon_sym_RPAREN] = ACTIONS(11064),
    [anon_sym_DOT] = ACTIONS(11066),
    [anon_sym_end] = ACTIONS(11064),
    [anon_sym_COMMA] = ACTIONS(11064),
    [anon_sym_PIPE] = ACTIONS(11066),
    [anon_sym_SEMI] = ACTIONS(11064),
    [anon_sym_STAR_STAR] = ACTIONS(11066),
    [anon_sym_AMP] = ACTIONS(11066),
    [anon_sym_EQ] = ACTIONS(11066),
    [anon_sym_LT] = ACTIONS(11066),
    [anon_sym_if] = ACTIONS(11064),
    [anon_sym_unless] = ACTIONS(11064),
    [anon_sym_while] = ACTIONS(11064),
    [anon_sym_until] = ACTIONS(11064),
    [anon_sym_rescue] = ACTIONS(11064),
    [anon_sym_do] = ACTIONS(11064),
    [anon_sym_when] = ACTIONS(11064),
    [anon_sym_elsif] = ACTIONS(11064),
    [anon_sym_else] = ACTIONS(11064),
    [anon_sym_then] = ACTIONS(11064),
    [anon_sym_ensure] = ACTIONS(11064),
    [anon_sym_EQ_GT] = ACTIONS(11064),
    [anon_sym_AMP_DOT] = ACTIONS(11064),
    [anon_sym_PLUS_EQ] = ACTIONS(11064),
    [anon_sym_DASH_EQ] = ACTIONS(11064),
    [anon_sym_STAR_EQ] = ACTIONS(11064),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(11064),
    [anon_sym_SLASH_EQ] = ACTIONS(11064),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(11064),
    [anon_sym_PIPE_EQ] = ACTIONS(11064),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(11064),
    [anon_sym_AMP_EQ] = ACTIONS(11064),
    [anon_sym_PERCENT_EQ] = ACTIONS(11064),
    [anon_sym_GT_GT_EQ] = ACTIONS(11064),
    [anon_sym_LT_LT_EQ] = ACTIONS(11064),
    [anon_sym_CARET_EQ] = ACTIONS(11064),
    [anon_sym_QMARK] = ACTIONS(11064),
    [anon_sym_DOT_DOT] = ACTIONS(11066),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11064),
    [anon_sym_and] = ACTIONS(11064),
    [anon_sym_or] = ACTIONS(11064),
    [anon_sym_PIPE_PIPE] = ACTIONS(11066),
    [anon_sym_AMP_AMP] = ACTIONS(11066),
    [anon_sym_LT_LT] = ACTIONS(11066),
    [anon_sym_GT_GT] = ACTIONS(11066),
    [anon_sym_EQ_EQ] = ACTIONS(11066),
    [anon_sym_BANG_EQ] = ACTIONS(11064),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11064),
    [anon_sym_LT_EQ_GT] = ACTIONS(11064),
    [anon_sym_EQ_TILDE] = ACTIONS(11064),
    [anon_sym_BANG_TILDE] = ACTIONS(11064),
    [anon_sym_LT_EQ] = ACTIONS(11066),
    [anon_sym_GT] = ACTIONS(11066),
    [anon_sym_GT_EQ] = ACTIONS(11064),
    [anon_sym_CARET] = ACTIONS(11066),
    [anon_sym_PLUS] = ACTIONS(11066),
    [anon_sym_SLASH] = ACTIONS(11066),
    [anon_sym_PERCENT] = ACTIONS(11066),
    [sym_comment] = ACTIONS(256),
  },
  [6937] = {
    [anon_sym_RBRACE] = ACTIONS(12778),
    [sym_comment] = ACTIONS(110),
  },
  [6938] = {
    [sym__simple_heredoc_body] = ACTIONS(11094),
    [sym__heredoc_body_beginning] = ACTIONS(11094),
    [sym__line_break] = ACTIONS(11094),
    [sym__element_reference_left_bracket] = ACTIONS(11094),
    [sym__scope_double_colon] = ACTIONS(11094),
    [sym__binary_minus] = ACTIONS(11094),
    [sym__binary_star] = ACTIONS(11094),
    [ts_builtin_sym_end] = ACTIONS(11094),
    [anon_sym___END__] = ACTIONS(11094),
    [anon_sym_LBRACE] = ACTIONS(11094),
    [anon_sym_RBRACE] = ACTIONS(11094),
    [anon_sym_RPAREN] = ACTIONS(11094),
    [anon_sym_DOT] = ACTIONS(11096),
    [anon_sym_end] = ACTIONS(11094),
    [anon_sym_COMMA] = ACTIONS(11094),
    [anon_sym_PIPE] = ACTIONS(11096),
    [anon_sym_SEMI] = ACTIONS(11094),
    [anon_sym_STAR_STAR] = ACTIONS(11096),
    [anon_sym_AMP] = ACTIONS(11096),
    [anon_sym_EQ] = ACTIONS(11096),
    [anon_sym_LT] = ACTIONS(11096),
    [anon_sym_if] = ACTIONS(11094),
    [anon_sym_unless] = ACTIONS(11094),
    [anon_sym_while] = ACTIONS(11094),
    [anon_sym_until] = ACTIONS(11094),
    [anon_sym_rescue] = ACTIONS(11094),
    [anon_sym_do] = ACTIONS(11094),
    [anon_sym_when] = ACTIONS(11094),
    [anon_sym_elsif] = ACTIONS(11094),
    [anon_sym_else] = ACTIONS(11094),
    [anon_sym_then] = ACTIONS(11094),
    [anon_sym_ensure] = ACTIONS(11094),
    [anon_sym_EQ_GT] = ACTIONS(11094),
    [anon_sym_AMP_DOT] = ACTIONS(11094),
    [anon_sym_PLUS_EQ] = ACTIONS(11094),
    [anon_sym_DASH_EQ] = ACTIONS(11094),
    [anon_sym_STAR_EQ] = ACTIONS(11094),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(11094),
    [anon_sym_SLASH_EQ] = ACTIONS(11094),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(11094),
    [anon_sym_PIPE_EQ] = ACTIONS(11094),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(11094),
    [anon_sym_AMP_EQ] = ACTIONS(11094),
    [anon_sym_PERCENT_EQ] = ACTIONS(11094),
    [anon_sym_GT_GT_EQ] = ACTIONS(11094),
    [anon_sym_LT_LT_EQ] = ACTIONS(11094),
    [anon_sym_CARET_EQ] = ACTIONS(11094),
    [anon_sym_QMARK] = ACTIONS(11094),
    [anon_sym_DOT_DOT] = ACTIONS(11096),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11094),
    [anon_sym_and] = ACTIONS(11094),
    [anon_sym_or] = ACTIONS(11094),
    [anon_sym_PIPE_PIPE] = ACTIONS(11096),
    [anon_sym_AMP_AMP] = ACTIONS(11096),
    [anon_sym_LT_LT] = ACTIONS(11096),
    [anon_sym_GT_GT] = ACTIONS(11096),
    [anon_sym_EQ_EQ] = ACTIONS(11096),
    [anon_sym_BANG_EQ] = ACTIONS(11094),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11094),
    [anon_sym_LT_EQ_GT] = ACTIONS(11094),
    [anon_sym_EQ_TILDE] = ACTIONS(11094),
    [anon_sym_BANG_TILDE] = ACTIONS(11094),
    [anon_sym_LT_EQ] = ACTIONS(11096),
    [anon_sym_GT] = ACTIONS(11096),
    [anon_sym_GT_EQ] = ACTIONS(11094),
    [anon_sym_CARET] = ACTIONS(11096),
    [anon_sym_PLUS] = ACTIONS(11096),
    [anon_sym_SLASH] = ACTIONS(11096),
    [anon_sym_PERCENT] = ACTIONS(11096),
    [sym_comment] = ACTIONS(256),
  },
  [6939] = {
    [anon_sym_end] = ACTIONS(12780),
    [sym_comment] = ACTIONS(110),
  },
  [6940] = {
    [sym__statements] = STATE(9956),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(12782),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6941] = {
    [sym__statements] = STATE(9956),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(9957),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(12782),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6942] = {
    [sym__simple_heredoc_body] = ACTIONS(8568),
    [sym__heredoc_body_beginning] = ACTIONS(8568),
    [sym__line_break] = ACTIONS(8568),
    [sym__element_reference_left_bracket] = ACTIONS(8568),
    [sym__scope_double_colon] = ACTIONS(8568),
    [sym__binary_minus] = ACTIONS(3318),
    [sym__binary_star] = ACTIONS(3320),
    [ts_builtin_sym_end] = ACTIONS(8568),
    [anon_sym___END__] = ACTIONS(8568),
    [anon_sym_LBRACE] = ACTIONS(8568),
    [anon_sym_DOT] = ACTIONS(9468),
    [anon_sym_COMMA] = ACTIONS(8568),
    [anon_sym_PIPE] = ACTIONS(3322),
    [anon_sym_SEMI] = ACTIONS(8568),
    [anon_sym_STAR_STAR] = ACTIONS(3324),
    [anon_sym_AMP] = ACTIONS(3326),
    [anon_sym_EQ] = ACTIONS(9468),
    [anon_sym_LT] = ACTIONS(3328),
    [anon_sym_if] = ACTIONS(8568),
    [anon_sym_unless] = ACTIONS(8568),
    [anon_sym_while] = ACTIONS(8568),
    [anon_sym_until] = ACTIONS(8568),
    [anon_sym_rescue] = ACTIONS(8568),
    [anon_sym_do] = ACTIONS(8568),
    [anon_sym_EQ_GT] = ACTIONS(8568),
    [anon_sym_AMP_DOT] = ACTIONS(8568),
    [anon_sym_PLUS_EQ] = ACTIONS(8568),
    [anon_sym_DASH_EQ] = ACTIONS(8568),
    [anon_sym_STAR_EQ] = ACTIONS(8568),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8568),
    [anon_sym_SLASH_EQ] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8568),
    [anon_sym_PIPE_EQ] = ACTIONS(8568),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8568),
    [anon_sym_AMP_EQ] = ACTIONS(8568),
    [anon_sym_PERCENT_EQ] = ACTIONS(8568),
    [anon_sym_GT_GT_EQ] = ACTIONS(8568),
    [anon_sym_LT_LT_EQ] = ACTIONS(8568),
    [anon_sym_CARET_EQ] = ACTIONS(8568),
    [anon_sym_QMARK] = ACTIONS(3330),
    [anon_sym_DOT_DOT] = ACTIONS(3332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3334),
    [anon_sym_and] = ACTIONS(8568),
    [anon_sym_or] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE] = ACTIONS(3336),
    [anon_sym_AMP_AMP] = ACTIONS(3336),
    [anon_sym_LT_LT] = ACTIONS(3338),
    [anon_sym_GT_GT] = ACTIONS(3338),
    [anon_sym_EQ_EQ] = ACTIONS(3336),
    [anon_sym_BANG_EQ] = ACTIONS(3340),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3340),
    [anon_sym_LT_EQ_GT] = ACTIONS(3340),
    [anon_sym_EQ_TILDE] = ACTIONS(3340),
    [anon_sym_BANG_TILDE] = ACTIONS(3340),
    [anon_sym_LT_EQ] = ACTIONS(3328),
    [anon_sym_GT] = ACTIONS(3328),
    [anon_sym_GT_EQ] = ACTIONS(3342),
    [anon_sym_CARET] = ACTIONS(3322),
    [anon_sym_PLUS] = ACTIONS(3344),
    [anon_sym_SLASH] = ACTIONS(3324),
    [anon_sym_PERCENT] = ACTIONS(3324),
    [sym_comment] = ACTIONS(256),
  },
  [6943] = {
    [sym__heredoc_body_middle] = ACTIONS(4108),
    [sym__heredoc_body_end] = ACTIONS(12784),
    [anon_sym_if] = ACTIONS(4112),
    [anon_sym_unless] = ACTIONS(4114),
    [anon_sym_while] = ACTIONS(4116),
    [anon_sym_until] = ACTIONS(4118),
    [anon_sym_rescue] = ACTIONS(4120),
    [sym_comment] = ACTIONS(110),
  },
  [6944] = {
    [sym__statement] = STATE(9959),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [6945] = {
    [sym__simple_heredoc_body] = ACTIONS(9492),
    [sym__heredoc_body_beginning] = ACTIONS(9492),
    [sym__line_break] = ACTIONS(9492),
    [sym__element_reference_left_bracket] = ACTIONS(9492),
    [sym__scope_double_colon] = ACTIONS(9492),
    [sym__binary_minus] = ACTIONS(9492),
    [sym__binary_star] = ACTIONS(9492),
    [ts_builtin_sym_end] = ACTIONS(9492),
    [anon_sym___END__] = ACTIONS(9492),
    [anon_sym_LBRACE] = ACTIONS(9492),
    [anon_sym_RBRACE] = ACTIONS(9492),
    [anon_sym_RPAREN] = ACTIONS(9492),
    [anon_sym_DOT] = ACTIONS(9494),
    [anon_sym_end] = ACTIONS(9492),
    [anon_sym_COMMA] = ACTIONS(9492),
    [anon_sym_PIPE] = ACTIONS(9494),
    [anon_sym_SEMI] = ACTIONS(9492),
    [anon_sym_STAR_STAR] = ACTIONS(9494),
    [anon_sym_AMP] = ACTIONS(9494),
    [anon_sym_EQ] = ACTIONS(9494),
    [anon_sym_LT] = ACTIONS(9494),
    [anon_sym_if] = ACTIONS(9492),
    [anon_sym_unless] = ACTIONS(9492),
    [anon_sym_while] = ACTIONS(9492),
    [anon_sym_until] = ACTIONS(9492),
    [anon_sym_rescue] = ACTIONS(9492),
    [anon_sym_do] = ACTIONS(9492),
    [anon_sym_when] = ACTIONS(9492),
    [anon_sym_elsif] = ACTIONS(9492),
    [anon_sym_else] = ACTIONS(9492),
    [anon_sym_then] = ACTIONS(9492),
    [anon_sym_ensure] = ACTIONS(9492),
    [anon_sym_EQ_GT] = ACTIONS(9492),
    [anon_sym_AMP_DOT] = ACTIONS(9492),
    [anon_sym_PLUS_EQ] = ACTIONS(9492),
    [anon_sym_DASH_EQ] = ACTIONS(9492),
    [anon_sym_STAR_EQ] = ACTIONS(9492),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9492),
    [anon_sym_SLASH_EQ] = ACTIONS(9492),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9492),
    [anon_sym_PIPE_EQ] = ACTIONS(9492),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9492),
    [anon_sym_AMP_EQ] = ACTIONS(9492),
    [anon_sym_PERCENT_EQ] = ACTIONS(9492),
    [anon_sym_GT_GT_EQ] = ACTIONS(9492),
    [anon_sym_LT_LT_EQ] = ACTIONS(9492),
    [anon_sym_CARET_EQ] = ACTIONS(9492),
    [anon_sym_QMARK] = ACTIONS(9492),
    [anon_sym_DOT_DOT] = ACTIONS(9494),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9492),
    [anon_sym_and] = ACTIONS(9492),
    [anon_sym_or] = ACTIONS(9492),
    [anon_sym_PIPE_PIPE] = ACTIONS(9494),
    [anon_sym_AMP_AMP] = ACTIONS(9494),
    [anon_sym_LT_LT] = ACTIONS(9494),
    [anon_sym_GT_GT] = ACTIONS(9494),
    [anon_sym_EQ_EQ] = ACTIONS(9494),
    [anon_sym_BANG_EQ] = ACTIONS(9492),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9492),
    [anon_sym_LT_EQ_GT] = ACTIONS(9492),
    [anon_sym_EQ_TILDE] = ACTIONS(9492),
    [anon_sym_BANG_TILDE] = ACTIONS(9492),
    [anon_sym_LT_EQ] = ACTIONS(9494),
    [anon_sym_GT] = ACTIONS(9494),
    [anon_sym_GT_EQ] = ACTIONS(9492),
    [anon_sym_CARET] = ACTIONS(9494),
    [anon_sym_PLUS] = ACTIONS(9494),
    [anon_sym_SLASH] = ACTIONS(9494),
    [anon_sym_PERCENT] = ACTIONS(9494),
    [sym_comment] = ACTIONS(256),
  },
  [6946] = {
    [sym__simple_heredoc_body] = ACTIONS(9496),
    [sym__heredoc_body_beginning] = ACTIONS(9496),
    [sym__line_break] = ACTIONS(9496),
    [sym__element_reference_left_bracket] = ACTIONS(9496),
    [sym__scope_double_colon] = ACTIONS(9496),
    [sym__binary_minus] = ACTIONS(9496),
    [sym__binary_star] = ACTIONS(9496),
    [ts_builtin_sym_end] = ACTIONS(9496),
    [anon_sym___END__] = ACTIONS(9496),
    [anon_sym_LBRACE] = ACTIONS(9496),
    [anon_sym_RBRACE] = ACTIONS(9496),
    [anon_sym_RPAREN] = ACTIONS(9496),
    [anon_sym_DOT] = ACTIONS(9498),
    [anon_sym_end] = ACTIONS(9496),
    [anon_sym_COMMA] = ACTIONS(9496),
    [anon_sym_PIPE] = ACTIONS(9498),
    [anon_sym_SEMI] = ACTIONS(9496),
    [anon_sym_STAR_STAR] = ACTIONS(9498),
    [anon_sym_AMP] = ACTIONS(9498),
    [anon_sym_EQ] = ACTIONS(9498),
    [anon_sym_LT] = ACTIONS(9498),
    [anon_sym_if] = ACTIONS(9496),
    [anon_sym_unless] = ACTIONS(9496),
    [anon_sym_while] = ACTIONS(9496),
    [anon_sym_until] = ACTIONS(9496),
    [anon_sym_rescue] = ACTIONS(9496),
    [anon_sym_do] = ACTIONS(9496),
    [anon_sym_when] = ACTIONS(9496),
    [anon_sym_elsif] = ACTIONS(9496),
    [anon_sym_else] = ACTIONS(9496),
    [anon_sym_then] = ACTIONS(9496),
    [anon_sym_ensure] = ACTIONS(9496),
    [anon_sym_EQ_GT] = ACTIONS(9496),
    [anon_sym_AMP_DOT] = ACTIONS(9496),
    [anon_sym_PLUS_EQ] = ACTIONS(9496),
    [anon_sym_DASH_EQ] = ACTIONS(9496),
    [anon_sym_STAR_EQ] = ACTIONS(9496),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9496),
    [anon_sym_SLASH_EQ] = ACTIONS(9496),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9496),
    [anon_sym_PIPE_EQ] = ACTIONS(9496),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9496),
    [anon_sym_AMP_EQ] = ACTIONS(9496),
    [anon_sym_PERCENT_EQ] = ACTIONS(9496),
    [anon_sym_GT_GT_EQ] = ACTIONS(9496),
    [anon_sym_LT_LT_EQ] = ACTIONS(9496),
    [anon_sym_CARET_EQ] = ACTIONS(9496),
    [anon_sym_QMARK] = ACTIONS(9496),
    [anon_sym_DOT_DOT] = ACTIONS(9498),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9496),
    [anon_sym_and] = ACTIONS(9496),
    [anon_sym_or] = ACTIONS(9496),
    [anon_sym_PIPE_PIPE] = ACTIONS(9498),
    [anon_sym_AMP_AMP] = ACTIONS(9498),
    [anon_sym_LT_LT] = ACTIONS(9498),
    [anon_sym_GT_GT] = ACTIONS(9498),
    [anon_sym_EQ_EQ] = ACTIONS(9498),
    [anon_sym_BANG_EQ] = ACTIONS(9496),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9496),
    [anon_sym_LT_EQ_GT] = ACTIONS(9496),
    [anon_sym_EQ_TILDE] = ACTIONS(9496),
    [anon_sym_BANG_TILDE] = ACTIONS(9496),
    [anon_sym_LT_EQ] = ACTIONS(9498),
    [anon_sym_GT] = ACTIONS(9498),
    [anon_sym_GT_EQ] = ACTIONS(9496),
    [anon_sym_CARET] = ACTIONS(9498),
    [anon_sym_PLUS] = ACTIONS(9498),
    [anon_sym_SLASH] = ACTIONS(9498),
    [anon_sym_PERCENT] = ACTIONS(9498),
    [sym_comment] = ACTIONS(256),
  },
  [6947] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1434),
    [sym__primary] = STATE(596),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(597),
    [sym_call] = STATE(597),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(9960),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(605),
    [sym__variable] = STATE(597),
    [sym_reserved_identifier] = STATE(1440),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1441),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__block_ampersand] = ACTIONS(2252),
    [sym__splat_star] = ACTIONS(2254),
    [sym__unary_minus] = ACTIONS(1012),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(9486),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(1024),
    [anon_sym_yield] = ACTIONS(1026),
    [anon_sym_break] = ACTIONS(1028),
    [anon_sym_next] = ACTIONS(1030),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(3262),
    [anon_sym_defined_QMARK] = ACTIONS(1044),
    [anon_sym_not] = ACTIONS(1046),
    [anon_sym_BANG] = ACTIONS(1050),
    [anon_sym_TILDE] = ACTIONS(1050),
    [sym_constant] = ACTIONS(2262),
    [sym_identifier] = ACTIONS(2262),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(588),
    [anon_sym_super] = ACTIONS(590),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [6948] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1434),
    [sym__primary] = STATE(596),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(597),
    [sym_call] = STATE(597),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(9960),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(605),
    [sym__variable] = STATE(597),
    [sym_reserved_identifier] = STATE(1440),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1441),
    [sym_subshell] = STATE(561),
    [sym_heredoc_end] = STATE(9961),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__block_ampersand] = ACTIONS(2252),
    [sym__splat_star] = ACTIONS(2254),
    [sym__unary_minus] = ACTIONS(1012),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(9486),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(1024),
    [anon_sym_yield] = ACTIONS(1026),
    [anon_sym_break] = ACTIONS(1028),
    [anon_sym_next] = ACTIONS(1030),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(3262),
    [anon_sym_defined_QMARK] = ACTIONS(1044),
    [anon_sym_not] = ACTIONS(1046),
    [anon_sym_BANG] = ACTIONS(1050),
    [anon_sym_TILDE] = ACTIONS(1050),
    [sym_constant] = ACTIONS(2262),
    [sym_identifier] = ACTIONS(2262),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(588),
    [anon_sym_super] = ACTIONS(590),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [6949] = {
    [sym_heredoc_end] = STATE(6945),
    [sym__simple_heredoc_body] = ACTIONS(5460),
    [sym__heredoc_body_beginning] = ACTIONS(5462),
    [sym__line_break] = ACTIONS(9500),
    [sym__element_reference_left_bracket] = ACTIONS(9500),
    [sym__scope_double_colon] = ACTIONS(9500),
    [sym__binary_minus] = ACTIONS(9500),
    [sym__binary_star] = ACTIONS(9500),
    [ts_builtin_sym_end] = ACTIONS(9500),
    [anon_sym___END__] = ACTIONS(9500),
    [anon_sym_LBRACE] = ACTIONS(9500),
    [anon_sym_RBRACE] = ACTIONS(9500),
    [anon_sym_RPAREN] = ACTIONS(9500),
    [anon_sym_DOT] = ACTIONS(9502),
    [anon_sym_end] = ACTIONS(9500),
    [anon_sym_COMMA] = ACTIONS(9500),
    [anon_sym_PIPE] = ACTIONS(9502),
    [anon_sym_SEMI] = ACTIONS(9500),
    [anon_sym_STAR_STAR] = ACTIONS(9502),
    [anon_sym_AMP] = ACTIONS(9502),
    [anon_sym_EQ] = ACTIONS(9502),
    [anon_sym_LT] = ACTIONS(9502),
    [anon_sym_if] = ACTIONS(9500),
    [anon_sym_unless] = ACTIONS(9500),
    [anon_sym_while] = ACTIONS(9500),
    [anon_sym_until] = ACTIONS(9500),
    [anon_sym_rescue] = ACTIONS(9500),
    [anon_sym_do] = ACTIONS(9500),
    [anon_sym_when] = ACTIONS(9500),
    [anon_sym_elsif] = ACTIONS(9500),
    [anon_sym_else] = ACTIONS(9500),
    [anon_sym_then] = ACTIONS(9500),
    [anon_sym_ensure] = ACTIONS(9500),
    [anon_sym_EQ_GT] = ACTIONS(9500),
    [anon_sym_AMP_DOT] = ACTIONS(9500),
    [anon_sym_PLUS_EQ] = ACTIONS(9500),
    [anon_sym_DASH_EQ] = ACTIONS(9500),
    [anon_sym_STAR_EQ] = ACTIONS(9500),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9500),
    [anon_sym_SLASH_EQ] = ACTIONS(9500),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9500),
    [anon_sym_PIPE_EQ] = ACTIONS(9500),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9500),
    [anon_sym_AMP_EQ] = ACTIONS(9500),
    [anon_sym_PERCENT_EQ] = ACTIONS(9500),
    [anon_sym_GT_GT_EQ] = ACTIONS(9500),
    [anon_sym_LT_LT_EQ] = ACTIONS(9500),
    [anon_sym_CARET_EQ] = ACTIONS(9500),
    [anon_sym_QMARK] = ACTIONS(9500),
    [anon_sym_DOT_DOT] = ACTIONS(9502),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9500),
    [anon_sym_and] = ACTIONS(9500),
    [anon_sym_or] = ACTIONS(9500),
    [anon_sym_PIPE_PIPE] = ACTIONS(9502),
    [anon_sym_AMP_AMP] = ACTIONS(9502),
    [anon_sym_LT_LT] = ACTIONS(9502),
    [anon_sym_GT_GT] = ACTIONS(9502),
    [anon_sym_EQ_EQ] = ACTIONS(9502),
    [anon_sym_BANG_EQ] = ACTIONS(9500),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9500),
    [anon_sym_LT_EQ_GT] = ACTIONS(9500),
    [anon_sym_EQ_TILDE] = ACTIONS(9500),
    [anon_sym_BANG_TILDE] = ACTIONS(9500),
    [anon_sym_LT_EQ] = ACTIONS(9502),
    [anon_sym_GT] = ACTIONS(9502),
    [anon_sym_GT_EQ] = ACTIONS(9500),
    [anon_sym_CARET] = ACTIONS(9502),
    [anon_sym_PLUS] = ACTIONS(9502),
    [anon_sym_SLASH] = ACTIONS(9502),
    [anon_sym_PERCENT] = ACTIONS(9502),
    [sym_comment] = ACTIONS(256),
  },
  [6950] = {
    [sym__simple_heredoc_body] = ACTIONS(8662),
    [sym__heredoc_body_beginning] = ACTIONS(8662),
    [sym__line_break] = ACTIONS(8662),
    [sym__element_reference_left_bracket] = ACTIONS(8662),
    [sym__scope_double_colon] = ACTIONS(8662),
    [sym__binary_minus] = ACTIONS(3318),
    [sym__binary_star] = ACTIONS(3320),
    [ts_builtin_sym_end] = ACTIONS(8662),
    [anon_sym___END__] = ACTIONS(8662),
    [anon_sym_LBRACE] = ACTIONS(8662),
    [anon_sym_DOT] = ACTIONS(9506),
    [anon_sym_COMMA] = ACTIONS(8662),
    [anon_sym_PIPE] = ACTIONS(3322),
    [anon_sym_SEMI] = ACTIONS(8662),
    [anon_sym_STAR_STAR] = ACTIONS(3324),
    [anon_sym_AMP] = ACTIONS(3326),
    [anon_sym_EQ] = ACTIONS(9506),
    [anon_sym_LT] = ACTIONS(3328),
    [anon_sym_if] = ACTIONS(8662),
    [anon_sym_unless] = ACTIONS(8662),
    [anon_sym_while] = ACTIONS(8662),
    [anon_sym_until] = ACTIONS(8662),
    [anon_sym_rescue] = ACTIONS(8662),
    [anon_sym_do] = ACTIONS(8662),
    [anon_sym_EQ_GT] = ACTIONS(8662),
    [anon_sym_AMP_DOT] = ACTIONS(8662),
    [anon_sym_PLUS_EQ] = ACTIONS(8662),
    [anon_sym_DASH_EQ] = ACTIONS(8662),
    [anon_sym_STAR_EQ] = ACTIONS(8662),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8662),
    [anon_sym_SLASH_EQ] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8662),
    [anon_sym_PIPE_EQ] = ACTIONS(8662),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8662),
    [anon_sym_AMP_EQ] = ACTIONS(8662),
    [anon_sym_PERCENT_EQ] = ACTIONS(8662),
    [anon_sym_GT_GT_EQ] = ACTIONS(8662),
    [anon_sym_LT_LT_EQ] = ACTIONS(8662),
    [anon_sym_CARET_EQ] = ACTIONS(8662),
    [anon_sym_QMARK] = ACTIONS(3330),
    [anon_sym_DOT_DOT] = ACTIONS(3332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3334),
    [anon_sym_and] = ACTIONS(8662),
    [anon_sym_or] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE] = ACTIONS(3336),
    [anon_sym_AMP_AMP] = ACTIONS(3336),
    [anon_sym_LT_LT] = ACTIONS(3338),
    [anon_sym_GT_GT] = ACTIONS(3338),
    [anon_sym_EQ_EQ] = ACTIONS(3336),
    [anon_sym_BANG_EQ] = ACTIONS(3340),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3340),
    [anon_sym_LT_EQ_GT] = ACTIONS(3340),
    [anon_sym_EQ_TILDE] = ACTIONS(3340),
    [anon_sym_BANG_TILDE] = ACTIONS(3340),
    [anon_sym_LT_EQ] = ACTIONS(3328),
    [anon_sym_GT] = ACTIONS(3328),
    [anon_sym_GT_EQ] = ACTIONS(3342),
    [anon_sym_CARET] = ACTIONS(3322),
    [anon_sym_PLUS] = ACTIONS(3344),
    [anon_sym_SLASH] = ACTIONS(3324),
    [anon_sym_PERCENT] = ACTIONS(3324),
    [sym_comment] = ACTIONS(256),
  },
  [6951] = {
    [sym__simple_heredoc_body] = ACTIONS(8070),
    [sym__heredoc_body_beginning] = ACTIONS(8070),
    [sym__line_break] = ACTIONS(8070),
    [sym__element_reference_left_bracket] = ACTIONS(8070),
    [sym__scope_double_colon] = ACTIONS(8070),
    [sym__binary_minus] = ACTIONS(8070),
    [sym__binary_star] = ACTIONS(8070),
    [ts_builtin_sym_end] = ACTIONS(8070),
    [anon_sym___END__] = ACTIONS(8070),
    [anon_sym_LBRACE] = ACTIONS(8070),
    [anon_sym_RBRACE] = ACTIONS(8070),
    [anon_sym_RPAREN] = ACTIONS(8070),
    [anon_sym_DOT] = ACTIONS(10414),
    [anon_sym_end] = ACTIONS(8070),
    [anon_sym_COMMA] = ACTIONS(8070),
    [anon_sym_PIPE] = ACTIONS(10414),
    [anon_sym_SEMI] = ACTIONS(8070),
    [anon_sym_STAR_STAR] = ACTIONS(8070),
    [anon_sym_AMP] = ACTIONS(10414),
    [anon_sym_LT] = ACTIONS(10414),
    [anon_sym_if] = ACTIONS(8070),
    [anon_sym_unless] = ACTIONS(8070),
    [anon_sym_while] = ACTIONS(8070),
    [anon_sym_until] = ACTIONS(8070),
    [anon_sym_rescue] = ACTIONS(8070),
    [anon_sym_do] = ACTIONS(8070),
    [anon_sym_when] = ACTIONS(8070),
    [anon_sym_elsif] = ACTIONS(8070),
    [anon_sym_else] = ACTIONS(8070),
    [anon_sym_then] = ACTIONS(8070),
    [anon_sym_ensure] = ACTIONS(8070),
    [anon_sym_EQ_GT] = ACTIONS(8070),
    [anon_sym_AMP_DOT] = ACTIONS(8070),
    [anon_sym_QMARK] = ACTIONS(8070),
    [anon_sym_DOT_DOT] = ACTIONS(10414),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8070),
    [anon_sym_and] = ACTIONS(8070),
    [anon_sym_or] = ACTIONS(8070),
    [anon_sym_PIPE_PIPE] = ACTIONS(8070),
    [anon_sym_AMP_AMP] = ACTIONS(8070),
    [anon_sym_LT_LT] = ACTIONS(8070),
    [anon_sym_GT_GT] = ACTIONS(8070),
    [anon_sym_EQ_EQ] = ACTIONS(10414),
    [anon_sym_BANG_EQ] = ACTIONS(8070),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8070),
    [anon_sym_LT_EQ_GT] = ACTIONS(8070),
    [anon_sym_EQ_TILDE] = ACTIONS(8070),
    [anon_sym_BANG_TILDE] = ACTIONS(8070),
    [anon_sym_LT_EQ] = ACTIONS(10414),
    [anon_sym_GT] = ACTIONS(10414),
    [anon_sym_GT_EQ] = ACTIONS(8070),
    [anon_sym_CARET] = ACTIONS(8070),
    [anon_sym_PLUS] = ACTIONS(8070),
    [anon_sym_SLASH] = ACTIONS(8070),
    [anon_sym_PERCENT] = ACTIONS(8070),
    [sym_comment] = ACTIONS(110),
  },
  [6952] = {
    [sym__heredoc_body_middle] = ACTIONS(8296),
    [sym__heredoc_body_end] = ACTIONS(12786),
    [anon_sym_if] = ACTIONS(4112),
    [anon_sym_unless] = ACTIONS(4114),
    [anon_sym_while] = ACTIONS(4116),
    [anon_sym_until] = ACTIONS(4118),
    [anon_sym_rescue] = ACTIONS(4120),
    [sym_comment] = ACTIONS(110),
  },
  [6953] = {
    [sym__heredoc_body_middle] = ACTIONS(4108),
    [sym__heredoc_body_end] = ACTIONS(12788),
    [anon_sym_if] = ACTIONS(4112),
    [anon_sym_unless] = ACTIONS(4114),
    [anon_sym_while] = ACTIONS(4116),
    [anon_sym_until] = ACTIONS(4118),
    [anon_sym_rescue] = ACTIONS(4120),
    [sym_comment] = ACTIONS(110),
  },
  [6954] = {
    [sym__statement] = STATE(9964),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [6955] = {
    [sym__simple_heredoc_body] = ACTIONS(12790),
    [sym__heredoc_body_beginning] = ACTIONS(12790),
    [sym__line_break] = ACTIONS(12790),
    [sym__element_reference_left_bracket] = ACTIONS(12790),
    [sym__scope_double_colon] = ACTIONS(12790),
    [sym__binary_minus] = ACTIONS(12790),
    [sym__binary_star] = ACTIONS(12790),
    [ts_builtin_sym_end] = ACTIONS(12790),
    [anon_sym___END__] = ACTIONS(12790),
    [anon_sym_LBRACE] = ACTIONS(12790),
    [anon_sym_RBRACE] = ACTIONS(12790),
    [anon_sym_RPAREN] = ACTIONS(12790),
    [anon_sym_DOT] = ACTIONS(12792),
    [anon_sym_end] = ACTIONS(12790),
    [anon_sym_COMMA] = ACTIONS(12790),
    [anon_sym_PIPE] = ACTIONS(12792),
    [anon_sym_SEMI] = ACTIONS(12790),
    [anon_sym_STAR_STAR] = ACTIONS(12790),
    [anon_sym_AMP] = ACTIONS(12792),
    [anon_sym_LT] = ACTIONS(12792),
    [anon_sym_if] = ACTIONS(12790),
    [anon_sym_unless] = ACTIONS(12790),
    [anon_sym_while] = ACTIONS(12790),
    [anon_sym_until] = ACTIONS(12790),
    [anon_sym_rescue] = ACTIONS(12790),
    [anon_sym_do] = ACTIONS(12790),
    [anon_sym_when] = ACTIONS(12790),
    [anon_sym_elsif] = ACTIONS(12790),
    [anon_sym_else] = ACTIONS(12790),
    [anon_sym_then] = ACTIONS(12790),
    [anon_sym_ensure] = ACTIONS(12790),
    [anon_sym_EQ_GT] = ACTIONS(12790),
    [anon_sym_AMP_DOT] = ACTIONS(12790),
    [anon_sym_QMARK] = ACTIONS(12790),
    [anon_sym_DOT_DOT] = ACTIONS(12792),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12790),
    [anon_sym_and] = ACTIONS(12790),
    [anon_sym_or] = ACTIONS(12790),
    [anon_sym_PIPE_PIPE] = ACTIONS(12790),
    [anon_sym_AMP_AMP] = ACTIONS(12790),
    [anon_sym_LT_LT] = ACTIONS(12790),
    [anon_sym_GT_GT] = ACTIONS(12790),
    [anon_sym_EQ_EQ] = ACTIONS(12792),
    [anon_sym_BANG_EQ] = ACTIONS(12790),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12790),
    [anon_sym_LT_EQ_GT] = ACTIONS(12790),
    [anon_sym_EQ_TILDE] = ACTIONS(12790),
    [anon_sym_BANG_TILDE] = ACTIONS(12790),
    [anon_sym_LT_EQ] = ACTIONS(12792),
    [anon_sym_GT] = ACTIONS(12792),
    [anon_sym_GT_EQ] = ACTIONS(12790),
    [anon_sym_CARET] = ACTIONS(12790),
    [anon_sym_PLUS] = ACTIONS(12790),
    [anon_sym_SLASH] = ACTIONS(12790),
    [anon_sym_PERCENT] = ACTIONS(12790),
    [sym_comment] = ACTIONS(110),
  },
  [6956] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(336),
    [sym__primary] = STATE(337),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(339),
    [sym_call] = STATE(339),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(9965),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(345),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(346),
    [sym__variable] = STATE(339),
    [sym_reserved_identifier] = STATE(347),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(348),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__block_ampersand] = ACTIONS(536),
    [sym__splat_star] = ACTIONS(538),
    [sym__unary_minus] = ACTIONS(542),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(5480),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(554),
    [anon_sym_yield] = ACTIONS(556),
    [anon_sym_break] = ACTIONS(558),
    [anon_sym_next] = ACTIONS(560),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2190),
    [anon_sym_defined_QMARK] = ACTIONS(572),
    [anon_sym_not] = ACTIONS(574),
    [anon_sym_BANG] = ACTIONS(578),
    [anon_sym_TILDE] = ACTIONS(578),
    [sym_constant] = ACTIONS(580),
    [sym_identifier] = ACTIONS(580),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(588),
    [anon_sym_super] = ACTIONS(590),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6957] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3784),
    [sym__primary] = STATE(337),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(339),
    [sym_call] = STATE(339),
    [sym_method_call] = STATE(338),
    [sym_splat_argument] = STATE(3785),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym__arg_or_splat_arg] = STATE(9966),
    [sym_left_assignment_list] = STATE(345),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(346),
    [sym__variable] = STATE(339),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(2204),
    [sym__unary_minus] = ACTIONS(542),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2182),
    [anon_sym_yield] = ACTIONS(2184),
    [anon_sym_break] = ACTIONS(2186),
    [anon_sym_next] = ACTIONS(2188),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2190),
    [anon_sym_defined_QMARK] = ACTIONS(572),
    [anon_sym_not] = ACTIONS(2192),
    [anon_sym_BANG] = ACTIONS(578),
    [anon_sym_TILDE] = ACTIONS(578),
    [sym_constant] = ACTIONS(2194),
    [sym_identifier] = ACTIONS(2194),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2196),
    [anon_sym_super] = ACTIONS(2198),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6958] = {
    [sym__simple_heredoc_body] = ACTIONS(11422),
    [sym__heredoc_body_beginning] = ACTIONS(11422),
    [sym__line_break] = ACTIONS(11422),
    [sym__element_reference_left_bracket] = ACTIONS(11422),
    [sym__scope_double_colon] = ACTIONS(11422),
    [sym__binary_minus] = ACTIONS(11422),
    [sym__binary_star] = ACTIONS(11422),
    [ts_builtin_sym_end] = ACTIONS(11422),
    [anon_sym___END__] = ACTIONS(11422),
    [anon_sym_DOT] = ACTIONS(11426),
    [anon_sym_COMMA] = ACTIONS(12794),
    [anon_sym_PIPE] = ACTIONS(11426),
    [anon_sym_SEMI] = ACTIONS(11422),
    [anon_sym_STAR_STAR] = ACTIONS(11422),
    [anon_sym_AMP] = ACTIONS(11426),
    [anon_sym_LT] = ACTIONS(11426),
    [anon_sym_if] = ACTIONS(11422),
    [anon_sym_unless] = ACTIONS(11422),
    [anon_sym_while] = ACTIONS(11422),
    [anon_sym_until] = ACTIONS(11422),
    [anon_sym_rescue] = ACTIONS(11422),
    [anon_sym_EQ_GT] = ACTIONS(11422),
    [anon_sym_AMP_DOT] = ACTIONS(11422),
    [anon_sym_QMARK] = ACTIONS(11422),
    [anon_sym_DOT_DOT] = ACTIONS(11426),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11422),
    [anon_sym_and] = ACTIONS(11422),
    [anon_sym_or] = ACTIONS(11422),
    [anon_sym_PIPE_PIPE] = ACTIONS(11422),
    [anon_sym_AMP_AMP] = ACTIONS(11422),
    [anon_sym_LT_LT] = ACTIONS(11422),
    [anon_sym_GT_GT] = ACTIONS(11422),
    [anon_sym_EQ_EQ] = ACTIONS(11426),
    [anon_sym_BANG_EQ] = ACTIONS(11422),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11422),
    [anon_sym_LT_EQ_GT] = ACTIONS(11422),
    [anon_sym_EQ_TILDE] = ACTIONS(11422),
    [anon_sym_BANG_TILDE] = ACTIONS(11422),
    [anon_sym_LT_EQ] = ACTIONS(11426),
    [anon_sym_GT] = ACTIONS(11426),
    [anon_sym_GT_EQ] = ACTIONS(11422),
    [anon_sym_CARET] = ACTIONS(11422),
    [anon_sym_PLUS] = ACTIONS(11422),
    [anon_sym_SLASH] = ACTIONS(11422),
    [anon_sym_PERCENT] = ACTIONS(11422),
    [sym_comment] = ACTIONS(110),
  },
  [6959] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(9514),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_if] = ACTIONS(1372),
    [anon_sym_unless] = ACTIONS(1372),
    [anon_sym_while] = ACTIONS(1372),
    [anon_sym_until] = ACTIONS(1372),
    [anon_sym_rescue] = ACTIONS(1372),
    [anon_sym_then] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [6960] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(9514),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_then] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [6961] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(9508),
    [sym__binary_star] = ACTIONS(9510),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(9512),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(9514),
    [anon_sym_AMP] = ACTIONS(9516),
    [anon_sym_LT] = ACTIONS(9518),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_then] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(9520),
    [anon_sym_DOT_DOT] = ACTIONS(9522),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9524),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(9526),
    [anon_sym_AMP_AMP] = ACTIONS(9526),
    [anon_sym_LT_LT] = ACTIONS(9528),
    [anon_sym_GT_GT] = ACTIONS(9528),
    [anon_sym_EQ_EQ] = ACTIONS(9530),
    [anon_sym_BANG_EQ] = ACTIONS(9526),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9526),
    [anon_sym_LT_EQ_GT] = ACTIONS(9526),
    [anon_sym_EQ_TILDE] = ACTIONS(9526),
    [anon_sym_BANG_TILDE] = ACTIONS(9526),
    [anon_sym_LT_EQ] = ACTIONS(9518),
    [anon_sym_GT] = ACTIONS(9518),
    [anon_sym_GT_EQ] = ACTIONS(9532),
    [anon_sym_CARET] = ACTIONS(9534),
    [anon_sym_PLUS] = ACTIONS(9536),
    [anon_sym_SLASH] = ACTIONS(9514),
    [anon_sym_PERCENT] = ACTIONS(9514),
    [sym_comment] = ACTIONS(110),
  },
  [6962] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9968),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3795),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3796),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5484),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5486),
    [anon_sym_defined_QMARK] = ACTIONS(5488),
    [anon_sym_not] = ACTIONS(5490),
    [anon_sym_BANG] = ACTIONS(5492),
    [anon_sym_TILDE] = ACTIONS(5492),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6963] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9969),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3795),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3796),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5484),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5486),
    [anon_sym_defined_QMARK] = ACTIONS(5488),
    [anon_sym_not] = ACTIONS(5490),
    [anon_sym_BANG] = ACTIONS(5492),
    [anon_sym_TILDE] = ACTIONS(5492),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6964] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9970),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3795),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3796),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5484),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5486),
    [anon_sym_defined_QMARK] = ACTIONS(5488),
    [anon_sym_not] = ACTIONS(5490),
    [anon_sym_BANG] = ACTIONS(5492),
    [anon_sym_TILDE] = ACTIONS(5492),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6965] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9971),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3795),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3796),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5484),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5486),
    [anon_sym_defined_QMARK] = ACTIONS(5488),
    [anon_sym_not] = ACTIONS(5490),
    [anon_sym_BANG] = ACTIONS(5492),
    [anon_sym_TILDE] = ACTIONS(5492),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6966] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9972),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3795),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3796),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5484),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5486),
    [anon_sym_defined_QMARK] = ACTIONS(5488),
    [anon_sym_not] = ACTIONS(5490),
    [anon_sym_BANG] = ACTIONS(5492),
    [anon_sym_TILDE] = ACTIONS(5492),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6967] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9973),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3795),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3796),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5484),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5486),
    [anon_sym_defined_QMARK] = ACTIONS(5488),
    [anon_sym_not] = ACTIONS(5490),
    [anon_sym_BANG] = ACTIONS(5492),
    [anon_sym_TILDE] = ACTIONS(5492),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6968] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(9974),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [6969] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9975),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3795),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3796),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5484),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5486),
    [anon_sym_defined_QMARK] = ACTIONS(5488),
    [anon_sym_not] = ACTIONS(5490),
    [anon_sym_BANG] = ACTIONS(5492),
    [anon_sym_TILDE] = ACTIONS(5492),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6970] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9976),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3795),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3796),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5484),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5486),
    [anon_sym_defined_QMARK] = ACTIONS(5488),
    [anon_sym_not] = ACTIONS(5490),
    [anon_sym_BANG] = ACTIONS(5492),
    [anon_sym_TILDE] = ACTIONS(5492),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6971] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9977),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3795),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3796),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5484),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5486),
    [anon_sym_defined_QMARK] = ACTIONS(5488),
    [anon_sym_not] = ACTIONS(5490),
    [anon_sym_BANG] = ACTIONS(5492),
    [anon_sym_TILDE] = ACTIONS(5492),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6972] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9978),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3795),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3796),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5484),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5486),
    [anon_sym_defined_QMARK] = ACTIONS(5488),
    [anon_sym_not] = ACTIONS(5490),
    [anon_sym_BANG] = ACTIONS(5492),
    [anon_sym_TILDE] = ACTIONS(5492),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6973] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9979),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3795),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3796),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5484),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5486),
    [anon_sym_defined_QMARK] = ACTIONS(5488),
    [anon_sym_not] = ACTIONS(5490),
    [anon_sym_BANG] = ACTIONS(5492),
    [anon_sym_TILDE] = ACTIONS(5492),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6974] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9980),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_splat_argument] = STATE(3785),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_right_assignment_list] = STATE(3786),
    [sym__arg_or_splat_arg] = STATE(9981),
    [sym_left_assignment_list] = STATE(3795),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3796),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(2300),
    [sym__unary_minus] = ACTIONS(5484),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5486),
    [anon_sym_defined_QMARK] = ACTIONS(5488),
    [anon_sym_not] = ACTIONS(5490),
    [anon_sym_BANG] = ACTIONS(5492),
    [anon_sym_TILDE] = ACTIONS(5492),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6975] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9982),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3795),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3796),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5484),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5486),
    [anon_sym_defined_QMARK] = ACTIONS(5488),
    [anon_sym_not] = ACTIONS(5490),
    [anon_sym_BANG] = ACTIONS(5492),
    [anon_sym_TILDE] = ACTIONS(5492),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6976] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__line_break] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(5514),
    [sym__binary_star] = ACTIONS(5516),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(5518),
    [anon_sym_SEMI] = ACTIONS(5298),
    [anon_sym_STAR_STAR] = ACTIONS(5520),
    [anon_sym_AMP] = ACTIONS(5522),
    [anon_sym_LT] = ACTIONS(5524),
    [anon_sym_if] = ACTIONS(5298),
    [anon_sym_unless] = ACTIONS(5298),
    [anon_sym_while] = ACTIONS(5298),
    [anon_sym_until] = ACTIONS(5298),
    [anon_sym_rescue] = ACTIONS(5298),
    [anon_sym_then] = ACTIONS(5298),
    [anon_sym_EQ_GT] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(5526),
    [anon_sym_DOT_DOT] = ACTIONS(5528),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5530),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(5532),
    [anon_sym_AMP_AMP] = ACTIONS(5532),
    [anon_sym_LT_LT] = ACTIONS(5534),
    [anon_sym_GT_GT] = ACTIONS(5534),
    [anon_sym_EQ_EQ] = ACTIONS(5536),
    [anon_sym_BANG_EQ] = ACTIONS(5532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5532),
    [anon_sym_LT_EQ_GT] = ACTIONS(5532),
    [anon_sym_EQ_TILDE] = ACTIONS(5532),
    [anon_sym_BANG_TILDE] = ACTIONS(5532),
    [anon_sym_LT_EQ] = ACTIONS(5524),
    [anon_sym_GT] = ACTIONS(5524),
    [anon_sym_GT_EQ] = ACTIONS(5538),
    [anon_sym_CARET] = ACTIONS(5540),
    [anon_sym_PLUS] = ACTIONS(5542),
    [anon_sym_SLASH] = ACTIONS(5520),
    [anon_sym_PERCENT] = ACTIONS(5520),
    [sym_comment] = ACTIONS(110),
  },
  [6977] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__line_break] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(5514),
    [sym__binary_star] = ACTIONS(5516),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(5518),
    [anon_sym_SEMI] = ACTIONS(5338),
    [anon_sym_STAR_STAR] = ACTIONS(5520),
    [anon_sym_AMP] = ACTIONS(5522),
    [anon_sym_LT] = ACTIONS(5524),
    [anon_sym_if] = ACTIONS(5338),
    [anon_sym_unless] = ACTIONS(5338),
    [anon_sym_while] = ACTIONS(5338),
    [anon_sym_until] = ACTIONS(5338),
    [anon_sym_rescue] = ACTIONS(5338),
    [anon_sym_then] = ACTIONS(5338),
    [anon_sym_EQ_GT] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(5526),
    [anon_sym_DOT_DOT] = ACTIONS(5528),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5530),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(5532),
    [anon_sym_AMP_AMP] = ACTIONS(5532),
    [anon_sym_LT_LT] = ACTIONS(5534),
    [anon_sym_GT_GT] = ACTIONS(5534),
    [anon_sym_EQ_EQ] = ACTIONS(5536),
    [anon_sym_BANG_EQ] = ACTIONS(5532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5532),
    [anon_sym_LT_EQ_GT] = ACTIONS(5532),
    [anon_sym_EQ_TILDE] = ACTIONS(5532),
    [anon_sym_BANG_TILDE] = ACTIONS(5532),
    [anon_sym_LT_EQ] = ACTIONS(5524),
    [anon_sym_GT] = ACTIONS(5524),
    [anon_sym_GT_EQ] = ACTIONS(5538),
    [anon_sym_CARET] = ACTIONS(5540),
    [anon_sym_PLUS] = ACTIONS(5542),
    [anon_sym_SLASH] = ACTIONS(5520),
    [anon_sym_PERCENT] = ACTIONS(5520),
    [sym_comment] = ACTIONS(110),
  },
  [6978] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__line_break] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(5514),
    [sym__binary_star] = ACTIONS(5516),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(5518),
    [anon_sym_SEMI] = ACTIONS(4284),
    [anon_sym_STAR_STAR] = ACTIONS(5520),
    [anon_sym_AMP] = ACTIONS(5522),
    [anon_sym_LT] = ACTIONS(5524),
    [anon_sym_if] = ACTIONS(4284),
    [anon_sym_unless] = ACTIONS(4284),
    [anon_sym_while] = ACTIONS(4284),
    [anon_sym_until] = ACTIONS(4284),
    [anon_sym_rescue] = ACTIONS(4284),
    [anon_sym_then] = ACTIONS(4284),
    [anon_sym_EQ_GT] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(5526),
    [anon_sym_DOT_DOT] = ACTIONS(5528),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5530),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(5532),
    [anon_sym_AMP_AMP] = ACTIONS(5532),
    [anon_sym_LT_LT] = ACTIONS(5534),
    [anon_sym_GT_GT] = ACTIONS(5534),
    [anon_sym_EQ_EQ] = ACTIONS(5536),
    [anon_sym_BANG_EQ] = ACTIONS(5532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5532),
    [anon_sym_LT_EQ_GT] = ACTIONS(5532),
    [anon_sym_EQ_TILDE] = ACTIONS(5532),
    [anon_sym_BANG_TILDE] = ACTIONS(5532),
    [anon_sym_LT_EQ] = ACTIONS(5524),
    [anon_sym_GT] = ACTIONS(5524),
    [anon_sym_GT_EQ] = ACTIONS(5538),
    [anon_sym_CARET] = ACTIONS(5540),
    [anon_sym_PLUS] = ACTIONS(5542),
    [anon_sym_SLASH] = ACTIONS(5520),
    [anon_sym_PERCENT] = ACTIONS(5520),
    [sym_comment] = ACTIONS(110),
  },
  [6979] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9983),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1466),
    [sym_call] = STATE(1466),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1468),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1469),
    [sym__variable] = STATE(1466),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2302),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5494),
    [anon_sym_yield] = ACTIONS(5496),
    [anon_sym_break] = ACTIONS(5498),
    [anon_sym_next] = ACTIONS(5500),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5502),
    [anon_sym_defined_QMARK] = ACTIONS(2312),
    [anon_sym_not] = ACTIONS(5504),
    [anon_sym_BANG] = ACTIONS(2318),
    [anon_sym_TILDE] = ACTIONS(2318),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6980] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3808),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1466),
    [sym_call] = STATE(1466),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(3780),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1468),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1469),
    [sym__variable] = STATE(1466),
    [sym_reserved_identifier] = STATE(3810),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(3811),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(9984),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__block_ampersand] = ACTIONS(5506),
    [sym__splat_star] = ACTIONS(5508),
    [sym__unary_minus] = ACTIONS(2302),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(12796),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2304),
    [anon_sym_yield] = ACTIONS(2306),
    [anon_sym_break] = ACTIONS(2308),
    [anon_sym_next] = ACTIONS(2310),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(5502),
    [anon_sym_defined_QMARK] = ACTIONS(2312),
    [anon_sym_not] = ACTIONS(2314),
    [anon_sym_BANG] = ACTIONS(2318),
    [anon_sym_TILDE] = ACTIONS(2318),
    [sym_constant] = ACTIONS(5510),
    [sym_identifier] = ACTIONS(5510),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6981] = {
    [sym_heredoc_end] = STATE(1444),
    [aux_sym_argument_list_repeat2] = STATE(3783),
    [sym__simple_heredoc_body] = ACTIONS(2268),
    [sym__heredoc_body_beginning] = ACTIONS(2270),
    [sym__line_break] = ACTIONS(5472),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(12798),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_SEMI] = ACTIONS(5472),
    [anon_sym_STAR_STAR] = ACTIONS(5472),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_if] = ACTIONS(5472),
    [anon_sym_unless] = ACTIONS(5472),
    [anon_sym_while] = ACTIONS(5472),
    [anon_sym_until] = ACTIONS(5472),
    [anon_sym_rescue] = ACTIONS(5472),
    [anon_sym_then] = ACTIONS(5472),
    [anon_sym_EQ_GT] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5472),
    [anon_sym_AMP_AMP] = ACTIONS(5472),
    [anon_sym_LT_LT] = ACTIONS(5472),
    [anon_sym_GT_GT] = ACTIONS(5472),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5472),
    [anon_sym_PLUS] = ACTIONS(5472),
    [anon_sym_SLASH] = ACTIONS(5472),
    [anon_sym_PERCENT] = ACTIONS(5472),
    [sym_comment] = ACTIONS(110),
  },
  [6982] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(9986),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1466),
    [sym_call] = STATE(1466),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1468),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1469),
    [sym__variable] = STATE(1466),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2302),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5494),
    [anon_sym_yield] = ACTIONS(5496),
    [anon_sym_break] = ACTIONS(5498),
    [anon_sym_next] = ACTIONS(5500),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5502),
    [anon_sym_defined_QMARK] = ACTIONS(2312),
    [anon_sym_not] = ACTIONS(5504),
    [anon_sym_BANG] = ACTIONS(2318),
    [anon_sym_TILDE] = ACTIONS(2318),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [6983] = {
    [sym__simple_heredoc_body] = ACTIONS(8568),
    [sym__heredoc_body_beginning] = ACTIONS(8568),
    [sym__line_break] = ACTIONS(8568),
    [sym__element_reference_left_bracket] = ACTIONS(8568),
    [sym__scope_double_colon] = ACTIONS(8568),
    [sym__binary_minus] = ACTIONS(9508),
    [sym__binary_star] = ACTIONS(9510),
    [anon_sym_DOT] = ACTIONS(9468),
    [anon_sym_COMMA] = ACTIONS(8568),
    [anon_sym_PIPE] = ACTIONS(9512),
    [anon_sym_SEMI] = ACTIONS(8568),
    [anon_sym_STAR_STAR] = ACTIONS(9514),
    [anon_sym_AMP] = ACTIONS(9516),
    [anon_sym_LT] = ACTIONS(9518),
    [anon_sym_if] = ACTIONS(8568),
    [anon_sym_unless] = ACTIONS(8568),
    [anon_sym_while] = ACTIONS(8568),
    [anon_sym_until] = ACTIONS(8568),
    [anon_sym_rescue] = ACTIONS(8568),
    [anon_sym_then] = ACTIONS(8568),
    [anon_sym_AMP_DOT] = ACTIONS(8568),
    [anon_sym_QMARK] = ACTIONS(9520),
    [anon_sym_DOT_DOT] = ACTIONS(9522),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9524),
    [anon_sym_and] = ACTIONS(8568),
    [anon_sym_or] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE] = ACTIONS(9526),
    [anon_sym_AMP_AMP] = ACTIONS(9526),
    [anon_sym_LT_LT] = ACTIONS(9528),
    [anon_sym_GT_GT] = ACTIONS(9528),
    [anon_sym_EQ_EQ] = ACTIONS(9530),
    [anon_sym_BANG_EQ] = ACTIONS(9526),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9526),
    [anon_sym_LT_EQ_GT] = ACTIONS(9526),
    [anon_sym_EQ_TILDE] = ACTIONS(9526),
    [anon_sym_BANG_TILDE] = ACTIONS(9526),
    [anon_sym_LT_EQ] = ACTIONS(9518),
    [anon_sym_GT] = ACTIONS(9518),
    [anon_sym_GT_EQ] = ACTIONS(9532),
    [anon_sym_CARET] = ACTIONS(9534),
    [anon_sym_PLUS] = ACTIONS(9536),
    [anon_sym_SLASH] = ACTIONS(9514),
    [anon_sym_PERCENT] = ACTIONS(9514),
    [sym_comment] = ACTIONS(110),
  },
  [6984] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__line_break] = ACTIONS(7008),
    [sym__element_reference_left_bracket] = ACTIONS(7008),
    [sym__scope_double_colon] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(5516),
    [anon_sym_DOT] = ACTIONS(7010),
    [anon_sym_COMMA] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_SEMI] = ACTIONS(7008),
    [anon_sym_STAR_STAR] = ACTIONS(5520),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_if] = ACTIONS(7008),
    [anon_sym_unless] = ACTIONS(7008),
    [anon_sym_while] = ACTIONS(7008),
    [anon_sym_until] = ACTIONS(7008),
    [anon_sym_rescue] = ACTIONS(7008),
    [anon_sym_then] = ACTIONS(7008),
    [anon_sym_EQ_GT] = ACTIONS(7008),
    [anon_sym_AMP_DOT] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7008),
    [anon_sym_AMP_AMP] = ACTIONS(7008),
    [anon_sym_LT_LT] = ACTIONS(7008),
    [anon_sym_GT_GT] = ACTIONS(7008),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7008),
    [anon_sym_PLUS] = ACTIONS(7008),
    [anon_sym_SLASH] = ACTIONS(5520),
    [anon_sym_PERCENT] = ACTIONS(5520),
    [sym_comment] = ACTIONS(110),
  },
  [6985] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__line_break] = ACTIONS(7012),
    [sym__element_reference_left_bracket] = ACTIONS(7012),
    [sym__scope_double_colon] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_DOT] = ACTIONS(7014),
    [anon_sym_COMMA] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_SEMI] = ACTIONS(7012),
    [anon_sym_STAR_STAR] = ACTIONS(5520),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_if] = ACTIONS(7012),
    [anon_sym_unless] = ACTIONS(7012),
    [anon_sym_while] = ACTIONS(7012),
    [anon_sym_until] = ACTIONS(7012),
    [anon_sym_rescue] = ACTIONS(7012),
    [anon_sym_then] = ACTIONS(7012),
    [anon_sym_EQ_GT] = ACTIONS(7012),
    [anon_sym_AMP_DOT] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7012),
    [anon_sym_AMP_AMP] = ACTIONS(7012),
    [anon_sym_LT_LT] = ACTIONS(7012),
    [anon_sym_GT_GT] = ACTIONS(7012),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7012),
    [anon_sym_PLUS] = ACTIONS(7012),
    [anon_sym_SLASH] = ACTIONS(7012),
    [anon_sym_PERCENT] = ACTIONS(7012),
    [sym_comment] = ACTIONS(110),
  },
  [6986] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5514),
    [sym__binary_star] = ACTIONS(5516),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(5520),
    [anon_sym_AMP] = ACTIONS(5522),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_then] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(5534),
    [anon_sym_GT_GT] = ACTIONS(5534),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(5542),
    [anon_sym_SLASH] = ACTIONS(5520),
    [anon_sym_PERCENT] = ACTIONS(5520),
    [sym_comment] = ACTIONS(110),
  },
  [6987] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(5520),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_then] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7016),
    [anon_sym_PERCENT] = ACTIONS(7016),
    [sym_comment] = ACTIONS(110),
  },
  [6988] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5514),
    [sym__binary_star] = ACTIONS(5516),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(5520),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_then] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(5534),
    [anon_sym_GT_GT] = ACTIONS(5534),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(5542),
    [anon_sym_SLASH] = ACTIONS(5520),
    [anon_sym_PERCENT] = ACTIONS(5520),
    [sym_comment] = ACTIONS(110),
  },
  [6989] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5514),
    [sym__binary_star] = ACTIONS(5516),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(5518),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(5520),
    [anon_sym_AMP] = ACTIONS(5522),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_then] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(5534),
    [anon_sym_GT_GT] = ACTIONS(5534),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(5540),
    [anon_sym_PLUS] = ACTIONS(5542),
    [anon_sym_SLASH] = ACTIONS(5520),
    [anon_sym_PERCENT] = ACTIONS(5520),
    [sym_comment] = ACTIONS(110),
  },
  [6990] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(12800),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [6991] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__line_break] = ACTIONS(7108),
    [sym__element_reference_left_bracket] = ACTIONS(7108),
    [sym__scope_double_colon] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(5514),
    [sym__binary_star] = ACTIONS(5516),
    [anon_sym_DOT] = ACTIONS(9472),
    [anon_sym_COMMA] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(5518),
    [anon_sym_SEMI] = ACTIONS(7108),
    [anon_sym_STAR_STAR] = ACTIONS(5520),
    [anon_sym_AMP] = ACTIONS(5522),
    [anon_sym_LT] = ACTIONS(5524),
    [anon_sym_if] = ACTIONS(7108),
    [anon_sym_unless] = ACTIONS(7108),
    [anon_sym_while] = ACTIONS(7108),
    [anon_sym_until] = ACTIONS(7108),
    [anon_sym_rescue] = ACTIONS(7108),
    [anon_sym_then] = ACTIONS(7108),
    [anon_sym_EQ_GT] = ACTIONS(7108),
    [anon_sym_AMP_DOT] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(5528),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5530),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(5532),
    [anon_sym_AMP_AMP] = ACTIONS(5532),
    [anon_sym_LT_LT] = ACTIONS(5534),
    [anon_sym_GT_GT] = ACTIONS(5534),
    [anon_sym_EQ_EQ] = ACTIONS(5536),
    [anon_sym_BANG_EQ] = ACTIONS(5532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5532),
    [anon_sym_LT_EQ_GT] = ACTIONS(5532),
    [anon_sym_EQ_TILDE] = ACTIONS(5532),
    [anon_sym_BANG_TILDE] = ACTIONS(5532),
    [anon_sym_LT_EQ] = ACTIONS(5524),
    [anon_sym_GT] = ACTIONS(5524),
    [anon_sym_GT_EQ] = ACTIONS(5538),
    [anon_sym_CARET] = ACTIONS(5540),
    [anon_sym_PLUS] = ACTIONS(5542),
    [anon_sym_SLASH] = ACTIONS(5520),
    [anon_sym_PERCENT] = ACTIONS(5520),
    [sym_comment] = ACTIONS(110),
  },
  [6992] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5514),
    [sym__binary_star] = ACTIONS(5516),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(5518),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(5520),
    [anon_sym_AMP] = ACTIONS(5522),
    [anon_sym_LT] = ACTIONS(5524),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_then] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(5526),
    [anon_sym_DOT_DOT] = ACTIONS(5528),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5530),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(5532),
    [anon_sym_AMP_AMP] = ACTIONS(5532),
    [anon_sym_LT_LT] = ACTIONS(5534),
    [anon_sym_GT_GT] = ACTIONS(5534),
    [anon_sym_EQ_EQ] = ACTIONS(5536),
    [anon_sym_BANG_EQ] = ACTIONS(5532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5532),
    [anon_sym_LT_EQ_GT] = ACTIONS(5532),
    [anon_sym_EQ_TILDE] = ACTIONS(5532),
    [anon_sym_BANG_TILDE] = ACTIONS(5532),
    [anon_sym_LT_EQ] = ACTIONS(5524),
    [anon_sym_GT] = ACTIONS(5524),
    [anon_sym_GT_EQ] = ACTIONS(5538),
    [anon_sym_CARET] = ACTIONS(5540),
    [anon_sym_PLUS] = ACTIONS(5542),
    [anon_sym_SLASH] = ACTIONS(5520),
    [anon_sym_PERCENT] = ACTIONS(5520),
    [sym_comment] = ACTIONS(110),
  },
  [6993] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5514),
    [sym__binary_star] = ACTIONS(5516),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(5518),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(5520),
    [anon_sym_AMP] = ACTIONS(5522),
    [anon_sym_LT] = ACTIONS(5524),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_then] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(5534),
    [anon_sym_GT_GT] = ACTIONS(5534),
    [anon_sym_EQ_EQ] = ACTIONS(5536),
    [anon_sym_BANG_EQ] = ACTIONS(5532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5532),
    [anon_sym_LT_EQ_GT] = ACTIONS(5532),
    [anon_sym_EQ_TILDE] = ACTIONS(5532),
    [anon_sym_BANG_TILDE] = ACTIONS(5532),
    [anon_sym_LT_EQ] = ACTIONS(5524),
    [anon_sym_GT] = ACTIONS(5524),
    [anon_sym_GT_EQ] = ACTIONS(5538),
    [anon_sym_CARET] = ACTIONS(5540),
    [anon_sym_PLUS] = ACTIONS(5542),
    [anon_sym_SLASH] = ACTIONS(5520),
    [anon_sym_PERCENT] = ACTIONS(5520),
    [sym_comment] = ACTIONS(110),
  },
  [6994] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5514),
    [sym__binary_star] = ACTIONS(5516),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(5520),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_then] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(5542),
    [anon_sym_SLASH] = ACTIONS(5520),
    [anon_sym_PERCENT] = ACTIONS(5520),
    [sym_comment] = ACTIONS(110),
  },
  [6995] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(5516),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(5520),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_then] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(5520),
    [anon_sym_PERCENT] = ACTIONS(5520),
    [sym_comment] = ACTIONS(110),
  },
  [6996] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__line_break] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(5632),
    [sym__binary_star] = ACTIONS(5634),
    [anon_sym_LBRACE] = ACTIONS(5298),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(5636),
    [anon_sym_SEMI] = ACTIONS(5298),
    [anon_sym_STAR_STAR] = ACTIONS(5638),
    [anon_sym_AMP] = ACTIONS(5640),
    [anon_sym_EQ] = ACTIONS(5304),
    [anon_sym_LT] = ACTIONS(5642),
    [anon_sym_if] = ACTIONS(5298),
    [anon_sym_unless] = ACTIONS(5298),
    [anon_sym_while] = ACTIONS(5298),
    [anon_sym_until] = ACTIONS(5298),
    [anon_sym_rescue] = ACTIONS(5298),
    [anon_sym_do] = ACTIONS(5298),
    [anon_sym_then] = ACTIONS(5298),
    [anon_sym_EQ_GT] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_PLUS_EQ] = ACTIONS(5298),
    [anon_sym_DASH_EQ] = ACTIONS(5298),
    [anon_sym_STAR_EQ] = ACTIONS(5298),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5298),
    [anon_sym_SLASH_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5298),
    [anon_sym_AMP_EQ] = ACTIONS(5298),
    [anon_sym_PERCENT_EQ] = ACTIONS(5298),
    [anon_sym_GT_GT_EQ] = ACTIONS(5298),
    [anon_sym_LT_LT_EQ] = ACTIONS(5298),
    [anon_sym_CARET_EQ] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(5644),
    [anon_sym_DOT_DOT] = ACTIONS(5646),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5648),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(5650),
    [anon_sym_AMP_AMP] = ACTIONS(5650),
    [anon_sym_LT_LT] = ACTIONS(5652),
    [anon_sym_GT_GT] = ACTIONS(5652),
    [anon_sym_EQ_EQ] = ACTIONS(5650),
    [anon_sym_BANG_EQ] = ACTIONS(5654),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5654),
    [anon_sym_LT_EQ_GT] = ACTIONS(5654),
    [anon_sym_EQ_TILDE] = ACTIONS(5654),
    [anon_sym_BANG_TILDE] = ACTIONS(5654),
    [anon_sym_LT_EQ] = ACTIONS(5642),
    [anon_sym_GT] = ACTIONS(5642),
    [anon_sym_GT_EQ] = ACTIONS(5656),
    [anon_sym_CARET] = ACTIONS(5636),
    [anon_sym_PLUS] = ACTIONS(5658),
    [anon_sym_SLASH] = ACTIONS(5638),
    [anon_sym_PERCENT] = ACTIONS(5638),
    [sym_comment] = ACTIONS(256),
  },
  [6997] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__line_break] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(5632),
    [sym__binary_star] = ACTIONS(5634),
    [anon_sym_LBRACE] = ACTIONS(5338),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(5636),
    [anon_sym_SEMI] = ACTIONS(5338),
    [anon_sym_STAR_STAR] = ACTIONS(5638),
    [anon_sym_AMP] = ACTIONS(5640),
    [anon_sym_EQ] = ACTIONS(5340),
    [anon_sym_LT] = ACTIONS(5642),
    [anon_sym_if] = ACTIONS(5338),
    [anon_sym_unless] = ACTIONS(5338),
    [anon_sym_while] = ACTIONS(5338),
    [anon_sym_until] = ACTIONS(5338),
    [anon_sym_rescue] = ACTIONS(5338),
    [anon_sym_do] = ACTIONS(5338),
    [anon_sym_then] = ACTIONS(5338),
    [anon_sym_EQ_GT] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_PLUS_EQ] = ACTIONS(5338),
    [anon_sym_DASH_EQ] = ACTIONS(5338),
    [anon_sym_STAR_EQ] = ACTIONS(5338),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5338),
    [anon_sym_SLASH_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5338),
    [anon_sym_AMP_EQ] = ACTIONS(5338),
    [anon_sym_PERCENT_EQ] = ACTIONS(5338),
    [anon_sym_GT_GT_EQ] = ACTIONS(5338),
    [anon_sym_LT_LT_EQ] = ACTIONS(5338),
    [anon_sym_CARET_EQ] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(5644),
    [anon_sym_DOT_DOT] = ACTIONS(5646),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5648),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(5650),
    [anon_sym_AMP_AMP] = ACTIONS(5650),
    [anon_sym_LT_LT] = ACTIONS(5652),
    [anon_sym_GT_GT] = ACTIONS(5652),
    [anon_sym_EQ_EQ] = ACTIONS(5650),
    [anon_sym_BANG_EQ] = ACTIONS(5654),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5654),
    [anon_sym_LT_EQ_GT] = ACTIONS(5654),
    [anon_sym_EQ_TILDE] = ACTIONS(5654),
    [anon_sym_BANG_TILDE] = ACTIONS(5654),
    [anon_sym_LT_EQ] = ACTIONS(5642),
    [anon_sym_GT] = ACTIONS(5642),
    [anon_sym_GT_EQ] = ACTIONS(5656),
    [anon_sym_CARET] = ACTIONS(5636),
    [anon_sym_PLUS] = ACTIONS(5658),
    [anon_sym_SLASH] = ACTIONS(5638),
    [anon_sym_PERCENT] = ACTIONS(5638),
    [sym_comment] = ACTIONS(256),
  },
  [6998] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__line_break] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(5632),
    [sym__binary_star] = ACTIONS(5634),
    [anon_sym_LBRACE] = ACTIONS(4284),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(5636),
    [anon_sym_SEMI] = ACTIONS(4284),
    [anon_sym_STAR_STAR] = ACTIONS(5638),
    [anon_sym_AMP] = ACTIONS(5640),
    [anon_sym_EQ] = ACTIONS(5432),
    [anon_sym_LT] = ACTIONS(5642),
    [anon_sym_if] = ACTIONS(4284),
    [anon_sym_unless] = ACTIONS(4284),
    [anon_sym_while] = ACTIONS(4284),
    [anon_sym_until] = ACTIONS(4284),
    [anon_sym_rescue] = ACTIONS(4284),
    [anon_sym_do] = ACTIONS(4284),
    [anon_sym_then] = ACTIONS(4284),
    [anon_sym_EQ_GT] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_PLUS_EQ] = ACTIONS(4284),
    [anon_sym_DASH_EQ] = ACTIONS(4284),
    [anon_sym_STAR_EQ] = ACTIONS(4284),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(4284),
    [anon_sym_SLASH_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(4284),
    [anon_sym_AMP_EQ] = ACTIONS(4284),
    [anon_sym_PERCENT_EQ] = ACTIONS(4284),
    [anon_sym_GT_GT_EQ] = ACTIONS(4284),
    [anon_sym_LT_LT_EQ] = ACTIONS(4284),
    [anon_sym_CARET_EQ] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(5644),
    [anon_sym_DOT_DOT] = ACTIONS(5646),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5648),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(5650),
    [anon_sym_AMP_AMP] = ACTIONS(5650),
    [anon_sym_LT_LT] = ACTIONS(5652),
    [anon_sym_GT_GT] = ACTIONS(5652),
    [anon_sym_EQ_EQ] = ACTIONS(5650),
    [anon_sym_BANG_EQ] = ACTIONS(5654),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5654),
    [anon_sym_LT_EQ_GT] = ACTIONS(5654),
    [anon_sym_EQ_TILDE] = ACTIONS(5654),
    [anon_sym_BANG_TILDE] = ACTIONS(5654),
    [anon_sym_LT_EQ] = ACTIONS(5642),
    [anon_sym_GT] = ACTIONS(5642),
    [anon_sym_GT_EQ] = ACTIONS(5656),
    [anon_sym_CARET] = ACTIONS(5636),
    [anon_sym_PLUS] = ACTIONS(5658),
    [anon_sym_SLASH] = ACTIONS(5638),
    [anon_sym_PERCENT] = ACTIONS(5638),
    [sym_comment] = ACTIONS(256),
  },
  [6999] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(9988),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1511),
    [sym_call] = STATE(1511),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1513),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1514),
    [sym__variable] = STATE(1511),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2376),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(5618),
    [anon_sym_yield] = ACTIONS(5620),
    [anon_sym_break] = ACTIONS(5622),
    [anon_sym_next] = ACTIONS(5624),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(5626),
    [anon_sym_defined_QMARK] = ACTIONS(2386),
    [anon_sym_not] = ACTIONS(5628),
    [anon_sym_BANG] = ACTIONS(2392),
    [anon_sym_TILDE] = ACTIONS(2392),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7000] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(3831),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1511),
    [sym_call] = STATE(1511),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(6946),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1513),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1514),
    [sym__variable] = STATE(1511),
    [sym_reserved_identifier] = STATE(3833),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(3834),
    [sym_subshell] = STATE(561),
    [sym_heredoc_end] = STATE(9989),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__block_ampersand] = ACTIONS(5544),
    [sym__splat_star] = ACTIONS(5546),
    [sym__unary_minus] = ACTIONS(2376),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(12802),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2378),
    [anon_sym_yield] = ACTIONS(2380),
    [anon_sym_break] = ACTIONS(2382),
    [anon_sym_next] = ACTIONS(2384),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(5626),
    [anon_sym_defined_QMARK] = ACTIONS(2386),
    [anon_sym_not] = ACTIONS(2388),
    [anon_sym_BANG] = ACTIONS(2392),
    [anon_sym_TILDE] = ACTIONS(2392),
    [sym_constant] = ACTIONS(5548),
    [sym_identifier] = ACTIONS(5548),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7001] = {
    [sym_heredoc_end] = STATE(3770),
    [aux_sym_argument_list_repeat2] = STATE(6949),
    [sym__simple_heredoc_body] = ACTIONS(5460),
    [sym__heredoc_body_beginning] = ACTIONS(5462),
    [sym__line_break] = ACTIONS(5472),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_LBRACE] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(12804),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_SEMI] = ACTIONS(5472),
    [anon_sym_STAR_STAR] = ACTIONS(5474),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_EQ] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_if] = ACTIONS(5472),
    [anon_sym_unless] = ACTIONS(5472),
    [anon_sym_while] = ACTIONS(5472),
    [anon_sym_until] = ACTIONS(5472),
    [anon_sym_rescue] = ACTIONS(5472),
    [anon_sym_do] = ACTIONS(5472),
    [anon_sym_then] = ACTIONS(5472),
    [anon_sym_EQ_GT] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_PLUS_EQ] = ACTIONS(5472),
    [anon_sym_DASH_EQ] = ACTIONS(5472),
    [anon_sym_STAR_EQ] = ACTIONS(5472),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5472),
    [anon_sym_SLASH_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5472),
    [anon_sym_AMP_EQ] = ACTIONS(5472),
    [anon_sym_PERCENT_EQ] = ACTIONS(5472),
    [anon_sym_GT_GT_EQ] = ACTIONS(5472),
    [anon_sym_LT_LT_EQ] = ACTIONS(5472),
    [anon_sym_CARET_EQ] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5474),
    [anon_sym_AMP_AMP] = ACTIONS(5474),
    [anon_sym_LT_LT] = ACTIONS(5474),
    [anon_sym_GT_GT] = ACTIONS(5474),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5474),
    [anon_sym_PLUS] = ACTIONS(5474),
    [anon_sym_SLASH] = ACTIONS(5474),
    [anon_sym_PERCENT] = ACTIONS(5474),
    [sym_comment] = ACTIONS(256),
  },
  [7002] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(9991),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1511),
    [sym_call] = STATE(1511),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1513),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1514),
    [sym__variable] = STATE(1511),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2376),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(5618),
    [anon_sym_yield] = ACTIONS(5620),
    [anon_sym_break] = ACTIONS(5622),
    [anon_sym_next] = ACTIONS(5624),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(5626),
    [anon_sym_defined_QMARK] = ACTIONS(2386),
    [anon_sym_not] = ACTIONS(5628),
    [anon_sym_BANG] = ACTIONS(2392),
    [anon_sym_TILDE] = ACTIONS(2392),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7003] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1465),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1466),
    [sym_call] = STATE(1466),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(6955),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1468),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1469),
    [sym__variable] = STATE(1466),
    [sym_reserved_identifier] = STATE(1470),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(1471),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__block_ampersand] = ACTIONS(2298),
    [sym__splat_star] = ACTIONS(2300),
    [sym__unary_minus] = ACTIONS(2302),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(9556),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2304),
    [anon_sym_yield] = ACTIONS(2306),
    [anon_sym_break] = ACTIONS(2308),
    [anon_sym_next] = ACTIONS(2310),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(5502),
    [anon_sym_defined_QMARK] = ACTIONS(2312),
    [anon_sym_not] = ACTIONS(2314),
    [anon_sym_BANG] = ACTIONS(2318),
    [anon_sym_TILDE] = ACTIONS(2318),
    [sym_constant] = ACTIONS(2320),
    [sym_identifier] = ACTIONS(2320),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7004] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1465),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1466),
    [sym_call] = STATE(1466),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(6955),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1468),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1469),
    [sym__variable] = STATE(1466),
    [sym_reserved_identifier] = STATE(1470),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(1471),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(9992),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__block_ampersand] = ACTIONS(2298),
    [sym__splat_star] = ACTIONS(2300),
    [sym__unary_minus] = ACTIONS(2302),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(9556),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2304),
    [anon_sym_yield] = ACTIONS(2306),
    [anon_sym_break] = ACTIONS(2308),
    [anon_sym_next] = ACTIONS(2310),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(5502),
    [anon_sym_defined_QMARK] = ACTIONS(2312),
    [anon_sym_not] = ACTIONS(2314),
    [anon_sym_BANG] = ACTIONS(2318),
    [anon_sym_TILDE] = ACTIONS(2318),
    [sym_constant] = ACTIONS(2320),
    [sym_identifier] = ACTIONS(2320),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7005] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__line_break] = ACTIONS(6346),
    [sym__element_reference_left_bracket] = ACTIONS(6346),
    [sym__scope_double_colon] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(5514),
    [sym__binary_star] = ACTIONS(5516),
    [anon_sym_DOT] = ACTIONS(7328),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(5518),
    [anon_sym_SEMI] = ACTIONS(6346),
    [anon_sym_STAR_STAR] = ACTIONS(5520),
    [anon_sym_AMP] = ACTIONS(5522),
    [anon_sym_LT] = ACTIONS(5524),
    [anon_sym_if] = ACTIONS(6346),
    [anon_sym_unless] = ACTIONS(6346),
    [anon_sym_while] = ACTIONS(6346),
    [anon_sym_until] = ACTIONS(6346),
    [anon_sym_rescue] = ACTIONS(6346),
    [anon_sym_then] = ACTIONS(6346),
    [anon_sym_EQ_GT] = ACTIONS(6346),
    [anon_sym_AMP_DOT] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(5526),
    [anon_sym_DOT_DOT] = ACTIONS(5528),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5530),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(5532),
    [anon_sym_AMP_AMP] = ACTIONS(5532),
    [anon_sym_LT_LT] = ACTIONS(5534),
    [anon_sym_GT_GT] = ACTIONS(5534),
    [anon_sym_EQ_EQ] = ACTIONS(5536),
    [anon_sym_BANG_EQ] = ACTIONS(5532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5532),
    [anon_sym_LT_EQ_GT] = ACTIONS(5532),
    [anon_sym_EQ_TILDE] = ACTIONS(5532),
    [anon_sym_BANG_TILDE] = ACTIONS(5532),
    [anon_sym_LT_EQ] = ACTIONS(5524),
    [anon_sym_GT] = ACTIONS(5524),
    [anon_sym_GT_EQ] = ACTIONS(5538),
    [anon_sym_CARET] = ACTIONS(5540),
    [anon_sym_PLUS] = ACTIONS(5542),
    [anon_sym_SLASH] = ACTIONS(5520),
    [anon_sym_PERCENT] = ACTIONS(5520),
    [sym_comment] = ACTIONS(110),
  },
  [7006] = {
    [aux_sym_exceptions_repeat1] = STATE(9994),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__line_break] = ACTIONS(7330),
    [sym__element_reference_left_bracket] = ACTIONS(7330),
    [sym__scope_double_colon] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_DOT] = ACTIONS(7332),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_SEMI] = ACTIONS(7330),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_if] = ACTIONS(7330),
    [anon_sym_unless] = ACTIONS(7330),
    [anon_sym_while] = ACTIONS(7330),
    [anon_sym_until] = ACTIONS(7330),
    [anon_sym_rescue] = ACTIONS(7330),
    [anon_sym_then] = ACTIONS(7330),
    [anon_sym_EQ_GT] = ACTIONS(7330),
    [anon_sym_AMP_DOT] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [7007] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__line_break] = ACTIONS(7344),
    [sym__element_reference_left_bracket] = ACTIONS(7344),
    [sym__scope_double_colon] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(5514),
    [sym__binary_star] = ACTIONS(5516),
    [anon_sym_DOT] = ACTIONS(9504),
    [anon_sym_COMMA] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(5518),
    [anon_sym_SEMI] = ACTIONS(7344),
    [anon_sym_STAR_STAR] = ACTIONS(5520),
    [anon_sym_AMP] = ACTIONS(5522),
    [anon_sym_LT] = ACTIONS(5524),
    [anon_sym_if] = ACTIONS(7344),
    [anon_sym_unless] = ACTIONS(7344),
    [anon_sym_while] = ACTIONS(7344),
    [anon_sym_until] = ACTIONS(7344),
    [anon_sym_rescue] = ACTIONS(7344),
    [anon_sym_then] = ACTIONS(7344),
    [anon_sym_EQ_GT] = ACTIONS(7344),
    [anon_sym_AMP_DOT] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(5526),
    [anon_sym_DOT_DOT] = ACTIONS(5528),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5530),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(5532),
    [anon_sym_AMP_AMP] = ACTIONS(5532),
    [anon_sym_LT_LT] = ACTIONS(5534),
    [anon_sym_GT_GT] = ACTIONS(5534),
    [anon_sym_EQ_EQ] = ACTIONS(5536),
    [anon_sym_BANG_EQ] = ACTIONS(5532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5532),
    [anon_sym_LT_EQ_GT] = ACTIONS(5532),
    [anon_sym_EQ_TILDE] = ACTIONS(5532),
    [anon_sym_BANG_TILDE] = ACTIONS(5532),
    [anon_sym_LT_EQ] = ACTIONS(5524),
    [anon_sym_GT] = ACTIONS(5524),
    [anon_sym_GT_EQ] = ACTIONS(5538),
    [anon_sym_CARET] = ACTIONS(5540),
    [anon_sym_PLUS] = ACTIONS(5542),
    [anon_sym_SLASH] = ACTIONS(5520),
    [anon_sym_PERCENT] = ACTIONS(5520),
    [sym_comment] = ACTIONS(110),
  },
  [7008] = {
    [sym__simple_heredoc_body] = ACTIONS(8662),
    [sym__heredoc_body_beginning] = ACTIONS(8662),
    [sym__line_break] = ACTIONS(8662),
    [sym__element_reference_left_bracket] = ACTIONS(8662),
    [sym__scope_double_colon] = ACTIONS(8662),
    [sym__binary_minus] = ACTIONS(9508),
    [sym__binary_star] = ACTIONS(9510),
    [anon_sym_DOT] = ACTIONS(9506),
    [anon_sym_COMMA] = ACTIONS(8662),
    [anon_sym_PIPE] = ACTIONS(9512),
    [anon_sym_SEMI] = ACTIONS(8662),
    [anon_sym_STAR_STAR] = ACTIONS(9514),
    [anon_sym_AMP] = ACTIONS(9516),
    [anon_sym_LT] = ACTIONS(9518),
    [anon_sym_if] = ACTIONS(8662),
    [anon_sym_unless] = ACTIONS(8662),
    [anon_sym_while] = ACTIONS(8662),
    [anon_sym_until] = ACTIONS(8662),
    [anon_sym_rescue] = ACTIONS(8662),
    [anon_sym_then] = ACTIONS(8662),
    [anon_sym_AMP_DOT] = ACTIONS(8662),
    [anon_sym_QMARK] = ACTIONS(9520),
    [anon_sym_DOT_DOT] = ACTIONS(9522),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9524),
    [anon_sym_and] = ACTIONS(8662),
    [anon_sym_or] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE] = ACTIONS(9526),
    [anon_sym_AMP_AMP] = ACTIONS(9526),
    [anon_sym_LT_LT] = ACTIONS(9528),
    [anon_sym_GT_GT] = ACTIONS(9528),
    [anon_sym_EQ_EQ] = ACTIONS(9530),
    [anon_sym_BANG_EQ] = ACTIONS(9526),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9526),
    [anon_sym_LT_EQ_GT] = ACTIONS(9526),
    [anon_sym_EQ_TILDE] = ACTIONS(9526),
    [anon_sym_BANG_TILDE] = ACTIONS(9526),
    [anon_sym_LT_EQ] = ACTIONS(9518),
    [anon_sym_GT] = ACTIONS(9518),
    [anon_sym_GT_EQ] = ACTIONS(9532),
    [anon_sym_CARET] = ACTIONS(9534),
    [anon_sym_PLUS] = ACTIONS(9536),
    [anon_sym_SLASH] = ACTIONS(9514),
    [anon_sym_PERCENT] = ACTIONS(9514),
    [sym_comment] = ACTIONS(110),
  },
  [7009] = {
    [sym__simple_string] = ACTIONS(8070),
    [sym__simple_symbol] = ACTIONS(8070),
    [sym__simple_subshell] = ACTIONS(8070),
    [sym__simple_regex] = ACTIONS(8070),
    [sym__simple_word_list] = ACTIONS(8070),
    [sym__simple_heredoc_body] = ACTIONS(8070),
    [sym__string_beginning] = ACTIONS(8070),
    [sym__symbol_beginning] = ACTIONS(8070),
    [sym__subshell_beginning] = ACTIONS(8070),
    [sym__regex_beginning] = ACTIONS(8070),
    [sym__word_list_beginning] = ACTIONS(8070),
    [sym__heredoc_body_beginning] = ACTIONS(8070),
    [sym_heredoc_beginning] = ACTIONS(8070),
    [sym__line_break] = ACTIONS(8070),
    [sym__unary_minus] = ACTIONS(8070),
    [anon_sym_BEGIN] = ACTIONS(10414),
    [anon_sym_LBRACE] = ACTIONS(8070),
    [anon_sym_END] = ACTIONS(10414),
    [anon_sym_def] = ACTIONS(10414),
    [anon_sym_LPAREN] = ACTIONS(8070),
    [anon_sym_COLON_COLON] = ACTIONS(8070),
    [anon_sym_end] = ACTIONS(10414),
    [anon_sym_SEMI] = ACTIONS(8070),
    [anon_sym_STAR] = ACTIONS(8070),
    [anon_sym_class] = ACTIONS(10414),
    [anon_sym_module] = ACTIONS(10414),
    [anon_sym_return] = ACTIONS(10414),
    [anon_sym_yield] = ACTIONS(10414),
    [anon_sym_break] = ACTIONS(10414),
    [anon_sym_next] = ACTIONS(10414),
    [anon_sym_redo] = ACTIONS(10414),
    [anon_sym_retry] = ACTIONS(10414),
    [anon_sym_if] = ACTIONS(10414),
    [anon_sym_unless] = ACTIONS(10414),
    [anon_sym_while] = ACTIONS(10414),
    [anon_sym_until] = ACTIONS(10414),
    [anon_sym_for] = ACTIONS(10414),
    [anon_sym_case] = ACTIONS(10414),
    [anon_sym_elsif] = ACTIONS(10414),
    [anon_sym_else] = ACTIONS(10414),
    [anon_sym_then] = ACTIONS(10414),
    [anon_sym_begin] = ACTIONS(10414),
    [anon_sym_PLUS] = ACTIONS(10414),
    [anon_sym_defined_QMARK] = ACTIONS(8070),
    [anon_sym_not] = ACTIONS(10414),
    [anon_sym_BANG] = ACTIONS(8070),
    [anon_sym_TILDE] = ACTIONS(8070),
    [sym_constant] = ACTIONS(10416),
    [sym_identifier] = ACTIONS(10416),
    [sym_instance_variable] = ACTIONS(10414),
    [sym_class_variable] = ACTIONS(10414),
    [sym_global_variable] = ACTIONS(10414),
    [anon_sym_alias] = ACTIONS(10414),
    [anon_sym_false] = ACTIONS(10414),
    [anon_sym_nil] = ACTIONS(10414),
    [anon_sym_self] = ACTIONS(10414),
    [anon_sym_super] = ACTIONS(10414),
    [anon_sym_true] = ACTIONS(10414),
    [anon_sym_undef] = ACTIONS(10414),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(10414),
    [sym_float] = ACTIONS(10416),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8070),
    [anon_sym_TRUE] = ACTIONS(10414),
    [anon_sym_FALSE] = ACTIONS(10414),
    [anon_sym_NIL] = ACTIONS(10414),
    [sym_keyword__FILE__] = ACTIONS(10414),
    [sym_keyword__LINE__] = ACTIONS(10414),
    [sym_keyword__ENCODING__] = ACTIONS(10414),
    [sym__character_literal] = ACTIONS(10414),
    [anon_sym_LBRACK] = ACTIONS(8070),
    [anon_sym_DASH_GT] = ACTIONS(8070),
  },
  [7010] = {
    [sym__heredoc_body_middle] = ACTIONS(8296),
    [sym__heredoc_body_end] = ACTIONS(12806),
    [anon_sym_if] = ACTIONS(4112),
    [anon_sym_unless] = ACTIONS(4114),
    [anon_sym_while] = ACTIONS(4116),
    [anon_sym_until] = ACTIONS(4118),
    [anon_sym_rescue] = ACTIONS(4120),
    [sym_comment] = ACTIONS(110),
  },
  [7011] = {
    [sym__heredoc_body_middle] = ACTIONS(4108),
    [sym__heredoc_body_end] = ACTIONS(12808),
    [anon_sym_if] = ACTIONS(4112),
    [anon_sym_unless] = ACTIONS(4114),
    [anon_sym_while] = ACTIONS(4116),
    [anon_sym_until] = ACTIONS(4118),
    [anon_sym_rescue] = ACTIONS(4120),
    [sym_comment] = ACTIONS(110),
  },
  [7012] = {
    [sym__statement] = STATE(9997),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [7013] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_end] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(9614),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_if] = ACTIONS(1372),
    [anon_sym_unless] = ACTIONS(1372),
    [anon_sym_while] = ACTIONS(1372),
    [anon_sym_until] = ACTIONS(1372),
    [anon_sym_rescue] = ACTIONS(1372),
    [anon_sym_elsif] = ACTIONS(1372),
    [anon_sym_else] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [7014] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10002),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(10003),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(10004),
    [sym__variable] = STATE(3868),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(12810),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(12812),
    [anon_sym_defined_QMARK] = ACTIONS(12814),
    [anon_sym_not] = ACTIONS(12816),
    [anon_sym_BANG] = ACTIONS(12818),
    [anon_sym_TILDE] = ACTIONS(12818),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7015] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10005),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(10003),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(10004),
    [sym__variable] = STATE(3868),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(12810),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(12812),
    [anon_sym_defined_QMARK] = ACTIONS(12814),
    [anon_sym_not] = ACTIONS(12816),
    [anon_sym_BANG] = ACTIONS(12818),
    [anon_sym_TILDE] = ACTIONS(12818),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7016] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10010),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7028),
    [sym_call] = STATE(7028),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7030),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7031),
    [sym__variable] = STATE(7028),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(9570),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(12820),
    [anon_sym_yield] = ACTIONS(12822),
    [anon_sym_break] = ACTIONS(12824),
    [anon_sym_next] = ACTIONS(12826),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(12828),
    [anon_sym_defined_QMARK] = ACTIONS(9580),
    [anon_sym_not] = ACTIONS(12830),
    [anon_sym_BANG] = ACTIONS(9586),
    [anon_sym_TILDE] = ACTIONS(9586),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7017] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10011),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(10003),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(10004),
    [sym__variable] = STATE(3868),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(12810),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(12812),
    [anon_sym_defined_QMARK] = ACTIONS(12814),
    [anon_sym_not] = ACTIONS(12816),
    [anon_sym_BANG] = ACTIONS(12818),
    [anon_sym_TILDE] = ACTIONS(12818),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7018] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10016),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7028),
    [sym_call] = STATE(7028),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(340),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(10017),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7030),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7031),
    [sym__variable] = STATE(7028),
    [sym_reserved_identifier] = STATE(10018),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(10019),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(12832),
    [sym__splat_star] = ACTIONS(12834),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(9570),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(544),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(9572),
    [anon_sym_yield] = ACTIONS(9574),
    [anon_sym_break] = ACTIONS(9576),
    [anon_sym_next] = ACTIONS(9578),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(544),
    [anon_sym_else] = ACTIONS(544),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(9580),
    [anon_sym_not] = ACTIONS(9582),
    [anon_sym_BANG] = ACTIONS(9584),
    [anon_sym_TILDE] = ACTIONS(9586),
    [sym_constant] = ACTIONS(12836),
    [sym_identifier] = ACTIONS(12836),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7019] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10016),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7028),
    [sym_call] = STATE(7028),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(349),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(10017),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7030),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7031),
    [sym__variable] = STATE(7028),
    [sym_reserved_identifier] = STATE(10018),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(10019),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(12832),
    [sym__splat_star] = ACTIONS(12834),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(9570),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(604),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(9572),
    [anon_sym_yield] = ACTIONS(9574),
    [anon_sym_break] = ACTIONS(9576),
    [anon_sym_next] = ACTIONS(9578),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(604),
    [anon_sym_else] = ACTIONS(604),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(9580),
    [anon_sym_not] = ACTIONS(9582),
    [anon_sym_BANG] = ACTIONS(9584),
    [anon_sym_TILDE] = ACTIONS(9586),
    [sym_constant] = ACTIONS(12836),
    [sym_identifier] = ACTIONS(12836),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7020] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10016),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7028),
    [sym_call] = STATE(7028),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(350),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(10017),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7030),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7031),
    [sym__variable] = STATE(7028),
    [sym_reserved_identifier] = STATE(10018),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(10019),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(12832),
    [sym__splat_star] = ACTIONS(12834),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(9570),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(608),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(9572),
    [anon_sym_yield] = ACTIONS(9574),
    [anon_sym_break] = ACTIONS(9576),
    [anon_sym_next] = ACTIONS(9578),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(608),
    [anon_sym_else] = ACTIONS(608),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(9580),
    [anon_sym_not] = ACTIONS(9582),
    [anon_sym_BANG] = ACTIONS(9584),
    [anon_sym_TILDE] = ACTIONS(9586),
    [sym_constant] = ACTIONS(12836),
    [sym_identifier] = ACTIONS(12836),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7021] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10016),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7028),
    [sym_call] = STATE(7028),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(351),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(10017),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7030),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7031),
    [sym__variable] = STATE(7028),
    [sym_reserved_identifier] = STATE(10018),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(10019),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(12832),
    [sym__splat_star] = ACTIONS(12834),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(9570),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(612),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(9572),
    [anon_sym_yield] = ACTIONS(9574),
    [anon_sym_break] = ACTIONS(9576),
    [anon_sym_next] = ACTIONS(9578),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(612),
    [anon_sym_else] = ACTIONS(612),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(9580),
    [anon_sym_not] = ACTIONS(9582),
    [anon_sym_BANG] = ACTIONS(9584),
    [anon_sym_TILDE] = ACTIONS(9586),
    [sym_constant] = ACTIONS(12836),
    [sym_identifier] = ACTIONS(12836),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7022] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10020),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7028),
    [sym_call] = STATE(7028),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7030),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7031),
    [sym__variable] = STATE(7028),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(9570),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(12820),
    [anon_sym_yield] = ACTIONS(12822),
    [anon_sym_break] = ACTIONS(12824),
    [anon_sym_next] = ACTIONS(12826),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(12828),
    [anon_sym_defined_QMARK] = ACTIONS(9580),
    [anon_sym_not] = ACTIONS(12830),
    [anon_sym_BANG] = ACTIONS(9586),
    [anon_sym_TILDE] = ACTIONS(9586),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7023] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10021),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7028),
    [sym_call] = STATE(7028),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7030),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7031),
    [sym__variable] = STATE(7028),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(9570),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(12820),
    [anon_sym_yield] = ACTIONS(12822),
    [anon_sym_break] = ACTIONS(12824),
    [anon_sym_next] = ACTIONS(12826),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(12828),
    [anon_sym_defined_QMARK] = ACTIONS(9580),
    [anon_sym_not] = ACTIONS(12830),
    [anon_sym_BANG] = ACTIONS(9586),
    [anon_sym_TILDE] = ACTIONS(9586),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7024] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10021),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7028),
    [sym_call] = STATE(7028),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7030),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7031),
    [sym__variable] = STATE(7028),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(9570),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(12820),
    [anon_sym_yield] = ACTIONS(12822),
    [anon_sym_break] = ACTIONS(12824),
    [anon_sym_next] = ACTIONS(12826),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(12828),
    [anon_sym_defined_QMARK] = ACTIONS(9580),
    [anon_sym_not] = ACTIONS(12830),
    [anon_sym_BANG] = ACTIONS(9586),
    [anon_sym_TILDE] = ACTIONS(9586),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7025] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1410),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7028),
    [sym_call] = STATE(7028),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7030),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7031),
    [sym__variable] = STATE(7028),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(9570),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(12820),
    [anon_sym_yield] = ACTIONS(12822),
    [anon_sym_break] = ACTIONS(12824),
    [anon_sym_next] = ACTIONS(12826),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(12828),
    [anon_sym_defined_QMARK] = ACTIONS(9580),
    [anon_sym_not] = ACTIONS(12830),
    [anon_sym_BANG] = ACTIONS(9586),
    [anon_sym_TILDE] = ACTIONS(9586),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7026] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(12838),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [7027] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__line_break] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(12840),
    [sym__binary_star] = ACTIONS(12842),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_end] = ACTIONS(2210),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(12844),
    [anon_sym_SEMI] = ACTIONS(2210),
    [anon_sym_STAR_STAR] = ACTIONS(12846),
    [anon_sym_AMP] = ACTIONS(12848),
    [anon_sym_LT] = ACTIONS(12850),
    [anon_sym_if] = ACTIONS(2210),
    [anon_sym_unless] = ACTIONS(2210),
    [anon_sym_while] = ACTIONS(2210),
    [anon_sym_until] = ACTIONS(2210),
    [anon_sym_rescue] = ACTIONS(2210),
    [anon_sym_elsif] = ACTIONS(2210),
    [anon_sym_else] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(12838),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(12852),
    [anon_sym_DOT_DOT] = ACTIONS(12854),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12856),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(12858),
    [anon_sym_AMP_AMP] = ACTIONS(12858),
    [anon_sym_LT_LT] = ACTIONS(12860),
    [anon_sym_GT_GT] = ACTIONS(12860),
    [anon_sym_EQ_EQ] = ACTIONS(12862),
    [anon_sym_BANG_EQ] = ACTIONS(12858),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12858),
    [anon_sym_LT_EQ_GT] = ACTIONS(12858),
    [anon_sym_EQ_TILDE] = ACTIONS(12858),
    [anon_sym_BANG_TILDE] = ACTIONS(12858),
    [anon_sym_LT_EQ] = ACTIONS(12850),
    [anon_sym_GT] = ACTIONS(12850),
    [anon_sym_GT_EQ] = ACTIONS(12864),
    [anon_sym_CARET] = ACTIONS(12866),
    [anon_sym_PLUS] = ACTIONS(12868),
    [anon_sym_SLASH] = ACTIONS(12846),
    [anon_sym_PERCENT] = ACTIONS(12846),
    [sym_comment] = ACTIONS(110),
  },
  [7028] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10039),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7073),
    [sym_call] = STATE(7073),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(1435),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(10040),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_do_block] = STATE(1439),
    [sym_block] = STATE(1439),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(7075),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7076),
    [sym__variable] = STATE(7073),
    [sym_reserved_identifier] = STATE(10041),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(10042),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(12870),
    [sym__splat_star] = ACTIONS(12872),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(9644),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(2258),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(982),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(9646),
    [anon_sym_yield] = ACTIONS(9648),
    [anon_sym_break] = ACTIONS(9650),
    [anon_sym_next] = ACTIONS(9652),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(982),
    [anon_sym_unless] = ACTIONS(982),
    [anon_sym_while] = ACTIONS(982),
    [anon_sym_until] = ACTIONS(982),
    [anon_sym_rescue] = ACTIONS(982),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(2260),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(982),
    [anon_sym_else] = ACTIONS(982),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(980),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(9654),
    [anon_sym_not] = ACTIONS(9656),
    [anon_sym_BANG] = ACTIONS(9658),
    [anon_sym_TILDE] = ACTIONS(9660),
    [sym_constant] = ACTIONS(12874),
    [sym_identifier] = ACTIONS(12874),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7029] = {
    [sym_heredoc_end] = STATE(1444),
    [aux_sym_argument_list_repeat1] = STATE(10044),
    [aux_sym_argument_list_repeat2] = STATE(1445),
    [sym__simple_heredoc_body] = ACTIONS(2268),
    [sym__heredoc_body_beginning] = ACTIONS(2270),
    [sym__line_break] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_end] = ACTIONS(2272),
    [anon_sym_COMMA] = ACTIONS(12876),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_STAR_STAR] = ACTIONS(2272),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_if] = ACTIONS(2272),
    [anon_sym_unless] = ACTIONS(2272),
    [anon_sym_while] = ACTIONS(2272),
    [anon_sym_until] = ACTIONS(2272),
    [anon_sym_rescue] = ACTIONS(2272),
    [anon_sym_elsif] = ACTIONS(2272),
    [anon_sym_else] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2272),
    [anon_sym_AMP_AMP] = ACTIONS(2272),
    [anon_sym_LT_LT] = ACTIONS(2272),
    [anon_sym_GT_GT] = ACTIONS(2272),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2272),
    [anon_sym_PLUS] = ACTIONS(2272),
    [anon_sym_SLASH] = ACTIONS(2272),
    [anon_sym_PERCENT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(110),
  },
  [7030] = {
    [anon_sym_EQ] = ACTIONS(12878),
    [sym_comment] = ACTIONS(256),
  },
  [7031] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_end] = ACTIONS(250),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(12880),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_elsif] = ACTIONS(250),
    [anon_sym_else] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(12882),
    [anon_sym_DASH_EQ] = ACTIONS(12882),
    [anon_sym_STAR_EQ] = ACTIONS(12882),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(12882),
    [anon_sym_SLASH_EQ] = ACTIONS(12882),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(12882),
    [anon_sym_PIPE_EQ] = ACTIONS(12882),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(12882),
    [anon_sym_AMP_EQ] = ACTIONS(12882),
    [anon_sym_PERCENT_EQ] = ACTIONS(12882),
    [anon_sym_GT_GT_EQ] = ACTIONS(12882),
    [anon_sym_LT_LT_EQ] = ACTIONS(12882),
    [anon_sym_CARET_EQ] = ACTIONS(12882),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [7032] = {
    [sym__keyword_colon] = ACTIONS(12884),
    [sym_comment] = ACTIONS(110),
  },
  [7033] = {
    [sym_string] = STATE(611),
    [aux_sym_chained_string_repeat1] = STATE(612),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(20),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(12838),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_end] = ACTIONS(250),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_elsif] = ACTIONS(250),
    [anon_sym_else] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(120),
  },
  [7034] = {
    [sym__then] = STATE(10052),
    [sym_heredoc_end] = STATE(10050),
    [sym__terminator] = STATE(10053),
    [sym__simple_heredoc_body] = ACTIONS(12886),
    [sym__heredoc_body_beginning] = ACTIONS(12888),
    [sym__line_break] = ACTIONS(12890),
    [anon_sym_SEMI] = ACTIONS(12890),
    [anon_sym_if] = ACTIONS(2328),
    [anon_sym_unless] = ACTIONS(2330),
    [anon_sym_while] = ACTIONS(2332),
    [anon_sym_until] = ACTIONS(2334),
    [anon_sym_rescue] = ACTIONS(2336),
    [anon_sym_then] = ACTIONS(12892),
    [sym_comment] = ACTIONS(110),
  },
  [7035] = {
    [sym__statements] = STATE(4489),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(6498),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7036] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_end] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(9614),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_elsif] = ACTIONS(2870),
    [anon_sym_else] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [7037] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(9608),
    [sym__binary_star] = ACTIONS(9610),
    [anon_sym_end] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(9612),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(9614),
    [anon_sym_AMP] = ACTIONS(9616),
    [anon_sym_LT] = ACTIONS(9618),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_elsif] = ACTIONS(2870),
    [anon_sym_else] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(9620),
    [anon_sym_DOT_DOT] = ACTIONS(9622),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9624),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(9628),
    [anon_sym_AMP_AMP] = ACTIONS(9628),
    [anon_sym_LT_LT] = ACTIONS(9630),
    [anon_sym_GT_GT] = ACTIONS(9630),
    [anon_sym_EQ_EQ] = ACTIONS(9632),
    [anon_sym_BANG_EQ] = ACTIONS(9628),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9628),
    [anon_sym_LT_EQ_GT] = ACTIONS(9628),
    [anon_sym_EQ_TILDE] = ACTIONS(9628),
    [anon_sym_BANG_TILDE] = ACTIONS(9628),
    [anon_sym_LT_EQ] = ACTIONS(9618),
    [anon_sym_GT] = ACTIONS(9618),
    [anon_sym_GT_EQ] = ACTIONS(9634),
    [anon_sym_CARET] = ACTIONS(9636),
    [anon_sym_PLUS] = ACTIONS(9638),
    [anon_sym_SLASH] = ACTIONS(9614),
    [anon_sym_PERCENT] = ACTIONS(9614),
    [sym_comment] = ACTIONS(110),
  },
  [7038] = {
    [sym__simple_heredoc_body] = ACTIONS(12894),
    [sym__heredoc_body_beginning] = ACTIONS(12894),
    [sym__line_break] = ACTIONS(12894),
    [sym__element_reference_left_bracket] = ACTIONS(12894),
    [sym__scope_double_colon] = ACTIONS(12894),
    [sym__binary_minus] = ACTIONS(12894),
    [sym__binary_star] = ACTIONS(12894),
    [ts_builtin_sym_end] = ACTIONS(12894),
    [anon_sym___END__] = ACTIONS(12894),
    [anon_sym_LBRACE] = ACTIONS(12894),
    [anon_sym_RBRACE] = ACTIONS(12894),
    [anon_sym_RPAREN] = ACTIONS(12894),
    [anon_sym_DOT] = ACTIONS(12896),
    [anon_sym_end] = ACTIONS(12894),
    [anon_sym_COMMA] = ACTIONS(12894),
    [anon_sym_PIPE] = ACTIONS(12896),
    [anon_sym_SEMI] = ACTIONS(12894),
    [anon_sym_STAR_STAR] = ACTIONS(12894),
    [anon_sym_AMP] = ACTIONS(12896),
    [anon_sym_LT] = ACTIONS(12896),
    [anon_sym_if] = ACTIONS(12894),
    [anon_sym_unless] = ACTIONS(12894),
    [anon_sym_while] = ACTIONS(12894),
    [anon_sym_until] = ACTIONS(12894),
    [anon_sym_rescue] = ACTIONS(12894),
    [anon_sym_do] = ACTIONS(12894),
    [anon_sym_when] = ACTIONS(12894),
    [anon_sym_elsif] = ACTIONS(12894),
    [anon_sym_else] = ACTIONS(12894),
    [anon_sym_then] = ACTIONS(12894),
    [anon_sym_ensure] = ACTIONS(12894),
    [anon_sym_EQ_GT] = ACTIONS(12894),
    [anon_sym_AMP_DOT] = ACTIONS(12894),
    [anon_sym_QMARK] = ACTIONS(12894),
    [anon_sym_DOT_DOT] = ACTIONS(12896),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12894),
    [anon_sym_and] = ACTIONS(12894),
    [anon_sym_or] = ACTIONS(12894),
    [anon_sym_PIPE_PIPE] = ACTIONS(12894),
    [anon_sym_AMP_AMP] = ACTIONS(12894),
    [anon_sym_LT_LT] = ACTIONS(12894),
    [anon_sym_GT_GT] = ACTIONS(12894),
    [anon_sym_EQ_EQ] = ACTIONS(12896),
    [anon_sym_BANG_EQ] = ACTIONS(12894),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12894),
    [anon_sym_LT_EQ_GT] = ACTIONS(12894),
    [anon_sym_EQ_TILDE] = ACTIONS(12894),
    [anon_sym_BANG_TILDE] = ACTIONS(12894),
    [anon_sym_LT_EQ] = ACTIONS(12896),
    [anon_sym_GT] = ACTIONS(12896),
    [anon_sym_GT_EQ] = ACTIONS(12894),
    [anon_sym_CARET] = ACTIONS(12894),
    [anon_sym_PLUS] = ACTIONS(12894),
    [anon_sym_SLASH] = ACTIONS(12894),
    [anon_sym_PERCENT] = ACTIONS(12894),
    [sym_comment] = ACTIONS(110),
  },
  [7039] = {
    [anon_sym_end] = ACTIONS(12898),
    [sym_comment] = ACTIONS(110),
  },
  [7040] = {
    [sym__top_level_statement] = STATE(1996),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(3864),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3867),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3869),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3870),
    [sym__variable] = STATE(3868),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5572),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(3108),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_elsif] = ACTIONS(3108),
    [anon_sym_else] = ACTIONS(3108),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5590),
    [anon_sym_defined_QMARK] = ACTIONS(5592),
    [anon_sym_not] = ACTIONS(5594),
    [anon_sym_BANG] = ACTIONS(5596),
    [anon_sym_TILDE] = ACTIONS(5596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7041] = {
    [sym_heredoc_end] = STATE(3849),
    [sym__terminator] = STATE(10055),
    [sym__simple_heredoc_body] = ACTIONS(5566),
    [sym__heredoc_body_beginning] = ACTIONS(5568),
    [sym__line_break] = ACTIONS(5570),
    [anon_sym_end] = ACTIONS(3106),
    [anon_sym_SEMI] = ACTIONS(5570),
    [anon_sym_elsif] = ACTIONS(3106),
    [anon_sym_else] = ACTIONS(3106),
    [sym_comment] = ACTIONS(110),
  },
  [7042] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10056),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3869),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3870),
    [sym__variable] = STATE(3868),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5572),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5590),
    [anon_sym_defined_QMARK] = ACTIONS(5592),
    [anon_sym_not] = ACTIONS(5594),
    [anon_sym_BANG] = ACTIONS(5596),
    [anon_sym_TILDE] = ACTIONS(5596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7043] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10057),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3869),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3870),
    [sym__variable] = STATE(3868),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5572),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5590),
    [anon_sym_defined_QMARK] = ACTIONS(5592),
    [anon_sym_not] = ACTIONS(5594),
    [anon_sym_BANG] = ACTIONS(5596),
    [anon_sym_TILDE] = ACTIONS(5596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7044] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10058),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3869),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3870),
    [sym__variable] = STATE(3868),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5572),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5590),
    [anon_sym_defined_QMARK] = ACTIONS(5592),
    [anon_sym_not] = ACTIONS(5594),
    [anon_sym_BANG] = ACTIONS(5596),
    [anon_sym_TILDE] = ACTIONS(5596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7045] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10059),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3869),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3870),
    [sym__variable] = STATE(3868),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5572),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5590),
    [anon_sym_defined_QMARK] = ACTIONS(5592),
    [anon_sym_not] = ACTIONS(5594),
    [anon_sym_BANG] = ACTIONS(5596),
    [anon_sym_TILDE] = ACTIONS(5596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7046] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10060),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3869),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3870),
    [sym__variable] = STATE(3868),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5572),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5590),
    [anon_sym_defined_QMARK] = ACTIONS(5592),
    [anon_sym_not] = ACTIONS(5594),
    [anon_sym_BANG] = ACTIONS(5596),
    [anon_sym_TILDE] = ACTIONS(5596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7047] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10061),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3869),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3870),
    [sym__variable] = STATE(3868),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5572),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5590),
    [anon_sym_defined_QMARK] = ACTIONS(5592),
    [anon_sym_not] = ACTIONS(5594),
    [anon_sym_BANG] = ACTIONS(5596),
    [anon_sym_TILDE] = ACTIONS(5596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7048] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10062),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3869),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3870),
    [sym__variable] = STATE(3868),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5572),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5590),
    [anon_sym_defined_QMARK] = ACTIONS(5592),
    [anon_sym_not] = ACTIONS(5594),
    [anon_sym_BANG] = ACTIONS(5596),
    [anon_sym_TILDE] = ACTIONS(5596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7049] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10063),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3869),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3870),
    [sym__variable] = STATE(3868),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5572),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5590),
    [anon_sym_defined_QMARK] = ACTIONS(5592),
    [anon_sym_not] = ACTIONS(5594),
    [anon_sym_BANG] = ACTIONS(5596),
    [anon_sym_TILDE] = ACTIONS(5596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7050] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10064),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3869),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3870),
    [sym__variable] = STATE(3868),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5572),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5590),
    [anon_sym_defined_QMARK] = ACTIONS(5592),
    [anon_sym_not] = ACTIONS(5594),
    [anon_sym_BANG] = ACTIONS(5596),
    [anon_sym_TILDE] = ACTIONS(5596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7051] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10065),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3869),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3870),
    [sym__variable] = STATE(3868),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5572),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5590),
    [anon_sym_defined_QMARK] = ACTIONS(5592),
    [anon_sym_not] = ACTIONS(5594),
    [anon_sym_BANG] = ACTIONS(5596),
    [anon_sym_TILDE] = ACTIONS(5596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7052] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10066),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3869),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3870),
    [sym__variable] = STATE(3868),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5572),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5590),
    [anon_sym_defined_QMARK] = ACTIONS(5592),
    [anon_sym_not] = ACTIONS(5594),
    [anon_sym_BANG] = ACTIONS(5596),
    [anon_sym_TILDE] = ACTIONS(5596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7053] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(10067),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [7054] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10068),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3869),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3870),
    [sym__variable] = STATE(3868),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5572),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5590),
    [anon_sym_defined_QMARK] = ACTIONS(5592),
    [anon_sym_not] = ACTIONS(5594),
    [anon_sym_BANG] = ACTIONS(5596),
    [anon_sym_TILDE] = ACTIONS(5596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7055] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10069),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3869),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3870),
    [sym__variable] = STATE(3868),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5572),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5590),
    [anon_sym_defined_QMARK] = ACTIONS(5592),
    [anon_sym_not] = ACTIONS(5594),
    [anon_sym_BANG] = ACTIONS(5596),
    [anon_sym_TILDE] = ACTIONS(5596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7056] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10070),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3869),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3870),
    [sym__variable] = STATE(3868),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5572),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5590),
    [anon_sym_defined_QMARK] = ACTIONS(5592),
    [anon_sym_not] = ACTIONS(5594),
    [anon_sym_BANG] = ACTIONS(5596),
    [anon_sym_TILDE] = ACTIONS(5596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7057] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10071),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3869),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3870),
    [sym__variable] = STATE(3868),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5572),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5590),
    [anon_sym_defined_QMARK] = ACTIONS(5592),
    [anon_sym_not] = ACTIONS(5594),
    [anon_sym_BANG] = ACTIONS(5596),
    [anon_sym_TILDE] = ACTIONS(5596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7058] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10072),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3869),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3870),
    [sym__variable] = STATE(3868),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5572),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5590),
    [anon_sym_defined_QMARK] = ACTIONS(5592),
    [anon_sym_not] = ACTIONS(5594),
    [anon_sym_BANG] = ACTIONS(5596),
    [anon_sym_TILDE] = ACTIONS(5596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7059] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10081),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(10082),
    [sym_call] = STATE(10082),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(10083),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(10084),
    [sym__variable] = STATE(10082),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(12900),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(12902),
    [anon_sym_yield] = ACTIONS(12904),
    [anon_sym_break] = ACTIONS(12906),
    [anon_sym_next] = ACTIONS(12908),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(12910),
    [anon_sym_defined_QMARK] = ACTIONS(12912),
    [anon_sym_not] = ACTIONS(12914),
    [anon_sym_BANG] = ACTIONS(12916),
    [anon_sym_TILDE] = ACTIONS(12916),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7060] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10085),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(10082),
    [sym_call] = STATE(10082),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(10083),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(10084),
    [sym__variable] = STATE(10082),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(12900),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(12902),
    [anon_sym_yield] = ACTIONS(12904),
    [anon_sym_break] = ACTIONS(12906),
    [anon_sym_next] = ACTIONS(12908),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(12910),
    [anon_sym_defined_QMARK] = ACTIONS(12912),
    [anon_sym_not] = ACTIONS(12914),
    [anon_sym_BANG] = ACTIONS(12916),
    [anon_sym_TILDE] = ACTIONS(12916),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7061] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10090),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7073),
    [sym_call] = STATE(7073),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(7075),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7076),
    [sym__variable] = STATE(7073),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(9644),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(12918),
    [anon_sym_yield] = ACTIONS(12920),
    [anon_sym_break] = ACTIONS(12922),
    [anon_sym_next] = ACTIONS(12924),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(12926),
    [anon_sym_defined_QMARK] = ACTIONS(9654),
    [anon_sym_not] = ACTIONS(12928),
    [anon_sym_BANG] = ACTIONS(9660),
    [anon_sym_TILDE] = ACTIONS(9660),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7062] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10091),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(10082),
    [sym_call] = STATE(10082),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(10083),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(10084),
    [sym__variable] = STATE(10082),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(12900),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(12902),
    [anon_sym_yield] = ACTIONS(12904),
    [anon_sym_break] = ACTIONS(12906),
    [anon_sym_next] = ACTIONS(12908),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(12910),
    [anon_sym_defined_QMARK] = ACTIONS(12912),
    [anon_sym_not] = ACTIONS(12914),
    [anon_sym_BANG] = ACTIONS(12916),
    [anon_sym_TILDE] = ACTIONS(12916),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7063] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10039),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7073),
    [sym_call] = STATE(7073),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2147),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(10040),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(7075),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7076),
    [sym__variable] = STATE(7073),
    [sym_reserved_identifier] = STATE(10041),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(10042),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(12870),
    [sym__splat_star] = ACTIONS(12872),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(9644),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(544),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(544),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(9646),
    [anon_sym_yield] = ACTIONS(9648),
    [anon_sym_break] = ACTIONS(9650),
    [anon_sym_next] = ACTIONS(9652),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(544),
    [anon_sym_else] = ACTIONS(544),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_PLUS_EQ] = ACTIONS(532),
    [anon_sym_DASH_EQ] = ACTIONS(532),
    [anon_sym_STAR_EQ] = ACTIONS(532),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(532),
    [anon_sym_SLASH_EQ] = ACTIONS(532),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(532),
    [anon_sym_PIPE_EQ] = ACTIONS(532),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(532),
    [anon_sym_AMP_EQ] = ACTIONS(532),
    [anon_sym_PERCENT_EQ] = ACTIONS(532),
    [anon_sym_GT_GT_EQ] = ACTIONS(532),
    [anon_sym_LT_LT_EQ] = ACTIONS(532),
    [anon_sym_CARET_EQ] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(544),
    [anon_sym_AMP_AMP] = ACTIONS(544),
    [anon_sym_LT_LT] = ACTIONS(544),
    [anon_sym_GT_GT] = ACTIONS(544),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(544),
    [anon_sym_PERCENT] = ACTIONS(544),
    [anon_sym_defined_QMARK] = ACTIONS(9654),
    [anon_sym_not] = ACTIONS(9656),
    [anon_sym_BANG] = ACTIONS(9658),
    [anon_sym_TILDE] = ACTIONS(9660),
    [sym_constant] = ACTIONS(12874),
    [sym_identifier] = ACTIONS(12874),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7064] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10039),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7073),
    [sym_call] = STATE(7073),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2148),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(10040),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(7075),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7076),
    [sym__variable] = STATE(7073),
    [sym_reserved_identifier] = STATE(10041),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(10042),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(12870),
    [sym__splat_star] = ACTIONS(12872),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(9644),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(604),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(604),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(9646),
    [anon_sym_yield] = ACTIONS(9648),
    [anon_sym_break] = ACTIONS(9650),
    [anon_sym_next] = ACTIONS(9652),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(604),
    [anon_sym_else] = ACTIONS(604),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_PLUS_EQ] = ACTIONS(602),
    [anon_sym_DASH_EQ] = ACTIONS(602),
    [anon_sym_STAR_EQ] = ACTIONS(602),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(602),
    [anon_sym_SLASH_EQ] = ACTIONS(602),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(602),
    [anon_sym_PIPE_EQ] = ACTIONS(602),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(602),
    [anon_sym_AMP_EQ] = ACTIONS(602),
    [anon_sym_PERCENT_EQ] = ACTIONS(602),
    [anon_sym_GT_GT_EQ] = ACTIONS(602),
    [anon_sym_LT_LT_EQ] = ACTIONS(602),
    [anon_sym_CARET_EQ] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(604),
    [anon_sym_AMP_AMP] = ACTIONS(604),
    [anon_sym_LT_LT] = ACTIONS(604),
    [anon_sym_GT_GT] = ACTIONS(604),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(604),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(604),
    [anon_sym_PERCENT] = ACTIONS(604),
    [anon_sym_defined_QMARK] = ACTIONS(9654),
    [anon_sym_not] = ACTIONS(9656),
    [anon_sym_BANG] = ACTIONS(9658),
    [anon_sym_TILDE] = ACTIONS(9660),
    [sym_constant] = ACTIONS(12874),
    [sym_identifier] = ACTIONS(12874),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7065] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10039),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7073),
    [sym_call] = STATE(7073),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2149),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(10040),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(7075),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7076),
    [sym__variable] = STATE(7073),
    [sym_reserved_identifier] = STATE(10041),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(10042),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(12870),
    [sym__splat_star] = ACTIONS(12872),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(9644),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(608),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(608),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(9646),
    [anon_sym_yield] = ACTIONS(9648),
    [anon_sym_break] = ACTIONS(9650),
    [anon_sym_next] = ACTIONS(9652),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(608),
    [anon_sym_else] = ACTIONS(608),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_PLUS_EQ] = ACTIONS(606),
    [anon_sym_DASH_EQ] = ACTIONS(606),
    [anon_sym_STAR_EQ] = ACTIONS(606),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(606),
    [anon_sym_SLASH_EQ] = ACTIONS(606),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(606),
    [anon_sym_PIPE_EQ] = ACTIONS(606),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(606),
    [anon_sym_AMP_EQ] = ACTIONS(606),
    [anon_sym_PERCENT_EQ] = ACTIONS(606),
    [anon_sym_GT_GT_EQ] = ACTIONS(606),
    [anon_sym_LT_LT_EQ] = ACTIONS(606),
    [anon_sym_CARET_EQ] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(608),
    [anon_sym_AMP_AMP] = ACTIONS(608),
    [anon_sym_LT_LT] = ACTIONS(608),
    [anon_sym_GT_GT] = ACTIONS(608),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(608),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(608),
    [anon_sym_PERCENT] = ACTIONS(608),
    [anon_sym_defined_QMARK] = ACTIONS(9654),
    [anon_sym_not] = ACTIONS(9656),
    [anon_sym_BANG] = ACTIONS(9658),
    [anon_sym_TILDE] = ACTIONS(9660),
    [sym_constant] = ACTIONS(12874),
    [sym_identifier] = ACTIONS(12874),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7066] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10039),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7073),
    [sym_call] = STATE(7073),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2150),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(10040),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(7075),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7076),
    [sym__variable] = STATE(7073),
    [sym_reserved_identifier] = STATE(10041),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(10042),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(12870),
    [sym__splat_star] = ACTIONS(12872),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(9644),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(612),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(612),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(9646),
    [anon_sym_yield] = ACTIONS(9648),
    [anon_sym_break] = ACTIONS(9650),
    [anon_sym_next] = ACTIONS(9652),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(612),
    [anon_sym_else] = ACTIONS(612),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_PLUS_EQ] = ACTIONS(610),
    [anon_sym_DASH_EQ] = ACTIONS(610),
    [anon_sym_STAR_EQ] = ACTIONS(610),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(610),
    [anon_sym_SLASH_EQ] = ACTIONS(610),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(610),
    [anon_sym_PIPE_EQ] = ACTIONS(610),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(610),
    [anon_sym_AMP_EQ] = ACTIONS(610),
    [anon_sym_PERCENT_EQ] = ACTIONS(610),
    [anon_sym_GT_GT_EQ] = ACTIONS(610),
    [anon_sym_LT_LT_EQ] = ACTIONS(610),
    [anon_sym_CARET_EQ] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(612),
    [anon_sym_AMP_AMP] = ACTIONS(612),
    [anon_sym_LT_LT] = ACTIONS(612),
    [anon_sym_GT_GT] = ACTIONS(612),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(612),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(612),
    [anon_sym_PERCENT] = ACTIONS(612),
    [anon_sym_defined_QMARK] = ACTIONS(9654),
    [anon_sym_not] = ACTIONS(9656),
    [anon_sym_BANG] = ACTIONS(9658),
    [anon_sym_TILDE] = ACTIONS(9660),
    [sym_constant] = ACTIONS(12874),
    [sym_identifier] = ACTIONS(12874),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7067] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10092),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7073),
    [sym_call] = STATE(7073),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(7075),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7076),
    [sym__variable] = STATE(7073),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(9644),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(12918),
    [anon_sym_yield] = ACTIONS(12920),
    [anon_sym_break] = ACTIONS(12922),
    [anon_sym_next] = ACTIONS(12924),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(12926),
    [anon_sym_defined_QMARK] = ACTIONS(9654),
    [anon_sym_not] = ACTIONS(12928),
    [anon_sym_BANG] = ACTIONS(9660),
    [anon_sym_TILDE] = ACTIONS(9660),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7068] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10093),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7073),
    [sym_call] = STATE(7073),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(7075),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7076),
    [sym__variable] = STATE(7073),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(9644),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(12918),
    [anon_sym_yield] = ACTIONS(12920),
    [anon_sym_break] = ACTIONS(12922),
    [anon_sym_next] = ACTIONS(12924),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(12926),
    [anon_sym_defined_QMARK] = ACTIONS(9654),
    [anon_sym_not] = ACTIONS(12928),
    [anon_sym_BANG] = ACTIONS(9660),
    [anon_sym_TILDE] = ACTIONS(9660),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7069] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10093),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7073),
    [sym_call] = STATE(7073),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(7075),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7076),
    [sym__variable] = STATE(7073),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(9644),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(12918),
    [anon_sym_yield] = ACTIONS(12920),
    [anon_sym_break] = ACTIONS(12922),
    [anon_sym_next] = ACTIONS(12924),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(12926),
    [anon_sym_defined_QMARK] = ACTIONS(9654),
    [anon_sym_not] = ACTIONS(12928),
    [anon_sym_BANG] = ACTIONS(9660),
    [anon_sym_TILDE] = ACTIONS(9660),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7070] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(2168),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7073),
    [sym_call] = STATE(7073),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(7075),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7076),
    [sym__variable] = STATE(7073),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(9644),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(12918),
    [anon_sym_yield] = ACTIONS(12920),
    [anon_sym_break] = ACTIONS(12922),
    [anon_sym_next] = ACTIONS(12924),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(12926),
    [anon_sym_defined_QMARK] = ACTIONS(9654),
    [anon_sym_not] = ACTIONS(12928),
    [anon_sym_BANG] = ACTIONS(9660),
    [anon_sym_TILDE] = ACTIONS(9660),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7071] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(12930),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [7072] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__line_break] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(12932),
    [sym__binary_star] = ACTIONS(12934),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_end] = ACTIONS(2210),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(12936),
    [anon_sym_SEMI] = ACTIONS(2210),
    [anon_sym_STAR_STAR] = ACTIONS(12938),
    [anon_sym_AMP] = ACTIONS(12940),
    [anon_sym_EQ] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(12942),
    [anon_sym_if] = ACTIONS(2210),
    [anon_sym_unless] = ACTIONS(2210),
    [anon_sym_while] = ACTIONS(2210),
    [anon_sym_until] = ACTIONS(2210),
    [anon_sym_rescue] = ACTIONS(2210),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_elsif] = ACTIONS(2210),
    [anon_sym_else] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(12930),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_PLUS_EQ] = ACTIONS(2210),
    [anon_sym_DASH_EQ] = ACTIONS(2210),
    [anon_sym_STAR_EQ] = ACTIONS(2210),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2210),
    [anon_sym_SLASH_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2210),
    [anon_sym_AMP_EQ] = ACTIONS(2210),
    [anon_sym_PERCENT_EQ] = ACTIONS(2210),
    [anon_sym_GT_GT_EQ] = ACTIONS(2210),
    [anon_sym_LT_LT_EQ] = ACTIONS(2210),
    [anon_sym_CARET_EQ] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(12944),
    [anon_sym_DOT_DOT] = ACTIONS(12946),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12948),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(12950),
    [anon_sym_AMP_AMP] = ACTIONS(12950),
    [anon_sym_LT_LT] = ACTIONS(12952),
    [anon_sym_GT_GT] = ACTIONS(12952),
    [anon_sym_EQ_EQ] = ACTIONS(12950),
    [anon_sym_BANG_EQ] = ACTIONS(12954),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12954),
    [anon_sym_LT_EQ_GT] = ACTIONS(12954),
    [anon_sym_EQ_TILDE] = ACTIONS(12954),
    [anon_sym_BANG_TILDE] = ACTIONS(12954),
    [anon_sym_LT_EQ] = ACTIONS(12942),
    [anon_sym_GT] = ACTIONS(12942),
    [anon_sym_GT_EQ] = ACTIONS(12956),
    [anon_sym_CARET] = ACTIONS(12936),
    [anon_sym_PLUS] = ACTIONS(12958),
    [anon_sym_SLASH] = ACTIONS(12938),
    [anon_sym_PERCENT] = ACTIONS(12938),
    [sym_comment] = ACTIONS(256),
  },
  [7073] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10039),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7073),
    [sym_call] = STATE(7073),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2190),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(10040),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_do_block] = STATE(1439),
    [sym_block] = STATE(1439),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(7075),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7076),
    [sym__variable] = STATE(7073),
    [sym_reserved_identifier] = STATE(10041),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(10042),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(12870),
    [sym__splat_star] = ACTIONS(12872),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(9644),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(2258),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(982),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(9646),
    [anon_sym_yield] = ACTIONS(9648),
    [anon_sym_break] = ACTIONS(9650),
    [anon_sym_next] = ACTIONS(9652),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(982),
    [anon_sym_unless] = ACTIONS(982),
    [anon_sym_while] = ACTIONS(982),
    [anon_sym_until] = ACTIONS(982),
    [anon_sym_rescue] = ACTIONS(982),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(982),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(982),
    [anon_sym_else] = ACTIONS(982),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(980),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(9654),
    [anon_sym_not] = ACTIONS(9656),
    [anon_sym_BANG] = ACTIONS(9658),
    [anon_sym_TILDE] = ACTIONS(9660),
    [sym_constant] = ACTIONS(12874),
    [sym_identifier] = ACTIONS(12874),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7074] = {
    [sym_heredoc_end] = STATE(2196),
    [aux_sym_argument_list_repeat1] = STATE(10108),
    [aux_sym_argument_list_repeat2] = STATE(2197),
    [sym__simple_heredoc_body] = ACTIONS(3354),
    [sym__heredoc_body_beginning] = ACTIONS(3356),
    [sym__line_break] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_end] = ACTIONS(2272),
    [anon_sym_COMMA] = ACTIONS(12960),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_STAR_STAR] = ACTIONS(2274),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_EQ] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_if] = ACTIONS(2272),
    [anon_sym_unless] = ACTIONS(2272),
    [anon_sym_while] = ACTIONS(2272),
    [anon_sym_until] = ACTIONS(2272),
    [anon_sym_rescue] = ACTIONS(2272),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_elsif] = ACTIONS(2272),
    [anon_sym_else] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_PLUS_EQ] = ACTIONS(2272),
    [anon_sym_DASH_EQ] = ACTIONS(2272),
    [anon_sym_STAR_EQ] = ACTIONS(2272),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2272),
    [anon_sym_SLASH_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2272),
    [anon_sym_AMP_EQ] = ACTIONS(2272),
    [anon_sym_PERCENT_EQ] = ACTIONS(2272),
    [anon_sym_GT_GT_EQ] = ACTIONS(2272),
    [anon_sym_LT_LT_EQ] = ACTIONS(2272),
    [anon_sym_CARET_EQ] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2274),
    [anon_sym_AMP_AMP] = ACTIONS(2274),
    [anon_sym_LT_LT] = ACTIONS(2274),
    [anon_sym_GT_GT] = ACTIONS(2274),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2274),
    [anon_sym_PLUS] = ACTIONS(2274),
    [anon_sym_SLASH] = ACTIONS(2274),
    [anon_sym_PERCENT] = ACTIONS(2274),
    [sym_comment] = ACTIONS(256),
  },
  [7075] = {
    [anon_sym_EQ] = ACTIONS(12962),
    [sym_comment] = ACTIONS(256),
  },
  [7076] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_end] = ACTIONS(250),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(12964),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_elsif] = ACTIONS(250),
    [anon_sym_else] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(12966),
    [anon_sym_DASH_EQ] = ACTIONS(12966),
    [anon_sym_STAR_EQ] = ACTIONS(12966),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(12966),
    [anon_sym_SLASH_EQ] = ACTIONS(12966),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(12966),
    [anon_sym_PIPE_EQ] = ACTIONS(12966),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(12966),
    [anon_sym_AMP_EQ] = ACTIONS(12966),
    [anon_sym_PERCENT_EQ] = ACTIONS(12966),
    [anon_sym_GT_GT_EQ] = ACTIONS(12966),
    [anon_sym_LT_LT_EQ] = ACTIONS(12966),
    [anon_sym_CARET_EQ] = ACTIONS(12966),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [7077] = {
    [sym__keyword_colon] = ACTIONS(12968),
    [sym_comment] = ACTIONS(110),
  },
  [7078] = {
    [sym_string] = STATE(2203),
    [aux_sym_chained_string_repeat1] = STATE(2204),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(12930),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_end] = ACTIONS(250),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_elsif] = ACTIONS(250),
    [anon_sym_else] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(3266),
  },
  [7079] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10117),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_splat_argument] = STATE(2211),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_right_assignment_list] = STATE(2212),
    [sym__arg_or_splat_arg] = STATE(10118),
    [sym_left_assignment_list] = STATE(10119),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(10120),
    [sym__variable] = STATE(3868),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(12970),
    [sym__unary_minus] = ACTIONS(12972),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(12974),
    [anon_sym_defined_QMARK] = ACTIONS(12976),
    [anon_sym_not] = ACTIONS(12978),
    [anon_sym_BANG] = ACTIONS(12980),
    [anon_sym_TILDE] = ACTIONS(12980),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7080] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10121),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3869),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3870),
    [sym__variable] = STATE(3868),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5572),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5590),
    [anon_sym_defined_QMARK] = ACTIONS(5592),
    [anon_sym_not] = ACTIONS(5594),
    [anon_sym_BANG] = ACTIONS(5596),
    [anon_sym_TILDE] = ACTIONS(5596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7081] = {
    [sym_elsif] = STATE(3865),
    [sym_else] = STATE(3865),
    [sym__if_tail] = STATE(10122),
    [anon_sym_end] = ACTIONS(12898),
    [anon_sym_elsif] = ACTIONS(9592),
    [anon_sym_else] = ACTIONS(9594),
    [sym_comment] = ACTIONS(110),
  },
  [7082] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10123),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(363),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(364),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(622),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(632),
    [anon_sym_defined_QMARK] = ACTIONS(634),
    [anon_sym_not] = ACTIONS(636),
    [anon_sym_BANG] = ACTIONS(638),
    [anon_sym_TILDE] = ACTIONS(638),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7083] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_LBRACE] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(9686),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_EQ] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_if] = ACTIONS(1372),
    [anon_sym_unless] = ACTIONS(1372),
    [anon_sym_while] = ACTIONS(1372),
    [anon_sym_until] = ACTIONS(1372),
    [anon_sym_rescue] = ACTIONS(1372),
    [anon_sym_do] = ACTIONS(1372),
    [anon_sym_then] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_PLUS_EQ] = ACTIONS(1372),
    [anon_sym_DASH_EQ] = ACTIONS(1372),
    [anon_sym_STAR_EQ] = ACTIONS(1372),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1372),
    [anon_sym_SLASH_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1372),
    [anon_sym_AMP_EQ] = ACTIONS(1372),
    [anon_sym_PERCENT_EQ] = ACTIONS(1372),
    [anon_sym_GT_GT_EQ] = ACTIONS(1372),
    [anon_sym_LT_LT_EQ] = ACTIONS(1372),
    [anon_sym_CARET_EQ] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1374),
    [anon_sym_AMP_AMP] = ACTIONS(1374),
    [anon_sym_LT_LT] = ACTIONS(1374),
    [anon_sym_GT_GT] = ACTIONS(1374),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1374),
    [anon_sym_PLUS] = ACTIONS(1374),
    [anon_sym_SLASH] = ACTIONS(1374),
    [anon_sym_PERCENT] = ACTIONS(1374),
    [sym_comment] = ACTIONS(256),
  },
  [7084] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(9686),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_then] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2872),
    [anon_sym_AMP_AMP] = ACTIONS(2872),
    [anon_sym_LT_LT] = ACTIONS(2872),
    [anon_sym_GT_GT] = ACTIONS(2872),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2872),
    [anon_sym_PLUS] = ACTIONS(2872),
    [anon_sym_SLASH] = ACTIONS(2872),
    [anon_sym_PERCENT] = ACTIONS(2872),
    [sym_comment] = ACTIONS(256),
  },
  [7085] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(9680),
    [sym__binary_star] = ACTIONS(9682),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(9684),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(9686),
    [anon_sym_AMP] = ACTIONS(9688),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(9690),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_then] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(9692),
    [anon_sym_DOT_DOT] = ACTIONS(9694),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9696),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(9698),
    [anon_sym_AMP_AMP] = ACTIONS(9698),
    [anon_sym_LT_LT] = ACTIONS(9700),
    [anon_sym_GT_GT] = ACTIONS(9700),
    [anon_sym_EQ_EQ] = ACTIONS(9698),
    [anon_sym_BANG_EQ] = ACTIONS(9702),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9702),
    [anon_sym_LT_EQ_GT] = ACTIONS(9702),
    [anon_sym_EQ_TILDE] = ACTIONS(9702),
    [anon_sym_BANG_TILDE] = ACTIONS(9702),
    [anon_sym_LT_EQ] = ACTIONS(9690),
    [anon_sym_GT] = ACTIONS(9690),
    [anon_sym_GT_EQ] = ACTIONS(9704),
    [anon_sym_CARET] = ACTIONS(9684),
    [anon_sym_PLUS] = ACTIONS(9706),
    [anon_sym_SLASH] = ACTIONS(9686),
    [anon_sym_PERCENT] = ACTIONS(9686),
    [sym_comment] = ACTIONS(256),
  },
  [7086] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10124),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3894),
    [sym_call] = STATE(3894),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(3895),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3896),
    [sym__variable] = STATE(3894),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(5600),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(5602),
    [anon_sym_yield] = ACTIONS(5604),
    [anon_sym_break] = ACTIONS(5606),
    [anon_sym_next] = ACTIONS(5608),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(5610),
    [anon_sym_defined_QMARK] = ACTIONS(5612),
    [anon_sym_not] = ACTIONS(5614),
    [anon_sym_BANG] = ACTIONS(5616),
    [anon_sym_TILDE] = ACTIONS(5616),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7087] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10125),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3894),
    [sym_call] = STATE(3894),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(3895),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3896),
    [sym__variable] = STATE(3894),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(5600),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(5602),
    [anon_sym_yield] = ACTIONS(5604),
    [anon_sym_break] = ACTIONS(5606),
    [anon_sym_next] = ACTIONS(5608),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(5610),
    [anon_sym_defined_QMARK] = ACTIONS(5612),
    [anon_sym_not] = ACTIONS(5614),
    [anon_sym_BANG] = ACTIONS(5616),
    [anon_sym_TILDE] = ACTIONS(5616),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7088] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10126),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3894),
    [sym_call] = STATE(3894),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(3895),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3896),
    [sym__variable] = STATE(3894),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(5600),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(5602),
    [anon_sym_yield] = ACTIONS(5604),
    [anon_sym_break] = ACTIONS(5606),
    [anon_sym_next] = ACTIONS(5608),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(5610),
    [anon_sym_defined_QMARK] = ACTIONS(5612),
    [anon_sym_not] = ACTIONS(5614),
    [anon_sym_BANG] = ACTIONS(5616),
    [anon_sym_TILDE] = ACTIONS(5616),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7089] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10127),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3894),
    [sym_call] = STATE(3894),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(3895),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3896),
    [sym__variable] = STATE(3894),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(5600),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(5602),
    [anon_sym_yield] = ACTIONS(5604),
    [anon_sym_break] = ACTIONS(5606),
    [anon_sym_next] = ACTIONS(5608),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(5610),
    [anon_sym_defined_QMARK] = ACTIONS(5612),
    [anon_sym_not] = ACTIONS(5614),
    [anon_sym_BANG] = ACTIONS(5616),
    [anon_sym_TILDE] = ACTIONS(5616),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7090] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10128),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3894),
    [sym_call] = STATE(3894),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(3895),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3896),
    [sym__variable] = STATE(3894),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(5600),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(5602),
    [anon_sym_yield] = ACTIONS(5604),
    [anon_sym_break] = ACTIONS(5606),
    [anon_sym_next] = ACTIONS(5608),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(5610),
    [anon_sym_defined_QMARK] = ACTIONS(5612),
    [anon_sym_not] = ACTIONS(5614),
    [anon_sym_BANG] = ACTIONS(5616),
    [anon_sym_TILDE] = ACTIONS(5616),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7091] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10129),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3894),
    [sym_call] = STATE(3894),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(3895),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3896),
    [sym__variable] = STATE(3894),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(5600),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(5602),
    [anon_sym_yield] = ACTIONS(5604),
    [anon_sym_break] = ACTIONS(5606),
    [anon_sym_next] = ACTIONS(5608),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(5610),
    [anon_sym_defined_QMARK] = ACTIONS(5612),
    [anon_sym_not] = ACTIONS(5614),
    [anon_sym_BANG] = ACTIONS(5616),
    [anon_sym_TILDE] = ACTIONS(5616),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7092] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(10130),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [7093] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10131),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3894),
    [sym_call] = STATE(3894),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(3895),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3896),
    [sym__variable] = STATE(3894),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(5600),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(5602),
    [anon_sym_yield] = ACTIONS(5604),
    [anon_sym_break] = ACTIONS(5606),
    [anon_sym_next] = ACTIONS(5608),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(5610),
    [anon_sym_defined_QMARK] = ACTIONS(5612),
    [anon_sym_not] = ACTIONS(5614),
    [anon_sym_BANG] = ACTIONS(5616),
    [anon_sym_TILDE] = ACTIONS(5616),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7094] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10132),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3894),
    [sym_call] = STATE(3894),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(3895),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3896),
    [sym__variable] = STATE(3894),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(5600),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(5602),
    [anon_sym_yield] = ACTIONS(5604),
    [anon_sym_break] = ACTIONS(5606),
    [anon_sym_next] = ACTIONS(5608),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(5610),
    [anon_sym_defined_QMARK] = ACTIONS(5612),
    [anon_sym_not] = ACTIONS(5614),
    [anon_sym_BANG] = ACTIONS(5616),
    [anon_sym_TILDE] = ACTIONS(5616),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7095] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10133),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3894),
    [sym_call] = STATE(3894),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(3895),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3896),
    [sym__variable] = STATE(3894),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(5600),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(5602),
    [anon_sym_yield] = ACTIONS(5604),
    [anon_sym_break] = ACTIONS(5606),
    [anon_sym_next] = ACTIONS(5608),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(5610),
    [anon_sym_defined_QMARK] = ACTIONS(5612),
    [anon_sym_not] = ACTIONS(5614),
    [anon_sym_BANG] = ACTIONS(5616),
    [anon_sym_TILDE] = ACTIONS(5616),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7096] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10134),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3894),
    [sym_call] = STATE(3894),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(3895),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3896),
    [sym__variable] = STATE(3894),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(5600),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(5602),
    [anon_sym_yield] = ACTIONS(5604),
    [anon_sym_break] = ACTIONS(5606),
    [anon_sym_next] = ACTIONS(5608),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(5610),
    [anon_sym_defined_QMARK] = ACTIONS(5612),
    [anon_sym_not] = ACTIONS(5614),
    [anon_sym_BANG] = ACTIONS(5616),
    [anon_sym_TILDE] = ACTIONS(5616),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7097] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10135),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3894),
    [sym_call] = STATE(3894),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(3895),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3896),
    [sym__variable] = STATE(3894),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(5600),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(5602),
    [anon_sym_yield] = ACTIONS(5604),
    [anon_sym_break] = ACTIONS(5606),
    [anon_sym_next] = ACTIONS(5608),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(5610),
    [anon_sym_defined_QMARK] = ACTIONS(5612),
    [anon_sym_not] = ACTIONS(5614),
    [anon_sym_BANG] = ACTIONS(5616),
    [anon_sym_TILDE] = ACTIONS(5616),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7098] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10136),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3894),
    [sym_call] = STATE(3894),
    [sym_method_call] = STATE(61),
    [sym_splat_argument] = STATE(8404),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_right_assignment_list] = STATE(8405),
    [sym__arg_or_splat_arg] = STATE(10137),
    [sym_left_assignment_list] = STATE(3895),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3896),
    [sym__variable] = STATE(3894),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__splat_star] = ACTIONS(2374),
    [sym__unary_minus] = ACTIONS(5600),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(5602),
    [anon_sym_yield] = ACTIONS(5604),
    [anon_sym_break] = ACTIONS(5606),
    [anon_sym_next] = ACTIONS(5608),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(5610),
    [anon_sym_defined_QMARK] = ACTIONS(5612),
    [anon_sym_not] = ACTIONS(5614),
    [anon_sym_BANG] = ACTIONS(5616),
    [anon_sym_TILDE] = ACTIONS(5616),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7099] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10138),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3894),
    [sym_call] = STATE(3894),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(3895),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3896),
    [sym__variable] = STATE(3894),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(5600),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(5602),
    [anon_sym_yield] = ACTIONS(5604),
    [anon_sym_break] = ACTIONS(5606),
    [anon_sym_next] = ACTIONS(5608),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(5610),
    [anon_sym_defined_QMARK] = ACTIONS(5612),
    [anon_sym_not] = ACTIONS(5614),
    [anon_sym_BANG] = ACTIONS(5616),
    [anon_sym_TILDE] = ACTIONS(5616),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7100] = {
    [sym__simple_heredoc_body] = ACTIONS(8568),
    [sym__heredoc_body_beginning] = ACTIONS(8568),
    [sym__line_break] = ACTIONS(8568),
    [sym__element_reference_left_bracket] = ACTIONS(8568),
    [sym__scope_double_colon] = ACTIONS(8568),
    [sym__binary_minus] = ACTIONS(9680),
    [sym__binary_star] = ACTIONS(9682),
    [anon_sym_LBRACE] = ACTIONS(8568),
    [anon_sym_DOT] = ACTIONS(9468),
    [anon_sym_COMMA] = ACTIONS(8568),
    [anon_sym_PIPE] = ACTIONS(9684),
    [anon_sym_SEMI] = ACTIONS(8568),
    [anon_sym_STAR_STAR] = ACTIONS(9686),
    [anon_sym_AMP] = ACTIONS(9688),
    [anon_sym_EQ] = ACTIONS(9468),
    [anon_sym_LT] = ACTIONS(9690),
    [anon_sym_if] = ACTIONS(8568),
    [anon_sym_unless] = ACTIONS(8568),
    [anon_sym_while] = ACTIONS(8568),
    [anon_sym_until] = ACTIONS(8568),
    [anon_sym_rescue] = ACTIONS(8568),
    [anon_sym_do] = ACTIONS(8568),
    [anon_sym_then] = ACTIONS(8568),
    [anon_sym_AMP_DOT] = ACTIONS(8568),
    [anon_sym_PLUS_EQ] = ACTIONS(8568),
    [anon_sym_DASH_EQ] = ACTIONS(8568),
    [anon_sym_STAR_EQ] = ACTIONS(8568),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8568),
    [anon_sym_SLASH_EQ] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8568),
    [anon_sym_PIPE_EQ] = ACTIONS(8568),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8568),
    [anon_sym_AMP_EQ] = ACTIONS(8568),
    [anon_sym_PERCENT_EQ] = ACTIONS(8568),
    [anon_sym_GT_GT_EQ] = ACTIONS(8568),
    [anon_sym_LT_LT_EQ] = ACTIONS(8568),
    [anon_sym_CARET_EQ] = ACTIONS(8568),
    [anon_sym_QMARK] = ACTIONS(9692),
    [anon_sym_DOT_DOT] = ACTIONS(9694),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9696),
    [anon_sym_and] = ACTIONS(8568),
    [anon_sym_or] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE] = ACTIONS(9698),
    [anon_sym_AMP_AMP] = ACTIONS(9698),
    [anon_sym_LT_LT] = ACTIONS(9700),
    [anon_sym_GT_GT] = ACTIONS(9700),
    [anon_sym_EQ_EQ] = ACTIONS(9698),
    [anon_sym_BANG_EQ] = ACTIONS(9702),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9702),
    [anon_sym_LT_EQ_GT] = ACTIONS(9702),
    [anon_sym_EQ_TILDE] = ACTIONS(9702),
    [anon_sym_BANG_TILDE] = ACTIONS(9702),
    [anon_sym_LT_EQ] = ACTIONS(9690),
    [anon_sym_GT] = ACTIONS(9690),
    [anon_sym_GT_EQ] = ACTIONS(9704),
    [anon_sym_CARET] = ACTIONS(9684),
    [anon_sym_PLUS] = ACTIONS(9706),
    [anon_sym_SLASH] = ACTIONS(9686),
    [anon_sym_PERCENT] = ACTIONS(9686),
    [sym_comment] = ACTIONS(256),
  },
  [7101] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__line_break] = ACTIONS(7008),
    [sym__element_reference_left_bracket] = ACTIONS(7008),
    [sym__scope_double_colon] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(5634),
    [anon_sym_LBRACE] = ACTIONS(7008),
    [anon_sym_DOT] = ACTIONS(7010),
    [anon_sym_COMMA] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_SEMI] = ACTIONS(7008),
    [anon_sym_STAR_STAR] = ACTIONS(5638),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_EQ] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_if] = ACTIONS(7008),
    [anon_sym_unless] = ACTIONS(7008),
    [anon_sym_while] = ACTIONS(7008),
    [anon_sym_until] = ACTIONS(7008),
    [anon_sym_rescue] = ACTIONS(7008),
    [anon_sym_do] = ACTIONS(7008),
    [anon_sym_then] = ACTIONS(7008),
    [anon_sym_EQ_GT] = ACTIONS(7008),
    [anon_sym_AMP_DOT] = ACTIONS(7008),
    [anon_sym_PLUS_EQ] = ACTIONS(7008),
    [anon_sym_DASH_EQ] = ACTIONS(7008),
    [anon_sym_STAR_EQ] = ACTIONS(7008),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7008),
    [anon_sym_SLASH_EQ] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7008),
    [anon_sym_PIPE_EQ] = ACTIONS(7008),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7008),
    [anon_sym_AMP_EQ] = ACTIONS(7008),
    [anon_sym_PERCENT_EQ] = ACTIONS(7008),
    [anon_sym_GT_GT_EQ] = ACTIONS(7008),
    [anon_sym_LT_LT_EQ] = ACTIONS(7008),
    [anon_sym_CARET_EQ] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7010),
    [anon_sym_AMP_AMP] = ACTIONS(7010),
    [anon_sym_LT_LT] = ACTIONS(7010),
    [anon_sym_GT_GT] = ACTIONS(7010),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7010),
    [anon_sym_PLUS] = ACTIONS(7010),
    [anon_sym_SLASH] = ACTIONS(5638),
    [anon_sym_PERCENT] = ACTIONS(5638),
    [sym_comment] = ACTIONS(256),
  },
  [7102] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__line_break] = ACTIONS(7012),
    [sym__element_reference_left_bracket] = ACTIONS(7012),
    [sym__scope_double_colon] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_LBRACE] = ACTIONS(7012),
    [anon_sym_DOT] = ACTIONS(7014),
    [anon_sym_COMMA] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_SEMI] = ACTIONS(7012),
    [anon_sym_STAR_STAR] = ACTIONS(5638),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_EQ] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_if] = ACTIONS(7012),
    [anon_sym_unless] = ACTIONS(7012),
    [anon_sym_while] = ACTIONS(7012),
    [anon_sym_until] = ACTIONS(7012),
    [anon_sym_rescue] = ACTIONS(7012),
    [anon_sym_do] = ACTIONS(7012),
    [anon_sym_then] = ACTIONS(7012),
    [anon_sym_EQ_GT] = ACTIONS(7012),
    [anon_sym_AMP_DOT] = ACTIONS(7012),
    [anon_sym_PLUS_EQ] = ACTIONS(7012),
    [anon_sym_DASH_EQ] = ACTIONS(7012),
    [anon_sym_STAR_EQ] = ACTIONS(7012),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7012),
    [anon_sym_SLASH_EQ] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7012),
    [anon_sym_PIPE_EQ] = ACTIONS(7012),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7012),
    [anon_sym_AMP_EQ] = ACTIONS(7012),
    [anon_sym_PERCENT_EQ] = ACTIONS(7012),
    [anon_sym_GT_GT_EQ] = ACTIONS(7012),
    [anon_sym_LT_LT_EQ] = ACTIONS(7012),
    [anon_sym_CARET_EQ] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7014),
    [anon_sym_AMP_AMP] = ACTIONS(7014),
    [anon_sym_LT_LT] = ACTIONS(7014),
    [anon_sym_GT_GT] = ACTIONS(7014),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7014),
    [anon_sym_PLUS] = ACTIONS(7014),
    [anon_sym_SLASH] = ACTIONS(7014),
    [anon_sym_PERCENT] = ACTIONS(7014),
    [sym_comment] = ACTIONS(256),
  },
  [7103] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5632),
    [sym__binary_star] = ACTIONS(5634),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(5638),
    [anon_sym_AMP] = ACTIONS(5640),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_then] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(5652),
    [anon_sym_GT_GT] = ACTIONS(5652),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(5658),
    [anon_sym_SLASH] = ACTIONS(5638),
    [anon_sym_PERCENT] = ACTIONS(5638),
    [sym_comment] = ACTIONS(256),
  },
  [7104] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(5638),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_then] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7018),
    [anon_sym_GT_GT] = ACTIONS(7018),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(7018),
    [anon_sym_SLASH] = ACTIONS(7018),
    [anon_sym_PERCENT] = ACTIONS(7018),
    [sym_comment] = ACTIONS(256),
  },
  [7105] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5632),
    [sym__binary_star] = ACTIONS(5634),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(5638),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_then] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(5652),
    [anon_sym_GT_GT] = ACTIONS(5652),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(5658),
    [anon_sym_SLASH] = ACTIONS(5638),
    [anon_sym_PERCENT] = ACTIONS(5638),
    [sym_comment] = ACTIONS(256),
  },
  [7106] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5632),
    [sym__binary_star] = ACTIONS(5634),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(5636),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(5638),
    [anon_sym_AMP] = ACTIONS(5640),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_then] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(5652),
    [anon_sym_GT_GT] = ACTIONS(5652),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(5636),
    [anon_sym_PLUS] = ACTIONS(5658),
    [anon_sym_SLASH] = ACTIONS(5638),
    [anon_sym_PERCENT] = ACTIONS(5638),
    [sym_comment] = ACTIONS(256),
  },
  [7107] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(12982),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [7108] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__line_break] = ACTIONS(7108),
    [sym__element_reference_left_bracket] = ACTIONS(7108),
    [sym__scope_double_colon] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(5632),
    [sym__binary_star] = ACTIONS(5634),
    [anon_sym_LBRACE] = ACTIONS(7108),
    [anon_sym_DOT] = ACTIONS(9472),
    [anon_sym_COMMA] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(5636),
    [anon_sym_SEMI] = ACTIONS(7108),
    [anon_sym_STAR_STAR] = ACTIONS(5638),
    [anon_sym_AMP] = ACTIONS(5640),
    [anon_sym_EQ] = ACTIONS(9472),
    [anon_sym_LT] = ACTIONS(5642),
    [anon_sym_if] = ACTIONS(7108),
    [anon_sym_unless] = ACTIONS(7108),
    [anon_sym_while] = ACTIONS(7108),
    [anon_sym_until] = ACTIONS(7108),
    [anon_sym_rescue] = ACTIONS(7108),
    [anon_sym_do] = ACTIONS(7108),
    [anon_sym_then] = ACTIONS(7108),
    [anon_sym_EQ_GT] = ACTIONS(7108),
    [anon_sym_AMP_DOT] = ACTIONS(7108),
    [anon_sym_PLUS_EQ] = ACTIONS(7108),
    [anon_sym_DASH_EQ] = ACTIONS(7108),
    [anon_sym_STAR_EQ] = ACTIONS(7108),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7108),
    [anon_sym_SLASH_EQ] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7108),
    [anon_sym_PIPE_EQ] = ACTIONS(7108),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7108),
    [anon_sym_AMP_EQ] = ACTIONS(7108),
    [anon_sym_PERCENT_EQ] = ACTIONS(7108),
    [anon_sym_GT_GT_EQ] = ACTIONS(7108),
    [anon_sym_LT_LT_EQ] = ACTIONS(7108),
    [anon_sym_CARET_EQ] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(5646),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5648),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(5650),
    [anon_sym_AMP_AMP] = ACTIONS(5650),
    [anon_sym_LT_LT] = ACTIONS(5652),
    [anon_sym_GT_GT] = ACTIONS(5652),
    [anon_sym_EQ_EQ] = ACTIONS(5650),
    [anon_sym_BANG_EQ] = ACTIONS(5654),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5654),
    [anon_sym_LT_EQ_GT] = ACTIONS(5654),
    [anon_sym_EQ_TILDE] = ACTIONS(5654),
    [anon_sym_BANG_TILDE] = ACTIONS(5654),
    [anon_sym_LT_EQ] = ACTIONS(5642),
    [anon_sym_GT] = ACTIONS(5642),
    [anon_sym_GT_EQ] = ACTIONS(5656),
    [anon_sym_CARET] = ACTIONS(5636),
    [anon_sym_PLUS] = ACTIONS(5658),
    [anon_sym_SLASH] = ACTIONS(5638),
    [anon_sym_PERCENT] = ACTIONS(5638),
    [sym_comment] = ACTIONS(256),
  },
  [7109] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5632),
    [sym__binary_star] = ACTIONS(5634),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(5636),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(5638),
    [anon_sym_AMP] = ACTIONS(5640),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(5642),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_then] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(5644),
    [anon_sym_DOT_DOT] = ACTIONS(5646),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5648),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(5650),
    [anon_sym_AMP_AMP] = ACTIONS(5650),
    [anon_sym_LT_LT] = ACTIONS(5652),
    [anon_sym_GT_GT] = ACTIONS(5652),
    [anon_sym_EQ_EQ] = ACTIONS(5650),
    [anon_sym_BANG_EQ] = ACTIONS(5654),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5654),
    [anon_sym_LT_EQ_GT] = ACTIONS(5654),
    [anon_sym_EQ_TILDE] = ACTIONS(5654),
    [anon_sym_BANG_TILDE] = ACTIONS(5654),
    [anon_sym_LT_EQ] = ACTIONS(5642),
    [anon_sym_GT] = ACTIONS(5642),
    [anon_sym_GT_EQ] = ACTIONS(5656),
    [anon_sym_CARET] = ACTIONS(5636),
    [anon_sym_PLUS] = ACTIONS(5658),
    [anon_sym_SLASH] = ACTIONS(5638),
    [anon_sym_PERCENT] = ACTIONS(5638),
    [sym_comment] = ACTIONS(256),
  },
  [7110] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5632),
    [sym__binary_star] = ACTIONS(5634),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(5636),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(5638),
    [anon_sym_AMP] = ACTIONS(5640),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(5642),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_then] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(5652),
    [anon_sym_GT_GT] = ACTIONS(5652),
    [anon_sym_EQ_EQ] = ACTIONS(5650),
    [anon_sym_BANG_EQ] = ACTIONS(5654),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5654),
    [anon_sym_LT_EQ_GT] = ACTIONS(5654),
    [anon_sym_EQ_TILDE] = ACTIONS(5654),
    [anon_sym_BANG_TILDE] = ACTIONS(5654),
    [anon_sym_LT_EQ] = ACTIONS(5642),
    [anon_sym_GT] = ACTIONS(5642),
    [anon_sym_GT_EQ] = ACTIONS(5656),
    [anon_sym_CARET] = ACTIONS(5636),
    [anon_sym_PLUS] = ACTIONS(5658),
    [anon_sym_SLASH] = ACTIONS(5638),
    [anon_sym_PERCENT] = ACTIONS(5638),
    [sym_comment] = ACTIONS(256),
  },
  [7111] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5632),
    [sym__binary_star] = ACTIONS(5634),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(5638),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_then] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7018),
    [anon_sym_GT_GT] = ACTIONS(7018),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(5658),
    [anon_sym_SLASH] = ACTIONS(5638),
    [anon_sym_PERCENT] = ACTIONS(5638),
    [sym_comment] = ACTIONS(256),
  },
  [7112] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(5634),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(5638),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_then] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7018),
    [anon_sym_GT_GT] = ACTIONS(7018),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(7018),
    [anon_sym_SLASH] = ACTIONS(5638),
    [anon_sym_PERCENT] = ACTIONS(5638),
    [sym_comment] = ACTIONS(256),
  },
  [7113] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1510),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1511),
    [sym_call] = STATE(1511),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(8481),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1513),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1514),
    [sym__variable] = STATE(1511),
    [sym_reserved_identifier] = STATE(1515),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1516),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__block_ampersand] = ACTIONS(2372),
    [sym__splat_star] = ACTIONS(2374),
    [sym__unary_minus] = ACTIONS(2376),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(9714),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2378),
    [anon_sym_yield] = ACTIONS(2380),
    [anon_sym_break] = ACTIONS(2382),
    [anon_sym_next] = ACTIONS(2384),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(5626),
    [anon_sym_defined_QMARK] = ACTIONS(2386),
    [anon_sym_not] = ACTIONS(2388),
    [anon_sym_BANG] = ACTIONS(2392),
    [anon_sym_TILDE] = ACTIONS(2392),
    [sym_constant] = ACTIONS(2394),
    [sym_identifier] = ACTIONS(2394),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7114] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1510),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1511),
    [sym_call] = STATE(1511),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(8481),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1513),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1514),
    [sym__variable] = STATE(1511),
    [sym_reserved_identifier] = STATE(1515),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1516),
    [sym_subshell] = STATE(561),
    [sym_heredoc_end] = STATE(10140),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__block_ampersand] = ACTIONS(2372),
    [sym__splat_star] = ACTIONS(2374),
    [sym__unary_minus] = ACTIONS(2376),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(9714),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2378),
    [anon_sym_yield] = ACTIONS(2380),
    [anon_sym_break] = ACTIONS(2382),
    [anon_sym_next] = ACTIONS(2384),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(5626),
    [anon_sym_defined_QMARK] = ACTIONS(2386),
    [anon_sym_not] = ACTIONS(2388),
    [anon_sym_BANG] = ACTIONS(2392),
    [anon_sym_TILDE] = ACTIONS(2392),
    [sym_constant] = ACTIONS(2394),
    [sym_identifier] = ACTIONS(2394),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7115] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__line_break] = ACTIONS(6346),
    [sym__element_reference_left_bracket] = ACTIONS(6346),
    [sym__scope_double_colon] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(5632),
    [sym__binary_star] = ACTIONS(5634),
    [anon_sym_LBRACE] = ACTIONS(6346),
    [anon_sym_DOT] = ACTIONS(7328),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(5636),
    [anon_sym_SEMI] = ACTIONS(6346),
    [anon_sym_STAR_STAR] = ACTIONS(5638),
    [anon_sym_AMP] = ACTIONS(5640),
    [anon_sym_EQ] = ACTIONS(7328),
    [anon_sym_LT] = ACTIONS(5642),
    [anon_sym_if] = ACTIONS(6346),
    [anon_sym_unless] = ACTIONS(6346),
    [anon_sym_while] = ACTIONS(6346),
    [anon_sym_until] = ACTIONS(6346),
    [anon_sym_rescue] = ACTIONS(6346),
    [anon_sym_do] = ACTIONS(6346),
    [anon_sym_then] = ACTIONS(6346),
    [anon_sym_EQ_GT] = ACTIONS(6346),
    [anon_sym_AMP_DOT] = ACTIONS(6346),
    [anon_sym_PLUS_EQ] = ACTIONS(6346),
    [anon_sym_DASH_EQ] = ACTIONS(6346),
    [anon_sym_STAR_EQ] = ACTIONS(6346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6346),
    [anon_sym_SLASH_EQ] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6346),
    [anon_sym_PIPE_EQ] = ACTIONS(6346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6346),
    [anon_sym_AMP_EQ] = ACTIONS(6346),
    [anon_sym_PERCENT_EQ] = ACTIONS(6346),
    [anon_sym_GT_GT_EQ] = ACTIONS(6346),
    [anon_sym_LT_LT_EQ] = ACTIONS(6346),
    [anon_sym_CARET_EQ] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(5644),
    [anon_sym_DOT_DOT] = ACTIONS(5646),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5648),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(5650),
    [anon_sym_AMP_AMP] = ACTIONS(5650),
    [anon_sym_LT_LT] = ACTIONS(5652),
    [anon_sym_GT_GT] = ACTIONS(5652),
    [anon_sym_EQ_EQ] = ACTIONS(5650),
    [anon_sym_BANG_EQ] = ACTIONS(5654),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5654),
    [anon_sym_LT_EQ_GT] = ACTIONS(5654),
    [anon_sym_EQ_TILDE] = ACTIONS(5654),
    [anon_sym_BANG_TILDE] = ACTIONS(5654),
    [anon_sym_LT_EQ] = ACTIONS(5642),
    [anon_sym_GT] = ACTIONS(5642),
    [anon_sym_GT_EQ] = ACTIONS(5656),
    [anon_sym_CARET] = ACTIONS(5636),
    [anon_sym_PLUS] = ACTIONS(5658),
    [anon_sym_SLASH] = ACTIONS(5638),
    [anon_sym_PERCENT] = ACTIONS(5638),
    [sym_comment] = ACTIONS(256),
  },
  [7116] = {
    [aux_sym_exceptions_repeat1] = STATE(10142),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__line_break] = ACTIONS(7330),
    [sym__element_reference_left_bracket] = ACTIONS(7330),
    [sym__scope_double_colon] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_LBRACE] = ACTIONS(7330),
    [anon_sym_DOT] = ACTIONS(7332),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_SEMI] = ACTIONS(7330),
    [anon_sym_STAR_STAR] = ACTIONS(7332),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_EQ] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_if] = ACTIONS(7330),
    [anon_sym_unless] = ACTIONS(7330),
    [anon_sym_while] = ACTIONS(7330),
    [anon_sym_until] = ACTIONS(7330),
    [anon_sym_rescue] = ACTIONS(7330),
    [anon_sym_do] = ACTIONS(7330),
    [anon_sym_then] = ACTIONS(7330),
    [anon_sym_EQ_GT] = ACTIONS(7330),
    [anon_sym_AMP_DOT] = ACTIONS(7330),
    [anon_sym_PLUS_EQ] = ACTIONS(7330),
    [anon_sym_DASH_EQ] = ACTIONS(7330),
    [anon_sym_STAR_EQ] = ACTIONS(7330),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7330),
    [anon_sym_SLASH_EQ] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7330),
    [anon_sym_PIPE_EQ] = ACTIONS(7330),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7330),
    [anon_sym_AMP_EQ] = ACTIONS(7330),
    [anon_sym_PERCENT_EQ] = ACTIONS(7330),
    [anon_sym_GT_GT_EQ] = ACTIONS(7330),
    [anon_sym_LT_LT_EQ] = ACTIONS(7330),
    [anon_sym_CARET_EQ] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7332),
    [anon_sym_AMP_AMP] = ACTIONS(7332),
    [anon_sym_LT_LT] = ACTIONS(7332),
    [anon_sym_GT_GT] = ACTIONS(7332),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7332),
    [anon_sym_PLUS] = ACTIONS(7332),
    [anon_sym_SLASH] = ACTIONS(7332),
    [anon_sym_PERCENT] = ACTIONS(7332),
    [sym_comment] = ACTIONS(256),
  },
  [7117] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__line_break] = ACTIONS(7344),
    [sym__element_reference_left_bracket] = ACTIONS(7344),
    [sym__scope_double_colon] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(5632),
    [sym__binary_star] = ACTIONS(5634),
    [anon_sym_LBRACE] = ACTIONS(7344),
    [anon_sym_DOT] = ACTIONS(9504),
    [anon_sym_COMMA] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(5636),
    [anon_sym_SEMI] = ACTIONS(7344),
    [anon_sym_STAR_STAR] = ACTIONS(5638),
    [anon_sym_AMP] = ACTIONS(5640),
    [anon_sym_EQ] = ACTIONS(9504),
    [anon_sym_LT] = ACTIONS(5642),
    [anon_sym_if] = ACTIONS(7344),
    [anon_sym_unless] = ACTIONS(7344),
    [anon_sym_while] = ACTIONS(7344),
    [anon_sym_until] = ACTIONS(7344),
    [anon_sym_rescue] = ACTIONS(7344),
    [anon_sym_do] = ACTIONS(7344),
    [anon_sym_then] = ACTIONS(7344),
    [anon_sym_EQ_GT] = ACTIONS(7344),
    [anon_sym_AMP_DOT] = ACTIONS(7344),
    [anon_sym_PLUS_EQ] = ACTIONS(7344),
    [anon_sym_DASH_EQ] = ACTIONS(7344),
    [anon_sym_STAR_EQ] = ACTIONS(7344),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7344),
    [anon_sym_SLASH_EQ] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7344),
    [anon_sym_PIPE_EQ] = ACTIONS(7344),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7344),
    [anon_sym_AMP_EQ] = ACTIONS(7344),
    [anon_sym_PERCENT_EQ] = ACTIONS(7344),
    [anon_sym_GT_GT_EQ] = ACTIONS(7344),
    [anon_sym_LT_LT_EQ] = ACTIONS(7344),
    [anon_sym_CARET_EQ] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(5644),
    [anon_sym_DOT_DOT] = ACTIONS(5646),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5648),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(5650),
    [anon_sym_AMP_AMP] = ACTIONS(5650),
    [anon_sym_LT_LT] = ACTIONS(5652),
    [anon_sym_GT_GT] = ACTIONS(5652),
    [anon_sym_EQ_EQ] = ACTIONS(5650),
    [anon_sym_BANG_EQ] = ACTIONS(5654),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5654),
    [anon_sym_LT_EQ_GT] = ACTIONS(5654),
    [anon_sym_EQ_TILDE] = ACTIONS(5654),
    [anon_sym_BANG_TILDE] = ACTIONS(5654),
    [anon_sym_LT_EQ] = ACTIONS(5642),
    [anon_sym_GT] = ACTIONS(5642),
    [anon_sym_GT_EQ] = ACTIONS(5656),
    [anon_sym_CARET] = ACTIONS(5636),
    [anon_sym_PLUS] = ACTIONS(5658),
    [anon_sym_SLASH] = ACTIONS(5638),
    [anon_sym_PERCENT] = ACTIONS(5638),
    [sym_comment] = ACTIONS(256),
  },
  [7118] = {
    [sym__simple_heredoc_body] = ACTIONS(8662),
    [sym__heredoc_body_beginning] = ACTIONS(8662),
    [sym__line_break] = ACTIONS(8662),
    [sym__element_reference_left_bracket] = ACTIONS(8662),
    [sym__scope_double_colon] = ACTIONS(8662),
    [sym__binary_minus] = ACTIONS(9680),
    [sym__binary_star] = ACTIONS(9682),
    [anon_sym_LBRACE] = ACTIONS(8662),
    [anon_sym_DOT] = ACTIONS(9506),
    [anon_sym_COMMA] = ACTIONS(8662),
    [anon_sym_PIPE] = ACTIONS(9684),
    [anon_sym_SEMI] = ACTIONS(8662),
    [anon_sym_STAR_STAR] = ACTIONS(9686),
    [anon_sym_AMP] = ACTIONS(9688),
    [anon_sym_EQ] = ACTIONS(9506),
    [anon_sym_LT] = ACTIONS(9690),
    [anon_sym_if] = ACTIONS(8662),
    [anon_sym_unless] = ACTIONS(8662),
    [anon_sym_while] = ACTIONS(8662),
    [anon_sym_until] = ACTIONS(8662),
    [anon_sym_rescue] = ACTIONS(8662),
    [anon_sym_do] = ACTIONS(8662),
    [anon_sym_then] = ACTIONS(8662),
    [anon_sym_AMP_DOT] = ACTIONS(8662),
    [anon_sym_PLUS_EQ] = ACTIONS(8662),
    [anon_sym_DASH_EQ] = ACTIONS(8662),
    [anon_sym_STAR_EQ] = ACTIONS(8662),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8662),
    [anon_sym_SLASH_EQ] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8662),
    [anon_sym_PIPE_EQ] = ACTIONS(8662),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8662),
    [anon_sym_AMP_EQ] = ACTIONS(8662),
    [anon_sym_PERCENT_EQ] = ACTIONS(8662),
    [anon_sym_GT_GT_EQ] = ACTIONS(8662),
    [anon_sym_LT_LT_EQ] = ACTIONS(8662),
    [anon_sym_CARET_EQ] = ACTIONS(8662),
    [anon_sym_QMARK] = ACTIONS(9692),
    [anon_sym_DOT_DOT] = ACTIONS(9694),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9696),
    [anon_sym_and] = ACTIONS(8662),
    [anon_sym_or] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE] = ACTIONS(9698),
    [anon_sym_AMP_AMP] = ACTIONS(9698),
    [anon_sym_LT_LT] = ACTIONS(9700),
    [anon_sym_GT_GT] = ACTIONS(9700),
    [anon_sym_EQ_EQ] = ACTIONS(9698),
    [anon_sym_BANG_EQ] = ACTIONS(9702),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9702),
    [anon_sym_LT_EQ_GT] = ACTIONS(9702),
    [anon_sym_EQ_TILDE] = ACTIONS(9702),
    [anon_sym_BANG_TILDE] = ACTIONS(9702),
    [anon_sym_LT_EQ] = ACTIONS(9690),
    [anon_sym_GT] = ACTIONS(9690),
    [anon_sym_GT_EQ] = ACTIONS(9704),
    [anon_sym_CARET] = ACTIONS(9684),
    [anon_sym_PLUS] = ACTIONS(9706),
    [anon_sym_SLASH] = ACTIONS(9686),
    [anon_sym_PERCENT] = ACTIONS(9686),
    [sym_comment] = ACTIONS(256),
  },
  [7119] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__line_break] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(9718),
    [sym__binary_star] = ACTIONS(9720),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(9722),
    [anon_sym_SEMI] = ACTIONS(5338),
    [anon_sym_STAR_STAR] = ACTIONS(9724),
    [anon_sym_AMP] = ACTIONS(9726),
    [anon_sym_LT] = ACTIONS(9728),
    [anon_sym_if] = ACTIONS(5338),
    [anon_sym_unless] = ACTIONS(5338),
    [anon_sym_while] = ACTIONS(5338),
    [anon_sym_until] = ACTIONS(5338),
    [anon_sym_rescue] = ACTIONS(5338),
    [anon_sym_then] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(9730),
    [anon_sym_DOT_DOT] = ACTIONS(9732),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9734),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(9736),
    [anon_sym_AMP_AMP] = ACTIONS(9736),
    [anon_sym_LT_LT] = ACTIONS(9738),
    [anon_sym_GT_GT] = ACTIONS(9738),
    [anon_sym_EQ_EQ] = ACTIONS(9740),
    [anon_sym_BANG_EQ] = ACTIONS(9736),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9736),
    [anon_sym_LT_EQ_GT] = ACTIONS(9736),
    [anon_sym_EQ_TILDE] = ACTIONS(9736),
    [anon_sym_BANG_TILDE] = ACTIONS(9736),
    [anon_sym_LT_EQ] = ACTIONS(9728),
    [anon_sym_GT] = ACTIONS(9728),
    [anon_sym_GT_EQ] = ACTIONS(9742),
    [anon_sym_CARET] = ACTIONS(9744),
    [anon_sym_PLUS] = ACTIONS(9746),
    [anon_sym_SLASH] = ACTIONS(9724),
    [anon_sym_PERCENT] = ACTIONS(9724),
    [sym_comment] = ACTIONS(110),
  },
  [7120] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(9724),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_if] = ACTIONS(1372),
    [anon_sym_unless] = ACTIONS(1372),
    [anon_sym_while] = ACTIONS(1372),
    [anon_sym_until] = ACTIONS(1372),
    [anon_sym_rescue] = ACTIONS(1372),
    [anon_sym_then] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [7121] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(9724),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_then] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [7122] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(9718),
    [sym__binary_star] = ACTIONS(9720),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(9722),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(9724),
    [anon_sym_AMP] = ACTIONS(9726),
    [anon_sym_LT] = ACTIONS(9728),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_then] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(9730),
    [anon_sym_DOT_DOT] = ACTIONS(9732),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9734),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(9736),
    [anon_sym_AMP_AMP] = ACTIONS(9736),
    [anon_sym_LT_LT] = ACTIONS(9738),
    [anon_sym_GT_GT] = ACTIONS(9738),
    [anon_sym_EQ_EQ] = ACTIONS(9740),
    [anon_sym_BANG_EQ] = ACTIONS(9736),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9736),
    [anon_sym_LT_EQ_GT] = ACTIONS(9736),
    [anon_sym_EQ_TILDE] = ACTIONS(9736),
    [anon_sym_BANG_TILDE] = ACTIONS(9736),
    [anon_sym_LT_EQ] = ACTIONS(9728),
    [anon_sym_GT] = ACTIONS(9728),
    [anon_sym_GT_EQ] = ACTIONS(9742),
    [anon_sym_CARET] = ACTIONS(9744),
    [anon_sym_PLUS] = ACTIONS(9746),
    [anon_sym_SLASH] = ACTIONS(9724),
    [anon_sym_PERCENT] = ACTIONS(9724),
    [sym_comment] = ACTIONS(110),
  },
  [7123] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10143),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3931),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3932),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5672),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5674),
    [anon_sym_defined_QMARK] = ACTIONS(5676),
    [anon_sym_not] = ACTIONS(5678),
    [anon_sym_BANG] = ACTIONS(5680),
    [anon_sym_TILDE] = ACTIONS(5680),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7124] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10144),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3931),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3932),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5672),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5674),
    [anon_sym_defined_QMARK] = ACTIONS(5676),
    [anon_sym_not] = ACTIONS(5678),
    [anon_sym_BANG] = ACTIONS(5680),
    [anon_sym_TILDE] = ACTIONS(5680),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7125] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10145),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3931),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3932),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5672),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5674),
    [anon_sym_defined_QMARK] = ACTIONS(5676),
    [anon_sym_not] = ACTIONS(5678),
    [anon_sym_BANG] = ACTIONS(5680),
    [anon_sym_TILDE] = ACTIONS(5680),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7126] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10146),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3931),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3932),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5672),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5674),
    [anon_sym_defined_QMARK] = ACTIONS(5676),
    [anon_sym_not] = ACTIONS(5678),
    [anon_sym_BANG] = ACTIONS(5680),
    [anon_sym_TILDE] = ACTIONS(5680),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7127] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10147),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3931),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3932),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5672),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5674),
    [anon_sym_defined_QMARK] = ACTIONS(5676),
    [anon_sym_not] = ACTIONS(5678),
    [anon_sym_BANG] = ACTIONS(5680),
    [anon_sym_TILDE] = ACTIONS(5680),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7128] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10148),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3931),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3932),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5672),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5674),
    [anon_sym_defined_QMARK] = ACTIONS(5676),
    [anon_sym_not] = ACTIONS(5678),
    [anon_sym_BANG] = ACTIONS(5680),
    [anon_sym_TILDE] = ACTIONS(5680),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7129] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(10149),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [7130] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10150),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3931),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3932),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5672),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5674),
    [anon_sym_defined_QMARK] = ACTIONS(5676),
    [anon_sym_not] = ACTIONS(5678),
    [anon_sym_BANG] = ACTIONS(5680),
    [anon_sym_TILDE] = ACTIONS(5680),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7131] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10151),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3931),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3932),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5672),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5674),
    [anon_sym_defined_QMARK] = ACTIONS(5676),
    [anon_sym_not] = ACTIONS(5678),
    [anon_sym_BANG] = ACTIONS(5680),
    [anon_sym_TILDE] = ACTIONS(5680),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7132] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10152),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3931),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3932),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5672),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5674),
    [anon_sym_defined_QMARK] = ACTIONS(5676),
    [anon_sym_not] = ACTIONS(5678),
    [anon_sym_BANG] = ACTIONS(5680),
    [anon_sym_TILDE] = ACTIONS(5680),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7133] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10153),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3931),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3932),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5672),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5674),
    [anon_sym_defined_QMARK] = ACTIONS(5676),
    [anon_sym_not] = ACTIONS(5678),
    [anon_sym_BANG] = ACTIONS(5680),
    [anon_sym_TILDE] = ACTIONS(5680),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7134] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10154),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3931),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3932),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5672),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5674),
    [anon_sym_defined_QMARK] = ACTIONS(5676),
    [anon_sym_not] = ACTIONS(5678),
    [anon_sym_BANG] = ACTIONS(5680),
    [anon_sym_TILDE] = ACTIONS(5680),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7135] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3929),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_splat_argument] = STATE(2211),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym__arg_or_splat_arg] = STATE(8497),
    [sym_left_assignment_list] = STATE(3931),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3932),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(5670),
    [sym__unary_minus] = ACTIONS(5672),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5674),
    [anon_sym_defined_QMARK] = ACTIONS(5676),
    [anon_sym_not] = ACTIONS(5678),
    [anon_sym_BANG] = ACTIONS(5680),
    [anon_sym_TILDE] = ACTIONS(5680),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7136] = {
    [sym__simple_heredoc_body] = ACTIONS(11422),
    [sym__heredoc_body_beginning] = ACTIONS(11422),
    [sym__line_break] = ACTIONS(11422),
    [sym__binary_minus] = ACTIONS(11422),
    [sym__binary_star] = ACTIONS(11422),
    [anon_sym_COMMA] = ACTIONS(12984),
    [anon_sym_PIPE] = ACTIONS(11426),
    [anon_sym_SEMI] = ACTIONS(11422),
    [anon_sym_STAR_STAR] = ACTIONS(11422),
    [anon_sym_AMP] = ACTIONS(11426),
    [anon_sym_LT] = ACTIONS(11426),
    [anon_sym_if] = ACTIONS(11422),
    [anon_sym_unless] = ACTIONS(11422),
    [anon_sym_while] = ACTIONS(11422),
    [anon_sym_until] = ACTIONS(11422),
    [anon_sym_rescue] = ACTIONS(11422),
    [anon_sym_then] = ACTIONS(11422),
    [anon_sym_QMARK] = ACTIONS(11422),
    [anon_sym_DOT_DOT] = ACTIONS(11426),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11422),
    [anon_sym_and] = ACTIONS(11422),
    [anon_sym_or] = ACTIONS(11422),
    [anon_sym_PIPE_PIPE] = ACTIONS(11422),
    [anon_sym_AMP_AMP] = ACTIONS(11422),
    [anon_sym_LT_LT] = ACTIONS(11422),
    [anon_sym_GT_GT] = ACTIONS(11422),
    [anon_sym_EQ_EQ] = ACTIONS(11426),
    [anon_sym_BANG_EQ] = ACTIONS(11422),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11422),
    [anon_sym_LT_EQ_GT] = ACTIONS(11422),
    [anon_sym_EQ_TILDE] = ACTIONS(11422),
    [anon_sym_BANG_TILDE] = ACTIONS(11422),
    [anon_sym_LT_EQ] = ACTIONS(11426),
    [anon_sym_GT] = ACTIONS(11426),
    [anon_sym_GT_EQ] = ACTIONS(11422),
    [anon_sym_CARET] = ACTIONS(11422),
    [anon_sym_PLUS] = ACTIONS(11422),
    [anon_sym_SLASH] = ACTIONS(11422),
    [anon_sym_PERCENT] = ACTIONS(11422),
    [sym_comment] = ACTIONS(110),
  },
  [7137] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3929),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_splat_argument] = STATE(2211),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_right_assignment_list] = STATE(2212),
    [sym__arg_or_splat_arg] = STATE(10156),
    [sym_left_assignment_list] = STATE(3931),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3932),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(5670),
    [sym__unary_minus] = ACTIONS(5672),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5674),
    [anon_sym_defined_QMARK] = ACTIONS(5676),
    [anon_sym_not] = ACTIONS(5678),
    [anon_sym_BANG] = ACTIONS(5680),
    [anon_sym_TILDE] = ACTIONS(5680),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7138] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10157),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(362),
    [sym_call] = STATE(362),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3931),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3932),
    [sym__variable] = STATE(362),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5672),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(624),
    [anon_sym_yield] = ACTIONS(626),
    [anon_sym_break] = ACTIONS(628),
    [anon_sym_next] = ACTIONS(630),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5674),
    [anon_sym_defined_QMARK] = ACTIONS(5676),
    [anon_sym_not] = ACTIONS(5678),
    [anon_sym_BANG] = ACTIONS(5680),
    [anon_sym_TILDE] = ACTIONS(5680),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7139] = {
    [sym__simple_string] = ACTIONS(8070),
    [sym__simple_symbol] = ACTIONS(8070),
    [sym__simple_subshell] = ACTIONS(8070),
    [sym__simple_regex] = ACTIONS(8070),
    [sym__simple_word_list] = ACTIONS(8070),
    [sym__string_beginning] = ACTIONS(8070),
    [sym__symbol_beginning] = ACTIONS(8070),
    [sym__subshell_beginning] = ACTIONS(8070),
    [sym__regex_beginning] = ACTIONS(8070),
    [sym__word_list_beginning] = ACTIONS(8070),
    [sym_heredoc_beginning] = ACTIONS(8070),
    [sym__unary_minus] = ACTIONS(8070),
    [anon_sym_BEGIN] = ACTIONS(10414),
    [anon_sym_LBRACE] = ACTIONS(8070),
    [anon_sym_END] = ACTIONS(10414),
    [anon_sym_def] = ACTIONS(10414),
    [anon_sym_LPAREN] = ACTIONS(8070),
    [anon_sym_COLON_COLON] = ACTIONS(8070),
    [anon_sym_end] = ACTIONS(10414),
    [anon_sym_SEMI] = ACTIONS(8070),
    [anon_sym_STAR] = ACTIONS(8070),
    [anon_sym_class] = ACTIONS(10414),
    [anon_sym_module] = ACTIONS(10414),
    [anon_sym_return] = ACTIONS(10414),
    [anon_sym_yield] = ACTIONS(10414),
    [anon_sym_break] = ACTIONS(10414),
    [anon_sym_next] = ACTIONS(10414),
    [anon_sym_redo] = ACTIONS(10414),
    [anon_sym_retry] = ACTIONS(10414),
    [anon_sym_if] = ACTIONS(10414),
    [anon_sym_unless] = ACTIONS(10414),
    [anon_sym_while] = ACTIONS(10414),
    [anon_sym_until] = ACTIONS(10414),
    [anon_sym_for] = ACTIONS(10414),
    [anon_sym_case] = ACTIONS(10414),
    [anon_sym_else] = ACTIONS(10414),
    [anon_sym_then] = ACTIONS(10414),
    [anon_sym_begin] = ACTIONS(10414),
    [anon_sym_PLUS] = ACTIONS(10414),
    [anon_sym_defined_QMARK] = ACTIONS(8070),
    [anon_sym_not] = ACTIONS(10414),
    [anon_sym_BANG] = ACTIONS(8070),
    [anon_sym_TILDE] = ACTIONS(8070),
    [sym_constant] = ACTIONS(10416),
    [sym_identifier] = ACTIONS(10416),
    [sym_instance_variable] = ACTIONS(10414),
    [sym_class_variable] = ACTIONS(10414),
    [sym_global_variable] = ACTIONS(10414),
    [anon_sym_alias] = ACTIONS(10414),
    [anon_sym_false] = ACTIONS(10414),
    [anon_sym_nil] = ACTIONS(10414),
    [anon_sym_self] = ACTIONS(10414),
    [anon_sym_super] = ACTIONS(10414),
    [anon_sym_true] = ACTIONS(10414),
    [anon_sym_undef] = ACTIONS(10414),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(10414),
    [sym_float] = ACTIONS(10416),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8070),
    [anon_sym_TRUE] = ACTIONS(10414),
    [anon_sym_FALSE] = ACTIONS(10414),
    [anon_sym_NIL] = ACTIONS(10414),
    [sym_keyword__FILE__] = ACTIONS(10414),
    [sym_keyword__LINE__] = ACTIONS(10414),
    [sym_keyword__ENCODING__] = ACTIONS(10414),
    [sym__character_literal] = ACTIONS(10414),
    [anon_sym_LBRACK] = ACTIONS(8070),
    [anon_sym_DASH_GT] = ACTIONS(8070),
  },
  [7140] = {
    [sym__heredoc_body_middle] = ACTIONS(8296),
    [sym__heredoc_body_end] = ACTIONS(12986),
    [anon_sym_if] = ACTIONS(4112),
    [anon_sym_unless] = ACTIONS(4114),
    [anon_sym_while] = ACTIONS(4116),
    [anon_sym_until] = ACTIONS(4118),
    [anon_sym_rescue] = ACTIONS(4120),
    [sym_comment] = ACTIONS(110),
  },
  [7141] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_end] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(9810),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_if] = ACTIONS(1372),
    [anon_sym_unless] = ACTIONS(1372),
    [anon_sym_while] = ACTIONS(1372),
    [anon_sym_until] = ACTIONS(1372),
    [anon_sym_rescue] = ACTIONS(1372),
    [anon_sym_else] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [7142] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10163),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3950),
    [sym_call] = STATE(3950),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(10164),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(10165),
    [sym__variable] = STATE(3950),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(12988),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5686),
    [anon_sym_yield] = ACTIONS(5688),
    [anon_sym_break] = ACTIONS(5690),
    [anon_sym_next] = ACTIONS(5692),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(12990),
    [anon_sym_defined_QMARK] = ACTIONS(12992),
    [anon_sym_not] = ACTIONS(12994),
    [anon_sym_BANG] = ACTIONS(12996),
    [anon_sym_TILDE] = ACTIONS(12996),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7143] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10166),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3950),
    [sym_call] = STATE(3950),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(10164),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(10165),
    [sym__variable] = STATE(3950),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(12988),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5686),
    [anon_sym_yield] = ACTIONS(5688),
    [anon_sym_break] = ACTIONS(5690),
    [anon_sym_next] = ACTIONS(5692),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(12990),
    [anon_sym_defined_QMARK] = ACTIONS(12992),
    [anon_sym_not] = ACTIONS(12994),
    [anon_sym_BANG] = ACTIONS(12996),
    [anon_sym_TILDE] = ACTIONS(12996),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7144] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10171),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7156),
    [sym_call] = STATE(7156),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7158),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7159),
    [sym__variable] = STATE(7156),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(9766),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(12998),
    [anon_sym_yield] = ACTIONS(13000),
    [anon_sym_break] = ACTIONS(13002),
    [anon_sym_next] = ACTIONS(13004),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(13006),
    [anon_sym_defined_QMARK] = ACTIONS(9776),
    [anon_sym_not] = ACTIONS(13008),
    [anon_sym_BANG] = ACTIONS(9782),
    [anon_sym_TILDE] = ACTIONS(9782),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7145] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10172),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3950),
    [sym_call] = STATE(3950),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(10164),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(10165),
    [sym__variable] = STATE(3950),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(12988),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5686),
    [anon_sym_yield] = ACTIONS(5688),
    [anon_sym_break] = ACTIONS(5690),
    [anon_sym_next] = ACTIONS(5692),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(12990),
    [anon_sym_defined_QMARK] = ACTIONS(12992),
    [anon_sym_not] = ACTIONS(12994),
    [anon_sym_BANG] = ACTIONS(12996),
    [anon_sym_TILDE] = ACTIONS(12996),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7146] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10177),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7156),
    [sym_call] = STATE(7156),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(340),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(10178),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7158),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7159),
    [sym__variable] = STATE(7156),
    [sym_reserved_identifier] = STATE(10179),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(10180),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(13010),
    [sym__splat_star] = ACTIONS(13012),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(9766),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(544),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(9768),
    [anon_sym_yield] = ACTIONS(9770),
    [anon_sym_break] = ACTIONS(9772),
    [anon_sym_next] = ACTIONS(9774),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(544),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(9776),
    [anon_sym_not] = ACTIONS(9778),
    [anon_sym_BANG] = ACTIONS(9780),
    [anon_sym_TILDE] = ACTIONS(9782),
    [sym_constant] = ACTIONS(13014),
    [sym_identifier] = ACTIONS(13014),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7147] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10177),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7156),
    [sym_call] = STATE(7156),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(349),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(10178),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7158),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7159),
    [sym__variable] = STATE(7156),
    [sym_reserved_identifier] = STATE(10179),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(10180),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(13010),
    [sym__splat_star] = ACTIONS(13012),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(9766),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(604),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(9768),
    [anon_sym_yield] = ACTIONS(9770),
    [anon_sym_break] = ACTIONS(9772),
    [anon_sym_next] = ACTIONS(9774),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(604),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(9776),
    [anon_sym_not] = ACTIONS(9778),
    [anon_sym_BANG] = ACTIONS(9780),
    [anon_sym_TILDE] = ACTIONS(9782),
    [sym_constant] = ACTIONS(13014),
    [sym_identifier] = ACTIONS(13014),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7148] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10177),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7156),
    [sym_call] = STATE(7156),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(350),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(10178),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7158),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7159),
    [sym__variable] = STATE(7156),
    [sym_reserved_identifier] = STATE(10179),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(10180),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(13010),
    [sym__splat_star] = ACTIONS(13012),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(9766),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(608),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(9768),
    [anon_sym_yield] = ACTIONS(9770),
    [anon_sym_break] = ACTIONS(9772),
    [anon_sym_next] = ACTIONS(9774),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(608),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(9776),
    [anon_sym_not] = ACTIONS(9778),
    [anon_sym_BANG] = ACTIONS(9780),
    [anon_sym_TILDE] = ACTIONS(9782),
    [sym_constant] = ACTIONS(13014),
    [sym_identifier] = ACTIONS(13014),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7149] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10177),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7156),
    [sym_call] = STATE(7156),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(351),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(10178),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7158),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7159),
    [sym__variable] = STATE(7156),
    [sym_reserved_identifier] = STATE(10179),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(10180),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(13010),
    [sym__splat_star] = ACTIONS(13012),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(9766),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(612),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(9768),
    [anon_sym_yield] = ACTIONS(9770),
    [anon_sym_break] = ACTIONS(9772),
    [anon_sym_next] = ACTIONS(9774),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(612),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(9776),
    [anon_sym_not] = ACTIONS(9778),
    [anon_sym_BANG] = ACTIONS(9780),
    [anon_sym_TILDE] = ACTIONS(9782),
    [sym_constant] = ACTIONS(13014),
    [sym_identifier] = ACTIONS(13014),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7150] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10181),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7156),
    [sym_call] = STATE(7156),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7158),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7159),
    [sym__variable] = STATE(7156),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(9766),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(12998),
    [anon_sym_yield] = ACTIONS(13000),
    [anon_sym_break] = ACTIONS(13002),
    [anon_sym_next] = ACTIONS(13004),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(13006),
    [anon_sym_defined_QMARK] = ACTIONS(9776),
    [anon_sym_not] = ACTIONS(13008),
    [anon_sym_BANG] = ACTIONS(9782),
    [anon_sym_TILDE] = ACTIONS(9782),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7151] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10182),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7156),
    [sym_call] = STATE(7156),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7158),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7159),
    [sym__variable] = STATE(7156),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(9766),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(12998),
    [anon_sym_yield] = ACTIONS(13000),
    [anon_sym_break] = ACTIONS(13002),
    [anon_sym_next] = ACTIONS(13004),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(13006),
    [anon_sym_defined_QMARK] = ACTIONS(9776),
    [anon_sym_not] = ACTIONS(13008),
    [anon_sym_BANG] = ACTIONS(9782),
    [anon_sym_TILDE] = ACTIONS(9782),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7152] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10182),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7156),
    [sym_call] = STATE(7156),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7158),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7159),
    [sym__variable] = STATE(7156),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(9766),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(12998),
    [anon_sym_yield] = ACTIONS(13000),
    [anon_sym_break] = ACTIONS(13002),
    [anon_sym_next] = ACTIONS(13004),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(13006),
    [anon_sym_defined_QMARK] = ACTIONS(9776),
    [anon_sym_not] = ACTIONS(13008),
    [anon_sym_BANG] = ACTIONS(9782),
    [anon_sym_TILDE] = ACTIONS(9782),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7153] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1410),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7156),
    [sym_call] = STATE(7156),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7158),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7159),
    [sym__variable] = STATE(7156),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(9766),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(12998),
    [anon_sym_yield] = ACTIONS(13000),
    [anon_sym_break] = ACTIONS(13002),
    [anon_sym_next] = ACTIONS(13004),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(13006),
    [anon_sym_defined_QMARK] = ACTIONS(9776),
    [anon_sym_not] = ACTIONS(13008),
    [anon_sym_BANG] = ACTIONS(9782),
    [anon_sym_TILDE] = ACTIONS(9782),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7154] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(13016),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [7155] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__line_break] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(13018),
    [sym__binary_star] = ACTIONS(13020),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_end] = ACTIONS(2210),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(13022),
    [anon_sym_SEMI] = ACTIONS(2210),
    [anon_sym_STAR_STAR] = ACTIONS(13024),
    [anon_sym_AMP] = ACTIONS(13026),
    [anon_sym_LT] = ACTIONS(13028),
    [anon_sym_if] = ACTIONS(2210),
    [anon_sym_unless] = ACTIONS(2210),
    [anon_sym_while] = ACTIONS(2210),
    [anon_sym_until] = ACTIONS(2210),
    [anon_sym_rescue] = ACTIONS(2210),
    [anon_sym_else] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(13016),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(13030),
    [anon_sym_DOT_DOT] = ACTIONS(13032),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(13034),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(13036),
    [anon_sym_AMP_AMP] = ACTIONS(13036),
    [anon_sym_LT_LT] = ACTIONS(13038),
    [anon_sym_GT_GT] = ACTIONS(13038),
    [anon_sym_EQ_EQ] = ACTIONS(13040),
    [anon_sym_BANG_EQ] = ACTIONS(13036),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(13036),
    [anon_sym_LT_EQ_GT] = ACTIONS(13036),
    [anon_sym_EQ_TILDE] = ACTIONS(13036),
    [anon_sym_BANG_TILDE] = ACTIONS(13036),
    [anon_sym_LT_EQ] = ACTIONS(13028),
    [anon_sym_GT] = ACTIONS(13028),
    [anon_sym_GT_EQ] = ACTIONS(13042),
    [anon_sym_CARET] = ACTIONS(13044),
    [anon_sym_PLUS] = ACTIONS(13046),
    [anon_sym_SLASH] = ACTIONS(13024),
    [anon_sym_PERCENT] = ACTIONS(13024),
    [sym_comment] = ACTIONS(110),
  },
  [7156] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10200),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7202),
    [sym_call] = STATE(7202),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(1435),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(10201),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_do_block] = STATE(1439),
    [sym_block] = STATE(1439),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(7204),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7205),
    [sym__variable] = STATE(7202),
    [sym_reserved_identifier] = STATE(10202),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(10203),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(13048),
    [sym__splat_star] = ACTIONS(13050),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(9840),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(2258),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(982),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(9842),
    [anon_sym_yield] = ACTIONS(9844),
    [anon_sym_break] = ACTIONS(9846),
    [anon_sym_next] = ACTIONS(9848),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(982),
    [anon_sym_unless] = ACTIONS(982),
    [anon_sym_while] = ACTIONS(982),
    [anon_sym_until] = ACTIONS(982),
    [anon_sym_rescue] = ACTIONS(982),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(2260),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(982),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(980),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(9850),
    [anon_sym_not] = ACTIONS(9852),
    [anon_sym_BANG] = ACTIONS(9854),
    [anon_sym_TILDE] = ACTIONS(9856),
    [sym_constant] = ACTIONS(13052),
    [sym_identifier] = ACTIONS(13052),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7157] = {
    [sym_heredoc_end] = STATE(1444),
    [aux_sym_argument_list_repeat1] = STATE(10205),
    [aux_sym_argument_list_repeat2] = STATE(1445),
    [sym__simple_heredoc_body] = ACTIONS(2268),
    [sym__heredoc_body_beginning] = ACTIONS(2270),
    [sym__line_break] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_end] = ACTIONS(2272),
    [anon_sym_COMMA] = ACTIONS(13054),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_STAR_STAR] = ACTIONS(2272),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_if] = ACTIONS(2272),
    [anon_sym_unless] = ACTIONS(2272),
    [anon_sym_while] = ACTIONS(2272),
    [anon_sym_until] = ACTIONS(2272),
    [anon_sym_rescue] = ACTIONS(2272),
    [anon_sym_else] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2272),
    [anon_sym_AMP_AMP] = ACTIONS(2272),
    [anon_sym_LT_LT] = ACTIONS(2272),
    [anon_sym_GT_GT] = ACTIONS(2272),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2272),
    [anon_sym_PLUS] = ACTIONS(2272),
    [anon_sym_SLASH] = ACTIONS(2272),
    [anon_sym_PERCENT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(110),
  },
  [7158] = {
    [anon_sym_EQ] = ACTIONS(13056),
    [sym_comment] = ACTIONS(256),
  },
  [7159] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_end] = ACTIONS(250),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(13058),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_else] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(13060),
    [anon_sym_DASH_EQ] = ACTIONS(13060),
    [anon_sym_STAR_EQ] = ACTIONS(13060),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(13060),
    [anon_sym_SLASH_EQ] = ACTIONS(13060),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(13060),
    [anon_sym_PIPE_EQ] = ACTIONS(13060),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(13060),
    [anon_sym_AMP_EQ] = ACTIONS(13060),
    [anon_sym_PERCENT_EQ] = ACTIONS(13060),
    [anon_sym_GT_GT_EQ] = ACTIONS(13060),
    [anon_sym_LT_LT_EQ] = ACTIONS(13060),
    [anon_sym_CARET_EQ] = ACTIONS(13060),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [7160] = {
    [sym__keyword_colon] = ACTIONS(13062),
    [sym_comment] = ACTIONS(110),
  },
  [7161] = {
    [sym_string] = STATE(611),
    [aux_sym_chained_string_repeat1] = STATE(612),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(20),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(13016),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_end] = ACTIONS(250),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_else] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(120),
  },
  [7162] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_end] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(9810),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_else] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [7163] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(9804),
    [sym__binary_star] = ACTIONS(9806),
    [anon_sym_end] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(9808),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(9810),
    [anon_sym_AMP] = ACTIONS(9812),
    [anon_sym_LT] = ACTIONS(9814),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_else] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(9816),
    [anon_sym_DOT_DOT] = ACTIONS(9818),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9820),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(9824),
    [anon_sym_AMP_AMP] = ACTIONS(9824),
    [anon_sym_LT_LT] = ACTIONS(9826),
    [anon_sym_GT_GT] = ACTIONS(9826),
    [anon_sym_EQ_EQ] = ACTIONS(9828),
    [anon_sym_BANG_EQ] = ACTIONS(9824),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9824),
    [anon_sym_LT_EQ_GT] = ACTIONS(9824),
    [anon_sym_EQ_TILDE] = ACTIONS(9824),
    [anon_sym_BANG_TILDE] = ACTIONS(9824),
    [anon_sym_LT_EQ] = ACTIONS(9814),
    [anon_sym_GT] = ACTIONS(9814),
    [anon_sym_GT_EQ] = ACTIONS(9830),
    [anon_sym_CARET] = ACTIONS(9832),
    [anon_sym_PLUS] = ACTIONS(9834),
    [anon_sym_SLASH] = ACTIONS(9810),
    [anon_sym_PERCENT] = ACTIONS(9810),
    [sym_comment] = ACTIONS(110),
  },
  [7164] = {
    [sym__simple_heredoc_body] = ACTIONS(13064),
    [sym__heredoc_body_beginning] = ACTIONS(13064),
    [sym__line_break] = ACTIONS(13064),
    [sym__element_reference_left_bracket] = ACTIONS(13064),
    [sym__scope_double_colon] = ACTIONS(13064),
    [sym__binary_minus] = ACTIONS(13064),
    [sym__binary_star] = ACTIONS(13064),
    [ts_builtin_sym_end] = ACTIONS(13064),
    [anon_sym___END__] = ACTIONS(13064),
    [anon_sym_LBRACE] = ACTIONS(13064),
    [anon_sym_RBRACE] = ACTIONS(13064),
    [anon_sym_RPAREN] = ACTIONS(13064),
    [anon_sym_DOT] = ACTIONS(13066),
    [anon_sym_end] = ACTIONS(13064),
    [anon_sym_COMMA] = ACTIONS(13064),
    [anon_sym_PIPE] = ACTIONS(13066),
    [anon_sym_SEMI] = ACTIONS(13064),
    [anon_sym_STAR_STAR] = ACTIONS(13064),
    [anon_sym_AMP] = ACTIONS(13066),
    [anon_sym_LT] = ACTIONS(13066),
    [anon_sym_if] = ACTIONS(13064),
    [anon_sym_unless] = ACTIONS(13064),
    [anon_sym_while] = ACTIONS(13064),
    [anon_sym_until] = ACTIONS(13064),
    [anon_sym_rescue] = ACTIONS(13064),
    [anon_sym_do] = ACTIONS(13064),
    [anon_sym_when] = ACTIONS(13064),
    [anon_sym_elsif] = ACTIONS(13064),
    [anon_sym_else] = ACTIONS(13064),
    [anon_sym_then] = ACTIONS(13064),
    [anon_sym_ensure] = ACTIONS(13064),
    [anon_sym_EQ_GT] = ACTIONS(13064),
    [anon_sym_AMP_DOT] = ACTIONS(13064),
    [anon_sym_QMARK] = ACTIONS(13064),
    [anon_sym_DOT_DOT] = ACTIONS(13066),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(13064),
    [anon_sym_and] = ACTIONS(13064),
    [anon_sym_or] = ACTIONS(13064),
    [anon_sym_PIPE_PIPE] = ACTIONS(13064),
    [anon_sym_AMP_AMP] = ACTIONS(13064),
    [anon_sym_LT_LT] = ACTIONS(13064),
    [anon_sym_GT_GT] = ACTIONS(13064),
    [anon_sym_EQ_EQ] = ACTIONS(13066),
    [anon_sym_BANG_EQ] = ACTIONS(13064),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(13064),
    [anon_sym_LT_EQ_GT] = ACTIONS(13064),
    [anon_sym_EQ_TILDE] = ACTIONS(13064),
    [anon_sym_BANG_TILDE] = ACTIONS(13064),
    [anon_sym_LT_EQ] = ACTIONS(13066),
    [anon_sym_GT] = ACTIONS(13066),
    [anon_sym_GT_EQ] = ACTIONS(13064),
    [anon_sym_CARET] = ACTIONS(13064),
    [anon_sym_PLUS] = ACTIONS(13064),
    [anon_sym_SLASH] = ACTIONS(13064),
    [anon_sym_PERCENT] = ACTIONS(13064),
    [sym_comment] = ACTIONS(110),
  },
  [7165] = {
    [anon_sym_end] = ACTIONS(13068),
    [sym_comment] = ACTIONS(110),
  },
  [7166] = {
    [sym__simple_string] = ACTIONS(1398),
    [sym__simple_symbol] = ACTIONS(1398),
    [sym__simple_subshell] = ACTIONS(1398),
    [sym__simple_regex] = ACTIONS(1398),
    [sym__simple_word_list] = ACTIONS(1398),
    [sym__string_beginning] = ACTIONS(1398),
    [sym__symbol_beginning] = ACTIONS(1398),
    [sym__subshell_beginning] = ACTIONS(1398),
    [sym__regex_beginning] = ACTIONS(1398),
    [sym__word_list_beginning] = ACTIONS(1398),
    [sym_heredoc_beginning] = ACTIONS(1398),
    [sym__unary_minus] = ACTIONS(1398),
    [anon_sym_BEGIN] = ACTIONS(2666),
    [anon_sym_LBRACE] = ACTIONS(1398),
    [anon_sym_END] = ACTIONS(2666),
    [anon_sym_def] = ACTIONS(2666),
    [anon_sym_LPAREN] = ACTIONS(1398),
    [anon_sym_COLON_COLON] = ACTIONS(1398),
    [anon_sym_end] = ACTIONS(2666),
    [anon_sym_SEMI] = ACTIONS(1398),
    [anon_sym_STAR] = ACTIONS(1398),
    [anon_sym_class] = ACTIONS(2666),
    [anon_sym_module] = ACTIONS(2666),
    [anon_sym_return] = ACTIONS(2666),
    [anon_sym_yield] = ACTIONS(2666),
    [anon_sym_break] = ACTIONS(2666),
    [anon_sym_next] = ACTIONS(2666),
    [anon_sym_redo] = ACTIONS(2666),
    [anon_sym_retry] = ACTIONS(2666),
    [anon_sym_if] = ACTIONS(2666),
    [anon_sym_unless] = ACTIONS(2666),
    [anon_sym_while] = ACTIONS(2666),
    [anon_sym_until] = ACTIONS(2666),
    [anon_sym_for] = ACTIONS(2666),
    [anon_sym_case] = ACTIONS(2666),
    [anon_sym_else] = ACTIONS(2666),
    [anon_sym_begin] = ACTIONS(2666),
    [anon_sym_PLUS] = ACTIONS(2666),
    [anon_sym_defined_QMARK] = ACTIONS(1398),
    [anon_sym_not] = ACTIONS(2666),
    [anon_sym_BANG] = ACTIONS(1398),
    [anon_sym_TILDE] = ACTIONS(1398),
    [sym_constant] = ACTIONS(2668),
    [sym_identifier] = ACTIONS(2668),
    [sym_instance_variable] = ACTIONS(2666),
    [sym_class_variable] = ACTIONS(2666),
    [sym_global_variable] = ACTIONS(2666),
    [anon_sym_alias] = ACTIONS(2666),
    [anon_sym_false] = ACTIONS(2666),
    [anon_sym_nil] = ACTIONS(2666),
    [anon_sym_self] = ACTIONS(2666),
    [anon_sym_super] = ACTIONS(2666),
    [anon_sym_true] = ACTIONS(2666),
    [anon_sym_undef] = ACTIONS(2666),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(2666),
    [sym_float] = ACTIONS(2668),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1398),
    [anon_sym_TRUE] = ACTIONS(2666),
    [anon_sym_FALSE] = ACTIONS(2666),
    [anon_sym_NIL] = ACTIONS(2666),
    [sym_keyword__FILE__] = ACTIONS(2666),
    [sym_keyword__LINE__] = ACTIONS(2666),
    [sym_keyword__ENCODING__] = ACTIONS(2666),
    [sym__character_literal] = ACTIONS(2666),
    [anon_sym_LBRACK] = ACTIONS(1398),
    [anon_sym_DASH_GT] = ACTIONS(1398),
  },
  [7167] = {
    [sym__statement] = STATE(10210),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [aux_sym_heredoc_end_repeat1] = STATE(10211),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [7168] = {
    [sym__simple_string] = ACTIONS(2552),
    [sym__simple_symbol] = ACTIONS(2552),
    [sym__simple_subshell] = ACTIONS(2552),
    [sym__simple_regex] = ACTIONS(2552),
    [sym__simple_word_list] = ACTIONS(2552),
    [sym__string_beginning] = ACTIONS(2552),
    [sym__symbol_beginning] = ACTIONS(2552),
    [sym__subshell_beginning] = ACTIONS(2552),
    [sym__regex_beginning] = ACTIONS(2552),
    [sym__word_list_beginning] = ACTIONS(2552),
    [sym_heredoc_beginning] = ACTIONS(2552),
    [sym__unary_minus] = ACTIONS(2552),
    [anon_sym_BEGIN] = ACTIONS(2670),
    [anon_sym_LBRACE] = ACTIONS(2552),
    [anon_sym_END] = ACTIONS(2670),
    [anon_sym_def] = ACTIONS(2670),
    [anon_sym_LPAREN] = ACTIONS(2552),
    [anon_sym_COLON_COLON] = ACTIONS(2552),
    [anon_sym_end] = ACTIONS(2670),
    [anon_sym_SEMI] = ACTIONS(2552),
    [anon_sym_STAR] = ACTIONS(2552),
    [anon_sym_class] = ACTIONS(2670),
    [anon_sym_module] = ACTIONS(2670),
    [anon_sym_return] = ACTIONS(2670),
    [anon_sym_yield] = ACTIONS(2670),
    [anon_sym_break] = ACTIONS(2670),
    [anon_sym_next] = ACTIONS(2670),
    [anon_sym_redo] = ACTIONS(2670),
    [anon_sym_retry] = ACTIONS(2670),
    [anon_sym_if] = ACTIONS(2670),
    [anon_sym_unless] = ACTIONS(2670),
    [anon_sym_while] = ACTIONS(2670),
    [anon_sym_until] = ACTIONS(2670),
    [anon_sym_for] = ACTIONS(2670),
    [anon_sym_case] = ACTIONS(2670),
    [anon_sym_else] = ACTIONS(2670),
    [anon_sym_begin] = ACTIONS(2670),
    [anon_sym_PLUS] = ACTIONS(2670),
    [anon_sym_defined_QMARK] = ACTIONS(2552),
    [anon_sym_not] = ACTIONS(2670),
    [anon_sym_BANG] = ACTIONS(2552),
    [anon_sym_TILDE] = ACTIONS(2552),
    [sym_constant] = ACTIONS(2672),
    [sym_identifier] = ACTIONS(2672),
    [sym_instance_variable] = ACTIONS(2670),
    [sym_class_variable] = ACTIONS(2670),
    [sym_global_variable] = ACTIONS(2670),
    [anon_sym_alias] = ACTIONS(2670),
    [anon_sym_false] = ACTIONS(2670),
    [anon_sym_nil] = ACTIONS(2670),
    [anon_sym_self] = ACTIONS(2670),
    [anon_sym_super] = ACTIONS(2670),
    [anon_sym_true] = ACTIONS(2670),
    [anon_sym_undef] = ACTIONS(2670),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(2670),
    [sym_float] = ACTIONS(2672),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(2552),
    [anon_sym_TRUE] = ACTIONS(2670),
    [anon_sym_FALSE] = ACTIONS(2670),
    [anon_sym_NIL] = ACTIONS(2670),
    [sym_keyword__FILE__] = ACTIONS(2670),
    [sym_keyword__LINE__] = ACTIONS(2670),
    [sym_keyword__ENCODING__] = ACTIONS(2670),
    [sym__character_literal] = ACTIONS(2670),
    [anon_sym_LBRACK] = ACTIONS(2552),
    [anon_sym_DASH_GT] = ACTIONS(2552),
  },
  [7169] = {
    [sym__top_level_statement] = STATE(1996),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(3947),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3949),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3950),
    [sym_call] = STATE(3950),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3951),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3952),
    [sym__variable] = STATE(3950),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5682),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(3108),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5686),
    [anon_sym_yield] = ACTIONS(5688),
    [anon_sym_break] = ACTIONS(5690),
    [anon_sym_next] = ACTIONS(5692),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(3108),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5694),
    [anon_sym_defined_QMARK] = ACTIONS(5696),
    [anon_sym_not] = ACTIONS(5698),
    [anon_sym_BANG] = ACTIONS(5700),
    [anon_sym_TILDE] = ACTIONS(5700),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7170] = {
    [sym_heredoc_end] = STATE(7168),
    [sym__terminator] = STATE(10212),
    [sym__simple_heredoc_body] = ACTIONS(9788),
    [sym__heredoc_body_beginning] = ACTIONS(9790),
    [sym__line_break] = ACTIONS(9792),
    [anon_sym_end] = ACTIONS(3106),
    [anon_sym_SEMI] = ACTIONS(9792),
    [anon_sym_else] = ACTIONS(3106),
    [sym_comment] = ACTIONS(110),
  },
  [7171] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10213),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3950),
    [sym_call] = STATE(3950),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3951),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3952),
    [sym__variable] = STATE(3950),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5682),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5686),
    [anon_sym_yield] = ACTIONS(5688),
    [anon_sym_break] = ACTIONS(5690),
    [anon_sym_next] = ACTIONS(5692),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5694),
    [anon_sym_defined_QMARK] = ACTIONS(5696),
    [anon_sym_not] = ACTIONS(5698),
    [anon_sym_BANG] = ACTIONS(5700),
    [anon_sym_TILDE] = ACTIONS(5700),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7172] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10214),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3950),
    [sym_call] = STATE(3950),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3951),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3952),
    [sym__variable] = STATE(3950),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5682),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5686),
    [anon_sym_yield] = ACTIONS(5688),
    [anon_sym_break] = ACTIONS(5690),
    [anon_sym_next] = ACTIONS(5692),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5694),
    [anon_sym_defined_QMARK] = ACTIONS(5696),
    [anon_sym_not] = ACTIONS(5698),
    [anon_sym_BANG] = ACTIONS(5700),
    [anon_sym_TILDE] = ACTIONS(5700),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7173] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10215),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3950),
    [sym_call] = STATE(3950),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3951),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3952),
    [sym__variable] = STATE(3950),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5682),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5686),
    [anon_sym_yield] = ACTIONS(5688),
    [anon_sym_break] = ACTIONS(5690),
    [anon_sym_next] = ACTIONS(5692),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5694),
    [anon_sym_defined_QMARK] = ACTIONS(5696),
    [anon_sym_not] = ACTIONS(5698),
    [anon_sym_BANG] = ACTIONS(5700),
    [anon_sym_TILDE] = ACTIONS(5700),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7174] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10216),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3950),
    [sym_call] = STATE(3950),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3951),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3952),
    [sym__variable] = STATE(3950),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5682),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5686),
    [anon_sym_yield] = ACTIONS(5688),
    [anon_sym_break] = ACTIONS(5690),
    [anon_sym_next] = ACTIONS(5692),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5694),
    [anon_sym_defined_QMARK] = ACTIONS(5696),
    [anon_sym_not] = ACTIONS(5698),
    [anon_sym_BANG] = ACTIONS(5700),
    [anon_sym_TILDE] = ACTIONS(5700),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7175] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10217),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3950),
    [sym_call] = STATE(3950),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3951),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3952),
    [sym__variable] = STATE(3950),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5682),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5686),
    [anon_sym_yield] = ACTIONS(5688),
    [anon_sym_break] = ACTIONS(5690),
    [anon_sym_next] = ACTIONS(5692),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5694),
    [anon_sym_defined_QMARK] = ACTIONS(5696),
    [anon_sym_not] = ACTIONS(5698),
    [anon_sym_BANG] = ACTIONS(5700),
    [anon_sym_TILDE] = ACTIONS(5700),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7176] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10218),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3950),
    [sym_call] = STATE(3950),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3951),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3952),
    [sym__variable] = STATE(3950),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5682),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5686),
    [anon_sym_yield] = ACTIONS(5688),
    [anon_sym_break] = ACTIONS(5690),
    [anon_sym_next] = ACTIONS(5692),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5694),
    [anon_sym_defined_QMARK] = ACTIONS(5696),
    [anon_sym_not] = ACTIONS(5698),
    [anon_sym_BANG] = ACTIONS(5700),
    [anon_sym_TILDE] = ACTIONS(5700),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7177] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10219),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3950),
    [sym_call] = STATE(3950),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3951),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3952),
    [sym__variable] = STATE(3950),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5682),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5686),
    [anon_sym_yield] = ACTIONS(5688),
    [anon_sym_break] = ACTIONS(5690),
    [anon_sym_next] = ACTIONS(5692),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5694),
    [anon_sym_defined_QMARK] = ACTIONS(5696),
    [anon_sym_not] = ACTIONS(5698),
    [anon_sym_BANG] = ACTIONS(5700),
    [anon_sym_TILDE] = ACTIONS(5700),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7178] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10220),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3950),
    [sym_call] = STATE(3950),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3951),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3952),
    [sym__variable] = STATE(3950),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5682),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5686),
    [anon_sym_yield] = ACTIONS(5688),
    [anon_sym_break] = ACTIONS(5690),
    [anon_sym_next] = ACTIONS(5692),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5694),
    [anon_sym_defined_QMARK] = ACTIONS(5696),
    [anon_sym_not] = ACTIONS(5698),
    [anon_sym_BANG] = ACTIONS(5700),
    [anon_sym_TILDE] = ACTIONS(5700),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7179] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10221),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3950),
    [sym_call] = STATE(3950),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3951),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3952),
    [sym__variable] = STATE(3950),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5682),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5686),
    [anon_sym_yield] = ACTIONS(5688),
    [anon_sym_break] = ACTIONS(5690),
    [anon_sym_next] = ACTIONS(5692),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5694),
    [anon_sym_defined_QMARK] = ACTIONS(5696),
    [anon_sym_not] = ACTIONS(5698),
    [anon_sym_BANG] = ACTIONS(5700),
    [anon_sym_TILDE] = ACTIONS(5700),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7180] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10222),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3950),
    [sym_call] = STATE(3950),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3951),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3952),
    [sym__variable] = STATE(3950),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5682),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5686),
    [anon_sym_yield] = ACTIONS(5688),
    [anon_sym_break] = ACTIONS(5690),
    [anon_sym_next] = ACTIONS(5692),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5694),
    [anon_sym_defined_QMARK] = ACTIONS(5696),
    [anon_sym_not] = ACTIONS(5698),
    [anon_sym_BANG] = ACTIONS(5700),
    [anon_sym_TILDE] = ACTIONS(5700),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7181] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10223),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3950),
    [sym_call] = STATE(3950),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3951),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3952),
    [sym__variable] = STATE(3950),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5682),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5686),
    [anon_sym_yield] = ACTIONS(5688),
    [anon_sym_break] = ACTIONS(5690),
    [anon_sym_next] = ACTIONS(5692),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5694),
    [anon_sym_defined_QMARK] = ACTIONS(5696),
    [anon_sym_not] = ACTIONS(5698),
    [anon_sym_BANG] = ACTIONS(5700),
    [anon_sym_TILDE] = ACTIONS(5700),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7182] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(10224),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [7183] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10225),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3950),
    [sym_call] = STATE(3950),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3951),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3952),
    [sym__variable] = STATE(3950),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5682),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5686),
    [anon_sym_yield] = ACTIONS(5688),
    [anon_sym_break] = ACTIONS(5690),
    [anon_sym_next] = ACTIONS(5692),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5694),
    [anon_sym_defined_QMARK] = ACTIONS(5696),
    [anon_sym_not] = ACTIONS(5698),
    [anon_sym_BANG] = ACTIONS(5700),
    [anon_sym_TILDE] = ACTIONS(5700),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7184] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10226),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3950),
    [sym_call] = STATE(3950),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3951),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3952),
    [sym__variable] = STATE(3950),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5682),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5686),
    [anon_sym_yield] = ACTIONS(5688),
    [anon_sym_break] = ACTIONS(5690),
    [anon_sym_next] = ACTIONS(5692),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5694),
    [anon_sym_defined_QMARK] = ACTIONS(5696),
    [anon_sym_not] = ACTIONS(5698),
    [anon_sym_BANG] = ACTIONS(5700),
    [anon_sym_TILDE] = ACTIONS(5700),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7185] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10227),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3950),
    [sym_call] = STATE(3950),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3951),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3952),
    [sym__variable] = STATE(3950),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5682),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5686),
    [anon_sym_yield] = ACTIONS(5688),
    [anon_sym_break] = ACTIONS(5690),
    [anon_sym_next] = ACTIONS(5692),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5694),
    [anon_sym_defined_QMARK] = ACTIONS(5696),
    [anon_sym_not] = ACTIONS(5698),
    [anon_sym_BANG] = ACTIONS(5700),
    [anon_sym_TILDE] = ACTIONS(5700),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7186] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10228),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3950),
    [sym_call] = STATE(3950),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3951),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3952),
    [sym__variable] = STATE(3950),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5682),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5686),
    [anon_sym_yield] = ACTIONS(5688),
    [anon_sym_break] = ACTIONS(5690),
    [anon_sym_next] = ACTIONS(5692),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5694),
    [anon_sym_defined_QMARK] = ACTIONS(5696),
    [anon_sym_not] = ACTIONS(5698),
    [anon_sym_BANG] = ACTIONS(5700),
    [anon_sym_TILDE] = ACTIONS(5700),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7187] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10229),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3950),
    [sym_call] = STATE(3950),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3951),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3952),
    [sym__variable] = STATE(3950),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5682),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5686),
    [anon_sym_yield] = ACTIONS(5688),
    [anon_sym_break] = ACTIONS(5690),
    [anon_sym_next] = ACTIONS(5692),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5694),
    [anon_sym_defined_QMARK] = ACTIONS(5696),
    [anon_sym_not] = ACTIONS(5698),
    [anon_sym_BANG] = ACTIONS(5700),
    [anon_sym_TILDE] = ACTIONS(5700),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7188] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10238),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(10239),
    [sym_call] = STATE(10239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(10240),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(10241),
    [sym__variable] = STATE(10239),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(13070),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(13072),
    [anon_sym_yield] = ACTIONS(13074),
    [anon_sym_break] = ACTIONS(13076),
    [anon_sym_next] = ACTIONS(13078),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(13080),
    [anon_sym_defined_QMARK] = ACTIONS(13082),
    [anon_sym_not] = ACTIONS(13084),
    [anon_sym_BANG] = ACTIONS(13086),
    [anon_sym_TILDE] = ACTIONS(13086),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7189] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10242),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(10239),
    [sym_call] = STATE(10239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(10240),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(10241),
    [sym__variable] = STATE(10239),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(13070),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(13072),
    [anon_sym_yield] = ACTIONS(13074),
    [anon_sym_break] = ACTIONS(13076),
    [anon_sym_next] = ACTIONS(13078),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(13080),
    [anon_sym_defined_QMARK] = ACTIONS(13082),
    [anon_sym_not] = ACTIONS(13084),
    [anon_sym_BANG] = ACTIONS(13086),
    [anon_sym_TILDE] = ACTIONS(13086),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7190] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10247),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7202),
    [sym_call] = STATE(7202),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(7204),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7205),
    [sym__variable] = STATE(7202),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(9840),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(13088),
    [anon_sym_yield] = ACTIONS(13090),
    [anon_sym_break] = ACTIONS(13092),
    [anon_sym_next] = ACTIONS(13094),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(13096),
    [anon_sym_defined_QMARK] = ACTIONS(9850),
    [anon_sym_not] = ACTIONS(13098),
    [anon_sym_BANG] = ACTIONS(9856),
    [anon_sym_TILDE] = ACTIONS(9856),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7191] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10248),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(10239),
    [sym_call] = STATE(10239),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(10240),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(10241),
    [sym__variable] = STATE(10239),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(13070),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(13072),
    [anon_sym_yield] = ACTIONS(13074),
    [anon_sym_break] = ACTIONS(13076),
    [anon_sym_next] = ACTIONS(13078),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(13080),
    [anon_sym_defined_QMARK] = ACTIONS(13082),
    [anon_sym_not] = ACTIONS(13084),
    [anon_sym_BANG] = ACTIONS(13086),
    [anon_sym_TILDE] = ACTIONS(13086),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7192] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10200),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7202),
    [sym_call] = STATE(7202),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2147),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(10201),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(7204),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7205),
    [sym__variable] = STATE(7202),
    [sym_reserved_identifier] = STATE(10202),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(10203),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(13048),
    [sym__splat_star] = ACTIONS(13050),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(9840),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(544),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(544),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(9842),
    [anon_sym_yield] = ACTIONS(9844),
    [anon_sym_break] = ACTIONS(9846),
    [anon_sym_next] = ACTIONS(9848),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(544),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_PLUS_EQ] = ACTIONS(532),
    [anon_sym_DASH_EQ] = ACTIONS(532),
    [anon_sym_STAR_EQ] = ACTIONS(532),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(532),
    [anon_sym_SLASH_EQ] = ACTIONS(532),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(532),
    [anon_sym_PIPE_EQ] = ACTIONS(532),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(532),
    [anon_sym_AMP_EQ] = ACTIONS(532),
    [anon_sym_PERCENT_EQ] = ACTIONS(532),
    [anon_sym_GT_GT_EQ] = ACTIONS(532),
    [anon_sym_LT_LT_EQ] = ACTIONS(532),
    [anon_sym_CARET_EQ] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(544),
    [anon_sym_AMP_AMP] = ACTIONS(544),
    [anon_sym_LT_LT] = ACTIONS(544),
    [anon_sym_GT_GT] = ACTIONS(544),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(544),
    [anon_sym_PERCENT] = ACTIONS(544),
    [anon_sym_defined_QMARK] = ACTIONS(9850),
    [anon_sym_not] = ACTIONS(9852),
    [anon_sym_BANG] = ACTIONS(9854),
    [anon_sym_TILDE] = ACTIONS(9856),
    [sym_constant] = ACTIONS(13052),
    [sym_identifier] = ACTIONS(13052),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7193] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10200),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7202),
    [sym_call] = STATE(7202),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2148),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(10201),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(7204),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7205),
    [sym__variable] = STATE(7202),
    [sym_reserved_identifier] = STATE(10202),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(10203),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(13048),
    [sym__splat_star] = ACTIONS(13050),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(9840),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(604),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(604),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(9842),
    [anon_sym_yield] = ACTIONS(9844),
    [anon_sym_break] = ACTIONS(9846),
    [anon_sym_next] = ACTIONS(9848),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(604),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_PLUS_EQ] = ACTIONS(602),
    [anon_sym_DASH_EQ] = ACTIONS(602),
    [anon_sym_STAR_EQ] = ACTIONS(602),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(602),
    [anon_sym_SLASH_EQ] = ACTIONS(602),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(602),
    [anon_sym_PIPE_EQ] = ACTIONS(602),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(602),
    [anon_sym_AMP_EQ] = ACTIONS(602),
    [anon_sym_PERCENT_EQ] = ACTIONS(602),
    [anon_sym_GT_GT_EQ] = ACTIONS(602),
    [anon_sym_LT_LT_EQ] = ACTIONS(602),
    [anon_sym_CARET_EQ] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(604),
    [anon_sym_AMP_AMP] = ACTIONS(604),
    [anon_sym_LT_LT] = ACTIONS(604),
    [anon_sym_GT_GT] = ACTIONS(604),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(604),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(604),
    [anon_sym_PERCENT] = ACTIONS(604),
    [anon_sym_defined_QMARK] = ACTIONS(9850),
    [anon_sym_not] = ACTIONS(9852),
    [anon_sym_BANG] = ACTIONS(9854),
    [anon_sym_TILDE] = ACTIONS(9856),
    [sym_constant] = ACTIONS(13052),
    [sym_identifier] = ACTIONS(13052),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7194] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10200),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7202),
    [sym_call] = STATE(7202),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2149),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(10201),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(7204),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7205),
    [sym__variable] = STATE(7202),
    [sym_reserved_identifier] = STATE(10202),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(10203),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(13048),
    [sym__splat_star] = ACTIONS(13050),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(9840),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(608),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(608),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(9842),
    [anon_sym_yield] = ACTIONS(9844),
    [anon_sym_break] = ACTIONS(9846),
    [anon_sym_next] = ACTIONS(9848),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(608),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_PLUS_EQ] = ACTIONS(606),
    [anon_sym_DASH_EQ] = ACTIONS(606),
    [anon_sym_STAR_EQ] = ACTIONS(606),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(606),
    [anon_sym_SLASH_EQ] = ACTIONS(606),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(606),
    [anon_sym_PIPE_EQ] = ACTIONS(606),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(606),
    [anon_sym_AMP_EQ] = ACTIONS(606),
    [anon_sym_PERCENT_EQ] = ACTIONS(606),
    [anon_sym_GT_GT_EQ] = ACTIONS(606),
    [anon_sym_LT_LT_EQ] = ACTIONS(606),
    [anon_sym_CARET_EQ] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(608),
    [anon_sym_AMP_AMP] = ACTIONS(608),
    [anon_sym_LT_LT] = ACTIONS(608),
    [anon_sym_GT_GT] = ACTIONS(608),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(608),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(608),
    [anon_sym_PERCENT] = ACTIONS(608),
    [anon_sym_defined_QMARK] = ACTIONS(9850),
    [anon_sym_not] = ACTIONS(9852),
    [anon_sym_BANG] = ACTIONS(9854),
    [anon_sym_TILDE] = ACTIONS(9856),
    [sym_constant] = ACTIONS(13052),
    [sym_identifier] = ACTIONS(13052),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7195] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10200),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7202),
    [sym_call] = STATE(7202),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2150),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(10201),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(7204),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7205),
    [sym__variable] = STATE(7202),
    [sym_reserved_identifier] = STATE(10202),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(10203),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(13048),
    [sym__splat_star] = ACTIONS(13050),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(9840),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(612),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(612),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(9842),
    [anon_sym_yield] = ACTIONS(9844),
    [anon_sym_break] = ACTIONS(9846),
    [anon_sym_next] = ACTIONS(9848),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(612),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_PLUS_EQ] = ACTIONS(610),
    [anon_sym_DASH_EQ] = ACTIONS(610),
    [anon_sym_STAR_EQ] = ACTIONS(610),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(610),
    [anon_sym_SLASH_EQ] = ACTIONS(610),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(610),
    [anon_sym_PIPE_EQ] = ACTIONS(610),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(610),
    [anon_sym_AMP_EQ] = ACTIONS(610),
    [anon_sym_PERCENT_EQ] = ACTIONS(610),
    [anon_sym_GT_GT_EQ] = ACTIONS(610),
    [anon_sym_LT_LT_EQ] = ACTIONS(610),
    [anon_sym_CARET_EQ] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(612),
    [anon_sym_AMP_AMP] = ACTIONS(612),
    [anon_sym_LT_LT] = ACTIONS(612),
    [anon_sym_GT_GT] = ACTIONS(612),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(612),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(612),
    [anon_sym_PERCENT] = ACTIONS(612),
    [anon_sym_defined_QMARK] = ACTIONS(9850),
    [anon_sym_not] = ACTIONS(9852),
    [anon_sym_BANG] = ACTIONS(9854),
    [anon_sym_TILDE] = ACTIONS(9856),
    [sym_constant] = ACTIONS(13052),
    [sym_identifier] = ACTIONS(13052),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7196] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10249),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7202),
    [sym_call] = STATE(7202),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(7204),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7205),
    [sym__variable] = STATE(7202),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(9840),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(13088),
    [anon_sym_yield] = ACTIONS(13090),
    [anon_sym_break] = ACTIONS(13092),
    [anon_sym_next] = ACTIONS(13094),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(13096),
    [anon_sym_defined_QMARK] = ACTIONS(9850),
    [anon_sym_not] = ACTIONS(13098),
    [anon_sym_BANG] = ACTIONS(9856),
    [anon_sym_TILDE] = ACTIONS(9856),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7197] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10250),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7202),
    [sym_call] = STATE(7202),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(7204),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7205),
    [sym__variable] = STATE(7202),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(9840),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(13088),
    [anon_sym_yield] = ACTIONS(13090),
    [anon_sym_break] = ACTIONS(13092),
    [anon_sym_next] = ACTIONS(13094),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(13096),
    [anon_sym_defined_QMARK] = ACTIONS(9850),
    [anon_sym_not] = ACTIONS(13098),
    [anon_sym_BANG] = ACTIONS(9856),
    [anon_sym_TILDE] = ACTIONS(9856),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7198] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10250),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7202),
    [sym_call] = STATE(7202),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(7204),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7205),
    [sym__variable] = STATE(7202),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(9840),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(13088),
    [anon_sym_yield] = ACTIONS(13090),
    [anon_sym_break] = ACTIONS(13092),
    [anon_sym_next] = ACTIONS(13094),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(13096),
    [anon_sym_defined_QMARK] = ACTIONS(9850),
    [anon_sym_not] = ACTIONS(13098),
    [anon_sym_BANG] = ACTIONS(9856),
    [anon_sym_TILDE] = ACTIONS(9856),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7199] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(2168),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7202),
    [sym_call] = STATE(7202),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(7204),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7205),
    [sym__variable] = STATE(7202),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(9840),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(13088),
    [anon_sym_yield] = ACTIONS(13090),
    [anon_sym_break] = ACTIONS(13092),
    [anon_sym_next] = ACTIONS(13094),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(13096),
    [anon_sym_defined_QMARK] = ACTIONS(9850),
    [anon_sym_not] = ACTIONS(13098),
    [anon_sym_BANG] = ACTIONS(9856),
    [anon_sym_TILDE] = ACTIONS(9856),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7200] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(13100),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [7201] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__line_break] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(13102),
    [sym__binary_star] = ACTIONS(13104),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_end] = ACTIONS(2210),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(13106),
    [anon_sym_SEMI] = ACTIONS(2210),
    [anon_sym_STAR_STAR] = ACTIONS(13108),
    [anon_sym_AMP] = ACTIONS(13110),
    [anon_sym_EQ] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(13112),
    [anon_sym_if] = ACTIONS(2210),
    [anon_sym_unless] = ACTIONS(2210),
    [anon_sym_while] = ACTIONS(2210),
    [anon_sym_until] = ACTIONS(2210),
    [anon_sym_rescue] = ACTIONS(2210),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_else] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(13100),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_PLUS_EQ] = ACTIONS(2210),
    [anon_sym_DASH_EQ] = ACTIONS(2210),
    [anon_sym_STAR_EQ] = ACTIONS(2210),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2210),
    [anon_sym_SLASH_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2210),
    [anon_sym_AMP_EQ] = ACTIONS(2210),
    [anon_sym_PERCENT_EQ] = ACTIONS(2210),
    [anon_sym_GT_GT_EQ] = ACTIONS(2210),
    [anon_sym_LT_LT_EQ] = ACTIONS(2210),
    [anon_sym_CARET_EQ] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(13114),
    [anon_sym_DOT_DOT] = ACTIONS(13116),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(13118),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(13120),
    [anon_sym_AMP_AMP] = ACTIONS(13120),
    [anon_sym_LT_LT] = ACTIONS(13122),
    [anon_sym_GT_GT] = ACTIONS(13122),
    [anon_sym_EQ_EQ] = ACTIONS(13120),
    [anon_sym_BANG_EQ] = ACTIONS(13124),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(13124),
    [anon_sym_LT_EQ_GT] = ACTIONS(13124),
    [anon_sym_EQ_TILDE] = ACTIONS(13124),
    [anon_sym_BANG_TILDE] = ACTIONS(13124),
    [anon_sym_LT_EQ] = ACTIONS(13112),
    [anon_sym_GT] = ACTIONS(13112),
    [anon_sym_GT_EQ] = ACTIONS(13126),
    [anon_sym_CARET] = ACTIONS(13106),
    [anon_sym_PLUS] = ACTIONS(13128),
    [anon_sym_SLASH] = ACTIONS(13108),
    [anon_sym_PERCENT] = ACTIONS(13108),
    [sym_comment] = ACTIONS(256),
  },
  [7202] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10200),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7202),
    [sym_call] = STATE(7202),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2190),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(10201),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_do_block] = STATE(1439),
    [sym_block] = STATE(1439),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(7204),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7205),
    [sym__variable] = STATE(7202),
    [sym_reserved_identifier] = STATE(10202),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(10203),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(13048),
    [sym__splat_star] = ACTIONS(13050),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(9840),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(2258),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(982),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(9842),
    [anon_sym_yield] = ACTIONS(9844),
    [anon_sym_break] = ACTIONS(9846),
    [anon_sym_next] = ACTIONS(9848),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(982),
    [anon_sym_unless] = ACTIONS(982),
    [anon_sym_while] = ACTIONS(982),
    [anon_sym_until] = ACTIONS(982),
    [anon_sym_rescue] = ACTIONS(982),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(982),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(982),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(980),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(9850),
    [anon_sym_not] = ACTIONS(9852),
    [anon_sym_BANG] = ACTIONS(9854),
    [anon_sym_TILDE] = ACTIONS(9856),
    [sym_constant] = ACTIONS(13052),
    [sym_identifier] = ACTIONS(13052),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7203] = {
    [sym_heredoc_end] = STATE(2196),
    [aux_sym_argument_list_repeat1] = STATE(10265),
    [aux_sym_argument_list_repeat2] = STATE(2197),
    [sym__simple_heredoc_body] = ACTIONS(3354),
    [sym__heredoc_body_beginning] = ACTIONS(3356),
    [sym__line_break] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_end] = ACTIONS(2272),
    [anon_sym_COMMA] = ACTIONS(13130),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_STAR_STAR] = ACTIONS(2274),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_EQ] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_if] = ACTIONS(2272),
    [anon_sym_unless] = ACTIONS(2272),
    [anon_sym_while] = ACTIONS(2272),
    [anon_sym_until] = ACTIONS(2272),
    [anon_sym_rescue] = ACTIONS(2272),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_else] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_PLUS_EQ] = ACTIONS(2272),
    [anon_sym_DASH_EQ] = ACTIONS(2272),
    [anon_sym_STAR_EQ] = ACTIONS(2272),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2272),
    [anon_sym_SLASH_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2272),
    [anon_sym_AMP_EQ] = ACTIONS(2272),
    [anon_sym_PERCENT_EQ] = ACTIONS(2272),
    [anon_sym_GT_GT_EQ] = ACTIONS(2272),
    [anon_sym_LT_LT_EQ] = ACTIONS(2272),
    [anon_sym_CARET_EQ] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2274),
    [anon_sym_AMP_AMP] = ACTIONS(2274),
    [anon_sym_LT_LT] = ACTIONS(2274),
    [anon_sym_GT_GT] = ACTIONS(2274),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2274),
    [anon_sym_PLUS] = ACTIONS(2274),
    [anon_sym_SLASH] = ACTIONS(2274),
    [anon_sym_PERCENT] = ACTIONS(2274),
    [sym_comment] = ACTIONS(256),
  },
  [7204] = {
    [anon_sym_EQ] = ACTIONS(13132),
    [sym_comment] = ACTIONS(256),
  },
  [7205] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_end] = ACTIONS(250),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(13134),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_else] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(13136),
    [anon_sym_DASH_EQ] = ACTIONS(13136),
    [anon_sym_STAR_EQ] = ACTIONS(13136),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(13136),
    [anon_sym_SLASH_EQ] = ACTIONS(13136),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(13136),
    [anon_sym_PIPE_EQ] = ACTIONS(13136),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(13136),
    [anon_sym_AMP_EQ] = ACTIONS(13136),
    [anon_sym_PERCENT_EQ] = ACTIONS(13136),
    [anon_sym_GT_GT_EQ] = ACTIONS(13136),
    [anon_sym_LT_LT_EQ] = ACTIONS(13136),
    [anon_sym_CARET_EQ] = ACTIONS(13136),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [7206] = {
    [sym__keyword_colon] = ACTIONS(13138),
    [sym_comment] = ACTIONS(110),
  },
  [7207] = {
    [sym_string] = STATE(2203),
    [aux_sym_chained_string_repeat1] = STATE(2204),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(13100),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_end] = ACTIONS(250),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_else] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(3266),
  },
  [7208] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10274),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3950),
    [sym_call] = STATE(3950),
    [sym_method_call] = STATE(61),
    [sym_splat_argument] = STATE(2211),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_right_assignment_list] = STATE(2212),
    [sym__arg_or_splat_arg] = STATE(10275),
    [sym_left_assignment_list] = STATE(10276),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(10277),
    [sym__variable] = STATE(3950),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(13140),
    [sym__unary_minus] = ACTIONS(13142),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5686),
    [anon_sym_yield] = ACTIONS(5688),
    [anon_sym_break] = ACTIONS(5690),
    [anon_sym_next] = ACTIONS(5692),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(13144),
    [anon_sym_defined_QMARK] = ACTIONS(13146),
    [anon_sym_not] = ACTIONS(13148),
    [anon_sym_BANG] = ACTIONS(13150),
    [anon_sym_TILDE] = ACTIONS(13150),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7209] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10278),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3950),
    [sym_call] = STATE(3950),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3951),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3952),
    [sym__variable] = STATE(3950),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5682),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5686),
    [anon_sym_yield] = ACTIONS(5688),
    [anon_sym_break] = ACTIONS(5690),
    [anon_sym_next] = ACTIONS(5692),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5694),
    [anon_sym_defined_QMARK] = ACTIONS(5696),
    [anon_sym_not] = ACTIONS(5698),
    [anon_sym_BANG] = ACTIONS(5700),
    [anon_sym_TILDE] = ACTIONS(5700),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7210] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(9872),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_do] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [7211] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(9872),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [7212] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(9866),
    [sym__binary_star] = ACTIONS(9868),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(9870),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(9872),
    [anon_sym_AMP] = ACTIONS(9874),
    [anon_sym_LT] = ACTIONS(9876),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(9878),
    [anon_sym_DOT_DOT] = ACTIONS(9880),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9882),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(9884),
    [anon_sym_AMP_AMP] = ACTIONS(9884),
    [anon_sym_LT_LT] = ACTIONS(9886),
    [anon_sym_GT_GT] = ACTIONS(9886),
    [anon_sym_EQ_EQ] = ACTIONS(9888),
    [anon_sym_BANG_EQ] = ACTIONS(9884),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9884),
    [anon_sym_LT_EQ_GT] = ACTIONS(9884),
    [anon_sym_EQ_TILDE] = ACTIONS(9884),
    [anon_sym_BANG_TILDE] = ACTIONS(9884),
    [anon_sym_LT_EQ] = ACTIONS(9876),
    [anon_sym_GT] = ACTIONS(9876),
    [anon_sym_GT_EQ] = ACTIONS(9890),
    [anon_sym_CARET] = ACTIONS(9892),
    [anon_sym_PLUS] = ACTIONS(9894),
    [anon_sym_SLASH] = ACTIONS(9872),
    [anon_sym_PERCENT] = ACTIONS(9872),
    [sym_comment] = ACTIONS(110),
  },
  [7213] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10279),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3959),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3960),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5704),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5706),
    [anon_sym_defined_QMARK] = ACTIONS(5708),
    [anon_sym_not] = ACTIONS(5710),
    [anon_sym_BANG] = ACTIONS(5712),
    [anon_sym_TILDE] = ACTIONS(5712),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7214] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10280),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3959),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3960),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5704),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5706),
    [anon_sym_defined_QMARK] = ACTIONS(5708),
    [anon_sym_not] = ACTIONS(5710),
    [anon_sym_BANG] = ACTIONS(5712),
    [anon_sym_TILDE] = ACTIONS(5712),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7215] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10281),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3959),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3960),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5704),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5706),
    [anon_sym_defined_QMARK] = ACTIONS(5708),
    [anon_sym_not] = ACTIONS(5710),
    [anon_sym_BANG] = ACTIONS(5712),
    [anon_sym_TILDE] = ACTIONS(5712),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7216] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10282),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3959),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3960),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5704),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5706),
    [anon_sym_defined_QMARK] = ACTIONS(5708),
    [anon_sym_not] = ACTIONS(5710),
    [anon_sym_BANG] = ACTIONS(5712),
    [anon_sym_TILDE] = ACTIONS(5712),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7217] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10283),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3959),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3960),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5704),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5706),
    [anon_sym_defined_QMARK] = ACTIONS(5708),
    [anon_sym_not] = ACTIONS(5710),
    [anon_sym_BANG] = ACTIONS(5712),
    [anon_sym_TILDE] = ACTIONS(5712),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7218] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10284),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3959),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3960),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5704),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5706),
    [anon_sym_defined_QMARK] = ACTIONS(5708),
    [anon_sym_not] = ACTIONS(5710),
    [anon_sym_BANG] = ACTIONS(5712),
    [anon_sym_TILDE] = ACTIONS(5712),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7219] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(10285),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [7220] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10286),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3959),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3960),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5704),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5706),
    [anon_sym_defined_QMARK] = ACTIONS(5708),
    [anon_sym_not] = ACTIONS(5710),
    [anon_sym_BANG] = ACTIONS(5712),
    [anon_sym_TILDE] = ACTIONS(5712),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7221] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10287),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3959),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3960),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5704),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5706),
    [anon_sym_defined_QMARK] = ACTIONS(5708),
    [anon_sym_not] = ACTIONS(5710),
    [anon_sym_BANG] = ACTIONS(5712),
    [anon_sym_TILDE] = ACTIONS(5712),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7222] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10288),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3959),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3960),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5704),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5706),
    [anon_sym_defined_QMARK] = ACTIONS(5708),
    [anon_sym_not] = ACTIONS(5710),
    [anon_sym_BANG] = ACTIONS(5712),
    [anon_sym_TILDE] = ACTIONS(5712),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7223] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10289),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3959),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3960),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5704),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5706),
    [anon_sym_defined_QMARK] = ACTIONS(5708),
    [anon_sym_not] = ACTIONS(5710),
    [anon_sym_BANG] = ACTIONS(5712),
    [anon_sym_TILDE] = ACTIONS(5712),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7224] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10290),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3959),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3960),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5704),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5706),
    [anon_sym_defined_QMARK] = ACTIONS(5708),
    [anon_sym_not] = ACTIONS(5710),
    [anon_sym_BANG] = ACTIONS(5712),
    [anon_sym_TILDE] = ACTIONS(5712),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7225] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10291),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_splat_argument] = STATE(3785),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_right_assignment_list] = STATE(3786),
    [sym__arg_or_splat_arg] = STATE(10292),
    [sym_left_assignment_list] = STATE(3959),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3960),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(2412),
    [sym__unary_minus] = ACTIONS(5704),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5706),
    [anon_sym_defined_QMARK] = ACTIONS(5708),
    [anon_sym_not] = ACTIONS(5710),
    [anon_sym_BANG] = ACTIONS(5712),
    [anon_sym_TILDE] = ACTIONS(5712),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7226] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10293),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3959),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3960),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5704),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5706),
    [anon_sym_defined_QMARK] = ACTIONS(5708),
    [anon_sym_not] = ACTIONS(5710),
    [anon_sym_BANG] = ACTIONS(5712),
    [anon_sym_TILDE] = ACTIONS(5712),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7227] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__line_break] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(5734),
    [sym__binary_star] = ACTIONS(5736),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(5738),
    [anon_sym_SEMI] = ACTIONS(5298),
    [anon_sym_STAR_STAR] = ACTIONS(5740),
    [anon_sym_AMP] = ACTIONS(5742),
    [anon_sym_LT] = ACTIONS(5744),
    [anon_sym_do] = ACTIONS(5298),
    [anon_sym_EQ_GT] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(5746),
    [anon_sym_DOT_DOT] = ACTIONS(5748),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5750),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(5752),
    [anon_sym_AMP_AMP] = ACTIONS(5752),
    [anon_sym_LT_LT] = ACTIONS(5754),
    [anon_sym_GT_GT] = ACTIONS(5754),
    [anon_sym_EQ_EQ] = ACTIONS(5756),
    [anon_sym_BANG_EQ] = ACTIONS(5752),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5752),
    [anon_sym_LT_EQ_GT] = ACTIONS(5752),
    [anon_sym_EQ_TILDE] = ACTIONS(5752),
    [anon_sym_BANG_TILDE] = ACTIONS(5752),
    [anon_sym_LT_EQ] = ACTIONS(5744),
    [anon_sym_GT] = ACTIONS(5744),
    [anon_sym_GT_EQ] = ACTIONS(5758),
    [anon_sym_CARET] = ACTIONS(5760),
    [anon_sym_PLUS] = ACTIONS(5762),
    [anon_sym_SLASH] = ACTIONS(5740),
    [anon_sym_PERCENT] = ACTIONS(5740),
    [sym_comment] = ACTIONS(110),
  },
  [7228] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__line_break] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(5734),
    [sym__binary_star] = ACTIONS(5736),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(5738),
    [anon_sym_SEMI] = ACTIONS(5338),
    [anon_sym_STAR_STAR] = ACTIONS(5740),
    [anon_sym_AMP] = ACTIONS(5742),
    [anon_sym_LT] = ACTIONS(5744),
    [anon_sym_do] = ACTIONS(5338),
    [anon_sym_EQ_GT] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(5746),
    [anon_sym_DOT_DOT] = ACTIONS(5748),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5750),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(5752),
    [anon_sym_AMP_AMP] = ACTIONS(5752),
    [anon_sym_LT_LT] = ACTIONS(5754),
    [anon_sym_GT_GT] = ACTIONS(5754),
    [anon_sym_EQ_EQ] = ACTIONS(5756),
    [anon_sym_BANG_EQ] = ACTIONS(5752),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5752),
    [anon_sym_LT_EQ_GT] = ACTIONS(5752),
    [anon_sym_EQ_TILDE] = ACTIONS(5752),
    [anon_sym_BANG_TILDE] = ACTIONS(5752),
    [anon_sym_LT_EQ] = ACTIONS(5744),
    [anon_sym_GT] = ACTIONS(5744),
    [anon_sym_GT_EQ] = ACTIONS(5758),
    [anon_sym_CARET] = ACTIONS(5760),
    [anon_sym_PLUS] = ACTIONS(5762),
    [anon_sym_SLASH] = ACTIONS(5740),
    [anon_sym_PERCENT] = ACTIONS(5740),
    [sym_comment] = ACTIONS(110),
  },
  [7229] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__line_break] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(5734),
    [sym__binary_star] = ACTIONS(5736),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(5738),
    [anon_sym_SEMI] = ACTIONS(4284),
    [anon_sym_STAR_STAR] = ACTIONS(5740),
    [anon_sym_AMP] = ACTIONS(5742),
    [anon_sym_LT] = ACTIONS(5744),
    [anon_sym_do] = ACTIONS(4284),
    [anon_sym_EQ_GT] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(5746),
    [anon_sym_DOT_DOT] = ACTIONS(5748),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5750),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(5752),
    [anon_sym_AMP_AMP] = ACTIONS(5752),
    [anon_sym_LT_LT] = ACTIONS(5754),
    [anon_sym_GT_GT] = ACTIONS(5754),
    [anon_sym_EQ_EQ] = ACTIONS(5756),
    [anon_sym_BANG_EQ] = ACTIONS(5752),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5752),
    [anon_sym_LT_EQ_GT] = ACTIONS(5752),
    [anon_sym_EQ_TILDE] = ACTIONS(5752),
    [anon_sym_BANG_TILDE] = ACTIONS(5752),
    [anon_sym_LT_EQ] = ACTIONS(5744),
    [anon_sym_GT] = ACTIONS(5744),
    [anon_sym_GT_EQ] = ACTIONS(5758),
    [anon_sym_CARET] = ACTIONS(5760),
    [anon_sym_PLUS] = ACTIONS(5762),
    [anon_sym_SLASH] = ACTIONS(5740),
    [anon_sym_PERCENT] = ACTIONS(5740),
    [sym_comment] = ACTIONS(110),
  },
  [7230] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10294),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1542),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1543),
    [sym__variable] = STATE(1540),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2414),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5714),
    [anon_sym_yield] = ACTIONS(5716),
    [anon_sym_break] = ACTIONS(5718),
    [anon_sym_next] = ACTIONS(5720),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5722),
    [anon_sym_defined_QMARK] = ACTIONS(2432),
    [anon_sym_not] = ACTIONS(5724),
    [anon_sym_BANG] = ACTIONS(2438),
    [anon_sym_TILDE] = ACTIONS(2438),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7231] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3972),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(3780),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1542),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1543),
    [sym__variable] = STATE(1540),
    [sym_reserved_identifier] = STATE(3974),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(3975),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(10295),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__block_ampersand] = ACTIONS(5726),
    [sym__splat_star] = ACTIONS(5728),
    [sym__unary_minus] = ACTIONS(2414),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(13152),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2416),
    [anon_sym_yield] = ACTIONS(2418),
    [anon_sym_break] = ACTIONS(2420),
    [anon_sym_next] = ACTIONS(2422),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(5722),
    [anon_sym_defined_QMARK] = ACTIONS(2432),
    [anon_sym_not] = ACTIONS(2434),
    [anon_sym_BANG] = ACTIONS(2438),
    [anon_sym_TILDE] = ACTIONS(2438),
    [sym_constant] = ACTIONS(5730),
    [sym_identifier] = ACTIONS(5730),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7232] = {
    [sym_heredoc_end] = STATE(1444),
    [aux_sym_argument_list_repeat2] = STATE(3783),
    [sym__simple_heredoc_body] = ACTIONS(2268),
    [sym__heredoc_body_beginning] = ACTIONS(2270),
    [sym__line_break] = ACTIONS(5472),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(13154),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_SEMI] = ACTIONS(5472),
    [anon_sym_STAR_STAR] = ACTIONS(5472),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_do] = ACTIONS(5472),
    [anon_sym_EQ_GT] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5472),
    [anon_sym_AMP_AMP] = ACTIONS(5472),
    [anon_sym_LT_LT] = ACTIONS(5472),
    [anon_sym_GT_GT] = ACTIONS(5472),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5472),
    [anon_sym_PLUS] = ACTIONS(5472),
    [anon_sym_SLASH] = ACTIONS(5472),
    [anon_sym_PERCENT] = ACTIONS(5472),
    [sym_comment] = ACTIONS(110),
  },
  [7233] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10297),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1542),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1543),
    [sym__variable] = STATE(1540),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2414),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5714),
    [anon_sym_yield] = ACTIONS(5716),
    [anon_sym_break] = ACTIONS(5718),
    [anon_sym_next] = ACTIONS(5720),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5722),
    [anon_sym_defined_QMARK] = ACTIONS(2432),
    [anon_sym_not] = ACTIONS(5724),
    [anon_sym_BANG] = ACTIONS(2438),
    [anon_sym_TILDE] = ACTIONS(2438),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7234] = {
    [sym__simple_heredoc_body] = ACTIONS(8568),
    [sym__heredoc_body_beginning] = ACTIONS(8568),
    [sym__line_break] = ACTIONS(8568),
    [sym__element_reference_left_bracket] = ACTIONS(8568),
    [sym__scope_double_colon] = ACTIONS(8568),
    [sym__binary_minus] = ACTIONS(9866),
    [sym__binary_star] = ACTIONS(9868),
    [anon_sym_DOT] = ACTIONS(9468),
    [anon_sym_COMMA] = ACTIONS(8568),
    [anon_sym_PIPE] = ACTIONS(9870),
    [anon_sym_SEMI] = ACTIONS(8568),
    [anon_sym_STAR_STAR] = ACTIONS(9872),
    [anon_sym_AMP] = ACTIONS(9874),
    [anon_sym_LT] = ACTIONS(9876),
    [anon_sym_do] = ACTIONS(8568),
    [anon_sym_AMP_DOT] = ACTIONS(8568),
    [anon_sym_QMARK] = ACTIONS(9878),
    [anon_sym_DOT_DOT] = ACTIONS(9880),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9882),
    [anon_sym_and] = ACTIONS(8568),
    [anon_sym_or] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE] = ACTIONS(9884),
    [anon_sym_AMP_AMP] = ACTIONS(9884),
    [anon_sym_LT_LT] = ACTIONS(9886),
    [anon_sym_GT_GT] = ACTIONS(9886),
    [anon_sym_EQ_EQ] = ACTIONS(9888),
    [anon_sym_BANG_EQ] = ACTIONS(9884),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9884),
    [anon_sym_LT_EQ_GT] = ACTIONS(9884),
    [anon_sym_EQ_TILDE] = ACTIONS(9884),
    [anon_sym_BANG_TILDE] = ACTIONS(9884),
    [anon_sym_LT_EQ] = ACTIONS(9876),
    [anon_sym_GT] = ACTIONS(9876),
    [anon_sym_GT_EQ] = ACTIONS(9890),
    [anon_sym_CARET] = ACTIONS(9892),
    [anon_sym_PLUS] = ACTIONS(9894),
    [anon_sym_SLASH] = ACTIONS(9872),
    [anon_sym_PERCENT] = ACTIONS(9872),
    [sym_comment] = ACTIONS(110),
  },
  [7235] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__line_break] = ACTIONS(7008),
    [sym__element_reference_left_bracket] = ACTIONS(7008),
    [sym__scope_double_colon] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(5736),
    [anon_sym_DOT] = ACTIONS(7010),
    [anon_sym_COMMA] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_SEMI] = ACTIONS(7008),
    [anon_sym_STAR_STAR] = ACTIONS(5740),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_do] = ACTIONS(7008),
    [anon_sym_EQ_GT] = ACTIONS(7008),
    [anon_sym_AMP_DOT] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7008),
    [anon_sym_AMP_AMP] = ACTIONS(7008),
    [anon_sym_LT_LT] = ACTIONS(7008),
    [anon_sym_GT_GT] = ACTIONS(7008),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7008),
    [anon_sym_PLUS] = ACTIONS(7008),
    [anon_sym_SLASH] = ACTIONS(5740),
    [anon_sym_PERCENT] = ACTIONS(5740),
    [sym_comment] = ACTIONS(110),
  },
  [7236] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__line_break] = ACTIONS(7012),
    [sym__element_reference_left_bracket] = ACTIONS(7012),
    [sym__scope_double_colon] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_DOT] = ACTIONS(7014),
    [anon_sym_COMMA] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_SEMI] = ACTIONS(7012),
    [anon_sym_STAR_STAR] = ACTIONS(5740),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_do] = ACTIONS(7012),
    [anon_sym_EQ_GT] = ACTIONS(7012),
    [anon_sym_AMP_DOT] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7012),
    [anon_sym_AMP_AMP] = ACTIONS(7012),
    [anon_sym_LT_LT] = ACTIONS(7012),
    [anon_sym_GT_GT] = ACTIONS(7012),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7012),
    [anon_sym_PLUS] = ACTIONS(7012),
    [anon_sym_SLASH] = ACTIONS(7012),
    [anon_sym_PERCENT] = ACTIONS(7012),
    [sym_comment] = ACTIONS(110),
  },
  [7237] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5734),
    [sym__binary_star] = ACTIONS(5736),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(5740),
    [anon_sym_AMP] = ACTIONS(5742),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(5754),
    [anon_sym_GT_GT] = ACTIONS(5754),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(5762),
    [anon_sym_SLASH] = ACTIONS(5740),
    [anon_sym_PERCENT] = ACTIONS(5740),
    [sym_comment] = ACTIONS(110),
  },
  [7238] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(5740),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7016),
    [anon_sym_PERCENT] = ACTIONS(7016),
    [sym_comment] = ACTIONS(110),
  },
  [7239] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5734),
    [sym__binary_star] = ACTIONS(5736),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(5740),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(5754),
    [anon_sym_GT_GT] = ACTIONS(5754),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(5762),
    [anon_sym_SLASH] = ACTIONS(5740),
    [anon_sym_PERCENT] = ACTIONS(5740),
    [sym_comment] = ACTIONS(110),
  },
  [7240] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5734),
    [sym__binary_star] = ACTIONS(5736),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(5738),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(5740),
    [anon_sym_AMP] = ACTIONS(5742),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(5754),
    [anon_sym_GT_GT] = ACTIONS(5754),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(5760),
    [anon_sym_PLUS] = ACTIONS(5762),
    [anon_sym_SLASH] = ACTIONS(5740),
    [anon_sym_PERCENT] = ACTIONS(5740),
    [sym_comment] = ACTIONS(110),
  },
  [7241] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(13156),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [7242] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__line_break] = ACTIONS(7108),
    [sym__element_reference_left_bracket] = ACTIONS(7108),
    [sym__scope_double_colon] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(5734),
    [sym__binary_star] = ACTIONS(5736),
    [anon_sym_DOT] = ACTIONS(9472),
    [anon_sym_COMMA] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(5738),
    [anon_sym_SEMI] = ACTIONS(7108),
    [anon_sym_STAR_STAR] = ACTIONS(5740),
    [anon_sym_AMP] = ACTIONS(5742),
    [anon_sym_LT] = ACTIONS(5744),
    [anon_sym_do] = ACTIONS(7108),
    [anon_sym_EQ_GT] = ACTIONS(7108),
    [anon_sym_AMP_DOT] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(5748),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5750),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(5752),
    [anon_sym_AMP_AMP] = ACTIONS(5752),
    [anon_sym_LT_LT] = ACTIONS(5754),
    [anon_sym_GT_GT] = ACTIONS(5754),
    [anon_sym_EQ_EQ] = ACTIONS(5756),
    [anon_sym_BANG_EQ] = ACTIONS(5752),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5752),
    [anon_sym_LT_EQ_GT] = ACTIONS(5752),
    [anon_sym_EQ_TILDE] = ACTIONS(5752),
    [anon_sym_BANG_TILDE] = ACTIONS(5752),
    [anon_sym_LT_EQ] = ACTIONS(5744),
    [anon_sym_GT] = ACTIONS(5744),
    [anon_sym_GT_EQ] = ACTIONS(5758),
    [anon_sym_CARET] = ACTIONS(5760),
    [anon_sym_PLUS] = ACTIONS(5762),
    [anon_sym_SLASH] = ACTIONS(5740),
    [anon_sym_PERCENT] = ACTIONS(5740),
    [sym_comment] = ACTIONS(110),
  },
  [7243] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5734),
    [sym__binary_star] = ACTIONS(5736),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(5738),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(5740),
    [anon_sym_AMP] = ACTIONS(5742),
    [anon_sym_LT] = ACTIONS(5744),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(5746),
    [anon_sym_DOT_DOT] = ACTIONS(5748),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5750),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(5752),
    [anon_sym_AMP_AMP] = ACTIONS(5752),
    [anon_sym_LT_LT] = ACTIONS(5754),
    [anon_sym_GT_GT] = ACTIONS(5754),
    [anon_sym_EQ_EQ] = ACTIONS(5756),
    [anon_sym_BANG_EQ] = ACTIONS(5752),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5752),
    [anon_sym_LT_EQ_GT] = ACTIONS(5752),
    [anon_sym_EQ_TILDE] = ACTIONS(5752),
    [anon_sym_BANG_TILDE] = ACTIONS(5752),
    [anon_sym_LT_EQ] = ACTIONS(5744),
    [anon_sym_GT] = ACTIONS(5744),
    [anon_sym_GT_EQ] = ACTIONS(5758),
    [anon_sym_CARET] = ACTIONS(5760),
    [anon_sym_PLUS] = ACTIONS(5762),
    [anon_sym_SLASH] = ACTIONS(5740),
    [anon_sym_PERCENT] = ACTIONS(5740),
    [sym_comment] = ACTIONS(110),
  },
  [7244] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5734),
    [sym__binary_star] = ACTIONS(5736),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(5738),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(5740),
    [anon_sym_AMP] = ACTIONS(5742),
    [anon_sym_LT] = ACTIONS(5744),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(5754),
    [anon_sym_GT_GT] = ACTIONS(5754),
    [anon_sym_EQ_EQ] = ACTIONS(5756),
    [anon_sym_BANG_EQ] = ACTIONS(5752),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5752),
    [anon_sym_LT_EQ_GT] = ACTIONS(5752),
    [anon_sym_EQ_TILDE] = ACTIONS(5752),
    [anon_sym_BANG_TILDE] = ACTIONS(5752),
    [anon_sym_LT_EQ] = ACTIONS(5744),
    [anon_sym_GT] = ACTIONS(5744),
    [anon_sym_GT_EQ] = ACTIONS(5758),
    [anon_sym_CARET] = ACTIONS(5760),
    [anon_sym_PLUS] = ACTIONS(5762),
    [anon_sym_SLASH] = ACTIONS(5740),
    [anon_sym_PERCENT] = ACTIONS(5740),
    [sym_comment] = ACTIONS(110),
  },
  [7245] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5734),
    [sym__binary_star] = ACTIONS(5736),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(5740),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(5762),
    [anon_sym_SLASH] = ACTIONS(5740),
    [anon_sym_PERCENT] = ACTIONS(5740),
    [sym_comment] = ACTIONS(110),
  },
  [7246] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(5736),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(5740),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(5740),
    [anon_sym_PERCENT] = ACTIONS(5740),
    [sym_comment] = ACTIONS(110),
  },
  [7247] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__line_break] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(5820),
    [sym__binary_star] = ACTIONS(5822),
    [anon_sym_LBRACE] = ACTIONS(5298),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(5824),
    [anon_sym_SEMI] = ACTIONS(5298),
    [anon_sym_STAR_STAR] = ACTIONS(5826),
    [anon_sym_AMP] = ACTIONS(5828),
    [anon_sym_EQ] = ACTIONS(5304),
    [anon_sym_LT] = ACTIONS(5830),
    [anon_sym_do] = ACTIONS(5298),
    [anon_sym_EQ_GT] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_PLUS_EQ] = ACTIONS(5298),
    [anon_sym_DASH_EQ] = ACTIONS(5298),
    [anon_sym_STAR_EQ] = ACTIONS(5298),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5298),
    [anon_sym_SLASH_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5298),
    [anon_sym_AMP_EQ] = ACTIONS(5298),
    [anon_sym_PERCENT_EQ] = ACTIONS(5298),
    [anon_sym_GT_GT_EQ] = ACTIONS(5298),
    [anon_sym_LT_LT_EQ] = ACTIONS(5298),
    [anon_sym_CARET_EQ] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(5832),
    [anon_sym_DOT_DOT] = ACTIONS(5834),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5836),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(5838),
    [anon_sym_AMP_AMP] = ACTIONS(5838),
    [anon_sym_LT_LT] = ACTIONS(5840),
    [anon_sym_GT_GT] = ACTIONS(5840),
    [anon_sym_EQ_EQ] = ACTIONS(5838),
    [anon_sym_BANG_EQ] = ACTIONS(5842),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5842),
    [anon_sym_LT_EQ_GT] = ACTIONS(5842),
    [anon_sym_EQ_TILDE] = ACTIONS(5842),
    [anon_sym_BANG_TILDE] = ACTIONS(5842),
    [anon_sym_LT_EQ] = ACTIONS(5830),
    [anon_sym_GT] = ACTIONS(5830),
    [anon_sym_GT_EQ] = ACTIONS(5844),
    [anon_sym_CARET] = ACTIONS(5824),
    [anon_sym_PLUS] = ACTIONS(5846),
    [anon_sym_SLASH] = ACTIONS(5826),
    [anon_sym_PERCENT] = ACTIONS(5826),
    [sym_comment] = ACTIONS(256),
  },
  [7248] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__line_break] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(5820),
    [sym__binary_star] = ACTIONS(5822),
    [anon_sym_LBRACE] = ACTIONS(5338),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(5824),
    [anon_sym_SEMI] = ACTIONS(5338),
    [anon_sym_STAR_STAR] = ACTIONS(5826),
    [anon_sym_AMP] = ACTIONS(5828),
    [anon_sym_EQ] = ACTIONS(5340),
    [anon_sym_LT] = ACTIONS(5830),
    [anon_sym_do] = ACTIONS(5338),
    [anon_sym_EQ_GT] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_PLUS_EQ] = ACTIONS(5338),
    [anon_sym_DASH_EQ] = ACTIONS(5338),
    [anon_sym_STAR_EQ] = ACTIONS(5338),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5338),
    [anon_sym_SLASH_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5338),
    [anon_sym_AMP_EQ] = ACTIONS(5338),
    [anon_sym_PERCENT_EQ] = ACTIONS(5338),
    [anon_sym_GT_GT_EQ] = ACTIONS(5338),
    [anon_sym_LT_LT_EQ] = ACTIONS(5338),
    [anon_sym_CARET_EQ] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(5832),
    [anon_sym_DOT_DOT] = ACTIONS(5834),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5836),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(5838),
    [anon_sym_AMP_AMP] = ACTIONS(5838),
    [anon_sym_LT_LT] = ACTIONS(5840),
    [anon_sym_GT_GT] = ACTIONS(5840),
    [anon_sym_EQ_EQ] = ACTIONS(5838),
    [anon_sym_BANG_EQ] = ACTIONS(5842),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5842),
    [anon_sym_LT_EQ_GT] = ACTIONS(5842),
    [anon_sym_EQ_TILDE] = ACTIONS(5842),
    [anon_sym_BANG_TILDE] = ACTIONS(5842),
    [anon_sym_LT_EQ] = ACTIONS(5830),
    [anon_sym_GT] = ACTIONS(5830),
    [anon_sym_GT_EQ] = ACTIONS(5844),
    [anon_sym_CARET] = ACTIONS(5824),
    [anon_sym_PLUS] = ACTIONS(5846),
    [anon_sym_SLASH] = ACTIONS(5826),
    [anon_sym_PERCENT] = ACTIONS(5826),
    [sym_comment] = ACTIONS(256),
  },
  [7249] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__line_break] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(5820),
    [sym__binary_star] = ACTIONS(5822),
    [anon_sym_LBRACE] = ACTIONS(4284),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(5824),
    [anon_sym_SEMI] = ACTIONS(4284),
    [anon_sym_STAR_STAR] = ACTIONS(5826),
    [anon_sym_AMP] = ACTIONS(5828),
    [anon_sym_EQ] = ACTIONS(5432),
    [anon_sym_LT] = ACTIONS(5830),
    [anon_sym_do] = ACTIONS(4284),
    [anon_sym_EQ_GT] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_PLUS_EQ] = ACTIONS(4284),
    [anon_sym_DASH_EQ] = ACTIONS(4284),
    [anon_sym_STAR_EQ] = ACTIONS(4284),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(4284),
    [anon_sym_SLASH_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(4284),
    [anon_sym_AMP_EQ] = ACTIONS(4284),
    [anon_sym_PERCENT_EQ] = ACTIONS(4284),
    [anon_sym_GT_GT_EQ] = ACTIONS(4284),
    [anon_sym_LT_LT_EQ] = ACTIONS(4284),
    [anon_sym_CARET_EQ] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(5832),
    [anon_sym_DOT_DOT] = ACTIONS(5834),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5836),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(5838),
    [anon_sym_AMP_AMP] = ACTIONS(5838),
    [anon_sym_LT_LT] = ACTIONS(5840),
    [anon_sym_GT_GT] = ACTIONS(5840),
    [anon_sym_EQ_EQ] = ACTIONS(5838),
    [anon_sym_BANG_EQ] = ACTIONS(5842),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5842),
    [anon_sym_LT_EQ_GT] = ACTIONS(5842),
    [anon_sym_EQ_TILDE] = ACTIONS(5842),
    [anon_sym_BANG_TILDE] = ACTIONS(5842),
    [anon_sym_LT_EQ] = ACTIONS(5830),
    [anon_sym_GT] = ACTIONS(5830),
    [anon_sym_GT_EQ] = ACTIONS(5844),
    [anon_sym_CARET] = ACTIONS(5824),
    [anon_sym_PLUS] = ACTIONS(5846),
    [anon_sym_SLASH] = ACTIONS(5826),
    [anon_sym_PERCENT] = ACTIONS(5826),
    [sym_comment] = ACTIONS(256),
  },
  [7250] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10299),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1581),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1582),
    [sym__variable] = STATE(1540),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2486),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(5806),
    [anon_sym_yield] = ACTIONS(5808),
    [anon_sym_break] = ACTIONS(5810),
    [anon_sym_next] = ACTIONS(5812),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(5814),
    [anon_sym_defined_QMARK] = ACTIONS(2504),
    [anon_sym_not] = ACTIONS(5816),
    [anon_sym_BANG] = ACTIONS(2510),
    [anon_sym_TILDE] = ACTIONS(2510),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7251] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(3995),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(6946),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1581),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1582),
    [sym__variable] = STATE(1540),
    [sym_reserved_identifier] = STATE(3997),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(3998),
    [sym_subshell] = STATE(561),
    [sym_heredoc_end] = STATE(10300),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__block_ampersand] = ACTIONS(5764),
    [sym__splat_star] = ACTIONS(5766),
    [sym__unary_minus] = ACTIONS(2486),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(13158),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2488),
    [anon_sym_yield] = ACTIONS(2490),
    [anon_sym_break] = ACTIONS(2492),
    [anon_sym_next] = ACTIONS(2494),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(5814),
    [anon_sym_defined_QMARK] = ACTIONS(2504),
    [anon_sym_not] = ACTIONS(2506),
    [anon_sym_BANG] = ACTIONS(2510),
    [anon_sym_TILDE] = ACTIONS(2510),
    [sym_constant] = ACTIONS(5768),
    [sym_identifier] = ACTIONS(5768),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7252] = {
    [sym_heredoc_end] = STATE(3770),
    [aux_sym_argument_list_repeat2] = STATE(6949),
    [sym__simple_heredoc_body] = ACTIONS(5460),
    [sym__heredoc_body_beginning] = ACTIONS(5462),
    [sym__line_break] = ACTIONS(5472),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_LBRACE] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(13160),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_SEMI] = ACTIONS(5472),
    [anon_sym_STAR_STAR] = ACTIONS(5474),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_EQ] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_do] = ACTIONS(5472),
    [anon_sym_EQ_GT] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_PLUS_EQ] = ACTIONS(5472),
    [anon_sym_DASH_EQ] = ACTIONS(5472),
    [anon_sym_STAR_EQ] = ACTIONS(5472),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5472),
    [anon_sym_SLASH_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5472),
    [anon_sym_AMP_EQ] = ACTIONS(5472),
    [anon_sym_PERCENT_EQ] = ACTIONS(5472),
    [anon_sym_GT_GT_EQ] = ACTIONS(5472),
    [anon_sym_LT_LT_EQ] = ACTIONS(5472),
    [anon_sym_CARET_EQ] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5474),
    [anon_sym_AMP_AMP] = ACTIONS(5474),
    [anon_sym_LT_LT] = ACTIONS(5474),
    [anon_sym_GT_GT] = ACTIONS(5474),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5474),
    [anon_sym_PLUS] = ACTIONS(5474),
    [anon_sym_SLASH] = ACTIONS(5474),
    [anon_sym_PERCENT] = ACTIONS(5474),
    [sym_comment] = ACTIONS(256),
  },
  [7253] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10302),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1581),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1582),
    [sym__variable] = STATE(1540),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2486),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(5806),
    [anon_sym_yield] = ACTIONS(5808),
    [anon_sym_break] = ACTIONS(5810),
    [anon_sym_next] = ACTIONS(5812),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(5814),
    [anon_sym_defined_QMARK] = ACTIONS(2504),
    [anon_sym_not] = ACTIONS(5816),
    [anon_sym_BANG] = ACTIONS(2510),
    [anon_sym_TILDE] = ACTIONS(2510),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7254] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1539),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(6955),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1542),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1543),
    [sym__variable] = STATE(1540),
    [sym_reserved_identifier] = STATE(1544),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(1545),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__block_ampersand] = ACTIONS(2410),
    [sym__splat_star] = ACTIONS(2412),
    [sym__unary_minus] = ACTIONS(2414),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(9914),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2416),
    [anon_sym_yield] = ACTIONS(2418),
    [anon_sym_break] = ACTIONS(2420),
    [anon_sym_next] = ACTIONS(2422),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(5722),
    [anon_sym_defined_QMARK] = ACTIONS(2432),
    [anon_sym_not] = ACTIONS(2434),
    [anon_sym_BANG] = ACTIONS(2438),
    [anon_sym_TILDE] = ACTIONS(2438),
    [sym_constant] = ACTIONS(2440),
    [sym_identifier] = ACTIONS(2440),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7255] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1539),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(6955),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1542),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1543),
    [sym__variable] = STATE(1540),
    [sym_reserved_identifier] = STATE(1544),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(1545),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(10303),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__block_ampersand] = ACTIONS(2410),
    [sym__splat_star] = ACTIONS(2412),
    [sym__unary_minus] = ACTIONS(2414),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(9914),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2416),
    [anon_sym_yield] = ACTIONS(2418),
    [anon_sym_break] = ACTIONS(2420),
    [anon_sym_next] = ACTIONS(2422),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(5722),
    [anon_sym_defined_QMARK] = ACTIONS(2432),
    [anon_sym_not] = ACTIONS(2434),
    [anon_sym_BANG] = ACTIONS(2438),
    [anon_sym_TILDE] = ACTIONS(2438),
    [sym_constant] = ACTIONS(2440),
    [sym_identifier] = ACTIONS(2440),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7256] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__line_break] = ACTIONS(6346),
    [sym__element_reference_left_bracket] = ACTIONS(6346),
    [sym__scope_double_colon] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(5734),
    [sym__binary_star] = ACTIONS(5736),
    [anon_sym_DOT] = ACTIONS(7328),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(5738),
    [anon_sym_SEMI] = ACTIONS(6346),
    [anon_sym_STAR_STAR] = ACTIONS(5740),
    [anon_sym_AMP] = ACTIONS(5742),
    [anon_sym_LT] = ACTIONS(5744),
    [anon_sym_do] = ACTIONS(6346),
    [anon_sym_EQ_GT] = ACTIONS(6346),
    [anon_sym_AMP_DOT] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(5746),
    [anon_sym_DOT_DOT] = ACTIONS(5748),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5750),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(5752),
    [anon_sym_AMP_AMP] = ACTIONS(5752),
    [anon_sym_LT_LT] = ACTIONS(5754),
    [anon_sym_GT_GT] = ACTIONS(5754),
    [anon_sym_EQ_EQ] = ACTIONS(5756),
    [anon_sym_BANG_EQ] = ACTIONS(5752),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5752),
    [anon_sym_LT_EQ_GT] = ACTIONS(5752),
    [anon_sym_EQ_TILDE] = ACTIONS(5752),
    [anon_sym_BANG_TILDE] = ACTIONS(5752),
    [anon_sym_LT_EQ] = ACTIONS(5744),
    [anon_sym_GT] = ACTIONS(5744),
    [anon_sym_GT_EQ] = ACTIONS(5758),
    [anon_sym_CARET] = ACTIONS(5760),
    [anon_sym_PLUS] = ACTIONS(5762),
    [anon_sym_SLASH] = ACTIONS(5740),
    [anon_sym_PERCENT] = ACTIONS(5740),
    [sym_comment] = ACTIONS(110),
  },
  [7257] = {
    [aux_sym_exceptions_repeat1] = STATE(10305),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__line_break] = ACTIONS(7330),
    [sym__element_reference_left_bracket] = ACTIONS(7330),
    [sym__scope_double_colon] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_DOT] = ACTIONS(7332),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_SEMI] = ACTIONS(7330),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_do] = ACTIONS(7330),
    [anon_sym_EQ_GT] = ACTIONS(7330),
    [anon_sym_AMP_DOT] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [7258] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__line_break] = ACTIONS(7344),
    [sym__element_reference_left_bracket] = ACTIONS(7344),
    [sym__scope_double_colon] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(5734),
    [sym__binary_star] = ACTIONS(5736),
    [anon_sym_DOT] = ACTIONS(9504),
    [anon_sym_COMMA] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(5738),
    [anon_sym_SEMI] = ACTIONS(7344),
    [anon_sym_STAR_STAR] = ACTIONS(5740),
    [anon_sym_AMP] = ACTIONS(5742),
    [anon_sym_LT] = ACTIONS(5744),
    [anon_sym_do] = ACTIONS(7344),
    [anon_sym_EQ_GT] = ACTIONS(7344),
    [anon_sym_AMP_DOT] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(5746),
    [anon_sym_DOT_DOT] = ACTIONS(5748),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5750),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(5752),
    [anon_sym_AMP_AMP] = ACTIONS(5752),
    [anon_sym_LT_LT] = ACTIONS(5754),
    [anon_sym_GT_GT] = ACTIONS(5754),
    [anon_sym_EQ_EQ] = ACTIONS(5756),
    [anon_sym_BANG_EQ] = ACTIONS(5752),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5752),
    [anon_sym_LT_EQ_GT] = ACTIONS(5752),
    [anon_sym_EQ_TILDE] = ACTIONS(5752),
    [anon_sym_BANG_TILDE] = ACTIONS(5752),
    [anon_sym_LT_EQ] = ACTIONS(5744),
    [anon_sym_GT] = ACTIONS(5744),
    [anon_sym_GT_EQ] = ACTIONS(5758),
    [anon_sym_CARET] = ACTIONS(5760),
    [anon_sym_PLUS] = ACTIONS(5762),
    [anon_sym_SLASH] = ACTIONS(5740),
    [anon_sym_PERCENT] = ACTIONS(5740),
    [sym_comment] = ACTIONS(110),
  },
  [7259] = {
    [sym__simple_heredoc_body] = ACTIONS(8662),
    [sym__heredoc_body_beginning] = ACTIONS(8662),
    [sym__line_break] = ACTIONS(8662),
    [sym__element_reference_left_bracket] = ACTIONS(8662),
    [sym__scope_double_colon] = ACTIONS(8662),
    [sym__binary_minus] = ACTIONS(9866),
    [sym__binary_star] = ACTIONS(9868),
    [anon_sym_DOT] = ACTIONS(9506),
    [anon_sym_COMMA] = ACTIONS(8662),
    [anon_sym_PIPE] = ACTIONS(9870),
    [anon_sym_SEMI] = ACTIONS(8662),
    [anon_sym_STAR_STAR] = ACTIONS(9872),
    [anon_sym_AMP] = ACTIONS(9874),
    [anon_sym_LT] = ACTIONS(9876),
    [anon_sym_do] = ACTIONS(8662),
    [anon_sym_AMP_DOT] = ACTIONS(8662),
    [anon_sym_QMARK] = ACTIONS(9878),
    [anon_sym_DOT_DOT] = ACTIONS(9880),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9882),
    [anon_sym_and] = ACTIONS(8662),
    [anon_sym_or] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE] = ACTIONS(9884),
    [anon_sym_AMP_AMP] = ACTIONS(9884),
    [anon_sym_LT_LT] = ACTIONS(9886),
    [anon_sym_GT_GT] = ACTIONS(9886),
    [anon_sym_EQ_EQ] = ACTIONS(9888),
    [anon_sym_BANG_EQ] = ACTIONS(9884),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9884),
    [anon_sym_LT_EQ_GT] = ACTIONS(9884),
    [anon_sym_EQ_TILDE] = ACTIONS(9884),
    [anon_sym_BANG_TILDE] = ACTIONS(9884),
    [anon_sym_LT_EQ] = ACTIONS(9876),
    [anon_sym_GT] = ACTIONS(9876),
    [anon_sym_GT_EQ] = ACTIONS(9890),
    [anon_sym_CARET] = ACTIONS(9892),
    [anon_sym_PLUS] = ACTIONS(9894),
    [anon_sym_SLASH] = ACTIONS(9872),
    [anon_sym_PERCENT] = ACTIONS(9872),
    [sym_comment] = ACTIONS(110),
  },
  [7260] = {
    [sym__simple_string] = ACTIONS(8070),
    [sym__simple_symbol] = ACTIONS(8070),
    [sym__simple_subshell] = ACTIONS(8070),
    [sym__simple_regex] = ACTIONS(8070),
    [sym__simple_word_list] = ACTIONS(8070),
    [sym__string_beginning] = ACTIONS(8070),
    [sym__symbol_beginning] = ACTIONS(8070),
    [sym__subshell_beginning] = ACTIONS(8070),
    [sym__regex_beginning] = ACTIONS(8070),
    [sym__word_list_beginning] = ACTIONS(8070),
    [sym_heredoc_beginning] = ACTIONS(8070),
    [sym__unary_minus] = ACTIONS(8070),
    [anon_sym_BEGIN] = ACTIONS(10414),
    [anon_sym_LBRACE] = ACTIONS(8070),
    [anon_sym_END] = ACTIONS(10414),
    [anon_sym_def] = ACTIONS(10414),
    [anon_sym_LPAREN] = ACTIONS(8070),
    [anon_sym_COLON_COLON] = ACTIONS(8070),
    [anon_sym_end] = ACTIONS(10414),
    [anon_sym_SEMI] = ACTIONS(8070),
    [anon_sym_STAR] = ACTIONS(8070),
    [anon_sym_class] = ACTIONS(10414),
    [anon_sym_module] = ACTIONS(10414),
    [anon_sym_return] = ACTIONS(10414),
    [anon_sym_yield] = ACTIONS(10414),
    [anon_sym_break] = ACTIONS(10414),
    [anon_sym_next] = ACTIONS(10414),
    [anon_sym_redo] = ACTIONS(10414),
    [anon_sym_retry] = ACTIONS(10414),
    [anon_sym_if] = ACTIONS(10414),
    [anon_sym_unless] = ACTIONS(10414),
    [anon_sym_while] = ACTIONS(10414),
    [anon_sym_until] = ACTIONS(10414),
    [anon_sym_for] = ACTIONS(10414),
    [anon_sym_case] = ACTIONS(10414),
    [anon_sym_begin] = ACTIONS(10414),
    [anon_sym_PLUS] = ACTIONS(10414),
    [anon_sym_defined_QMARK] = ACTIONS(8070),
    [anon_sym_not] = ACTIONS(10414),
    [anon_sym_BANG] = ACTIONS(8070),
    [anon_sym_TILDE] = ACTIONS(8070),
    [sym_constant] = ACTIONS(10416),
    [sym_identifier] = ACTIONS(10416),
    [sym_instance_variable] = ACTIONS(10414),
    [sym_class_variable] = ACTIONS(10414),
    [sym_global_variable] = ACTIONS(10414),
    [anon_sym_alias] = ACTIONS(10414),
    [anon_sym_false] = ACTIONS(10414),
    [anon_sym_nil] = ACTIONS(10414),
    [anon_sym_self] = ACTIONS(10414),
    [anon_sym_super] = ACTIONS(10414),
    [anon_sym_true] = ACTIONS(10414),
    [anon_sym_undef] = ACTIONS(10414),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(10414),
    [sym_float] = ACTIONS(10416),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8070),
    [anon_sym_TRUE] = ACTIONS(10414),
    [anon_sym_FALSE] = ACTIONS(10414),
    [anon_sym_NIL] = ACTIONS(10414),
    [sym_keyword__FILE__] = ACTIONS(10414),
    [sym_keyword__LINE__] = ACTIONS(10414),
    [sym_keyword__ENCODING__] = ACTIONS(10414),
    [sym__character_literal] = ACTIONS(10414),
    [anon_sym_LBRACK] = ACTIONS(8070),
    [anon_sym_DASH_GT] = ACTIONS(8070),
  },
  [7261] = {
    [sym__heredoc_body_middle] = ACTIONS(8296),
    [sym__heredoc_body_end] = ACTIONS(13162),
    [anon_sym_if] = ACTIONS(4112),
    [anon_sym_unless] = ACTIONS(4114),
    [anon_sym_while] = ACTIONS(4116),
    [anon_sym_until] = ACTIONS(4118),
    [anon_sym_rescue] = ACTIONS(4120),
    [sym_comment] = ACTIONS(110),
  },
  [7262] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10307),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(376),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(377),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(640),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(650),
    [anon_sym_defined_QMARK] = ACTIONS(652),
    [anon_sym_not] = ACTIONS(654),
    [anon_sym_BANG] = ACTIONS(656),
    [anon_sym_TILDE] = ACTIONS(656),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7263] = {
    [sym__simple_heredoc_body] = ACTIONS(13164),
    [sym__heredoc_body_beginning] = ACTIONS(13164),
    [sym__line_break] = ACTIONS(13164),
    [sym__element_reference_left_bracket] = ACTIONS(13164),
    [sym__scope_double_colon] = ACTIONS(13164),
    [sym__binary_minus] = ACTIONS(13164),
    [sym__binary_star] = ACTIONS(13164),
    [ts_builtin_sym_end] = ACTIONS(13164),
    [anon_sym___END__] = ACTIONS(13164),
    [anon_sym_LBRACE] = ACTIONS(13164),
    [anon_sym_RBRACE] = ACTIONS(13164),
    [anon_sym_RPAREN] = ACTIONS(13164),
    [anon_sym_DOT] = ACTIONS(13166),
    [anon_sym_end] = ACTIONS(13164),
    [anon_sym_COMMA] = ACTIONS(13164),
    [anon_sym_PIPE] = ACTIONS(13166),
    [anon_sym_SEMI] = ACTIONS(13164),
    [anon_sym_STAR_STAR] = ACTIONS(13164),
    [anon_sym_AMP] = ACTIONS(13166),
    [anon_sym_LT] = ACTIONS(13166),
    [anon_sym_if] = ACTIONS(13164),
    [anon_sym_unless] = ACTIONS(13164),
    [anon_sym_while] = ACTIONS(13164),
    [anon_sym_until] = ACTIONS(13164),
    [anon_sym_rescue] = ACTIONS(13164),
    [anon_sym_do] = ACTIONS(13164),
    [anon_sym_when] = ACTIONS(13164),
    [anon_sym_elsif] = ACTIONS(13164),
    [anon_sym_else] = ACTIONS(13164),
    [anon_sym_then] = ACTIONS(13164),
    [anon_sym_ensure] = ACTIONS(13164),
    [anon_sym_EQ_GT] = ACTIONS(13164),
    [anon_sym_AMP_DOT] = ACTIONS(13164),
    [anon_sym_QMARK] = ACTIONS(13164),
    [anon_sym_DOT_DOT] = ACTIONS(13166),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(13164),
    [anon_sym_and] = ACTIONS(13164),
    [anon_sym_or] = ACTIONS(13164),
    [anon_sym_PIPE_PIPE] = ACTIONS(13164),
    [anon_sym_AMP_AMP] = ACTIONS(13164),
    [anon_sym_LT_LT] = ACTIONS(13164),
    [anon_sym_GT_GT] = ACTIONS(13164),
    [anon_sym_EQ_EQ] = ACTIONS(13166),
    [anon_sym_BANG_EQ] = ACTIONS(13164),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(13164),
    [anon_sym_LT_EQ_GT] = ACTIONS(13164),
    [anon_sym_EQ_TILDE] = ACTIONS(13164),
    [anon_sym_BANG_TILDE] = ACTIONS(13164),
    [anon_sym_LT_EQ] = ACTIONS(13166),
    [anon_sym_GT] = ACTIONS(13166),
    [anon_sym_GT_EQ] = ACTIONS(13164),
    [anon_sym_CARET] = ACTIONS(13164),
    [anon_sym_PLUS] = ACTIONS(13164),
    [anon_sym_SLASH] = ACTIONS(13164),
    [anon_sym_PERCENT] = ACTIONS(13164),
    [sym_comment] = ACTIONS(110),
  },
  [7264] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_LBRACE] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(9934),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_EQ] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_do] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_PLUS_EQ] = ACTIONS(1372),
    [anon_sym_DASH_EQ] = ACTIONS(1372),
    [anon_sym_STAR_EQ] = ACTIONS(1372),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1372),
    [anon_sym_SLASH_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1372),
    [anon_sym_AMP_EQ] = ACTIONS(1372),
    [anon_sym_PERCENT_EQ] = ACTIONS(1372),
    [anon_sym_GT_GT_EQ] = ACTIONS(1372),
    [anon_sym_LT_LT_EQ] = ACTIONS(1372),
    [anon_sym_CARET_EQ] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1374),
    [anon_sym_AMP_AMP] = ACTIONS(1374),
    [anon_sym_LT_LT] = ACTIONS(1374),
    [anon_sym_GT_GT] = ACTIONS(1374),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1374),
    [anon_sym_PLUS] = ACTIONS(1374),
    [anon_sym_SLASH] = ACTIONS(1374),
    [anon_sym_PERCENT] = ACTIONS(1374),
    [sym_comment] = ACTIONS(256),
  },
  [7265] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(9934),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2872),
    [anon_sym_AMP_AMP] = ACTIONS(2872),
    [anon_sym_LT_LT] = ACTIONS(2872),
    [anon_sym_GT_GT] = ACTIONS(2872),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2872),
    [anon_sym_PLUS] = ACTIONS(2872),
    [anon_sym_SLASH] = ACTIONS(2872),
    [anon_sym_PERCENT] = ACTIONS(2872),
    [sym_comment] = ACTIONS(256),
  },
  [7266] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(9928),
    [sym__binary_star] = ACTIONS(9930),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(9932),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(9934),
    [anon_sym_AMP] = ACTIONS(9936),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(9938),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(9940),
    [anon_sym_DOT_DOT] = ACTIONS(9942),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9944),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(9946),
    [anon_sym_AMP_AMP] = ACTIONS(9946),
    [anon_sym_LT_LT] = ACTIONS(9948),
    [anon_sym_GT_GT] = ACTIONS(9948),
    [anon_sym_EQ_EQ] = ACTIONS(9946),
    [anon_sym_BANG_EQ] = ACTIONS(9950),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9950),
    [anon_sym_LT_EQ_GT] = ACTIONS(9950),
    [anon_sym_EQ_TILDE] = ACTIONS(9950),
    [anon_sym_BANG_TILDE] = ACTIONS(9950),
    [anon_sym_LT_EQ] = ACTIONS(9938),
    [anon_sym_GT] = ACTIONS(9938),
    [anon_sym_GT_EQ] = ACTIONS(9952),
    [anon_sym_CARET] = ACTIONS(9932),
    [anon_sym_PLUS] = ACTIONS(9954),
    [anon_sym_SLASH] = ACTIONS(9934),
    [anon_sym_PERCENT] = ACTIONS(9934),
    [sym_comment] = ACTIONS(256),
  },
  [7267] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10308),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4029),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4030),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(5788),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(5790),
    [anon_sym_yield] = ACTIONS(5792),
    [anon_sym_break] = ACTIONS(5794),
    [anon_sym_next] = ACTIONS(5796),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(5798),
    [anon_sym_defined_QMARK] = ACTIONS(5800),
    [anon_sym_not] = ACTIONS(5802),
    [anon_sym_BANG] = ACTIONS(5804),
    [anon_sym_TILDE] = ACTIONS(5804),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7268] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10309),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4029),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4030),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(5788),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(5790),
    [anon_sym_yield] = ACTIONS(5792),
    [anon_sym_break] = ACTIONS(5794),
    [anon_sym_next] = ACTIONS(5796),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(5798),
    [anon_sym_defined_QMARK] = ACTIONS(5800),
    [anon_sym_not] = ACTIONS(5802),
    [anon_sym_BANG] = ACTIONS(5804),
    [anon_sym_TILDE] = ACTIONS(5804),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7269] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10310),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4029),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4030),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(5788),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(5790),
    [anon_sym_yield] = ACTIONS(5792),
    [anon_sym_break] = ACTIONS(5794),
    [anon_sym_next] = ACTIONS(5796),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(5798),
    [anon_sym_defined_QMARK] = ACTIONS(5800),
    [anon_sym_not] = ACTIONS(5802),
    [anon_sym_BANG] = ACTIONS(5804),
    [anon_sym_TILDE] = ACTIONS(5804),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7270] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10311),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4029),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4030),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(5788),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(5790),
    [anon_sym_yield] = ACTIONS(5792),
    [anon_sym_break] = ACTIONS(5794),
    [anon_sym_next] = ACTIONS(5796),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(5798),
    [anon_sym_defined_QMARK] = ACTIONS(5800),
    [anon_sym_not] = ACTIONS(5802),
    [anon_sym_BANG] = ACTIONS(5804),
    [anon_sym_TILDE] = ACTIONS(5804),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7271] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10312),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4029),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4030),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(5788),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(5790),
    [anon_sym_yield] = ACTIONS(5792),
    [anon_sym_break] = ACTIONS(5794),
    [anon_sym_next] = ACTIONS(5796),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(5798),
    [anon_sym_defined_QMARK] = ACTIONS(5800),
    [anon_sym_not] = ACTIONS(5802),
    [anon_sym_BANG] = ACTIONS(5804),
    [anon_sym_TILDE] = ACTIONS(5804),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7272] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10313),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4029),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4030),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(5788),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(5790),
    [anon_sym_yield] = ACTIONS(5792),
    [anon_sym_break] = ACTIONS(5794),
    [anon_sym_next] = ACTIONS(5796),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(5798),
    [anon_sym_defined_QMARK] = ACTIONS(5800),
    [anon_sym_not] = ACTIONS(5802),
    [anon_sym_BANG] = ACTIONS(5804),
    [anon_sym_TILDE] = ACTIONS(5804),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7273] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(10314),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [7274] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10315),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4029),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4030),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(5788),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(5790),
    [anon_sym_yield] = ACTIONS(5792),
    [anon_sym_break] = ACTIONS(5794),
    [anon_sym_next] = ACTIONS(5796),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(5798),
    [anon_sym_defined_QMARK] = ACTIONS(5800),
    [anon_sym_not] = ACTIONS(5802),
    [anon_sym_BANG] = ACTIONS(5804),
    [anon_sym_TILDE] = ACTIONS(5804),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7275] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10316),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4029),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4030),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(5788),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(5790),
    [anon_sym_yield] = ACTIONS(5792),
    [anon_sym_break] = ACTIONS(5794),
    [anon_sym_next] = ACTIONS(5796),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(5798),
    [anon_sym_defined_QMARK] = ACTIONS(5800),
    [anon_sym_not] = ACTIONS(5802),
    [anon_sym_BANG] = ACTIONS(5804),
    [anon_sym_TILDE] = ACTIONS(5804),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7276] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10317),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4029),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4030),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(5788),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(5790),
    [anon_sym_yield] = ACTIONS(5792),
    [anon_sym_break] = ACTIONS(5794),
    [anon_sym_next] = ACTIONS(5796),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(5798),
    [anon_sym_defined_QMARK] = ACTIONS(5800),
    [anon_sym_not] = ACTIONS(5802),
    [anon_sym_BANG] = ACTIONS(5804),
    [anon_sym_TILDE] = ACTIONS(5804),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7277] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10318),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4029),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4030),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(5788),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(5790),
    [anon_sym_yield] = ACTIONS(5792),
    [anon_sym_break] = ACTIONS(5794),
    [anon_sym_next] = ACTIONS(5796),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(5798),
    [anon_sym_defined_QMARK] = ACTIONS(5800),
    [anon_sym_not] = ACTIONS(5802),
    [anon_sym_BANG] = ACTIONS(5804),
    [anon_sym_TILDE] = ACTIONS(5804),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7278] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10319),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4029),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4030),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(5788),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(5790),
    [anon_sym_yield] = ACTIONS(5792),
    [anon_sym_break] = ACTIONS(5794),
    [anon_sym_next] = ACTIONS(5796),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(5798),
    [anon_sym_defined_QMARK] = ACTIONS(5800),
    [anon_sym_not] = ACTIONS(5802),
    [anon_sym_BANG] = ACTIONS(5804),
    [anon_sym_TILDE] = ACTIONS(5804),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7279] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10320),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_splat_argument] = STATE(8404),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_right_assignment_list] = STATE(8405),
    [sym__arg_or_splat_arg] = STATE(10321),
    [sym_left_assignment_list] = STATE(4029),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4030),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__splat_star] = ACTIONS(2484),
    [sym__unary_minus] = ACTIONS(5788),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(5790),
    [anon_sym_yield] = ACTIONS(5792),
    [anon_sym_break] = ACTIONS(5794),
    [anon_sym_next] = ACTIONS(5796),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(5798),
    [anon_sym_defined_QMARK] = ACTIONS(5800),
    [anon_sym_not] = ACTIONS(5802),
    [anon_sym_BANG] = ACTIONS(5804),
    [anon_sym_TILDE] = ACTIONS(5804),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7280] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10322),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4029),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4030),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(5788),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(5790),
    [anon_sym_yield] = ACTIONS(5792),
    [anon_sym_break] = ACTIONS(5794),
    [anon_sym_next] = ACTIONS(5796),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(5798),
    [anon_sym_defined_QMARK] = ACTIONS(5800),
    [anon_sym_not] = ACTIONS(5802),
    [anon_sym_BANG] = ACTIONS(5804),
    [anon_sym_TILDE] = ACTIONS(5804),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7281] = {
    [sym__simple_heredoc_body] = ACTIONS(8568),
    [sym__heredoc_body_beginning] = ACTIONS(8568),
    [sym__line_break] = ACTIONS(8568),
    [sym__element_reference_left_bracket] = ACTIONS(8568),
    [sym__scope_double_colon] = ACTIONS(8568),
    [sym__binary_minus] = ACTIONS(9928),
    [sym__binary_star] = ACTIONS(9930),
    [anon_sym_LBRACE] = ACTIONS(8568),
    [anon_sym_DOT] = ACTIONS(9468),
    [anon_sym_COMMA] = ACTIONS(8568),
    [anon_sym_PIPE] = ACTIONS(9932),
    [anon_sym_SEMI] = ACTIONS(8568),
    [anon_sym_STAR_STAR] = ACTIONS(9934),
    [anon_sym_AMP] = ACTIONS(9936),
    [anon_sym_EQ] = ACTIONS(9468),
    [anon_sym_LT] = ACTIONS(9938),
    [anon_sym_do] = ACTIONS(8568),
    [anon_sym_AMP_DOT] = ACTIONS(8568),
    [anon_sym_PLUS_EQ] = ACTIONS(8568),
    [anon_sym_DASH_EQ] = ACTIONS(8568),
    [anon_sym_STAR_EQ] = ACTIONS(8568),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8568),
    [anon_sym_SLASH_EQ] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8568),
    [anon_sym_PIPE_EQ] = ACTIONS(8568),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8568),
    [anon_sym_AMP_EQ] = ACTIONS(8568),
    [anon_sym_PERCENT_EQ] = ACTIONS(8568),
    [anon_sym_GT_GT_EQ] = ACTIONS(8568),
    [anon_sym_LT_LT_EQ] = ACTIONS(8568),
    [anon_sym_CARET_EQ] = ACTIONS(8568),
    [anon_sym_QMARK] = ACTIONS(9940),
    [anon_sym_DOT_DOT] = ACTIONS(9942),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9944),
    [anon_sym_and] = ACTIONS(8568),
    [anon_sym_or] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE] = ACTIONS(9946),
    [anon_sym_AMP_AMP] = ACTIONS(9946),
    [anon_sym_LT_LT] = ACTIONS(9948),
    [anon_sym_GT_GT] = ACTIONS(9948),
    [anon_sym_EQ_EQ] = ACTIONS(9946),
    [anon_sym_BANG_EQ] = ACTIONS(9950),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9950),
    [anon_sym_LT_EQ_GT] = ACTIONS(9950),
    [anon_sym_EQ_TILDE] = ACTIONS(9950),
    [anon_sym_BANG_TILDE] = ACTIONS(9950),
    [anon_sym_LT_EQ] = ACTIONS(9938),
    [anon_sym_GT] = ACTIONS(9938),
    [anon_sym_GT_EQ] = ACTIONS(9952),
    [anon_sym_CARET] = ACTIONS(9932),
    [anon_sym_PLUS] = ACTIONS(9954),
    [anon_sym_SLASH] = ACTIONS(9934),
    [anon_sym_PERCENT] = ACTIONS(9934),
    [sym_comment] = ACTIONS(256),
  },
  [7282] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__line_break] = ACTIONS(7008),
    [sym__element_reference_left_bracket] = ACTIONS(7008),
    [sym__scope_double_colon] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(5822),
    [anon_sym_LBRACE] = ACTIONS(7008),
    [anon_sym_DOT] = ACTIONS(7010),
    [anon_sym_COMMA] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_SEMI] = ACTIONS(7008),
    [anon_sym_STAR_STAR] = ACTIONS(5826),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_EQ] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_do] = ACTIONS(7008),
    [anon_sym_EQ_GT] = ACTIONS(7008),
    [anon_sym_AMP_DOT] = ACTIONS(7008),
    [anon_sym_PLUS_EQ] = ACTIONS(7008),
    [anon_sym_DASH_EQ] = ACTIONS(7008),
    [anon_sym_STAR_EQ] = ACTIONS(7008),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7008),
    [anon_sym_SLASH_EQ] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7008),
    [anon_sym_PIPE_EQ] = ACTIONS(7008),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7008),
    [anon_sym_AMP_EQ] = ACTIONS(7008),
    [anon_sym_PERCENT_EQ] = ACTIONS(7008),
    [anon_sym_GT_GT_EQ] = ACTIONS(7008),
    [anon_sym_LT_LT_EQ] = ACTIONS(7008),
    [anon_sym_CARET_EQ] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7010),
    [anon_sym_AMP_AMP] = ACTIONS(7010),
    [anon_sym_LT_LT] = ACTIONS(7010),
    [anon_sym_GT_GT] = ACTIONS(7010),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7010),
    [anon_sym_PLUS] = ACTIONS(7010),
    [anon_sym_SLASH] = ACTIONS(5826),
    [anon_sym_PERCENT] = ACTIONS(5826),
    [sym_comment] = ACTIONS(256),
  },
  [7283] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__line_break] = ACTIONS(7012),
    [sym__element_reference_left_bracket] = ACTIONS(7012),
    [sym__scope_double_colon] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_LBRACE] = ACTIONS(7012),
    [anon_sym_DOT] = ACTIONS(7014),
    [anon_sym_COMMA] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_SEMI] = ACTIONS(7012),
    [anon_sym_STAR_STAR] = ACTIONS(5826),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_EQ] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_do] = ACTIONS(7012),
    [anon_sym_EQ_GT] = ACTIONS(7012),
    [anon_sym_AMP_DOT] = ACTIONS(7012),
    [anon_sym_PLUS_EQ] = ACTIONS(7012),
    [anon_sym_DASH_EQ] = ACTIONS(7012),
    [anon_sym_STAR_EQ] = ACTIONS(7012),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7012),
    [anon_sym_SLASH_EQ] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7012),
    [anon_sym_PIPE_EQ] = ACTIONS(7012),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7012),
    [anon_sym_AMP_EQ] = ACTIONS(7012),
    [anon_sym_PERCENT_EQ] = ACTIONS(7012),
    [anon_sym_GT_GT_EQ] = ACTIONS(7012),
    [anon_sym_LT_LT_EQ] = ACTIONS(7012),
    [anon_sym_CARET_EQ] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7014),
    [anon_sym_AMP_AMP] = ACTIONS(7014),
    [anon_sym_LT_LT] = ACTIONS(7014),
    [anon_sym_GT_GT] = ACTIONS(7014),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7014),
    [anon_sym_PLUS] = ACTIONS(7014),
    [anon_sym_SLASH] = ACTIONS(7014),
    [anon_sym_PERCENT] = ACTIONS(7014),
    [sym_comment] = ACTIONS(256),
  },
  [7284] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5820),
    [sym__binary_star] = ACTIONS(5822),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(5826),
    [anon_sym_AMP] = ACTIONS(5828),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(5840),
    [anon_sym_GT_GT] = ACTIONS(5840),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(5846),
    [anon_sym_SLASH] = ACTIONS(5826),
    [anon_sym_PERCENT] = ACTIONS(5826),
    [sym_comment] = ACTIONS(256),
  },
  [7285] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(5826),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7018),
    [anon_sym_GT_GT] = ACTIONS(7018),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(7018),
    [anon_sym_SLASH] = ACTIONS(7018),
    [anon_sym_PERCENT] = ACTIONS(7018),
    [sym_comment] = ACTIONS(256),
  },
  [7286] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5820),
    [sym__binary_star] = ACTIONS(5822),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(5826),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(5840),
    [anon_sym_GT_GT] = ACTIONS(5840),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(5846),
    [anon_sym_SLASH] = ACTIONS(5826),
    [anon_sym_PERCENT] = ACTIONS(5826),
    [sym_comment] = ACTIONS(256),
  },
  [7287] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5820),
    [sym__binary_star] = ACTIONS(5822),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(5824),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(5826),
    [anon_sym_AMP] = ACTIONS(5828),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(5840),
    [anon_sym_GT_GT] = ACTIONS(5840),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(5824),
    [anon_sym_PLUS] = ACTIONS(5846),
    [anon_sym_SLASH] = ACTIONS(5826),
    [anon_sym_PERCENT] = ACTIONS(5826),
    [sym_comment] = ACTIONS(256),
  },
  [7288] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(13168),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [7289] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__line_break] = ACTIONS(7108),
    [sym__element_reference_left_bracket] = ACTIONS(7108),
    [sym__scope_double_colon] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(5820),
    [sym__binary_star] = ACTIONS(5822),
    [anon_sym_LBRACE] = ACTIONS(7108),
    [anon_sym_DOT] = ACTIONS(9472),
    [anon_sym_COMMA] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(5824),
    [anon_sym_SEMI] = ACTIONS(7108),
    [anon_sym_STAR_STAR] = ACTIONS(5826),
    [anon_sym_AMP] = ACTIONS(5828),
    [anon_sym_EQ] = ACTIONS(9472),
    [anon_sym_LT] = ACTIONS(5830),
    [anon_sym_do] = ACTIONS(7108),
    [anon_sym_EQ_GT] = ACTIONS(7108),
    [anon_sym_AMP_DOT] = ACTIONS(7108),
    [anon_sym_PLUS_EQ] = ACTIONS(7108),
    [anon_sym_DASH_EQ] = ACTIONS(7108),
    [anon_sym_STAR_EQ] = ACTIONS(7108),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7108),
    [anon_sym_SLASH_EQ] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7108),
    [anon_sym_PIPE_EQ] = ACTIONS(7108),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7108),
    [anon_sym_AMP_EQ] = ACTIONS(7108),
    [anon_sym_PERCENT_EQ] = ACTIONS(7108),
    [anon_sym_GT_GT_EQ] = ACTIONS(7108),
    [anon_sym_LT_LT_EQ] = ACTIONS(7108),
    [anon_sym_CARET_EQ] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(5834),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5836),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(5838),
    [anon_sym_AMP_AMP] = ACTIONS(5838),
    [anon_sym_LT_LT] = ACTIONS(5840),
    [anon_sym_GT_GT] = ACTIONS(5840),
    [anon_sym_EQ_EQ] = ACTIONS(5838),
    [anon_sym_BANG_EQ] = ACTIONS(5842),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5842),
    [anon_sym_LT_EQ_GT] = ACTIONS(5842),
    [anon_sym_EQ_TILDE] = ACTIONS(5842),
    [anon_sym_BANG_TILDE] = ACTIONS(5842),
    [anon_sym_LT_EQ] = ACTIONS(5830),
    [anon_sym_GT] = ACTIONS(5830),
    [anon_sym_GT_EQ] = ACTIONS(5844),
    [anon_sym_CARET] = ACTIONS(5824),
    [anon_sym_PLUS] = ACTIONS(5846),
    [anon_sym_SLASH] = ACTIONS(5826),
    [anon_sym_PERCENT] = ACTIONS(5826),
    [sym_comment] = ACTIONS(256),
  },
  [7290] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5820),
    [sym__binary_star] = ACTIONS(5822),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(5824),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(5826),
    [anon_sym_AMP] = ACTIONS(5828),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(5830),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(5832),
    [anon_sym_DOT_DOT] = ACTIONS(5834),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5836),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(5838),
    [anon_sym_AMP_AMP] = ACTIONS(5838),
    [anon_sym_LT_LT] = ACTIONS(5840),
    [anon_sym_GT_GT] = ACTIONS(5840),
    [anon_sym_EQ_EQ] = ACTIONS(5838),
    [anon_sym_BANG_EQ] = ACTIONS(5842),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5842),
    [anon_sym_LT_EQ_GT] = ACTIONS(5842),
    [anon_sym_EQ_TILDE] = ACTIONS(5842),
    [anon_sym_BANG_TILDE] = ACTIONS(5842),
    [anon_sym_LT_EQ] = ACTIONS(5830),
    [anon_sym_GT] = ACTIONS(5830),
    [anon_sym_GT_EQ] = ACTIONS(5844),
    [anon_sym_CARET] = ACTIONS(5824),
    [anon_sym_PLUS] = ACTIONS(5846),
    [anon_sym_SLASH] = ACTIONS(5826),
    [anon_sym_PERCENT] = ACTIONS(5826),
    [sym_comment] = ACTIONS(256),
  },
  [7291] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5820),
    [sym__binary_star] = ACTIONS(5822),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(5824),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(5826),
    [anon_sym_AMP] = ACTIONS(5828),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(5830),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(5840),
    [anon_sym_GT_GT] = ACTIONS(5840),
    [anon_sym_EQ_EQ] = ACTIONS(5838),
    [anon_sym_BANG_EQ] = ACTIONS(5842),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5842),
    [anon_sym_LT_EQ_GT] = ACTIONS(5842),
    [anon_sym_EQ_TILDE] = ACTIONS(5842),
    [anon_sym_BANG_TILDE] = ACTIONS(5842),
    [anon_sym_LT_EQ] = ACTIONS(5830),
    [anon_sym_GT] = ACTIONS(5830),
    [anon_sym_GT_EQ] = ACTIONS(5844),
    [anon_sym_CARET] = ACTIONS(5824),
    [anon_sym_PLUS] = ACTIONS(5846),
    [anon_sym_SLASH] = ACTIONS(5826),
    [anon_sym_PERCENT] = ACTIONS(5826),
    [sym_comment] = ACTIONS(256),
  },
  [7292] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5820),
    [sym__binary_star] = ACTIONS(5822),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(5826),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7018),
    [anon_sym_GT_GT] = ACTIONS(7018),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(5846),
    [anon_sym_SLASH] = ACTIONS(5826),
    [anon_sym_PERCENT] = ACTIONS(5826),
    [sym_comment] = ACTIONS(256),
  },
  [7293] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(5822),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(5826),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7018),
    [anon_sym_GT_GT] = ACTIONS(7018),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(7018),
    [anon_sym_SLASH] = ACTIONS(5826),
    [anon_sym_PERCENT] = ACTIONS(5826),
    [sym_comment] = ACTIONS(256),
  },
  [7294] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1578),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(8481),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1581),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1582),
    [sym__variable] = STATE(1540),
    [sym_reserved_identifier] = STATE(1583),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1584),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__block_ampersand] = ACTIONS(2482),
    [sym__splat_star] = ACTIONS(2484),
    [sym__unary_minus] = ACTIONS(2486),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(9962),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2488),
    [anon_sym_yield] = ACTIONS(2490),
    [anon_sym_break] = ACTIONS(2492),
    [anon_sym_next] = ACTIONS(2494),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(5814),
    [anon_sym_defined_QMARK] = ACTIONS(2504),
    [anon_sym_not] = ACTIONS(2506),
    [anon_sym_BANG] = ACTIONS(2510),
    [anon_sym_TILDE] = ACTIONS(2510),
    [sym_constant] = ACTIONS(2512),
    [sym_identifier] = ACTIONS(2512),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7295] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1578),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1540),
    [sym_call] = STATE(1540),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(8481),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1581),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1582),
    [sym__variable] = STATE(1540),
    [sym_reserved_identifier] = STATE(1583),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1584),
    [sym_subshell] = STATE(561),
    [sym_heredoc_end] = STATE(10324),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__block_ampersand] = ACTIONS(2482),
    [sym__splat_star] = ACTIONS(2484),
    [sym__unary_minus] = ACTIONS(2486),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(9962),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2488),
    [anon_sym_yield] = ACTIONS(2490),
    [anon_sym_break] = ACTIONS(2492),
    [anon_sym_next] = ACTIONS(2494),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(5814),
    [anon_sym_defined_QMARK] = ACTIONS(2504),
    [anon_sym_not] = ACTIONS(2506),
    [anon_sym_BANG] = ACTIONS(2510),
    [anon_sym_TILDE] = ACTIONS(2510),
    [sym_constant] = ACTIONS(2512),
    [sym_identifier] = ACTIONS(2512),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7296] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__line_break] = ACTIONS(6346),
    [sym__element_reference_left_bracket] = ACTIONS(6346),
    [sym__scope_double_colon] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(5820),
    [sym__binary_star] = ACTIONS(5822),
    [anon_sym_LBRACE] = ACTIONS(6346),
    [anon_sym_DOT] = ACTIONS(7328),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(5824),
    [anon_sym_SEMI] = ACTIONS(6346),
    [anon_sym_STAR_STAR] = ACTIONS(5826),
    [anon_sym_AMP] = ACTIONS(5828),
    [anon_sym_EQ] = ACTIONS(7328),
    [anon_sym_LT] = ACTIONS(5830),
    [anon_sym_do] = ACTIONS(6346),
    [anon_sym_EQ_GT] = ACTIONS(6346),
    [anon_sym_AMP_DOT] = ACTIONS(6346),
    [anon_sym_PLUS_EQ] = ACTIONS(6346),
    [anon_sym_DASH_EQ] = ACTIONS(6346),
    [anon_sym_STAR_EQ] = ACTIONS(6346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6346),
    [anon_sym_SLASH_EQ] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6346),
    [anon_sym_PIPE_EQ] = ACTIONS(6346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6346),
    [anon_sym_AMP_EQ] = ACTIONS(6346),
    [anon_sym_PERCENT_EQ] = ACTIONS(6346),
    [anon_sym_GT_GT_EQ] = ACTIONS(6346),
    [anon_sym_LT_LT_EQ] = ACTIONS(6346),
    [anon_sym_CARET_EQ] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(5832),
    [anon_sym_DOT_DOT] = ACTIONS(5834),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5836),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(5838),
    [anon_sym_AMP_AMP] = ACTIONS(5838),
    [anon_sym_LT_LT] = ACTIONS(5840),
    [anon_sym_GT_GT] = ACTIONS(5840),
    [anon_sym_EQ_EQ] = ACTIONS(5838),
    [anon_sym_BANG_EQ] = ACTIONS(5842),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5842),
    [anon_sym_LT_EQ_GT] = ACTIONS(5842),
    [anon_sym_EQ_TILDE] = ACTIONS(5842),
    [anon_sym_BANG_TILDE] = ACTIONS(5842),
    [anon_sym_LT_EQ] = ACTIONS(5830),
    [anon_sym_GT] = ACTIONS(5830),
    [anon_sym_GT_EQ] = ACTIONS(5844),
    [anon_sym_CARET] = ACTIONS(5824),
    [anon_sym_PLUS] = ACTIONS(5846),
    [anon_sym_SLASH] = ACTIONS(5826),
    [anon_sym_PERCENT] = ACTIONS(5826),
    [sym_comment] = ACTIONS(256),
  },
  [7297] = {
    [aux_sym_exceptions_repeat1] = STATE(10326),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__line_break] = ACTIONS(7330),
    [sym__element_reference_left_bracket] = ACTIONS(7330),
    [sym__scope_double_colon] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_LBRACE] = ACTIONS(7330),
    [anon_sym_DOT] = ACTIONS(7332),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_SEMI] = ACTIONS(7330),
    [anon_sym_STAR_STAR] = ACTIONS(7332),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_EQ] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_do] = ACTIONS(7330),
    [anon_sym_EQ_GT] = ACTIONS(7330),
    [anon_sym_AMP_DOT] = ACTIONS(7330),
    [anon_sym_PLUS_EQ] = ACTIONS(7330),
    [anon_sym_DASH_EQ] = ACTIONS(7330),
    [anon_sym_STAR_EQ] = ACTIONS(7330),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7330),
    [anon_sym_SLASH_EQ] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7330),
    [anon_sym_PIPE_EQ] = ACTIONS(7330),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7330),
    [anon_sym_AMP_EQ] = ACTIONS(7330),
    [anon_sym_PERCENT_EQ] = ACTIONS(7330),
    [anon_sym_GT_GT_EQ] = ACTIONS(7330),
    [anon_sym_LT_LT_EQ] = ACTIONS(7330),
    [anon_sym_CARET_EQ] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7332),
    [anon_sym_AMP_AMP] = ACTIONS(7332),
    [anon_sym_LT_LT] = ACTIONS(7332),
    [anon_sym_GT_GT] = ACTIONS(7332),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7332),
    [anon_sym_PLUS] = ACTIONS(7332),
    [anon_sym_SLASH] = ACTIONS(7332),
    [anon_sym_PERCENT] = ACTIONS(7332),
    [sym_comment] = ACTIONS(256),
  },
  [7298] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__line_break] = ACTIONS(7344),
    [sym__element_reference_left_bracket] = ACTIONS(7344),
    [sym__scope_double_colon] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(5820),
    [sym__binary_star] = ACTIONS(5822),
    [anon_sym_LBRACE] = ACTIONS(7344),
    [anon_sym_DOT] = ACTIONS(9504),
    [anon_sym_COMMA] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(5824),
    [anon_sym_SEMI] = ACTIONS(7344),
    [anon_sym_STAR_STAR] = ACTIONS(5826),
    [anon_sym_AMP] = ACTIONS(5828),
    [anon_sym_EQ] = ACTIONS(9504),
    [anon_sym_LT] = ACTIONS(5830),
    [anon_sym_do] = ACTIONS(7344),
    [anon_sym_EQ_GT] = ACTIONS(7344),
    [anon_sym_AMP_DOT] = ACTIONS(7344),
    [anon_sym_PLUS_EQ] = ACTIONS(7344),
    [anon_sym_DASH_EQ] = ACTIONS(7344),
    [anon_sym_STAR_EQ] = ACTIONS(7344),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7344),
    [anon_sym_SLASH_EQ] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7344),
    [anon_sym_PIPE_EQ] = ACTIONS(7344),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7344),
    [anon_sym_AMP_EQ] = ACTIONS(7344),
    [anon_sym_PERCENT_EQ] = ACTIONS(7344),
    [anon_sym_GT_GT_EQ] = ACTIONS(7344),
    [anon_sym_LT_LT_EQ] = ACTIONS(7344),
    [anon_sym_CARET_EQ] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(5832),
    [anon_sym_DOT_DOT] = ACTIONS(5834),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5836),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(5838),
    [anon_sym_AMP_AMP] = ACTIONS(5838),
    [anon_sym_LT_LT] = ACTIONS(5840),
    [anon_sym_GT_GT] = ACTIONS(5840),
    [anon_sym_EQ_EQ] = ACTIONS(5838),
    [anon_sym_BANG_EQ] = ACTIONS(5842),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5842),
    [anon_sym_LT_EQ_GT] = ACTIONS(5842),
    [anon_sym_EQ_TILDE] = ACTIONS(5842),
    [anon_sym_BANG_TILDE] = ACTIONS(5842),
    [anon_sym_LT_EQ] = ACTIONS(5830),
    [anon_sym_GT] = ACTIONS(5830),
    [anon_sym_GT_EQ] = ACTIONS(5844),
    [anon_sym_CARET] = ACTIONS(5824),
    [anon_sym_PLUS] = ACTIONS(5846),
    [anon_sym_SLASH] = ACTIONS(5826),
    [anon_sym_PERCENT] = ACTIONS(5826),
    [sym_comment] = ACTIONS(256),
  },
  [7299] = {
    [sym__simple_heredoc_body] = ACTIONS(8662),
    [sym__heredoc_body_beginning] = ACTIONS(8662),
    [sym__line_break] = ACTIONS(8662),
    [sym__element_reference_left_bracket] = ACTIONS(8662),
    [sym__scope_double_colon] = ACTIONS(8662),
    [sym__binary_minus] = ACTIONS(9928),
    [sym__binary_star] = ACTIONS(9930),
    [anon_sym_LBRACE] = ACTIONS(8662),
    [anon_sym_DOT] = ACTIONS(9506),
    [anon_sym_COMMA] = ACTIONS(8662),
    [anon_sym_PIPE] = ACTIONS(9932),
    [anon_sym_SEMI] = ACTIONS(8662),
    [anon_sym_STAR_STAR] = ACTIONS(9934),
    [anon_sym_AMP] = ACTIONS(9936),
    [anon_sym_EQ] = ACTIONS(9506),
    [anon_sym_LT] = ACTIONS(9938),
    [anon_sym_do] = ACTIONS(8662),
    [anon_sym_AMP_DOT] = ACTIONS(8662),
    [anon_sym_PLUS_EQ] = ACTIONS(8662),
    [anon_sym_DASH_EQ] = ACTIONS(8662),
    [anon_sym_STAR_EQ] = ACTIONS(8662),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8662),
    [anon_sym_SLASH_EQ] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8662),
    [anon_sym_PIPE_EQ] = ACTIONS(8662),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8662),
    [anon_sym_AMP_EQ] = ACTIONS(8662),
    [anon_sym_PERCENT_EQ] = ACTIONS(8662),
    [anon_sym_GT_GT_EQ] = ACTIONS(8662),
    [anon_sym_LT_LT_EQ] = ACTIONS(8662),
    [anon_sym_CARET_EQ] = ACTIONS(8662),
    [anon_sym_QMARK] = ACTIONS(9940),
    [anon_sym_DOT_DOT] = ACTIONS(9942),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9944),
    [anon_sym_and] = ACTIONS(8662),
    [anon_sym_or] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE] = ACTIONS(9946),
    [anon_sym_AMP_AMP] = ACTIONS(9946),
    [anon_sym_LT_LT] = ACTIONS(9948),
    [anon_sym_GT_GT] = ACTIONS(9948),
    [anon_sym_EQ_EQ] = ACTIONS(9946),
    [anon_sym_BANG_EQ] = ACTIONS(9950),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9950),
    [anon_sym_LT_EQ_GT] = ACTIONS(9950),
    [anon_sym_EQ_TILDE] = ACTIONS(9950),
    [anon_sym_BANG_TILDE] = ACTIONS(9950),
    [anon_sym_LT_EQ] = ACTIONS(9938),
    [anon_sym_GT] = ACTIONS(9938),
    [anon_sym_GT_EQ] = ACTIONS(9952),
    [anon_sym_CARET] = ACTIONS(9932),
    [anon_sym_PLUS] = ACTIONS(9954),
    [anon_sym_SLASH] = ACTIONS(9934),
    [anon_sym_PERCENT] = ACTIONS(9934),
    [sym_comment] = ACTIONS(256),
  },
  [7300] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__line_break] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(9966),
    [sym__binary_star] = ACTIONS(9968),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(9970),
    [anon_sym_SEMI] = ACTIONS(5338),
    [anon_sym_STAR_STAR] = ACTIONS(9972),
    [anon_sym_AMP] = ACTIONS(9974),
    [anon_sym_LT] = ACTIONS(9976),
    [anon_sym_do] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(9978),
    [anon_sym_DOT_DOT] = ACTIONS(9980),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9982),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(9984),
    [anon_sym_AMP_AMP] = ACTIONS(9984),
    [anon_sym_LT_LT] = ACTIONS(9986),
    [anon_sym_GT_GT] = ACTIONS(9986),
    [anon_sym_EQ_EQ] = ACTIONS(9988),
    [anon_sym_BANG_EQ] = ACTIONS(9984),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9984),
    [anon_sym_LT_EQ_GT] = ACTIONS(9984),
    [anon_sym_EQ_TILDE] = ACTIONS(9984),
    [anon_sym_BANG_TILDE] = ACTIONS(9984),
    [anon_sym_LT_EQ] = ACTIONS(9976),
    [anon_sym_GT] = ACTIONS(9976),
    [anon_sym_GT_EQ] = ACTIONS(9990),
    [anon_sym_CARET] = ACTIONS(9992),
    [anon_sym_PLUS] = ACTIONS(9994),
    [anon_sym_SLASH] = ACTIONS(9972),
    [anon_sym_PERCENT] = ACTIONS(9972),
    [sym_comment] = ACTIONS(110),
  },
  [7301] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(9972),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_do] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [7302] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(9972),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [7303] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(9966),
    [sym__binary_star] = ACTIONS(9968),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(9970),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(9972),
    [anon_sym_AMP] = ACTIONS(9974),
    [anon_sym_LT] = ACTIONS(9976),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(9978),
    [anon_sym_DOT_DOT] = ACTIONS(9980),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9982),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(9984),
    [anon_sym_AMP_AMP] = ACTIONS(9984),
    [anon_sym_LT_LT] = ACTIONS(9986),
    [anon_sym_GT_GT] = ACTIONS(9986),
    [anon_sym_EQ_EQ] = ACTIONS(9988),
    [anon_sym_BANG_EQ] = ACTIONS(9984),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9984),
    [anon_sym_LT_EQ_GT] = ACTIONS(9984),
    [anon_sym_EQ_TILDE] = ACTIONS(9984),
    [anon_sym_BANG_TILDE] = ACTIONS(9984),
    [anon_sym_LT_EQ] = ACTIONS(9976),
    [anon_sym_GT] = ACTIONS(9976),
    [anon_sym_GT_EQ] = ACTIONS(9990),
    [anon_sym_CARET] = ACTIONS(9992),
    [anon_sym_PLUS] = ACTIONS(9994),
    [anon_sym_SLASH] = ACTIONS(9972),
    [anon_sym_PERCENT] = ACTIONS(9972),
    [sym_comment] = ACTIONS(110),
  },
  [7304] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10327),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(4065),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4066),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5860),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5862),
    [anon_sym_defined_QMARK] = ACTIONS(5864),
    [anon_sym_not] = ACTIONS(5866),
    [anon_sym_BANG] = ACTIONS(5868),
    [anon_sym_TILDE] = ACTIONS(5868),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7305] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10328),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(4065),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4066),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5860),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5862),
    [anon_sym_defined_QMARK] = ACTIONS(5864),
    [anon_sym_not] = ACTIONS(5866),
    [anon_sym_BANG] = ACTIONS(5868),
    [anon_sym_TILDE] = ACTIONS(5868),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7306] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10329),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(4065),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4066),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5860),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5862),
    [anon_sym_defined_QMARK] = ACTIONS(5864),
    [anon_sym_not] = ACTIONS(5866),
    [anon_sym_BANG] = ACTIONS(5868),
    [anon_sym_TILDE] = ACTIONS(5868),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7307] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10330),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(4065),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4066),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5860),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5862),
    [anon_sym_defined_QMARK] = ACTIONS(5864),
    [anon_sym_not] = ACTIONS(5866),
    [anon_sym_BANG] = ACTIONS(5868),
    [anon_sym_TILDE] = ACTIONS(5868),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7308] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10331),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(4065),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4066),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5860),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5862),
    [anon_sym_defined_QMARK] = ACTIONS(5864),
    [anon_sym_not] = ACTIONS(5866),
    [anon_sym_BANG] = ACTIONS(5868),
    [anon_sym_TILDE] = ACTIONS(5868),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7309] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10332),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(4065),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4066),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5860),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5862),
    [anon_sym_defined_QMARK] = ACTIONS(5864),
    [anon_sym_not] = ACTIONS(5866),
    [anon_sym_BANG] = ACTIONS(5868),
    [anon_sym_TILDE] = ACTIONS(5868),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7310] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(10333),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [7311] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10334),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(4065),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4066),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5860),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5862),
    [anon_sym_defined_QMARK] = ACTIONS(5864),
    [anon_sym_not] = ACTIONS(5866),
    [anon_sym_BANG] = ACTIONS(5868),
    [anon_sym_TILDE] = ACTIONS(5868),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7312] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10335),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(4065),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4066),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5860),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5862),
    [anon_sym_defined_QMARK] = ACTIONS(5864),
    [anon_sym_not] = ACTIONS(5866),
    [anon_sym_BANG] = ACTIONS(5868),
    [anon_sym_TILDE] = ACTIONS(5868),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7313] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10336),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(4065),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4066),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5860),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5862),
    [anon_sym_defined_QMARK] = ACTIONS(5864),
    [anon_sym_not] = ACTIONS(5866),
    [anon_sym_BANG] = ACTIONS(5868),
    [anon_sym_TILDE] = ACTIONS(5868),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7314] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10337),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(4065),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4066),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5860),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5862),
    [anon_sym_defined_QMARK] = ACTIONS(5864),
    [anon_sym_not] = ACTIONS(5866),
    [anon_sym_BANG] = ACTIONS(5868),
    [anon_sym_TILDE] = ACTIONS(5868),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7315] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10338),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(4065),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4066),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5860),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5862),
    [anon_sym_defined_QMARK] = ACTIONS(5864),
    [anon_sym_not] = ACTIONS(5866),
    [anon_sym_BANG] = ACTIONS(5868),
    [anon_sym_TILDE] = ACTIONS(5868),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7316] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4063),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_splat_argument] = STATE(2211),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym__arg_or_splat_arg] = STATE(8497),
    [sym_left_assignment_list] = STATE(4065),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4066),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(5858),
    [sym__unary_minus] = ACTIONS(5860),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5862),
    [anon_sym_defined_QMARK] = ACTIONS(5864),
    [anon_sym_not] = ACTIONS(5866),
    [anon_sym_BANG] = ACTIONS(5868),
    [anon_sym_TILDE] = ACTIONS(5868),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7317] = {
    [sym__simple_heredoc_body] = ACTIONS(11422),
    [sym__heredoc_body_beginning] = ACTIONS(11422),
    [sym__line_break] = ACTIONS(11422),
    [sym__binary_minus] = ACTIONS(11422),
    [sym__binary_star] = ACTIONS(11422),
    [anon_sym_COMMA] = ACTIONS(13170),
    [anon_sym_PIPE] = ACTIONS(11426),
    [anon_sym_SEMI] = ACTIONS(11422),
    [anon_sym_STAR_STAR] = ACTIONS(11422),
    [anon_sym_AMP] = ACTIONS(11426),
    [anon_sym_LT] = ACTIONS(11426),
    [anon_sym_do] = ACTIONS(11422),
    [anon_sym_QMARK] = ACTIONS(11422),
    [anon_sym_DOT_DOT] = ACTIONS(11426),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11422),
    [anon_sym_and] = ACTIONS(11422),
    [anon_sym_or] = ACTIONS(11422),
    [anon_sym_PIPE_PIPE] = ACTIONS(11422),
    [anon_sym_AMP_AMP] = ACTIONS(11422),
    [anon_sym_LT_LT] = ACTIONS(11422),
    [anon_sym_GT_GT] = ACTIONS(11422),
    [anon_sym_EQ_EQ] = ACTIONS(11426),
    [anon_sym_BANG_EQ] = ACTIONS(11422),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11422),
    [anon_sym_LT_EQ_GT] = ACTIONS(11422),
    [anon_sym_EQ_TILDE] = ACTIONS(11422),
    [anon_sym_BANG_TILDE] = ACTIONS(11422),
    [anon_sym_LT_EQ] = ACTIONS(11426),
    [anon_sym_GT] = ACTIONS(11426),
    [anon_sym_GT_EQ] = ACTIONS(11422),
    [anon_sym_CARET] = ACTIONS(11422),
    [anon_sym_PLUS] = ACTIONS(11422),
    [anon_sym_SLASH] = ACTIONS(11422),
    [anon_sym_PERCENT] = ACTIONS(11422),
    [sym_comment] = ACTIONS(110),
  },
  [7318] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4063),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_splat_argument] = STATE(2211),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_right_assignment_list] = STATE(2212),
    [sym__arg_or_splat_arg] = STATE(10340),
    [sym_left_assignment_list] = STATE(4065),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4066),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(5858),
    [sym__unary_minus] = ACTIONS(5860),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5862),
    [anon_sym_defined_QMARK] = ACTIONS(5864),
    [anon_sym_not] = ACTIONS(5866),
    [anon_sym_BANG] = ACTIONS(5868),
    [anon_sym_TILDE] = ACTIONS(5868),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7319] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10341),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(375),
    [sym_call] = STATE(375),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(4065),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4066),
    [sym__variable] = STATE(375),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5860),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(642),
    [anon_sym_yield] = ACTIONS(644),
    [anon_sym_break] = ACTIONS(646),
    [anon_sym_next] = ACTIONS(648),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5862),
    [anon_sym_defined_QMARK] = ACTIONS(5864),
    [anon_sym_not] = ACTIONS(5866),
    [anon_sym_BANG] = ACTIONS(5868),
    [anon_sym_TILDE] = ACTIONS(5868),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7320] = {
    [sym__simple_heredoc_body] = ACTIONS(13172),
    [sym__heredoc_body_beginning] = ACTIONS(13172),
    [sym__line_break] = ACTIONS(13172),
    [sym__element_reference_left_bracket] = ACTIONS(13172),
    [sym__scope_double_colon] = ACTIONS(13172),
    [sym__binary_minus] = ACTIONS(13172),
    [sym__binary_star] = ACTIONS(13172),
    [ts_builtin_sym_end] = ACTIONS(13172),
    [anon_sym___END__] = ACTIONS(13172),
    [anon_sym_LBRACE] = ACTIONS(13172),
    [anon_sym_RBRACE] = ACTIONS(13172),
    [anon_sym_RPAREN] = ACTIONS(13172),
    [anon_sym_DOT] = ACTIONS(13174),
    [anon_sym_end] = ACTIONS(13172),
    [anon_sym_COMMA] = ACTIONS(13172),
    [anon_sym_PIPE] = ACTIONS(13174),
    [anon_sym_SEMI] = ACTIONS(13172),
    [anon_sym_STAR_STAR] = ACTIONS(13172),
    [anon_sym_AMP] = ACTIONS(13174),
    [anon_sym_LT] = ACTIONS(13174),
    [anon_sym_if] = ACTIONS(13172),
    [anon_sym_unless] = ACTIONS(13172),
    [anon_sym_while] = ACTIONS(13172),
    [anon_sym_until] = ACTIONS(13172),
    [anon_sym_rescue] = ACTIONS(13172),
    [anon_sym_do] = ACTIONS(13172),
    [anon_sym_when] = ACTIONS(13172),
    [anon_sym_elsif] = ACTIONS(13172),
    [anon_sym_else] = ACTIONS(13172),
    [anon_sym_then] = ACTIONS(13172),
    [anon_sym_ensure] = ACTIONS(13172),
    [anon_sym_EQ_GT] = ACTIONS(13172),
    [anon_sym_AMP_DOT] = ACTIONS(13172),
    [anon_sym_QMARK] = ACTIONS(13172),
    [anon_sym_DOT_DOT] = ACTIONS(13174),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(13172),
    [anon_sym_and] = ACTIONS(13172),
    [anon_sym_or] = ACTIONS(13172),
    [anon_sym_PIPE_PIPE] = ACTIONS(13172),
    [anon_sym_AMP_AMP] = ACTIONS(13172),
    [anon_sym_LT_LT] = ACTIONS(13172),
    [anon_sym_GT_GT] = ACTIONS(13172),
    [anon_sym_EQ_EQ] = ACTIONS(13174),
    [anon_sym_BANG_EQ] = ACTIONS(13172),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(13172),
    [anon_sym_LT_EQ_GT] = ACTIONS(13172),
    [anon_sym_EQ_TILDE] = ACTIONS(13172),
    [anon_sym_BANG_TILDE] = ACTIONS(13172),
    [anon_sym_LT_EQ] = ACTIONS(13174),
    [anon_sym_GT] = ACTIONS(13174),
    [anon_sym_GT_EQ] = ACTIONS(13172),
    [anon_sym_CARET] = ACTIONS(13172),
    [anon_sym_PLUS] = ACTIONS(13172),
    [anon_sym_SLASH] = ACTIONS(13172),
    [anon_sym_PERCENT] = ACTIONS(13172),
    [sym_comment] = ACTIONS(110),
  },
  [7321] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_LBRACE] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_STAR_STAR] = ACTIONS(10022),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_in] = ACTIONS(1372),
    [anon_sym_do] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [7322] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(10342),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(4079),
    [sym_call] = STATE(4079),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4080),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4081),
    [sym__variable] = STATE(4079),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5872),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5874),
    [anon_sym_yield] = ACTIONS(5876),
    [anon_sym_break] = ACTIONS(5878),
    [anon_sym_next] = ACTIONS(5880),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5882),
    [anon_sym_defined_QMARK] = ACTIONS(5884),
    [anon_sym_not] = ACTIONS(5886),
    [anon_sym_BANG] = ACTIONS(5888),
    [anon_sym_TILDE] = ACTIONS(5888),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [7323] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(10343),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(4079),
    [sym_call] = STATE(4079),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4080),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4081),
    [sym__variable] = STATE(4079),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5872),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5874),
    [anon_sym_yield] = ACTIONS(5876),
    [anon_sym_break] = ACTIONS(5878),
    [anon_sym_next] = ACTIONS(5880),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5882),
    [anon_sym_defined_QMARK] = ACTIONS(5884),
    [anon_sym_not] = ACTIONS(5886),
    [anon_sym_BANG] = ACTIONS(5888),
    [anon_sym_TILDE] = ACTIONS(5888),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [7324] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(10344),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(4079),
    [sym_call] = STATE(4079),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4080),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4081),
    [sym__variable] = STATE(4079),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5872),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5874),
    [anon_sym_yield] = ACTIONS(5876),
    [anon_sym_break] = ACTIONS(5878),
    [anon_sym_next] = ACTIONS(5880),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5882),
    [anon_sym_defined_QMARK] = ACTIONS(5884),
    [anon_sym_not] = ACTIONS(5886),
    [anon_sym_BANG] = ACTIONS(5888),
    [anon_sym_TILDE] = ACTIONS(5888),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [7325] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(13176),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [7326] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(5910),
    [sym__binary_star] = ACTIONS(5912),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(5914),
    [anon_sym_STAR_STAR] = ACTIONS(5916),
    [anon_sym_AMP] = ACTIONS(5918),
    [anon_sym_LT] = ACTIONS(5920),
    [anon_sym_in] = ACTIONS(2210),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(13176),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(5922),
    [anon_sym_DOT_DOT] = ACTIONS(5924),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5926),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(5930),
    [anon_sym_AMP_AMP] = ACTIONS(5930),
    [anon_sym_LT_LT] = ACTIONS(5932),
    [anon_sym_GT_GT] = ACTIONS(5932),
    [anon_sym_EQ_EQ] = ACTIONS(5934),
    [anon_sym_BANG_EQ] = ACTIONS(5930),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5930),
    [anon_sym_LT_EQ_GT] = ACTIONS(5930),
    [anon_sym_EQ_TILDE] = ACTIONS(5930),
    [anon_sym_BANG_TILDE] = ACTIONS(5930),
    [anon_sym_LT_EQ] = ACTIONS(5920),
    [anon_sym_GT] = ACTIONS(5920),
    [anon_sym_GT_EQ] = ACTIONS(5936),
    [anon_sym_CARET] = ACTIONS(5938),
    [anon_sym_PLUS] = ACTIONS(5940),
    [anon_sym_SLASH] = ACTIONS(5916),
    [anon_sym_PERCENT] = ACTIONS(5916),
    [sym_comment] = ACTIONS(110),
  },
  [7327] = {
    [sym_heredoc_end] = STATE(3004),
    [aux_sym_argument_list_repeat1] = STATE(10347),
    [aux_sym_argument_list_repeat2] = STATE(3005),
    [sym__simple_heredoc_body] = ACTIONS(4410),
    [sym__heredoc_body_beginning] = ACTIONS(4412),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(13178),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_STAR_STAR] = ACTIONS(2272),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_in] = ACTIONS(2272),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2272),
    [anon_sym_AMP_AMP] = ACTIONS(2272),
    [anon_sym_LT_LT] = ACTIONS(2272),
    [anon_sym_GT_GT] = ACTIONS(2272),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2272),
    [anon_sym_PLUS] = ACTIONS(2272),
    [anon_sym_SLASH] = ACTIONS(2272),
    [anon_sym_PERCENT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(110),
  },
  [7328] = {
    [sym__keyword_colon] = ACTIONS(13180),
    [sym_comment] = ACTIONS(110),
  },
  [7329] = {
    [sym_string] = STATE(1962),
    [aux_sym_chained_string_repeat1] = STATE(1963),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(13176),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_in] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(1626),
  },
  [7330] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(10022),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_in] = ACTIONS(2870),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [7331] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(10016),
    [sym__binary_star] = ACTIONS(10018),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(10020),
    [anon_sym_STAR_STAR] = ACTIONS(10022),
    [anon_sym_AMP] = ACTIONS(10024),
    [anon_sym_LT] = ACTIONS(10026),
    [anon_sym_in] = ACTIONS(2870),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(10028),
    [anon_sym_DOT_DOT] = ACTIONS(10030),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10032),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(10036),
    [anon_sym_AMP_AMP] = ACTIONS(10036),
    [anon_sym_LT_LT] = ACTIONS(10038),
    [anon_sym_GT_GT] = ACTIONS(10038),
    [anon_sym_EQ_EQ] = ACTIONS(10040),
    [anon_sym_BANG_EQ] = ACTIONS(10036),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10036),
    [anon_sym_LT_EQ_GT] = ACTIONS(10036),
    [anon_sym_EQ_TILDE] = ACTIONS(10036),
    [anon_sym_BANG_TILDE] = ACTIONS(10036),
    [anon_sym_LT_EQ] = ACTIONS(10026),
    [anon_sym_GT] = ACTIONS(10026),
    [anon_sym_GT_EQ] = ACTIONS(10042),
    [anon_sym_CARET] = ACTIONS(10044),
    [anon_sym_PLUS] = ACTIONS(10046),
    [anon_sym_SLASH] = ACTIONS(10022),
    [anon_sym_PERCENT] = ACTIONS(10022),
    [sym_comment] = ACTIONS(110),
  },
  [7332] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(10349),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(4079),
    [sym_call] = STATE(4079),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4080),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4081),
    [sym__variable] = STATE(4079),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5872),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5874),
    [anon_sym_yield] = ACTIONS(5876),
    [anon_sym_break] = ACTIONS(5878),
    [anon_sym_next] = ACTIONS(5880),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5882),
    [anon_sym_defined_QMARK] = ACTIONS(5884),
    [anon_sym_not] = ACTIONS(5886),
    [anon_sym_BANG] = ACTIONS(5888),
    [anon_sym_TILDE] = ACTIONS(5888),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [7333] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(10350),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(4079),
    [sym_call] = STATE(4079),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4080),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4081),
    [sym__variable] = STATE(4079),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5872),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5874),
    [anon_sym_yield] = ACTIONS(5876),
    [anon_sym_break] = ACTIONS(5878),
    [anon_sym_next] = ACTIONS(5880),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5882),
    [anon_sym_defined_QMARK] = ACTIONS(5884),
    [anon_sym_not] = ACTIONS(5886),
    [anon_sym_BANG] = ACTIONS(5888),
    [anon_sym_TILDE] = ACTIONS(5888),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [7334] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(10351),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(4079),
    [sym_call] = STATE(4079),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4080),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4081),
    [sym__variable] = STATE(4079),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5872),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5874),
    [anon_sym_yield] = ACTIONS(5876),
    [anon_sym_break] = ACTIONS(5878),
    [anon_sym_next] = ACTIONS(5880),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5882),
    [anon_sym_defined_QMARK] = ACTIONS(5884),
    [anon_sym_not] = ACTIONS(5886),
    [anon_sym_BANG] = ACTIONS(5888),
    [anon_sym_TILDE] = ACTIONS(5888),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [7335] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(10352),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(4079),
    [sym_call] = STATE(4079),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4080),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4081),
    [sym__variable] = STATE(4079),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5872),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5874),
    [anon_sym_yield] = ACTIONS(5876),
    [anon_sym_break] = ACTIONS(5878),
    [anon_sym_next] = ACTIONS(5880),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5882),
    [anon_sym_defined_QMARK] = ACTIONS(5884),
    [anon_sym_not] = ACTIONS(5886),
    [anon_sym_BANG] = ACTIONS(5888),
    [anon_sym_TILDE] = ACTIONS(5888),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [7336] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(10353),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(4079),
    [sym_call] = STATE(4079),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4080),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4081),
    [sym__variable] = STATE(4079),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5872),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5874),
    [anon_sym_yield] = ACTIONS(5876),
    [anon_sym_break] = ACTIONS(5878),
    [anon_sym_next] = ACTIONS(5880),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5882),
    [anon_sym_defined_QMARK] = ACTIONS(5884),
    [anon_sym_not] = ACTIONS(5886),
    [anon_sym_BANG] = ACTIONS(5888),
    [anon_sym_TILDE] = ACTIONS(5888),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [7337] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(10354),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(4079),
    [sym_call] = STATE(4079),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4080),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4081),
    [sym__variable] = STATE(4079),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5872),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5874),
    [anon_sym_yield] = ACTIONS(5876),
    [anon_sym_break] = ACTIONS(5878),
    [anon_sym_next] = ACTIONS(5880),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5882),
    [anon_sym_defined_QMARK] = ACTIONS(5884),
    [anon_sym_not] = ACTIONS(5886),
    [anon_sym_BANG] = ACTIONS(5888),
    [anon_sym_TILDE] = ACTIONS(5888),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [7338] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(10355),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [7339] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(10356),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(4079),
    [sym_call] = STATE(4079),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4080),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4081),
    [sym__variable] = STATE(4079),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5872),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5874),
    [anon_sym_yield] = ACTIONS(5876),
    [anon_sym_break] = ACTIONS(5878),
    [anon_sym_next] = ACTIONS(5880),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5882),
    [anon_sym_defined_QMARK] = ACTIONS(5884),
    [anon_sym_not] = ACTIONS(5886),
    [anon_sym_BANG] = ACTIONS(5888),
    [anon_sym_TILDE] = ACTIONS(5888),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [7340] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(10357),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(4079),
    [sym_call] = STATE(4079),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4080),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4081),
    [sym__variable] = STATE(4079),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5872),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5874),
    [anon_sym_yield] = ACTIONS(5876),
    [anon_sym_break] = ACTIONS(5878),
    [anon_sym_next] = ACTIONS(5880),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5882),
    [anon_sym_defined_QMARK] = ACTIONS(5884),
    [anon_sym_not] = ACTIONS(5886),
    [anon_sym_BANG] = ACTIONS(5888),
    [anon_sym_TILDE] = ACTIONS(5888),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [7341] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(10358),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(4079),
    [sym_call] = STATE(4079),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4080),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4081),
    [sym__variable] = STATE(4079),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5872),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5874),
    [anon_sym_yield] = ACTIONS(5876),
    [anon_sym_break] = ACTIONS(5878),
    [anon_sym_next] = ACTIONS(5880),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5882),
    [anon_sym_defined_QMARK] = ACTIONS(5884),
    [anon_sym_not] = ACTIONS(5886),
    [anon_sym_BANG] = ACTIONS(5888),
    [anon_sym_TILDE] = ACTIONS(5888),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [7342] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(10359),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(4079),
    [sym_call] = STATE(4079),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4080),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4081),
    [sym__variable] = STATE(4079),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5872),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5874),
    [anon_sym_yield] = ACTIONS(5876),
    [anon_sym_break] = ACTIONS(5878),
    [anon_sym_next] = ACTIONS(5880),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5882),
    [anon_sym_defined_QMARK] = ACTIONS(5884),
    [anon_sym_not] = ACTIONS(5886),
    [anon_sym_BANG] = ACTIONS(5888),
    [anon_sym_TILDE] = ACTIONS(5888),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [7343] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(10360),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(4079),
    [sym_call] = STATE(4079),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4080),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4081),
    [sym__variable] = STATE(4079),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5872),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5874),
    [anon_sym_yield] = ACTIONS(5876),
    [anon_sym_break] = ACTIONS(5878),
    [anon_sym_next] = ACTIONS(5880),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5882),
    [anon_sym_defined_QMARK] = ACTIONS(5884),
    [anon_sym_not] = ACTIONS(5886),
    [anon_sym_BANG] = ACTIONS(5888),
    [anon_sym_TILDE] = ACTIONS(5888),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [7344] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(10369),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(4079),
    [sym_call] = STATE(4079),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(10370),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(10371),
    [sym__variable] = STATE(4079),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(13182),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(13184),
    [anon_sym_yield] = ACTIONS(13186),
    [anon_sym_break] = ACTIONS(13188),
    [anon_sym_next] = ACTIONS(13190),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(13192),
    [anon_sym_defined_QMARK] = ACTIONS(13194),
    [anon_sym_not] = ACTIONS(13196),
    [anon_sym_BANG] = ACTIONS(13198),
    [anon_sym_TILDE] = ACTIONS(13198),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [7345] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(10372),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(4079),
    [sym_call] = STATE(4079),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(10370),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(10371),
    [sym__variable] = STATE(4079),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(13182),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(13184),
    [anon_sym_yield] = ACTIONS(13186),
    [anon_sym_break] = ACTIONS(13188),
    [anon_sym_next] = ACTIONS(13190),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(13192),
    [anon_sym_defined_QMARK] = ACTIONS(13194),
    [anon_sym_not] = ACTIONS(13196),
    [anon_sym_BANG] = ACTIONS(13198),
    [anon_sym_TILDE] = ACTIONS(13198),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [7346] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(10373),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(4079),
    [sym_call] = STATE(4079),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(10370),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(10371),
    [sym__variable] = STATE(4079),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(13182),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(13184),
    [anon_sym_yield] = ACTIONS(13186),
    [anon_sym_break] = ACTIONS(13188),
    [anon_sym_next] = ACTIONS(13190),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(13192),
    [anon_sym_defined_QMARK] = ACTIONS(13194),
    [anon_sym_not] = ACTIONS(13196),
    [anon_sym_BANG] = ACTIONS(13198),
    [anon_sym_TILDE] = ACTIONS(13198),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [7347] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(13200),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [7348] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(10080),
    [sym__binary_star] = ACTIONS(10082),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(10084),
    [anon_sym_STAR_STAR] = ACTIONS(10086),
    [anon_sym_AMP] = ACTIONS(10088),
    [anon_sym_EQ] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(10090),
    [anon_sym_in] = ACTIONS(2210),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(13200),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_PLUS_EQ] = ACTIONS(2210),
    [anon_sym_DASH_EQ] = ACTIONS(2210),
    [anon_sym_STAR_EQ] = ACTIONS(2210),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2210),
    [anon_sym_SLASH_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2210),
    [anon_sym_AMP_EQ] = ACTIONS(2210),
    [anon_sym_PERCENT_EQ] = ACTIONS(2210),
    [anon_sym_GT_GT_EQ] = ACTIONS(2210),
    [anon_sym_LT_LT_EQ] = ACTIONS(2210),
    [anon_sym_CARET_EQ] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(10092),
    [anon_sym_DOT_DOT] = ACTIONS(10094),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10096),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(10098),
    [anon_sym_AMP_AMP] = ACTIONS(10098),
    [anon_sym_LT_LT] = ACTIONS(10100),
    [anon_sym_GT_GT] = ACTIONS(10100),
    [anon_sym_EQ_EQ] = ACTIONS(10098),
    [anon_sym_BANG_EQ] = ACTIONS(10102),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10102),
    [anon_sym_LT_EQ_GT] = ACTIONS(10102),
    [anon_sym_EQ_TILDE] = ACTIONS(10102),
    [anon_sym_BANG_TILDE] = ACTIONS(10102),
    [anon_sym_LT_EQ] = ACTIONS(10090),
    [anon_sym_GT] = ACTIONS(10090),
    [anon_sym_GT_EQ] = ACTIONS(10104),
    [anon_sym_CARET] = ACTIONS(10084),
    [anon_sym_PLUS] = ACTIONS(10106),
    [anon_sym_SLASH] = ACTIONS(10086),
    [anon_sym_PERCENT] = ACTIONS(10086),
    [sym_comment] = ACTIONS(256),
  },
  [7349] = {
    [sym_heredoc_end] = STATE(6092),
    [aux_sym_argument_list_repeat1] = STATE(10376),
    [aux_sym_argument_list_repeat2] = STATE(6093),
    [sym__simple_heredoc_body] = ACTIONS(8530),
    [sym__heredoc_body_beginning] = ACTIONS(8532),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(13202),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_STAR_STAR] = ACTIONS(2274),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_EQ] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_in] = ACTIONS(2272),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_PLUS_EQ] = ACTIONS(2272),
    [anon_sym_DASH_EQ] = ACTIONS(2272),
    [anon_sym_STAR_EQ] = ACTIONS(2272),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2272),
    [anon_sym_SLASH_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2272),
    [anon_sym_AMP_EQ] = ACTIONS(2272),
    [anon_sym_PERCENT_EQ] = ACTIONS(2272),
    [anon_sym_GT_GT_EQ] = ACTIONS(2272),
    [anon_sym_LT_LT_EQ] = ACTIONS(2272),
    [anon_sym_CARET_EQ] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2274),
    [anon_sym_AMP_AMP] = ACTIONS(2274),
    [anon_sym_LT_LT] = ACTIONS(2274),
    [anon_sym_GT_GT] = ACTIONS(2274),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2274),
    [anon_sym_PLUS] = ACTIONS(2274),
    [anon_sym_SLASH] = ACTIONS(2274),
    [anon_sym_PERCENT] = ACTIONS(2274),
    [sym_comment] = ACTIONS(256),
  },
  [7350] = {
    [sym__keyword_colon] = ACTIONS(13204),
    [sym_comment] = ACTIONS(110),
  },
  [7351] = {
    [sym_string] = STATE(3160),
    [aux_sym_chained_string_repeat1] = STATE(3161),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(13200),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_in] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(4490),
  },
  [7352] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(10378),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(4079),
    [sym_call] = STATE(4079),
    [sym_method_call] = STATE(976),
    [sym_splat_argument] = STATE(6132),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_right_assignment_list] = STATE(6133),
    [sym__arg_or_splat_arg] = STATE(10379),
    [sym_left_assignment_list] = STATE(4080),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4081),
    [sym__variable] = STATE(4079),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__splat_star] = ACTIONS(10012),
    [sym__unary_minus] = ACTIONS(5872),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5874),
    [anon_sym_yield] = ACTIONS(5876),
    [anon_sym_break] = ACTIONS(5878),
    [anon_sym_next] = ACTIONS(5880),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5882),
    [anon_sym_defined_QMARK] = ACTIONS(5884),
    [anon_sym_not] = ACTIONS(5886),
    [anon_sym_BANG] = ACTIONS(5888),
    [anon_sym_TILDE] = ACTIONS(5888),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [7353] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(10380),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(4079),
    [sym_call] = STATE(4079),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4080),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4081),
    [sym__variable] = STATE(4079),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5872),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5874),
    [anon_sym_yield] = ACTIONS(5876),
    [anon_sym_break] = ACTIONS(5878),
    [anon_sym_next] = ACTIONS(5880),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5882),
    [anon_sym_defined_QMARK] = ACTIONS(5884),
    [anon_sym_not] = ACTIONS(5886),
    [anon_sym_BANG] = ACTIONS(5888),
    [anon_sym_TILDE] = ACTIONS(5888),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [7354] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(5910),
    [sym__binary_star] = ACTIONS(5912),
    [anon_sym_LBRACE] = ACTIONS(5298),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(5914),
    [anon_sym_STAR_STAR] = ACTIONS(5916),
    [anon_sym_AMP] = ACTIONS(5918),
    [anon_sym_LT] = ACTIONS(5920),
    [anon_sym_in] = ACTIONS(5298),
    [anon_sym_do] = ACTIONS(5298),
    [anon_sym_EQ_GT] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(5922),
    [anon_sym_DOT_DOT] = ACTIONS(5924),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5926),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(5930),
    [anon_sym_AMP_AMP] = ACTIONS(5930),
    [anon_sym_LT_LT] = ACTIONS(5932),
    [anon_sym_GT_GT] = ACTIONS(5932),
    [anon_sym_EQ_EQ] = ACTIONS(5934),
    [anon_sym_BANG_EQ] = ACTIONS(5930),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5930),
    [anon_sym_LT_EQ_GT] = ACTIONS(5930),
    [anon_sym_EQ_TILDE] = ACTIONS(5930),
    [anon_sym_BANG_TILDE] = ACTIONS(5930),
    [anon_sym_LT_EQ] = ACTIONS(5920),
    [anon_sym_GT] = ACTIONS(5920),
    [anon_sym_GT_EQ] = ACTIONS(5936),
    [anon_sym_CARET] = ACTIONS(5938),
    [anon_sym_PLUS] = ACTIONS(5940),
    [anon_sym_SLASH] = ACTIONS(5916),
    [anon_sym_PERCENT] = ACTIONS(5916),
    [sym_comment] = ACTIONS(110),
  },
  [7355] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(5910),
    [sym__binary_star] = ACTIONS(5912),
    [anon_sym_LBRACE] = ACTIONS(5338),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(5914),
    [anon_sym_STAR_STAR] = ACTIONS(5916),
    [anon_sym_AMP] = ACTIONS(5918),
    [anon_sym_LT] = ACTIONS(5920),
    [anon_sym_in] = ACTIONS(5338),
    [anon_sym_do] = ACTIONS(5338),
    [anon_sym_EQ_GT] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(5922),
    [anon_sym_DOT_DOT] = ACTIONS(5924),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5926),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(5930),
    [anon_sym_AMP_AMP] = ACTIONS(5930),
    [anon_sym_LT_LT] = ACTIONS(5932),
    [anon_sym_GT_GT] = ACTIONS(5932),
    [anon_sym_EQ_EQ] = ACTIONS(5934),
    [anon_sym_BANG_EQ] = ACTIONS(5930),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5930),
    [anon_sym_LT_EQ_GT] = ACTIONS(5930),
    [anon_sym_EQ_TILDE] = ACTIONS(5930),
    [anon_sym_BANG_TILDE] = ACTIONS(5930),
    [anon_sym_LT_EQ] = ACTIONS(5920),
    [anon_sym_GT] = ACTIONS(5920),
    [anon_sym_GT_EQ] = ACTIONS(5936),
    [anon_sym_CARET] = ACTIONS(5938),
    [anon_sym_PLUS] = ACTIONS(5940),
    [anon_sym_SLASH] = ACTIONS(5916),
    [anon_sym_PERCENT] = ACTIONS(5916),
    [sym_comment] = ACTIONS(110),
  },
  [7356] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(5910),
    [sym__binary_star] = ACTIONS(5912),
    [anon_sym_LBRACE] = ACTIONS(4284),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(5914),
    [anon_sym_STAR_STAR] = ACTIONS(5916),
    [anon_sym_AMP] = ACTIONS(5918),
    [anon_sym_LT] = ACTIONS(5920),
    [anon_sym_in] = ACTIONS(4284),
    [anon_sym_do] = ACTIONS(4284),
    [anon_sym_EQ_GT] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(5922),
    [anon_sym_DOT_DOT] = ACTIONS(5924),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5926),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(5930),
    [anon_sym_AMP_AMP] = ACTIONS(5930),
    [anon_sym_LT_LT] = ACTIONS(5932),
    [anon_sym_GT_GT] = ACTIONS(5932),
    [anon_sym_EQ_EQ] = ACTIONS(5934),
    [anon_sym_BANG_EQ] = ACTIONS(5930),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5930),
    [anon_sym_LT_EQ_GT] = ACTIONS(5930),
    [anon_sym_EQ_TILDE] = ACTIONS(5930),
    [anon_sym_BANG_TILDE] = ACTIONS(5930),
    [anon_sym_LT_EQ] = ACTIONS(5920),
    [anon_sym_GT] = ACTIONS(5920),
    [anon_sym_GT_EQ] = ACTIONS(5936),
    [anon_sym_CARET] = ACTIONS(5938),
    [anon_sym_PLUS] = ACTIONS(5940),
    [anon_sym_SLASH] = ACTIONS(5916),
    [anon_sym_PERCENT] = ACTIONS(5916),
    [sym_comment] = ACTIONS(110),
  },
  [7357] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(10381),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1605),
    [sym__variable] = STATE(1602),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2526),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5890),
    [anon_sym_yield] = ACTIONS(5892),
    [anon_sym_break] = ACTIONS(5894),
    [anon_sym_next] = ACTIONS(5896),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2538),
    [anon_sym_defined_QMARK] = ACTIONS(2540),
    [anon_sym_not] = ACTIONS(5898),
    [anon_sym_BANG] = ACTIONS(2544),
    [anon_sym_TILDE] = ACTIONS(2544),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [7358] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(4093),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(6127),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1605),
    [sym__variable] = STATE(1602),
    [sym_reserved_identifier] = STATE(4095),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(4096),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(10382),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(5900),
    [sym__splat_star] = ACTIONS(5902),
    [sym__unary_minus] = ACTIONS(2526),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(13206),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2530),
    [anon_sym_yield] = ACTIONS(2532),
    [anon_sym_break] = ACTIONS(2534),
    [anon_sym_next] = ACTIONS(2536),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2538),
    [anon_sym_defined_QMARK] = ACTIONS(2540),
    [anon_sym_not] = ACTIONS(2542),
    [anon_sym_BANG] = ACTIONS(2544),
    [anon_sym_TILDE] = ACTIONS(2544),
    [sym_constant] = ACTIONS(5906),
    [sym_identifier] = ACTIONS(5906),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [7359] = {
    [sym_heredoc_end] = STATE(3004),
    [aux_sym_argument_list_repeat2] = STATE(6130),
    [sym__simple_heredoc_body] = ACTIONS(4410),
    [sym__heredoc_body_beginning] = ACTIONS(4412),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_LBRACE] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(13208),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_STAR_STAR] = ACTIONS(5472),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_in] = ACTIONS(5472),
    [anon_sym_do] = ACTIONS(5472),
    [anon_sym_EQ_GT] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5472),
    [anon_sym_AMP_AMP] = ACTIONS(5472),
    [anon_sym_LT_LT] = ACTIONS(5472),
    [anon_sym_GT_GT] = ACTIONS(5472),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5472),
    [anon_sym_PLUS] = ACTIONS(5472),
    [anon_sym_SLASH] = ACTIONS(5472),
    [anon_sym_PERCENT] = ACTIONS(5472),
    [sym_comment] = ACTIONS(110),
  },
  [7360] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(10384),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1605),
    [sym__variable] = STATE(1602),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2526),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5890),
    [anon_sym_yield] = ACTIONS(5892),
    [anon_sym_break] = ACTIONS(5894),
    [anon_sym_next] = ACTIONS(5896),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2538),
    [anon_sym_defined_QMARK] = ACTIONS(2540),
    [anon_sym_not] = ACTIONS(5898),
    [anon_sym_BANG] = ACTIONS(2544),
    [anon_sym_TILDE] = ACTIONS(2544),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [7361] = {
    [sym__simple_heredoc_body] = ACTIONS(8568),
    [sym__heredoc_body_beginning] = ACTIONS(8568),
    [sym__element_reference_left_bracket] = ACTIONS(8568),
    [sym__scope_double_colon] = ACTIONS(8568),
    [sym__binary_minus] = ACTIONS(10016),
    [sym__binary_star] = ACTIONS(10018),
    [anon_sym_LBRACE] = ACTIONS(8568),
    [anon_sym_DOT] = ACTIONS(9468),
    [anon_sym_COMMA] = ACTIONS(8568),
    [anon_sym_PIPE] = ACTIONS(10020),
    [anon_sym_STAR_STAR] = ACTIONS(10022),
    [anon_sym_AMP] = ACTIONS(10024),
    [anon_sym_LT] = ACTIONS(10026),
    [anon_sym_in] = ACTIONS(8568),
    [anon_sym_do] = ACTIONS(8568),
    [anon_sym_AMP_DOT] = ACTIONS(8568),
    [anon_sym_QMARK] = ACTIONS(10028),
    [anon_sym_DOT_DOT] = ACTIONS(10030),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10032),
    [anon_sym_and] = ACTIONS(10034),
    [anon_sym_or] = ACTIONS(10034),
    [anon_sym_PIPE_PIPE] = ACTIONS(10036),
    [anon_sym_AMP_AMP] = ACTIONS(10036),
    [anon_sym_LT_LT] = ACTIONS(10038),
    [anon_sym_GT_GT] = ACTIONS(10038),
    [anon_sym_EQ_EQ] = ACTIONS(10040),
    [anon_sym_BANG_EQ] = ACTIONS(10036),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10036),
    [anon_sym_LT_EQ_GT] = ACTIONS(10036),
    [anon_sym_EQ_TILDE] = ACTIONS(10036),
    [anon_sym_BANG_TILDE] = ACTIONS(10036),
    [anon_sym_LT_EQ] = ACTIONS(10026),
    [anon_sym_GT] = ACTIONS(10026),
    [anon_sym_GT_EQ] = ACTIONS(10042),
    [anon_sym_CARET] = ACTIONS(10044),
    [anon_sym_PLUS] = ACTIONS(10046),
    [anon_sym_SLASH] = ACTIONS(10022),
    [anon_sym_PERCENT] = ACTIONS(10022),
    [sym_comment] = ACTIONS(110),
  },
  [7362] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__element_reference_left_bracket] = ACTIONS(7008),
    [sym__scope_double_colon] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(5912),
    [anon_sym_LBRACE] = ACTIONS(7008),
    [anon_sym_DOT] = ACTIONS(7010),
    [anon_sym_COMMA] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_STAR_STAR] = ACTIONS(5916),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_in] = ACTIONS(7008),
    [anon_sym_do] = ACTIONS(7008),
    [anon_sym_EQ_GT] = ACTIONS(7008),
    [anon_sym_AMP_DOT] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7008),
    [anon_sym_AMP_AMP] = ACTIONS(7008),
    [anon_sym_LT_LT] = ACTIONS(7008),
    [anon_sym_GT_GT] = ACTIONS(7008),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7008),
    [anon_sym_PLUS] = ACTIONS(7008),
    [anon_sym_SLASH] = ACTIONS(5916),
    [anon_sym_PERCENT] = ACTIONS(5916),
    [sym_comment] = ACTIONS(110),
  },
  [7363] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__element_reference_left_bracket] = ACTIONS(7012),
    [sym__scope_double_colon] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_LBRACE] = ACTIONS(7012),
    [anon_sym_DOT] = ACTIONS(7014),
    [anon_sym_COMMA] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_STAR_STAR] = ACTIONS(5916),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_in] = ACTIONS(7012),
    [anon_sym_do] = ACTIONS(7012),
    [anon_sym_EQ_GT] = ACTIONS(7012),
    [anon_sym_AMP_DOT] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7012),
    [anon_sym_AMP_AMP] = ACTIONS(7012),
    [anon_sym_LT_LT] = ACTIONS(7012),
    [anon_sym_GT_GT] = ACTIONS(7012),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7012),
    [anon_sym_PLUS] = ACTIONS(7012),
    [anon_sym_SLASH] = ACTIONS(7012),
    [anon_sym_PERCENT] = ACTIONS(7012),
    [sym_comment] = ACTIONS(110),
  },
  [7364] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5910),
    [sym__binary_star] = ACTIONS(5912),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(5916),
    [anon_sym_AMP] = ACTIONS(5918),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_in] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(5932),
    [anon_sym_GT_GT] = ACTIONS(5932),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(5940),
    [anon_sym_SLASH] = ACTIONS(5916),
    [anon_sym_PERCENT] = ACTIONS(5916),
    [sym_comment] = ACTIONS(110),
  },
  [7365] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(5916),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_in] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7016),
    [anon_sym_PERCENT] = ACTIONS(7016),
    [sym_comment] = ACTIONS(110),
  },
  [7366] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5910),
    [sym__binary_star] = ACTIONS(5912),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(5916),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_in] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(5932),
    [anon_sym_GT_GT] = ACTIONS(5932),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(5940),
    [anon_sym_SLASH] = ACTIONS(5916),
    [anon_sym_PERCENT] = ACTIONS(5916),
    [sym_comment] = ACTIONS(110),
  },
  [7367] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5910),
    [sym__binary_star] = ACTIONS(5912),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(5914),
    [anon_sym_STAR_STAR] = ACTIONS(5916),
    [anon_sym_AMP] = ACTIONS(5918),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_in] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(5932),
    [anon_sym_GT_GT] = ACTIONS(5932),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(5938),
    [anon_sym_PLUS] = ACTIONS(5940),
    [anon_sym_SLASH] = ACTIONS(5916),
    [anon_sym_PERCENT] = ACTIONS(5916),
    [sym_comment] = ACTIONS(110),
  },
  [7368] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(13210),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [7369] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__element_reference_left_bracket] = ACTIONS(7108),
    [sym__scope_double_colon] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(5910),
    [sym__binary_star] = ACTIONS(5912),
    [anon_sym_LBRACE] = ACTIONS(7108),
    [anon_sym_DOT] = ACTIONS(9472),
    [anon_sym_COMMA] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(5914),
    [anon_sym_STAR_STAR] = ACTIONS(5916),
    [anon_sym_AMP] = ACTIONS(5918),
    [anon_sym_LT] = ACTIONS(5920),
    [anon_sym_in] = ACTIONS(7108),
    [anon_sym_do] = ACTIONS(7108),
    [anon_sym_EQ_GT] = ACTIONS(7108),
    [anon_sym_AMP_DOT] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(5924),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5926),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(5930),
    [anon_sym_AMP_AMP] = ACTIONS(5930),
    [anon_sym_LT_LT] = ACTIONS(5932),
    [anon_sym_GT_GT] = ACTIONS(5932),
    [anon_sym_EQ_EQ] = ACTIONS(5934),
    [anon_sym_BANG_EQ] = ACTIONS(5930),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5930),
    [anon_sym_LT_EQ_GT] = ACTIONS(5930),
    [anon_sym_EQ_TILDE] = ACTIONS(5930),
    [anon_sym_BANG_TILDE] = ACTIONS(5930),
    [anon_sym_LT_EQ] = ACTIONS(5920),
    [anon_sym_GT] = ACTIONS(5920),
    [anon_sym_GT_EQ] = ACTIONS(5936),
    [anon_sym_CARET] = ACTIONS(5938),
    [anon_sym_PLUS] = ACTIONS(5940),
    [anon_sym_SLASH] = ACTIONS(5916),
    [anon_sym_PERCENT] = ACTIONS(5916),
    [sym_comment] = ACTIONS(110),
  },
  [7370] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5910),
    [sym__binary_star] = ACTIONS(5912),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(5914),
    [anon_sym_STAR_STAR] = ACTIONS(5916),
    [anon_sym_AMP] = ACTIONS(5918),
    [anon_sym_LT] = ACTIONS(5920),
    [anon_sym_in] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(5922),
    [anon_sym_DOT_DOT] = ACTIONS(5924),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5926),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(5930),
    [anon_sym_AMP_AMP] = ACTIONS(5930),
    [anon_sym_LT_LT] = ACTIONS(5932),
    [anon_sym_GT_GT] = ACTIONS(5932),
    [anon_sym_EQ_EQ] = ACTIONS(5934),
    [anon_sym_BANG_EQ] = ACTIONS(5930),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5930),
    [anon_sym_LT_EQ_GT] = ACTIONS(5930),
    [anon_sym_EQ_TILDE] = ACTIONS(5930),
    [anon_sym_BANG_TILDE] = ACTIONS(5930),
    [anon_sym_LT_EQ] = ACTIONS(5920),
    [anon_sym_GT] = ACTIONS(5920),
    [anon_sym_GT_EQ] = ACTIONS(5936),
    [anon_sym_CARET] = ACTIONS(5938),
    [anon_sym_PLUS] = ACTIONS(5940),
    [anon_sym_SLASH] = ACTIONS(5916),
    [anon_sym_PERCENT] = ACTIONS(5916),
    [sym_comment] = ACTIONS(110),
  },
  [7371] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5910),
    [sym__binary_star] = ACTIONS(5912),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(5914),
    [anon_sym_STAR_STAR] = ACTIONS(5916),
    [anon_sym_AMP] = ACTIONS(5918),
    [anon_sym_LT] = ACTIONS(5920),
    [anon_sym_in] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(5932),
    [anon_sym_GT_GT] = ACTIONS(5932),
    [anon_sym_EQ_EQ] = ACTIONS(5934),
    [anon_sym_BANG_EQ] = ACTIONS(5930),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5930),
    [anon_sym_LT_EQ_GT] = ACTIONS(5930),
    [anon_sym_EQ_TILDE] = ACTIONS(5930),
    [anon_sym_BANG_TILDE] = ACTIONS(5930),
    [anon_sym_LT_EQ] = ACTIONS(5920),
    [anon_sym_GT] = ACTIONS(5920),
    [anon_sym_GT_EQ] = ACTIONS(5936),
    [anon_sym_CARET] = ACTIONS(5938),
    [anon_sym_PLUS] = ACTIONS(5940),
    [anon_sym_SLASH] = ACTIONS(5916),
    [anon_sym_PERCENT] = ACTIONS(5916),
    [sym_comment] = ACTIONS(110),
  },
  [7372] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(5910),
    [sym__binary_star] = ACTIONS(5912),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(5916),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_in] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(5940),
    [anon_sym_SLASH] = ACTIONS(5916),
    [anon_sym_PERCENT] = ACTIONS(5916),
    [sym_comment] = ACTIONS(110),
  },
  [7373] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(5912),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(5916),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_in] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(5916),
    [anon_sym_PERCENT] = ACTIONS(5916),
    [sym_comment] = ACTIONS(110),
  },
  [7374] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(4125),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(3104),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(4126),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4127),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4128),
    [sym__variable] = STATE(1602),
    [sym_reserved_identifier] = STATE(4129),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(4130),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(5942),
    [sym__splat_star] = ACTIONS(5944),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(5946),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(544),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(5948),
    [anon_sym_yield] = ACTIONS(5950),
    [anon_sym_break] = ACTIONS(5952),
    [anon_sym_next] = ACTIONS(5954),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(544),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_PLUS_EQ] = ACTIONS(532),
    [anon_sym_DASH_EQ] = ACTIONS(532),
    [anon_sym_STAR_EQ] = ACTIONS(532),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(532),
    [anon_sym_SLASH_EQ] = ACTIONS(532),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(532),
    [anon_sym_PIPE_EQ] = ACTIONS(532),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(532),
    [anon_sym_AMP_EQ] = ACTIONS(532),
    [anon_sym_PERCENT_EQ] = ACTIONS(532),
    [anon_sym_GT_GT_EQ] = ACTIONS(532),
    [anon_sym_LT_LT_EQ] = ACTIONS(532),
    [anon_sym_CARET_EQ] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(544),
    [anon_sym_AMP_AMP] = ACTIONS(544),
    [anon_sym_LT_LT] = ACTIONS(544),
    [anon_sym_GT_GT] = ACTIONS(544),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(544),
    [anon_sym_PERCENT] = ACTIONS(544),
    [anon_sym_defined_QMARK] = ACTIONS(5956),
    [anon_sym_not] = ACTIONS(5958),
    [anon_sym_BANG] = ACTIONS(5960),
    [anon_sym_TILDE] = ACTIONS(5962),
    [sym_constant] = ACTIONS(5964),
    [sym_identifier] = ACTIONS(5964),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [7375] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(4125),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(3105),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(4126),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4127),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4128),
    [sym__variable] = STATE(1602),
    [sym_reserved_identifier] = STATE(4129),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(4130),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(5942),
    [sym__splat_star] = ACTIONS(5944),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(5946),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(604),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(5948),
    [anon_sym_yield] = ACTIONS(5950),
    [anon_sym_break] = ACTIONS(5952),
    [anon_sym_next] = ACTIONS(5954),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(604),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_PLUS_EQ] = ACTIONS(602),
    [anon_sym_DASH_EQ] = ACTIONS(602),
    [anon_sym_STAR_EQ] = ACTIONS(602),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(602),
    [anon_sym_SLASH_EQ] = ACTIONS(602),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(602),
    [anon_sym_PIPE_EQ] = ACTIONS(602),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(602),
    [anon_sym_AMP_EQ] = ACTIONS(602),
    [anon_sym_PERCENT_EQ] = ACTIONS(602),
    [anon_sym_GT_GT_EQ] = ACTIONS(602),
    [anon_sym_LT_LT_EQ] = ACTIONS(602),
    [anon_sym_CARET_EQ] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(604),
    [anon_sym_AMP_AMP] = ACTIONS(604),
    [anon_sym_LT_LT] = ACTIONS(604),
    [anon_sym_GT_GT] = ACTIONS(604),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(604),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(604),
    [anon_sym_PERCENT] = ACTIONS(604),
    [anon_sym_defined_QMARK] = ACTIONS(5956),
    [anon_sym_not] = ACTIONS(5958),
    [anon_sym_BANG] = ACTIONS(5960),
    [anon_sym_TILDE] = ACTIONS(5962),
    [sym_constant] = ACTIONS(5964),
    [sym_identifier] = ACTIONS(5964),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [7376] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(4125),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(3106),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(4126),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4127),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4128),
    [sym__variable] = STATE(1602),
    [sym_reserved_identifier] = STATE(4129),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(4130),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(5942),
    [sym__splat_star] = ACTIONS(5944),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(5946),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(608),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(5948),
    [anon_sym_yield] = ACTIONS(5950),
    [anon_sym_break] = ACTIONS(5952),
    [anon_sym_next] = ACTIONS(5954),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(608),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_PLUS_EQ] = ACTIONS(606),
    [anon_sym_DASH_EQ] = ACTIONS(606),
    [anon_sym_STAR_EQ] = ACTIONS(606),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(606),
    [anon_sym_SLASH_EQ] = ACTIONS(606),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(606),
    [anon_sym_PIPE_EQ] = ACTIONS(606),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(606),
    [anon_sym_AMP_EQ] = ACTIONS(606),
    [anon_sym_PERCENT_EQ] = ACTIONS(606),
    [anon_sym_GT_GT_EQ] = ACTIONS(606),
    [anon_sym_LT_LT_EQ] = ACTIONS(606),
    [anon_sym_CARET_EQ] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(608),
    [anon_sym_AMP_AMP] = ACTIONS(608),
    [anon_sym_LT_LT] = ACTIONS(608),
    [anon_sym_GT_GT] = ACTIONS(608),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(608),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(608),
    [anon_sym_PERCENT] = ACTIONS(608),
    [anon_sym_defined_QMARK] = ACTIONS(5956),
    [anon_sym_not] = ACTIONS(5958),
    [anon_sym_BANG] = ACTIONS(5960),
    [anon_sym_TILDE] = ACTIONS(5962),
    [sym_constant] = ACTIONS(5964),
    [sym_identifier] = ACTIONS(5964),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [7377] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(4125),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(3107),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(4126),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4127),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4128),
    [sym__variable] = STATE(1602),
    [sym_reserved_identifier] = STATE(4129),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(4130),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(5942),
    [sym__splat_star] = ACTIONS(5944),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(5946),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(612),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(5948),
    [anon_sym_yield] = ACTIONS(5950),
    [anon_sym_break] = ACTIONS(5952),
    [anon_sym_next] = ACTIONS(5954),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(612),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_PLUS_EQ] = ACTIONS(610),
    [anon_sym_DASH_EQ] = ACTIONS(610),
    [anon_sym_STAR_EQ] = ACTIONS(610),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(610),
    [anon_sym_SLASH_EQ] = ACTIONS(610),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(610),
    [anon_sym_PIPE_EQ] = ACTIONS(610),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(610),
    [anon_sym_AMP_EQ] = ACTIONS(610),
    [anon_sym_PERCENT_EQ] = ACTIONS(610),
    [anon_sym_GT_GT_EQ] = ACTIONS(610),
    [anon_sym_LT_LT_EQ] = ACTIONS(610),
    [anon_sym_CARET_EQ] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(612),
    [anon_sym_AMP_AMP] = ACTIONS(612),
    [anon_sym_LT_LT] = ACTIONS(612),
    [anon_sym_GT_GT] = ACTIONS(612),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(612),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(612),
    [anon_sym_PERCENT] = ACTIONS(612),
    [anon_sym_defined_QMARK] = ACTIONS(5956),
    [anon_sym_not] = ACTIONS(5958),
    [anon_sym_BANG] = ACTIONS(5960),
    [anon_sym_TILDE] = ACTIONS(5962),
    [sym_constant] = ACTIONS(5964),
    [sym_identifier] = ACTIONS(5964),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [7378] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(10080),
    [sym__binary_star] = ACTIONS(10082),
    [anon_sym_LBRACE] = ACTIONS(5298),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(10084),
    [anon_sym_STAR_STAR] = ACTIONS(10086),
    [anon_sym_AMP] = ACTIONS(10088),
    [anon_sym_EQ] = ACTIONS(5304),
    [anon_sym_LT] = ACTIONS(10090),
    [anon_sym_in] = ACTIONS(5298),
    [anon_sym_do] = ACTIONS(5298),
    [anon_sym_EQ_GT] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_PLUS_EQ] = ACTIONS(5298),
    [anon_sym_DASH_EQ] = ACTIONS(5298),
    [anon_sym_STAR_EQ] = ACTIONS(5298),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5298),
    [anon_sym_SLASH_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5298),
    [anon_sym_AMP_EQ] = ACTIONS(5298),
    [anon_sym_PERCENT_EQ] = ACTIONS(5298),
    [anon_sym_GT_GT_EQ] = ACTIONS(5298),
    [anon_sym_LT_LT_EQ] = ACTIONS(5298),
    [anon_sym_CARET_EQ] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(10092),
    [anon_sym_DOT_DOT] = ACTIONS(10094),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10096),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(10098),
    [anon_sym_AMP_AMP] = ACTIONS(10098),
    [anon_sym_LT_LT] = ACTIONS(10100),
    [anon_sym_GT_GT] = ACTIONS(10100),
    [anon_sym_EQ_EQ] = ACTIONS(10098),
    [anon_sym_BANG_EQ] = ACTIONS(10102),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10102),
    [anon_sym_LT_EQ_GT] = ACTIONS(10102),
    [anon_sym_EQ_TILDE] = ACTIONS(10102),
    [anon_sym_BANG_TILDE] = ACTIONS(10102),
    [anon_sym_LT_EQ] = ACTIONS(10090),
    [anon_sym_GT] = ACTIONS(10090),
    [anon_sym_GT_EQ] = ACTIONS(10104),
    [anon_sym_CARET] = ACTIONS(10084),
    [anon_sym_PLUS] = ACTIONS(10106),
    [anon_sym_SLASH] = ACTIONS(10086),
    [anon_sym_PERCENT] = ACTIONS(10086),
    [sym_comment] = ACTIONS(256),
  },
  [7379] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(10080),
    [sym__binary_star] = ACTIONS(10082),
    [anon_sym_LBRACE] = ACTIONS(5338),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(10084),
    [anon_sym_STAR_STAR] = ACTIONS(10086),
    [anon_sym_AMP] = ACTIONS(10088),
    [anon_sym_EQ] = ACTIONS(5340),
    [anon_sym_LT] = ACTIONS(10090),
    [anon_sym_in] = ACTIONS(5338),
    [anon_sym_do] = ACTIONS(5338),
    [anon_sym_EQ_GT] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_PLUS_EQ] = ACTIONS(5338),
    [anon_sym_DASH_EQ] = ACTIONS(5338),
    [anon_sym_STAR_EQ] = ACTIONS(5338),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5338),
    [anon_sym_SLASH_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5338),
    [anon_sym_AMP_EQ] = ACTIONS(5338),
    [anon_sym_PERCENT_EQ] = ACTIONS(5338),
    [anon_sym_GT_GT_EQ] = ACTIONS(5338),
    [anon_sym_LT_LT_EQ] = ACTIONS(5338),
    [anon_sym_CARET_EQ] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(10092),
    [anon_sym_DOT_DOT] = ACTIONS(10094),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10096),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(10098),
    [anon_sym_AMP_AMP] = ACTIONS(10098),
    [anon_sym_LT_LT] = ACTIONS(10100),
    [anon_sym_GT_GT] = ACTIONS(10100),
    [anon_sym_EQ_EQ] = ACTIONS(10098),
    [anon_sym_BANG_EQ] = ACTIONS(10102),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10102),
    [anon_sym_LT_EQ_GT] = ACTIONS(10102),
    [anon_sym_EQ_TILDE] = ACTIONS(10102),
    [anon_sym_BANG_TILDE] = ACTIONS(10102),
    [anon_sym_LT_EQ] = ACTIONS(10090),
    [anon_sym_GT] = ACTIONS(10090),
    [anon_sym_GT_EQ] = ACTIONS(10104),
    [anon_sym_CARET] = ACTIONS(10084),
    [anon_sym_PLUS] = ACTIONS(10106),
    [anon_sym_SLASH] = ACTIONS(10086),
    [anon_sym_PERCENT] = ACTIONS(10086),
    [sym_comment] = ACTIONS(256),
  },
  [7380] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_LBRACE] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_STAR_STAR] = ACTIONS(10086),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_EQ] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_in] = ACTIONS(1372),
    [anon_sym_do] = ACTIONS(1372),
    [anon_sym_EQ_GT] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_PLUS_EQ] = ACTIONS(1372),
    [anon_sym_DASH_EQ] = ACTIONS(1372),
    [anon_sym_STAR_EQ] = ACTIONS(1372),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1372),
    [anon_sym_SLASH_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1372),
    [anon_sym_AMP_EQ] = ACTIONS(1372),
    [anon_sym_PERCENT_EQ] = ACTIONS(1372),
    [anon_sym_GT_GT_EQ] = ACTIONS(1372),
    [anon_sym_LT_LT_EQ] = ACTIONS(1372),
    [anon_sym_CARET_EQ] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1374),
    [anon_sym_AMP_AMP] = ACTIONS(1374),
    [anon_sym_LT_LT] = ACTIONS(1374),
    [anon_sym_GT_GT] = ACTIONS(1374),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1374),
    [anon_sym_PLUS] = ACTIONS(1374),
    [anon_sym_SLASH] = ACTIONS(1374),
    [anon_sym_PERCENT] = ACTIONS(1374),
    [sym_comment] = ACTIONS(256),
  },
  [7381] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(10080),
    [sym__binary_star] = ACTIONS(10082),
    [anon_sym_LBRACE] = ACTIONS(4284),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(10084),
    [anon_sym_STAR_STAR] = ACTIONS(10086),
    [anon_sym_AMP] = ACTIONS(10088),
    [anon_sym_EQ] = ACTIONS(5432),
    [anon_sym_LT] = ACTIONS(10090),
    [anon_sym_in] = ACTIONS(4284),
    [anon_sym_do] = ACTIONS(4284),
    [anon_sym_EQ_GT] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_PLUS_EQ] = ACTIONS(4284),
    [anon_sym_DASH_EQ] = ACTIONS(4284),
    [anon_sym_STAR_EQ] = ACTIONS(4284),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(4284),
    [anon_sym_SLASH_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(4284),
    [anon_sym_AMP_EQ] = ACTIONS(4284),
    [anon_sym_PERCENT_EQ] = ACTIONS(4284),
    [anon_sym_GT_GT_EQ] = ACTIONS(4284),
    [anon_sym_LT_LT_EQ] = ACTIONS(4284),
    [anon_sym_CARET_EQ] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(10092),
    [anon_sym_DOT_DOT] = ACTIONS(10094),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10096),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(10098),
    [anon_sym_AMP_AMP] = ACTIONS(10098),
    [anon_sym_LT_LT] = ACTIONS(10100),
    [anon_sym_GT_GT] = ACTIONS(10100),
    [anon_sym_EQ_EQ] = ACTIONS(10098),
    [anon_sym_BANG_EQ] = ACTIONS(10102),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10102),
    [anon_sym_LT_EQ_GT] = ACTIONS(10102),
    [anon_sym_EQ_TILDE] = ACTIONS(10102),
    [anon_sym_BANG_TILDE] = ACTIONS(10102),
    [anon_sym_LT_EQ] = ACTIONS(10090),
    [anon_sym_GT] = ACTIONS(10090),
    [anon_sym_GT_EQ] = ACTIONS(10104),
    [anon_sym_CARET] = ACTIONS(10084),
    [anon_sym_PLUS] = ACTIONS(10106),
    [anon_sym_SLASH] = ACTIONS(10086),
    [anon_sym_PERCENT] = ACTIONS(10086),
    [sym_comment] = ACTIONS(256),
  },
  [7382] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(10086),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_in] = ACTIONS(2870),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2872),
    [anon_sym_AMP_AMP] = ACTIONS(2872),
    [anon_sym_LT_LT] = ACTIONS(2872),
    [anon_sym_GT_GT] = ACTIONS(2872),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2872),
    [anon_sym_PLUS] = ACTIONS(2872),
    [anon_sym_SLASH] = ACTIONS(2872),
    [anon_sym_PERCENT] = ACTIONS(2872),
    [sym_comment] = ACTIONS(256),
  },
  [7383] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(10080),
    [sym__binary_star] = ACTIONS(10082),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(10084),
    [anon_sym_STAR_STAR] = ACTIONS(10086),
    [anon_sym_AMP] = ACTIONS(10088),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(10090),
    [anon_sym_in] = ACTIONS(2870),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(10092),
    [anon_sym_DOT_DOT] = ACTIONS(10094),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10096),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(10098),
    [anon_sym_AMP_AMP] = ACTIONS(10098),
    [anon_sym_LT_LT] = ACTIONS(10100),
    [anon_sym_GT_GT] = ACTIONS(10100),
    [anon_sym_EQ_EQ] = ACTIONS(10098),
    [anon_sym_BANG_EQ] = ACTIONS(10102),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10102),
    [anon_sym_LT_EQ_GT] = ACTIONS(10102),
    [anon_sym_EQ_TILDE] = ACTIONS(10102),
    [anon_sym_BANG_TILDE] = ACTIONS(10102),
    [anon_sym_LT_EQ] = ACTIONS(10090),
    [anon_sym_GT] = ACTIONS(10090),
    [anon_sym_GT_EQ] = ACTIONS(10104),
    [anon_sym_CARET] = ACTIONS(10084),
    [anon_sym_PLUS] = ACTIONS(10106),
    [anon_sym_SLASH] = ACTIONS(10086),
    [anon_sym_PERCENT] = ACTIONS(10086),
    [sym_comment] = ACTIONS(256),
  },
  [7384] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(10386),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4127),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4128),
    [sym__variable] = STATE(1602),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(5946),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(10066),
    [anon_sym_yield] = ACTIONS(10068),
    [anon_sym_break] = ACTIONS(10070),
    [anon_sym_next] = ACTIONS(10072),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(10074),
    [anon_sym_defined_QMARK] = ACTIONS(5956),
    [anon_sym_not] = ACTIONS(10076),
    [anon_sym_BANG] = ACTIONS(5962),
    [anon_sym_TILDE] = ACTIONS(5962),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [7385] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(10387),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4127),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4128),
    [sym__variable] = STATE(1602),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(5946),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(10066),
    [anon_sym_yield] = ACTIONS(10068),
    [anon_sym_break] = ACTIONS(10070),
    [anon_sym_next] = ACTIONS(10072),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(10074),
    [anon_sym_defined_QMARK] = ACTIONS(5956),
    [anon_sym_not] = ACTIONS(10076),
    [anon_sym_BANG] = ACTIONS(5962),
    [anon_sym_TILDE] = ACTIONS(5962),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [7386] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(10388),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4127),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4128),
    [sym__variable] = STATE(1602),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(5946),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(10066),
    [anon_sym_yield] = ACTIONS(10068),
    [anon_sym_break] = ACTIONS(10070),
    [anon_sym_next] = ACTIONS(10072),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(10074),
    [anon_sym_defined_QMARK] = ACTIONS(5956),
    [anon_sym_not] = ACTIONS(10076),
    [anon_sym_BANG] = ACTIONS(5962),
    [anon_sym_TILDE] = ACTIONS(5962),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [7387] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(10389),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4127),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4128),
    [sym__variable] = STATE(1602),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(5946),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(10066),
    [anon_sym_yield] = ACTIONS(10068),
    [anon_sym_break] = ACTIONS(10070),
    [anon_sym_next] = ACTIONS(10072),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(10074),
    [anon_sym_defined_QMARK] = ACTIONS(5956),
    [anon_sym_not] = ACTIONS(10076),
    [anon_sym_BANG] = ACTIONS(5962),
    [anon_sym_TILDE] = ACTIONS(5962),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [7388] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(10390),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4127),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4128),
    [sym__variable] = STATE(1602),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(5946),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(10066),
    [anon_sym_yield] = ACTIONS(10068),
    [anon_sym_break] = ACTIONS(10070),
    [anon_sym_next] = ACTIONS(10072),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(10074),
    [anon_sym_defined_QMARK] = ACTIONS(5956),
    [anon_sym_not] = ACTIONS(10076),
    [anon_sym_BANG] = ACTIONS(5962),
    [anon_sym_TILDE] = ACTIONS(5962),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [7389] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(10391),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4127),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4128),
    [sym__variable] = STATE(1602),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(5946),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(10066),
    [anon_sym_yield] = ACTIONS(10068),
    [anon_sym_break] = ACTIONS(10070),
    [anon_sym_next] = ACTIONS(10072),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(10074),
    [anon_sym_defined_QMARK] = ACTIONS(5956),
    [anon_sym_not] = ACTIONS(10076),
    [anon_sym_BANG] = ACTIONS(5962),
    [anon_sym_TILDE] = ACTIONS(5962),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [7390] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(10392),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4127),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4128),
    [sym__variable] = STATE(1602),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(5946),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(10066),
    [anon_sym_yield] = ACTIONS(10068),
    [anon_sym_break] = ACTIONS(10070),
    [anon_sym_next] = ACTIONS(10072),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(10074),
    [anon_sym_defined_QMARK] = ACTIONS(5956),
    [anon_sym_not] = ACTIONS(10076),
    [anon_sym_BANG] = ACTIONS(5962),
    [anon_sym_TILDE] = ACTIONS(5962),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [7391] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(10393),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [7392] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(10394),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4127),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4128),
    [sym__variable] = STATE(1602),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(5946),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(10066),
    [anon_sym_yield] = ACTIONS(10068),
    [anon_sym_break] = ACTIONS(10070),
    [anon_sym_next] = ACTIONS(10072),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(10074),
    [anon_sym_defined_QMARK] = ACTIONS(5956),
    [anon_sym_not] = ACTIONS(10076),
    [anon_sym_BANG] = ACTIONS(5962),
    [anon_sym_TILDE] = ACTIONS(5962),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [7393] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(10395),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4127),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4128),
    [sym__variable] = STATE(1602),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(5946),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(10066),
    [anon_sym_yield] = ACTIONS(10068),
    [anon_sym_break] = ACTIONS(10070),
    [anon_sym_next] = ACTIONS(10072),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(10074),
    [anon_sym_defined_QMARK] = ACTIONS(5956),
    [anon_sym_not] = ACTIONS(10076),
    [anon_sym_BANG] = ACTIONS(5962),
    [anon_sym_TILDE] = ACTIONS(5962),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [7394] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(10396),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4127),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4128),
    [sym__variable] = STATE(1602),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(5946),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(10066),
    [anon_sym_yield] = ACTIONS(10068),
    [anon_sym_break] = ACTIONS(10070),
    [anon_sym_next] = ACTIONS(10072),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(10074),
    [anon_sym_defined_QMARK] = ACTIONS(5956),
    [anon_sym_not] = ACTIONS(10076),
    [anon_sym_BANG] = ACTIONS(5962),
    [anon_sym_TILDE] = ACTIONS(5962),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [7395] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(10397),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4127),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4128),
    [sym__variable] = STATE(1602),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(5946),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(10066),
    [anon_sym_yield] = ACTIONS(10068),
    [anon_sym_break] = ACTIONS(10070),
    [anon_sym_next] = ACTIONS(10072),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(10074),
    [anon_sym_defined_QMARK] = ACTIONS(5956),
    [anon_sym_not] = ACTIONS(10076),
    [anon_sym_BANG] = ACTIONS(5962),
    [anon_sym_TILDE] = ACTIONS(5962),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [7396] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(10398),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4127),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4128),
    [sym__variable] = STATE(1602),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(5946),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(10066),
    [anon_sym_yield] = ACTIONS(10068),
    [anon_sym_break] = ACTIONS(10070),
    [anon_sym_next] = ACTIONS(10072),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(10074),
    [anon_sym_defined_QMARK] = ACTIONS(5956),
    [anon_sym_not] = ACTIONS(10076),
    [anon_sym_BANG] = ACTIONS(5962),
    [anon_sym_TILDE] = ACTIONS(5962),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [7397] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(4125),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(6226),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4127),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4128),
    [sym__variable] = STATE(1602),
    [sym_reserved_identifier] = STATE(4129),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(4130),
    [sym_subshell] = STATE(1062),
    [sym_heredoc_end] = STATE(10399),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__block_ampersand] = ACTIONS(5942),
    [sym__splat_star] = ACTIONS(5944),
    [sym__unary_minus] = ACTIONS(5946),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(13212),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(5948),
    [anon_sym_yield] = ACTIONS(5950),
    [anon_sym_break] = ACTIONS(5952),
    [anon_sym_next] = ACTIONS(5954),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(10074),
    [anon_sym_defined_QMARK] = ACTIONS(5956),
    [anon_sym_not] = ACTIONS(5958),
    [anon_sym_BANG] = ACTIONS(5962),
    [anon_sym_TILDE] = ACTIONS(5962),
    [sym_constant] = ACTIONS(5964),
    [sym_identifier] = ACTIONS(5964),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [7398] = {
    [sym_heredoc_end] = STATE(3153),
    [aux_sym_argument_list_repeat2] = STATE(6229),
    [sym__simple_heredoc_body] = ACTIONS(4552),
    [sym__heredoc_body_beginning] = ACTIONS(4554),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_LBRACE] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(13214),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_STAR_STAR] = ACTIONS(5474),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_EQ] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_in] = ACTIONS(5472),
    [anon_sym_do] = ACTIONS(5472),
    [anon_sym_EQ_GT] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_PLUS_EQ] = ACTIONS(5472),
    [anon_sym_DASH_EQ] = ACTIONS(5472),
    [anon_sym_STAR_EQ] = ACTIONS(5472),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5472),
    [anon_sym_SLASH_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5472),
    [anon_sym_AMP_EQ] = ACTIONS(5472),
    [anon_sym_PERCENT_EQ] = ACTIONS(5472),
    [anon_sym_GT_GT_EQ] = ACTIONS(5472),
    [anon_sym_LT_LT_EQ] = ACTIONS(5472),
    [anon_sym_CARET_EQ] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5474),
    [anon_sym_AMP_AMP] = ACTIONS(5474),
    [anon_sym_LT_LT] = ACTIONS(5474),
    [anon_sym_GT_GT] = ACTIONS(5474),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5474),
    [anon_sym_PLUS] = ACTIONS(5474),
    [anon_sym_SLASH] = ACTIONS(5474),
    [anon_sym_PERCENT] = ACTIONS(5474),
    [sym_comment] = ACTIONS(256),
  },
  [7399] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(10401),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_splat_argument] = STATE(6231),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_right_assignment_list] = STATE(6232),
    [sym__arg_or_splat_arg] = STATE(10402),
    [sym_left_assignment_list] = STATE(4127),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4128),
    [sym__variable] = STATE(1602),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__splat_star] = ACTIONS(5944),
    [sym__unary_minus] = ACTIONS(5946),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(10066),
    [anon_sym_yield] = ACTIONS(10068),
    [anon_sym_break] = ACTIONS(10070),
    [anon_sym_next] = ACTIONS(10072),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(10074),
    [anon_sym_defined_QMARK] = ACTIONS(5956),
    [anon_sym_not] = ACTIONS(10076),
    [anon_sym_BANG] = ACTIONS(5962),
    [anon_sym_TILDE] = ACTIONS(5962),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [7400] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(10403),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4127),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4128),
    [sym__variable] = STATE(1602),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(5946),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(10066),
    [anon_sym_yield] = ACTIONS(10068),
    [anon_sym_break] = ACTIONS(10070),
    [anon_sym_next] = ACTIONS(10072),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(10074),
    [anon_sym_defined_QMARK] = ACTIONS(5956),
    [anon_sym_not] = ACTIONS(10076),
    [anon_sym_BANG] = ACTIONS(5962),
    [anon_sym_TILDE] = ACTIONS(5962),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [7401] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(10404),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4127),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4128),
    [sym__variable] = STATE(1602),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(5946),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(10066),
    [anon_sym_yield] = ACTIONS(10068),
    [anon_sym_break] = ACTIONS(10070),
    [anon_sym_next] = ACTIONS(10072),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(10074),
    [anon_sym_defined_QMARK] = ACTIONS(5956),
    [anon_sym_not] = ACTIONS(10076),
    [anon_sym_BANG] = ACTIONS(5962),
    [anon_sym_TILDE] = ACTIONS(5962),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [7402] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1601),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(9738),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1605),
    [sym__variable] = STATE(1602),
    [sym_reserved_identifier] = STATE(1606),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1607),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(2522),
    [sym__splat_star] = ACTIONS(2524),
    [sym__unary_minus] = ACTIONS(2526),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2528),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2530),
    [anon_sym_yield] = ACTIONS(2532),
    [anon_sym_break] = ACTIONS(2534),
    [anon_sym_next] = ACTIONS(2536),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2538),
    [anon_sym_defined_QMARK] = ACTIONS(2540),
    [anon_sym_not] = ACTIONS(2542),
    [anon_sym_BANG] = ACTIONS(2544),
    [anon_sym_TILDE] = ACTIONS(2544),
    [sym_constant] = ACTIONS(2546),
    [sym_identifier] = ACTIONS(2546),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [7403] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1601),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1602),
    [sym_call] = STATE(1602),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(9738),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1605),
    [sym__variable] = STATE(1602),
    [sym_reserved_identifier] = STATE(1606),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1607),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(10405),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(2522),
    [sym__splat_star] = ACTIONS(2524),
    [sym__unary_minus] = ACTIONS(2526),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2528),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2530),
    [anon_sym_yield] = ACTIONS(2532),
    [anon_sym_break] = ACTIONS(2534),
    [anon_sym_next] = ACTIONS(2536),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2538),
    [anon_sym_defined_QMARK] = ACTIONS(2540),
    [anon_sym_not] = ACTIONS(2542),
    [anon_sym_BANG] = ACTIONS(2544),
    [anon_sym_TILDE] = ACTIONS(2544),
    [sym_constant] = ACTIONS(2546),
    [sym_identifier] = ACTIONS(2546),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [7404] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__element_reference_left_bracket] = ACTIONS(6346),
    [sym__scope_double_colon] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(5910),
    [sym__binary_star] = ACTIONS(5912),
    [anon_sym_LBRACE] = ACTIONS(6346),
    [anon_sym_DOT] = ACTIONS(7328),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(5914),
    [anon_sym_STAR_STAR] = ACTIONS(5916),
    [anon_sym_AMP] = ACTIONS(5918),
    [anon_sym_LT] = ACTIONS(5920),
    [anon_sym_in] = ACTIONS(6346),
    [anon_sym_do] = ACTIONS(6346),
    [anon_sym_EQ_GT] = ACTIONS(6346),
    [anon_sym_AMP_DOT] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(5922),
    [anon_sym_DOT_DOT] = ACTIONS(5924),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5926),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(5930),
    [anon_sym_AMP_AMP] = ACTIONS(5930),
    [anon_sym_LT_LT] = ACTIONS(5932),
    [anon_sym_GT_GT] = ACTIONS(5932),
    [anon_sym_EQ_EQ] = ACTIONS(5934),
    [anon_sym_BANG_EQ] = ACTIONS(5930),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5930),
    [anon_sym_LT_EQ_GT] = ACTIONS(5930),
    [anon_sym_EQ_TILDE] = ACTIONS(5930),
    [anon_sym_BANG_TILDE] = ACTIONS(5930),
    [anon_sym_LT_EQ] = ACTIONS(5920),
    [anon_sym_GT] = ACTIONS(5920),
    [anon_sym_GT_EQ] = ACTIONS(5936),
    [anon_sym_CARET] = ACTIONS(5938),
    [anon_sym_PLUS] = ACTIONS(5940),
    [anon_sym_SLASH] = ACTIONS(5916),
    [anon_sym_PERCENT] = ACTIONS(5916),
    [sym_comment] = ACTIONS(110),
  },
  [7405] = {
    [aux_sym_exceptions_repeat1] = STATE(10407),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__element_reference_left_bracket] = ACTIONS(7330),
    [sym__scope_double_colon] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_LBRACE] = ACTIONS(7330),
    [anon_sym_DOT] = ACTIONS(7332),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_in] = ACTIONS(7330),
    [anon_sym_do] = ACTIONS(7330),
    [anon_sym_EQ_GT] = ACTIONS(7330),
    [anon_sym_AMP_DOT] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [7406] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__element_reference_left_bracket] = ACTIONS(7344),
    [sym__scope_double_colon] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(5910),
    [sym__binary_star] = ACTIONS(5912),
    [anon_sym_LBRACE] = ACTIONS(7344),
    [anon_sym_DOT] = ACTIONS(9504),
    [anon_sym_COMMA] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(5914),
    [anon_sym_STAR_STAR] = ACTIONS(5916),
    [anon_sym_AMP] = ACTIONS(5918),
    [anon_sym_LT] = ACTIONS(5920),
    [anon_sym_in] = ACTIONS(7344),
    [anon_sym_do] = ACTIONS(7344),
    [anon_sym_EQ_GT] = ACTIONS(7344),
    [anon_sym_AMP_DOT] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(5922),
    [anon_sym_DOT_DOT] = ACTIONS(5924),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5926),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(5930),
    [anon_sym_AMP_AMP] = ACTIONS(5930),
    [anon_sym_LT_LT] = ACTIONS(5932),
    [anon_sym_GT_GT] = ACTIONS(5932),
    [anon_sym_EQ_EQ] = ACTIONS(5934),
    [anon_sym_BANG_EQ] = ACTIONS(5930),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5930),
    [anon_sym_LT_EQ_GT] = ACTIONS(5930),
    [anon_sym_EQ_TILDE] = ACTIONS(5930),
    [anon_sym_BANG_TILDE] = ACTIONS(5930),
    [anon_sym_LT_EQ] = ACTIONS(5920),
    [anon_sym_GT] = ACTIONS(5920),
    [anon_sym_GT_EQ] = ACTIONS(5936),
    [anon_sym_CARET] = ACTIONS(5938),
    [anon_sym_PLUS] = ACTIONS(5940),
    [anon_sym_SLASH] = ACTIONS(5916),
    [anon_sym_PERCENT] = ACTIONS(5916),
    [sym_comment] = ACTIONS(110),
  },
  [7407] = {
    [sym__simple_heredoc_body] = ACTIONS(8662),
    [sym__heredoc_body_beginning] = ACTIONS(8662),
    [sym__element_reference_left_bracket] = ACTIONS(8662),
    [sym__scope_double_colon] = ACTIONS(8662),
    [sym__binary_minus] = ACTIONS(10016),
    [sym__binary_star] = ACTIONS(10018),
    [anon_sym_LBRACE] = ACTIONS(8662),
    [anon_sym_DOT] = ACTIONS(9506),
    [anon_sym_COMMA] = ACTIONS(8662),
    [anon_sym_PIPE] = ACTIONS(10020),
    [anon_sym_STAR_STAR] = ACTIONS(10022),
    [anon_sym_AMP] = ACTIONS(10024),
    [anon_sym_LT] = ACTIONS(10026),
    [anon_sym_in] = ACTIONS(8662),
    [anon_sym_do] = ACTIONS(8662),
    [anon_sym_AMP_DOT] = ACTIONS(8662),
    [anon_sym_QMARK] = ACTIONS(10028),
    [anon_sym_DOT_DOT] = ACTIONS(10030),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10032),
    [anon_sym_and] = ACTIONS(10034),
    [anon_sym_or] = ACTIONS(10034),
    [anon_sym_PIPE_PIPE] = ACTIONS(10036),
    [anon_sym_AMP_AMP] = ACTIONS(10036),
    [anon_sym_LT_LT] = ACTIONS(10038),
    [anon_sym_GT_GT] = ACTIONS(10038),
    [anon_sym_EQ_EQ] = ACTIONS(10040),
    [anon_sym_BANG_EQ] = ACTIONS(10036),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10036),
    [anon_sym_LT_EQ_GT] = ACTIONS(10036),
    [anon_sym_EQ_TILDE] = ACTIONS(10036),
    [anon_sym_BANG_TILDE] = ACTIONS(10036),
    [anon_sym_LT_EQ] = ACTIONS(10026),
    [anon_sym_GT] = ACTIONS(10026),
    [anon_sym_GT_EQ] = ACTIONS(10042),
    [anon_sym_CARET] = ACTIONS(10044),
    [anon_sym_PLUS] = ACTIONS(10046),
    [anon_sym_SLASH] = ACTIONS(10022),
    [anon_sym_PERCENT] = ACTIONS(10022),
    [sym_comment] = ACTIONS(110),
  },
  [7408] = {
    [sym__simple_heredoc_body] = ACTIONS(13216),
    [sym__heredoc_body_beginning] = ACTIONS(13216),
    [sym__line_break] = ACTIONS(13216),
    [sym__element_reference_left_bracket] = ACTIONS(13216),
    [sym__scope_double_colon] = ACTIONS(13216),
    [sym__binary_minus] = ACTIONS(13216),
    [sym__binary_star] = ACTIONS(13216),
    [ts_builtin_sym_end] = ACTIONS(13216),
    [anon_sym___END__] = ACTIONS(13216),
    [anon_sym_LBRACE] = ACTIONS(13216),
    [anon_sym_RBRACE] = ACTIONS(13216),
    [anon_sym_RPAREN] = ACTIONS(13216),
    [anon_sym_DOT] = ACTIONS(13218),
    [anon_sym_end] = ACTIONS(13216),
    [anon_sym_COMMA] = ACTIONS(13216),
    [anon_sym_PIPE] = ACTIONS(13218),
    [anon_sym_SEMI] = ACTIONS(13216),
    [anon_sym_STAR_STAR] = ACTIONS(13216),
    [anon_sym_AMP] = ACTIONS(13218),
    [anon_sym_LT] = ACTIONS(13218),
    [anon_sym_if] = ACTIONS(13216),
    [anon_sym_unless] = ACTIONS(13216),
    [anon_sym_while] = ACTIONS(13216),
    [anon_sym_until] = ACTIONS(13216),
    [anon_sym_rescue] = ACTIONS(13216),
    [anon_sym_do] = ACTIONS(13216),
    [anon_sym_when] = ACTIONS(13216),
    [anon_sym_elsif] = ACTIONS(13216),
    [anon_sym_else] = ACTIONS(13216),
    [anon_sym_then] = ACTIONS(13216),
    [anon_sym_ensure] = ACTIONS(13216),
    [anon_sym_EQ_GT] = ACTIONS(13216),
    [anon_sym_AMP_DOT] = ACTIONS(13216),
    [anon_sym_QMARK] = ACTIONS(13216),
    [anon_sym_DOT_DOT] = ACTIONS(13218),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(13216),
    [anon_sym_and] = ACTIONS(13216),
    [anon_sym_or] = ACTIONS(13216),
    [anon_sym_PIPE_PIPE] = ACTIONS(13216),
    [anon_sym_AMP_AMP] = ACTIONS(13216),
    [anon_sym_LT_LT] = ACTIONS(13216),
    [anon_sym_GT_GT] = ACTIONS(13216),
    [anon_sym_EQ_EQ] = ACTIONS(13218),
    [anon_sym_BANG_EQ] = ACTIONS(13216),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(13216),
    [anon_sym_LT_EQ_GT] = ACTIONS(13216),
    [anon_sym_EQ_TILDE] = ACTIONS(13216),
    [anon_sym_BANG_TILDE] = ACTIONS(13216),
    [anon_sym_LT_EQ] = ACTIONS(13218),
    [anon_sym_GT] = ACTIONS(13218),
    [anon_sym_GT_EQ] = ACTIONS(13216),
    [anon_sym_CARET] = ACTIONS(13216),
    [anon_sym_PLUS] = ACTIONS(13216),
    [anon_sym_SLASH] = ACTIONS(13216),
    [anon_sym_PERCENT] = ACTIONS(13216),
    [sym_comment] = ACTIONS(110),
  },
  [7409] = {
    [anon_sym_end] = ACTIONS(13220),
    [sym_comment] = ACTIONS(110),
  },
  [7410] = {
    [sym__simple_heredoc_body] = ACTIONS(12070),
    [sym__heredoc_body_beginning] = ACTIONS(12070),
    [sym__line_break] = ACTIONS(12070),
    [anon_sym_SEMI] = ACTIONS(12070),
    [anon_sym_when] = ACTIONS(12070),
    [sym_comment] = ACTIONS(110),
  },
  [7411] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(10132),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_when] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [7412] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(10132),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_when] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [7413] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(10126),
    [sym__binary_star] = ACTIONS(10128),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(10130),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(10132),
    [anon_sym_AMP] = ACTIONS(10134),
    [anon_sym_LT] = ACTIONS(10136),
    [anon_sym_when] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(10138),
    [anon_sym_DOT_DOT] = ACTIONS(10140),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10142),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(10144),
    [anon_sym_AMP_AMP] = ACTIONS(10144),
    [anon_sym_LT_LT] = ACTIONS(10146),
    [anon_sym_GT_GT] = ACTIONS(10146),
    [anon_sym_EQ_EQ] = ACTIONS(10148),
    [anon_sym_BANG_EQ] = ACTIONS(10144),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10144),
    [anon_sym_LT_EQ_GT] = ACTIONS(10144),
    [anon_sym_EQ_TILDE] = ACTIONS(10144),
    [anon_sym_BANG_TILDE] = ACTIONS(10144),
    [anon_sym_LT_EQ] = ACTIONS(10136),
    [anon_sym_GT] = ACTIONS(10136),
    [anon_sym_GT_EQ] = ACTIONS(10150),
    [anon_sym_CARET] = ACTIONS(10152),
    [anon_sym_PLUS] = ACTIONS(10154),
    [anon_sym_SLASH] = ACTIONS(10132),
    [anon_sym_PERCENT] = ACTIONS(10132),
    [sym_comment] = ACTIONS(110),
  },
  [7414] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10409),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4145),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4146),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5980),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5982),
    [anon_sym_defined_QMARK] = ACTIONS(5984),
    [anon_sym_not] = ACTIONS(5986),
    [anon_sym_BANG] = ACTIONS(5988),
    [anon_sym_TILDE] = ACTIONS(5988),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7415] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10410),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4145),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4146),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5980),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5982),
    [anon_sym_defined_QMARK] = ACTIONS(5984),
    [anon_sym_not] = ACTIONS(5986),
    [anon_sym_BANG] = ACTIONS(5988),
    [anon_sym_TILDE] = ACTIONS(5988),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7416] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10411),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4145),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4146),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5980),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5982),
    [anon_sym_defined_QMARK] = ACTIONS(5984),
    [anon_sym_not] = ACTIONS(5986),
    [anon_sym_BANG] = ACTIONS(5988),
    [anon_sym_TILDE] = ACTIONS(5988),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7417] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10412),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4145),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4146),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5980),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5982),
    [anon_sym_defined_QMARK] = ACTIONS(5984),
    [anon_sym_not] = ACTIONS(5986),
    [anon_sym_BANG] = ACTIONS(5988),
    [anon_sym_TILDE] = ACTIONS(5988),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7418] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10413),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4145),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4146),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5980),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5982),
    [anon_sym_defined_QMARK] = ACTIONS(5984),
    [anon_sym_not] = ACTIONS(5986),
    [anon_sym_BANG] = ACTIONS(5988),
    [anon_sym_TILDE] = ACTIONS(5988),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7419] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10414),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4145),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4146),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5980),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5982),
    [anon_sym_defined_QMARK] = ACTIONS(5984),
    [anon_sym_not] = ACTIONS(5986),
    [anon_sym_BANG] = ACTIONS(5988),
    [anon_sym_TILDE] = ACTIONS(5988),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7420] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(10415),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [7421] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10416),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4145),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4146),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5980),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5982),
    [anon_sym_defined_QMARK] = ACTIONS(5984),
    [anon_sym_not] = ACTIONS(5986),
    [anon_sym_BANG] = ACTIONS(5988),
    [anon_sym_TILDE] = ACTIONS(5988),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7422] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10417),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4145),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4146),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5980),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5982),
    [anon_sym_defined_QMARK] = ACTIONS(5984),
    [anon_sym_not] = ACTIONS(5986),
    [anon_sym_BANG] = ACTIONS(5988),
    [anon_sym_TILDE] = ACTIONS(5988),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7423] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10418),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4145),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4146),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5980),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5982),
    [anon_sym_defined_QMARK] = ACTIONS(5984),
    [anon_sym_not] = ACTIONS(5986),
    [anon_sym_BANG] = ACTIONS(5988),
    [anon_sym_TILDE] = ACTIONS(5988),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7424] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10419),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4145),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4146),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5980),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5982),
    [anon_sym_defined_QMARK] = ACTIONS(5984),
    [anon_sym_not] = ACTIONS(5986),
    [anon_sym_BANG] = ACTIONS(5988),
    [anon_sym_TILDE] = ACTIONS(5988),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7425] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10420),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4145),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4146),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5980),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5982),
    [anon_sym_defined_QMARK] = ACTIONS(5984),
    [anon_sym_not] = ACTIONS(5986),
    [anon_sym_BANG] = ACTIONS(5988),
    [anon_sym_TILDE] = ACTIONS(5988),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7426] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10421),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_splat_argument] = STATE(3785),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_right_assignment_list] = STATE(3786),
    [sym__arg_or_splat_arg] = STATE(10422),
    [sym_left_assignment_list] = STATE(4145),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4146),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(2556),
    [sym__unary_minus] = ACTIONS(5980),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5982),
    [anon_sym_defined_QMARK] = ACTIONS(5984),
    [anon_sym_not] = ACTIONS(5986),
    [anon_sym_BANG] = ACTIONS(5988),
    [anon_sym_TILDE] = ACTIONS(5988),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7427] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10423),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4145),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4146),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5980),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5982),
    [anon_sym_defined_QMARK] = ACTIONS(5984),
    [anon_sym_not] = ACTIONS(5986),
    [anon_sym_BANG] = ACTIONS(5988),
    [anon_sym_TILDE] = ACTIONS(5988),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7428] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__line_break] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(6010),
    [sym__binary_star] = ACTIONS(6012),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(6014),
    [anon_sym_SEMI] = ACTIONS(5298),
    [anon_sym_STAR_STAR] = ACTIONS(6016),
    [anon_sym_AMP] = ACTIONS(6018),
    [anon_sym_LT] = ACTIONS(6020),
    [anon_sym_when] = ACTIONS(5298),
    [anon_sym_EQ_GT] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(6022),
    [anon_sym_DOT_DOT] = ACTIONS(6024),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6026),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(6028),
    [anon_sym_AMP_AMP] = ACTIONS(6028),
    [anon_sym_LT_LT] = ACTIONS(6030),
    [anon_sym_GT_GT] = ACTIONS(6030),
    [anon_sym_EQ_EQ] = ACTIONS(6032),
    [anon_sym_BANG_EQ] = ACTIONS(6028),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6028),
    [anon_sym_LT_EQ_GT] = ACTIONS(6028),
    [anon_sym_EQ_TILDE] = ACTIONS(6028),
    [anon_sym_BANG_TILDE] = ACTIONS(6028),
    [anon_sym_LT_EQ] = ACTIONS(6020),
    [anon_sym_GT] = ACTIONS(6020),
    [anon_sym_GT_EQ] = ACTIONS(6034),
    [anon_sym_CARET] = ACTIONS(6036),
    [anon_sym_PLUS] = ACTIONS(6038),
    [anon_sym_SLASH] = ACTIONS(6016),
    [anon_sym_PERCENT] = ACTIONS(6016),
    [sym_comment] = ACTIONS(110),
  },
  [7429] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__line_break] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(6010),
    [sym__binary_star] = ACTIONS(6012),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(6014),
    [anon_sym_SEMI] = ACTIONS(5338),
    [anon_sym_STAR_STAR] = ACTIONS(6016),
    [anon_sym_AMP] = ACTIONS(6018),
    [anon_sym_LT] = ACTIONS(6020),
    [anon_sym_when] = ACTIONS(5338),
    [anon_sym_EQ_GT] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(6022),
    [anon_sym_DOT_DOT] = ACTIONS(6024),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6026),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(6028),
    [anon_sym_AMP_AMP] = ACTIONS(6028),
    [anon_sym_LT_LT] = ACTIONS(6030),
    [anon_sym_GT_GT] = ACTIONS(6030),
    [anon_sym_EQ_EQ] = ACTIONS(6032),
    [anon_sym_BANG_EQ] = ACTIONS(6028),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6028),
    [anon_sym_LT_EQ_GT] = ACTIONS(6028),
    [anon_sym_EQ_TILDE] = ACTIONS(6028),
    [anon_sym_BANG_TILDE] = ACTIONS(6028),
    [anon_sym_LT_EQ] = ACTIONS(6020),
    [anon_sym_GT] = ACTIONS(6020),
    [anon_sym_GT_EQ] = ACTIONS(6034),
    [anon_sym_CARET] = ACTIONS(6036),
    [anon_sym_PLUS] = ACTIONS(6038),
    [anon_sym_SLASH] = ACTIONS(6016),
    [anon_sym_PERCENT] = ACTIONS(6016),
    [sym_comment] = ACTIONS(110),
  },
  [7430] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__line_break] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(6010),
    [sym__binary_star] = ACTIONS(6012),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(6014),
    [anon_sym_SEMI] = ACTIONS(4284),
    [anon_sym_STAR_STAR] = ACTIONS(6016),
    [anon_sym_AMP] = ACTIONS(6018),
    [anon_sym_LT] = ACTIONS(6020),
    [anon_sym_when] = ACTIONS(4284),
    [anon_sym_EQ_GT] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(6022),
    [anon_sym_DOT_DOT] = ACTIONS(6024),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6026),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(6028),
    [anon_sym_AMP_AMP] = ACTIONS(6028),
    [anon_sym_LT_LT] = ACTIONS(6030),
    [anon_sym_GT_GT] = ACTIONS(6030),
    [anon_sym_EQ_EQ] = ACTIONS(6032),
    [anon_sym_BANG_EQ] = ACTIONS(6028),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6028),
    [anon_sym_LT_EQ_GT] = ACTIONS(6028),
    [anon_sym_EQ_TILDE] = ACTIONS(6028),
    [anon_sym_BANG_TILDE] = ACTIONS(6028),
    [anon_sym_LT_EQ] = ACTIONS(6020),
    [anon_sym_GT] = ACTIONS(6020),
    [anon_sym_GT_EQ] = ACTIONS(6034),
    [anon_sym_CARET] = ACTIONS(6036),
    [anon_sym_PLUS] = ACTIONS(6038),
    [anon_sym_SLASH] = ACTIONS(6016),
    [anon_sym_PERCENT] = ACTIONS(6016),
    [sym_comment] = ACTIONS(110),
  },
  [7431] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10424),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1628),
    [sym_call] = STATE(1628),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1630),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1631),
    [sym__variable] = STATE(1628),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2558),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5990),
    [anon_sym_yield] = ACTIONS(5992),
    [anon_sym_break] = ACTIONS(5994),
    [anon_sym_next] = ACTIONS(5996),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5998),
    [anon_sym_defined_QMARK] = ACTIONS(2568),
    [anon_sym_not] = ACTIONS(6000),
    [anon_sym_BANG] = ACTIONS(2574),
    [anon_sym_TILDE] = ACTIONS(2574),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7432] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4158),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1628),
    [sym_call] = STATE(1628),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(3780),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1630),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1631),
    [sym__variable] = STATE(1628),
    [sym_reserved_identifier] = STATE(4160),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(4161),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(10425),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__block_ampersand] = ACTIONS(6002),
    [sym__splat_star] = ACTIONS(6004),
    [sym__unary_minus] = ACTIONS(2558),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(13222),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2560),
    [anon_sym_yield] = ACTIONS(2562),
    [anon_sym_break] = ACTIONS(2564),
    [anon_sym_next] = ACTIONS(2566),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(5998),
    [anon_sym_defined_QMARK] = ACTIONS(2568),
    [anon_sym_not] = ACTIONS(2570),
    [anon_sym_BANG] = ACTIONS(2574),
    [anon_sym_TILDE] = ACTIONS(2574),
    [sym_constant] = ACTIONS(6006),
    [sym_identifier] = ACTIONS(6006),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7433] = {
    [sym_heredoc_end] = STATE(1444),
    [aux_sym_argument_list_repeat2] = STATE(3783),
    [sym__simple_heredoc_body] = ACTIONS(2268),
    [sym__heredoc_body_beginning] = ACTIONS(2270),
    [sym__line_break] = ACTIONS(5472),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(13224),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_SEMI] = ACTIONS(5472),
    [anon_sym_STAR_STAR] = ACTIONS(5472),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_when] = ACTIONS(5472),
    [anon_sym_EQ_GT] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5472),
    [anon_sym_AMP_AMP] = ACTIONS(5472),
    [anon_sym_LT_LT] = ACTIONS(5472),
    [anon_sym_GT_GT] = ACTIONS(5472),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5472),
    [anon_sym_PLUS] = ACTIONS(5472),
    [anon_sym_SLASH] = ACTIONS(5472),
    [anon_sym_PERCENT] = ACTIONS(5472),
    [sym_comment] = ACTIONS(110),
  },
  [7434] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10427),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1628),
    [sym_call] = STATE(1628),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1630),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1631),
    [sym__variable] = STATE(1628),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2558),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5990),
    [anon_sym_yield] = ACTIONS(5992),
    [anon_sym_break] = ACTIONS(5994),
    [anon_sym_next] = ACTIONS(5996),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5998),
    [anon_sym_defined_QMARK] = ACTIONS(2568),
    [anon_sym_not] = ACTIONS(6000),
    [anon_sym_BANG] = ACTIONS(2574),
    [anon_sym_TILDE] = ACTIONS(2574),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7435] = {
    [sym__simple_heredoc_body] = ACTIONS(8568),
    [sym__heredoc_body_beginning] = ACTIONS(8568),
    [sym__line_break] = ACTIONS(8568),
    [sym__element_reference_left_bracket] = ACTIONS(8568),
    [sym__scope_double_colon] = ACTIONS(8568),
    [sym__binary_minus] = ACTIONS(10126),
    [sym__binary_star] = ACTIONS(10128),
    [anon_sym_DOT] = ACTIONS(9468),
    [anon_sym_COMMA] = ACTIONS(8568),
    [anon_sym_PIPE] = ACTIONS(10130),
    [anon_sym_SEMI] = ACTIONS(8568),
    [anon_sym_STAR_STAR] = ACTIONS(10132),
    [anon_sym_AMP] = ACTIONS(10134),
    [anon_sym_LT] = ACTIONS(10136),
    [anon_sym_when] = ACTIONS(8568),
    [anon_sym_AMP_DOT] = ACTIONS(8568),
    [anon_sym_QMARK] = ACTIONS(10138),
    [anon_sym_DOT_DOT] = ACTIONS(10140),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10142),
    [anon_sym_and] = ACTIONS(8568),
    [anon_sym_or] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE] = ACTIONS(10144),
    [anon_sym_AMP_AMP] = ACTIONS(10144),
    [anon_sym_LT_LT] = ACTIONS(10146),
    [anon_sym_GT_GT] = ACTIONS(10146),
    [anon_sym_EQ_EQ] = ACTIONS(10148),
    [anon_sym_BANG_EQ] = ACTIONS(10144),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10144),
    [anon_sym_LT_EQ_GT] = ACTIONS(10144),
    [anon_sym_EQ_TILDE] = ACTIONS(10144),
    [anon_sym_BANG_TILDE] = ACTIONS(10144),
    [anon_sym_LT_EQ] = ACTIONS(10136),
    [anon_sym_GT] = ACTIONS(10136),
    [anon_sym_GT_EQ] = ACTIONS(10150),
    [anon_sym_CARET] = ACTIONS(10152),
    [anon_sym_PLUS] = ACTIONS(10154),
    [anon_sym_SLASH] = ACTIONS(10132),
    [anon_sym_PERCENT] = ACTIONS(10132),
    [sym_comment] = ACTIONS(110),
  },
  [7436] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__line_break] = ACTIONS(7008),
    [sym__element_reference_left_bracket] = ACTIONS(7008),
    [sym__scope_double_colon] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(6012),
    [anon_sym_DOT] = ACTIONS(7010),
    [anon_sym_COMMA] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_SEMI] = ACTIONS(7008),
    [anon_sym_STAR_STAR] = ACTIONS(6016),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_when] = ACTIONS(7008),
    [anon_sym_EQ_GT] = ACTIONS(7008),
    [anon_sym_AMP_DOT] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7008),
    [anon_sym_AMP_AMP] = ACTIONS(7008),
    [anon_sym_LT_LT] = ACTIONS(7008),
    [anon_sym_GT_GT] = ACTIONS(7008),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7008),
    [anon_sym_PLUS] = ACTIONS(7008),
    [anon_sym_SLASH] = ACTIONS(6016),
    [anon_sym_PERCENT] = ACTIONS(6016),
    [sym_comment] = ACTIONS(110),
  },
  [7437] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__line_break] = ACTIONS(7012),
    [sym__element_reference_left_bracket] = ACTIONS(7012),
    [sym__scope_double_colon] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_DOT] = ACTIONS(7014),
    [anon_sym_COMMA] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_SEMI] = ACTIONS(7012),
    [anon_sym_STAR_STAR] = ACTIONS(6016),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_when] = ACTIONS(7012),
    [anon_sym_EQ_GT] = ACTIONS(7012),
    [anon_sym_AMP_DOT] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7012),
    [anon_sym_AMP_AMP] = ACTIONS(7012),
    [anon_sym_LT_LT] = ACTIONS(7012),
    [anon_sym_GT_GT] = ACTIONS(7012),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7012),
    [anon_sym_PLUS] = ACTIONS(7012),
    [anon_sym_SLASH] = ACTIONS(7012),
    [anon_sym_PERCENT] = ACTIONS(7012),
    [sym_comment] = ACTIONS(110),
  },
  [7438] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6010),
    [sym__binary_star] = ACTIONS(6012),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6016),
    [anon_sym_AMP] = ACTIONS(6018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_when] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(6030),
    [anon_sym_GT_GT] = ACTIONS(6030),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(6038),
    [anon_sym_SLASH] = ACTIONS(6016),
    [anon_sym_PERCENT] = ACTIONS(6016),
    [sym_comment] = ACTIONS(110),
  },
  [7439] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6016),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_when] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7016),
    [anon_sym_PERCENT] = ACTIONS(7016),
    [sym_comment] = ACTIONS(110),
  },
  [7440] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6010),
    [sym__binary_star] = ACTIONS(6012),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6016),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_when] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(6030),
    [anon_sym_GT_GT] = ACTIONS(6030),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(6038),
    [anon_sym_SLASH] = ACTIONS(6016),
    [anon_sym_PERCENT] = ACTIONS(6016),
    [sym_comment] = ACTIONS(110),
  },
  [7441] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6010),
    [sym__binary_star] = ACTIONS(6012),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(6014),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6016),
    [anon_sym_AMP] = ACTIONS(6018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_when] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(6030),
    [anon_sym_GT_GT] = ACTIONS(6030),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(6036),
    [anon_sym_PLUS] = ACTIONS(6038),
    [anon_sym_SLASH] = ACTIONS(6016),
    [anon_sym_PERCENT] = ACTIONS(6016),
    [sym_comment] = ACTIONS(110),
  },
  [7442] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(13226),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [7443] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__line_break] = ACTIONS(7108),
    [sym__element_reference_left_bracket] = ACTIONS(7108),
    [sym__scope_double_colon] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(6010),
    [sym__binary_star] = ACTIONS(6012),
    [anon_sym_DOT] = ACTIONS(9472),
    [anon_sym_COMMA] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(6014),
    [anon_sym_SEMI] = ACTIONS(7108),
    [anon_sym_STAR_STAR] = ACTIONS(6016),
    [anon_sym_AMP] = ACTIONS(6018),
    [anon_sym_LT] = ACTIONS(6020),
    [anon_sym_when] = ACTIONS(7108),
    [anon_sym_EQ_GT] = ACTIONS(7108),
    [anon_sym_AMP_DOT] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(6024),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6026),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(6028),
    [anon_sym_AMP_AMP] = ACTIONS(6028),
    [anon_sym_LT_LT] = ACTIONS(6030),
    [anon_sym_GT_GT] = ACTIONS(6030),
    [anon_sym_EQ_EQ] = ACTIONS(6032),
    [anon_sym_BANG_EQ] = ACTIONS(6028),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6028),
    [anon_sym_LT_EQ_GT] = ACTIONS(6028),
    [anon_sym_EQ_TILDE] = ACTIONS(6028),
    [anon_sym_BANG_TILDE] = ACTIONS(6028),
    [anon_sym_LT_EQ] = ACTIONS(6020),
    [anon_sym_GT] = ACTIONS(6020),
    [anon_sym_GT_EQ] = ACTIONS(6034),
    [anon_sym_CARET] = ACTIONS(6036),
    [anon_sym_PLUS] = ACTIONS(6038),
    [anon_sym_SLASH] = ACTIONS(6016),
    [anon_sym_PERCENT] = ACTIONS(6016),
    [sym_comment] = ACTIONS(110),
  },
  [7444] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6010),
    [sym__binary_star] = ACTIONS(6012),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(6014),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6016),
    [anon_sym_AMP] = ACTIONS(6018),
    [anon_sym_LT] = ACTIONS(6020),
    [anon_sym_when] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(6022),
    [anon_sym_DOT_DOT] = ACTIONS(6024),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6026),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(6028),
    [anon_sym_AMP_AMP] = ACTIONS(6028),
    [anon_sym_LT_LT] = ACTIONS(6030),
    [anon_sym_GT_GT] = ACTIONS(6030),
    [anon_sym_EQ_EQ] = ACTIONS(6032),
    [anon_sym_BANG_EQ] = ACTIONS(6028),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6028),
    [anon_sym_LT_EQ_GT] = ACTIONS(6028),
    [anon_sym_EQ_TILDE] = ACTIONS(6028),
    [anon_sym_BANG_TILDE] = ACTIONS(6028),
    [anon_sym_LT_EQ] = ACTIONS(6020),
    [anon_sym_GT] = ACTIONS(6020),
    [anon_sym_GT_EQ] = ACTIONS(6034),
    [anon_sym_CARET] = ACTIONS(6036),
    [anon_sym_PLUS] = ACTIONS(6038),
    [anon_sym_SLASH] = ACTIONS(6016),
    [anon_sym_PERCENT] = ACTIONS(6016),
    [sym_comment] = ACTIONS(110),
  },
  [7445] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6010),
    [sym__binary_star] = ACTIONS(6012),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(6014),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6016),
    [anon_sym_AMP] = ACTIONS(6018),
    [anon_sym_LT] = ACTIONS(6020),
    [anon_sym_when] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(6030),
    [anon_sym_GT_GT] = ACTIONS(6030),
    [anon_sym_EQ_EQ] = ACTIONS(6032),
    [anon_sym_BANG_EQ] = ACTIONS(6028),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6028),
    [anon_sym_LT_EQ_GT] = ACTIONS(6028),
    [anon_sym_EQ_TILDE] = ACTIONS(6028),
    [anon_sym_BANG_TILDE] = ACTIONS(6028),
    [anon_sym_LT_EQ] = ACTIONS(6020),
    [anon_sym_GT] = ACTIONS(6020),
    [anon_sym_GT_EQ] = ACTIONS(6034),
    [anon_sym_CARET] = ACTIONS(6036),
    [anon_sym_PLUS] = ACTIONS(6038),
    [anon_sym_SLASH] = ACTIONS(6016),
    [anon_sym_PERCENT] = ACTIONS(6016),
    [sym_comment] = ACTIONS(110),
  },
  [7446] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6010),
    [sym__binary_star] = ACTIONS(6012),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6016),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_when] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(6038),
    [anon_sym_SLASH] = ACTIONS(6016),
    [anon_sym_PERCENT] = ACTIONS(6016),
    [sym_comment] = ACTIONS(110),
  },
  [7447] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(6012),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6016),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_when] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(6016),
    [anon_sym_PERCENT] = ACTIONS(6016),
    [sym_comment] = ACTIONS(110),
  },
  [7448] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__line_break] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(6192),
    [sym__binary_star] = ACTIONS(6194),
    [anon_sym_LBRACE] = ACTIONS(5298),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(6196),
    [anon_sym_SEMI] = ACTIONS(5298),
    [anon_sym_STAR_STAR] = ACTIONS(6198),
    [anon_sym_AMP] = ACTIONS(6200),
    [anon_sym_EQ] = ACTIONS(5304),
    [anon_sym_LT] = ACTIONS(6202),
    [anon_sym_do] = ACTIONS(5298),
    [anon_sym_when] = ACTIONS(5298),
    [anon_sym_EQ_GT] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_PLUS_EQ] = ACTIONS(5298),
    [anon_sym_DASH_EQ] = ACTIONS(5298),
    [anon_sym_STAR_EQ] = ACTIONS(5298),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5298),
    [anon_sym_SLASH_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5298),
    [anon_sym_AMP_EQ] = ACTIONS(5298),
    [anon_sym_PERCENT_EQ] = ACTIONS(5298),
    [anon_sym_GT_GT_EQ] = ACTIONS(5298),
    [anon_sym_LT_LT_EQ] = ACTIONS(5298),
    [anon_sym_CARET_EQ] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(6204),
    [anon_sym_DOT_DOT] = ACTIONS(6206),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6208),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(6210),
    [anon_sym_AMP_AMP] = ACTIONS(6210),
    [anon_sym_LT_LT] = ACTIONS(6212),
    [anon_sym_GT_GT] = ACTIONS(6212),
    [anon_sym_EQ_EQ] = ACTIONS(6210),
    [anon_sym_BANG_EQ] = ACTIONS(6214),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6214),
    [anon_sym_LT_EQ_GT] = ACTIONS(6214),
    [anon_sym_EQ_TILDE] = ACTIONS(6214),
    [anon_sym_BANG_TILDE] = ACTIONS(6214),
    [anon_sym_LT_EQ] = ACTIONS(6202),
    [anon_sym_GT] = ACTIONS(6202),
    [anon_sym_GT_EQ] = ACTIONS(6216),
    [anon_sym_CARET] = ACTIONS(6196),
    [anon_sym_PLUS] = ACTIONS(6218),
    [anon_sym_SLASH] = ACTIONS(6198),
    [anon_sym_PERCENT] = ACTIONS(6198),
    [sym_comment] = ACTIONS(256),
  },
  [7449] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__line_break] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(6192),
    [sym__binary_star] = ACTIONS(6194),
    [anon_sym_LBRACE] = ACTIONS(5338),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(6196),
    [anon_sym_SEMI] = ACTIONS(5338),
    [anon_sym_STAR_STAR] = ACTIONS(6198),
    [anon_sym_AMP] = ACTIONS(6200),
    [anon_sym_EQ] = ACTIONS(5340),
    [anon_sym_LT] = ACTIONS(6202),
    [anon_sym_do] = ACTIONS(5338),
    [anon_sym_when] = ACTIONS(5338),
    [anon_sym_EQ_GT] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_PLUS_EQ] = ACTIONS(5338),
    [anon_sym_DASH_EQ] = ACTIONS(5338),
    [anon_sym_STAR_EQ] = ACTIONS(5338),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5338),
    [anon_sym_SLASH_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5338),
    [anon_sym_AMP_EQ] = ACTIONS(5338),
    [anon_sym_PERCENT_EQ] = ACTIONS(5338),
    [anon_sym_GT_GT_EQ] = ACTIONS(5338),
    [anon_sym_LT_LT_EQ] = ACTIONS(5338),
    [anon_sym_CARET_EQ] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(6204),
    [anon_sym_DOT_DOT] = ACTIONS(6206),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6208),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(6210),
    [anon_sym_AMP_AMP] = ACTIONS(6210),
    [anon_sym_LT_LT] = ACTIONS(6212),
    [anon_sym_GT_GT] = ACTIONS(6212),
    [anon_sym_EQ_EQ] = ACTIONS(6210),
    [anon_sym_BANG_EQ] = ACTIONS(6214),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6214),
    [anon_sym_LT_EQ_GT] = ACTIONS(6214),
    [anon_sym_EQ_TILDE] = ACTIONS(6214),
    [anon_sym_BANG_TILDE] = ACTIONS(6214),
    [anon_sym_LT_EQ] = ACTIONS(6202),
    [anon_sym_GT] = ACTIONS(6202),
    [anon_sym_GT_EQ] = ACTIONS(6216),
    [anon_sym_CARET] = ACTIONS(6196),
    [anon_sym_PLUS] = ACTIONS(6218),
    [anon_sym_SLASH] = ACTIONS(6198),
    [anon_sym_PERCENT] = ACTIONS(6198),
    [sym_comment] = ACTIONS(256),
  },
  [7450] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__line_break] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(6192),
    [sym__binary_star] = ACTIONS(6194),
    [anon_sym_LBRACE] = ACTIONS(4284),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(6196),
    [anon_sym_SEMI] = ACTIONS(4284),
    [anon_sym_STAR_STAR] = ACTIONS(6198),
    [anon_sym_AMP] = ACTIONS(6200),
    [anon_sym_EQ] = ACTIONS(5432),
    [anon_sym_LT] = ACTIONS(6202),
    [anon_sym_do] = ACTIONS(4284),
    [anon_sym_when] = ACTIONS(4284),
    [anon_sym_EQ_GT] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_PLUS_EQ] = ACTIONS(4284),
    [anon_sym_DASH_EQ] = ACTIONS(4284),
    [anon_sym_STAR_EQ] = ACTIONS(4284),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(4284),
    [anon_sym_SLASH_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(4284),
    [anon_sym_AMP_EQ] = ACTIONS(4284),
    [anon_sym_PERCENT_EQ] = ACTIONS(4284),
    [anon_sym_GT_GT_EQ] = ACTIONS(4284),
    [anon_sym_LT_LT_EQ] = ACTIONS(4284),
    [anon_sym_CARET_EQ] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(6204),
    [anon_sym_DOT_DOT] = ACTIONS(6206),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6208),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(6210),
    [anon_sym_AMP_AMP] = ACTIONS(6210),
    [anon_sym_LT_LT] = ACTIONS(6212),
    [anon_sym_GT_GT] = ACTIONS(6212),
    [anon_sym_EQ_EQ] = ACTIONS(6210),
    [anon_sym_BANG_EQ] = ACTIONS(6214),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6214),
    [anon_sym_LT_EQ_GT] = ACTIONS(6214),
    [anon_sym_EQ_TILDE] = ACTIONS(6214),
    [anon_sym_BANG_TILDE] = ACTIONS(6214),
    [anon_sym_LT_EQ] = ACTIONS(6202),
    [anon_sym_GT] = ACTIONS(6202),
    [anon_sym_GT_EQ] = ACTIONS(6216),
    [anon_sym_CARET] = ACTIONS(6196),
    [anon_sym_PLUS] = ACTIONS(6218),
    [anon_sym_SLASH] = ACTIONS(6198),
    [anon_sym_PERCENT] = ACTIONS(6198),
    [sym_comment] = ACTIONS(256),
  },
  [7451] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10429),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1680),
    [sym_call] = STATE(1680),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1682),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1683),
    [sym__variable] = STATE(1680),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2638),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(6178),
    [anon_sym_yield] = ACTIONS(6180),
    [anon_sym_break] = ACTIONS(6182),
    [anon_sym_next] = ACTIONS(6184),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(6186),
    [anon_sym_defined_QMARK] = ACTIONS(2648),
    [anon_sym_not] = ACTIONS(6188),
    [anon_sym_BANG] = ACTIONS(2654),
    [anon_sym_TILDE] = ACTIONS(2654),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7452] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4181),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1680),
    [sym_call] = STATE(1680),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(6946),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1682),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1683),
    [sym__variable] = STATE(1680),
    [sym_reserved_identifier] = STATE(4183),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(4184),
    [sym_subshell] = STATE(561),
    [sym_heredoc_end] = STATE(10430),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__block_ampersand] = ACTIONS(6040),
    [sym__splat_star] = ACTIONS(6042),
    [sym__unary_minus] = ACTIONS(2638),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(13228),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2640),
    [anon_sym_yield] = ACTIONS(2642),
    [anon_sym_break] = ACTIONS(2644),
    [anon_sym_next] = ACTIONS(2646),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(6186),
    [anon_sym_defined_QMARK] = ACTIONS(2648),
    [anon_sym_not] = ACTIONS(2650),
    [anon_sym_BANG] = ACTIONS(2654),
    [anon_sym_TILDE] = ACTIONS(2654),
    [sym_constant] = ACTIONS(6044),
    [sym_identifier] = ACTIONS(6044),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7453] = {
    [sym_heredoc_end] = STATE(3770),
    [aux_sym_argument_list_repeat2] = STATE(6949),
    [sym__simple_heredoc_body] = ACTIONS(5460),
    [sym__heredoc_body_beginning] = ACTIONS(5462),
    [sym__line_break] = ACTIONS(5472),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_LBRACE] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(13230),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_SEMI] = ACTIONS(5472),
    [anon_sym_STAR_STAR] = ACTIONS(5474),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_EQ] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_do] = ACTIONS(5472),
    [anon_sym_when] = ACTIONS(5472),
    [anon_sym_EQ_GT] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_PLUS_EQ] = ACTIONS(5472),
    [anon_sym_DASH_EQ] = ACTIONS(5472),
    [anon_sym_STAR_EQ] = ACTIONS(5472),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5472),
    [anon_sym_SLASH_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5472),
    [anon_sym_AMP_EQ] = ACTIONS(5472),
    [anon_sym_PERCENT_EQ] = ACTIONS(5472),
    [anon_sym_GT_GT_EQ] = ACTIONS(5472),
    [anon_sym_LT_LT_EQ] = ACTIONS(5472),
    [anon_sym_CARET_EQ] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5474),
    [anon_sym_AMP_AMP] = ACTIONS(5474),
    [anon_sym_LT_LT] = ACTIONS(5474),
    [anon_sym_GT_GT] = ACTIONS(5474),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5474),
    [anon_sym_PLUS] = ACTIONS(5474),
    [anon_sym_SLASH] = ACTIONS(5474),
    [anon_sym_PERCENT] = ACTIONS(5474),
    [sym_comment] = ACTIONS(256),
  },
  [7454] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10432),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1680),
    [sym_call] = STATE(1680),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1682),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1683),
    [sym__variable] = STATE(1680),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2638),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(6178),
    [anon_sym_yield] = ACTIONS(6180),
    [anon_sym_break] = ACTIONS(6182),
    [anon_sym_next] = ACTIONS(6184),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(6186),
    [anon_sym_defined_QMARK] = ACTIONS(2648),
    [anon_sym_not] = ACTIONS(6188),
    [anon_sym_BANG] = ACTIONS(2654),
    [anon_sym_TILDE] = ACTIONS(2654),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7455] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1627),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1628),
    [sym_call] = STATE(1628),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(6955),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1630),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1631),
    [sym__variable] = STATE(1628),
    [sym_reserved_identifier] = STATE(1632),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(1633),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__block_ampersand] = ACTIONS(2554),
    [sym__splat_star] = ACTIONS(2556),
    [sym__unary_minus] = ACTIONS(2558),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(10174),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2560),
    [anon_sym_yield] = ACTIONS(2562),
    [anon_sym_break] = ACTIONS(2564),
    [anon_sym_next] = ACTIONS(2566),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(5998),
    [anon_sym_defined_QMARK] = ACTIONS(2568),
    [anon_sym_not] = ACTIONS(2570),
    [anon_sym_BANG] = ACTIONS(2574),
    [anon_sym_TILDE] = ACTIONS(2574),
    [sym_constant] = ACTIONS(2576),
    [sym_identifier] = ACTIONS(2576),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7456] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1627),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1628),
    [sym_call] = STATE(1628),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(6955),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1630),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1631),
    [sym__variable] = STATE(1628),
    [sym_reserved_identifier] = STATE(1632),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(1633),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(10433),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__block_ampersand] = ACTIONS(2554),
    [sym__splat_star] = ACTIONS(2556),
    [sym__unary_minus] = ACTIONS(2558),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(10174),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2560),
    [anon_sym_yield] = ACTIONS(2562),
    [anon_sym_break] = ACTIONS(2564),
    [anon_sym_next] = ACTIONS(2566),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(5998),
    [anon_sym_defined_QMARK] = ACTIONS(2568),
    [anon_sym_not] = ACTIONS(2570),
    [anon_sym_BANG] = ACTIONS(2574),
    [anon_sym_TILDE] = ACTIONS(2574),
    [sym_constant] = ACTIONS(2576),
    [sym_identifier] = ACTIONS(2576),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7457] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__line_break] = ACTIONS(6346),
    [sym__element_reference_left_bracket] = ACTIONS(6346),
    [sym__scope_double_colon] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(6010),
    [sym__binary_star] = ACTIONS(6012),
    [anon_sym_DOT] = ACTIONS(7328),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(6014),
    [anon_sym_SEMI] = ACTIONS(6346),
    [anon_sym_STAR_STAR] = ACTIONS(6016),
    [anon_sym_AMP] = ACTIONS(6018),
    [anon_sym_LT] = ACTIONS(6020),
    [anon_sym_when] = ACTIONS(6346),
    [anon_sym_EQ_GT] = ACTIONS(6346),
    [anon_sym_AMP_DOT] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(6022),
    [anon_sym_DOT_DOT] = ACTIONS(6024),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6026),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(6028),
    [anon_sym_AMP_AMP] = ACTIONS(6028),
    [anon_sym_LT_LT] = ACTIONS(6030),
    [anon_sym_GT_GT] = ACTIONS(6030),
    [anon_sym_EQ_EQ] = ACTIONS(6032),
    [anon_sym_BANG_EQ] = ACTIONS(6028),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6028),
    [anon_sym_LT_EQ_GT] = ACTIONS(6028),
    [anon_sym_EQ_TILDE] = ACTIONS(6028),
    [anon_sym_BANG_TILDE] = ACTIONS(6028),
    [anon_sym_LT_EQ] = ACTIONS(6020),
    [anon_sym_GT] = ACTIONS(6020),
    [anon_sym_GT_EQ] = ACTIONS(6034),
    [anon_sym_CARET] = ACTIONS(6036),
    [anon_sym_PLUS] = ACTIONS(6038),
    [anon_sym_SLASH] = ACTIONS(6016),
    [anon_sym_PERCENT] = ACTIONS(6016),
    [sym_comment] = ACTIONS(110),
  },
  [7458] = {
    [aux_sym_exceptions_repeat1] = STATE(10435),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__line_break] = ACTIONS(7330),
    [sym__element_reference_left_bracket] = ACTIONS(7330),
    [sym__scope_double_colon] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_DOT] = ACTIONS(7332),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_SEMI] = ACTIONS(7330),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_when] = ACTIONS(7330),
    [anon_sym_EQ_GT] = ACTIONS(7330),
    [anon_sym_AMP_DOT] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [7459] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__line_break] = ACTIONS(7344),
    [sym__element_reference_left_bracket] = ACTIONS(7344),
    [sym__scope_double_colon] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(6010),
    [sym__binary_star] = ACTIONS(6012),
    [anon_sym_DOT] = ACTIONS(9504),
    [anon_sym_COMMA] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(6014),
    [anon_sym_SEMI] = ACTIONS(7344),
    [anon_sym_STAR_STAR] = ACTIONS(6016),
    [anon_sym_AMP] = ACTIONS(6018),
    [anon_sym_LT] = ACTIONS(6020),
    [anon_sym_when] = ACTIONS(7344),
    [anon_sym_EQ_GT] = ACTIONS(7344),
    [anon_sym_AMP_DOT] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(6022),
    [anon_sym_DOT_DOT] = ACTIONS(6024),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6026),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(6028),
    [anon_sym_AMP_AMP] = ACTIONS(6028),
    [anon_sym_LT_LT] = ACTIONS(6030),
    [anon_sym_GT_GT] = ACTIONS(6030),
    [anon_sym_EQ_EQ] = ACTIONS(6032),
    [anon_sym_BANG_EQ] = ACTIONS(6028),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6028),
    [anon_sym_LT_EQ_GT] = ACTIONS(6028),
    [anon_sym_EQ_TILDE] = ACTIONS(6028),
    [anon_sym_BANG_TILDE] = ACTIONS(6028),
    [anon_sym_LT_EQ] = ACTIONS(6020),
    [anon_sym_GT] = ACTIONS(6020),
    [anon_sym_GT_EQ] = ACTIONS(6034),
    [anon_sym_CARET] = ACTIONS(6036),
    [anon_sym_PLUS] = ACTIONS(6038),
    [anon_sym_SLASH] = ACTIONS(6016),
    [anon_sym_PERCENT] = ACTIONS(6016),
    [sym_comment] = ACTIONS(110),
  },
  [7460] = {
    [sym__simple_heredoc_body] = ACTIONS(8662),
    [sym__heredoc_body_beginning] = ACTIONS(8662),
    [sym__line_break] = ACTIONS(8662),
    [sym__element_reference_left_bracket] = ACTIONS(8662),
    [sym__scope_double_colon] = ACTIONS(8662),
    [sym__binary_minus] = ACTIONS(10126),
    [sym__binary_star] = ACTIONS(10128),
    [anon_sym_DOT] = ACTIONS(9506),
    [anon_sym_COMMA] = ACTIONS(8662),
    [anon_sym_PIPE] = ACTIONS(10130),
    [anon_sym_SEMI] = ACTIONS(8662),
    [anon_sym_STAR_STAR] = ACTIONS(10132),
    [anon_sym_AMP] = ACTIONS(10134),
    [anon_sym_LT] = ACTIONS(10136),
    [anon_sym_when] = ACTIONS(8662),
    [anon_sym_AMP_DOT] = ACTIONS(8662),
    [anon_sym_QMARK] = ACTIONS(10138),
    [anon_sym_DOT_DOT] = ACTIONS(10140),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10142),
    [anon_sym_and] = ACTIONS(8662),
    [anon_sym_or] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE] = ACTIONS(10144),
    [anon_sym_AMP_AMP] = ACTIONS(10144),
    [anon_sym_LT_LT] = ACTIONS(10146),
    [anon_sym_GT_GT] = ACTIONS(10146),
    [anon_sym_EQ_EQ] = ACTIONS(10148),
    [anon_sym_BANG_EQ] = ACTIONS(10144),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10144),
    [anon_sym_LT_EQ_GT] = ACTIONS(10144),
    [anon_sym_EQ_TILDE] = ACTIONS(10144),
    [anon_sym_BANG_TILDE] = ACTIONS(10144),
    [anon_sym_LT_EQ] = ACTIONS(10136),
    [anon_sym_GT] = ACTIONS(10136),
    [anon_sym_GT_EQ] = ACTIONS(10150),
    [anon_sym_CARET] = ACTIONS(10152),
    [anon_sym_PLUS] = ACTIONS(10154),
    [anon_sym_SLASH] = ACTIONS(10132),
    [anon_sym_PERCENT] = ACTIONS(10132),
    [sym_comment] = ACTIONS(110),
  },
  [7461] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10436),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1645),
    [sym_call] = STATE(1645),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7466),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7467),
    [sym__variable] = STATE(1645),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(10178),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2582),
    [anon_sym_yield] = ACTIONS(2584),
    [anon_sym_break] = ACTIONS(2586),
    [anon_sym_next] = ACTIONS(2588),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10180),
    [anon_sym_defined_QMARK] = ACTIONS(10182),
    [anon_sym_not] = ACTIONS(10184),
    [anon_sym_BANG] = ACTIONS(10186),
    [anon_sym_TILDE] = ACTIONS(10186),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7462] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10437),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1645),
    [sym_call] = STATE(1645),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7466),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7467),
    [sym__variable] = STATE(1645),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(10178),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2582),
    [anon_sym_yield] = ACTIONS(2584),
    [anon_sym_break] = ACTIONS(2586),
    [anon_sym_next] = ACTIONS(2588),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10180),
    [anon_sym_defined_QMARK] = ACTIONS(10182),
    [anon_sym_not] = ACTIONS(10184),
    [anon_sym_BANG] = ACTIONS(10186),
    [anon_sym_TILDE] = ACTIONS(10186),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7463] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10438),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1645),
    [sym_call] = STATE(1645),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7466),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7467),
    [sym__variable] = STATE(1645),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(10178),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2582),
    [anon_sym_yield] = ACTIONS(2584),
    [anon_sym_break] = ACTIONS(2586),
    [anon_sym_next] = ACTIONS(2588),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10180),
    [anon_sym_defined_QMARK] = ACTIONS(10182),
    [anon_sym_not] = ACTIONS(10184),
    [anon_sym_BANG] = ACTIONS(10186),
    [anon_sym_TILDE] = ACTIONS(10186),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7464] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1410),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1645),
    [sym_call] = STATE(1645),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7466),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7467),
    [sym__variable] = STATE(1645),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(10178),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2582),
    [anon_sym_yield] = ACTIONS(2584),
    [anon_sym_break] = ACTIONS(2586),
    [anon_sym_next] = ACTIONS(2588),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10180),
    [anon_sym_defined_QMARK] = ACTIONS(10182),
    [anon_sym_not] = ACTIONS(10184),
    [anon_sym_BANG] = ACTIONS(10186),
    [anon_sym_TILDE] = ACTIONS(10186),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7465] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__line_break] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(13232),
    [sym__binary_star] = ACTIONS(13234),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(13236),
    [anon_sym_SEMI] = ACTIONS(5298),
    [anon_sym_STAR_STAR] = ACTIONS(13238),
    [anon_sym_AMP] = ACTIONS(13240),
    [anon_sym_LT] = ACTIONS(13242),
    [anon_sym_then] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(13244),
    [anon_sym_DOT_DOT] = ACTIONS(13246),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(13248),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(13250),
    [anon_sym_AMP_AMP] = ACTIONS(13250),
    [anon_sym_LT_LT] = ACTIONS(13252),
    [anon_sym_GT_GT] = ACTIONS(13252),
    [anon_sym_EQ_EQ] = ACTIONS(13254),
    [anon_sym_BANG_EQ] = ACTIONS(13250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(13250),
    [anon_sym_LT_EQ_GT] = ACTIONS(13250),
    [anon_sym_EQ_TILDE] = ACTIONS(13250),
    [anon_sym_BANG_TILDE] = ACTIONS(13250),
    [anon_sym_LT_EQ] = ACTIONS(13242),
    [anon_sym_GT] = ACTIONS(13242),
    [anon_sym_GT_EQ] = ACTIONS(13256),
    [anon_sym_CARET] = ACTIONS(13258),
    [anon_sym_PLUS] = ACTIONS(13260),
    [anon_sym_SLASH] = ACTIONS(13238),
    [anon_sym_PERCENT] = ACTIONS(13238),
    [sym_comment] = ACTIONS(110),
  },
  [7466] = {
    [anon_sym_EQ] = ACTIONS(13262),
    [sym_comment] = ACTIONS(256),
  },
  [7467] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(13264),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_then] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(13266),
    [anon_sym_DASH_EQ] = ACTIONS(13266),
    [anon_sym_STAR_EQ] = ACTIONS(13266),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(13266),
    [anon_sym_SLASH_EQ] = ACTIONS(13266),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(13266),
    [anon_sym_PIPE_EQ] = ACTIONS(13266),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(13266),
    [anon_sym_AMP_EQ] = ACTIONS(13266),
    [anon_sym_PERCENT_EQ] = ACTIONS(13266),
    [anon_sym_GT_GT_EQ] = ACTIONS(13266),
    [anon_sym_LT_LT_EQ] = ACTIONS(13266),
    [anon_sym_CARET_EQ] = ACTIONS(13266),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [7468] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__line_break] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(13232),
    [sym__binary_star] = ACTIONS(13234),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(13236),
    [anon_sym_SEMI] = ACTIONS(5338),
    [anon_sym_STAR_STAR] = ACTIONS(13238),
    [anon_sym_AMP] = ACTIONS(13240),
    [anon_sym_LT] = ACTIONS(13242),
    [anon_sym_then] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(13244),
    [anon_sym_DOT_DOT] = ACTIONS(13246),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(13248),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(13250),
    [anon_sym_AMP_AMP] = ACTIONS(13250),
    [anon_sym_LT_LT] = ACTIONS(13252),
    [anon_sym_GT_GT] = ACTIONS(13252),
    [anon_sym_EQ_EQ] = ACTIONS(13254),
    [anon_sym_BANG_EQ] = ACTIONS(13250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(13250),
    [anon_sym_LT_EQ_GT] = ACTIONS(13250),
    [anon_sym_EQ_TILDE] = ACTIONS(13250),
    [anon_sym_BANG_TILDE] = ACTIONS(13250),
    [anon_sym_LT_EQ] = ACTIONS(13242),
    [anon_sym_GT] = ACTIONS(13242),
    [anon_sym_GT_EQ] = ACTIONS(13256),
    [anon_sym_CARET] = ACTIONS(13258),
    [anon_sym_PLUS] = ACTIONS(13260),
    [anon_sym_SLASH] = ACTIONS(13238),
    [anon_sym_PERCENT] = ACTIONS(13238),
    [sym_comment] = ACTIONS(110),
  },
  [7469] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(10200),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_then] = ACTIONS(1372),
    [anon_sym_EQ_GT] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [7470] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__line_break] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(13232),
    [sym__binary_star] = ACTIONS(13234),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(13236),
    [anon_sym_SEMI] = ACTIONS(4284),
    [anon_sym_STAR_STAR] = ACTIONS(13238),
    [anon_sym_AMP] = ACTIONS(13240),
    [anon_sym_LT] = ACTIONS(13242),
    [anon_sym_then] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(13244),
    [anon_sym_DOT_DOT] = ACTIONS(13246),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(13248),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(13250),
    [anon_sym_AMP_AMP] = ACTIONS(13250),
    [anon_sym_LT_LT] = ACTIONS(13252),
    [anon_sym_GT_GT] = ACTIONS(13252),
    [anon_sym_EQ_EQ] = ACTIONS(13254),
    [anon_sym_BANG_EQ] = ACTIONS(13250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(13250),
    [anon_sym_LT_EQ_GT] = ACTIONS(13250),
    [anon_sym_EQ_TILDE] = ACTIONS(13250),
    [anon_sym_BANG_TILDE] = ACTIONS(13250),
    [anon_sym_LT_EQ] = ACTIONS(13242),
    [anon_sym_GT] = ACTIONS(13242),
    [anon_sym_GT_EQ] = ACTIONS(13256),
    [anon_sym_CARET] = ACTIONS(13258),
    [anon_sym_PLUS] = ACTIONS(13260),
    [anon_sym_SLASH] = ACTIONS(13238),
    [anon_sym_PERCENT] = ACTIONS(13238),
    [sym_comment] = ACTIONS(110),
  },
  [7471] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(10200),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_then] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [7472] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(10194),
    [sym__binary_star] = ACTIONS(10196),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(10198),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(10200),
    [anon_sym_AMP] = ACTIONS(10202),
    [anon_sym_LT] = ACTIONS(10204),
    [anon_sym_then] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(10206),
    [anon_sym_DOT_DOT] = ACTIONS(10208),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10210),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(10212),
    [anon_sym_AMP_AMP] = ACTIONS(10212),
    [anon_sym_LT_LT] = ACTIONS(10214),
    [anon_sym_GT_GT] = ACTIONS(10214),
    [anon_sym_EQ_EQ] = ACTIONS(10216),
    [anon_sym_BANG_EQ] = ACTIONS(10212),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10212),
    [anon_sym_LT_EQ_GT] = ACTIONS(10212),
    [anon_sym_EQ_TILDE] = ACTIONS(10212),
    [anon_sym_BANG_TILDE] = ACTIONS(10212),
    [anon_sym_LT_EQ] = ACTIONS(10204),
    [anon_sym_GT] = ACTIONS(10204),
    [anon_sym_GT_EQ] = ACTIONS(10218),
    [anon_sym_CARET] = ACTIONS(10220),
    [anon_sym_PLUS] = ACTIONS(10222),
    [anon_sym_SLASH] = ACTIONS(10200),
    [anon_sym_PERCENT] = ACTIONS(10200),
    [sym_comment] = ACTIONS(110),
  },
  [7473] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10453),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1645),
    [sym_call] = STATE(1645),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7466),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7467),
    [sym__variable] = STATE(1645),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(10178),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2582),
    [anon_sym_yield] = ACTIONS(2584),
    [anon_sym_break] = ACTIONS(2586),
    [anon_sym_next] = ACTIONS(2588),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10180),
    [anon_sym_defined_QMARK] = ACTIONS(10182),
    [anon_sym_not] = ACTIONS(10184),
    [anon_sym_BANG] = ACTIONS(10186),
    [anon_sym_TILDE] = ACTIONS(10186),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7474] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10454),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4207),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4208),
    [sym__variable] = STATE(1732),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6060),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2712),
    [anon_sym_yield] = ACTIONS(2714),
    [anon_sym_break] = ACTIONS(2716),
    [anon_sym_next] = ACTIONS(2718),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10188),
    [anon_sym_defined_QMARK] = ACTIONS(6070),
    [anon_sym_not] = ACTIONS(10190),
    [anon_sym_BANG] = ACTIONS(6076),
    [anon_sym_TILDE] = ACTIONS(6076),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7475] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10455),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4207),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4208),
    [sym__variable] = STATE(1732),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6060),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2712),
    [anon_sym_yield] = ACTIONS(2714),
    [anon_sym_break] = ACTIONS(2716),
    [anon_sym_next] = ACTIONS(2718),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10188),
    [anon_sym_defined_QMARK] = ACTIONS(6070),
    [anon_sym_not] = ACTIONS(10190),
    [anon_sym_BANG] = ACTIONS(6076),
    [anon_sym_TILDE] = ACTIONS(6076),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7476] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10456),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4207),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4208),
    [sym__variable] = STATE(1732),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6060),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2712),
    [anon_sym_yield] = ACTIONS(2714),
    [anon_sym_break] = ACTIONS(2716),
    [anon_sym_next] = ACTIONS(2718),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10188),
    [anon_sym_defined_QMARK] = ACTIONS(6070),
    [anon_sym_not] = ACTIONS(10190),
    [anon_sym_BANG] = ACTIONS(6076),
    [anon_sym_TILDE] = ACTIONS(6076),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7477] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10457),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4207),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4208),
    [sym__variable] = STATE(1732),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6060),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2712),
    [anon_sym_yield] = ACTIONS(2714),
    [anon_sym_break] = ACTIONS(2716),
    [anon_sym_next] = ACTIONS(2718),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10188),
    [anon_sym_defined_QMARK] = ACTIONS(6070),
    [anon_sym_not] = ACTIONS(10190),
    [anon_sym_BANG] = ACTIONS(6076),
    [anon_sym_TILDE] = ACTIONS(6076),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7478] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10458),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4207),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4208),
    [sym__variable] = STATE(1732),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6060),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2712),
    [anon_sym_yield] = ACTIONS(2714),
    [anon_sym_break] = ACTIONS(2716),
    [anon_sym_next] = ACTIONS(2718),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10188),
    [anon_sym_defined_QMARK] = ACTIONS(6070),
    [anon_sym_not] = ACTIONS(10190),
    [anon_sym_BANG] = ACTIONS(6076),
    [anon_sym_TILDE] = ACTIONS(6076),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7479] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10459),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4207),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4208),
    [sym__variable] = STATE(1732),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6060),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2712),
    [anon_sym_yield] = ACTIONS(2714),
    [anon_sym_break] = ACTIONS(2716),
    [anon_sym_next] = ACTIONS(2718),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10188),
    [anon_sym_defined_QMARK] = ACTIONS(6070),
    [anon_sym_not] = ACTIONS(10190),
    [anon_sym_BANG] = ACTIONS(6076),
    [anon_sym_TILDE] = ACTIONS(6076),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7480] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(10460),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [7481] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10461),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4207),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4208),
    [sym__variable] = STATE(1732),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6060),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2712),
    [anon_sym_yield] = ACTIONS(2714),
    [anon_sym_break] = ACTIONS(2716),
    [anon_sym_next] = ACTIONS(2718),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10188),
    [anon_sym_defined_QMARK] = ACTIONS(6070),
    [anon_sym_not] = ACTIONS(10190),
    [anon_sym_BANG] = ACTIONS(6076),
    [anon_sym_TILDE] = ACTIONS(6076),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7482] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10462),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4207),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4208),
    [sym__variable] = STATE(1732),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6060),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2712),
    [anon_sym_yield] = ACTIONS(2714),
    [anon_sym_break] = ACTIONS(2716),
    [anon_sym_next] = ACTIONS(2718),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10188),
    [anon_sym_defined_QMARK] = ACTIONS(6070),
    [anon_sym_not] = ACTIONS(10190),
    [anon_sym_BANG] = ACTIONS(6076),
    [anon_sym_TILDE] = ACTIONS(6076),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7483] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10463),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4207),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4208),
    [sym__variable] = STATE(1732),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6060),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2712),
    [anon_sym_yield] = ACTIONS(2714),
    [anon_sym_break] = ACTIONS(2716),
    [anon_sym_next] = ACTIONS(2718),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10188),
    [anon_sym_defined_QMARK] = ACTIONS(6070),
    [anon_sym_not] = ACTIONS(10190),
    [anon_sym_BANG] = ACTIONS(6076),
    [anon_sym_TILDE] = ACTIONS(6076),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7484] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10464),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4207),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4208),
    [sym__variable] = STATE(1732),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6060),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2712),
    [anon_sym_yield] = ACTIONS(2714),
    [anon_sym_break] = ACTIONS(2716),
    [anon_sym_next] = ACTIONS(2718),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10188),
    [anon_sym_defined_QMARK] = ACTIONS(6070),
    [anon_sym_not] = ACTIONS(10190),
    [anon_sym_BANG] = ACTIONS(6076),
    [anon_sym_TILDE] = ACTIONS(6076),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7485] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10465),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4207),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4208),
    [sym__variable] = STATE(1732),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6060),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2712),
    [anon_sym_yield] = ACTIONS(2714),
    [anon_sym_break] = ACTIONS(2716),
    [anon_sym_next] = ACTIONS(2718),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10188),
    [anon_sym_defined_QMARK] = ACTIONS(6070),
    [anon_sym_not] = ACTIONS(10190),
    [anon_sym_BANG] = ACTIONS(6076),
    [anon_sym_TILDE] = ACTIONS(6076),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7486] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4205),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(3780),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4207),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4208),
    [sym__variable] = STATE(1732),
    [sym_reserved_identifier] = STATE(4209),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(4210),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(10466),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__block_ampersand] = ACTIONS(6056),
    [sym__splat_star] = ACTIONS(6058),
    [sym__unary_minus] = ACTIONS(6060),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(13268),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(6062),
    [anon_sym_yield] = ACTIONS(6064),
    [anon_sym_break] = ACTIONS(6066),
    [anon_sym_next] = ACTIONS(6068),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(10188),
    [anon_sym_defined_QMARK] = ACTIONS(6070),
    [anon_sym_not] = ACTIONS(6072),
    [anon_sym_BANG] = ACTIONS(6076),
    [anon_sym_TILDE] = ACTIONS(6076),
    [sym_constant] = ACTIONS(6078),
    [sym_identifier] = ACTIONS(6078),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7487] = {
    [sym_heredoc_end] = STATE(1444),
    [aux_sym_argument_list_repeat2] = STATE(3783),
    [sym__simple_heredoc_body] = ACTIONS(2268),
    [sym__heredoc_body_beginning] = ACTIONS(2270),
    [sym__line_break] = ACTIONS(5472),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(13270),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_SEMI] = ACTIONS(5472),
    [anon_sym_STAR_STAR] = ACTIONS(5472),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_then] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5472),
    [anon_sym_AMP_AMP] = ACTIONS(5472),
    [anon_sym_LT_LT] = ACTIONS(5472),
    [anon_sym_GT_GT] = ACTIONS(5472),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5472),
    [anon_sym_PLUS] = ACTIONS(5472),
    [anon_sym_SLASH] = ACTIONS(5472),
    [anon_sym_PERCENT] = ACTIONS(5472),
    [sym_comment] = ACTIONS(110),
  },
  [7488] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10468),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_splat_argument] = STATE(3785),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_right_assignment_list] = STATE(3786),
    [sym__arg_or_splat_arg] = STATE(10469),
    [sym_left_assignment_list] = STATE(4207),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4208),
    [sym__variable] = STATE(1732),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(6324),
    [sym__unary_minus] = ACTIONS(6060),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2712),
    [anon_sym_yield] = ACTIONS(2714),
    [anon_sym_break] = ACTIONS(2716),
    [anon_sym_next] = ACTIONS(2718),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10188),
    [anon_sym_defined_QMARK] = ACTIONS(6070),
    [anon_sym_not] = ACTIONS(10190),
    [anon_sym_BANG] = ACTIONS(6076),
    [anon_sym_TILDE] = ACTIONS(6076),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7489] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10470),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4207),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4208),
    [sym__variable] = STATE(1732),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6060),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2712),
    [anon_sym_yield] = ACTIONS(2714),
    [anon_sym_break] = ACTIONS(2716),
    [anon_sym_next] = ACTIONS(2718),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10188),
    [anon_sym_defined_QMARK] = ACTIONS(6070),
    [anon_sym_not] = ACTIONS(10190),
    [anon_sym_BANG] = ACTIONS(6076),
    [anon_sym_TILDE] = ACTIONS(6076),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7490] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10471),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1645),
    [sym_call] = STATE(1645),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7466),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7467),
    [sym__variable] = STATE(1645),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(10178),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2582),
    [anon_sym_yield] = ACTIONS(2584),
    [anon_sym_break] = ACTIONS(2586),
    [anon_sym_next] = ACTIONS(2588),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10180),
    [anon_sym_defined_QMARK] = ACTIONS(10182),
    [anon_sym_not] = ACTIONS(10184),
    [anon_sym_BANG] = ACTIONS(10186),
    [anon_sym_TILDE] = ACTIONS(10186),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7491] = {
    [sym__heredoc_body_middle] = ACTIONS(4108),
    [sym__heredoc_body_end] = ACTIONS(13272),
    [anon_sym_if] = ACTIONS(4112),
    [anon_sym_unless] = ACTIONS(4114),
    [anon_sym_while] = ACTIONS(4116),
    [anon_sym_until] = ACTIONS(4118),
    [anon_sym_rescue] = ACTIONS(4120),
    [sym_comment] = ACTIONS(110),
  },
  [7492] = {
    [sym__statement] = STATE(10473),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [7493] = {
    [sym__simple_heredoc_body] = ACTIONS(13274),
    [sym__heredoc_body_beginning] = ACTIONS(13274),
    [sym__line_break] = ACTIONS(13274),
    [anon_sym_COMMA] = ACTIONS(13274),
    [anon_sym_SEMI] = ACTIONS(13274),
    [anon_sym_then] = ACTIONS(13274),
    [sym_comment] = ACTIONS(110),
  },
  [7494] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10474),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(7507),
    [sym_call] = STATE(7507),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(7508),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7509),
    [sym__variable] = STATE(7507),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(10234),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(10238),
    [anon_sym_yield] = ACTIONS(10240),
    [anon_sym_break] = ACTIONS(10242),
    [anon_sym_next] = ACTIONS(10244),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10246),
    [anon_sym_defined_QMARK] = ACTIONS(10248),
    [anon_sym_not] = ACTIONS(10250),
    [anon_sym_BANG] = ACTIONS(10252),
    [anon_sym_TILDE] = ACTIONS(10252),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7495] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10488),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(10489),
    [sym_call] = STATE(10489),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(340),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(10490),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(10491),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(10492),
    [sym__variable] = STATE(10489),
    [sym_reserved_identifier] = STATE(10493),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(10494),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(13276),
    [sym__splat_star] = ACTIONS(13278),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(13280),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(544),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(13282),
    [anon_sym_yield] = ACTIONS(13284),
    [anon_sym_break] = ACTIONS(13286),
    [anon_sym_next] = ACTIONS(13288),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(544),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(544),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(13290),
    [anon_sym_not] = ACTIONS(13292),
    [anon_sym_BANG] = ACTIONS(13294),
    [anon_sym_TILDE] = ACTIONS(13296),
    [sym_constant] = ACTIONS(13298),
    [sym_identifier] = ACTIONS(13298),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7496] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10488),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(10489),
    [sym_call] = STATE(10489),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(349),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(10490),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(10491),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(10492),
    [sym__variable] = STATE(10489),
    [sym_reserved_identifier] = STATE(10493),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(10494),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(13276),
    [sym__splat_star] = ACTIONS(13278),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(13280),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(604),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(13282),
    [anon_sym_yield] = ACTIONS(13284),
    [anon_sym_break] = ACTIONS(13286),
    [anon_sym_next] = ACTIONS(13288),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(604),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(604),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(13290),
    [anon_sym_not] = ACTIONS(13292),
    [anon_sym_BANG] = ACTIONS(13294),
    [anon_sym_TILDE] = ACTIONS(13296),
    [sym_constant] = ACTIONS(13298),
    [sym_identifier] = ACTIONS(13298),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7497] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10488),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(10489),
    [sym_call] = STATE(10489),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(350),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(10490),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(10491),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(10492),
    [sym__variable] = STATE(10489),
    [sym_reserved_identifier] = STATE(10493),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(10494),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(13276),
    [sym__splat_star] = ACTIONS(13278),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(13280),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(608),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(13282),
    [anon_sym_yield] = ACTIONS(13284),
    [anon_sym_break] = ACTIONS(13286),
    [anon_sym_next] = ACTIONS(13288),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(608),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(608),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(13290),
    [anon_sym_not] = ACTIONS(13292),
    [anon_sym_BANG] = ACTIONS(13294),
    [anon_sym_TILDE] = ACTIONS(13296),
    [sym_constant] = ACTIONS(13298),
    [sym_identifier] = ACTIONS(13298),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7498] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10488),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(10489),
    [sym_call] = STATE(10489),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(351),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(10490),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(10491),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(10492),
    [sym__variable] = STATE(10489),
    [sym_reserved_identifier] = STATE(10493),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(10494),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(13276),
    [sym__splat_star] = ACTIONS(13278),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(13280),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(612),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(13282),
    [anon_sym_yield] = ACTIONS(13284),
    [anon_sym_break] = ACTIONS(13286),
    [anon_sym_next] = ACTIONS(13288),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(612),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(612),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(13290),
    [anon_sym_not] = ACTIONS(13292),
    [anon_sym_BANG] = ACTIONS(13294),
    [anon_sym_TILDE] = ACTIONS(13296),
    [sym_constant] = ACTIONS(13298),
    [sym_identifier] = ACTIONS(13298),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7499] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10495),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(7507),
    [sym_call] = STATE(7507),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(7508),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7509),
    [sym__variable] = STATE(7507),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(10234),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(10238),
    [anon_sym_yield] = ACTIONS(10240),
    [anon_sym_break] = ACTIONS(10242),
    [anon_sym_next] = ACTIONS(10244),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10246),
    [anon_sym_defined_QMARK] = ACTIONS(10248),
    [anon_sym_not] = ACTIONS(10250),
    [anon_sym_BANG] = ACTIONS(10252),
    [anon_sym_TILDE] = ACTIONS(10252),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7500] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10496),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(7507),
    [sym_call] = STATE(7507),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(7508),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7509),
    [sym__variable] = STATE(7507),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(10234),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(10238),
    [anon_sym_yield] = ACTIONS(10240),
    [anon_sym_break] = ACTIONS(10242),
    [anon_sym_next] = ACTIONS(10244),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10246),
    [anon_sym_defined_QMARK] = ACTIONS(10248),
    [anon_sym_not] = ACTIONS(10250),
    [anon_sym_BANG] = ACTIONS(10252),
    [anon_sym_TILDE] = ACTIONS(10252),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7501] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(434),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(7507),
    [sym_call] = STATE(7507),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(7508),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7509),
    [sym__variable] = STATE(7507),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(10234),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(10238),
    [anon_sym_yield] = ACTIONS(10240),
    [anon_sym_break] = ACTIONS(10242),
    [anon_sym_next] = ACTIONS(10244),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10246),
    [anon_sym_defined_QMARK] = ACTIONS(10248),
    [anon_sym_not] = ACTIONS(10250),
    [anon_sym_BANG] = ACTIONS(10252),
    [anon_sym_TILDE] = ACTIONS(10252),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7502] = {
    [sym_when] = STATE(10497),
    [sym_else] = STATE(10497),
    [anon_sym_end] = ACTIONS(13300),
    [anon_sym_when] = ACTIONS(2612),
    [anon_sym_else] = ACTIONS(9594),
    [sym_comment] = ACTIONS(110),
  },
  [7503] = {
    [sym_heredoc_end] = STATE(10500),
    [sym__terminator] = STATE(10501),
    [aux_sym__statements_repeat1] = STATE(10502),
    [sym__simple_heredoc_body] = ACTIONS(13302),
    [sym__heredoc_body_beginning] = ACTIONS(13304),
    [sym__line_break] = ACTIONS(13306),
    [anon_sym_end] = ACTIONS(920),
    [anon_sym_SEMI] = ACTIONS(13306),
    [anon_sym_when] = ACTIONS(920),
    [anon_sym_else] = ACTIONS(920),
    [sym_comment] = ACTIONS(110),
  },
  [7504] = {
    [sym__simple_heredoc_body] = ACTIONS(922),
    [sym__heredoc_body_beginning] = ACTIONS(922),
    [sym__line_break] = ACTIONS(922),
    [anon_sym_end] = ACTIONS(922),
    [anon_sym_SEMI] = ACTIONS(922),
    [anon_sym_if] = ACTIONS(13308),
    [anon_sym_unless] = ACTIONS(13310),
    [anon_sym_while] = ACTIONS(13312),
    [anon_sym_until] = ACTIONS(13314),
    [anon_sym_rescue] = ACTIONS(13316),
    [anon_sym_when] = ACTIONS(922),
    [anon_sym_else] = ACTIONS(922),
    [sym_comment] = ACTIONS(110),
  },
  [7505] = {
    [anon_sym_end] = ACTIONS(13300),
    [sym_comment] = ACTIONS(110),
  },
  [7506] = {
    [sym__simple_heredoc_body] = ACTIONS(934),
    [sym__heredoc_body_beginning] = ACTIONS(934),
    [sym__line_break] = ACTIONS(934),
    [sym__binary_minus] = ACTIONS(13318),
    [sym__binary_star] = ACTIONS(13320),
    [anon_sym_end] = ACTIONS(934),
    [anon_sym_PIPE] = ACTIONS(13322),
    [anon_sym_SEMI] = ACTIONS(934),
    [anon_sym_STAR_STAR] = ACTIONS(13324),
    [anon_sym_AMP] = ACTIONS(13326),
    [anon_sym_LT] = ACTIONS(13328),
    [anon_sym_if] = ACTIONS(934),
    [anon_sym_unless] = ACTIONS(934),
    [anon_sym_while] = ACTIONS(934),
    [anon_sym_until] = ACTIONS(934),
    [anon_sym_rescue] = ACTIONS(934),
    [anon_sym_when] = ACTIONS(934),
    [anon_sym_else] = ACTIONS(934),
    [anon_sym_QMARK] = ACTIONS(13330),
    [anon_sym_DOT_DOT] = ACTIONS(13332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(13334),
    [anon_sym_and] = ACTIONS(13336),
    [anon_sym_or] = ACTIONS(13336),
    [anon_sym_PIPE_PIPE] = ACTIONS(13338),
    [anon_sym_AMP_AMP] = ACTIONS(13338),
    [anon_sym_LT_LT] = ACTIONS(13340),
    [anon_sym_GT_GT] = ACTIONS(13340),
    [anon_sym_EQ_EQ] = ACTIONS(13342),
    [anon_sym_BANG_EQ] = ACTIONS(13338),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(13338),
    [anon_sym_LT_EQ_GT] = ACTIONS(13338),
    [anon_sym_EQ_TILDE] = ACTIONS(13338),
    [anon_sym_BANG_TILDE] = ACTIONS(13338),
    [anon_sym_LT_EQ] = ACTIONS(13328),
    [anon_sym_GT] = ACTIONS(13328),
    [anon_sym_GT_EQ] = ACTIONS(13344),
    [anon_sym_CARET] = ACTIONS(13346),
    [anon_sym_PLUS] = ACTIONS(13348),
    [anon_sym_SLASH] = ACTIONS(13324),
    [anon_sym_PERCENT] = ACTIONS(13324),
    [sym_comment] = ACTIONS(110),
  },
  [7507] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10533),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(10534),
    [sym_call] = STATE(10534),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(598),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(10535),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_do_block] = STATE(602),
    [sym_block] = STATE(602),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(10536),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(10537),
    [sym__variable] = STATE(10534),
    [sym_reserved_identifier] = STATE(10538),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(10539),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(13350),
    [sym__splat_star] = ACTIONS(13352),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(13354),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(1014),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(982),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(13356),
    [anon_sym_yield] = ACTIONS(13358),
    [anon_sym_break] = ACTIONS(13360),
    [anon_sym_next] = ACTIONS(13362),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(982),
    [anon_sym_unless] = ACTIONS(982),
    [anon_sym_while] = ACTIONS(982),
    [anon_sym_until] = ACTIONS(982),
    [anon_sym_rescue] = ACTIONS(982),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(1038),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(982),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(982),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(13364),
    [anon_sym_not] = ACTIONS(13366),
    [anon_sym_BANG] = ACTIONS(13368),
    [anon_sym_TILDE] = ACTIONS(13370),
    [sym_constant] = ACTIONS(13372),
    [sym_identifier] = ACTIONS(13372),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7508] = {
    [anon_sym_EQ] = ACTIONS(13374),
    [sym_comment] = ACTIONS(256),
  },
  [7509] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_end] = ACTIONS(250),
    [anon_sym_COMMA] = ACTIONS(1076),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(13376),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_when] = ACTIONS(250),
    [anon_sym_else] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(13378),
    [anon_sym_DASH_EQ] = ACTIONS(13378),
    [anon_sym_STAR_EQ] = ACTIONS(13378),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(13378),
    [anon_sym_SLASH_EQ] = ACTIONS(13378),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(13378),
    [anon_sym_PIPE_EQ] = ACTIONS(13378),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(13378),
    [anon_sym_AMP_EQ] = ACTIONS(13378),
    [anon_sym_PERCENT_EQ] = ACTIONS(13378),
    [anon_sym_GT_GT_EQ] = ACTIONS(13378),
    [anon_sym_LT_LT_EQ] = ACTIONS(13378),
    [anon_sym_CARET_EQ] = ACTIONS(13378),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [7510] = {
    [sym__simple_string] = ACTIONS(9672),
    [sym__simple_symbol] = ACTIONS(9672),
    [sym__simple_subshell] = ACTIONS(9672),
    [sym__simple_regex] = ACTIONS(9672),
    [sym__simple_word_list] = ACTIONS(9672),
    [sym__string_beginning] = ACTIONS(9672),
    [sym__symbol_beginning] = ACTIONS(9672),
    [sym__subshell_beginning] = ACTIONS(9672),
    [sym__regex_beginning] = ACTIONS(9672),
    [sym__word_list_beginning] = ACTIONS(9672),
    [sym_heredoc_beginning] = ACTIONS(9672),
    [sym__unary_minus] = ACTIONS(9672),
    [anon_sym_BEGIN] = ACTIONS(9674),
    [anon_sym_LBRACE] = ACTIONS(9672),
    [anon_sym_END] = ACTIONS(9674),
    [anon_sym_def] = ACTIONS(9674),
    [anon_sym_LPAREN] = ACTIONS(9672),
    [anon_sym_COLON_COLON] = ACTIONS(9672),
    [anon_sym_end] = ACTIONS(9674),
    [anon_sym_SEMI] = ACTIONS(9672),
    [anon_sym_STAR] = ACTIONS(9672),
    [anon_sym_class] = ACTIONS(9674),
    [anon_sym_module] = ACTIONS(9674),
    [anon_sym_return] = ACTIONS(9674),
    [anon_sym_yield] = ACTIONS(9674),
    [anon_sym_break] = ACTIONS(9674),
    [anon_sym_next] = ACTIONS(9674),
    [anon_sym_redo] = ACTIONS(9674),
    [anon_sym_retry] = ACTIONS(9674),
    [anon_sym_if] = ACTIONS(9674),
    [anon_sym_unless] = ACTIONS(9674),
    [anon_sym_while] = ACTIONS(9674),
    [anon_sym_until] = ACTIONS(9674),
    [anon_sym_for] = ACTIONS(9674),
    [anon_sym_case] = ACTIONS(9674),
    [anon_sym_when] = ACTIONS(9674),
    [anon_sym_else] = ACTIONS(9674),
    [anon_sym_begin] = ACTIONS(9674),
    [anon_sym_PLUS] = ACTIONS(9674),
    [anon_sym_defined_QMARK] = ACTIONS(9672),
    [anon_sym_not] = ACTIONS(9674),
    [anon_sym_BANG] = ACTIONS(9672),
    [anon_sym_TILDE] = ACTIONS(9672),
    [sym_constant] = ACTIONS(9676),
    [sym_identifier] = ACTIONS(9676),
    [sym_instance_variable] = ACTIONS(9674),
    [sym_class_variable] = ACTIONS(9674),
    [sym_global_variable] = ACTIONS(9674),
    [anon_sym_alias] = ACTIONS(9674),
    [anon_sym_false] = ACTIONS(9674),
    [anon_sym_nil] = ACTIONS(9674),
    [anon_sym_self] = ACTIONS(9674),
    [anon_sym_super] = ACTIONS(9674),
    [anon_sym_true] = ACTIONS(9674),
    [anon_sym_undef] = ACTIONS(9674),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(9674),
    [sym_float] = ACTIONS(9676),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(9672),
    [anon_sym_TRUE] = ACTIONS(9674),
    [anon_sym_FALSE] = ACTIONS(9674),
    [anon_sym_NIL] = ACTIONS(9674),
    [sym_keyword__FILE__] = ACTIONS(9674),
    [sym_keyword__LINE__] = ACTIONS(9674),
    [sym_keyword__ENCODING__] = ACTIONS(9674),
    [sym__character_literal] = ACTIONS(9674),
    [anon_sym_LBRACK] = ACTIONS(9672),
    [anon_sym_DASH_GT] = ACTIONS(9672),
  },
  [7511] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_pattern] = STATE(10542),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1644),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1645),
    [sym_call] = STATE(1645),
    [sym_method_call] = STATE(61),
    [sym_splat_argument] = STATE(1646),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1647),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1648),
    [sym__variable] = STATE(1645),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(2578),
    [sym__unary_minus] = ACTIONS(2580),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2582),
    [anon_sym_yield] = ACTIONS(2584),
    [anon_sym_break] = ACTIONS(2586),
    [anon_sym_next] = ACTIONS(2588),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2590),
    [anon_sym_defined_QMARK] = ACTIONS(2592),
    [anon_sym_not] = ACTIONS(2594),
    [anon_sym_BANG] = ACTIONS(2596),
    [anon_sym_TILDE] = ACTIONS(2596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7512] = {
    [sym__statements] = STATE(10543),
    [sym__top_level_statement] = STATE(7503),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(7504),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_when] = STATE(10497),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(10497),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7506),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(7507),
    [sym_call] = STATE(7507),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(7508),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7509),
    [sym__variable] = STATE(7507),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(10234),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(13380),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(10238),
    [anon_sym_yield] = ACTIONS(10240),
    [anon_sym_break] = ACTIONS(10242),
    [anon_sym_next] = ACTIONS(10244),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_when] = ACTIONS(678),
    [anon_sym_else] = ACTIONS(5588),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10246),
    [anon_sym_defined_QMARK] = ACTIONS(10248),
    [anon_sym_not] = ACTIONS(10250),
    [anon_sym_BANG] = ACTIONS(10252),
    [anon_sym_TILDE] = ACTIONS(10252),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7513] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__line_break] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(6094),
    [anon_sym_COMMA] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_SEMI] = ACTIONS(7008),
    [anon_sym_STAR_STAR] = ACTIONS(6098),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_then] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7008),
    [anon_sym_AMP_AMP] = ACTIONS(7008),
    [anon_sym_LT_LT] = ACTIONS(7008),
    [anon_sym_GT_GT] = ACTIONS(7008),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7008),
    [anon_sym_PLUS] = ACTIONS(7008),
    [anon_sym_SLASH] = ACTIONS(6098),
    [anon_sym_PERCENT] = ACTIONS(6098),
    [sym_comment] = ACTIONS(110),
  },
  [7514] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__line_break] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_COMMA] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_SEMI] = ACTIONS(7012),
    [anon_sym_STAR_STAR] = ACTIONS(6098),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_then] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7012),
    [anon_sym_AMP_AMP] = ACTIONS(7012),
    [anon_sym_LT_LT] = ACTIONS(7012),
    [anon_sym_GT_GT] = ACTIONS(7012),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7012),
    [anon_sym_PLUS] = ACTIONS(7012),
    [anon_sym_SLASH] = ACTIONS(7012),
    [anon_sym_PERCENT] = ACTIONS(7012),
    [sym_comment] = ACTIONS(110),
  },
  [7515] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6092),
    [sym__binary_star] = ACTIONS(6094),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6098),
    [anon_sym_AMP] = ACTIONS(6100),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_then] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(6114),
    [anon_sym_GT_GT] = ACTIONS(6114),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(6122),
    [anon_sym_SLASH] = ACTIONS(6098),
    [anon_sym_PERCENT] = ACTIONS(6098),
    [sym_comment] = ACTIONS(110),
  },
  [7516] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6098),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_then] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7016),
    [anon_sym_PERCENT] = ACTIONS(7016),
    [sym_comment] = ACTIONS(110),
  },
  [7517] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6092),
    [sym__binary_star] = ACTIONS(6094),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6098),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_then] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(6114),
    [anon_sym_GT_GT] = ACTIONS(6114),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(6122),
    [anon_sym_SLASH] = ACTIONS(6098),
    [anon_sym_PERCENT] = ACTIONS(6098),
    [sym_comment] = ACTIONS(110),
  },
  [7518] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6092),
    [sym__binary_star] = ACTIONS(6094),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(6096),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6098),
    [anon_sym_AMP] = ACTIONS(6100),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_then] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(6114),
    [anon_sym_GT_GT] = ACTIONS(6114),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(6120),
    [anon_sym_PLUS] = ACTIONS(6122),
    [anon_sym_SLASH] = ACTIONS(6098),
    [anon_sym_PERCENT] = ACTIONS(6098),
    [sym_comment] = ACTIONS(110),
  },
  [7519] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(13382),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [7520] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__line_break] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(6092),
    [sym__binary_star] = ACTIONS(6094),
    [anon_sym_COMMA] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(6096),
    [anon_sym_SEMI] = ACTIONS(7108),
    [anon_sym_STAR_STAR] = ACTIONS(6098),
    [anon_sym_AMP] = ACTIONS(6100),
    [anon_sym_LT] = ACTIONS(6102),
    [anon_sym_then] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(6106),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6108),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(6112),
    [anon_sym_AMP_AMP] = ACTIONS(6112),
    [anon_sym_LT_LT] = ACTIONS(6114),
    [anon_sym_GT_GT] = ACTIONS(6114),
    [anon_sym_EQ_EQ] = ACTIONS(6116),
    [anon_sym_BANG_EQ] = ACTIONS(6112),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6112),
    [anon_sym_LT_EQ_GT] = ACTIONS(6112),
    [anon_sym_EQ_TILDE] = ACTIONS(6112),
    [anon_sym_BANG_TILDE] = ACTIONS(6112),
    [anon_sym_LT_EQ] = ACTIONS(6102),
    [anon_sym_GT] = ACTIONS(6102),
    [anon_sym_GT_EQ] = ACTIONS(6118),
    [anon_sym_CARET] = ACTIONS(6120),
    [anon_sym_PLUS] = ACTIONS(6122),
    [anon_sym_SLASH] = ACTIONS(6098),
    [anon_sym_PERCENT] = ACTIONS(6098),
    [sym_comment] = ACTIONS(110),
  },
  [7521] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6092),
    [sym__binary_star] = ACTIONS(6094),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(6096),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6098),
    [anon_sym_AMP] = ACTIONS(6100),
    [anon_sym_LT] = ACTIONS(6102),
    [anon_sym_then] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(6104),
    [anon_sym_DOT_DOT] = ACTIONS(6106),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6108),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(6112),
    [anon_sym_AMP_AMP] = ACTIONS(6112),
    [anon_sym_LT_LT] = ACTIONS(6114),
    [anon_sym_GT_GT] = ACTIONS(6114),
    [anon_sym_EQ_EQ] = ACTIONS(6116),
    [anon_sym_BANG_EQ] = ACTIONS(6112),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6112),
    [anon_sym_LT_EQ_GT] = ACTIONS(6112),
    [anon_sym_EQ_TILDE] = ACTIONS(6112),
    [anon_sym_BANG_TILDE] = ACTIONS(6112),
    [anon_sym_LT_EQ] = ACTIONS(6102),
    [anon_sym_GT] = ACTIONS(6102),
    [anon_sym_GT_EQ] = ACTIONS(6118),
    [anon_sym_CARET] = ACTIONS(6120),
    [anon_sym_PLUS] = ACTIONS(6122),
    [anon_sym_SLASH] = ACTIONS(6098),
    [anon_sym_PERCENT] = ACTIONS(6098),
    [sym_comment] = ACTIONS(110),
  },
  [7522] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6092),
    [sym__binary_star] = ACTIONS(6094),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(6096),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6098),
    [anon_sym_AMP] = ACTIONS(6100),
    [anon_sym_LT] = ACTIONS(6102),
    [anon_sym_then] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(6114),
    [anon_sym_GT_GT] = ACTIONS(6114),
    [anon_sym_EQ_EQ] = ACTIONS(6116),
    [anon_sym_BANG_EQ] = ACTIONS(6112),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6112),
    [anon_sym_LT_EQ_GT] = ACTIONS(6112),
    [anon_sym_EQ_TILDE] = ACTIONS(6112),
    [anon_sym_BANG_TILDE] = ACTIONS(6112),
    [anon_sym_LT_EQ] = ACTIONS(6102),
    [anon_sym_GT] = ACTIONS(6102),
    [anon_sym_GT_EQ] = ACTIONS(6118),
    [anon_sym_CARET] = ACTIONS(6120),
    [anon_sym_PLUS] = ACTIONS(6122),
    [anon_sym_SLASH] = ACTIONS(6098),
    [anon_sym_PERCENT] = ACTIONS(6098),
    [sym_comment] = ACTIONS(110),
  },
  [7523] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6092),
    [sym__binary_star] = ACTIONS(6094),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6098),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_then] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(6122),
    [anon_sym_SLASH] = ACTIONS(6098),
    [anon_sym_PERCENT] = ACTIONS(6098),
    [sym_comment] = ACTIONS(110),
  },
  [7524] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(6094),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6098),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_then] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(6098),
    [anon_sym_PERCENT] = ACTIONS(6098),
    [sym_comment] = ACTIONS(110),
  },
  [7525] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10545),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(7534),
    [sym_call] = STATE(7534),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(7535),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7536),
    [sym__variable] = STATE(7534),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(10258),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(10260),
    [anon_sym_yield] = ACTIONS(10262),
    [anon_sym_break] = ACTIONS(10264),
    [anon_sym_next] = ACTIONS(10266),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(10268),
    [anon_sym_defined_QMARK] = ACTIONS(10270),
    [anon_sym_not] = ACTIONS(10272),
    [anon_sym_BANG] = ACTIONS(10274),
    [anon_sym_TILDE] = ACTIONS(10274),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7526] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4246),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4247),
    [sym_call] = STATE(4247),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(4940),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(4248),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4249),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4250),
    [sym__variable] = STATE(4247),
    [sym_reserved_identifier] = STATE(4251),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(4252),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(6124),
    [sym__splat_star] = ACTIONS(6126),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(6128),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(544),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(6130),
    [anon_sym_yield] = ACTIONS(6132),
    [anon_sym_break] = ACTIONS(6134),
    [anon_sym_next] = ACTIONS(6136),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(544),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_PLUS_EQ] = ACTIONS(532),
    [anon_sym_DASH_EQ] = ACTIONS(532),
    [anon_sym_STAR_EQ] = ACTIONS(532),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(532),
    [anon_sym_SLASH_EQ] = ACTIONS(532),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(532),
    [anon_sym_PIPE_EQ] = ACTIONS(532),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(532),
    [anon_sym_AMP_EQ] = ACTIONS(532),
    [anon_sym_PERCENT_EQ] = ACTIONS(532),
    [anon_sym_GT_GT_EQ] = ACTIONS(532),
    [anon_sym_LT_LT_EQ] = ACTIONS(532),
    [anon_sym_CARET_EQ] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(544),
    [anon_sym_AMP_AMP] = ACTIONS(544),
    [anon_sym_LT_LT] = ACTIONS(544),
    [anon_sym_GT_GT] = ACTIONS(544),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(544),
    [anon_sym_PERCENT] = ACTIONS(544),
    [anon_sym_defined_QMARK] = ACTIONS(6138),
    [anon_sym_not] = ACTIONS(6140),
    [anon_sym_BANG] = ACTIONS(6142),
    [anon_sym_TILDE] = ACTIONS(6144),
    [sym_constant] = ACTIONS(6146),
    [sym_identifier] = ACTIONS(6146),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7527] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4246),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4247),
    [sym_call] = STATE(4247),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(4941),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(4248),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4249),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4250),
    [sym__variable] = STATE(4247),
    [sym_reserved_identifier] = STATE(4251),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(4252),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(6124),
    [sym__splat_star] = ACTIONS(6126),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(6128),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(604),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(6130),
    [anon_sym_yield] = ACTIONS(6132),
    [anon_sym_break] = ACTIONS(6134),
    [anon_sym_next] = ACTIONS(6136),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(604),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_PLUS_EQ] = ACTIONS(602),
    [anon_sym_DASH_EQ] = ACTIONS(602),
    [anon_sym_STAR_EQ] = ACTIONS(602),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(602),
    [anon_sym_SLASH_EQ] = ACTIONS(602),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(602),
    [anon_sym_PIPE_EQ] = ACTIONS(602),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(602),
    [anon_sym_AMP_EQ] = ACTIONS(602),
    [anon_sym_PERCENT_EQ] = ACTIONS(602),
    [anon_sym_GT_GT_EQ] = ACTIONS(602),
    [anon_sym_LT_LT_EQ] = ACTIONS(602),
    [anon_sym_CARET_EQ] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(604),
    [anon_sym_AMP_AMP] = ACTIONS(604),
    [anon_sym_LT_LT] = ACTIONS(604),
    [anon_sym_GT_GT] = ACTIONS(604),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(604),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(604),
    [anon_sym_PERCENT] = ACTIONS(604),
    [anon_sym_defined_QMARK] = ACTIONS(6138),
    [anon_sym_not] = ACTIONS(6140),
    [anon_sym_BANG] = ACTIONS(6142),
    [anon_sym_TILDE] = ACTIONS(6144),
    [sym_constant] = ACTIONS(6146),
    [sym_identifier] = ACTIONS(6146),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7528] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4246),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4247),
    [sym_call] = STATE(4247),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(4942),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(4248),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4249),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4250),
    [sym__variable] = STATE(4247),
    [sym_reserved_identifier] = STATE(4251),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(4252),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(6124),
    [sym__splat_star] = ACTIONS(6126),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(6128),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(608),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(6130),
    [anon_sym_yield] = ACTIONS(6132),
    [anon_sym_break] = ACTIONS(6134),
    [anon_sym_next] = ACTIONS(6136),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(608),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_PLUS_EQ] = ACTIONS(606),
    [anon_sym_DASH_EQ] = ACTIONS(606),
    [anon_sym_STAR_EQ] = ACTIONS(606),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(606),
    [anon_sym_SLASH_EQ] = ACTIONS(606),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(606),
    [anon_sym_PIPE_EQ] = ACTIONS(606),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(606),
    [anon_sym_AMP_EQ] = ACTIONS(606),
    [anon_sym_PERCENT_EQ] = ACTIONS(606),
    [anon_sym_GT_GT_EQ] = ACTIONS(606),
    [anon_sym_LT_LT_EQ] = ACTIONS(606),
    [anon_sym_CARET_EQ] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(608),
    [anon_sym_AMP_AMP] = ACTIONS(608),
    [anon_sym_LT_LT] = ACTIONS(608),
    [anon_sym_GT_GT] = ACTIONS(608),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(608),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(608),
    [anon_sym_PERCENT] = ACTIONS(608),
    [anon_sym_defined_QMARK] = ACTIONS(6138),
    [anon_sym_not] = ACTIONS(6140),
    [anon_sym_BANG] = ACTIONS(6142),
    [anon_sym_TILDE] = ACTIONS(6144),
    [sym_constant] = ACTIONS(6146),
    [sym_identifier] = ACTIONS(6146),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7529] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4246),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4247),
    [sym_call] = STATE(4247),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(4943),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(4248),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4249),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4250),
    [sym__variable] = STATE(4247),
    [sym_reserved_identifier] = STATE(4251),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(4252),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(6124),
    [sym__splat_star] = ACTIONS(6126),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(6128),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(612),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(6130),
    [anon_sym_yield] = ACTIONS(6132),
    [anon_sym_break] = ACTIONS(6134),
    [anon_sym_next] = ACTIONS(6136),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(612),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_PLUS_EQ] = ACTIONS(610),
    [anon_sym_DASH_EQ] = ACTIONS(610),
    [anon_sym_STAR_EQ] = ACTIONS(610),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(610),
    [anon_sym_SLASH_EQ] = ACTIONS(610),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(610),
    [anon_sym_PIPE_EQ] = ACTIONS(610),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(610),
    [anon_sym_AMP_EQ] = ACTIONS(610),
    [anon_sym_PERCENT_EQ] = ACTIONS(610),
    [anon_sym_GT_GT_EQ] = ACTIONS(610),
    [anon_sym_LT_LT_EQ] = ACTIONS(610),
    [anon_sym_CARET_EQ] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(612),
    [anon_sym_AMP_AMP] = ACTIONS(612),
    [anon_sym_LT_LT] = ACTIONS(612),
    [anon_sym_GT_GT] = ACTIONS(612),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(612),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(612),
    [anon_sym_PERCENT] = ACTIONS(612),
    [anon_sym_defined_QMARK] = ACTIONS(6138),
    [anon_sym_not] = ACTIONS(6140),
    [anon_sym_BANG] = ACTIONS(6142),
    [anon_sym_TILDE] = ACTIONS(6144),
    [sym_constant] = ACTIONS(6146),
    [sym_identifier] = ACTIONS(6146),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7530] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10546),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(7534),
    [sym_call] = STATE(7534),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(7535),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7536),
    [sym__variable] = STATE(7534),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(10258),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(10260),
    [anon_sym_yield] = ACTIONS(10262),
    [anon_sym_break] = ACTIONS(10264),
    [anon_sym_next] = ACTIONS(10266),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(10268),
    [anon_sym_defined_QMARK] = ACTIONS(10270),
    [anon_sym_not] = ACTIONS(10272),
    [anon_sym_BANG] = ACTIONS(10274),
    [anon_sym_TILDE] = ACTIONS(10274),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7531] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10547),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(7534),
    [sym_call] = STATE(7534),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(7535),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7536),
    [sym__variable] = STATE(7534),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(10258),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(10260),
    [anon_sym_yield] = ACTIONS(10262),
    [anon_sym_break] = ACTIONS(10264),
    [anon_sym_next] = ACTIONS(10266),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(10268),
    [anon_sym_defined_QMARK] = ACTIONS(10270),
    [anon_sym_not] = ACTIONS(10272),
    [anon_sym_BANG] = ACTIONS(10274),
    [anon_sym_TILDE] = ACTIONS(10274),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7532] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(4957),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(7534),
    [sym_call] = STATE(7534),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(7535),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7536),
    [sym__variable] = STATE(7534),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(10258),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(10260),
    [anon_sym_yield] = ACTIONS(10262),
    [anon_sym_break] = ACTIONS(10264),
    [anon_sym_next] = ACTIONS(10266),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(10268),
    [anon_sym_defined_QMARK] = ACTIONS(10270),
    [anon_sym_not] = ACTIONS(10272),
    [anon_sym_BANG] = ACTIONS(10274),
    [anon_sym_TILDE] = ACTIONS(10274),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7533] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__line_break] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(13384),
    [sym__binary_star] = ACTIONS(13386),
    [anon_sym_LBRACE] = ACTIONS(5298),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(13388),
    [anon_sym_SEMI] = ACTIONS(5298),
    [anon_sym_STAR_STAR] = ACTIONS(13390),
    [anon_sym_AMP] = ACTIONS(13392),
    [anon_sym_EQ] = ACTIONS(5304),
    [anon_sym_LT] = ACTIONS(13394),
    [anon_sym_do] = ACTIONS(5298),
    [anon_sym_then] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_PLUS_EQ] = ACTIONS(5298),
    [anon_sym_DASH_EQ] = ACTIONS(5298),
    [anon_sym_STAR_EQ] = ACTIONS(5298),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5298),
    [anon_sym_SLASH_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5298),
    [anon_sym_AMP_EQ] = ACTIONS(5298),
    [anon_sym_PERCENT_EQ] = ACTIONS(5298),
    [anon_sym_GT_GT_EQ] = ACTIONS(5298),
    [anon_sym_LT_LT_EQ] = ACTIONS(5298),
    [anon_sym_CARET_EQ] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(13396),
    [anon_sym_DOT_DOT] = ACTIONS(13398),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(13400),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(13402),
    [anon_sym_AMP_AMP] = ACTIONS(13402),
    [anon_sym_LT_LT] = ACTIONS(13404),
    [anon_sym_GT_GT] = ACTIONS(13404),
    [anon_sym_EQ_EQ] = ACTIONS(13402),
    [anon_sym_BANG_EQ] = ACTIONS(13406),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(13406),
    [anon_sym_LT_EQ_GT] = ACTIONS(13406),
    [anon_sym_EQ_TILDE] = ACTIONS(13406),
    [anon_sym_BANG_TILDE] = ACTIONS(13406),
    [anon_sym_LT_EQ] = ACTIONS(13394),
    [anon_sym_GT] = ACTIONS(13394),
    [anon_sym_GT_EQ] = ACTIONS(13408),
    [anon_sym_CARET] = ACTIONS(13388),
    [anon_sym_PLUS] = ACTIONS(13410),
    [anon_sym_SLASH] = ACTIONS(13390),
    [anon_sym_PERCENT] = ACTIONS(13390),
    [sym_comment] = ACTIONS(256),
  },
  [7534] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4246),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4247),
    [sym_call] = STATE(4247),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(1579),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(4248),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_do_block] = STATE(602),
    [sym_block] = STATE(602),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4249),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4250),
    [sym__variable] = STATE(4247),
    [sym_reserved_identifier] = STATE(4251),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(4252),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(6124),
    [sym__splat_star] = ACTIONS(6126),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(6128),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(1014),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(6130),
    [anon_sym_yield] = ACTIONS(6132),
    [anon_sym_break] = ACTIONS(6134),
    [anon_sym_next] = ACTIONS(6136),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(982),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(982),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(6138),
    [anon_sym_not] = ACTIONS(6140),
    [anon_sym_BANG] = ACTIONS(6142),
    [anon_sym_TILDE] = ACTIONS(6144),
    [sym_constant] = ACTIONS(6146),
    [sym_identifier] = ACTIONS(6146),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7535] = {
    [anon_sym_EQ] = ACTIONS(13412),
    [sym_comment] = ACTIONS(256),
  },
  [7536] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(13414),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_then] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(13416),
    [anon_sym_DASH_EQ] = ACTIONS(13416),
    [anon_sym_STAR_EQ] = ACTIONS(13416),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(13416),
    [anon_sym_SLASH_EQ] = ACTIONS(13416),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(13416),
    [anon_sym_PIPE_EQ] = ACTIONS(13416),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(13416),
    [anon_sym_AMP_EQ] = ACTIONS(13416),
    [anon_sym_PERCENT_EQ] = ACTIONS(13416),
    [anon_sym_GT_GT_EQ] = ACTIONS(13416),
    [anon_sym_LT_LT_EQ] = ACTIONS(13416),
    [anon_sym_CARET_EQ] = ACTIONS(13416),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [7537] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__line_break] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(13384),
    [sym__binary_star] = ACTIONS(13386),
    [anon_sym_LBRACE] = ACTIONS(5338),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(13388),
    [anon_sym_SEMI] = ACTIONS(5338),
    [anon_sym_STAR_STAR] = ACTIONS(13390),
    [anon_sym_AMP] = ACTIONS(13392),
    [anon_sym_EQ] = ACTIONS(5340),
    [anon_sym_LT] = ACTIONS(13394),
    [anon_sym_do] = ACTIONS(5338),
    [anon_sym_then] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_PLUS_EQ] = ACTIONS(5338),
    [anon_sym_DASH_EQ] = ACTIONS(5338),
    [anon_sym_STAR_EQ] = ACTIONS(5338),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5338),
    [anon_sym_SLASH_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5338),
    [anon_sym_AMP_EQ] = ACTIONS(5338),
    [anon_sym_PERCENT_EQ] = ACTIONS(5338),
    [anon_sym_GT_GT_EQ] = ACTIONS(5338),
    [anon_sym_LT_LT_EQ] = ACTIONS(5338),
    [anon_sym_CARET_EQ] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(13396),
    [anon_sym_DOT_DOT] = ACTIONS(13398),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(13400),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(13402),
    [anon_sym_AMP_AMP] = ACTIONS(13402),
    [anon_sym_LT_LT] = ACTIONS(13404),
    [anon_sym_GT_GT] = ACTIONS(13404),
    [anon_sym_EQ_EQ] = ACTIONS(13402),
    [anon_sym_BANG_EQ] = ACTIONS(13406),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(13406),
    [anon_sym_LT_EQ_GT] = ACTIONS(13406),
    [anon_sym_EQ_TILDE] = ACTIONS(13406),
    [anon_sym_BANG_TILDE] = ACTIONS(13406),
    [anon_sym_LT_EQ] = ACTIONS(13394),
    [anon_sym_GT] = ACTIONS(13394),
    [anon_sym_GT_EQ] = ACTIONS(13408),
    [anon_sym_CARET] = ACTIONS(13388),
    [anon_sym_PLUS] = ACTIONS(13410),
    [anon_sym_SLASH] = ACTIONS(13390),
    [anon_sym_PERCENT] = ACTIONS(13390),
    [sym_comment] = ACTIONS(256),
  },
  [7538] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4414),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4247),
    [sym_call] = STATE(4247),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2147),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(4415),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4249),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4250),
    [sym__variable] = STATE(4247),
    [sym_reserved_identifier] = STATE(4416),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(4417),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(6380),
    [sym__splat_star] = ACTIONS(6382),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(6128),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(544),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(6130),
    [anon_sym_yield] = ACTIONS(6132),
    [anon_sym_break] = ACTIONS(6134),
    [anon_sym_next] = ACTIONS(6136),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(544),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_PLUS_EQ] = ACTIONS(532),
    [anon_sym_DASH_EQ] = ACTIONS(532),
    [anon_sym_STAR_EQ] = ACTIONS(532),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(532),
    [anon_sym_SLASH_EQ] = ACTIONS(532),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(532),
    [anon_sym_PIPE_EQ] = ACTIONS(532),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(532),
    [anon_sym_AMP_EQ] = ACTIONS(532),
    [anon_sym_PERCENT_EQ] = ACTIONS(532),
    [anon_sym_GT_GT_EQ] = ACTIONS(532),
    [anon_sym_LT_LT_EQ] = ACTIONS(532),
    [anon_sym_CARET_EQ] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(544),
    [anon_sym_AMP_AMP] = ACTIONS(544),
    [anon_sym_LT_LT] = ACTIONS(544),
    [anon_sym_GT_GT] = ACTIONS(544),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(544),
    [anon_sym_PERCENT] = ACTIONS(544),
    [anon_sym_defined_QMARK] = ACTIONS(6138),
    [anon_sym_not] = ACTIONS(6140),
    [anon_sym_BANG] = ACTIONS(6142),
    [anon_sym_TILDE] = ACTIONS(6144),
    [sym_constant] = ACTIONS(6384),
    [sym_identifier] = ACTIONS(6384),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7539] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4414),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4247),
    [sym_call] = STATE(4247),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2148),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(4415),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4249),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4250),
    [sym__variable] = STATE(4247),
    [sym_reserved_identifier] = STATE(4416),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(4417),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(6380),
    [sym__splat_star] = ACTIONS(6382),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(6128),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(604),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(6130),
    [anon_sym_yield] = ACTIONS(6132),
    [anon_sym_break] = ACTIONS(6134),
    [anon_sym_next] = ACTIONS(6136),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(604),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_PLUS_EQ] = ACTIONS(602),
    [anon_sym_DASH_EQ] = ACTIONS(602),
    [anon_sym_STAR_EQ] = ACTIONS(602),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(602),
    [anon_sym_SLASH_EQ] = ACTIONS(602),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(602),
    [anon_sym_PIPE_EQ] = ACTIONS(602),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(602),
    [anon_sym_AMP_EQ] = ACTIONS(602),
    [anon_sym_PERCENT_EQ] = ACTIONS(602),
    [anon_sym_GT_GT_EQ] = ACTIONS(602),
    [anon_sym_LT_LT_EQ] = ACTIONS(602),
    [anon_sym_CARET_EQ] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(604),
    [anon_sym_AMP_AMP] = ACTIONS(604),
    [anon_sym_LT_LT] = ACTIONS(604),
    [anon_sym_GT_GT] = ACTIONS(604),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(604),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(604),
    [anon_sym_PERCENT] = ACTIONS(604),
    [anon_sym_defined_QMARK] = ACTIONS(6138),
    [anon_sym_not] = ACTIONS(6140),
    [anon_sym_BANG] = ACTIONS(6142),
    [anon_sym_TILDE] = ACTIONS(6144),
    [sym_constant] = ACTIONS(6384),
    [sym_identifier] = ACTIONS(6384),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7540] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4414),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4247),
    [sym_call] = STATE(4247),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2149),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(4415),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4249),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4250),
    [sym__variable] = STATE(4247),
    [sym_reserved_identifier] = STATE(4416),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(4417),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(6380),
    [sym__splat_star] = ACTIONS(6382),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(6128),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(608),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(6130),
    [anon_sym_yield] = ACTIONS(6132),
    [anon_sym_break] = ACTIONS(6134),
    [anon_sym_next] = ACTIONS(6136),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(608),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_PLUS_EQ] = ACTIONS(606),
    [anon_sym_DASH_EQ] = ACTIONS(606),
    [anon_sym_STAR_EQ] = ACTIONS(606),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(606),
    [anon_sym_SLASH_EQ] = ACTIONS(606),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(606),
    [anon_sym_PIPE_EQ] = ACTIONS(606),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(606),
    [anon_sym_AMP_EQ] = ACTIONS(606),
    [anon_sym_PERCENT_EQ] = ACTIONS(606),
    [anon_sym_GT_GT_EQ] = ACTIONS(606),
    [anon_sym_LT_LT_EQ] = ACTIONS(606),
    [anon_sym_CARET_EQ] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(608),
    [anon_sym_AMP_AMP] = ACTIONS(608),
    [anon_sym_LT_LT] = ACTIONS(608),
    [anon_sym_GT_GT] = ACTIONS(608),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(608),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(608),
    [anon_sym_PERCENT] = ACTIONS(608),
    [anon_sym_defined_QMARK] = ACTIONS(6138),
    [anon_sym_not] = ACTIONS(6140),
    [anon_sym_BANG] = ACTIONS(6142),
    [anon_sym_TILDE] = ACTIONS(6144),
    [sym_constant] = ACTIONS(6384),
    [sym_identifier] = ACTIONS(6384),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7541] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4414),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4247),
    [sym_call] = STATE(4247),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2150),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(4415),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4249),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4250),
    [sym__variable] = STATE(4247),
    [sym_reserved_identifier] = STATE(4416),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(4417),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(6380),
    [sym__splat_star] = ACTIONS(6382),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(6128),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(612),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(6130),
    [anon_sym_yield] = ACTIONS(6132),
    [anon_sym_break] = ACTIONS(6134),
    [anon_sym_next] = ACTIONS(6136),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(612),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_PLUS_EQ] = ACTIONS(610),
    [anon_sym_DASH_EQ] = ACTIONS(610),
    [anon_sym_STAR_EQ] = ACTIONS(610),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(610),
    [anon_sym_SLASH_EQ] = ACTIONS(610),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(610),
    [anon_sym_PIPE_EQ] = ACTIONS(610),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(610),
    [anon_sym_AMP_EQ] = ACTIONS(610),
    [anon_sym_PERCENT_EQ] = ACTIONS(610),
    [anon_sym_GT_GT_EQ] = ACTIONS(610),
    [anon_sym_LT_LT_EQ] = ACTIONS(610),
    [anon_sym_CARET_EQ] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(612),
    [anon_sym_AMP_AMP] = ACTIONS(612),
    [anon_sym_LT_LT] = ACTIONS(612),
    [anon_sym_GT_GT] = ACTIONS(612),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(612),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(612),
    [anon_sym_PERCENT] = ACTIONS(612),
    [anon_sym_defined_QMARK] = ACTIONS(6138),
    [anon_sym_not] = ACTIONS(6140),
    [anon_sym_BANG] = ACTIONS(6142),
    [anon_sym_TILDE] = ACTIONS(6144),
    [sym_constant] = ACTIONS(6384),
    [sym_identifier] = ACTIONS(6384),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7542] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_LBRACE] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(10296),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_EQ] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_do] = ACTIONS(1372),
    [anon_sym_then] = ACTIONS(1372),
    [anon_sym_EQ_GT] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_PLUS_EQ] = ACTIONS(1372),
    [anon_sym_DASH_EQ] = ACTIONS(1372),
    [anon_sym_STAR_EQ] = ACTIONS(1372),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1372),
    [anon_sym_SLASH_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1372),
    [anon_sym_AMP_EQ] = ACTIONS(1372),
    [anon_sym_PERCENT_EQ] = ACTIONS(1372),
    [anon_sym_GT_GT_EQ] = ACTIONS(1372),
    [anon_sym_LT_LT_EQ] = ACTIONS(1372),
    [anon_sym_CARET_EQ] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1374),
    [anon_sym_AMP_AMP] = ACTIONS(1374),
    [anon_sym_LT_LT] = ACTIONS(1374),
    [anon_sym_GT_GT] = ACTIONS(1374),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1374),
    [anon_sym_PLUS] = ACTIONS(1374),
    [anon_sym_SLASH] = ACTIONS(1374),
    [anon_sym_PERCENT] = ACTIONS(1374),
    [sym_comment] = ACTIONS(256),
  },
  [7543] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__line_break] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(13384),
    [sym__binary_star] = ACTIONS(13386),
    [anon_sym_LBRACE] = ACTIONS(4284),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(13388),
    [anon_sym_SEMI] = ACTIONS(4284),
    [anon_sym_STAR_STAR] = ACTIONS(13390),
    [anon_sym_AMP] = ACTIONS(13392),
    [anon_sym_EQ] = ACTIONS(5432),
    [anon_sym_LT] = ACTIONS(13394),
    [anon_sym_do] = ACTIONS(4284),
    [anon_sym_then] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_PLUS_EQ] = ACTIONS(4284),
    [anon_sym_DASH_EQ] = ACTIONS(4284),
    [anon_sym_STAR_EQ] = ACTIONS(4284),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(4284),
    [anon_sym_SLASH_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(4284),
    [anon_sym_AMP_EQ] = ACTIONS(4284),
    [anon_sym_PERCENT_EQ] = ACTIONS(4284),
    [anon_sym_GT_GT_EQ] = ACTIONS(4284),
    [anon_sym_LT_LT_EQ] = ACTIONS(4284),
    [anon_sym_CARET_EQ] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(13396),
    [anon_sym_DOT_DOT] = ACTIONS(13398),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(13400),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(13402),
    [anon_sym_AMP_AMP] = ACTIONS(13402),
    [anon_sym_LT_LT] = ACTIONS(13404),
    [anon_sym_GT_GT] = ACTIONS(13404),
    [anon_sym_EQ_EQ] = ACTIONS(13402),
    [anon_sym_BANG_EQ] = ACTIONS(13406),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(13406),
    [anon_sym_LT_EQ_GT] = ACTIONS(13406),
    [anon_sym_EQ_TILDE] = ACTIONS(13406),
    [anon_sym_BANG_TILDE] = ACTIONS(13406),
    [anon_sym_LT_EQ] = ACTIONS(13394),
    [anon_sym_GT] = ACTIONS(13394),
    [anon_sym_GT_EQ] = ACTIONS(13408),
    [anon_sym_CARET] = ACTIONS(13388),
    [anon_sym_PLUS] = ACTIONS(13410),
    [anon_sym_SLASH] = ACTIONS(13390),
    [anon_sym_PERCENT] = ACTIONS(13390),
    [sym_comment] = ACTIONS(256),
  },
  [7544] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(10296),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_then] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2872),
    [anon_sym_AMP_AMP] = ACTIONS(2872),
    [anon_sym_LT_LT] = ACTIONS(2872),
    [anon_sym_GT_GT] = ACTIONS(2872),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2872),
    [anon_sym_PLUS] = ACTIONS(2872),
    [anon_sym_SLASH] = ACTIONS(2872),
    [anon_sym_PERCENT] = ACTIONS(2872),
    [sym_comment] = ACTIONS(256),
  },
  [7545] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(10290),
    [sym__binary_star] = ACTIONS(10292),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(10294),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(10296),
    [anon_sym_AMP] = ACTIONS(10298),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(10300),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_then] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(10302),
    [anon_sym_DOT_DOT] = ACTIONS(10304),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10306),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(10308),
    [anon_sym_AMP_AMP] = ACTIONS(10308),
    [anon_sym_LT_LT] = ACTIONS(10310),
    [anon_sym_GT_GT] = ACTIONS(10310),
    [anon_sym_EQ_EQ] = ACTIONS(10308),
    [anon_sym_BANG_EQ] = ACTIONS(10312),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10312),
    [anon_sym_LT_EQ_GT] = ACTIONS(10312),
    [anon_sym_EQ_TILDE] = ACTIONS(10312),
    [anon_sym_BANG_TILDE] = ACTIONS(10312),
    [anon_sym_LT_EQ] = ACTIONS(10300),
    [anon_sym_GT] = ACTIONS(10300),
    [anon_sym_GT_EQ] = ACTIONS(10314),
    [anon_sym_CARET] = ACTIONS(10294),
    [anon_sym_PLUS] = ACTIONS(10316),
    [anon_sym_SLASH] = ACTIONS(10296),
    [anon_sym_PERCENT] = ACTIONS(10296),
    [sym_comment] = ACTIONS(256),
  },
  [7546] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10562),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(7534),
    [sym_call] = STATE(7534),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(7535),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7536),
    [sym__variable] = STATE(7534),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(10258),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(10260),
    [anon_sym_yield] = ACTIONS(10262),
    [anon_sym_break] = ACTIONS(10264),
    [anon_sym_next] = ACTIONS(10266),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(10268),
    [anon_sym_defined_QMARK] = ACTIONS(10270),
    [anon_sym_not] = ACTIONS(10272),
    [anon_sym_BANG] = ACTIONS(10274),
    [anon_sym_TILDE] = ACTIONS(10274),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7547] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10563),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4247),
    [sym_call] = STATE(4247),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4249),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4250),
    [sym__variable] = STATE(4247),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6128),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10276),
    [anon_sym_yield] = ACTIONS(10278),
    [anon_sym_break] = ACTIONS(10280),
    [anon_sym_next] = ACTIONS(10282),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10284),
    [anon_sym_defined_QMARK] = ACTIONS(6138),
    [anon_sym_not] = ACTIONS(10286),
    [anon_sym_BANG] = ACTIONS(6144),
    [anon_sym_TILDE] = ACTIONS(6144),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7548] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10564),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4247),
    [sym_call] = STATE(4247),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4249),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4250),
    [sym__variable] = STATE(4247),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6128),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10276),
    [anon_sym_yield] = ACTIONS(10278),
    [anon_sym_break] = ACTIONS(10280),
    [anon_sym_next] = ACTIONS(10282),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10284),
    [anon_sym_defined_QMARK] = ACTIONS(6138),
    [anon_sym_not] = ACTIONS(10286),
    [anon_sym_BANG] = ACTIONS(6144),
    [anon_sym_TILDE] = ACTIONS(6144),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7549] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10565),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4247),
    [sym_call] = STATE(4247),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4249),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4250),
    [sym__variable] = STATE(4247),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6128),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10276),
    [anon_sym_yield] = ACTIONS(10278),
    [anon_sym_break] = ACTIONS(10280),
    [anon_sym_next] = ACTIONS(10282),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10284),
    [anon_sym_defined_QMARK] = ACTIONS(6138),
    [anon_sym_not] = ACTIONS(10286),
    [anon_sym_BANG] = ACTIONS(6144),
    [anon_sym_TILDE] = ACTIONS(6144),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7550] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10566),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4247),
    [sym_call] = STATE(4247),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4249),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4250),
    [sym__variable] = STATE(4247),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6128),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10276),
    [anon_sym_yield] = ACTIONS(10278),
    [anon_sym_break] = ACTIONS(10280),
    [anon_sym_next] = ACTIONS(10282),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10284),
    [anon_sym_defined_QMARK] = ACTIONS(6138),
    [anon_sym_not] = ACTIONS(10286),
    [anon_sym_BANG] = ACTIONS(6144),
    [anon_sym_TILDE] = ACTIONS(6144),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7551] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10567),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4247),
    [sym_call] = STATE(4247),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4249),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4250),
    [sym__variable] = STATE(4247),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6128),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10276),
    [anon_sym_yield] = ACTIONS(10278),
    [anon_sym_break] = ACTIONS(10280),
    [anon_sym_next] = ACTIONS(10282),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10284),
    [anon_sym_defined_QMARK] = ACTIONS(6138),
    [anon_sym_not] = ACTIONS(10286),
    [anon_sym_BANG] = ACTIONS(6144),
    [anon_sym_TILDE] = ACTIONS(6144),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7552] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10568),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4247),
    [sym_call] = STATE(4247),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4249),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4250),
    [sym__variable] = STATE(4247),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6128),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10276),
    [anon_sym_yield] = ACTIONS(10278),
    [anon_sym_break] = ACTIONS(10280),
    [anon_sym_next] = ACTIONS(10282),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10284),
    [anon_sym_defined_QMARK] = ACTIONS(6138),
    [anon_sym_not] = ACTIONS(10286),
    [anon_sym_BANG] = ACTIONS(6144),
    [anon_sym_TILDE] = ACTIONS(6144),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7553] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(10569),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [7554] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10570),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4247),
    [sym_call] = STATE(4247),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4249),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4250),
    [sym__variable] = STATE(4247),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6128),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10276),
    [anon_sym_yield] = ACTIONS(10278),
    [anon_sym_break] = ACTIONS(10280),
    [anon_sym_next] = ACTIONS(10282),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10284),
    [anon_sym_defined_QMARK] = ACTIONS(6138),
    [anon_sym_not] = ACTIONS(10286),
    [anon_sym_BANG] = ACTIONS(6144),
    [anon_sym_TILDE] = ACTIONS(6144),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7555] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10571),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4247),
    [sym_call] = STATE(4247),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4249),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4250),
    [sym__variable] = STATE(4247),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6128),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10276),
    [anon_sym_yield] = ACTIONS(10278),
    [anon_sym_break] = ACTIONS(10280),
    [anon_sym_next] = ACTIONS(10282),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10284),
    [anon_sym_defined_QMARK] = ACTIONS(6138),
    [anon_sym_not] = ACTIONS(10286),
    [anon_sym_BANG] = ACTIONS(6144),
    [anon_sym_TILDE] = ACTIONS(6144),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7556] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10572),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4247),
    [sym_call] = STATE(4247),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4249),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4250),
    [sym__variable] = STATE(4247),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6128),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10276),
    [anon_sym_yield] = ACTIONS(10278),
    [anon_sym_break] = ACTIONS(10280),
    [anon_sym_next] = ACTIONS(10282),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10284),
    [anon_sym_defined_QMARK] = ACTIONS(6138),
    [anon_sym_not] = ACTIONS(10286),
    [anon_sym_BANG] = ACTIONS(6144),
    [anon_sym_TILDE] = ACTIONS(6144),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7557] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10573),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4247),
    [sym_call] = STATE(4247),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4249),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4250),
    [sym__variable] = STATE(4247),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6128),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10276),
    [anon_sym_yield] = ACTIONS(10278),
    [anon_sym_break] = ACTIONS(10280),
    [anon_sym_next] = ACTIONS(10282),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10284),
    [anon_sym_defined_QMARK] = ACTIONS(6138),
    [anon_sym_not] = ACTIONS(10286),
    [anon_sym_BANG] = ACTIONS(6144),
    [anon_sym_TILDE] = ACTIONS(6144),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7558] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10574),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4247),
    [sym_call] = STATE(4247),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4249),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4250),
    [sym__variable] = STATE(4247),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6128),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10276),
    [anon_sym_yield] = ACTIONS(10278),
    [anon_sym_break] = ACTIONS(10280),
    [anon_sym_next] = ACTIONS(10282),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10284),
    [anon_sym_defined_QMARK] = ACTIONS(6138),
    [anon_sym_not] = ACTIONS(10286),
    [anon_sym_BANG] = ACTIONS(6144),
    [anon_sym_TILDE] = ACTIONS(6144),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7559] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4246),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4247),
    [sym_call] = STATE(4247),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(5069),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4249),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4250),
    [sym__variable] = STATE(4247),
    [sym_reserved_identifier] = STATE(4251),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(4252),
    [sym_subshell] = STATE(561),
    [sym_heredoc_end] = STATE(10575),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__block_ampersand] = ACTIONS(6124),
    [sym__splat_star] = ACTIONS(6126),
    [sym__unary_minus] = ACTIONS(6128),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(13418),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(6130),
    [anon_sym_yield] = ACTIONS(6132),
    [anon_sym_break] = ACTIONS(6134),
    [anon_sym_next] = ACTIONS(6136),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(10284),
    [anon_sym_defined_QMARK] = ACTIONS(6138),
    [anon_sym_not] = ACTIONS(6140),
    [anon_sym_BANG] = ACTIONS(6144),
    [anon_sym_TILDE] = ACTIONS(6144),
    [sym_constant] = ACTIONS(6146),
    [sym_identifier] = ACTIONS(6146),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7560] = {
    [sym_heredoc_end] = STATE(2196),
    [aux_sym_argument_list_repeat2] = STATE(5072),
    [sym__simple_heredoc_body] = ACTIONS(3354),
    [sym__heredoc_body_beginning] = ACTIONS(3356),
    [sym__line_break] = ACTIONS(5472),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_LBRACE] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(13420),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_SEMI] = ACTIONS(5472),
    [anon_sym_STAR_STAR] = ACTIONS(5474),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_EQ] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_do] = ACTIONS(5472),
    [anon_sym_then] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_PLUS_EQ] = ACTIONS(5472),
    [anon_sym_DASH_EQ] = ACTIONS(5472),
    [anon_sym_STAR_EQ] = ACTIONS(5472),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5472),
    [anon_sym_SLASH_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5472),
    [anon_sym_AMP_EQ] = ACTIONS(5472),
    [anon_sym_PERCENT_EQ] = ACTIONS(5472),
    [anon_sym_GT_GT_EQ] = ACTIONS(5472),
    [anon_sym_LT_LT_EQ] = ACTIONS(5472),
    [anon_sym_CARET_EQ] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5474),
    [anon_sym_AMP_AMP] = ACTIONS(5474),
    [anon_sym_LT_LT] = ACTIONS(5474),
    [anon_sym_GT_GT] = ACTIONS(5474),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5474),
    [anon_sym_PLUS] = ACTIONS(5474),
    [anon_sym_SLASH] = ACTIONS(5474),
    [anon_sym_PERCENT] = ACTIONS(5474),
    [sym_comment] = ACTIONS(256),
  },
  [7561] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10577),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4247),
    [sym_call] = STATE(4247),
    [sym_method_call] = STATE(338),
    [sym_splat_argument] = STATE(5074),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_right_assignment_list] = STATE(5075),
    [sym__arg_or_splat_arg] = STATE(10578),
    [sym_left_assignment_list] = STATE(4249),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4250),
    [sym__variable] = STATE(4247),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__splat_star] = ACTIONS(6382),
    [sym__unary_minus] = ACTIONS(6128),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10276),
    [anon_sym_yield] = ACTIONS(10278),
    [anon_sym_break] = ACTIONS(10280),
    [anon_sym_next] = ACTIONS(10282),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10284),
    [anon_sym_defined_QMARK] = ACTIONS(6138),
    [anon_sym_not] = ACTIONS(10286),
    [anon_sym_BANG] = ACTIONS(6144),
    [anon_sym_TILDE] = ACTIONS(6144),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7562] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10579),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4247),
    [sym_call] = STATE(4247),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4249),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4250),
    [sym__variable] = STATE(4247),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6128),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10276),
    [anon_sym_yield] = ACTIONS(10278),
    [anon_sym_break] = ACTIONS(10280),
    [anon_sym_next] = ACTIONS(10282),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10284),
    [anon_sym_defined_QMARK] = ACTIONS(6138),
    [anon_sym_not] = ACTIONS(10286),
    [anon_sym_BANG] = ACTIONS(6144),
    [anon_sym_TILDE] = ACTIONS(6144),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7563] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10580),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(7534),
    [sym_call] = STATE(7534),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(7535),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7536),
    [sym__variable] = STATE(7534),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(10258),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(10260),
    [anon_sym_yield] = ACTIONS(10262),
    [anon_sym_break] = ACTIONS(10264),
    [anon_sym_next] = ACTIONS(10266),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(10268),
    [anon_sym_defined_QMARK] = ACTIONS(10270),
    [anon_sym_not] = ACTIONS(10272),
    [anon_sym_BANG] = ACTIONS(10274),
    [anon_sym_TILDE] = ACTIONS(10274),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7564] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10581),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1645),
    [sym_call] = STATE(1645),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1647),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1648),
    [sym__variable] = STATE(1645),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2580),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2582),
    [anon_sym_yield] = ACTIONS(2584),
    [anon_sym_break] = ACTIONS(2586),
    [anon_sym_next] = ACTIONS(2588),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2590),
    [anon_sym_defined_QMARK] = ACTIONS(2592),
    [anon_sym_not] = ACTIONS(2594),
    [anon_sym_BANG] = ACTIONS(2596),
    [anon_sym_TILDE] = ACTIONS(2596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7565] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__line_break] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(6092),
    [sym__binary_star] = ACTIONS(6094),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(6096),
    [anon_sym_SEMI] = ACTIONS(6346),
    [anon_sym_STAR_STAR] = ACTIONS(6098),
    [anon_sym_AMP] = ACTIONS(6100),
    [anon_sym_LT] = ACTIONS(6102),
    [anon_sym_then] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(6104),
    [anon_sym_DOT_DOT] = ACTIONS(6106),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6108),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(6112),
    [anon_sym_AMP_AMP] = ACTIONS(6112),
    [anon_sym_LT_LT] = ACTIONS(6114),
    [anon_sym_GT_GT] = ACTIONS(6114),
    [anon_sym_EQ_EQ] = ACTIONS(6116),
    [anon_sym_BANG_EQ] = ACTIONS(6112),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6112),
    [anon_sym_LT_EQ_GT] = ACTIONS(6112),
    [anon_sym_EQ_TILDE] = ACTIONS(6112),
    [anon_sym_BANG_TILDE] = ACTIONS(6112),
    [anon_sym_LT_EQ] = ACTIONS(6102),
    [anon_sym_GT] = ACTIONS(6102),
    [anon_sym_GT_EQ] = ACTIONS(6118),
    [anon_sym_CARET] = ACTIONS(6120),
    [anon_sym_PLUS] = ACTIONS(6122),
    [anon_sym_SLASH] = ACTIONS(6098),
    [anon_sym_PERCENT] = ACTIONS(6098),
    [sym_comment] = ACTIONS(110),
  },
  [7566] = {
    [aux_sym_exceptions_repeat1] = STATE(10583),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__line_break] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_SEMI] = ACTIONS(7330),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_then] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [7567] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__line_break] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(6092),
    [sym__binary_star] = ACTIONS(6094),
    [anon_sym_COMMA] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(6096),
    [anon_sym_SEMI] = ACTIONS(7344),
    [anon_sym_STAR_STAR] = ACTIONS(6098),
    [anon_sym_AMP] = ACTIONS(6100),
    [anon_sym_LT] = ACTIONS(6102),
    [anon_sym_then] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(6104),
    [anon_sym_DOT_DOT] = ACTIONS(6106),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6108),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(6112),
    [anon_sym_AMP_AMP] = ACTIONS(6112),
    [anon_sym_LT_LT] = ACTIONS(6114),
    [anon_sym_GT_GT] = ACTIONS(6114),
    [anon_sym_EQ_EQ] = ACTIONS(6116),
    [anon_sym_BANG_EQ] = ACTIONS(6112),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6112),
    [anon_sym_LT_EQ_GT] = ACTIONS(6112),
    [anon_sym_EQ_TILDE] = ACTIONS(6112),
    [anon_sym_BANG_TILDE] = ACTIONS(6112),
    [anon_sym_LT_EQ] = ACTIONS(6102),
    [anon_sym_GT] = ACTIONS(6102),
    [anon_sym_GT_EQ] = ACTIONS(6118),
    [anon_sym_CARET] = ACTIONS(6120),
    [anon_sym_PLUS] = ACTIONS(6122),
    [anon_sym_SLASH] = ACTIONS(6098),
    [anon_sym_PERCENT] = ACTIONS(6098),
    [sym_comment] = ACTIONS(110),
  },
  [7568] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10584),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(400),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(401),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(668),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(680),
    [anon_sym_defined_QMARK] = ACTIONS(682),
    [anon_sym_not] = ACTIONS(684),
    [anon_sym_BANG] = ACTIONS(686),
    [anon_sym_TILDE] = ACTIONS(686),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7569] = {
    [sym__simple_heredoc_body] = ACTIONS(13422),
    [sym__heredoc_body_beginning] = ACTIONS(13422),
    [sym__line_break] = ACTIONS(13422),
    [sym__element_reference_left_bracket] = ACTIONS(13422),
    [sym__scope_double_colon] = ACTIONS(13422),
    [sym__binary_minus] = ACTIONS(13422),
    [sym__binary_star] = ACTIONS(13422),
    [ts_builtin_sym_end] = ACTIONS(13422),
    [anon_sym___END__] = ACTIONS(13422),
    [anon_sym_LBRACE] = ACTIONS(13422),
    [anon_sym_RBRACE] = ACTIONS(13422),
    [anon_sym_RPAREN] = ACTIONS(13422),
    [anon_sym_DOT] = ACTIONS(13424),
    [anon_sym_end] = ACTIONS(13422),
    [anon_sym_COMMA] = ACTIONS(13422),
    [anon_sym_PIPE] = ACTIONS(13424),
    [anon_sym_SEMI] = ACTIONS(13422),
    [anon_sym_STAR_STAR] = ACTIONS(13422),
    [anon_sym_AMP] = ACTIONS(13424),
    [anon_sym_LT] = ACTIONS(13424),
    [anon_sym_if] = ACTIONS(13422),
    [anon_sym_unless] = ACTIONS(13422),
    [anon_sym_while] = ACTIONS(13422),
    [anon_sym_until] = ACTIONS(13422),
    [anon_sym_rescue] = ACTIONS(13422),
    [anon_sym_do] = ACTIONS(13422),
    [anon_sym_when] = ACTIONS(13422),
    [anon_sym_elsif] = ACTIONS(13422),
    [anon_sym_else] = ACTIONS(13422),
    [anon_sym_then] = ACTIONS(13422),
    [anon_sym_ensure] = ACTIONS(13422),
    [anon_sym_EQ_GT] = ACTIONS(13422),
    [anon_sym_AMP_DOT] = ACTIONS(13422),
    [anon_sym_QMARK] = ACTIONS(13422),
    [anon_sym_DOT_DOT] = ACTIONS(13424),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(13422),
    [anon_sym_and] = ACTIONS(13422),
    [anon_sym_or] = ACTIONS(13422),
    [anon_sym_PIPE_PIPE] = ACTIONS(13422),
    [anon_sym_AMP_AMP] = ACTIONS(13422),
    [anon_sym_LT_LT] = ACTIONS(13422),
    [anon_sym_GT_GT] = ACTIONS(13422),
    [anon_sym_EQ_EQ] = ACTIONS(13424),
    [anon_sym_BANG_EQ] = ACTIONS(13422),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(13422),
    [anon_sym_LT_EQ_GT] = ACTIONS(13422),
    [anon_sym_EQ_TILDE] = ACTIONS(13422),
    [anon_sym_BANG_TILDE] = ACTIONS(13422),
    [anon_sym_LT_EQ] = ACTIONS(13424),
    [anon_sym_GT] = ACTIONS(13424),
    [anon_sym_GT_EQ] = ACTIONS(13422),
    [anon_sym_CARET] = ACTIONS(13422),
    [anon_sym_PLUS] = ACTIONS(13422),
    [anon_sym_SLASH] = ACTIONS(13422),
    [anon_sym_PERCENT] = ACTIONS(13422),
    [sym_comment] = ACTIONS(110),
  },
  [7570] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_LBRACE] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(10344),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_EQ] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_do] = ACTIONS(1372),
    [anon_sym_when] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_PLUS_EQ] = ACTIONS(1372),
    [anon_sym_DASH_EQ] = ACTIONS(1372),
    [anon_sym_STAR_EQ] = ACTIONS(1372),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1372),
    [anon_sym_SLASH_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1372),
    [anon_sym_AMP_EQ] = ACTIONS(1372),
    [anon_sym_PERCENT_EQ] = ACTIONS(1372),
    [anon_sym_GT_GT_EQ] = ACTIONS(1372),
    [anon_sym_LT_LT_EQ] = ACTIONS(1372),
    [anon_sym_CARET_EQ] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1374),
    [anon_sym_AMP_AMP] = ACTIONS(1374),
    [anon_sym_LT_LT] = ACTIONS(1374),
    [anon_sym_GT_GT] = ACTIONS(1374),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1374),
    [anon_sym_PLUS] = ACTIONS(1374),
    [anon_sym_SLASH] = ACTIONS(1374),
    [anon_sym_PERCENT] = ACTIONS(1374),
    [sym_comment] = ACTIONS(256),
  },
  [7571] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(10344),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_when] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2872),
    [anon_sym_AMP_AMP] = ACTIONS(2872),
    [anon_sym_LT_LT] = ACTIONS(2872),
    [anon_sym_GT_GT] = ACTIONS(2872),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2872),
    [anon_sym_PLUS] = ACTIONS(2872),
    [anon_sym_SLASH] = ACTIONS(2872),
    [anon_sym_PERCENT] = ACTIONS(2872),
    [sym_comment] = ACTIONS(256),
  },
  [7572] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(10338),
    [sym__binary_star] = ACTIONS(10340),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(10342),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(10344),
    [anon_sym_AMP] = ACTIONS(10346),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(10348),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_when] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(10350),
    [anon_sym_DOT_DOT] = ACTIONS(10352),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10354),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(10356),
    [anon_sym_AMP_AMP] = ACTIONS(10356),
    [anon_sym_LT_LT] = ACTIONS(10358),
    [anon_sym_GT_GT] = ACTIONS(10358),
    [anon_sym_EQ_EQ] = ACTIONS(10356),
    [anon_sym_BANG_EQ] = ACTIONS(10360),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10360),
    [anon_sym_LT_EQ_GT] = ACTIONS(10360),
    [anon_sym_EQ_TILDE] = ACTIONS(10360),
    [anon_sym_BANG_TILDE] = ACTIONS(10360),
    [anon_sym_LT_EQ] = ACTIONS(10348),
    [anon_sym_GT] = ACTIONS(10348),
    [anon_sym_GT_EQ] = ACTIONS(10362),
    [anon_sym_CARET] = ACTIONS(10342),
    [anon_sym_PLUS] = ACTIONS(10364),
    [anon_sym_SLASH] = ACTIONS(10344),
    [anon_sym_PERCENT] = ACTIONS(10344),
    [sym_comment] = ACTIONS(256),
  },
  [7573] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10585),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(4278),
    [sym_call] = STATE(4278),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4279),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4280),
    [sym__variable] = STATE(4278),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(6160),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(6162),
    [anon_sym_yield] = ACTIONS(6164),
    [anon_sym_break] = ACTIONS(6166),
    [anon_sym_next] = ACTIONS(6168),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(6170),
    [anon_sym_defined_QMARK] = ACTIONS(6172),
    [anon_sym_not] = ACTIONS(6174),
    [anon_sym_BANG] = ACTIONS(6176),
    [anon_sym_TILDE] = ACTIONS(6176),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7574] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10586),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(4278),
    [sym_call] = STATE(4278),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4279),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4280),
    [sym__variable] = STATE(4278),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(6160),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(6162),
    [anon_sym_yield] = ACTIONS(6164),
    [anon_sym_break] = ACTIONS(6166),
    [anon_sym_next] = ACTIONS(6168),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(6170),
    [anon_sym_defined_QMARK] = ACTIONS(6172),
    [anon_sym_not] = ACTIONS(6174),
    [anon_sym_BANG] = ACTIONS(6176),
    [anon_sym_TILDE] = ACTIONS(6176),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7575] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10587),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(4278),
    [sym_call] = STATE(4278),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4279),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4280),
    [sym__variable] = STATE(4278),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(6160),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(6162),
    [anon_sym_yield] = ACTIONS(6164),
    [anon_sym_break] = ACTIONS(6166),
    [anon_sym_next] = ACTIONS(6168),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(6170),
    [anon_sym_defined_QMARK] = ACTIONS(6172),
    [anon_sym_not] = ACTIONS(6174),
    [anon_sym_BANG] = ACTIONS(6176),
    [anon_sym_TILDE] = ACTIONS(6176),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7576] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10588),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(4278),
    [sym_call] = STATE(4278),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4279),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4280),
    [sym__variable] = STATE(4278),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(6160),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(6162),
    [anon_sym_yield] = ACTIONS(6164),
    [anon_sym_break] = ACTIONS(6166),
    [anon_sym_next] = ACTIONS(6168),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(6170),
    [anon_sym_defined_QMARK] = ACTIONS(6172),
    [anon_sym_not] = ACTIONS(6174),
    [anon_sym_BANG] = ACTIONS(6176),
    [anon_sym_TILDE] = ACTIONS(6176),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7577] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10589),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(4278),
    [sym_call] = STATE(4278),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4279),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4280),
    [sym__variable] = STATE(4278),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(6160),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(6162),
    [anon_sym_yield] = ACTIONS(6164),
    [anon_sym_break] = ACTIONS(6166),
    [anon_sym_next] = ACTIONS(6168),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(6170),
    [anon_sym_defined_QMARK] = ACTIONS(6172),
    [anon_sym_not] = ACTIONS(6174),
    [anon_sym_BANG] = ACTIONS(6176),
    [anon_sym_TILDE] = ACTIONS(6176),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7578] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10590),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(4278),
    [sym_call] = STATE(4278),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4279),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4280),
    [sym__variable] = STATE(4278),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(6160),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(6162),
    [anon_sym_yield] = ACTIONS(6164),
    [anon_sym_break] = ACTIONS(6166),
    [anon_sym_next] = ACTIONS(6168),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(6170),
    [anon_sym_defined_QMARK] = ACTIONS(6172),
    [anon_sym_not] = ACTIONS(6174),
    [anon_sym_BANG] = ACTIONS(6176),
    [anon_sym_TILDE] = ACTIONS(6176),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7579] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(10591),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [7580] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10592),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(4278),
    [sym_call] = STATE(4278),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4279),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4280),
    [sym__variable] = STATE(4278),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(6160),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(6162),
    [anon_sym_yield] = ACTIONS(6164),
    [anon_sym_break] = ACTIONS(6166),
    [anon_sym_next] = ACTIONS(6168),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(6170),
    [anon_sym_defined_QMARK] = ACTIONS(6172),
    [anon_sym_not] = ACTIONS(6174),
    [anon_sym_BANG] = ACTIONS(6176),
    [anon_sym_TILDE] = ACTIONS(6176),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7581] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10593),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(4278),
    [sym_call] = STATE(4278),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4279),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4280),
    [sym__variable] = STATE(4278),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(6160),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(6162),
    [anon_sym_yield] = ACTIONS(6164),
    [anon_sym_break] = ACTIONS(6166),
    [anon_sym_next] = ACTIONS(6168),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(6170),
    [anon_sym_defined_QMARK] = ACTIONS(6172),
    [anon_sym_not] = ACTIONS(6174),
    [anon_sym_BANG] = ACTIONS(6176),
    [anon_sym_TILDE] = ACTIONS(6176),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7582] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10594),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(4278),
    [sym_call] = STATE(4278),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4279),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4280),
    [sym__variable] = STATE(4278),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(6160),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(6162),
    [anon_sym_yield] = ACTIONS(6164),
    [anon_sym_break] = ACTIONS(6166),
    [anon_sym_next] = ACTIONS(6168),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(6170),
    [anon_sym_defined_QMARK] = ACTIONS(6172),
    [anon_sym_not] = ACTIONS(6174),
    [anon_sym_BANG] = ACTIONS(6176),
    [anon_sym_TILDE] = ACTIONS(6176),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7583] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10595),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(4278),
    [sym_call] = STATE(4278),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4279),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4280),
    [sym__variable] = STATE(4278),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(6160),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(6162),
    [anon_sym_yield] = ACTIONS(6164),
    [anon_sym_break] = ACTIONS(6166),
    [anon_sym_next] = ACTIONS(6168),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(6170),
    [anon_sym_defined_QMARK] = ACTIONS(6172),
    [anon_sym_not] = ACTIONS(6174),
    [anon_sym_BANG] = ACTIONS(6176),
    [anon_sym_TILDE] = ACTIONS(6176),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7584] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10596),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(4278),
    [sym_call] = STATE(4278),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4279),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4280),
    [sym__variable] = STATE(4278),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(6160),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(6162),
    [anon_sym_yield] = ACTIONS(6164),
    [anon_sym_break] = ACTIONS(6166),
    [anon_sym_next] = ACTIONS(6168),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(6170),
    [anon_sym_defined_QMARK] = ACTIONS(6172),
    [anon_sym_not] = ACTIONS(6174),
    [anon_sym_BANG] = ACTIONS(6176),
    [anon_sym_TILDE] = ACTIONS(6176),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7585] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10597),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(4278),
    [sym_call] = STATE(4278),
    [sym_method_call] = STATE(61),
    [sym_splat_argument] = STATE(8404),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_right_assignment_list] = STATE(8405),
    [sym__arg_or_splat_arg] = STATE(10598),
    [sym_left_assignment_list] = STATE(4279),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4280),
    [sym__variable] = STATE(4278),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__splat_star] = ACTIONS(2636),
    [sym__unary_minus] = ACTIONS(6160),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(6162),
    [anon_sym_yield] = ACTIONS(6164),
    [anon_sym_break] = ACTIONS(6166),
    [anon_sym_next] = ACTIONS(6168),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(6170),
    [anon_sym_defined_QMARK] = ACTIONS(6172),
    [anon_sym_not] = ACTIONS(6174),
    [anon_sym_BANG] = ACTIONS(6176),
    [anon_sym_TILDE] = ACTIONS(6176),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7586] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10599),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(4278),
    [sym_call] = STATE(4278),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4279),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4280),
    [sym__variable] = STATE(4278),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(6160),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(6162),
    [anon_sym_yield] = ACTIONS(6164),
    [anon_sym_break] = ACTIONS(6166),
    [anon_sym_next] = ACTIONS(6168),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(6170),
    [anon_sym_defined_QMARK] = ACTIONS(6172),
    [anon_sym_not] = ACTIONS(6174),
    [anon_sym_BANG] = ACTIONS(6176),
    [anon_sym_TILDE] = ACTIONS(6176),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7587] = {
    [sym__simple_heredoc_body] = ACTIONS(8568),
    [sym__heredoc_body_beginning] = ACTIONS(8568),
    [sym__line_break] = ACTIONS(8568),
    [sym__element_reference_left_bracket] = ACTIONS(8568),
    [sym__scope_double_colon] = ACTIONS(8568),
    [sym__binary_minus] = ACTIONS(10338),
    [sym__binary_star] = ACTIONS(10340),
    [anon_sym_LBRACE] = ACTIONS(8568),
    [anon_sym_DOT] = ACTIONS(9468),
    [anon_sym_COMMA] = ACTIONS(8568),
    [anon_sym_PIPE] = ACTIONS(10342),
    [anon_sym_SEMI] = ACTIONS(8568),
    [anon_sym_STAR_STAR] = ACTIONS(10344),
    [anon_sym_AMP] = ACTIONS(10346),
    [anon_sym_EQ] = ACTIONS(9468),
    [anon_sym_LT] = ACTIONS(10348),
    [anon_sym_do] = ACTIONS(8568),
    [anon_sym_when] = ACTIONS(8568),
    [anon_sym_AMP_DOT] = ACTIONS(8568),
    [anon_sym_PLUS_EQ] = ACTIONS(8568),
    [anon_sym_DASH_EQ] = ACTIONS(8568),
    [anon_sym_STAR_EQ] = ACTIONS(8568),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8568),
    [anon_sym_SLASH_EQ] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8568),
    [anon_sym_PIPE_EQ] = ACTIONS(8568),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8568),
    [anon_sym_AMP_EQ] = ACTIONS(8568),
    [anon_sym_PERCENT_EQ] = ACTIONS(8568),
    [anon_sym_GT_GT_EQ] = ACTIONS(8568),
    [anon_sym_LT_LT_EQ] = ACTIONS(8568),
    [anon_sym_CARET_EQ] = ACTIONS(8568),
    [anon_sym_QMARK] = ACTIONS(10350),
    [anon_sym_DOT_DOT] = ACTIONS(10352),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10354),
    [anon_sym_and] = ACTIONS(8568),
    [anon_sym_or] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE] = ACTIONS(10356),
    [anon_sym_AMP_AMP] = ACTIONS(10356),
    [anon_sym_LT_LT] = ACTIONS(10358),
    [anon_sym_GT_GT] = ACTIONS(10358),
    [anon_sym_EQ_EQ] = ACTIONS(10356),
    [anon_sym_BANG_EQ] = ACTIONS(10360),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10360),
    [anon_sym_LT_EQ_GT] = ACTIONS(10360),
    [anon_sym_EQ_TILDE] = ACTIONS(10360),
    [anon_sym_BANG_TILDE] = ACTIONS(10360),
    [anon_sym_LT_EQ] = ACTIONS(10348),
    [anon_sym_GT] = ACTIONS(10348),
    [anon_sym_GT_EQ] = ACTIONS(10362),
    [anon_sym_CARET] = ACTIONS(10342),
    [anon_sym_PLUS] = ACTIONS(10364),
    [anon_sym_SLASH] = ACTIONS(10344),
    [anon_sym_PERCENT] = ACTIONS(10344),
    [sym_comment] = ACTIONS(256),
  },
  [7588] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__line_break] = ACTIONS(7008),
    [sym__element_reference_left_bracket] = ACTIONS(7008),
    [sym__scope_double_colon] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(6194),
    [anon_sym_LBRACE] = ACTIONS(7008),
    [anon_sym_DOT] = ACTIONS(7010),
    [anon_sym_COMMA] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_SEMI] = ACTIONS(7008),
    [anon_sym_STAR_STAR] = ACTIONS(6198),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_EQ] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_do] = ACTIONS(7008),
    [anon_sym_when] = ACTIONS(7008),
    [anon_sym_EQ_GT] = ACTIONS(7008),
    [anon_sym_AMP_DOT] = ACTIONS(7008),
    [anon_sym_PLUS_EQ] = ACTIONS(7008),
    [anon_sym_DASH_EQ] = ACTIONS(7008),
    [anon_sym_STAR_EQ] = ACTIONS(7008),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7008),
    [anon_sym_SLASH_EQ] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7008),
    [anon_sym_PIPE_EQ] = ACTIONS(7008),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7008),
    [anon_sym_AMP_EQ] = ACTIONS(7008),
    [anon_sym_PERCENT_EQ] = ACTIONS(7008),
    [anon_sym_GT_GT_EQ] = ACTIONS(7008),
    [anon_sym_LT_LT_EQ] = ACTIONS(7008),
    [anon_sym_CARET_EQ] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7010),
    [anon_sym_AMP_AMP] = ACTIONS(7010),
    [anon_sym_LT_LT] = ACTIONS(7010),
    [anon_sym_GT_GT] = ACTIONS(7010),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7010),
    [anon_sym_PLUS] = ACTIONS(7010),
    [anon_sym_SLASH] = ACTIONS(6198),
    [anon_sym_PERCENT] = ACTIONS(6198),
    [sym_comment] = ACTIONS(256),
  },
  [7589] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__line_break] = ACTIONS(7012),
    [sym__element_reference_left_bracket] = ACTIONS(7012),
    [sym__scope_double_colon] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_LBRACE] = ACTIONS(7012),
    [anon_sym_DOT] = ACTIONS(7014),
    [anon_sym_COMMA] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_SEMI] = ACTIONS(7012),
    [anon_sym_STAR_STAR] = ACTIONS(6198),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_EQ] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_do] = ACTIONS(7012),
    [anon_sym_when] = ACTIONS(7012),
    [anon_sym_EQ_GT] = ACTIONS(7012),
    [anon_sym_AMP_DOT] = ACTIONS(7012),
    [anon_sym_PLUS_EQ] = ACTIONS(7012),
    [anon_sym_DASH_EQ] = ACTIONS(7012),
    [anon_sym_STAR_EQ] = ACTIONS(7012),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7012),
    [anon_sym_SLASH_EQ] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7012),
    [anon_sym_PIPE_EQ] = ACTIONS(7012),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7012),
    [anon_sym_AMP_EQ] = ACTIONS(7012),
    [anon_sym_PERCENT_EQ] = ACTIONS(7012),
    [anon_sym_GT_GT_EQ] = ACTIONS(7012),
    [anon_sym_LT_LT_EQ] = ACTIONS(7012),
    [anon_sym_CARET_EQ] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7014),
    [anon_sym_AMP_AMP] = ACTIONS(7014),
    [anon_sym_LT_LT] = ACTIONS(7014),
    [anon_sym_GT_GT] = ACTIONS(7014),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7014),
    [anon_sym_PLUS] = ACTIONS(7014),
    [anon_sym_SLASH] = ACTIONS(7014),
    [anon_sym_PERCENT] = ACTIONS(7014),
    [sym_comment] = ACTIONS(256),
  },
  [7590] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6192),
    [sym__binary_star] = ACTIONS(6194),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6198),
    [anon_sym_AMP] = ACTIONS(6200),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_when] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(6212),
    [anon_sym_GT_GT] = ACTIONS(6212),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(6218),
    [anon_sym_SLASH] = ACTIONS(6198),
    [anon_sym_PERCENT] = ACTIONS(6198),
    [sym_comment] = ACTIONS(256),
  },
  [7591] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6198),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_when] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7018),
    [anon_sym_GT_GT] = ACTIONS(7018),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(7018),
    [anon_sym_SLASH] = ACTIONS(7018),
    [anon_sym_PERCENT] = ACTIONS(7018),
    [sym_comment] = ACTIONS(256),
  },
  [7592] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6192),
    [sym__binary_star] = ACTIONS(6194),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6198),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_when] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(6212),
    [anon_sym_GT_GT] = ACTIONS(6212),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(6218),
    [anon_sym_SLASH] = ACTIONS(6198),
    [anon_sym_PERCENT] = ACTIONS(6198),
    [sym_comment] = ACTIONS(256),
  },
  [7593] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6192),
    [sym__binary_star] = ACTIONS(6194),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(6196),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6198),
    [anon_sym_AMP] = ACTIONS(6200),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_when] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(6212),
    [anon_sym_GT_GT] = ACTIONS(6212),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(6196),
    [anon_sym_PLUS] = ACTIONS(6218),
    [anon_sym_SLASH] = ACTIONS(6198),
    [anon_sym_PERCENT] = ACTIONS(6198),
    [sym_comment] = ACTIONS(256),
  },
  [7594] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(13426),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [7595] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__line_break] = ACTIONS(7108),
    [sym__element_reference_left_bracket] = ACTIONS(7108),
    [sym__scope_double_colon] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(6192),
    [sym__binary_star] = ACTIONS(6194),
    [anon_sym_LBRACE] = ACTIONS(7108),
    [anon_sym_DOT] = ACTIONS(9472),
    [anon_sym_COMMA] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(6196),
    [anon_sym_SEMI] = ACTIONS(7108),
    [anon_sym_STAR_STAR] = ACTIONS(6198),
    [anon_sym_AMP] = ACTIONS(6200),
    [anon_sym_EQ] = ACTIONS(9472),
    [anon_sym_LT] = ACTIONS(6202),
    [anon_sym_do] = ACTIONS(7108),
    [anon_sym_when] = ACTIONS(7108),
    [anon_sym_EQ_GT] = ACTIONS(7108),
    [anon_sym_AMP_DOT] = ACTIONS(7108),
    [anon_sym_PLUS_EQ] = ACTIONS(7108),
    [anon_sym_DASH_EQ] = ACTIONS(7108),
    [anon_sym_STAR_EQ] = ACTIONS(7108),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7108),
    [anon_sym_SLASH_EQ] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7108),
    [anon_sym_PIPE_EQ] = ACTIONS(7108),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7108),
    [anon_sym_AMP_EQ] = ACTIONS(7108),
    [anon_sym_PERCENT_EQ] = ACTIONS(7108),
    [anon_sym_GT_GT_EQ] = ACTIONS(7108),
    [anon_sym_LT_LT_EQ] = ACTIONS(7108),
    [anon_sym_CARET_EQ] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(6206),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6208),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(6210),
    [anon_sym_AMP_AMP] = ACTIONS(6210),
    [anon_sym_LT_LT] = ACTIONS(6212),
    [anon_sym_GT_GT] = ACTIONS(6212),
    [anon_sym_EQ_EQ] = ACTIONS(6210),
    [anon_sym_BANG_EQ] = ACTIONS(6214),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6214),
    [anon_sym_LT_EQ_GT] = ACTIONS(6214),
    [anon_sym_EQ_TILDE] = ACTIONS(6214),
    [anon_sym_BANG_TILDE] = ACTIONS(6214),
    [anon_sym_LT_EQ] = ACTIONS(6202),
    [anon_sym_GT] = ACTIONS(6202),
    [anon_sym_GT_EQ] = ACTIONS(6216),
    [anon_sym_CARET] = ACTIONS(6196),
    [anon_sym_PLUS] = ACTIONS(6218),
    [anon_sym_SLASH] = ACTIONS(6198),
    [anon_sym_PERCENT] = ACTIONS(6198),
    [sym_comment] = ACTIONS(256),
  },
  [7596] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6192),
    [sym__binary_star] = ACTIONS(6194),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(6196),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6198),
    [anon_sym_AMP] = ACTIONS(6200),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(6202),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_when] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(6204),
    [anon_sym_DOT_DOT] = ACTIONS(6206),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6208),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(6210),
    [anon_sym_AMP_AMP] = ACTIONS(6210),
    [anon_sym_LT_LT] = ACTIONS(6212),
    [anon_sym_GT_GT] = ACTIONS(6212),
    [anon_sym_EQ_EQ] = ACTIONS(6210),
    [anon_sym_BANG_EQ] = ACTIONS(6214),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6214),
    [anon_sym_LT_EQ_GT] = ACTIONS(6214),
    [anon_sym_EQ_TILDE] = ACTIONS(6214),
    [anon_sym_BANG_TILDE] = ACTIONS(6214),
    [anon_sym_LT_EQ] = ACTIONS(6202),
    [anon_sym_GT] = ACTIONS(6202),
    [anon_sym_GT_EQ] = ACTIONS(6216),
    [anon_sym_CARET] = ACTIONS(6196),
    [anon_sym_PLUS] = ACTIONS(6218),
    [anon_sym_SLASH] = ACTIONS(6198),
    [anon_sym_PERCENT] = ACTIONS(6198),
    [sym_comment] = ACTIONS(256),
  },
  [7597] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6192),
    [sym__binary_star] = ACTIONS(6194),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(6196),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6198),
    [anon_sym_AMP] = ACTIONS(6200),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(6202),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_when] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(6212),
    [anon_sym_GT_GT] = ACTIONS(6212),
    [anon_sym_EQ_EQ] = ACTIONS(6210),
    [anon_sym_BANG_EQ] = ACTIONS(6214),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6214),
    [anon_sym_LT_EQ_GT] = ACTIONS(6214),
    [anon_sym_EQ_TILDE] = ACTIONS(6214),
    [anon_sym_BANG_TILDE] = ACTIONS(6214),
    [anon_sym_LT_EQ] = ACTIONS(6202),
    [anon_sym_GT] = ACTIONS(6202),
    [anon_sym_GT_EQ] = ACTIONS(6216),
    [anon_sym_CARET] = ACTIONS(6196),
    [anon_sym_PLUS] = ACTIONS(6218),
    [anon_sym_SLASH] = ACTIONS(6198),
    [anon_sym_PERCENT] = ACTIONS(6198),
    [sym_comment] = ACTIONS(256),
  },
  [7598] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6192),
    [sym__binary_star] = ACTIONS(6194),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6198),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_when] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7018),
    [anon_sym_GT_GT] = ACTIONS(7018),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(6218),
    [anon_sym_SLASH] = ACTIONS(6198),
    [anon_sym_PERCENT] = ACTIONS(6198),
    [sym_comment] = ACTIONS(256),
  },
  [7599] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(6194),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6198),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_when] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7018),
    [anon_sym_GT_GT] = ACTIONS(7018),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(7018),
    [anon_sym_SLASH] = ACTIONS(6198),
    [anon_sym_PERCENT] = ACTIONS(6198),
    [sym_comment] = ACTIONS(256),
  },
  [7600] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1679),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1680),
    [sym_call] = STATE(1680),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(8481),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1682),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1683),
    [sym__variable] = STATE(1680),
    [sym_reserved_identifier] = STATE(1684),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1685),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__block_ampersand] = ACTIONS(2634),
    [sym__splat_star] = ACTIONS(2636),
    [sym__unary_minus] = ACTIONS(2638),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(10372),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2640),
    [anon_sym_yield] = ACTIONS(2642),
    [anon_sym_break] = ACTIONS(2644),
    [anon_sym_next] = ACTIONS(2646),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(6186),
    [anon_sym_defined_QMARK] = ACTIONS(2648),
    [anon_sym_not] = ACTIONS(2650),
    [anon_sym_BANG] = ACTIONS(2654),
    [anon_sym_TILDE] = ACTIONS(2654),
    [sym_constant] = ACTIONS(2656),
    [sym_identifier] = ACTIONS(2656),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7601] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1679),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1680),
    [sym_call] = STATE(1680),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(8481),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1682),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1683),
    [sym__variable] = STATE(1680),
    [sym_reserved_identifier] = STATE(1684),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1685),
    [sym_subshell] = STATE(561),
    [sym_heredoc_end] = STATE(10601),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__block_ampersand] = ACTIONS(2634),
    [sym__splat_star] = ACTIONS(2636),
    [sym__unary_minus] = ACTIONS(2638),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(10372),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2640),
    [anon_sym_yield] = ACTIONS(2642),
    [anon_sym_break] = ACTIONS(2644),
    [anon_sym_next] = ACTIONS(2646),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(6186),
    [anon_sym_defined_QMARK] = ACTIONS(2648),
    [anon_sym_not] = ACTIONS(2650),
    [anon_sym_BANG] = ACTIONS(2654),
    [anon_sym_TILDE] = ACTIONS(2654),
    [sym_constant] = ACTIONS(2656),
    [sym_identifier] = ACTIONS(2656),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7602] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__line_break] = ACTIONS(6346),
    [sym__element_reference_left_bracket] = ACTIONS(6346),
    [sym__scope_double_colon] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(6192),
    [sym__binary_star] = ACTIONS(6194),
    [anon_sym_LBRACE] = ACTIONS(6346),
    [anon_sym_DOT] = ACTIONS(7328),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(6196),
    [anon_sym_SEMI] = ACTIONS(6346),
    [anon_sym_STAR_STAR] = ACTIONS(6198),
    [anon_sym_AMP] = ACTIONS(6200),
    [anon_sym_EQ] = ACTIONS(7328),
    [anon_sym_LT] = ACTIONS(6202),
    [anon_sym_do] = ACTIONS(6346),
    [anon_sym_when] = ACTIONS(6346),
    [anon_sym_EQ_GT] = ACTIONS(6346),
    [anon_sym_AMP_DOT] = ACTIONS(6346),
    [anon_sym_PLUS_EQ] = ACTIONS(6346),
    [anon_sym_DASH_EQ] = ACTIONS(6346),
    [anon_sym_STAR_EQ] = ACTIONS(6346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6346),
    [anon_sym_SLASH_EQ] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6346),
    [anon_sym_PIPE_EQ] = ACTIONS(6346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6346),
    [anon_sym_AMP_EQ] = ACTIONS(6346),
    [anon_sym_PERCENT_EQ] = ACTIONS(6346),
    [anon_sym_GT_GT_EQ] = ACTIONS(6346),
    [anon_sym_LT_LT_EQ] = ACTIONS(6346),
    [anon_sym_CARET_EQ] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(6204),
    [anon_sym_DOT_DOT] = ACTIONS(6206),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6208),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(6210),
    [anon_sym_AMP_AMP] = ACTIONS(6210),
    [anon_sym_LT_LT] = ACTIONS(6212),
    [anon_sym_GT_GT] = ACTIONS(6212),
    [anon_sym_EQ_EQ] = ACTIONS(6210),
    [anon_sym_BANG_EQ] = ACTIONS(6214),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6214),
    [anon_sym_LT_EQ_GT] = ACTIONS(6214),
    [anon_sym_EQ_TILDE] = ACTIONS(6214),
    [anon_sym_BANG_TILDE] = ACTIONS(6214),
    [anon_sym_LT_EQ] = ACTIONS(6202),
    [anon_sym_GT] = ACTIONS(6202),
    [anon_sym_GT_EQ] = ACTIONS(6216),
    [anon_sym_CARET] = ACTIONS(6196),
    [anon_sym_PLUS] = ACTIONS(6218),
    [anon_sym_SLASH] = ACTIONS(6198),
    [anon_sym_PERCENT] = ACTIONS(6198),
    [sym_comment] = ACTIONS(256),
  },
  [7603] = {
    [aux_sym_exceptions_repeat1] = STATE(10603),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__line_break] = ACTIONS(7330),
    [sym__element_reference_left_bracket] = ACTIONS(7330),
    [sym__scope_double_colon] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_LBRACE] = ACTIONS(7330),
    [anon_sym_DOT] = ACTIONS(7332),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_SEMI] = ACTIONS(7330),
    [anon_sym_STAR_STAR] = ACTIONS(7332),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_EQ] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_do] = ACTIONS(7330),
    [anon_sym_when] = ACTIONS(7330),
    [anon_sym_EQ_GT] = ACTIONS(7330),
    [anon_sym_AMP_DOT] = ACTIONS(7330),
    [anon_sym_PLUS_EQ] = ACTIONS(7330),
    [anon_sym_DASH_EQ] = ACTIONS(7330),
    [anon_sym_STAR_EQ] = ACTIONS(7330),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7330),
    [anon_sym_SLASH_EQ] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7330),
    [anon_sym_PIPE_EQ] = ACTIONS(7330),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7330),
    [anon_sym_AMP_EQ] = ACTIONS(7330),
    [anon_sym_PERCENT_EQ] = ACTIONS(7330),
    [anon_sym_GT_GT_EQ] = ACTIONS(7330),
    [anon_sym_LT_LT_EQ] = ACTIONS(7330),
    [anon_sym_CARET_EQ] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7332),
    [anon_sym_AMP_AMP] = ACTIONS(7332),
    [anon_sym_LT_LT] = ACTIONS(7332),
    [anon_sym_GT_GT] = ACTIONS(7332),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7332),
    [anon_sym_PLUS] = ACTIONS(7332),
    [anon_sym_SLASH] = ACTIONS(7332),
    [anon_sym_PERCENT] = ACTIONS(7332),
    [sym_comment] = ACTIONS(256),
  },
  [7604] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__line_break] = ACTIONS(7344),
    [sym__element_reference_left_bracket] = ACTIONS(7344),
    [sym__scope_double_colon] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(6192),
    [sym__binary_star] = ACTIONS(6194),
    [anon_sym_LBRACE] = ACTIONS(7344),
    [anon_sym_DOT] = ACTIONS(9504),
    [anon_sym_COMMA] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(6196),
    [anon_sym_SEMI] = ACTIONS(7344),
    [anon_sym_STAR_STAR] = ACTIONS(6198),
    [anon_sym_AMP] = ACTIONS(6200),
    [anon_sym_EQ] = ACTIONS(9504),
    [anon_sym_LT] = ACTIONS(6202),
    [anon_sym_do] = ACTIONS(7344),
    [anon_sym_when] = ACTIONS(7344),
    [anon_sym_EQ_GT] = ACTIONS(7344),
    [anon_sym_AMP_DOT] = ACTIONS(7344),
    [anon_sym_PLUS_EQ] = ACTIONS(7344),
    [anon_sym_DASH_EQ] = ACTIONS(7344),
    [anon_sym_STAR_EQ] = ACTIONS(7344),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7344),
    [anon_sym_SLASH_EQ] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7344),
    [anon_sym_PIPE_EQ] = ACTIONS(7344),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7344),
    [anon_sym_AMP_EQ] = ACTIONS(7344),
    [anon_sym_PERCENT_EQ] = ACTIONS(7344),
    [anon_sym_GT_GT_EQ] = ACTIONS(7344),
    [anon_sym_LT_LT_EQ] = ACTIONS(7344),
    [anon_sym_CARET_EQ] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(6204),
    [anon_sym_DOT_DOT] = ACTIONS(6206),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6208),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(6210),
    [anon_sym_AMP_AMP] = ACTIONS(6210),
    [anon_sym_LT_LT] = ACTIONS(6212),
    [anon_sym_GT_GT] = ACTIONS(6212),
    [anon_sym_EQ_EQ] = ACTIONS(6210),
    [anon_sym_BANG_EQ] = ACTIONS(6214),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6214),
    [anon_sym_LT_EQ_GT] = ACTIONS(6214),
    [anon_sym_EQ_TILDE] = ACTIONS(6214),
    [anon_sym_BANG_TILDE] = ACTIONS(6214),
    [anon_sym_LT_EQ] = ACTIONS(6202),
    [anon_sym_GT] = ACTIONS(6202),
    [anon_sym_GT_EQ] = ACTIONS(6216),
    [anon_sym_CARET] = ACTIONS(6196),
    [anon_sym_PLUS] = ACTIONS(6218),
    [anon_sym_SLASH] = ACTIONS(6198),
    [anon_sym_PERCENT] = ACTIONS(6198),
    [sym_comment] = ACTIONS(256),
  },
  [7605] = {
    [sym__simple_heredoc_body] = ACTIONS(8662),
    [sym__heredoc_body_beginning] = ACTIONS(8662),
    [sym__line_break] = ACTIONS(8662),
    [sym__element_reference_left_bracket] = ACTIONS(8662),
    [sym__scope_double_colon] = ACTIONS(8662),
    [sym__binary_minus] = ACTIONS(10338),
    [sym__binary_star] = ACTIONS(10340),
    [anon_sym_LBRACE] = ACTIONS(8662),
    [anon_sym_DOT] = ACTIONS(9506),
    [anon_sym_COMMA] = ACTIONS(8662),
    [anon_sym_PIPE] = ACTIONS(10342),
    [anon_sym_SEMI] = ACTIONS(8662),
    [anon_sym_STAR_STAR] = ACTIONS(10344),
    [anon_sym_AMP] = ACTIONS(10346),
    [anon_sym_EQ] = ACTIONS(9506),
    [anon_sym_LT] = ACTIONS(10348),
    [anon_sym_do] = ACTIONS(8662),
    [anon_sym_when] = ACTIONS(8662),
    [anon_sym_AMP_DOT] = ACTIONS(8662),
    [anon_sym_PLUS_EQ] = ACTIONS(8662),
    [anon_sym_DASH_EQ] = ACTIONS(8662),
    [anon_sym_STAR_EQ] = ACTIONS(8662),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8662),
    [anon_sym_SLASH_EQ] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8662),
    [anon_sym_PIPE_EQ] = ACTIONS(8662),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8662),
    [anon_sym_AMP_EQ] = ACTIONS(8662),
    [anon_sym_PERCENT_EQ] = ACTIONS(8662),
    [anon_sym_GT_GT_EQ] = ACTIONS(8662),
    [anon_sym_LT_LT_EQ] = ACTIONS(8662),
    [anon_sym_CARET_EQ] = ACTIONS(8662),
    [anon_sym_QMARK] = ACTIONS(10350),
    [anon_sym_DOT_DOT] = ACTIONS(10352),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10354),
    [anon_sym_and] = ACTIONS(8662),
    [anon_sym_or] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE] = ACTIONS(10356),
    [anon_sym_AMP_AMP] = ACTIONS(10356),
    [anon_sym_LT_LT] = ACTIONS(10358),
    [anon_sym_GT_GT] = ACTIONS(10358),
    [anon_sym_EQ_EQ] = ACTIONS(10356),
    [anon_sym_BANG_EQ] = ACTIONS(10360),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10360),
    [anon_sym_LT_EQ_GT] = ACTIONS(10360),
    [anon_sym_EQ_TILDE] = ACTIONS(10360),
    [anon_sym_BANG_TILDE] = ACTIONS(10360),
    [anon_sym_LT_EQ] = ACTIONS(10348),
    [anon_sym_GT] = ACTIONS(10348),
    [anon_sym_GT_EQ] = ACTIONS(10362),
    [anon_sym_CARET] = ACTIONS(10342),
    [anon_sym_PLUS] = ACTIONS(10364),
    [anon_sym_SLASH] = ACTIONS(10344),
    [anon_sym_PERCENT] = ACTIONS(10344),
    [sym_comment] = ACTIONS(256),
  },
  [7606] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__line_break] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(10376),
    [sym__binary_star] = ACTIONS(10378),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(10380),
    [anon_sym_SEMI] = ACTIONS(5338),
    [anon_sym_STAR_STAR] = ACTIONS(10382),
    [anon_sym_AMP] = ACTIONS(10384),
    [anon_sym_LT] = ACTIONS(10386),
    [anon_sym_when] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(10388),
    [anon_sym_DOT_DOT] = ACTIONS(10390),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10392),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(10394),
    [anon_sym_AMP_AMP] = ACTIONS(10394),
    [anon_sym_LT_LT] = ACTIONS(10396),
    [anon_sym_GT_GT] = ACTIONS(10396),
    [anon_sym_EQ_EQ] = ACTIONS(10398),
    [anon_sym_BANG_EQ] = ACTIONS(10394),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10394),
    [anon_sym_LT_EQ_GT] = ACTIONS(10394),
    [anon_sym_EQ_TILDE] = ACTIONS(10394),
    [anon_sym_BANG_TILDE] = ACTIONS(10394),
    [anon_sym_LT_EQ] = ACTIONS(10386),
    [anon_sym_GT] = ACTIONS(10386),
    [anon_sym_GT_EQ] = ACTIONS(10400),
    [anon_sym_CARET] = ACTIONS(10402),
    [anon_sym_PLUS] = ACTIONS(10404),
    [anon_sym_SLASH] = ACTIONS(10382),
    [anon_sym_PERCENT] = ACTIONS(10382),
    [sym_comment] = ACTIONS(110),
  },
  [7607] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(10382),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_when] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [7608] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(10382),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_when] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [7609] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(10376),
    [sym__binary_star] = ACTIONS(10378),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(10380),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(10382),
    [anon_sym_AMP] = ACTIONS(10384),
    [anon_sym_LT] = ACTIONS(10386),
    [anon_sym_when] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(10388),
    [anon_sym_DOT_DOT] = ACTIONS(10390),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10392),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(10394),
    [anon_sym_AMP_AMP] = ACTIONS(10394),
    [anon_sym_LT_LT] = ACTIONS(10396),
    [anon_sym_GT_GT] = ACTIONS(10396),
    [anon_sym_EQ_EQ] = ACTIONS(10398),
    [anon_sym_BANG_EQ] = ACTIONS(10394),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10394),
    [anon_sym_LT_EQ_GT] = ACTIONS(10394),
    [anon_sym_EQ_TILDE] = ACTIONS(10394),
    [anon_sym_BANG_TILDE] = ACTIONS(10394),
    [anon_sym_LT_EQ] = ACTIONS(10386),
    [anon_sym_GT] = ACTIONS(10386),
    [anon_sym_GT_EQ] = ACTIONS(10400),
    [anon_sym_CARET] = ACTIONS(10402),
    [anon_sym_PLUS] = ACTIONS(10404),
    [anon_sym_SLASH] = ACTIONS(10382),
    [anon_sym_PERCENT] = ACTIONS(10382),
    [sym_comment] = ACTIONS(110),
  },
  [7610] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10604),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(4315),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4316),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6232),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6234),
    [anon_sym_defined_QMARK] = ACTIONS(6236),
    [anon_sym_not] = ACTIONS(6238),
    [anon_sym_BANG] = ACTIONS(6240),
    [anon_sym_TILDE] = ACTIONS(6240),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7611] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10605),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(4315),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4316),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6232),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6234),
    [anon_sym_defined_QMARK] = ACTIONS(6236),
    [anon_sym_not] = ACTIONS(6238),
    [anon_sym_BANG] = ACTIONS(6240),
    [anon_sym_TILDE] = ACTIONS(6240),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7612] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10606),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(4315),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4316),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6232),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6234),
    [anon_sym_defined_QMARK] = ACTIONS(6236),
    [anon_sym_not] = ACTIONS(6238),
    [anon_sym_BANG] = ACTIONS(6240),
    [anon_sym_TILDE] = ACTIONS(6240),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7613] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10607),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(4315),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4316),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6232),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6234),
    [anon_sym_defined_QMARK] = ACTIONS(6236),
    [anon_sym_not] = ACTIONS(6238),
    [anon_sym_BANG] = ACTIONS(6240),
    [anon_sym_TILDE] = ACTIONS(6240),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7614] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10608),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(4315),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4316),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6232),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6234),
    [anon_sym_defined_QMARK] = ACTIONS(6236),
    [anon_sym_not] = ACTIONS(6238),
    [anon_sym_BANG] = ACTIONS(6240),
    [anon_sym_TILDE] = ACTIONS(6240),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7615] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10609),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(4315),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4316),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6232),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6234),
    [anon_sym_defined_QMARK] = ACTIONS(6236),
    [anon_sym_not] = ACTIONS(6238),
    [anon_sym_BANG] = ACTIONS(6240),
    [anon_sym_TILDE] = ACTIONS(6240),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7616] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(10610),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [7617] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10611),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(4315),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4316),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6232),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6234),
    [anon_sym_defined_QMARK] = ACTIONS(6236),
    [anon_sym_not] = ACTIONS(6238),
    [anon_sym_BANG] = ACTIONS(6240),
    [anon_sym_TILDE] = ACTIONS(6240),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7618] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10612),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(4315),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4316),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6232),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6234),
    [anon_sym_defined_QMARK] = ACTIONS(6236),
    [anon_sym_not] = ACTIONS(6238),
    [anon_sym_BANG] = ACTIONS(6240),
    [anon_sym_TILDE] = ACTIONS(6240),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7619] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10613),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(4315),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4316),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6232),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6234),
    [anon_sym_defined_QMARK] = ACTIONS(6236),
    [anon_sym_not] = ACTIONS(6238),
    [anon_sym_BANG] = ACTIONS(6240),
    [anon_sym_TILDE] = ACTIONS(6240),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7620] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10614),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(4315),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4316),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6232),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6234),
    [anon_sym_defined_QMARK] = ACTIONS(6236),
    [anon_sym_not] = ACTIONS(6238),
    [anon_sym_BANG] = ACTIONS(6240),
    [anon_sym_TILDE] = ACTIONS(6240),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7621] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10615),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(4315),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4316),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6232),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6234),
    [anon_sym_defined_QMARK] = ACTIONS(6236),
    [anon_sym_not] = ACTIONS(6238),
    [anon_sym_BANG] = ACTIONS(6240),
    [anon_sym_TILDE] = ACTIONS(6240),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7622] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4313),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_splat_argument] = STATE(2211),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym__arg_or_splat_arg] = STATE(8497),
    [sym_left_assignment_list] = STATE(4315),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4316),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(6230),
    [sym__unary_minus] = ACTIONS(6232),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6234),
    [anon_sym_defined_QMARK] = ACTIONS(6236),
    [anon_sym_not] = ACTIONS(6238),
    [anon_sym_BANG] = ACTIONS(6240),
    [anon_sym_TILDE] = ACTIONS(6240),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7623] = {
    [sym__simple_heredoc_body] = ACTIONS(11422),
    [sym__heredoc_body_beginning] = ACTIONS(11422),
    [sym__line_break] = ACTIONS(11422),
    [sym__binary_minus] = ACTIONS(11422),
    [sym__binary_star] = ACTIONS(11422),
    [anon_sym_COMMA] = ACTIONS(13428),
    [anon_sym_PIPE] = ACTIONS(11426),
    [anon_sym_SEMI] = ACTIONS(11422),
    [anon_sym_STAR_STAR] = ACTIONS(11422),
    [anon_sym_AMP] = ACTIONS(11426),
    [anon_sym_LT] = ACTIONS(11426),
    [anon_sym_when] = ACTIONS(11422),
    [anon_sym_QMARK] = ACTIONS(11422),
    [anon_sym_DOT_DOT] = ACTIONS(11426),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11422),
    [anon_sym_and] = ACTIONS(11422),
    [anon_sym_or] = ACTIONS(11422),
    [anon_sym_PIPE_PIPE] = ACTIONS(11422),
    [anon_sym_AMP_AMP] = ACTIONS(11422),
    [anon_sym_LT_LT] = ACTIONS(11422),
    [anon_sym_GT_GT] = ACTIONS(11422),
    [anon_sym_EQ_EQ] = ACTIONS(11426),
    [anon_sym_BANG_EQ] = ACTIONS(11422),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11422),
    [anon_sym_LT_EQ_GT] = ACTIONS(11422),
    [anon_sym_EQ_TILDE] = ACTIONS(11422),
    [anon_sym_BANG_TILDE] = ACTIONS(11422),
    [anon_sym_LT_EQ] = ACTIONS(11426),
    [anon_sym_GT] = ACTIONS(11426),
    [anon_sym_GT_EQ] = ACTIONS(11422),
    [anon_sym_CARET] = ACTIONS(11422),
    [anon_sym_PLUS] = ACTIONS(11422),
    [anon_sym_SLASH] = ACTIONS(11422),
    [anon_sym_PERCENT] = ACTIONS(11422),
    [sym_comment] = ACTIONS(110),
  },
  [7624] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4313),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_splat_argument] = STATE(2211),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_right_assignment_list] = STATE(2212),
    [sym__arg_or_splat_arg] = STATE(10617),
    [sym_left_assignment_list] = STATE(4315),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4316),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(6230),
    [sym__unary_minus] = ACTIONS(6232),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6234),
    [anon_sym_defined_QMARK] = ACTIONS(6236),
    [anon_sym_not] = ACTIONS(6238),
    [anon_sym_BANG] = ACTIONS(6240),
    [anon_sym_TILDE] = ACTIONS(6240),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7625] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10618),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(399),
    [sym_call] = STATE(399),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(4315),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4316),
    [sym__variable] = STATE(399),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6232),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(670),
    [anon_sym_yield] = ACTIONS(672),
    [anon_sym_break] = ACTIONS(674),
    [anon_sym_next] = ACTIONS(676),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6234),
    [anon_sym_defined_QMARK] = ACTIONS(6236),
    [anon_sym_not] = ACTIONS(6238),
    [anon_sym_BANG] = ACTIONS(6240),
    [anon_sym_TILDE] = ACTIONS(6240),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7626] = {
    [sym__simple_string] = ACTIONS(12070),
    [sym__simple_symbol] = ACTIONS(12070),
    [sym__simple_subshell] = ACTIONS(12070),
    [sym__simple_regex] = ACTIONS(12070),
    [sym__simple_word_list] = ACTIONS(12070),
    [sym__string_beginning] = ACTIONS(12070),
    [sym__symbol_beginning] = ACTIONS(12070),
    [sym__subshell_beginning] = ACTIONS(12070),
    [sym__regex_beginning] = ACTIONS(12070),
    [sym__word_list_beginning] = ACTIONS(12070),
    [sym_heredoc_beginning] = ACTIONS(12070),
    [sym__unary_minus] = ACTIONS(12070),
    [anon_sym_BEGIN] = ACTIONS(13430),
    [anon_sym_LBRACE] = ACTIONS(12070),
    [anon_sym_END] = ACTIONS(13430),
    [anon_sym_def] = ACTIONS(13430),
    [anon_sym_LPAREN] = ACTIONS(12070),
    [anon_sym_COLON_COLON] = ACTIONS(12070),
    [anon_sym_end] = ACTIONS(13430),
    [anon_sym_SEMI] = ACTIONS(12070),
    [anon_sym_STAR] = ACTIONS(12070),
    [anon_sym_class] = ACTIONS(13430),
    [anon_sym_module] = ACTIONS(13430),
    [anon_sym_return] = ACTIONS(13430),
    [anon_sym_yield] = ACTIONS(13430),
    [anon_sym_break] = ACTIONS(13430),
    [anon_sym_next] = ACTIONS(13430),
    [anon_sym_redo] = ACTIONS(13430),
    [anon_sym_retry] = ACTIONS(13430),
    [anon_sym_if] = ACTIONS(13430),
    [anon_sym_unless] = ACTIONS(13430),
    [anon_sym_while] = ACTIONS(13430),
    [anon_sym_until] = ACTIONS(13430),
    [anon_sym_rescue] = ACTIONS(13430),
    [anon_sym_for] = ACTIONS(13430),
    [anon_sym_case] = ACTIONS(13430),
    [anon_sym_else] = ACTIONS(13430),
    [anon_sym_begin] = ACTIONS(13430),
    [anon_sym_ensure] = ACTIONS(13430),
    [anon_sym_PLUS] = ACTIONS(13430),
    [anon_sym_defined_QMARK] = ACTIONS(12070),
    [anon_sym_not] = ACTIONS(13430),
    [anon_sym_BANG] = ACTIONS(12070),
    [anon_sym_TILDE] = ACTIONS(12070),
    [sym_constant] = ACTIONS(13432),
    [sym_identifier] = ACTIONS(13432),
    [sym_instance_variable] = ACTIONS(13430),
    [sym_class_variable] = ACTIONS(13430),
    [sym_global_variable] = ACTIONS(13430),
    [anon_sym_alias] = ACTIONS(13430),
    [anon_sym_false] = ACTIONS(13430),
    [anon_sym_nil] = ACTIONS(13430),
    [anon_sym_self] = ACTIONS(13430),
    [anon_sym_super] = ACTIONS(13430),
    [anon_sym_true] = ACTIONS(13430),
    [anon_sym_undef] = ACTIONS(13430),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(13430),
    [sym_float] = ACTIONS(13432),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(12070),
    [anon_sym_TRUE] = ACTIONS(13430),
    [anon_sym_FALSE] = ACTIONS(13430),
    [anon_sym_NIL] = ACTIONS(13430),
    [sym_keyword__FILE__] = ACTIONS(13430),
    [sym_keyword__LINE__] = ACTIONS(13430),
    [sym_keyword__ENCODING__] = ACTIONS(13430),
    [sym__character_literal] = ACTIONS(13430),
    [anon_sym_LBRACK] = ACTIONS(12070),
    [anon_sym_DASH_GT] = ACTIONS(12070),
  },
  [7627] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_end] = ACTIONS(1372),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(10426),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_if] = ACTIONS(1372),
    [anon_sym_unless] = ACTIONS(1372),
    [anon_sym_while] = ACTIONS(1372),
    [anon_sym_until] = ACTIONS(1372),
    [anon_sym_rescue] = ACTIONS(1372),
    [anon_sym_else] = ACTIONS(1372),
    [anon_sym_ensure] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [7628] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_end] = ACTIONS(2870),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(10426),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_else] = ACTIONS(2870),
    [anon_sym_ensure] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [7629] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(10420),
    [sym__binary_star] = ACTIONS(10422),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_end] = ACTIONS(2870),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(10424),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(10426),
    [anon_sym_AMP] = ACTIONS(10428),
    [anon_sym_LT] = ACTIONS(10430),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_else] = ACTIONS(2870),
    [anon_sym_ensure] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(10432),
    [anon_sym_DOT_DOT] = ACTIONS(10434),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10436),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(10438),
    [anon_sym_AMP_AMP] = ACTIONS(10438),
    [anon_sym_LT_LT] = ACTIONS(10440),
    [anon_sym_GT_GT] = ACTIONS(10440),
    [anon_sym_EQ_EQ] = ACTIONS(10442),
    [anon_sym_BANG_EQ] = ACTIONS(10438),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10438),
    [anon_sym_LT_EQ_GT] = ACTIONS(10438),
    [anon_sym_EQ_TILDE] = ACTIONS(10438),
    [anon_sym_BANG_TILDE] = ACTIONS(10438),
    [anon_sym_LT_EQ] = ACTIONS(10430),
    [anon_sym_GT] = ACTIONS(10430),
    [anon_sym_GT_EQ] = ACTIONS(10444),
    [anon_sym_CARET] = ACTIONS(10446),
    [anon_sym_PLUS] = ACTIONS(10448),
    [anon_sym_SLASH] = ACTIONS(10426),
    [anon_sym_PERCENT] = ACTIONS(10426),
    [sym_comment] = ACTIONS(110),
  },
  [7630] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10619),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4325),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4326),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6246),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6248),
    [anon_sym_defined_QMARK] = ACTIONS(6250),
    [anon_sym_not] = ACTIONS(6252),
    [anon_sym_BANG] = ACTIONS(6254),
    [anon_sym_TILDE] = ACTIONS(6254),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7631] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10620),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4325),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4326),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6246),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6248),
    [anon_sym_defined_QMARK] = ACTIONS(6250),
    [anon_sym_not] = ACTIONS(6252),
    [anon_sym_BANG] = ACTIONS(6254),
    [anon_sym_TILDE] = ACTIONS(6254),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7632] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10621),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4325),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4326),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6246),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6248),
    [anon_sym_defined_QMARK] = ACTIONS(6250),
    [anon_sym_not] = ACTIONS(6252),
    [anon_sym_BANG] = ACTIONS(6254),
    [anon_sym_TILDE] = ACTIONS(6254),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7633] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10622),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4325),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4326),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6246),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6248),
    [anon_sym_defined_QMARK] = ACTIONS(6250),
    [anon_sym_not] = ACTIONS(6252),
    [anon_sym_BANG] = ACTIONS(6254),
    [anon_sym_TILDE] = ACTIONS(6254),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7634] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10623),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4325),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4326),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6246),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6248),
    [anon_sym_defined_QMARK] = ACTIONS(6250),
    [anon_sym_not] = ACTIONS(6252),
    [anon_sym_BANG] = ACTIONS(6254),
    [anon_sym_TILDE] = ACTIONS(6254),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7635] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10624),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4325),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4326),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6246),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6248),
    [anon_sym_defined_QMARK] = ACTIONS(6250),
    [anon_sym_not] = ACTIONS(6252),
    [anon_sym_BANG] = ACTIONS(6254),
    [anon_sym_TILDE] = ACTIONS(6254),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7636] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(10625),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [7637] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10626),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4325),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4326),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6246),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6248),
    [anon_sym_defined_QMARK] = ACTIONS(6250),
    [anon_sym_not] = ACTIONS(6252),
    [anon_sym_BANG] = ACTIONS(6254),
    [anon_sym_TILDE] = ACTIONS(6254),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7638] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10627),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4325),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4326),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6246),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6248),
    [anon_sym_defined_QMARK] = ACTIONS(6250),
    [anon_sym_not] = ACTIONS(6252),
    [anon_sym_BANG] = ACTIONS(6254),
    [anon_sym_TILDE] = ACTIONS(6254),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7639] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10628),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4325),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4326),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6246),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6248),
    [anon_sym_defined_QMARK] = ACTIONS(6250),
    [anon_sym_not] = ACTIONS(6252),
    [anon_sym_BANG] = ACTIONS(6254),
    [anon_sym_TILDE] = ACTIONS(6254),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7640] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10629),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4325),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4326),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6246),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6248),
    [anon_sym_defined_QMARK] = ACTIONS(6250),
    [anon_sym_not] = ACTIONS(6252),
    [anon_sym_BANG] = ACTIONS(6254),
    [anon_sym_TILDE] = ACTIONS(6254),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7641] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10630),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4325),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4326),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6246),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6248),
    [anon_sym_defined_QMARK] = ACTIONS(6250),
    [anon_sym_not] = ACTIONS(6252),
    [anon_sym_BANG] = ACTIONS(6254),
    [anon_sym_TILDE] = ACTIONS(6254),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7642] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10631),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_splat_argument] = STATE(3785),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_right_assignment_list] = STATE(3786),
    [sym__arg_or_splat_arg] = STATE(10632),
    [sym_left_assignment_list] = STATE(4325),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4326),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(2680),
    [sym__unary_minus] = ACTIONS(6246),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6248),
    [anon_sym_defined_QMARK] = ACTIONS(6250),
    [anon_sym_not] = ACTIONS(6252),
    [anon_sym_BANG] = ACTIONS(6254),
    [anon_sym_TILDE] = ACTIONS(6254),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7643] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10633),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4325),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4326),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6246),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6248),
    [anon_sym_defined_QMARK] = ACTIONS(6250),
    [anon_sym_not] = ACTIONS(6252),
    [anon_sym_BANG] = ACTIONS(6254),
    [anon_sym_TILDE] = ACTIONS(6254),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7644] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__line_break] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(6276),
    [sym__binary_star] = ACTIONS(6278),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_end] = ACTIONS(5298),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(6280),
    [anon_sym_SEMI] = ACTIONS(5298),
    [anon_sym_STAR_STAR] = ACTIONS(6282),
    [anon_sym_AMP] = ACTIONS(6284),
    [anon_sym_LT] = ACTIONS(6286),
    [anon_sym_if] = ACTIONS(5298),
    [anon_sym_unless] = ACTIONS(5298),
    [anon_sym_while] = ACTIONS(5298),
    [anon_sym_until] = ACTIONS(5298),
    [anon_sym_rescue] = ACTIONS(5298),
    [anon_sym_else] = ACTIONS(5298),
    [anon_sym_ensure] = ACTIONS(5298),
    [anon_sym_EQ_GT] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(6288),
    [anon_sym_DOT_DOT] = ACTIONS(6290),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6292),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(6294),
    [anon_sym_AMP_AMP] = ACTIONS(6294),
    [anon_sym_LT_LT] = ACTIONS(6296),
    [anon_sym_GT_GT] = ACTIONS(6296),
    [anon_sym_EQ_EQ] = ACTIONS(6298),
    [anon_sym_BANG_EQ] = ACTIONS(6294),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6294),
    [anon_sym_LT_EQ_GT] = ACTIONS(6294),
    [anon_sym_EQ_TILDE] = ACTIONS(6294),
    [anon_sym_BANG_TILDE] = ACTIONS(6294),
    [anon_sym_LT_EQ] = ACTIONS(6286),
    [anon_sym_GT] = ACTIONS(6286),
    [anon_sym_GT_EQ] = ACTIONS(6300),
    [anon_sym_CARET] = ACTIONS(6302),
    [anon_sym_PLUS] = ACTIONS(6304),
    [anon_sym_SLASH] = ACTIONS(6282),
    [anon_sym_PERCENT] = ACTIONS(6282),
    [sym_comment] = ACTIONS(110),
  },
  [7645] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__line_break] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(6276),
    [sym__binary_star] = ACTIONS(6278),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_end] = ACTIONS(5338),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(6280),
    [anon_sym_SEMI] = ACTIONS(5338),
    [anon_sym_STAR_STAR] = ACTIONS(6282),
    [anon_sym_AMP] = ACTIONS(6284),
    [anon_sym_LT] = ACTIONS(6286),
    [anon_sym_if] = ACTIONS(5338),
    [anon_sym_unless] = ACTIONS(5338),
    [anon_sym_while] = ACTIONS(5338),
    [anon_sym_until] = ACTIONS(5338),
    [anon_sym_rescue] = ACTIONS(5338),
    [anon_sym_else] = ACTIONS(5338),
    [anon_sym_ensure] = ACTIONS(5338),
    [anon_sym_EQ_GT] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(6288),
    [anon_sym_DOT_DOT] = ACTIONS(6290),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6292),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(6294),
    [anon_sym_AMP_AMP] = ACTIONS(6294),
    [anon_sym_LT_LT] = ACTIONS(6296),
    [anon_sym_GT_GT] = ACTIONS(6296),
    [anon_sym_EQ_EQ] = ACTIONS(6298),
    [anon_sym_BANG_EQ] = ACTIONS(6294),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6294),
    [anon_sym_LT_EQ_GT] = ACTIONS(6294),
    [anon_sym_EQ_TILDE] = ACTIONS(6294),
    [anon_sym_BANG_TILDE] = ACTIONS(6294),
    [anon_sym_LT_EQ] = ACTIONS(6286),
    [anon_sym_GT] = ACTIONS(6286),
    [anon_sym_GT_EQ] = ACTIONS(6300),
    [anon_sym_CARET] = ACTIONS(6302),
    [anon_sym_PLUS] = ACTIONS(6304),
    [anon_sym_SLASH] = ACTIONS(6282),
    [anon_sym_PERCENT] = ACTIONS(6282),
    [sym_comment] = ACTIONS(110),
  },
  [7646] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__line_break] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(6276),
    [sym__binary_star] = ACTIONS(6278),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_end] = ACTIONS(4284),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(6280),
    [anon_sym_SEMI] = ACTIONS(4284),
    [anon_sym_STAR_STAR] = ACTIONS(6282),
    [anon_sym_AMP] = ACTIONS(6284),
    [anon_sym_LT] = ACTIONS(6286),
    [anon_sym_if] = ACTIONS(4284),
    [anon_sym_unless] = ACTIONS(4284),
    [anon_sym_while] = ACTIONS(4284),
    [anon_sym_until] = ACTIONS(4284),
    [anon_sym_rescue] = ACTIONS(4284),
    [anon_sym_else] = ACTIONS(4284),
    [anon_sym_ensure] = ACTIONS(4284),
    [anon_sym_EQ_GT] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(6288),
    [anon_sym_DOT_DOT] = ACTIONS(6290),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6292),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(6294),
    [anon_sym_AMP_AMP] = ACTIONS(6294),
    [anon_sym_LT_LT] = ACTIONS(6296),
    [anon_sym_GT_GT] = ACTIONS(6296),
    [anon_sym_EQ_EQ] = ACTIONS(6298),
    [anon_sym_BANG_EQ] = ACTIONS(6294),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6294),
    [anon_sym_LT_EQ_GT] = ACTIONS(6294),
    [anon_sym_EQ_TILDE] = ACTIONS(6294),
    [anon_sym_BANG_TILDE] = ACTIONS(6294),
    [anon_sym_LT_EQ] = ACTIONS(6286),
    [anon_sym_GT] = ACTIONS(6286),
    [anon_sym_GT_EQ] = ACTIONS(6300),
    [anon_sym_CARET] = ACTIONS(6302),
    [anon_sym_PLUS] = ACTIONS(6304),
    [anon_sym_SLASH] = ACTIONS(6282),
    [anon_sym_PERCENT] = ACTIONS(6282),
    [sym_comment] = ACTIONS(110),
  },
  [7647] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10634),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1706),
    [sym_call] = STATE(1706),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1708),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1709),
    [sym__variable] = STATE(1706),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2682),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(6256),
    [anon_sym_yield] = ACTIONS(6258),
    [anon_sym_break] = ACTIONS(6260),
    [anon_sym_next] = ACTIONS(6262),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6264),
    [anon_sym_defined_QMARK] = ACTIONS(2692),
    [anon_sym_not] = ACTIONS(6266),
    [anon_sym_BANG] = ACTIONS(2698),
    [anon_sym_TILDE] = ACTIONS(2698),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7648] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4338),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1706),
    [sym_call] = STATE(1706),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(3780),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1708),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1709),
    [sym__variable] = STATE(1706),
    [sym_reserved_identifier] = STATE(4340),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(4341),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(10635),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__block_ampersand] = ACTIONS(6268),
    [sym__splat_star] = ACTIONS(6270),
    [sym__unary_minus] = ACTIONS(2682),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(13434),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2684),
    [anon_sym_yield] = ACTIONS(2686),
    [anon_sym_break] = ACTIONS(2688),
    [anon_sym_next] = ACTIONS(2690),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(6264),
    [anon_sym_defined_QMARK] = ACTIONS(2692),
    [anon_sym_not] = ACTIONS(2694),
    [anon_sym_BANG] = ACTIONS(2698),
    [anon_sym_TILDE] = ACTIONS(2698),
    [sym_constant] = ACTIONS(6272),
    [sym_identifier] = ACTIONS(6272),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7649] = {
    [sym_heredoc_end] = STATE(1444),
    [aux_sym_argument_list_repeat2] = STATE(3783),
    [sym__simple_heredoc_body] = ACTIONS(2268),
    [sym__heredoc_body_beginning] = ACTIONS(2270),
    [sym__line_break] = ACTIONS(5472),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_end] = ACTIONS(5472),
    [anon_sym_COMMA] = ACTIONS(13436),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_SEMI] = ACTIONS(5472),
    [anon_sym_STAR_STAR] = ACTIONS(5472),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_if] = ACTIONS(5472),
    [anon_sym_unless] = ACTIONS(5472),
    [anon_sym_while] = ACTIONS(5472),
    [anon_sym_until] = ACTIONS(5472),
    [anon_sym_rescue] = ACTIONS(5472),
    [anon_sym_else] = ACTIONS(5472),
    [anon_sym_ensure] = ACTIONS(5472),
    [anon_sym_EQ_GT] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5472),
    [anon_sym_AMP_AMP] = ACTIONS(5472),
    [anon_sym_LT_LT] = ACTIONS(5472),
    [anon_sym_GT_GT] = ACTIONS(5472),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5472),
    [anon_sym_PLUS] = ACTIONS(5472),
    [anon_sym_SLASH] = ACTIONS(5472),
    [anon_sym_PERCENT] = ACTIONS(5472),
    [sym_comment] = ACTIONS(110),
  },
  [7650] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10637),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1706),
    [sym_call] = STATE(1706),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1708),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1709),
    [sym__variable] = STATE(1706),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2682),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(6256),
    [anon_sym_yield] = ACTIONS(6258),
    [anon_sym_break] = ACTIONS(6260),
    [anon_sym_next] = ACTIONS(6262),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6264),
    [anon_sym_defined_QMARK] = ACTIONS(2692),
    [anon_sym_not] = ACTIONS(6266),
    [anon_sym_BANG] = ACTIONS(2698),
    [anon_sym_TILDE] = ACTIONS(2698),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7651] = {
    [sym__simple_heredoc_body] = ACTIONS(8568),
    [sym__heredoc_body_beginning] = ACTIONS(8568),
    [sym__line_break] = ACTIONS(8568),
    [sym__element_reference_left_bracket] = ACTIONS(8568),
    [sym__scope_double_colon] = ACTIONS(8568),
    [sym__binary_minus] = ACTIONS(10420),
    [sym__binary_star] = ACTIONS(10422),
    [anon_sym_DOT] = ACTIONS(9468),
    [anon_sym_end] = ACTIONS(8568),
    [anon_sym_COMMA] = ACTIONS(8568),
    [anon_sym_PIPE] = ACTIONS(10424),
    [anon_sym_SEMI] = ACTIONS(8568),
    [anon_sym_STAR_STAR] = ACTIONS(10426),
    [anon_sym_AMP] = ACTIONS(10428),
    [anon_sym_LT] = ACTIONS(10430),
    [anon_sym_if] = ACTIONS(8568),
    [anon_sym_unless] = ACTIONS(8568),
    [anon_sym_while] = ACTIONS(8568),
    [anon_sym_until] = ACTIONS(8568),
    [anon_sym_rescue] = ACTIONS(8568),
    [anon_sym_else] = ACTIONS(8568),
    [anon_sym_ensure] = ACTIONS(8568),
    [anon_sym_AMP_DOT] = ACTIONS(8568),
    [anon_sym_QMARK] = ACTIONS(10432),
    [anon_sym_DOT_DOT] = ACTIONS(10434),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10436),
    [anon_sym_and] = ACTIONS(8568),
    [anon_sym_or] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE] = ACTIONS(10438),
    [anon_sym_AMP_AMP] = ACTIONS(10438),
    [anon_sym_LT_LT] = ACTIONS(10440),
    [anon_sym_GT_GT] = ACTIONS(10440),
    [anon_sym_EQ_EQ] = ACTIONS(10442),
    [anon_sym_BANG_EQ] = ACTIONS(10438),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10438),
    [anon_sym_LT_EQ_GT] = ACTIONS(10438),
    [anon_sym_EQ_TILDE] = ACTIONS(10438),
    [anon_sym_BANG_TILDE] = ACTIONS(10438),
    [anon_sym_LT_EQ] = ACTIONS(10430),
    [anon_sym_GT] = ACTIONS(10430),
    [anon_sym_GT_EQ] = ACTIONS(10444),
    [anon_sym_CARET] = ACTIONS(10446),
    [anon_sym_PLUS] = ACTIONS(10448),
    [anon_sym_SLASH] = ACTIONS(10426),
    [anon_sym_PERCENT] = ACTIONS(10426),
    [sym_comment] = ACTIONS(110),
  },
  [7652] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__line_break] = ACTIONS(7008),
    [sym__element_reference_left_bracket] = ACTIONS(7008),
    [sym__scope_double_colon] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(6278),
    [anon_sym_DOT] = ACTIONS(7010),
    [anon_sym_end] = ACTIONS(7008),
    [anon_sym_COMMA] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_SEMI] = ACTIONS(7008),
    [anon_sym_STAR_STAR] = ACTIONS(6282),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_if] = ACTIONS(7008),
    [anon_sym_unless] = ACTIONS(7008),
    [anon_sym_while] = ACTIONS(7008),
    [anon_sym_until] = ACTIONS(7008),
    [anon_sym_rescue] = ACTIONS(7008),
    [anon_sym_else] = ACTIONS(7008),
    [anon_sym_ensure] = ACTIONS(7008),
    [anon_sym_EQ_GT] = ACTIONS(7008),
    [anon_sym_AMP_DOT] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7008),
    [anon_sym_AMP_AMP] = ACTIONS(7008),
    [anon_sym_LT_LT] = ACTIONS(7008),
    [anon_sym_GT_GT] = ACTIONS(7008),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7008),
    [anon_sym_PLUS] = ACTIONS(7008),
    [anon_sym_SLASH] = ACTIONS(6282),
    [anon_sym_PERCENT] = ACTIONS(6282),
    [sym_comment] = ACTIONS(110),
  },
  [7653] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__line_break] = ACTIONS(7012),
    [sym__element_reference_left_bracket] = ACTIONS(7012),
    [sym__scope_double_colon] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_DOT] = ACTIONS(7014),
    [anon_sym_end] = ACTIONS(7012),
    [anon_sym_COMMA] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_SEMI] = ACTIONS(7012),
    [anon_sym_STAR_STAR] = ACTIONS(6282),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_if] = ACTIONS(7012),
    [anon_sym_unless] = ACTIONS(7012),
    [anon_sym_while] = ACTIONS(7012),
    [anon_sym_until] = ACTIONS(7012),
    [anon_sym_rescue] = ACTIONS(7012),
    [anon_sym_else] = ACTIONS(7012),
    [anon_sym_ensure] = ACTIONS(7012),
    [anon_sym_EQ_GT] = ACTIONS(7012),
    [anon_sym_AMP_DOT] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7012),
    [anon_sym_AMP_AMP] = ACTIONS(7012),
    [anon_sym_LT_LT] = ACTIONS(7012),
    [anon_sym_GT_GT] = ACTIONS(7012),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7012),
    [anon_sym_PLUS] = ACTIONS(7012),
    [anon_sym_SLASH] = ACTIONS(7012),
    [anon_sym_PERCENT] = ACTIONS(7012),
    [sym_comment] = ACTIONS(110),
  },
  [7654] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6276),
    [sym__binary_star] = ACTIONS(6278),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_end] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6282),
    [anon_sym_AMP] = ACTIONS(6284),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_else] = ACTIONS(7016),
    [anon_sym_ensure] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(6296),
    [anon_sym_GT_GT] = ACTIONS(6296),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(6304),
    [anon_sym_SLASH] = ACTIONS(6282),
    [anon_sym_PERCENT] = ACTIONS(6282),
    [sym_comment] = ACTIONS(110),
  },
  [7655] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_end] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6282),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_else] = ACTIONS(7016),
    [anon_sym_ensure] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7016),
    [anon_sym_PERCENT] = ACTIONS(7016),
    [sym_comment] = ACTIONS(110),
  },
  [7656] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6276),
    [sym__binary_star] = ACTIONS(6278),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_end] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6282),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_else] = ACTIONS(7016),
    [anon_sym_ensure] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(6296),
    [anon_sym_GT_GT] = ACTIONS(6296),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(6304),
    [anon_sym_SLASH] = ACTIONS(6282),
    [anon_sym_PERCENT] = ACTIONS(6282),
    [sym_comment] = ACTIONS(110),
  },
  [7657] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6276),
    [sym__binary_star] = ACTIONS(6278),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_end] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(6280),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6282),
    [anon_sym_AMP] = ACTIONS(6284),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_else] = ACTIONS(7016),
    [anon_sym_ensure] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(6296),
    [anon_sym_GT_GT] = ACTIONS(6296),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(6302),
    [anon_sym_PLUS] = ACTIONS(6304),
    [anon_sym_SLASH] = ACTIONS(6282),
    [anon_sym_PERCENT] = ACTIONS(6282),
    [sym_comment] = ACTIONS(110),
  },
  [7658] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(13438),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [7659] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__line_break] = ACTIONS(7108),
    [sym__element_reference_left_bracket] = ACTIONS(7108),
    [sym__scope_double_colon] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(6276),
    [sym__binary_star] = ACTIONS(6278),
    [anon_sym_DOT] = ACTIONS(9472),
    [anon_sym_end] = ACTIONS(7108),
    [anon_sym_COMMA] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(6280),
    [anon_sym_SEMI] = ACTIONS(7108),
    [anon_sym_STAR_STAR] = ACTIONS(6282),
    [anon_sym_AMP] = ACTIONS(6284),
    [anon_sym_LT] = ACTIONS(6286),
    [anon_sym_if] = ACTIONS(7108),
    [anon_sym_unless] = ACTIONS(7108),
    [anon_sym_while] = ACTIONS(7108),
    [anon_sym_until] = ACTIONS(7108),
    [anon_sym_rescue] = ACTIONS(7108),
    [anon_sym_else] = ACTIONS(7108),
    [anon_sym_ensure] = ACTIONS(7108),
    [anon_sym_EQ_GT] = ACTIONS(7108),
    [anon_sym_AMP_DOT] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(6290),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6292),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(6294),
    [anon_sym_AMP_AMP] = ACTIONS(6294),
    [anon_sym_LT_LT] = ACTIONS(6296),
    [anon_sym_GT_GT] = ACTIONS(6296),
    [anon_sym_EQ_EQ] = ACTIONS(6298),
    [anon_sym_BANG_EQ] = ACTIONS(6294),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6294),
    [anon_sym_LT_EQ_GT] = ACTIONS(6294),
    [anon_sym_EQ_TILDE] = ACTIONS(6294),
    [anon_sym_BANG_TILDE] = ACTIONS(6294),
    [anon_sym_LT_EQ] = ACTIONS(6286),
    [anon_sym_GT] = ACTIONS(6286),
    [anon_sym_GT_EQ] = ACTIONS(6300),
    [anon_sym_CARET] = ACTIONS(6302),
    [anon_sym_PLUS] = ACTIONS(6304),
    [anon_sym_SLASH] = ACTIONS(6282),
    [anon_sym_PERCENT] = ACTIONS(6282),
    [sym_comment] = ACTIONS(110),
  },
  [7660] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6276),
    [sym__binary_star] = ACTIONS(6278),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_end] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(6280),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6282),
    [anon_sym_AMP] = ACTIONS(6284),
    [anon_sym_LT] = ACTIONS(6286),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_else] = ACTIONS(7016),
    [anon_sym_ensure] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(6288),
    [anon_sym_DOT_DOT] = ACTIONS(6290),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6292),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(6294),
    [anon_sym_AMP_AMP] = ACTIONS(6294),
    [anon_sym_LT_LT] = ACTIONS(6296),
    [anon_sym_GT_GT] = ACTIONS(6296),
    [anon_sym_EQ_EQ] = ACTIONS(6298),
    [anon_sym_BANG_EQ] = ACTIONS(6294),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6294),
    [anon_sym_LT_EQ_GT] = ACTIONS(6294),
    [anon_sym_EQ_TILDE] = ACTIONS(6294),
    [anon_sym_BANG_TILDE] = ACTIONS(6294),
    [anon_sym_LT_EQ] = ACTIONS(6286),
    [anon_sym_GT] = ACTIONS(6286),
    [anon_sym_GT_EQ] = ACTIONS(6300),
    [anon_sym_CARET] = ACTIONS(6302),
    [anon_sym_PLUS] = ACTIONS(6304),
    [anon_sym_SLASH] = ACTIONS(6282),
    [anon_sym_PERCENT] = ACTIONS(6282),
    [sym_comment] = ACTIONS(110),
  },
  [7661] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6276),
    [sym__binary_star] = ACTIONS(6278),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_end] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(6280),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6282),
    [anon_sym_AMP] = ACTIONS(6284),
    [anon_sym_LT] = ACTIONS(6286),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_else] = ACTIONS(7016),
    [anon_sym_ensure] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(6296),
    [anon_sym_GT_GT] = ACTIONS(6296),
    [anon_sym_EQ_EQ] = ACTIONS(6298),
    [anon_sym_BANG_EQ] = ACTIONS(6294),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6294),
    [anon_sym_LT_EQ_GT] = ACTIONS(6294),
    [anon_sym_EQ_TILDE] = ACTIONS(6294),
    [anon_sym_BANG_TILDE] = ACTIONS(6294),
    [anon_sym_LT_EQ] = ACTIONS(6286),
    [anon_sym_GT] = ACTIONS(6286),
    [anon_sym_GT_EQ] = ACTIONS(6300),
    [anon_sym_CARET] = ACTIONS(6302),
    [anon_sym_PLUS] = ACTIONS(6304),
    [anon_sym_SLASH] = ACTIONS(6282),
    [anon_sym_PERCENT] = ACTIONS(6282),
    [sym_comment] = ACTIONS(110),
  },
  [7662] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6276),
    [sym__binary_star] = ACTIONS(6278),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_end] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6282),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_else] = ACTIONS(7016),
    [anon_sym_ensure] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(6304),
    [anon_sym_SLASH] = ACTIONS(6282),
    [anon_sym_PERCENT] = ACTIONS(6282),
    [sym_comment] = ACTIONS(110),
  },
  [7663] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(6278),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_end] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6282),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_else] = ACTIONS(7016),
    [anon_sym_ensure] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(6282),
    [anon_sym_PERCENT] = ACTIONS(6282),
    [sym_comment] = ACTIONS(110),
  },
  [7664] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__line_break] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(6636),
    [sym__binary_star] = ACTIONS(6638),
    [anon_sym_LBRACE] = ACTIONS(5298),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_end] = ACTIONS(5298),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(6640),
    [anon_sym_SEMI] = ACTIONS(5298),
    [anon_sym_STAR_STAR] = ACTIONS(6642),
    [anon_sym_AMP] = ACTIONS(6644),
    [anon_sym_EQ] = ACTIONS(5304),
    [anon_sym_LT] = ACTIONS(6646),
    [anon_sym_if] = ACTIONS(5298),
    [anon_sym_unless] = ACTIONS(5298),
    [anon_sym_while] = ACTIONS(5298),
    [anon_sym_until] = ACTIONS(5298),
    [anon_sym_rescue] = ACTIONS(5298),
    [anon_sym_do] = ACTIONS(5298),
    [anon_sym_else] = ACTIONS(5298),
    [anon_sym_ensure] = ACTIONS(5298),
    [anon_sym_EQ_GT] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_PLUS_EQ] = ACTIONS(5298),
    [anon_sym_DASH_EQ] = ACTIONS(5298),
    [anon_sym_STAR_EQ] = ACTIONS(5298),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5298),
    [anon_sym_SLASH_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5298),
    [anon_sym_AMP_EQ] = ACTIONS(5298),
    [anon_sym_PERCENT_EQ] = ACTIONS(5298),
    [anon_sym_GT_GT_EQ] = ACTIONS(5298),
    [anon_sym_LT_LT_EQ] = ACTIONS(5298),
    [anon_sym_CARET_EQ] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(6648),
    [anon_sym_DOT_DOT] = ACTIONS(6650),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6652),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(6654),
    [anon_sym_AMP_AMP] = ACTIONS(6654),
    [anon_sym_LT_LT] = ACTIONS(6656),
    [anon_sym_GT_GT] = ACTIONS(6656),
    [anon_sym_EQ_EQ] = ACTIONS(6654),
    [anon_sym_BANG_EQ] = ACTIONS(6658),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6658),
    [anon_sym_LT_EQ_GT] = ACTIONS(6658),
    [anon_sym_EQ_TILDE] = ACTIONS(6658),
    [anon_sym_BANG_TILDE] = ACTIONS(6658),
    [anon_sym_LT_EQ] = ACTIONS(6646),
    [anon_sym_GT] = ACTIONS(6646),
    [anon_sym_GT_EQ] = ACTIONS(6660),
    [anon_sym_CARET] = ACTIONS(6640),
    [anon_sym_PLUS] = ACTIONS(6662),
    [anon_sym_SLASH] = ACTIONS(6642),
    [anon_sym_PERCENT] = ACTIONS(6642),
    [sym_comment] = ACTIONS(256),
  },
  [7665] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__line_break] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(6636),
    [sym__binary_star] = ACTIONS(6638),
    [anon_sym_LBRACE] = ACTIONS(5338),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_end] = ACTIONS(5338),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(6640),
    [anon_sym_SEMI] = ACTIONS(5338),
    [anon_sym_STAR_STAR] = ACTIONS(6642),
    [anon_sym_AMP] = ACTIONS(6644),
    [anon_sym_EQ] = ACTIONS(5340),
    [anon_sym_LT] = ACTIONS(6646),
    [anon_sym_if] = ACTIONS(5338),
    [anon_sym_unless] = ACTIONS(5338),
    [anon_sym_while] = ACTIONS(5338),
    [anon_sym_until] = ACTIONS(5338),
    [anon_sym_rescue] = ACTIONS(5338),
    [anon_sym_do] = ACTIONS(5338),
    [anon_sym_else] = ACTIONS(5338),
    [anon_sym_ensure] = ACTIONS(5338),
    [anon_sym_EQ_GT] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_PLUS_EQ] = ACTIONS(5338),
    [anon_sym_DASH_EQ] = ACTIONS(5338),
    [anon_sym_STAR_EQ] = ACTIONS(5338),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5338),
    [anon_sym_SLASH_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5338),
    [anon_sym_AMP_EQ] = ACTIONS(5338),
    [anon_sym_PERCENT_EQ] = ACTIONS(5338),
    [anon_sym_GT_GT_EQ] = ACTIONS(5338),
    [anon_sym_LT_LT_EQ] = ACTIONS(5338),
    [anon_sym_CARET_EQ] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(6648),
    [anon_sym_DOT_DOT] = ACTIONS(6650),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6652),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(6654),
    [anon_sym_AMP_AMP] = ACTIONS(6654),
    [anon_sym_LT_LT] = ACTIONS(6656),
    [anon_sym_GT_GT] = ACTIONS(6656),
    [anon_sym_EQ_EQ] = ACTIONS(6654),
    [anon_sym_BANG_EQ] = ACTIONS(6658),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6658),
    [anon_sym_LT_EQ_GT] = ACTIONS(6658),
    [anon_sym_EQ_TILDE] = ACTIONS(6658),
    [anon_sym_BANG_TILDE] = ACTIONS(6658),
    [anon_sym_LT_EQ] = ACTIONS(6646),
    [anon_sym_GT] = ACTIONS(6646),
    [anon_sym_GT_EQ] = ACTIONS(6660),
    [anon_sym_CARET] = ACTIONS(6640),
    [anon_sym_PLUS] = ACTIONS(6662),
    [anon_sym_SLASH] = ACTIONS(6642),
    [anon_sym_PERCENT] = ACTIONS(6642),
    [sym_comment] = ACTIONS(256),
  },
  [7666] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__line_break] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(6636),
    [sym__binary_star] = ACTIONS(6638),
    [anon_sym_LBRACE] = ACTIONS(4284),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_end] = ACTIONS(4284),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(6640),
    [anon_sym_SEMI] = ACTIONS(4284),
    [anon_sym_STAR_STAR] = ACTIONS(6642),
    [anon_sym_AMP] = ACTIONS(6644),
    [anon_sym_EQ] = ACTIONS(5432),
    [anon_sym_LT] = ACTIONS(6646),
    [anon_sym_if] = ACTIONS(4284),
    [anon_sym_unless] = ACTIONS(4284),
    [anon_sym_while] = ACTIONS(4284),
    [anon_sym_until] = ACTIONS(4284),
    [anon_sym_rescue] = ACTIONS(4284),
    [anon_sym_do] = ACTIONS(4284),
    [anon_sym_else] = ACTIONS(4284),
    [anon_sym_ensure] = ACTIONS(4284),
    [anon_sym_EQ_GT] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_PLUS_EQ] = ACTIONS(4284),
    [anon_sym_DASH_EQ] = ACTIONS(4284),
    [anon_sym_STAR_EQ] = ACTIONS(4284),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(4284),
    [anon_sym_SLASH_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(4284),
    [anon_sym_AMP_EQ] = ACTIONS(4284),
    [anon_sym_PERCENT_EQ] = ACTIONS(4284),
    [anon_sym_GT_GT_EQ] = ACTIONS(4284),
    [anon_sym_LT_LT_EQ] = ACTIONS(4284),
    [anon_sym_CARET_EQ] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(6648),
    [anon_sym_DOT_DOT] = ACTIONS(6650),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6652),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(6654),
    [anon_sym_AMP_AMP] = ACTIONS(6654),
    [anon_sym_LT_LT] = ACTIONS(6656),
    [anon_sym_GT_GT] = ACTIONS(6656),
    [anon_sym_EQ_EQ] = ACTIONS(6654),
    [anon_sym_BANG_EQ] = ACTIONS(6658),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6658),
    [anon_sym_LT_EQ_GT] = ACTIONS(6658),
    [anon_sym_EQ_TILDE] = ACTIONS(6658),
    [anon_sym_BANG_TILDE] = ACTIONS(6658),
    [anon_sym_LT_EQ] = ACTIONS(6646),
    [anon_sym_GT] = ACTIONS(6646),
    [anon_sym_GT_EQ] = ACTIONS(6660),
    [anon_sym_CARET] = ACTIONS(6640),
    [anon_sym_PLUS] = ACTIONS(6662),
    [anon_sym_SLASH] = ACTIONS(6642),
    [anon_sym_PERCENT] = ACTIONS(6642),
    [sym_comment] = ACTIONS(256),
  },
  [7667] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10639),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1812),
    [sym_call] = STATE(1812),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1814),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1815),
    [sym__variable] = STATE(1812),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2842),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(6622),
    [anon_sym_yield] = ACTIONS(6624),
    [anon_sym_break] = ACTIONS(6626),
    [anon_sym_next] = ACTIONS(6628),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(6630),
    [anon_sym_defined_QMARK] = ACTIONS(2852),
    [anon_sym_not] = ACTIONS(6632),
    [anon_sym_BANG] = ACTIONS(2858),
    [anon_sym_TILDE] = ACTIONS(2858),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7668] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4361),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1812),
    [sym_call] = STATE(1812),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(6946),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1814),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1815),
    [sym__variable] = STATE(1812),
    [sym_reserved_identifier] = STATE(4363),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(4364),
    [sym_subshell] = STATE(561),
    [sym_heredoc_end] = STATE(10640),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__block_ampersand] = ACTIONS(6306),
    [sym__splat_star] = ACTIONS(6308),
    [sym__unary_minus] = ACTIONS(2842),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(13440),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2844),
    [anon_sym_yield] = ACTIONS(2846),
    [anon_sym_break] = ACTIONS(2848),
    [anon_sym_next] = ACTIONS(2850),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(6630),
    [anon_sym_defined_QMARK] = ACTIONS(2852),
    [anon_sym_not] = ACTIONS(2854),
    [anon_sym_BANG] = ACTIONS(2858),
    [anon_sym_TILDE] = ACTIONS(2858),
    [sym_constant] = ACTIONS(6310),
    [sym_identifier] = ACTIONS(6310),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7669] = {
    [sym_heredoc_end] = STATE(3770),
    [aux_sym_argument_list_repeat2] = STATE(6949),
    [sym__simple_heredoc_body] = ACTIONS(5460),
    [sym__heredoc_body_beginning] = ACTIONS(5462),
    [sym__line_break] = ACTIONS(5472),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_LBRACE] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_end] = ACTIONS(5472),
    [anon_sym_COMMA] = ACTIONS(13442),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_SEMI] = ACTIONS(5472),
    [anon_sym_STAR_STAR] = ACTIONS(5474),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_EQ] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_if] = ACTIONS(5472),
    [anon_sym_unless] = ACTIONS(5472),
    [anon_sym_while] = ACTIONS(5472),
    [anon_sym_until] = ACTIONS(5472),
    [anon_sym_rescue] = ACTIONS(5472),
    [anon_sym_do] = ACTIONS(5472),
    [anon_sym_else] = ACTIONS(5472),
    [anon_sym_ensure] = ACTIONS(5472),
    [anon_sym_EQ_GT] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_PLUS_EQ] = ACTIONS(5472),
    [anon_sym_DASH_EQ] = ACTIONS(5472),
    [anon_sym_STAR_EQ] = ACTIONS(5472),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5472),
    [anon_sym_SLASH_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5472),
    [anon_sym_AMP_EQ] = ACTIONS(5472),
    [anon_sym_PERCENT_EQ] = ACTIONS(5472),
    [anon_sym_GT_GT_EQ] = ACTIONS(5472),
    [anon_sym_LT_LT_EQ] = ACTIONS(5472),
    [anon_sym_CARET_EQ] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5474),
    [anon_sym_AMP_AMP] = ACTIONS(5474),
    [anon_sym_LT_LT] = ACTIONS(5474),
    [anon_sym_GT_GT] = ACTIONS(5474),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5474),
    [anon_sym_PLUS] = ACTIONS(5474),
    [anon_sym_SLASH] = ACTIONS(5474),
    [anon_sym_PERCENT] = ACTIONS(5474),
    [sym_comment] = ACTIONS(256),
  },
  [7670] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10642),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1812),
    [sym_call] = STATE(1812),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1814),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1815),
    [sym__variable] = STATE(1812),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(2842),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(6622),
    [anon_sym_yield] = ACTIONS(6624),
    [anon_sym_break] = ACTIONS(6626),
    [anon_sym_next] = ACTIONS(6628),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(6630),
    [anon_sym_defined_QMARK] = ACTIONS(2852),
    [anon_sym_not] = ACTIONS(6632),
    [anon_sym_BANG] = ACTIONS(2858),
    [anon_sym_TILDE] = ACTIONS(2858),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7671] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1705),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1706),
    [sym_call] = STATE(1706),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(6955),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1708),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1709),
    [sym__variable] = STATE(1706),
    [sym_reserved_identifier] = STATE(1710),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(1711),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__block_ampersand] = ACTIONS(2678),
    [sym__splat_star] = ACTIONS(2680),
    [sym__unary_minus] = ACTIONS(2682),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(10468),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2684),
    [anon_sym_yield] = ACTIONS(2686),
    [anon_sym_break] = ACTIONS(2688),
    [anon_sym_next] = ACTIONS(2690),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(6264),
    [anon_sym_defined_QMARK] = ACTIONS(2692),
    [anon_sym_not] = ACTIONS(2694),
    [anon_sym_BANG] = ACTIONS(2698),
    [anon_sym_TILDE] = ACTIONS(2698),
    [sym_constant] = ACTIONS(2700),
    [sym_identifier] = ACTIONS(2700),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7672] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1705),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1706),
    [sym_call] = STATE(1706),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(6955),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1708),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1709),
    [sym__variable] = STATE(1706),
    [sym_reserved_identifier] = STATE(1710),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(1711),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(10643),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__block_ampersand] = ACTIONS(2678),
    [sym__splat_star] = ACTIONS(2680),
    [sym__unary_minus] = ACTIONS(2682),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(10468),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2684),
    [anon_sym_yield] = ACTIONS(2686),
    [anon_sym_break] = ACTIONS(2688),
    [anon_sym_next] = ACTIONS(2690),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(6264),
    [anon_sym_defined_QMARK] = ACTIONS(2692),
    [anon_sym_not] = ACTIONS(2694),
    [anon_sym_BANG] = ACTIONS(2698),
    [anon_sym_TILDE] = ACTIONS(2698),
    [sym_constant] = ACTIONS(2700),
    [sym_identifier] = ACTIONS(2700),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7673] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__line_break] = ACTIONS(6346),
    [sym__element_reference_left_bracket] = ACTIONS(6346),
    [sym__scope_double_colon] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(6276),
    [sym__binary_star] = ACTIONS(6278),
    [anon_sym_DOT] = ACTIONS(7328),
    [anon_sym_end] = ACTIONS(6346),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(6280),
    [anon_sym_SEMI] = ACTIONS(6346),
    [anon_sym_STAR_STAR] = ACTIONS(6282),
    [anon_sym_AMP] = ACTIONS(6284),
    [anon_sym_LT] = ACTIONS(6286),
    [anon_sym_if] = ACTIONS(6346),
    [anon_sym_unless] = ACTIONS(6346),
    [anon_sym_while] = ACTIONS(6346),
    [anon_sym_until] = ACTIONS(6346),
    [anon_sym_rescue] = ACTIONS(6346),
    [anon_sym_else] = ACTIONS(6346),
    [anon_sym_ensure] = ACTIONS(6346),
    [anon_sym_EQ_GT] = ACTIONS(6346),
    [anon_sym_AMP_DOT] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(6288),
    [anon_sym_DOT_DOT] = ACTIONS(6290),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6292),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(6294),
    [anon_sym_AMP_AMP] = ACTIONS(6294),
    [anon_sym_LT_LT] = ACTIONS(6296),
    [anon_sym_GT_GT] = ACTIONS(6296),
    [anon_sym_EQ_EQ] = ACTIONS(6298),
    [anon_sym_BANG_EQ] = ACTIONS(6294),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6294),
    [anon_sym_LT_EQ_GT] = ACTIONS(6294),
    [anon_sym_EQ_TILDE] = ACTIONS(6294),
    [anon_sym_BANG_TILDE] = ACTIONS(6294),
    [anon_sym_LT_EQ] = ACTIONS(6286),
    [anon_sym_GT] = ACTIONS(6286),
    [anon_sym_GT_EQ] = ACTIONS(6300),
    [anon_sym_CARET] = ACTIONS(6302),
    [anon_sym_PLUS] = ACTIONS(6304),
    [anon_sym_SLASH] = ACTIONS(6282),
    [anon_sym_PERCENT] = ACTIONS(6282),
    [sym_comment] = ACTIONS(110),
  },
  [7674] = {
    [aux_sym_exceptions_repeat1] = STATE(10645),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__line_break] = ACTIONS(7330),
    [sym__element_reference_left_bracket] = ACTIONS(7330),
    [sym__scope_double_colon] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_DOT] = ACTIONS(7332),
    [anon_sym_end] = ACTIONS(7330),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_SEMI] = ACTIONS(7330),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_if] = ACTIONS(7330),
    [anon_sym_unless] = ACTIONS(7330),
    [anon_sym_while] = ACTIONS(7330),
    [anon_sym_until] = ACTIONS(7330),
    [anon_sym_rescue] = ACTIONS(7330),
    [anon_sym_else] = ACTIONS(7330),
    [anon_sym_ensure] = ACTIONS(7330),
    [anon_sym_EQ_GT] = ACTIONS(7330),
    [anon_sym_AMP_DOT] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [7675] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__line_break] = ACTIONS(7344),
    [sym__element_reference_left_bracket] = ACTIONS(7344),
    [sym__scope_double_colon] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(6276),
    [sym__binary_star] = ACTIONS(6278),
    [anon_sym_DOT] = ACTIONS(9504),
    [anon_sym_end] = ACTIONS(7344),
    [anon_sym_COMMA] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(6280),
    [anon_sym_SEMI] = ACTIONS(7344),
    [anon_sym_STAR_STAR] = ACTIONS(6282),
    [anon_sym_AMP] = ACTIONS(6284),
    [anon_sym_LT] = ACTIONS(6286),
    [anon_sym_if] = ACTIONS(7344),
    [anon_sym_unless] = ACTIONS(7344),
    [anon_sym_while] = ACTIONS(7344),
    [anon_sym_until] = ACTIONS(7344),
    [anon_sym_rescue] = ACTIONS(7344),
    [anon_sym_else] = ACTIONS(7344),
    [anon_sym_ensure] = ACTIONS(7344),
    [anon_sym_EQ_GT] = ACTIONS(7344),
    [anon_sym_AMP_DOT] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(6288),
    [anon_sym_DOT_DOT] = ACTIONS(6290),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6292),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(6294),
    [anon_sym_AMP_AMP] = ACTIONS(6294),
    [anon_sym_LT_LT] = ACTIONS(6296),
    [anon_sym_GT_GT] = ACTIONS(6296),
    [anon_sym_EQ_EQ] = ACTIONS(6298),
    [anon_sym_BANG_EQ] = ACTIONS(6294),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6294),
    [anon_sym_LT_EQ_GT] = ACTIONS(6294),
    [anon_sym_EQ_TILDE] = ACTIONS(6294),
    [anon_sym_BANG_TILDE] = ACTIONS(6294),
    [anon_sym_LT_EQ] = ACTIONS(6286),
    [anon_sym_GT] = ACTIONS(6286),
    [anon_sym_GT_EQ] = ACTIONS(6300),
    [anon_sym_CARET] = ACTIONS(6302),
    [anon_sym_PLUS] = ACTIONS(6304),
    [anon_sym_SLASH] = ACTIONS(6282),
    [anon_sym_PERCENT] = ACTIONS(6282),
    [sym_comment] = ACTIONS(110),
  },
  [7676] = {
    [sym__simple_heredoc_body] = ACTIONS(8662),
    [sym__heredoc_body_beginning] = ACTIONS(8662),
    [sym__line_break] = ACTIONS(8662),
    [sym__element_reference_left_bracket] = ACTIONS(8662),
    [sym__scope_double_colon] = ACTIONS(8662),
    [sym__binary_minus] = ACTIONS(10420),
    [sym__binary_star] = ACTIONS(10422),
    [anon_sym_DOT] = ACTIONS(9506),
    [anon_sym_end] = ACTIONS(8662),
    [anon_sym_COMMA] = ACTIONS(8662),
    [anon_sym_PIPE] = ACTIONS(10424),
    [anon_sym_SEMI] = ACTIONS(8662),
    [anon_sym_STAR_STAR] = ACTIONS(10426),
    [anon_sym_AMP] = ACTIONS(10428),
    [anon_sym_LT] = ACTIONS(10430),
    [anon_sym_if] = ACTIONS(8662),
    [anon_sym_unless] = ACTIONS(8662),
    [anon_sym_while] = ACTIONS(8662),
    [anon_sym_until] = ACTIONS(8662),
    [anon_sym_rescue] = ACTIONS(8662),
    [anon_sym_else] = ACTIONS(8662),
    [anon_sym_ensure] = ACTIONS(8662),
    [anon_sym_AMP_DOT] = ACTIONS(8662),
    [anon_sym_QMARK] = ACTIONS(10432),
    [anon_sym_DOT_DOT] = ACTIONS(10434),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10436),
    [anon_sym_and] = ACTIONS(8662),
    [anon_sym_or] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE] = ACTIONS(10438),
    [anon_sym_AMP_AMP] = ACTIONS(10438),
    [anon_sym_LT_LT] = ACTIONS(10440),
    [anon_sym_GT_GT] = ACTIONS(10440),
    [anon_sym_EQ_EQ] = ACTIONS(10442),
    [anon_sym_BANG_EQ] = ACTIONS(10438),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10438),
    [anon_sym_LT_EQ_GT] = ACTIONS(10438),
    [anon_sym_EQ_TILDE] = ACTIONS(10438),
    [anon_sym_BANG_TILDE] = ACTIONS(10438),
    [anon_sym_LT_EQ] = ACTIONS(10430),
    [anon_sym_GT] = ACTIONS(10430),
    [anon_sym_GT_EQ] = ACTIONS(10444),
    [anon_sym_CARET] = ACTIONS(10446),
    [anon_sym_PLUS] = ACTIONS(10448),
    [anon_sym_SLASH] = ACTIONS(10426),
    [anon_sym_PERCENT] = ACTIONS(10426),
    [sym_comment] = ACTIONS(110),
  },
  [7677] = {
    [sym__simple_string] = ACTIONS(8070),
    [sym__simple_symbol] = ACTIONS(8070),
    [sym__simple_subshell] = ACTIONS(8070),
    [sym__simple_regex] = ACTIONS(8070),
    [sym__simple_word_list] = ACTIONS(8070),
    [sym__string_beginning] = ACTIONS(8070),
    [sym__symbol_beginning] = ACTIONS(8070),
    [sym__subshell_beginning] = ACTIONS(8070),
    [sym__regex_beginning] = ACTIONS(8070),
    [sym__word_list_beginning] = ACTIONS(8070),
    [sym_heredoc_beginning] = ACTIONS(8070),
    [sym__unary_minus] = ACTIONS(8070),
    [anon_sym_BEGIN] = ACTIONS(10414),
    [anon_sym_LBRACE] = ACTIONS(8070),
    [anon_sym_END] = ACTIONS(10414),
    [anon_sym_def] = ACTIONS(10414),
    [anon_sym_LPAREN] = ACTIONS(8070),
    [anon_sym_COLON_COLON] = ACTIONS(8070),
    [anon_sym_end] = ACTIONS(10414),
    [anon_sym_SEMI] = ACTIONS(8070),
    [anon_sym_STAR] = ACTIONS(8070),
    [anon_sym_class] = ACTIONS(10414),
    [anon_sym_module] = ACTIONS(10414),
    [anon_sym_return] = ACTIONS(10414),
    [anon_sym_yield] = ACTIONS(10414),
    [anon_sym_break] = ACTIONS(10414),
    [anon_sym_next] = ACTIONS(10414),
    [anon_sym_redo] = ACTIONS(10414),
    [anon_sym_retry] = ACTIONS(10414),
    [anon_sym_if] = ACTIONS(10414),
    [anon_sym_unless] = ACTIONS(10414),
    [anon_sym_while] = ACTIONS(10414),
    [anon_sym_until] = ACTIONS(10414),
    [anon_sym_rescue] = ACTIONS(10414),
    [anon_sym_for] = ACTIONS(10414),
    [anon_sym_case] = ACTIONS(10414),
    [anon_sym_else] = ACTIONS(10414),
    [anon_sym_then] = ACTIONS(10414),
    [anon_sym_begin] = ACTIONS(10414),
    [anon_sym_ensure] = ACTIONS(10414),
    [anon_sym_PLUS] = ACTIONS(10414),
    [anon_sym_defined_QMARK] = ACTIONS(8070),
    [anon_sym_not] = ACTIONS(10414),
    [anon_sym_BANG] = ACTIONS(8070),
    [anon_sym_TILDE] = ACTIONS(8070),
    [sym_constant] = ACTIONS(10416),
    [sym_identifier] = ACTIONS(10416),
    [sym_instance_variable] = ACTIONS(10414),
    [sym_class_variable] = ACTIONS(10414),
    [sym_global_variable] = ACTIONS(10414),
    [anon_sym_alias] = ACTIONS(10414),
    [anon_sym_false] = ACTIONS(10414),
    [anon_sym_nil] = ACTIONS(10414),
    [anon_sym_self] = ACTIONS(10414),
    [anon_sym_super] = ACTIONS(10414),
    [anon_sym_true] = ACTIONS(10414),
    [anon_sym_undef] = ACTIONS(10414),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(10414),
    [sym_float] = ACTIONS(10416),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8070),
    [anon_sym_TRUE] = ACTIONS(10414),
    [anon_sym_FALSE] = ACTIONS(10414),
    [anon_sym_NIL] = ACTIONS(10414),
    [sym_keyword__FILE__] = ACTIONS(10414),
    [sym_keyword__LINE__] = ACTIONS(10414),
    [sym_keyword__ENCODING__] = ACTIONS(10414),
    [sym__character_literal] = ACTIONS(10414),
    [anon_sym_LBRACK] = ACTIONS(8070),
    [anon_sym_DASH_GT] = ACTIONS(8070),
  },
  [7678] = {
    [sym__heredoc_body_middle] = ACTIONS(8296),
    [sym__heredoc_body_end] = ACTIONS(13444),
    [anon_sym_if] = ACTIONS(4112),
    [anon_sym_unless] = ACTIONS(4114),
    [anon_sym_while] = ACTIONS(4116),
    [anon_sym_until] = ACTIONS(4118),
    [anon_sym_rescue] = ACTIONS(4120),
    [sym_comment] = ACTIONS(110),
  },
  [7679] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__line_break] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(10194),
    [sym__binary_star] = ACTIONS(10196),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(10198),
    [anon_sym_SEMI] = ACTIONS(5298),
    [anon_sym_STAR_STAR] = ACTIONS(10200),
    [anon_sym_AMP] = ACTIONS(10202),
    [anon_sym_LT] = ACTIONS(10204),
    [anon_sym_then] = ACTIONS(5298),
    [anon_sym_EQ_GT] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(10206),
    [anon_sym_DOT_DOT] = ACTIONS(10208),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10210),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(10212),
    [anon_sym_AMP_AMP] = ACTIONS(10212),
    [anon_sym_LT_LT] = ACTIONS(10214),
    [anon_sym_GT_GT] = ACTIONS(10214),
    [anon_sym_EQ_EQ] = ACTIONS(10216),
    [anon_sym_BANG_EQ] = ACTIONS(10212),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10212),
    [anon_sym_LT_EQ_GT] = ACTIONS(10212),
    [anon_sym_EQ_TILDE] = ACTIONS(10212),
    [anon_sym_BANG_TILDE] = ACTIONS(10212),
    [anon_sym_LT_EQ] = ACTIONS(10204),
    [anon_sym_GT] = ACTIONS(10204),
    [anon_sym_GT_EQ] = ACTIONS(10218),
    [anon_sym_CARET] = ACTIONS(10220),
    [anon_sym_PLUS] = ACTIONS(10222),
    [anon_sym_SLASH] = ACTIONS(10200),
    [anon_sym_PERCENT] = ACTIONS(10200),
    [sym_comment] = ACTIONS(110),
  },
  [7680] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__line_break] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(10194),
    [sym__binary_star] = ACTIONS(10196),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(10198),
    [anon_sym_SEMI] = ACTIONS(5338),
    [anon_sym_STAR_STAR] = ACTIONS(10200),
    [anon_sym_AMP] = ACTIONS(10202),
    [anon_sym_LT] = ACTIONS(10204),
    [anon_sym_then] = ACTIONS(5338),
    [anon_sym_EQ_GT] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(10206),
    [anon_sym_DOT_DOT] = ACTIONS(10208),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10210),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(10212),
    [anon_sym_AMP_AMP] = ACTIONS(10212),
    [anon_sym_LT_LT] = ACTIONS(10214),
    [anon_sym_GT_GT] = ACTIONS(10214),
    [anon_sym_EQ_EQ] = ACTIONS(10216),
    [anon_sym_BANG_EQ] = ACTIONS(10212),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10212),
    [anon_sym_LT_EQ_GT] = ACTIONS(10212),
    [anon_sym_EQ_TILDE] = ACTIONS(10212),
    [anon_sym_BANG_TILDE] = ACTIONS(10212),
    [anon_sym_LT_EQ] = ACTIONS(10204),
    [anon_sym_GT] = ACTIONS(10204),
    [anon_sym_GT_EQ] = ACTIONS(10218),
    [anon_sym_CARET] = ACTIONS(10220),
    [anon_sym_PLUS] = ACTIONS(10222),
    [anon_sym_SLASH] = ACTIONS(10200),
    [anon_sym_PERCENT] = ACTIONS(10200),
    [sym_comment] = ACTIONS(110),
  },
  [7681] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__line_break] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(10194),
    [sym__binary_star] = ACTIONS(10196),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(10198),
    [anon_sym_SEMI] = ACTIONS(4284),
    [anon_sym_STAR_STAR] = ACTIONS(10200),
    [anon_sym_AMP] = ACTIONS(10202),
    [anon_sym_LT] = ACTIONS(10204),
    [anon_sym_then] = ACTIONS(4284),
    [anon_sym_EQ_GT] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(10206),
    [anon_sym_DOT_DOT] = ACTIONS(10208),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10210),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(10212),
    [anon_sym_AMP_AMP] = ACTIONS(10212),
    [anon_sym_LT_LT] = ACTIONS(10214),
    [anon_sym_GT_GT] = ACTIONS(10214),
    [anon_sym_EQ_EQ] = ACTIONS(10216),
    [anon_sym_BANG_EQ] = ACTIONS(10212),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10212),
    [anon_sym_LT_EQ_GT] = ACTIONS(10212),
    [anon_sym_EQ_TILDE] = ACTIONS(10212),
    [anon_sym_BANG_TILDE] = ACTIONS(10212),
    [anon_sym_LT_EQ] = ACTIONS(10204),
    [anon_sym_GT] = ACTIONS(10204),
    [anon_sym_GT_EQ] = ACTIONS(10218),
    [anon_sym_CARET] = ACTIONS(10220),
    [anon_sym_PLUS] = ACTIONS(10222),
    [anon_sym_SLASH] = ACTIONS(10200),
    [anon_sym_PERCENT] = ACTIONS(10200),
    [sym_comment] = ACTIONS(110),
  },
  [7682] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10647),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4207),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4208),
    [sym__variable] = STATE(1732),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6060),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2712),
    [anon_sym_yield] = ACTIONS(2714),
    [anon_sym_break] = ACTIONS(2716),
    [anon_sym_next] = ACTIONS(2718),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10188),
    [anon_sym_defined_QMARK] = ACTIONS(6070),
    [anon_sym_not] = ACTIONS(10190),
    [anon_sym_BANG] = ACTIONS(6076),
    [anon_sym_TILDE] = ACTIONS(6076),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7683] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4378),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(3780),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4207),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4208),
    [sym__variable] = STATE(1732),
    [sym_reserved_identifier] = STATE(4380),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(4381),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(10648),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__block_ampersand] = ACTIONS(6322),
    [sym__splat_star] = ACTIONS(6324),
    [sym__unary_minus] = ACTIONS(6060),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(13446),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(6062),
    [anon_sym_yield] = ACTIONS(6064),
    [anon_sym_break] = ACTIONS(6066),
    [anon_sym_next] = ACTIONS(6068),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(10188),
    [anon_sym_defined_QMARK] = ACTIONS(6070),
    [anon_sym_not] = ACTIONS(6072),
    [anon_sym_BANG] = ACTIONS(6076),
    [anon_sym_TILDE] = ACTIONS(6076),
    [sym_constant] = ACTIONS(6326),
    [sym_identifier] = ACTIONS(6326),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7684] = {
    [sym_heredoc_end] = STATE(1444),
    [aux_sym_argument_list_repeat2] = STATE(3783),
    [sym__simple_heredoc_body] = ACTIONS(2268),
    [sym__heredoc_body_beginning] = ACTIONS(2270),
    [sym__line_break] = ACTIONS(5472),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(13448),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_SEMI] = ACTIONS(5472),
    [anon_sym_STAR_STAR] = ACTIONS(5472),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_then] = ACTIONS(5472),
    [anon_sym_EQ_GT] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5472),
    [anon_sym_AMP_AMP] = ACTIONS(5472),
    [anon_sym_LT_LT] = ACTIONS(5472),
    [anon_sym_GT_GT] = ACTIONS(5472),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5472),
    [anon_sym_PLUS] = ACTIONS(5472),
    [anon_sym_SLASH] = ACTIONS(5472),
    [anon_sym_PERCENT] = ACTIONS(5472),
    [sym_comment] = ACTIONS(110),
  },
  [7685] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10650),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4207),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4208),
    [sym__variable] = STATE(1732),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6060),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2712),
    [anon_sym_yield] = ACTIONS(2714),
    [anon_sym_break] = ACTIONS(2716),
    [anon_sym_next] = ACTIONS(2718),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10188),
    [anon_sym_defined_QMARK] = ACTIONS(6070),
    [anon_sym_not] = ACTIONS(10190),
    [anon_sym_BANG] = ACTIONS(6076),
    [anon_sym_TILDE] = ACTIONS(6076),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7686] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(501),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(10652),
    [sym__argument] = STATE(506),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(509),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(510),
    [sym__variable] = STATE(504),
    [sym_reserved_identifier] = STATE(511),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(512),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(10653),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(804),
    [sym__splat_star] = ACTIONS(806),
    [sym__unary_minus] = ACTIONS(808),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(818),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(824),
    [anon_sym_yield] = ACTIONS(826),
    [anon_sym_break] = ACTIONS(828),
    [anon_sym_next] = ACTIONS(830),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_RBRACK] = ACTIONS(13450),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(852),
    [anon_sym_defined_QMARK] = ACTIONS(854),
    [anon_sym_not] = ACTIONS(856),
    [anon_sym_BANG] = ACTIONS(858),
    [anon_sym_TILDE] = ACTIONS(858),
    [sym_constant] = ACTIONS(860),
    [sym_identifier] = ACTIONS(860),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [7687] = {
    [sym_argument_list_with_parens] = STATE(10656),
    [sym__argument_list_with_parens] = STATE(10657),
    [sym_operator] = STATE(10656),
    [sym__argument_list_left_paren] = ACTIONS(13452),
    [anon_sym_PIPE] = ACTIONS(13454),
    [anon_sym_STAR] = ACTIONS(13456),
    [anon_sym_STAR_STAR] = ACTIONS(13454),
    [anon_sym_AMP] = ACTIONS(13454),
    [anon_sym_LT] = ACTIONS(13456),
    [anon_sym_DOT_DOT] = ACTIONS(13454),
    [anon_sym_LT_LT] = ACTIONS(13454),
    [anon_sym_GT_GT] = ACTIONS(13454),
    [anon_sym_EQ_EQ] = ACTIONS(13456),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(13454),
    [anon_sym_LT_EQ_GT] = ACTIONS(13454),
    [anon_sym_EQ_TILDE] = ACTIONS(13454),
    [anon_sym_BANG_TILDE] = ACTIONS(13454),
    [anon_sym_LT_EQ] = ACTIONS(13456),
    [anon_sym_GT] = ACTIONS(13456),
    [anon_sym_GT_EQ] = ACTIONS(13454),
    [anon_sym_CARET] = ACTIONS(13454),
    [anon_sym_PLUS] = ACTIONS(13456),
    [anon_sym_SLASH] = ACTIONS(13454),
    [anon_sym_PERCENT] = ACTIONS(13454),
    [anon_sym_BANG] = ACTIONS(13456),
    [anon_sym_TILDE] = ACTIONS(13454),
    [sym_constant] = ACTIONS(13458),
    [sym_identifier] = ACTIONS(13458),
    [anon_sym_DASH] = ACTIONS(13456),
    [anon_sym_PLUS_AT] = ACTIONS(13454),
    [anon_sym_DASH_AT] = ACTIONS(13454),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(13456),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(13454),
    [anon_sym_BQUOTE] = ACTIONS(13454),
    [sym_comment] = ACTIONS(110),
  },
  [7688] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10666),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(7534),
    [sym_call] = STATE(7534),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(10667),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(10668),
    [sym__variable] = STATE(7534),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(13460),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(13462),
    [anon_sym_yield] = ACTIONS(13464),
    [anon_sym_break] = ACTIONS(13466),
    [anon_sym_next] = ACTIONS(13468),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(13470),
    [anon_sym_defined_QMARK] = ACTIONS(13472),
    [anon_sym_not] = ACTIONS(13474),
    [anon_sym_BANG] = ACTIONS(13476),
    [anon_sym_TILDE] = ACTIONS(13476),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7689] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10669),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(7534),
    [sym_call] = STATE(7534),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(10667),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(10668),
    [sym__variable] = STATE(7534),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(13460),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(13462),
    [anon_sym_yield] = ACTIONS(13464),
    [anon_sym_break] = ACTIONS(13466),
    [anon_sym_next] = ACTIONS(13468),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(13470),
    [anon_sym_defined_QMARK] = ACTIONS(13472),
    [anon_sym_not] = ACTIONS(13474),
    [anon_sym_BANG] = ACTIONS(13476),
    [anon_sym_TILDE] = ACTIONS(13476),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7690] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1382),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(10671),
    [sym__argument] = STATE(1385),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1386),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1387),
    [sym__variable] = STATE(1383),
    [sym_reserved_identifier] = STATE(1388),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1389),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(10672),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(2154),
    [sym__splat_star] = ACTIONS(2156),
    [sym__unary_minus] = ACTIONS(2158),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(13478),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2162),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2164),
    [anon_sym_yield] = ACTIONS(2166),
    [anon_sym_break] = ACTIONS(2168),
    [anon_sym_next] = ACTIONS(2170),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2172),
    [anon_sym_defined_QMARK] = ACTIONS(2174),
    [anon_sym_not] = ACTIONS(2176),
    [anon_sym_BANG] = ACTIONS(2178),
    [anon_sym_TILDE] = ACTIONS(2178),
    [sym_constant] = ACTIONS(2180),
    [sym_identifier] = ACTIONS(2180),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [7691] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10677),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4247),
    [sym_call] = STATE(4247),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7710),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7711),
    [sym__variable] = STATE(4247),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(10490),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(13480),
    [anon_sym_yield] = ACTIONS(13482),
    [anon_sym_break] = ACTIONS(13484),
    [anon_sym_next] = ACTIONS(13486),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10506),
    [anon_sym_defined_QMARK] = ACTIONS(10508),
    [anon_sym_not] = ACTIONS(13488),
    [anon_sym_BANG] = ACTIONS(10512),
    [anon_sym_TILDE] = ACTIONS(10512),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7692] = {
    [sym__statements] = STATE(10678),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(10679),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2128),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_hash_splat_argument] = STATE(197),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(2130),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2131),
    [sym__variable] = STATE(2129),
    [sym_reserved_identifier] = STATE(201),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(2132),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(203),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym__hash_items] = STATE(204),
    [sym_pair] = STATE(205),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3268),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(290),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_PIPE] = ACTIONS(3048),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(302),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(3272),
    [anon_sym_yield] = ACTIONS(3274),
    [anon_sym_break] = ACTIONS(3276),
    [anon_sym_next] = ACTIONS(3278),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(3280),
    [anon_sym_defined_QMARK] = ACTIONS(3282),
    [anon_sym_not] = ACTIONS(3284),
    [anon_sym_BANG] = ACTIONS(3286),
    [anon_sym_TILDE] = ACTIONS(3286),
    [sym_constant] = ACTIONS(3288),
    [sym_identifier] = ACTIONS(3288),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(3290),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(3292),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7693] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10680),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(7534),
    [sym_call] = STATE(7534),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(10667),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(10668),
    [sym__variable] = STATE(7534),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(13460),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(13462),
    [anon_sym_yield] = ACTIONS(13464),
    [anon_sym_break] = ACTIONS(13466),
    [anon_sym_next] = ACTIONS(13468),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(13470),
    [anon_sym_defined_QMARK] = ACTIONS(13472),
    [anon_sym_not] = ACTIONS(13474),
    [anon_sym_BANG] = ACTIONS(13476),
    [anon_sym_TILDE] = ACTIONS(13476),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7694] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10685),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4247),
    [sym_call] = STATE(4247),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(340),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(10686),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7710),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7711),
    [sym__variable] = STATE(4247),
    [sym_reserved_identifier] = STATE(10687),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(10688),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(13490),
    [sym__splat_star] = ACTIONS(13492),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(10490),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(10496),
    [anon_sym_yield] = ACTIONS(10498),
    [anon_sym_break] = ACTIONS(10500),
    [anon_sym_next] = ACTIONS(10502),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(544),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(10508),
    [anon_sym_not] = ACTIONS(10510),
    [anon_sym_BANG] = ACTIONS(13494),
    [anon_sym_TILDE] = ACTIONS(10512),
    [sym_constant] = ACTIONS(13496),
    [sym_identifier] = ACTIONS(13496),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7695] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10685),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4247),
    [sym_call] = STATE(4247),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(349),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(10686),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7710),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7711),
    [sym__variable] = STATE(4247),
    [sym_reserved_identifier] = STATE(10687),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(10688),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(13490),
    [sym__splat_star] = ACTIONS(13492),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(10490),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(10496),
    [anon_sym_yield] = ACTIONS(10498),
    [anon_sym_break] = ACTIONS(10500),
    [anon_sym_next] = ACTIONS(10502),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(604),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(10508),
    [anon_sym_not] = ACTIONS(10510),
    [anon_sym_BANG] = ACTIONS(13494),
    [anon_sym_TILDE] = ACTIONS(10512),
    [sym_constant] = ACTIONS(13496),
    [sym_identifier] = ACTIONS(13496),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7696] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10685),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4247),
    [sym_call] = STATE(4247),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(350),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(10686),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7710),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7711),
    [sym__variable] = STATE(4247),
    [sym_reserved_identifier] = STATE(10687),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(10688),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(13490),
    [sym__splat_star] = ACTIONS(13492),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(10490),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(10496),
    [anon_sym_yield] = ACTIONS(10498),
    [anon_sym_break] = ACTIONS(10500),
    [anon_sym_next] = ACTIONS(10502),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(608),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(10508),
    [anon_sym_not] = ACTIONS(10510),
    [anon_sym_BANG] = ACTIONS(13494),
    [anon_sym_TILDE] = ACTIONS(10512),
    [sym_constant] = ACTIONS(13496),
    [sym_identifier] = ACTIONS(13496),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7697] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10685),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4247),
    [sym_call] = STATE(4247),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(351),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(10686),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7710),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7711),
    [sym__variable] = STATE(4247),
    [sym_reserved_identifier] = STATE(10687),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(10688),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(13490),
    [sym__splat_star] = ACTIONS(13492),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(10490),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(10496),
    [anon_sym_yield] = ACTIONS(10498),
    [anon_sym_break] = ACTIONS(10500),
    [anon_sym_next] = ACTIONS(10502),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(612),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(10508),
    [anon_sym_not] = ACTIONS(10510),
    [anon_sym_BANG] = ACTIONS(13494),
    [anon_sym_TILDE] = ACTIONS(10512),
    [sym_constant] = ACTIONS(13496),
    [sym_identifier] = ACTIONS(13496),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7698] = {
    [sym__statements] = STATE(10690),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(10691),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1981),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(10692),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(3076),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(3078),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(3080),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(13498),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(3086),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7699] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10693),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4247),
    [sym_call] = STATE(4247),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7710),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7711),
    [sym__variable] = STATE(4247),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(10490),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(13480),
    [anon_sym_yield] = ACTIONS(13482),
    [anon_sym_break] = ACTIONS(13484),
    [anon_sym_next] = ACTIONS(13486),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10506),
    [anon_sym_defined_QMARK] = ACTIONS(10508),
    [anon_sym_not] = ACTIONS(13488),
    [anon_sym_BANG] = ACTIONS(10512),
    [anon_sym_TILDE] = ACTIONS(10512),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7700] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10694),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4247),
    [sym_call] = STATE(4247),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7710),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7711),
    [sym__variable] = STATE(4247),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(10490),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(13480),
    [anon_sym_yield] = ACTIONS(13482),
    [anon_sym_break] = ACTIONS(13484),
    [anon_sym_next] = ACTIONS(13486),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10506),
    [anon_sym_defined_QMARK] = ACTIONS(10508),
    [anon_sym_not] = ACTIONS(13488),
    [anon_sym_BANG] = ACTIONS(10512),
    [anon_sym_TILDE] = ACTIONS(10512),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7701] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10694),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4247),
    [sym_call] = STATE(4247),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7710),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7711),
    [sym__variable] = STATE(4247),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(10490),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(13480),
    [anon_sym_yield] = ACTIONS(13482),
    [anon_sym_break] = ACTIONS(13484),
    [anon_sym_next] = ACTIONS(13486),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10506),
    [anon_sym_defined_QMARK] = ACTIONS(10508),
    [anon_sym_not] = ACTIONS(13488),
    [anon_sym_BANG] = ACTIONS(10512),
    [anon_sym_TILDE] = ACTIONS(10512),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7702] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1410),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4247),
    [sym_call] = STATE(4247),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7710),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7711),
    [sym__variable] = STATE(4247),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(10490),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(13480),
    [anon_sym_yield] = ACTIONS(13482),
    [anon_sym_break] = ACTIONS(13484),
    [anon_sym_next] = ACTIONS(13486),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10506),
    [anon_sym_defined_QMARK] = ACTIONS(10508),
    [anon_sym_not] = ACTIONS(13488),
    [anon_sym_BANG] = ACTIONS(10512),
    [anon_sym_TILDE] = ACTIONS(10512),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7703] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(13500),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [7704] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__line_break] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(13502),
    [sym__binary_star] = ACTIONS(13504),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(13506),
    [anon_sym_SEMI] = ACTIONS(2210),
    [anon_sym_STAR_STAR] = ACTIONS(13508),
    [anon_sym_AMP] = ACTIONS(13510),
    [anon_sym_LT] = ACTIONS(13512),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_then] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(13500),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(13514),
    [anon_sym_DOT_DOT] = ACTIONS(13516),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(13518),
    [anon_sym_and] = ACTIONS(13520),
    [anon_sym_or] = ACTIONS(13520),
    [anon_sym_PIPE_PIPE] = ACTIONS(13522),
    [anon_sym_AMP_AMP] = ACTIONS(13522),
    [anon_sym_LT_LT] = ACTIONS(13524),
    [anon_sym_GT_GT] = ACTIONS(13524),
    [anon_sym_EQ_EQ] = ACTIONS(13526),
    [anon_sym_BANG_EQ] = ACTIONS(13522),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(13522),
    [anon_sym_LT_EQ_GT] = ACTIONS(13522),
    [anon_sym_EQ_TILDE] = ACTIONS(13522),
    [anon_sym_BANG_TILDE] = ACTIONS(13522),
    [anon_sym_LT_EQ] = ACTIONS(13512),
    [anon_sym_GT] = ACTIONS(13512),
    [anon_sym_GT_EQ] = ACTIONS(13528),
    [anon_sym_CARET] = ACTIONS(13530),
    [anon_sym_PLUS] = ACTIONS(13532),
    [anon_sym_SLASH] = ACTIONS(13508),
    [anon_sym_PERCENT] = ACTIONS(13508),
    [sym_comment] = ACTIONS(110),
  },
  [7705] = {
    [sym_do_block] = STATE(10710),
    [sym_block] = STATE(10710),
    [sym__simple_heredoc_body] = ACTIONS(3346),
    [sym__heredoc_body_beginning] = ACTIONS(3346),
    [sym__line_break] = ACTIONS(3346),
    [sym__element_reference_left_bracket] = ACTIONS(3346),
    [sym__scope_double_colon] = ACTIONS(3346),
    [anon_sym_LBRACE] = ACTIONS(13534),
    [anon_sym_DOT] = ACTIONS(3346),
    [anon_sym_SEMI] = ACTIONS(3346),
    [anon_sym_do] = ACTIONS(13536),
    [anon_sym_then] = ACTIONS(3346),
    [anon_sym_AMP_DOT] = ACTIONS(3346),
    [sym_comment] = ACTIONS(110),
  },
  [7706] = {
    [sym_heredoc_end] = STATE(10713),
    [aux_sym_argument_list_repeat2] = STATE(10714),
    [sym__simple_heredoc_body] = ACTIONS(13538),
    [sym__heredoc_body_beginning] = ACTIONS(13540),
    [sym__line_break] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2272),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_then] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(110),
  },
  [7707] = {
    [sym_heredoc_end] = STATE(10713),
    [aux_sym_argument_list_repeat1] = STATE(10716),
    [aux_sym_argument_list_repeat2] = STATE(10714),
    [sym__simple_heredoc_body] = ACTIONS(13538),
    [sym__heredoc_body_beginning] = ACTIONS(13540),
    [sym__line_break] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2272),
    [anon_sym_COMMA] = ACTIONS(13542),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_then] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(110),
  },
  [7708] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__line_break] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2210),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_SEMI] = ACTIONS(2210),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_then] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [sym_comment] = ACTIONS(110),
  },
  [7709] = {
    [sym__simple_heredoc_body] = ACTIONS(3346),
    [sym__heredoc_body_beginning] = ACTIONS(3346),
    [sym__line_break] = ACTIONS(3346),
    [sym__element_reference_left_bracket] = ACTIONS(3346),
    [sym__scope_double_colon] = ACTIONS(3346),
    [anon_sym_DOT] = ACTIONS(3346),
    [anon_sym_SEMI] = ACTIONS(3346),
    [anon_sym_then] = ACTIONS(3346),
    [anon_sym_AMP_DOT] = ACTIONS(3346),
    [sym_comment] = ACTIONS(110),
  },
  [7710] = {
    [anon_sym_EQ] = ACTIONS(13544),
    [sym_comment] = ACTIONS(256),
  },
  [7711] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(13546),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_then] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(13548),
    [anon_sym_DASH_EQ] = ACTIONS(13548),
    [anon_sym_STAR_EQ] = ACTIONS(13548),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(13548),
    [anon_sym_SLASH_EQ] = ACTIONS(13548),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(13548),
    [anon_sym_PIPE_EQ] = ACTIONS(13548),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(13548),
    [anon_sym_AMP_EQ] = ACTIONS(13548),
    [anon_sym_PERCENT_EQ] = ACTIONS(13548),
    [anon_sym_GT_GT_EQ] = ACTIONS(13548),
    [anon_sym_LT_LT_EQ] = ACTIONS(13548),
    [anon_sym_CARET_EQ] = ACTIONS(13548),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [7712] = {
    [sym__keyword_colon] = ACTIONS(13550),
    [sym_comment] = ACTIONS(110),
  },
  [7713] = {
    [sym_string] = STATE(611),
    [aux_sym_chained_string_repeat1] = STATE(612),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(20),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(13500),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_then] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(120),
  },
  [7714] = {
    [anon_sym_end] = ACTIONS(13552),
    [anon_sym_else] = ACTIONS(13552),
    [anon_sym_ensure] = ACTIONS(13552),
    [sym_comment] = ACTIONS(110),
  },
  [7715] = {
    [sym_rescue] = STATE(10720),
    [anon_sym_end] = ACTIONS(13552),
    [anon_sym_rescue] = ACTIONS(2788),
    [anon_sym_else] = ACTIONS(13552),
    [anon_sym_ensure] = ACTIONS(13552),
    [sym_comment] = ACTIONS(110),
  },
  [7716] = {
    [sym__statements] = STATE(10721),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym_rescue] = STATE(10720),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(13554),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(13554),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(13554),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7717] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__line_break] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(6350),
    [anon_sym_COMMA] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_SEMI] = ACTIONS(7008),
    [anon_sym_STAR_STAR] = ACTIONS(6354),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_then] = ACTIONS(7008),
    [anon_sym_EQ_GT] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7008),
    [anon_sym_AMP_AMP] = ACTIONS(7008),
    [anon_sym_LT_LT] = ACTIONS(7008),
    [anon_sym_GT_GT] = ACTIONS(7008),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7008),
    [anon_sym_PLUS] = ACTIONS(7008),
    [anon_sym_SLASH] = ACTIONS(6354),
    [anon_sym_PERCENT] = ACTIONS(6354),
    [sym_comment] = ACTIONS(110),
  },
  [7718] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__line_break] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_COMMA] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_SEMI] = ACTIONS(7012),
    [anon_sym_STAR_STAR] = ACTIONS(6354),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_then] = ACTIONS(7012),
    [anon_sym_EQ_GT] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7012),
    [anon_sym_AMP_AMP] = ACTIONS(7012),
    [anon_sym_LT_LT] = ACTIONS(7012),
    [anon_sym_GT_GT] = ACTIONS(7012),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7012),
    [anon_sym_PLUS] = ACTIONS(7012),
    [anon_sym_SLASH] = ACTIONS(7012),
    [anon_sym_PERCENT] = ACTIONS(7012),
    [sym_comment] = ACTIONS(110),
  },
  [7719] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6348),
    [sym__binary_star] = ACTIONS(6350),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6354),
    [anon_sym_AMP] = ACTIONS(6356),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_then] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(6370),
    [anon_sym_GT_GT] = ACTIONS(6370),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(6378),
    [anon_sym_SLASH] = ACTIONS(6354),
    [anon_sym_PERCENT] = ACTIONS(6354),
    [sym_comment] = ACTIONS(110),
  },
  [7720] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6354),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_then] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7016),
    [anon_sym_PERCENT] = ACTIONS(7016),
    [sym_comment] = ACTIONS(110),
  },
  [7721] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6348),
    [sym__binary_star] = ACTIONS(6350),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6354),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_then] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(6370),
    [anon_sym_GT_GT] = ACTIONS(6370),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(6378),
    [anon_sym_SLASH] = ACTIONS(6354),
    [anon_sym_PERCENT] = ACTIONS(6354),
    [sym_comment] = ACTIONS(110),
  },
  [7722] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6348),
    [sym__binary_star] = ACTIONS(6350),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(6352),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6354),
    [anon_sym_AMP] = ACTIONS(6356),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_then] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(6370),
    [anon_sym_GT_GT] = ACTIONS(6370),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(6376),
    [anon_sym_PLUS] = ACTIONS(6378),
    [anon_sym_SLASH] = ACTIONS(6354),
    [anon_sym_PERCENT] = ACTIONS(6354),
    [sym_comment] = ACTIONS(110),
  },
  [7723] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(13556),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [7724] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__line_break] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(6348),
    [sym__binary_star] = ACTIONS(6350),
    [anon_sym_COMMA] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(6352),
    [anon_sym_SEMI] = ACTIONS(7108),
    [anon_sym_STAR_STAR] = ACTIONS(6354),
    [anon_sym_AMP] = ACTIONS(6356),
    [anon_sym_LT] = ACTIONS(6358),
    [anon_sym_then] = ACTIONS(7108),
    [anon_sym_EQ_GT] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(6362),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6364),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(6368),
    [anon_sym_AMP_AMP] = ACTIONS(6368),
    [anon_sym_LT_LT] = ACTIONS(6370),
    [anon_sym_GT_GT] = ACTIONS(6370),
    [anon_sym_EQ_EQ] = ACTIONS(6372),
    [anon_sym_BANG_EQ] = ACTIONS(6368),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6368),
    [anon_sym_LT_EQ_GT] = ACTIONS(6368),
    [anon_sym_EQ_TILDE] = ACTIONS(6368),
    [anon_sym_BANG_TILDE] = ACTIONS(6368),
    [anon_sym_LT_EQ] = ACTIONS(6358),
    [anon_sym_GT] = ACTIONS(6358),
    [anon_sym_GT_EQ] = ACTIONS(6374),
    [anon_sym_CARET] = ACTIONS(6376),
    [anon_sym_PLUS] = ACTIONS(6378),
    [anon_sym_SLASH] = ACTIONS(6354),
    [anon_sym_PERCENT] = ACTIONS(6354),
    [sym_comment] = ACTIONS(110),
  },
  [7725] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6348),
    [sym__binary_star] = ACTIONS(6350),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(6352),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6354),
    [anon_sym_AMP] = ACTIONS(6356),
    [anon_sym_LT] = ACTIONS(6358),
    [anon_sym_then] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(6360),
    [anon_sym_DOT_DOT] = ACTIONS(6362),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6364),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(6368),
    [anon_sym_AMP_AMP] = ACTIONS(6368),
    [anon_sym_LT_LT] = ACTIONS(6370),
    [anon_sym_GT_GT] = ACTIONS(6370),
    [anon_sym_EQ_EQ] = ACTIONS(6372),
    [anon_sym_BANG_EQ] = ACTIONS(6368),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6368),
    [anon_sym_LT_EQ_GT] = ACTIONS(6368),
    [anon_sym_EQ_TILDE] = ACTIONS(6368),
    [anon_sym_BANG_TILDE] = ACTIONS(6368),
    [anon_sym_LT_EQ] = ACTIONS(6358),
    [anon_sym_GT] = ACTIONS(6358),
    [anon_sym_GT_EQ] = ACTIONS(6374),
    [anon_sym_CARET] = ACTIONS(6376),
    [anon_sym_PLUS] = ACTIONS(6378),
    [anon_sym_SLASH] = ACTIONS(6354),
    [anon_sym_PERCENT] = ACTIONS(6354),
    [sym_comment] = ACTIONS(110),
  },
  [7726] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6348),
    [sym__binary_star] = ACTIONS(6350),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(6352),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6354),
    [anon_sym_AMP] = ACTIONS(6356),
    [anon_sym_LT] = ACTIONS(6358),
    [anon_sym_then] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(6370),
    [anon_sym_GT_GT] = ACTIONS(6370),
    [anon_sym_EQ_EQ] = ACTIONS(6372),
    [anon_sym_BANG_EQ] = ACTIONS(6368),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6368),
    [anon_sym_LT_EQ_GT] = ACTIONS(6368),
    [anon_sym_EQ_TILDE] = ACTIONS(6368),
    [anon_sym_BANG_TILDE] = ACTIONS(6368),
    [anon_sym_LT_EQ] = ACTIONS(6358),
    [anon_sym_GT] = ACTIONS(6358),
    [anon_sym_GT_EQ] = ACTIONS(6374),
    [anon_sym_CARET] = ACTIONS(6376),
    [anon_sym_PLUS] = ACTIONS(6378),
    [anon_sym_SLASH] = ACTIONS(6354),
    [anon_sym_PERCENT] = ACTIONS(6354),
    [sym_comment] = ACTIONS(110),
  },
  [7727] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6348),
    [sym__binary_star] = ACTIONS(6350),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6354),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_then] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(6378),
    [anon_sym_SLASH] = ACTIONS(6354),
    [anon_sym_PERCENT] = ACTIONS(6354),
    [sym_comment] = ACTIONS(110),
  },
  [7728] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(6350),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6354),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_then] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(6354),
    [anon_sym_PERCENT] = ACTIONS(6354),
    [sym_comment] = ACTIONS(110),
  },
  [7729] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__line_break] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(10290),
    [sym__binary_star] = ACTIONS(10292),
    [anon_sym_LBRACE] = ACTIONS(5298),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(10294),
    [anon_sym_SEMI] = ACTIONS(5298),
    [anon_sym_STAR_STAR] = ACTIONS(10296),
    [anon_sym_AMP] = ACTIONS(10298),
    [anon_sym_EQ] = ACTIONS(5304),
    [anon_sym_LT] = ACTIONS(10300),
    [anon_sym_do] = ACTIONS(5298),
    [anon_sym_then] = ACTIONS(5298),
    [anon_sym_EQ_GT] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_PLUS_EQ] = ACTIONS(5298),
    [anon_sym_DASH_EQ] = ACTIONS(5298),
    [anon_sym_STAR_EQ] = ACTIONS(5298),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5298),
    [anon_sym_SLASH_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5298),
    [anon_sym_AMP_EQ] = ACTIONS(5298),
    [anon_sym_PERCENT_EQ] = ACTIONS(5298),
    [anon_sym_GT_GT_EQ] = ACTIONS(5298),
    [anon_sym_LT_LT_EQ] = ACTIONS(5298),
    [anon_sym_CARET_EQ] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(10302),
    [anon_sym_DOT_DOT] = ACTIONS(10304),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10306),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(10308),
    [anon_sym_AMP_AMP] = ACTIONS(10308),
    [anon_sym_LT_LT] = ACTIONS(10310),
    [anon_sym_GT_GT] = ACTIONS(10310),
    [anon_sym_EQ_EQ] = ACTIONS(10308),
    [anon_sym_BANG_EQ] = ACTIONS(10312),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10312),
    [anon_sym_LT_EQ_GT] = ACTIONS(10312),
    [anon_sym_EQ_TILDE] = ACTIONS(10312),
    [anon_sym_BANG_TILDE] = ACTIONS(10312),
    [anon_sym_LT_EQ] = ACTIONS(10300),
    [anon_sym_GT] = ACTIONS(10300),
    [anon_sym_GT_EQ] = ACTIONS(10314),
    [anon_sym_CARET] = ACTIONS(10294),
    [anon_sym_PLUS] = ACTIONS(10316),
    [anon_sym_SLASH] = ACTIONS(10296),
    [anon_sym_PERCENT] = ACTIONS(10296),
    [sym_comment] = ACTIONS(256),
  },
  [7730] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__line_break] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(10290),
    [sym__binary_star] = ACTIONS(10292),
    [anon_sym_LBRACE] = ACTIONS(5338),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(10294),
    [anon_sym_SEMI] = ACTIONS(5338),
    [anon_sym_STAR_STAR] = ACTIONS(10296),
    [anon_sym_AMP] = ACTIONS(10298),
    [anon_sym_EQ] = ACTIONS(5340),
    [anon_sym_LT] = ACTIONS(10300),
    [anon_sym_do] = ACTIONS(5338),
    [anon_sym_then] = ACTIONS(5338),
    [anon_sym_EQ_GT] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_PLUS_EQ] = ACTIONS(5338),
    [anon_sym_DASH_EQ] = ACTIONS(5338),
    [anon_sym_STAR_EQ] = ACTIONS(5338),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5338),
    [anon_sym_SLASH_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5338),
    [anon_sym_AMP_EQ] = ACTIONS(5338),
    [anon_sym_PERCENT_EQ] = ACTIONS(5338),
    [anon_sym_GT_GT_EQ] = ACTIONS(5338),
    [anon_sym_LT_LT_EQ] = ACTIONS(5338),
    [anon_sym_CARET_EQ] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(10302),
    [anon_sym_DOT_DOT] = ACTIONS(10304),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10306),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(10308),
    [anon_sym_AMP_AMP] = ACTIONS(10308),
    [anon_sym_LT_LT] = ACTIONS(10310),
    [anon_sym_GT_GT] = ACTIONS(10310),
    [anon_sym_EQ_EQ] = ACTIONS(10308),
    [anon_sym_BANG_EQ] = ACTIONS(10312),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10312),
    [anon_sym_LT_EQ_GT] = ACTIONS(10312),
    [anon_sym_EQ_TILDE] = ACTIONS(10312),
    [anon_sym_BANG_TILDE] = ACTIONS(10312),
    [anon_sym_LT_EQ] = ACTIONS(10300),
    [anon_sym_GT] = ACTIONS(10300),
    [anon_sym_GT_EQ] = ACTIONS(10314),
    [anon_sym_CARET] = ACTIONS(10294),
    [anon_sym_PLUS] = ACTIONS(10316),
    [anon_sym_SLASH] = ACTIONS(10296),
    [anon_sym_PERCENT] = ACTIONS(10296),
    [sym_comment] = ACTIONS(256),
  },
  [7731] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__line_break] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(10290),
    [sym__binary_star] = ACTIONS(10292),
    [anon_sym_LBRACE] = ACTIONS(4284),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(10294),
    [anon_sym_SEMI] = ACTIONS(4284),
    [anon_sym_STAR_STAR] = ACTIONS(10296),
    [anon_sym_AMP] = ACTIONS(10298),
    [anon_sym_EQ] = ACTIONS(5432),
    [anon_sym_LT] = ACTIONS(10300),
    [anon_sym_do] = ACTIONS(4284),
    [anon_sym_then] = ACTIONS(4284),
    [anon_sym_EQ_GT] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_PLUS_EQ] = ACTIONS(4284),
    [anon_sym_DASH_EQ] = ACTIONS(4284),
    [anon_sym_STAR_EQ] = ACTIONS(4284),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(4284),
    [anon_sym_SLASH_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(4284),
    [anon_sym_AMP_EQ] = ACTIONS(4284),
    [anon_sym_PERCENT_EQ] = ACTIONS(4284),
    [anon_sym_GT_GT_EQ] = ACTIONS(4284),
    [anon_sym_LT_LT_EQ] = ACTIONS(4284),
    [anon_sym_CARET_EQ] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(10302),
    [anon_sym_DOT_DOT] = ACTIONS(10304),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10306),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(10308),
    [anon_sym_AMP_AMP] = ACTIONS(10308),
    [anon_sym_LT_LT] = ACTIONS(10310),
    [anon_sym_GT_GT] = ACTIONS(10310),
    [anon_sym_EQ_EQ] = ACTIONS(10308),
    [anon_sym_BANG_EQ] = ACTIONS(10312),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10312),
    [anon_sym_LT_EQ_GT] = ACTIONS(10312),
    [anon_sym_EQ_TILDE] = ACTIONS(10312),
    [anon_sym_BANG_TILDE] = ACTIONS(10312),
    [anon_sym_LT_EQ] = ACTIONS(10300),
    [anon_sym_GT] = ACTIONS(10300),
    [anon_sym_GT_EQ] = ACTIONS(10314),
    [anon_sym_CARET] = ACTIONS(10294),
    [anon_sym_PLUS] = ACTIONS(10316),
    [anon_sym_SLASH] = ACTIONS(10296),
    [anon_sym_PERCENT] = ACTIONS(10296),
    [sym_comment] = ACTIONS(256),
  },
  [7732] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10723),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4247),
    [sym_call] = STATE(4247),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4249),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4250),
    [sym__variable] = STATE(4247),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6128),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10276),
    [anon_sym_yield] = ACTIONS(10278),
    [anon_sym_break] = ACTIONS(10280),
    [anon_sym_next] = ACTIONS(10282),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10284),
    [anon_sym_defined_QMARK] = ACTIONS(6138),
    [anon_sym_not] = ACTIONS(10286),
    [anon_sym_BANG] = ACTIONS(6144),
    [anon_sym_TILDE] = ACTIONS(6144),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7733] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4414),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4247),
    [sym_call] = STATE(4247),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(6946),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4249),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4250),
    [sym__variable] = STATE(4247),
    [sym_reserved_identifier] = STATE(4416),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(4417),
    [sym_subshell] = STATE(561),
    [sym_heredoc_end] = STATE(10724),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__block_ampersand] = ACTIONS(6380),
    [sym__splat_star] = ACTIONS(6382),
    [sym__unary_minus] = ACTIONS(6128),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(13558),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(6130),
    [anon_sym_yield] = ACTIONS(6132),
    [anon_sym_break] = ACTIONS(6134),
    [anon_sym_next] = ACTIONS(6136),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(10284),
    [anon_sym_defined_QMARK] = ACTIONS(6138),
    [anon_sym_not] = ACTIONS(6140),
    [anon_sym_BANG] = ACTIONS(6144),
    [anon_sym_TILDE] = ACTIONS(6144),
    [sym_constant] = ACTIONS(6384),
    [sym_identifier] = ACTIONS(6384),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7734] = {
    [sym_heredoc_end] = STATE(3770),
    [aux_sym_argument_list_repeat2] = STATE(6949),
    [sym__simple_heredoc_body] = ACTIONS(5460),
    [sym__heredoc_body_beginning] = ACTIONS(5462),
    [sym__line_break] = ACTIONS(5472),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_LBRACE] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(13560),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_SEMI] = ACTIONS(5472),
    [anon_sym_STAR_STAR] = ACTIONS(5474),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_EQ] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_do] = ACTIONS(5472),
    [anon_sym_then] = ACTIONS(5472),
    [anon_sym_EQ_GT] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_PLUS_EQ] = ACTIONS(5472),
    [anon_sym_DASH_EQ] = ACTIONS(5472),
    [anon_sym_STAR_EQ] = ACTIONS(5472),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5472),
    [anon_sym_SLASH_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5472),
    [anon_sym_AMP_EQ] = ACTIONS(5472),
    [anon_sym_PERCENT_EQ] = ACTIONS(5472),
    [anon_sym_GT_GT_EQ] = ACTIONS(5472),
    [anon_sym_LT_LT_EQ] = ACTIONS(5472),
    [anon_sym_CARET_EQ] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5474),
    [anon_sym_AMP_AMP] = ACTIONS(5474),
    [anon_sym_LT_LT] = ACTIONS(5474),
    [anon_sym_GT_GT] = ACTIONS(5474),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5474),
    [anon_sym_PLUS] = ACTIONS(5474),
    [anon_sym_SLASH] = ACTIONS(5474),
    [anon_sym_PERCENT] = ACTIONS(5474),
    [sym_comment] = ACTIONS(256),
  },
  [7735] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10726),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4247),
    [sym_call] = STATE(4247),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4249),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4250),
    [sym__variable] = STATE(4247),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6128),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10276),
    [anon_sym_yield] = ACTIONS(10278),
    [anon_sym_break] = ACTIONS(10280),
    [anon_sym_next] = ACTIONS(10282),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10284),
    [anon_sym_defined_QMARK] = ACTIONS(6138),
    [anon_sym_not] = ACTIONS(10286),
    [anon_sym_BANG] = ACTIONS(6144),
    [anon_sym_TILDE] = ACTIONS(6144),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7736] = {
    [sym__simple_heredoc_body] = ACTIONS(13562),
    [sym__heredoc_body_beginning] = ACTIONS(13562),
    [sym__line_break] = ACTIONS(13562),
    [anon_sym_COMMA] = ACTIONS(13562),
    [anon_sym_SEMI] = ACTIONS(13562),
    [anon_sym_then] = ACTIONS(13562),
    [anon_sym_EQ_GT] = ACTIONS(13562),
    [sym_comment] = ACTIONS(110),
  },
  [7737] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1731),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_splat_argument] = STATE(1733),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym__arg_or_splat_arg] = STATE(10727),
    [sym_left_assignment_list] = STATE(1735),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1736),
    [sym__variable] = STATE(1732),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(2708),
    [sym__unary_minus] = ACTIONS(2710),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2712),
    [anon_sym_yield] = ACTIONS(2714),
    [anon_sym_break] = ACTIONS(2716),
    [anon_sym_next] = ACTIONS(2718),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2724),
    [anon_sym_defined_QMARK] = ACTIONS(2726),
    [anon_sym_not] = ACTIONS(2728),
    [anon_sym_BANG] = ACTIONS(2730),
    [anon_sym_TILDE] = ACTIONS(2730),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7738] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10728),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1732),
    [sym_call] = STATE(1732),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1735),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1736),
    [sym__variable] = STATE(1732),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2710),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2712),
    [anon_sym_yield] = ACTIONS(2714),
    [anon_sym_break] = ACTIONS(2716),
    [anon_sym_next] = ACTIONS(2718),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2724),
    [anon_sym_defined_QMARK] = ACTIONS(2726),
    [anon_sym_not] = ACTIONS(2728),
    [anon_sym_BANG] = ACTIONS(2730),
    [anon_sym_TILDE] = ACTIONS(2730),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7739] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__line_break] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(6348),
    [sym__binary_star] = ACTIONS(6350),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(6352),
    [anon_sym_SEMI] = ACTIONS(6346),
    [anon_sym_STAR_STAR] = ACTIONS(6354),
    [anon_sym_AMP] = ACTIONS(6356),
    [anon_sym_LT] = ACTIONS(6358),
    [anon_sym_then] = ACTIONS(6346),
    [anon_sym_EQ_GT] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(6360),
    [anon_sym_DOT_DOT] = ACTIONS(6362),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6364),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(6368),
    [anon_sym_AMP_AMP] = ACTIONS(6368),
    [anon_sym_LT_LT] = ACTIONS(6370),
    [anon_sym_GT_GT] = ACTIONS(6370),
    [anon_sym_EQ_EQ] = ACTIONS(6372),
    [anon_sym_BANG_EQ] = ACTIONS(6368),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6368),
    [anon_sym_LT_EQ_GT] = ACTIONS(6368),
    [anon_sym_EQ_TILDE] = ACTIONS(6368),
    [anon_sym_BANG_TILDE] = ACTIONS(6368),
    [anon_sym_LT_EQ] = ACTIONS(6358),
    [anon_sym_GT] = ACTIONS(6358),
    [anon_sym_GT_EQ] = ACTIONS(6374),
    [anon_sym_CARET] = ACTIONS(6376),
    [anon_sym_PLUS] = ACTIONS(6378),
    [anon_sym_SLASH] = ACTIONS(6354),
    [anon_sym_PERCENT] = ACTIONS(6354),
    [sym_comment] = ACTIONS(110),
  },
  [7740] = {
    [aux_sym_exceptions_repeat1] = STATE(10730),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__line_break] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_SEMI] = ACTIONS(7330),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_then] = ACTIONS(7330),
    [anon_sym_EQ_GT] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [7741] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__line_break] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(6348),
    [sym__binary_star] = ACTIONS(6350),
    [anon_sym_COMMA] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(6352),
    [anon_sym_SEMI] = ACTIONS(7344),
    [anon_sym_STAR_STAR] = ACTIONS(6354),
    [anon_sym_AMP] = ACTIONS(6356),
    [anon_sym_LT] = ACTIONS(6358),
    [anon_sym_then] = ACTIONS(7344),
    [anon_sym_EQ_GT] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(6360),
    [anon_sym_DOT_DOT] = ACTIONS(6362),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6364),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(6368),
    [anon_sym_AMP_AMP] = ACTIONS(6368),
    [anon_sym_LT_LT] = ACTIONS(6370),
    [anon_sym_GT_GT] = ACTIONS(6370),
    [anon_sym_EQ_EQ] = ACTIONS(6372),
    [anon_sym_BANG_EQ] = ACTIONS(6368),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6368),
    [anon_sym_LT_EQ_GT] = ACTIONS(6368),
    [anon_sym_EQ_TILDE] = ACTIONS(6368),
    [anon_sym_BANG_TILDE] = ACTIONS(6368),
    [anon_sym_LT_EQ] = ACTIONS(6358),
    [anon_sym_GT] = ACTIONS(6358),
    [anon_sym_GT_EQ] = ACTIONS(6374),
    [anon_sym_CARET] = ACTIONS(6376),
    [anon_sym_PLUS] = ACTIONS(6378),
    [anon_sym_SLASH] = ACTIONS(6354),
    [anon_sym_PERCENT] = ACTIONS(6354),
    [sym_comment] = ACTIONS(110),
  },
  [7742] = {
    [sym__simple_string] = ACTIONS(8070),
    [sym__simple_symbol] = ACTIONS(8070),
    [sym__simple_subshell] = ACTIONS(8070),
    [sym__simple_regex] = ACTIONS(8070),
    [sym__simple_word_list] = ACTIONS(8070),
    [sym__string_beginning] = ACTIONS(8070),
    [sym__symbol_beginning] = ACTIONS(8070),
    [sym__subshell_beginning] = ACTIONS(8070),
    [sym__regex_beginning] = ACTIONS(8070),
    [sym__word_list_beginning] = ACTIONS(8070),
    [sym_heredoc_beginning] = ACTIONS(8070),
    [sym__unary_minus] = ACTIONS(8070),
    [anon_sym_BEGIN] = ACTIONS(10414),
    [anon_sym_LBRACE] = ACTIONS(8070),
    [anon_sym_END] = ACTIONS(10414),
    [anon_sym_def] = ACTIONS(10414),
    [anon_sym_LPAREN] = ACTIONS(8070),
    [anon_sym_COLON_COLON] = ACTIONS(8070),
    [anon_sym_end] = ACTIONS(10414),
    [anon_sym_SEMI] = ACTIONS(8070),
    [anon_sym_STAR] = ACTIONS(8070),
    [anon_sym_class] = ACTIONS(10414),
    [anon_sym_module] = ACTIONS(10414),
    [anon_sym_return] = ACTIONS(10414),
    [anon_sym_yield] = ACTIONS(10414),
    [anon_sym_break] = ACTIONS(10414),
    [anon_sym_next] = ACTIONS(10414),
    [anon_sym_redo] = ACTIONS(10414),
    [anon_sym_retry] = ACTIONS(10414),
    [anon_sym_if] = ACTIONS(10414),
    [anon_sym_unless] = ACTIONS(10414),
    [anon_sym_while] = ACTIONS(10414),
    [anon_sym_until] = ACTIONS(10414),
    [anon_sym_for] = ACTIONS(10414),
    [anon_sym_case] = ACTIONS(10414),
    [anon_sym_begin] = ACTIONS(10414),
    [anon_sym_ensure] = ACTIONS(10414),
    [anon_sym_PLUS] = ACTIONS(10414),
    [anon_sym_defined_QMARK] = ACTIONS(8070),
    [anon_sym_not] = ACTIONS(10414),
    [anon_sym_BANG] = ACTIONS(8070),
    [anon_sym_TILDE] = ACTIONS(8070),
    [sym_constant] = ACTIONS(10416),
    [sym_identifier] = ACTIONS(10416),
    [sym_instance_variable] = ACTIONS(10414),
    [sym_class_variable] = ACTIONS(10414),
    [sym_global_variable] = ACTIONS(10414),
    [anon_sym_alias] = ACTIONS(10414),
    [anon_sym_false] = ACTIONS(10414),
    [anon_sym_nil] = ACTIONS(10414),
    [anon_sym_self] = ACTIONS(10414),
    [anon_sym_super] = ACTIONS(10414),
    [anon_sym_true] = ACTIONS(10414),
    [anon_sym_undef] = ACTIONS(10414),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(10414),
    [sym_float] = ACTIONS(10416),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8070),
    [anon_sym_TRUE] = ACTIONS(10414),
    [anon_sym_FALSE] = ACTIONS(10414),
    [anon_sym_NIL] = ACTIONS(10414),
    [sym_keyword__FILE__] = ACTIONS(10414),
    [sym_keyword__LINE__] = ACTIONS(10414),
    [sym_keyword__ENCODING__] = ACTIONS(10414),
    [sym__character_literal] = ACTIONS(10414),
    [anon_sym_LBRACK] = ACTIONS(8070),
    [anon_sym_DASH_GT] = ACTIONS(8070),
  },
  [7743] = {
    [sym__heredoc_body_middle] = ACTIONS(8296),
    [sym__heredoc_body_end] = ACTIONS(13564),
    [anon_sym_if] = ACTIONS(4112),
    [anon_sym_unless] = ACTIONS(4114),
    [anon_sym_while] = ACTIONS(4116),
    [anon_sym_until] = ACTIONS(4118),
    [anon_sym_rescue] = ACTIONS(4120),
    [sym_comment] = ACTIONS(110),
  },
  [7744] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10732),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1754),
    [sym_call] = STATE(1754),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7749),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7750),
    [sym__variable] = STATE(1754),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(10536),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2750),
    [anon_sym_yield] = ACTIONS(2752),
    [anon_sym_break] = ACTIONS(2754),
    [anon_sym_next] = ACTIONS(2756),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10538),
    [anon_sym_defined_QMARK] = ACTIONS(10540),
    [anon_sym_not] = ACTIONS(10542),
    [anon_sym_BANG] = ACTIONS(10544),
    [anon_sym_TILDE] = ACTIONS(10544),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7745] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10733),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1754),
    [sym_call] = STATE(1754),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7749),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7750),
    [sym__variable] = STATE(1754),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(10536),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2750),
    [anon_sym_yield] = ACTIONS(2752),
    [anon_sym_break] = ACTIONS(2754),
    [anon_sym_next] = ACTIONS(2756),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10538),
    [anon_sym_defined_QMARK] = ACTIONS(10540),
    [anon_sym_not] = ACTIONS(10542),
    [anon_sym_BANG] = ACTIONS(10544),
    [anon_sym_TILDE] = ACTIONS(10544),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7746] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10734),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1754),
    [sym_call] = STATE(1754),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7749),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7750),
    [sym__variable] = STATE(1754),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(10536),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2750),
    [anon_sym_yield] = ACTIONS(2752),
    [anon_sym_break] = ACTIONS(2754),
    [anon_sym_next] = ACTIONS(2756),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10538),
    [anon_sym_defined_QMARK] = ACTIONS(10540),
    [anon_sym_not] = ACTIONS(10542),
    [anon_sym_BANG] = ACTIONS(10544),
    [anon_sym_TILDE] = ACTIONS(10544),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7747] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1410),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1754),
    [sym_call] = STATE(1754),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7749),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7750),
    [sym__variable] = STATE(1754),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(10536),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2750),
    [anon_sym_yield] = ACTIONS(2752),
    [anon_sym_break] = ACTIONS(2754),
    [anon_sym_next] = ACTIONS(2756),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10538),
    [anon_sym_defined_QMARK] = ACTIONS(10540),
    [anon_sym_not] = ACTIONS(10542),
    [anon_sym_BANG] = ACTIONS(10544),
    [anon_sym_TILDE] = ACTIONS(10544),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7748] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__line_break] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(13566),
    [sym__binary_star] = ACTIONS(13568),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_end] = ACTIONS(5298),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(13570),
    [anon_sym_SEMI] = ACTIONS(5298),
    [anon_sym_STAR_STAR] = ACTIONS(13572),
    [anon_sym_AMP] = ACTIONS(13574),
    [anon_sym_LT] = ACTIONS(13576),
    [anon_sym_if] = ACTIONS(5298),
    [anon_sym_unless] = ACTIONS(5298),
    [anon_sym_while] = ACTIONS(5298),
    [anon_sym_until] = ACTIONS(5298),
    [anon_sym_rescue] = ACTIONS(5298),
    [anon_sym_ensure] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(13578),
    [anon_sym_DOT_DOT] = ACTIONS(13580),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(13582),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(13584),
    [anon_sym_AMP_AMP] = ACTIONS(13584),
    [anon_sym_LT_LT] = ACTIONS(13586),
    [anon_sym_GT_GT] = ACTIONS(13586),
    [anon_sym_EQ_EQ] = ACTIONS(13588),
    [anon_sym_BANG_EQ] = ACTIONS(13584),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(13584),
    [anon_sym_LT_EQ_GT] = ACTIONS(13584),
    [anon_sym_EQ_TILDE] = ACTIONS(13584),
    [anon_sym_BANG_TILDE] = ACTIONS(13584),
    [anon_sym_LT_EQ] = ACTIONS(13576),
    [anon_sym_GT] = ACTIONS(13576),
    [anon_sym_GT_EQ] = ACTIONS(13590),
    [anon_sym_CARET] = ACTIONS(13592),
    [anon_sym_PLUS] = ACTIONS(13594),
    [anon_sym_SLASH] = ACTIONS(13572),
    [anon_sym_PERCENT] = ACTIONS(13572),
    [sym_comment] = ACTIONS(110),
  },
  [7749] = {
    [anon_sym_EQ] = ACTIONS(13596),
    [sym_comment] = ACTIONS(256),
  },
  [7750] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_end] = ACTIONS(250),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(13598),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_ensure] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(13600),
    [anon_sym_DASH_EQ] = ACTIONS(13600),
    [anon_sym_STAR_EQ] = ACTIONS(13600),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(13600),
    [anon_sym_SLASH_EQ] = ACTIONS(13600),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(13600),
    [anon_sym_PIPE_EQ] = ACTIONS(13600),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(13600),
    [anon_sym_AMP_EQ] = ACTIONS(13600),
    [anon_sym_PERCENT_EQ] = ACTIONS(13600),
    [anon_sym_GT_GT_EQ] = ACTIONS(13600),
    [anon_sym_LT_LT_EQ] = ACTIONS(13600),
    [anon_sym_CARET_EQ] = ACTIONS(13600),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [7751] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__line_break] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(13566),
    [sym__binary_star] = ACTIONS(13568),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_end] = ACTIONS(5338),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(13570),
    [anon_sym_SEMI] = ACTIONS(5338),
    [anon_sym_STAR_STAR] = ACTIONS(13572),
    [anon_sym_AMP] = ACTIONS(13574),
    [anon_sym_LT] = ACTIONS(13576),
    [anon_sym_if] = ACTIONS(5338),
    [anon_sym_unless] = ACTIONS(5338),
    [anon_sym_while] = ACTIONS(5338),
    [anon_sym_until] = ACTIONS(5338),
    [anon_sym_rescue] = ACTIONS(5338),
    [anon_sym_ensure] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(13578),
    [anon_sym_DOT_DOT] = ACTIONS(13580),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(13582),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(13584),
    [anon_sym_AMP_AMP] = ACTIONS(13584),
    [anon_sym_LT_LT] = ACTIONS(13586),
    [anon_sym_GT_GT] = ACTIONS(13586),
    [anon_sym_EQ_EQ] = ACTIONS(13588),
    [anon_sym_BANG_EQ] = ACTIONS(13584),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(13584),
    [anon_sym_LT_EQ_GT] = ACTIONS(13584),
    [anon_sym_EQ_TILDE] = ACTIONS(13584),
    [anon_sym_BANG_TILDE] = ACTIONS(13584),
    [anon_sym_LT_EQ] = ACTIONS(13576),
    [anon_sym_GT] = ACTIONS(13576),
    [anon_sym_GT_EQ] = ACTIONS(13590),
    [anon_sym_CARET] = ACTIONS(13592),
    [anon_sym_PLUS] = ACTIONS(13594),
    [anon_sym_SLASH] = ACTIONS(13572),
    [anon_sym_PERCENT] = ACTIONS(13572),
    [sym_comment] = ACTIONS(110),
  },
  [7752] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7762),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4440),
    [sym_call] = STATE(4440),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(340),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(7763),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4442),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4443),
    [sym__variable] = STATE(4440),
    [sym_reserved_identifier] = STATE(7764),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(7765),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(10558),
    [sym__splat_star] = ACTIONS(10560),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(6404),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(544),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(6406),
    [anon_sym_yield] = ACTIONS(6408),
    [anon_sym_break] = ACTIONS(6410),
    [anon_sym_next] = ACTIONS(6412),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(544),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(6414),
    [anon_sym_not] = ACTIONS(6416),
    [anon_sym_BANG] = ACTIONS(6418),
    [anon_sym_TILDE] = ACTIONS(6420),
    [sym_constant] = ACTIONS(10562),
    [sym_identifier] = ACTIONS(10562),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7753] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7762),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4440),
    [sym_call] = STATE(4440),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(349),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(7763),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4442),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4443),
    [sym__variable] = STATE(4440),
    [sym_reserved_identifier] = STATE(7764),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(7765),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(10558),
    [sym__splat_star] = ACTIONS(10560),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(6404),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(604),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(6406),
    [anon_sym_yield] = ACTIONS(6408),
    [anon_sym_break] = ACTIONS(6410),
    [anon_sym_next] = ACTIONS(6412),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(604),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(6414),
    [anon_sym_not] = ACTIONS(6416),
    [anon_sym_BANG] = ACTIONS(6418),
    [anon_sym_TILDE] = ACTIONS(6420),
    [sym_constant] = ACTIONS(10562),
    [sym_identifier] = ACTIONS(10562),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7754] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7762),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4440),
    [sym_call] = STATE(4440),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(350),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(7763),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4442),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4443),
    [sym__variable] = STATE(4440),
    [sym_reserved_identifier] = STATE(7764),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(7765),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(10558),
    [sym__splat_star] = ACTIONS(10560),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(6404),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(608),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(6406),
    [anon_sym_yield] = ACTIONS(6408),
    [anon_sym_break] = ACTIONS(6410),
    [anon_sym_next] = ACTIONS(6412),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(608),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(6414),
    [anon_sym_not] = ACTIONS(6416),
    [anon_sym_BANG] = ACTIONS(6418),
    [anon_sym_TILDE] = ACTIONS(6420),
    [sym_constant] = ACTIONS(10562),
    [sym_identifier] = ACTIONS(10562),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7755] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7762),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4440),
    [sym_call] = STATE(4440),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(351),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(7763),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4442),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4443),
    [sym__variable] = STATE(4440),
    [sym_reserved_identifier] = STATE(7764),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(7765),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(10558),
    [sym__splat_star] = ACTIONS(10560),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(6404),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(612),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(6406),
    [anon_sym_yield] = ACTIONS(6408),
    [anon_sym_break] = ACTIONS(6410),
    [anon_sym_next] = ACTIONS(6412),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(612),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(6414),
    [anon_sym_not] = ACTIONS(6416),
    [anon_sym_BANG] = ACTIONS(6418),
    [anon_sym_TILDE] = ACTIONS(6420),
    [sym_constant] = ACTIONS(10562),
    [sym_identifier] = ACTIONS(10562),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7756] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_end] = ACTIONS(1372),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(10572),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_if] = ACTIONS(1372),
    [anon_sym_unless] = ACTIONS(1372),
    [anon_sym_while] = ACTIONS(1372),
    [anon_sym_until] = ACTIONS(1372),
    [anon_sym_rescue] = ACTIONS(1372),
    [anon_sym_ensure] = ACTIONS(1372),
    [anon_sym_EQ_GT] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [7757] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__line_break] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(13566),
    [sym__binary_star] = ACTIONS(13568),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_end] = ACTIONS(4284),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(13570),
    [anon_sym_SEMI] = ACTIONS(4284),
    [anon_sym_STAR_STAR] = ACTIONS(13572),
    [anon_sym_AMP] = ACTIONS(13574),
    [anon_sym_LT] = ACTIONS(13576),
    [anon_sym_if] = ACTIONS(4284),
    [anon_sym_unless] = ACTIONS(4284),
    [anon_sym_while] = ACTIONS(4284),
    [anon_sym_until] = ACTIONS(4284),
    [anon_sym_rescue] = ACTIONS(4284),
    [anon_sym_ensure] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(13578),
    [anon_sym_DOT_DOT] = ACTIONS(13580),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(13582),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(13584),
    [anon_sym_AMP_AMP] = ACTIONS(13584),
    [anon_sym_LT_LT] = ACTIONS(13586),
    [anon_sym_GT_GT] = ACTIONS(13586),
    [anon_sym_EQ_EQ] = ACTIONS(13588),
    [anon_sym_BANG_EQ] = ACTIONS(13584),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(13584),
    [anon_sym_LT_EQ_GT] = ACTIONS(13584),
    [anon_sym_EQ_TILDE] = ACTIONS(13584),
    [anon_sym_BANG_TILDE] = ACTIONS(13584),
    [anon_sym_LT_EQ] = ACTIONS(13576),
    [anon_sym_GT] = ACTIONS(13576),
    [anon_sym_GT_EQ] = ACTIONS(13590),
    [anon_sym_CARET] = ACTIONS(13592),
    [anon_sym_PLUS] = ACTIONS(13594),
    [anon_sym_SLASH] = ACTIONS(13572),
    [anon_sym_PERCENT] = ACTIONS(13572),
    [sym_comment] = ACTIONS(110),
  },
  [7758] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10749),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4440),
    [sym_call] = STATE(4440),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4442),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4443),
    [sym__variable] = STATE(4440),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6404),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(10546),
    [anon_sym_yield] = ACTIONS(10548),
    [anon_sym_break] = ACTIONS(10550),
    [anon_sym_next] = ACTIONS(10552),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10554),
    [anon_sym_defined_QMARK] = ACTIONS(6414),
    [anon_sym_not] = ACTIONS(10556),
    [anon_sym_BANG] = ACTIONS(6420),
    [anon_sym_TILDE] = ACTIONS(6420),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7759] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10750),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4440),
    [sym_call] = STATE(4440),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4442),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4443),
    [sym__variable] = STATE(4440),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6404),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(10546),
    [anon_sym_yield] = ACTIONS(10548),
    [anon_sym_break] = ACTIONS(10550),
    [anon_sym_next] = ACTIONS(10552),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10554),
    [anon_sym_defined_QMARK] = ACTIONS(6414),
    [anon_sym_not] = ACTIONS(10556),
    [anon_sym_BANG] = ACTIONS(6420),
    [anon_sym_TILDE] = ACTIONS(6420),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7760] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10751),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4440),
    [sym_call] = STATE(4440),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4442),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4443),
    [sym__variable] = STATE(4440),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6404),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(10546),
    [anon_sym_yield] = ACTIONS(10548),
    [anon_sym_break] = ACTIONS(10550),
    [anon_sym_next] = ACTIONS(10552),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10554),
    [anon_sym_defined_QMARK] = ACTIONS(6414),
    [anon_sym_not] = ACTIONS(10556),
    [anon_sym_BANG] = ACTIONS(6420),
    [anon_sym_TILDE] = ACTIONS(6420),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7761] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(13602),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [7762] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__line_break] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(10566),
    [sym__binary_star] = ACTIONS(10568),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_end] = ACTIONS(2210),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(10570),
    [anon_sym_SEMI] = ACTIONS(2210),
    [anon_sym_STAR_STAR] = ACTIONS(10572),
    [anon_sym_AMP] = ACTIONS(10574),
    [anon_sym_LT] = ACTIONS(10576),
    [anon_sym_if] = ACTIONS(2210),
    [anon_sym_unless] = ACTIONS(2210),
    [anon_sym_while] = ACTIONS(2210),
    [anon_sym_until] = ACTIONS(2210),
    [anon_sym_rescue] = ACTIONS(2210),
    [anon_sym_ensure] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(10578),
    [anon_sym_DOT_DOT] = ACTIONS(10580),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10582),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(10584),
    [anon_sym_AMP_AMP] = ACTIONS(10584),
    [anon_sym_LT_LT] = ACTIONS(10586),
    [anon_sym_GT_GT] = ACTIONS(10586),
    [anon_sym_EQ_EQ] = ACTIONS(10588),
    [anon_sym_BANG_EQ] = ACTIONS(10584),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10584),
    [anon_sym_LT_EQ_GT] = ACTIONS(10584),
    [anon_sym_EQ_TILDE] = ACTIONS(10584),
    [anon_sym_BANG_TILDE] = ACTIONS(10584),
    [anon_sym_LT_EQ] = ACTIONS(10576),
    [anon_sym_GT] = ACTIONS(10576),
    [anon_sym_GT_EQ] = ACTIONS(10590),
    [anon_sym_CARET] = ACTIONS(10592),
    [anon_sym_PLUS] = ACTIONS(10594),
    [anon_sym_SLASH] = ACTIONS(10572),
    [anon_sym_PERCENT] = ACTIONS(10572),
    [sym_comment] = ACTIONS(110),
  },
  [7763] = {
    [sym_heredoc_end] = STATE(1444),
    [aux_sym_argument_list_repeat1] = STATE(10754),
    [aux_sym_argument_list_repeat2] = STATE(1445),
    [sym__simple_heredoc_body] = ACTIONS(2268),
    [sym__heredoc_body_beginning] = ACTIONS(2270),
    [sym__line_break] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_end] = ACTIONS(2272),
    [anon_sym_COMMA] = ACTIONS(13604),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_STAR_STAR] = ACTIONS(2272),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_if] = ACTIONS(2272),
    [anon_sym_unless] = ACTIONS(2272),
    [anon_sym_while] = ACTIONS(2272),
    [anon_sym_until] = ACTIONS(2272),
    [anon_sym_rescue] = ACTIONS(2272),
    [anon_sym_ensure] = ACTIONS(2272),
    [anon_sym_EQ_GT] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2272),
    [anon_sym_AMP_AMP] = ACTIONS(2272),
    [anon_sym_LT_LT] = ACTIONS(2272),
    [anon_sym_GT_GT] = ACTIONS(2272),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2272),
    [anon_sym_PLUS] = ACTIONS(2272),
    [anon_sym_SLASH] = ACTIONS(2272),
    [anon_sym_PERCENT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(110),
  },
  [7764] = {
    [sym__keyword_colon] = ACTIONS(13606),
    [sym_comment] = ACTIONS(110),
  },
  [7765] = {
    [sym_string] = STATE(611),
    [aux_sym_chained_string_repeat1] = STATE(612),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(20),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(13602),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_end] = ACTIONS(250),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_ensure] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(120),
  },
  [7766] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_end] = ACTIONS(2870),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(10572),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_ensure] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [7767] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(10566),
    [sym__binary_star] = ACTIONS(10568),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_end] = ACTIONS(2870),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(10570),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(10572),
    [anon_sym_AMP] = ACTIONS(10574),
    [anon_sym_LT] = ACTIONS(10576),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_ensure] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(10578),
    [anon_sym_DOT_DOT] = ACTIONS(10580),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10582),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(10584),
    [anon_sym_AMP_AMP] = ACTIONS(10584),
    [anon_sym_LT_LT] = ACTIONS(10586),
    [anon_sym_GT_GT] = ACTIONS(10586),
    [anon_sym_EQ_EQ] = ACTIONS(10588),
    [anon_sym_BANG_EQ] = ACTIONS(10584),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10584),
    [anon_sym_LT_EQ_GT] = ACTIONS(10584),
    [anon_sym_EQ_TILDE] = ACTIONS(10584),
    [anon_sym_BANG_TILDE] = ACTIONS(10584),
    [anon_sym_LT_EQ] = ACTIONS(10576),
    [anon_sym_GT] = ACTIONS(10576),
    [anon_sym_GT_EQ] = ACTIONS(10590),
    [anon_sym_CARET] = ACTIONS(10592),
    [anon_sym_PLUS] = ACTIONS(10594),
    [anon_sym_SLASH] = ACTIONS(10572),
    [anon_sym_PERCENT] = ACTIONS(10572),
    [sym_comment] = ACTIONS(110),
  },
  [7768] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10756),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1754),
    [sym_call] = STATE(1754),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7749),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7750),
    [sym__variable] = STATE(1754),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(10536),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2750),
    [anon_sym_yield] = ACTIONS(2752),
    [anon_sym_break] = ACTIONS(2754),
    [anon_sym_next] = ACTIONS(2756),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10538),
    [anon_sym_defined_QMARK] = ACTIONS(10540),
    [anon_sym_not] = ACTIONS(10542),
    [anon_sym_BANG] = ACTIONS(10544),
    [anon_sym_TILDE] = ACTIONS(10544),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7769] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10757),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4440),
    [sym_call] = STATE(4440),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4442),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4443),
    [sym__variable] = STATE(4440),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6404),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(10546),
    [anon_sym_yield] = ACTIONS(10548),
    [anon_sym_break] = ACTIONS(10550),
    [anon_sym_next] = ACTIONS(10552),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10554),
    [anon_sym_defined_QMARK] = ACTIONS(6414),
    [anon_sym_not] = ACTIONS(10556),
    [anon_sym_BANG] = ACTIONS(6420),
    [anon_sym_TILDE] = ACTIONS(6420),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7770] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10758),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4440),
    [sym_call] = STATE(4440),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4442),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4443),
    [sym__variable] = STATE(4440),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6404),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(10546),
    [anon_sym_yield] = ACTIONS(10548),
    [anon_sym_break] = ACTIONS(10550),
    [anon_sym_next] = ACTIONS(10552),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10554),
    [anon_sym_defined_QMARK] = ACTIONS(6414),
    [anon_sym_not] = ACTIONS(10556),
    [anon_sym_BANG] = ACTIONS(6420),
    [anon_sym_TILDE] = ACTIONS(6420),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7771] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10759),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4440),
    [sym_call] = STATE(4440),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4442),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4443),
    [sym__variable] = STATE(4440),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6404),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(10546),
    [anon_sym_yield] = ACTIONS(10548),
    [anon_sym_break] = ACTIONS(10550),
    [anon_sym_next] = ACTIONS(10552),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10554),
    [anon_sym_defined_QMARK] = ACTIONS(6414),
    [anon_sym_not] = ACTIONS(10556),
    [anon_sym_BANG] = ACTIONS(6420),
    [anon_sym_TILDE] = ACTIONS(6420),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7772] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10760),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4440),
    [sym_call] = STATE(4440),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4442),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4443),
    [sym__variable] = STATE(4440),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6404),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(10546),
    [anon_sym_yield] = ACTIONS(10548),
    [anon_sym_break] = ACTIONS(10550),
    [anon_sym_next] = ACTIONS(10552),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10554),
    [anon_sym_defined_QMARK] = ACTIONS(6414),
    [anon_sym_not] = ACTIONS(10556),
    [anon_sym_BANG] = ACTIONS(6420),
    [anon_sym_TILDE] = ACTIONS(6420),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7773] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10761),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4440),
    [sym_call] = STATE(4440),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4442),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4443),
    [sym__variable] = STATE(4440),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6404),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(10546),
    [anon_sym_yield] = ACTIONS(10548),
    [anon_sym_break] = ACTIONS(10550),
    [anon_sym_next] = ACTIONS(10552),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10554),
    [anon_sym_defined_QMARK] = ACTIONS(6414),
    [anon_sym_not] = ACTIONS(10556),
    [anon_sym_BANG] = ACTIONS(6420),
    [anon_sym_TILDE] = ACTIONS(6420),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7774] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10762),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4440),
    [sym_call] = STATE(4440),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4442),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4443),
    [sym__variable] = STATE(4440),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6404),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(10546),
    [anon_sym_yield] = ACTIONS(10548),
    [anon_sym_break] = ACTIONS(10550),
    [anon_sym_next] = ACTIONS(10552),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10554),
    [anon_sym_defined_QMARK] = ACTIONS(6414),
    [anon_sym_not] = ACTIONS(10556),
    [anon_sym_BANG] = ACTIONS(6420),
    [anon_sym_TILDE] = ACTIONS(6420),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7775] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(10763),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [7776] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10764),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4440),
    [sym_call] = STATE(4440),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4442),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4443),
    [sym__variable] = STATE(4440),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6404),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(10546),
    [anon_sym_yield] = ACTIONS(10548),
    [anon_sym_break] = ACTIONS(10550),
    [anon_sym_next] = ACTIONS(10552),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10554),
    [anon_sym_defined_QMARK] = ACTIONS(6414),
    [anon_sym_not] = ACTIONS(10556),
    [anon_sym_BANG] = ACTIONS(6420),
    [anon_sym_TILDE] = ACTIONS(6420),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7777] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10765),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4440),
    [sym_call] = STATE(4440),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4442),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4443),
    [sym__variable] = STATE(4440),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6404),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(10546),
    [anon_sym_yield] = ACTIONS(10548),
    [anon_sym_break] = ACTIONS(10550),
    [anon_sym_next] = ACTIONS(10552),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10554),
    [anon_sym_defined_QMARK] = ACTIONS(6414),
    [anon_sym_not] = ACTIONS(10556),
    [anon_sym_BANG] = ACTIONS(6420),
    [anon_sym_TILDE] = ACTIONS(6420),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7778] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10766),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4440),
    [sym_call] = STATE(4440),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4442),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4443),
    [sym__variable] = STATE(4440),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6404),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(10546),
    [anon_sym_yield] = ACTIONS(10548),
    [anon_sym_break] = ACTIONS(10550),
    [anon_sym_next] = ACTIONS(10552),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10554),
    [anon_sym_defined_QMARK] = ACTIONS(6414),
    [anon_sym_not] = ACTIONS(10556),
    [anon_sym_BANG] = ACTIONS(6420),
    [anon_sym_TILDE] = ACTIONS(6420),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7779] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10767),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4440),
    [sym_call] = STATE(4440),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4442),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4443),
    [sym__variable] = STATE(4440),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6404),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(10546),
    [anon_sym_yield] = ACTIONS(10548),
    [anon_sym_break] = ACTIONS(10550),
    [anon_sym_next] = ACTIONS(10552),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10554),
    [anon_sym_defined_QMARK] = ACTIONS(6414),
    [anon_sym_not] = ACTIONS(10556),
    [anon_sym_BANG] = ACTIONS(6420),
    [anon_sym_TILDE] = ACTIONS(6420),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7780] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10768),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4440),
    [sym_call] = STATE(4440),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4442),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4443),
    [sym__variable] = STATE(4440),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6404),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(10546),
    [anon_sym_yield] = ACTIONS(10548),
    [anon_sym_break] = ACTIONS(10550),
    [anon_sym_next] = ACTIONS(10552),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10554),
    [anon_sym_defined_QMARK] = ACTIONS(6414),
    [anon_sym_not] = ACTIONS(10556),
    [anon_sym_BANG] = ACTIONS(6420),
    [anon_sym_TILDE] = ACTIONS(6420),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7781] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10769),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4481),
    [sym_call] = STATE(4481),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4483),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4484),
    [sym__variable] = STATE(4481),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6472),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10630),
    [anon_sym_yield] = ACTIONS(10632),
    [anon_sym_break] = ACTIONS(10634),
    [anon_sym_next] = ACTIONS(10636),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10638),
    [anon_sym_defined_QMARK] = ACTIONS(6482),
    [anon_sym_not] = ACTIONS(10640),
    [anon_sym_BANG] = ACTIONS(6488),
    [anon_sym_TILDE] = ACTIONS(6488),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7782] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10770),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4481),
    [sym_call] = STATE(4481),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4483),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4484),
    [sym__variable] = STATE(4481),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6472),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10630),
    [anon_sym_yield] = ACTIONS(10632),
    [anon_sym_break] = ACTIONS(10634),
    [anon_sym_next] = ACTIONS(10636),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10638),
    [anon_sym_defined_QMARK] = ACTIONS(6482),
    [anon_sym_not] = ACTIONS(10640),
    [anon_sym_BANG] = ACTIONS(6488),
    [anon_sym_TILDE] = ACTIONS(6488),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7783] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10771),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4481),
    [sym_call] = STATE(4481),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4483),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4484),
    [sym__variable] = STATE(4481),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6472),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10630),
    [anon_sym_yield] = ACTIONS(10632),
    [anon_sym_break] = ACTIONS(10634),
    [anon_sym_next] = ACTIONS(10636),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10638),
    [anon_sym_defined_QMARK] = ACTIONS(6482),
    [anon_sym_not] = ACTIONS(10640),
    [anon_sym_BANG] = ACTIONS(6488),
    [anon_sym_TILDE] = ACTIONS(6488),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7784] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(13608),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [7785] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__line_break] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(10644),
    [sym__binary_star] = ACTIONS(10646),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_end] = ACTIONS(2210),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(10648),
    [anon_sym_SEMI] = ACTIONS(2210),
    [anon_sym_STAR_STAR] = ACTIONS(10650),
    [anon_sym_AMP] = ACTIONS(10652),
    [anon_sym_EQ] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(10654),
    [anon_sym_if] = ACTIONS(2210),
    [anon_sym_unless] = ACTIONS(2210),
    [anon_sym_while] = ACTIONS(2210),
    [anon_sym_until] = ACTIONS(2210),
    [anon_sym_rescue] = ACTIONS(2210),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_ensure] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_PLUS_EQ] = ACTIONS(2210),
    [anon_sym_DASH_EQ] = ACTIONS(2210),
    [anon_sym_STAR_EQ] = ACTIONS(2210),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2210),
    [anon_sym_SLASH_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2210),
    [anon_sym_AMP_EQ] = ACTIONS(2210),
    [anon_sym_PERCENT_EQ] = ACTIONS(2210),
    [anon_sym_GT_GT_EQ] = ACTIONS(2210),
    [anon_sym_LT_LT_EQ] = ACTIONS(2210),
    [anon_sym_CARET_EQ] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(10656),
    [anon_sym_DOT_DOT] = ACTIONS(10658),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10660),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(10662),
    [anon_sym_AMP_AMP] = ACTIONS(10662),
    [anon_sym_LT_LT] = ACTIONS(10664),
    [anon_sym_GT_GT] = ACTIONS(10664),
    [anon_sym_EQ_EQ] = ACTIONS(10662),
    [anon_sym_BANG_EQ] = ACTIONS(10666),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10666),
    [anon_sym_LT_EQ_GT] = ACTIONS(10666),
    [anon_sym_EQ_TILDE] = ACTIONS(10666),
    [anon_sym_BANG_TILDE] = ACTIONS(10666),
    [anon_sym_LT_EQ] = ACTIONS(10654),
    [anon_sym_GT] = ACTIONS(10654),
    [anon_sym_GT_EQ] = ACTIONS(10668),
    [anon_sym_CARET] = ACTIONS(10648),
    [anon_sym_PLUS] = ACTIONS(10670),
    [anon_sym_SLASH] = ACTIONS(10650),
    [anon_sym_PERCENT] = ACTIONS(10650),
    [sym_comment] = ACTIONS(256),
  },
  [7786] = {
    [sym_heredoc_end] = STATE(3770),
    [aux_sym_argument_list_repeat1] = STATE(10774),
    [aux_sym_argument_list_repeat2] = STATE(3771),
    [sym__simple_heredoc_body] = ACTIONS(5460),
    [sym__heredoc_body_beginning] = ACTIONS(5462),
    [sym__line_break] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_end] = ACTIONS(2272),
    [anon_sym_COMMA] = ACTIONS(13610),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_STAR_STAR] = ACTIONS(2274),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_EQ] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_if] = ACTIONS(2272),
    [anon_sym_unless] = ACTIONS(2272),
    [anon_sym_while] = ACTIONS(2272),
    [anon_sym_until] = ACTIONS(2272),
    [anon_sym_rescue] = ACTIONS(2272),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_ensure] = ACTIONS(2272),
    [anon_sym_EQ_GT] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_PLUS_EQ] = ACTIONS(2272),
    [anon_sym_DASH_EQ] = ACTIONS(2272),
    [anon_sym_STAR_EQ] = ACTIONS(2272),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2272),
    [anon_sym_SLASH_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2272),
    [anon_sym_AMP_EQ] = ACTIONS(2272),
    [anon_sym_PERCENT_EQ] = ACTIONS(2272),
    [anon_sym_GT_GT_EQ] = ACTIONS(2272),
    [anon_sym_LT_LT_EQ] = ACTIONS(2272),
    [anon_sym_CARET_EQ] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2274),
    [anon_sym_AMP_AMP] = ACTIONS(2274),
    [anon_sym_LT_LT] = ACTIONS(2274),
    [anon_sym_GT_GT] = ACTIONS(2274),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2274),
    [anon_sym_PLUS] = ACTIONS(2274),
    [anon_sym_SLASH] = ACTIONS(2274),
    [anon_sym_PERCENT] = ACTIONS(2274),
    [sym_comment] = ACTIONS(256),
  },
  [7787] = {
    [sym__keyword_colon] = ACTIONS(13612),
    [sym_comment] = ACTIONS(110),
  },
  [7788] = {
    [sym_string] = STATE(2203),
    [aux_sym_chained_string_repeat1] = STATE(2204),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(13608),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_end] = ACTIONS(250),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_ensure] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(3266),
  },
  [7789] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4439),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4440),
    [sym_call] = STATE(4440),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(3780),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4442),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4443),
    [sym__variable] = STATE(4440),
    [sym_reserved_identifier] = STATE(4444),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(4445),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(10776),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__block_ampersand] = ACTIONS(6400),
    [sym__splat_star] = ACTIONS(6402),
    [sym__unary_minus] = ACTIONS(6404),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(13614),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(6406),
    [anon_sym_yield] = ACTIONS(6408),
    [anon_sym_break] = ACTIONS(6410),
    [anon_sym_next] = ACTIONS(6412),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(10554),
    [anon_sym_defined_QMARK] = ACTIONS(6414),
    [anon_sym_not] = ACTIONS(6416),
    [anon_sym_BANG] = ACTIONS(6420),
    [anon_sym_TILDE] = ACTIONS(6420),
    [sym_constant] = ACTIONS(6422),
    [sym_identifier] = ACTIONS(6422),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7790] = {
    [sym_heredoc_end] = STATE(1444),
    [aux_sym_argument_list_repeat2] = STATE(3783),
    [sym__simple_heredoc_body] = ACTIONS(2268),
    [sym__heredoc_body_beginning] = ACTIONS(2270),
    [sym__line_break] = ACTIONS(5472),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_end] = ACTIONS(5472),
    [anon_sym_COMMA] = ACTIONS(13616),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_SEMI] = ACTIONS(5472),
    [anon_sym_STAR_STAR] = ACTIONS(5472),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_if] = ACTIONS(5472),
    [anon_sym_unless] = ACTIONS(5472),
    [anon_sym_while] = ACTIONS(5472),
    [anon_sym_until] = ACTIONS(5472),
    [anon_sym_rescue] = ACTIONS(5472),
    [anon_sym_ensure] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5472),
    [anon_sym_AMP_AMP] = ACTIONS(5472),
    [anon_sym_LT_LT] = ACTIONS(5472),
    [anon_sym_GT_GT] = ACTIONS(5472),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5472),
    [anon_sym_PLUS] = ACTIONS(5472),
    [anon_sym_SLASH] = ACTIONS(5472),
    [anon_sym_PERCENT] = ACTIONS(5472),
    [sym_comment] = ACTIONS(110),
  },
  [7791] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10778),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4440),
    [sym_call] = STATE(4440),
    [sym_method_call] = STATE(338),
    [sym_splat_argument] = STATE(3785),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_right_assignment_list] = STATE(3786),
    [sym__arg_or_splat_arg] = STATE(10779),
    [sym_left_assignment_list] = STATE(4442),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4443),
    [sym__variable] = STATE(4440),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(10560),
    [sym__unary_minus] = ACTIONS(6404),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(10546),
    [anon_sym_yield] = ACTIONS(10548),
    [anon_sym_break] = ACTIONS(10550),
    [anon_sym_next] = ACTIONS(10552),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10554),
    [anon_sym_defined_QMARK] = ACTIONS(6414),
    [anon_sym_not] = ACTIONS(10556),
    [anon_sym_BANG] = ACTIONS(6420),
    [anon_sym_TILDE] = ACTIONS(6420),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7792] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10780),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4440),
    [sym_call] = STATE(4440),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4442),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4443),
    [sym__variable] = STATE(4440),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6404),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(10546),
    [anon_sym_yield] = ACTIONS(10548),
    [anon_sym_break] = ACTIONS(10550),
    [anon_sym_next] = ACTIONS(10552),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10554),
    [anon_sym_defined_QMARK] = ACTIONS(6414),
    [anon_sym_not] = ACTIONS(10556),
    [anon_sym_BANG] = ACTIONS(6420),
    [anon_sym_TILDE] = ACTIONS(6420),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7793] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10781),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1754),
    [sym_call] = STATE(1754),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7749),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7750),
    [sym__variable] = STATE(1754),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(10536),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2750),
    [anon_sym_yield] = ACTIONS(2752),
    [anon_sym_break] = ACTIONS(2754),
    [anon_sym_next] = ACTIONS(2756),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10538),
    [anon_sym_defined_QMARK] = ACTIONS(10540),
    [anon_sym_not] = ACTIONS(10542),
    [anon_sym_BANG] = ACTIONS(10544),
    [anon_sym_TILDE] = ACTIONS(10544),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7794] = {
    [sym__top_level_statement] = STATE(4841),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1752),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1753),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1754),
    [sym_call] = STATE(1754),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1755),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1756),
    [sym__variable] = STATE(1754),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2744),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(6996),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2750),
    [anon_sym_yield] = ACTIONS(2752),
    [anon_sym_break] = ACTIONS(2754),
    [anon_sym_next] = ACTIONS(2756),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(6996),
    [anon_sym_PLUS] = ACTIONS(2758),
    [anon_sym_defined_QMARK] = ACTIONS(2760),
    [anon_sym_not] = ACTIONS(2762),
    [anon_sym_BANG] = ACTIONS(2764),
    [anon_sym_TILDE] = ACTIONS(2764),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7795] = {
    [sym__simple_heredoc_body] = ACTIONS(6998),
    [sym__heredoc_body_beginning] = ACTIONS(6998),
    [sym__line_break] = ACTIONS(6998),
    [sym__binary_minus] = ACTIONS(6436),
    [sym__binary_star] = ACTIONS(6438),
    [anon_sym_end] = ACTIONS(6998),
    [anon_sym_PIPE] = ACTIONS(6440),
    [anon_sym_SEMI] = ACTIONS(6998),
    [anon_sym_STAR_STAR] = ACTIONS(6442),
    [anon_sym_AMP] = ACTIONS(6444),
    [anon_sym_LT] = ACTIONS(6446),
    [anon_sym_if] = ACTIONS(6998),
    [anon_sym_unless] = ACTIONS(6998),
    [anon_sym_while] = ACTIONS(6998),
    [anon_sym_until] = ACTIONS(6998),
    [anon_sym_rescue] = ACTIONS(6998),
    [anon_sym_ensure] = ACTIONS(6998),
    [anon_sym_QMARK] = ACTIONS(6448),
    [anon_sym_DOT_DOT] = ACTIONS(6450),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6452),
    [anon_sym_and] = ACTIONS(6454),
    [anon_sym_or] = ACTIONS(6454),
    [anon_sym_PIPE_PIPE] = ACTIONS(6456),
    [anon_sym_AMP_AMP] = ACTIONS(6456),
    [anon_sym_LT_LT] = ACTIONS(6458),
    [anon_sym_GT_GT] = ACTIONS(6458),
    [anon_sym_EQ_EQ] = ACTIONS(6460),
    [anon_sym_BANG_EQ] = ACTIONS(6456),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6456),
    [anon_sym_LT_EQ_GT] = ACTIONS(6456),
    [anon_sym_EQ_TILDE] = ACTIONS(6456),
    [anon_sym_BANG_TILDE] = ACTIONS(6456),
    [anon_sym_LT_EQ] = ACTIONS(6446),
    [anon_sym_GT] = ACTIONS(6446),
    [anon_sym_GT_EQ] = ACTIONS(6462),
    [anon_sym_CARET] = ACTIONS(6464),
    [anon_sym_PLUS] = ACTIONS(6466),
    [anon_sym_SLASH] = ACTIONS(6442),
    [anon_sym_PERCENT] = ACTIONS(6442),
    [sym_comment] = ACTIONS(110),
  },
  [7796] = {
    [sym__simple_heredoc_body] = ACTIONS(7000),
    [sym__heredoc_body_beginning] = ACTIONS(7000),
    [sym__line_break] = ACTIONS(7000),
    [sym__binary_minus] = ACTIONS(6436),
    [sym__binary_star] = ACTIONS(6438),
    [anon_sym_end] = ACTIONS(7000),
    [anon_sym_PIPE] = ACTIONS(6440),
    [anon_sym_SEMI] = ACTIONS(7000),
    [anon_sym_STAR_STAR] = ACTIONS(6442),
    [anon_sym_AMP] = ACTIONS(6444),
    [anon_sym_LT] = ACTIONS(6446),
    [anon_sym_if] = ACTIONS(7000),
    [anon_sym_unless] = ACTIONS(7000),
    [anon_sym_while] = ACTIONS(7000),
    [anon_sym_until] = ACTIONS(7000),
    [anon_sym_rescue] = ACTIONS(7000),
    [anon_sym_ensure] = ACTIONS(7000),
    [anon_sym_QMARK] = ACTIONS(6448),
    [anon_sym_DOT_DOT] = ACTIONS(6450),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6452),
    [anon_sym_and] = ACTIONS(6454),
    [anon_sym_or] = ACTIONS(6454),
    [anon_sym_PIPE_PIPE] = ACTIONS(6456),
    [anon_sym_AMP_AMP] = ACTIONS(6456),
    [anon_sym_LT_LT] = ACTIONS(6458),
    [anon_sym_GT_GT] = ACTIONS(6458),
    [anon_sym_EQ_EQ] = ACTIONS(6460),
    [anon_sym_BANG_EQ] = ACTIONS(6456),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6456),
    [anon_sym_LT_EQ_GT] = ACTIONS(6456),
    [anon_sym_EQ_TILDE] = ACTIONS(6456),
    [anon_sym_BANG_TILDE] = ACTIONS(6456),
    [anon_sym_LT_EQ] = ACTIONS(6446),
    [anon_sym_GT] = ACTIONS(6446),
    [anon_sym_GT_EQ] = ACTIONS(6462),
    [anon_sym_CARET] = ACTIONS(6464),
    [anon_sym_PLUS] = ACTIONS(6466),
    [anon_sym_SLASH] = ACTIONS(6442),
    [anon_sym_PERCENT] = ACTIONS(6442),
    [sym_comment] = ACTIONS(110),
  },
  [7797] = {
    [sym__simple_heredoc_body] = ACTIONS(7002),
    [sym__heredoc_body_beginning] = ACTIONS(7002),
    [sym__line_break] = ACTIONS(7002),
    [sym__binary_minus] = ACTIONS(6436),
    [sym__binary_star] = ACTIONS(6438),
    [anon_sym_end] = ACTIONS(7002),
    [anon_sym_PIPE] = ACTIONS(6440),
    [anon_sym_SEMI] = ACTIONS(7002),
    [anon_sym_STAR_STAR] = ACTIONS(6442),
    [anon_sym_AMP] = ACTIONS(6444),
    [anon_sym_LT] = ACTIONS(6446),
    [anon_sym_if] = ACTIONS(7002),
    [anon_sym_unless] = ACTIONS(7002),
    [anon_sym_while] = ACTIONS(7002),
    [anon_sym_until] = ACTIONS(7002),
    [anon_sym_rescue] = ACTIONS(7002),
    [anon_sym_ensure] = ACTIONS(7002),
    [anon_sym_QMARK] = ACTIONS(6448),
    [anon_sym_DOT_DOT] = ACTIONS(6450),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6452),
    [anon_sym_and] = ACTIONS(6454),
    [anon_sym_or] = ACTIONS(6454),
    [anon_sym_PIPE_PIPE] = ACTIONS(6456),
    [anon_sym_AMP_AMP] = ACTIONS(6456),
    [anon_sym_LT_LT] = ACTIONS(6458),
    [anon_sym_GT_GT] = ACTIONS(6458),
    [anon_sym_EQ_EQ] = ACTIONS(6460),
    [anon_sym_BANG_EQ] = ACTIONS(6456),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6456),
    [anon_sym_LT_EQ_GT] = ACTIONS(6456),
    [anon_sym_EQ_TILDE] = ACTIONS(6456),
    [anon_sym_BANG_TILDE] = ACTIONS(6456),
    [anon_sym_LT_EQ] = ACTIONS(6446),
    [anon_sym_GT] = ACTIONS(6446),
    [anon_sym_GT_EQ] = ACTIONS(6462),
    [anon_sym_CARET] = ACTIONS(6464),
    [anon_sym_PLUS] = ACTIONS(6466),
    [anon_sym_SLASH] = ACTIONS(6442),
    [anon_sym_PERCENT] = ACTIONS(6442),
    [sym_comment] = ACTIONS(110),
  },
  [7798] = {
    [sym__simple_heredoc_body] = ACTIONS(7004),
    [sym__heredoc_body_beginning] = ACTIONS(7004),
    [sym__line_break] = ACTIONS(7004),
    [sym__binary_minus] = ACTIONS(6436),
    [sym__binary_star] = ACTIONS(6438),
    [anon_sym_end] = ACTIONS(7004),
    [anon_sym_PIPE] = ACTIONS(6440),
    [anon_sym_SEMI] = ACTIONS(7004),
    [anon_sym_STAR_STAR] = ACTIONS(6442),
    [anon_sym_AMP] = ACTIONS(6444),
    [anon_sym_LT] = ACTIONS(6446),
    [anon_sym_if] = ACTIONS(7004),
    [anon_sym_unless] = ACTIONS(7004),
    [anon_sym_while] = ACTIONS(7004),
    [anon_sym_until] = ACTIONS(7004),
    [anon_sym_rescue] = ACTIONS(7004),
    [anon_sym_ensure] = ACTIONS(7004),
    [anon_sym_QMARK] = ACTIONS(6448),
    [anon_sym_DOT_DOT] = ACTIONS(6450),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6452),
    [anon_sym_and] = ACTIONS(6454),
    [anon_sym_or] = ACTIONS(6454),
    [anon_sym_PIPE_PIPE] = ACTIONS(6456),
    [anon_sym_AMP_AMP] = ACTIONS(6456),
    [anon_sym_LT_LT] = ACTIONS(6458),
    [anon_sym_GT_GT] = ACTIONS(6458),
    [anon_sym_EQ_EQ] = ACTIONS(6460),
    [anon_sym_BANG_EQ] = ACTIONS(6456),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6456),
    [anon_sym_LT_EQ_GT] = ACTIONS(6456),
    [anon_sym_EQ_TILDE] = ACTIONS(6456),
    [anon_sym_BANG_TILDE] = ACTIONS(6456),
    [anon_sym_LT_EQ] = ACTIONS(6446),
    [anon_sym_GT] = ACTIONS(6446),
    [anon_sym_GT_EQ] = ACTIONS(6462),
    [anon_sym_CARET] = ACTIONS(6464),
    [anon_sym_PLUS] = ACTIONS(6466),
    [anon_sym_SLASH] = ACTIONS(6442),
    [anon_sym_PERCENT] = ACTIONS(6442),
    [sym_comment] = ACTIONS(110),
  },
  [7799] = {
    [sym__simple_heredoc_body] = ACTIONS(7006),
    [sym__heredoc_body_beginning] = ACTIONS(7006),
    [sym__line_break] = ACTIONS(7006),
    [sym__binary_minus] = ACTIONS(6436),
    [sym__binary_star] = ACTIONS(6438),
    [anon_sym_end] = ACTIONS(7006),
    [anon_sym_PIPE] = ACTIONS(6440),
    [anon_sym_SEMI] = ACTIONS(7006),
    [anon_sym_STAR_STAR] = ACTIONS(6442),
    [anon_sym_AMP] = ACTIONS(6444),
    [anon_sym_LT] = ACTIONS(6446),
    [anon_sym_if] = ACTIONS(7006),
    [anon_sym_unless] = ACTIONS(7006),
    [anon_sym_while] = ACTIONS(7006),
    [anon_sym_until] = ACTIONS(7006),
    [anon_sym_rescue] = ACTIONS(7006),
    [anon_sym_ensure] = ACTIONS(7006),
    [anon_sym_QMARK] = ACTIONS(6448),
    [anon_sym_DOT_DOT] = ACTIONS(6450),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6452),
    [anon_sym_and] = ACTIONS(6454),
    [anon_sym_or] = ACTIONS(6454),
    [anon_sym_PIPE_PIPE] = ACTIONS(6456),
    [anon_sym_AMP_AMP] = ACTIONS(6456),
    [anon_sym_LT_LT] = ACTIONS(6458),
    [anon_sym_GT_GT] = ACTIONS(6458),
    [anon_sym_EQ_EQ] = ACTIONS(6460),
    [anon_sym_BANG_EQ] = ACTIONS(6456),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6456),
    [anon_sym_LT_EQ_GT] = ACTIONS(6456),
    [anon_sym_EQ_TILDE] = ACTIONS(6456),
    [anon_sym_BANG_TILDE] = ACTIONS(6456),
    [anon_sym_LT_EQ] = ACTIONS(6446),
    [anon_sym_GT] = ACTIONS(6446),
    [anon_sym_GT_EQ] = ACTIONS(6462),
    [anon_sym_CARET] = ACTIONS(6464),
    [anon_sym_PLUS] = ACTIONS(6466),
    [anon_sym_SLASH] = ACTIONS(6442),
    [anon_sym_PERCENT] = ACTIONS(6442),
    [sym_comment] = ACTIONS(110),
  },
  [7800] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__line_break] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(6438),
    [anon_sym_end] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_SEMI] = ACTIONS(7008),
    [anon_sym_STAR_STAR] = ACTIONS(6442),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_if] = ACTIONS(7008),
    [anon_sym_unless] = ACTIONS(7008),
    [anon_sym_while] = ACTIONS(7008),
    [anon_sym_until] = ACTIONS(7008),
    [anon_sym_rescue] = ACTIONS(7008),
    [anon_sym_ensure] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7008),
    [anon_sym_AMP_AMP] = ACTIONS(7008),
    [anon_sym_LT_LT] = ACTIONS(7008),
    [anon_sym_GT_GT] = ACTIONS(7008),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7008),
    [anon_sym_PLUS] = ACTIONS(7008),
    [anon_sym_SLASH] = ACTIONS(6442),
    [anon_sym_PERCENT] = ACTIONS(6442),
    [sym_comment] = ACTIONS(110),
  },
  [7801] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__line_break] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_end] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_SEMI] = ACTIONS(7012),
    [anon_sym_STAR_STAR] = ACTIONS(6442),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_if] = ACTIONS(7012),
    [anon_sym_unless] = ACTIONS(7012),
    [anon_sym_while] = ACTIONS(7012),
    [anon_sym_until] = ACTIONS(7012),
    [anon_sym_rescue] = ACTIONS(7012),
    [anon_sym_ensure] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7012),
    [anon_sym_AMP_AMP] = ACTIONS(7012),
    [anon_sym_LT_LT] = ACTIONS(7012),
    [anon_sym_GT_GT] = ACTIONS(7012),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7012),
    [anon_sym_PLUS] = ACTIONS(7012),
    [anon_sym_SLASH] = ACTIONS(7012),
    [anon_sym_PERCENT] = ACTIONS(7012),
    [sym_comment] = ACTIONS(110),
  },
  [7802] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6436),
    [sym__binary_star] = ACTIONS(6438),
    [anon_sym_end] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6442),
    [anon_sym_AMP] = ACTIONS(6444),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_ensure] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(6458),
    [anon_sym_GT_GT] = ACTIONS(6458),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(6466),
    [anon_sym_SLASH] = ACTIONS(6442),
    [anon_sym_PERCENT] = ACTIONS(6442),
    [sym_comment] = ACTIONS(110),
  },
  [7803] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_end] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6442),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_ensure] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7016),
    [anon_sym_PERCENT] = ACTIONS(7016),
    [sym_comment] = ACTIONS(110),
  },
  [7804] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6436),
    [sym__binary_star] = ACTIONS(6438),
    [anon_sym_end] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6442),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_ensure] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(6458),
    [anon_sym_GT_GT] = ACTIONS(6458),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(6466),
    [anon_sym_SLASH] = ACTIONS(6442),
    [anon_sym_PERCENT] = ACTIONS(6442),
    [sym_comment] = ACTIONS(110),
  },
  [7805] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6436),
    [sym__binary_star] = ACTIONS(6438),
    [anon_sym_end] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(6440),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6442),
    [anon_sym_AMP] = ACTIONS(6444),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_ensure] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(6458),
    [anon_sym_GT_GT] = ACTIONS(6458),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(6464),
    [anon_sym_PLUS] = ACTIONS(6466),
    [anon_sym_SLASH] = ACTIONS(6442),
    [anon_sym_PERCENT] = ACTIONS(6442),
    [sym_comment] = ACTIONS(110),
  },
  [7806] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(13618),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [7807] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__line_break] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(6436),
    [sym__binary_star] = ACTIONS(6438),
    [anon_sym_end] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(6440),
    [anon_sym_SEMI] = ACTIONS(7108),
    [anon_sym_STAR_STAR] = ACTIONS(6442),
    [anon_sym_AMP] = ACTIONS(6444),
    [anon_sym_LT] = ACTIONS(6446),
    [anon_sym_if] = ACTIONS(7108),
    [anon_sym_unless] = ACTIONS(7108),
    [anon_sym_while] = ACTIONS(7108),
    [anon_sym_until] = ACTIONS(7108),
    [anon_sym_rescue] = ACTIONS(7108),
    [anon_sym_ensure] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(6450),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6452),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(6456),
    [anon_sym_AMP_AMP] = ACTIONS(6456),
    [anon_sym_LT_LT] = ACTIONS(6458),
    [anon_sym_GT_GT] = ACTIONS(6458),
    [anon_sym_EQ_EQ] = ACTIONS(6460),
    [anon_sym_BANG_EQ] = ACTIONS(6456),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6456),
    [anon_sym_LT_EQ_GT] = ACTIONS(6456),
    [anon_sym_EQ_TILDE] = ACTIONS(6456),
    [anon_sym_BANG_TILDE] = ACTIONS(6456),
    [anon_sym_LT_EQ] = ACTIONS(6446),
    [anon_sym_GT] = ACTIONS(6446),
    [anon_sym_GT_EQ] = ACTIONS(6462),
    [anon_sym_CARET] = ACTIONS(6464),
    [anon_sym_PLUS] = ACTIONS(6466),
    [anon_sym_SLASH] = ACTIONS(6442),
    [anon_sym_PERCENT] = ACTIONS(6442),
    [sym_comment] = ACTIONS(110),
  },
  [7808] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6436),
    [sym__binary_star] = ACTIONS(6438),
    [anon_sym_end] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(6440),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6442),
    [anon_sym_AMP] = ACTIONS(6444),
    [anon_sym_LT] = ACTIONS(6446),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_ensure] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(6448),
    [anon_sym_DOT_DOT] = ACTIONS(6450),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6452),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(6456),
    [anon_sym_AMP_AMP] = ACTIONS(6456),
    [anon_sym_LT_LT] = ACTIONS(6458),
    [anon_sym_GT_GT] = ACTIONS(6458),
    [anon_sym_EQ_EQ] = ACTIONS(6460),
    [anon_sym_BANG_EQ] = ACTIONS(6456),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6456),
    [anon_sym_LT_EQ_GT] = ACTIONS(6456),
    [anon_sym_EQ_TILDE] = ACTIONS(6456),
    [anon_sym_BANG_TILDE] = ACTIONS(6456),
    [anon_sym_LT_EQ] = ACTIONS(6446),
    [anon_sym_GT] = ACTIONS(6446),
    [anon_sym_GT_EQ] = ACTIONS(6462),
    [anon_sym_CARET] = ACTIONS(6464),
    [anon_sym_PLUS] = ACTIONS(6466),
    [anon_sym_SLASH] = ACTIONS(6442),
    [anon_sym_PERCENT] = ACTIONS(6442),
    [sym_comment] = ACTIONS(110),
  },
  [7809] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6436),
    [sym__binary_star] = ACTIONS(6438),
    [anon_sym_end] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(6440),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6442),
    [anon_sym_AMP] = ACTIONS(6444),
    [anon_sym_LT] = ACTIONS(6446),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_ensure] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(6458),
    [anon_sym_GT_GT] = ACTIONS(6458),
    [anon_sym_EQ_EQ] = ACTIONS(6460),
    [anon_sym_BANG_EQ] = ACTIONS(6456),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6456),
    [anon_sym_LT_EQ_GT] = ACTIONS(6456),
    [anon_sym_EQ_TILDE] = ACTIONS(6456),
    [anon_sym_BANG_TILDE] = ACTIONS(6456),
    [anon_sym_LT_EQ] = ACTIONS(6446),
    [anon_sym_GT] = ACTIONS(6446),
    [anon_sym_GT_EQ] = ACTIONS(6462),
    [anon_sym_CARET] = ACTIONS(6464),
    [anon_sym_PLUS] = ACTIONS(6466),
    [anon_sym_SLASH] = ACTIONS(6442),
    [anon_sym_PERCENT] = ACTIONS(6442),
    [sym_comment] = ACTIONS(110),
  },
  [7810] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6436),
    [sym__binary_star] = ACTIONS(6438),
    [anon_sym_end] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6442),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_ensure] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(6466),
    [anon_sym_SLASH] = ACTIONS(6442),
    [anon_sym_PERCENT] = ACTIONS(6442),
    [sym_comment] = ACTIONS(110),
  },
  [7811] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(6438),
    [anon_sym_end] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6442),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_ensure] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(6442),
    [anon_sym_PERCENT] = ACTIONS(6442),
    [sym_comment] = ACTIONS(110),
  },
  [7812] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10783),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(7821),
    [sym_call] = STATE(7821),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(7822),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7823),
    [sym__variable] = STATE(7821),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(10612),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(10614),
    [anon_sym_yield] = ACTIONS(10616),
    [anon_sym_break] = ACTIONS(10618),
    [anon_sym_next] = ACTIONS(10620),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(10622),
    [anon_sym_defined_QMARK] = ACTIONS(10624),
    [anon_sym_not] = ACTIONS(10626),
    [anon_sym_BANG] = ACTIONS(10628),
    [anon_sym_TILDE] = ACTIONS(10628),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7813] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4480),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4481),
    [sym_call] = STATE(4481),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(4940),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(4482),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4483),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4484),
    [sym__variable] = STATE(4481),
    [sym_reserved_identifier] = STATE(4485),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(4486),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(6468),
    [sym__splat_star] = ACTIONS(6470),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(6472),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(544),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(544),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(6474),
    [anon_sym_yield] = ACTIONS(6476),
    [anon_sym_break] = ACTIONS(6478),
    [anon_sym_next] = ACTIONS(6480),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(544),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_PLUS_EQ] = ACTIONS(532),
    [anon_sym_DASH_EQ] = ACTIONS(532),
    [anon_sym_STAR_EQ] = ACTIONS(532),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(532),
    [anon_sym_SLASH_EQ] = ACTIONS(532),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(532),
    [anon_sym_PIPE_EQ] = ACTIONS(532),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(532),
    [anon_sym_AMP_EQ] = ACTIONS(532),
    [anon_sym_PERCENT_EQ] = ACTIONS(532),
    [anon_sym_GT_GT_EQ] = ACTIONS(532),
    [anon_sym_LT_LT_EQ] = ACTIONS(532),
    [anon_sym_CARET_EQ] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(544),
    [anon_sym_AMP_AMP] = ACTIONS(544),
    [anon_sym_LT_LT] = ACTIONS(544),
    [anon_sym_GT_GT] = ACTIONS(544),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(544),
    [anon_sym_PERCENT] = ACTIONS(544),
    [anon_sym_defined_QMARK] = ACTIONS(6482),
    [anon_sym_not] = ACTIONS(6484),
    [anon_sym_BANG] = ACTIONS(6486),
    [anon_sym_TILDE] = ACTIONS(6488),
    [sym_constant] = ACTIONS(6490),
    [sym_identifier] = ACTIONS(6490),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7814] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4480),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4481),
    [sym_call] = STATE(4481),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(4941),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(4482),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4483),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4484),
    [sym__variable] = STATE(4481),
    [sym_reserved_identifier] = STATE(4485),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(4486),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(6468),
    [sym__splat_star] = ACTIONS(6470),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(6472),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(604),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(604),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(6474),
    [anon_sym_yield] = ACTIONS(6476),
    [anon_sym_break] = ACTIONS(6478),
    [anon_sym_next] = ACTIONS(6480),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(604),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_PLUS_EQ] = ACTIONS(602),
    [anon_sym_DASH_EQ] = ACTIONS(602),
    [anon_sym_STAR_EQ] = ACTIONS(602),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(602),
    [anon_sym_SLASH_EQ] = ACTIONS(602),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(602),
    [anon_sym_PIPE_EQ] = ACTIONS(602),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(602),
    [anon_sym_AMP_EQ] = ACTIONS(602),
    [anon_sym_PERCENT_EQ] = ACTIONS(602),
    [anon_sym_GT_GT_EQ] = ACTIONS(602),
    [anon_sym_LT_LT_EQ] = ACTIONS(602),
    [anon_sym_CARET_EQ] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(604),
    [anon_sym_AMP_AMP] = ACTIONS(604),
    [anon_sym_LT_LT] = ACTIONS(604),
    [anon_sym_GT_GT] = ACTIONS(604),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(604),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(604),
    [anon_sym_PERCENT] = ACTIONS(604),
    [anon_sym_defined_QMARK] = ACTIONS(6482),
    [anon_sym_not] = ACTIONS(6484),
    [anon_sym_BANG] = ACTIONS(6486),
    [anon_sym_TILDE] = ACTIONS(6488),
    [sym_constant] = ACTIONS(6490),
    [sym_identifier] = ACTIONS(6490),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7815] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4480),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4481),
    [sym_call] = STATE(4481),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(4942),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(4482),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4483),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4484),
    [sym__variable] = STATE(4481),
    [sym_reserved_identifier] = STATE(4485),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(4486),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(6468),
    [sym__splat_star] = ACTIONS(6470),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(6472),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(608),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(608),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(6474),
    [anon_sym_yield] = ACTIONS(6476),
    [anon_sym_break] = ACTIONS(6478),
    [anon_sym_next] = ACTIONS(6480),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(608),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_PLUS_EQ] = ACTIONS(606),
    [anon_sym_DASH_EQ] = ACTIONS(606),
    [anon_sym_STAR_EQ] = ACTIONS(606),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(606),
    [anon_sym_SLASH_EQ] = ACTIONS(606),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(606),
    [anon_sym_PIPE_EQ] = ACTIONS(606),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(606),
    [anon_sym_AMP_EQ] = ACTIONS(606),
    [anon_sym_PERCENT_EQ] = ACTIONS(606),
    [anon_sym_GT_GT_EQ] = ACTIONS(606),
    [anon_sym_LT_LT_EQ] = ACTIONS(606),
    [anon_sym_CARET_EQ] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(608),
    [anon_sym_AMP_AMP] = ACTIONS(608),
    [anon_sym_LT_LT] = ACTIONS(608),
    [anon_sym_GT_GT] = ACTIONS(608),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(608),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(608),
    [anon_sym_PERCENT] = ACTIONS(608),
    [anon_sym_defined_QMARK] = ACTIONS(6482),
    [anon_sym_not] = ACTIONS(6484),
    [anon_sym_BANG] = ACTIONS(6486),
    [anon_sym_TILDE] = ACTIONS(6488),
    [sym_constant] = ACTIONS(6490),
    [sym_identifier] = ACTIONS(6490),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7816] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4480),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4481),
    [sym_call] = STATE(4481),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(4943),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(4482),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4483),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4484),
    [sym__variable] = STATE(4481),
    [sym_reserved_identifier] = STATE(4485),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(4486),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(6468),
    [sym__splat_star] = ACTIONS(6470),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(6472),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(612),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(612),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(6474),
    [anon_sym_yield] = ACTIONS(6476),
    [anon_sym_break] = ACTIONS(6478),
    [anon_sym_next] = ACTIONS(6480),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(612),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_PLUS_EQ] = ACTIONS(610),
    [anon_sym_DASH_EQ] = ACTIONS(610),
    [anon_sym_STAR_EQ] = ACTIONS(610),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(610),
    [anon_sym_SLASH_EQ] = ACTIONS(610),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(610),
    [anon_sym_PIPE_EQ] = ACTIONS(610),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(610),
    [anon_sym_AMP_EQ] = ACTIONS(610),
    [anon_sym_PERCENT_EQ] = ACTIONS(610),
    [anon_sym_GT_GT_EQ] = ACTIONS(610),
    [anon_sym_LT_LT_EQ] = ACTIONS(610),
    [anon_sym_CARET_EQ] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(612),
    [anon_sym_AMP_AMP] = ACTIONS(612),
    [anon_sym_LT_LT] = ACTIONS(612),
    [anon_sym_GT_GT] = ACTIONS(612),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(612),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(612),
    [anon_sym_PERCENT] = ACTIONS(612),
    [anon_sym_defined_QMARK] = ACTIONS(6482),
    [anon_sym_not] = ACTIONS(6484),
    [anon_sym_BANG] = ACTIONS(6486),
    [anon_sym_TILDE] = ACTIONS(6488),
    [sym_constant] = ACTIONS(6490),
    [sym_identifier] = ACTIONS(6490),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7817] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10784),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(7821),
    [sym_call] = STATE(7821),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(7822),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7823),
    [sym__variable] = STATE(7821),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(10612),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(10614),
    [anon_sym_yield] = ACTIONS(10616),
    [anon_sym_break] = ACTIONS(10618),
    [anon_sym_next] = ACTIONS(10620),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(10622),
    [anon_sym_defined_QMARK] = ACTIONS(10624),
    [anon_sym_not] = ACTIONS(10626),
    [anon_sym_BANG] = ACTIONS(10628),
    [anon_sym_TILDE] = ACTIONS(10628),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7818] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10785),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(7821),
    [sym_call] = STATE(7821),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(7822),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7823),
    [sym__variable] = STATE(7821),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(10612),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(10614),
    [anon_sym_yield] = ACTIONS(10616),
    [anon_sym_break] = ACTIONS(10618),
    [anon_sym_next] = ACTIONS(10620),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(10622),
    [anon_sym_defined_QMARK] = ACTIONS(10624),
    [anon_sym_not] = ACTIONS(10626),
    [anon_sym_BANG] = ACTIONS(10628),
    [anon_sym_TILDE] = ACTIONS(10628),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7819] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(4957),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(7821),
    [sym_call] = STATE(7821),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(7822),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7823),
    [sym__variable] = STATE(7821),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(10612),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(10614),
    [anon_sym_yield] = ACTIONS(10616),
    [anon_sym_break] = ACTIONS(10618),
    [anon_sym_next] = ACTIONS(10620),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(10622),
    [anon_sym_defined_QMARK] = ACTIONS(10624),
    [anon_sym_not] = ACTIONS(10626),
    [anon_sym_BANG] = ACTIONS(10628),
    [anon_sym_TILDE] = ACTIONS(10628),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7820] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__line_break] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(13620),
    [sym__binary_star] = ACTIONS(13622),
    [anon_sym_LBRACE] = ACTIONS(5298),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_end] = ACTIONS(5298),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(13624),
    [anon_sym_SEMI] = ACTIONS(5298),
    [anon_sym_STAR_STAR] = ACTIONS(13626),
    [anon_sym_AMP] = ACTIONS(13628),
    [anon_sym_EQ] = ACTIONS(5304),
    [anon_sym_LT] = ACTIONS(13630),
    [anon_sym_if] = ACTIONS(5298),
    [anon_sym_unless] = ACTIONS(5298),
    [anon_sym_while] = ACTIONS(5298),
    [anon_sym_until] = ACTIONS(5298),
    [anon_sym_rescue] = ACTIONS(5298),
    [anon_sym_do] = ACTIONS(5298),
    [anon_sym_ensure] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_PLUS_EQ] = ACTIONS(5298),
    [anon_sym_DASH_EQ] = ACTIONS(5298),
    [anon_sym_STAR_EQ] = ACTIONS(5298),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5298),
    [anon_sym_SLASH_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5298),
    [anon_sym_AMP_EQ] = ACTIONS(5298),
    [anon_sym_PERCENT_EQ] = ACTIONS(5298),
    [anon_sym_GT_GT_EQ] = ACTIONS(5298),
    [anon_sym_LT_LT_EQ] = ACTIONS(5298),
    [anon_sym_CARET_EQ] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(13632),
    [anon_sym_DOT_DOT] = ACTIONS(13634),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(13636),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(13638),
    [anon_sym_AMP_AMP] = ACTIONS(13638),
    [anon_sym_LT_LT] = ACTIONS(13640),
    [anon_sym_GT_GT] = ACTIONS(13640),
    [anon_sym_EQ_EQ] = ACTIONS(13638),
    [anon_sym_BANG_EQ] = ACTIONS(13642),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(13642),
    [anon_sym_LT_EQ_GT] = ACTIONS(13642),
    [anon_sym_EQ_TILDE] = ACTIONS(13642),
    [anon_sym_BANG_TILDE] = ACTIONS(13642),
    [anon_sym_LT_EQ] = ACTIONS(13630),
    [anon_sym_GT] = ACTIONS(13630),
    [anon_sym_GT_EQ] = ACTIONS(13644),
    [anon_sym_CARET] = ACTIONS(13624),
    [anon_sym_PLUS] = ACTIONS(13646),
    [anon_sym_SLASH] = ACTIONS(13626),
    [anon_sym_PERCENT] = ACTIONS(13626),
    [sym_comment] = ACTIONS(256),
  },
  [7821] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4480),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4481),
    [sym_call] = STATE(4481),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(1579),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(4482),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_do_block] = STATE(602),
    [sym_block] = STATE(602),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4483),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4484),
    [sym__variable] = STATE(4481),
    [sym_reserved_identifier] = STATE(4485),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(4486),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(6468),
    [sym__splat_star] = ACTIONS(6470),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(6472),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(1014),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(982),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(6474),
    [anon_sym_yield] = ACTIONS(6476),
    [anon_sym_break] = ACTIONS(6478),
    [anon_sym_next] = ACTIONS(6480),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(982),
    [anon_sym_unless] = ACTIONS(982),
    [anon_sym_while] = ACTIONS(982),
    [anon_sym_until] = ACTIONS(982),
    [anon_sym_rescue] = ACTIONS(982),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(982),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(982),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(6482),
    [anon_sym_not] = ACTIONS(6484),
    [anon_sym_BANG] = ACTIONS(6486),
    [anon_sym_TILDE] = ACTIONS(6488),
    [sym_constant] = ACTIONS(6490),
    [sym_identifier] = ACTIONS(6490),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7822] = {
    [anon_sym_EQ] = ACTIONS(13648),
    [sym_comment] = ACTIONS(256),
  },
  [7823] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_end] = ACTIONS(250),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(13650),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_ensure] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(13652),
    [anon_sym_DASH_EQ] = ACTIONS(13652),
    [anon_sym_STAR_EQ] = ACTIONS(13652),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(13652),
    [anon_sym_SLASH_EQ] = ACTIONS(13652),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(13652),
    [anon_sym_PIPE_EQ] = ACTIONS(13652),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(13652),
    [anon_sym_AMP_EQ] = ACTIONS(13652),
    [anon_sym_PERCENT_EQ] = ACTIONS(13652),
    [anon_sym_GT_GT_EQ] = ACTIONS(13652),
    [anon_sym_LT_LT_EQ] = ACTIONS(13652),
    [anon_sym_CARET_EQ] = ACTIONS(13652),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [7824] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__line_break] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(13620),
    [sym__binary_star] = ACTIONS(13622),
    [anon_sym_LBRACE] = ACTIONS(5338),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_end] = ACTIONS(5338),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(13624),
    [anon_sym_SEMI] = ACTIONS(5338),
    [anon_sym_STAR_STAR] = ACTIONS(13626),
    [anon_sym_AMP] = ACTIONS(13628),
    [anon_sym_EQ] = ACTIONS(5340),
    [anon_sym_LT] = ACTIONS(13630),
    [anon_sym_if] = ACTIONS(5338),
    [anon_sym_unless] = ACTIONS(5338),
    [anon_sym_while] = ACTIONS(5338),
    [anon_sym_until] = ACTIONS(5338),
    [anon_sym_rescue] = ACTIONS(5338),
    [anon_sym_do] = ACTIONS(5338),
    [anon_sym_ensure] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_PLUS_EQ] = ACTIONS(5338),
    [anon_sym_DASH_EQ] = ACTIONS(5338),
    [anon_sym_STAR_EQ] = ACTIONS(5338),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5338),
    [anon_sym_SLASH_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5338),
    [anon_sym_AMP_EQ] = ACTIONS(5338),
    [anon_sym_PERCENT_EQ] = ACTIONS(5338),
    [anon_sym_GT_GT_EQ] = ACTIONS(5338),
    [anon_sym_LT_LT_EQ] = ACTIONS(5338),
    [anon_sym_CARET_EQ] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(13632),
    [anon_sym_DOT_DOT] = ACTIONS(13634),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(13636),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(13638),
    [anon_sym_AMP_AMP] = ACTIONS(13638),
    [anon_sym_LT_LT] = ACTIONS(13640),
    [anon_sym_GT_GT] = ACTIONS(13640),
    [anon_sym_EQ_EQ] = ACTIONS(13638),
    [anon_sym_BANG_EQ] = ACTIONS(13642),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(13642),
    [anon_sym_LT_EQ_GT] = ACTIONS(13642),
    [anon_sym_EQ_TILDE] = ACTIONS(13642),
    [anon_sym_BANG_TILDE] = ACTIONS(13642),
    [anon_sym_LT_EQ] = ACTIONS(13630),
    [anon_sym_GT] = ACTIONS(13630),
    [anon_sym_GT_EQ] = ACTIONS(13644),
    [anon_sym_CARET] = ACTIONS(13624),
    [anon_sym_PLUS] = ACTIONS(13646),
    [anon_sym_SLASH] = ACTIONS(13626),
    [anon_sym_PERCENT] = ACTIONS(13626),
    [sym_comment] = ACTIONS(256),
  },
  [7825] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7785),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4481),
    [sym_call] = STATE(4481),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2147),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(7786),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4483),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4484),
    [sym__variable] = STATE(4481),
    [sym_reserved_identifier] = STATE(7787),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(7788),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(10596),
    [sym__splat_star] = ACTIONS(10598),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(6472),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(544),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(544),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(6474),
    [anon_sym_yield] = ACTIONS(6476),
    [anon_sym_break] = ACTIONS(6478),
    [anon_sym_next] = ACTIONS(6480),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(544),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_PLUS_EQ] = ACTIONS(532),
    [anon_sym_DASH_EQ] = ACTIONS(532),
    [anon_sym_STAR_EQ] = ACTIONS(532),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(532),
    [anon_sym_SLASH_EQ] = ACTIONS(532),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(532),
    [anon_sym_PIPE_EQ] = ACTIONS(532),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(532),
    [anon_sym_AMP_EQ] = ACTIONS(532),
    [anon_sym_PERCENT_EQ] = ACTIONS(532),
    [anon_sym_GT_GT_EQ] = ACTIONS(532),
    [anon_sym_LT_LT_EQ] = ACTIONS(532),
    [anon_sym_CARET_EQ] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(544),
    [anon_sym_AMP_AMP] = ACTIONS(544),
    [anon_sym_LT_LT] = ACTIONS(544),
    [anon_sym_GT_GT] = ACTIONS(544),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(544),
    [anon_sym_PERCENT] = ACTIONS(544),
    [anon_sym_defined_QMARK] = ACTIONS(6482),
    [anon_sym_not] = ACTIONS(6484),
    [anon_sym_BANG] = ACTIONS(6486),
    [anon_sym_TILDE] = ACTIONS(6488),
    [sym_constant] = ACTIONS(10600),
    [sym_identifier] = ACTIONS(10600),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7826] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7785),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4481),
    [sym_call] = STATE(4481),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2148),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(7786),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4483),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4484),
    [sym__variable] = STATE(4481),
    [sym_reserved_identifier] = STATE(7787),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(7788),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(10596),
    [sym__splat_star] = ACTIONS(10598),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(6472),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(604),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(604),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(6474),
    [anon_sym_yield] = ACTIONS(6476),
    [anon_sym_break] = ACTIONS(6478),
    [anon_sym_next] = ACTIONS(6480),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(604),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_PLUS_EQ] = ACTIONS(602),
    [anon_sym_DASH_EQ] = ACTIONS(602),
    [anon_sym_STAR_EQ] = ACTIONS(602),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(602),
    [anon_sym_SLASH_EQ] = ACTIONS(602),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(602),
    [anon_sym_PIPE_EQ] = ACTIONS(602),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(602),
    [anon_sym_AMP_EQ] = ACTIONS(602),
    [anon_sym_PERCENT_EQ] = ACTIONS(602),
    [anon_sym_GT_GT_EQ] = ACTIONS(602),
    [anon_sym_LT_LT_EQ] = ACTIONS(602),
    [anon_sym_CARET_EQ] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(604),
    [anon_sym_AMP_AMP] = ACTIONS(604),
    [anon_sym_LT_LT] = ACTIONS(604),
    [anon_sym_GT_GT] = ACTIONS(604),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(604),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(604),
    [anon_sym_PERCENT] = ACTIONS(604),
    [anon_sym_defined_QMARK] = ACTIONS(6482),
    [anon_sym_not] = ACTIONS(6484),
    [anon_sym_BANG] = ACTIONS(6486),
    [anon_sym_TILDE] = ACTIONS(6488),
    [sym_constant] = ACTIONS(10600),
    [sym_identifier] = ACTIONS(10600),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7827] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7785),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4481),
    [sym_call] = STATE(4481),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2149),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(7786),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4483),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4484),
    [sym__variable] = STATE(4481),
    [sym_reserved_identifier] = STATE(7787),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(7788),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(10596),
    [sym__splat_star] = ACTIONS(10598),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(6472),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(608),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(608),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(6474),
    [anon_sym_yield] = ACTIONS(6476),
    [anon_sym_break] = ACTIONS(6478),
    [anon_sym_next] = ACTIONS(6480),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(608),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_PLUS_EQ] = ACTIONS(606),
    [anon_sym_DASH_EQ] = ACTIONS(606),
    [anon_sym_STAR_EQ] = ACTIONS(606),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(606),
    [anon_sym_SLASH_EQ] = ACTIONS(606),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(606),
    [anon_sym_PIPE_EQ] = ACTIONS(606),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(606),
    [anon_sym_AMP_EQ] = ACTIONS(606),
    [anon_sym_PERCENT_EQ] = ACTIONS(606),
    [anon_sym_GT_GT_EQ] = ACTIONS(606),
    [anon_sym_LT_LT_EQ] = ACTIONS(606),
    [anon_sym_CARET_EQ] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(608),
    [anon_sym_AMP_AMP] = ACTIONS(608),
    [anon_sym_LT_LT] = ACTIONS(608),
    [anon_sym_GT_GT] = ACTIONS(608),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(608),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(608),
    [anon_sym_PERCENT] = ACTIONS(608),
    [anon_sym_defined_QMARK] = ACTIONS(6482),
    [anon_sym_not] = ACTIONS(6484),
    [anon_sym_BANG] = ACTIONS(6486),
    [anon_sym_TILDE] = ACTIONS(6488),
    [sym_constant] = ACTIONS(10600),
    [sym_identifier] = ACTIONS(10600),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7828] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7785),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4481),
    [sym_call] = STATE(4481),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2150),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(7786),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4483),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4484),
    [sym__variable] = STATE(4481),
    [sym_reserved_identifier] = STATE(7787),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(7788),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(10596),
    [sym__splat_star] = ACTIONS(10598),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(6472),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(612),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(612),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(6474),
    [anon_sym_yield] = ACTIONS(6476),
    [anon_sym_break] = ACTIONS(6478),
    [anon_sym_next] = ACTIONS(6480),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(612),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_PLUS_EQ] = ACTIONS(610),
    [anon_sym_DASH_EQ] = ACTIONS(610),
    [anon_sym_STAR_EQ] = ACTIONS(610),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(610),
    [anon_sym_SLASH_EQ] = ACTIONS(610),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(610),
    [anon_sym_PIPE_EQ] = ACTIONS(610),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(610),
    [anon_sym_AMP_EQ] = ACTIONS(610),
    [anon_sym_PERCENT_EQ] = ACTIONS(610),
    [anon_sym_GT_GT_EQ] = ACTIONS(610),
    [anon_sym_LT_LT_EQ] = ACTIONS(610),
    [anon_sym_CARET_EQ] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(612),
    [anon_sym_AMP_AMP] = ACTIONS(612),
    [anon_sym_LT_LT] = ACTIONS(612),
    [anon_sym_GT_GT] = ACTIONS(612),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(612),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(612),
    [anon_sym_PERCENT] = ACTIONS(612),
    [anon_sym_defined_QMARK] = ACTIONS(6482),
    [anon_sym_not] = ACTIONS(6484),
    [anon_sym_BANG] = ACTIONS(6486),
    [anon_sym_TILDE] = ACTIONS(6488),
    [sym_constant] = ACTIONS(10600),
    [sym_identifier] = ACTIONS(10600),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7829] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_LBRACE] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_end] = ACTIONS(1372),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(10650),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_EQ] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_if] = ACTIONS(1372),
    [anon_sym_unless] = ACTIONS(1372),
    [anon_sym_while] = ACTIONS(1372),
    [anon_sym_until] = ACTIONS(1372),
    [anon_sym_rescue] = ACTIONS(1372),
    [anon_sym_do] = ACTIONS(1372),
    [anon_sym_ensure] = ACTIONS(1372),
    [anon_sym_EQ_GT] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_PLUS_EQ] = ACTIONS(1372),
    [anon_sym_DASH_EQ] = ACTIONS(1372),
    [anon_sym_STAR_EQ] = ACTIONS(1372),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1372),
    [anon_sym_SLASH_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1372),
    [anon_sym_AMP_EQ] = ACTIONS(1372),
    [anon_sym_PERCENT_EQ] = ACTIONS(1372),
    [anon_sym_GT_GT_EQ] = ACTIONS(1372),
    [anon_sym_LT_LT_EQ] = ACTIONS(1372),
    [anon_sym_CARET_EQ] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1374),
    [anon_sym_AMP_AMP] = ACTIONS(1374),
    [anon_sym_LT_LT] = ACTIONS(1374),
    [anon_sym_GT_GT] = ACTIONS(1374),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1374),
    [anon_sym_PLUS] = ACTIONS(1374),
    [anon_sym_SLASH] = ACTIONS(1374),
    [anon_sym_PERCENT] = ACTIONS(1374),
    [sym_comment] = ACTIONS(256),
  },
  [7830] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__line_break] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(13620),
    [sym__binary_star] = ACTIONS(13622),
    [anon_sym_LBRACE] = ACTIONS(4284),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_end] = ACTIONS(4284),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(13624),
    [anon_sym_SEMI] = ACTIONS(4284),
    [anon_sym_STAR_STAR] = ACTIONS(13626),
    [anon_sym_AMP] = ACTIONS(13628),
    [anon_sym_EQ] = ACTIONS(5432),
    [anon_sym_LT] = ACTIONS(13630),
    [anon_sym_if] = ACTIONS(4284),
    [anon_sym_unless] = ACTIONS(4284),
    [anon_sym_while] = ACTIONS(4284),
    [anon_sym_until] = ACTIONS(4284),
    [anon_sym_rescue] = ACTIONS(4284),
    [anon_sym_do] = ACTIONS(4284),
    [anon_sym_ensure] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_PLUS_EQ] = ACTIONS(4284),
    [anon_sym_DASH_EQ] = ACTIONS(4284),
    [anon_sym_STAR_EQ] = ACTIONS(4284),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(4284),
    [anon_sym_SLASH_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(4284),
    [anon_sym_AMP_EQ] = ACTIONS(4284),
    [anon_sym_PERCENT_EQ] = ACTIONS(4284),
    [anon_sym_GT_GT_EQ] = ACTIONS(4284),
    [anon_sym_LT_LT_EQ] = ACTIONS(4284),
    [anon_sym_CARET_EQ] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(13632),
    [anon_sym_DOT_DOT] = ACTIONS(13634),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(13636),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(13638),
    [anon_sym_AMP_AMP] = ACTIONS(13638),
    [anon_sym_LT_LT] = ACTIONS(13640),
    [anon_sym_GT_GT] = ACTIONS(13640),
    [anon_sym_EQ_EQ] = ACTIONS(13638),
    [anon_sym_BANG_EQ] = ACTIONS(13642),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(13642),
    [anon_sym_LT_EQ_GT] = ACTIONS(13642),
    [anon_sym_EQ_TILDE] = ACTIONS(13642),
    [anon_sym_BANG_TILDE] = ACTIONS(13642),
    [anon_sym_LT_EQ] = ACTIONS(13630),
    [anon_sym_GT] = ACTIONS(13630),
    [anon_sym_GT_EQ] = ACTIONS(13644),
    [anon_sym_CARET] = ACTIONS(13624),
    [anon_sym_PLUS] = ACTIONS(13646),
    [anon_sym_SLASH] = ACTIONS(13626),
    [anon_sym_PERCENT] = ACTIONS(13626),
    [sym_comment] = ACTIONS(256),
  },
  [7831] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_end] = ACTIONS(2870),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(10650),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_ensure] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2872),
    [anon_sym_AMP_AMP] = ACTIONS(2872),
    [anon_sym_LT_LT] = ACTIONS(2872),
    [anon_sym_GT_GT] = ACTIONS(2872),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2872),
    [anon_sym_PLUS] = ACTIONS(2872),
    [anon_sym_SLASH] = ACTIONS(2872),
    [anon_sym_PERCENT] = ACTIONS(2872),
    [sym_comment] = ACTIONS(256),
  },
  [7832] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(10644),
    [sym__binary_star] = ACTIONS(10646),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_end] = ACTIONS(2870),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(10648),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(10650),
    [anon_sym_AMP] = ACTIONS(10652),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(10654),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_ensure] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(10656),
    [anon_sym_DOT_DOT] = ACTIONS(10658),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10660),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(10662),
    [anon_sym_AMP_AMP] = ACTIONS(10662),
    [anon_sym_LT_LT] = ACTIONS(10664),
    [anon_sym_GT_GT] = ACTIONS(10664),
    [anon_sym_EQ_EQ] = ACTIONS(10662),
    [anon_sym_BANG_EQ] = ACTIONS(10666),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10666),
    [anon_sym_LT_EQ_GT] = ACTIONS(10666),
    [anon_sym_EQ_TILDE] = ACTIONS(10666),
    [anon_sym_BANG_TILDE] = ACTIONS(10666),
    [anon_sym_LT_EQ] = ACTIONS(10654),
    [anon_sym_GT] = ACTIONS(10654),
    [anon_sym_GT_EQ] = ACTIONS(10668),
    [anon_sym_CARET] = ACTIONS(10648),
    [anon_sym_PLUS] = ACTIONS(10670),
    [anon_sym_SLASH] = ACTIONS(10650),
    [anon_sym_PERCENT] = ACTIONS(10650),
    [sym_comment] = ACTIONS(256),
  },
  [7833] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10800),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(7821),
    [sym_call] = STATE(7821),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(7822),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7823),
    [sym__variable] = STATE(7821),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(10612),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(10614),
    [anon_sym_yield] = ACTIONS(10616),
    [anon_sym_break] = ACTIONS(10618),
    [anon_sym_next] = ACTIONS(10620),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(10622),
    [anon_sym_defined_QMARK] = ACTIONS(10624),
    [anon_sym_not] = ACTIONS(10626),
    [anon_sym_BANG] = ACTIONS(10628),
    [anon_sym_TILDE] = ACTIONS(10628),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7834] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10801),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4481),
    [sym_call] = STATE(4481),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4483),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4484),
    [sym__variable] = STATE(4481),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6472),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10630),
    [anon_sym_yield] = ACTIONS(10632),
    [anon_sym_break] = ACTIONS(10634),
    [anon_sym_next] = ACTIONS(10636),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10638),
    [anon_sym_defined_QMARK] = ACTIONS(6482),
    [anon_sym_not] = ACTIONS(10640),
    [anon_sym_BANG] = ACTIONS(6488),
    [anon_sym_TILDE] = ACTIONS(6488),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7835] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10802),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4481),
    [sym_call] = STATE(4481),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4483),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4484),
    [sym__variable] = STATE(4481),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6472),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10630),
    [anon_sym_yield] = ACTIONS(10632),
    [anon_sym_break] = ACTIONS(10634),
    [anon_sym_next] = ACTIONS(10636),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10638),
    [anon_sym_defined_QMARK] = ACTIONS(6482),
    [anon_sym_not] = ACTIONS(10640),
    [anon_sym_BANG] = ACTIONS(6488),
    [anon_sym_TILDE] = ACTIONS(6488),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7836] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10803),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4481),
    [sym_call] = STATE(4481),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4483),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4484),
    [sym__variable] = STATE(4481),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6472),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10630),
    [anon_sym_yield] = ACTIONS(10632),
    [anon_sym_break] = ACTIONS(10634),
    [anon_sym_next] = ACTIONS(10636),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10638),
    [anon_sym_defined_QMARK] = ACTIONS(6482),
    [anon_sym_not] = ACTIONS(10640),
    [anon_sym_BANG] = ACTIONS(6488),
    [anon_sym_TILDE] = ACTIONS(6488),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7837] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10804),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4481),
    [sym_call] = STATE(4481),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4483),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4484),
    [sym__variable] = STATE(4481),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6472),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10630),
    [anon_sym_yield] = ACTIONS(10632),
    [anon_sym_break] = ACTIONS(10634),
    [anon_sym_next] = ACTIONS(10636),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10638),
    [anon_sym_defined_QMARK] = ACTIONS(6482),
    [anon_sym_not] = ACTIONS(10640),
    [anon_sym_BANG] = ACTIONS(6488),
    [anon_sym_TILDE] = ACTIONS(6488),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7838] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10805),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4481),
    [sym_call] = STATE(4481),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4483),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4484),
    [sym__variable] = STATE(4481),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6472),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10630),
    [anon_sym_yield] = ACTIONS(10632),
    [anon_sym_break] = ACTIONS(10634),
    [anon_sym_next] = ACTIONS(10636),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10638),
    [anon_sym_defined_QMARK] = ACTIONS(6482),
    [anon_sym_not] = ACTIONS(10640),
    [anon_sym_BANG] = ACTIONS(6488),
    [anon_sym_TILDE] = ACTIONS(6488),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7839] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10806),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4481),
    [sym_call] = STATE(4481),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4483),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4484),
    [sym__variable] = STATE(4481),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6472),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10630),
    [anon_sym_yield] = ACTIONS(10632),
    [anon_sym_break] = ACTIONS(10634),
    [anon_sym_next] = ACTIONS(10636),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10638),
    [anon_sym_defined_QMARK] = ACTIONS(6482),
    [anon_sym_not] = ACTIONS(10640),
    [anon_sym_BANG] = ACTIONS(6488),
    [anon_sym_TILDE] = ACTIONS(6488),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7840] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(10807),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [7841] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10808),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4481),
    [sym_call] = STATE(4481),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4483),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4484),
    [sym__variable] = STATE(4481),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6472),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10630),
    [anon_sym_yield] = ACTIONS(10632),
    [anon_sym_break] = ACTIONS(10634),
    [anon_sym_next] = ACTIONS(10636),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10638),
    [anon_sym_defined_QMARK] = ACTIONS(6482),
    [anon_sym_not] = ACTIONS(10640),
    [anon_sym_BANG] = ACTIONS(6488),
    [anon_sym_TILDE] = ACTIONS(6488),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7842] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10809),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4481),
    [sym_call] = STATE(4481),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4483),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4484),
    [sym__variable] = STATE(4481),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6472),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10630),
    [anon_sym_yield] = ACTIONS(10632),
    [anon_sym_break] = ACTIONS(10634),
    [anon_sym_next] = ACTIONS(10636),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10638),
    [anon_sym_defined_QMARK] = ACTIONS(6482),
    [anon_sym_not] = ACTIONS(10640),
    [anon_sym_BANG] = ACTIONS(6488),
    [anon_sym_TILDE] = ACTIONS(6488),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7843] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10810),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4481),
    [sym_call] = STATE(4481),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4483),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4484),
    [sym__variable] = STATE(4481),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6472),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10630),
    [anon_sym_yield] = ACTIONS(10632),
    [anon_sym_break] = ACTIONS(10634),
    [anon_sym_next] = ACTIONS(10636),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10638),
    [anon_sym_defined_QMARK] = ACTIONS(6482),
    [anon_sym_not] = ACTIONS(10640),
    [anon_sym_BANG] = ACTIONS(6488),
    [anon_sym_TILDE] = ACTIONS(6488),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7844] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10811),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4481),
    [sym_call] = STATE(4481),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4483),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4484),
    [sym__variable] = STATE(4481),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6472),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10630),
    [anon_sym_yield] = ACTIONS(10632),
    [anon_sym_break] = ACTIONS(10634),
    [anon_sym_next] = ACTIONS(10636),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10638),
    [anon_sym_defined_QMARK] = ACTIONS(6482),
    [anon_sym_not] = ACTIONS(10640),
    [anon_sym_BANG] = ACTIONS(6488),
    [anon_sym_TILDE] = ACTIONS(6488),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7845] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10812),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4481),
    [sym_call] = STATE(4481),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4483),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4484),
    [sym__variable] = STATE(4481),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6472),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10630),
    [anon_sym_yield] = ACTIONS(10632),
    [anon_sym_break] = ACTIONS(10634),
    [anon_sym_next] = ACTIONS(10636),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10638),
    [anon_sym_defined_QMARK] = ACTIONS(6482),
    [anon_sym_not] = ACTIONS(10640),
    [anon_sym_BANG] = ACTIONS(6488),
    [anon_sym_TILDE] = ACTIONS(6488),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7846] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4480),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4481),
    [sym_call] = STATE(4481),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(5069),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4483),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4484),
    [sym__variable] = STATE(4481),
    [sym_reserved_identifier] = STATE(4485),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(4486),
    [sym_subshell] = STATE(561),
    [sym_heredoc_end] = STATE(10813),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__block_ampersand] = ACTIONS(6468),
    [sym__splat_star] = ACTIONS(6470),
    [sym__unary_minus] = ACTIONS(6472),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(13654),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(6474),
    [anon_sym_yield] = ACTIONS(6476),
    [anon_sym_break] = ACTIONS(6478),
    [anon_sym_next] = ACTIONS(6480),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(10638),
    [anon_sym_defined_QMARK] = ACTIONS(6482),
    [anon_sym_not] = ACTIONS(6484),
    [anon_sym_BANG] = ACTIONS(6488),
    [anon_sym_TILDE] = ACTIONS(6488),
    [sym_constant] = ACTIONS(6490),
    [sym_identifier] = ACTIONS(6490),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7847] = {
    [sym_heredoc_end] = STATE(2196),
    [aux_sym_argument_list_repeat2] = STATE(5072),
    [sym__simple_heredoc_body] = ACTIONS(3354),
    [sym__heredoc_body_beginning] = ACTIONS(3356),
    [sym__line_break] = ACTIONS(5472),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_LBRACE] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_end] = ACTIONS(5472),
    [anon_sym_COMMA] = ACTIONS(13656),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_SEMI] = ACTIONS(5472),
    [anon_sym_STAR_STAR] = ACTIONS(5474),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_EQ] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_if] = ACTIONS(5472),
    [anon_sym_unless] = ACTIONS(5472),
    [anon_sym_while] = ACTIONS(5472),
    [anon_sym_until] = ACTIONS(5472),
    [anon_sym_rescue] = ACTIONS(5472),
    [anon_sym_do] = ACTIONS(5472),
    [anon_sym_ensure] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_PLUS_EQ] = ACTIONS(5472),
    [anon_sym_DASH_EQ] = ACTIONS(5472),
    [anon_sym_STAR_EQ] = ACTIONS(5472),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5472),
    [anon_sym_SLASH_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5472),
    [anon_sym_AMP_EQ] = ACTIONS(5472),
    [anon_sym_PERCENT_EQ] = ACTIONS(5472),
    [anon_sym_GT_GT_EQ] = ACTIONS(5472),
    [anon_sym_LT_LT_EQ] = ACTIONS(5472),
    [anon_sym_CARET_EQ] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5474),
    [anon_sym_AMP_AMP] = ACTIONS(5474),
    [anon_sym_LT_LT] = ACTIONS(5474),
    [anon_sym_GT_GT] = ACTIONS(5474),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5474),
    [anon_sym_PLUS] = ACTIONS(5474),
    [anon_sym_SLASH] = ACTIONS(5474),
    [anon_sym_PERCENT] = ACTIONS(5474),
    [sym_comment] = ACTIONS(256),
  },
  [7848] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10815),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4481),
    [sym_call] = STATE(4481),
    [sym_method_call] = STATE(338),
    [sym_splat_argument] = STATE(5074),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_right_assignment_list] = STATE(5075),
    [sym__arg_or_splat_arg] = STATE(10816),
    [sym_left_assignment_list] = STATE(4483),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4484),
    [sym__variable] = STATE(4481),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__splat_star] = ACTIONS(10598),
    [sym__unary_minus] = ACTIONS(6472),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10630),
    [anon_sym_yield] = ACTIONS(10632),
    [anon_sym_break] = ACTIONS(10634),
    [anon_sym_next] = ACTIONS(10636),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10638),
    [anon_sym_defined_QMARK] = ACTIONS(6482),
    [anon_sym_not] = ACTIONS(10640),
    [anon_sym_BANG] = ACTIONS(6488),
    [anon_sym_TILDE] = ACTIONS(6488),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7849] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10817),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4481),
    [sym_call] = STATE(4481),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4483),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4484),
    [sym__variable] = STATE(4481),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6472),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10630),
    [anon_sym_yield] = ACTIONS(10632),
    [anon_sym_break] = ACTIONS(10634),
    [anon_sym_next] = ACTIONS(10636),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10638),
    [anon_sym_defined_QMARK] = ACTIONS(6482),
    [anon_sym_not] = ACTIONS(10640),
    [anon_sym_BANG] = ACTIONS(6488),
    [anon_sym_TILDE] = ACTIONS(6488),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7850] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10818),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(7821),
    [sym_call] = STATE(7821),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(7822),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7823),
    [sym__variable] = STATE(7821),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(10612),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(10614),
    [anon_sym_yield] = ACTIONS(10616),
    [anon_sym_break] = ACTIONS(10618),
    [anon_sym_next] = ACTIONS(10620),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(10622),
    [anon_sym_defined_QMARK] = ACTIONS(10624),
    [anon_sym_not] = ACTIONS(10626),
    [anon_sym_BANG] = ACTIONS(10628),
    [anon_sym_TILDE] = ACTIONS(10628),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7851] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10819),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1754),
    [sym_call] = STATE(1754),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(7858),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7859),
    [sym__variable] = STATE(1754),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(10684),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2750),
    [anon_sym_yield] = ACTIONS(2752),
    [anon_sym_break] = ACTIONS(2754),
    [anon_sym_next] = ACTIONS(2756),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10686),
    [anon_sym_defined_QMARK] = ACTIONS(10688),
    [anon_sym_not] = ACTIONS(10690),
    [anon_sym_BANG] = ACTIONS(10692),
    [anon_sym_TILDE] = ACTIONS(10692),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7852] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10820),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1754),
    [sym_call] = STATE(1754),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(7858),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7859),
    [sym__variable] = STATE(1754),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(10684),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2750),
    [anon_sym_yield] = ACTIONS(2752),
    [anon_sym_break] = ACTIONS(2754),
    [anon_sym_next] = ACTIONS(2756),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10686),
    [anon_sym_defined_QMARK] = ACTIONS(10688),
    [anon_sym_not] = ACTIONS(10690),
    [anon_sym_BANG] = ACTIONS(10692),
    [anon_sym_TILDE] = ACTIONS(10692),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7853] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10821),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1754),
    [sym_call] = STATE(1754),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(7858),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7859),
    [sym__variable] = STATE(1754),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(10684),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2750),
    [anon_sym_yield] = ACTIONS(2752),
    [anon_sym_break] = ACTIONS(2754),
    [anon_sym_next] = ACTIONS(2756),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10686),
    [anon_sym_defined_QMARK] = ACTIONS(10688),
    [anon_sym_not] = ACTIONS(10690),
    [anon_sym_BANG] = ACTIONS(10692),
    [anon_sym_TILDE] = ACTIONS(10692),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7854] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10822),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1754),
    [sym_call] = STATE(1754),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(7858),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7859),
    [sym__variable] = STATE(1754),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(10684),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2750),
    [anon_sym_yield] = ACTIONS(2752),
    [anon_sym_break] = ACTIONS(2754),
    [anon_sym_next] = ACTIONS(2756),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10686),
    [anon_sym_defined_QMARK] = ACTIONS(10688),
    [anon_sym_not] = ACTIONS(10690),
    [anon_sym_BANG] = ACTIONS(10692),
    [anon_sym_TILDE] = ACTIONS(10692),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7855] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(434),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1754),
    [sym_call] = STATE(1754),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(7858),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7859),
    [sym__variable] = STATE(1754),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(10684),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2750),
    [anon_sym_yield] = ACTIONS(2752),
    [anon_sym_break] = ACTIONS(2754),
    [anon_sym_next] = ACTIONS(2756),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10686),
    [anon_sym_defined_QMARK] = ACTIONS(10688),
    [anon_sym_not] = ACTIONS(10690),
    [anon_sym_BANG] = ACTIONS(10692),
    [anon_sym_TILDE] = ACTIONS(10692),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7856] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__line_break] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(13658),
    [sym__binary_star] = ACTIONS(13660),
    [anon_sym_end] = ACTIONS(6346),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(13662),
    [anon_sym_SEMI] = ACTIONS(6346),
    [anon_sym_STAR_STAR] = ACTIONS(13664),
    [anon_sym_AMP] = ACTIONS(13666),
    [anon_sym_LT] = ACTIONS(13668),
    [anon_sym_if] = ACTIONS(6346),
    [anon_sym_unless] = ACTIONS(6346),
    [anon_sym_while] = ACTIONS(6346),
    [anon_sym_until] = ACTIONS(6346),
    [anon_sym_rescue] = ACTIONS(6346),
    [anon_sym_ensure] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(13670),
    [anon_sym_DOT_DOT] = ACTIONS(13672),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(13674),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(13676),
    [anon_sym_AMP_AMP] = ACTIONS(13676),
    [anon_sym_LT_LT] = ACTIONS(13678),
    [anon_sym_GT_GT] = ACTIONS(13678),
    [anon_sym_EQ_EQ] = ACTIONS(13680),
    [anon_sym_BANG_EQ] = ACTIONS(13676),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(13676),
    [anon_sym_LT_EQ_GT] = ACTIONS(13676),
    [anon_sym_EQ_TILDE] = ACTIONS(13676),
    [anon_sym_BANG_TILDE] = ACTIONS(13676),
    [anon_sym_LT_EQ] = ACTIONS(13668),
    [anon_sym_GT] = ACTIONS(13668),
    [anon_sym_GT_EQ] = ACTIONS(13682),
    [anon_sym_CARET] = ACTIONS(13684),
    [anon_sym_PLUS] = ACTIONS(13686),
    [anon_sym_SLASH] = ACTIONS(13664),
    [anon_sym_PERCENT] = ACTIONS(13664),
    [sym_comment] = ACTIONS(110),
  },
  [7857] = {
    [aux_sym_exceptions_repeat1] = STATE(10836),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__line_break] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_end] = ACTIONS(7330),
    [anon_sym_COMMA] = ACTIONS(13688),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_SEMI] = ACTIONS(7330),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_if] = ACTIONS(7330),
    [anon_sym_unless] = ACTIONS(7330),
    [anon_sym_while] = ACTIONS(7330),
    [anon_sym_until] = ACTIONS(7330),
    [anon_sym_rescue] = ACTIONS(7330),
    [anon_sym_ensure] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [7858] = {
    [anon_sym_EQ] = ACTIONS(13690),
    [sym_comment] = ACTIONS(256),
  },
  [7859] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_end] = ACTIONS(250),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(13692),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_ensure] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(13694),
    [anon_sym_DASH_EQ] = ACTIONS(13694),
    [anon_sym_STAR_EQ] = ACTIONS(13694),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(13694),
    [anon_sym_SLASH_EQ] = ACTIONS(13694),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(13694),
    [anon_sym_PIPE_EQ] = ACTIONS(13694),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(13694),
    [anon_sym_AMP_EQ] = ACTIONS(13694),
    [anon_sym_PERCENT_EQ] = ACTIONS(13694),
    [anon_sym_GT_GT_EQ] = ACTIONS(13694),
    [anon_sym_LT_LT_EQ] = ACTIONS(13694),
    [anon_sym_CARET_EQ] = ACTIONS(13694),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [7860] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__line_break] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(6436),
    [sym__binary_star] = ACTIONS(6438),
    [anon_sym_end] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(6440),
    [anon_sym_SEMI] = ACTIONS(7344),
    [anon_sym_STAR_STAR] = ACTIONS(6442),
    [anon_sym_AMP] = ACTIONS(6444),
    [anon_sym_LT] = ACTIONS(6446),
    [anon_sym_if] = ACTIONS(7344),
    [anon_sym_unless] = ACTIONS(7344),
    [anon_sym_while] = ACTIONS(7344),
    [anon_sym_until] = ACTIONS(7344),
    [anon_sym_rescue] = ACTIONS(7344),
    [anon_sym_ensure] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(6448),
    [anon_sym_DOT_DOT] = ACTIONS(6450),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6452),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(6456),
    [anon_sym_AMP_AMP] = ACTIONS(6456),
    [anon_sym_LT_LT] = ACTIONS(6458),
    [anon_sym_GT_GT] = ACTIONS(6458),
    [anon_sym_EQ_EQ] = ACTIONS(6460),
    [anon_sym_BANG_EQ] = ACTIONS(6456),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6456),
    [anon_sym_LT_EQ_GT] = ACTIONS(6456),
    [anon_sym_EQ_TILDE] = ACTIONS(6456),
    [anon_sym_BANG_TILDE] = ACTIONS(6456),
    [anon_sym_LT_EQ] = ACTIONS(6446),
    [anon_sym_GT] = ACTIONS(6446),
    [anon_sym_GT_EQ] = ACTIONS(6462),
    [anon_sym_CARET] = ACTIONS(6464),
    [anon_sym_PLUS] = ACTIONS(6466),
    [anon_sym_SLASH] = ACTIONS(6442),
    [anon_sym_PERCENT] = ACTIONS(6442),
    [sym_comment] = ACTIONS(110),
  },
  [7861] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10839),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7866),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7867),
    [sym__variable] = STATE(1770),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(10696),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10698),
    [anon_sym_defined_QMARK] = ACTIONS(10700),
    [anon_sym_not] = ACTIONS(10702),
    [anon_sym_BANG] = ACTIONS(10704),
    [anon_sym_TILDE] = ACTIONS(10704),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7862] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10840),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7866),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7867),
    [sym__variable] = STATE(1770),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(10696),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10698),
    [anon_sym_defined_QMARK] = ACTIONS(10700),
    [anon_sym_not] = ACTIONS(10702),
    [anon_sym_BANG] = ACTIONS(10704),
    [anon_sym_TILDE] = ACTIONS(10704),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7863] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10841),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7866),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7867),
    [sym__variable] = STATE(1770),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(10696),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10698),
    [anon_sym_defined_QMARK] = ACTIONS(10700),
    [anon_sym_not] = ACTIONS(10702),
    [anon_sym_BANG] = ACTIONS(10704),
    [anon_sym_TILDE] = ACTIONS(10704),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7864] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1410),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7866),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7867),
    [sym__variable] = STATE(1770),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(10696),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10698),
    [anon_sym_defined_QMARK] = ACTIONS(10700),
    [anon_sym_not] = ACTIONS(10702),
    [anon_sym_BANG] = ACTIONS(10704),
    [anon_sym_TILDE] = ACTIONS(10704),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7865] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__line_break] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(13696),
    [sym__binary_star] = ACTIONS(13698),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_end] = ACTIONS(5298),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(13700),
    [anon_sym_SEMI] = ACTIONS(5298),
    [anon_sym_STAR_STAR] = ACTIONS(13702),
    [anon_sym_AMP] = ACTIONS(13704),
    [anon_sym_LT] = ACTIONS(13706),
    [anon_sym_if] = ACTIONS(5298),
    [anon_sym_unless] = ACTIONS(5298),
    [anon_sym_while] = ACTIONS(5298),
    [anon_sym_until] = ACTIONS(5298),
    [anon_sym_rescue] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(13708),
    [anon_sym_DOT_DOT] = ACTIONS(13710),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(13712),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(13714),
    [anon_sym_AMP_AMP] = ACTIONS(13714),
    [anon_sym_LT_LT] = ACTIONS(13716),
    [anon_sym_GT_GT] = ACTIONS(13716),
    [anon_sym_EQ_EQ] = ACTIONS(13718),
    [anon_sym_BANG_EQ] = ACTIONS(13714),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(13714),
    [anon_sym_LT_EQ_GT] = ACTIONS(13714),
    [anon_sym_EQ_TILDE] = ACTIONS(13714),
    [anon_sym_BANG_TILDE] = ACTIONS(13714),
    [anon_sym_LT_EQ] = ACTIONS(13706),
    [anon_sym_GT] = ACTIONS(13706),
    [anon_sym_GT_EQ] = ACTIONS(13720),
    [anon_sym_CARET] = ACTIONS(13722),
    [anon_sym_PLUS] = ACTIONS(13724),
    [anon_sym_SLASH] = ACTIONS(13702),
    [anon_sym_PERCENT] = ACTIONS(13702),
    [sym_comment] = ACTIONS(110),
  },
  [7866] = {
    [anon_sym_EQ] = ACTIONS(13726),
    [sym_comment] = ACTIONS(256),
  },
  [7867] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_end] = ACTIONS(250),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(13728),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(13730),
    [anon_sym_DASH_EQ] = ACTIONS(13730),
    [anon_sym_STAR_EQ] = ACTIONS(13730),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(13730),
    [anon_sym_SLASH_EQ] = ACTIONS(13730),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(13730),
    [anon_sym_PIPE_EQ] = ACTIONS(13730),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(13730),
    [anon_sym_AMP_EQ] = ACTIONS(13730),
    [anon_sym_PERCENT_EQ] = ACTIONS(13730),
    [anon_sym_GT_GT_EQ] = ACTIONS(13730),
    [anon_sym_LT_LT_EQ] = ACTIONS(13730),
    [anon_sym_CARET_EQ] = ACTIONS(13730),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [7868] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__line_break] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(13696),
    [sym__binary_star] = ACTIONS(13698),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_end] = ACTIONS(5338),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(13700),
    [anon_sym_SEMI] = ACTIONS(5338),
    [anon_sym_STAR_STAR] = ACTIONS(13702),
    [anon_sym_AMP] = ACTIONS(13704),
    [anon_sym_LT] = ACTIONS(13706),
    [anon_sym_if] = ACTIONS(5338),
    [anon_sym_unless] = ACTIONS(5338),
    [anon_sym_while] = ACTIONS(5338),
    [anon_sym_until] = ACTIONS(5338),
    [anon_sym_rescue] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(13708),
    [anon_sym_DOT_DOT] = ACTIONS(13710),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(13712),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(13714),
    [anon_sym_AMP_AMP] = ACTIONS(13714),
    [anon_sym_LT_LT] = ACTIONS(13716),
    [anon_sym_GT_GT] = ACTIONS(13716),
    [anon_sym_EQ_EQ] = ACTIONS(13718),
    [anon_sym_BANG_EQ] = ACTIONS(13714),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(13714),
    [anon_sym_LT_EQ_GT] = ACTIONS(13714),
    [anon_sym_EQ_TILDE] = ACTIONS(13714),
    [anon_sym_BANG_TILDE] = ACTIONS(13714),
    [anon_sym_LT_EQ] = ACTIONS(13706),
    [anon_sym_GT] = ACTIONS(13706),
    [anon_sym_GT_EQ] = ACTIONS(13720),
    [anon_sym_CARET] = ACTIONS(13722),
    [anon_sym_PLUS] = ACTIONS(13724),
    [anon_sym_SLASH] = ACTIONS(13702),
    [anon_sym_PERCENT] = ACTIONS(13702),
    [sym_comment] = ACTIONS(110),
  },
  [7869] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7879),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4505),
    [sym_call] = STATE(4505),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(340),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(7880),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4507),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4508),
    [sym__variable] = STATE(4505),
    [sym_reserved_identifier] = STATE(7881),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(7882),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(10718),
    [sym__splat_star] = ACTIONS(10720),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(6504),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(544),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(6506),
    [anon_sym_yield] = ACTIONS(6508),
    [anon_sym_break] = ACTIONS(6510),
    [anon_sym_next] = ACTIONS(6512),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(6514),
    [anon_sym_not] = ACTIONS(6516),
    [anon_sym_BANG] = ACTIONS(6518),
    [anon_sym_TILDE] = ACTIONS(6520),
    [sym_constant] = ACTIONS(10722),
    [sym_identifier] = ACTIONS(10722),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7870] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7879),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4505),
    [sym_call] = STATE(4505),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(349),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(7880),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4507),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4508),
    [sym__variable] = STATE(4505),
    [sym_reserved_identifier] = STATE(7881),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(7882),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(10718),
    [sym__splat_star] = ACTIONS(10720),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(6504),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(604),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(6506),
    [anon_sym_yield] = ACTIONS(6508),
    [anon_sym_break] = ACTIONS(6510),
    [anon_sym_next] = ACTIONS(6512),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(6514),
    [anon_sym_not] = ACTIONS(6516),
    [anon_sym_BANG] = ACTIONS(6518),
    [anon_sym_TILDE] = ACTIONS(6520),
    [sym_constant] = ACTIONS(10722),
    [sym_identifier] = ACTIONS(10722),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7871] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7879),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4505),
    [sym_call] = STATE(4505),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(350),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(7880),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4507),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4508),
    [sym__variable] = STATE(4505),
    [sym_reserved_identifier] = STATE(7881),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(7882),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(10718),
    [sym__splat_star] = ACTIONS(10720),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(6504),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(608),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(6506),
    [anon_sym_yield] = ACTIONS(6508),
    [anon_sym_break] = ACTIONS(6510),
    [anon_sym_next] = ACTIONS(6512),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(6514),
    [anon_sym_not] = ACTIONS(6516),
    [anon_sym_BANG] = ACTIONS(6518),
    [anon_sym_TILDE] = ACTIONS(6520),
    [sym_constant] = ACTIONS(10722),
    [sym_identifier] = ACTIONS(10722),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7872] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7879),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4505),
    [sym_call] = STATE(4505),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(351),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(7880),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4507),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4508),
    [sym__variable] = STATE(4505),
    [sym_reserved_identifier] = STATE(7881),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(7882),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(10718),
    [sym__splat_star] = ACTIONS(10720),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(6504),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(612),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(6506),
    [anon_sym_yield] = ACTIONS(6508),
    [anon_sym_break] = ACTIONS(6510),
    [anon_sym_next] = ACTIONS(6512),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(6514),
    [anon_sym_not] = ACTIONS(6516),
    [anon_sym_BANG] = ACTIONS(6518),
    [anon_sym_TILDE] = ACTIONS(6520),
    [sym_constant] = ACTIONS(10722),
    [sym_identifier] = ACTIONS(10722),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7873] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_end] = ACTIONS(1372),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(10732),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_if] = ACTIONS(1372),
    [anon_sym_unless] = ACTIONS(1372),
    [anon_sym_while] = ACTIONS(1372),
    [anon_sym_until] = ACTIONS(1372),
    [anon_sym_rescue] = ACTIONS(1372),
    [anon_sym_EQ_GT] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [7874] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__line_break] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(13696),
    [sym__binary_star] = ACTIONS(13698),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_end] = ACTIONS(4284),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(13700),
    [anon_sym_SEMI] = ACTIONS(4284),
    [anon_sym_STAR_STAR] = ACTIONS(13702),
    [anon_sym_AMP] = ACTIONS(13704),
    [anon_sym_LT] = ACTIONS(13706),
    [anon_sym_if] = ACTIONS(4284),
    [anon_sym_unless] = ACTIONS(4284),
    [anon_sym_while] = ACTIONS(4284),
    [anon_sym_until] = ACTIONS(4284),
    [anon_sym_rescue] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(13708),
    [anon_sym_DOT_DOT] = ACTIONS(13710),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(13712),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(13714),
    [anon_sym_AMP_AMP] = ACTIONS(13714),
    [anon_sym_LT_LT] = ACTIONS(13716),
    [anon_sym_GT_GT] = ACTIONS(13716),
    [anon_sym_EQ_EQ] = ACTIONS(13718),
    [anon_sym_BANG_EQ] = ACTIONS(13714),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(13714),
    [anon_sym_LT_EQ_GT] = ACTIONS(13714),
    [anon_sym_EQ_TILDE] = ACTIONS(13714),
    [anon_sym_BANG_TILDE] = ACTIONS(13714),
    [anon_sym_LT_EQ] = ACTIONS(13706),
    [anon_sym_GT] = ACTIONS(13706),
    [anon_sym_GT_EQ] = ACTIONS(13720),
    [anon_sym_CARET] = ACTIONS(13722),
    [anon_sym_PLUS] = ACTIONS(13724),
    [anon_sym_SLASH] = ACTIONS(13702),
    [anon_sym_PERCENT] = ACTIONS(13702),
    [sym_comment] = ACTIONS(110),
  },
  [7875] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10856),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4505),
    [sym_call] = STATE(4505),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4507),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4508),
    [sym__variable] = STATE(4505),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6504),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(10706),
    [anon_sym_yield] = ACTIONS(10708),
    [anon_sym_break] = ACTIONS(10710),
    [anon_sym_next] = ACTIONS(10712),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10714),
    [anon_sym_defined_QMARK] = ACTIONS(6514),
    [anon_sym_not] = ACTIONS(10716),
    [anon_sym_BANG] = ACTIONS(6520),
    [anon_sym_TILDE] = ACTIONS(6520),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7876] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10857),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4505),
    [sym_call] = STATE(4505),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4507),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4508),
    [sym__variable] = STATE(4505),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6504),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(10706),
    [anon_sym_yield] = ACTIONS(10708),
    [anon_sym_break] = ACTIONS(10710),
    [anon_sym_next] = ACTIONS(10712),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10714),
    [anon_sym_defined_QMARK] = ACTIONS(6514),
    [anon_sym_not] = ACTIONS(10716),
    [anon_sym_BANG] = ACTIONS(6520),
    [anon_sym_TILDE] = ACTIONS(6520),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7877] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10858),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4505),
    [sym_call] = STATE(4505),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4507),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4508),
    [sym__variable] = STATE(4505),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6504),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(10706),
    [anon_sym_yield] = ACTIONS(10708),
    [anon_sym_break] = ACTIONS(10710),
    [anon_sym_next] = ACTIONS(10712),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10714),
    [anon_sym_defined_QMARK] = ACTIONS(6514),
    [anon_sym_not] = ACTIONS(10716),
    [anon_sym_BANG] = ACTIONS(6520),
    [anon_sym_TILDE] = ACTIONS(6520),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7878] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(13732),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [7879] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__line_break] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(10726),
    [sym__binary_star] = ACTIONS(10728),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_end] = ACTIONS(2210),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(10730),
    [anon_sym_SEMI] = ACTIONS(2210),
    [anon_sym_STAR_STAR] = ACTIONS(10732),
    [anon_sym_AMP] = ACTIONS(10734),
    [anon_sym_LT] = ACTIONS(10736),
    [anon_sym_if] = ACTIONS(2210),
    [anon_sym_unless] = ACTIONS(2210),
    [anon_sym_while] = ACTIONS(2210),
    [anon_sym_until] = ACTIONS(2210),
    [anon_sym_rescue] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(10738),
    [anon_sym_DOT_DOT] = ACTIONS(10740),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10742),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(10744),
    [anon_sym_AMP_AMP] = ACTIONS(10744),
    [anon_sym_LT_LT] = ACTIONS(10746),
    [anon_sym_GT_GT] = ACTIONS(10746),
    [anon_sym_EQ_EQ] = ACTIONS(10748),
    [anon_sym_BANG_EQ] = ACTIONS(10744),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10744),
    [anon_sym_LT_EQ_GT] = ACTIONS(10744),
    [anon_sym_EQ_TILDE] = ACTIONS(10744),
    [anon_sym_BANG_TILDE] = ACTIONS(10744),
    [anon_sym_LT_EQ] = ACTIONS(10736),
    [anon_sym_GT] = ACTIONS(10736),
    [anon_sym_GT_EQ] = ACTIONS(10750),
    [anon_sym_CARET] = ACTIONS(10752),
    [anon_sym_PLUS] = ACTIONS(10754),
    [anon_sym_SLASH] = ACTIONS(10732),
    [anon_sym_PERCENT] = ACTIONS(10732),
    [sym_comment] = ACTIONS(110),
  },
  [7880] = {
    [sym_heredoc_end] = STATE(1444),
    [aux_sym_argument_list_repeat1] = STATE(10861),
    [aux_sym_argument_list_repeat2] = STATE(1445),
    [sym__simple_heredoc_body] = ACTIONS(2268),
    [sym__heredoc_body_beginning] = ACTIONS(2270),
    [sym__line_break] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_end] = ACTIONS(2272),
    [anon_sym_COMMA] = ACTIONS(13734),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_STAR_STAR] = ACTIONS(2272),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_if] = ACTIONS(2272),
    [anon_sym_unless] = ACTIONS(2272),
    [anon_sym_while] = ACTIONS(2272),
    [anon_sym_until] = ACTIONS(2272),
    [anon_sym_rescue] = ACTIONS(2272),
    [anon_sym_EQ_GT] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2272),
    [anon_sym_AMP_AMP] = ACTIONS(2272),
    [anon_sym_LT_LT] = ACTIONS(2272),
    [anon_sym_GT_GT] = ACTIONS(2272),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2272),
    [anon_sym_PLUS] = ACTIONS(2272),
    [anon_sym_SLASH] = ACTIONS(2272),
    [anon_sym_PERCENT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(110),
  },
  [7881] = {
    [sym__keyword_colon] = ACTIONS(13736),
    [sym_comment] = ACTIONS(110),
  },
  [7882] = {
    [sym_string] = STATE(611),
    [aux_sym_chained_string_repeat1] = STATE(612),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(20),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(13732),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_end] = ACTIONS(250),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(120),
  },
  [7883] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_end] = ACTIONS(2870),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(10732),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [7884] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(10726),
    [sym__binary_star] = ACTIONS(10728),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_end] = ACTIONS(2870),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(10730),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(10732),
    [anon_sym_AMP] = ACTIONS(10734),
    [anon_sym_LT] = ACTIONS(10736),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(10738),
    [anon_sym_DOT_DOT] = ACTIONS(10740),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10742),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(10744),
    [anon_sym_AMP_AMP] = ACTIONS(10744),
    [anon_sym_LT_LT] = ACTIONS(10746),
    [anon_sym_GT_GT] = ACTIONS(10746),
    [anon_sym_EQ_EQ] = ACTIONS(10748),
    [anon_sym_BANG_EQ] = ACTIONS(10744),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10744),
    [anon_sym_LT_EQ_GT] = ACTIONS(10744),
    [anon_sym_EQ_TILDE] = ACTIONS(10744),
    [anon_sym_BANG_TILDE] = ACTIONS(10744),
    [anon_sym_LT_EQ] = ACTIONS(10736),
    [anon_sym_GT] = ACTIONS(10736),
    [anon_sym_GT_EQ] = ACTIONS(10750),
    [anon_sym_CARET] = ACTIONS(10752),
    [anon_sym_PLUS] = ACTIONS(10754),
    [anon_sym_SLASH] = ACTIONS(10732),
    [anon_sym_PERCENT] = ACTIONS(10732),
    [sym_comment] = ACTIONS(110),
  },
  [7885] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10863),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7866),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7867),
    [sym__variable] = STATE(1770),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(10696),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10698),
    [anon_sym_defined_QMARK] = ACTIONS(10700),
    [anon_sym_not] = ACTIONS(10702),
    [anon_sym_BANG] = ACTIONS(10704),
    [anon_sym_TILDE] = ACTIONS(10704),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7886] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10864),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4505),
    [sym_call] = STATE(4505),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4507),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4508),
    [sym__variable] = STATE(4505),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6504),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(10706),
    [anon_sym_yield] = ACTIONS(10708),
    [anon_sym_break] = ACTIONS(10710),
    [anon_sym_next] = ACTIONS(10712),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10714),
    [anon_sym_defined_QMARK] = ACTIONS(6514),
    [anon_sym_not] = ACTIONS(10716),
    [anon_sym_BANG] = ACTIONS(6520),
    [anon_sym_TILDE] = ACTIONS(6520),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7887] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10865),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4505),
    [sym_call] = STATE(4505),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4507),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4508),
    [sym__variable] = STATE(4505),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6504),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(10706),
    [anon_sym_yield] = ACTIONS(10708),
    [anon_sym_break] = ACTIONS(10710),
    [anon_sym_next] = ACTIONS(10712),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10714),
    [anon_sym_defined_QMARK] = ACTIONS(6514),
    [anon_sym_not] = ACTIONS(10716),
    [anon_sym_BANG] = ACTIONS(6520),
    [anon_sym_TILDE] = ACTIONS(6520),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7888] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10866),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4505),
    [sym_call] = STATE(4505),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4507),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4508),
    [sym__variable] = STATE(4505),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6504),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(10706),
    [anon_sym_yield] = ACTIONS(10708),
    [anon_sym_break] = ACTIONS(10710),
    [anon_sym_next] = ACTIONS(10712),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10714),
    [anon_sym_defined_QMARK] = ACTIONS(6514),
    [anon_sym_not] = ACTIONS(10716),
    [anon_sym_BANG] = ACTIONS(6520),
    [anon_sym_TILDE] = ACTIONS(6520),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7889] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10867),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4505),
    [sym_call] = STATE(4505),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4507),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4508),
    [sym__variable] = STATE(4505),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6504),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(10706),
    [anon_sym_yield] = ACTIONS(10708),
    [anon_sym_break] = ACTIONS(10710),
    [anon_sym_next] = ACTIONS(10712),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10714),
    [anon_sym_defined_QMARK] = ACTIONS(6514),
    [anon_sym_not] = ACTIONS(10716),
    [anon_sym_BANG] = ACTIONS(6520),
    [anon_sym_TILDE] = ACTIONS(6520),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7890] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10868),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4505),
    [sym_call] = STATE(4505),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4507),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4508),
    [sym__variable] = STATE(4505),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6504),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(10706),
    [anon_sym_yield] = ACTIONS(10708),
    [anon_sym_break] = ACTIONS(10710),
    [anon_sym_next] = ACTIONS(10712),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10714),
    [anon_sym_defined_QMARK] = ACTIONS(6514),
    [anon_sym_not] = ACTIONS(10716),
    [anon_sym_BANG] = ACTIONS(6520),
    [anon_sym_TILDE] = ACTIONS(6520),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7891] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10869),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4505),
    [sym_call] = STATE(4505),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4507),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4508),
    [sym__variable] = STATE(4505),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6504),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(10706),
    [anon_sym_yield] = ACTIONS(10708),
    [anon_sym_break] = ACTIONS(10710),
    [anon_sym_next] = ACTIONS(10712),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10714),
    [anon_sym_defined_QMARK] = ACTIONS(6514),
    [anon_sym_not] = ACTIONS(10716),
    [anon_sym_BANG] = ACTIONS(6520),
    [anon_sym_TILDE] = ACTIONS(6520),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7892] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(10870),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [7893] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10871),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4505),
    [sym_call] = STATE(4505),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4507),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4508),
    [sym__variable] = STATE(4505),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6504),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(10706),
    [anon_sym_yield] = ACTIONS(10708),
    [anon_sym_break] = ACTIONS(10710),
    [anon_sym_next] = ACTIONS(10712),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10714),
    [anon_sym_defined_QMARK] = ACTIONS(6514),
    [anon_sym_not] = ACTIONS(10716),
    [anon_sym_BANG] = ACTIONS(6520),
    [anon_sym_TILDE] = ACTIONS(6520),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7894] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10872),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4505),
    [sym_call] = STATE(4505),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4507),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4508),
    [sym__variable] = STATE(4505),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6504),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(10706),
    [anon_sym_yield] = ACTIONS(10708),
    [anon_sym_break] = ACTIONS(10710),
    [anon_sym_next] = ACTIONS(10712),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10714),
    [anon_sym_defined_QMARK] = ACTIONS(6514),
    [anon_sym_not] = ACTIONS(10716),
    [anon_sym_BANG] = ACTIONS(6520),
    [anon_sym_TILDE] = ACTIONS(6520),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7895] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10873),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4505),
    [sym_call] = STATE(4505),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4507),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4508),
    [sym__variable] = STATE(4505),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6504),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(10706),
    [anon_sym_yield] = ACTIONS(10708),
    [anon_sym_break] = ACTIONS(10710),
    [anon_sym_next] = ACTIONS(10712),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10714),
    [anon_sym_defined_QMARK] = ACTIONS(6514),
    [anon_sym_not] = ACTIONS(10716),
    [anon_sym_BANG] = ACTIONS(6520),
    [anon_sym_TILDE] = ACTIONS(6520),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7896] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10874),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4505),
    [sym_call] = STATE(4505),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4507),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4508),
    [sym__variable] = STATE(4505),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6504),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(10706),
    [anon_sym_yield] = ACTIONS(10708),
    [anon_sym_break] = ACTIONS(10710),
    [anon_sym_next] = ACTIONS(10712),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10714),
    [anon_sym_defined_QMARK] = ACTIONS(6514),
    [anon_sym_not] = ACTIONS(10716),
    [anon_sym_BANG] = ACTIONS(6520),
    [anon_sym_TILDE] = ACTIONS(6520),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7897] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10875),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4505),
    [sym_call] = STATE(4505),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4507),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4508),
    [sym__variable] = STATE(4505),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6504),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(10706),
    [anon_sym_yield] = ACTIONS(10708),
    [anon_sym_break] = ACTIONS(10710),
    [anon_sym_next] = ACTIONS(10712),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10714),
    [anon_sym_defined_QMARK] = ACTIONS(6514),
    [anon_sym_not] = ACTIONS(10716),
    [anon_sym_BANG] = ACTIONS(6520),
    [anon_sym_TILDE] = ACTIONS(6520),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7898] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10876),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4546),
    [sym_call] = STATE(4546),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4548),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4549),
    [sym__variable] = STATE(4546),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6572),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10790),
    [anon_sym_yield] = ACTIONS(10792),
    [anon_sym_break] = ACTIONS(10794),
    [anon_sym_next] = ACTIONS(10796),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10798),
    [anon_sym_defined_QMARK] = ACTIONS(6582),
    [anon_sym_not] = ACTIONS(10800),
    [anon_sym_BANG] = ACTIONS(6588),
    [anon_sym_TILDE] = ACTIONS(6588),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7899] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10877),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4546),
    [sym_call] = STATE(4546),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4548),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4549),
    [sym__variable] = STATE(4546),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6572),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10790),
    [anon_sym_yield] = ACTIONS(10792),
    [anon_sym_break] = ACTIONS(10794),
    [anon_sym_next] = ACTIONS(10796),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10798),
    [anon_sym_defined_QMARK] = ACTIONS(6582),
    [anon_sym_not] = ACTIONS(10800),
    [anon_sym_BANG] = ACTIONS(6588),
    [anon_sym_TILDE] = ACTIONS(6588),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7900] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10878),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4546),
    [sym_call] = STATE(4546),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4548),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4549),
    [sym__variable] = STATE(4546),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6572),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10790),
    [anon_sym_yield] = ACTIONS(10792),
    [anon_sym_break] = ACTIONS(10794),
    [anon_sym_next] = ACTIONS(10796),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10798),
    [anon_sym_defined_QMARK] = ACTIONS(6582),
    [anon_sym_not] = ACTIONS(10800),
    [anon_sym_BANG] = ACTIONS(6588),
    [anon_sym_TILDE] = ACTIONS(6588),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7901] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(13738),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [7902] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__line_break] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(10804),
    [sym__binary_star] = ACTIONS(10806),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_end] = ACTIONS(2210),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(10808),
    [anon_sym_SEMI] = ACTIONS(2210),
    [anon_sym_STAR_STAR] = ACTIONS(10810),
    [anon_sym_AMP] = ACTIONS(10812),
    [anon_sym_EQ] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(10814),
    [anon_sym_if] = ACTIONS(2210),
    [anon_sym_unless] = ACTIONS(2210),
    [anon_sym_while] = ACTIONS(2210),
    [anon_sym_until] = ACTIONS(2210),
    [anon_sym_rescue] = ACTIONS(2210),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_PLUS_EQ] = ACTIONS(2210),
    [anon_sym_DASH_EQ] = ACTIONS(2210),
    [anon_sym_STAR_EQ] = ACTIONS(2210),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2210),
    [anon_sym_SLASH_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2210),
    [anon_sym_AMP_EQ] = ACTIONS(2210),
    [anon_sym_PERCENT_EQ] = ACTIONS(2210),
    [anon_sym_GT_GT_EQ] = ACTIONS(2210),
    [anon_sym_LT_LT_EQ] = ACTIONS(2210),
    [anon_sym_CARET_EQ] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(10816),
    [anon_sym_DOT_DOT] = ACTIONS(10818),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10820),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(10822),
    [anon_sym_AMP_AMP] = ACTIONS(10822),
    [anon_sym_LT_LT] = ACTIONS(10824),
    [anon_sym_GT_GT] = ACTIONS(10824),
    [anon_sym_EQ_EQ] = ACTIONS(10822),
    [anon_sym_BANG_EQ] = ACTIONS(10826),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10826),
    [anon_sym_LT_EQ_GT] = ACTIONS(10826),
    [anon_sym_EQ_TILDE] = ACTIONS(10826),
    [anon_sym_BANG_TILDE] = ACTIONS(10826),
    [anon_sym_LT_EQ] = ACTIONS(10814),
    [anon_sym_GT] = ACTIONS(10814),
    [anon_sym_GT_EQ] = ACTIONS(10828),
    [anon_sym_CARET] = ACTIONS(10808),
    [anon_sym_PLUS] = ACTIONS(10830),
    [anon_sym_SLASH] = ACTIONS(10810),
    [anon_sym_PERCENT] = ACTIONS(10810),
    [sym_comment] = ACTIONS(256),
  },
  [7903] = {
    [sym_heredoc_end] = STATE(3770),
    [aux_sym_argument_list_repeat1] = STATE(10881),
    [aux_sym_argument_list_repeat2] = STATE(3771),
    [sym__simple_heredoc_body] = ACTIONS(5460),
    [sym__heredoc_body_beginning] = ACTIONS(5462),
    [sym__line_break] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_end] = ACTIONS(2272),
    [anon_sym_COMMA] = ACTIONS(13740),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_STAR_STAR] = ACTIONS(2274),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_EQ] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_if] = ACTIONS(2272),
    [anon_sym_unless] = ACTIONS(2272),
    [anon_sym_while] = ACTIONS(2272),
    [anon_sym_until] = ACTIONS(2272),
    [anon_sym_rescue] = ACTIONS(2272),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_EQ_GT] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_PLUS_EQ] = ACTIONS(2272),
    [anon_sym_DASH_EQ] = ACTIONS(2272),
    [anon_sym_STAR_EQ] = ACTIONS(2272),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2272),
    [anon_sym_SLASH_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2272),
    [anon_sym_AMP_EQ] = ACTIONS(2272),
    [anon_sym_PERCENT_EQ] = ACTIONS(2272),
    [anon_sym_GT_GT_EQ] = ACTIONS(2272),
    [anon_sym_LT_LT_EQ] = ACTIONS(2272),
    [anon_sym_CARET_EQ] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2274),
    [anon_sym_AMP_AMP] = ACTIONS(2274),
    [anon_sym_LT_LT] = ACTIONS(2274),
    [anon_sym_GT_GT] = ACTIONS(2274),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2274),
    [anon_sym_PLUS] = ACTIONS(2274),
    [anon_sym_SLASH] = ACTIONS(2274),
    [anon_sym_PERCENT] = ACTIONS(2274),
    [sym_comment] = ACTIONS(256),
  },
  [7904] = {
    [sym__keyword_colon] = ACTIONS(13742),
    [sym_comment] = ACTIONS(110),
  },
  [7905] = {
    [sym_string] = STATE(2203),
    [aux_sym_chained_string_repeat1] = STATE(2204),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(13738),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_end] = ACTIONS(250),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(3266),
  },
  [7906] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4504),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4505),
    [sym_call] = STATE(4505),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(3780),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4507),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4508),
    [sym__variable] = STATE(4505),
    [sym_reserved_identifier] = STATE(4509),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(4510),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(10883),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__block_ampersand] = ACTIONS(6500),
    [sym__splat_star] = ACTIONS(6502),
    [sym__unary_minus] = ACTIONS(6504),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(13744),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(6506),
    [anon_sym_yield] = ACTIONS(6508),
    [anon_sym_break] = ACTIONS(6510),
    [anon_sym_next] = ACTIONS(6512),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(10714),
    [anon_sym_defined_QMARK] = ACTIONS(6514),
    [anon_sym_not] = ACTIONS(6516),
    [anon_sym_BANG] = ACTIONS(6520),
    [anon_sym_TILDE] = ACTIONS(6520),
    [sym_constant] = ACTIONS(6522),
    [sym_identifier] = ACTIONS(6522),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7907] = {
    [sym_heredoc_end] = STATE(1444),
    [aux_sym_argument_list_repeat2] = STATE(3783),
    [sym__simple_heredoc_body] = ACTIONS(2268),
    [sym__heredoc_body_beginning] = ACTIONS(2270),
    [sym__line_break] = ACTIONS(5472),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_end] = ACTIONS(5472),
    [anon_sym_COMMA] = ACTIONS(13746),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_SEMI] = ACTIONS(5472),
    [anon_sym_STAR_STAR] = ACTIONS(5472),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_if] = ACTIONS(5472),
    [anon_sym_unless] = ACTIONS(5472),
    [anon_sym_while] = ACTIONS(5472),
    [anon_sym_until] = ACTIONS(5472),
    [anon_sym_rescue] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5472),
    [anon_sym_AMP_AMP] = ACTIONS(5472),
    [anon_sym_LT_LT] = ACTIONS(5472),
    [anon_sym_GT_GT] = ACTIONS(5472),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5472),
    [anon_sym_PLUS] = ACTIONS(5472),
    [anon_sym_SLASH] = ACTIONS(5472),
    [anon_sym_PERCENT] = ACTIONS(5472),
    [sym_comment] = ACTIONS(110),
  },
  [7908] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10885),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4505),
    [sym_call] = STATE(4505),
    [sym_method_call] = STATE(338),
    [sym_splat_argument] = STATE(3785),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_right_assignment_list] = STATE(3786),
    [sym__arg_or_splat_arg] = STATE(10886),
    [sym_left_assignment_list] = STATE(4507),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4508),
    [sym__variable] = STATE(4505),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(10720),
    [sym__unary_minus] = ACTIONS(6504),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(10706),
    [anon_sym_yield] = ACTIONS(10708),
    [anon_sym_break] = ACTIONS(10710),
    [anon_sym_next] = ACTIONS(10712),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10714),
    [anon_sym_defined_QMARK] = ACTIONS(6514),
    [anon_sym_not] = ACTIONS(10716),
    [anon_sym_BANG] = ACTIONS(6520),
    [anon_sym_TILDE] = ACTIONS(6520),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7909] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10887),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4505),
    [sym_call] = STATE(4505),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(4507),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4508),
    [sym__variable] = STATE(4505),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6504),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(10706),
    [anon_sym_yield] = ACTIONS(10708),
    [anon_sym_break] = ACTIONS(10710),
    [anon_sym_next] = ACTIONS(10712),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10714),
    [anon_sym_defined_QMARK] = ACTIONS(6514),
    [anon_sym_not] = ACTIONS(10716),
    [anon_sym_BANG] = ACTIONS(6520),
    [anon_sym_TILDE] = ACTIONS(6520),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7910] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10888),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7866),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7867),
    [sym__variable] = STATE(1770),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(10696),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10698),
    [anon_sym_defined_QMARK] = ACTIONS(10700),
    [anon_sym_not] = ACTIONS(10702),
    [anon_sym_BANG] = ACTIONS(10704),
    [anon_sym_TILDE] = ACTIONS(10704),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7911] = {
    [sym__top_level_statement] = STATE(4841),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(6996),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7912] = {
    [sym__simple_heredoc_body] = ACTIONS(6998),
    [sym__heredoc_body_beginning] = ACTIONS(6998),
    [sym__line_break] = ACTIONS(6998),
    [sym__binary_minus] = ACTIONS(6536),
    [sym__binary_star] = ACTIONS(6538),
    [anon_sym_end] = ACTIONS(6998),
    [anon_sym_PIPE] = ACTIONS(6540),
    [anon_sym_SEMI] = ACTIONS(6998),
    [anon_sym_STAR_STAR] = ACTIONS(6542),
    [anon_sym_AMP] = ACTIONS(6544),
    [anon_sym_LT] = ACTIONS(6546),
    [anon_sym_if] = ACTIONS(6998),
    [anon_sym_unless] = ACTIONS(6998),
    [anon_sym_while] = ACTIONS(6998),
    [anon_sym_until] = ACTIONS(6998),
    [anon_sym_rescue] = ACTIONS(6998),
    [anon_sym_QMARK] = ACTIONS(6548),
    [anon_sym_DOT_DOT] = ACTIONS(6550),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6552),
    [anon_sym_and] = ACTIONS(6554),
    [anon_sym_or] = ACTIONS(6554),
    [anon_sym_PIPE_PIPE] = ACTIONS(6556),
    [anon_sym_AMP_AMP] = ACTIONS(6556),
    [anon_sym_LT_LT] = ACTIONS(6558),
    [anon_sym_GT_GT] = ACTIONS(6558),
    [anon_sym_EQ_EQ] = ACTIONS(6560),
    [anon_sym_BANG_EQ] = ACTIONS(6556),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6556),
    [anon_sym_LT_EQ_GT] = ACTIONS(6556),
    [anon_sym_EQ_TILDE] = ACTIONS(6556),
    [anon_sym_BANG_TILDE] = ACTIONS(6556),
    [anon_sym_LT_EQ] = ACTIONS(6546),
    [anon_sym_GT] = ACTIONS(6546),
    [anon_sym_GT_EQ] = ACTIONS(6562),
    [anon_sym_CARET] = ACTIONS(6564),
    [anon_sym_PLUS] = ACTIONS(6566),
    [anon_sym_SLASH] = ACTIONS(6542),
    [anon_sym_PERCENT] = ACTIONS(6542),
    [sym_comment] = ACTIONS(110),
  },
  [7913] = {
    [sym__simple_heredoc_body] = ACTIONS(7000),
    [sym__heredoc_body_beginning] = ACTIONS(7000),
    [sym__line_break] = ACTIONS(7000),
    [sym__binary_minus] = ACTIONS(6536),
    [sym__binary_star] = ACTIONS(6538),
    [anon_sym_end] = ACTIONS(7000),
    [anon_sym_PIPE] = ACTIONS(6540),
    [anon_sym_SEMI] = ACTIONS(7000),
    [anon_sym_STAR_STAR] = ACTIONS(6542),
    [anon_sym_AMP] = ACTIONS(6544),
    [anon_sym_LT] = ACTIONS(6546),
    [anon_sym_if] = ACTIONS(7000),
    [anon_sym_unless] = ACTIONS(7000),
    [anon_sym_while] = ACTIONS(7000),
    [anon_sym_until] = ACTIONS(7000),
    [anon_sym_rescue] = ACTIONS(7000),
    [anon_sym_QMARK] = ACTIONS(6548),
    [anon_sym_DOT_DOT] = ACTIONS(6550),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6552),
    [anon_sym_and] = ACTIONS(6554),
    [anon_sym_or] = ACTIONS(6554),
    [anon_sym_PIPE_PIPE] = ACTIONS(6556),
    [anon_sym_AMP_AMP] = ACTIONS(6556),
    [anon_sym_LT_LT] = ACTIONS(6558),
    [anon_sym_GT_GT] = ACTIONS(6558),
    [anon_sym_EQ_EQ] = ACTIONS(6560),
    [anon_sym_BANG_EQ] = ACTIONS(6556),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6556),
    [anon_sym_LT_EQ_GT] = ACTIONS(6556),
    [anon_sym_EQ_TILDE] = ACTIONS(6556),
    [anon_sym_BANG_TILDE] = ACTIONS(6556),
    [anon_sym_LT_EQ] = ACTIONS(6546),
    [anon_sym_GT] = ACTIONS(6546),
    [anon_sym_GT_EQ] = ACTIONS(6562),
    [anon_sym_CARET] = ACTIONS(6564),
    [anon_sym_PLUS] = ACTIONS(6566),
    [anon_sym_SLASH] = ACTIONS(6542),
    [anon_sym_PERCENT] = ACTIONS(6542),
    [sym_comment] = ACTIONS(110),
  },
  [7914] = {
    [sym__simple_heredoc_body] = ACTIONS(7002),
    [sym__heredoc_body_beginning] = ACTIONS(7002),
    [sym__line_break] = ACTIONS(7002),
    [sym__binary_minus] = ACTIONS(6536),
    [sym__binary_star] = ACTIONS(6538),
    [anon_sym_end] = ACTIONS(7002),
    [anon_sym_PIPE] = ACTIONS(6540),
    [anon_sym_SEMI] = ACTIONS(7002),
    [anon_sym_STAR_STAR] = ACTIONS(6542),
    [anon_sym_AMP] = ACTIONS(6544),
    [anon_sym_LT] = ACTIONS(6546),
    [anon_sym_if] = ACTIONS(7002),
    [anon_sym_unless] = ACTIONS(7002),
    [anon_sym_while] = ACTIONS(7002),
    [anon_sym_until] = ACTIONS(7002),
    [anon_sym_rescue] = ACTIONS(7002),
    [anon_sym_QMARK] = ACTIONS(6548),
    [anon_sym_DOT_DOT] = ACTIONS(6550),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6552),
    [anon_sym_and] = ACTIONS(6554),
    [anon_sym_or] = ACTIONS(6554),
    [anon_sym_PIPE_PIPE] = ACTIONS(6556),
    [anon_sym_AMP_AMP] = ACTIONS(6556),
    [anon_sym_LT_LT] = ACTIONS(6558),
    [anon_sym_GT_GT] = ACTIONS(6558),
    [anon_sym_EQ_EQ] = ACTIONS(6560),
    [anon_sym_BANG_EQ] = ACTIONS(6556),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6556),
    [anon_sym_LT_EQ_GT] = ACTIONS(6556),
    [anon_sym_EQ_TILDE] = ACTIONS(6556),
    [anon_sym_BANG_TILDE] = ACTIONS(6556),
    [anon_sym_LT_EQ] = ACTIONS(6546),
    [anon_sym_GT] = ACTIONS(6546),
    [anon_sym_GT_EQ] = ACTIONS(6562),
    [anon_sym_CARET] = ACTIONS(6564),
    [anon_sym_PLUS] = ACTIONS(6566),
    [anon_sym_SLASH] = ACTIONS(6542),
    [anon_sym_PERCENT] = ACTIONS(6542),
    [sym_comment] = ACTIONS(110),
  },
  [7915] = {
    [sym__simple_heredoc_body] = ACTIONS(7004),
    [sym__heredoc_body_beginning] = ACTIONS(7004),
    [sym__line_break] = ACTIONS(7004),
    [sym__binary_minus] = ACTIONS(6536),
    [sym__binary_star] = ACTIONS(6538),
    [anon_sym_end] = ACTIONS(7004),
    [anon_sym_PIPE] = ACTIONS(6540),
    [anon_sym_SEMI] = ACTIONS(7004),
    [anon_sym_STAR_STAR] = ACTIONS(6542),
    [anon_sym_AMP] = ACTIONS(6544),
    [anon_sym_LT] = ACTIONS(6546),
    [anon_sym_if] = ACTIONS(7004),
    [anon_sym_unless] = ACTIONS(7004),
    [anon_sym_while] = ACTIONS(7004),
    [anon_sym_until] = ACTIONS(7004),
    [anon_sym_rescue] = ACTIONS(7004),
    [anon_sym_QMARK] = ACTIONS(6548),
    [anon_sym_DOT_DOT] = ACTIONS(6550),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6552),
    [anon_sym_and] = ACTIONS(6554),
    [anon_sym_or] = ACTIONS(6554),
    [anon_sym_PIPE_PIPE] = ACTIONS(6556),
    [anon_sym_AMP_AMP] = ACTIONS(6556),
    [anon_sym_LT_LT] = ACTIONS(6558),
    [anon_sym_GT_GT] = ACTIONS(6558),
    [anon_sym_EQ_EQ] = ACTIONS(6560),
    [anon_sym_BANG_EQ] = ACTIONS(6556),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6556),
    [anon_sym_LT_EQ_GT] = ACTIONS(6556),
    [anon_sym_EQ_TILDE] = ACTIONS(6556),
    [anon_sym_BANG_TILDE] = ACTIONS(6556),
    [anon_sym_LT_EQ] = ACTIONS(6546),
    [anon_sym_GT] = ACTIONS(6546),
    [anon_sym_GT_EQ] = ACTIONS(6562),
    [anon_sym_CARET] = ACTIONS(6564),
    [anon_sym_PLUS] = ACTIONS(6566),
    [anon_sym_SLASH] = ACTIONS(6542),
    [anon_sym_PERCENT] = ACTIONS(6542),
    [sym_comment] = ACTIONS(110),
  },
  [7916] = {
    [sym__simple_heredoc_body] = ACTIONS(7006),
    [sym__heredoc_body_beginning] = ACTIONS(7006),
    [sym__line_break] = ACTIONS(7006),
    [sym__binary_minus] = ACTIONS(6536),
    [sym__binary_star] = ACTIONS(6538),
    [anon_sym_end] = ACTIONS(7006),
    [anon_sym_PIPE] = ACTIONS(6540),
    [anon_sym_SEMI] = ACTIONS(7006),
    [anon_sym_STAR_STAR] = ACTIONS(6542),
    [anon_sym_AMP] = ACTIONS(6544),
    [anon_sym_LT] = ACTIONS(6546),
    [anon_sym_if] = ACTIONS(7006),
    [anon_sym_unless] = ACTIONS(7006),
    [anon_sym_while] = ACTIONS(7006),
    [anon_sym_until] = ACTIONS(7006),
    [anon_sym_rescue] = ACTIONS(7006),
    [anon_sym_QMARK] = ACTIONS(6548),
    [anon_sym_DOT_DOT] = ACTIONS(6550),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6552),
    [anon_sym_and] = ACTIONS(6554),
    [anon_sym_or] = ACTIONS(6554),
    [anon_sym_PIPE_PIPE] = ACTIONS(6556),
    [anon_sym_AMP_AMP] = ACTIONS(6556),
    [anon_sym_LT_LT] = ACTIONS(6558),
    [anon_sym_GT_GT] = ACTIONS(6558),
    [anon_sym_EQ_EQ] = ACTIONS(6560),
    [anon_sym_BANG_EQ] = ACTIONS(6556),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6556),
    [anon_sym_LT_EQ_GT] = ACTIONS(6556),
    [anon_sym_EQ_TILDE] = ACTIONS(6556),
    [anon_sym_BANG_TILDE] = ACTIONS(6556),
    [anon_sym_LT_EQ] = ACTIONS(6546),
    [anon_sym_GT] = ACTIONS(6546),
    [anon_sym_GT_EQ] = ACTIONS(6562),
    [anon_sym_CARET] = ACTIONS(6564),
    [anon_sym_PLUS] = ACTIONS(6566),
    [anon_sym_SLASH] = ACTIONS(6542),
    [anon_sym_PERCENT] = ACTIONS(6542),
    [sym_comment] = ACTIONS(110),
  },
  [7917] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__line_break] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(6538),
    [anon_sym_end] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_SEMI] = ACTIONS(7008),
    [anon_sym_STAR_STAR] = ACTIONS(6542),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_if] = ACTIONS(7008),
    [anon_sym_unless] = ACTIONS(7008),
    [anon_sym_while] = ACTIONS(7008),
    [anon_sym_until] = ACTIONS(7008),
    [anon_sym_rescue] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7008),
    [anon_sym_AMP_AMP] = ACTIONS(7008),
    [anon_sym_LT_LT] = ACTIONS(7008),
    [anon_sym_GT_GT] = ACTIONS(7008),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7008),
    [anon_sym_PLUS] = ACTIONS(7008),
    [anon_sym_SLASH] = ACTIONS(6542),
    [anon_sym_PERCENT] = ACTIONS(6542),
    [sym_comment] = ACTIONS(110),
  },
  [7918] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__line_break] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_end] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_SEMI] = ACTIONS(7012),
    [anon_sym_STAR_STAR] = ACTIONS(6542),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_if] = ACTIONS(7012),
    [anon_sym_unless] = ACTIONS(7012),
    [anon_sym_while] = ACTIONS(7012),
    [anon_sym_until] = ACTIONS(7012),
    [anon_sym_rescue] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7012),
    [anon_sym_AMP_AMP] = ACTIONS(7012),
    [anon_sym_LT_LT] = ACTIONS(7012),
    [anon_sym_GT_GT] = ACTIONS(7012),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7012),
    [anon_sym_PLUS] = ACTIONS(7012),
    [anon_sym_SLASH] = ACTIONS(7012),
    [anon_sym_PERCENT] = ACTIONS(7012),
    [sym_comment] = ACTIONS(110),
  },
  [7919] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6536),
    [sym__binary_star] = ACTIONS(6538),
    [anon_sym_end] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6542),
    [anon_sym_AMP] = ACTIONS(6544),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(6558),
    [anon_sym_GT_GT] = ACTIONS(6558),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(6566),
    [anon_sym_SLASH] = ACTIONS(6542),
    [anon_sym_PERCENT] = ACTIONS(6542),
    [sym_comment] = ACTIONS(110),
  },
  [7920] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_end] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6542),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7016),
    [anon_sym_PERCENT] = ACTIONS(7016),
    [sym_comment] = ACTIONS(110),
  },
  [7921] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6536),
    [sym__binary_star] = ACTIONS(6538),
    [anon_sym_end] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6542),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(6558),
    [anon_sym_GT_GT] = ACTIONS(6558),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(6566),
    [anon_sym_SLASH] = ACTIONS(6542),
    [anon_sym_PERCENT] = ACTIONS(6542),
    [sym_comment] = ACTIONS(110),
  },
  [7922] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6536),
    [sym__binary_star] = ACTIONS(6538),
    [anon_sym_end] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(6540),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6542),
    [anon_sym_AMP] = ACTIONS(6544),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(6558),
    [anon_sym_GT_GT] = ACTIONS(6558),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(6564),
    [anon_sym_PLUS] = ACTIONS(6566),
    [anon_sym_SLASH] = ACTIONS(6542),
    [anon_sym_PERCENT] = ACTIONS(6542),
    [sym_comment] = ACTIONS(110),
  },
  [7923] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(13748),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [7924] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__line_break] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(6536),
    [sym__binary_star] = ACTIONS(6538),
    [anon_sym_end] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(6540),
    [anon_sym_SEMI] = ACTIONS(7108),
    [anon_sym_STAR_STAR] = ACTIONS(6542),
    [anon_sym_AMP] = ACTIONS(6544),
    [anon_sym_LT] = ACTIONS(6546),
    [anon_sym_if] = ACTIONS(7108),
    [anon_sym_unless] = ACTIONS(7108),
    [anon_sym_while] = ACTIONS(7108),
    [anon_sym_until] = ACTIONS(7108),
    [anon_sym_rescue] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(6550),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6552),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(6556),
    [anon_sym_AMP_AMP] = ACTIONS(6556),
    [anon_sym_LT_LT] = ACTIONS(6558),
    [anon_sym_GT_GT] = ACTIONS(6558),
    [anon_sym_EQ_EQ] = ACTIONS(6560),
    [anon_sym_BANG_EQ] = ACTIONS(6556),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6556),
    [anon_sym_LT_EQ_GT] = ACTIONS(6556),
    [anon_sym_EQ_TILDE] = ACTIONS(6556),
    [anon_sym_BANG_TILDE] = ACTIONS(6556),
    [anon_sym_LT_EQ] = ACTIONS(6546),
    [anon_sym_GT] = ACTIONS(6546),
    [anon_sym_GT_EQ] = ACTIONS(6562),
    [anon_sym_CARET] = ACTIONS(6564),
    [anon_sym_PLUS] = ACTIONS(6566),
    [anon_sym_SLASH] = ACTIONS(6542),
    [anon_sym_PERCENT] = ACTIONS(6542),
    [sym_comment] = ACTIONS(110),
  },
  [7925] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6536),
    [sym__binary_star] = ACTIONS(6538),
    [anon_sym_end] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(6540),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6542),
    [anon_sym_AMP] = ACTIONS(6544),
    [anon_sym_LT] = ACTIONS(6546),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(6548),
    [anon_sym_DOT_DOT] = ACTIONS(6550),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6552),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(6556),
    [anon_sym_AMP_AMP] = ACTIONS(6556),
    [anon_sym_LT_LT] = ACTIONS(6558),
    [anon_sym_GT_GT] = ACTIONS(6558),
    [anon_sym_EQ_EQ] = ACTIONS(6560),
    [anon_sym_BANG_EQ] = ACTIONS(6556),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6556),
    [anon_sym_LT_EQ_GT] = ACTIONS(6556),
    [anon_sym_EQ_TILDE] = ACTIONS(6556),
    [anon_sym_BANG_TILDE] = ACTIONS(6556),
    [anon_sym_LT_EQ] = ACTIONS(6546),
    [anon_sym_GT] = ACTIONS(6546),
    [anon_sym_GT_EQ] = ACTIONS(6562),
    [anon_sym_CARET] = ACTIONS(6564),
    [anon_sym_PLUS] = ACTIONS(6566),
    [anon_sym_SLASH] = ACTIONS(6542),
    [anon_sym_PERCENT] = ACTIONS(6542),
    [sym_comment] = ACTIONS(110),
  },
  [7926] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6536),
    [sym__binary_star] = ACTIONS(6538),
    [anon_sym_end] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(6540),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6542),
    [anon_sym_AMP] = ACTIONS(6544),
    [anon_sym_LT] = ACTIONS(6546),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(6558),
    [anon_sym_GT_GT] = ACTIONS(6558),
    [anon_sym_EQ_EQ] = ACTIONS(6560),
    [anon_sym_BANG_EQ] = ACTIONS(6556),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6556),
    [anon_sym_LT_EQ_GT] = ACTIONS(6556),
    [anon_sym_EQ_TILDE] = ACTIONS(6556),
    [anon_sym_BANG_TILDE] = ACTIONS(6556),
    [anon_sym_LT_EQ] = ACTIONS(6546),
    [anon_sym_GT] = ACTIONS(6546),
    [anon_sym_GT_EQ] = ACTIONS(6562),
    [anon_sym_CARET] = ACTIONS(6564),
    [anon_sym_PLUS] = ACTIONS(6566),
    [anon_sym_SLASH] = ACTIONS(6542),
    [anon_sym_PERCENT] = ACTIONS(6542),
    [sym_comment] = ACTIONS(110),
  },
  [7927] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6536),
    [sym__binary_star] = ACTIONS(6538),
    [anon_sym_end] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6542),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(6566),
    [anon_sym_SLASH] = ACTIONS(6542),
    [anon_sym_PERCENT] = ACTIONS(6542),
    [sym_comment] = ACTIONS(110),
  },
  [7928] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(6538),
    [anon_sym_end] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6542),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(6542),
    [anon_sym_PERCENT] = ACTIONS(6542),
    [sym_comment] = ACTIONS(110),
  },
  [7929] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10890),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(7938),
    [sym_call] = STATE(7938),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(7939),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7940),
    [sym__variable] = STATE(7938),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(10772),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(10774),
    [anon_sym_yield] = ACTIONS(10776),
    [anon_sym_break] = ACTIONS(10778),
    [anon_sym_next] = ACTIONS(10780),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(10782),
    [anon_sym_defined_QMARK] = ACTIONS(10784),
    [anon_sym_not] = ACTIONS(10786),
    [anon_sym_BANG] = ACTIONS(10788),
    [anon_sym_TILDE] = ACTIONS(10788),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7930] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4545),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4546),
    [sym_call] = STATE(4546),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(4940),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(4547),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4548),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4549),
    [sym__variable] = STATE(4546),
    [sym_reserved_identifier] = STATE(4550),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(4551),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(6568),
    [sym__splat_star] = ACTIONS(6570),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(6572),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(544),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(544),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(6574),
    [anon_sym_yield] = ACTIONS(6576),
    [anon_sym_break] = ACTIONS(6578),
    [anon_sym_next] = ACTIONS(6580),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_PLUS_EQ] = ACTIONS(532),
    [anon_sym_DASH_EQ] = ACTIONS(532),
    [anon_sym_STAR_EQ] = ACTIONS(532),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(532),
    [anon_sym_SLASH_EQ] = ACTIONS(532),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(532),
    [anon_sym_PIPE_EQ] = ACTIONS(532),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(532),
    [anon_sym_AMP_EQ] = ACTIONS(532),
    [anon_sym_PERCENT_EQ] = ACTIONS(532),
    [anon_sym_GT_GT_EQ] = ACTIONS(532),
    [anon_sym_LT_LT_EQ] = ACTIONS(532),
    [anon_sym_CARET_EQ] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(544),
    [anon_sym_AMP_AMP] = ACTIONS(544),
    [anon_sym_LT_LT] = ACTIONS(544),
    [anon_sym_GT_GT] = ACTIONS(544),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(544),
    [anon_sym_PERCENT] = ACTIONS(544),
    [anon_sym_defined_QMARK] = ACTIONS(6582),
    [anon_sym_not] = ACTIONS(6584),
    [anon_sym_BANG] = ACTIONS(6586),
    [anon_sym_TILDE] = ACTIONS(6588),
    [sym_constant] = ACTIONS(6590),
    [sym_identifier] = ACTIONS(6590),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7931] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4545),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4546),
    [sym_call] = STATE(4546),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(4941),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(4547),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4548),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4549),
    [sym__variable] = STATE(4546),
    [sym_reserved_identifier] = STATE(4550),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(4551),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(6568),
    [sym__splat_star] = ACTIONS(6570),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(6572),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(604),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(604),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(6574),
    [anon_sym_yield] = ACTIONS(6576),
    [anon_sym_break] = ACTIONS(6578),
    [anon_sym_next] = ACTIONS(6580),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_PLUS_EQ] = ACTIONS(602),
    [anon_sym_DASH_EQ] = ACTIONS(602),
    [anon_sym_STAR_EQ] = ACTIONS(602),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(602),
    [anon_sym_SLASH_EQ] = ACTIONS(602),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(602),
    [anon_sym_PIPE_EQ] = ACTIONS(602),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(602),
    [anon_sym_AMP_EQ] = ACTIONS(602),
    [anon_sym_PERCENT_EQ] = ACTIONS(602),
    [anon_sym_GT_GT_EQ] = ACTIONS(602),
    [anon_sym_LT_LT_EQ] = ACTIONS(602),
    [anon_sym_CARET_EQ] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(604),
    [anon_sym_AMP_AMP] = ACTIONS(604),
    [anon_sym_LT_LT] = ACTIONS(604),
    [anon_sym_GT_GT] = ACTIONS(604),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(604),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(604),
    [anon_sym_PERCENT] = ACTIONS(604),
    [anon_sym_defined_QMARK] = ACTIONS(6582),
    [anon_sym_not] = ACTIONS(6584),
    [anon_sym_BANG] = ACTIONS(6586),
    [anon_sym_TILDE] = ACTIONS(6588),
    [sym_constant] = ACTIONS(6590),
    [sym_identifier] = ACTIONS(6590),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7932] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4545),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4546),
    [sym_call] = STATE(4546),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(4942),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(4547),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4548),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4549),
    [sym__variable] = STATE(4546),
    [sym_reserved_identifier] = STATE(4550),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(4551),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(6568),
    [sym__splat_star] = ACTIONS(6570),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(6572),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(608),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(608),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(6574),
    [anon_sym_yield] = ACTIONS(6576),
    [anon_sym_break] = ACTIONS(6578),
    [anon_sym_next] = ACTIONS(6580),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_PLUS_EQ] = ACTIONS(606),
    [anon_sym_DASH_EQ] = ACTIONS(606),
    [anon_sym_STAR_EQ] = ACTIONS(606),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(606),
    [anon_sym_SLASH_EQ] = ACTIONS(606),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(606),
    [anon_sym_PIPE_EQ] = ACTIONS(606),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(606),
    [anon_sym_AMP_EQ] = ACTIONS(606),
    [anon_sym_PERCENT_EQ] = ACTIONS(606),
    [anon_sym_GT_GT_EQ] = ACTIONS(606),
    [anon_sym_LT_LT_EQ] = ACTIONS(606),
    [anon_sym_CARET_EQ] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(608),
    [anon_sym_AMP_AMP] = ACTIONS(608),
    [anon_sym_LT_LT] = ACTIONS(608),
    [anon_sym_GT_GT] = ACTIONS(608),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(608),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(608),
    [anon_sym_PERCENT] = ACTIONS(608),
    [anon_sym_defined_QMARK] = ACTIONS(6582),
    [anon_sym_not] = ACTIONS(6584),
    [anon_sym_BANG] = ACTIONS(6586),
    [anon_sym_TILDE] = ACTIONS(6588),
    [sym_constant] = ACTIONS(6590),
    [sym_identifier] = ACTIONS(6590),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7933] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4545),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4546),
    [sym_call] = STATE(4546),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(4943),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(4547),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4548),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4549),
    [sym__variable] = STATE(4546),
    [sym_reserved_identifier] = STATE(4550),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(4551),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(6568),
    [sym__splat_star] = ACTIONS(6570),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(6572),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(612),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(612),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(6574),
    [anon_sym_yield] = ACTIONS(6576),
    [anon_sym_break] = ACTIONS(6578),
    [anon_sym_next] = ACTIONS(6580),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_PLUS_EQ] = ACTIONS(610),
    [anon_sym_DASH_EQ] = ACTIONS(610),
    [anon_sym_STAR_EQ] = ACTIONS(610),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(610),
    [anon_sym_SLASH_EQ] = ACTIONS(610),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(610),
    [anon_sym_PIPE_EQ] = ACTIONS(610),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(610),
    [anon_sym_AMP_EQ] = ACTIONS(610),
    [anon_sym_PERCENT_EQ] = ACTIONS(610),
    [anon_sym_GT_GT_EQ] = ACTIONS(610),
    [anon_sym_LT_LT_EQ] = ACTIONS(610),
    [anon_sym_CARET_EQ] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(612),
    [anon_sym_AMP_AMP] = ACTIONS(612),
    [anon_sym_LT_LT] = ACTIONS(612),
    [anon_sym_GT_GT] = ACTIONS(612),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(612),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(612),
    [anon_sym_PERCENT] = ACTIONS(612),
    [anon_sym_defined_QMARK] = ACTIONS(6582),
    [anon_sym_not] = ACTIONS(6584),
    [anon_sym_BANG] = ACTIONS(6586),
    [anon_sym_TILDE] = ACTIONS(6588),
    [sym_constant] = ACTIONS(6590),
    [sym_identifier] = ACTIONS(6590),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7934] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10891),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(7938),
    [sym_call] = STATE(7938),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(7939),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7940),
    [sym__variable] = STATE(7938),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(10772),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(10774),
    [anon_sym_yield] = ACTIONS(10776),
    [anon_sym_break] = ACTIONS(10778),
    [anon_sym_next] = ACTIONS(10780),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(10782),
    [anon_sym_defined_QMARK] = ACTIONS(10784),
    [anon_sym_not] = ACTIONS(10786),
    [anon_sym_BANG] = ACTIONS(10788),
    [anon_sym_TILDE] = ACTIONS(10788),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7935] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10892),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(7938),
    [sym_call] = STATE(7938),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(7939),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7940),
    [sym__variable] = STATE(7938),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(10772),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(10774),
    [anon_sym_yield] = ACTIONS(10776),
    [anon_sym_break] = ACTIONS(10778),
    [anon_sym_next] = ACTIONS(10780),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(10782),
    [anon_sym_defined_QMARK] = ACTIONS(10784),
    [anon_sym_not] = ACTIONS(10786),
    [anon_sym_BANG] = ACTIONS(10788),
    [anon_sym_TILDE] = ACTIONS(10788),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7936] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(4957),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(7938),
    [sym_call] = STATE(7938),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(7939),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7940),
    [sym__variable] = STATE(7938),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(10772),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(10774),
    [anon_sym_yield] = ACTIONS(10776),
    [anon_sym_break] = ACTIONS(10778),
    [anon_sym_next] = ACTIONS(10780),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(10782),
    [anon_sym_defined_QMARK] = ACTIONS(10784),
    [anon_sym_not] = ACTIONS(10786),
    [anon_sym_BANG] = ACTIONS(10788),
    [anon_sym_TILDE] = ACTIONS(10788),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7937] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__line_break] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(13750),
    [sym__binary_star] = ACTIONS(13752),
    [anon_sym_LBRACE] = ACTIONS(5298),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_end] = ACTIONS(5298),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(13754),
    [anon_sym_SEMI] = ACTIONS(5298),
    [anon_sym_STAR_STAR] = ACTIONS(13756),
    [anon_sym_AMP] = ACTIONS(13758),
    [anon_sym_EQ] = ACTIONS(5304),
    [anon_sym_LT] = ACTIONS(13760),
    [anon_sym_if] = ACTIONS(5298),
    [anon_sym_unless] = ACTIONS(5298),
    [anon_sym_while] = ACTIONS(5298),
    [anon_sym_until] = ACTIONS(5298),
    [anon_sym_rescue] = ACTIONS(5298),
    [anon_sym_do] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_PLUS_EQ] = ACTIONS(5298),
    [anon_sym_DASH_EQ] = ACTIONS(5298),
    [anon_sym_STAR_EQ] = ACTIONS(5298),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5298),
    [anon_sym_SLASH_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5298),
    [anon_sym_AMP_EQ] = ACTIONS(5298),
    [anon_sym_PERCENT_EQ] = ACTIONS(5298),
    [anon_sym_GT_GT_EQ] = ACTIONS(5298),
    [anon_sym_LT_LT_EQ] = ACTIONS(5298),
    [anon_sym_CARET_EQ] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(13762),
    [anon_sym_DOT_DOT] = ACTIONS(13764),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(13766),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(13768),
    [anon_sym_AMP_AMP] = ACTIONS(13768),
    [anon_sym_LT_LT] = ACTIONS(13770),
    [anon_sym_GT_GT] = ACTIONS(13770),
    [anon_sym_EQ_EQ] = ACTIONS(13768),
    [anon_sym_BANG_EQ] = ACTIONS(13772),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(13772),
    [anon_sym_LT_EQ_GT] = ACTIONS(13772),
    [anon_sym_EQ_TILDE] = ACTIONS(13772),
    [anon_sym_BANG_TILDE] = ACTIONS(13772),
    [anon_sym_LT_EQ] = ACTIONS(13760),
    [anon_sym_GT] = ACTIONS(13760),
    [anon_sym_GT_EQ] = ACTIONS(13774),
    [anon_sym_CARET] = ACTIONS(13754),
    [anon_sym_PLUS] = ACTIONS(13776),
    [anon_sym_SLASH] = ACTIONS(13756),
    [anon_sym_PERCENT] = ACTIONS(13756),
    [sym_comment] = ACTIONS(256),
  },
  [7938] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4545),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4546),
    [sym_call] = STATE(4546),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(1579),
    [sym__argument_list_with_parens] = STATE(599),
    [sym__argument] = STATE(4547),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_do_block] = STATE(602),
    [sym_block] = STATE(602),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4548),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4549),
    [sym__variable] = STATE(4546),
    [sym_reserved_identifier] = STATE(4550),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(4551),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(980),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(6568),
    [sym__splat_star] = ACTIONS(6570),
    [sym__argument_list_left_paren] = ACTIONS(1010),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(6572),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(1014),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(982),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(6574),
    [anon_sym_yield] = ACTIONS(6576),
    [anon_sym_break] = ACTIONS(6578),
    [anon_sym_next] = ACTIONS(6580),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(982),
    [anon_sym_unless] = ACTIONS(982),
    [anon_sym_while] = ACTIONS(982),
    [anon_sym_until] = ACTIONS(982),
    [anon_sym_rescue] = ACTIONS(982),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(982),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(6582),
    [anon_sym_not] = ACTIONS(6584),
    [anon_sym_BANG] = ACTIONS(6586),
    [anon_sym_TILDE] = ACTIONS(6588),
    [sym_constant] = ACTIONS(6590),
    [sym_identifier] = ACTIONS(6590),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7939] = {
    [anon_sym_EQ] = ACTIONS(13778),
    [sym_comment] = ACTIONS(256),
  },
  [7940] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_end] = ACTIONS(250),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(13780),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(13782),
    [anon_sym_DASH_EQ] = ACTIONS(13782),
    [anon_sym_STAR_EQ] = ACTIONS(13782),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(13782),
    [anon_sym_SLASH_EQ] = ACTIONS(13782),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(13782),
    [anon_sym_PIPE_EQ] = ACTIONS(13782),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(13782),
    [anon_sym_AMP_EQ] = ACTIONS(13782),
    [anon_sym_PERCENT_EQ] = ACTIONS(13782),
    [anon_sym_GT_GT_EQ] = ACTIONS(13782),
    [anon_sym_LT_LT_EQ] = ACTIONS(13782),
    [anon_sym_CARET_EQ] = ACTIONS(13782),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [7941] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__line_break] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(13750),
    [sym__binary_star] = ACTIONS(13752),
    [anon_sym_LBRACE] = ACTIONS(5338),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_end] = ACTIONS(5338),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(13754),
    [anon_sym_SEMI] = ACTIONS(5338),
    [anon_sym_STAR_STAR] = ACTIONS(13756),
    [anon_sym_AMP] = ACTIONS(13758),
    [anon_sym_EQ] = ACTIONS(5340),
    [anon_sym_LT] = ACTIONS(13760),
    [anon_sym_if] = ACTIONS(5338),
    [anon_sym_unless] = ACTIONS(5338),
    [anon_sym_while] = ACTIONS(5338),
    [anon_sym_until] = ACTIONS(5338),
    [anon_sym_rescue] = ACTIONS(5338),
    [anon_sym_do] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_PLUS_EQ] = ACTIONS(5338),
    [anon_sym_DASH_EQ] = ACTIONS(5338),
    [anon_sym_STAR_EQ] = ACTIONS(5338),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5338),
    [anon_sym_SLASH_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5338),
    [anon_sym_AMP_EQ] = ACTIONS(5338),
    [anon_sym_PERCENT_EQ] = ACTIONS(5338),
    [anon_sym_GT_GT_EQ] = ACTIONS(5338),
    [anon_sym_LT_LT_EQ] = ACTIONS(5338),
    [anon_sym_CARET_EQ] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(13762),
    [anon_sym_DOT_DOT] = ACTIONS(13764),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(13766),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(13768),
    [anon_sym_AMP_AMP] = ACTIONS(13768),
    [anon_sym_LT_LT] = ACTIONS(13770),
    [anon_sym_GT_GT] = ACTIONS(13770),
    [anon_sym_EQ_EQ] = ACTIONS(13768),
    [anon_sym_BANG_EQ] = ACTIONS(13772),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(13772),
    [anon_sym_LT_EQ_GT] = ACTIONS(13772),
    [anon_sym_EQ_TILDE] = ACTIONS(13772),
    [anon_sym_BANG_TILDE] = ACTIONS(13772),
    [anon_sym_LT_EQ] = ACTIONS(13760),
    [anon_sym_GT] = ACTIONS(13760),
    [anon_sym_GT_EQ] = ACTIONS(13774),
    [anon_sym_CARET] = ACTIONS(13754),
    [anon_sym_PLUS] = ACTIONS(13776),
    [anon_sym_SLASH] = ACTIONS(13756),
    [anon_sym_PERCENT] = ACTIONS(13756),
    [sym_comment] = ACTIONS(256),
  },
  [7942] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7902),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4546),
    [sym_call] = STATE(4546),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2147),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(7903),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4548),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4549),
    [sym__variable] = STATE(4546),
    [sym_reserved_identifier] = STATE(7904),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(7905),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(10756),
    [sym__splat_star] = ACTIONS(10758),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(6572),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(544),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(544),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(6574),
    [anon_sym_yield] = ACTIONS(6576),
    [anon_sym_break] = ACTIONS(6578),
    [anon_sym_next] = ACTIONS(6580),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_PLUS_EQ] = ACTIONS(532),
    [anon_sym_DASH_EQ] = ACTIONS(532),
    [anon_sym_STAR_EQ] = ACTIONS(532),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(532),
    [anon_sym_SLASH_EQ] = ACTIONS(532),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(532),
    [anon_sym_PIPE_EQ] = ACTIONS(532),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(532),
    [anon_sym_AMP_EQ] = ACTIONS(532),
    [anon_sym_PERCENT_EQ] = ACTIONS(532),
    [anon_sym_GT_GT_EQ] = ACTIONS(532),
    [anon_sym_LT_LT_EQ] = ACTIONS(532),
    [anon_sym_CARET_EQ] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(544),
    [anon_sym_AMP_AMP] = ACTIONS(544),
    [anon_sym_LT_LT] = ACTIONS(544),
    [anon_sym_GT_GT] = ACTIONS(544),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(544),
    [anon_sym_PERCENT] = ACTIONS(544),
    [anon_sym_defined_QMARK] = ACTIONS(6582),
    [anon_sym_not] = ACTIONS(6584),
    [anon_sym_BANG] = ACTIONS(6586),
    [anon_sym_TILDE] = ACTIONS(6588),
    [sym_constant] = ACTIONS(10760),
    [sym_identifier] = ACTIONS(10760),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7943] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7902),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4546),
    [sym_call] = STATE(4546),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2148),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(7903),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4548),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4549),
    [sym__variable] = STATE(4546),
    [sym_reserved_identifier] = STATE(7904),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(7905),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(10756),
    [sym__splat_star] = ACTIONS(10758),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(6572),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(604),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(604),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(6574),
    [anon_sym_yield] = ACTIONS(6576),
    [anon_sym_break] = ACTIONS(6578),
    [anon_sym_next] = ACTIONS(6580),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_PLUS_EQ] = ACTIONS(602),
    [anon_sym_DASH_EQ] = ACTIONS(602),
    [anon_sym_STAR_EQ] = ACTIONS(602),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(602),
    [anon_sym_SLASH_EQ] = ACTIONS(602),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(602),
    [anon_sym_PIPE_EQ] = ACTIONS(602),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(602),
    [anon_sym_AMP_EQ] = ACTIONS(602),
    [anon_sym_PERCENT_EQ] = ACTIONS(602),
    [anon_sym_GT_GT_EQ] = ACTIONS(602),
    [anon_sym_LT_LT_EQ] = ACTIONS(602),
    [anon_sym_CARET_EQ] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(604),
    [anon_sym_AMP_AMP] = ACTIONS(604),
    [anon_sym_LT_LT] = ACTIONS(604),
    [anon_sym_GT_GT] = ACTIONS(604),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(604),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(604),
    [anon_sym_PERCENT] = ACTIONS(604),
    [anon_sym_defined_QMARK] = ACTIONS(6582),
    [anon_sym_not] = ACTIONS(6584),
    [anon_sym_BANG] = ACTIONS(6586),
    [anon_sym_TILDE] = ACTIONS(6588),
    [sym_constant] = ACTIONS(10760),
    [sym_identifier] = ACTIONS(10760),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7944] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7902),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4546),
    [sym_call] = STATE(4546),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2149),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(7903),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4548),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4549),
    [sym__variable] = STATE(4546),
    [sym_reserved_identifier] = STATE(7904),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(7905),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(10756),
    [sym__splat_star] = ACTIONS(10758),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(6572),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(608),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(608),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(6574),
    [anon_sym_yield] = ACTIONS(6576),
    [anon_sym_break] = ACTIONS(6578),
    [anon_sym_next] = ACTIONS(6580),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_PLUS_EQ] = ACTIONS(606),
    [anon_sym_DASH_EQ] = ACTIONS(606),
    [anon_sym_STAR_EQ] = ACTIONS(606),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(606),
    [anon_sym_SLASH_EQ] = ACTIONS(606),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(606),
    [anon_sym_PIPE_EQ] = ACTIONS(606),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(606),
    [anon_sym_AMP_EQ] = ACTIONS(606),
    [anon_sym_PERCENT_EQ] = ACTIONS(606),
    [anon_sym_GT_GT_EQ] = ACTIONS(606),
    [anon_sym_LT_LT_EQ] = ACTIONS(606),
    [anon_sym_CARET_EQ] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(608),
    [anon_sym_AMP_AMP] = ACTIONS(608),
    [anon_sym_LT_LT] = ACTIONS(608),
    [anon_sym_GT_GT] = ACTIONS(608),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(608),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(608),
    [anon_sym_PERCENT] = ACTIONS(608),
    [anon_sym_defined_QMARK] = ACTIONS(6582),
    [anon_sym_not] = ACTIONS(6584),
    [anon_sym_BANG] = ACTIONS(6586),
    [anon_sym_TILDE] = ACTIONS(6588),
    [sym_constant] = ACTIONS(10760),
    [sym_identifier] = ACTIONS(10760),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7945] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(7902),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4546),
    [sym_call] = STATE(4546),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(2150),
    [sym__argument_list_with_parens] = STATE(1436),
    [sym__argument] = STATE(7903),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4548),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4549),
    [sym__variable] = STATE(4546),
    [sym_reserved_identifier] = STATE(7904),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(7905),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(10756),
    [sym__splat_star] = ACTIONS(10758),
    [sym__argument_list_left_paren] = ACTIONS(2256),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(6572),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(612),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(612),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(6574),
    [anon_sym_yield] = ACTIONS(6576),
    [anon_sym_break] = ACTIONS(6578),
    [anon_sym_next] = ACTIONS(6580),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_PLUS_EQ] = ACTIONS(610),
    [anon_sym_DASH_EQ] = ACTIONS(610),
    [anon_sym_STAR_EQ] = ACTIONS(610),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(610),
    [anon_sym_SLASH_EQ] = ACTIONS(610),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(610),
    [anon_sym_PIPE_EQ] = ACTIONS(610),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(610),
    [anon_sym_AMP_EQ] = ACTIONS(610),
    [anon_sym_PERCENT_EQ] = ACTIONS(610),
    [anon_sym_GT_GT_EQ] = ACTIONS(610),
    [anon_sym_LT_LT_EQ] = ACTIONS(610),
    [anon_sym_CARET_EQ] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(612),
    [anon_sym_AMP_AMP] = ACTIONS(612),
    [anon_sym_LT_LT] = ACTIONS(612),
    [anon_sym_GT_GT] = ACTIONS(612),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(612),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(612),
    [anon_sym_PERCENT] = ACTIONS(612),
    [anon_sym_defined_QMARK] = ACTIONS(6582),
    [anon_sym_not] = ACTIONS(6584),
    [anon_sym_BANG] = ACTIONS(6586),
    [anon_sym_TILDE] = ACTIONS(6588),
    [sym_constant] = ACTIONS(10760),
    [sym_identifier] = ACTIONS(10760),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7946] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_LBRACE] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_end] = ACTIONS(1372),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(10810),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_EQ] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_if] = ACTIONS(1372),
    [anon_sym_unless] = ACTIONS(1372),
    [anon_sym_while] = ACTIONS(1372),
    [anon_sym_until] = ACTIONS(1372),
    [anon_sym_rescue] = ACTIONS(1372),
    [anon_sym_do] = ACTIONS(1372),
    [anon_sym_EQ_GT] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_PLUS_EQ] = ACTIONS(1372),
    [anon_sym_DASH_EQ] = ACTIONS(1372),
    [anon_sym_STAR_EQ] = ACTIONS(1372),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1372),
    [anon_sym_SLASH_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1372),
    [anon_sym_AMP_EQ] = ACTIONS(1372),
    [anon_sym_PERCENT_EQ] = ACTIONS(1372),
    [anon_sym_GT_GT_EQ] = ACTIONS(1372),
    [anon_sym_LT_LT_EQ] = ACTIONS(1372),
    [anon_sym_CARET_EQ] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1374),
    [anon_sym_AMP_AMP] = ACTIONS(1374),
    [anon_sym_LT_LT] = ACTIONS(1374),
    [anon_sym_GT_GT] = ACTIONS(1374),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1374),
    [anon_sym_PLUS] = ACTIONS(1374),
    [anon_sym_SLASH] = ACTIONS(1374),
    [anon_sym_PERCENT] = ACTIONS(1374),
    [sym_comment] = ACTIONS(256),
  },
  [7947] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__line_break] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(13750),
    [sym__binary_star] = ACTIONS(13752),
    [anon_sym_LBRACE] = ACTIONS(4284),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_end] = ACTIONS(4284),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(13754),
    [anon_sym_SEMI] = ACTIONS(4284),
    [anon_sym_STAR_STAR] = ACTIONS(13756),
    [anon_sym_AMP] = ACTIONS(13758),
    [anon_sym_EQ] = ACTIONS(5432),
    [anon_sym_LT] = ACTIONS(13760),
    [anon_sym_if] = ACTIONS(4284),
    [anon_sym_unless] = ACTIONS(4284),
    [anon_sym_while] = ACTIONS(4284),
    [anon_sym_until] = ACTIONS(4284),
    [anon_sym_rescue] = ACTIONS(4284),
    [anon_sym_do] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_PLUS_EQ] = ACTIONS(4284),
    [anon_sym_DASH_EQ] = ACTIONS(4284),
    [anon_sym_STAR_EQ] = ACTIONS(4284),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(4284),
    [anon_sym_SLASH_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(4284),
    [anon_sym_AMP_EQ] = ACTIONS(4284),
    [anon_sym_PERCENT_EQ] = ACTIONS(4284),
    [anon_sym_GT_GT_EQ] = ACTIONS(4284),
    [anon_sym_LT_LT_EQ] = ACTIONS(4284),
    [anon_sym_CARET_EQ] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(13762),
    [anon_sym_DOT_DOT] = ACTIONS(13764),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(13766),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(13768),
    [anon_sym_AMP_AMP] = ACTIONS(13768),
    [anon_sym_LT_LT] = ACTIONS(13770),
    [anon_sym_GT_GT] = ACTIONS(13770),
    [anon_sym_EQ_EQ] = ACTIONS(13768),
    [anon_sym_BANG_EQ] = ACTIONS(13772),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(13772),
    [anon_sym_LT_EQ_GT] = ACTIONS(13772),
    [anon_sym_EQ_TILDE] = ACTIONS(13772),
    [anon_sym_BANG_TILDE] = ACTIONS(13772),
    [anon_sym_LT_EQ] = ACTIONS(13760),
    [anon_sym_GT] = ACTIONS(13760),
    [anon_sym_GT_EQ] = ACTIONS(13774),
    [anon_sym_CARET] = ACTIONS(13754),
    [anon_sym_PLUS] = ACTIONS(13776),
    [anon_sym_SLASH] = ACTIONS(13756),
    [anon_sym_PERCENT] = ACTIONS(13756),
    [sym_comment] = ACTIONS(256),
  },
  [7948] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_end] = ACTIONS(2870),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(10810),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2872),
    [anon_sym_AMP_AMP] = ACTIONS(2872),
    [anon_sym_LT_LT] = ACTIONS(2872),
    [anon_sym_GT_GT] = ACTIONS(2872),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2872),
    [anon_sym_PLUS] = ACTIONS(2872),
    [anon_sym_SLASH] = ACTIONS(2872),
    [anon_sym_PERCENT] = ACTIONS(2872),
    [sym_comment] = ACTIONS(256),
  },
  [7949] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(10804),
    [sym__binary_star] = ACTIONS(10806),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_end] = ACTIONS(2870),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(10808),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(10810),
    [anon_sym_AMP] = ACTIONS(10812),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(10814),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(10816),
    [anon_sym_DOT_DOT] = ACTIONS(10818),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10820),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(10822),
    [anon_sym_AMP_AMP] = ACTIONS(10822),
    [anon_sym_LT_LT] = ACTIONS(10824),
    [anon_sym_GT_GT] = ACTIONS(10824),
    [anon_sym_EQ_EQ] = ACTIONS(10822),
    [anon_sym_BANG_EQ] = ACTIONS(10826),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10826),
    [anon_sym_LT_EQ_GT] = ACTIONS(10826),
    [anon_sym_EQ_TILDE] = ACTIONS(10826),
    [anon_sym_BANG_TILDE] = ACTIONS(10826),
    [anon_sym_LT_EQ] = ACTIONS(10814),
    [anon_sym_GT] = ACTIONS(10814),
    [anon_sym_GT_EQ] = ACTIONS(10828),
    [anon_sym_CARET] = ACTIONS(10808),
    [anon_sym_PLUS] = ACTIONS(10830),
    [anon_sym_SLASH] = ACTIONS(10810),
    [anon_sym_PERCENT] = ACTIONS(10810),
    [sym_comment] = ACTIONS(256),
  },
  [7950] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10907),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(7938),
    [sym_call] = STATE(7938),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(7939),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7940),
    [sym__variable] = STATE(7938),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(10772),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(10774),
    [anon_sym_yield] = ACTIONS(10776),
    [anon_sym_break] = ACTIONS(10778),
    [anon_sym_next] = ACTIONS(10780),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(10782),
    [anon_sym_defined_QMARK] = ACTIONS(10784),
    [anon_sym_not] = ACTIONS(10786),
    [anon_sym_BANG] = ACTIONS(10788),
    [anon_sym_TILDE] = ACTIONS(10788),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7951] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10908),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4546),
    [sym_call] = STATE(4546),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4548),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4549),
    [sym__variable] = STATE(4546),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6572),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10790),
    [anon_sym_yield] = ACTIONS(10792),
    [anon_sym_break] = ACTIONS(10794),
    [anon_sym_next] = ACTIONS(10796),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10798),
    [anon_sym_defined_QMARK] = ACTIONS(6582),
    [anon_sym_not] = ACTIONS(10800),
    [anon_sym_BANG] = ACTIONS(6588),
    [anon_sym_TILDE] = ACTIONS(6588),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7952] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10909),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4546),
    [sym_call] = STATE(4546),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4548),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4549),
    [sym__variable] = STATE(4546),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6572),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10790),
    [anon_sym_yield] = ACTIONS(10792),
    [anon_sym_break] = ACTIONS(10794),
    [anon_sym_next] = ACTIONS(10796),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10798),
    [anon_sym_defined_QMARK] = ACTIONS(6582),
    [anon_sym_not] = ACTIONS(10800),
    [anon_sym_BANG] = ACTIONS(6588),
    [anon_sym_TILDE] = ACTIONS(6588),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7953] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10910),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4546),
    [sym_call] = STATE(4546),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4548),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4549),
    [sym__variable] = STATE(4546),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6572),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10790),
    [anon_sym_yield] = ACTIONS(10792),
    [anon_sym_break] = ACTIONS(10794),
    [anon_sym_next] = ACTIONS(10796),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10798),
    [anon_sym_defined_QMARK] = ACTIONS(6582),
    [anon_sym_not] = ACTIONS(10800),
    [anon_sym_BANG] = ACTIONS(6588),
    [anon_sym_TILDE] = ACTIONS(6588),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7954] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10911),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4546),
    [sym_call] = STATE(4546),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4548),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4549),
    [sym__variable] = STATE(4546),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6572),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10790),
    [anon_sym_yield] = ACTIONS(10792),
    [anon_sym_break] = ACTIONS(10794),
    [anon_sym_next] = ACTIONS(10796),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10798),
    [anon_sym_defined_QMARK] = ACTIONS(6582),
    [anon_sym_not] = ACTIONS(10800),
    [anon_sym_BANG] = ACTIONS(6588),
    [anon_sym_TILDE] = ACTIONS(6588),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7955] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10912),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4546),
    [sym_call] = STATE(4546),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4548),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4549),
    [sym__variable] = STATE(4546),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6572),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10790),
    [anon_sym_yield] = ACTIONS(10792),
    [anon_sym_break] = ACTIONS(10794),
    [anon_sym_next] = ACTIONS(10796),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10798),
    [anon_sym_defined_QMARK] = ACTIONS(6582),
    [anon_sym_not] = ACTIONS(10800),
    [anon_sym_BANG] = ACTIONS(6588),
    [anon_sym_TILDE] = ACTIONS(6588),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7956] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10913),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4546),
    [sym_call] = STATE(4546),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4548),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4549),
    [sym__variable] = STATE(4546),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6572),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10790),
    [anon_sym_yield] = ACTIONS(10792),
    [anon_sym_break] = ACTIONS(10794),
    [anon_sym_next] = ACTIONS(10796),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10798),
    [anon_sym_defined_QMARK] = ACTIONS(6582),
    [anon_sym_not] = ACTIONS(10800),
    [anon_sym_BANG] = ACTIONS(6588),
    [anon_sym_TILDE] = ACTIONS(6588),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7957] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(10914),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [7958] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10915),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4546),
    [sym_call] = STATE(4546),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4548),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4549),
    [sym__variable] = STATE(4546),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6572),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10790),
    [anon_sym_yield] = ACTIONS(10792),
    [anon_sym_break] = ACTIONS(10794),
    [anon_sym_next] = ACTIONS(10796),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10798),
    [anon_sym_defined_QMARK] = ACTIONS(6582),
    [anon_sym_not] = ACTIONS(10800),
    [anon_sym_BANG] = ACTIONS(6588),
    [anon_sym_TILDE] = ACTIONS(6588),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7959] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10916),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4546),
    [sym_call] = STATE(4546),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4548),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4549),
    [sym__variable] = STATE(4546),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6572),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10790),
    [anon_sym_yield] = ACTIONS(10792),
    [anon_sym_break] = ACTIONS(10794),
    [anon_sym_next] = ACTIONS(10796),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10798),
    [anon_sym_defined_QMARK] = ACTIONS(6582),
    [anon_sym_not] = ACTIONS(10800),
    [anon_sym_BANG] = ACTIONS(6588),
    [anon_sym_TILDE] = ACTIONS(6588),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7960] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10917),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4546),
    [sym_call] = STATE(4546),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4548),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4549),
    [sym__variable] = STATE(4546),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6572),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10790),
    [anon_sym_yield] = ACTIONS(10792),
    [anon_sym_break] = ACTIONS(10794),
    [anon_sym_next] = ACTIONS(10796),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10798),
    [anon_sym_defined_QMARK] = ACTIONS(6582),
    [anon_sym_not] = ACTIONS(10800),
    [anon_sym_BANG] = ACTIONS(6588),
    [anon_sym_TILDE] = ACTIONS(6588),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7961] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10918),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4546),
    [sym_call] = STATE(4546),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4548),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4549),
    [sym__variable] = STATE(4546),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6572),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10790),
    [anon_sym_yield] = ACTIONS(10792),
    [anon_sym_break] = ACTIONS(10794),
    [anon_sym_next] = ACTIONS(10796),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10798),
    [anon_sym_defined_QMARK] = ACTIONS(6582),
    [anon_sym_not] = ACTIONS(10800),
    [anon_sym_BANG] = ACTIONS(6588),
    [anon_sym_TILDE] = ACTIONS(6588),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7962] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10919),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4546),
    [sym_call] = STATE(4546),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4548),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4549),
    [sym__variable] = STATE(4546),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6572),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10790),
    [anon_sym_yield] = ACTIONS(10792),
    [anon_sym_break] = ACTIONS(10794),
    [anon_sym_next] = ACTIONS(10796),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10798),
    [anon_sym_defined_QMARK] = ACTIONS(6582),
    [anon_sym_not] = ACTIONS(10800),
    [anon_sym_BANG] = ACTIONS(6588),
    [anon_sym_TILDE] = ACTIONS(6588),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7963] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(4545),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4546),
    [sym_call] = STATE(4546),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(5069),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4548),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4549),
    [sym__variable] = STATE(4546),
    [sym_reserved_identifier] = STATE(4550),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(4551),
    [sym_subshell] = STATE(561),
    [sym_heredoc_end] = STATE(10920),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__block_ampersand] = ACTIONS(6568),
    [sym__splat_star] = ACTIONS(6570),
    [sym__unary_minus] = ACTIONS(6572),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(13784),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(6574),
    [anon_sym_yield] = ACTIONS(6576),
    [anon_sym_break] = ACTIONS(6578),
    [anon_sym_next] = ACTIONS(6580),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(10798),
    [anon_sym_defined_QMARK] = ACTIONS(6582),
    [anon_sym_not] = ACTIONS(6584),
    [anon_sym_BANG] = ACTIONS(6588),
    [anon_sym_TILDE] = ACTIONS(6588),
    [sym_constant] = ACTIONS(6590),
    [sym_identifier] = ACTIONS(6590),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7964] = {
    [sym_heredoc_end] = STATE(2196),
    [aux_sym_argument_list_repeat2] = STATE(5072),
    [sym__simple_heredoc_body] = ACTIONS(3354),
    [sym__heredoc_body_beginning] = ACTIONS(3356),
    [sym__line_break] = ACTIONS(5472),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_LBRACE] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_end] = ACTIONS(5472),
    [anon_sym_COMMA] = ACTIONS(13786),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_SEMI] = ACTIONS(5472),
    [anon_sym_STAR_STAR] = ACTIONS(5474),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_EQ] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_if] = ACTIONS(5472),
    [anon_sym_unless] = ACTIONS(5472),
    [anon_sym_while] = ACTIONS(5472),
    [anon_sym_until] = ACTIONS(5472),
    [anon_sym_rescue] = ACTIONS(5472),
    [anon_sym_do] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_PLUS_EQ] = ACTIONS(5472),
    [anon_sym_DASH_EQ] = ACTIONS(5472),
    [anon_sym_STAR_EQ] = ACTIONS(5472),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5472),
    [anon_sym_SLASH_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5472),
    [anon_sym_AMP_EQ] = ACTIONS(5472),
    [anon_sym_PERCENT_EQ] = ACTIONS(5472),
    [anon_sym_GT_GT_EQ] = ACTIONS(5472),
    [anon_sym_LT_LT_EQ] = ACTIONS(5472),
    [anon_sym_CARET_EQ] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5474),
    [anon_sym_AMP_AMP] = ACTIONS(5474),
    [anon_sym_LT_LT] = ACTIONS(5474),
    [anon_sym_GT_GT] = ACTIONS(5474),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5474),
    [anon_sym_PLUS] = ACTIONS(5474),
    [anon_sym_SLASH] = ACTIONS(5474),
    [anon_sym_PERCENT] = ACTIONS(5474),
    [sym_comment] = ACTIONS(256),
  },
  [7965] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10922),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4546),
    [sym_call] = STATE(4546),
    [sym_method_call] = STATE(338),
    [sym_splat_argument] = STATE(5074),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_right_assignment_list] = STATE(5075),
    [sym__arg_or_splat_arg] = STATE(10923),
    [sym_left_assignment_list] = STATE(4548),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4549),
    [sym__variable] = STATE(4546),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__splat_star] = ACTIONS(10758),
    [sym__unary_minus] = ACTIONS(6572),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10790),
    [anon_sym_yield] = ACTIONS(10792),
    [anon_sym_break] = ACTIONS(10794),
    [anon_sym_next] = ACTIONS(10796),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10798),
    [anon_sym_defined_QMARK] = ACTIONS(6582),
    [anon_sym_not] = ACTIONS(10800),
    [anon_sym_BANG] = ACTIONS(6588),
    [anon_sym_TILDE] = ACTIONS(6588),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7966] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(10924),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(4546),
    [sym_call] = STATE(4546),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(4548),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4549),
    [sym__variable] = STATE(4546),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(6572),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(10790),
    [anon_sym_yield] = ACTIONS(10792),
    [anon_sym_break] = ACTIONS(10794),
    [anon_sym_next] = ACTIONS(10796),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(10798),
    [anon_sym_defined_QMARK] = ACTIONS(6582),
    [anon_sym_not] = ACTIONS(10800),
    [anon_sym_BANG] = ACTIONS(6588),
    [anon_sym_TILDE] = ACTIONS(6588),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [7967] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10925),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(7938),
    [sym_call] = STATE(7938),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(7939),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7940),
    [sym__variable] = STATE(7938),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(10772),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(10774),
    [anon_sym_yield] = ACTIONS(10776),
    [anon_sym_break] = ACTIONS(10778),
    [anon_sym_next] = ACTIONS(10780),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(10782),
    [anon_sym_defined_QMARK] = ACTIONS(10784),
    [anon_sym_not] = ACTIONS(10786),
    [anon_sym_BANG] = ACTIONS(10788),
    [anon_sym_TILDE] = ACTIONS(10788),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7968] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10926),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(7975),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7976),
    [sym__variable] = STATE(1770),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(10844),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10846),
    [anon_sym_defined_QMARK] = ACTIONS(10848),
    [anon_sym_not] = ACTIONS(10850),
    [anon_sym_BANG] = ACTIONS(10852),
    [anon_sym_TILDE] = ACTIONS(10852),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7969] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10927),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(7975),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7976),
    [sym__variable] = STATE(1770),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(10844),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10846),
    [anon_sym_defined_QMARK] = ACTIONS(10848),
    [anon_sym_not] = ACTIONS(10850),
    [anon_sym_BANG] = ACTIONS(10852),
    [anon_sym_TILDE] = ACTIONS(10852),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7970] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10928),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(7975),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7976),
    [sym__variable] = STATE(1770),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(10844),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10846),
    [anon_sym_defined_QMARK] = ACTIONS(10848),
    [anon_sym_not] = ACTIONS(10850),
    [anon_sym_BANG] = ACTIONS(10852),
    [anon_sym_TILDE] = ACTIONS(10852),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7971] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10929),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(7975),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7976),
    [sym__variable] = STATE(1770),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(10844),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10846),
    [anon_sym_defined_QMARK] = ACTIONS(10848),
    [anon_sym_not] = ACTIONS(10850),
    [anon_sym_BANG] = ACTIONS(10852),
    [anon_sym_TILDE] = ACTIONS(10852),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7972] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(434),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(7975),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7976),
    [sym__variable] = STATE(1770),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(10844),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(10846),
    [anon_sym_defined_QMARK] = ACTIONS(10848),
    [anon_sym_not] = ACTIONS(10850),
    [anon_sym_BANG] = ACTIONS(10852),
    [anon_sym_TILDE] = ACTIONS(10852),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7973] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__line_break] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(13788),
    [sym__binary_star] = ACTIONS(13790),
    [anon_sym_end] = ACTIONS(6346),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(13792),
    [anon_sym_SEMI] = ACTIONS(6346),
    [anon_sym_STAR_STAR] = ACTIONS(13794),
    [anon_sym_AMP] = ACTIONS(13796),
    [anon_sym_LT] = ACTIONS(13798),
    [anon_sym_if] = ACTIONS(6346),
    [anon_sym_unless] = ACTIONS(6346),
    [anon_sym_while] = ACTIONS(6346),
    [anon_sym_until] = ACTIONS(6346),
    [anon_sym_rescue] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(13800),
    [anon_sym_DOT_DOT] = ACTIONS(13802),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(13804),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(13806),
    [anon_sym_AMP_AMP] = ACTIONS(13806),
    [anon_sym_LT_LT] = ACTIONS(13808),
    [anon_sym_GT_GT] = ACTIONS(13808),
    [anon_sym_EQ_EQ] = ACTIONS(13810),
    [anon_sym_BANG_EQ] = ACTIONS(13806),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(13806),
    [anon_sym_LT_EQ_GT] = ACTIONS(13806),
    [anon_sym_EQ_TILDE] = ACTIONS(13806),
    [anon_sym_BANG_TILDE] = ACTIONS(13806),
    [anon_sym_LT_EQ] = ACTIONS(13798),
    [anon_sym_GT] = ACTIONS(13798),
    [anon_sym_GT_EQ] = ACTIONS(13812),
    [anon_sym_CARET] = ACTIONS(13814),
    [anon_sym_PLUS] = ACTIONS(13816),
    [anon_sym_SLASH] = ACTIONS(13794),
    [anon_sym_PERCENT] = ACTIONS(13794),
    [sym_comment] = ACTIONS(110),
  },
  [7974] = {
    [aux_sym_exceptions_repeat1] = STATE(10943),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__line_break] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_end] = ACTIONS(7330),
    [anon_sym_COMMA] = ACTIONS(13818),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_SEMI] = ACTIONS(7330),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_if] = ACTIONS(7330),
    [anon_sym_unless] = ACTIONS(7330),
    [anon_sym_while] = ACTIONS(7330),
    [anon_sym_until] = ACTIONS(7330),
    [anon_sym_rescue] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [7975] = {
    [anon_sym_EQ] = ACTIONS(13820),
    [sym_comment] = ACTIONS(256),
  },
  [7976] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_end] = ACTIONS(250),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(13822),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(13824),
    [anon_sym_DASH_EQ] = ACTIONS(13824),
    [anon_sym_STAR_EQ] = ACTIONS(13824),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(13824),
    [anon_sym_SLASH_EQ] = ACTIONS(13824),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(13824),
    [anon_sym_PIPE_EQ] = ACTIONS(13824),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(13824),
    [anon_sym_AMP_EQ] = ACTIONS(13824),
    [anon_sym_PERCENT_EQ] = ACTIONS(13824),
    [anon_sym_GT_GT_EQ] = ACTIONS(13824),
    [anon_sym_LT_LT_EQ] = ACTIONS(13824),
    [anon_sym_CARET_EQ] = ACTIONS(13824),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [7977] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__line_break] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(6536),
    [sym__binary_star] = ACTIONS(6538),
    [anon_sym_end] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(6540),
    [anon_sym_SEMI] = ACTIONS(7344),
    [anon_sym_STAR_STAR] = ACTIONS(6542),
    [anon_sym_AMP] = ACTIONS(6544),
    [anon_sym_LT] = ACTIONS(6546),
    [anon_sym_if] = ACTIONS(7344),
    [anon_sym_unless] = ACTIONS(7344),
    [anon_sym_while] = ACTIONS(7344),
    [anon_sym_until] = ACTIONS(7344),
    [anon_sym_rescue] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(6548),
    [anon_sym_DOT_DOT] = ACTIONS(6550),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6552),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(6556),
    [anon_sym_AMP_AMP] = ACTIONS(6556),
    [anon_sym_LT_LT] = ACTIONS(6558),
    [anon_sym_GT_GT] = ACTIONS(6558),
    [anon_sym_EQ_EQ] = ACTIONS(6560),
    [anon_sym_BANG_EQ] = ACTIONS(6556),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6556),
    [anon_sym_LT_EQ_GT] = ACTIONS(6556),
    [anon_sym_EQ_TILDE] = ACTIONS(6556),
    [anon_sym_BANG_TILDE] = ACTIONS(6556),
    [anon_sym_LT_EQ] = ACTIONS(6546),
    [anon_sym_GT] = ACTIONS(6546),
    [anon_sym_GT_EQ] = ACTIONS(6562),
    [anon_sym_CARET] = ACTIONS(6564),
    [anon_sym_PLUS] = ACTIONS(6566),
    [anon_sym_SLASH] = ACTIONS(6542),
    [anon_sym_PERCENT] = ACTIONS(6542),
    [sym_comment] = ACTIONS(110),
  },
  [7978] = {
    [anon_sym_end] = ACTIONS(13826),
    [sym_comment] = ACTIONS(110),
  },
  [7979] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10946),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [7980] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_LBRACE] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_end] = ACTIONS(1372),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(10864),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_EQ] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_if] = ACTIONS(1372),
    [anon_sym_unless] = ACTIONS(1372),
    [anon_sym_while] = ACTIONS(1372),
    [anon_sym_until] = ACTIONS(1372),
    [anon_sym_rescue] = ACTIONS(1372),
    [anon_sym_do] = ACTIONS(1372),
    [anon_sym_else] = ACTIONS(1372),
    [anon_sym_ensure] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_PLUS_EQ] = ACTIONS(1372),
    [anon_sym_DASH_EQ] = ACTIONS(1372),
    [anon_sym_STAR_EQ] = ACTIONS(1372),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1372),
    [anon_sym_SLASH_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1372),
    [anon_sym_AMP_EQ] = ACTIONS(1372),
    [anon_sym_PERCENT_EQ] = ACTIONS(1372),
    [anon_sym_GT_GT_EQ] = ACTIONS(1372),
    [anon_sym_LT_LT_EQ] = ACTIONS(1372),
    [anon_sym_CARET_EQ] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1374),
    [anon_sym_AMP_AMP] = ACTIONS(1374),
    [anon_sym_LT_LT] = ACTIONS(1374),
    [anon_sym_GT_GT] = ACTIONS(1374),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1374),
    [anon_sym_PLUS] = ACTIONS(1374),
    [anon_sym_SLASH] = ACTIONS(1374),
    [anon_sym_PERCENT] = ACTIONS(1374),
    [sym_comment] = ACTIONS(256),
  },
  [7981] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_end] = ACTIONS(2870),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(10864),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_else] = ACTIONS(2870),
    [anon_sym_ensure] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2872),
    [anon_sym_AMP_AMP] = ACTIONS(2872),
    [anon_sym_LT_LT] = ACTIONS(2872),
    [anon_sym_GT_GT] = ACTIONS(2872),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2872),
    [anon_sym_PLUS] = ACTIONS(2872),
    [anon_sym_SLASH] = ACTIONS(2872),
    [anon_sym_PERCENT] = ACTIONS(2872),
    [sym_comment] = ACTIONS(256),
  },
  [7982] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(10858),
    [sym__binary_star] = ACTIONS(10860),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_end] = ACTIONS(2870),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(10862),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(10864),
    [anon_sym_AMP] = ACTIONS(10866),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(10868),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_else] = ACTIONS(2870),
    [anon_sym_ensure] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(10870),
    [anon_sym_DOT_DOT] = ACTIONS(10872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10874),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(10876),
    [anon_sym_AMP_AMP] = ACTIONS(10876),
    [anon_sym_LT_LT] = ACTIONS(10878),
    [anon_sym_GT_GT] = ACTIONS(10878),
    [anon_sym_EQ_EQ] = ACTIONS(10876),
    [anon_sym_BANG_EQ] = ACTIONS(10880),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10880),
    [anon_sym_LT_EQ_GT] = ACTIONS(10880),
    [anon_sym_EQ_TILDE] = ACTIONS(10880),
    [anon_sym_BANG_TILDE] = ACTIONS(10880),
    [anon_sym_LT_EQ] = ACTIONS(10868),
    [anon_sym_GT] = ACTIONS(10868),
    [anon_sym_GT_EQ] = ACTIONS(10882),
    [anon_sym_CARET] = ACTIONS(10862),
    [anon_sym_PLUS] = ACTIONS(10884),
    [anon_sym_SLASH] = ACTIONS(10864),
    [anon_sym_PERCENT] = ACTIONS(10864),
    [sym_comment] = ACTIONS(256),
  },
  [7983] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10947),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(4583),
    [sym_call] = STATE(4583),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4584),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4585),
    [sym__variable] = STATE(4583),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(6604),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(6606),
    [anon_sym_yield] = ACTIONS(6608),
    [anon_sym_break] = ACTIONS(6610),
    [anon_sym_next] = ACTIONS(6612),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(6614),
    [anon_sym_defined_QMARK] = ACTIONS(6616),
    [anon_sym_not] = ACTIONS(6618),
    [anon_sym_BANG] = ACTIONS(6620),
    [anon_sym_TILDE] = ACTIONS(6620),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7984] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10948),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(4583),
    [sym_call] = STATE(4583),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4584),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4585),
    [sym__variable] = STATE(4583),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(6604),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(6606),
    [anon_sym_yield] = ACTIONS(6608),
    [anon_sym_break] = ACTIONS(6610),
    [anon_sym_next] = ACTIONS(6612),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(6614),
    [anon_sym_defined_QMARK] = ACTIONS(6616),
    [anon_sym_not] = ACTIONS(6618),
    [anon_sym_BANG] = ACTIONS(6620),
    [anon_sym_TILDE] = ACTIONS(6620),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7985] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10949),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(4583),
    [sym_call] = STATE(4583),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4584),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4585),
    [sym__variable] = STATE(4583),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(6604),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(6606),
    [anon_sym_yield] = ACTIONS(6608),
    [anon_sym_break] = ACTIONS(6610),
    [anon_sym_next] = ACTIONS(6612),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(6614),
    [anon_sym_defined_QMARK] = ACTIONS(6616),
    [anon_sym_not] = ACTIONS(6618),
    [anon_sym_BANG] = ACTIONS(6620),
    [anon_sym_TILDE] = ACTIONS(6620),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7986] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10950),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(4583),
    [sym_call] = STATE(4583),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4584),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4585),
    [sym__variable] = STATE(4583),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(6604),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(6606),
    [anon_sym_yield] = ACTIONS(6608),
    [anon_sym_break] = ACTIONS(6610),
    [anon_sym_next] = ACTIONS(6612),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(6614),
    [anon_sym_defined_QMARK] = ACTIONS(6616),
    [anon_sym_not] = ACTIONS(6618),
    [anon_sym_BANG] = ACTIONS(6620),
    [anon_sym_TILDE] = ACTIONS(6620),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7987] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10951),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(4583),
    [sym_call] = STATE(4583),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4584),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4585),
    [sym__variable] = STATE(4583),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(6604),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(6606),
    [anon_sym_yield] = ACTIONS(6608),
    [anon_sym_break] = ACTIONS(6610),
    [anon_sym_next] = ACTIONS(6612),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(6614),
    [anon_sym_defined_QMARK] = ACTIONS(6616),
    [anon_sym_not] = ACTIONS(6618),
    [anon_sym_BANG] = ACTIONS(6620),
    [anon_sym_TILDE] = ACTIONS(6620),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7988] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10952),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(4583),
    [sym_call] = STATE(4583),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4584),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4585),
    [sym__variable] = STATE(4583),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(6604),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(6606),
    [anon_sym_yield] = ACTIONS(6608),
    [anon_sym_break] = ACTIONS(6610),
    [anon_sym_next] = ACTIONS(6612),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(6614),
    [anon_sym_defined_QMARK] = ACTIONS(6616),
    [anon_sym_not] = ACTIONS(6618),
    [anon_sym_BANG] = ACTIONS(6620),
    [anon_sym_TILDE] = ACTIONS(6620),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7989] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(10953),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [7990] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10954),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(4583),
    [sym_call] = STATE(4583),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4584),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4585),
    [sym__variable] = STATE(4583),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(6604),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(6606),
    [anon_sym_yield] = ACTIONS(6608),
    [anon_sym_break] = ACTIONS(6610),
    [anon_sym_next] = ACTIONS(6612),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(6614),
    [anon_sym_defined_QMARK] = ACTIONS(6616),
    [anon_sym_not] = ACTIONS(6618),
    [anon_sym_BANG] = ACTIONS(6620),
    [anon_sym_TILDE] = ACTIONS(6620),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7991] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10955),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(4583),
    [sym_call] = STATE(4583),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4584),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4585),
    [sym__variable] = STATE(4583),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(6604),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(6606),
    [anon_sym_yield] = ACTIONS(6608),
    [anon_sym_break] = ACTIONS(6610),
    [anon_sym_next] = ACTIONS(6612),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(6614),
    [anon_sym_defined_QMARK] = ACTIONS(6616),
    [anon_sym_not] = ACTIONS(6618),
    [anon_sym_BANG] = ACTIONS(6620),
    [anon_sym_TILDE] = ACTIONS(6620),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7992] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10956),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(4583),
    [sym_call] = STATE(4583),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4584),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4585),
    [sym__variable] = STATE(4583),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(6604),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(6606),
    [anon_sym_yield] = ACTIONS(6608),
    [anon_sym_break] = ACTIONS(6610),
    [anon_sym_next] = ACTIONS(6612),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(6614),
    [anon_sym_defined_QMARK] = ACTIONS(6616),
    [anon_sym_not] = ACTIONS(6618),
    [anon_sym_BANG] = ACTIONS(6620),
    [anon_sym_TILDE] = ACTIONS(6620),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7993] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10957),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(4583),
    [sym_call] = STATE(4583),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4584),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4585),
    [sym__variable] = STATE(4583),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(6604),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(6606),
    [anon_sym_yield] = ACTIONS(6608),
    [anon_sym_break] = ACTIONS(6610),
    [anon_sym_next] = ACTIONS(6612),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(6614),
    [anon_sym_defined_QMARK] = ACTIONS(6616),
    [anon_sym_not] = ACTIONS(6618),
    [anon_sym_BANG] = ACTIONS(6620),
    [anon_sym_TILDE] = ACTIONS(6620),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7994] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10958),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(4583),
    [sym_call] = STATE(4583),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4584),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4585),
    [sym__variable] = STATE(4583),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(6604),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(6606),
    [anon_sym_yield] = ACTIONS(6608),
    [anon_sym_break] = ACTIONS(6610),
    [anon_sym_next] = ACTIONS(6612),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(6614),
    [anon_sym_defined_QMARK] = ACTIONS(6616),
    [anon_sym_not] = ACTIONS(6618),
    [anon_sym_BANG] = ACTIONS(6620),
    [anon_sym_TILDE] = ACTIONS(6620),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7995] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10959),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(4583),
    [sym_call] = STATE(4583),
    [sym_method_call] = STATE(61),
    [sym_splat_argument] = STATE(8404),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_right_assignment_list] = STATE(8405),
    [sym__arg_or_splat_arg] = STATE(10960),
    [sym_left_assignment_list] = STATE(4584),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4585),
    [sym__variable] = STATE(4583),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__splat_star] = ACTIONS(2840),
    [sym__unary_minus] = ACTIONS(6604),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(6606),
    [anon_sym_yield] = ACTIONS(6608),
    [anon_sym_break] = ACTIONS(6610),
    [anon_sym_next] = ACTIONS(6612),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(6614),
    [anon_sym_defined_QMARK] = ACTIONS(6616),
    [anon_sym_not] = ACTIONS(6618),
    [anon_sym_BANG] = ACTIONS(6620),
    [anon_sym_TILDE] = ACTIONS(6620),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7996] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(10961),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(4583),
    [sym_call] = STATE(4583),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(4584),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4585),
    [sym__variable] = STATE(4583),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(6604),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(6606),
    [anon_sym_yield] = ACTIONS(6608),
    [anon_sym_break] = ACTIONS(6610),
    [anon_sym_next] = ACTIONS(6612),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(6614),
    [anon_sym_defined_QMARK] = ACTIONS(6616),
    [anon_sym_not] = ACTIONS(6618),
    [anon_sym_BANG] = ACTIONS(6620),
    [anon_sym_TILDE] = ACTIONS(6620),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [7997] = {
    [sym__simple_heredoc_body] = ACTIONS(8568),
    [sym__heredoc_body_beginning] = ACTIONS(8568),
    [sym__line_break] = ACTIONS(8568),
    [sym__element_reference_left_bracket] = ACTIONS(8568),
    [sym__scope_double_colon] = ACTIONS(8568),
    [sym__binary_minus] = ACTIONS(10858),
    [sym__binary_star] = ACTIONS(10860),
    [anon_sym_LBRACE] = ACTIONS(8568),
    [anon_sym_DOT] = ACTIONS(9468),
    [anon_sym_end] = ACTIONS(8568),
    [anon_sym_COMMA] = ACTIONS(8568),
    [anon_sym_PIPE] = ACTIONS(10862),
    [anon_sym_SEMI] = ACTIONS(8568),
    [anon_sym_STAR_STAR] = ACTIONS(10864),
    [anon_sym_AMP] = ACTIONS(10866),
    [anon_sym_EQ] = ACTIONS(9468),
    [anon_sym_LT] = ACTIONS(10868),
    [anon_sym_if] = ACTIONS(8568),
    [anon_sym_unless] = ACTIONS(8568),
    [anon_sym_while] = ACTIONS(8568),
    [anon_sym_until] = ACTIONS(8568),
    [anon_sym_rescue] = ACTIONS(8568),
    [anon_sym_do] = ACTIONS(8568),
    [anon_sym_else] = ACTIONS(8568),
    [anon_sym_ensure] = ACTIONS(8568),
    [anon_sym_AMP_DOT] = ACTIONS(8568),
    [anon_sym_PLUS_EQ] = ACTIONS(8568),
    [anon_sym_DASH_EQ] = ACTIONS(8568),
    [anon_sym_STAR_EQ] = ACTIONS(8568),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8568),
    [anon_sym_SLASH_EQ] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8568),
    [anon_sym_PIPE_EQ] = ACTIONS(8568),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8568),
    [anon_sym_AMP_EQ] = ACTIONS(8568),
    [anon_sym_PERCENT_EQ] = ACTIONS(8568),
    [anon_sym_GT_GT_EQ] = ACTIONS(8568),
    [anon_sym_LT_LT_EQ] = ACTIONS(8568),
    [anon_sym_CARET_EQ] = ACTIONS(8568),
    [anon_sym_QMARK] = ACTIONS(10870),
    [anon_sym_DOT_DOT] = ACTIONS(10872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10874),
    [anon_sym_and] = ACTIONS(8568),
    [anon_sym_or] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE] = ACTIONS(10876),
    [anon_sym_AMP_AMP] = ACTIONS(10876),
    [anon_sym_LT_LT] = ACTIONS(10878),
    [anon_sym_GT_GT] = ACTIONS(10878),
    [anon_sym_EQ_EQ] = ACTIONS(10876),
    [anon_sym_BANG_EQ] = ACTIONS(10880),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10880),
    [anon_sym_LT_EQ_GT] = ACTIONS(10880),
    [anon_sym_EQ_TILDE] = ACTIONS(10880),
    [anon_sym_BANG_TILDE] = ACTIONS(10880),
    [anon_sym_LT_EQ] = ACTIONS(10868),
    [anon_sym_GT] = ACTIONS(10868),
    [anon_sym_GT_EQ] = ACTIONS(10882),
    [anon_sym_CARET] = ACTIONS(10862),
    [anon_sym_PLUS] = ACTIONS(10884),
    [anon_sym_SLASH] = ACTIONS(10864),
    [anon_sym_PERCENT] = ACTIONS(10864),
    [sym_comment] = ACTIONS(256),
  },
  [7998] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__line_break] = ACTIONS(7008),
    [sym__element_reference_left_bracket] = ACTIONS(7008),
    [sym__scope_double_colon] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(6638),
    [anon_sym_LBRACE] = ACTIONS(7008),
    [anon_sym_DOT] = ACTIONS(7010),
    [anon_sym_end] = ACTIONS(7008),
    [anon_sym_COMMA] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_SEMI] = ACTIONS(7008),
    [anon_sym_STAR_STAR] = ACTIONS(6642),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_EQ] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_if] = ACTIONS(7008),
    [anon_sym_unless] = ACTIONS(7008),
    [anon_sym_while] = ACTIONS(7008),
    [anon_sym_until] = ACTIONS(7008),
    [anon_sym_rescue] = ACTIONS(7008),
    [anon_sym_do] = ACTIONS(7008),
    [anon_sym_else] = ACTIONS(7008),
    [anon_sym_ensure] = ACTIONS(7008),
    [anon_sym_EQ_GT] = ACTIONS(7008),
    [anon_sym_AMP_DOT] = ACTIONS(7008),
    [anon_sym_PLUS_EQ] = ACTIONS(7008),
    [anon_sym_DASH_EQ] = ACTIONS(7008),
    [anon_sym_STAR_EQ] = ACTIONS(7008),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7008),
    [anon_sym_SLASH_EQ] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7008),
    [anon_sym_PIPE_EQ] = ACTIONS(7008),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7008),
    [anon_sym_AMP_EQ] = ACTIONS(7008),
    [anon_sym_PERCENT_EQ] = ACTIONS(7008),
    [anon_sym_GT_GT_EQ] = ACTIONS(7008),
    [anon_sym_LT_LT_EQ] = ACTIONS(7008),
    [anon_sym_CARET_EQ] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7010),
    [anon_sym_AMP_AMP] = ACTIONS(7010),
    [anon_sym_LT_LT] = ACTIONS(7010),
    [anon_sym_GT_GT] = ACTIONS(7010),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7010),
    [anon_sym_PLUS] = ACTIONS(7010),
    [anon_sym_SLASH] = ACTIONS(6642),
    [anon_sym_PERCENT] = ACTIONS(6642),
    [sym_comment] = ACTIONS(256),
  },
  [7999] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__line_break] = ACTIONS(7012),
    [sym__element_reference_left_bracket] = ACTIONS(7012),
    [sym__scope_double_colon] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_LBRACE] = ACTIONS(7012),
    [anon_sym_DOT] = ACTIONS(7014),
    [anon_sym_end] = ACTIONS(7012),
    [anon_sym_COMMA] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_SEMI] = ACTIONS(7012),
    [anon_sym_STAR_STAR] = ACTIONS(6642),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_EQ] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_if] = ACTIONS(7012),
    [anon_sym_unless] = ACTIONS(7012),
    [anon_sym_while] = ACTIONS(7012),
    [anon_sym_until] = ACTIONS(7012),
    [anon_sym_rescue] = ACTIONS(7012),
    [anon_sym_do] = ACTIONS(7012),
    [anon_sym_else] = ACTIONS(7012),
    [anon_sym_ensure] = ACTIONS(7012),
    [anon_sym_EQ_GT] = ACTIONS(7012),
    [anon_sym_AMP_DOT] = ACTIONS(7012),
    [anon_sym_PLUS_EQ] = ACTIONS(7012),
    [anon_sym_DASH_EQ] = ACTIONS(7012),
    [anon_sym_STAR_EQ] = ACTIONS(7012),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7012),
    [anon_sym_SLASH_EQ] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7012),
    [anon_sym_PIPE_EQ] = ACTIONS(7012),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7012),
    [anon_sym_AMP_EQ] = ACTIONS(7012),
    [anon_sym_PERCENT_EQ] = ACTIONS(7012),
    [anon_sym_GT_GT_EQ] = ACTIONS(7012),
    [anon_sym_LT_LT_EQ] = ACTIONS(7012),
    [anon_sym_CARET_EQ] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7014),
    [anon_sym_AMP_AMP] = ACTIONS(7014),
    [anon_sym_LT_LT] = ACTIONS(7014),
    [anon_sym_GT_GT] = ACTIONS(7014),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7014),
    [anon_sym_PLUS] = ACTIONS(7014),
    [anon_sym_SLASH] = ACTIONS(7014),
    [anon_sym_PERCENT] = ACTIONS(7014),
    [sym_comment] = ACTIONS(256),
  },
  [8000] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6636),
    [sym__binary_star] = ACTIONS(6638),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_end] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6642),
    [anon_sym_AMP] = ACTIONS(6644),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_else] = ACTIONS(7016),
    [anon_sym_ensure] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(6656),
    [anon_sym_GT_GT] = ACTIONS(6656),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(6662),
    [anon_sym_SLASH] = ACTIONS(6642),
    [anon_sym_PERCENT] = ACTIONS(6642),
    [sym_comment] = ACTIONS(256),
  },
  [8001] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_end] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6642),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_else] = ACTIONS(7016),
    [anon_sym_ensure] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7018),
    [anon_sym_GT_GT] = ACTIONS(7018),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(7018),
    [anon_sym_SLASH] = ACTIONS(7018),
    [anon_sym_PERCENT] = ACTIONS(7018),
    [sym_comment] = ACTIONS(256),
  },
  [8002] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6636),
    [sym__binary_star] = ACTIONS(6638),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_end] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6642),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_else] = ACTIONS(7016),
    [anon_sym_ensure] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(6656),
    [anon_sym_GT_GT] = ACTIONS(6656),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(6662),
    [anon_sym_SLASH] = ACTIONS(6642),
    [anon_sym_PERCENT] = ACTIONS(6642),
    [sym_comment] = ACTIONS(256),
  },
  [8003] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6636),
    [sym__binary_star] = ACTIONS(6638),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_end] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(6640),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6642),
    [anon_sym_AMP] = ACTIONS(6644),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_else] = ACTIONS(7016),
    [anon_sym_ensure] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(6656),
    [anon_sym_GT_GT] = ACTIONS(6656),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(6640),
    [anon_sym_PLUS] = ACTIONS(6662),
    [anon_sym_SLASH] = ACTIONS(6642),
    [anon_sym_PERCENT] = ACTIONS(6642),
    [sym_comment] = ACTIONS(256),
  },
  [8004] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(13828),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [8005] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__line_break] = ACTIONS(7108),
    [sym__element_reference_left_bracket] = ACTIONS(7108),
    [sym__scope_double_colon] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(6636),
    [sym__binary_star] = ACTIONS(6638),
    [anon_sym_LBRACE] = ACTIONS(7108),
    [anon_sym_DOT] = ACTIONS(9472),
    [anon_sym_end] = ACTIONS(7108),
    [anon_sym_COMMA] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(6640),
    [anon_sym_SEMI] = ACTIONS(7108),
    [anon_sym_STAR_STAR] = ACTIONS(6642),
    [anon_sym_AMP] = ACTIONS(6644),
    [anon_sym_EQ] = ACTIONS(9472),
    [anon_sym_LT] = ACTIONS(6646),
    [anon_sym_if] = ACTIONS(7108),
    [anon_sym_unless] = ACTIONS(7108),
    [anon_sym_while] = ACTIONS(7108),
    [anon_sym_until] = ACTIONS(7108),
    [anon_sym_rescue] = ACTIONS(7108),
    [anon_sym_do] = ACTIONS(7108),
    [anon_sym_else] = ACTIONS(7108),
    [anon_sym_ensure] = ACTIONS(7108),
    [anon_sym_EQ_GT] = ACTIONS(7108),
    [anon_sym_AMP_DOT] = ACTIONS(7108),
    [anon_sym_PLUS_EQ] = ACTIONS(7108),
    [anon_sym_DASH_EQ] = ACTIONS(7108),
    [anon_sym_STAR_EQ] = ACTIONS(7108),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7108),
    [anon_sym_SLASH_EQ] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7108),
    [anon_sym_PIPE_EQ] = ACTIONS(7108),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7108),
    [anon_sym_AMP_EQ] = ACTIONS(7108),
    [anon_sym_PERCENT_EQ] = ACTIONS(7108),
    [anon_sym_GT_GT_EQ] = ACTIONS(7108),
    [anon_sym_LT_LT_EQ] = ACTIONS(7108),
    [anon_sym_CARET_EQ] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(6650),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6652),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(6654),
    [anon_sym_AMP_AMP] = ACTIONS(6654),
    [anon_sym_LT_LT] = ACTIONS(6656),
    [anon_sym_GT_GT] = ACTIONS(6656),
    [anon_sym_EQ_EQ] = ACTIONS(6654),
    [anon_sym_BANG_EQ] = ACTIONS(6658),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6658),
    [anon_sym_LT_EQ_GT] = ACTIONS(6658),
    [anon_sym_EQ_TILDE] = ACTIONS(6658),
    [anon_sym_BANG_TILDE] = ACTIONS(6658),
    [anon_sym_LT_EQ] = ACTIONS(6646),
    [anon_sym_GT] = ACTIONS(6646),
    [anon_sym_GT_EQ] = ACTIONS(6660),
    [anon_sym_CARET] = ACTIONS(6640),
    [anon_sym_PLUS] = ACTIONS(6662),
    [anon_sym_SLASH] = ACTIONS(6642),
    [anon_sym_PERCENT] = ACTIONS(6642),
    [sym_comment] = ACTIONS(256),
  },
  [8006] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6636),
    [sym__binary_star] = ACTIONS(6638),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_end] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(6640),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6642),
    [anon_sym_AMP] = ACTIONS(6644),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(6646),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_else] = ACTIONS(7016),
    [anon_sym_ensure] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(6648),
    [anon_sym_DOT_DOT] = ACTIONS(6650),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6652),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(6654),
    [anon_sym_AMP_AMP] = ACTIONS(6654),
    [anon_sym_LT_LT] = ACTIONS(6656),
    [anon_sym_GT_GT] = ACTIONS(6656),
    [anon_sym_EQ_EQ] = ACTIONS(6654),
    [anon_sym_BANG_EQ] = ACTIONS(6658),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6658),
    [anon_sym_LT_EQ_GT] = ACTIONS(6658),
    [anon_sym_EQ_TILDE] = ACTIONS(6658),
    [anon_sym_BANG_TILDE] = ACTIONS(6658),
    [anon_sym_LT_EQ] = ACTIONS(6646),
    [anon_sym_GT] = ACTIONS(6646),
    [anon_sym_GT_EQ] = ACTIONS(6660),
    [anon_sym_CARET] = ACTIONS(6640),
    [anon_sym_PLUS] = ACTIONS(6662),
    [anon_sym_SLASH] = ACTIONS(6642),
    [anon_sym_PERCENT] = ACTIONS(6642),
    [sym_comment] = ACTIONS(256),
  },
  [8007] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6636),
    [sym__binary_star] = ACTIONS(6638),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_end] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(6640),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6642),
    [anon_sym_AMP] = ACTIONS(6644),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(6646),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_else] = ACTIONS(7016),
    [anon_sym_ensure] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(6656),
    [anon_sym_GT_GT] = ACTIONS(6656),
    [anon_sym_EQ_EQ] = ACTIONS(6654),
    [anon_sym_BANG_EQ] = ACTIONS(6658),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6658),
    [anon_sym_LT_EQ_GT] = ACTIONS(6658),
    [anon_sym_EQ_TILDE] = ACTIONS(6658),
    [anon_sym_BANG_TILDE] = ACTIONS(6658),
    [anon_sym_LT_EQ] = ACTIONS(6646),
    [anon_sym_GT] = ACTIONS(6646),
    [anon_sym_GT_EQ] = ACTIONS(6660),
    [anon_sym_CARET] = ACTIONS(6640),
    [anon_sym_PLUS] = ACTIONS(6662),
    [anon_sym_SLASH] = ACTIONS(6642),
    [anon_sym_PERCENT] = ACTIONS(6642),
    [sym_comment] = ACTIONS(256),
  },
  [8008] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6636),
    [sym__binary_star] = ACTIONS(6638),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_end] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6642),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_else] = ACTIONS(7016),
    [anon_sym_ensure] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7018),
    [anon_sym_GT_GT] = ACTIONS(7018),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(6662),
    [anon_sym_SLASH] = ACTIONS(6642),
    [anon_sym_PERCENT] = ACTIONS(6642),
    [sym_comment] = ACTIONS(256),
  },
  [8009] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(6638),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_end] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(6642),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_else] = ACTIONS(7016),
    [anon_sym_ensure] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7018),
    [anon_sym_GT_GT] = ACTIONS(7018),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(7018),
    [anon_sym_SLASH] = ACTIONS(6642),
    [anon_sym_PERCENT] = ACTIONS(6642),
    [sym_comment] = ACTIONS(256),
  },
  [8010] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1811),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1812),
    [sym_call] = STATE(1812),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(8481),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1814),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1815),
    [sym__variable] = STATE(1812),
    [sym_reserved_identifier] = STATE(1816),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1817),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__block_ampersand] = ACTIONS(2838),
    [sym__splat_star] = ACTIONS(2840),
    [sym__unary_minus] = ACTIONS(2842),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(10892),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2844),
    [anon_sym_yield] = ACTIONS(2846),
    [anon_sym_break] = ACTIONS(2848),
    [anon_sym_next] = ACTIONS(2850),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(6630),
    [anon_sym_defined_QMARK] = ACTIONS(2852),
    [anon_sym_not] = ACTIONS(2854),
    [anon_sym_BANG] = ACTIONS(2858),
    [anon_sym_TILDE] = ACTIONS(2858),
    [sym_constant] = ACTIONS(2860),
    [sym_identifier] = ACTIONS(2860),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [8011] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1811),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1812),
    [sym_call] = STATE(1812),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(8481),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1814),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1815),
    [sym__variable] = STATE(1812),
    [sym_reserved_identifier] = STATE(1816),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1817),
    [sym_subshell] = STATE(561),
    [sym_heredoc_end] = STATE(10963),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__block_ampersand] = ACTIONS(2838),
    [sym__splat_star] = ACTIONS(2840),
    [sym__unary_minus] = ACTIONS(2842),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(10892),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2844),
    [anon_sym_yield] = ACTIONS(2846),
    [anon_sym_break] = ACTIONS(2848),
    [anon_sym_next] = ACTIONS(2850),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(6630),
    [anon_sym_defined_QMARK] = ACTIONS(2852),
    [anon_sym_not] = ACTIONS(2854),
    [anon_sym_BANG] = ACTIONS(2858),
    [anon_sym_TILDE] = ACTIONS(2858),
    [sym_constant] = ACTIONS(2860),
    [sym_identifier] = ACTIONS(2860),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [8012] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__line_break] = ACTIONS(6346),
    [sym__element_reference_left_bracket] = ACTIONS(6346),
    [sym__scope_double_colon] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(6636),
    [sym__binary_star] = ACTIONS(6638),
    [anon_sym_LBRACE] = ACTIONS(6346),
    [anon_sym_DOT] = ACTIONS(7328),
    [anon_sym_end] = ACTIONS(6346),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(6640),
    [anon_sym_SEMI] = ACTIONS(6346),
    [anon_sym_STAR_STAR] = ACTIONS(6642),
    [anon_sym_AMP] = ACTIONS(6644),
    [anon_sym_EQ] = ACTIONS(7328),
    [anon_sym_LT] = ACTIONS(6646),
    [anon_sym_if] = ACTIONS(6346),
    [anon_sym_unless] = ACTIONS(6346),
    [anon_sym_while] = ACTIONS(6346),
    [anon_sym_until] = ACTIONS(6346),
    [anon_sym_rescue] = ACTIONS(6346),
    [anon_sym_do] = ACTIONS(6346),
    [anon_sym_else] = ACTIONS(6346),
    [anon_sym_ensure] = ACTIONS(6346),
    [anon_sym_EQ_GT] = ACTIONS(6346),
    [anon_sym_AMP_DOT] = ACTIONS(6346),
    [anon_sym_PLUS_EQ] = ACTIONS(6346),
    [anon_sym_DASH_EQ] = ACTIONS(6346),
    [anon_sym_STAR_EQ] = ACTIONS(6346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6346),
    [anon_sym_SLASH_EQ] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6346),
    [anon_sym_PIPE_EQ] = ACTIONS(6346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6346),
    [anon_sym_AMP_EQ] = ACTIONS(6346),
    [anon_sym_PERCENT_EQ] = ACTIONS(6346),
    [anon_sym_GT_GT_EQ] = ACTIONS(6346),
    [anon_sym_LT_LT_EQ] = ACTIONS(6346),
    [anon_sym_CARET_EQ] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(6648),
    [anon_sym_DOT_DOT] = ACTIONS(6650),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6652),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(6654),
    [anon_sym_AMP_AMP] = ACTIONS(6654),
    [anon_sym_LT_LT] = ACTIONS(6656),
    [anon_sym_GT_GT] = ACTIONS(6656),
    [anon_sym_EQ_EQ] = ACTIONS(6654),
    [anon_sym_BANG_EQ] = ACTIONS(6658),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6658),
    [anon_sym_LT_EQ_GT] = ACTIONS(6658),
    [anon_sym_EQ_TILDE] = ACTIONS(6658),
    [anon_sym_BANG_TILDE] = ACTIONS(6658),
    [anon_sym_LT_EQ] = ACTIONS(6646),
    [anon_sym_GT] = ACTIONS(6646),
    [anon_sym_GT_EQ] = ACTIONS(6660),
    [anon_sym_CARET] = ACTIONS(6640),
    [anon_sym_PLUS] = ACTIONS(6662),
    [anon_sym_SLASH] = ACTIONS(6642),
    [anon_sym_PERCENT] = ACTIONS(6642),
    [sym_comment] = ACTIONS(256),
  },
  [8013] = {
    [aux_sym_exceptions_repeat1] = STATE(10965),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__line_break] = ACTIONS(7330),
    [sym__element_reference_left_bracket] = ACTIONS(7330),
    [sym__scope_double_colon] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_LBRACE] = ACTIONS(7330),
    [anon_sym_DOT] = ACTIONS(7332),
    [anon_sym_end] = ACTIONS(7330),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_SEMI] = ACTIONS(7330),
    [anon_sym_STAR_STAR] = ACTIONS(7332),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_EQ] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_if] = ACTIONS(7330),
    [anon_sym_unless] = ACTIONS(7330),
    [anon_sym_while] = ACTIONS(7330),
    [anon_sym_until] = ACTIONS(7330),
    [anon_sym_rescue] = ACTIONS(7330),
    [anon_sym_do] = ACTIONS(7330),
    [anon_sym_else] = ACTIONS(7330),
    [anon_sym_ensure] = ACTIONS(7330),
    [anon_sym_EQ_GT] = ACTIONS(7330),
    [anon_sym_AMP_DOT] = ACTIONS(7330),
    [anon_sym_PLUS_EQ] = ACTIONS(7330),
    [anon_sym_DASH_EQ] = ACTIONS(7330),
    [anon_sym_STAR_EQ] = ACTIONS(7330),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7330),
    [anon_sym_SLASH_EQ] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7330),
    [anon_sym_PIPE_EQ] = ACTIONS(7330),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7330),
    [anon_sym_AMP_EQ] = ACTIONS(7330),
    [anon_sym_PERCENT_EQ] = ACTIONS(7330),
    [anon_sym_GT_GT_EQ] = ACTIONS(7330),
    [anon_sym_LT_LT_EQ] = ACTIONS(7330),
    [anon_sym_CARET_EQ] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7332),
    [anon_sym_AMP_AMP] = ACTIONS(7332),
    [anon_sym_LT_LT] = ACTIONS(7332),
    [anon_sym_GT_GT] = ACTIONS(7332),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7332),
    [anon_sym_PLUS] = ACTIONS(7332),
    [anon_sym_SLASH] = ACTIONS(7332),
    [anon_sym_PERCENT] = ACTIONS(7332),
    [sym_comment] = ACTIONS(256),
  },
  [8014] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__line_break] = ACTIONS(7344),
    [sym__element_reference_left_bracket] = ACTIONS(7344),
    [sym__scope_double_colon] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(6636),
    [sym__binary_star] = ACTIONS(6638),
    [anon_sym_LBRACE] = ACTIONS(7344),
    [anon_sym_DOT] = ACTIONS(9504),
    [anon_sym_end] = ACTIONS(7344),
    [anon_sym_COMMA] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(6640),
    [anon_sym_SEMI] = ACTIONS(7344),
    [anon_sym_STAR_STAR] = ACTIONS(6642),
    [anon_sym_AMP] = ACTIONS(6644),
    [anon_sym_EQ] = ACTIONS(9504),
    [anon_sym_LT] = ACTIONS(6646),
    [anon_sym_if] = ACTIONS(7344),
    [anon_sym_unless] = ACTIONS(7344),
    [anon_sym_while] = ACTIONS(7344),
    [anon_sym_until] = ACTIONS(7344),
    [anon_sym_rescue] = ACTIONS(7344),
    [anon_sym_do] = ACTIONS(7344),
    [anon_sym_else] = ACTIONS(7344),
    [anon_sym_ensure] = ACTIONS(7344),
    [anon_sym_EQ_GT] = ACTIONS(7344),
    [anon_sym_AMP_DOT] = ACTIONS(7344),
    [anon_sym_PLUS_EQ] = ACTIONS(7344),
    [anon_sym_DASH_EQ] = ACTIONS(7344),
    [anon_sym_STAR_EQ] = ACTIONS(7344),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7344),
    [anon_sym_SLASH_EQ] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7344),
    [anon_sym_PIPE_EQ] = ACTIONS(7344),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7344),
    [anon_sym_AMP_EQ] = ACTIONS(7344),
    [anon_sym_PERCENT_EQ] = ACTIONS(7344),
    [anon_sym_GT_GT_EQ] = ACTIONS(7344),
    [anon_sym_LT_LT_EQ] = ACTIONS(7344),
    [anon_sym_CARET_EQ] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(6648),
    [anon_sym_DOT_DOT] = ACTIONS(6650),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6652),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(6654),
    [anon_sym_AMP_AMP] = ACTIONS(6654),
    [anon_sym_LT_LT] = ACTIONS(6656),
    [anon_sym_GT_GT] = ACTIONS(6656),
    [anon_sym_EQ_EQ] = ACTIONS(6654),
    [anon_sym_BANG_EQ] = ACTIONS(6658),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6658),
    [anon_sym_LT_EQ_GT] = ACTIONS(6658),
    [anon_sym_EQ_TILDE] = ACTIONS(6658),
    [anon_sym_BANG_TILDE] = ACTIONS(6658),
    [anon_sym_LT_EQ] = ACTIONS(6646),
    [anon_sym_GT] = ACTIONS(6646),
    [anon_sym_GT_EQ] = ACTIONS(6660),
    [anon_sym_CARET] = ACTIONS(6640),
    [anon_sym_PLUS] = ACTIONS(6662),
    [anon_sym_SLASH] = ACTIONS(6642),
    [anon_sym_PERCENT] = ACTIONS(6642),
    [sym_comment] = ACTIONS(256),
  },
  [8015] = {
    [sym__simple_heredoc_body] = ACTIONS(8662),
    [sym__heredoc_body_beginning] = ACTIONS(8662),
    [sym__line_break] = ACTIONS(8662),
    [sym__element_reference_left_bracket] = ACTIONS(8662),
    [sym__scope_double_colon] = ACTIONS(8662),
    [sym__binary_minus] = ACTIONS(10858),
    [sym__binary_star] = ACTIONS(10860),
    [anon_sym_LBRACE] = ACTIONS(8662),
    [anon_sym_DOT] = ACTIONS(9506),
    [anon_sym_end] = ACTIONS(8662),
    [anon_sym_COMMA] = ACTIONS(8662),
    [anon_sym_PIPE] = ACTIONS(10862),
    [anon_sym_SEMI] = ACTIONS(8662),
    [anon_sym_STAR_STAR] = ACTIONS(10864),
    [anon_sym_AMP] = ACTIONS(10866),
    [anon_sym_EQ] = ACTIONS(9506),
    [anon_sym_LT] = ACTIONS(10868),
    [anon_sym_if] = ACTIONS(8662),
    [anon_sym_unless] = ACTIONS(8662),
    [anon_sym_while] = ACTIONS(8662),
    [anon_sym_until] = ACTIONS(8662),
    [anon_sym_rescue] = ACTIONS(8662),
    [anon_sym_do] = ACTIONS(8662),
    [anon_sym_else] = ACTIONS(8662),
    [anon_sym_ensure] = ACTIONS(8662),
    [anon_sym_AMP_DOT] = ACTIONS(8662),
    [anon_sym_PLUS_EQ] = ACTIONS(8662),
    [anon_sym_DASH_EQ] = ACTIONS(8662),
    [anon_sym_STAR_EQ] = ACTIONS(8662),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8662),
    [anon_sym_SLASH_EQ] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8662),
    [anon_sym_PIPE_EQ] = ACTIONS(8662),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8662),
    [anon_sym_AMP_EQ] = ACTIONS(8662),
    [anon_sym_PERCENT_EQ] = ACTIONS(8662),
    [anon_sym_GT_GT_EQ] = ACTIONS(8662),
    [anon_sym_LT_LT_EQ] = ACTIONS(8662),
    [anon_sym_CARET_EQ] = ACTIONS(8662),
    [anon_sym_QMARK] = ACTIONS(10870),
    [anon_sym_DOT_DOT] = ACTIONS(10872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10874),
    [anon_sym_and] = ACTIONS(8662),
    [anon_sym_or] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE] = ACTIONS(10876),
    [anon_sym_AMP_AMP] = ACTIONS(10876),
    [anon_sym_LT_LT] = ACTIONS(10878),
    [anon_sym_GT_GT] = ACTIONS(10878),
    [anon_sym_EQ_EQ] = ACTIONS(10876),
    [anon_sym_BANG_EQ] = ACTIONS(10880),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10880),
    [anon_sym_LT_EQ_GT] = ACTIONS(10880),
    [anon_sym_EQ_TILDE] = ACTIONS(10880),
    [anon_sym_BANG_TILDE] = ACTIONS(10880),
    [anon_sym_LT_EQ] = ACTIONS(10868),
    [anon_sym_GT] = ACTIONS(10868),
    [anon_sym_GT_EQ] = ACTIONS(10882),
    [anon_sym_CARET] = ACTIONS(10862),
    [anon_sym_PLUS] = ACTIONS(10884),
    [anon_sym_SLASH] = ACTIONS(10864),
    [anon_sym_PERCENT] = ACTIONS(10864),
    [sym_comment] = ACTIONS(256),
  },
  [8016] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__line_break] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(10896),
    [sym__binary_star] = ACTIONS(10898),
    [anon_sym_end] = ACTIONS(5338),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(10900),
    [anon_sym_SEMI] = ACTIONS(5338),
    [anon_sym_STAR_STAR] = ACTIONS(10902),
    [anon_sym_AMP] = ACTIONS(10904),
    [anon_sym_LT] = ACTIONS(10906),
    [anon_sym_if] = ACTIONS(5338),
    [anon_sym_unless] = ACTIONS(5338),
    [anon_sym_while] = ACTIONS(5338),
    [anon_sym_until] = ACTIONS(5338),
    [anon_sym_rescue] = ACTIONS(5338),
    [anon_sym_else] = ACTIONS(5338),
    [anon_sym_ensure] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(10908),
    [anon_sym_DOT_DOT] = ACTIONS(10910),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10912),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(10914),
    [anon_sym_AMP_AMP] = ACTIONS(10914),
    [anon_sym_LT_LT] = ACTIONS(10916),
    [anon_sym_GT_GT] = ACTIONS(10916),
    [anon_sym_EQ_EQ] = ACTIONS(10918),
    [anon_sym_BANG_EQ] = ACTIONS(10914),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10914),
    [anon_sym_LT_EQ_GT] = ACTIONS(10914),
    [anon_sym_EQ_TILDE] = ACTIONS(10914),
    [anon_sym_BANG_TILDE] = ACTIONS(10914),
    [anon_sym_LT_EQ] = ACTIONS(10906),
    [anon_sym_GT] = ACTIONS(10906),
    [anon_sym_GT_EQ] = ACTIONS(10920),
    [anon_sym_CARET] = ACTIONS(10922),
    [anon_sym_PLUS] = ACTIONS(10924),
    [anon_sym_SLASH] = ACTIONS(10902),
    [anon_sym_PERCENT] = ACTIONS(10902),
    [sym_comment] = ACTIONS(110),
  },
  [8017] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_end] = ACTIONS(1372),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(10902),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_if] = ACTIONS(1372),
    [anon_sym_unless] = ACTIONS(1372),
    [anon_sym_while] = ACTIONS(1372),
    [anon_sym_until] = ACTIONS(1372),
    [anon_sym_rescue] = ACTIONS(1372),
    [anon_sym_else] = ACTIONS(1372),
    [anon_sym_ensure] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [8018] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_end] = ACTIONS(2870),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(10902),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_else] = ACTIONS(2870),
    [anon_sym_ensure] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [8019] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(10896),
    [sym__binary_star] = ACTIONS(10898),
    [anon_sym_end] = ACTIONS(2870),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(10900),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(10902),
    [anon_sym_AMP] = ACTIONS(10904),
    [anon_sym_LT] = ACTIONS(10906),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_else] = ACTIONS(2870),
    [anon_sym_ensure] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(10908),
    [anon_sym_DOT_DOT] = ACTIONS(10910),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10912),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(10914),
    [anon_sym_AMP_AMP] = ACTIONS(10914),
    [anon_sym_LT_LT] = ACTIONS(10916),
    [anon_sym_GT_GT] = ACTIONS(10916),
    [anon_sym_EQ_EQ] = ACTIONS(10918),
    [anon_sym_BANG_EQ] = ACTIONS(10914),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10914),
    [anon_sym_LT_EQ_GT] = ACTIONS(10914),
    [anon_sym_EQ_TILDE] = ACTIONS(10914),
    [anon_sym_BANG_TILDE] = ACTIONS(10914),
    [anon_sym_LT_EQ] = ACTIONS(10906),
    [anon_sym_GT] = ACTIONS(10906),
    [anon_sym_GT_EQ] = ACTIONS(10920),
    [anon_sym_CARET] = ACTIONS(10922),
    [anon_sym_PLUS] = ACTIONS(10924),
    [anon_sym_SLASH] = ACTIONS(10902),
    [anon_sym_PERCENT] = ACTIONS(10902),
    [sym_comment] = ACTIONS(110),
  },
  [8020] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10966),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(4620),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4621),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6676),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6678),
    [anon_sym_defined_QMARK] = ACTIONS(6680),
    [anon_sym_not] = ACTIONS(6682),
    [anon_sym_BANG] = ACTIONS(6684),
    [anon_sym_TILDE] = ACTIONS(6684),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8021] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10967),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(4620),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4621),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6676),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6678),
    [anon_sym_defined_QMARK] = ACTIONS(6680),
    [anon_sym_not] = ACTIONS(6682),
    [anon_sym_BANG] = ACTIONS(6684),
    [anon_sym_TILDE] = ACTIONS(6684),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8022] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10968),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(4620),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4621),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6676),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6678),
    [anon_sym_defined_QMARK] = ACTIONS(6680),
    [anon_sym_not] = ACTIONS(6682),
    [anon_sym_BANG] = ACTIONS(6684),
    [anon_sym_TILDE] = ACTIONS(6684),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8023] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10969),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(4620),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4621),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6676),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6678),
    [anon_sym_defined_QMARK] = ACTIONS(6680),
    [anon_sym_not] = ACTIONS(6682),
    [anon_sym_BANG] = ACTIONS(6684),
    [anon_sym_TILDE] = ACTIONS(6684),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8024] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10970),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(4620),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4621),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6676),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6678),
    [anon_sym_defined_QMARK] = ACTIONS(6680),
    [anon_sym_not] = ACTIONS(6682),
    [anon_sym_BANG] = ACTIONS(6684),
    [anon_sym_TILDE] = ACTIONS(6684),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8025] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10971),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(4620),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4621),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6676),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6678),
    [anon_sym_defined_QMARK] = ACTIONS(6680),
    [anon_sym_not] = ACTIONS(6682),
    [anon_sym_BANG] = ACTIONS(6684),
    [anon_sym_TILDE] = ACTIONS(6684),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8026] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(10972),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [8027] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10973),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(4620),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4621),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6676),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6678),
    [anon_sym_defined_QMARK] = ACTIONS(6680),
    [anon_sym_not] = ACTIONS(6682),
    [anon_sym_BANG] = ACTIONS(6684),
    [anon_sym_TILDE] = ACTIONS(6684),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8028] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10974),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(4620),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4621),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6676),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6678),
    [anon_sym_defined_QMARK] = ACTIONS(6680),
    [anon_sym_not] = ACTIONS(6682),
    [anon_sym_BANG] = ACTIONS(6684),
    [anon_sym_TILDE] = ACTIONS(6684),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8029] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10975),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(4620),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4621),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6676),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6678),
    [anon_sym_defined_QMARK] = ACTIONS(6680),
    [anon_sym_not] = ACTIONS(6682),
    [anon_sym_BANG] = ACTIONS(6684),
    [anon_sym_TILDE] = ACTIONS(6684),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8030] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10976),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(4620),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4621),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6676),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6678),
    [anon_sym_defined_QMARK] = ACTIONS(6680),
    [anon_sym_not] = ACTIONS(6682),
    [anon_sym_BANG] = ACTIONS(6684),
    [anon_sym_TILDE] = ACTIONS(6684),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8031] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10977),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(4620),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4621),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6676),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6678),
    [anon_sym_defined_QMARK] = ACTIONS(6680),
    [anon_sym_not] = ACTIONS(6682),
    [anon_sym_BANG] = ACTIONS(6684),
    [anon_sym_TILDE] = ACTIONS(6684),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8032] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4618),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_splat_argument] = STATE(2211),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym__arg_or_splat_arg] = STATE(8497),
    [sym_left_assignment_list] = STATE(4620),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4621),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(6674),
    [sym__unary_minus] = ACTIONS(6676),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6678),
    [anon_sym_defined_QMARK] = ACTIONS(6680),
    [anon_sym_not] = ACTIONS(6682),
    [anon_sym_BANG] = ACTIONS(6684),
    [anon_sym_TILDE] = ACTIONS(6684),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8033] = {
    [sym__simple_heredoc_body] = ACTIONS(11422),
    [sym__heredoc_body_beginning] = ACTIONS(11422),
    [sym__line_break] = ACTIONS(11422),
    [sym__binary_minus] = ACTIONS(11422),
    [sym__binary_star] = ACTIONS(11422),
    [anon_sym_end] = ACTIONS(11422),
    [anon_sym_COMMA] = ACTIONS(13830),
    [anon_sym_PIPE] = ACTIONS(11426),
    [anon_sym_SEMI] = ACTIONS(11422),
    [anon_sym_STAR_STAR] = ACTIONS(11422),
    [anon_sym_AMP] = ACTIONS(11426),
    [anon_sym_LT] = ACTIONS(11426),
    [anon_sym_if] = ACTIONS(11422),
    [anon_sym_unless] = ACTIONS(11422),
    [anon_sym_while] = ACTIONS(11422),
    [anon_sym_until] = ACTIONS(11422),
    [anon_sym_rescue] = ACTIONS(11422),
    [anon_sym_else] = ACTIONS(11422),
    [anon_sym_ensure] = ACTIONS(11422),
    [anon_sym_QMARK] = ACTIONS(11422),
    [anon_sym_DOT_DOT] = ACTIONS(11426),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11422),
    [anon_sym_and] = ACTIONS(11422),
    [anon_sym_or] = ACTIONS(11422),
    [anon_sym_PIPE_PIPE] = ACTIONS(11422),
    [anon_sym_AMP_AMP] = ACTIONS(11422),
    [anon_sym_LT_LT] = ACTIONS(11422),
    [anon_sym_GT_GT] = ACTIONS(11422),
    [anon_sym_EQ_EQ] = ACTIONS(11426),
    [anon_sym_BANG_EQ] = ACTIONS(11422),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11422),
    [anon_sym_LT_EQ_GT] = ACTIONS(11422),
    [anon_sym_EQ_TILDE] = ACTIONS(11422),
    [anon_sym_BANG_TILDE] = ACTIONS(11422),
    [anon_sym_LT_EQ] = ACTIONS(11426),
    [anon_sym_GT] = ACTIONS(11426),
    [anon_sym_GT_EQ] = ACTIONS(11422),
    [anon_sym_CARET] = ACTIONS(11422),
    [anon_sym_PLUS] = ACTIONS(11422),
    [anon_sym_SLASH] = ACTIONS(11422),
    [anon_sym_PERCENT] = ACTIONS(11422),
    [sym_comment] = ACTIONS(110),
  },
  [8034] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4618),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_splat_argument] = STATE(2211),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_right_assignment_list] = STATE(2212),
    [sym__arg_or_splat_arg] = STATE(10979),
    [sym_left_assignment_list] = STATE(4620),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4621),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(6674),
    [sym__unary_minus] = ACTIONS(6676),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6678),
    [anon_sym_defined_QMARK] = ACTIONS(6680),
    [anon_sym_not] = ACTIONS(6682),
    [anon_sym_BANG] = ACTIONS(6684),
    [anon_sym_TILDE] = ACTIONS(6684),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8035] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10980),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(4620),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4621),
    [sym__variable] = STATE(428),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(6676),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(6678),
    [anon_sym_defined_QMARK] = ACTIONS(6680),
    [anon_sym_not] = ACTIONS(6682),
    [anon_sym_BANG] = ACTIONS(6684),
    [anon_sym_TILDE] = ACTIONS(6684),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8036] = {
    [sym__simple_symbol] = ACTIONS(7682),
    [sym__symbol_beginning] = ACTIONS(7682),
    [anon_sym_PIPE] = ACTIONS(7682),
    [anon_sym_STAR] = ACTIONS(7684),
    [anon_sym_STAR_STAR] = ACTIONS(7682),
    [anon_sym_AMP] = ACTIONS(7682),
    [anon_sym_LT] = ACTIONS(7684),
    [anon_sym_DOT_DOT] = ACTIONS(7682),
    [anon_sym_LT_LT] = ACTIONS(7682),
    [anon_sym_GT_GT] = ACTIONS(7682),
    [anon_sym_EQ_EQ] = ACTIONS(7684),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7682),
    [anon_sym_LT_EQ_GT] = ACTIONS(7682),
    [anon_sym_EQ_TILDE] = ACTIONS(7682),
    [anon_sym_BANG_TILDE] = ACTIONS(7682),
    [anon_sym_LT_EQ] = ACTIONS(7684),
    [anon_sym_GT] = ACTIONS(7684),
    [anon_sym_GT_EQ] = ACTIONS(7682),
    [anon_sym_CARET] = ACTIONS(7682),
    [anon_sym_PLUS] = ACTIONS(7684),
    [anon_sym_SLASH] = ACTIONS(7682),
    [anon_sym_PERCENT] = ACTIONS(7682),
    [anon_sym_BANG] = ACTIONS(7684),
    [anon_sym_TILDE] = ACTIONS(7682),
    [sym_constant] = ACTIONS(7684),
    [sym_identifier] = ACTIONS(7684),
    [sym_instance_variable] = ACTIONS(7684),
    [sym_class_variable] = ACTIONS(7684),
    [sym_global_variable] = ACTIONS(7684),
    [anon_sym_DASH] = ACTIONS(7684),
    [anon_sym_PLUS_AT] = ACTIONS(7682),
    [anon_sym_DASH_AT] = ACTIONS(7682),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(7684),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(7682),
    [anon_sym_BQUOTE] = ACTIONS(7682),
    [sym_comment] = ACTIONS(110),
  },
  [8037] = {
    [sym__simple_heredoc_body] = ACTIONS(7682),
    [sym__heredoc_body_beginning] = ACTIONS(7682),
    [sym__line_break] = ACTIONS(7682),
    [ts_builtin_sym_end] = ACTIONS(7682),
    [anon_sym___END__] = ACTIONS(7682),
    [anon_sym_RBRACE] = ACTIONS(7682),
    [anon_sym_RPAREN] = ACTIONS(7682),
    [anon_sym_end] = ACTIONS(7682),
    [anon_sym_COMMA] = ACTIONS(7682),
    [anon_sym_SEMI] = ACTIONS(7682),
    [anon_sym_if] = ACTIONS(7682),
    [anon_sym_unless] = ACTIONS(7682),
    [anon_sym_while] = ACTIONS(7682),
    [anon_sym_until] = ACTIONS(7682),
    [anon_sym_rescue] = ACTIONS(7682),
    [anon_sym_when] = ACTIONS(7682),
    [anon_sym_elsif] = ACTIONS(7682),
    [anon_sym_else] = ACTIONS(7682),
    [anon_sym_then] = ACTIONS(7682),
    [anon_sym_ensure] = ACTIONS(7682),
    [sym_comment] = ACTIONS(110),
  },
  [8038] = {
    [sym__simple_heredoc_body] = ACTIONS(13832),
    [sym__heredoc_body_beginning] = ACTIONS(13832),
    [sym__line_break] = ACTIONS(13832),
    [ts_builtin_sym_end] = ACTIONS(13832),
    [anon_sym___END__] = ACTIONS(13832),
    [anon_sym_RBRACE] = ACTIONS(13832),
    [anon_sym_RPAREN] = ACTIONS(13832),
    [anon_sym_end] = ACTIONS(13832),
    [anon_sym_COMMA] = ACTIONS(13832),
    [anon_sym_SEMI] = ACTIONS(13832),
    [anon_sym_if] = ACTIONS(13832),
    [anon_sym_unless] = ACTIONS(13832),
    [anon_sym_while] = ACTIONS(13832),
    [anon_sym_until] = ACTIONS(13832),
    [anon_sym_rescue] = ACTIONS(13832),
    [anon_sym_when] = ACTIONS(13832),
    [anon_sym_elsif] = ACTIONS(13832),
    [anon_sym_else] = ACTIONS(13832),
    [anon_sym_then] = ACTIONS(13832),
    [anon_sym_ensure] = ACTIONS(13832),
    [sym_comment] = ACTIONS(110),
  },
  [8039] = {
    [sym__simple_string] = ACTIONS(7678),
    [sym__simple_heredoc_body] = ACTIONS(7678),
    [sym__string_beginning] = ACTIONS(7678),
    [sym__heredoc_body_beginning] = ACTIONS(7678),
    [sym__element_reference_left_bracket] = ACTIONS(7678),
    [sym__scope_double_colon] = ACTIONS(7678),
    [sym__keyword_colon] = ACTIONS(7678),
    [sym__binary_minus] = ACTIONS(7678),
    [sym__binary_star] = ACTIONS(7678),
    [anon_sym_LBRACE] = ACTIONS(7678),
    [anon_sym_RBRACE] = ACTIONS(7678),
    [anon_sym_RPAREN] = ACTIONS(7678),
    [anon_sym_DOT] = ACTIONS(7680),
    [anon_sym_COMMA] = ACTIONS(7678),
    [anon_sym_PIPE] = ACTIONS(7680),
    [anon_sym_SEMI] = ACTIONS(7678),
    [anon_sym_STAR_STAR] = ACTIONS(7678),
    [anon_sym_AMP] = ACTIONS(7680),
    [anon_sym_EQ] = ACTIONS(7680),
    [anon_sym_LT] = ACTIONS(7680),
    [anon_sym_in] = ACTIONS(7678),
    [anon_sym_do] = ACTIONS(7678),
    [anon_sym_EQ_GT] = ACTIONS(7678),
    [anon_sym_RBRACK] = ACTIONS(7678),
    [anon_sym_AMP_DOT] = ACTIONS(7678),
    [anon_sym_QMARK] = ACTIONS(7680),
    [anon_sym_COLON] = ACTIONS(7678),
    [anon_sym_DOT_DOT] = ACTIONS(7680),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7678),
    [anon_sym_and] = ACTIONS(7678),
    [anon_sym_or] = ACTIONS(7678),
    [anon_sym_PIPE_PIPE] = ACTIONS(7678),
    [anon_sym_AMP_AMP] = ACTIONS(7678),
    [anon_sym_LT_LT] = ACTIONS(7678),
    [anon_sym_GT_GT] = ACTIONS(7678),
    [anon_sym_EQ_EQ] = ACTIONS(7680),
    [anon_sym_BANG_EQ] = ACTIONS(7678),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7678),
    [anon_sym_LT_EQ_GT] = ACTIONS(7678),
    [anon_sym_EQ_TILDE] = ACTIONS(7678),
    [anon_sym_BANG_TILDE] = ACTIONS(7678),
    [anon_sym_LT_EQ] = ACTIONS(7680),
    [anon_sym_GT] = ACTIONS(7680),
    [anon_sym_GT_EQ] = ACTIONS(7678),
    [anon_sym_CARET] = ACTIONS(7678),
    [anon_sym_PLUS] = ACTIONS(7678),
    [anon_sym_SLASH] = ACTIONS(7678),
    [anon_sym_PERCENT] = ACTIONS(7678),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(7680),
  },
  [8040] = {
    [sym__simple_heredoc_body] = ACTIONS(7682),
    [sym__heredoc_body_beginning] = ACTIONS(7682),
    [sym__element_reference_left_bracket] = ACTIONS(7682),
    [sym__scope_double_colon] = ACTIONS(7682),
    [sym__binary_minus] = ACTIONS(7682),
    [sym__binary_star] = ACTIONS(7682),
    [anon_sym_LBRACE] = ACTIONS(7682),
    [anon_sym_RBRACE] = ACTIONS(7682),
    [anon_sym_RPAREN] = ACTIONS(7682),
    [anon_sym_DOT] = ACTIONS(7684),
    [anon_sym_COMMA] = ACTIONS(7682),
    [anon_sym_PIPE] = ACTIONS(7684),
    [anon_sym_SEMI] = ACTIONS(7682),
    [anon_sym_STAR_STAR] = ACTIONS(7682),
    [anon_sym_AMP] = ACTIONS(7684),
    [anon_sym_EQ] = ACTIONS(7684),
    [anon_sym_LT] = ACTIONS(7684),
    [anon_sym_in] = ACTIONS(7682),
    [anon_sym_do] = ACTIONS(7682),
    [anon_sym_EQ_GT] = ACTIONS(7682),
    [anon_sym_RBRACK] = ACTIONS(7682),
    [anon_sym_AMP_DOT] = ACTIONS(7682),
    [anon_sym_QMARK] = ACTIONS(7682),
    [anon_sym_COLON] = ACTIONS(7682),
    [anon_sym_DOT_DOT] = ACTIONS(7684),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7682),
    [anon_sym_and] = ACTIONS(7682),
    [anon_sym_or] = ACTIONS(7682),
    [anon_sym_PIPE_PIPE] = ACTIONS(7682),
    [anon_sym_AMP_AMP] = ACTIONS(7682),
    [anon_sym_LT_LT] = ACTIONS(7682),
    [anon_sym_GT_GT] = ACTIONS(7682),
    [anon_sym_EQ_EQ] = ACTIONS(7684),
    [anon_sym_BANG_EQ] = ACTIONS(7682),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7682),
    [anon_sym_LT_EQ_GT] = ACTIONS(7682),
    [anon_sym_EQ_TILDE] = ACTIONS(7682),
    [anon_sym_BANG_TILDE] = ACTIONS(7682),
    [anon_sym_LT_EQ] = ACTIONS(7684),
    [anon_sym_GT] = ACTIONS(7684),
    [anon_sym_GT_EQ] = ACTIONS(7682),
    [anon_sym_CARET] = ACTIONS(7682),
    [anon_sym_PLUS] = ACTIONS(7682),
    [anon_sym_SLASH] = ACTIONS(7682),
    [anon_sym_PERCENT] = ACTIONS(7682),
    [sym_comment] = ACTIONS(256),
  },
  [8041] = {
    [sym__simple_heredoc_body] = ACTIONS(7686),
    [sym__heredoc_body_beginning] = ACTIONS(7686),
    [sym__element_reference_left_bracket] = ACTIONS(7686),
    [sym__scope_double_colon] = ACTIONS(7686),
    [sym__binary_minus] = ACTIONS(7686),
    [sym__binary_star] = ACTIONS(7686),
    [anon_sym_LBRACE] = ACTIONS(7686),
    [anon_sym_RBRACE] = ACTIONS(7686),
    [anon_sym_RPAREN] = ACTIONS(7686),
    [anon_sym_DOT] = ACTIONS(7688),
    [anon_sym_COMMA] = ACTIONS(7686),
    [anon_sym_PIPE] = ACTIONS(7688),
    [anon_sym_SEMI] = ACTIONS(7686),
    [anon_sym_STAR_STAR] = ACTIONS(7686),
    [anon_sym_AMP] = ACTIONS(7688),
    [anon_sym_EQ] = ACTIONS(7688),
    [anon_sym_LT] = ACTIONS(7688),
    [anon_sym_in] = ACTIONS(7686),
    [anon_sym_do] = ACTIONS(7686),
    [anon_sym_EQ_GT] = ACTIONS(7686),
    [anon_sym_RBRACK] = ACTIONS(7686),
    [anon_sym_AMP_DOT] = ACTIONS(7686),
    [anon_sym_QMARK] = ACTIONS(7686),
    [anon_sym_COLON] = ACTIONS(7686),
    [anon_sym_DOT_DOT] = ACTIONS(7688),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7686),
    [anon_sym_and] = ACTIONS(7686),
    [anon_sym_or] = ACTIONS(7686),
    [anon_sym_PIPE_PIPE] = ACTIONS(7686),
    [anon_sym_AMP_AMP] = ACTIONS(7686),
    [anon_sym_LT_LT] = ACTIONS(7686),
    [anon_sym_GT_GT] = ACTIONS(7686),
    [anon_sym_EQ_EQ] = ACTIONS(7688),
    [anon_sym_BANG_EQ] = ACTIONS(7686),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7686),
    [anon_sym_LT_EQ_GT] = ACTIONS(7686),
    [anon_sym_EQ_TILDE] = ACTIONS(7686),
    [anon_sym_BANG_TILDE] = ACTIONS(7686),
    [anon_sym_LT_EQ] = ACTIONS(7688),
    [anon_sym_GT] = ACTIONS(7688),
    [anon_sym_GT_EQ] = ACTIONS(7686),
    [anon_sym_CARET] = ACTIONS(7686),
    [anon_sym_PLUS] = ACTIONS(7686),
    [anon_sym_SLASH] = ACTIONS(7686),
    [anon_sym_PERCENT] = ACTIONS(7686),
    [sym_comment] = ACTIONS(256),
  },
  [8042] = {
    [sym__simple_heredoc_body] = ACTIONS(7690),
    [sym__heredoc_body_beginning] = ACTIONS(7690),
    [sym__element_reference_left_bracket] = ACTIONS(7690),
    [sym__scope_double_colon] = ACTIONS(7690),
    [sym__binary_minus] = ACTIONS(7690),
    [sym__binary_star] = ACTIONS(7690),
    [anon_sym_LBRACE] = ACTIONS(7690),
    [anon_sym_RBRACE] = ACTIONS(7690),
    [anon_sym_RPAREN] = ACTIONS(7690),
    [anon_sym_DOT] = ACTIONS(7692),
    [anon_sym_COMMA] = ACTIONS(7690),
    [anon_sym_PIPE] = ACTIONS(7692),
    [anon_sym_SEMI] = ACTIONS(7690),
    [anon_sym_STAR_STAR] = ACTIONS(7690),
    [anon_sym_AMP] = ACTIONS(7692),
    [anon_sym_EQ] = ACTIONS(7692),
    [anon_sym_LT] = ACTIONS(7692),
    [anon_sym_in] = ACTIONS(7690),
    [anon_sym_do] = ACTIONS(7690),
    [anon_sym_EQ_GT] = ACTIONS(7690),
    [anon_sym_RBRACK] = ACTIONS(7690),
    [anon_sym_AMP_DOT] = ACTIONS(7690),
    [anon_sym_QMARK] = ACTIONS(7690),
    [anon_sym_COLON] = ACTIONS(7690),
    [anon_sym_DOT_DOT] = ACTIONS(7692),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7690),
    [anon_sym_and] = ACTIONS(7690),
    [anon_sym_or] = ACTIONS(7690),
    [anon_sym_PIPE_PIPE] = ACTIONS(7690),
    [anon_sym_AMP_AMP] = ACTIONS(7690),
    [anon_sym_LT_LT] = ACTIONS(7690),
    [anon_sym_GT_GT] = ACTIONS(7690),
    [anon_sym_EQ_EQ] = ACTIONS(7692),
    [anon_sym_BANG_EQ] = ACTIONS(7690),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7690),
    [anon_sym_LT_EQ_GT] = ACTIONS(7690),
    [anon_sym_EQ_TILDE] = ACTIONS(7690),
    [anon_sym_BANG_TILDE] = ACTIONS(7690),
    [anon_sym_LT_EQ] = ACTIONS(7692),
    [anon_sym_GT] = ACTIONS(7692),
    [anon_sym_GT_EQ] = ACTIONS(7690),
    [anon_sym_CARET] = ACTIONS(7690),
    [anon_sym_PLUS] = ACTIONS(7690),
    [anon_sym_SLASH] = ACTIONS(7690),
    [anon_sym_PERCENT] = ACTIONS(7690),
    [sym_comment] = ACTIONS(256),
  },
  [8043] = {
    [sym__simple_heredoc_body] = ACTIONS(7694),
    [sym__heredoc_body_beginning] = ACTIONS(7694),
    [sym__element_reference_left_bracket] = ACTIONS(7694),
    [sym__scope_double_colon] = ACTIONS(7694),
    [sym__binary_minus] = ACTIONS(7694),
    [sym__binary_star] = ACTIONS(7694),
    [anon_sym_LBRACE] = ACTIONS(7694),
    [anon_sym_RBRACE] = ACTIONS(7694),
    [anon_sym_RPAREN] = ACTIONS(7694),
    [anon_sym_DOT] = ACTIONS(7696),
    [anon_sym_COMMA] = ACTIONS(7694),
    [anon_sym_PIPE] = ACTIONS(7696),
    [anon_sym_SEMI] = ACTIONS(7694),
    [anon_sym_STAR_STAR] = ACTIONS(7694),
    [anon_sym_AMP] = ACTIONS(7696),
    [anon_sym_EQ] = ACTIONS(7696),
    [anon_sym_LT] = ACTIONS(7696),
    [anon_sym_in] = ACTIONS(7694),
    [anon_sym_do] = ACTIONS(7694),
    [anon_sym_EQ_GT] = ACTIONS(7694),
    [anon_sym_RBRACK] = ACTIONS(7694),
    [anon_sym_AMP_DOT] = ACTIONS(7694),
    [anon_sym_QMARK] = ACTIONS(7694),
    [anon_sym_COLON] = ACTIONS(7694),
    [anon_sym_DOT_DOT] = ACTIONS(7696),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7694),
    [anon_sym_and] = ACTIONS(7694),
    [anon_sym_or] = ACTIONS(7694),
    [anon_sym_PIPE_PIPE] = ACTIONS(7694),
    [anon_sym_AMP_AMP] = ACTIONS(7694),
    [anon_sym_LT_LT] = ACTIONS(7694),
    [anon_sym_GT_GT] = ACTIONS(7694),
    [anon_sym_EQ_EQ] = ACTIONS(7696),
    [anon_sym_BANG_EQ] = ACTIONS(7694),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7694),
    [anon_sym_LT_EQ_GT] = ACTIONS(7694),
    [anon_sym_EQ_TILDE] = ACTIONS(7694),
    [anon_sym_BANG_TILDE] = ACTIONS(7694),
    [anon_sym_LT_EQ] = ACTIONS(7696),
    [anon_sym_GT] = ACTIONS(7696),
    [anon_sym_GT_EQ] = ACTIONS(7694),
    [anon_sym_CARET] = ACTIONS(7694),
    [anon_sym_PLUS] = ACTIONS(7694),
    [anon_sym_SLASH] = ACTIONS(7694),
    [anon_sym_PERCENT] = ACTIONS(7694),
    [sym_comment] = ACTIONS(256),
  },
  [8044] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(10981),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(1849),
    [sym_call] = STATE(1849),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(8049),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(8050),
    [sym__variable] = STATE(1849),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(10954),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2888),
    [anon_sym_yield] = ACTIONS(2890),
    [anon_sym_break] = ACTIONS(2892),
    [anon_sym_next] = ACTIONS(2894),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(10956),
    [anon_sym_defined_QMARK] = ACTIONS(10958),
    [anon_sym_not] = ACTIONS(10960),
    [anon_sym_BANG] = ACTIONS(10962),
    [anon_sym_TILDE] = ACTIONS(10962),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [8045] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(10982),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(1849),
    [sym_call] = STATE(1849),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(8049),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(8050),
    [sym__variable] = STATE(1849),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(10954),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2888),
    [anon_sym_yield] = ACTIONS(2890),
    [anon_sym_break] = ACTIONS(2892),
    [anon_sym_next] = ACTIONS(2894),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(10956),
    [anon_sym_defined_QMARK] = ACTIONS(10958),
    [anon_sym_not] = ACTIONS(10960),
    [anon_sym_BANG] = ACTIONS(10962),
    [anon_sym_TILDE] = ACTIONS(10962),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [8046] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(10983),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(1849),
    [sym_call] = STATE(1849),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(8049),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(8050),
    [sym__variable] = STATE(1849),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(10954),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2888),
    [anon_sym_yield] = ACTIONS(2890),
    [anon_sym_break] = ACTIONS(2892),
    [anon_sym_next] = ACTIONS(2894),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(10956),
    [anon_sym_defined_QMARK] = ACTIONS(10958),
    [anon_sym_not] = ACTIONS(10960),
    [anon_sym_BANG] = ACTIONS(10962),
    [anon_sym_TILDE] = ACTIONS(10962),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [8047] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(2988),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(1849),
    [sym_call] = STATE(1849),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(8049),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(8050),
    [sym__variable] = STATE(1849),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(10954),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2888),
    [anon_sym_yield] = ACTIONS(2890),
    [anon_sym_break] = ACTIONS(2892),
    [anon_sym_next] = ACTIONS(2894),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(10956),
    [anon_sym_defined_QMARK] = ACTIONS(10958),
    [anon_sym_not] = ACTIONS(10960),
    [anon_sym_BANG] = ACTIONS(10962),
    [anon_sym_TILDE] = ACTIONS(10962),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [8048] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(13834),
    [sym__binary_star] = ACTIONS(13836),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(13838),
    [anon_sym_STAR_STAR] = ACTIONS(13840),
    [anon_sym_AMP] = ACTIONS(13842),
    [anon_sym_LT] = ACTIONS(13844),
    [anon_sym_RBRACK] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(13846),
    [anon_sym_DOT_DOT] = ACTIONS(13848),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(13850),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(13852),
    [anon_sym_AMP_AMP] = ACTIONS(13852),
    [anon_sym_LT_LT] = ACTIONS(13854),
    [anon_sym_GT_GT] = ACTIONS(13854),
    [anon_sym_EQ_EQ] = ACTIONS(13856),
    [anon_sym_BANG_EQ] = ACTIONS(13852),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(13852),
    [anon_sym_LT_EQ_GT] = ACTIONS(13852),
    [anon_sym_EQ_TILDE] = ACTIONS(13852),
    [anon_sym_BANG_TILDE] = ACTIONS(13852),
    [anon_sym_LT_EQ] = ACTIONS(13844),
    [anon_sym_GT] = ACTIONS(13844),
    [anon_sym_GT_EQ] = ACTIONS(13858),
    [anon_sym_CARET] = ACTIONS(13860),
    [anon_sym_PLUS] = ACTIONS(13862),
    [anon_sym_SLASH] = ACTIONS(13840),
    [anon_sym_PERCENT] = ACTIONS(13840),
    [sym_comment] = ACTIONS(110),
  },
  [8049] = {
    [anon_sym_EQ] = ACTIONS(13864),
    [sym_comment] = ACTIONS(256),
  },
  [8050] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(13866),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_RBRACK] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(13868),
    [anon_sym_DASH_EQ] = ACTIONS(13868),
    [anon_sym_STAR_EQ] = ACTIONS(13868),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(13868),
    [anon_sym_SLASH_EQ] = ACTIONS(13868),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(13868),
    [anon_sym_PIPE_EQ] = ACTIONS(13868),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(13868),
    [anon_sym_AMP_EQ] = ACTIONS(13868),
    [anon_sym_PERCENT_EQ] = ACTIONS(13868),
    [anon_sym_GT_GT_EQ] = ACTIONS(13868),
    [anon_sym_LT_LT_EQ] = ACTIONS(13868),
    [anon_sym_CARET_EQ] = ACTIONS(13868),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [8051] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(13834),
    [sym__binary_star] = ACTIONS(13836),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(13838),
    [anon_sym_STAR_STAR] = ACTIONS(13840),
    [anon_sym_AMP] = ACTIONS(13842),
    [anon_sym_LT] = ACTIONS(13844),
    [anon_sym_RBRACK] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(13846),
    [anon_sym_DOT_DOT] = ACTIONS(13848),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(13850),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(13852),
    [anon_sym_AMP_AMP] = ACTIONS(13852),
    [anon_sym_LT_LT] = ACTIONS(13854),
    [anon_sym_GT_GT] = ACTIONS(13854),
    [anon_sym_EQ_EQ] = ACTIONS(13856),
    [anon_sym_BANG_EQ] = ACTIONS(13852),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(13852),
    [anon_sym_LT_EQ_GT] = ACTIONS(13852),
    [anon_sym_EQ_TILDE] = ACTIONS(13852),
    [anon_sym_BANG_TILDE] = ACTIONS(13852),
    [anon_sym_LT_EQ] = ACTIONS(13844),
    [anon_sym_GT] = ACTIONS(13844),
    [anon_sym_GT_EQ] = ACTIONS(13858),
    [anon_sym_CARET] = ACTIONS(13860),
    [anon_sym_PLUS] = ACTIONS(13862),
    [anon_sym_SLASH] = ACTIONS(13840),
    [anon_sym_PERCENT] = ACTIONS(13840),
    [sym_comment] = ACTIONS(110),
  },
  [8052] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(13834),
    [sym__binary_star] = ACTIONS(13836),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(13838),
    [anon_sym_STAR_STAR] = ACTIONS(13840),
    [anon_sym_AMP] = ACTIONS(13842),
    [anon_sym_LT] = ACTIONS(13844),
    [anon_sym_RBRACK] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(13846),
    [anon_sym_DOT_DOT] = ACTIONS(13848),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(13850),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(13852),
    [anon_sym_AMP_AMP] = ACTIONS(13852),
    [anon_sym_LT_LT] = ACTIONS(13854),
    [anon_sym_GT_GT] = ACTIONS(13854),
    [anon_sym_EQ_EQ] = ACTIONS(13856),
    [anon_sym_BANG_EQ] = ACTIONS(13852),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(13852),
    [anon_sym_LT_EQ_GT] = ACTIONS(13852),
    [anon_sym_EQ_TILDE] = ACTIONS(13852),
    [anon_sym_BANG_TILDE] = ACTIONS(13852),
    [anon_sym_LT_EQ] = ACTIONS(13844),
    [anon_sym_GT] = ACTIONS(13844),
    [anon_sym_GT_EQ] = ACTIONS(13858),
    [anon_sym_CARET] = ACTIONS(13860),
    [anon_sym_PLUS] = ACTIONS(13862),
    [anon_sym_SLASH] = ACTIONS(13840),
    [anon_sym_PERCENT] = ACTIONS(13840),
    [sym_comment] = ACTIONS(110),
  },
  [8053] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(10998),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(1849),
    [sym_call] = STATE(1849),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(8049),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(8050),
    [sym__variable] = STATE(1849),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(10954),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2888),
    [anon_sym_yield] = ACTIONS(2890),
    [anon_sym_break] = ACTIONS(2892),
    [anon_sym_next] = ACTIONS(2894),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(10956),
    [anon_sym_defined_QMARK] = ACTIONS(10958),
    [anon_sym_not] = ACTIONS(10960),
    [anon_sym_BANG] = ACTIONS(10962),
    [anon_sym_TILDE] = ACTIONS(10962),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [8054] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(4645),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(6127),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1888),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1889),
    [sym__variable] = STATE(504),
    [sym_reserved_identifier] = STATE(4647),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(4648),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(10999),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(6708),
    [sym__splat_star] = ACTIONS(6710),
    [sym__unary_minus] = ACTIONS(2938),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(13870),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(824),
    [anon_sym_yield] = ACTIONS(826),
    [anon_sym_break] = ACTIONS(828),
    [anon_sym_next] = ACTIONS(830),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(6768),
    [anon_sym_defined_QMARK] = ACTIONS(2940),
    [anon_sym_not] = ACTIONS(2942),
    [anon_sym_BANG] = ACTIONS(2946),
    [anon_sym_TILDE] = ACTIONS(2946),
    [sym_constant] = ACTIONS(6712),
    [sym_identifier] = ACTIONS(6712),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [8055] = {
    [sym_heredoc_end] = STATE(3004),
    [aux_sym_argument_list_repeat2] = STATE(6130),
    [sym__simple_heredoc_body] = ACTIONS(4410),
    [sym__heredoc_body_beginning] = ACTIONS(4412),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(13872),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_STAR_STAR] = ACTIONS(5472),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_RBRACK] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5472),
    [anon_sym_AMP_AMP] = ACTIONS(5472),
    [anon_sym_LT_LT] = ACTIONS(5472),
    [anon_sym_GT_GT] = ACTIONS(5472),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5472),
    [anon_sym_PLUS] = ACTIONS(5472),
    [anon_sym_SLASH] = ACTIONS(5472),
    [anon_sym_PERCENT] = ACTIONS(5472),
    [sym_comment] = ACTIONS(110),
  },
  [8056] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(11001),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(1849),
    [sym_call] = STATE(1849),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(8049),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(8050),
    [sym__variable] = STATE(1849),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(10954),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2888),
    [anon_sym_yield] = ACTIONS(2890),
    [anon_sym_break] = ACTIONS(2892),
    [anon_sym_next] = ACTIONS(2894),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(10956),
    [anon_sym_defined_QMARK] = ACTIONS(10958),
    [anon_sym_not] = ACTIONS(10960),
    [anon_sym_BANG] = ACTIONS(10962),
    [anon_sym_TILDE] = ACTIONS(10962),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [8057] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(6716),
    [anon_sym_COMMA] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_STAR_STAR] = ACTIONS(6720),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_RBRACK] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7008),
    [anon_sym_AMP_AMP] = ACTIONS(7008),
    [anon_sym_LT_LT] = ACTIONS(7008),
    [anon_sym_GT_GT] = ACTIONS(7008),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7008),
    [anon_sym_PLUS] = ACTIONS(7008),
    [anon_sym_SLASH] = ACTIONS(6720),
    [anon_sym_PERCENT] = ACTIONS(6720),
    [sym_comment] = ACTIONS(110),
  },
  [8058] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_COMMA] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_STAR_STAR] = ACTIONS(6720),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_RBRACK] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7012),
    [anon_sym_AMP_AMP] = ACTIONS(7012),
    [anon_sym_LT_LT] = ACTIONS(7012),
    [anon_sym_GT_GT] = ACTIONS(7012),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7012),
    [anon_sym_PLUS] = ACTIONS(7012),
    [anon_sym_SLASH] = ACTIONS(7012),
    [anon_sym_PERCENT] = ACTIONS(7012),
    [sym_comment] = ACTIONS(110),
  },
  [8059] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6714),
    [sym__binary_star] = ACTIONS(6716),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(6720),
    [anon_sym_AMP] = ACTIONS(6722),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_RBRACK] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(6736),
    [anon_sym_GT_GT] = ACTIONS(6736),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(6744),
    [anon_sym_SLASH] = ACTIONS(6720),
    [anon_sym_PERCENT] = ACTIONS(6720),
    [sym_comment] = ACTIONS(110),
  },
  [8060] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(6720),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_RBRACK] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7016),
    [anon_sym_PERCENT] = ACTIONS(7016),
    [sym_comment] = ACTIONS(110),
  },
  [8061] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6714),
    [sym__binary_star] = ACTIONS(6716),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(6720),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_RBRACK] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(6736),
    [anon_sym_GT_GT] = ACTIONS(6736),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(6744),
    [anon_sym_SLASH] = ACTIONS(6720),
    [anon_sym_PERCENT] = ACTIONS(6720),
    [sym_comment] = ACTIONS(110),
  },
  [8062] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6714),
    [sym__binary_star] = ACTIONS(6716),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(6718),
    [anon_sym_STAR_STAR] = ACTIONS(6720),
    [anon_sym_AMP] = ACTIONS(6722),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_RBRACK] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(6736),
    [anon_sym_GT_GT] = ACTIONS(6736),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(6742),
    [anon_sym_PLUS] = ACTIONS(6744),
    [anon_sym_SLASH] = ACTIONS(6720),
    [anon_sym_PERCENT] = ACTIONS(6720),
    [sym_comment] = ACTIONS(110),
  },
  [8063] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(13874),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [8064] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(6714),
    [sym__binary_star] = ACTIONS(6716),
    [anon_sym_COMMA] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(6718),
    [anon_sym_STAR_STAR] = ACTIONS(6720),
    [anon_sym_AMP] = ACTIONS(6722),
    [anon_sym_LT] = ACTIONS(6724),
    [anon_sym_RBRACK] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(6728),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6730),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(6734),
    [anon_sym_AMP_AMP] = ACTIONS(6734),
    [anon_sym_LT_LT] = ACTIONS(6736),
    [anon_sym_GT_GT] = ACTIONS(6736),
    [anon_sym_EQ_EQ] = ACTIONS(6738),
    [anon_sym_BANG_EQ] = ACTIONS(6734),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6734),
    [anon_sym_LT_EQ_GT] = ACTIONS(6734),
    [anon_sym_EQ_TILDE] = ACTIONS(6734),
    [anon_sym_BANG_TILDE] = ACTIONS(6734),
    [anon_sym_LT_EQ] = ACTIONS(6724),
    [anon_sym_GT] = ACTIONS(6724),
    [anon_sym_GT_EQ] = ACTIONS(6740),
    [anon_sym_CARET] = ACTIONS(6742),
    [anon_sym_PLUS] = ACTIONS(6744),
    [anon_sym_SLASH] = ACTIONS(6720),
    [anon_sym_PERCENT] = ACTIONS(6720),
    [sym_comment] = ACTIONS(110),
  },
  [8065] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6714),
    [sym__binary_star] = ACTIONS(6716),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(6718),
    [anon_sym_STAR_STAR] = ACTIONS(6720),
    [anon_sym_AMP] = ACTIONS(6722),
    [anon_sym_LT] = ACTIONS(6724),
    [anon_sym_RBRACK] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(6726),
    [anon_sym_DOT_DOT] = ACTIONS(6728),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6730),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(6734),
    [anon_sym_AMP_AMP] = ACTIONS(6734),
    [anon_sym_LT_LT] = ACTIONS(6736),
    [anon_sym_GT_GT] = ACTIONS(6736),
    [anon_sym_EQ_EQ] = ACTIONS(6738),
    [anon_sym_BANG_EQ] = ACTIONS(6734),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6734),
    [anon_sym_LT_EQ_GT] = ACTIONS(6734),
    [anon_sym_EQ_TILDE] = ACTIONS(6734),
    [anon_sym_BANG_TILDE] = ACTIONS(6734),
    [anon_sym_LT_EQ] = ACTIONS(6724),
    [anon_sym_GT] = ACTIONS(6724),
    [anon_sym_GT_EQ] = ACTIONS(6740),
    [anon_sym_CARET] = ACTIONS(6742),
    [anon_sym_PLUS] = ACTIONS(6744),
    [anon_sym_SLASH] = ACTIONS(6720),
    [anon_sym_PERCENT] = ACTIONS(6720),
    [sym_comment] = ACTIONS(110),
  },
  [8066] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6714),
    [sym__binary_star] = ACTIONS(6716),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(6718),
    [anon_sym_STAR_STAR] = ACTIONS(6720),
    [anon_sym_AMP] = ACTIONS(6722),
    [anon_sym_LT] = ACTIONS(6724),
    [anon_sym_RBRACK] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(6736),
    [anon_sym_GT_GT] = ACTIONS(6736),
    [anon_sym_EQ_EQ] = ACTIONS(6738),
    [anon_sym_BANG_EQ] = ACTIONS(6734),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6734),
    [anon_sym_LT_EQ_GT] = ACTIONS(6734),
    [anon_sym_EQ_TILDE] = ACTIONS(6734),
    [anon_sym_BANG_TILDE] = ACTIONS(6734),
    [anon_sym_LT_EQ] = ACTIONS(6724),
    [anon_sym_GT] = ACTIONS(6724),
    [anon_sym_GT_EQ] = ACTIONS(6740),
    [anon_sym_CARET] = ACTIONS(6742),
    [anon_sym_PLUS] = ACTIONS(6744),
    [anon_sym_SLASH] = ACTIONS(6720),
    [anon_sym_PERCENT] = ACTIONS(6720),
    [sym_comment] = ACTIONS(110),
  },
  [8067] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6714),
    [sym__binary_star] = ACTIONS(6716),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(6720),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_RBRACK] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(6744),
    [anon_sym_SLASH] = ACTIONS(6720),
    [anon_sym_PERCENT] = ACTIONS(6720),
    [sym_comment] = ACTIONS(110),
  },
  [8068] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(6716),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(6720),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_RBRACK] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(6720),
    [anon_sym_PERCENT] = ACTIONS(6720),
    [sym_comment] = ACTIONS(110),
  },
  [8069] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(11003),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(8078),
    [sym_call] = STATE(8078),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(8079),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(8080),
    [sym__variable] = STATE(8078),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(10970),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(10972),
    [anon_sym_yield] = ACTIONS(10974),
    [anon_sym_break] = ACTIONS(10976),
    [anon_sym_next] = ACTIONS(10978),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(10980),
    [anon_sym_defined_QMARK] = ACTIONS(10982),
    [anon_sym_not] = ACTIONS(10984),
    [anon_sym_BANG] = ACTIONS(10986),
    [anon_sym_TILDE] = ACTIONS(10986),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [8070] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(4667),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1949),
    [sym_call] = STATE(1949),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(9264),
    [sym__argument_list_with_parens] = STATE(2959),
    [sym__argument] = STATE(4668),
    [sym_splat_argument] = STATE(2961),
    [sym_hash_splat_argument] = STATE(2961),
    [sym_block_argument] = STATE(2961),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1953),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1954),
    [sym__variable] = STATE(1949),
    [sym_reserved_identifier] = STATE(4669),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(4670),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(2961),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(6746),
    [sym__splat_star] = ACTIONS(6748),
    [sym__argument_list_left_paren] = ACTIONS(4330),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(3010),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(544),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(3014),
    [anon_sym_yield] = ACTIONS(3016),
    [anon_sym_break] = ACTIONS(3018),
    [anon_sym_next] = ACTIONS(3020),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_RBRACK] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_PLUS_EQ] = ACTIONS(532),
    [anon_sym_DASH_EQ] = ACTIONS(532),
    [anon_sym_STAR_EQ] = ACTIONS(532),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(532),
    [anon_sym_SLASH_EQ] = ACTIONS(532),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(532),
    [anon_sym_PIPE_EQ] = ACTIONS(532),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(532),
    [anon_sym_AMP_EQ] = ACTIONS(532),
    [anon_sym_PERCENT_EQ] = ACTIONS(532),
    [anon_sym_GT_GT_EQ] = ACTIONS(532),
    [anon_sym_LT_LT_EQ] = ACTIONS(532),
    [anon_sym_CARET_EQ] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(544),
    [anon_sym_AMP_AMP] = ACTIONS(544),
    [anon_sym_LT_LT] = ACTIONS(544),
    [anon_sym_GT_GT] = ACTIONS(544),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(544),
    [anon_sym_PERCENT] = ACTIONS(544),
    [anon_sym_defined_QMARK] = ACTIONS(3024),
    [anon_sym_not] = ACTIONS(3026),
    [anon_sym_BANG] = ACTIONS(3028),
    [anon_sym_TILDE] = ACTIONS(3030),
    [sym_constant] = ACTIONS(6750),
    [sym_identifier] = ACTIONS(6750),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [8071] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(4667),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1949),
    [sym_call] = STATE(1949),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(9265),
    [sym__argument_list_with_parens] = STATE(2959),
    [sym__argument] = STATE(4668),
    [sym_splat_argument] = STATE(2961),
    [sym_hash_splat_argument] = STATE(2961),
    [sym_block_argument] = STATE(2961),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1953),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1954),
    [sym__variable] = STATE(1949),
    [sym_reserved_identifier] = STATE(4669),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(4670),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(2961),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(6746),
    [sym__splat_star] = ACTIONS(6748),
    [sym__argument_list_left_paren] = ACTIONS(4330),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(3010),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(604),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(3014),
    [anon_sym_yield] = ACTIONS(3016),
    [anon_sym_break] = ACTIONS(3018),
    [anon_sym_next] = ACTIONS(3020),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_RBRACK] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_PLUS_EQ] = ACTIONS(602),
    [anon_sym_DASH_EQ] = ACTIONS(602),
    [anon_sym_STAR_EQ] = ACTIONS(602),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(602),
    [anon_sym_SLASH_EQ] = ACTIONS(602),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(602),
    [anon_sym_PIPE_EQ] = ACTIONS(602),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(602),
    [anon_sym_AMP_EQ] = ACTIONS(602),
    [anon_sym_PERCENT_EQ] = ACTIONS(602),
    [anon_sym_GT_GT_EQ] = ACTIONS(602),
    [anon_sym_LT_LT_EQ] = ACTIONS(602),
    [anon_sym_CARET_EQ] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(604),
    [anon_sym_AMP_AMP] = ACTIONS(604),
    [anon_sym_LT_LT] = ACTIONS(604),
    [anon_sym_GT_GT] = ACTIONS(604),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(604),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(604),
    [anon_sym_PERCENT] = ACTIONS(604),
    [anon_sym_defined_QMARK] = ACTIONS(3024),
    [anon_sym_not] = ACTIONS(3026),
    [anon_sym_BANG] = ACTIONS(3028),
    [anon_sym_TILDE] = ACTIONS(3030),
    [sym_constant] = ACTIONS(6750),
    [sym_identifier] = ACTIONS(6750),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [8072] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(4667),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1949),
    [sym_call] = STATE(1949),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(9266),
    [sym__argument_list_with_parens] = STATE(2959),
    [sym__argument] = STATE(4668),
    [sym_splat_argument] = STATE(2961),
    [sym_hash_splat_argument] = STATE(2961),
    [sym_block_argument] = STATE(2961),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1953),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1954),
    [sym__variable] = STATE(1949),
    [sym_reserved_identifier] = STATE(4669),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(4670),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(2961),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(6746),
    [sym__splat_star] = ACTIONS(6748),
    [sym__argument_list_left_paren] = ACTIONS(4330),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(3010),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(608),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(3014),
    [anon_sym_yield] = ACTIONS(3016),
    [anon_sym_break] = ACTIONS(3018),
    [anon_sym_next] = ACTIONS(3020),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_RBRACK] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_PLUS_EQ] = ACTIONS(606),
    [anon_sym_DASH_EQ] = ACTIONS(606),
    [anon_sym_STAR_EQ] = ACTIONS(606),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(606),
    [anon_sym_SLASH_EQ] = ACTIONS(606),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(606),
    [anon_sym_PIPE_EQ] = ACTIONS(606),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(606),
    [anon_sym_AMP_EQ] = ACTIONS(606),
    [anon_sym_PERCENT_EQ] = ACTIONS(606),
    [anon_sym_GT_GT_EQ] = ACTIONS(606),
    [anon_sym_LT_LT_EQ] = ACTIONS(606),
    [anon_sym_CARET_EQ] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(608),
    [anon_sym_AMP_AMP] = ACTIONS(608),
    [anon_sym_LT_LT] = ACTIONS(608),
    [anon_sym_GT_GT] = ACTIONS(608),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(608),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(608),
    [anon_sym_PERCENT] = ACTIONS(608),
    [anon_sym_defined_QMARK] = ACTIONS(3024),
    [anon_sym_not] = ACTIONS(3026),
    [anon_sym_BANG] = ACTIONS(3028),
    [anon_sym_TILDE] = ACTIONS(3030),
    [sym_constant] = ACTIONS(6750),
    [sym_identifier] = ACTIONS(6750),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [8073] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(4667),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1949),
    [sym_call] = STATE(1949),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(9267),
    [sym__argument_list_with_parens] = STATE(2959),
    [sym__argument] = STATE(4668),
    [sym_splat_argument] = STATE(2961),
    [sym_hash_splat_argument] = STATE(2961),
    [sym_block_argument] = STATE(2961),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1953),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1954),
    [sym__variable] = STATE(1949),
    [sym_reserved_identifier] = STATE(4669),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(4670),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(2961),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(6746),
    [sym__splat_star] = ACTIONS(6748),
    [sym__argument_list_left_paren] = ACTIONS(4330),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(3010),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(612),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(3014),
    [anon_sym_yield] = ACTIONS(3016),
    [anon_sym_break] = ACTIONS(3018),
    [anon_sym_next] = ACTIONS(3020),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_RBRACK] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_PLUS_EQ] = ACTIONS(610),
    [anon_sym_DASH_EQ] = ACTIONS(610),
    [anon_sym_STAR_EQ] = ACTIONS(610),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(610),
    [anon_sym_SLASH_EQ] = ACTIONS(610),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(610),
    [anon_sym_PIPE_EQ] = ACTIONS(610),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(610),
    [anon_sym_AMP_EQ] = ACTIONS(610),
    [anon_sym_PERCENT_EQ] = ACTIONS(610),
    [anon_sym_GT_GT_EQ] = ACTIONS(610),
    [anon_sym_LT_LT_EQ] = ACTIONS(610),
    [anon_sym_CARET_EQ] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(612),
    [anon_sym_AMP_AMP] = ACTIONS(612),
    [anon_sym_LT_LT] = ACTIONS(612),
    [anon_sym_GT_GT] = ACTIONS(612),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(612),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(612),
    [anon_sym_PERCENT] = ACTIONS(612),
    [anon_sym_defined_QMARK] = ACTIONS(3024),
    [anon_sym_not] = ACTIONS(3026),
    [anon_sym_BANG] = ACTIONS(3028),
    [anon_sym_TILDE] = ACTIONS(3030),
    [sym_constant] = ACTIONS(6750),
    [sym_identifier] = ACTIONS(6750),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [8074] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(11004),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(8078),
    [sym_call] = STATE(8078),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(8079),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(8080),
    [sym__variable] = STATE(8078),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(10970),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(10972),
    [anon_sym_yield] = ACTIONS(10974),
    [anon_sym_break] = ACTIONS(10976),
    [anon_sym_next] = ACTIONS(10978),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(10980),
    [anon_sym_defined_QMARK] = ACTIONS(10982),
    [anon_sym_not] = ACTIONS(10984),
    [anon_sym_BANG] = ACTIONS(10986),
    [anon_sym_TILDE] = ACTIONS(10986),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [8075] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(11005),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(8078),
    [sym_call] = STATE(8078),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(8079),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(8080),
    [sym__variable] = STATE(8078),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(10970),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(10972),
    [anon_sym_yield] = ACTIONS(10974),
    [anon_sym_break] = ACTIONS(10976),
    [anon_sym_next] = ACTIONS(10978),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(10980),
    [anon_sym_defined_QMARK] = ACTIONS(10982),
    [anon_sym_not] = ACTIONS(10984),
    [anon_sym_BANG] = ACTIONS(10986),
    [anon_sym_TILDE] = ACTIONS(10986),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [8076] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(9281),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(8078),
    [sym_call] = STATE(8078),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(8079),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(8080),
    [sym__variable] = STATE(8078),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(10970),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(10972),
    [anon_sym_yield] = ACTIONS(10974),
    [anon_sym_break] = ACTIONS(10976),
    [anon_sym_next] = ACTIONS(10978),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(10980),
    [anon_sym_defined_QMARK] = ACTIONS(10982),
    [anon_sym_not] = ACTIONS(10984),
    [anon_sym_BANG] = ACTIONS(10986),
    [anon_sym_TILDE] = ACTIONS(10986),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [8077] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(13876),
    [sym__binary_star] = ACTIONS(13878),
    [anon_sym_LBRACE] = ACTIONS(5298),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(13880),
    [anon_sym_STAR_STAR] = ACTIONS(13882),
    [anon_sym_AMP] = ACTIONS(13884),
    [anon_sym_EQ] = ACTIONS(5304),
    [anon_sym_LT] = ACTIONS(13886),
    [anon_sym_do] = ACTIONS(5298),
    [anon_sym_RBRACK] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_PLUS_EQ] = ACTIONS(5298),
    [anon_sym_DASH_EQ] = ACTIONS(5298),
    [anon_sym_STAR_EQ] = ACTIONS(5298),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5298),
    [anon_sym_SLASH_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5298),
    [anon_sym_AMP_EQ] = ACTIONS(5298),
    [anon_sym_PERCENT_EQ] = ACTIONS(5298),
    [anon_sym_GT_GT_EQ] = ACTIONS(5298),
    [anon_sym_LT_LT_EQ] = ACTIONS(5298),
    [anon_sym_CARET_EQ] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(13888),
    [anon_sym_DOT_DOT] = ACTIONS(13890),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(13892),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(13894),
    [anon_sym_AMP_AMP] = ACTIONS(13894),
    [anon_sym_LT_LT] = ACTIONS(13896),
    [anon_sym_GT_GT] = ACTIONS(13896),
    [anon_sym_EQ_EQ] = ACTIONS(13894),
    [anon_sym_BANG_EQ] = ACTIONS(13898),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(13898),
    [anon_sym_LT_EQ_GT] = ACTIONS(13898),
    [anon_sym_EQ_TILDE] = ACTIONS(13898),
    [anon_sym_BANG_TILDE] = ACTIONS(13898),
    [anon_sym_LT_EQ] = ACTIONS(13886),
    [anon_sym_GT] = ACTIONS(13886),
    [anon_sym_GT_EQ] = ACTIONS(13900),
    [anon_sym_CARET] = ACTIONS(13880),
    [anon_sym_PLUS] = ACTIONS(13902),
    [anon_sym_SLASH] = ACTIONS(13882),
    [anon_sym_PERCENT] = ACTIONS(13882),
    [sym_comment] = ACTIONS(256),
  },
  [8078] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(4667),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1949),
    [sym_call] = STATE(1949),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(6712),
    [sym__argument_list_with_parens] = STATE(2959),
    [sym__argument] = STATE(4668),
    [sym_splat_argument] = STATE(2961),
    [sym_hash_splat_argument] = STATE(2961),
    [sym_block_argument] = STATE(2961),
    [sym_do_block] = STATE(2962),
    [sym_block] = STATE(2962),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1953),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1954),
    [sym__variable] = STATE(1949),
    [sym_reserved_identifier] = STATE(4669),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(4670),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(2961),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(6746),
    [sym__splat_star] = ACTIONS(6748),
    [sym__argument_list_left_paren] = ACTIONS(4330),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(3010),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(4334),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(3014),
    [anon_sym_yield] = ACTIONS(3016),
    [anon_sym_break] = ACTIONS(3018),
    [anon_sym_next] = ACTIONS(3020),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(982),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_RBRACK] = ACTIONS(980),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(3024),
    [anon_sym_not] = ACTIONS(3026),
    [anon_sym_BANG] = ACTIONS(3028),
    [anon_sym_TILDE] = ACTIONS(3030),
    [sym_constant] = ACTIONS(6750),
    [sym_identifier] = ACTIONS(6750),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [8079] = {
    [anon_sym_EQ] = ACTIONS(13904),
    [sym_comment] = ACTIONS(256),
  },
  [8080] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(13906),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_RBRACK] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(13908),
    [anon_sym_DASH_EQ] = ACTIONS(13908),
    [anon_sym_STAR_EQ] = ACTIONS(13908),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(13908),
    [anon_sym_SLASH_EQ] = ACTIONS(13908),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(13908),
    [anon_sym_PIPE_EQ] = ACTIONS(13908),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(13908),
    [anon_sym_AMP_EQ] = ACTIONS(13908),
    [anon_sym_PERCENT_EQ] = ACTIONS(13908),
    [anon_sym_GT_GT_EQ] = ACTIONS(13908),
    [anon_sym_LT_LT_EQ] = ACTIONS(13908),
    [anon_sym_CARET_EQ] = ACTIONS(13908),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [8081] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(13876),
    [sym__binary_star] = ACTIONS(13878),
    [anon_sym_LBRACE] = ACTIONS(5338),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(13880),
    [anon_sym_STAR_STAR] = ACTIONS(13882),
    [anon_sym_AMP] = ACTIONS(13884),
    [anon_sym_EQ] = ACTIONS(5340),
    [anon_sym_LT] = ACTIONS(13886),
    [anon_sym_do] = ACTIONS(5338),
    [anon_sym_RBRACK] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_PLUS_EQ] = ACTIONS(5338),
    [anon_sym_DASH_EQ] = ACTIONS(5338),
    [anon_sym_STAR_EQ] = ACTIONS(5338),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5338),
    [anon_sym_SLASH_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5338),
    [anon_sym_AMP_EQ] = ACTIONS(5338),
    [anon_sym_PERCENT_EQ] = ACTIONS(5338),
    [anon_sym_GT_GT_EQ] = ACTIONS(5338),
    [anon_sym_LT_LT_EQ] = ACTIONS(5338),
    [anon_sym_CARET_EQ] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(13888),
    [anon_sym_DOT_DOT] = ACTIONS(13890),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(13892),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(13894),
    [anon_sym_AMP_AMP] = ACTIONS(13894),
    [anon_sym_LT_LT] = ACTIONS(13896),
    [anon_sym_GT_GT] = ACTIONS(13896),
    [anon_sym_EQ_EQ] = ACTIONS(13894),
    [anon_sym_BANG_EQ] = ACTIONS(13898),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(13898),
    [anon_sym_LT_EQ_GT] = ACTIONS(13898),
    [anon_sym_EQ_TILDE] = ACTIONS(13898),
    [anon_sym_BANG_TILDE] = ACTIONS(13898),
    [anon_sym_LT_EQ] = ACTIONS(13886),
    [anon_sym_GT] = ACTIONS(13886),
    [anon_sym_GT_EQ] = ACTIONS(13900),
    [anon_sym_CARET] = ACTIONS(13880),
    [anon_sym_PLUS] = ACTIONS(13902),
    [anon_sym_SLASH] = ACTIONS(13882),
    [anon_sym_PERCENT] = ACTIONS(13882),
    [sym_comment] = ACTIONS(256),
  },
  [8082] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(13876),
    [sym__binary_star] = ACTIONS(13878),
    [anon_sym_LBRACE] = ACTIONS(4284),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(13880),
    [anon_sym_STAR_STAR] = ACTIONS(13882),
    [anon_sym_AMP] = ACTIONS(13884),
    [anon_sym_EQ] = ACTIONS(5432),
    [anon_sym_LT] = ACTIONS(13886),
    [anon_sym_do] = ACTIONS(4284),
    [anon_sym_RBRACK] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_PLUS_EQ] = ACTIONS(4284),
    [anon_sym_DASH_EQ] = ACTIONS(4284),
    [anon_sym_STAR_EQ] = ACTIONS(4284),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(4284),
    [anon_sym_SLASH_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(4284),
    [anon_sym_AMP_EQ] = ACTIONS(4284),
    [anon_sym_PERCENT_EQ] = ACTIONS(4284),
    [anon_sym_GT_GT_EQ] = ACTIONS(4284),
    [anon_sym_LT_LT_EQ] = ACTIONS(4284),
    [anon_sym_CARET_EQ] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(13888),
    [anon_sym_DOT_DOT] = ACTIONS(13890),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(13892),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(13894),
    [anon_sym_AMP_AMP] = ACTIONS(13894),
    [anon_sym_LT_LT] = ACTIONS(13896),
    [anon_sym_GT_GT] = ACTIONS(13896),
    [anon_sym_EQ_EQ] = ACTIONS(13894),
    [anon_sym_BANG_EQ] = ACTIONS(13898),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(13898),
    [anon_sym_LT_EQ_GT] = ACTIONS(13898),
    [anon_sym_EQ_TILDE] = ACTIONS(13898),
    [anon_sym_BANG_TILDE] = ACTIONS(13898),
    [anon_sym_LT_EQ] = ACTIONS(13886),
    [anon_sym_GT] = ACTIONS(13886),
    [anon_sym_GT_EQ] = ACTIONS(13900),
    [anon_sym_CARET] = ACTIONS(13880),
    [anon_sym_PLUS] = ACTIONS(13902),
    [anon_sym_SLASH] = ACTIONS(13882),
    [anon_sym_PERCENT] = ACTIONS(13882),
    [sym_comment] = ACTIONS(256),
  },
  [8083] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(11020),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(8078),
    [sym_call] = STATE(8078),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(8079),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(8080),
    [sym__variable] = STATE(8078),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(10970),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(10972),
    [anon_sym_yield] = ACTIONS(10974),
    [anon_sym_break] = ACTIONS(10976),
    [anon_sym_next] = ACTIONS(10978),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(10980),
    [anon_sym_defined_QMARK] = ACTIONS(10982),
    [anon_sym_not] = ACTIONS(10984),
    [anon_sym_BANG] = ACTIONS(10986),
    [anon_sym_TILDE] = ACTIONS(10986),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [8084] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(4667),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1949),
    [sym_call] = STATE(1949),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(9329),
    [sym_splat_argument] = STATE(2961),
    [sym_hash_splat_argument] = STATE(2961),
    [sym_block_argument] = STATE(2961),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1953),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1954),
    [sym__variable] = STATE(1949),
    [sym_reserved_identifier] = STATE(4669),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(4670),
    [sym_subshell] = STATE(1062),
    [sym_heredoc_end] = STATE(11021),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(2961),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__block_ampersand] = ACTIONS(6746),
    [sym__splat_star] = ACTIONS(6748),
    [sym__unary_minus] = ACTIONS(3010),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(13910),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(3014),
    [anon_sym_yield] = ACTIONS(3016),
    [anon_sym_break] = ACTIONS(3018),
    [anon_sym_next] = ACTIONS(3020),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(6846),
    [anon_sym_defined_QMARK] = ACTIONS(3024),
    [anon_sym_not] = ACTIONS(3026),
    [anon_sym_BANG] = ACTIONS(3030),
    [anon_sym_TILDE] = ACTIONS(3030),
    [sym_constant] = ACTIONS(6750),
    [sym_identifier] = ACTIONS(6750),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [8085] = {
    [sym_heredoc_end] = STATE(6092),
    [aux_sym_argument_list_repeat2] = STATE(9332),
    [sym__simple_heredoc_body] = ACTIONS(8530),
    [sym__heredoc_body_beginning] = ACTIONS(8532),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_LBRACE] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(13912),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_STAR_STAR] = ACTIONS(5474),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_EQ] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_do] = ACTIONS(5472),
    [anon_sym_RBRACK] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_PLUS_EQ] = ACTIONS(5472),
    [anon_sym_DASH_EQ] = ACTIONS(5472),
    [anon_sym_STAR_EQ] = ACTIONS(5472),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5472),
    [anon_sym_SLASH_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5472),
    [anon_sym_AMP_EQ] = ACTIONS(5472),
    [anon_sym_PERCENT_EQ] = ACTIONS(5472),
    [anon_sym_GT_GT_EQ] = ACTIONS(5472),
    [anon_sym_LT_LT_EQ] = ACTIONS(5472),
    [anon_sym_CARET_EQ] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5474),
    [anon_sym_AMP_AMP] = ACTIONS(5474),
    [anon_sym_LT_LT] = ACTIONS(5474),
    [anon_sym_GT_GT] = ACTIONS(5474),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5474),
    [anon_sym_PLUS] = ACTIONS(5474),
    [anon_sym_SLASH] = ACTIONS(5474),
    [anon_sym_PERCENT] = ACTIONS(5474),
    [sym_comment] = ACTIONS(256),
  },
  [8086] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(11023),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(8078),
    [sym_call] = STATE(8078),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(8079),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(8080),
    [sym__variable] = STATE(8078),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(10970),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(10972),
    [anon_sym_yield] = ACTIONS(10974),
    [anon_sym_break] = ACTIONS(10976),
    [anon_sym_next] = ACTIONS(10978),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(10980),
    [anon_sym_defined_QMARK] = ACTIONS(10982),
    [anon_sym_not] = ACTIONS(10984),
    [anon_sym_BANG] = ACTIONS(10986),
    [anon_sym_TILDE] = ACTIONS(10986),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [8087] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(11024),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(1849),
    [sym_call] = STATE(1849),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1850),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1851),
    [sym__variable] = STATE(1849),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2886),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2888),
    [anon_sym_yield] = ACTIONS(2890),
    [anon_sym_break] = ACTIONS(2892),
    [anon_sym_next] = ACTIONS(2894),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2896),
    [anon_sym_defined_QMARK] = ACTIONS(2898),
    [anon_sym_not] = ACTIONS(2900),
    [anon_sym_BANG] = ACTIONS(2902),
    [anon_sym_TILDE] = ACTIONS(2902),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [8088] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(6714),
    [sym__binary_star] = ACTIONS(6716),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(6718),
    [anon_sym_STAR_STAR] = ACTIONS(6720),
    [anon_sym_AMP] = ACTIONS(6722),
    [anon_sym_LT] = ACTIONS(6724),
    [anon_sym_RBRACK] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(6726),
    [anon_sym_DOT_DOT] = ACTIONS(6728),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6730),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(6734),
    [anon_sym_AMP_AMP] = ACTIONS(6734),
    [anon_sym_LT_LT] = ACTIONS(6736),
    [anon_sym_GT_GT] = ACTIONS(6736),
    [anon_sym_EQ_EQ] = ACTIONS(6738),
    [anon_sym_BANG_EQ] = ACTIONS(6734),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6734),
    [anon_sym_LT_EQ_GT] = ACTIONS(6734),
    [anon_sym_EQ_TILDE] = ACTIONS(6734),
    [anon_sym_BANG_TILDE] = ACTIONS(6734),
    [anon_sym_LT_EQ] = ACTIONS(6724),
    [anon_sym_GT] = ACTIONS(6724),
    [anon_sym_GT_EQ] = ACTIONS(6740),
    [anon_sym_CARET] = ACTIONS(6742),
    [anon_sym_PLUS] = ACTIONS(6744),
    [anon_sym_SLASH] = ACTIONS(6720),
    [anon_sym_PERCENT] = ACTIONS(6720),
    [sym_comment] = ACTIONS(110),
  },
  [8089] = {
    [aux_sym_exceptions_repeat1] = STATE(11026),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_RBRACK] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [8090] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(6714),
    [sym__binary_star] = ACTIONS(6716),
    [anon_sym_COMMA] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(6718),
    [anon_sym_STAR_STAR] = ACTIONS(6720),
    [anon_sym_AMP] = ACTIONS(6722),
    [anon_sym_LT] = ACTIONS(6724),
    [anon_sym_RBRACK] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(6726),
    [anon_sym_DOT_DOT] = ACTIONS(6728),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6730),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(6734),
    [anon_sym_AMP_AMP] = ACTIONS(6734),
    [anon_sym_LT_LT] = ACTIONS(6736),
    [anon_sym_GT_GT] = ACTIONS(6736),
    [anon_sym_EQ_EQ] = ACTIONS(6738),
    [anon_sym_BANG_EQ] = ACTIONS(6734),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6734),
    [anon_sym_LT_EQ_GT] = ACTIONS(6734),
    [anon_sym_EQ_TILDE] = ACTIONS(6734),
    [anon_sym_BANG_TILDE] = ACTIONS(6734),
    [anon_sym_LT_EQ] = ACTIONS(6724),
    [anon_sym_GT] = ACTIONS(6724),
    [anon_sym_GT_EQ] = ACTIONS(6740),
    [anon_sym_CARET] = ACTIONS(6742),
    [anon_sym_PLUS] = ACTIONS(6744),
    [anon_sym_SLASH] = ACTIONS(6720),
    [anon_sym_PERCENT] = ACTIONS(6720),
    [sym_comment] = ACTIONS(110),
  },
  [8091] = {
    [sym__simple_heredoc_body] = ACTIONS(8664),
    [sym__heredoc_body_beginning] = ACTIONS(8664),
    [sym__element_reference_left_bracket] = ACTIONS(8664),
    [sym__scope_double_colon] = ACTIONS(8664),
    [sym__binary_minus] = ACTIONS(8664),
    [sym__binary_star] = ACTIONS(8664),
    [anon_sym_LBRACE] = ACTIONS(8664),
    [anon_sym_RBRACE] = ACTIONS(8664),
    [anon_sym_RPAREN] = ACTIONS(8664),
    [anon_sym_DOT] = ACTIONS(8666),
    [anon_sym_COMMA] = ACTIONS(8664),
    [anon_sym_PIPE] = ACTIONS(8666),
    [anon_sym_SEMI] = ACTIONS(8664),
    [anon_sym_STAR_STAR] = ACTIONS(8664),
    [anon_sym_AMP] = ACTIONS(8666),
    [anon_sym_EQ] = ACTIONS(8666),
    [anon_sym_LT] = ACTIONS(8666),
    [anon_sym_in] = ACTIONS(8664),
    [anon_sym_do] = ACTIONS(8664),
    [anon_sym_EQ_GT] = ACTIONS(8664),
    [anon_sym_RBRACK] = ACTIONS(8664),
    [anon_sym_AMP_DOT] = ACTIONS(8664),
    [anon_sym_QMARK] = ACTIONS(8664),
    [anon_sym_COLON] = ACTIONS(8664),
    [anon_sym_DOT_DOT] = ACTIONS(8666),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8664),
    [anon_sym_and] = ACTIONS(8664),
    [anon_sym_or] = ACTIONS(8664),
    [anon_sym_PIPE_PIPE] = ACTIONS(8664),
    [anon_sym_AMP_AMP] = ACTIONS(8664),
    [anon_sym_LT_LT] = ACTIONS(8664),
    [anon_sym_GT_GT] = ACTIONS(8664),
    [anon_sym_EQ_EQ] = ACTIONS(8666),
    [anon_sym_BANG_EQ] = ACTIONS(8664),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8664),
    [anon_sym_LT_EQ_GT] = ACTIONS(8664),
    [anon_sym_EQ_TILDE] = ACTIONS(8664),
    [anon_sym_BANG_TILDE] = ACTIONS(8664),
    [anon_sym_LT_EQ] = ACTIONS(8666),
    [anon_sym_GT] = ACTIONS(8666),
    [anon_sym_GT_EQ] = ACTIONS(8664),
    [anon_sym_CARET] = ACTIONS(8664),
    [anon_sym_PLUS] = ACTIONS(8664),
    [anon_sym_SLASH] = ACTIONS(8664),
    [anon_sym_PERCENT] = ACTIONS(8664),
    [sym_comment] = ACTIONS(256),
  },
  [8092] = {
    [anon_sym_DOT] = ACTIONS(13914),
    [anon_sym_COLON_COLON] = ACTIONS(13914),
    [sym_comment] = ACTIONS(110),
  },
  [8093] = {
    [sym__simple_heredoc_body] = ACTIONS(8832),
    [sym__heredoc_body_beginning] = ACTIONS(8832),
    [sym__element_reference_left_bracket] = ACTIONS(8832),
    [sym__scope_double_colon] = ACTIONS(8832),
    [sym__binary_minus] = ACTIONS(8832),
    [sym__binary_star] = ACTIONS(8832),
    [anon_sym_LBRACE] = ACTIONS(8832),
    [anon_sym_RBRACE] = ACTIONS(8832),
    [anon_sym_RPAREN] = ACTIONS(8832),
    [anon_sym_DOT] = ACTIONS(8834),
    [anon_sym_COMMA] = ACTIONS(8832),
    [anon_sym_PIPE] = ACTIONS(8834),
    [anon_sym_SEMI] = ACTIONS(8832),
    [anon_sym_STAR_STAR] = ACTIONS(8832),
    [anon_sym_AMP] = ACTIONS(8834),
    [anon_sym_EQ] = ACTIONS(8834),
    [anon_sym_LT] = ACTIONS(8834),
    [anon_sym_in] = ACTIONS(8832),
    [anon_sym_do] = ACTIONS(8832),
    [anon_sym_EQ_GT] = ACTIONS(8832),
    [anon_sym_RBRACK] = ACTIONS(8832),
    [anon_sym_AMP_DOT] = ACTIONS(8832),
    [anon_sym_QMARK] = ACTIONS(8832),
    [anon_sym_COLON] = ACTIONS(8832),
    [anon_sym_DOT_DOT] = ACTIONS(8834),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8832),
    [anon_sym_and] = ACTIONS(8832),
    [anon_sym_or] = ACTIONS(8832),
    [anon_sym_PIPE_PIPE] = ACTIONS(8832),
    [anon_sym_AMP_AMP] = ACTIONS(8832),
    [anon_sym_LT_LT] = ACTIONS(8832),
    [anon_sym_GT_GT] = ACTIONS(8832),
    [anon_sym_EQ_EQ] = ACTIONS(8834),
    [anon_sym_BANG_EQ] = ACTIONS(8832),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8832),
    [anon_sym_LT_EQ_GT] = ACTIONS(8832),
    [anon_sym_EQ_TILDE] = ACTIONS(8832),
    [anon_sym_BANG_TILDE] = ACTIONS(8832),
    [anon_sym_LT_EQ] = ACTIONS(8834),
    [anon_sym_GT] = ACTIONS(8834),
    [anon_sym_GT_EQ] = ACTIONS(8832),
    [anon_sym_CARET] = ACTIONS(8832),
    [anon_sym_PLUS] = ACTIONS(8832),
    [anon_sym_SLASH] = ACTIONS(8832),
    [anon_sym_PERCENT] = ACTIONS(8832),
    [sym_comment] = ACTIONS(256),
  },
  [8094] = {
    [sym__simple_heredoc_body] = ACTIONS(8858),
    [sym__heredoc_body_beginning] = ACTIONS(8858),
    [sym__element_reference_left_bracket] = ACTIONS(8858),
    [sym__scope_double_colon] = ACTIONS(8858),
    [sym__binary_minus] = ACTIONS(8858),
    [sym__binary_star] = ACTIONS(8858),
    [anon_sym_LBRACE] = ACTIONS(8858),
    [anon_sym_RBRACE] = ACTIONS(8858),
    [anon_sym_RPAREN] = ACTIONS(8858),
    [anon_sym_DOT] = ACTIONS(8860),
    [anon_sym_COMMA] = ACTIONS(8858),
    [anon_sym_PIPE] = ACTIONS(8860),
    [anon_sym_SEMI] = ACTIONS(8858),
    [anon_sym_STAR_STAR] = ACTIONS(8858),
    [anon_sym_AMP] = ACTIONS(8860),
    [anon_sym_EQ] = ACTIONS(8860),
    [anon_sym_LT] = ACTIONS(8860),
    [anon_sym_in] = ACTIONS(8858),
    [anon_sym_do] = ACTIONS(8858),
    [anon_sym_EQ_GT] = ACTIONS(8858),
    [anon_sym_RBRACK] = ACTIONS(8858),
    [anon_sym_AMP_DOT] = ACTIONS(8858),
    [anon_sym_QMARK] = ACTIONS(8858),
    [anon_sym_COLON] = ACTIONS(8858),
    [anon_sym_DOT_DOT] = ACTIONS(8860),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8858),
    [anon_sym_and] = ACTIONS(8858),
    [anon_sym_or] = ACTIONS(8858),
    [anon_sym_PIPE_PIPE] = ACTIONS(8858),
    [anon_sym_AMP_AMP] = ACTIONS(8858),
    [anon_sym_LT_LT] = ACTIONS(8858),
    [anon_sym_GT_GT] = ACTIONS(8858),
    [anon_sym_EQ_EQ] = ACTIONS(8860),
    [anon_sym_BANG_EQ] = ACTIONS(8858),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8858),
    [anon_sym_LT_EQ_GT] = ACTIONS(8858),
    [anon_sym_EQ_TILDE] = ACTIONS(8858),
    [anon_sym_BANG_TILDE] = ACTIONS(8858),
    [anon_sym_LT_EQ] = ACTIONS(8860),
    [anon_sym_GT] = ACTIONS(8860),
    [anon_sym_GT_EQ] = ACTIONS(8858),
    [anon_sym_CARET] = ACTIONS(8858),
    [anon_sym_PLUS] = ACTIONS(8858),
    [anon_sym_SLASH] = ACTIONS(8858),
    [anon_sym_PERCENT] = ACTIONS(8858),
    [sym_comment] = ACTIONS(256),
  },
  [8095] = {
    [anon_sym_end] = ACTIONS(13916),
    [sym_comment] = ACTIONS(110),
  },
  [8096] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(11030),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(13918),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8097] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(11032),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(13920),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8098] = {
    [sym__simple_heredoc_body] = ACTIONS(9340),
    [sym__heredoc_body_beginning] = ACTIONS(9340),
    [sym__element_reference_left_bracket] = ACTIONS(9340),
    [sym__scope_double_colon] = ACTIONS(9340),
    [sym__binary_minus] = ACTIONS(9340),
    [sym__binary_star] = ACTIONS(9340),
    [anon_sym_LBRACE] = ACTIONS(9340),
    [anon_sym_RBRACE] = ACTIONS(9340),
    [anon_sym_RPAREN] = ACTIONS(9340),
    [anon_sym_DOT] = ACTIONS(9342),
    [anon_sym_COMMA] = ACTIONS(9340),
    [anon_sym_PIPE] = ACTIONS(9342),
    [anon_sym_SEMI] = ACTIONS(9340),
    [anon_sym_STAR_STAR] = ACTIONS(9340),
    [anon_sym_AMP] = ACTIONS(9342),
    [anon_sym_EQ] = ACTIONS(9342),
    [anon_sym_LT] = ACTIONS(9342),
    [anon_sym_in] = ACTIONS(9340),
    [anon_sym_do] = ACTIONS(9340),
    [anon_sym_EQ_GT] = ACTIONS(9340),
    [anon_sym_RBRACK] = ACTIONS(9340),
    [anon_sym_AMP_DOT] = ACTIONS(9340),
    [anon_sym_QMARK] = ACTIONS(9340),
    [anon_sym_COLON] = ACTIONS(9340),
    [anon_sym_DOT_DOT] = ACTIONS(9342),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9340),
    [anon_sym_and] = ACTIONS(9340),
    [anon_sym_or] = ACTIONS(9340),
    [anon_sym_PIPE_PIPE] = ACTIONS(9340),
    [anon_sym_AMP_AMP] = ACTIONS(9340),
    [anon_sym_LT_LT] = ACTIONS(9340),
    [anon_sym_GT_GT] = ACTIONS(9340),
    [anon_sym_EQ_EQ] = ACTIONS(9342),
    [anon_sym_BANG_EQ] = ACTIONS(9340),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9340),
    [anon_sym_LT_EQ_GT] = ACTIONS(9340),
    [anon_sym_EQ_TILDE] = ACTIONS(9340),
    [anon_sym_BANG_TILDE] = ACTIONS(9340),
    [anon_sym_LT_EQ] = ACTIONS(9342),
    [anon_sym_GT] = ACTIONS(9342),
    [anon_sym_GT_EQ] = ACTIONS(9340),
    [anon_sym_CARET] = ACTIONS(9340),
    [anon_sym_PLUS] = ACTIONS(9340),
    [anon_sym_SLASH] = ACTIONS(9340),
    [anon_sym_PERCENT] = ACTIONS(9340),
    [sym_comment] = ACTIONS(256),
  },
  [8099] = {
    [anon_sym_end] = ACTIONS(13922),
    [sym_comment] = ACTIONS(110),
  },
  [8100] = {
    [sym__simple_heredoc_body] = ACTIONS(9398),
    [sym__heredoc_body_beginning] = ACTIONS(9398),
    [sym__element_reference_left_bracket] = ACTIONS(9398),
    [sym__scope_double_colon] = ACTIONS(9398),
    [sym__binary_minus] = ACTIONS(9398),
    [sym__binary_star] = ACTIONS(9398),
    [anon_sym_LBRACE] = ACTIONS(9398),
    [anon_sym_RBRACE] = ACTIONS(9398),
    [anon_sym_RPAREN] = ACTIONS(9398),
    [anon_sym_DOT] = ACTIONS(9400),
    [anon_sym_COMMA] = ACTIONS(9398),
    [anon_sym_PIPE] = ACTIONS(9400),
    [anon_sym_SEMI] = ACTIONS(9398),
    [anon_sym_STAR_STAR] = ACTIONS(9398),
    [anon_sym_AMP] = ACTIONS(9400),
    [anon_sym_EQ] = ACTIONS(9400),
    [anon_sym_LT] = ACTIONS(9400),
    [anon_sym_in] = ACTIONS(9398),
    [anon_sym_do] = ACTIONS(9398),
    [anon_sym_EQ_GT] = ACTIONS(9398),
    [anon_sym_RBRACK] = ACTIONS(9398),
    [anon_sym_AMP_DOT] = ACTIONS(9398),
    [anon_sym_QMARK] = ACTIONS(9398),
    [anon_sym_COLON] = ACTIONS(9398),
    [anon_sym_DOT_DOT] = ACTIONS(9400),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9398),
    [anon_sym_and] = ACTIONS(9398),
    [anon_sym_or] = ACTIONS(9398),
    [anon_sym_PIPE_PIPE] = ACTIONS(9398),
    [anon_sym_AMP_AMP] = ACTIONS(9398),
    [anon_sym_LT_LT] = ACTIONS(9398),
    [anon_sym_GT_GT] = ACTIONS(9398),
    [anon_sym_EQ_EQ] = ACTIONS(9400),
    [anon_sym_BANG_EQ] = ACTIONS(9398),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9398),
    [anon_sym_LT_EQ_GT] = ACTIONS(9398),
    [anon_sym_EQ_TILDE] = ACTIONS(9398),
    [anon_sym_BANG_TILDE] = ACTIONS(9398),
    [anon_sym_LT_EQ] = ACTIONS(9400),
    [anon_sym_GT] = ACTIONS(9400),
    [anon_sym_GT_EQ] = ACTIONS(9398),
    [anon_sym_CARET] = ACTIONS(9398),
    [anon_sym_PLUS] = ACTIONS(9398),
    [anon_sym_SLASH] = ACTIONS(9398),
    [anon_sym_PERCENT] = ACTIONS(9398),
    [sym_comment] = ACTIONS(256),
  },
  [8101] = {
    [anon_sym_end] = ACTIONS(13924),
    [sym_comment] = ACTIONS(110),
  },
  [8102] = {
    [sym__simple_heredoc_body] = ACTIONS(8568),
    [sym__heredoc_body_beginning] = ACTIONS(8568),
    [sym__element_reference_left_bracket] = ACTIONS(8568),
    [sym__scope_double_colon] = ACTIONS(8568),
    [sym__binary_minus] = ACTIONS(6774),
    [sym__binary_star] = ACTIONS(6776),
    [anon_sym_DOT] = ACTIONS(9468),
    [anon_sym_COMMA] = ACTIONS(8568),
    [anon_sym_PIPE] = ACTIONS(6778),
    [anon_sym_STAR_STAR] = ACTIONS(6780),
    [anon_sym_AMP] = ACTIONS(6782),
    [anon_sym_LT] = ACTIONS(6784),
    [anon_sym_EQ_GT] = ACTIONS(8568),
    [anon_sym_RBRACK] = ACTIONS(8568),
    [anon_sym_AMP_DOT] = ACTIONS(8568),
    [anon_sym_QMARK] = ACTIONS(6786),
    [anon_sym_DOT_DOT] = ACTIONS(6788),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6790),
    [anon_sym_and] = ACTIONS(8568),
    [anon_sym_or] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE] = ACTIONS(6792),
    [anon_sym_AMP_AMP] = ACTIONS(6792),
    [anon_sym_LT_LT] = ACTIONS(6794),
    [anon_sym_GT_GT] = ACTIONS(6794),
    [anon_sym_EQ_EQ] = ACTIONS(6796),
    [anon_sym_BANG_EQ] = ACTIONS(6792),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6792),
    [anon_sym_LT_EQ_GT] = ACTIONS(6792),
    [anon_sym_EQ_TILDE] = ACTIONS(6792),
    [anon_sym_BANG_TILDE] = ACTIONS(6792),
    [anon_sym_LT_EQ] = ACTIONS(6784),
    [anon_sym_GT] = ACTIONS(6784),
    [anon_sym_GT_EQ] = ACTIONS(6798),
    [anon_sym_CARET] = ACTIONS(6800),
    [anon_sym_PLUS] = ACTIONS(6802),
    [anon_sym_SLASH] = ACTIONS(6780),
    [anon_sym_PERCENT] = ACTIONS(6780),
    [sym_comment] = ACTIONS(110),
  },
  [8103] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__element_reference_left_bracket] = ACTIONS(7008),
    [sym__scope_double_colon] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(6776),
    [anon_sym_DOT] = ACTIONS(7010),
    [anon_sym_COMMA] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_STAR_STAR] = ACTIONS(6780),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_EQ_GT] = ACTIONS(7008),
    [anon_sym_RBRACK] = ACTIONS(7008),
    [anon_sym_AMP_DOT] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7008),
    [anon_sym_AMP_AMP] = ACTIONS(7008),
    [anon_sym_LT_LT] = ACTIONS(7008),
    [anon_sym_GT_GT] = ACTIONS(7008),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7008),
    [anon_sym_PLUS] = ACTIONS(7008),
    [anon_sym_SLASH] = ACTIONS(6780),
    [anon_sym_PERCENT] = ACTIONS(6780),
    [sym_comment] = ACTIONS(110),
  },
  [8104] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__element_reference_left_bracket] = ACTIONS(7012),
    [sym__scope_double_colon] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_DOT] = ACTIONS(7014),
    [anon_sym_COMMA] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_STAR_STAR] = ACTIONS(6780),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_EQ_GT] = ACTIONS(7012),
    [anon_sym_RBRACK] = ACTIONS(7012),
    [anon_sym_AMP_DOT] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7012),
    [anon_sym_AMP_AMP] = ACTIONS(7012),
    [anon_sym_LT_LT] = ACTIONS(7012),
    [anon_sym_GT_GT] = ACTIONS(7012),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7012),
    [anon_sym_PLUS] = ACTIONS(7012),
    [anon_sym_SLASH] = ACTIONS(7012),
    [anon_sym_PERCENT] = ACTIONS(7012),
    [sym_comment] = ACTIONS(110),
  },
  [8105] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6774),
    [sym__binary_star] = ACTIONS(6776),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(6780),
    [anon_sym_AMP] = ACTIONS(6782),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_RBRACK] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(6794),
    [anon_sym_GT_GT] = ACTIONS(6794),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(6802),
    [anon_sym_SLASH] = ACTIONS(6780),
    [anon_sym_PERCENT] = ACTIONS(6780),
    [sym_comment] = ACTIONS(110),
  },
  [8106] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(6780),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_RBRACK] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7016),
    [anon_sym_PERCENT] = ACTIONS(7016),
    [sym_comment] = ACTIONS(110),
  },
  [8107] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6774),
    [sym__binary_star] = ACTIONS(6776),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(6780),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_RBRACK] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(6794),
    [anon_sym_GT_GT] = ACTIONS(6794),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(6802),
    [anon_sym_SLASH] = ACTIONS(6780),
    [anon_sym_PERCENT] = ACTIONS(6780),
    [sym_comment] = ACTIONS(110),
  },
  [8108] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6774),
    [sym__binary_star] = ACTIONS(6776),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(6778),
    [anon_sym_STAR_STAR] = ACTIONS(6780),
    [anon_sym_AMP] = ACTIONS(6782),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_RBRACK] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(6794),
    [anon_sym_GT_GT] = ACTIONS(6794),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(6800),
    [anon_sym_PLUS] = ACTIONS(6802),
    [anon_sym_SLASH] = ACTIONS(6780),
    [anon_sym_PERCENT] = ACTIONS(6780),
    [sym_comment] = ACTIONS(110),
  },
  [8109] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(13926),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [8110] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__element_reference_left_bracket] = ACTIONS(7108),
    [sym__scope_double_colon] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(6774),
    [sym__binary_star] = ACTIONS(6776),
    [anon_sym_DOT] = ACTIONS(9472),
    [anon_sym_COMMA] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(6778),
    [anon_sym_STAR_STAR] = ACTIONS(6780),
    [anon_sym_AMP] = ACTIONS(6782),
    [anon_sym_LT] = ACTIONS(6784),
    [anon_sym_EQ_GT] = ACTIONS(7108),
    [anon_sym_RBRACK] = ACTIONS(7108),
    [anon_sym_AMP_DOT] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(6788),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6790),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(6792),
    [anon_sym_AMP_AMP] = ACTIONS(6792),
    [anon_sym_LT_LT] = ACTIONS(6794),
    [anon_sym_GT_GT] = ACTIONS(6794),
    [anon_sym_EQ_EQ] = ACTIONS(6796),
    [anon_sym_BANG_EQ] = ACTIONS(6792),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6792),
    [anon_sym_LT_EQ_GT] = ACTIONS(6792),
    [anon_sym_EQ_TILDE] = ACTIONS(6792),
    [anon_sym_BANG_TILDE] = ACTIONS(6792),
    [anon_sym_LT_EQ] = ACTIONS(6784),
    [anon_sym_GT] = ACTIONS(6784),
    [anon_sym_GT_EQ] = ACTIONS(6798),
    [anon_sym_CARET] = ACTIONS(6800),
    [anon_sym_PLUS] = ACTIONS(6802),
    [anon_sym_SLASH] = ACTIONS(6780),
    [anon_sym_PERCENT] = ACTIONS(6780),
    [sym_comment] = ACTIONS(110),
  },
  [8111] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6774),
    [sym__binary_star] = ACTIONS(6776),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(6778),
    [anon_sym_STAR_STAR] = ACTIONS(6780),
    [anon_sym_AMP] = ACTIONS(6782),
    [anon_sym_LT] = ACTIONS(6784),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_RBRACK] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(6786),
    [anon_sym_DOT_DOT] = ACTIONS(6788),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6790),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(6792),
    [anon_sym_AMP_AMP] = ACTIONS(6792),
    [anon_sym_LT_LT] = ACTIONS(6794),
    [anon_sym_GT_GT] = ACTIONS(6794),
    [anon_sym_EQ_EQ] = ACTIONS(6796),
    [anon_sym_BANG_EQ] = ACTIONS(6792),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6792),
    [anon_sym_LT_EQ_GT] = ACTIONS(6792),
    [anon_sym_EQ_TILDE] = ACTIONS(6792),
    [anon_sym_BANG_TILDE] = ACTIONS(6792),
    [anon_sym_LT_EQ] = ACTIONS(6784),
    [anon_sym_GT] = ACTIONS(6784),
    [anon_sym_GT_EQ] = ACTIONS(6798),
    [anon_sym_CARET] = ACTIONS(6800),
    [anon_sym_PLUS] = ACTIONS(6802),
    [anon_sym_SLASH] = ACTIONS(6780),
    [anon_sym_PERCENT] = ACTIONS(6780),
    [sym_comment] = ACTIONS(110),
  },
  [8112] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6774),
    [sym__binary_star] = ACTIONS(6776),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(6778),
    [anon_sym_STAR_STAR] = ACTIONS(6780),
    [anon_sym_AMP] = ACTIONS(6782),
    [anon_sym_LT] = ACTIONS(6784),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_RBRACK] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(6794),
    [anon_sym_GT_GT] = ACTIONS(6794),
    [anon_sym_EQ_EQ] = ACTIONS(6796),
    [anon_sym_BANG_EQ] = ACTIONS(6792),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6792),
    [anon_sym_LT_EQ_GT] = ACTIONS(6792),
    [anon_sym_EQ_TILDE] = ACTIONS(6792),
    [anon_sym_BANG_TILDE] = ACTIONS(6792),
    [anon_sym_LT_EQ] = ACTIONS(6784),
    [anon_sym_GT] = ACTIONS(6784),
    [anon_sym_GT_EQ] = ACTIONS(6798),
    [anon_sym_CARET] = ACTIONS(6800),
    [anon_sym_PLUS] = ACTIONS(6802),
    [anon_sym_SLASH] = ACTIONS(6780),
    [anon_sym_PERCENT] = ACTIONS(6780),
    [sym_comment] = ACTIONS(110),
  },
  [8113] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6774),
    [sym__binary_star] = ACTIONS(6776),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(6780),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_RBRACK] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(6802),
    [anon_sym_SLASH] = ACTIONS(6780),
    [anon_sym_PERCENT] = ACTIONS(6780),
    [sym_comment] = ACTIONS(110),
  },
  [8114] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(6776),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(6780),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_RBRACK] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(6780),
    [anon_sym_PERCENT] = ACTIONS(6780),
    [sym_comment] = ACTIONS(110),
  },
  [8115] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1885),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(9349),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1888),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1889),
    [sym__variable] = STATE(504),
    [sym_reserved_identifier] = STATE(1890),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1891),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(2934),
    [sym__splat_star] = ACTIONS(2936),
    [sym__unary_minus] = ACTIONS(2938),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(11006),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(824),
    [anon_sym_yield] = ACTIONS(826),
    [anon_sym_break] = ACTIONS(828),
    [anon_sym_next] = ACTIONS(830),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(6768),
    [anon_sym_defined_QMARK] = ACTIONS(2940),
    [anon_sym_not] = ACTIONS(2942),
    [anon_sym_BANG] = ACTIONS(2946),
    [anon_sym_TILDE] = ACTIONS(2946),
    [sym_constant] = ACTIONS(2948),
    [sym_identifier] = ACTIONS(2948),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [8116] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1885),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(9349),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1888),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1889),
    [sym__variable] = STATE(504),
    [sym_reserved_identifier] = STATE(1890),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1891),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(11035),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(2934),
    [sym__splat_star] = ACTIONS(2936),
    [sym__unary_minus] = ACTIONS(2938),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(11006),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(824),
    [anon_sym_yield] = ACTIONS(826),
    [anon_sym_break] = ACTIONS(828),
    [anon_sym_next] = ACTIONS(830),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(6768),
    [anon_sym_defined_QMARK] = ACTIONS(2940),
    [anon_sym_not] = ACTIONS(2942),
    [anon_sym_BANG] = ACTIONS(2946),
    [anon_sym_TILDE] = ACTIONS(2946),
    [sym_constant] = ACTIONS(2948),
    [sym_identifier] = ACTIONS(2948),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [8117] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__element_reference_left_bracket] = ACTIONS(6346),
    [sym__scope_double_colon] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(6774),
    [sym__binary_star] = ACTIONS(6776),
    [anon_sym_DOT] = ACTIONS(7328),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(6778),
    [anon_sym_STAR_STAR] = ACTIONS(6780),
    [anon_sym_AMP] = ACTIONS(6782),
    [anon_sym_LT] = ACTIONS(6784),
    [anon_sym_EQ_GT] = ACTIONS(6346),
    [anon_sym_RBRACK] = ACTIONS(6346),
    [anon_sym_AMP_DOT] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(6786),
    [anon_sym_DOT_DOT] = ACTIONS(6788),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6790),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(6792),
    [anon_sym_AMP_AMP] = ACTIONS(6792),
    [anon_sym_LT_LT] = ACTIONS(6794),
    [anon_sym_GT_GT] = ACTIONS(6794),
    [anon_sym_EQ_EQ] = ACTIONS(6796),
    [anon_sym_BANG_EQ] = ACTIONS(6792),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6792),
    [anon_sym_LT_EQ_GT] = ACTIONS(6792),
    [anon_sym_EQ_TILDE] = ACTIONS(6792),
    [anon_sym_BANG_TILDE] = ACTIONS(6792),
    [anon_sym_LT_EQ] = ACTIONS(6784),
    [anon_sym_GT] = ACTIONS(6784),
    [anon_sym_GT_EQ] = ACTIONS(6798),
    [anon_sym_CARET] = ACTIONS(6800),
    [anon_sym_PLUS] = ACTIONS(6802),
    [anon_sym_SLASH] = ACTIONS(6780),
    [anon_sym_PERCENT] = ACTIONS(6780),
    [sym_comment] = ACTIONS(110),
  },
  [8118] = {
    [aux_sym_exceptions_repeat1] = STATE(11037),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__element_reference_left_bracket] = ACTIONS(7330),
    [sym__scope_double_colon] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_DOT] = ACTIONS(7332),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_EQ_GT] = ACTIONS(7330),
    [anon_sym_RBRACK] = ACTIONS(7330),
    [anon_sym_AMP_DOT] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [8119] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__element_reference_left_bracket] = ACTIONS(7344),
    [sym__scope_double_colon] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(6774),
    [sym__binary_star] = ACTIONS(6776),
    [anon_sym_DOT] = ACTIONS(9504),
    [anon_sym_COMMA] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(6778),
    [anon_sym_STAR_STAR] = ACTIONS(6780),
    [anon_sym_AMP] = ACTIONS(6782),
    [anon_sym_LT] = ACTIONS(6784),
    [anon_sym_EQ_GT] = ACTIONS(7344),
    [anon_sym_RBRACK] = ACTIONS(7344),
    [anon_sym_AMP_DOT] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(6786),
    [anon_sym_DOT_DOT] = ACTIONS(6788),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6790),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(6792),
    [anon_sym_AMP_AMP] = ACTIONS(6792),
    [anon_sym_LT_LT] = ACTIONS(6794),
    [anon_sym_GT_GT] = ACTIONS(6794),
    [anon_sym_EQ_EQ] = ACTIONS(6796),
    [anon_sym_BANG_EQ] = ACTIONS(6792),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6792),
    [anon_sym_LT_EQ_GT] = ACTIONS(6792),
    [anon_sym_EQ_TILDE] = ACTIONS(6792),
    [anon_sym_BANG_TILDE] = ACTIONS(6792),
    [anon_sym_LT_EQ] = ACTIONS(6784),
    [anon_sym_GT] = ACTIONS(6784),
    [anon_sym_GT_EQ] = ACTIONS(6798),
    [anon_sym_CARET] = ACTIONS(6800),
    [anon_sym_PLUS] = ACTIONS(6802),
    [anon_sym_SLASH] = ACTIONS(6780),
    [anon_sym_PERCENT] = ACTIONS(6780),
    [sym_comment] = ACTIONS(110),
  },
  [8120] = {
    [sym__simple_heredoc_body] = ACTIONS(8662),
    [sym__heredoc_body_beginning] = ACTIONS(8662),
    [sym__element_reference_left_bracket] = ACTIONS(8662),
    [sym__scope_double_colon] = ACTIONS(8662),
    [sym__binary_minus] = ACTIONS(6774),
    [sym__binary_star] = ACTIONS(6776),
    [anon_sym_DOT] = ACTIONS(9506),
    [anon_sym_COMMA] = ACTIONS(8662),
    [anon_sym_PIPE] = ACTIONS(6778),
    [anon_sym_STAR_STAR] = ACTIONS(6780),
    [anon_sym_AMP] = ACTIONS(6782),
    [anon_sym_LT] = ACTIONS(6784),
    [anon_sym_EQ_GT] = ACTIONS(8662),
    [anon_sym_RBRACK] = ACTIONS(8662),
    [anon_sym_AMP_DOT] = ACTIONS(8662),
    [anon_sym_QMARK] = ACTIONS(6786),
    [anon_sym_DOT_DOT] = ACTIONS(6788),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6790),
    [anon_sym_and] = ACTIONS(8662),
    [anon_sym_or] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE] = ACTIONS(6792),
    [anon_sym_AMP_AMP] = ACTIONS(6792),
    [anon_sym_LT_LT] = ACTIONS(6794),
    [anon_sym_GT_GT] = ACTIONS(6794),
    [anon_sym_EQ_EQ] = ACTIONS(6796),
    [anon_sym_BANG_EQ] = ACTIONS(6792),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6792),
    [anon_sym_LT_EQ_GT] = ACTIONS(6792),
    [anon_sym_EQ_TILDE] = ACTIONS(6792),
    [anon_sym_BANG_TILDE] = ACTIONS(6792),
    [anon_sym_LT_EQ] = ACTIONS(6784),
    [anon_sym_GT] = ACTIONS(6784),
    [anon_sym_GT_EQ] = ACTIONS(6798),
    [anon_sym_CARET] = ACTIONS(6800),
    [anon_sym_PLUS] = ACTIONS(6802),
    [anon_sym_SLASH] = ACTIONS(6780),
    [anon_sym_PERCENT] = ACTIONS(6780),
    [sym_comment] = ACTIONS(110),
  },
  [8121] = {
    [sym__simple_heredoc_body] = ACTIONS(9562),
    [sym__heredoc_body_beginning] = ACTIONS(9562),
    [sym__element_reference_left_bracket] = ACTIONS(9562),
    [sym__scope_double_colon] = ACTIONS(9562),
    [sym__binary_minus] = ACTIONS(9562),
    [sym__binary_star] = ACTIONS(9562),
    [anon_sym_LBRACE] = ACTIONS(9562),
    [anon_sym_RBRACE] = ACTIONS(9562),
    [anon_sym_RPAREN] = ACTIONS(9562),
    [anon_sym_DOT] = ACTIONS(9564),
    [anon_sym_COMMA] = ACTIONS(9562),
    [anon_sym_PIPE] = ACTIONS(9564),
    [anon_sym_SEMI] = ACTIONS(9562),
    [anon_sym_STAR_STAR] = ACTIONS(9562),
    [anon_sym_AMP] = ACTIONS(9564),
    [anon_sym_EQ] = ACTIONS(9564),
    [anon_sym_LT] = ACTIONS(9564),
    [anon_sym_in] = ACTIONS(9562),
    [anon_sym_do] = ACTIONS(9562),
    [anon_sym_EQ_GT] = ACTIONS(9562),
    [anon_sym_RBRACK] = ACTIONS(9562),
    [anon_sym_AMP_DOT] = ACTIONS(9562),
    [anon_sym_QMARK] = ACTIONS(9562),
    [anon_sym_COLON] = ACTIONS(9562),
    [anon_sym_DOT_DOT] = ACTIONS(9564),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9562),
    [anon_sym_and] = ACTIONS(9562),
    [anon_sym_or] = ACTIONS(9562),
    [anon_sym_PIPE_PIPE] = ACTIONS(9562),
    [anon_sym_AMP_AMP] = ACTIONS(9562),
    [anon_sym_LT_LT] = ACTIONS(9562),
    [anon_sym_GT_GT] = ACTIONS(9562),
    [anon_sym_EQ_EQ] = ACTIONS(9564),
    [anon_sym_BANG_EQ] = ACTIONS(9562),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9562),
    [anon_sym_LT_EQ_GT] = ACTIONS(9562),
    [anon_sym_EQ_TILDE] = ACTIONS(9562),
    [anon_sym_BANG_TILDE] = ACTIONS(9562),
    [anon_sym_LT_EQ] = ACTIONS(9564),
    [anon_sym_GT] = ACTIONS(9564),
    [anon_sym_GT_EQ] = ACTIONS(9562),
    [anon_sym_CARET] = ACTIONS(9562),
    [anon_sym_PLUS] = ACTIONS(9562),
    [anon_sym_SLASH] = ACTIONS(9562),
    [anon_sym_PERCENT] = ACTIONS(9562),
    [sym_comment] = ACTIONS(256),
  },
  [8122] = {
    [sym_elsif] = STATE(3865),
    [sym_else] = STATE(3865),
    [sym__if_tail] = STATE(11039),
    [anon_sym_end] = ACTIONS(13928),
    [anon_sym_elsif] = ACTIONS(9592),
    [anon_sym_else] = ACTIONS(9594),
    [sym_comment] = ACTIONS(110),
  },
  [8123] = {
    [anon_sym_end] = ACTIONS(13928),
    [sym_comment] = ACTIONS(110),
  },
  [8124] = {
    [sym__statements] = STATE(11040),
    [sym__top_level_statement] = STATE(3863),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(3864),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_elsif] = STATE(3865),
    [sym_else] = STATE(3865),
    [sym__if_tail] = STATE(11039),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3867),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3869),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3870),
    [sym__variable] = STATE(3868),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5572),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(13930),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_elsif] = ACTIONS(5586),
    [anon_sym_else] = ACTIONS(5588),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5590),
    [anon_sym_defined_QMARK] = ACTIONS(5592),
    [anon_sym_not] = ACTIONS(5594),
    [anon_sym_BANG] = ACTIONS(5596),
    [anon_sym_TILDE] = ACTIONS(5596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8125] = {
    [sym__simple_heredoc_body] = ACTIONS(9758),
    [sym__heredoc_body_beginning] = ACTIONS(9758),
    [sym__element_reference_left_bracket] = ACTIONS(9758),
    [sym__scope_double_colon] = ACTIONS(9758),
    [sym__binary_minus] = ACTIONS(9758),
    [sym__binary_star] = ACTIONS(9758),
    [anon_sym_LBRACE] = ACTIONS(9758),
    [anon_sym_RBRACE] = ACTIONS(9758),
    [anon_sym_RPAREN] = ACTIONS(9758),
    [anon_sym_DOT] = ACTIONS(9760),
    [anon_sym_COMMA] = ACTIONS(9758),
    [anon_sym_PIPE] = ACTIONS(9760),
    [anon_sym_SEMI] = ACTIONS(9758),
    [anon_sym_STAR_STAR] = ACTIONS(9758),
    [anon_sym_AMP] = ACTIONS(9760),
    [anon_sym_EQ] = ACTIONS(9760),
    [anon_sym_LT] = ACTIONS(9760),
    [anon_sym_in] = ACTIONS(9758),
    [anon_sym_do] = ACTIONS(9758),
    [anon_sym_EQ_GT] = ACTIONS(9758),
    [anon_sym_RBRACK] = ACTIONS(9758),
    [anon_sym_AMP_DOT] = ACTIONS(9758),
    [anon_sym_QMARK] = ACTIONS(9758),
    [anon_sym_COLON] = ACTIONS(9758),
    [anon_sym_DOT_DOT] = ACTIONS(9760),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9758),
    [anon_sym_and] = ACTIONS(9758),
    [anon_sym_or] = ACTIONS(9758),
    [anon_sym_PIPE_PIPE] = ACTIONS(9758),
    [anon_sym_AMP_AMP] = ACTIONS(9758),
    [anon_sym_LT_LT] = ACTIONS(9758),
    [anon_sym_GT_GT] = ACTIONS(9758),
    [anon_sym_EQ_EQ] = ACTIONS(9760),
    [anon_sym_BANG_EQ] = ACTIONS(9758),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9758),
    [anon_sym_LT_EQ_GT] = ACTIONS(9758),
    [anon_sym_EQ_TILDE] = ACTIONS(9758),
    [anon_sym_BANG_TILDE] = ACTIONS(9758),
    [anon_sym_LT_EQ] = ACTIONS(9760),
    [anon_sym_GT] = ACTIONS(9760),
    [anon_sym_GT_EQ] = ACTIONS(9758),
    [anon_sym_CARET] = ACTIONS(9758),
    [anon_sym_PLUS] = ACTIONS(9758),
    [anon_sym_SLASH] = ACTIONS(9758),
    [anon_sym_PERCENT] = ACTIONS(9758),
    [sym_comment] = ACTIONS(256),
  },
  [8126] = {
    [sym_else] = STATE(11042),
    [anon_sym_end] = ACTIONS(13932),
    [anon_sym_else] = ACTIONS(9594),
    [sym_comment] = ACTIONS(110),
  },
  [8127] = {
    [anon_sym_end] = ACTIONS(13932),
    [sym_comment] = ACTIONS(110),
  },
  [8128] = {
    [sym__simple_heredoc_body] = ACTIONS(9922),
    [sym__heredoc_body_beginning] = ACTIONS(9922),
    [sym__element_reference_left_bracket] = ACTIONS(9922),
    [sym__scope_double_colon] = ACTIONS(9922),
    [sym__binary_minus] = ACTIONS(9922),
    [sym__binary_star] = ACTIONS(9922),
    [anon_sym_LBRACE] = ACTIONS(9922),
    [anon_sym_RBRACE] = ACTIONS(9922),
    [anon_sym_RPAREN] = ACTIONS(9922),
    [anon_sym_DOT] = ACTIONS(9924),
    [anon_sym_COMMA] = ACTIONS(9922),
    [anon_sym_PIPE] = ACTIONS(9924),
    [anon_sym_SEMI] = ACTIONS(9922),
    [anon_sym_STAR_STAR] = ACTIONS(9922),
    [anon_sym_AMP] = ACTIONS(9924),
    [anon_sym_EQ] = ACTIONS(9924),
    [anon_sym_LT] = ACTIONS(9924),
    [anon_sym_in] = ACTIONS(9922),
    [anon_sym_do] = ACTIONS(9922),
    [anon_sym_EQ_GT] = ACTIONS(9922),
    [anon_sym_RBRACK] = ACTIONS(9922),
    [anon_sym_AMP_DOT] = ACTIONS(9922),
    [anon_sym_QMARK] = ACTIONS(9922),
    [anon_sym_COLON] = ACTIONS(9922),
    [anon_sym_DOT_DOT] = ACTIONS(9924),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9922),
    [anon_sym_and] = ACTIONS(9922),
    [anon_sym_or] = ACTIONS(9922),
    [anon_sym_PIPE_PIPE] = ACTIONS(9922),
    [anon_sym_AMP_AMP] = ACTIONS(9922),
    [anon_sym_LT_LT] = ACTIONS(9922),
    [anon_sym_GT_GT] = ACTIONS(9922),
    [anon_sym_EQ_EQ] = ACTIONS(9924),
    [anon_sym_BANG_EQ] = ACTIONS(9922),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9922),
    [anon_sym_LT_EQ_GT] = ACTIONS(9922),
    [anon_sym_EQ_TILDE] = ACTIONS(9922),
    [anon_sym_BANG_TILDE] = ACTIONS(9922),
    [anon_sym_LT_EQ] = ACTIONS(9924),
    [anon_sym_GT] = ACTIONS(9924),
    [anon_sym_GT_EQ] = ACTIONS(9922),
    [anon_sym_CARET] = ACTIONS(9922),
    [anon_sym_PLUS] = ACTIONS(9922),
    [anon_sym_SLASH] = ACTIONS(9922),
    [anon_sym_PERCENT] = ACTIONS(9922),
    [sym_comment] = ACTIONS(256),
  },
  [8129] = {
    [anon_sym_end] = ACTIONS(13934),
    [sym_comment] = ACTIONS(110),
  },
  [8130] = {
    [sym__simple_heredoc_body] = ACTIONS(10004),
    [sym__heredoc_body_beginning] = ACTIONS(10004),
    [sym__element_reference_left_bracket] = ACTIONS(10004),
    [sym__scope_double_colon] = ACTIONS(10004),
    [sym__binary_minus] = ACTIONS(10004),
    [sym__binary_star] = ACTIONS(10004),
    [anon_sym_LBRACE] = ACTIONS(10004),
    [anon_sym_RBRACE] = ACTIONS(10004),
    [anon_sym_RPAREN] = ACTIONS(10004),
    [anon_sym_DOT] = ACTIONS(10006),
    [anon_sym_COMMA] = ACTIONS(10004),
    [anon_sym_PIPE] = ACTIONS(10006),
    [anon_sym_SEMI] = ACTIONS(10004),
    [anon_sym_STAR_STAR] = ACTIONS(10004),
    [anon_sym_AMP] = ACTIONS(10006),
    [anon_sym_EQ] = ACTIONS(10006),
    [anon_sym_LT] = ACTIONS(10006),
    [anon_sym_in] = ACTIONS(10004),
    [anon_sym_do] = ACTIONS(10004),
    [anon_sym_EQ_GT] = ACTIONS(10004),
    [anon_sym_RBRACK] = ACTIONS(10004),
    [anon_sym_AMP_DOT] = ACTIONS(10004),
    [anon_sym_QMARK] = ACTIONS(10004),
    [anon_sym_COLON] = ACTIONS(10004),
    [anon_sym_DOT_DOT] = ACTIONS(10006),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10004),
    [anon_sym_and] = ACTIONS(10004),
    [anon_sym_or] = ACTIONS(10004),
    [anon_sym_PIPE_PIPE] = ACTIONS(10004),
    [anon_sym_AMP_AMP] = ACTIONS(10004),
    [anon_sym_LT_LT] = ACTIONS(10004),
    [anon_sym_GT_GT] = ACTIONS(10004),
    [anon_sym_EQ_EQ] = ACTIONS(10006),
    [anon_sym_BANG_EQ] = ACTIONS(10004),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10004),
    [anon_sym_LT_EQ_GT] = ACTIONS(10004),
    [anon_sym_EQ_TILDE] = ACTIONS(10004),
    [anon_sym_BANG_TILDE] = ACTIONS(10004),
    [anon_sym_LT_EQ] = ACTIONS(10006),
    [anon_sym_GT] = ACTIONS(10006),
    [anon_sym_GT_EQ] = ACTIONS(10004),
    [anon_sym_CARET] = ACTIONS(10004),
    [anon_sym_PLUS] = ACTIONS(10004),
    [anon_sym_SLASH] = ACTIONS(10004),
    [anon_sym_PERCENT] = ACTIONS(10004),
    [sym_comment] = ACTIONS(256),
  },
  [8131] = {
    [anon_sym_end] = ACTIONS(13936),
    [sym_comment] = ACTIONS(110),
  },
  [8132] = {
    [sym__statements] = STATE(11046),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(13938),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8133] = {
    [sym__simple_heredoc_body] = ACTIONS(10332),
    [sym__heredoc_body_beginning] = ACTIONS(10332),
    [sym__element_reference_left_bracket] = ACTIONS(10332),
    [sym__scope_double_colon] = ACTIONS(10332),
    [sym__binary_minus] = ACTIONS(10332),
    [sym__binary_star] = ACTIONS(10332),
    [anon_sym_LBRACE] = ACTIONS(10332),
    [anon_sym_RBRACE] = ACTIONS(10332),
    [anon_sym_RPAREN] = ACTIONS(10332),
    [anon_sym_DOT] = ACTIONS(10334),
    [anon_sym_COMMA] = ACTIONS(10332),
    [anon_sym_PIPE] = ACTIONS(10334),
    [anon_sym_SEMI] = ACTIONS(10332),
    [anon_sym_STAR_STAR] = ACTIONS(10332),
    [anon_sym_AMP] = ACTIONS(10334),
    [anon_sym_EQ] = ACTIONS(10334),
    [anon_sym_LT] = ACTIONS(10334),
    [anon_sym_in] = ACTIONS(10332),
    [anon_sym_do] = ACTIONS(10332),
    [anon_sym_EQ_GT] = ACTIONS(10332),
    [anon_sym_RBRACK] = ACTIONS(10332),
    [anon_sym_AMP_DOT] = ACTIONS(10332),
    [anon_sym_QMARK] = ACTIONS(10332),
    [anon_sym_COLON] = ACTIONS(10332),
    [anon_sym_DOT_DOT] = ACTIONS(10334),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10332),
    [anon_sym_and] = ACTIONS(10332),
    [anon_sym_or] = ACTIONS(10332),
    [anon_sym_PIPE_PIPE] = ACTIONS(10332),
    [anon_sym_AMP_AMP] = ACTIONS(10332),
    [anon_sym_LT_LT] = ACTIONS(10332),
    [anon_sym_GT_GT] = ACTIONS(10332),
    [anon_sym_EQ_EQ] = ACTIONS(10334),
    [anon_sym_BANG_EQ] = ACTIONS(10332),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10332),
    [anon_sym_LT_EQ_GT] = ACTIONS(10332),
    [anon_sym_EQ_TILDE] = ACTIONS(10332),
    [anon_sym_BANG_TILDE] = ACTIONS(10332),
    [anon_sym_LT_EQ] = ACTIONS(10334),
    [anon_sym_GT] = ACTIONS(10334),
    [anon_sym_GT_EQ] = ACTIONS(10332),
    [anon_sym_CARET] = ACTIONS(10332),
    [anon_sym_PLUS] = ACTIONS(10332),
    [anon_sym_SLASH] = ACTIONS(10332),
    [anon_sym_PERCENT] = ACTIONS(10332),
    [sym_comment] = ACTIONS(256),
  },
  [8134] = {
    [anon_sym_end] = ACTIONS(13940),
    [sym_comment] = ACTIONS(110),
  },
  [8135] = {
    [sym__simple_heredoc_body] = ACTIONS(10934),
    [sym__heredoc_body_beginning] = ACTIONS(10934),
    [sym__element_reference_left_bracket] = ACTIONS(10934),
    [sym__scope_double_colon] = ACTIONS(10934),
    [sym__binary_minus] = ACTIONS(10934),
    [sym__binary_star] = ACTIONS(10934),
    [anon_sym_LBRACE] = ACTIONS(10934),
    [anon_sym_RBRACE] = ACTIONS(10934),
    [anon_sym_RPAREN] = ACTIONS(10934),
    [anon_sym_DOT] = ACTIONS(10936),
    [anon_sym_COMMA] = ACTIONS(10934),
    [anon_sym_PIPE] = ACTIONS(10936),
    [anon_sym_SEMI] = ACTIONS(10934),
    [anon_sym_STAR_STAR] = ACTIONS(10934),
    [anon_sym_AMP] = ACTIONS(10936),
    [anon_sym_EQ] = ACTIONS(10936),
    [anon_sym_LT] = ACTIONS(10936),
    [anon_sym_in] = ACTIONS(10934),
    [anon_sym_do] = ACTIONS(10934),
    [anon_sym_EQ_GT] = ACTIONS(10934),
    [anon_sym_RBRACK] = ACTIONS(10934),
    [anon_sym_AMP_DOT] = ACTIONS(10934),
    [anon_sym_QMARK] = ACTIONS(10934),
    [anon_sym_COLON] = ACTIONS(10934),
    [anon_sym_DOT_DOT] = ACTIONS(10936),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10934),
    [anon_sym_and] = ACTIONS(10934),
    [anon_sym_or] = ACTIONS(10934),
    [anon_sym_PIPE_PIPE] = ACTIONS(10934),
    [anon_sym_AMP_AMP] = ACTIONS(10934),
    [anon_sym_LT_LT] = ACTIONS(10934),
    [anon_sym_GT_GT] = ACTIONS(10934),
    [anon_sym_EQ_EQ] = ACTIONS(10936),
    [anon_sym_BANG_EQ] = ACTIONS(10934),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10934),
    [anon_sym_LT_EQ_GT] = ACTIONS(10934),
    [anon_sym_EQ_TILDE] = ACTIONS(10934),
    [anon_sym_BANG_TILDE] = ACTIONS(10934),
    [anon_sym_LT_EQ] = ACTIONS(10936),
    [anon_sym_GT] = ACTIONS(10936),
    [anon_sym_GT_EQ] = ACTIONS(10934),
    [anon_sym_CARET] = ACTIONS(10934),
    [anon_sym_PLUS] = ACTIONS(10934),
    [anon_sym_SLASH] = ACTIONS(10934),
    [anon_sym_PERCENT] = ACTIONS(10934),
    [sym_comment] = ACTIONS(256),
  },
  [8136] = {
    [sym__simple_heredoc_body] = ACTIONS(11064),
    [sym__heredoc_body_beginning] = ACTIONS(11064),
    [sym__element_reference_left_bracket] = ACTIONS(11064),
    [sym__scope_double_colon] = ACTIONS(11064),
    [sym__binary_minus] = ACTIONS(11064),
    [sym__binary_star] = ACTIONS(11064),
    [anon_sym_LBRACE] = ACTIONS(11064),
    [anon_sym_RBRACE] = ACTIONS(11064),
    [anon_sym_RPAREN] = ACTIONS(11064),
    [anon_sym_DOT] = ACTIONS(11066),
    [anon_sym_COMMA] = ACTIONS(11064),
    [anon_sym_PIPE] = ACTIONS(11066),
    [anon_sym_SEMI] = ACTIONS(11064),
    [anon_sym_STAR_STAR] = ACTIONS(11064),
    [anon_sym_AMP] = ACTIONS(11066),
    [anon_sym_EQ] = ACTIONS(11066),
    [anon_sym_LT] = ACTIONS(11066),
    [anon_sym_in] = ACTIONS(11064),
    [anon_sym_do] = ACTIONS(11064),
    [anon_sym_EQ_GT] = ACTIONS(11064),
    [anon_sym_RBRACK] = ACTIONS(11064),
    [anon_sym_AMP_DOT] = ACTIONS(11064),
    [anon_sym_QMARK] = ACTIONS(11064),
    [anon_sym_COLON] = ACTIONS(11064),
    [anon_sym_DOT_DOT] = ACTIONS(11066),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11064),
    [anon_sym_and] = ACTIONS(11064),
    [anon_sym_or] = ACTIONS(11064),
    [anon_sym_PIPE_PIPE] = ACTIONS(11064),
    [anon_sym_AMP_AMP] = ACTIONS(11064),
    [anon_sym_LT_LT] = ACTIONS(11064),
    [anon_sym_GT_GT] = ACTIONS(11064),
    [anon_sym_EQ_EQ] = ACTIONS(11066),
    [anon_sym_BANG_EQ] = ACTIONS(11064),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11064),
    [anon_sym_LT_EQ_GT] = ACTIONS(11064),
    [anon_sym_EQ_TILDE] = ACTIONS(11064),
    [anon_sym_BANG_TILDE] = ACTIONS(11064),
    [anon_sym_LT_EQ] = ACTIONS(11066),
    [anon_sym_GT] = ACTIONS(11066),
    [anon_sym_GT_EQ] = ACTIONS(11064),
    [anon_sym_CARET] = ACTIONS(11064),
    [anon_sym_PLUS] = ACTIONS(11064),
    [anon_sym_SLASH] = ACTIONS(11064),
    [anon_sym_PERCENT] = ACTIONS(11064),
    [sym_comment] = ACTIONS(256),
  },
  [8137] = {
    [anon_sym_RBRACE] = ACTIONS(13942),
    [sym_comment] = ACTIONS(110),
  },
  [8138] = {
    [sym__simple_heredoc_body] = ACTIONS(11094),
    [sym__heredoc_body_beginning] = ACTIONS(11094),
    [sym__element_reference_left_bracket] = ACTIONS(11094),
    [sym__scope_double_colon] = ACTIONS(11094),
    [sym__binary_minus] = ACTIONS(11094),
    [sym__binary_star] = ACTIONS(11094),
    [anon_sym_LBRACE] = ACTIONS(11094),
    [anon_sym_RBRACE] = ACTIONS(11094),
    [anon_sym_RPAREN] = ACTIONS(11094),
    [anon_sym_DOT] = ACTIONS(11096),
    [anon_sym_COMMA] = ACTIONS(11094),
    [anon_sym_PIPE] = ACTIONS(11096),
    [anon_sym_SEMI] = ACTIONS(11094),
    [anon_sym_STAR_STAR] = ACTIONS(11094),
    [anon_sym_AMP] = ACTIONS(11096),
    [anon_sym_EQ] = ACTIONS(11096),
    [anon_sym_LT] = ACTIONS(11096),
    [anon_sym_in] = ACTIONS(11094),
    [anon_sym_do] = ACTIONS(11094),
    [anon_sym_EQ_GT] = ACTIONS(11094),
    [anon_sym_RBRACK] = ACTIONS(11094),
    [anon_sym_AMP_DOT] = ACTIONS(11094),
    [anon_sym_QMARK] = ACTIONS(11094),
    [anon_sym_COLON] = ACTIONS(11094),
    [anon_sym_DOT_DOT] = ACTIONS(11096),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11094),
    [anon_sym_and] = ACTIONS(11094),
    [anon_sym_or] = ACTIONS(11094),
    [anon_sym_PIPE_PIPE] = ACTIONS(11094),
    [anon_sym_AMP_AMP] = ACTIONS(11094),
    [anon_sym_LT_LT] = ACTIONS(11094),
    [anon_sym_GT_GT] = ACTIONS(11094),
    [anon_sym_EQ_EQ] = ACTIONS(11096),
    [anon_sym_BANG_EQ] = ACTIONS(11094),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11094),
    [anon_sym_LT_EQ_GT] = ACTIONS(11094),
    [anon_sym_EQ_TILDE] = ACTIONS(11094),
    [anon_sym_BANG_TILDE] = ACTIONS(11094),
    [anon_sym_LT_EQ] = ACTIONS(11096),
    [anon_sym_GT] = ACTIONS(11096),
    [anon_sym_GT_EQ] = ACTIONS(11094),
    [anon_sym_CARET] = ACTIONS(11094),
    [anon_sym_PLUS] = ACTIONS(11094),
    [anon_sym_SLASH] = ACTIONS(11094),
    [anon_sym_PERCENT] = ACTIONS(11094),
    [sym_comment] = ACTIONS(256),
  },
  [8139] = {
    [anon_sym_end] = ACTIONS(13944),
    [sym_comment] = ACTIONS(110),
  },
  [8140] = {
    [sym__statements] = STATE(11050),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(13946),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8141] = {
    [sym__statements] = STATE(11050),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(11051),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(13946),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8142] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(11052),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(509),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(510),
    [sym__variable] = STATE(504),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(808),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2904),
    [anon_sym_yield] = ACTIONS(2906),
    [anon_sym_break] = ACTIONS(2908),
    [anon_sym_next] = ACTIONS(2910),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(852),
    [anon_sym_defined_QMARK] = ACTIONS(854),
    [anon_sym_not] = ACTIONS(2912),
    [anon_sym_BANG] = ACTIONS(858),
    [anon_sym_TILDE] = ACTIONS(858),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [8143] = {
    [sym__simple_heredoc_body] = ACTIONS(11316),
    [sym__heredoc_body_beginning] = ACTIONS(11316),
    [sym__element_reference_left_bracket] = ACTIONS(11316),
    [sym__scope_double_colon] = ACTIONS(11316),
    [sym__binary_minus] = ACTIONS(11316),
    [sym__binary_star] = ACTIONS(11316),
    [anon_sym_LBRACE] = ACTIONS(11316),
    [anon_sym_RBRACE] = ACTIONS(11316),
    [anon_sym_RPAREN] = ACTIONS(11316),
    [anon_sym_DOT] = ACTIONS(11318),
    [anon_sym_COMMA] = ACTIONS(11316),
    [anon_sym_PIPE] = ACTIONS(11318),
    [anon_sym_SEMI] = ACTIONS(11316),
    [anon_sym_STAR_STAR] = ACTIONS(11318),
    [anon_sym_AMP] = ACTIONS(11318),
    [anon_sym_EQ] = ACTIONS(11318),
    [anon_sym_LT] = ACTIONS(11318),
    [anon_sym_in] = ACTIONS(11316),
    [anon_sym_do] = ACTIONS(11316),
    [anon_sym_EQ_GT] = ACTIONS(11316),
    [anon_sym_RBRACK] = ACTIONS(11316),
    [anon_sym_AMP_DOT] = ACTIONS(11316),
    [anon_sym_PLUS_EQ] = ACTIONS(11316),
    [anon_sym_DASH_EQ] = ACTIONS(11316),
    [anon_sym_STAR_EQ] = ACTIONS(11316),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(11316),
    [anon_sym_SLASH_EQ] = ACTIONS(11316),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(11316),
    [anon_sym_PIPE_EQ] = ACTIONS(11316),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(11316),
    [anon_sym_AMP_EQ] = ACTIONS(11316),
    [anon_sym_PERCENT_EQ] = ACTIONS(11316),
    [anon_sym_GT_GT_EQ] = ACTIONS(11316),
    [anon_sym_LT_LT_EQ] = ACTIONS(11316),
    [anon_sym_CARET_EQ] = ACTIONS(11316),
    [anon_sym_QMARK] = ACTIONS(11316),
    [anon_sym_COLON] = ACTIONS(11316),
    [anon_sym_DOT_DOT] = ACTIONS(11318),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11316),
    [anon_sym_and] = ACTIONS(11316),
    [anon_sym_or] = ACTIONS(11316),
    [anon_sym_PIPE_PIPE] = ACTIONS(11318),
    [anon_sym_AMP_AMP] = ACTIONS(11318),
    [anon_sym_LT_LT] = ACTIONS(11318),
    [anon_sym_GT_GT] = ACTIONS(11318),
    [anon_sym_EQ_EQ] = ACTIONS(11318),
    [anon_sym_BANG_EQ] = ACTIONS(11316),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11316),
    [anon_sym_LT_EQ_GT] = ACTIONS(11316),
    [anon_sym_EQ_TILDE] = ACTIONS(11316),
    [anon_sym_BANG_TILDE] = ACTIONS(11316),
    [anon_sym_LT_EQ] = ACTIONS(11318),
    [anon_sym_GT] = ACTIONS(11318),
    [anon_sym_GT_EQ] = ACTIONS(11316),
    [anon_sym_CARET] = ACTIONS(11318),
    [anon_sym_PLUS] = ACTIONS(11318),
    [anon_sym_SLASH] = ACTIONS(11318),
    [anon_sym_PERCENT] = ACTIONS(11318),
    [sym_comment] = ACTIONS(256),
  },
  [8144] = {
    [anon_sym_RBRACK] = ACTIONS(13948),
    [sym_comment] = ACTIONS(110),
  },
  [8145] = {
    [sym__simple_string] = ACTIONS(5370),
    [sym__simple_symbol] = ACTIONS(5370),
    [sym__simple_subshell] = ACTIONS(5370),
    [sym__simple_regex] = ACTIONS(5370),
    [sym__simple_word_list] = ACTIONS(5370),
    [sym__simple_heredoc_body] = ACTIONS(5370),
    [sym__string_beginning] = ACTIONS(5370),
    [sym__symbol_beginning] = ACTIONS(5370),
    [sym__subshell_beginning] = ACTIONS(5370),
    [sym__regex_beginning] = ACTIONS(5370),
    [sym__word_list_beginning] = ACTIONS(5370),
    [sym__heredoc_body_beginning] = ACTIONS(5370),
    [sym_heredoc_beginning] = ACTIONS(5370),
    [sym__element_reference_left_bracket] = ACTIONS(5370),
    [sym__block_ampersand] = ACTIONS(5370),
    [sym__splat_star] = ACTIONS(5370),
    [sym__argument_list_left_paren] = ACTIONS(5370),
    [sym__scope_double_colon] = ACTIONS(5370),
    [sym__unary_minus] = ACTIONS(5370),
    [sym__binary_minus] = ACTIONS(5370),
    [sym__binary_star] = ACTIONS(5370),
    [anon_sym_LBRACE] = ACTIONS(5370),
    [anon_sym_RBRACE] = ACTIONS(5370),
    [anon_sym_def] = ACTIONS(5372),
    [anon_sym_LPAREN] = ACTIONS(5370),
    [anon_sym_RPAREN] = ACTIONS(5370),
    [anon_sym_DOT] = ACTIONS(5372),
    [anon_sym_COLON_COLON] = ACTIONS(5370),
    [anon_sym_end] = ACTIONS(5372),
    [anon_sym_COMMA] = ACTIONS(5370),
    [anon_sym_PIPE] = ACTIONS(5372),
    [anon_sym_SEMI] = ACTIONS(5370),
    [anon_sym_STAR] = ACTIONS(5372),
    [anon_sym_STAR_STAR] = ACTIONS(5372),
    [anon_sym_AMP] = ACTIONS(5372),
    [anon_sym_EQ] = ACTIONS(5372),
    [anon_sym_class] = ACTIONS(5372),
    [anon_sym_LT] = ACTIONS(5372),
    [anon_sym_module] = ACTIONS(5372),
    [anon_sym_return] = ACTIONS(5372),
    [anon_sym_yield] = ACTIONS(5372),
    [anon_sym_break] = ACTIONS(5372),
    [anon_sym_next] = ACTIONS(5372),
    [anon_sym_redo] = ACTIONS(5372),
    [anon_sym_retry] = ACTIONS(5372),
    [anon_sym_if] = ACTIONS(5372),
    [anon_sym_unless] = ACTIONS(5372),
    [anon_sym_while] = ACTIONS(5372),
    [anon_sym_until] = ACTIONS(5372),
    [anon_sym_rescue] = ACTIONS(5372),
    [anon_sym_for] = ACTIONS(5372),
    [anon_sym_in] = ACTIONS(5372),
    [anon_sym_do] = ACTIONS(5372),
    [anon_sym_case] = ACTIONS(5372),
    [anon_sym_when] = ACTIONS(5372),
    [anon_sym_elsif] = ACTIONS(5372),
    [anon_sym_else] = ACTIONS(5372),
    [anon_sym_then] = ACTIONS(5372),
    [anon_sym_begin] = ACTIONS(5372),
    [anon_sym_ensure] = ACTIONS(5372),
    [anon_sym_EQ_GT] = ACTIONS(5370),
    [anon_sym_RBRACK] = ACTIONS(5370),
    [anon_sym_AMP_DOT] = ACTIONS(5370),
    [anon_sym_PLUS_EQ] = ACTIONS(5370),
    [anon_sym_DASH_EQ] = ACTIONS(5370),
    [anon_sym_STAR_EQ] = ACTIONS(5370),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5370),
    [anon_sym_SLASH_EQ] = ACTIONS(5370),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5370),
    [anon_sym_PIPE_EQ] = ACTIONS(5370),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5370),
    [anon_sym_AMP_EQ] = ACTIONS(5370),
    [anon_sym_PERCENT_EQ] = ACTIONS(5370),
    [anon_sym_GT_GT_EQ] = ACTIONS(5370),
    [anon_sym_LT_LT_EQ] = ACTIONS(5370),
    [anon_sym_CARET_EQ] = ACTIONS(5370),
    [anon_sym_QMARK] = ACTIONS(5372),
    [anon_sym_COLON] = ACTIONS(5372),
    [anon_sym_DOT_DOT] = ACTIONS(5372),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5370),
    [anon_sym_and] = ACTIONS(5372),
    [anon_sym_or] = ACTIONS(5372),
    [anon_sym_PIPE_PIPE] = ACTIONS(5372),
    [anon_sym_AMP_AMP] = ACTIONS(5372),
    [anon_sym_LT_LT] = ACTIONS(5372),
    [anon_sym_GT_GT] = ACTIONS(5372),
    [anon_sym_EQ_EQ] = ACTIONS(5372),
    [anon_sym_BANG_EQ] = ACTIONS(5370),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5370),
    [anon_sym_LT_EQ_GT] = ACTIONS(5370),
    [anon_sym_EQ_TILDE] = ACTIONS(5370),
    [anon_sym_BANG_TILDE] = ACTIONS(5370),
    [anon_sym_LT_EQ] = ACTIONS(5372),
    [anon_sym_GT] = ACTIONS(5372),
    [anon_sym_GT_EQ] = ACTIONS(5370),
    [anon_sym_CARET] = ACTIONS(5372),
    [anon_sym_PLUS] = ACTIONS(5372),
    [anon_sym_SLASH] = ACTIONS(5372),
    [anon_sym_PERCENT] = ACTIONS(5372),
    [anon_sym_defined_QMARK] = ACTIONS(5370),
    [anon_sym_not] = ACTIONS(5372),
    [anon_sym_BANG] = ACTIONS(5372),
    [anon_sym_TILDE] = ACTIONS(5370),
    [sym_constant] = ACTIONS(11322),
    [sym_identifier] = ACTIONS(11322),
    [sym_instance_variable] = ACTIONS(5372),
    [sym_class_variable] = ACTIONS(5372),
    [sym_global_variable] = ACTIONS(5372),
    [anon_sym_alias] = ACTIONS(5372),
    [anon_sym_defined] = ACTIONS(5372),
    [anon_sym_false] = ACTIONS(5372),
    [anon_sym_nil] = ACTIONS(5372),
    [anon_sym_self] = ACTIONS(5372),
    [anon_sym_super] = ACTIONS(5372),
    [anon_sym_true] = ACTIONS(5372),
    [anon_sym_undef] = ACTIONS(5372),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(5372),
    [sym_float] = ACTIONS(11322),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5370),
    [anon_sym_TRUE] = ACTIONS(5372),
    [anon_sym_FALSE] = ACTIONS(5372),
    [anon_sym_NIL] = ACTIONS(5372),
    [sym_keyword__FILE__] = ACTIONS(5372),
    [sym_keyword__LINE__] = ACTIONS(5372),
    [sym_keyword__ENCODING__] = ACTIONS(5372),
    [sym__character_literal] = ACTIONS(5372),
    [anon_sym_LBRACK] = ACTIONS(5370),
    [anon_sym_DASH_GT] = ACTIONS(5370),
  },
  [8146] = {
    [sym_heredoc_end] = STATE(11055),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RPAREN] = ACTIONS(13950),
    [sym_comment] = ACTIONS(110),
  },
  [8147] = {
    [anon_sym_RPAREN] = ACTIONS(13950),
    [sym_comment] = ACTIONS(110),
  },
  [8148] = {
    [sym__simple_heredoc_body] = ACTIONS(11064),
    [sym__heredoc_body_beginning] = ACTIONS(11064),
    [sym__element_reference_left_bracket] = ACTIONS(11064),
    [sym__scope_double_colon] = ACTIONS(11064),
    [sym__binary_minus] = ACTIONS(11064),
    [sym__binary_star] = ACTIONS(11064),
    [anon_sym_LBRACE] = ACTIONS(11064),
    [anon_sym_RBRACE] = ACTIONS(11064),
    [anon_sym_RPAREN] = ACTIONS(11064),
    [anon_sym_DOT] = ACTIONS(11066),
    [anon_sym_COMMA] = ACTIONS(11064),
    [anon_sym_PIPE] = ACTIONS(11066),
    [anon_sym_SEMI] = ACTIONS(11064),
    [anon_sym_STAR_STAR] = ACTIONS(11066),
    [anon_sym_AMP] = ACTIONS(11066),
    [anon_sym_EQ] = ACTIONS(11066),
    [anon_sym_LT] = ACTIONS(11066),
    [anon_sym_in] = ACTIONS(11064),
    [anon_sym_do] = ACTIONS(11064),
    [anon_sym_EQ_GT] = ACTIONS(11064),
    [anon_sym_RBRACK] = ACTIONS(11064),
    [anon_sym_AMP_DOT] = ACTIONS(11064),
    [anon_sym_PLUS_EQ] = ACTIONS(11064),
    [anon_sym_DASH_EQ] = ACTIONS(11064),
    [anon_sym_STAR_EQ] = ACTIONS(11064),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(11064),
    [anon_sym_SLASH_EQ] = ACTIONS(11064),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(11064),
    [anon_sym_PIPE_EQ] = ACTIONS(11064),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(11064),
    [anon_sym_AMP_EQ] = ACTIONS(11064),
    [anon_sym_PERCENT_EQ] = ACTIONS(11064),
    [anon_sym_GT_GT_EQ] = ACTIONS(11064),
    [anon_sym_LT_LT_EQ] = ACTIONS(11064),
    [anon_sym_CARET_EQ] = ACTIONS(11064),
    [anon_sym_QMARK] = ACTIONS(11064),
    [anon_sym_COLON] = ACTIONS(11064),
    [anon_sym_DOT_DOT] = ACTIONS(11066),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11064),
    [anon_sym_and] = ACTIONS(11064),
    [anon_sym_or] = ACTIONS(11064),
    [anon_sym_PIPE_PIPE] = ACTIONS(11066),
    [anon_sym_AMP_AMP] = ACTIONS(11066),
    [anon_sym_LT_LT] = ACTIONS(11066),
    [anon_sym_GT_GT] = ACTIONS(11066),
    [anon_sym_EQ_EQ] = ACTIONS(11066),
    [anon_sym_BANG_EQ] = ACTIONS(11064),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11064),
    [anon_sym_LT_EQ_GT] = ACTIONS(11064),
    [anon_sym_EQ_TILDE] = ACTIONS(11064),
    [anon_sym_BANG_TILDE] = ACTIONS(11064),
    [anon_sym_LT_EQ] = ACTIONS(11066),
    [anon_sym_GT] = ACTIONS(11066),
    [anon_sym_GT_EQ] = ACTIONS(11064),
    [anon_sym_CARET] = ACTIONS(11066),
    [anon_sym_PLUS] = ACTIONS(11066),
    [anon_sym_SLASH] = ACTIONS(11066),
    [anon_sym_PERCENT] = ACTIONS(11066),
    [sym_comment] = ACTIONS(256),
  },
  [8149] = {
    [anon_sym_RBRACE] = ACTIONS(13952),
    [sym_comment] = ACTIONS(110),
  },
  [8150] = {
    [sym__simple_heredoc_body] = ACTIONS(11094),
    [sym__heredoc_body_beginning] = ACTIONS(11094),
    [sym__element_reference_left_bracket] = ACTIONS(11094),
    [sym__scope_double_colon] = ACTIONS(11094),
    [sym__binary_minus] = ACTIONS(11094),
    [sym__binary_star] = ACTIONS(11094),
    [anon_sym_LBRACE] = ACTIONS(11094),
    [anon_sym_RBRACE] = ACTIONS(11094),
    [anon_sym_RPAREN] = ACTIONS(11094),
    [anon_sym_DOT] = ACTIONS(11096),
    [anon_sym_COMMA] = ACTIONS(11094),
    [anon_sym_PIPE] = ACTIONS(11096),
    [anon_sym_SEMI] = ACTIONS(11094),
    [anon_sym_STAR_STAR] = ACTIONS(11096),
    [anon_sym_AMP] = ACTIONS(11096),
    [anon_sym_EQ] = ACTIONS(11096),
    [anon_sym_LT] = ACTIONS(11096),
    [anon_sym_in] = ACTIONS(11094),
    [anon_sym_do] = ACTIONS(11094),
    [anon_sym_EQ_GT] = ACTIONS(11094),
    [anon_sym_RBRACK] = ACTIONS(11094),
    [anon_sym_AMP_DOT] = ACTIONS(11094),
    [anon_sym_PLUS_EQ] = ACTIONS(11094),
    [anon_sym_DASH_EQ] = ACTIONS(11094),
    [anon_sym_STAR_EQ] = ACTIONS(11094),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(11094),
    [anon_sym_SLASH_EQ] = ACTIONS(11094),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(11094),
    [anon_sym_PIPE_EQ] = ACTIONS(11094),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(11094),
    [anon_sym_AMP_EQ] = ACTIONS(11094),
    [anon_sym_PERCENT_EQ] = ACTIONS(11094),
    [anon_sym_GT_GT_EQ] = ACTIONS(11094),
    [anon_sym_LT_LT_EQ] = ACTIONS(11094),
    [anon_sym_CARET_EQ] = ACTIONS(11094),
    [anon_sym_QMARK] = ACTIONS(11094),
    [anon_sym_COLON] = ACTIONS(11094),
    [anon_sym_DOT_DOT] = ACTIONS(11096),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11094),
    [anon_sym_and] = ACTIONS(11094),
    [anon_sym_or] = ACTIONS(11094),
    [anon_sym_PIPE_PIPE] = ACTIONS(11096),
    [anon_sym_AMP_AMP] = ACTIONS(11096),
    [anon_sym_LT_LT] = ACTIONS(11096),
    [anon_sym_GT_GT] = ACTIONS(11096),
    [anon_sym_EQ_EQ] = ACTIONS(11096),
    [anon_sym_BANG_EQ] = ACTIONS(11094),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11094),
    [anon_sym_LT_EQ_GT] = ACTIONS(11094),
    [anon_sym_EQ_TILDE] = ACTIONS(11094),
    [anon_sym_BANG_TILDE] = ACTIONS(11094),
    [anon_sym_LT_EQ] = ACTIONS(11096),
    [anon_sym_GT] = ACTIONS(11096),
    [anon_sym_GT_EQ] = ACTIONS(11094),
    [anon_sym_CARET] = ACTIONS(11096),
    [anon_sym_PLUS] = ACTIONS(11096),
    [anon_sym_SLASH] = ACTIONS(11096),
    [anon_sym_PERCENT] = ACTIONS(11096),
    [sym_comment] = ACTIONS(256),
  },
  [8151] = {
    [anon_sym_end] = ACTIONS(13954),
    [sym_comment] = ACTIONS(110),
  },
  [8152] = {
    [sym__statements] = STATE(11058),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(13956),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8153] = {
    [sym__statements] = STATE(11058),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(11059),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(13956),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8154] = {
    [sym__simple_heredoc_body] = ACTIONS(8568),
    [sym__heredoc_body_beginning] = ACTIONS(8568),
    [sym__element_reference_left_bracket] = ACTIONS(8568),
    [sym__scope_double_colon] = ACTIONS(8568),
    [sym__binary_minus] = ACTIONS(6854),
    [sym__binary_star] = ACTIONS(6856),
    [anon_sym_LBRACE] = ACTIONS(8568),
    [anon_sym_DOT] = ACTIONS(9468),
    [anon_sym_COMMA] = ACTIONS(8568),
    [anon_sym_PIPE] = ACTIONS(6858),
    [anon_sym_STAR_STAR] = ACTIONS(6860),
    [anon_sym_AMP] = ACTIONS(6862),
    [anon_sym_EQ] = ACTIONS(9468),
    [anon_sym_LT] = ACTIONS(6864),
    [anon_sym_do] = ACTIONS(8568),
    [anon_sym_EQ_GT] = ACTIONS(8568),
    [anon_sym_RBRACK] = ACTIONS(8568),
    [anon_sym_AMP_DOT] = ACTIONS(8568),
    [anon_sym_PLUS_EQ] = ACTIONS(8568),
    [anon_sym_DASH_EQ] = ACTIONS(8568),
    [anon_sym_STAR_EQ] = ACTIONS(8568),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8568),
    [anon_sym_SLASH_EQ] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8568),
    [anon_sym_PIPE_EQ] = ACTIONS(8568),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8568),
    [anon_sym_AMP_EQ] = ACTIONS(8568),
    [anon_sym_PERCENT_EQ] = ACTIONS(8568),
    [anon_sym_GT_GT_EQ] = ACTIONS(8568),
    [anon_sym_LT_LT_EQ] = ACTIONS(8568),
    [anon_sym_CARET_EQ] = ACTIONS(8568),
    [anon_sym_QMARK] = ACTIONS(6866),
    [anon_sym_DOT_DOT] = ACTIONS(6868),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6870),
    [anon_sym_and] = ACTIONS(8568),
    [anon_sym_or] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE] = ACTIONS(6872),
    [anon_sym_AMP_AMP] = ACTIONS(6872),
    [anon_sym_LT_LT] = ACTIONS(6874),
    [anon_sym_GT_GT] = ACTIONS(6874),
    [anon_sym_EQ_EQ] = ACTIONS(6872),
    [anon_sym_BANG_EQ] = ACTIONS(6876),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6876),
    [anon_sym_LT_EQ_GT] = ACTIONS(6876),
    [anon_sym_EQ_TILDE] = ACTIONS(6876),
    [anon_sym_BANG_TILDE] = ACTIONS(6876),
    [anon_sym_LT_EQ] = ACTIONS(6864),
    [anon_sym_GT] = ACTIONS(6864),
    [anon_sym_GT_EQ] = ACTIONS(6878),
    [anon_sym_CARET] = ACTIONS(6858),
    [anon_sym_PLUS] = ACTIONS(6880),
    [anon_sym_SLASH] = ACTIONS(6860),
    [anon_sym_PERCENT] = ACTIONS(6860),
    [sym_comment] = ACTIONS(256),
  },
  [8155] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__element_reference_left_bracket] = ACTIONS(7008),
    [sym__scope_double_colon] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(6856),
    [anon_sym_LBRACE] = ACTIONS(7008),
    [anon_sym_DOT] = ACTIONS(7010),
    [anon_sym_COMMA] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_STAR_STAR] = ACTIONS(6860),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_EQ] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_do] = ACTIONS(7008),
    [anon_sym_EQ_GT] = ACTIONS(7008),
    [anon_sym_RBRACK] = ACTIONS(7008),
    [anon_sym_AMP_DOT] = ACTIONS(7008),
    [anon_sym_PLUS_EQ] = ACTIONS(7008),
    [anon_sym_DASH_EQ] = ACTIONS(7008),
    [anon_sym_STAR_EQ] = ACTIONS(7008),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7008),
    [anon_sym_SLASH_EQ] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7008),
    [anon_sym_PIPE_EQ] = ACTIONS(7008),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7008),
    [anon_sym_AMP_EQ] = ACTIONS(7008),
    [anon_sym_PERCENT_EQ] = ACTIONS(7008),
    [anon_sym_GT_GT_EQ] = ACTIONS(7008),
    [anon_sym_LT_LT_EQ] = ACTIONS(7008),
    [anon_sym_CARET_EQ] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7010),
    [anon_sym_AMP_AMP] = ACTIONS(7010),
    [anon_sym_LT_LT] = ACTIONS(7010),
    [anon_sym_GT_GT] = ACTIONS(7010),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7010),
    [anon_sym_PLUS] = ACTIONS(7010),
    [anon_sym_SLASH] = ACTIONS(6860),
    [anon_sym_PERCENT] = ACTIONS(6860),
    [sym_comment] = ACTIONS(256),
  },
  [8156] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__element_reference_left_bracket] = ACTIONS(7012),
    [sym__scope_double_colon] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_LBRACE] = ACTIONS(7012),
    [anon_sym_DOT] = ACTIONS(7014),
    [anon_sym_COMMA] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_STAR_STAR] = ACTIONS(6860),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_EQ] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_do] = ACTIONS(7012),
    [anon_sym_EQ_GT] = ACTIONS(7012),
    [anon_sym_RBRACK] = ACTIONS(7012),
    [anon_sym_AMP_DOT] = ACTIONS(7012),
    [anon_sym_PLUS_EQ] = ACTIONS(7012),
    [anon_sym_DASH_EQ] = ACTIONS(7012),
    [anon_sym_STAR_EQ] = ACTIONS(7012),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7012),
    [anon_sym_SLASH_EQ] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7012),
    [anon_sym_PIPE_EQ] = ACTIONS(7012),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7012),
    [anon_sym_AMP_EQ] = ACTIONS(7012),
    [anon_sym_PERCENT_EQ] = ACTIONS(7012),
    [anon_sym_GT_GT_EQ] = ACTIONS(7012),
    [anon_sym_LT_LT_EQ] = ACTIONS(7012),
    [anon_sym_CARET_EQ] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7014),
    [anon_sym_AMP_AMP] = ACTIONS(7014),
    [anon_sym_LT_LT] = ACTIONS(7014),
    [anon_sym_GT_GT] = ACTIONS(7014),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7014),
    [anon_sym_PLUS] = ACTIONS(7014),
    [anon_sym_SLASH] = ACTIONS(7014),
    [anon_sym_PERCENT] = ACTIONS(7014),
    [sym_comment] = ACTIONS(256),
  },
  [8157] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6854),
    [sym__binary_star] = ACTIONS(6856),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(6860),
    [anon_sym_AMP] = ACTIONS(6862),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_RBRACK] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(6874),
    [anon_sym_GT_GT] = ACTIONS(6874),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(6880),
    [anon_sym_SLASH] = ACTIONS(6860),
    [anon_sym_PERCENT] = ACTIONS(6860),
    [sym_comment] = ACTIONS(256),
  },
  [8158] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(6860),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_RBRACK] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7018),
    [anon_sym_GT_GT] = ACTIONS(7018),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(7018),
    [anon_sym_SLASH] = ACTIONS(7018),
    [anon_sym_PERCENT] = ACTIONS(7018),
    [sym_comment] = ACTIONS(256),
  },
  [8159] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6854),
    [sym__binary_star] = ACTIONS(6856),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(6860),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_RBRACK] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(6874),
    [anon_sym_GT_GT] = ACTIONS(6874),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(6880),
    [anon_sym_SLASH] = ACTIONS(6860),
    [anon_sym_PERCENT] = ACTIONS(6860),
    [sym_comment] = ACTIONS(256),
  },
  [8160] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6854),
    [sym__binary_star] = ACTIONS(6856),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(6858),
    [anon_sym_STAR_STAR] = ACTIONS(6860),
    [anon_sym_AMP] = ACTIONS(6862),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_RBRACK] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(6874),
    [anon_sym_GT_GT] = ACTIONS(6874),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(6858),
    [anon_sym_PLUS] = ACTIONS(6880),
    [anon_sym_SLASH] = ACTIONS(6860),
    [anon_sym_PERCENT] = ACTIONS(6860),
    [sym_comment] = ACTIONS(256),
  },
  [8161] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(13958),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [8162] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__element_reference_left_bracket] = ACTIONS(7108),
    [sym__scope_double_colon] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(6854),
    [sym__binary_star] = ACTIONS(6856),
    [anon_sym_LBRACE] = ACTIONS(7108),
    [anon_sym_DOT] = ACTIONS(9472),
    [anon_sym_COMMA] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(6858),
    [anon_sym_STAR_STAR] = ACTIONS(6860),
    [anon_sym_AMP] = ACTIONS(6862),
    [anon_sym_EQ] = ACTIONS(9472),
    [anon_sym_LT] = ACTIONS(6864),
    [anon_sym_do] = ACTIONS(7108),
    [anon_sym_EQ_GT] = ACTIONS(7108),
    [anon_sym_RBRACK] = ACTIONS(7108),
    [anon_sym_AMP_DOT] = ACTIONS(7108),
    [anon_sym_PLUS_EQ] = ACTIONS(7108),
    [anon_sym_DASH_EQ] = ACTIONS(7108),
    [anon_sym_STAR_EQ] = ACTIONS(7108),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7108),
    [anon_sym_SLASH_EQ] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7108),
    [anon_sym_PIPE_EQ] = ACTIONS(7108),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7108),
    [anon_sym_AMP_EQ] = ACTIONS(7108),
    [anon_sym_PERCENT_EQ] = ACTIONS(7108),
    [anon_sym_GT_GT_EQ] = ACTIONS(7108),
    [anon_sym_LT_LT_EQ] = ACTIONS(7108),
    [anon_sym_CARET_EQ] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(6868),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6870),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(6872),
    [anon_sym_AMP_AMP] = ACTIONS(6872),
    [anon_sym_LT_LT] = ACTIONS(6874),
    [anon_sym_GT_GT] = ACTIONS(6874),
    [anon_sym_EQ_EQ] = ACTIONS(6872),
    [anon_sym_BANG_EQ] = ACTIONS(6876),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6876),
    [anon_sym_LT_EQ_GT] = ACTIONS(6876),
    [anon_sym_EQ_TILDE] = ACTIONS(6876),
    [anon_sym_BANG_TILDE] = ACTIONS(6876),
    [anon_sym_LT_EQ] = ACTIONS(6864),
    [anon_sym_GT] = ACTIONS(6864),
    [anon_sym_GT_EQ] = ACTIONS(6878),
    [anon_sym_CARET] = ACTIONS(6858),
    [anon_sym_PLUS] = ACTIONS(6880),
    [anon_sym_SLASH] = ACTIONS(6860),
    [anon_sym_PERCENT] = ACTIONS(6860),
    [sym_comment] = ACTIONS(256),
  },
  [8163] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6854),
    [sym__binary_star] = ACTIONS(6856),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(6858),
    [anon_sym_STAR_STAR] = ACTIONS(6860),
    [anon_sym_AMP] = ACTIONS(6862),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(6864),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_RBRACK] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(6866),
    [anon_sym_DOT_DOT] = ACTIONS(6868),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6870),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(6872),
    [anon_sym_AMP_AMP] = ACTIONS(6872),
    [anon_sym_LT_LT] = ACTIONS(6874),
    [anon_sym_GT_GT] = ACTIONS(6874),
    [anon_sym_EQ_EQ] = ACTIONS(6872),
    [anon_sym_BANG_EQ] = ACTIONS(6876),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6876),
    [anon_sym_LT_EQ_GT] = ACTIONS(6876),
    [anon_sym_EQ_TILDE] = ACTIONS(6876),
    [anon_sym_BANG_TILDE] = ACTIONS(6876),
    [anon_sym_LT_EQ] = ACTIONS(6864),
    [anon_sym_GT] = ACTIONS(6864),
    [anon_sym_GT_EQ] = ACTIONS(6878),
    [anon_sym_CARET] = ACTIONS(6858),
    [anon_sym_PLUS] = ACTIONS(6880),
    [anon_sym_SLASH] = ACTIONS(6860),
    [anon_sym_PERCENT] = ACTIONS(6860),
    [sym_comment] = ACTIONS(256),
  },
  [8164] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6854),
    [sym__binary_star] = ACTIONS(6856),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(6858),
    [anon_sym_STAR_STAR] = ACTIONS(6860),
    [anon_sym_AMP] = ACTIONS(6862),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(6864),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_RBRACK] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(6874),
    [anon_sym_GT_GT] = ACTIONS(6874),
    [anon_sym_EQ_EQ] = ACTIONS(6872),
    [anon_sym_BANG_EQ] = ACTIONS(6876),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6876),
    [anon_sym_LT_EQ_GT] = ACTIONS(6876),
    [anon_sym_EQ_TILDE] = ACTIONS(6876),
    [anon_sym_BANG_TILDE] = ACTIONS(6876),
    [anon_sym_LT_EQ] = ACTIONS(6864),
    [anon_sym_GT] = ACTIONS(6864),
    [anon_sym_GT_EQ] = ACTIONS(6878),
    [anon_sym_CARET] = ACTIONS(6858),
    [anon_sym_PLUS] = ACTIONS(6880),
    [anon_sym_SLASH] = ACTIONS(6860),
    [anon_sym_PERCENT] = ACTIONS(6860),
    [sym_comment] = ACTIONS(256),
  },
  [8165] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(6854),
    [sym__binary_star] = ACTIONS(6856),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(6860),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_RBRACK] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7018),
    [anon_sym_GT_GT] = ACTIONS(7018),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(6880),
    [anon_sym_SLASH] = ACTIONS(6860),
    [anon_sym_PERCENT] = ACTIONS(6860),
    [sym_comment] = ACTIONS(256),
  },
  [8166] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(6856),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(6860),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_RBRACK] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7018),
    [anon_sym_GT_GT] = ACTIONS(7018),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(7018),
    [anon_sym_SLASH] = ACTIONS(6860),
    [anon_sym_PERCENT] = ACTIONS(6860),
    [sym_comment] = ACTIONS(256),
  },
  [8167] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(1948),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1949),
    [sym_call] = STATE(1949),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(9412),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1953),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1954),
    [sym__variable] = STATE(1949),
    [sym_reserved_identifier] = STATE(1955),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(1956),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__block_ampersand] = ACTIONS(3006),
    [sym__splat_star] = ACTIONS(3008),
    [sym__unary_minus] = ACTIONS(3010),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(11040),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(3014),
    [anon_sym_yield] = ACTIONS(3016),
    [anon_sym_break] = ACTIONS(3018),
    [anon_sym_next] = ACTIONS(3020),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(6846),
    [anon_sym_defined_QMARK] = ACTIONS(3024),
    [anon_sym_not] = ACTIONS(3026),
    [anon_sym_BANG] = ACTIONS(3030),
    [anon_sym_TILDE] = ACTIONS(3030),
    [sym_constant] = ACTIONS(3032),
    [sym_identifier] = ACTIONS(3032),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [8168] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(1948),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1949),
    [sym_call] = STATE(1949),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(9412),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1953),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1954),
    [sym__variable] = STATE(1949),
    [sym_reserved_identifier] = STATE(1955),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(1956),
    [sym_subshell] = STATE(1062),
    [sym_heredoc_end] = STATE(11061),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__block_ampersand] = ACTIONS(3006),
    [sym__splat_star] = ACTIONS(3008),
    [sym__unary_minus] = ACTIONS(3010),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(11040),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(3014),
    [anon_sym_yield] = ACTIONS(3016),
    [anon_sym_break] = ACTIONS(3018),
    [anon_sym_next] = ACTIONS(3020),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(6846),
    [anon_sym_defined_QMARK] = ACTIONS(3024),
    [anon_sym_not] = ACTIONS(3026),
    [anon_sym_BANG] = ACTIONS(3030),
    [anon_sym_TILDE] = ACTIONS(3030),
    [sym_constant] = ACTIONS(3032),
    [sym_identifier] = ACTIONS(3032),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [8169] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__element_reference_left_bracket] = ACTIONS(6346),
    [sym__scope_double_colon] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(6854),
    [sym__binary_star] = ACTIONS(6856),
    [anon_sym_LBRACE] = ACTIONS(6346),
    [anon_sym_DOT] = ACTIONS(7328),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(6858),
    [anon_sym_STAR_STAR] = ACTIONS(6860),
    [anon_sym_AMP] = ACTIONS(6862),
    [anon_sym_EQ] = ACTIONS(7328),
    [anon_sym_LT] = ACTIONS(6864),
    [anon_sym_do] = ACTIONS(6346),
    [anon_sym_EQ_GT] = ACTIONS(6346),
    [anon_sym_RBRACK] = ACTIONS(6346),
    [anon_sym_AMP_DOT] = ACTIONS(6346),
    [anon_sym_PLUS_EQ] = ACTIONS(6346),
    [anon_sym_DASH_EQ] = ACTIONS(6346),
    [anon_sym_STAR_EQ] = ACTIONS(6346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6346),
    [anon_sym_SLASH_EQ] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6346),
    [anon_sym_PIPE_EQ] = ACTIONS(6346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6346),
    [anon_sym_AMP_EQ] = ACTIONS(6346),
    [anon_sym_PERCENT_EQ] = ACTIONS(6346),
    [anon_sym_GT_GT_EQ] = ACTIONS(6346),
    [anon_sym_LT_LT_EQ] = ACTIONS(6346),
    [anon_sym_CARET_EQ] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(6866),
    [anon_sym_DOT_DOT] = ACTIONS(6868),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6870),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(6872),
    [anon_sym_AMP_AMP] = ACTIONS(6872),
    [anon_sym_LT_LT] = ACTIONS(6874),
    [anon_sym_GT_GT] = ACTIONS(6874),
    [anon_sym_EQ_EQ] = ACTIONS(6872),
    [anon_sym_BANG_EQ] = ACTIONS(6876),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6876),
    [anon_sym_LT_EQ_GT] = ACTIONS(6876),
    [anon_sym_EQ_TILDE] = ACTIONS(6876),
    [anon_sym_BANG_TILDE] = ACTIONS(6876),
    [anon_sym_LT_EQ] = ACTIONS(6864),
    [anon_sym_GT] = ACTIONS(6864),
    [anon_sym_GT_EQ] = ACTIONS(6878),
    [anon_sym_CARET] = ACTIONS(6858),
    [anon_sym_PLUS] = ACTIONS(6880),
    [anon_sym_SLASH] = ACTIONS(6860),
    [anon_sym_PERCENT] = ACTIONS(6860),
    [sym_comment] = ACTIONS(256),
  },
  [8170] = {
    [aux_sym_exceptions_repeat1] = STATE(11063),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__element_reference_left_bracket] = ACTIONS(7330),
    [sym__scope_double_colon] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_LBRACE] = ACTIONS(7330),
    [anon_sym_DOT] = ACTIONS(7332),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_STAR_STAR] = ACTIONS(7332),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_EQ] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_do] = ACTIONS(7330),
    [anon_sym_EQ_GT] = ACTIONS(7330),
    [anon_sym_RBRACK] = ACTIONS(7330),
    [anon_sym_AMP_DOT] = ACTIONS(7330),
    [anon_sym_PLUS_EQ] = ACTIONS(7330),
    [anon_sym_DASH_EQ] = ACTIONS(7330),
    [anon_sym_STAR_EQ] = ACTIONS(7330),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7330),
    [anon_sym_SLASH_EQ] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7330),
    [anon_sym_PIPE_EQ] = ACTIONS(7330),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7330),
    [anon_sym_AMP_EQ] = ACTIONS(7330),
    [anon_sym_PERCENT_EQ] = ACTIONS(7330),
    [anon_sym_GT_GT_EQ] = ACTIONS(7330),
    [anon_sym_LT_LT_EQ] = ACTIONS(7330),
    [anon_sym_CARET_EQ] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7332),
    [anon_sym_AMP_AMP] = ACTIONS(7332),
    [anon_sym_LT_LT] = ACTIONS(7332),
    [anon_sym_GT_GT] = ACTIONS(7332),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7332),
    [anon_sym_PLUS] = ACTIONS(7332),
    [anon_sym_SLASH] = ACTIONS(7332),
    [anon_sym_PERCENT] = ACTIONS(7332),
    [sym_comment] = ACTIONS(256),
  },
  [8171] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__element_reference_left_bracket] = ACTIONS(7344),
    [sym__scope_double_colon] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(6854),
    [sym__binary_star] = ACTIONS(6856),
    [anon_sym_LBRACE] = ACTIONS(7344),
    [anon_sym_DOT] = ACTIONS(9504),
    [anon_sym_COMMA] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(6858),
    [anon_sym_STAR_STAR] = ACTIONS(6860),
    [anon_sym_AMP] = ACTIONS(6862),
    [anon_sym_EQ] = ACTIONS(9504),
    [anon_sym_LT] = ACTIONS(6864),
    [anon_sym_do] = ACTIONS(7344),
    [anon_sym_EQ_GT] = ACTIONS(7344),
    [anon_sym_RBRACK] = ACTIONS(7344),
    [anon_sym_AMP_DOT] = ACTIONS(7344),
    [anon_sym_PLUS_EQ] = ACTIONS(7344),
    [anon_sym_DASH_EQ] = ACTIONS(7344),
    [anon_sym_STAR_EQ] = ACTIONS(7344),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7344),
    [anon_sym_SLASH_EQ] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7344),
    [anon_sym_PIPE_EQ] = ACTIONS(7344),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7344),
    [anon_sym_AMP_EQ] = ACTIONS(7344),
    [anon_sym_PERCENT_EQ] = ACTIONS(7344),
    [anon_sym_GT_GT_EQ] = ACTIONS(7344),
    [anon_sym_LT_LT_EQ] = ACTIONS(7344),
    [anon_sym_CARET_EQ] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(6866),
    [anon_sym_DOT_DOT] = ACTIONS(6868),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6870),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(6872),
    [anon_sym_AMP_AMP] = ACTIONS(6872),
    [anon_sym_LT_LT] = ACTIONS(6874),
    [anon_sym_GT_GT] = ACTIONS(6874),
    [anon_sym_EQ_EQ] = ACTIONS(6872),
    [anon_sym_BANG_EQ] = ACTIONS(6876),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6876),
    [anon_sym_LT_EQ_GT] = ACTIONS(6876),
    [anon_sym_EQ_TILDE] = ACTIONS(6876),
    [anon_sym_BANG_TILDE] = ACTIONS(6876),
    [anon_sym_LT_EQ] = ACTIONS(6864),
    [anon_sym_GT] = ACTIONS(6864),
    [anon_sym_GT_EQ] = ACTIONS(6878),
    [anon_sym_CARET] = ACTIONS(6858),
    [anon_sym_PLUS] = ACTIONS(6880),
    [anon_sym_SLASH] = ACTIONS(6860),
    [anon_sym_PERCENT] = ACTIONS(6860),
    [sym_comment] = ACTIONS(256),
  },
  [8172] = {
    [sym__simple_heredoc_body] = ACTIONS(8662),
    [sym__heredoc_body_beginning] = ACTIONS(8662),
    [sym__element_reference_left_bracket] = ACTIONS(8662),
    [sym__scope_double_colon] = ACTIONS(8662),
    [sym__binary_minus] = ACTIONS(6854),
    [sym__binary_star] = ACTIONS(6856),
    [anon_sym_LBRACE] = ACTIONS(8662),
    [anon_sym_DOT] = ACTIONS(9506),
    [anon_sym_COMMA] = ACTIONS(8662),
    [anon_sym_PIPE] = ACTIONS(6858),
    [anon_sym_STAR_STAR] = ACTIONS(6860),
    [anon_sym_AMP] = ACTIONS(6862),
    [anon_sym_EQ] = ACTIONS(9506),
    [anon_sym_LT] = ACTIONS(6864),
    [anon_sym_do] = ACTIONS(8662),
    [anon_sym_EQ_GT] = ACTIONS(8662),
    [anon_sym_RBRACK] = ACTIONS(8662),
    [anon_sym_AMP_DOT] = ACTIONS(8662),
    [anon_sym_PLUS_EQ] = ACTIONS(8662),
    [anon_sym_DASH_EQ] = ACTIONS(8662),
    [anon_sym_STAR_EQ] = ACTIONS(8662),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8662),
    [anon_sym_SLASH_EQ] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8662),
    [anon_sym_PIPE_EQ] = ACTIONS(8662),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8662),
    [anon_sym_AMP_EQ] = ACTIONS(8662),
    [anon_sym_PERCENT_EQ] = ACTIONS(8662),
    [anon_sym_GT_GT_EQ] = ACTIONS(8662),
    [anon_sym_LT_LT_EQ] = ACTIONS(8662),
    [anon_sym_CARET_EQ] = ACTIONS(8662),
    [anon_sym_QMARK] = ACTIONS(6866),
    [anon_sym_DOT_DOT] = ACTIONS(6868),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6870),
    [anon_sym_and] = ACTIONS(8662),
    [anon_sym_or] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE] = ACTIONS(6872),
    [anon_sym_AMP_AMP] = ACTIONS(6872),
    [anon_sym_LT_LT] = ACTIONS(6874),
    [anon_sym_GT_GT] = ACTIONS(6874),
    [anon_sym_EQ_EQ] = ACTIONS(6872),
    [anon_sym_BANG_EQ] = ACTIONS(6876),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6876),
    [anon_sym_LT_EQ_GT] = ACTIONS(6876),
    [anon_sym_EQ_TILDE] = ACTIONS(6876),
    [anon_sym_BANG_TILDE] = ACTIONS(6876),
    [anon_sym_LT_EQ] = ACTIONS(6864),
    [anon_sym_GT] = ACTIONS(6864),
    [anon_sym_GT_EQ] = ACTIONS(6878),
    [anon_sym_CARET] = ACTIONS(6858),
    [anon_sym_PLUS] = ACTIONS(6880),
    [anon_sym_SLASH] = ACTIONS(6860),
    [anon_sym_PERCENT] = ACTIONS(6860),
    [sym_comment] = ACTIONS(256),
  },
  [8173] = {
    [sym__heredoc_body_middle] = ACTIONS(4108),
    [sym__heredoc_body_end] = ACTIONS(13960),
    [anon_sym_if] = ACTIONS(4112),
    [anon_sym_unless] = ACTIONS(4114),
    [anon_sym_while] = ACTIONS(4116),
    [anon_sym_until] = ACTIONS(4118),
    [anon_sym_rescue] = ACTIONS(4120),
    [sym_comment] = ACTIONS(110),
  },
  [8174] = {
    [sym__statement] = STATE(11065),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [8175] = {
    [sym__simple_heredoc_body] = ACTIONS(13962),
    [sym__heredoc_body_beginning] = ACTIONS(13962),
    [anon_sym_RPAREN] = ACTIONS(13962),
    [anon_sym_RBRACK] = ACTIONS(13962),
    [sym_comment] = ACTIONS(110),
  },
  [8176] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(2966),
    [sym__binary_star] = ACTIONS(2968),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(2970),
    [anon_sym_STAR_STAR] = ACTIONS(2972),
    [anon_sym_AMP] = ACTIONS(2974),
    [anon_sym_LT] = ACTIONS(2976),
    [anon_sym_EQ_GT] = ACTIONS(5338),
    [anon_sym_RBRACK] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(2978),
    [anon_sym_DOT_DOT] = ACTIONS(2980),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2982),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(2986),
    [anon_sym_AMP_AMP] = ACTIONS(2986),
    [anon_sym_LT_LT] = ACTIONS(2988),
    [anon_sym_GT_GT] = ACTIONS(2988),
    [anon_sym_EQ_EQ] = ACTIONS(2990),
    [anon_sym_BANG_EQ] = ACTIONS(2986),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2986),
    [anon_sym_LT_EQ_GT] = ACTIONS(2986),
    [anon_sym_EQ_TILDE] = ACTIONS(2986),
    [anon_sym_BANG_TILDE] = ACTIONS(2986),
    [anon_sym_LT_EQ] = ACTIONS(2976),
    [anon_sym_GT] = ACTIONS(2976),
    [anon_sym_GT_EQ] = ACTIONS(2992),
    [anon_sym_CARET] = ACTIONS(2994),
    [anon_sym_PLUS] = ACTIONS(2996),
    [anon_sym_SLASH] = ACTIONS(2972),
    [anon_sym_PERCENT] = ACTIONS(2972),
    [sym_comment] = ACTIONS(110),
  },
  [8177] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(4789),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym_splat_argument] = STATE(4790),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym__arg_or_splat_arg] = STATE(11066),
    [sym_left_assignment_list] = STATE(509),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(510),
    [sym__variable] = STATE(504),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__splat_star] = ACTIONS(6900),
    [sym__unary_minus] = ACTIONS(808),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(2904),
    [anon_sym_yield] = ACTIONS(2906),
    [anon_sym_break] = ACTIONS(2908),
    [anon_sym_next] = ACTIONS(2910),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(852),
    [anon_sym_defined_QMARK] = ACTIONS(854),
    [anon_sym_not] = ACTIONS(2912),
    [anon_sym_BANG] = ACTIONS(858),
    [anon_sym_TILDE] = ACTIONS(858),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [8178] = {
    [sym__simple_heredoc_body] = ACTIONS(11422),
    [sym__heredoc_body_beginning] = ACTIONS(11422),
    [sym__binary_minus] = ACTIONS(11422),
    [sym__binary_star] = ACTIONS(11422),
    [anon_sym_COMMA] = ACTIONS(13964),
    [anon_sym_PIPE] = ACTIONS(11426),
    [anon_sym_STAR_STAR] = ACTIONS(11422),
    [anon_sym_AMP] = ACTIONS(11426),
    [anon_sym_LT] = ACTIONS(11426),
    [anon_sym_EQ_GT] = ACTIONS(11422),
    [anon_sym_RBRACK] = ACTIONS(11422),
    [anon_sym_QMARK] = ACTIONS(11422),
    [anon_sym_DOT_DOT] = ACTIONS(11426),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11422),
    [anon_sym_and] = ACTIONS(11422),
    [anon_sym_or] = ACTIONS(11422),
    [anon_sym_PIPE_PIPE] = ACTIONS(11422),
    [anon_sym_AMP_AMP] = ACTIONS(11422),
    [anon_sym_LT_LT] = ACTIONS(11422),
    [anon_sym_GT_GT] = ACTIONS(11422),
    [anon_sym_EQ_EQ] = ACTIONS(11426),
    [anon_sym_BANG_EQ] = ACTIONS(11422),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11422),
    [anon_sym_LT_EQ_GT] = ACTIONS(11422),
    [anon_sym_EQ_TILDE] = ACTIONS(11422),
    [anon_sym_BANG_TILDE] = ACTIONS(11422),
    [anon_sym_LT_EQ] = ACTIONS(11426),
    [anon_sym_GT] = ACTIONS(11426),
    [anon_sym_GT_EQ] = ACTIONS(11422),
    [anon_sym_CARET] = ACTIONS(11422),
    [anon_sym_PLUS] = ACTIONS(11422),
    [anon_sym_SLASH] = ACTIONS(11422),
    [anon_sym_PERCENT] = ACTIONS(11422),
    [sym_comment] = ACTIONS(110),
  },
  [8179] = {
    [sym__simple_string] = ACTIONS(13966),
    [sym__simple_symbol] = ACTIONS(13966),
    [sym__simple_subshell] = ACTIONS(13966),
    [sym__simple_regex] = ACTIONS(13966),
    [sym__simple_word_list] = ACTIONS(13966),
    [sym__string_beginning] = ACTIONS(13966),
    [sym__symbol_beginning] = ACTIONS(13966),
    [sym__subshell_beginning] = ACTIONS(13966),
    [sym__regex_beginning] = ACTIONS(13966),
    [sym__word_list_beginning] = ACTIONS(13966),
    [sym_heredoc_beginning] = ACTIONS(13966),
    [sym__unary_minus] = ACTIONS(13966),
    [anon_sym_BEGIN] = ACTIONS(13968),
    [anon_sym_LBRACE] = ACTIONS(13966),
    [anon_sym_RBRACE] = ACTIONS(13966),
    [anon_sym_END] = ACTIONS(13968),
    [anon_sym_def] = ACTIONS(13968),
    [anon_sym_LPAREN] = ACTIONS(13966),
    [anon_sym_COLON_COLON] = ACTIONS(13966),
    [anon_sym_SEMI] = ACTIONS(13966),
    [anon_sym_STAR] = ACTIONS(13966),
    [anon_sym_class] = ACTIONS(13968),
    [anon_sym_module] = ACTIONS(13968),
    [anon_sym_return] = ACTIONS(13968),
    [anon_sym_yield] = ACTIONS(13968),
    [anon_sym_break] = ACTIONS(13968),
    [anon_sym_next] = ACTIONS(13968),
    [anon_sym_redo] = ACTIONS(13968),
    [anon_sym_retry] = ACTIONS(13968),
    [anon_sym_if] = ACTIONS(13968),
    [anon_sym_unless] = ACTIONS(13968),
    [anon_sym_while] = ACTIONS(13968),
    [anon_sym_until] = ACTIONS(13968),
    [anon_sym_for] = ACTIONS(13968),
    [anon_sym_case] = ACTIONS(13968),
    [anon_sym_begin] = ACTIONS(13968),
    [anon_sym_PLUS] = ACTIONS(13968),
    [anon_sym_defined_QMARK] = ACTIONS(13966),
    [anon_sym_not] = ACTIONS(13968),
    [anon_sym_BANG] = ACTIONS(13966),
    [anon_sym_TILDE] = ACTIONS(13966),
    [sym_constant] = ACTIONS(13970),
    [sym_identifier] = ACTIONS(13970),
    [sym_instance_variable] = ACTIONS(13968),
    [sym_class_variable] = ACTIONS(13968),
    [sym_global_variable] = ACTIONS(13968),
    [anon_sym_alias] = ACTIONS(13968),
    [anon_sym_false] = ACTIONS(13968),
    [anon_sym_nil] = ACTIONS(13968),
    [anon_sym_self] = ACTIONS(13968),
    [anon_sym_super] = ACTIONS(13968),
    [anon_sym_true] = ACTIONS(13968),
    [anon_sym_undef] = ACTIONS(13968),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(13968),
    [sym_float] = ACTIONS(13970),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(13966),
    [anon_sym_TRUE] = ACTIONS(13968),
    [anon_sym_FALSE] = ACTIONS(13968),
    [anon_sym_NIL] = ACTIONS(13968),
    [sym_keyword__FILE__] = ACTIONS(13968),
    [sym_keyword__LINE__] = ACTIONS(13968),
    [sym_keyword__ENCODING__] = ACTIONS(13968),
    [sym__character_literal] = ACTIONS(13968),
    [anon_sym_LBRACK] = ACTIONS(13966),
    [anon_sym_DASH_GT] = ACTIONS(13966),
  },
  [8180] = {
    [sym_identifier] = ACTIONS(13972),
    [sym_comment] = ACTIONS(110),
  },
  [8181] = {
    [aux_sym_block_parameters_repeat1] = STATE(11071),
    [anon_sym_COMMA] = ACTIONS(13974),
    [anon_sym_PIPE] = ACTIONS(13976),
    [sym_comment] = ACTIONS(110),
  },
  [8182] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(11080),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(11081),
    [sym_call] = STATE(11081),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(11082),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(11083),
    [sym__variable] = STATE(11081),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(13978),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_COMMA] = ACTIONS(6960),
    [anon_sym_PIPE] = ACTIONS(6960),
    [anon_sym_SEMI] = ACTIONS(6960),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(13980),
    [anon_sym_yield] = ACTIONS(13982),
    [anon_sym_break] = ACTIONS(13984),
    [anon_sym_next] = ACTIONS(13986),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(13988),
    [anon_sym_defined_QMARK] = ACTIONS(13990),
    [anon_sym_not] = ACTIONS(13992),
    [anon_sym_BANG] = ACTIONS(13994),
    [anon_sym_TILDE] = ACTIONS(13994),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [8183] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(11084),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(11081),
    [sym_call] = STATE(11081),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(11082),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(11083),
    [sym__variable] = STATE(11081),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(13978),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(13980),
    [anon_sym_yield] = ACTIONS(13982),
    [anon_sym_break] = ACTIONS(13984),
    [anon_sym_next] = ACTIONS(13986),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(13988),
    [anon_sym_defined_QMARK] = ACTIONS(13990),
    [anon_sym_not] = ACTIONS(13992),
    [anon_sym_BANG] = ACTIONS(13994),
    [anon_sym_TILDE] = ACTIONS(13994),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [8184] = {
    [sym__formal_parameter] = STATE(8191),
    [sym__simple_formal_parameter] = STATE(1974),
    [sym_destructured_parameter] = STATE(1974),
    [sym_splat_parameter] = STATE(523),
    [sym_hash_splat_parameter] = STATE(523),
    [sym_block_parameter] = STATE(523),
    [sym_keyword_parameter] = STATE(523),
    [sym_optional_parameter] = STATE(523),
    [anon_sym_LPAREN] = ACTIONS(3050),
    [anon_sym_PIPE] = ACTIONS(13976),
    [anon_sym_SEMI] = ACTIONS(13996),
    [anon_sym_STAR] = ACTIONS(3054),
    [anon_sym_STAR_STAR] = ACTIONS(3056),
    [anon_sym_AMP] = ACTIONS(902),
    [sym_identifier] = ACTIONS(6912),
    [sym_comment] = ACTIONS(110),
  },
  [8185] = {
    [anon_sym_COMMA] = ACTIONS(13998),
    [anon_sym_PIPE] = ACTIONS(13976),
    [anon_sym_SEMI] = ACTIONS(13996),
    [sym_comment] = ACTIONS(110),
  },
  [8186] = {
    [sym__simple_heredoc_body] = ACTIONS(14000),
    [sym__heredoc_body_beginning] = ACTIONS(14000),
    [sym__line_break] = ACTIONS(14000),
    [sym__element_reference_left_bracket] = ACTIONS(14000),
    [sym__scope_double_colon] = ACTIONS(14000),
    [sym__binary_minus] = ACTIONS(14000),
    [sym__binary_star] = ACTIONS(14000),
    [ts_builtin_sym_end] = ACTIONS(14000),
    [anon_sym___END__] = ACTIONS(14000),
    [anon_sym_LBRACE] = ACTIONS(14000),
    [anon_sym_RBRACE] = ACTIONS(14000),
    [anon_sym_RPAREN] = ACTIONS(14000),
    [anon_sym_DOT] = ACTIONS(14002),
    [anon_sym_end] = ACTIONS(14000),
    [anon_sym_COMMA] = ACTIONS(14000),
    [anon_sym_PIPE] = ACTIONS(14002),
    [anon_sym_SEMI] = ACTIONS(14000),
    [anon_sym_STAR_STAR] = ACTIONS(14000),
    [anon_sym_AMP] = ACTIONS(14002),
    [anon_sym_LT] = ACTIONS(14002),
    [anon_sym_if] = ACTIONS(14000),
    [anon_sym_unless] = ACTIONS(14000),
    [anon_sym_while] = ACTIONS(14000),
    [anon_sym_until] = ACTIONS(14000),
    [anon_sym_rescue] = ACTIONS(14000),
    [anon_sym_do] = ACTIONS(14000),
    [anon_sym_when] = ACTIONS(14000),
    [anon_sym_elsif] = ACTIONS(14000),
    [anon_sym_else] = ACTIONS(14000),
    [anon_sym_then] = ACTIONS(14000),
    [anon_sym_ensure] = ACTIONS(14000),
    [anon_sym_EQ_GT] = ACTIONS(14000),
    [anon_sym_AMP_DOT] = ACTIONS(14000),
    [anon_sym_QMARK] = ACTIONS(14000),
    [anon_sym_DOT_DOT] = ACTIONS(14002),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(14000),
    [anon_sym_and] = ACTIONS(14000),
    [anon_sym_or] = ACTIONS(14000),
    [anon_sym_PIPE_PIPE] = ACTIONS(14000),
    [anon_sym_AMP_AMP] = ACTIONS(14000),
    [anon_sym_LT_LT] = ACTIONS(14000),
    [anon_sym_GT_GT] = ACTIONS(14000),
    [anon_sym_EQ_EQ] = ACTIONS(14002),
    [anon_sym_BANG_EQ] = ACTIONS(14000),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(14000),
    [anon_sym_LT_EQ_GT] = ACTIONS(14000),
    [anon_sym_EQ_TILDE] = ACTIONS(14000),
    [anon_sym_BANG_TILDE] = ACTIONS(14000),
    [anon_sym_LT_EQ] = ACTIONS(14002),
    [anon_sym_GT] = ACTIONS(14002),
    [anon_sym_GT_EQ] = ACTIONS(14000),
    [anon_sym_CARET] = ACTIONS(14000),
    [anon_sym_PLUS] = ACTIONS(14000),
    [anon_sym_SLASH] = ACTIONS(14000),
    [anon_sym_PERCENT] = ACTIONS(14000),
    [sym_comment] = ACTIONS(110),
  },
  [8187] = {
    [anon_sym_RPAREN] = ACTIONS(14004),
    [anon_sym_COMMA] = ACTIONS(14004),
    [anon_sym_PIPE] = ACTIONS(14004),
    [anon_sym_SEMI] = ACTIONS(14004),
    [sym_comment] = ACTIONS(110),
  },
  [8188] = {
    [anon_sym_RPAREN] = ACTIONS(14006),
    [anon_sym_COMMA] = ACTIONS(11076),
    [sym_comment] = ACTIONS(110),
  },
  [8189] = {
    [sym__binary_minus] = ACTIONS(12388),
    [sym__binary_star] = ACTIONS(12390),
    [anon_sym_RPAREN] = ACTIONS(11106),
    [anon_sym_COMMA] = ACTIONS(11106),
    [anon_sym_PIPE] = ACTIONS(12392),
    [anon_sym_STAR_STAR] = ACTIONS(12394),
    [anon_sym_AMP] = ACTIONS(12396),
    [anon_sym_LT] = ACTIONS(12398),
    [anon_sym_QMARK] = ACTIONS(12400),
    [anon_sym_DOT_DOT] = ACTIONS(12402),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12404),
    [anon_sym_and] = ACTIONS(14008),
    [anon_sym_or] = ACTIONS(14008),
    [anon_sym_PIPE_PIPE] = ACTIONS(12406),
    [anon_sym_AMP_AMP] = ACTIONS(12406),
    [anon_sym_LT_LT] = ACTIONS(12408),
    [anon_sym_GT_GT] = ACTIONS(12408),
    [anon_sym_EQ_EQ] = ACTIONS(12410),
    [anon_sym_BANG_EQ] = ACTIONS(12406),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12406),
    [anon_sym_LT_EQ_GT] = ACTIONS(12406),
    [anon_sym_EQ_TILDE] = ACTIONS(12406),
    [anon_sym_BANG_TILDE] = ACTIONS(12406),
    [anon_sym_LT_EQ] = ACTIONS(12398),
    [anon_sym_GT] = ACTIONS(12398),
    [anon_sym_GT_EQ] = ACTIONS(12412),
    [anon_sym_CARET] = ACTIONS(12414),
    [anon_sym_PLUS] = ACTIONS(12416),
    [anon_sym_SLASH] = ACTIONS(12394),
    [anon_sym_PERCENT] = ACTIONS(12394),
    [sym_comment] = ACTIONS(110),
  },
  [8190] = {
    [sym__binary_minus] = ACTIONS(12388),
    [sym__binary_star] = ACTIONS(12390),
    [anon_sym_RPAREN] = ACTIONS(11142),
    [anon_sym_COMMA] = ACTIONS(11142),
    [anon_sym_PIPE] = ACTIONS(12392),
    [anon_sym_STAR_STAR] = ACTIONS(12394),
    [anon_sym_AMP] = ACTIONS(12396),
    [anon_sym_LT] = ACTIONS(12398),
    [anon_sym_QMARK] = ACTIONS(12400),
    [anon_sym_DOT_DOT] = ACTIONS(12402),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12404),
    [anon_sym_and] = ACTIONS(14008),
    [anon_sym_or] = ACTIONS(14008),
    [anon_sym_PIPE_PIPE] = ACTIONS(12406),
    [anon_sym_AMP_AMP] = ACTIONS(12406),
    [anon_sym_LT_LT] = ACTIONS(12408),
    [anon_sym_GT_GT] = ACTIONS(12408),
    [anon_sym_EQ_EQ] = ACTIONS(12410),
    [anon_sym_BANG_EQ] = ACTIONS(12406),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12406),
    [anon_sym_LT_EQ_GT] = ACTIONS(12406),
    [anon_sym_EQ_TILDE] = ACTIONS(12406),
    [anon_sym_BANG_TILDE] = ACTIONS(12406),
    [anon_sym_LT_EQ] = ACTIONS(12398),
    [anon_sym_GT] = ACTIONS(12398),
    [anon_sym_GT_EQ] = ACTIONS(12412),
    [anon_sym_CARET] = ACTIONS(12414),
    [anon_sym_PLUS] = ACTIONS(12416),
    [anon_sym_SLASH] = ACTIONS(12394),
    [anon_sym_PERCENT] = ACTIONS(12394),
    [sym_comment] = ACTIONS(110),
  },
  [8191] = {
    [anon_sym_RPAREN] = ACTIONS(14010),
    [anon_sym_COMMA] = ACTIONS(14010),
    [anon_sym_PIPE] = ACTIONS(14010),
    [anon_sym_SEMI] = ACTIONS(14010),
    [sym_comment] = ACTIONS(110),
  },
  [8192] = {
    [anon_sym_LBRACE] = ACTIONS(14012),
    [anon_sym_do] = ACTIONS(14012),
    [sym_comment] = ACTIONS(110),
  },
  [8193] = {
    [sym__formal_parameter] = STATE(11088),
    [sym__simple_formal_parameter] = STATE(1974),
    [sym_destructured_parameter] = STATE(1974),
    [sym_splat_parameter] = STATE(523),
    [sym_hash_splat_parameter] = STATE(523),
    [sym_block_parameter] = STATE(523),
    [sym_keyword_parameter] = STATE(523),
    [sym_optional_parameter] = STATE(523),
    [anon_sym_LPAREN] = ACTIONS(3050),
    [anon_sym_STAR] = ACTIONS(3054),
    [anon_sym_STAR_STAR] = ACTIONS(3056),
    [anon_sym_AMP] = ACTIONS(902),
    [sym_identifier] = ACTIONS(3058),
    [sym_comment] = ACTIONS(110),
  },
  [8194] = {
    [anon_sym_LBRACE] = ACTIONS(6902),
    [anon_sym_RPAREN] = ACTIONS(6902),
    [anon_sym_COMMA] = ACTIONS(6902),
    [anon_sym_PIPE] = ACTIONS(6902),
    [anon_sym_SEMI] = ACTIONS(6902),
    [anon_sym_do] = ACTIONS(6902),
    [sym_comment] = ACTIONS(110),
  },
  [8195] = {
    [anon_sym_RBRACE] = ACTIONS(14014),
    [sym_comment] = ACTIONS(110),
  },
  [8196] = {
    [sym__statements] = STATE(11090),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(841),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(14014),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8197] = {
    [anon_sym_LBRACE] = ACTIONS(6942),
    [anon_sym_RPAREN] = ACTIONS(6942),
    [anon_sym_COMMA] = ACTIONS(6942),
    [anon_sym_PIPE] = ACTIONS(6942),
    [anon_sym_SEMI] = ACTIONS(6942),
    [anon_sym_do] = ACTIONS(6942),
    [sym_comment] = ACTIONS(110),
  },
  [8198] = {
    [anon_sym_end] = ACTIONS(14016),
    [sym_comment] = ACTIONS(110),
  },
  [8199] = {
    [sym__statements] = STATE(11092),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(11093),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14018),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8200] = {
    [sym__statements] = STATE(11092),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(11094),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(11093),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14018),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8201] = {
    [anon_sym_LBRACE] = ACTIONS(6980),
    [anon_sym_RPAREN] = ACTIONS(6980),
    [anon_sym_COMMA] = ACTIONS(6980),
    [anon_sym_PIPE] = ACTIONS(6980),
    [anon_sym_SEMI] = ACTIONS(6980),
    [anon_sym_do] = ACTIONS(6980),
    [sym_comment] = ACTIONS(110),
  },
  [8202] = {
    [sym__simple_string] = ACTIONS(8070),
    [sym__simple_symbol] = ACTIONS(8070),
    [sym__simple_subshell] = ACTIONS(8070),
    [sym__simple_regex] = ACTIONS(8070),
    [sym__simple_word_list] = ACTIONS(8070),
    [sym__simple_heredoc_body] = ACTIONS(8070),
    [sym__string_beginning] = ACTIONS(8070),
    [sym__symbol_beginning] = ACTIONS(8070),
    [sym__subshell_beginning] = ACTIONS(8070),
    [sym__regex_beginning] = ACTIONS(8070),
    [sym__word_list_beginning] = ACTIONS(8070),
    [sym__heredoc_body_beginning] = ACTIONS(8070),
    [sym_heredoc_beginning] = ACTIONS(8070),
    [sym__line_break] = ACTIONS(8070),
    [sym__unary_minus] = ACTIONS(8070),
    [anon_sym_BEGIN] = ACTIONS(10414),
    [anon_sym_LBRACE] = ACTIONS(8070),
    [anon_sym_END] = ACTIONS(10414),
    [anon_sym_def] = ACTIONS(10414),
    [anon_sym_LPAREN] = ACTIONS(8070),
    [anon_sym_COLON_COLON] = ACTIONS(8070),
    [anon_sym_end] = ACTIONS(10414),
    [anon_sym_PIPE] = ACTIONS(8070),
    [anon_sym_SEMI] = ACTIONS(8070),
    [anon_sym_STAR] = ACTIONS(8070),
    [anon_sym_class] = ACTIONS(10414),
    [anon_sym_module] = ACTIONS(10414),
    [anon_sym_return] = ACTIONS(10414),
    [anon_sym_yield] = ACTIONS(10414),
    [anon_sym_break] = ACTIONS(10414),
    [anon_sym_next] = ACTIONS(10414),
    [anon_sym_redo] = ACTIONS(10414),
    [anon_sym_retry] = ACTIONS(10414),
    [anon_sym_if] = ACTIONS(10414),
    [anon_sym_unless] = ACTIONS(10414),
    [anon_sym_while] = ACTIONS(10414),
    [anon_sym_until] = ACTIONS(10414),
    [anon_sym_for] = ACTIONS(10414),
    [anon_sym_case] = ACTIONS(10414),
    [anon_sym_begin] = ACTIONS(10414),
    [anon_sym_PLUS] = ACTIONS(10414),
    [anon_sym_defined_QMARK] = ACTIONS(8070),
    [anon_sym_not] = ACTIONS(10414),
    [anon_sym_BANG] = ACTIONS(8070),
    [anon_sym_TILDE] = ACTIONS(8070),
    [sym_constant] = ACTIONS(10416),
    [sym_identifier] = ACTIONS(10416),
    [sym_instance_variable] = ACTIONS(10414),
    [sym_class_variable] = ACTIONS(10414),
    [sym_global_variable] = ACTIONS(10414),
    [anon_sym_alias] = ACTIONS(10414),
    [anon_sym_false] = ACTIONS(10414),
    [anon_sym_nil] = ACTIONS(10414),
    [anon_sym_self] = ACTIONS(10414),
    [anon_sym_super] = ACTIONS(10414),
    [anon_sym_true] = ACTIONS(10414),
    [anon_sym_undef] = ACTIONS(10414),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(10414),
    [sym_float] = ACTIONS(10416),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8070),
    [anon_sym_TRUE] = ACTIONS(10414),
    [anon_sym_FALSE] = ACTIONS(10414),
    [anon_sym_NIL] = ACTIONS(10414),
    [sym_keyword__FILE__] = ACTIONS(10414),
    [sym_keyword__LINE__] = ACTIONS(10414),
    [sym_keyword__ENCODING__] = ACTIONS(10414),
    [sym__character_literal] = ACTIONS(10414),
    [anon_sym_LBRACK] = ACTIONS(8070),
    [anon_sym_DASH_GT] = ACTIONS(8070),
  },
  [8203] = {
    [sym__heredoc_body_middle] = ACTIONS(8296),
    [sym__heredoc_body_end] = ACTIONS(14020),
    [anon_sym_if] = ACTIONS(4112),
    [anon_sym_unless] = ACTIONS(4114),
    [anon_sym_while] = ACTIONS(4116),
    [anon_sym_until] = ACTIONS(4118),
    [anon_sym_rescue] = ACTIONS(4120),
    [sym_comment] = ACTIONS(110),
  },
  [8204] = {
    [sym__simple_string] = ACTIONS(13966),
    [sym__simple_symbol] = ACTIONS(13966),
    [sym__simple_subshell] = ACTIONS(13966),
    [sym__simple_regex] = ACTIONS(13966),
    [sym__simple_word_list] = ACTIONS(13966),
    [sym__simple_heredoc_body] = ACTIONS(13966),
    [sym__string_beginning] = ACTIONS(13966),
    [sym__symbol_beginning] = ACTIONS(13966),
    [sym__subshell_beginning] = ACTIONS(13966),
    [sym__regex_beginning] = ACTIONS(13966),
    [sym__word_list_beginning] = ACTIONS(13966),
    [sym__heredoc_body_beginning] = ACTIONS(13966),
    [sym_heredoc_beginning] = ACTIONS(13966),
    [sym__line_break] = ACTIONS(13966),
    [sym__unary_minus] = ACTIONS(13966),
    [anon_sym_BEGIN] = ACTIONS(13968),
    [anon_sym_LBRACE] = ACTIONS(13966),
    [anon_sym_END] = ACTIONS(13968),
    [anon_sym_def] = ACTIONS(13968),
    [anon_sym_LPAREN] = ACTIONS(13966),
    [anon_sym_COLON_COLON] = ACTIONS(13966),
    [anon_sym_end] = ACTIONS(13968),
    [anon_sym_SEMI] = ACTIONS(13966),
    [anon_sym_STAR] = ACTIONS(13966),
    [anon_sym_class] = ACTIONS(13968),
    [anon_sym_module] = ACTIONS(13968),
    [anon_sym_return] = ACTIONS(13968),
    [anon_sym_yield] = ACTIONS(13968),
    [anon_sym_break] = ACTIONS(13968),
    [anon_sym_next] = ACTIONS(13968),
    [anon_sym_redo] = ACTIONS(13968),
    [anon_sym_retry] = ACTIONS(13968),
    [anon_sym_if] = ACTIONS(13968),
    [anon_sym_unless] = ACTIONS(13968),
    [anon_sym_while] = ACTIONS(13968),
    [anon_sym_until] = ACTIONS(13968),
    [anon_sym_for] = ACTIONS(13968),
    [anon_sym_case] = ACTIONS(13968),
    [anon_sym_begin] = ACTIONS(13968),
    [anon_sym_PLUS] = ACTIONS(13968),
    [anon_sym_defined_QMARK] = ACTIONS(13966),
    [anon_sym_not] = ACTIONS(13968),
    [anon_sym_BANG] = ACTIONS(13966),
    [anon_sym_TILDE] = ACTIONS(13966),
    [sym_constant] = ACTIONS(13970),
    [sym_identifier] = ACTIONS(13970),
    [sym_instance_variable] = ACTIONS(13968),
    [sym_class_variable] = ACTIONS(13968),
    [sym_global_variable] = ACTIONS(13968),
    [anon_sym_alias] = ACTIONS(13968),
    [anon_sym_false] = ACTIONS(13968),
    [anon_sym_nil] = ACTIONS(13968),
    [anon_sym_self] = ACTIONS(13968),
    [anon_sym_super] = ACTIONS(13968),
    [anon_sym_true] = ACTIONS(13968),
    [anon_sym_undef] = ACTIONS(13968),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(13968),
    [sym_float] = ACTIONS(13970),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(13966),
    [anon_sym_TRUE] = ACTIONS(13968),
    [anon_sym_FALSE] = ACTIONS(13968),
    [anon_sym_NIL] = ACTIONS(13968),
    [sym_keyword__FILE__] = ACTIONS(13968),
    [sym_keyword__LINE__] = ACTIONS(13968),
    [sym_keyword__ENCODING__] = ACTIONS(13968),
    [sym__character_literal] = ACTIONS(13968),
    [anon_sym_LBRACK] = ACTIONS(13966),
    [anon_sym_DASH_GT] = ACTIONS(13966),
  },
  [8205] = {
    [sym_identifier] = ACTIONS(14022),
    [sym_comment] = ACTIONS(110),
  },
  [8206] = {
    [aux_sym_block_parameters_repeat1] = STATE(11098),
    [anon_sym_COMMA] = ACTIONS(13974),
    [anon_sym_PIPE] = ACTIONS(14024),
    [sym_comment] = ACTIONS(110),
  },
  [8207] = {
    [sym__formal_parameter] = STATE(8191),
    [sym__simple_formal_parameter] = STATE(1974),
    [sym_destructured_parameter] = STATE(1974),
    [sym_splat_parameter] = STATE(523),
    [sym_hash_splat_parameter] = STATE(523),
    [sym_block_parameter] = STATE(523),
    [sym_keyword_parameter] = STATE(523),
    [sym_optional_parameter] = STATE(523),
    [anon_sym_LPAREN] = ACTIONS(3050),
    [anon_sym_PIPE] = ACTIONS(14024),
    [anon_sym_SEMI] = ACTIONS(14026),
    [anon_sym_STAR] = ACTIONS(3054),
    [anon_sym_STAR_STAR] = ACTIONS(3056),
    [anon_sym_AMP] = ACTIONS(902),
    [sym_identifier] = ACTIONS(6912),
    [sym_comment] = ACTIONS(110),
  },
  [8208] = {
    [anon_sym_COMMA] = ACTIONS(14028),
    [anon_sym_PIPE] = ACTIONS(14024),
    [anon_sym_SEMI] = ACTIONS(14026),
    [sym_comment] = ACTIONS(110),
  },
  [8209] = {
    [sym__simple_heredoc_body] = ACTIONS(14030),
    [sym__heredoc_body_beginning] = ACTIONS(14030),
    [sym__line_break] = ACTIONS(14030),
    [sym__element_reference_left_bracket] = ACTIONS(14030),
    [sym__scope_double_colon] = ACTIONS(14030),
    [sym__binary_minus] = ACTIONS(14030),
    [sym__binary_star] = ACTIONS(14030),
    [ts_builtin_sym_end] = ACTIONS(14030),
    [anon_sym___END__] = ACTIONS(14030),
    [anon_sym_LBRACE] = ACTIONS(14030),
    [anon_sym_RBRACE] = ACTIONS(14030),
    [anon_sym_RPAREN] = ACTIONS(14030),
    [anon_sym_DOT] = ACTIONS(14032),
    [anon_sym_end] = ACTIONS(14030),
    [anon_sym_COMMA] = ACTIONS(14030),
    [anon_sym_PIPE] = ACTIONS(14032),
    [anon_sym_SEMI] = ACTIONS(14030),
    [anon_sym_STAR_STAR] = ACTIONS(14030),
    [anon_sym_AMP] = ACTIONS(14032),
    [anon_sym_LT] = ACTIONS(14032),
    [anon_sym_if] = ACTIONS(14030),
    [anon_sym_unless] = ACTIONS(14030),
    [anon_sym_while] = ACTIONS(14030),
    [anon_sym_until] = ACTIONS(14030),
    [anon_sym_rescue] = ACTIONS(14030),
    [anon_sym_do] = ACTIONS(14030),
    [anon_sym_when] = ACTIONS(14030),
    [anon_sym_elsif] = ACTIONS(14030),
    [anon_sym_else] = ACTIONS(14030),
    [anon_sym_then] = ACTIONS(14030),
    [anon_sym_ensure] = ACTIONS(14030),
    [anon_sym_EQ_GT] = ACTIONS(14030),
    [anon_sym_AMP_DOT] = ACTIONS(14030),
    [anon_sym_QMARK] = ACTIONS(14030),
    [anon_sym_DOT_DOT] = ACTIONS(14032),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(14030),
    [anon_sym_and] = ACTIONS(14030),
    [anon_sym_or] = ACTIONS(14030),
    [anon_sym_PIPE_PIPE] = ACTIONS(14030),
    [anon_sym_AMP_AMP] = ACTIONS(14030),
    [anon_sym_LT_LT] = ACTIONS(14030),
    [anon_sym_GT_GT] = ACTIONS(14030),
    [anon_sym_EQ_EQ] = ACTIONS(14032),
    [anon_sym_BANG_EQ] = ACTIONS(14030),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(14030),
    [anon_sym_LT_EQ_GT] = ACTIONS(14030),
    [anon_sym_EQ_TILDE] = ACTIONS(14030),
    [anon_sym_BANG_TILDE] = ACTIONS(14030),
    [anon_sym_LT_EQ] = ACTIONS(14032),
    [anon_sym_GT] = ACTIONS(14032),
    [anon_sym_GT_EQ] = ACTIONS(14030),
    [anon_sym_CARET] = ACTIONS(14030),
    [anon_sym_PLUS] = ACTIONS(14030),
    [anon_sym_SLASH] = ACTIONS(14030),
    [anon_sym_PERCENT] = ACTIONS(14030),
    [sym_comment] = ACTIONS(110),
  },
  [8210] = {
    [anon_sym_end] = ACTIONS(14034),
    [sym_comment] = ACTIONS(110),
  },
  [8211] = {
    [sym__statements] = STATE(11102),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14036),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8212] = {
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_LBRACE] = ACTIONS(1372),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_STAR_STAR] = ACTIONS(11110),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_do] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [8213] = {
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(11110),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [8214] = {
    [sym__binary_minus] = ACTIONS(11102),
    [sym__binary_star] = ACTIONS(11104),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(11108),
    [anon_sym_STAR_STAR] = ACTIONS(11110),
    [anon_sym_AMP] = ACTIONS(11112),
    [anon_sym_LT] = ACTIONS(11114),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(11116),
    [anon_sym_DOT_DOT] = ACTIONS(11118),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11120),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(11124),
    [anon_sym_AMP_AMP] = ACTIONS(11124),
    [anon_sym_LT_LT] = ACTIONS(11126),
    [anon_sym_GT_GT] = ACTIONS(11126),
    [anon_sym_EQ_EQ] = ACTIONS(11128),
    [anon_sym_BANG_EQ] = ACTIONS(11124),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11124),
    [anon_sym_LT_EQ_GT] = ACTIONS(11124),
    [anon_sym_EQ_TILDE] = ACTIONS(11124),
    [anon_sym_BANG_TILDE] = ACTIONS(11124),
    [anon_sym_LT_EQ] = ACTIONS(11114),
    [anon_sym_GT] = ACTIONS(11114),
    [anon_sym_GT_EQ] = ACTIONS(11130),
    [anon_sym_CARET] = ACTIONS(11132),
    [anon_sym_PLUS] = ACTIONS(11134),
    [anon_sym_SLASH] = ACTIONS(11110),
    [anon_sym_PERCENT] = ACTIONS(11110),
    [sym_comment] = ACTIONS(110),
  },
  [8215] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(11103),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(4833),
    [sym_call] = STATE(4833),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(4834),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4835),
    [sym__variable] = STATE(4833),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(6958),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(6962),
    [anon_sym_yield] = ACTIONS(6964),
    [anon_sym_break] = ACTIONS(6966),
    [anon_sym_next] = ACTIONS(6968),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(6972),
    [anon_sym_defined_QMARK] = ACTIONS(6974),
    [anon_sym_not] = ACTIONS(6976),
    [anon_sym_BANG] = ACTIONS(6978),
    [anon_sym_TILDE] = ACTIONS(6978),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [8216] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(11104),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(4833),
    [sym_call] = STATE(4833),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(4834),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4835),
    [sym__variable] = STATE(4833),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(6958),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(6962),
    [anon_sym_yield] = ACTIONS(6964),
    [anon_sym_break] = ACTIONS(6966),
    [anon_sym_next] = ACTIONS(6968),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(6972),
    [anon_sym_defined_QMARK] = ACTIONS(6974),
    [anon_sym_not] = ACTIONS(6976),
    [anon_sym_BANG] = ACTIONS(6978),
    [anon_sym_TILDE] = ACTIONS(6978),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [8217] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(11105),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(4833),
    [sym_call] = STATE(4833),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(4834),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4835),
    [sym__variable] = STATE(4833),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(6958),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(6962),
    [anon_sym_yield] = ACTIONS(6964),
    [anon_sym_break] = ACTIONS(6966),
    [anon_sym_next] = ACTIONS(6968),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(6972),
    [anon_sym_defined_QMARK] = ACTIONS(6974),
    [anon_sym_not] = ACTIONS(6976),
    [anon_sym_BANG] = ACTIONS(6978),
    [anon_sym_TILDE] = ACTIONS(6978),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [8218] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(11106),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(4833),
    [sym_call] = STATE(4833),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(4834),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4835),
    [sym__variable] = STATE(4833),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(6958),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(6962),
    [anon_sym_yield] = ACTIONS(6964),
    [anon_sym_break] = ACTIONS(6966),
    [anon_sym_next] = ACTIONS(6968),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(6972),
    [anon_sym_defined_QMARK] = ACTIONS(6974),
    [anon_sym_not] = ACTIONS(6976),
    [anon_sym_BANG] = ACTIONS(6978),
    [anon_sym_TILDE] = ACTIONS(6978),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [8219] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(11107),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(4833),
    [sym_call] = STATE(4833),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(4834),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4835),
    [sym__variable] = STATE(4833),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(6958),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(6962),
    [anon_sym_yield] = ACTIONS(6964),
    [anon_sym_break] = ACTIONS(6966),
    [anon_sym_next] = ACTIONS(6968),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(6972),
    [anon_sym_defined_QMARK] = ACTIONS(6974),
    [anon_sym_not] = ACTIONS(6976),
    [anon_sym_BANG] = ACTIONS(6978),
    [anon_sym_TILDE] = ACTIONS(6978),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [8220] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(11108),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(4833),
    [sym_call] = STATE(4833),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(4834),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4835),
    [sym__variable] = STATE(4833),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(6958),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(6962),
    [anon_sym_yield] = ACTIONS(6964),
    [anon_sym_break] = ACTIONS(6966),
    [anon_sym_next] = ACTIONS(6968),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(6972),
    [anon_sym_defined_QMARK] = ACTIONS(6974),
    [anon_sym_not] = ACTIONS(6976),
    [anon_sym_BANG] = ACTIONS(6978),
    [anon_sym_TILDE] = ACTIONS(6978),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [8221] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(11109),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [8222] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(11110),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(4833),
    [sym_call] = STATE(4833),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(4834),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4835),
    [sym__variable] = STATE(4833),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(6958),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(6962),
    [anon_sym_yield] = ACTIONS(6964),
    [anon_sym_break] = ACTIONS(6966),
    [anon_sym_next] = ACTIONS(6968),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(6972),
    [anon_sym_defined_QMARK] = ACTIONS(6974),
    [anon_sym_not] = ACTIONS(6976),
    [anon_sym_BANG] = ACTIONS(6978),
    [anon_sym_TILDE] = ACTIONS(6978),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [8223] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(11111),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(4833),
    [sym_call] = STATE(4833),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(4834),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4835),
    [sym__variable] = STATE(4833),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(6958),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(6962),
    [anon_sym_yield] = ACTIONS(6964),
    [anon_sym_break] = ACTIONS(6966),
    [anon_sym_next] = ACTIONS(6968),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(6972),
    [anon_sym_defined_QMARK] = ACTIONS(6974),
    [anon_sym_not] = ACTIONS(6976),
    [anon_sym_BANG] = ACTIONS(6978),
    [anon_sym_TILDE] = ACTIONS(6978),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [8224] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(11112),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(4833),
    [sym_call] = STATE(4833),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(4834),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4835),
    [sym__variable] = STATE(4833),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(6958),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(6962),
    [anon_sym_yield] = ACTIONS(6964),
    [anon_sym_break] = ACTIONS(6966),
    [anon_sym_next] = ACTIONS(6968),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(6972),
    [anon_sym_defined_QMARK] = ACTIONS(6974),
    [anon_sym_not] = ACTIONS(6976),
    [anon_sym_BANG] = ACTIONS(6978),
    [anon_sym_TILDE] = ACTIONS(6978),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [8225] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(11113),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(4833),
    [sym_call] = STATE(4833),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(4834),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4835),
    [sym__variable] = STATE(4833),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(6958),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(6962),
    [anon_sym_yield] = ACTIONS(6964),
    [anon_sym_break] = ACTIONS(6966),
    [anon_sym_next] = ACTIONS(6968),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(6972),
    [anon_sym_defined_QMARK] = ACTIONS(6974),
    [anon_sym_not] = ACTIONS(6976),
    [anon_sym_BANG] = ACTIONS(6978),
    [anon_sym_TILDE] = ACTIONS(6978),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [8226] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(11114),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(4833),
    [sym_call] = STATE(4833),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(4834),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4835),
    [sym__variable] = STATE(4833),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(6958),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(6962),
    [anon_sym_yield] = ACTIONS(6964),
    [anon_sym_break] = ACTIONS(6966),
    [anon_sym_next] = ACTIONS(6968),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(6972),
    [anon_sym_defined_QMARK] = ACTIONS(6974),
    [anon_sym_not] = ACTIONS(6976),
    [anon_sym_BANG] = ACTIONS(6978),
    [anon_sym_TILDE] = ACTIONS(6978),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [8227] = {
    [sym_do_block] = STATE(6354),
    [sym_block] = STATE(6354),
    [sym__element_reference_left_bracket] = ACTIONS(3346),
    [sym__scope_double_colon] = ACTIONS(3346),
    [sym__binary_minus] = ACTIONS(3346),
    [sym__binary_star] = ACTIONS(3346),
    [anon_sym_LBRACE] = ACTIONS(8806),
    [anon_sym_DOT] = ACTIONS(3350),
    [anon_sym_COMMA] = ACTIONS(3346),
    [anon_sym_PIPE] = ACTIONS(3350),
    [anon_sym_STAR_STAR] = ACTIONS(3350),
    [anon_sym_AMP] = ACTIONS(3350),
    [anon_sym_EQ] = ACTIONS(3350),
    [anon_sym_LT] = ACTIONS(3350),
    [anon_sym_do] = ACTIONS(3346),
    [anon_sym_AMP_DOT] = ACTIONS(3346),
    [anon_sym_PLUS_EQ] = ACTIONS(3346),
    [anon_sym_DASH_EQ] = ACTIONS(3346),
    [anon_sym_STAR_EQ] = ACTIONS(3346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3346),
    [anon_sym_SLASH_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3346),
    [anon_sym_AMP_EQ] = ACTIONS(3346),
    [anon_sym_PERCENT_EQ] = ACTIONS(3346),
    [anon_sym_GT_GT_EQ] = ACTIONS(3346),
    [anon_sym_LT_LT_EQ] = ACTIONS(3346),
    [anon_sym_CARET_EQ] = ACTIONS(3346),
    [anon_sym_QMARK] = ACTIONS(3346),
    [anon_sym_DOT_DOT] = ACTIONS(3350),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3346),
    [anon_sym_and] = ACTIONS(3346),
    [anon_sym_or] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE] = ACTIONS(3350),
    [anon_sym_AMP_AMP] = ACTIONS(3350),
    [anon_sym_LT_LT] = ACTIONS(3350),
    [anon_sym_GT_GT] = ACTIONS(3350),
    [anon_sym_EQ_EQ] = ACTIONS(3350),
    [anon_sym_BANG_EQ] = ACTIONS(3346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3346),
    [anon_sym_LT_EQ_GT] = ACTIONS(3346),
    [anon_sym_EQ_TILDE] = ACTIONS(3346),
    [anon_sym_BANG_TILDE] = ACTIONS(3346),
    [anon_sym_LT_EQ] = ACTIONS(3350),
    [anon_sym_GT] = ACTIONS(3350),
    [anon_sym_GT_EQ] = ACTIONS(3346),
    [anon_sym_CARET] = ACTIONS(3350),
    [anon_sym_PLUS] = ACTIONS(3350),
    [anon_sym_SLASH] = ACTIONS(3350),
    [anon_sym_PERCENT] = ACTIONS(3350),
    [sym_comment] = ACTIONS(256),
  },
  [8228] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(11116),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(4833),
    [sym_call] = STATE(4833),
    [sym_method_call] = STATE(1138),
    [sym_splat_argument] = STATE(3168),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_right_assignment_list] = STATE(3169),
    [sym__arg_or_splat_arg] = STATE(11117),
    [sym_left_assignment_list] = STATE(4834),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4835),
    [sym__variable] = STATE(4833),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__splat_star] = ACTIONS(14038),
    [sym__unary_minus] = ACTIONS(6958),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(6962),
    [anon_sym_yield] = ACTIONS(6964),
    [anon_sym_break] = ACTIONS(6966),
    [anon_sym_next] = ACTIONS(6968),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(6972),
    [anon_sym_defined_QMARK] = ACTIONS(6974),
    [anon_sym_not] = ACTIONS(6976),
    [anon_sym_BANG] = ACTIONS(6978),
    [anon_sym_TILDE] = ACTIONS(6978),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [8229] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(11118),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(4833),
    [sym_call] = STATE(4833),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(4834),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4835),
    [sym__variable] = STATE(4833),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(6958),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(6962),
    [anon_sym_yield] = ACTIONS(6964),
    [anon_sym_break] = ACTIONS(6966),
    [anon_sym_next] = ACTIONS(6968),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(6972),
    [anon_sym_defined_QMARK] = ACTIONS(6974),
    [anon_sym_not] = ACTIONS(6976),
    [anon_sym_BANG] = ACTIONS(6978),
    [anon_sym_TILDE] = ACTIONS(6978),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [8230] = {
    [anon_sym_LBRACE] = ACTIONS(14040),
    [anon_sym_COMMA] = ACTIONS(14040),
    [anon_sym_do] = ACTIONS(14040),
    [sym_comment] = ACTIONS(110),
  },
  [8231] = {
    [sym__simple_string] = ACTIONS(12070),
    [sym__simple_symbol] = ACTIONS(12070),
    [sym__simple_subshell] = ACTIONS(12070),
    [sym__simple_regex] = ACTIONS(12070),
    [sym__simple_word_list] = ACTIONS(12070),
    [sym__string_beginning] = ACTIONS(12070),
    [sym__symbol_beginning] = ACTIONS(12070),
    [sym__subshell_beginning] = ACTIONS(12070),
    [sym__regex_beginning] = ACTIONS(12070),
    [sym__word_list_beginning] = ACTIONS(12070),
    [sym_heredoc_beginning] = ACTIONS(12070),
    [sym__unary_minus] = ACTIONS(12070),
    [ts_builtin_sym_end] = ACTIONS(12070),
    [anon_sym___END__] = ACTIONS(13430),
    [anon_sym_BEGIN] = ACTIONS(13430),
    [anon_sym_LBRACE] = ACTIONS(12070),
    [anon_sym_END] = ACTIONS(13430),
    [anon_sym_def] = ACTIONS(13430),
    [anon_sym_LPAREN] = ACTIONS(12070),
    [anon_sym_COLON_COLON] = ACTIONS(12070),
    [anon_sym_SEMI] = ACTIONS(12070),
    [anon_sym_STAR] = ACTIONS(12070),
    [anon_sym_class] = ACTIONS(13430),
    [anon_sym_module] = ACTIONS(13430),
    [anon_sym_return] = ACTIONS(13430),
    [anon_sym_yield] = ACTIONS(13430),
    [anon_sym_break] = ACTIONS(13430),
    [anon_sym_next] = ACTIONS(13430),
    [anon_sym_redo] = ACTIONS(13430),
    [anon_sym_retry] = ACTIONS(13430),
    [anon_sym_if] = ACTIONS(13430),
    [anon_sym_unless] = ACTIONS(13430),
    [anon_sym_while] = ACTIONS(13430),
    [anon_sym_until] = ACTIONS(13430),
    [anon_sym_for] = ACTIONS(13430),
    [anon_sym_case] = ACTIONS(13430),
    [anon_sym_begin] = ACTIONS(13430),
    [anon_sym_PLUS] = ACTIONS(13430),
    [anon_sym_defined_QMARK] = ACTIONS(12070),
    [anon_sym_not] = ACTIONS(13430),
    [anon_sym_BANG] = ACTIONS(12070),
    [anon_sym_TILDE] = ACTIONS(12070),
    [sym_constant] = ACTIONS(13432),
    [sym_identifier] = ACTIONS(13432),
    [sym_instance_variable] = ACTIONS(13430),
    [sym_class_variable] = ACTIONS(13430),
    [sym_global_variable] = ACTIONS(13430),
    [anon_sym_alias] = ACTIONS(13430),
    [anon_sym_false] = ACTIONS(13430),
    [anon_sym_nil] = ACTIONS(13430),
    [anon_sym_self] = ACTIONS(13430),
    [anon_sym_super] = ACTIONS(13430),
    [anon_sym_true] = ACTIONS(13430),
    [anon_sym_undef] = ACTIONS(13430),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(13430),
    [sym_float] = ACTIONS(13432),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(12070),
    [anon_sym_TRUE] = ACTIONS(13430),
    [anon_sym_FALSE] = ACTIONS(13430),
    [anon_sym_NIL] = ACTIONS(13430),
    [sym_keyword__FILE__] = ACTIONS(13430),
    [sym_keyword__LINE__] = ACTIONS(13430),
    [sym_keyword__ENCODING__] = ACTIONS(13430),
    [sym__character_literal] = ACTIONS(13430),
    [anon_sym_LBRACK] = ACTIONS(12070),
    [anon_sym_DASH_GT] = ACTIONS(12070),
  },
  [8232] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(11119),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(8241),
    [sym_call] = STATE(8241),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(8242),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(8243),
    [sym__variable] = STATE(8241),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(11150),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(11152),
    [anon_sym_yield] = ACTIONS(11154),
    [anon_sym_break] = ACTIONS(11156),
    [anon_sym_next] = ACTIONS(11158),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(11160),
    [anon_sym_defined_QMARK] = ACTIONS(11162),
    [anon_sym_not] = ACTIONS(11164),
    [anon_sym_BANG] = ACTIONS(11166),
    [anon_sym_TILDE] = ACTIONS(11166),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [8233] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(4856),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4857),
    [sym_call] = STATE(4857),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1886),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(4858),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4859),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4860),
    [sym__variable] = STATE(4857),
    [sym_reserved_identifier] = STATE(4861),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(4862),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(7020),
    [sym__splat_star] = ACTIONS(7022),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(7024),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(7026),
    [anon_sym_yield] = ACTIONS(7028),
    [anon_sym_break] = ACTIONS(7030),
    [anon_sym_next] = ACTIONS(7032),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_COLON] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(7034),
    [anon_sym_not] = ACTIONS(7036),
    [anon_sym_BANG] = ACTIONS(7038),
    [anon_sym_TILDE] = ACTIONS(7040),
    [sym_constant] = ACTIONS(7042),
    [sym_identifier] = ACTIONS(7042),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [8234] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(4856),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4857),
    [sym_call] = STATE(4857),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1892),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(4858),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4859),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4860),
    [sym__variable] = STATE(4857),
    [sym_reserved_identifier] = STATE(4861),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(4862),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(7020),
    [sym__splat_star] = ACTIONS(7022),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(7024),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(7026),
    [anon_sym_yield] = ACTIONS(7028),
    [anon_sym_break] = ACTIONS(7030),
    [anon_sym_next] = ACTIONS(7032),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_COLON] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(7034),
    [anon_sym_not] = ACTIONS(7036),
    [anon_sym_BANG] = ACTIONS(7038),
    [anon_sym_TILDE] = ACTIONS(7040),
    [sym_constant] = ACTIONS(7042),
    [sym_identifier] = ACTIONS(7042),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [8235] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(4856),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4857),
    [sym_call] = STATE(4857),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1893),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(4858),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4859),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4860),
    [sym__variable] = STATE(4857),
    [sym_reserved_identifier] = STATE(4861),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(4862),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(7020),
    [sym__splat_star] = ACTIONS(7022),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(7024),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(7026),
    [anon_sym_yield] = ACTIONS(7028),
    [anon_sym_break] = ACTIONS(7030),
    [anon_sym_next] = ACTIONS(7032),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_COLON] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(7034),
    [anon_sym_not] = ACTIONS(7036),
    [anon_sym_BANG] = ACTIONS(7038),
    [anon_sym_TILDE] = ACTIONS(7040),
    [sym_constant] = ACTIONS(7042),
    [sym_identifier] = ACTIONS(7042),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [8236] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(4856),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4857),
    [sym_call] = STATE(4857),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1894),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(4858),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4859),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4860),
    [sym__variable] = STATE(4857),
    [sym_reserved_identifier] = STATE(4861),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(4862),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(7020),
    [sym__splat_star] = ACTIONS(7022),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(7024),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(7026),
    [anon_sym_yield] = ACTIONS(7028),
    [anon_sym_break] = ACTIONS(7030),
    [anon_sym_next] = ACTIONS(7032),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_COLON] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(7034),
    [anon_sym_not] = ACTIONS(7036),
    [anon_sym_BANG] = ACTIONS(7038),
    [anon_sym_TILDE] = ACTIONS(7040),
    [sym_constant] = ACTIONS(7042),
    [sym_identifier] = ACTIONS(7042),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [8237] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(11120),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(8241),
    [sym_call] = STATE(8241),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(8242),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(8243),
    [sym__variable] = STATE(8241),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(11150),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(11152),
    [anon_sym_yield] = ACTIONS(11154),
    [anon_sym_break] = ACTIONS(11156),
    [anon_sym_next] = ACTIONS(11158),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(11160),
    [anon_sym_defined_QMARK] = ACTIONS(11162),
    [anon_sym_not] = ACTIONS(11164),
    [anon_sym_BANG] = ACTIONS(11166),
    [anon_sym_TILDE] = ACTIONS(11166),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [8238] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(11121),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(8241),
    [sym_call] = STATE(8241),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(8242),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(8243),
    [sym__variable] = STATE(8241),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(11150),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(11152),
    [anon_sym_yield] = ACTIONS(11154),
    [anon_sym_break] = ACTIONS(11156),
    [anon_sym_next] = ACTIONS(11158),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(11160),
    [anon_sym_defined_QMARK] = ACTIONS(11162),
    [anon_sym_not] = ACTIONS(11164),
    [anon_sym_BANG] = ACTIONS(11166),
    [anon_sym_TILDE] = ACTIONS(11166),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [8239] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(2988),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(8241),
    [sym_call] = STATE(8241),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(8242),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(8243),
    [sym__variable] = STATE(8241),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(11150),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(11152),
    [anon_sym_yield] = ACTIONS(11154),
    [anon_sym_break] = ACTIONS(11156),
    [anon_sym_next] = ACTIONS(11158),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(11160),
    [anon_sym_defined_QMARK] = ACTIONS(11162),
    [anon_sym_not] = ACTIONS(11164),
    [anon_sym_BANG] = ACTIONS(11166),
    [anon_sym_TILDE] = ACTIONS(11166),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [8240] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(14042),
    [sym__binary_star] = ACTIONS(14044),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(14046),
    [anon_sym_STAR_STAR] = ACTIONS(14048),
    [anon_sym_AMP] = ACTIONS(14050),
    [anon_sym_LT] = ACTIONS(14052),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(14054),
    [anon_sym_COLON] = ACTIONS(5298),
    [anon_sym_DOT_DOT] = ACTIONS(14056),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(14058),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(14060),
    [anon_sym_AMP_AMP] = ACTIONS(14060),
    [anon_sym_LT_LT] = ACTIONS(14062),
    [anon_sym_GT_GT] = ACTIONS(14062),
    [anon_sym_EQ_EQ] = ACTIONS(14064),
    [anon_sym_BANG_EQ] = ACTIONS(14060),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(14060),
    [anon_sym_LT_EQ_GT] = ACTIONS(14060),
    [anon_sym_EQ_TILDE] = ACTIONS(14060),
    [anon_sym_BANG_TILDE] = ACTIONS(14060),
    [anon_sym_LT_EQ] = ACTIONS(14052),
    [anon_sym_GT] = ACTIONS(14052),
    [anon_sym_GT_EQ] = ACTIONS(14066),
    [anon_sym_CARET] = ACTIONS(14068),
    [anon_sym_PLUS] = ACTIONS(14070),
    [anon_sym_SLASH] = ACTIONS(14048),
    [anon_sym_PERCENT] = ACTIONS(14048),
    [sym_comment] = ACTIONS(110),
  },
  [8241] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(4891),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4892),
    [sym_call] = STATE(4892),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(2958),
    [sym__argument_list_with_parens] = STATE(2959),
    [sym__argument] = STATE(4893),
    [sym_splat_argument] = STATE(2961),
    [sym_hash_splat_argument] = STATE(2961),
    [sym_block_argument] = STATE(2961),
    [sym_do_block] = STATE(2962),
    [sym_block] = STATE(2962),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4894),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4895),
    [sym__variable] = STATE(4892),
    [sym_reserved_identifier] = STATE(4896),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(4897),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(2961),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(7078),
    [sym__splat_star] = ACTIONS(7080),
    [sym__argument_list_left_paren] = ACTIONS(4330),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(7082),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(4334),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(7084),
    [anon_sym_yield] = ACTIONS(7086),
    [anon_sym_break] = ACTIONS(7088),
    [anon_sym_next] = ACTIONS(7090),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(4344),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_COLON] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(7092),
    [anon_sym_not] = ACTIONS(7094),
    [anon_sym_BANG] = ACTIONS(7096),
    [anon_sym_TILDE] = ACTIONS(7098),
    [sym_constant] = ACTIONS(7100),
    [sym_identifier] = ACTIONS(7100),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [8242] = {
    [anon_sym_EQ] = ACTIONS(14072),
    [sym_comment] = ACTIONS(256),
  },
  [8243] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(14074),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(14076),
    [anon_sym_DASH_EQ] = ACTIONS(14076),
    [anon_sym_STAR_EQ] = ACTIONS(14076),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(14076),
    [anon_sym_SLASH_EQ] = ACTIONS(14076),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(14076),
    [anon_sym_PIPE_EQ] = ACTIONS(14076),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(14076),
    [anon_sym_AMP_EQ] = ACTIONS(14076),
    [anon_sym_PERCENT_EQ] = ACTIONS(14076),
    [anon_sym_GT_GT_EQ] = ACTIONS(14076),
    [anon_sym_LT_LT_EQ] = ACTIONS(14076),
    [anon_sym_CARET_EQ] = ACTIONS(14076),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_COLON] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [8244] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(14042),
    [sym__binary_star] = ACTIONS(14044),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(14046),
    [anon_sym_STAR_STAR] = ACTIONS(14048),
    [anon_sym_AMP] = ACTIONS(14050),
    [anon_sym_LT] = ACTIONS(14052),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(14054),
    [anon_sym_COLON] = ACTIONS(5338),
    [anon_sym_DOT_DOT] = ACTIONS(14056),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(14058),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(14060),
    [anon_sym_AMP_AMP] = ACTIONS(14060),
    [anon_sym_LT_LT] = ACTIONS(14062),
    [anon_sym_GT_GT] = ACTIONS(14062),
    [anon_sym_EQ_EQ] = ACTIONS(14064),
    [anon_sym_BANG_EQ] = ACTIONS(14060),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(14060),
    [anon_sym_LT_EQ_GT] = ACTIONS(14060),
    [anon_sym_EQ_TILDE] = ACTIONS(14060),
    [anon_sym_BANG_TILDE] = ACTIONS(14060),
    [anon_sym_LT_EQ] = ACTIONS(14052),
    [anon_sym_GT] = ACTIONS(14052),
    [anon_sym_GT_EQ] = ACTIONS(14066),
    [anon_sym_CARET] = ACTIONS(14068),
    [anon_sym_PLUS] = ACTIONS(14070),
    [anon_sym_SLASH] = ACTIONS(14048),
    [anon_sym_PERCENT] = ACTIONS(14048),
    [sym_comment] = ACTIONS(110),
  },
  [8245] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(8255),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4857),
    [sym_call] = STATE(4857),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1886),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(8256),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4859),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4860),
    [sym__variable] = STATE(4857),
    [sym_reserved_identifier] = STATE(8257),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(8258),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(11180),
    [sym__splat_star] = ACTIONS(11182),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(7024),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(7026),
    [anon_sym_yield] = ACTIONS(7028),
    [anon_sym_break] = ACTIONS(7030),
    [anon_sym_next] = ACTIONS(7032),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_COLON] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(7034),
    [anon_sym_not] = ACTIONS(7036),
    [anon_sym_BANG] = ACTIONS(7038),
    [anon_sym_TILDE] = ACTIONS(7040),
    [sym_constant] = ACTIONS(11184),
    [sym_identifier] = ACTIONS(11184),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [8246] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(8255),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4857),
    [sym_call] = STATE(4857),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1892),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(8256),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4859),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4860),
    [sym__variable] = STATE(4857),
    [sym_reserved_identifier] = STATE(8257),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(8258),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(11180),
    [sym__splat_star] = ACTIONS(11182),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(7024),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(7026),
    [anon_sym_yield] = ACTIONS(7028),
    [anon_sym_break] = ACTIONS(7030),
    [anon_sym_next] = ACTIONS(7032),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_COLON] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(7034),
    [anon_sym_not] = ACTIONS(7036),
    [anon_sym_BANG] = ACTIONS(7038),
    [anon_sym_TILDE] = ACTIONS(7040),
    [sym_constant] = ACTIONS(11184),
    [sym_identifier] = ACTIONS(11184),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [8247] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(8255),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4857),
    [sym_call] = STATE(4857),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1893),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(8256),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4859),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4860),
    [sym__variable] = STATE(4857),
    [sym_reserved_identifier] = STATE(8257),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(8258),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(11180),
    [sym__splat_star] = ACTIONS(11182),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(7024),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(7026),
    [anon_sym_yield] = ACTIONS(7028),
    [anon_sym_break] = ACTIONS(7030),
    [anon_sym_next] = ACTIONS(7032),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_COLON] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(7034),
    [anon_sym_not] = ACTIONS(7036),
    [anon_sym_BANG] = ACTIONS(7038),
    [anon_sym_TILDE] = ACTIONS(7040),
    [sym_constant] = ACTIONS(11184),
    [sym_identifier] = ACTIONS(11184),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [8248] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(8255),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4857),
    [sym_call] = STATE(4857),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1894),
    [sym__argument_list_with_parens] = STATE(1003),
    [sym__argument] = STATE(8256),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4859),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4860),
    [sym__variable] = STATE(4857),
    [sym_reserved_identifier] = STATE(8257),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(8258),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(11180),
    [sym__splat_star] = ACTIONS(11182),
    [sym__argument_list_left_paren] = ACTIONS(1638),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(7024),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(7026),
    [anon_sym_yield] = ACTIONS(7028),
    [anon_sym_break] = ACTIONS(7030),
    [anon_sym_next] = ACTIONS(7032),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_COLON] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(7034),
    [anon_sym_not] = ACTIONS(7036),
    [anon_sym_BANG] = ACTIONS(7038),
    [anon_sym_TILDE] = ACTIONS(7040),
    [sym_constant] = ACTIONS(11184),
    [sym_identifier] = ACTIONS(11184),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [8249] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_STAR_STAR] = ACTIONS(11194),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_EQ_GT] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_COLON] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [8250] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(14042),
    [sym__binary_star] = ACTIONS(14044),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(14046),
    [anon_sym_STAR_STAR] = ACTIONS(14048),
    [anon_sym_AMP] = ACTIONS(14050),
    [anon_sym_LT] = ACTIONS(14052),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(14054),
    [anon_sym_COLON] = ACTIONS(4284),
    [anon_sym_DOT_DOT] = ACTIONS(14056),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(14058),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(14060),
    [anon_sym_AMP_AMP] = ACTIONS(14060),
    [anon_sym_LT_LT] = ACTIONS(14062),
    [anon_sym_GT_GT] = ACTIONS(14062),
    [anon_sym_EQ_EQ] = ACTIONS(14064),
    [anon_sym_BANG_EQ] = ACTIONS(14060),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(14060),
    [anon_sym_LT_EQ_GT] = ACTIONS(14060),
    [anon_sym_EQ_TILDE] = ACTIONS(14060),
    [anon_sym_BANG_TILDE] = ACTIONS(14060),
    [anon_sym_LT_EQ] = ACTIONS(14052),
    [anon_sym_GT] = ACTIONS(14052),
    [anon_sym_GT_EQ] = ACTIONS(14066),
    [anon_sym_CARET] = ACTIONS(14068),
    [anon_sym_PLUS] = ACTIONS(14070),
    [anon_sym_SLASH] = ACTIONS(14048),
    [anon_sym_PERCENT] = ACTIONS(14048),
    [sym_comment] = ACTIONS(110),
  },
  [8251] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(11136),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4857),
    [sym_call] = STATE(4857),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4859),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4860),
    [sym__variable] = STATE(4857),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(7024),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(11168),
    [anon_sym_yield] = ACTIONS(11170),
    [anon_sym_break] = ACTIONS(11172),
    [anon_sym_next] = ACTIONS(11174),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(11176),
    [anon_sym_defined_QMARK] = ACTIONS(7034),
    [anon_sym_not] = ACTIONS(11178),
    [anon_sym_BANG] = ACTIONS(7040),
    [anon_sym_TILDE] = ACTIONS(7040),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [8252] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(11137),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4857),
    [sym_call] = STATE(4857),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4859),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4860),
    [sym__variable] = STATE(4857),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(7024),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(11168),
    [anon_sym_yield] = ACTIONS(11170),
    [anon_sym_break] = ACTIONS(11172),
    [anon_sym_next] = ACTIONS(11174),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(11176),
    [anon_sym_defined_QMARK] = ACTIONS(7034),
    [anon_sym_not] = ACTIONS(11178),
    [anon_sym_BANG] = ACTIONS(7040),
    [anon_sym_TILDE] = ACTIONS(7040),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [8253] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(11138),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4857),
    [sym_call] = STATE(4857),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4859),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4860),
    [sym__variable] = STATE(4857),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(7024),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(11168),
    [anon_sym_yield] = ACTIONS(11170),
    [anon_sym_break] = ACTIONS(11172),
    [anon_sym_next] = ACTIONS(11174),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(11176),
    [anon_sym_defined_QMARK] = ACTIONS(7034),
    [anon_sym_not] = ACTIONS(11178),
    [anon_sym_BANG] = ACTIONS(7040),
    [anon_sym_TILDE] = ACTIONS(7040),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [8254] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(14078),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_COLON] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [8255] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(11188),
    [sym__binary_star] = ACTIONS(11190),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(11192),
    [anon_sym_STAR_STAR] = ACTIONS(11194),
    [anon_sym_AMP] = ACTIONS(11196),
    [anon_sym_LT] = ACTIONS(11198),
    [anon_sym_EQ_GT] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(11200),
    [anon_sym_COLON] = ACTIONS(2210),
    [anon_sym_DOT_DOT] = ACTIONS(11202),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11204),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(11206),
    [anon_sym_AMP_AMP] = ACTIONS(11206),
    [anon_sym_LT_LT] = ACTIONS(11208),
    [anon_sym_GT_GT] = ACTIONS(11208),
    [anon_sym_EQ_EQ] = ACTIONS(11210),
    [anon_sym_BANG_EQ] = ACTIONS(11206),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11206),
    [anon_sym_LT_EQ_GT] = ACTIONS(11206),
    [anon_sym_EQ_TILDE] = ACTIONS(11206),
    [anon_sym_BANG_TILDE] = ACTIONS(11206),
    [anon_sym_LT_EQ] = ACTIONS(11198),
    [anon_sym_GT] = ACTIONS(11198),
    [anon_sym_GT_EQ] = ACTIONS(11212),
    [anon_sym_CARET] = ACTIONS(11214),
    [anon_sym_PLUS] = ACTIONS(11216),
    [anon_sym_SLASH] = ACTIONS(11194),
    [anon_sym_PERCENT] = ACTIONS(11194),
    [sym_comment] = ACTIONS(110),
  },
  [8256] = {
    [sym_heredoc_end] = STATE(3004),
    [aux_sym_argument_list_repeat1] = STATE(11141),
    [aux_sym_argument_list_repeat2] = STATE(3005),
    [sym__simple_heredoc_body] = ACTIONS(4410),
    [sym__heredoc_body_beginning] = ACTIONS(4412),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(14080),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_STAR_STAR] = ACTIONS(2272),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_EQ_GT] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_COLON] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2272),
    [anon_sym_AMP_AMP] = ACTIONS(2272),
    [anon_sym_LT_LT] = ACTIONS(2272),
    [anon_sym_GT_GT] = ACTIONS(2272),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2272),
    [anon_sym_PLUS] = ACTIONS(2272),
    [anon_sym_SLASH] = ACTIONS(2272),
    [anon_sym_PERCENT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(110),
  },
  [8257] = {
    [sym__keyword_colon] = ACTIONS(14082),
    [sym_comment] = ACTIONS(110),
  },
  [8258] = {
    [sym_string] = STATE(1962),
    [aux_sym_chained_string_repeat1] = STATE(1963),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(14078),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_COLON] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(1626),
  },
  [8259] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(11194),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_COLON] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [8260] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(11188),
    [sym__binary_star] = ACTIONS(11190),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(11192),
    [anon_sym_STAR_STAR] = ACTIONS(11194),
    [anon_sym_AMP] = ACTIONS(11196),
    [anon_sym_LT] = ACTIONS(11198),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(11200),
    [anon_sym_COLON] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(11202),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11204),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(11206),
    [anon_sym_AMP_AMP] = ACTIONS(11206),
    [anon_sym_LT_LT] = ACTIONS(11208),
    [anon_sym_GT_GT] = ACTIONS(11208),
    [anon_sym_EQ_EQ] = ACTIONS(11210),
    [anon_sym_BANG_EQ] = ACTIONS(11206),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11206),
    [anon_sym_LT_EQ_GT] = ACTIONS(11206),
    [anon_sym_EQ_TILDE] = ACTIONS(11206),
    [anon_sym_BANG_TILDE] = ACTIONS(11206),
    [anon_sym_LT_EQ] = ACTIONS(11198),
    [anon_sym_GT] = ACTIONS(11198),
    [anon_sym_GT_EQ] = ACTIONS(11212),
    [anon_sym_CARET] = ACTIONS(11214),
    [anon_sym_PLUS] = ACTIONS(11216),
    [anon_sym_SLASH] = ACTIONS(11194),
    [anon_sym_PERCENT] = ACTIONS(11194),
    [sym_comment] = ACTIONS(110),
  },
  [8261] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(11143),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(8241),
    [sym_call] = STATE(8241),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(8242),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(8243),
    [sym__variable] = STATE(8241),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(11150),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(11152),
    [anon_sym_yield] = ACTIONS(11154),
    [anon_sym_break] = ACTIONS(11156),
    [anon_sym_next] = ACTIONS(11158),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(11160),
    [anon_sym_defined_QMARK] = ACTIONS(11162),
    [anon_sym_not] = ACTIONS(11164),
    [anon_sym_BANG] = ACTIONS(11166),
    [anon_sym_TILDE] = ACTIONS(11166),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [8262] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(11144),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4857),
    [sym_call] = STATE(4857),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4859),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4860),
    [sym__variable] = STATE(4857),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(7024),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(11168),
    [anon_sym_yield] = ACTIONS(11170),
    [anon_sym_break] = ACTIONS(11172),
    [anon_sym_next] = ACTIONS(11174),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(11176),
    [anon_sym_defined_QMARK] = ACTIONS(7034),
    [anon_sym_not] = ACTIONS(11178),
    [anon_sym_BANG] = ACTIONS(7040),
    [anon_sym_TILDE] = ACTIONS(7040),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [8263] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(11145),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4857),
    [sym_call] = STATE(4857),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4859),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4860),
    [sym__variable] = STATE(4857),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(7024),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(11168),
    [anon_sym_yield] = ACTIONS(11170),
    [anon_sym_break] = ACTIONS(11172),
    [anon_sym_next] = ACTIONS(11174),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(11176),
    [anon_sym_defined_QMARK] = ACTIONS(7034),
    [anon_sym_not] = ACTIONS(11178),
    [anon_sym_BANG] = ACTIONS(7040),
    [anon_sym_TILDE] = ACTIONS(7040),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [8264] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(11146),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4857),
    [sym_call] = STATE(4857),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4859),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4860),
    [sym__variable] = STATE(4857),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(7024),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(11168),
    [anon_sym_yield] = ACTIONS(11170),
    [anon_sym_break] = ACTIONS(11172),
    [anon_sym_next] = ACTIONS(11174),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(11176),
    [anon_sym_defined_QMARK] = ACTIONS(7034),
    [anon_sym_not] = ACTIONS(11178),
    [anon_sym_BANG] = ACTIONS(7040),
    [anon_sym_TILDE] = ACTIONS(7040),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [8265] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(11147),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4857),
    [sym_call] = STATE(4857),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4859),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4860),
    [sym__variable] = STATE(4857),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(7024),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(11168),
    [anon_sym_yield] = ACTIONS(11170),
    [anon_sym_break] = ACTIONS(11172),
    [anon_sym_next] = ACTIONS(11174),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(11176),
    [anon_sym_defined_QMARK] = ACTIONS(7034),
    [anon_sym_not] = ACTIONS(11178),
    [anon_sym_BANG] = ACTIONS(7040),
    [anon_sym_TILDE] = ACTIONS(7040),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [8266] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(11148),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4857),
    [sym_call] = STATE(4857),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4859),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4860),
    [sym__variable] = STATE(4857),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(7024),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(11168),
    [anon_sym_yield] = ACTIONS(11170),
    [anon_sym_break] = ACTIONS(11172),
    [anon_sym_next] = ACTIONS(11174),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(11176),
    [anon_sym_defined_QMARK] = ACTIONS(7034),
    [anon_sym_not] = ACTIONS(11178),
    [anon_sym_BANG] = ACTIONS(7040),
    [anon_sym_TILDE] = ACTIONS(7040),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [8267] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(11149),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4857),
    [sym_call] = STATE(4857),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4859),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4860),
    [sym__variable] = STATE(4857),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(7024),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(11168),
    [anon_sym_yield] = ACTIONS(11170),
    [anon_sym_break] = ACTIONS(11172),
    [anon_sym_next] = ACTIONS(11174),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(11176),
    [anon_sym_defined_QMARK] = ACTIONS(7034),
    [anon_sym_not] = ACTIONS(11178),
    [anon_sym_BANG] = ACTIONS(7040),
    [anon_sym_TILDE] = ACTIONS(7040),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [8268] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(11150),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [8269] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(11151),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4857),
    [sym_call] = STATE(4857),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4859),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4860),
    [sym__variable] = STATE(4857),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(7024),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(11168),
    [anon_sym_yield] = ACTIONS(11170),
    [anon_sym_break] = ACTIONS(11172),
    [anon_sym_next] = ACTIONS(11174),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(11176),
    [anon_sym_defined_QMARK] = ACTIONS(7034),
    [anon_sym_not] = ACTIONS(11178),
    [anon_sym_BANG] = ACTIONS(7040),
    [anon_sym_TILDE] = ACTIONS(7040),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [8270] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(11152),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4857),
    [sym_call] = STATE(4857),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4859),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4860),
    [sym__variable] = STATE(4857),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(7024),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(11168),
    [anon_sym_yield] = ACTIONS(11170),
    [anon_sym_break] = ACTIONS(11172),
    [anon_sym_next] = ACTIONS(11174),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(11176),
    [anon_sym_defined_QMARK] = ACTIONS(7034),
    [anon_sym_not] = ACTIONS(11178),
    [anon_sym_BANG] = ACTIONS(7040),
    [anon_sym_TILDE] = ACTIONS(7040),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [8271] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(11153),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4857),
    [sym_call] = STATE(4857),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4859),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4860),
    [sym__variable] = STATE(4857),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(7024),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(11168),
    [anon_sym_yield] = ACTIONS(11170),
    [anon_sym_break] = ACTIONS(11172),
    [anon_sym_next] = ACTIONS(11174),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(11176),
    [anon_sym_defined_QMARK] = ACTIONS(7034),
    [anon_sym_not] = ACTIONS(11178),
    [anon_sym_BANG] = ACTIONS(7040),
    [anon_sym_TILDE] = ACTIONS(7040),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [8272] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(11154),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4857),
    [sym_call] = STATE(4857),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4859),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4860),
    [sym__variable] = STATE(4857),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(7024),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(11168),
    [anon_sym_yield] = ACTIONS(11170),
    [anon_sym_break] = ACTIONS(11172),
    [anon_sym_next] = ACTIONS(11174),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(11176),
    [anon_sym_defined_QMARK] = ACTIONS(7034),
    [anon_sym_not] = ACTIONS(11178),
    [anon_sym_BANG] = ACTIONS(7040),
    [anon_sym_TILDE] = ACTIONS(7040),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [8273] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(11155),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4857),
    [sym_call] = STATE(4857),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4859),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4860),
    [sym__variable] = STATE(4857),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(7024),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(11168),
    [anon_sym_yield] = ACTIONS(11170),
    [anon_sym_break] = ACTIONS(11172),
    [anon_sym_next] = ACTIONS(11174),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(11176),
    [anon_sym_defined_QMARK] = ACTIONS(7034),
    [anon_sym_not] = ACTIONS(11178),
    [anon_sym_BANG] = ACTIONS(7040),
    [anon_sym_TILDE] = ACTIONS(7040),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [8274] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(11156),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4892),
    [sym_call] = STATE(4892),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4894),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4895),
    [sym__variable] = STATE(4892),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(7082),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(11252),
    [anon_sym_yield] = ACTIONS(11254),
    [anon_sym_break] = ACTIONS(11256),
    [anon_sym_next] = ACTIONS(11258),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(11260),
    [anon_sym_defined_QMARK] = ACTIONS(7092),
    [anon_sym_not] = ACTIONS(11262),
    [anon_sym_BANG] = ACTIONS(7098),
    [anon_sym_TILDE] = ACTIONS(7098),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [8275] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(11157),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4892),
    [sym_call] = STATE(4892),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4894),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4895),
    [sym__variable] = STATE(4892),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(7082),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(11252),
    [anon_sym_yield] = ACTIONS(11254),
    [anon_sym_break] = ACTIONS(11256),
    [anon_sym_next] = ACTIONS(11258),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(11260),
    [anon_sym_defined_QMARK] = ACTIONS(7092),
    [anon_sym_not] = ACTIONS(11262),
    [anon_sym_BANG] = ACTIONS(7098),
    [anon_sym_TILDE] = ACTIONS(7098),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [8276] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(11158),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4892),
    [sym_call] = STATE(4892),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4894),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4895),
    [sym__variable] = STATE(4892),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(7082),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(11252),
    [anon_sym_yield] = ACTIONS(11254),
    [anon_sym_break] = ACTIONS(11256),
    [anon_sym_next] = ACTIONS(11258),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(11260),
    [anon_sym_defined_QMARK] = ACTIONS(7092),
    [anon_sym_not] = ACTIONS(11262),
    [anon_sym_BANG] = ACTIONS(7098),
    [anon_sym_TILDE] = ACTIONS(7098),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [8277] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(14084),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_COLON] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [8278] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(11266),
    [sym__binary_star] = ACTIONS(11268),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(11270),
    [anon_sym_STAR_STAR] = ACTIONS(11272),
    [anon_sym_AMP] = ACTIONS(11274),
    [anon_sym_EQ] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(11276),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_PLUS_EQ] = ACTIONS(2210),
    [anon_sym_DASH_EQ] = ACTIONS(2210),
    [anon_sym_STAR_EQ] = ACTIONS(2210),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2210),
    [anon_sym_SLASH_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2210),
    [anon_sym_AMP_EQ] = ACTIONS(2210),
    [anon_sym_PERCENT_EQ] = ACTIONS(2210),
    [anon_sym_GT_GT_EQ] = ACTIONS(2210),
    [anon_sym_LT_LT_EQ] = ACTIONS(2210),
    [anon_sym_CARET_EQ] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(11278),
    [anon_sym_COLON] = ACTIONS(2210),
    [anon_sym_DOT_DOT] = ACTIONS(11280),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11282),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(11284),
    [anon_sym_AMP_AMP] = ACTIONS(11284),
    [anon_sym_LT_LT] = ACTIONS(11286),
    [anon_sym_GT_GT] = ACTIONS(11286),
    [anon_sym_EQ_EQ] = ACTIONS(11284),
    [anon_sym_BANG_EQ] = ACTIONS(11288),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11288),
    [anon_sym_LT_EQ_GT] = ACTIONS(11288),
    [anon_sym_EQ_TILDE] = ACTIONS(11288),
    [anon_sym_BANG_TILDE] = ACTIONS(11288),
    [anon_sym_LT_EQ] = ACTIONS(11276),
    [anon_sym_GT] = ACTIONS(11276),
    [anon_sym_GT_EQ] = ACTIONS(11290),
    [anon_sym_CARET] = ACTIONS(11270),
    [anon_sym_PLUS] = ACTIONS(11292),
    [anon_sym_SLASH] = ACTIONS(11272),
    [anon_sym_PERCENT] = ACTIONS(11272),
    [sym_comment] = ACTIONS(256),
  },
  [8279] = {
    [sym_heredoc_end] = STATE(3153),
    [aux_sym_argument_list_repeat1] = STATE(11161),
    [aux_sym_argument_list_repeat2] = STATE(3154),
    [sym__simple_heredoc_body] = ACTIONS(4552),
    [sym__heredoc_body_beginning] = ACTIONS(4554),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(14086),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_STAR_STAR] = ACTIONS(2274),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_EQ] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_EQ_GT] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_PLUS_EQ] = ACTIONS(2272),
    [anon_sym_DASH_EQ] = ACTIONS(2272),
    [anon_sym_STAR_EQ] = ACTIONS(2272),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2272),
    [anon_sym_SLASH_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2272),
    [anon_sym_AMP_EQ] = ACTIONS(2272),
    [anon_sym_PERCENT_EQ] = ACTIONS(2272),
    [anon_sym_GT_GT_EQ] = ACTIONS(2272),
    [anon_sym_LT_LT_EQ] = ACTIONS(2272),
    [anon_sym_CARET_EQ] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_COLON] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2274),
    [anon_sym_AMP_AMP] = ACTIONS(2274),
    [anon_sym_LT_LT] = ACTIONS(2274),
    [anon_sym_GT_GT] = ACTIONS(2274),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2274),
    [anon_sym_PLUS] = ACTIONS(2274),
    [anon_sym_SLASH] = ACTIONS(2274),
    [anon_sym_PERCENT] = ACTIONS(2274),
    [sym_comment] = ACTIONS(256),
  },
  [8280] = {
    [sym__keyword_colon] = ACTIONS(14088),
    [sym_comment] = ACTIONS(110),
  },
  [8281] = {
    [sym_string] = STATE(3160),
    [aux_sym_chained_string_repeat1] = STATE(3161),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(14084),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_COLON] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(4490),
  },
  [8282] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(4856),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4857),
    [sym_call] = STATE(4857),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(6127),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4859),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4860),
    [sym__variable] = STATE(4857),
    [sym_reserved_identifier] = STATE(4861),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(4862),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(11163),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(7020),
    [sym__splat_star] = ACTIONS(7022),
    [sym__unary_minus] = ACTIONS(7024),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(14090),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(7026),
    [anon_sym_yield] = ACTIONS(7028),
    [anon_sym_break] = ACTIONS(7030),
    [anon_sym_next] = ACTIONS(7032),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(11176),
    [anon_sym_defined_QMARK] = ACTIONS(7034),
    [anon_sym_not] = ACTIONS(7036),
    [anon_sym_BANG] = ACTIONS(7040),
    [anon_sym_TILDE] = ACTIONS(7040),
    [sym_constant] = ACTIONS(7042),
    [sym_identifier] = ACTIONS(7042),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [8283] = {
    [sym_heredoc_end] = STATE(3004),
    [aux_sym_argument_list_repeat2] = STATE(6130),
    [sym__simple_heredoc_body] = ACTIONS(4410),
    [sym__heredoc_body_beginning] = ACTIONS(4412),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(14092),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_STAR_STAR] = ACTIONS(5472),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_COLON] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5472),
    [anon_sym_AMP_AMP] = ACTIONS(5472),
    [anon_sym_LT_LT] = ACTIONS(5472),
    [anon_sym_GT_GT] = ACTIONS(5472),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5472),
    [anon_sym_PLUS] = ACTIONS(5472),
    [anon_sym_SLASH] = ACTIONS(5472),
    [anon_sym_PERCENT] = ACTIONS(5472),
    [sym_comment] = ACTIONS(110),
  },
  [8284] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(11165),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4857),
    [sym_call] = STATE(4857),
    [sym_method_call] = STATE(503),
    [sym_splat_argument] = STATE(6132),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_right_assignment_list] = STATE(6133),
    [sym__arg_or_splat_arg] = STATE(11166),
    [sym_left_assignment_list] = STATE(4859),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4860),
    [sym__variable] = STATE(4857),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__splat_star] = ACTIONS(11182),
    [sym__unary_minus] = ACTIONS(7024),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(11168),
    [anon_sym_yield] = ACTIONS(11170),
    [anon_sym_break] = ACTIONS(11172),
    [anon_sym_next] = ACTIONS(11174),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(11176),
    [anon_sym_defined_QMARK] = ACTIONS(7034),
    [anon_sym_not] = ACTIONS(11178),
    [anon_sym_BANG] = ACTIONS(7040),
    [anon_sym_TILDE] = ACTIONS(7040),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [8285] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(11167),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4857),
    [sym_call] = STATE(4857),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(4859),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4860),
    [sym__variable] = STATE(4857),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(7024),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(11168),
    [anon_sym_yield] = ACTIONS(11170),
    [anon_sym_break] = ACTIONS(11172),
    [anon_sym_next] = ACTIONS(11174),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(11176),
    [anon_sym_defined_QMARK] = ACTIONS(7034),
    [anon_sym_not] = ACTIONS(11178),
    [anon_sym_BANG] = ACTIONS(7040),
    [anon_sym_TILDE] = ACTIONS(7040),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [8286] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(11168),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(8241),
    [sym_call] = STATE(8241),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(8242),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(8243),
    [sym__variable] = STATE(8241),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(11150),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(11152),
    [anon_sym_yield] = ACTIONS(11154),
    [anon_sym_break] = ACTIONS(11156),
    [anon_sym_next] = ACTIONS(11158),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(11160),
    [anon_sym_defined_QMARK] = ACTIONS(11162),
    [anon_sym_not] = ACTIONS(11164),
    [anon_sym_BANG] = ACTIONS(11166),
    [anon_sym_TILDE] = ACTIONS(11166),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [8287] = {
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_COLON] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7008),
    [anon_sym_AMP_AMP] = ACTIONS(7008),
    [anon_sym_LT_LT] = ACTIONS(7008),
    [anon_sym_GT_GT] = ACTIONS(7008),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7008),
    [anon_sym_PLUS] = ACTIONS(7008),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [8288] = {
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_COLON] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7012),
    [anon_sym_AMP_AMP] = ACTIONS(7012),
    [anon_sym_LT_LT] = ACTIONS(7012),
    [anon_sym_GT_GT] = ACTIONS(7012),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7012),
    [anon_sym_PLUS] = ACTIONS(7012),
    [anon_sym_SLASH] = ACTIONS(7012),
    [anon_sym_PERCENT] = ACTIONS(7012),
    [sym_comment] = ACTIONS(110),
  },
  [8289] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_COLON] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [8290] = {
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_COLON] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7016),
    [anon_sym_PERCENT] = ACTIONS(7016),
    [sym_comment] = ACTIONS(110),
  },
  [8291] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_COLON] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [8292] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_COLON] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [8293] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(14094),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [8294] = {
    [sym__simple_heredoc_body] = ACTIONS(14096),
    [sym__heredoc_body_beginning] = ACTIONS(14096),
    [sym__line_break] = ACTIONS(14096),
    [sym__binary_minus] = ACTIONS(936),
    [sym__binary_star] = ACTIONS(938),
    [ts_builtin_sym_end] = ACTIONS(14096),
    [anon_sym___END__] = ACTIONS(14096),
    [anon_sym_PIPE] = ACTIONS(940),
    [anon_sym_SEMI] = ACTIONS(14096),
    [anon_sym_STAR_STAR] = ACTIONS(942),
    [anon_sym_AMP] = ACTIONS(944),
    [anon_sym_LT] = ACTIONS(946),
    [anon_sym_if] = ACTIONS(14096),
    [anon_sym_unless] = ACTIONS(14096),
    [anon_sym_while] = ACTIONS(14096),
    [anon_sym_until] = ACTIONS(14096),
    [anon_sym_rescue] = ACTIONS(14096),
    [anon_sym_QMARK] = ACTIONS(948),
    [anon_sym_DOT_DOT] = ACTIONS(950),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(952),
    [anon_sym_and] = ACTIONS(14096),
    [anon_sym_or] = ACTIONS(14096),
    [anon_sym_PIPE_PIPE] = ACTIONS(956),
    [anon_sym_AMP_AMP] = ACTIONS(956),
    [anon_sym_LT_LT] = ACTIONS(958),
    [anon_sym_GT_GT] = ACTIONS(958),
    [anon_sym_EQ_EQ] = ACTIONS(960),
    [anon_sym_BANG_EQ] = ACTIONS(956),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(956),
    [anon_sym_LT_EQ_GT] = ACTIONS(956),
    [anon_sym_EQ_TILDE] = ACTIONS(956),
    [anon_sym_BANG_TILDE] = ACTIONS(956),
    [anon_sym_LT_EQ] = ACTIONS(946),
    [anon_sym_GT] = ACTIONS(946),
    [anon_sym_GT_EQ] = ACTIONS(962),
    [anon_sym_CARET] = ACTIONS(964),
    [anon_sym_PLUS] = ACTIONS(966),
    [anon_sym_SLASH] = ACTIONS(942),
    [anon_sym_PERCENT] = ACTIONS(942),
    [sym_comment] = ACTIONS(110),
  },
  [8295] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_COLON] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [8296] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [8297] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_COLON] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [8298] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_COLON] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [8299] = {
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_COLON] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [8300] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(11170),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(8309),
    [sym_call] = STATE(8309),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(8310),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(8311),
    [sym__variable] = STATE(8309),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(11234),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(11236),
    [anon_sym_yield] = ACTIONS(11238),
    [anon_sym_break] = ACTIONS(11240),
    [anon_sym_next] = ACTIONS(11242),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(11244),
    [anon_sym_defined_QMARK] = ACTIONS(11246),
    [anon_sym_not] = ACTIONS(11248),
    [anon_sym_BANG] = ACTIONS(11250),
    [anon_sym_TILDE] = ACTIONS(11250),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [8301] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(4891),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4892),
    [sym_call] = STATE(4892),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(9264),
    [sym__argument_list_with_parens] = STATE(2959),
    [sym__argument] = STATE(4893),
    [sym_splat_argument] = STATE(2961),
    [sym_hash_splat_argument] = STATE(2961),
    [sym_block_argument] = STATE(2961),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4894),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4895),
    [sym__variable] = STATE(4892),
    [sym_reserved_identifier] = STATE(4896),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(4897),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(2961),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(7078),
    [sym__splat_star] = ACTIONS(7080),
    [sym__argument_list_left_paren] = ACTIONS(4330),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(7082),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(544),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(7084),
    [anon_sym_yield] = ACTIONS(7086),
    [anon_sym_break] = ACTIONS(7088),
    [anon_sym_next] = ACTIONS(7090),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_PLUS_EQ] = ACTIONS(532),
    [anon_sym_DASH_EQ] = ACTIONS(532),
    [anon_sym_STAR_EQ] = ACTIONS(532),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(532),
    [anon_sym_SLASH_EQ] = ACTIONS(532),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(532),
    [anon_sym_PIPE_EQ] = ACTIONS(532),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(532),
    [anon_sym_AMP_EQ] = ACTIONS(532),
    [anon_sym_PERCENT_EQ] = ACTIONS(532),
    [anon_sym_GT_GT_EQ] = ACTIONS(532),
    [anon_sym_LT_LT_EQ] = ACTIONS(532),
    [anon_sym_CARET_EQ] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_COLON] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(544),
    [anon_sym_AMP_AMP] = ACTIONS(544),
    [anon_sym_LT_LT] = ACTIONS(544),
    [anon_sym_GT_GT] = ACTIONS(544),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(544),
    [anon_sym_PERCENT] = ACTIONS(544),
    [anon_sym_defined_QMARK] = ACTIONS(7092),
    [anon_sym_not] = ACTIONS(7094),
    [anon_sym_BANG] = ACTIONS(7096),
    [anon_sym_TILDE] = ACTIONS(7098),
    [sym_constant] = ACTIONS(7100),
    [sym_identifier] = ACTIONS(7100),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [8302] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(4891),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4892),
    [sym_call] = STATE(4892),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(9265),
    [sym__argument_list_with_parens] = STATE(2959),
    [sym__argument] = STATE(4893),
    [sym_splat_argument] = STATE(2961),
    [sym_hash_splat_argument] = STATE(2961),
    [sym_block_argument] = STATE(2961),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4894),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4895),
    [sym__variable] = STATE(4892),
    [sym_reserved_identifier] = STATE(4896),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(4897),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(2961),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(7078),
    [sym__splat_star] = ACTIONS(7080),
    [sym__argument_list_left_paren] = ACTIONS(4330),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(7082),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(604),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(7084),
    [anon_sym_yield] = ACTIONS(7086),
    [anon_sym_break] = ACTIONS(7088),
    [anon_sym_next] = ACTIONS(7090),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_PLUS_EQ] = ACTIONS(602),
    [anon_sym_DASH_EQ] = ACTIONS(602),
    [anon_sym_STAR_EQ] = ACTIONS(602),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(602),
    [anon_sym_SLASH_EQ] = ACTIONS(602),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(602),
    [anon_sym_PIPE_EQ] = ACTIONS(602),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(602),
    [anon_sym_AMP_EQ] = ACTIONS(602),
    [anon_sym_PERCENT_EQ] = ACTIONS(602),
    [anon_sym_GT_GT_EQ] = ACTIONS(602),
    [anon_sym_LT_LT_EQ] = ACTIONS(602),
    [anon_sym_CARET_EQ] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_COLON] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(604),
    [anon_sym_AMP_AMP] = ACTIONS(604),
    [anon_sym_LT_LT] = ACTIONS(604),
    [anon_sym_GT_GT] = ACTIONS(604),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(604),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(604),
    [anon_sym_PERCENT] = ACTIONS(604),
    [anon_sym_defined_QMARK] = ACTIONS(7092),
    [anon_sym_not] = ACTIONS(7094),
    [anon_sym_BANG] = ACTIONS(7096),
    [anon_sym_TILDE] = ACTIONS(7098),
    [sym_constant] = ACTIONS(7100),
    [sym_identifier] = ACTIONS(7100),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [8303] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(4891),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4892),
    [sym_call] = STATE(4892),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(9266),
    [sym__argument_list_with_parens] = STATE(2959),
    [sym__argument] = STATE(4893),
    [sym_splat_argument] = STATE(2961),
    [sym_hash_splat_argument] = STATE(2961),
    [sym_block_argument] = STATE(2961),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4894),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4895),
    [sym__variable] = STATE(4892),
    [sym_reserved_identifier] = STATE(4896),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(4897),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(2961),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(7078),
    [sym__splat_star] = ACTIONS(7080),
    [sym__argument_list_left_paren] = ACTIONS(4330),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(7082),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(608),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(7084),
    [anon_sym_yield] = ACTIONS(7086),
    [anon_sym_break] = ACTIONS(7088),
    [anon_sym_next] = ACTIONS(7090),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_PLUS_EQ] = ACTIONS(606),
    [anon_sym_DASH_EQ] = ACTIONS(606),
    [anon_sym_STAR_EQ] = ACTIONS(606),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(606),
    [anon_sym_SLASH_EQ] = ACTIONS(606),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(606),
    [anon_sym_PIPE_EQ] = ACTIONS(606),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(606),
    [anon_sym_AMP_EQ] = ACTIONS(606),
    [anon_sym_PERCENT_EQ] = ACTIONS(606),
    [anon_sym_GT_GT_EQ] = ACTIONS(606),
    [anon_sym_LT_LT_EQ] = ACTIONS(606),
    [anon_sym_CARET_EQ] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_COLON] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(608),
    [anon_sym_AMP_AMP] = ACTIONS(608),
    [anon_sym_LT_LT] = ACTIONS(608),
    [anon_sym_GT_GT] = ACTIONS(608),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(608),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(608),
    [anon_sym_PERCENT] = ACTIONS(608),
    [anon_sym_defined_QMARK] = ACTIONS(7092),
    [anon_sym_not] = ACTIONS(7094),
    [anon_sym_BANG] = ACTIONS(7096),
    [anon_sym_TILDE] = ACTIONS(7098),
    [sym_constant] = ACTIONS(7100),
    [sym_identifier] = ACTIONS(7100),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [8304] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(4891),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4892),
    [sym_call] = STATE(4892),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(9267),
    [sym__argument_list_with_parens] = STATE(2959),
    [sym__argument] = STATE(4893),
    [sym_splat_argument] = STATE(2961),
    [sym_hash_splat_argument] = STATE(2961),
    [sym_block_argument] = STATE(2961),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4894),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4895),
    [sym__variable] = STATE(4892),
    [sym_reserved_identifier] = STATE(4896),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(4897),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(2961),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(7078),
    [sym__splat_star] = ACTIONS(7080),
    [sym__argument_list_left_paren] = ACTIONS(4330),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(7082),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(612),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(7084),
    [anon_sym_yield] = ACTIONS(7086),
    [anon_sym_break] = ACTIONS(7088),
    [anon_sym_next] = ACTIONS(7090),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_PLUS_EQ] = ACTIONS(610),
    [anon_sym_DASH_EQ] = ACTIONS(610),
    [anon_sym_STAR_EQ] = ACTIONS(610),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(610),
    [anon_sym_SLASH_EQ] = ACTIONS(610),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(610),
    [anon_sym_PIPE_EQ] = ACTIONS(610),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(610),
    [anon_sym_AMP_EQ] = ACTIONS(610),
    [anon_sym_PERCENT_EQ] = ACTIONS(610),
    [anon_sym_GT_GT_EQ] = ACTIONS(610),
    [anon_sym_LT_LT_EQ] = ACTIONS(610),
    [anon_sym_CARET_EQ] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_COLON] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(612),
    [anon_sym_AMP_AMP] = ACTIONS(612),
    [anon_sym_LT_LT] = ACTIONS(612),
    [anon_sym_GT_GT] = ACTIONS(612),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(612),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(612),
    [anon_sym_PERCENT] = ACTIONS(612),
    [anon_sym_defined_QMARK] = ACTIONS(7092),
    [anon_sym_not] = ACTIONS(7094),
    [anon_sym_BANG] = ACTIONS(7096),
    [anon_sym_TILDE] = ACTIONS(7098),
    [sym_constant] = ACTIONS(7100),
    [sym_identifier] = ACTIONS(7100),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [8305] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(11171),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(8309),
    [sym_call] = STATE(8309),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(8310),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(8311),
    [sym__variable] = STATE(8309),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(11234),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(11236),
    [anon_sym_yield] = ACTIONS(11238),
    [anon_sym_break] = ACTIONS(11240),
    [anon_sym_next] = ACTIONS(11242),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(11244),
    [anon_sym_defined_QMARK] = ACTIONS(11246),
    [anon_sym_not] = ACTIONS(11248),
    [anon_sym_BANG] = ACTIONS(11250),
    [anon_sym_TILDE] = ACTIONS(11250),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [8306] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(11172),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(8309),
    [sym_call] = STATE(8309),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(8310),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(8311),
    [sym__variable] = STATE(8309),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(11234),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(11236),
    [anon_sym_yield] = ACTIONS(11238),
    [anon_sym_break] = ACTIONS(11240),
    [anon_sym_next] = ACTIONS(11242),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(11244),
    [anon_sym_defined_QMARK] = ACTIONS(11246),
    [anon_sym_not] = ACTIONS(11248),
    [anon_sym_BANG] = ACTIONS(11250),
    [anon_sym_TILDE] = ACTIONS(11250),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [8307] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(9281),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(8309),
    [sym_call] = STATE(8309),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(8310),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(8311),
    [sym__variable] = STATE(8309),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(11234),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(11236),
    [anon_sym_yield] = ACTIONS(11238),
    [anon_sym_break] = ACTIONS(11240),
    [anon_sym_next] = ACTIONS(11242),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(11244),
    [anon_sym_defined_QMARK] = ACTIONS(11246),
    [anon_sym_not] = ACTIONS(11248),
    [anon_sym_BANG] = ACTIONS(11250),
    [anon_sym_TILDE] = ACTIONS(11250),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [8308] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(14098),
    [sym__binary_star] = ACTIONS(14100),
    [anon_sym_LBRACE] = ACTIONS(5298),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(14102),
    [anon_sym_STAR_STAR] = ACTIONS(14104),
    [anon_sym_AMP] = ACTIONS(14106),
    [anon_sym_EQ] = ACTIONS(5304),
    [anon_sym_LT] = ACTIONS(14108),
    [anon_sym_do] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_PLUS_EQ] = ACTIONS(5298),
    [anon_sym_DASH_EQ] = ACTIONS(5298),
    [anon_sym_STAR_EQ] = ACTIONS(5298),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5298),
    [anon_sym_SLASH_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5298),
    [anon_sym_AMP_EQ] = ACTIONS(5298),
    [anon_sym_PERCENT_EQ] = ACTIONS(5298),
    [anon_sym_GT_GT_EQ] = ACTIONS(5298),
    [anon_sym_LT_LT_EQ] = ACTIONS(5298),
    [anon_sym_CARET_EQ] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(14110),
    [anon_sym_COLON] = ACTIONS(5298),
    [anon_sym_DOT_DOT] = ACTIONS(14112),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(14114),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(14116),
    [anon_sym_AMP_AMP] = ACTIONS(14116),
    [anon_sym_LT_LT] = ACTIONS(14118),
    [anon_sym_GT_GT] = ACTIONS(14118),
    [anon_sym_EQ_EQ] = ACTIONS(14116),
    [anon_sym_BANG_EQ] = ACTIONS(14120),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(14120),
    [anon_sym_LT_EQ_GT] = ACTIONS(14120),
    [anon_sym_EQ_TILDE] = ACTIONS(14120),
    [anon_sym_BANG_TILDE] = ACTIONS(14120),
    [anon_sym_LT_EQ] = ACTIONS(14108),
    [anon_sym_GT] = ACTIONS(14108),
    [anon_sym_GT_EQ] = ACTIONS(14122),
    [anon_sym_CARET] = ACTIONS(14102),
    [anon_sym_PLUS] = ACTIONS(14124),
    [anon_sym_SLASH] = ACTIONS(14104),
    [anon_sym_PERCENT] = ACTIONS(14104),
    [sym_comment] = ACTIONS(256),
  },
  [8309] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(4891),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4892),
    [sym_call] = STATE(4892),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(6712),
    [sym__argument_list_with_parens] = STATE(2959),
    [sym__argument] = STATE(4893),
    [sym_splat_argument] = STATE(2961),
    [sym_hash_splat_argument] = STATE(2961),
    [sym_block_argument] = STATE(2961),
    [sym_do_block] = STATE(2962),
    [sym_block] = STATE(2962),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4894),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4895),
    [sym__variable] = STATE(4892),
    [sym_reserved_identifier] = STATE(4896),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(4897),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(2961),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(980),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(980),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(7078),
    [sym__splat_star] = ACTIONS(7080),
    [sym__argument_list_left_paren] = ACTIONS(4330),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(7082),
    [sym__binary_minus] = ACTIONS(980),
    [sym__binary_star] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(4334),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(982),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(982),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(982),
    [anon_sym_AMP] = ACTIONS(982),
    [anon_sym_EQ] = ACTIONS(982),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(982),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(7084),
    [anon_sym_yield] = ACTIONS(7086),
    [anon_sym_break] = ACTIONS(7088),
    [anon_sym_next] = ACTIONS(7090),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(982),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(982),
    [anon_sym_COLON] = ACTIONS(982),
    [anon_sym_DOT_DOT] = ACTIONS(982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(982),
    [anon_sym_or] = ACTIONS(982),
    [anon_sym_PIPE_PIPE] = ACTIONS(982),
    [anon_sym_AMP_AMP] = ACTIONS(982),
    [anon_sym_LT_LT] = ACTIONS(982),
    [anon_sym_GT_GT] = ACTIONS(982),
    [anon_sym_EQ_EQ] = ACTIONS(982),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ_GT] = ACTIONS(980),
    [anon_sym_EQ_TILDE] = ACTIONS(980),
    [anon_sym_BANG_TILDE] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(982),
    [anon_sym_GT] = ACTIONS(982),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(982),
    [anon_sym_PLUS] = ACTIONS(982),
    [anon_sym_SLASH] = ACTIONS(982),
    [anon_sym_PERCENT] = ACTIONS(982),
    [anon_sym_defined_QMARK] = ACTIONS(7092),
    [anon_sym_not] = ACTIONS(7094),
    [anon_sym_BANG] = ACTIONS(7096),
    [anon_sym_TILDE] = ACTIONS(7098),
    [sym_constant] = ACTIONS(7100),
    [sym_identifier] = ACTIONS(7100),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [8310] = {
    [anon_sym_EQ] = ACTIONS(14126),
    [sym_comment] = ACTIONS(256),
  },
  [8311] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(14128),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(14130),
    [anon_sym_DASH_EQ] = ACTIONS(14130),
    [anon_sym_STAR_EQ] = ACTIONS(14130),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(14130),
    [anon_sym_SLASH_EQ] = ACTIONS(14130),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(14130),
    [anon_sym_PIPE_EQ] = ACTIONS(14130),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(14130),
    [anon_sym_AMP_EQ] = ACTIONS(14130),
    [anon_sym_PERCENT_EQ] = ACTIONS(14130),
    [anon_sym_GT_GT_EQ] = ACTIONS(14130),
    [anon_sym_LT_LT_EQ] = ACTIONS(14130),
    [anon_sym_CARET_EQ] = ACTIONS(14130),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_COLON] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [8312] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(14098),
    [sym__binary_star] = ACTIONS(14100),
    [anon_sym_LBRACE] = ACTIONS(5338),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(14102),
    [anon_sym_STAR_STAR] = ACTIONS(14104),
    [anon_sym_AMP] = ACTIONS(14106),
    [anon_sym_EQ] = ACTIONS(5340),
    [anon_sym_LT] = ACTIONS(14108),
    [anon_sym_do] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_PLUS_EQ] = ACTIONS(5338),
    [anon_sym_DASH_EQ] = ACTIONS(5338),
    [anon_sym_STAR_EQ] = ACTIONS(5338),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5338),
    [anon_sym_SLASH_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5338),
    [anon_sym_AMP_EQ] = ACTIONS(5338),
    [anon_sym_PERCENT_EQ] = ACTIONS(5338),
    [anon_sym_GT_GT_EQ] = ACTIONS(5338),
    [anon_sym_LT_LT_EQ] = ACTIONS(5338),
    [anon_sym_CARET_EQ] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(14110),
    [anon_sym_COLON] = ACTIONS(5338),
    [anon_sym_DOT_DOT] = ACTIONS(14112),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(14114),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(14116),
    [anon_sym_AMP_AMP] = ACTIONS(14116),
    [anon_sym_LT_LT] = ACTIONS(14118),
    [anon_sym_GT_GT] = ACTIONS(14118),
    [anon_sym_EQ_EQ] = ACTIONS(14116),
    [anon_sym_BANG_EQ] = ACTIONS(14120),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(14120),
    [anon_sym_LT_EQ_GT] = ACTIONS(14120),
    [anon_sym_EQ_TILDE] = ACTIONS(14120),
    [anon_sym_BANG_TILDE] = ACTIONS(14120),
    [anon_sym_LT_EQ] = ACTIONS(14108),
    [anon_sym_GT] = ACTIONS(14108),
    [anon_sym_GT_EQ] = ACTIONS(14122),
    [anon_sym_CARET] = ACTIONS(14102),
    [anon_sym_PLUS] = ACTIONS(14124),
    [anon_sym_SLASH] = ACTIONS(14104),
    [anon_sym_PERCENT] = ACTIONS(14104),
    [sym_comment] = ACTIONS(256),
  },
  [8313] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(8278),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4892),
    [sym_call] = STATE(4892),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(3104),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(8279),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4894),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4895),
    [sym__variable] = STATE(4892),
    [sym_reserved_identifier] = STATE(8280),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(8281),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(11218),
    [sym__splat_star] = ACTIONS(11220),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(7082),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(544),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(7084),
    [anon_sym_yield] = ACTIONS(7086),
    [anon_sym_break] = ACTIONS(7088),
    [anon_sym_next] = ACTIONS(7090),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_PLUS_EQ] = ACTIONS(532),
    [anon_sym_DASH_EQ] = ACTIONS(532),
    [anon_sym_STAR_EQ] = ACTIONS(532),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(532),
    [anon_sym_SLASH_EQ] = ACTIONS(532),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(532),
    [anon_sym_PIPE_EQ] = ACTIONS(532),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(532),
    [anon_sym_AMP_EQ] = ACTIONS(532),
    [anon_sym_PERCENT_EQ] = ACTIONS(532),
    [anon_sym_GT_GT_EQ] = ACTIONS(532),
    [anon_sym_LT_LT_EQ] = ACTIONS(532),
    [anon_sym_CARET_EQ] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_COLON] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(544),
    [anon_sym_AMP_AMP] = ACTIONS(544),
    [anon_sym_LT_LT] = ACTIONS(544),
    [anon_sym_GT_GT] = ACTIONS(544),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(544),
    [anon_sym_PERCENT] = ACTIONS(544),
    [anon_sym_defined_QMARK] = ACTIONS(7092),
    [anon_sym_not] = ACTIONS(7094),
    [anon_sym_BANG] = ACTIONS(7096),
    [anon_sym_TILDE] = ACTIONS(7098),
    [sym_constant] = ACTIONS(11222),
    [sym_identifier] = ACTIONS(11222),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [8314] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(8278),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4892),
    [sym_call] = STATE(4892),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(3105),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(8279),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4894),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4895),
    [sym__variable] = STATE(4892),
    [sym_reserved_identifier] = STATE(8280),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(8281),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(11218),
    [sym__splat_star] = ACTIONS(11220),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(7082),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(604),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(7084),
    [anon_sym_yield] = ACTIONS(7086),
    [anon_sym_break] = ACTIONS(7088),
    [anon_sym_next] = ACTIONS(7090),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_PLUS_EQ] = ACTIONS(602),
    [anon_sym_DASH_EQ] = ACTIONS(602),
    [anon_sym_STAR_EQ] = ACTIONS(602),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(602),
    [anon_sym_SLASH_EQ] = ACTIONS(602),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(602),
    [anon_sym_PIPE_EQ] = ACTIONS(602),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(602),
    [anon_sym_AMP_EQ] = ACTIONS(602),
    [anon_sym_PERCENT_EQ] = ACTIONS(602),
    [anon_sym_GT_GT_EQ] = ACTIONS(602),
    [anon_sym_LT_LT_EQ] = ACTIONS(602),
    [anon_sym_CARET_EQ] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_COLON] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(604),
    [anon_sym_AMP_AMP] = ACTIONS(604),
    [anon_sym_LT_LT] = ACTIONS(604),
    [anon_sym_GT_GT] = ACTIONS(604),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(604),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(604),
    [anon_sym_PERCENT] = ACTIONS(604),
    [anon_sym_defined_QMARK] = ACTIONS(7092),
    [anon_sym_not] = ACTIONS(7094),
    [anon_sym_BANG] = ACTIONS(7096),
    [anon_sym_TILDE] = ACTIONS(7098),
    [sym_constant] = ACTIONS(11222),
    [sym_identifier] = ACTIONS(11222),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [8315] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(8278),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4892),
    [sym_call] = STATE(4892),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(3106),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(8279),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4894),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4895),
    [sym__variable] = STATE(4892),
    [sym_reserved_identifier] = STATE(8280),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(8281),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(11218),
    [sym__splat_star] = ACTIONS(11220),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(7082),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(608),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(7084),
    [anon_sym_yield] = ACTIONS(7086),
    [anon_sym_break] = ACTIONS(7088),
    [anon_sym_next] = ACTIONS(7090),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_PLUS_EQ] = ACTIONS(606),
    [anon_sym_DASH_EQ] = ACTIONS(606),
    [anon_sym_STAR_EQ] = ACTIONS(606),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(606),
    [anon_sym_SLASH_EQ] = ACTIONS(606),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(606),
    [anon_sym_PIPE_EQ] = ACTIONS(606),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(606),
    [anon_sym_AMP_EQ] = ACTIONS(606),
    [anon_sym_PERCENT_EQ] = ACTIONS(606),
    [anon_sym_GT_GT_EQ] = ACTIONS(606),
    [anon_sym_LT_LT_EQ] = ACTIONS(606),
    [anon_sym_CARET_EQ] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_COLON] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(608),
    [anon_sym_AMP_AMP] = ACTIONS(608),
    [anon_sym_LT_LT] = ACTIONS(608),
    [anon_sym_GT_GT] = ACTIONS(608),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(608),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(608),
    [anon_sym_PERCENT] = ACTIONS(608),
    [anon_sym_defined_QMARK] = ACTIONS(7092),
    [anon_sym_not] = ACTIONS(7094),
    [anon_sym_BANG] = ACTIONS(7096),
    [anon_sym_TILDE] = ACTIONS(7098),
    [sym_constant] = ACTIONS(11222),
    [sym_identifier] = ACTIONS(11222),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [8316] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(8278),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4892),
    [sym_call] = STATE(4892),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(3107),
    [sym__argument_list_with_parens] = STATE(1100),
    [sym__argument] = STATE(8279),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4894),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4895),
    [sym__variable] = STATE(4892),
    [sym_reserved_identifier] = STATE(8280),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(8281),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(11218),
    [sym__splat_star] = ACTIONS(11220),
    [sym__argument_list_left_paren] = ACTIONS(1738),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(7082),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(612),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(7084),
    [anon_sym_yield] = ACTIONS(7086),
    [anon_sym_break] = ACTIONS(7088),
    [anon_sym_next] = ACTIONS(7090),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_PLUS_EQ] = ACTIONS(610),
    [anon_sym_DASH_EQ] = ACTIONS(610),
    [anon_sym_STAR_EQ] = ACTIONS(610),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(610),
    [anon_sym_SLASH_EQ] = ACTIONS(610),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(610),
    [anon_sym_PIPE_EQ] = ACTIONS(610),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(610),
    [anon_sym_AMP_EQ] = ACTIONS(610),
    [anon_sym_PERCENT_EQ] = ACTIONS(610),
    [anon_sym_GT_GT_EQ] = ACTIONS(610),
    [anon_sym_LT_LT_EQ] = ACTIONS(610),
    [anon_sym_CARET_EQ] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_COLON] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(612),
    [anon_sym_AMP_AMP] = ACTIONS(612),
    [anon_sym_LT_LT] = ACTIONS(612),
    [anon_sym_GT_GT] = ACTIONS(612),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(612),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(612),
    [anon_sym_PERCENT] = ACTIONS(612),
    [anon_sym_defined_QMARK] = ACTIONS(7092),
    [anon_sym_not] = ACTIONS(7094),
    [anon_sym_BANG] = ACTIONS(7096),
    [anon_sym_TILDE] = ACTIONS(7098),
    [sym_constant] = ACTIONS(11222),
    [sym_identifier] = ACTIONS(11222),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [8317] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_LBRACE] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_STAR_STAR] = ACTIONS(11272),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_EQ] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_do] = ACTIONS(1372),
    [anon_sym_EQ_GT] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_PLUS_EQ] = ACTIONS(1372),
    [anon_sym_DASH_EQ] = ACTIONS(1372),
    [anon_sym_STAR_EQ] = ACTIONS(1372),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1372),
    [anon_sym_SLASH_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1372),
    [anon_sym_AMP_EQ] = ACTIONS(1372),
    [anon_sym_PERCENT_EQ] = ACTIONS(1372),
    [anon_sym_GT_GT_EQ] = ACTIONS(1372),
    [anon_sym_LT_LT_EQ] = ACTIONS(1372),
    [anon_sym_CARET_EQ] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_COLON] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1374),
    [anon_sym_AMP_AMP] = ACTIONS(1374),
    [anon_sym_LT_LT] = ACTIONS(1374),
    [anon_sym_GT_GT] = ACTIONS(1374),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1374),
    [anon_sym_PLUS] = ACTIONS(1374),
    [anon_sym_SLASH] = ACTIONS(1374),
    [anon_sym_PERCENT] = ACTIONS(1374),
    [sym_comment] = ACTIONS(256),
  },
  [8318] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(14098),
    [sym__binary_star] = ACTIONS(14100),
    [anon_sym_LBRACE] = ACTIONS(4284),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(14102),
    [anon_sym_STAR_STAR] = ACTIONS(14104),
    [anon_sym_AMP] = ACTIONS(14106),
    [anon_sym_EQ] = ACTIONS(5432),
    [anon_sym_LT] = ACTIONS(14108),
    [anon_sym_do] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_PLUS_EQ] = ACTIONS(4284),
    [anon_sym_DASH_EQ] = ACTIONS(4284),
    [anon_sym_STAR_EQ] = ACTIONS(4284),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(4284),
    [anon_sym_SLASH_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(4284),
    [anon_sym_AMP_EQ] = ACTIONS(4284),
    [anon_sym_PERCENT_EQ] = ACTIONS(4284),
    [anon_sym_GT_GT_EQ] = ACTIONS(4284),
    [anon_sym_LT_LT_EQ] = ACTIONS(4284),
    [anon_sym_CARET_EQ] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(14110),
    [anon_sym_COLON] = ACTIONS(4284),
    [anon_sym_DOT_DOT] = ACTIONS(14112),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(14114),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(14116),
    [anon_sym_AMP_AMP] = ACTIONS(14116),
    [anon_sym_LT_LT] = ACTIONS(14118),
    [anon_sym_GT_GT] = ACTIONS(14118),
    [anon_sym_EQ_EQ] = ACTIONS(14116),
    [anon_sym_BANG_EQ] = ACTIONS(14120),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(14120),
    [anon_sym_LT_EQ_GT] = ACTIONS(14120),
    [anon_sym_EQ_TILDE] = ACTIONS(14120),
    [anon_sym_BANG_TILDE] = ACTIONS(14120),
    [anon_sym_LT_EQ] = ACTIONS(14108),
    [anon_sym_GT] = ACTIONS(14108),
    [anon_sym_GT_EQ] = ACTIONS(14122),
    [anon_sym_CARET] = ACTIONS(14102),
    [anon_sym_PLUS] = ACTIONS(14124),
    [anon_sym_SLASH] = ACTIONS(14104),
    [anon_sym_PERCENT] = ACTIONS(14104),
    [sym_comment] = ACTIONS(256),
  },
  [8319] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(11272),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_COLON] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2872),
    [anon_sym_AMP_AMP] = ACTIONS(2872),
    [anon_sym_LT_LT] = ACTIONS(2872),
    [anon_sym_GT_GT] = ACTIONS(2872),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2872),
    [anon_sym_PLUS] = ACTIONS(2872),
    [anon_sym_SLASH] = ACTIONS(2872),
    [anon_sym_PERCENT] = ACTIONS(2872),
    [sym_comment] = ACTIONS(256),
  },
  [8320] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(11266),
    [sym__binary_star] = ACTIONS(11268),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(11270),
    [anon_sym_STAR_STAR] = ACTIONS(11272),
    [anon_sym_AMP] = ACTIONS(11274),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(11276),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(11278),
    [anon_sym_COLON] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(11280),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11282),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(11284),
    [anon_sym_AMP_AMP] = ACTIONS(11284),
    [anon_sym_LT_LT] = ACTIONS(11286),
    [anon_sym_GT_GT] = ACTIONS(11286),
    [anon_sym_EQ_EQ] = ACTIONS(11284),
    [anon_sym_BANG_EQ] = ACTIONS(11288),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11288),
    [anon_sym_LT_EQ_GT] = ACTIONS(11288),
    [anon_sym_EQ_TILDE] = ACTIONS(11288),
    [anon_sym_BANG_TILDE] = ACTIONS(11288),
    [anon_sym_LT_EQ] = ACTIONS(11276),
    [anon_sym_GT] = ACTIONS(11276),
    [anon_sym_GT_EQ] = ACTIONS(11290),
    [anon_sym_CARET] = ACTIONS(11270),
    [anon_sym_PLUS] = ACTIONS(11292),
    [anon_sym_SLASH] = ACTIONS(11272),
    [anon_sym_PERCENT] = ACTIONS(11272),
    [sym_comment] = ACTIONS(256),
  },
  [8321] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(11187),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(8309),
    [sym_call] = STATE(8309),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(8310),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(8311),
    [sym__variable] = STATE(8309),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(11234),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(11236),
    [anon_sym_yield] = ACTIONS(11238),
    [anon_sym_break] = ACTIONS(11240),
    [anon_sym_next] = ACTIONS(11242),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(11244),
    [anon_sym_defined_QMARK] = ACTIONS(11246),
    [anon_sym_not] = ACTIONS(11248),
    [anon_sym_BANG] = ACTIONS(11250),
    [anon_sym_TILDE] = ACTIONS(11250),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [8322] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(11188),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4892),
    [sym_call] = STATE(4892),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4894),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4895),
    [sym__variable] = STATE(4892),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(7082),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(11252),
    [anon_sym_yield] = ACTIONS(11254),
    [anon_sym_break] = ACTIONS(11256),
    [anon_sym_next] = ACTIONS(11258),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(11260),
    [anon_sym_defined_QMARK] = ACTIONS(7092),
    [anon_sym_not] = ACTIONS(11262),
    [anon_sym_BANG] = ACTIONS(7098),
    [anon_sym_TILDE] = ACTIONS(7098),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [8323] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(11189),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4892),
    [sym_call] = STATE(4892),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4894),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4895),
    [sym__variable] = STATE(4892),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(7082),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(11252),
    [anon_sym_yield] = ACTIONS(11254),
    [anon_sym_break] = ACTIONS(11256),
    [anon_sym_next] = ACTIONS(11258),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(11260),
    [anon_sym_defined_QMARK] = ACTIONS(7092),
    [anon_sym_not] = ACTIONS(11262),
    [anon_sym_BANG] = ACTIONS(7098),
    [anon_sym_TILDE] = ACTIONS(7098),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [8324] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(11190),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4892),
    [sym_call] = STATE(4892),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4894),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4895),
    [sym__variable] = STATE(4892),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(7082),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(11252),
    [anon_sym_yield] = ACTIONS(11254),
    [anon_sym_break] = ACTIONS(11256),
    [anon_sym_next] = ACTIONS(11258),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(11260),
    [anon_sym_defined_QMARK] = ACTIONS(7092),
    [anon_sym_not] = ACTIONS(11262),
    [anon_sym_BANG] = ACTIONS(7098),
    [anon_sym_TILDE] = ACTIONS(7098),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [8325] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(11191),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4892),
    [sym_call] = STATE(4892),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4894),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4895),
    [sym__variable] = STATE(4892),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(7082),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(11252),
    [anon_sym_yield] = ACTIONS(11254),
    [anon_sym_break] = ACTIONS(11256),
    [anon_sym_next] = ACTIONS(11258),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(11260),
    [anon_sym_defined_QMARK] = ACTIONS(7092),
    [anon_sym_not] = ACTIONS(11262),
    [anon_sym_BANG] = ACTIONS(7098),
    [anon_sym_TILDE] = ACTIONS(7098),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [8326] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(11192),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4892),
    [sym_call] = STATE(4892),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4894),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4895),
    [sym__variable] = STATE(4892),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(7082),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(11252),
    [anon_sym_yield] = ACTIONS(11254),
    [anon_sym_break] = ACTIONS(11256),
    [anon_sym_next] = ACTIONS(11258),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(11260),
    [anon_sym_defined_QMARK] = ACTIONS(7092),
    [anon_sym_not] = ACTIONS(11262),
    [anon_sym_BANG] = ACTIONS(7098),
    [anon_sym_TILDE] = ACTIONS(7098),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [8327] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(11193),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4892),
    [sym_call] = STATE(4892),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4894),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4895),
    [sym__variable] = STATE(4892),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(7082),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(11252),
    [anon_sym_yield] = ACTIONS(11254),
    [anon_sym_break] = ACTIONS(11256),
    [anon_sym_next] = ACTIONS(11258),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(11260),
    [anon_sym_defined_QMARK] = ACTIONS(7092),
    [anon_sym_not] = ACTIONS(11262),
    [anon_sym_BANG] = ACTIONS(7098),
    [anon_sym_TILDE] = ACTIONS(7098),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [8328] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(11194),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [8329] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(11195),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4892),
    [sym_call] = STATE(4892),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4894),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4895),
    [sym__variable] = STATE(4892),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(7082),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(11252),
    [anon_sym_yield] = ACTIONS(11254),
    [anon_sym_break] = ACTIONS(11256),
    [anon_sym_next] = ACTIONS(11258),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(11260),
    [anon_sym_defined_QMARK] = ACTIONS(7092),
    [anon_sym_not] = ACTIONS(11262),
    [anon_sym_BANG] = ACTIONS(7098),
    [anon_sym_TILDE] = ACTIONS(7098),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [8330] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(11196),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4892),
    [sym_call] = STATE(4892),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4894),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4895),
    [sym__variable] = STATE(4892),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(7082),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(11252),
    [anon_sym_yield] = ACTIONS(11254),
    [anon_sym_break] = ACTIONS(11256),
    [anon_sym_next] = ACTIONS(11258),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(11260),
    [anon_sym_defined_QMARK] = ACTIONS(7092),
    [anon_sym_not] = ACTIONS(11262),
    [anon_sym_BANG] = ACTIONS(7098),
    [anon_sym_TILDE] = ACTIONS(7098),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [8331] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(11197),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4892),
    [sym_call] = STATE(4892),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4894),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4895),
    [sym__variable] = STATE(4892),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(7082),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(11252),
    [anon_sym_yield] = ACTIONS(11254),
    [anon_sym_break] = ACTIONS(11256),
    [anon_sym_next] = ACTIONS(11258),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(11260),
    [anon_sym_defined_QMARK] = ACTIONS(7092),
    [anon_sym_not] = ACTIONS(11262),
    [anon_sym_BANG] = ACTIONS(7098),
    [anon_sym_TILDE] = ACTIONS(7098),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [8332] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(11198),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4892),
    [sym_call] = STATE(4892),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4894),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4895),
    [sym__variable] = STATE(4892),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(7082),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(11252),
    [anon_sym_yield] = ACTIONS(11254),
    [anon_sym_break] = ACTIONS(11256),
    [anon_sym_next] = ACTIONS(11258),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(11260),
    [anon_sym_defined_QMARK] = ACTIONS(7092),
    [anon_sym_not] = ACTIONS(11262),
    [anon_sym_BANG] = ACTIONS(7098),
    [anon_sym_TILDE] = ACTIONS(7098),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [8333] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(11199),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4892),
    [sym_call] = STATE(4892),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4894),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4895),
    [sym__variable] = STATE(4892),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(7082),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(11252),
    [anon_sym_yield] = ACTIONS(11254),
    [anon_sym_break] = ACTIONS(11256),
    [anon_sym_next] = ACTIONS(11258),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(11260),
    [anon_sym_defined_QMARK] = ACTIONS(7092),
    [anon_sym_not] = ACTIONS(11262),
    [anon_sym_BANG] = ACTIONS(7098),
    [anon_sym_TILDE] = ACTIONS(7098),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [8334] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(4891),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4892),
    [sym_call] = STATE(4892),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(9329),
    [sym_splat_argument] = STATE(2961),
    [sym_hash_splat_argument] = STATE(2961),
    [sym_block_argument] = STATE(2961),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4894),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4895),
    [sym__variable] = STATE(4892),
    [sym_reserved_identifier] = STATE(4896),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(4897),
    [sym_subshell] = STATE(1062),
    [sym_heredoc_end] = STATE(11200),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(2961),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__block_ampersand] = ACTIONS(7078),
    [sym__splat_star] = ACTIONS(7080),
    [sym__unary_minus] = ACTIONS(7082),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(14132),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(7084),
    [anon_sym_yield] = ACTIONS(7086),
    [anon_sym_break] = ACTIONS(7088),
    [anon_sym_next] = ACTIONS(7090),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(11260),
    [anon_sym_defined_QMARK] = ACTIONS(7092),
    [anon_sym_not] = ACTIONS(7094),
    [anon_sym_BANG] = ACTIONS(7098),
    [anon_sym_TILDE] = ACTIONS(7098),
    [sym_constant] = ACTIONS(7100),
    [sym_identifier] = ACTIONS(7100),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [8335] = {
    [sym_heredoc_end] = STATE(6092),
    [aux_sym_argument_list_repeat2] = STATE(9332),
    [sym__simple_heredoc_body] = ACTIONS(8530),
    [sym__heredoc_body_beginning] = ACTIONS(8532),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_LBRACE] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(14134),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_STAR_STAR] = ACTIONS(5474),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_EQ] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_do] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_PLUS_EQ] = ACTIONS(5472),
    [anon_sym_DASH_EQ] = ACTIONS(5472),
    [anon_sym_STAR_EQ] = ACTIONS(5472),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5472),
    [anon_sym_SLASH_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5472),
    [anon_sym_AMP_EQ] = ACTIONS(5472),
    [anon_sym_PERCENT_EQ] = ACTIONS(5472),
    [anon_sym_GT_GT_EQ] = ACTIONS(5472),
    [anon_sym_LT_LT_EQ] = ACTIONS(5472),
    [anon_sym_CARET_EQ] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_COLON] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5474),
    [anon_sym_AMP_AMP] = ACTIONS(5474),
    [anon_sym_LT_LT] = ACTIONS(5474),
    [anon_sym_GT_GT] = ACTIONS(5474),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5474),
    [anon_sym_PLUS] = ACTIONS(5474),
    [anon_sym_SLASH] = ACTIONS(5474),
    [anon_sym_PERCENT] = ACTIONS(5474),
    [sym_comment] = ACTIONS(256),
  },
  [8336] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(11202),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4892),
    [sym_call] = STATE(4892),
    [sym_method_call] = STATE(503),
    [sym_splat_argument] = STATE(6231),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_right_assignment_list] = STATE(6232),
    [sym__arg_or_splat_arg] = STATE(11203),
    [sym_left_assignment_list] = STATE(4894),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4895),
    [sym__variable] = STATE(4892),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__splat_star] = ACTIONS(11220),
    [sym__unary_minus] = ACTIONS(7082),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(11252),
    [anon_sym_yield] = ACTIONS(11254),
    [anon_sym_break] = ACTIONS(11256),
    [anon_sym_next] = ACTIONS(11258),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(11260),
    [anon_sym_defined_QMARK] = ACTIONS(7092),
    [anon_sym_not] = ACTIONS(11262),
    [anon_sym_BANG] = ACTIONS(7098),
    [anon_sym_TILDE] = ACTIONS(7098),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [8337] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(11204),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(4892),
    [sym_call] = STATE(4892),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(4894),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(4895),
    [sym__variable] = STATE(4892),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(7082),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(11252),
    [anon_sym_yield] = ACTIONS(11254),
    [anon_sym_break] = ACTIONS(11256),
    [anon_sym_next] = ACTIONS(11258),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(11260),
    [anon_sym_defined_QMARK] = ACTIONS(7092),
    [anon_sym_not] = ACTIONS(11262),
    [anon_sym_BANG] = ACTIONS(7098),
    [anon_sym_TILDE] = ACTIONS(7098),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [8338] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(11205),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(8309),
    [sym_call] = STATE(8309),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(8310),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(8311),
    [sym__variable] = STATE(8309),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(11234),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(11236),
    [anon_sym_yield] = ACTIONS(11238),
    [anon_sym_break] = ACTIONS(11240),
    [anon_sym_next] = ACTIONS(11242),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(11244),
    [anon_sym_defined_QMARK] = ACTIONS(11246),
    [anon_sym_not] = ACTIONS(11248),
    [anon_sym_BANG] = ACTIONS(11250),
    [anon_sym_TILDE] = ACTIONS(11250),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [8339] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(11206),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(8346),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(8347),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(11306),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(11308),
    [anon_sym_defined_QMARK] = ACTIONS(11310),
    [anon_sym_not] = ACTIONS(11312),
    [anon_sym_BANG] = ACTIONS(11314),
    [anon_sym_TILDE] = ACTIONS(11314),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [8340] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(11207),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(8346),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(8347),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(11306),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(11308),
    [anon_sym_defined_QMARK] = ACTIONS(11310),
    [anon_sym_not] = ACTIONS(11312),
    [anon_sym_BANG] = ACTIONS(11314),
    [anon_sym_TILDE] = ACTIONS(11314),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [8341] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(11208),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(8346),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(8347),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(11306),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(11308),
    [anon_sym_defined_QMARK] = ACTIONS(11310),
    [anon_sym_not] = ACTIONS(11312),
    [anon_sym_BANG] = ACTIONS(11314),
    [anon_sym_TILDE] = ACTIONS(11314),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [8342] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(11209),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(8346),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(8347),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(11306),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(11308),
    [anon_sym_defined_QMARK] = ACTIONS(11310),
    [anon_sym_not] = ACTIONS(11312),
    [anon_sym_BANG] = ACTIONS(11314),
    [anon_sym_TILDE] = ACTIONS(11314),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [8343] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(1027),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(8346),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(8347),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(11306),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(11308),
    [anon_sym_defined_QMARK] = ACTIONS(11310),
    [anon_sym_not] = ACTIONS(11312),
    [anon_sym_BANG] = ACTIONS(11314),
    [anon_sym_TILDE] = ACTIONS(11314),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [8344] = {
    [sym__binary_minus] = ACTIONS(14136),
    [sym__binary_star] = ACTIONS(14138),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(14140),
    [anon_sym_STAR_STAR] = ACTIONS(14142),
    [anon_sym_AMP] = ACTIONS(14144),
    [anon_sym_LT] = ACTIONS(14146),
    [anon_sym_QMARK] = ACTIONS(14148),
    [anon_sym_COLON] = ACTIONS(6346),
    [anon_sym_DOT_DOT] = ACTIONS(14150),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(14152),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(14154),
    [anon_sym_AMP_AMP] = ACTIONS(14154),
    [anon_sym_LT_LT] = ACTIONS(14156),
    [anon_sym_GT_GT] = ACTIONS(14156),
    [anon_sym_EQ_EQ] = ACTIONS(14158),
    [anon_sym_BANG_EQ] = ACTIONS(14154),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(14154),
    [anon_sym_LT_EQ_GT] = ACTIONS(14154),
    [anon_sym_EQ_TILDE] = ACTIONS(14154),
    [anon_sym_BANG_TILDE] = ACTIONS(14154),
    [anon_sym_LT_EQ] = ACTIONS(14146),
    [anon_sym_GT] = ACTIONS(14146),
    [anon_sym_GT_EQ] = ACTIONS(14160),
    [anon_sym_CARET] = ACTIONS(14162),
    [anon_sym_PLUS] = ACTIONS(14164),
    [anon_sym_SLASH] = ACTIONS(14142),
    [anon_sym_PERCENT] = ACTIONS(14142),
    [sym_comment] = ACTIONS(110),
  },
  [8345] = {
    [aux_sym_exceptions_repeat1] = STATE(11223),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_COMMA] = ACTIONS(14166),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_COLON] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [8346] = {
    [anon_sym_EQ] = ACTIONS(14168),
    [sym_comment] = ACTIONS(256),
  },
  [8347] = {
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(14170),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(14172),
    [anon_sym_DASH_EQ] = ACTIONS(14172),
    [anon_sym_STAR_EQ] = ACTIONS(14172),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(14172),
    [anon_sym_SLASH_EQ] = ACTIONS(14172),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(14172),
    [anon_sym_PIPE_EQ] = ACTIONS(14172),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(14172),
    [anon_sym_AMP_EQ] = ACTIONS(14172),
    [anon_sym_PERCENT_EQ] = ACTIONS(14172),
    [anon_sym_GT_GT_EQ] = ACTIONS(14172),
    [anon_sym_LT_LT_EQ] = ACTIONS(14172),
    [anon_sym_CARET_EQ] = ACTIONS(14172),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_COLON] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [8348] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(7344),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [8349] = {
    [sym__simple_heredoc_body] = ACTIONS(14174),
    [sym__heredoc_body_beginning] = ACTIONS(14174),
    [sym__line_break] = ACTIONS(14174),
    [sym__element_reference_left_bracket] = ACTIONS(14174),
    [sym__scope_double_colon] = ACTIONS(14174),
    [sym__binary_minus] = ACTIONS(14174),
    [sym__binary_star] = ACTIONS(14174),
    [ts_builtin_sym_end] = ACTIONS(14174),
    [anon_sym___END__] = ACTIONS(14174),
    [anon_sym_LBRACE] = ACTIONS(14174),
    [anon_sym_RBRACE] = ACTIONS(14174),
    [anon_sym_RPAREN] = ACTIONS(14174),
    [anon_sym_DOT] = ACTIONS(14176),
    [anon_sym_end] = ACTIONS(14174),
    [anon_sym_COMMA] = ACTIONS(14174),
    [anon_sym_PIPE] = ACTIONS(14176),
    [anon_sym_SEMI] = ACTIONS(14174),
    [anon_sym_STAR_STAR] = ACTIONS(14176),
    [anon_sym_AMP] = ACTIONS(14176),
    [anon_sym_EQ] = ACTIONS(14176),
    [anon_sym_LT] = ACTIONS(14176),
    [anon_sym_if] = ACTIONS(14174),
    [anon_sym_unless] = ACTIONS(14174),
    [anon_sym_while] = ACTIONS(14174),
    [anon_sym_until] = ACTIONS(14174),
    [anon_sym_rescue] = ACTIONS(14174),
    [anon_sym_do] = ACTIONS(14174),
    [anon_sym_when] = ACTIONS(14174),
    [anon_sym_elsif] = ACTIONS(14174),
    [anon_sym_else] = ACTIONS(14174),
    [anon_sym_then] = ACTIONS(14174),
    [anon_sym_ensure] = ACTIONS(14174),
    [anon_sym_AMP_DOT] = ACTIONS(14174),
    [anon_sym_PLUS_EQ] = ACTIONS(14174),
    [anon_sym_DASH_EQ] = ACTIONS(14174),
    [anon_sym_STAR_EQ] = ACTIONS(14174),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(14174),
    [anon_sym_SLASH_EQ] = ACTIONS(14174),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(14174),
    [anon_sym_PIPE_EQ] = ACTIONS(14174),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(14174),
    [anon_sym_AMP_EQ] = ACTIONS(14174),
    [anon_sym_PERCENT_EQ] = ACTIONS(14174),
    [anon_sym_GT_GT_EQ] = ACTIONS(14174),
    [anon_sym_LT_LT_EQ] = ACTIONS(14174),
    [anon_sym_CARET_EQ] = ACTIONS(14174),
    [anon_sym_QMARK] = ACTIONS(14174),
    [anon_sym_DOT_DOT] = ACTIONS(14176),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(14174),
    [anon_sym_and] = ACTIONS(14174),
    [anon_sym_or] = ACTIONS(14174),
    [anon_sym_PIPE_PIPE] = ACTIONS(14176),
    [anon_sym_AMP_AMP] = ACTIONS(14176),
    [anon_sym_LT_LT] = ACTIONS(14176),
    [anon_sym_GT_GT] = ACTIONS(14176),
    [anon_sym_EQ_EQ] = ACTIONS(14176),
    [anon_sym_BANG_EQ] = ACTIONS(14174),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(14174),
    [anon_sym_LT_EQ_GT] = ACTIONS(14174),
    [anon_sym_EQ_TILDE] = ACTIONS(14174),
    [anon_sym_BANG_TILDE] = ACTIONS(14174),
    [anon_sym_LT_EQ] = ACTIONS(14176),
    [anon_sym_GT] = ACTIONS(14176),
    [anon_sym_GT_EQ] = ACTIONS(14174),
    [anon_sym_CARET] = ACTIONS(14176),
    [anon_sym_PLUS] = ACTIONS(14176),
    [anon_sym_SLASH] = ACTIONS(14176),
    [anon_sym_PERCENT] = ACTIONS(14176),
    [sym_comment] = ACTIONS(256),
  },
  [8350] = {
    [sym__simple_string] = ACTIONS(9456),
    [sym__simple_symbol] = ACTIONS(9456),
    [sym__simple_subshell] = ACTIONS(9456),
    [sym__simple_regex] = ACTIONS(9456),
    [sym__simple_word_list] = ACTIONS(9456),
    [sym__simple_heredoc_body] = ACTIONS(9456),
    [sym__string_beginning] = ACTIONS(9456),
    [sym__symbol_beginning] = ACTIONS(9456),
    [sym__subshell_beginning] = ACTIONS(9456),
    [sym__regex_beginning] = ACTIONS(9456),
    [sym__word_list_beginning] = ACTIONS(9456),
    [sym__heredoc_body_beginning] = ACTIONS(9456),
    [sym_heredoc_beginning] = ACTIONS(9456),
    [sym__line_break] = ACTIONS(9456),
    [sym__element_reference_left_bracket] = ACTIONS(9456),
    [sym__block_ampersand] = ACTIONS(9456),
    [sym__splat_star] = ACTIONS(9456),
    [sym__argument_list_left_paren] = ACTIONS(9456),
    [sym__scope_double_colon] = ACTIONS(9456),
    [sym__unary_minus] = ACTIONS(9456),
    [sym__binary_minus] = ACTIONS(9456),
    [sym__binary_star] = ACTIONS(9456),
    [ts_builtin_sym_end] = ACTIONS(9456),
    [anon_sym___END__] = ACTIONS(9458),
    [anon_sym_LBRACE] = ACTIONS(9456),
    [anon_sym_def] = ACTIONS(9458),
    [anon_sym_LPAREN] = ACTIONS(9456),
    [anon_sym_DOT] = ACTIONS(9458),
    [anon_sym_COLON_COLON] = ACTIONS(9456),
    [anon_sym_end] = ACTIONS(9458),
    [anon_sym_COMMA] = ACTIONS(9456),
    [anon_sym_PIPE] = ACTIONS(9458),
    [anon_sym_SEMI] = ACTIONS(9456),
    [anon_sym_STAR] = ACTIONS(9458),
    [anon_sym_STAR_STAR] = ACTIONS(9458),
    [anon_sym_AMP] = ACTIONS(9458),
    [anon_sym_EQ] = ACTIONS(9458),
    [anon_sym_class] = ACTIONS(9458),
    [anon_sym_LT] = ACTIONS(9458),
    [anon_sym_module] = ACTIONS(9458),
    [anon_sym_return] = ACTIONS(9458),
    [anon_sym_yield] = ACTIONS(9458),
    [anon_sym_break] = ACTIONS(9458),
    [anon_sym_next] = ACTIONS(9458),
    [anon_sym_redo] = ACTIONS(9458),
    [anon_sym_retry] = ACTIONS(9458),
    [anon_sym_if] = ACTIONS(9458),
    [anon_sym_unless] = ACTIONS(9458),
    [anon_sym_while] = ACTIONS(9458),
    [anon_sym_until] = ACTIONS(9458),
    [anon_sym_rescue] = ACTIONS(9458),
    [anon_sym_for] = ACTIONS(9458),
    [anon_sym_in] = ACTIONS(9458),
    [anon_sym_do] = ACTIONS(9458),
    [anon_sym_case] = ACTIONS(9458),
    [anon_sym_when] = ACTIONS(9458),
    [anon_sym_elsif] = ACTIONS(9458),
    [anon_sym_else] = ACTIONS(9458),
    [anon_sym_then] = ACTIONS(9458),
    [anon_sym_begin] = ACTIONS(9458),
    [anon_sym_ensure] = ACTIONS(9458),
    [anon_sym_AMP_DOT] = ACTIONS(9456),
    [anon_sym_PLUS_EQ] = ACTIONS(9456),
    [anon_sym_DASH_EQ] = ACTIONS(9456),
    [anon_sym_STAR_EQ] = ACTIONS(9456),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9456),
    [anon_sym_SLASH_EQ] = ACTIONS(9456),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9456),
    [anon_sym_PIPE_EQ] = ACTIONS(9456),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9456),
    [anon_sym_AMP_EQ] = ACTIONS(9456),
    [anon_sym_PERCENT_EQ] = ACTIONS(9456),
    [anon_sym_GT_GT_EQ] = ACTIONS(9456),
    [anon_sym_LT_LT_EQ] = ACTIONS(9456),
    [anon_sym_CARET_EQ] = ACTIONS(9456),
    [anon_sym_QMARK] = ACTIONS(9458),
    [anon_sym_DOT_DOT] = ACTIONS(9458),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9456),
    [anon_sym_and] = ACTIONS(9458),
    [anon_sym_or] = ACTIONS(9458),
    [anon_sym_PIPE_PIPE] = ACTIONS(9458),
    [anon_sym_AMP_AMP] = ACTIONS(9458),
    [anon_sym_LT_LT] = ACTIONS(9458),
    [anon_sym_GT_GT] = ACTIONS(9458),
    [anon_sym_EQ_EQ] = ACTIONS(9458),
    [anon_sym_BANG_EQ] = ACTIONS(9456),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9456),
    [anon_sym_LT_EQ_GT] = ACTIONS(9456),
    [anon_sym_EQ_TILDE] = ACTIONS(9456),
    [anon_sym_BANG_TILDE] = ACTIONS(9456),
    [anon_sym_LT_EQ] = ACTIONS(9458),
    [anon_sym_GT] = ACTIONS(9458),
    [anon_sym_GT_EQ] = ACTIONS(9456),
    [anon_sym_CARET] = ACTIONS(9458),
    [anon_sym_PLUS] = ACTIONS(9458),
    [anon_sym_SLASH] = ACTIONS(9458),
    [anon_sym_PERCENT] = ACTIONS(9458),
    [anon_sym_defined_QMARK] = ACTIONS(9456),
    [anon_sym_not] = ACTIONS(9458),
    [anon_sym_BANG] = ACTIONS(9458),
    [anon_sym_TILDE] = ACTIONS(9456),
    [sym_constant] = ACTIONS(14178),
    [sym_identifier] = ACTIONS(14178),
    [sym_instance_variable] = ACTIONS(9458),
    [sym_class_variable] = ACTIONS(9458),
    [sym_global_variable] = ACTIONS(9458),
    [anon_sym_alias] = ACTIONS(9458),
    [anon_sym_defined] = ACTIONS(9458),
    [anon_sym_false] = ACTIONS(9458),
    [anon_sym_nil] = ACTIONS(9458),
    [anon_sym_self] = ACTIONS(9458),
    [anon_sym_super] = ACTIONS(9458),
    [anon_sym_true] = ACTIONS(9458),
    [anon_sym_undef] = ACTIONS(9458),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(9458),
    [sym_float] = ACTIONS(14178),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(9456),
    [anon_sym_TRUE] = ACTIONS(9458),
    [anon_sym_FALSE] = ACTIONS(9458),
    [anon_sym_NIL] = ACTIONS(9458),
    [sym_keyword__FILE__] = ACTIONS(9458),
    [sym_keyword__LINE__] = ACTIONS(9458),
    [sym_keyword__ENCODING__] = ACTIONS(9458),
    [sym__character_literal] = ACTIONS(9458),
    [anon_sym_LBRACK] = ACTIONS(9456),
    [anon_sym_DASH_GT] = ACTIONS(9456),
  },
  [8351] = {
    [anon_sym_RPAREN] = ACTIONS(14180),
    [sym_comment] = ACTIONS(110),
  },
  [8352] = {
    [sym__simple_string] = ACTIONS(7678),
    [sym__simple_heredoc_body] = ACTIONS(7678),
    [sym__string_beginning] = ACTIONS(7678),
    [sym__heredoc_body_beginning] = ACTIONS(7678),
    [sym__line_break] = ACTIONS(7678),
    [sym__element_reference_left_bracket] = ACTIONS(7678),
    [sym__scope_double_colon] = ACTIONS(7678),
    [sym__keyword_colon] = ACTIONS(7678),
    [sym__binary_minus] = ACTIONS(7678),
    [sym__binary_star] = ACTIONS(7678),
    [ts_builtin_sym_end] = ACTIONS(7678),
    [anon_sym___END__] = ACTIONS(7678),
    [anon_sym_LBRACE] = ACTIONS(7678),
    [anon_sym_RBRACE] = ACTIONS(7678),
    [anon_sym_RPAREN] = ACTIONS(7678),
    [anon_sym_DOT] = ACTIONS(7680),
    [anon_sym_end] = ACTIONS(7678),
    [anon_sym_COMMA] = ACTIONS(7678),
    [anon_sym_PIPE] = ACTIONS(7680),
    [anon_sym_SEMI] = ACTIONS(7678),
    [anon_sym_STAR_STAR] = ACTIONS(7680),
    [anon_sym_AMP] = ACTIONS(7680),
    [anon_sym_EQ] = ACTIONS(7680),
    [anon_sym_LT] = ACTIONS(7680),
    [anon_sym_if] = ACTIONS(7678),
    [anon_sym_unless] = ACTIONS(7678),
    [anon_sym_while] = ACTIONS(7678),
    [anon_sym_until] = ACTIONS(7678),
    [anon_sym_rescue] = ACTIONS(7678),
    [anon_sym_do] = ACTIONS(7678),
    [anon_sym_when] = ACTIONS(7678),
    [anon_sym_elsif] = ACTIONS(7678),
    [anon_sym_else] = ACTIONS(7678),
    [anon_sym_then] = ACTIONS(7678),
    [anon_sym_ensure] = ACTIONS(7678),
    [anon_sym_EQ_GT] = ACTIONS(7678),
    [anon_sym_AMP_DOT] = ACTIONS(7678),
    [anon_sym_PLUS_EQ] = ACTIONS(7678),
    [anon_sym_DASH_EQ] = ACTIONS(7678),
    [anon_sym_STAR_EQ] = ACTIONS(7678),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7678),
    [anon_sym_SLASH_EQ] = ACTIONS(7678),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7678),
    [anon_sym_PIPE_EQ] = ACTIONS(7678),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7678),
    [anon_sym_AMP_EQ] = ACTIONS(7678),
    [anon_sym_PERCENT_EQ] = ACTIONS(7678),
    [anon_sym_GT_GT_EQ] = ACTIONS(7678),
    [anon_sym_LT_LT_EQ] = ACTIONS(7678),
    [anon_sym_CARET_EQ] = ACTIONS(7678),
    [anon_sym_QMARK] = ACTIONS(7680),
    [anon_sym_DOT_DOT] = ACTIONS(7680),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7678),
    [anon_sym_and] = ACTIONS(7678),
    [anon_sym_or] = ACTIONS(7678),
    [anon_sym_PIPE_PIPE] = ACTIONS(7680),
    [anon_sym_AMP_AMP] = ACTIONS(7680),
    [anon_sym_LT_LT] = ACTIONS(7680),
    [anon_sym_GT_GT] = ACTIONS(7680),
    [anon_sym_EQ_EQ] = ACTIONS(7680),
    [anon_sym_BANG_EQ] = ACTIONS(7678),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7678),
    [anon_sym_LT_EQ_GT] = ACTIONS(7678),
    [anon_sym_EQ_TILDE] = ACTIONS(7678),
    [anon_sym_BANG_TILDE] = ACTIONS(7678),
    [anon_sym_LT_EQ] = ACTIONS(7680),
    [anon_sym_GT] = ACTIONS(7680),
    [anon_sym_GT_EQ] = ACTIONS(7678),
    [anon_sym_CARET] = ACTIONS(7680),
    [anon_sym_PLUS] = ACTIONS(7680),
    [anon_sym_SLASH] = ACTIONS(7680),
    [anon_sym_PERCENT] = ACTIONS(7680),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(7680),
  },
  [8353] = {
    [sym__simple_heredoc_body] = ACTIONS(7682),
    [sym__heredoc_body_beginning] = ACTIONS(7682),
    [sym__line_break] = ACTIONS(7682),
    [sym__element_reference_left_bracket] = ACTIONS(7682),
    [sym__scope_double_colon] = ACTIONS(7682),
    [sym__binary_minus] = ACTIONS(7682),
    [sym__binary_star] = ACTIONS(7682),
    [ts_builtin_sym_end] = ACTIONS(7682),
    [anon_sym___END__] = ACTIONS(7682),
    [anon_sym_LBRACE] = ACTIONS(7682),
    [anon_sym_RBRACE] = ACTIONS(7682),
    [anon_sym_RPAREN] = ACTIONS(7682),
    [anon_sym_DOT] = ACTIONS(7684),
    [anon_sym_end] = ACTIONS(7682),
    [anon_sym_COMMA] = ACTIONS(7682),
    [anon_sym_PIPE] = ACTIONS(7684),
    [anon_sym_SEMI] = ACTIONS(7682),
    [anon_sym_STAR_STAR] = ACTIONS(7684),
    [anon_sym_AMP] = ACTIONS(7684),
    [anon_sym_EQ] = ACTIONS(7684),
    [anon_sym_LT] = ACTIONS(7684),
    [anon_sym_if] = ACTIONS(7682),
    [anon_sym_unless] = ACTIONS(7682),
    [anon_sym_while] = ACTIONS(7682),
    [anon_sym_until] = ACTIONS(7682),
    [anon_sym_rescue] = ACTIONS(7682),
    [anon_sym_do] = ACTIONS(7682),
    [anon_sym_when] = ACTIONS(7682),
    [anon_sym_elsif] = ACTIONS(7682),
    [anon_sym_else] = ACTIONS(7682),
    [anon_sym_then] = ACTIONS(7682),
    [anon_sym_ensure] = ACTIONS(7682),
    [anon_sym_EQ_GT] = ACTIONS(7682),
    [anon_sym_AMP_DOT] = ACTIONS(7682),
    [anon_sym_PLUS_EQ] = ACTIONS(7682),
    [anon_sym_DASH_EQ] = ACTIONS(7682),
    [anon_sym_STAR_EQ] = ACTIONS(7682),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7682),
    [anon_sym_SLASH_EQ] = ACTIONS(7682),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7682),
    [anon_sym_PIPE_EQ] = ACTIONS(7682),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7682),
    [anon_sym_AMP_EQ] = ACTIONS(7682),
    [anon_sym_PERCENT_EQ] = ACTIONS(7682),
    [anon_sym_GT_GT_EQ] = ACTIONS(7682),
    [anon_sym_LT_LT_EQ] = ACTIONS(7682),
    [anon_sym_CARET_EQ] = ACTIONS(7682),
    [anon_sym_QMARK] = ACTIONS(7682),
    [anon_sym_DOT_DOT] = ACTIONS(7684),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7682),
    [anon_sym_and] = ACTIONS(7682),
    [anon_sym_or] = ACTIONS(7682),
    [anon_sym_PIPE_PIPE] = ACTIONS(7684),
    [anon_sym_AMP_AMP] = ACTIONS(7684),
    [anon_sym_LT_LT] = ACTIONS(7684),
    [anon_sym_GT_GT] = ACTIONS(7684),
    [anon_sym_EQ_EQ] = ACTIONS(7684),
    [anon_sym_BANG_EQ] = ACTIONS(7682),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7682),
    [anon_sym_LT_EQ_GT] = ACTIONS(7682),
    [anon_sym_EQ_TILDE] = ACTIONS(7682),
    [anon_sym_BANG_TILDE] = ACTIONS(7682),
    [anon_sym_LT_EQ] = ACTIONS(7684),
    [anon_sym_GT] = ACTIONS(7684),
    [anon_sym_GT_EQ] = ACTIONS(7682),
    [anon_sym_CARET] = ACTIONS(7684),
    [anon_sym_PLUS] = ACTIONS(7684),
    [anon_sym_SLASH] = ACTIONS(7684),
    [anon_sym_PERCENT] = ACTIONS(7684),
    [sym_comment] = ACTIONS(256),
  },
  [8354] = {
    [sym__simple_heredoc_body] = ACTIONS(7686),
    [sym__heredoc_body_beginning] = ACTIONS(7686),
    [sym__line_break] = ACTIONS(7686),
    [sym__element_reference_left_bracket] = ACTIONS(7686),
    [sym__scope_double_colon] = ACTIONS(7686),
    [sym__binary_minus] = ACTIONS(7686),
    [sym__binary_star] = ACTIONS(7686),
    [ts_builtin_sym_end] = ACTIONS(7686),
    [anon_sym___END__] = ACTIONS(7686),
    [anon_sym_LBRACE] = ACTIONS(7686),
    [anon_sym_RBRACE] = ACTIONS(7686),
    [anon_sym_RPAREN] = ACTIONS(7686),
    [anon_sym_DOT] = ACTIONS(7688),
    [anon_sym_end] = ACTIONS(7686),
    [anon_sym_COMMA] = ACTIONS(7686),
    [anon_sym_PIPE] = ACTIONS(7688),
    [anon_sym_SEMI] = ACTIONS(7686),
    [anon_sym_STAR_STAR] = ACTIONS(7688),
    [anon_sym_AMP] = ACTIONS(7688),
    [anon_sym_EQ] = ACTIONS(7688),
    [anon_sym_LT] = ACTIONS(7688),
    [anon_sym_if] = ACTIONS(7686),
    [anon_sym_unless] = ACTIONS(7686),
    [anon_sym_while] = ACTIONS(7686),
    [anon_sym_until] = ACTIONS(7686),
    [anon_sym_rescue] = ACTIONS(7686),
    [anon_sym_do] = ACTIONS(7686),
    [anon_sym_when] = ACTIONS(7686),
    [anon_sym_elsif] = ACTIONS(7686),
    [anon_sym_else] = ACTIONS(7686),
    [anon_sym_then] = ACTIONS(7686),
    [anon_sym_ensure] = ACTIONS(7686),
    [anon_sym_EQ_GT] = ACTIONS(7686),
    [anon_sym_AMP_DOT] = ACTIONS(7686),
    [anon_sym_PLUS_EQ] = ACTIONS(7686),
    [anon_sym_DASH_EQ] = ACTIONS(7686),
    [anon_sym_STAR_EQ] = ACTIONS(7686),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7686),
    [anon_sym_SLASH_EQ] = ACTIONS(7686),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7686),
    [anon_sym_PIPE_EQ] = ACTIONS(7686),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7686),
    [anon_sym_AMP_EQ] = ACTIONS(7686),
    [anon_sym_PERCENT_EQ] = ACTIONS(7686),
    [anon_sym_GT_GT_EQ] = ACTIONS(7686),
    [anon_sym_LT_LT_EQ] = ACTIONS(7686),
    [anon_sym_CARET_EQ] = ACTIONS(7686),
    [anon_sym_QMARK] = ACTIONS(7686),
    [anon_sym_DOT_DOT] = ACTIONS(7688),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7686),
    [anon_sym_and] = ACTIONS(7686),
    [anon_sym_or] = ACTIONS(7686),
    [anon_sym_PIPE_PIPE] = ACTIONS(7688),
    [anon_sym_AMP_AMP] = ACTIONS(7688),
    [anon_sym_LT_LT] = ACTIONS(7688),
    [anon_sym_GT_GT] = ACTIONS(7688),
    [anon_sym_EQ_EQ] = ACTIONS(7688),
    [anon_sym_BANG_EQ] = ACTIONS(7686),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7686),
    [anon_sym_LT_EQ_GT] = ACTIONS(7686),
    [anon_sym_EQ_TILDE] = ACTIONS(7686),
    [anon_sym_BANG_TILDE] = ACTIONS(7686),
    [anon_sym_LT_EQ] = ACTIONS(7688),
    [anon_sym_GT] = ACTIONS(7688),
    [anon_sym_GT_EQ] = ACTIONS(7686),
    [anon_sym_CARET] = ACTIONS(7688),
    [anon_sym_PLUS] = ACTIONS(7688),
    [anon_sym_SLASH] = ACTIONS(7688),
    [anon_sym_PERCENT] = ACTIONS(7688),
    [sym_comment] = ACTIONS(256),
  },
  [8355] = {
    [sym__simple_heredoc_body] = ACTIONS(7690),
    [sym__heredoc_body_beginning] = ACTIONS(7690),
    [sym__line_break] = ACTIONS(7690),
    [sym__element_reference_left_bracket] = ACTIONS(7690),
    [sym__scope_double_colon] = ACTIONS(7690),
    [sym__binary_minus] = ACTIONS(7690),
    [sym__binary_star] = ACTIONS(7690),
    [ts_builtin_sym_end] = ACTIONS(7690),
    [anon_sym___END__] = ACTIONS(7690),
    [anon_sym_LBRACE] = ACTIONS(7690),
    [anon_sym_RBRACE] = ACTIONS(7690),
    [anon_sym_RPAREN] = ACTIONS(7690),
    [anon_sym_DOT] = ACTIONS(7692),
    [anon_sym_end] = ACTIONS(7690),
    [anon_sym_COMMA] = ACTIONS(7690),
    [anon_sym_PIPE] = ACTIONS(7692),
    [anon_sym_SEMI] = ACTIONS(7690),
    [anon_sym_STAR_STAR] = ACTIONS(7692),
    [anon_sym_AMP] = ACTIONS(7692),
    [anon_sym_EQ] = ACTIONS(7692),
    [anon_sym_LT] = ACTIONS(7692),
    [anon_sym_if] = ACTIONS(7690),
    [anon_sym_unless] = ACTIONS(7690),
    [anon_sym_while] = ACTIONS(7690),
    [anon_sym_until] = ACTIONS(7690),
    [anon_sym_rescue] = ACTIONS(7690),
    [anon_sym_do] = ACTIONS(7690),
    [anon_sym_when] = ACTIONS(7690),
    [anon_sym_elsif] = ACTIONS(7690),
    [anon_sym_else] = ACTIONS(7690),
    [anon_sym_then] = ACTIONS(7690),
    [anon_sym_ensure] = ACTIONS(7690),
    [anon_sym_EQ_GT] = ACTIONS(7690),
    [anon_sym_AMP_DOT] = ACTIONS(7690),
    [anon_sym_PLUS_EQ] = ACTIONS(7690),
    [anon_sym_DASH_EQ] = ACTIONS(7690),
    [anon_sym_STAR_EQ] = ACTIONS(7690),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7690),
    [anon_sym_SLASH_EQ] = ACTIONS(7690),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7690),
    [anon_sym_PIPE_EQ] = ACTIONS(7690),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7690),
    [anon_sym_AMP_EQ] = ACTIONS(7690),
    [anon_sym_PERCENT_EQ] = ACTIONS(7690),
    [anon_sym_GT_GT_EQ] = ACTIONS(7690),
    [anon_sym_LT_LT_EQ] = ACTIONS(7690),
    [anon_sym_CARET_EQ] = ACTIONS(7690),
    [anon_sym_QMARK] = ACTIONS(7690),
    [anon_sym_DOT_DOT] = ACTIONS(7692),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7690),
    [anon_sym_and] = ACTIONS(7690),
    [anon_sym_or] = ACTIONS(7690),
    [anon_sym_PIPE_PIPE] = ACTIONS(7692),
    [anon_sym_AMP_AMP] = ACTIONS(7692),
    [anon_sym_LT_LT] = ACTIONS(7692),
    [anon_sym_GT_GT] = ACTIONS(7692),
    [anon_sym_EQ_EQ] = ACTIONS(7692),
    [anon_sym_BANG_EQ] = ACTIONS(7690),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7690),
    [anon_sym_LT_EQ_GT] = ACTIONS(7690),
    [anon_sym_EQ_TILDE] = ACTIONS(7690),
    [anon_sym_BANG_TILDE] = ACTIONS(7690),
    [anon_sym_LT_EQ] = ACTIONS(7692),
    [anon_sym_GT] = ACTIONS(7692),
    [anon_sym_GT_EQ] = ACTIONS(7690),
    [anon_sym_CARET] = ACTIONS(7692),
    [anon_sym_PLUS] = ACTIONS(7692),
    [anon_sym_SLASH] = ACTIONS(7692),
    [anon_sym_PERCENT] = ACTIONS(7692),
    [sym_comment] = ACTIONS(256),
  },
  [8356] = {
    [sym__simple_heredoc_body] = ACTIONS(7694),
    [sym__heredoc_body_beginning] = ACTIONS(7694),
    [sym__line_break] = ACTIONS(7694),
    [sym__element_reference_left_bracket] = ACTIONS(7694),
    [sym__scope_double_colon] = ACTIONS(7694),
    [sym__binary_minus] = ACTIONS(7694),
    [sym__binary_star] = ACTIONS(7694),
    [ts_builtin_sym_end] = ACTIONS(7694),
    [anon_sym___END__] = ACTIONS(7694),
    [anon_sym_LBRACE] = ACTIONS(7694),
    [anon_sym_RBRACE] = ACTIONS(7694),
    [anon_sym_RPAREN] = ACTIONS(7694),
    [anon_sym_DOT] = ACTIONS(7696),
    [anon_sym_end] = ACTIONS(7694),
    [anon_sym_COMMA] = ACTIONS(7694),
    [anon_sym_PIPE] = ACTIONS(7696),
    [anon_sym_SEMI] = ACTIONS(7694),
    [anon_sym_STAR_STAR] = ACTIONS(7696),
    [anon_sym_AMP] = ACTIONS(7696),
    [anon_sym_EQ] = ACTIONS(7696),
    [anon_sym_LT] = ACTIONS(7696),
    [anon_sym_if] = ACTIONS(7694),
    [anon_sym_unless] = ACTIONS(7694),
    [anon_sym_while] = ACTIONS(7694),
    [anon_sym_until] = ACTIONS(7694),
    [anon_sym_rescue] = ACTIONS(7694),
    [anon_sym_do] = ACTIONS(7694),
    [anon_sym_when] = ACTIONS(7694),
    [anon_sym_elsif] = ACTIONS(7694),
    [anon_sym_else] = ACTIONS(7694),
    [anon_sym_then] = ACTIONS(7694),
    [anon_sym_ensure] = ACTIONS(7694),
    [anon_sym_EQ_GT] = ACTIONS(7694),
    [anon_sym_AMP_DOT] = ACTIONS(7694),
    [anon_sym_PLUS_EQ] = ACTIONS(7694),
    [anon_sym_DASH_EQ] = ACTIONS(7694),
    [anon_sym_STAR_EQ] = ACTIONS(7694),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7694),
    [anon_sym_SLASH_EQ] = ACTIONS(7694),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7694),
    [anon_sym_PIPE_EQ] = ACTIONS(7694),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7694),
    [anon_sym_AMP_EQ] = ACTIONS(7694),
    [anon_sym_PERCENT_EQ] = ACTIONS(7694),
    [anon_sym_GT_GT_EQ] = ACTIONS(7694),
    [anon_sym_LT_LT_EQ] = ACTIONS(7694),
    [anon_sym_CARET_EQ] = ACTIONS(7694),
    [anon_sym_QMARK] = ACTIONS(7694),
    [anon_sym_DOT_DOT] = ACTIONS(7696),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7694),
    [anon_sym_and] = ACTIONS(7694),
    [anon_sym_or] = ACTIONS(7694),
    [anon_sym_PIPE_PIPE] = ACTIONS(7696),
    [anon_sym_AMP_AMP] = ACTIONS(7696),
    [anon_sym_LT_LT] = ACTIONS(7696),
    [anon_sym_GT_GT] = ACTIONS(7696),
    [anon_sym_EQ_EQ] = ACTIONS(7696),
    [anon_sym_BANG_EQ] = ACTIONS(7694),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7694),
    [anon_sym_LT_EQ_GT] = ACTIONS(7694),
    [anon_sym_EQ_TILDE] = ACTIONS(7694),
    [anon_sym_BANG_TILDE] = ACTIONS(7694),
    [anon_sym_LT_EQ] = ACTIONS(7696),
    [anon_sym_GT] = ACTIONS(7696),
    [anon_sym_GT_EQ] = ACTIONS(7694),
    [anon_sym_CARET] = ACTIONS(7696),
    [anon_sym_PLUS] = ACTIONS(7696),
    [anon_sym_SLASH] = ACTIONS(7696),
    [anon_sym_PERCENT] = ACTIONS(7696),
    [sym_comment] = ACTIONS(256),
  },
  [8357] = {
    [sym__simple_string] = ACTIONS(3612),
    [sym__simple_heredoc_body] = ACTIONS(3612),
    [sym__string_beginning] = ACTIONS(3612),
    [sym__heredoc_body_beginning] = ACTIONS(3612),
    [sym__line_break] = ACTIONS(3612),
    [sym__element_reference_left_bracket] = ACTIONS(3612),
    [sym__scope_double_colon] = ACTIONS(3612),
    [sym__binary_minus] = ACTIONS(3612),
    [sym__binary_star] = ACTIONS(3612),
    [ts_builtin_sym_end] = ACTIONS(3612),
    [anon_sym___END__] = ACTIONS(3612),
    [anon_sym_LBRACE] = ACTIONS(3612),
    [anon_sym_RBRACE] = ACTIONS(3612),
    [anon_sym_RPAREN] = ACTIONS(3612),
    [anon_sym_DOT] = ACTIONS(3614),
    [anon_sym_end] = ACTIONS(3612),
    [anon_sym_COMMA] = ACTIONS(3612),
    [anon_sym_PIPE] = ACTIONS(3614),
    [anon_sym_SEMI] = ACTIONS(3612),
    [anon_sym_STAR_STAR] = ACTIONS(3614),
    [anon_sym_AMP] = ACTIONS(3614),
    [anon_sym_EQ] = ACTIONS(3614),
    [anon_sym_LT] = ACTIONS(3614),
    [anon_sym_if] = ACTIONS(3612),
    [anon_sym_unless] = ACTIONS(3612),
    [anon_sym_while] = ACTIONS(3612),
    [anon_sym_until] = ACTIONS(3612),
    [anon_sym_rescue] = ACTIONS(3612),
    [anon_sym_do] = ACTIONS(3612),
    [anon_sym_when] = ACTIONS(3612),
    [anon_sym_elsif] = ACTIONS(3612),
    [anon_sym_else] = ACTIONS(3612),
    [anon_sym_then] = ACTIONS(3612),
    [anon_sym_ensure] = ACTIONS(3612),
    [anon_sym_AMP_DOT] = ACTIONS(3612),
    [anon_sym_PLUS_EQ] = ACTIONS(3612),
    [anon_sym_DASH_EQ] = ACTIONS(3612),
    [anon_sym_STAR_EQ] = ACTIONS(3612),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3612),
    [anon_sym_SLASH_EQ] = ACTIONS(3612),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3612),
    [anon_sym_PIPE_EQ] = ACTIONS(3612),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3612),
    [anon_sym_AMP_EQ] = ACTIONS(3612),
    [anon_sym_PERCENT_EQ] = ACTIONS(3612),
    [anon_sym_GT_GT_EQ] = ACTIONS(3612),
    [anon_sym_LT_LT_EQ] = ACTIONS(3612),
    [anon_sym_CARET_EQ] = ACTIONS(3612),
    [anon_sym_QMARK] = ACTIONS(3614),
    [anon_sym_DOT_DOT] = ACTIONS(3614),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3612),
    [anon_sym_and] = ACTIONS(3612),
    [anon_sym_or] = ACTIONS(3612),
    [anon_sym_PIPE_PIPE] = ACTIONS(3614),
    [anon_sym_AMP_AMP] = ACTIONS(3614),
    [anon_sym_LT_LT] = ACTIONS(3614),
    [anon_sym_GT_GT] = ACTIONS(3614),
    [anon_sym_EQ_EQ] = ACTIONS(3614),
    [anon_sym_BANG_EQ] = ACTIONS(3612),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3612),
    [anon_sym_LT_EQ_GT] = ACTIONS(3612),
    [anon_sym_EQ_TILDE] = ACTIONS(3612),
    [anon_sym_BANG_TILDE] = ACTIONS(3612),
    [anon_sym_LT_EQ] = ACTIONS(3614),
    [anon_sym_GT] = ACTIONS(3614),
    [anon_sym_GT_EQ] = ACTIONS(3612),
    [anon_sym_CARET] = ACTIONS(3614),
    [anon_sym_PLUS] = ACTIONS(3614),
    [anon_sym_SLASH] = ACTIONS(3614),
    [anon_sym_PERCENT] = ACTIONS(3614),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(3614),
  },
  [8358] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(14182),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [8359] = {
    [sym__simple_heredoc_body] = ACTIONS(3844),
    [sym__heredoc_body_beginning] = ACTIONS(3844),
    [sym__line_break] = ACTIONS(3844),
    [sym__element_reference_left_bracket] = ACTIONS(3844),
    [sym__scope_double_colon] = ACTIONS(3844),
    [sym__binary_minus] = ACTIONS(3844),
    [sym__binary_star] = ACTIONS(3844),
    [ts_builtin_sym_end] = ACTIONS(3844),
    [anon_sym___END__] = ACTIONS(3844),
    [anon_sym_LBRACE] = ACTIONS(3844),
    [anon_sym_RBRACE] = ACTIONS(3844),
    [anon_sym_RPAREN] = ACTIONS(3844),
    [anon_sym_DOT] = ACTIONS(3846),
    [anon_sym_end] = ACTIONS(3844),
    [anon_sym_COMMA] = ACTIONS(3844),
    [anon_sym_PIPE] = ACTIONS(3846),
    [anon_sym_SEMI] = ACTIONS(3844),
    [anon_sym_STAR_STAR] = ACTIONS(3846),
    [anon_sym_AMP] = ACTIONS(3846),
    [anon_sym_EQ] = ACTIONS(3846),
    [anon_sym_LT] = ACTIONS(3846),
    [anon_sym_if] = ACTIONS(3844),
    [anon_sym_unless] = ACTIONS(3844),
    [anon_sym_while] = ACTIONS(3844),
    [anon_sym_until] = ACTIONS(3844),
    [anon_sym_rescue] = ACTIONS(3844),
    [anon_sym_do] = ACTIONS(3844),
    [anon_sym_when] = ACTIONS(3844),
    [anon_sym_elsif] = ACTIONS(3844),
    [anon_sym_else] = ACTIONS(3844),
    [anon_sym_then] = ACTIONS(3844),
    [anon_sym_ensure] = ACTIONS(3844),
    [anon_sym_AMP_DOT] = ACTIONS(3844),
    [anon_sym_PLUS_EQ] = ACTIONS(3844),
    [anon_sym_DASH_EQ] = ACTIONS(3844),
    [anon_sym_STAR_EQ] = ACTIONS(3844),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3844),
    [anon_sym_SLASH_EQ] = ACTIONS(3844),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3844),
    [anon_sym_PIPE_EQ] = ACTIONS(3844),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3844),
    [anon_sym_AMP_EQ] = ACTIONS(3844),
    [anon_sym_PERCENT_EQ] = ACTIONS(3844),
    [anon_sym_GT_GT_EQ] = ACTIONS(3844),
    [anon_sym_LT_LT_EQ] = ACTIONS(3844),
    [anon_sym_CARET_EQ] = ACTIONS(3844),
    [anon_sym_QMARK] = ACTIONS(3844),
    [anon_sym_DOT_DOT] = ACTIONS(3846),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3844),
    [anon_sym_and] = ACTIONS(3844),
    [anon_sym_or] = ACTIONS(3844),
    [anon_sym_PIPE_PIPE] = ACTIONS(3846),
    [anon_sym_AMP_AMP] = ACTIONS(3846),
    [anon_sym_LT_LT] = ACTIONS(3846),
    [anon_sym_GT_GT] = ACTIONS(3846),
    [anon_sym_EQ_EQ] = ACTIONS(3846),
    [anon_sym_BANG_EQ] = ACTIONS(3844),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3844),
    [anon_sym_LT_EQ_GT] = ACTIONS(3844),
    [anon_sym_EQ_TILDE] = ACTIONS(3844),
    [anon_sym_BANG_TILDE] = ACTIONS(3844),
    [anon_sym_LT_EQ] = ACTIONS(3846),
    [anon_sym_GT] = ACTIONS(3846),
    [anon_sym_GT_EQ] = ACTIONS(3844),
    [anon_sym_CARET] = ACTIONS(3846),
    [anon_sym_PLUS] = ACTIONS(3846),
    [anon_sym_SLASH] = ACTIONS(3846),
    [anon_sym_PERCENT] = ACTIONS(3846),
    [sym_comment] = ACTIONS(256),
  },
  [8360] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(14184),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [8361] = {
    [sym__simple_heredoc_body] = ACTIONS(3850),
    [sym__heredoc_body_beginning] = ACTIONS(3850),
    [sym__line_break] = ACTIONS(3850),
    [sym__element_reference_left_bracket] = ACTIONS(3850),
    [sym__scope_double_colon] = ACTIONS(3850),
    [sym__binary_minus] = ACTIONS(3850),
    [sym__binary_star] = ACTIONS(3850),
    [ts_builtin_sym_end] = ACTIONS(3850),
    [anon_sym___END__] = ACTIONS(3850),
    [anon_sym_LBRACE] = ACTIONS(3850),
    [anon_sym_RBRACE] = ACTIONS(3850),
    [anon_sym_RPAREN] = ACTIONS(3850),
    [anon_sym_DOT] = ACTIONS(3852),
    [anon_sym_end] = ACTIONS(3850),
    [anon_sym_COMMA] = ACTIONS(3850),
    [anon_sym_PIPE] = ACTIONS(3852),
    [anon_sym_SEMI] = ACTIONS(3850),
    [anon_sym_STAR_STAR] = ACTIONS(3852),
    [anon_sym_AMP] = ACTIONS(3852),
    [anon_sym_EQ] = ACTIONS(3852),
    [anon_sym_LT] = ACTIONS(3852),
    [anon_sym_if] = ACTIONS(3850),
    [anon_sym_unless] = ACTIONS(3850),
    [anon_sym_while] = ACTIONS(3850),
    [anon_sym_until] = ACTIONS(3850),
    [anon_sym_rescue] = ACTIONS(3850),
    [anon_sym_do] = ACTIONS(3850),
    [anon_sym_when] = ACTIONS(3850),
    [anon_sym_elsif] = ACTIONS(3850),
    [anon_sym_else] = ACTIONS(3850),
    [anon_sym_then] = ACTIONS(3850),
    [anon_sym_ensure] = ACTIONS(3850),
    [anon_sym_AMP_DOT] = ACTIONS(3850),
    [anon_sym_PLUS_EQ] = ACTIONS(3850),
    [anon_sym_DASH_EQ] = ACTIONS(3850),
    [anon_sym_STAR_EQ] = ACTIONS(3850),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3850),
    [anon_sym_SLASH_EQ] = ACTIONS(3850),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3850),
    [anon_sym_PIPE_EQ] = ACTIONS(3850),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3850),
    [anon_sym_AMP_EQ] = ACTIONS(3850),
    [anon_sym_PERCENT_EQ] = ACTIONS(3850),
    [anon_sym_GT_GT_EQ] = ACTIONS(3850),
    [anon_sym_LT_LT_EQ] = ACTIONS(3850),
    [anon_sym_CARET_EQ] = ACTIONS(3850),
    [anon_sym_QMARK] = ACTIONS(3850),
    [anon_sym_DOT_DOT] = ACTIONS(3852),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3850),
    [anon_sym_and] = ACTIONS(3850),
    [anon_sym_or] = ACTIONS(3850),
    [anon_sym_PIPE_PIPE] = ACTIONS(3852),
    [anon_sym_AMP_AMP] = ACTIONS(3852),
    [anon_sym_LT_LT] = ACTIONS(3852),
    [anon_sym_GT_GT] = ACTIONS(3852),
    [anon_sym_EQ_EQ] = ACTIONS(3852),
    [anon_sym_BANG_EQ] = ACTIONS(3850),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3850),
    [anon_sym_LT_EQ_GT] = ACTIONS(3850),
    [anon_sym_EQ_TILDE] = ACTIONS(3850),
    [anon_sym_BANG_TILDE] = ACTIONS(3850),
    [anon_sym_LT_EQ] = ACTIONS(3852),
    [anon_sym_GT] = ACTIONS(3852),
    [anon_sym_GT_EQ] = ACTIONS(3850),
    [anon_sym_CARET] = ACTIONS(3852),
    [anon_sym_PLUS] = ACTIONS(3852),
    [anon_sym_SLASH] = ACTIONS(3852),
    [anon_sym_PERCENT] = ACTIONS(3852),
    [sym_comment] = ACTIONS(256),
  },
  [8362] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(14186),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [8363] = {
    [sym__simple_heredoc_body] = ACTIONS(3856),
    [sym__heredoc_body_beginning] = ACTIONS(3856),
    [sym__line_break] = ACTIONS(3856),
    [sym__element_reference_left_bracket] = ACTIONS(3856),
    [sym__scope_double_colon] = ACTIONS(3856),
    [sym__binary_minus] = ACTIONS(3856),
    [sym__binary_star] = ACTIONS(3856),
    [ts_builtin_sym_end] = ACTIONS(3856),
    [anon_sym___END__] = ACTIONS(3856),
    [anon_sym_LBRACE] = ACTIONS(3856),
    [anon_sym_RBRACE] = ACTIONS(3856),
    [anon_sym_RPAREN] = ACTIONS(3856),
    [anon_sym_DOT] = ACTIONS(3858),
    [anon_sym_end] = ACTIONS(3856),
    [anon_sym_COMMA] = ACTIONS(3856),
    [anon_sym_PIPE] = ACTIONS(3858),
    [anon_sym_SEMI] = ACTIONS(3856),
    [anon_sym_STAR_STAR] = ACTIONS(3858),
    [anon_sym_AMP] = ACTIONS(3858),
    [anon_sym_EQ] = ACTIONS(3858),
    [anon_sym_LT] = ACTIONS(3858),
    [anon_sym_if] = ACTIONS(3856),
    [anon_sym_unless] = ACTIONS(3856),
    [anon_sym_while] = ACTIONS(3856),
    [anon_sym_until] = ACTIONS(3856),
    [anon_sym_rescue] = ACTIONS(3856),
    [anon_sym_do] = ACTIONS(3856),
    [anon_sym_when] = ACTIONS(3856),
    [anon_sym_elsif] = ACTIONS(3856),
    [anon_sym_else] = ACTIONS(3856),
    [anon_sym_then] = ACTIONS(3856),
    [anon_sym_ensure] = ACTIONS(3856),
    [anon_sym_AMP_DOT] = ACTIONS(3856),
    [anon_sym_PLUS_EQ] = ACTIONS(3856),
    [anon_sym_DASH_EQ] = ACTIONS(3856),
    [anon_sym_STAR_EQ] = ACTIONS(3856),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3856),
    [anon_sym_SLASH_EQ] = ACTIONS(3856),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3856),
    [anon_sym_PIPE_EQ] = ACTIONS(3856),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3856),
    [anon_sym_AMP_EQ] = ACTIONS(3856),
    [anon_sym_PERCENT_EQ] = ACTIONS(3856),
    [anon_sym_GT_GT_EQ] = ACTIONS(3856),
    [anon_sym_LT_LT_EQ] = ACTIONS(3856),
    [anon_sym_CARET_EQ] = ACTIONS(3856),
    [anon_sym_QMARK] = ACTIONS(3856),
    [anon_sym_DOT_DOT] = ACTIONS(3858),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3856),
    [anon_sym_and] = ACTIONS(3856),
    [anon_sym_or] = ACTIONS(3856),
    [anon_sym_PIPE_PIPE] = ACTIONS(3858),
    [anon_sym_AMP_AMP] = ACTIONS(3858),
    [anon_sym_LT_LT] = ACTIONS(3858),
    [anon_sym_GT_GT] = ACTIONS(3858),
    [anon_sym_EQ_EQ] = ACTIONS(3858),
    [anon_sym_BANG_EQ] = ACTIONS(3856),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3856),
    [anon_sym_LT_EQ_GT] = ACTIONS(3856),
    [anon_sym_EQ_TILDE] = ACTIONS(3856),
    [anon_sym_BANG_TILDE] = ACTIONS(3856),
    [anon_sym_LT_EQ] = ACTIONS(3858),
    [anon_sym_GT] = ACTIONS(3858),
    [anon_sym_GT_EQ] = ACTIONS(3856),
    [anon_sym_CARET] = ACTIONS(3858),
    [anon_sym_PLUS] = ACTIONS(3858),
    [anon_sym_SLASH] = ACTIONS(3858),
    [anon_sym_PERCENT] = ACTIONS(3858),
    [sym_comment] = ACTIONS(256),
  },
  [8364] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(14188),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [8365] = {
    [sym__simple_heredoc_body] = ACTIONS(3862),
    [sym__heredoc_body_beginning] = ACTIONS(3862),
    [sym__line_break] = ACTIONS(3862),
    [sym__element_reference_left_bracket] = ACTIONS(3862),
    [sym__scope_double_colon] = ACTIONS(3862),
    [sym__binary_minus] = ACTIONS(3862),
    [sym__binary_star] = ACTIONS(3862),
    [ts_builtin_sym_end] = ACTIONS(3862),
    [anon_sym___END__] = ACTIONS(3862),
    [anon_sym_LBRACE] = ACTIONS(3862),
    [anon_sym_RBRACE] = ACTIONS(3862),
    [anon_sym_RPAREN] = ACTIONS(3862),
    [anon_sym_DOT] = ACTIONS(3864),
    [anon_sym_end] = ACTIONS(3862),
    [anon_sym_COMMA] = ACTIONS(3862),
    [anon_sym_PIPE] = ACTIONS(3864),
    [anon_sym_SEMI] = ACTIONS(3862),
    [anon_sym_STAR_STAR] = ACTIONS(3864),
    [anon_sym_AMP] = ACTIONS(3864),
    [anon_sym_EQ] = ACTIONS(3864),
    [anon_sym_LT] = ACTIONS(3864),
    [anon_sym_if] = ACTIONS(3862),
    [anon_sym_unless] = ACTIONS(3862),
    [anon_sym_while] = ACTIONS(3862),
    [anon_sym_until] = ACTIONS(3862),
    [anon_sym_rescue] = ACTIONS(3862),
    [anon_sym_do] = ACTIONS(3862),
    [anon_sym_when] = ACTIONS(3862),
    [anon_sym_elsif] = ACTIONS(3862),
    [anon_sym_else] = ACTIONS(3862),
    [anon_sym_then] = ACTIONS(3862),
    [anon_sym_ensure] = ACTIONS(3862),
    [anon_sym_AMP_DOT] = ACTIONS(3862),
    [anon_sym_PLUS_EQ] = ACTIONS(3862),
    [anon_sym_DASH_EQ] = ACTIONS(3862),
    [anon_sym_STAR_EQ] = ACTIONS(3862),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3862),
    [anon_sym_SLASH_EQ] = ACTIONS(3862),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3862),
    [anon_sym_PIPE_EQ] = ACTIONS(3862),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3862),
    [anon_sym_AMP_EQ] = ACTIONS(3862),
    [anon_sym_PERCENT_EQ] = ACTIONS(3862),
    [anon_sym_GT_GT_EQ] = ACTIONS(3862),
    [anon_sym_LT_LT_EQ] = ACTIONS(3862),
    [anon_sym_CARET_EQ] = ACTIONS(3862),
    [anon_sym_QMARK] = ACTIONS(3862),
    [anon_sym_DOT_DOT] = ACTIONS(3864),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3862),
    [anon_sym_and] = ACTIONS(3862),
    [anon_sym_or] = ACTIONS(3862),
    [anon_sym_PIPE_PIPE] = ACTIONS(3864),
    [anon_sym_AMP_AMP] = ACTIONS(3864),
    [anon_sym_LT_LT] = ACTIONS(3864),
    [anon_sym_GT_GT] = ACTIONS(3864),
    [anon_sym_EQ_EQ] = ACTIONS(3864),
    [anon_sym_BANG_EQ] = ACTIONS(3862),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3862),
    [anon_sym_LT_EQ_GT] = ACTIONS(3862),
    [anon_sym_EQ_TILDE] = ACTIONS(3862),
    [anon_sym_BANG_TILDE] = ACTIONS(3862),
    [anon_sym_LT_EQ] = ACTIONS(3864),
    [anon_sym_GT] = ACTIONS(3864),
    [anon_sym_GT_EQ] = ACTIONS(3862),
    [anon_sym_CARET] = ACTIONS(3864),
    [anon_sym_PLUS] = ACTIONS(3864),
    [anon_sym_SLASH] = ACTIONS(3864),
    [anon_sym_PERCENT] = ACTIONS(3864),
    [sym_comment] = ACTIONS(256),
  },
  [8366] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(14190),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [8367] = {
    [sym__simple_heredoc_body] = ACTIONS(4578),
    [sym__heredoc_body_beginning] = ACTIONS(4578),
    [sym__line_break] = ACTIONS(4578),
    [sym__element_reference_left_bracket] = ACTIONS(4578),
    [sym__scope_double_colon] = ACTIONS(4578),
    [sym__binary_minus] = ACTIONS(4578),
    [sym__binary_star] = ACTIONS(4578),
    [ts_builtin_sym_end] = ACTIONS(4578),
    [anon_sym___END__] = ACTIONS(4578),
    [anon_sym_LBRACE] = ACTIONS(4578),
    [anon_sym_RBRACE] = ACTIONS(4578),
    [anon_sym_RPAREN] = ACTIONS(4578),
    [anon_sym_DOT] = ACTIONS(4580),
    [anon_sym_end] = ACTIONS(4578),
    [anon_sym_COMMA] = ACTIONS(4578),
    [anon_sym_PIPE] = ACTIONS(4580),
    [anon_sym_SEMI] = ACTIONS(4578),
    [anon_sym_STAR_STAR] = ACTIONS(4580),
    [anon_sym_AMP] = ACTIONS(4580),
    [anon_sym_EQ] = ACTIONS(4580),
    [anon_sym_LT] = ACTIONS(4580),
    [anon_sym_if] = ACTIONS(4578),
    [anon_sym_unless] = ACTIONS(4578),
    [anon_sym_while] = ACTIONS(4578),
    [anon_sym_until] = ACTIONS(4578),
    [anon_sym_rescue] = ACTIONS(4578),
    [anon_sym_do] = ACTIONS(4578),
    [anon_sym_when] = ACTIONS(4578),
    [anon_sym_elsif] = ACTIONS(4578),
    [anon_sym_else] = ACTIONS(4578),
    [anon_sym_then] = ACTIONS(4578),
    [anon_sym_ensure] = ACTIONS(4578),
    [anon_sym_AMP_DOT] = ACTIONS(4578),
    [anon_sym_PLUS_EQ] = ACTIONS(4578),
    [anon_sym_DASH_EQ] = ACTIONS(4578),
    [anon_sym_STAR_EQ] = ACTIONS(4578),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(4578),
    [anon_sym_SLASH_EQ] = ACTIONS(4578),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(4578),
    [anon_sym_PIPE_EQ] = ACTIONS(4578),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(4578),
    [anon_sym_AMP_EQ] = ACTIONS(4578),
    [anon_sym_PERCENT_EQ] = ACTIONS(4578),
    [anon_sym_GT_GT_EQ] = ACTIONS(4578),
    [anon_sym_LT_LT_EQ] = ACTIONS(4578),
    [anon_sym_CARET_EQ] = ACTIONS(4578),
    [anon_sym_QMARK] = ACTIONS(4578),
    [anon_sym_DOT_DOT] = ACTIONS(4580),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4578),
    [anon_sym_and] = ACTIONS(4578),
    [anon_sym_or] = ACTIONS(4578),
    [anon_sym_PIPE_PIPE] = ACTIONS(4580),
    [anon_sym_AMP_AMP] = ACTIONS(4580),
    [anon_sym_LT_LT] = ACTIONS(4580),
    [anon_sym_GT_GT] = ACTIONS(4580),
    [anon_sym_EQ_EQ] = ACTIONS(4580),
    [anon_sym_BANG_EQ] = ACTIONS(4578),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4578),
    [anon_sym_LT_EQ_GT] = ACTIONS(4578),
    [anon_sym_EQ_TILDE] = ACTIONS(4578),
    [anon_sym_BANG_TILDE] = ACTIONS(4578),
    [anon_sym_LT_EQ] = ACTIONS(4580),
    [anon_sym_GT] = ACTIONS(4580),
    [anon_sym_GT_EQ] = ACTIONS(4578),
    [anon_sym_CARET] = ACTIONS(4580),
    [anon_sym_PLUS] = ACTIONS(4580),
    [anon_sym_SLASH] = ACTIONS(4580),
    [anon_sym_PERCENT] = ACTIONS(4580),
    [sym_comment] = ACTIONS(256),
  },
  [8368] = {
    [anon_sym_RBRACE] = ACTIONS(14192),
    [sym_comment] = ACTIONS(110),
  },
  [8369] = {
    [sym__binary_minus] = ACTIONS(4614),
    [sym__binary_star] = ACTIONS(4616),
    [anon_sym_RPAREN] = ACTIONS(14194),
    [anon_sym_PIPE] = ACTIONS(4620),
    [anon_sym_STAR_STAR] = ACTIONS(4622),
    [anon_sym_AMP] = ACTIONS(4624),
    [anon_sym_LT] = ACTIONS(4626),
    [anon_sym_QMARK] = ACTIONS(4628),
    [anon_sym_DOT_DOT] = ACTIONS(4630),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4632),
    [anon_sym_and] = ACTIONS(4634),
    [anon_sym_or] = ACTIONS(4634),
    [anon_sym_PIPE_PIPE] = ACTIONS(4636),
    [anon_sym_AMP_AMP] = ACTIONS(4636),
    [anon_sym_LT_LT] = ACTIONS(4638),
    [anon_sym_GT_GT] = ACTIONS(4638),
    [anon_sym_EQ_EQ] = ACTIONS(4640),
    [anon_sym_BANG_EQ] = ACTIONS(4636),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4636),
    [anon_sym_LT_EQ_GT] = ACTIONS(4636),
    [anon_sym_EQ_TILDE] = ACTIONS(4636),
    [anon_sym_BANG_TILDE] = ACTIONS(4636),
    [anon_sym_LT_EQ] = ACTIONS(4626),
    [anon_sym_GT] = ACTIONS(4626),
    [anon_sym_GT_EQ] = ACTIONS(4642),
    [anon_sym_CARET] = ACTIONS(4644),
    [anon_sym_PLUS] = ACTIONS(4646),
    [anon_sym_SLASH] = ACTIONS(4622),
    [anon_sym_PERCENT] = ACTIONS(4622),
    [sym_comment] = ACTIONS(110),
  },
  [8370] = {
    [sym__method_rest] = STATE(11234),
    [sym_operator] = STATE(217),
    [sym__method_name] = STATE(4932),
    [sym_setter] = STATE(217),
    [sym_symbol] = STATE(217),
    [sym__simple_symbol] = ACTIONS(378),
    [sym__symbol_beginning] = ACTIONS(380),
    [anon_sym_PIPE] = ACTIONS(384),
    [anon_sym_STAR] = ACTIONS(386),
    [anon_sym_STAR_STAR] = ACTIONS(384),
    [anon_sym_AMP] = ACTIONS(384),
    [anon_sym_LT] = ACTIONS(386),
    [anon_sym_DOT_DOT] = ACTIONS(384),
    [anon_sym_LT_LT] = ACTIONS(384),
    [anon_sym_GT_GT] = ACTIONS(384),
    [anon_sym_EQ_EQ] = ACTIONS(386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(384),
    [anon_sym_LT_EQ_GT] = ACTIONS(384),
    [anon_sym_EQ_TILDE] = ACTIONS(384),
    [anon_sym_BANG_TILDE] = ACTIONS(384),
    [anon_sym_LT_EQ] = ACTIONS(386),
    [anon_sym_GT] = ACTIONS(386),
    [anon_sym_GT_EQ] = ACTIONS(384),
    [anon_sym_CARET] = ACTIONS(384),
    [anon_sym_PLUS] = ACTIONS(386),
    [anon_sym_SLASH] = ACTIONS(384),
    [anon_sym_PERCENT] = ACTIONS(384),
    [anon_sym_BANG] = ACTIONS(386),
    [anon_sym_TILDE] = ACTIONS(384),
    [sym_constant] = ACTIONS(4694),
    [sym_identifier] = ACTIONS(4696),
    [sym_instance_variable] = ACTIONS(4694),
    [sym_class_variable] = ACTIONS(4694),
    [sym_global_variable] = ACTIONS(4694),
    [anon_sym_DASH] = ACTIONS(386),
    [anon_sym_PLUS_AT] = ACTIONS(384),
    [anon_sym_DASH_AT] = ACTIONS(384),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(386),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(384),
    [anon_sym_BQUOTE] = ACTIONS(384),
    [sym_comment] = ACTIONS(110),
  },
  [8371] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(11236),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14196),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8372] = {
    [sym__simple_heredoc_body] = ACTIONS(4826),
    [sym__heredoc_body_beginning] = ACTIONS(4826),
    [sym__line_break] = ACTIONS(4826),
    [sym__element_reference_left_bracket] = ACTIONS(4826),
    [sym__scope_double_colon] = ACTIONS(4826),
    [sym__binary_minus] = ACTIONS(4826),
    [sym__binary_star] = ACTIONS(4826),
    [ts_builtin_sym_end] = ACTIONS(4826),
    [anon_sym___END__] = ACTIONS(4826),
    [anon_sym_LBRACE] = ACTIONS(4826),
    [anon_sym_RBRACE] = ACTIONS(4826),
    [anon_sym_RPAREN] = ACTIONS(4826),
    [anon_sym_DOT] = ACTIONS(4828),
    [anon_sym_end] = ACTIONS(4826),
    [anon_sym_COMMA] = ACTIONS(4826),
    [anon_sym_PIPE] = ACTIONS(4828),
    [anon_sym_SEMI] = ACTIONS(4826),
    [anon_sym_STAR_STAR] = ACTIONS(4828),
    [anon_sym_AMP] = ACTIONS(4828),
    [anon_sym_EQ] = ACTIONS(4828),
    [anon_sym_LT] = ACTIONS(4828),
    [anon_sym_if] = ACTIONS(4826),
    [anon_sym_unless] = ACTIONS(4826),
    [anon_sym_while] = ACTIONS(4826),
    [anon_sym_until] = ACTIONS(4826),
    [anon_sym_rescue] = ACTIONS(4826),
    [anon_sym_do] = ACTIONS(4826),
    [anon_sym_when] = ACTIONS(4826),
    [anon_sym_elsif] = ACTIONS(4826),
    [anon_sym_else] = ACTIONS(4826),
    [anon_sym_then] = ACTIONS(4826),
    [anon_sym_ensure] = ACTIONS(4826),
    [anon_sym_AMP_DOT] = ACTIONS(4826),
    [anon_sym_PLUS_EQ] = ACTIONS(4826),
    [anon_sym_DASH_EQ] = ACTIONS(4826),
    [anon_sym_STAR_EQ] = ACTIONS(4826),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(4826),
    [anon_sym_SLASH_EQ] = ACTIONS(4826),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(4826),
    [anon_sym_PIPE_EQ] = ACTIONS(4826),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(4826),
    [anon_sym_AMP_EQ] = ACTIONS(4826),
    [anon_sym_PERCENT_EQ] = ACTIONS(4826),
    [anon_sym_GT_GT_EQ] = ACTIONS(4826),
    [anon_sym_LT_LT_EQ] = ACTIONS(4826),
    [anon_sym_CARET_EQ] = ACTIONS(4826),
    [anon_sym_QMARK] = ACTIONS(4826),
    [anon_sym_DOT_DOT] = ACTIONS(4828),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4826),
    [anon_sym_and] = ACTIONS(4826),
    [anon_sym_or] = ACTIONS(4826),
    [anon_sym_PIPE_PIPE] = ACTIONS(4828),
    [anon_sym_AMP_AMP] = ACTIONS(4828),
    [anon_sym_LT_LT] = ACTIONS(4828),
    [anon_sym_GT_GT] = ACTIONS(4828),
    [anon_sym_EQ_EQ] = ACTIONS(4828),
    [anon_sym_BANG_EQ] = ACTIONS(4826),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4826),
    [anon_sym_LT_EQ_GT] = ACTIONS(4826),
    [anon_sym_EQ_TILDE] = ACTIONS(4826),
    [anon_sym_BANG_TILDE] = ACTIONS(4826),
    [anon_sym_LT_EQ] = ACTIONS(4828),
    [anon_sym_GT] = ACTIONS(4828),
    [anon_sym_GT_EQ] = ACTIONS(4826),
    [anon_sym_CARET] = ACTIONS(4828),
    [anon_sym_PLUS] = ACTIONS(4828),
    [anon_sym_SLASH] = ACTIONS(4828),
    [anon_sym_PERCENT] = ACTIONS(4828),
    [sym_comment] = ACTIONS(256),
  },
  [8373] = {
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(11237),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym__line_break] = ACTIONS(692),
    [sym__binary_minus] = ACTIONS(5168),
    [sym__binary_star] = ACTIONS(5170),
    [anon_sym_PIPE] = ACTIONS(5172),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR_STAR] = ACTIONS(5174),
    [anon_sym_AMP] = ACTIONS(5176),
    [anon_sym_LT] = ACTIONS(5178),
    [anon_sym_QMARK] = ACTIONS(5180),
    [anon_sym_DOT_DOT] = ACTIONS(5182),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5184),
    [anon_sym_and] = ACTIONS(5186),
    [anon_sym_or] = ACTIONS(5186),
    [anon_sym_PIPE_PIPE] = ACTIONS(5188),
    [anon_sym_AMP_AMP] = ACTIONS(5188),
    [anon_sym_LT_LT] = ACTIONS(5190),
    [anon_sym_GT_GT] = ACTIONS(5190),
    [anon_sym_EQ_EQ] = ACTIONS(5192),
    [anon_sym_BANG_EQ] = ACTIONS(5188),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5188),
    [anon_sym_LT_EQ_GT] = ACTIONS(5188),
    [anon_sym_EQ_TILDE] = ACTIONS(5188),
    [anon_sym_BANG_TILDE] = ACTIONS(5188),
    [anon_sym_LT_EQ] = ACTIONS(5178),
    [anon_sym_GT] = ACTIONS(5178),
    [anon_sym_GT_EQ] = ACTIONS(5194),
    [anon_sym_CARET] = ACTIONS(5196),
    [anon_sym_PLUS] = ACTIONS(5198),
    [anon_sym_SLASH] = ACTIONS(5174),
    [anon_sym_PERCENT] = ACTIONS(5174),
    [sym_comment] = ACTIONS(110),
  },
  [8374] = {
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(11238),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym__line_break] = ACTIONS(692),
    [anon_sym_SEMI] = ACTIONS(692),
    [sym_comment] = ACTIONS(110),
  },
  [8375] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(11240),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14198),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8376] = {
    [sym__simple_heredoc_body] = ACTIONS(5290),
    [sym__heredoc_body_beginning] = ACTIONS(5290),
    [sym__line_break] = ACTIONS(5290),
    [sym__element_reference_left_bracket] = ACTIONS(5290),
    [sym__scope_double_colon] = ACTIONS(5290),
    [sym__binary_minus] = ACTIONS(5290),
    [sym__binary_star] = ACTIONS(5290),
    [ts_builtin_sym_end] = ACTIONS(5290),
    [anon_sym___END__] = ACTIONS(5290),
    [anon_sym_LBRACE] = ACTIONS(5290),
    [anon_sym_RBRACE] = ACTIONS(5290),
    [anon_sym_RPAREN] = ACTIONS(5290),
    [anon_sym_DOT] = ACTIONS(5292),
    [anon_sym_end] = ACTIONS(5290),
    [anon_sym_COMMA] = ACTIONS(5290),
    [anon_sym_PIPE] = ACTIONS(5292),
    [anon_sym_SEMI] = ACTIONS(5290),
    [anon_sym_STAR_STAR] = ACTIONS(5292),
    [anon_sym_AMP] = ACTIONS(5292),
    [anon_sym_EQ] = ACTIONS(5292),
    [anon_sym_LT] = ACTIONS(5292),
    [anon_sym_if] = ACTIONS(5290),
    [anon_sym_unless] = ACTIONS(5290),
    [anon_sym_while] = ACTIONS(5290),
    [anon_sym_until] = ACTIONS(5290),
    [anon_sym_rescue] = ACTIONS(5290),
    [anon_sym_do] = ACTIONS(5290),
    [anon_sym_when] = ACTIONS(5290),
    [anon_sym_elsif] = ACTIONS(5290),
    [anon_sym_else] = ACTIONS(5290),
    [anon_sym_then] = ACTIONS(5290),
    [anon_sym_ensure] = ACTIONS(5290),
    [anon_sym_AMP_DOT] = ACTIONS(5290),
    [anon_sym_PLUS_EQ] = ACTIONS(5290),
    [anon_sym_DASH_EQ] = ACTIONS(5290),
    [anon_sym_STAR_EQ] = ACTIONS(5290),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5290),
    [anon_sym_SLASH_EQ] = ACTIONS(5290),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5290),
    [anon_sym_PIPE_EQ] = ACTIONS(5290),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5290),
    [anon_sym_AMP_EQ] = ACTIONS(5290),
    [anon_sym_PERCENT_EQ] = ACTIONS(5290),
    [anon_sym_GT_GT_EQ] = ACTIONS(5290),
    [anon_sym_LT_LT_EQ] = ACTIONS(5290),
    [anon_sym_CARET_EQ] = ACTIONS(5290),
    [anon_sym_QMARK] = ACTIONS(5290),
    [anon_sym_DOT_DOT] = ACTIONS(5292),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5290),
    [anon_sym_and] = ACTIONS(5290),
    [anon_sym_or] = ACTIONS(5290),
    [anon_sym_PIPE_PIPE] = ACTIONS(5292),
    [anon_sym_AMP_AMP] = ACTIONS(5292),
    [anon_sym_LT_LT] = ACTIONS(5292),
    [anon_sym_GT_GT] = ACTIONS(5292),
    [anon_sym_EQ_EQ] = ACTIONS(5292),
    [anon_sym_BANG_EQ] = ACTIONS(5290),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5290),
    [anon_sym_LT_EQ_GT] = ACTIONS(5290),
    [anon_sym_EQ_TILDE] = ACTIONS(5290),
    [anon_sym_BANG_TILDE] = ACTIONS(5290),
    [anon_sym_LT_EQ] = ACTIONS(5292),
    [anon_sym_GT] = ACTIONS(5292),
    [anon_sym_GT_EQ] = ACTIONS(5290),
    [anon_sym_CARET] = ACTIONS(5292),
    [anon_sym_PLUS] = ACTIONS(5292),
    [anon_sym_SLASH] = ACTIONS(5292),
    [anon_sym_PERCENT] = ACTIONS(5292),
    [sym_comment] = ACTIONS(256),
  },
  [8377] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(11242),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14200),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8378] = {
    [sym__simple_heredoc_body] = ACTIONS(5290),
    [sym__heredoc_body_beginning] = ACTIONS(5290),
    [sym__line_break] = ACTIONS(5290),
    [sym__element_reference_left_bracket] = ACTIONS(5290),
    [sym__scope_double_colon] = ACTIONS(5290),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__binary_minus] = ACTIONS(5290),
    [sym__binary_star] = ACTIONS(5290),
    [ts_builtin_sym_end] = ACTIONS(5290),
    [anon_sym___END__] = ACTIONS(5290),
    [anon_sym_LBRACE] = ACTIONS(5290),
    [anon_sym_RBRACE] = ACTIONS(5290),
    [anon_sym_RPAREN] = ACTIONS(5290),
    [anon_sym_DOT] = ACTIONS(5292),
    [anon_sym_end] = ACTIONS(5290),
    [anon_sym_COMMA] = ACTIONS(5290),
    [anon_sym_PIPE] = ACTIONS(5292),
    [anon_sym_SEMI] = ACTIONS(5290),
    [anon_sym_STAR_STAR] = ACTIONS(5292),
    [anon_sym_AMP] = ACTIONS(5292),
    [anon_sym_EQ] = ACTIONS(5292),
    [anon_sym_LT] = ACTIONS(5292),
    [anon_sym_if] = ACTIONS(5290),
    [anon_sym_unless] = ACTIONS(5290),
    [anon_sym_while] = ACTIONS(5290),
    [anon_sym_until] = ACTIONS(5290),
    [anon_sym_rescue] = ACTIONS(5290),
    [anon_sym_do] = ACTIONS(5290),
    [anon_sym_when] = ACTIONS(5290),
    [anon_sym_elsif] = ACTIONS(5290),
    [anon_sym_else] = ACTIONS(5290),
    [anon_sym_then] = ACTIONS(5290),
    [anon_sym_ensure] = ACTIONS(5290),
    [anon_sym_AMP_DOT] = ACTIONS(5290),
    [anon_sym_PLUS_EQ] = ACTIONS(5290),
    [anon_sym_DASH_EQ] = ACTIONS(5290),
    [anon_sym_STAR_EQ] = ACTIONS(5290),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5290),
    [anon_sym_SLASH_EQ] = ACTIONS(5290),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5290),
    [anon_sym_PIPE_EQ] = ACTIONS(5290),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5290),
    [anon_sym_AMP_EQ] = ACTIONS(5290),
    [anon_sym_PERCENT_EQ] = ACTIONS(5290),
    [anon_sym_GT_GT_EQ] = ACTIONS(5290),
    [anon_sym_LT_LT_EQ] = ACTIONS(5290),
    [anon_sym_CARET_EQ] = ACTIONS(5290),
    [anon_sym_QMARK] = ACTIONS(5290),
    [anon_sym_DOT_DOT] = ACTIONS(5292),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5290),
    [anon_sym_and] = ACTIONS(5290),
    [anon_sym_or] = ACTIONS(5290),
    [anon_sym_PIPE_PIPE] = ACTIONS(5292),
    [anon_sym_AMP_AMP] = ACTIONS(5292),
    [anon_sym_LT_LT] = ACTIONS(5292),
    [anon_sym_GT_GT] = ACTIONS(5292),
    [anon_sym_EQ_EQ] = ACTIONS(5292),
    [anon_sym_BANG_EQ] = ACTIONS(5290),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5290),
    [anon_sym_LT_EQ_GT] = ACTIONS(5290),
    [anon_sym_EQ_TILDE] = ACTIONS(5290),
    [anon_sym_BANG_TILDE] = ACTIONS(5290),
    [anon_sym_LT_EQ] = ACTIONS(5292),
    [anon_sym_GT] = ACTIONS(5292),
    [anon_sym_GT_EQ] = ACTIONS(5290),
    [anon_sym_CARET] = ACTIONS(5292),
    [anon_sym_PLUS] = ACTIONS(5292),
    [anon_sym_SLASH] = ACTIONS(5292),
    [anon_sym_PERCENT] = ACTIONS(5292),
    [sym_comment] = ACTIONS(256),
  },
  [8379] = {
    [sym__statements] = STATE(11244),
    [sym__top_level_statement] = STATE(3863),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(3864),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_elsif] = STATE(3865),
    [sym_else] = STATE(3865),
    [sym__if_tail] = STATE(11245),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3867),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3869),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3870),
    [sym__variable] = STATE(3868),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(3849),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(11246),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(5566),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(5568),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(5570),
    [sym__unary_minus] = ACTIONS(5572),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14202),
    [anon_sym_SEMI] = ACTIONS(5576),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_elsif] = ACTIONS(5586),
    [anon_sym_else] = ACTIONS(5588),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5590),
    [anon_sym_defined_QMARK] = ACTIONS(5592),
    [anon_sym_not] = ACTIONS(5594),
    [anon_sym_BANG] = ACTIONS(5596),
    [anon_sym_TILDE] = ACTIONS(5596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8380] = {
    [sym__statements] = STATE(11248),
    [sym__top_level_statement] = STATE(3946),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(3947),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(11249),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3949),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3950),
    [sym_call] = STATE(3950),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3951),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3952),
    [sym__variable] = STATE(3950),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5682),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14204),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5686),
    [anon_sym_yield] = ACTIONS(5688),
    [anon_sym_break] = ACTIONS(5690),
    [anon_sym_next] = ACTIONS(5692),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(5588),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5694),
    [anon_sym_defined_QMARK] = ACTIONS(5696),
    [anon_sym_not] = ACTIONS(5698),
    [anon_sym_BANG] = ACTIONS(5700),
    [anon_sym_TILDE] = ACTIONS(5700),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8381] = {
    [sym__statements] = STATE(11251),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14206),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8382] = {
    [sym__statements] = STATE(11253),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14208),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8383] = {
    [sym__do] = STATE(11254),
    [sym_heredoc_end] = STATE(1550),
    [sym__terminator] = STATE(1557),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym__line_break] = ACTIONS(2446),
    [anon_sym_SEMI] = ACTIONS(2446),
    [anon_sym_do] = ACTIONS(2460),
    [sym_comment] = ACTIONS(110),
  },
  [8384] = {
    [sym__simple_heredoc_body] = ACTIONS(6154),
    [sym__heredoc_body_beginning] = ACTIONS(6154),
    [sym__line_break] = ACTIONS(6154),
    [sym__element_reference_left_bracket] = ACTIONS(6154),
    [sym__scope_double_colon] = ACTIONS(6154),
    [sym__binary_minus] = ACTIONS(6154),
    [sym__binary_star] = ACTIONS(6154),
    [ts_builtin_sym_end] = ACTIONS(6154),
    [anon_sym___END__] = ACTIONS(6154),
    [anon_sym_LBRACE] = ACTIONS(6154),
    [anon_sym_RBRACE] = ACTIONS(6154),
    [anon_sym_RPAREN] = ACTIONS(6154),
    [anon_sym_DOT] = ACTIONS(6156),
    [anon_sym_end] = ACTIONS(6154),
    [anon_sym_COMMA] = ACTIONS(6154),
    [anon_sym_PIPE] = ACTIONS(6156),
    [anon_sym_SEMI] = ACTIONS(6154),
    [anon_sym_STAR_STAR] = ACTIONS(6156),
    [anon_sym_AMP] = ACTIONS(6156),
    [anon_sym_EQ] = ACTIONS(6156),
    [anon_sym_LT] = ACTIONS(6156),
    [anon_sym_if] = ACTIONS(6154),
    [anon_sym_unless] = ACTIONS(6154),
    [anon_sym_while] = ACTIONS(6154),
    [anon_sym_until] = ACTIONS(6154),
    [anon_sym_rescue] = ACTIONS(6154),
    [anon_sym_do] = ACTIONS(6154),
    [anon_sym_when] = ACTIONS(6154),
    [anon_sym_elsif] = ACTIONS(6154),
    [anon_sym_else] = ACTIONS(6154),
    [anon_sym_then] = ACTIONS(6154),
    [anon_sym_ensure] = ACTIONS(6154),
    [anon_sym_AMP_DOT] = ACTIONS(6154),
    [anon_sym_PLUS_EQ] = ACTIONS(6154),
    [anon_sym_DASH_EQ] = ACTIONS(6154),
    [anon_sym_STAR_EQ] = ACTIONS(6154),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6154),
    [anon_sym_SLASH_EQ] = ACTIONS(6154),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6154),
    [anon_sym_PIPE_EQ] = ACTIONS(6154),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6154),
    [anon_sym_AMP_EQ] = ACTIONS(6154),
    [anon_sym_PERCENT_EQ] = ACTIONS(6154),
    [anon_sym_GT_GT_EQ] = ACTIONS(6154),
    [anon_sym_LT_LT_EQ] = ACTIONS(6154),
    [anon_sym_CARET_EQ] = ACTIONS(6154),
    [anon_sym_QMARK] = ACTIONS(6154),
    [anon_sym_DOT_DOT] = ACTIONS(6156),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6154),
    [anon_sym_and] = ACTIONS(6154),
    [anon_sym_or] = ACTIONS(6154),
    [anon_sym_PIPE_PIPE] = ACTIONS(6156),
    [anon_sym_AMP_AMP] = ACTIONS(6156),
    [anon_sym_LT_LT] = ACTIONS(6156),
    [anon_sym_GT_GT] = ACTIONS(6156),
    [anon_sym_EQ_EQ] = ACTIONS(6156),
    [anon_sym_BANG_EQ] = ACTIONS(6154),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6154),
    [anon_sym_LT_EQ_GT] = ACTIONS(6154),
    [anon_sym_EQ_TILDE] = ACTIONS(6154),
    [anon_sym_BANG_TILDE] = ACTIONS(6154),
    [anon_sym_LT_EQ] = ACTIONS(6156),
    [anon_sym_GT] = ACTIONS(6156),
    [anon_sym_GT_EQ] = ACTIONS(6154),
    [anon_sym_CARET] = ACTIONS(6156),
    [anon_sym_PLUS] = ACTIONS(6156),
    [anon_sym_SLASH] = ACTIONS(6156),
    [anon_sym_PERCENT] = ACTIONS(6156),
    [sym_comment] = ACTIONS(256),
  },
  [8385] = {
    [anon_sym_end] = ACTIONS(14210),
    [sym_comment] = ACTIONS(110),
  },
  [8386] = {
    [sym_when] = STATE(11256),
    [sym_heredoc_end] = STATE(387),
    [sym__terminator] = STATE(1688),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym__line_break] = ACTIONS(666),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_when] = ACTIONS(2612),
    [sym_comment] = ACTIONS(110),
  },
  [8387] = {
    [sym__simple_heredoc_body] = ACTIONS(6600),
    [sym__heredoc_body_beginning] = ACTIONS(6600),
    [sym__line_break] = ACTIONS(6600),
    [sym__element_reference_left_bracket] = ACTIONS(6600),
    [sym__scope_double_colon] = ACTIONS(6600),
    [sym__binary_minus] = ACTIONS(6600),
    [sym__binary_star] = ACTIONS(6600),
    [ts_builtin_sym_end] = ACTIONS(6600),
    [anon_sym___END__] = ACTIONS(6600),
    [anon_sym_LBRACE] = ACTIONS(6600),
    [anon_sym_RBRACE] = ACTIONS(6600),
    [anon_sym_RPAREN] = ACTIONS(6600),
    [anon_sym_DOT] = ACTIONS(6602),
    [anon_sym_end] = ACTIONS(6600),
    [anon_sym_COMMA] = ACTIONS(6600),
    [anon_sym_PIPE] = ACTIONS(6602),
    [anon_sym_SEMI] = ACTIONS(6600),
    [anon_sym_STAR_STAR] = ACTIONS(6602),
    [anon_sym_AMP] = ACTIONS(6602),
    [anon_sym_EQ] = ACTIONS(6602),
    [anon_sym_LT] = ACTIONS(6602),
    [anon_sym_if] = ACTIONS(6600),
    [anon_sym_unless] = ACTIONS(6600),
    [anon_sym_while] = ACTIONS(6600),
    [anon_sym_until] = ACTIONS(6600),
    [anon_sym_rescue] = ACTIONS(6600),
    [anon_sym_do] = ACTIONS(6600),
    [anon_sym_when] = ACTIONS(6600),
    [anon_sym_elsif] = ACTIONS(6600),
    [anon_sym_else] = ACTIONS(6600),
    [anon_sym_then] = ACTIONS(6600),
    [anon_sym_ensure] = ACTIONS(6600),
    [anon_sym_AMP_DOT] = ACTIONS(6600),
    [anon_sym_PLUS_EQ] = ACTIONS(6600),
    [anon_sym_DASH_EQ] = ACTIONS(6600),
    [anon_sym_STAR_EQ] = ACTIONS(6600),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6600),
    [anon_sym_SLASH_EQ] = ACTIONS(6600),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6600),
    [anon_sym_PIPE_EQ] = ACTIONS(6600),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6600),
    [anon_sym_AMP_EQ] = ACTIONS(6600),
    [anon_sym_PERCENT_EQ] = ACTIONS(6600),
    [anon_sym_GT_GT_EQ] = ACTIONS(6600),
    [anon_sym_LT_LT_EQ] = ACTIONS(6600),
    [anon_sym_CARET_EQ] = ACTIONS(6600),
    [anon_sym_QMARK] = ACTIONS(6600),
    [anon_sym_DOT_DOT] = ACTIONS(6602),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6600),
    [anon_sym_and] = ACTIONS(6600),
    [anon_sym_or] = ACTIONS(6600),
    [anon_sym_PIPE_PIPE] = ACTIONS(6602),
    [anon_sym_AMP_AMP] = ACTIONS(6602),
    [anon_sym_LT_LT] = ACTIONS(6602),
    [anon_sym_GT_GT] = ACTIONS(6602),
    [anon_sym_EQ_EQ] = ACTIONS(6602),
    [anon_sym_BANG_EQ] = ACTIONS(6600),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6600),
    [anon_sym_LT_EQ_GT] = ACTIONS(6600),
    [anon_sym_EQ_TILDE] = ACTIONS(6600),
    [anon_sym_BANG_TILDE] = ACTIONS(6600),
    [anon_sym_LT_EQ] = ACTIONS(6602),
    [anon_sym_GT] = ACTIONS(6602),
    [anon_sym_GT_EQ] = ACTIONS(6600),
    [anon_sym_CARET] = ACTIONS(6602),
    [anon_sym_PLUS] = ACTIONS(6602),
    [anon_sym_SLASH] = ACTIONS(6602),
    [anon_sym_PERCENT] = ACTIONS(6602),
    [sym_comment] = ACTIONS(256),
  },
  [8388] = {
    [anon_sym_end] = ACTIONS(14212),
    [sym_comment] = ACTIONS(110),
  },
  [8389] = {
    [anon_sym_RBRACK] = ACTIONS(14190),
    [sym_comment] = ACTIONS(110),
  },
  [8390] = {
    [sym__simple_heredoc_body] = ACTIONS(6980),
    [sym__heredoc_body_beginning] = ACTIONS(6980),
    [sym__line_break] = ACTIONS(6980),
    [sym__element_reference_left_bracket] = ACTIONS(6980),
    [sym__scope_double_colon] = ACTIONS(6980),
    [sym__binary_minus] = ACTIONS(6980),
    [sym__binary_star] = ACTIONS(6980),
    [ts_builtin_sym_end] = ACTIONS(6980),
    [anon_sym___END__] = ACTIONS(6980),
    [anon_sym_LBRACE] = ACTIONS(6980),
    [anon_sym_RBRACE] = ACTIONS(6980),
    [anon_sym_RPAREN] = ACTIONS(6980),
    [anon_sym_DOT] = ACTIONS(6982),
    [anon_sym_end] = ACTIONS(6980),
    [anon_sym_COMMA] = ACTIONS(6980),
    [anon_sym_PIPE] = ACTIONS(6982),
    [anon_sym_SEMI] = ACTIONS(6980),
    [anon_sym_STAR_STAR] = ACTIONS(6982),
    [anon_sym_AMP] = ACTIONS(6982),
    [anon_sym_EQ] = ACTIONS(6982),
    [anon_sym_LT] = ACTIONS(6982),
    [anon_sym_if] = ACTIONS(6980),
    [anon_sym_unless] = ACTIONS(6980),
    [anon_sym_while] = ACTIONS(6980),
    [anon_sym_until] = ACTIONS(6980),
    [anon_sym_rescue] = ACTIONS(6980),
    [anon_sym_do] = ACTIONS(6980),
    [anon_sym_when] = ACTIONS(6980),
    [anon_sym_elsif] = ACTIONS(6980),
    [anon_sym_else] = ACTIONS(6980),
    [anon_sym_then] = ACTIONS(6980),
    [anon_sym_ensure] = ACTIONS(6980),
    [anon_sym_AMP_DOT] = ACTIONS(6980),
    [anon_sym_PLUS_EQ] = ACTIONS(6980),
    [anon_sym_DASH_EQ] = ACTIONS(6980),
    [anon_sym_STAR_EQ] = ACTIONS(6980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6980),
    [anon_sym_SLASH_EQ] = ACTIONS(6980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6980),
    [anon_sym_PIPE_EQ] = ACTIONS(6980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6980),
    [anon_sym_AMP_EQ] = ACTIONS(6980),
    [anon_sym_PERCENT_EQ] = ACTIONS(6980),
    [anon_sym_GT_GT_EQ] = ACTIONS(6980),
    [anon_sym_LT_LT_EQ] = ACTIONS(6980),
    [anon_sym_CARET_EQ] = ACTIONS(6980),
    [anon_sym_QMARK] = ACTIONS(6980),
    [anon_sym_DOT_DOT] = ACTIONS(6982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6980),
    [anon_sym_and] = ACTIONS(6980),
    [anon_sym_or] = ACTIONS(6980),
    [anon_sym_PIPE_PIPE] = ACTIONS(6982),
    [anon_sym_AMP_AMP] = ACTIONS(6982),
    [anon_sym_LT_LT] = ACTIONS(6982),
    [anon_sym_GT_GT] = ACTIONS(6982),
    [anon_sym_EQ_EQ] = ACTIONS(6982),
    [anon_sym_BANG_EQ] = ACTIONS(6980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6980),
    [anon_sym_LT_EQ_GT] = ACTIONS(6980),
    [anon_sym_EQ_TILDE] = ACTIONS(6980),
    [anon_sym_BANG_TILDE] = ACTIONS(6980),
    [anon_sym_LT_EQ] = ACTIONS(6982),
    [anon_sym_GT] = ACTIONS(6982),
    [anon_sym_GT_EQ] = ACTIONS(6980),
    [anon_sym_CARET] = ACTIONS(6982),
    [anon_sym_PLUS] = ACTIONS(6982),
    [anon_sym_SLASH] = ACTIONS(6982),
    [anon_sym_PERCENT] = ACTIONS(6982),
    [sym_comment] = ACTIONS(256),
  },
  [8391] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__line_break] = ACTIONS(7008),
    [sym__element_reference_left_bracket] = ACTIONS(7008),
    [sym__scope_double_colon] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(7170),
    [ts_builtin_sym_end] = ACTIONS(7008),
    [anon_sym___END__] = ACTIONS(7008),
    [anon_sym_LBRACE] = ACTIONS(7008),
    [anon_sym_DOT] = ACTIONS(7010),
    [anon_sym_COMMA] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_SEMI] = ACTIONS(7008),
    [anon_sym_STAR_STAR] = ACTIONS(7174),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_EQ] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_if] = ACTIONS(7008),
    [anon_sym_unless] = ACTIONS(7008),
    [anon_sym_while] = ACTIONS(7008),
    [anon_sym_until] = ACTIONS(7008),
    [anon_sym_rescue] = ACTIONS(7008),
    [anon_sym_do] = ACTIONS(7008),
    [anon_sym_AMP_DOT] = ACTIONS(7008),
    [anon_sym_PLUS_EQ] = ACTIONS(7008),
    [anon_sym_DASH_EQ] = ACTIONS(7008),
    [anon_sym_STAR_EQ] = ACTIONS(7008),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7008),
    [anon_sym_SLASH_EQ] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7008),
    [anon_sym_PIPE_EQ] = ACTIONS(7008),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7008),
    [anon_sym_AMP_EQ] = ACTIONS(7008),
    [anon_sym_PERCENT_EQ] = ACTIONS(7008),
    [anon_sym_GT_GT_EQ] = ACTIONS(7008),
    [anon_sym_LT_LT_EQ] = ACTIONS(7008),
    [anon_sym_CARET_EQ] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7010),
    [anon_sym_AMP_AMP] = ACTIONS(7010),
    [anon_sym_LT_LT] = ACTIONS(7010),
    [anon_sym_GT_GT] = ACTIONS(7010),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7010),
    [anon_sym_PLUS] = ACTIONS(7010),
    [anon_sym_SLASH] = ACTIONS(7174),
    [anon_sym_PERCENT] = ACTIONS(7174),
    [sym_comment] = ACTIONS(256),
  },
  [8392] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__line_break] = ACTIONS(7012),
    [sym__element_reference_left_bracket] = ACTIONS(7012),
    [sym__scope_double_colon] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [ts_builtin_sym_end] = ACTIONS(7012),
    [anon_sym___END__] = ACTIONS(7012),
    [anon_sym_LBRACE] = ACTIONS(7012),
    [anon_sym_DOT] = ACTIONS(7014),
    [anon_sym_COMMA] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_SEMI] = ACTIONS(7012),
    [anon_sym_STAR_STAR] = ACTIONS(7174),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_EQ] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_if] = ACTIONS(7012),
    [anon_sym_unless] = ACTIONS(7012),
    [anon_sym_while] = ACTIONS(7012),
    [anon_sym_until] = ACTIONS(7012),
    [anon_sym_rescue] = ACTIONS(7012),
    [anon_sym_do] = ACTIONS(7012),
    [anon_sym_AMP_DOT] = ACTIONS(7012),
    [anon_sym_PLUS_EQ] = ACTIONS(7012),
    [anon_sym_DASH_EQ] = ACTIONS(7012),
    [anon_sym_STAR_EQ] = ACTIONS(7012),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7012),
    [anon_sym_SLASH_EQ] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7012),
    [anon_sym_PIPE_EQ] = ACTIONS(7012),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7012),
    [anon_sym_AMP_EQ] = ACTIONS(7012),
    [anon_sym_PERCENT_EQ] = ACTIONS(7012),
    [anon_sym_GT_GT_EQ] = ACTIONS(7012),
    [anon_sym_LT_LT_EQ] = ACTIONS(7012),
    [anon_sym_CARET_EQ] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7014),
    [anon_sym_AMP_AMP] = ACTIONS(7014),
    [anon_sym_LT_LT] = ACTIONS(7014),
    [anon_sym_GT_GT] = ACTIONS(7014),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7014),
    [anon_sym_PLUS] = ACTIONS(7014),
    [anon_sym_SLASH] = ACTIONS(7014),
    [anon_sym_PERCENT] = ACTIONS(7014),
    [sym_comment] = ACTIONS(256),
  },
  [8393] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7168),
    [sym__binary_star] = ACTIONS(7170),
    [ts_builtin_sym_end] = ACTIONS(7016),
    [anon_sym___END__] = ACTIONS(7016),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(7174),
    [anon_sym_AMP] = ACTIONS(7176),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7188),
    [anon_sym_GT_GT] = ACTIONS(7188),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(7194),
    [anon_sym_SLASH] = ACTIONS(7174),
    [anon_sym_PERCENT] = ACTIONS(7174),
    [sym_comment] = ACTIONS(256),
  },
  [8394] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [ts_builtin_sym_end] = ACTIONS(7016),
    [anon_sym___END__] = ACTIONS(7016),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(7174),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7018),
    [anon_sym_GT_GT] = ACTIONS(7018),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(7018),
    [anon_sym_SLASH] = ACTIONS(7018),
    [anon_sym_PERCENT] = ACTIONS(7018),
    [sym_comment] = ACTIONS(256),
  },
  [8395] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7168),
    [sym__binary_star] = ACTIONS(7170),
    [ts_builtin_sym_end] = ACTIONS(7016),
    [anon_sym___END__] = ACTIONS(7016),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(7174),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7188),
    [anon_sym_GT_GT] = ACTIONS(7188),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(7194),
    [anon_sym_SLASH] = ACTIONS(7174),
    [anon_sym_PERCENT] = ACTIONS(7174),
    [sym_comment] = ACTIONS(256),
  },
  [8396] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7168),
    [sym__binary_star] = ACTIONS(7170),
    [ts_builtin_sym_end] = ACTIONS(7016),
    [anon_sym___END__] = ACTIONS(7016),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7172),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(7174),
    [anon_sym_AMP] = ACTIONS(7176),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7188),
    [anon_sym_GT_GT] = ACTIONS(7188),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7172),
    [anon_sym_PLUS] = ACTIONS(7194),
    [anon_sym_SLASH] = ACTIONS(7174),
    [anon_sym_PERCENT] = ACTIONS(7174),
    [sym_comment] = ACTIONS(256),
  },
  [8397] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(14214),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [8398] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__line_break] = ACTIONS(7108),
    [sym__element_reference_left_bracket] = ACTIONS(7108),
    [sym__scope_double_colon] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(7168),
    [sym__binary_star] = ACTIONS(7170),
    [ts_builtin_sym_end] = ACTIONS(7108),
    [anon_sym___END__] = ACTIONS(7108),
    [anon_sym_LBRACE] = ACTIONS(7108),
    [anon_sym_DOT] = ACTIONS(9472),
    [anon_sym_COMMA] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(7172),
    [anon_sym_SEMI] = ACTIONS(7108),
    [anon_sym_STAR_STAR] = ACTIONS(7174),
    [anon_sym_AMP] = ACTIONS(7176),
    [anon_sym_EQ] = ACTIONS(9472),
    [anon_sym_LT] = ACTIONS(7178),
    [anon_sym_if] = ACTIONS(7108),
    [anon_sym_unless] = ACTIONS(7108),
    [anon_sym_while] = ACTIONS(7108),
    [anon_sym_until] = ACTIONS(7108),
    [anon_sym_rescue] = ACTIONS(7108),
    [anon_sym_do] = ACTIONS(7108),
    [anon_sym_AMP_DOT] = ACTIONS(7108),
    [anon_sym_PLUS_EQ] = ACTIONS(7108),
    [anon_sym_DASH_EQ] = ACTIONS(7108),
    [anon_sym_STAR_EQ] = ACTIONS(7108),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7108),
    [anon_sym_SLASH_EQ] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7108),
    [anon_sym_PIPE_EQ] = ACTIONS(7108),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7108),
    [anon_sym_AMP_EQ] = ACTIONS(7108),
    [anon_sym_PERCENT_EQ] = ACTIONS(7108),
    [anon_sym_GT_GT_EQ] = ACTIONS(7108),
    [anon_sym_LT_LT_EQ] = ACTIONS(7108),
    [anon_sym_CARET_EQ] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(7182),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7184),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(7186),
    [anon_sym_AMP_AMP] = ACTIONS(7186),
    [anon_sym_LT_LT] = ACTIONS(7188),
    [anon_sym_GT_GT] = ACTIONS(7188),
    [anon_sym_EQ_EQ] = ACTIONS(7186),
    [anon_sym_BANG_EQ] = ACTIONS(7190),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7190),
    [anon_sym_LT_EQ_GT] = ACTIONS(7190),
    [anon_sym_EQ_TILDE] = ACTIONS(7190),
    [anon_sym_BANG_TILDE] = ACTIONS(7190),
    [anon_sym_LT_EQ] = ACTIONS(7178),
    [anon_sym_GT] = ACTIONS(7178),
    [anon_sym_GT_EQ] = ACTIONS(7192),
    [anon_sym_CARET] = ACTIONS(7172),
    [anon_sym_PLUS] = ACTIONS(7194),
    [anon_sym_SLASH] = ACTIONS(7174),
    [anon_sym_PERCENT] = ACTIONS(7174),
    [sym_comment] = ACTIONS(256),
  },
  [8399] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7168),
    [sym__binary_star] = ACTIONS(7170),
    [ts_builtin_sym_end] = ACTIONS(7016),
    [anon_sym___END__] = ACTIONS(7016),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7172),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(7174),
    [anon_sym_AMP] = ACTIONS(7176),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7178),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7180),
    [anon_sym_DOT_DOT] = ACTIONS(7182),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7184),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7186),
    [anon_sym_AMP_AMP] = ACTIONS(7186),
    [anon_sym_LT_LT] = ACTIONS(7188),
    [anon_sym_GT_GT] = ACTIONS(7188),
    [anon_sym_EQ_EQ] = ACTIONS(7186),
    [anon_sym_BANG_EQ] = ACTIONS(7190),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7190),
    [anon_sym_LT_EQ_GT] = ACTIONS(7190),
    [anon_sym_EQ_TILDE] = ACTIONS(7190),
    [anon_sym_BANG_TILDE] = ACTIONS(7190),
    [anon_sym_LT_EQ] = ACTIONS(7178),
    [anon_sym_GT] = ACTIONS(7178),
    [anon_sym_GT_EQ] = ACTIONS(7192),
    [anon_sym_CARET] = ACTIONS(7172),
    [anon_sym_PLUS] = ACTIONS(7194),
    [anon_sym_SLASH] = ACTIONS(7174),
    [anon_sym_PERCENT] = ACTIONS(7174),
    [sym_comment] = ACTIONS(256),
  },
  [8400] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7168),
    [sym__binary_star] = ACTIONS(7170),
    [ts_builtin_sym_end] = ACTIONS(7016),
    [anon_sym___END__] = ACTIONS(7016),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7172),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(7174),
    [anon_sym_AMP] = ACTIONS(7176),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7178),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7188),
    [anon_sym_GT_GT] = ACTIONS(7188),
    [anon_sym_EQ_EQ] = ACTIONS(7186),
    [anon_sym_BANG_EQ] = ACTIONS(7190),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7190),
    [anon_sym_LT_EQ_GT] = ACTIONS(7190),
    [anon_sym_EQ_TILDE] = ACTIONS(7190),
    [anon_sym_BANG_TILDE] = ACTIONS(7190),
    [anon_sym_LT_EQ] = ACTIONS(7178),
    [anon_sym_GT] = ACTIONS(7178),
    [anon_sym_GT_EQ] = ACTIONS(7192),
    [anon_sym_CARET] = ACTIONS(7172),
    [anon_sym_PLUS] = ACTIONS(7194),
    [anon_sym_SLASH] = ACTIONS(7174),
    [anon_sym_PERCENT] = ACTIONS(7174),
    [sym_comment] = ACTIONS(256),
  },
  [8401] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7168),
    [sym__binary_star] = ACTIONS(7170),
    [ts_builtin_sym_end] = ACTIONS(7016),
    [anon_sym___END__] = ACTIONS(7016),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(7174),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7018),
    [anon_sym_GT_GT] = ACTIONS(7018),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(7194),
    [anon_sym_SLASH] = ACTIONS(7174),
    [anon_sym_PERCENT] = ACTIONS(7174),
    [sym_comment] = ACTIONS(256),
  },
  [8402] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7170),
    [ts_builtin_sym_end] = ACTIONS(7016),
    [anon_sym___END__] = ACTIONS(7016),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(7174),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7018),
    [anon_sym_GT_GT] = ACTIONS(7018),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(7018),
    [anon_sym_SLASH] = ACTIONS(7174),
    [anon_sym_PERCENT] = ACTIONS(7174),
    [sym_comment] = ACTIONS(256),
  },
  [8403] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__line_break] = ACTIONS(6346),
    [sym__element_reference_left_bracket] = ACTIONS(6346),
    [sym__scope_double_colon] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(7168),
    [sym__binary_star] = ACTIONS(7170),
    [ts_builtin_sym_end] = ACTIONS(6346),
    [anon_sym___END__] = ACTIONS(6346),
    [anon_sym_LBRACE] = ACTIONS(6346),
    [anon_sym_DOT] = ACTIONS(7328),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(7172),
    [anon_sym_SEMI] = ACTIONS(6346),
    [anon_sym_STAR_STAR] = ACTIONS(7174),
    [anon_sym_AMP] = ACTIONS(7176),
    [anon_sym_EQ] = ACTIONS(7328),
    [anon_sym_LT] = ACTIONS(7178),
    [anon_sym_if] = ACTIONS(6346),
    [anon_sym_unless] = ACTIONS(6346),
    [anon_sym_while] = ACTIONS(6346),
    [anon_sym_until] = ACTIONS(6346),
    [anon_sym_rescue] = ACTIONS(6346),
    [anon_sym_do] = ACTIONS(6346),
    [anon_sym_AMP_DOT] = ACTIONS(6346),
    [anon_sym_PLUS_EQ] = ACTIONS(6346),
    [anon_sym_DASH_EQ] = ACTIONS(6346),
    [anon_sym_STAR_EQ] = ACTIONS(6346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6346),
    [anon_sym_SLASH_EQ] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6346),
    [anon_sym_PIPE_EQ] = ACTIONS(6346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6346),
    [anon_sym_AMP_EQ] = ACTIONS(6346),
    [anon_sym_PERCENT_EQ] = ACTIONS(6346),
    [anon_sym_GT_GT_EQ] = ACTIONS(6346),
    [anon_sym_LT_LT_EQ] = ACTIONS(6346),
    [anon_sym_CARET_EQ] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(7180),
    [anon_sym_DOT_DOT] = ACTIONS(7182),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7184),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(7186),
    [anon_sym_AMP_AMP] = ACTIONS(7186),
    [anon_sym_LT_LT] = ACTIONS(7188),
    [anon_sym_GT_GT] = ACTIONS(7188),
    [anon_sym_EQ_EQ] = ACTIONS(7186),
    [anon_sym_BANG_EQ] = ACTIONS(7190),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7190),
    [anon_sym_LT_EQ_GT] = ACTIONS(7190),
    [anon_sym_EQ_TILDE] = ACTIONS(7190),
    [anon_sym_BANG_TILDE] = ACTIONS(7190),
    [anon_sym_LT_EQ] = ACTIONS(7178),
    [anon_sym_GT] = ACTIONS(7178),
    [anon_sym_GT_EQ] = ACTIONS(7192),
    [anon_sym_CARET] = ACTIONS(7172),
    [anon_sym_PLUS] = ACTIONS(7194),
    [anon_sym_SLASH] = ACTIONS(7174),
    [anon_sym_PERCENT] = ACTIONS(7174),
    [sym_comment] = ACTIONS(256),
  },
  [8404] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__line_break] = ACTIONS(6346),
    [sym__element_reference_left_bracket] = ACTIONS(6346),
    [sym__scope_double_colon] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(6346),
    [sym__binary_star] = ACTIONS(6346),
    [ts_builtin_sym_end] = ACTIONS(6346),
    [anon_sym___END__] = ACTIONS(6346),
    [anon_sym_LBRACE] = ACTIONS(6346),
    [anon_sym_RBRACE] = ACTIONS(6346),
    [anon_sym_RPAREN] = ACTIONS(6346),
    [anon_sym_DOT] = ACTIONS(7328),
    [anon_sym_end] = ACTIONS(6346),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(7328),
    [anon_sym_SEMI] = ACTIONS(6346),
    [anon_sym_STAR_STAR] = ACTIONS(7328),
    [anon_sym_AMP] = ACTIONS(7328),
    [anon_sym_EQ] = ACTIONS(7328),
    [anon_sym_LT] = ACTIONS(7328),
    [anon_sym_if] = ACTIONS(6346),
    [anon_sym_unless] = ACTIONS(6346),
    [anon_sym_while] = ACTIONS(6346),
    [anon_sym_until] = ACTIONS(6346),
    [anon_sym_rescue] = ACTIONS(6346),
    [anon_sym_do] = ACTIONS(6346),
    [anon_sym_when] = ACTIONS(6346),
    [anon_sym_elsif] = ACTIONS(6346),
    [anon_sym_else] = ACTIONS(6346),
    [anon_sym_then] = ACTIONS(6346),
    [anon_sym_ensure] = ACTIONS(6346),
    [anon_sym_AMP_DOT] = ACTIONS(6346),
    [anon_sym_PLUS_EQ] = ACTIONS(6346),
    [anon_sym_DASH_EQ] = ACTIONS(6346),
    [anon_sym_STAR_EQ] = ACTIONS(6346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6346),
    [anon_sym_SLASH_EQ] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6346),
    [anon_sym_PIPE_EQ] = ACTIONS(6346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6346),
    [anon_sym_AMP_EQ] = ACTIONS(6346),
    [anon_sym_PERCENT_EQ] = ACTIONS(6346),
    [anon_sym_GT_GT_EQ] = ACTIONS(6346),
    [anon_sym_LT_LT_EQ] = ACTIONS(6346),
    [anon_sym_CARET_EQ] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(6346),
    [anon_sym_DOT_DOT] = ACTIONS(7328),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6346),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(7328),
    [anon_sym_AMP_AMP] = ACTIONS(7328),
    [anon_sym_LT_LT] = ACTIONS(7328),
    [anon_sym_GT_GT] = ACTIONS(7328),
    [anon_sym_EQ_EQ] = ACTIONS(7328),
    [anon_sym_BANG_EQ] = ACTIONS(6346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6346),
    [anon_sym_LT_EQ_GT] = ACTIONS(6346),
    [anon_sym_EQ_TILDE] = ACTIONS(6346),
    [anon_sym_BANG_TILDE] = ACTIONS(6346),
    [anon_sym_LT_EQ] = ACTIONS(7328),
    [anon_sym_GT] = ACTIONS(7328),
    [anon_sym_GT_EQ] = ACTIONS(6346),
    [anon_sym_CARET] = ACTIONS(7328),
    [anon_sym_PLUS] = ACTIONS(7328),
    [anon_sym_SLASH] = ACTIONS(7328),
    [anon_sym_PERCENT] = ACTIONS(7328),
    [sym_comment] = ACTIONS(256),
  },
  [8405] = {
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__line_break] = ACTIONS(7330),
    [sym__element_reference_left_bracket] = ACTIONS(7330),
    [sym__scope_double_colon] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [ts_builtin_sym_end] = ACTIONS(7330),
    [anon_sym___END__] = ACTIONS(7330),
    [anon_sym_LBRACE] = ACTIONS(7330),
    [anon_sym_RBRACE] = ACTIONS(7330),
    [anon_sym_RPAREN] = ACTIONS(7330),
    [anon_sym_DOT] = ACTIONS(7332),
    [anon_sym_end] = ACTIONS(7330),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_SEMI] = ACTIONS(7330),
    [anon_sym_STAR_STAR] = ACTIONS(7332),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_EQ] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_if] = ACTIONS(7330),
    [anon_sym_unless] = ACTIONS(7330),
    [anon_sym_while] = ACTIONS(7330),
    [anon_sym_until] = ACTIONS(7330),
    [anon_sym_rescue] = ACTIONS(7330),
    [anon_sym_do] = ACTIONS(7330),
    [anon_sym_when] = ACTIONS(7330),
    [anon_sym_elsif] = ACTIONS(7330),
    [anon_sym_else] = ACTIONS(7330),
    [anon_sym_then] = ACTIONS(7330),
    [anon_sym_ensure] = ACTIONS(7330),
    [anon_sym_AMP_DOT] = ACTIONS(7330),
    [anon_sym_PLUS_EQ] = ACTIONS(7330),
    [anon_sym_DASH_EQ] = ACTIONS(7330),
    [anon_sym_STAR_EQ] = ACTIONS(7330),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7330),
    [anon_sym_SLASH_EQ] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7330),
    [anon_sym_PIPE_EQ] = ACTIONS(7330),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7330),
    [anon_sym_AMP_EQ] = ACTIONS(7330),
    [anon_sym_PERCENT_EQ] = ACTIONS(7330),
    [anon_sym_GT_GT_EQ] = ACTIONS(7330),
    [anon_sym_LT_LT_EQ] = ACTIONS(7330),
    [anon_sym_CARET_EQ] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7332),
    [anon_sym_AMP_AMP] = ACTIONS(7332),
    [anon_sym_LT_LT] = ACTIONS(7332),
    [anon_sym_GT_GT] = ACTIONS(7332),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7332),
    [anon_sym_PLUS] = ACTIONS(7332),
    [anon_sym_SLASH] = ACTIONS(7332),
    [anon_sym_PERCENT] = ACTIONS(7332),
    [sym_comment] = ACTIONS(256),
  },
  [8406] = {
    [aux_sym_exceptions_repeat1] = STATE(11260),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__line_break] = ACTIONS(7330),
    [sym__element_reference_left_bracket] = ACTIONS(7330),
    [sym__scope_double_colon] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [ts_builtin_sym_end] = ACTIONS(7330),
    [anon_sym___END__] = ACTIONS(7330),
    [anon_sym_LBRACE] = ACTIONS(7330),
    [anon_sym_DOT] = ACTIONS(7332),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_SEMI] = ACTIONS(7330),
    [anon_sym_STAR_STAR] = ACTIONS(7332),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_EQ] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_if] = ACTIONS(7330),
    [anon_sym_unless] = ACTIONS(7330),
    [anon_sym_while] = ACTIONS(7330),
    [anon_sym_until] = ACTIONS(7330),
    [anon_sym_rescue] = ACTIONS(7330),
    [anon_sym_do] = ACTIONS(7330),
    [anon_sym_AMP_DOT] = ACTIONS(7330),
    [anon_sym_PLUS_EQ] = ACTIONS(7330),
    [anon_sym_DASH_EQ] = ACTIONS(7330),
    [anon_sym_STAR_EQ] = ACTIONS(7330),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7330),
    [anon_sym_SLASH_EQ] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7330),
    [anon_sym_PIPE_EQ] = ACTIONS(7330),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7330),
    [anon_sym_AMP_EQ] = ACTIONS(7330),
    [anon_sym_PERCENT_EQ] = ACTIONS(7330),
    [anon_sym_GT_GT_EQ] = ACTIONS(7330),
    [anon_sym_LT_LT_EQ] = ACTIONS(7330),
    [anon_sym_CARET_EQ] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7332),
    [anon_sym_AMP_AMP] = ACTIONS(7332),
    [anon_sym_LT_LT] = ACTIONS(7332),
    [anon_sym_GT_GT] = ACTIONS(7332),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7332),
    [anon_sym_PLUS] = ACTIONS(7332),
    [anon_sym_SLASH] = ACTIONS(7332),
    [anon_sym_PERCENT] = ACTIONS(7332),
    [sym_comment] = ACTIONS(256),
  },
  [8407] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__line_break] = ACTIONS(7344),
    [sym__element_reference_left_bracket] = ACTIONS(7344),
    [sym__scope_double_colon] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(7168),
    [sym__binary_star] = ACTIONS(7170),
    [ts_builtin_sym_end] = ACTIONS(7344),
    [anon_sym___END__] = ACTIONS(7344),
    [anon_sym_LBRACE] = ACTIONS(7344),
    [anon_sym_DOT] = ACTIONS(9504),
    [anon_sym_COMMA] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(7172),
    [anon_sym_SEMI] = ACTIONS(7344),
    [anon_sym_STAR_STAR] = ACTIONS(7174),
    [anon_sym_AMP] = ACTIONS(7176),
    [anon_sym_EQ] = ACTIONS(9504),
    [anon_sym_LT] = ACTIONS(7178),
    [anon_sym_if] = ACTIONS(7344),
    [anon_sym_unless] = ACTIONS(7344),
    [anon_sym_while] = ACTIONS(7344),
    [anon_sym_until] = ACTIONS(7344),
    [anon_sym_rescue] = ACTIONS(7344),
    [anon_sym_do] = ACTIONS(7344),
    [anon_sym_AMP_DOT] = ACTIONS(7344),
    [anon_sym_PLUS_EQ] = ACTIONS(7344),
    [anon_sym_DASH_EQ] = ACTIONS(7344),
    [anon_sym_STAR_EQ] = ACTIONS(7344),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7344),
    [anon_sym_SLASH_EQ] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7344),
    [anon_sym_PIPE_EQ] = ACTIONS(7344),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7344),
    [anon_sym_AMP_EQ] = ACTIONS(7344),
    [anon_sym_PERCENT_EQ] = ACTIONS(7344),
    [anon_sym_GT_GT_EQ] = ACTIONS(7344),
    [anon_sym_LT_LT_EQ] = ACTIONS(7344),
    [anon_sym_CARET_EQ] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(7180),
    [anon_sym_DOT_DOT] = ACTIONS(7182),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7184),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(7186),
    [anon_sym_AMP_AMP] = ACTIONS(7186),
    [anon_sym_LT_LT] = ACTIONS(7188),
    [anon_sym_GT_GT] = ACTIONS(7188),
    [anon_sym_EQ_EQ] = ACTIONS(7186),
    [anon_sym_BANG_EQ] = ACTIONS(7190),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7190),
    [anon_sym_LT_EQ_GT] = ACTIONS(7190),
    [anon_sym_EQ_TILDE] = ACTIONS(7190),
    [anon_sym_BANG_TILDE] = ACTIONS(7190),
    [anon_sym_LT_EQ] = ACTIONS(7178),
    [anon_sym_GT] = ACTIONS(7178),
    [anon_sym_GT_EQ] = ACTIONS(7192),
    [anon_sym_CARET] = ACTIONS(7172),
    [anon_sym_PLUS] = ACTIONS(7194),
    [anon_sym_SLASH] = ACTIONS(7174),
    [anon_sym_PERCENT] = ACTIONS(7174),
    [sym_comment] = ACTIONS(256),
  },
  [8408] = {
    [sym__simple_string] = ACTIONS(7346),
    [sym__simple_heredoc_body] = ACTIONS(7346),
    [sym__string_beginning] = ACTIONS(7346),
    [sym__heredoc_body_beginning] = ACTIONS(7346),
    [sym__line_break] = ACTIONS(7346),
    [sym__element_reference_left_bracket] = ACTIONS(7346),
    [sym__scope_double_colon] = ACTIONS(7346),
    [sym__binary_minus] = ACTIONS(7346),
    [sym__binary_star] = ACTIONS(7346),
    [ts_builtin_sym_end] = ACTIONS(7346),
    [anon_sym___END__] = ACTIONS(7346),
    [anon_sym_LBRACE] = ACTIONS(7346),
    [anon_sym_RBRACE] = ACTIONS(7346),
    [anon_sym_RPAREN] = ACTIONS(7346),
    [anon_sym_DOT] = ACTIONS(7348),
    [anon_sym_end] = ACTIONS(7346),
    [anon_sym_COMMA] = ACTIONS(7346),
    [anon_sym_PIPE] = ACTIONS(7348),
    [anon_sym_SEMI] = ACTIONS(7346),
    [anon_sym_STAR_STAR] = ACTIONS(7348),
    [anon_sym_AMP] = ACTIONS(7348),
    [anon_sym_EQ] = ACTIONS(7348),
    [anon_sym_LT] = ACTIONS(7348),
    [anon_sym_if] = ACTIONS(7346),
    [anon_sym_unless] = ACTIONS(7346),
    [anon_sym_while] = ACTIONS(7346),
    [anon_sym_until] = ACTIONS(7346),
    [anon_sym_rescue] = ACTIONS(7346),
    [anon_sym_do] = ACTIONS(7346),
    [anon_sym_when] = ACTIONS(7346),
    [anon_sym_elsif] = ACTIONS(7346),
    [anon_sym_else] = ACTIONS(7346),
    [anon_sym_then] = ACTIONS(7346),
    [anon_sym_ensure] = ACTIONS(7346),
    [anon_sym_AMP_DOT] = ACTIONS(7346),
    [anon_sym_PLUS_EQ] = ACTIONS(7346),
    [anon_sym_DASH_EQ] = ACTIONS(7346),
    [anon_sym_STAR_EQ] = ACTIONS(7346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7346),
    [anon_sym_SLASH_EQ] = ACTIONS(7346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7346),
    [anon_sym_PIPE_EQ] = ACTIONS(7346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7346),
    [anon_sym_AMP_EQ] = ACTIONS(7346),
    [anon_sym_PERCENT_EQ] = ACTIONS(7346),
    [anon_sym_GT_GT_EQ] = ACTIONS(7346),
    [anon_sym_LT_LT_EQ] = ACTIONS(7346),
    [anon_sym_CARET_EQ] = ACTIONS(7346),
    [anon_sym_QMARK] = ACTIONS(7348),
    [anon_sym_DOT_DOT] = ACTIONS(7348),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7346),
    [anon_sym_and] = ACTIONS(7346),
    [anon_sym_or] = ACTIONS(7346),
    [anon_sym_PIPE_PIPE] = ACTIONS(7348),
    [anon_sym_AMP_AMP] = ACTIONS(7348),
    [anon_sym_LT_LT] = ACTIONS(7348),
    [anon_sym_GT_GT] = ACTIONS(7348),
    [anon_sym_EQ_EQ] = ACTIONS(7348),
    [anon_sym_BANG_EQ] = ACTIONS(7346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7346),
    [anon_sym_LT_EQ_GT] = ACTIONS(7346),
    [anon_sym_EQ_TILDE] = ACTIONS(7346),
    [anon_sym_BANG_TILDE] = ACTIONS(7346),
    [anon_sym_LT_EQ] = ACTIONS(7348),
    [anon_sym_GT] = ACTIONS(7348),
    [anon_sym_GT_EQ] = ACTIONS(7346),
    [anon_sym_CARET] = ACTIONS(7348),
    [anon_sym_PLUS] = ACTIONS(7348),
    [anon_sym_SLASH] = ACTIONS(7348),
    [anon_sym_PERCENT] = ACTIONS(7348),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(7348),
  },
  [8409] = {
    [sym__simple_heredoc_body] = ACTIONS(12768),
    [sym__heredoc_body_beginning] = ACTIONS(12768),
    [sym__line_break] = ACTIONS(12768),
    [sym__element_reference_left_bracket] = ACTIONS(12768),
    [sym__scope_double_colon] = ACTIONS(12768),
    [sym__binary_minus] = ACTIONS(12768),
    [sym__binary_star] = ACTIONS(12768),
    [ts_builtin_sym_end] = ACTIONS(12768),
    [anon_sym___END__] = ACTIONS(12768),
    [anon_sym_LBRACE] = ACTIONS(12768),
    [anon_sym_RBRACE] = ACTIONS(12768),
    [anon_sym_RPAREN] = ACTIONS(12768),
    [anon_sym_DOT] = ACTIONS(12770),
    [anon_sym_end] = ACTIONS(12768),
    [anon_sym_COMMA] = ACTIONS(12768),
    [anon_sym_PIPE] = ACTIONS(12770),
    [anon_sym_SEMI] = ACTIONS(12768),
    [anon_sym_STAR_STAR] = ACTIONS(12770),
    [anon_sym_AMP] = ACTIONS(12770),
    [anon_sym_EQ] = ACTIONS(12770),
    [anon_sym_LT] = ACTIONS(12770),
    [anon_sym_if] = ACTIONS(12768),
    [anon_sym_unless] = ACTIONS(12768),
    [anon_sym_while] = ACTIONS(12768),
    [anon_sym_until] = ACTIONS(12768),
    [anon_sym_rescue] = ACTIONS(12768),
    [anon_sym_do] = ACTIONS(12768),
    [anon_sym_when] = ACTIONS(12768),
    [anon_sym_elsif] = ACTIONS(12768),
    [anon_sym_else] = ACTIONS(12768),
    [anon_sym_then] = ACTIONS(12768),
    [anon_sym_ensure] = ACTIONS(12768),
    [anon_sym_AMP_DOT] = ACTIONS(12768),
    [anon_sym_PLUS_EQ] = ACTIONS(12768),
    [anon_sym_DASH_EQ] = ACTIONS(12768),
    [anon_sym_STAR_EQ] = ACTIONS(12768),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(12768),
    [anon_sym_SLASH_EQ] = ACTIONS(12768),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(12768),
    [anon_sym_PIPE_EQ] = ACTIONS(12768),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(12768),
    [anon_sym_AMP_EQ] = ACTIONS(12768),
    [anon_sym_PERCENT_EQ] = ACTIONS(12768),
    [anon_sym_GT_GT_EQ] = ACTIONS(12768),
    [anon_sym_LT_LT_EQ] = ACTIONS(12768),
    [anon_sym_CARET_EQ] = ACTIONS(12768),
    [anon_sym_QMARK] = ACTIONS(12768),
    [anon_sym_DOT_DOT] = ACTIONS(12770),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12768),
    [anon_sym_and] = ACTIONS(12768),
    [anon_sym_or] = ACTIONS(12768),
    [anon_sym_PIPE_PIPE] = ACTIONS(12770),
    [anon_sym_AMP_AMP] = ACTIONS(12770),
    [anon_sym_LT_LT] = ACTIONS(12770),
    [anon_sym_GT_GT] = ACTIONS(12770),
    [anon_sym_EQ_EQ] = ACTIONS(12770),
    [anon_sym_BANG_EQ] = ACTIONS(12768),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12768),
    [anon_sym_LT_EQ_GT] = ACTIONS(12768),
    [anon_sym_EQ_TILDE] = ACTIONS(12768),
    [anon_sym_BANG_TILDE] = ACTIONS(12768),
    [anon_sym_LT_EQ] = ACTIONS(12770),
    [anon_sym_GT] = ACTIONS(12770),
    [anon_sym_GT_EQ] = ACTIONS(12768),
    [anon_sym_CARET] = ACTIONS(12770),
    [anon_sym_PLUS] = ACTIONS(12770),
    [anon_sym_SLASH] = ACTIONS(12770),
    [anon_sym_PERCENT] = ACTIONS(12770),
    [sym_comment] = ACTIONS(256),
  },
  [8410] = {
    [sym__simple_string] = ACTIONS(3612),
    [sym__simple_heredoc_body] = ACTIONS(3612),
    [sym__string_beginning] = ACTIONS(3612),
    [sym__heredoc_body_beginning] = ACTIONS(3612),
    [sym__line_break] = ACTIONS(3612),
    [sym__element_reference_left_bracket] = ACTIONS(3612),
    [sym__scope_double_colon] = ACTIONS(3612),
    [sym__binary_minus] = ACTIONS(3612),
    [sym__binary_star] = ACTIONS(3612),
    [ts_builtin_sym_end] = ACTIONS(3612),
    [anon_sym___END__] = ACTIONS(3612),
    [anon_sym_LBRACE] = ACTIONS(3612),
    [anon_sym_RBRACE] = ACTIONS(3612),
    [anon_sym_RPAREN] = ACTIONS(3612),
    [anon_sym_DOT] = ACTIONS(3614),
    [anon_sym_end] = ACTIONS(3612),
    [anon_sym_COMMA] = ACTIONS(3612),
    [anon_sym_PIPE] = ACTIONS(3614),
    [anon_sym_SEMI] = ACTIONS(3612),
    [anon_sym_STAR_STAR] = ACTIONS(3614),
    [anon_sym_AMP] = ACTIONS(3614),
    [anon_sym_EQ] = ACTIONS(3614),
    [anon_sym_LT] = ACTIONS(3614),
    [anon_sym_if] = ACTIONS(3612),
    [anon_sym_unless] = ACTIONS(3612),
    [anon_sym_while] = ACTIONS(3612),
    [anon_sym_until] = ACTIONS(3612),
    [anon_sym_rescue] = ACTIONS(3612),
    [anon_sym_do] = ACTIONS(3612),
    [anon_sym_when] = ACTIONS(3612),
    [anon_sym_elsif] = ACTIONS(3612),
    [anon_sym_else] = ACTIONS(3612),
    [anon_sym_then] = ACTIONS(3612),
    [anon_sym_ensure] = ACTIONS(3612),
    [anon_sym_EQ_GT] = ACTIONS(3612),
    [anon_sym_AMP_DOT] = ACTIONS(3612),
    [anon_sym_PLUS_EQ] = ACTIONS(3612),
    [anon_sym_DASH_EQ] = ACTIONS(3612),
    [anon_sym_STAR_EQ] = ACTIONS(3612),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3612),
    [anon_sym_SLASH_EQ] = ACTIONS(3612),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3612),
    [anon_sym_PIPE_EQ] = ACTIONS(3612),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3612),
    [anon_sym_AMP_EQ] = ACTIONS(3612),
    [anon_sym_PERCENT_EQ] = ACTIONS(3612),
    [anon_sym_GT_GT_EQ] = ACTIONS(3612),
    [anon_sym_LT_LT_EQ] = ACTIONS(3612),
    [anon_sym_CARET_EQ] = ACTIONS(3612),
    [anon_sym_QMARK] = ACTIONS(3614),
    [anon_sym_DOT_DOT] = ACTIONS(3614),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3612),
    [anon_sym_and] = ACTIONS(3612),
    [anon_sym_or] = ACTIONS(3612),
    [anon_sym_PIPE_PIPE] = ACTIONS(3614),
    [anon_sym_AMP_AMP] = ACTIONS(3614),
    [anon_sym_LT_LT] = ACTIONS(3614),
    [anon_sym_GT_GT] = ACTIONS(3614),
    [anon_sym_EQ_EQ] = ACTIONS(3614),
    [anon_sym_BANG_EQ] = ACTIONS(3612),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3612),
    [anon_sym_LT_EQ_GT] = ACTIONS(3612),
    [anon_sym_EQ_TILDE] = ACTIONS(3612),
    [anon_sym_BANG_TILDE] = ACTIONS(3612),
    [anon_sym_LT_EQ] = ACTIONS(3614),
    [anon_sym_GT] = ACTIONS(3614),
    [anon_sym_GT_EQ] = ACTIONS(3612),
    [anon_sym_CARET] = ACTIONS(3614),
    [anon_sym_PLUS] = ACTIONS(3614),
    [anon_sym_SLASH] = ACTIONS(3614),
    [anon_sym_PERCENT] = ACTIONS(3614),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(3614),
  },
  [8411] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(14216),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [8412] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__line_break] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(7714),
    [sym__binary_star] = ACTIONS(7716),
    [anon_sym_RBRACE] = ACTIONS(5298),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(7718),
    [anon_sym_SEMI] = ACTIONS(5298),
    [anon_sym_STAR_STAR] = ACTIONS(7720),
    [anon_sym_AMP] = ACTIONS(7722),
    [anon_sym_LT] = ACTIONS(7724),
    [anon_sym_if] = ACTIONS(5298),
    [anon_sym_unless] = ACTIONS(5298),
    [anon_sym_while] = ACTIONS(5298),
    [anon_sym_until] = ACTIONS(5298),
    [anon_sym_rescue] = ACTIONS(5298),
    [anon_sym_EQ_GT] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(7726),
    [anon_sym_DOT_DOT] = ACTIONS(7728),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7730),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(7732),
    [anon_sym_AMP_AMP] = ACTIONS(7732),
    [anon_sym_LT_LT] = ACTIONS(7734),
    [anon_sym_GT_GT] = ACTIONS(7734),
    [anon_sym_EQ_EQ] = ACTIONS(7736),
    [anon_sym_BANG_EQ] = ACTIONS(7732),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7732),
    [anon_sym_LT_EQ_GT] = ACTIONS(7732),
    [anon_sym_EQ_TILDE] = ACTIONS(7732),
    [anon_sym_BANG_TILDE] = ACTIONS(7732),
    [anon_sym_LT_EQ] = ACTIONS(7724),
    [anon_sym_GT] = ACTIONS(7724),
    [anon_sym_GT_EQ] = ACTIONS(7738),
    [anon_sym_CARET] = ACTIONS(7740),
    [anon_sym_PLUS] = ACTIONS(7742),
    [anon_sym_SLASH] = ACTIONS(7720),
    [anon_sym_PERCENT] = ACTIONS(7720),
    [sym_comment] = ACTIONS(110),
  },
  [8413] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__line_break] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(7714),
    [sym__binary_star] = ACTIONS(7716),
    [anon_sym_RBRACE] = ACTIONS(5338),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(7718),
    [anon_sym_SEMI] = ACTIONS(5338),
    [anon_sym_STAR_STAR] = ACTIONS(7720),
    [anon_sym_AMP] = ACTIONS(7722),
    [anon_sym_LT] = ACTIONS(7724),
    [anon_sym_if] = ACTIONS(5338),
    [anon_sym_unless] = ACTIONS(5338),
    [anon_sym_while] = ACTIONS(5338),
    [anon_sym_until] = ACTIONS(5338),
    [anon_sym_rescue] = ACTIONS(5338),
    [anon_sym_EQ_GT] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(7726),
    [anon_sym_DOT_DOT] = ACTIONS(7728),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7730),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(7732),
    [anon_sym_AMP_AMP] = ACTIONS(7732),
    [anon_sym_LT_LT] = ACTIONS(7734),
    [anon_sym_GT_GT] = ACTIONS(7734),
    [anon_sym_EQ_EQ] = ACTIONS(7736),
    [anon_sym_BANG_EQ] = ACTIONS(7732),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7732),
    [anon_sym_LT_EQ_GT] = ACTIONS(7732),
    [anon_sym_EQ_TILDE] = ACTIONS(7732),
    [anon_sym_BANG_TILDE] = ACTIONS(7732),
    [anon_sym_LT_EQ] = ACTIONS(7724),
    [anon_sym_GT] = ACTIONS(7724),
    [anon_sym_GT_EQ] = ACTIONS(7738),
    [anon_sym_CARET] = ACTIONS(7740),
    [anon_sym_PLUS] = ACTIONS(7742),
    [anon_sym_SLASH] = ACTIONS(7720),
    [anon_sym_PERCENT] = ACTIONS(7720),
    [sym_comment] = ACTIONS(110),
  },
  [8414] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__line_break] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(7714),
    [sym__binary_star] = ACTIONS(7716),
    [anon_sym_RBRACE] = ACTIONS(4284),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(7718),
    [anon_sym_SEMI] = ACTIONS(4284),
    [anon_sym_STAR_STAR] = ACTIONS(7720),
    [anon_sym_AMP] = ACTIONS(7722),
    [anon_sym_LT] = ACTIONS(7724),
    [anon_sym_if] = ACTIONS(4284),
    [anon_sym_unless] = ACTIONS(4284),
    [anon_sym_while] = ACTIONS(4284),
    [anon_sym_until] = ACTIONS(4284),
    [anon_sym_rescue] = ACTIONS(4284),
    [anon_sym_EQ_GT] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(7726),
    [anon_sym_DOT_DOT] = ACTIONS(7728),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7730),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(7732),
    [anon_sym_AMP_AMP] = ACTIONS(7732),
    [anon_sym_LT_LT] = ACTIONS(7734),
    [anon_sym_GT_GT] = ACTIONS(7734),
    [anon_sym_EQ_EQ] = ACTIONS(7736),
    [anon_sym_BANG_EQ] = ACTIONS(7732),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7732),
    [anon_sym_LT_EQ_GT] = ACTIONS(7732),
    [anon_sym_EQ_TILDE] = ACTIONS(7732),
    [anon_sym_BANG_TILDE] = ACTIONS(7732),
    [anon_sym_LT_EQ] = ACTIONS(7724),
    [anon_sym_GT] = ACTIONS(7724),
    [anon_sym_GT_EQ] = ACTIONS(7738),
    [anon_sym_CARET] = ACTIONS(7740),
    [anon_sym_PLUS] = ACTIONS(7742),
    [anon_sym_SLASH] = ACTIONS(7720),
    [anon_sym_PERCENT] = ACTIONS(7720),
    [sym_comment] = ACTIONS(110),
  },
  [8415] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(11262),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(2625),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2626),
    [sym__variable] = STATE(2129),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3874),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(7204),
    [anon_sym_yield] = ACTIONS(7206),
    [anon_sym_break] = ACTIONS(7208),
    [anon_sym_next] = ACTIONS(7210),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7708),
    [anon_sym_defined_QMARK] = ACTIONS(3876),
    [anon_sym_not] = ACTIONS(7710),
    [anon_sym_BANG] = ACTIONS(3882),
    [anon_sym_TILDE] = ACTIONS(3882),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8416] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(4993),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(3780),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(2625),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2626),
    [sym__variable] = STATE(2129),
    [sym_reserved_identifier] = STATE(4995),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(4996),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(11263),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__block_ampersand] = ACTIONS(7214),
    [sym__splat_star] = ACTIONS(7216),
    [sym__unary_minus] = ACTIONS(3874),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(14218),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(3272),
    [anon_sym_yield] = ACTIONS(3274),
    [anon_sym_break] = ACTIONS(3276),
    [anon_sym_next] = ACTIONS(3278),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(7708),
    [anon_sym_defined_QMARK] = ACTIONS(3876),
    [anon_sym_not] = ACTIONS(3878),
    [anon_sym_BANG] = ACTIONS(3882),
    [anon_sym_TILDE] = ACTIONS(3882),
    [sym_constant] = ACTIONS(7218),
    [sym_identifier] = ACTIONS(7218),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8417] = {
    [sym_heredoc_end] = STATE(1444),
    [aux_sym_argument_list_repeat2] = STATE(3783),
    [sym__simple_heredoc_body] = ACTIONS(2268),
    [sym__heredoc_body_beginning] = ACTIONS(2270),
    [sym__line_break] = ACTIONS(5472),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_RBRACE] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(14220),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_SEMI] = ACTIONS(5472),
    [anon_sym_STAR_STAR] = ACTIONS(5472),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_if] = ACTIONS(5472),
    [anon_sym_unless] = ACTIONS(5472),
    [anon_sym_while] = ACTIONS(5472),
    [anon_sym_until] = ACTIONS(5472),
    [anon_sym_rescue] = ACTIONS(5472),
    [anon_sym_EQ_GT] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5472),
    [anon_sym_AMP_AMP] = ACTIONS(5472),
    [anon_sym_LT_LT] = ACTIONS(5472),
    [anon_sym_GT_GT] = ACTIONS(5472),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5472),
    [anon_sym_PLUS] = ACTIONS(5472),
    [anon_sym_SLASH] = ACTIONS(5472),
    [anon_sym_PERCENT] = ACTIONS(5472),
    [sym_comment] = ACTIONS(110),
  },
  [8418] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(11265),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(2625),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2626),
    [sym__variable] = STATE(2129),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3874),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(7204),
    [anon_sym_yield] = ACTIONS(7206),
    [anon_sym_break] = ACTIONS(7208),
    [anon_sym_next] = ACTIONS(7210),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7708),
    [anon_sym_defined_QMARK] = ACTIONS(3876),
    [anon_sym_not] = ACTIONS(7710),
    [anon_sym_BANG] = ACTIONS(3882),
    [anon_sym_TILDE] = ACTIONS(3882),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8419] = {
    [sym__simple_heredoc_body] = ACTIONS(14000),
    [sym__heredoc_body_beginning] = ACTIONS(14000),
    [sym__line_break] = ACTIONS(14000),
    [sym__element_reference_left_bracket] = ACTIONS(14000),
    [sym__scope_double_colon] = ACTIONS(14000),
    [sym__binary_minus] = ACTIONS(14000),
    [sym__binary_star] = ACTIONS(14000),
    [ts_builtin_sym_end] = ACTIONS(14000),
    [anon_sym___END__] = ACTIONS(14000),
    [anon_sym_LBRACE] = ACTIONS(14000),
    [anon_sym_RBRACE] = ACTIONS(14000),
    [anon_sym_RPAREN] = ACTIONS(14000),
    [anon_sym_DOT] = ACTIONS(14002),
    [anon_sym_end] = ACTIONS(14000),
    [anon_sym_COMMA] = ACTIONS(14000),
    [anon_sym_PIPE] = ACTIONS(14002),
    [anon_sym_SEMI] = ACTIONS(14000),
    [anon_sym_STAR_STAR] = ACTIONS(14002),
    [anon_sym_AMP] = ACTIONS(14002),
    [anon_sym_EQ] = ACTIONS(14002),
    [anon_sym_LT] = ACTIONS(14002),
    [anon_sym_if] = ACTIONS(14000),
    [anon_sym_unless] = ACTIONS(14000),
    [anon_sym_while] = ACTIONS(14000),
    [anon_sym_until] = ACTIONS(14000),
    [anon_sym_rescue] = ACTIONS(14000),
    [anon_sym_do] = ACTIONS(14000),
    [anon_sym_when] = ACTIONS(14000),
    [anon_sym_elsif] = ACTIONS(14000),
    [anon_sym_else] = ACTIONS(14000),
    [anon_sym_then] = ACTIONS(14000),
    [anon_sym_ensure] = ACTIONS(14000),
    [anon_sym_AMP_DOT] = ACTIONS(14000),
    [anon_sym_PLUS_EQ] = ACTIONS(14000),
    [anon_sym_DASH_EQ] = ACTIONS(14000),
    [anon_sym_STAR_EQ] = ACTIONS(14000),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(14000),
    [anon_sym_SLASH_EQ] = ACTIONS(14000),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(14000),
    [anon_sym_PIPE_EQ] = ACTIONS(14000),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(14000),
    [anon_sym_AMP_EQ] = ACTIONS(14000),
    [anon_sym_PERCENT_EQ] = ACTIONS(14000),
    [anon_sym_GT_GT_EQ] = ACTIONS(14000),
    [anon_sym_LT_LT_EQ] = ACTIONS(14000),
    [anon_sym_CARET_EQ] = ACTIONS(14000),
    [anon_sym_QMARK] = ACTIONS(14000),
    [anon_sym_DOT_DOT] = ACTIONS(14002),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(14000),
    [anon_sym_and] = ACTIONS(14000),
    [anon_sym_or] = ACTIONS(14000),
    [anon_sym_PIPE_PIPE] = ACTIONS(14002),
    [anon_sym_AMP_AMP] = ACTIONS(14002),
    [anon_sym_LT_LT] = ACTIONS(14002),
    [anon_sym_GT_GT] = ACTIONS(14002),
    [anon_sym_EQ_EQ] = ACTIONS(14002),
    [anon_sym_BANG_EQ] = ACTIONS(14000),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(14000),
    [anon_sym_LT_EQ_GT] = ACTIONS(14000),
    [anon_sym_EQ_TILDE] = ACTIONS(14000),
    [anon_sym_BANG_TILDE] = ACTIONS(14000),
    [anon_sym_LT_EQ] = ACTIONS(14002),
    [anon_sym_GT] = ACTIONS(14002),
    [anon_sym_GT_EQ] = ACTIONS(14000),
    [anon_sym_CARET] = ACTIONS(14002),
    [anon_sym_PLUS] = ACTIONS(14002),
    [anon_sym_SLASH] = ACTIONS(14002),
    [anon_sym_PERCENT] = ACTIONS(14002),
    [sym_comment] = ACTIONS(256),
  },
  [8420] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__line_break] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(7224),
    [anon_sym_RBRACE] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_SEMI] = ACTIONS(7008),
    [anon_sym_STAR_STAR] = ACTIONS(7228),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_if] = ACTIONS(7008),
    [anon_sym_unless] = ACTIONS(7008),
    [anon_sym_while] = ACTIONS(7008),
    [anon_sym_until] = ACTIONS(7008),
    [anon_sym_rescue] = ACTIONS(7008),
    [anon_sym_EQ_GT] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7008),
    [anon_sym_AMP_AMP] = ACTIONS(7008),
    [anon_sym_LT_LT] = ACTIONS(7008),
    [anon_sym_GT_GT] = ACTIONS(7008),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7008),
    [anon_sym_PLUS] = ACTIONS(7008),
    [anon_sym_SLASH] = ACTIONS(7228),
    [anon_sym_PERCENT] = ACTIONS(7228),
    [sym_comment] = ACTIONS(110),
  },
  [8421] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__line_break] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_RBRACE] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_SEMI] = ACTIONS(7012),
    [anon_sym_STAR_STAR] = ACTIONS(7228),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_if] = ACTIONS(7012),
    [anon_sym_unless] = ACTIONS(7012),
    [anon_sym_while] = ACTIONS(7012),
    [anon_sym_until] = ACTIONS(7012),
    [anon_sym_rescue] = ACTIONS(7012),
    [anon_sym_EQ_GT] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7012),
    [anon_sym_AMP_AMP] = ACTIONS(7012),
    [anon_sym_LT_LT] = ACTIONS(7012),
    [anon_sym_GT_GT] = ACTIONS(7012),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7012),
    [anon_sym_PLUS] = ACTIONS(7012),
    [anon_sym_SLASH] = ACTIONS(7012),
    [anon_sym_PERCENT] = ACTIONS(7012),
    [sym_comment] = ACTIONS(110),
  },
  [8422] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7222),
    [sym__binary_star] = ACTIONS(7224),
    [anon_sym_RBRACE] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(7228),
    [anon_sym_AMP] = ACTIONS(7230),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7244),
    [anon_sym_GT_GT] = ACTIONS(7244),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7252),
    [anon_sym_SLASH] = ACTIONS(7228),
    [anon_sym_PERCENT] = ACTIONS(7228),
    [sym_comment] = ACTIONS(110),
  },
  [8423] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_RBRACE] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(7228),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7016),
    [anon_sym_PERCENT] = ACTIONS(7016),
    [sym_comment] = ACTIONS(110),
  },
  [8424] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7222),
    [sym__binary_star] = ACTIONS(7224),
    [anon_sym_RBRACE] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(7228),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7244),
    [anon_sym_GT_GT] = ACTIONS(7244),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7252),
    [anon_sym_SLASH] = ACTIONS(7228),
    [anon_sym_PERCENT] = ACTIONS(7228),
    [sym_comment] = ACTIONS(110),
  },
  [8425] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7222),
    [sym__binary_star] = ACTIONS(7224),
    [anon_sym_RBRACE] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7226),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(7228),
    [anon_sym_AMP] = ACTIONS(7230),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7244),
    [anon_sym_GT_GT] = ACTIONS(7244),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7250),
    [anon_sym_PLUS] = ACTIONS(7252),
    [anon_sym_SLASH] = ACTIONS(7228),
    [anon_sym_PERCENT] = ACTIONS(7228),
    [sym_comment] = ACTIONS(110),
  },
  [8426] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(14222),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [8427] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__line_break] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(7222),
    [sym__binary_star] = ACTIONS(7224),
    [anon_sym_RBRACE] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(7226),
    [anon_sym_SEMI] = ACTIONS(7108),
    [anon_sym_STAR_STAR] = ACTIONS(7228),
    [anon_sym_AMP] = ACTIONS(7230),
    [anon_sym_LT] = ACTIONS(7232),
    [anon_sym_if] = ACTIONS(7108),
    [anon_sym_unless] = ACTIONS(7108),
    [anon_sym_while] = ACTIONS(7108),
    [anon_sym_until] = ACTIONS(7108),
    [anon_sym_rescue] = ACTIONS(7108),
    [anon_sym_EQ_GT] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(7236),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7238),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(7242),
    [anon_sym_AMP_AMP] = ACTIONS(7242),
    [anon_sym_LT_LT] = ACTIONS(7244),
    [anon_sym_GT_GT] = ACTIONS(7244),
    [anon_sym_EQ_EQ] = ACTIONS(7246),
    [anon_sym_BANG_EQ] = ACTIONS(7242),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7242),
    [anon_sym_LT_EQ_GT] = ACTIONS(7242),
    [anon_sym_EQ_TILDE] = ACTIONS(7242),
    [anon_sym_BANG_TILDE] = ACTIONS(7242),
    [anon_sym_LT_EQ] = ACTIONS(7232),
    [anon_sym_GT] = ACTIONS(7232),
    [anon_sym_GT_EQ] = ACTIONS(7248),
    [anon_sym_CARET] = ACTIONS(7250),
    [anon_sym_PLUS] = ACTIONS(7252),
    [anon_sym_SLASH] = ACTIONS(7228),
    [anon_sym_PERCENT] = ACTIONS(7228),
    [sym_comment] = ACTIONS(110),
  },
  [8428] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7222),
    [sym__binary_star] = ACTIONS(7224),
    [anon_sym_RBRACE] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7226),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(7228),
    [anon_sym_AMP] = ACTIONS(7230),
    [anon_sym_LT] = ACTIONS(7232),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7234),
    [anon_sym_DOT_DOT] = ACTIONS(7236),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7238),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7242),
    [anon_sym_AMP_AMP] = ACTIONS(7242),
    [anon_sym_LT_LT] = ACTIONS(7244),
    [anon_sym_GT_GT] = ACTIONS(7244),
    [anon_sym_EQ_EQ] = ACTIONS(7246),
    [anon_sym_BANG_EQ] = ACTIONS(7242),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7242),
    [anon_sym_LT_EQ_GT] = ACTIONS(7242),
    [anon_sym_EQ_TILDE] = ACTIONS(7242),
    [anon_sym_BANG_TILDE] = ACTIONS(7242),
    [anon_sym_LT_EQ] = ACTIONS(7232),
    [anon_sym_GT] = ACTIONS(7232),
    [anon_sym_GT_EQ] = ACTIONS(7248),
    [anon_sym_CARET] = ACTIONS(7250),
    [anon_sym_PLUS] = ACTIONS(7252),
    [anon_sym_SLASH] = ACTIONS(7228),
    [anon_sym_PERCENT] = ACTIONS(7228),
    [sym_comment] = ACTIONS(110),
  },
  [8429] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7222),
    [sym__binary_star] = ACTIONS(7224),
    [anon_sym_RBRACE] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7226),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(7228),
    [anon_sym_AMP] = ACTIONS(7230),
    [anon_sym_LT] = ACTIONS(7232),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7244),
    [anon_sym_GT_GT] = ACTIONS(7244),
    [anon_sym_EQ_EQ] = ACTIONS(7246),
    [anon_sym_BANG_EQ] = ACTIONS(7242),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7242),
    [anon_sym_LT_EQ_GT] = ACTIONS(7242),
    [anon_sym_EQ_TILDE] = ACTIONS(7242),
    [anon_sym_BANG_TILDE] = ACTIONS(7242),
    [anon_sym_LT_EQ] = ACTIONS(7232),
    [anon_sym_GT] = ACTIONS(7232),
    [anon_sym_GT_EQ] = ACTIONS(7248),
    [anon_sym_CARET] = ACTIONS(7250),
    [anon_sym_PLUS] = ACTIONS(7252),
    [anon_sym_SLASH] = ACTIONS(7228),
    [anon_sym_PERCENT] = ACTIONS(7228),
    [sym_comment] = ACTIONS(110),
  },
  [8430] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7222),
    [sym__binary_star] = ACTIONS(7224),
    [anon_sym_RBRACE] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(7228),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7252),
    [anon_sym_SLASH] = ACTIONS(7228),
    [anon_sym_PERCENT] = ACTIONS(7228),
    [sym_comment] = ACTIONS(110),
  },
  [8431] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7224),
    [anon_sym_RBRACE] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(7228),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7228),
    [anon_sym_PERCENT] = ACTIONS(7228),
    [sym_comment] = ACTIONS(110),
  },
  [8432] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__line_break] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(7788),
    [sym__binary_star] = ACTIONS(7790),
    [anon_sym_LBRACE] = ACTIONS(5298),
    [anon_sym_RBRACE] = ACTIONS(5298),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(7792),
    [anon_sym_SEMI] = ACTIONS(5298),
    [anon_sym_STAR_STAR] = ACTIONS(7794),
    [anon_sym_AMP] = ACTIONS(7796),
    [anon_sym_EQ] = ACTIONS(5304),
    [anon_sym_LT] = ACTIONS(7798),
    [anon_sym_if] = ACTIONS(5298),
    [anon_sym_unless] = ACTIONS(5298),
    [anon_sym_while] = ACTIONS(5298),
    [anon_sym_until] = ACTIONS(5298),
    [anon_sym_rescue] = ACTIONS(5298),
    [anon_sym_do] = ACTIONS(5298),
    [anon_sym_EQ_GT] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_PLUS_EQ] = ACTIONS(5298),
    [anon_sym_DASH_EQ] = ACTIONS(5298),
    [anon_sym_STAR_EQ] = ACTIONS(5298),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5298),
    [anon_sym_SLASH_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5298),
    [anon_sym_AMP_EQ] = ACTIONS(5298),
    [anon_sym_PERCENT_EQ] = ACTIONS(5298),
    [anon_sym_GT_GT_EQ] = ACTIONS(5298),
    [anon_sym_LT_LT_EQ] = ACTIONS(5298),
    [anon_sym_CARET_EQ] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(7800),
    [anon_sym_DOT_DOT] = ACTIONS(7802),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7804),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(7806),
    [anon_sym_AMP_AMP] = ACTIONS(7806),
    [anon_sym_LT_LT] = ACTIONS(7808),
    [anon_sym_GT_GT] = ACTIONS(7808),
    [anon_sym_EQ_EQ] = ACTIONS(7806),
    [anon_sym_BANG_EQ] = ACTIONS(7810),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7810),
    [anon_sym_LT_EQ_GT] = ACTIONS(7810),
    [anon_sym_EQ_TILDE] = ACTIONS(7810),
    [anon_sym_BANG_TILDE] = ACTIONS(7810),
    [anon_sym_LT_EQ] = ACTIONS(7798),
    [anon_sym_GT] = ACTIONS(7798),
    [anon_sym_GT_EQ] = ACTIONS(7812),
    [anon_sym_CARET] = ACTIONS(7792),
    [anon_sym_PLUS] = ACTIONS(7814),
    [anon_sym_SLASH] = ACTIONS(7794),
    [anon_sym_PERCENT] = ACTIONS(7794),
    [sym_comment] = ACTIONS(256),
  },
  [8433] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__line_break] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(7788),
    [sym__binary_star] = ACTIONS(7790),
    [anon_sym_LBRACE] = ACTIONS(5338),
    [anon_sym_RBRACE] = ACTIONS(5338),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(7792),
    [anon_sym_SEMI] = ACTIONS(5338),
    [anon_sym_STAR_STAR] = ACTIONS(7794),
    [anon_sym_AMP] = ACTIONS(7796),
    [anon_sym_EQ] = ACTIONS(5340),
    [anon_sym_LT] = ACTIONS(7798),
    [anon_sym_if] = ACTIONS(5338),
    [anon_sym_unless] = ACTIONS(5338),
    [anon_sym_while] = ACTIONS(5338),
    [anon_sym_until] = ACTIONS(5338),
    [anon_sym_rescue] = ACTIONS(5338),
    [anon_sym_do] = ACTIONS(5338),
    [anon_sym_EQ_GT] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_PLUS_EQ] = ACTIONS(5338),
    [anon_sym_DASH_EQ] = ACTIONS(5338),
    [anon_sym_STAR_EQ] = ACTIONS(5338),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5338),
    [anon_sym_SLASH_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5338),
    [anon_sym_AMP_EQ] = ACTIONS(5338),
    [anon_sym_PERCENT_EQ] = ACTIONS(5338),
    [anon_sym_GT_GT_EQ] = ACTIONS(5338),
    [anon_sym_LT_LT_EQ] = ACTIONS(5338),
    [anon_sym_CARET_EQ] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(7800),
    [anon_sym_DOT_DOT] = ACTIONS(7802),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7804),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(7806),
    [anon_sym_AMP_AMP] = ACTIONS(7806),
    [anon_sym_LT_LT] = ACTIONS(7808),
    [anon_sym_GT_GT] = ACTIONS(7808),
    [anon_sym_EQ_EQ] = ACTIONS(7806),
    [anon_sym_BANG_EQ] = ACTIONS(7810),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7810),
    [anon_sym_LT_EQ_GT] = ACTIONS(7810),
    [anon_sym_EQ_TILDE] = ACTIONS(7810),
    [anon_sym_BANG_TILDE] = ACTIONS(7810),
    [anon_sym_LT_EQ] = ACTIONS(7798),
    [anon_sym_GT] = ACTIONS(7798),
    [anon_sym_GT_EQ] = ACTIONS(7812),
    [anon_sym_CARET] = ACTIONS(7792),
    [anon_sym_PLUS] = ACTIONS(7814),
    [anon_sym_SLASH] = ACTIONS(7794),
    [anon_sym_PERCENT] = ACTIONS(7794),
    [sym_comment] = ACTIONS(256),
  },
  [8434] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__line_break] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(7788),
    [sym__binary_star] = ACTIONS(7790),
    [anon_sym_LBRACE] = ACTIONS(4284),
    [anon_sym_RBRACE] = ACTIONS(4284),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(7792),
    [anon_sym_SEMI] = ACTIONS(4284),
    [anon_sym_STAR_STAR] = ACTIONS(7794),
    [anon_sym_AMP] = ACTIONS(7796),
    [anon_sym_EQ] = ACTIONS(5432),
    [anon_sym_LT] = ACTIONS(7798),
    [anon_sym_if] = ACTIONS(4284),
    [anon_sym_unless] = ACTIONS(4284),
    [anon_sym_while] = ACTIONS(4284),
    [anon_sym_until] = ACTIONS(4284),
    [anon_sym_rescue] = ACTIONS(4284),
    [anon_sym_do] = ACTIONS(4284),
    [anon_sym_EQ_GT] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_PLUS_EQ] = ACTIONS(4284),
    [anon_sym_DASH_EQ] = ACTIONS(4284),
    [anon_sym_STAR_EQ] = ACTIONS(4284),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(4284),
    [anon_sym_SLASH_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(4284),
    [anon_sym_AMP_EQ] = ACTIONS(4284),
    [anon_sym_PERCENT_EQ] = ACTIONS(4284),
    [anon_sym_GT_GT_EQ] = ACTIONS(4284),
    [anon_sym_LT_LT_EQ] = ACTIONS(4284),
    [anon_sym_CARET_EQ] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(7800),
    [anon_sym_DOT_DOT] = ACTIONS(7802),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7804),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(7806),
    [anon_sym_AMP_AMP] = ACTIONS(7806),
    [anon_sym_LT_LT] = ACTIONS(7808),
    [anon_sym_GT_GT] = ACTIONS(7808),
    [anon_sym_EQ_EQ] = ACTIONS(7806),
    [anon_sym_BANG_EQ] = ACTIONS(7810),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7810),
    [anon_sym_LT_EQ_GT] = ACTIONS(7810),
    [anon_sym_EQ_TILDE] = ACTIONS(7810),
    [anon_sym_BANG_TILDE] = ACTIONS(7810),
    [anon_sym_LT_EQ] = ACTIONS(7798),
    [anon_sym_GT] = ACTIONS(7798),
    [anon_sym_GT_EQ] = ACTIONS(7812),
    [anon_sym_CARET] = ACTIONS(7792),
    [anon_sym_PLUS] = ACTIONS(7814),
    [anon_sym_SLASH] = ACTIONS(7794),
    [anon_sym_PERCENT] = ACTIONS(7794),
    [sym_comment] = ACTIONS(256),
  },
  [8435] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(11267),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2665),
    [sym_call] = STATE(2665),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(2667),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2668),
    [sym__variable] = STATE(2665),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(3934),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(7774),
    [anon_sym_yield] = ACTIONS(7776),
    [anon_sym_break] = ACTIONS(7778),
    [anon_sym_next] = ACTIONS(7780),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(7782),
    [anon_sym_defined_QMARK] = ACTIONS(3944),
    [anon_sym_not] = ACTIONS(7784),
    [anon_sym_BANG] = ACTIONS(3950),
    [anon_sym_TILDE] = ACTIONS(3950),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [8436] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(5017),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2665),
    [sym_call] = STATE(2665),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(6946),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(2667),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2668),
    [sym__variable] = STATE(2665),
    [sym_reserved_identifier] = STATE(5019),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(5020),
    [sym_subshell] = STATE(561),
    [sym_heredoc_end] = STATE(11268),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__block_ampersand] = ACTIONS(7254),
    [sym__splat_star] = ACTIONS(7256),
    [sym__unary_minus] = ACTIONS(3934),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(14224),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(3936),
    [anon_sym_yield] = ACTIONS(3938),
    [anon_sym_break] = ACTIONS(3940),
    [anon_sym_next] = ACTIONS(3942),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(7782),
    [anon_sym_defined_QMARK] = ACTIONS(3944),
    [anon_sym_not] = ACTIONS(3946),
    [anon_sym_BANG] = ACTIONS(3950),
    [anon_sym_TILDE] = ACTIONS(3950),
    [sym_constant] = ACTIONS(7258),
    [sym_identifier] = ACTIONS(7258),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [8437] = {
    [sym_heredoc_end] = STATE(3770),
    [aux_sym_argument_list_repeat2] = STATE(6949),
    [sym__simple_heredoc_body] = ACTIONS(5460),
    [sym__heredoc_body_beginning] = ACTIONS(5462),
    [sym__line_break] = ACTIONS(5472),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_LBRACE] = ACTIONS(5472),
    [anon_sym_RBRACE] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(14226),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_SEMI] = ACTIONS(5472),
    [anon_sym_STAR_STAR] = ACTIONS(5474),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_EQ] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_if] = ACTIONS(5472),
    [anon_sym_unless] = ACTIONS(5472),
    [anon_sym_while] = ACTIONS(5472),
    [anon_sym_until] = ACTIONS(5472),
    [anon_sym_rescue] = ACTIONS(5472),
    [anon_sym_do] = ACTIONS(5472),
    [anon_sym_EQ_GT] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_PLUS_EQ] = ACTIONS(5472),
    [anon_sym_DASH_EQ] = ACTIONS(5472),
    [anon_sym_STAR_EQ] = ACTIONS(5472),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5472),
    [anon_sym_SLASH_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5472),
    [anon_sym_AMP_EQ] = ACTIONS(5472),
    [anon_sym_PERCENT_EQ] = ACTIONS(5472),
    [anon_sym_GT_GT_EQ] = ACTIONS(5472),
    [anon_sym_LT_LT_EQ] = ACTIONS(5472),
    [anon_sym_CARET_EQ] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5474),
    [anon_sym_AMP_AMP] = ACTIONS(5474),
    [anon_sym_LT_LT] = ACTIONS(5474),
    [anon_sym_GT_GT] = ACTIONS(5474),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5474),
    [anon_sym_PLUS] = ACTIONS(5474),
    [anon_sym_SLASH] = ACTIONS(5474),
    [anon_sym_PERCENT] = ACTIONS(5474),
    [sym_comment] = ACTIONS(256),
  },
  [8438] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(11270),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2665),
    [sym_call] = STATE(2665),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(2667),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2668),
    [sym__variable] = STATE(2665),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(3934),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(7774),
    [anon_sym_yield] = ACTIONS(7776),
    [anon_sym_break] = ACTIONS(7778),
    [anon_sym_next] = ACTIONS(7780),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(7782),
    [anon_sym_defined_QMARK] = ACTIONS(3944),
    [anon_sym_not] = ACTIONS(7784),
    [anon_sym_BANG] = ACTIONS(3950),
    [anon_sym_TILDE] = ACTIONS(3950),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [8439] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(11271),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(8446),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(8447),
    [sym__variable] = STATE(2129),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(11382),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(7204),
    [anon_sym_yield] = ACTIONS(7206),
    [anon_sym_break] = ACTIONS(7208),
    [anon_sym_next] = ACTIONS(7210),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(11384),
    [anon_sym_defined_QMARK] = ACTIONS(11386),
    [anon_sym_not] = ACTIONS(11388),
    [anon_sym_BANG] = ACTIONS(11390),
    [anon_sym_TILDE] = ACTIONS(11390),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8440] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(11272),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(8446),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(8447),
    [sym__variable] = STATE(2129),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(11382),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(7204),
    [anon_sym_yield] = ACTIONS(7206),
    [anon_sym_break] = ACTIONS(7208),
    [anon_sym_next] = ACTIONS(7210),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(11384),
    [anon_sym_defined_QMARK] = ACTIONS(11386),
    [anon_sym_not] = ACTIONS(11388),
    [anon_sym_BANG] = ACTIONS(11390),
    [anon_sym_TILDE] = ACTIONS(11390),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8441] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(11273),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(8446),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(8447),
    [sym__variable] = STATE(2129),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(11382),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(7204),
    [anon_sym_yield] = ACTIONS(7206),
    [anon_sym_break] = ACTIONS(7208),
    [anon_sym_next] = ACTIONS(7210),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(11384),
    [anon_sym_defined_QMARK] = ACTIONS(11386),
    [anon_sym_not] = ACTIONS(11388),
    [anon_sym_BANG] = ACTIONS(11390),
    [anon_sym_TILDE] = ACTIONS(11390),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8442] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(11274),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(8446),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(8447),
    [sym__variable] = STATE(2129),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(11382),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(7204),
    [anon_sym_yield] = ACTIONS(7206),
    [anon_sym_break] = ACTIONS(7208),
    [anon_sym_next] = ACTIONS(7210),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(11384),
    [anon_sym_defined_QMARK] = ACTIONS(11386),
    [anon_sym_not] = ACTIONS(11388),
    [anon_sym_BANG] = ACTIONS(11390),
    [anon_sym_TILDE] = ACTIONS(11390),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8443] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(434),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(8446),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(8447),
    [sym__variable] = STATE(2129),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(11382),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(7204),
    [anon_sym_yield] = ACTIONS(7206),
    [anon_sym_break] = ACTIONS(7208),
    [anon_sym_next] = ACTIONS(7210),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(11384),
    [anon_sym_defined_QMARK] = ACTIONS(11386),
    [anon_sym_not] = ACTIONS(11388),
    [anon_sym_BANG] = ACTIONS(11390),
    [anon_sym_TILDE] = ACTIONS(11390),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8444] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__line_break] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(14228),
    [sym__binary_star] = ACTIONS(14230),
    [anon_sym_RBRACE] = ACTIONS(6346),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(14232),
    [anon_sym_SEMI] = ACTIONS(6346),
    [anon_sym_STAR_STAR] = ACTIONS(14234),
    [anon_sym_AMP] = ACTIONS(14236),
    [anon_sym_LT] = ACTIONS(14238),
    [anon_sym_if] = ACTIONS(6346),
    [anon_sym_unless] = ACTIONS(6346),
    [anon_sym_while] = ACTIONS(6346),
    [anon_sym_until] = ACTIONS(6346),
    [anon_sym_rescue] = ACTIONS(6346),
    [anon_sym_EQ_GT] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(14240),
    [anon_sym_DOT_DOT] = ACTIONS(14242),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(14244),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(14246),
    [anon_sym_AMP_AMP] = ACTIONS(14246),
    [anon_sym_LT_LT] = ACTIONS(14248),
    [anon_sym_GT_GT] = ACTIONS(14248),
    [anon_sym_EQ_EQ] = ACTIONS(14250),
    [anon_sym_BANG_EQ] = ACTIONS(14246),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(14246),
    [anon_sym_LT_EQ_GT] = ACTIONS(14246),
    [anon_sym_EQ_TILDE] = ACTIONS(14246),
    [anon_sym_BANG_TILDE] = ACTIONS(14246),
    [anon_sym_LT_EQ] = ACTIONS(14238),
    [anon_sym_GT] = ACTIONS(14238),
    [anon_sym_GT_EQ] = ACTIONS(14252),
    [anon_sym_CARET] = ACTIONS(14254),
    [anon_sym_PLUS] = ACTIONS(14256),
    [anon_sym_SLASH] = ACTIONS(14234),
    [anon_sym_PERCENT] = ACTIONS(14234),
    [sym_comment] = ACTIONS(110),
  },
  [8445] = {
    [aux_sym_exceptions_repeat1] = STATE(11288),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__line_break] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_RBRACE] = ACTIONS(7330),
    [anon_sym_COMMA] = ACTIONS(14258),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_SEMI] = ACTIONS(7330),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_if] = ACTIONS(7330),
    [anon_sym_unless] = ACTIONS(7330),
    [anon_sym_while] = ACTIONS(7330),
    [anon_sym_until] = ACTIONS(7330),
    [anon_sym_rescue] = ACTIONS(7330),
    [anon_sym_EQ_GT] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [8446] = {
    [anon_sym_EQ] = ACTIONS(14260),
    [sym_comment] = ACTIONS(256),
  },
  [8447] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_RBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(14262),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(14264),
    [anon_sym_DASH_EQ] = ACTIONS(14264),
    [anon_sym_STAR_EQ] = ACTIONS(14264),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(14264),
    [anon_sym_SLASH_EQ] = ACTIONS(14264),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(14264),
    [anon_sym_PIPE_EQ] = ACTIONS(14264),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(14264),
    [anon_sym_AMP_EQ] = ACTIONS(14264),
    [anon_sym_PERCENT_EQ] = ACTIONS(14264),
    [anon_sym_GT_GT_EQ] = ACTIONS(14264),
    [anon_sym_LT_LT_EQ] = ACTIONS(14264),
    [anon_sym_CARET_EQ] = ACTIONS(14264),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [8448] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__line_break] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(7222),
    [sym__binary_star] = ACTIONS(7224),
    [anon_sym_RBRACE] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(7226),
    [anon_sym_SEMI] = ACTIONS(7344),
    [anon_sym_STAR_STAR] = ACTIONS(7228),
    [anon_sym_AMP] = ACTIONS(7230),
    [anon_sym_LT] = ACTIONS(7232),
    [anon_sym_if] = ACTIONS(7344),
    [anon_sym_unless] = ACTIONS(7344),
    [anon_sym_while] = ACTIONS(7344),
    [anon_sym_until] = ACTIONS(7344),
    [anon_sym_rescue] = ACTIONS(7344),
    [anon_sym_EQ_GT] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(7234),
    [anon_sym_DOT_DOT] = ACTIONS(7236),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7238),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(7242),
    [anon_sym_AMP_AMP] = ACTIONS(7242),
    [anon_sym_LT_LT] = ACTIONS(7244),
    [anon_sym_GT_GT] = ACTIONS(7244),
    [anon_sym_EQ_EQ] = ACTIONS(7246),
    [anon_sym_BANG_EQ] = ACTIONS(7242),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7242),
    [anon_sym_LT_EQ_GT] = ACTIONS(7242),
    [anon_sym_EQ_TILDE] = ACTIONS(7242),
    [anon_sym_BANG_TILDE] = ACTIONS(7242),
    [anon_sym_LT_EQ] = ACTIONS(7232),
    [anon_sym_GT] = ACTIONS(7232),
    [anon_sym_GT_EQ] = ACTIONS(7248),
    [anon_sym_CARET] = ACTIONS(7250),
    [anon_sym_PLUS] = ACTIONS(7252),
    [anon_sym_SLASH] = ACTIONS(7228),
    [anon_sym_PERCENT] = ACTIONS(7228),
    [sym_comment] = ACTIONS(110),
  },
  [8449] = {
    [sym__simple_heredoc_body] = ACTIONS(8664),
    [sym__heredoc_body_beginning] = ACTIONS(8664),
    [sym__line_break] = ACTIONS(8664),
    [sym__element_reference_left_bracket] = ACTIONS(8664),
    [sym__scope_double_colon] = ACTIONS(8664),
    [sym__binary_minus] = ACTIONS(8664),
    [sym__binary_star] = ACTIONS(8664),
    [ts_builtin_sym_end] = ACTIONS(8664),
    [anon_sym___END__] = ACTIONS(8664),
    [anon_sym_LBRACE] = ACTIONS(8664),
    [anon_sym_RBRACE] = ACTIONS(8664),
    [anon_sym_RPAREN] = ACTIONS(8664),
    [anon_sym_DOT] = ACTIONS(8666),
    [anon_sym_end] = ACTIONS(8664),
    [anon_sym_COMMA] = ACTIONS(8664),
    [anon_sym_PIPE] = ACTIONS(8666),
    [anon_sym_SEMI] = ACTIONS(8664),
    [anon_sym_STAR_STAR] = ACTIONS(8666),
    [anon_sym_AMP] = ACTIONS(8666),
    [anon_sym_EQ] = ACTIONS(8666),
    [anon_sym_LT] = ACTIONS(8666),
    [anon_sym_if] = ACTIONS(8664),
    [anon_sym_unless] = ACTIONS(8664),
    [anon_sym_while] = ACTIONS(8664),
    [anon_sym_until] = ACTIONS(8664),
    [anon_sym_rescue] = ACTIONS(8664),
    [anon_sym_do] = ACTIONS(8664),
    [anon_sym_when] = ACTIONS(8664),
    [anon_sym_elsif] = ACTIONS(8664),
    [anon_sym_else] = ACTIONS(8664),
    [anon_sym_then] = ACTIONS(8664),
    [anon_sym_ensure] = ACTIONS(8664),
    [anon_sym_EQ_GT] = ACTIONS(8664),
    [anon_sym_AMP_DOT] = ACTIONS(8664),
    [anon_sym_PLUS_EQ] = ACTIONS(8664),
    [anon_sym_DASH_EQ] = ACTIONS(8664),
    [anon_sym_STAR_EQ] = ACTIONS(8664),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8664),
    [anon_sym_SLASH_EQ] = ACTIONS(8664),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8664),
    [anon_sym_PIPE_EQ] = ACTIONS(8664),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8664),
    [anon_sym_AMP_EQ] = ACTIONS(8664),
    [anon_sym_PERCENT_EQ] = ACTIONS(8664),
    [anon_sym_GT_GT_EQ] = ACTIONS(8664),
    [anon_sym_LT_LT_EQ] = ACTIONS(8664),
    [anon_sym_CARET_EQ] = ACTIONS(8664),
    [anon_sym_QMARK] = ACTIONS(8664),
    [anon_sym_DOT_DOT] = ACTIONS(8666),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8664),
    [anon_sym_and] = ACTIONS(8664),
    [anon_sym_or] = ACTIONS(8664),
    [anon_sym_PIPE_PIPE] = ACTIONS(8666),
    [anon_sym_AMP_AMP] = ACTIONS(8666),
    [anon_sym_LT_LT] = ACTIONS(8666),
    [anon_sym_GT_GT] = ACTIONS(8666),
    [anon_sym_EQ_EQ] = ACTIONS(8666),
    [anon_sym_BANG_EQ] = ACTIONS(8664),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8664),
    [anon_sym_LT_EQ_GT] = ACTIONS(8664),
    [anon_sym_EQ_TILDE] = ACTIONS(8664),
    [anon_sym_BANG_TILDE] = ACTIONS(8664),
    [anon_sym_LT_EQ] = ACTIONS(8666),
    [anon_sym_GT] = ACTIONS(8666),
    [anon_sym_GT_EQ] = ACTIONS(8664),
    [anon_sym_CARET] = ACTIONS(8666),
    [anon_sym_PLUS] = ACTIONS(8666),
    [anon_sym_SLASH] = ACTIONS(8666),
    [anon_sym_PERCENT] = ACTIONS(8666),
    [sym_comment] = ACTIONS(256),
  },
  [8450] = {
    [anon_sym_DOT] = ACTIONS(14266),
    [anon_sym_COLON_COLON] = ACTIONS(14266),
    [sym_comment] = ACTIONS(110),
  },
  [8451] = {
    [sym__simple_heredoc_body] = ACTIONS(8832),
    [sym__heredoc_body_beginning] = ACTIONS(8832),
    [sym__line_break] = ACTIONS(8832),
    [sym__element_reference_left_bracket] = ACTIONS(8832),
    [sym__scope_double_colon] = ACTIONS(8832),
    [sym__binary_minus] = ACTIONS(8832),
    [sym__binary_star] = ACTIONS(8832),
    [ts_builtin_sym_end] = ACTIONS(8832),
    [anon_sym___END__] = ACTIONS(8832),
    [anon_sym_LBRACE] = ACTIONS(8832),
    [anon_sym_RBRACE] = ACTIONS(8832),
    [anon_sym_RPAREN] = ACTIONS(8832),
    [anon_sym_DOT] = ACTIONS(8834),
    [anon_sym_end] = ACTIONS(8832),
    [anon_sym_COMMA] = ACTIONS(8832),
    [anon_sym_PIPE] = ACTIONS(8834),
    [anon_sym_SEMI] = ACTIONS(8832),
    [anon_sym_STAR_STAR] = ACTIONS(8834),
    [anon_sym_AMP] = ACTIONS(8834),
    [anon_sym_EQ] = ACTIONS(8834),
    [anon_sym_LT] = ACTIONS(8834),
    [anon_sym_if] = ACTIONS(8832),
    [anon_sym_unless] = ACTIONS(8832),
    [anon_sym_while] = ACTIONS(8832),
    [anon_sym_until] = ACTIONS(8832),
    [anon_sym_rescue] = ACTIONS(8832),
    [anon_sym_do] = ACTIONS(8832),
    [anon_sym_when] = ACTIONS(8832),
    [anon_sym_elsif] = ACTIONS(8832),
    [anon_sym_else] = ACTIONS(8832),
    [anon_sym_then] = ACTIONS(8832),
    [anon_sym_ensure] = ACTIONS(8832),
    [anon_sym_EQ_GT] = ACTIONS(8832),
    [anon_sym_AMP_DOT] = ACTIONS(8832),
    [anon_sym_PLUS_EQ] = ACTIONS(8832),
    [anon_sym_DASH_EQ] = ACTIONS(8832),
    [anon_sym_STAR_EQ] = ACTIONS(8832),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8832),
    [anon_sym_SLASH_EQ] = ACTIONS(8832),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8832),
    [anon_sym_PIPE_EQ] = ACTIONS(8832),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8832),
    [anon_sym_AMP_EQ] = ACTIONS(8832),
    [anon_sym_PERCENT_EQ] = ACTIONS(8832),
    [anon_sym_GT_GT_EQ] = ACTIONS(8832),
    [anon_sym_LT_LT_EQ] = ACTIONS(8832),
    [anon_sym_CARET_EQ] = ACTIONS(8832),
    [anon_sym_QMARK] = ACTIONS(8832),
    [anon_sym_DOT_DOT] = ACTIONS(8834),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8832),
    [anon_sym_and] = ACTIONS(8832),
    [anon_sym_or] = ACTIONS(8832),
    [anon_sym_PIPE_PIPE] = ACTIONS(8834),
    [anon_sym_AMP_AMP] = ACTIONS(8834),
    [anon_sym_LT_LT] = ACTIONS(8834),
    [anon_sym_GT_GT] = ACTIONS(8834),
    [anon_sym_EQ_EQ] = ACTIONS(8834),
    [anon_sym_BANG_EQ] = ACTIONS(8832),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8832),
    [anon_sym_LT_EQ_GT] = ACTIONS(8832),
    [anon_sym_EQ_TILDE] = ACTIONS(8832),
    [anon_sym_BANG_TILDE] = ACTIONS(8832),
    [anon_sym_LT_EQ] = ACTIONS(8834),
    [anon_sym_GT] = ACTIONS(8834),
    [anon_sym_GT_EQ] = ACTIONS(8832),
    [anon_sym_CARET] = ACTIONS(8834),
    [anon_sym_PLUS] = ACTIONS(8834),
    [anon_sym_SLASH] = ACTIONS(8834),
    [anon_sym_PERCENT] = ACTIONS(8834),
    [sym_comment] = ACTIONS(256),
  },
  [8452] = {
    [sym__simple_heredoc_body] = ACTIONS(8858),
    [sym__heredoc_body_beginning] = ACTIONS(8858),
    [sym__line_break] = ACTIONS(8858),
    [sym__element_reference_left_bracket] = ACTIONS(8858),
    [sym__scope_double_colon] = ACTIONS(8858),
    [sym__binary_minus] = ACTIONS(8858),
    [sym__binary_star] = ACTIONS(8858),
    [ts_builtin_sym_end] = ACTIONS(8858),
    [anon_sym___END__] = ACTIONS(8858),
    [anon_sym_LBRACE] = ACTIONS(8858),
    [anon_sym_RBRACE] = ACTIONS(8858),
    [anon_sym_RPAREN] = ACTIONS(8858),
    [anon_sym_DOT] = ACTIONS(8860),
    [anon_sym_end] = ACTIONS(8858),
    [anon_sym_COMMA] = ACTIONS(8858),
    [anon_sym_PIPE] = ACTIONS(8860),
    [anon_sym_SEMI] = ACTIONS(8858),
    [anon_sym_STAR_STAR] = ACTIONS(8860),
    [anon_sym_AMP] = ACTIONS(8860),
    [anon_sym_EQ] = ACTIONS(8860),
    [anon_sym_LT] = ACTIONS(8860),
    [anon_sym_if] = ACTIONS(8858),
    [anon_sym_unless] = ACTIONS(8858),
    [anon_sym_while] = ACTIONS(8858),
    [anon_sym_until] = ACTIONS(8858),
    [anon_sym_rescue] = ACTIONS(8858),
    [anon_sym_do] = ACTIONS(8858),
    [anon_sym_when] = ACTIONS(8858),
    [anon_sym_elsif] = ACTIONS(8858),
    [anon_sym_else] = ACTIONS(8858),
    [anon_sym_then] = ACTIONS(8858),
    [anon_sym_ensure] = ACTIONS(8858),
    [anon_sym_EQ_GT] = ACTIONS(8858),
    [anon_sym_AMP_DOT] = ACTIONS(8858),
    [anon_sym_PLUS_EQ] = ACTIONS(8858),
    [anon_sym_DASH_EQ] = ACTIONS(8858),
    [anon_sym_STAR_EQ] = ACTIONS(8858),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8858),
    [anon_sym_SLASH_EQ] = ACTIONS(8858),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8858),
    [anon_sym_PIPE_EQ] = ACTIONS(8858),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8858),
    [anon_sym_AMP_EQ] = ACTIONS(8858),
    [anon_sym_PERCENT_EQ] = ACTIONS(8858),
    [anon_sym_GT_GT_EQ] = ACTIONS(8858),
    [anon_sym_LT_LT_EQ] = ACTIONS(8858),
    [anon_sym_CARET_EQ] = ACTIONS(8858),
    [anon_sym_QMARK] = ACTIONS(8858),
    [anon_sym_DOT_DOT] = ACTIONS(8860),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8858),
    [anon_sym_and] = ACTIONS(8858),
    [anon_sym_or] = ACTIONS(8858),
    [anon_sym_PIPE_PIPE] = ACTIONS(8860),
    [anon_sym_AMP_AMP] = ACTIONS(8860),
    [anon_sym_LT_LT] = ACTIONS(8860),
    [anon_sym_GT_GT] = ACTIONS(8860),
    [anon_sym_EQ_EQ] = ACTIONS(8860),
    [anon_sym_BANG_EQ] = ACTIONS(8858),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8858),
    [anon_sym_LT_EQ_GT] = ACTIONS(8858),
    [anon_sym_EQ_TILDE] = ACTIONS(8858),
    [anon_sym_BANG_TILDE] = ACTIONS(8858),
    [anon_sym_LT_EQ] = ACTIONS(8860),
    [anon_sym_GT] = ACTIONS(8860),
    [anon_sym_GT_EQ] = ACTIONS(8858),
    [anon_sym_CARET] = ACTIONS(8860),
    [anon_sym_PLUS] = ACTIONS(8860),
    [anon_sym_SLASH] = ACTIONS(8860),
    [anon_sym_PERCENT] = ACTIONS(8860),
    [sym_comment] = ACTIONS(256),
  },
  [8453] = {
    [anon_sym_end] = ACTIONS(14268),
    [sym_comment] = ACTIONS(110),
  },
  [8454] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(11294),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14270),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8455] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(11296),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14272),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8456] = {
    [sym__simple_heredoc_body] = ACTIONS(9340),
    [sym__heredoc_body_beginning] = ACTIONS(9340),
    [sym__line_break] = ACTIONS(9340),
    [sym__element_reference_left_bracket] = ACTIONS(9340),
    [sym__scope_double_colon] = ACTIONS(9340),
    [sym__binary_minus] = ACTIONS(9340),
    [sym__binary_star] = ACTIONS(9340),
    [ts_builtin_sym_end] = ACTIONS(9340),
    [anon_sym___END__] = ACTIONS(9340),
    [anon_sym_LBRACE] = ACTIONS(9340),
    [anon_sym_RBRACE] = ACTIONS(9340),
    [anon_sym_RPAREN] = ACTIONS(9340),
    [anon_sym_DOT] = ACTIONS(9342),
    [anon_sym_end] = ACTIONS(9340),
    [anon_sym_COMMA] = ACTIONS(9340),
    [anon_sym_PIPE] = ACTIONS(9342),
    [anon_sym_SEMI] = ACTIONS(9340),
    [anon_sym_STAR_STAR] = ACTIONS(9342),
    [anon_sym_AMP] = ACTIONS(9342),
    [anon_sym_EQ] = ACTIONS(9342),
    [anon_sym_LT] = ACTIONS(9342),
    [anon_sym_if] = ACTIONS(9340),
    [anon_sym_unless] = ACTIONS(9340),
    [anon_sym_while] = ACTIONS(9340),
    [anon_sym_until] = ACTIONS(9340),
    [anon_sym_rescue] = ACTIONS(9340),
    [anon_sym_do] = ACTIONS(9340),
    [anon_sym_when] = ACTIONS(9340),
    [anon_sym_elsif] = ACTIONS(9340),
    [anon_sym_else] = ACTIONS(9340),
    [anon_sym_then] = ACTIONS(9340),
    [anon_sym_ensure] = ACTIONS(9340),
    [anon_sym_EQ_GT] = ACTIONS(9340),
    [anon_sym_AMP_DOT] = ACTIONS(9340),
    [anon_sym_PLUS_EQ] = ACTIONS(9340),
    [anon_sym_DASH_EQ] = ACTIONS(9340),
    [anon_sym_STAR_EQ] = ACTIONS(9340),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9340),
    [anon_sym_SLASH_EQ] = ACTIONS(9340),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9340),
    [anon_sym_PIPE_EQ] = ACTIONS(9340),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9340),
    [anon_sym_AMP_EQ] = ACTIONS(9340),
    [anon_sym_PERCENT_EQ] = ACTIONS(9340),
    [anon_sym_GT_GT_EQ] = ACTIONS(9340),
    [anon_sym_LT_LT_EQ] = ACTIONS(9340),
    [anon_sym_CARET_EQ] = ACTIONS(9340),
    [anon_sym_QMARK] = ACTIONS(9340),
    [anon_sym_DOT_DOT] = ACTIONS(9342),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9340),
    [anon_sym_and] = ACTIONS(9340),
    [anon_sym_or] = ACTIONS(9340),
    [anon_sym_PIPE_PIPE] = ACTIONS(9342),
    [anon_sym_AMP_AMP] = ACTIONS(9342),
    [anon_sym_LT_LT] = ACTIONS(9342),
    [anon_sym_GT_GT] = ACTIONS(9342),
    [anon_sym_EQ_EQ] = ACTIONS(9342),
    [anon_sym_BANG_EQ] = ACTIONS(9340),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9340),
    [anon_sym_LT_EQ_GT] = ACTIONS(9340),
    [anon_sym_EQ_TILDE] = ACTIONS(9340),
    [anon_sym_BANG_TILDE] = ACTIONS(9340),
    [anon_sym_LT_EQ] = ACTIONS(9342),
    [anon_sym_GT] = ACTIONS(9342),
    [anon_sym_GT_EQ] = ACTIONS(9340),
    [anon_sym_CARET] = ACTIONS(9342),
    [anon_sym_PLUS] = ACTIONS(9342),
    [anon_sym_SLASH] = ACTIONS(9342),
    [anon_sym_PERCENT] = ACTIONS(9342),
    [sym_comment] = ACTIONS(256),
  },
  [8457] = {
    [anon_sym_end] = ACTIONS(14274),
    [sym_comment] = ACTIONS(110),
  },
  [8458] = {
    [sym__simple_heredoc_body] = ACTIONS(9398),
    [sym__heredoc_body_beginning] = ACTIONS(9398),
    [sym__line_break] = ACTIONS(9398),
    [sym__element_reference_left_bracket] = ACTIONS(9398),
    [sym__scope_double_colon] = ACTIONS(9398),
    [sym__binary_minus] = ACTIONS(9398),
    [sym__binary_star] = ACTIONS(9398),
    [ts_builtin_sym_end] = ACTIONS(9398),
    [anon_sym___END__] = ACTIONS(9398),
    [anon_sym_LBRACE] = ACTIONS(9398),
    [anon_sym_RBRACE] = ACTIONS(9398),
    [anon_sym_RPAREN] = ACTIONS(9398),
    [anon_sym_DOT] = ACTIONS(9400),
    [anon_sym_end] = ACTIONS(9398),
    [anon_sym_COMMA] = ACTIONS(9398),
    [anon_sym_PIPE] = ACTIONS(9400),
    [anon_sym_SEMI] = ACTIONS(9398),
    [anon_sym_STAR_STAR] = ACTIONS(9400),
    [anon_sym_AMP] = ACTIONS(9400),
    [anon_sym_EQ] = ACTIONS(9400),
    [anon_sym_LT] = ACTIONS(9400),
    [anon_sym_if] = ACTIONS(9398),
    [anon_sym_unless] = ACTIONS(9398),
    [anon_sym_while] = ACTIONS(9398),
    [anon_sym_until] = ACTIONS(9398),
    [anon_sym_rescue] = ACTIONS(9398),
    [anon_sym_do] = ACTIONS(9398),
    [anon_sym_when] = ACTIONS(9398),
    [anon_sym_elsif] = ACTIONS(9398),
    [anon_sym_else] = ACTIONS(9398),
    [anon_sym_then] = ACTIONS(9398),
    [anon_sym_ensure] = ACTIONS(9398),
    [anon_sym_EQ_GT] = ACTIONS(9398),
    [anon_sym_AMP_DOT] = ACTIONS(9398),
    [anon_sym_PLUS_EQ] = ACTIONS(9398),
    [anon_sym_DASH_EQ] = ACTIONS(9398),
    [anon_sym_STAR_EQ] = ACTIONS(9398),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9398),
    [anon_sym_SLASH_EQ] = ACTIONS(9398),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9398),
    [anon_sym_PIPE_EQ] = ACTIONS(9398),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9398),
    [anon_sym_AMP_EQ] = ACTIONS(9398),
    [anon_sym_PERCENT_EQ] = ACTIONS(9398),
    [anon_sym_GT_GT_EQ] = ACTIONS(9398),
    [anon_sym_LT_LT_EQ] = ACTIONS(9398),
    [anon_sym_CARET_EQ] = ACTIONS(9398),
    [anon_sym_QMARK] = ACTIONS(9398),
    [anon_sym_DOT_DOT] = ACTIONS(9400),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9398),
    [anon_sym_and] = ACTIONS(9398),
    [anon_sym_or] = ACTIONS(9398),
    [anon_sym_PIPE_PIPE] = ACTIONS(9400),
    [anon_sym_AMP_AMP] = ACTIONS(9400),
    [anon_sym_LT_LT] = ACTIONS(9400),
    [anon_sym_GT_GT] = ACTIONS(9400),
    [anon_sym_EQ_EQ] = ACTIONS(9400),
    [anon_sym_BANG_EQ] = ACTIONS(9398),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9398),
    [anon_sym_LT_EQ_GT] = ACTIONS(9398),
    [anon_sym_EQ_TILDE] = ACTIONS(9398),
    [anon_sym_BANG_TILDE] = ACTIONS(9398),
    [anon_sym_LT_EQ] = ACTIONS(9400),
    [anon_sym_GT] = ACTIONS(9400),
    [anon_sym_GT_EQ] = ACTIONS(9398),
    [anon_sym_CARET] = ACTIONS(9400),
    [anon_sym_PLUS] = ACTIONS(9400),
    [anon_sym_SLASH] = ACTIONS(9400),
    [anon_sym_PERCENT] = ACTIONS(9400),
    [sym_comment] = ACTIONS(256),
  },
  [8459] = {
    [anon_sym_end] = ACTIONS(14276),
    [sym_comment] = ACTIONS(110),
  },
  [8460] = {
    [sym__simple_heredoc_body] = ACTIONS(9562),
    [sym__heredoc_body_beginning] = ACTIONS(9562),
    [sym__line_break] = ACTIONS(9562),
    [sym__element_reference_left_bracket] = ACTIONS(9562),
    [sym__scope_double_colon] = ACTIONS(9562),
    [sym__binary_minus] = ACTIONS(9562),
    [sym__binary_star] = ACTIONS(9562),
    [ts_builtin_sym_end] = ACTIONS(9562),
    [anon_sym___END__] = ACTIONS(9562),
    [anon_sym_LBRACE] = ACTIONS(9562),
    [anon_sym_RBRACE] = ACTIONS(9562),
    [anon_sym_RPAREN] = ACTIONS(9562),
    [anon_sym_DOT] = ACTIONS(9564),
    [anon_sym_end] = ACTIONS(9562),
    [anon_sym_COMMA] = ACTIONS(9562),
    [anon_sym_PIPE] = ACTIONS(9564),
    [anon_sym_SEMI] = ACTIONS(9562),
    [anon_sym_STAR_STAR] = ACTIONS(9564),
    [anon_sym_AMP] = ACTIONS(9564),
    [anon_sym_EQ] = ACTIONS(9564),
    [anon_sym_LT] = ACTIONS(9564),
    [anon_sym_if] = ACTIONS(9562),
    [anon_sym_unless] = ACTIONS(9562),
    [anon_sym_while] = ACTIONS(9562),
    [anon_sym_until] = ACTIONS(9562),
    [anon_sym_rescue] = ACTIONS(9562),
    [anon_sym_do] = ACTIONS(9562),
    [anon_sym_when] = ACTIONS(9562),
    [anon_sym_elsif] = ACTIONS(9562),
    [anon_sym_else] = ACTIONS(9562),
    [anon_sym_then] = ACTIONS(9562),
    [anon_sym_ensure] = ACTIONS(9562),
    [anon_sym_EQ_GT] = ACTIONS(9562),
    [anon_sym_AMP_DOT] = ACTIONS(9562),
    [anon_sym_PLUS_EQ] = ACTIONS(9562),
    [anon_sym_DASH_EQ] = ACTIONS(9562),
    [anon_sym_STAR_EQ] = ACTIONS(9562),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9562),
    [anon_sym_SLASH_EQ] = ACTIONS(9562),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9562),
    [anon_sym_PIPE_EQ] = ACTIONS(9562),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9562),
    [anon_sym_AMP_EQ] = ACTIONS(9562),
    [anon_sym_PERCENT_EQ] = ACTIONS(9562),
    [anon_sym_GT_GT_EQ] = ACTIONS(9562),
    [anon_sym_LT_LT_EQ] = ACTIONS(9562),
    [anon_sym_CARET_EQ] = ACTIONS(9562),
    [anon_sym_QMARK] = ACTIONS(9562),
    [anon_sym_DOT_DOT] = ACTIONS(9564),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9562),
    [anon_sym_and] = ACTIONS(9562),
    [anon_sym_or] = ACTIONS(9562),
    [anon_sym_PIPE_PIPE] = ACTIONS(9564),
    [anon_sym_AMP_AMP] = ACTIONS(9564),
    [anon_sym_LT_LT] = ACTIONS(9564),
    [anon_sym_GT_GT] = ACTIONS(9564),
    [anon_sym_EQ_EQ] = ACTIONS(9564),
    [anon_sym_BANG_EQ] = ACTIONS(9562),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9562),
    [anon_sym_LT_EQ_GT] = ACTIONS(9562),
    [anon_sym_EQ_TILDE] = ACTIONS(9562),
    [anon_sym_BANG_TILDE] = ACTIONS(9562),
    [anon_sym_LT_EQ] = ACTIONS(9564),
    [anon_sym_GT] = ACTIONS(9564),
    [anon_sym_GT_EQ] = ACTIONS(9562),
    [anon_sym_CARET] = ACTIONS(9564),
    [anon_sym_PLUS] = ACTIONS(9564),
    [anon_sym_SLASH] = ACTIONS(9564),
    [anon_sym_PERCENT] = ACTIONS(9564),
    [sym_comment] = ACTIONS(256),
  },
  [8461] = {
    [sym_elsif] = STATE(3865),
    [sym_else] = STATE(3865),
    [sym__if_tail] = STATE(11299),
    [anon_sym_end] = ACTIONS(14278),
    [anon_sym_elsif] = ACTIONS(9592),
    [anon_sym_else] = ACTIONS(9594),
    [sym_comment] = ACTIONS(110),
  },
  [8462] = {
    [anon_sym_end] = ACTIONS(14278),
    [sym_comment] = ACTIONS(110),
  },
  [8463] = {
    [sym__statements] = STATE(11300),
    [sym__top_level_statement] = STATE(3863),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(3864),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_elsif] = STATE(3865),
    [sym_else] = STATE(3865),
    [sym__if_tail] = STATE(11299),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3867),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3869),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3870),
    [sym__variable] = STATE(3868),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5572),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14280),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_elsif] = ACTIONS(5586),
    [anon_sym_else] = ACTIONS(5588),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5590),
    [anon_sym_defined_QMARK] = ACTIONS(5592),
    [anon_sym_not] = ACTIONS(5594),
    [anon_sym_BANG] = ACTIONS(5596),
    [anon_sym_TILDE] = ACTIONS(5596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8464] = {
    [sym__simple_heredoc_body] = ACTIONS(9758),
    [sym__heredoc_body_beginning] = ACTIONS(9758),
    [sym__line_break] = ACTIONS(9758),
    [sym__element_reference_left_bracket] = ACTIONS(9758),
    [sym__scope_double_colon] = ACTIONS(9758),
    [sym__binary_minus] = ACTIONS(9758),
    [sym__binary_star] = ACTIONS(9758),
    [ts_builtin_sym_end] = ACTIONS(9758),
    [anon_sym___END__] = ACTIONS(9758),
    [anon_sym_LBRACE] = ACTIONS(9758),
    [anon_sym_RBRACE] = ACTIONS(9758),
    [anon_sym_RPAREN] = ACTIONS(9758),
    [anon_sym_DOT] = ACTIONS(9760),
    [anon_sym_end] = ACTIONS(9758),
    [anon_sym_COMMA] = ACTIONS(9758),
    [anon_sym_PIPE] = ACTIONS(9760),
    [anon_sym_SEMI] = ACTIONS(9758),
    [anon_sym_STAR_STAR] = ACTIONS(9760),
    [anon_sym_AMP] = ACTIONS(9760),
    [anon_sym_EQ] = ACTIONS(9760),
    [anon_sym_LT] = ACTIONS(9760),
    [anon_sym_if] = ACTIONS(9758),
    [anon_sym_unless] = ACTIONS(9758),
    [anon_sym_while] = ACTIONS(9758),
    [anon_sym_until] = ACTIONS(9758),
    [anon_sym_rescue] = ACTIONS(9758),
    [anon_sym_do] = ACTIONS(9758),
    [anon_sym_when] = ACTIONS(9758),
    [anon_sym_elsif] = ACTIONS(9758),
    [anon_sym_else] = ACTIONS(9758),
    [anon_sym_then] = ACTIONS(9758),
    [anon_sym_ensure] = ACTIONS(9758),
    [anon_sym_EQ_GT] = ACTIONS(9758),
    [anon_sym_AMP_DOT] = ACTIONS(9758),
    [anon_sym_PLUS_EQ] = ACTIONS(9758),
    [anon_sym_DASH_EQ] = ACTIONS(9758),
    [anon_sym_STAR_EQ] = ACTIONS(9758),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9758),
    [anon_sym_SLASH_EQ] = ACTIONS(9758),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9758),
    [anon_sym_PIPE_EQ] = ACTIONS(9758),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9758),
    [anon_sym_AMP_EQ] = ACTIONS(9758),
    [anon_sym_PERCENT_EQ] = ACTIONS(9758),
    [anon_sym_GT_GT_EQ] = ACTIONS(9758),
    [anon_sym_LT_LT_EQ] = ACTIONS(9758),
    [anon_sym_CARET_EQ] = ACTIONS(9758),
    [anon_sym_QMARK] = ACTIONS(9758),
    [anon_sym_DOT_DOT] = ACTIONS(9760),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9758),
    [anon_sym_and] = ACTIONS(9758),
    [anon_sym_or] = ACTIONS(9758),
    [anon_sym_PIPE_PIPE] = ACTIONS(9760),
    [anon_sym_AMP_AMP] = ACTIONS(9760),
    [anon_sym_LT_LT] = ACTIONS(9760),
    [anon_sym_GT_GT] = ACTIONS(9760),
    [anon_sym_EQ_EQ] = ACTIONS(9760),
    [anon_sym_BANG_EQ] = ACTIONS(9758),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9758),
    [anon_sym_LT_EQ_GT] = ACTIONS(9758),
    [anon_sym_EQ_TILDE] = ACTIONS(9758),
    [anon_sym_BANG_TILDE] = ACTIONS(9758),
    [anon_sym_LT_EQ] = ACTIONS(9760),
    [anon_sym_GT] = ACTIONS(9760),
    [anon_sym_GT_EQ] = ACTIONS(9758),
    [anon_sym_CARET] = ACTIONS(9760),
    [anon_sym_PLUS] = ACTIONS(9760),
    [anon_sym_SLASH] = ACTIONS(9760),
    [anon_sym_PERCENT] = ACTIONS(9760),
    [sym_comment] = ACTIONS(256),
  },
  [8465] = {
    [sym_else] = STATE(11302),
    [anon_sym_end] = ACTIONS(14282),
    [anon_sym_else] = ACTIONS(9594),
    [sym_comment] = ACTIONS(110),
  },
  [8466] = {
    [anon_sym_end] = ACTIONS(14282),
    [sym_comment] = ACTIONS(110),
  },
  [8467] = {
    [sym__simple_heredoc_body] = ACTIONS(9922),
    [sym__heredoc_body_beginning] = ACTIONS(9922),
    [sym__line_break] = ACTIONS(9922),
    [sym__element_reference_left_bracket] = ACTIONS(9922),
    [sym__scope_double_colon] = ACTIONS(9922),
    [sym__binary_minus] = ACTIONS(9922),
    [sym__binary_star] = ACTIONS(9922),
    [ts_builtin_sym_end] = ACTIONS(9922),
    [anon_sym___END__] = ACTIONS(9922),
    [anon_sym_LBRACE] = ACTIONS(9922),
    [anon_sym_RBRACE] = ACTIONS(9922),
    [anon_sym_RPAREN] = ACTIONS(9922),
    [anon_sym_DOT] = ACTIONS(9924),
    [anon_sym_end] = ACTIONS(9922),
    [anon_sym_COMMA] = ACTIONS(9922),
    [anon_sym_PIPE] = ACTIONS(9924),
    [anon_sym_SEMI] = ACTIONS(9922),
    [anon_sym_STAR_STAR] = ACTIONS(9924),
    [anon_sym_AMP] = ACTIONS(9924),
    [anon_sym_EQ] = ACTIONS(9924),
    [anon_sym_LT] = ACTIONS(9924),
    [anon_sym_if] = ACTIONS(9922),
    [anon_sym_unless] = ACTIONS(9922),
    [anon_sym_while] = ACTIONS(9922),
    [anon_sym_until] = ACTIONS(9922),
    [anon_sym_rescue] = ACTIONS(9922),
    [anon_sym_do] = ACTIONS(9922),
    [anon_sym_when] = ACTIONS(9922),
    [anon_sym_elsif] = ACTIONS(9922),
    [anon_sym_else] = ACTIONS(9922),
    [anon_sym_then] = ACTIONS(9922),
    [anon_sym_ensure] = ACTIONS(9922),
    [anon_sym_EQ_GT] = ACTIONS(9922),
    [anon_sym_AMP_DOT] = ACTIONS(9922),
    [anon_sym_PLUS_EQ] = ACTIONS(9922),
    [anon_sym_DASH_EQ] = ACTIONS(9922),
    [anon_sym_STAR_EQ] = ACTIONS(9922),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9922),
    [anon_sym_SLASH_EQ] = ACTIONS(9922),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9922),
    [anon_sym_PIPE_EQ] = ACTIONS(9922),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9922),
    [anon_sym_AMP_EQ] = ACTIONS(9922),
    [anon_sym_PERCENT_EQ] = ACTIONS(9922),
    [anon_sym_GT_GT_EQ] = ACTIONS(9922),
    [anon_sym_LT_LT_EQ] = ACTIONS(9922),
    [anon_sym_CARET_EQ] = ACTIONS(9922),
    [anon_sym_QMARK] = ACTIONS(9922),
    [anon_sym_DOT_DOT] = ACTIONS(9924),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9922),
    [anon_sym_and] = ACTIONS(9922),
    [anon_sym_or] = ACTIONS(9922),
    [anon_sym_PIPE_PIPE] = ACTIONS(9924),
    [anon_sym_AMP_AMP] = ACTIONS(9924),
    [anon_sym_LT_LT] = ACTIONS(9924),
    [anon_sym_GT_GT] = ACTIONS(9924),
    [anon_sym_EQ_EQ] = ACTIONS(9924),
    [anon_sym_BANG_EQ] = ACTIONS(9922),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9922),
    [anon_sym_LT_EQ_GT] = ACTIONS(9922),
    [anon_sym_EQ_TILDE] = ACTIONS(9922),
    [anon_sym_BANG_TILDE] = ACTIONS(9922),
    [anon_sym_LT_EQ] = ACTIONS(9924),
    [anon_sym_GT] = ACTIONS(9924),
    [anon_sym_GT_EQ] = ACTIONS(9922),
    [anon_sym_CARET] = ACTIONS(9924),
    [anon_sym_PLUS] = ACTIONS(9924),
    [anon_sym_SLASH] = ACTIONS(9924),
    [anon_sym_PERCENT] = ACTIONS(9924),
    [sym_comment] = ACTIONS(256),
  },
  [8468] = {
    [anon_sym_end] = ACTIONS(14284),
    [sym_comment] = ACTIONS(110),
  },
  [8469] = {
    [sym__simple_heredoc_body] = ACTIONS(10004),
    [sym__heredoc_body_beginning] = ACTIONS(10004),
    [sym__line_break] = ACTIONS(10004),
    [sym__element_reference_left_bracket] = ACTIONS(10004),
    [sym__scope_double_colon] = ACTIONS(10004),
    [sym__binary_minus] = ACTIONS(10004),
    [sym__binary_star] = ACTIONS(10004),
    [ts_builtin_sym_end] = ACTIONS(10004),
    [anon_sym___END__] = ACTIONS(10004),
    [anon_sym_LBRACE] = ACTIONS(10004),
    [anon_sym_RBRACE] = ACTIONS(10004),
    [anon_sym_RPAREN] = ACTIONS(10004),
    [anon_sym_DOT] = ACTIONS(10006),
    [anon_sym_end] = ACTIONS(10004),
    [anon_sym_COMMA] = ACTIONS(10004),
    [anon_sym_PIPE] = ACTIONS(10006),
    [anon_sym_SEMI] = ACTIONS(10004),
    [anon_sym_STAR_STAR] = ACTIONS(10006),
    [anon_sym_AMP] = ACTIONS(10006),
    [anon_sym_EQ] = ACTIONS(10006),
    [anon_sym_LT] = ACTIONS(10006),
    [anon_sym_if] = ACTIONS(10004),
    [anon_sym_unless] = ACTIONS(10004),
    [anon_sym_while] = ACTIONS(10004),
    [anon_sym_until] = ACTIONS(10004),
    [anon_sym_rescue] = ACTIONS(10004),
    [anon_sym_do] = ACTIONS(10004),
    [anon_sym_when] = ACTIONS(10004),
    [anon_sym_elsif] = ACTIONS(10004),
    [anon_sym_else] = ACTIONS(10004),
    [anon_sym_then] = ACTIONS(10004),
    [anon_sym_ensure] = ACTIONS(10004),
    [anon_sym_EQ_GT] = ACTIONS(10004),
    [anon_sym_AMP_DOT] = ACTIONS(10004),
    [anon_sym_PLUS_EQ] = ACTIONS(10004),
    [anon_sym_DASH_EQ] = ACTIONS(10004),
    [anon_sym_STAR_EQ] = ACTIONS(10004),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(10004),
    [anon_sym_SLASH_EQ] = ACTIONS(10004),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(10004),
    [anon_sym_PIPE_EQ] = ACTIONS(10004),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(10004),
    [anon_sym_AMP_EQ] = ACTIONS(10004),
    [anon_sym_PERCENT_EQ] = ACTIONS(10004),
    [anon_sym_GT_GT_EQ] = ACTIONS(10004),
    [anon_sym_LT_LT_EQ] = ACTIONS(10004),
    [anon_sym_CARET_EQ] = ACTIONS(10004),
    [anon_sym_QMARK] = ACTIONS(10004),
    [anon_sym_DOT_DOT] = ACTIONS(10006),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10004),
    [anon_sym_and] = ACTIONS(10004),
    [anon_sym_or] = ACTIONS(10004),
    [anon_sym_PIPE_PIPE] = ACTIONS(10006),
    [anon_sym_AMP_AMP] = ACTIONS(10006),
    [anon_sym_LT_LT] = ACTIONS(10006),
    [anon_sym_GT_GT] = ACTIONS(10006),
    [anon_sym_EQ_EQ] = ACTIONS(10006),
    [anon_sym_BANG_EQ] = ACTIONS(10004),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10004),
    [anon_sym_LT_EQ_GT] = ACTIONS(10004),
    [anon_sym_EQ_TILDE] = ACTIONS(10004),
    [anon_sym_BANG_TILDE] = ACTIONS(10004),
    [anon_sym_LT_EQ] = ACTIONS(10006),
    [anon_sym_GT] = ACTIONS(10006),
    [anon_sym_GT_EQ] = ACTIONS(10004),
    [anon_sym_CARET] = ACTIONS(10006),
    [anon_sym_PLUS] = ACTIONS(10006),
    [anon_sym_SLASH] = ACTIONS(10006),
    [anon_sym_PERCENT] = ACTIONS(10006),
    [sym_comment] = ACTIONS(256),
  },
  [8470] = {
    [anon_sym_end] = ACTIONS(14286),
    [sym_comment] = ACTIONS(110),
  },
  [8471] = {
    [sym__statements] = STATE(11306),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14288),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8472] = {
    [sym__simple_heredoc_body] = ACTIONS(14030),
    [sym__heredoc_body_beginning] = ACTIONS(14030),
    [sym__line_break] = ACTIONS(14030),
    [sym__element_reference_left_bracket] = ACTIONS(14030),
    [sym__scope_double_colon] = ACTIONS(14030),
    [sym__binary_minus] = ACTIONS(14030),
    [sym__binary_star] = ACTIONS(14030),
    [ts_builtin_sym_end] = ACTIONS(14030),
    [anon_sym___END__] = ACTIONS(14030),
    [anon_sym_LBRACE] = ACTIONS(14030),
    [anon_sym_RBRACE] = ACTIONS(14030),
    [anon_sym_RPAREN] = ACTIONS(14030),
    [anon_sym_DOT] = ACTIONS(14032),
    [anon_sym_end] = ACTIONS(14030),
    [anon_sym_COMMA] = ACTIONS(14030),
    [anon_sym_PIPE] = ACTIONS(14032),
    [anon_sym_SEMI] = ACTIONS(14030),
    [anon_sym_STAR_STAR] = ACTIONS(14032),
    [anon_sym_AMP] = ACTIONS(14032),
    [anon_sym_EQ] = ACTIONS(14032),
    [anon_sym_LT] = ACTIONS(14032),
    [anon_sym_if] = ACTIONS(14030),
    [anon_sym_unless] = ACTIONS(14030),
    [anon_sym_while] = ACTIONS(14030),
    [anon_sym_until] = ACTIONS(14030),
    [anon_sym_rescue] = ACTIONS(14030),
    [anon_sym_do] = ACTIONS(14030),
    [anon_sym_when] = ACTIONS(14030),
    [anon_sym_elsif] = ACTIONS(14030),
    [anon_sym_else] = ACTIONS(14030),
    [anon_sym_then] = ACTIONS(14030),
    [anon_sym_ensure] = ACTIONS(14030),
    [anon_sym_AMP_DOT] = ACTIONS(14030),
    [anon_sym_PLUS_EQ] = ACTIONS(14030),
    [anon_sym_DASH_EQ] = ACTIONS(14030),
    [anon_sym_STAR_EQ] = ACTIONS(14030),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(14030),
    [anon_sym_SLASH_EQ] = ACTIONS(14030),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(14030),
    [anon_sym_PIPE_EQ] = ACTIONS(14030),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(14030),
    [anon_sym_AMP_EQ] = ACTIONS(14030),
    [anon_sym_PERCENT_EQ] = ACTIONS(14030),
    [anon_sym_GT_GT_EQ] = ACTIONS(14030),
    [anon_sym_LT_LT_EQ] = ACTIONS(14030),
    [anon_sym_CARET_EQ] = ACTIONS(14030),
    [anon_sym_QMARK] = ACTIONS(14030),
    [anon_sym_DOT_DOT] = ACTIONS(14032),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(14030),
    [anon_sym_and] = ACTIONS(14030),
    [anon_sym_or] = ACTIONS(14030),
    [anon_sym_PIPE_PIPE] = ACTIONS(14032),
    [anon_sym_AMP_AMP] = ACTIONS(14032),
    [anon_sym_LT_LT] = ACTIONS(14032),
    [anon_sym_GT_GT] = ACTIONS(14032),
    [anon_sym_EQ_EQ] = ACTIONS(14032),
    [anon_sym_BANG_EQ] = ACTIONS(14030),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(14030),
    [anon_sym_LT_EQ_GT] = ACTIONS(14030),
    [anon_sym_EQ_TILDE] = ACTIONS(14030),
    [anon_sym_BANG_TILDE] = ACTIONS(14030),
    [anon_sym_LT_EQ] = ACTIONS(14032),
    [anon_sym_GT] = ACTIONS(14032),
    [anon_sym_GT_EQ] = ACTIONS(14030),
    [anon_sym_CARET] = ACTIONS(14032),
    [anon_sym_PLUS] = ACTIONS(14032),
    [anon_sym_SLASH] = ACTIONS(14032),
    [anon_sym_PERCENT] = ACTIONS(14032),
    [sym_comment] = ACTIONS(256),
  },
  [8473] = {
    [anon_sym_end] = ACTIONS(14290),
    [sym_comment] = ACTIONS(110),
  },
  [8474] = {
    [sym__statements] = STATE(11308),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14292),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8475] = {
    [sym__simple_heredoc_body] = ACTIONS(10332),
    [sym__heredoc_body_beginning] = ACTIONS(10332),
    [sym__line_break] = ACTIONS(10332),
    [sym__element_reference_left_bracket] = ACTIONS(10332),
    [sym__scope_double_colon] = ACTIONS(10332),
    [sym__binary_minus] = ACTIONS(10332),
    [sym__binary_star] = ACTIONS(10332),
    [ts_builtin_sym_end] = ACTIONS(10332),
    [anon_sym___END__] = ACTIONS(10332),
    [anon_sym_LBRACE] = ACTIONS(10332),
    [anon_sym_RBRACE] = ACTIONS(10332),
    [anon_sym_RPAREN] = ACTIONS(10332),
    [anon_sym_DOT] = ACTIONS(10334),
    [anon_sym_end] = ACTIONS(10332),
    [anon_sym_COMMA] = ACTIONS(10332),
    [anon_sym_PIPE] = ACTIONS(10334),
    [anon_sym_SEMI] = ACTIONS(10332),
    [anon_sym_STAR_STAR] = ACTIONS(10334),
    [anon_sym_AMP] = ACTIONS(10334),
    [anon_sym_EQ] = ACTIONS(10334),
    [anon_sym_LT] = ACTIONS(10334),
    [anon_sym_if] = ACTIONS(10332),
    [anon_sym_unless] = ACTIONS(10332),
    [anon_sym_while] = ACTIONS(10332),
    [anon_sym_until] = ACTIONS(10332),
    [anon_sym_rescue] = ACTIONS(10332),
    [anon_sym_do] = ACTIONS(10332),
    [anon_sym_when] = ACTIONS(10332),
    [anon_sym_elsif] = ACTIONS(10332),
    [anon_sym_else] = ACTIONS(10332),
    [anon_sym_then] = ACTIONS(10332),
    [anon_sym_ensure] = ACTIONS(10332),
    [anon_sym_EQ_GT] = ACTIONS(10332),
    [anon_sym_AMP_DOT] = ACTIONS(10332),
    [anon_sym_PLUS_EQ] = ACTIONS(10332),
    [anon_sym_DASH_EQ] = ACTIONS(10332),
    [anon_sym_STAR_EQ] = ACTIONS(10332),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(10332),
    [anon_sym_SLASH_EQ] = ACTIONS(10332),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(10332),
    [anon_sym_PIPE_EQ] = ACTIONS(10332),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(10332),
    [anon_sym_AMP_EQ] = ACTIONS(10332),
    [anon_sym_PERCENT_EQ] = ACTIONS(10332),
    [anon_sym_GT_GT_EQ] = ACTIONS(10332),
    [anon_sym_LT_LT_EQ] = ACTIONS(10332),
    [anon_sym_CARET_EQ] = ACTIONS(10332),
    [anon_sym_QMARK] = ACTIONS(10332),
    [anon_sym_DOT_DOT] = ACTIONS(10334),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10332),
    [anon_sym_and] = ACTIONS(10332),
    [anon_sym_or] = ACTIONS(10332),
    [anon_sym_PIPE_PIPE] = ACTIONS(10334),
    [anon_sym_AMP_AMP] = ACTIONS(10334),
    [anon_sym_LT_LT] = ACTIONS(10334),
    [anon_sym_GT_GT] = ACTIONS(10334),
    [anon_sym_EQ_EQ] = ACTIONS(10334),
    [anon_sym_BANG_EQ] = ACTIONS(10332),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10332),
    [anon_sym_LT_EQ_GT] = ACTIONS(10332),
    [anon_sym_EQ_TILDE] = ACTIONS(10332),
    [anon_sym_BANG_TILDE] = ACTIONS(10332),
    [anon_sym_LT_EQ] = ACTIONS(10334),
    [anon_sym_GT] = ACTIONS(10334),
    [anon_sym_GT_EQ] = ACTIONS(10332),
    [anon_sym_CARET] = ACTIONS(10334),
    [anon_sym_PLUS] = ACTIONS(10334),
    [anon_sym_SLASH] = ACTIONS(10334),
    [anon_sym_PERCENT] = ACTIONS(10334),
    [sym_comment] = ACTIONS(256),
  },
  [8476] = {
    [anon_sym_end] = ACTIONS(14294),
    [sym_comment] = ACTIONS(110),
  },
  [8477] = {
    [sym__simple_heredoc_body] = ACTIONS(10934),
    [sym__heredoc_body_beginning] = ACTIONS(10934),
    [sym__line_break] = ACTIONS(10934),
    [sym__element_reference_left_bracket] = ACTIONS(10934),
    [sym__scope_double_colon] = ACTIONS(10934),
    [sym__binary_minus] = ACTIONS(10934),
    [sym__binary_star] = ACTIONS(10934),
    [ts_builtin_sym_end] = ACTIONS(10934),
    [anon_sym___END__] = ACTIONS(10934),
    [anon_sym_LBRACE] = ACTIONS(10934),
    [anon_sym_RBRACE] = ACTIONS(10934),
    [anon_sym_RPAREN] = ACTIONS(10934),
    [anon_sym_DOT] = ACTIONS(10936),
    [anon_sym_end] = ACTIONS(10934),
    [anon_sym_COMMA] = ACTIONS(10934),
    [anon_sym_PIPE] = ACTIONS(10936),
    [anon_sym_SEMI] = ACTIONS(10934),
    [anon_sym_STAR_STAR] = ACTIONS(10936),
    [anon_sym_AMP] = ACTIONS(10936),
    [anon_sym_EQ] = ACTIONS(10936),
    [anon_sym_LT] = ACTIONS(10936),
    [anon_sym_if] = ACTIONS(10934),
    [anon_sym_unless] = ACTIONS(10934),
    [anon_sym_while] = ACTIONS(10934),
    [anon_sym_until] = ACTIONS(10934),
    [anon_sym_rescue] = ACTIONS(10934),
    [anon_sym_do] = ACTIONS(10934),
    [anon_sym_when] = ACTIONS(10934),
    [anon_sym_elsif] = ACTIONS(10934),
    [anon_sym_else] = ACTIONS(10934),
    [anon_sym_then] = ACTIONS(10934),
    [anon_sym_ensure] = ACTIONS(10934),
    [anon_sym_EQ_GT] = ACTIONS(10934),
    [anon_sym_AMP_DOT] = ACTIONS(10934),
    [anon_sym_PLUS_EQ] = ACTIONS(10934),
    [anon_sym_DASH_EQ] = ACTIONS(10934),
    [anon_sym_STAR_EQ] = ACTIONS(10934),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(10934),
    [anon_sym_SLASH_EQ] = ACTIONS(10934),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(10934),
    [anon_sym_PIPE_EQ] = ACTIONS(10934),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(10934),
    [anon_sym_AMP_EQ] = ACTIONS(10934),
    [anon_sym_PERCENT_EQ] = ACTIONS(10934),
    [anon_sym_GT_GT_EQ] = ACTIONS(10934),
    [anon_sym_LT_LT_EQ] = ACTIONS(10934),
    [anon_sym_CARET_EQ] = ACTIONS(10934),
    [anon_sym_QMARK] = ACTIONS(10934),
    [anon_sym_DOT_DOT] = ACTIONS(10936),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10934),
    [anon_sym_and] = ACTIONS(10934),
    [anon_sym_or] = ACTIONS(10934),
    [anon_sym_PIPE_PIPE] = ACTIONS(10936),
    [anon_sym_AMP_AMP] = ACTIONS(10936),
    [anon_sym_LT_LT] = ACTIONS(10936),
    [anon_sym_GT_GT] = ACTIONS(10936),
    [anon_sym_EQ_EQ] = ACTIONS(10936),
    [anon_sym_BANG_EQ] = ACTIONS(10934),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10934),
    [anon_sym_LT_EQ_GT] = ACTIONS(10934),
    [anon_sym_EQ_TILDE] = ACTIONS(10934),
    [anon_sym_BANG_TILDE] = ACTIONS(10934),
    [anon_sym_LT_EQ] = ACTIONS(10936),
    [anon_sym_GT] = ACTIONS(10936),
    [anon_sym_GT_EQ] = ACTIONS(10934),
    [anon_sym_CARET] = ACTIONS(10936),
    [anon_sym_PLUS] = ACTIONS(10936),
    [anon_sym_SLASH] = ACTIONS(10936),
    [anon_sym_PERCENT] = ACTIONS(10936),
    [sym_comment] = ACTIONS(256),
  },
  [8478] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(11310),
    [sym__primary] = STATE(596),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(597),
    [sym_call] = STATE(597),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(605),
    [sym__variable] = STATE(597),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(1012),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(3236),
    [anon_sym_yield] = ACTIONS(3238),
    [anon_sym_break] = ACTIONS(3240),
    [anon_sym_next] = ACTIONS(3242),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(3262),
    [anon_sym_defined_QMARK] = ACTIONS(1044),
    [anon_sym_not] = ACTIONS(3264),
    [anon_sym_BANG] = ACTIONS(1050),
    [anon_sym_TILDE] = ACTIONS(1050),
    [sym_constant] = ACTIONS(2194),
    [sym_identifier] = ACTIONS(2194),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2196),
    [anon_sym_super] = ACTIONS(2198),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [8479] = {
    [sym__simple_heredoc_body] = ACTIONS(8070),
    [sym__heredoc_body_beginning] = ACTIONS(8070),
    [sym__line_break] = ACTIONS(8070),
    [sym__element_reference_left_bracket] = ACTIONS(8070),
    [sym__scope_double_colon] = ACTIONS(8070),
    [sym__binary_minus] = ACTIONS(8070),
    [sym__binary_star] = ACTIONS(8070),
    [ts_builtin_sym_end] = ACTIONS(8070),
    [anon_sym___END__] = ACTIONS(8070),
    [anon_sym_LBRACE] = ACTIONS(8070),
    [anon_sym_RBRACE] = ACTIONS(8070),
    [anon_sym_RPAREN] = ACTIONS(8070),
    [anon_sym_DOT] = ACTIONS(10414),
    [anon_sym_end] = ACTIONS(8070),
    [anon_sym_COMMA] = ACTIONS(8070),
    [anon_sym_PIPE] = ACTIONS(10414),
    [anon_sym_SEMI] = ACTIONS(8070),
    [anon_sym_STAR_STAR] = ACTIONS(10414),
    [anon_sym_AMP] = ACTIONS(10414),
    [anon_sym_EQ] = ACTIONS(10414),
    [anon_sym_LT] = ACTIONS(10414),
    [anon_sym_if] = ACTIONS(8070),
    [anon_sym_unless] = ACTIONS(8070),
    [anon_sym_while] = ACTIONS(8070),
    [anon_sym_until] = ACTIONS(8070),
    [anon_sym_rescue] = ACTIONS(8070),
    [anon_sym_do] = ACTIONS(8070),
    [anon_sym_when] = ACTIONS(8070),
    [anon_sym_elsif] = ACTIONS(8070),
    [anon_sym_else] = ACTIONS(8070),
    [anon_sym_then] = ACTIONS(8070),
    [anon_sym_ensure] = ACTIONS(8070),
    [anon_sym_AMP_DOT] = ACTIONS(8070),
    [anon_sym_PLUS_EQ] = ACTIONS(8070),
    [anon_sym_DASH_EQ] = ACTIONS(8070),
    [anon_sym_STAR_EQ] = ACTIONS(8070),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8070),
    [anon_sym_SLASH_EQ] = ACTIONS(8070),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8070),
    [anon_sym_PIPE_EQ] = ACTIONS(8070),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8070),
    [anon_sym_AMP_EQ] = ACTIONS(8070),
    [anon_sym_PERCENT_EQ] = ACTIONS(8070),
    [anon_sym_GT_GT_EQ] = ACTIONS(8070),
    [anon_sym_LT_LT_EQ] = ACTIONS(8070),
    [anon_sym_CARET_EQ] = ACTIONS(8070),
    [anon_sym_QMARK] = ACTIONS(8070),
    [anon_sym_DOT_DOT] = ACTIONS(10414),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8070),
    [anon_sym_and] = ACTIONS(8070),
    [anon_sym_or] = ACTIONS(8070),
    [anon_sym_PIPE_PIPE] = ACTIONS(10414),
    [anon_sym_AMP_AMP] = ACTIONS(10414),
    [anon_sym_LT_LT] = ACTIONS(10414),
    [anon_sym_GT_GT] = ACTIONS(10414),
    [anon_sym_EQ_EQ] = ACTIONS(10414),
    [anon_sym_BANG_EQ] = ACTIONS(8070),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8070),
    [anon_sym_LT_EQ_GT] = ACTIONS(8070),
    [anon_sym_EQ_TILDE] = ACTIONS(8070),
    [anon_sym_BANG_TILDE] = ACTIONS(8070),
    [anon_sym_LT_EQ] = ACTIONS(10414),
    [anon_sym_GT] = ACTIONS(10414),
    [anon_sym_GT_EQ] = ACTIONS(8070),
    [anon_sym_CARET] = ACTIONS(10414),
    [anon_sym_PLUS] = ACTIONS(10414),
    [anon_sym_SLASH] = ACTIONS(10414),
    [anon_sym_PERCENT] = ACTIONS(10414),
    [sym_comment] = ACTIONS(256),
  },
  [8480] = {
    [sym__heredoc_body_middle] = ACTIONS(8296),
    [sym__heredoc_body_end] = ACTIONS(14296),
    [anon_sym_if] = ACTIONS(4112),
    [anon_sym_unless] = ACTIONS(4114),
    [anon_sym_while] = ACTIONS(4116),
    [anon_sym_until] = ACTIONS(4118),
    [anon_sym_rescue] = ACTIONS(4120),
    [sym_comment] = ACTIONS(110),
  },
  [8481] = {
    [sym__simple_heredoc_body] = ACTIONS(12790),
    [sym__heredoc_body_beginning] = ACTIONS(12790),
    [sym__line_break] = ACTIONS(12790),
    [sym__element_reference_left_bracket] = ACTIONS(12790),
    [sym__scope_double_colon] = ACTIONS(12790),
    [sym__binary_minus] = ACTIONS(12790),
    [sym__binary_star] = ACTIONS(12790),
    [ts_builtin_sym_end] = ACTIONS(12790),
    [anon_sym___END__] = ACTIONS(12790),
    [anon_sym_LBRACE] = ACTIONS(12790),
    [anon_sym_RBRACE] = ACTIONS(12790),
    [anon_sym_RPAREN] = ACTIONS(12790),
    [anon_sym_DOT] = ACTIONS(12792),
    [anon_sym_end] = ACTIONS(12790),
    [anon_sym_COMMA] = ACTIONS(12790),
    [anon_sym_PIPE] = ACTIONS(12792),
    [anon_sym_SEMI] = ACTIONS(12790),
    [anon_sym_STAR_STAR] = ACTIONS(12792),
    [anon_sym_AMP] = ACTIONS(12792),
    [anon_sym_EQ] = ACTIONS(12792),
    [anon_sym_LT] = ACTIONS(12792),
    [anon_sym_if] = ACTIONS(12790),
    [anon_sym_unless] = ACTIONS(12790),
    [anon_sym_while] = ACTIONS(12790),
    [anon_sym_until] = ACTIONS(12790),
    [anon_sym_rescue] = ACTIONS(12790),
    [anon_sym_do] = ACTIONS(12790),
    [anon_sym_when] = ACTIONS(12790),
    [anon_sym_elsif] = ACTIONS(12790),
    [anon_sym_else] = ACTIONS(12790),
    [anon_sym_then] = ACTIONS(12790),
    [anon_sym_ensure] = ACTIONS(12790),
    [anon_sym_AMP_DOT] = ACTIONS(12790),
    [anon_sym_PLUS_EQ] = ACTIONS(12790),
    [anon_sym_DASH_EQ] = ACTIONS(12790),
    [anon_sym_STAR_EQ] = ACTIONS(12790),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(12790),
    [anon_sym_SLASH_EQ] = ACTIONS(12790),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(12790),
    [anon_sym_PIPE_EQ] = ACTIONS(12790),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(12790),
    [anon_sym_AMP_EQ] = ACTIONS(12790),
    [anon_sym_PERCENT_EQ] = ACTIONS(12790),
    [anon_sym_GT_GT_EQ] = ACTIONS(12790),
    [anon_sym_LT_LT_EQ] = ACTIONS(12790),
    [anon_sym_CARET_EQ] = ACTIONS(12790),
    [anon_sym_QMARK] = ACTIONS(12790),
    [anon_sym_DOT_DOT] = ACTIONS(12792),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12790),
    [anon_sym_and] = ACTIONS(12790),
    [anon_sym_or] = ACTIONS(12790),
    [anon_sym_PIPE_PIPE] = ACTIONS(12792),
    [anon_sym_AMP_AMP] = ACTIONS(12792),
    [anon_sym_LT_LT] = ACTIONS(12792),
    [anon_sym_GT_GT] = ACTIONS(12792),
    [anon_sym_EQ_EQ] = ACTIONS(12792),
    [anon_sym_BANG_EQ] = ACTIONS(12790),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12790),
    [anon_sym_LT_EQ_GT] = ACTIONS(12790),
    [anon_sym_EQ_TILDE] = ACTIONS(12790),
    [anon_sym_BANG_TILDE] = ACTIONS(12790),
    [anon_sym_LT_EQ] = ACTIONS(12792),
    [anon_sym_GT] = ACTIONS(12792),
    [anon_sym_GT_EQ] = ACTIONS(12790),
    [anon_sym_CARET] = ACTIONS(12792),
    [anon_sym_PLUS] = ACTIONS(12792),
    [anon_sym_SLASH] = ACTIONS(12792),
    [anon_sym_PERCENT] = ACTIONS(12792),
    [sym_comment] = ACTIONS(256),
  },
  [8482] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(595),
    [sym__primary] = STATE(596),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(597),
    [sym_call] = STATE(597),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(11312),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(605),
    [sym__variable] = STATE(597),
    [sym_reserved_identifier] = STATE(606),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(607),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__block_ampersand] = ACTIONS(1006),
    [sym__splat_star] = ACTIONS(1008),
    [sym__unary_minus] = ACTIONS(1012),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(7294),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(1024),
    [anon_sym_yield] = ACTIONS(1026),
    [anon_sym_break] = ACTIONS(1028),
    [anon_sym_next] = ACTIONS(1030),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(3262),
    [anon_sym_defined_QMARK] = ACTIONS(1044),
    [anon_sym_not] = ACTIONS(1046),
    [anon_sym_BANG] = ACTIONS(1050),
    [anon_sym_TILDE] = ACTIONS(1050),
    [sym_constant] = ACTIONS(1052),
    [sym_identifier] = ACTIONS(1052),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(588),
    [anon_sym_super] = ACTIONS(590),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [8483] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(5073),
    [sym__primary] = STATE(596),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(597),
    [sym_call] = STATE(597),
    [sym_method_call] = STATE(338),
    [sym_splat_argument] = STATE(5074),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym__arg_or_splat_arg] = STATE(11313),
    [sym_left_assignment_list] = STATE(604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(605),
    [sym__variable] = STATE(597),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__splat_star] = ACTIONS(2254),
    [sym__unary_minus] = ACTIONS(1012),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(3236),
    [anon_sym_yield] = ACTIONS(3238),
    [anon_sym_break] = ACTIONS(3240),
    [anon_sym_next] = ACTIONS(3242),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(3262),
    [anon_sym_defined_QMARK] = ACTIONS(1044),
    [anon_sym_not] = ACTIONS(3264),
    [anon_sym_BANG] = ACTIONS(1050),
    [anon_sym_TILDE] = ACTIONS(1050),
    [sym_constant] = ACTIONS(2194),
    [sym_identifier] = ACTIONS(2194),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2196),
    [anon_sym_super] = ACTIONS(2198),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [8484] = {
    [sym__simple_heredoc_body] = ACTIONS(11422),
    [sym__heredoc_body_beginning] = ACTIONS(11422),
    [sym__line_break] = ACTIONS(11422),
    [sym__element_reference_left_bracket] = ACTIONS(11422),
    [sym__scope_double_colon] = ACTIONS(11422),
    [sym__binary_minus] = ACTIONS(11422),
    [sym__binary_star] = ACTIONS(11422),
    [ts_builtin_sym_end] = ACTIONS(11422),
    [anon_sym___END__] = ACTIONS(11422),
    [anon_sym_LBRACE] = ACTIONS(11422),
    [anon_sym_DOT] = ACTIONS(11426),
    [anon_sym_COMMA] = ACTIONS(14298),
    [anon_sym_PIPE] = ACTIONS(11426),
    [anon_sym_SEMI] = ACTIONS(11422),
    [anon_sym_STAR_STAR] = ACTIONS(11426),
    [anon_sym_AMP] = ACTIONS(11426),
    [anon_sym_EQ] = ACTIONS(11426),
    [anon_sym_LT] = ACTIONS(11426),
    [anon_sym_if] = ACTIONS(11422),
    [anon_sym_unless] = ACTIONS(11422),
    [anon_sym_while] = ACTIONS(11422),
    [anon_sym_until] = ACTIONS(11422),
    [anon_sym_rescue] = ACTIONS(11422),
    [anon_sym_do] = ACTIONS(11422),
    [anon_sym_EQ_GT] = ACTIONS(11422),
    [anon_sym_AMP_DOT] = ACTIONS(11422),
    [anon_sym_PLUS_EQ] = ACTIONS(11422),
    [anon_sym_DASH_EQ] = ACTIONS(11422),
    [anon_sym_STAR_EQ] = ACTIONS(11422),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(11422),
    [anon_sym_SLASH_EQ] = ACTIONS(11422),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(11422),
    [anon_sym_PIPE_EQ] = ACTIONS(11422),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(11422),
    [anon_sym_AMP_EQ] = ACTIONS(11422),
    [anon_sym_PERCENT_EQ] = ACTIONS(11422),
    [anon_sym_GT_GT_EQ] = ACTIONS(11422),
    [anon_sym_LT_LT_EQ] = ACTIONS(11422),
    [anon_sym_CARET_EQ] = ACTIONS(11422),
    [anon_sym_QMARK] = ACTIONS(11422),
    [anon_sym_DOT_DOT] = ACTIONS(11426),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11422),
    [anon_sym_and] = ACTIONS(11422),
    [anon_sym_or] = ACTIONS(11422),
    [anon_sym_PIPE_PIPE] = ACTIONS(11426),
    [anon_sym_AMP_AMP] = ACTIONS(11426),
    [anon_sym_LT_LT] = ACTIONS(11426),
    [anon_sym_GT_GT] = ACTIONS(11426),
    [anon_sym_EQ_EQ] = ACTIONS(11426),
    [anon_sym_BANG_EQ] = ACTIONS(11422),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11422),
    [anon_sym_LT_EQ_GT] = ACTIONS(11422),
    [anon_sym_EQ_TILDE] = ACTIONS(11422),
    [anon_sym_BANG_TILDE] = ACTIONS(11422),
    [anon_sym_LT_EQ] = ACTIONS(11426),
    [anon_sym_GT] = ACTIONS(11426),
    [anon_sym_GT_EQ] = ACTIONS(11422),
    [anon_sym_CARET] = ACTIONS(11426),
    [anon_sym_PLUS] = ACTIONS(11426),
    [anon_sym_SLASH] = ACTIONS(11426),
    [anon_sym_PERCENT] = ACTIONS(11426),
    [sym_comment] = ACTIONS(256),
  },
  [8485] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__line_break] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(7300),
    [ts_builtin_sym_end] = ACTIONS(7008),
    [anon_sym___END__] = ACTIONS(7008),
    [anon_sym_COMMA] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_SEMI] = ACTIONS(7008),
    [anon_sym_STAR_STAR] = ACTIONS(7304),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_if] = ACTIONS(7008),
    [anon_sym_unless] = ACTIONS(7008),
    [anon_sym_while] = ACTIONS(7008),
    [anon_sym_until] = ACTIONS(7008),
    [anon_sym_rescue] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7008),
    [anon_sym_AMP_AMP] = ACTIONS(7008),
    [anon_sym_LT_LT] = ACTIONS(7008),
    [anon_sym_GT_GT] = ACTIONS(7008),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7008),
    [anon_sym_PLUS] = ACTIONS(7008),
    [anon_sym_SLASH] = ACTIONS(7304),
    [anon_sym_PERCENT] = ACTIONS(7304),
    [sym_comment] = ACTIONS(110),
  },
  [8486] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__line_break] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [ts_builtin_sym_end] = ACTIONS(7012),
    [anon_sym___END__] = ACTIONS(7012),
    [anon_sym_COMMA] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_SEMI] = ACTIONS(7012),
    [anon_sym_STAR_STAR] = ACTIONS(7304),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_if] = ACTIONS(7012),
    [anon_sym_unless] = ACTIONS(7012),
    [anon_sym_while] = ACTIONS(7012),
    [anon_sym_until] = ACTIONS(7012),
    [anon_sym_rescue] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7012),
    [anon_sym_AMP_AMP] = ACTIONS(7012),
    [anon_sym_LT_LT] = ACTIONS(7012),
    [anon_sym_GT_GT] = ACTIONS(7012),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7012),
    [anon_sym_PLUS] = ACTIONS(7012),
    [anon_sym_SLASH] = ACTIONS(7012),
    [anon_sym_PERCENT] = ACTIONS(7012),
    [sym_comment] = ACTIONS(110),
  },
  [8487] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7298),
    [sym__binary_star] = ACTIONS(7300),
    [ts_builtin_sym_end] = ACTIONS(7016),
    [anon_sym___END__] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(7304),
    [anon_sym_AMP] = ACTIONS(7306),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7318),
    [anon_sym_GT_GT] = ACTIONS(7318),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7326),
    [anon_sym_SLASH] = ACTIONS(7304),
    [anon_sym_PERCENT] = ACTIONS(7304),
    [sym_comment] = ACTIONS(110),
  },
  [8488] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [ts_builtin_sym_end] = ACTIONS(7016),
    [anon_sym___END__] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(7304),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7016),
    [anon_sym_PERCENT] = ACTIONS(7016),
    [sym_comment] = ACTIONS(110),
  },
  [8489] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7298),
    [sym__binary_star] = ACTIONS(7300),
    [ts_builtin_sym_end] = ACTIONS(7016),
    [anon_sym___END__] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(7304),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7318),
    [anon_sym_GT_GT] = ACTIONS(7318),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7326),
    [anon_sym_SLASH] = ACTIONS(7304),
    [anon_sym_PERCENT] = ACTIONS(7304),
    [sym_comment] = ACTIONS(110),
  },
  [8490] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7298),
    [sym__binary_star] = ACTIONS(7300),
    [ts_builtin_sym_end] = ACTIONS(7016),
    [anon_sym___END__] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7302),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(7304),
    [anon_sym_AMP] = ACTIONS(7306),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7318),
    [anon_sym_GT_GT] = ACTIONS(7318),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7324),
    [anon_sym_PLUS] = ACTIONS(7326),
    [anon_sym_SLASH] = ACTIONS(7304),
    [anon_sym_PERCENT] = ACTIONS(7304),
    [sym_comment] = ACTIONS(110),
  },
  [8491] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(14300),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [8492] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__line_break] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(7298),
    [sym__binary_star] = ACTIONS(7300),
    [ts_builtin_sym_end] = ACTIONS(7108),
    [anon_sym___END__] = ACTIONS(7108),
    [anon_sym_COMMA] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(7302),
    [anon_sym_SEMI] = ACTIONS(7108),
    [anon_sym_STAR_STAR] = ACTIONS(7304),
    [anon_sym_AMP] = ACTIONS(7306),
    [anon_sym_LT] = ACTIONS(7308),
    [anon_sym_if] = ACTIONS(7108),
    [anon_sym_unless] = ACTIONS(7108),
    [anon_sym_while] = ACTIONS(7108),
    [anon_sym_until] = ACTIONS(7108),
    [anon_sym_rescue] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(7312),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7314),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(7316),
    [anon_sym_AMP_AMP] = ACTIONS(7316),
    [anon_sym_LT_LT] = ACTIONS(7318),
    [anon_sym_GT_GT] = ACTIONS(7318),
    [anon_sym_EQ_EQ] = ACTIONS(7320),
    [anon_sym_BANG_EQ] = ACTIONS(7316),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7316),
    [anon_sym_LT_EQ_GT] = ACTIONS(7316),
    [anon_sym_EQ_TILDE] = ACTIONS(7316),
    [anon_sym_BANG_TILDE] = ACTIONS(7316),
    [anon_sym_LT_EQ] = ACTIONS(7308),
    [anon_sym_GT] = ACTIONS(7308),
    [anon_sym_GT_EQ] = ACTIONS(7322),
    [anon_sym_CARET] = ACTIONS(7324),
    [anon_sym_PLUS] = ACTIONS(7326),
    [anon_sym_SLASH] = ACTIONS(7304),
    [anon_sym_PERCENT] = ACTIONS(7304),
    [sym_comment] = ACTIONS(110),
  },
  [8493] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7298),
    [sym__binary_star] = ACTIONS(7300),
    [ts_builtin_sym_end] = ACTIONS(7016),
    [anon_sym___END__] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7302),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(7304),
    [anon_sym_AMP] = ACTIONS(7306),
    [anon_sym_LT] = ACTIONS(7308),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7310),
    [anon_sym_DOT_DOT] = ACTIONS(7312),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7314),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7316),
    [anon_sym_AMP_AMP] = ACTIONS(7316),
    [anon_sym_LT_LT] = ACTIONS(7318),
    [anon_sym_GT_GT] = ACTIONS(7318),
    [anon_sym_EQ_EQ] = ACTIONS(7320),
    [anon_sym_BANG_EQ] = ACTIONS(7316),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7316),
    [anon_sym_LT_EQ_GT] = ACTIONS(7316),
    [anon_sym_EQ_TILDE] = ACTIONS(7316),
    [anon_sym_BANG_TILDE] = ACTIONS(7316),
    [anon_sym_LT_EQ] = ACTIONS(7308),
    [anon_sym_GT] = ACTIONS(7308),
    [anon_sym_GT_EQ] = ACTIONS(7322),
    [anon_sym_CARET] = ACTIONS(7324),
    [anon_sym_PLUS] = ACTIONS(7326),
    [anon_sym_SLASH] = ACTIONS(7304),
    [anon_sym_PERCENT] = ACTIONS(7304),
    [sym_comment] = ACTIONS(110),
  },
  [8494] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7298),
    [sym__binary_star] = ACTIONS(7300),
    [ts_builtin_sym_end] = ACTIONS(7016),
    [anon_sym___END__] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7302),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(7304),
    [anon_sym_AMP] = ACTIONS(7306),
    [anon_sym_LT] = ACTIONS(7308),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7318),
    [anon_sym_GT_GT] = ACTIONS(7318),
    [anon_sym_EQ_EQ] = ACTIONS(7320),
    [anon_sym_BANG_EQ] = ACTIONS(7316),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7316),
    [anon_sym_LT_EQ_GT] = ACTIONS(7316),
    [anon_sym_EQ_TILDE] = ACTIONS(7316),
    [anon_sym_BANG_TILDE] = ACTIONS(7316),
    [anon_sym_LT_EQ] = ACTIONS(7308),
    [anon_sym_GT] = ACTIONS(7308),
    [anon_sym_GT_EQ] = ACTIONS(7322),
    [anon_sym_CARET] = ACTIONS(7324),
    [anon_sym_PLUS] = ACTIONS(7326),
    [anon_sym_SLASH] = ACTIONS(7304),
    [anon_sym_PERCENT] = ACTIONS(7304),
    [sym_comment] = ACTIONS(110),
  },
  [8495] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7298),
    [sym__binary_star] = ACTIONS(7300),
    [ts_builtin_sym_end] = ACTIONS(7016),
    [anon_sym___END__] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(7304),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7326),
    [anon_sym_SLASH] = ACTIONS(7304),
    [anon_sym_PERCENT] = ACTIONS(7304),
    [sym_comment] = ACTIONS(110),
  },
  [8496] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7300),
    [ts_builtin_sym_end] = ACTIONS(7016),
    [anon_sym___END__] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(7304),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7304),
    [anon_sym_PERCENT] = ACTIONS(7304),
    [sym_comment] = ACTIONS(110),
  },
  [8497] = {
    [sym__simple_heredoc_body] = ACTIONS(13562),
    [sym__heredoc_body_beginning] = ACTIONS(13562),
    [sym__line_break] = ACTIONS(13562),
    [sym__binary_minus] = ACTIONS(13562),
    [sym__binary_star] = ACTIONS(13562),
    [ts_builtin_sym_end] = ACTIONS(13562),
    [anon_sym___END__] = ACTIONS(13562),
    [anon_sym_RBRACE] = ACTIONS(13562),
    [anon_sym_RPAREN] = ACTIONS(13562),
    [anon_sym_end] = ACTIONS(13562),
    [anon_sym_COMMA] = ACTIONS(13562),
    [anon_sym_PIPE] = ACTIONS(14302),
    [anon_sym_SEMI] = ACTIONS(13562),
    [anon_sym_STAR_STAR] = ACTIONS(13562),
    [anon_sym_AMP] = ACTIONS(14302),
    [anon_sym_LT] = ACTIONS(14302),
    [anon_sym_if] = ACTIONS(13562),
    [anon_sym_unless] = ACTIONS(13562),
    [anon_sym_while] = ACTIONS(13562),
    [anon_sym_until] = ACTIONS(13562),
    [anon_sym_rescue] = ACTIONS(13562),
    [anon_sym_do] = ACTIONS(13562),
    [anon_sym_when] = ACTIONS(13562),
    [anon_sym_elsif] = ACTIONS(13562),
    [anon_sym_else] = ACTIONS(13562),
    [anon_sym_then] = ACTIONS(13562),
    [anon_sym_ensure] = ACTIONS(13562),
    [anon_sym_EQ_GT] = ACTIONS(13562),
    [anon_sym_QMARK] = ACTIONS(13562),
    [anon_sym_DOT_DOT] = ACTIONS(14302),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(13562),
    [anon_sym_and] = ACTIONS(13562),
    [anon_sym_or] = ACTIONS(13562),
    [anon_sym_PIPE_PIPE] = ACTIONS(13562),
    [anon_sym_AMP_AMP] = ACTIONS(13562),
    [anon_sym_LT_LT] = ACTIONS(13562),
    [anon_sym_GT_GT] = ACTIONS(13562),
    [anon_sym_EQ_EQ] = ACTIONS(14302),
    [anon_sym_BANG_EQ] = ACTIONS(13562),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(13562),
    [anon_sym_LT_EQ_GT] = ACTIONS(13562),
    [anon_sym_EQ_TILDE] = ACTIONS(13562),
    [anon_sym_BANG_TILDE] = ACTIONS(13562),
    [anon_sym_LT_EQ] = ACTIONS(14302),
    [anon_sym_GT] = ACTIONS(14302),
    [anon_sym_GT_EQ] = ACTIONS(13562),
    [anon_sym_CARET] = ACTIONS(13562),
    [anon_sym_PLUS] = ACTIONS(13562),
    [anon_sym_SLASH] = ACTIONS(13562),
    [anon_sym_PERCENT] = ACTIONS(13562),
    [sym_comment] = ACTIONS(110),
  },
  [8498] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2210),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_splat_argument] = STATE(2211),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym__arg_or_splat_arg] = STATE(11316),
    [sym_left_assignment_list] = STATE(2214),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2215),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(3368),
    [sym__unary_minus] = ACTIONS(3370),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(3372),
    [anon_sym_defined_QMARK] = ACTIONS(3374),
    [anon_sym_not] = ACTIONS(3376),
    [anon_sym_BANG] = ACTIONS(3378),
    [anon_sym_TILDE] = ACTIONS(3378),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8499] = {
    [aux_sym_exceptions_repeat1] = STATE(5097),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__line_break] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [ts_builtin_sym_end] = ACTIONS(7330),
    [anon_sym___END__] = ACTIONS(7330),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_SEMI] = ACTIONS(7330),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_if] = ACTIONS(7330),
    [anon_sym_unless] = ACTIONS(7330),
    [anon_sym_while] = ACTIONS(7330),
    [anon_sym_until] = ACTIONS(7330),
    [anon_sym_rescue] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [8500] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__line_break] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(7298),
    [sym__binary_star] = ACTIONS(7300),
    [ts_builtin_sym_end] = ACTIONS(7344),
    [anon_sym___END__] = ACTIONS(7344),
    [anon_sym_COMMA] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(7302),
    [anon_sym_SEMI] = ACTIONS(7344),
    [anon_sym_STAR_STAR] = ACTIONS(7304),
    [anon_sym_AMP] = ACTIONS(7306),
    [anon_sym_LT] = ACTIONS(7308),
    [anon_sym_if] = ACTIONS(7344),
    [anon_sym_unless] = ACTIONS(7344),
    [anon_sym_while] = ACTIONS(7344),
    [anon_sym_until] = ACTIONS(7344),
    [anon_sym_rescue] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(7310),
    [anon_sym_DOT_DOT] = ACTIONS(7312),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7314),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(7316),
    [anon_sym_AMP_AMP] = ACTIONS(7316),
    [anon_sym_LT_LT] = ACTIONS(7318),
    [anon_sym_GT_GT] = ACTIONS(7318),
    [anon_sym_EQ_EQ] = ACTIONS(7320),
    [anon_sym_BANG_EQ] = ACTIONS(7316),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7316),
    [anon_sym_LT_EQ_GT] = ACTIONS(7316),
    [anon_sym_EQ_TILDE] = ACTIONS(7316),
    [anon_sym_BANG_TILDE] = ACTIONS(7316),
    [anon_sym_LT_EQ] = ACTIONS(7308),
    [anon_sym_GT] = ACTIONS(7308),
    [anon_sym_GT_EQ] = ACTIONS(7322),
    [anon_sym_CARET] = ACTIONS(7324),
    [anon_sym_PLUS] = ACTIONS(7326),
    [anon_sym_SLASH] = ACTIONS(7304),
    [anon_sym_PERCENT] = ACTIONS(7304),
    [sym_comment] = ACTIONS(110),
  },
  [8501] = {
    [sym__method_rest] = STATE(11317),
    [sym_operator] = STATE(217),
    [sym__method_name] = STATE(630),
    [sym_setter] = STATE(217),
    [sym_symbol] = STATE(217),
    [sym__simple_symbol] = ACTIONS(378),
    [sym__symbol_beginning] = ACTIONS(380),
    [anon_sym_PIPE] = ACTIONS(384),
    [anon_sym_STAR] = ACTIONS(386),
    [anon_sym_STAR_STAR] = ACTIONS(384),
    [anon_sym_AMP] = ACTIONS(384),
    [anon_sym_LT] = ACTIONS(386),
    [anon_sym_DOT_DOT] = ACTIONS(384),
    [anon_sym_LT_LT] = ACTIONS(384),
    [anon_sym_GT_GT] = ACTIONS(384),
    [anon_sym_EQ_EQ] = ACTIONS(386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(384),
    [anon_sym_LT_EQ_GT] = ACTIONS(384),
    [anon_sym_EQ_TILDE] = ACTIONS(384),
    [anon_sym_BANG_TILDE] = ACTIONS(384),
    [anon_sym_LT_EQ] = ACTIONS(386),
    [anon_sym_GT] = ACTIONS(386),
    [anon_sym_GT_EQ] = ACTIONS(384),
    [anon_sym_CARET] = ACTIONS(384),
    [anon_sym_PLUS] = ACTIONS(386),
    [anon_sym_SLASH] = ACTIONS(384),
    [anon_sym_PERCENT] = ACTIONS(384),
    [anon_sym_BANG] = ACTIONS(386),
    [anon_sym_TILDE] = ACTIONS(384),
    [sym_constant] = ACTIONS(4694),
    [sym_identifier] = ACTIONS(4696),
    [sym_instance_variable] = ACTIONS(4694),
    [sym_class_variable] = ACTIONS(4694),
    [sym_global_variable] = ACTIONS(4694),
    [anon_sym_DASH] = ACTIONS(386),
    [anon_sym_PLUS_AT] = ACTIONS(384),
    [anon_sym_DASH_AT] = ACTIONS(384),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(386),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(384),
    [anon_sym_BQUOTE] = ACTIONS(384),
    [sym_comment] = ACTIONS(110),
  },
  [8502] = {
    [sym__string_middle] = ACTIONS(12478),
    [sym__string_end] = ACTIONS(12478),
    [sym__element_reference_left_bracket] = ACTIONS(12478),
    [sym__scope_double_colon] = ACTIONS(12478),
    [sym__binary_minus] = ACTIONS(12478),
    [sym__binary_star] = ACTIONS(12478),
    [anon_sym_DOT] = ACTIONS(12480),
    [anon_sym_COMMA] = ACTIONS(12478),
    [anon_sym_PIPE] = ACTIONS(12480),
    [anon_sym_STAR_STAR] = ACTIONS(12478),
    [anon_sym_AMP] = ACTIONS(12480),
    [anon_sym_LT] = ACTIONS(12480),
    [anon_sym_if] = ACTIONS(12478),
    [anon_sym_unless] = ACTIONS(12478),
    [anon_sym_while] = ACTIONS(12478),
    [anon_sym_until] = ACTIONS(12478),
    [anon_sym_rescue] = ACTIONS(12478),
    [anon_sym_AMP_DOT] = ACTIONS(12478),
    [anon_sym_QMARK] = ACTIONS(12478),
    [anon_sym_DOT_DOT] = ACTIONS(12480),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12478),
    [anon_sym_and] = ACTIONS(12478),
    [anon_sym_or] = ACTIONS(12478),
    [anon_sym_PIPE_PIPE] = ACTIONS(12478),
    [anon_sym_AMP_AMP] = ACTIONS(12478),
    [anon_sym_LT_LT] = ACTIONS(12478),
    [anon_sym_GT_GT] = ACTIONS(12478),
    [anon_sym_EQ_EQ] = ACTIONS(12480),
    [anon_sym_BANG_EQ] = ACTIONS(12478),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12478),
    [anon_sym_LT_EQ_GT] = ACTIONS(12478),
    [anon_sym_EQ_TILDE] = ACTIONS(12478),
    [anon_sym_BANG_TILDE] = ACTIONS(12478),
    [anon_sym_LT_EQ] = ACTIONS(12480),
    [anon_sym_GT] = ACTIONS(12480),
    [anon_sym_GT_EQ] = ACTIONS(12478),
    [anon_sym_CARET] = ACTIONS(12478),
    [anon_sym_PLUS] = ACTIONS(12478),
    [anon_sym_SLASH] = ACTIONS(12478),
    [anon_sym_PERCENT] = ACTIONS(12478),
    [sym_comment] = ACTIONS(110),
  },
  [8503] = {
    [sym__string_middle] = ACTIONS(12724),
    [sym__string_end] = ACTIONS(12724),
    [sym__element_reference_left_bracket] = ACTIONS(12724),
    [sym__scope_double_colon] = ACTIONS(12724),
    [sym__binary_minus] = ACTIONS(12724),
    [sym__binary_star] = ACTIONS(12724),
    [anon_sym_DOT] = ACTIONS(12726),
    [anon_sym_COMMA] = ACTIONS(12724),
    [anon_sym_PIPE] = ACTIONS(12726),
    [anon_sym_STAR_STAR] = ACTIONS(12724),
    [anon_sym_AMP] = ACTIONS(12726),
    [anon_sym_LT] = ACTIONS(12726),
    [anon_sym_if] = ACTIONS(12724),
    [anon_sym_unless] = ACTIONS(12724),
    [anon_sym_while] = ACTIONS(12724),
    [anon_sym_until] = ACTIONS(12724),
    [anon_sym_rescue] = ACTIONS(12724),
    [anon_sym_AMP_DOT] = ACTIONS(12724),
    [anon_sym_QMARK] = ACTIONS(12724),
    [anon_sym_DOT_DOT] = ACTIONS(12726),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12724),
    [anon_sym_and] = ACTIONS(12724),
    [anon_sym_or] = ACTIONS(12724),
    [anon_sym_PIPE_PIPE] = ACTIONS(12724),
    [anon_sym_AMP_AMP] = ACTIONS(12724),
    [anon_sym_LT_LT] = ACTIONS(12724),
    [anon_sym_GT_GT] = ACTIONS(12724),
    [anon_sym_EQ_EQ] = ACTIONS(12726),
    [anon_sym_BANG_EQ] = ACTIONS(12724),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12724),
    [anon_sym_LT_EQ_GT] = ACTIONS(12724),
    [anon_sym_EQ_TILDE] = ACTIONS(12724),
    [anon_sym_BANG_TILDE] = ACTIONS(12724),
    [anon_sym_LT_EQ] = ACTIONS(12726),
    [anon_sym_GT] = ACTIONS(12726),
    [anon_sym_GT_EQ] = ACTIONS(12724),
    [anon_sym_CARET] = ACTIONS(12724),
    [anon_sym_PLUS] = ACTIONS(12724),
    [anon_sym_SLASH] = ACTIONS(12724),
    [anon_sym_PERCENT] = ACTIONS(12724),
    [sym_comment] = ACTIONS(110),
  },
  [8504] = {
    [anon_sym_end] = ACTIONS(14304),
    [sym_comment] = ACTIONS(110),
  },
  [8505] = {
    [sym__string_middle] = ACTIONS(12732),
    [sym__string_end] = ACTIONS(12732),
    [sym__element_reference_left_bracket] = ACTIONS(12732),
    [sym__scope_double_colon] = ACTIONS(12732),
    [sym__binary_minus] = ACTIONS(12732),
    [sym__binary_star] = ACTIONS(12732),
    [anon_sym_DOT] = ACTIONS(12734),
    [anon_sym_COMMA] = ACTIONS(12732),
    [anon_sym_PIPE] = ACTIONS(12734),
    [anon_sym_STAR_STAR] = ACTIONS(12732),
    [anon_sym_AMP] = ACTIONS(12734),
    [anon_sym_LT] = ACTIONS(12734),
    [anon_sym_if] = ACTIONS(12732),
    [anon_sym_unless] = ACTIONS(12732),
    [anon_sym_while] = ACTIONS(12732),
    [anon_sym_until] = ACTIONS(12732),
    [anon_sym_rescue] = ACTIONS(12732),
    [anon_sym_AMP_DOT] = ACTIONS(12732),
    [anon_sym_QMARK] = ACTIONS(12732),
    [anon_sym_DOT_DOT] = ACTIONS(12734),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12732),
    [anon_sym_and] = ACTIONS(12732),
    [anon_sym_or] = ACTIONS(12732),
    [anon_sym_PIPE_PIPE] = ACTIONS(12732),
    [anon_sym_AMP_AMP] = ACTIONS(12732),
    [anon_sym_LT_LT] = ACTIONS(12732),
    [anon_sym_GT_GT] = ACTIONS(12732),
    [anon_sym_EQ_EQ] = ACTIONS(12734),
    [anon_sym_BANG_EQ] = ACTIONS(12732),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12732),
    [anon_sym_LT_EQ_GT] = ACTIONS(12732),
    [anon_sym_EQ_TILDE] = ACTIONS(12732),
    [anon_sym_BANG_TILDE] = ACTIONS(12732),
    [anon_sym_LT_EQ] = ACTIONS(12734),
    [anon_sym_GT] = ACTIONS(12734),
    [anon_sym_GT_EQ] = ACTIONS(12732),
    [anon_sym_CARET] = ACTIONS(12732),
    [anon_sym_PLUS] = ACTIONS(12732),
    [anon_sym_SLASH] = ACTIONS(12732),
    [anon_sym_PERCENT] = ACTIONS(12732),
    [sym_comment] = ACTIONS(110),
  },
  [8506] = {
    [anon_sym_end] = ACTIONS(14306),
    [sym_comment] = ACTIONS(110),
  },
  [8507] = {
    [sym__string_middle] = ACTIONS(12750),
    [sym__string_end] = ACTIONS(12750),
    [sym__element_reference_left_bracket] = ACTIONS(12750),
    [sym__scope_double_colon] = ACTIONS(12750),
    [sym__binary_minus] = ACTIONS(12750),
    [sym__binary_star] = ACTIONS(12750),
    [anon_sym_DOT] = ACTIONS(12752),
    [anon_sym_COMMA] = ACTIONS(12750),
    [anon_sym_PIPE] = ACTIONS(12752),
    [anon_sym_STAR_STAR] = ACTIONS(12750),
    [anon_sym_AMP] = ACTIONS(12752),
    [anon_sym_LT] = ACTIONS(12752),
    [anon_sym_if] = ACTIONS(12750),
    [anon_sym_unless] = ACTIONS(12750),
    [anon_sym_while] = ACTIONS(12750),
    [anon_sym_until] = ACTIONS(12750),
    [anon_sym_rescue] = ACTIONS(12750),
    [anon_sym_AMP_DOT] = ACTIONS(12750),
    [anon_sym_QMARK] = ACTIONS(12750),
    [anon_sym_DOT_DOT] = ACTIONS(12752),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12750),
    [anon_sym_and] = ACTIONS(12750),
    [anon_sym_or] = ACTIONS(12750),
    [anon_sym_PIPE_PIPE] = ACTIONS(12750),
    [anon_sym_AMP_AMP] = ACTIONS(12750),
    [anon_sym_LT_LT] = ACTIONS(12750),
    [anon_sym_GT_GT] = ACTIONS(12750),
    [anon_sym_EQ_EQ] = ACTIONS(12752),
    [anon_sym_BANG_EQ] = ACTIONS(12750),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12750),
    [anon_sym_LT_EQ_GT] = ACTIONS(12750),
    [anon_sym_EQ_TILDE] = ACTIONS(12750),
    [anon_sym_BANG_TILDE] = ACTIONS(12750),
    [anon_sym_LT_EQ] = ACTIONS(12752),
    [anon_sym_GT] = ACTIONS(12752),
    [anon_sym_GT_EQ] = ACTIONS(12750),
    [anon_sym_CARET] = ACTIONS(12750),
    [anon_sym_PLUS] = ACTIONS(12750),
    [anon_sym_SLASH] = ACTIONS(12750),
    [anon_sym_PERCENT] = ACTIONS(12750),
    [sym_comment] = ACTIONS(110),
  },
  [8508] = {
    [sym__simple_string] = ACTIONS(7678),
    [sym__simple_heredoc_body] = ACTIONS(7678),
    [sym__string_beginning] = ACTIONS(7678),
    [sym__heredoc_body_beginning] = ACTIONS(7678),
    [sym__string_middle] = ACTIONS(7678),
    [sym__string_end] = ACTIONS(7678),
    [sym__element_reference_left_bracket] = ACTIONS(7678),
    [sym__scope_double_colon] = ACTIONS(7678),
    [sym__keyword_colon] = ACTIONS(7678),
    [sym__binary_minus] = ACTIONS(7678),
    [sym__binary_star] = ACTIONS(7678),
    [anon_sym_DOT] = ACTIONS(7680),
    [anon_sym_COMMA] = ACTIONS(7678),
    [anon_sym_PIPE] = ACTIONS(7680),
    [anon_sym_STAR_STAR] = ACTIONS(7678),
    [anon_sym_AMP] = ACTIONS(7680),
    [anon_sym_LT] = ACTIONS(7680),
    [anon_sym_if] = ACTIONS(7678),
    [anon_sym_unless] = ACTIONS(7678),
    [anon_sym_while] = ACTIONS(7678),
    [anon_sym_until] = ACTIONS(7678),
    [anon_sym_rescue] = ACTIONS(7678),
    [anon_sym_EQ_GT] = ACTIONS(7678),
    [anon_sym_AMP_DOT] = ACTIONS(7678),
    [anon_sym_QMARK] = ACTIONS(7680),
    [anon_sym_DOT_DOT] = ACTIONS(7680),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7678),
    [anon_sym_and] = ACTIONS(7678),
    [anon_sym_or] = ACTIONS(7678),
    [anon_sym_PIPE_PIPE] = ACTIONS(7678),
    [anon_sym_AMP_AMP] = ACTIONS(7678),
    [anon_sym_LT_LT] = ACTIONS(7678),
    [anon_sym_GT_GT] = ACTIONS(7678),
    [anon_sym_EQ_EQ] = ACTIONS(7680),
    [anon_sym_BANG_EQ] = ACTIONS(7678),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7678),
    [anon_sym_LT_EQ_GT] = ACTIONS(7678),
    [anon_sym_EQ_TILDE] = ACTIONS(7678),
    [anon_sym_BANG_TILDE] = ACTIONS(7678),
    [anon_sym_LT_EQ] = ACTIONS(7680),
    [anon_sym_GT] = ACTIONS(7680),
    [anon_sym_GT_EQ] = ACTIONS(7678),
    [anon_sym_CARET] = ACTIONS(7678),
    [anon_sym_PLUS] = ACTIONS(7678),
    [anon_sym_SLASH] = ACTIONS(7678),
    [anon_sym_PERCENT] = ACTIONS(7678),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(7680),
  },
  [8509] = {
    [sym__simple_heredoc_body] = ACTIONS(7682),
    [sym__heredoc_body_beginning] = ACTIONS(7682),
    [sym__string_middle] = ACTIONS(7682),
    [sym__string_end] = ACTIONS(7682),
    [sym__element_reference_left_bracket] = ACTIONS(7682),
    [sym__scope_double_colon] = ACTIONS(7682),
    [sym__binary_minus] = ACTIONS(7682),
    [sym__binary_star] = ACTIONS(7682),
    [anon_sym_DOT] = ACTIONS(7684),
    [anon_sym_COMMA] = ACTIONS(7682),
    [anon_sym_PIPE] = ACTIONS(7684),
    [anon_sym_STAR_STAR] = ACTIONS(7682),
    [anon_sym_AMP] = ACTIONS(7684),
    [anon_sym_LT] = ACTIONS(7684),
    [anon_sym_if] = ACTIONS(7682),
    [anon_sym_unless] = ACTIONS(7682),
    [anon_sym_while] = ACTIONS(7682),
    [anon_sym_until] = ACTIONS(7682),
    [anon_sym_rescue] = ACTIONS(7682),
    [anon_sym_EQ_GT] = ACTIONS(7682),
    [anon_sym_AMP_DOT] = ACTIONS(7682),
    [anon_sym_QMARK] = ACTIONS(7682),
    [anon_sym_DOT_DOT] = ACTIONS(7684),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7682),
    [anon_sym_and] = ACTIONS(7682),
    [anon_sym_or] = ACTIONS(7682),
    [anon_sym_PIPE_PIPE] = ACTIONS(7682),
    [anon_sym_AMP_AMP] = ACTIONS(7682),
    [anon_sym_LT_LT] = ACTIONS(7682),
    [anon_sym_GT_GT] = ACTIONS(7682),
    [anon_sym_EQ_EQ] = ACTIONS(7684),
    [anon_sym_BANG_EQ] = ACTIONS(7682),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7682),
    [anon_sym_LT_EQ_GT] = ACTIONS(7682),
    [anon_sym_EQ_TILDE] = ACTIONS(7682),
    [anon_sym_BANG_TILDE] = ACTIONS(7682),
    [anon_sym_LT_EQ] = ACTIONS(7684),
    [anon_sym_GT] = ACTIONS(7684),
    [anon_sym_GT_EQ] = ACTIONS(7682),
    [anon_sym_CARET] = ACTIONS(7682),
    [anon_sym_PLUS] = ACTIONS(7682),
    [anon_sym_SLASH] = ACTIONS(7682),
    [anon_sym_PERCENT] = ACTIONS(7682),
    [sym_comment] = ACTIONS(110),
  },
  [8510] = {
    [sym__simple_heredoc_body] = ACTIONS(7686),
    [sym__heredoc_body_beginning] = ACTIONS(7686),
    [sym__string_middle] = ACTIONS(7686),
    [sym__string_end] = ACTIONS(7686),
    [sym__element_reference_left_bracket] = ACTIONS(7686),
    [sym__scope_double_colon] = ACTIONS(7686),
    [sym__binary_minus] = ACTIONS(7686),
    [sym__binary_star] = ACTIONS(7686),
    [anon_sym_DOT] = ACTIONS(7688),
    [anon_sym_COMMA] = ACTIONS(7686),
    [anon_sym_PIPE] = ACTIONS(7688),
    [anon_sym_STAR_STAR] = ACTIONS(7686),
    [anon_sym_AMP] = ACTIONS(7688),
    [anon_sym_LT] = ACTIONS(7688),
    [anon_sym_if] = ACTIONS(7686),
    [anon_sym_unless] = ACTIONS(7686),
    [anon_sym_while] = ACTIONS(7686),
    [anon_sym_until] = ACTIONS(7686),
    [anon_sym_rescue] = ACTIONS(7686),
    [anon_sym_EQ_GT] = ACTIONS(7686),
    [anon_sym_AMP_DOT] = ACTIONS(7686),
    [anon_sym_QMARK] = ACTIONS(7686),
    [anon_sym_DOT_DOT] = ACTIONS(7688),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7686),
    [anon_sym_and] = ACTIONS(7686),
    [anon_sym_or] = ACTIONS(7686),
    [anon_sym_PIPE_PIPE] = ACTIONS(7686),
    [anon_sym_AMP_AMP] = ACTIONS(7686),
    [anon_sym_LT_LT] = ACTIONS(7686),
    [anon_sym_GT_GT] = ACTIONS(7686),
    [anon_sym_EQ_EQ] = ACTIONS(7688),
    [anon_sym_BANG_EQ] = ACTIONS(7686),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7686),
    [anon_sym_LT_EQ_GT] = ACTIONS(7686),
    [anon_sym_EQ_TILDE] = ACTIONS(7686),
    [anon_sym_BANG_TILDE] = ACTIONS(7686),
    [anon_sym_LT_EQ] = ACTIONS(7688),
    [anon_sym_GT] = ACTIONS(7688),
    [anon_sym_GT_EQ] = ACTIONS(7686),
    [anon_sym_CARET] = ACTIONS(7686),
    [anon_sym_PLUS] = ACTIONS(7686),
    [anon_sym_SLASH] = ACTIONS(7686),
    [anon_sym_PERCENT] = ACTIONS(7686),
    [sym_comment] = ACTIONS(110),
  },
  [8511] = {
    [sym__simple_heredoc_body] = ACTIONS(7690),
    [sym__heredoc_body_beginning] = ACTIONS(7690),
    [sym__string_middle] = ACTIONS(7690),
    [sym__string_end] = ACTIONS(7690),
    [sym__element_reference_left_bracket] = ACTIONS(7690),
    [sym__scope_double_colon] = ACTIONS(7690),
    [sym__binary_minus] = ACTIONS(7690),
    [sym__binary_star] = ACTIONS(7690),
    [anon_sym_DOT] = ACTIONS(7692),
    [anon_sym_COMMA] = ACTIONS(7690),
    [anon_sym_PIPE] = ACTIONS(7692),
    [anon_sym_STAR_STAR] = ACTIONS(7690),
    [anon_sym_AMP] = ACTIONS(7692),
    [anon_sym_LT] = ACTIONS(7692),
    [anon_sym_if] = ACTIONS(7690),
    [anon_sym_unless] = ACTIONS(7690),
    [anon_sym_while] = ACTIONS(7690),
    [anon_sym_until] = ACTIONS(7690),
    [anon_sym_rescue] = ACTIONS(7690),
    [anon_sym_EQ_GT] = ACTIONS(7690),
    [anon_sym_AMP_DOT] = ACTIONS(7690),
    [anon_sym_QMARK] = ACTIONS(7690),
    [anon_sym_DOT_DOT] = ACTIONS(7692),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7690),
    [anon_sym_and] = ACTIONS(7690),
    [anon_sym_or] = ACTIONS(7690),
    [anon_sym_PIPE_PIPE] = ACTIONS(7690),
    [anon_sym_AMP_AMP] = ACTIONS(7690),
    [anon_sym_LT_LT] = ACTIONS(7690),
    [anon_sym_GT_GT] = ACTIONS(7690),
    [anon_sym_EQ_EQ] = ACTIONS(7692),
    [anon_sym_BANG_EQ] = ACTIONS(7690),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7690),
    [anon_sym_LT_EQ_GT] = ACTIONS(7690),
    [anon_sym_EQ_TILDE] = ACTIONS(7690),
    [anon_sym_BANG_TILDE] = ACTIONS(7690),
    [anon_sym_LT_EQ] = ACTIONS(7692),
    [anon_sym_GT] = ACTIONS(7692),
    [anon_sym_GT_EQ] = ACTIONS(7690),
    [anon_sym_CARET] = ACTIONS(7690),
    [anon_sym_PLUS] = ACTIONS(7690),
    [anon_sym_SLASH] = ACTIONS(7690),
    [anon_sym_PERCENT] = ACTIONS(7690),
    [sym_comment] = ACTIONS(110),
  },
  [8512] = {
    [sym__simple_heredoc_body] = ACTIONS(7694),
    [sym__heredoc_body_beginning] = ACTIONS(7694),
    [sym__string_middle] = ACTIONS(7694),
    [sym__string_end] = ACTIONS(7694),
    [sym__element_reference_left_bracket] = ACTIONS(7694),
    [sym__scope_double_colon] = ACTIONS(7694),
    [sym__binary_minus] = ACTIONS(7694),
    [sym__binary_star] = ACTIONS(7694),
    [anon_sym_DOT] = ACTIONS(7696),
    [anon_sym_COMMA] = ACTIONS(7694),
    [anon_sym_PIPE] = ACTIONS(7696),
    [anon_sym_STAR_STAR] = ACTIONS(7694),
    [anon_sym_AMP] = ACTIONS(7696),
    [anon_sym_LT] = ACTIONS(7696),
    [anon_sym_if] = ACTIONS(7694),
    [anon_sym_unless] = ACTIONS(7694),
    [anon_sym_while] = ACTIONS(7694),
    [anon_sym_until] = ACTIONS(7694),
    [anon_sym_rescue] = ACTIONS(7694),
    [anon_sym_EQ_GT] = ACTIONS(7694),
    [anon_sym_AMP_DOT] = ACTIONS(7694),
    [anon_sym_QMARK] = ACTIONS(7694),
    [anon_sym_DOT_DOT] = ACTIONS(7696),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7694),
    [anon_sym_and] = ACTIONS(7694),
    [anon_sym_or] = ACTIONS(7694),
    [anon_sym_PIPE_PIPE] = ACTIONS(7694),
    [anon_sym_AMP_AMP] = ACTIONS(7694),
    [anon_sym_LT_LT] = ACTIONS(7694),
    [anon_sym_GT_GT] = ACTIONS(7694),
    [anon_sym_EQ_EQ] = ACTIONS(7696),
    [anon_sym_BANG_EQ] = ACTIONS(7694),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7694),
    [anon_sym_LT_EQ_GT] = ACTIONS(7694),
    [anon_sym_EQ_TILDE] = ACTIONS(7694),
    [anon_sym_BANG_TILDE] = ACTIONS(7694),
    [anon_sym_LT_EQ] = ACTIONS(7696),
    [anon_sym_GT] = ACTIONS(7696),
    [anon_sym_GT_EQ] = ACTIONS(7694),
    [anon_sym_CARET] = ACTIONS(7694),
    [anon_sym_PLUS] = ACTIONS(7694),
    [anon_sym_SLASH] = ACTIONS(7694),
    [anon_sym_PERCENT] = ACTIONS(7694),
    [sym_comment] = ACTIONS(110),
  },
  [8513] = {
    [sym__simple_string] = ACTIONS(3612),
    [sym__simple_heredoc_body] = ACTIONS(3612),
    [sym__string_beginning] = ACTIONS(3612),
    [sym__heredoc_body_beginning] = ACTIONS(3612),
    [sym__string_middle] = ACTIONS(3612),
    [sym__string_end] = ACTIONS(3612),
    [sym__element_reference_left_bracket] = ACTIONS(3612),
    [sym__scope_double_colon] = ACTIONS(3612),
    [sym__binary_minus] = ACTIONS(3612),
    [sym__binary_star] = ACTIONS(3612),
    [anon_sym_DOT] = ACTIONS(3614),
    [anon_sym_COMMA] = ACTIONS(3612),
    [anon_sym_PIPE] = ACTIONS(3614),
    [anon_sym_STAR_STAR] = ACTIONS(3612),
    [anon_sym_AMP] = ACTIONS(3614),
    [anon_sym_LT] = ACTIONS(3614),
    [anon_sym_if] = ACTIONS(3612),
    [anon_sym_unless] = ACTIONS(3612),
    [anon_sym_while] = ACTIONS(3612),
    [anon_sym_until] = ACTIONS(3612),
    [anon_sym_rescue] = ACTIONS(3612),
    [anon_sym_EQ_GT] = ACTIONS(3612),
    [anon_sym_AMP_DOT] = ACTIONS(3612),
    [anon_sym_QMARK] = ACTIONS(3614),
    [anon_sym_DOT_DOT] = ACTIONS(3614),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3612),
    [anon_sym_and] = ACTIONS(3612),
    [anon_sym_or] = ACTIONS(3612),
    [anon_sym_PIPE_PIPE] = ACTIONS(3612),
    [anon_sym_AMP_AMP] = ACTIONS(3612),
    [anon_sym_LT_LT] = ACTIONS(3612),
    [anon_sym_GT_GT] = ACTIONS(3612),
    [anon_sym_EQ_EQ] = ACTIONS(3614),
    [anon_sym_BANG_EQ] = ACTIONS(3612),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3612),
    [anon_sym_LT_EQ_GT] = ACTIONS(3612),
    [anon_sym_EQ_TILDE] = ACTIONS(3612),
    [anon_sym_BANG_TILDE] = ACTIONS(3612),
    [anon_sym_LT_EQ] = ACTIONS(3614),
    [anon_sym_GT] = ACTIONS(3614),
    [anon_sym_GT_EQ] = ACTIONS(3612),
    [anon_sym_CARET] = ACTIONS(3612),
    [anon_sym_PLUS] = ACTIONS(3612),
    [anon_sym_SLASH] = ACTIONS(3612),
    [anon_sym_PERCENT] = ACTIONS(3612),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(3614),
  },
  [8514] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(14308),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [8515] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__string_middle] = ACTIONS(7008),
    [sym__string_end] = ACTIONS(7008),
    [sym__element_reference_left_bracket] = ACTIONS(7008),
    [sym__scope_double_colon] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(7384),
    [anon_sym_DOT] = ACTIONS(7010),
    [anon_sym_COMMA] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_STAR_STAR] = ACTIONS(7388),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_if] = ACTIONS(7008),
    [anon_sym_unless] = ACTIONS(7008),
    [anon_sym_while] = ACTIONS(7008),
    [anon_sym_until] = ACTIONS(7008),
    [anon_sym_rescue] = ACTIONS(7008),
    [anon_sym_AMP_DOT] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7008),
    [anon_sym_AMP_AMP] = ACTIONS(7008),
    [anon_sym_LT_LT] = ACTIONS(7008),
    [anon_sym_GT_GT] = ACTIONS(7008),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7008),
    [anon_sym_PLUS] = ACTIONS(7008),
    [anon_sym_SLASH] = ACTIONS(7388),
    [anon_sym_PERCENT] = ACTIONS(7388),
    [sym_comment] = ACTIONS(110),
  },
  [8516] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__string_middle] = ACTIONS(7012),
    [sym__string_end] = ACTIONS(7012),
    [sym__element_reference_left_bracket] = ACTIONS(7012),
    [sym__scope_double_colon] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_DOT] = ACTIONS(7014),
    [anon_sym_COMMA] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_STAR_STAR] = ACTIONS(7388),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_if] = ACTIONS(7012),
    [anon_sym_unless] = ACTIONS(7012),
    [anon_sym_while] = ACTIONS(7012),
    [anon_sym_until] = ACTIONS(7012),
    [anon_sym_rescue] = ACTIONS(7012),
    [anon_sym_AMP_DOT] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7012),
    [anon_sym_AMP_AMP] = ACTIONS(7012),
    [anon_sym_LT_LT] = ACTIONS(7012),
    [anon_sym_GT_GT] = ACTIONS(7012),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7012),
    [anon_sym_PLUS] = ACTIONS(7012),
    [anon_sym_SLASH] = ACTIONS(7012),
    [anon_sym_PERCENT] = ACTIONS(7012),
    [sym_comment] = ACTIONS(110),
  },
  [8517] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__string_middle] = ACTIONS(7016),
    [sym__string_end] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7382),
    [sym__binary_star] = ACTIONS(7384),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(7388),
    [anon_sym_AMP] = ACTIONS(7390),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7402),
    [anon_sym_GT_GT] = ACTIONS(7402),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7410),
    [anon_sym_SLASH] = ACTIONS(7388),
    [anon_sym_PERCENT] = ACTIONS(7388),
    [sym_comment] = ACTIONS(110),
  },
  [8518] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__string_middle] = ACTIONS(7016),
    [sym__string_end] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(7388),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7016),
    [anon_sym_PERCENT] = ACTIONS(7016),
    [sym_comment] = ACTIONS(110),
  },
  [8519] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__string_middle] = ACTIONS(7016),
    [sym__string_end] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7382),
    [sym__binary_star] = ACTIONS(7384),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(7388),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7402),
    [anon_sym_GT_GT] = ACTIONS(7402),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7410),
    [anon_sym_SLASH] = ACTIONS(7388),
    [anon_sym_PERCENT] = ACTIONS(7388),
    [sym_comment] = ACTIONS(110),
  },
  [8520] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__string_middle] = ACTIONS(7016),
    [sym__string_end] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7382),
    [sym__binary_star] = ACTIONS(7384),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7386),
    [anon_sym_STAR_STAR] = ACTIONS(7388),
    [anon_sym_AMP] = ACTIONS(7390),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7402),
    [anon_sym_GT_GT] = ACTIONS(7402),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7408),
    [anon_sym_PLUS] = ACTIONS(7410),
    [anon_sym_SLASH] = ACTIONS(7388),
    [anon_sym_PERCENT] = ACTIONS(7388),
    [sym_comment] = ACTIONS(110),
  },
  [8521] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(14310),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [8522] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__string_middle] = ACTIONS(7108),
    [sym__string_end] = ACTIONS(7108),
    [sym__element_reference_left_bracket] = ACTIONS(7108),
    [sym__scope_double_colon] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(7382),
    [sym__binary_star] = ACTIONS(7384),
    [anon_sym_DOT] = ACTIONS(9472),
    [anon_sym_COMMA] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(7386),
    [anon_sym_STAR_STAR] = ACTIONS(7388),
    [anon_sym_AMP] = ACTIONS(7390),
    [anon_sym_LT] = ACTIONS(7392),
    [anon_sym_if] = ACTIONS(7108),
    [anon_sym_unless] = ACTIONS(7108),
    [anon_sym_while] = ACTIONS(7108),
    [anon_sym_until] = ACTIONS(7108),
    [anon_sym_rescue] = ACTIONS(7108),
    [anon_sym_AMP_DOT] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(7396),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7398),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(7400),
    [anon_sym_AMP_AMP] = ACTIONS(7400),
    [anon_sym_LT_LT] = ACTIONS(7402),
    [anon_sym_GT_GT] = ACTIONS(7402),
    [anon_sym_EQ_EQ] = ACTIONS(7404),
    [anon_sym_BANG_EQ] = ACTIONS(7400),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7400),
    [anon_sym_LT_EQ_GT] = ACTIONS(7400),
    [anon_sym_EQ_TILDE] = ACTIONS(7400),
    [anon_sym_BANG_TILDE] = ACTIONS(7400),
    [anon_sym_LT_EQ] = ACTIONS(7392),
    [anon_sym_GT] = ACTIONS(7392),
    [anon_sym_GT_EQ] = ACTIONS(7406),
    [anon_sym_CARET] = ACTIONS(7408),
    [anon_sym_PLUS] = ACTIONS(7410),
    [anon_sym_SLASH] = ACTIONS(7388),
    [anon_sym_PERCENT] = ACTIONS(7388),
    [sym_comment] = ACTIONS(110),
  },
  [8523] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__string_middle] = ACTIONS(7016),
    [sym__string_end] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7382),
    [sym__binary_star] = ACTIONS(7384),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7386),
    [anon_sym_STAR_STAR] = ACTIONS(7388),
    [anon_sym_AMP] = ACTIONS(7390),
    [anon_sym_LT] = ACTIONS(7392),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7394),
    [anon_sym_DOT_DOT] = ACTIONS(7396),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7398),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7400),
    [anon_sym_AMP_AMP] = ACTIONS(7400),
    [anon_sym_LT_LT] = ACTIONS(7402),
    [anon_sym_GT_GT] = ACTIONS(7402),
    [anon_sym_EQ_EQ] = ACTIONS(7404),
    [anon_sym_BANG_EQ] = ACTIONS(7400),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7400),
    [anon_sym_LT_EQ_GT] = ACTIONS(7400),
    [anon_sym_EQ_TILDE] = ACTIONS(7400),
    [anon_sym_BANG_TILDE] = ACTIONS(7400),
    [anon_sym_LT_EQ] = ACTIONS(7392),
    [anon_sym_GT] = ACTIONS(7392),
    [anon_sym_GT_EQ] = ACTIONS(7406),
    [anon_sym_CARET] = ACTIONS(7408),
    [anon_sym_PLUS] = ACTIONS(7410),
    [anon_sym_SLASH] = ACTIONS(7388),
    [anon_sym_PERCENT] = ACTIONS(7388),
    [sym_comment] = ACTIONS(110),
  },
  [8524] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__string_middle] = ACTIONS(7016),
    [sym__string_end] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7382),
    [sym__binary_star] = ACTIONS(7384),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7386),
    [anon_sym_STAR_STAR] = ACTIONS(7388),
    [anon_sym_AMP] = ACTIONS(7390),
    [anon_sym_LT] = ACTIONS(7392),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7402),
    [anon_sym_GT_GT] = ACTIONS(7402),
    [anon_sym_EQ_EQ] = ACTIONS(7404),
    [anon_sym_BANG_EQ] = ACTIONS(7400),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7400),
    [anon_sym_LT_EQ_GT] = ACTIONS(7400),
    [anon_sym_EQ_TILDE] = ACTIONS(7400),
    [anon_sym_BANG_TILDE] = ACTIONS(7400),
    [anon_sym_LT_EQ] = ACTIONS(7392),
    [anon_sym_GT] = ACTIONS(7392),
    [anon_sym_GT_EQ] = ACTIONS(7406),
    [anon_sym_CARET] = ACTIONS(7408),
    [anon_sym_PLUS] = ACTIONS(7410),
    [anon_sym_SLASH] = ACTIONS(7388),
    [anon_sym_PERCENT] = ACTIONS(7388),
    [sym_comment] = ACTIONS(110),
  },
  [8525] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__string_middle] = ACTIONS(7016),
    [sym__string_end] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7382),
    [sym__binary_star] = ACTIONS(7384),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(7388),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7410),
    [anon_sym_SLASH] = ACTIONS(7388),
    [anon_sym_PERCENT] = ACTIONS(7388),
    [sym_comment] = ACTIONS(110),
  },
  [8526] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__string_middle] = ACTIONS(7016),
    [sym__string_end] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7384),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(7388),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7388),
    [anon_sym_PERCENT] = ACTIONS(7388),
    [sym_comment] = ACTIONS(110),
  },
  [8527] = {
    [sym__simple_heredoc_body] = ACTIONS(7110),
    [sym__heredoc_body_beginning] = ACTIONS(7110),
    [sym__string_middle] = ACTIONS(7110),
    [sym__string_end] = ACTIONS(7110),
    [sym__element_reference_left_bracket] = ACTIONS(7110),
    [sym__scope_double_colon] = ACTIONS(7110),
    [sym__binary_minus] = ACTIONS(7110),
    [sym__binary_star] = ACTIONS(7110),
    [anon_sym_LBRACE] = ACTIONS(7110),
    [anon_sym_DOT] = ACTIONS(7112),
    [anon_sym_COMMA] = ACTIONS(7110),
    [anon_sym_PIPE] = ACTIONS(7112),
    [anon_sym_STAR_STAR] = ACTIONS(7112),
    [anon_sym_AMP] = ACTIONS(7112),
    [anon_sym_EQ] = ACTIONS(7112),
    [anon_sym_LT] = ACTIONS(7112),
    [anon_sym_if] = ACTIONS(7110),
    [anon_sym_unless] = ACTIONS(7110),
    [anon_sym_while] = ACTIONS(7110),
    [anon_sym_until] = ACTIONS(7110),
    [anon_sym_rescue] = ACTIONS(7110),
    [anon_sym_do] = ACTIONS(7110),
    [anon_sym_AMP_DOT] = ACTIONS(7110),
    [anon_sym_PLUS_EQ] = ACTIONS(7110),
    [anon_sym_DASH_EQ] = ACTIONS(7110),
    [anon_sym_STAR_EQ] = ACTIONS(7110),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7110),
    [anon_sym_SLASH_EQ] = ACTIONS(7110),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7110),
    [anon_sym_PIPE_EQ] = ACTIONS(7110),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7110),
    [anon_sym_AMP_EQ] = ACTIONS(7110),
    [anon_sym_PERCENT_EQ] = ACTIONS(7110),
    [anon_sym_GT_GT_EQ] = ACTIONS(7110),
    [anon_sym_LT_LT_EQ] = ACTIONS(7110),
    [anon_sym_CARET_EQ] = ACTIONS(7110),
    [anon_sym_QMARK] = ACTIONS(7110),
    [anon_sym_DOT_DOT] = ACTIONS(7112),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7110),
    [anon_sym_and] = ACTIONS(7110),
    [anon_sym_or] = ACTIONS(7110),
    [anon_sym_PIPE_PIPE] = ACTIONS(7112),
    [anon_sym_AMP_AMP] = ACTIONS(7112),
    [anon_sym_LT_LT] = ACTIONS(7112),
    [anon_sym_GT_GT] = ACTIONS(7112),
    [anon_sym_EQ_EQ] = ACTIONS(7112),
    [anon_sym_BANG_EQ] = ACTIONS(7110),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7110),
    [anon_sym_LT_EQ_GT] = ACTIONS(7110),
    [anon_sym_EQ_TILDE] = ACTIONS(7110),
    [anon_sym_BANG_TILDE] = ACTIONS(7110),
    [anon_sym_LT_EQ] = ACTIONS(7112),
    [anon_sym_GT] = ACTIONS(7112),
    [anon_sym_GT_EQ] = ACTIONS(7110),
    [anon_sym_CARET] = ACTIONS(7112),
    [anon_sym_PLUS] = ACTIONS(7112),
    [anon_sym_SLASH] = ACTIONS(7112),
    [anon_sym_PERCENT] = ACTIONS(7112),
    [sym_comment] = ACTIONS(256),
  },
  [8528] = {
    [sym_heredoc_end] = STATE(11323),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RBRACK] = ACTIONS(14312),
    [sym_comment] = ACTIONS(110),
  },
  [8529] = {
    [anon_sym_RBRACK] = ACTIONS(14312),
    [sym_comment] = ACTIONS(110),
  },
  [8530] = {
    [sym__simple_string] = ACTIONS(7116),
    [sym__simple_symbol] = ACTIONS(7116),
    [sym__simple_subshell] = ACTIONS(7116),
    [sym__simple_regex] = ACTIONS(7116),
    [sym__simple_word_list] = ACTIONS(7116),
    [sym__simple_heredoc_body] = ACTIONS(7116),
    [sym__string_beginning] = ACTIONS(7116),
    [sym__symbol_beginning] = ACTIONS(7116),
    [sym__subshell_beginning] = ACTIONS(7116),
    [sym__regex_beginning] = ACTIONS(7116),
    [sym__word_list_beginning] = ACTIONS(7116),
    [sym__heredoc_body_beginning] = ACTIONS(7116),
    [sym__string_middle] = ACTIONS(7116),
    [sym__string_end] = ACTIONS(7116),
    [sym_heredoc_beginning] = ACTIONS(7116),
    [sym__element_reference_left_bracket] = ACTIONS(7116),
    [sym__block_ampersand] = ACTIONS(7116),
    [sym__splat_star] = ACTIONS(7116),
    [sym__argument_list_left_paren] = ACTIONS(7116),
    [sym__scope_double_colon] = ACTIONS(7116),
    [sym__unary_minus] = ACTIONS(7116),
    [sym__binary_minus] = ACTIONS(7116),
    [sym__binary_star] = ACTIONS(7116),
    [anon_sym_LBRACE] = ACTIONS(7116),
    [anon_sym_def] = ACTIONS(7118),
    [anon_sym_LPAREN] = ACTIONS(7116),
    [anon_sym_DOT] = ACTIONS(7118),
    [anon_sym_COLON_COLON] = ACTIONS(7116),
    [anon_sym_end] = ACTIONS(7118),
    [anon_sym_COMMA] = ACTIONS(7116),
    [anon_sym_PIPE] = ACTIONS(7118),
    [anon_sym_STAR] = ACTIONS(7118),
    [anon_sym_STAR_STAR] = ACTIONS(7118),
    [anon_sym_AMP] = ACTIONS(7118),
    [anon_sym_EQ] = ACTIONS(7118),
    [anon_sym_class] = ACTIONS(7118),
    [anon_sym_LT] = ACTIONS(7118),
    [anon_sym_module] = ACTIONS(7118),
    [anon_sym_return] = ACTIONS(7118),
    [anon_sym_yield] = ACTIONS(7118),
    [anon_sym_break] = ACTIONS(7118),
    [anon_sym_next] = ACTIONS(7118),
    [anon_sym_redo] = ACTIONS(7118),
    [anon_sym_retry] = ACTIONS(7118),
    [anon_sym_if] = ACTIONS(7118),
    [anon_sym_unless] = ACTIONS(7118),
    [anon_sym_while] = ACTIONS(7118),
    [anon_sym_until] = ACTIONS(7118),
    [anon_sym_rescue] = ACTIONS(7118),
    [anon_sym_for] = ACTIONS(7118),
    [anon_sym_in] = ACTIONS(7118),
    [anon_sym_do] = ACTIONS(7118),
    [anon_sym_case] = ACTIONS(7118),
    [anon_sym_when] = ACTIONS(7118),
    [anon_sym_elsif] = ACTIONS(7118),
    [anon_sym_else] = ACTIONS(7118),
    [anon_sym_then] = ACTIONS(7118),
    [anon_sym_begin] = ACTIONS(7118),
    [anon_sym_ensure] = ACTIONS(7118),
    [anon_sym_AMP_DOT] = ACTIONS(7116),
    [anon_sym_PLUS_EQ] = ACTIONS(7116),
    [anon_sym_DASH_EQ] = ACTIONS(7116),
    [anon_sym_STAR_EQ] = ACTIONS(7116),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7116),
    [anon_sym_SLASH_EQ] = ACTIONS(7116),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7116),
    [anon_sym_PIPE_EQ] = ACTIONS(7116),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7116),
    [anon_sym_AMP_EQ] = ACTIONS(7116),
    [anon_sym_PERCENT_EQ] = ACTIONS(7116),
    [anon_sym_GT_GT_EQ] = ACTIONS(7116),
    [anon_sym_LT_LT_EQ] = ACTIONS(7116),
    [anon_sym_CARET_EQ] = ACTIONS(7116),
    [anon_sym_QMARK] = ACTIONS(7118),
    [anon_sym_DOT_DOT] = ACTIONS(7118),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7116),
    [anon_sym_and] = ACTIONS(7118),
    [anon_sym_or] = ACTIONS(7118),
    [anon_sym_PIPE_PIPE] = ACTIONS(7118),
    [anon_sym_AMP_AMP] = ACTIONS(7118),
    [anon_sym_LT_LT] = ACTIONS(7118),
    [anon_sym_GT_GT] = ACTIONS(7118),
    [anon_sym_EQ_EQ] = ACTIONS(7118),
    [anon_sym_BANG_EQ] = ACTIONS(7116),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7116),
    [anon_sym_LT_EQ_GT] = ACTIONS(7116),
    [anon_sym_EQ_TILDE] = ACTIONS(7116),
    [anon_sym_BANG_TILDE] = ACTIONS(7116),
    [anon_sym_LT_EQ] = ACTIONS(7118),
    [anon_sym_GT] = ACTIONS(7118),
    [anon_sym_GT_EQ] = ACTIONS(7116),
    [anon_sym_CARET] = ACTIONS(7118),
    [anon_sym_PLUS] = ACTIONS(7118),
    [anon_sym_SLASH] = ACTIONS(7118),
    [anon_sym_PERCENT] = ACTIONS(7118),
    [anon_sym_defined_QMARK] = ACTIONS(7116),
    [anon_sym_not] = ACTIONS(7118),
    [anon_sym_BANG] = ACTIONS(7118),
    [anon_sym_TILDE] = ACTIONS(7116),
    [sym_constant] = ACTIONS(7120),
    [sym_identifier] = ACTIONS(7120),
    [sym_instance_variable] = ACTIONS(7118),
    [sym_class_variable] = ACTIONS(7118),
    [sym_global_variable] = ACTIONS(7118),
    [anon_sym_alias] = ACTIONS(7118),
    [anon_sym_defined] = ACTIONS(7118),
    [anon_sym_false] = ACTIONS(7118),
    [anon_sym_nil] = ACTIONS(7118),
    [anon_sym_self] = ACTIONS(7118),
    [anon_sym_super] = ACTIONS(7118),
    [anon_sym_true] = ACTIONS(7118),
    [anon_sym_undef] = ACTIONS(7118),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(7118),
    [sym_float] = ACTIONS(7120),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(7116),
    [anon_sym_TRUE] = ACTIONS(7118),
    [anon_sym_FALSE] = ACTIONS(7118),
    [anon_sym_NIL] = ACTIONS(7118),
    [sym_keyword__FILE__] = ACTIONS(7118),
    [sym_keyword__LINE__] = ACTIONS(7118),
    [sym_keyword__ENCODING__] = ACTIONS(7118),
    [sym__character_literal] = ACTIONS(7118),
    [anon_sym_LBRACK] = ACTIONS(7116),
    [anon_sym_DASH_GT] = ACTIONS(7116),
  },
  [8531] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1382),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(11325),
    [sym__argument] = STATE(1385),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1386),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1387),
    [sym__variable] = STATE(1383),
    [sym_reserved_identifier] = STATE(1388),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1389),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(11326),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(2154),
    [sym__splat_star] = ACTIONS(2156),
    [sym__unary_minus] = ACTIONS(2158),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(14314),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2162),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2164),
    [anon_sym_yield] = ACTIONS(2166),
    [anon_sym_break] = ACTIONS(2168),
    [anon_sym_next] = ACTIONS(2170),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2172),
    [anon_sym_defined_QMARK] = ACTIONS(2174),
    [anon_sym_not] = ACTIONS(2176),
    [anon_sym_BANG] = ACTIONS(2178),
    [anon_sym_TILDE] = ACTIONS(2178),
    [sym_constant] = ACTIONS(2180),
    [sym_identifier] = ACTIONS(2180),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [8532] = {
    [sym__simple_string] = ACTIONS(1856),
    [sym__simple_symbol] = ACTIONS(1856),
    [sym__simple_subshell] = ACTIONS(1856),
    [sym__simple_regex] = ACTIONS(1856),
    [sym__simple_word_list] = ACTIONS(1856),
    [sym__simple_heredoc_body] = ACTIONS(1856),
    [sym__string_beginning] = ACTIONS(1856),
    [sym__symbol_beginning] = ACTIONS(1856),
    [sym__subshell_beginning] = ACTIONS(1856),
    [sym__regex_beginning] = ACTIONS(1856),
    [sym__word_list_beginning] = ACTIONS(1856),
    [sym__heredoc_body_beginning] = ACTIONS(1856),
    [sym__string_middle] = ACTIONS(1856),
    [sym__string_end] = ACTIONS(1856),
    [sym_heredoc_beginning] = ACTIONS(1856),
    [sym__element_reference_left_bracket] = ACTIONS(1856),
    [sym__block_ampersand] = ACTIONS(1856),
    [sym__splat_star] = ACTIONS(1856),
    [sym__argument_list_left_paren] = ACTIONS(1856),
    [sym__scope_double_colon] = ACTIONS(1856),
    [sym__unary_minus] = ACTIONS(1856),
    [sym__binary_minus] = ACTIONS(1856),
    [sym__binary_star] = ACTIONS(1856),
    [anon_sym_LBRACE] = ACTIONS(1856),
    [anon_sym_def] = ACTIONS(1858),
    [anon_sym_LPAREN] = ACTIONS(1856),
    [anon_sym_DOT] = ACTIONS(1858),
    [anon_sym_COLON_COLON] = ACTIONS(1856),
    [anon_sym_end] = ACTIONS(1858),
    [anon_sym_COMMA] = ACTIONS(1856),
    [anon_sym_PIPE] = ACTIONS(1858),
    [anon_sym_STAR] = ACTIONS(1858),
    [anon_sym_STAR_STAR] = ACTIONS(1858),
    [anon_sym_AMP] = ACTIONS(1858),
    [anon_sym_EQ] = ACTIONS(1858),
    [anon_sym_class] = ACTIONS(1858),
    [anon_sym_LT] = ACTIONS(1858),
    [anon_sym_module] = ACTIONS(1858),
    [anon_sym_return] = ACTIONS(1858),
    [anon_sym_yield] = ACTIONS(1858),
    [anon_sym_break] = ACTIONS(1858),
    [anon_sym_next] = ACTIONS(1858),
    [anon_sym_redo] = ACTIONS(1858),
    [anon_sym_retry] = ACTIONS(1858),
    [anon_sym_if] = ACTIONS(1858),
    [anon_sym_unless] = ACTIONS(1858),
    [anon_sym_while] = ACTIONS(1858),
    [anon_sym_until] = ACTIONS(1858),
    [anon_sym_rescue] = ACTIONS(1858),
    [anon_sym_for] = ACTIONS(1858),
    [anon_sym_in] = ACTIONS(1858),
    [anon_sym_do] = ACTIONS(1858),
    [anon_sym_case] = ACTIONS(1858),
    [anon_sym_when] = ACTIONS(1858),
    [anon_sym_elsif] = ACTIONS(1858),
    [anon_sym_else] = ACTIONS(1858),
    [anon_sym_then] = ACTIONS(1858),
    [anon_sym_begin] = ACTIONS(1858),
    [anon_sym_ensure] = ACTIONS(1858),
    [anon_sym_AMP_DOT] = ACTIONS(1856),
    [anon_sym_PLUS_EQ] = ACTIONS(1856),
    [anon_sym_DASH_EQ] = ACTIONS(1856),
    [anon_sym_STAR_EQ] = ACTIONS(1856),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1856),
    [anon_sym_SLASH_EQ] = ACTIONS(1856),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1856),
    [anon_sym_PIPE_EQ] = ACTIONS(1856),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1856),
    [anon_sym_AMP_EQ] = ACTIONS(1856),
    [anon_sym_PERCENT_EQ] = ACTIONS(1856),
    [anon_sym_GT_GT_EQ] = ACTIONS(1856),
    [anon_sym_LT_LT_EQ] = ACTIONS(1856),
    [anon_sym_CARET_EQ] = ACTIONS(1856),
    [anon_sym_QMARK] = ACTIONS(1858),
    [anon_sym_DOT_DOT] = ACTIONS(1858),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1856),
    [anon_sym_and] = ACTIONS(1858),
    [anon_sym_or] = ACTIONS(1858),
    [anon_sym_PIPE_PIPE] = ACTIONS(1858),
    [anon_sym_AMP_AMP] = ACTIONS(1858),
    [anon_sym_LT_LT] = ACTIONS(1858),
    [anon_sym_GT_GT] = ACTIONS(1858),
    [anon_sym_EQ_EQ] = ACTIONS(1858),
    [anon_sym_BANG_EQ] = ACTIONS(1856),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1856),
    [anon_sym_LT_EQ_GT] = ACTIONS(1856),
    [anon_sym_EQ_TILDE] = ACTIONS(1856),
    [anon_sym_BANG_TILDE] = ACTIONS(1856),
    [anon_sym_LT_EQ] = ACTIONS(1858),
    [anon_sym_GT] = ACTIONS(1858),
    [anon_sym_GT_EQ] = ACTIONS(1856),
    [anon_sym_CARET] = ACTIONS(1858),
    [anon_sym_PLUS] = ACTIONS(1858),
    [anon_sym_SLASH] = ACTIONS(1858),
    [anon_sym_PERCENT] = ACTIONS(1858),
    [anon_sym_defined_QMARK] = ACTIONS(1856),
    [anon_sym_not] = ACTIONS(1858),
    [anon_sym_BANG] = ACTIONS(1858),
    [anon_sym_TILDE] = ACTIONS(1856),
    [sym_constant] = ACTIONS(7124),
    [sym_identifier] = ACTIONS(7124),
    [sym_instance_variable] = ACTIONS(1858),
    [sym_class_variable] = ACTIONS(1858),
    [sym_global_variable] = ACTIONS(1858),
    [anon_sym_alias] = ACTIONS(1858),
    [anon_sym_defined] = ACTIONS(1858),
    [anon_sym_false] = ACTIONS(1858),
    [anon_sym_nil] = ACTIONS(1858),
    [anon_sym_self] = ACTIONS(1858),
    [anon_sym_super] = ACTIONS(1858),
    [anon_sym_true] = ACTIONS(1858),
    [anon_sym_undef] = ACTIONS(1858),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1858),
    [sym_float] = ACTIONS(7124),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1856),
    [anon_sym_TRUE] = ACTIONS(1858),
    [anon_sym_FALSE] = ACTIONS(1858),
    [anon_sym_NIL] = ACTIONS(1858),
    [sym_keyword__FILE__] = ACTIONS(1858),
    [sym_keyword__LINE__] = ACTIONS(1858),
    [sym_keyword__ENCODING__] = ACTIONS(1858),
    [sym__character_literal] = ACTIONS(1858),
    [anon_sym_LBRACK] = ACTIONS(1856),
    [anon_sym_DASH_GT] = ACTIONS(1856),
  },
  [8533] = {
    [sym__simple_string] = ACTIONS(7126),
    [sym__simple_symbol] = ACTIONS(7126),
    [sym__simple_subshell] = ACTIONS(7126),
    [sym__simple_regex] = ACTIONS(7126),
    [sym__simple_word_list] = ACTIONS(7126),
    [sym__simple_heredoc_body] = ACTIONS(7126),
    [sym__string_beginning] = ACTIONS(7126),
    [sym__symbol_beginning] = ACTIONS(7126),
    [sym__subshell_beginning] = ACTIONS(7126),
    [sym__regex_beginning] = ACTIONS(7126),
    [sym__word_list_beginning] = ACTIONS(7126),
    [sym__heredoc_body_beginning] = ACTIONS(7126),
    [sym__string_middle] = ACTIONS(7126),
    [sym__string_end] = ACTIONS(7126),
    [sym_heredoc_beginning] = ACTIONS(7126),
    [sym__element_reference_left_bracket] = ACTIONS(7126),
    [sym__block_ampersand] = ACTIONS(7126),
    [sym__splat_star] = ACTIONS(7126),
    [sym__argument_list_left_paren] = ACTIONS(7126),
    [sym__scope_double_colon] = ACTIONS(7126),
    [sym__unary_minus] = ACTIONS(7126),
    [sym__binary_minus] = ACTIONS(7126),
    [sym__binary_star] = ACTIONS(7126),
    [anon_sym_LBRACE] = ACTIONS(7126),
    [anon_sym_def] = ACTIONS(7128),
    [anon_sym_LPAREN] = ACTIONS(7126),
    [anon_sym_DOT] = ACTIONS(7128),
    [anon_sym_COLON_COLON] = ACTIONS(7126),
    [anon_sym_end] = ACTIONS(7128),
    [anon_sym_COMMA] = ACTIONS(7126),
    [anon_sym_PIPE] = ACTIONS(7128),
    [anon_sym_STAR] = ACTIONS(7128),
    [anon_sym_STAR_STAR] = ACTIONS(7128),
    [anon_sym_AMP] = ACTIONS(7128),
    [anon_sym_EQ] = ACTIONS(7128),
    [anon_sym_class] = ACTIONS(7128),
    [anon_sym_LT] = ACTIONS(7128),
    [anon_sym_module] = ACTIONS(7128),
    [anon_sym_return] = ACTIONS(7128),
    [anon_sym_yield] = ACTIONS(7128),
    [anon_sym_break] = ACTIONS(7128),
    [anon_sym_next] = ACTIONS(7128),
    [anon_sym_redo] = ACTIONS(7128),
    [anon_sym_retry] = ACTIONS(7128),
    [anon_sym_if] = ACTIONS(7128),
    [anon_sym_unless] = ACTIONS(7128),
    [anon_sym_while] = ACTIONS(7128),
    [anon_sym_until] = ACTIONS(7128),
    [anon_sym_rescue] = ACTIONS(7128),
    [anon_sym_for] = ACTIONS(7128),
    [anon_sym_in] = ACTIONS(7128),
    [anon_sym_do] = ACTIONS(7128),
    [anon_sym_case] = ACTIONS(7128),
    [anon_sym_when] = ACTIONS(7128),
    [anon_sym_elsif] = ACTIONS(7128),
    [anon_sym_else] = ACTIONS(7128),
    [anon_sym_then] = ACTIONS(7128),
    [anon_sym_begin] = ACTIONS(7128),
    [anon_sym_ensure] = ACTIONS(7128),
    [anon_sym_AMP_DOT] = ACTIONS(7126),
    [anon_sym_PLUS_EQ] = ACTIONS(7126),
    [anon_sym_DASH_EQ] = ACTIONS(7126),
    [anon_sym_STAR_EQ] = ACTIONS(7126),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7126),
    [anon_sym_SLASH_EQ] = ACTIONS(7126),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7126),
    [anon_sym_PIPE_EQ] = ACTIONS(7126),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7126),
    [anon_sym_AMP_EQ] = ACTIONS(7126),
    [anon_sym_PERCENT_EQ] = ACTIONS(7126),
    [anon_sym_GT_GT_EQ] = ACTIONS(7126),
    [anon_sym_LT_LT_EQ] = ACTIONS(7126),
    [anon_sym_CARET_EQ] = ACTIONS(7126),
    [anon_sym_QMARK] = ACTIONS(7128),
    [anon_sym_DOT_DOT] = ACTIONS(7128),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7126),
    [anon_sym_and] = ACTIONS(7128),
    [anon_sym_or] = ACTIONS(7128),
    [anon_sym_PIPE_PIPE] = ACTIONS(7128),
    [anon_sym_AMP_AMP] = ACTIONS(7128),
    [anon_sym_LT_LT] = ACTIONS(7128),
    [anon_sym_GT_GT] = ACTIONS(7128),
    [anon_sym_EQ_EQ] = ACTIONS(7128),
    [anon_sym_BANG_EQ] = ACTIONS(7126),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7126),
    [anon_sym_LT_EQ_GT] = ACTIONS(7126),
    [anon_sym_EQ_TILDE] = ACTIONS(7126),
    [anon_sym_BANG_TILDE] = ACTIONS(7126),
    [anon_sym_LT_EQ] = ACTIONS(7128),
    [anon_sym_GT] = ACTIONS(7128),
    [anon_sym_GT_EQ] = ACTIONS(7126),
    [anon_sym_CARET] = ACTIONS(7128),
    [anon_sym_PLUS] = ACTIONS(7128),
    [anon_sym_SLASH] = ACTIONS(7128),
    [anon_sym_PERCENT] = ACTIONS(7128),
    [anon_sym_defined_QMARK] = ACTIONS(7126),
    [anon_sym_not] = ACTIONS(7128),
    [anon_sym_BANG] = ACTIONS(7128),
    [anon_sym_TILDE] = ACTIONS(7126),
    [sym_constant] = ACTIONS(7130),
    [sym_identifier] = ACTIONS(7130),
    [sym_instance_variable] = ACTIONS(7128),
    [sym_class_variable] = ACTIONS(7128),
    [sym_global_variable] = ACTIONS(7128),
    [anon_sym_alias] = ACTIONS(7128),
    [anon_sym_defined] = ACTIONS(7128),
    [anon_sym_false] = ACTIONS(7128),
    [anon_sym_nil] = ACTIONS(7128),
    [anon_sym_self] = ACTIONS(7128),
    [anon_sym_super] = ACTIONS(7128),
    [anon_sym_true] = ACTIONS(7128),
    [anon_sym_undef] = ACTIONS(7128),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(7128),
    [sym_float] = ACTIONS(7130),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(7126),
    [anon_sym_TRUE] = ACTIONS(7128),
    [anon_sym_FALSE] = ACTIONS(7128),
    [anon_sym_NIL] = ACTIONS(7128),
    [sym_keyword__FILE__] = ACTIONS(7128),
    [sym_keyword__LINE__] = ACTIONS(7128),
    [sym_keyword__ENCODING__] = ACTIONS(7128),
    [sym__character_literal] = ACTIONS(7128),
    [anon_sym_LBRACK] = ACTIONS(7126),
    [anon_sym_DASH_GT] = ACTIONS(7126),
  },
  [8534] = {
    [sym__simple_string] = ACTIONS(7132),
    [sym__simple_symbol] = ACTIONS(7132),
    [sym__simple_subshell] = ACTIONS(7132),
    [sym__simple_regex] = ACTIONS(7132),
    [sym__simple_word_list] = ACTIONS(7132),
    [sym__simple_heredoc_body] = ACTIONS(7132),
    [sym__string_beginning] = ACTIONS(7132),
    [sym__symbol_beginning] = ACTIONS(7132),
    [sym__subshell_beginning] = ACTIONS(7132),
    [sym__regex_beginning] = ACTIONS(7132),
    [sym__word_list_beginning] = ACTIONS(7132),
    [sym__heredoc_body_beginning] = ACTIONS(7132),
    [sym__string_middle] = ACTIONS(7132),
    [sym__string_end] = ACTIONS(7132),
    [sym_heredoc_beginning] = ACTIONS(7132),
    [sym__element_reference_left_bracket] = ACTIONS(7132),
    [sym__block_ampersand] = ACTIONS(7132),
    [sym__splat_star] = ACTIONS(7132),
    [sym__argument_list_left_paren] = ACTIONS(7132),
    [sym__scope_double_colon] = ACTIONS(7132),
    [sym__unary_minus] = ACTIONS(7132),
    [sym__binary_minus] = ACTIONS(7132),
    [sym__binary_star] = ACTIONS(7132),
    [anon_sym_LBRACE] = ACTIONS(7132),
    [anon_sym_def] = ACTIONS(7134),
    [anon_sym_LPAREN] = ACTIONS(7132),
    [anon_sym_DOT] = ACTIONS(7134),
    [anon_sym_COLON_COLON] = ACTIONS(7132),
    [anon_sym_end] = ACTIONS(7134),
    [anon_sym_COMMA] = ACTIONS(7132),
    [anon_sym_PIPE] = ACTIONS(7134),
    [anon_sym_STAR] = ACTIONS(7134),
    [anon_sym_STAR_STAR] = ACTIONS(7134),
    [anon_sym_AMP] = ACTIONS(7134),
    [anon_sym_EQ] = ACTIONS(7134),
    [anon_sym_class] = ACTIONS(7134),
    [anon_sym_LT] = ACTIONS(7134),
    [anon_sym_module] = ACTIONS(7134),
    [anon_sym_return] = ACTIONS(7134),
    [anon_sym_yield] = ACTIONS(7134),
    [anon_sym_break] = ACTIONS(7134),
    [anon_sym_next] = ACTIONS(7134),
    [anon_sym_redo] = ACTIONS(7134),
    [anon_sym_retry] = ACTIONS(7134),
    [anon_sym_if] = ACTIONS(7134),
    [anon_sym_unless] = ACTIONS(7134),
    [anon_sym_while] = ACTIONS(7134),
    [anon_sym_until] = ACTIONS(7134),
    [anon_sym_rescue] = ACTIONS(7134),
    [anon_sym_for] = ACTIONS(7134),
    [anon_sym_in] = ACTIONS(7134),
    [anon_sym_do] = ACTIONS(7134),
    [anon_sym_case] = ACTIONS(7134),
    [anon_sym_when] = ACTIONS(7134),
    [anon_sym_elsif] = ACTIONS(7134),
    [anon_sym_else] = ACTIONS(7134),
    [anon_sym_then] = ACTIONS(7134),
    [anon_sym_begin] = ACTIONS(7134),
    [anon_sym_ensure] = ACTIONS(7134),
    [anon_sym_AMP_DOT] = ACTIONS(7132),
    [anon_sym_PLUS_EQ] = ACTIONS(7132),
    [anon_sym_DASH_EQ] = ACTIONS(7132),
    [anon_sym_STAR_EQ] = ACTIONS(7132),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7132),
    [anon_sym_SLASH_EQ] = ACTIONS(7132),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7132),
    [anon_sym_PIPE_EQ] = ACTIONS(7132),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7132),
    [anon_sym_AMP_EQ] = ACTIONS(7132),
    [anon_sym_PERCENT_EQ] = ACTIONS(7132),
    [anon_sym_GT_GT_EQ] = ACTIONS(7132),
    [anon_sym_LT_LT_EQ] = ACTIONS(7132),
    [anon_sym_CARET_EQ] = ACTIONS(7132),
    [anon_sym_QMARK] = ACTIONS(7134),
    [anon_sym_DOT_DOT] = ACTIONS(7134),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7132),
    [anon_sym_and] = ACTIONS(7134),
    [anon_sym_or] = ACTIONS(7134),
    [anon_sym_PIPE_PIPE] = ACTIONS(7134),
    [anon_sym_AMP_AMP] = ACTIONS(7134),
    [anon_sym_LT_LT] = ACTIONS(7134),
    [anon_sym_GT_GT] = ACTIONS(7134),
    [anon_sym_EQ_EQ] = ACTIONS(7134),
    [anon_sym_BANG_EQ] = ACTIONS(7132),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7132),
    [anon_sym_LT_EQ_GT] = ACTIONS(7132),
    [anon_sym_EQ_TILDE] = ACTIONS(7132),
    [anon_sym_BANG_TILDE] = ACTIONS(7132),
    [anon_sym_LT_EQ] = ACTIONS(7134),
    [anon_sym_GT] = ACTIONS(7134),
    [anon_sym_GT_EQ] = ACTIONS(7132),
    [anon_sym_CARET] = ACTIONS(7134),
    [anon_sym_PLUS] = ACTIONS(7134),
    [anon_sym_SLASH] = ACTIONS(7134),
    [anon_sym_PERCENT] = ACTIONS(7134),
    [anon_sym_defined_QMARK] = ACTIONS(7132),
    [anon_sym_not] = ACTIONS(7134),
    [anon_sym_BANG] = ACTIONS(7134),
    [anon_sym_TILDE] = ACTIONS(7132),
    [sym_constant] = ACTIONS(7136),
    [sym_identifier] = ACTIONS(7136),
    [sym_instance_variable] = ACTIONS(7134),
    [sym_class_variable] = ACTIONS(7134),
    [sym_global_variable] = ACTIONS(7134),
    [anon_sym_alias] = ACTIONS(7134),
    [anon_sym_defined] = ACTIONS(7134),
    [anon_sym_false] = ACTIONS(7134),
    [anon_sym_nil] = ACTIONS(7134),
    [anon_sym_self] = ACTIONS(7134),
    [anon_sym_super] = ACTIONS(7134),
    [anon_sym_true] = ACTIONS(7134),
    [anon_sym_undef] = ACTIONS(7134),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(7134),
    [sym_float] = ACTIONS(7136),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(7132),
    [anon_sym_TRUE] = ACTIONS(7134),
    [anon_sym_FALSE] = ACTIONS(7134),
    [anon_sym_NIL] = ACTIONS(7134),
    [sym_keyword__FILE__] = ACTIONS(7134),
    [sym_keyword__LINE__] = ACTIONS(7134),
    [sym_keyword__ENCODING__] = ACTIONS(7134),
    [sym__character_literal] = ACTIONS(7134),
    [anon_sym_LBRACK] = ACTIONS(7132),
    [anon_sym_DASH_GT] = ACTIONS(7132),
  },
  [8535] = {
    [anon_sym_RBRACE] = ACTIONS(14316),
    [sym_comment] = ACTIONS(110),
  },
  [8536] = {
    [sym__statements] = STATE(11328),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(841),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(14316),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8537] = {
    [sym__simple_heredoc_body] = ACTIONS(6942),
    [sym__heredoc_body_beginning] = ACTIONS(6942),
    [sym__string_middle] = ACTIONS(6942),
    [sym__string_end] = ACTIONS(6942),
    [sym__element_reference_left_bracket] = ACTIONS(6942),
    [sym__scope_double_colon] = ACTIONS(6942),
    [sym__binary_minus] = ACTIONS(6942),
    [sym__binary_star] = ACTIONS(6942),
    [anon_sym_LBRACE] = ACTIONS(6942),
    [anon_sym_DOT] = ACTIONS(6944),
    [anon_sym_COMMA] = ACTIONS(6942),
    [anon_sym_PIPE] = ACTIONS(6944),
    [anon_sym_STAR_STAR] = ACTIONS(6944),
    [anon_sym_AMP] = ACTIONS(6944),
    [anon_sym_EQ] = ACTIONS(6944),
    [anon_sym_LT] = ACTIONS(6944),
    [anon_sym_if] = ACTIONS(6942),
    [anon_sym_unless] = ACTIONS(6942),
    [anon_sym_while] = ACTIONS(6942),
    [anon_sym_until] = ACTIONS(6942),
    [anon_sym_rescue] = ACTIONS(6942),
    [anon_sym_do] = ACTIONS(6942),
    [anon_sym_AMP_DOT] = ACTIONS(6942),
    [anon_sym_PLUS_EQ] = ACTIONS(6942),
    [anon_sym_DASH_EQ] = ACTIONS(6942),
    [anon_sym_STAR_EQ] = ACTIONS(6942),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6942),
    [anon_sym_SLASH_EQ] = ACTIONS(6942),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6942),
    [anon_sym_PIPE_EQ] = ACTIONS(6942),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6942),
    [anon_sym_AMP_EQ] = ACTIONS(6942),
    [anon_sym_PERCENT_EQ] = ACTIONS(6942),
    [anon_sym_GT_GT_EQ] = ACTIONS(6942),
    [anon_sym_LT_LT_EQ] = ACTIONS(6942),
    [anon_sym_CARET_EQ] = ACTIONS(6942),
    [anon_sym_QMARK] = ACTIONS(6942),
    [anon_sym_DOT_DOT] = ACTIONS(6944),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6942),
    [anon_sym_and] = ACTIONS(6942),
    [anon_sym_or] = ACTIONS(6942),
    [anon_sym_PIPE_PIPE] = ACTIONS(6944),
    [anon_sym_AMP_AMP] = ACTIONS(6944),
    [anon_sym_LT_LT] = ACTIONS(6944),
    [anon_sym_GT_GT] = ACTIONS(6944),
    [anon_sym_EQ_EQ] = ACTIONS(6944),
    [anon_sym_BANG_EQ] = ACTIONS(6942),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6942),
    [anon_sym_LT_EQ_GT] = ACTIONS(6942),
    [anon_sym_EQ_TILDE] = ACTIONS(6942),
    [anon_sym_BANG_TILDE] = ACTIONS(6942),
    [anon_sym_LT_EQ] = ACTIONS(6944),
    [anon_sym_GT] = ACTIONS(6944),
    [anon_sym_GT_EQ] = ACTIONS(6942),
    [anon_sym_CARET] = ACTIONS(6944),
    [anon_sym_PLUS] = ACTIONS(6944),
    [anon_sym_SLASH] = ACTIONS(6944),
    [anon_sym_PERCENT] = ACTIONS(6944),
    [sym_comment] = ACTIONS(256),
  },
  [8538] = {
    [anon_sym_end] = ACTIONS(14318),
    [sym_comment] = ACTIONS(110),
  },
  [8539] = {
    [sym__statements] = STATE(11330),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(11331),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14320),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8540] = {
    [sym__statements] = STATE(11330),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(11332),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(11331),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14320),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8541] = {
    [sym__simple_heredoc_body] = ACTIONS(7290),
    [sym__heredoc_body_beginning] = ACTIONS(7290),
    [sym__string_middle] = ACTIONS(7290),
    [sym__string_end] = ACTIONS(7290),
    [sym__element_reference_left_bracket] = ACTIONS(7290),
    [sym__scope_double_colon] = ACTIONS(7290),
    [sym__binary_minus] = ACTIONS(7290),
    [sym__binary_star] = ACTIONS(7290),
    [anon_sym_LBRACE] = ACTIONS(7290),
    [anon_sym_DOT] = ACTIONS(7292),
    [anon_sym_COMMA] = ACTIONS(7290),
    [anon_sym_PIPE] = ACTIONS(7292),
    [anon_sym_STAR_STAR] = ACTIONS(7292),
    [anon_sym_AMP] = ACTIONS(7292),
    [anon_sym_EQ] = ACTIONS(7292),
    [anon_sym_LT] = ACTIONS(7292),
    [anon_sym_if] = ACTIONS(7290),
    [anon_sym_unless] = ACTIONS(7290),
    [anon_sym_while] = ACTIONS(7290),
    [anon_sym_until] = ACTIONS(7290),
    [anon_sym_rescue] = ACTIONS(7290),
    [anon_sym_do] = ACTIONS(7290),
    [anon_sym_AMP_DOT] = ACTIONS(7290),
    [anon_sym_PLUS_EQ] = ACTIONS(7290),
    [anon_sym_DASH_EQ] = ACTIONS(7290),
    [anon_sym_STAR_EQ] = ACTIONS(7290),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7290),
    [anon_sym_SLASH_EQ] = ACTIONS(7290),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7290),
    [anon_sym_PIPE_EQ] = ACTIONS(7290),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7290),
    [anon_sym_AMP_EQ] = ACTIONS(7290),
    [anon_sym_PERCENT_EQ] = ACTIONS(7290),
    [anon_sym_GT_GT_EQ] = ACTIONS(7290),
    [anon_sym_LT_LT_EQ] = ACTIONS(7290),
    [anon_sym_CARET_EQ] = ACTIONS(7290),
    [anon_sym_QMARK] = ACTIONS(7290),
    [anon_sym_DOT_DOT] = ACTIONS(7292),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7290),
    [anon_sym_and] = ACTIONS(7290),
    [anon_sym_or] = ACTIONS(7290),
    [anon_sym_PIPE_PIPE] = ACTIONS(7292),
    [anon_sym_AMP_AMP] = ACTIONS(7292),
    [anon_sym_LT_LT] = ACTIONS(7292),
    [anon_sym_GT_GT] = ACTIONS(7292),
    [anon_sym_EQ_EQ] = ACTIONS(7292),
    [anon_sym_BANG_EQ] = ACTIONS(7290),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7290),
    [anon_sym_LT_EQ_GT] = ACTIONS(7290),
    [anon_sym_EQ_TILDE] = ACTIONS(7290),
    [anon_sym_BANG_TILDE] = ACTIONS(7290),
    [anon_sym_LT_EQ] = ACTIONS(7292),
    [anon_sym_GT] = ACTIONS(7292),
    [anon_sym_GT_EQ] = ACTIONS(7290),
    [anon_sym_CARET] = ACTIONS(7292),
    [anon_sym_PLUS] = ACTIONS(7292),
    [anon_sym_SLASH] = ACTIONS(7292),
    [anon_sym_PERCENT] = ACTIONS(7292),
    [sym_comment] = ACTIONS(256),
  },
  [8542] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__string_middle] = ACTIONS(6346),
    [sym__string_end] = ACTIONS(6346),
    [sym__element_reference_left_bracket] = ACTIONS(6346),
    [sym__scope_double_colon] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(7382),
    [sym__binary_star] = ACTIONS(7384),
    [anon_sym_DOT] = ACTIONS(7328),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(7386),
    [anon_sym_STAR_STAR] = ACTIONS(7388),
    [anon_sym_AMP] = ACTIONS(7390),
    [anon_sym_LT] = ACTIONS(7392),
    [anon_sym_if] = ACTIONS(6346),
    [anon_sym_unless] = ACTIONS(6346),
    [anon_sym_while] = ACTIONS(6346),
    [anon_sym_until] = ACTIONS(6346),
    [anon_sym_rescue] = ACTIONS(6346),
    [anon_sym_AMP_DOT] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(7394),
    [anon_sym_DOT_DOT] = ACTIONS(7396),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7398),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(7400),
    [anon_sym_AMP_AMP] = ACTIONS(7400),
    [anon_sym_LT_LT] = ACTIONS(7402),
    [anon_sym_GT_GT] = ACTIONS(7402),
    [anon_sym_EQ_EQ] = ACTIONS(7404),
    [anon_sym_BANG_EQ] = ACTIONS(7400),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7400),
    [anon_sym_LT_EQ_GT] = ACTIONS(7400),
    [anon_sym_EQ_TILDE] = ACTIONS(7400),
    [anon_sym_BANG_TILDE] = ACTIONS(7400),
    [anon_sym_LT_EQ] = ACTIONS(7392),
    [anon_sym_GT] = ACTIONS(7392),
    [anon_sym_GT_EQ] = ACTIONS(7406),
    [anon_sym_CARET] = ACTIONS(7408),
    [anon_sym_PLUS] = ACTIONS(7410),
    [anon_sym_SLASH] = ACTIONS(7388),
    [anon_sym_PERCENT] = ACTIONS(7388),
    [sym_comment] = ACTIONS(110),
  },
  [8543] = {
    [aux_sym_exceptions_repeat1] = STATE(11334),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__string_middle] = ACTIONS(7330),
    [sym__string_end] = ACTIONS(7330),
    [sym__element_reference_left_bracket] = ACTIONS(7330),
    [sym__scope_double_colon] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_DOT] = ACTIONS(7332),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_if] = ACTIONS(7330),
    [anon_sym_unless] = ACTIONS(7330),
    [anon_sym_while] = ACTIONS(7330),
    [anon_sym_until] = ACTIONS(7330),
    [anon_sym_rescue] = ACTIONS(7330),
    [anon_sym_AMP_DOT] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [8544] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__string_middle] = ACTIONS(7344),
    [sym__string_end] = ACTIONS(7344),
    [sym__element_reference_left_bracket] = ACTIONS(7344),
    [sym__scope_double_colon] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(7382),
    [sym__binary_star] = ACTIONS(7384),
    [anon_sym_DOT] = ACTIONS(9504),
    [anon_sym_COMMA] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(7386),
    [anon_sym_STAR_STAR] = ACTIONS(7388),
    [anon_sym_AMP] = ACTIONS(7390),
    [anon_sym_LT] = ACTIONS(7392),
    [anon_sym_if] = ACTIONS(7344),
    [anon_sym_unless] = ACTIONS(7344),
    [anon_sym_while] = ACTIONS(7344),
    [anon_sym_until] = ACTIONS(7344),
    [anon_sym_rescue] = ACTIONS(7344),
    [anon_sym_AMP_DOT] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(7394),
    [anon_sym_DOT_DOT] = ACTIONS(7396),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7398),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(7400),
    [anon_sym_AMP_AMP] = ACTIONS(7400),
    [anon_sym_LT_LT] = ACTIONS(7402),
    [anon_sym_GT_GT] = ACTIONS(7402),
    [anon_sym_EQ_EQ] = ACTIONS(7404),
    [anon_sym_BANG_EQ] = ACTIONS(7400),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7400),
    [anon_sym_LT_EQ_GT] = ACTIONS(7400),
    [anon_sym_EQ_TILDE] = ACTIONS(7400),
    [anon_sym_BANG_TILDE] = ACTIONS(7400),
    [anon_sym_LT_EQ] = ACTIONS(7392),
    [anon_sym_GT] = ACTIONS(7392),
    [anon_sym_GT_EQ] = ACTIONS(7406),
    [anon_sym_CARET] = ACTIONS(7408),
    [anon_sym_PLUS] = ACTIONS(7410),
    [anon_sym_SLASH] = ACTIONS(7388),
    [anon_sym_PERCENT] = ACTIONS(7388),
    [sym_comment] = ACTIONS(110),
  },
  [8545] = {
    [sym__simple_heredoc_body] = ACTIONS(12768),
    [sym__heredoc_body_beginning] = ACTIONS(12768),
    [sym__string_middle] = ACTIONS(12768),
    [sym__string_end] = ACTIONS(12768),
    [sym__element_reference_left_bracket] = ACTIONS(12768),
    [sym__scope_double_colon] = ACTIONS(12768),
    [sym__binary_minus] = ACTIONS(12768),
    [sym__binary_star] = ACTIONS(12768),
    [anon_sym_DOT] = ACTIONS(12770),
    [anon_sym_COMMA] = ACTIONS(12768),
    [anon_sym_PIPE] = ACTIONS(12770),
    [anon_sym_STAR_STAR] = ACTIONS(12768),
    [anon_sym_AMP] = ACTIONS(12770),
    [anon_sym_LT] = ACTIONS(12770),
    [anon_sym_if] = ACTIONS(12768),
    [anon_sym_unless] = ACTIONS(12768),
    [anon_sym_while] = ACTIONS(12768),
    [anon_sym_until] = ACTIONS(12768),
    [anon_sym_rescue] = ACTIONS(12768),
    [anon_sym_EQ_GT] = ACTIONS(12768),
    [anon_sym_AMP_DOT] = ACTIONS(12768),
    [anon_sym_QMARK] = ACTIONS(12768),
    [anon_sym_DOT_DOT] = ACTIONS(12770),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12768),
    [anon_sym_and] = ACTIONS(12768),
    [anon_sym_or] = ACTIONS(12768),
    [anon_sym_PIPE_PIPE] = ACTIONS(12768),
    [anon_sym_AMP_AMP] = ACTIONS(12768),
    [anon_sym_LT_LT] = ACTIONS(12768),
    [anon_sym_GT_GT] = ACTIONS(12768),
    [anon_sym_EQ_EQ] = ACTIONS(12770),
    [anon_sym_BANG_EQ] = ACTIONS(12768),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12768),
    [anon_sym_LT_EQ_GT] = ACTIONS(12768),
    [anon_sym_EQ_TILDE] = ACTIONS(12768),
    [anon_sym_BANG_TILDE] = ACTIONS(12768),
    [anon_sym_LT_EQ] = ACTIONS(12770),
    [anon_sym_GT] = ACTIONS(12770),
    [anon_sym_GT_EQ] = ACTIONS(12768),
    [anon_sym_CARET] = ACTIONS(12768),
    [anon_sym_PLUS] = ACTIONS(12768),
    [anon_sym_SLASH] = ACTIONS(12768),
    [anon_sym_PERCENT] = ACTIONS(12768),
    [sym_comment] = ACTIONS(110),
  },
  [8546] = {
    [sym__simple_heredoc_body] = ACTIONS(8664),
    [sym__heredoc_body_beginning] = ACTIONS(8664),
    [sym__string_middle] = ACTIONS(8664),
    [sym__string_end] = ACTIONS(8664),
    [sym__element_reference_left_bracket] = ACTIONS(8664),
    [sym__scope_double_colon] = ACTIONS(8664),
    [sym__binary_minus] = ACTIONS(8664),
    [sym__binary_star] = ACTIONS(8664),
    [anon_sym_DOT] = ACTIONS(8666),
    [anon_sym_COMMA] = ACTIONS(8664),
    [anon_sym_PIPE] = ACTIONS(8666),
    [anon_sym_STAR_STAR] = ACTIONS(8664),
    [anon_sym_AMP] = ACTIONS(8666),
    [anon_sym_LT] = ACTIONS(8666),
    [anon_sym_if] = ACTIONS(8664),
    [anon_sym_unless] = ACTIONS(8664),
    [anon_sym_while] = ACTIONS(8664),
    [anon_sym_until] = ACTIONS(8664),
    [anon_sym_rescue] = ACTIONS(8664),
    [anon_sym_EQ_GT] = ACTIONS(8664),
    [anon_sym_AMP_DOT] = ACTIONS(8664),
    [anon_sym_QMARK] = ACTIONS(8664),
    [anon_sym_DOT_DOT] = ACTIONS(8666),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8664),
    [anon_sym_and] = ACTIONS(8664),
    [anon_sym_or] = ACTIONS(8664),
    [anon_sym_PIPE_PIPE] = ACTIONS(8664),
    [anon_sym_AMP_AMP] = ACTIONS(8664),
    [anon_sym_LT_LT] = ACTIONS(8664),
    [anon_sym_GT_GT] = ACTIONS(8664),
    [anon_sym_EQ_EQ] = ACTIONS(8666),
    [anon_sym_BANG_EQ] = ACTIONS(8664),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8664),
    [anon_sym_LT_EQ_GT] = ACTIONS(8664),
    [anon_sym_EQ_TILDE] = ACTIONS(8664),
    [anon_sym_BANG_TILDE] = ACTIONS(8664),
    [anon_sym_LT_EQ] = ACTIONS(8666),
    [anon_sym_GT] = ACTIONS(8666),
    [anon_sym_GT_EQ] = ACTIONS(8664),
    [anon_sym_CARET] = ACTIONS(8664),
    [anon_sym_PLUS] = ACTIONS(8664),
    [anon_sym_SLASH] = ACTIONS(8664),
    [anon_sym_PERCENT] = ACTIONS(8664),
    [sym_comment] = ACTIONS(110),
  },
  [8547] = {
    [anon_sym_DOT] = ACTIONS(14322),
    [anon_sym_COLON_COLON] = ACTIONS(14322),
    [sym_comment] = ACTIONS(110),
  },
  [8548] = {
    [sym__simple_heredoc_body] = ACTIONS(8832),
    [sym__heredoc_body_beginning] = ACTIONS(8832),
    [sym__string_middle] = ACTIONS(8832),
    [sym__string_end] = ACTIONS(8832),
    [sym__element_reference_left_bracket] = ACTIONS(8832),
    [sym__scope_double_colon] = ACTIONS(8832),
    [sym__binary_minus] = ACTIONS(8832),
    [sym__binary_star] = ACTIONS(8832),
    [anon_sym_DOT] = ACTIONS(8834),
    [anon_sym_COMMA] = ACTIONS(8832),
    [anon_sym_PIPE] = ACTIONS(8834),
    [anon_sym_STAR_STAR] = ACTIONS(8832),
    [anon_sym_AMP] = ACTIONS(8834),
    [anon_sym_LT] = ACTIONS(8834),
    [anon_sym_if] = ACTIONS(8832),
    [anon_sym_unless] = ACTIONS(8832),
    [anon_sym_while] = ACTIONS(8832),
    [anon_sym_until] = ACTIONS(8832),
    [anon_sym_rescue] = ACTIONS(8832),
    [anon_sym_EQ_GT] = ACTIONS(8832),
    [anon_sym_AMP_DOT] = ACTIONS(8832),
    [anon_sym_QMARK] = ACTIONS(8832),
    [anon_sym_DOT_DOT] = ACTIONS(8834),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8832),
    [anon_sym_and] = ACTIONS(8832),
    [anon_sym_or] = ACTIONS(8832),
    [anon_sym_PIPE_PIPE] = ACTIONS(8832),
    [anon_sym_AMP_AMP] = ACTIONS(8832),
    [anon_sym_LT_LT] = ACTIONS(8832),
    [anon_sym_GT_GT] = ACTIONS(8832),
    [anon_sym_EQ_EQ] = ACTIONS(8834),
    [anon_sym_BANG_EQ] = ACTIONS(8832),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8832),
    [anon_sym_LT_EQ_GT] = ACTIONS(8832),
    [anon_sym_EQ_TILDE] = ACTIONS(8832),
    [anon_sym_BANG_TILDE] = ACTIONS(8832),
    [anon_sym_LT_EQ] = ACTIONS(8834),
    [anon_sym_GT] = ACTIONS(8834),
    [anon_sym_GT_EQ] = ACTIONS(8832),
    [anon_sym_CARET] = ACTIONS(8832),
    [anon_sym_PLUS] = ACTIONS(8832),
    [anon_sym_SLASH] = ACTIONS(8832),
    [anon_sym_PERCENT] = ACTIONS(8832),
    [sym_comment] = ACTIONS(110),
  },
  [8549] = {
    [sym__simple_heredoc_body] = ACTIONS(8858),
    [sym__heredoc_body_beginning] = ACTIONS(8858),
    [sym__string_middle] = ACTIONS(8858),
    [sym__string_end] = ACTIONS(8858),
    [sym__element_reference_left_bracket] = ACTIONS(8858),
    [sym__scope_double_colon] = ACTIONS(8858),
    [sym__binary_minus] = ACTIONS(8858),
    [sym__binary_star] = ACTIONS(8858),
    [anon_sym_DOT] = ACTIONS(8860),
    [anon_sym_COMMA] = ACTIONS(8858),
    [anon_sym_PIPE] = ACTIONS(8860),
    [anon_sym_STAR_STAR] = ACTIONS(8858),
    [anon_sym_AMP] = ACTIONS(8860),
    [anon_sym_LT] = ACTIONS(8860),
    [anon_sym_if] = ACTIONS(8858),
    [anon_sym_unless] = ACTIONS(8858),
    [anon_sym_while] = ACTIONS(8858),
    [anon_sym_until] = ACTIONS(8858),
    [anon_sym_rescue] = ACTIONS(8858),
    [anon_sym_EQ_GT] = ACTIONS(8858),
    [anon_sym_AMP_DOT] = ACTIONS(8858),
    [anon_sym_QMARK] = ACTIONS(8858),
    [anon_sym_DOT_DOT] = ACTIONS(8860),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8858),
    [anon_sym_and] = ACTIONS(8858),
    [anon_sym_or] = ACTIONS(8858),
    [anon_sym_PIPE_PIPE] = ACTIONS(8858),
    [anon_sym_AMP_AMP] = ACTIONS(8858),
    [anon_sym_LT_LT] = ACTIONS(8858),
    [anon_sym_GT_GT] = ACTIONS(8858),
    [anon_sym_EQ_EQ] = ACTIONS(8860),
    [anon_sym_BANG_EQ] = ACTIONS(8858),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8858),
    [anon_sym_LT_EQ_GT] = ACTIONS(8858),
    [anon_sym_EQ_TILDE] = ACTIONS(8858),
    [anon_sym_BANG_TILDE] = ACTIONS(8858),
    [anon_sym_LT_EQ] = ACTIONS(8860),
    [anon_sym_GT] = ACTIONS(8860),
    [anon_sym_GT_EQ] = ACTIONS(8858),
    [anon_sym_CARET] = ACTIONS(8858),
    [anon_sym_PLUS] = ACTIONS(8858),
    [anon_sym_SLASH] = ACTIONS(8858),
    [anon_sym_PERCENT] = ACTIONS(8858),
    [sym_comment] = ACTIONS(110),
  },
  [8550] = {
    [anon_sym_end] = ACTIONS(14324),
    [sym_comment] = ACTIONS(110),
  },
  [8551] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(11338),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14326),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8552] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(11340),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14328),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8553] = {
    [sym__simple_heredoc_body] = ACTIONS(9340),
    [sym__heredoc_body_beginning] = ACTIONS(9340),
    [sym__string_middle] = ACTIONS(9340),
    [sym__string_end] = ACTIONS(9340),
    [sym__element_reference_left_bracket] = ACTIONS(9340),
    [sym__scope_double_colon] = ACTIONS(9340),
    [sym__binary_minus] = ACTIONS(9340),
    [sym__binary_star] = ACTIONS(9340),
    [anon_sym_DOT] = ACTIONS(9342),
    [anon_sym_COMMA] = ACTIONS(9340),
    [anon_sym_PIPE] = ACTIONS(9342),
    [anon_sym_STAR_STAR] = ACTIONS(9340),
    [anon_sym_AMP] = ACTIONS(9342),
    [anon_sym_LT] = ACTIONS(9342),
    [anon_sym_if] = ACTIONS(9340),
    [anon_sym_unless] = ACTIONS(9340),
    [anon_sym_while] = ACTIONS(9340),
    [anon_sym_until] = ACTIONS(9340),
    [anon_sym_rescue] = ACTIONS(9340),
    [anon_sym_EQ_GT] = ACTIONS(9340),
    [anon_sym_AMP_DOT] = ACTIONS(9340),
    [anon_sym_QMARK] = ACTIONS(9340),
    [anon_sym_DOT_DOT] = ACTIONS(9342),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9340),
    [anon_sym_and] = ACTIONS(9340),
    [anon_sym_or] = ACTIONS(9340),
    [anon_sym_PIPE_PIPE] = ACTIONS(9340),
    [anon_sym_AMP_AMP] = ACTIONS(9340),
    [anon_sym_LT_LT] = ACTIONS(9340),
    [anon_sym_GT_GT] = ACTIONS(9340),
    [anon_sym_EQ_EQ] = ACTIONS(9342),
    [anon_sym_BANG_EQ] = ACTIONS(9340),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9340),
    [anon_sym_LT_EQ_GT] = ACTIONS(9340),
    [anon_sym_EQ_TILDE] = ACTIONS(9340),
    [anon_sym_BANG_TILDE] = ACTIONS(9340),
    [anon_sym_LT_EQ] = ACTIONS(9342),
    [anon_sym_GT] = ACTIONS(9342),
    [anon_sym_GT_EQ] = ACTIONS(9340),
    [anon_sym_CARET] = ACTIONS(9340),
    [anon_sym_PLUS] = ACTIONS(9340),
    [anon_sym_SLASH] = ACTIONS(9340),
    [anon_sym_PERCENT] = ACTIONS(9340),
    [sym_comment] = ACTIONS(110),
  },
  [8554] = {
    [anon_sym_end] = ACTIONS(14330),
    [sym_comment] = ACTIONS(110),
  },
  [8555] = {
    [sym__simple_heredoc_body] = ACTIONS(9398),
    [sym__heredoc_body_beginning] = ACTIONS(9398),
    [sym__string_middle] = ACTIONS(9398),
    [sym__string_end] = ACTIONS(9398),
    [sym__element_reference_left_bracket] = ACTIONS(9398),
    [sym__scope_double_colon] = ACTIONS(9398),
    [sym__binary_minus] = ACTIONS(9398),
    [sym__binary_star] = ACTIONS(9398),
    [anon_sym_DOT] = ACTIONS(9400),
    [anon_sym_COMMA] = ACTIONS(9398),
    [anon_sym_PIPE] = ACTIONS(9400),
    [anon_sym_STAR_STAR] = ACTIONS(9398),
    [anon_sym_AMP] = ACTIONS(9400),
    [anon_sym_LT] = ACTIONS(9400),
    [anon_sym_if] = ACTIONS(9398),
    [anon_sym_unless] = ACTIONS(9398),
    [anon_sym_while] = ACTIONS(9398),
    [anon_sym_until] = ACTIONS(9398),
    [anon_sym_rescue] = ACTIONS(9398),
    [anon_sym_EQ_GT] = ACTIONS(9398),
    [anon_sym_AMP_DOT] = ACTIONS(9398),
    [anon_sym_QMARK] = ACTIONS(9398),
    [anon_sym_DOT_DOT] = ACTIONS(9400),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9398),
    [anon_sym_and] = ACTIONS(9398),
    [anon_sym_or] = ACTIONS(9398),
    [anon_sym_PIPE_PIPE] = ACTIONS(9398),
    [anon_sym_AMP_AMP] = ACTIONS(9398),
    [anon_sym_LT_LT] = ACTIONS(9398),
    [anon_sym_GT_GT] = ACTIONS(9398),
    [anon_sym_EQ_EQ] = ACTIONS(9400),
    [anon_sym_BANG_EQ] = ACTIONS(9398),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9398),
    [anon_sym_LT_EQ_GT] = ACTIONS(9398),
    [anon_sym_EQ_TILDE] = ACTIONS(9398),
    [anon_sym_BANG_TILDE] = ACTIONS(9398),
    [anon_sym_LT_EQ] = ACTIONS(9400),
    [anon_sym_GT] = ACTIONS(9400),
    [anon_sym_GT_EQ] = ACTIONS(9398),
    [anon_sym_CARET] = ACTIONS(9398),
    [anon_sym_PLUS] = ACTIONS(9398),
    [anon_sym_SLASH] = ACTIONS(9398),
    [anon_sym_PERCENT] = ACTIONS(9398),
    [sym_comment] = ACTIONS(110),
  },
  [8556] = {
    [anon_sym_end] = ACTIONS(14332),
    [sym_comment] = ACTIONS(110),
  },
  [8557] = {
    [sym__simple_heredoc_body] = ACTIONS(8568),
    [sym__heredoc_body_beginning] = ACTIONS(8568),
    [sym__string_middle] = ACTIONS(8568),
    [sym__string_end] = ACTIONS(8568),
    [sym__element_reference_left_bracket] = ACTIONS(8568),
    [sym__scope_double_colon] = ACTIONS(8568),
    [sym__binary_minus] = ACTIONS(3526),
    [sym__binary_star] = ACTIONS(3528),
    [anon_sym_DOT] = ACTIONS(9468),
    [anon_sym_COMMA] = ACTIONS(8568),
    [anon_sym_PIPE] = ACTIONS(3530),
    [anon_sym_STAR_STAR] = ACTIONS(3532),
    [anon_sym_AMP] = ACTIONS(3534),
    [anon_sym_LT] = ACTIONS(3536),
    [anon_sym_if] = ACTIONS(8568),
    [anon_sym_unless] = ACTIONS(8568),
    [anon_sym_while] = ACTIONS(8568),
    [anon_sym_until] = ACTIONS(8568),
    [anon_sym_rescue] = ACTIONS(8568),
    [anon_sym_EQ_GT] = ACTIONS(8568),
    [anon_sym_AMP_DOT] = ACTIONS(8568),
    [anon_sym_QMARK] = ACTIONS(3538),
    [anon_sym_DOT_DOT] = ACTIONS(3540),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3542),
    [anon_sym_and] = ACTIONS(8568),
    [anon_sym_or] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE] = ACTIONS(3544),
    [anon_sym_AMP_AMP] = ACTIONS(3544),
    [anon_sym_LT_LT] = ACTIONS(3546),
    [anon_sym_GT_GT] = ACTIONS(3546),
    [anon_sym_EQ_EQ] = ACTIONS(3548),
    [anon_sym_BANG_EQ] = ACTIONS(3544),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3544),
    [anon_sym_LT_EQ_GT] = ACTIONS(3544),
    [anon_sym_EQ_TILDE] = ACTIONS(3544),
    [anon_sym_BANG_TILDE] = ACTIONS(3544),
    [anon_sym_LT_EQ] = ACTIONS(3536),
    [anon_sym_GT] = ACTIONS(3536),
    [anon_sym_GT_EQ] = ACTIONS(3550),
    [anon_sym_CARET] = ACTIONS(3552),
    [anon_sym_PLUS] = ACTIONS(3554),
    [anon_sym_SLASH] = ACTIONS(3532),
    [anon_sym_PERCENT] = ACTIONS(3532),
    [sym_comment] = ACTIONS(110),
  },
  [8558] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(2318),
    [sym__primary] = STATE(693),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(695),
    [sym_call] = STATE(695),
    [sym_method_call] = STATE(694),
    [sym__argument] = STATE(8607),
    [sym_splat_argument] = STATE(699),
    [sym_hash_splat_argument] = STATE(699),
    [sym_block_argument] = STATE(699),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(701),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(702),
    [sym__variable] = STATE(695),
    [sym_reserved_identifier] = STATE(2321),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2322),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_pair] = STATE(699),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(1096),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__string_beginning] = ACTIONS(1106),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__block_ampersand] = ACTIONS(3508),
    [sym__splat_star] = ACTIONS(3510),
    [sym__unary_minus] = ACTIONS(1124),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(1128),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(11480),
    [anon_sym_class] = ACTIONS(1134),
    [anon_sym_module] = ACTIONS(1136),
    [anon_sym_return] = ACTIONS(1138),
    [anon_sym_yield] = ACTIONS(1140),
    [anon_sym_break] = ACTIONS(1142),
    [anon_sym_next] = ACTIONS(1144),
    [anon_sym_redo] = ACTIONS(1146),
    [anon_sym_retry] = ACTIONS(1148),
    [anon_sym_if] = ACTIONS(7490),
    [anon_sym_unless] = ACTIONS(7492),
    [anon_sym_while] = ACTIONS(7494),
    [anon_sym_until] = ACTIONS(7496),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1150),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1152),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1154),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(3484),
    [anon_sym_defined_QMARK] = ACTIONS(1156),
    [anon_sym_not] = ACTIONS(1158),
    [anon_sym_BANG] = ACTIONS(1162),
    [anon_sym_TILDE] = ACTIONS(1162),
    [sym_constant] = ACTIONS(3512),
    [sym_identifier] = ACTIONS(3512),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(1168),
    [anon_sym_nil] = ACTIONS(1170),
    [anon_sym_self] = ACTIONS(1172),
    [anon_sym_super] = ACTIONS(1174),
    [anon_sym_true] = ACTIONS(1176),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(1192),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [8559] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(2318),
    [sym__primary] = STATE(693),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(695),
    [sym_call] = STATE(695),
    [sym_method_call] = STATE(694),
    [sym__argument] = STATE(8607),
    [sym_splat_argument] = STATE(699),
    [sym_hash_splat_argument] = STATE(699),
    [sym_block_argument] = STATE(699),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(701),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(702),
    [sym__variable] = STATE(695),
    [sym_reserved_identifier] = STATE(2321),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2322),
    [sym_subshell] = STATE(649),
    [sym_heredoc_end] = STATE(11342),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_pair] = STATE(699),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(1096),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(1106),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__block_ampersand] = ACTIONS(3508),
    [sym__splat_star] = ACTIONS(3510),
    [sym__unary_minus] = ACTIONS(1124),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(1128),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(11480),
    [anon_sym_class] = ACTIONS(1134),
    [anon_sym_module] = ACTIONS(1136),
    [anon_sym_return] = ACTIONS(1138),
    [anon_sym_yield] = ACTIONS(1140),
    [anon_sym_break] = ACTIONS(1142),
    [anon_sym_next] = ACTIONS(1144),
    [anon_sym_redo] = ACTIONS(1146),
    [anon_sym_retry] = ACTIONS(1148),
    [anon_sym_if] = ACTIONS(7490),
    [anon_sym_unless] = ACTIONS(7492),
    [anon_sym_while] = ACTIONS(7494),
    [anon_sym_until] = ACTIONS(7496),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1150),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1152),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1154),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(3484),
    [anon_sym_defined_QMARK] = ACTIONS(1156),
    [anon_sym_not] = ACTIONS(1158),
    [anon_sym_BANG] = ACTIONS(1162),
    [anon_sym_TILDE] = ACTIONS(1162),
    [sym_constant] = ACTIONS(3512),
    [sym_identifier] = ACTIONS(3512),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(1168),
    [anon_sym_nil] = ACTIONS(1170),
    [anon_sym_self] = ACTIONS(1172),
    [anon_sym_super] = ACTIONS(1174),
    [anon_sym_true] = ACTIONS(1176),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(1192),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [8560] = {
    [sym__simple_heredoc_body] = ACTIONS(8662),
    [sym__heredoc_body_beginning] = ACTIONS(8662),
    [sym__string_middle] = ACTIONS(8662),
    [sym__string_end] = ACTIONS(8662),
    [sym__element_reference_left_bracket] = ACTIONS(8662),
    [sym__scope_double_colon] = ACTIONS(8662),
    [sym__binary_minus] = ACTIONS(3526),
    [sym__binary_star] = ACTIONS(3528),
    [anon_sym_DOT] = ACTIONS(9506),
    [anon_sym_COMMA] = ACTIONS(8662),
    [anon_sym_PIPE] = ACTIONS(3530),
    [anon_sym_STAR_STAR] = ACTIONS(3532),
    [anon_sym_AMP] = ACTIONS(3534),
    [anon_sym_LT] = ACTIONS(3536),
    [anon_sym_if] = ACTIONS(8662),
    [anon_sym_unless] = ACTIONS(8662),
    [anon_sym_while] = ACTIONS(8662),
    [anon_sym_until] = ACTIONS(8662),
    [anon_sym_rescue] = ACTIONS(8662),
    [anon_sym_EQ_GT] = ACTIONS(8662),
    [anon_sym_AMP_DOT] = ACTIONS(8662),
    [anon_sym_QMARK] = ACTIONS(3538),
    [anon_sym_DOT_DOT] = ACTIONS(3540),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3542),
    [anon_sym_and] = ACTIONS(8662),
    [anon_sym_or] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE] = ACTIONS(3544),
    [anon_sym_AMP_AMP] = ACTIONS(3544),
    [anon_sym_LT_LT] = ACTIONS(3546),
    [anon_sym_GT_GT] = ACTIONS(3546),
    [anon_sym_EQ_EQ] = ACTIONS(3548),
    [anon_sym_BANG_EQ] = ACTIONS(3544),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3544),
    [anon_sym_LT_EQ_GT] = ACTIONS(3544),
    [anon_sym_EQ_TILDE] = ACTIONS(3544),
    [anon_sym_BANG_TILDE] = ACTIONS(3544),
    [anon_sym_LT_EQ] = ACTIONS(3536),
    [anon_sym_GT] = ACTIONS(3536),
    [anon_sym_GT_EQ] = ACTIONS(3550),
    [anon_sym_CARET] = ACTIONS(3552),
    [anon_sym_PLUS] = ACTIONS(3554),
    [anon_sym_SLASH] = ACTIONS(3532),
    [anon_sym_PERCENT] = ACTIONS(3532),
    [sym_comment] = ACTIONS(110),
  },
  [8561] = {
    [sym__simple_heredoc_body] = ACTIONS(9562),
    [sym__heredoc_body_beginning] = ACTIONS(9562),
    [sym__string_middle] = ACTIONS(9562),
    [sym__string_end] = ACTIONS(9562),
    [sym__element_reference_left_bracket] = ACTIONS(9562),
    [sym__scope_double_colon] = ACTIONS(9562),
    [sym__binary_minus] = ACTIONS(9562),
    [sym__binary_star] = ACTIONS(9562),
    [anon_sym_DOT] = ACTIONS(9564),
    [anon_sym_COMMA] = ACTIONS(9562),
    [anon_sym_PIPE] = ACTIONS(9564),
    [anon_sym_STAR_STAR] = ACTIONS(9562),
    [anon_sym_AMP] = ACTIONS(9564),
    [anon_sym_LT] = ACTIONS(9564),
    [anon_sym_if] = ACTIONS(9562),
    [anon_sym_unless] = ACTIONS(9562),
    [anon_sym_while] = ACTIONS(9562),
    [anon_sym_until] = ACTIONS(9562),
    [anon_sym_rescue] = ACTIONS(9562),
    [anon_sym_EQ_GT] = ACTIONS(9562),
    [anon_sym_AMP_DOT] = ACTIONS(9562),
    [anon_sym_QMARK] = ACTIONS(9562),
    [anon_sym_DOT_DOT] = ACTIONS(9564),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9562),
    [anon_sym_and] = ACTIONS(9562),
    [anon_sym_or] = ACTIONS(9562),
    [anon_sym_PIPE_PIPE] = ACTIONS(9562),
    [anon_sym_AMP_AMP] = ACTIONS(9562),
    [anon_sym_LT_LT] = ACTIONS(9562),
    [anon_sym_GT_GT] = ACTIONS(9562),
    [anon_sym_EQ_EQ] = ACTIONS(9564),
    [anon_sym_BANG_EQ] = ACTIONS(9562),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9562),
    [anon_sym_LT_EQ_GT] = ACTIONS(9562),
    [anon_sym_EQ_TILDE] = ACTIONS(9562),
    [anon_sym_BANG_TILDE] = ACTIONS(9562),
    [anon_sym_LT_EQ] = ACTIONS(9564),
    [anon_sym_GT] = ACTIONS(9564),
    [anon_sym_GT_EQ] = ACTIONS(9562),
    [anon_sym_CARET] = ACTIONS(9562),
    [anon_sym_PLUS] = ACTIONS(9562),
    [anon_sym_SLASH] = ACTIONS(9562),
    [anon_sym_PERCENT] = ACTIONS(9562),
    [sym_comment] = ACTIONS(110),
  },
  [8562] = {
    [sym_elsif] = STATE(3865),
    [sym_else] = STATE(3865),
    [sym__if_tail] = STATE(11344),
    [anon_sym_end] = ACTIONS(14334),
    [anon_sym_elsif] = ACTIONS(9592),
    [anon_sym_else] = ACTIONS(9594),
    [sym_comment] = ACTIONS(110),
  },
  [8563] = {
    [anon_sym_end] = ACTIONS(14334),
    [sym_comment] = ACTIONS(110),
  },
  [8564] = {
    [sym__statements] = STATE(11345),
    [sym__top_level_statement] = STATE(3863),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(3864),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_elsif] = STATE(3865),
    [sym_else] = STATE(3865),
    [sym__if_tail] = STATE(11344),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3867),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3869),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3870),
    [sym__variable] = STATE(3868),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5572),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14336),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_elsif] = ACTIONS(5586),
    [anon_sym_else] = ACTIONS(5588),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5590),
    [anon_sym_defined_QMARK] = ACTIONS(5592),
    [anon_sym_not] = ACTIONS(5594),
    [anon_sym_BANG] = ACTIONS(5596),
    [anon_sym_TILDE] = ACTIONS(5596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8565] = {
    [sym__simple_heredoc_body] = ACTIONS(9758),
    [sym__heredoc_body_beginning] = ACTIONS(9758),
    [sym__string_middle] = ACTIONS(9758),
    [sym__string_end] = ACTIONS(9758),
    [sym__element_reference_left_bracket] = ACTIONS(9758),
    [sym__scope_double_colon] = ACTIONS(9758),
    [sym__binary_minus] = ACTIONS(9758),
    [sym__binary_star] = ACTIONS(9758),
    [anon_sym_DOT] = ACTIONS(9760),
    [anon_sym_COMMA] = ACTIONS(9758),
    [anon_sym_PIPE] = ACTIONS(9760),
    [anon_sym_STAR_STAR] = ACTIONS(9758),
    [anon_sym_AMP] = ACTIONS(9760),
    [anon_sym_LT] = ACTIONS(9760),
    [anon_sym_if] = ACTIONS(9758),
    [anon_sym_unless] = ACTIONS(9758),
    [anon_sym_while] = ACTIONS(9758),
    [anon_sym_until] = ACTIONS(9758),
    [anon_sym_rescue] = ACTIONS(9758),
    [anon_sym_EQ_GT] = ACTIONS(9758),
    [anon_sym_AMP_DOT] = ACTIONS(9758),
    [anon_sym_QMARK] = ACTIONS(9758),
    [anon_sym_DOT_DOT] = ACTIONS(9760),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9758),
    [anon_sym_and] = ACTIONS(9758),
    [anon_sym_or] = ACTIONS(9758),
    [anon_sym_PIPE_PIPE] = ACTIONS(9758),
    [anon_sym_AMP_AMP] = ACTIONS(9758),
    [anon_sym_LT_LT] = ACTIONS(9758),
    [anon_sym_GT_GT] = ACTIONS(9758),
    [anon_sym_EQ_EQ] = ACTIONS(9760),
    [anon_sym_BANG_EQ] = ACTIONS(9758),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9758),
    [anon_sym_LT_EQ_GT] = ACTIONS(9758),
    [anon_sym_EQ_TILDE] = ACTIONS(9758),
    [anon_sym_BANG_TILDE] = ACTIONS(9758),
    [anon_sym_LT_EQ] = ACTIONS(9760),
    [anon_sym_GT] = ACTIONS(9760),
    [anon_sym_GT_EQ] = ACTIONS(9758),
    [anon_sym_CARET] = ACTIONS(9758),
    [anon_sym_PLUS] = ACTIONS(9758),
    [anon_sym_SLASH] = ACTIONS(9758),
    [anon_sym_PERCENT] = ACTIONS(9758),
    [sym_comment] = ACTIONS(110),
  },
  [8566] = {
    [sym_else] = STATE(11347),
    [anon_sym_end] = ACTIONS(14338),
    [anon_sym_else] = ACTIONS(9594),
    [sym_comment] = ACTIONS(110),
  },
  [8567] = {
    [anon_sym_end] = ACTIONS(14338),
    [sym_comment] = ACTIONS(110),
  },
  [8568] = {
    [sym__simple_heredoc_body] = ACTIONS(9922),
    [sym__heredoc_body_beginning] = ACTIONS(9922),
    [sym__string_middle] = ACTIONS(9922),
    [sym__string_end] = ACTIONS(9922),
    [sym__element_reference_left_bracket] = ACTIONS(9922),
    [sym__scope_double_colon] = ACTIONS(9922),
    [sym__binary_minus] = ACTIONS(9922),
    [sym__binary_star] = ACTIONS(9922),
    [anon_sym_DOT] = ACTIONS(9924),
    [anon_sym_COMMA] = ACTIONS(9922),
    [anon_sym_PIPE] = ACTIONS(9924),
    [anon_sym_STAR_STAR] = ACTIONS(9922),
    [anon_sym_AMP] = ACTIONS(9924),
    [anon_sym_LT] = ACTIONS(9924),
    [anon_sym_if] = ACTIONS(9922),
    [anon_sym_unless] = ACTIONS(9922),
    [anon_sym_while] = ACTIONS(9922),
    [anon_sym_until] = ACTIONS(9922),
    [anon_sym_rescue] = ACTIONS(9922),
    [anon_sym_EQ_GT] = ACTIONS(9922),
    [anon_sym_AMP_DOT] = ACTIONS(9922),
    [anon_sym_QMARK] = ACTIONS(9922),
    [anon_sym_DOT_DOT] = ACTIONS(9924),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9922),
    [anon_sym_and] = ACTIONS(9922),
    [anon_sym_or] = ACTIONS(9922),
    [anon_sym_PIPE_PIPE] = ACTIONS(9922),
    [anon_sym_AMP_AMP] = ACTIONS(9922),
    [anon_sym_LT_LT] = ACTIONS(9922),
    [anon_sym_GT_GT] = ACTIONS(9922),
    [anon_sym_EQ_EQ] = ACTIONS(9924),
    [anon_sym_BANG_EQ] = ACTIONS(9922),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9922),
    [anon_sym_LT_EQ_GT] = ACTIONS(9922),
    [anon_sym_EQ_TILDE] = ACTIONS(9922),
    [anon_sym_BANG_TILDE] = ACTIONS(9922),
    [anon_sym_LT_EQ] = ACTIONS(9924),
    [anon_sym_GT] = ACTIONS(9924),
    [anon_sym_GT_EQ] = ACTIONS(9922),
    [anon_sym_CARET] = ACTIONS(9922),
    [anon_sym_PLUS] = ACTIONS(9922),
    [anon_sym_SLASH] = ACTIONS(9922),
    [anon_sym_PERCENT] = ACTIONS(9922),
    [sym_comment] = ACTIONS(110),
  },
  [8569] = {
    [anon_sym_end] = ACTIONS(14340),
    [sym_comment] = ACTIONS(110),
  },
  [8570] = {
    [sym__simple_heredoc_body] = ACTIONS(10004),
    [sym__heredoc_body_beginning] = ACTIONS(10004),
    [sym__string_middle] = ACTIONS(10004),
    [sym__string_end] = ACTIONS(10004),
    [sym__element_reference_left_bracket] = ACTIONS(10004),
    [sym__scope_double_colon] = ACTIONS(10004),
    [sym__binary_minus] = ACTIONS(10004),
    [sym__binary_star] = ACTIONS(10004),
    [anon_sym_DOT] = ACTIONS(10006),
    [anon_sym_COMMA] = ACTIONS(10004),
    [anon_sym_PIPE] = ACTIONS(10006),
    [anon_sym_STAR_STAR] = ACTIONS(10004),
    [anon_sym_AMP] = ACTIONS(10006),
    [anon_sym_LT] = ACTIONS(10006),
    [anon_sym_if] = ACTIONS(10004),
    [anon_sym_unless] = ACTIONS(10004),
    [anon_sym_while] = ACTIONS(10004),
    [anon_sym_until] = ACTIONS(10004),
    [anon_sym_rescue] = ACTIONS(10004),
    [anon_sym_EQ_GT] = ACTIONS(10004),
    [anon_sym_AMP_DOT] = ACTIONS(10004),
    [anon_sym_QMARK] = ACTIONS(10004),
    [anon_sym_DOT_DOT] = ACTIONS(10006),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10004),
    [anon_sym_and] = ACTIONS(10004),
    [anon_sym_or] = ACTIONS(10004),
    [anon_sym_PIPE_PIPE] = ACTIONS(10004),
    [anon_sym_AMP_AMP] = ACTIONS(10004),
    [anon_sym_LT_LT] = ACTIONS(10004),
    [anon_sym_GT_GT] = ACTIONS(10004),
    [anon_sym_EQ_EQ] = ACTIONS(10006),
    [anon_sym_BANG_EQ] = ACTIONS(10004),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10004),
    [anon_sym_LT_EQ_GT] = ACTIONS(10004),
    [anon_sym_EQ_TILDE] = ACTIONS(10004),
    [anon_sym_BANG_TILDE] = ACTIONS(10004),
    [anon_sym_LT_EQ] = ACTIONS(10006),
    [anon_sym_GT] = ACTIONS(10006),
    [anon_sym_GT_EQ] = ACTIONS(10004),
    [anon_sym_CARET] = ACTIONS(10004),
    [anon_sym_PLUS] = ACTIONS(10004),
    [anon_sym_SLASH] = ACTIONS(10004),
    [anon_sym_PERCENT] = ACTIONS(10004),
    [sym_comment] = ACTIONS(110),
  },
  [8571] = {
    [anon_sym_end] = ACTIONS(14342),
    [sym_comment] = ACTIONS(110),
  },
  [8572] = {
    [sym__statements] = STATE(11351),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14344),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8573] = {
    [sym__simple_heredoc_body] = ACTIONS(10332),
    [sym__heredoc_body_beginning] = ACTIONS(10332),
    [sym__string_middle] = ACTIONS(10332),
    [sym__string_end] = ACTIONS(10332),
    [sym__element_reference_left_bracket] = ACTIONS(10332),
    [sym__scope_double_colon] = ACTIONS(10332),
    [sym__binary_minus] = ACTIONS(10332),
    [sym__binary_star] = ACTIONS(10332),
    [anon_sym_DOT] = ACTIONS(10334),
    [anon_sym_COMMA] = ACTIONS(10332),
    [anon_sym_PIPE] = ACTIONS(10334),
    [anon_sym_STAR_STAR] = ACTIONS(10332),
    [anon_sym_AMP] = ACTIONS(10334),
    [anon_sym_LT] = ACTIONS(10334),
    [anon_sym_if] = ACTIONS(10332),
    [anon_sym_unless] = ACTIONS(10332),
    [anon_sym_while] = ACTIONS(10332),
    [anon_sym_until] = ACTIONS(10332),
    [anon_sym_rescue] = ACTIONS(10332),
    [anon_sym_EQ_GT] = ACTIONS(10332),
    [anon_sym_AMP_DOT] = ACTIONS(10332),
    [anon_sym_QMARK] = ACTIONS(10332),
    [anon_sym_DOT_DOT] = ACTIONS(10334),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10332),
    [anon_sym_and] = ACTIONS(10332),
    [anon_sym_or] = ACTIONS(10332),
    [anon_sym_PIPE_PIPE] = ACTIONS(10332),
    [anon_sym_AMP_AMP] = ACTIONS(10332),
    [anon_sym_LT_LT] = ACTIONS(10332),
    [anon_sym_GT_GT] = ACTIONS(10332),
    [anon_sym_EQ_EQ] = ACTIONS(10334),
    [anon_sym_BANG_EQ] = ACTIONS(10332),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10332),
    [anon_sym_LT_EQ_GT] = ACTIONS(10332),
    [anon_sym_EQ_TILDE] = ACTIONS(10332),
    [anon_sym_BANG_TILDE] = ACTIONS(10332),
    [anon_sym_LT_EQ] = ACTIONS(10334),
    [anon_sym_GT] = ACTIONS(10334),
    [anon_sym_GT_EQ] = ACTIONS(10332),
    [anon_sym_CARET] = ACTIONS(10332),
    [anon_sym_PLUS] = ACTIONS(10332),
    [anon_sym_SLASH] = ACTIONS(10332),
    [anon_sym_PERCENT] = ACTIONS(10332),
    [sym_comment] = ACTIONS(110),
  },
  [8574] = {
    [anon_sym_end] = ACTIONS(14346),
    [sym_comment] = ACTIONS(110),
  },
  [8575] = {
    [sym__simple_heredoc_body] = ACTIONS(10934),
    [sym__heredoc_body_beginning] = ACTIONS(10934),
    [sym__string_middle] = ACTIONS(10934),
    [sym__string_end] = ACTIONS(10934),
    [sym__element_reference_left_bracket] = ACTIONS(10934),
    [sym__scope_double_colon] = ACTIONS(10934),
    [sym__binary_minus] = ACTIONS(10934),
    [sym__binary_star] = ACTIONS(10934),
    [anon_sym_DOT] = ACTIONS(10936),
    [anon_sym_COMMA] = ACTIONS(10934),
    [anon_sym_PIPE] = ACTIONS(10936),
    [anon_sym_STAR_STAR] = ACTIONS(10934),
    [anon_sym_AMP] = ACTIONS(10936),
    [anon_sym_LT] = ACTIONS(10936),
    [anon_sym_if] = ACTIONS(10934),
    [anon_sym_unless] = ACTIONS(10934),
    [anon_sym_while] = ACTIONS(10934),
    [anon_sym_until] = ACTIONS(10934),
    [anon_sym_rescue] = ACTIONS(10934),
    [anon_sym_EQ_GT] = ACTIONS(10934),
    [anon_sym_AMP_DOT] = ACTIONS(10934),
    [anon_sym_QMARK] = ACTIONS(10934),
    [anon_sym_DOT_DOT] = ACTIONS(10936),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10934),
    [anon_sym_and] = ACTIONS(10934),
    [anon_sym_or] = ACTIONS(10934),
    [anon_sym_PIPE_PIPE] = ACTIONS(10934),
    [anon_sym_AMP_AMP] = ACTIONS(10934),
    [anon_sym_LT_LT] = ACTIONS(10934),
    [anon_sym_GT_GT] = ACTIONS(10934),
    [anon_sym_EQ_EQ] = ACTIONS(10936),
    [anon_sym_BANG_EQ] = ACTIONS(10934),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10934),
    [anon_sym_LT_EQ_GT] = ACTIONS(10934),
    [anon_sym_EQ_TILDE] = ACTIONS(10934),
    [anon_sym_BANG_TILDE] = ACTIONS(10934),
    [anon_sym_LT_EQ] = ACTIONS(10936),
    [anon_sym_GT] = ACTIONS(10936),
    [anon_sym_GT_EQ] = ACTIONS(10934),
    [anon_sym_CARET] = ACTIONS(10934),
    [anon_sym_PLUS] = ACTIONS(10934),
    [anon_sym_SLASH] = ACTIONS(10934),
    [anon_sym_PERCENT] = ACTIONS(10934),
    [sym_comment] = ACTIONS(110),
  },
  [8576] = {
    [sym__simple_heredoc_body] = ACTIONS(11064),
    [sym__heredoc_body_beginning] = ACTIONS(11064),
    [sym__string_middle] = ACTIONS(11064),
    [sym__string_end] = ACTIONS(11064),
    [sym__element_reference_left_bracket] = ACTIONS(11064),
    [sym__scope_double_colon] = ACTIONS(11064),
    [sym__binary_minus] = ACTIONS(11064),
    [sym__binary_star] = ACTIONS(11064),
    [anon_sym_DOT] = ACTIONS(11066),
    [anon_sym_COMMA] = ACTIONS(11064),
    [anon_sym_PIPE] = ACTIONS(11066),
    [anon_sym_STAR_STAR] = ACTIONS(11064),
    [anon_sym_AMP] = ACTIONS(11066),
    [anon_sym_LT] = ACTIONS(11066),
    [anon_sym_if] = ACTIONS(11064),
    [anon_sym_unless] = ACTIONS(11064),
    [anon_sym_while] = ACTIONS(11064),
    [anon_sym_until] = ACTIONS(11064),
    [anon_sym_rescue] = ACTIONS(11064),
    [anon_sym_EQ_GT] = ACTIONS(11064),
    [anon_sym_AMP_DOT] = ACTIONS(11064),
    [anon_sym_QMARK] = ACTIONS(11064),
    [anon_sym_DOT_DOT] = ACTIONS(11066),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11064),
    [anon_sym_and] = ACTIONS(11064),
    [anon_sym_or] = ACTIONS(11064),
    [anon_sym_PIPE_PIPE] = ACTIONS(11064),
    [anon_sym_AMP_AMP] = ACTIONS(11064),
    [anon_sym_LT_LT] = ACTIONS(11064),
    [anon_sym_GT_GT] = ACTIONS(11064),
    [anon_sym_EQ_EQ] = ACTIONS(11066),
    [anon_sym_BANG_EQ] = ACTIONS(11064),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11064),
    [anon_sym_LT_EQ_GT] = ACTIONS(11064),
    [anon_sym_EQ_TILDE] = ACTIONS(11064),
    [anon_sym_BANG_TILDE] = ACTIONS(11064),
    [anon_sym_LT_EQ] = ACTIONS(11066),
    [anon_sym_GT] = ACTIONS(11066),
    [anon_sym_GT_EQ] = ACTIONS(11064),
    [anon_sym_CARET] = ACTIONS(11064),
    [anon_sym_PLUS] = ACTIONS(11064),
    [anon_sym_SLASH] = ACTIONS(11064),
    [anon_sym_PERCENT] = ACTIONS(11064),
    [sym_comment] = ACTIONS(110),
  },
  [8577] = {
    [anon_sym_RBRACE] = ACTIONS(14348),
    [sym_comment] = ACTIONS(110),
  },
  [8578] = {
    [sym__simple_heredoc_body] = ACTIONS(11094),
    [sym__heredoc_body_beginning] = ACTIONS(11094),
    [sym__string_middle] = ACTIONS(11094),
    [sym__string_end] = ACTIONS(11094),
    [sym__element_reference_left_bracket] = ACTIONS(11094),
    [sym__scope_double_colon] = ACTIONS(11094),
    [sym__binary_minus] = ACTIONS(11094),
    [sym__binary_star] = ACTIONS(11094),
    [anon_sym_DOT] = ACTIONS(11096),
    [anon_sym_COMMA] = ACTIONS(11094),
    [anon_sym_PIPE] = ACTIONS(11096),
    [anon_sym_STAR_STAR] = ACTIONS(11094),
    [anon_sym_AMP] = ACTIONS(11096),
    [anon_sym_LT] = ACTIONS(11096),
    [anon_sym_if] = ACTIONS(11094),
    [anon_sym_unless] = ACTIONS(11094),
    [anon_sym_while] = ACTIONS(11094),
    [anon_sym_until] = ACTIONS(11094),
    [anon_sym_rescue] = ACTIONS(11094),
    [anon_sym_EQ_GT] = ACTIONS(11094),
    [anon_sym_AMP_DOT] = ACTIONS(11094),
    [anon_sym_QMARK] = ACTIONS(11094),
    [anon_sym_DOT_DOT] = ACTIONS(11096),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11094),
    [anon_sym_and] = ACTIONS(11094),
    [anon_sym_or] = ACTIONS(11094),
    [anon_sym_PIPE_PIPE] = ACTIONS(11094),
    [anon_sym_AMP_AMP] = ACTIONS(11094),
    [anon_sym_LT_LT] = ACTIONS(11094),
    [anon_sym_GT_GT] = ACTIONS(11094),
    [anon_sym_EQ_EQ] = ACTIONS(11096),
    [anon_sym_BANG_EQ] = ACTIONS(11094),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11094),
    [anon_sym_LT_EQ_GT] = ACTIONS(11094),
    [anon_sym_EQ_TILDE] = ACTIONS(11094),
    [anon_sym_BANG_TILDE] = ACTIONS(11094),
    [anon_sym_LT_EQ] = ACTIONS(11096),
    [anon_sym_GT] = ACTIONS(11096),
    [anon_sym_GT_EQ] = ACTIONS(11094),
    [anon_sym_CARET] = ACTIONS(11094),
    [anon_sym_PLUS] = ACTIONS(11094),
    [anon_sym_SLASH] = ACTIONS(11094),
    [anon_sym_PERCENT] = ACTIONS(11094),
    [sym_comment] = ACTIONS(110),
  },
  [8579] = {
    [anon_sym_end] = ACTIONS(14350),
    [sym_comment] = ACTIONS(110),
  },
  [8580] = {
    [sym__statements] = STATE(11355),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14352),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8581] = {
    [sym__statements] = STATE(11355),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(11356),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14352),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8582] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(11357),
    [sym__primary] = STATE(693),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(695),
    [sym_call] = STATE(695),
    [sym_method_call] = STATE(694),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(701),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(702),
    [sym__variable] = STATE(695),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2286),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(3410),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__string_beginning] = ACTIONS(3412),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__unary_minus] = ACTIONS(1124),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(3416),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3420),
    [anon_sym_module] = ACTIONS(3422),
    [anon_sym_return] = ACTIONS(3476),
    [anon_sym_yield] = ACTIONS(3478),
    [anon_sym_break] = ACTIONS(3480),
    [anon_sym_next] = ACTIONS(3482),
    [anon_sym_redo] = ACTIONS(3432),
    [anon_sym_retry] = ACTIONS(3434),
    [anon_sym_if] = ACTIONS(3436),
    [anon_sym_unless] = ACTIONS(3438),
    [anon_sym_while] = ACTIONS(3440),
    [anon_sym_until] = ACTIONS(3442),
    [anon_sym_for] = ACTIONS(3444),
    [anon_sym_case] = ACTIONS(3446),
    [anon_sym_begin] = ACTIONS(3448),
    [anon_sym_PLUS] = ACTIONS(3484),
    [anon_sym_defined_QMARK] = ACTIONS(1156),
    [anon_sym_not] = ACTIONS(3486),
    [anon_sym_BANG] = ACTIONS(1162),
    [anon_sym_TILDE] = ACTIONS(1162),
    [sym_constant] = ACTIONS(3488),
    [sym_identifier] = ACTIONS(3488),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_false] = ACTIONS(1186),
    [anon_sym_nil] = ACTIONS(1188),
    [anon_sym_self] = ACTIONS(3490),
    [anon_sym_super] = ACTIONS(3492),
    [anon_sym_true] = ACTIONS(1184),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(3472),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [8583] = {
    [sym__simple_heredoc_body] = ACTIONS(11316),
    [sym__heredoc_body_beginning] = ACTIONS(11316),
    [sym__string_middle] = ACTIONS(11316),
    [sym__string_end] = ACTIONS(11316),
    [sym__element_reference_left_bracket] = ACTIONS(11316),
    [sym__scope_double_colon] = ACTIONS(11316),
    [sym__binary_minus] = ACTIONS(11316),
    [sym__binary_star] = ACTIONS(11316),
    [anon_sym_LBRACE] = ACTIONS(11316),
    [anon_sym_DOT] = ACTIONS(11318),
    [anon_sym_COMMA] = ACTIONS(11316),
    [anon_sym_PIPE] = ACTIONS(11318),
    [anon_sym_STAR_STAR] = ACTIONS(11318),
    [anon_sym_AMP] = ACTIONS(11318),
    [anon_sym_EQ] = ACTIONS(11318),
    [anon_sym_LT] = ACTIONS(11318),
    [anon_sym_if] = ACTIONS(11316),
    [anon_sym_unless] = ACTIONS(11316),
    [anon_sym_while] = ACTIONS(11316),
    [anon_sym_until] = ACTIONS(11316),
    [anon_sym_rescue] = ACTIONS(11316),
    [anon_sym_do] = ACTIONS(11316),
    [anon_sym_EQ_GT] = ACTIONS(11316),
    [anon_sym_AMP_DOT] = ACTIONS(11316),
    [anon_sym_PLUS_EQ] = ACTIONS(11316),
    [anon_sym_DASH_EQ] = ACTIONS(11316),
    [anon_sym_STAR_EQ] = ACTIONS(11316),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(11316),
    [anon_sym_SLASH_EQ] = ACTIONS(11316),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(11316),
    [anon_sym_PIPE_EQ] = ACTIONS(11316),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(11316),
    [anon_sym_AMP_EQ] = ACTIONS(11316),
    [anon_sym_PERCENT_EQ] = ACTIONS(11316),
    [anon_sym_GT_GT_EQ] = ACTIONS(11316),
    [anon_sym_LT_LT_EQ] = ACTIONS(11316),
    [anon_sym_CARET_EQ] = ACTIONS(11316),
    [anon_sym_QMARK] = ACTIONS(11316),
    [anon_sym_DOT_DOT] = ACTIONS(11318),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11316),
    [anon_sym_and] = ACTIONS(11316),
    [anon_sym_or] = ACTIONS(11316),
    [anon_sym_PIPE_PIPE] = ACTIONS(11318),
    [anon_sym_AMP_AMP] = ACTIONS(11318),
    [anon_sym_LT_LT] = ACTIONS(11318),
    [anon_sym_GT_GT] = ACTIONS(11318),
    [anon_sym_EQ_EQ] = ACTIONS(11318),
    [anon_sym_BANG_EQ] = ACTIONS(11316),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11316),
    [anon_sym_LT_EQ_GT] = ACTIONS(11316),
    [anon_sym_EQ_TILDE] = ACTIONS(11316),
    [anon_sym_BANG_TILDE] = ACTIONS(11316),
    [anon_sym_LT_EQ] = ACTIONS(11318),
    [anon_sym_GT] = ACTIONS(11318),
    [anon_sym_GT_EQ] = ACTIONS(11316),
    [anon_sym_CARET] = ACTIONS(11318),
    [anon_sym_PLUS] = ACTIONS(11318),
    [anon_sym_SLASH] = ACTIONS(11318),
    [anon_sym_PERCENT] = ACTIONS(11318),
    [sym_comment] = ACTIONS(256),
  },
  [8584] = {
    [anon_sym_RBRACK] = ACTIONS(14354),
    [sym_comment] = ACTIONS(110),
  },
  [8585] = {
    [sym__simple_string] = ACTIONS(5370),
    [sym__simple_symbol] = ACTIONS(5370),
    [sym__simple_subshell] = ACTIONS(5370),
    [sym__simple_regex] = ACTIONS(5370),
    [sym__simple_word_list] = ACTIONS(5370),
    [sym__simple_heredoc_body] = ACTIONS(5370),
    [sym__string_beginning] = ACTIONS(5370),
    [sym__symbol_beginning] = ACTIONS(5370),
    [sym__subshell_beginning] = ACTIONS(5370),
    [sym__regex_beginning] = ACTIONS(5370),
    [sym__word_list_beginning] = ACTIONS(5370),
    [sym__heredoc_body_beginning] = ACTIONS(5370),
    [sym__string_middle] = ACTIONS(5370),
    [sym__string_end] = ACTIONS(5370),
    [sym_heredoc_beginning] = ACTIONS(5370),
    [sym__element_reference_left_bracket] = ACTIONS(5370),
    [sym__block_ampersand] = ACTIONS(5370),
    [sym__splat_star] = ACTIONS(5370),
    [sym__argument_list_left_paren] = ACTIONS(5370),
    [sym__scope_double_colon] = ACTIONS(5370),
    [sym__unary_minus] = ACTIONS(5370),
    [sym__binary_minus] = ACTIONS(5370),
    [sym__binary_star] = ACTIONS(5370),
    [anon_sym_LBRACE] = ACTIONS(5370),
    [anon_sym_def] = ACTIONS(5372),
    [anon_sym_LPAREN] = ACTIONS(5370),
    [anon_sym_DOT] = ACTIONS(5372),
    [anon_sym_COLON_COLON] = ACTIONS(5370),
    [anon_sym_end] = ACTIONS(5372),
    [anon_sym_COMMA] = ACTIONS(5370),
    [anon_sym_PIPE] = ACTIONS(5372),
    [anon_sym_STAR] = ACTIONS(5372),
    [anon_sym_STAR_STAR] = ACTIONS(5372),
    [anon_sym_AMP] = ACTIONS(5372),
    [anon_sym_EQ] = ACTIONS(5372),
    [anon_sym_class] = ACTIONS(5372),
    [anon_sym_LT] = ACTIONS(5372),
    [anon_sym_module] = ACTIONS(5372),
    [anon_sym_return] = ACTIONS(5372),
    [anon_sym_yield] = ACTIONS(5372),
    [anon_sym_break] = ACTIONS(5372),
    [anon_sym_next] = ACTIONS(5372),
    [anon_sym_redo] = ACTIONS(5372),
    [anon_sym_retry] = ACTIONS(5372),
    [anon_sym_if] = ACTIONS(5372),
    [anon_sym_unless] = ACTIONS(5372),
    [anon_sym_while] = ACTIONS(5372),
    [anon_sym_until] = ACTIONS(5372),
    [anon_sym_rescue] = ACTIONS(5372),
    [anon_sym_for] = ACTIONS(5372),
    [anon_sym_in] = ACTIONS(5372),
    [anon_sym_do] = ACTIONS(5372),
    [anon_sym_case] = ACTIONS(5372),
    [anon_sym_when] = ACTIONS(5372),
    [anon_sym_elsif] = ACTIONS(5372),
    [anon_sym_else] = ACTIONS(5372),
    [anon_sym_then] = ACTIONS(5372),
    [anon_sym_begin] = ACTIONS(5372),
    [anon_sym_ensure] = ACTIONS(5372),
    [anon_sym_EQ_GT] = ACTIONS(5370),
    [anon_sym_AMP_DOT] = ACTIONS(5370),
    [anon_sym_PLUS_EQ] = ACTIONS(5370),
    [anon_sym_DASH_EQ] = ACTIONS(5370),
    [anon_sym_STAR_EQ] = ACTIONS(5370),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5370),
    [anon_sym_SLASH_EQ] = ACTIONS(5370),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5370),
    [anon_sym_PIPE_EQ] = ACTIONS(5370),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5370),
    [anon_sym_AMP_EQ] = ACTIONS(5370),
    [anon_sym_PERCENT_EQ] = ACTIONS(5370),
    [anon_sym_GT_GT_EQ] = ACTIONS(5370),
    [anon_sym_LT_LT_EQ] = ACTIONS(5370),
    [anon_sym_CARET_EQ] = ACTIONS(5370),
    [anon_sym_QMARK] = ACTIONS(5372),
    [anon_sym_DOT_DOT] = ACTIONS(5372),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5370),
    [anon_sym_and] = ACTIONS(5372),
    [anon_sym_or] = ACTIONS(5372),
    [anon_sym_PIPE_PIPE] = ACTIONS(5372),
    [anon_sym_AMP_AMP] = ACTIONS(5372),
    [anon_sym_LT_LT] = ACTIONS(5372),
    [anon_sym_GT_GT] = ACTIONS(5372),
    [anon_sym_EQ_EQ] = ACTIONS(5372),
    [anon_sym_BANG_EQ] = ACTIONS(5370),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5370),
    [anon_sym_LT_EQ_GT] = ACTIONS(5370),
    [anon_sym_EQ_TILDE] = ACTIONS(5370),
    [anon_sym_BANG_TILDE] = ACTIONS(5370),
    [anon_sym_LT_EQ] = ACTIONS(5372),
    [anon_sym_GT] = ACTIONS(5372),
    [anon_sym_GT_EQ] = ACTIONS(5370),
    [anon_sym_CARET] = ACTIONS(5372),
    [anon_sym_PLUS] = ACTIONS(5372),
    [anon_sym_SLASH] = ACTIONS(5372),
    [anon_sym_PERCENT] = ACTIONS(5372),
    [anon_sym_defined_QMARK] = ACTIONS(5370),
    [anon_sym_not] = ACTIONS(5372),
    [anon_sym_BANG] = ACTIONS(5372),
    [anon_sym_TILDE] = ACTIONS(5370),
    [sym_constant] = ACTIONS(11322),
    [sym_identifier] = ACTIONS(11322),
    [sym_instance_variable] = ACTIONS(5372),
    [sym_class_variable] = ACTIONS(5372),
    [sym_global_variable] = ACTIONS(5372),
    [anon_sym_alias] = ACTIONS(5372),
    [anon_sym_defined] = ACTIONS(5372),
    [anon_sym_false] = ACTIONS(5372),
    [anon_sym_nil] = ACTIONS(5372),
    [anon_sym_self] = ACTIONS(5372),
    [anon_sym_super] = ACTIONS(5372),
    [anon_sym_true] = ACTIONS(5372),
    [anon_sym_undef] = ACTIONS(5372),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(5372),
    [sym_float] = ACTIONS(11322),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5370),
    [anon_sym_TRUE] = ACTIONS(5372),
    [anon_sym_FALSE] = ACTIONS(5372),
    [anon_sym_NIL] = ACTIONS(5372),
    [sym_keyword__FILE__] = ACTIONS(5372),
    [sym_keyword__LINE__] = ACTIONS(5372),
    [sym_keyword__ENCODING__] = ACTIONS(5372),
    [sym__character_literal] = ACTIONS(5372),
    [anon_sym_LBRACK] = ACTIONS(5370),
    [anon_sym_DASH_GT] = ACTIONS(5370),
  },
  [8586] = {
    [sym_heredoc_end] = STATE(11360),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RPAREN] = ACTIONS(14356),
    [sym_comment] = ACTIONS(110),
  },
  [8587] = {
    [anon_sym_RPAREN] = ACTIONS(14356),
    [sym_comment] = ACTIONS(110),
  },
  [8588] = {
    [sym__simple_heredoc_body] = ACTIONS(9456),
    [sym__heredoc_body_beginning] = ACTIONS(9456),
    [sym__string_middle] = ACTIONS(9456),
    [sym__string_end] = ACTIONS(9456),
    [sym__element_reference_left_bracket] = ACTIONS(9456),
    [sym__scope_double_colon] = ACTIONS(9456),
    [sym__binary_minus] = ACTIONS(9456),
    [sym__binary_star] = ACTIONS(9456),
    [anon_sym_LBRACE] = ACTIONS(9456),
    [anon_sym_DOT] = ACTIONS(9458),
    [anon_sym_COMMA] = ACTIONS(9456),
    [anon_sym_PIPE] = ACTIONS(9458),
    [anon_sym_STAR_STAR] = ACTIONS(9458),
    [anon_sym_AMP] = ACTIONS(9458),
    [anon_sym_EQ] = ACTIONS(9458),
    [anon_sym_LT] = ACTIONS(9458),
    [anon_sym_if] = ACTIONS(9456),
    [anon_sym_unless] = ACTIONS(9456),
    [anon_sym_while] = ACTIONS(9456),
    [anon_sym_until] = ACTIONS(9456),
    [anon_sym_rescue] = ACTIONS(9456),
    [anon_sym_do] = ACTIONS(9456),
    [anon_sym_EQ_GT] = ACTIONS(9456),
    [anon_sym_AMP_DOT] = ACTIONS(9456),
    [anon_sym_PLUS_EQ] = ACTIONS(9456),
    [anon_sym_DASH_EQ] = ACTIONS(9456),
    [anon_sym_STAR_EQ] = ACTIONS(9456),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9456),
    [anon_sym_SLASH_EQ] = ACTIONS(9456),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9456),
    [anon_sym_PIPE_EQ] = ACTIONS(9456),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9456),
    [anon_sym_AMP_EQ] = ACTIONS(9456),
    [anon_sym_PERCENT_EQ] = ACTIONS(9456),
    [anon_sym_GT_GT_EQ] = ACTIONS(9456),
    [anon_sym_LT_LT_EQ] = ACTIONS(9456),
    [anon_sym_CARET_EQ] = ACTIONS(9456),
    [anon_sym_QMARK] = ACTIONS(9456),
    [anon_sym_DOT_DOT] = ACTIONS(9458),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9456),
    [anon_sym_and] = ACTIONS(9456),
    [anon_sym_or] = ACTIONS(9456),
    [anon_sym_PIPE_PIPE] = ACTIONS(9458),
    [anon_sym_AMP_AMP] = ACTIONS(9458),
    [anon_sym_LT_LT] = ACTIONS(9458),
    [anon_sym_GT_GT] = ACTIONS(9458),
    [anon_sym_EQ_EQ] = ACTIONS(9458),
    [anon_sym_BANG_EQ] = ACTIONS(9456),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9456),
    [anon_sym_LT_EQ_GT] = ACTIONS(9456),
    [anon_sym_EQ_TILDE] = ACTIONS(9456),
    [anon_sym_BANG_TILDE] = ACTIONS(9456),
    [anon_sym_LT_EQ] = ACTIONS(9458),
    [anon_sym_GT] = ACTIONS(9458),
    [anon_sym_GT_EQ] = ACTIONS(9456),
    [anon_sym_CARET] = ACTIONS(9458),
    [anon_sym_PLUS] = ACTIONS(9458),
    [anon_sym_SLASH] = ACTIONS(9458),
    [anon_sym_PERCENT] = ACTIONS(9458),
    [sym_comment] = ACTIONS(256),
  },
  [8589] = {
    [anon_sym_RPAREN] = ACTIONS(14358),
    [sym_comment] = ACTIONS(110),
  },
  [8590] = {
    [sym__simple_heredoc_body] = ACTIONS(11064),
    [sym__heredoc_body_beginning] = ACTIONS(11064),
    [sym__string_middle] = ACTIONS(11064),
    [sym__string_end] = ACTIONS(11064),
    [sym__element_reference_left_bracket] = ACTIONS(11064),
    [sym__scope_double_colon] = ACTIONS(11064),
    [sym__binary_minus] = ACTIONS(11064),
    [sym__binary_star] = ACTIONS(11064),
    [anon_sym_LBRACE] = ACTIONS(11064),
    [anon_sym_DOT] = ACTIONS(11066),
    [anon_sym_COMMA] = ACTIONS(11064),
    [anon_sym_PIPE] = ACTIONS(11066),
    [anon_sym_STAR_STAR] = ACTIONS(11066),
    [anon_sym_AMP] = ACTIONS(11066),
    [anon_sym_EQ] = ACTIONS(11066),
    [anon_sym_LT] = ACTIONS(11066),
    [anon_sym_if] = ACTIONS(11064),
    [anon_sym_unless] = ACTIONS(11064),
    [anon_sym_while] = ACTIONS(11064),
    [anon_sym_until] = ACTIONS(11064),
    [anon_sym_rescue] = ACTIONS(11064),
    [anon_sym_do] = ACTIONS(11064),
    [anon_sym_EQ_GT] = ACTIONS(11064),
    [anon_sym_AMP_DOT] = ACTIONS(11064),
    [anon_sym_PLUS_EQ] = ACTIONS(11064),
    [anon_sym_DASH_EQ] = ACTIONS(11064),
    [anon_sym_STAR_EQ] = ACTIONS(11064),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(11064),
    [anon_sym_SLASH_EQ] = ACTIONS(11064),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(11064),
    [anon_sym_PIPE_EQ] = ACTIONS(11064),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(11064),
    [anon_sym_AMP_EQ] = ACTIONS(11064),
    [anon_sym_PERCENT_EQ] = ACTIONS(11064),
    [anon_sym_GT_GT_EQ] = ACTIONS(11064),
    [anon_sym_LT_LT_EQ] = ACTIONS(11064),
    [anon_sym_CARET_EQ] = ACTIONS(11064),
    [anon_sym_QMARK] = ACTIONS(11064),
    [anon_sym_DOT_DOT] = ACTIONS(11066),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11064),
    [anon_sym_and] = ACTIONS(11064),
    [anon_sym_or] = ACTIONS(11064),
    [anon_sym_PIPE_PIPE] = ACTIONS(11066),
    [anon_sym_AMP_AMP] = ACTIONS(11066),
    [anon_sym_LT_LT] = ACTIONS(11066),
    [anon_sym_GT_GT] = ACTIONS(11066),
    [anon_sym_EQ_EQ] = ACTIONS(11066),
    [anon_sym_BANG_EQ] = ACTIONS(11064),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11064),
    [anon_sym_LT_EQ_GT] = ACTIONS(11064),
    [anon_sym_EQ_TILDE] = ACTIONS(11064),
    [anon_sym_BANG_TILDE] = ACTIONS(11064),
    [anon_sym_LT_EQ] = ACTIONS(11066),
    [anon_sym_GT] = ACTIONS(11066),
    [anon_sym_GT_EQ] = ACTIONS(11064),
    [anon_sym_CARET] = ACTIONS(11066),
    [anon_sym_PLUS] = ACTIONS(11066),
    [anon_sym_SLASH] = ACTIONS(11066),
    [anon_sym_PERCENT] = ACTIONS(11066),
    [sym_comment] = ACTIONS(256),
  },
  [8591] = {
    [anon_sym_RBRACE] = ACTIONS(14360),
    [sym_comment] = ACTIONS(110),
  },
  [8592] = {
    [sym__simple_heredoc_body] = ACTIONS(11094),
    [sym__heredoc_body_beginning] = ACTIONS(11094),
    [sym__string_middle] = ACTIONS(11094),
    [sym__string_end] = ACTIONS(11094),
    [sym__element_reference_left_bracket] = ACTIONS(11094),
    [sym__scope_double_colon] = ACTIONS(11094),
    [sym__binary_minus] = ACTIONS(11094),
    [sym__binary_star] = ACTIONS(11094),
    [anon_sym_LBRACE] = ACTIONS(11094),
    [anon_sym_DOT] = ACTIONS(11096),
    [anon_sym_COMMA] = ACTIONS(11094),
    [anon_sym_PIPE] = ACTIONS(11096),
    [anon_sym_STAR_STAR] = ACTIONS(11096),
    [anon_sym_AMP] = ACTIONS(11096),
    [anon_sym_EQ] = ACTIONS(11096),
    [anon_sym_LT] = ACTIONS(11096),
    [anon_sym_if] = ACTIONS(11094),
    [anon_sym_unless] = ACTIONS(11094),
    [anon_sym_while] = ACTIONS(11094),
    [anon_sym_until] = ACTIONS(11094),
    [anon_sym_rescue] = ACTIONS(11094),
    [anon_sym_do] = ACTIONS(11094),
    [anon_sym_EQ_GT] = ACTIONS(11094),
    [anon_sym_AMP_DOT] = ACTIONS(11094),
    [anon_sym_PLUS_EQ] = ACTIONS(11094),
    [anon_sym_DASH_EQ] = ACTIONS(11094),
    [anon_sym_STAR_EQ] = ACTIONS(11094),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(11094),
    [anon_sym_SLASH_EQ] = ACTIONS(11094),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(11094),
    [anon_sym_PIPE_EQ] = ACTIONS(11094),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(11094),
    [anon_sym_AMP_EQ] = ACTIONS(11094),
    [anon_sym_PERCENT_EQ] = ACTIONS(11094),
    [anon_sym_GT_GT_EQ] = ACTIONS(11094),
    [anon_sym_LT_LT_EQ] = ACTIONS(11094),
    [anon_sym_CARET_EQ] = ACTIONS(11094),
    [anon_sym_QMARK] = ACTIONS(11094),
    [anon_sym_DOT_DOT] = ACTIONS(11096),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11094),
    [anon_sym_and] = ACTIONS(11094),
    [anon_sym_or] = ACTIONS(11094),
    [anon_sym_PIPE_PIPE] = ACTIONS(11096),
    [anon_sym_AMP_AMP] = ACTIONS(11096),
    [anon_sym_LT_LT] = ACTIONS(11096),
    [anon_sym_GT_GT] = ACTIONS(11096),
    [anon_sym_EQ_EQ] = ACTIONS(11096),
    [anon_sym_BANG_EQ] = ACTIONS(11094),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11094),
    [anon_sym_LT_EQ_GT] = ACTIONS(11094),
    [anon_sym_EQ_TILDE] = ACTIONS(11094),
    [anon_sym_BANG_TILDE] = ACTIONS(11094),
    [anon_sym_LT_EQ] = ACTIONS(11096),
    [anon_sym_GT] = ACTIONS(11096),
    [anon_sym_GT_EQ] = ACTIONS(11094),
    [anon_sym_CARET] = ACTIONS(11096),
    [anon_sym_PLUS] = ACTIONS(11096),
    [anon_sym_SLASH] = ACTIONS(11096),
    [anon_sym_PERCENT] = ACTIONS(11096),
    [sym_comment] = ACTIONS(256),
  },
  [8593] = {
    [anon_sym_end] = ACTIONS(14362),
    [sym_comment] = ACTIONS(110),
  },
  [8594] = {
    [sym__statements] = STATE(11364),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14364),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8595] = {
    [sym__statements] = STATE(11364),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(11365),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14364),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8596] = {
    [sym__simple_heredoc_body] = ACTIONS(8568),
    [sym__heredoc_body_beginning] = ACTIONS(8568),
    [sym__string_middle] = ACTIONS(8568),
    [sym__string_end] = ACTIONS(8568),
    [sym__element_reference_left_bracket] = ACTIONS(8568),
    [sym__scope_double_colon] = ACTIONS(8568),
    [sym__binary_minus] = ACTIONS(3782),
    [sym__binary_star] = ACTIONS(3784),
    [anon_sym_LBRACE] = ACTIONS(8568),
    [anon_sym_DOT] = ACTIONS(9468),
    [anon_sym_COMMA] = ACTIONS(8568),
    [anon_sym_PIPE] = ACTIONS(3786),
    [anon_sym_STAR_STAR] = ACTIONS(3788),
    [anon_sym_AMP] = ACTIONS(3790),
    [anon_sym_EQ] = ACTIONS(9468),
    [anon_sym_LT] = ACTIONS(3792),
    [anon_sym_if] = ACTIONS(8568),
    [anon_sym_unless] = ACTIONS(8568),
    [anon_sym_while] = ACTIONS(8568),
    [anon_sym_until] = ACTIONS(8568),
    [anon_sym_rescue] = ACTIONS(8568),
    [anon_sym_do] = ACTIONS(8568),
    [anon_sym_EQ_GT] = ACTIONS(8568),
    [anon_sym_AMP_DOT] = ACTIONS(8568),
    [anon_sym_PLUS_EQ] = ACTIONS(8568),
    [anon_sym_DASH_EQ] = ACTIONS(8568),
    [anon_sym_STAR_EQ] = ACTIONS(8568),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8568),
    [anon_sym_SLASH_EQ] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8568),
    [anon_sym_PIPE_EQ] = ACTIONS(8568),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8568),
    [anon_sym_AMP_EQ] = ACTIONS(8568),
    [anon_sym_PERCENT_EQ] = ACTIONS(8568),
    [anon_sym_GT_GT_EQ] = ACTIONS(8568),
    [anon_sym_LT_LT_EQ] = ACTIONS(8568),
    [anon_sym_CARET_EQ] = ACTIONS(8568),
    [anon_sym_QMARK] = ACTIONS(3794),
    [anon_sym_DOT_DOT] = ACTIONS(3796),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3798),
    [anon_sym_and] = ACTIONS(8568),
    [anon_sym_or] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE] = ACTIONS(3800),
    [anon_sym_AMP_AMP] = ACTIONS(3800),
    [anon_sym_LT_LT] = ACTIONS(3802),
    [anon_sym_GT_GT] = ACTIONS(3802),
    [anon_sym_EQ_EQ] = ACTIONS(3800),
    [anon_sym_BANG_EQ] = ACTIONS(3804),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3804),
    [anon_sym_LT_EQ_GT] = ACTIONS(3804),
    [anon_sym_EQ_TILDE] = ACTIONS(3804),
    [anon_sym_BANG_TILDE] = ACTIONS(3804),
    [anon_sym_LT_EQ] = ACTIONS(3792),
    [anon_sym_GT] = ACTIONS(3792),
    [anon_sym_GT_EQ] = ACTIONS(3806),
    [anon_sym_CARET] = ACTIONS(3786),
    [anon_sym_PLUS] = ACTIONS(3808),
    [anon_sym_SLASH] = ACTIONS(3788),
    [anon_sym_PERCENT] = ACTIONS(3788),
    [sym_comment] = ACTIONS(256),
  },
  [8597] = {
    [sym__heredoc_body_middle] = ACTIONS(4108),
    [sym__heredoc_body_end] = ACTIONS(14366),
    [anon_sym_if] = ACTIONS(4112),
    [anon_sym_unless] = ACTIONS(4114),
    [anon_sym_while] = ACTIONS(4116),
    [anon_sym_until] = ACTIONS(4118),
    [anon_sym_rescue] = ACTIONS(4120),
    [sym_comment] = ACTIONS(110),
  },
  [8598] = {
    [sym__statement] = STATE(11367),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [8599] = {
    [sym__simple_heredoc_body] = ACTIONS(9492),
    [sym__heredoc_body_beginning] = ACTIONS(9492),
    [sym__string_middle] = ACTIONS(9492),
    [sym__string_end] = ACTIONS(9492),
    [sym__element_reference_left_bracket] = ACTIONS(9492),
    [sym__scope_double_colon] = ACTIONS(9492),
    [sym__binary_minus] = ACTIONS(9492),
    [sym__binary_star] = ACTIONS(9492),
    [anon_sym_LBRACE] = ACTIONS(9492),
    [anon_sym_DOT] = ACTIONS(9494),
    [anon_sym_COMMA] = ACTIONS(9492),
    [anon_sym_PIPE] = ACTIONS(9494),
    [anon_sym_STAR_STAR] = ACTIONS(9494),
    [anon_sym_AMP] = ACTIONS(9494),
    [anon_sym_EQ] = ACTIONS(9494),
    [anon_sym_LT] = ACTIONS(9494),
    [anon_sym_if] = ACTIONS(9492),
    [anon_sym_unless] = ACTIONS(9492),
    [anon_sym_while] = ACTIONS(9492),
    [anon_sym_until] = ACTIONS(9492),
    [anon_sym_rescue] = ACTIONS(9492),
    [anon_sym_do] = ACTIONS(9492),
    [anon_sym_EQ_GT] = ACTIONS(9492),
    [anon_sym_AMP_DOT] = ACTIONS(9492),
    [anon_sym_PLUS_EQ] = ACTIONS(9492),
    [anon_sym_DASH_EQ] = ACTIONS(9492),
    [anon_sym_STAR_EQ] = ACTIONS(9492),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9492),
    [anon_sym_SLASH_EQ] = ACTIONS(9492),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9492),
    [anon_sym_PIPE_EQ] = ACTIONS(9492),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9492),
    [anon_sym_AMP_EQ] = ACTIONS(9492),
    [anon_sym_PERCENT_EQ] = ACTIONS(9492),
    [anon_sym_GT_GT_EQ] = ACTIONS(9492),
    [anon_sym_LT_LT_EQ] = ACTIONS(9492),
    [anon_sym_CARET_EQ] = ACTIONS(9492),
    [anon_sym_QMARK] = ACTIONS(9492),
    [anon_sym_DOT_DOT] = ACTIONS(9494),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9492),
    [anon_sym_and] = ACTIONS(9492),
    [anon_sym_or] = ACTIONS(9492),
    [anon_sym_PIPE_PIPE] = ACTIONS(9494),
    [anon_sym_AMP_AMP] = ACTIONS(9494),
    [anon_sym_LT_LT] = ACTIONS(9494),
    [anon_sym_GT_GT] = ACTIONS(9494),
    [anon_sym_EQ_EQ] = ACTIONS(9494),
    [anon_sym_BANG_EQ] = ACTIONS(9492),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9492),
    [anon_sym_LT_EQ_GT] = ACTIONS(9492),
    [anon_sym_EQ_TILDE] = ACTIONS(9492),
    [anon_sym_BANG_TILDE] = ACTIONS(9492),
    [anon_sym_LT_EQ] = ACTIONS(9494),
    [anon_sym_GT] = ACTIONS(9494),
    [anon_sym_GT_EQ] = ACTIONS(9492),
    [anon_sym_CARET] = ACTIONS(9494),
    [anon_sym_PLUS] = ACTIONS(9494),
    [anon_sym_SLASH] = ACTIONS(9494),
    [anon_sym_PERCENT] = ACTIONS(9494),
    [sym_comment] = ACTIONS(256),
  },
  [8600] = {
    [sym__simple_heredoc_body] = ACTIONS(9496),
    [sym__heredoc_body_beginning] = ACTIONS(9496),
    [sym__string_middle] = ACTIONS(9496),
    [sym__string_end] = ACTIONS(9496),
    [sym__element_reference_left_bracket] = ACTIONS(9496),
    [sym__scope_double_colon] = ACTIONS(9496),
    [sym__binary_minus] = ACTIONS(9496),
    [sym__binary_star] = ACTIONS(9496),
    [anon_sym_LBRACE] = ACTIONS(9496),
    [anon_sym_DOT] = ACTIONS(9498),
    [anon_sym_COMMA] = ACTIONS(9496),
    [anon_sym_PIPE] = ACTIONS(9498),
    [anon_sym_STAR_STAR] = ACTIONS(9498),
    [anon_sym_AMP] = ACTIONS(9498),
    [anon_sym_EQ] = ACTIONS(9498),
    [anon_sym_LT] = ACTIONS(9498),
    [anon_sym_if] = ACTIONS(9496),
    [anon_sym_unless] = ACTIONS(9496),
    [anon_sym_while] = ACTIONS(9496),
    [anon_sym_until] = ACTIONS(9496),
    [anon_sym_rescue] = ACTIONS(9496),
    [anon_sym_do] = ACTIONS(9496),
    [anon_sym_EQ_GT] = ACTIONS(9496),
    [anon_sym_AMP_DOT] = ACTIONS(9496),
    [anon_sym_PLUS_EQ] = ACTIONS(9496),
    [anon_sym_DASH_EQ] = ACTIONS(9496),
    [anon_sym_STAR_EQ] = ACTIONS(9496),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9496),
    [anon_sym_SLASH_EQ] = ACTIONS(9496),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9496),
    [anon_sym_PIPE_EQ] = ACTIONS(9496),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9496),
    [anon_sym_AMP_EQ] = ACTIONS(9496),
    [anon_sym_PERCENT_EQ] = ACTIONS(9496),
    [anon_sym_GT_GT_EQ] = ACTIONS(9496),
    [anon_sym_LT_LT_EQ] = ACTIONS(9496),
    [anon_sym_CARET_EQ] = ACTIONS(9496),
    [anon_sym_QMARK] = ACTIONS(9496),
    [anon_sym_DOT_DOT] = ACTIONS(9498),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9496),
    [anon_sym_and] = ACTIONS(9496),
    [anon_sym_or] = ACTIONS(9496),
    [anon_sym_PIPE_PIPE] = ACTIONS(9498),
    [anon_sym_AMP_AMP] = ACTIONS(9498),
    [anon_sym_LT_LT] = ACTIONS(9498),
    [anon_sym_GT_GT] = ACTIONS(9498),
    [anon_sym_EQ_EQ] = ACTIONS(9498),
    [anon_sym_BANG_EQ] = ACTIONS(9496),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9496),
    [anon_sym_LT_EQ_GT] = ACTIONS(9496),
    [anon_sym_EQ_TILDE] = ACTIONS(9496),
    [anon_sym_BANG_TILDE] = ACTIONS(9496),
    [anon_sym_LT_EQ] = ACTIONS(9498),
    [anon_sym_GT] = ACTIONS(9498),
    [anon_sym_GT_EQ] = ACTIONS(9496),
    [anon_sym_CARET] = ACTIONS(9498),
    [anon_sym_PLUS] = ACTIONS(9498),
    [anon_sym_SLASH] = ACTIONS(9498),
    [anon_sym_PERCENT] = ACTIONS(9498),
    [sym_comment] = ACTIONS(256),
  },
  [8601] = {
    [sym_method] = STATE(769),
    [sym_singleton_method] = STATE(769),
    [sym_class] = STATE(769),
    [sym_singleton_class] = STATE(769),
    [sym_module] = STATE(769),
    [sym_return] = STATE(769),
    [sym_yield] = STATE(769),
    [sym_break] = STATE(769),
    [sym_next] = STATE(769),
    [sym_redo] = STATE(769),
    [sym_retry] = STATE(769),
    [sym_while] = STATE(769),
    [sym_until] = STATE(769),
    [sym_for] = STATE(769),
    [sym_case] = STATE(769),
    [sym_if] = STATE(769),
    [sym_unless] = STATE(769),
    [sym_begin] = STATE(769),
    [sym__arg] = STATE(2371),
    [sym__primary] = STATE(804),
    [sym_parenthesized_statements] = STATE(769),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(805),
    [sym_call] = STATE(805),
    [sym_method_call] = STATE(694),
    [sym__argument] = STATE(11368),
    [sym_splat_argument] = STATE(2375),
    [sym_hash_splat_argument] = STATE(2375),
    [sym_block_argument] = STATE(2375),
    [sym_assignment] = STATE(811),
    [sym_operator_assignment] = STATE(811),
    [sym_conditional] = STATE(811),
    [sym_range] = STATE(811),
    [sym_binary] = STATE(811),
    [sym_unary] = STATE(811),
    [sym_left_assignment_list] = STATE(812),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(813),
    [sym__variable] = STATE(805),
    [sym_reserved_identifier] = STATE(2377),
    [sym_symbol] = STATE(769),
    [sym_complex] = STATE(769),
    [sym_rational] = STATE(769),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(769),
    [sym_string] = STATE(2378),
    [sym_subshell] = STATE(769),
    [sym_array] = STATE(769),
    [sym_hash] = STATE(769),
    [sym_pair] = STATE(2375),
    [sym_regex] = STATE(769),
    [sym_lambda] = STATE(769),
    [sym__simple_string] = ACTIONS(1274),
    [sym__simple_symbol] = ACTIONS(1276),
    [sym__simple_subshell] = ACTIONS(1278),
    [sym__simple_regex] = ACTIONS(1280),
    [sym__simple_word_list] = ACTIONS(1282),
    [sym__string_beginning] = ACTIONS(1284),
    [sym__symbol_beginning] = ACTIONS(1286),
    [sym__subshell_beginning] = ACTIONS(1288),
    [sym__regex_beginning] = ACTIONS(1290),
    [sym__word_list_beginning] = ACTIONS(1292),
    [sym_heredoc_beginning] = ACTIONS(1294),
    [sym__block_ampersand] = ACTIONS(3564),
    [sym__splat_star] = ACTIONS(3566),
    [sym__unary_minus] = ACTIONS(1302),
    [anon_sym_LBRACE] = ACTIONS(3716),
    [anon_sym_def] = ACTIONS(1306),
    [anon_sym_LPAREN] = ACTIONS(1308),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(11516),
    [anon_sym_class] = ACTIONS(1310),
    [anon_sym_module] = ACTIONS(1312),
    [anon_sym_return] = ACTIONS(1314),
    [anon_sym_yield] = ACTIONS(1316),
    [anon_sym_break] = ACTIONS(1318),
    [anon_sym_next] = ACTIONS(1320),
    [anon_sym_redo] = ACTIONS(1322),
    [anon_sym_retry] = ACTIONS(1324),
    [anon_sym_if] = ACTIONS(7624),
    [anon_sym_unless] = ACTIONS(7626),
    [anon_sym_while] = ACTIONS(7628),
    [anon_sym_until] = ACTIONS(7630),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1326),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1330),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1332),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(3750),
    [anon_sym_defined_QMARK] = ACTIONS(1334),
    [anon_sym_not] = ACTIONS(1336),
    [anon_sym_BANG] = ACTIONS(1340),
    [anon_sym_TILDE] = ACTIONS(1340),
    [sym_constant] = ACTIONS(3574),
    [sym_identifier] = ACTIONS(3574),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(1168),
    [anon_sym_nil] = ACTIONS(1170),
    [anon_sym_self] = ACTIONS(1172),
    [anon_sym_super] = ACTIONS(1174),
    [anon_sym_true] = ACTIONS(1176),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1344),
    [sym_float] = ACTIONS(1346),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1348),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1350),
    [sym_keyword__LINE__] = ACTIONS(1350),
    [sym_keyword__ENCODING__] = ACTIONS(1350),
    [sym__character_literal] = ACTIONS(1352),
    [anon_sym_LBRACK] = ACTIONS(1354),
    [anon_sym_DASH_GT] = ACTIONS(1356),
  },
  [8602] = {
    [sym_method] = STATE(769),
    [sym_singleton_method] = STATE(769),
    [sym_class] = STATE(769),
    [sym_singleton_class] = STATE(769),
    [sym_module] = STATE(769),
    [sym_return] = STATE(769),
    [sym_yield] = STATE(769),
    [sym_break] = STATE(769),
    [sym_next] = STATE(769),
    [sym_redo] = STATE(769),
    [sym_retry] = STATE(769),
    [sym_while] = STATE(769),
    [sym_until] = STATE(769),
    [sym_for] = STATE(769),
    [sym_case] = STATE(769),
    [sym_if] = STATE(769),
    [sym_unless] = STATE(769),
    [sym_begin] = STATE(769),
    [sym__arg] = STATE(2371),
    [sym__primary] = STATE(804),
    [sym_parenthesized_statements] = STATE(769),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(805),
    [sym_call] = STATE(805),
    [sym_method_call] = STATE(694),
    [sym__argument] = STATE(11368),
    [sym_splat_argument] = STATE(2375),
    [sym_hash_splat_argument] = STATE(2375),
    [sym_block_argument] = STATE(2375),
    [sym_assignment] = STATE(811),
    [sym_operator_assignment] = STATE(811),
    [sym_conditional] = STATE(811),
    [sym_range] = STATE(811),
    [sym_binary] = STATE(811),
    [sym_unary] = STATE(811),
    [sym_left_assignment_list] = STATE(812),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(813),
    [sym__variable] = STATE(805),
    [sym_reserved_identifier] = STATE(2377),
    [sym_symbol] = STATE(769),
    [sym_complex] = STATE(769),
    [sym_rational] = STATE(769),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(769),
    [sym_string] = STATE(2378),
    [sym_subshell] = STATE(769),
    [sym_heredoc_end] = STATE(11369),
    [sym_array] = STATE(769),
    [sym_hash] = STATE(769),
    [sym_pair] = STATE(2375),
    [sym_regex] = STATE(769),
    [sym_lambda] = STATE(769),
    [sym__simple_string] = ACTIONS(1274),
    [sym__simple_symbol] = ACTIONS(1276),
    [sym__simple_subshell] = ACTIONS(1278),
    [sym__simple_regex] = ACTIONS(1280),
    [sym__simple_word_list] = ACTIONS(1282),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(1284),
    [sym__symbol_beginning] = ACTIONS(1286),
    [sym__subshell_beginning] = ACTIONS(1288),
    [sym__regex_beginning] = ACTIONS(1290),
    [sym__word_list_beginning] = ACTIONS(1292),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(1294),
    [sym__block_ampersand] = ACTIONS(3564),
    [sym__splat_star] = ACTIONS(3566),
    [sym__unary_minus] = ACTIONS(1302),
    [anon_sym_LBRACE] = ACTIONS(3716),
    [anon_sym_def] = ACTIONS(1306),
    [anon_sym_LPAREN] = ACTIONS(1308),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(11516),
    [anon_sym_class] = ACTIONS(1310),
    [anon_sym_module] = ACTIONS(1312),
    [anon_sym_return] = ACTIONS(1314),
    [anon_sym_yield] = ACTIONS(1316),
    [anon_sym_break] = ACTIONS(1318),
    [anon_sym_next] = ACTIONS(1320),
    [anon_sym_redo] = ACTIONS(1322),
    [anon_sym_retry] = ACTIONS(1324),
    [anon_sym_if] = ACTIONS(7624),
    [anon_sym_unless] = ACTIONS(7626),
    [anon_sym_while] = ACTIONS(7628),
    [anon_sym_until] = ACTIONS(7630),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1326),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1330),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1332),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(3750),
    [anon_sym_defined_QMARK] = ACTIONS(1334),
    [anon_sym_not] = ACTIONS(1336),
    [anon_sym_BANG] = ACTIONS(1340),
    [anon_sym_TILDE] = ACTIONS(1340),
    [sym_constant] = ACTIONS(3574),
    [sym_identifier] = ACTIONS(3574),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(1168),
    [anon_sym_nil] = ACTIONS(1170),
    [anon_sym_self] = ACTIONS(1172),
    [anon_sym_super] = ACTIONS(1174),
    [anon_sym_true] = ACTIONS(1176),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1344),
    [sym_float] = ACTIONS(1346),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1348),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1350),
    [sym_keyword__LINE__] = ACTIONS(1350),
    [sym_keyword__ENCODING__] = ACTIONS(1350),
    [sym__character_literal] = ACTIONS(1352),
    [anon_sym_LBRACK] = ACTIONS(1354),
    [anon_sym_DASH_GT] = ACTIONS(1356),
  },
  [8603] = {
    [sym_heredoc_end] = STATE(8599),
    [sym__simple_heredoc_body] = ACTIONS(7480),
    [sym__heredoc_body_beginning] = ACTIONS(7482),
    [sym__string_middle] = ACTIONS(9500),
    [sym__string_end] = ACTIONS(9500),
    [sym__element_reference_left_bracket] = ACTIONS(9500),
    [sym__scope_double_colon] = ACTIONS(9500),
    [sym__binary_minus] = ACTIONS(9500),
    [sym__binary_star] = ACTIONS(9500),
    [anon_sym_LBRACE] = ACTIONS(9500),
    [anon_sym_DOT] = ACTIONS(9502),
    [anon_sym_COMMA] = ACTIONS(9500),
    [anon_sym_PIPE] = ACTIONS(9502),
    [anon_sym_STAR_STAR] = ACTIONS(9502),
    [anon_sym_AMP] = ACTIONS(9502),
    [anon_sym_EQ] = ACTIONS(9502),
    [anon_sym_LT] = ACTIONS(9502),
    [anon_sym_if] = ACTIONS(9500),
    [anon_sym_unless] = ACTIONS(9500),
    [anon_sym_while] = ACTIONS(9500),
    [anon_sym_until] = ACTIONS(9500),
    [anon_sym_rescue] = ACTIONS(9500),
    [anon_sym_do] = ACTIONS(9500),
    [anon_sym_EQ_GT] = ACTIONS(9500),
    [anon_sym_AMP_DOT] = ACTIONS(9500),
    [anon_sym_PLUS_EQ] = ACTIONS(9500),
    [anon_sym_DASH_EQ] = ACTIONS(9500),
    [anon_sym_STAR_EQ] = ACTIONS(9500),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9500),
    [anon_sym_SLASH_EQ] = ACTIONS(9500),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9500),
    [anon_sym_PIPE_EQ] = ACTIONS(9500),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9500),
    [anon_sym_AMP_EQ] = ACTIONS(9500),
    [anon_sym_PERCENT_EQ] = ACTIONS(9500),
    [anon_sym_GT_GT_EQ] = ACTIONS(9500),
    [anon_sym_LT_LT_EQ] = ACTIONS(9500),
    [anon_sym_CARET_EQ] = ACTIONS(9500),
    [anon_sym_QMARK] = ACTIONS(9500),
    [anon_sym_DOT_DOT] = ACTIONS(9502),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9500),
    [anon_sym_and] = ACTIONS(9500),
    [anon_sym_or] = ACTIONS(9500),
    [anon_sym_PIPE_PIPE] = ACTIONS(9502),
    [anon_sym_AMP_AMP] = ACTIONS(9502),
    [anon_sym_LT_LT] = ACTIONS(9502),
    [anon_sym_GT_GT] = ACTIONS(9502),
    [anon_sym_EQ_EQ] = ACTIONS(9502),
    [anon_sym_BANG_EQ] = ACTIONS(9500),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9500),
    [anon_sym_LT_EQ_GT] = ACTIONS(9500),
    [anon_sym_EQ_TILDE] = ACTIONS(9500),
    [anon_sym_BANG_TILDE] = ACTIONS(9500),
    [anon_sym_LT_EQ] = ACTIONS(9502),
    [anon_sym_GT] = ACTIONS(9502),
    [anon_sym_GT_EQ] = ACTIONS(9500),
    [anon_sym_CARET] = ACTIONS(9502),
    [anon_sym_PLUS] = ACTIONS(9502),
    [anon_sym_SLASH] = ACTIONS(9502),
    [anon_sym_PERCENT] = ACTIONS(9502),
    [sym_comment] = ACTIONS(256),
  },
  [8604] = {
    [sym__simple_heredoc_body] = ACTIONS(8662),
    [sym__heredoc_body_beginning] = ACTIONS(8662),
    [sym__string_middle] = ACTIONS(8662),
    [sym__string_end] = ACTIONS(8662),
    [sym__element_reference_left_bracket] = ACTIONS(8662),
    [sym__scope_double_colon] = ACTIONS(8662),
    [sym__binary_minus] = ACTIONS(3782),
    [sym__binary_star] = ACTIONS(3784),
    [anon_sym_LBRACE] = ACTIONS(8662),
    [anon_sym_DOT] = ACTIONS(9506),
    [anon_sym_COMMA] = ACTIONS(8662),
    [anon_sym_PIPE] = ACTIONS(3786),
    [anon_sym_STAR_STAR] = ACTIONS(3788),
    [anon_sym_AMP] = ACTIONS(3790),
    [anon_sym_EQ] = ACTIONS(9506),
    [anon_sym_LT] = ACTIONS(3792),
    [anon_sym_if] = ACTIONS(8662),
    [anon_sym_unless] = ACTIONS(8662),
    [anon_sym_while] = ACTIONS(8662),
    [anon_sym_until] = ACTIONS(8662),
    [anon_sym_rescue] = ACTIONS(8662),
    [anon_sym_do] = ACTIONS(8662),
    [anon_sym_EQ_GT] = ACTIONS(8662),
    [anon_sym_AMP_DOT] = ACTIONS(8662),
    [anon_sym_PLUS_EQ] = ACTIONS(8662),
    [anon_sym_DASH_EQ] = ACTIONS(8662),
    [anon_sym_STAR_EQ] = ACTIONS(8662),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8662),
    [anon_sym_SLASH_EQ] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8662),
    [anon_sym_PIPE_EQ] = ACTIONS(8662),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8662),
    [anon_sym_AMP_EQ] = ACTIONS(8662),
    [anon_sym_PERCENT_EQ] = ACTIONS(8662),
    [anon_sym_GT_GT_EQ] = ACTIONS(8662),
    [anon_sym_LT_LT_EQ] = ACTIONS(8662),
    [anon_sym_CARET_EQ] = ACTIONS(8662),
    [anon_sym_QMARK] = ACTIONS(3794),
    [anon_sym_DOT_DOT] = ACTIONS(3796),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3798),
    [anon_sym_and] = ACTIONS(8662),
    [anon_sym_or] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE] = ACTIONS(3800),
    [anon_sym_AMP_AMP] = ACTIONS(3800),
    [anon_sym_LT_LT] = ACTIONS(3802),
    [anon_sym_GT_GT] = ACTIONS(3802),
    [anon_sym_EQ_EQ] = ACTIONS(3800),
    [anon_sym_BANG_EQ] = ACTIONS(3804),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3804),
    [anon_sym_LT_EQ_GT] = ACTIONS(3804),
    [anon_sym_EQ_TILDE] = ACTIONS(3804),
    [anon_sym_BANG_TILDE] = ACTIONS(3804),
    [anon_sym_LT_EQ] = ACTIONS(3792),
    [anon_sym_GT] = ACTIONS(3792),
    [anon_sym_GT_EQ] = ACTIONS(3806),
    [anon_sym_CARET] = ACTIONS(3786),
    [anon_sym_PLUS] = ACTIONS(3808),
    [anon_sym_SLASH] = ACTIONS(3788),
    [anon_sym_PERCENT] = ACTIONS(3788),
    [sym_comment] = ACTIONS(256),
  },
  [8605] = {
    [sym__simple_heredoc_body] = ACTIONS(8070),
    [sym__heredoc_body_beginning] = ACTIONS(8070),
    [sym__string_middle] = ACTIONS(8070),
    [sym__string_end] = ACTIONS(8070),
    [sym__element_reference_left_bracket] = ACTIONS(8070),
    [sym__scope_double_colon] = ACTIONS(8070),
    [sym__binary_minus] = ACTIONS(8070),
    [sym__binary_star] = ACTIONS(8070),
    [anon_sym_DOT] = ACTIONS(10414),
    [anon_sym_COMMA] = ACTIONS(8070),
    [anon_sym_PIPE] = ACTIONS(10414),
    [anon_sym_STAR_STAR] = ACTIONS(8070),
    [anon_sym_AMP] = ACTIONS(10414),
    [anon_sym_LT] = ACTIONS(10414),
    [anon_sym_if] = ACTIONS(8070),
    [anon_sym_unless] = ACTIONS(8070),
    [anon_sym_while] = ACTIONS(8070),
    [anon_sym_until] = ACTIONS(8070),
    [anon_sym_rescue] = ACTIONS(8070),
    [anon_sym_EQ_GT] = ACTIONS(8070),
    [anon_sym_AMP_DOT] = ACTIONS(8070),
    [anon_sym_QMARK] = ACTIONS(8070),
    [anon_sym_DOT_DOT] = ACTIONS(10414),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8070),
    [anon_sym_and] = ACTIONS(8070),
    [anon_sym_or] = ACTIONS(8070),
    [anon_sym_PIPE_PIPE] = ACTIONS(8070),
    [anon_sym_AMP_AMP] = ACTIONS(8070),
    [anon_sym_LT_LT] = ACTIONS(8070),
    [anon_sym_GT_GT] = ACTIONS(8070),
    [anon_sym_EQ_EQ] = ACTIONS(10414),
    [anon_sym_BANG_EQ] = ACTIONS(8070),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8070),
    [anon_sym_LT_EQ_GT] = ACTIONS(8070),
    [anon_sym_EQ_TILDE] = ACTIONS(8070),
    [anon_sym_BANG_TILDE] = ACTIONS(8070),
    [anon_sym_LT_EQ] = ACTIONS(10414),
    [anon_sym_GT] = ACTIONS(10414),
    [anon_sym_GT_EQ] = ACTIONS(8070),
    [anon_sym_CARET] = ACTIONS(8070),
    [anon_sym_PLUS] = ACTIONS(8070),
    [anon_sym_SLASH] = ACTIONS(8070),
    [anon_sym_PERCENT] = ACTIONS(8070),
    [sym_comment] = ACTIONS(110),
  },
  [8606] = {
    [sym__heredoc_body_middle] = ACTIONS(8296),
    [sym__heredoc_body_end] = ACTIONS(14368),
    [anon_sym_if] = ACTIONS(4112),
    [anon_sym_unless] = ACTIONS(4114),
    [anon_sym_while] = ACTIONS(4116),
    [anon_sym_until] = ACTIONS(4118),
    [anon_sym_rescue] = ACTIONS(4120),
    [sym_comment] = ACTIONS(110),
  },
  [8607] = {
    [sym__simple_heredoc_body] = ACTIONS(12790),
    [sym__heredoc_body_beginning] = ACTIONS(12790),
    [sym__string_middle] = ACTIONS(12790),
    [sym__string_end] = ACTIONS(12790),
    [sym__element_reference_left_bracket] = ACTIONS(12790),
    [sym__scope_double_colon] = ACTIONS(12790),
    [sym__binary_minus] = ACTIONS(12790),
    [sym__binary_star] = ACTIONS(12790),
    [anon_sym_DOT] = ACTIONS(12792),
    [anon_sym_COMMA] = ACTIONS(12790),
    [anon_sym_PIPE] = ACTIONS(12792),
    [anon_sym_STAR_STAR] = ACTIONS(12790),
    [anon_sym_AMP] = ACTIONS(12792),
    [anon_sym_LT] = ACTIONS(12792),
    [anon_sym_if] = ACTIONS(12790),
    [anon_sym_unless] = ACTIONS(12790),
    [anon_sym_while] = ACTIONS(12790),
    [anon_sym_until] = ACTIONS(12790),
    [anon_sym_rescue] = ACTIONS(12790),
    [anon_sym_EQ_GT] = ACTIONS(12790),
    [anon_sym_AMP_DOT] = ACTIONS(12790),
    [anon_sym_QMARK] = ACTIONS(12790),
    [anon_sym_DOT_DOT] = ACTIONS(12792),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12790),
    [anon_sym_and] = ACTIONS(12790),
    [anon_sym_or] = ACTIONS(12790),
    [anon_sym_PIPE_PIPE] = ACTIONS(12790),
    [anon_sym_AMP_AMP] = ACTIONS(12790),
    [anon_sym_LT_LT] = ACTIONS(12790),
    [anon_sym_GT_GT] = ACTIONS(12790),
    [anon_sym_EQ_EQ] = ACTIONS(12792),
    [anon_sym_BANG_EQ] = ACTIONS(12790),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12790),
    [anon_sym_LT_EQ_GT] = ACTIONS(12790),
    [anon_sym_EQ_TILDE] = ACTIONS(12790),
    [anon_sym_BANG_TILDE] = ACTIONS(12790),
    [anon_sym_LT_EQ] = ACTIONS(12792),
    [anon_sym_GT] = ACTIONS(12792),
    [anon_sym_GT_EQ] = ACTIONS(12790),
    [anon_sym_CARET] = ACTIONS(12790),
    [anon_sym_PLUS] = ACTIONS(12790),
    [anon_sym_SLASH] = ACTIONS(12790),
    [anon_sym_PERCENT] = ACTIONS(12790),
    [sym_comment] = ACTIONS(110),
  },
  [8608] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(692),
    [sym__primary] = STATE(693),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(695),
    [sym_call] = STATE(695),
    [sym_method_call] = STATE(694),
    [sym__argument] = STATE(11371),
    [sym_splat_argument] = STATE(699),
    [sym_hash_splat_argument] = STATE(699),
    [sym_block_argument] = STATE(699),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym_left_assignment_list] = STATE(701),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(702),
    [sym__variable] = STATE(695),
    [sym_reserved_identifier] = STATE(703),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(704),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_pair] = STATE(699),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(1096),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__string_beginning] = ACTIONS(1106),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__block_ampersand] = ACTIONS(1118),
    [sym__splat_star] = ACTIONS(1120),
    [sym__unary_minus] = ACTIONS(1124),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(1128),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(7488),
    [anon_sym_class] = ACTIONS(1134),
    [anon_sym_module] = ACTIONS(1136),
    [anon_sym_return] = ACTIONS(1138),
    [anon_sym_yield] = ACTIONS(1140),
    [anon_sym_break] = ACTIONS(1142),
    [anon_sym_next] = ACTIONS(1144),
    [anon_sym_redo] = ACTIONS(1146),
    [anon_sym_retry] = ACTIONS(1148),
    [anon_sym_if] = ACTIONS(7490),
    [anon_sym_unless] = ACTIONS(7492),
    [anon_sym_while] = ACTIONS(7494),
    [anon_sym_until] = ACTIONS(7496),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1150),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1152),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1154),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(3484),
    [anon_sym_defined_QMARK] = ACTIONS(1156),
    [anon_sym_not] = ACTIONS(1158),
    [anon_sym_BANG] = ACTIONS(1162),
    [anon_sym_TILDE] = ACTIONS(1162),
    [sym_constant] = ACTIONS(1164),
    [sym_identifier] = ACTIONS(1164),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(1168),
    [anon_sym_nil] = ACTIONS(1170),
    [anon_sym_self] = ACTIONS(1172),
    [anon_sym_super] = ACTIONS(1174),
    [anon_sym_true] = ACTIONS(1176),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(1192),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [8609] = {
    [sym_method] = STATE(649),
    [sym_singleton_method] = STATE(649),
    [sym_class] = STATE(649),
    [sym_singleton_class] = STATE(649),
    [sym_module] = STATE(649),
    [sym_return] = STATE(649),
    [sym_yield] = STATE(649),
    [sym_break] = STATE(649),
    [sym_next] = STATE(649),
    [sym_redo] = STATE(649),
    [sym_retry] = STATE(649),
    [sym_while] = STATE(649),
    [sym_until] = STATE(649),
    [sym_for] = STATE(649),
    [sym_case] = STATE(649),
    [sym_if] = STATE(649),
    [sym_unless] = STATE(649),
    [sym_begin] = STATE(649),
    [sym__arg] = STATE(5242),
    [sym__primary] = STATE(693),
    [sym_parenthesized_statements] = STATE(649),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(695),
    [sym_call] = STATE(695),
    [sym_method_call] = STATE(694),
    [sym_splat_argument] = STATE(5243),
    [sym_assignment] = STATE(700),
    [sym_operator_assignment] = STATE(700),
    [sym_conditional] = STATE(700),
    [sym_range] = STATE(700),
    [sym_binary] = STATE(700),
    [sym_unary] = STATE(700),
    [sym__arg_or_splat_arg] = STATE(11372),
    [sym_left_assignment_list] = STATE(701),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(702),
    [sym__variable] = STATE(695),
    [sym_symbol] = STATE(649),
    [sym_complex] = STATE(649),
    [sym_rational] = STATE(649),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(649),
    [sym_string] = STATE(2286),
    [sym_subshell] = STATE(649),
    [sym_array] = STATE(649),
    [sym_hash] = STATE(649),
    [sym_regex] = STATE(649),
    [sym_lambda] = STATE(649),
    [sym__simple_string] = ACTIONS(3410),
    [sym__simple_symbol] = ACTIONS(1098),
    [sym__simple_subshell] = ACTIONS(1100),
    [sym__simple_regex] = ACTIONS(1102),
    [sym__simple_word_list] = ACTIONS(1104),
    [sym__string_beginning] = ACTIONS(3412),
    [sym__symbol_beginning] = ACTIONS(1108),
    [sym__subshell_beginning] = ACTIONS(1110),
    [sym__regex_beginning] = ACTIONS(1112),
    [sym__word_list_beginning] = ACTIONS(1114),
    [sym_heredoc_beginning] = ACTIONS(1116),
    [sym__splat_star] = ACTIONS(3510),
    [sym__unary_minus] = ACTIONS(1124),
    [anon_sym_LBRACE] = ACTIONS(1126),
    [anon_sym_def] = ACTIONS(3416),
    [anon_sym_LPAREN] = ACTIONS(1130),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3420),
    [anon_sym_module] = ACTIONS(3422),
    [anon_sym_return] = ACTIONS(3476),
    [anon_sym_yield] = ACTIONS(3478),
    [anon_sym_break] = ACTIONS(3480),
    [anon_sym_next] = ACTIONS(3482),
    [anon_sym_redo] = ACTIONS(3432),
    [anon_sym_retry] = ACTIONS(3434),
    [anon_sym_if] = ACTIONS(3436),
    [anon_sym_unless] = ACTIONS(3438),
    [anon_sym_while] = ACTIONS(3440),
    [anon_sym_until] = ACTIONS(3442),
    [anon_sym_for] = ACTIONS(3444),
    [anon_sym_case] = ACTIONS(3446),
    [anon_sym_begin] = ACTIONS(3448),
    [anon_sym_PLUS] = ACTIONS(3484),
    [anon_sym_defined_QMARK] = ACTIONS(1156),
    [anon_sym_not] = ACTIONS(3486),
    [anon_sym_BANG] = ACTIONS(1162),
    [anon_sym_TILDE] = ACTIONS(1162),
    [sym_constant] = ACTIONS(3488),
    [sym_identifier] = ACTIONS(3488),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_false] = ACTIONS(1186),
    [anon_sym_nil] = ACTIONS(1188),
    [anon_sym_self] = ACTIONS(3490),
    [anon_sym_super] = ACTIONS(3492),
    [anon_sym_true] = ACTIONS(1184),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1178),
    [sym_float] = ACTIONS(1180),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1182),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1190),
    [sym_keyword__LINE__] = ACTIONS(1190),
    [sym_keyword__ENCODING__] = ACTIONS(1190),
    [sym__character_literal] = ACTIONS(3472),
    [anon_sym_LBRACK] = ACTIONS(1194),
    [anon_sym_DASH_GT] = ACTIONS(1196),
  },
  [8610] = {
    [sym__simple_heredoc_body] = ACTIONS(11422),
    [sym__heredoc_body_beginning] = ACTIONS(11422),
    [sym__string_middle] = ACTIONS(11422),
    [sym__string_end] = ACTIONS(11422),
    [sym__element_reference_left_bracket] = ACTIONS(11422),
    [sym__scope_double_colon] = ACTIONS(11422),
    [sym__binary_minus] = ACTIONS(11422),
    [sym__binary_star] = ACTIONS(11422),
    [anon_sym_DOT] = ACTIONS(11426),
    [anon_sym_COMMA] = ACTIONS(14370),
    [anon_sym_PIPE] = ACTIONS(11426),
    [anon_sym_STAR_STAR] = ACTIONS(11422),
    [anon_sym_AMP] = ACTIONS(11426),
    [anon_sym_LT] = ACTIONS(11426),
    [anon_sym_if] = ACTIONS(11422),
    [anon_sym_unless] = ACTIONS(11422),
    [anon_sym_while] = ACTIONS(11422),
    [anon_sym_until] = ACTIONS(11422),
    [anon_sym_rescue] = ACTIONS(11422),
    [anon_sym_EQ_GT] = ACTIONS(11422),
    [anon_sym_AMP_DOT] = ACTIONS(11422),
    [anon_sym_QMARK] = ACTIONS(11422),
    [anon_sym_DOT_DOT] = ACTIONS(11426),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11422),
    [anon_sym_and] = ACTIONS(11422),
    [anon_sym_or] = ACTIONS(11422),
    [anon_sym_PIPE_PIPE] = ACTIONS(11422),
    [anon_sym_AMP_AMP] = ACTIONS(11422),
    [anon_sym_LT_LT] = ACTIONS(11422),
    [anon_sym_GT_GT] = ACTIONS(11422),
    [anon_sym_EQ_EQ] = ACTIONS(11426),
    [anon_sym_BANG_EQ] = ACTIONS(11422),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11422),
    [anon_sym_LT_EQ_GT] = ACTIONS(11422),
    [anon_sym_EQ_TILDE] = ACTIONS(11422),
    [anon_sym_BANG_TILDE] = ACTIONS(11422),
    [anon_sym_LT_EQ] = ACTIONS(11426),
    [anon_sym_GT] = ACTIONS(11426),
    [anon_sym_GT_EQ] = ACTIONS(11422),
    [anon_sym_CARET] = ACTIONS(11422),
    [anon_sym_PLUS] = ACTIONS(11422),
    [anon_sym_SLASH] = ACTIONS(11422),
    [anon_sym_PERCENT] = ACTIONS(11422),
    [sym_comment] = ACTIONS(110),
  },
  [8611] = {
    [sym__string_middle] = ACTIONS(12894),
    [sym__string_end] = ACTIONS(12894),
    [sym__element_reference_left_bracket] = ACTIONS(12894),
    [sym__scope_double_colon] = ACTIONS(12894),
    [sym__binary_minus] = ACTIONS(12894),
    [sym__binary_star] = ACTIONS(12894),
    [anon_sym_DOT] = ACTIONS(12896),
    [anon_sym_COMMA] = ACTIONS(12894),
    [anon_sym_PIPE] = ACTIONS(12896),
    [anon_sym_STAR_STAR] = ACTIONS(12894),
    [anon_sym_AMP] = ACTIONS(12896),
    [anon_sym_LT] = ACTIONS(12896),
    [anon_sym_if] = ACTIONS(12894),
    [anon_sym_unless] = ACTIONS(12894),
    [anon_sym_while] = ACTIONS(12894),
    [anon_sym_until] = ACTIONS(12894),
    [anon_sym_rescue] = ACTIONS(12894),
    [anon_sym_AMP_DOT] = ACTIONS(12894),
    [anon_sym_QMARK] = ACTIONS(12894),
    [anon_sym_DOT_DOT] = ACTIONS(12896),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12894),
    [anon_sym_and] = ACTIONS(12894),
    [anon_sym_or] = ACTIONS(12894),
    [anon_sym_PIPE_PIPE] = ACTIONS(12894),
    [anon_sym_AMP_AMP] = ACTIONS(12894),
    [anon_sym_LT_LT] = ACTIONS(12894),
    [anon_sym_GT_GT] = ACTIONS(12894),
    [anon_sym_EQ_EQ] = ACTIONS(12896),
    [anon_sym_BANG_EQ] = ACTIONS(12894),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12894),
    [anon_sym_LT_EQ_GT] = ACTIONS(12894),
    [anon_sym_EQ_TILDE] = ACTIONS(12894),
    [anon_sym_BANG_TILDE] = ACTIONS(12894),
    [anon_sym_LT_EQ] = ACTIONS(12896),
    [anon_sym_GT] = ACTIONS(12896),
    [anon_sym_GT_EQ] = ACTIONS(12894),
    [anon_sym_CARET] = ACTIONS(12894),
    [anon_sym_PLUS] = ACTIONS(12894),
    [anon_sym_SLASH] = ACTIONS(12894),
    [anon_sym_PERCENT] = ACTIONS(12894),
    [sym_comment] = ACTIONS(110),
  },
  [8612] = {
    [anon_sym_end] = ACTIONS(14372),
    [sym_comment] = ACTIONS(110),
  },
  [8613] = {
    [sym_elsif] = STATE(3865),
    [sym_else] = STATE(3865),
    [sym__if_tail] = STATE(11375),
    [anon_sym_end] = ACTIONS(14372),
    [anon_sym_elsif] = ACTIONS(9592),
    [anon_sym_else] = ACTIONS(9594),
    [sym_comment] = ACTIONS(110),
  },
  [8614] = {
    [sym__string_middle] = ACTIONS(13064),
    [sym__string_end] = ACTIONS(13064),
    [sym__element_reference_left_bracket] = ACTIONS(13064),
    [sym__scope_double_colon] = ACTIONS(13064),
    [sym__binary_minus] = ACTIONS(13064),
    [sym__binary_star] = ACTIONS(13064),
    [anon_sym_DOT] = ACTIONS(13066),
    [anon_sym_COMMA] = ACTIONS(13064),
    [anon_sym_PIPE] = ACTIONS(13066),
    [anon_sym_STAR_STAR] = ACTIONS(13064),
    [anon_sym_AMP] = ACTIONS(13066),
    [anon_sym_LT] = ACTIONS(13066),
    [anon_sym_if] = ACTIONS(13064),
    [anon_sym_unless] = ACTIONS(13064),
    [anon_sym_while] = ACTIONS(13064),
    [anon_sym_until] = ACTIONS(13064),
    [anon_sym_rescue] = ACTIONS(13064),
    [anon_sym_AMP_DOT] = ACTIONS(13064),
    [anon_sym_QMARK] = ACTIONS(13064),
    [anon_sym_DOT_DOT] = ACTIONS(13066),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(13064),
    [anon_sym_and] = ACTIONS(13064),
    [anon_sym_or] = ACTIONS(13064),
    [anon_sym_PIPE_PIPE] = ACTIONS(13064),
    [anon_sym_AMP_AMP] = ACTIONS(13064),
    [anon_sym_LT_LT] = ACTIONS(13064),
    [anon_sym_GT_GT] = ACTIONS(13064),
    [anon_sym_EQ_EQ] = ACTIONS(13066),
    [anon_sym_BANG_EQ] = ACTIONS(13064),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(13064),
    [anon_sym_LT_EQ_GT] = ACTIONS(13064),
    [anon_sym_EQ_TILDE] = ACTIONS(13064),
    [anon_sym_BANG_TILDE] = ACTIONS(13064),
    [anon_sym_LT_EQ] = ACTIONS(13066),
    [anon_sym_GT] = ACTIONS(13066),
    [anon_sym_GT_EQ] = ACTIONS(13064),
    [anon_sym_CARET] = ACTIONS(13064),
    [anon_sym_PLUS] = ACTIONS(13064),
    [anon_sym_SLASH] = ACTIONS(13064),
    [anon_sym_PERCENT] = ACTIONS(13064),
    [sym_comment] = ACTIONS(110),
  },
  [8615] = {
    [anon_sym_end] = ACTIONS(14374),
    [sym_comment] = ACTIONS(110),
  },
  [8616] = {
    [sym__string_middle] = ACTIONS(13164),
    [sym__string_end] = ACTIONS(13164),
    [sym__element_reference_left_bracket] = ACTIONS(13164),
    [sym__scope_double_colon] = ACTIONS(13164),
    [sym__binary_minus] = ACTIONS(13164),
    [sym__binary_star] = ACTIONS(13164),
    [anon_sym_DOT] = ACTIONS(13166),
    [anon_sym_COMMA] = ACTIONS(13164),
    [anon_sym_PIPE] = ACTIONS(13166),
    [anon_sym_STAR_STAR] = ACTIONS(13164),
    [anon_sym_AMP] = ACTIONS(13166),
    [anon_sym_LT] = ACTIONS(13166),
    [anon_sym_if] = ACTIONS(13164),
    [anon_sym_unless] = ACTIONS(13164),
    [anon_sym_while] = ACTIONS(13164),
    [anon_sym_until] = ACTIONS(13164),
    [anon_sym_rescue] = ACTIONS(13164),
    [anon_sym_AMP_DOT] = ACTIONS(13164),
    [anon_sym_QMARK] = ACTIONS(13164),
    [anon_sym_DOT_DOT] = ACTIONS(13166),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(13164),
    [anon_sym_and] = ACTIONS(13164),
    [anon_sym_or] = ACTIONS(13164),
    [anon_sym_PIPE_PIPE] = ACTIONS(13164),
    [anon_sym_AMP_AMP] = ACTIONS(13164),
    [anon_sym_LT_LT] = ACTIONS(13164),
    [anon_sym_GT_GT] = ACTIONS(13164),
    [anon_sym_EQ_EQ] = ACTIONS(13166),
    [anon_sym_BANG_EQ] = ACTIONS(13164),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(13164),
    [anon_sym_LT_EQ_GT] = ACTIONS(13164),
    [anon_sym_EQ_TILDE] = ACTIONS(13164),
    [anon_sym_BANG_TILDE] = ACTIONS(13164),
    [anon_sym_LT_EQ] = ACTIONS(13166),
    [anon_sym_GT] = ACTIONS(13166),
    [anon_sym_GT_EQ] = ACTIONS(13164),
    [anon_sym_CARET] = ACTIONS(13164),
    [anon_sym_PLUS] = ACTIONS(13164),
    [anon_sym_SLASH] = ACTIONS(13164),
    [anon_sym_PERCENT] = ACTIONS(13164),
    [sym_comment] = ACTIONS(110),
  },
  [8617] = {
    [sym__string_middle] = ACTIONS(13172),
    [sym__string_end] = ACTIONS(13172),
    [sym__element_reference_left_bracket] = ACTIONS(13172),
    [sym__scope_double_colon] = ACTIONS(13172),
    [sym__binary_minus] = ACTIONS(13172),
    [sym__binary_star] = ACTIONS(13172),
    [anon_sym_DOT] = ACTIONS(13174),
    [anon_sym_COMMA] = ACTIONS(13172),
    [anon_sym_PIPE] = ACTIONS(13174),
    [anon_sym_STAR_STAR] = ACTIONS(13172),
    [anon_sym_AMP] = ACTIONS(13174),
    [anon_sym_LT] = ACTIONS(13174),
    [anon_sym_if] = ACTIONS(13172),
    [anon_sym_unless] = ACTIONS(13172),
    [anon_sym_while] = ACTIONS(13172),
    [anon_sym_until] = ACTIONS(13172),
    [anon_sym_rescue] = ACTIONS(13172),
    [anon_sym_AMP_DOT] = ACTIONS(13172),
    [anon_sym_QMARK] = ACTIONS(13172),
    [anon_sym_DOT_DOT] = ACTIONS(13174),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(13172),
    [anon_sym_and] = ACTIONS(13172),
    [anon_sym_or] = ACTIONS(13172),
    [anon_sym_PIPE_PIPE] = ACTIONS(13172),
    [anon_sym_AMP_AMP] = ACTIONS(13172),
    [anon_sym_LT_LT] = ACTIONS(13172),
    [anon_sym_GT_GT] = ACTIONS(13172),
    [anon_sym_EQ_EQ] = ACTIONS(13174),
    [anon_sym_BANG_EQ] = ACTIONS(13172),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(13172),
    [anon_sym_LT_EQ_GT] = ACTIONS(13172),
    [anon_sym_EQ_TILDE] = ACTIONS(13172),
    [anon_sym_BANG_TILDE] = ACTIONS(13172),
    [anon_sym_LT_EQ] = ACTIONS(13174),
    [anon_sym_GT] = ACTIONS(13174),
    [anon_sym_GT_EQ] = ACTIONS(13172),
    [anon_sym_CARET] = ACTIONS(13172),
    [anon_sym_PLUS] = ACTIONS(13172),
    [anon_sym_SLASH] = ACTIONS(13172),
    [anon_sym_PERCENT] = ACTIONS(13172),
    [sym_comment] = ACTIONS(110),
  },
  [8618] = {
    [sym__string_middle] = ACTIONS(13216),
    [sym__string_end] = ACTIONS(13216),
    [sym__element_reference_left_bracket] = ACTIONS(13216),
    [sym__scope_double_colon] = ACTIONS(13216),
    [sym__binary_minus] = ACTIONS(13216),
    [sym__binary_star] = ACTIONS(13216),
    [anon_sym_DOT] = ACTIONS(13218),
    [anon_sym_COMMA] = ACTIONS(13216),
    [anon_sym_PIPE] = ACTIONS(13218),
    [anon_sym_STAR_STAR] = ACTIONS(13216),
    [anon_sym_AMP] = ACTIONS(13218),
    [anon_sym_LT] = ACTIONS(13218),
    [anon_sym_if] = ACTIONS(13216),
    [anon_sym_unless] = ACTIONS(13216),
    [anon_sym_while] = ACTIONS(13216),
    [anon_sym_until] = ACTIONS(13216),
    [anon_sym_rescue] = ACTIONS(13216),
    [anon_sym_AMP_DOT] = ACTIONS(13216),
    [anon_sym_QMARK] = ACTIONS(13216),
    [anon_sym_DOT_DOT] = ACTIONS(13218),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(13216),
    [anon_sym_and] = ACTIONS(13216),
    [anon_sym_or] = ACTIONS(13216),
    [anon_sym_PIPE_PIPE] = ACTIONS(13216),
    [anon_sym_AMP_AMP] = ACTIONS(13216),
    [anon_sym_LT_LT] = ACTIONS(13216),
    [anon_sym_GT_GT] = ACTIONS(13216),
    [anon_sym_EQ_EQ] = ACTIONS(13218),
    [anon_sym_BANG_EQ] = ACTIONS(13216),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(13216),
    [anon_sym_LT_EQ_GT] = ACTIONS(13216),
    [anon_sym_EQ_TILDE] = ACTIONS(13216),
    [anon_sym_BANG_TILDE] = ACTIONS(13216),
    [anon_sym_LT_EQ] = ACTIONS(13218),
    [anon_sym_GT] = ACTIONS(13218),
    [anon_sym_GT_EQ] = ACTIONS(13216),
    [anon_sym_CARET] = ACTIONS(13216),
    [anon_sym_PLUS] = ACTIONS(13216),
    [anon_sym_SLASH] = ACTIONS(13216),
    [anon_sym_PERCENT] = ACTIONS(13216),
    [sym_comment] = ACTIONS(110),
  },
  [8619] = {
    [anon_sym_end] = ACTIONS(14376),
    [sym_comment] = ACTIONS(110),
  },
  [8620] = {
    [sym__string_middle] = ACTIONS(13422),
    [sym__string_end] = ACTIONS(13422),
    [sym__element_reference_left_bracket] = ACTIONS(13422),
    [sym__scope_double_colon] = ACTIONS(13422),
    [sym__binary_minus] = ACTIONS(13422),
    [sym__binary_star] = ACTIONS(13422),
    [anon_sym_DOT] = ACTIONS(13424),
    [anon_sym_COMMA] = ACTIONS(13422),
    [anon_sym_PIPE] = ACTIONS(13424),
    [anon_sym_STAR_STAR] = ACTIONS(13422),
    [anon_sym_AMP] = ACTIONS(13424),
    [anon_sym_LT] = ACTIONS(13424),
    [anon_sym_if] = ACTIONS(13422),
    [anon_sym_unless] = ACTIONS(13422),
    [anon_sym_while] = ACTIONS(13422),
    [anon_sym_until] = ACTIONS(13422),
    [anon_sym_rescue] = ACTIONS(13422),
    [anon_sym_AMP_DOT] = ACTIONS(13422),
    [anon_sym_QMARK] = ACTIONS(13422),
    [anon_sym_DOT_DOT] = ACTIONS(13424),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(13422),
    [anon_sym_and] = ACTIONS(13422),
    [anon_sym_or] = ACTIONS(13422),
    [anon_sym_PIPE_PIPE] = ACTIONS(13422),
    [anon_sym_AMP_AMP] = ACTIONS(13422),
    [anon_sym_LT_LT] = ACTIONS(13422),
    [anon_sym_GT_GT] = ACTIONS(13422),
    [anon_sym_EQ_EQ] = ACTIONS(13424),
    [anon_sym_BANG_EQ] = ACTIONS(13422),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(13422),
    [anon_sym_LT_EQ_GT] = ACTIONS(13422),
    [anon_sym_EQ_TILDE] = ACTIONS(13422),
    [anon_sym_BANG_TILDE] = ACTIONS(13422),
    [anon_sym_LT_EQ] = ACTIONS(13424),
    [anon_sym_GT] = ACTIONS(13424),
    [anon_sym_GT_EQ] = ACTIONS(13422),
    [anon_sym_CARET] = ACTIONS(13422),
    [anon_sym_PLUS] = ACTIONS(13422),
    [anon_sym_SLASH] = ACTIONS(13422),
    [anon_sym_PERCENT] = ACTIONS(13422),
    [sym_comment] = ACTIONS(110),
  },
  [8621] = {
    [sym__string_middle] = ACTIONS(7682),
    [sym__string_end] = ACTIONS(7682),
    [anon_sym_COMMA] = ACTIONS(7682),
    [anon_sym_if] = ACTIONS(7682),
    [anon_sym_unless] = ACTIONS(7682),
    [anon_sym_while] = ACTIONS(7682),
    [anon_sym_until] = ACTIONS(7682),
    [anon_sym_rescue] = ACTIONS(7682),
    [sym_comment] = ACTIONS(110),
  },
  [8622] = {
    [sym__string_middle] = ACTIONS(13832),
    [sym__string_end] = ACTIONS(13832),
    [anon_sym_COMMA] = ACTIONS(13832),
    [anon_sym_if] = ACTIONS(13832),
    [anon_sym_unless] = ACTIONS(13832),
    [anon_sym_while] = ACTIONS(13832),
    [anon_sym_until] = ACTIONS(13832),
    [anon_sym_rescue] = ACTIONS(13832),
    [sym_comment] = ACTIONS(110),
  },
  [8623] = {
    [sym__string_middle] = ACTIONS(14000),
    [sym__string_end] = ACTIONS(14000),
    [sym__element_reference_left_bracket] = ACTIONS(14000),
    [sym__scope_double_colon] = ACTIONS(14000),
    [sym__binary_minus] = ACTIONS(14000),
    [sym__binary_star] = ACTIONS(14000),
    [anon_sym_DOT] = ACTIONS(14002),
    [anon_sym_COMMA] = ACTIONS(14000),
    [anon_sym_PIPE] = ACTIONS(14002),
    [anon_sym_STAR_STAR] = ACTIONS(14000),
    [anon_sym_AMP] = ACTIONS(14002),
    [anon_sym_LT] = ACTIONS(14002),
    [anon_sym_if] = ACTIONS(14000),
    [anon_sym_unless] = ACTIONS(14000),
    [anon_sym_while] = ACTIONS(14000),
    [anon_sym_until] = ACTIONS(14000),
    [anon_sym_rescue] = ACTIONS(14000),
    [anon_sym_AMP_DOT] = ACTIONS(14000),
    [anon_sym_QMARK] = ACTIONS(14000),
    [anon_sym_DOT_DOT] = ACTIONS(14002),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(14000),
    [anon_sym_and] = ACTIONS(14000),
    [anon_sym_or] = ACTIONS(14000),
    [anon_sym_PIPE_PIPE] = ACTIONS(14000),
    [anon_sym_AMP_AMP] = ACTIONS(14000),
    [anon_sym_LT_LT] = ACTIONS(14000),
    [anon_sym_GT_GT] = ACTIONS(14000),
    [anon_sym_EQ_EQ] = ACTIONS(14002),
    [anon_sym_BANG_EQ] = ACTIONS(14000),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(14000),
    [anon_sym_LT_EQ_GT] = ACTIONS(14000),
    [anon_sym_EQ_TILDE] = ACTIONS(14000),
    [anon_sym_BANG_TILDE] = ACTIONS(14000),
    [anon_sym_LT_EQ] = ACTIONS(14002),
    [anon_sym_GT] = ACTIONS(14002),
    [anon_sym_GT_EQ] = ACTIONS(14000),
    [anon_sym_CARET] = ACTIONS(14000),
    [anon_sym_PLUS] = ACTIONS(14000),
    [anon_sym_SLASH] = ACTIONS(14000),
    [anon_sym_PERCENT] = ACTIONS(14000),
    [sym_comment] = ACTIONS(110),
  },
  [8624] = {
    [sym__string_middle] = ACTIONS(14030),
    [sym__string_end] = ACTIONS(14030),
    [sym__element_reference_left_bracket] = ACTIONS(14030),
    [sym__scope_double_colon] = ACTIONS(14030),
    [sym__binary_minus] = ACTIONS(14030),
    [sym__binary_star] = ACTIONS(14030),
    [anon_sym_DOT] = ACTIONS(14032),
    [anon_sym_COMMA] = ACTIONS(14030),
    [anon_sym_PIPE] = ACTIONS(14032),
    [anon_sym_STAR_STAR] = ACTIONS(14030),
    [anon_sym_AMP] = ACTIONS(14032),
    [anon_sym_LT] = ACTIONS(14032),
    [anon_sym_if] = ACTIONS(14030),
    [anon_sym_unless] = ACTIONS(14030),
    [anon_sym_while] = ACTIONS(14030),
    [anon_sym_until] = ACTIONS(14030),
    [anon_sym_rescue] = ACTIONS(14030),
    [anon_sym_AMP_DOT] = ACTIONS(14030),
    [anon_sym_QMARK] = ACTIONS(14030),
    [anon_sym_DOT_DOT] = ACTIONS(14032),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(14030),
    [anon_sym_and] = ACTIONS(14030),
    [anon_sym_or] = ACTIONS(14030),
    [anon_sym_PIPE_PIPE] = ACTIONS(14030),
    [anon_sym_AMP_AMP] = ACTIONS(14030),
    [anon_sym_LT_LT] = ACTIONS(14030),
    [anon_sym_GT_GT] = ACTIONS(14030),
    [anon_sym_EQ_EQ] = ACTIONS(14032),
    [anon_sym_BANG_EQ] = ACTIONS(14030),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(14030),
    [anon_sym_LT_EQ_GT] = ACTIONS(14030),
    [anon_sym_EQ_TILDE] = ACTIONS(14030),
    [anon_sym_BANG_TILDE] = ACTIONS(14030),
    [anon_sym_LT_EQ] = ACTIONS(14032),
    [anon_sym_GT] = ACTIONS(14032),
    [anon_sym_GT_EQ] = ACTIONS(14030),
    [anon_sym_CARET] = ACTIONS(14030),
    [anon_sym_PLUS] = ACTIONS(14030),
    [anon_sym_SLASH] = ACTIONS(14030),
    [anon_sym_PERCENT] = ACTIONS(14030),
    [sym_comment] = ACTIONS(110),
  },
  [8625] = {
    [anon_sym_end] = ACTIONS(14378),
    [sym_comment] = ACTIONS(110),
  },
  [8626] = {
    [sym__statements] = STATE(11379),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14380),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8627] = {
    [sym__string_middle] = ACTIONS(14096),
    [sym__string_end] = ACTIONS(14096),
    [sym__binary_minus] = ACTIONS(1234),
    [sym__binary_star] = ACTIONS(1236),
    [anon_sym_PIPE] = ACTIONS(1238),
    [anon_sym_STAR_STAR] = ACTIONS(1240),
    [anon_sym_AMP] = ACTIONS(1242),
    [anon_sym_LT] = ACTIONS(1244),
    [anon_sym_if] = ACTIONS(14096),
    [anon_sym_unless] = ACTIONS(14096),
    [anon_sym_while] = ACTIONS(14096),
    [anon_sym_until] = ACTIONS(14096),
    [anon_sym_rescue] = ACTIONS(14096),
    [anon_sym_QMARK] = ACTIONS(1246),
    [anon_sym_DOT_DOT] = ACTIONS(1248),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1250),
    [anon_sym_and] = ACTIONS(14096),
    [anon_sym_or] = ACTIONS(14096),
    [anon_sym_PIPE_PIPE] = ACTIONS(1254),
    [anon_sym_AMP_AMP] = ACTIONS(1254),
    [anon_sym_LT_LT] = ACTIONS(1256),
    [anon_sym_GT_GT] = ACTIONS(1256),
    [anon_sym_EQ_EQ] = ACTIONS(1258),
    [anon_sym_BANG_EQ] = ACTIONS(1254),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1254),
    [anon_sym_LT_EQ_GT] = ACTIONS(1254),
    [anon_sym_EQ_TILDE] = ACTIONS(1254),
    [anon_sym_BANG_TILDE] = ACTIONS(1254),
    [anon_sym_LT_EQ] = ACTIONS(1244),
    [anon_sym_GT] = ACTIONS(1244),
    [anon_sym_GT_EQ] = ACTIONS(1260),
    [anon_sym_CARET] = ACTIONS(1262),
    [anon_sym_PLUS] = ACTIONS(1264),
    [anon_sym_SLASH] = ACTIONS(1240),
    [anon_sym_PERCENT] = ACTIONS(1240),
    [sym_comment] = ACTIONS(110),
  },
  [8628] = {
    [sym__string_middle] = ACTIONS(14174),
    [sym__string_end] = ACTIONS(14174),
    [sym__element_reference_left_bracket] = ACTIONS(14174),
    [sym__scope_double_colon] = ACTIONS(14174),
    [sym__binary_minus] = ACTIONS(14174),
    [sym__binary_star] = ACTIONS(14174),
    [anon_sym_DOT] = ACTIONS(14176),
    [anon_sym_COMMA] = ACTIONS(14174),
    [anon_sym_PIPE] = ACTIONS(14176),
    [anon_sym_STAR_STAR] = ACTIONS(14176),
    [anon_sym_AMP] = ACTIONS(14176),
    [anon_sym_EQ] = ACTIONS(14176),
    [anon_sym_LT] = ACTIONS(14176),
    [anon_sym_if] = ACTIONS(14174),
    [anon_sym_unless] = ACTIONS(14174),
    [anon_sym_while] = ACTIONS(14174),
    [anon_sym_until] = ACTIONS(14174),
    [anon_sym_rescue] = ACTIONS(14174),
    [anon_sym_AMP_DOT] = ACTIONS(14174),
    [anon_sym_PLUS_EQ] = ACTIONS(14174),
    [anon_sym_DASH_EQ] = ACTIONS(14174),
    [anon_sym_STAR_EQ] = ACTIONS(14174),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(14174),
    [anon_sym_SLASH_EQ] = ACTIONS(14174),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(14174),
    [anon_sym_PIPE_EQ] = ACTIONS(14174),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(14174),
    [anon_sym_AMP_EQ] = ACTIONS(14174),
    [anon_sym_PERCENT_EQ] = ACTIONS(14174),
    [anon_sym_GT_GT_EQ] = ACTIONS(14174),
    [anon_sym_LT_LT_EQ] = ACTIONS(14174),
    [anon_sym_CARET_EQ] = ACTIONS(14174),
    [anon_sym_QMARK] = ACTIONS(14174),
    [anon_sym_DOT_DOT] = ACTIONS(14176),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(14174),
    [anon_sym_and] = ACTIONS(14174),
    [anon_sym_or] = ACTIONS(14174),
    [anon_sym_PIPE_PIPE] = ACTIONS(14176),
    [anon_sym_AMP_AMP] = ACTIONS(14176),
    [anon_sym_LT_LT] = ACTIONS(14176),
    [anon_sym_GT_GT] = ACTIONS(14176),
    [anon_sym_EQ_EQ] = ACTIONS(14176),
    [anon_sym_BANG_EQ] = ACTIONS(14174),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(14174),
    [anon_sym_LT_EQ_GT] = ACTIONS(14174),
    [anon_sym_EQ_TILDE] = ACTIONS(14174),
    [anon_sym_BANG_TILDE] = ACTIONS(14174),
    [anon_sym_LT_EQ] = ACTIONS(14176),
    [anon_sym_GT] = ACTIONS(14176),
    [anon_sym_GT_EQ] = ACTIONS(14174),
    [anon_sym_CARET] = ACTIONS(14176),
    [anon_sym_PLUS] = ACTIONS(14176),
    [anon_sym_SLASH] = ACTIONS(14176),
    [anon_sym_PERCENT] = ACTIONS(14176),
    [sym_comment] = ACTIONS(256),
  },
  [8629] = {
    [sym__simple_string] = ACTIONS(9456),
    [sym__simple_symbol] = ACTIONS(9456),
    [sym__simple_subshell] = ACTIONS(9456),
    [sym__simple_regex] = ACTIONS(9456),
    [sym__simple_word_list] = ACTIONS(9456),
    [sym__string_beginning] = ACTIONS(9456),
    [sym__symbol_beginning] = ACTIONS(9456),
    [sym__subshell_beginning] = ACTIONS(9456),
    [sym__regex_beginning] = ACTIONS(9456),
    [sym__word_list_beginning] = ACTIONS(9456),
    [sym__string_middle] = ACTIONS(9456),
    [sym__string_end] = ACTIONS(9456),
    [sym_heredoc_beginning] = ACTIONS(9456),
    [sym__element_reference_left_bracket] = ACTIONS(9456),
    [sym__block_ampersand] = ACTIONS(9456),
    [sym__splat_star] = ACTIONS(9456),
    [sym__argument_list_left_paren] = ACTIONS(9456),
    [sym__scope_double_colon] = ACTIONS(9456),
    [sym__unary_minus] = ACTIONS(9456),
    [sym__binary_minus] = ACTIONS(9456),
    [sym__binary_star] = ACTIONS(9456),
    [anon_sym_LBRACE] = ACTIONS(9456),
    [anon_sym_def] = ACTIONS(9458),
    [anon_sym_LPAREN] = ACTIONS(9456),
    [anon_sym_DOT] = ACTIONS(9458),
    [anon_sym_COLON_COLON] = ACTIONS(9456),
    [anon_sym_end] = ACTIONS(9458),
    [anon_sym_COMMA] = ACTIONS(9456),
    [anon_sym_PIPE] = ACTIONS(9458),
    [anon_sym_STAR] = ACTIONS(9458),
    [anon_sym_STAR_STAR] = ACTIONS(9458),
    [anon_sym_AMP] = ACTIONS(9458),
    [anon_sym_EQ] = ACTIONS(9458),
    [anon_sym_class] = ACTIONS(9458),
    [anon_sym_LT] = ACTIONS(9458),
    [anon_sym_module] = ACTIONS(9458),
    [anon_sym_return] = ACTIONS(9458),
    [anon_sym_yield] = ACTIONS(9458),
    [anon_sym_break] = ACTIONS(9458),
    [anon_sym_next] = ACTIONS(9458),
    [anon_sym_redo] = ACTIONS(9458),
    [anon_sym_retry] = ACTIONS(9458),
    [anon_sym_if] = ACTIONS(9458),
    [anon_sym_unless] = ACTIONS(9458),
    [anon_sym_while] = ACTIONS(9458),
    [anon_sym_until] = ACTIONS(9458),
    [anon_sym_rescue] = ACTIONS(9458),
    [anon_sym_for] = ACTIONS(9458),
    [anon_sym_in] = ACTIONS(9458),
    [anon_sym_do] = ACTIONS(9458),
    [anon_sym_case] = ACTIONS(9458),
    [anon_sym_when] = ACTIONS(9458),
    [anon_sym_elsif] = ACTIONS(9458),
    [anon_sym_else] = ACTIONS(9458),
    [anon_sym_then] = ACTIONS(9458),
    [anon_sym_begin] = ACTIONS(9458),
    [anon_sym_ensure] = ACTIONS(9458),
    [anon_sym_AMP_DOT] = ACTIONS(9456),
    [anon_sym_PLUS_EQ] = ACTIONS(9456),
    [anon_sym_DASH_EQ] = ACTIONS(9456),
    [anon_sym_STAR_EQ] = ACTIONS(9456),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9456),
    [anon_sym_SLASH_EQ] = ACTIONS(9456),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9456),
    [anon_sym_PIPE_EQ] = ACTIONS(9456),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9456),
    [anon_sym_AMP_EQ] = ACTIONS(9456),
    [anon_sym_PERCENT_EQ] = ACTIONS(9456),
    [anon_sym_GT_GT_EQ] = ACTIONS(9456),
    [anon_sym_LT_LT_EQ] = ACTIONS(9456),
    [anon_sym_CARET_EQ] = ACTIONS(9456),
    [anon_sym_QMARK] = ACTIONS(9458),
    [anon_sym_DOT_DOT] = ACTIONS(9458),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9456),
    [anon_sym_and] = ACTIONS(9458),
    [anon_sym_or] = ACTIONS(9458),
    [anon_sym_PIPE_PIPE] = ACTIONS(9458),
    [anon_sym_AMP_AMP] = ACTIONS(9458),
    [anon_sym_LT_LT] = ACTIONS(9458),
    [anon_sym_GT_GT] = ACTIONS(9458),
    [anon_sym_EQ_EQ] = ACTIONS(9458),
    [anon_sym_BANG_EQ] = ACTIONS(9456),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9456),
    [anon_sym_LT_EQ_GT] = ACTIONS(9456),
    [anon_sym_EQ_TILDE] = ACTIONS(9456),
    [anon_sym_BANG_TILDE] = ACTIONS(9456),
    [anon_sym_LT_EQ] = ACTIONS(9458),
    [anon_sym_GT] = ACTIONS(9458),
    [anon_sym_GT_EQ] = ACTIONS(9456),
    [anon_sym_CARET] = ACTIONS(9458),
    [anon_sym_PLUS] = ACTIONS(9458),
    [anon_sym_SLASH] = ACTIONS(9458),
    [anon_sym_PERCENT] = ACTIONS(9458),
    [anon_sym_defined_QMARK] = ACTIONS(9456),
    [anon_sym_not] = ACTIONS(9458),
    [anon_sym_BANG] = ACTIONS(9458),
    [anon_sym_TILDE] = ACTIONS(9456),
    [sym_constant] = ACTIONS(14178),
    [sym_identifier] = ACTIONS(14178),
    [sym_instance_variable] = ACTIONS(9458),
    [sym_class_variable] = ACTIONS(9458),
    [sym_global_variable] = ACTIONS(9458),
    [anon_sym_alias] = ACTIONS(9458),
    [anon_sym_defined] = ACTIONS(9458),
    [anon_sym_false] = ACTIONS(9458),
    [anon_sym_nil] = ACTIONS(9458),
    [anon_sym_self] = ACTIONS(9458),
    [anon_sym_super] = ACTIONS(9458),
    [anon_sym_true] = ACTIONS(9458),
    [anon_sym_undef] = ACTIONS(9458),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(9458),
    [sym_float] = ACTIONS(14178),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(9456),
    [anon_sym_TRUE] = ACTIONS(9458),
    [anon_sym_FALSE] = ACTIONS(9458),
    [anon_sym_NIL] = ACTIONS(9458),
    [sym_keyword__FILE__] = ACTIONS(9458),
    [sym_keyword__LINE__] = ACTIONS(9458),
    [sym_keyword__ENCODING__] = ACTIONS(9458),
    [sym__character_literal] = ACTIONS(9458),
    [anon_sym_LBRACK] = ACTIONS(9456),
    [anon_sym_DASH_GT] = ACTIONS(9456),
  },
  [8630] = {
    [anon_sym_RPAREN] = ACTIONS(14382),
    [sym_comment] = ACTIONS(110),
  },
  [8631] = {
    [sym__simple_string] = ACTIONS(7678),
    [sym__simple_heredoc_body] = ACTIONS(7678),
    [sym__string_beginning] = ACTIONS(7678),
    [sym__heredoc_body_beginning] = ACTIONS(7678),
    [sym__string_middle] = ACTIONS(7678),
    [sym__string_end] = ACTIONS(7678),
    [sym__element_reference_left_bracket] = ACTIONS(7678),
    [sym__scope_double_colon] = ACTIONS(7678),
    [sym__keyword_colon] = ACTIONS(7678),
    [sym__binary_minus] = ACTIONS(7678),
    [sym__binary_star] = ACTIONS(7678),
    [anon_sym_LBRACE] = ACTIONS(7678),
    [anon_sym_DOT] = ACTIONS(7680),
    [anon_sym_COMMA] = ACTIONS(7678),
    [anon_sym_PIPE] = ACTIONS(7680),
    [anon_sym_STAR_STAR] = ACTIONS(7680),
    [anon_sym_AMP] = ACTIONS(7680),
    [anon_sym_EQ] = ACTIONS(7680),
    [anon_sym_LT] = ACTIONS(7680),
    [anon_sym_if] = ACTIONS(7678),
    [anon_sym_unless] = ACTIONS(7678),
    [anon_sym_while] = ACTIONS(7678),
    [anon_sym_until] = ACTIONS(7678),
    [anon_sym_rescue] = ACTIONS(7678),
    [anon_sym_do] = ACTIONS(7678),
    [anon_sym_EQ_GT] = ACTIONS(7678),
    [anon_sym_AMP_DOT] = ACTIONS(7678),
    [anon_sym_PLUS_EQ] = ACTIONS(7678),
    [anon_sym_DASH_EQ] = ACTIONS(7678),
    [anon_sym_STAR_EQ] = ACTIONS(7678),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7678),
    [anon_sym_SLASH_EQ] = ACTIONS(7678),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7678),
    [anon_sym_PIPE_EQ] = ACTIONS(7678),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7678),
    [anon_sym_AMP_EQ] = ACTIONS(7678),
    [anon_sym_PERCENT_EQ] = ACTIONS(7678),
    [anon_sym_GT_GT_EQ] = ACTIONS(7678),
    [anon_sym_LT_LT_EQ] = ACTIONS(7678),
    [anon_sym_CARET_EQ] = ACTIONS(7678),
    [anon_sym_QMARK] = ACTIONS(7680),
    [anon_sym_DOT_DOT] = ACTIONS(7680),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7678),
    [anon_sym_and] = ACTIONS(7678),
    [anon_sym_or] = ACTIONS(7678),
    [anon_sym_PIPE_PIPE] = ACTIONS(7680),
    [anon_sym_AMP_AMP] = ACTIONS(7680),
    [anon_sym_LT_LT] = ACTIONS(7680),
    [anon_sym_GT_GT] = ACTIONS(7680),
    [anon_sym_EQ_EQ] = ACTIONS(7680),
    [anon_sym_BANG_EQ] = ACTIONS(7678),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7678),
    [anon_sym_LT_EQ_GT] = ACTIONS(7678),
    [anon_sym_EQ_TILDE] = ACTIONS(7678),
    [anon_sym_BANG_TILDE] = ACTIONS(7678),
    [anon_sym_LT_EQ] = ACTIONS(7680),
    [anon_sym_GT] = ACTIONS(7680),
    [anon_sym_GT_EQ] = ACTIONS(7678),
    [anon_sym_CARET] = ACTIONS(7680),
    [anon_sym_PLUS] = ACTIONS(7680),
    [anon_sym_SLASH] = ACTIONS(7680),
    [anon_sym_PERCENT] = ACTIONS(7680),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(7680),
  },
  [8632] = {
    [sym__simple_heredoc_body] = ACTIONS(7682),
    [sym__heredoc_body_beginning] = ACTIONS(7682),
    [sym__string_middle] = ACTIONS(7682),
    [sym__string_end] = ACTIONS(7682),
    [sym__element_reference_left_bracket] = ACTIONS(7682),
    [sym__scope_double_colon] = ACTIONS(7682),
    [sym__binary_minus] = ACTIONS(7682),
    [sym__binary_star] = ACTIONS(7682),
    [anon_sym_LBRACE] = ACTIONS(7682),
    [anon_sym_DOT] = ACTIONS(7684),
    [anon_sym_COMMA] = ACTIONS(7682),
    [anon_sym_PIPE] = ACTIONS(7684),
    [anon_sym_STAR_STAR] = ACTIONS(7684),
    [anon_sym_AMP] = ACTIONS(7684),
    [anon_sym_EQ] = ACTIONS(7684),
    [anon_sym_LT] = ACTIONS(7684),
    [anon_sym_if] = ACTIONS(7682),
    [anon_sym_unless] = ACTIONS(7682),
    [anon_sym_while] = ACTIONS(7682),
    [anon_sym_until] = ACTIONS(7682),
    [anon_sym_rescue] = ACTIONS(7682),
    [anon_sym_do] = ACTIONS(7682),
    [anon_sym_EQ_GT] = ACTIONS(7682),
    [anon_sym_AMP_DOT] = ACTIONS(7682),
    [anon_sym_PLUS_EQ] = ACTIONS(7682),
    [anon_sym_DASH_EQ] = ACTIONS(7682),
    [anon_sym_STAR_EQ] = ACTIONS(7682),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7682),
    [anon_sym_SLASH_EQ] = ACTIONS(7682),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7682),
    [anon_sym_PIPE_EQ] = ACTIONS(7682),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7682),
    [anon_sym_AMP_EQ] = ACTIONS(7682),
    [anon_sym_PERCENT_EQ] = ACTIONS(7682),
    [anon_sym_GT_GT_EQ] = ACTIONS(7682),
    [anon_sym_LT_LT_EQ] = ACTIONS(7682),
    [anon_sym_CARET_EQ] = ACTIONS(7682),
    [anon_sym_QMARK] = ACTIONS(7682),
    [anon_sym_DOT_DOT] = ACTIONS(7684),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7682),
    [anon_sym_and] = ACTIONS(7682),
    [anon_sym_or] = ACTIONS(7682),
    [anon_sym_PIPE_PIPE] = ACTIONS(7684),
    [anon_sym_AMP_AMP] = ACTIONS(7684),
    [anon_sym_LT_LT] = ACTIONS(7684),
    [anon_sym_GT_GT] = ACTIONS(7684),
    [anon_sym_EQ_EQ] = ACTIONS(7684),
    [anon_sym_BANG_EQ] = ACTIONS(7682),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7682),
    [anon_sym_LT_EQ_GT] = ACTIONS(7682),
    [anon_sym_EQ_TILDE] = ACTIONS(7682),
    [anon_sym_BANG_TILDE] = ACTIONS(7682),
    [anon_sym_LT_EQ] = ACTIONS(7684),
    [anon_sym_GT] = ACTIONS(7684),
    [anon_sym_GT_EQ] = ACTIONS(7682),
    [anon_sym_CARET] = ACTIONS(7684),
    [anon_sym_PLUS] = ACTIONS(7684),
    [anon_sym_SLASH] = ACTIONS(7684),
    [anon_sym_PERCENT] = ACTIONS(7684),
    [sym_comment] = ACTIONS(256),
  },
  [8633] = {
    [sym__simple_heredoc_body] = ACTIONS(7686),
    [sym__heredoc_body_beginning] = ACTIONS(7686),
    [sym__string_middle] = ACTIONS(7686),
    [sym__string_end] = ACTIONS(7686),
    [sym__element_reference_left_bracket] = ACTIONS(7686),
    [sym__scope_double_colon] = ACTIONS(7686),
    [sym__binary_minus] = ACTIONS(7686),
    [sym__binary_star] = ACTIONS(7686),
    [anon_sym_LBRACE] = ACTIONS(7686),
    [anon_sym_DOT] = ACTIONS(7688),
    [anon_sym_COMMA] = ACTIONS(7686),
    [anon_sym_PIPE] = ACTIONS(7688),
    [anon_sym_STAR_STAR] = ACTIONS(7688),
    [anon_sym_AMP] = ACTIONS(7688),
    [anon_sym_EQ] = ACTIONS(7688),
    [anon_sym_LT] = ACTIONS(7688),
    [anon_sym_if] = ACTIONS(7686),
    [anon_sym_unless] = ACTIONS(7686),
    [anon_sym_while] = ACTIONS(7686),
    [anon_sym_until] = ACTIONS(7686),
    [anon_sym_rescue] = ACTIONS(7686),
    [anon_sym_do] = ACTIONS(7686),
    [anon_sym_EQ_GT] = ACTIONS(7686),
    [anon_sym_AMP_DOT] = ACTIONS(7686),
    [anon_sym_PLUS_EQ] = ACTIONS(7686),
    [anon_sym_DASH_EQ] = ACTIONS(7686),
    [anon_sym_STAR_EQ] = ACTIONS(7686),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7686),
    [anon_sym_SLASH_EQ] = ACTIONS(7686),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7686),
    [anon_sym_PIPE_EQ] = ACTIONS(7686),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7686),
    [anon_sym_AMP_EQ] = ACTIONS(7686),
    [anon_sym_PERCENT_EQ] = ACTIONS(7686),
    [anon_sym_GT_GT_EQ] = ACTIONS(7686),
    [anon_sym_LT_LT_EQ] = ACTIONS(7686),
    [anon_sym_CARET_EQ] = ACTIONS(7686),
    [anon_sym_QMARK] = ACTIONS(7686),
    [anon_sym_DOT_DOT] = ACTIONS(7688),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7686),
    [anon_sym_and] = ACTIONS(7686),
    [anon_sym_or] = ACTIONS(7686),
    [anon_sym_PIPE_PIPE] = ACTIONS(7688),
    [anon_sym_AMP_AMP] = ACTIONS(7688),
    [anon_sym_LT_LT] = ACTIONS(7688),
    [anon_sym_GT_GT] = ACTIONS(7688),
    [anon_sym_EQ_EQ] = ACTIONS(7688),
    [anon_sym_BANG_EQ] = ACTIONS(7686),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7686),
    [anon_sym_LT_EQ_GT] = ACTIONS(7686),
    [anon_sym_EQ_TILDE] = ACTIONS(7686),
    [anon_sym_BANG_TILDE] = ACTIONS(7686),
    [anon_sym_LT_EQ] = ACTIONS(7688),
    [anon_sym_GT] = ACTIONS(7688),
    [anon_sym_GT_EQ] = ACTIONS(7686),
    [anon_sym_CARET] = ACTIONS(7688),
    [anon_sym_PLUS] = ACTIONS(7688),
    [anon_sym_SLASH] = ACTIONS(7688),
    [anon_sym_PERCENT] = ACTIONS(7688),
    [sym_comment] = ACTIONS(256),
  },
  [8634] = {
    [sym__simple_heredoc_body] = ACTIONS(7690),
    [sym__heredoc_body_beginning] = ACTIONS(7690),
    [sym__string_middle] = ACTIONS(7690),
    [sym__string_end] = ACTIONS(7690),
    [sym__element_reference_left_bracket] = ACTIONS(7690),
    [sym__scope_double_colon] = ACTIONS(7690),
    [sym__binary_minus] = ACTIONS(7690),
    [sym__binary_star] = ACTIONS(7690),
    [anon_sym_LBRACE] = ACTIONS(7690),
    [anon_sym_DOT] = ACTIONS(7692),
    [anon_sym_COMMA] = ACTIONS(7690),
    [anon_sym_PIPE] = ACTIONS(7692),
    [anon_sym_STAR_STAR] = ACTIONS(7692),
    [anon_sym_AMP] = ACTIONS(7692),
    [anon_sym_EQ] = ACTIONS(7692),
    [anon_sym_LT] = ACTIONS(7692),
    [anon_sym_if] = ACTIONS(7690),
    [anon_sym_unless] = ACTIONS(7690),
    [anon_sym_while] = ACTIONS(7690),
    [anon_sym_until] = ACTIONS(7690),
    [anon_sym_rescue] = ACTIONS(7690),
    [anon_sym_do] = ACTIONS(7690),
    [anon_sym_EQ_GT] = ACTIONS(7690),
    [anon_sym_AMP_DOT] = ACTIONS(7690),
    [anon_sym_PLUS_EQ] = ACTIONS(7690),
    [anon_sym_DASH_EQ] = ACTIONS(7690),
    [anon_sym_STAR_EQ] = ACTIONS(7690),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7690),
    [anon_sym_SLASH_EQ] = ACTIONS(7690),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7690),
    [anon_sym_PIPE_EQ] = ACTIONS(7690),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7690),
    [anon_sym_AMP_EQ] = ACTIONS(7690),
    [anon_sym_PERCENT_EQ] = ACTIONS(7690),
    [anon_sym_GT_GT_EQ] = ACTIONS(7690),
    [anon_sym_LT_LT_EQ] = ACTIONS(7690),
    [anon_sym_CARET_EQ] = ACTIONS(7690),
    [anon_sym_QMARK] = ACTIONS(7690),
    [anon_sym_DOT_DOT] = ACTIONS(7692),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7690),
    [anon_sym_and] = ACTIONS(7690),
    [anon_sym_or] = ACTIONS(7690),
    [anon_sym_PIPE_PIPE] = ACTIONS(7692),
    [anon_sym_AMP_AMP] = ACTIONS(7692),
    [anon_sym_LT_LT] = ACTIONS(7692),
    [anon_sym_GT_GT] = ACTIONS(7692),
    [anon_sym_EQ_EQ] = ACTIONS(7692),
    [anon_sym_BANG_EQ] = ACTIONS(7690),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7690),
    [anon_sym_LT_EQ_GT] = ACTIONS(7690),
    [anon_sym_EQ_TILDE] = ACTIONS(7690),
    [anon_sym_BANG_TILDE] = ACTIONS(7690),
    [anon_sym_LT_EQ] = ACTIONS(7692),
    [anon_sym_GT] = ACTIONS(7692),
    [anon_sym_GT_EQ] = ACTIONS(7690),
    [anon_sym_CARET] = ACTIONS(7692),
    [anon_sym_PLUS] = ACTIONS(7692),
    [anon_sym_SLASH] = ACTIONS(7692),
    [anon_sym_PERCENT] = ACTIONS(7692),
    [sym_comment] = ACTIONS(256),
  },
  [8635] = {
    [sym__simple_heredoc_body] = ACTIONS(7694),
    [sym__heredoc_body_beginning] = ACTIONS(7694),
    [sym__string_middle] = ACTIONS(7694),
    [sym__string_end] = ACTIONS(7694),
    [sym__element_reference_left_bracket] = ACTIONS(7694),
    [sym__scope_double_colon] = ACTIONS(7694),
    [sym__binary_minus] = ACTIONS(7694),
    [sym__binary_star] = ACTIONS(7694),
    [anon_sym_LBRACE] = ACTIONS(7694),
    [anon_sym_DOT] = ACTIONS(7696),
    [anon_sym_COMMA] = ACTIONS(7694),
    [anon_sym_PIPE] = ACTIONS(7696),
    [anon_sym_STAR_STAR] = ACTIONS(7696),
    [anon_sym_AMP] = ACTIONS(7696),
    [anon_sym_EQ] = ACTIONS(7696),
    [anon_sym_LT] = ACTIONS(7696),
    [anon_sym_if] = ACTIONS(7694),
    [anon_sym_unless] = ACTIONS(7694),
    [anon_sym_while] = ACTIONS(7694),
    [anon_sym_until] = ACTIONS(7694),
    [anon_sym_rescue] = ACTIONS(7694),
    [anon_sym_do] = ACTIONS(7694),
    [anon_sym_EQ_GT] = ACTIONS(7694),
    [anon_sym_AMP_DOT] = ACTIONS(7694),
    [anon_sym_PLUS_EQ] = ACTIONS(7694),
    [anon_sym_DASH_EQ] = ACTIONS(7694),
    [anon_sym_STAR_EQ] = ACTIONS(7694),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7694),
    [anon_sym_SLASH_EQ] = ACTIONS(7694),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7694),
    [anon_sym_PIPE_EQ] = ACTIONS(7694),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7694),
    [anon_sym_AMP_EQ] = ACTIONS(7694),
    [anon_sym_PERCENT_EQ] = ACTIONS(7694),
    [anon_sym_GT_GT_EQ] = ACTIONS(7694),
    [anon_sym_LT_LT_EQ] = ACTIONS(7694),
    [anon_sym_CARET_EQ] = ACTIONS(7694),
    [anon_sym_QMARK] = ACTIONS(7694),
    [anon_sym_DOT_DOT] = ACTIONS(7696),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7694),
    [anon_sym_and] = ACTIONS(7694),
    [anon_sym_or] = ACTIONS(7694),
    [anon_sym_PIPE_PIPE] = ACTIONS(7696),
    [anon_sym_AMP_AMP] = ACTIONS(7696),
    [anon_sym_LT_LT] = ACTIONS(7696),
    [anon_sym_GT_GT] = ACTIONS(7696),
    [anon_sym_EQ_EQ] = ACTIONS(7696),
    [anon_sym_BANG_EQ] = ACTIONS(7694),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7694),
    [anon_sym_LT_EQ_GT] = ACTIONS(7694),
    [anon_sym_EQ_TILDE] = ACTIONS(7694),
    [anon_sym_BANG_TILDE] = ACTIONS(7694),
    [anon_sym_LT_EQ] = ACTIONS(7696),
    [anon_sym_GT] = ACTIONS(7696),
    [anon_sym_GT_EQ] = ACTIONS(7694),
    [anon_sym_CARET] = ACTIONS(7696),
    [anon_sym_PLUS] = ACTIONS(7696),
    [anon_sym_SLASH] = ACTIONS(7696),
    [anon_sym_PERCENT] = ACTIONS(7696),
    [sym_comment] = ACTIONS(256),
  },
  [8636] = {
    [sym__simple_string] = ACTIONS(3612),
    [sym__simple_heredoc_body] = ACTIONS(3612),
    [sym__string_beginning] = ACTIONS(3612),
    [sym__heredoc_body_beginning] = ACTIONS(3612),
    [sym__string_middle] = ACTIONS(3612),
    [sym__string_end] = ACTIONS(3612),
    [sym__element_reference_left_bracket] = ACTIONS(3612),
    [sym__scope_double_colon] = ACTIONS(3612),
    [sym__binary_minus] = ACTIONS(3612),
    [sym__binary_star] = ACTIONS(3612),
    [anon_sym_LBRACE] = ACTIONS(3612),
    [anon_sym_DOT] = ACTIONS(3614),
    [anon_sym_COMMA] = ACTIONS(3612),
    [anon_sym_PIPE] = ACTIONS(3614),
    [anon_sym_STAR_STAR] = ACTIONS(3614),
    [anon_sym_AMP] = ACTIONS(3614),
    [anon_sym_EQ] = ACTIONS(3614),
    [anon_sym_LT] = ACTIONS(3614),
    [anon_sym_if] = ACTIONS(3612),
    [anon_sym_unless] = ACTIONS(3612),
    [anon_sym_while] = ACTIONS(3612),
    [anon_sym_until] = ACTIONS(3612),
    [anon_sym_rescue] = ACTIONS(3612),
    [anon_sym_do] = ACTIONS(3612),
    [anon_sym_AMP_DOT] = ACTIONS(3612),
    [anon_sym_PLUS_EQ] = ACTIONS(3612),
    [anon_sym_DASH_EQ] = ACTIONS(3612),
    [anon_sym_STAR_EQ] = ACTIONS(3612),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3612),
    [anon_sym_SLASH_EQ] = ACTIONS(3612),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3612),
    [anon_sym_PIPE_EQ] = ACTIONS(3612),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3612),
    [anon_sym_AMP_EQ] = ACTIONS(3612),
    [anon_sym_PERCENT_EQ] = ACTIONS(3612),
    [anon_sym_GT_GT_EQ] = ACTIONS(3612),
    [anon_sym_LT_LT_EQ] = ACTIONS(3612),
    [anon_sym_CARET_EQ] = ACTIONS(3612),
    [anon_sym_QMARK] = ACTIONS(3614),
    [anon_sym_DOT_DOT] = ACTIONS(3614),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3612),
    [anon_sym_and] = ACTIONS(3612),
    [anon_sym_or] = ACTIONS(3612),
    [anon_sym_PIPE_PIPE] = ACTIONS(3614),
    [anon_sym_AMP_AMP] = ACTIONS(3614),
    [anon_sym_LT_LT] = ACTIONS(3614),
    [anon_sym_GT_GT] = ACTIONS(3614),
    [anon_sym_EQ_EQ] = ACTIONS(3614),
    [anon_sym_BANG_EQ] = ACTIONS(3612),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3612),
    [anon_sym_LT_EQ_GT] = ACTIONS(3612),
    [anon_sym_EQ_TILDE] = ACTIONS(3612),
    [anon_sym_BANG_TILDE] = ACTIONS(3612),
    [anon_sym_LT_EQ] = ACTIONS(3614),
    [anon_sym_GT] = ACTIONS(3614),
    [anon_sym_GT_EQ] = ACTIONS(3612),
    [anon_sym_CARET] = ACTIONS(3614),
    [anon_sym_PLUS] = ACTIONS(3614),
    [anon_sym_SLASH] = ACTIONS(3614),
    [anon_sym_PERCENT] = ACTIONS(3614),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(3614),
  },
  [8637] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(14384),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [8638] = {
    [sym__simple_heredoc_body] = ACTIONS(3844),
    [sym__heredoc_body_beginning] = ACTIONS(3844),
    [sym__string_middle] = ACTIONS(3844),
    [sym__string_end] = ACTIONS(3844),
    [sym__element_reference_left_bracket] = ACTIONS(3844),
    [sym__scope_double_colon] = ACTIONS(3844),
    [sym__binary_minus] = ACTIONS(3844),
    [sym__binary_star] = ACTIONS(3844),
    [anon_sym_LBRACE] = ACTIONS(3844),
    [anon_sym_DOT] = ACTIONS(3846),
    [anon_sym_COMMA] = ACTIONS(3844),
    [anon_sym_PIPE] = ACTIONS(3846),
    [anon_sym_STAR_STAR] = ACTIONS(3846),
    [anon_sym_AMP] = ACTIONS(3846),
    [anon_sym_EQ] = ACTIONS(3846),
    [anon_sym_LT] = ACTIONS(3846),
    [anon_sym_if] = ACTIONS(3844),
    [anon_sym_unless] = ACTIONS(3844),
    [anon_sym_while] = ACTIONS(3844),
    [anon_sym_until] = ACTIONS(3844),
    [anon_sym_rescue] = ACTIONS(3844),
    [anon_sym_do] = ACTIONS(3844),
    [anon_sym_AMP_DOT] = ACTIONS(3844),
    [anon_sym_PLUS_EQ] = ACTIONS(3844),
    [anon_sym_DASH_EQ] = ACTIONS(3844),
    [anon_sym_STAR_EQ] = ACTIONS(3844),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3844),
    [anon_sym_SLASH_EQ] = ACTIONS(3844),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3844),
    [anon_sym_PIPE_EQ] = ACTIONS(3844),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3844),
    [anon_sym_AMP_EQ] = ACTIONS(3844),
    [anon_sym_PERCENT_EQ] = ACTIONS(3844),
    [anon_sym_GT_GT_EQ] = ACTIONS(3844),
    [anon_sym_LT_LT_EQ] = ACTIONS(3844),
    [anon_sym_CARET_EQ] = ACTIONS(3844),
    [anon_sym_QMARK] = ACTIONS(3844),
    [anon_sym_DOT_DOT] = ACTIONS(3846),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3844),
    [anon_sym_and] = ACTIONS(3844),
    [anon_sym_or] = ACTIONS(3844),
    [anon_sym_PIPE_PIPE] = ACTIONS(3846),
    [anon_sym_AMP_AMP] = ACTIONS(3846),
    [anon_sym_LT_LT] = ACTIONS(3846),
    [anon_sym_GT_GT] = ACTIONS(3846),
    [anon_sym_EQ_EQ] = ACTIONS(3846),
    [anon_sym_BANG_EQ] = ACTIONS(3844),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3844),
    [anon_sym_LT_EQ_GT] = ACTIONS(3844),
    [anon_sym_EQ_TILDE] = ACTIONS(3844),
    [anon_sym_BANG_TILDE] = ACTIONS(3844),
    [anon_sym_LT_EQ] = ACTIONS(3846),
    [anon_sym_GT] = ACTIONS(3846),
    [anon_sym_GT_EQ] = ACTIONS(3844),
    [anon_sym_CARET] = ACTIONS(3846),
    [anon_sym_PLUS] = ACTIONS(3846),
    [anon_sym_SLASH] = ACTIONS(3846),
    [anon_sym_PERCENT] = ACTIONS(3846),
    [sym_comment] = ACTIONS(256),
  },
  [8639] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(14386),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [8640] = {
    [sym__simple_heredoc_body] = ACTIONS(3850),
    [sym__heredoc_body_beginning] = ACTIONS(3850),
    [sym__string_middle] = ACTIONS(3850),
    [sym__string_end] = ACTIONS(3850),
    [sym__element_reference_left_bracket] = ACTIONS(3850),
    [sym__scope_double_colon] = ACTIONS(3850),
    [sym__binary_minus] = ACTIONS(3850),
    [sym__binary_star] = ACTIONS(3850),
    [anon_sym_LBRACE] = ACTIONS(3850),
    [anon_sym_DOT] = ACTIONS(3852),
    [anon_sym_COMMA] = ACTIONS(3850),
    [anon_sym_PIPE] = ACTIONS(3852),
    [anon_sym_STAR_STAR] = ACTIONS(3852),
    [anon_sym_AMP] = ACTIONS(3852),
    [anon_sym_EQ] = ACTIONS(3852),
    [anon_sym_LT] = ACTIONS(3852),
    [anon_sym_if] = ACTIONS(3850),
    [anon_sym_unless] = ACTIONS(3850),
    [anon_sym_while] = ACTIONS(3850),
    [anon_sym_until] = ACTIONS(3850),
    [anon_sym_rescue] = ACTIONS(3850),
    [anon_sym_do] = ACTIONS(3850),
    [anon_sym_AMP_DOT] = ACTIONS(3850),
    [anon_sym_PLUS_EQ] = ACTIONS(3850),
    [anon_sym_DASH_EQ] = ACTIONS(3850),
    [anon_sym_STAR_EQ] = ACTIONS(3850),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3850),
    [anon_sym_SLASH_EQ] = ACTIONS(3850),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3850),
    [anon_sym_PIPE_EQ] = ACTIONS(3850),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3850),
    [anon_sym_AMP_EQ] = ACTIONS(3850),
    [anon_sym_PERCENT_EQ] = ACTIONS(3850),
    [anon_sym_GT_GT_EQ] = ACTIONS(3850),
    [anon_sym_LT_LT_EQ] = ACTIONS(3850),
    [anon_sym_CARET_EQ] = ACTIONS(3850),
    [anon_sym_QMARK] = ACTIONS(3850),
    [anon_sym_DOT_DOT] = ACTIONS(3852),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3850),
    [anon_sym_and] = ACTIONS(3850),
    [anon_sym_or] = ACTIONS(3850),
    [anon_sym_PIPE_PIPE] = ACTIONS(3852),
    [anon_sym_AMP_AMP] = ACTIONS(3852),
    [anon_sym_LT_LT] = ACTIONS(3852),
    [anon_sym_GT_GT] = ACTIONS(3852),
    [anon_sym_EQ_EQ] = ACTIONS(3852),
    [anon_sym_BANG_EQ] = ACTIONS(3850),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3850),
    [anon_sym_LT_EQ_GT] = ACTIONS(3850),
    [anon_sym_EQ_TILDE] = ACTIONS(3850),
    [anon_sym_BANG_TILDE] = ACTIONS(3850),
    [anon_sym_LT_EQ] = ACTIONS(3852),
    [anon_sym_GT] = ACTIONS(3852),
    [anon_sym_GT_EQ] = ACTIONS(3850),
    [anon_sym_CARET] = ACTIONS(3852),
    [anon_sym_PLUS] = ACTIONS(3852),
    [anon_sym_SLASH] = ACTIONS(3852),
    [anon_sym_PERCENT] = ACTIONS(3852),
    [sym_comment] = ACTIONS(256),
  },
  [8641] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(14388),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [8642] = {
    [sym__simple_heredoc_body] = ACTIONS(3856),
    [sym__heredoc_body_beginning] = ACTIONS(3856),
    [sym__string_middle] = ACTIONS(3856),
    [sym__string_end] = ACTIONS(3856),
    [sym__element_reference_left_bracket] = ACTIONS(3856),
    [sym__scope_double_colon] = ACTIONS(3856),
    [sym__binary_minus] = ACTIONS(3856),
    [sym__binary_star] = ACTIONS(3856),
    [anon_sym_LBRACE] = ACTIONS(3856),
    [anon_sym_DOT] = ACTIONS(3858),
    [anon_sym_COMMA] = ACTIONS(3856),
    [anon_sym_PIPE] = ACTIONS(3858),
    [anon_sym_STAR_STAR] = ACTIONS(3858),
    [anon_sym_AMP] = ACTIONS(3858),
    [anon_sym_EQ] = ACTIONS(3858),
    [anon_sym_LT] = ACTIONS(3858),
    [anon_sym_if] = ACTIONS(3856),
    [anon_sym_unless] = ACTIONS(3856),
    [anon_sym_while] = ACTIONS(3856),
    [anon_sym_until] = ACTIONS(3856),
    [anon_sym_rescue] = ACTIONS(3856),
    [anon_sym_do] = ACTIONS(3856),
    [anon_sym_AMP_DOT] = ACTIONS(3856),
    [anon_sym_PLUS_EQ] = ACTIONS(3856),
    [anon_sym_DASH_EQ] = ACTIONS(3856),
    [anon_sym_STAR_EQ] = ACTIONS(3856),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3856),
    [anon_sym_SLASH_EQ] = ACTIONS(3856),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3856),
    [anon_sym_PIPE_EQ] = ACTIONS(3856),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3856),
    [anon_sym_AMP_EQ] = ACTIONS(3856),
    [anon_sym_PERCENT_EQ] = ACTIONS(3856),
    [anon_sym_GT_GT_EQ] = ACTIONS(3856),
    [anon_sym_LT_LT_EQ] = ACTIONS(3856),
    [anon_sym_CARET_EQ] = ACTIONS(3856),
    [anon_sym_QMARK] = ACTIONS(3856),
    [anon_sym_DOT_DOT] = ACTIONS(3858),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3856),
    [anon_sym_and] = ACTIONS(3856),
    [anon_sym_or] = ACTIONS(3856),
    [anon_sym_PIPE_PIPE] = ACTIONS(3858),
    [anon_sym_AMP_AMP] = ACTIONS(3858),
    [anon_sym_LT_LT] = ACTIONS(3858),
    [anon_sym_GT_GT] = ACTIONS(3858),
    [anon_sym_EQ_EQ] = ACTIONS(3858),
    [anon_sym_BANG_EQ] = ACTIONS(3856),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3856),
    [anon_sym_LT_EQ_GT] = ACTIONS(3856),
    [anon_sym_EQ_TILDE] = ACTIONS(3856),
    [anon_sym_BANG_TILDE] = ACTIONS(3856),
    [anon_sym_LT_EQ] = ACTIONS(3858),
    [anon_sym_GT] = ACTIONS(3858),
    [anon_sym_GT_EQ] = ACTIONS(3856),
    [anon_sym_CARET] = ACTIONS(3858),
    [anon_sym_PLUS] = ACTIONS(3858),
    [anon_sym_SLASH] = ACTIONS(3858),
    [anon_sym_PERCENT] = ACTIONS(3858),
    [sym_comment] = ACTIONS(256),
  },
  [8643] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(14390),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [8644] = {
    [sym__simple_heredoc_body] = ACTIONS(3862),
    [sym__heredoc_body_beginning] = ACTIONS(3862),
    [sym__string_middle] = ACTIONS(3862),
    [sym__string_end] = ACTIONS(3862),
    [sym__element_reference_left_bracket] = ACTIONS(3862),
    [sym__scope_double_colon] = ACTIONS(3862),
    [sym__binary_minus] = ACTIONS(3862),
    [sym__binary_star] = ACTIONS(3862),
    [anon_sym_LBRACE] = ACTIONS(3862),
    [anon_sym_DOT] = ACTIONS(3864),
    [anon_sym_COMMA] = ACTIONS(3862),
    [anon_sym_PIPE] = ACTIONS(3864),
    [anon_sym_STAR_STAR] = ACTIONS(3864),
    [anon_sym_AMP] = ACTIONS(3864),
    [anon_sym_EQ] = ACTIONS(3864),
    [anon_sym_LT] = ACTIONS(3864),
    [anon_sym_if] = ACTIONS(3862),
    [anon_sym_unless] = ACTIONS(3862),
    [anon_sym_while] = ACTIONS(3862),
    [anon_sym_until] = ACTIONS(3862),
    [anon_sym_rescue] = ACTIONS(3862),
    [anon_sym_do] = ACTIONS(3862),
    [anon_sym_AMP_DOT] = ACTIONS(3862),
    [anon_sym_PLUS_EQ] = ACTIONS(3862),
    [anon_sym_DASH_EQ] = ACTIONS(3862),
    [anon_sym_STAR_EQ] = ACTIONS(3862),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3862),
    [anon_sym_SLASH_EQ] = ACTIONS(3862),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3862),
    [anon_sym_PIPE_EQ] = ACTIONS(3862),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3862),
    [anon_sym_AMP_EQ] = ACTIONS(3862),
    [anon_sym_PERCENT_EQ] = ACTIONS(3862),
    [anon_sym_GT_GT_EQ] = ACTIONS(3862),
    [anon_sym_LT_LT_EQ] = ACTIONS(3862),
    [anon_sym_CARET_EQ] = ACTIONS(3862),
    [anon_sym_QMARK] = ACTIONS(3862),
    [anon_sym_DOT_DOT] = ACTIONS(3864),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3862),
    [anon_sym_and] = ACTIONS(3862),
    [anon_sym_or] = ACTIONS(3862),
    [anon_sym_PIPE_PIPE] = ACTIONS(3864),
    [anon_sym_AMP_AMP] = ACTIONS(3864),
    [anon_sym_LT_LT] = ACTIONS(3864),
    [anon_sym_GT_GT] = ACTIONS(3864),
    [anon_sym_EQ_EQ] = ACTIONS(3864),
    [anon_sym_BANG_EQ] = ACTIONS(3862),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3862),
    [anon_sym_LT_EQ_GT] = ACTIONS(3862),
    [anon_sym_EQ_TILDE] = ACTIONS(3862),
    [anon_sym_BANG_TILDE] = ACTIONS(3862),
    [anon_sym_LT_EQ] = ACTIONS(3864),
    [anon_sym_GT] = ACTIONS(3864),
    [anon_sym_GT_EQ] = ACTIONS(3862),
    [anon_sym_CARET] = ACTIONS(3864),
    [anon_sym_PLUS] = ACTIONS(3864),
    [anon_sym_SLASH] = ACTIONS(3864),
    [anon_sym_PERCENT] = ACTIONS(3864),
    [sym_comment] = ACTIONS(256),
  },
  [8645] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(14392),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [8646] = {
    [sym__simple_heredoc_body] = ACTIONS(4578),
    [sym__heredoc_body_beginning] = ACTIONS(4578),
    [sym__string_middle] = ACTIONS(4578),
    [sym__string_end] = ACTIONS(4578),
    [sym__element_reference_left_bracket] = ACTIONS(4578),
    [sym__scope_double_colon] = ACTIONS(4578),
    [sym__binary_minus] = ACTIONS(4578),
    [sym__binary_star] = ACTIONS(4578),
    [anon_sym_LBRACE] = ACTIONS(4578),
    [anon_sym_DOT] = ACTIONS(4580),
    [anon_sym_COMMA] = ACTIONS(4578),
    [anon_sym_PIPE] = ACTIONS(4580),
    [anon_sym_STAR_STAR] = ACTIONS(4580),
    [anon_sym_AMP] = ACTIONS(4580),
    [anon_sym_EQ] = ACTIONS(4580),
    [anon_sym_LT] = ACTIONS(4580),
    [anon_sym_if] = ACTIONS(4578),
    [anon_sym_unless] = ACTIONS(4578),
    [anon_sym_while] = ACTIONS(4578),
    [anon_sym_until] = ACTIONS(4578),
    [anon_sym_rescue] = ACTIONS(4578),
    [anon_sym_do] = ACTIONS(4578),
    [anon_sym_AMP_DOT] = ACTIONS(4578),
    [anon_sym_PLUS_EQ] = ACTIONS(4578),
    [anon_sym_DASH_EQ] = ACTIONS(4578),
    [anon_sym_STAR_EQ] = ACTIONS(4578),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(4578),
    [anon_sym_SLASH_EQ] = ACTIONS(4578),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(4578),
    [anon_sym_PIPE_EQ] = ACTIONS(4578),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(4578),
    [anon_sym_AMP_EQ] = ACTIONS(4578),
    [anon_sym_PERCENT_EQ] = ACTIONS(4578),
    [anon_sym_GT_GT_EQ] = ACTIONS(4578),
    [anon_sym_LT_LT_EQ] = ACTIONS(4578),
    [anon_sym_CARET_EQ] = ACTIONS(4578),
    [anon_sym_QMARK] = ACTIONS(4578),
    [anon_sym_DOT_DOT] = ACTIONS(4580),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4578),
    [anon_sym_and] = ACTIONS(4578),
    [anon_sym_or] = ACTIONS(4578),
    [anon_sym_PIPE_PIPE] = ACTIONS(4580),
    [anon_sym_AMP_AMP] = ACTIONS(4580),
    [anon_sym_LT_LT] = ACTIONS(4580),
    [anon_sym_GT_GT] = ACTIONS(4580),
    [anon_sym_EQ_EQ] = ACTIONS(4580),
    [anon_sym_BANG_EQ] = ACTIONS(4578),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4578),
    [anon_sym_LT_EQ_GT] = ACTIONS(4578),
    [anon_sym_EQ_TILDE] = ACTIONS(4578),
    [anon_sym_BANG_TILDE] = ACTIONS(4578),
    [anon_sym_LT_EQ] = ACTIONS(4580),
    [anon_sym_GT] = ACTIONS(4580),
    [anon_sym_GT_EQ] = ACTIONS(4578),
    [anon_sym_CARET] = ACTIONS(4580),
    [anon_sym_PLUS] = ACTIONS(4580),
    [anon_sym_SLASH] = ACTIONS(4580),
    [anon_sym_PERCENT] = ACTIONS(4580),
    [sym_comment] = ACTIONS(256),
  },
  [8647] = {
    [anon_sym_RBRACE] = ACTIONS(14394),
    [sym_comment] = ACTIONS(110),
  },
  [8648] = {
    [sym__binary_minus] = ACTIONS(4614),
    [sym__binary_star] = ACTIONS(4616),
    [anon_sym_RPAREN] = ACTIONS(14396),
    [anon_sym_PIPE] = ACTIONS(4620),
    [anon_sym_STAR_STAR] = ACTIONS(4622),
    [anon_sym_AMP] = ACTIONS(4624),
    [anon_sym_LT] = ACTIONS(4626),
    [anon_sym_QMARK] = ACTIONS(4628),
    [anon_sym_DOT_DOT] = ACTIONS(4630),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4632),
    [anon_sym_and] = ACTIONS(4634),
    [anon_sym_or] = ACTIONS(4634),
    [anon_sym_PIPE_PIPE] = ACTIONS(4636),
    [anon_sym_AMP_AMP] = ACTIONS(4636),
    [anon_sym_LT_LT] = ACTIONS(4638),
    [anon_sym_GT_GT] = ACTIONS(4638),
    [anon_sym_EQ_EQ] = ACTIONS(4640),
    [anon_sym_BANG_EQ] = ACTIONS(4636),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4636),
    [anon_sym_LT_EQ_GT] = ACTIONS(4636),
    [anon_sym_EQ_TILDE] = ACTIONS(4636),
    [anon_sym_BANG_TILDE] = ACTIONS(4636),
    [anon_sym_LT_EQ] = ACTIONS(4626),
    [anon_sym_GT] = ACTIONS(4626),
    [anon_sym_GT_EQ] = ACTIONS(4642),
    [anon_sym_CARET] = ACTIONS(4644),
    [anon_sym_PLUS] = ACTIONS(4646),
    [anon_sym_SLASH] = ACTIONS(4622),
    [anon_sym_PERCENT] = ACTIONS(4622),
    [sym_comment] = ACTIONS(110),
  },
  [8649] = {
    [sym__method_rest] = STATE(11388),
    [sym_operator] = STATE(217),
    [sym__method_name] = STATE(5307),
    [sym_setter] = STATE(217),
    [sym_symbol] = STATE(217),
    [sym__simple_symbol] = ACTIONS(378),
    [sym__symbol_beginning] = ACTIONS(380),
    [anon_sym_PIPE] = ACTIONS(384),
    [anon_sym_STAR] = ACTIONS(386),
    [anon_sym_STAR_STAR] = ACTIONS(384),
    [anon_sym_AMP] = ACTIONS(384),
    [anon_sym_LT] = ACTIONS(386),
    [anon_sym_DOT_DOT] = ACTIONS(384),
    [anon_sym_LT_LT] = ACTIONS(384),
    [anon_sym_GT_GT] = ACTIONS(384),
    [anon_sym_EQ_EQ] = ACTIONS(386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(384),
    [anon_sym_LT_EQ_GT] = ACTIONS(384),
    [anon_sym_EQ_TILDE] = ACTIONS(384),
    [anon_sym_BANG_TILDE] = ACTIONS(384),
    [anon_sym_LT_EQ] = ACTIONS(386),
    [anon_sym_GT] = ACTIONS(386),
    [anon_sym_GT_EQ] = ACTIONS(384),
    [anon_sym_CARET] = ACTIONS(384),
    [anon_sym_PLUS] = ACTIONS(386),
    [anon_sym_SLASH] = ACTIONS(384),
    [anon_sym_PERCENT] = ACTIONS(384),
    [anon_sym_BANG] = ACTIONS(386),
    [anon_sym_TILDE] = ACTIONS(384),
    [sym_constant] = ACTIONS(4694),
    [sym_identifier] = ACTIONS(4696),
    [sym_instance_variable] = ACTIONS(4694),
    [sym_class_variable] = ACTIONS(4694),
    [sym_global_variable] = ACTIONS(4694),
    [anon_sym_DASH] = ACTIONS(386),
    [anon_sym_PLUS_AT] = ACTIONS(384),
    [anon_sym_DASH_AT] = ACTIONS(384),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(386),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(384),
    [anon_sym_BQUOTE] = ACTIONS(384),
    [sym_comment] = ACTIONS(110),
  },
  [8650] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(11390),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14398),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8651] = {
    [sym__simple_heredoc_body] = ACTIONS(4826),
    [sym__heredoc_body_beginning] = ACTIONS(4826),
    [sym__string_middle] = ACTIONS(4826),
    [sym__string_end] = ACTIONS(4826),
    [sym__element_reference_left_bracket] = ACTIONS(4826),
    [sym__scope_double_colon] = ACTIONS(4826),
    [sym__binary_minus] = ACTIONS(4826),
    [sym__binary_star] = ACTIONS(4826),
    [anon_sym_LBRACE] = ACTIONS(4826),
    [anon_sym_DOT] = ACTIONS(4828),
    [anon_sym_COMMA] = ACTIONS(4826),
    [anon_sym_PIPE] = ACTIONS(4828),
    [anon_sym_STAR_STAR] = ACTIONS(4828),
    [anon_sym_AMP] = ACTIONS(4828),
    [anon_sym_EQ] = ACTIONS(4828),
    [anon_sym_LT] = ACTIONS(4828),
    [anon_sym_if] = ACTIONS(4826),
    [anon_sym_unless] = ACTIONS(4826),
    [anon_sym_while] = ACTIONS(4826),
    [anon_sym_until] = ACTIONS(4826),
    [anon_sym_rescue] = ACTIONS(4826),
    [anon_sym_do] = ACTIONS(4826),
    [anon_sym_AMP_DOT] = ACTIONS(4826),
    [anon_sym_PLUS_EQ] = ACTIONS(4826),
    [anon_sym_DASH_EQ] = ACTIONS(4826),
    [anon_sym_STAR_EQ] = ACTIONS(4826),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(4826),
    [anon_sym_SLASH_EQ] = ACTIONS(4826),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(4826),
    [anon_sym_PIPE_EQ] = ACTIONS(4826),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(4826),
    [anon_sym_AMP_EQ] = ACTIONS(4826),
    [anon_sym_PERCENT_EQ] = ACTIONS(4826),
    [anon_sym_GT_GT_EQ] = ACTIONS(4826),
    [anon_sym_LT_LT_EQ] = ACTIONS(4826),
    [anon_sym_CARET_EQ] = ACTIONS(4826),
    [anon_sym_QMARK] = ACTIONS(4826),
    [anon_sym_DOT_DOT] = ACTIONS(4828),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4826),
    [anon_sym_and] = ACTIONS(4826),
    [anon_sym_or] = ACTIONS(4826),
    [anon_sym_PIPE_PIPE] = ACTIONS(4828),
    [anon_sym_AMP_AMP] = ACTIONS(4828),
    [anon_sym_LT_LT] = ACTIONS(4828),
    [anon_sym_GT_GT] = ACTIONS(4828),
    [anon_sym_EQ_EQ] = ACTIONS(4828),
    [anon_sym_BANG_EQ] = ACTIONS(4826),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4826),
    [anon_sym_LT_EQ_GT] = ACTIONS(4826),
    [anon_sym_EQ_TILDE] = ACTIONS(4826),
    [anon_sym_BANG_TILDE] = ACTIONS(4826),
    [anon_sym_LT_EQ] = ACTIONS(4828),
    [anon_sym_GT] = ACTIONS(4828),
    [anon_sym_GT_EQ] = ACTIONS(4826),
    [anon_sym_CARET] = ACTIONS(4828),
    [anon_sym_PLUS] = ACTIONS(4828),
    [anon_sym_SLASH] = ACTIONS(4828),
    [anon_sym_PERCENT] = ACTIONS(4828),
    [sym_comment] = ACTIONS(256),
  },
  [8652] = {
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(11391),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym__line_break] = ACTIONS(692),
    [sym__binary_minus] = ACTIONS(5168),
    [sym__binary_star] = ACTIONS(5170),
    [anon_sym_PIPE] = ACTIONS(5172),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR_STAR] = ACTIONS(5174),
    [anon_sym_AMP] = ACTIONS(5176),
    [anon_sym_LT] = ACTIONS(5178),
    [anon_sym_QMARK] = ACTIONS(5180),
    [anon_sym_DOT_DOT] = ACTIONS(5182),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5184),
    [anon_sym_and] = ACTIONS(5186),
    [anon_sym_or] = ACTIONS(5186),
    [anon_sym_PIPE_PIPE] = ACTIONS(5188),
    [anon_sym_AMP_AMP] = ACTIONS(5188),
    [anon_sym_LT_LT] = ACTIONS(5190),
    [anon_sym_GT_GT] = ACTIONS(5190),
    [anon_sym_EQ_EQ] = ACTIONS(5192),
    [anon_sym_BANG_EQ] = ACTIONS(5188),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5188),
    [anon_sym_LT_EQ_GT] = ACTIONS(5188),
    [anon_sym_EQ_TILDE] = ACTIONS(5188),
    [anon_sym_BANG_TILDE] = ACTIONS(5188),
    [anon_sym_LT_EQ] = ACTIONS(5178),
    [anon_sym_GT] = ACTIONS(5178),
    [anon_sym_GT_EQ] = ACTIONS(5194),
    [anon_sym_CARET] = ACTIONS(5196),
    [anon_sym_PLUS] = ACTIONS(5198),
    [anon_sym_SLASH] = ACTIONS(5174),
    [anon_sym_PERCENT] = ACTIONS(5174),
    [sym_comment] = ACTIONS(110),
  },
  [8653] = {
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(11392),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym__line_break] = ACTIONS(692),
    [anon_sym_SEMI] = ACTIONS(692),
    [sym_comment] = ACTIONS(110),
  },
  [8654] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(11394),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8655] = {
    [sym__simple_heredoc_body] = ACTIONS(5290),
    [sym__heredoc_body_beginning] = ACTIONS(5290),
    [sym__string_middle] = ACTIONS(5290),
    [sym__string_end] = ACTIONS(5290),
    [sym__element_reference_left_bracket] = ACTIONS(5290),
    [sym__scope_double_colon] = ACTIONS(5290),
    [sym__binary_minus] = ACTIONS(5290),
    [sym__binary_star] = ACTIONS(5290),
    [anon_sym_LBRACE] = ACTIONS(5290),
    [anon_sym_DOT] = ACTIONS(5292),
    [anon_sym_COMMA] = ACTIONS(5290),
    [anon_sym_PIPE] = ACTIONS(5292),
    [anon_sym_STAR_STAR] = ACTIONS(5292),
    [anon_sym_AMP] = ACTIONS(5292),
    [anon_sym_EQ] = ACTIONS(5292),
    [anon_sym_LT] = ACTIONS(5292),
    [anon_sym_if] = ACTIONS(5290),
    [anon_sym_unless] = ACTIONS(5290),
    [anon_sym_while] = ACTIONS(5290),
    [anon_sym_until] = ACTIONS(5290),
    [anon_sym_rescue] = ACTIONS(5290),
    [anon_sym_do] = ACTIONS(5290),
    [anon_sym_AMP_DOT] = ACTIONS(5290),
    [anon_sym_PLUS_EQ] = ACTIONS(5290),
    [anon_sym_DASH_EQ] = ACTIONS(5290),
    [anon_sym_STAR_EQ] = ACTIONS(5290),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5290),
    [anon_sym_SLASH_EQ] = ACTIONS(5290),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5290),
    [anon_sym_PIPE_EQ] = ACTIONS(5290),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5290),
    [anon_sym_AMP_EQ] = ACTIONS(5290),
    [anon_sym_PERCENT_EQ] = ACTIONS(5290),
    [anon_sym_GT_GT_EQ] = ACTIONS(5290),
    [anon_sym_LT_LT_EQ] = ACTIONS(5290),
    [anon_sym_CARET_EQ] = ACTIONS(5290),
    [anon_sym_QMARK] = ACTIONS(5290),
    [anon_sym_DOT_DOT] = ACTIONS(5292),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5290),
    [anon_sym_and] = ACTIONS(5290),
    [anon_sym_or] = ACTIONS(5290),
    [anon_sym_PIPE_PIPE] = ACTIONS(5292),
    [anon_sym_AMP_AMP] = ACTIONS(5292),
    [anon_sym_LT_LT] = ACTIONS(5292),
    [anon_sym_GT_GT] = ACTIONS(5292),
    [anon_sym_EQ_EQ] = ACTIONS(5292),
    [anon_sym_BANG_EQ] = ACTIONS(5290),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5290),
    [anon_sym_LT_EQ_GT] = ACTIONS(5290),
    [anon_sym_EQ_TILDE] = ACTIONS(5290),
    [anon_sym_BANG_TILDE] = ACTIONS(5290),
    [anon_sym_LT_EQ] = ACTIONS(5292),
    [anon_sym_GT] = ACTIONS(5292),
    [anon_sym_GT_EQ] = ACTIONS(5290),
    [anon_sym_CARET] = ACTIONS(5292),
    [anon_sym_PLUS] = ACTIONS(5292),
    [anon_sym_SLASH] = ACTIONS(5292),
    [anon_sym_PERCENT] = ACTIONS(5292),
    [sym_comment] = ACTIONS(256),
  },
  [8656] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(11396),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14402),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8657] = {
    [sym__simple_heredoc_body] = ACTIONS(5290),
    [sym__heredoc_body_beginning] = ACTIONS(5290),
    [sym__string_middle] = ACTIONS(5290),
    [sym__string_end] = ACTIONS(5290),
    [sym__element_reference_left_bracket] = ACTIONS(5290),
    [sym__scope_double_colon] = ACTIONS(5290),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__binary_minus] = ACTIONS(5290),
    [sym__binary_star] = ACTIONS(5290),
    [anon_sym_LBRACE] = ACTIONS(5290),
    [anon_sym_DOT] = ACTIONS(5292),
    [anon_sym_COMMA] = ACTIONS(5290),
    [anon_sym_PIPE] = ACTIONS(5292),
    [anon_sym_STAR_STAR] = ACTIONS(5292),
    [anon_sym_AMP] = ACTIONS(5292),
    [anon_sym_EQ] = ACTIONS(5292),
    [anon_sym_LT] = ACTIONS(5292),
    [anon_sym_if] = ACTIONS(5290),
    [anon_sym_unless] = ACTIONS(5290),
    [anon_sym_while] = ACTIONS(5290),
    [anon_sym_until] = ACTIONS(5290),
    [anon_sym_rescue] = ACTIONS(5290),
    [anon_sym_do] = ACTIONS(5290),
    [anon_sym_AMP_DOT] = ACTIONS(5290),
    [anon_sym_PLUS_EQ] = ACTIONS(5290),
    [anon_sym_DASH_EQ] = ACTIONS(5290),
    [anon_sym_STAR_EQ] = ACTIONS(5290),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5290),
    [anon_sym_SLASH_EQ] = ACTIONS(5290),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5290),
    [anon_sym_PIPE_EQ] = ACTIONS(5290),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5290),
    [anon_sym_AMP_EQ] = ACTIONS(5290),
    [anon_sym_PERCENT_EQ] = ACTIONS(5290),
    [anon_sym_GT_GT_EQ] = ACTIONS(5290),
    [anon_sym_LT_LT_EQ] = ACTIONS(5290),
    [anon_sym_CARET_EQ] = ACTIONS(5290),
    [anon_sym_QMARK] = ACTIONS(5290),
    [anon_sym_DOT_DOT] = ACTIONS(5292),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5290),
    [anon_sym_and] = ACTIONS(5290),
    [anon_sym_or] = ACTIONS(5290),
    [anon_sym_PIPE_PIPE] = ACTIONS(5292),
    [anon_sym_AMP_AMP] = ACTIONS(5292),
    [anon_sym_LT_LT] = ACTIONS(5292),
    [anon_sym_GT_GT] = ACTIONS(5292),
    [anon_sym_EQ_EQ] = ACTIONS(5292),
    [anon_sym_BANG_EQ] = ACTIONS(5290),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5290),
    [anon_sym_LT_EQ_GT] = ACTIONS(5290),
    [anon_sym_EQ_TILDE] = ACTIONS(5290),
    [anon_sym_BANG_TILDE] = ACTIONS(5290),
    [anon_sym_LT_EQ] = ACTIONS(5292),
    [anon_sym_GT] = ACTIONS(5292),
    [anon_sym_GT_EQ] = ACTIONS(5290),
    [anon_sym_CARET] = ACTIONS(5292),
    [anon_sym_PLUS] = ACTIONS(5292),
    [anon_sym_SLASH] = ACTIONS(5292),
    [anon_sym_PERCENT] = ACTIONS(5292),
    [sym_comment] = ACTIONS(256),
  },
  [8658] = {
    [sym__statements] = STATE(11398),
    [sym__top_level_statement] = STATE(3863),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(3864),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_elsif] = STATE(3865),
    [sym_else] = STATE(3865),
    [sym__if_tail] = STATE(11399),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3867),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3869),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3870),
    [sym__variable] = STATE(3868),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(3849),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(11400),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(5566),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(5568),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(5570),
    [sym__unary_minus] = ACTIONS(5572),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14404),
    [anon_sym_SEMI] = ACTIONS(5576),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_elsif] = ACTIONS(5586),
    [anon_sym_else] = ACTIONS(5588),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5590),
    [anon_sym_defined_QMARK] = ACTIONS(5592),
    [anon_sym_not] = ACTIONS(5594),
    [anon_sym_BANG] = ACTIONS(5596),
    [anon_sym_TILDE] = ACTIONS(5596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8659] = {
    [sym__statements] = STATE(11402),
    [sym__top_level_statement] = STATE(3946),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(3947),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(11403),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3949),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3950),
    [sym_call] = STATE(3950),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3951),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3952),
    [sym__variable] = STATE(3950),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5682),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14406),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5686),
    [anon_sym_yield] = ACTIONS(5688),
    [anon_sym_break] = ACTIONS(5690),
    [anon_sym_next] = ACTIONS(5692),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(5588),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5694),
    [anon_sym_defined_QMARK] = ACTIONS(5696),
    [anon_sym_not] = ACTIONS(5698),
    [anon_sym_BANG] = ACTIONS(5700),
    [anon_sym_TILDE] = ACTIONS(5700),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8660] = {
    [sym__statements] = STATE(11405),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14408),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8661] = {
    [sym__statements] = STATE(11407),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14410),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8662] = {
    [sym__do] = STATE(11408),
    [sym_heredoc_end] = STATE(1550),
    [sym__terminator] = STATE(1557),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym__line_break] = ACTIONS(2446),
    [anon_sym_SEMI] = ACTIONS(2446),
    [anon_sym_do] = ACTIONS(2460),
    [sym_comment] = ACTIONS(110),
  },
  [8663] = {
    [sym__simple_heredoc_body] = ACTIONS(6154),
    [sym__heredoc_body_beginning] = ACTIONS(6154),
    [sym__string_middle] = ACTIONS(6154),
    [sym__string_end] = ACTIONS(6154),
    [sym__element_reference_left_bracket] = ACTIONS(6154),
    [sym__scope_double_colon] = ACTIONS(6154),
    [sym__binary_minus] = ACTIONS(6154),
    [sym__binary_star] = ACTIONS(6154),
    [anon_sym_LBRACE] = ACTIONS(6154),
    [anon_sym_DOT] = ACTIONS(6156),
    [anon_sym_COMMA] = ACTIONS(6154),
    [anon_sym_PIPE] = ACTIONS(6156),
    [anon_sym_STAR_STAR] = ACTIONS(6156),
    [anon_sym_AMP] = ACTIONS(6156),
    [anon_sym_EQ] = ACTIONS(6156),
    [anon_sym_LT] = ACTIONS(6156),
    [anon_sym_if] = ACTIONS(6154),
    [anon_sym_unless] = ACTIONS(6154),
    [anon_sym_while] = ACTIONS(6154),
    [anon_sym_until] = ACTIONS(6154),
    [anon_sym_rescue] = ACTIONS(6154),
    [anon_sym_do] = ACTIONS(6154),
    [anon_sym_AMP_DOT] = ACTIONS(6154),
    [anon_sym_PLUS_EQ] = ACTIONS(6154),
    [anon_sym_DASH_EQ] = ACTIONS(6154),
    [anon_sym_STAR_EQ] = ACTIONS(6154),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6154),
    [anon_sym_SLASH_EQ] = ACTIONS(6154),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6154),
    [anon_sym_PIPE_EQ] = ACTIONS(6154),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6154),
    [anon_sym_AMP_EQ] = ACTIONS(6154),
    [anon_sym_PERCENT_EQ] = ACTIONS(6154),
    [anon_sym_GT_GT_EQ] = ACTIONS(6154),
    [anon_sym_LT_LT_EQ] = ACTIONS(6154),
    [anon_sym_CARET_EQ] = ACTIONS(6154),
    [anon_sym_QMARK] = ACTIONS(6154),
    [anon_sym_DOT_DOT] = ACTIONS(6156),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6154),
    [anon_sym_and] = ACTIONS(6154),
    [anon_sym_or] = ACTIONS(6154),
    [anon_sym_PIPE_PIPE] = ACTIONS(6156),
    [anon_sym_AMP_AMP] = ACTIONS(6156),
    [anon_sym_LT_LT] = ACTIONS(6156),
    [anon_sym_GT_GT] = ACTIONS(6156),
    [anon_sym_EQ_EQ] = ACTIONS(6156),
    [anon_sym_BANG_EQ] = ACTIONS(6154),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6154),
    [anon_sym_LT_EQ_GT] = ACTIONS(6154),
    [anon_sym_EQ_TILDE] = ACTIONS(6154),
    [anon_sym_BANG_TILDE] = ACTIONS(6154),
    [anon_sym_LT_EQ] = ACTIONS(6156),
    [anon_sym_GT] = ACTIONS(6156),
    [anon_sym_GT_EQ] = ACTIONS(6154),
    [anon_sym_CARET] = ACTIONS(6156),
    [anon_sym_PLUS] = ACTIONS(6156),
    [anon_sym_SLASH] = ACTIONS(6156),
    [anon_sym_PERCENT] = ACTIONS(6156),
    [sym_comment] = ACTIONS(256),
  },
  [8664] = {
    [anon_sym_end] = ACTIONS(14412),
    [sym_comment] = ACTIONS(110),
  },
  [8665] = {
    [sym_when] = STATE(11410),
    [sym_heredoc_end] = STATE(387),
    [sym__terminator] = STATE(1688),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym__line_break] = ACTIONS(666),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_when] = ACTIONS(2612),
    [sym_comment] = ACTIONS(110),
  },
  [8666] = {
    [sym__simple_heredoc_body] = ACTIONS(6600),
    [sym__heredoc_body_beginning] = ACTIONS(6600),
    [sym__string_middle] = ACTIONS(6600),
    [sym__string_end] = ACTIONS(6600),
    [sym__element_reference_left_bracket] = ACTIONS(6600),
    [sym__scope_double_colon] = ACTIONS(6600),
    [sym__binary_minus] = ACTIONS(6600),
    [sym__binary_star] = ACTIONS(6600),
    [anon_sym_LBRACE] = ACTIONS(6600),
    [anon_sym_DOT] = ACTIONS(6602),
    [anon_sym_COMMA] = ACTIONS(6600),
    [anon_sym_PIPE] = ACTIONS(6602),
    [anon_sym_STAR_STAR] = ACTIONS(6602),
    [anon_sym_AMP] = ACTIONS(6602),
    [anon_sym_EQ] = ACTIONS(6602),
    [anon_sym_LT] = ACTIONS(6602),
    [anon_sym_if] = ACTIONS(6600),
    [anon_sym_unless] = ACTIONS(6600),
    [anon_sym_while] = ACTIONS(6600),
    [anon_sym_until] = ACTIONS(6600),
    [anon_sym_rescue] = ACTIONS(6600),
    [anon_sym_do] = ACTIONS(6600),
    [anon_sym_AMP_DOT] = ACTIONS(6600),
    [anon_sym_PLUS_EQ] = ACTIONS(6600),
    [anon_sym_DASH_EQ] = ACTIONS(6600),
    [anon_sym_STAR_EQ] = ACTIONS(6600),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6600),
    [anon_sym_SLASH_EQ] = ACTIONS(6600),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6600),
    [anon_sym_PIPE_EQ] = ACTIONS(6600),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6600),
    [anon_sym_AMP_EQ] = ACTIONS(6600),
    [anon_sym_PERCENT_EQ] = ACTIONS(6600),
    [anon_sym_GT_GT_EQ] = ACTIONS(6600),
    [anon_sym_LT_LT_EQ] = ACTIONS(6600),
    [anon_sym_CARET_EQ] = ACTIONS(6600),
    [anon_sym_QMARK] = ACTIONS(6600),
    [anon_sym_DOT_DOT] = ACTIONS(6602),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6600),
    [anon_sym_and] = ACTIONS(6600),
    [anon_sym_or] = ACTIONS(6600),
    [anon_sym_PIPE_PIPE] = ACTIONS(6602),
    [anon_sym_AMP_AMP] = ACTIONS(6602),
    [anon_sym_LT_LT] = ACTIONS(6602),
    [anon_sym_GT_GT] = ACTIONS(6602),
    [anon_sym_EQ_EQ] = ACTIONS(6602),
    [anon_sym_BANG_EQ] = ACTIONS(6600),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6600),
    [anon_sym_LT_EQ_GT] = ACTIONS(6600),
    [anon_sym_EQ_TILDE] = ACTIONS(6600),
    [anon_sym_BANG_TILDE] = ACTIONS(6600),
    [anon_sym_LT_EQ] = ACTIONS(6602),
    [anon_sym_GT] = ACTIONS(6602),
    [anon_sym_GT_EQ] = ACTIONS(6600),
    [anon_sym_CARET] = ACTIONS(6602),
    [anon_sym_PLUS] = ACTIONS(6602),
    [anon_sym_SLASH] = ACTIONS(6602),
    [anon_sym_PERCENT] = ACTIONS(6602),
    [sym_comment] = ACTIONS(256),
  },
  [8667] = {
    [anon_sym_end] = ACTIONS(14414),
    [sym_comment] = ACTIONS(110),
  },
  [8668] = {
    [anon_sym_RBRACK] = ACTIONS(14392),
    [sym_comment] = ACTIONS(110),
  },
  [8669] = {
    [sym__simple_heredoc_body] = ACTIONS(6902),
    [sym__heredoc_body_beginning] = ACTIONS(6902),
    [sym__string_middle] = ACTIONS(6902),
    [sym__string_end] = ACTIONS(6902),
    [sym__element_reference_left_bracket] = ACTIONS(6902),
    [sym__scope_double_colon] = ACTIONS(6902),
    [sym__binary_minus] = ACTIONS(6902),
    [sym__binary_star] = ACTIONS(6902),
    [anon_sym_LBRACE] = ACTIONS(6902),
    [anon_sym_DOT] = ACTIONS(6904),
    [anon_sym_COMMA] = ACTIONS(6902),
    [anon_sym_PIPE] = ACTIONS(6904),
    [anon_sym_STAR_STAR] = ACTIONS(6904),
    [anon_sym_AMP] = ACTIONS(6904),
    [anon_sym_EQ] = ACTIONS(6904),
    [anon_sym_LT] = ACTIONS(6904),
    [anon_sym_if] = ACTIONS(6902),
    [anon_sym_unless] = ACTIONS(6902),
    [anon_sym_while] = ACTIONS(6902),
    [anon_sym_until] = ACTIONS(6902),
    [anon_sym_rescue] = ACTIONS(6902),
    [anon_sym_do] = ACTIONS(6902),
    [anon_sym_AMP_DOT] = ACTIONS(6902),
    [anon_sym_PLUS_EQ] = ACTIONS(6902),
    [anon_sym_DASH_EQ] = ACTIONS(6902),
    [anon_sym_STAR_EQ] = ACTIONS(6902),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6902),
    [anon_sym_SLASH_EQ] = ACTIONS(6902),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6902),
    [anon_sym_PIPE_EQ] = ACTIONS(6902),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6902),
    [anon_sym_AMP_EQ] = ACTIONS(6902),
    [anon_sym_PERCENT_EQ] = ACTIONS(6902),
    [anon_sym_GT_GT_EQ] = ACTIONS(6902),
    [anon_sym_LT_LT_EQ] = ACTIONS(6902),
    [anon_sym_CARET_EQ] = ACTIONS(6902),
    [anon_sym_QMARK] = ACTIONS(6902),
    [anon_sym_DOT_DOT] = ACTIONS(6904),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6902),
    [anon_sym_and] = ACTIONS(6902),
    [anon_sym_or] = ACTIONS(6902),
    [anon_sym_PIPE_PIPE] = ACTIONS(6904),
    [anon_sym_AMP_AMP] = ACTIONS(6904),
    [anon_sym_LT_LT] = ACTIONS(6904),
    [anon_sym_GT_GT] = ACTIONS(6904),
    [anon_sym_EQ_EQ] = ACTIONS(6904),
    [anon_sym_BANG_EQ] = ACTIONS(6902),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6902),
    [anon_sym_LT_EQ_GT] = ACTIONS(6902),
    [anon_sym_EQ_TILDE] = ACTIONS(6902),
    [anon_sym_BANG_TILDE] = ACTIONS(6902),
    [anon_sym_LT_EQ] = ACTIONS(6904),
    [anon_sym_GT] = ACTIONS(6904),
    [anon_sym_GT_EQ] = ACTIONS(6902),
    [anon_sym_CARET] = ACTIONS(6904),
    [anon_sym_PLUS] = ACTIONS(6904),
    [anon_sym_SLASH] = ACTIONS(6904),
    [anon_sym_PERCENT] = ACTIONS(6904),
    [sym_comment] = ACTIONS(256),
  },
  [8670] = {
    [sym__simple_heredoc_body] = ACTIONS(6980),
    [sym__heredoc_body_beginning] = ACTIONS(6980),
    [sym__string_middle] = ACTIONS(6980),
    [sym__string_end] = ACTIONS(6980),
    [sym__element_reference_left_bracket] = ACTIONS(6980),
    [sym__scope_double_colon] = ACTIONS(6980),
    [sym__binary_minus] = ACTIONS(6980),
    [sym__binary_star] = ACTIONS(6980),
    [anon_sym_LBRACE] = ACTIONS(6980),
    [anon_sym_DOT] = ACTIONS(6982),
    [anon_sym_COMMA] = ACTIONS(6980),
    [anon_sym_PIPE] = ACTIONS(6982),
    [anon_sym_STAR_STAR] = ACTIONS(6982),
    [anon_sym_AMP] = ACTIONS(6982),
    [anon_sym_EQ] = ACTIONS(6982),
    [anon_sym_LT] = ACTIONS(6982),
    [anon_sym_if] = ACTIONS(6980),
    [anon_sym_unless] = ACTIONS(6980),
    [anon_sym_while] = ACTIONS(6980),
    [anon_sym_until] = ACTIONS(6980),
    [anon_sym_rescue] = ACTIONS(6980),
    [anon_sym_do] = ACTIONS(6980),
    [anon_sym_AMP_DOT] = ACTIONS(6980),
    [anon_sym_PLUS_EQ] = ACTIONS(6980),
    [anon_sym_DASH_EQ] = ACTIONS(6980),
    [anon_sym_STAR_EQ] = ACTIONS(6980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6980),
    [anon_sym_SLASH_EQ] = ACTIONS(6980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6980),
    [anon_sym_PIPE_EQ] = ACTIONS(6980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6980),
    [anon_sym_AMP_EQ] = ACTIONS(6980),
    [anon_sym_PERCENT_EQ] = ACTIONS(6980),
    [anon_sym_GT_GT_EQ] = ACTIONS(6980),
    [anon_sym_LT_LT_EQ] = ACTIONS(6980),
    [anon_sym_CARET_EQ] = ACTIONS(6980),
    [anon_sym_QMARK] = ACTIONS(6980),
    [anon_sym_DOT_DOT] = ACTIONS(6982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6980),
    [anon_sym_and] = ACTIONS(6980),
    [anon_sym_or] = ACTIONS(6980),
    [anon_sym_PIPE_PIPE] = ACTIONS(6982),
    [anon_sym_AMP_AMP] = ACTIONS(6982),
    [anon_sym_LT_LT] = ACTIONS(6982),
    [anon_sym_GT_GT] = ACTIONS(6982),
    [anon_sym_EQ_EQ] = ACTIONS(6982),
    [anon_sym_BANG_EQ] = ACTIONS(6980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6980),
    [anon_sym_LT_EQ_GT] = ACTIONS(6980),
    [anon_sym_EQ_TILDE] = ACTIONS(6980),
    [anon_sym_BANG_TILDE] = ACTIONS(6980),
    [anon_sym_LT_EQ] = ACTIONS(6982),
    [anon_sym_GT] = ACTIONS(6982),
    [anon_sym_GT_EQ] = ACTIONS(6980),
    [anon_sym_CARET] = ACTIONS(6982),
    [anon_sym_PLUS] = ACTIONS(6982),
    [anon_sym_SLASH] = ACTIONS(6982),
    [anon_sym_PERCENT] = ACTIONS(6982),
    [sym_comment] = ACTIONS(256),
  },
  [8671] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__string_middle] = ACTIONS(7008),
    [sym__string_end] = ACTIONS(7008),
    [sym__element_reference_left_bracket] = ACTIONS(7008),
    [sym__scope_double_colon] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(7562),
    [anon_sym_LBRACE] = ACTIONS(7008),
    [anon_sym_DOT] = ACTIONS(7010),
    [anon_sym_COMMA] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_STAR_STAR] = ACTIONS(7566),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_EQ] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_if] = ACTIONS(7008),
    [anon_sym_unless] = ACTIONS(7008),
    [anon_sym_while] = ACTIONS(7008),
    [anon_sym_until] = ACTIONS(7008),
    [anon_sym_rescue] = ACTIONS(7008),
    [anon_sym_do] = ACTIONS(7008),
    [anon_sym_AMP_DOT] = ACTIONS(7008),
    [anon_sym_PLUS_EQ] = ACTIONS(7008),
    [anon_sym_DASH_EQ] = ACTIONS(7008),
    [anon_sym_STAR_EQ] = ACTIONS(7008),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7008),
    [anon_sym_SLASH_EQ] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7008),
    [anon_sym_PIPE_EQ] = ACTIONS(7008),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7008),
    [anon_sym_AMP_EQ] = ACTIONS(7008),
    [anon_sym_PERCENT_EQ] = ACTIONS(7008),
    [anon_sym_GT_GT_EQ] = ACTIONS(7008),
    [anon_sym_LT_LT_EQ] = ACTIONS(7008),
    [anon_sym_CARET_EQ] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7010),
    [anon_sym_AMP_AMP] = ACTIONS(7010),
    [anon_sym_LT_LT] = ACTIONS(7010),
    [anon_sym_GT_GT] = ACTIONS(7010),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7010),
    [anon_sym_PLUS] = ACTIONS(7010),
    [anon_sym_SLASH] = ACTIONS(7566),
    [anon_sym_PERCENT] = ACTIONS(7566),
    [sym_comment] = ACTIONS(256),
  },
  [8672] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__string_middle] = ACTIONS(7012),
    [sym__string_end] = ACTIONS(7012),
    [sym__element_reference_left_bracket] = ACTIONS(7012),
    [sym__scope_double_colon] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_LBRACE] = ACTIONS(7012),
    [anon_sym_DOT] = ACTIONS(7014),
    [anon_sym_COMMA] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_STAR_STAR] = ACTIONS(7566),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_EQ] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_if] = ACTIONS(7012),
    [anon_sym_unless] = ACTIONS(7012),
    [anon_sym_while] = ACTIONS(7012),
    [anon_sym_until] = ACTIONS(7012),
    [anon_sym_rescue] = ACTIONS(7012),
    [anon_sym_do] = ACTIONS(7012),
    [anon_sym_AMP_DOT] = ACTIONS(7012),
    [anon_sym_PLUS_EQ] = ACTIONS(7012),
    [anon_sym_DASH_EQ] = ACTIONS(7012),
    [anon_sym_STAR_EQ] = ACTIONS(7012),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7012),
    [anon_sym_SLASH_EQ] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7012),
    [anon_sym_PIPE_EQ] = ACTIONS(7012),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7012),
    [anon_sym_AMP_EQ] = ACTIONS(7012),
    [anon_sym_PERCENT_EQ] = ACTIONS(7012),
    [anon_sym_GT_GT_EQ] = ACTIONS(7012),
    [anon_sym_LT_LT_EQ] = ACTIONS(7012),
    [anon_sym_CARET_EQ] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7014),
    [anon_sym_AMP_AMP] = ACTIONS(7014),
    [anon_sym_LT_LT] = ACTIONS(7014),
    [anon_sym_GT_GT] = ACTIONS(7014),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7014),
    [anon_sym_PLUS] = ACTIONS(7014),
    [anon_sym_SLASH] = ACTIONS(7014),
    [anon_sym_PERCENT] = ACTIONS(7014),
    [sym_comment] = ACTIONS(256),
  },
  [8673] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__string_middle] = ACTIONS(7016),
    [sym__string_end] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7560),
    [sym__binary_star] = ACTIONS(7562),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(7566),
    [anon_sym_AMP] = ACTIONS(7568),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7580),
    [anon_sym_GT_GT] = ACTIONS(7580),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(7586),
    [anon_sym_SLASH] = ACTIONS(7566),
    [anon_sym_PERCENT] = ACTIONS(7566),
    [sym_comment] = ACTIONS(256),
  },
  [8674] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__string_middle] = ACTIONS(7016),
    [sym__string_end] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(7566),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7018),
    [anon_sym_GT_GT] = ACTIONS(7018),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(7018),
    [anon_sym_SLASH] = ACTIONS(7018),
    [anon_sym_PERCENT] = ACTIONS(7018),
    [sym_comment] = ACTIONS(256),
  },
  [8675] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__string_middle] = ACTIONS(7016),
    [sym__string_end] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7560),
    [sym__binary_star] = ACTIONS(7562),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(7566),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7580),
    [anon_sym_GT_GT] = ACTIONS(7580),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(7586),
    [anon_sym_SLASH] = ACTIONS(7566),
    [anon_sym_PERCENT] = ACTIONS(7566),
    [sym_comment] = ACTIONS(256),
  },
  [8676] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__string_middle] = ACTIONS(7016),
    [sym__string_end] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7560),
    [sym__binary_star] = ACTIONS(7562),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7564),
    [anon_sym_STAR_STAR] = ACTIONS(7566),
    [anon_sym_AMP] = ACTIONS(7568),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7580),
    [anon_sym_GT_GT] = ACTIONS(7580),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7564),
    [anon_sym_PLUS] = ACTIONS(7586),
    [anon_sym_SLASH] = ACTIONS(7566),
    [anon_sym_PERCENT] = ACTIONS(7566),
    [sym_comment] = ACTIONS(256),
  },
  [8677] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(14416),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [8678] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__string_middle] = ACTIONS(7108),
    [sym__string_end] = ACTIONS(7108),
    [sym__element_reference_left_bracket] = ACTIONS(7108),
    [sym__scope_double_colon] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(7560),
    [sym__binary_star] = ACTIONS(7562),
    [anon_sym_LBRACE] = ACTIONS(7108),
    [anon_sym_DOT] = ACTIONS(9472),
    [anon_sym_COMMA] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(7564),
    [anon_sym_STAR_STAR] = ACTIONS(7566),
    [anon_sym_AMP] = ACTIONS(7568),
    [anon_sym_EQ] = ACTIONS(9472),
    [anon_sym_LT] = ACTIONS(7570),
    [anon_sym_if] = ACTIONS(7108),
    [anon_sym_unless] = ACTIONS(7108),
    [anon_sym_while] = ACTIONS(7108),
    [anon_sym_until] = ACTIONS(7108),
    [anon_sym_rescue] = ACTIONS(7108),
    [anon_sym_do] = ACTIONS(7108),
    [anon_sym_AMP_DOT] = ACTIONS(7108),
    [anon_sym_PLUS_EQ] = ACTIONS(7108),
    [anon_sym_DASH_EQ] = ACTIONS(7108),
    [anon_sym_STAR_EQ] = ACTIONS(7108),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7108),
    [anon_sym_SLASH_EQ] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7108),
    [anon_sym_PIPE_EQ] = ACTIONS(7108),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7108),
    [anon_sym_AMP_EQ] = ACTIONS(7108),
    [anon_sym_PERCENT_EQ] = ACTIONS(7108),
    [anon_sym_GT_GT_EQ] = ACTIONS(7108),
    [anon_sym_LT_LT_EQ] = ACTIONS(7108),
    [anon_sym_CARET_EQ] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(7574),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7576),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(7578),
    [anon_sym_AMP_AMP] = ACTIONS(7578),
    [anon_sym_LT_LT] = ACTIONS(7580),
    [anon_sym_GT_GT] = ACTIONS(7580),
    [anon_sym_EQ_EQ] = ACTIONS(7578),
    [anon_sym_BANG_EQ] = ACTIONS(7582),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7582),
    [anon_sym_LT_EQ_GT] = ACTIONS(7582),
    [anon_sym_EQ_TILDE] = ACTIONS(7582),
    [anon_sym_BANG_TILDE] = ACTIONS(7582),
    [anon_sym_LT_EQ] = ACTIONS(7570),
    [anon_sym_GT] = ACTIONS(7570),
    [anon_sym_GT_EQ] = ACTIONS(7584),
    [anon_sym_CARET] = ACTIONS(7564),
    [anon_sym_PLUS] = ACTIONS(7586),
    [anon_sym_SLASH] = ACTIONS(7566),
    [anon_sym_PERCENT] = ACTIONS(7566),
    [sym_comment] = ACTIONS(256),
  },
  [8679] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__string_middle] = ACTIONS(7016),
    [sym__string_end] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7560),
    [sym__binary_star] = ACTIONS(7562),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7564),
    [anon_sym_STAR_STAR] = ACTIONS(7566),
    [anon_sym_AMP] = ACTIONS(7568),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7570),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7572),
    [anon_sym_DOT_DOT] = ACTIONS(7574),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7576),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7578),
    [anon_sym_AMP_AMP] = ACTIONS(7578),
    [anon_sym_LT_LT] = ACTIONS(7580),
    [anon_sym_GT_GT] = ACTIONS(7580),
    [anon_sym_EQ_EQ] = ACTIONS(7578),
    [anon_sym_BANG_EQ] = ACTIONS(7582),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7582),
    [anon_sym_LT_EQ_GT] = ACTIONS(7582),
    [anon_sym_EQ_TILDE] = ACTIONS(7582),
    [anon_sym_BANG_TILDE] = ACTIONS(7582),
    [anon_sym_LT_EQ] = ACTIONS(7570),
    [anon_sym_GT] = ACTIONS(7570),
    [anon_sym_GT_EQ] = ACTIONS(7584),
    [anon_sym_CARET] = ACTIONS(7564),
    [anon_sym_PLUS] = ACTIONS(7586),
    [anon_sym_SLASH] = ACTIONS(7566),
    [anon_sym_PERCENT] = ACTIONS(7566),
    [sym_comment] = ACTIONS(256),
  },
  [8680] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__string_middle] = ACTIONS(7016),
    [sym__string_end] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7560),
    [sym__binary_star] = ACTIONS(7562),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7564),
    [anon_sym_STAR_STAR] = ACTIONS(7566),
    [anon_sym_AMP] = ACTIONS(7568),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7570),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7580),
    [anon_sym_GT_GT] = ACTIONS(7580),
    [anon_sym_EQ_EQ] = ACTIONS(7578),
    [anon_sym_BANG_EQ] = ACTIONS(7582),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7582),
    [anon_sym_LT_EQ_GT] = ACTIONS(7582),
    [anon_sym_EQ_TILDE] = ACTIONS(7582),
    [anon_sym_BANG_TILDE] = ACTIONS(7582),
    [anon_sym_LT_EQ] = ACTIONS(7570),
    [anon_sym_GT] = ACTIONS(7570),
    [anon_sym_GT_EQ] = ACTIONS(7584),
    [anon_sym_CARET] = ACTIONS(7564),
    [anon_sym_PLUS] = ACTIONS(7586),
    [anon_sym_SLASH] = ACTIONS(7566),
    [anon_sym_PERCENT] = ACTIONS(7566),
    [sym_comment] = ACTIONS(256),
  },
  [8681] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__string_middle] = ACTIONS(7016),
    [sym__string_end] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7560),
    [sym__binary_star] = ACTIONS(7562),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(7566),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7018),
    [anon_sym_GT_GT] = ACTIONS(7018),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(7586),
    [anon_sym_SLASH] = ACTIONS(7566),
    [anon_sym_PERCENT] = ACTIONS(7566),
    [sym_comment] = ACTIONS(256),
  },
  [8682] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__string_middle] = ACTIONS(7016),
    [sym__string_end] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7562),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(7566),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7018),
    [anon_sym_GT_GT] = ACTIONS(7018),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(7018),
    [anon_sym_SLASH] = ACTIONS(7566),
    [anon_sym_PERCENT] = ACTIONS(7566),
    [sym_comment] = ACTIONS(256),
  },
  [8683] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__string_middle] = ACTIONS(6346),
    [sym__string_end] = ACTIONS(6346),
    [sym__element_reference_left_bracket] = ACTIONS(6346),
    [sym__scope_double_colon] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(7560),
    [sym__binary_star] = ACTIONS(7562),
    [anon_sym_LBRACE] = ACTIONS(6346),
    [anon_sym_DOT] = ACTIONS(7328),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(7564),
    [anon_sym_STAR_STAR] = ACTIONS(7566),
    [anon_sym_AMP] = ACTIONS(7568),
    [anon_sym_EQ] = ACTIONS(7328),
    [anon_sym_LT] = ACTIONS(7570),
    [anon_sym_if] = ACTIONS(6346),
    [anon_sym_unless] = ACTIONS(6346),
    [anon_sym_while] = ACTIONS(6346),
    [anon_sym_until] = ACTIONS(6346),
    [anon_sym_rescue] = ACTIONS(6346),
    [anon_sym_do] = ACTIONS(6346),
    [anon_sym_AMP_DOT] = ACTIONS(6346),
    [anon_sym_PLUS_EQ] = ACTIONS(6346),
    [anon_sym_DASH_EQ] = ACTIONS(6346),
    [anon_sym_STAR_EQ] = ACTIONS(6346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6346),
    [anon_sym_SLASH_EQ] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6346),
    [anon_sym_PIPE_EQ] = ACTIONS(6346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6346),
    [anon_sym_AMP_EQ] = ACTIONS(6346),
    [anon_sym_PERCENT_EQ] = ACTIONS(6346),
    [anon_sym_GT_GT_EQ] = ACTIONS(6346),
    [anon_sym_LT_LT_EQ] = ACTIONS(6346),
    [anon_sym_CARET_EQ] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(7572),
    [anon_sym_DOT_DOT] = ACTIONS(7574),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7576),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(7578),
    [anon_sym_AMP_AMP] = ACTIONS(7578),
    [anon_sym_LT_LT] = ACTIONS(7580),
    [anon_sym_GT_GT] = ACTIONS(7580),
    [anon_sym_EQ_EQ] = ACTIONS(7578),
    [anon_sym_BANG_EQ] = ACTIONS(7582),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7582),
    [anon_sym_LT_EQ_GT] = ACTIONS(7582),
    [anon_sym_EQ_TILDE] = ACTIONS(7582),
    [anon_sym_BANG_TILDE] = ACTIONS(7582),
    [anon_sym_LT_EQ] = ACTIONS(7570),
    [anon_sym_GT] = ACTIONS(7570),
    [anon_sym_GT_EQ] = ACTIONS(7584),
    [anon_sym_CARET] = ACTIONS(7564),
    [anon_sym_PLUS] = ACTIONS(7586),
    [anon_sym_SLASH] = ACTIONS(7566),
    [anon_sym_PERCENT] = ACTIONS(7566),
    [sym_comment] = ACTIONS(256),
  },
  [8684] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__string_middle] = ACTIONS(6346),
    [sym__string_end] = ACTIONS(6346),
    [sym__element_reference_left_bracket] = ACTIONS(6346),
    [sym__scope_double_colon] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(6346),
    [sym__binary_star] = ACTIONS(6346),
    [anon_sym_LBRACE] = ACTIONS(6346),
    [anon_sym_DOT] = ACTIONS(7328),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(7328),
    [anon_sym_STAR_STAR] = ACTIONS(7328),
    [anon_sym_AMP] = ACTIONS(7328),
    [anon_sym_EQ] = ACTIONS(7328),
    [anon_sym_LT] = ACTIONS(7328),
    [anon_sym_if] = ACTIONS(6346),
    [anon_sym_unless] = ACTIONS(6346),
    [anon_sym_while] = ACTIONS(6346),
    [anon_sym_until] = ACTIONS(6346),
    [anon_sym_rescue] = ACTIONS(6346),
    [anon_sym_do] = ACTIONS(6346),
    [anon_sym_AMP_DOT] = ACTIONS(6346),
    [anon_sym_PLUS_EQ] = ACTIONS(6346),
    [anon_sym_DASH_EQ] = ACTIONS(6346),
    [anon_sym_STAR_EQ] = ACTIONS(6346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6346),
    [anon_sym_SLASH_EQ] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6346),
    [anon_sym_PIPE_EQ] = ACTIONS(6346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6346),
    [anon_sym_AMP_EQ] = ACTIONS(6346),
    [anon_sym_PERCENT_EQ] = ACTIONS(6346),
    [anon_sym_GT_GT_EQ] = ACTIONS(6346),
    [anon_sym_LT_LT_EQ] = ACTIONS(6346),
    [anon_sym_CARET_EQ] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(6346),
    [anon_sym_DOT_DOT] = ACTIONS(7328),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6346),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(7328),
    [anon_sym_AMP_AMP] = ACTIONS(7328),
    [anon_sym_LT_LT] = ACTIONS(7328),
    [anon_sym_GT_GT] = ACTIONS(7328),
    [anon_sym_EQ_EQ] = ACTIONS(7328),
    [anon_sym_BANG_EQ] = ACTIONS(6346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6346),
    [anon_sym_LT_EQ_GT] = ACTIONS(6346),
    [anon_sym_EQ_TILDE] = ACTIONS(6346),
    [anon_sym_BANG_TILDE] = ACTIONS(6346),
    [anon_sym_LT_EQ] = ACTIONS(7328),
    [anon_sym_GT] = ACTIONS(7328),
    [anon_sym_GT_EQ] = ACTIONS(6346),
    [anon_sym_CARET] = ACTIONS(7328),
    [anon_sym_PLUS] = ACTIONS(7328),
    [anon_sym_SLASH] = ACTIONS(7328),
    [anon_sym_PERCENT] = ACTIONS(7328),
    [sym_comment] = ACTIONS(256),
  },
  [8685] = {
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__string_middle] = ACTIONS(7330),
    [sym__string_end] = ACTIONS(7330),
    [sym__element_reference_left_bracket] = ACTIONS(7330),
    [sym__scope_double_colon] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_LBRACE] = ACTIONS(7330),
    [anon_sym_DOT] = ACTIONS(7332),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_STAR_STAR] = ACTIONS(7332),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_EQ] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_if] = ACTIONS(7330),
    [anon_sym_unless] = ACTIONS(7330),
    [anon_sym_while] = ACTIONS(7330),
    [anon_sym_until] = ACTIONS(7330),
    [anon_sym_rescue] = ACTIONS(7330),
    [anon_sym_do] = ACTIONS(7330),
    [anon_sym_AMP_DOT] = ACTIONS(7330),
    [anon_sym_PLUS_EQ] = ACTIONS(7330),
    [anon_sym_DASH_EQ] = ACTIONS(7330),
    [anon_sym_STAR_EQ] = ACTIONS(7330),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7330),
    [anon_sym_SLASH_EQ] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7330),
    [anon_sym_PIPE_EQ] = ACTIONS(7330),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7330),
    [anon_sym_AMP_EQ] = ACTIONS(7330),
    [anon_sym_PERCENT_EQ] = ACTIONS(7330),
    [anon_sym_GT_GT_EQ] = ACTIONS(7330),
    [anon_sym_LT_LT_EQ] = ACTIONS(7330),
    [anon_sym_CARET_EQ] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7332),
    [anon_sym_AMP_AMP] = ACTIONS(7332),
    [anon_sym_LT_LT] = ACTIONS(7332),
    [anon_sym_GT_GT] = ACTIONS(7332),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7332),
    [anon_sym_PLUS] = ACTIONS(7332),
    [anon_sym_SLASH] = ACTIONS(7332),
    [anon_sym_PERCENT] = ACTIONS(7332),
    [sym_comment] = ACTIONS(256),
  },
  [8686] = {
    [aux_sym_exceptions_repeat1] = STATE(11414),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__string_middle] = ACTIONS(7330),
    [sym__string_end] = ACTIONS(7330),
    [sym__element_reference_left_bracket] = ACTIONS(7330),
    [sym__scope_double_colon] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_LBRACE] = ACTIONS(7330),
    [anon_sym_DOT] = ACTIONS(7332),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_STAR_STAR] = ACTIONS(7332),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_EQ] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_if] = ACTIONS(7330),
    [anon_sym_unless] = ACTIONS(7330),
    [anon_sym_while] = ACTIONS(7330),
    [anon_sym_until] = ACTIONS(7330),
    [anon_sym_rescue] = ACTIONS(7330),
    [anon_sym_do] = ACTIONS(7330),
    [anon_sym_AMP_DOT] = ACTIONS(7330),
    [anon_sym_PLUS_EQ] = ACTIONS(7330),
    [anon_sym_DASH_EQ] = ACTIONS(7330),
    [anon_sym_STAR_EQ] = ACTIONS(7330),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7330),
    [anon_sym_SLASH_EQ] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7330),
    [anon_sym_PIPE_EQ] = ACTIONS(7330),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7330),
    [anon_sym_AMP_EQ] = ACTIONS(7330),
    [anon_sym_PERCENT_EQ] = ACTIONS(7330),
    [anon_sym_GT_GT_EQ] = ACTIONS(7330),
    [anon_sym_LT_LT_EQ] = ACTIONS(7330),
    [anon_sym_CARET_EQ] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7332),
    [anon_sym_AMP_AMP] = ACTIONS(7332),
    [anon_sym_LT_LT] = ACTIONS(7332),
    [anon_sym_GT_GT] = ACTIONS(7332),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7332),
    [anon_sym_PLUS] = ACTIONS(7332),
    [anon_sym_SLASH] = ACTIONS(7332),
    [anon_sym_PERCENT] = ACTIONS(7332),
    [sym_comment] = ACTIONS(256),
  },
  [8687] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__string_middle] = ACTIONS(7344),
    [sym__string_end] = ACTIONS(7344),
    [sym__element_reference_left_bracket] = ACTIONS(7344),
    [sym__scope_double_colon] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(7560),
    [sym__binary_star] = ACTIONS(7562),
    [anon_sym_LBRACE] = ACTIONS(7344),
    [anon_sym_DOT] = ACTIONS(9504),
    [anon_sym_COMMA] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(7564),
    [anon_sym_STAR_STAR] = ACTIONS(7566),
    [anon_sym_AMP] = ACTIONS(7568),
    [anon_sym_EQ] = ACTIONS(9504),
    [anon_sym_LT] = ACTIONS(7570),
    [anon_sym_if] = ACTIONS(7344),
    [anon_sym_unless] = ACTIONS(7344),
    [anon_sym_while] = ACTIONS(7344),
    [anon_sym_until] = ACTIONS(7344),
    [anon_sym_rescue] = ACTIONS(7344),
    [anon_sym_do] = ACTIONS(7344),
    [anon_sym_AMP_DOT] = ACTIONS(7344),
    [anon_sym_PLUS_EQ] = ACTIONS(7344),
    [anon_sym_DASH_EQ] = ACTIONS(7344),
    [anon_sym_STAR_EQ] = ACTIONS(7344),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7344),
    [anon_sym_SLASH_EQ] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7344),
    [anon_sym_PIPE_EQ] = ACTIONS(7344),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7344),
    [anon_sym_AMP_EQ] = ACTIONS(7344),
    [anon_sym_PERCENT_EQ] = ACTIONS(7344),
    [anon_sym_GT_GT_EQ] = ACTIONS(7344),
    [anon_sym_LT_LT_EQ] = ACTIONS(7344),
    [anon_sym_CARET_EQ] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(7572),
    [anon_sym_DOT_DOT] = ACTIONS(7574),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7576),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(7578),
    [anon_sym_AMP_AMP] = ACTIONS(7578),
    [anon_sym_LT_LT] = ACTIONS(7580),
    [anon_sym_GT_GT] = ACTIONS(7580),
    [anon_sym_EQ_EQ] = ACTIONS(7578),
    [anon_sym_BANG_EQ] = ACTIONS(7582),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7582),
    [anon_sym_LT_EQ_GT] = ACTIONS(7582),
    [anon_sym_EQ_TILDE] = ACTIONS(7582),
    [anon_sym_BANG_TILDE] = ACTIONS(7582),
    [anon_sym_LT_EQ] = ACTIONS(7570),
    [anon_sym_GT] = ACTIONS(7570),
    [anon_sym_GT_EQ] = ACTIONS(7584),
    [anon_sym_CARET] = ACTIONS(7564),
    [anon_sym_PLUS] = ACTIONS(7586),
    [anon_sym_SLASH] = ACTIONS(7566),
    [anon_sym_PERCENT] = ACTIONS(7566),
    [sym_comment] = ACTIONS(256),
  },
  [8688] = {
    [sym__simple_string] = ACTIONS(7346),
    [sym__simple_heredoc_body] = ACTIONS(7346),
    [sym__string_beginning] = ACTIONS(7346),
    [sym__heredoc_body_beginning] = ACTIONS(7346),
    [sym__string_middle] = ACTIONS(7346),
    [sym__string_end] = ACTIONS(7346),
    [sym__element_reference_left_bracket] = ACTIONS(7346),
    [sym__scope_double_colon] = ACTIONS(7346),
    [sym__binary_minus] = ACTIONS(7346),
    [sym__binary_star] = ACTIONS(7346),
    [anon_sym_LBRACE] = ACTIONS(7346),
    [anon_sym_DOT] = ACTIONS(7348),
    [anon_sym_COMMA] = ACTIONS(7346),
    [anon_sym_PIPE] = ACTIONS(7348),
    [anon_sym_STAR_STAR] = ACTIONS(7348),
    [anon_sym_AMP] = ACTIONS(7348),
    [anon_sym_EQ] = ACTIONS(7348),
    [anon_sym_LT] = ACTIONS(7348),
    [anon_sym_if] = ACTIONS(7346),
    [anon_sym_unless] = ACTIONS(7346),
    [anon_sym_while] = ACTIONS(7346),
    [anon_sym_until] = ACTIONS(7346),
    [anon_sym_rescue] = ACTIONS(7346),
    [anon_sym_do] = ACTIONS(7346),
    [anon_sym_AMP_DOT] = ACTIONS(7346),
    [anon_sym_PLUS_EQ] = ACTIONS(7346),
    [anon_sym_DASH_EQ] = ACTIONS(7346),
    [anon_sym_STAR_EQ] = ACTIONS(7346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7346),
    [anon_sym_SLASH_EQ] = ACTIONS(7346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7346),
    [anon_sym_PIPE_EQ] = ACTIONS(7346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7346),
    [anon_sym_AMP_EQ] = ACTIONS(7346),
    [anon_sym_PERCENT_EQ] = ACTIONS(7346),
    [anon_sym_GT_GT_EQ] = ACTIONS(7346),
    [anon_sym_LT_LT_EQ] = ACTIONS(7346),
    [anon_sym_CARET_EQ] = ACTIONS(7346),
    [anon_sym_QMARK] = ACTIONS(7348),
    [anon_sym_DOT_DOT] = ACTIONS(7348),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7346),
    [anon_sym_and] = ACTIONS(7346),
    [anon_sym_or] = ACTIONS(7346),
    [anon_sym_PIPE_PIPE] = ACTIONS(7348),
    [anon_sym_AMP_AMP] = ACTIONS(7348),
    [anon_sym_LT_LT] = ACTIONS(7348),
    [anon_sym_GT_GT] = ACTIONS(7348),
    [anon_sym_EQ_EQ] = ACTIONS(7348),
    [anon_sym_BANG_EQ] = ACTIONS(7346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7346),
    [anon_sym_LT_EQ_GT] = ACTIONS(7346),
    [anon_sym_EQ_TILDE] = ACTIONS(7346),
    [anon_sym_BANG_TILDE] = ACTIONS(7346),
    [anon_sym_LT_EQ] = ACTIONS(7348),
    [anon_sym_GT] = ACTIONS(7348),
    [anon_sym_GT_EQ] = ACTIONS(7346),
    [anon_sym_CARET] = ACTIONS(7348),
    [anon_sym_PLUS] = ACTIONS(7348),
    [anon_sym_SLASH] = ACTIONS(7348),
    [anon_sym_PERCENT] = ACTIONS(7348),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(7348),
  },
  [8689] = {
    [sym__simple_heredoc_body] = ACTIONS(12768),
    [sym__heredoc_body_beginning] = ACTIONS(12768),
    [sym__string_middle] = ACTIONS(12768),
    [sym__string_end] = ACTIONS(12768),
    [sym__element_reference_left_bracket] = ACTIONS(12768),
    [sym__scope_double_colon] = ACTIONS(12768),
    [sym__binary_minus] = ACTIONS(12768),
    [sym__binary_star] = ACTIONS(12768),
    [anon_sym_LBRACE] = ACTIONS(12768),
    [anon_sym_DOT] = ACTIONS(12770),
    [anon_sym_COMMA] = ACTIONS(12768),
    [anon_sym_PIPE] = ACTIONS(12770),
    [anon_sym_STAR_STAR] = ACTIONS(12770),
    [anon_sym_AMP] = ACTIONS(12770),
    [anon_sym_EQ] = ACTIONS(12770),
    [anon_sym_LT] = ACTIONS(12770),
    [anon_sym_if] = ACTIONS(12768),
    [anon_sym_unless] = ACTIONS(12768),
    [anon_sym_while] = ACTIONS(12768),
    [anon_sym_until] = ACTIONS(12768),
    [anon_sym_rescue] = ACTIONS(12768),
    [anon_sym_do] = ACTIONS(12768),
    [anon_sym_AMP_DOT] = ACTIONS(12768),
    [anon_sym_PLUS_EQ] = ACTIONS(12768),
    [anon_sym_DASH_EQ] = ACTIONS(12768),
    [anon_sym_STAR_EQ] = ACTIONS(12768),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(12768),
    [anon_sym_SLASH_EQ] = ACTIONS(12768),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(12768),
    [anon_sym_PIPE_EQ] = ACTIONS(12768),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(12768),
    [anon_sym_AMP_EQ] = ACTIONS(12768),
    [anon_sym_PERCENT_EQ] = ACTIONS(12768),
    [anon_sym_GT_GT_EQ] = ACTIONS(12768),
    [anon_sym_LT_LT_EQ] = ACTIONS(12768),
    [anon_sym_CARET_EQ] = ACTIONS(12768),
    [anon_sym_QMARK] = ACTIONS(12768),
    [anon_sym_DOT_DOT] = ACTIONS(12770),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12768),
    [anon_sym_and] = ACTIONS(12768),
    [anon_sym_or] = ACTIONS(12768),
    [anon_sym_PIPE_PIPE] = ACTIONS(12770),
    [anon_sym_AMP_AMP] = ACTIONS(12770),
    [anon_sym_LT_LT] = ACTIONS(12770),
    [anon_sym_GT_GT] = ACTIONS(12770),
    [anon_sym_EQ_EQ] = ACTIONS(12770),
    [anon_sym_BANG_EQ] = ACTIONS(12768),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12768),
    [anon_sym_LT_EQ_GT] = ACTIONS(12768),
    [anon_sym_EQ_TILDE] = ACTIONS(12768),
    [anon_sym_BANG_TILDE] = ACTIONS(12768),
    [anon_sym_LT_EQ] = ACTIONS(12770),
    [anon_sym_GT] = ACTIONS(12770),
    [anon_sym_GT_EQ] = ACTIONS(12768),
    [anon_sym_CARET] = ACTIONS(12770),
    [anon_sym_PLUS] = ACTIONS(12770),
    [anon_sym_SLASH] = ACTIONS(12770),
    [anon_sym_PERCENT] = ACTIONS(12770),
    [sym_comment] = ACTIONS(256),
  },
  [8690] = {
    [sym__simple_string] = ACTIONS(3612),
    [sym__simple_heredoc_body] = ACTIONS(3612),
    [sym__string_beginning] = ACTIONS(3612),
    [sym__heredoc_body_beginning] = ACTIONS(3612),
    [sym__string_middle] = ACTIONS(3612),
    [sym__string_end] = ACTIONS(3612),
    [sym__element_reference_left_bracket] = ACTIONS(3612),
    [sym__scope_double_colon] = ACTIONS(3612),
    [sym__binary_minus] = ACTIONS(3612),
    [sym__binary_star] = ACTIONS(3612),
    [anon_sym_LBRACE] = ACTIONS(3612),
    [anon_sym_DOT] = ACTIONS(3614),
    [anon_sym_COMMA] = ACTIONS(3612),
    [anon_sym_PIPE] = ACTIONS(3614),
    [anon_sym_STAR_STAR] = ACTIONS(3614),
    [anon_sym_AMP] = ACTIONS(3614),
    [anon_sym_EQ] = ACTIONS(3614),
    [anon_sym_LT] = ACTIONS(3614),
    [anon_sym_if] = ACTIONS(3612),
    [anon_sym_unless] = ACTIONS(3612),
    [anon_sym_while] = ACTIONS(3612),
    [anon_sym_until] = ACTIONS(3612),
    [anon_sym_rescue] = ACTIONS(3612),
    [anon_sym_do] = ACTIONS(3612),
    [anon_sym_EQ_GT] = ACTIONS(3612),
    [anon_sym_AMP_DOT] = ACTIONS(3612),
    [anon_sym_PLUS_EQ] = ACTIONS(3612),
    [anon_sym_DASH_EQ] = ACTIONS(3612),
    [anon_sym_STAR_EQ] = ACTIONS(3612),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3612),
    [anon_sym_SLASH_EQ] = ACTIONS(3612),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3612),
    [anon_sym_PIPE_EQ] = ACTIONS(3612),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3612),
    [anon_sym_AMP_EQ] = ACTIONS(3612),
    [anon_sym_PERCENT_EQ] = ACTIONS(3612),
    [anon_sym_GT_GT_EQ] = ACTIONS(3612),
    [anon_sym_LT_LT_EQ] = ACTIONS(3612),
    [anon_sym_CARET_EQ] = ACTIONS(3612),
    [anon_sym_QMARK] = ACTIONS(3614),
    [anon_sym_DOT_DOT] = ACTIONS(3614),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3612),
    [anon_sym_and] = ACTIONS(3612),
    [anon_sym_or] = ACTIONS(3612),
    [anon_sym_PIPE_PIPE] = ACTIONS(3614),
    [anon_sym_AMP_AMP] = ACTIONS(3614),
    [anon_sym_LT_LT] = ACTIONS(3614),
    [anon_sym_GT_GT] = ACTIONS(3614),
    [anon_sym_EQ_EQ] = ACTIONS(3614),
    [anon_sym_BANG_EQ] = ACTIONS(3612),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3612),
    [anon_sym_LT_EQ_GT] = ACTIONS(3612),
    [anon_sym_EQ_TILDE] = ACTIONS(3612),
    [anon_sym_BANG_TILDE] = ACTIONS(3612),
    [anon_sym_LT_EQ] = ACTIONS(3614),
    [anon_sym_GT] = ACTIONS(3614),
    [anon_sym_GT_EQ] = ACTIONS(3612),
    [anon_sym_CARET] = ACTIONS(3614),
    [anon_sym_PLUS] = ACTIONS(3614),
    [anon_sym_SLASH] = ACTIONS(3614),
    [anon_sym_PERCENT] = ACTIONS(3614),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(3614),
  },
  [8691] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(14418),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [8692] = {
    [sym__string_middle] = ACTIONS(14000),
    [sym__string_end] = ACTIONS(14000),
    [sym__element_reference_left_bracket] = ACTIONS(14000),
    [sym__scope_double_colon] = ACTIONS(14000),
    [sym__binary_minus] = ACTIONS(14000),
    [sym__binary_star] = ACTIONS(14000),
    [anon_sym_DOT] = ACTIONS(14002),
    [anon_sym_COMMA] = ACTIONS(14000),
    [anon_sym_PIPE] = ACTIONS(14002),
    [anon_sym_STAR_STAR] = ACTIONS(14002),
    [anon_sym_AMP] = ACTIONS(14002),
    [anon_sym_EQ] = ACTIONS(14002),
    [anon_sym_LT] = ACTIONS(14002),
    [anon_sym_if] = ACTIONS(14000),
    [anon_sym_unless] = ACTIONS(14000),
    [anon_sym_while] = ACTIONS(14000),
    [anon_sym_until] = ACTIONS(14000),
    [anon_sym_rescue] = ACTIONS(14000),
    [anon_sym_AMP_DOT] = ACTIONS(14000),
    [anon_sym_PLUS_EQ] = ACTIONS(14000),
    [anon_sym_DASH_EQ] = ACTIONS(14000),
    [anon_sym_STAR_EQ] = ACTIONS(14000),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(14000),
    [anon_sym_SLASH_EQ] = ACTIONS(14000),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(14000),
    [anon_sym_PIPE_EQ] = ACTIONS(14000),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(14000),
    [anon_sym_AMP_EQ] = ACTIONS(14000),
    [anon_sym_PERCENT_EQ] = ACTIONS(14000),
    [anon_sym_GT_GT_EQ] = ACTIONS(14000),
    [anon_sym_LT_LT_EQ] = ACTIONS(14000),
    [anon_sym_CARET_EQ] = ACTIONS(14000),
    [anon_sym_QMARK] = ACTIONS(14000),
    [anon_sym_DOT_DOT] = ACTIONS(14002),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(14000),
    [anon_sym_and] = ACTIONS(14000),
    [anon_sym_or] = ACTIONS(14000),
    [anon_sym_PIPE_PIPE] = ACTIONS(14002),
    [anon_sym_AMP_AMP] = ACTIONS(14002),
    [anon_sym_LT_LT] = ACTIONS(14002),
    [anon_sym_GT_GT] = ACTIONS(14002),
    [anon_sym_EQ_EQ] = ACTIONS(14002),
    [anon_sym_BANG_EQ] = ACTIONS(14000),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(14000),
    [anon_sym_LT_EQ_GT] = ACTIONS(14000),
    [anon_sym_EQ_TILDE] = ACTIONS(14000),
    [anon_sym_BANG_TILDE] = ACTIONS(14000),
    [anon_sym_LT_EQ] = ACTIONS(14002),
    [anon_sym_GT] = ACTIONS(14002),
    [anon_sym_GT_EQ] = ACTIONS(14000),
    [anon_sym_CARET] = ACTIONS(14002),
    [anon_sym_PLUS] = ACTIONS(14002),
    [anon_sym_SLASH] = ACTIONS(14002),
    [anon_sym_PERCENT] = ACTIONS(14002),
    [sym_comment] = ACTIONS(256),
  },
  [8693] = {
    [sym__simple_heredoc_body] = ACTIONS(8664),
    [sym__heredoc_body_beginning] = ACTIONS(8664),
    [sym__string_middle] = ACTIONS(8664),
    [sym__string_end] = ACTIONS(8664),
    [sym__element_reference_left_bracket] = ACTIONS(8664),
    [sym__scope_double_colon] = ACTIONS(8664),
    [sym__binary_minus] = ACTIONS(8664),
    [sym__binary_star] = ACTIONS(8664),
    [anon_sym_LBRACE] = ACTIONS(8664),
    [anon_sym_DOT] = ACTIONS(8666),
    [anon_sym_COMMA] = ACTIONS(8664),
    [anon_sym_PIPE] = ACTIONS(8666),
    [anon_sym_STAR_STAR] = ACTIONS(8666),
    [anon_sym_AMP] = ACTIONS(8666),
    [anon_sym_EQ] = ACTIONS(8666),
    [anon_sym_LT] = ACTIONS(8666),
    [anon_sym_if] = ACTIONS(8664),
    [anon_sym_unless] = ACTIONS(8664),
    [anon_sym_while] = ACTIONS(8664),
    [anon_sym_until] = ACTIONS(8664),
    [anon_sym_rescue] = ACTIONS(8664),
    [anon_sym_do] = ACTIONS(8664),
    [anon_sym_EQ_GT] = ACTIONS(8664),
    [anon_sym_AMP_DOT] = ACTIONS(8664),
    [anon_sym_PLUS_EQ] = ACTIONS(8664),
    [anon_sym_DASH_EQ] = ACTIONS(8664),
    [anon_sym_STAR_EQ] = ACTIONS(8664),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8664),
    [anon_sym_SLASH_EQ] = ACTIONS(8664),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8664),
    [anon_sym_PIPE_EQ] = ACTIONS(8664),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8664),
    [anon_sym_AMP_EQ] = ACTIONS(8664),
    [anon_sym_PERCENT_EQ] = ACTIONS(8664),
    [anon_sym_GT_GT_EQ] = ACTIONS(8664),
    [anon_sym_LT_LT_EQ] = ACTIONS(8664),
    [anon_sym_CARET_EQ] = ACTIONS(8664),
    [anon_sym_QMARK] = ACTIONS(8664),
    [anon_sym_DOT_DOT] = ACTIONS(8666),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8664),
    [anon_sym_and] = ACTIONS(8664),
    [anon_sym_or] = ACTIONS(8664),
    [anon_sym_PIPE_PIPE] = ACTIONS(8666),
    [anon_sym_AMP_AMP] = ACTIONS(8666),
    [anon_sym_LT_LT] = ACTIONS(8666),
    [anon_sym_GT_GT] = ACTIONS(8666),
    [anon_sym_EQ_EQ] = ACTIONS(8666),
    [anon_sym_BANG_EQ] = ACTIONS(8664),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8664),
    [anon_sym_LT_EQ_GT] = ACTIONS(8664),
    [anon_sym_EQ_TILDE] = ACTIONS(8664),
    [anon_sym_BANG_TILDE] = ACTIONS(8664),
    [anon_sym_LT_EQ] = ACTIONS(8666),
    [anon_sym_GT] = ACTIONS(8666),
    [anon_sym_GT_EQ] = ACTIONS(8664),
    [anon_sym_CARET] = ACTIONS(8666),
    [anon_sym_PLUS] = ACTIONS(8666),
    [anon_sym_SLASH] = ACTIONS(8666),
    [anon_sym_PERCENT] = ACTIONS(8666),
    [sym_comment] = ACTIONS(256),
  },
  [8694] = {
    [anon_sym_DOT] = ACTIONS(14420),
    [anon_sym_COLON_COLON] = ACTIONS(14420),
    [sym_comment] = ACTIONS(110),
  },
  [8695] = {
    [sym__simple_heredoc_body] = ACTIONS(8832),
    [sym__heredoc_body_beginning] = ACTIONS(8832),
    [sym__string_middle] = ACTIONS(8832),
    [sym__string_end] = ACTIONS(8832),
    [sym__element_reference_left_bracket] = ACTIONS(8832),
    [sym__scope_double_colon] = ACTIONS(8832),
    [sym__binary_minus] = ACTIONS(8832),
    [sym__binary_star] = ACTIONS(8832),
    [anon_sym_LBRACE] = ACTIONS(8832),
    [anon_sym_DOT] = ACTIONS(8834),
    [anon_sym_COMMA] = ACTIONS(8832),
    [anon_sym_PIPE] = ACTIONS(8834),
    [anon_sym_STAR_STAR] = ACTIONS(8834),
    [anon_sym_AMP] = ACTIONS(8834),
    [anon_sym_EQ] = ACTIONS(8834),
    [anon_sym_LT] = ACTIONS(8834),
    [anon_sym_if] = ACTIONS(8832),
    [anon_sym_unless] = ACTIONS(8832),
    [anon_sym_while] = ACTIONS(8832),
    [anon_sym_until] = ACTIONS(8832),
    [anon_sym_rescue] = ACTIONS(8832),
    [anon_sym_do] = ACTIONS(8832),
    [anon_sym_EQ_GT] = ACTIONS(8832),
    [anon_sym_AMP_DOT] = ACTIONS(8832),
    [anon_sym_PLUS_EQ] = ACTIONS(8832),
    [anon_sym_DASH_EQ] = ACTIONS(8832),
    [anon_sym_STAR_EQ] = ACTIONS(8832),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8832),
    [anon_sym_SLASH_EQ] = ACTIONS(8832),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8832),
    [anon_sym_PIPE_EQ] = ACTIONS(8832),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8832),
    [anon_sym_AMP_EQ] = ACTIONS(8832),
    [anon_sym_PERCENT_EQ] = ACTIONS(8832),
    [anon_sym_GT_GT_EQ] = ACTIONS(8832),
    [anon_sym_LT_LT_EQ] = ACTIONS(8832),
    [anon_sym_CARET_EQ] = ACTIONS(8832),
    [anon_sym_QMARK] = ACTIONS(8832),
    [anon_sym_DOT_DOT] = ACTIONS(8834),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8832),
    [anon_sym_and] = ACTIONS(8832),
    [anon_sym_or] = ACTIONS(8832),
    [anon_sym_PIPE_PIPE] = ACTIONS(8834),
    [anon_sym_AMP_AMP] = ACTIONS(8834),
    [anon_sym_LT_LT] = ACTIONS(8834),
    [anon_sym_GT_GT] = ACTIONS(8834),
    [anon_sym_EQ_EQ] = ACTIONS(8834),
    [anon_sym_BANG_EQ] = ACTIONS(8832),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8832),
    [anon_sym_LT_EQ_GT] = ACTIONS(8832),
    [anon_sym_EQ_TILDE] = ACTIONS(8832),
    [anon_sym_BANG_TILDE] = ACTIONS(8832),
    [anon_sym_LT_EQ] = ACTIONS(8834),
    [anon_sym_GT] = ACTIONS(8834),
    [anon_sym_GT_EQ] = ACTIONS(8832),
    [anon_sym_CARET] = ACTIONS(8834),
    [anon_sym_PLUS] = ACTIONS(8834),
    [anon_sym_SLASH] = ACTIONS(8834),
    [anon_sym_PERCENT] = ACTIONS(8834),
    [sym_comment] = ACTIONS(256),
  },
  [8696] = {
    [sym__simple_heredoc_body] = ACTIONS(8858),
    [sym__heredoc_body_beginning] = ACTIONS(8858),
    [sym__string_middle] = ACTIONS(8858),
    [sym__string_end] = ACTIONS(8858),
    [sym__element_reference_left_bracket] = ACTIONS(8858),
    [sym__scope_double_colon] = ACTIONS(8858),
    [sym__binary_minus] = ACTIONS(8858),
    [sym__binary_star] = ACTIONS(8858),
    [anon_sym_LBRACE] = ACTIONS(8858),
    [anon_sym_DOT] = ACTIONS(8860),
    [anon_sym_COMMA] = ACTIONS(8858),
    [anon_sym_PIPE] = ACTIONS(8860),
    [anon_sym_STAR_STAR] = ACTIONS(8860),
    [anon_sym_AMP] = ACTIONS(8860),
    [anon_sym_EQ] = ACTIONS(8860),
    [anon_sym_LT] = ACTIONS(8860),
    [anon_sym_if] = ACTIONS(8858),
    [anon_sym_unless] = ACTIONS(8858),
    [anon_sym_while] = ACTIONS(8858),
    [anon_sym_until] = ACTIONS(8858),
    [anon_sym_rescue] = ACTIONS(8858),
    [anon_sym_do] = ACTIONS(8858),
    [anon_sym_EQ_GT] = ACTIONS(8858),
    [anon_sym_AMP_DOT] = ACTIONS(8858),
    [anon_sym_PLUS_EQ] = ACTIONS(8858),
    [anon_sym_DASH_EQ] = ACTIONS(8858),
    [anon_sym_STAR_EQ] = ACTIONS(8858),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8858),
    [anon_sym_SLASH_EQ] = ACTIONS(8858),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8858),
    [anon_sym_PIPE_EQ] = ACTIONS(8858),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8858),
    [anon_sym_AMP_EQ] = ACTIONS(8858),
    [anon_sym_PERCENT_EQ] = ACTIONS(8858),
    [anon_sym_GT_GT_EQ] = ACTIONS(8858),
    [anon_sym_LT_LT_EQ] = ACTIONS(8858),
    [anon_sym_CARET_EQ] = ACTIONS(8858),
    [anon_sym_QMARK] = ACTIONS(8858),
    [anon_sym_DOT_DOT] = ACTIONS(8860),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8858),
    [anon_sym_and] = ACTIONS(8858),
    [anon_sym_or] = ACTIONS(8858),
    [anon_sym_PIPE_PIPE] = ACTIONS(8860),
    [anon_sym_AMP_AMP] = ACTIONS(8860),
    [anon_sym_LT_LT] = ACTIONS(8860),
    [anon_sym_GT_GT] = ACTIONS(8860),
    [anon_sym_EQ_EQ] = ACTIONS(8860),
    [anon_sym_BANG_EQ] = ACTIONS(8858),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8858),
    [anon_sym_LT_EQ_GT] = ACTIONS(8858),
    [anon_sym_EQ_TILDE] = ACTIONS(8858),
    [anon_sym_BANG_TILDE] = ACTIONS(8858),
    [anon_sym_LT_EQ] = ACTIONS(8860),
    [anon_sym_GT] = ACTIONS(8860),
    [anon_sym_GT_EQ] = ACTIONS(8858),
    [anon_sym_CARET] = ACTIONS(8860),
    [anon_sym_PLUS] = ACTIONS(8860),
    [anon_sym_SLASH] = ACTIONS(8860),
    [anon_sym_PERCENT] = ACTIONS(8860),
    [sym_comment] = ACTIONS(256),
  },
  [8697] = {
    [anon_sym_end] = ACTIONS(14422),
    [sym_comment] = ACTIONS(110),
  },
  [8698] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(11419),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14424),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8699] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(11421),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14426),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8700] = {
    [sym__simple_heredoc_body] = ACTIONS(9340),
    [sym__heredoc_body_beginning] = ACTIONS(9340),
    [sym__string_middle] = ACTIONS(9340),
    [sym__string_end] = ACTIONS(9340),
    [sym__element_reference_left_bracket] = ACTIONS(9340),
    [sym__scope_double_colon] = ACTIONS(9340),
    [sym__binary_minus] = ACTIONS(9340),
    [sym__binary_star] = ACTIONS(9340),
    [anon_sym_LBRACE] = ACTIONS(9340),
    [anon_sym_DOT] = ACTIONS(9342),
    [anon_sym_COMMA] = ACTIONS(9340),
    [anon_sym_PIPE] = ACTIONS(9342),
    [anon_sym_STAR_STAR] = ACTIONS(9342),
    [anon_sym_AMP] = ACTIONS(9342),
    [anon_sym_EQ] = ACTIONS(9342),
    [anon_sym_LT] = ACTIONS(9342),
    [anon_sym_if] = ACTIONS(9340),
    [anon_sym_unless] = ACTIONS(9340),
    [anon_sym_while] = ACTIONS(9340),
    [anon_sym_until] = ACTIONS(9340),
    [anon_sym_rescue] = ACTIONS(9340),
    [anon_sym_do] = ACTIONS(9340),
    [anon_sym_EQ_GT] = ACTIONS(9340),
    [anon_sym_AMP_DOT] = ACTIONS(9340),
    [anon_sym_PLUS_EQ] = ACTIONS(9340),
    [anon_sym_DASH_EQ] = ACTIONS(9340),
    [anon_sym_STAR_EQ] = ACTIONS(9340),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9340),
    [anon_sym_SLASH_EQ] = ACTIONS(9340),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9340),
    [anon_sym_PIPE_EQ] = ACTIONS(9340),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9340),
    [anon_sym_AMP_EQ] = ACTIONS(9340),
    [anon_sym_PERCENT_EQ] = ACTIONS(9340),
    [anon_sym_GT_GT_EQ] = ACTIONS(9340),
    [anon_sym_LT_LT_EQ] = ACTIONS(9340),
    [anon_sym_CARET_EQ] = ACTIONS(9340),
    [anon_sym_QMARK] = ACTIONS(9340),
    [anon_sym_DOT_DOT] = ACTIONS(9342),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9340),
    [anon_sym_and] = ACTIONS(9340),
    [anon_sym_or] = ACTIONS(9340),
    [anon_sym_PIPE_PIPE] = ACTIONS(9342),
    [anon_sym_AMP_AMP] = ACTIONS(9342),
    [anon_sym_LT_LT] = ACTIONS(9342),
    [anon_sym_GT_GT] = ACTIONS(9342),
    [anon_sym_EQ_EQ] = ACTIONS(9342),
    [anon_sym_BANG_EQ] = ACTIONS(9340),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9340),
    [anon_sym_LT_EQ_GT] = ACTIONS(9340),
    [anon_sym_EQ_TILDE] = ACTIONS(9340),
    [anon_sym_BANG_TILDE] = ACTIONS(9340),
    [anon_sym_LT_EQ] = ACTIONS(9342),
    [anon_sym_GT] = ACTIONS(9342),
    [anon_sym_GT_EQ] = ACTIONS(9340),
    [anon_sym_CARET] = ACTIONS(9342),
    [anon_sym_PLUS] = ACTIONS(9342),
    [anon_sym_SLASH] = ACTIONS(9342),
    [anon_sym_PERCENT] = ACTIONS(9342),
    [sym_comment] = ACTIONS(256),
  },
  [8701] = {
    [anon_sym_end] = ACTIONS(14428),
    [sym_comment] = ACTIONS(110),
  },
  [8702] = {
    [sym__simple_heredoc_body] = ACTIONS(9398),
    [sym__heredoc_body_beginning] = ACTIONS(9398),
    [sym__string_middle] = ACTIONS(9398),
    [sym__string_end] = ACTIONS(9398),
    [sym__element_reference_left_bracket] = ACTIONS(9398),
    [sym__scope_double_colon] = ACTIONS(9398),
    [sym__binary_minus] = ACTIONS(9398),
    [sym__binary_star] = ACTIONS(9398),
    [anon_sym_LBRACE] = ACTIONS(9398),
    [anon_sym_DOT] = ACTIONS(9400),
    [anon_sym_COMMA] = ACTIONS(9398),
    [anon_sym_PIPE] = ACTIONS(9400),
    [anon_sym_STAR_STAR] = ACTIONS(9400),
    [anon_sym_AMP] = ACTIONS(9400),
    [anon_sym_EQ] = ACTIONS(9400),
    [anon_sym_LT] = ACTIONS(9400),
    [anon_sym_if] = ACTIONS(9398),
    [anon_sym_unless] = ACTIONS(9398),
    [anon_sym_while] = ACTIONS(9398),
    [anon_sym_until] = ACTIONS(9398),
    [anon_sym_rescue] = ACTIONS(9398),
    [anon_sym_do] = ACTIONS(9398),
    [anon_sym_EQ_GT] = ACTIONS(9398),
    [anon_sym_AMP_DOT] = ACTIONS(9398),
    [anon_sym_PLUS_EQ] = ACTIONS(9398),
    [anon_sym_DASH_EQ] = ACTIONS(9398),
    [anon_sym_STAR_EQ] = ACTIONS(9398),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9398),
    [anon_sym_SLASH_EQ] = ACTIONS(9398),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9398),
    [anon_sym_PIPE_EQ] = ACTIONS(9398),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9398),
    [anon_sym_AMP_EQ] = ACTIONS(9398),
    [anon_sym_PERCENT_EQ] = ACTIONS(9398),
    [anon_sym_GT_GT_EQ] = ACTIONS(9398),
    [anon_sym_LT_LT_EQ] = ACTIONS(9398),
    [anon_sym_CARET_EQ] = ACTIONS(9398),
    [anon_sym_QMARK] = ACTIONS(9398),
    [anon_sym_DOT_DOT] = ACTIONS(9400),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9398),
    [anon_sym_and] = ACTIONS(9398),
    [anon_sym_or] = ACTIONS(9398),
    [anon_sym_PIPE_PIPE] = ACTIONS(9400),
    [anon_sym_AMP_AMP] = ACTIONS(9400),
    [anon_sym_LT_LT] = ACTIONS(9400),
    [anon_sym_GT_GT] = ACTIONS(9400),
    [anon_sym_EQ_EQ] = ACTIONS(9400),
    [anon_sym_BANG_EQ] = ACTIONS(9398),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9398),
    [anon_sym_LT_EQ_GT] = ACTIONS(9398),
    [anon_sym_EQ_TILDE] = ACTIONS(9398),
    [anon_sym_BANG_TILDE] = ACTIONS(9398),
    [anon_sym_LT_EQ] = ACTIONS(9400),
    [anon_sym_GT] = ACTIONS(9400),
    [anon_sym_GT_EQ] = ACTIONS(9398),
    [anon_sym_CARET] = ACTIONS(9400),
    [anon_sym_PLUS] = ACTIONS(9400),
    [anon_sym_SLASH] = ACTIONS(9400),
    [anon_sym_PERCENT] = ACTIONS(9400),
    [sym_comment] = ACTIONS(256),
  },
  [8703] = {
    [anon_sym_end] = ACTIONS(14430),
    [sym_comment] = ACTIONS(110),
  },
  [8704] = {
    [sym__simple_heredoc_body] = ACTIONS(9562),
    [sym__heredoc_body_beginning] = ACTIONS(9562),
    [sym__string_middle] = ACTIONS(9562),
    [sym__string_end] = ACTIONS(9562),
    [sym__element_reference_left_bracket] = ACTIONS(9562),
    [sym__scope_double_colon] = ACTIONS(9562),
    [sym__binary_minus] = ACTIONS(9562),
    [sym__binary_star] = ACTIONS(9562),
    [anon_sym_LBRACE] = ACTIONS(9562),
    [anon_sym_DOT] = ACTIONS(9564),
    [anon_sym_COMMA] = ACTIONS(9562),
    [anon_sym_PIPE] = ACTIONS(9564),
    [anon_sym_STAR_STAR] = ACTIONS(9564),
    [anon_sym_AMP] = ACTIONS(9564),
    [anon_sym_EQ] = ACTIONS(9564),
    [anon_sym_LT] = ACTIONS(9564),
    [anon_sym_if] = ACTIONS(9562),
    [anon_sym_unless] = ACTIONS(9562),
    [anon_sym_while] = ACTIONS(9562),
    [anon_sym_until] = ACTIONS(9562),
    [anon_sym_rescue] = ACTIONS(9562),
    [anon_sym_do] = ACTIONS(9562),
    [anon_sym_EQ_GT] = ACTIONS(9562),
    [anon_sym_AMP_DOT] = ACTIONS(9562),
    [anon_sym_PLUS_EQ] = ACTIONS(9562),
    [anon_sym_DASH_EQ] = ACTIONS(9562),
    [anon_sym_STAR_EQ] = ACTIONS(9562),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9562),
    [anon_sym_SLASH_EQ] = ACTIONS(9562),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9562),
    [anon_sym_PIPE_EQ] = ACTIONS(9562),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9562),
    [anon_sym_AMP_EQ] = ACTIONS(9562),
    [anon_sym_PERCENT_EQ] = ACTIONS(9562),
    [anon_sym_GT_GT_EQ] = ACTIONS(9562),
    [anon_sym_LT_LT_EQ] = ACTIONS(9562),
    [anon_sym_CARET_EQ] = ACTIONS(9562),
    [anon_sym_QMARK] = ACTIONS(9562),
    [anon_sym_DOT_DOT] = ACTIONS(9564),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9562),
    [anon_sym_and] = ACTIONS(9562),
    [anon_sym_or] = ACTIONS(9562),
    [anon_sym_PIPE_PIPE] = ACTIONS(9564),
    [anon_sym_AMP_AMP] = ACTIONS(9564),
    [anon_sym_LT_LT] = ACTIONS(9564),
    [anon_sym_GT_GT] = ACTIONS(9564),
    [anon_sym_EQ_EQ] = ACTIONS(9564),
    [anon_sym_BANG_EQ] = ACTIONS(9562),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9562),
    [anon_sym_LT_EQ_GT] = ACTIONS(9562),
    [anon_sym_EQ_TILDE] = ACTIONS(9562),
    [anon_sym_BANG_TILDE] = ACTIONS(9562),
    [anon_sym_LT_EQ] = ACTIONS(9564),
    [anon_sym_GT] = ACTIONS(9564),
    [anon_sym_GT_EQ] = ACTIONS(9562),
    [anon_sym_CARET] = ACTIONS(9564),
    [anon_sym_PLUS] = ACTIONS(9564),
    [anon_sym_SLASH] = ACTIONS(9564),
    [anon_sym_PERCENT] = ACTIONS(9564),
    [sym_comment] = ACTIONS(256),
  },
  [8705] = {
    [sym_elsif] = STATE(3865),
    [sym_else] = STATE(3865),
    [sym__if_tail] = STATE(11424),
    [anon_sym_end] = ACTIONS(14432),
    [anon_sym_elsif] = ACTIONS(9592),
    [anon_sym_else] = ACTIONS(9594),
    [sym_comment] = ACTIONS(110),
  },
  [8706] = {
    [anon_sym_end] = ACTIONS(14432),
    [sym_comment] = ACTIONS(110),
  },
  [8707] = {
    [sym__statements] = STATE(11425),
    [sym__top_level_statement] = STATE(3863),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(3864),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_elsif] = STATE(3865),
    [sym_else] = STATE(3865),
    [sym__if_tail] = STATE(11424),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3867),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3869),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3870),
    [sym__variable] = STATE(3868),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5572),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14434),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_elsif] = ACTIONS(5586),
    [anon_sym_else] = ACTIONS(5588),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5590),
    [anon_sym_defined_QMARK] = ACTIONS(5592),
    [anon_sym_not] = ACTIONS(5594),
    [anon_sym_BANG] = ACTIONS(5596),
    [anon_sym_TILDE] = ACTIONS(5596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8708] = {
    [sym__simple_heredoc_body] = ACTIONS(9758),
    [sym__heredoc_body_beginning] = ACTIONS(9758),
    [sym__string_middle] = ACTIONS(9758),
    [sym__string_end] = ACTIONS(9758),
    [sym__element_reference_left_bracket] = ACTIONS(9758),
    [sym__scope_double_colon] = ACTIONS(9758),
    [sym__binary_minus] = ACTIONS(9758),
    [sym__binary_star] = ACTIONS(9758),
    [anon_sym_LBRACE] = ACTIONS(9758),
    [anon_sym_DOT] = ACTIONS(9760),
    [anon_sym_COMMA] = ACTIONS(9758),
    [anon_sym_PIPE] = ACTIONS(9760),
    [anon_sym_STAR_STAR] = ACTIONS(9760),
    [anon_sym_AMP] = ACTIONS(9760),
    [anon_sym_EQ] = ACTIONS(9760),
    [anon_sym_LT] = ACTIONS(9760),
    [anon_sym_if] = ACTIONS(9758),
    [anon_sym_unless] = ACTIONS(9758),
    [anon_sym_while] = ACTIONS(9758),
    [anon_sym_until] = ACTIONS(9758),
    [anon_sym_rescue] = ACTIONS(9758),
    [anon_sym_do] = ACTIONS(9758),
    [anon_sym_EQ_GT] = ACTIONS(9758),
    [anon_sym_AMP_DOT] = ACTIONS(9758),
    [anon_sym_PLUS_EQ] = ACTIONS(9758),
    [anon_sym_DASH_EQ] = ACTIONS(9758),
    [anon_sym_STAR_EQ] = ACTIONS(9758),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9758),
    [anon_sym_SLASH_EQ] = ACTIONS(9758),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9758),
    [anon_sym_PIPE_EQ] = ACTIONS(9758),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9758),
    [anon_sym_AMP_EQ] = ACTIONS(9758),
    [anon_sym_PERCENT_EQ] = ACTIONS(9758),
    [anon_sym_GT_GT_EQ] = ACTIONS(9758),
    [anon_sym_LT_LT_EQ] = ACTIONS(9758),
    [anon_sym_CARET_EQ] = ACTIONS(9758),
    [anon_sym_QMARK] = ACTIONS(9758),
    [anon_sym_DOT_DOT] = ACTIONS(9760),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9758),
    [anon_sym_and] = ACTIONS(9758),
    [anon_sym_or] = ACTIONS(9758),
    [anon_sym_PIPE_PIPE] = ACTIONS(9760),
    [anon_sym_AMP_AMP] = ACTIONS(9760),
    [anon_sym_LT_LT] = ACTIONS(9760),
    [anon_sym_GT_GT] = ACTIONS(9760),
    [anon_sym_EQ_EQ] = ACTIONS(9760),
    [anon_sym_BANG_EQ] = ACTIONS(9758),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9758),
    [anon_sym_LT_EQ_GT] = ACTIONS(9758),
    [anon_sym_EQ_TILDE] = ACTIONS(9758),
    [anon_sym_BANG_TILDE] = ACTIONS(9758),
    [anon_sym_LT_EQ] = ACTIONS(9760),
    [anon_sym_GT] = ACTIONS(9760),
    [anon_sym_GT_EQ] = ACTIONS(9758),
    [anon_sym_CARET] = ACTIONS(9760),
    [anon_sym_PLUS] = ACTIONS(9760),
    [anon_sym_SLASH] = ACTIONS(9760),
    [anon_sym_PERCENT] = ACTIONS(9760),
    [sym_comment] = ACTIONS(256),
  },
  [8709] = {
    [sym_else] = STATE(11427),
    [anon_sym_end] = ACTIONS(14436),
    [anon_sym_else] = ACTIONS(9594),
    [sym_comment] = ACTIONS(110),
  },
  [8710] = {
    [anon_sym_end] = ACTIONS(14436),
    [sym_comment] = ACTIONS(110),
  },
  [8711] = {
    [sym__simple_heredoc_body] = ACTIONS(9922),
    [sym__heredoc_body_beginning] = ACTIONS(9922),
    [sym__string_middle] = ACTIONS(9922),
    [sym__string_end] = ACTIONS(9922),
    [sym__element_reference_left_bracket] = ACTIONS(9922),
    [sym__scope_double_colon] = ACTIONS(9922),
    [sym__binary_minus] = ACTIONS(9922),
    [sym__binary_star] = ACTIONS(9922),
    [anon_sym_LBRACE] = ACTIONS(9922),
    [anon_sym_DOT] = ACTIONS(9924),
    [anon_sym_COMMA] = ACTIONS(9922),
    [anon_sym_PIPE] = ACTIONS(9924),
    [anon_sym_STAR_STAR] = ACTIONS(9924),
    [anon_sym_AMP] = ACTIONS(9924),
    [anon_sym_EQ] = ACTIONS(9924),
    [anon_sym_LT] = ACTIONS(9924),
    [anon_sym_if] = ACTIONS(9922),
    [anon_sym_unless] = ACTIONS(9922),
    [anon_sym_while] = ACTIONS(9922),
    [anon_sym_until] = ACTIONS(9922),
    [anon_sym_rescue] = ACTIONS(9922),
    [anon_sym_do] = ACTIONS(9922),
    [anon_sym_EQ_GT] = ACTIONS(9922),
    [anon_sym_AMP_DOT] = ACTIONS(9922),
    [anon_sym_PLUS_EQ] = ACTIONS(9922),
    [anon_sym_DASH_EQ] = ACTIONS(9922),
    [anon_sym_STAR_EQ] = ACTIONS(9922),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9922),
    [anon_sym_SLASH_EQ] = ACTIONS(9922),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9922),
    [anon_sym_PIPE_EQ] = ACTIONS(9922),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9922),
    [anon_sym_AMP_EQ] = ACTIONS(9922),
    [anon_sym_PERCENT_EQ] = ACTIONS(9922),
    [anon_sym_GT_GT_EQ] = ACTIONS(9922),
    [anon_sym_LT_LT_EQ] = ACTIONS(9922),
    [anon_sym_CARET_EQ] = ACTIONS(9922),
    [anon_sym_QMARK] = ACTIONS(9922),
    [anon_sym_DOT_DOT] = ACTIONS(9924),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9922),
    [anon_sym_and] = ACTIONS(9922),
    [anon_sym_or] = ACTIONS(9922),
    [anon_sym_PIPE_PIPE] = ACTIONS(9924),
    [anon_sym_AMP_AMP] = ACTIONS(9924),
    [anon_sym_LT_LT] = ACTIONS(9924),
    [anon_sym_GT_GT] = ACTIONS(9924),
    [anon_sym_EQ_EQ] = ACTIONS(9924),
    [anon_sym_BANG_EQ] = ACTIONS(9922),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9922),
    [anon_sym_LT_EQ_GT] = ACTIONS(9922),
    [anon_sym_EQ_TILDE] = ACTIONS(9922),
    [anon_sym_BANG_TILDE] = ACTIONS(9922),
    [anon_sym_LT_EQ] = ACTIONS(9924),
    [anon_sym_GT] = ACTIONS(9924),
    [anon_sym_GT_EQ] = ACTIONS(9922),
    [anon_sym_CARET] = ACTIONS(9924),
    [anon_sym_PLUS] = ACTIONS(9924),
    [anon_sym_SLASH] = ACTIONS(9924),
    [anon_sym_PERCENT] = ACTIONS(9924),
    [sym_comment] = ACTIONS(256),
  },
  [8712] = {
    [anon_sym_end] = ACTIONS(14438),
    [sym_comment] = ACTIONS(110),
  },
  [8713] = {
    [sym__simple_heredoc_body] = ACTIONS(10004),
    [sym__heredoc_body_beginning] = ACTIONS(10004),
    [sym__string_middle] = ACTIONS(10004),
    [sym__string_end] = ACTIONS(10004),
    [sym__element_reference_left_bracket] = ACTIONS(10004),
    [sym__scope_double_colon] = ACTIONS(10004),
    [sym__binary_minus] = ACTIONS(10004),
    [sym__binary_star] = ACTIONS(10004),
    [anon_sym_LBRACE] = ACTIONS(10004),
    [anon_sym_DOT] = ACTIONS(10006),
    [anon_sym_COMMA] = ACTIONS(10004),
    [anon_sym_PIPE] = ACTIONS(10006),
    [anon_sym_STAR_STAR] = ACTIONS(10006),
    [anon_sym_AMP] = ACTIONS(10006),
    [anon_sym_EQ] = ACTIONS(10006),
    [anon_sym_LT] = ACTIONS(10006),
    [anon_sym_if] = ACTIONS(10004),
    [anon_sym_unless] = ACTIONS(10004),
    [anon_sym_while] = ACTIONS(10004),
    [anon_sym_until] = ACTIONS(10004),
    [anon_sym_rescue] = ACTIONS(10004),
    [anon_sym_do] = ACTIONS(10004),
    [anon_sym_EQ_GT] = ACTIONS(10004),
    [anon_sym_AMP_DOT] = ACTIONS(10004),
    [anon_sym_PLUS_EQ] = ACTIONS(10004),
    [anon_sym_DASH_EQ] = ACTIONS(10004),
    [anon_sym_STAR_EQ] = ACTIONS(10004),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(10004),
    [anon_sym_SLASH_EQ] = ACTIONS(10004),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(10004),
    [anon_sym_PIPE_EQ] = ACTIONS(10004),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(10004),
    [anon_sym_AMP_EQ] = ACTIONS(10004),
    [anon_sym_PERCENT_EQ] = ACTIONS(10004),
    [anon_sym_GT_GT_EQ] = ACTIONS(10004),
    [anon_sym_LT_LT_EQ] = ACTIONS(10004),
    [anon_sym_CARET_EQ] = ACTIONS(10004),
    [anon_sym_QMARK] = ACTIONS(10004),
    [anon_sym_DOT_DOT] = ACTIONS(10006),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10004),
    [anon_sym_and] = ACTIONS(10004),
    [anon_sym_or] = ACTIONS(10004),
    [anon_sym_PIPE_PIPE] = ACTIONS(10006),
    [anon_sym_AMP_AMP] = ACTIONS(10006),
    [anon_sym_LT_LT] = ACTIONS(10006),
    [anon_sym_GT_GT] = ACTIONS(10006),
    [anon_sym_EQ_EQ] = ACTIONS(10006),
    [anon_sym_BANG_EQ] = ACTIONS(10004),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10004),
    [anon_sym_LT_EQ_GT] = ACTIONS(10004),
    [anon_sym_EQ_TILDE] = ACTIONS(10004),
    [anon_sym_BANG_TILDE] = ACTIONS(10004),
    [anon_sym_LT_EQ] = ACTIONS(10006),
    [anon_sym_GT] = ACTIONS(10006),
    [anon_sym_GT_EQ] = ACTIONS(10004),
    [anon_sym_CARET] = ACTIONS(10006),
    [anon_sym_PLUS] = ACTIONS(10006),
    [anon_sym_SLASH] = ACTIONS(10006),
    [anon_sym_PERCENT] = ACTIONS(10006),
    [sym_comment] = ACTIONS(256),
  },
  [8714] = {
    [anon_sym_end] = ACTIONS(14440),
    [sym_comment] = ACTIONS(110),
  },
  [8715] = {
    [sym__statements] = STATE(11431),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14442),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8716] = {
    [sym__string_middle] = ACTIONS(14030),
    [sym__string_end] = ACTIONS(14030),
    [sym__element_reference_left_bracket] = ACTIONS(14030),
    [sym__scope_double_colon] = ACTIONS(14030),
    [sym__binary_minus] = ACTIONS(14030),
    [sym__binary_star] = ACTIONS(14030),
    [anon_sym_DOT] = ACTIONS(14032),
    [anon_sym_COMMA] = ACTIONS(14030),
    [anon_sym_PIPE] = ACTIONS(14032),
    [anon_sym_STAR_STAR] = ACTIONS(14032),
    [anon_sym_AMP] = ACTIONS(14032),
    [anon_sym_EQ] = ACTIONS(14032),
    [anon_sym_LT] = ACTIONS(14032),
    [anon_sym_if] = ACTIONS(14030),
    [anon_sym_unless] = ACTIONS(14030),
    [anon_sym_while] = ACTIONS(14030),
    [anon_sym_until] = ACTIONS(14030),
    [anon_sym_rescue] = ACTIONS(14030),
    [anon_sym_AMP_DOT] = ACTIONS(14030),
    [anon_sym_PLUS_EQ] = ACTIONS(14030),
    [anon_sym_DASH_EQ] = ACTIONS(14030),
    [anon_sym_STAR_EQ] = ACTIONS(14030),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(14030),
    [anon_sym_SLASH_EQ] = ACTIONS(14030),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(14030),
    [anon_sym_PIPE_EQ] = ACTIONS(14030),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(14030),
    [anon_sym_AMP_EQ] = ACTIONS(14030),
    [anon_sym_PERCENT_EQ] = ACTIONS(14030),
    [anon_sym_GT_GT_EQ] = ACTIONS(14030),
    [anon_sym_LT_LT_EQ] = ACTIONS(14030),
    [anon_sym_CARET_EQ] = ACTIONS(14030),
    [anon_sym_QMARK] = ACTIONS(14030),
    [anon_sym_DOT_DOT] = ACTIONS(14032),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(14030),
    [anon_sym_and] = ACTIONS(14030),
    [anon_sym_or] = ACTIONS(14030),
    [anon_sym_PIPE_PIPE] = ACTIONS(14032),
    [anon_sym_AMP_AMP] = ACTIONS(14032),
    [anon_sym_LT_LT] = ACTIONS(14032),
    [anon_sym_GT_GT] = ACTIONS(14032),
    [anon_sym_EQ_EQ] = ACTIONS(14032),
    [anon_sym_BANG_EQ] = ACTIONS(14030),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(14030),
    [anon_sym_LT_EQ_GT] = ACTIONS(14030),
    [anon_sym_EQ_TILDE] = ACTIONS(14030),
    [anon_sym_BANG_TILDE] = ACTIONS(14030),
    [anon_sym_LT_EQ] = ACTIONS(14032),
    [anon_sym_GT] = ACTIONS(14032),
    [anon_sym_GT_EQ] = ACTIONS(14030),
    [anon_sym_CARET] = ACTIONS(14032),
    [anon_sym_PLUS] = ACTIONS(14032),
    [anon_sym_SLASH] = ACTIONS(14032),
    [anon_sym_PERCENT] = ACTIONS(14032),
    [sym_comment] = ACTIONS(256),
  },
  [8717] = {
    [anon_sym_end] = ACTIONS(14444),
    [sym_comment] = ACTIONS(110),
  },
  [8718] = {
    [sym__statements] = STATE(11433),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14446),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8719] = {
    [sym__simple_heredoc_body] = ACTIONS(10332),
    [sym__heredoc_body_beginning] = ACTIONS(10332),
    [sym__string_middle] = ACTIONS(10332),
    [sym__string_end] = ACTIONS(10332),
    [sym__element_reference_left_bracket] = ACTIONS(10332),
    [sym__scope_double_colon] = ACTIONS(10332),
    [sym__binary_minus] = ACTIONS(10332),
    [sym__binary_star] = ACTIONS(10332),
    [anon_sym_LBRACE] = ACTIONS(10332),
    [anon_sym_DOT] = ACTIONS(10334),
    [anon_sym_COMMA] = ACTIONS(10332),
    [anon_sym_PIPE] = ACTIONS(10334),
    [anon_sym_STAR_STAR] = ACTIONS(10334),
    [anon_sym_AMP] = ACTIONS(10334),
    [anon_sym_EQ] = ACTIONS(10334),
    [anon_sym_LT] = ACTIONS(10334),
    [anon_sym_if] = ACTIONS(10332),
    [anon_sym_unless] = ACTIONS(10332),
    [anon_sym_while] = ACTIONS(10332),
    [anon_sym_until] = ACTIONS(10332),
    [anon_sym_rescue] = ACTIONS(10332),
    [anon_sym_do] = ACTIONS(10332),
    [anon_sym_EQ_GT] = ACTIONS(10332),
    [anon_sym_AMP_DOT] = ACTIONS(10332),
    [anon_sym_PLUS_EQ] = ACTIONS(10332),
    [anon_sym_DASH_EQ] = ACTIONS(10332),
    [anon_sym_STAR_EQ] = ACTIONS(10332),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(10332),
    [anon_sym_SLASH_EQ] = ACTIONS(10332),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(10332),
    [anon_sym_PIPE_EQ] = ACTIONS(10332),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(10332),
    [anon_sym_AMP_EQ] = ACTIONS(10332),
    [anon_sym_PERCENT_EQ] = ACTIONS(10332),
    [anon_sym_GT_GT_EQ] = ACTIONS(10332),
    [anon_sym_LT_LT_EQ] = ACTIONS(10332),
    [anon_sym_CARET_EQ] = ACTIONS(10332),
    [anon_sym_QMARK] = ACTIONS(10332),
    [anon_sym_DOT_DOT] = ACTIONS(10334),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10332),
    [anon_sym_and] = ACTIONS(10332),
    [anon_sym_or] = ACTIONS(10332),
    [anon_sym_PIPE_PIPE] = ACTIONS(10334),
    [anon_sym_AMP_AMP] = ACTIONS(10334),
    [anon_sym_LT_LT] = ACTIONS(10334),
    [anon_sym_GT_GT] = ACTIONS(10334),
    [anon_sym_EQ_EQ] = ACTIONS(10334),
    [anon_sym_BANG_EQ] = ACTIONS(10332),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10332),
    [anon_sym_LT_EQ_GT] = ACTIONS(10332),
    [anon_sym_EQ_TILDE] = ACTIONS(10332),
    [anon_sym_BANG_TILDE] = ACTIONS(10332),
    [anon_sym_LT_EQ] = ACTIONS(10334),
    [anon_sym_GT] = ACTIONS(10334),
    [anon_sym_GT_EQ] = ACTIONS(10332),
    [anon_sym_CARET] = ACTIONS(10334),
    [anon_sym_PLUS] = ACTIONS(10334),
    [anon_sym_SLASH] = ACTIONS(10334),
    [anon_sym_PERCENT] = ACTIONS(10334),
    [sym_comment] = ACTIONS(256),
  },
  [8720] = {
    [anon_sym_end] = ACTIONS(14448),
    [sym_comment] = ACTIONS(110),
  },
  [8721] = {
    [sym__simple_heredoc_body] = ACTIONS(10934),
    [sym__heredoc_body_beginning] = ACTIONS(10934),
    [sym__string_middle] = ACTIONS(10934),
    [sym__string_end] = ACTIONS(10934),
    [sym__element_reference_left_bracket] = ACTIONS(10934),
    [sym__scope_double_colon] = ACTIONS(10934),
    [sym__binary_minus] = ACTIONS(10934),
    [sym__binary_star] = ACTIONS(10934),
    [anon_sym_LBRACE] = ACTIONS(10934),
    [anon_sym_DOT] = ACTIONS(10936),
    [anon_sym_COMMA] = ACTIONS(10934),
    [anon_sym_PIPE] = ACTIONS(10936),
    [anon_sym_STAR_STAR] = ACTIONS(10936),
    [anon_sym_AMP] = ACTIONS(10936),
    [anon_sym_EQ] = ACTIONS(10936),
    [anon_sym_LT] = ACTIONS(10936),
    [anon_sym_if] = ACTIONS(10934),
    [anon_sym_unless] = ACTIONS(10934),
    [anon_sym_while] = ACTIONS(10934),
    [anon_sym_until] = ACTIONS(10934),
    [anon_sym_rescue] = ACTIONS(10934),
    [anon_sym_do] = ACTIONS(10934),
    [anon_sym_EQ_GT] = ACTIONS(10934),
    [anon_sym_AMP_DOT] = ACTIONS(10934),
    [anon_sym_PLUS_EQ] = ACTIONS(10934),
    [anon_sym_DASH_EQ] = ACTIONS(10934),
    [anon_sym_STAR_EQ] = ACTIONS(10934),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(10934),
    [anon_sym_SLASH_EQ] = ACTIONS(10934),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(10934),
    [anon_sym_PIPE_EQ] = ACTIONS(10934),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(10934),
    [anon_sym_AMP_EQ] = ACTIONS(10934),
    [anon_sym_PERCENT_EQ] = ACTIONS(10934),
    [anon_sym_GT_GT_EQ] = ACTIONS(10934),
    [anon_sym_LT_LT_EQ] = ACTIONS(10934),
    [anon_sym_CARET_EQ] = ACTIONS(10934),
    [anon_sym_QMARK] = ACTIONS(10934),
    [anon_sym_DOT_DOT] = ACTIONS(10936),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10934),
    [anon_sym_and] = ACTIONS(10934),
    [anon_sym_or] = ACTIONS(10934),
    [anon_sym_PIPE_PIPE] = ACTIONS(10936),
    [anon_sym_AMP_AMP] = ACTIONS(10936),
    [anon_sym_LT_LT] = ACTIONS(10936),
    [anon_sym_GT_GT] = ACTIONS(10936),
    [anon_sym_EQ_EQ] = ACTIONS(10936),
    [anon_sym_BANG_EQ] = ACTIONS(10934),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10934),
    [anon_sym_LT_EQ_GT] = ACTIONS(10934),
    [anon_sym_EQ_TILDE] = ACTIONS(10934),
    [anon_sym_BANG_TILDE] = ACTIONS(10934),
    [anon_sym_LT_EQ] = ACTIONS(10936),
    [anon_sym_GT] = ACTIONS(10936),
    [anon_sym_GT_EQ] = ACTIONS(10934),
    [anon_sym_CARET] = ACTIONS(10936),
    [anon_sym_PLUS] = ACTIONS(10936),
    [anon_sym_SLASH] = ACTIONS(10936),
    [anon_sym_PERCENT] = ACTIONS(10936),
    [sym_comment] = ACTIONS(256),
  },
  [8722] = {
    [sym_method] = STATE(769),
    [sym_singleton_method] = STATE(769),
    [sym_class] = STATE(769),
    [sym_singleton_class] = STATE(769),
    [sym_module] = STATE(769),
    [sym_return] = STATE(769),
    [sym_yield] = STATE(769),
    [sym_break] = STATE(769),
    [sym_next] = STATE(769),
    [sym_redo] = STATE(769),
    [sym_retry] = STATE(769),
    [sym_while] = STATE(769),
    [sym_until] = STATE(769),
    [sym_for] = STATE(769),
    [sym_case] = STATE(769),
    [sym_if] = STATE(769),
    [sym_unless] = STATE(769),
    [sym_begin] = STATE(769),
    [sym__arg] = STATE(11435),
    [sym__primary] = STATE(804),
    [sym_parenthesized_statements] = STATE(769),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(805),
    [sym_call] = STATE(805),
    [sym_method_call] = STATE(694),
    [sym_assignment] = STATE(811),
    [sym_operator_assignment] = STATE(811),
    [sym_conditional] = STATE(811),
    [sym_range] = STATE(811),
    [sym_binary] = STATE(811),
    [sym_unary] = STATE(811),
    [sym_left_assignment_list] = STATE(812),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(813),
    [sym__variable] = STATE(805),
    [sym_symbol] = STATE(769),
    [sym_complex] = STATE(769),
    [sym_rational] = STATE(769),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(769),
    [sym_string] = STATE(2518),
    [sym_subshell] = STATE(769),
    [sym_array] = STATE(769),
    [sym_hash] = STATE(769),
    [sym_regex] = STATE(769),
    [sym_lambda] = STATE(769),
    [sym__simple_string] = ACTIONS(3712),
    [sym__simple_symbol] = ACTIONS(1276),
    [sym__simple_subshell] = ACTIONS(1278),
    [sym__simple_regex] = ACTIONS(1280),
    [sym__simple_word_list] = ACTIONS(1282),
    [sym__string_beginning] = ACTIONS(3714),
    [sym__symbol_beginning] = ACTIONS(1286),
    [sym__subshell_beginning] = ACTIONS(1288),
    [sym__regex_beginning] = ACTIONS(1290),
    [sym__word_list_beginning] = ACTIONS(1292),
    [sym_heredoc_beginning] = ACTIONS(1294),
    [sym__unary_minus] = ACTIONS(1302),
    [anon_sym_LBRACE] = ACTIONS(3716),
    [anon_sym_def] = ACTIONS(3718),
    [anon_sym_LPAREN] = ACTIONS(1308),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3720),
    [anon_sym_module] = ACTIONS(3722),
    [anon_sym_return] = ACTIONS(3724),
    [anon_sym_yield] = ACTIONS(3726),
    [anon_sym_break] = ACTIONS(3728),
    [anon_sym_next] = ACTIONS(3730),
    [anon_sym_redo] = ACTIONS(3732),
    [anon_sym_retry] = ACTIONS(3734),
    [anon_sym_if] = ACTIONS(3736),
    [anon_sym_unless] = ACTIONS(3738),
    [anon_sym_while] = ACTIONS(3740),
    [anon_sym_until] = ACTIONS(3742),
    [anon_sym_for] = ACTIONS(3744),
    [anon_sym_case] = ACTIONS(3746),
    [anon_sym_begin] = ACTIONS(3748),
    [anon_sym_PLUS] = ACTIONS(3750),
    [anon_sym_defined_QMARK] = ACTIONS(1334),
    [anon_sym_not] = ACTIONS(3752),
    [anon_sym_BANG] = ACTIONS(1340),
    [anon_sym_TILDE] = ACTIONS(1340),
    [sym_constant] = ACTIONS(3488),
    [sym_identifier] = ACTIONS(3488),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_false] = ACTIONS(1186),
    [anon_sym_nil] = ACTIONS(1188),
    [anon_sym_self] = ACTIONS(3490),
    [anon_sym_super] = ACTIONS(3492),
    [anon_sym_true] = ACTIONS(1184),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1344),
    [sym_float] = ACTIONS(1346),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1348),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1350),
    [sym_keyword__LINE__] = ACTIONS(1350),
    [sym_keyword__ENCODING__] = ACTIONS(1350),
    [sym__character_literal] = ACTIONS(3754),
    [anon_sym_LBRACK] = ACTIONS(1354),
    [anon_sym_DASH_GT] = ACTIONS(1356),
  },
  [8723] = {
    [sym__simple_heredoc_body] = ACTIONS(8070),
    [sym__heredoc_body_beginning] = ACTIONS(8070),
    [sym__string_middle] = ACTIONS(8070),
    [sym__string_end] = ACTIONS(8070),
    [sym__element_reference_left_bracket] = ACTIONS(8070),
    [sym__scope_double_colon] = ACTIONS(8070),
    [sym__binary_minus] = ACTIONS(8070),
    [sym__binary_star] = ACTIONS(8070),
    [anon_sym_LBRACE] = ACTIONS(8070),
    [anon_sym_DOT] = ACTIONS(10414),
    [anon_sym_COMMA] = ACTIONS(8070),
    [anon_sym_PIPE] = ACTIONS(10414),
    [anon_sym_STAR_STAR] = ACTIONS(10414),
    [anon_sym_AMP] = ACTIONS(10414),
    [anon_sym_EQ] = ACTIONS(10414),
    [anon_sym_LT] = ACTIONS(10414),
    [anon_sym_if] = ACTIONS(8070),
    [anon_sym_unless] = ACTIONS(8070),
    [anon_sym_while] = ACTIONS(8070),
    [anon_sym_until] = ACTIONS(8070),
    [anon_sym_rescue] = ACTIONS(8070),
    [anon_sym_do] = ACTIONS(8070),
    [anon_sym_AMP_DOT] = ACTIONS(8070),
    [anon_sym_PLUS_EQ] = ACTIONS(8070),
    [anon_sym_DASH_EQ] = ACTIONS(8070),
    [anon_sym_STAR_EQ] = ACTIONS(8070),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8070),
    [anon_sym_SLASH_EQ] = ACTIONS(8070),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8070),
    [anon_sym_PIPE_EQ] = ACTIONS(8070),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8070),
    [anon_sym_AMP_EQ] = ACTIONS(8070),
    [anon_sym_PERCENT_EQ] = ACTIONS(8070),
    [anon_sym_GT_GT_EQ] = ACTIONS(8070),
    [anon_sym_LT_LT_EQ] = ACTIONS(8070),
    [anon_sym_CARET_EQ] = ACTIONS(8070),
    [anon_sym_QMARK] = ACTIONS(8070),
    [anon_sym_DOT_DOT] = ACTIONS(10414),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8070),
    [anon_sym_and] = ACTIONS(8070),
    [anon_sym_or] = ACTIONS(8070),
    [anon_sym_PIPE_PIPE] = ACTIONS(10414),
    [anon_sym_AMP_AMP] = ACTIONS(10414),
    [anon_sym_LT_LT] = ACTIONS(10414),
    [anon_sym_GT_GT] = ACTIONS(10414),
    [anon_sym_EQ_EQ] = ACTIONS(10414),
    [anon_sym_BANG_EQ] = ACTIONS(8070),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8070),
    [anon_sym_LT_EQ_GT] = ACTIONS(8070),
    [anon_sym_EQ_TILDE] = ACTIONS(8070),
    [anon_sym_BANG_TILDE] = ACTIONS(8070),
    [anon_sym_LT_EQ] = ACTIONS(10414),
    [anon_sym_GT] = ACTIONS(10414),
    [anon_sym_GT_EQ] = ACTIONS(8070),
    [anon_sym_CARET] = ACTIONS(10414),
    [anon_sym_PLUS] = ACTIONS(10414),
    [anon_sym_SLASH] = ACTIONS(10414),
    [anon_sym_PERCENT] = ACTIONS(10414),
    [sym_comment] = ACTIONS(256),
  },
  [8724] = {
    [sym__heredoc_body_middle] = ACTIONS(8296),
    [sym__heredoc_body_end] = ACTIONS(14450),
    [anon_sym_if] = ACTIONS(4112),
    [anon_sym_unless] = ACTIONS(4114),
    [anon_sym_while] = ACTIONS(4116),
    [anon_sym_until] = ACTIONS(4118),
    [anon_sym_rescue] = ACTIONS(4120),
    [sym_comment] = ACTIONS(110),
  },
  [8725] = {
    [sym__simple_heredoc_body] = ACTIONS(12790),
    [sym__heredoc_body_beginning] = ACTIONS(12790),
    [sym__string_middle] = ACTIONS(12790),
    [sym__string_end] = ACTIONS(12790),
    [sym__element_reference_left_bracket] = ACTIONS(12790),
    [sym__scope_double_colon] = ACTIONS(12790),
    [sym__binary_minus] = ACTIONS(12790),
    [sym__binary_star] = ACTIONS(12790),
    [anon_sym_LBRACE] = ACTIONS(12790),
    [anon_sym_DOT] = ACTIONS(12792),
    [anon_sym_COMMA] = ACTIONS(12790),
    [anon_sym_PIPE] = ACTIONS(12792),
    [anon_sym_STAR_STAR] = ACTIONS(12792),
    [anon_sym_AMP] = ACTIONS(12792),
    [anon_sym_EQ] = ACTIONS(12792),
    [anon_sym_LT] = ACTIONS(12792),
    [anon_sym_if] = ACTIONS(12790),
    [anon_sym_unless] = ACTIONS(12790),
    [anon_sym_while] = ACTIONS(12790),
    [anon_sym_until] = ACTIONS(12790),
    [anon_sym_rescue] = ACTIONS(12790),
    [anon_sym_do] = ACTIONS(12790),
    [anon_sym_AMP_DOT] = ACTIONS(12790),
    [anon_sym_PLUS_EQ] = ACTIONS(12790),
    [anon_sym_DASH_EQ] = ACTIONS(12790),
    [anon_sym_STAR_EQ] = ACTIONS(12790),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(12790),
    [anon_sym_SLASH_EQ] = ACTIONS(12790),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(12790),
    [anon_sym_PIPE_EQ] = ACTIONS(12790),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(12790),
    [anon_sym_AMP_EQ] = ACTIONS(12790),
    [anon_sym_PERCENT_EQ] = ACTIONS(12790),
    [anon_sym_GT_GT_EQ] = ACTIONS(12790),
    [anon_sym_LT_LT_EQ] = ACTIONS(12790),
    [anon_sym_CARET_EQ] = ACTIONS(12790),
    [anon_sym_QMARK] = ACTIONS(12790),
    [anon_sym_DOT_DOT] = ACTIONS(12792),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12790),
    [anon_sym_and] = ACTIONS(12790),
    [anon_sym_or] = ACTIONS(12790),
    [anon_sym_PIPE_PIPE] = ACTIONS(12792),
    [anon_sym_AMP_AMP] = ACTIONS(12792),
    [anon_sym_LT_LT] = ACTIONS(12792),
    [anon_sym_GT_GT] = ACTIONS(12792),
    [anon_sym_EQ_EQ] = ACTIONS(12792),
    [anon_sym_BANG_EQ] = ACTIONS(12790),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12790),
    [anon_sym_LT_EQ_GT] = ACTIONS(12790),
    [anon_sym_EQ_TILDE] = ACTIONS(12790),
    [anon_sym_BANG_TILDE] = ACTIONS(12790),
    [anon_sym_LT_EQ] = ACTIONS(12792),
    [anon_sym_GT] = ACTIONS(12792),
    [anon_sym_GT_EQ] = ACTIONS(12790),
    [anon_sym_CARET] = ACTIONS(12792),
    [anon_sym_PLUS] = ACTIONS(12792),
    [anon_sym_SLASH] = ACTIONS(12792),
    [anon_sym_PERCENT] = ACTIONS(12792),
    [sym_comment] = ACTIONS(256),
  },
  [8726] = {
    [sym_method] = STATE(769),
    [sym_singleton_method] = STATE(769),
    [sym_class] = STATE(769),
    [sym_singleton_class] = STATE(769),
    [sym_module] = STATE(769),
    [sym_return] = STATE(769),
    [sym_yield] = STATE(769),
    [sym_break] = STATE(769),
    [sym_next] = STATE(769),
    [sym_redo] = STATE(769),
    [sym_retry] = STATE(769),
    [sym_while] = STATE(769),
    [sym_until] = STATE(769),
    [sym_for] = STATE(769),
    [sym_case] = STATE(769),
    [sym_if] = STATE(769),
    [sym_unless] = STATE(769),
    [sym_begin] = STATE(769),
    [sym__arg] = STATE(803),
    [sym__primary] = STATE(804),
    [sym_parenthesized_statements] = STATE(769),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(805),
    [sym_call] = STATE(805),
    [sym_method_call] = STATE(694),
    [sym__argument] = STATE(11437),
    [sym_splat_argument] = STATE(809),
    [sym_hash_splat_argument] = STATE(809),
    [sym_block_argument] = STATE(809),
    [sym_assignment] = STATE(811),
    [sym_operator_assignment] = STATE(811),
    [sym_conditional] = STATE(811),
    [sym_range] = STATE(811),
    [sym_binary] = STATE(811),
    [sym_unary] = STATE(811),
    [sym_left_assignment_list] = STATE(812),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(813),
    [sym__variable] = STATE(805),
    [sym_reserved_identifier] = STATE(814),
    [sym_symbol] = STATE(769),
    [sym_complex] = STATE(769),
    [sym_rational] = STATE(769),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(769),
    [sym_string] = STATE(815),
    [sym_subshell] = STATE(769),
    [sym_array] = STATE(769),
    [sym_hash] = STATE(769),
    [sym_pair] = STATE(809),
    [sym_regex] = STATE(769),
    [sym_lambda] = STATE(769),
    [sym__simple_string] = ACTIONS(1274),
    [sym__simple_symbol] = ACTIONS(1276),
    [sym__simple_subshell] = ACTIONS(1278),
    [sym__simple_regex] = ACTIONS(1280),
    [sym__simple_word_list] = ACTIONS(1282),
    [sym__string_beginning] = ACTIONS(1284),
    [sym__symbol_beginning] = ACTIONS(1286),
    [sym__subshell_beginning] = ACTIONS(1288),
    [sym__regex_beginning] = ACTIONS(1290),
    [sym__word_list_beginning] = ACTIONS(1292),
    [sym_heredoc_beginning] = ACTIONS(1294),
    [sym__block_ampersand] = ACTIONS(1296),
    [sym__splat_star] = ACTIONS(1298),
    [sym__unary_minus] = ACTIONS(1302),
    [anon_sym_LBRACE] = ACTIONS(3716),
    [anon_sym_def] = ACTIONS(1306),
    [anon_sym_LPAREN] = ACTIONS(1308),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(7622),
    [anon_sym_class] = ACTIONS(1310),
    [anon_sym_module] = ACTIONS(1312),
    [anon_sym_return] = ACTIONS(1314),
    [anon_sym_yield] = ACTIONS(1316),
    [anon_sym_break] = ACTIONS(1318),
    [anon_sym_next] = ACTIONS(1320),
    [anon_sym_redo] = ACTIONS(1322),
    [anon_sym_retry] = ACTIONS(1324),
    [anon_sym_if] = ACTIONS(7624),
    [anon_sym_unless] = ACTIONS(7626),
    [anon_sym_while] = ACTIONS(7628),
    [anon_sym_until] = ACTIONS(7630),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1326),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1330),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1332),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(3750),
    [anon_sym_defined_QMARK] = ACTIONS(1334),
    [anon_sym_not] = ACTIONS(1336),
    [anon_sym_BANG] = ACTIONS(1340),
    [anon_sym_TILDE] = ACTIONS(1340),
    [sym_constant] = ACTIONS(1342),
    [sym_identifier] = ACTIONS(1342),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(1168),
    [anon_sym_nil] = ACTIONS(1170),
    [anon_sym_self] = ACTIONS(1172),
    [anon_sym_super] = ACTIONS(1174),
    [anon_sym_true] = ACTIONS(1176),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1344),
    [sym_float] = ACTIONS(1346),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1348),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1350),
    [sym_keyword__LINE__] = ACTIONS(1350),
    [sym_keyword__ENCODING__] = ACTIONS(1350),
    [sym__character_literal] = ACTIONS(1352),
    [anon_sym_LBRACK] = ACTIONS(1354),
    [anon_sym_DASH_GT] = ACTIONS(1356),
  },
  [8727] = {
    [sym_method] = STATE(769),
    [sym_singleton_method] = STATE(769),
    [sym_class] = STATE(769),
    [sym_singleton_class] = STATE(769),
    [sym_module] = STATE(769),
    [sym_return] = STATE(769),
    [sym_yield] = STATE(769),
    [sym_break] = STATE(769),
    [sym_next] = STATE(769),
    [sym_redo] = STATE(769),
    [sym_retry] = STATE(769),
    [sym_while] = STATE(769),
    [sym_until] = STATE(769),
    [sym_for] = STATE(769),
    [sym_case] = STATE(769),
    [sym_if] = STATE(769),
    [sym_unless] = STATE(769),
    [sym_begin] = STATE(769),
    [sym__arg] = STATE(5414),
    [sym__primary] = STATE(804),
    [sym_parenthesized_statements] = STATE(769),
    [sym_element_reference] = STATE(694),
    [sym_scope_resolution] = STATE(805),
    [sym_call] = STATE(805),
    [sym_method_call] = STATE(694),
    [sym_splat_argument] = STATE(5415),
    [sym_assignment] = STATE(811),
    [sym_operator_assignment] = STATE(811),
    [sym_conditional] = STATE(811),
    [sym_range] = STATE(811),
    [sym_binary] = STATE(811),
    [sym_unary] = STATE(811),
    [sym__arg_or_splat_arg] = STATE(11438),
    [sym_left_assignment_list] = STATE(812),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(813),
    [sym__variable] = STATE(805),
    [sym_symbol] = STATE(769),
    [sym_complex] = STATE(769),
    [sym_rational] = STATE(769),
    [sym_super] = STATE(679),
    [sym_true] = STATE(694),
    [sym_false] = STATE(694),
    [sym_self] = STATE(679),
    [sym_nil] = STATE(694),
    [sym_chained_string] = STATE(769),
    [sym_string] = STATE(2518),
    [sym_subshell] = STATE(769),
    [sym_array] = STATE(769),
    [sym_hash] = STATE(769),
    [sym_regex] = STATE(769),
    [sym_lambda] = STATE(769),
    [sym__simple_string] = ACTIONS(3712),
    [sym__simple_symbol] = ACTIONS(1276),
    [sym__simple_subshell] = ACTIONS(1278),
    [sym__simple_regex] = ACTIONS(1280),
    [sym__simple_word_list] = ACTIONS(1282),
    [sym__string_beginning] = ACTIONS(3714),
    [sym__symbol_beginning] = ACTIONS(1286),
    [sym__subshell_beginning] = ACTIONS(1288),
    [sym__regex_beginning] = ACTIONS(1290),
    [sym__word_list_beginning] = ACTIONS(1292),
    [sym_heredoc_beginning] = ACTIONS(1294),
    [sym__splat_star] = ACTIONS(3566),
    [sym__unary_minus] = ACTIONS(1302),
    [anon_sym_LBRACE] = ACTIONS(3716),
    [anon_sym_def] = ACTIONS(3718),
    [anon_sym_LPAREN] = ACTIONS(1308),
    [anon_sym_COLON_COLON] = ACTIONS(1132),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3720),
    [anon_sym_module] = ACTIONS(3722),
    [anon_sym_return] = ACTIONS(3724),
    [anon_sym_yield] = ACTIONS(3726),
    [anon_sym_break] = ACTIONS(3728),
    [anon_sym_next] = ACTIONS(3730),
    [anon_sym_redo] = ACTIONS(3732),
    [anon_sym_retry] = ACTIONS(3734),
    [anon_sym_if] = ACTIONS(3736),
    [anon_sym_unless] = ACTIONS(3738),
    [anon_sym_while] = ACTIONS(3740),
    [anon_sym_until] = ACTIONS(3742),
    [anon_sym_for] = ACTIONS(3744),
    [anon_sym_case] = ACTIONS(3746),
    [anon_sym_begin] = ACTIONS(3748),
    [anon_sym_PLUS] = ACTIONS(3750),
    [anon_sym_defined_QMARK] = ACTIONS(1334),
    [anon_sym_not] = ACTIONS(3752),
    [anon_sym_BANG] = ACTIONS(1340),
    [anon_sym_TILDE] = ACTIONS(1340),
    [sym_constant] = ACTIONS(3488),
    [sym_identifier] = ACTIONS(3488),
    [sym_instance_variable] = ACTIONS(1166),
    [sym_class_variable] = ACTIONS(1166),
    [sym_global_variable] = ACTIONS(1166),
    [anon_sym_false] = ACTIONS(1186),
    [anon_sym_nil] = ACTIONS(1188),
    [anon_sym_self] = ACTIONS(3490),
    [anon_sym_super] = ACTIONS(3492),
    [anon_sym_true] = ACTIONS(1184),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1344),
    [sym_float] = ACTIONS(1346),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1348),
    [anon_sym_TRUE] = ACTIONS(1184),
    [anon_sym_FALSE] = ACTIONS(1186),
    [anon_sym_NIL] = ACTIONS(1188),
    [sym_keyword__FILE__] = ACTIONS(1350),
    [sym_keyword__LINE__] = ACTIONS(1350),
    [sym_keyword__ENCODING__] = ACTIONS(1350),
    [sym__character_literal] = ACTIONS(3754),
    [anon_sym_LBRACK] = ACTIONS(1354),
    [anon_sym_DASH_GT] = ACTIONS(1356),
  },
  [8728] = {
    [sym__simple_heredoc_body] = ACTIONS(11422),
    [sym__heredoc_body_beginning] = ACTIONS(11422),
    [sym__string_middle] = ACTIONS(11422),
    [sym__string_end] = ACTIONS(11422),
    [sym__element_reference_left_bracket] = ACTIONS(11422),
    [sym__scope_double_colon] = ACTIONS(11422),
    [sym__binary_minus] = ACTIONS(11422),
    [sym__binary_star] = ACTIONS(11422),
    [anon_sym_LBRACE] = ACTIONS(11422),
    [anon_sym_DOT] = ACTIONS(11426),
    [anon_sym_COMMA] = ACTIONS(14452),
    [anon_sym_PIPE] = ACTIONS(11426),
    [anon_sym_STAR_STAR] = ACTIONS(11426),
    [anon_sym_AMP] = ACTIONS(11426),
    [anon_sym_EQ] = ACTIONS(11426),
    [anon_sym_LT] = ACTIONS(11426),
    [anon_sym_if] = ACTIONS(11422),
    [anon_sym_unless] = ACTIONS(11422),
    [anon_sym_while] = ACTIONS(11422),
    [anon_sym_until] = ACTIONS(11422),
    [anon_sym_rescue] = ACTIONS(11422),
    [anon_sym_do] = ACTIONS(11422),
    [anon_sym_EQ_GT] = ACTIONS(11422),
    [anon_sym_AMP_DOT] = ACTIONS(11422),
    [anon_sym_PLUS_EQ] = ACTIONS(11422),
    [anon_sym_DASH_EQ] = ACTIONS(11422),
    [anon_sym_STAR_EQ] = ACTIONS(11422),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(11422),
    [anon_sym_SLASH_EQ] = ACTIONS(11422),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(11422),
    [anon_sym_PIPE_EQ] = ACTIONS(11422),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(11422),
    [anon_sym_AMP_EQ] = ACTIONS(11422),
    [anon_sym_PERCENT_EQ] = ACTIONS(11422),
    [anon_sym_GT_GT_EQ] = ACTIONS(11422),
    [anon_sym_LT_LT_EQ] = ACTIONS(11422),
    [anon_sym_CARET_EQ] = ACTIONS(11422),
    [anon_sym_QMARK] = ACTIONS(11422),
    [anon_sym_DOT_DOT] = ACTIONS(11426),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11422),
    [anon_sym_and] = ACTIONS(11422),
    [anon_sym_or] = ACTIONS(11422),
    [anon_sym_PIPE_PIPE] = ACTIONS(11426),
    [anon_sym_AMP_AMP] = ACTIONS(11426),
    [anon_sym_LT_LT] = ACTIONS(11426),
    [anon_sym_GT_GT] = ACTIONS(11426),
    [anon_sym_EQ_EQ] = ACTIONS(11426),
    [anon_sym_BANG_EQ] = ACTIONS(11422),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11422),
    [anon_sym_LT_EQ_GT] = ACTIONS(11422),
    [anon_sym_EQ_TILDE] = ACTIONS(11422),
    [anon_sym_BANG_TILDE] = ACTIONS(11422),
    [anon_sym_LT_EQ] = ACTIONS(11426),
    [anon_sym_GT] = ACTIONS(11426),
    [anon_sym_GT_EQ] = ACTIONS(11422),
    [anon_sym_CARET] = ACTIONS(11426),
    [anon_sym_PLUS] = ACTIONS(11426),
    [anon_sym_SLASH] = ACTIONS(11426),
    [anon_sym_PERCENT] = ACTIONS(11426),
    [sym_comment] = ACTIONS(256),
  },
  [8729] = {
    [sym__string_middle] = ACTIONS(7008),
    [sym__string_end] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(7636),
    [anon_sym_COMMA] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_STAR_STAR] = ACTIONS(7640),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_if] = ACTIONS(7008),
    [anon_sym_unless] = ACTIONS(7008),
    [anon_sym_while] = ACTIONS(7008),
    [anon_sym_until] = ACTIONS(7008),
    [anon_sym_rescue] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7008),
    [anon_sym_AMP_AMP] = ACTIONS(7008),
    [anon_sym_LT_LT] = ACTIONS(7008),
    [anon_sym_GT_GT] = ACTIONS(7008),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7008),
    [anon_sym_PLUS] = ACTIONS(7008),
    [anon_sym_SLASH] = ACTIONS(7640),
    [anon_sym_PERCENT] = ACTIONS(7640),
    [sym_comment] = ACTIONS(110),
  },
  [8730] = {
    [sym__string_middle] = ACTIONS(7012),
    [sym__string_end] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_COMMA] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_STAR_STAR] = ACTIONS(7640),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_if] = ACTIONS(7012),
    [anon_sym_unless] = ACTIONS(7012),
    [anon_sym_while] = ACTIONS(7012),
    [anon_sym_until] = ACTIONS(7012),
    [anon_sym_rescue] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7012),
    [anon_sym_AMP_AMP] = ACTIONS(7012),
    [anon_sym_LT_LT] = ACTIONS(7012),
    [anon_sym_GT_GT] = ACTIONS(7012),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7012),
    [anon_sym_PLUS] = ACTIONS(7012),
    [anon_sym_SLASH] = ACTIONS(7012),
    [anon_sym_PERCENT] = ACTIONS(7012),
    [sym_comment] = ACTIONS(110),
  },
  [8731] = {
    [sym__string_middle] = ACTIONS(7016),
    [sym__string_end] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7634),
    [sym__binary_star] = ACTIONS(7636),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(7640),
    [anon_sym_AMP] = ACTIONS(7642),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7654),
    [anon_sym_GT_GT] = ACTIONS(7654),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7662),
    [anon_sym_SLASH] = ACTIONS(7640),
    [anon_sym_PERCENT] = ACTIONS(7640),
    [sym_comment] = ACTIONS(110),
  },
  [8732] = {
    [sym__string_middle] = ACTIONS(7016),
    [sym__string_end] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(7640),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7016),
    [anon_sym_PERCENT] = ACTIONS(7016),
    [sym_comment] = ACTIONS(110),
  },
  [8733] = {
    [sym__string_middle] = ACTIONS(7016),
    [sym__string_end] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7634),
    [sym__binary_star] = ACTIONS(7636),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(7640),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7654),
    [anon_sym_GT_GT] = ACTIONS(7654),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7662),
    [anon_sym_SLASH] = ACTIONS(7640),
    [anon_sym_PERCENT] = ACTIONS(7640),
    [sym_comment] = ACTIONS(110),
  },
  [8734] = {
    [sym__string_middle] = ACTIONS(7016),
    [sym__string_end] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7634),
    [sym__binary_star] = ACTIONS(7636),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7638),
    [anon_sym_STAR_STAR] = ACTIONS(7640),
    [anon_sym_AMP] = ACTIONS(7642),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7654),
    [anon_sym_GT_GT] = ACTIONS(7654),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7660),
    [anon_sym_PLUS] = ACTIONS(7662),
    [anon_sym_SLASH] = ACTIONS(7640),
    [anon_sym_PERCENT] = ACTIONS(7640),
    [sym_comment] = ACTIONS(110),
  },
  [8735] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(14454),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [8736] = {
    [sym__string_middle] = ACTIONS(7108),
    [sym__string_end] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(7634),
    [sym__binary_star] = ACTIONS(7636),
    [anon_sym_COMMA] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(7638),
    [anon_sym_STAR_STAR] = ACTIONS(7640),
    [anon_sym_AMP] = ACTIONS(7642),
    [anon_sym_LT] = ACTIONS(7644),
    [anon_sym_if] = ACTIONS(7108),
    [anon_sym_unless] = ACTIONS(7108),
    [anon_sym_while] = ACTIONS(7108),
    [anon_sym_until] = ACTIONS(7108),
    [anon_sym_rescue] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(7648),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7650),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(7652),
    [anon_sym_AMP_AMP] = ACTIONS(7652),
    [anon_sym_LT_LT] = ACTIONS(7654),
    [anon_sym_GT_GT] = ACTIONS(7654),
    [anon_sym_EQ_EQ] = ACTIONS(7656),
    [anon_sym_BANG_EQ] = ACTIONS(7652),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7652),
    [anon_sym_LT_EQ_GT] = ACTIONS(7652),
    [anon_sym_EQ_TILDE] = ACTIONS(7652),
    [anon_sym_BANG_TILDE] = ACTIONS(7652),
    [anon_sym_LT_EQ] = ACTIONS(7644),
    [anon_sym_GT] = ACTIONS(7644),
    [anon_sym_GT_EQ] = ACTIONS(7658),
    [anon_sym_CARET] = ACTIONS(7660),
    [anon_sym_PLUS] = ACTIONS(7662),
    [anon_sym_SLASH] = ACTIONS(7640),
    [anon_sym_PERCENT] = ACTIONS(7640),
    [sym_comment] = ACTIONS(110),
  },
  [8737] = {
    [sym__string_middle] = ACTIONS(7016),
    [sym__string_end] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7634),
    [sym__binary_star] = ACTIONS(7636),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7638),
    [anon_sym_STAR_STAR] = ACTIONS(7640),
    [anon_sym_AMP] = ACTIONS(7642),
    [anon_sym_LT] = ACTIONS(7644),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7646),
    [anon_sym_DOT_DOT] = ACTIONS(7648),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7650),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7652),
    [anon_sym_AMP_AMP] = ACTIONS(7652),
    [anon_sym_LT_LT] = ACTIONS(7654),
    [anon_sym_GT_GT] = ACTIONS(7654),
    [anon_sym_EQ_EQ] = ACTIONS(7656),
    [anon_sym_BANG_EQ] = ACTIONS(7652),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7652),
    [anon_sym_LT_EQ_GT] = ACTIONS(7652),
    [anon_sym_EQ_TILDE] = ACTIONS(7652),
    [anon_sym_BANG_TILDE] = ACTIONS(7652),
    [anon_sym_LT_EQ] = ACTIONS(7644),
    [anon_sym_GT] = ACTIONS(7644),
    [anon_sym_GT_EQ] = ACTIONS(7658),
    [anon_sym_CARET] = ACTIONS(7660),
    [anon_sym_PLUS] = ACTIONS(7662),
    [anon_sym_SLASH] = ACTIONS(7640),
    [anon_sym_PERCENT] = ACTIONS(7640),
    [sym_comment] = ACTIONS(110),
  },
  [8738] = {
    [sym__string_middle] = ACTIONS(7016),
    [sym__string_end] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7634),
    [sym__binary_star] = ACTIONS(7636),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7638),
    [anon_sym_STAR_STAR] = ACTIONS(7640),
    [anon_sym_AMP] = ACTIONS(7642),
    [anon_sym_LT] = ACTIONS(7644),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7654),
    [anon_sym_GT_GT] = ACTIONS(7654),
    [anon_sym_EQ_EQ] = ACTIONS(7656),
    [anon_sym_BANG_EQ] = ACTIONS(7652),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7652),
    [anon_sym_LT_EQ_GT] = ACTIONS(7652),
    [anon_sym_EQ_TILDE] = ACTIONS(7652),
    [anon_sym_BANG_TILDE] = ACTIONS(7652),
    [anon_sym_LT_EQ] = ACTIONS(7644),
    [anon_sym_GT] = ACTIONS(7644),
    [anon_sym_GT_EQ] = ACTIONS(7658),
    [anon_sym_CARET] = ACTIONS(7660),
    [anon_sym_PLUS] = ACTIONS(7662),
    [anon_sym_SLASH] = ACTIONS(7640),
    [anon_sym_PERCENT] = ACTIONS(7640),
    [sym_comment] = ACTIONS(110),
  },
  [8739] = {
    [sym__string_middle] = ACTIONS(7016),
    [sym__string_end] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7634),
    [sym__binary_star] = ACTIONS(7636),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(7640),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7662),
    [anon_sym_SLASH] = ACTIONS(7640),
    [anon_sym_PERCENT] = ACTIONS(7640),
    [sym_comment] = ACTIONS(110),
  },
  [8740] = {
    [sym__string_middle] = ACTIONS(7016),
    [sym__string_end] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7636),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(7640),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7640),
    [anon_sym_PERCENT] = ACTIONS(7640),
    [sym_comment] = ACTIONS(110),
  },
  [8741] = {
    [sym__string_middle] = ACTIONS(13562),
    [sym__string_end] = ACTIONS(13562),
    [sym__binary_minus] = ACTIONS(13562),
    [sym__binary_star] = ACTIONS(13562),
    [anon_sym_COMMA] = ACTIONS(13562),
    [anon_sym_PIPE] = ACTIONS(14302),
    [anon_sym_STAR_STAR] = ACTIONS(13562),
    [anon_sym_AMP] = ACTIONS(14302),
    [anon_sym_LT] = ACTIONS(14302),
    [anon_sym_if] = ACTIONS(13562),
    [anon_sym_unless] = ACTIONS(13562),
    [anon_sym_while] = ACTIONS(13562),
    [anon_sym_until] = ACTIONS(13562),
    [anon_sym_rescue] = ACTIONS(13562),
    [anon_sym_QMARK] = ACTIONS(13562),
    [anon_sym_DOT_DOT] = ACTIONS(14302),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(13562),
    [anon_sym_and] = ACTIONS(13562),
    [anon_sym_or] = ACTIONS(13562),
    [anon_sym_PIPE_PIPE] = ACTIONS(13562),
    [anon_sym_AMP_AMP] = ACTIONS(13562),
    [anon_sym_LT_LT] = ACTIONS(13562),
    [anon_sym_GT_GT] = ACTIONS(13562),
    [anon_sym_EQ_EQ] = ACTIONS(14302),
    [anon_sym_BANG_EQ] = ACTIONS(13562),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(13562),
    [anon_sym_LT_EQ_GT] = ACTIONS(13562),
    [anon_sym_EQ_TILDE] = ACTIONS(13562),
    [anon_sym_BANG_TILDE] = ACTIONS(13562),
    [anon_sym_LT_EQ] = ACTIONS(14302),
    [anon_sym_GT] = ACTIONS(14302),
    [anon_sym_GT_EQ] = ACTIONS(13562),
    [anon_sym_CARET] = ACTIONS(13562),
    [anon_sym_PLUS] = ACTIONS(13562),
    [anon_sym_SLASH] = ACTIONS(13562),
    [anon_sym_PERCENT] = ACTIONS(13562),
    [sym_comment] = ACTIONS(110),
  },
  [8742] = {
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(2599),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_splat_argument] = STATE(2600),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym__arg_or_splat_arg] = STATE(11441),
    [sym_left_assignment_list] = STATE(2603),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2604),
    [sym__variable] = STATE(122),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__splat_star] = ACTIONS(3828),
    [sym__unary_minus] = ACTIONS(3830),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(3832),
    [anon_sym_defined_QMARK] = ACTIONS(3834),
    [anon_sym_not] = ACTIONS(3836),
    [anon_sym_BANG] = ACTIONS(3838),
    [anon_sym_TILDE] = ACTIONS(3838),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [8743] = {
    [aux_sym_exceptions_repeat1] = STATE(5438),
    [sym__string_middle] = ACTIONS(7330),
    [sym__string_end] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_if] = ACTIONS(7330),
    [anon_sym_unless] = ACTIONS(7330),
    [anon_sym_while] = ACTIONS(7330),
    [anon_sym_until] = ACTIONS(7330),
    [anon_sym_rescue] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [8744] = {
    [sym__string_middle] = ACTIONS(7344),
    [sym__string_end] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(7634),
    [sym__binary_star] = ACTIONS(7636),
    [anon_sym_COMMA] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(7638),
    [anon_sym_STAR_STAR] = ACTIONS(7640),
    [anon_sym_AMP] = ACTIONS(7642),
    [anon_sym_LT] = ACTIONS(7644),
    [anon_sym_if] = ACTIONS(7344),
    [anon_sym_unless] = ACTIONS(7344),
    [anon_sym_while] = ACTIONS(7344),
    [anon_sym_until] = ACTIONS(7344),
    [anon_sym_rescue] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(7646),
    [anon_sym_DOT_DOT] = ACTIONS(7648),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7650),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(7652),
    [anon_sym_AMP_AMP] = ACTIONS(7652),
    [anon_sym_LT_LT] = ACTIONS(7654),
    [anon_sym_GT_GT] = ACTIONS(7654),
    [anon_sym_EQ_EQ] = ACTIONS(7656),
    [anon_sym_BANG_EQ] = ACTIONS(7652),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7652),
    [anon_sym_LT_EQ_GT] = ACTIONS(7652),
    [anon_sym_EQ_TILDE] = ACTIONS(7652),
    [anon_sym_BANG_TILDE] = ACTIONS(7652),
    [anon_sym_LT_EQ] = ACTIONS(7644),
    [anon_sym_GT] = ACTIONS(7644),
    [anon_sym_GT_EQ] = ACTIONS(7658),
    [anon_sym_CARET] = ACTIONS(7660),
    [anon_sym_PLUS] = ACTIONS(7662),
    [anon_sym_SLASH] = ACTIONS(7640),
    [anon_sym_PERCENT] = ACTIONS(7640),
    [sym_comment] = ACTIONS(110),
  },
  [8745] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_RBRACE] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(11630),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_if] = ACTIONS(1372),
    [anon_sym_unless] = ACTIONS(1372),
    [anon_sym_while] = ACTIONS(1372),
    [anon_sym_until] = ACTIONS(1372),
    [anon_sym_rescue] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [8746] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_RBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(11630),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [8747] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(11624),
    [sym__binary_star] = ACTIONS(11626),
    [anon_sym_RBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(11628),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(11630),
    [anon_sym_AMP] = ACTIONS(11632),
    [anon_sym_LT] = ACTIONS(11634),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(11636),
    [anon_sym_DOT_DOT] = ACTIONS(11638),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11640),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(11642),
    [anon_sym_AMP_AMP] = ACTIONS(11642),
    [anon_sym_LT_LT] = ACTIONS(11644),
    [anon_sym_GT_GT] = ACTIONS(11644),
    [anon_sym_EQ_EQ] = ACTIONS(11646),
    [anon_sym_BANG_EQ] = ACTIONS(11642),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11642),
    [anon_sym_LT_EQ_GT] = ACTIONS(11642),
    [anon_sym_EQ_TILDE] = ACTIONS(11642),
    [anon_sym_BANG_TILDE] = ACTIONS(11642),
    [anon_sym_LT_EQ] = ACTIONS(11634),
    [anon_sym_GT] = ACTIONS(11634),
    [anon_sym_GT_EQ] = ACTIONS(11648),
    [anon_sym_CARET] = ACTIONS(11650),
    [anon_sym_PLUS] = ACTIONS(11652),
    [anon_sym_SLASH] = ACTIONS(11630),
    [anon_sym_PERCENT] = ACTIONS(11630),
    [sym_comment] = ACTIONS(110),
  },
  [8748] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(11442),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(5446),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5447),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(7698),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7700),
    [anon_sym_defined_QMARK] = ACTIONS(7702),
    [anon_sym_not] = ACTIONS(7704),
    [anon_sym_BANG] = ACTIONS(7706),
    [anon_sym_TILDE] = ACTIONS(7706),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8749] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(11443),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(5446),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5447),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(7698),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7700),
    [anon_sym_defined_QMARK] = ACTIONS(7702),
    [anon_sym_not] = ACTIONS(7704),
    [anon_sym_BANG] = ACTIONS(7706),
    [anon_sym_TILDE] = ACTIONS(7706),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8750] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(11444),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(5446),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5447),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(7698),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7700),
    [anon_sym_defined_QMARK] = ACTIONS(7702),
    [anon_sym_not] = ACTIONS(7704),
    [anon_sym_BANG] = ACTIONS(7706),
    [anon_sym_TILDE] = ACTIONS(7706),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8751] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(11445),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(5446),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5447),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(7698),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7700),
    [anon_sym_defined_QMARK] = ACTIONS(7702),
    [anon_sym_not] = ACTIONS(7704),
    [anon_sym_BANG] = ACTIONS(7706),
    [anon_sym_TILDE] = ACTIONS(7706),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8752] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(11446),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(5446),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5447),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(7698),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7700),
    [anon_sym_defined_QMARK] = ACTIONS(7702),
    [anon_sym_not] = ACTIONS(7704),
    [anon_sym_BANG] = ACTIONS(7706),
    [anon_sym_TILDE] = ACTIONS(7706),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8753] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(11447),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(5446),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5447),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(7698),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7700),
    [anon_sym_defined_QMARK] = ACTIONS(7702),
    [anon_sym_not] = ACTIONS(7704),
    [anon_sym_BANG] = ACTIONS(7706),
    [anon_sym_TILDE] = ACTIONS(7706),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8754] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(11448),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [8755] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(11449),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(5446),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5447),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(7698),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7700),
    [anon_sym_defined_QMARK] = ACTIONS(7702),
    [anon_sym_not] = ACTIONS(7704),
    [anon_sym_BANG] = ACTIONS(7706),
    [anon_sym_TILDE] = ACTIONS(7706),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8756] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(11450),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(5446),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5447),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(7698),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7700),
    [anon_sym_defined_QMARK] = ACTIONS(7702),
    [anon_sym_not] = ACTIONS(7704),
    [anon_sym_BANG] = ACTIONS(7706),
    [anon_sym_TILDE] = ACTIONS(7706),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8757] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(11451),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(5446),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5447),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(7698),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7700),
    [anon_sym_defined_QMARK] = ACTIONS(7702),
    [anon_sym_not] = ACTIONS(7704),
    [anon_sym_BANG] = ACTIONS(7706),
    [anon_sym_TILDE] = ACTIONS(7706),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8758] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(11452),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(5446),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5447),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(7698),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7700),
    [anon_sym_defined_QMARK] = ACTIONS(7702),
    [anon_sym_not] = ACTIONS(7704),
    [anon_sym_BANG] = ACTIONS(7706),
    [anon_sym_TILDE] = ACTIONS(7706),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8759] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(11453),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(5446),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5447),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(7698),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7700),
    [anon_sym_defined_QMARK] = ACTIONS(7702),
    [anon_sym_not] = ACTIONS(7704),
    [anon_sym_BANG] = ACTIONS(7706),
    [anon_sym_TILDE] = ACTIONS(7706),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8760] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(11454),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_splat_argument] = STATE(3785),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_right_assignment_list] = STATE(3786),
    [sym__arg_or_splat_arg] = STATE(11455),
    [sym_left_assignment_list] = STATE(5446),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5447),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(3872),
    [sym__unary_minus] = ACTIONS(7698),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7700),
    [anon_sym_defined_QMARK] = ACTIONS(7702),
    [anon_sym_not] = ACTIONS(7704),
    [anon_sym_BANG] = ACTIONS(7706),
    [anon_sym_TILDE] = ACTIONS(7706),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8761] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(11456),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(5446),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5447),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(7698),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7700),
    [anon_sym_defined_QMARK] = ACTIONS(7702),
    [anon_sym_not] = ACTIONS(7704),
    [anon_sym_BANG] = ACTIONS(7706),
    [anon_sym_TILDE] = ACTIONS(7706),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8762] = {
    [sym__simple_heredoc_body] = ACTIONS(8568),
    [sym__heredoc_body_beginning] = ACTIONS(8568),
    [sym__line_break] = ACTIONS(8568),
    [sym__element_reference_left_bracket] = ACTIONS(8568),
    [sym__scope_double_colon] = ACTIONS(8568),
    [sym__binary_minus] = ACTIONS(11624),
    [sym__binary_star] = ACTIONS(11626),
    [anon_sym_RBRACE] = ACTIONS(8568),
    [anon_sym_DOT] = ACTIONS(9468),
    [anon_sym_COMMA] = ACTIONS(8568),
    [anon_sym_PIPE] = ACTIONS(11628),
    [anon_sym_SEMI] = ACTIONS(8568),
    [anon_sym_STAR_STAR] = ACTIONS(11630),
    [anon_sym_AMP] = ACTIONS(11632),
    [anon_sym_LT] = ACTIONS(11634),
    [anon_sym_if] = ACTIONS(8568),
    [anon_sym_unless] = ACTIONS(8568),
    [anon_sym_while] = ACTIONS(8568),
    [anon_sym_until] = ACTIONS(8568),
    [anon_sym_rescue] = ACTIONS(8568),
    [anon_sym_AMP_DOT] = ACTIONS(8568),
    [anon_sym_QMARK] = ACTIONS(11636),
    [anon_sym_DOT_DOT] = ACTIONS(11638),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11640),
    [anon_sym_and] = ACTIONS(8568),
    [anon_sym_or] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE] = ACTIONS(11642),
    [anon_sym_AMP_AMP] = ACTIONS(11642),
    [anon_sym_LT_LT] = ACTIONS(11644),
    [anon_sym_GT_GT] = ACTIONS(11644),
    [anon_sym_EQ_EQ] = ACTIONS(11646),
    [anon_sym_BANG_EQ] = ACTIONS(11642),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11642),
    [anon_sym_LT_EQ_GT] = ACTIONS(11642),
    [anon_sym_EQ_TILDE] = ACTIONS(11642),
    [anon_sym_BANG_TILDE] = ACTIONS(11642),
    [anon_sym_LT_EQ] = ACTIONS(11634),
    [anon_sym_GT] = ACTIONS(11634),
    [anon_sym_GT_EQ] = ACTIONS(11648),
    [anon_sym_CARET] = ACTIONS(11650),
    [anon_sym_PLUS] = ACTIONS(11652),
    [anon_sym_SLASH] = ACTIONS(11630),
    [anon_sym_PERCENT] = ACTIONS(11630),
    [sym_comment] = ACTIONS(110),
  },
  [8763] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__line_break] = ACTIONS(7008),
    [sym__element_reference_left_bracket] = ACTIONS(7008),
    [sym__scope_double_colon] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(7716),
    [anon_sym_RBRACE] = ACTIONS(7008),
    [anon_sym_DOT] = ACTIONS(7010),
    [anon_sym_COMMA] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_SEMI] = ACTIONS(7008),
    [anon_sym_STAR_STAR] = ACTIONS(7720),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_if] = ACTIONS(7008),
    [anon_sym_unless] = ACTIONS(7008),
    [anon_sym_while] = ACTIONS(7008),
    [anon_sym_until] = ACTIONS(7008),
    [anon_sym_rescue] = ACTIONS(7008),
    [anon_sym_EQ_GT] = ACTIONS(7008),
    [anon_sym_AMP_DOT] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7008),
    [anon_sym_AMP_AMP] = ACTIONS(7008),
    [anon_sym_LT_LT] = ACTIONS(7008),
    [anon_sym_GT_GT] = ACTIONS(7008),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7008),
    [anon_sym_PLUS] = ACTIONS(7008),
    [anon_sym_SLASH] = ACTIONS(7720),
    [anon_sym_PERCENT] = ACTIONS(7720),
    [sym_comment] = ACTIONS(110),
  },
  [8764] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__line_break] = ACTIONS(7012),
    [sym__element_reference_left_bracket] = ACTIONS(7012),
    [sym__scope_double_colon] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_RBRACE] = ACTIONS(7012),
    [anon_sym_DOT] = ACTIONS(7014),
    [anon_sym_COMMA] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_SEMI] = ACTIONS(7012),
    [anon_sym_STAR_STAR] = ACTIONS(7720),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_if] = ACTIONS(7012),
    [anon_sym_unless] = ACTIONS(7012),
    [anon_sym_while] = ACTIONS(7012),
    [anon_sym_until] = ACTIONS(7012),
    [anon_sym_rescue] = ACTIONS(7012),
    [anon_sym_EQ_GT] = ACTIONS(7012),
    [anon_sym_AMP_DOT] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7012),
    [anon_sym_AMP_AMP] = ACTIONS(7012),
    [anon_sym_LT_LT] = ACTIONS(7012),
    [anon_sym_GT_GT] = ACTIONS(7012),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7012),
    [anon_sym_PLUS] = ACTIONS(7012),
    [anon_sym_SLASH] = ACTIONS(7012),
    [anon_sym_PERCENT] = ACTIONS(7012),
    [sym_comment] = ACTIONS(110),
  },
  [8765] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7714),
    [sym__binary_star] = ACTIONS(7716),
    [anon_sym_RBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(7720),
    [anon_sym_AMP] = ACTIONS(7722),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7734),
    [anon_sym_GT_GT] = ACTIONS(7734),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7742),
    [anon_sym_SLASH] = ACTIONS(7720),
    [anon_sym_PERCENT] = ACTIONS(7720),
    [sym_comment] = ACTIONS(110),
  },
  [8766] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_RBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(7720),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7016),
    [anon_sym_PERCENT] = ACTIONS(7016),
    [sym_comment] = ACTIONS(110),
  },
  [8767] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7714),
    [sym__binary_star] = ACTIONS(7716),
    [anon_sym_RBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(7720),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7734),
    [anon_sym_GT_GT] = ACTIONS(7734),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7742),
    [anon_sym_SLASH] = ACTIONS(7720),
    [anon_sym_PERCENT] = ACTIONS(7720),
    [sym_comment] = ACTIONS(110),
  },
  [8768] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7714),
    [sym__binary_star] = ACTIONS(7716),
    [anon_sym_RBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7718),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(7720),
    [anon_sym_AMP] = ACTIONS(7722),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7734),
    [anon_sym_GT_GT] = ACTIONS(7734),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7740),
    [anon_sym_PLUS] = ACTIONS(7742),
    [anon_sym_SLASH] = ACTIONS(7720),
    [anon_sym_PERCENT] = ACTIONS(7720),
    [sym_comment] = ACTIONS(110),
  },
  [8769] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(14456),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [8770] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__line_break] = ACTIONS(7108),
    [sym__element_reference_left_bracket] = ACTIONS(7108),
    [sym__scope_double_colon] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(7714),
    [sym__binary_star] = ACTIONS(7716),
    [anon_sym_RBRACE] = ACTIONS(7108),
    [anon_sym_DOT] = ACTIONS(9472),
    [anon_sym_COMMA] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(7718),
    [anon_sym_SEMI] = ACTIONS(7108),
    [anon_sym_STAR_STAR] = ACTIONS(7720),
    [anon_sym_AMP] = ACTIONS(7722),
    [anon_sym_LT] = ACTIONS(7724),
    [anon_sym_if] = ACTIONS(7108),
    [anon_sym_unless] = ACTIONS(7108),
    [anon_sym_while] = ACTIONS(7108),
    [anon_sym_until] = ACTIONS(7108),
    [anon_sym_rescue] = ACTIONS(7108),
    [anon_sym_EQ_GT] = ACTIONS(7108),
    [anon_sym_AMP_DOT] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(7728),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7730),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(7732),
    [anon_sym_AMP_AMP] = ACTIONS(7732),
    [anon_sym_LT_LT] = ACTIONS(7734),
    [anon_sym_GT_GT] = ACTIONS(7734),
    [anon_sym_EQ_EQ] = ACTIONS(7736),
    [anon_sym_BANG_EQ] = ACTIONS(7732),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7732),
    [anon_sym_LT_EQ_GT] = ACTIONS(7732),
    [anon_sym_EQ_TILDE] = ACTIONS(7732),
    [anon_sym_BANG_TILDE] = ACTIONS(7732),
    [anon_sym_LT_EQ] = ACTIONS(7724),
    [anon_sym_GT] = ACTIONS(7724),
    [anon_sym_GT_EQ] = ACTIONS(7738),
    [anon_sym_CARET] = ACTIONS(7740),
    [anon_sym_PLUS] = ACTIONS(7742),
    [anon_sym_SLASH] = ACTIONS(7720),
    [anon_sym_PERCENT] = ACTIONS(7720),
    [sym_comment] = ACTIONS(110),
  },
  [8771] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7714),
    [sym__binary_star] = ACTIONS(7716),
    [anon_sym_RBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7718),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(7720),
    [anon_sym_AMP] = ACTIONS(7722),
    [anon_sym_LT] = ACTIONS(7724),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7726),
    [anon_sym_DOT_DOT] = ACTIONS(7728),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7730),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7732),
    [anon_sym_AMP_AMP] = ACTIONS(7732),
    [anon_sym_LT_LT] = ACTIONS(7734),
    [anon_sym_GT_GT] = ACTIONS(7734),
    [anon_sym_EQ_EQ] = ACTIONS(7736),
    [anon_sym_BANG_EQ] = ACTIONS(7732),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7732),
    [anon_sym_LT_EQ_GT] = ACTIONS(7732),
    [anon_sym_EQ_TILDE] = ACTIONS(7732),
    [anon_sym_BANG_TILDE] = ACTIONS(7732),
    [anon_sym_LT_EQ] = ACTIONS(7724),
    [anon_sym_GT] = ACTIONS(7724),
    [anon_sym_GT_EQ] = ACTIONS(7738),
    [anon_sym_CARET] = ACTIONS(7740),
    [anon_sym_PLUS] = ACTIONS(7742),
    [anon_sym_SLASH] = ACTIONS(7720),
    [anon_sym_PERCENT] = ACTIONS(7720),
    [sym_comment] = ACTIONS(110),
  },
  [8772] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7714),
    [sym__binary_star] = ACTIONS(7716),
    [anon_sym_RBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7718),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(7720),
    [anon_sym_AMP] = ACTIONS(7722),
    [anon_sym_LT] = ACTIONS(7724),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7734),
    [anon_sym_GT_GT] = ACTIONS(7734),
    [anon_sym_EQ_EQ] = ACTIONS(7736),
    [anon_sym_BANG_EQ] = ACTIONS(7732),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7732),
    [anon_sym_LT_EQ_GT] = ACTIONS(7732),
    [anon_sym_EQ_TILDE] = ACTIONS(7732),
    [anon_sym_BANG_TILDE] = ACTIONS(7732),
    [anon_sym_LT_EQ] = ACTIONS(7724),
    [anon_sym_GT] = ACTIONS(7724),
    [anon_sym_GT_EQ] = ACTIONS(7738),
    [anon_sym_CARET] = ACTIONS(7740),
    [anon_sym_PLUS] = ACTIONS(7742),
    [anon_sym_SLASH] = ACTIONS(7720),
    [anon_sym_PERCENT] = ACTIONS(7720),
    [sym_comment] = ACTIONS(110),
  },
  [8773] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7714),
    [sym__binary_star] = ACTIONS(7716),
    [anon_sym_RBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(7720),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7742),
    [anon_sym_SLASH] = ACTIONS(7720),
    [anon_sym_PERCENT] = ACTIONS(7720),
    [sym_comment] = ACTIONS(110),
  },
  [8774] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7716),
    [anon_sym_RBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(7720),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7720),
    [anon_sym_PERCENT] = ACTIONS(7720),
    [sym_comment] = ACTIONS(110),
  },
  [8775] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2623),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(6955),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(2625),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2626),
    [sym__variable] = STATE(2129),
    [sym_reserved_identifier] = STATE(2627),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(2628),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__block_ampersand] = ACTIONS(3870),
    [sym__splat_star] = ACTIONS(3872),
    [sym__unary_minus] = ACTIONS(3874),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(11660),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(3272),
    [anon_sym_yield] = ACTIONS(3274),
    [anon_sym_break] = ACTIONS(3276),
    [anon_sym_next] = ACTIONS(3278),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(7708),
    [anon_sym_defined_QMARK] = ACTIONS(3876),
    [anon_sym_not] = ACTIONS(3878),
    [anon_sym_BANG] = ACTIONS(3882),
    [anon_sym_TILDE] = ACTIONS(3882),
    [sym_constant] = ACTIONS(3884),
    [sym_identifier] = ACTIONS(3884),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8776] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2623),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(6955),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(2625),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2626),
    [sym__variable] = STATE(2129),
    [sym_reserved_identifier] = STATE(2627),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(2628),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(11458),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__block_ampersand] = ACTIONS(3870),
    [sym__splat_star] = ACTIONS(3872),
    [sym__unary_minus] = ACTIONS(3874),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(11660),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(3272),
    [anon_sym_yield] = ACTIONS(3274),
    [anon_sym_break] = ACTIONS(3276),
    [anon_sym_next] = ACTIONS(3278),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(7708),
    [anon_sym_defined_QMARK] = ACTIONS(3876),
    [anon_sym_not] = ACTIONS(3878),
    [anon_sym_BANG] = ACTIONS(3882),
    [anon_sym_TILDE] = ACTIONS(3882),
    [sym_constant] = ACTIONS(3884),
    [sym_identifier] = ACTIONS(3884),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8777] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__line_break] = ACTIONS(6346),
    [sym__element_reference_left_bracket] = ACTIONS(6346),
    [sym__scope_double_colon] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(7714),
    [sym__binary_star] = ACTIONS(7716),
    [anon_sym_RBRACE] = ACTIONS(6346),
    [anon_sym_DOT] = ACTIONS(7328),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(7718),
    [anon_sym_SEMI] = ACTIONS(6346),
    [anon_sym_STAR_STAR] = ACTIONS(7720),
    [anon_sym_AMP] = ACTIONS(7722),
    [anon_sym_LT] = ACTIONS(7724),
    [anon_sym_if] = ACTIONS(6346),
    [anon_sym_unless] = ACTIONS(6346),
    [anon_sym_while] = ACTIONS(6346),
    [anon_sym_until] = ACTIONS(6346),
    [anon_sym_rescue] = ACTIONS(6346),
    [anon_sym_EQ_GT] = ACTIONS(6346),
    [anon_sym_AMP_DOT] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(7726),
    [anon_sym_DOT_DOT] = ACTIONS(7728),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7730),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(7732),
    [anon_sym_AMP_AMP] = ACTIONS(7732),
    [anon_sym_LT_LT] = ACTIONS(7734),
    [anon_sym_GT_GT] = ACTIONS(7734),
    [anon_sym_EQ_EQ] = ACTIONS(7736),
    [anon_sym_BANG_EQ] = ACTIONS(7732),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7732),
    [anon_sym_LT_EQ_GT] = ACTIONS(7732),
    [anon_sym_EQ_TILDE] = ACTIONS(7732),
    [anon_sym_BANG_TILDE] = ACTIONS(7732),
    [anon_sym_LT_EQ] = ACTIONS(7724),
    [anon_sym_GT] = ACTIONS(7724),
    [anon_sym_GT_EQ] = ACTIONS(7738),
    [anon_sym_CARET] = ACTIONS(7740),
    [anon_sym_PLUS] = ACTIONS(7742),
    [anon_sym_SLASH] = ACTIONS(7720),
    [anon_sym_PERCENT] = ACTIONS(7720),
    [sym_comment] = ACTIONS(110),
  },
  [8778] = {
    [aux_sym_exceptions_repeat1] = STATE(11460),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__line_break] = ACTIONS(7330),
    [sym__element_reference_left_bracket] = ACTIONS(7330),
    [sym__scope_double_colon] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_RBRACE] = ACTIONS(7330),
    [anon_sym_DOT] = ACTIONS(7332),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_SEMI] = ACTIONS(7330),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_if] = ACTIONS(7330),
    [anon_sym_unless] = ACTIONS(7330),
    [anon_sym_while] = ACTIONS(7330),
    [anon_sym_until] = ACTIONS(7330),
    [anon_sym_rescue] = ACTIONS(7330),
    [anon_sym_EQ_GT] = ACTIONS(7330),
    [anon_sym_AMP_DOT] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [8779] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__line_break] = ACTIONS(7344),
    [sym__element_reference_left_bracket] = ACTIONS(7344),
    [sym__scope_double_colon] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(7714),
    [sym__binary_star] = ACTIONS(7716),
    [anon_sym_RBRACE] = ACTIONS(7344),
    [anon_sym_DOT] = ACTIONS(9504),
    [anon_sym_COMMA] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(7718),
    [anon_sym_SEMI] = ACTIONS(7344),
    [anon_sym_STAR_STAR] = ACTIONS(7720),
    [anon_sym_AMP] = ACTIONS(7722),
    [anon_sym_LT] = ACTIONS(7724),
    [anon_sym_if] = ACTIONS(7344),
    [anon_sym_unless] = ACTIONS(7344),
    [anon_sym_while] = ACTIONS(7344),
    [anon_sym_until] = ACTIONS(7344),
    [anon_sym_rescue] = ACTIONS(7344),
    [anon_sym_EQ_GT] = ACTIONS(7344),
    [anon_sym_AMP_DOT] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(7726),
    [anon_sym_DOT_DOT] = ACTIONS(7728),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7730),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(7732),
    [anon_sym_AMP_AMP] = ACTIONS(7732),
    [anon_sym_LT_LT] = ACTIONS(7734),
    [anon_sym_GT_GT] = ACTIONS(7734),
    [anon_sym_EQ_EQ] = ACTIONS(7736),
    [anon_sym_BANG_EQ] = ACTIONS(7732),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7732),
    [anon_sym_LT_EQ_GT] = ACTIONS(7732),
    [anon_sym_EQ_TILDE] = ACTIONS(7732),
    [anon_sym_BANG_TILDE] = ACTIONS(7732),
    [anon_sym_LT_EQ] = ACTIONS(7724),
    [anon_sym_GT] = ACTIONS(7724),
    [anon_sym_GT_EQ] = ACTIONS(7738),
    [anon_sym_CARET] = ACTIONS(7740),
    [anon_sym_PLUS] = ACTIONS(7742),
    [anon_sym_SLASH] = ACTIONS(7720),
    [anon_sym_PERCENT] = ACTIONS(7720),
    [sym_comment] = ACTIONS(110),
  },
  [8780] = {
    [sym__simple_heredoc_body] = ACTIONS(8662),
    [sym__heredoc_body_beginning] = ACTIONS(8662),
    [sym__line_break] = ACTIONS(8662),
    [sym__element_reference_left_bracket] = ACTIONS(8662),
    [sym__scope_double_colon] = ACTIONS(8662),
    [sym__binary_minus] = ACTIONS(11624),
    [sym__binary_star] = ACTIONS(11626),
    [anon_sym_RBRACE] = ACTIONS(8662),
    [anon_sym_DOT] = ACTIONS(9506),
    [anon_sym_COMMA] = ACTIONS(8662),
    [anon_sym_PIPE] = ACTIONS(11628),
    [anon_sym_SEMI] = ACTIONS(8662),
    [anon_sym_STAR_STAR] = ACTIONS(11630),
    [anon_sym_AMP] = ACTIONS(11632),
    [anon_sym_LT] = ACTIONS(11634),
    [anon_sym_if] = ACTIONS(8662),
    [anon_sym_unless] = ACTIONS(8662),
    [anon_sym_while] = ACTIONS(8662),
    [anon_sym_until] = ACTIONS(8662),
    [anon_sym_rescue] = ACTIONS(8662),
    [anon_sym_AMP_DOT] = ACTIONS(8662),
    [anon_sym_QMARK] = ACTIONS(11636),
    [anon_sym_DOT_DOT] = ACTIONS(11638),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11640),
    [anon_sym_and] = ACTIONS(8662),
    [anon_sym_or] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE] = ACTIONS(11642),
    [anon_sym_AMP_AMP] = ACTIONS(11642),
    [anon_sym_LT_LT] = ACTIONS(11644),
    [anon_sym_GT_GT] = ACTIONS(11644),
    [anon_sym_EQ_EQ] = ACTIONS(11646),
    [anon_sym_BANG_EQ] = ACTIONS(11642),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11642),
    [anon_sym_LT_EQ_GT] = ACTIONS(11642),
    [anon_sym_EQ_TILDE] = ACTIONS(11642),
    [anon_sym_BANG_TILDE] = ACTIONS(11642),
    [anon_sym_LT_EQ] = ACTIONS(11634),
    [anon_sym_GT] = ACTIONS(11634),
    [anon_sym_GT_EQ] = ACTIONS(11648),
    [anon_sym_CARET] = ACTIONS(11650),
    [anon_sym_PLUS] = ACTIONS(11652),
    [anon_sym_SLASH] = ACTIONS(11630),
    [anon_sym_PERCENT] = ACTIONS(11630),
    [sym_comment] = ACTIONS(110),
  },
  [8781] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(11461),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8782] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_LBRACE] = ACTIONS(1372),
    [anon_sym_RBRACE] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(11672),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_EQ] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_if] = ACTIONS(1372),
    [anon_sym_unless] = ACTIONS(1372),
    [anon_sym_while] = ACTIONS(1372),
    [anon_sym_until] = ACTIONS(1372),
    [anon_sym_rescue] = ACTIONS(1372),
    [anon_sym_do] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_PLUS_EQ] = ACTIONS(1372),
    [anon_sym_DASH_EQ] = ACTIONS(1372),
    [anon_sym_STAR_EQ] = ACTIONS(1372),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1372),
    [anon_sym_SLASH_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1372),
    [anon_sym_AMP_EQ] = ACTIONS(1372),
    [anon_sym_PERCENT_EQ] = ACTIONS(1372),
    [anon_sym_GT_GT_EQ] = ACTIONS(1372),
    [anon_sym_LT_LT_EQ] = ACTIONS(1372),
    [anon_sym_CARET_EQ] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1374),
    [anon_sym_AMP_AMP] = ACTIONS(1374),
    [anon_sym_LT_LT] = ACTIONS(1374),
    [anon_sym_GT_GT] = ACTIONS(1374),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1374),
    [anon_sym_PLUS] = ACTIONS(1374),
    [anon_sym_SLASH] = ACTIONS(1374),
    [anon_sym_PERCENT] = ACTIONS(1374),
    [sym_comment] = ACTIONS(256),
  },
  [8783] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_RBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(11672),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2872),
    [anon_sym_AMP_AMP] = ACTIONS(2872),
    [anon_sym_LT_LT] = ACTIONS(2872),
    [anon_sym_GT_GT] = ACTIONS(2872),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2872),
    [anon_sym_PLUS] = ACTIONS(2872),
    [anon_sym_SLASH] = ACTIONS(2872),
    [anon_sym_PERCENT] = ACTIONS(2872),
    [sym_comment] = ACTIONS(256),
  },
  [8784] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(11666),
    [sym__binary_star] = ACTIONS(11668),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_RBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(11670),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(11672),
    [anon_sym_AMP] = ACTIONS(11674),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(11676),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(11678),
    [anon_sym_DOT_DOT] = ACTIONS(11680),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11682),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(11684),
    [anon_sym_AMP_AMP] = ACTIONS(11684),
    [anon_sym_LT_LT] = ACTIONS(11686),
    [anon_sym_GT_GT] = ACTIONS(11686),
    [anon_sym_EQ_EQ] = ACTIONS(11684),
    [anon_sym_BANG_EQ] = ACTIONS(11688),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11688),
    [anon_sym_LT_EQ_GT] = ACTIONS(11688),
    [anon_sym_EQ_TILDE] = ACTIONS(11688),
    [anon_sym_BANG_TILDE] = ACTIONS(11688),
    [anon_sym_LT_EQ] = ACTIONS(11676),
    [anon_sym_GT] = ACTIONS(11676),
    [anon_sym_GT_EQ] = ACTIONS(11690),
    [anon_sym_CARET] = ACTIONS(11670),
    [anon_sym_PLUS] = ACTIONS(11692),
    [anon_sym_SLASH] = ACTIONS(11672),
    [anon_sym_PERCENT] = ACTIONS(11672),
    [sym_comment] = ACTIONS(256),
  },
  [8785] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(11462),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(5498),
    [sym_call] = STATE(5498),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(5499),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5500),
    [sym__variable] = STATE(5498),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(7756),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(7758),
    [anon_sym_yield] = ACTIONS(7760),
    [anon_sym_break] = ACTIONS(7762),
    [anon_sym_next] = ACTIONS(7764),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(7766),
    [anon_sym_defined_QMARK] = ACTIONS(7768),
    [anon_sym_not] = ACTIONS(7770),
    [anon_sym_BANG] = ACTIONS(7772),
    [anon_sym_TILDE] = ACTIONS(7772),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [8786] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(11463),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(5498),
    [sym_call] = STATE(5498),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(5499),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5500),
    [sym__variable] = STATE(5498),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(7756),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(7758),
    [anon_sym_yield] = ACTIONS(7760),
    [anon_sym_break] = ACTIONS(7762),
    [anon_sym_next] = ACTIONS(7764),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(7766),
    [anon_sym_defined_QMARK] = ACTIONS(7768),
    [anon_sym_not] = ACTIONS(7770),
    [anon_sym_BANG] = ACTIONS(7772),
    [anon_sym_TILDE] = ACTIONS(7772),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [8787] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(11464),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(5498),
    [sym_call] = STATE(5498),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(5499),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5500),
    [sym__variable] = STATE(5498),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(7756),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(7758),
    [anon_sym_yield] = ACTIONS(7760),
    [anon_sym_break] = ACTIONS(7762),
    [anon_sym_next] = ACTIONS(7764),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(7766),
    [anon_sym_defined_QMARK] = ACTIONS(7768),
    [anon_sym_not] = ACTIONS(7770),
    [anon_sym_BANG] = ACTIONS(7772),
    [anon_sym_TILDE] = ACTIONS(7772),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [8788] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(11465),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(5498),
    [sym_call] = STATE(5498),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(5499),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5500),
    [sym__variable] = STATE(5498),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(7756),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(7758),
    [anon_sym_yield] = ACTIONS(7760),
    [anon_sym_break] = ACTIONS(7762),
    [anon_sym_next] = ACTIONS(7764),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(7766),
    [anon_sym_defined_QMARK] = ACTIONS(7768),
    [anon_sym_not] = ACTIONS(7770),
    [anon_sym_BANG] = ACTIONS(7772),
    [anon_sym_TILDE] = ACTIONS(7772),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [8789] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(11466),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(5498),
    [sym_call] = STATE(5498),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(5499),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5500),
    [sym__variable] = STATE(5498),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(7756),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(7758),
    [anon_sym_yield] = ACTIONS(7760),
    [anon_sym_break] = ACTIONS(7762),
    [anon_sym_next] = ACTIONS(7764),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(7766),
    [anon_sym_defined_QMARK] = ACTIONS(7768),
    [anon_sym_not] = ACTIONS(7770),
    [anon_sym_BANG] = ACTIONS(7772),
    [anon_sym_TILDE] = ACTIONS(7772),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [8790] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(11467),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(5498),
    [sym_call] = STATE(5498),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(5499),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5500),
    [sym__variable] = STATE(5498),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(7756),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(7758),
    [anon_sym_yield] = ACTIONS(7760),
    [anon_sym_break] = ACTIONS(7762),
    [anon_sym_next] = ACTIONS(7764),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(7766),
    [anon_sym_defined_QMARK] = ACTIONS(7768),
    [anon_sym_not] = ACTIONS(7770),
    [anon_sym_BANG] = ACTIONS(7772),
    [anon_sym_TILDE] = ACTIONS(7772),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [8791] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(11468),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [8792] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(11469),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(5498),
    [sym_call] = STATE(5498),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(5499),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5500),
    [sym__variable] = STATE(5498),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(7756),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(7758),
    [anon_sym_yield] = ACTIONS(7760),
    [anon_sym_break] = ACTIONS(7762),
    [anon_sym_next] = ACTIONS(7764),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(7766),
    [anon_sym_defined_QMARK] = ACTIONS(7768),
    [anon_sym_not] = ACTIONS(7770),
    [anon_sym_BANG] = ACTIONS(7772),
    [anon_sym_TILDE] = ACTIONS(7772),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [8793] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(11470),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(5498),
    [sym_call] = STATE(5498),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(5499),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5500),
    [sym__variable] = STATE(5498),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(7756),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(7758),
    [anon_sym_yield] = ACTIONS(7760),
    [anon_sym_break] = ACTIONS(7762),
    [anon_sym_next] = ACTIONS(7764),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(7766),
    [anon_sym_defined_QMARK] = ACTIONS(7768),
    [anon_sym_not] = ACTIONS(7770),
    [anon_sym_BANG] = ACTIONS(7772),
    [anon_sym_TILDE] = ACTIONS(7772),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [8794] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(11471),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(5498),
    [sym_call] = STATE(5498),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(5499),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5500),
    [sym__variable] = STATE(5498),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(7756),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(7758),
    [anon_sym_yield] = ACTIONS(7760),
    [anon_sym_break] = ACTIONS(7762),
    [anon_sym_next] = ACTIONS(7764),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(7766),
    [anon_sym_defined_QMARK] = ACTIONS(7768),
    [anon_sym_not] = ACTIONS(7770),
    [anon_sym_BANG] = ACTIONS(7772),
    [anon_sym_TILDE] = ACTIONS(7772),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [8795] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(11472),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(5498),
    [sym_call] = STATE(5498),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(5499),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5500),
    [sym__variable] = STATE(5498),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(7756),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(7758),
    [anon_sym_yield] = ACTIONS(7760),
    [anon_sym_break] = ACTIONS(7762),
    [anon_sym_next] = ACTIONS(7764),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(7766),
    [anon_sym_defined_QMARK] = ACTIONS(7768),
    [anon_sym_not] = ACTIONS(7770),
    [anon_sym_BANG] = ACTIONS(7772),
    [anon_sym_TILDE] = ACTIONS(7772),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [8796] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(11473),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(5498),
    [sym_call] = STATE(5498),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(5499),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5500),
    [sym__variable] = STATE(5498),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(7756),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(7758),
    [anon_sym_yield] = ACTIONS(7760),
    [anon_sym_break] = ACTIONS(7762),
    [anon_sym_next] = ACTIONS(7764),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(7766),
    [anon_sym_defined_QMARK] = ACTIONS(7768),
    [anon_sym_not] = ACTIONS(7770),
    [anon_sym_BANG] = ACTIONS(7772),
    [anon_sym_TILDE] = ACTIONS(7772),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [8797] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(11474),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(5498),
    [sym_call] = STATE(5498),
    [sym_method_call] = STATE(61),
    [sym_splat_argument] = STATE(8404),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_right_assignment_list] = STATE(8405),
    [sym__arg_or_splat_arg] = STATE(11475),
    [sym_left_assignment_list] = STATE(5499),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5500),
    [sym__variable] = STATE(5498),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__splat_star] = ACTIONS(3932),
    [sym__unary_minus] = ACTIONS(7756),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(7758),
    [anon_sym_yield] = ACTIONS(7760),
    [anon_sym_break] = ACTIONS(7762),
    [anon_sym_next] = ACTIONS(7764),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(7766),
    [anon_sym_defined_QMARK] = ACTIONS(7768),
    [anon_sym_not] = ACTIONS(7770),
    [anon_sym_BANG] = ACTIONS(7772),
    [anon_sym_TILDE] = ACTIONS(7772),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [8798] = {
    [sym_method] = STATE(2054),
    [sym_singleton_method] = STATE(2054),
    [sym_class] = STATE(2054),
    [sym_singleton_class] = STATE(2054),
    [sym_module] = STATE(2054),
    [sym_return] = STATE(2054),
    [sym_yield] = STATE(2054),
    [sym_break] = STATE(2054),
    [sym_next] = STATE(2054),
    [sym_redo] = STATE(2054),
    [sym_retry] = STATE(2054),
    [sym_while] = STATE(2054),
    [sym_until] = STATE(2054),
    [sym_for] = STATE(2054),
    [sym_case] = STATE(2054),
    [sym_if] = STATE(2054),
    [sym_unless] = STATE(2054),
    [sym_begin] = STATE(2054),
    [sym__arg] = STATE(11476),
    [sym__primary] = STATE(3365),
    [sym_parenthesized_statements] = STATE(2054),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(5498),
    [sym_call] = STATE(5498),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(2084),
    [sym_operator_assignment] = STATE(2084),
    [sym_conditional] = STATE(2084),
    [sym_range] = STATE(2084),
    [sym_binary] = STATE(2084),
    [sym_unary] = STATE(2084),
    [sym_left_assignment_list] = STATE(5499),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5500),
    [sym__variable] = STATE(5498),
    [sym_symbol] = STATE(2054),
    [sym_complex] = STATE(2054),
    [sym_rational] = STATE(2054),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(2054),
    [sym_string] = STATE(2087),
    [sym_subshell] = STATE(2054),
    [sym_array] = STATE(2054),
    [sym_hash] = STATE(2054),
    [sym_regex] = STATE(2054),
    [sym_lambda] = STATE(2054),
    [sym__simple_string] = ACTIONS(3140),
    [sym__simple_symbol] = ACTIONS(3142),
    [sym__simple_subshell] = ACTIONS(3144),
    [sym__simple_regex] = ACTIONS(3146),
    [sym__simple_word_list] = ACTIONS(3148),
    [sym__string_beginning] = ACTIONS(3150),
    [sym__symbol_beginning] = ACTIONS(3152),
    [sym__subshell_beginning] = ACTIONS(3154),
    [sym__regex_beginning] = ACTIONS(3156),
    [sym__word_list_beginning] = ACTIONS(3158),
    [sym_heredoc_beginning] = ACTIONS(3160),
    [sym__unary_minus] = ACTIONS(7756),
    [anon_sym_LBRACE] = ACTIONS(3164),
    [anon_sym_def] = ACTIONS(3166),
    [anon_sym_LPAREN] = ACTIONS(3168),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3170),
    [anon_sym_module] = ACTIONS(3172),
    [anon_sym_return] = ACTIONS(7758),
    [anon_sym_yield] = ACTIONS(7760),
    [anon_sym_break] = ACTIONS(7762),
    [anon_sym_next] = ACTIONS(7764),
    [anon_sym_redo] = ACTIONS(3182),
    [anon_sym_retry] = ACTIONS(3184),
    [anon_sym_if] = ACTIONS(3186),
    [anon_sym_unless] = ACTIONS(3188),
    [anon_sym_while] = ACTIONS(3190),
    [anon_sym_until] = ACTIONS(3192),
    [anon_sym_for] = ACTIONS(3194),
    [anon_sym_case] = ACTIONS(3196),
    [anon_sym_begin] = ACTIONS(3198),
    [anon_sym_PLUS] = ACTIONS(7766),
    [anon_sym_defined_QMARK] = ACTIONS(7768),
    [anon_sym_not] = ACTIONS(7770),
    [anon_sym_BANG] = ACTIONS(7772),
    [anon_sym_TILDE] = ACTIONS(7772),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(3208),
    [sym_float] = ACTIONS(3210),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(3212),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(3214),
    [sym_keyword__LINE__] = ACTIONS(3214),
    [sym_keyword__ENCODING__] = ACTIONS(3214),
    [sym__character_literal] = ACTIONS(3216),
    [anon_sym_LBRACK] = ACTIONS(3218),
    [anon_sym_DASH_GT] = ACTIONS(3220),
  },
  [8799] = {
    [sym__simple_heredoc_body] = ACTIONS(8568),
    [sym__heredoc_body_beginning] = ACTIONS(8568),
    [sym__line_break] = ACTIONS(8568),
    [sym__element_reference_left_bracket] = ACTIONS(8568),
    [sym__scope_double_colon] = ACTIONS(8568),
    [sym__binary_minus] = ACTIONS(11666),
    [sym__binary_star] = ACTIONS(11668),
    [anon_sym_LBRACE] = ACTIONS(8568),
    [anon_sym_RBRACE] = ACTIONS(8568),
    [anon_sym_DOT] = ACTIONS(9468),
    [anon_sym_COMMA] = ACTIONS(8568),
    [anon_sym_PIPE] = ACTIONS(11670),
    [anon_sym_SEMI] = ACTIONS(8568),
    [anon_sym_STAR_STAR] = ACTIONS(11672),
    [anon_sym_AMP] = ACTIONS(11674),
    [anon_sym_EQ] = ACTIONS(9468),
    [anon_sym_LT] = ACTIONS(11676),
    [anon_sym_if] = ACTIONS(8568),
    [anon_sym_unless] = ACTIONS(8568),
    [anon_sym_while] = ACTIONS(8568),
    [anon_sym_until] = ACTIONS(8568),
    [anon_sym_rescue] = ACTIONS(8568),
    [anon_sym_do] = ACTIONS(8568),
    [anon_sym_AMP_DOT] = ACTIONS(8568),
    [anon_sym_PLUS_EQ] = ACTIONS(8568),
    [anon_sym_DASH_EQ] = ACTIONS(8568),
    [anon_sym_STAR_EQ] = ACTIONS(8568),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8568),
    [anon_sym_SLASH_EQ] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8568),
    [anon_sym_PIPE_EQ] = ACTIONS(8568),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8568),
    [anon_sym_AMP_EQ] = ACTIONS(8568),
    [anon_sym_PERCENT_EQ] = ACTIONS(8568),
    [anon_sym_GT_GT_EQ] = ACTIONS(8568),
    [anon_sym_LT_LT_EQ] = ACTIONS(8568),
    [anon_sym_CARET_EQ] = ACTIONS(8568),
    [anon_sym_QMARK] = ACTIONS(11678),
    [anon_sym_DOT_DOT] = ACTIONS(11680),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11682),
    [anon_sym_and] = ACTIONS(8568),
    [anon_sym_or] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE] = ACTIONS(11684),
    [anon_sym_AMP_AMP] = ACTIONS(11684),
    [anon_sym_LT_LT] = ACTIONS(11686),
    [anon_sym_GT_GT] = ACTIONS(11686),
    [anon_sym_EQ_EQ] = ACTIONS(11684),
    [anon_sym_BANG_EQ] = ACTIONS(11688),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11688),
    [anon_sym_LT_EQ_GT] = ACTIONS(11688),
    [anon_sym_EQ_TILDE] = ACTIONS(11688),
    [anon_sym_BANG_TILDE] = ACTIONS(11688),
    [anon_sym_LT_EQ] = ACTIONS(11676),
    [anon_sym_GT] = ACTIONS(11676),
    [anon_sym_GT_EQ] = ACTIONS(11690),
    [anon_sym_CARET] = ACTIONS(11670),
    [anon_sym_PLUS] = ACTIONS(11692),
    [anon_sym_SLASH] = ACTIONS(11672),
    [anon_sym_PERCENT] = ACTIONS(11672),
    [sym_comment] = ACTIONS(256),
  },
  [8800] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__line_break] = ACTIONS(7008),
    [sym__element_reference_left_bracket] = ACTIONS(7008),
    [sym__scope_double_colon] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(7790),
    [anon_sym_LBRACE] = ACTIONS(7008),
    [anon_sym_RBRACE] = ACTIONS(7008),
    [anon_sym_DOT] = ACTIONS(7010),
    [anon_sym_COMMA] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_SEMI] = ACTIONS(7008),
    [anon_sym_STAR_STAR] = ACTIONS(7794),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_EQ] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_if] = ACTIONS(7008),
    [anon_sym_unless] = ACTIONS(7008),
    [anon_sym_while] = ACTIONS(7008),
    [anon_sym_until] = ACTIONS(7008),
    [anon_sym_rescue] = ACTIONS(7008),
    [anon_sym_do] = ACTIONS(7008),
    [anon_sym_EQ_GT] = ACTIONS(7008),
    [anon_sym_AMP_DOT] = ACTIONS(7008),
    [anon_sym_PLUS_EQ] = ACTIONS(7008),
    [anon_sym_DASH_EQ] = ACTIONS(7008),
    [anon_sym_STAR_EQ] = ACTIONS(7008),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7008),
    [anon_sym_SLASH_EQ] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7008),
    [anon_sym_PIPE_EQ] = ACTIONS(7008),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7008),
    [anon_sym_AMP_EQ] = ACTIONS(7008),
    [anon_sym_PERCENT_EQ] = ACTIONS(7008),
    [anon_sym_GT_GT_EQ] = ACTIONS(7008),
    [anon_sym_LT_LT_EQ] = ACTIONS(7008),
    [anon_sym_CARET_EQ] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7010),
    [anon_sym_AMP_AMP] = ACTIONS(7010),
    [anon_sym_LT_LT] = ACTIONS(7010),
    [anon_sym_GT_GT] = ACTIONS(7010),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7010),
    [anon_sym_PLUS] = ACTIONS(7010),
    [anon_sym_SLASH] = ACTIONS(7794),
    [anon_sym_PERCENT] = ACTIONS(7794),
    [sym_comment] = ACTIONS(256),
  },
  [8801] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__line_break] = ACTIONS(7012),
    [sym__element_reference_left_bracket] = ACTIONS(7012),
    [sym__scope_double_colon] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_LBRACE] = ACTIONS(7012),
    [anon_sym_RBRACE] = ACTIONS(7012),
    [anon_sym_DOT] = ACTIONS(7014),
    [anon_sym_COMMA] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_SEMI] = ACTIONS(7012),
    [anon_sym_STAR_STAR] = ACTIONS(7794),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_EQ] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_if] = ACTIONS(7012),
    [anon_sym_unless] = ACTIONS(7012),
    [anon_sym_while] = ACTIONS(7012),
    [anon_sym_until] = ACTIONS(7012),
    [anon_sym_rescue] = ACTIONS(7012),
    [anon_sym_do] = ACTIONS(7012),
    [anon_sym_EQ_GT] = ACTIONS(7012),
    [anon_sym_AMP_DOT] = ACTIONS(7012),
    [anon_sym_PLUS_EQ] = ACTIONS(7012),
    [anon_sym_DASH_EQ] = ACTIONS(7012),
    [anon_sym_STAR_EQ] = ACTIONS(7012),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7012),
    [anon_sym_SLASH_EQ] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7012),
    [anon_sym_PIPE_EQ] = ACTIONS(7012),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7012),
    [anon_sym_AMP_EQ] = ACTIONS(7012),
    [anon_sym_PERCENT_EQ] = ACTIONS(7012),
    [anon_sym_GT_GT_EQ] = ACTIONS(7012),
    [anon_sym_LT_LT_EQ] = ACTIONS(7012),
    [anon_sym_CARET_EQ] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7014),
    [anon_sym_AMP_AMP] = ACTIONS(7014),
    [anon_sym_LT_LT] = ACTIONS(7014),
    [anon_sym_GT_GT] = ACTIONS(7014),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7014),
    [anon_sym_PLUS] = ACTIONS(7014),
    [anon_sym_SLASH] = ACTIONS(7014),
    [anon_sym_PERCENT] = ACTIONS(7014),
    [sym_comment] = ACTIONS(256),
  },
  [8802] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7788),
    [sym__binary_star] = ACTIONS(7790),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_RBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(7794),
    [anon_sym_AMP] = ACTIONS(7796),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7808),
    [anon_sym_GT_GT] = ACTIONS(7808),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(7814),
    [anon_sym_SLASH] = ACTIONS(7794),
    [anon_sym_PERCENT] = ACTIONS(7794),
    [sym_comment] = ACTIONS(256),
  },
  [8803] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_RBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(7794),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7018),
    [anon_sym_GT_GT] = ACTIONS(7018),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(7018),
    [anon_sym_SLASH] = ACTIONS(7018),
    [anon_sym_PERCENT] = ACTIONS(7018),
    [sym_comment] = ACTIONS(256),
  },
  [8804] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7788),
    [sym__binary_star] = ACTIONS(7790),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_RBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(7794),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7808),
    [anon_sym_GT_GT] = ACTIONS(7808),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(7814),
    [anon_sym_SLASH] = ACTIONS(7794),
    [anon_sym_PERCENT] = ACTIONS(7794),
    [sym_comment] = ACTIONS(256),
  },
  [8805] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7788),
    [sym__binary_star] = ACTIONS(7790),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_RBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7792),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(7794),
    [anon_sym_AMP] = ACTIONS(7796),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7808),
    [anon_sym_GT_GT] = ACTIONS(7808),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7792),
    [anon_sym_PLUS] = ACTIONS(7814),
    [anon_sym_SLASH] = ACTIONS(7794),
    [anon_sym_PERCENT] = ACTIONS(7794),
    [sym_comment] = ACTIONS(256),
  },
  [8806] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(14458),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [8807] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__line_break] = ACTIONS(7108),
    [sym__element_reference_left_bracket] = ACTIONS(7108),
    [sym__scope_double_colon] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(7788),
    [sym__binary_star] = ACTIONS(7790),
    [anon_sym_LBRACE] = ACTIONS(7108),
    [anon_sym_RBRACE] = ACTIONS(7108),
    [anon_sym_DOT] = ACTIONS(9472),
    [anon_sym_COMMA] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(7792),
    [anon_sym_SEMI] = ACTIONS(7108),
    [anon_sym_STAR_STAR] = ACTIONS(7794),
    [anon_sym_AMP] = ACTIONS(7796),
    [anon_sym_EQ] = ACTIONS(9472),
    [anon_sym_LT] = ACTIONS(7798),
    [anon_sym_if] = ACTIONS(7108),
    [anon_sym_unless] = ACTIONS(7108),
    [anon_sym_while] = ACTIONS(7108),
    [anon_sym_until] = ACTIONS(7108),
    [anon_sym_rescue] = ACTIONS(7108),
    [anon_sym_do] = ACTIONS(7108),
    [anon_sym_EQ_GT] = ACTIONS(7108),
    [anon_sym_AMP_DOT] = ACTIONS(7108),
    [anon_sym_PLUS_EQ] = ACTIONS(7108),
    [anon_sym_DASH_EQ] = ACTIONS(7108),
    [anon_sym_STAR_EQ] = ACTIONS(7108),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7108),
    [anon_sym_SLASH_EQ] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7108),
    [anon_sym_PIPE_EQ] = ACTIONS(7108),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7108),
    [anon_sym_AMP_EQ] = ACTIONS(7108),
    [anon_sym_PERCENT_EQ] = ACTIONS(7108),
    [anon_sym_GT_GT_EQ] = ACTIONS(7108),
    [anon_sym_LT_LT_EQ] = ACTIONS(7108),
    [anon_sym_CARET_EQ] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(7802),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7804),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(7806),
    [anon_sym_AMP_AMP] = ACTIONS(7806),
    [anon_sym_LT_LT] = ACTIONS(7808),
    [anon_sym_GT_GT] = ACTIONS(7808),
    [anon_sym_EQ_EQ] = ACTIONS(7806),
    [anon_sym_BANG_EQ] = ACTIONS(7810),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7810),
    [anon_sym_LT_EQ_GT] = ACTIONS(7810),
    [anon_sym_EQ_TILDE] = ACTIONS(7810),
    [anon_sym_BANG_TILDE] = ACTIONS(7810),
    [anon_sym_LT_EQ] = ACTIONS(7798),
    [anon_sym_GT] = ACTIONS(7798),
    [anon_sym_GT_EQ] = ACTIONS(7812),
    [anon_sym_CARET] = ACTIONS(7792),
    [anon_sym_PLUS] = ACTIONS(7814),
    [anon_sym_SLASH] = ACTIONS(7794),
    [anon_sym_PERCENT] = ACTIONS(7794),
    [sym_comment] = ACTIONS(256),
  },
  [8808] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7788),
    [sym__binary_star] = ACTIONS(7790),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_RBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7792),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(7794),
    [anon_sym_AMP] = ACTIONS(7796),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7798),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7800),
    [anon_sym_DOT_DOT] = ACTIONS(7802),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7804),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7806),
    [anon_sym_AMP_AMP] = ACTIONS(7806),
    [anon_sym_LT_LT] = ACTIONS(7808),
    [anon_sym_GT_GT] = ACTIONS(7808),
    [anon_sym_EQ_EQ] = ACTIONS(7806),
    [anon_sym_BANG_EQ] = ACTIONS(7810),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7810),
    [anon_sym_LT_EQ_GT] = ACTIONS(7810),
    [anon_sym_EQ_TILDE] = ACTIONS(7810),
    [anon_sym_BANG_TILDE] = ACTIONS(7810),
    [anon_sym_LT_EQ] = ACTIONS(7798),
    [anon_sym_GT] = ACTIONS(7798),
    [anon_sym_GT_EQ] = ACTIONS(7812),
    [anon_sym_CARET] = ACTIONS(7792),
    [anon_sym_PLUS] = ACTIONS(7814),
    [anon_sym_SLASH] = ACTIONS(7794),
    [anon_sym_PERCENT] = ACTIONS(7794),
    [sym_comment] = ACTIONS(256),
  },
  [8809] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7788),
    [sym__binary_star] = ACTIONS(7790),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_RBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7792),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(7794),
    [anon_sym_AMP] = ACTIONS(7796),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7798),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7808),
    [anon_sym_GT_GT] = ACTIONS(7808),
    [anon_sym_EQ_EQ] = ACTIONS(7806),
    [anon_sym_BANG_EQ] = ACTIONS(7810),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7810),
    [anon_sym_LT_EQ_GT] = ACTIONS(7810),
    [anon_sym_EQ_TILDE] = ACTIONS(7810),
    [anon_sym_BANG_TILDE] = ACTIONS(7810),
    [anon_sym_LT_EQ] = ACTIONS(7798),
    [anon_sym_GT] = ACTIONS(7798),
    [anon_sym_GT_EQ] = ACTIONS(7812),
    [anon_sym_CARET] = ACTIONS(7792),
    [anon_sym_PLUS] = ACTIONS(7814),
    [anon_sym_SLASH] = ACTIONS(7794),
    [anon_sym_PERCENT] = ACTIONS(7794),
    [sym_comment] = ACTIONS(256),
  },
  [8810] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7788),
    [sym__binary_star] = ACTIONS(7790),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_RBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(7794),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7018),
    [anon_sym_GT_GT] = ACTIONS(7018),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(7814),
    [anon_sym_SLASH] = ACTIONS(7794),
    [anon_sym_PERCENT] = ACTIONS(7794),
    [sym_comment] = ACTIONS(256),
  },
  [8811] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7790),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_RBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(7794),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7018),
    [anon_sym_GT_GT] = ACTIONS(7018),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(7018),
    [anon_sym_SLASH] = ACTIONS(7794),
    [anon_sym_PERCENT] = ACTIONS(7794),
    [sym_comment] = ACTIONS(256),
  },
  [8812] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(2664),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2665),
    [sym_call] = STATE(2665),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(8481),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(2667),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2668),
    [sym__variable] = STATE(2665),
    [sym_reserved_identifier] = STATE(2669),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2670),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__block_ampersand] = ACTIONS(3930),
    [sym__splat_star] = ACTIONS(3932),
    [sym__unary_minus] = ACTIONS(3934),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(11700),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(3936),
    [anon_sym_yield] = ACTIONS(3938),
    [anon_sym_break] = ACTIONS(3940),
    [anon_sym_next] = ACTIONS(3942),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(7782),
    [anon_sym_defined_QMARK] = ACTIONS(3944),
    [anon_sym_not] = ACTIONS(3946),
    [anon_sym_BANG] = ACTIONS(3950),
    [anon_sym_TILDE] = ACTIONS(3950),
    [sym_constant] = ACTIONS(3952),
    [sym_identifier] = ACTIONS(3952),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [8813] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(2664),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2665),
    [sym_call] = STATE(2665),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(8481),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(2667),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2668),
    [sym__variable] = STATE(2665),
    [sym_reserved_identifier] = STATE(2669),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2670),
    [sym_subshell] = STATE(561),
    [sym_heredoc_end] = STATE(11478),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__block_ampersand] = ACTIONS(3930),
    [sym__splat_star] = ACTIONS(3932),
    [sym__unary_minus] = ACTIONS(3934),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(11700),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(3936),
    [anon_sym_yield] = ACTIONS(3938),
    [anon_sym_break] = ACTIONS(3940),
    [anon_sym_next] = ACTIONS(3942),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(7782),
    [anon_sym_defined_QMARK] = ACTIONS(3944),
    [anon_sym_not] = ACTIONS(3946),
    [anon_sym_BANG] = ACTIONS(3950),
    [anon_sym_TILDE] = ACTIONS(3950),
    [sym_constant] = ACTIONS(3952),
    [sym_identifier] = ACTIONS(3952),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [8814] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__line_break] = ACTIONS(6346),
    [sym__element_reference_left_bracket] = ACTIONS(6346),
    [sym__scope_double_colon] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(7788),
    [sym__binary_star] = ACTIONS(7790),
    [anon_sym_LBRACE] = ACTIONS(6346),
    [anon_sym_RBRACE] = ACTIONS(6346),
    [anon_sym_DOT] = ACTIONS(7328),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(7792),
    [anon_sym_SEMI] = ACTIONS(6346),
    [anon_sym_STAR_STAR] = ACTIONS(7794),
    [anon_sym_AMP] = ACTIONS(7796),
    [anon_sym_EQ] = ACTIONS(7328),
    [anon_sym_LT] = ACTIONS(7798),
    [anon_sym_if] = ACTIONS(6346),
    [anon_sym_unless] = ACTIONS(6346),
    [anon_sym_while] = ACTIONS(6346),
    [anon_sym_until] = ACTIONS(6346),
    [anon_sym_rescue] = ACTIONS(6346),
    [anon_sym_do] = ACTIONS(6346),
    [anon_sym_EQ_GT] = ACTIONS(6346),
    [anon_sym_AMP_DOT] = ACTIONS(6346),
    [anon_sym_PLUS_EQ] = ACTIONS(6346),
    [anon_sym_DASH_EQ] = ACTIONS(6346),
    [anon_sym_STAR_EQ] = ACTIONS(6346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6346),
    [anon_sym_SLASH_EQ] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6346),
    [anon_sym_PIPE_EQ] = ACTIONS(6346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6346),
    [anon_sym_AMP_EQ] = ACTIONS(6346),
    [anon_sym_PERCENT_EQ] = ACTIONS(6346),
    [anon_sym_GT_GT_EQ] = ACTIONS(6346),
    [anon_sym_LT_LT_EQ] = ACTIONS(6346),
    [anon_sym_CARET_EQ] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(7800),
    [anon_sym_DOT_DOT] = ACTIONS(7802),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7804),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(7806),
    [anon_sym_AMP_AMP] = ACTIONS(7806),
    [anon_sym_LT_LT] = ACTIONS(7808),
    [anon_sym_GT_GT] = ACTIONS(7808),
    [anon_sym_EQ_EQ] = ACTIONS(7806),
    [anon_sym_BANG_EQ] = ACTIONS(7810),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7810),
    [anon_sym_LT_EQ_GT] = ACTIONS(7810),
    [anon_sym_EQ_TILDE] = ACTIONS(7810),
    [anon_sym_BANG_TILDE] = ACTIONS(7810),
    [anon_sym_LT_EQ] = ACTIONS(7798),
    [anon_sym_GT] = ACTIONS(7798),
    [anon_sym_GT_EQ] = ACTIONS(7812),
    [anon_sym_CARET] = ACTIONS(7792),
    [anon_sym_PLUS] = ACTIONS(7814),
    [anon_sym_SLASH] = ACTIONS(7794),
    [anon_sym_PERCENT] = ACTIONS(7794),
    [sym_comment] = ACTIONS(256),
  },
  [8815] = {
    [aux_sym_exceptions_repeat1] = STATE(11480),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__line_break] = ACTIONS(7330),
    [sym__element_reference_left_bracket] = ACTIONS(7330),
    [sym__scope_double_colon] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_LBRACE] = ACTIONS(7330),
    [anon_sym_RBRACE] = ACTIONS(7330),
    [anon_sym_DOT] = ACTIONS(7332),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_SEMI] = ACTIONS(7330),
    [anon_sym_STAR_STAR] = ACTIONS(7332),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_EQ] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_if] = ACTIONS(7330),
    [anon_sym_unless] = ACTIONS(7330),
    [anon_sym_while] = ACTIONS(7330),
    [anon_sym_until] = ACTIONS(7330),
    [anon_sym_rescue] = ACTIONS(7330),
    [anon_sym_do] = ACTIONS(7330),
    [anon_sym_EQ_GT] = ACTIONS(7330),
    [anon_sym_AMP_DOT] = ACTIONS(7330),
    [anon_sym_PLUS_EQ] = ACTIONS(7330),
    [anon_sym_DASH_EQ] = ACTIONS(7330),
    [anon_sym_STAR_EQ] = ACTIONS(7330),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7330),
    [anon_sym_SLASH_EQ] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7330),
    [anon_sym_PIPE_EQ] = ACTIONS(7330),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7330),
    [anon_sym_AMP_EQ] = ACTIONS(7330),
    [anon_sym_PERCENT_EQ] = ACTIONS(7330),
    [anon_sym_GT_GT_EQ] = ACTIONS(7330),
    [anon_sym_LT_LT_EQ] = ACTIONS(7330),
    [anon_sym_CARET_EQ] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7332),
    [anon_sym_AMP_AMP] = ACTIONS(7332),
    [anon_sym_LT_LT] = ACTIONS(7332),
    [anon_sym_GT_GT] = ACTIONS(7332),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7332),
    [anon_sym_PLUS] = ACTIONS(7332),
    [anon_sym_SLASH] = ACTIONS(7332),
    [anon_sym_PERCENT] = ACTIONS(7332),
    [sym_comment] = ACTIONS(256),
  },
  [8816] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__line_break] = ACTIONS(7344),
    [sym__element_reference_left_bracket] = ACTIONS(7344),
    [sym__scope_double_colon] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(7788),
    [sym__binary_star] = ACTIONS(7790),
    [anon_sym_LBRACE] = ACTIONS(7344),
    [anon_sym_RBRACE] = ACTIONS(7344),
    [anon_sym_DOT] = ACTIONS(9504),
    [anon_sym_COMMA] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(7792),
    [anon_sym_SEMI] = ACTIONS(7344),
    [anon_sym_STAR_STAR] = ACTIONS(7794),
    [anon_sym_AMP] = ACTIONS(7796),
    [anon_sym_EQ] = ACTIONS(9504),
    [anon_sym_LT] = ACTIONS(7798),
    [anon_sym_if] = ACTIONS(7344),
    [anon_sym_unless] = ACTIONS(7344),
    [anon_sym_while] = ACTIONS(7344),
    [anon_sym_until] = ACTIONS(7344),
    [anon_sym_rescue] = ACTIONS(7344),
    [anon_sym_do] = ACTIONS(7344),
    [anon_sym_EQ_GT] = ACTIONS(7344),
    [anon_sym_AMP_DOT] = ACTIONS(7344),
    [anon_sym_PLUS_EQ] = ACTIONS(7344),
    [anon_sym_DASH_EQ] = ACTIONS(7344),
    [anon_sym_STAR_EQ] = ACTIONS(7344),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7344),
    [anon_sym_SLASH_EQ] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7344),
    [anon_sym_PIPE_EQ] = ACTIONS(7344),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7344),
    [anon_sym_AMP_EQ] = ACTIONS(7344),
    [anon_sym_PERCENT_EQ] = ACTIONS(7344),
    [anon_sym_GT_GT_EQ] = ACTIONS(7344),
    [anon_sym_LT_LT_EQ] = ACTIONS(7344),
    [anon_sym_CARET_EQ] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(7800),
    [anon_sym_DOT_DOT] = ACTIONS(7802),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7804),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(7806),
    [anon_sym_AMP_AMP] = ACTIONS(7806),
    [anon_sym_LT_LT] = ACTIONS(7808),
    [anon_sym_GT_GT] = ACTIONS(7808),
    [anon_sym_EQ_EQ] = ACTIONS(7806),
    [anon_sym_BANG_EQ] = ACTIONS(7810),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7810),
    [anon_sym_LT_EQ_GT] = ACTIONS(7810),
    [anon_sym_EQ_TILDE] = ACTIONS(7810),
    [anon_sym_BANG_TILDE] = ACTIONS(7810),
    [anon_sym_LT_EQ] = ACTIONS(7798),
    [anon_sym_GT] = ACTIONS(7798),
    [anon_sym_GT_EQ] = ACTIONS(7812),
    [anon_sym_CARET] = ACTIONS(7792),
    [anon_sym_PLUS] = ACTIONS(7814),
    [anon_sym_SLASH] = ACTIONS(7794),
    [anon_sym_PERCENT] = ACTIONS(7794),
    [sym_comment] = ACTIONS(256),
  },
  [8817] = {
    [sym__simple_heredoc_body] = ACTIONS(8662),
    [sym__heredoc_body_beginning] = ACTIONS(8662),
    [sym__line_break] = ACTIONS(8662),
    [sym__element_reference_left_bracket] = ACTIONS(8662),
    [sym__scope_double_colon] = ACTIONS(8662),
    [sym__binary_minus] = ACTIONS(11666),
    [sym__binary_star] = ACTIONS(11668),
    [anon_sym_LBRACE] = ACTIONS(8662),
    [anon_sym_RBRACE] = ACTIONS(8662),
    [anon_sym_DOT] = ACTIONS(9506),
    [anon_sym_COMMA] = ACTIONS(8662),
    [anon_sym_PIPE] = ACTIONS(11670),
    [anon_sym_SEMI] = ACTIONS(8662),
    [anon_sym_STAR_STAR] = ACTIONS(11672),
    [anon_sym_AMP] = ACTIONS(11674),
    [anon_sym_EQ] = ACTIONS(9506),
    [anon_sym_LT] = ACTIONS(11676),
    [anon_sym_if] = ACTIONS(8662),
    [anon_sym_unless] = ACTIONS(8662),
    [anon_sym_while] = ACTIONS(8662),
    [anon_sym_until] = ACTIONS(8662),
    [anon_sym_rescue] = ACTIONS(8662),
    [anon_sym_do] = ACTIONS(8662),
    [anon_sym_AMP_DOT] = ACTIONS(8662),
    [anon_sym_PLUS_EQ] = ACTIONS(8662),
    [anon_sym_DASH_EQ] = ACTIONS(8662),
    [anon_sym_STAR_EQ] = ACTIONS(8662),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8662),
    [anon_sym_SLASH_EQ] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8662),
    [anon_sym_PIPE_EQ] = ACTIONS(8662),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8662),
    [anon_sym_AMP_EQ] = ACTIONS(8662),
    [anon_sym_PERCENT_EQ] = ACTIONS(8662),
    [anon_sym_GT_GT_EQ] = ACTIONS(8662),
    [anon_sym_LT_LT_EQ] = ACTIONS(8662),
    [anon_sym_CARET_EQ] = ACTIONS(8662),
    [anon_sym_QMARK] = ACTIONS(11678),
    [anon_sym_DOT_DOT] = ACTIONS(11680),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11682),
    [anon_sym_and] = ACTIONS(8662),
    [anon_sym_or] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE] = ACTIONS(11684),
    [anon_sym_AMP_AMP] = ACTIONS(11684),
    [anon_sym_LT_LT] = ACTIONS(11686),
    [anon_sym_GT_GT] = ACTIONS(11686),
    [anon_sym_EQ_EQ] = ACTIONS(11684),
    [anon_sym_BANG_EQ] = ACTIONS(11688),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11688),
    [anon_sym_LT_EQ_GT] = ACTIONS(11688),
    [anon_sym_EQ_TILDE] = ACTIONS(11688),
    [anon_sym_BANG_TILDE] = ACTIONS(11688),
    [anon_sym_LT_EQ] = ACTIONS(11676),
    [anon_sym_GT] = ACTIONS(11676),
    [anon_sym_GT_EQ] = ACTIONS(11690),
    [anon_sym_CARET] = ACTIONS(11670),
    [anon_sym_PLUS] = ACTIONS(11692),
    [anon_sym_SLASH] = ACTIONS(11672),
    [anon_sym_PERCENT] = ACTIONS(11672),
    [sym_comment] = ACTIONS(256),
  },
  [8818] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__line_break] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(11704),
    [sym__binary_star] = ACTIONS(11706),
    [anon_sym_RBRACE] = ACTIONS(5338),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(11708),
    [anon_sym_SEMI] = ACTIONS(5338),
    [anon_sym_STAR_STAR] = ACTIONS(11710),
    [anon_sym_AMP] = ACTIONS(11712),
    [anon_sym_LT] = ACTIONS(11714),
    [anon_sym_if] = ACTIONS(5338),
    [anon_sym_unless] = ACTIONS(5338),
    [anon_sym_while] = ACTIONS(5338),
    [anon_sym_until] = ACTIONS(5338),
    [anon_sym_rescue] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(11716),
    [anon_sym_DOT_DOT] = ACTIONS(11718),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11720),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(11722),
    [anon_sym_AMP_AMP] = ACTIONS(11722),
    [anon_sym_LT_LT] = ACTIONS(11724),
    [anon_sym_GT_GT] = ACTIONS(11724),
    [anon_sym_EQ_EQ] = ACTIONS(11726),
    [anon_sym_BANG_EQ] = ACTIONS(11722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11722),
    [anon_sym_LT_EQ_GT] = ACTIONS(11722),
    [anon_sym_EQ_TILDE] = ACTIONS(11722),
    [anon_sym_BANG_TILDE] = ACTIONS(11722),
    [anon_sym_LT_EQ] = ACTIONS(11714),
    [anon_sym_GT] = ACTIONS(11714),
    [anon_sym_GT_EQ] = ACTIONS(11728),
    [anon_sym_CARET] = ACTIONS(11730),
    [anon_sym_PLUS] = ACTIONS(11732),
    [anon_sym_SLASH] = ACTIONS(11710),
    [anon_sym_PERCENT] = ACTIONS(11710),
    [sym_comment] = ACTIONS(110),
  },
  [8819] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_RBRACE] = ACTIONS(1372),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(11710),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_if] = ACTIONS(1372),
    [anon_sym_unless] = ACTIONS(1372),
    [anon_sym_while] = ACTIONS(1372),
    [anon_sym_until] = ACTIONS(1372),
    [anon_sym_rescue] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [8820] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_RBRACE] = ACTIONS(2870),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(11710),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [8821] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(11704),
    [sym__binary_star] = ACTIONS(11706),
    [anon_sym_RBRACE] = ACTIONS(2870),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(11708),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(11710),
    [anon_sym_AMP] = ACTIONS(11712),
    [anon_sym_LT] = ACTIONS(11714),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(11716),
    [anon_sym_DOT_DOT] = ACTIONS(11718),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11720),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(11722),
    [anon_sym_AMP_AMP] = ACTIONS(11722),
    [anon_sym_LT_LT] = ACTIONS(11724),
    [anon_sym_GT_GT] = ACTIONS(11724),
    [anon_sym_EQ_EQ] = ACTIONS(11726),
    [anon_sym_BANG_EQ] = ACTIONS(11722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11722),
    [anon_sym_LT_EQ_GT] = ACTIONS(11722),
    [anon_sym_EQ_TILDE] = ACTIONS(11722),
    [anon_sym_BANG_TILDE] = ACTIONS(11722),
    [anon_sym_LT_EQ] = ACTIONS(11714),
    [anon_sym_GT] = ACTIONS(11714),
    [anon_sym_GT_EQ] = ACTIONS(11728),
    [anon_sym_CARET] = ACTIONS(11730),
    [anon_sym_PLUS] = ACTIONS(11732),
    [anon_sym_SLASH] = ACTIONS(11710),
    [anon_sym_PERCENT] = ACTIONS(11710),
    [sym_comment] = ACTIONS(110),
  },
  [8822] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(11481),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(5535),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5536),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(7828),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7830),
    [anon_sym_defined_QMARK] = ACTIONS(7832),
    [anon_sym_not] = ACTIONS(7834),
    [anon_sym_BANG] = ACTIONS(7836),
    [anon_sym_TILDE] = ACTIONS(7836),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8823] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(11482),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(5535),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5536),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(7828),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7830),
    [anon_sym_defined_QMARK] = ACTIONS(7832),
    [anon_sym_not] = ACTIONS(7834),
    [anon_sym_BANG] = ACTIONS(7836),
    [anon_sym_TILDE] = ACTIONS(7836),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8824] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(11483),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(5535),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5536),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(7828),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7830),
    [anon_sym_defined_QMARK] = ACTIONS(7832),
    [anon_sym_not] = ACTIONS(7834),
    [anon_sym_BANG] = ACTIONS(7836),
    [anon_sym_TILDE] = ACTIONS(7836),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8825] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(11484),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(5535),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5536),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(7828),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7830),
    [anon_sym_defined_QMARK] = ACTIONS(7832),
    [anon_sym_not] = ACTIONS(7834),
    [anon_sym_BANG] = ACTIONS(7836),
    [anon_sym_TILDE] = ACTIONS(7836),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8826] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(11485),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(5535),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5536),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(7828),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7830),
    [anon_sym_defined_QMARK] = ACTIONS(7832),
    [anon_sym_not] = ACTIONS(7834),
    [anon_sym_BANG] = ACTIONS(7836),
    [anon_sym_TILDE] = ACTIONS(7836),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8827] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(11486),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(5535),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5536),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(7828),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7830),
    [anon_sym_defined_QMARK] = ACTIONS(7832),
    [anon_sym_not] = ACTIONS(7834),
    [anon_sym_BANG] = ACTIONS(7836),
    [anon_sym_TILDE] = ACTIONS(7836),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8828] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(11487),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [8829] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(11488),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(5535),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5536),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(7828),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7830),
    [anon_sym_defined_QMARK] = ACTIONS(7832),
    [anon_sym_not] = ACTIONS(7834),
    [anon_sym_BANG] = ACTIONS(7836),
    [anon_sym_TILDE] = ACTIONS(7836),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8830] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(11489),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(5535),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5536),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(7828),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7830),
    [anon_sym_defined_QMARK] = ACTIONS(7832),
    [anon_sym_not] = ACTIONS(7834),
    [anon_sym_BANG] = ACTIONS(7836),
    [anon_sym_TILDE] = ACTIONS(7836),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8831] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(11490),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(5535),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5536),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(7828),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7830),
    [anon_sym_defined_QMARK] = ACTIONS(7832),
    [anon_sym_not] = ACTIONS(7834),
    [anon_sym_BANG] = ACTIONS(7836),
    [anon_sym_TILDE] = ACTIONS(7836),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8832] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(11491),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(5535),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5536),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(7828),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7830),
    [anon_sym_defined_QMARK] = ACTIONS(7832),
    [anon_sym_not] = ACTIONS(7834),
    [anon_sym_BANG] = ACTIONS(7836),
    [anon_sym_TILDE] = ACTIONS(7836),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8833] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(11492),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(5535),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5536),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(7828),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7830),
    [anon_sym_defined_QMARK] = ACTIONS(7832),
    [anon_sym_not] = ACTIONS(7834),
    [anon_sym_BANG] = ACTIONS(7836),
    [anon_sym_TILDE] = ACTIONS(7836),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8834] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(5533),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_splat_argument] = STATE(2211),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym__arg_or_splat_arg] = STATE(8497),
    [sym_left_assignment_list] = STATE(5535),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5536),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(7826),
    [sym__unary_minus] = ACTIONS(7828),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7830),
    [anon_sym_defined_QMARK] = ACTIONS(7832),
    [anon_sym_not] = ACTIONS(7834),
    [anon_sym_BANG] = ACTIONS(7836),
    [anon_sym_TILDE] = ACTIONS(7836),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8835] = {
    [sym__simple_heredoc_body] = ACTIONS(11422),
    [sym__heredoc_body_beginning] = ACTIONS(11422),
    [sym__line_break] = ACTIONS(11422),
    [sym__binary_minus] = ACTIONS(11422),
    [sym__binary_star] = ACTIONS(11422),
    [anon_sym_RBRACE] = ACTIONS(11422),
    [anon_sym_COMMA] = ACTIONS(14460),
    [anon_sym_PIPE] = ACTIONS(11426),
    [anon_sym_SEMI] = ACTIONS(11422),
    [anon_sym_STAR_STAR] = ACTIONS(11422),
    [anon_sym_AMP] = ACTIONS(11426),
    [anon_sym_LT] = ACTIONS(11426),
    [anon_sym_if] = ACTIONS(11422),
    [anon_sym_unless] = ACTIONS(11422),
    [anon_sym_while] = ACTIONS(11422),
    [anon_sym_until] = ACTIONS(11422),
    [anon_sym_rescue] = ACTIONS(11422),
    [anon_sym_QMARK] = ACTIONS(11422),
    [anon_sym_DOT_DOT] = ACTIONS(11426),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11422),
    [anon_sym_and] = ACTIONS(11422),
    [anon_sym_or] = ACTIONS(11422),
    [anon_sym_PIPE_PIPE] = ACTIONS(11422),
    [anon_sym_AMP_AMP] = ACTIONS(11422),
    [anon_sym_LT_LT] = ACTIONS(11422),
    [anon_sym_GT_GT] = ACTIONS(11422),
    [anon_sym_EQ_EQ] = ACTIONS(11426),
    [anon_sym_BANG_EQ] = ACTIONS(11422),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11422),
    [anon_sym_LT_EQ_GT] = ACTIONS(11422),
    [anon_sym_EQ_TILDE] = ACTIONS(11422),
    [anon_sym_BANG_TILDE] = ACTIONS(11422),
    [anon_sym_LT_EQ] = ACTIONS(11426),
    [anon_sym_GT] = ACTIONS(11426),
    [anon_sym_GT_EQ] = ACTIONS(11422),
    [anon_sym_CARET] = ACTIONS(11422),
    [anon_sym_PLUS] = ACTIONS(11422),
    [anon_sym_SLASH] = ACTIONS(11422),
    [anon_sym_PERCENT] = ACTIONS(11422),
    [sym_comment] = ACTIONS(110),
  },
  [8836] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(5533),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_splat_argument] = STATE(2211),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_right_assignment_list] = STATE(2212),
    [sym__arg_or_splat_arg] = STATE(11494),
    [sym_left_assignment_list] = STATE(5535),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5536),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(7826),
    [sym__unary_minus] = ACTIONS(7828),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7830),
    [anon_sym_defined_QMARK] = ACTIONS(7832),
    [anon_sym_not] = ACTIONS(7834),
    [anon_sym_BANG] = ACTIONS(7836),
    [anon_sym_TILDE] = ACTIONS(7836),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8837] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(11495),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(5535),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5536),
    [sym__variable] = STATE(842),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(7828),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(7830),
    [anon_sym_defined_QMARK] = ACTIONS(7832),
    [anon_sym_not] = ACTIONS(7834),
    [anon_sym_BANG] = ACTIONS(7836),
    [anon_sym_TILDE] = ACTIONS(7836),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8838] = {
    [sym__simple_string] = ACTIONS(7678),
    [sym__string_beginning] = ACTIONS(7678),
    [sym__heredoc_body_middle] = ACTIONS(7678),
    [sym__heredoc_body_end] = ACTIONS(7678),
    [sym__element_reference_left_bracket] = ACTIONS(7678),
    [sym__scope_double_colon] = ACTIONS(7678),
    [sym__binary_minus] = ACTIONS(7678),
    [sym__binary_star] = ACTIONS(7678),
    [anon_sym_DOT] = ACTIONS(7680),
    [anon_sym_COMMA] = ACTIONS(7678),
    [anon_sym_PIPE] = ACTIONS(7680),
    [anon_sym_STAR_STAR] = ACTIONS(7678),
    [anon_sym_AMP] = ACTIONS(7680),
    [anon_sym_LT] = ACTIONS(7680),
    [anon_sym_if] = ACTIONS(7678),
    [anon_sym_unless] = ACTIONS(7678),
    [anon_sym_while] = ACTIONS(7678),
    [anon_sym_until] = ACTIONS(7678),
    [anon_sym_rescue] = ACTIONS(7678),
    [anon_sym_AMP_DOT] = ACTIONS(7678),
    [anon_sym_QMARK] = ACTIONS(7680),
    [anon_sym_DOT_DOT] = ACTIONS(7680),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7678),
    [anon_sym_and] = ACTIONS(7678),
    [anon_sym_or] = ACTIONS(7678),
    [anon_sym_PIPE_PIPE] = ACTIONS(7678),
    [anon_sym_AMP_AMP] = ACTIONS(7678),
    [anon_sym_LT_LT] = ACTIONS(7678),
    [anon_sym_GT_GT] = ACTIONS(7678),
    [anon_sym_EQ_EQ] = ACTIONS(7680),
    [anon_sym_BANG_EQ] = ACTIONS(7678),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7678),
    [anon_sym_LT_EQ_GT] = ACTIONS(7678),
    [anon_sym_EQ_TILDE] = ACTIONS(7678),
    [anon_sym_BANG_TILDE] = ACTIONS(7678),
    [anon_sym_LT_EQ] = ACTIONS(7680),
    [anon_sym_GT] = ACTIONS(7680),
    [anon_sym_GT_EQ] = ACTIONS(7678),
    [anon_sym_CARET] = ACTIONS(7678),
    [anon_sym_PLUS] = ACTIONS(7678),
    [anon_sym_SLASH] = ACTIONS(7678),
    [anon_sym_PERCENT] = ACTIONS(7678),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(7680),
  },
  [8839] = {
    [sym__heredoc_body_middle] = ACTIONS(7682),
    [sym__heredoc_body_end] = ACTIONS(7682),
    [sym__element_reference_left_bracket] = ACTIONS(7682),
    [sym__scope_double_colon] = ACTIONS(7682),
    [sym__binary_minus] = ACTIONS(7682),
    [sym__binary_star] = ACTIONS(7682),
    [anon_sym_DOT] = ACTIONS(7684),
    [anon_sym_COMMA] = ACTIONS(7682),
    [anon_sym_PIPE] = ACTIONS(7684),
    [anon_sym_STAR_STAR] = ACTIONS(7682),
    [anon_sym_AMP] = ACTIONS(7684),
    [anon_sym_LT] = ACTIONS(7684),
    [anon_sym_if] = ACTIONS(7682),
    [anon_sym_unless] = ACTIONS(7682),
    [anon_sym_while] = ACTIONS(7682),
    [anon_sym_until] = ACTIONS(7682),
    [anon_sym_rescue] = ACTIONS(7682),
    [anon_sym_AMP_DOT] = ACTIONS(7682),
    [anon_sym_QMARK] = ACTIONS(7682),
    [anon_sym_DOT_DOT] = ACTIONS(7684),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7682),
    [anon_sym_and] = ACTIONS(7682),
    [anon_sym_or] = ACTIONS(7682),
    [anon_sym_PIPE_PIPE] = ACTIONS(7682),
    [anon_sym_AMP_AMP] = ACTIONS(7682),
    [anon_sym_LT_LT] = ACTIONS(7682),
    [anon_sym_GT_GT] = ACTIONS(7682),
    [anon_sym_EQ_EQ] = ACTIONS(7684),
    [anon_sym_BANG_EQ] = ACTIONS(7682),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7682),
    [anon_sym_LT_EQ_GT] = ACTIONS(7682),
    [anon_sym_EQ_TILDE] = ACTIONS(7682),
    [anon_sym_BANG_TILDE] = ACTIONS(7682),
    [anon_sym_LT_EQ] = ACTIONS(7684),
    [anon_sym_GT] = ACTIONS(7684),
    [anon_sym_GT_EQ] = ACTIONS(7682),
    [anon_sym_CARET] = ACTIONS(7682),
    [anon_sym_PLUS] = ACTIONS(7682),
    [anon_sym_SLASH] = ACTIONS(7682),
    [anon_sym_PERCENT] = ACTIONS(7682),
    [sym_comment] = ACTIONS(110),
  },
  [8840] = {
    [sym__heredoc_body_middle] = ACTIONS(7686),
    [sym__heredoc_body_end] = ACTIONS(7686),
    [sym__element_reference_left_bracket] = ACTIONS(7686),
    [sym__scope_double_colon] = ACTIONS(7686),
    [sym__binary_minus] = ACTIONS(7686),
    [sym__binary_star] = ACTIONS(7686),
    [anon_sym_DOT] = ACTIONS(7688),
    [anon_sym_COMMA] = ACTIONS(7686),
    [anon_sym_PIPE] = ACTIONS(7688),
    [anon_sym_STAR_STAR] = ACTIONS(7686),
    [anon_sym_AMP] = ACTIONS(7688),
    [anon_sym_LT] = ACTIONS(7688),
    [anon_sym_if] = ACTIONS(7686),
    [anon_sym_unless] = ACTIONS(7686),
    [anon_sym_while] = ACTIONS(7686),
    [anon_sym_until] = ACTIONS(7686),
    [anon_sym_rescue] = ACTIONS(7686),
    [anon_sym_AMP_DOT] = ACTIONS(7686),
    [anon_sym_QMARK] = ACTIONS(7686),
    [anon_sym_DOT_DOT] = ACTIONS(7688),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7686),
    [anon_sym_and] = ACTIONS(7686),
    [anon_sym_or] = ACTIONS(7686),
    [anon_sym_PIPE_PIPE] = ACTIONS(7686),
    [anon_sym_AMP_AMP] = ACTIONS(7686),
    [anon_sym_LT_LT] = ACTIONS(7686),
    [anon_sym_GT_GT] = ACTIONS(7686),
    [anon_sym_EQ_EQ] = ACTIONS(7688),
    [anon_sym_BANG_EQ] = ACTIONS(7686),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7686),
    [anon_sym_LT_EQ_GT] = ACTIONS(7686),
    [anon_sym_EQ_TILDE] = ACTIONS(7686),
    [anon_sym_BANG_TILDE] = ACTIONS(7686),
    [anon_sym_LT_EQ] = ACTIONS(7688),
    [anon_sym_GT] = ACTIONS(7688),
    [anon_sym_GT_EQ] = ACTIONS(7686),
    [anon_sym_CARET] = ACTIONS(7686),
    [anon_sym_PLUS] = ACTIONS(7686),
    [anon_sym_SLASH] = ACTIONS(7686),
    [anon_sym_PERCENT] = ACTIONS(7686),
    [sym_comment] = ACTIONS(110),
  },
  [8841] = {
    [sym__heredoc_body_middle] = ACTIONS(7690),
    [sym__heredoc_body_end] = ACTIONS(7690),
    [sym__element_reference_left_bracket] = ACTIONS(7690),
    [sym__scope_double_colon] = ACTIONS(7690),
    [sym__binary_minus] = ACTIONS(7690),
    [sym__binary_star] = ACTIONS(7690),
    [anon_sym_DOT] = ACTIONS(7692),
    [anon_sym_COMMA] = ACTIONS(7690),
    [anon_sym_PIPE] = ACTIONS(7692),
    [anon_sym_STAR_STAR] = ACTIONS(7690),
    [anon_sym_AMP] = ACTIONS(7692),
    [anon_sym_LT] = ACTIONS(7692),
    [anon_sym_if] = ACTIONS(7690),
    [anon_sym_unless] = ACTIONS(7690),
    [anon_sym_while] = ACTIONS(7690),
    [anon_sym_until] = ACTIONS(7690),
    [anon_sym_rescue] = ACTIONS(7690),
    [anon_sym_AMP_DOT] = ACTIONS(7690),
    [anon_sym_QMARK] = ACTIONS(7690),
    [anon_sym_DOT_DOT] = ACTIONS(7692),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7690),
    [anon_sym_and] = ACTIONS(7690),
    [anon_sym_or] = ACTIONS(7690),
    [anon_sym_PIPE_PIPE] = ACTIONS(7690),
    [anon_sym_AMP_AMP] = ACTIONS(7690),
    [anon_sym_LT_LT] = ACTIONS(7690),
    [anon_sym_GT_GT] = ACTIONS(7690),
    [anon_sym_EQ_EQ] = ACTIONS(7692),
    [anon_sym_BANG_EQ] = ACTIONS(7690),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7690),
    [anon_sym_LT_EQ_GT] = ACTIONS(7690),
    [anon_sym_EQ_TILDE] = ACTIONS(7690),
    [anon_sym_BANG_TILDE] = ACTIONS(7690),
    [anon_sym_LT_EQ] = ACTIONS(7692),
    [anon_sym_GT] = ACTIONS(7692),
    [anon_sym_GT_EQ] = ACTIONS(7690),
    [anon_sym_CARET] = ACTIONS(7690),
    [anon_sym_PLUS] = ACTIONS(7690),
    [anon_sym_SLASH] = ACTIONS(7690),
    [anon_sym_PERCENT] = ACTIONS(7690),
    [sym_comment] = ACTIONS(110),
  },
  [8842] = {
    [sym__heredoc_body_middle] = ACTIONS(7694),
    [sym__heredoc_body_end] = ACTIONS(7694),
    [sym__element_reference_left_bracket] = ACTIONS(7694),
    [sym__scope_double_colon] = ACTIONS(7694),
    [sym__binary_minus] = ACTIONS(7694),
    [sym__binary_star] = ACTIONS(7694),
    [anon_sym_DOT] = ACTIONS(7696),
    [anon_sym_COMMA] = ACTIONS(7694),
    [anon_sym_PIPE] = ACTIONS(7696),
    [anon_sym_STAR_STAR] = ACTIONS(7694),
    [anon_sym_AMP] = ACTIONS(7696),
    [anon_sym_LT] = ACTIONS(7696),
    [anon_sym_if] = ACTIONS(7694),
    [anon_sym_unless] = ACTIONS(7694),
    [anon_sym_while] = ACTIONS(7694),
    [anon_sym_until] = ACTIONS(7694),
    [anon_sym_rescue] = ACTIONS(7694),
    [anon_sym_AMP_DOT] = ACTIONS(7694),
    [anon_sym_QMARK] = ACTIONS(7694),
    [anon_sym_DOT_DOT] = ACTIONS(7696),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7694),
    [anon_sym_and] = ACTIONS(7694),
    [anon_sym_or] = ACTIONS(7694),
    [anon_sym_PIPE_PIPE] = ACTIONS(7694),
    [anon_sym_AMP_AMP] = ACTIONS(7694),
    [anon_sym_LT_LT] = ACTIONS(7694),
    [anon_sym_GT_GT] = ACTIONS(7694),
    [anon_sym_EQ_EQ] = ACTIONS(7696),
    [anon_sym_BANG_EQ] = ACTIONS(7694),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7694),
    [anon_sym_LT_EQ_GT] = ACTIONS(7694),
    [anon_sym_EQ_TILDE] = ACTIONS(7694),
    [anon_sym_BANG_TILDE] = ACTIONS(7694),
    [anon_sym_LT_EQ] = ACTIONS(7696),
    [anon_sym_GT] = ACTIONS(7696),
    [anon_sym_GT_EQ] = ACTIONS(7694),
    [anon_sym_CARET] = ACTIONS(7694),
    [anon_sym_PLUS] = ACTIONS(7694),
    [anon_sym_SLASH] = ACTIONS(7694),
    [anon_sym_PERCENT] = ACTIONS(7694),
    [sym_comment] = ACTIONS(110),
  },
  [8843] = {
    [sym__heredoc_body_middle] = ACTIONS(8664),
    [sym__heredoc_body_end] = ACTIONS(8664),
    [sym__element_reference_left_bracket] = ACTIONS(8664),
    [sym__scope_double_colon] = ACTIONS(8664),
    [sym__binary_minus] = ACTIONS(8664),
    [sym__binary_star] = ACTIONS(8664),
    [anon_sym_DOT] = ACTIONS(8666),
    [anon_sym_COMMA] = ACTIONS(8664),
    [anon_sym_PIPE] = ACTIONS(8666),
    [anon_sym_STAR_STAR] = ACTIONS(8664),
    [anon_sym_AMP] = ACTIONS(8666),
    [anon_sym_LT] = ACTIONS(8666),
    [anon_sym_if] = ACTIONS(8664),
    [anon_sym_unless] = ACTIONS(8664),
    [anon_sym_while] = ACTIONS(8664),
    [anon_sym_until] = ACTIONS(8664),
    [anon_sym_rescue] = ACTIONS(8664),
    [anon_sym_AMP_DOT] = ACTIONS(8664),
    [anon_sym_QMARK] = ACTIONS(8664),
    [anon_sym_DOT_DOT] = ACTIONS(8666),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8664),
    [anon_sym_and] = ACTIONS(8664),
    [anon_sym_or] = ACTIONS(8664),
    [anon_sym_PIPE_PIPE] = ACTIONS(8664),
    [anon_sym_AMP_AMP] = ACTIONS(8664),
    [anon_sym_LT_LT] = ACTIONS(8664),
    [anon_sym_GT_GT] = ACTIONS(8664),
    [anon_sym_EQ_EQ] = ACTIONS(8666),
    [anon_sym_BANG_EQ] = ACTIONS(8664),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8664),
    [anon_sym_LT_EQ_GT] = ACTIONS(8664),
    [anon_sym_EQ_TILDE] = ACTIONS(8664),
    [anon_sym_BANG_TILDE] = ACTIONS(8664),
    [anon_sym_LT_EQ] = ACTIONS(8666),
    [anon_sym_GT] = ACTIONS(8666),
    [anon_sym_GT_EQ] = ACTIONS(8664),
    [anon_sym_CARET] = ACTIONS(8664),
    [anon_sym_PLUS] = ACTIONS(8664),
    [anon_sym_SLASH] = ACTIONS(8664),
    [anon_sym_PERCENT] = ACTIONS(8664),
    [sym_comment] = ACTIONS(110),
  },
  [8844] = {
    [anon_sym_DOT] = ACTIONS(14462),
    [anon_sym_COLON_COLON] = ACTIONS(14462),
    [sym_comment] = ACTIONS(110),
  },
  [8845] = {
    [sym__heredoc_body_middle] = ACTIONS(8832),
    [sym__heredoc_body_end] = ACTIONS(8832),
    [sym__element_reference_left_bracket] = ACTIONS(8832),
    [sym__scope_double_colon] = ACTIONS(8832),
    [sym__binary_minus] = ACTIONS(8832),
    [sym__binary_star] = ACTIONS(8832),
    [anon_sym_DOT] = ACTIONS(8834),
    [anon_sym_COMMA] = ACTIONS(8832),
    [anon_sym_PIPE] = ACTIONS(8834),
    [anon_sym_STAR_STAR] = ACTIONS(8832),
    [anon_sym_AMP] = ACTIONS(8834),
    [anon_sym_LT] = ACTIONS(8834),
    [anon_sym_if] = ACTIONS(8832),
    [anon_sym_unless] = ACTIONS(8832),
    [anon_sym_while] = ACTIONS(8832),
    [anon_sym_until] = ACTIONS(8832),
    [anon_sym_rescue] = ACTIONS(8832),
    [anon_sym_AMP_DOT] = ACTIONS(8832),
    [anon_sym_QMARK] = ACTIONS(8832),
    [anon_sym_DOT_DOT] = ACTIONS(8834),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8832),
    [anon_sym_and] = ACTIONS(8832),
    [anon_sym_or] = ACTIONS(8832),
    [anon_sym_PIPE_PIPE] = ACTIONS(8832),
    [anon_sym_AMP_AMP] = ACTIONS(8832),
    [anon_sym_LT_LT] = ACTIONS(8832),
    [anon_sym_GT_GT] = ACTIONS(8832),
    [anon_sym_EQ_EQ] = ACTIONS(8834),
    [anon_sym_BANG_EQ] = ACTIONS(8832),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8832),
    [anon_sym_LT_EQ_GT] = ACTIONS(8832),
    [anon_sym_EQ_TILDE] = ACTIONS(8832),
    [anon_sym_BANG_TILDE] = ACTIONS(8832),
    [anon_sym_LT_EQ] = ACTIONS(8834),
    [anon_sym_GT] = ACTIONS(8834),
    [anon_sym_GT_EQ] = ACTIONS(8832),
    [anon_sym_CARET] = ACTIONS(8832),
    [anon_sym_PLUS] = ACTIONS(8832),
    [anon_sym_SLASH] = ACTIONS(8832),
    [anon_sym_PERCENT] = ACTIONS(8832),
    [sym_comment] = ACTIONS(110),
  },
  [8846] = {
    [sym__heredoc_body_middle] = ACTIONS(8858),
    [sym__heredoc_body_end] = ACTIONS(8858),
    [sym__element_reference_left_bracket] = ACTIONS(8858),
    [sym__scope_double_colon] = ACTIONS(8858),
    [sym__binary_minus] = ACTIONS(8858),
    [sym__binary_star] = ACTIONS(8858),
    [anon_sym_DOT] = ACTIONS(8860),
    [anon_sym_COMMA] = ACTIONS(8858),
    [anon_sym_PIPE] = ACTIONS(8860),
    [anon_sym_STAR_STAR] = ACTIONS(8858),
    [anon_sym_AMP] = ACTIONS(8860),
    [anon_sym_LT] = ACTIONS(8860),
    [anon_sym_if] = ACTIONS(8858),
    [anon_sym_unless] = ACTIONS(8858),
    [anon_sym_while] = ACTIONS(8858),
    [anon_sym_until] = ACTIONS(8858),
    [anon_sym_rescue] = ACTIONS(8858),
    [anon_sym_AMP_DOT] = ACTIONS(8858),
    [anon_sym_QMARK] = ACTIONS(8858),
    [anon_sym_DOT_DOT] = ACTIONS(8860),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8858),
    [anon_sym_and] = ACTIONS(8858),
    [anon_sym_or] = ACTIONS(8858),
    [anon_sym_PIPE_PIPE] = ACTIONS(8858),
    [anon_sym_AMP_AMP] = ACTIONS(8858),
    [anon_sym_LT_LT] = ACTIONS(8858),
    [anon_sym_GT_GT] = ACTIONS(8858),
    [anon_sym_EQ_EQ] = ACTIONS(8860),
    [anon_sym_BANG_EQ] = ACTIONS(8858),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8858),
    [anon_sym_LT_EQ_GT] = ACTIONS(8858),
    [anon_sym_EQ_TILDE] = ACTIONS(8858),
    [anon_sym_BANG_TILDE] = ACTIONS(8858),
    [anon_sym_LT_EQ] = ACTIONS(8860),
    [anon_sym_GT] = ACTIONS(8860),
    [anon_sym_GT_EQ] = ACTIONS(8858),
    [anon_sym_CARET] = ACTIONS(8858),
    [anon_sym_PLUS] = ACTIONS(8858),
    [anon_sym_SLASH] = ACTIONS(8858),
    [anon_sym_PERCENT] = ACTIONS(8858),
    [sym_comment] = ACTIONS(110),
  },
  [8847] = {
    [anon_sym_end] = ACTIONS(14464),
    [sym_comment] = ACTIONS(110),
  },
  [8848] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(11499),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14466),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8849] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(11501),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14468),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8850] = {
    [sym__heredoc_body_middle] = ACTIONS(9340),
    [sym__heredoc_body_end] = ACTIONS(9340),
    [sym__element_reference_left_bracket] = ACTIONS(9340),
    [sym__scope_double_colon] = ACTIONS(9340),
    [sym__binary_minus] = ACTIONS(9340),
    [sym__binary_star] = ACTIONS(9340),
    [anon_sym_DOT] = ACTIONS(9342),
    [anon_sym_COMMA] = ACTIONS(9340),
    [anon_sym_PIPE] = ACTIONS(9342),
    [anon_sym_STAR_STAR] = ACTIONS(9340),
    [anon_sym_AMP] = ACTIONS(9342),
    [anon_sym_LT] = ACTIONS(9342),
    [anon_sym_if] = ACTIONS(9340),
    [anon_sym_unless] = ACTIONS(9340),
    [anon_sym_while] = ACTIONS(9340),
    [anon_sym_until] = ACTIONS(9340),
    [anon_sym_rescue] = ACTIONS(9340),
    [anon_sym_AMP_DOT] = ACTIONS(9340),
    [anon_sym_QMARK] = ACTIONS(9340),
    [anon_sym_DOT_DOT] = ACTIONS(9342),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9340),
    [anon_sym_and] = ACTIONS(9340),
    [anon_sym_or] = ACTIONS(9340),
    [anon_sym_PIPE_PIPE] = ACTIONS(9340),
    [anon_sym_AMP_AMP] = ACTIONS(9340),
    [anon_sym_LT_LT] = ACTIONS(9340),
    [anon_sym_GT_GT] = ACTIONS(9340),
    [anon_sym_EQ_EQ] = ACTIONS(9342),
    [anon_sym_BANG_EQ] = ACTIONS(9340),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9340),
    [anon_sym_LT_EQ_GT] = ACTIONS(9340),
    [anon_sym_EQ_TILDE] = ACTIONS(9340),
    [anon_sym_BANG_TILDE] = ACTIONS(9340),
    [anon_sym_LT_EQ] = ACTIONS(9342),
    [anon_sym_GT] = ACTIONS(9342),
    [anon_sym_GT_EQ] = ACTIONS(9340),
    [anon_sym_CARET] = ACTIONS(9340),
    [anon_sym_PLUS] = ACTIONS(9340),
    [anon_sym_SLASH] = ACTIONS(9340),
    [anon_sym_PERCENT] = ACTIONS(9340),
    [sym_comment] = ACTIONS(110),
  },
  [8851] = {
    [anon_sym_end] = ACTIONS(14470),
    [sym_comment] = ACTIONS(110),
  },
  [8852] = {
    [sym__heredoc_body_middle] = ACTIONS(9398),
    [sym__heredoc_body_end] = ACTIONS(9398),
    [sym__element_reference_left_bracket] = ACTIONS(9398),
    [sym__scope_double_colon] = ACTIONS(9398),
    [sym__binary_minus] = ACTIONS(9398),
    [sym__binary_star] = ACTIONS(9398),
    [anon_sym_DOT] = ACTIONS(9400),
    [anon_sym_COMMA] = ACTIONS(9398),
    [anon_sym_PIPE] = ACTIONS(9400),
    [anon_sym_STAR_STAR] = ACTIONS(9398),
    [anon_sym_AMP] = ACTIONS(9400),
    [anon_sym_LT] = ACTIONS(9400),
    [anon_sym_if] = ACTIONS(9398),
    [anon_sym_unless] = ACTIONS(9398),
    [anon_sym_while] = ACTIONS(9398),
    [anon_sym_until] = ACTIONS(9398),
    [anon_sym_rescue] = ACTIONS(9398),
    [anon_sym_AMP_DOT] = ACTIONS(9398),
    [anon_sym_QMARK] = ACTIONS(9398),
    [anon_sym_DOT_DOT] = ACTIONS(9400),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9398),
    [anon_sym_and] = ACTIONS(9398),
    [anon_sym_or] = ACTIONS(9398),
    [anon_sym_PIPE_PIPE] = ACTIONS(9398),
    [anon_sym_AMP_AMP] = ACTIONS(9398),
    [anon_sym_LT_LT] = ACTIONS(9398),
    [anon_sym_GT_GT] = ACTIONS(9398),
    [anon_sym_EQ_EQ] = ACTIONS(9400),
    [anon_sym_BANG_EQ] = ACTIONS(9398),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9398),
    [anon_sym_LT_EQ_GT] = ACTIONS(9398),
    [anon_sym_EQ_TILDE] = ACTIONS(9398),
    [anon_sym_BANG_TILDE] = ACTIONS(9398),
    [anon_sym_LT_EQ] = ACTIONS(9400),
    [anon_sym_GT] = ACTIONS(9400),
    [anon_sym_GT_EQ] = ACTIONS(9398),
    [anon_sym_CARET] = ACTIONS(9398),
    [anon_sym_PLUS] = ACTIONS(9398),
    [anon_sym_SLASH] = ACTIONS(9398),
    [anon_sym_PERCENT] = ACTIONS(9398),
    [sym_comment] = ACTIONS(110),
  },
  [8853] = {
    [anon_sym_end] = ACTIONS(14472),
    [sym_comment] = ACTIONS(110),
  },
  [8854] = {
    [sym__simple_string] = ACTIONS(3612),
    [sym__simple_heredoc_body] = ACTIONS(3612),
    [sym__string_beginning] = ACTIONS(3612),
    [sym__heredoc_body_beginning] = ACTIONS(3612),
    [sym__heredoc_body_middle] = ACTIONS(3612),
    [sym__heredoc_body_end] = ACTIONS(3612),
    [sym__element_reference_left_bracket] = ACTIONS(3612),
    [sym__scope_double_colon] = ACTIONS(3612),
    [sym__keyword_colon] = ACTIONS(3612),
    [sym__binary_minus] = ACTIONS(3612),
    [sym__binary_star] = ACTIONS(3612),
    [anon_sym_DOT] = ACTIONS(3614),
    [anon_sym_COMMA] = ACTIONS(3612),
    [anon_sym_PIPE] = ACTIONS(3614),
    [anon_sym_STAR_STAR] = ACTIONS(3612),
    [anon_sym_AMP] = ACTIONS(3614),
    [anon_sym_LT] = ACTIONS(3614),
    [anon_sym_if] = ACTIONS(3612),
    [anon_sym_unless] = ACTIONS(3612),
    [anon_sym_while] = ACTIONS(3612),
    [anon_sym_until] = ACTIONS(3612),
    [anon_sym_rescue] = ACTIONS(3612),
    [anon_sym_EQ_GT] = ACTIONS(3612),
    [anon_sym_AMP_DOT] = ACTIONS(3612),
    [anon_sym_QMARK] = ACTIONS(3614),
    [anon_sym_DOT_DOT] = ACTIONS(3614),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3612),
    [anon_sym_and] = ACTIONS(3612),
    [anon_sym_or] = ACTIONS(3612),
    [anon_sym_PIPE_PIPE] = ACTIONS(3612),
    [anon_sym_AMP_AMP] = ACTIONS(3612),
    [anon_sym_LT_LT] = ACTIONS(3612),
    [anon_sym_GT_GT] = ACTIONS(3612),
    [anon_sym_EQ_EQ] = ACTIONS(3614),
    [anon_sym_BANG_EQ] = ACTIONS(3612),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3612),
    [anon_sym_LT_EQ_GT] = ACTIONS(3612),
    [anon_sym_EQ_TILDE] = ACTIONS(3612),
    [anon_sym_BANG_TILDE] = ACTIONS(3612),
    [anon_sym_LT_EQ] = ACTIONS(3614),
    [anon_sym_GT] = ACTIONS(3614),
    [anon_sym_GT_EQ] = ACTIONS(3612),
    [anon_sym_CARET] = ACTIONS(3612),
    [anon_sym_PLUS] = ACTIONS(3612),
    [anon_sym_SLASH] = ACTIONS(3612),
    [anon_sym_PERCENT] = ACTIONS(3612),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(3614),
  },
  [8855] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(14474),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [8856] = {
    [sym__simple_heredoc_body] = ACTIONS(3844),
    [sym__heredoc_body_beginning] = ACTIONS(3844),
    [sym__heredoc_body_middle] = ACTIONS(3844),
    [sym__heredoc_body_end] = ACTIONS(3844),
    [sym__element_reference_left_bracket] = ACTIONS(3844),
    [sym__scope_double_colon] = ACTIONS(3844),
    [sym__binary_minus] = ACTIONS(3844),
    [sym__binary_star] = ACTIONS(3844),
    [anon_sym_DOT] = ACTIONS(3846),
    [anon_sym_COMMA] = ACTIONS(3844),
    [anon_sym_PIPE] = ACTIONS(3846),
    [anon_sym_STAR_STAR] = ACTIONS(3844),
    [anon_sym_AMP] = ACTIONS(3846),
    [anon_sym_LT] = ACTIONS(3846),
    [anon_sym_if] = ACTIONS(3844),
    [anon_sym_unless] = ACTIONS(3844),
    [anon_sym_while] = ACTIONS(3844),
    [anon_sym_until] = ACTIONS(3844),
    [anon_sym_rescue] = ACTIONS(3844),
    [anon_sym_EQ_GT] = ACTIONS(3844),
    [anon_sym_AMP_DOT] = ACTIONS(3844),
    [anon_sym_QMARK] = ACTIONS(3844),
    [anon_sym_DOT_DOT] = ACTIONS(3846),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3844),
    [anon_sym_and] = ACTIONS(3844),
    [anon_sym_or] = ACTIONS(3844),
    [anon_sym_PIPE_PIPE] = ACTIONS(3844),
    [anon_sym_AMP_AMP] = ACTIONS(3844),
    [anon_sym_LT_LT] = ACTIONS(3844),
    [anon_sym_GT_GT] = ACTIONS(3844),
    [anon_sym_EQ_EQ] = ACTIONS(3846),
    [anon_sym_BANG_EQ] = ACTIONS(3844),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3844),
    [anon_sym_LT_EQ_GT] = ACTIONS(3844),
    [anon_sym_EQ_TILDE] = ACTIONS(3844),
    [anon_sym_BANG_TILDE] = ACTIONS(3844),
    [anon_sym_LT_EQ] = ACTIONS(3846),
    [anon_sym_GT] = ACTIONS(3846),
    [anon_sym_GT_EQ] = ACTIONS(3844),
    [anon_sym_CARET] = ACTIONS(3844),
    [anon_sym_PLUS] = ACTIONS(3844),
    [anon_sym_SLASH] = ACTIONS(3844),
    [anon_sym_PERCENT] = ACTIONS(3844),
    [sym_comment] = ACTIONS(110),
  },
  [8857] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(14476),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [8858] = {
    [sym__simple_heredoc_body] = ACTIONS(3850),
    [sym__heredoc_body_beginning] = ACTIONS(3850),
    [sym__heredoc_body_middle] = ACTIONS(3850),
    [sym__heredoc_body_end] = ACTIONS(3850),
    [sym__element_reference_left_bracket] = ACTIONS(3850),
    [sym__scope_double_colon] = ACTIONS(3850),
    [sym__binary_minus] = ACTIONS(3850),
    [sym__binary_star] = ACTIONS(3850),
    [anon_sym_DOT] = ACTIONS(3852),
    [anon_sym_COMMA] = ACTIONS(3850),
    [anon_sym_PIPE] = ACTIONS(3852),
    [anon_sym_STAR_STAR] = ACTIONS(3850),
    [anon_sym_AMP] = ACTIONS(3852),
    [anon_sym_LT] = ACTIONS(3852),
    [anon_sym_if] = ACTIONS(3850),
    [anon_sym_unless] = ACTIONS(3850),
    [anon_sym_while] = ACTIONS(3850),
    [anon_sym_until] = ACTIONS(3850),
    [anon_sym_rescue] = ACTIONS(3850),
    [anon_sym_EQ_GT] = ACTIONS(3850),
    [anon_sym_AMP_DOT] = ACTIONS(3850),
    [anon_sym_QMARK] = ACTIONS(3850),
    [anon_sym_DOT_DOT] = ACTIONS(3852),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3850),
    [anon_sym_and] = ACTIONS(3850),
    [anon_sym_or] = ACTIONS(3850),
    [anon_sym_PIPE_PIPE] = ACTIONS(3850),
    [anon_sym_AMP_AMP] = ACTIONS(3850),
    [anon_sym_LT_LT] = ACTIONS(3850),
    [anon_sym_GT_GT] = ACTIONS(3850),
    [anon_sym_EQ_EQ] = ACTIONS(3852),
    [anon_sym_BANG_EQ] = ACTIONS(3850),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3850),
    [anon_sym_LT_EQ_GT] = ACTIONS(3850),
    [anon_sym_EQ_TILDE] = ACTIONS(3850),
    [anon_sym_BANG_TILDE] = ACTIONS(3850),
    [anon_sym_LT_EQ] = ACTIONS(3852),
    [anon_sym_GT] = ACTIONS(3852),
    [anon_sym_GT_EQ] = ACTIONS(3850),
    [anon_sym_CARET] = ACTIONS(3850),
    [anon_sym_PLUS] = ACTIONS(3850),
    [anon_sym_SLASH] = ACTIONS(3850),
    [anon_sym_PERCENT] = ACTIONS(3850),
    [sym_comment] = ACTIONS(110),
  },
  [8859] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(14478),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [8860] = {
    [sym__simple_heredoc_body] = ACTIONS(3856),
    [sym__heredoc_body_beginning] = ACTIONS(3856),
    [sym__heredoc_body_middle] = ACTIONS(3856),
    [sym__heredoc_body_end] = ACTIONS(3856),
    [sym__element_reference_left_bracket] = ACTIONS(3856),
    [sym__scope_double_colon] = ACTIONS(3856),
    [sym__binary_minus] = ACTIONS(3856),
    [sym__binary_star] = ACTIONS(3856),
    [anon_sym_DOT] = ACTIONS(3858),
    [anon_sym_COMMA] = ACTIONS(3856),
    [anon_sym_PIPE] = ACTIONS(3858),
    [anon_sym_STAR_STAR] = ACTIONS(3856),
    [anon_sym_AMP] = ACTIONS(3858),
    [anon_sym_LT] = ACTIONS(3858),
    [anon_sym_if] = ACTIONS(3856),
    [anon_sym_unless] = ACTIONS(3856),
    [anon_sym_while] = ACTIONS(3856),
    [anon_sym_until] = ACTIONS(3856),
    [anon_sym_rescue] = ACTIONS(3856),
    [anon_sym_EQ_GT] = ACTIONS(3856),
    [anon_sym_AMP_DOT] = ACTIONS(3856),
    [anon_sym_QMARK] = ACTIONS(3856),
    [anon_sym_DOT_DOT] = ACTIONS(3858),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3856),
    [anon_sym_and] = ACTIONS(3856),
    [anon_sym_or] = ACTIONS(3856),
    [anon_sym_PIPE_PIPE] = ACTIONS(3856),
    [anon_sym_AMP_AMP] = ACTIONS(3856),
    [anon_sym_LT_LT] = ACTIONS(3856),
    [anon_sym_GT_GT] = ACTIONS(3856),
    [anon_sym_EQ_EQ] = ACTIONS(3858),
    [anon_sym_BANG_EQ] = ACTIONS(3856),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3856),
    [anon_sym_LT_EQ_GT] = ACTIONS(3856),
    [anon_sym_EQ_TILDE] = ACTIONS(3856),
    [anon_sym_BANG_TILDE] = ACTIONS(3856),
    [anon_sym_LT_EQ] = ACTIONS(3858),
    [anon_sym_GT] = ACTIONS(3858),
    [anon_sym_GT_EQ] = ACTIONS(3856),
    [anon_sym_CARET] = ACTIONS(3856),
    [anon_sym_PLUS] = ACTIONS(3856),
    [anon_sym_SLASH] = ACTIONS(3856),
    [anon_sym_PERCENT] = ACTIONS(3856),
    [sym_comment] = ACTIONS(110),
  },
  [8861] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(14480),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [8862] = {
    [sym__simple_heredoc_body] = ACTIONS(3862),
    [sym__heredoc_body_beginning] = ACTIONS(3862),
    [sym__heredoc_body_middle] = ACTIONS(3862),
    [sym__heredoc_body_end] = ACTIONS(3862),
    [sym__element_reference_left_bracket] = ACTIONS(3862),
    [sym__scope_double_colon] = ACTIONS(3862),
    [sym__binary_minus] = ACTIONS(3862),
    [sym__binary_star] = ACTIONS(3862),
    [anon_sym_DOT] = ACTIONS(3864),
    [anon_sym_COMMA] = ACTIONS(3862),
    [anon_sym_PIPE] = ACTIONS(3864),
    [anon_sym_STAR_STAR] = ACTIONS(3862),
    [anon_sym_AMP] = ACTIONS(3864),
    [anon_sym_LT] = ACTIONS(3864),
    [anon_sym_if] = ACTIONS(3862),
    [anon_sym_unless] = ACTIONS(3862),
    [anon_sym_while] = ACTIONS(3862),
    [anon_sym_until] = ACTIONS(3862),
    [anon_sym_rescue] = ACTIONS(3862),
    [anon_sym_EQ_GT] = ACTIONS(3862),
    [anon_sym_AMP_DOT] = ACTIONS(3862),
    [anon_sym_QMARK] = ACTIONS(3862),
    [anon_sym_DOT_DOT] = ACTIONS(3864),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3862),
    [anon_sym_and] = ACTIONS(3862),
    [anon_sym_or] = ACTIONS(3862),
    [anon_sym_PIPE_PIPE] = ACTIONS(3862),
    [anon_sym_AMP_AMP] = ACTIONS(3862),
    [anon_sym_LT_LT] = ACTIONS(3862),
    [anon_sym_GT_GT] = ACTIONS(3862),
    [anon_sym_EQ_EQ] = ACTIONS(3864),
    [anon_sym_BANG_EQ] = ACTIONS(3862),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3862),
    [anon_sym_LT_EQ_GT] = ACTIONS(3862),
    [anon_sym_EQ_TILDE] = ACTIONS(3862),
    [anon_sym_BANG_TILDE] = ACTIONS(3862),
    [anon_sym_LT_EQ] = ACTIONS(3864),
    [anon_sym_GT] = ACTIONS(3864),
    [anon_sym_GT_EQ] = ACTIONS(3862),
    [anon_sym_CARET] = ACTIONS(3862),
    [anon_sym_PLUS] = ACTIONS(3862),
    [anon_sym_SLASH] = ACTIONS(3862),
    [anon_sym_PERCENT] = ACTIONS(3862),
    [sym_comment] = ACTIONS(110),
  },
  [8863] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(14482),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [8864] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(14484),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [8865] = {
    [sym__statement] = STATE(11509),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [8866] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__heredoc_body_middle] = ACTIONS(1372),
    [sym__heredoc_body_end] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_STAR_STAR] = ACTIONS(11780),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_if] = ACTIONS(1372),
    [anon_sym_unless] = ACTIONS(1372),
    [anon_sym_while] = ACTIONS(1372),
    [anon_sym_until] = ACTIONS(1372),
    [anon_sym_rescue] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [8867] = {
    [sym__simple_string] = ACTIONS(2010),
    [sym__simple_symbol] = ACTIONS(2010),
    [sym__simple_subshell] = ACTIONS(2010),
    [sym__simple_regex] = ACTIONS(2010),
    [sym__simple_word_list] = ACTIONS(2010),
    [sym__simple_heredoc_body] = ACTIONS(2010),
    [sym__string_beginning] = ACTIONS(2010),
    [sym__symbol_beginning] = ACTIONS(2010),
    [sym__subshell_beginning] = ACTIONS(2010),
    [sym__regex_beginning] = ACTIONS(2010),
    [sym__word_list_beginning] = ACTIONS(2010),
    [sym__heredoc_body_beginning] = ACTIONS(2010),
    [sym__heredoc_body_middle] = ACTIONS(2010),
    [sym__heredoc_body_end] = ACTIONS(2010),
    [sym_heredoc_beginning] = ACTIONS(2010),
    [sym__element_reference_left_bracket] = ACTIONS(2010),
    [sym__block_ampersand] = ACTIONS(2010),
    [sym__splat_star] = ACTIONS(2010),
    [sym__argument_list_left_paren] = ACTIONS(2010),
    [sym__scope_double_colon] = ACTIONS(2010),
    [sym__unary_minus] = ACTIONS(2010),
    [sym__binary_minus] = ACTIONS(2010),
    [sym__binary_star] = ACTIONS(2010),
    [anon_sym_LBRACE] = ACTIONS(2010),
    [anon_sym_def] = ACTIONS(2012),
    [anon_sym_LPAREN] = ACTIONS(2010),
    [anon_sym_DOT] = ACTIONS(2012),
    [anon_sym_COLON_COLON] = ACTIONS(2010),
    [anon_sym_end] = ACTIONS(2012),
    [anon_sym_COMMA] = ACTIONS(2010),
    [anon_sym_PIPE] = ACTIONS(2012),
    [anon_sym_STAR] = ACTIONS(2012),
    [anon_sym_STAR_STAR] = ACTIONS(2012),
    [anon_sym_AMP] = ACTIONS(2012),
    [anon_sym_EQ] = ACTIONS(2012),
    [anon_sym_class] = ACTIONS(2012),
    [anon_sym_LT] = ACTIONS(2012),
    [anon_sym_module] = ACTIONS(2012),
    [anon_sym_return] = ACTIONS(2012),
    [anon_sym_yield] = ACTIONS(2012),
    [anon_sym_break] = ACTIONS(2012),
    [anon_sym_next] = ACTIONS(2012),
    [anon_sym_redo] = ACTIONS(2012),
    [anon_sym_retry] = ACTIONS(2012),
    [anon_sym_if] = ACTIONS(2012),
    [anon_sym_unless] = ACTIONS(2012),
    [anon_sym_while] = ACTIONS(2012),
    [anon_sym_until] = ACTIONS(2012),
    [anon_sym_rescue] = ACTIONS(2012),
    [anon_sym_for] = ACTIONS(2012),
    [anon_sym_in] = ACTIONS(2012),
    [anon_sym_do] = ACTIONS(2012),
    [anon_sym_case] = ACTIONS(2012),
    [anon_sym_when] = ACTIONS(2012),
    [anon_sym_elsif] = ACTIONS(2012),
    [anon_sym_else] = ACTIONS(2012),
    [anon_sym_then] = ACTIONS(2012),
    [anon_sym_begin] = ACTIONS(2012),
    [anon_sym_ensure] = ACTIONS(2012),
    [anon_sym_AMP_DOT] = ACTIONS(2010),
    [anon_sym_PLUS_EQ] = ACTIONS(2010),
    [anon_sym_DASH_EQ] = ACTIONS(2010),
    [anon_sym_STAR_EQ] = ACTIONS(2010),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2010),
    [anon_sym_SLASH_EQ] = ACTIONS(2010),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2010),
    [anon_sym_PIPE_EQ] = ACTIONS(2010),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2010),
    [anon_sym_AMP_EQ] = ACTIONS(2010),
    [anon_sym_PERCENT_EQ] = ACTIONS(2010),
    [anon_sym_GT_GT_EQ] = ACTIONS(2010),
    [anon_sym_LT_LT_EQ] = ACTIONS(2010),
    [anon_sym_CARET_EQ] = ACTIONS(2010),
    [anon_sym_QMARK] = ACTIONS(2012),
    [anon_sym_DOT_DOT] = ACTIONS(2012),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2010),
    [anon_sym_and] = ACTIONS(2012),
    [anon_sym_or] = ACTIONS(2012),
    [anon_sym_PIPE_PIPE] = ACTIONS(2012),
    [anon_sym_AMP_AMP] = ACTIONS(2012),
    [anon_sym_LT_LT] = ACTIONS(2012),
    [anon_sym_GT_GT] = ACTIONS(2012),
    [anon_sym_EQ_EQ] = ACTIONS(2012),
    [anon_sym_BANG_EQ] = ACTIONS(2010),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2010),
    [anon_sym_LT_EQ_GT] = ACTIONS(2010),
    [anon_sym_EQ_TILDE] = ACTIONS(2010),
    [anon_sym_BANG_TILDE] = ACTIONS(2010),
    [anon_sym_LT_EQ] = ACTIONS(2012),
    [anon_sym_GT] = ACTIONS(2012),
    [anon_sym_GT_EQ] = ACTIONS(2010),
    [anon_sym_CARET] = ACTIONS(2012),
    [anon_sym_PLUS] = ACTIONS(2012),
    [anon_sym_SLASH] = ACTIONS(2012),
    [anon_sym_PERCENT] = ACTIONS(2012),
    [anon_sym_defined_QMARK] = ACTIONS(2010),
    [anon_sym_not] = ACTIONS(2012),
    [anon_sym_BANG] = ACTIONS(2012),
    [anon_sym_TILDE] = ACTIONS(2010),
    [sym_constant] = ACTIONS(2014),
    [sym_identifier] = ACTIONS(2014),
    [sym_instance_variable] = ACTIONS(2012),
    [sym_class_variable] = ACTIONS(2012),
    [sym_global_variable] = ACTIONS(2012),
    [anon_sym_alias] = ACTIONS(2012),
    [anon_sym_defined] = ACTIONS(2012),
    [anon_sym_false] = ACTIONS(2012),
    [anon_sym_nil] = ACTIONS(2012),
    [anon_sym_self] = ACTIONS(2012),
    [anon_sym_super] = ACTIONS(2012),
    [anon_sym_true] = ACTIONS(2012),
    [anon_sym_undef] = ACTIONS(2012),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(2012),
    [sym_float] = ACTIONS(2014),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(2010),
    [anon_sym_TRUE] = ACTIONS(2012),
    [anon_sym_FALSE] = ACTIONS(2012),
    [anon_sym_NIL] = ACTIONS(2012),
    [sym_keyword__FILE__] = ACTIONS(2012),
    [sym_keyword__LINE__] = ACTIONS(2012),
    [sym_keyword__ENCODING__] = ACTIONS(2012),
    [sym__character_literal] = ACTIONS(2012),
    [anon_sym_LBRACK] = ACTIONS(2010),
    [anon_sym_DASH_GT] = ACTIONS(2010),
  },
  [8868] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__heredoc_body_middle] = ACTIONS(2870),
    [sym__heredoc_body_end] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(11780),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [8869] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__heredoc_body_middle] = ACTIONS(2870),
    [sym__heredoc_body_end] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(11774),
    [sym__binary_star] = ACTIONS(11776),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(11778),
    [anon_sym_STAR_STAR] = ACTIONS(11780),
    [anon_sym_AMP] = ACTIONS(11782),
    [anon_sym_LT] = ACTIONS(11784),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(11786),
    [anon_sym_DOT_DOT] = ACTIONS(11788),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11790),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(11792),
    [anon_sym_AMP_AMP] = ACTIONS(11792),
    [anon_sym_LT_LT] = ACTIONS(11794),
    [anon_sym_GT_GT] = ACTIONS(11794),
    [anon_sym_EQ_EQ] = ACTIONS(11796),
    [anon_sym_BANG_EQ] = ACTIONS(11792),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11792),
    [anon_sym_LT_EQ_GT] = ACTIONS(11792),
    [anon_sym_EQ_TILDE] = ACTIONS(11792),
    [anon_sym_BANG_TILDE] = ACTIONS(11792),
    [anon_sym_LT_EQ] = ACTIONS(11784),
    [anon_sym_GT] = ACTIONS(11784),
    [anon_sym_GT_EQ] = ACTIONS(11798),
    [anon_sym_CARET] = ACTIONS(11800),
    [anon_sym_PLUS] = ACTIONS(11802),
    [anon_sym_SLASH] = ACTIONS(11780),
    [anon_sym_PERCENT] = ACTIONS(11780),
    [sym_comment] = ACTIONS(110),
  },
  [8870] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(11510),
    [sym__primary] = STATE(5605),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(5606),
    [sym_scope_resolution] = STATE(5607),
    [sym_call] = STATE(5607),
    [sym_method_call] = STATE(5606),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(5608),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5609),
    [sym__variable] = STATE(5607),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(5598),
    [sym_true] = STATE(5606),
    [sym_false] = STATE(5606),
    [sym_self] = STATE(5598),
    [sym_nil] = STATE(5606),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(5610),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(7868),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__string_beginning] = ACTIONS(7870),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__unary_minus] = ACTIONS(7872),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(7874),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_COLON_COLON] = ACTIONS(7876),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(7878),
    [anon_sym_module] = ACTIONS(7880),
    [anon_sym_return] = ACTIONS(7882),
    [anon_sym_yield] = ACTIONS(7884),
    [anon_sym_break] = ACTIONS(7886),
    [anon_sym_next] = ACTIONS(7888),
    [anon_sym_redo] = ACTIONS(7890),
    [anon_sym_retry] = ACTIONS(7892),
    [anon_sym_if] = ACTIONS(7894),
    [anon_sym_unless] = ACTIONS(7896),
    [anon_sym_while] = ACTIONS(7898),
    [anon_sym_until] = ACTIONS(7900),
    [anon_sym_for] = ACTIONS(7902),
    [anon_sym_case] = ACTIONS(7904),
    [anon_sym_begin] = ACTIONS(7906),
    [anon_sym_PLUS] = ACTIONS(7908),
    [anon_sym_defined_QMARK] = ACTIONS(7910),
    [anon_sym_not] = ACTIONS(7912),
    [anon_sym_BANG] = ACTIONS(7914),
    [anon_sym_TILDE] = ACTIONS(7914),
    [sym_constant] = ACTIONS(7916),
    [sym_identifier] = ACTIONS(7916),
    [sym_instance_variable] = ACTIONS(7918),
    [sym_class_variable] = ACTIONS(7918),
    [sym_global_variable] = ACTIONS(7918),
    [anon_sym_false] = ACTIONS(7920),
    [anon_sym_nil] = ACTIONS(7922),
    [anon_sym_self] = ACTIONS(7924),
    [anon_sym_super] = ACTIONS(7926),
    [anon_sym_true] = ACTIONS(7928),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(7928),
    [anon_sym_FALSE] = ACTIONS(7920),
    [anon_sym_NIL] = ACTIONS(7922),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(7930),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [8871] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(11511),
    [sym__primary] = STATE(5605),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(5606),
    [sym_scope_resolution] = STATE(5607),
    [sym_call] = STATE(5607),
    [sym_method_call] = STATE(5606),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(5608),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5609),
    [sym__variable] = STATE(5607),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(5598),
    [sym_true] = STATE(5606),
    [sym_false] = STATE(5606),
    [sym_self] = STATE(5598),
    [sym_nil] = STATE(5606),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(5610),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(7868),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__string_beginning] = ACTIONS(7870),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__unary_minus] = ACTIONS(7872),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(7874),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_COLON_COLON] = ACTIONS(7876),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(7878),
    [anon_sym_module] = ACTIONS(7880),
    [anon_sym_return] = ACTIONS(7882),
    [anon_sym_yield] = ACTIONS(7884),
    [anon_sym_break] = ACTIONS(7886),
    [anon_sym_next] = ACTIONS(7888),
    [anon_sym_redo] = ACTIONS(7890),
    [anon_sym_retry] = ACTIONS(7892),
    [anon_sym_if] = ACTIONS(7894),
    [anon_sym_unless] = ACTIONS(7896),
    [anon_sym_while] = ACTIONS(7898),
    [anon_sym_until] = ACTIONS(7900),
    [anon_sym_for] = ACTIONS(7902),
    [anon_sym_case] = ACTIONS(7904),
    [anon_sym_begin] = ACTIONS(7906),
    [anon_sym_PLUS] = ACTIONS(7908),
    [anon_sym_defined_QMARK] = ACTIONS(7910),
    [anon_sym_not] = ACTIONS(7912),
    [anon_sym_BANG] = ACTIONS(7914),
    [anon_sym_TILDE] = ACTIONS(7914),
    [sym_constant] = ACTIONS(7916),
    [sym_identifier] = ACTIONS(7916),
    [sym_instance_variable] = ACTIONS(7918),
    [sym_class_variable] = ACTIONS(7918),
    [sym_global_variable] = ACTIONS(7918),
    [anon_sym_false] = ACTIONS(7920),
    [anon_sym_nil] = ACTIONS(7922),
    [anon_sym_self] = ACTIONS(7924),
    [anon_sym_super] = ACTIONS(7926),
    [anon_sym_true] = ACTIONS(7928),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(7928),
    [anon_sym_FALSE] = ACTIONS(7920),
    [anon_sym_NIL] = ACTIONS(7922),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(7930),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [8872] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(11512),
    [sym__primary] = STATE(5605),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(5606),
    [sym_scope_resolution] = STATE(5607),
    [sym_call] = STATE(5607),
    [sym_method_call] = STATE(5606),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(5608),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5609),
    [sym__variable] = STATE(5607),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(5598),
    [sym_true] = STATE(5606),
    [sym_false] = STATE(5606),
    [sym_self] = STATE(5598),
    [sym_nil] = STATE(5606),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(5610),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(7868),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__string_beginning] = ACTIONS(7870),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__unary_minus] = ACTIONS(7872),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(7874),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_COLON_COLON] = ACTIONS(7876),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(7878),
    [anon_sym_module] = ACTIONS(7880),
    [anon_sym_return] = ACTIONS(7882),
    [anon_sym_yield] = ACTIONS(7884),
    [anon_sym_break] = ACTIONS(7886),
    [anon_sym_next] = ACTIONS(7888),
    [anon_sym_redo] = ACTIONS(7890),
    [anon_sym_retry] = ACTIONS(7892),
    [anon_sym_if] = ACTIONS(7894),
    [anon_sym_unless] = ACTIONS(7896),
    [anon_sym_while] = ACTIONS(7898),
    [anon_sym_until] = ACTIONS(7900),
    [anon_sym_for] = ACTIONS(7902),
    [anon_sym_case] = ACTIONS(7904),
    [anon_sym_begin] = ACTIONS(7906),
    [anon_sym_PLUS] = ACTIONS(7908),
    [anon_sym_defined_QMARK] = ACTIONS(7910),
    [anon_sym_not] = ACTIONS(7912),
    [anon_sym_BANG] = ACTIONS(7914),
    [anon_sym_TILDE] = ACTIONS(7914),
    [sym_constant] = ACTIONS(7916),
    [sym_identifier] = ACTIONS(7916),
    [sym_instance_variable] = ACTIONS(7918),
    [sym_class_variable] = ACTIONS(7918),
    [sym_global_variable] = ACTIONS(7918),
    [anon_sym_false] = ACTIONS(7920),
    [anon_sym_nil] = ACTIONS(7922),
    [anon_sym_self] = ACTIONS(7924),
    [anon_sym_super] = ACTIONS(7926),
    [anon_sym_true] = ACTIONS(7928),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(7928),
    [anon_sym_FALSE] = ACTIONS(7920),
    [anon_sym_NIL] = ACTIONS(7922),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(7930),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [8873] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(11513),
    [sym__primary] = STATE(5605),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(5606),
    [sym_scope_resolution] = STATE(5607),
    [sym_call] = STATE(5607),
    [sym_method_call] = STATE(5606),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(5608),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5609),
    [sym__variable] = STATE(5607),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(5598),
    [sym_true] = STATE(5606),
    [sym_false] = STATE(5606),
    [sym_self] = STATE(5598),
    [sym_nil] = STATE(5606),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(5610),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(7868),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__string_beginning] = ACTIONS(7870),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__unary_minus] = ACTIONS(7872),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(7874),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_COLON_COLON] = ACTIONS(7876),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(7878),
    [anon_sym_module] = ACTIONS(7880),
    [anon_sym_return] = ACTIONS(7882),
    [anon_sym_yield] = ACTIONS(7884),
    [anon_sym_break] = ACTIONS(7886),
    [anon_sym_next] = ACTIONS(7888),
    [anon_sym_redo] = ACTIONS(7890),
    [anon_sym_retry] = ACTIONS(7892),
    [anon_sym_if] = ACTIONS(7894),
    [anon_sym_unless] = ACTIONS(7896),
    [anon_sym_while] = ACTIONS(7898),
    [anon_sym_until] = ACTIONS(7900),
    [anon_sym_for] = ACTIONS(7902),
    [anon_sym_case] = ACTIONS(7904),
    [anon_sym_begin] = ACTIONS(7906),
    [anon_sym_PLUS] = ACTIONS(7908),
    [anon_sym_defined_QMARK] = ACTIONS(7910),
    [anon_sym_not] = ACTIONS(7912),
    [anon_sym_BANG] = ACTIONS(7914),
    [anon_sym_TILDE] = ACTIONS(7914),
    [sym_constant] = ACTIONS(7916),
    [sym_identifier] = ACTIONS(7916),
    [sym_instance_variable] = ACTIONS(7918),
    [sym_class_variable] = ACTIONS(7918),
    [sym_global_variable] = ACTIONS(7918),
    [anon_sym_false] = ACTIONS(7920),
    [anon_sym_nil] = ACTIONS(7922),
    [anon_sym_self] = ACTIONS(7924),
    [anon_sym_super] = ACTIONS(7926),
    [anon_sym_true] = ACTIONS(7928),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(7928),
    [anon_sym_FALSE] = ACTIONS(7920),
    [anon_sym_NIL] = ACTIONS(7922),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(7930),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [8874] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(11514),
    [sym__primary] = STATE(5605),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(5606),
    [sym_scope_resolution] = STATE(5607),
    [sym_call] = STATE(5607),
    [sym_method_call] = STATE(5606),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(5608),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5609),
    [sym__variable] = STATE(5607),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(5598),
    [sym_true] = STATE(5606),
    [sym_false] = STATE(5606),
    [sym_self] = STATE(5598),
    [sym_nil] = STATE(5606),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(5610),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(7868),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__string_beginning] = ACTIONS(7870),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__unary_minus] = ACTIONS(7872),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(7874),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_COLON_COLON] = ACTIONS(7876),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(7878),
    [anon_sym_module] = ACTIONS(7880),
    [anon_sym_return] = ACTIONS(7882),
    [anon_sym_yield] = ACTIONS(7884),
    [anon_sym_break] = ACTIONS(7886),
    [anon_sym_next] = ACTIONS(7888),
    [anon_sym_redo] = ACTIONS(7890),
    [anon_sym_retry] = ACTIONS(7892),
    [anon_sym_if] = ACTIONS(7894),
    [anon_sym_unless] = ACTIONS(7896),
    [anon_sym_while] = ACTIONS(7898),
    [anon_sym_until] = ACTIONS(7900),
    [anon_sym_for] = ACTIONS(7902),
    [anon_sym_case] = ACTIONS(7904),
    [anon_sym_begin] = ACTIONS(7906),
    [anon_sym_PLUS] = ACTIONS(7908),
    [anon_sym_defined_QMARK] = ACTIONS(7910),
    [anon_sym_not] = ACTIONS(7912),
    [anon_sym_BANG] = ACTIONS(7914),
    [anon_sym_TILDE] = ACTIONS(7914),
    [sym_constant] = ACTIONS(7916),
    [sym_identifier] = ACTIONS(7916),
    [sym_instance_variable] = ACTIONS(7918),
    [sym_class_variable] = ACTIONS(7918),
    [sym_global_variable] = ACTIONS(7918),
    [anon_sym_false] = ACTIONS(7920),
    [anon_sym_nil] = ACTIONS(7922),
    [anon_sym_self] = ACTIONS(7924),
    [anon_sym_super] = ACTIONS(7926),
    [anon_sym_true] = ACTIONS(7928),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(7928),
    [anon_sym_FALSE] = ACTIONS(7920),
    [anon_sym_NIL] = ACTIONS(7922),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(7930),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [8875] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(11515),
    [sym__primary] = STATE(5605),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(5606),
    [sym_scope_resolution] = STATE(5607),
    [sym_call] = STATE(5607),
    [sym_method_call] = STATE(5606),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(5608),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5609),
    [sym__variable] = STATE(5607),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(5598),
    [sym_true] = STATE(5606),
    [sym_false] = STATE(5606),
    [sym_self] = STATE(5598),
    [sym_nil] = STATE(5606),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(5610),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(7868),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__string_beginning] = ACTIONS(7870),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__unary_minus] = ACTIONS(7872),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(7874),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_COLON_COLON] = ACTIONS(7876),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(7878),
    [anon_sym_module] = ACTIONS(7880),
    [anon_sym_return] = ACTIONS(7882),
    [anon_sym_yield] = ACTIONS(7884),
    [anon_sym_break] = ACTIONS(7886),
    [anon_sym_next] = ACTIONS(7888),
    [anon_sym_redo] = ACTIONS(7890),
    [anon_sym_retry] = ACTIONS(7892),
    [anon_sym_if] = ACTIONS(7894),
    [anon_sym_unless] = ACTIONS(7896),
    [anon_sym_while] = ACTIONS(7898),
    [anon_sym_until] = ACTIONS(7900),
    [anon_sym_for] = ACTIONS(7902),
    [anon_sym_case] = ACTIONS(7904),
    [anon_sym_begin] = ACTIONS(7906),
    [anon_sym_PLUS] = ACTIONS(7908),
    [anon_sym_defined_QMARK] = ACTIONS(7910),
    [anon_sym_not] = ACTIONS(7912),
    [anon_sym_BANG] = ACTIONS(7914),
    [anon_sym_TILDE] = ACTIONS(7914),
    [sym_constant] = ACTIONS(7916),
    [sym_identifier] = ACTIONS(7916),
    [sym_instance_variable] = ACTIONS(7918),
    [sym_class_variable] = ACTIONS(7918),
    [sym_global_variable] = ACTIONS(7918),
    [anon_sym_false] = ACTIONS(7920),
    [anon_sym_nil] = ACTIONS(7922),
    [anon_sym_self] = ACTIONS(7924),
    [anon_sym_super] = ACTIONS(7926),
    [anon_sym_true] = ACTIONS(7928),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(7928),
    [anon_sym_FALSE] = ACTIONS(7920),
    [anon_sym_NIL] = ACTIONS(7922),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(7930),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [8876] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(11516),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [8877] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(11517),
    [sym__primary] = STATE(5605),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(5606),
    [sym_scope_resolution] = STATE(5607),
    [sym_call] = STATE(5607),
    [sym_method_call] = STATE(5606),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(5608),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5609),
    [sym__variable] = STATE(5607),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(5598),
    [sym_true] = STATE(5606),
    [sym_false] = STATE(5606),
    [sym_self] = STATE(5598),
    [sym_nil] = STATE(5606),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(5610),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(7868),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__string_beginning] = ACTIONS(7870),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__unary_minus] = ACTIONS(7872),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(7874),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_COLON_COLON] = ACTIONS(7876),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(7878),
    [anon_sym_module] = ACTIONS(7880),
    [anon_sym_return] = ACTIONS(7882),
    [anon_sym_yield] = ACTIONS(7884),
    [anon_sym_break] = ACTIONS(7886),
    [anon_sym_next] = ACTIONS(7888),
    [anon_sym_redo] = ACTIONS(7890),
    [anon_sym_retry] = ACTIONS(7892),
    [anon_sym_if] = ACTIONS(7894),
    [anon_sym_unless] = ACTIONS(7896),
    [anon_sym_while] = ACTIONS(7898),
    [anon_sym_until] = ACTIONS(7900),
    [anon_sym_for] = ACTIONS(7902),
    [anon_sym_case] = ACTIONS(7904),
    [anon_sym_begin] = ACTIONS(7906),
    [anon_sym_PLUS] = ACTIONS(7908),
    [anon_sym_defined_QMARK] = ACTIONS(7910),
    [anon_sym_not] = ACTIONS(7912),
    [anon_sym_BANG] = ACTIONS(7914),
    [anon_sym_TILDE] = ACTIONS(7914),
    [sym_constant] = ACTIONS(7916),
    [sym_identifier] = ACTIONS(7916),
    [sym_instance_variable] = ACTIONS(7918),
    [sym_class_variable] = ACTIONS(7918),
    [sym_global_variable] = ACTIONS(7918),
    [anon_sym_false] = ACTIONS(7920),
    [anon_sym_nil] = ACTIONS(7922),
    [anon_sym_self] = ACTIONS(7924),
    [anon_sym_super] = ACTIONS(7926),
    [anon_sym_true] = ACTIONS(7928),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(7928),
    [anon_sym_FALSE] = ACTIONS(7920),
    [anon_sym_NIL] = ACTIONS(7922),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(7930),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [8878] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(11518),
    [sym__primary] = STATE(5605),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(5606),
    [sym_scope_resolution] = STATE(5607),
    [sym_call] = STATE(5607),
    [sym_method_call] = STATE(5606),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(5608),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5609),
    [sym__variable] = STATE(5607),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(5598),
    [sym_true] = STATE(5606),
    [sym_false] = STATE(5606),
    [sym_self] = STATE(5598),
    [sym_nil] = STATE(5606),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(5610),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(7868),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__string_beginning] = ACTIONS(7870),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__unary_minus] = ACTIONS(7872),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(7874),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_COLON_COLON] = ACTIONS(7876),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(7878),
    [anon_sym_module] = ACTIONS(7880),
    [anon_sym_return] = ACTIONS(7882),
    [anon_sym_yield] = ACTIONS(7884),
    [anon_sym_break] = ACTIONS(7886),
    [anon_sym_next] = ACTIONS(7888),
    [anon_sym_redo] = ACTIONS(7890),
    [anon_sym_retry] = ACTIONS(7892),
    [anon_sym_if] = ACTIONS(7894),
    [anon_sym_unless] = ACTIONS(7896),
    [anon_sym_while] = ACTIONS(7898),
    [anon_sym_until] = ACTIONS(7900),
    [anon_sym_for] = ACTIONS(7902),
    [anon_sym_case] = ACTIONS(7904),
    [anon_sym_begin] = ACTIONS(7906),
    [anon_sym_PLUS] = ACTIONS(7908),
    [anon_sym_defined_QMARK] = ACTIONS(7910),
    [anon_sym_not] = ACTIONS(7912),
    [anon_sym_BANG] = ACTIONS(7914),
    [anon_sym_TILDE] = ACTIONS(7914),
    [sym_constant] = ACTIONS(7916),
    [sym_identifier] = ACTIONS(7916),
    [sym_instance_variable] = ACTIONS(7918),
    [sym_class_variable] = ACTIONS(7918),
    [sym_global_variable] = ACTIONS(7918),
    [anon_sym_false] = ACTIONS(7920),
    [anon_sym_nil] = ACTIONS(7922),
    [anon_sym_self] = ACTIONS(7924),
    [anon_sym_super] = ACTIONS(7926),
    [anon_sym_true] = ACTIONS(7928),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(7928),
    [anon_sym_FALSE] = ACTIONS(7920),
    [anon_sym_NIL] = ACTIONS(7922),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(7930),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [8879] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(11519),
    [sym__primary] = STATE(5605),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(5606),
    [sym_scope_resolution] = STATE(5607),
    [sym_call] = STATE(5607),
    [sym_method_call] = STATE(5606),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(5608),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5609),
    [sym__variable] = STATE(5607),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(5598),
    [sym_true] = STATE(5606),
    [sym_false] = STATE(5606),
    [sym_self] = STATE(5598),
    [sym_nil] = STATE(5606),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(5610),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(7868),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__string_beginning] = ACTIONS(7870),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__unary_minus] = ACTIONS(7872),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(7874),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_COLON_COLON] = ACTIONS(7876),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(7878),
    [anon_sym_module] = ACTIONS(7880),
    [anon_sym_return] = ACTIONS(7882),
    [anon_sym_yield] = ACTIONS(7884),
    [anon_sym_break] = ACTIONS(7886),
    [anon_sym_next] = ACTIONS(7888),
    [anon_sym_redo] = ACTIONS(7890),
    [anon_sym_retry] = ACTIONS(7892),
    [anon_sym_if] = ACTIONS(7894),
    [anon_sym_unless] = ACTIONS(7896),
    [anon_sym_while] = ACTIONS(7898),
    [anon_sym_until] = ACTIONS(7900),
    [anon_sym_for] = ACTIONS(7902),
    [anon_sym_case] = ACTIONS(7904),
    [anon_sym_begin] = ACTIONS(7906),
    [anon_sym_PLUS] = ACTIONS(7908),
    [anon_sym_defined_QMARK] = ACTIONS(7910),
    [anon_sym_not] = ACTIONS(7912),
    [anon_sym_BANG] = ACTIONS(7914),
    [anon_sym_TILDE] = ACTIONS(7914),
    [sym_constant] = ACTIONS(7916),
    [sym_identifier] = ACTIONS(7916),
    [sym_instance_variable] = ACTIONS(7918),
    [sym_class_variable] = ACTIONS(7918),
    [sym_global_variable] = ACTIONS(7918),
    [anon_sym_false] = ACTIONS(7920),
    [anon_sym_nil] = ACTIONS(7922),
    [anon_sym_self] = ACTIONS(7924),
    [anon_sym_super] = ACTIONS(7926),
    [anon_sym_true] = ACTIONS(7928),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(7928),
    [anon_sym_FALSE] = ACTIONS(7920),
    [anon_sym_NIL] = ACTIONS(7922),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(7930),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [8880] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(11520),
    [sym__primary] = STATE(5605),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(5606),
    [sym_scope_resolution] = STATE(5607),
    [sym_call] = STATE(5607),
    [sym_method_call] = STATE(5606),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(5608),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5609),
    [sym__variable] = STATE(5607),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(5598),
    [sym_true] = STATE(5606),
    [sym_false] = STATE(5606),
    [sym_self] = STATE(5598),
    [sym_nil] = STATE(5606),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(5610),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(7868),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__string_beginning] = ACTIONS(7870),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__unary_minus] = ACTIONS(7872),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(7874),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_COLON_COLON] = ACTIONS(7876),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(7878),
    [anon_sym_module] = ACTIONS(7880),
    [anon_sym_return] = ACTIONS(7882),
    [anon_sym_yield] = ACTIONS(7884),
    [anon_sym_break] = ACTIONS(7886),
    [anon_sym_next] = ACTIONS(7888),
    [anon_sym_redo] = ACTIONS(7890),
    [anon_sym_retry] = ACTIONS(7892),
    [anon_sym_if] = ACTIONS(7894),
    [anon_sym_unless] = ACTIONS(7896),
    [anon_sym_while] = ACTIONS(7898),
    [anon_sym_until] = ACTIONS(7900),
    [anon_sym_for] = ACTIONS(7902),
    [anon_sym_case] = ACTIONS(7904),
    [anon_sym_begin] = ACTIONS(7906),
    [anon_sym_PLUS] = ACTIONS(7908),
    [anon_sym_defined_QMARK] = ACTIONS(7910),
    [anon_sym_not] = ACTIONS(7912),
    [anon_sym_BANG] = ACTIONS(7914),
    [anon_sym_TILDE] = ACTIONS(7914),
    [sym_constant] = ACTIONS(7916),
    [sym_identifier] = ACTIONS(7916),
    [sym_instance_variable] = ACTIONS(7918),
    [sym_class_variable] = ACTIONS(7918),
    [sym_global_variable] = ACTIONS(7918),
    [anon_sym_false] = ACTIONS(7920),
    [anon_sym_nil] = ACTIONS(7922),
    [anon_sym_self] = ACTIONS(7924),
    [anon_sym_super] = ACTIONS(7926),
    [anon_sym_true] = ACTIONS(7928),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(7928),
    [anon_sym_FALSE] = ACTIONS(7920),
    [anon_sym_NIL] = ACTIONS(7922),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(7930),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [8881] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(11521),
    [sym__primary] = STATE(5605),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(5606),
    [sym_scope_resolution] = STATE(5607),
    [sym_call] = STATE(5607),
    [sym_method_call] = STATE(5606),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(5608),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5609),
    [sym__variable] = STATE(5607),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(5598),
    [sym_true] = STATE(5606),
    [sym_false] = STATE(5606),
    [sym_self] = STATE(5598),
    [sym_nil] = STATE(5606),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(5610),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(7868),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__string_beginning] = ACTIONS(7870),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__unary_minus] = ACTIONS(7872),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(7874),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_COLON_COLON] = ACTIONS(7876),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(7878),
    [anon_sym_module] = ACTIONS(7880),
    [anon_sym_return] = ACTIONS(7882),
    [anon_sym_yield] = ACTIONS(7884),
    [anon_sym_break] = ACTIONS(7886),
    [anon_sym_next] = ACTIONS(7888),
    [anon_sym_redo] = ACTIONS(7890),
    [anon_sym_retry] = ACTIONS(7892),
    [anon_sym_if] = ACTIONS(7894),
    [anon_sym_unless] = ACTIONS(7896),
    [anon_sym_while] = ACTIONS(7898),
    [anon_sym_until] = ACTIONS(7900),
    [anon_sym_for] = ACTIONS(7902),
    [anon_sym_case] = ACTIONS(7904),
    [anon_sym_begin] = ACTIONS(7906),
    [anon_sym_PLUS] = ACTIONS(7908),
    [anon_sym_defined_QMARK] = ACTIONS(7910),
    [anon_sym_not] = ACTIONS(7912),
    [anon_sym_BANG] = ACTIONS(7914),
    [anon_sym_TILDE] = ACTIONS(7914),
    [sym_constant] = ACTIONS(7916),
    [sym_identifier] = ACTIONS(7916),
    [sym_instance_variable] = ACTIONS(7918),
    [sym_class_variable] = ACTIONS(7918),
    [sym_global_variable] = ACTIONS(7918),
    [anon_sym_false] = ACTIONS(7920),
    [anon_sym_nil] = ACTIONS(7922),
    [anon_sym_self] = ACTIONS(7924),
    [anon_sym_super] = ACTIONS(7926),
    [anon_sym_true] = ACTIONS(7928),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(7928),
    [anon_sym_FALSE] = ACTIONS(7920),
    [anon_sym_NIL] = ACTIONS(7922),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(7930),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [8882] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(501),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(504),
    [sym_call] = STATE(504),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(11523),
    [sym__argument] = STATE(506),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(509),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(510),
    [sym__variable] = STATE(504),
    [sym_reserved_identifier] = STATE(511),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(512),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(11524),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(804),
    [sym__splat_star] = ACTIONS(806),
    [sym__unary_minus] = ACTIONS(808),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(818),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(824),
    [anon_sym_yield] = ACTIONS(826),
    [anon_sym_break] = ACTIONS(828),
    [anon_sym_next] = ACTIONS(830),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_RBRACK] = ACTIONS(14486),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(852),
    [anon_sym_defined_QMARK] = ACTIONS(854),
    [anon_sym_not] = ACTIONS(856),
    [anon_sym_BANG] = ACTIONS(858),
    [anon_sym_TILDE] = ACTIONS(858),
    [sym_constant] = ACTIONS(860),
    [sym_identifier] = ACTIONS(860),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [8883] = {
    [sym_constant] = ACTIONS(14488),
    [sym_identifier] = ACTIONS(14488),
    [sym_comment] = ACTIONS(110),
  },
  [8884] = {
    [sym_argument_list_with_parens] = STATE(11528),
    [sym__argument_list_with_parens] = STATE(11529),
    [sym_operator] = STATE(11528),
    [sym__argument_list_left_paren] = ACTIONS(14490),
    [anon_sym_PIPE] = ACTIONS(14492),
    [anon_sym_STAR] = ACTIONS(14494),
    [anon_sym_STAR_STAR] = ACTIONS(14492),
    [anon_sym_AMP] = ACTIONS(14492),
    [anon_sym_LT] = ACTIONS(14494),
    [anon_sym_DOT_DOT] = ACTIONS(14492),
    [anon_sym_LT_LT] = ACTIONS(14492),
    [anon_sym_GT_GT] = ACTIONS(14492),
    [anon_sym_EQ_EQ] = ACTIONS(14494),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(14492),
    [anon_sym_LT_EQ_GT] = ACTIONS(14492),
    [anon_sym_EQ_TILDE] = ACTIONS(14492),
    [anon_sym_BANG_TILDE] = ACTIONS(14492),
    [anon_sym_LT_EQ] = ACTIONS(14494),
    [anon_sym_GT] = ACTIONS(14494),
    [anon_sym_GT_EQ] = ACTIONS(14492),
    [anon_sym_CARET] = ACTIONS(14492),
    [anon_sym_PLUS] = ACTIONS(14494),
    [anon_sym_SLASH] = ACTIONS(14492),
    [anon_sym_PERCENT] = ACTIONS(14492),
    [anon_sym_BANG] = ACTIONS(14494),
    [anon_sym_TILDE] = ACTIONS(14492),
    [sym_constant] = ACTIONS(14496),
    [sym_identifier] = ACTIONS(14496),
    [anon_sym_DASH] = ACTIONS(14494),
    [anon_sym_PLUS_AT] = ACTIONS(14492),
    [anon_sym_DASH_AT] = ACTIONS(14492),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(14494),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(14492),
    [anon_sym_BQUOTE] = ACTIONS(14492),
    [sym_comment] = ACTIONS(110),
  },
  [8885] = {
    [sym__statements] = STATE(11530),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(11531),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(2128),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(2129),
    [sym_call] = STATE(2129),
    [sym_method_call] = STATE(338),
    [sym_hash_splat_argument] = STATE(197),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(2130),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2131),
    [sym__variable] = STATE(2129),
    [sym_reserved_identifier] = STATE(201),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(2132),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(5846),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym__hash_items] = STATE(5847),
    [sym_pair] = STATE(205),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(3268),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(8212),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_PIPE] = ACTIONS(3048),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(302),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(3272),
    [anon_sym_yield] = ACTIONS(3274),
    [anon_sym_break] = ACTIONS(3276),
    [anon_sym_next] = ACTIONS(3278),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(3280),
    [anon_sym_defined_QMARK] = ACTIONS(3282),
    [anon_sym_not] = ACTIONS(3284),
    [anon_sym_BANG] = ACTIONS(3286),
    [anon_sym_TILDE] = ACTIONS(3286),
    [sym_constant] = ACTIONS(3288),
    [sym_identifier] = ACTIONS(3288),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(3290),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(3292),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8886] = {
    [sym__statements] = STATE(11533),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(11534),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1981),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(11535),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(3076),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(3078),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(3080),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14498),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(3086),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8887] = {
    [sym_do_block] = STATE(11536),
    [sym_block] = STATE(11536),
    [sym__simple_heredoc_body] = ACTIONS(3346),
    [sym__heredoc_body_beginning] = ACTIONS(3346),
    [sym__heredoc_body_middle] = ACTIONS(3346),
    [sym__heredoc_body_end] = ACTIONS(3346),
    [sym__element_reference_left_bracket] = ACTIONS(3346),
    [sym__scope_double_colon] = ACTIONS(3346),
    [sym__binary_minus] = ACTIONS(3346),
    [sym__binary_star] = ACTIONS(3346),
    [anon_sym_LBRACE] = ACTIONS(11948),
    [anon_sym_DOT] = ACTIONS(3350),
    [anon_sym_COMMA] = ACTIONS(3346),
    [anon_sym_PIPE] = ACTIONS(3350),
    [anon_sym_STAR_STAR] = ACTIONS(3350),
    [anon_sym_AMP] = ACTIONS(3350),
    [anon_sym_EQ] = ACTIONS(3350),
    [anon_sym_LT] = ACTIONS(3350),
    [anon_sym_if] = ACTIONS(3346),
    [anon_sym_unless] = ACTIONS(3346),
    [anon_sym_while] = ACTIONS(3346),
    [anon_sym_until] = ACTIONS(3346),
    [anon_sym_rescue] = ACTIONS(3346),
    [anon_sym_do] = ACTIONS(14500),
    [anon_sym_AMP_DOT] = ACTIONS(3346),
    [anon_sym_PLUS_EQ] = ACTIONS(3346),
    [anon_sym_DASH_EQ] = ACTIONS(3346),
    [anon_sym_STAR_EQ] = ACTIONS(3346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3346),
    [anon_sym_SLASH_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3346),
    [anon_sym_AMP_EQ] = ACTIONS(3346),
    [anon_sym_PERCENT_EQ] = ACTIONS(3346),
    [anon_sym_GT_GT_EQ] = ACTIONS(3346),
    [anon_sym_LT_LT_EQ] = ACTIONS(3346),
    [anon_sym_CARET_EQ] = ACTIONS(3346),
    [anon_sym_QMARK] = ACTIONS(3346),
    [anon_sym_DOT_DOT] = ACTIONS(3350),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3346),
    [anon_sym_and] = ACTIONS(3346),
    [anon_sym_or] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE] = ACTIONS(3350),
    [anon_sym_AMP_AMP] = ACTIONS(3350),
    [anon_sym_LT_LT] = ACTIONS(3350),
    [anon_sym_GT_GT] = ACTIONS(3350),
    [anon_sym_EQ_EQ] = ACTIONS(3350),
    [anon_sym_BANG_EQ] = ACTIONS(3346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3346),
    [anon_sym_LT_EQ_GT] = ACTIONS(3346),
    [anon_sym_EQ_TILDE] = ACTIONS(3346),
    [anon_sym_BANG_TILDE] = ACTIONS(3346),
    [anon_sym_LT_EQ] = ACTIONS(3350),
    [anon_sym_GT] = ACTIONS(3350),
    [anon_sym_GT_EQ] = ACTIONS(3346),
    [anon_sym_CARET] = ACTIONS(3350),
    [anon_sym_PLUS] = ACTIONS(3350),
    [anon_sym_SLASH] = ACTIONS(3350),
    [anon_sym_PERCENT] = ACTIONS(3350),
    [sym_comment] = ACTIONS(256),
  },
  [8888] = {
    [sym__simple_heredoc_body] = ACTIONS(3346),
    [sym__heredoc_body_beginning] = ACTIONS(3346),
    [sym__heredoc_body_middle] = ACTIONS(3346),
    [sym__heredoc_body_end] = ACTIONS(3346),
    [sym__element_reference_left_bracket] = ACTIONS(3346),
    [sym__scope_double_colon] = ACTIONS(3346),
    [sym__binary_minus] = ACTIONS(3346),
    [sym__binary_star] = ACTIONS(3346),
    [anon_sym_LBRACE] = ACTIONS(3346),
    [anon_sym_DOT] = ACTIONS(3350),
    [anon_sym_COMMA] = ACTIONS(3346),
    [anon_sym_PIPE] = ACTIONS(3350),
    [anon_sym_STAR_STAR] = ACTIONS(3350),
    [anon_sym_AMP] = ACTIONS(3350),
    [anon_sym_EQ] = ACTIONS(3350),
    [anon_sym_LT] = ACTIONS(3350),
    [anon_sym_if] = ACTIONS(3346),
    [anon_sym_unless] = ACTIONS(3346),
    [anon_sym_while] = ACTIONS(3346),
    [anon_sym_until] = ACTIONS(3346),
    [anon_sym_rescue] = ACTIONS(3346),
    [anon_sym_do] = ACTIONS(3346),
    [anon_sym_AMP_DOT] = ACTIONS(3346),
    [anon_sym_PLUS_EQ] = ACTIONS(3346),
    [anon_sym_DASH_EQ] = ACTIONS(3346),
    [anon_sym_STAR_EQ] = ACTIONS(3346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3346),
    [anon_sym_SLASH_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3346),
    [anon_sym_AMP_EQ] = ACTIONS(3346),
    [anon_sym_PERCENT_EQ] = ACTIONS(3346),
    [anon_sym_GT_GT_EQ] = ACTIONS(3346),
    [anon_sym_LT_LT_EQ] = ACTIONS(3346),
    [anon_sym_CARET_EQ] = ACTIONS(3346),
    [anon_sym_QMARK] = ACTIONS(3346),
    [anon_sym_DOT_DOT] = ACTIONS(3350),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3346),
    [anon_sym_and] = ACTIONS(3346),
    [anon_sym_or] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE] = ACTIONS(3350),
    [anon_sym_AMP_AMP] = ACTIONS(3350),
    [anon_sym_LT_LT] = ACTIONS(3350),
    [anon_sym_GT_GT] = ACTIONS(3350),
    [anon_sym_EQ_EQ] = ACTIONS(3350),
    [anon_sym_BANG_EQ] = ACTIONS(3346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3346),
    [anon_sym_LT_EQ_GT] = ACTIONS(3346),
    [anon_sym_EQ_TILDE] = ACTIONS(3346),
    [anon_sym_BANG_TILDE] = ACTIONS(3346),
    [anon_sym_LT_EQ] = ACTIONS(3350),
    [anon_sym_GT] = ACTIONS(3350),
    [anon_sym_GT_EQ] = ACTIONS(3346),
    [anon_sym_CARET] = ACTIONS(3350),
    [anon_sym_PLUS] = ACTIONS(3350),
    [anon_sym_SLASH] = ACTIONS(3350),
    [anon_sym_PERCENT] = ACTIONS(3350),
    [sym_comment] = ACTIONS(256),
  },
  [8889] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(11537),
    [sym__primary] = STATE(5605),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(5606),
    [sym_scope_resolution] = STATE(5607),
    [sym_call] = STATE(5607),
    [sym_method_call] = STATE(5606),
    [sym_splat_argument] = STATE(8981),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_right_assignment_list] = STATE(8982),
    [sym__arg_or_splat_arg] = STATE(11538),
    [sym_left_assignment_list] = STATE(5608),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5609),
    [sym__variable] = STATE(5607),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(5598),
    [sym_true] = STATE(5606),
    [sym_false] = STATE(5606),
    [sym_self] = STATE(5598),
    [sym_nil] = STATE(5606),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(5610),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(7868),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__string_beginning] = ACTIONS(7870),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__splat_star] = ACTIONS(4008),
    [sym__unary_minus] = ACTIONS(7872),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(7874),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_COLON_COLON] = ACTIONS(7876),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(7878),
    [anon_sym_module] = ACTIONS(7880),
    [anon_sym_return] = ACTIONS(7882),
    [anon_sym_yield] = ACTIONS(7884),
    [anon_sym_break] = ACTIONS(7886),
    [anon_sym_next] = ACTIONS(7888),
    [anon_sym_redo] = ACTIONS(7890),
    [anon_sym_retry] = ACTIONS(7892),
    [anon_sym_if] = ACTIONS(7894),
    [anon_sym_unless] = ACTIONS(7896),
    [anon_sym_while] = ACTIONS(7898),
    [anon_sym_until] = ACTIONS(7900),
    [anon_sym_for] = ACTIONS(7902),
    [anon_sym_case] = ACTIONS(7904),
    [anon_sym_begin] = ACTIONS(7906),
    [anon_sym_PLUS] = ACTIONS(7908),
    [anon_sym_defined_QMARK] = ACTIONS(7910),
    [anon_sym_not] = ACTIONS(7912),
    [anon_sym_BANG] = ACTIONS(7914),
    [anon_sym_TILDE] = ACTIONS(7914),
    [sym_constant] = ACTIONS(7916),
    [sym_identifier] = ACTIONS(7916),
    [sym_instance_variable] = ACTIONS(7918),
    [sym_class_variable] = ACTIONS(7918),
    [sym_global_variable] = ACTIONS(7918),
    [anon_sym_false] = ACTIONS(7920),
    [anon_sym_nil] = ACTIONS(7922),
    [anon_sym_self] = ACTIONS(7924),
    [anon_sym_super] = ACTIONS(7926),
    [anon_sym_true] = ACTIONS(7928),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(7928),
    [anon_sym_FALSE] = ACTIONS(7920),
    [anon_sym_NIL] = ACTIONS(7922),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(7930),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [8890] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(11539),
    [sym__primary] = STATE(5605),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(5606),
    [sym_scope_resolution] = STATE(5607),
    [sym_call] = STATE(5607),
    [sym_method_call] = STATE(5606),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(5608),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5609),
    [sym__variable] = STATE(5607),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(5598),
    [sym_true] = STATE(5606),
    [sym_false] = STATE(5606),
    [sym_self] = STATE(5598),
    [sym_nil] = STATE(5606),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(5610),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(7868),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__string_beginning] = ACTIONS(7870),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__unary_minus] = ACTIONS(7872),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(7874),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_COLON_COLON] = ACTIONS(7876),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(7878),
    [anon_sym_module] = ACTIONS(7880),
    [anon_sym_return] = ACTIONS(7882),
    [anon_sym_yield] = ACTIONS(7884),
    [anon_sym_break] = ACTIONS(7886),
    [anon_sym_next] = ACTIONS(7888),
    [anon_sym_redo] = ACTIONS(7890),
    [anon_sym_retry] = ACTIONS(7892),
    [anon_sym_if] = ACTIONS(7894),
    [anon_sym_unless] = ACTIONS(7896),
    [anon_sym_while] = ACTIONS(7898),
    [anon_sym_until] = ACTIONS(7900),
    [anon_sym_for] = ACTIONS(7902),
    [anon_sym_case] = ACTIONS(7904),
    [anon_sym_begin] = ACTIONS(7906),
    [anon_sym_PLUS] = ACTIONS(7908),
    [anon_sym_defined_QMARK] = ACTIONS(7910),
    [anon_sym_not] = ACTIONS(7912),
    [anon_sym_BANG] = ACTIONS(7914),
    [anon_sym_TILDE] = ACTIONS(7914),
    [sym_constant] = ACTIONS(7916),
    [sym_identifier] = ACTIONS(7916),
    [sym_instance_variable] = ACTIONS(7918),
    [sym_class_variable] = ACTIONS(7918),
    [sym_global_variable] = ACTIONS(7918),
    [anon_sym_false] = ACTIONS(7920),
    [anon_sym_nil] = ACTIONS(7922),
    [anon_sym_self] = ACTIONS(7924),
    [anon_sym_super] = ACTIONS(7926),
    [anon_sym_true] = ACTIONS(7928),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(7928),
    [anon_sym_FALSE] = ACTIONS(7920),
    [anon_sym_NIL] = ACTIONS(7922),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(7930),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [8891] = {
    [sym__simple_heredoc_body] = ACTIONS(9456),
    [sym__heredoc_body_beginning] = ACTIONS(9456),
    [sym__heredoc_body_middle] = ACTIONS(9456),
    [sym__heredoc_body_end] = ACTIONS(9456),
    [sym__element_reference_left_bracket] = ACTIONS(9456),
    [sym__scope_double_colon] = ACTIONS(9456),
    [sym__binary_minus] = ACTIONS(9456),
    [sym__binary_star] = ACTIONS(9456),
    [anon_sym_DOT] = ACTIONS(9458),
    [anon_sym_COMMA] = ACTIONS(9456),
    [anon_sym_PIPE] = ACTIONS(9458),
    [anon_sym_STAR_STAR] = ACTIONS(9456),
    [anon_sym_AMP] = ACTIONS(9458),
    [anon_sym_LT] = ACTIONS(9458),
    [anon_sym_if] = ACTIONS(9456),
    [anon_sym_unless] = ACTIONS(9456),
    [anon_sym_while] = ACTIONS(9456),
    [anon_sym_until] = ACTIONS(9456),
    [anon_sym_rescue] = ACTIONS(9456),
    [anon_sym_EQ_GT] = ACTIONS(9456),
    [anon_sym_AMP_DOT] = ACTIONS(9456),
    [anon_sym_QMARK] = ACTIONS(9456),
    [anon_sym_DOT_DOT] = ACTIONS(9458),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9456),
    [anon_sym_and] = ACTIONS(9456),
    [anon_sym_or] = ACTIONS(9456),
    [anon_sym_PIPE_PIPE] = ACTIONS(9456),
    [anon_sym_AMP_AMP] = ACTIONS(9456),
    [anon_sym_LT_LT] = ACTIONS(9456),
    [anon_sym_GT_GT] = ACTIONS(9456),
    [anon_sym_EQ_EQ] = ACTIONS(9458),
    [anon_sym_BANG_EQ] = ACTIONS(9456),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9456),
    [anon_sym_LT_EQ_GT] = ACTIONS(9456),
    [anon_sym_EQ_TILDE] = ACTIONS(9456),
    [anon_sym_BANG_TILDE] = ACTIONS(9456),
    [anon_sym_LT_EQ] = ACTIONS(9458),
    [anon_sym_GT] = ACTIONS(9458),
    [anon_sym_GT_EQ] = ACTIONS(9456),
    [anon_sym_CARET] = ACTIONS(9456),
    [anon_sym_PLUS] = ACTIONS(9456),
    [anon_sym_SLASH] = ACTIONS(9456),
    [anon_sym_PERCENT] = ACTIONS(9456),
    [sym_comment] = ACTIONS(110),
  },
  [8892] = {
    [anon_sym_RPAREN] = ACTIONS(14502),
    [sym_comment] = ACTIONS(110),
  },
  [8893] = {
    [sym__simple_heredoc_body] = ACTIONS(4578),
    [sym__heredoc_body_beginning] = ACTIONS(4578),
    [sym__heredoc_body_middle] = ACTIONS(4578),
    [sym__heredoc_body_end] = ACTIONS(4578),
    [sym__element_reference_left_bracket] = ACTIONS(4578),
    [sym__scope_double_colon] = ACTIONS(4578),
    [sym__binary_minus] = ACTIONS(4578),
    [sym__binary_star] = ACTIONS(4578),
    [anon_sym_DOT] = ACTIONS(4580),
    [anon_sym_COMMA] = ACTIONS(4578),
    [anon_sym_PIPE] = ACTIONS(4580),
    [anon_sym_STAR_STAR] = ACTIONS(4578),
    [anon_sym_AMP] = ACTIONS(4580),
    [anon_sym_LT] = ACTIONS(4580),
    [anon_sym_if] = ACTIONS(4578),
    [anon_sym_unless] = ACTIONS(4578),
    [anon_sym_while] = ACTIONS(4578),
    [anon_sym_until] = ACTIONS(4578),
    [anon_sym_rescue] = ACTIONS(4578),
    [anon_sym_EQ_GT] = ACTIONS(4578),
    [anon_sym_AMP_DOT] = ACTIONS(4578),
    [anon_sym_QMARK] = ACTIONS(4578),
    [anon_sym_DOT_DOT] = ACTIONS(4580),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4578),
    [anon_sym_and] = ACTIONS(4578),
    [anon_sym_or] = ACTIONS(4578),
    [anon_sym_PIPE_PIPE] = ACTIONS(4578),
    [anon_sym_AMP_AMP] = ACTIONS(4578),
    [anon_sym_LT_LT] = ACTIONS(4578),
    [anon_sym_GT_GT] = ACTIONS(4578),
    [anon_sym_EQ_EQ] = ACTIONS(4580),
    [anon_sym_BANG_EQ] = ACTIONS(4578),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4578),
    [anon_sym_LT_EQ_GT] = ACTIONS(4578),
    [anon_sym_EQ_TILDE] = ACTIONS(4578),
    [anon_sym_BANG_TILDE] = ACTIONS(4578),
    [anon_sym_LT_EQ] = ACTIONS(4580),
    [anon_sym_GT] = ACTIONS(4580),
    [anon_sym_GT_EQ] = ACTIONS(4578),
    [anon_sym_CARET] = ACTIONS(4578),
    [anon_sym_PLUS] = ACTIONS(4578),
    [anon_sym_SLASH] = ACTIONS(4578),
    [anon_sym_PERCENT] = ACTIONS(4578),
    [sym_comment] = ACTIONS(110),
  },
  [8894] = {
    [anon_sym_RBRACE] = ACTIONS(14504),
    [sym_comment] = ACTIONS(110),
  },
  [8895] = {
    [sym__binary_minus] = ACTIONS(4614),
    [sym__binary_star] = ACTIONS(4616),
    [anon_sym_RPAREN] = ACTIONS(14506),
    [anon_sym_PIPE] = ACTIONS(4620),
    [anon_sym_STAR_STAR] = ACTIONS(4622),
    [anon_sym_AMP] = ACTIONS(4624),
    [anon_sym_LT] = ACTIONS(4626),
    [anon_sym_QMARK] = ACTIONS(4628),
    [anon_sym_DOT_DOT] = ACTIONS(4630),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4632),
    [anon_sym_and] = ACTIONS(4634),
    [anon_sym_or] = ACTIONS(4634),
    [anon_sym_PIPE_PIPE] = ACTIONS(4636),
    [anon_sym_AMP_AMP] = ACTIONS(4636),
    [anon_sym_LT_LT] = ACTIONS(4638),
    [anon_sym_GT_GT] = ACTIONS(4638),
    [anon_sym_EQ_EQ] = ACTIONS(4640),
    [anon_sym_BANG_EQ] = ACTIONS(4636),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4636),
    [anon_sym_LT_EQ_GT] = ACTIONS(4636),
    [anon_sym_EQ_TILDE] = ACTIONS(4636),
    [anon_sym_BANG_TILDE] = ACTIONS(4636),
    [anon_sym_LT_EQ] = ACTIONS(4626),
    [anon_sym_GT] = ACTIONS(4626),
    [anon_sym_GT_EQ] = ACTIONS(4642),
    [anon_sym_CARET] = ACTIONS(4644),
    [anon_sym_PLUS] = ACTIONS(4646),
    [anon_sym_SLASH] = ACTIONS(4622),
    [anon_sym_PERCENT] = ACTIONS(4622),
    [sym_comment] = ACTIONS(110),
  },
  [8896] = {
    [sym__method_rest] = STATE(11543),
    [sym_operator] = STATE(217),
    [sym__method_name] = STATE(5628),
    [sym_setter] = STATE(217),
    [sym_symbol] = STATE(217),
    [sym__simple_symbol] = ACTIONS(378),
    [sym__symbol_beginning] = ACTIONS(380),
    [anon_sym_PIPE] = ACTIONS(384),
    [anon_sym_STAR] = ACTIONS(386),
    [anon_sym_STAR_STAR] = ACTIONS(384),
    [anon_sym_AMP] = ACTIONS(384),
    [anon_sym_LT] = ACTIONS(386),
    [anon_sym_DOT_DOT] = ACTIONS(384),
    [anon_sym_LT_LT] = ACTIONS(384),
    [anon_sym_GT_GT] = ACTIONS(384),
    [anon_sym_EQ_EQ] = ACTIONS(386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(384),
    [anon_sym_LT_EQ_GT] = ACTIONS(384),
    [anon_sym_EQ_TILDE] = ACTIONS(384),
    [anon_sym_BANG_TILDE] = ACTIONS(384),
    [anon_sym_LT_EQ] = ACTIONS(386),
    [anon_sym_GT] = ACTIONS(386),
    [anon_sym_GT_EQ] = ACTIONS(384),
    [anon_sym_CARET] = ACTIONS(384),
    [anon_sym_PLUS] = ACTIONS(386),
    [anon_sym_SLASH] = ACTIONS(384),
    [anon_sym_PERCENT] = ACTIONS(384),
    [anon_sym_BANG] = ACTIONS(386),
    [anon_sym_TILDE] = ACTIONS(384),
    [sym_constant] = ACTIONS(4694),
    [sym_identifier] = ACTIONS(4696),
    [sym_instance_variable] = ACTIONS(4694),
    [sym_class_variable] = ACTIONS(4694),
    [sym_global_variable] = ACTIONS(4694),
    [anon_sym_DASH] = ACTIONS(386),
    [anon_sym_PLUS_AT] = ACTIONS(384),
    [anon_sym_DASH_AT] = ACTIONS(384),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(386),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(384),
    [anon_sym_BQUOTE] = ACTIONS(384),
    [sym_comment] = ACTIONS(110),
  },
  [8897] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(11545),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14508),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8898] = {
    [sym__simple_heredoc_body] = ACTIONS(4826),
    [sym__heredoc_body_beginning] = ACTIONS(4826),
    [sym__heredoc_body_middle] = ACTIONS(4826),
    [sym__heredoc_body_end] = ACTIONS(4826),
    [sym__element_reference_left_bracket] = ACTIONS(4826),
    [sym__scope_double_colon] = ACTIONS(4826),
    [sym__binary_minus] = ACTIONS(4826),
    [sym__binary_star] = ACTIONS(4826),
    [anon_sym_DOT] = ACTIONS(4828),
    [anon_sym_COMMA] = ACTIONS(4826),
    [anon_sym_PIPE] = ACTIONS(4828),
    [anon_sym_STAR_STAR] = ACTIONS(4826),
    [anon_sym_AMP] = ACTIONS(4828),
    [anon_sym_LT] = ACTIONS(4828),
    [anon_sym_if] = ACTIONS(4826),
    [anon_sym_unless] = ACTIONS(4826),
    [anon_sym_while] = ACTIONS(4826),
    [anon_sym_until] = ACTIONS(4826),
    [anon_sym_rescue] = ACTIONS(4826),
    [anon_sym_EQ_GT] = ACTIONS(4826),
    [anon_sym_AMP_DOT] = ACTIONS(4826),
    [anon_sym_QMARK] = ACTIONS(4826),
    [anon_sym_DOT_DOT] = ACTIONS(4828),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4826),
    [anon_sym_and] = ACTIONS(4826),
    [anon_sym_or] = ACTIONS(4826),
    [anon_sym_PIPE_PIPE] = ACTIONS(4826),
    [anon_sym_AMP_AMP] = ACTIONS(4826),
    [anon_sym_LT_LT] = ACTIONS(4826),
    [anon_sym_GT_GT] = ACTIONS(4826),
    [anon_sym_EQ_EQ] = ACTIONS(4828),
    [anon_sym_BANG_EQ] = ACTIONS(4826),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4826),
    [anon_sym_LT_EQ_GT] = ACTIONS(4826),
    [anon_sym_EQ_TILDE] = ACTIONS(4826),
    [anon_sym_BANG_TILDE] = ACTIONS(4826),
    [anon_sym_LT_EQ] = ACTIONS(4828),
    [anon_sym_GT] = ACTIONS(4828),
    [anon_sym_GT_EQ] = ACTIONS(4826),
    [anon_sym_CARET] = ACTIONS(4826),
    [anon_sym_PLUS] = ACTIONS(4826),
    [anon_sym_SLASH] = ACTIONS(4826),
    [anon_sym_PERCENT] = ACTIONS(4826),
    [sym_comment] = ACTIONS(110),
  },
  [8899] = {
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(11546),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym__line_break] = ACTIONS(692),
    [sym__binary_minus] = ACTIONS(5168),
    [sym__binary_star] = ACTIONS(5170),
    [anon_sym_PIPE] = ACTIONS(5172),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR_STAR] = ACTIONS(5174),
    [anon_sym_AMP] = ACTIONS(5176),
    [anon_sym_LT] = ACTIONS(5178),
    [anon_sym_QMARK] = ACTIONS(5180),
    [anon_sym_DOT_DOT] = ACTIONS(5182),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5184),
    [anon_sym_and] = ACTIONS(5186),
    [anon_sym_or] = ACTIONS(5186),
    [anon_sym_PIPE_PIPE] = ACTIONS(5188),
    [anon_sym_AMP_AMP] = ACTIONS(5188),
    [anon_sym_LT_LT] = ACTIONS(5190),
    [anon_sym_GT_GT] = ACTIONS(5190),
    [anon_sym_EQ_EQ] = ACTIONS(5192),
    [anon_sym_BANG_EQ] = ACTIONS(5188),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5188),
    [anon_sym_LT_EQ_GT] = ACTIONS(5188),
    [anon_sym_EQ_TILDE] = ACTIONS(5188),
    [anon_sym_BANG_TILDE] = ACTIONS(5188),
    [anon_sym_LT_EQ] = ACTIONS(5178),
    [anon_sym_GT] = ACTIONS(5178),
    [anon_sym_GT_EQ] = ACTIONS(5194),
    [anon_sym_CARET] = ACTIONS(5196),
    [anon_sym_PLUS] = ACTIONS(5198),
    [anon_sym_SLASH] = ACTIONS(5174),
    [anon_sym_PERCENT] = ACTIONS(5174),
    [sym_comment] = ACTIONS(110),
  },
  [8900] = {
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(11547),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym__line_break] = ACTIONS(692),
    [anon_sym_SEMI] = ACTIONS(692),
    [sym_comment] = ACTIONS(110),
  },
  [8901] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(11549),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14510),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8902] = {
    [sym__simple_heredoc_body] = ACTIONS(5290),
    [sym__heredoc_body_beginning] = ACTIONS(5290),
    [sym__heredoc_body_middle] = ACTIONS(5290),
    [sym__heredoc_body_end] = ACTIONS(5290),
    [sym__element_reference_left_bracket] = ACTIONS(5290),
    [sym__scope_double_colon] = ACTIONS(5290),
    [sym__binary_minus] = ACTIONS(5290),
    [sym__binary_star] = ACTIONS(5290),
    [anon_sym_DOT] = ACTIONS(5292),
    [anon_sym_COMMA] = ACTIONS(5290),
    [anon_sym_PIPE] = ACTIONS(5292),
    [anon_sym_STAR_STAR] = ACTIONS(5290),
    [anon_sym_AMP] = ACTIONS(5292),
    [anon_sym_LT] = ACTIONS(5292),
    [anon_sym_if] = ACTIONS(5290),
    [anon_sym_unless] = ACTIONS(5290),
    [anon_sym_while] = ACTIONS(5290),
    [anon_sym_until] = ACTIONS(5290),
    [anon_sym_rescue] = ACTIONS(5290),
    [anon_sym_EQ_GT] = ACTIONS(5290),
    [anon_sym_AMP_DOT] = ACTIONS(5290),
    [anon_sym_QMARK] = ACTIONS(5290),
    [anon_sym_DOT_DOT] = ACTIONS(5292),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5290),
    [anon_sym_and] = ACTIONS(5290),
    [anon_sym_or] = ACTIONS(5290),
    [anon_sym_PIPE_PIPE] = ACTIONS(5290),
    [anon_sym_AMP_AMP] = ACTIONS(5290),
    [anon_sym_LT_LT] = ACTIONS(5290),
    [anon_sym_GT_GT] = ACTIONS(5290),
    [anon_sym_EQ_EQ] = ACTIONS(5292),
    [anon_sym_BANG_EQ] = ACTIONS(5290),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5290),
    [anon_sym_LT_EQ_GT] = ACTIONS(5290),
    [anon_sym_EQ_TILDE] = ACTIONS(5290),
    [anon_sym_BANG_TILDE] = ACTIONS(5290),
    [anon_sym_LT_EQ] = ACTIONS(5292),
    [anon_sym_GT] = ACTIONS(5292),
    [anon_sym_GT_EQ] = ACTIONS(5290),
    [anon_sym_CARET] = ACTIONS(5290),
    [anon_sym_PLUS] = ACTIONS(5290),
    [anon_sym_SLASH] = ACTIONS(5290),
    [anon_sym_PERCENT] = ACTIONS(5290),
    [sym_comment] = ACTIONS(110),
  },
  [8903] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(11551),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14512),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8904] = {
    [sym__simple_heredoc_body] = ACTIONS(5290),
    [sym__heredoc_body_beginning] = ACTIONS(5290),
    [sym__heredoc_body_middle] = ACTIONS(5290),
    [sym__heredoc_body_end] = ACTIONS(5290),
    [sym__element_reference_left_bracket] = ACTIONS(5290),
    [sym__scope_double_colon] = ACTIONS(5290),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__binary_minus] = ACTIONS(5290),
    [sym__binary_star] = ACTIONS(5290),
    [anon_sym_DOT] = ACTIONS(5292),
    [anon_sym_COMMA] = ACTIONS(5290),
    [anon_sym_PIPE] = ACTIONS(5292),
    [anon_sym_STAR_STAR] = ACTIONS(5290),
    [anon_sym_AMP] = ACTIONS(5292),
    [anon_sym_LT] = ACTIONS(5292),
    [anon_sym_if] = ACTIONS(5290),
    [anon_sym_unless] = ACTIONS(5290),
    [anon_sym_while] = ACTIONS(5290),
    [anon_sym_until] = ACTIONS(5290),
    [anon_sym_rescue] = ACTIONS(5290),
    [anon_sym_EQ_GT] = ACTIONS(5290),
    [anon_sym_AMP_DOT] = ACTIONS(5290),
    [anon_sym_QMARK] = ACTIONS(5290),
    [anon_sym_DOT_DOT] = ACTIONS(5292),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5290),
    [anon_sym_and] = ACTIONS(5290),
    [anon_sym_or] = ACTIONS(5290),
    [anon_sym_PIPE_PIPE] = ACTIONS(5290),
    [anon_sym_AMP_AMP] = ACTIONS(5290),
    [anon_sym_LT_LT] = ACTIONS(5290),
    [anon_sym_GT_GT] = ACTIONS(5290),
    [anon_sym_EQ_EQ] = ACTIONS(5292),
    [anon_sym_BANG_EQ] = ACTIONS(5290),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5290),
    [anon_sym_LT_EQ_GT] = ACTIONS(5290),
    [anon_sym_EQ_TILDE] = ACTIONS(5290),
    [anon_sym_BANG_TILDE] = ACTIONS(5290),
    [anon_sym_LT_EQ] = ACTIONS(5292),
    [anon_sym_GT] = ACTIONS(5292),
    [anon_sym_GT_EQ] = ACTIONS(5290),
    [anon_sym_CARET] = ACTIONS(5290),
    [anon_sym_PLUS] = ACTIONS(5290),
    [anon_sym_SLASH] = ACTIONS(5290),
    [anon_sym_PERCENT] = ACTIONS(5290),
    [sym_comment] = ACTIONS(110),
  },
  [8905] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__heredoc_body_middle] = ACTIONS(5298),
    [sym__heredoc_body_end] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(7984),
    [sym__binary_star] = ACTIONS(7986),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(7988),
    [anon_sym_STAR_STAR] = ACTIONS(7990),
    [anon_sym_AMP] = ACTIONS(7992),
    [anon_sym_LT] = ACTIONS(7994),
    [anon_sym_if] = ACTIONS(5298),
    [anon_sym_unless] = ACTIONS(5298),
    [anon_sym_while] = ACTIONS(5298),
    [anon_sym_until] = ACTIONS(5298),
    [anon_sym_rescue] = ACTIONS(5298),
    [anon_sym_EQ_GT] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(7996),
    [anon_sym_DOT_DOT] = ACTIONS(7998),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8000),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(8002),
    [anon_sym_AMP_AMP] = ACTIONS(8002),
    [anon_sym_LT_LT] = ACTIONS(8004),
    [anon_sym_GT_GT] = ACTIONS(8004),
    [anon_sym_EQ_EQ] = ACTIONS(8006),
    [anon_sym_BANG_EQ] = ACTIONS(8002),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8002),
    [anon_sym_LT_EQ_GT] = ACTIONS(8002),
    [anon_sym_EQ_TILDE] = ACTIONS(8002),
    [anon_sym_BANG_TILDE] = ACTIONS(8002),
    [anon_sym_LT_EQ] = ACTIONS(7994),
    [anon_sym_GT] = ACTIONS(7994),
    [anon_sym_GT_EQ] = ACTIONS(8008),
    [anon_sym_CARET] = ACTIONS(8010),
    [anon_sym_PLUS] = ACTIONS(8012),
    [anon_sym_SLASH] = ACTIONS(7990),
    [anon_sym_PERCENT] = ACTIONS(7990),
    [sym_comment] = ACTIONS(110),
  },
  [8906] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__heredoc_body_middle] = ACTIONS(5338),
    [sym__heredoc_body_end] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(7984),
    [sym__binary_star] = ACTIONS(7986),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(7988),
    [anon_sym_STAR_STAR] = ACTIONS(7990),
    [anon_sym_AMP] = ACTIONS(7992),
    [anon_sym_LT] = ACTIONS(7994),
    [anon_sym_if] = ACTIONS(5338),
    [anon_sym_unless] = ACTIONS(5338),
    [anon_sym_while] = ACTIONS(5338),
    [anon_sym_until] = ACTIONS(5338),
    [anon_sym_rescue] = ACTIONS(5338),
    [anon_sym_EQ_GT] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(7996),
    [anon_sym_DOT_DOT] = ACTIONS(7998),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8000),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(8002),
    [anon_sym_AMP_AMP] = ACTIONS(8002),
    [anon_sym_LT_LT] = ACTIONS(8004),
    [anon_sym_GT_GT] = ACTIONS(8004),
    [anon_sym_EQ_EQ] = ACTIONS(8006),
    [anon_sym_BANG_EQ] = ACTIONS(8002),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8002),
    [anon_sym_LT_EQ_GT] = ACTIONS(8002),
    [anon_sym_EQ_TILDE] = ACTIONS(8002),
    [anon_sym_BANG_TILDE] = ACTIONS(8002),
    [anon_sym_LT_EQ] = ACTIONS(7994),
    [anon_sym_GT] = ACTIONS(7994),
    [anon_sym_GT_EQ] = ACTIONS(8008),
    [anon_sym_CARET] = ACTIONS(8010),
    [anon_sym_PLUS] = ACTIONS(8012),
    [anon_sym_SLASH] = ACTIONS(7990),
    [anon_sym_PERCENT] = ACTIONS(7990),
    [sym_comment] = ACTIONS(110),
  },
  [8907] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__heredoc_body_middle] = ACTIONS(4284),
    [sym__heredoc_body_end] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(7984),
    [sym__binary_star] = ACTIONS(7986),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(7988),
    [anon_sym_STAR_STAR] = ACTIONS(7990),
    [anon_sym_AMP] = ACTIONS(7992),
    [anon_sym_LT] = ACTIONS(7994),
    [anon_sym_if] = ACTIONS(4284),
    [anon_sym_unless] = ACTIONS(4284),
    [anon_sym_while] = ACTIONS(4284),
    [anon_sym_until] = ACTIONS(4284),
    [anon_sym_rescue] = ACTIONS(4284),
    [anon_sym_EQ_GT] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(7996),
    [anon_sym_DOT_DOT] = ACTIONS(7998),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8000),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(8002),
    [anon_sym_AMP_AMP] = ACTIONS(8002),
    [anon_sym_LT_LT] = ACTIONS(8004),
    [anon_sym_GT_GT] = ACTIONS(8004),
    [anon_sym_EQ_EQ] = ACTIONS(8006),
    [anon_sym_BANG_EQ] = ACTIONS(8002),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8002),
    [anon_sym_LT_EQ_GT] = ACTIONS(8002),
    [anon_sym_EQ_TILDE] = ACTIONS(8002),
    [anon_sym_BANG_TILDE] = ACTIONS(8002),
    [anon_sym_LT_EQ] = ACTIONS(7994),
    [anon_sym_GT] = ACTIONS(7994),
    [anon_sym_GT_EQ] = ACTIONS(8008),
    [anon_sym_CARET] = ACTIONS(8010),
    [anon_sym_PLUS] = ACTIONS(8012),
    [anon_sym_SLASH] = ACTIONS(7990),
    [anon_sym_PERCENT] = ACTIONS(7990),
    [sym_comment] = ACTIONS(110),
  },
  [8908] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(11552),
    [sym__primary] = STATE(2763),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2765),
    [sym_call] = STATE(2765),
    [sym_method_call] = STATE(2764),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(2771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2772),
    [sym__variable] = STATE(2765),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(5610),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(7868),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__string_beginning] = ACTIONS(7870),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__unary_minus] = ACTIONS(4012),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(7874),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(7878),
    [anon_sym_module] = ACTIONS(7880),
    [anon_sym_return] = ACTIONS(7934),
    [anon_sym_yield] = ACTIONS(7936),
    [anon_sym_break] = ACTIONS(7938),
    [anon_sym_next] = ACTIONS(7940),
    [anon_sym_redo] = ACTIONS(7890),
    [anon_sym_retry] = ACTIONS(7892),
    [anon_sym_if] = ACTIONS(7894),
    [anon_sym_unless] = ACTIONS(7896),
    [anon_sym_while] = ACTIONS(7898),
    [anon_sym_until] = ACTIONS(7900),
    [anon_sym_for] = ACTIONS(7902),
    [anon_sym_case] = ACTIONS(7904),
    [anon_sym_begin] = ACTIONS(7906),
    [anon_sym_PLUS] = ACTIONS(7942),
    [anon_sym_defined_QMARK] = ACTIONS(4044),
    [anon_sym_not] = ACTIONS(7944),
    [anon_sym_BANG] = ACTIONS(4050),
    [anon_sym_TILDE] = ACTIONS(4050),
    [sym_constant] = ACTIONS(7946),
    [sym_identifier] = ACTIONS(7946),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_false] = ACTIONS(4074),
    [anon_sym_nil] = ACTIONS(4076),
    [anon_sym_self] = ACTIONS(7948),
    [anon_sym_super] = ACTIONS(7950),
    [anon_sym_true] = ACTIONS(4072),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(7930),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [8909] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(5642),
    [sym__primary] = STATE(2763),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2765),
    [sym_call] = STATE(2765),
    [sym_method_call] = STATE(2764),
    [sym__argument] = STATE(8976),
    [sym_splat_argument] = STATE(2769),
    [sym_hash_splat_argument] = STATE(2769),
    [sym_block_argument] = STATE(2769),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(2771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2772),
    [sym__variable] = STATE(2765),
    [sym_reserved_identifier] = STATE(5645),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(5646),
    [sym_subshell] = STATE(2719),
    [sym_heredoc_end] = STATE(11553),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_pair] = STATE(2769),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(3984),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(3994),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__block_ampersand] = ACTIONS(7966),
    [sym__splat_star] = ACTIONS(7968),
    [sym__unary_minus] = ACTIONS(4012),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(4016),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(14514),
    [anon_sym_class] = ACTIONS(4022),
    [anon_sym_module] = ACTIONS(4024),
    [anon_sym_return] = ACTIONS(4026),
    [anon_sym_yield] = ACTIONS(4028),
    [anon_sym_break] = ACTIONS(4030),
    [anon_sym_next] = ACTIONS(4032),
    [anon_sym_redo] = ACTIONS(4034),
    [anon_sym_retry] = ACTIONS(4036),
    [anon_sym_if] = ACTIONS(11882),
    [anon_sym_unless] = ACTIONS(11884),
    [anon_sym_while] = ACTIONS(11886),
    [anon_sym_until] = ACTIONS(11888),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(4038),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(4040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(4042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(7942),
    [anon_sym_defined_QMARK] = ACTIONS(4044),
    [anon_sym_not] = ACTIONS(4046),
    [anon_sym_BANG] = ACTIONS(4050),
    [anon_sym_TILDE] = ACTIONS(4050),
    [sym_constant] = ACTIONS(7970),
    [sym_identifier] = ACTIONS(7970),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(4056),
    [anon_sym_nil] = ACTIONS(4058),
    [anon_sym_self] = ACTIONS(4060),
    [anon_sym_super] = ACTIONS(4062),
    [anon_sym_true] = ACTIONS(4064),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(4080),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [8910] = {
    [sym_heredoc_end] = STATE(5705),
    [aux_sym_argument_list_repeat2] = STATE(8979),
    [sym__simple_heredoc_body] = ACTIONS(8034),
    [sym__heredoc_body_beginning] = ACTIONS(8036),
    [sym__heredoc_body_middle] = ACTIONS(5472),
    [sym__heredoc_body_end] = ACTIONS(5472),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(14516),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_STAR_STAR] = ACTIONS(5472),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_if] = ACTIONS(5472),
    [anon_sym_unless] = ACTIONS(5472),
    [anon_sym_while] = ACTIONS(5472),
    [anon_sym_until] = ACTIONS(5472),
    [anon_sym_rescue] = ACTIONS(5472),
    [anon_sym_EQ_GT] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5472),
    [anon_sym_AMP_AMP] = ACTIONS(5472),
    [anon_sym_LT_LT] = ACTIONS(5472),
    [anon_sym_GT_GT] = ACTIONS(5472),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5472),
    [anon_sym_PLUS] = ACTIONS(5472),
    [anon_sym_SLASH] = ACTIONS(5472),
    [anon_sym_PERCENT] = ACTIONS(5472),
    [sym_comment] = ACTIONS(110),
  },
  [8911] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(11555),
    [sym__primary] = STATE(2763),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2765),
    [sym_call] = STATE(2765),
    [sym_method_call] = STATE(2764),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(2771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2772),
    [sym__variable] = STATE(2765),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(5610),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(7868),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__string_beginning] = ACTIONS(7870),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__unary_minus] = ACTIONS(4012),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(7874),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(7878),
    [anon_sym_module] = ACTIONS(7880),
    [anon_sym_return] = ACTIONS(7934),
    [anon_sym_yield] = ACTIONS(7936),
    [anon_sym_break] = ACTIONS(7938),
    [anon_sym_next] = ACTIONS(7940),
    [anon_sym_redo] = ACTIONS(7890),
    [anon_sym_retry] = ACTIONS(7892),
    [anon_sym_if] = ACTIONS(7894),
    [anon_sym_unless] = ACTIONS(7896),
    [anon_sym_while] = ACTIONS(7898),
    [anon_sym_until] = ACTIONS(7900),
    [anon_sym_for] = ACTIONS(7902),
    [anon_sym_case] = ACTIONS(7904),
    [anon_sym_begin] = ACTIONS(7906),
    [anon_sym_PLUS] = ACTIONS(7942),
    [anon_sym_defined_QMARK] = ACTIONS(4044),
    [anon_sym_not] = ACTIONS(7944),
    [anon_sym_BANG] = ACTIONS(4050),
    [anon_sym_TILDE] = ACTIONS(4050),
    [sym_constant] = ACTIONS(7946),
    [sym_identifier] = ACTIONS(7946),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_false] = ACTIONS(4074),
    [anon_sym_nil] = ACTIONS(4076),
    [anon_sym_self] = ACTIONS(7948),
    [anon_sym_super] = ACTIONS(7950),
    [anon_sym_true] = ACTIONS(4072),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(7930),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [8912] = {
    [sym__statements] = STATE(11557),
    [sym__top_level_statement] = STATE(3863),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(3864),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_elsif] = STATE(3865),
    [sym_else] = STATE(3865),
    [sym__if_tail] = STATE(11558),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3867),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3869),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3870),
    [sym__variable] = STATE(3868),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(3849),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(11559),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(5566),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(5568),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(5570),
    [sym__unary_minus] = ACTIONS(5572),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14518),
    [anon_sym_SEMI] = ACTIONS(5576),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_elsif] = ACTIONS(5586),
    [anon_sym_else] = ACTIONS(5588),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5590),
    [anon_sym_defined_QMARK] = ACTIONS(5592),
    [anon_sym_not] = ACTIONS(5594),
    [anon_sym_BANG] = ACTIONS(5596),
    [anon_sym_TILDE] = ACTIONS(5596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8913] = {
    [sym__statements] = STATE(11561),
    [sym__top_level_statement] = STATE(3946),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(3947),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(11562),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3949),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3950),
    [sym_call] = STATE(3950),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3951),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3952),
    [sym__variable] = STATE(3950),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5682),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14520),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5686),
    [anon_sym_yield] = ACTIONS(5688),
    [anon_sym_break] = ACTIONS(5690),
    [anon_sym_next] = ACTIONS(5692),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(5588),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5694),
    [anon_sym_defined_QMARK] = ACTIONS(5696),
    [anon_sym_not] = ACTIONS(5698),
    [anon_sym_BANG] = ACTIONS(5700),
    [anon_sym_TILDE] = ACTIONS(5700),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8914] = {
    [sym__statements] = STATE(11564),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14522),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8915] = {
    [sym__statements] = STATE(11566),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14524),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8916] = {
    [sym__do] = STATE(11567),
    [sym_heredoc_end] = STATE(1550),
    [sym__terminator] = STATE(1557),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym__line_break] = ACTIONS(2446),
    [anon_sym_SEMI] = ACTIONS(2446),
    [anon_sym_do] = ACTIONS(2460),
    [sym_comment] = ACTIONS(110),
  },
  [8917] = {
    [sym__simple_heredoc_body] = ACTIONS(6154),
    [sym__heredoc_body_beginning] = ACTIONS(6154),
    [sym__heredoc_body_middle] = ACTIONS(6154),
    [sym__heredoc_body_end] = ACTIONS(6154),
    [sym__element_reference_left_bracket] = ACTIONS(6154),
    [sym__scope_double_colon] = ACTIONS(6154),
    [sym__binary_minus] = ACTIONS(6154),
    [sym__binary_star] = ACTIONS(6154),
    [anon_sym_DOT] = ACTIONS(6156),
    [anon_sym_COMMA] = ACTIONS(6154),
    [anon_sym_PIPE] = ACTIONS(6156),
    [anon_sym_STAR_STAR] = ACTIONS(6154),
    [anon_sym_AMP] = ACTIONS(6156),
    [anon_sym_LT] = ACTIONS(6156),
    [anon_sym_if] = ACTIONS(6154),
    [anon_sym_unless] = ACTIONS(6154),
    [anon_sym_while] = ACTIONS(6154),
    [anon_sym_until] = ACTIONS(6154),
    [anon_sym_rescue] = ACTIONS(6154),
    [anon_sym_EQ_GT] = ACTIONS(6154),
    [anon_sym_AMP_DOT] = ACTIONS(6154),
    [anon_sym_QMARK] = ACTIONS(6154),
    [anon_sym_DOT_DOT] = ACTIONS(6156),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6154),
    [anon_sym_and] = ACTIONS(6154),
    [anon_sym_or] = ACTIONS(6154),
    [anon_sym_PIPE_PIPE] = ACTIONS(6154),
    [anon_sym_AMP_AMP] = ACTIONS(6154),
    [anon_sym_LT_LT] = ACTIONS(6154),
    [anon_sym_GT_GT] = ACTIONS(6154),
    [anon_sym_EQ_EQ] = ACTIONS(6156),
    [anon_sym_BANG_EQ] = ACTIONS(6154),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6154),
    [anon_sym_LT_EQ_GT] = ACTIONS(6154),
    [anon_sym_EQ_TILDE] = ACTIONS(6154),
    [anon_sym_BANG_TILDE] = ACTIONS(6154),
    [anon_sym_LT_EQ] = ACTIONS(6156),
    [anon_sym_GT] = ACTIONS(6156),
    [anon_sym_GT_EQ] = ACTIONS(6154),
    [anon_sym_CARET] = ACTIONS(6154),
    [anon_sym_PLUS] = ACTIONS(6154),
    [anon_sym_SLASH] = ACTIONS(6154),
    [anon_sym_PERCENT] = ACTIONS(6154),
    [sym_comment] = ACTIONS(110),
  },
  [8918] = {
    [anon_sym_end] = ACTIONS(14526),
    [sym_comment] = ACTIONS(110),
  },
  [8919] = {
    [sym_when] = STATE(11569),
    [sym_heredoc_end] = STATE(387),
    [sym__terminator] = STATE(1688),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym__line_break] = ACTIONS(666),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_when] = ACTIONS(2612),
    [sym_comment] = ACTIONS(110),
  },
  [8920] = {
    [sym__simple_heredoc_body] = ACTIONS(6600),
    [sym__heredoc_body_beginning] = ACTIONS(6600),
    [sym__heredoc_body_middle] = ACTIONS(6600),
    [sym__heredoc_body_end] = ACTIONS(6600),
    [sym__element_reference_left_bracket] = ACTIONS(6600),
    [sym__scope_double_colon] = ACTIONS(6600),
    [sym__binary_minus] = ACTIONS(6600),
    [sym__binary_star] = ACTIONS(6600),
    [anon_sym_DOT] = ACTIONS(6602),
    [anon_sym_COMMA] = ACTIONS(6600),
    [anon_sym_PIPE] = ACTIONS(6602),
    [anon_sym_STAR_STAR] = ACTIONS(6600),
    [anon_sym_AMP] = ACTIONS(6602),
    [anon_sym_LT] = ACTIONS(6602),
    [anon_sym_if] = ACTIONS(6600),
    [anon_sym_unless] = ACTIONS(6600),
    [anon_sym_while] = ACTIONS(6600),
    [anon_sym_until] = ACTIONS(6600),
    [anon_sym_rescue] = ACTIONS(6600),
    [anon_sym_EQ_GT] = ACTIONS(6600),
    [anon_sym_AMP_DOT] = ACTIONS(6600),
    [anon_sym_QMARK] = ACTIONS(6600),
    [anon_sym_DOT_DOT] = ACTIONS(6602),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6600),
    [anon_sym_and] = ACTIONS(6600),
    [anon_sym_or] = ACTIONS(6600),
    [anon_sym_PIPE_PIPE] = ACTIONS(6600),
    [anon_sym_AMP_AMP] = ACTIONS(6600),
    [anon_sym_LT_LT] = ACTIONS(6600),
    [anon_sym_GT_GT] = ACTIONS(6600),
    [anon_sym_EQ_EQ] = ACTIONS(6602),
    [anon_sym_BANG_EQ] = ACTIONS(6600),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6600),
    [anon_sym_LT_EQ_GT] = ACTIONS(6600),
    [anon_sym_EQ_TILDE] = ACTIONS(6600),
    [anon_sym_BANG_TILDE] = ACTIONS(6600),
    [anon_sym_LT_EQ] = ACTIONS(6602),
    [anon_sym_GT] = ACTIONS(6602),
    [anon_sym_GT_EQ] = ACTIONS(6600),
    [anon_sym_CARET] = ACTIONS(6600),
    [anon_sym_PLUS] = ACTIONS(6600),
    [anon_sym_SLASH] = ACTIONS(6600),
    [anon_sym_PERCENT] = ACTIONS(6600),
    [sym_comment] = ACTIONS(110),
  },
  [8921] = {
    [anon_sym_end] = ACTIONS(14528),
    [sym_comment] = ACTIONS(110),
  },
  [8922] = {
    [sym__simple_heredoc_body] = ACTIONS(8568),
    [sym__heredoc_body_beginning] = ACTIONS(8568),
    [sym__heredoc_body_middle] = ACTIONS(8568),
    [sym__heredoc_body_end] = ACTIONS(8568),
    [sym__element_reference_left_bracket] = ACTIONS(8568),
    [sym__scope_double_colon] = ACTIONS(8568),
    [sym__binary_minus] = ACTIONS(11774),
    [sym__binary_star] = ACTIONS(11776),
    [anon_sym_DOT] = ACTIONS(9468),
    [anon_sym_COMMA] = ACTIONS(8568),
    [anon_sym_PIPE] = ACTIONS(11778),
    [anon_sym_STAR_STAR] = ACTIONS(11780),
    [anon_sym_AMP] = ACTIONS(11782),
    [anon_sym_LT] = ACTIONS(11784),
    [anon_sym_if] = ACTIONS(8568),
    [anon_sym_unless] = ACTIONS(8568),
    [anon_sym_while] = ACTIONS(8568),
    [anon_sym_until] = ACTIONS(8568),
    [anon_sym_rescue] = ACTIONS(8568),
    [anon_sym_AMP_DOT] = ACTIONS(8568),
    [anon_sym_QMARK] = ACTIONS(11786),
    [anon_sym_DOT_DOT] = ACTIONS(11788),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11790),
    [anon_sym_and] = ACTIONS(8568),
    [anon_sym_or] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE] = ACTIONS(11792),
    [anon_sym_AMP_AMP] = ACTIONS(11792),
    [anon_sym_LT_LT] = ACTIONS(11794),
    [anon_sym_GT_GT] = ACTIONS(11794),
    [anon_sym_EQ_EQ] = ACTIONS(11796),
    [anon_sym_BANG_EQ] = ACTIONS(11792),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11792),
    [anon_sym_LT_EQ_GT] = ACTIONS(11792),
    [anon_sym_EQ_TILDE] = ACTIONS(11792),
    [anon_sym_BANG_TILDE] = ACTIONS(11792),
    [anon_sym_LT_EQ] = ACTIONS(11784),
    [anon_sym_GT] = ACTIONS(11784),
    [anon_sym_GT_EQ] = ACTIONS(11798),
    [anon_sym_CARET] = ACTIONS(11800),
    [anon_sym_PLUS] = ACTIONS(11802),
    [anon_sym_SLASH] = ACTIONS(11780),
    [anon_sym_PERCENT] = ACTIONS(11780),
    [sym_comment] = ACTIONS(110),
  },
  [8923] = {
    [anon_sym_RBRACK] = ACTIONS(14482),
    [sym_comment] = ACTIONS(110),
  },
  [8924] = {
    [sym__simple_heredoc_body] = ACTIONS(6902),
    [sym__heredoc_body_beginning] = ACTIONS(6902),
    [sym__heredoc_body_middle] = ACTIONS(6902),
    [sym__heredoc_body_end] = ACTIONS(6902),
    [sym__element_reference_left_bracket] = ACTIONS(6902),
    [sym__scope_double_colon] = ACTIONS(6902),
    [sym__binary_minus] = ACTIONS(6902),
    [sym__binary_star] = ACTIONS(6902),
    [anon_sym_DOT] = ACTIONS(6904),
    [anon_sym_COMMA] = ACTIONS(6902),
    [anon_sym_PIPE] = ACTIONS(6904),
    [anon_sym_STAR_STAR] = ACTIONS(6902),
    [anon_sym_AMP] = ACTIONS(6904),
    [anon_sym_LT] = ACTIONS(6904),
    [anon_sym_if] = ACTIONS(6902),
    [anon_sym_unless] = ACTIONS(6902),
    [anon_sym_while] = ACTIONS(6902),
    [anon_sym_until] = ACTIONS(6902),
    [anon_sym_rescue] = ACTIONS(6902),
    [anon_sym_EQ_GT] = ACTIONS(6902),
    [anon_sym_AMP_DOT] = ACTIONS(6902),
    [anon_sym_QMARK] = ACTIONS(6902),
    [anon_sym_DOT_DOT] = ACTIONS(6904),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6902),
    [anon_sym_and] = ACTIONS(6902),
    [anon_sym_or] = ACTIONS(6902),
    [anon_sym_PIPE_PIPE] = ACTIONS(6902),
    [anon_sym_AMP_AMP] = ACTIONS(6902),
    [anon_sym_LT_LT] = ACTIONS(6902),
    [anon_sym_GT_GT] = ACTIONS(6902),
    [anon_sym_EQ_EQ] = ACTIONS(6904),
    [anon_sym_BANG_EQ] = ACTIONS(6902),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6902),
    [anon_sym_LT_EQ_GT] = ACTIONS(6902),
    [anon_sym_EQ_TILDE] = ACTIONS(6902),
    [anon_sym_BANG_TILDE] = ACTIONS(6902),
    [anon_sym_LT_EQ] = ACTIONS(6904),
    [anon_sym_GT] = ACTIONS(6904),
    [anon_sym_GT_EQ] = ACTIONS(6902),
    [anon_sym_CARET] = ACTIONS(6902),
    [anon_sym_PLUS] = ACTIONS(6902),
    [anon_sym_SLASH] = ACTIONS(6902),
    [anon_sym_PERCENT] = ACTIONS(6902),
    [sym_comment] = ACTIONS(110),
  },
  [8925] = {
    [anon_sym_RBRACE] = ACTIONS(14530),
    [sym_comment] = ACTIONS(110),
  },
  [8926] = {
    [sym__statements] = STATE(11572),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(841),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(14530),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8927] = {
    [sym__simple_heredoc_body] = ACTIONS(6942),
    [sym__heredoc_body_beginning] = ACTIONS(6942),
    [sym__heredoc_body_middle] = ACTIONS(6942),
    [sym__heredoc_body_end] = ACTIONS(6942),
    [sym__element_reference_left_bracket] = ACTIONS(6942),
    [sym__scope_double_colon] = ACTIONS(6942),
    [sym__binary_minus] = ACTIONS(6942),
    [sym__binary_star] = ACTIONS(6942),
    [anon_sym_DOT] = ACTIONS(6944),
    [anon_sym_COMMA] = ACTIONS(6942),
    [anon_sym_PIPE] = ACTIONS(6944),
    [anon_sym_STAR_STAR] = ACTIONS(6942),
    [anon_sym_AMP] = ACTIONS(6944),
    [anon_sym_LT] = ACTIONS(6944),
    [anon_sym_if] = ACTIONS(6942),
    [anon_sym_unless] = ACTIONS(6942),
    [anon_sym_while] = ACTIONS(6942),
    [anon_sym_until] = ACTIONS(6942),
    [anon_sym_rescue] = ACTIONS(6942),
    [anon_sym_EQ_GT] = ACTIONS(6942),
    [anon_sym_AMP_DOT] = ACTIONS(6942),
    [anon_sym_QMARK] = ACTIONS(6942),
    [anon_sym_DOT_DOT] = ACTIONS(6944),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6942),
    [anon_sym_and] = ACTIONS(6942),
    [anon_sym_or] = ACTIONS(6942),
    [anon_sym_PIPE_PIPE] = ACTIONS(6942),
    [anon_sym_AMP_AMP] = ACTIONS(6942),
    [anon_sym_LT_LT] = ACTIONS(6942),
    [anon_sym_GT_GT] = ACTIONS(6942),
    [anon_sym_EQ_EQ] = ACTIONS(6944),
    [anon_sym_BANG_EQ] = ACTIONS(6942),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6942),
    [anon_sym_LT_EQ_GT] = ACTIONS(6942),
    [anon_sym_EQ_TILDE] = ACTIONS(6942),
    [anon_sym_BANG_TILDE] = ACTIONS(6942),
    [anon_sym_LT_EQ] = ACTIONS(6944),
    [anon_sym_GT] = ACTIONS(6944),
    [anon_sym_GT_EQ] = ACTIONS(6942),
    [anon_sym_CARET] = ACTIONS(6942),
    [anon_sym_PLUS] = ACTIONS(6942),
    [anon_sym_SLASH] = ACTIONS(6942),
    [anon_sym_PERCENT] = ACTIONS(6942),
    [sym_comment] = ACTIONS(110),
  },
  [8928] = {
    [anon_sym_end] = ACTIONS(14532),
    [sym_comment] = ACTIONS(110),
  },
  [8929] = {
    [sym__statements] = STATE(11574),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(11575),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14534),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8930] = {
    [sym__statements] = STATE(11574),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(11576),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(11575),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14534),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8931] = {
    [sym__simple_heredoc_body] = ACTIONS(6980),
    [sym__heredoc_body_beginning] = ACTIONS(6980),
    [sym__heredoc_body_middle] = ACTIONS(6980),
    [sym__heredoc_body_end] = ACTIONS(6980),
    [sym__element_reference_left_bracket] = ACTIONS(6980),
    [sym__scope_double_colon] = ACTIONS(6980),
    [sym__binary_minus] = ACTIONS(6980),
    [sym__binary_star] = ACTIONS(6980),
    [anon_sym_DOT] = ACTIONS(6982),
    [anon_sym_COMMA] = ACTIONS(6980),
    [anon_sym_PIPE] = ACTIONS(6982),
    [anon_sym_STAR_STAR] = ACTIONS(6980),
    [anon_sym_AMP] = ACTIONS(6982),
    [anon_sym_LT] = ACTIONS(6982),
    [anon_sym_if] = ACTIONS(6980),
    [anon_sym_unless] = ACTIONS(6980),
    [anon_sym_while] = ACTIONS(6980),
    [anon_sym_until] = ACTIONS(6980),
    [anon_sym_rescue] = ACTIONS(6980),
    [anon_sym_EQ_GT] = ACTIONS(6980),
    [anon_sym_AMP_DOT] = ACTIONS(6980),
    [anon_sym_QMARK] = ACTIONS(6980),
    [anon_sym_DOT_DOT] = ACTIONS(6982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6980),
    [anon_sym_and] = ACTIONS(6980),
    [anon_sym_or] = ACTIONS(6980),
    [anon_sym_PIPE_PIPE] = ACTIONS(6980),
    [anon_sym_AMP_AMP] = ACTIONS(6980),
    [anon_sym_LT_LT] = ACTIONS(6980),
    [anon_sym_GT_GT] = ACTIONS(6980),
    [anon_sym_EQ_EQ] = ACTIONS(6982),
    [anon_sym_BANG_EQ] = ACTIONS(6980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6980),
    [anon_sym_LT_EQ_GT] = ACTIONS(6980),
    [anon_sym_EQ_TILDE] = ACTIONS(6980),
    [anon_sym_BANG_TILDE] = ACTIONS(6980),
    [anon_sym_LT_EQ] = ACTIONS(6982),
    [anon_sym_GT] = ACTIONS(6982),
    [anon_sym_GT_EQ] = ACTIONS(6980),
    [anon_sym_CARET] = ACTIONS(6980),
    [anon_sym_PLUS] = ACTIONS(6980),
    [anon_sym_SLASH] = ACTIONS(6980),
    [anon_sym_PERCENT] = ACTIONS(6980),
    [sym_comment] = ACTIONS(110),
  },
  [8932] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__heredoc_body_middle] = ACTIONS(7008),
    [sym__heredoc_body_end] = ACTIONS(7008),
    [sym__element_reference_left_bracket] = ACTIONS(7008),
    [sym__scope_double_colon] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(7986),
    [anon_sym_DOT] = ACTIONS(7010),
    [anon_sym_COMMA] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_STAR_STAR] = ACTIONS(7990),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_if] = ACTIONS(7008),
    [anon_sym_unless] = ACTIONS(7008),
    [anon_sym_while] = ACTIONS(7008),
    [anon_sym_until] = ACTIONS(7008),
    [anon_sym_rescue] = ACTIONS(7008),
    [anon_sym_EQ_GT] = ACTIONS(7008),
    [anon_sym_AMP_DOT] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7008),
    [anon_sym_AMP_AMP] = ACTIONS(7008),
    [anon_sym_LT_LT] = ACTIONS(7008),
    [anon_sym_GT_GT] = ACTIONS(7008),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7008),
    [anon_sym_PLUS] = ACTIONS(7008),
    [anon_sym_SLASH] = ACTIONS(7990),
    [anon_sym_PERCENT] = ACTIONS(7990),
    [sym_comment] = ACTIONS(110),
  },
  [8933] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__heredoc_body_middle] = ACTIONS(7012),
    [sym__heredoc_body_end] = ACTIONS(7012),
    [sym__element_reference_left_bracket] = ACTIONS(7012),
    [sym__scope_double_colon] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_DOT] = ACTIONS(7014),
    [anon_sym_COMMA] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_STAR_STAR] = ACTIONS(7990),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_if] = ACTIONS(7012),
    [anon_sym_unless] = ACTIONS(7012),
    [anon_sym_while] = ACTIONS(7012),
    [anon_sym_until] = ACTIONS(7012),
    [anon_sym_rescue] = ACTIONS(7012),
    [anon_sym_EQ_GT] = ACTIONS(7012),
    [anon_sym_AMP_DOT] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7012),
    [anon_sym_AMP_AMP] = ACTIONS(7012),
    [anon_sym_LT_LT] = ACTIONS(7012),
    [anon_sym_GT_GT] = ACTIONS(7012),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7012),
    [anon_sym_PLUS] = ACTIONS(7012),
    [anon_sym_SLASH] = ACTIONS(7012),
    [anon_sym_PERCENT] = ACTIONS(7012),
    [sym_comment] = ACTIONS(110),
  },
  [8934] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__heredoc_body_middle] = ACTIONS(7016),
    [sym__heredoc_body_end] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7984),
    [sym__binary_star] = ACTIONS(7986),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(7990),
    [anon_sym_AMP] = ACTIONS(7992),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(8004),
    [anon_sym_GT_GT] = ACTIONS(8004),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(8012),
    [anon_sym_SLASH] = ACTIONS(7990),
    [anon_sym_PERCENT] = ACTIONS(7990),
    [sym_comment] = ACTIONS(110),
  },
  [8935] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__heredoc_body_middle] = ACTIONS(7016),
    [sym__heredoc_body_end] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(7990),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7016),
    [anon_sym_PERCENT] = ACTIONS(7016),
    [sym_comment] = ACTIONS(110),
  },
  [8936] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__heredoc_body_middle] = ACTIONS(7016),
    [sym__heredoc_body_end] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7984),
    [sym__binary_star] = ACTIONS(7986),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(7990),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(8004),
    [anon_sym_GT_GT] = ACTIONS(8004),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(8012),
    [anon_sym_SLASH] = ACTIONS(7990),
    [anon_sym_PERCENT] = ACTIONS(7990),
    [sym_comment] = ACTIONS(110),
  },
  [8937] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__heredoc_body_middle] = ACTIONS(7016),
    [sym__heredoc_body_end] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7984),
    [sym__binary_star] = ACTIONS(7986),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7988),
    [anon_sym_STAR_STAR] = ACTIONS(7990),
    [anon_sym_AMP] = ACTIONS(7992),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(8004),
    [anon_sym_GT_GT] = ACTIONS(8004),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(8010),
    [anon_sym_PLUS] = ACTIONS(8012),
    [anon_sym_SLASH] = ACTIONS(7990),
    [anon_sym_PERCENT] = ACTIONS(7990),
    [sym_comment] = ACTIONS(110),
  },
  [8938] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(14536),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [8939] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__heredoc_body_middle] = ACTIONS(7108),
    [sym__heredoc_body_end] = ACTIONS(7108),
    [sym__element_reference_left_bracket] = ACTIONS(7108),
    [sym__scope_double_colon] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(7984),
    [sym__binary_star] = ACTIONS(7986),
    [anon_sym_DOT] = ACTIONS(9472),
    [anon_sym_COMMA] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(7988),
    [anon_sym_STAR_STAR] = ACTIONS(7990),
    [anon_sym_AMP] = ACTIONS(7992),
    [anon_sym_LT] = ACTIONS(7994),
    [anon_sym_if] = ACTIONS(7108),
    [anon_sym_unless] = ACTIONS(7108),
    [anon_sym_while] = ACTIONS(7108),
    [anon_sym_until] = ACTIONS(7108),
    [anon_sym_rescue] = ACTIONS(7108),
    [anon_sym_EQ_GT] = ACTIONS(7108),
    [anon_sym_AMP_DOT] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(7998),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8000),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(8002),
    [anon_sym_AMP_AMP] = ACTIONS(8002),
    [anon_sym_LT_LT] = ACTIONS(8004),
    [anon_sym_GT_GT] = ACTIONS(8004),
    [anon_sym_EQ_EQ] = ACTIONS(8006),
    [anon_sym_BANG_EQ] = ACTIONS(8002),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8002),
    [anon_sym_LT_EQ_GT] = ACTIONS(8002),
    [anon_sym_EQ_TILDE] = ACTIONS(8002),
    [anon_sym_BANG_TILDE] = ACTIONS(8002),
    [anon_sym_LT_EQ] = ACTIONS(7994),
    [anon_sym_GT] = ACTIONS(7994),
    [anon_sym_GT_EQ] = ACTIONS(8008),
    [anon_sym_CARET] = ACTIONS(8010),
    [anon_sym_PLUS] = ACTIONS(8012),
    [anon_sym_SLASH] = ACTIONS(7990),
    [anon_sym_PERCENT] = ACTIONS(7990),
    [sym_comment] = ACTIONS(110),
  },
  [8940] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__heredoc_body_middle] = ACTIONS(7016),
    [sym__heredoc_body_end] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7984),
    [sym__binary_star] = ACTIONS(7986),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7988),
    [anon_sym_STAR_STAR] = ACTIONS(7990),
    [anon_sym_AMP] = ACTIONS(7992),
    [anon_sym_LT] = ACTIONS(7994),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7996),
    [anon_sym_DOT_DOT] = ACTIONS(7998),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8000),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(8002),
    [anon_sym_AMP_AMP] = ACTIONS(8002),
    [anon_sym_LT_LT] = ACTIONS(8004),
    [anon_sym_GT_GT] = ACTIONS(8004),
    [anon_sym_EQ_EQ] = ACTIONS(8006),
    [anon_sym_BANG_EQ] = ACTIONS(8002),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8002),
    [anon_sym_LT_EQ_GT] = ACTIONS(8002),
    [anon_sym_EQ_TILDE] = ACTIONS(8002),
    [anon_sym_BANG_TILDE] = ACTIONS(8002),
    [anon_sym_LT_EQ] = ACTIONS(7994),
    [anon_sym_GT] = ACTIONS(7994),
    [anon_sym_GT_EQ] = ACTIONS(8008),
    [anon_sym_CARET] = ACTIONS(8010),
    [anon_sym_PLUS] = ACTIONS(8012),
    [anon_sym_SLASH] = ACTIONS(7990),
    [anon_sym_PERCENT] = ACTIONS(7990),
    [sym_comment] = ACTIONS(110),
  },
  [8941] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__heredoc_body_middle] = ACTIONS(7016),
    [sym__heredoc_body_end] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7984),
    [sym__binary_star] = ACTIONS(7986),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7988),
    [anon_sym_STAR_STAR] = ACTIONS(7990),
    [anon_sym_AMP] = ACTIONS(7992),
    [anon_sym_LT] = ACTIONS(7994),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(8004),
    [anon_sym_GT_GT] = ACTIONS(8004),
    [anon_sym_EQ_EQ] = ACTIONS(8006),
    [anon_sym_BANG_EQ] = ACTIONS(8002),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8002),
    [anon_sym_LT_EQ_GT] = ACTIONS(8002),
    [anon_sym_EQ_TILDE] = ACTIONS(8002),
    [anon_sym_BANG_TILDE] = ACTIONS(8002),
    [anon_sym_LT_EQ] = ACTIONS(7994),
    [anon_sym_GT] = ACTIONS(7994),
    [anon_sym_GT_EQ] = ACTIONS(8008),
    [anon_sym_CARET] = ACTIONS(8010),
    [anon_sym_PLUS] = ACTIONS(8012),
    [anon_sym_SLASH] = ACTIONS(7990),
    [anon_sym_PERCENT] = ACTIONS(7990),
    [sym_comment] = ACTIONS(110),
  },
  [8942] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__heredoc_body_middle] = ACTIONS(7016),
    [sym__heredoc_body_end] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7984),
    [sym__binary_star] = ACTIONS(7986),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(7990),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(8012),
    [anon_sym_SLASH] = ACTIONS(7990),
    [anon_sym_PERCENT] = ACTIONS(7990),
    [sym_comment] = ACTIONS(110),
  },
  [8943] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__heredoc_body_middle] = ACTIONS(7016),
    [sym__heredoc_body_end] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7986),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(7990),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7990),
    [anon_sym_PERCENT] = ACTIONS(7990),
    [sym_comment] = ACTIONS(110),
  },
  [8944] = {
    [sym__simple_heredoc_body] = ACTIONS(7110),
    [sym__heredoc_body_beginning] = ACTIONS(7110),
    [sym__heredoc_body_middle] = ACTIONS(7110),
    [sym__heredoc_body_end] = ACTIONS(7110),
    [sym__element_reference_left_bracket] = ACTIONS(7110),
    [sym__scope_double_colon] = ACTIONS(7110),
    [sym__binary_minus] = ACTIONS(7110),
    [sym__binary_star] = ACTIONS(7110),
    [anon_sym_LBRACE] = ACTIONS(7110),
    [anon_sym_DOT] = ACTIONS(7112),
    [anon_sym_COMMA] = ACTIONS(7110),
    [anon_sym_PIPE] = ACTIONS(7112),
    [anon_sym_STAR_STAR] = ACTIONS(7112),
    [anon_sym_AMP] = ACTIONS(7112),
    [anon_sym_EQ] = ACTIONS(7112),
    [anon_sym_LT] = ACTIONS(7112),
    [anon_sym_if] = ACTIONS(7110),
    [anon_sym_unless] = ACTIONS(7110),
    [anon_sym_while] = ACTIONS(7110),
    [anon_sym_until] = ACTIONS(7110),
    [anon_sym_rescue] = ACTIONS(7110),
    [anon_sym_do] = ACTIONS(7110),
    [anon_sym_EQ_GT] = ACTIONS(7110),
    [anon_sym_AMP_DOT] = ACTIONS(7110),
    [anon_sym_PLUS_EQ] = ACTIONS(7110),
    [anon_sym_DASH_EQ] = ACTIONS(7110),
    [anon_sym_STAR_EQ] = ACTIONS(7110),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7110),
    [anon_sym_SLASH_EQ] = ACTIONS(7110),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7110),
    [anon_sym_PIPE_EQ] = ACTIONS(7110),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7110),
    [anon_sym_AMP_EQ] = ACTIONS(7110),
    [anon_sym_PERCENT_EQ] = ACTIONS(7110),
    [anon_sym_GT_GT_EQ] = ACTIONS(7110),
    [anon_sym_LT_LT_EQ] = ACTIONS(7110),
    [anon_sym_CARET_EQ] = ACTIONS(7110),
    [anon_sym_QMARK] = ACTIONS(7110),
    [anon_sym_DOT_DOT] = ACTIONS(7112),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7110),
    [anon_sym_and] = ACTIONS(7110),
    [anon_sym_or] = ACTIONS(7110),
    [anon_sym_PIPE_PIPE] = ACTIONS(7112),
    [anon_sym_AMP_AMP] = ACTIONS(7112),
    [anon_sym_LT_LT] = ACTIONS(7112),
    [anon_sym_GT_GT] = ACTIONS(7112),
    [anon_sym_EQ_EQ] = ACTIONS(7112),
    [anon_sym_BANG_EQ] = ACTIONS(7110),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7110),
    [anon_sym_LT_EQ_GT] = ACTIONS(7110),
    [anon_sym_EQ_TILDE] = ACTIONS(7110),
    [anon_sym_BANG_TILDE] = ACTIONS(7110),
    [anon_sym_LT_EQ] = ACTIONS(7112),
    [anon_sym_GT] = ACTIONS(7112),
    [anon_sym_GT_EQ] = ACTIONS(7110),
    [anon_sym_CARET] = ACTIONS(7112),
    [anon_sym_PLUS] = ACTIONS(7112),
    [anon_sym_SLASH] = ACTIONS(7112),
    [anon_sym_PERCENT] = ACTIONS(7112),
    [sym_comment] = ACTIONS(256),
  },
  [8945] = {
    [sym_heredoc_end] = STATE(11579),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RBRACK] = ACTIONS(14538),
    [sym_comment] = ACTIONS(110),
  },
  [8946] = {
    [anon_sym_RBRACK] = ACTIONS(14538),
    [sym_comment] = ACTIONS(110),
  },
  [8947] = {
    [sym__simple_string] = ACTIONS(7116),
    [sym__simple_symbol] = ACTIONS(7116),
    [sym__simple_subshell] = ACTIONS(7116),
    [sym__simple_regex] = ACTIONS(7116),
    [sym__simple_word_list] = ACTIONS(7116),
    [sym__simple_heredoc_body] = ACTIONS(7116),
    [sym__string_beginning] = ACTIONS(7116),
    [sym__symbol_beginning] = ACTIONS(7116),
    [sym__subshell_beginning] = ACTIONS(7116),
    [sym__regex_beginning] = ACTIONS(7116),
    [sym__word_list_beginning] = ACTIONS(7116),
    [sym__heredoc_body_beginning] = ACTIONS(7116),
    [sym__heredoc_body_middle] = ACTIONS(7116),
    [sym__heredoc_body_end] = ACTIONS(7116),
    [sym_heredoc_beginning] = ACTIONS(7116),
    [sym__element_reference_left_bracket] = ACTIONS(7116),
    [sym__block_ampersand] = ACTIONS(7116),
    [sym__splat_star] = ACTIONS(7116),
    [sym__argument_list_left_paren] = ACTIONS(7116),
    [sym__scope_double_colon] = ACTIONS(7116),
    [sym__unary_minus] = ACTIONS(7116),
    [sym__binary_minus] = ACTIONS(7116),
    [sym__binary_star] = ACTIONS(7116),
    [anon_sym_LBRACE] = ACTIONS(7116),
    [anon_sym_def] = ACTIONS(7118),
    [anon_sym_LPAREN] = ACTIONS(7116),
    [anon_sym_DOT] = ACTIONS(7118),
    [anon_sym_COLON_COLON] = ACTIONS(7116),
    [anon_sym_end] = ACTIONS(7118),
    [anon_sym_COMMA] = ACTIONS(7116),
    [anon_sym_PIPE] = ACTIONS(7118),
    [anon_sym_STAR] = ACTIONS(7118),
    [anon_sym_STAR_STAR] = ACTIONS(7118),
    [anon_sym_AMP] = ACTIONS(7118),
    [anon_sym_EQ] = ACTIONS(7118),
    [anon_sym_class] = ACTIONS(7118),
    [anon_sym_LT] = ACTIONS(7118),
    [anon_sym_module] = ACTIONS(7118),
    [anon_sym_return] = ACTIONS(7118),
    [anon_sym_yield] = ACTIONS(7118),
    [anon_sym_break] = ACTIONS(7118),
    [anon_sym_next] = ACTIONS(7118),
    [anon_sym_redo] = ACTIONS(7118),
    [anon_sym_retry] = ACTIONS(7118),
    [anon_sym_if] = ACTIONS(7118),
    [anon_sym_unless] = ACTIONS(7118),
    [anon_sym_while] = ACTIONS(7118),
    [anon_sym_until] = ACTIONS(7118),
    [anon_sym_rescue] = ACTIONS(7118),
    [anon_sym_for] = ACTIONS(7118),
    [anon_sym_in] = ACTIONS(7118),
    [anon_sym_do] = ACTIONS(7118),
    [anon_sym_case] = ACTIONS(7118),
    [anon_sym_when] = ACTIONS(7118),
    [anon_sym_elsif] = ACTIONS(7118),
    [anon_sym_else] = ACTIONS(7118),
    [anon_sym_then] = ACTIONS(7118),
    [anon_sym_begin] = ACTIONS(7118),
    [anon_sym_ensure] = ACTIONS(7118),
    [anon_sym_EQ_GT] = ACTIONS(7116),
    [anon_sym_AMP_DOT] = ACTIONS(7116),
    [anon_sym_PLUS_EQ] = ACTIONS(7116),
    [anon_sym_DASH_EQ] = ACTIONS(7116),
    [anon_sym_STAR_EQ] = ACTIONS(7116),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7116),
    [anon_sym_SLASH_EQ] = ACTIONS(7116),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7116),
    [anon_sym_PIPE_EQ] = ACTIONS(7116),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7116),
    [anon_sym_AMP_EQ] = ACTIONS(7116),
    [anon_sym_PERCENT_EQ] = ACTIONS(7116),
    [anon_sym_GT_GT_EQ] = ACTIONS(7116),
    [anon_sym_LT_LT_EQ] = ACTIONS(7116),
    [anon_sym_CARET_EQ] = ACTIONS(7116),
    [anon_sym_QMARK] = ACTIONS(7118),
    [anon_sym_DOT_DOT] = ACTIONS(7118),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7116),
    [anon_sym_and] = ACTIONS(7118),
    [anon_sym_or] = ACTIONS(7118),
    [anon_sym_PIPE_PIPE] = ACTIONS(7118),
    [anon_sym_AMP_AMP] = ACTIONS(7118),
    [anon_sym_LT_LT] = ACTIONS(7118),
    [anon_sym_GT_GT] = ACTIONS(7118),
    [anon_sym_EQ_EQ] = ACTIONS(7118),
    [anon_sym_BANG_EQ] = ACTIONS(7116),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7116),
    [anon_sym_LT_EQ_GT] = ACTIONS(7116),
    [anon_sym_EQ_TILDE] = ACTIONS(7116),
    [anon_sym_BANG_TILDE] = ACTIONS(7116),
    [anon_sym_LT_EQ] = ACTIONS(7118),
    [anon_sym_GT] = ACTIONS(7118),
    [anon_sym_GT_EQ] = ACTIONS(7116),
    [anon_sym_CARET] = ACTIONS(7118),
    [anon_sym_PLUS] = ACTIONS(7118),
    [anon_sym_SLASH] = ACTIONS(7118),
    [anon_sym_PERCENT] = ACTIONS(7118),
    [anon_sym_defined_QMARK] = ACTIONS(7116),
    [anon_sym_not] = ACTIONS(7118),
    [anon_sym_BANG] = ACTIONS(7118),
    [anon_sym_TILDE] = ACTIONS(7116),
    [sym_constant] = ACTIONS(7120),
    [sym_identifier] = ACTIONS(7120),
    [sym_instance_variable] = ACTIONS(7118),
    [sym_class_variable] = ACTIONS(7118),
    [sym_global_variable] = ACTIONS(7118),
    [anon_sym_alias] = ACTIONS(7118),
    [anon_sym_defined] = ACTIONS(7118),
    [anon_sym_false] = ACTIONS(7118),
    [anon_sym_nil] = ACTIONS(7118),
    [anon_sym_self] = ACTIONS(7118),
    [anon_sym_super] = ACTIONS(7118),
    [anon_sym_true] = ACTIONS(7118),
    [anon_sym_undef] = ACTIONS(7118),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(7118),
    [sym_float] = ACTIONS(7120),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(7116),
    [anon_sym_TRUE] = ACTIONS(7118),
    [anon_sym_FALSE] = ACTIONS(7118),
    [anon_sym_NIL] = ACTIONS(7118),
    [sym_keyword__FILE__] = ACTIONS(7118),
    [sym_keyword__LINE__] = ACTIONS(7118),
    [sym_keyword__ENCODING__] = ACTIONS(7118),
    [sym__character_literal] = ACTIONS(7118),
    [anon_sym_LBRACK] = ACTIONS(7116),
    [anon_sym_DASH_GT] = ACTIONS(7116),
  },
  [8948] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1382),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym__argument_list_with_trailing_comma] = STATE(11581),
    [sym__argument] = STATE(1385),
    [sym_splat_argument] = STATE(507),
    [sym_hash_splat_argument] = STATE(507),
    [sym_block_argument] = STATE(507),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1386),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1387),
    [sym__variable] = STATE(1383),
    [sym_reserved_identifier] = STATE(1388),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1389),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(11582),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(507),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(2154),
    [sym__splat_star] = ACTIONS(2156),
    [sym__unary_minus] = ACTIONS(2158),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_RPAREN] = ACTIONS(14540),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2162),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2164),
    [anon_sym_yield] = ACTIONS(2166),
    [anon_sym_break] = ACTIONS(2168),
    [anon_sym_next] = ACTIONS(2170),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2172),
    [anon_sym_defined_QMARK] = ACTIONS(2174),
    [anon_sym_not] = ACTIONS(2176),
    [anon_sym_BANG] = ACTIONS(2178),
    [anon_sym_TILDE] = ACTIONS(2178),
    [sym_constant] = ACTIONS(2180),
    [sym_identifier] = ACTIONS(2180),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [8949] = {
    [sym__simple_string] = ACTIONS(1856),
    [sym__simple_symbol] = ACTIONS(1856),
    [sym__simple_subshell] = ACTIONS(1856),
    [sym__simple_regex] = ACTIONS(1856),
    [sym__simple_word_list] = ACTIONS(1856),
    [sym__simple_heredoc_body] = ACTIONS(1856),
    [sym__string_beginning] = ACTIONS(1856),
    [sym__symbol_beginning] = ACTIONS(1856),
    [sym__subshell_beginning] = ACTIONS(1856),
    [sym__regex_beginning] = ACTIONS(1856),
    [sym__word_list_beginning] = ACTIONS(1856),
    [sym__heredoc_body_beginning] = ACTIONS(1856),
    [sym__heredoc_body_middle] = ACTIONS(1856),
    [sym__heredoc_body_end] = ACTIONS(1856),
    [sym_heredoc_beginning] = ACTIONS(1856),
    [sym__element_reference_left_bracket] = ACTIONS(1856),
    [sym__block_ampersand] = ACTIONS(1856),
    [sym__splat_star] = ACTIONS(1856),
    [sym__argument_list_left_paren] = ACTIONS(1856),
    [sym__scope_double_colon] = ACTIONS(1856),
    [sym__unary_minus] = ACTIONS(1856),
    [sym__binary_minus] = ACTIONS(1856),
    [sym__binary_star] = ACTIONS(1856),
    [anon_sym_LBRACE] = ACTIONS(1856),
    [anon_sym_def] = ACTIONS(1858),
    [anon_sym_LPAREN] = ACTIONS(1856),
    [anon_sym_DOT] = ACTIONS(1858),
    [anon_sym_COLON_COLON] = ACTIONS(1856),
    [anon_sym_end] = ACTIONS(1858),
    [anon_sym_COMMA] = ACTIONS(1856),
    [anon_sym_PIPE] = ACTIONS(1858),
    [anon_sym_STAR] = ACTIONS(1858),
    [anon_sym_STAR_STAR] = ACTIONS(1858),
    [anon_sym_AMP] = ACTIONS(1858),
    [anon_sym_EQ] = ACTIONS(1858),
    [anon_sym_class] = ACTIONS(1858),
    [anon_sym_LT] = ACTIONS(1858),
    [anon_sym_module] = ACTIONS(1858),
    [anon_sym_return] = ACTIONS(1858),
    [anon_sym_yield] = ACTIONS(1858),
    [anon_sym_break] = ACTIONS(1858),
    [anon_sym_next] = ACTIONS(1858),
    [anon_sym_redo] = ACTIONS(1858),
    [anon_sym_retry] = ACTIONS(1858),
    [anon_sym_if] = ACTIONS(1858),
    [anon_sym_unless] = ACTIONS(1858),
    [anon_sym_while] = ACTIONS(1858),
    [anon_sym_until] = ACTIONS(1858),
    [anon_sym_rescue] = ACTIONS(1858),
    [anon_sym_for] = ACTIONS(1858),
    [anon_sym_in] = ACTIONS(1858),
    [anon_sym_do] = ACTIONS(1858),
    [anon_sym_case] = ACTIONS(1858),
    [anon_sym_when] = ACTIONS(1858),
    [anon_sym_elsif] = ACTIONS(1858),
    [anon_sym_else] = ACTIONS(1858),
    [anon_sym_then] = ACTIONS(1858),
    [anon_sym_begin] = ACTIONS(1858),
    [anon_sym_ensure] = ACTIONS(1858),
    [anon_sym_EQ_GT] = ACTIONS(1856),
    [anon_sym_AMP_DOT] = ACTIONS(1856),
    [anon_sym_PLUS_EQ] = ACTIONS(1856),
    [anon_sym_DASH_EQ] = ACTIONS(1856),
    [anon_sym_STAR_EQ] = ACTIONS(1856),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1856),
    [anon_sym_SLASH_EQ] = ACTIONS(1856),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1856),
    [anon_sym_PIPE_EQ] = ACTIONS(1856),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1856),
    [anon_sym_AMP_EQ] = ACTIONS(1856),
    [anon_sym_PERCENT_EQ] = ACTIONS(1856),
    [anon_sym_GT_GT_EQ] = ACTIONS(1856),
    [anon_sym_LT_LT_EQ] = ACTIONS(1856),
    [anon_sym_CARET_EQ] = ACTIONS(1856),
    [anon_sym_QMARK] = ACTIONS(1858),
    [anon_sym_DOT_DOT] = ACTIONS(1858),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1856),
    [anon_sym_and] = ACTIONS(1858),
    [anon_sym_or] = ACTIONS(1858),
    [anon_sym_PIPE_PIPE] = ACTIONS(1858),
    [anon_sym_AMP_AMP] = ACTIONS(1858),
    [anon_sym_LT_LT] = ACTIONS(1858),
    [anon_sym_GT_GT] = ACTIONS(1858),
    [anon_sym_EQ_EQ] = ACTIONS(1858),
    [anon_sym_BANG_EQ] = ACTIONS(1856),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1856),
    [anon_sym_LT_EQ_GT] = ACTIONS(1856),
    [anon_sym_EQ_TILDE] = ACTIONS(1856),
    [anon_sym_BANG_TILDE] = ACTIONS(1856),
    [anon_sym_LT_EQ] = ACTIONS(1858),
    [anon_sym_GT] = ACTIONS(1858),
    [anon_sym_GT_EQ] = ACTIONS(1856),
    [anon_sym_CARET] = ACTIONS(1858),
    [anon_sym_PLUS] = ACTIONS(1858),
    [anon_sym_SLASH] = ACTIONS(1858),
    [anon_sym_PERCENT] = ACTIONS(1858),
    [anon_sym_defined_QMARK] = ACTIONS(1856),
    [anon_sym_not] = ACTIONS(1858),
    [anon_sym_BANG] = ACTIONS(1858),
    [anon_sym_TILDE] = ACTIONS(1856),
    [sym_constant] = ACTIONS(7124),
    [sym_identifier] = ACTIONS(7124),
    [sym_instance_variable] = ACTIONS(1858),
    [sym_class_variable] = ACTIONS(1858),
    [sym_global_variable] = ACTIONS(1858),
    [anon_sym_alias] = ACTIONS(1858),
    [anon_sym_defined] = ACTIONS(1858),
    [anon_sym_false] = ACTIONS(1858),
    [anon_sym_nil] = ACTIONS(1858),
    [anon_sym_self] = ACTIONS(1858),
    [anon_sym_super] = ACTIONS(1858),
    [anon_sym_true] = ACTIONS(1858),
    [anon_sym_undef] = ACTIONS(1858),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1858),
    [sym_float] = ACTIONS(7124),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1856),
    [anon_sym_TRUE] = ACTIONS(1858),
    [anon_sym_FALSE] = ACTIONS(1858),
    [anon_sym_NIL] = ACTIONS(1858),
    [sym_keyword__FILE__] = ACTIONS(1858),
    [sym_keyword__LINE__] = ACTIONS(1858),
    [sym_keyword__ENCODING__] = ACTIONS(1858),
    [sym__character_literal] = ACTIONS(1858),
    [anon_sym_LBRACK] = ACTIONS(1856),
    [anon_sym_DASH_GT] = ACTIONS(1856),
  },
  [8950] = {
    [sym__simple_string] = ACTIONS(7126),
    [sym__simple_symbol] = ACTIONS(7126),
    [sym__simple_subshell] = ACTIONS(7126),
    [sym__simple_regex] = ACTIONS(7126),
    [sym__simple_word_list] = ACTIONS(7126),
    [sym__simple_heredoc_body] = ACTIONS(7126),
    [sym__string_beginning] = ACTIONS(7126),
    [sym__symbol_beginning] = ACTIONS(7126),
    [sym__subshell_beginning] = ACTIONS(7126),
    [sym__regex_beginning] = ACTIONS(7126),
    [sym__word_list_beginning] = ACTIONS(7126),
    [sym__heredoc_body_beginning] = ACTIONS(7126),
    [sym__heredoc_body_middle] = ACTIONS(7126),
    [sym__heredoc_body_end] = ACTIONS(7126),
    [sym_heredoc_beginning] = ACTIONS(7126),
    [sym__element_reference_left_bracket] = ACTIONS(7126),
    [sym__block_ampersand] = ACTIONS(7126),
    [sym__splat_star] = ACTIONS(7126),
    [sym__argument_list_left_paren] = ACTIONS(7126),
    [sym__scope_double_colon] = ACTIONS(7126),
    [sym__unary_minus] = ACTIONS(7126),
    [sym__binary_minus] = ACTIONS(7126),
    [sym__binary_star] = ACTIONS(7126),
    [anon_sym_LBRACE] = ACTIONS(7126),
    [anon_sym_def] = ACTIONS(7128),
    [anon_sym_LPAREN] = ACTIONS(7126),
    [anon_sym_DOT] = ACTIONS(7128),
    [anon_sym_COLON_COLON] = ACTIONS(7126),
    [anon_sym_end] = ACTIONS(7128),
    [anon_sym_COMMA] = ACTIONS(7126),
    [anon_sym_PIPE] = ACTIONS(7128),
    [anon_sym_STAR] = ACTIONS(7128),
    [anon_sym_STAR_STAR] = ACTIONS(7128),
    [anon_sym_AMP] = ACTIONS(7128),
    [anon_sym_EQ] = ACTIONS(7128),
    [anon_sym_class] = ACTIONS(7128),
    [anon_sym_LT] = ACTIONS(7128),
    [anon_sym_module] = ACTIONS(7128),
    [anon_sym_return] = ACTIONS(7128),
    [anon_sym_yield] = ACTIONS(7128),
    [anon_sym_break] = ACTIONS(7128),
    [anon_sym_next] = ACTIONS(7128),
    [anon_sym_redo] = ACTIONS(7128),
    [anon_sym_retry] = ACTIONS(7128),
    [anon_sym_if] = ACTIONS(7128),
    [anon_sym_unless] = ACTIONS(7128),
    [anon_sym_while] = ACTIONS(7128),
    [anon_sym_until] = ACTIONS(7128),
    [anon_sym_rescue] = ACTIONS(7128),
    [anon_sym_for] = ACTIONS(7128),
    [anon_sym_in] = ACTIONS(7128),
    [anon_sym_do] = ACTIONS(7128),
    [anon_sym_case] = ACTIONS(7128),
    [anon_sym_when] = ACTIONS(7128),
    [anon_sym_elsif] = ACTIONS(7128),
    [anon_sym_else] = ACTIONS(7128),
    [anon_sym_then] = ACTIONS(7128),
    [anon_sym_begin] = ACTIONS(7128),
    [anon_sym_ensure] = ACTIONS(7128),
    [anon_sym_EQ_GT] = ACTIONS(7126),
    [anon_sym_AMP_DOT] = ACTIONS(7126),
    [anon_sym_PLUS_EQ] = ACTIONS(7126),
    [anon_sym_DASH_EQ] = ACTIONS(7126),
    [anon_sym_STAR_EQ] = ACTIONS(7126),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7126),
    [anon_sym_SLASH_EQ] = ACTIONS(7126),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7126),
    [anon_sym_PIPE_EQ] = ACTIONS(7126),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7126),
    [anon_sym_AMP_EQ] = ACTIONS(7126),
    [anon_sym_PERCENT_EQ] = ACTIONS(7126),
    [anon_sym_GT_GT_EQ] = ACTIONS(7126),
    [anon_sym_LT_LT_EQ] = ACTIONS(7126),
    [anon_sym_CARET_EQ] = ACTIONS(7126),
    [anon_sym_QMARK] = ACTIONS(7128),
    [anon_sym_DOT_DOT] = ACTIONS(7128),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7126),
    [anon_sym_and] = ACTIONS(7128),
    [anon_sym_or] = ACTIONS(7128),
    [anon_sym_PIPE_PIPE] = ACTIONS(7128),
    [anon_sym_AMP_AMP] = ACTIONS(7128),
    [anon_sym_LT_LT] = ACTIONS(7128),
    [anon_sym_GT_GT] = ACTIONS(7128),
    [anon_sym_EQ_EQ] = ACTIONS(7128),
    [anon_sym_BANG_EQ] = ACTIONS(7126),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7126),
    [anon_sym_LT_EQ_GT] = ACTIONS(7126),
    [anon_sym_EQ_TILDE] = ACTIONS(7126),
    [anon_sym_BANG_TILDE] = ACTIONS(7126),
    [anon_sym_LT_EQ] = ACTIONS(7128),
    [anon_sym_GT] = ACTIONS(7128),
    [anon_sym_GT_EQ] = ACTIONS(7126),
    [anon_sym_CARET] = ACTIONS(7128),
    [anon_sym_PLUS] = ACTIONS(7128),
    [anon_sym_SLASH] = ACTIONS(7128),
    [anon_sym_PERCENT] = ACTIONS(7128),
    [anon_sym_defined_QMARK] = ACTIONS(7126),
    [anon_sym_not] = ACTIONS(7128),
    [anon_sym_BANG] = ACTIONS(7128),
    [anon_sym_TILDE] = ACTIONS(7126),
    [sym_constant] = ACTIONS(7130),
    [sym_identifier] = ACTIONS(7130),
    [sym_instance_variable] = ACTIONS(7128),
    [sym_class_variable] = ACTIONS(7128),
    [sym_global_variable] = ACTIONS(7128),
    [anon_sym_alias] = ACTIONS(7128),
    [anon_sym_defined] = ACTIONS(7128),
    [anon_sym_false] = ACTIONS(7128),
    [anon_sym_nil] = ACTIONS(7128),
    [anon_sym_self] = ACTIONS(7128),
    [anon_sym_super] = ACTIONS(7128),
    [anon_sym_true] = ACTIONS(7128),
    [anon_sym_undef] = ACTIONS(7128),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(7128),
    [sym_float] = ACTIONS(7130),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(7126),
    [anon_sym_TRUE] = ACTIONS(7128),
    [anon_sym_FALSE] = ACTIONS(7128),
    [anon_sym_NIL] = ACTIONS(7128),
    [sym_keyword__FILE__] = ACTIONS(7128),
    [sym_keyword__LINE__] = ACTIONS(7128),
    [sym_keyword__ENCODING__] = ACTIONS(7128),
    [sym__character_literal] = ACTIONS(7128),
    [anon_sym_LBRACK] = ACTIONS(7126),
    [anon_sym_DASH_GT] = ACTIONS(7126),
  },
  [8951] = {
    [sym__simple_string] = ACTIONS(7132),
    [sym__simple_symbol] = ACTIONS(7132),
    [sym__simple_subshell] = ACTIONS(7132),
    [sym__simple_regex] = ACTIONS(7132),
    [sym__simple_word_list] = ACTIONS(7132),
    [sym__simple_heredoc_body] = ACTIONS(7132),
    [sym__string_beginning] = ACTIONS(7132),
    [sym__symbol_beginning] = ACTIONS(7132),
    [sym__subshell_beginning] = ACTIONS(7132),
    [sym__regex_beginning] = ACTIONS(7132),
    [sym__word_list_beginning] = ACTIONS(7132),
    [sym__heredoc_body_beginning] = ACTIONS(7132),
    [sym__heredoc_body_middle] = ACTIONS(7132),
    [sym__heredoc_body_end] = ACTIONS(7132),
    [sym_heredoc_beginning] = ACTIONS(7132),
    [sym__element_reference_left_bracket] = ACTIONS(7132),
    [sym__block_ampersand] = ACTIONS(7132),
    [sym__splat_star] = ACTIONS(7132),
    [sym__argument_list_left_paren] = ACTIONS(7132),
    [sym__scope_double_colon] = ACTIONS(7132),
    [sym__unary_minus] = ACTIONS(7132),
    [sym__binary_minus] = ACTIONS(7132),
    [sym__binary_star] = ACTIONS(7132),
    [anon_sym_LBRACE] = ACTIONS(7132),
    [anon_sym_def] = ACTIONS(7134),
    [anon_sym_LPAREN] = ACTIONS(7132),
    [anon_sym_DOT] = ACTIONS(7134),
    [anon_sym_COLON_COLON] = ACTIONS(7132),
    [anon_sym_end] = ACTIONS(7134),
    [anon_sym_COMMA] = ACTIONS(7132),
    [anon_sym_PIPE] = ACTIONS(7134),
    [anon_sym_STAR] = ACTIONS(7134),
    [anon_sym_STAR_STAR] = ACTIONS(7134),
    [anon_sym_AMP] = ACTIONS(7134),
    [anon_sym_EQ] = ACTIONS(7134),
    [anon_sym_class] = ACTIONS(7134),
    [anon_sym_LT] = ACTIONS(7134),
    [anon_sym_module] = ACTIONS(7134),
    [anon_sym_return] = ACTIONS(7134),
    [anon_sym_yield] = ACTIONS(7134),
    [anon_sym_break] = ACTIONS(7134),
    [anon_sym_next] = ACTIONS(7134),
    [anon_sym_redo] = ACTIONS(7134),
    [anon_sym_retry] = ACTIONS(7134),
    [anon_sym_if] = ACTIONS(7134),
    [anon_sym_unless] = ACTIONS(7134),
    [anon_sym_while] = ACTIONS(7134),
    [anon_sym_until] = ACTIONS(7134),
    [anon_sym_rescue] = ACTIONS(7134),
    [anon_sym_for] = ACTIONS(7134),
    [anon_sym_in] = ACTIONS(7134),
    [anon_sym_do] = ACTIONS(7134),
    [anon_sym_case] = ACTIONS(7134),
    [anon_sym_when] = ACTIONS(7134),
    [anon_sym_elsif] = ACTIONS(7134),
    [anon_sym_else] = ACTIONS(7134),
    [anon_sym_then] = ACTIONS(7134),
    [anon_sym_begin] = ACTIONS(7134),
    [anon_sym_ensure] = ACTIONS(7134),
    [anon_sym_EQ_GT] = ACTIONS(7132),
    [anon_sym_AMP_DOT] = ACTIONS(7132),
    [anon_sym_PLUS_EQ] = ACTIONS(7132),
    [anon_sym_DASH_EQ] = ACTIONS(7132),
    [anon_sym_STAR_EQ] = ACTIONS(7132),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7132),
    [anon_sym_SLASH_EQ] = ACTIONS(7132),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7132),
    [anon_sym_PIPE_EQ] = ACTIONS(7132),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7132),
    [anon_sym_AMP_EQ] = ACTIONS(7132),
    [anon_sym_PERCENT_EQ] = ACTIONS(7132),
    [anon_sym_GT_GT_EQ] = ACTIONS(7132),
    [anon_sym_LT_LT_EQ] = ACTIONS(7132),
    [anon_sym_CARET_EQ] = ACTIONS(7132),
    [anon_sym_QMARK] = ACTIONS(7134),
    [anon_sym_DOT_DOT] = ACTIONS(7134),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7132),
    [anon_sym_and] = ACTIONS(7134),
    [anon_sym_or] = ACTIONS(7134),
    [anon_sym_PIPE_PIPE] = ACTIONS(7134),
    [anon_sym_AMP_AMP] = ACTIONS(7134),
    [anon_sym_LT_LT] = ACTIONS(7134),
    [anon_sym_GT_GT] = ACTIONS(7134),
    [anon_sym_EQ_EQ] = ACTIONS(7134),
    [anon_sym_BANG_EQ] = ACTIONS(7132),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7132),
    [anon_sym_LT_EQ_GT] = ACTIONS(7132),
    [anon_sym_EQ_TILDE] = ACTIONS(7132),
    [anon_sym_BANG_TILDE] = ACTIONS(7132),
    [anon_sym_LT_EQ] = ACTIONS(7134),
    [anon_sym_GT] = ACTIONS(7134),
    [anon_sym_GT_EQ] = ACTIONS(7132),
    [anon_sym_CARET] = ACTIONS(7134),
    [anon_sym_PLUS] = ACTIONS(7134),
    [anon_sym_SLASH] = ACTIONS(7134),
    [anon_sym_PERCENT] = ACTIONS(7134),
    [anon_sym_defined_QMARK] = ACTIONS(7132),
    [anon_sym_not] = ACTIONS(7134),
    [anon_sym_BANG] = ACTIONS(7134),
    [anon_sym_TILDE] = ACTIONS(7132),
    [sym_constant] = ACTIONS(7136),
    [sym_identifier] = ACTIONS(7136),
    [sym_instance_variable] = ACTIONS(7134),
    [sym_class_variable] = ACTIONS(7134),
    [sym_global_variable] = ACTIONS(7134),
    [anon_sym_alias] = ACTIONS(7134),
    [anon_sym_defined] = ACTIONS(7134),
    [anon_sym_false] = ACTIONS(7134),
    [anon_sym_nil] = ACTIONS(7134),
    [anon_sym_self] = ACTIONS(7134),
    [anon_sym_super] = ACTIONS(7134),
    [anon_sym_true] = ACTIONS(7134),
    [anon_sym_undef] = ACTIONS(7134),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(7134),
    [sym_float] = ACTIONS(7136),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(7132),
    [anon_sym_TRUE] = ACTIONS(7134),
    [anon_sym_FALSE] = ACTIONS(7134),
    [anon_sym_NIL] = ACTIONS(7134),
    [sym_keyword__FILE__] = ACTIONS(7134),
    [sym_keyword__LINE__] = ACTIONS(7134),
    [sym_keyword__ENCODING__] = ACTIONS(7134),
    [sym__character_literal] = ACTIONS(7134),
    [anon_sym_LBRACK] = ACTIONS(7132),
    [anon_sym_DASH_GT] = ACTIONS(7132),
  },
  [8952] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__heredoc_body_middle] = ACTIONS(5298),
    [sym__heredoc_body_end] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(8238),
    [sym__binary_star] = ACTIONS(8240),
    [anon_sym_LBRACE] = ACTIONS(5298),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(8242),
    [anon_sym_STAR_STAR] = ACTIONS(8244),
    [anon_sym_AMP] = ACTIONS(8246),
    [anon_sym_EQ] = ACTIONS(5304),
    [anon_sym_LT] = ACTIONS(8248),
    [anon_sym_if] = ACTIONS(5298),
    [anon_sym_unless] = ACTIONS(5298),
    [anon_sym_while] = ACTIONS(5298),
    [anon_sym_until] = ACTIONS(5298),
    [anon_sym_rescue] = ACTIONS(5298),
    [anon_sym_do] = ACTIONS(5298),
    [anon_sym_EQ_GT] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_PLUS_EQ] = ACTIONS(5298),
    [anon_sym_DASH_EQ] = ACTIONS(5298),
    [anon_sym_STAR_EQ] = ACTIONS(5298),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5298),
    [anon_sym_SLASH_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5298),
    [anon_sym_AMP_EQ] = ACTIONS(5298),
    [anon_sym_PERCENT_EQ] = ACTIONS(5298),
    [anon_sym_GT_GT_EQ] = ACTIONS(5298),
    [anon_sym_LT_LT_EQ] = ACTIONS(5298),
    [anon_sym_CARET_EQ] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(8250),
    [anon_sym_DOT_DOT] = ACTIONS(8252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8254),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(8256),
    [anon_sym_AMP_AMP] = ACTIONS(8256),
    [anon_sym_LT_LT] = ACTIONS(8258),
    [anon_sym_GT_GT] = ACTIONS(8258),
    [anon_sym_EQ_EQ] = ACTIONS(8256),
    [anon_sym_BANG_EQ] = ACTIONS(8260),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8260),
    [anon_sym_LT_EQ_GT] = ACTIONS(8260),
    [anon_sym_EQ_TILDE] = ACTIONS(8260),
    [anon_sym_BANG_TILDE] = ACTIONS(8260),
    [anon_sym_LT_EQ] = ACTIONS(8248),
    [anon_sym_GT] = ACTIONS(8248),
    [anon_sym_GT_EQ] = ACTIONS(8262),
    [anon_sym_CARET] = ACTIONS(8242),
    [anon_sym_PLUS] = ACTIONS(8264),
    [anon_sym_SLASH] = ACTIONS(8244),
    [anon_sym_PERCENT] = ACTIONS(8244),
    [sym_comment] = ACTIONS(256),
  },
  [8953] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__heredoc_body_middle] = ACTIONS(5338),
    [sym__heredoc_body_end] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(8238),
    [sym__binary_star] = ACTIONS(8240),
    [anon_sym_LBRACE] = ACTIONS(5338),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(8242),
    [anon_sym_STAR_STAR] = ACTIONS(8244),
    [anon_sym_AMP] = ACTIONS(8246),
    [anon_sym_EQ] = ACTIONS(5340),
    [anon_sym_LT] = ACTIONS(8248),
    [anon_sym_if] = ACTIONS(5338),
    [anon_sym_unless] = ACTIONS(5338),
    [anon_sym_while] = ACTIONS(5338),
    [anon_sym_until] = ACTIONS(5338),
    [anon_sym_rescue] = ACTIONS(5338),
    [anon_sym_do] = ACTIONS(5338),
    [anon_sym_EQ_GT] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_PLUS_EQ] = ACTIONS(5338),
    [anon_sym_DASH_EQ] = ACTIONS(5338),
    [anon_sym_STAR_EQ] = ACTIONS(5338),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5338),
    [anon_sym_SLASH_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5338),
    [anon_sym_AMP_EQ] = ACTIONS(5338),
    [anon_sym_PERCENT_EQ] = ACTIONS(5338),
    [anon_sym_GT_GT_EQ] = ACTIONS(5338),
    [anon_sym_LT_LT_EQ] = ACTIONS(5338),
    [anon_sym_CARET_EQ] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(8250),
    [anon_sym_DOT_DOT] = ACTIONS(8252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8254),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(8256),
    [anon_sym_AMP_AMP] = ACTIONS(8256),
    [anon_sym_LT_LT] = ACTIONS(8258),
    [anon_sym_GT_GT] = ACTIONS(8258),
    [anon_sym_EQ_EQ] = ACTIONS(8256),
    [anon_sym_BANG_EQ] = ACTIONS(8260),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8260),
    [anon_sym_LT_EQ_GT] = ACTIONS(8260),
    [anon_sym_EQ_TILDE] = ACTIONS(8260),
    [anon_sym_BANG_TILDE] = ACTIONS(8260),
    [anon_sym_LT_EQ] = ACTIONS(8248),
    [anon_sym_GT] = ACTIONS(8248),
    [anon_sym_GT_EQ] = ACTIONS(8262),
    [anon_sym_CARET] = ACTIONS(8242),
    [anon_sym_PLUS] = ACTIONS(8264),
    [anon_sym_SLASH] = ACTIONS(8244),
    [anon_sym_PERCENT] = ACTIONS(8244),
    [sym_comment] = ACTIONS(256),
  },
  [8954] = {
    [sym__simple_heredoc_body] = ACTIONS(5370),
    [sym__heredoc_body_beginning] = ACTIONS(5370),
    [sym__heredoc_body_middle] = ACTIONS(5370),
    [sym__heredoc_body_end] = ACTIONS(5370),
    [sym__element_reference_left_bracket] = ACTIONS(5370),
    [sym__scope_double_colon] = ACTIONS(5370),
    [sym__binary_minus] = ACTIONS(5370),
    [sym__binary_star] = ACTIONS(5370),
    [anon_sym_LBRACE] = ACTIONS(5370),
    [anon_sym_DOT] = ACTIONS(5372),
    [anon_sym_COMMA] = ACTIONS(5370),
    [anon_sym_PIPE] = ACTIONS(5372),
    [anon_sym_STAR_STAR] = ACTIONS(5372),
    [anon_sym_AMP] = ACTIONS(5372),
    [anon_sym_EQ] = ACTIONS(5372),
    [anon_sym_LT] = ACTIONS(5372),
    [anon_sym_if] = ACTIONS(5370),
    [anon_sym_unless] = ACTIONS(5370),
    [anon_sym_while] = ACTIONS(5370),
    [anon_sym_until] = ACTIONS(5370),
    [anon_sym_rescue] = ACTIONS(5370),
    [anon_sym_do] = ACTIONS(5370),
    [anon_sym_EQ_GT] = ACTIONS(5370),
    [anon_sym_AMP_DOT] = ACTIONS(5370),
    [anon_sym_PLUS_EQ] = ACTIONS(5370),
    [anon_sym_DASH_EQ] = ACTIONS(5370),
    [anon_sym_STAR_EQ] = ACTIONS(5370),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5370),
    [anon_sym_SLASH_EQ] = ACTIONS(5370),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5370),
    [anon_sym_PIPE_EQ] = ACTIONS(5370),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5370),
    [anon_sym_AMP_EQ] = ACTIONS(5370),
    [anon_sym_PERCENT_EQ] = ACTIONS(5370),
    [anon_sym_GT_GT_EQ] = ACTIONS(5370),
    [anon_sym_LT_LT_EQ] = ACTIONS(5370),
    [anon_sym_CARET_EQ] = ACTIONS(5370),
    [anon_sym_QMARK] = ACTIONS(5370),
    [anon_sym_DOT_DOT] = ACTIONS(5372),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5370),
    [anon_sym_and] = ACTIONS(5370),
    [anon_sym_or] = ACTIONS(5370),
    [anon_sym_PIPE_PIPE] = ACTIONS(5372),
    [anon_sym_AMP_AMP] = ACTIONS(5372),
    [anon_sym_LT_LT] = ACTIONS(5372),
    [anon_sym_GT_GT] = ACTIONS(5372),
    [anon_sym_EQ_EQ] = ACTIONS(5372),
    [anon_sym_BANG_EQ] = ACTIONS(5370),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5370),
    [anon_sym_LT_EQ_GT] = ACTIONS(5370),
    [anon_sym_EQ_TILDE] = ACTIONS(5370),
    [anon_sym_BANG_TILDE] = ACTIONS(5370),
    [anon_sym_LT_EQ] = ACTIONS(5372),
    [anon_sym_GT] = ACTIONS(5372),
    [anon_sym_GT_EQ] = ACTIONS(5370),
    [anon_sym_CARET] = ACTIONS(5372),
    [anon_sym_PLUS] = ACTIONS(5372),
    [anon_sym_SLASH] = ACTIONS(5372),
    [anon_sym_PERCENT] = ACTIONS(5372),
    [sym_comment] = ACTIONS(256),
  },
  [8955] = {
    [sym_heredoc_end] = STATE(11584),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RPAREN] = ACTIONS(14542),
    [sym_comment] = ACTIONS(110),
  },
  [8956] = {
    [anon_sym_RPAREN] = ACTIONS(14542),
    [sym_comment] = ACTIONS(110),
  },
  [8957] = {
    [anon_sym_RBRACE] = ACTIONS(14544),
    [sym_comment] = ACTIONS(110),
  },
  [8958] = {
    [sym__statements] = STATE(11586),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(841),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(14544),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8959] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__heredoc_body_middle] = ACTIONS(4284),
    [sym__heredoc_body_end] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(8238),
    [sym__binary_star] = ACTIONS(8240),
    [anon_sym_LBRACE] = ACTIONS(4284),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(8242),
    [anon_sym_STAR_STAR] = ACTIONS(8244),
    [anon_sym_AMP] = ACTIONS(8246),
    [anon_sym_EQ] = ACTIONS(5432),
    [anon_sym_LT] = ACTIONS(8248),
    [anon_sym_if] = ACTIONS(4284),
    [anon_sym_unless] = ACTIONS(4284),
    [anon_sym_while] = ACTIONS(4284),
    [anon_sym_until] = ACTIONS(4284),
    [anon_sym_rescue] = ACTIONS(4284),
    [anon_sym_do] = ACTIONS(4284),
    [anon_sym_EQ_GT] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_PLUS_EQ] = ACTIONS(4284),
    [anon_sym_DASH_EQ] = ACTIONS(4284),
    [anon_sym_STAR_EQ] = ACTIONS(4284),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(4284),
    [anon_sym_SLASH_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(4284),
    [anon_sym_AMP_EQ] = ACTIONS(4284),
    [anon_sym_PERCENT_EQ] = ACTIONS(4284),
    [anon_sym_GT_GT_EQ] = ACTIONS(4284),
    [anon_sym_LT_LT_EQ] = ACTIONS(4284),
    [anon_sym_CARET_EQ] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(8250),
    [anon_sym_DOT_DOT] = ACTIONS(8252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8254),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(8256),
    [anon_sym_AMP_AMP] = ACTIONS(8256),
    [anon_sym_LT_LT] = ACTIONS(8258),
    [anon_sym_GT_GT] = ACTIONS(8258),
    [anon_sym_EQ_EQ] = ACTIONS(8256),
    [anon_sym_BANG_EQ] = ACTIONS(8260),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8260),
    [anon_sym_LT_EQ_GT] = ACTIONS(8260),
    [anon_sym_EQ_TILDE] = ACTIONS(8260),
    [anon_sym_BANG_TILDE] = ACTIONS(8260),
    [anon_sym_LT_EQ] = ACTIONS(8248),
    [anon_sym_GT] = ACTIONS(8248),
    [anon_sym_GT_EQ] = ACTIONS(8262),
    [anon_sym_CARET] = ACTIONS(8242),
    [anon_sym_PLUS] = ACTIONS(8264),
    [anon_sym_SLASH] = ACTIONS(8244),
    [anon_sym_PERCENT] = ACTIONS(8244),
    [sym_comment] = ACTIONS(256),
  },
  [8960] = {
    [sym__simple_heredoc_body] = ACTIONS(6942),
    [sym__heredoc_body_beginning] = ACTIONS(6942),
    [sym__heredoc_body_middle] = ACTIONS(6942),
    [sym__heredoc_body_end] = ACTIONS(6942),
    [sym__element_reference_left_bracket] = ACTIONS(6942),
    [sym__scope_double_colon] = ACTIONS(6942),
    [sym__binary_minus] = ACTIONS(6942),
    [sym__binary_star] = ACTIONS(6942),
    [anon_sym_LBRACE] = ACTIONS(6942),
    [anon_sym_DOT] = ACTIONS(6944),
    [anon_sym_COMMA] = ACTIONS(6942),
    [anon_sym_PIPE] = ACTIONS(6944),
    [anon_sym_STAR_STAR] = ACTIONS(6944),
    [anon_sym_AMP] = ACTIONS(6944),
    [anon_sym_EQ] = ACTIONS(6944),
    [anon_sym_LT] = ACTIONS(6944),
    [anon_sym_if] = ACTIONS(6942),
    [anon_sym_unless] = ACTIONS(6942),
    [anon_sym_while] = ACTIONS(6942),
    [anon_sym_until] = ACTIONS(6942),
    [anon_sym_rescue] = ACTIONS(6942),
    [anon_sym_do] = ACTIONS(6942),
    [anon_sym_EQ_GT] = ACTIONS(6942),
    [anon_sym_AMP_DOT] = ACTIONS(6942),
    [anon_sym_PLUS_EQ] = ACTIONS(6942),
    [anon_sym_DASH_EQ] = ACTIONS(6942),
    [anon_sym_STAR_EQ] = ACTIONS(6942),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6942),
    [anon_sym_SLASH_EQ] = ACTIONS(6942),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6942),
    [anon_sym_PIPE_EQ] = ACTIONS(6942),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6942),
    [anon_sym_AMP_EQ] = ACTIONS(6942),
    [anon_sym_PERCENT_EQ] = ACTIONS(6942),
    [anon_sym_GT_GT_EQ] = ACTIONS(6942),
    [anon_sym_LT_LT_EQ] = ACTIONS(6942),
    [anon_sym_CARET_EQ] = ACTIONS(6942),
    [anon_sym_QMARK] = ACTIONS(6942),
    [anon_sym_DOT_DOT] = ACTIONS(6944),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6942),
    [anon_sym_and] = ACTIONS(6942),
    [anon_sym_or] = ACTIONS(6942),
    [anon_sym_PIPE_PIPE] = ACTIONS(6944),
    [anon_sym_AMP_AMP] = ACTIONS(6944),
    [anon_sym_LT_LT] = ACTIONS(6944),
    [anon_sym_GT_GT] = ACTIONS(6944),
    [anon_sym_EQ_EQ] = ACTIONS(6944),
    [anon_sym_BANG_EQ] = ACTIONS(6942),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6942),
    [anon_sym_LT_EQ_GT] = ACTIONS(6942),
    [anon_sym_EQ_TILDE] = ACTIONS(6942),
    [anon_sym_BANG_TILDE] = ACTIONS(6942),
    [anon_sym_LT_EQ] = ACTIONS(6944),
    [anon_sym_GT] = ACTIONS(6944),
    [anon_sym_GT_EQ] = ACTIONS(6942),
    [anon_sym_CARET] = ACTIONS(6944),
    [anon_sym_PLUS] = ACTIONS(6944),
    [anon_sym_SLASH] = ACTIONS(6944),
    [anon_sym_PERCENT] = ACTIONS(6944),
    [sym_comment] = ACTIONS(256),
  },
  [8961] = {
    [anon_sym_end] = ACTIONS(14546),
    [sym_comment] = ACTIONS(110),
  },
  [8962] = {
    [sym__statements] = STATE(11588),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(11589),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14548),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8963] = {
    [sym__statements] = STATE(11588),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(11590),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(11589),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14548),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8964] = {
    [sym_method] = STATE(2839),
    [sym_singleton_method] = STATE(2839),
    [sym_class] = STATE(2839),
    [sym_singleton_class] = STATE(2839),
    [sym_module] = STATE(2839),
    [sym_return] = STATE(2839),
    [sym_yield] = STATE(2839),
    [sym_break] = STATE(2839),
    [sym_next] = STATE(2839),
    [sym_redo] = STATE(2839),
    [sym_retry] = STATE(2839),
    [sym_while] = STATE(2839),
    [sym_until] = STATE(2839),
    [sym_for] = STATE(2839),
    [sym_case] = STATE(2839),
    [sym_if] = STATE(2839),
    [sym_unless] = STATE(2839),
    [sym_begin] = STATE(2839),
    [sym__arg] = STATE(11591),
    [sym__primary] = STATE(2874),
    [sym_parenthesized_statements] = STATE(2839),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2875),
    [sym_call] = STATE(2875),
    [sym_method_call] = STATE(2764),
    [sym_assignment] = STATE(2881),
    [sym_operator_assignment] = STATE(2881),
    [sym_conditional] = STATE(2881),
    [sym_range] = STATE(2881),
    [sym_binary] = STATE(2881),
    [sym_unary] = STATE(2881),
    [sym_left_assignment_list] = STATE(2882),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2883),
    [sym__variable] = STATE(2875),
    [sym_symbol] = STATE(2839),
    [sym_complex] = STATE(2839),
    [sym_rational] = STATE(2839),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2839),
    [sym_string] = STATE(5842),
    [sym_subshell] = STATE(2839),
    [sym_array] = STATE(2839),
    [sym_hash] = STATE(2839),
    [sym_regex] = STATE(2839),
    [sym_lambda] = STATE(2839),
    [sym__simple_string] = ACTIONS(8168),
    [sym__simple_symbol] = ACTIONS(4164),
    [sym__simple_subshell] = ACTIONS(4166),
    [sym__simple_regex] = ACTIONS(4168),
    [sym__simple_word_list] = ACTIONS(4170),
    [sym__string_beginning] = ACTIONS(8170),
    [sym__symbol_beginning] = ACTIONS(4174),
    [sym__subshell_beginning] = ACTIONS(4176),
    [sym__regex_beginning] = ACTIONS(4178),
    [sym__word_list_beginning] = ACTIONS(4180),
    [sym_heredoc_beginning] = ACTIONS(4182),
    [sym__unary_minus] = ACTIONS(4190),
    [anon_sym_LBRACE] = ACTIONS(8172),
    [anon_sym_def] = ACTIONS(8174),
    [anon_sym_LPAREN] = ACTIONS(4196),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8176),
    [anon_sym_module] = ACTIONS(8178),
    [anon_sym_return] = ACTIONS(8180),
    [anon_sym_yield] = ACTIONS(8182),
    [anon_sym_break] = ACTIONS(8184),
    [anon_sym_next] = ACTIONS(8186),
    [anon_sym_redo] = ACTIONS(8188),
    [anon_sym_retry] = ACTIONS(8190),
    [anon_sym_if] = ACTIONS(8192),
    [anon_sym_unless] = ACTIONS(8194),
    [anon_sym_while] = ACTIONS(8196),
    [anon_sym_until] = ACTIONS(8198),
    [anon_sym_for] = ACTIONS(8200),
    [anon_sym_case] = ACTIONS(8202),
    [anon_sym_begin] = ACTIONS(8204),
    [anon_sym_PLUS] = ACTIONS(8206),
    [anon_sym_defined_QMARK] = ACTIONS(4222),
    [anon_sym_not] = ACTIONS(8208),
    [anon_sym_BANG] = ACTIONS(4228),
    [anon_sym_TILDE] = ACTIONS(4228),
    [sym_constant] = ACTIONS(7946),
    [sym_identifier] = ACTIONS(7946),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_false] = ACTIONS(4074),
    [anon_sym_nil] = ACTIONS(4076),
    [anon_sym_self] = ACTIONS(7948),
    [anon_sym_super] = ACTIONS(7950),
    [anon_sym_true] = ACTIONS(4072),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4232),
    [sym_float] = ACTIONS(4234),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4236),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4238),
    [sym_keyword__LINE__] = ACTIONS(4238),
    [sym_keyword__ENCODING__] = ACTIONS(4238),
    [sym__character_literal] = ACTIONS(8210),
    [anon_sym_LBRACK] = ACTIONS(4242),
    [anon_sym_DASH_GT] = ACTIONS(4244),
  },
  [8965] = {
    [sym__simple_heredoc_body] = ACTIONS(7290),
    [sym__heredoc_body_beginning] = ACTIONS(7290),
    [sym__heredoc_body_middle] = ACTIONS(7290),
    [sym__heredoc_body_end] = ACTIONS(7290),
    [sym__element_reference_left_bracket] = ACTIONS(7290),
    [sym__scope_double_colon] = ACTIONS(7290),
    [sym__binary_minus] = ACTIONS(7290),
    [sym__binary_star] = ACTIONS(7290),
    [anon_sym_LBRACE] = ACTIONS(7290),
    [anon_sym_DOT] = ACTIONS(7292),
    [anon_sym_COMMA] = ACTIONS(7290),
    [anon_sym_PIPE] = ACTIONS(7292),
    [anon_sym_STAR_STAR] = ACTIONS(7292),
    [anon_sym_AMP] = ACTIONS(7292),
    [anon_sym_EQ] = ACTIONS(7292),
    [anon_sym_LT] = ACTIONS(7292),
    [anon_sym_if] = ACTIONS(7290),
    [anon_sym_unless] = ACTIONS(7290),
    [anon_sym_while] = ACTIONS(7290),
    [anon_sym_until] = ACTIONS(7290),
    [anon_sym_rescue] = ACTIONS(7290),
    [anon_sym_do] = ACTIONS(7290),
    [anon_sym_EQ_GT] = ACTIONS(7290),
    [anon_sym_AMP_DOT] = ACTIONS(7290),
    [anon_sym_PLUS_EQ] = ACTIONS(7290),
    [anon_sym_DASH_EQ] = ACTIONS(7290),
    [anon_sym_STAR_EQ] = ACTIONS(7290),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7290),
    [anon_sym_SLASH_EQ] = ACTIONS(7290),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7290),
    [anon_sym_PIPE_EQ] = ACTIONS(7290),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7290),
    [anon_sym_AMP_EQ] = ACTIONS(7290),
    [anon_sym_PERCENT_EQ] = ACTIONS(7290),
    [anon_sym_GT_GT_EQ] = ACTIONS(7290),
    [anon_sym_LT_LT_EQ] = ACTIONS(7290),
    [anon_sym_CARET_EQ] = ACTIONS(7290),
    [anon_sym_QMARK] = ACTIONS(7290),
    [anon_sym_DOT_DOT] = ACTIONS(7292),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7290),
    [anon_sym_and] = ACTIONS(7290),
    [anon_sym_or] = ACTIONS(7290),
    [anon_sym_PIPE_PIPE] = ACTIONS(7292),
    [anon_sym_AMP_AMP] = ACTIONS(7292),
    [anon_sym_LT_LT] = ACTIONS(7292),
    [anon_sym_GT_GT] = ACTIONS(7292),
    [anon_sym_EQ_EQ] = ACTIONS(7292),
    [anon_sym_BANG_EQ] = ACTIONS(7290),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7290),
    [anon_sym_LT_EQ_GT] = ACTIONS(7290),
    [anon_sym_EQ_TILDE] = ACTIONS(7290),
    [anon_sym_BANG_TILDE] = ACTIONS(7290),
    [anon_sym_LT_EQ] = ACTIONS(7292),
    [anon_sym_GT] = ACTIONS(7292),
    [anon_sym_GT_EQ] = ACTIONS(7290),
    [anon_sym_CARET] = ACTIONS(7292),
    [anon_sym_PLUS] = ACTIONS(7292),
    [anon_sym_SLASH] = ACTIONS(7292),
    [anon_sym_PERCENT] = ACTIONS(7292),
    [sym_comment] = ACTIONS(256),
  },
  [8966] = {
    [sym__simple_heredoc_body] = ACTIONS(1398),
    [sym__heredoc_body_beginning] = ACTIONS(1398),
    [sym__heredoc_body_middle] = ACTIONS(1398),
    [sym__heredoc_body_end] = ACTIONS(1398),
    [sym__element_reference_left_bracket] = ACTIONS(1398),
    [sym__scope_double_colon] = ACTIONS(1398),
    [sym__binary_minus] = ACTIONS(1398),
    [sym__binary_star] = ACTIONS(1398),
    [anon_sym_LBRACE] = ACTIONS(1398),
    [anon_sym_DOT] = ACTIONS(2666),
    [anon_sym_COMMA] = ACTIONS(1398),
    [anon_sym_PIPE] = ACTIONS(2666),
    [anon_sym_STAR_STAR] = ACTIONS(2666),
    [anon_sym_AMP] = ACTIONS(2666),
    [anon_sym_EQ] = ACTIONS(2666),
    [anon_sym_LT] = ACTIONS(2666),
    [anon_sym_if] = ACTIONS(1398),
    [anon_sym_unless] = ACTIONS(1398),
    [anon_sym_while] = ACTIONS(1398),
    [anon_sym_until] = ACTIONS(1398),
    [anon_sym_rescue] = ACTIONS(1398),
    [anon_sym_do] = ACTIONS(1398),
    [anon_sym_EQ_GT] = ACTIONS(1398),
    [anon_sym_AMP_DOT] = ACTIONS(1398),
    [anon_sym_PLUS_EQ] = ACTIONS(1398),
    [anon_sym_DASH_EQ] = ACTIONS(1398),
    [anon_sym_STAR_EQ] = ACTIONS(1398),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1398),
    [anon_sym_SLASH_EQ] = ACTIONS(1398),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1398),
    [anon_sym_PIPE_EQ] = ACTIONS(1398),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1398),
    [anon_sym_AMP_EQ] = ACTIONS(1398),
    [anon_sym_PERCENT_EQ] = ACTIONS(1398),
    [anon_sym_GT_GT_EQ] = ACTIONS(1398),
    [anon_sym_LT_LT_EQ] = ACTIONS(1398),
    [anon_sym_CARET_EQ] = ACTIONS(1398),
    [anon_sym_QMARK] = ACTIONS(1398),
    [anon_sym_DOT_DOT] = ACTIONS(2666),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1398),
    [anon_sym_and] = ACTIONS(1398),
    [anon_sym_or] = ACTIONS(1398),
    [anon_sym_PIPE_PIPE] = ACTIONS(2666),
    [anon_sym_AMP_AMP] = ACTIONS(2666),
    [anon_sym_LT_LT] = ACTIONS(2666),
    [anon_sym_GT_GT] = ACTIONS(2666),
    [anon_sym_EQ_EQ] = ACTIONS(2666),
    [anon_sym_BANG_EQ] = ACTIONS(1398),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1398),
    [anon_sym_LT_EQ_GT] = ACTIONS(1398),
    [anon_sym_EQ_TILDE] = ACTIONS(1398),
    [anon_sym_BANG_TILDE] = ACTIONS(1398),
    [anon_sym_LT_EQ] = ACTIONS(2666),
    [anon_sym_GT] = ACTIONS(2666),
    [anon_sym_GT_EQ] = ACTIONS(1398),
    [anon_sym_CARET] = ACTIONS(2666),
    [anon_sym_PLUS] = ACTIONS(2666),
    [anon_sym_SLASH] = ACTIONS(2666),
    [anon_sym_PERCENT] = ACTIONS(2666),
    [sym_comment] = ACTIONS(256),
  },
  [8967] = {
    [sym__statement] = STATE(11592),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [aux_sym_heredoc_end_repeat1] = STATE(11593),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [8968] = {
    [sym__simple_heredoc_body] = ACTIONS(5468),
    [sym__heredoc_body_beginning] = ACTIONS(5468),
    [sym__heredoc_body_middle] = ACTIONS(5468),
    [sym__heredoc_body_end] = ACTIONS(5468),
    [sym__element_reference_left_bracket] = ACTIONS(5468),
    [sym__scope_double_colon] = ACTIONS(5468),
    [sym__binary_minus] = ACTIONS(5468),
    [sym__binary_star] = ACTIONS(5468),
    [anon_sym_LBRACE] = ACTIONS(5468),
    [anon_sym_DOT] = ACTIONS(5470),
    [anon_sym_COMMA] = ACTIONS(5468),
    [anon_sym_PIPE] = ACTIONS(5470),
    [anon_sym_STAR_STAR] = ACTIONS(5470),
    [anon_sym_AMP] = ACTIONS(5470),
    [anon_sym_EQ] = ACTIONS(5470),
    [anon_sym_LT] = ACTIONS(5470),
    [anon_sym_if] = ACTIONS(5468),
    [anon_sym_unless] = ACTIONS(5468),
    [anon_sym_while] = ACTIONS(5468),
    [anon_sym_until] = ACTIONS(5468),
    [anon_sym_rescue] = ACTIONS(5468),
    [anon_sym_do] = ACTIONS(5468),
    [anon_sym_EQ_GT] = ACTIONS(5468),
    [anon_sym_AMP_DOT] = ACTIONS(5468),
    [anon_sym_PLUS_EQ] = ACTIONS(5468),
    [anon_sym_DASH_EQ] = ACTIONS(5468),
    [anon_sym_STAR_EQ] = ACTIONS(5468),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5468),
    [anon_sym_SLASH_EQ] = ACTIONS(5468),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5468),
    [anon_sym_PIPE_EQ] = ACTIONS(5468),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5468),
    [anon_sym_AMP_EQ] = ACTIONS(5468),
    [anon_sym_PERCENT_EQ] = ACTIONS(5468),
    [anon_sym_GT_GT_EQ] = ACTIONS(5468),
    [anon_sym_LT_LT_EQ] = ACTIONS(5468),
    [anon_sym_CARET_EQ] = ACTIONS(5468),
    [anon_sym_QMARK] = ACTIONS(5468),
    [anon_sym_DOT_DOT] = ACTIONS(5470),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5468),
    [anon_sym_and] = ACTIONS(5468),
    [anon_sym_or] = ACTIONS(5468),
    [anon_sym_PIPE_PIPE] = ACTIONS(5470),
    [anon_sym_AMP_AMP] = ACTIONS(5470),
    [anon_sym_LT_LT] = ACTIONS(5470),
    [anon_sym_GT_GT] = ACTIONS(5470),
    [anon_sym_EQ_EQ] = ACTIONS(5470),
    [anon_sym_BANG_EQ] = ACTIONS(5468),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5468),
    [anon_sym_LT_EQ_GT] = ACTIONS(5468),
    [anon_sym_EQ_TILDE] = ACTIONS(5468),
    [anon_sym_BANG_TILDE] = ACTIONS(5468),
    [anon_sym_LT_EQ] = ACTIONS(5470),
    [anon_sym_GT] = ACTIONS(5470),
    [anon_sym_GT_EQ] = ACTIONS(5468),
    [anon_sym_CARET] = ACTIONS(5470),
    [anon_sym_PLUS] = ACTIONS(5470),
    [anon_sym_SLASH] = ACTIONS(5470),
    [anon_sym_PERCENT] = ACTIONS(5470),
    [sym_comment] = ACTIONS(256),
  },
  [8969] = {
    [sym_heredoc_end] = STATE(11594),
    [sym__simple_heredoc_body] = ACTIONS(11872),
    [sym__heredoc_body_beginning] = ACTIONS(11874),
    [sym__heredoc_body_middle] = ACTIONS(5472),
    [sym__heredoc_body_end] = ACTIONS(5472),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_LBRACE] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(5472),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_STAR_STAR] = ACTIONS(5474),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_EQ] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_if] = ACTIONS(5472),
    [anon_sym_unless] = ACTIONS(5472),
    [anon_sym_while] = ACTIONS(5472),
    [anon_sym_until] = ACTIONS(5472),
    [anon_sym_rescue] = ACTIONS(5472),
    [anon_sym_do] = ACTIONS(5472),
    [anon_sym_EQ_GT] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_PLUS_EQ] = ACTIONS(5472),
    [anon_sym_DASH_EQ] = ACTIONS(5472),
    [anon_sym_STAR_EQ] = ACTIONS(5472),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5472),
    [anon_sym_SLASH_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5472),
    [anon_sym_AMP_EQ] = ACTIONS(5472),
    [anon_sym_PERCENT_EQ] = ACTIONS(5472),
    [anon_sym_GT_GT_EQ] = ACTIONS(5472),
    [anon_sym_LT_LT_EQ] = ACTIONS(5472),
    [anon_sym_CARET_EQ] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5474),
    [anon_sym_AMP_AMP] = ACTIONS(5474),
    [anon_sym_LT_LT] = ACTIONS(5474),
    [anon_sym_GT_GT] = ACTIONS(5474),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5474),
    [anon_sym_PLUS] = ACTIONS(5474),
    [anon_sym_SLASH] = ACTIONS(5474),
    [anon_sym_PERCENT] = ACTIONS(5474),
    [sym_comment] = ACTIONS(256),
  },
  [8970] = {
    [sym_method] = STATE(2839),
    [sym_singleton_method] = STATE(2839),
    [sym_class] = STATE(2839),
    [sym_singleton_class] = STATE(2839),
    [sym_module] = STATE(2839),
    [sym_return] = STATE(2839),
    [sym_yield] = STATE(2839),
    [sym_break] = STATE(2839),
    [sym_next] = STATE(2839),
    [sym_redo] = STATE(2839),
    [sym_retry] = STATE(2839),
    [sym_while] = STATE(2839),
    [sym_until] = STATE(2839),
    [sym_for] = STATE(2839),
    [sym_case] = STATE(2839),
    [sym_if] = STATE(2839),
    [sym_unless] = STATE(2839),
    [sym_begin] = STATE(2839),
    [sym__arg] = STATE(5695),
    [sym__primary] = STATE(2874),
    [sym_parenthesized_statements] = STATE(2839),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2875),
    [sym_call] = STATE(2875),
    [sym_method_call] = STATE(2764),
    [sym__argument] = STATE(11595),
    [sym_splat_argument] = STATE(5699),
    [sym_hash_splat_argument] = STATE(5699),
    [sym_block_argument] = STATE(5699),
    [sym_assignment] = STATE(2881),
    [sym_operator_assignment] = STATE(2881),
    [sym_conditional] = STATE(2881),
    [sym_range] = STATE(2881),
    [sym_binary] = STATE(2881),
    [sym_unary] = STATE(2881),
    [sym_left_assignment_list] = STATE(2882),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2883),
    [sym__variable] = STATE(2875),
    [sym_reserved_identifier] = STATE(5701),
    [sym_symbol] = STATE(2839),
    [sym_complex] = STATE(2839),
    [sym_rational] = STATE(2839),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2839),
    [sym_string] = STATE(5702),
    [sym_subshell] = STATE(2839),
    [sym_heredoc_end] = STATE(11596),
    [sym_array] = STATE(2839),
    [sym_hash] = STATE(2839),
    [sym_pair] = STATE(5699),
    [sym_regex] = STATE(2839),
    [sym_lambda] = STATE(2839),
    [sym__simple_string] = ACTIONS(4162),
    [sym__simple_symbol] = ACTIONS(4164),
    [sym__simple_subshell] = ACTIONS(4166),
    [sym__simple_regex] = ACTIONS(4168),
    [sym__simple_word_list] = ACTIONS(4170),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(4172),
    [sym__symbol_beginning] = ACTIONS(4174),
    [sym__subshell_beginning] = ACTIONS(4176),
    [sym__regex_beginning] = ACTIONS(4178),
    [sym__word_list_beginning] = ACTIONS(4180),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(4182),
    [sym__block_ampersand] = ACTIONS(8022),
    [sym__splat_star] = ACTIONS(8024),
    [sym__unary_minus] = ACTIONS(4190),
    [anon_sym_LBRACE] = ACTIONS(8172),
    [anon_sym_def] = ACTIONS(4194),
    [anon_sym_LPAREN] = ACTIONS(4196),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(14550),
    [anon_sym_class] = ACTIONS(4198),
    [anon_sym_module] = ACTIONS(4200),
    [anon_sym_return] = ACTIONS(4202),
    [anon_sym_yield] = ACTIONS(4204),
    [anon_sym_break] = ACTIONS(4206),
    [anon_sym_next] = ACTIONS(4208),
    [anon_sym_redo] = ACTIONS(4210),
    [anon_sym_retry] = ACTIONS(4212),
    [anon_sym_if] = ACTIONS(12016),
    [anon_sym_unless] = ACTIONS(12018),
    [anon_sym_while] = ACTIONS(12020),
    [anon_sym_until] = ACTIONS(12022),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(4214),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(4218),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(4220),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(8206),
    [anon_sym_defined_QMARK] = ACTIONS(4222),
    [anon_sym_not] = ACTIONS(4224),
    [anon_sym_BANG] = ACTIONS(4228),
    [anon_sym_TILDE] = ACTIONS(4228),
    [sym_constant] = ACTIONS(8032),
    [sym_identifier] = ACTIONS(8032),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(4056),
    [anon_sym_nil] = ACTIONS(4058),
    [anon_sym_self] = ACTIONS(4060),
    [anon_sym_super] = ACTIONS(4062),
    [anon_sym_true] = ACTIONS(4064),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4232),
    [sym_float] = ACTIONS(4234),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4236),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4238),
    [sym_keyword__LINE__] = ACTIONS(4238),
    [sym_keyword__ENCODING__] = ACTIONS(4238),
    [sym__character_literal] = ACTIONS(4240),
    [anon_sym_LBRACK] = ACTIONS(4242),
    [anon_sym_DASH_GT] = ACTIONS(4244),
  },
  [8971] = {
    [sym_heredoc_end] = STATE(8968),
    [aux_sym_argument_list_repeat2] = STATE(11598),
    [sym__simple_heredoc_body] = ACTIONS(11872),
    [sym__heredoc_body_beginning] = ACTIONS(11874),
    [sym__heredoc_body_middle] = ACTIONS(5472),
    [sym__heredoc_body_end] = ACTIONS(5472),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_LBRACE] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(14552),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_STAR_STAR] = ACTIONS(5474),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_EQ] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_if] = ACTIONS(5472),
    [anon_sym_unless] = ACTIONS(5472),
    [anon_sym_while] = ACTIONS(5472),
    [anon_sym_until] = ACTIONS(5472),
    [anon_sym_rescue] = ACTIONS(5472),
    [anon_sym_do] = ACTIONS(5472),
    [anon_sym_EQ_GT] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_PLUS_EQ] = ACTIONS(5472),
    [anon_sym_DASH_EQ] = ACTIONS(5472),
    [anon_sym_STAR_EQ] = ACTIONS(5472),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5472),
    [anon_sym_SLASH_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5472),
    [anon_sym_AMP_EQ] = ACTIONS(5472),
    [anon_sym_PERCENT_EQ] = ACTIONS(5472),
    [anon_sym_GT_GT_EQ] = ACTIONS(5472),
    [anon_sym_LT_LT_EQ] = ACTIONS(5472),
    [anon_sym_CARET_EQ] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5474),
    [anon_sym_AMP_AMP] = ACTIONS(5474),
    [anon_sym_LT_LT] = ACTIONS(5474),
    [anon_sym_GT_GT] = ACTIONS(5474),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5474),
    [anon_sym_PLUS] = ACTIONS(5474),
    [anon_sym_SLASH] = ACTIONS(5474),
    [anon_sym_PERCENT] = ACTIONS(5474),
    [sym_comment] = ACTIONS(256),
  },
  [8972] = {
    [sym_method] = STATE(2839),
    [sym_singleton_method] = STATE(2839),
    [sym_class] = STATE(2839),
    [sym_singleton_class] = STATE(2839),
    [sym_module] = STATE(2839),
    [sym_return] = STATE(2839),
    [sym_yield] = STATE(2839),
    [sym_break] = STATE(2839),
    [sym_next] = STATE(2839),
    [sym_redo] = STATE(2839),
    [sym_retry] = STATE(2839),
    [sym_while] = STATE(2839),
    [sym_until] = STATE(2839),
    [sym_for] = STATE(2839),
    [sym_case] = STATE(2839),
    [sym_if] = STATE(2839),
    [sym_unless] = STATE(2839),
    [sym_begin] = STATE(2839),
    [sym__arg] = STATE(11599),
    [sym__primary] = STATE(2874),
    [sym_parenthesized_statements] = STATE(2839),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2875),
    [sym_call] = STATE(2875),
    [sym_method_call] = STATE(2764),
    [sym_assignment] = STATE(2881),
    [sym_operator_assignment] = STATE(2881),
    [sym_conditional] = STATE(2881),
    [sym_range] = STATE(2881),
    [sym_binary] = STATE(2881),
    [sym_unary] = STATE(2881),
    [sym_left_assignment_list] = STATE(2882),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2883),
    [sym__variable] = STATE(2875),
    [sym_symbol] = STATE(2839),
    [sym_complex] = STATE(2839),
    [sym_rational] = STATE(2839),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2839),
    [sym_string] = STATE(5842),
    [sym_subshell] = STATE(2839),
    [sym_array] = STATE(2839),
    [sym_hash] = STATE(2839),
    [sym_regex] = STATE(2839),
    [sym_lambda] = STATE(2839),
    [sym__simple_string] = ACTIONS(8168),
    [sym__simple_symbol] = ACTIONS(4164),
    [sym__simple_subshell] = ACTIONS(4166),
    [sym__simple_regex] = ACTIONS(4168),
    [sym__simple_word_list] = ACTIONS(4170),
    [sym__string_beginning] = ACTIONS(8170),
    [sym__symbol_beginning] = ACTIONS(4174),
    [sym__subshell_beginning] = ACTIONS(4176),
    [sym__regex_beginning] = ACTIONS(4178),
    [sym__word_list_beginning] = ACTIONS(4180),
    [sym_heredoc_beginning] = ACTIONS(4182),
    [sym__unary_minus] = ACTIONS(4190),
    [anon_sym_LBRACE] = ACTIONS(8172),
    [anon_sym_def] = ACTIONS(8174),
    [anon_sym_LPAREN] = ACTIONS(4196),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8176),
    [anon_sym_module] = ACTIONS(8178),
    [anon_sym_return] = ACTIONS(8180),
    [anon_sym_yield] = ACTIONS(8182),
    [anon_sym_break] = ACTIONS(8184),
    [anon_sym_next] = ACTIONS(8186),
    [anon_sym_redo] = ACTIONS(8188),
    [anon_sym_retry] = ACTIONS(8190),
    [anon_sym_if] = ACTIONS(8192),
    [anon_sym_unless] = ACTIONS(8194),
    [anon_sym_while] = ACTIONS(8196),
    [anon_sym_until] = ACTIONS(8198),
    [anon_sym_for] = ACTIONS(8200),
    [anon_sym_case] = ACTIONS(8202),
    [anon_sym_begin] = ACTIONS(8204),
    [anon_sym_PLUS] = ACTIONS(8206),
    [anon_sym_defined_QMARK] = ACTIONS(4222),
    [anon_sym_not] = ACTIONS(8208),
    [anon_sym_BANG] = ACTIONS(4228),
    [anon_sym_TILDE] = ACTIONS(4228),
    [sym_constant] = ACTIONS(7946),
    [sym_identifier] = ACTIONS(7946),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_false] = ACTIONS(4074),
    [anon_sym_nil] = ACTIONS(4076),
    [anon_sym_self] = ACTIONS(7948),
    [anon_sym_super] = ACTIONS(7950),
    [anon_sym_true] = ACTIONS(4072),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4232),
    [sym_float] = ACTIONS(4234),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4236),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4238),
    [sym_keyword__LINE__] = ACTIONS(4238),
    [sym_keyword__ENCODING__] = ACTIONS(4238),
    [sym__character_literal] = ACTIONS(8210),
    [anon_sym_LBRACK] = ACTIONS(4242),
    [anon_sym_DASH_GT] = ACTIONS(4244),
  },
  [8973] = {
    [sym__heredoc_body_middle] = ACTIONS(4108),
    [sym__heredoc_body_end] = ACTIONS(14554),
    [anon_sym_if] = ACTIONS(4112),
    [anon_sym_unless] = ACTIONS(4114),
    [anon_sym_while] = ACTIONS(4116),
    [anon_sym_until] = ACTIONS(4118),
    [anon_sym_rescue] = ACTIONS(4120),
    [sym_comment] = ACTIONS(110),
  },
  [8974] = {
    [sym__statement] = STATE(11601),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [8975] = {
    [sym__simple_heredoc_body] = ACTIONS(9492),
    [sym__heredoc_body_beginning] = ACTIONS(9492),
    [sym__heredoc_body_middle] = ACTIONS(9492),
    [sym__heredoc_body_end] = ACTIONS(9492),
    [sym__element_reference_left_bracket] = ACTIONS(9492),
    [sym__scope_double_colon] = ACTIONS(9492),
    [sym__binary_minus] = ACTIONS(9492),
    [sym__binary_star] = ACTIONS(9492),
    [anon_sym_DOT] = ACTIONS(9494),
    [anon_sym_COMMA] = ACTIONS(9492),
    [anon_sym_PIPE] = ACTIONS(9494),
    [anon_sym_STAR_STAR] = ACTIONS(9492),
    [anon_sym_AMP] = ACTIONS(9494),
    [anon_sym_LT] = ACTIONS(9494),
    [anon_sym_if] = ACTIONS(9492),
    [anon_sym_unless] = ACTIONS(9492),
    [anon_sym_while] = ACTIONS(9492),
    [anon_sym_until] = ACTIONS(9492),
    [anon_sym_rescue] = ACTIONS(9492),
    [anon_sym_EQ_GT] = ACTIONS(9492),
    [anon_sym_AMP_DOT] = ACTIONS(9492),
    [anon_sym_QMARK] = ACTIONS(9492),
    [anon_sym_DOT_DOT] = ACTIONS(9494),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9492),
    [anon_sym_and] = ACTIONS(9492),
    [anon_sym_or] = ACTIONS(9492),
    [anon_sym_PIPE_PIPE] = ACTIONS(9492),
    [anon_sym_AMP_AMP] = ACTIONS(9492),
    [anon_sym_LT_LT] = ACTIONS(9492),
    [anon_sym_GT_GT] = ACTIONS(9492),
    [anon_sym_EQ_EQ] = ACTIONS(9494),
    [anon_sym_BANG_EQ] = ACTIONS(9492),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9492),
    [anon_sym_LT_EQ_GT] = ACTIONS(9492),
    [anon_sym_EQ_TILDE] = ACTIONS(9492),
    [anon_sym_BANG_TILDE] = ACTIONS(9492),
    [anon_sym_LT_EQ] = ACTIONS(9494),
    [anon_sym_GT] = ACTIONS(9494),
    [anon_sym_GT_EQ] = ACTIONS(9492),
    [anon_sym_CARET] = ACTIONS(9492),
    [anon_sym_PLUS] = ACTIONS(9492),
    [anon_sym_SLASH] = ACTIONS(9492),
    [anon_sym_PERCENT] = ACTIONS(9492),
    [sym_comment] = ACTIONS(110),
  },
  [8976] = {
    [sym__simple_heredoc_body] = ACTIONS(9496),
    [sym__heredoc_body_beginning] = ACTIONS(9496),
    [sym__heredoc_body_middle] = ACTIONS(9496),
    [sym__heredoc_body_end] = ACTIONS(9496),
    [sym__element_reference_left_bracket] = ACTIONS(9496),
    [sym__scope_double_colon] = ACTIONS(9496),
    [sym__binary_minus] = ACTIONS(9496),
    [sym__binary_star] = ACTIONS(9496),
    [anon_sym_DOT] = ACTIONS(9498),
    [anon_sym_COMMA] = ACTIONS(9496),
    [anon_sym_PIPE] = ACTIONS(9498),
    [anon_sym_STAR_STAR] = ACTIONS(9496),
    [anon_sym_AMP] = ACTIONS(9498),
    [anon_sym_LT] = ACTIONS(9498),
    [anon_sym_if] = ACTIONS(9496),
    [anon_sym_unless] = ACTIONS(9496),
    [anon_sym_while] = ACTIONS(9496),
    [anon_sym_until] = ACTIONS(9496),
    [anon_sym_rescue] = ACTIONS(9496),
    [anon_sym_EQ_GT] = ACTIONS(9496),
    [anon_sym_AMP_DOT] = ACTIONS(9496),
    [anon_sym_QMARK] = ACTIONS(9496),
    [anon_sym_DOT_DOT] = ACTIONS(9498),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9496),
    [anon_sym_and] = ACTIONS(9496),
    [anon_sym_or] = ACTIONS(9496),
    [anon_sym_PIPE_PIPE] = ACTIONS(9496),
    [anon_sym_AMP_AMP] = ACTIONS(9496),
    [anon_sym_LT_LT] = ACTIONS(9496),
    [anon_sym_GT_GT] = ACTIONS(9496),
    [anon_sym_EQ_EQ] = ACTIONS(9498),
    [anon_sym_BANG_EQ] = ACTIONS(9496),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9496),
    [anon_sym_LT_EQ_GT] = ACTIONS(9496),
    [anon_sym_EQ_TILDE] = ACTIONS(9496),
    [anon_sym_BANG_TILDE] = ACTIONS(9496),
    [anon_sym_LT_EQ] = ACTIONS(9498),
    [anon_sym_GT] = ACTIONS(9498),
    [anon_sym_GT_EQ] = ACTIONS(9496),
    [anon_sym_CARET] = ACTIONS(9496),
    [anon_sym_PLUS] = ACTIONS(9496),
    [anon_sym_SLASH] = ACTIONS(9496),
    [anon_sym_PERCENT] = ACTIONS(9496),
    [sym_comment] = ACTIONS(110),
  },
  [8977] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(2762),
    [sym__primary] = STATE(2763),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2765),
    [sym_call] = STATE(2765),
    [sym_method_call] = STATE(2764),
    [sym__argument] = STATE(11602),
    [sym_splat_argument] = STATE(2769),
    [sym_hash_splat_argument] = STATE(2769),
    [sym_block_argument] = STATE(2769),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(2771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2772),
    [sym__variable] = STATE(2765),
    [sym_reserved_identifier] = STATE(2773),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(2774),
    [sym_subshell] = STATE(2719),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_pair] = STATE(2769),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(3984),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__string_beginning] = ACTIONS(3994),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__block_ampersand] = ACTIONS(4006),
    [sym__splat_star] = ACTIONS(4008),
    [sym__unary_minus] = ACTIONS(4012),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(4016),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(11880),
    [anon_sym_class] = ACTIONS(4022),
    [anon_sym_module] = ACTIONS(4024),
    [anon_sym_return] = ACTIONS(4026),
    [anon_sym_yield] = ACTIONS(4028),
    [anon_sym_break] = ACTIONS(4030),
    [anon_sym_next] = ACTIONS(4032),
    [anon_sym_redo] = ACTIONS(4034),
    [anon_sym_retry] = ACTIONS(4036),
    [anon_sym_if] = ACTIONS(11882),
    [anon_sym_unless] = ACTIONS(11884),
    [anon_sym_while] = ACTIONS(11886),
    [anon_sym_until] = ACTIONS(11888),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(4038),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(4040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(4042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(7942),
    [anon_sym_defined_QMARK] = ACTIONS(4044),
    [anon_sym_not] = ACTIONS(4046),
    [anon_sym_BANG] = ACTIONS(4050),
    [anon_sym_TILDE] = ACTIONS(4050),
    [sym_constant] = ACTIONS(4052),
    [sym_identifier] = ACTIONS(4052),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(4056),
    [anon_sym_nil] = ACTIONS(4058),
    [anon_sym_self] = ACTIONS(4060),
    [anon_sym_super] = ACTIONS(4062),
    [anon_sym_true] = ACTIONS(4064),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(4080),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [8978] = {
    [sym_method] = STATE(2719),
    [sym_singleton_method] = STATE(2719),
    [sym_class] = STATE(2719),
    [sym_singleton_class] = STATE(2719),
    [sym_module] = STATE(2719),
    [sym_return] = STATE(2719),
    [sym_yield] = STATE(2719),
    [sym_break] = STATE(2719),
    [sym_next] = STATE(2719),
    [sym_redo] = STATE(2719),
    [sym_retry] = STATE(2719),
    [sym_while] = STATE(2719),
    [sym_until] = STATE(2719),
    [sym_for] = STATE(2719),
    [sym_case] = STATE(2719),
    [sym_if] = STATE(2719),
    [sym_unless] = STATE(2719),
    [sym_begin] = STATE(2719),
    [sym__arg] = STATE(2762),
    [sym__primary] = STATE(2763),
    [sym_parenthesized_statements] = STATE(2719),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2765),
    [sym_call] = STATE(2765),
    [sym_method_call] = STATE(2764),
    [sym__argument] = STATE(11602),
    [sym_splat_argument] = STATE(2769),
    [sym_hash_splat_argument] = STATE(2769),
    [sym_block_argument] = STATE(2769),
    [sym_assignment] = STATE(2770),
    [sym_operator_assignment] = STATE(2770),
    [sym_conditional] = STATE(2770),
    [sym_range] = STATE(2770),
    [sym_binary] = STATE(2770),
    [sym_unary] = STATE(2770),
    [sym_left_assignment_list] = STATE(2771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2772),
    [sym__variable] = STATE(2765),
    [sym_reserved_identifier] = STATE(2773),
    [sym_symbol] = STATE(2719),
    [sym_complex] = STATE(2719),
    [sym_rational] = STATE(2719),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2719),
    [sym_string] = STATE(2774),
    [sym_subshell] = STATE(2719),
    [sym_heredoc_end] = STATE(11603),
    [sym_array] = STATE(2719),
    [sym_hash] = STATE(2719),
    [sym_pair] = STATE(2769),
    [sym_regex] = STATE(2719),
    [sym_lambda] = STATE(2719),
    [sym__simple_string] = ACTIONS(3984),
    [sym__simple_symbol] = ACTIONS(3986),
    [sym__simple_subshell] = ACTIONS(3988),
    [sym__simple_regex] = ACTIONS(3990),
    [sym__simple_word_list] = ACTIONS(3992),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(3994),
    [sym__symbol_beginning] = ACTIONS(3996),
    [sym__subshell_beginning] = ACTIONS(3998),
    [sym__regex_beginning] = ACTIONS(4000),
    [sym__word_list_beginning] = ACTIONS(4002),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(4004),
    [sym__block_ampersand] = ACTIONS(4006),
    [sym__splat_star] = ACTIONS(4008),
    [sym__unary_minus] = ACTIONS(4012),
    [anon_sym_LBRACE] = ACTIONS(4014),
    [anon_sym_def] = ACTIONS(4016),
    [anon_sym_LPAREN] = ACTIONS(4018),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(11880),
    [anon_sym_class] = ACTIONS(4022),
    [anon_sym_module] = ACTIONS(4024),
    [anon_sym_return] = ACTIONS(4026),
    [anon_sym_yield] = ACTIONS(4028),
    [anon_sym_break] = ACTIONS(4030),
    [anon_sym_next] = ACTIONS(4032),
    [anon_sym_redo] = ACTIONS(4034),
    [anon_sym_retry] = ACTIONS(4036),
    [anon_sym_if] = ACTIONS(11882),
    [anon_sym_unless] = ACTIONS(11884),
    [anon_sym_while] = ACTIONS(11886),
    [anon_sym_until] = ACTIONS(11888),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(4038),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(4040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(4042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(7942),
    [anon_sym_defined_QMARK] = ACTIONS(4044),
    [anon_sym_not] = ACTIONS(4046),
    [anon_sym_BANG] = ACTIONS(4050),
    [anon_sym_TILDE] = ACTIONS(4050),
    [sym_constant] = ACTIONS(4052),
    [sym_identifier] = ACTIONS(4052),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(4056),
    [anon_sym_nil] = ACTIONS(4058),
    [anon_sym_self] = ACTIONS(4060),
    [anon_sym_super] = ACTIONS(4062),
    [anon_sym_true] = ACTIONS(4064),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4066),
    [sym_float] = ACTIONS(4068),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4070),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4078),
    [sym_keyword__LINE__] = ACTIONS(4078),
    [sym_keyword__ENCODING__] = ACTIONS(4078),
    [sym__character_literal] = ACTIONS(4080),
    [anon_sym_LBRACK] = ACTIONS(4082),
    [anon_sym_DASH_GT] = ACTIONS(4084),
  },
  [8979] = {
    [sym_heredoc_end] = STATE(8975),
    [sym__simple_heredoc_body] = ACTIONS(8034),
    [sym__heredoc_body_beginning] = ACTIONS(8036),
    [sym__heredoc_body_middle] = ACTIONS(9500),
    [sym__heredoc_body_end] = ACTIONS(9500),
    [sym__element_reference_left_bracket] = ACTIONS(9500),
    [sym__scope_double_colon] = ACTIONS(9500),
    [sym__binary_minus] = ACTIONS(9500),
    [sym__binary_star] = ACTIONS(9500),
    [anon_sym_DOT] = ACTIONS(9502),
    [anon_sym_COMMA] = ACTIONS(9500),
    [anon_sym_PIPE] = ACTIONS(9502),
    [anon_sym_STAR_STAR] = ACTIONS(9500),
    [anon_sym_AMP] = ACTIONS(9502),
    [anon_sym_LT] = ACTIONS(9502),
    [anon_sym_if] = ACTIONS(9500),
    [anon_sym_unless] = ACTIONS(9500),
    [anon_sym_while] = ACTIONS(9500),
    [anon_sym_until] = ACTIONS(9500),
    [anon_sym_rescue] = ACTIONS(9500),
    [anon_sym_EQ_GT] = ACTIONS(9500),
    [anon_sym_AMP_DOT] = ACTIONS(9500),
    [anon_sym_QMARK] = ACTIONS(9500),
    [anon_sym_DOT_DOT] = ACTIONS(9502),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9500),
    [anon_sym_and] = ACTIONS(9500),
    [anon_sym_or] = ACTIONS(9500),
    [anon_sym_PIPE_PIPE] = ACTIONS(9500),
    [anon_sym_AMP_AMP] = ACTIONS(9500),
    [anon_sym_LT_LT] = ACTIONS(9500),
    [anon_sym_GT_GT] = ACTIONS(9500),
    [anon_sym_EQ_EQ] = ACTIONS(9502),
    [anon_sym_BANG_EQ] = ACTIONS(9500),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9500),
    [anon_sym_LT_EQ_GT] = ACTIONS(9500),
    [anon_sym_EQ_TILDE] = ACTIONS(9500),
    [anon_sym_BANG_TILDE] = ACTIONS(9500),
    [anon_sym_LT_EQ] = ACTIONS(9502),
    [anon_sym_GT] = ACTIONS(9502),
    [anon_sym_GT_EQ] = ACTIONS(9500),
    [anon_sym_CARET] = ACTIONS(9500),
    [anon_sym_PLUS] = ACTIONS(9500),
    [anon_sym_SLASH] = ACTIONS(9500),
    [anon_sym_PERCENT] = ACTIONS(9500),
    [sym_comment] = ACTIONS(110),
  },
  [8980] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__heredoc_body_middle] = ACTIONS(6346),
    [sym__heredoc_body_end] = ACTIONS(6346),
    [sym__element_reference_left_bracket] = ACTIONS(6346),
    [sym__scope_double_colon] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(7984),
    [sym__binary_star] = ACTIONS(7986),
    [anon_sym_DOT] = ACTIONS(7328),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(7988),
    [anon_sym_STAR_STAR] = ACTIONS(7990),
    [anon_sym_AMP] = ACTIONS(7992),
    [anon_sym_LT] = ACTIONS(7994),
    [anon_sym_if] = ACTIONS(6346),
    [anon_sym_unless] = ACTIONS(6346),
    [anon_sym_while] = ACTIONS(6346),
    [anon_sym_until] = ACTIONS(6346),
    [anon_sym_rescue] = ACTIONS(6346),
    [anon_sym_EQ_GT] = ACTIONS(6346),
    [anon_sym_AMP_DOT] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(7996),
    [anon_sym_DOT_DOT] = ACTIONS(7998),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8000),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(8002),
    [anon_sym_AMP_AMP] = ACTIONS(8002),
    [anon_sym_LT_LT] = ACTIONS(8004),
    [anon_sym_GT_GT] = ACTIONS(8004),
    [anon_sym_EQ_EQ] = ACTIONS(8006),
    [anon_sym_BANG_EQ] = ACTIONS(8002),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8002),
    [anon_sym_LT_EQ_GT] = ACTIONS(8002),
    [anon_sym_EQ_TILDE] = ACTIONS(8002),
    [anon_sym_BANG_TILDE] = ACTIONS(8002),
    [anon_sym_LT_EQ] = ACTIONS(7994),
    [anon_sym_GT] = ACTIONS(7994),
    [anon_sym_GT_EQ] = ACTIONS(8008),
    [anon_sym_CARET] = ACTIONS(8010),
    [anon_sym_PLUS] = ACTIONS(8012),
    [anon_sym_SLASH] = ACTIONS(7990),
    [anon_sym_PERCENT] = ACTIONS(7990),
    [sym_comment] = ACTIONS(110),
  },
  [8981] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__heredoc_body_middle] = ACTIONS(6346),
    [sym__heredoc_body_end] = ACTIONS(6346),
    [sym__element_reference_left_bracket] = ACTIONS(6346),
    [sym__scope_double_colon] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(6346),
    [sym__binary_star] = ACTIONS(6346),
    [anon_sym_DOT] = ACTIONS(7328),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(7328),
    [anon_sym_STAR_STAR] = ACTIONS(6346),
    [anon_sym_AMP] = ACTIONS(7328),
    [anon_sym_LT] = ACTIONS(7328),
    [anon_sym_if] = ACTIONS(6346),
    [anon_sym_unless] = ACTIONS(6346),
    [anon_sym_while] = ACTIONS(6346),
    [anon_sym_until] = ACTIONS(6346),
    [anon_sym_rescue] = ACTIONS(6346),
    [anon_sym_EQ_GT] = ACTIONS(6346),
    [anon_sym_AMP_DOT] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(6346),
    [anon_sym_DOT_DOT] = ACTIONS(7328),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6346),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(6346),
    [anon_sym_AMP_AMP] = ACTIONS(6346),
    [anon_sym_LT_LT] = ACTIONS(6346),
    [anon_sym_GT_GT] = ACTIONS(6346),
    [anon_sym_EQ_EQ] = ACTIONS(7328),
    [anon_sym_BANG_EQ] = ACTIONS(6346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6346),
    [anon_sym_LT_EQ_GT] = ACTIONS(6346),
    [anon_sym_EQ_TILDE] = ACTIONS(6346),
    [anon_sym_BANG_TILDE] = ACTIONS(6346),
    [anon_sym_LT_EQ] = ACTIONS(7328),
    [anon_sym_GT] = ACTIONS(7328),
    [anon_sym_GT_EQ] = ACTIONS(6346),
    [anon_sym_CARET] = ACTIONS(6346),
    [anon_sym_PLUS] = ACTIONS(6346),
    [anon_sym_SLASH] = ACTIONS(6346),
    [anon_sym_PERCENT] = ACTIONS(6346),
    [sym_comment] = ACTIONS(110),
  },
  [8982] = {
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__heredoc_body_middle] = ACTIONS(7330),
    [sym__heredoc_body_end] = ACTIONS(7330),
    [sym__element_reference_left_bracket] = ACTIONS(7330),
    [sym__scope_double_colon] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_DOT] = ACTIONS(7332),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_if] = ACTIONS(7330),
    [anon_sym_unless] = ACTIONS(7330),
    [anon_sym_while] = ACTIONS(7330),
    [anon_sym_until] = ACTIONS(7330),
    [anon_sym_rescue] = ACTIONS(7330),
    [anon_sym_EQ_GT] = ACTIONS(7330),
    [anon_sym_AMP_DOT] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [8983] = {
    [aux_sym_exceptions_repeat1] = STATE(11605),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__heredoc_body_middle] = ACTIONS(7330),
    [sym__heredoc_body_end] = ACTIONS(7330),
    [sym__element_reference_left_bracket] = ACTIONS(7330),
    [sym__scope_double_colon] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_DOT] = ACTIONS(7332),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_if] = ACTIONS(7330),
    [anon_sym_unless] = ACTIONS(7330),
    [anon_sym_while] = ACTIONS(7330),
    [anon_sym_until] = ACTIONS(7330),
    [anon_sym_rescue] = ACTIONS(7330),
    [anon_sym_EQ_GT] = ACTIONS(7330),
    [anon_sym_AMP_DOT] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [8984] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__heredoc_body_middle] = ACTIONS(7344),
    [sym__heredoc_body_end] = ACTIONS(7344),
    [sym__element_reference_left_bracket] = ACTIONS(7344),
    [sym__scope_double_colon] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(7984),
    [sym__binary_star] = ACTIONS(7986),
    [anon_sym_DOT] = ACTIONS(9504),
    [anon_sym_COMMA] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(7988),
    [anon_sym_STAR_STAR] = ACTIONS(7990),
    [anon_sym_AMP] = ACTIONS(7992),
    [anon_sym_LT] = ACTIONS(7994),
    [anon_sym_if] = ACTIONS(7344),
    [anon_sym_unless] = ACTIONS(7344),
    [anon_sym_while] = ACTIONS(7344),
    [anon_sym_until] = ACTIONS(7344),
    [anon_sym_rescue] = ACTIONS(7344),
    [anon_sym_EQ_GT] = ACTIONS(7344),
    [anon_sym_AMP_DOT] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(7996),
    [anon_sym_DOT_DOT] = ACTIONS(7998),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8000),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(8002),
    [anon_sym_AMP_AMP] = ACTIONS(8002),
    [anon_sym_LT_LT] = ACTIONS(8004),
    [anon_sym_GT_GT] = ACTIONS(8004),
    [anon_sym_EQ_EQ] = ACTIONS(8006),
    [anon_sym_BANG_EQ] = ACTIONS(8002),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8002),
    [anon_sym_LT_EQ_GT] = ACTIONS(8002),
    [anon_sym_EQ_TILDE] = ACTIONS(8002),
    [anon_sym_BANG_TILDE] = ACTIONS(8002),
    [anon_sym_LT_EQ] = ACTIONS(7994),
    [anon_sym_GT] = ACTIONS(7994),
    [anon_sym_GT_EQ] = ACTIONS(8008),
    [anon_sym_CARET] = ACTIONS(8010),
    [anon_sym_PLUS] = ACTIONS(8012),
    [anon_sym_SLASH] = ACTIONS(7990),
    [anon_sym_PERCENT] = ACTIONS(7990),
    [sym_comment] = ACTIONS(110),
  },
  [8985] = {
    [sym__simple_heredoc_body] = ACTIONS(8662),
    [sym__heredoc_body_beginning] = ACTIONS(8662),
    [sym__heredoc_body_middle] = ACTIONS(8662),
    [sym__heredoc_body_end] = ACTIONS(8662),
    [sym__element_reference_left_bracket] = ACTIONS(8662),
    [sym__scope_double_colon] = ACTIONS(8662),
    [sym__binary_minus] = ACTIONS(11774),
    [sym__binary_star] = ACTIONS(11776),
    [anon_sym_DOT] = ACTIONS(9506),
    [anon_sym_COMMA] = ACTIONS(8662),
    [anon_sym_PIPE] = ACTIONS(11778),
    [anon_sym_STAR_STAR] = ACTIONS(11780),
    [anon_sym_AMP] = ACTIONS(11782),
    [anon_sym_LT] = ACTIONS(11784),
    [anon_sym_if] = ACTIONS(8662),
    [anon_sym_unless] = ACTIONS(8662),
    [anon_sym_while] = ACTIONS(8662),
    [anon_sym_until] = ACTIONS(8662),
    [anon_sym_rescue] = ACTIONS(8662),
    [anon_sym_AMP_DOT] = ACTIONS(8662),
    [anon_sym_QMARK] = ACTIONS(11786),
    [anon_sym_DOT_DOT] = ACTIONS(11788),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11790),
    [anon_sym_and] = ACTIONS(8662),
    [anon_sym_or] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE] = ACTIONS(11792),
    [anon_sym_AMP_AMP] = ACTIONS(11792),
    [anon_sym_LT_LT] = ACTIONS(11794),
    [anon_sym_GT_GT] = ACTIONS(11794),
    [anon_sym_EQ_EQ] = ACTIONS(11796),
    [anon_sym_BANG_EQ] = ACTIONS(11792),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11792),
    [anon_sym_LT_EQ_GT] = ACTIONS(11792),
    [anon_sym_EQ_TILDE] = ACTIONS(11792),
    [anon_sym_BANG_TILDE] = ACTIONS(11792),
    [anon_sym_LT_EQ] = ACTIONS(11784),
    [anon_sym_GT] = ACTIONS(11784),
    [anon_sym_GT_EQ] = ACTIONS(11798),
    [anon_sym_CARET] = ACTIONS(11800),
    [anon_sym_PLUS] = ACTIONS(11802),
    [anon_sym_SLASH] = ACTIONS(11780),
    [anon_sym_PERCENT] = ACTIONS(11780),
    [sym_comment] = ACTIONS(110),
  },
  [8986] = {
    [sym__simple_string] = ACTIONS(7346),
    [sym__simple_heredoc_body] = ACTIONS(7346),
    [sym__string_beginning] = ACTIONS(7346),
    [sym__heredoc_body_beginning] = ACTIONS(7346),
    [sym__heredoc_body_middle] = ACTIONS(7346),
    [sym__heredoc_body_end] = ACTIONS(7346),
    [sym__element_reference_left_bracket] = ACTIONS(7346),
    [sym__scope_double_colon] = ACTIONS(7346),
    [sym__binary_minus] = ACTIONS(7346),
    [sym__binary_star] = ACTIONS(7346),
    [anon_sym_DOT] = ACTIONS(7348),
    [anon_sym_COMMA] = ACTIONS(7346),
    [anon_sym_PIPE] = ACTIONS(7348),
    [anon_sym_STAR_STAR] = ACTIONS(7346),
    [anon_sym_AMP] = ACTIONS(7348),
    [anon_sym_LT] = ACTIONS(7348),
    [anon_sym_if] = ACTIONS(7346),
    [anon_sym_unless] = ACTIONS(7346),
    [anon_sym_while] = ACTIONS(7346),
    [anon_sym_until] = ACTIONS(7346),
    [anon_sym_rescue] = ACTIONS(7346),
    [anon_sym_EQ_GT] = ACTIONS(7346),
    [anon_sym_AMP_DOT] = ACTIONS(7346),
    [anon_sym_QMARK] = ACTIONS(7348),
    [anon_sym_DOT_DOT] = ACTIONS(7348),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7346),
    [anon_sym_and] = ACTIONS(7346),
    [anon_sym_or] = ACTIONS(7346),
    [anon_sym_PIPE_PIPE] = ACTIONS(7346),
    [anon_sym_AMP_AMP] = ACTIONS(7346),
    [anon_sym_LT_LT] = ACTIONS(7346),
    [anon_sym_GT_GT] = ACTIONS(7346),
    [anon_sym_EQ_EQ] = ACTIONS(7348),
    [anon_sym_BANG_EQ] = ACTIONS(7346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7346),
    [anon_sym_LT_EQ_GT] = ACTIONS(7346),
    [anon_sym_EQ_TILDE] = ACTIONS(7346),
    [anon_sym_BANG_TILDE] = ACTIONS(7346),
    [anon_sym_LT_EQ] = ACTIONS(7348),
    [anon_sym_GT] = ACTIONS(7348),
    [anon_sym_GT_EQ] = ACTIONS(7346),
    [anon_sym_CARET] = ACTIONS(7346),
    [anon_sym_PLUS] = ACTIONS(7346),
    [anon_sym_SLASH] = ACTIONS(7346),
    [anon_sym_PERCENT] = ACTIONS(7346),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(7348),
  },
  [8987] = {
    [sym__heredoc_body_middle] = ACTIONS(9562),
    [sym__heredoc_body_end] = ACTIONS(9562),
    [sym__element_reference_left_bracket] = ACTIONS(9562),
    [sym__scope_double_colon] = ACTIONS(9562),
    [sym__binary_minus] = ACTIONS(9562),
    [sym__binary_star] = ACTIONS(9562),
    [anon_sym_DOT] = ACTIONS(9564),
    [anon_sym_COMMA] = ACTIONS(9562),
    [anon_sym_PIPE] = ACTIONS(9564),
    [anon_sym_STAR_STAR] = ACTIONS(9562),
    [anon_sym_AMP] = ACTIONS(9564),
    [anon_sym_LT] = ACTIONS(9564),
    [anon_sym_if] = ACTIONS(9562),
    [anon_sym_unless] = ACTIONS(9562),
    [anon_sym_while] = ACTIONS(9562),
    [anon_sym_until] = ACTIONS(9562),
    [anon_sym_rescue] = ACTIONS(9562),
    [anon_sym_AMP_DOT] = ACTIONS(9562),
    [anon_sym_QMARK] = ACTIONS(9562),
    [anon_sym_DOT_DOT] = ACTIONS(9564),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9562),
    [anon_sym_and] = ACTIONS(9562),
    [anon_sym_or] = ACTIONS(9562),
    [anon_sym_PIPE_PIPE] = ACTIONS(9562),
    [anon_sym_AMP_AMP] = ACTIONS(9562),
    [anon_sym_LT_LT] = ACTIONS(9562),
    [anon_sym_GT_GT] = ACTIONS(9562),
    [anon_sym_EQ_EQ] = ACTIONS(9564),
    [anon_sym_BANG_EQ] = ACTIONS(9562),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9562),
    [anon_sym_LT_EQ_GT] = ACTIONS(9562),
    [anon_sym_EQ_TILDE] = ACTIONS(9562),
    [anon_sym_BANG_TILDE] = ACTIONS(9562),
    [anon_sym_LT_EQ] = ACTIONS(9564),
    [anon_sym_GT] = ACTIONS(9564),
    [anon_sym_GT_EQ] = ACTIONS(9562),
    [anon_sym_CARET] = ACTIONS(9562),
    [anon_sym_PLUS] = ACTIONS(9562),
    [anon_sym_SLASH] = ACTIONS(9562),
    [anon_sym_PERCENT] = ACTIONS(9562),
    [sym_comment] = ACTIONS(110),
  },
  [8988] = {
    [sym_elsif] = STATE(3865),
    [sym_else] = STATE(3865),
    [sym__if_tail] = STATE(11607),
    [anon_sym_end] = ACTIONS(14556),
    [anon_sym_elsif] = ACTIONS(9592),
    [anon_sym_else] = ACTIONS(9594),
    [sym_comment] = ACTIONS(110),
  },
  [8989] = {
    [anon_sym_end] = ACTIONS(14556),
    [sym_comment] = ACTIONS(110),
  },
  [8990] = {
    [sym__statements] = STATE(11608),
    [sym__top_level_statement] = STATE(3863),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(3864),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_elsif] = STATE(3865),
    [sym_else] = STATE(3865),
    [sym__if_tail] = STATE(11607),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3867),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3869),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3870),
    [sym__variable] = STATE(3868),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5572),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14558),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_elsif] = ACTIONS(5586),
    [anon_sym_else] = ACTIONS(5588),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5590),
    [anon_sym_defined_QMARK] = ACTIONS(5592),
    [anon_sym_not] = ACTIONS(5594),
    [anon_sym_BANG] = ACTIONS(5596),
    [anon_sym_TILDE] = ACTIONS(5596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8991] = {
    [sym__heredoc_body_middle] = ACTIONS(9758),
    [sym__heredoc_body_end] = ACTIONS(9758),
    [sym__element_reference_left_bracket] = ACTIONS(9758),
    [sym__scope_double_colon] = ACTIONS(9758),
    [sym__binary_minus] = ACTIONS(9758),
    [sym__binary_star] = ACTIONS(9758),
    [anon_sym_DOT] = ACTIONS(9760),
    [anon_sym_COMMA] = ACTIONS(9758),
    [anon_sym_PIPE] = ACTIONS(9760),
    [anon_sym_STAR_STAR] = ACTIONS(9758),
    [anon_sym_AMP] = ACTIONS(9760),
    [anon_sym_LT] = ACTIONS(9760),
    [anon_sym_if] = ACTIONS(9758),
    [anon_sym_unless] = ACTIONS(9758),
    [anon_sym_while] = ACTIONS(9758),
    [anon_sym_until] = ACTIONS(9758),
    [anon_sym_rescue] = ACTIONS(9758),
    [anon_sym_AMP_DOT] = ACTIONS(9758),
    [anon_sym_QMARK] = ACTIONS(9758),
    [anon_sym_DOT_DOT] = ACTIONS(9760),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9758),
    [anon_sym_and] = ACTIONS(9758),
    [anon_sym_or] = ACTIONS(9758),
    [anon_sym_PIPE_PIPE] = ACTIONS(9758),
    [anon_sym_AMP_AMP] = ACTIONS(9758),
    [anon_sym_LT_LT] = ACTIONS(9758),
    [anon_sym_GT_GT] = ACTIONS(9758),
    [anon_sym_EQ_EQ] = ACTIONS(9760),
    [anon_sym_BANG_EQ] = ACTIONS(9758),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9758),
    [anon_sym_LT_EQ_GT] = ACTIONS(9758),
    [anon_sym_EQ_TILDE] = ACTIONS(9758),
    [anon_sym_BANG_TILDE] = ACTIONS(9758),
    [anon_sym_LT_EQ] = ACTIONS(9760),
    [anon_sym_GT] = ACTIONS(9760),
    [anon_sym_GT_EQ] = ACTIONS(9758),
    [anon_sym_CARET] = ACTIONS(9758),
    [anon_sym_PLUS] = ACTIONS(9758),
    [anon_sym_SLASH] = ACTIONS(9758),
    [anon_sym_PERCENT] = ACTIONS(9758),
    [sym_comment] = ACTIONS(110),
  },
  [8992] = {
    [sym_else] = STATE(11610),
    [anon_sym_end] = ACTIONS(14560),
    [anon_sym_else] = ACTIONS(9594),
    [sym_comment] = ACTIONS(110),
  },
  [8993] = {
    [anon_sym_end] = ACTIONS(14560),
    [sym_comment] = ACTIONS(110),
  },
  [8994] = {
    [sym__heredoc_body_middle] = ACTIONS(9922),
    [sym__heredoc_body_end] = ACTIONS(9922),
    [sym__element_reference_left_bracket] = ACTIONS(9922),
    [sym__scope_double_colon] = ACTIONS(9922),
    [sym__binary_minus] = ACTIONS(9922),
    [sym__binary_star] = ACTIONS(9922),
    [anon_sym_DOT] = ACTIONS(9924),
    [anon_sym_COMMA] = ACTIONS(9922),
    [anon_sym_PIPE] = ACTIONS(9924),
    [anon_sym_STAR_STAR] = ACTIONS(9922),
    [anon_sym_AMP] = ACTIONS(9924),
    [anon_sym_LT] = ACTIONS(9924),
    [anon_sym_if] = ACTIONS(9922),
    [anon_sym_unless] = ACTIONS(9922),
    [anon_sym_while] = ACTIONS(9922),
    [anon_sym_until] = ACTIONS(9922),
    [anon_sym_rescue] = ACTIONS(9922),
    [anon_sym_AMP_DOT] = ACTIONS(9922),
    [anon_sym_QMARK] = ACTIONS(9922),
    [anon_sym_DOT_DOT] = ACTIONS(9924),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9922),
    [anon_sym_and] = ACTIONS(9922),
    [anon_sym_or] = ACTIONS(9922),
    [anon_sym_PIPE_PIPE] = ACTIONS(9922),
    [anon_sym_AMP_AMP] = ACTIONS(9922),
    [anon_sym_LT_LT] = ACTIONS(9922),
    [anon_sym_GT_GT] = ACTIONS(9922),
    [anon_sym_EQ_EQ] = ACTIONS(9924),
    [anon_sym_BANG_EQ] = ACTIONS(9922),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9922),
    [anon_sym_LT_EQ_GT] = ACTIONS(9922),
    [anon_sym_EQ_TILDE] = ACTIONS(9922),
    [anon_sym_BANG_TILDE] = ACTIONS(9922),
    [anon_sym_LT_EQ] = ACTIONS(9924),
    [anon_sym_GT] = ACTIONS(9924),
    [anon_sym_GT_EQ] = ACTIONS(9922),
    [anon_sym_CARET] = ACTIONS(9922),
    [anon_sym_PLUS] = ACTIONS(9922),
    [anon_sym_SLASH] = ACTIONS(9922),
    [anon_sym_PERCENT] = ACTIONS(9922),
    [sym_comment] = ACTIONS(110),
  },
  [8995] = {
    [anon_sym_end] = ACTIONS(14562),
    [sym_comment] = ACTIONS(110),
  },
  [8996] = {
    [sym__heredoc_body_middle] = ACTIONS(10004),
    [sym__heredoc_body_end] = ACTIONS(10004),
    [sym__element_reference_left_bracket] = ACTIONS(10004),
    [sym__scope_double_colon] = ACTIONS(10004),
    [sym__binary_minus] = ACTIONS(10004),
    [sym__binary_star] = ACTIONS(10004),
    [anon_sym_DOT] = ACTIONS(10006),
    [anon_sym_COMMA] = ACTIONS(10004),
    [anon_sym_PIPE] = ACTIONS(10006),
    [anon_sym_STAR_STAR] = ACTIONS(10004),
    [anon_sym_AMP] = ACTIONS(10006),
    [anon_sym_LT] = ACTIONS(10006),
    [anon_sym_if] = ACTIONS(10004),
    [anon_sym_unless] = ACTIONS(10004),
    [anon_sym_while] = ACTIONS(10004),
    [anon_sym_until] = ACTIONS(10004),
    [anon_sym_rescue] = ACTIONS(10004),
    [anon_sym_AMP_DOT] = ACTIONS(10004),
    [anon_sym_QMARK] = ACTIONS(10004),
    [anon_sym_DOT_DOT] = ACTIONS(10006),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10004),
    [anon_sym_and] = ACTIONS(10004),
    [anon_sym_or] = ACTIONS(10004),
    [anon_sym_PIPE_PIPE] = ACTIONS(10004),
    [anon_sym_AMP_AMP] = ACTIONS(10004),
    [anon_sym_LT_LT] = ACTIONS(10004),
    [anon_sym_GT_GT] = ACTIONS(10004),
    [anon_sym_EQ_EQ] = ACTIONS(10006),
    [anon_sym_BANG_EQ] = ACTIONS(10004),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10004),
    [anon_sym_LT_EQ_GT] = ACTIONS(10004),
    [anon_sym_EQ_TILDE] = ACTIONS(10004),
    [anon_sym_BANG_TILDE] = ACTIONS(10004),
    [anon_sym_LT_EQ] = ACTIONS(10006),
    [anon_sym_GT] = ACTIONS(10006),
    [anon_sym_GT_EQ] = ACTIONS(10004),
    [anon_sym_CARET] = ACTIONS(10004),
    [anon_sym_PLUS] = ACTIONS(10004),
    [anon_sym_SLASH] = ACTIONS(10004),
    [anon_sym_PERCENT] = ACTIONS(10004),
    [sym_comment] = ACTIONS(110),
  },
  [8997] = {
    [anon_sym_end] = ACTIONS(14564),
    [sym_comment] = ACTIONS(110),
  },
  [8998] = {
    [sym__statements] = STATE(11614),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14566),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [8999] = {
    [sym__heredoc_body_middle] = ACTIONS(10332),
    [sym__heredoc_body_end] = ACTIONS(10332),
    [sym__element_reference_left_bracket] = ACTIONS(10332),
    [sym__scope_double_colon] = ACTIONS(10332),
    [sym__binary_minus] = ACTIONS(10332),
    [sym__binary_star] = ACTIONS(10332),
    [anon_sym_DOT] = ACTIONS(10334),
    [anon_sym_COMMA] = ACTIONS(10332),
    [anon_sym_PIPE] = ACTIONS(10334),
    [anon_sym_STAR_STAR] = ACTIONS(10332),
    [anon_sym_AMP] = ACTIONS(10334),
    [anon_sym_LT] = ACTIONS(10334),
    [anon_sym_if] = ACTIONS(10332),
    [anon_sym_unless] = ACTIONS(10332),
    [anon_sym_while] = ACTIONS(10332),
    [anon_sym_until] = ACTIONS(10332),
    [anon_sym_rescue] = ACTIONS(10332),
    [anon_sym_AMP_DOT] = ACTIONS(10332),
    [anon_sym_QMARK] = ACTIONS(10332),
    [anon_sym_DOT_DOT] = ACTIONS(10334),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10332),
    [anon_sym_and] = ACTIONS(10332),
    [anon_sym_or] = ACTIONS(10332),
    [anon_sym_PIPE_PIPE] = ACTIONS(10332),
    [anon_sym_AMP_AMP] = ACTIONS(10332),
    [anon_sym_LT_LT] = ACTIONS(10332),
    [anon_sym_GT_GT] = ACTIONS(10332),
    [anon_sym_EQ_EQ] = ACTIONS(10334),
    [anon_sym_BANG_EQ] = ACTIONS(10332),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10332),
    [anon_sym_LT_EQ_GT] = ACTIONS(10332),
    [anon_sym_EQ_TILDE] = ACTIONS(10332),
    [anon_sym_BANG_TILDE] = ACTIONS(10332),
    [anon_sym_LT_EQ] = ACTIONS(10334),
    [anon_sym_GT] = ACTIONS(10334),
    [anon_sym_GT_EQ] = ACTIONS(10332),
    [anon_sym_CARET] = ACTIONS(10332),
    [anon_sym_PLUS] = ACTIONS(10332),
    [anon_sym_SLASH] = ACTIONS(10332),
    [anon_sym_PERCENT] = ACTIONS(10332),
    [sym_comment] = ACTIONS(110),
  },
  [9000] = {
    [anon_sym_end] = ACTIONS(14568),
    [sym_comment] = ACTIONS(110),
  },
  [9001] = {
    [sym__heredoc_body_middle] = ACTIONS(10934),
    [sym__heredoc_body_end] = ACTIONS(10934),
    [sym__element_reference_left_bracket] = ACTIONS(10934),
    [sym__scope_double_colon] = ACTIONS(10934),
    [sym__binary_minus] = ACTIONS(10934),
    [sym__binary_star] = ACTIONS(10934),
    [anon_sym_DOT] = ACTIONS(10936),
    [anon_sym_COMMA] = ACTIONS(10934),
    [anon_sym_PIPE] = ACTIONS(10936),
    [anon_sym_STAR_STAR] = ACTIONS(10934),
    [anon_sym_AMP] = ACTIONS(10936),
    [anon_sym_LT] = ACTIONS(10936),
    [anon_sym_if] = ACTIONS(10934),
    [anon_sym_unless] = ACTIONS(10934),
    [anon_sym_while] = ACTIONS(10934),
    [anon_sym_until] = ACTIONS(10934),
    [anon_sym_rescue] = ACTIONS(10934),
    [anon_sym_AMP_DOT] = ACTIONS(10934),
    [anon_sym_QMARK] = ACTIONS(10934),
    [anon_sym_DOT_DOT] = ACTIONS(10936),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10934),
    [anon_sym_and] = ACTIONS(10934),
    [anon_sym_or] = ACTIONS(10934),
    [anon_sym_PIPE_PIPE] = ACTIONS(10934),
    [anon_sym_AMP_AMP] = ACTIONS(10934),
    [anon_sym_LT_LT] = ACTIONS(10934),
    [anon_sym_GT_GT] = ACTIONS(10934),
    [anon_sym_EQ_EQ] = ACTIONS(10936),
    [anon_sym_BANG_EQ] = ACTIONS(10934),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10934),
    [anon_sym_LT_EQ_GT] = ACTIONS(10934),
    [anon_sym_EQ_TILDE] = ACTIONS(10934),
    [anon_sym_BANG_TILDE] = ACTIONS(10934),
    [anon_sym_LT_EQ] = ACTIONS(10936),
    [anon_sym_GT] = ACTIONS(10936),
    [anon_sym_GT_EQ] = ACTIONS(10934),
    [anon_sym_CARET] = ACTIONS(10934),
    [anon_sym_PLUS] = ACTIONS(10934),
    [anon_sym_SLASH] = ACTIONS(10934),
    [anon_sym_PERCENT] = ACTIONS(10934),
    [sym_comment] = ACTIONS(110),
  },
  [9002] = {
    [sym__heredoc_body_middle] = ACTIONS(3844),
    [sym__heredoc_body_end] = ACTIONS(3844),
    [anon_sym_COMMA] = ACTIONS(3844),
    [anon_sym_if] = ACTIONS(3844),
    [anon_sym_unless] = ACTIONS(3844),
    [anon_sym_while] = ACTIONS(3844),
    [anon_sym_until] = ACTIONS(3844),
    [anon_sym_rescue] = ACTIONS(3844),
    [sym_comment] = ACTIONS(110),
  },
  [9003] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(14570),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [9004] = {
    [sym__heredoc_body_middle] = ACTIONS(10942),
    [sym__heredoc_body_end] = ACTIONS(10942),
    [anon_sym_COMMA] = ACTIONS(10942),
    [anon_sym_if] = ACTIONS(10942),
    [anon_sym_unless] = ACTIONS(10942),
    [anon_sym_while] = ACTIONS(10942),
    [anon_sym_until] = ACTIONS(10942),
    [anon_sym_rescue] = ACTIONS(10942),
    [sym_comment] = ACTIONS(110),
  },
  [9005] = {
    [sym_operator] = STATE(2796),
    [sym__method_name] = STATE(11617),
    [sym_setter] = STATE(2796),
    [sym_symbol] = STATE(2796),
    [sym__simple_symbol] = ACTIONS(4088),
    [sym__symbol_beginning] = ACTIONS(4090),
    [anon_sym_PIPE] = ACTIONS(4092),
    [anon_sym_STAR] = ACTIONS(4094),
    [anon_sym_STAR_STAR] = ACTIONS(4092),
    [anon_sym_AMP] = ACTIONS(4092),
    [anon_sym_LT] = ACTIONS(4094),
    [anon_sym_DOT_DOT] = ACTIONS(4092),
    [anon_sym_LT_LT] = ACTIONS(4092),
    [anon_sym_GT_GT] = ACTIONS(4092),
    [anon_sym_EQ_EQ] = ACTIONS(4094),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4092),
    [anon_sym_LT_EQ_GT] = ACTIONS(4092),
    [anon_sym_EQ_TILDE] = ACTIONS(4092),
    [anon_sym_BANG_TILDE] = ACTIONS(4092),
    [anon_sym_LT_EQ] = ACTIONS(4094),
    [anon_sym_GT] = ACTIONS(4094),
    [anon_sym_GT_EQ] = ACTIONS(4092),
    [anon_sym_CARET] = ACTIONS(4092),
    [anon_sym_PLUS] = ACTIONS(4094),
    [anon_sym_SLASH] = ACTIONS(4092),
    [anon_sym_PERCENT] = ACTIONS(4092),
    [anon_sym_BANG] = ACTIONS(4094),
    [anon_sym_TILDE] = ACTIONS(4092),
    [sym_constant] = ACTIONS(4096),
    [sym_identifier] = ACTIONS(4098),
    [sym_instance_variable] = ACTIONS(4096),
    [sym_class_variable] = ACTIONS(4096),
    [sym_global_variable] = ACTIONS(4096),
    [anon_sym_DASH] = ACTIONS(4094),
    [anon_sym_PLUS_AT] = ACTIONS(4092),
    [anon_sym_DASH_AT] = ACTIONS(4092),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(4094),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(4092),
    [anon_sym_BQUOTE] = ACTIONS(4092),
    [sym_comment] = ACTIONS(110),
  },
  [9006] = {
    [sym__heredoc_body_middle] = ACTIONS(11064),
    [sym__heredoc_body_end] = ACTIONS(11064),
    [sym__element_reference_left_bracket] = ACTIONS(11064),
    [sym__scope_double_colon] = ACTIONS(11064),
    [sym__binary_minus] = ACTIONS(11064),
    [sym__binary_star] = ACTIONS(11064),
    [anon_sym_DOT] = ACTIONS(11066),
    [anon_sym_COMMA] = ACTIONS(11064),
    [anon_sym_PIPE] = ACTIONS(11066),
    [anon_sym_STAR_STAR] = ACTIONS(11064),
    [anon_sym_AMP] = ACTIONS(11066),
    [anon_sym_LT] = ACTIONS(11066),
    [anon_sym_if] = ACTIONS(11064),
    [anon_sym_unless] = ACTIONS(11064),
    [anon_sym_while] = ACTIONS(11064),
    [anon_sym_until] = ACTIONS(11064),
    [anon_sym_rescue] = ACTIONS(11064),
    [anon_sym_AMP_DOT] = ACTIONS(11064),
    [anon_sym_QMARK] = ACTIONS(11064),
    [anon_sym_DOT_DOT] = ACTIONS(11066),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11064),
    [anon_sym_and] = ACTIONS(11064),
    [anon_sym_or] = ACTIONS(11064),
    [anon_sym_PIPE_PIPE] = ACTIONS(11064),
    [anon_sym_AMP_AMP] = ACTIONS(11064),
    [anon_sym_LT_LT] = ACTIONS(11064),
    [anon_sym_GT_GT] = ACTIONS(11064),
    [anon_sym_EQ_EQ] = ACTIONS(11066),
    [anon_sym_BANG_EQ] = ACTIONS(11064),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11064),
    [anon_sym_LT_EQ_GT] = ACTIONS(11064),
    [anon_sym_EQ_TILDE] = ACTIONS(11064),
    [anon_sym_BANG_TILDE] = ACTIONS(11064),
    [anon_sym_LT_EQ] = ACTIONS(11066),
    [anon_sym_GT] = ACTIONS(11066),
    [anon_sym_GT_EQ] = ACTIONS(11064),
    [anon_sym_CARET] = ACTIONS(11064),
    [anon_sym_PLUS] = ACTIONS(11064),
    [anon_sym_SLASH] = ACTIONS(11064),
    [anon_sym_PERCENT] = ACTIONS(11064),
    [sym_comment] = ACTIONS(110),
  },
  [9007] = {
    [anon_sym_RBRACE] = ACTIONS(14572),
    [sym_comment] = ACTIONS(110),
  },
  [9008] = {
    [sym__heredoc_body_middle] = ACTIONS(11094),
    [sym__heredoc_body_end] = ACTIONS(11094),
    [sym__element_reference_left_bracket] = ACTIONS(11094),
    [sym__scope_double_colon] = ACTIONS(11094),
    [sym__binary_minus] = ACTIONS(11094),
    [sym__binary_star] = ACTIONS(11094),
    [anon_sym_DOT] = ACTIONS(11096),
    [anon_sym_COMMA] = ACTIONS(11094),
    [anon_sym_PIPE] = ACTIONS(11096),
    [anon_sym_STAR_STAR] = ACTIONS(11094),
    [anon_sym_AMP] = ACTIONS(11096),
    [anon_sym_LT] = ACTIONS(11096),
    [anon_sym_if] = ACTIONS(11094),
    [anon_sym_unless] = ACTIONS(11094),
    [anon_sym_while] = ACTIONS(11094),
    [anon_sym_until] = ACTIONS(11094),
    [anon_sym_rescue] = ACTIONS(11094),
    [anon_sym_AMP_DOT] = ACTIONS(11094),
    [anon_sym_QMARK] = ACTIONS(11094),
    [anon_sym_DOT_DOT] = ACTIONS(11096),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11094),
    [anon_sym_and] = ACTIONS(11094),
    [anon_sym_or] = ACTIONS(11094),
    [anon_sym_PIPE_PIPE] = ACTIONS(11094),
    [anon_sym_AMP_AMP] = ACTIONS(11094),
    [anon_sym_LT_LT] = ACTIONS(11094),
    [anon_sym_GT_GT] = ACTIONS(11094),
    [anon_sym_EQ_EQ] = ACTIONS(11096),
    [anon_sym_BANG_EQ] = ACTIONS(11094),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11094),
    [anon_sym_LT_EQ_GT] = ACTIONS(11094),
    [anon_sym_EQ_TILDE] = ACTIONS(11094),
    [anon_sym_BANG_TILDE] = ACTIONS(11094),
    [anon_sym_LT_EQ] = ACTIONS(11096),
    [anon_sym_GT] = ACTIONS(11096),
    [anon_sym_GT_EQ] = ACTIONS(11094),
    [anon_sym_CARET] = ACTIONS(11094),
    [anon_sym_PLUS] = ACTIONS(11094),
    [anon_sym_SLASH] = ACTIONS(11094),
    [anon_sym_PERCENT] = ACTIONS(11094),
    [sym_comment] = ACTIONS(110),
  },
  [9009] = {
    [anon_sym_end] = ACTIONS(14574),
    [sym_comment] = ACTIONS(110),
  },
  [9010] = {
    [sym__statements] = STATE(11620),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14576),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9011] = {
    [sym__statements] = STATE(11620),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(11621),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14576),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9012] = {
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(11622),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [9013] = {
    [sym__heredoc_body_middle] = ACTIONS(11316),
    [sym__heredoc_body_end] = ACTIONS(11316),
    [sym__element_reference_left_bracket] = ACTIONS(11316),
    [sym__scope_double_colon] = ACTIONS(11316),
    [sym__binary_minus] = ACTIONS(11316),
    [sym__binary_star] = ACTIONS(11316),
    [anon_sym_DOT] = ACTIONS(11318),
    [anon_sym_COMMA] = ACTIONS(11316),
    [anon_sym_PIPE] = ACTIONS(11318),
    [anon_sym_STAR_STAR] = ACTIONS(11318),
    [anon_sym_AMP] = ACTIONS(11318),
    [anon_sym_EQ] = ACTIONS(11318),
    [anon_sym_LT] = ACTIONS(11318),
    [anon_sym_if] = ACTIONS(11316),
    [anon_sym_unless] = ACTIONS(11316),
    [anon_sym_while] = ACTIONS(11316),
    [anon_sym_until] = ACTIONS(11316),
    [anon_sym_rescue] = ACTIONS(11316),
    [anon_sym_AMP_DOT] = ACTIONS(11316),
    [anon_sym_PLUS_EQ] = ACTIONS(11316),
    [anon_sym_DASH_EQ] = ACTIONS(11316),
    [anon_sym_STAR_EQ] = ACTIONS(11316),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(11316),
    [anon_sym_SLASH_EQ] = ACTIONS(11316),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(11316),
    [anon_sym_PIPE_EQ] = ACTIONS(11316),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(11316),
    [anon_sym_AMP_EQ] = ACTIONS(11316),
    [anon_sym_PERCENT_EQ] = ACTIONS(11316),
    [anon_sym_GT_GT_EQ] = ACTIONS(11316),
    [anon_sym_LT_LT_EQ] = ACTIONS(11316),
    [anon_sym_CARET_EQ] = ACTIONS(11316),
    [anon_sym_QMARK] = ACTIONS(11316),
    [anon_sym_DOT_DOT] = ACTIONS(11318),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11316),
    [anon_sym_and] = ACTIONS(11316),
    [anon_sym_or] = ACTIONS(11316),
    [anon_sym_PIPE_PIPE] = ACTIONS(11318),
    [anon_sym_AMP_AMP] = ACTIONS(11318),
    [anon_sym_LT_LT] = ACTIONS(11318),
    [anon_sym_GT_GT] = ACTIONS(11318),
    [anon_sym_EQ_EQ] = ACTIONS(11318),
    [anon_sym_BANG_EQ] = ACTIONS(11316),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11316),
    [anon_sym_LT_EQ_GT] = ACTIONS(11316),
    [anon_sym_EQ_TILDE] = ACTIONS(11316),
    [anon_sym_BANG_TILDE] = ACTIONS(11316),
    [anon_sym_LT_EQ] = ACTIONS(11318),
    [anon_sym_GT] = ACTIONS(11318),
    [anon_sym_GT_EQ] = ACTIONS(11316),
    [anon_sym_CARET] = ACTIONS(11318),
    [anon_sym_PLUS] = ACTIONS(11318),
    [anon_sym_SLASH] = ACTIONS(11318),
    [anon_sym_PERCENT] = ACTIONS(11318),
    [sym_comment] = ACTIONS(256),
  },
  [9014] = {
    [anon_sym_RBRACK] = ACTIONS(14578),
    [sym_comment] = ACTIONS(110),
  },
  [9015] = {
    [sym__simple_string] = ACTIONS(5370),
    [sym__simple_symbol] = ACTIONS(5370),
    [sym__simple_subshell] = ACTIONS(5370),
    [sym__simple_regex] = ACTIONS(5370),
    [sym__simple_word_list] = ACTIONS(5370),
    [sym__string_beginning] = ACTIONS(5370),
    [sym__symbol_beginning] = ACTIONS(5370),
    [sym__subshell_beginning] = ACTIONS(5370),
    [sym__regex_beginning] = ACTIONS(5370),
    [sym__word_list_beginning] = ACTIONS(5370),
    [sym__heredoc_body_middle] = ACTIONS(5370),
    [sym__heredoc_body_end] = ACTIONS(5370),
    [sym_heredoc_beginning] = ACTIONS(5370),
    [sym__element_reference_left_bracket] = ACTIONS(5370),
    [sym__block_ampersand] = ACTIONS(5370),
    [sym__splat_star] = ACTIONS(5370),
    [sym__argument_list_left_paren] = ACTIONS(5370),
    [sym__scope_double_colon] = ACTIONS(5370),
    [sym__unary_minus] = ACTIONS(5370),
    [sym__binary_minus] = ACTIONS(5370),
    [sym__binary_star] = ACTIONS(5370),
    [anon_sym_LBRACE] = ACTIONS(5370),
    [anon_sym_def] = ACTIONS(5372),
    [anon_sym_LPAREN] = ACTIONS(5370),
    [anon_sym_DOT] = ACTIONS(5372),
    [anon_sym_COLON_COLON] = ACTIONS(5370),
    [anon_sym_end] = ACTIONS(5372),
    [anon_sym_COMMA] = ACTIONS(5370),
    [anon_sym_PIPE] = ACTIONS(5372),
    [anon_sym_STAR] = ACTIONS(5372),
    [anon_sym_STAR_STAR] = ACTIONS(5372),
    [anon_sym_AMP] = ACTIONS(5372),
    [anon_sym_EQ] = ACTIONS(5372),
    [anon_sym_class] = ACTIONS(5372),
    [anon_sym_LT] = ACTIONS(5372),
    [anon_sym_module] = ACTIONS(5372),
    [anon_sym_return] = ACTIONS(5372),
    [anon_sym_yield] = ACTIONS(5372),
    [anon_sym_break] = ACTIONS(5372),
    [anon_sym_next] = ACTIONS(5372),
    [anon_sym_redo] = ACTIONS(5372),
    [anon_sym_retry] = ACTIONS(5372),
    [anon_sym_if] = ACTIONS(5372),
    [anon_sym_unless] = ACTIONS(5372),
    [anon_sym_while] = ACTIONS(5372),
    [anon_sym_until] = ACTIONS(5372),
    [anon_sym_rescue] = ACTIONS(5372),
    [anon_sym_for] = ACTIONS(5372),
    [anon_sym_in] = ACTIONS(5372),
    [anon_sym_do] = ACTIONS(5372),
    [anon_sym_case] = ACTIONS(5372),
    [anon_sym_when] = ACTIONS(5372),
    [anon_sym_elsif] = ACTIONS(5372),
    [anon_sym_else] = ACTIONS(5372),
    [anon_sym_then] = ACTIONS(5372),
    [anon_sym_begin] = ACTIONS(5372),
    [anon_sym_ensure] = ACTIONS(5372),
    [anon_sym_AMP_DOT] = ACTIONS(5370),
    [anon_sym_PLUS_EQ] = ACTIONS(5370),
    [anon_sym_DASH_EQ] = ACTIONS(5370),
    [anon_sym_STAR_EQ] = ACTIONS(5370),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5370),
    [anon_sym_SLASH_EQ] = ACTIONS(5370),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5370),
    [anon_sym_PIPE_EQ] = ACTIONS(5370),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5370),
    [anon_sym_AMP_EQ] = ACTIONS(5370),
    [anon_sym_PERCENT_EQ] = ACTIONS(5370),
    [anon_sym_GT_GT_EQ] = ACTIONS(5370),
    [anon_sym_LT_LT_EQ] = ACTIONS(5370),
    [anon_sym_CARET_EQ] = ACTIONS(5370),
    [anon_sym_QMARK] = ACTIONS(5372),
    [anon_sym_DOT_DOT] = ACTIONS(5372),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5370),
    [anon_sym_and] = ACTIONS(5372),
    [anon_sym_or] = ACTIONS(5372),
    [anon_sym_PIPE_PIPE] = ACTIONS(5372),
    [anon_sym_AMP_AMP] = ACTIONS(5372),
    [anon_sym_LT_LT] = ACTIONS(5372),
    [anon_sym_GT_GT] = ACTIONS(5372),
    [anon_sym_EQ_EQ] = ACTIONS(5372),
    [anon_sym_BANG_EQ] = ACTIONS(5370),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5370),
    [anon_sym_LT_EQ_GT] = ACTIONS(5370),
    [anon_sym_EQ_TILDE] = ACTIONS(5370),
    [anon_sym_BANG_TILDE] = ACTIONS(5370),
    [anon_sym_LT_EQ] = ACTIONS(5372),
    [anon_sym_GT] = ACTIONS(5372),
    [anon_sym_GT_EQ] = ACTIONS(5370),
    [anon_sym_CARET] = ACTIONS(5372),
    [anon_sym_PLUS] = ACTIONS(5372),
    [anon_sym_SLASH] = ACTIONS(5372),
    [anon_sym_PERCENT] = ACTIONS(5372),
    [anon_sym_defined_QMARK] = ACTIONS(5370),
    [anon_sym_not] = ACTIONS(5372),
    [anon_sym_BANG] = ACTIONS(5372),
    [anon_sym_TILDE] = ACTIONS(5370),
    [sym_constant] = ACTIONS(11322),
    [sym_identifier] = ACTIONS(11322),
    [sym_instance_variable] = ACTIONS(5372),
    [sym_class_variable] = ACTIONS(5372),
    [sym_global_variable] = ACTIONS(5372),
    [anon_sym_alias] = ACTIONS(5372),
    [anon_sym_defined] = ACTIONS(5372),
    [anon_sym_false] = ACTIONS(5372),
    [anon_sym_nil] = ACTIONS(5372),
    [anon_sym_self] = ACTIONS(5372),
    [anon_sym_super] = ACTIONS(5372),
    [anon_sym_true] = ACTIONS(5372),
    [anon_sym_undef] = ACTIONS(5372),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(5372),
    [sym_float] = ACTIONS(11322),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5370),
    [anon_sym_TRUE] = ACTIONS(5372),
    [anon_sym_FALSE] = ACTIONS(5372),
    [anon_sym_NIL] = ACTIONS(5372),
    [sym_keyword__FILE__] = ACTIONS(5372),
    [sym_keyword__LINE__] = ACTIONS(5372),
    [sym_keyword__ENCODING__] = ACTIONS(5372),
    [sym__character_literal] = ACTIONS(5372),
    [anon_sym_LBRACK] = ACTIONS(5370),
    [anon_sym_DASH_GT] = ACTIONS(5370),
  },
  [9016] = {
    [sym_heredoc_end] = STATE(11625),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RPAREN] = ACTIONS(14580),
    [sym_comment] = ACTIONS(110),
  },
  [9017] = {
    [anon_sym_RPAREN] = ACTIONS(14580),
    [sym_comment] = ACTIONS(110),
  },
  [9018] = {
    [sym__simple_string] = ACTIONS(3612),
    [sym__simple_heredoc_body] = ACTIONS(3612),
    [sym__string_beginning] = ACTIONS(3612),
    [sym__heredoc_body_beginning] = ACTIONS(3612),
    [sym__heredoc_body_middle] = ACTIONS(3612),
    [sym__heredoc_body_end] = ACTIONS(3612),
    [sym__element_reference_left_bracket] = ACTIONS(3612),
    [sym__scope_double_colon] = ACTIONS(3612),
    [sym__keyword_colon] = ACTIONS(3612),
    [sym__binary_minus] = ACTIONS(3612),
    [sym__binary_star] = ACTIONS(3612),
    [anon_sym_LBRACE] = ACTIONS(3612),
    [anon_sym_DOT] = ACTIONS(3614),
    [anon_sym_COMMA] = ACTIONS(3612),
    [anon_sym_PIPE] = ACTIONS(3614),
    [anon_sym_STAR_STAR] = ACTIONS(3614),
    [anon_sym_AMP] = ACTIONS(3614),
    [anon_sym_EQ] = ACTIONS(3614),
    [anon_sym_LT] = ACTIONS(3614),
    [anon_sym_if] = ACTIONS(3612),
    [anon_sym_unless] = ACTIONS(3612),
    [anon_sym_while] = ACTIONS(3612),
    [anon_sym_until] = ACTIONS(3612),
    [anon_sym_rescue] = ACTIONS(3612),
    [anon_sym_do] = ACTIONS(3612),
    [anon_sym_EQ_GT] = ACTIONS(3612),
    [anon_sym_AMP_DOT] = ACTIONS(3612),
    [anon_sym_PLUS_EQ] = ACTIONS(3612),
    [anon_sym_DASH_EQ] = ACTIONS(3612),
    [anon_sym_STAR_EQ] = ACTIONS(3612),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3612),
    [anon_sym_SLASH_EQ] = ACTIONS(3612),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3612),
    [anon_sym_PIPE_EQ] = ACTIONS(3612),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3612),
    [anon_sym_AMP_EQ] = ACTIONS(3612),
    [anon_sym_PERCENT_EQ] = ACTIONS(3612),
    [anon_sym_GT_GT_EQ] = ACTIONS(3612),
    [anon_sym_LT_LT_EQ] = ACTIONS(3612),
    [anon_sym_CARET_EQ] = ACTIONS(3612),
    [anon_sym_QMARK] = ACTIONS(3614),
    [anon_sym_DOT_DOT] = ACTIONS(3614),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3612),
    [anon_sym_and] = ACTIONS(3612),
    [anon_sym_or] = ACTIONS(3612),
    [anon_sym_PIPE_PIPE] = ACTIONS(3614),
    [anon_sym_AMP_AMP] = ACTIONS(3614),
    [anon_sym_LT_LT] = ACTIONS(3614),
    [anon_sym_GT_GT] = ACTIONS(3614),
    [anon_sym_EQ_EQ] = ACTIONS(3614),
    [anon_sym_BANG_EQ] = ACTIONS(3612),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3612),
    [anon_sym_LT_EQ_GT] = ACTIONS(3612),
    [anon_sym_EQ_TILDE] = ACTIONS(3612),
    [anon_sym_BANG_TILDE] = ACTIONS(3612),
    [anon_sym_LT_EQ] = ACTIONS(3614),
    [anon_sym_GT] = ACTIONS(3614),
    [anon_sym_GT_EQ] = ACTIONS(3612),
    [anon_sym_CARET] = ACTIONS(3614),
    [anon_sym_PLUS] = ACTIONS(3614),
    [anon_sym_SLASH] = ACTIONS(3614),
    [anon_sym_PERCENT] = ACTIONS(3614),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(3614),
  },
  [9019] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(14582),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [9020] = {
    [sym__simple_heredoc_body] = ACTIONS(3844),
    [sym__heredoc_body_beginning] = ACTIONS(3844),
    [sym__heredoc_body_middle] = ACTIONS(3844),
    [sym__heredoc_body_end] = ACTIONS(3844),
    [sym__element_reference_left_bracket] = ACTIONS(3844),
    [sym__scope_double_colon] = ACTIONS(3844),
    [sym__binary_minus] = ACTIONS(3844),
    [sym__binary_star] = ACTIONS(3844),
    [anon_sym_LBRACE] = ACTIONS(3844),
    [anon_sym_DOT] = ACTIONS(3846),
    [anon_sym_COMMA] = ACTIONS(3844),
    [anon_sym_PIPE] = ACTIONS(3846),
    [anon_sym_STAR_STAR] = ACTIONS(3846),
    [anon_sym_AMP] = ACTIONS(3846),
    [anon_sym_EQ] = ACTIONS(3846),
    [anon_sym_LT] = ACTIONS(3846),
    [anon_sym_if] = ACTIONS(3844),
    [anon_sym_unless] = ACTIONS(3844),
    [anon_sym_while] = ACTIONS(3844),
    [anon_sym_until] = ACTIONS(3844),
    [anon_sym_rescue] = ACTIONS(3844),
    [anon_sym_do] = ACTIONS(3844),
    [anon_sym_EQ_GT] = ACTIONS(3844),
    [anon_sym_AMP_DOT] = ACTIONS(3844),
    [anon_sym_PLUS_EQ] = ACTIONS(3844),
    [anon_sym_DASH_EQ] = ACTIONS(3844),
    [anon_sym_STAR_EQ] = ACTIONS(3844),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3844),
    [anon_sym_SLASH_EQ] = ACTIONS(3844),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3844),
    [anon_sym_PIPE_EQ] = ACTIONS(3844),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3844),
    [anon_sym_AMP_EQ] = ACTIONS(3844),
    [anon_sym_PERCENT_EQ] = ACTIONS(3844),
    [anon_sym_GT_GT_EQ] = ACTIONS(3844),
    [anon_sym_LT_LT_EQ] = ACTIONS(3844),
    [anon_sym_CARET_EQ] = ACTIONS(3844),
    [anon_sym_QMARK] = ACTIONS(3844),
    [anon_sym_DOT_DOT] = ACTIONS(3846),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3844),
    [anon_sym_and] = ACTIONS(3844),
    [anon_sym_or] = ACTIONS(3844),
    [anon_sym_PIPE_PIPE] = ACTIONS(3846),
    [anon_sym_AMP_AMP] = ACTIONS(3846),
    [anon_sym_LT_LT] = ACTIONS(3846),
    [anon_sym_GT_GT] = ACTIONS(3846),
    [anon_sym_EQ_EQ] = ACTIONS(3846),
    [anon_sym_BANG_EQ] = ACTIONS(3844),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3844),
    [anon_sym_LT_EQ_GT] = ACTIONS(3844),
    [anon_sym_EQ_TILDE] = ACTIONS(3844),
    [anon_sym_BANG_TILDE] = ACTIONS(3844),
    [anon_sym_LT_EQ] = ACTIONS(3846),
    [anon_sym_GT] = ACTIONS(3846),
    [anon_sym_GT_EQ] = ACTIONS(3844),
    [anon_sym_CARET] = ACTIONS(3846),
    [anon_sym_PLUS] = ACTIONS(3846),
    [anon_sym_SLASH] = ACTIONS(3846),
    [anon_sym_PERCENT] = ACTIONS(3846),
    [sym_comment] = ACTIONS(256),
  },
  [9021] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(14584),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [9022] = {
    [sym__simple_heredoc_body] = ACTIONS(3850),
    [sym__heredoc_body_beginning] = ACTIONS(3850),
    [sym__heredoc_body_middle] = ACTIONS(3850),
    [sym__heredoc_body_end] = ACTIONS(3850),
    [sym__element_reference_left_bracket] = ACTIONS(3850),
    [sym__scope_double_colon] = ACTIONS(3850),
    [sym__binary_minus] = ACTIONS(3850),
    [sym__binary_star] = ACTIONS(3850),
    [anon_sym_LBRACE] = ACTIONS(3850),
    [anon_sym_DOT] = ACTIONS(3852),
    [anon_sym_COMMA] = ACTIONS(3850),
    [anon_sym_PIPE] = ACTIONS(3852),
    [anon_sym_STAR_STAR] = ACTIONS(3852),
    [anon_sym_AMP] = ACTIONS(3852),
    [anon_sym_EQ] = ACTIONS(3852),
    [anon_sym_LT] = ACTIONS(3852),
    [anon_sym_if] = ACTIONS(3850),
    [anon_sym_unless] = ACTIONS(3850),
    [anon_sym_while] = ACTIONS(3850),
    [anon_sym_until] = ACTIONS(3850),
    [anon_sym_rescue] = ACTIONS(3850),
    [anon_sym_do] = ACTIONS(3850),
    [anon_sym_EQ_GT] = ACTIONS(3850),
    [anon_sym_AMP_DOT] = ACTIONS(3850),
    [anon_sym_PLUS_EQ] = ACTIONS(3850),
    [anon_sym_DASH_EQ] = ACTIONS(3850),
    [anon_sym_STAR_EQ] = ACTIONS(3850),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3850),
    [anon_sym_SLASH_EQ] = ACTIONS(3850),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3850),
    [anon_sym_PIPE_EQ] = ACTIONS(3850),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3850),
    [anon_sym_AMP_EQ] = ACTIONS(3850),
    [anon_sym_PERCENT_EQ] = ACTIONS(3850),
    [anon_sym_GT_GT_EQ] = ACTIONS(3850),
    [anon_sym_LT_LT_EQ] = ACTIONS(3850),
    [anon_sym_CARET_EQ] = ACTIONS(3850),
    [anon_sym_QMARK] = ACTIONS(3850),
    [anon_sym_DOT_DOT] = ACTIONS(3852),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3850),
    [anon_sym_and] = ACTIONS(3850),
    [anon_sym_or] = ACTIONS(3850),
    [anon_sym_PIPE_PIPE] = ACTIONS(3852),
    [anon_sym_AMP_AMP] = ACTIONS(3852),
    [anon_sym_LT_LT] = ACTIONS(3852),
    [anon_sym_GT_GT] = ACTIONS(3852),
    [anon_sym_EQ_EQ] = ACTIONS(3852),
    [anon_sym_BANG_EQ] = ACTIONS(3850),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3850),
    [anon_sym_LT_EQ_GT] = ACTIONS(3850),
    [anon_sym_EQ_TILDE] = ACTIONS(3850),
    [anon_sym_BANG_TILDE] = ACTIONS(3850),
    [anon_sym_LT_EQ] = ACTIONS(3852),
    [anon_sym_GT] = ACTIONS(3852),
    [anon_sym_GT_EQ] = ACTIONS(3850),
    [anon_sym_CARET] = ACTIONS(3852),
    [anon_sym_PLUS] = ACTIONS(3852),
    [anon_sym_SLASH] = ACTIONS(3852),
    [anon_sym_PERCENT] = ACTIONS(3852),
    [sym_comment] = ACTIONS(256),
  },
  [9023] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(14586),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [9024] = {
    [sym__simple_heredoc_body] = ACTIONS(3856),
    [sym__heredoc_body_beginning] = ACTIONS(3856),
    [sym__heredoc_body_middle] = ACTIONS(3856),
    [sym__heredoc_body_end] = ACTIONS(3856),
    [sym__element_reference_left_bracket] = ACTIONS(3856),
    [sym__scope_double_colon] = ACTIONS(3856),
    [sym__binary_minus] = ACTIONS(3856),
    [sym__binary_star] = ACTIONS(3856),
    [anon_sym_LBRACE] = ACTIONS(3856),
    [anon_sym_DOT] = ACTIONS(3858),
    [anon_sym_COMMA] = ACTIONS(3856),
    [anon_sym_PIPE] = ACTIONS(3858),
    [anon_sym_STAR_STAR] = ACTIONS(3858),
    [anon_sym_AMP] = ACTIONS(3858),
    [anon_sym_EQ] = ACTIONS(3858),
    [anon_sym_LT] = ACTIONS(3858),
    [anon_sym_if] = ACTIONS(3856),
    [anon_sym_unless] = ACTIONS(3856),
    [anon_sym_while] = ACTIONS(3856),
    [anon_sym_until] = ACTIONS(3856),
    [anon_sym_rescue] = ACTIONS(3856),
    [anon_sym_do] = ACTIONS(3856),
    [anon_sym_EQ_GT] = ACTIONS(3856),
    [anon_sym_AMP_DOT] = ACTIONS(3856),
    [anon_sym_PLUS_EQ] = ACTIONS(3856),
    [anon_sym_DASH_EQ] = ACTIONS(3856),
    [anon_sym_STAR_EQ] = ACTIONS(3856),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3856),
    [anon_sym_SLASH_EQ] = ACTIONS(3856),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3856),
    [anon_sym_PIPE_EQ] = ACTIONS(3856),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3856),
    [anon_sym_AMP_EQ] = ACTIONS(3856),
    [anon_sym_PERCENT_EQ] = ACTIONS(3856),
    [anon_sym_GT_GT_EQ] = ACTIONS(3856),
    [anon_sym_LT_LT_EQ] = ACTIONS(3856),
    [anon_sym_CARET_EQ] = ACTIONS(3856),
    [anon_sym_QMARK] = ACTIONS(3856),
    [anon_sym_DOT_DOT] = ACTIONS(3858),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3856),
    [anon_sym_and] = ACTIONS(3856),
    [anon_sym_or] = ACTIONS(3856),
    [anon_sym_PIPE_PIPE] = ACTIONS(3858),
    [anon_sym_AMP_AMP] = ACTIONS(3858),
    [anon_sym_LT_LT] = ACTIONS(3858),
    [anon_sym_GT_GT] = ACTIONS(3858),
    [anon_sym_EQ_EQ] = ACTIONS(3858),
    [anon_sym_BANG_EQ] = ACTIONS(3856),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3856),
    [anon_sym_LT_EQ_GT] = ACTIONS(3856),
    [anon_sym_EQ_TILDE] = ACTIONS(3856),
    [anon_sym_BANG_TILDE] = ACTIONS(3856),
    [anon_sym_LT_EQ] = ACTIONS(3858),
    [anon_sym_GT] = ACTIONS(3858),
    [anon_sym_GT_EQ] = ACTIONS(3856),
    [anon_sym_CARET] = ACTIONS(3858),
    [anon_sym_PLUS] = ACTIONS(3858),
    [anon_sym_SLASH] = ACTIONS(3858),
    [anon_sym_PERCENT] = ACTIONS(3858),
    [sym_comment] = ACTIONS(256),
  },
  [9025] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(14588),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [9026] = {
    [sym__simple_heredoc_body] = ACTIONS(3862),
    [sym__heredoc_body_beginning] = ACTIONS(3862),
    [sym__heredoc_body_middle] = ACTIONS(3862),
    [sym__heredoc_body_end] = ACTIONS(3862),
    [sym__element_reference_left_bracket] = ACTIONS(3862),
    [sym__scope_double_colon] = ACTIONS(3862),
    [sym__binary_minus] = ACTIONS(3862),
    [sym__binary_star] = ACTIONS(3862),
    [anon_sym_LBRACE] = ACTIONS(3862),
    [anon_sym_DOT] = ACTIONS(3864),
    [anon_sym_COMMA] = ACTIONS(3862),
    [anon_sym_PIPE] = ACTIONS(3864),
    [anon_sym_STAR_STAR] = ACTIONS(3864),
    [anon_sym_AMP] = ACTIONS(3864),
    [anon_sym_EQ] = ACTIONS(3864),
    [anon_sym_LT] = ACTIONS(3864),
    [anon_sym_if] = ACTIONS(3862),
    [anon_sym_unless] = ACTIONS(3862),
    [anon_sym_while] = ACTIONS(3862),
    [anon_sym_until] = ACTIONS(3862),
    [anon_sym_rescue] = ACTIONS(3862),
    [anon_sym_do] = ACTIONS(3862),
    [anon_sym_EQ_GT] = ACTIONS(3862),
    [anon_sym_AMP_DOT] = ACTIONS(3862),
    [anon_sym_PLUS_EQ] = ACTIONS(3862),
    [anon_sym_DASH_EQ] = ACTIONS(3862),
    [anon_sym_STAR_EQ] = ACTIONS(3862),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3862),
    [anon_sym_SLASH_EQ] = ACTIONS(3862),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3862),
    [anon_sym_PIPE_EQ] = ACTIONS(3862),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3862),
    [anon_sym_AMP_EQ] = ACTIONS(3862),
    [anon_sym_PERCENT_EQ] = ACTIONS(3862),
    [anon_sym_GT_GT_EQ] = ACTIONS(3862),
    [anon_sym_LT_LT_EQ] = ACTIONS(3862),
    [anon_sym_CARET_EQ] = ACTIONS(3862),
    [anon_sym_QMARK] = ACTIONS(3862),
    [anon_sym_DOT_DOT] = ACTIONS(3864),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3862),
    [anon_sym_and] = ACTIONS(3862),
    [anon_sym_or] = ACTIONS(3862),
    [anon_sym_PIPE_PIPE] = ACTIONS(3864),
    [anon_sym_AMP_AMP] = ACTIONS(3864),
    [anon_sym_LT_LT] = ACTIONS(3864),
    [anon_sym_GT_GT] = ACTIONS(3864),
    [anon_sym_EQ_EQ] = ACTIONS(3864),
    [anon_sym_BANG_EQ] = ACTIONS(3862),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3862),
    [anon_sym_LT_EQ_GT] = ACTIONS(3862),
    [anon_sym_EQ_TILDE] = ACTIONS(3862),
    [anon_sym_BANG_TILDE] = ACTIONS(3862),
    [anon_sym_LT_EQ] = ACTIONS(3864),
    [anon_sym_GT] = ACTIONS(3864),
    [anon_sym_GT_EQ] = ACTIONS(3862),
    [anon_sym_CARET] = ACTIONS(3864),
    [anon_sym_PLUS] = ACTIONS(3864),
    [anon_sym_SLASH] = ACTIONS(3864),
    [anon_sym_PERCENT] = ACTIONS(3864),
    [sym_comment] = ACTIONS(256),
  },
  [9027] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(14590),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [9028] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(14592),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [9029] = {
    [sym__statement] = STATE(11632),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [9030] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(14594),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [9031] = {
    [sym__statement] = STATE(11634),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [9032] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(14596),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [9033] = {
    [sym__statement] = STATE(11636),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [9034] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(14598),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [9035] = {
    [sym__statement] = STATE(11638),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [9036] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(14600),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [9037] = {
    [sym__statement] = STATE(11640),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [9038] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__heredoc_body_middle] = ACTIONS(1372),
    [sym__heredoc_body_end] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_LBRACE] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_STAR_STAR] = ACTIONS(11958),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_EQ] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_if] = ACTIONS(1372),
    [anon_sym_unless] = ACTIONS(1372),
    [anon_sym_while] = ACTIONS(1372),
    [anon_sym_until] = ACTIONS(1372),
    [anon_sym_rescue] = ACTIONS(1372),
    [anon_sym_do] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_PLUS_EQ] = ACTIONS(1372),
    [anon_sym_DASH_EQ] = ACTIONS(1372),
    [anon_sym_STAR_EQ] = ACTIONS(1372),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1372),
    [anon_sym_SLASH_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1372),
    [anon_sym_AMP_EQ] = ACTIONS(1372),
    [anon_sym_PERCENT_EQ] = ACTIONS(1372),
    [anon_sym_GT_GT_EQ] = ACTIONS(1372),
    [anon_sym_LT_LT_EQ] = ACTIONS(1372),
    [anon_sym_CARET_EQ] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1374),
    [anon_sym_AMP_AMP] = ACTIONS(1374),
    [anon_sym_LT_LT] = ACTIONS(1374),
    [anon_sym_GT_GT] = ACTIONS(1374),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1374),
    [anon_sym_PLUS] = ACTIONS(1374),
    [anon_sym_SLASH] = ACTIONS(1374),
    [anon_sym_PERCENT] = ACTIONS(1374),
    [sym_comment] = ACTIONS(256),
  },
  [9039] = {
    [sym__simple_heredoc_body] = ACTIONS(1552),
    [sym__heredoc_body_beginning] = ACTIONS(1552),
    [sym__heredoc_body_middle] = ACTIONS(1552),
    [sym__heredoc_body_end] = ACTIONS(1552),
    [sym__element_reference_left_bracket] = ACTIONS(1552),
    [sym__scope_double_colon] = ACTIONS(1552),
    [sym__binary_minus] = ACTIONS(1552),
    [sym__binary_star] = ACTIONS(1552),
    [anon_sym_LBRACE] = ACTIONS(1552),
    [anon_sym_DOT] = ACTIONS(1554),
    [anon_sym_COMMA] = ACTIONS(1552),
    [anon_sym_PIPE] = ACTIONS(1554),
    [anon_sym_STAR_STAR] = ACTIONS(1554),
    [anon_sym_AMP] = ACTIONS(1554),
    [anon_sym_EQ] = ACTIONS(1554),
    [anon_sym_LT] = ACTIONS(1554),
    [anon_sym_if] = ACTIONS(1552),
    [anon_sym_unless] = ACTIONS(1552),
    [anon_sym_while] = ACTIONS(1552),
    [anon_sym_until] = ACTIONS(1552),
    [anon_sym_rescue] = ACTIONS(1552),
    [anon_sym_do] = ACTIONS(1552),
    [anon_sym_AMP_DOT] = ACTIONS(1552),
    [anon_sym_PLUS_EQ] = ACTIONS(1552),
    [anon_sym_DASH_EQ] = ACTIONS(1552),
    [anon_sym_STAR_EQ] = ACTIONS(1552),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1552),
    [anon_sym_SLASH_EQ] = ACTIONS(1552),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1552),
    [anon_sym_PIPE_EQ] = ACTIONS(1552),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1552),
    [anon_sym_AMP_EQ] = ACTIONS(1552),
    [anon_sym_PERCENT_EQ] = ACTIONS(1552),
    [anon_sym_GT_GT_EQ] = ACTIONS(1552),
    [anon_sym_LT_LT_EQ] = ACTIONS(1552),
    [anon_sym_CARET_EQ] = ACTIONS(1552),
    [anon_sym_QMARK] = ACTIONS(1552),
    [anon_sym_DOT_DOT] = ACTIONS(1554),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1552),
    [anon_sym_and] = ACTIONS(1552),
    [anon_sym_or] = ACTIONS(1552),
    [anon_sym_PIPE_PIPE] = ACTIONS(1554),
    [anon_sym_AMP_AMP] = ACTIONS(1554),
    [anon_sym_LT_LT] = ACTIONS(1554),
    [anon_sym_GT_GT] = ACTIONS(1554),
    [anon_sym_EQ_EQ] = ACTIONS(1554),
    [anon_sym_BANG_EQ] = ACTIONS(1552),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1552),
    [anon_sym_LT_EQ_GT] = ACTIONS(1552),
    [anon_sym_EQ_TILDE] = ACTIONS(1552),
    [anon_sym_BANG_TILDE] = ACTIONS(1552),
    [anon_sym_LT_EQ] = ACTIONS(1554),
    [anon_sym_GT] = ACTIONS(1554),
    [anon_sym_GT_EQ] = ACTIONS(1552),
    [anon_sym_CARET] = ACTIONS(1554),
    [anon_sym_PLUS] = ACTIONS(1554),
    [anon_sym_SLASH] = ACTIONS(1554),
    [anon_sym_PERCENT] = ACTIONS(1554),
    [sym_comment] = ACTIONS(256),
  },
  [9040] = {
    [anon_sym_RBRACE] = ACTIONS(14602),
    [sym_comment] = ACTIONS(110),
  },
  [9041] = {
    [sym_heredoc_end] = STATE(11642),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RBRACE] = ACTIONS(14602),
    [sym_comment] = ACTIONS(110),
  },
  [9042] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(11643),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(1139),
    [sym_call] = STATE(1139),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(1140),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1141),
    [sym__variable] = STATE(1139),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(1822),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_yield] = ACTIONS(1828),
    [anon_sym_break] = ACTIONS(1830),
    [anon_sym_next] = ACTIONS(1832),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(1834),
    [anon_sym_defined_QMARK] = ACTIONS(1836),
    [anon_sym_not] = ACTIONS(1838),
    [anon_sym_BANG] = ACTIONS(1840),
    [anon_sym_TILDE] = ACTIONS(1840),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [9043] = {
    [sym__simple_heredoc_body] = ACTIONS(1866),
    [sym__heredoc_body_beginning] = ACTIONS(1866),
    [sym__heredoc_body_middle] = ACTIONS(1866),
    [sym__heredoc_body_end] = ACTIONS(1866),
    [sym__element_reference_left_bracket] = ACTIONS(1866),
    [sym__scope_double_colon] = ACTIONS(1866),
    [sym__binary_minus] = ACTIONS(1866),
    [sym__binary_star] = ACTIONS(1866),
    [anon_sym_LBRACE] = ACTIONS(1866),
    [anon_sym_DOT] = ACTIONS(1868),
    [anon_sym_COMMA] = ACTIONS(1866),
    [anon_sym_PIPE] = ACTIONS(1868),
    [anon_sym_STAR_STAR] = ACTIONS(1868),
    [anon_sym_AMP] = ACTIONS(1868),
    [anon_sym_EQ] = ACTIONS(1868),
    [anon_sym_LT] = ACTIONS(1868),
    [anon_sym_if] = ACTIONS(1866),
    [anon_sym_unless] = ACTIONS(1866),
    [anon_sym_while] = ACTIONS(1866),
    [anon_sym_until] = ACTIONS(1866),
    [anon_sym_rescue] = ACTIONS(1866),
    [anon_sym_do] = ACTIONS(1866),
    [anon_sym_AMP_DOT] = ACTIONS(1866),
    [anon_sym_PLUS_EQ] = ACTIONS(1866),
    [anon_sym_DASH_EQ] = ACTIONS(1866),
    [anon_sym_STAR_EQ] = ACTIONS(1866),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1866),
    [anon_sym_SLASH_EQ] = ACTIONS(1866),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1866),
    [anon_sym_PIPE_EQ] = ACTIONS(1866),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1866),
    [anon_sym_AMP_EQ] = ACTIONS(1866),
    [anon_sym_PERCENT_EQ] = ACTIONS(1866),
    [anon_sym_GT_GT_EQ] = ACTIONS(1866),
    [anon_sym_LT_LT_EQ] = ACTIONS(1866),
    [anon_sym_CARET_EQ] = ACTIONS(1866),
    [anon_sym_QMARK] = ACTIONS(1866),
    [anon_sym_DOT_DOT] = ACTIONS(1868),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1866),
    [anon_sym_and] = ACTIONS(1866),
    [anon_sym_or] = ACTIONS(1866),
    [anon_sym_PIPE_PIPE] = ACTIONS(1868),
    [anon_sym_AMP_AMP] = ACTIONS(1868),
    [anon_sym_LT_LT] = ACTIONS(1868),
    [anon_sym_GT_GT] = ACTIONS(1868),
    [anon_sym_EQ_EQ] = ACTIONS(1868),
    [anon_sym_BANG_EQ] = ACTIONS(1866),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1866),
    [anon_sym_LT_EQ_GT] = ACTIONS(1866),
    [anon_sym_EQ_TILDE] = ACTIONS(1866),
    [anon_sym_BANG_TILDE] = ACTIONS(1866),
    [anon_sym_LT_EQ] = ACTIONS(1868),
    [anon_sym_GT] = ACTIONS(1868),
    [anon_sym_GT_EQ] = ACTIONS(1866),
    [anon_sym_CARET] = ACTIONS(1868),
    [anon_sym_PLUS] = ACTIONS(1868),
    [anon_sym_SLASH] = ACTIONS(1868),
    [anon_sym_PERCENT] = ACTIONS(1868),
    [sym_comment] = ACTIONS(256),
  },
  [9044] = {
    [anon_sym_DOT] = ACTIONS(14604),
    [anon_sym_COLON_COLON] = ACTIONS(14604),
    [sym_comment] = ACTIONS(110),
  },
  [9045] = {
    [sym_method_parameters] = STATE(11645),
    [sym__simple_formal_parameter] = STATE(1150),
    [sym_splat_parameter] = STATE(1151),
    [sym_hash_splat_parameter] = STATE(1151),
    [sym_block_parameter] = STATE(1151),
    [sym_keyword_parameter] = STATE(1151),
    [sym_optional_parameter] = STATE(1151),
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(11645),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym__line_break] = ACTIONS(692),
    [anon_sym_LPAREN] = ACTIONS(1872),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(1874),
    [anon_sym_STAR_STAR] = ACTIONS(1876),
    [anon_sym_AMP] = ACTIONS(1878),
    [sym_identifier] = ACTIONS(1880),
    [sym_comment] = ACTIONS(110),
  },
  [9046] = {
    [sym__simple_heredoc_body] = ACTIONS(1882),
    [sym__heredoc_body_beginning] = ACTIONS(1882),
    [sym__heredoc_body_middle] = ACTIONS(1882),
    [sym__heredoc_body_end] = ACTIONS(1882),
    [sym__element_reference_left_bracket] = ACTIONS(1882),
    [sym__scope_double_colon] = ACTIONS(1882),
    [sym__binary_minus] = ACTIONS(1882),
    [sym__binary_star] = ACTIONS(1882),
    [anon_sym_LBRACE] = ACTIONS(1882),
    [anon_sym_DOT] = ACTIONS(1884),
    [anon_sym_COMMA] = ACTIONS(1882),
    [anon_sym_PIPE] = ACTIONS(1884),
    [anon_sym_STAR_STAR] = ACTIONS(1884),
    [anon_sym_AMP] = ACTIONS(1884),
    [anon_sym_EQ] = ACTIONS(1884),
    [anon_sym_LT] = ACTIONS(1884),
    [anon_sym_if] = ACTIONS(1882),
    [anon_sym_unless] = ACTIONS(1882),
    [anon_sym_while] = ACTIONS(1882),
    [anon_sym_until] = ACTIONS(1882),
    [anon_sym_rescue] = ACTIONS(1882),
    [anon_sym_do] = ACTIONS(1882),
    [anon_sym_AMP_DOT] = ACTIONS(1882),
    [anon_sym_PLUS_EQ] = ACTIONS(1882),
    [anon_sym_DASH_EQ] = ACTIONS(1882),
    [anon_sym_STAR_EQ] = ACTIONS(1882),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1882),
    [anon_sym_SLASH_EQ] = ACTIONS(1882),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1882),
    [anon_sym_PIPE_EQ] = ACTIONS(1882),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1882),
    [anon_sym_AMP_EQ] = ACTIONS(1882),
    [anon_sym_PERCENT_EQ] = ACTIONS(1882),
    [anon_sym_GT_GT_EQ] = ACTIONS(1882),
    [anon_sym_LT_LT_EQ] = ACTIONS(1882),
    [anon_sym_CARET_EQ] = ACTIONS(1882),
    [anon_sym_QMARK] = ACTIONS(1882),
    [anon_sym_DOT_DOT] = ACTIONS(1884),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1882),
    [anon_sym_and] = ACTIONS(1882),
    [anon_sym_or] = ACTIONS(1882),
    [anon_sym_PIPE_PIPE] = ACTIONS(1884),
    [anon_sym_AMP_AMP] = ACTIONS(1884),
    [anon_sym_LT_LT] = ACTIONS(1884),
    [anon_sym_GT_GT] = ACTIONS(1884),
    [anon_sym_EQ_EQ] = ACTIONS(1884),
    [anon_sym_BANG_EQ] = ACTIONS(1882),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1882),
    [anon_sym_LT_EQ_GT] = ACTIONS(1882),
    [anon_sym_EQ_TILDE] = ACTIONS(1882),
    [anon_sym_BANG_TILDE] = ACTIONS(1882),
    [anon_sym_LT_EQ] = ACTIONS(1884),
    [anon_sym_GT] = ACTIONS(1884),
    [anon_sym_GT_EQ] = ACTIONS(1882),
    [anon_sym_CARET] = ACTIONS(1884),
    [anon_sym_PLUS] = ACTIONS(1884),
    [anon_sym_SLASH] = ACTIONS(1884),
    [anon_sym_PERCENT] = ACTIONS(1884),
    [sym_comment] = ACTIONS(256),
  },
  [9047] = {
    [anon_sym_RPAREN] = ACTIONS(14606),
    [sym_comment] = ACTIONS(110),
  },
  [9048] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(11647),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1329),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1330),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2090),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2100),
    [anon_sym_defined_QMARK] = ACTIONS(2102),
    [anon_sym_not] = ACTIONS(2104),
    [anon_sym_BANG] = ACTIONS(2106),
    [anon_sym_TILDE] = ACTIONS(2106),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9049] = {
    [sym_superclass] = STATE(11648),
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(11649),
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__unary_minus] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(722),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(722),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(2110),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(722),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [9050] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_superclass] = STATE(11648),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1349),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1310),
    [sym__argument_list_with_parens] = STATE(1264),
    [sym__argument] = STATE(1350),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_do_block] = STATE(1312),
    [sym_block] = STATE(1312),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1353),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1354),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__terminator] = STATE(11649),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(2114),
    [sym__splat_star] = ACTIONS(2116),
    [sym__argument_list_left_paren] = ACTIONS(2034),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(2064),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(980),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2120),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(2110),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(2076),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2138),
    [sym_identifier] = ACTIONS(2138),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9051] = {
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(11651),
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__unary_minus] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(722),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(14608),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(722),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(722),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [9052] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1349),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1310),
    [sym__argument_list_with_parens] = STATE(1264),
    [sym__argument] = STATE(1350),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_do_block] = STATE(1312),
    [sym_block] = STATE(1312),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1353),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1354),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__terminator] = STATE(11651),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(2114),
    [sym__splat_star] = ACTIONS(2116),
    [sym__argument_list_left_paren] = ACTIONS(2034),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(2064),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(980),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(14610),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2120),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(2076),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2138),
    [sym_identifier] = ACTIONS(2138),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9053] = {
    [sym__simple_heredoc_body] = ACTIONS(2264),
    [sym__heredoc_body_beginning] = ACTIONS(2264),
    [sym__heredoc_body_middle] = ACTIONS(2264),
    [sym__heredoc_body_end] = ACTIONS(2264),
    [sym__element_reference_left_bracket] = ACTIONS(2264),
    [sym__scope_double_colon] = ACTIONS(2264),
    [sym__binary_minus] = ACTIONS(2264),
    [sym__binary_star] = ACTIONS(2264),
    [anon_sym_LBRACE] = ACTIONS(2264),
    [anon_sym_DOT] = ACTIONS(2266),
    [anon_sym_COMMA] = ACTIONS(2264),
    [anon_sym_PIPE] = ACTIONS(2266),
    [anon_sym_STAR_STAR] = ACTIONS(2266),
    [anon_sym_AMP] = ACTIONS(2266),
    [anon_sym_EQ] = ACTIONS(2266),
    [anon_sym_LT] = ACTIONS(2266),
    [anon_sym_if] = ACTIONS(2264),
    [anon_sym_unless] = ACTIONS(2264),
    [anon_sym_while] = ACTIONS(2264),
    [anon_sym_until] = ACTIONS(2264),
    [anon_sym_rescue] = ACTIONS(2264),
    [anon_sym_do] = ACTIONS(2264),
    [anon_sym_AMP_DOT] = ACTIONS(2264),
    [anon_sym_PLUS_EQ] = ACTIONS(2264),
    [anon_sym_DASH_EQ] = ACTIONS(2264),
    [anon_sym_STAR_EQ] = ACTIONS(2264),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2264),
    [anon_sym_SLASH_EQ] = ACTIONS(2264),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2264),
    [anon_sym_PIPE_EQ] = ACTIONS(2264),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2264),
    [anon_sym_AMP_EQ] = ACTIONS(2264),
    [anon_sym_PERCENT_EQ] = ACTIONS(2264),
    [anon_sym_GT_GT_EQ] = ACTIONS(2264),
    [anon_sym_LT_LT_EQ] = ACTIONS(2264),
    [anon_sym_CARET_EQ] = ACTIONS(2264),
    [anon_sym_QMARK] = ACTIONS(2264),
    [anon_sym_DOT_DOT] = ACTIONS(2266),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2264),
    [anon_sym_and] = ACTIONS(2264),
    [anon_sym_or] = ACTIONS(2264),
    [anon_sym_PIPE_PIPE] = ACTIONS(2266),
    [anon_sym_AMP_AMP] = ACTIONS(2266),
    [anon_sym_LT_LT] = ACTIONS(2266),
    [anon_sym_GT_GT] = ACTIONS(2266),
    [anon_sym_EQ_EQ] = ACTIONS(2266),
    [anon_sym_BANG_EQ] = ACTIONS(2264),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2264),
    [anon_sym_LT_EQ_GT] = ACTIONS(2264),
    [anon_sym_EQ_TILDE] = ACTIONS(2264),
    [anon_sym_BANG_TILDE] = ACTIONS(2264),
    [anon_sym_LT_EQ] = ACTIONS(2266),
    [anon_sym_GT] = ACTIONS(2266),
    [anon_sym_GT_EQ] = ACTIONS(2264),
    [anon_sym_CARET] = ACTIONS(2266),
    [anon_sym_PLUS] = ACTIONS(2266),
    [anon_sym_SLASH] = ACTIONS(2266),
    [anon_sym_PERCENT] = ACTIONS(2266),
    [sym_comment] = ACTIONS(256),
  },
  [9054] = {
    [sym__simple_heredoc_body] = ACTIONS(2286),
    [sym__heredoc_body_beginning] = ACTIONS(2286),
    [sym__heredoc_body_middle] = ACTIONS(2286),
    [sym__heredoc_body_end] = ACTIONS(2286),
    [sym__element_reference_left_bracket] = ACTIONS(2286),
    [sym__scope_double_colon] = ACTIONS(2286),
    [sym__binary_minus] = ACTIONS(2286),
    [sym__binary_star] = ACTIONS(2286),
    [anon_sym_LBRACE] = ACTIONS(2286),
    [anon_sym_DOT] = ACTIONS(2288),
    [anon_sym_COMMA] = ACTIONS(2286),
    [anon_sym_PIPE] = ACTIONS(2288),
    [anon_sym_STAR_STAR] = ACTIONS(2288),
    [anon_sym_AMP] = ACTIONS(2288),
    [anon_sym_EQ] = ACTIONS(2288),
    [anon_sym_LT] = ACTIONS(2288),
    [anon_sym_if] = ACTIONS(2286),
    [anon_sym_unless] = ACTIONS(2286),
    [anon_sym_while] = ACTIONS(2286),
    [anon_sym_until] = ACTIONS(2286),
    [anon_sym_rescue] = ACTIONS(2286),
    [anon_sym_do] = ACTIONS(2286),
    [anon_sym_AMP_DOT] = ACTIONS(2286),
    [anon_sym_PLUS_EQ] = ACTIONS(2286),
    [anon_sym_DASH_EQ] = ACTIONS(2286),
    [anon_sym_STAR_EQ] = ACTIONS(2286),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2286),
    [anon_sym_SLASH_EQ] = ACTIONS(2286),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2286),
    [anon_sym_PIPE_EQ] = ACTIONS(2286),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2286),
    [anon_sym_AMP_EQ] = ACTIONS(2286),
    [anon_sym_PERCENT_EQ] = ACTIONS(2286),
    [anon_sym_GT_GT_EQ] = ACTIONS(2286),
    [anon_sym_LT_LT_EQ] = ACTIONS(2286),
    [anon_sym_CARET_EQ] = ACTIONS(2286),
    [anon_sym_QMARK] = ACTIONS(2286),
    [anon_sym_DOT_DOT] = ACTIONS(2288),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2286),
    [anon_sym_and] = ACTIONS(2286),
    [anon_sym_or] = ACTIONS(2286),
    [anon_sym_PIPE_PIPE] = ACTIONS(2288),
    [anon_sym_AMP_AMP] = ACTIONS(2288),
    [anon_sym_LT_LT] = ACTIONS(2288),
    [anon_sym_GT_GT] = ACTIONS(2288),
    [anon_sym_EQ_EQ] = ACTIONS(2288),
    [anon_sym_BANG_EQ] = ACTIONS(2286),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2286),
    [anon_sym_LT_EQ_GT] = ACTIONS(2286),
    [anon_sym_EQ_TILDE] = ACTIONS(2286),
    [anon_sym_BANG_TILDE] = ACTIONS(2286),
    [anon_sym_LT_EQ] = ACTIONS(2288),
    [anon_sym_GT] = ACTIONS(2288),
    [anon_sym_GT_EQ] = ACTIONS(2286),
    [anon_sym_CARET] = ACTIONS(2288),
    [anon_sym_PLUS] = ACTIONS(2288),
    [anon_sym_SLASH] = ACTIONS(2288),
    [anon_sym_PERCENT] = ACTIONS(2288),
    [sym_comment] = ACTIONS(256),
  },
  [9055] = {
    [sym__simple_heredoc_body] = ACTIONS(2290),
    [sym__heredoc_body_beginning] = ACTIONS(2290),
    [sym__heredoc_body_middle] = ACTIONS(2290),
    [sym__heredoc_body_end] = ACTIONS(2290),
    [sym__element_reference_left_bracket] = ACTIONS(2290),
    [sym__scope_double_colon] = ACTIONS(2290),
    [sym__binary_minus] = ACTIONS(2290),
    [sym__binary_star] = ACTIONS(2290),
    [anon_sym_LBRACE] = ACTIONS(2290),
    [anon_sym_DOT] = ACTIONS(2292),
    [anon_sym_COMMA] = ACTIONS(2290),
    [anon_sym_PIPE] = ACTIONS(2292),
    [anon_sym_STAR_STAR] = ACTIONS(2292),
    [anon_sym_AMP] = ACTIONS(2292),
    [anon_sym_EQ] = ACTIONS(2292),
    [anon_sym_LT] = ACTIONS(2292),
    [anon_sym_if] = ACTIONS(2290),
    [anon_sym_unless] = ACTIONS(2290),
    [anon_sym_while] = ACTIONS(2290),
    [anon_sym_until] = ACTIONS(2290),
    [anon_sym_rescue] = ACTIONS(2290),
    [anon_sym_do] = ACTIONS(2290),
    [anon_sym_AMP_DOT] = ACTIONS(2290),
    [anon_sym_PLUS_EQ] = ACTIONS(2290),
    [anon_sym_DASH_EQ] = ACTIONS(2290),
    [anon_sym_STAR_EQ] = ACTIONS(2290),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2290),
    [anon_sym_SLASH_EQ] = ACTIONS(2290),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2290),
    [anon_sym_PIPE_EQ] = ACTIONS(2290),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2290),
    [anon_sym_AMP_EQ] = ACTIONS(2290),
    [anon_sym_PERCENT_EQ] = ACTIONS(2290),
    [anon_sym_GT_GT_EQ] = ACTIONS(2290),
    [anon_sym_LT_LT_EQ] = ACTIONS(2290),
    [anon_sym_CARET_EQ] = ACTIONS(2290),
    [anon_sym_QMARK] = ACTIONS(2290),
    [anon_sym_DOT_DOT] = ACTIONS(2292),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2290),
    [anon_sym_and] = ACTIONS(2290),
    [anon_sym_or] = ACTIONS(2290),
    [anon_sym_PIPE_PIPE] = ACTIONS(2292),
    [anon_sym_AMP_AMP] = ACTIONS(2292),
    [anon_sym_LT_LT] = ACTIONS(2292),
    [anon_sym_GT_GT] = ACTIONS(2292),
    [anon_sym_EQ_EQ] = ACTIONS(2292),
    [anon_sym_BANG_EQ] = ACTIONS(2290),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2290),
    [anon_sym_LT_EQ_GT] = ACTIONS(2290),
    [anon_sym_EQ_TILDE] = ACTIONS(2290),
    [anon_sym_BANG_TILDE] = ACTIONS(2290),
    [anon_sym_LT_EQ] = ACTIONS(2292),
    [anon_sym_GT] = ACTIONS(2292),
    [anon_sym_GT_EQ] = ACTIONS(2290),
    [anon_sym_CARET] = ACTIONS(2292),
    [anon_sym_PLUS] = ACTIONS(2292),
    [anon_sym_SLASH] = ACTIONS(2292),
    [anon_sym_PERCENT] = ACTIONS(2292),
    [sym_comment] = ACTIONS(256),
  },
  [9056] = {
    [sym__simple_heredoc_body] = ACTIONS(2294),
    [sym__heredoc_body_beginning] = ACTIONS(2294),
    [sym__heredoc_body_middle] = ACTIONS(2294),
    [sym__heredoc_body_end] = ACTIONS(2294),
    [sym__element_reference_left_bracket] = ACTIONS(2294),
    [sym__scope_double_colon] = ACTIONS(2294),
    [sym__binary_minus] = ACTIONS(2294),
    [sym__binary_star] = ACTIONS(2294),
    [anon_sym_LBRACE] = ACTIONS(2294),
    [anon_sym_DOT] = ACTIONS(2296),
    [anon_sym_COMMA] = ACTIONS(2294),
    [anon_sym_PIPE] = ACTIONS(2296),
    [anon_sym_STAR_STAR] = ACTIONS(2296),
    [anon_sym_AMP] = ACTIONS(2296),
    [anon_sym_EQ] = ACTIONS(2296),
    [anon_sym_LT] = ACTIONS(2296),
    [anon_sym_if] = ACTIONS(2294),
    [anon_sym_unless] = ACTIONS(2294),
    [anon_sym_while] = ACTIONS(2294),
    [anon_sym_until] = ACTIONS(2294),
    [anon_sym_rescue] = ACTIONS(2294),
    [anon_sym_do] = ACTIONS(2294),
    [anon_sym_AMP_DOT] = ACTIONS(2294),
    [anon_sym_PLUS_EQ] = ACTIONS(2294),
    [anon_sym_DASH_EQ] = ACTIONS(2294),
    [anon_sym_STAR_EQ] = ACTIONS(2294),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2294),
    [anon_sym_SLASH_EQ] = ACTIONS(2294),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2294),
    [anon_sym_PIPE_EQ] = ACTIONS(2294),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2294),
    [anon_sym_AMP_EQ] = ACTIONS(2294),
    [anon_sym_PERCENT_EQ] = ACTIONS(2294),
    [anon_sym_GT_GT_EQ] = ACTIONS(2294),
    [anon_sym_LT_LT_EQ] = ACTIONS(2294),
    [anon_sym_CARET_EQ] = ACTIONS(2294),
    [anon_sym_QMARK] = ACTIONS(2294),
    [anon_sym_DOT_DOT] = ACTIONS(2296),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2294),
    [anon_sym_and] = ACTIONS(2294),
    [anon_sym_or] = ACTIONS(2294),
    [anon_sym_PIPE_PIPE] = ACTIONS(2296),
    [anon_sym_AMP_AMP] = ACTIONS(2296),
    [anon_sym_LT_LT] = ACTIONS(2296),
    [anon_sym_GT_GT] = ACTIONS(2296),
    [anon_sym_EQ_EQ] = ACTIONS(2296),
    [anon_sym_BANG_EQ] = ACTIONS(2294),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2294),
    [anon_sym_LT_EQ_GT] = ACTIONS(2294),
    [anon_sym_EQ_TILDE] = ACTIONS(2294),
    [anon_sym_BANG_TILDE] = ACTIONS(2294),
    [anon_sym_LT_EQ] = ACTIONS(2296),
    [anon_sym_GT] = ACTIONS(2296),
    [anon_sym_GT_EQ] = ACTIONS(2294),
    [anon_sym_CARET] = ACTIONS(2296),
    [anon_sym_PLUS] = ACTIONS(2296),
    [anon_sym_SLASH] = ACTIONS(2296),
    [anon_sym_PERCENT] = ACTIONS(2296),
    [sym_comment] = ACTIONS(256),
  },
  [9057] = {
    [sym__then] = STATE(11653),
    [sym_heredoc_end] = STATE(1476),
    [sym__terminator] = STATE(1484),
    [sym__simple_heredoc_body] = ACTIONS(2322),
    [sym__heredoc_body_beginning] = ACTIONS(2324),
    [sym__line_break] = ACTIONS(2326),
    [anon_sym_SEMI] = ACTIONS(2326),
    [anon_sym_if] = ACTIONS(2328),
    [anon_sym_unless] = ACTIONS(2330),
    [anon_sym_while] = ACTIONS(2332),
    [anon_sym_until] = ACTIONS(2334),
    [anon_sym_rescue] = ACTIONS(2336),
    [anon_sym_then] = ACTIONS(2338),
    [sym_comment] = ACTIONS(110),
  },
  [9058] = {
    [sym__then] = STATE(11654),
    [sym_heredoc_end] = STATE(1521),
    [sym__terminator] = STATE(1524),
    [sym__simple_heredoc_body] = ACTIONS(2402),
    [sym__heredoc_body_beginning] = ACTIONS(2404),
    [sym__line_break] = ACTIONS(2406),
    [anon_sym_SEMI] = ACTIONS(2406),
    [anon_sym_if] = ACTIONS(2328),
    [anon_sym_unless] = ACTIONS(2330),
    [anon_sym_while] = ACTIONS(2332),
    [anon_sym_until] = ACTIONS(2334),
    [anon_sym_rescue] = ACTIONS(2336),
    [anon_sym_then] = ACTIONS(2408),
    [sym_comment] = ACTIONS(110),
  },
  [9059] = {
    [sym__do] = STATE(11655),
    [sym_heredoc_end] = STATE(1550),
    [sym__terminator] = STATE(1557),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym__line_break] = ACTIONS(2446),
    [sym__binary_minus] = ACTIONS(2448),
    [sym__binary_star] = ACTIONS(2450),
    [anon_sym_PIPE] = ACTIONS(2452),
    [anon_sym_SEMI] = ACTIONS(2446),
    [anon_sym_STAR_STAR] = ACTIONS(2454),
    [anon_sym_AMP] = ACTIONS(2456),
    [anon_sym_LT] = ACTIONS(2458),
    [anon_sym_do] = ACTIONS(2460),
    [anon_sym_QMARK] = ACTIONS(2462),
    [anon_sym_DOT_DOT] = ACTIONS(2464),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2466),
    [anon_sym_and] = ACTIONS(2468),
    [anon_sym_or] = ACTIONS(2468),
    [anon_sym_PIPE_PIPE] = ACTIONS(2470),
    [anon_sym_AMP_AMP] = ACTIONS(2470),
    [anon_sym_LT_LT] = ACTIONS(2472),
    [anon_sym_GT_GT] = ACTIONS(2472),
    [anon_sym_EQ_EQ] = ACTIONS(2474),
    [anon_sym_BANG_EQ] = ACTIONS(2470),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2470),
    [anon_sym_LT_EQ_GT] = ACTIONS(2470),
    [anon_sym_EQ_TILDE] = ACTIONS(2470),
    [anon_sym_BANG_TILDE] = ACTIONS(2470),
    [anon_sym_LT_EQ] = ACTIONS(2458),
    [anon_sym_GT] = ACTIONS(2458),
    [anon_sym_GT_EQ] = ACTIONS(2476),
    [anon_sym_CARET] = ACTIONS(2478),
    [anon_sym_PLUS] = ACTIONS(2480),
    [anon_sym_SLASH] = ACTIONS(2454),
    [anon_sym_PERCENT] = ACTIONS(2454),
    [sym_comment] = ACTIONS(110),
  },
  [9060] = {
    [sym__do] = STATE(11656),
    [sym_heredoc_end] = STATE(1550),
    [sym__terminator] = STATE(1557),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym__line_break] = ACTIONS(2446),
    [sym__binary_minus] = ACTIONS(2448),
    [sym__binary_star] = ACTIONS(2450),
    [anon_sym_PIPE] = ACTIONS(2452),
    [anon_sym_SEMI] = ACTIONS(2446),
    [anon_sym_STAR_STAR] = ACTIONS(2454),
    [anon_sym_AMP] = ACTIONS(2456),
    [anon_sym_LT] = ACTIONS(2458),
    [anon_sym_do] = ACTIONS(2460),
    [anon_sym_QMARK] = ACTIONS(2462),
    [anon_sym_DOT_DOT] = ACTIONS(2464),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2466),
    [anon_sym_and] = ACTIONS(2468),
    [anon_sym_or] = ACTIONS(2468),
    [anon_sym_PIPE_PIPE] = ACTIONS(2470),
    [anon_sym_AMP_AMP] = ACTIONS(2470),
    [anon_sym_LT_LT] = ACTIONS(2472),
    [anon_sym_GT_GT] = ACTIONS(2472),
    [anon_sym_EQ_EQ] = ACTIONS(2474),
    [anon_sym_BANG_EQ] = ACTIONS(2470),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2470),
    [anon_sym_LT_EQ_GT] = ACTIONS(2470),
    [anon_sym_EQ_TILDE] = ACTIONS(2470),
    [anon_sym_BANG_TILDE] = ACTIONS(2470),
    [anon_sym_LT_EQ] = ACTIONS(2458),
    [anon_sym_GT] = ACTIONS(2458),
    [anon_sym_GT_EQ] = ACTIONS(2476),
    [anon_sym_CARET] = ACTIONS(2478),
    [anon_sym_PLUS] = ACTIONS(2480),
    [anon_sym_SLASH] = ACTIONS(2454),
    [anon_sym_PERCENT] = ACTIONS(2454),
    [sym_comment] = ACTIONS(110),
  },
  [9061] = {
    [sym_in] = STATE(11657),
    [anon_sym_in] = ACTIONS(2548),
    [sym_comment] = ACTIONS(110),
  },
  [9062] = {
    [anon_sym_end] = ACTIONS(14612),
    [sym_comment] = ACTIONS(110),
  },
  [9063] = {
    [sym_when] = STATE(11659),
    [sym_heredoc_end] = STATE(387),
    [sym__terminator] = STATE(402),
    [aux_sym_case_repeat1] = STATE(11660),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym__line_break] = ACTIONS(666),
    [sym__binary_minus] = ACTIONS(2600),
    [sym__binary_star] = ACTIONS(2602),
    [anon_sym_PIPE] = ACTIONS(2604),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_STAR_STAR] = ACTIONS(2606),
    [anon_sym_AMP] = ACTIONS(2608),
    [anon_sym_LT] = ACTIONS(2610),
    [anon_sym_when] = ACTIONS(2612),
    [anon_sym_QMARK] = ACTIONS(2614),
    [anon_sym_DOT_DOT] = ACTIONS(2616),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2618),
    [anon_sym_and] = ACTIONS(2620),
    [anon_sym_or] = ACTIONS(2620),
    [anon_sym_PIPE_PIPE] = ACTIONS(2622),
    [anon_sym_AMP_AMP] = ACTIONS(2622),
    [anon_sym_LT_LT] = ACTIONS(2624),
    [anon_sym_GT_GT] = ACTIONS(2624),
    [anon_sym_EQ_EQ] = ACTIONS(2626),
    [anon_sym_BANG_EQ] = ACTIONS(2622),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2622),
    [anon_sym_LT_EQ_GT] = ACTIONS(2622),
    [anon_sym_EQ_TILDE] = ACTIONS(2622),
    [anon_sym_BANG_TILDE] = ACTIONS(2622),
    [anon_sym_LT_EQ] = ACTIONS(2610),
    [anon_sym_GT] = ACTIONS(2610),
    [anon_sym_GT_EQ] = ACTIONS(2628),
    [anon_sym_CARET] = ACTIONS(2630),
    [anon_sym_PLUS] = ACTIONS(2632),
    [anon_sym_SLASH] = ACTIONS(2606),
    [anon_sym_PERCENT] = ACTIONS(2606),
    [sym_comment] = ACTIONS(110),
  },
  [9064] = {
    [sym_when] = STATE(11659),
    [sym_heredoc_end] = STATE(387),
    [sym__terminator] = STATE(1688),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym__line_break] = ACTIONS(666),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_when] = ACTIONS(2612),
    [sym_comment] = ACTIONS(110),
  },
  [9065] = {
    [sym__simple_heredoc_body] = ACTIONS(2674),
    [sym__heredoc_body_beginning] = ACTIONS(2674),
    [sym__heredoc_body_middle] = ACTIONS(2674),
    [sym__heredoc_body_end] = ACTIONS(2674),
    [sym__element_reference_left_bracket] = ACTIONS(2674),
    [sym__scope_double_colon] = ACTIONS(2674),
    [sym__binary_minus] = ACTIONS(2674),
    [sym__binary_star] = ACTIONS(2674),
    [anon_sym_LBRACE] = ACTIONS(2674),
    [anon_sym_DOT] = ACTIONS(2676),
    [anon_sym_COMMA] = ACTIONS(2674),
    [anon_sym_PIPE] = ACTIONS(2676),
    [anon_sym_STAR_STAR] = ACTIONS(2676),
    [anon_sym_AMP] = ACTIONS(2676),
    [anon_sym_EQ] = ACTIONS(2676),
    [anon_sym_LT] = ACTIONS(2676),
    [anon_sym_if] = ACTIONS(2674),
    [anon_sym_unless] = ACTIONS(2674),
    [anon_sym_while] = ACTIONS(2674),
    [anon_sym_until] = ACTIONS(2674),
    [anon_sym_rescue] = ACTIONS(2674),
    [anon_sym_do] = ACTIONS(2674),
    [anon_sym_AMP_DOT] = ACTIONS(2674),
    [anon_sym_PLUS_EQ] = ACTIONS(2674),
    [anon_sym_DASH_EQ] = ACTIONS(2674),
    [anon_sym_STAR_EQ] = ACTIONS(2674),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2674),
    [anon_sym_SLASH_EQ] = ACTIONS(2674),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2674),
    [anon_sym_PIPE_EQ] = ACTIONS(2674),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2674),
    [anon_sym_AMP_EQ] = ACTIONS(2674),
    [anon_sym_PERCENT_EQ] = ACTIONS(2674),
    [anon_sym_GT_GT_EQ] = ACTIONS(2674),
    [anon_sym_LT_LT_EQ] = ACTIONS(2674),
    [anon_sym_CARET_EQ] = ACTIONS(2674),
    [anon_sym_QMARK] = ACTIONS(2674),
    [anon_sym_DOT_DOT] = ACTIONS(2676),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2674),
    [anon_sym_and] = ACTIONS(2674),
    [anon_sym_or] = ACTIONS(2674),
    [anon_sym_PIPE_PIPE] = ACTIONS(2676),
    [anon_sym_AMP_AMP] = ACTIONS(2676),
    [anon_sym_LT_LT] = ACTIONS(2676),
    [anon_sym_GT_GT] = ACTIONS(2676),
    [anon_sym_EQ_EQ] = ACTIONS(2676),
    [anon_sym_BANG_EQ] = ACTIONS(2674),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2674),
    [anon_sym_LT_EQ_GT] = ACTIONS(2674),
    [anon_sym_EQ_TILDE] = ACTIONS(2674),
    [anon_sym_BANG_TILDE] = ACTIONS(2674),
    [anon_sym_LT_EQ] = ACTIONS(2676),
    [anon_sym_GT] = ACTIONS(2676),
    [anon_sym_GT_EQ] = ACTIONS(2674),
    [anon_sym_CARET] = ACTIONS(2676),
    [anon_sym_PLUS] = ACTIONS(2676),
    [anon_sym_SLASH] = ACTIONS(2676),
    [anon_sym_PERCENT] = ACTIONS(2676),
    [sym_comment] = ACTIONS(256),
  },
  [9066] = {
    [anon_sym_end] = ACTIONS(14614),
    [sym_comment] = ACTIONS(110),
  },
  [9067] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(11662),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14616),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9068] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__heredoc_body_middle] = ACTIONS(2870),
    [sym__heredoc_body_end] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(11958),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2872),
    [anon_sym_AMP_AMP] = ACTIONS(2872),
    [anon_sym_LT_LT] = ACTIONS(2872),
    [anon_sym_GT_GT] = ACTIONS(2872),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2872),
    [anon_sym_PLUS] = ACTIONS(2872),
    [anon_sym_SLASH] = ACTIONS(2872),
    [anon_sym_PERCENT] = ACTIONS(2872),
    [sym_comment] = ACTIONS(256),
  },
  [9069] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__heredoc_body_middle] = ACTIONS(2870),
    [sym__heredoc_body_end] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(11952),
    [sym__binary_star] = ACTIONS(11954),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(11956),
    [anon_sym_STAR_STAR] = ACTIONS(11958),
    [anon_sym_AMP] = ACTIONS(11960),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(11962),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(11964),
    [anon_sym_DOT_DOT] = ACTIONS(11966),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11968),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(11970),
    [anon_sym_AMP_AMP] = ACTIONS(11970),
    [anon_sym_LT_LT] = ACTIONS(11972),
    [anon_sym_GT_GT] = ACTIONS(11972),
    [anon_sym_EQ_EQ] = ACTIONS(11970),
    [anon_sym_BANG_EQ] = ACTIONS(11974),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11974),
    [anon_sym_LT_EQ_GT] = ACTIONS(11974),
    [anon_sym_EQ_TILDE] = ACTIONS(11974),
    [anon_sym_BANG_TILDE] = ACTIONS(11974),
    [anon_sym_LT_EQ] = ACTIONS(11962),
    [anon_sym_GT] = ACTIONS(11962),
    [anon_sym_GT_EQ] = ACTIONS(11976),
    [anon_sym_CARET] = ACTIONS(11956),
    [anon_sym_PLUS] = ACTIONS(11978),
    [anon_sym_SLASH] = ACTIONS(11958),
    [anon_sym_PERCENT] = ACTIONS(11958),
    [sym_comment] = ACTIONS(256),
  },
  [9070] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__heredoc_body_middle] = ACTIONS(2870),
    [sym__heredoc_body_end] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(2872),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2872),
    [anon_sym_AMP_AMP] = ACTIONS(2872),
    [anon_sym_LT_LT] = ACTIONS(2872),
    [anon_sym_GT_GT] = ACTIONS(2872),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2872),
    [anon_sym_PLUS] = ACTIONS(2872),
    [anon_sym_SLASH] = ACTIONS(2872),
    [anon_sym_PERCENT] = ACTIONS(2872),
    [sym_comment] = ACTIONS(256),
  },
  [9071] = {
    [sym__simple_heredoc_body] = ACTIONS(2882),
    [sym__heredoc_body_beginning] = ACTIONS(2882),
    [sym__heredoc_body_middle] = ACTIONS(2882),
    [sym__heredoc_body_end] = ACTIONS(2882),
    [sym__element_reference_left_bracket] = ACTIONS(2882),
    [sym__scope_double_colon] = ACTIONS(2882),
    [sym__binary_minus] = ACTIONS(2882),
    [sym__binary_star] = ACTIONS(2882),
    [anon_sym_LBRACE] = ACTIONS(2882),
    [anon_sym_DOT] = ACTIONS(2884),
    [anon_sym_COMMA] = ACTIONS(2882),
    [anon_sym_PIPE] = ACTIONS(2884),
    [anon_sym_STAR_STAR] = ACTIONS(2884),
    [anon_sym_AMP] = ACTIONS(2884),
    [anon_sym_EQ] = ACTIONS(2884),
    [anon_sym_LT] = ACTIONS(2884),
    [anon_sym_if] = ACTIONS(2882),
    [anon_sym_unless] = ACTIONS(2882),
    [anon_sym_while] = ACTIONS(2882),
    [anon_sym_until] = ACTIONS(2882),
    [anon_sym_rescue] = ACTIONS(2882),
    [anon_sym_do] = ACTIONS(2882),
    [anon_sym_AMP_DOT] = ACTIONS(2882),
    [anon_sym_PLUS_EQ] = ACTIONS(2882),
    [anon_sym_DASH_EQ] = ACTIONS(2882),
    [anon_sym_STAR_EQ] = ACTIONS(2882),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2882),
    [anon_sym_SLASH_EQ] = ACTIONS(2882),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2882),
    [anon_sym_PIPE_EQ] = ACTIONS(2882),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2882),
    [anon_sym_AMP_EQ] = ACTIONS(2882),
    [anon_sym_PERCENT_EQ] = ACTIONS(2882),
    [anon_sym_GT_GT_EQ] = ACTIONS(2882),
    [anon_sym_LT_LT_EQ] = ACTIONS(2882),
    [anon_sym_CARET_EQ] = ACTIONS(2882),
    [anon_sym_QMARK] = ACTIONS(2882),
    [anon_sym_DOT_DOT] = ACTIONS(2884),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2882),
    [anon_sym_and] = ACTIONS(2882),
    [anon_sym_or] = ACTIONS(2882),
    [anon_sym_PIPE_PIPE] = ACTIONS(2884),
    [anon_sym_AMP_AMP] = ACTIONS(2884),
    [anon_sym_LT_LT] = ACTIONS(2884),
    [anon_sym_GT_GT] = ACTIONS(2884),
    [anon_sym_EQ_EQ] = ACTIONS(2884),
    [anon_sym_BANG_EQ] = ACTIONS(2882),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2882),
    [anon_sym_LT_EQ_GT] = ACTIONS(2882),
    [anon_sym_EQ_TILDE] = ACTIONS(2882),
    [anon_sym_BANG_TILDE] = ACTIONS(2882),
    [anon_sym_LT_EQ] = ACTIONS(2884),
    [anon_sym_GT] = ACTIONS(2884),
    [anon_sym_GT_EQ] = ACTIONS(2882),
    [anon_sym_CARET] = ACTIONS(2884),
    [anon_sym_PLUS] = ACTIONS(2884),
    [anon_sym_SLASH] = ACTIONS(2884),
    [anon_sym_PERCENT] = ACTIONS(2884),
    [sym_comment] = ACTIONS(256),
  },
  [9072] = {
    [sym__simple_heredoc_body] = ACTIONS(2952),
    [sym__heredoc_body_beginning] = ACTIONS(2952),
    [sym__heredoc_body_middle] = ACTIONS(2952),
    [sym__heredoc_body_end] = ACTIONS(2952),
    [sym__element_reference_left_bracket] = ACTIONS(2952),
    [sym__scope_double_colon] = ACTIONS(2952),
    [sym__binary_minus] = ACTIONS(2952),
    [sym__binary_star] = ACTIONS(2952),
    [anon_sym_LBRACE] = ACTIONS(2952),
    [anon_sym_DOT] = ACTIONS(2954),
    [anon_sym_COMMA] = ACTIONS(2952),
    [anon_sym_PIPE] = ACTIONS(2954),
    [anon_sym_STAR_STAR] = ACTIONS(2954),
    [anon_sym_AMP] = ACTIONS(2954),
    [anon_sym_EQ] = ACTIONS(2954),
    [anon_sym_LT] = ACTIONS(2954),
    [anon_sym_if] = ACTIONS(2952),
    [anon_sym_unless] = ACTIONS(2952),
    [anon_sym_while] = ACTIONS(2952),
    [anon_sym_until] = ACTIONS(2952),
    [anon_sym_rescue] = ACTIONS(2952),
    [anon_sym_do] = ACTIONS(2952),
    [anon_sym_AMP_DOT] = ACTIONS(2952),
    [anon_sym_PLUS_EQ] = ACTIONS(2952),
    [anon_sym_DASH_EQ] = ACTIONS(2952),
    [anon_sym_STAR_EQ] = ACTIONS(2952),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2952),
    [anon_sym_SLASH_EQ] = ACTIONS(2952),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2952),
    [anon_sym_PIPE_EQ] = ACTIONS(2952),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2952),
    [anon_sym_AMP_EQ] = ACTIONS(2952),
    [anon_sym_PERCENT_EQ] = ACTIONS(2952),
    [anon_sym_GT_GT_EQ] = ACTIONS(2952),
    [anon_sym_LT_LT_EQ] = ACTIONS(2952),
    [anon_sym_CARET_EQ] = ACTIONS(2952),
    [anon_sym_QMARK] = ACTIONS(2952),
    [anon_sym_DOT_DOT] = ACTIONS(2954),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2952),
    [anon_sym_and] = ACTIONS(2952),
    [anon_sym_or] = ACTIONS(2952),
    [anon_sym_PIPE_PIPE] = ACTIONS(2954),
    [anon_sym_AMP_AMP] = ACTIONS(2954),
    [anon_sym_LT_LT] = ACTIONS(2954),
    [anon_sym_GT_GT] = ACTIONS(2954),
    [anon_sym_EQ_EQ] = ACTIONS(2954),
    [anon_sym_BANG_EQ] = ACTIONS(2952),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2952),
    [anon_sym_LT_EQ_GT] = ACTIONS(2952),
    [anon_sym_EQ_TILDE] = ACTIONS(2952),
    [anon_sym_BANG_TILDE] = ACTIONS(2952),
    [anon_sym_LT_EQ] = ACTIONS(2954),
    [anon_sym_GT] = ACTIONS(2954),
    [anon_sym_GT_EQ] = ACTIONS(2952),
    [anon_sym_CARET] = ACTIONS(2954),
    [anon_sym_PLUS] = ACTIONS(2954),
    [anon_sym_SLASH] = ACTIONS(2954),
    [anon_sym_PERCENT] = ACTIONS(2954),
    [sym_comment] = ACTIONS(256),
  },
  [9073] = {
    [sym_heredoc_end] = STATE(11663),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RBRACK] = ACTIONS(14600),
    [sym_comment] = ACTIONS(110),
  },
  [9074] = {
    [anon_sym_RBRACK] = ACTIONS(14600),
    [sym_comment] = ACTIONS(110),
  },
  [9075] = {
    [sym__statements] = STATE(11530),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(11531),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(841),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(14618),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_PIPE] = ACTIONS(3048),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9076] = {
    [sym__statements] = STATE(11533),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(11534),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1981),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(11535),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(3076),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(3078),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(3080),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14498),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(3086),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9077] = {
    [sym_do_block] = STATE(11665),
    [sym_block] = STATE(11665),
    [anon_sym_LBRACE] = ACTIONS(11948),
    [anon_sym_do] = ACTIONS(14500),
    [sym_comment] = ACTIONS(110),
  },
  [9078] = {
    [sym__simple_heredoc_body] = ACTIONS(3100),
    [sym__heredoc_body_beginning] = ACTIONS(3100),
    [sym__heredoc_body_middle] = ACTIONS(3100),
    [sym__heredoc_body_end] = ACTIONS(3100),
    [sym__element_reference_left_bracket] = ACTIONS(3100),
    [sym__scope_double_colon] = ACTIONS(3100),
    [sym__binary_minus] = ACTIONS(3100),
    [sym__binary_star] = ACTIONS(3100),
    [anon_sym_LBRACE] = ACTIONS(3100),
    [anon_sym_DOT] = ACTIONS(3102),
    [anon_sym_COMMA] = ACTIONS(3100),
    [anon_sym_PIPE] = ACTIONS(3102),
    [anon_sym_STAR_STAR] = ACTIONS(3102),
    [anon_sym_AMP] = ACTIONS(3102),
    [anon_sym_EQ] = ACTIONS(3102),
    [anon_sym_LT] = ACTIONS(3102),
    [anon_sym_if] = ACTIONS(3100),
    [anon_sym_unless] = ACTIONS(3100),
    [anon_sym_while] = ACTIONS(3100),
    [anon_sym_until] = ACTIONS(3100),
    [anon_sym_rescue] = ACTIONS(3100),
    [anon_sym_do] = ACTIONS(3100),
    [anon_sym_AMP_DOT] = ACTIONS(3100),
    [anon_sym_PLUS_EQ] = ACTIONS(3100),
    [anon_sym_DASH_EQ] = ACTIONS(3100),
    [anon_sym_STAR_EQ] = ACTIONS(3100),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3100),
    [anon_sym_SLASH_EQ] = ACTIONS(3100),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3100),
    [anon_sym_PIPE_EQ] = ACTIONS(3100),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3100),
    [anon_sym_AMP_EQ] = ACTIONS(3100),
    [anon_sym_PERCENT_EQ] = ACTIONS(3100),
    [anon_sym_GT_GT_EQ] = ACTIONS(3100),
    [anon_sym_LT_LT_EQ] = ACTIONS(3100),
    [anon_sym_CARET_EQ] = ACTIONS(3100),
    [anon_sym_QMARK] = ACTIONS(3100),
    [anon_sym_DOT_DOT] = ACTIONS(3102),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3100),
    [anon_sym_and] = ACTIONS(3100),
    [anon_sym_or] = ACTIONS(3100),
    [anon_sym_PIPE_PIPE] = ACTIONS(3102),
    [anon_sym_AMP_AMP] = ACTIONS(3102),
    [anon_sym_LT_LT] = ACTIONS(3102),
    [anon_sym_GT_GT] = ACTIONS(3102),
    [anon_sym_EQ_EQ] = ACTIONS(3102),
    [anon_sym_BANG_EQ] = ACTIONS(3100),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3100),
    [anon_sym_LT_EQ_GT] = ACTIONS(3100),
    [anon_sym_EQ_TILDE] = ACTIONS(3100),
    [anon_sym_BANG_TILDE] = ACTIONS(3100),
    [anon_sym_LT_EQ] = ACTIONS(3102),
    [anon_sym_GT] = ACTIONS(3102),
    [anon_sym_GT_EQ] = ACTIONS(3100),
    [anon_sym_CARET] = ACTIONS(3102),
    [anon_sym_PLUS] = ACTIONS(3102),
    [anon_sym_SLASH] = ACTIONS(3102),
    [anon_sym_PERCENT] = ACTIONS(3102),
    [sym_comment] = ACTIONS(256),
  },
  [9079] = {
    [sym_method] = STATE(5784),
    [sym_singleton_method] = STATE(5784),
    [sym_class] = STATE(5784),
    [sym_singleton_class] = STATE(5784),
    [sym_module] = STATE(5784),
    [sym_return] = STATE(5784),
    [sym_yield] = STATE(5784),
    [sym_break] = STATE(5784),
    [sym_next] = STATE(5784),
    [sym_redo] = STATE(5784),
    [sym_retry] = STATE(5784),
    [sym_while] = STATE(5784),
    [sym_until] = STATE(5784),
    [sym_for] = STATE(5784),
    [sym_case] = STATE(5784),
    [sym_if] = STATE(5784),
    [sym_unless] = STATE(5784),
    [sym_begin] = STATE(5784),
    [sym__arg] = STATE(11666),
    [sym__primary] = STATE(5812),
    [sym_parenthesized_statements] = STATE(5784),
    [sym_element_reference] = STATE(5606),
    [sym_scope_resolution] = STATE(5813),
    [sym_call] = STATE(5813),
    [sym_method_call] = STATE(5606),
    [sym_assignment] = STATE(5814),
    [sym_operator_assignment] = STATE(5814),
    [sym_conditional] = STATE(5814),
    [sym_range] = STATE(5814),
    [sym_binary] = STATE(5814),
    [sym_unary] = STATE(5814),
    [sym_left_assignment_list] = STATE(5815),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5816),
    [sym__variable] = STATE(5813),
    [sym_symbol] = STATE(5784),
    [sym_complex] = STATE(5784),
    [sym_rational] = STATE(5784),
    [sym_super] = STATE(5598),
    [sym_true] = STATE(5606),
    [sym_false] = STATE(5606),
    [sym_self] = STATE(5598),
    [sym_nil] = STATE(5606),
    [sym_chained_string] = STATE(5784),
    [sym_string] = STATE(5817),
    [sym_subshell] = STATE(5784),
    [sym_array] = STATE(5784),
    [sym_hash] = STATE(5784),
    [sym_regex] = STATE(5784),
    [sym_lambda] = STATE(5784),
    [sym__simple_string] = ACTIONS(8084),
    [sym__simple_symbol] = ACTIONS(8086),
    [sym__simple_subshell] = ACTIONS(8088),
    [sym__simple_regex] = ACTIONS(8090),
    [sym__simple_word_list] = ACTIONS(8092),
    [sym__string_beginning] = ACTIONS(8094),
    [sym__symbol_beginning] = ACTIONS(8096),
    [sym__subshell_beginning] = ACTIONS(8098),
    [sym__regex_beginning] = ACTIONS(8100),
    [sym__word_list_beginning] = ACTIONS(8102),
    [sym_heredoc_beginning] = ACTIONS(8104),
    [sym__unary_minus] = ACTIONS(8106),
    [anon_sym_LBRACE] = ACTIONS(8108),
    [anon_sym_def] = ACTIONS(8110),
    [anon_sym_LPAREN] = ACTIONS(8112),
    [anon_sym_COLON_COLON] = ACTIONS(7876),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8114),
    [anon_sym_module] = ACTIONS(8116),
    [anon_sym_return] = ACTIONS(8118),
    [anon_sym_yield] = ACTIONS(8120),
    [anon_sym_break] = ACTIONS(8122),
    [anon_sym_next] = ACTIONS(8124),
    [anon_sym_redo] = ACTIONS(8126),
    [anon_sym_retry] = ACTIONS(8128),
    [anon_sym_if] = ACTIONS(8130),
    [anon_sym_unless] = ACTIONS(8132),
    [anon_sym_while] = ACTIONS(8134),
    [anon_sym_until] = ACTIONS(8136),
    [anon_sym_for] = ACTIONS(8138),
    [anon_sym_case] = ACTIONS(8140),
    [anon_sym_begin] = ACTIONS(8142),
    [anon_sym_PLUS] = ACTIONS(8144),
    [anon_sym_defined_QMARK] = ACTIONS(8146),
    [anon_sym_not] = ACTIONS(8148),
    [anon_sym_BANG] = ACTIONS(8150),
    [anon_sym_TILDE] = ACTIONS(8150),
    [sym_constant] = ACTIONS(7916),
    [sym_identifier] = ACTIONS(7916),
    [sym_instance_variable] = ACTIONS(7918),
    [sym_class_variable] = ACTIONS(7918),
    [sym_global_variable] = ACTIONS(7918),
    [anon_sym_false] = ACTIONS(7920),
    [anon_sym_nil] = ACTIONS(7922),
    [anon_sym_self] = ACTIONS(7924),
    [anon_sym_super] = ACTIONS(7926),
    [anon_sym_true] = ACTIONS(7928),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8152),
    [sym_float] = ACTIONS(8154),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8156),
    [anon_sym_TRUE] = ACTIONS(7928),
    [anon_sym_FALSE] = ACTIONS(7920),
    [anon_sym_NIL] = ACTIONS(7922),
    [sym_keyword__FILE__] = ACTIONS(8158),
    [sym_keyword__LINE__] = ACTIONS(8158),
    [sym_keyword__ENCODING__] = ACTIONS(8158),
    [sym__character_literal] = ACTIONS(8160),
    [anon_sym_LBRACK] = ACTIONS(8162),
    [anon_sym_DASH_GT] = ACTIONS(8164),
  },
  [9080] = {
    [sym_method] = STATE(5784),
    [sym_singleton_method] = STATE(5784),
    [sym_class] = STATE(5784),
    [sym_singleton_class] = STATE(5784),
    [sym_module] = STATE(5784),
    [sym_return] = STATE(5784),
    [sym_yield] = STATE(5784),
    [sym_break] = STATE(5784),
    [sym_next] = STATE(5784),
    [sym_redo] = STATE(5784),
    [sym_retry] = STATE(5784),
    [sym_while] = STATE(5784),
    [sym_until] = STATE(5784),
    [sym_for] = STATE(5784),
    [sym_case] = STATE(5784),
    [sym_if] = STATE(5784),
    [sym_unless] = STATE(5784),
    [sym_begin] = STATE(5784),
    [sym__arg] = STATE(11667),
    [sym__primary] = STATE(5812),
    [sym_parenthesized_statements] = STATE(5784),
    [sym_element_reference] = STATE(5606),
    [sym_scope_resolution] = STATE(5813),
    [sym_call] = STATE(5813),
    [sym_method_call] = STATE(5606),
    [sym_assignment] = STATE(5814),
    [sym_operator_assignment] = STATE(5814),
    [sym_conditional] = STATE(5814),
    [sym_range] = STATE(5814),
    [sym_binary] = STATE(5814),
    [sym_unary] = STATE(5814),
    [sym_left_assignment_list] = STATE(5815),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5816),
    [sym__variable] = STATE(5813),
    [sym_symbol] = STATE(5784),
    [sym_complex] = STATE(5784),
    [sym_rational] = STATE(5784),
    [sym_super] = STATE(5598),
    [sym_true] = STATE(5606),
    [sym_false] = STATE(5606),
    [sym_self] = STATE(5598),
    [sym_nil] = STATE(5606),
    [sym_chained_string] = STATE(5784),
    [sym_string] = STATE(5817),
    [sym_subshell] = STATE(5784),
    [sym_array] = STATE(5784),
    [sym_hash] = STATE(5784),
    [sym_regex] = STATE(5784),
    [sym_lambda] = STATE(5784),
    [sym__simple_string] = ACTIONS(8084),
    [sym__simple_symbol] = ACTIONS(8086),
    [sym__simple_subshell] = ACTIONS(8088),
    [sym__simple_regex] = ACTIONS(8090),
    [sym__simple_word_list] = ACTIONS(8092),
    [sym__string_beginning] = ACTIONS(8094),
    [sym__symbol_beginning] = ACTIONS(8096),
    [sym__subshell_beginning] = ACTIONS(8098),
    [sym__regex_beginning] = ACTIONS(8100),
    [sym__word_list_beginning] = ACTIONS(8102),
    [sym_heredoc_beginning] = ACTIONS(8104),
    [sym__unary_minus] = ACTIONS(8106),
    [anon_sym_LBRACE] = ACTIONS(8108),
    [anon_sym_def] = ACTIONS(8110),
    [anon_sym_LPAREN] = ACTIONS(8112),
    [anon_sym_COLON_COLON] = ACTIONS(7876),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8114),
    [anon_sym_module] = ACTIONS(8116),
    [anon_sym_return] = ACTIONS(8118),
    [anon_sym_yield] = ACTIONS(8120),
    [anon_sym_break] = ACTIONS(8122),
    [anon_sym_next] = ACTIONS(8124),
    [anon_sym_redo] = ACTIONS(8126),
    [anon_sym_retry] = ACTIONS(8128),
    [anon_sym_if] = ACTIONS(8130),
    [anon_sym_unless] = ACTIONS(8132),
    [anon_sym_while] = ACTIONS(8134),
    [anon_sym_until] = ACTIONS(8136),
    [anon_sym_for] = ACTIONS(8138),
    [anon_sym_case] = ACTIONS(8140),
    [anon_sym_begin] = ACTIONS(8142),
    [anon_sym_PLUS] = ACTIONS(8144),
    [anon_sym_defined_QMARK] = ACTIONS(8146),
    [anon_sym_not] = ACTIONS(8148),
    [anon_sym_BANG] = ACTIONS(8150),
    [anon_sym_TILDE] = ACTIONS(8150),
    [sym_constant] = ACTIONS(7916),
    [sym_identifier] = ACTIONS(7916),
    [sym_instance_variable] = ACTIONS(7918),
    [sym_class_variable] = ACTIONS(7918),
    [sym_global_variable] = ACTIONS(7918),
    [anon_sym_false] = ACTIONS(7920),
    [anon_sym_nil] = ACTIONS(7922),
    [anon_sym_self] = ACTIONS(7924),
    [anon_sym_super] = ACTIONS(7926),
    [anon_sym_true] = ACTIONS(7928),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8152),
    [sym_float] = ACTIONS(8154),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8156),
    [anon_sym_TRUE] = ACTIONS(7928),
    [anon_sym_FALSE] = ACTIONS(7920),
    [anon_sym_NIL] = ACTIONS(7922),
    [sym_keyword__FILE__] = ACTIONS(8158),
    [sym_keyword__LINE__] = ACTIONS(8158),
    [sym_keyword__ENCODING__] = ACTIONS(8158),
    [sym__character_literal] = ACTIONS(8160),
    [anon_sym_LBRACK] = ACTIONS(8162),
    [anon_sym_DASH_GT] = ACTIONS(8164),
  },
  [9081] = {
    [sym_method] = STATE(5784),
    [sym_singleton_method] = STATE(5784),
    [sym_class] = STATE(5784),
    [sym_singleton_class] = STATE(5784),
    [sym_module] = STATE(5784),
    [sym_return] = STATE(5784),
    [sym_yield] = STATE(5784),
    [sym_break] = STATE(5784),
    [sym_next] = STATE(5784),
    [sym_redo] = STATE(5784),
    [sym_retry] = STATE(5784),
    [sym_while] = STATE(5784),
    [sym_until] = STATE(5784),
    [sym_for] = STATE(5784),
    [sym_case] = STATE(5784),
    [sym_if] = STATE(5784),
    [sym_unless] = STATE(5784),
    [sym_begin] = STATE(5784),
    [sym__arg] = STATE(11668),
    [sym__primary] = STATE(5812),
    [sym_parenthesized_statements] = STATE(5784),
    [sym_element_reference] = STATE(5606),
    [sym_scope_resolution] = STATE(5813),
    [sym_call] = STATE(5813),
    [sym_method_call] = STATE(5606),
    [sym_assignment] = STATE(5814),
    [sym_operator_assignment] = STATE(5814),
    [sym_conditional] = STATE(5814),
    [sym_range] = STATE(5814),
    [sym_binary] = STATE(5814),
    [sym_unary] = STATE(5814),
    [sym_left_assignment_list] = STATE(5815),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5816),
    [sym__variable] = STATE(5813),
    [sym_symbol] = STATE(5784),
    [sym_complex] = STATE(5784),
    [sym_rational] = STATE(5784),
    [sym_super] = STATE(5598),
    [sym_true] = STATE(5606),
    [sym_false] = STATE(5606),
    [sym_self] = STATE(5598),
    [sym_nil] = STATE(5606),
    [sym_chained_string] = STATE(5784),
    [sym_string] = STATE(5817),
    [sym_subshell] = STATE(5784),
    [sym_array] = STATE(5784),
    [sym_hash] = STATE(5784),
    [sym_regex] = STATE(5784),
    [sym_lambda] = STATE(5784),
    [sym__simple_string] = ACTIONS(8084),
    [sym__simple_symbol] = ACTIONS(8086),
    [sym__simple_subshell] = ACTIONS(8088),
    [sym__simple_regex] = ACTIONS(8090),
    [sym__simple_word_list] = ACTIONS(8092),
    [sym__string_beginning] = ACTIONS(8094),
    [sym__symbol_beginning] = ACTIONS(8096),
    [sym__subshell_beginning] = ACTIONS(8098),
    [sym__regex_beginning] = ACTIONS(8100),
    [sym__word_list_beginning] = ACTIONS(8102),
    [sym_heredoc_beginning] = ACTIONS(8104),
    [sym__unary_minus] = ACTIONS(8106),
    [anon_sym_LBRACE] = ACTIONS(8108),
    [anon_sym_def] = ACTIONS(8110),
    [anon_sym_LPAREN] = ACTIONS(8112),
    [anon_sym_COLON_COLON] = ACTIONS(7876),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8114),
    [anon_sym_module] = ACTIONS(8116),
    [anon_sym_return] = ACTIONS(8118),
    [anon_sym_yield] = ACTIONS(8120),
    [anon_sym_break] = ACTIONS(8122),
    [anon_sym_next] = ACTIONS(8124),
    [anon_sym_redo] = ACTIONS(8126),
    [anon_sym_retry] = ACTIONS(8128),
    [anon_sym_if] = ACTIONS(8130),
    [anon_sym_unless] = ACTIONS(8132),
    [anon_sym_while] = ACTIONS(8134),
    [anon_sym_until] = ACTIONS(8136),
    [anon_sym_for] = ACTIONS(8138),
    [anon_sym_case] = ACTIONS(8140),
    [anon_sym_begin] = ACTIONS(8142),
    [anon_sym_PLUS] = ACTIONS(8144),
    [anon_sym_defined_QMARK] = ACTIONS(8146),
    [anon_sym_not] = ACTIONS(8148),
    [anon_sym_BANG] = ACTIONS(8150),
    [anon_sym_TILDE] = ACTIONS(8150),
    [sym_constant] = ACTIONS(7916),
    [sym_identifier] = ACTIONS(7916),
    [sym_instance_variable] = ACTIONS(7918),
    [sym_class_variable] = ACTIONS(7918),
    [sym_global_variable] = ACTIONS(7918),
    [anon_sym_false] = ACTIONS(7920),
    [anon_sym_nil] = ACTIONS(7922),
    [anon_sym_self] = ACTIONS(7924),
    [anon_sym_super] = ACTIONS(7926),
    [anon_sym_true] = ACTIONS(7928),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8152),
    [sym_float] = ACTIONS(8154),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8156),
    [anon_sym_TRUE] = ACTIONS(7928),
    [anon_sym_FALSE] = ACTIONS(7920),
    [anon_sym_NIL] = ACTIONS(7922),
    [sym_keyword__FILE__] = ACTIONS(8158),
    [sym_keyword__LINE__] = ACTIONS(8158),
    [sym_keyword__ENCODING__] = ACTIONS(8158),
    [sym__character_literal] = ACTIONS(8160),
    [anon_sym_LBRACK] = ACTIONS(8162),
    [anon_sym_DASH_GT] = ACTIONS(8164),
  },
  [9082] = {
    [sym_method] = STATE(5784),
    [sym_singleton_method] = STATE(5784),
    [sym_class] = STATE(5784),
    [sym_singleton_class] = STATE(5784),
    [sym_module] = STATE(5784),
    [sym_return] = STATE(5784),
    [sym_yield] = STATE(5784),
    [sym_break] = STATE(5784),
    [sym_next] = STATE(5784),
    [sym_redo] = STATE(5784),
    [sym_retry] = STATE(5784),
    [sym_while] = STATE(5784),
    [sym_until] = STATE(5784),
    [sym_for] = STATE(5784),
    [sym_case] = STATE(5784),
    [sym_if] = STATE(5784),
    [sym_unless] = STATE(5784),
    [sym_begin] = STATE(5784),
    [sym__arg] = STATE(11669),
    [sym__primary] = STATE(5812),
    [sym_parenthesized_statements] = STATE(5784),
    [sym_element_reference] = STATE(5606),
    [sym_scope_resolution] = STATE(5813),
    [sym_call] = STATE(5813),
    [sym_method_call] = STATE(5606),
    [sym_assignment] = STATE(5814),
    [sym_operator_assignment] = STATE(5814),
    [sym_conditional] = STATE(5814),
    [sym_range] = STATE(5814),
    [sym_binary] = STATE(5814),
    [sym_unary] = STATE(5814),
    [sym_left_assignment_list] = STATE(5815),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5816),
    [sym__variable] = STATE(5813),
    [sym_symbol] = STATE(5784),
    [sym_complex] = STATE(5784),
    [sym_rational] = STATE(5784),
    [sym_super] = STATE(5598),
    [sym_true] = STATE(5606),
    [sym_false] = STATE(5606),
    [sym_self] = STATE(5598),
    [sym_nil] = STATE(5606),
    [sym_chained_string] = STATE(5784),
    [sym_string] = STATE(5817),
    [sym_subshell] = STATE(5784),
    [sym_array] = STATE(5784),
    [sym_hash] = STATE(5784),
    [sym_regex] = STATE(5784),
    [sym_lambda] = STATE(5784),
    [sym__simple_string] = ACTIONS(8084),
    [sym__simple_symbol] = ACTIONS(8086),
    [sym__simple_subshell] = ACTIONS(8088),
    [sym__simple_regex] = ACTIONS(8090),
    [sym__simple_word_list] = ACTIONS(8092),
    [sym__string_beginning] = ACTIONS(8094),
    [sym__symbol_beginning] = ACTIONS(8096),
    [sym__subshell_beginning] = ACTIONS(8098),
    [sym__regex_beginning] = ACTIONS(8100),
    [sym__word_list_beginning] = ACTIONS(8102),
    [sym_heredoc_beginning] = ACTIONS(8104),
    [sym__unary_minus] = ACTIONS(8106),
    [anon_sym_LBRACE] = ACTIONS(8108),
    [anon_sym_def] = ACTIONS(8110),
    [anon_sym_LPAREN] = ACTIONS(8112),
    [anon_sym_COLON_COLON] = ACTIONS(7876),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8114),
    [anon_sym_module] = ACTIONS(8116),
    [anon_sym_return] = ACTIONS(8118),
    [anon_sym_yield] = ACTIONS(8120),
    [anon_sym_break] = ACTIONS(8122),
    [anon_sym_next] = ACTIONS(8124),
    [anon_sym_redo] = ACTIONS(8126),
    [anon_sym_retry] = ACTIONS(8128),
    [anon_sym_if] = ACTIONS(8130),
    [anon_sym_unless] = ACTIONS(8132),
    [anon_sym_while] = ACTIONS(8134),
    [anon_sym_until] = ACTIONS(8136),
    [anon_sym_for] = ACTIONS(8138),
    [anon_sym_case] = ACTIONS(8140),
    [anon_sym_begin] = ACTIONS(8142),
    [anon_sym_PLUS] = ACTIONS(8144),
    [anon_sym_defined_QMARK] = ACTIONS(8146),
    [anon_sym_not] = ACTIONS(8148),
    [anon_sym_BANG] = ACTIONS(8150),
    [anon_sym_TILDE] = ACTIONS(8150),
    [sym_constant] = ACTIONS(7916),
    [sym_identifier] = ACTIONS(7916),
    [sym_instance_variable] = ACTIONS(7918),
    [sym_class_variable] = ACTIONS(7918),
    [sym_global_variable] = ACTIONS(7918),
    [anon_sym_false] = ACTIONS(7920),
    [anon_sym_nil] = ACTIONS(7922),
    [anon_sym_self] = ACTIONS(7924),
    [anon_sym_super] = ACTIONS(7926),
    [anon_sym_true] = ACTIONS(7928),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8152),
    [sym_float] = ACTIONS(8154),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8156),
    [anon_sym_TRUE] = ACTIONS(7928),
    [anon_sym_FALSE] = ACTIONS(7920),
    [anon_sym_NIL] = ACTIONS(7922),
    [sym_keyword__FILE__] = ACTIONS(8158),
    [sym_keyword__LINE__] = ACTIONS(8158),
    [sym_keyword__ENCODING__] = ACTIONS(8158),
    [sym__character_literal] = ACTIONS(8160),
    [anon_sym_LBRACK] = ACTIONS(8162),
    [anon_sym_DASH_GT] = ACTIONS(8164),
  },
  [9083] = {
    [sym_method] = STATE(5784),
    [sym_singleton_method] = STATE(5784),
    [sym_class] = STATE(5784),
    [sym_singleton_class] = STATE(5784),
    [sym_module] = STATE(5784),
    [sym_return] = STATE(5784),
    [sym_yield] = STATE(5784),
    [sym_break] = STATE(5784),
    [sym_next] = STATE(5784),
    [sym_redo] = STATE(5784),
    [sym_retry] = STATE(5784),
    [sym_while] = STATE(5784),
    [sym_until] = STATE(5784),
    [sym_for] = STATE(5784),
    [sym_case] = STATE(5784),
    [sym_if] = STATE(5784),
    [sym_unless] = STATE(5784),
    [sym_begin] = STATE(5784),
    [sym__arg] = STATE(11670),
    [sym__primary] = STATE(5812),
    [sym_parenthesized_statements] = STATE(5784),
    [sym_element_reference] = STATE(5606),
    [sym_scope_resolution] = STATE(5813),
    [sym_call] = STATE(5813),
    [sym_method_call] = STATE(5606),
    [sym_assignment] = STATE(5814),
    [sym_operator_assignment] = STATE(5814),
    [sym_conditional] = STATE(5814),
    [sym_range] = STATE(5814),
    [sym_binary] = STATE(5814),
    [sym_unary] = STATE(5814),
    [sym_left_assignment_list] = STATE(5815),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5816),
    [sym__variable] = STATE(5813),
    [sym_symbol] = STATE(5784),
    [sym_complex] = STATE(5784),
    [sym_rational] = STATE(5784),
    [sym_super] = STATE(5598),
    [sym_true] = STATE(5606),
    [sym_false] = STATE(5606),
    [sym_self] = STATE(5598),
    [sym_nil] = STATE(5606),
    [sym_chained_string] = STATE(5784),
    [sym_string] = STATE(5817),
    [sym_subshell] = STATE(5784),
    [sym_array] = STATE(5784),
    [sym_hash] = STATE(5784),
    [sym_regex] = STATE(5784),
    [sym_lambda] = STATE(5784),
    [sym__simple_string] = ACTIONS(8084),
    [sym__simple_symbol] = ACTIONS(8086),
    [sym__simple_subshell] = ACTIONS(8088),
    [sym__simple_regex] = ACTIONS(8090),
    [sym__simple_word_list] = ACTIONS(8092),
    [sym__string_beginning] = ACTIONS(8094),
    [sym__symbol_beginning] = ACTIONS(8096),
    [sym__subshell_beginning] = ACTIONS(8098),
    [sym__regex_beginning] = ACTIONS(8100),
    [sym__word_list_beginning] = ACTIONS(8102),
    [sym_heredoc_beginning] = ACTIONS(8104),
    [sym__unary_minus] = ACTIONS(8106),
    [anon_sym_LBRACE] = ACTIONS(8108),
    [anon_sym_def] = ACTIONS(8110),
    [anon_sym_LPAREN] = ACTIONS(8112),
    [anon_sym_COLON_COLON] = ACTIONS(7876),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8114),
    [anon_sym_module] = ACTIONS(8116),
    [anon_sym_return] = ACTIONS(8118),
    [anon_sym_yield] = ACTIONS(8120),
    [anon_sym_break] = ACTIONS(8122),
    [anon_sym_next] = ACTIONS(8124),
    [anon_sym_redo] = ACTIONS(8126),
    [anon_sym_retry] = ACTIONS(8128),
    [anon_sym_if] = ACTIONS(8130),
    [anon_sym_unless] = ACTIONS(8132),
    [anon_sym_while] = ACTIONS(8134),
    [anon_sym_until] = ACTIONS(8136),
    [anon_sym_for] = ACTIONS(8138),
    [anon_sym_case] = ACTIONS(8140),
    [anon_sym_begin] = ACTIONS(8142),
    [anon_sym_PLUS] = ACTIONS(8144),
    [anon_sym_defined_QMARK] = ACTIONS(8146),
    [anon_sym_not] = ACTIONS(8148),
    [anon_sym_BANG] = ACTIONS(8150),
    [anon_sym_TILDE] = ACTIONS(8150),
    [sym_constant] = ACTIONS(7916),
    [sym_identifier] = ACTIONS(7916),
    [sym_instance_variable] = ACTIONS(7918),
    [sym_class_variable] = ACTIONS(7918),
    [sym_global_variable] = ACTIONS(7918),
    [anon_sym_false] = ACTIONS(7920),
    [anon_sym_nil] = ACTIONS(7922),
    [anon_sym_self] = ACTIONS(7924),
    [anon_sym_super] = ACTIONS(7926),
    [anon_sym_true] = ACTIONS(7928),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8152),
    [sym_float] = ACTIONS(8154),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8156),
    [anon_sym_TRUE] = ACTIONS(7928),
    [anon_sym_FALSE] = ACTIONS(7920),
    [anon_sym_NIL] = ACTIONS(7922),
    [sym_keyword__FILE__] = ACTIONS(8158),
    [sym_keyword__LINE__] = ACTIONS(8158),
    [sym_keyword__ENCODING__] = ACTIONS(8158),
    [sym__character_literal] = ACTIONS(8160),
    [anon_sym_LBRACK] = ACTIONS(8162),
    [anon_sym_DASH_GT] = ACTIONS(8164),
  },
  [9084] = {
    [sym_method] = STATE(5784),
    [sym_singleton_method] = STATE(5784),
    [sym_class] = STATE(5784),
    [sym_singleton_class] = STATE(5784),
    [sym_module] = STATE(5784),
    [sym_return] = STATE(5784),
    [sym_yield] = STATE(5784),
    [sym_break] = STATE(5784),
    [sym_next] = STATE(5784),
    [sym_redo] = STATE(5784),
    [sym_retry] = STATE(5784),
    [sym_while] = STATE(5784),
    [sym_until] = STATE(5784),
    [sym_for] = STATE(5784),
    [sym_case] = STATE(5784),
    [sym_if] = STATE(5784),
    [sym_unless] = STATE(5784),
    [sym_begin] = STATE(5784),
    [sym__arg] = STATE(11671),
    [sym__primary] = STATE(5812),
    [sym_parenthesized_statements] = STATE(5784),
    [sym_element_reference] = STATE(5606),
    [sym_scope_resolution] = STATE(5813),
    [sym_call] = STATE(5813),
    [sym_method_call] = STATE(5606),
    [sym_assignment] = STATE(5814),
    [sym_operator_assignment] = STATE(5814),
    [sym_conditional] = STATE(5814),
    [sym_range] = STATE(5814),
    [sym_binary] = STATE(5814),
    [sym_unary] = STATE(5814),
    [sym_left_assignment_list] = STATE(5815),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5816),
    [sym__variable] = STATE(5813),
    [sym_symbol] = STATE(5784),
    [sym_complex] = STATE(5784),
    [sym_rational] = STATE(5784),
    [sym_super] = STATE(5598),
    [sym_true] = STATE(5606),
    [sym_false] = STATE(5606),
    [sym_self] = STATE(5598),
    [sym_nil] = STATE(5606),
    [sym_chained_string] = STATE(5784),
    [sym_string] = STATE(5817),
    [sym_subshell] = STATE(5784),
    [sym_array] = STATE(5784),
    [sym_hash] = STATE(5784),
    [sym_regex] = STATE(5784),
    [sym_lambda] = STATE(5784),
    [sym__simple_string] = ACTIONS(8084),
    [sym__simple_symbol] = ACTIONS(8086),
    [sym__simple_subshell] = ACTIONS(8088),
    [sym__simple_regex] = ACTIONS(8090),
    [sym__simple_word_list] = ACTIONS(8092),
    [sym__string_beginning] = ACTIONS(8094),
    [sym__symbol_beginning] = ACTIONS(8096),
    [sym__subshell_beginning] = ACTIONS(8098),
    [sym__regex_beginning] = ACTIONS(8100),
    [sym__word_list_beginning] = ACTIONS(8102),
    [sym_heredoc_beginning] = ACTIONS(8104),
    [sym__unary_minus] = ACTIONS(8106),
    [anon_sym_LBRACE] = ACTIONS(8108),
    [anon_sym_def] = ACTIONS(8110),
    [anon_sym_LPAREN] = ACTIONS(8112),
    [anon_sym_COLON_COLON] = ACTIONS(7876),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8114),
    [anon_sym_module] = ACTIONS(8116),
    [anon_sym_return] = ACTIONS(8118),
    [anon_sym_yield] = ACTIONS(8120),
    [anon_sym_break] = ACTIONS(8122),
    [anon_sym_next] = ACTIONS(8124),
    [anon_sym_redo] = ACTIONS(8126),
    [anon_sym_retry] = ACTIONS(8128),
    [anon_sym_if] = ACTIONS(8130),
    [anon_sym_unless] = ACTIONS(8132),
    [anon_sym_while] = ACTIONS(8134),
    [anon_sym_until] = ACTIONS(8136),
    [anon_sym_for] = ACTIONS(8138),
    [anon_sym_case] = ACTIONS(8140),
    [anon_sym_begin] = ACTIONS(8142),
    [anon_sym_PLUS] = ACTIONS(8144),
    [anon_sym_defined_QMARK] = ACTIONS(8146),
    [anon_sym_not] = ACTIONS(8148),
    [anon_sym_BANG] = ACTIONS(8150),
    [anon_sym_TILDE] = ACTIONS(8150),
    [sym_constant] = ACTIONS(7916),
    [sym_identifier] = ACTIONS(7916),
    [sym_instance_variable] = ACTIONS(7918),
    [sym_class_variable] = ACTIONS(7918),
    [sym_global_variable] = ACTIONS(7918),
    [anon_sym_false] = ACTIONS(7920),
    [anon_sym_nil] = ACTIONS(7922),
    [anon_sym_self] = ACTIONS(7924),
    [anon_sym_super] = ACTIONS(7926),
    [anon_sym_true] = ACTIONS(7928),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8152),
    [sym_float] = ACTIONS(8154),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8156),
    [anon_sym_TRUE] = ACTIONS(7928),
    [anon_sym_FALSE] = ACTIONS(7920),
    [anon_sym_NIL] = ACTIONS(7922),
    [sym_keyword__FILE__] = ACTIONS(8158),
    [sym_keyword__LINE__] = ACTIONS(8158),
    [sym_keyword__ENCODING__] = ACTIONS(8158),
    [sym__character_literal] = ACTIONS(8160),
    [anon_sym_LBRACK] = ACTIONS(8162),
    [anon_sym_DASH_GT] = ACTIONS(8164),
  },
  [9085] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(11672),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [9086] = {
    [sym_method] = STATE(5784),
    [sym_singleton_method] = STATE(5784),
    [sym_class] = STATE(5784),
    [sym_singleton_class] = STATE(5784),
    [sym_module] = STATE(5784),
    [sym_return] = STATE(5784),
    [sym_yield] = STATE(5784),
    [sym_break] = STATE(5784),
    [sym_next] = STATE(5784),
    [sym_redo] = STATE(5784),
    [sym_retry] = STATE(5784),
    [sym_while] = STATE(5784),
    [sym_until] = STATE(5784),
    [sym_for] = STATE(5784),
    [sym_case] = STATE(5784),
    [sym_if] = STATE(5784),
    [sym_unless] = STATE(5784),
    [sym_begin] = STATE(5784),
    [sym__arg] = STATE(11673),
    [sym__primary] = STATE(5812),
    [sym_parenthesized_statements] = STATE(5784),
    [sym_element_reference] = STATE(5606),
    [sym_scope_resolution] = STATE(5813),
    [sym_call] = STATE(5813),
    [sym_method_call] = STATE(5606),
    [sym_assignment] = STATE(5814),
    [sym_operator_assignment] = STATE(5814),
    [sym_conditional] = STATE(5814),
    [sym_range] = STATE(5814),
    [sym_binary] = STATE(5814),
    [sym_unary] = STATE(5814),
    [sym_left_assignment_list] = STATE(5815),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5816),
    [sym__variable] = STATE(5813),
    [sym_symbol] = STATE(5784),
    [sym_complex] = STATE(5784),
    [sym_rational] = STATE(5784),
    [sym_super] = STATE(5598),
    [sym_true] = STATE(5606),
    [sym_false] = STATE(5606),
    [sym_self] = STATE(5598),
    [sym_nil] = STATE(5606),
    [sym_chained_string] = STATE(5784),
    [sym_string] = STATE(5817),
    [sym_subshell] = STATE(5784),
    [sym_array] = STATE(5784),
    [sym_hash] = STATE(5784),
    [sym_regex] = STATE(5784),
    [sym_lambda] = STATE(5784),
    [sym__simple_string] = ACTIONS(8084),
    [sym__simple_symbol] = ACTIONS(8086),
    [sym__simple_subshell] = ACTIONS(8088),
    [sym__simple_regex] = ACTIONS(8090),
    [sym__simple_word_list] = ACTIONS(8092),
    [sym__string_beginning] = ACTIONS(8094),
    [sym__symbol_beginning] = ACTIONS(8096),
    [sym__subshell_beginning] = ACTIONS(8098),
    [sym__regex_beginning] = ACTIONS(8100),
    [sym__word_list_beginning] = ACTIONS(8102),
    [sym_heredoc_beginning] = ACTIONS(8104),
    [sym__unary_minus] = ACTIONS(8106),
    [anon_sym_LBRACE] = ACTIONS(8108),
    [anon_sym_def] = ACTIONS(8110),
    [anon_sym_LPAREN] = ACTIONS(8112),
    [anon_sym_COLON_COLON] = ACTIONS(7876),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8114),
    [anon_sym_module] = ACTIONS(8116),
    [anon_sym_return] = ACTIONS(8118),
    [anon_sym_yield] = ACTIONS(8120),
    [anon_sym_break] = ACTIONS(8122),
    [anon_sym_next] = ACTIONS(8124),
    [anon_sym_redo] = ACTIONS(8126),
    [anon_sym_retry] = ACTIONS(8128),
    [anon_sym_if] = ACTIONS(8130),
    [anon_sym_unless] = ACTIONS(8132),
    [anon_sym_while] = ACTIONS(8134),
    [anon_sym_until] = ACTIONS(8136),
    [anon_sym_for] = ACTIONS(8138),
    [anon_sym_case] = ACTIONS(8140),
    [anon_sym_begin] = ACTIONS(8142),
    [anon_sym_PLUS] = ACTIONS(8144),
    [anon_sym_defined_QMARK] = ACTIONS(8146),
    [anon_sym_not] = ACTIONS(8148),
    [anon_sym_BANG] = ACTIONS(8150),
    [anon_sym_TILDE] = ACTIONS(8150),
    [sym_constant] = ACTIONS(7916),
    [sym_identifier] = ACTIONS(7916),
    [sym_instance_variable] = ACTIONS(7918),
    [sym_class_variable] = ACTIONS(7918),
    [sym_global_variable] = ACTIONS(7918),
    [anon_sym_false] = ACTIONS(7920),
    [anon_sym_nil] = ACTIONS(7922),
    [anon_sym_self] = ACTIONS(7924),
    [anon_sym_super] = ACTIONS(7926),
    [anon_sym_true] = ACTIONS(7928),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8152),
    [sym_float] = ACTIONS(8154),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8156),
    [anon_sym_TRUE] = ACTIONS(7928),
    [anon_sym_FALSE] = ACTIONS(7920),
    [anon_sym_NIL] = ACTIONS(7922),
    [sym_keyword__FILE__] = ACTIONS(8158),
    [sym_keyword__LINE__] = ACTIONS(8158),
    [sym_keyword__ENCODING__] = ACTIONS(8158),
    [sym__character_literal] = ACTIONS(8160),
    [anon_sym_LBRACK] = ACTIONS(8162),
    [anon_sym_DASH_GT] = ACTIONS(8164),
  },
  [9087] = {
    [sym_method] = STATE(5784),
    [sym_singleton_method] = STATE(5784),
    [sym_class] = STATE(5784),
    [sym_singleton_class] = STATE(5784),
    [sym_module] = STATE(5784),
    [sym_return] = STATE(5784),
    [sym_yield] = STATE(5784),
    [sym_break] = STATE(5784),
    [sym_next] = STATE(5784),
    [sym_redo] = STATE(5784),
    [sym_retry] = STATE(5784),
    [sym_while] = STATE(5784),
    [sym_until] = STATE(5784),
    [sym_for] = STATE(5784),
    [sym_case] = STATE(5784),
    [sym_if] = STATE(5784),
    [sym_unless] = STATE(5784),
    [sym_begin] = STATE(5784),
    [sym__arg] = STATE(11674),
    [sym__primary] = STATE(5812),
    [sym_parenthesized_statements] = STATE(5784),
    [sym_element_reference] = STATE(5606),
    [sym_scope_resolution] = STATE(5813),
    [sym_call] = STATE(5813),
    [sym_method_call] = STATE(5606),
    [sym_assignment] = STATE(5814),
    [sym_operator_assignment] = STATE(5814),
    [sym_conditional] = STATE(5814),
    [sym_range] = STATE(5814),
    [sym_binary] = STATE(5814),
    [sym_unary] = STATE(5814),
    [sym_left_assignment_list] = STATE(5815),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5816),
    [sym__variable] = STATE(5813),
    [sym_symbol] = STATE(5784),
    [sym_complex] = STATE(5784),
    [sym_rational] = STATE(5784),
    [sym_super] = STATE(5598),
    [sym_true] = STATE(5606),
    [sym_false] = STATE(5606),
    [sym_self] = STATE(5598),
    [sym_nil] = STATE(5606),
    [sym_chained_string] = STATE(5784),
    [sym_string] = STATE(5817),
    [sym_subshell] = STATE(5784),
    [sym_array] = STATE(5784),
    [sym_hash] = STATE(5784),
    [sym_regex] = STATE(5784),
    [sym_lambda] = STATE(5784),
    [sym__simple_string] = ACTIONS(8084),
    [sym__simple_symbol] = ACTIONS(8086),
    [sym__simple_subshell] = ACTIONS(8088),
    [sym__simple_regex] = ACTIONS(8090),
    [sym__simple_word_list] = ACTIONS(8092),
    [sym__string_beginning] = ACTIONS(8094),
    [sym__symbol_beginning] = ACTIONS(8096),
    [sym__subshell_beginning] = ACTIONS(8098),
    [sym__regex_beginning] = ACTIONS(8100),
    [sym__word_list_beginning] = ACTIONS(8102),
    [sym_heredoc_beginning] = ACTIONS(8104),
    [sym__unary_minus] = ACTIONS(8106),
    [anon_sym_LBRACE] = ACTIONS(8108),
    [anon_sym_def] = ACTIONS(8110),
    [anon_sym_LPAREN] = ACTIONS(8112),
    [anon_sym_COLON_COLON] = ACTIONS(7876),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8114),
    [anon_sym_module] = ACTIONS(8116),
    [anon_sym_return] = ACTIONS(8118),
    [anon_sym_yield] = ACTIONS(8120),
    [anon_sym_break] = ACTIONS(8122),
    [anon_sym_next] = ACTIONS(8124),
    [anon_sym_redo] = ACTIONS(8126),
    [anon_sym_retry] = ACTIONS(8128),
    [anon_sym_if] = ACTIONS(8130),
    [anon_sym_unless] = ACTIONS(8132),
    [anon_sym_while] = ACTIONS(8134),
    [anon_sym_until] = ACTIONS(8136),
    [anon_sym_for] = ACTIONS(8138),
    [anon_sym_case] = ACTIONS(8140),
    [anon_sym_begin] = ACTIONS(8142),
    [anon_sym_PLUS] = ACTIONS(8144),
    [anon_sym_defined_QMARK] = ACTIONS(8146),
    [anon_sym_not] = ACTIONS(8148),
    [anon_sym_BANG] = ACTIONS(8150),
    [anon_sym_TILDE] = ACTIONS(8150),
    [sym_constant] = ACTIONS(7916),
    [sym_identifier] = ACTIONS(7916),
    [sym_instance_variable] = ACTIONS(7918),
    [sym_class_variable] = ACTIONS(7918),
    [sym_global_variable] = ACTIONS(7918),
    [anon_sym_false] = ACTIONS(7920),
    [anon_sym_nil] = ACTIONS(7922),
    [anon_sym_self] = ACTIONS(7924),
    [anon_sym_super] = ACTIONS(7926),
    [anon_sym_true] = ACTIONS(7928),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8152),
    [sym_float] = ACTIONS(8154),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8156),
    [anon_sym_TRUE] = ACTIONS(7928),
    [anon_sym_FALSE] = ACTIONS(7920),
    [anon_sym_NIL] = ACTIONS(7922),
    [sym_keyword__FILE__] = ACTIONS(8158),
    [sym_keyword__LINE__] = ACTIONS(8158),
    [sym_keyword__ENCODING__] = ACTIONS(8158),
    [sym__character_literal] = ACTIONS(8160),
    [anon_sym_LBRACK] = ACTIONS(8162),
    [anon_sym_DASH_GT] = ACTIONS(8164),
  },
  [9088] = {
    [sym_method] = STATE(5784),
    [sym_singleton_method] = STATE(5784),
    [sym_class] = STATE(5784),
    [sym_singleton_class] = STATE(5784),
    [sym_module] = STATE(5784),
    [sym_return] = STATE(5784),
    [sym_yield] = STATE(5784),
    [sym_break] = STATE(5784),
    [sym_next] = STATE(5784),
    [sym_redo] = STATE(5784),
    [sym_retry] = STATE(5784),
    [sym_while] = STATE(5784),
    [sym_until] = STATE(5784),
    [sym_for] = STATE(5784),
    [sym_case] = STATE(5784),
    [sym_if] = STATE(5784),
    [sym_unless] = STATE(5784),
    [sym_begin] = STATE(5784),
    [sym__arg] = STATE(11675),
    [sym__primary] = STATE(5812),
    [sym_parenthesized_statements] = STATE(5784),
    [sym_element_reference] = STATE(5606),
    [sym_scope_resolution] = STATE(5813),
    [sym_call] = STATE(5813),
    [sym_method_call] = STATE(5606),
    [sym_assignment] = STATE(5814),
    [sym_operator_assignment] = STATE(5814),
    [sym_conditional] = STATE(5814),
    [sym_range] = STATE(5814),
    [sym_binary] = STATE(5814),
    [sym_unary] = STATE(5814),
    [sym_left_assignment_list] = STATE(5815),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5816),
    [sym__variable] = STATE(5813),
    [sym_symbol] = STATE(5784),
    [sym_complex] = STATE(5784),
    [sym_rational] = STATE(5784),
    [sym_super] = STATE(5598),
    [sym_true] = STATE(5606),
    [sym_false] = STATE(5606),
    [sym_self] = STATE(5598),
    [sym_nil] = STATE(5606),
    [sym_chained_string] = STATE(5784),
    [sym_string] = STATE(5817),
    [sym_subshell] = STATE(5784),
    [sym_array] = STATE(5784),
    [sym_hash] = STATE(5784),
    [sym_regex] = STATE(5784),
    [sym_lambda] = STATE(5784),
    [sym__simple_string] = ACTIONS(8084),
    [sym__simple_symbol] = ACTIONS(8086),
    [sym__simple_subshell] = ACTIONS(8088),
    [sym__simple_regex] = ACTIONS(8090),
    [sym__simple_word_list] = ACTIONS(8092),
    [sym__string_beginning] = ACTIONS(8094),
    [sym__symbol_beginning] = ACTIONS(8096),
    [sym__subshell_beginning] = ACTIONS(8098),
    [sym__regex_beginning] = ACTIONS(8100),
    [sym__word_list_beginning] = ACTIONS(8102),
    [sym_heredoc_beginning] = ACTIONS(8104),
    [sym__unary_minus] = ACTIONS(8106),
    [anon_sym_LBRACE] = ACTIONS(8108),
    [anon_sym_def] = ACTIONS(8110),
    [anon_sym_LPAREN] = ACTIONS(8112),
    [anon_sym_COLON_COLON] = ACTIONS(7876),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8114),
    [anon_sym_module] = ACTIONS(8116),
    [anon_sym_return] = ACTIONS(8118),
    [anon_sym_yield] = ACTIONS(8120),
    [anon_sym_break] = ACTIONS(8122),
    [anon_sym_next] = ACTIONS(8124),
    [anon_sym_redo] = ACTIONS(8126),
    [anon_sym_retry] = ACTIONS(8128),
    [anon_sym_if] = ACTIONS(8130),
    [anon_sym_unless] = ACTIONS(8132),
    [anon_sym_while] = ACTIONS(8134),
    [anon_sym_until] = ACTIONS(8136),
    [anon_sym_for] = ACTIONS(8138),
    [anon_sym_case] = ACTIONS(8140),
    [anon_sym_begin] = ACTIONS(8142),
    [anon_sym_PLUS] = ACTIONS(8144),
    [anon_sym_defined_QMARK] = ACTIONS(8146),
    [anon_sym_not] = ACTIONS(8148),
    [anon_sym_BANG] = ACTIONS(8150),
    [anon_sym_TILDE] = ACTIONS(8150),
    [sym_constant] = ACTIONS(7916),
    [sym_identifier] = ACTIONS(7916),
    [sym_instance_variable] = ACTIONS(7918),
    [sym_class_variable] = ACTIONS(7918),
    [sym_global_variable] = ACTIONS(7918),
    [anon_sym_false] = ACTIONS(7920),
    [anon_sym_nil] = ACTIONS(7922),
    [anon_sym_self] = ACTIONS(7924),
    [anon_sym_super] = ACTIONS(7926),
    [anon_sym_true] = ACTIONS(7928),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8152),
    [sym_float] = ACTIONS(8154),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8156),
    [anon_sym_TRUE] = ACTIONS(7928),
    [anon_sym_FALSE] = ACTIONS(7920),
    [anon_sym_NIL] = ACTIONS(7922),
    [sym_keyword__FILE__] = ACTIONS(8158),
    [sym_keyword__LINE__] = ACTIONS(8158),
    [sym_keyword__ENCODING__] = ACTIONS(8158),
    [sym__character_literal] = ACTIONS(8160),
    [anon_sym_LBRACK] = ACTIONS(8162),
    [anon_sym_DASH_GT] = ACTIONS(8164),
  },
  [9089] = {
    [sym_method] = STATE(5784),
    [sym_singleton_method] = STATE(5784),
    [sym_class] = STATE(5784),
    [sym_singleton_class] = STATE(5784),
    [sym_module] = STATE(5784),
    [sym_return] = STATE(5784),
    [sym_yield] = STATE(5784),
    [sym_break] = STATE(5784),
    [sym_next] = STATE(5784),
    [sym_redo] = STATE(5784),
    [sym_retry] = STATE(5784),
    [sym_while] = STATE(5784),
    [sym_until] = STATE(5784),
    [sym_for] = STATE(5784),
    [sym_case] = STATE(5784),
    [sym_if] = STATE(5784),
    [sym_unless] = STATE(5784),
    [sym_begin] = STATE(5784),
    [sym__arg] = STATE(11676),
    [sym__primary] = STATE(5812),
    [sym_parenthesized_statements] = STATE(5784),
    [sym_element_reference] = STATE(5606),
    [sym_scope_resolution] = STATE(5813),
    [sym_call] = STATE(5813),
    [sym_method_call] = STATE(5606),
    [sym_assignment] = STATE(5814),
    [sym_operator_assignment] = STATE(5814),
    [sym_conditional] = STATE(5814),
    [sym_range] = STATE(5814),
    [sym_binary] = STATE(5814),
    [sym_unary] = STATE(5814),
    [sym_left_assignment_list] = STATE(5815),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5816),
    [sym__variable] = STATE(5813),
    [sym_symbol] = STATE(5784),
    [sym_complex] = STATE(5784),
    [sym_rational] = STATE(5784),
    [sym_super] = STATE(5598),
    [sym_true] = STATE(5606),
    [sym_false] = STATE(5606),
    [sym_self] = STATE(5598),
    [sym_nil] = STATE(5606),
    [sym_chained_string] = STATE(5784),
    [sym_string] = STATE(5817),
    [sym_subshell] = STATE(5784),
    [sym_array] = STATE(5784),
    [sym_hash] = STATE(5784),
    [sym_regex] = STATE(5784),
    [sym_lambda] = STATE(5784),
    [sym__simple_string] = ACTIONS(8084),
    [sym__simple_symbol] = ACTIONS(8086),
    [sym__simple_subshell] = ACTIONS(8088),
    [sym__simple_regex] = ACTIONS(8090),
    [sym__simple_word_list] = ACTIONS(8092),
    [sym__string_beginning] = ACTIONS(8094),
    [sym__symbol_beginning] = ACTIONS(8096),
    [sym__subshell_beginning] = ACTIONS(8098),
    [sym__regex_beginning] = ACTIONS(8100),
    [sym__word_list_beginning] = ACTIONS(8102),
    [sym_heredoc_beginning] = ACTIONS(8104),
    [sym__unary_minus] = ACTIONS(8106),
    [anon_sym_LBRACE] = ACTIONS(8108),
    [anon_sym_def] = ACTIONS(8110),
    [anon_sym_LPAREN] = ACTIONS(8112),
    [anon_sym_COLON_COLON] = ACTIONS(7876),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8114),
    [anon_sym_module] = ACTIONS(8116),
    [anon_sym_return] = ACTIONS(8118),
    [anon_sym_yield] = ACTIONS(8120),
    [anon_sym_break] = ACTIONS(8122),
    [anon_sym_next] = ACTIONS(8124),
    [anon_sym_redo] = ACTIONS(8126),
    [anon_sym_retry] = ACTIONS(8128),
    [anon_sym_if] = ACTIONS(8130),
    [anon_sym_unless] = ACTIONS(8132),
    [anon_sym_while] = ACTIONS(8134),
    [anon_sym_until] = ACTIONS(8136),
    [anon_sym_for] = ACTIONS(8138),
    [anon_sym_case] = ACTIONS(8140),
    [anon_sym_begin] = ACTIONS(8142),
    [anon_sym_PLUS] = ACTIONS(8144),
    [anon_sym_defined_QMARK] = ACTIONS(8146),
    [anon_sym_not] = ACTIONS(8148),
    [anon_sym_BANG] = ACTIONS(8150),
    [anon_sym_TILDE] = ACTIONS(8150),
    [sym_constant] = ACTIONS(7916),
    [sym_identifier] = ACTIONS(7916),
    [sym_instance_variable] = ACTIONS(7918),
    [sym_class_variable] = ACTIONS(7918),
    [sym_global_variable] = ACTIONS(7918),
    [anon_sym_false] = ACTIONS(7920),
    [anon_sym_nil] = ACTIONS(7922),
    [anon_sym_self] = ACTIONS(7924),
    [anon_sym_super] = ACTIONS(7926),
    [anon_sym_true] = ACTIONS(7928),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8152),
    [sym_float] = ACTIONS(8154),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8156),
    [anon_sym_TRUE] = ACTIONS(7928),
    [anon_sym_FALSE] = ACTIONS(7920),
    [anon_sym_NIL] = ACTIONS(7922),
    [sym_keyword__FILE__] = ACTIONS(8158),
    [sym_keyword__LINE__] = ACTIONS(8158),
    [sym_keyword__ENCODING__] = ACTIONS(8158),
    [sym__character_literal] = ACTIONS(8160),
    [anon_sym_LBRACK] = ACTIONS(8162),
    [anon_sym_DASH_GT] = ACTIONS(8164),
  },
  [9090] = {
    [sym_method] = STATE(5784),
    [sym_singleton_method] = STATE(5784),
    [sym_class] = STATE(5784),
    [sym_singleton_class] = STATE(5784),
    [sym_module] = STATE(5784),
    [sym_return] = STATE(5784),
    [sym_yield] = STATE(5784),
    [sym_break] = STATE(5784),
    [sym_next] = STATE(5784),
    [sym_redo] = STATE(5784),
    [sym_retry] = STATE(5784),
    [sym_while] = STATE(5784),
    [sym_until] = STATE(5784),
    [sym_for] = STATE(5784),
    [sym_case] = STATE(5784),
    [sym_if] = STATE(5784),
    [sym_unless] = STATE(5784),
    [sym_begin] = STATE(5784),
    [sym__arg] = STATE(11677),
    [sym__primary] = STATE(5812),
    [sym_parenthesized_statements] = STATE(5784),
    [sym_element_reference] = STATE(5606),
    [sym_scope_resolution] = STATE(5813),
    [sym_call] = STATE(5813),
    [sym_method_call] = STATE(5606),
    [sym_assignment] = STATE(5814),
    [sym_operator_assignment] = STATE(5814),
    [sym_conditional] = STATE(5814),
    [sym_range] = STATE(5814),
    [sym_binary] = STATE(5814),
    [sym_unary] = STATE(5814),
    [sym_left_assignment_list] = STATE(5815),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5816),
    [sym__variable] = STATE(5813),
    [sym_symbol] = STATE(5784),
    [sym_complex] = STATE(5784),
    [sym_rational] = STATE(5784),
    [sym_super] = STATE(5598),
    [sym_true] = STATE(5606),
    [sym_false] = STATE(5606),
    [sym_self] = STATE(5598),
    [sym_nil] = STATE(5606),
    [sym_chained_string] = STATE(5784),
    [sym_string] = STATE(5817),
    [sym_subshell] = STATE(5784),
    [sym_array] = STATE(5784),
    [sym_hash] = STATE(5784),
    [sym_regex] = STATE(5784),
    [sym_lambda] = STATE(5784),
    [sym__simple_string] = ACTIONS(8084),
    [sym__simple_symbol] = ACTIONS(8086),
    [sym__simple_subshell] = ACTIONS(8088),
    [sym__simple_regex] = ACTIONS(8090),
    [sym__simple_word_list] = ACTIONS(8092),
    [sym__string_beginning] = ACTIONS(8094),
    [sym__symbol_beginning] = ACTIONS(8096),
    [sym__subshell_beginning] = ACTIONS(8098),
    [sym__regex_beginning] = ACTIONS(8100),
    [sym__word_list_beginning] = ACTIONS(8102),
    [sym_heredoc_beginning] = ACTIONS(8104),
    [sym__unary_minus] = ACTIONS(8106),
    [anon_sym_LBRACE] = ACTIONS(8108),
    [anon_sym_def] = ACTIONS(8110),
    [anon_sym_LPAREN] = ACTIONS(8112),
    [anon_sym_COLON_COLON] = ACTIONS(7876),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8114),
    [anon_sym_module] = ACTIONS(8116),
    [anon_sym_return] = ACTIONS(8118),
    [anon_sym_yield] = ACTIONS(8120),
    [anon_sym_break] = ACTIONS(8122),
    [anon_sym_next] = ACTIONS(8124),
    [anon_sym_redo] = ACTIONS(8126),
    [anon_sym_retry] = ACTIONS(8128),
    [anon_sym_if] = ACTIONS(8130),
    [anon_sym_unless] = ACTIONS(8132),
    [anon_sym_while] = ACTIONS(8134),
    [anon_sym_until] = ACTIONS(8136),
    [anon_sym_for] = ACTIONS(8138),
    [anon_sym_case] = ACTIONS(8140),
    [anon_sym_begin] = ACTIONS(8142),
    [anon_sym_PLUS] = ACTIONS(8144),
    [anon_sym_defined_QMARK] = ACTIONS(8146),
    [anon_sym_not] = ACTIONS(8148),
    [anon_sym_BANG] = ACTIONS(8150),
    [anon_sym_TILDE] = ACTIONS(8150),
    [sym_constant] = ACTIONS(7916),
    [sym_identifier] = ACTIONS(7916),
    [sym_instance_variable] = ACTIONS(7918),
    [sym_class_variable] = ACTIONS(7918),
    [sym_global_variable] = ACTIONS(7918),
    [anon_sym_false] = ACTIONS(7920),
    [anon_sym_nil] = ACTIONS(7922),
    [anon_sym_self] = ACTIONS(7924),
    [anon_sym_super] = ACTIONS(7926),
    [anon_sym_true] = ACTIONS(7928),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8152),
    [sym_float] = ACTIONS(8154),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8156),
    [anon_sym_TRUE] = ACTIONS(7928),
    [anon_sym_FALSE] = ACTIONS(7920),
    [anon_sym_NIL] = ACTIONS(7922),
    [sym_keyword__FILE__] = ACTIONS(8158),
    [sym_keyword__LINE__] = ACTIONS(8158),
    [sym_keyword__ENCODING__] = ACTIONS(8158),
    [sym__character_literal] = ACTIONS(8160),
    [anon_sym_LBRACK] = ACTIONS(8162),
    [anon_sym_DASH_GT] = ACTIONS(8164),
  },
  [9091] = {
    [sym_do_block] = STATE(11536),
    [sym_block] = STATE(11536),
    [sym__simple_heredoc_body] = ACTIONS(3346),
    [sym__heredoc_body_beginning] = ACTIONS(3346),
    [sym__heredoc_body_middle] = ACTIONS(3346),
    [sym__heredoc_body_end] = ACTIONS(3346),
    [sym__element_reference_left_bracket] = ACTIONS(3346),
    [sym__scope_double_colon] = ACTIONS(3346),
    [sym__binary_minus] = ACTIONS(3346),
    [sym__binary_star] = ACTIONS(3346),
    [anon_sym_LBRACE] = ACTIONS(11948),
    [anon_sym_DOT] = ACTIONS(3350),
    [anon_sym_COMMA] = ACTIONS(3346),
    [anon_sym_PIPE] = ACTIONS(3350),
    [anon_sym_STAR_STAR] = ACTIONS(3350),
    [anon_sym_AMP] = ACTIONS(3350),
    [anon_sym_EQ] = ACTIONS(3350),
    [anon_sym_LT] = ACTIONS(3350),
    [anon_sym_if] = ACTIONS(3346),
    [anon_sym_unless] = ACTIONS(3346),
    [anon_sym_while] = ACTIONS(3346),
    [anon_sym_until] = ACTIONS(3346),
    [anon_sym_rescue] = ACTIONS(3346),
    [anon_sym_do] = ACTIONS(3346),
    [anon_sym_AMP_DOT] = ACTIONS(3346),
    [anon_sym_PLUS_EQ] = ACTIONS(3346),
    [anon_sym_DASH_EQ] = ACTIONS(3346),
    [anon_sym_STAR_EQ] = ACTIONS(3346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3346),
    [anon_sym_SLASH_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_PIPE_EQ] = ACTIONS(3346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3346),
    [anon_sym_AMP_EQ] = ACTIONS(3346),
    [anon_sym_PERCENT_EQ] = ACTIONS(3346),
    [anon_sym_GT_GT_EQ] = ACTIONS(3346),
    [anon_sym_LT_LT_EQ] = ACTIONS(3346),
    [anon_sym_CARET_EQ] = ACTIONS(3346),
    [anon_sym_QMARK] = ACTIONS(3346),
    [anon_sym_DOT_DOT] = ACTIONS(3350),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3346),
    [anon_sym_and] = ACTIONS(3346),
    [anon_sym_or] = ACTIONS(3346),
    [anon_sym_PIPE_PIPE] = ACTIONS(3350),
    [anon_sym_AMP_AMP] = ACTIONS(3350),
    [anon_sym_LT_LT] = ACTIONS(3350),
    [anon_sym_GT_GT] = ACTIONS(3350),
    [anon_sym_EQ_EQ] = ACTIONS(3350),
    [anon_sym_BANG_EQ] = ACTIONS(3346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3346),
    [anon_sym_LT_EQ_GT] = ACTIONS(3346),
    [anon_sym_EQ_TILDE] = ACTIONS(3346),
    [anon_sym_BANG_TILDE] = ACTIONS(3346),
    [anon_sym_LT_EQ] = ACTIONS(3350),
    [anon_sym_GT] = ACTIONS(3350),
    [anon_sym_GT_EQ] = ACTIONS(3346),
    [anon_sym_CARET] = ACTIONS(3350),
    [anon_sym_PLUS] = ACTIONS(3350),
    [anon_sym_SLASH] = ACTIONS(3350),
    [anon_sym_PERCENT] = ACTIONS(3350),
    [sym_comment] = ACTIONS(256),
  },
  [9092] = {
    [sym_method] = STATE(5784),
    [sym_singleton_method] = STATE(5784),
    [sym_class] = STATE(5784),
    [sym_singleton_class] = STATE(5784),
    [sym_module] = STATE(5784),
    [sym_return] = STATE(5784),
    [sym_yield] = STATE(5784),
    [sym_break] = STATE(5784),
    [sym_next] = STATE(5784),
    [sym_redo] = STATE(5784),
    [sym_retry] = STATE(5784),
    [sym_while] = STATE(5784),
    [sym_until] = STATE(5784),
    [sym_for] = STATE(5784),
    [sym_case] = STATE(5784),
    [sym_if] = STATE(5784),
    [sym_unless] = STATE(5784),
    [sym_begin] = STATE(5784),
    [sym__arg] = STATE(11678),
    [sym__primary] = STATE(5812),
    [sym_parenthesized_statements] = STATE(5784),
    [sym_element_reference] = STATE(5606),
    [sym_scope_resolution] = STATE(5813),
    [sym_call] = STATE(5813),
    [sym_method_call] = STATE(5606),
    [sym_splat_argument] = STATE(11679),
    [sym_assignment] = STATE(5814),
    [sym_operator_assignment] = STATE(5814),
    [sym_conditional] = STATE(5814),
    [sym_range] = STATE(5814),
    [sym_binary] = STATE(5814),
    [sym_unary] = STATE(5814),
    [sym_right_assignment_list] = STATE(11680),
    [sym__arg_or_splat_arg] = STATE(11681),
    [sym_left_assignment_list] = STATE(5815),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5816),
    [sym__variable] = STATE(5813),
    [sym_symbol] = STATE(5784),
    [sym_complex] = STATE(5784),
    [sym_rational] = STATE(5784),
    [sym_super] = STATE(5598),
    [sym_true] = STATE(5606),
    [sym_false] = STATE(5606),
    [sym_self] = STATE(5598),
    [sym_nil] = STATE(5606),
    [sym_chained_string] = STATE(5784),
    [sym_string] = STATE(5817),
    [sym_subshell] = STATE(5784),
    [sym_array] = STATE(5784),
    [sym_hash] = STATE(5784),
    [sym_regex] = STATE(5784),
    [sym_lambda] = STATE(5784),
    [sym__simple_string] = ACTIONS(8084),
    [sym__simple_symbol] = ACTIONS(8086),
    [sym__simple_subshell] = ACTIONS(8088),
    [sym__simple_regex] = ACTIONS(8090),
    [sym__simple_word_list] = ACTIONS(8092),
    [sym__string_beginning] = ACTIONS(8094),
    [sym__symbol_beginning] = ACTIONS(8096),
    [sym__subshell_beginning] = ACTIONS(8098),
    [sym__regex_beginning] = ACTIONS(8100),
    [sym__word_list_beginning] = ACTIONS(8102),
    [sym_heredoc_beginning] = ACTIONS(8104),
    [sym__splat_star] = ACTIONS(4186),
    [sym__unary_minus] = ACTIONS(8106),
    [anon_sym_LBRACE] = ACTIONS(8108),
    [anon_sym_def] = ACTIONS(8110),
    [anon_sym_LPAREN] = ACTIONS(8112),
    [anon_sym_COLON_COLON] = ACTIONS(7876),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8114),
    [anon_sym_module] = ACTIONS(8116),
    [anon_sym_return] = ACTIONS(8118),
    [anon_sym_yield] = ACTIONS(8120),
    [anon_sym_break] = ACTIONS(8122),
    [anon_sym_next] = ACTIONS(8124),
    [anon_sym_redo] = ACTIONS(8126),
    [anon_sym_retry] = ACTIONS(8128),
    [anon_sym_if] = ACTIONS(8130),
    [anon_sym_unless] = ACTIONS(8132),
    [anon_sym_while] = ACTIONS(8134),
    [anon_sym_until] = ACTIONS(8136),
    [anon_sym_for] = ACTIONS(8138),
    [anon_sym_case] = ACTIONS(8140),
    [anon_sym_begin] = ACTIONS(8142),
    [anon_sym_PLUS] = ACTIONS(8144),
    [anon_sym_defined_QMARK] = ACTIONS(8146),
    [anon_sym_not] = ACTIONS(8148),
    [anon_sym_BANG] = ACTIONS(8150),
    [anon_sym_TILDE] = ACTIONS(8150),
    [sym_constant] = ACTIONS(7916),
    [sym_identifier] = ACTIONS(7916),
    [sym_instance_variable] = ACTIONS(7918),
    [sym_class_variable] = ACTIONS(7918),
    [sym_global_variable] = ACTIONS(7918),
    [anon_sym_false] = ACTIONS(7920),
    [anon_sym_nil] = ACTIONS(7922),
    [anon_sym_self] = ACTIONS(7924),
    [anon_sym_super] = ACTIONS(7926),
    [anon_sym_true] = ACTIONS(7928),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8152),
    [sym_float] = ACTIONS(8154),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8156),
    [anon_sym_TRUE] = ACTIONS(7928),
    [anon_sym_FALSE] = ACTIONS(7920),
    [anon_sym_NIL] = ACTIONS(7922),
    [sym_keyword__FILE__] = ACTIONS(8158),
    [sym_keyword__LINE__] = ACTIONS(8158),
    [sym_keyword__ENCODING__] = ACTIONS(8158),
    [sym__character_literal] = ACTIONS(8160),
    [anon_sym_LBRACK] = ACTIONS(8162),
    [anon_sym_DASH_GT] = ACTIONS(8164),
  },
  [9093] = {
    [sym_method] = STATE(5784),
    [sym_singleton_method] = STATE(5784),
    [sym_class] = STATE(5784),
    [sym_singleton_class] = STATE(5784),
    [sym_module] = STATE(5784),
    [sym_return] = STATE(5784),
    [sym_yield] = STATE(5784),
    [sym_break] = STATE(5784),
    [sym_next] = STATE(5784),
    [sym_redo] = STATE(5784),
    [sym_retry] = STATE(5784),
    [sym_while] = STATE(5784),
    [sym_until] = STATE(5784),
    [sym_for] = STATE(5784),
    [sym_case] = STATE(5784),
    [sym_if] = STATE(5784),
    [sym_unless] = STATE(5784),
    [sym_begin] = STATE(5784),
    [sym__arg] = STATE(11682),
    [sym__primary] = STATE(5812),
    [sym_parenthesized_statements] = STATE(5784),
    [sym_element_reference] = STATE(5606),
    [sym_scope_resolution] = STATE(5813),
    [sym_call] = STATE(5813),
    [sym_method_call] = STATE(5606),
    [sym_assignment] = STATE(5814),
    [sym_operator_assignment] = STATE(5814),
    [sym_conditional] = STATE(5814),
    [sym_range] = STATE(5814),
    [sym_binary] = STATE(5814),
    [sym_unary] = STATE(5814),
    [sym_left_assignment_list] = STATE(5815),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5816),
    [sym__variable] = STATE(5813),
    [sym_symbol] = STATE(5784),
    [sym_complex] = STATE(5784),
    [sym_rational] = STATE(5784),
    [sym_super] = STATE(5598),
    [sym_true] = STATE(5606),
    [sym_false] = STATE(5606),
    [sym_self] = STATE(5598),
    [sym_nil] = STATE(5606),
    [sym_chained_string] = STATE(5784),
    [sym_string] = STATE(5817),
    [sym_subshell] = STATE(5784),
    [sym_array] = STATE(5784),
    [sym_hash] = STATE(5784),
    [sym_regex] = STATE(5784),
    [sym_lambda] = STATE(5784),
    [sym__simple_string] = ACTIONS(8084),
    [sym__simple_symbol] = ACTIONS(8086),
    [sym__simple_subshell] = ACTIONS(8088),
    [sym__simple_regex] = ACTIONS(8090),
    [sym__simple_word_list] = ACTIONS(8092),
    [sym__string_beginning] = ACTIONS(8094),
    [sym__symbol_beginning] = ACTIONS(8096),
    [sym__subshell_beginning] = ACTIONS(8098),
    [sym__regex_beginning] = ACTIONS(8100),
    [sym__word_list_beginning] = ACTIONS(8102),
    [sym_heredoc_beginning] = ACTIONS(8104),
    [sym__unary_minus] = ACTIONS(8106),
    [anon_sym_LBRACE] = ACTIONS(8108),
    [anon_sym_def] = ACTIONS(8110),
    [anon_sym_LPAREN] = ACTIONS(8112),
    [anon_sym_COLON_COLON] = ACTIONS(7876),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8114),
    [anon_sym_module] = ACTIONS(8116),
    [anon_sym_return] = ACTIONS(8118),
    [anon_sym_yield] = ACTIONS(8120),
    [anon_sym_break] = ACTIONS(8122),
    [anon_sym_next] = ACTIONS(8124),
    [anon_sym_redo] = ACTIONS(8126),
    [anon_sym_retry] = ACTIONS(8128),
    [anon_sym_if] = ACTIONS(8130),
    [anon_sym_unless] = ACTIONS(8132),
    [anon_sym_while] = ACTIONS(8134),
    [anon_sym_until] = ACTIONS(8136),
    [anon_sym_for] = ACTIONS(8138),
    [anon_sym_case] = ACTIONS(8140),
    [anon_sym_begin] = ACTIONS(8142),
    [anon_sym_PLUS] = ACTIONS(8144),
    [anon_sym_defined_QMARK] = ACTIONS(8146),
    [anon_sym_not] = ACTIONS(8148),
    [anon_sym_BANG] = ACTIONS(8150),
    [anon_sym_TILDE] = ACTIONS(8150),
    [sym_constant] = ACTIONS(7916),
    [sym_identifier] = ACTIONS(7916),
    [sym_instance_variable] = ACTIONS(7918),
    [sym_class_variable] = ACTIONS(7918),
    [sym_global_variable] = ACTIONS(7918),
    [anon_sym_false] = ACTIONS(7920),
    [anon_sym_nil] = ACTIONS(7922),
    [anon_sym_self] = ACTIONS(7924),
    [anon_sym_super] = ACTIONS(7926),
    [anon_sym_true] = ACTIONS(7928),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8152),
    [sym_float] = ACTIONS(8154),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8156),
    [anon_sym_TRUE] = ACTIONS(7928),
    [anon_sym_FALSE] = ACTIONS(7920),
    [anon_sym_NIL] = ACTIONS(7922),
    [sym_keyword__FILE__] = ACTIONS(8158),
    [sym_keyword__LINE__] = ACTIONS(8158),
    [sym_keyword__ENCODING__] = ACTIONS(8158),
    [sym__character_literal] = ACTIONS(8160),
    [anon_sym_LBRACK] = ACTIONS(8162),
    [anon_sym_DASH_GT] = ACTIONS(8164),
  },
  [9094] = {
    [sym__simple_string] = ACTIONS(3382),
    [sym__simple_heredoc_body] = ACTIONS(3382),
    [sym__string_beginning] = ACTIONS(3382),
    [sym__heredoc_body_beginning] = ACTIONS(3382),
    [sym__heredoc_body_middle] = ACTIONS(3382),
    [sym__heredoc_body_end] = ACTIONS(3382),
    [sym__element_reference_left_bracket] = ACTIONS(3382),
    [sym__scope_double_colon] = ACTIONS(3382),
    [sym__binary_minus] = ACTIONS(3382),
    [sym__binary_star] = ACTIONS(3382),
    [anon_sym_LBRACE] = ACTIONS(3382),
    [anon_sym_DOT] = ACTIONS(3384),
    [anon_sym_COMMA] = ACTIONS(3382),
    [anon_sym_PIPE] = ACTIONS(3384),
    [anon_sym_STAR_STAR] = ACTIONS(3384),
    [anon_sym_AMP] = ACTIONS(3384),
    [anon_sym_EQ] = ACTIONS(3384),
    [anon_sym_LT] = ACTIONS(3384),
    [anon_sym_if] = ACTIONS(3382),
    [anon_sym_unless] = ACTIONS(3382),
    [anon_sym_while] = ACTIONS(3382),
    [anon_sym_until] = ACTIONS(3382),
    [anon_sym_rescue] = ACTIONS(3382),
    [anon_sym_do] = ACTIONS(3382),
    [anon_sym_AMP_DOT] = ACTIONS(3382),
    [anon_sym_PLUS_EQ] = ACTIONS(3382),
    [anon_sym_DASH_EQ] = ACTIONS(3382),
    [anon_sym_STAR_EQ] = ACTIONS(3382),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3382),
    [anon_sym_SLASH_EQ] = ACTIONS(3382),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3382),
    [anon_sym_PIPE_EQ] = ACTIONS(3382),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3382),
    [anon_sym_AMP_EQ] = ACTIONS(3382),
    [anon_sym_PERCENT_EQ] = ACTIONS(3382),
    [anon_sym_GT_GT_EQ] = ACTIONS(3382),
    [anon_sym_LT_LT_EQ] = ACTIONS(3382),
    [anon_sym_CARET_EQ] = ACTIONS(3382),
    [anon_sym_QMARK] = ACTIONS(3384),
    [anon_sym_DOT_DOT] = ACTIONS(3384),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3382),
    [anon_sym_and] = ACTIONS(3382),
    [anon_sym_or] = ACTIONS(3382),
    [anon_sym_PIPE_PIPE] = ACTIONS(3384),
    [anon_sym_AMP_AMP] = ACTIONS(3384),
    [anon_sym_LT_LT] = ACTIONS(3384),
    [anon_sym_GT_GT] = ACTIONS(3384),
    [anon_sym_EQ_EQ] = ACTIONS(3384),
    [anon_sym_BANG_EQ] = ACTIONS(3382),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3382),
    [anon_sym_LT_EQ_GT] = ACTIONS(3382),
    [anon_sym_EQ_TILDE] = ACTIONS(3382),
    [anon_sym_BANG_TILDE] = ACTIONS(3382),
    [anon_sym_LT_EQ] = ACTIONS(3384),
    [anon_sym_GT] = ACTIONS(3384),
    [anon_sym_GT_EQ] = ACTIONS(3382),
    [anon_sym_CARET] = ACTIONS(3384),
    [anon_sym_PLUS] = ACTIONS(3384),
    [anon_sym_SLASH] = ACTIONS(3384),
    [anon_sym_PERCENT] = ACTIONS(3384),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(3384),
  },
  [9095] = {
    [sym_string] = STATE(11683),
    [sym__simple_string] = ACTIONS(8084),
    [sym__simple_heredoc_body] = ACTIONS(3386),
    [sym__string_beginning] = ACTIONS(8094),
    [sym__heredoc_body_beginning] = ACTIONS(3386),
    [sym__heredoc_body_middle] = ACTIONS(3386),
    [sym__heredoc_body_end] = ACTIONS(3386),
    [sym__element_reference_left_bracket] = ACTIONS(3386),
    [sym__scope_double_colon] = ACTIONS(3386),
    [sym__binary_minus] = ACTIONS(3386),
    [sym__binary_star] = ACTIONS(3386),
    [anon_sym_LBRACE] = ACTIONS(3386),
    [anon_sym_DOT] = ACTIONS(3388),
    [anon_sym_COMMA] = ACTIONS(3386),
    [anon_sym_PIPE] = ACTIONS(3388),
    [anon_sym_STAR_STAR] = ACTIONS(3388),
    [anon_sym_AMP] = ACTIONS(3388),
    [anon_sym_EQ] = ACTIONS(3388),
    [anon_sym_LT] = ACTIONS(3388),
    [anon_sym_if] = ACTIONS(3386),
    [anon_sym_unless] = ACTIONS(3386),
    [anon_sym_while] = ACTIONS(3386),
    [anon_sym_until] = ACTIONS(3386),
    [anon_sym_rescue] = ACTIONS(3386),
    [anon_sym_do] = ACTIONS(3386),
    [anon_sym_AMP_DOT] = ACTIONS(3386),
    [anon_sym_PLUS_EQ] = ACTIONS(3386),
    [anon_sym_DASH_EQ] = ACTIONS(3386),
    [anon_sym_STAR_EQ] = ACTIONS(3386),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3386),
    [anon_sym_SLASH_EQ] = ACTIONS(3386),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3386),
    [anon_sym_PIPE_EQ] = ACTIONS(3386),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3386),
    [anon_sym_AMP_EQ] = ACTIONS(3386),
    [anon_sym_PERCENT_EQ] = ACTIONS(3386),
    [anon_sym_GT_GT_EQ] = ACTIONS(3386),
    [anon_sym_LT_LT_EQ] = ACTIONS(3386),
    [anon_sym_CARET_EQ] = ACTIONS(3386),
    [anon_sym_QMARK] = ACTIONS(3388),
    [anon_sym_DOT_DOT] = ACTIONS(3388),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3386),
    [anon_sym_and] = ACTIONS(3386),
    [anon_sym_or] = ACTIONS(3386),
    [anon_sym_PIPE_PIPE] = ACTIONS(3388),
    [anon_sym_AMP_AMP] = ACTIONS(3388),
    [anon_sym_LT_LT] = ACTIONS(3388),
    [anon_sym_GT_GT] = ACTIONS(3388),
    [anon_sym_EQ_EQ] = ACTIONS(3388),
    [anon_sym_BANG_EQ] = ACTIONS(3386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3386),
    [anon_sym_LT_EQ_GT] = ACTIONS(3386),
    [anon_sym_EQ_TILDE] = ACTIONS(3386),
    [anon_sym_BANG_TILDE] = ACTIONS(3386),
    [anon_sym_LT_EQ] = ACTIONS(3388),
    [anon_sym_GT] = ACTIONS(3388),
    [anon_sym_GT_EQ] = ACTIONS(3386),
    [anon_sym_CARET] = ACTIONS(3388),
    [anon_sym_PLUS] = ACTIONS(3388),
    [anon_sym_SLASH] = ACTIONS(3388),
    [anon_sym_PERCENT] = ACTIONS(3388),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(8160),
  },
  [9096] = {
    [sym__simple_heredoc_body] = ACTIONS(9456),
    [sym__heredoc_body_beginning] = ACTIONS(9456),
    [sym__heredoc_body_middle] = ACTIONS(9456),
    [sym__heredoc_body_end] = ACTIONS(9456),
    [sym__element_reference_left_bracket] = ACTIONS(9456),
    [sym__scope_double_colon] = ACTIONS(9456),
    [sym__binary_minus] = ACTIONS(9456),
    [sym__binary_star] = ACTIONS(9456),
    [anon_sym_LBRACE] = ACTIONS(9456),
    [anon_sym_DOT] = ACTIONS(9458),
    [anon_sym_COMMA] = ACTIONS(9456),
    [anon_sym_PIPE] = ACTIONS(9458),
    [anon_sym_STAR_STAR] = ACTIONS(9458),
    [anon_sym_AMP] = ACTIONS(9458),
    [anon_sym_EQ] = ACTIONS(9458),
    [anon_sym_LT] = ACTIONS(9458),
    [anon_sym_if] = ACTIONS(9456),
    [anon_sym_unless] = ACTIONS(9456),
    [anon_sym_while] = ACTIONS(9456),
    [anon_sym_until] = ACTIONS(9456),
    [anon_sym_rescue] = ACTIONS(9456),
    [anon_sym_do] = ACTIONS(9456),
    [anon_sym_AMP_DOT] = ACTIONS(9456),
    [anon_sym_PLUS_EQ] = ACTIONS(9456),
    [anon_sym_DASH_EQ] = ACTIONS(9456),
    [anon_sym_STAR_EQ] = ACTIONS(9456),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9456),
    [anon_sym_SLASH_EQ] = ACTIONS(9456),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9456),
    [anon_sym_PIPE_EQ] = ACTIONS(9456),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9456),
    [anon_sym_AMP_EQ] = ACTIONS(9456),
    [anon_sym_PERCENT_EQ] = ACTIONS(9456),
    [anon_sym_GT_GT_EQ] = ACTIONS(9456),
    [anon_sym_LT_LT_EQ] = ACTIONS(9456),
    [anon_sym_CARET_EQ] = ACTIONS(9456),
    [anon_sym_QMARK] = ACTIONS(9456),
    [anon_sym_DOT_DOT] = ACTIONS(9458),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9456),
    [anon_sym_and] = ACTIONS(9456),
    [anon_sym_or] = ACTIONS(9456),
    [anon_sym_PIPE_PIPE] = ACTIONS(9458),
    [anon_sym_AMP_AMP] = ACTIONS(9458),
    [anon_sym_LT_LT] = ACTIONS(9458),
    [anon_sym_GT_GT] = ACTIONS(9458),
    [anon_sym_EQ_EQ] = ACTIONS(9458),
    [anon_sym_BANG_EQ] = ACTIONS(9456),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9456),
    [anon_sym_LT_EQ_GT] = ACTIONS(9456),
    [anon_sym_EQ_TILDE] = ACTIONS(9456),
    [anon_sym_BANG_TILDE] = ACTIONS(9456),
    [anon_sym_LT_EQ] = ACTIONS(9458),
    [anon_sym_GT] = ACTIONS(9458),
    [anon_sym_GT_EQ] = ACTIONS(9456),
    [anon_sym_CARET] = ACTIONS(9458),
    [anon_sym_PLUS] = ACTIONS(9458),
    [anon_sym_SLASH] = ACTIONS(9458),
    [anon_sym_PERCENT] = ACTIONS(9458),
    [sym_comment] = ACTIONS(256),
  },
  [9097] = {
    [anon_sym_RPAREN] = ACTIONS(14620),
    [sym_comment] = ACTIONS(110),
  },
  [9098] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(14622),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [9099] = {
    [sym__statement] = STATE(11686),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [9100] = {
    [sym__heredoc_body_middle] = ACTIONS(11064),
    [sym__heredoc_body_end] = ACTIONS(11064),
    [sym__element_reference_left_bracket] = ACTIONS(11064),
    [sym__scope_double_colon] = ACTIONS(11064),
    [sym__binary_minus] = ACTIONS(11064),
    [sym__binary_star] = ACTIONS(11064),
    [anon_sym_DOT] = ACTIONS(11066),
    [anon_sym_COMMA] = ACTIONS(11064),
    [anon_sym_PIPE] = ACTIONS(11066),
    [anon_sym_STAR_STAR] = ACTIONS(11066),
    [anon_sym_AMP] = ACTIONS(11066),
    [anon_sym_EQ] = ACTIONS(11066),
    [anon_sym_LT] = ACTIONS(11066),
    [anon_sym_if] = ACTIONS(11064),
    [anon_sym_unless] = ACTIONS(11064),
    [anon_sym_while] = ACTIONS(11064),
    [anon_sym_until] = ACTIONS(11064),
    [anon_sym_rescue] = ACTIONS(11064),
    [anon_sym_AMP_DOT] = ACTIONS(11064),
    [anon_sym_PLUS_EQ] = ACTIONS(11064),
    [anon_sym_DASH_EQ] = ACTIONS(11064),
    [anon_sym_STAR_EQ] = ACTIONS(11064),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(11064),
    [anon_sym_SLASH_EQ] = ACTIONS(11064),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(11064),
    [anon_sym_PIPE_EQ] = ACTIONS(11064),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(11064),
    [anon_sym_AMP_EQ] = ACTIONS(11064),
    [anon_sym_PERCENT_EQ] = ACTIONS(11064),
    [anon_sym_GT_GT_EQ] = ACTIONS(11064),
    [anon_sym_LT_LT_EQ] = ACTIONS(11064),
    [anon_sym_CARET_EQ] = ACTIONS(11064),
    [anon_sym_QMARK] = ACTIONS(11064),
    [anon_sym_DOT_DOT] = ACTIONS(11066),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11064),
    [anon_sym_and] = ACTIONS(11064),
    [anon_sym_or] = ACTIONS(11064),
    [anon_sym_PIPE_PIPE] = ACTIONS(11066),
    [anon_sym_AMP_AMP] = ACTIONS(11066),
    [anon_sym_LT_LT] = ACTIONS(11066),
    [anon_sym_GT_GT] = ACTIONS(11066),
    [anon_sym_EQ_EQ] = ACTIONS(11066),
    [anon_sym_BANG_EQ] = ACTIONS(11064),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11064),
    [anon_sym_LT_EQ_GT] = ACTIONS(11064),
    [anon_sym_EQ_TILDE] = ACTIONS(11064),
    [anon_sym_BANG_TILDE] = ACTIONS(11064),
    [anon_sym_LT_EQ] = ACTIONS(11066),
    [anon_sym_GT] = ACTIONS(11066),
    [anon_sym_GT_EQ] = ACTIONS(11064),
    [anon_sym_CARET] = ACTIONS(11066),
    [anon_sym_PLUS] = ACTIONS(11066),
    [anon_sym_SLASH] = ACTIONS(11066),
    [anon_sym_PERCENT] = ACTIONS(11066),
    [sym_comment] = ACTIONS(256),
  },
  [9101] = {
    [anon_sym_RBRACE] = ACTIONS(14624),
    [sym_comment] = ACTIONS(110),
  },
  [9102] = {
    [sym__simple_heredoc_body] = ACTIONS(4578),
    [sym__heredoc_body_beginning] = ACTIONS(4578),
    [sym__heredoc_body_middle] = ACTIONS(4578),
    [sym__heredoc_body_end] = ACTIONS(4578),
    [sym__element_reference_left_bracket] = ACTIONS(4578),
    [sym__scope_double_colon] = ACTIONS(4578),
    [sym__binary_minus] = ACTIONS(4578),
    [sym__binary_star] = ACTIONS(4578),
    [anon_sym_LBRACE] = ACTIONS(4578),
    [anon_sym_DOT] = ACTIONS(4580),
    [anon_sym_COMMA] = ACTIONS(4578),
    [anon_sym_PIPE] = ACTIONS(4580),
    [anon_sym_STAR_STAR] = ACTIONS(4580),
    [anon_sym_AMP] = ACTIONS(4580),
    [anon_sym_EQ] = ACTIONS(4580),
    [anon_sym_LT] = ACTIONS(4580),
    [anon_sym_if] = ACTIONS(4578),
    [anon_sym_unless] = ACTIONS(4578),
    [anon_sym_while] = ACTIONS(4578),
    [anon_sym_until] = ACTIONS(4578),
    [anon_sym_rescue] = ACTIONS(4578),
    [anon_sym_do] = ACTIONS(4578),
    [anon_sym_EQ_GT] = ACTIONS(4578),
    [anon_sym_AMP_DOT] = ACTIONS(4578),
    [anon_sym_PLUS_EQ] = ACTIONS(4578),
    [anon_sym_DASH_EQ] = ACTIONS(4578),
    [anon_sym_STAR_EQ] = ACTIONS(4578),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(4578),
    [anon_sym_SLASH_EQ] = ACTIONS(4578),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(4578),
    [anon_sym_PIPE_EQ] = ACTIONS(4578),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(4578),
    [anon_sym_AMP_EQ] = ACTIONS(4578),
    [anon_sym_PERCENT_EQ] = ACTIONS(4578),
    [anon_sym_GT_GT_EQ] = ACTIONS(4578),
    [anon_sym_LT_LT_EQ] = ACTIONS(4578),
    [anon_sym_CARET_EQ] = ACTIONS(4578),
    [anon_sym_QMARK] = ACTIONS(4578),
    [anon_sym_DOT_DOT] = ACTIONS(4580),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4578),
    [anon_sym_and] = ACTIONS(4578),
    [anon_sym_or] = ACTIONS(4578),
    [anon_sym_PIPE_PIPE] = ACTIONS(4580),
    [anon_sym_AMP_AMP] = ACTIONS(4580),
    [anon_sym_LT_LT] = ACTIONS(4580),
    [anon_sym_GT_GT] = ACTIONS(4580),
    [anon_sym_EQ_EQ] = ACTIONS(4580),
    [anon_sym_BANG_EQ] = ACTIONS(4578),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4578),
    [anon_sym_LT_EQ_GT] = ACTIONS(4578),
    [anon_sym_EQ_TILDE] = ACTIONS(4578),
    [anon_sym_BANG_TILDE] = ACTIONS(4578),
    [anon_sym_LT_EQ] = ACTIONS(4580),
    [anon_sym_GT] = ACTIONS(4580),
    [anon_sym_GT_EQ] = ACTIONS(4578),
    [anon_sym_CARET] = ACTIONS(4580),
    [anon_sym_PLUS] = ACTIONS(4580),
    [anon_sym_SLASH] = ACTIONS(4580),
    [anon_sym_PERCENT] = ACTIONS(4580),
    [sym_comment] = ACTIONS(256),
  },
  [9103] = {
    [anon_sym_RBRACE] = ACTIONS(14626),
    [sym_comment] = ACTIONS(110),
  },
  [9104] = {
    [sym__binary_minus] = ACTIONS(4614),
    [sym__binary_star] = ACTIONS(4616),
    [anon_sym_RPAREN] = ACTIONS(14628),
    [anon_sym_PIPE] = ACTIONS(4620),
    [anon_sym_STAR_STAR] = ACTIONS(4622),
    [anon_sym_AMP] = ACTIONS(4624),
    [anon_sym_LT] = ACTIONS(4626),
    [anon_sym_QMARK] = ACTIONS(4628),
    [anon_sym_DOT_DOT] = ACTIONS(4630),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4632),
    [anon_sym_and] = ACTIONS(4634),
    [anon_sym_or] = ACTIONS(4634),
    [anon_sym_PIPE_PIPE] = ACTIONS(4636),
    [anon_sym_AMP_AMP] = ACTIONS(4636),
    [anon_sym_LT_LT] = ACTIONS(4638),
    [anon_sym_GT_GT] = ACTIONS(4638),
    [anon_sym_EQ_EQ] = ACTIONS(4640),
    [anon_sym_BANG_EQ] = ACTIONS(4636),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4636),
    [anon_sym_LT_EQ_GT] = ACTIONS(4636),
    [anon_sym_EQ_TILDE] = ACTIONS(4636),
    [anon_sym_BANG_TILDE] = ACTIONS(4636),
    [anon_sym_LT_EQ] = ACTIONS(4626),
    [anon_sym_GT] = ACTIONS(4626),
    [anon_sym_GT_EQ] = ACTIONS(4642),
    [anon_sym_CARET] = ACTIONS(4644),
    [anon_sym_PLUS] = ACTIONS(4646),
    [anon_sym_SLASH] = ACTIONS(4622),
    [anon_sym_PERCENT] = ACTIONS(4622),
    [sym_comment] = ACTIONS(110),
  },
  [9105] = {
    [sym__method_rest] = STATE(11690),
    [sym_operator] = STATE(217),
    [sym__method_name] = STATE(5851),
    [sym_setter] = STATE(217),
    [sym_symbol] = STATE(217),
    [sym__simple_symbol] = ACTIONS(378),
    [sym__symbol_beginning] = ACTIONS(380),
    [anon_sym_PIPE] = ACTIONS(384),
    [anon_sym_STAR] = ACTIONS(386),
    [anon_sym_STAR_STAR] = ACTIONS(384),
    [anon_sym_AMP] = ACTIONS(384),
    [anon_sym_LT] = ACTIONS(386),
    [anon_sym_DOT_DOT] = ACTIONS(384),
    [anon_sym_LT_LT] = ACTIONS(384),
    [anon_sym_GT_GT] = ACTIONS(384),
    [anon_sym_EQ_EQ] = ACTIONS(386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(384),
    [anon_sym_LT_EQ_GT] = ACTIONS(384),
    [anon_sym_EQ_TILDE] = ACTIONS(384),
    [anon_sym_BANG_TILDE] = ACTIONS(384),
    [anon_sym_LT_EQ] = ACTIONS(386),
    [anon_sym_GT] = ACTIONS(386),
    [anon_sym_GT_EQ] = ACTIONS(384),
    [anon_sym_CARET] = ACTIONS(384),
    [anon_sym_PLUS] = ACTIONS(386),
    [anon_sym_SLASH] = ACTIONS(384),
    [anon_sym_PERCENT] = ACTIONS(384),
    [anon_sym_BANG] = ACTIONS(386),
    [anon_sym_TILDE] = ACTIONS(384),
    [sym_constant] = ACTIONS(4694),
    [sym_identifier] = ACTIONS(4696),
    [sym_instance_variable] = ACTIONS(4694),
    [sym_class_variable] = ACTIONS(4694),
    [sym_global_variable] = ACTIONS(4694),
    [anon_sym_DASH] = ACTIONS(386),
    [anon_sym_PLUS_AT] = ACTIONS(384),
    [anon_sym_DASH_AT] = ACTIONS(384),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(386),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(384),
    [anon_sym_BQUOTE] = ACTIONS(384),
    [sym_comment] = ACTIONS(110),
  },
  [9106] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(11692),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14630),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9107] = {
    [sym__simple_heredoc_body] = ACTIONS(4826),
    [sym__heredoc_body_beginning] = ACTIONS(4826),
    [sym__heredoc_body_middle] = ACTIONS(4826),
    [sym__heredoc_body_end] = ACTIONS(4826),
    [sym__element_reference_left_bracket] = ACTIONS(4826),
    [sym__scope_double_colon] = ACTIONS(4826),
    [sym__binary_minus] = ACTIONS(4826),
    [sym__binary_star] = ACTIONS(4826),
    [anon_sym_LBRACE] = ACTIONS(4826),
    [anon_sym_DOT] = ACTIONS(4828),
    [anon_sym_COMMA] = ACTIONS(4826),
    [anon_sym_PIPE] = ACTIONS(4828),
    [anon_sym_STAR_STAR] = ACTIONS(4828),
    [anon_sym_AMP] = ACTIONS(4828),
    [anon_sym_EQ] = ACTIONS(4828),
    [anon_sym_LT] = ACTIONS(4828),
    [anon_sym_if] = ACTIONS(4826),
    [anon_sym_unless] = ACTIONS(4826),
    [anon_sym_while] = ACTIONS(4826),
    [anon_sym_until] = ACTIONS(4826),
    [anon_sym_rescue] = ACTIONS(4826),
    [anon_sym_do] = ACTIONS(4826),
    [anon_sym_EQ_GT] = ACTIONS(4826),
    [anon_sym_AMP_DOT] = ACTIONS(4826),
    [anon_sym_PLUS_EQ] = ACTIONS(4826),
    [anon_sym_DASH_EQ] = ACTIONS(4826),
    [anon_sym_STAR_EQ] = ACTIONS(4826),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(4826),
    [anon_sym_SLASH_EQ] = ACTIONS(4826),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(4826),
    [anon_sym_PIPE_EQ] = ACTIONS(4826),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(4826),
    [anon_sym_AMP_EQ] = ACTIONS(4826),
    [anon_sym_PERCENT_EQ] = ACTIONS(4826),
    [anon_sym_GT_GT_EQ] = ACTIONS(4826),
    [anon_sym_LT_LT_EQ] = ACTIONS(4826),
    [anon_sym_CARET_EQ] = ACTIONS(4826),
    [anon_sym_QMARK] = ACTIONS(4826),
    [anon_sym_DOT_DOT] = ACTIONS(4828),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4826),
    [anon_sym_and] = ACTIONS(4826),
    [anon_sym_or] = ACTIONS(4826),
    [anon_sym_PIPE_PIPE] = ACTIONS(4828),
    [anon_sym_AMP_AMP] = ACTIONS(4828),
    [anon_sym_LT_LT] = ACTIONS(4828),
    [anon_sym_GT_GT] = ACTIONS(4828),
    [anon_sym_EQ_EQ] = ACTIONS(4828),
    [anon_sym_BANG_EQ] = ACTIONS(4826),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4826),
    [anon_sym_LT_EQ_GT] = ACTIONS(4826),
    [anon_sym_EQ_TILDE] = ACTIONS(4826),
    [anon_sym_BANG_TILDE] = ACTIONS(4826),
    [anon_sym_LT_EQ] = ACTIONS(4828),
    [anon_sym_GT] = ACTIONS(4828),
    [anon_sym_GT_EQ] = ACTIONS(4826),
    [anon_sym_CARET] = ACTIONS(4828),
    [anon_sym_PLUS] = ACTIONS(4828),
    [anon_sym_SLASH] = ACTIONS(4828),
    [anon_sym_PERCENT] = ACTIONS(4828),
    [sym_comment] = ACTIONS(256),
  },
  [9108] = {
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(11693),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym__line_break] = ACTIONS(692),
    [sym__binary_minus] = ACTIONS(5168),
    [sym__binary_star] = ACTIONS(5170),
    [anon_sym_PIPE] = ACTIONS(5172),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR_STAR] = ACTIONS(5174),
    [anon_sym_AMP] = ACTIONS(5176),
    [anon_sym_LT] = ACTIONS(5178),
    [anon_sym_QMARK] = ACTIONS(5180),
    [anon_sym_DOT_DOT] = ACTIONS(5182),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5184),
    [anon_sym_and] = ACTIONS(5186),
    [anon_sym_or] = ACTIONS(5186),
    [anon_sym_PIPE_PIPE] = ACTIONS(5188),
    [anon_sym_AMP_AMP] = ACTIONS(5188),
    [anon_sym_LT_LT] = ACTIONS(5190),
    [anon_sym_GT_GT] = ACTIONS(5190),
    [anon_sym_EQ_EQ] = ACTIONS(5192),
    [anon_sym_BANG_EQ] = ACTIONS(5188),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5188),
    [anon_sym_LT_EQ_GT] = ACTIONS(5188),
    [anon_sym_EQ_TILDE] = ACTIONS(5188),
    [anon_sym_BANG_TILDE] = ACTIONS(5188),
    [anon_sym_LT_EQ] = ACTIONS(5178),
    [anon_sym_GT] = ACTIONS(5178),
    [anon_sym_GT_EQ] = ACTIONS(5194),
    [anon_sym_CARET] = ACTIONS(5196),
    [anon_sym_PLUS] = ACTIONS(5198),
    [anon_sym_SLASH] = ACTIONS(5174),
    [anon_sym_PERCENT] = ACTIONS(5174),
    [sym_comment] = ACTIONS(110),
  },
  [9109] = {
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(11694),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym__line_break] = ACTIONS(692),
    [anon_sym_SEMI] = ACTIONS(692),
    [sym_comment] = ACTIONS(110),
  },
  [9110] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(11696),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14632),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9111] = {
    [sym__simple_heredoc_body] = ACTIONS(5290),
    [sym__heredoc_body_beginning] = ACTIONS(5290),
    [sym__heredoc_body_middle] = ACTIONS(5290),
    [sym__heredoc_body_end] = ACTIONS(5290),
    [sym__element_reference_left_bracket] = ACTIONS(5290),
    [sym__scope_double_colon] = ACTIONS(5290),
    [sym__binary_minus] = ACTIONS(5290),
    [sym__binary_star] = ACTIONS(5290),
    [anon_sym_LBRACE] = ACTIONS(5290),
    [anon_sym_DOT] = ACTIONS(5292),
    [anon_sym_COMMA] = ACTIONS(5290),
    [anon_sym_PIPE] = ACTIONS(5292),
    [anon_sym_STAR_STAR] = ACTIONS(5292),
    [anon_sym_AMP] = ACTIONS(5292),
    [anon_sym_EQ] = ACTIONS(5292),
    [anon_sym_LT] = ACTIONS(5292),
    [anon_sym_if] = ACTIONS(5290),
    [anon_sym_unless] = ACTIONS(5290),
    [anon_sym_while] = ACTIONS(5290),
    [anon_sym_until] = ACTIONS(5290),
    [anon_sym_rescue] = ACTIONS(5290),
    [anon_sym_do] = ACTIONS(5290),
    [anon_sym_EQ_GT] = ACTIONS(5290),
    [anon_sym_AMP_DOT] = ACTIONS(5290),
    [anon_sym_PLUS_EQ] = ACTIONS(5290),
    [anon_sym_DASH_EQ] = ACTIONS(5290),
    [anon_sym_STAR_EQ] = ACTIONS(5290),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5290),
    [anon_sym_SLASH_EQ] = ACTIONS(5290),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5290),
    [anon_sym_PIPE_EQ] = ACTIONS(5290),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5290),
    [anon_sym_AMP_EQ] = ACTIONS(5290),
    [anon_sym_PERCENT_EQ] = ACTIONS(5290),
    [anon_sym_GT_GT_EQ] = ACTIONS(5290),
    [anon_sym_LT_LT_EQ] = ACTIONS(5290),
    [anon_sym_CARET_EQ] = ACTIONS(5290),
    [anon_sym_QMARK] = ACTIONS(5290),
    [anon_sym_DOT_DOT] = ACTIONS(5292),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5290),
    [anon_sym_and] = ACTIONS(5290),
    [anon_sym_or] = ACTIONS(5290),
    [anon_sym_PIPE_PIPE] = ACTIONS(5292),
    [anon_sym_AMP_AMP] = ACTIONS(5292),
    [anon_sym_LT_LT] = ACTIONS(5292),
    [anon_sym_GT_GT] = ACTIONS(5292),
    [anon_sym_EQ_EQ] = ACTIONS(5292),
    [anon_sym_BANG_EQ] = ACTIONS(5290),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5290),
    [anon_sym_LT_EQ_GT] = ACTIONS(5290),
    [anon_sym_EQ_TILDE] = ACTIONS(5290),
    [anon_sym_BANG_TILDE] = ACTIONS(5290),
    [anon_sym_LT_EQ] = ACTIONS(5292),
    [anon_sym_GT] = ACTIONS(5292),
    [anon_sym_GT_EQ] = ACTIONS(5290),
    [anon_sym_CARET] = ACTIONS(5292),
    [anon_sym_PLUS] = ACTIONS(5292),
    [anon_sym_SLASH] = ACTIONS(5292),
    [anon_sym_PERCENT] = ACTIONS(5292),
    [sym_comment] = ACTIONS(256),
  },
  [9112] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(11698),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14634),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9113] = {
    [sym__simple_heredoc_body] = ACTIONS(5290),
    [sym__heredoc_body_beginning] = ACTIONS(5290),
    [sym__heredoc_body_middle] = ACTIONS(5290),
    [sym__heredoc_body_end] = ACTIONS(5290),
    [sym__element_reference_left_bracket] = ACTIONS(5290),
    [sym__scope_double_colon] = ACTIONS(5290),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__binary_minus] = ACTIONS(5290),
    [sym__binary_star] = ACTIONS(5290),
    [anon_sym_LBRACE] = ACTIONS(5290),
    [anon_sym_DOT] = ACTIONS(5292),
    [anon_sym_COMMA] = ACTIONS(5290),
    [anon_sym_PIPE] = ACTIONS(5292),
    [anon_sym_STAR_STAR] = ACTIONS(5292),
    [anon_sym_AMP] = ACTIONS(5292),
    [anon_sym_EQ] = ACTIONS(5292),
    [anon_sym_LT] = ACTIONS(5292),
    [anon_sym_if] = ACTIONS(5290),
    [anon_sym_unless] = ACTIONS(5290),
    [anon_sym_while] = ACTIONS(5290),
    [anon_sym_until] = ACTIONS(5290),
    [anon_sym_rescue] = ACTIONS(5290),
    [anon_sym_do] = ACTIONS(5290),
    [anon_sym_EQ_GT] = ACTIONS(5290),
    [anon_sym_AMP_DOT] = ACTIONS(5290),
    [anon_sym_PLUS_EQ] = ACTIONS(5290),
    [anon_sym_DASH_EQ] = ACTIONS(5290),
    [anon_sym_STAR_EQ] = ACTIONS(5290),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5290),
    [anon_sym_SLASH_EQ] = ACTIONS(5290),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5290),
    [anon_sym_PIPE_EQ] = ACTIONS(5290),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5290),
    [anon_sym_AMP_EQ] = ACTIONS(5290),
    [anon_sym_PERCENT_EQ] = ACTIONS(5290),
    [anon_sym_GT_GT_EQ] = ACTIONS(5290),
    [anon_sym_LT_LT_EQ] = ACTIONS(5290),
    [anon_sym_CARET_EQ] = ACTIONS(5290),
    [anon_sym_QMARK] = ACTIONS(5290),
    [anon_sym_DOT_DOT] = ACTIONS(5292),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5290),
    [anon_sym_and] = ACTIONS(5290),
    [anon_sym_or] = ACTIONS(5290),
    [anon_sym_PIPE_PIPE] = ACTIONS(5292),
    [anon_sym_AMP_AMP] = ACTIONS(5292),
    [anon_sym_LT_LT] = ACTIONS(5292),
    [anon_sym_GT_GT] = ACTIONS(5292),
    [anon_sym_EQ_EQ] = ACTIONS(5292),
    [anon_sym_BANG_EQ] = ACTIONS(5290),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5290),
    [anon_sym_LT_EQ_GT] = ACTIONS(5290),
    [anon_sym_EQ_TILDE] = ACTIONS(5290),
    [anon_sym_BANG_TILDE] = ACTIONS(5290),
    [anon_sym_LT_EQ] = ACTIONS(5292),
    [anon_sym_GT] = ACTIONS(5292),
    [anon_sym_GT_EQ] = ACTIONS(5290),
    [anon_sym_CARET] = ACTIONS(5292),
    [anon_sym_PLUS] = ACTIONS(5292),
    [anon_sym_SLASH] = ACTIONS(5292),
    [anon_sym_PERCENT] = ACTIONS(5292),
    [sym_comment] = ACTIONS(256),
  },
  [9114] = {
    [sym__statements] = STATE(11700),
    [sym__top_level_statement] = STATE(3863),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(3864),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_elsif] = STATE(3865),
    [sym_else] = STATE(3865),
    [sym__if_tail] = STATE(11701),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3867),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3869),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3870),
    [sym__variable] = STATE(3868),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(3849),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(11702),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(5566),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(5568),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(5570),
    [sym__unary_minus] = ACTIONS(5572),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14636),
    [anon_sym_SEMI] = ACTIONS(5576),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_elsif] = ACTIONS(5586),
    [anon_sym_else] = ACTIONS(5588),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5590),
    [anon_sym_defined_QMARK] = ACTIONS(5592),
    [anon_sym_not] = ACTIONS(5594),
    [anon_sym_BANG] = ACTIONS(5596),
    [anon_sym_TILDE] = ACTIONS(5596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9115] = {
    [sym__statements] = STATE(11704),
    [sym__top_level_statement] = STATE(3946),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(3947),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(11705),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3949),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3950),
    [sym_call] = STATE(3950),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3951),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3952),
    [sym__variable] = STATE(3950),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5682),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14638),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5686),
    [anon_sym_yield] = ACTIONS(5688),
    [anon_sym_break] = ACTIONS(5690),
    [anon_sym_next] = ACTIONS(5692),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(5588),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5694),
    [anon_sym_defined_QMARK] = ACTIONS(5696),
    [anon_sym_not] = ACTIONS(5698),
    [anon_sym_BANG] = ACTIONS(5700),
    [anon_sym_TILDE] = ACTIONS(5700),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9116] = {
    [sym__statements] = STATE(11707),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14640),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9117] = {
    [sym__statements] = STATE(11709),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14642),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9118] = {
    [sym__do] = STATE(11710),
    [sym_heredoc_end] = STATE(1550),
    [sym__terminator] = STATE(1557),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym__line_break] = ACTIONS(2446),
    [anon_sym_SEMI] = ACTIONS(2446),
    [anon_sym_do] = ACTIONS(2460),
    [sym_comment] = ACTIONS(110),
  },
  [9119] = {
    [sym__heredoc_body_middle] = ACTIONS(11094),
    [sym__heredoc_body_end] = ACTIONS(11094),
    [sym__element_reference_left_bracket] = ACTIONS(11094),
    [sym__scope_double_colon] = ACTIONS(11094),
    [sym__binary_minus] = ACTIONS(11094),
    [sym__binary_star] = ACTIONS(11094),
    [anon_sym_DOT] = ACTIONS(11096),
    [anon_sym_COMMA] = ACTIONS(11094),
    [anon_sym_PIPE] = ACTIONS(11096),
    [anon_sym_STAR_STAR] = ACTIONS(11096),
    [anon_sym_AMP] = ACTIONS(11096),
    [anon_sym_EQ] = ACTIONS(11096),
    [anon_sym_LT] = ACTIONS(11096),
    [anon_sym_if] = ACTIONS(11094),
    [anon_sym_unless] = ACTIONS(11094),
    [anon_sym_while] = ACTIONS(11094),
    [anon_sym_until] = ACTIONS(11094),
    [anon_sym_rescue] = ACTIONS(11094),
    [anon_sym_AMP_DOT] = ACTIONS(11094),
    [anon_sym_PLUS_EQ] = ACTIONS(11094),
    [anon_sym_DASH_EQ] = ACTIONS(11094),
    [anon_sym_STAR_EQ] = ACTIONS(11094),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(11094),
    [anon_sym_SLASH_EQ] = ACTIONS(11094),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(11094),
    [anon_sym_PIPE_EQ] = ACTIONS(11094),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(11094),
    [anon_sym_AMP_EQ] = ACTIONS(11094),
    [anon_sym_PERCENT_EQ] = ACTIONS(11094),
    [anon_sym_GT_GT_EQ] = ACTIONS(11094),
    [anon_sym_LT_LT_EQ] = ACTIONS(11094),
    [anon_sym_CARET_EQ] = ACTIONS(11094),
    [anon_sym_QMARK] = ACTIONS(11094),
    [anon_sym_DOT_DOT] = ACTIONS(11096),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11094),
    [anon_sym_and] = ACTIONS(11094),
    [anon_sym_or] = ACTIONS(11094),
    [anon_sym_PIPE_PIPE] = ACTIONS(11096),
    [anon_sym_AMP_AMP] = ACTIONS(11096),
    [anon_sym_LT_LT] = ACTIONS(11096),
    [anon_sym_GT_GT] = ACTIONS(11096),
    [anon_sym_EQ_EQ] = ACTIONS(11096),
    [anon_sym_BANG_EQ] = ACTIONS(11094),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11094),
    [anon_sym_LT_EQ_GT] = ACTIONS(11094),
    [anon_sym_EQ_TILDE] = ACTIONS(11094),
    [anon_sym_BANG_TILDE] = ACTIONS(11094),
    [anon_sym_LT_EQ] = ACTIONS(11096),
    [anon_sym_GT] = ACTIONS(11096),
    [anon_sym_GT_EQ] = ACTIONS(11094),
    [anon_sym_CARET] = ACTIONS(11096),
    [anon_sym_PLUS] = ACTIONS(11096),
    [anon_sym_SLASH] = ACTIONS(11096),
    [anon_sym_PERCENT] = ACTIONS(11096),
    [sym_comment] = ACTIONS(256),
  },
  [9120] = {
    [anon_sym_end] = ACTIONS(14644),
    [sym_comment] = ACTIONS(110),
  },
  [9121] = {
    [sym__statements] = STATE(11712),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14646),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9122] = {
    [sym__statements] = STATE(11712),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(11713),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14646),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9123] = {
    [sym__simple_heredoc_body] = ACTIONS(6154),
    [sym__heredoc_body_beginning] = ACTIONS(6154),
    [sym__heredoc_body_middle] = ACTIONS(6154),
    [sym__heredoc_body_end] = ACTIONS(6154),
    [sym__element_reference_left_bracket] = ACTIONS(6154),
    [sym__scope_double_colon] = ACTIONS(6154),
    [sym__binary_minus] = ACTIONS(6154),
    [sym__binary_star] = ACTIONS(6154),
    [anon_sym_LBRACE] = ACTIONS(6154),
    [anon_sym_DOT] = ACTIONS(6156),
    [anon_sym_COMMA] = ACTIONS(6154),
    [anon_sym_PIPE] = ACTIONS(6156),
    [anon_sym_STAR_STAR] = ACTIONS(6156),
    [anon_sym_AMP] = ACTIONS(6156),
    [anon_sym_EQ] = ACTIONS(6156),
    [anon_sym_LT] = ACTIONS(6156),
    [anon_sym_if] = ACTIONS(6154),
    [anon_sym_unless] = ACTIONS(6154),
    [anon_sym_while] = ACTIONS(6154),
    [anon_sym_until] = ACTIONS(6154),
    [anon_sym_rescue] = ACTIONS(6154),
    [anon_sym_do] = ACTIONS(6154),
    [anon_sym_EQ_GT] = ACTIONS(6154),
    [anon_sym_AMP_DOT] = ACTIONS(6154),
    [anon_sym_PLUS_EQ] = ACTIONS(6154),
    [anon_sym_DASH_EQ] = ACTIONS(6154),
    [anon_sym_STAR_EQ] = ACTIONS(6154),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6154),
    [anon_sym_SLASH_EQ] = ACTIONS(6154),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6154),
    [anon_sym_PIPE_EQ] = ACTIONS(6154),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6154),
    [anon_sym_AMP_EQ] = ACTIONS(6154),
    [anon_sym_PERCENT_EQ] = ACTIONS(6154),
    [anon_sym_GT_GT_EQ] = ACTIONS(6154),
    [anon_sym_LT_LT_EQ] = ACTIONS(6154),
    [anon_sym_CARET_EQ] = ACTIONS(6154),
    [anon_sym_QMARK] = ACTIONS(6154),
    [anon_sym_DOT_DOT] = ACTIONS(6156),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6154),
    [anon_sym_and] = ACTIONS(6154),
    [anon_sym_or] = ACTIONS(6154),
    [anon_sym_PIPE_PIPE] = ACTIONS(6156),
    [anon_sym_AMP_AMP] = ACTIONS(6156),
    [anon_sym_LT_LT] = ACTIONS(6156),
    [anon_sym_GT_GT] = ACTIONS(6156),
    [anon_sym_EQ_EQ] = ACTIONS(6156),
    [anon_sym_BANG_EQ] = ACTIONS(6154),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6154),
    [anon_sym_LT_EQ_GT] = ACTIONS(6154),
    [anon_sym_EQ_TILDE] = ACTIONS(6154),
    [anon_sym_BANG_TILDE] = ACTIONS(6154),
    [anon_sym_LT_EQ] = ACTIONS(6156),
    [anon_sym_GT] = ACTIONS(6156),
    [anon_sym_GT_EQ] = ACTIONS(6154),
    [anon_sym_CARET] = ACTIONS(6156),
    [anon_sym_PLUS] = ACTIONS(6156),
    [anon_sym_SLASH] = ACTIONS(6156),
    [anon_sym_PERCENT] = ACTIONS(6156),
    [sym_comment] = ACTIONS(256),
  },
  [9124] = {
    [anon_sym_end] = ACTIONS(14648),
    [sym_comment] = ACTIONS(110),
  },
  [9125] = {
    [sym_when] = STATE(11715),
    [sym_heredoc_end] = STATE(387),
    [sym__terminator] = STATE(1688),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym__line_break] = ACTIONS(666),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_when] = ACTIONS(2612),
    [sym_comment] = ACTIONS(110),
  },
  [9126] = {
    [sym__simple_heredoc_body] = ACTIONS(6600),
    [sym__heredoc_body_beginning] = ACTIONS(6600),
    [sym__heredoc_body_middle] = ACTIONS(6600),
    [sym__heredoc_body_end] = ACTIONS(6600),
    [sym__element_reference_left_bracket] = ACTIONS(6600),
    [sym__scope_double_colon] = ACTIONS(6600),
    [sym__binary_minus] = ACTIONS(6600),
    [sym__binary_star] = ACTIONS(6600),
    [anon_sym_LBRACE] = ACTIONS(6600),
    [anon_sym_DOT] = ACTIONS(6602),
    [anon_sym_COMMA] = ACTIONS(6600),
    [anon_sym_PIPE] = ACTIONS(6602),
    [anon_sym_STAR_STAR] = ACTIONS(6602),
    [anon_sym_AMP] = ACTIONS(6602),
    [anon_sym_EQ] = ACTIONS(6602),
    [anon_sym_LT] = ACTIONS(6602),
    [anon_sym_if] = ACTIONS(6600),
    [anon_sym_unless] = ACTIONS(6600),
    [anon_sym_while] = ACTIONS(6600),
    [anon_sym_until] = ACTIONS(6600),
    [anon_sym_rescue] = ACTIONS(6600),
    [anon_sym_do] = ACTIONS(6600),
    [anon_sym_EQ_GT] = ACTIONS(6600),
    [anon_sym_AMP_DOT] = ACTIONS(6600),
    [anon_sym_PLUS_EQ] = ACTIONS(6600),
    [anon_sym_DASH_EQ] = ACTIONS(6600),
    [anon_sym_STAR_EQ] = ACTIONS(6600),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6600),
    [anon_sym_SLASH_EQ] = ACTIONS(6600),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6600),
    [anon_sym_PIPE_EQ] = ACTIONS(6600),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6600),
    [anon_sym_AMP_EQ] = ACTIONS(6600),
    [anon_sym_PERCENT_EQ] = ACTIONS(6600),
    [anon_sym_GT_GT_EQ] = ACTIONS(6600),
    [anon_sym_LT_LT_EQ] = ACTIONS(6600),
    [anon_sym_CARET_EQ] = ACTIONS(6600),
    [anon_sym_QMARK] = ACTIONS(6600),
    [anon_sym_DOT_DOT] = ACTIONS(6602),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6600),
    [anon_sym_and] = ACTIONS(6600),
    [anon_sym_or] = ACTIONS(6600),
    [anon_sym_PIPE_PIPE] = ACTIONS(6602),
    [anon_sym_AMP_AMP] = ACTIONS(6602),
    [anon_sym_LT_LT] = ACTIONS(6602),
    [anon_sym_GT_GT] = ACTIONS(6602),
    [anon_sym_EQ_EQ] = ACTIONS(6602),
    [anon_sym_BANG_EQ] = ACTIONS(6600),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6600),
    [anon_sym_LT_EQ_GT] = ACTIONS(6600),
    [anon_sym_EQ_TILDE] = ACTIONS(6600),
    [anon_sym_BANG_TILDE] = ACTIONS(6600),
    [anon_sym_LT_EQ] = ACTIONS(6602),
    [anon_sym_GT] = ACTIONS(6602),
    [anon_sym_GT_EQ] = ACTIONS(6600),
    [anon_sym_CARET] = ACTIONS(6602),
    [anon_sym_PLUS] = ACTIONS(6602),
    [anon_sym_SLASH] = ACTIONS(6602),
    [anon_sym_PERCENT] = ACTIONS(6602),
    [sym_comment] = ACTIONS(256),
  },
  [9127] = {
    [anon_sym_end] = ACTIONS(14650),
    [sym_comment] = ACTIONS(110),
  },
  [9128] = {
    [sym__simple_heredoc_body] = ACTIONS(8568),
    [sym__heredoc_body_beginning] = ACTIONS(8568),
    [sym__heredoc_body_middle] = ACTIONS(8568),
    [sym__heredoc_body_end] = ACTIONS(8568),
    [sym__element_reference_left_bracket] = ACTIONS(8568),
    [sym__scope_double_colon] = ACTIONS(8568),
    [sym__binary_minus] = ACTIONS(11952),
    [sym__binary_star] = ACTIONS(11954),
    [anon_sym_LBRACE] = ACTIONS(8568),
    [anon_sym_DOT] = ACTIONS(9468),
    [anon_sym_COMMA] = ACTIONS(8568),
    [anon_sym_PIPE] = ACTIONS(11956),
    [anon_sym_STAR_STAR] = ACTIONS(11958),
    [anon_sym_AMP] = ACTIONS(11960),
    [anon_sym_EQ] = ACTIONS(9468),
    [anon_sym_LT] = ACTIONS(11962),
    [anon_sym_if] = ACTIONS(8568),
    [anon_sym_unless] = ACTIONS(8568),
    [anon_sym_while] = ACTIONS(8568),
    [anon_sym_until] = ACTIONS(8568),
    [anon_sym_rescue] = ACTIONS(8568),
    [anon_sym_do] = ACTIONS(8568),
    [anon_sym_AMP_DOT] = ACTIONS(8568),
    [anon_sym_PLUS_EQ] = ACTIONS(8568),
    [anon_sym_DASH_EQ] = ACTIONS(8568),
    [anon_sym_STAR_EQ] = ACTIONS(8568),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8568),
    [anon_sym_SLASH_EQ] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8568),
    [anon_sym_PIPE_EQ] = ACTIONS(8568),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8568),
    [anon_sym_AMP_EQ] = ACTIONS(8568),
    [anon_sym_PERCENT_EQ] = ACTIONS(8568),
    [anon_sym_GT_GT_EQ] = ACTIONS(8568),
    [anon_sym_LT_LT_EQ] = ACTIONS(8568),
    [anon_sym_CARET_EQ] = ACTIONS(8568),
    [anon_sym_QMARK] = ACTIONS(11964),
    [anon_sym_DOT_DOT] = ACTIONS(11966),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11968),
    [anon_sym_and] = ACTIONS(8568),
    [anon_sym_or] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE] = ACTIONS(11970),
    [anon_sym_AMP_AMP] = ACTIONS(11970),
    [anon_sym_LT_LT] = ACTIONS(11972),
    [anon_sym_GT_GT] = ACTIONS(11972),
    [anon_sym_EQ_EQ] = ACTIONS(11970),
    [anon_sym_BANG_EQ] = ACTIONS(11974),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11974),
    [anon_sym_LT_EQ_GT] = ACTIONS(11974),
    [anon_sym_EQ_TILDE] = ACTIONS(11974),
    [anon_sym_BANG_TILDE] = ACTIONS(11974),
    [anon_sym_LT_EQ] = ACTIONS(11962),
    [anon_sym_GT] = ACTIONS(11962),
    [anon_sym_GT_EQ] = ACTIONS(11976),
    [anon_sym_CARET] = ACTIONS(11956),
    [anon_sym_PLUS] = ACTIONS(11978),
    [anon_sym_SLASH] = ACTIONS(11958),
    [anon_sym_PERCENT] = ACTIONS(11958),
    [sym_comment] = ACTIONS(256),
  },
  [9129] = {
    [anon_sym_RBRACK] = ACTIONS(14590),
    [sym_comment] = ACTIONS(110),
  },
  [9130] = {
    [sym__simple_heredoc_body] = ACTIONS(6902),
    [sym__heredoc_body_beginning] = ACTIONS(6902),
    [sym__heredoc_body_middle] = ACTIONS(6902),
    [sym__heredoc_body_end] = ACTIONS(6902),
    [sym__element_reference_left_bracket] = ACTIONS(6902),
    [sym__scope_double_colon] = ACTIONS(6902),
    [sym__binary_minus] = ACTIONS(6902),
    [sym__binary_star] = ACTIONS(6902),
    [anon_sym_LBRACE] = ACTIONS(6902),
    [anon_sym_DOT] = ACTIONS(6904),
    [anon_sym_COMMA] = ACTIONS(6902),
    [anon_sym_PIPE] = ACTIONS(6904),
    [anon_sym_STAR_STAR] = ACTIONS(6904),
    [anon_sym_AMP] = ACTIONS(6904),
    [anon_sym_EQ] = ACTIONS(6904),
    [anon_sym_LT] = ACTIONS(6904),
    [anon_sym_if] = ACTIONS(6902),
    [anon_sym_unless] = ACTIONS(6902),
    [anon_sym_while] = ACTIONS(6902),
    [anon_sym_until] = ACTIONS(6902),
    [anon_sym_rescue] = ACTIONS(6902),
    [anon_sym_do] = ACTIONS(6902),
    [anon_sym_EQ_GT] = ACTIONS(6902),
    [anon_sym_AMP_DOT] = ACTIONS(6902),
    [anon_sym_PLUS_EQ] = ACTIONS(6902),
    [anon_sym_DASH_EQ] = ACTIONS(6902),
    [anon_sym_STAR_EQ] = ACTIONS(6902),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6902),
    [anon_sym_SLASH_EQ] = ACTIONS(6902),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6902),
    [anon_sym_PIPE_EQ] = ACTIONS(6902),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6902),
    [anon_sym_AMP_EQ] = ACTIONS(6902),
    [anon_sym_PERCENT_EQ] = ACTIONS(6902),
    [anon_sym_GT_GT_EQ] = ACTIONS(6902),
    [anon_sym_LT_LT_EQ] = ACTIONS(6902),
    [anon_sym_CARET_EQ] = ACTIONS(6902),
    [anon_sym_QMARK] = ACTIONS(6902),
    [anon_sym_DOT_DOT] = ACTIONS(6904),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6902),
    [anon_sym_and] = ACTIONS(6902),
    [anon_sym_or] = ACTIONS(6902),
    [anon_sym_PIPE_PIPE] = ACTIONS(6904),
    [anon_sym_AMP_AMP] = ACTIONS(6904),
    [anon_sym_LT_LT] = ACTIONS(6904),
    [anon_sym_GT_GT] = ACTIONS(6904),
    [anon_sym_EQ_EQ] = ACTIONS(6904),
    [anon_sym_BANG_EQ] = ACTIONS(6902),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6902),
    [anon_sym_LT_EQ_GT] = ACTIONS(6902),
    [anon_sym_EQ_TILDE] = ACTIONS(6902),
    [anon_sym_BANG_TILDE] = ACTIONS(6902),
    [anon_sym_LT_EQ] = ACTIONS(6904),
    [anon_sym_GT] = ACTIONS(6904),
    [anon_sym_GT_EQ] = ACTIONS(6902),
    [anon_sym_CARET] = ACTIONS(6904),
    [anon_sym_PLUS] = ACTIONS(6904),
    [anon_sym_SLASH] = ACTIONS(6904),
    [anon_sym_PERCENT] = ACTIONS(6904),
    [sym_comment] = ACTIONS(256),
  },
  [9131] = {
    [sym__simple_heredoc_body] = ACTIONS(6980),
    [sym__heredoc_body_beginning] = ACTIONS(6980),
    [sym__heredoc_body_middle] = ACTIONS(6980),
    [sym__heredoc_body_end] = ACTIONS(6980),
    [sym__element_reference_left_bracket] = ACTIONS(6980),
    [sym__scope_double_colon] = ACTIONS(6980),
    [sym__binary_minus] = ACTIONS(6980),
    [sym__binary_star] = ACTIONS(6980),
    [anon_sym_LBRACE] = ACTIONS(6980),
    [anon_sym_DOT] = ACTIONS(6982),
    [anon_sym_COMMA] = ACTIONS(6980),
    [anon_sym_PIPE] = ACTIONS(6982),
    [anon_sym_STAR_STAR] = ACTIONS(6982),
    [anon_sym_AMP] = ACTIONS(6982),
    [anon_sym_EQ] = ACTIONS(6982),
    [anon_sym_LT] = ACTIONS(6982),
    [anon_sym_if] = ACTIONS(6980),
    [anon_sym_unless] = ACTIONS(6980),
    [anon_sym_while] = ACTIONS(6980),
    [anon_sym_until] = ACTIONS(6980),
    [anon_sym_rescue] = ACTIONS(6980),
    [anon_sym_do] = ACTIONS(6980),
    [anon_sym_EQ_GT] = ACTIONS(6980),
    [anon_sym_AMP_DOT] = ACTIONS(6980),
    [anon_sym_PLUS_EQ] = ACTIONS(6980),
    [anon_sym_DASH_EQ] = ACTIONS(6980),
    [anon_sym_STAR_EQ] = ACTIONS(6980),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6980),
    [anon_sym_SLASH_EQ] = ACTIONS(6980),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6980),
    [anon_sym_PIPE_EQ] = ACTIONS(6980),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6980),
    [anon_sym_AMP_EQ] = ACTIONS(6980),
    [anon_sym_PERCENT_EQ] = ACTIONS(6980),
    [anon_sym_GT_GT_EQ] = ACTIONS(6980),
    [anon_sym_LT_LT_EQ] = ACTIONS(6980),
    [anon_sym_CARET_EQ] = ACTIONS(6980),
    [anon_sym_QMARK] = ACTIONS(6980),
    [anon_sym_DOT_DOT] = ACTIONS(6982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6980),
    [anon_sym_and] = ACTIONS(6980),
    [anon_sym_or] = ACTIONS(6980),
    [anon_sym_PIPE_PIPE] = ACTIONS(6982),
    [anon_sym_AMP_AMP] = ACTIONS(6982),
    [anon_sym_LT_LT] = ACTIONS(6982),
    [anon_sym_GT_GT] = ACTIONS(6982),
    [anon_sym_EQ_EQ] = ACTIONS(6982),
    [anon_sym_BANG_EQ] = ACTIONS(6980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6980),
    [anon_sym_LT_EQ_GT] = ACTIONS(6980),
    [anon_sym_EQ_TILDE] = ACTIONS(6980),
    [anon_sym_BANG_TILDE] = ACTIONS(6980),
    [anon_sym_LT_EQ] = ACTIONS(6982),
    [anon_sym_GT] = ACTIONS(6982),
    [anon_sym_GT_EQ] = ACTIONS(6980),
    [anon_sym_CARET] = ACTIONS(6982),
    [anon_sym_PLUS] = ACTIONS(6982),
    [anon_sym_SLASH] = ACTIONS(6982),
    [anon_sym_PERCENT] = ACTIONS(6982),
    [sym_comment] = ACTIONS(256),
  },
  [9132] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__heredoc_body_middle] = ACTIONS(7008),
    [sym__heredoc_body_end] = ACTIONS(7008),
    [sym__element_reference_left_bracket] = ACTIONS(7008),
    [sym__scope_double_colon] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(8240),
    [anon_sym_LBRACE] = ACTIONS(7008),
    [anon_sym_DOT] = ACTIONS(7010),
    [anon_sym_COMMA] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_STAR_STAR] = ACTIONS(8244),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_EQ] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_if] = ACTIONS(7008),
    [anon_sym_unless] = ACTIONS(7008),
    [anon_sym_while] = ACTIONS(7008),
    [anon_sym_until] = ACTIONS(7008),
    [anon_sym_rescue] = ACTIONS(7008),
    [anon_sym_do] = ACTIONS(7008),
    [anon_sym_EQ_GT] = ACTIONS(7008),
    [anon_sym_AMP_DOT] = ACTIONS(7008),
    [anon_sym_PLUS_EQ] = ACTIONS(7008),
    [anon_sym_DASH_EQ] = ACTIONS(7008),
    [anon_sym_STAR_EQ] = ACTIONS(7008),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7008),
    [anon_sym_SLASH_EQ] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7008),
    [anon_sym_PIPE_EQ] = ACTIONS(7008),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7008),
    [anon_sym_AMP_EQ] = ACTIONS(7008),
    [anon_sym_PERCENT_EQ] = ACTIONS(7008),
    [anon_sym_GT_GT_EQ] = ACTIONS(7008),
    [anon_sym_LT_LT_EQ] = ACTIONS(7008),
    [anon_sym_CARET_EQ] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7010),
    [anon_sym_AMP_AMP] = ACTIONS(7010),
    [anon_sym_LT_LT] = ACTIONS(7010),
    [anon_sym_GT_GT] = ACTIONS(7010),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7010),
    [anon_sym_PLUS] = ACTIONS(7010),
    [anon_sym_SLASH] = ACTIONS(8244),
    [anon_sym_PERCENT] = ACTIONS(8244),
    [sym_comment] = ACTIONS(256),
  },
  [9133] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__heredoc_body_middle] = ACTIONS(7012),
    [sym__heredoc_body_end] = ACTIONS(7012),
    [sym__element_reference_left_bracket] = ACTIONS(7012),
    [sym__scope_double_colon] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_LBRACE] = ACTIONS(7012),
    [anon_sym_DOT] = ACTIONS(7014),
    [anon_sym_COMMA] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_STAR_STAR] = ACTIONS(8244),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_EQ] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_if] = ACTIONS(7012),
    [anon_sym_unless] = ACTIONS(7012),
    [anon_sym_while] = ACTIONS(7012),
    [anon_sym_until] = ACTIONS(7012),
    [anon_sym_rescue] = ACTIONS(7012),
    [anon_sym_do] = ACTIONS(7012),
    [anon_sym_EQ_GT] = ACTIONS(7012),
    [anon_sym_AMP_DOT] = ACTIONS(7012),
    [anon_sym_PLUS_EQ] = ACTIONS(7012),
    [anon_sym_DASH_EQ] = ACTIONS(7012),
    [anon_sym_STAR_EQ] = ACTIONS(7012),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7012),
    [anon_sym_SLASH_EQ] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7012),
    [anon_sym_PIPE_EQ] = ACTIONS(7012),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7012),
    [anon_sym_AMP_EQ] = ACTIONS(7012),
    [anon_sym_PERCENT_EQ] = ACTIONS(7012),
    [anon_sym_GT_GT_EQ] = ACTIONS(7012),
    [anon_sym_LT_LT_EQ] = ACTIONS(7012),
    [anon_sym_CARET_EQ] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7014),
    [anon_sym_AMP_AMP] = ACTIONS(7014),
    [anon_sym_LT_LT] = ACTIONS(7014),
    [anon_sym_GT_GT] = ACTIONS(7014),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7014),
    [anon_sym_PLUS] = ACTIONS(7014),
    [anon_sym_SLASH] = ACTIONS(7014),
    [anon_sym_PERCENT] = ACTIONS(7014),
    [sym_comment] = ACTIONS(256),
  },
  [9134] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__heredoc_body_middle] = ACTIONS(7016),
    [sym__heredoc_body_end] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(8238),
    [sym__binary_star] = ACTIONS(8240),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(8244),
    [anon_sym_AMP] = ACTIONS(8246),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(8258),
    [anon_sym_GT_GT] = ACTIONS(8258),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(8264),
    [anon_sym_SLASH] = ACTIONS(8244),
    [anon_sym_PERCENT] = ACTIONS(8244),
    [sym_comment] = ACTIONS(256),
  },
  [9135] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__heredoc_body_middle] = ACTIONS(7016),
    [sym__heredoc_body_end] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(8244),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7018),
    [anon_sym_GT_GT] = ACTIONS(7018),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(7018),
    [anon_sym_SLASH] = ACTIONS(7018),
    [anon_sym_PERCENT] = ACTIONS(7018),
    [sym_comment] = ACTIONS(256),
  },
  [9136] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__heredoc_body_middle] = ACTIONS(7016),
    [sym__heredoc_body_end] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(8238),
    [sym__binary_star] = ACTIONS(8240),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(8244),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(8258),
    [anon_sym_GT_GT] = ACTIONS(8258),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(8264),
    [anon_sym_SLASH] = ACTIONS(8244),
    [anon_sym_PERCENT] = ACTIONS(8244),
    [sym_comment] = ACTIONS(256),
  },
  [9137] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__heredoc_body_middle] = ACTIONS(7016),
    [sym__heredoc_body_end] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(8238),
    [sym__binary_star] = ACTIONS(8240),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(8242),
    [anon_sym_STAR_STAR] = ACTIONS(8244),
    [anon_sym_AMP] = ACTIONS(8246),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(8258),
    [anon_sym_GT_GT] = ACTIONS(8258),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(8242),
    [anon_sym_PLUS] = ACTIONS(8264),
    [anon_sym_SLASH] = ACTIONS(8244),
    [anon_sym_PERCENT] = ACTIONS(8244),
    [sym_comment] = ACTIONS(256),
  },
  [9138] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(14652),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [9139] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__heredoc_body_middle] = ACTIONS(7108),
    [sym__heredoc_body_end] = ACTIONS(7108),
    [sym__element_reference_left_bracket] = ACTIONS(7108),
    [sym__scope_double_colon] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(8238),
    [sym__binary_star] = ACTIONS(8240),
    [anon_sym_LBRACE] = ACTIONS(7108),
    [anon_sym_DOT] = ACTIONS(9472),
    [anon_sym_COMMA] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(8242),
    [anon_sym_STAR_STAR] = ACTIONS(8244),
    [anon_sym_AMP] = ACTIONS(8246),
    [anon_sym_EQ] = ACTIONS(9472),
    [anon_sym_LT] = ACTIONS(8248),
    [anon_sym_if] = ACTIONS(7108),
    [anon_sym_unless] = ACTIONS(7108),
    [anon_sym_while] = ACTIONS(7108),
    [anon_sym_until] = ACTIONS(7108),
    [anon_sym_rescue] = ACTIONS(7108),
    [anon_sym_do] = ACTIONS(7108),
    [anon_sym_EQ_GT] = ACTIONS(7108),
    [anon_sym_AMP_DOT] = ACTIONS(7108),
    [anon_sym_PLUS_EQ] = ACTIONS(7108),
    [anon_sym_DASH_EQ] = ACTIONS(7108),
    [anon_sym_STAR_EQ] = ACTIONS(7108),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7108),
    [anon_sym_SLASH_EQ] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7108),
    [anon_sym_PIPE_EQ] = ACTIONS(7108),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7108),
    [anon_sym_AMP_EQ] = ACTIONS(7108),
    [anon_sym_PERCENT_EQ] = ACTIONS(7108),
    [anon_sym_GT_GT_EQ] = ACTIONS(7108),
    [anon_sym_LT_LT_EQ] = ACTIONS(7108),
    [anon_sym_CARET_EQ] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(8252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8254),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(8256),
    [anon_sym_AMP_AMP] = ACTIONS(8256),
    [anon_sym_LT_LT] = ACTIONS(8258),
    [anon_sym_GT_GT] = ACTIONS(8258),
    [anon_sym_EQ_EQ] = ACTIONS(8256),
    [anon_sym_BANG_EQ] = ACTIONS(8260),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8260),
    [anon_sym_LT_EQ_GT] = ACTIONS(8260),
    [anon_sym_EQ_TILDE] = ACTIONS(8260),
    [anon_sym_BANG_TILDE] = ACTIONS(8260),
    [anon_sym_LT_EQ] = ACTIONS(8248),
    [anon_sym_GT] = ACTIONS(8248),
    [anon_sym_GT_EQ] = ACTIONS(8262),
    [anon_sym_CARET] = ACTIONS(8242),
    [anon_sym_PLUS] = ACTIONS(8264),
    [anon_sym_SLASH] = ACTIONS(8244),
    [anon_sym_PERCENT] = ACTIONS(8244),
    [sym_comment] = ACTIONS(256),
  },
  [9140] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__heredoc_body_middle] = ACTIONS(7016),
    [sym__heredoc_body_end] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(8238),
    [sym__binary_star] = ACTIONS(8240),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(8242),
    [anon_sym_STAR_STAR] = ACTIONS(8244),
    [anon_sym_AMP] = ACTIONS(8246),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(8248),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(8250),
    [anon_sym_DOT_DOT] = ACTIONS(8252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8254),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(8256),
    [anon_sym_AMP_AMP] = ACTIONS(8256),
    [anon_sym_LT_LT] = ACTIONS(8258),
    [anon_sym_GT_GT] = ACTIONS(8258),
    [anon_sym_EQ_EQ] = ACTIONS(8256),
    [anon_sym_BANG_EQ] = ACTIONS(8260),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8260),
    [anon_sym_LT_EQ_GT] = ACTIONS(8260),
    [anon_sym_EQ_TILDE] = ACTIONS(8260),
    [anon_sym_BANG_TILDE] = ACTIONS(8260),
    [anon_sym_LT_EQ] = ACTIONS(8248),
    [anon_sym_GT] = ACTIONS(8248),
    [anon_sym_GT_EQ] = ACTIONS(8262),
    [anon_sym_CARET] = ACTIONS(8242),
    [anon_sym_PLUS] = ACTIONS(8264),
    [anon_sym_SLASH] = ACTIONS(8244),
    [anon_sym_PERCENT] = ACTIONS(8244),
    [sym_comment] = ACTIONS(256),
  },
  [9141] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__heredoc_body_middle] = ACTIONS(7016),
    [sym__heredoc_body_end] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(8238),
    [sym__binary_star] = ACTIONS(8240),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(8242),
    [anon_sym_STAR_STAR] = ACTIONS(8244),
    [anon_sym_AMP] = ACTIONS(8246),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(8248),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(8258),
    [anon_sym_GT_GT] = ACTIONS(8258),
    [anon_sym_EQ_EQ] = ACTIONS(8256),
    [anon_sym_BANG_EQ] = ACTIONS(8260),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8260),
    [anon_sym_LT_EQ_GT] = ACTIONS(8260),
    [anon_sym_EQ_TILDE] = ACTIONS(8260),
    [anon_sym_BANG_TILDE] = ACTIONS(8260),
    [anon_sym_LT_EQ] = ACTIONS(8248),
    [anon_sym_GT] = ACTIONS(8248),
    [anon_sym_GT_EQ] = ACTIONS(8262),
    [anon_sym_CARET] = ACTIONS(8242),
    [anon_sym_PLUS] = ACTIONS(8264),
    [anon_sym_SLASH] = ACTIONS(8244),
    [anon_sym_PERCENT] = ACTIONS(8244),
    [sym_comment] = ACTIONS(256),
  },
  [9142] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__heredoc_body_middle] = ACTIONS(7016),
    [sym__heredoc_body_end] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(8238),
    [sym__binary_star] = ACTIONS(8240),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(8244),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7018),
    [anon_sym_GT_GT] = ACTIONS(7018),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(8264),
    [anon_sym_SLASH] = ACTIONS(8244),
    [anon_sym_PERCENT] = ACTIONS(8244),
    [sym_comment] = ACTIONS(256),
  },
  [9143] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__heredoc_body_middle] = ACTIONS(7016),
    [sym__heredoc_body_end] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(8240),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(8244),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7018),
    [anon_sym_GT_GT] = ACTIONS(7018),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(7018),
    [anon_sym_SLASH] = ACTIONS(8244),
    [anon_sym_PERCENT] = ACTIONS(8244),
    [sym_comment] = ACTIONS(256),
  },
  [9144] = {
    [sym__heredoc_body_middle] = ACTIONS(6902),
    [sym__heredoc_body_end] = ACTIONS(6902),
    [sym__element_reference_left_bracket] = ACTIONS(6902),
    [sym__scope_double_colon] = ACTIONS(6902),
    [sym__binary_minus] = ACTIONS(6902),
    [sym__binary_star] = ACTIONS(6902),
    [anon_sym_DOT] = ACTIONS(6904),
    [anon_sym_COMMA] = ACTIONS(6902),
    [anon_sym_PIPE] = ACTIONS(6904),
    [anon_sym_STAR_STAR] = ACTIONS(6904),
    [anon_sym_AMP] = ACTIONS(6904),
    [anon_sym_EQ] = ACTIONS(6904),
    [anon_sym_LT] = ACTIONS(6904),
    [anon_sym_if] = ACTIONS(6902),
    [anon_sym_unless] = ACTIONS(6902),
    [anon_sym_while] = ACTIONS(6902),
    [anon_sym_until] = ACTIONS(6902),
    [anon_sym_rescue] = ACTIONS(6902),
    [anon_sym_AMP_DOT] = ACTIONS(6902),
    [anon_sym_PLUS_EQ] = ACTIONS(6902),
    [anon_sym_DASH_EQ] = ACTIONS(6902),
    [anon_sym_STAR_EQ] = ACTIONS(6902),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6902),
    [anon_sym_SLASH_EQ] = ACTIONS(6902),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6902),
    [anon_sym_PIPE_EQ] = ACTIONS(6902),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6902),
    [anon_sym_AMP_EQ] = ACTIONS(6902),
    [anon_sym_PERCENT_EQ] = ACTIONS(6902),
    [anon_sym_GT_GT_EQ] = ACTIONS(6902),
    [anon_sym_LT_LT_EQ] = ACTIONS(6902),
    [anon_sym_CARET_EQ] = ACTIONS(6902),
    [anon_sym_QMARK] = ACTIONS(6902),
    [anon_sym_DOT_DOT] = ACTIONS(6904),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6902),
    [anon_sym_and] = ACTIONS(6902),
    [anon_sym_or] = ACTIONS(6902),
    [anon_sym_PIPE_PIPE] = ACTIONS(6904),
    [anon_sym_AMP_AMP] = ACTIONS(6904),
    [anon_sym_LT_LT] = ACTIONS(6904),
    [anon_sym_GT_GT] = ACTIONS(6904),
    [anon_sym_EQ_EQ] = ACTIONS(6904),
    [anon_sym_BANG_EQ] = ACTIONS(6902),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6902),
    [anon_sym_LT_EQ_GT] = ACTIONS(6902),
    [anon_sym_EQ_TILDE] = ACTIONS(6902),
    [anon_sym_BANG_TILDE] = ACTIONS(6902),
    [anon_sym_LT_EQ] = ACTIONS(6904),
    [anon_sym_GT] = ACTIONS(6904),
    [anon_sym_GT_EQ] = ACTIONS(6902),
    [anon_sym_CARET] = ACTIONS(6904),
    [anon_sym_PLUS] = ACTIONS(6904),
    [anon_sym_SLASH] = ACTIONS(6904),
    [anon_sym_PERCENT] = ACTIONS(6904),
    [sym_comment] = ACTIONS(256),
  },
  [9145] = {
    [sym__heredoc_body_middle] = ACTIONS(4108),
    [sym__heredoc_body_end] = ACTIONS(14654),
    [anon_sym_if] = ACTIONS(4112),
    [anon_sym_unless] = ACTIONS(4114),
    [anon_sym_while] = ACTIONS(4116),
    [anon_sym_until] = ACTIONS(4118),
    [anon_sym_rescue] = ACTIONS(4120),
    [sym_comment] = ACTIONS(110),
  },
  [9146] = {
    [sym__statement] = STATE(11719),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [9147] = {
    [sym__simple_heredoc_body] = ACTIONS(9492),
    [sym__heredoc_body_beginning] = ACTIONS(9492),
    [sym__heredoc_body_middle] = ACTIONS(9492),
    [sym__heredoc_body_end] = ACTIONS(9492),
    [sym__element_reference_left_bracket] = ACTIONS(9492),
    [sym__scope_double_colon] = ACTIONS(9492),
    [sym__binary_minus] = ACTIONS(9492),
    [sym__binary_star] = ACTIONS(9492),
    [anon_sym_LBRACE] = ACTIONS(9492),
    [anon_sym_DOT] = ACTIONS(9494),
    [anon_sym_COMMA] = ACTIONS(9492),
    [anon_sym_PIPE] = ACTIONS(9494),
    [anon_sym_STAR_STAR] = ACTIONS(9494),
    [anon_sym_AMP] = ACTIONS(9494),
    [anon_sym_EQ] = ACTIONS(9494),
    [anon_sym_LT] = ACTIONS(9494),
    [anon_sym_if] = ACTIONS(9492),
    [anon_sym_unless] = ACTIONS(9492),
    [anon_sym_while] = ACTIONS(9492),
    [anon_sym_until] = ACTIONS(9492),
    [anon_sym_rescue] = ACTIONS(9492),
    [anon_sym_do] = ACTIONS(9492),
    [anon_sym_AMP_DOT] = ACTIONS(9492),
    [anon_sym_PLUS_EQ] = ACTIONS(9492),
    [anon_sym_DASH_EQ] = ACTIONS(9492),
    [anon_sym_STAR_EQ] = ACTIONS(9492),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9492),
    [anon_sym_SLASH_EQ] = ACTIONS(9492),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9492),
    [anon_sym_PIPE_EQ] = ACTIONS(9492),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9492),
    [anon_sym_AMP_EQ] = ACTIONS(9492),
    [anon_sym_PERCENT_EQ] = ACTIONS(9492),
    [anon_sym_GT_GT_EQ] = ACTIONS(9492),
    [anon_sym_LT_LT_EQ] = ACTIONS(9492),
    [anon_sym_CARET_EQ] = ACTIONS(9492),
    [anon_sym_QMARK] = ACTIONS(9492),
    [anon_sym_DOT_DOT] = ACTIONS(9494),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9492),
    [anon_sym_and] = ACTIONS(9492),
    [anon_sym_or] = ACTIONS(9492),
    [anon_sym_PIPE_PIPE] = ACTIONS(9494),
    [anon_sym_AMP_AMP] = ACTIONS(9494),
    [anon_sym_LT_LT] = ACTIONS(9494),
    [anon_sym_GT_GT] = ACTIONS(9494),
    [anon_sym_EQ_EQ] = ACTIONS(9494),
    [anon_sym_BANG_EQ] = ACTIONS(9492),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9492),
    [anon_sym_LT_EQ_GT] = ACTIONS(9492),
    [anon_sym_EQ_TILDE] = ACTIONS(9492),
    [anon_sym_BANG_TILDE] = ACTIONS(9492),
    [anon_sym_LT_EQ] = ACTIONS(9494),
    [anon_sym_GT] = ACTIONS(9494),
    [anon_sym_GT_EQ] = ACTIONS(9492),
    [anon_sym_CARET] = ACTIONS(9494),
    [anon_sym_PLUS] = ACTIONS(9494),
    [anon_sym_SLASH] = ACTIONS(9494),
    [anon_sym_PERCENT] = ACTIONS(9494),
    [sym_comment] = ACTIONS(256),
  },
  [9148] = {
    [sym__simple_heredoc_body] = ACTIONS(9496),
    [sym__heredoc_body_beginning] = ACTIONS(9496),
    [sym__heredoc_body_middle] = ACTIONS(9496),
    [sym__heredoc_body_end] = ACTIONS(9496),
    [sym__element_reference_left_bracket] = ACTIONS(9496),
    [sym__scope_double_colon] = ACTIONS(9496),
    [sym__binary_minus] = ACTIONS(9496),
    [sym__binary_star] = ACTIONS(9496),
    [anon_sym_LBRACE] = ACTIONS(9496),
    [anon_sym_DOT] = ACTIONS(9498),
    [anon_sym_COMMA] = ACTIONS(9496),
    [anon_sym_PIPE] = ACTIONS(9498),
    [anon_sym_STAR_STAR] = ACTIONS(9498),
    [anon_sym_AMP] = ACTIONS(9498),
    [anon_sym_EQ] = ACTIONS(9498),
    [anon_sym_LT] = ACTIONS(9498),
    [anon_sym_if] = ACTIONS(9496),
    [anon_sym_unless] = ACTIONS(9496),
    [anon_sym_while] = ACTIONS(9496),
    [anon_sym_until] = ACTIONS(9496),
    [anon_sym_rescue] = ACTIONS(9496),
    [anon_sym_do] = ACTIONS(9496),
    [anon_sym_AMP_DOT] = ACTIONS(9496),
    [anon_sym_PLUS_EQ] = ACTIONS(9496),
    [anon_sym_DASH_EQ] = ACTIONS(9496),
    [anon_sym_STAR_EQ] = ACTIONS(9496),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9496),
    [anon_sym_SLASH_EQ] = ACTIONS(9496),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9496),
    [anon_sym_PIPE_EQ] = ACTIONS(9496),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9496),
    [anon_sym_AMP_EQ] = ACTIONS(9496),
    [anon_sym_PERCENT_EQ] = ACTIONS(9496),
    [anon_sym_GT_GT_EQ] = ACTIONS(9496),
    [anon_sym_LT_LT_EQ] = ACTIONS(9496),
    [anon_sym_CARET_EQ] = ACTIONS(9496),
    [anon_sym_QMARK] = ACTIONS(9496),
    [anon_sym_DOT_DOT] = ACTIONS(9498),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9496),
    [anon_sym_and] = ACTIONS(9496),
    [anon_sym_or] = ACTIONS(9496),
    [anon_sym_PIPE_PIPE] = ACTIONS(9498),
    [anon_sym_AMP_AMP] = ACTIONS(9498),
    [anon_sym_LT_LT] = ACTIONS(9498),
    [anon_sym_GT_GT] = ACTIONS(9498),
    [anon_sym_EQ_EQ] = ACTIONS(9498),
    [anon_sym_BANG_EQ] = ACTIONS(9496),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9496),
    [anon_sym_LT_EQ_GT] = ACTIONS(9496),
    [anon_sym_EQ_TILDE] = ACTIONS(9496),
    [anon_sym_BANG_TILDE] = ACTIONS(9496),
    [anon_sym_LT_EQ] = ACTIONS(9498),
    [anon_sym_GT] = ACTIONS(9498),
    [anon_sym_GT_EQ] = ACTIONS(9496),
    [anon_sym_CARET] = ACTIONS(9498),
    [anon_sym_PLUS] = ACTIONS(9498),
    [anon_sym_SLASH] = ACTIONS(9498),
    [anon_sym_PERCENT] = ACTIONS(9498),
    [sym_comment] = ACTIONS(256),
  },
  [9149] = {
    [sym_method] = STATE(2839),
    [sym_singleton_method] = STATE(2839),
    [sym_class] = STATE(2839),
    [sym_singleton_class] = STATE(2839),
    [sym_module] = STATE(2839),
    [sym_return] = STATE(2839),
    [sym_yield] = STATE(2839),
    [sym_break] = STATE(2839),
    [sym_next] = STATE(2839),
    [sym_redo] = STATE(2839),
    [sym_retry] = STATE(2839),
    [sym_while] = STATE(2839),
    [sym_until] = STATE(2839),
    [sym_for] = STATE(2839),
    [sym_case] = STATE(2839),
    [sym_if] = STATE(2839),
    [sym_unless] = STATE(2839),
    [sym_begin] = STATE(2839),
    [sym__arg] = STATE(2873),
    [sym__primary] = STATE(2874),
    [sym_parenthesized_statements] = STATE(2839),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2875),
    [sym_call] = STATE(2875),
    [sym_method_call] = STATE(2764),
    [sym__argument] = STATE(11720),
    [sym_splat_argument] = STATE(2879),
    [sym_hash_splat_argument] = STATE(2879),
    [sym_block_argument] = STATE(2879),
    [sym_assignment] = STATE(2881),
    [sym_operator_assignment] = STATE(2881),
    [sym_conditional] = STATE(2881),
    [sym_range] = STATE(2881),
    [sym_binary] = STATE(2881),
    [sym_unary] = STATE(2881),
    [sym_left_assignment_list] = STATE(2882),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2883),
    [sym__variable] = STATE(2875),
    [sym_reserved_identifier] = STATE(2884),
    [sym_symbol] = STATE(2839),
    [sym_complex] = STATE(2839),
    [sym_rational] = STATE(2839),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2839),
    [sym_string] = STATE(2885),
    [sym_subshell] = STATE(2839),
    [sym_array] = STATE(2839),
    [sym_hash] = STATE(2839),
    [sym_pair] = STATE(2879),
    [sym_regex] = STATE(2839),
    [sym_lambda] = STATE(2839),
    [sym__simple_string] = ACTIONS(4162),
    [sym__simple_symbol] = ACTIONS(4164),
    [sym__simple_subshell] = ACTIONS(4166),
    [sym__simple_regex] = ACTIONS(4168),
    [sym__simple_word_list] = ACTIONS(4170),
    [sym__string_beginning] = ACTIONS(4172),
    [sym__symbol_beginning] = ACTIONS(4174),
    [sym__subshell_beginning] = ACTIONS(4176),
    [sym__regex_beginning] = ACTIONS(4178),
    [sym__word_list_beginning] = ACTIONS(4180),
    [sym_heredoc_beginning] = ACTIONS(4182),
    [sym__block_ampersand] = ACTIONS(4184),
    [sym__splat_star] = ACTIONS(4186),
    [sym__unary_minus] = ACTIONS(4190),
    [anon_sym_LBRACE] = ACTIONS(8172),
    [anon_sym_def] = ACTIONS(4194),
    [anon_sym_LPAREN] = ACTIONS(4196),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(12014),
    [anon_sym_class] = ACTIONS(4198),
    [anon_sym_module] = ACTIONS(4200),
    [anon_sym_return] = ACTIONS(4202),
    [anon_sym_yield] = ACTIONS(4204),
    [anon_sym_break] = ACTIONS(4206),
    [anon_sym_next] = ACTIONS(4208),
    [anon_sym_redo] = ACTIONS(4210),
    [anon_sym_retry] = ACTIONS(4212),
    [anon_sym_if] = ACTIONS(12016),
    [anon_sym_unless] = ACTIONS(12018),
    [anon_sym_while] = ACTIONS(12020),
    [anon_sym_until] = ACTIONS(12022),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(4214),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(4218),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(4220),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(8206),
    [anon_sym_defined_QMARK] = ACTIONS(4222),
    [anon_sym_not] = ACTIONS(4224),
    [anon_sym_BANG] = ACTIONS(4228),
    [anon_sym_TILDE] = ACTIONS(4228),
    [sym_constant] = ACTIONS(4230),
    [sym_identifier] = ACTIONS(4230),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(4056),
    [anon_sym_nil] = ACTIONS(4058),
    [anon_sym_self] = ACTIONS(4060),
    [anon_sym_super] = ACTIONS(4062),
    [anon_sym_true] = ACTIONS(4064),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4232),
    [sym_float] = ACTIONS(4234),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4236),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4238),
    [sym_keyword__LINE__] = ACTIONS(4238),
    [sym_keyword__ENCODING__] = ACTIONS(4238),
    [sym__character_literal] = ACTIONS(4240),
    [anon_sym_LBRACK] = ACTIONS(4242),
    [anon_sym_DASH_GT] = ACTIONS(4244),
  },
  [9150] = {
    [sym_method] = STATE(2839),
    [sym_singleton_method] = STATE(2839),
    [sym_class] = STATE(2839),
    [sym_singleton_class] = STATE(2839),
    [sym_module] = STATE(2839),
    [sym_return] = STATE(2839),
    [sym_yield] = STATE(2839),
    [sym_break] = STATE(2839),
    [sym_next] = STATE(2839),
    [sym_redo] = STATE(2839),
    [sym_retry] = STATE(2839),
    [sym_while] = STATE(2839),
    [sym_until] = STATE(2839),
    [sym_for] = STATE(2839),
    [sym_case] = STATE(2839),
    [sym_if] = STATE(2839),
    [sym_unless] = STATE(2839),
    [sym_begin] = STATE(2839),
    [sym__arg] = STATE(2873),
    [sym__primary] = STATE(2874),
    [sym_parenthesized_statements] = STATE(2839),
    [sym_element_reference] = STATE(2764),
    [sym_scope_resolution] = STATE(2875),
    [sym_call] = STATE(2875),
    [sym_method_call] = STATE(2764),
    [sym__argument] = STATE(11720),
    [sym_splat_argument] = STATE(2879),
    [sym_hash_splat_argument] = STATE(2879),
    [sym_block_argument] = STATE(2879),
    [sym_assignment] = STATE(2881),
    [sym_operator_assignment] = STATE(2881),
    [sym_conditional] = STATE(2881),
    [sym_range] = STATE(2881),
    [sym_binary] = STATE(2881),
    [sym_unary] = STATE(2881),
    [sym_left_assignment_list] = STATE(2882),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2883),
    [sym__variable] = STATE(2875),
    [sym_reserved_identifier] = STATE(2884),
    [sym_symbol] = STATE(2839),
    [sym_complex] = STATE(2839),
    [sym_rational] = STATE(2839),
    [sym_super] = STATE(2749),
    [sym_true] = STATE(2764),
    [sym_false] = STATE(2764),
    [sym_self] = STATE(2749),
    [sym_nil] = STATE(2764),
    [sym_chained_string] = STATE(2839),
    [sym_string] = STATE(2885),
    [sym_subshell] = STATE(2839),
    [sym_heredoc_end] = STATE(11721),
    [sym_array] = STATE(2839),
    [sym_hash] = STATE(2839),
    [sym_pair] = STATE(2879),
    [sym_regex] = STATE(2839),
    [sym_lambda] = STATE(2839),
    [sym__simple_string] = ACTIONS(4162),
    [sym__simple_symbol] = ACTIONS(4164),
    [sym__simple_subshell] = ACTIONS(4166),
    [sym__simple_regex] = ACTIONS(4168),
    [sym__simple_word_list] = ACTIONS(4170),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(4172),
    [sym__symbol_beginning] = ACTIONS(4174),
    [sym__subshell_beginning] = ACTIONS(4176),
    [sym__regex_beginning] = ACTIONS(4178),
    [sym__word_list_beginning] = ACTIONS(4180),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(4182),
    [sym__block_ampersand] = ACTIONS(4184),
    [sym__splat_star] = ACTIONS(4186),
    [sym__unary_minus] = ACTIONS(4190),
    [anon_sym_LBRACE] = ACTIONS(8172),
    [anon_sym_def] = ACTIONS(4194),
    [anon_sym_LPAREN] = ACTIONS(4196),
    [anon_sym_COLON_COLON] = ACTIONS(4020),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(12014),
    [anon_sym_class] = ACTIONS(4198),
    [anon_sym_module] = ACTIONS(4200),
    [anon_sym_return] = ACTIONS(4202),
    [anon_sym_yield] = ACTIONS(4204),
    [anon_sym_break] = ACTIONS(4206),
    [anon_sym_next] = ACTIONS(4208),
    [anon_sym_redo] = ACTIONS(4210),
    [anon_sym_retry] = ACTIONS(4212),
    [anon_sym_if] = ACTIONS(12016),
    [anon_sym_unless] = ACTIONS(12018),
    [anon_sym_while] = ACTIONS(12020),
    [anon_sym_until] = ACTIONS(12022),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(4214),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(4218),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(4220),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(8206),
    [anon_sym_defined_QMARK] = ACTIONS(4222),
    [anon_sym_not] = ACTIONS(4224),
    [anon_sym_BANG] = ACTIONS(4228),
    [anon_sym_TILDE] = ACTIONS(4228),
    [sym_constant] = ACTIONS(4230),
    [sym_identifier] = ACTIONS(4230),
    [sym_instance_variable] = ACTIONS(4054),
    [sym_class_variable] = ACTIONS(4054),
    [sym_global_variable] = ACTIONS(4054),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(4056),
    [anon_sym_nil] = ACTIONS(4058),
    [anon_sym_self] = ACTIONS(4060),
    [anon_sym_super] = ACTIONS(4062),
    [anon_sym_true] = ACTIONS(4064),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(4232),
    [sym_float] = ACTIONS(4234),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(4236),
    [anon_sym_TRUE] = ACTIONS(4072),
    [anon_sym_FALSE] = ACTIONS(4074),
    [anon_sym_NIL] = ACTIONS(4076),
    [sym_keyword__FILE__] = ACTIONS(4238),
    [sym_keyword__LINE__] = ACTIONS(4238),
    [sym_keyword__ENCODING__] = ACTIONS(4238),
    [sym__character_literal] = ACTIONS(4240),
    [anon_sym_LBRACK] = ACTIONS(4242),
    [anon_sym_DASH_GT] = ACTIONS(4244),
  },
  [9151] = {
    [sym_heredoc_end] = STATE(9147),
    [sym__simple_heredoc_body] = ACTIONS(8270),
    [sym__heredoc_body_beginning] = ACTIONS(8272),
    [sym__heredoc_body_middle] = ACTIONS(9500),
    [sym__heredoc_body_end] = ACTIONS(9500),
    [sym__element_reference_left_bracket] = ACTIONS(9500),
    [sym__scope_double_colon] = ACTIONS(9500),
    [sym__binary_minus] = ACTIONS(9500),
    [sym__binary_star] = ACTIONS(9500),
    [anon_sym_LBRACE] = ACTIONS(9500),
    [anon_sym_DOT] = ACTIONS(9502),
    [anon_sym_COMMA] = ACTIONS(9500),
    [anon_sym_PIPE] = ACTIONS(9502),
    [anon_sym_STAR_STAR] = ACTIONS(9502),
    [anon_sym_AMP] = ACTIONS(9502),
    [anon_sym_EQ] = ACTIONS(9502),
    [anon_sym_LT] = ACTIONS(9502),
    [anon_sym_if] = ACTIONS(9500),
    [anon_sym_unless] = ACTIONS(9500),
    [anon_sym_while] = ACTIONS(9500),
    [anon_sym_until] = ACTIONS(9500),
    [anon_sym_rescue] = ACTIONS(9500),
    [anon_sym_do] = ACTIONS(9500),
    [anon_sym_AMP_DOT] = ACTIONS(9500),
    [anon_sym_PLUS_EQ] = ACTIONS(9500),
    [anon_sym_DASH_EQ] = ACTIONS(9500),
    [anon_sym_STAR_EQ] = ACTIONS(9500),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9500),
    [anon_sym_SLASH_EQ] = ACTIONS(9500),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9500),
    [anon_sym_PIPE_EQ] = ACTIONS(9500),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9500),
    [anon_sym_AMP_EQ] = ACTIONS(9500),
    [anon_sym_PERCENT_EQ] = ACTIONS(9500),
    [anon_sym_GT_GT_EQ] = ACTIONS(9500),
    [anon_sym_LT_LT_EQ] = ACTIONS(9500),
    [anon_sym_CARET_EQ] = ACTIONS(9500),
    [anon_sym_QMARK] = ACTIONS(9500),
    [anon_sym_DOT_DOT] = ACTIONS(9502),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9500),
    [anon_sym_and] = ACTIONS(9500),
    [anon_sym_or] = ACTIONS(9500),
    [anon_sym_PIPE_PIPE] = ACTIONS(9502),
    [anon_sym_AMP_AMP] = ACTIONS(9502),
    [anon_sym_LT_LT] = ACTIONS(9502),
    [anon_sym_GT_GT] = ACTIONS(9502),
    [anon_sym_EQ_EQ] = ACTIONS(9502),
    [anon_sym_BANG_EQ] = ACTIONS(9500),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9500),
    [anon_sym_LT_EQ_GT] = ACTIONS(9500),
    [anon_sym_EQ_TILDE] = ACTIONS(9500),
    [anon_sym_BANG_TILDE] = ACTIONS(9500),
    [anon_sym_LT_EQ] = ACTIONS(9502),
    [anon_sym_GT] = ACTIONS(9502),
    [anon_sym_GT_EQ] = ACTIONS(9500),
    [anon_sym_CARET] = ACTIONS(9502),
    [anon_sym_PLUS] = ACTIONS(9502),
    [anon_sym_SLASH] = ACTIONS(9502),
    [anon_sym_PERCENT] = ACTIONS(9502),
    [sym_comment] = ACTIONS(256),
  },
  [9152] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__heredoc_body_middle] = ACTIONS(6346),
    [sym__heredoc_body_end] = ACTIONS(6346),
    [sym__element_reference_left_bracket] = ACTIONS(6346),
    [sym__scope_double_colon] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(8238),
    [sym__binary_star] = ACTIONS(8240),
    [anon_sym_LBRACE] = ACTIONS(6346),
    [anon_sym_DOT] = ACTIONS(7328),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(8242),
    [anon_sym_STAR_STAR] = ACTIONS(8244),
    [anon_sym_AMP] = ACTIONS(8246),
    [anon_sym_EQ] = ACTIONS(7328),
    [anon_sym_LT] = ACTIONS(8248),
    [anon_sym_if] = ACTIONS(6346),
    [anon_sym_unless] = ACTIONS(6346),
    [anon_sym_while] = ACTIONS(6346),
    [anon_sym_until] = ACTIONS(6346),
    [anon_sym_rescue] = ACTIONS(6346),
    [anon_sym_do] = ACTIONS(6346),
    [anon_sym_EQ_GT] = ACTIONS(6346),
    [anon_sym_AMP_DOT] = ACTIONS(6346),
    [anon_sym_PLUS_EQ] = ACTIONS(6346),
    [anon_sym_DASH_EQ] = ACTIONS(6346),
    [anon_sym_STAR_EQ] = ACTIONS(6346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6346),
    [anon_sym_SLASH_EQ] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6346),
    [anon_sym_PIPE_EQ] = ACTIONS(6346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6346),
    [anon_sym_AMP_EQ] = ACTIONS(6346),
    [anon_sym_PERCENT_EQ] = ACTIONS(6346),
    [anon_sym_GT_GT_EQ] = ACTIONS(6346),
    [anon_sym_LT_LT_EQ] = ACTIONS(6346),
    [anon_sym_CARET_EQ] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(8250),
    [anon_sym_DOT_DOT] = ACTIONS(8252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8254),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(8256),
    [anon_sym_AMP_AMP] = ACTIONS(8256),
    [anon_sym_LT_LT] = ACTIONS(8258),
    [anon_sym_GT_GT] = ACTIONS(8258),
    [anon_sym_EQ_EQ] = ACTIONS(8256),
    [anon_sym_BANG_EQ] = ACTIONS(8260),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8260),
    [anon_sym_LT_EQ_GT] = ACTIONS(8260),
    [anon_sym_EQ_TILDE] = ACTIONS(8260),
    [anon_sym_BANG_TILDE] = ACTIONS(8260),
    [anon_sym_LT_EQ] = ACTIONS(8248),
    [anon_sym_GT] = ACTIONS(8248),
    [anon_sym_GT_EQ] = ACTIONS(8262),
    [anon_sym_CARET] = ACTIONS(8242),
    [anon_sym_PLUS] = ACTIONS(8264),
    [anon_sym_SLASH] = ACTIONS(8244),
    [anon_sym_PERCENT] = ACTIONS(8244),
    [sym_comment] = ACTIONS(256),
  },
  [9153] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__heredoc_body_middle] = ACTIONS(6346),
    [sym__heredoc_body_end] = ACTIONS(6346),
    [sym__element_reference_left_bracket] = ACTIONS(6346),
    [sym__scope_double_colon] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(6346),
    [sym__binary_star] = ACTIONS(6346),
    [anon_sym_LBRACE] = ACTIONS(6346),
    [anon_sym_DOT] = ACTIONS(7328),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(7328),
    [anon_sym_STAR_STAR] = ACTIONS(7328),
    [anon_sym_AMP] = ACTIONS(7328),
    [anon_sym_EQ] = ACTIONS(7328),
    [anon_sym_LT] = ACTIONS(7328),
    [anon_sym_if] = ACTIONS(6346),
    [anon_sym_unless] = ACTIONS(6346),
    [anon_sym_while] = ACTIONS(6346),
    [anon_sym_until] = ACTIONS(6346),
    [anon_sym_rescue] = ACTIONS(6346),
    [anon_sym_do] = ACTIONS(6346),
    [anon_sym_EQ_GT] = ACTIONS(6346),
    [anon_sym_AMP_DOT] = ACTIONS(6346),
    [anon_sym_PLUS_EQ] = ACTIONS(6346),
    [anon_sym_DASH_EQ] = ACTIONS(6346),
    [anon_sym_STAR_EQ] = ACTIONS(6346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6346),
    [anon_sym_SLASH_EQ] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6346),
    [anon_sym_PIPE_EQ] = ACTIONS(6346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6346),
    [anon_sym_AMP_EQ] = ACTIONS(6346),
    [anon_sym_PERCENT_EQ] = ACTIONS(6346),
    [anon_sym_GT_GT_EQ] = ACTIONS(6346),
    [anon_sym_LT_LT_EQ] = ACTIONS(6346),
    [anon_sym_CARET_EQ] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(6346),
    [anon_sym_DOT_DOT] = ACTIONS(7328),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6346),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(7328),
    [anon_sym_AMP_AMP] = ACTIONS(7328),
    [anon_sym_LT_LT] = ACTIONS(7328),
    [anon_sym_GT_GT] = ACTIONS(7328),
    [anon_sym_EQ_EQ] = ACTIONS(7328),
    [anon_sym_BANG_EQ] = ACTIONS(6346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6346),
    [anon_sym_LT_EQ_GT] = ACTIONS(6346),
    [anon_sym_EQ_TILDE] = ACTIONS(6346),
    [anon_sym_BANG_TILDE] = ACTIONS(6346),
    [anon_sym_LT_EQ] = ACTIONS(7328),
    [anon_sym_GT] = ACTIONS(7328),
    [anon_sym_GT_EQ] = ACTIONS(6346),
    [anon_sym_CARET] = ACTIONS(7328),
    [anon_sym_PLUS] = ACTIONS(7328),
    [anon_sym_SLASH] = ACTIONS(7328),
    [anon_sym_PERCENT] = ACTIONS(7328),
    [sym_comment] = ACTIONS(256),
  },
  [9154] = {
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__heredoc_body_middle] = ACTIONS(7330),
    [sym__heredoc_body_end] = ACTIONS(7330),
    [sym__element_reference_left_bracket] = ACTIONS(7330),
    [sym__scope_double_colon] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_LBRACE] = ACTIONS(7330),
    [anon_sym_DOT] = ACTIONS(7332),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_STAR_STAR] = ACTIONS(7332),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_EQ] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_if] = ACTIONS(7330),
    [anon_sym_unless] = ACTIONS(7330),
    [anon_sym_while] = ACTIONS(7330),
    [anon_sym_until] = ACTIONS(7330),
    [anon_sym_rescue] = ACTIONS(7330),
    [anon_sym_do] = ACTIONS(7330),
    [anon_sym_EQ_GT] = ACTIONS(7330),
    [anon_sym_AMP_DOT] = ACTIONS(7330),
    [anon_sym_PLUS_EQ] = ACTIONS(7330),
    [anon_sym_DASH_EQ] = ACTIONS(7330),
    [anon_sym_STAR_EQ] = ACTIONS(7330),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7330),
    [anon_sym_SLASH_EQ] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7330),
    [anon_sym_PIPE_EQ] = ACTIONS(7330),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7330),
    [anon_sym_AMP_EQ] = ACTIONS(7330),
    [anon_sym_PERCENT_EQ] = ACTIONS(7330),
    [anon_sym_GT_GT_EQ] = ACTIONS(7330),
    [anon_sym_LT_LT_EQ] = ACTIONS(7330),
    [anon_sym_CARET_EQ] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7332),
    [anon_sym_AMP_AMP] = ACTIONS(7332),
    [anon_sym_LT_LT] = ACTIONS(7332),
    [anon_sym_GT_GT] = ACTIONS(7332),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7332),
    [anon_sym_PLUS] = ACTIONS(7332),
    [anon_sym_SLASH] = ACTIONS(7332),
    [anon_sym_PERCENT] = ACTIONS(7332),
    [sym_comment] = ACTIONS(256),
  },
  [9155] = {
    [aux_sym_exceptions_repeat1] = STATE(11723),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__heredoc_body_middle] = ACTIONS(7330),
    [sym__heredoc_body_end] = ACTIONS(7330),
    [sym__element_reference_left_bracket] = ACTIONS(7330),
    [sym__scope_double_colon] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_LBRACE] = ACTIONS(7330),
    [anon_sym_DOT] = ACTIONS(7332),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_STAR_STAR] = ACTIONS(7332),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_EQ] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_if] = ACTIONS(7330),
    [anon_sym_unless] = ACTIONS(7330),
    [anon_sym_while] = ACTIONS(7330),
    [anon_sym_until] = ACTIONS(7330),
    [anon_sym_rescue] = ACTIONS(7330),
    [anon_sym_do] = ACTIONS(7330),
    [anon_sym_EQ_GT] = ACTIONS(7330),
    [anon_sym_AMP_DOT] = ACTIONS(7330),
    [anon_sym_PLUS_EQ] = ACTIONS(7330),
    [anon_sym_DASH_EQ] = ACTIONS(7330),
    [anon_sym_STAR_EQ] = ACTIONS(7330),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7330),
    [anon_sym_SLASH_EQ] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7330),
    [anon_sym_PIPE_EQ] = ACTIONS(7330),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7330),
    [anon_sym_AMP_EQ] = ACTIONS(7330),
    [anon_sym_PERCENT_EQ] = ACTIONS(7330),
    [anon_sym_GT_GT_EQ] = ACTIONS(7330),
    [anon_sym_LT_LT_EQ] = ACTIONS(7330),
    [anon_sym_CARET_EQ] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7332),
    [anon_sym_AMP_AMP] = ACTIONS(7332),
    [anon_sym_LT_LT] = ACTIONS(7332),
    [anon_sym_GT_GT] = ACTIONS(7332),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7332),
    [anon_sym_PLUS] = ACTIONS(7332),
    [anon_sym_SLASH] = ACTIONS(7332),
    [anon_sym_PERCENT] = ACTIONS(7332),
    [sym_comment] = ACTIONS(256),
  },
  [9156] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__heredoc_body_middle] = ACTIONS(7344),
    [sym__heredoc_body_end] = ACTIONS(7344),
    [sym__element_reference_left_bracket] = ACTIONS(7344),
    [sym__scope_double_colon] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(8238),
    [sym__binary_star] = ACTIONS(8240),
    [anon_sym_LBRACE] = ACTIONS(7344),
    [anon_sym_DOT] = ACTIONS(9504),
    [anon_sym_COMMA] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(8242),
    [anon_sym_STAR_STAR] = ACTIONS(8244),
    [anon_sym_AMP] = ACTIONS(8246),
    [anon_sym_EQ] = ACTIONS(9504),
    [anon_sym_LT] = ACTIONS(8248),
    [anon_sym_if] = ACTIONS(7344),
    [anon_sym_unless] = ACTIONS(7344),
    [anon_sym_while] = ACTIONS(7344),
    [anon_sym_until] = ACTIONS(7344),
    [anon_sym_rescue] = ACTIONS(7344),
    [anon_sym_do] = ACTIONS(7344),
    [anon_sym_EQ_GT] = ACTIONS(7344),
    [anon_sym_AMP_DOT] = ACTIONS(7344),
    [anon_sym_PLUS_EQ] = ACTIONS(7344),
    [anon_sym_DASH_EQ] = ACTIONS(7344),
    [anon_sym_STAR_EQ] = ACTIONS(7344),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7344),
    [anon_sym_SLASH_EQ] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7344),
    [anon_sym_PIPE_EQ] = ACTIONS(7344),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7344),
    [anon_sym_AMP_EQ] = ACTIONS(7344),
    [anon_sym_PERCENT_EQ] = ACTIONS(7344),
    [anon_sym_GT_GT_EQ] = ACTIONS(7344),
    [anon_sym_LT_LT_EQ] = ACTIONS(7344),
    [anon_sym_CARET_EQ] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(8250),
    [anon_sym_DOT_DOT] = ACTIONS(8252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8254),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(8256),
    [anon_sym_AMP_AMP] = ACTIONS(8256),
    [anon_sym_LT_LT] = ACTIONS(8258),
    [anon_sym_GT_GT] = ACTIONS(8258),
    [anon_sym_EQ_EQ] = ACTIONS(8256),
    [anon_sym_BANG_EQ] = ACTIONS(8260),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8260),
    [anon_sym_LT_EQ_GT] = ACTIONS(8260),
    [anon_sym_EQ_TILDE] = ACTIONS(8260),
    [anon_sym_BANG_TILDE] = ACTIONS(8260),
    [anon_sym_LT_EQ] = ACTIONS(8248),
    [anon_sym_GT] = ACTIONS(8248),
    [anon_sym_GT_EQ] = ACTIONS(8262),
    [anon_sym_CARET] = ACTIONS(8242),
    [anon_sym_PLUS] = ACTIONS(8264),
    [anon_sym_SLASH] = ACTIONS(8244),
    [anon_sym_PERCENT] = ACTIONS(8244),
    [sym_comment] = ACTIONS(256),
  },
  [9157] = {
    [sym__simple_heredoc_body] = ACTIONS(8662),
    [sym__heredoc_body_beginning] = ACTIONS(8662),
    [sym__heredoc_body_middle] = ACTIONS(8662),
    [sym__heredoc_body_end] = ACTIONS(8662),
    [sym__element_reference_left_bracket] = ACTIONS(8662),
    [sym__scope_double_colon] = ACTIONS(8662),
    [sym__binary_minus] = ACTIONS(11952),
    [sym__binary_star] = ACTIONS(11954),
    [anon_sym_LBRACE] = ACTIONS(8662),
    [anon_sym_DOT] = ACTIONS(9506),
    [anon_sym_COMMA] = ACTIONS(8662),
    [anon_sym_PIPE] = ACTIONS(11956),
    [anon_sym_STAR_STAR] = ACTIONS(11958),
    [anon_sym_AMP] = ACTIONS(11960),
    [anon_sym_EQ] = ACTIONS(9506),
    [anon_sym_LT] = ACTIONS(11962),
    [anon_sym_if] = ACTIONS(8662),
    [anon_sym_unless] = ACTIONS(8662),
    [anon_sym_while] = ACTIONS(8662),
    [anon_sym_until] = ACTIONS(8662),
    [anon_sym_rescue] = ACTIONS(8662),
    [anon_sym_do] = ACTIONS(8662),
    [anon_sym_AMP_DOT] = ACTIONS(8662),
    [anon_sym_PLUS_EQ] = ACTIONS(8662),
    [anon_sym_DASH_EQ] = ACTIONS(8662),
    [anon_sym_STAR_EQ] = ACTIONS(8662),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8662),
    [anon_sym_SLASH_EQ] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8662),
    [anon_sym_PIPE_EQ] = ACTIONS(8662),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8662),
    [anon_sym_AMP_EQ] = ACTIONS(8662),
    [anon_sym_PERCENT_EQ] = ACTIONS(8662),
    [anon_sym_GT_GT_EQ] = ACTIONS(8662),
    [anon_sym_LT_LT_EQ] = ACTIONS(8662),
    [anon_sym_CARET_EQ] = ACTIONS(8662),
    [anon_sym_QMARK] = ACTIONS(11964),
    [anon_sym_DOT_DOT] = ACTIONS(11966),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11968),
    [anon_sym_and] = ACTIONS(8662),
    [anon_sym_or] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE] = ACTIONS(11970),
    [anon_sym_AMP_AMP] = ACTIONS(11970),
    [anon_sym_LT_LT] = ACTIONS(11972),
    [anon_sym_GT_GT] = ACTIONS(11972),
    [anon_sym_EQ_EQ] = ACTIONS(11970),
    [anon_sym_BANG_EQ] = ACTIONS(11974),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11974),
    [anon_sym_LT_EQ_GT] = ACTIONS(11974),
    [anon_sym_EQ_TILDE] = ACTIONS(11974),
    [anon_sym_BANG_TILDE] = ACTIONS(11974),
    [anon_sym_LT_EQ] = ACTIONS(11962),
    [anon_sym_GT] = ACTIONS(11962),
    [anon_sym_GT_EQ] = ACTIONS(11976),
    [anon_sym_CARET] = ACTIONS(11956),
    [anon_sym_PLUS] = ACTIONS(11978),
    [anon_sym_SLASH] = ACTIONS(11958),
    [anon_sym_PERCENT] = ACTIONS(11958),
    [sym_comment] = ACTIONS(256),
  },
  [9158] = {
    [sym__simple_string] = ACTIONS(7346),
    [sym__simple_heredoc_body] = ACTIONS(7346),
    [sym__string_beginning] = ACTIONS(7346),
    [sym__heredoc_body_beginning] = ACTIONS(7346),
    [sym__heredoc_body_middle] = ACTIONS(7346),
    [sym__heredoc_body_end] = ACTIONS(7346),
    [sym__element_reference_left_bracket] = ACTIONS(7346),
    [sym__scope_double_colon] = ACTIONS(7346),
    [sym__binary_minus] = ACTIONS(7346),
    [sym__binary_star] = ACTIONS(7346),
    [anon_sym_LBRACE] = ACTIONS(7346),
    [anon_sym_DOT] = ACTIONS(7348),
    [anon_sym_COMMA] = ACTIONS(7346),
    [anon_sym_PIPE] = ACTIONS(7348),
    [anon_sym_STAR_STAR] = ACTIONS(7348),
    [anon_sym_AMP] = ACTIONS(7348),
    [anon_sym_EQ] = ACTIONS(7348),
    [anon_sym_LT] = ACTIONS(7348),
    [anon_sym_if] = ACTIONS(7346),
    [anon_sym_unless] = ACTIONS(7346),
    [anon_sym_while] = ACTIONS(7346),
    [anon_sym_until] = ACTIONS(7346),
    [anon_sym_rescue] = ACTIONS(7346),
    [anon_sym_do] = ACTIONS(7346),
    [anon_sym_EQ_GT] = ACTIONS(7346),
    [anon_sym_AMP_DOT] = ACTIONS(7346),
    [anon_sym_PLUS_EQ] = ACTIONS(7346),
    [anon_sym_DASH_EQ] = ACTIONS(7346),
    [anon_sym_STAR_EQ] = ACTIONS(7346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7346),
    [anon_sym_SLASH_EQ] = ACTIONS(7346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7346),
    [anon_sym_PIPE_EQ] = ACTIONS(7346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7346),
    [anon_sym_AMP_EQ] = ACTIONS(7346),
    [anon_sym_PERCENT_EQ] = ACTIONS(7346),
    [anon_sym_GT_GT_EQ] = ACTIONS(7346),
    [anon_sym_LT_LT_EQ] = ACTIONS(7346),
    [anon_sym_CARET_EQ] = ACTIONS(7346),
    [anon_sym_QMARK] = ACTIONS(7348),
    [anon_sym_DOT_DOT] = ACTIONS(7348),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7346),
    [anon_sym_and] = ACTIONS(7346),
    [anon_sym_or] = ACTIONS(7346),
    [anon_sym_PIPE_PIPE] = ACTIONS(7348),
    [anon_sym_AMP_AMP] = ACTIONS(7348),
    [anon_sym_LT_LT] = ACTIONS(7348),
    [anon_sym_GT_GT] = ACTIONS(7348),
    [anon_sym_EQ_EQ] = ACTIONS(7348),
    [anon_sym_BANG_EQ] = ACTIONS(7346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7346),
    [anon_sym_LT_EQ_GT] = ACTIONS(7346),
    [anon_sym_EQ_TILDE] = ACTIONS(7346),
    [anon_sym_BANG_TILDE] = ACTIONS(7346),
    [anon_sym_LT_EQ] = ACTIONS(7348),
    [anon_sym_GT] = ACTIONS(7348),
    [anon_sym_GT_EQ] = ACTIONS(7346),
    [anon_sym_CARET] = ACTIONS(7348),
    [anon_sym_PLUS] = ACTIONS(7348),
    [anon_sym_SLASH] = ACTIONS(7348),
    [anon_sym_PERCENT] = ACTIONS(7348),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(7348),
  },
  [9159] = {
    [sym__heredoc_body_middle] = ACTIONS(5338),
    [sym__heredoc_body_end] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(12026),
    [sym__binary_star] = ACTIONS(12028),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(12030),
    [anon_sym_STAR_STAR] = ACTIONS(12032),
    [anon_sym_AMP] = ACTIONS(12034),
    [anon_sym_LT] = ACTIONS(12036),
    [anon_sym_if] = ACTIONS(5338),
    [anon_sym_unless] = ACTIONS(5338),
    [anon_sym_while] = ACTIONS(5338),
    [anon_sym_until] = ACTIONS(5338),
    [anon_sym_rescue] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(12038),
    [anon_sym_DOT_DOT] = ACTIONS(12040),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12042),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(12044),
    [anon_sym_AMP_AMP] = ACTIONS(12044),
    [anon_sym_LT_LT] = ACTIONS(12046),
    [anon_sym_GT_GT] = ACTIONS(12046),
    [anon_sym_EQ_EQ] = ACTIONS(12048),
    [anon_sym_BANG_EQ] = ACTIONS(12044),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12044),
    [anon_sym_LT_EQ_GT] = ACTIONS(12044),
    [anon_sym_EQ_TILDE] = ACTIONS(12044),
    [anon_sym_BANG_TILDE] = ACTIONS(12044),
    [anon_sym_LT_EQ] = ACTIONS(12036),
    [anon_sym_GT] = ACTIONS(12036),
    [anon_sym_GT_EQ] = ACTIONS(12050),
    [anon_sym_CARET] = ACTIONS(12052),
    [anon_sym_PLUS] = ACTIONS(12054),
    [anon_sym_SLASH] = ACTIONS(12032),
    [anon_sym_PERCENT] = ACTIONS(12032),
    [sym_comment] = ACTIONS(110),
  },
  [9160] = {
    [sym__heredoc_body_middle] = ACTIONS(1372),
    [sym__heredoc_body_end] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_STAR_STAR] = ACTIONS(12032),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_if] = ACTIONS(1372),
    [anon_sym_unless] = ACTIONS(1372),
    [anon_sym_while] = ACTIONS(1372),
    [anon_sym_until] = ACTIONS(1372),
    [anon_sym_rescue] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [9161] = {
    [sym__heredoc_body_middle] = ACTIONS(2870),
    [sym__heredoc_body_end] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(12032),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [9162] = {
    [sym__heredoc_body_middle] = ACTIONS(2870),
    [sym__heredoc_body_end] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(12026),
    [sym__binary_star] = ACTIONS(12028),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(12030),
    [anon_sym_STAR_STAR] = ACTIONS(12032),
    [anon_sym_AMP] = ACTIONS(12034),
    [anon_sym_LT] = ACTIONS(12036),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(12038),
    [anon_sym_DOT_DOT] = ACTIONS(12040),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12042),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(12044),
    [anon_sym_AMP_AMP] = ACTIONS(12044),
    [anon_sym_LT_LT] = ACTIONS(12046),
    [anon_sym_GT_GT] = ACTIONS(12046),
    [anon_sym_EQ_EQ] = ACTIONS(12048),
    [anon_sym_BANG_EQ] = ACTIONS(12044),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12044),
    [anon_sym_LT_EQ_GT] = ACTIONS(12044),
    [anon_sym_EQ_TILDE] = ACTIONS(12044),
    [anon_sym_BANG_TILDE] = ACTIONS(12044),
    [anon_sym_LT_EQ] = ACTIONS(12036),
    [anon_sym_GT] = ACTIONS(12036),
    [anon_sym_GT_EQ] = ACTIONS(12050),
    [anon_sym_CARET] = ACTIONS(12052),
    [anon_sym_PLUS] = ACTIONS(12054),
    [anon_sym_SLASH] = ACTIONS(12032),
    [anon_sym_PERCENT] = ACTIONS(12032),
    [sym_comment] = ACTIONS(110),
  },
  [9163] = {
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(11724),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(5927),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5928),
    [sym__variable] = STATE(907),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(8286),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(8288),
    [anon_sym_defined_QMARK] = ACTIONS(8290),
    [anon_sym_not] = ACTIONS(8292),
    [anon_sym_BANG] = ACTIONS(8294),
    [anon_sym_TILDE] = ACTIONS(8294),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [9164] = {
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(11725),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(5927),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5928),
    [sym__variable] = STATE(907),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(8286),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(8288),
    [anon_sym_defined_QMARK] = ACTIONS(8290),
    [anon_sym_not] = ACTIONS(8292),
    [anon_sym_BANG] = ACTIONS(8294),
    [anon_sym_TILDE] = ACTIONS(8294),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [9165] = {
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(11726),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(5927),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5928),
    [sym__variable] = STATE(907),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(8286),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(8288),
    [anon_sym_defined_QMARK] = ACTIONS(8290),
    [anon_sym_not] = ACTIONS(8292),
    [anon_sym_BANG] = ACTIONS(8294),
    [anon_sym_TILDE] = ACTIONS(8294),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [9166] = {
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(11727),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(5927),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5928),
    [sym__variable] = STATE(907),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(8286),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(8288),
    [anon_sym_defined_QMARK] = ACTIONS(8290),
    [anon_sym_not] = ACTIONS(8292),
    [anon_sym_BANG] = ACTIONS(8294),
    [anon_sym_TILDE] = ACTIONS(8294),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [9167] = {
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(11728),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(5927),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5928),
    [sym__variable] = STATE(907),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(8286),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(8288),
    [anon_sym_defined_QMARK] = ACTIONS(8290),
    [anon_sym_not] = ACTIONS(8292),
    [anon_sym_BANG] = ACTIONS(8294),
    [anon_sym_TILDE] = ACTIONS(8294),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [9168] = {
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(11729),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(5927),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5928),
    [sym__variable] = STATE(907),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(8286),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(8288),
    [anon_sym_defined_QMARK] = ACTIONS(8290),
    [anon_sym_not] = ACTIONS(8292),
    [anon_sym_BANG] = ACTIONS(8294),
    [anon_sym_TILDE] = ACTIONS(8294),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [9169] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(11730),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [9170] = {
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(11731),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(5927),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5928),
    [sym__variable] = STATE(907),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(8286),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(8288),
    [anon_sym_defined_QMARK] = ACTIONS(8290),
    [anon_sym_not] = ACTIONS(8292),
    [anon_sym_BANG] = ACTIONS(8294),
    [anon_sym_TILDE] = ACTIONS(8294),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [9171] = {
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(11732),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(5927),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5928),
    [sym__variable] = STATE(907),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(8286),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(8288),
    [anon_sym_defined_QMARK] = ACTIONS(8290),
    [anon_sym_not] = ACTIONS(8292),
    [anon_sym_BANG] = ACTIONS(8294),
    [anon_sym_TILDE] = ACTIONS(8294),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [9172] = {
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(11733),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(5927),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5928),
    [sym__variable] = STATE(907),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(8286),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(8288),
    [anon_sym_defined_QMARK] = ACTIONS(8290),
    [anon_sym_not] = ACTIONS(8292),
    [anon_sym_BANG] = ACTIONS(8294),
    [anon_sym_TILDE] = ACTIONS(8294),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [9173] = {
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(11734),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(5927),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5928),
    [sym__variable] = STATE(907),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(8286),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(8288),
    [anon_sym_defined_QMARK] = ACTIONS(8290),
    [anon_sym_not] = ACTIONS(8292),
    [anon_sym_BANG] = ACTIONS(8294),
    [anon_sym_TILDE] = ACTIONS(8294),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [9174] = {
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(11735),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(5927),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5928),
    [sym__variable] = STATE(907),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(8286),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(8288),
    [anon_sym_defined_QMARK] = ACTIONS(8290),
    [anon_sym_not] = ACTIONS(8292),
    [anon_sym_BANG] = ACTIONS(8294),
    [anon_sym_TILDE] = ACTIONS(8294),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [9175] = {
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(5923),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_splat_argument] = STATE(5924),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym__arg_or_splat_arg] = STATE(11736),
    [sym_left_assignment_list] = STATE(5927),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5928),
    [sym__variable] = STATE(907),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__splat_star] = ACTIONS(8284),
    [sym__unary_minus] = ACTIONS(8286),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(8288),
    [anon_sym_defined_QMARK] = ACTIONS(8290),
    [anon_sym_not] = ACTIONS(8292),
    [anon_sym_BANG] = ACTIONS(8294),
    [anon_sym_TILDE] = ACTIONS(8294),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [9176] = {
    [sym__heredoc_body_middle] = ACTIONS(11422),
    [sym__heredoc_body_end] = ACTIONS(11422),
    [sym__binary_minus] = ACTIONS(11422),
    [sym__binary_star] = ACTIONS(11422),
    [anon_sym_COMMA] = ACTIONS(14656),
    [anon_sym_PIPE] = ACTIONS(11426),
    [anon_sym_STAR_STAR] = ACTIONS(11422),
    [anon_sym_AMP] = ACTIONS(11426),
    [anon_sym_LT] = ACTIONS(11426),
    [anon_sym_if] = ACTIONS(11422),
    [anon_sym_unless] = ACTIONS(11422),
    [anon_sym_while] = ACTIONS(11422),
    [anon_sym_until] = ACTIONS(11422),
    [anon_sym_rescue] = ACTIONS(11422),
    [anon_sym_QMARK] = ACTIONS(11422),
    [anon_sym_DOT_DOT] = ACTIONS(11426),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11422),
    [anon_sym_and] = ACTIONS(11422),
    [anon_sym_or] = ACTIONS(11422),
    [anon_sym_PIPE_PIPE] = ACTIONS(11422),
    [anon_sym_AMP_AMP] = ACTIONS(11422),
    [anon_sym_LT_LT] = ACTIONS(11422),
    [anon_sym_GT_GT] = ACTIONS(11422),
    [anon_sym_EQ_EQ] = ACTIONS(11426),
    [anon_sym_BANG_EQ] = ACTIONS(11422),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11422),
    [anon_sym_LT_EQ_GT] = ACTIONS(11422),
    [anon_sym_EQ_TILDE] = ACTIONS(11422),
    [anon_sym_BANG_TILDE] = ACTIONS(11422),
    [anon_sym_LT_EQ] = ACTIONS(11426),
    [anon_sym_GT] = ACTIONS(11426),
    [anon_sym_GT_EQ] = ACTIONS(11422),
    [anon_sym_CARET] = ACTIONS(11422),
    [anon_sym_PLUS] = ACTIONS(11422),
    [anon_sym_SLASH] = ACTIONS(11422),
    [anon_sym_PERCENT] = ACTIONS(11422),
    [sym_comment] = ACTIONS(110),
  },
  [9177] = {
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(5923),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_splat_argument] = STATE(5924),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_right_assignment_list] = STATE(5925),
    [sym__arg_or_splat_arg] = STATE(11738),
    [sym_left_assignment_list] = STATE(5927),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5928),
    [sym__variable] = STATE(907),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__splat_star] = ACTIONS(8284),
    [sym__unary_minus] = ACTIONS(8286),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(8288),
    [anon_sym_defined_QMARK] = ACTIONS(8290),
    [anon_sym_not] = ACTIONS(8292),
    [anon_sym_BANG] = ACTIONS(8294),
    [anon_sym_TILDE] = ACTIONS(8294),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [9178] = {
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(11739),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(5927),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5928),
    [sym__variable] = STATE(907),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(8286),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(8288),
    [anon_sym_defined_QMARK] = ACTIONS(8290),
    [anon_sym_not] = ACTIONS(8292),
    [anon_sym_BANG] = ACTIONS(8294),
    [anon_sym_TILDE] = ACTIONS(8294),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [9179] = {
    [sym__simple_string] = ACTIONS(7678),
    [sym__string_beginning] = ACTIONS(7678),
    [sym__element_reference_left_bracket] = ACTIONS(7678),
    [sym__scope_double_colon] = ACTIONS(7678),
    [sym__binary_minus] = ACTIONS(7678),
    [sym__binary_star] = ACTIONS(7678),
    [anon_sym_LBRACE] = ACTIONS(7678),
    [anon_sym_RPAREN] = ACTIONS(7678),
    [anon_sym_DOT] = ACTIONS(7680),
    [anon_sym_COMMA] = ACTIONS(7678),
    [anon_sym_PIPE] = ACTIONS(7680),
    [anon_sym_SEMI] = ACTIONS(7678),
    [anon_sym_STAR_STAR] = ACTIONS(7678),
    [anon_sym_AMP] = ACTIONS(7680),
    [anon_sym_LT] = ACTIONS(7680),
    [anon_sym_do] = ACTIONS(7678),
    [anon_sym_EQ_GT] = ACTIONS(7678),
    [anon_sym_AMP_DOT] = ACTIONS(7678),
    [anon_sym_QMARK] = ACTIONS(7680),
    [anon_sym_COLON] = ACTIONS(7678),
    [anon_sym_DOT_DOT] = ACTIONS(7680),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7678),
    [anon_sym_and] = ACTIONS(7678),
    [anon_sym_or] = ACTIONS(7678),
    [anon_sym_PIPE_PIPE] = ACTIONS(7678),
    [anon_sym_AMP_AMP] = ACTIONS(7678),
    [anon_sym_LT_LT] = ACTIONS(7678),
    [anon_sym_GT_GT] = ACTIONS(7678),
    [anon_sym_EQ_EQ] = ACTIONS(7680),
    [anon_sym_BANG_EQ] = ACTIONS(7678),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7678),
    [anon_sym_LT_EQ_GT] = ACTIONS(7678),
    [anon_sym_EQ_TILDE] = ACTIONS(7678),
    [anon_sym_BANG_TILDE] = ACTIONS(7678),
    [anon_sym_LT_EQ] = ACTIONS(7680),
    [anon_sym_GT] = ACTIONS(7680),
    [anon_sym_GT_EQ] = ACTIONS(7678),
    [anon_sym_CARET] = ACTIONS(7678),
    [anon_sym_PLUS] = ACTIONS(7678),
    [anon_sym_SLASH] = ACTIONS(7678),
    [anon_sym_PERCENT] = ACTIONS(7678),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(7680),
  },
  [9180] = {
    [sym__method_rest] = STATE(11740),
    [sym_operator] = STATE(217),
    [sym__method_name] = STATE(941),
    [sym_setter] = STATE(217),
    [sym_symbol] = STATE(217),
    [sym__simple_symbol] = ACTIONS(378),
    [sym__symbol_beginning] = ACTIONS(380),
    [anon_sym_PIPE] = ACTIONS(384),
    [anon_sym_STAR] = ACTIONS(386),
    [anon_sym_STAR_STAR] = ACTIONS(384),
    [anon_sym_AMP] = ACTIONS(384),
    [anon_sym_LT] = ACTIONS(386),
    [anon_sym_DOT_DOT] = ACTIONS(384),
    [anon_sym_LT_LT] = ACTIONS(384),
    [anon_sym_GT_GT] = ACTIONS(384),
    [anon_sym_EQ_EQ] = ACTIONS(386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(384),
    [anon_sym_LT_EQ_GT] = ACTIONS(384),
    [anon_sym_EQ_TILDE] = ACTIONS(384),
    [anon_sym_BANG_TILDE] = ACTIONS(384),
    [anon_sym_LT_EQ] = ACTIONS(386),
    [anon_sym_GT] = ACTIONS(386),
    [anon_sym_GT_EQ] = ACTIONS(384),
    [anon_sym_CARET] = ACTIONS(384),
    [anon_sym_PLUS] = ACTIONS(386),
    [anon_sym_SLASH] = ACTIONS(384),
    [anon_sym_PERCENT] = ACTIONS(384),
    [anon_sym_BANG] = ACTIONS(386),
    [anon_sym_TILDE] = ACTIONS(384),
    [sym_constant] = ACTIONS(4694),
    [sym_identifier] = ACTIONS(4696),
    [sym_instance_variable] = ACTIONS(4694),
    [sym_class_variable] = ACTIONS(4694),
    [sym_global_variable] = ACTIONS(4694),
    [anon_sym_DASH] = ACTIONS(386),
    [anon_sym_PLUS_AT] = ACTIONS(384),
    [anon_sym_DASH_AT] = ACTIONS(384),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(386),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(384),
    [anon_sym_BQUOTE] = ACTIONS(384),
    [sym_comment] = ACTIONS(110),
  },
  [9181] = {
    [sym__element_reference_left_bracket] = ACTIONS(12478),
    [sym__scope_double_colon] = ACTIONS(12478),
    [sym__binary_minus] = ACTIONS(12478),
    [sym__binary_star] = ACTIONS(12478),
    [anon_sym_LBRACE] = ACTIONS(12478),
    [anon_sym_RPAREN] = ACTIONS(12478),
    [anon_sym_DOT] = ACTIONS(12480),
    [anon_sym_COMMA] = ACTIONS(12478),
    [anon_sym_PIPE] = ACTIONS(12480),
    [anon_sym_SEMI] = ACTIONS(12478),
    [anon_sym_STAR_STAR] = ACTIONS(12478),
    [anon_sym_AMP] = ACTIONS(12480),
    [anon_sym_LT] = ACTIONS(12480),
    [anon_sym_do] = ACTIONS(12478),
    [anon_sym_EQ_GT] = ACTIONS(12478),
    [anon_sym_AMP_DOT] = ACTIONS(12478),
    [anon_sym_QMARK] = ACTIONS(12478),
    [anon_sym_COLON] = ACTIONS(12478),
    [anon_sym_DOT_DOT] = ACTIONS(12480),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12478),
    [anon_sym_and] = ACTIONS(12478),
    [anon_sym_or] = ACTIONS(12478),
    [anon_sym_PIPE_PIPE] = ACTIONS(12478),
    [anon_sym_AMP_AMP] = ACTIONS(12478),
    [anon_sym_LT_LT] = ACTIONS(12478),
    [anon_sym_GT_GT] = ACTIONS(12478),
    [anon_sym_EQ_EQ] = ACTIONS(12480),
    [anon_sym_BANG_EQ] = ACTIONS(12478),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12478),
    [anon_sym_LT_EQ_GT] = ACTIONS(12478),
    [anon_sym_EQ_TILDE] = ACTIONS(12478),
    [anon_sym_BANG_TILDE] = ACTIONS(12478),
    [anon_sym_LT_EQ] = ACTIONS(12480),
    [anon_sym_GT] = ACTIONS(12480),
    [anon_sym_GT_EQ] = ACTIONS(12478),
    [anon_sym_CARET] = ACTIONS(12478),
    [anon_sym_PLUS] = ACTIONS(12478),
    [anon_sym_SLASH] = ACTIONS(12478),
    [anon_sym_PERCENT] = ACTIONS(12478),
    [sym_comment] = ACTIONS(110),
  },
  [9182] = {
    [sym__simple_string] = ACTIONS(7678),
    [sym__simple_heredoc_body] = ACTIONS(7678),
    [sym__string_beginning] = ACTIONS(7678),
    [sym__heredoc_body_beginning] = ACTIONS(7678),
    [sym__element_reference_left_bracket] = ACTIONS(7678),
    [sym__scope_double_colon] = ACTIONS(7678),
    [sym__binary_minus] = ACTIONS(7678),
    [sym__binary_star] = ACTIONS(7678),
    [anon_sym_LBRACE] = ACTIONS(7678),
    [anon_sym_RBRACE] = ACTIONS(7678),
    [anon_sym_RPAREN] = ACTIONS(7678),
    [anon_sym_DOT] = ACTIONS(7680),
    [anon_sym_COMMA] = ACTIONS(7678),
    [anon_sym_PIPE] = ACTIONS(7680),
    [anon_sym_SEMI] = ACTIONS(7678),
    [anon_sym_STAR_STAR] = ACTIONS(7678),
    [anon_sym_AMP] = ACTIONS(7680),
    [anon_sym_EQ] = ACTIONS(7680),
    [anon_sym_LT] = ACTIONS(7680),
    [anon_sym_in] = ACTIONS(7678),
    [anon_sym_do] = ACTIONS(7678),
    [anon_sym_EQ_GT] = ACTIONS(7678),
    [anon_sym_RBRACK] = ACTIONS(7678),
    [anon_sym_AMP_DOT] = ACTIONS(7678),
    [anon_sym_QMARK] = ACTIONS(7680),
    [anon_sym_COLON] = ACTIONS(7678),
    [anon_sym_DOT_DOT] = ACTIONS(7680),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7678),
    [anon_sym_and] = ACTIONS(7678),
    [anon_sym_or] = ACTIONS(7678),
    [anon_sym_PIPE_PIPE] = ACTIONS(7678),
    [anon_sym_AMP_AMP] = ACTIONS(7678),
    [anon_sym_LT_LT] = ACTIONS(7678),
    [anon_sym_GT_GT] = ACTIONS(7678),
    [anon_sym_EQ_EQ] = ACTIONS(7680),
    [anon_sym_BANG_EQ] = ACTIONS(7678),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7678),
    [anon_sym_LT_EQ_GT] = ACTIONS(7678),
    [anon_sym_EQ_TILDE] = ACTIONS(7678),
    [anon_sym_BANG_TILDE] = ACTIONS(7678),
    [anon_sym_LT_EQ] = ACTIONS(7680),
    [anon_sym_GT] = ACTIONS(7680),
    [anon_sym_GT_EQ] = ACTIONS(7678),
    [anon_sym_CARET] = ACTIONS(7678),
    [anon_sym_PLUS] = ACTIONS(7678),
    [anon_sym_SLASH] = ACTIONS(7678),
    [anon_sym_PERCENT] = ACTIONS(7678),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(7680),
  },
  [9183] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_RBRACE] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_STAR_STAR] = ACTIONS(12086),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [9184] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_RBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(12086),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [9185] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(12080),
    [sym__binary_star] = ACTIONS(12082),
    [anon_sym_RBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(12084),
    [anon_sym_STAR_STAR] = ACTIONS(12086),
    [anon_sym_AMP] = ACTIONS(12088),
    [anon_sym_LT] = ACTIONS(12090),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(12092),
    [anon_sym_DOT_DOT] = ACTIONS(12094),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12096),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(12098),
    [anon_sym_AMP_AMP] = ACTIONS(12098),
    [anon_sym_LT_LT] = ACTIONS(12100),
    [anon_sym_GT_GT] = ACTIONS(12100),
    [anon_sym_EQ_EQ] = ACTIONS(12102),
    [anon_sym_BANG_EQ] = ACTIONS(12098),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12098),
    [anon_sym_LT_EQ_GT] = ACTIONS(12098),
    [anon_sym_EQ_TILDE] = ACTIONS(12098),
    [anon_sym_BANG_TILDE] = ACTIONS(12098),
    [anon_sym_LT_EQ] = ACTIONS(12090),
    [anon_sym_GT] = ACTIONS(12090),
    [anon_sym_GT_EQ] = ACTIONS(12104),
    [anon_sym_CARET] = ACTIONS(12106),
    [anon_sym_PLUS] = ACTIONS(12108),
    [anon_sym_SLASH] = ACTIONS(12086),
    [anon_sym_PERCENT] = ACTIONS(12086),
    [sym_comment] = ACTIONS(110),
  },
  [9186] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(11741),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(977),
    [sym_call] = STATE(977),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(5947),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5948),
    [sym__variable] = STATE(977),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(8310),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(1578),
    [anon_sym_yield] = ACTIONS(1580),
    [anon_sym_break] = ACTIONS(1582),
    [anon_sym_next] = ACTIONS(1584),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8312),
    [anon_sym_defined_QMARK] = ACTIONS(8314),
    [anon_sym_not] = ACTIONS(8316),
    [anon_sym_BANG] = ACTIONS(8318),
    [anon_sym_TILDE] = ACTIONS(8318),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9187] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(11742),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(977),
    [sym_call] = STATE(977),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(5947),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5948),
    [sym__variable] = STATE(977),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(8310),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(1578),
    [anon_sym_yield] = ACTIONS(1580),
    [anon_sym_break] = ACTIONS(1582),
    [anon_sym_next] = ACTIONS(1584),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8312),
    [anon_sym_defined_QMARK] = ACTIONS(8314),
    [anon_sym_not] = ACTIONS(8316),
    [anon_sym_BANG] = ACTIONS(8318),
    [anon_sym_TILDE] = ACTIONS(8318),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9188] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(11743),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(977),
    [sym_call] = STATE(977),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(5947),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5948),
    [sym__variable] = STATE(977),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(8310),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(1578),
    [anon_sym_yield] = ACTIONS(1580),
    [anon_sym_break] = ACTIONS(1582),
    [anon_sym_next] = ACTIONS(1584),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8312),
    [anon_sym_defined_QMARK] = ACTIONS(8314),
    [anon_sym_not] = ACTIONS(8316),
    [anon_sym_BANG] = ACTIONS(8318),
    [anon_sym_TILDE] = ACTIONS(8318),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9189] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(11744),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(977),
    [sym_call] = STATE(977),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(5947),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5948),
    [sym__variable] = STATE(977),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(8310),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(1578),
    [anon_sym_yield] = ACTIONS(1580),
    [anon_sym_break] = ACTIONS(1582),
    [anon_sym_next] = ACTIONS(1584),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8312),
    [anon_sym_defined_QMARK] = ACTIONS(8314),
    [anon_sym_not] = ACTIONS(8316),
    [anon_sym_BANG] = ACTIONS(8318),
    [anon_sym_TILDE] = ACTIONS(8318),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9190] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(11745),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(977),
    [sym_call] = STATE(977),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(5947),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5948),
    [sym__variable] = STATE(977),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(8310),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(1578),
    [anon_sym_yield] = ACTIONS(1580),
    [anon_sym_break] = ACTIONS(1582),
    [anon_sym_next] = ACTIONS(1584),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8312),
    [anon_sym_defined_QMARK] = ACTIONS(8314),
    [anon_sym_not] = ACTIONS(8316),
    [anon_sym_BANG] = ACTIONS(8318),
    [anon_sym_TILDE] = ACTIONS(8318),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9191] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(11746),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(977),
    [sym_call] = STATE(977),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(5947),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5948),
    [sym__variable] = STATE(977),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(8310),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(1578),
    [anon_sym_yield] = ACTIONS(1580),
    [anon_sym_break] = ACTIONS(1582),
    [anon_sym_next] = ACTIONS(1584),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8312),
    [anon_sym_defined_QMARK] = ACTIONS(8314),
    [anon_sym_not] = ACTIONS(8316),
    [anon_sym_BANG] = ACTIONS(8318),
    [anon_sym_TILDE] = ACTIONS(8318),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9192] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(11747),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [9193] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(11748),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(977),
    [sym_call] = STATE(977),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(5947),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5948),
    [sym__variable] = STATE(977),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(8310),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(1578),
    [anon_sym_yield] = ACTIONS(1580),
    [anon_sym_break] = ACTIONS(1582),
    [anon_sym_next] = ACTIONS(1584),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8312),
    [anon_sym_defined_QMARK] = ACTIONS(8314),
    [anon_sym_not] = ACTIONS(8316),
    [anon_sym_BANG] = ACTIONS(8318),
    [anon_sym_TILDE] = ACTIONS(8318),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9194] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(11749),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(977),
    [sym_call] = STATE(977),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(5947),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5948),
    [sym__variable] = STATE(977),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(8310),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(1578),
    [anon_sym_yield] = ACTIONS(1580),
    [anon_sym_break] = ACTIONS(1582),
    [anon_sym_next] = ACTIONS(1584),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8312),
    [anon_sym_defined_QMARK] = ACTIONS(8314),
    [anon_sym_not] = ACTIONS(8316),
    [anon_sym_BANG] = ACTIONS(8318),
    [anon_sym_TILDE] = ACTIONS(8318),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9195] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(11750),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(977),
    [sym_call] = STATE(977),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(5947),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5948),
    [sym__variable] = STATE(977),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(8310),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(1578),
    [anon_sym_yield] = ACTIONS(1580),
    [anon_sym_break] = ACTIONS(1582),
    [anon_sym_next] = ACTIONS(1584),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8312),
    [anon_sym_defined_QMARK] = ACTIONS(8314),
    [anon_sym_not] = ACTIONS(8316),
    [anon_sym_BANG] = ACTIONS(8318),
    [anon_sym_TILDE] = ACTIONS(8318),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9196] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(11751),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(977),
    [sym_call] = STATE(977),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(5947),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5948),
    [sym__variable] = STATE(977),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(8310),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(1578),
    [anon_sym_yield] = ACTIONS(1580),
    [anon_sym_break] = ACTIONS(1582),
    [anon_sym_next] = ACTIONS(1584),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8312),
    [anon_sym_defined_QMARK] = ACTIONS(8314),
    [anon_sym_not] = ACTIONS(8316),
    [anon_sym_BANG] = ACTIONS(8318),
    [anon_sym_TILDE] = ACTIONS(8318),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9197] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(11752),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(977),
    [sym_call] = STATE(977),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(5947),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5948),
    [sym__variable] = STATE(977),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(8310),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(1578),
    [anon_sym_yield] = ACTIONS(1580),
    [anon_sym_break] = ACTIONS(1582),
    [anon_sym_next] = ACTIONS(1584),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8312),
    [anon_sym_defined_QMARK] = ACTIONS(8314),
    [anon_sym_not] = ACTIONS(8316),
    [anon_sym_BANG] = ACTIONS(8318),
    [anon_sym_TILDE] = ACTIONS(8318),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9198] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(11753),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(977),
    [sym_call] = STATE(977),
    [sym_method_call] = STATE(976),
    [sym_splat_argument] = STATE(6132),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_right_assignment_list] = STATE(6133),
    [sym__arg_or_splat_arg] = STATE(11754),
    [sym_left_assignment_list] = STATE(5947),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5948),
    [sym__variable] = STATE(977),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__splat_star] = ACTIONS(4262),
    [sym__unary_minus] = ACTIONS(8310),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(1578),
    [anon_sym_yield] = ACTIONS(1580),
    [anon_sym_break] = ACTIONS(1582),
    [anon_sym_next] = ACTIONS(1584),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8312),
    [anon_sym_defined_QMARK] = ACTIONS(8314),
    [anon_sym_not] = ACTIONS(8316),
    [anon_sym_BANG] = ACTIONS(8318),
    [anon_sym_TILDE] = ACTIONS(8318),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9199] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(11755),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(977),
    [sym_call] = STATE(977),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(5947),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(5948),
    [sym__variable] = STATE(977),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(8310),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(1578),
    [anon_sym_yield] = ACTIONS(1580),
    [anon_sym_break] = ACTIONS(1582),
    [anon_sym_next] = ACTIONS(1584),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8312),
    [anon_sym_defined_QMARK] = ACTIONS(8314),
    [anon_sym_not] = ACTIONS(8316),
    [anon_sym_BANG] = ACTIONS(8318),
    [anon_sym_TILDE] = ACTIONS(8318),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9200] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(8340),
    [sym__binary_star] = ACTIONS(8342),
    [anon_sym_RBRACE] = ACTIONS(5298),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(8344),
    [anon_sym_STAR_STAR] = ACTIONS(8346),
    [anon_sym_AMP] = ACTIONS(8348),
    [anon_sym_LT] = ACTIONS(8350),
    [anon_sym_EQ_GT] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(8352),
    [anon_sym_DOT_DOT] = ACTIONS(8354),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8356),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(8358),
    [anon_sym_AMP_AMP] = ACTIONS(8358),
    [anon_sym_LT_LT] = ACTIONS(8360),
    [anon_sym_GT_GT] = ACTIONS(8360),
    [anon_sym_EQ_EQ] = ACTIONS(8362),
    [anon_sym_BANG_EQ] = ACTIONS(8358),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8358),
    [anon_sym_LT_EQ_GT] = ACTIONS(8358),
    [anon_sym_EQ_TILDE] = ACTIONS(8358),
    [anon_sym_BANG_TILDE] = ACTIONS(8358),
    [anon_sym_LT_EQ] = ACTIONS(8350),
    [anon_sym_GT] = ACTIONS(8350),
    [anon_sym_GT_EQ] = ACTIONS(8364),
    [anon_sym_CARET] = ACTIONS(8366),
    [anon_sym_PLUS] = ACTIONS(8368),
    [anon_sym_SLASH] = ACTIONS(8346),
    [anon_sym_PERCENT] = ACTIONS(8346),
    [sym_comment] = ACTIONS(110),
  },
  [9201] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(8340),
    [sym__binary_star] = ACTIONS(8342),
    [anon_sym_RBRACE] = ACTIONS(5338),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(8344),
    [anon_sym_STAR_STAR] = ACTIONS(8346),
    [anon_sym_AMP] = ACTIONS(8348),
    [anon_sym_LT] = ACTIONS(8350),
    [anon_sym_EQ_GT] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(8352),
    [anon_sym_DOT_DOT] = ACTIONS(8354),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8356),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(8358),
    [anon_sym_AMP_AMP] = ACTIONS(8358),
    [anon_sym_LT_LT] = ACTIONS(8360),
    [anon_sym_GT_GT] = ACTIONS(8360),
    [anon_sym_EQ_EQ] = ACTIONS(8362),
    [anon_sym_BANG_EQ] = ACTIONS(8358),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8358),
    [anon_sym_LT_EQ_GT] = ACTIONS(8358),
    [anon_sym_EQ_TILDE] = ACTIONS(8358),
    [anon_sym_BANG_TILDE] = ACTIONS(8358),
    [anon_sym_LT_EQ] = ACTIONS(8350),
    [anon_sym_GT] = ACTIONS(8350),
    [anon_sym_GT_EQ] = ACTIONS(8364),
    [anon_sym_CARET] = ACTIONS(8366),
    [anon_sym_PLUS] = ACTIONS(8368),
    [anon_sym_SLASH] = ACTIONS(8346),
    [anon_sym_PERCENT] = ACTIONS(8346),
    [sym_comment] = ACTIONS(110),
  },
  [9202] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(8340),
    [sym__binary_star] = ACTIONS(8342),
    [anon_sym_RBRACE] = ACTIONS(4284),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(8344),
    [anon_sym_STAR_STAR] = ACTIONS(8346),
    [anon_sym_AMP] = ACTIONS(8348),
    [anon_sym_LT] = ACTIONS(8350),
    [anon_sym_EQ_GT] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(8352),
    [anon_sym_DOT_DOT] = ACTIONS(8354),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8356),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(8358),
    [anon_sym_AMP_AMP] = ACTIONS(8358),
    [anon_sym_LT_LT] = ACTIONS(8360),
    [anon_sym_GT_GT] = ACTIONS(8360),
    [anon_sym_EQ_EQ] = ACTIONS(8362),
    [anon_sym_BANG_EQ] = ACTIONS(8358),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8358),
    [anon_sym_LT_EQ_GT] = ACTIONS(8358),
    [anon_sym_EQ_TILDE] = ACTIONS(8358),
    [anon_sym_BANG_TILDE] = ACTIONS(8358),
    [anon_sym_LT_EQ] = ACTIONS(8350),
    [anon_sym_GT] = ACTIONS(8350),
    [anon_sym_GT_EQ] = ACTIONS(8364),
    [anon_sym_CARET] = ACTIONS(8366),
    [anon_sym_PLUS] = ACTIONS(8368),
    [anon_sym_SLASH] = ACTIONS(8346),
    [anon_sym_PERCENT] = ACTIONS(8346),
    [sym_comment] = ACTIONS(110),
  },
  [9203] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(11756),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2917),
    [sym_call] = STATE(2917),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(2919),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2920),
    [sym__variable] = STATE(2917),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4264),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(8320),
    [anon_sym_yield] = ACTIONS(8322),
    [anon_sym_break] = ACTIONS(8324),
    [anon_sym_next] = ACTIONS(8326),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8328),
    [anon_sym_defined_QMARK] = ACTIONS(4274),
    [anon_sym_not] = ACTIONS(8330),
    [anon_sym_BANG] = ACTIONS(4280),
    [anon_sym_TILDE] = ACTIONS(4280),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9204] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(5960),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2917),
    [sym_call] = STATE(2917),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(6127),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(2919),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2920),
    [sym__variable] = STATE(2917),
    [sym_reserved_identifier] = STATE(5962),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(5963),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(11757),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(8332),
    [sym__splat_star] = ACTIONS(8334),
    [sym__unary_minus] = ACTIONS(4264),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(14658),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(4266),
    [anon_sym_yield] = ACTIONS(4268),
    [anon_sym_break] = ACTIONS(4270),
    [anon_sym_next] = ACTIONS(4272),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(8328),
    [anon_sym_defined_QMARK] = ACTIONS(4274),
    [anon_sym_not] = ACTIONS(4276),
    [anon_sym_BANG] = ACTIONS(4280),
    [anon_sym_TILDE] = ACTIONS(4280),
    [sym_constant] = ACTIONS(8336),
    [sym_identifier] = ACTIONS(8336),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9205] = {
    [sym_heredoc_end] = STATE(3004),
    [aux_sym_argument_list_repeat2] = STATE(6130),
    [sym__simple_heredoc_body] = ACTIONS(4410),
    [sym__heredoc_body_beginning] = ACTIONS(4412),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_RBRACE] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(14660),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_STAR_STAR] = ACTIONS(5472),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_EQ_GT] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5472),
    [anon_sym_AMP_AMP] = ACTIONS(5472),
    [anon_sym_LT_LT] = ACTIONS(5472),
    [anon_sym_GT_GT] = ACTIONS(5472),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5472),
    [anon_sym_PLUS] = ACTIONS(5472),
    [anon_sym_SLASH] = ACTIONS(5472),
    [anon_sym_PERCENT] = ACTIONS(5472),
    [sym_comment] = ACTIONS(110),
  },
  [9206] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(11759),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2917),
    [sym_call] = STATE(2917),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(2919),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2920),
    [sym__variable] = STATE(2917),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4264),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(8320),
    [anon_sym_yield] = ACTIONS(8322),
    [anon_sym_break] = ACTIONS(8324),
    [anon_sym_next] = ACTIONS(8326),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8328),
    [anon_sym_defined_QMARK] = ACTIONS(4274),
    [anon_sym_not] = ACTIONS(8330),
    [anon_sym_BANG] = ACTIONS(4280),
    [anon_sym_TILDE] = ACTIONS(4280),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9207] = {
    [sym__simple_heredoc_body] = ACTIONS(8568),
    [sym__heredoc_body_beginning] = ACTIONS(8568),
    [sym__element_reference_left_bracket] = ACTIONS(8568),
    [sym__scope_double_colon] = ACTIONS(8568),
    [sym__binary_minus] = ACTIONS(12080),
    [sym__binary_star] = ACTIONS(12082),
    [anon_sym_RBRACE] = ACTIONS(8568),
    [anon_sym_DOT] = ACTIONS(9468),
    [anon_sym_COMMA] = ACTIONS(8568),
    [anon_sym_PIPE] = ACTIONS(12084),
    [anon_sym_STAR_STAR] = ACTIONS(12086),
    [anon_sym_AMP] = ACTIONS(12088),
    [anon_sym_LT] = ACTIONS(12090),
    [anon_sym_AMP_DOT] = ACTIONS(8568),
    [anon_sym_QMARK] = ACTIONS(12092),
    [anon_sym_DOT_DOT] = ACTIONS(12094),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12096),
    [anon_sym_and] = ACTIONS(8568),
    [anon_sym_or] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE] = ACTIONS(12098),
    [anon_sym_AMP_AMP] = ACTIONS(12098),
    [anon_sym_LT_LT] = ACTIONS(12100),
    [anon_sym_GT_GT] = ACTIONS(12100),
    [anon_sym_EQ_EQ] = ACTIONS(12102),
    [anon_sym_BANG_EQ] = ACTIONS(12098),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12098),
    [anon_sym_LT_EQ_GT] = ACTIONS(12098),
    [anon_sym_EQ_TILDE] = ACTIONS(12098),
    [anon_sym_BANG_TILDE] = ACTIONS(12098),
    [anon_sym_LT_EQ] = ACTIONS(12090),
    [anon_sym_GT] = ACTIONS(12090),
    [anon_sym_GT_EQ] = ACTIONS(12104),
    [anon_sym_CARET] = ACTIONS(12106),
    [anon_sym_PLUS] = ACTIONS(12108),
    [anon_sym_SLASH] = ACTIONS(12086),
    [anon_sym_PERCENT] = ACTIONS(12086),
    [sym_comment] = ACTIONS(110),
  },
  [9208] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__element_reference_left_bracket] = ACTIONS(7008),
    [sym__scope_double_colon] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(8342),
    [anon_sym_RBRACE] = ACTIONS(7008),
    [anon_sym_DOT] = ACTIONS(7010),
    [anon_sym_COMMA] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_STAR_STAR] = ACTIONS(8346),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_EQ_GT] = ACTIONS(7008),
    [anon_sym_AMP_DOT] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7008),
    [anon_sym_AMP_AMP] = ACTIONS(7008),
    [anon_sym_LT_LT] = ACTIONS(7008),
    [anon_sym_GT_GT] = ACTIONS(7008),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7008),
    [anon_sym_PLUS] = ACTIONS(7008),
    [anon_sym_SLASH] = ACTIONS(8346),
    [anon_sym_PERCENT] = ACTIONS(8346),
    [sym_comment] = ACTIONS(110),
  },
  [9209] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__element_reference_left_bracket] = ACTIONS(7012),
    [sym__scope_double_colon] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_RBRACE] = ACTIONS(7012),
    [anon_sym_DOT] = ACTIONS(7014),
    [anon_sym_COMMA] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_STAR_STAR] = ACTIONS(8346),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_EQ_GT] = ACTIONS(7012),
    [anon_sym_AMP_DOT] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7012),
    [anon_sym_AMP_AMP] = ACTIONS(7012),
    [anon_sym_LT_LT] = ACTIONS(7012),
    [anon_sym_GT_GT] = ACTIONS(7012),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7012),
    [anon_sym_PLUS] = ACTIONS(7012),
    [anon_sym_SLASH] = ACTIONS(7012),
    [anon_sym_PERCENT] = ACTIONS(7012),
    [sym_comment] = ACTIONS(110),
  },
  [9210] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(8340),
    [sym__binary_star] = ACTIONS(8342),
    [anon_sym_RBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(8346),
    [anon_sym_AMP] = ACTIONS(8348),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(8360),
    [anon_sym_GT_GT] = ACTIONS(8360),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(8368),
    [anon_sym_SLASH] = ACTIONS(8346),
    [anon_sym_PERCENT] = ACTIONS(8346),
    [sym_comment] = ACTIONS(110),
  },
  [9211] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_RBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(8346),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7016),
    [anon_sym_PERCENT] = ACTIONS(7016),
    [sym_comment] = ACTIONS(110),
  },
  [9212] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(8340),
    [sym__binary_star] = ACTIONS(8342),
    [anon_sym_RBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(8346),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(8360),
    [anon_sym_GT_GT] = ACTIONS(8360),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(8368),
    [anon_sym_SLASH] = ACTIONS(8346),
    [anon_sym_PERCENT] = ACTIONS(8346),
    [sym_comment] = ACTIONS(110),
  },
  [9213] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(8340),
    [sym__binary_star] = ACTIONS(8342),
    [anon_sym_RBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(8344),
    [anon_sym_STAR_STAR] = ACTIONS(8346),
    [anon_sym_AMP] = ACTIONS(8348),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(8360),
    [anon_sym_GT_GT] = ACTIONS(8360),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(8366),
    [anon_sym_PLUS] = ACTIONS(8368),
    [anon_sym_SLASH] = ACTIONS(8346),
    [anon_sym_PERCENT] = ACTIONS(8346),
    [sym_comment] = ACTIONS(110),
  },
  [9214] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(14662),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [9215] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__element_reference_left_bracket] = ACTIONS(7108),
    [sym__scope_double_colon] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(8340),
    [sym__binary_star] = ACTIONS(8342),
    [anon_sym_RBRACE] = ACTIONS(7108),
    [anon_sym_DOT] = ACTIONS(9472),
    [anon_sym_COMMA] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(8344),
    [anon_sym_STAR_STAR] = ACTIONS(8346),
    [anon_sym_AMP] = ACTIONS(8348),
    [anon_sym_LT] = ACTIONS(8350),
    [anon_sym_EQ_GT] = ACTIONS(7108),
    [anon_sym_AMP_DOT] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(8354),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8356),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(8358),
    [anon_sym_AMP_AMP] = ACTIONS(8358),
    [anon_sym_LT_LT] = ACTIONS(8360),
    [anon_sym_GT_GT] = ACTIONS(8360),
    [anon_sym_EQ_EQ] = ACTIONS(8362),
    [anon_sym_BANG_EQ] = ACTIONS(8358),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8358),
    [anon_sym_LT_EQ_GT] = ACTIONS(8358),
    [anon_sym_EQ_TILDE] = ACTIONS(8358),
    [anon_sym_BANG_TILDE] = ACTIONS(8358),
    [anon_sym_LT_EQ] = ACTIONS(8350),
    [anon_sym_GT] = ACTIONS(8350),
    [anon_sym_GT_EQ] = ACTIONS(8364),
    [anon_sym_CARET] = ACTIONS(8366),
    [anon_sym_PLUS] = ACTIONS(8368),
    [anon_sym_SLASH] = ACTIONS(8346),
    [anon_sym_PERCENT] = ACTIONS(8346),
    [sym_comment] = ACTIONS(110),
  },
  [9216] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(8340),
    [sym__binary_star] = ACTIONS(8342),
    [anon_sym_RBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(8344),
    [anon_sym_STAR_STAR] = ACTIONS(8346),
    [anon_sym_AMP] = ACTIONS(8348),
    [anon_sym_LT] = ACTIONS(8350),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(8352),
    [anon_sym_DOT_DOT] = ACTIONS(8354),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8356),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(8358),
    [anon_sym_AMP_AMP] = ACTIONS(8358),
    [anon_sym_LT_LT] = ACTIONS(8360),
    [anon_sym_GT_GT] = ACTIONS(8360),
    [anon_sym_EQ_EQ] = ACTIONS(8362),
    [anon_sym_BANG_EQ] = ACTIONS(8358),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8358),
    [anon_sym_LT_EQ_GT] = ACTIONS(8358),
    [anon_sym_EQ_TILDE] = ACTIONS(8358),
    [anon_sym_BANG_TILDE] = ACTIONS(8358),
    [anon_sym_LT_EQ] = ACTIONS(8350),
    [anon_sym_GT] = ACTIONS(8350),
    [anon_sym_GT_EQ] = ACTIONS(8364),
    [anon_sym_CARET] = ACTIONS(8366),
    [anon_sym_PLUS] = ACTIONS(8368),
    [anon_sym_SLASH] = ACTIONS(8346),
    [anon_sym_PERCENT] = ACTIONS(8346),
    [sym_comment] = ACTIONS(110),
  },
  [9217] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(8340),
    [sym__binary_star] = ACTIONS(8342),
    [anon_sym_RBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(8344),
    [anon_sym_STAR_STAR] = ACTIONS(8346),
    [anon_sym_AMP] = ACTIONS(8348),
    [anon_sym_LT] = ACTIONS(8350),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(8360),
    [anon_sym_GT_GT] = ACTIONS(8360),
    [anon_sym_EQ_EQ] = ACTIONS(8362),
    [anon_sym_BANG_EQ] = ACTIONS(8358),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8358),
    [anon_sym_LT_EQ_GT] = ACTIONS(8358),
    [anon_sym_EQ_TILDE] = ACTIONS(8358),
    [anon_sym_BANG_TILDE] = ACTIONS(8358),
    [anon_sym_LT_EQ] = ACTIONS(8350),
    [anon_sym_GT] = ACTIONS(8350),
    [anon_sym_GT_EQ] = ACTIONS(8364),
    [anon_sym_CARET] = ACTIONS(8366),
    [anon_sym_PLUS] = ACTIONS(8368),
    [anon_sym_SLASH] = ACTIONS(8346),
    [anon_sym_PERCENT] = ACTIONS(8346),
    [sym_comment] = ACTIONS(110),
  },
  [9218] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(8340),
    [sym__binary_star] = ACTIONS(8342),
    [anon_sym_RBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(8346),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(8368),
    [anon_sym_SLASH] = ACTIONS(8346),
    [anon_sym_PERCENT] = ACTIONS(8346),
    [sym_comment] = ACTIONS(110),
  },
  [9219] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(8342),
    [anon_sym_RBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(8346),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(8346),
    [anon_sym_PERCENT] = ACTIONS(8346),
    [sym_comment] = ACTIONS(110),
  },
  [9220] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(8498),
    [sym__binary_star] = ACTIONS(8500),
    [anon_sym_LBRACE] = ACTIONS(5298),
    [anon_sym_RBRACE] = ACTIONS(5298),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(8502),
    [anon_sym_STAR_STAR] = ACTIONS(8504),
    [anon_sym_AMP] = ACTIONS(8506),
    [anon_sym_EQ] = ACTIONS(5304),
    [anon_sym_LT] = ACTIONS(8508),
    [anon_sym_do] = ACTIONS(5298),
    [anon_sym_EQ_GT] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_PLUS_EQ] = ACTIONS(5298),
    [anon_sym_DASH_EQ] = ACTIONS(5298),
    [anon_sym_STAR_EQ] = ACTIONS(5298),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5298),
    [anon_sym_SLASH_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5298),
    [anon_sym_AMP_EQ] = ACTIONS(5298),
    [anon_sym_PERCENT_EQ] = ACTIONS(5298),
    [anon_sym_GT_GT_EQ] = ACTIONS(5298),
    [anon_sym_LT_LT_EQ] = ACTIONS(5298),
    [anon_sym_CARET_EQ] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(8510),
    [anon_sym_DOT_DOT] = ACTIONS(8512),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8514),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(8516),
    [anon_sym_AMP_AMP] = ACTIONS(8516),
    [anon_sym_LT_LT] = ACTIONS(8518),
    [anon_sym_GT_GT] = ACTIONS(8518),
    [anon_sym_EQ_EQ] = ACTIONS(8516),
    [anon_sym_BANG_EQ] = ACTIONS(8520),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8520),
    [anon_sym_LT_EQ_GT] = ACTIONS(8520),
    [anon_sym_EQ_TILDE] = ACTIONS(8520),
    [anon_sym_BANG_TILDE] = ACTIONS(8520),
    [anon_sym_LT_EQ] = ACTIONS(8508),
    [anon_sym_GT] = ACTIONS(8508),
    [anon_sym_GT_EQ] = ACTIONS(8522),
    [anon_sym_CARET] = ACTIONS(8502),
    [anon_sym_PLUS] = ACTIONS(8524),
    [anon_sym_SLASH] = ACTIONS(8504),
    [anon_sym_PERCENT] = ACTIONS(8504),
    [sym_comment] = ACTIONS(256),
  },
  [9221] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(8498),
    [sym__binary_star] = ACTIONS(8500),
    [anon_sym_LBRACE] = ACTIONS(5338),
    [anon_sym_RBRACE] = ACTIONS(5338),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(8502),
    [anon_sym_STAR_STAR] = ACTIONS(8504),
    [anon_sym_AMP] = ACTIONS(8506),
    [anon_sym_EQ] = ACTIONS(5340),
    [anon_sym_LT] = ACTIONS(8508),
    [anon_sym_do] = ACTIONS(5338),
    [anon_sym_EQ_GT] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_PLUS_EQ] = ACTIONS(5338),
    [anon_sym_DASH_EQ] = ACTIONS(5338),
    [anon_sym_STAR_EQ] = ACTIONS(5338),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5338),
    [anon_sym_SLASH_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5338),
    [anon_sym_AMP_EQ] = ACTIONS(5338),
    [anon_sym_PERCENT_EQ] = ACTIONS(5338),
    [anon_sym_GT_GT_EQ] = ACTIONS(5338),
    [anon_sym_LT_LT_EQ] = ACTIONS(5338),
    [anon_sym_CARET_EQ] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(8510),
    [anon_sym_DOT_DOT] = ACTIONS(8512),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8514),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(8516),
    [anon_sym_AMP_AMP] = ACTIONS(8516),
    [anon_sym_LT_LT] = ACTIONS(8518),
    [anon_sym_GT_GT] = ACTIONS(8518),
    [anon_sym_EQ_EQ] = ACTIONS(8516),
    [anon_sym_BANG_EQ] = ACTIONS(8520),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8520),
    [anon_sym_LT_EQ_GT] = ACTIONS(8520),
    [anon_sym_EQ_TILDE] = ACTIONS(8520),
    [anon_sym_BANG_TILDE] = ACTIONS(8520),
    [anon_sym_LT_EQ] = ACTIONS(8508),
    [anon_sym_GT] = ACTIONS(8508),
    [anon_sym_GT_EQ] = ACTIONS(8522),
    [anon_sym_CARET] = ACTIONS(8502),
    [anon_sym_PLUS] = ACTIONS(8524),
    [anon_sym_SLASH] = ACTIONS(8504),
    [anon_sym_PERCENT] = ACTIONS(8504),
    [sym_comment] = ACTIONS(256),
  },
  [9222] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(8498),
    [sym__binary_star] = ACTIONS(8500),
    [anon_sym_LBRACE] = ACTIONS(4284),
    [anon_sym_RBRACE] = ACTIONS(4284),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(8502),
    [anon_sym_STAR_STAR] = ACTIONS(8504),
    [anon_sym_AMP] = ACTIONS(8506),
    [anon_sym_EQ] = ACTIONS(5432),
    [anon_sym_LT] = ACTIONS(8508),
    [anon_sym_do] = ACTIONS(4284),
    [anon_sym_EQ_GT] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_PLUS_EQ] = ACTIONS(4284),
    [anon_sym_DASH_EQ] = ACTIONS(4284),
    [anon_sym_STAR_EQ] = ACTIONS(4284),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(4284),
    [anon_sym_SLASH_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(4284),
    [anon_sym_AMP_EQ] = ACTIONS(4284),
    [anon_sym_PERCENT_EQ] = ACTIONS(4284),
    [anon_sym_GT_GT_EQ] = ACTIONS(4284),
    [anon_sym_LT_LT_EQ] = ACTIONS(4284),
    [anon_sym_CARET_EQ] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(8510),
    [anon_sym_DOT_DOT] = ACTIONS(8512),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8514),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(8516),
    [anon_sym_AMP_AMP] = ACTIONS(8516),
    [anon_sym_LT_LT] = ACTIONS(8518),
    [anon_sym_GT_GT] = ACTIONS(8518),
    [anon_sym_EQ_EQ] = ACTIONS(8516),
    [anon_sym_BANG_EQ] = ACTIONS(8520),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8520),
    [anon_sym_LT_EQ_GT] = ACTIONS(8520),
    [anon_sym_EQ_TILDE] = ACTIONS(8520),
    [anon_sym_BANG_TILDE] = ACTIONS(8520),
    [anon_sym_LT_EQ] = ACTIONS(8508),
    [anon_sym_GT] = ACTIONS(8508),
    [anon_sym_GT_EQ] = ACTIONS(8522),
    [anon_sym_CARET] = ACTIONS(8502),
    [anon_sym_PLUS] = ACTIONS(8524),
    [anon_sym_SLASH] = ACTIONS(8504),
    [anon_sym_PERCENT] = ACTIONS(8504),
    [sym_comment] = ACTIONS(256),
  },
  [9223] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(11761),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2957),
    [sym_call] = STATE(2957),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(2963),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2964),
    [sym__variable] = STATE(2957),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(4332),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(8482),
    [anon_sym_yield] = ACTIONS(8484),
    [anon_sym_break] = ACTIONS(8486),
    [anon_sym_next] = ACTIONS(8488),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(8490),
    [anon_sym_defined_QMARK] = ACTIONS(4346),
    [anon_sym_not] = ACTIONS(8492),
    [anon_sym_BANG] = ACTIONS(4352),
    [anon_sym_TILDE] = ACTIONS(4352),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [9224] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(5983),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2957),
    [sym_call] = STATE(2957),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(6226),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(2963),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2964),
    [sym__variable] = STATE(2957),
    [sym_reserved_identifier] = STATE(5985),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(5986),
    [sym_subshell] = STATE(1062),
    [sym_heredoc_end] = STATE(11762),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__block_ampersand] = ACTIONS(8370),
    [sym__splat_star] = ACTIONS(8372),
    [sym__unary_minus] = ACTIONS(4332),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(14664),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(4336),
    [anon_sym_yield] = ACTIONS(4338),
    [anon_sym_break] = ACTIONS(4340),
    [anon_sym_next] = ACTIONS(4342),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(8490),
    [anon_sym_defined_QMARK] = ACTIONS(4346),
    [anon_sym_not] = ACTIONS(4348),
    [anon_sym_BANG] = ACTIONS(4352),
    [anon_sym_TILDE] = ACTIONS(4352),
    [sym_constant] = ACTIONS(8374),
    [sym_identifier] = ACTIONS(8374),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [9225] = {
    [sym_heredoc_end] = STATE(3153),
    [aux_sym_argument_list_repeat2] = STATE(6229),
    [sym__simple_heredoc_body] = ACTIONS(4552),
    [sym__heredoc_body_beginning] = ACTIONS(4554),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_LBRACE] = ACTIONS(5472),
    [anon_sym_RBRACE] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(14666),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_STAR_STAR] = ACTIONS(5474),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_EQ] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_do] = ACTIONS(5472),
    [anon_sym_EQ_GT] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_PLUS_EQ] = ACTIONS(5472),
    [anon_sym_DASH_EQ] = ACTIONS(5472),
    [anon_sym_STAR_EQ] = ACTIONS(5472),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5472),
    [anon_sym_SLASH_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5472),
    [anon_sym_AMP_EQ] = ACTIONS(5472),
    [anon_sym_PERCENT_EQ] = ACTIONS(5472),
    [anon_sym_GT_GT_EQ] = ACTIONS(5472),
    [anon_sym_LT_LT_EQ] = ACTIONS(5472),
    [anon_sym_CARET_EQ] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5474),
    [anon_sym_AMP_AMP] = ACTIONS(5474),
    [anon_sym_LT_LT] = ACTIONS(5474),
    [anon_sym_GT_GT] = ACTIONS(5474),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5474),
    [anon_sym_PLUS] = ACTIONS(5474),
    [anon_sym_SLASH] = ACTIONS(5474),
    [anon_sym_PERCENT] = ACTIONS(5474),
    [sym_comment] = ACTIONS(256),
  },
  [9226] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(11764),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2957),
    [sym_call] = STATE(2957),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(2963),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2964),
    [sym__variable] = STATE(2957),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(4332),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(8482),
    [anon_sym_yield] = ACTIONS(8484),
    [anon_sym_break] = ACTIONS(8486),
    [anon_sym_next] = ACTIONS(8488),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(8490),
    [anon_sym_defined_QMARK] = ACTIONS(4346),
    [anon_sym_not] = ACTIONS(8492),
    [anon_sym_BANG] = ACTIONS(4352),
    [anon_sym_TILDE] = ACTIONS(4352),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [9227] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(2916),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2917),
    [sym_call] = STATE(2917),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(9349),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(2919),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2920),
    [sym__variable] = STATE(2917),
    [sym_reserved_identifier] = STATE(2921),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(2922),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(4260),
    [sym__splat_star] = ACTIONS(4262),
    [sym__unary_minus] = ACTIONS(4264),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(12128),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(4266),
    [anon_sym_yield] = ACTIONS(4268),
    [anon_sym_break] = ACTIONS(4270),
    [anon_sym_next] = ACTIONS(4272),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(8328),
    [anon_sym_defined_QMARK] = ACTIONS(4274),
    [anon_sym_not] = ACTIONS(4276),
    [anon_sym_BANG] = ACTIONS(4280),
    [anon_sym_TILDE] = ACTIONS(4280),
    [sym_constant] = ACTIONS(4282),
    [sym_identifier] = ACTIONS(4282),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9228] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(2916),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2917),
    [sym_call] = STATE(2917),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(9349),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(2919),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2920),
    [sym__variable] = STATE(2917),
    [sym_reserved_identifier] = STATE(2921),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(2922),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(11765),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(4260),
    [sym__splat_star] = ACTIONS(4262),
    [sym__unary_minus] = ACTIONS(4264),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(12128),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(4266),
    [anon_sym_yield] = ACTIONS(4268),
    [anon_sym_break] = ACTIONS(4270),
    [anon_sym_next] = ACTIONS(4272),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(8328),
    [anon_sym_defined_QMARK] = ACTIONS(4274),
    [anon_sym_not] = ACTIONS(4276),
    [anon_sym_BANG] = ACTIONS(4280),
    [anon_sym_TILDE] = ACTIONS(4280),
    [sym_constant] = ACTIONS(4282),
    [sym_identifier] = ACTIONS(4282),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9229] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__element_reference_left_bracket] = ACTIONS(6346),
    [sym__scope_double_colon] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(8340),
    [sym__binary_star] = ACTIONS(8342),
    [anon_sym_RBRACE] = ACTIONS(6346),
    [anon_sym_DOT] = ACTIONS(7328),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(8344),
    [anon_sym_STAR_STAR] = ACTIONS(8346),
    [anon_sym_AMP] = ACTIONS(8348),
    [anon_sym_LT] = ACTIONS(8350),
    [anon_sym_EQ_GT] = ACTIONS(6346),
    [anon_sym_AMP_DOT] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(8352),
    [anon_sym_DOT_DOT] = ACTIONS(8354),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8356),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(8358),
    [anon_sym_AMP_AMP] = ACTIONS(8358),
    [anon_sym_LT_LT] = ACTIONS(8360),
    [anon_sym_GT_GT] = ACTIONS(8360),
    [anon_sym_EQ_EQ] = ACTIONS(8362),
    [anon_sym_BANG_EQ] = ACTIONS(8358),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8358),
    [anon_sym_LT_EQ_GT] = ACTIONS(8358),
    [anon_sym_EQ_TILDE] = ACTIONS(8358),
    [anon_sym_BANG_TILDE] = ACTIONS(8358),
    [anon_sym_LT_EQ] = ACTIONS(8350),
    [anon_sym_GT] = ACTIONS(8350),
    [anon_sym_GT_EQ] = ACTIONS(8364),
    [anon_sym_CARET] = ACTIONS(8366),
    [anon_sym_PLUS] = ACTIONS(8368),
    [anon_sym_SLASH] = ACTIONS(8346),
    [anon_sym_PERCENT] = ACTIONS(8346),
    [sym_comment] = ACTIONS(110),
  },
  [9230] = {
    [aux_sym_exceptions_repeat1] = STATE(11767),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__element_reference_left_bracket] = ACTIONS(7330),
    [sym__scope_double_colon] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_RBRACE] = ACTIONS(7330),
    [anon_sym_DOT] = ACTIONS(7332),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_EQ_GT] = ACTIONS(7330),
    [anon_sym_AMP_DOT] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [9231] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__element_reference_left_bracket] = ACTIONS(7344),
    [sym__scope_double_colon] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(8340),
    [sym__binary_star] = ACTIONS(8342),
    [anon_sym_RBRACE] = ACTIONS(7344),
    [anon_sym_DOT] = ACTIONS(9504),
    [anon_sym_COMMA] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(8344),
    [anon_sym_STAR_STAR] = ACTIONS(8346),
    [anon_sym_AMP] = ACTIONS(8348),
    [anon_sym_LT] = ACTIONS(8350),
    [anon_sym_EQ_GT] = ACTIONS(7344),
    [anon_sym_AMP_DOT] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(8352),
    [anon_sym_DOT_DOT] = ACTIONS(8354),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8356),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(8358),
    [anon_sym_AMP_AMP] = ACTIONS(8358),
    [anon_sym_LT_LT] = ACTIONS(8360),
    [anon_sym_GT_GT] = ACTIONS(8360),
    [anon_sym_EQ_EQ] = ACTIONS(8362),
    [anon_sym_BANG_EQ] = ACTIONS(8358),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8358),
    [anon_sym_LT_EQ_GT] = ACTIONS(8358),
    [anon_sym_EQ_TILDE] = ACTIONS(8358),
    [anon_sym_BANG_TILDE] = ACTIONS(8358),
    [anon_sym_LT_EQ] = ACTIONS(8350),
    [anon_sym_GT] = ACTIONS(8350),
    [anon_sym_GT_EQ] = ACTIONS(8364),
    [anon_sym_CARET] = ACTIONS(8366),
    [anon_sym_PLUS] = ACTIONS(8368),
    [anon_sym_SLASH] = ACTIONS(8346),
    [anon_sym_PERCENT] = ACTIONS(8346),
    [sym_comment] = ACTIONS(110),
  },
  [9232] = {
    [sym__simple_heredoc_body] = ACTIONS(8662),
    [sym__heredoc_body_beginning] = ACTIONS(8662),
    [sym__element_reference_left_bracket] = ACTIONS(8662),
    [sym__scope_double_colon] = ACTIONS(8662),
    [sym__binary_minus] = ACTIONS(12080),
    [sym__binary_star] = ACTIONS(12082),
    [anon_sym_RBRACE] = ACTIONS(8662),
    [anon_sym_DOT] = ACTIONS(9506),
    [anon_sym_COMMA] = ACTIONS(8662),
    [anon_sym_PIPE] = ACTIONS(12084),
    [anon_sym_STAR_STAR] = ACTIONS(12086),
    [anon_sym_AMP] = ACTIONS(12088),
    [anon_sym_LT] = ACTIONS(12090),
    [anon_sym_AMP_DOT] = ACTIONS(8662),
    [anon_sym_QMARK] = ACTIONS(12092),
    [anon_sym_DOT_DOT] = ACTIONS(12094),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12096),
    [anon_sym_and] = ACTIONS(8662),
    [anon_sym_or] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE] = ACTIONS(12098),
    [anon_sym_AMP_AMP] = ACTIONS(12098),
    [anon_sym_LT_LT] = ACTIONS(12100),
    [anon_sym_GT_GT] = ACTIONS(12100),
    [anon_sym_EQ_EQ] = ACTIONS(12102),
    [anon_sym_BANG_EQ] = ACTIONS(12098),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12098),
    [anon_sym_LT_EQ_GT] = ACTIONS(12098),
    [anon_sym_EQ_TILDE] = ACTIONS(12098),
    [anon_sym_BANG_TILDE] = ACTIONS(12098),
    [anon_sym_LT_EQ] = ACTIONS(12090),
    [anon_sym_GT] = ACTIONS(12090),
    [anon_sym_GT_EQ] = ACTIONS(12104),
    [anon_sym_CARET] = ACTIONS(12106),
    [anon_sym_PLUS] = ACTIONS(12108),
    [anon_sym_SLASH] = ACTIONS(12086),
    [anon_sym_PERCENT] = ACTIONS(12086),
    [sym_comment] = ACTIONS(110),
  },
  [9233] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(11768),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(977),
    [sym_call] = STATE(977),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(978),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(979),
    [sym__variable] = STATE(977),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(1568),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(1578),
    [anon_sym_yield] = ACTIONS(1580),
    [anon_sym_break] = ACTIONS(1582),
    [anon_sym_next] = ACTIONS(1584),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(1604),
    [anon_sym_defined_QMARK] = ACTIONS(1606),
    [anon_sym_not] = ACTIONS(1608),
    [anon_sym_BANG] = ACTIONS(1610),
    [anon_sym_TILDE] = ACTIONS(1610),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9234] = {
    [sym__simple_heredoc_body] = ACTIONS(11316),
    [sym__heredoc_body_beginning] = ACTIONS(11316),
    [sym__element_reference_left_bracket] = ACTIONS(11316),
    [sym__scope_double_colon] = ACTIONS(11316),
    [sym__binary_minus] = ACTIONS(11316),
    [sym__binary_star] = ACTIONS(11316),
    [anon_sym_LBRACE] = ACTIONS(11316),
    [anon_sym_RBRACE] = ACTIONS(11316),
    [anon_sym_RPAREN] = ACTIONS(11316),
    [anon_sym_DOT] = ACTIONS(11318),
    [anon_sym_COMMA] = ACTIONS(11316),
    [anon_sym_PIPE] = ACTIONS(11318),
    [anon_sym_SEMI] = ACTIONS(11316),
    [anon_sym_STAR_STAR] = ACTIONS(11318),
    [anon_sym_AMP] = ACTIONS(11318),
    [anon_sym_EQ] = ACTIONS(11318),
    [anon_sym_LT] = ACTIONS(11318),
    [anon_sym_in] = ACTIONS(11316),
    [anon_sym_do] = ACTIONS(11316),
    [anon_sym_RBRACK] = ACTIONS(11316),
    [anon_sym_AMP_DOT] = ACTIONS(11316),
    [anon_sym_PLUS_EQ] = ACTIONS(11316),
    [anon_sym_DASH_EQ] = ACTIONS(11316),
    [anon_sym_STAR_EQ] = ACTIONS(11316),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(11316),
    [anon_sym_SLASH_EQ] = ACTIONS(11316),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(11316),
    [anon_sym_PIPE_EQ] = ACTIONS(11316),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(11316),
    [anon_sym_AMP_EQ] = ACTIONS(11316),
    [anon_sym_PERCENT_EQ] = ACTIONS(11316),
    [anon_sym_GT_GT_EQ] = ACTIONS(11316),
    [anon_sym_LT_LT_EQ] = ACTIONS(11316),
    [anon_sym_CARET_EQ] = ACTIONS(11316),
    [anon_sym_QMARK] = ACTIONS(11316),
    [anon_sym_COLON] = ACTIONS(11316),
    [anon_sym_DOT_DOT] = ACTIONS(11318),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11316),
    [anon_sym_and] = ACTIONS(11316),
    [anon_sym_or] = ACTIONS(11316),
    [anon_sym_PIPE_PIPE] = ACTIONS(11318),
    [anon_sym_AMP_AMP] = ACTIONS(11318),
    [anon_sym_LT_LT] = ACTIONS(11318),
    [anon_sym_GT_GT] = ACTIONS(11318),
    [anon_sym_EQ_EQ] = ACTIONS(11318),
    [anon_sym_BANG_EQ] = ACTIONS(11316),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11316),
    [anon_sym_LT_EQ_GT] = ACTIONS(11316),
    [anon_sym_EQ_TILDE] = ACTIONS(11316),
    [anon_sym_BANG_TILDE] = ACTIONS(11316),
    [anon_sym_LT_EQ] = ACTIONS(11318),
    [anon_sym_GT] = ACTIONS(11318),
    [anon_sym_GT_EQ] = ACTIONS(11316),
    [anon_sym_CARET] = ACTIONS(11318),
    [anon_sym_PLUS] = ACTIONS(11318),
    [anon_sym_SLASH] = ACTIONS(11318),
    [anon_sym_PERCENT] = ACTIONS(11318),
    [sym_comment] = ACTIONS(256),
  },
  [9235] = {
    [anon_sym_RBRACK] = ACTIONS(14668),
    [sym_comment] = ACTIONS(110),
  },
  [9236] = {
    [sym__simple_string] = ACTIONS(5370),
    [sym__simple_symbol] = ACTIONS(5370),
    [sym__simple_subshell] = ACTIONS(5370),
    [sym__simple_regex] = ACTIONS(5370),
    [sym__simple_word_list] = ACTIONS(5370),
    [sym__simple_heredoc_body] = ACTIONS(5370),
    [sym__string_beginning] = ACTIONS(5370),
    [sym__symbol_beginning] = ACTIONS(5370),
    [sym__subshell_beginning] = ACTIONS(5370),
    [sym__regex_beginning] = ACTIONS(5370),
    [sym__word_list_beginning] = ACTIONS(5370),
    [sym__heredoc_body_beginning] = ACTIONS(5370),
    [sym_heredoc_beginning] = ACTIONS(5370),
    [sym__element_reference_left_bracket] = ACTIONS(5370),
    [sym__block_ampersand] = ACTIONS(5370),
    [sym__splat_star] = ACTIONS(5370),
    [sym__argument_list_left_paren] = ACTIONS(5370),
    [sym__scope_double_colon] = ACTIONS(5370),
    [sym__unary_minus] = ACTIONS(5370),
    [sym__binary_minus] = ACTIONS(5370),
    [sym__binary_star] = ACTIONS(5370),
    [anon_sym_LBRACE] = ACTIONS(5370),
    [anon_sym_RBRACE] = ACTIONS(5370),
    [anon_sym_def] = ACTIONS(5372),
    [anon_sym_LPAREN] = ACTIONS(5370),
    [anon_sym_RPAREN] = ACTIONS(5370),
    [anon_sym_DOT] = ACTIONS(5372),
    [anon_sym_COLON_COLON] = ACTIONS(5370),
    [anon_sym_end] = ACTIONS(5372),
    [anon_sym_COMMA] = ACTIONS(5370),
    [anon_sym_PIPE] = ACTIONS(5372),
    [anon_sym_SEMI] = ACTIONS(5370),
    [anon_sym_STAR] = ACTIONS(5372),
    [anon_sym_STAR_STAR] = ACTIONS(5372),
    [anon_sym_AMP] = ACTIONS(5372),
    [anon_sym_EQ] = ACTIONS(5372),
    [anon_sym_class] = ACTIONS(5372),
    [anon_sym_LT] = ACTIONS(5372),
    [anon_sym_module] = ACTIONS(5372),
    [anon_sym_return] = ACTIONS(5372),
    [anon_sym_yield] = ACTIONS(5372),
    [anon_sym_break] = ACTIONS(5372),
    [anon_sym_next] = ACTIONS(5372),
    [anon_sym_redo] = ACTIONS(5372),
    [anon_sym_retry] = ACTIONS(5372),
    [anon_sym_if] = ACTIONS(5372),
    [anon_sym_unless] = ACTIONS(5372),
    [anon_sym_while] = ACTIONS(5372),
    [anon_sym_until] = ACTIONS(5372),
    [anon_sym_rescue] = ACTIONS(5372),
    [anon_sym_for] = ACTIONS(5372),
    [anon_sym_in] = ACTIONS(5372),
    [anon_sym_do] = ACTIONS(5372),
    [anon_sym_case] = ACTIONS(5372),
    [anon_sym_when] = ACTIONS(5372),
    [anon_sym_elsif] = ACTIONS(5372),
    [anon_sym_else] = ACTIONS(5372),
    [anon_sym_then] = ACTIONS(5372),
    [anon_sym_begin] = ACTIONS(5372),
    [anon_sym_ensure] = ACTIONS(5372),
    [anon_sym_RBRACK] = ACTIONS(5370),
    [anon_sym_AMP_DOT] = ACTIONS(5370),
    [anon_sym_PLUS_EQ] = ACTIONS(5370),
    [anon_sym_DASH_EQ] = ACTIONS(5370),
    [anon_sym_STAR_EQ] = ACTIONS(5370),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5370),
    [anon_sym_SLASH_EQ] = ACTIONS(5370),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5370),
    [anon_sym_PIPE_EQ] = ACTIONS(5370),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5370),
    [anon_sym_AMP_EQ] = ACTIONS(5370),
    [anon_sym_PERCENT_EQ] = ACTIONS(5370),
    [anon_sym_GT_GT_EQ] = ACTIONS(5370),
    [anon_sym_LT_LT_EQ] = ACTIONS(5370),
    [anon_sym_CARET_EQ] = ACTIONS(5370),
    [anon_sym_QMARK] = ACTIONS(5372),
    [anon_sym_COLON] = ACTIONS(5372),
    [anon_sym_DOT_DOT] = ACTIONS(5372),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5370),
    [anon_sym_and] = ACTIONS(5372),
    [anon_sym_or] = ACTIONS(5372),
    [anon_sym_PIPE_PIPE] = ACTIONS(5372),
    [anon_sym_AMP_AMP] = ACTIONS(5372),
    [anon_sym_LT_LT] = ACTIONS(5372),
    [anon_sym_GT_GT] = ACTIONS(5372),
    [anon_sym_EQ_EQ] = ACTIONS(5372),
    [anon_sym_BANG_EQ] = ACTIONS(5370),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5370),
    [anon_sym_LT_EQ_GT] = ACTIONS(5370),
    [anon_sym_EQ_TILDE] = ACTIONS(5370),
    [anon_sym_BANG_TILDE] = ACTIONS(5370),
    [anon_sym_LT_EQ] = ACTIONS(5372),
    [anon_sym_GT] = ACTIONS(5372),
    [anon_sym_GT_EQ] = ACTIONS(5370),
    [anon_sym_CARET] = ACTIONS(5372),
    [anon_sym_PLUS] = ACTIONS(5372),
    [anon_sym_SLASH] = ACTIONS(5372),
    [anon_sym_PERCENT] = ACTIONS(5372),
    [anon_sym_defined_QMARK] = ACTIONS(5370),
    [anon_sym_not] = ACTIONS(5372),
    [anon_sym_BANG] = ACTIONS(5372),
    [anon_sym_TILDE] = ACTIONS(5370),
    [sym_constant] = ACTIONS(11322),
    [sym_identifier] = ACTIONS(11322),
    [sym_instance_variable] = ACTIONS(5372),
    [sym_class_variable] = ACTIONS(5372),
    [sym_global_variable] = ACTIONS(5372),
    [anon_sym_alias] = ACTIONS(5372),
    [anon_sym_defined] = ACTIONS(5372),
    [anon_sym_false] = ACTIONS(5372),
    [anon_sym_nil] = ACTIONS(5372),
    [anon_sym_self] = ACTIONS(5372),
    [anon_sym_super] = ACTIONS(5372),
    [anon_sym_true] = ACTIONS(5372),
    [anon_sym_undef] = ACTIONS(5372),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(5372),
    [sym_float] = ACTIONS(11322),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5370),
    [anon_sym_TRUE] = ACTIONS(5372),
    [anon_sym_FALSE] = ACTIONS(5372),
    [anon_sym_NIL] = ACTIONS(5372),
    [sym_keyword__FILE__] = ACTIONS(5372),
    [sym_keyword__LINE__] = ACTIONS(5372),
    [sym_keyword__ENCODING__] = ACTIONS(5372),
    [sym__character_literal] = ACTIONS(5372),
    [anon_sym_LBRACK] = ACTIONS(5370),
    [anon_sym_DASH_GT] = ACTIONS(5370),
  },
  [9237] = {
    [sym_heredoc_end] = STATE(11771),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RPAREN] = ACTIONS(14670),
    [sym_comment] = ACTIONS(110),
  },
  [9238] = {
    [anon_sym_RPAREN] = ACTIONS(14670),
    [sym_comment] = ACTIONS(110),
  },
  [9239] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(14672),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [9240] = {
    [sym__statement] = STATE(11773),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [9241] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(14674),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [9242] = {
    [sym__statement] = STATE(11775),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [9243] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(14676),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [9244] = {
    [sym__statement] = STATE(11777),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [9245] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(14678),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [9246] = {
    [sym__statement] = STATE(11779),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [9247] = {
    [sym__string_middle] = ACTIONS(1220),
    [sym__string_end] = ACTIONS(14680),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [9248] = {
    [sym__statement] = STATE(11781),
    [sym_method] = STATE(80),
    [sym_singleton_method] = STATE(80),
    [sym_class] = STATE(80),
    [sym_singleton_class] = STATE(80),
    [sym_module] = STATE(80),
    [sym_return] = STATE(80),
    [sym_yield] = STATE(80),
    [sym_break] = STATE(80),
    [sym_next] = STATE(80),
    [sym_redo] = STATE(80),
    [sym_retry] = STATE(80),
    [sym_if_modifier] = STATE(118),
    [sym_unless_modifier] = STATE(118),
    [sym_while_modifier] = STATE(118),
    [sym_until_modifier] = STATE(118),
    [sym_rescue_modifier] = STATE(118),
    [sym_while] = STATE(80),
    [sym_until] = STATE(80),
    [sym_for] = STATE(80),
    [sym_case] = STATE(80),
    [sym_if] = STATE(80),
    [sym_unless] = STATE(80),
    [sym_begin] = STATE(80),
    [sym__arg] = STATE(119),
    [sym__primary] = STATE(120),
    [sym_parenthesized_statements] = STATE(80),
    [sym_element_reference] = STATE(121),
    [sym_scope_resolution] = STATE(122),
    [sym_call] = STATE(122),
    [sym_method_call] = STATE(121),
    [sym_assignment] = STATE(123),
    [sym_operator_assignment] = STATE(123),
    [sym_conditional] = STATE(123),
    [sym_range] = STATE(123),
    [sym_binary] = STATE(123),
    [sym_unary] = STATE(123),
    [sym_left_assignment_list] = STATE(124),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(125),
    [sym__variable] = STATE(122),
    [sym_undef] = STATE(118),
    [sym_alias] = STATE(118),
    [sym_symbol] = STATE(80),
    [sym_complex] = STATE(80),
    [sym_rational] = STATE(80),
    [sym_super] = STATE(105),
    [sym_true] = STATE(121),
    [sym_false] = STATE(121),
    [sym_self] = STATE(105),
    [sym_nil] = STATE(121),
    [sym_chained_string] = STATE(80),
    [sym_string] = STATE(126),
    [sym_subshell] = STATE(80),
    [sym_array] = STATE(80),
    [sym_hash] = STATE(80),
    [sym_regex] = STATE(80),
    [sym_lambda] = STATE(80),
    [sym_empty_statement] = STATE(118),
    [sym__simple_string] = ACTIONS(146),
    [sym__simple_symbol] = ACTIONS(148),
    [sym__simple_subshell] = ACTIONS(150),
    [sym__simple_regex] = ACTIONS(152),
    [sym__simple_word_list] = ACTIONS(154),
    [sym__string_beginning] = ACTIONS(156),
    [sym__symbol_beginning] = ACTIONS(158),
    [sym__subshell_beginning] = ACTIONS(160),
    [sym__regex_beginning] = ACTIONS(162),
    [sym__word_list_beginning] = ACTIONS(164),
    [sym_heredoc_beginning] = ACTIONS(166),
    [sym__unary_minus] = ACTIONS(168),
    [anon_sym_LBRACE] = ACTIONS(170),
    [anon_sym_def] = ACTIONS(172),
    [anon_sym_LPAREN] = ACTIONS(174),
    [anon_sym_COLON_COLON] = ACTIONS(176),
    [anon_sym_SEMI] = ACTIONS(178),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(180),
    [anon_sym_module] = ACTIONS(182),
    [anon_sym_return] = ACTIONS(184),
    [anon_sym_yield] = ACTIONS(186),
    [anon_sym_break] = ACTIONS(188),
    [anon_sym_next] = ACTIONS(190),
    [anon_sym_redo] = ACTIONS(192),
    [anon_sym_retry] = ACTIONS(194),
    [anon_sym_if] = ACTIONS(196),
    [anon_sym_unless] = ACTIONS(198),
    [anon_sym_while] = ACTIONS(200),
    [anon_sym_until] = ACTIONS(202),
    [anon_sym_for] = ACTIONS(204),
    [anon_sym_case] = ACTIONS(206),
    [anon_sym_begin] = ACTIONS(208),
    [anon_sym_PLUS] = ACTIONS(210),
    [anon_sym_defined_QMARK] = ACTIONS(212),
    [anon_sym_not] = ACTIONS(214),
    [anon_sym_BANG] = ACTIONS(216),
    [anon_sym_TILDE] = ACTIONS(216),
    [sym_constant] = ACTIONS(218),
    [sym_identifier] = ACTIONS(218),
    [sym_instance_variable] = ACTIONS(220),
    [sym_class_variable] = ACTIONS(220),
    [sym_global_variable] = ACTIONS(220),
    [anon_sym_alias] = ACTIONS(222),
    [anon_sym_false] = ACTIONS(224),
    [anon_sym_nil] = ACTIONS(226),
    [anon_sym_self] = ACTIONS(228),
    [anon_sym_super] = ACTIONS(230),
    [anon_sym_true] = ACTIONS(232),
    [anon_sym_undef] = ACTIONS(234),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(236),
    [sym_float] = ACTIONS(238),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(240),
    [anon_sym_TRUE] = ACTIONS(232),
    [anon_sym_FALSE] = ACTIONS(224),
    [anon_sym_NIL] = ACTIONS(226),
    [sym_keyword__FILE__] = ACTIONS(242),
    [sym_keyword__LINE__] = ACTIONS(242),
    [sym_keyword__ENCODING__] = ACTIONS(242),
    [sym__character_literal] = ACTIONS(244),
    [anon_sym_LBRACK] = ACTIONS(246),
    [anon_sym_DASH_GT] = ACTIONS(248),
  },
  [9249] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_LBRACE] = ACTIONS(1372),
    [anon_sym_RBRACE] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_STAR_STAR] = ACTIONS(12164),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_EQ] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_do] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_PLUS_EQ] = ACTIONS(1372),
    [anon_sym_DASH_EQ] = ACTIONS(1372),
    [anon_sym_STAR_EQ] = ACTIONS(1372),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1372),
    [anon_sym_SLASH_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1372),
    [anon_sym_AMP_EQ] = ACTIONS(1372),
    [anon_sym_PERCENT_EQ] = ACTIONS(1372),
    [anon_sym_GT_GT_EQ] = ACTIONS(1372),
    [anon_sym_LT_LT_EQ] = ACTIONS(1372),
    [anon_sym_CARET_EQ] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1374),
    [anon_sym_AMP_AMP] = ACTIONS(1374),
    [anon_sym_LT_LT] = ACTIONS(1374),
    [anon_sym_GT_GT] = ACTIONS(1374),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1374),
    [anon_sym_PLUS] = ACTIONS(1374),
    [anon_sym_SLASH] = ACTIONS(1374),
    [anon_sym_PERCENT] = ACTIONS(1374),
    [sym_comment] = ACTIONS(256),
  },
  [9250] = {
    [sym__simple_heredoc_body] = ACTIONS(1552),
    [sym__heredoc_body_beginning] = ACTIONS(1552),
    [sym__element_reference_left_bracket] = ACTIONS(1552),
    [sym__scope_double_colon] = ACTIONS(1552),
    [sym__binary_minus] = ACTIONS(1552),
    [sym__binary_star] = ACTIONS(1552),
    [anon_sym_LBRACE] = ACTIONS(1552),
    [anon_sym_RBRACE] = ACTIONS(1552),
    [anon_sym_RPAREN] = ACTIONS(1552),
    [anon_sym_DOT] = ACTIONS(1554),
    [anon_sym_COMMA] = ACTIONS(1552),
    [anon_sym_PIPE] = ACTIONS(1554),
    [anon_sym_SEMI] = ACTIONS(1552),
    [anon_sym_STAR_STAR] = ACTIONS(1554),
    [anon_sym_AMP] = ACTIONS(1554),
    [anon_sym_EQ] = ACTIONS(1554),
    [anon_sym_LT] = ACTIONS(1554),
    [anon_sym_in] = ACTIONS(1552),
    [anon_sym_do] = ACTIONS(1552),
    [anon_sym_RBRACK] = ACTIONS(1552),
    [anon_sym_AMP_DOT] = ACTIONS(1552),
    [anon_sym_PLUS_EQ] = ACTIONS(1552),
    [anon_sym_DASH_EQ] = ACTIONS(1552),
    [anon_sym_STAR_EQ] = ACTIONS(1552),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1552),
    [anon_sym_SLASH_EQ] = ACTIONS(1552),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1552),
    [anon_sym_PIPE_EQ] = ACTIONS(1552),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1552),
    [anon_sym_AMP_EQ] = ACTIONS(1552),
    [anon_sym_PERCENT_EQ] = ACTIONS(1552),
    [anon_sym_GT_GT_EQ] = ACTIONS(1552),
    [anon_sym_LT_LT_EQ] = ACTIONS(1552),
    [anon_sym_CARET_EQ] = ACTIONS(1552),
    [anon_sym_QMARK] = ACTIONS(1552),
    [anon_sym_COLON] = ACTIONS(1552),
    [anon_sym_DOT_DOT] = ACTIONS(1554),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1552),
    [anon_sym_and] = ACTIONS(1552),
    [anon_sym_or] = ACTIONS(1552),
    [anon_sym_PIPE_PIPE] = ACTIONS(1554),
    [anon_sym_AMP_AMP] = ACTIONS(1554),
    [anon_sym_LT_LT] = ACTIONS(1554),
    [anon_sym_GT_GT] = ACTIONS(1554),
    [anon_sym_EQ_EQ] = ACTIONS(1554),
    [anon_sym_BANG_EQ] = ACTIONS(1552),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1552),
    [anon_sym_LT_EQ_GT] = ACTIONS(1552),
    [anon_sym_EQ_TILDE] = ACTIONS(1552),
    [anon_sym_BANG_TILDE] = ACTIONS(1552),
    [anon_sym_LT_EQ] = ACTIONS(1554),
    [anon_sym_GT] = ACTIONS(1554),
    [anon_sym_GT_EQ] = ACTIONS(1552),
    [anon_sym_CARET] = ACTIONS(1554),
    [anon_sym_PLUS] = ACTIONS(1554),
    [anon_sym_SLASH] = ACTIONS(1554),
    [anon_sym_PERCENT] = ACTIONS(1554),
    [sym_comment] = ACTIONS(256),
  },
  [9251] = {
    [anon_sym_RBRACE] = ACTIONS(14682),
    [sym_comment] = ACTIONS(110),
  },
  [9252] = {
    [sym_heredoc_end] = STATE(11783),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RBRACE] = ACTIONS(14682),
    [sym_comment] = ACTIONS(110),
  },
  [9253] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(11784),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(1139),
    [sym_call] = STATE(1139),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(1140),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1141),
    [sym__variable] = STATE(1139),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(1822),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_yield] = ACTIONS(1828),
    [anon_sym_break] = ACTIONS(1830),
    [anon_sym_next] = ACTIONS(1832),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(1834),
    [anon_sym_defined_QMARK] = ACTIONS(1836),
    [anon_sym_not] = ACTIONS(1838),
    [anon_sym_BANG] = ACTIONS(1840),
    [anon_sym_TILDE] = ACTIONS(1840),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [9254] = {
    [sym__simple_heredoc_body] = ACTIONS(1866),
    [sym__heredoc_body_beginning] = ACTIONS(1866),
    [sym__element_reference_left_bracket] = ACTIONS(1866),
    [sym__scope_double_colon] = ACTIONS(1866),
    [sym__binary_minus] = ACTIONS(1866),
    [sym__binary_star] = ACTIONS(1866),
    [anon_sym_LBRACE] = ACTIONS(1866),
    [anon_sym_RBRACE] = ACTIONS(1866),
    [anon_sym_RPAREN] = ACTIONS(1866),
    [anon_sym_DOT] = ACTIONS(1868),
    [anon_sym_COMMA] = ACTIONS(1866),
    [anon_sym_PIPE] = ACTIONS(1868),
    [anon_sym_SEMI] = ACTIONS(1866),
    [anon_sym_STAR_STAR] = ACTIONS(1868),
    [anon_sym_AMP] = ACTIONS(1868),
    [anon_sym_EQ] = ACTIONS(1868),
    [anon_sym_LT] = ACTIONS(1868),
    [anon_sym_in] = ACTIONS(1866),
    [anon_sym_do] = ACTIONS(1866),
    [anon_sym_RBRACK] = ACTIONS(1866),
    [anon_sym_AMP_DOT] = ACTIONS(1866),
    [anon_sym_PLUS_EQ] = ACTIONS(1866),
    [anon_sym_DASH_EQ] = ACTIONS(1866),
    [anon_sym_STAR_EQ] = ACTIONS(1866),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1866),
    [anon_sym_SLASH_EQ] = ACTIONS(1866),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1866),
    [anon_sym_PIPE_EQ] = ACTIONS(1866),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1866),
    [anon_sym_AMP_EQ] = ACTIONS(1866),
    [anon_sym_PERCENT_EQ] = ACTIONS(1866),
    [anon_sym_GT_GT_EQ] = ACTIONS(1866),
    [anon_sym_LT_LT_EQ] = ACTIONS(1866),
    [anon_sym_CARET_EQ] = ACTIONS(1866),
    [anon_sym_QMARK] = ACTIONS(1866),
    [anon_sym_COLON] = ACTIONS(1866),
    [anon_sym_DOT_DOT] = ACTIONS(1868),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1866),
    [anon_sym_and] = ACTIONS(1866),
    [anon_sym_or] = ACTIONS(1866),
    [anon_sym_PIPE_PIPE] = ACTIONS(1868),
    [anon_sym_AMP_AMP] = ACTIONS(1868),
    [anon_sym_LT_LT] = ACTIONS(1868),
    [anon_sym_GT_GT] = ACTIONS(1868),
    [anon_sym_EQ_EQ] = ACTIONS(1868),
    [anon_sym_BANG_EQ] = ACTIONS(1866),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1866),
    [anon_sym_LT_EQ_GT] = ACTIONS(1866),
    [anon_sym_EQ_TILDE] = ACTIONS(1866),
    [anon_sym_BANG_TILDE] = ACTIONS(1866),
    [anon_sym_LT_EQ] = ACTIONS(1868),
    [anon_sym_GT] = ACTIONS(1868),
    [anon_sym_GT_EQ] = ACTIONS(1866),
    [anon_sym_CARET] = ACTIONS(1868),
    [anon_sym_PLUS] = ACTIONS(1868),
    [anon_sym_SLASH] = ACTIONS(1868),
    [anon_sym_PERCENT] = ACTIONS(1868),
    [sym_comment] = ACTIONS(256),
  },
  [9255] = {
    [anon_sym_DOT] = ACTIONS(14684),
    [anon_sym_COLON_COLON] = ACTIONS(14684),
    [sym_comment] = ACTIONS(110),
  },
  [9256] = {
    [sym_method_parameters] = STATE(11786),
    [sym__simple_formal_parameter] = STATE(1150),
    [sym_splat_parameter] = STATE(1151),
    [sym_hash_splat_parameter] = STATE(1151),
    [sym_block_parameter] = STATE(1151),
    [sym_keyword_parameter] = STATE(1151),
    [sym_optional_parameter] = STATE(1151),
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(11786),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym__line_break] = ACTIONS(692),
    [anon_sym_LPAREN] = ACTIONS(1872),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(1874),
    [anon_sym_STAR_STAR] = ACTIONS(1876),
    [anon_sym_AMP] = ACTIONS(1878),
    [sym_identifier] = ACTIONS(1880),
    [sym_comment] = ACTIONS(110),
  },
  [9257] = {
    [sym__simple_heredoc_body] = ACTIONS(1882),
    [sym__heredoc_body_beginning] = ACTIONS(1882),
    [sym__element_reference_left_bracket] = ACTIONS(1882),
    [sym__scope_double_colon] = ACTIONS(1882),
    [sym__binary_minus] = ACTIONS(1882),
    [sym__binary_star] = ACTIONS(1882),
    [anon_sym_LBRACE] = ACTIONS(1882),
    [anon_sym_RBRACE] = ACTIONS(1882),
    [anon_sym_RPAREN] = ACTIONS(1882),
    [anon_sym_DOT] = ACTIONS(1884),
    [anon_sym_COMMA] = ACTIONS(1882),
    [anon_sym_PIPE] = ACTIONS(1884),
    [anon_sym_SEMI] = ACTIONS(1882),
    [anon_sym_STAR_STAR] = ACTIONS(1884),
    [anon_sym_AMP] = ACTIONS(1884),
    [anon_sym_EQ] = ACTIONS(1884),
    [anon_sym_LT] = ACTIONS(1884),
    [anon_sym_in] = ACTIONS(1882),
    [anon_sym_do] = ACTIONS(1882),
    [anon_sym_RBRACK] = ACTIONS(1882),
    [anon_sym_AMP_DOT] = ACTIONS(1882),
    [anon_sym_PLUS_EQ] = ACTIONS(1882),
    [anon_sym_DASH_EQ] = ACTIONS(1882),
    [anon_sym_STAR_EQ] = ACTIONS(1882),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1882),
    [anon_sym_SLASH_EQ] = ACTIONS(1882),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1882),
    [anon_sym_PIPE_EQ] = ACTIONS(1882),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1882),
    [anon_sym_AMP_EQ] = ACTIONS(1882),
    [anon_sym_PERCENT_EQ] = ACTIONS(1882),
    [anon_sym_GT_GT_EQ] = ACTIONS(1882),
    [anon_sym_LT_LT_EQ] = ACTIONS(1882),
    [anon_sym_CARET_EQ] = ACTIONS(1882),
    [anon_sym_QMARK] = ACTIONS(1882),
    [anon_sym_COLON] = ACTIONS(1882),
    [anon_sym_DOT_DOT] = ACTIONS(1884),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1882),
    [anon_sym_and] = ACTIONS(1882),
    [anon_sym_or] = ACTIONS(1882),
    [anon_sym_PIPE_PIPE] = ACTIONS(1884),
    [anon_sym_AMP_AMP] = ACTIONS(1884),
    [anon_sym_LT_LT] = ACTIONS(1884),
    [anon_sym_GT_GT] = ACTIONS(1884),
    [anon_sym_EQ_EQ] = ACTIONS(1884),
    [anon_sym_BANG_EQ] = ACTIONS(1882),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1882),
    [anon_sym_LT_EQ_GT] = ACTIONS(1882),
    [anon_sym_EQ_TILDE] = ACTIONS(1882),
    [anon_sym_BANG_TILDE] = ACTIONS(1882),
    [anon_sym_LT_EQ] = ACTIONS(1884),
    [anon_sym_GT] = ACTIONS(1884),
    [anon_sym_GT_EQ] = ACTIONS(1882),
    [anon_sym_CARET] = ACTIONS(1884),
    [anon_sym_PLUS] = ACTIONS(1884),
    [anon_sym_SLASH] = ACTIONS(1884),
    [anon_sym_PERCENT] = ACTIONS(1884),
    [sym_comment] = ACTIONS(256),
  },
  [9258] = {
    [anon_sym_RPAREN] = ACTIONS(14686),
    [sym_comment] = ACTIONS(110),
  },
  [9259] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(11788),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1329),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1330),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2090),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2100),
    [anon_sym_defined_QMARK] = ACTIONS(2102),
    [anon_sym_not] = ACTIONS(2104),
    [anon_sym_BANG] = ACTIONS(2106),
    [anon_sym_TILDE] = ACTIONS(2106),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9260] = {
    [sym_superclass] = STATE(11789),
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(11790),
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__unary_minus] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(722),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(722),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(2110),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(722),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [9261] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_superclass] = STATE(11789),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1349),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1310),
    [sym__argument_list_with_parens] = STATE(1264),
    [sym__argument] = STATE(1350),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_do_block] = STATE(1312),
    [sym_block] = STATE(1312),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1353),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1354),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__terminator] = STATE(11790),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(2114),
    [sym__splat_star] = ACTIONS(2116),
    [sym__argument_list_left_paren] = ACTIONS(2034),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(2064),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(980),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2120),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_LT] = ACTIONS(2110),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(2076),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2138),
    [sym_identifier] = ACTIONS(2138),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9262] = {
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(11792),
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__unary_minus] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(722),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(14688),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(722),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(722),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [9263] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1349),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(1310),
    [sym__argument_list_with_parens] = STATE(1264),
    [sym__argument] = STATE(1350),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_do_block] = STATE(1312),
    [sym_block] = STATE(1312),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1353),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1354),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(406),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__terminator] = STATE(11792),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__line_break] = ACTIONS(692),
    [sym__element_reference_left_bracket] = ACTIONS(980),
    [sym__block_ampersand] = ACTIONS(2114),
    [sym__splat_star] = ACTIONS(2116),
    [sym__argument_list_left_paren] = ACTIONS(2034),
    [sym__scope_double_colon] = ACTIONS(980),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(2064),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_DOT] = ACTIONS(980),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(14690),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2120),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(2076),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(980),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2138),
    [sym_identifier] = ACTIONS(2138),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9264] = {
    [sym__simple_heredoc_body] = ACTIONS(2264),
    [sym__heredoc_body_beginning] = ACTIONS(2264),
    [sym__element_reference_left_bracket] = ACTIONS(2264),
    [sym__scope_double_colon] = ACTIONS(2264),
    [sym__binary_minus] = ACTIONS(2264),
    [sym__binary_star] = ACTIONS(2264),
    [anon_sym_LBRACE] = ACTIONS(2264),
    [anon_sym_RBRACE] = ACTIONS(2264),
    [anon_sym_RPAREN] = ACTIONS(2264),
    [anon_sym_DOT] = ACTIONS(2266),
    [anon_sym_COMMA] = ACTIONS(2264),
    [anon_sym_PIPE] = ACTIONS(2266),
    [anon_sym_SEMI] = ACTIONS(2264),
    [anon_sym_STAR_STAR] = ACTIONS(2266),
    [anon_sym_AMP] = ACTIONS(2266),
    [anon_sym_EQ] = ACTIONS(2266),
    [anon_sym_LT] = ACTIONS(2266),
    [anon_sym_in] = ACTIONS(2264),
    [anon_sym_do] = ACTIONS(2264),
    [anon_sym_RBRACK] = ACTIONS(2264),
    [anon_sym_AMP_DOT] = ACTIONS(2264),
    [anon_sym_PLUS_EQ] = ACTIONS(2264),
    [anon_sym_DASH_EQ] = ACTIONS(2264),
    [anon_sym_STAR_EQ] = ACTIONS(2264),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2264),
    [anon_sym_SLASH_EQ] = ACTIONS(2264),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2264),
    [anon_sym_PIPE_EQ] = ACTIONS(2264),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2264),
    [anon_sym_AMP_EQ] = ACTIONS(2264),
    [anon_sym_PERCENT_EQ] = ACTIONS(2264),
    [anon_sym_GT_GT_EQ] = ACTIONS(2264),
    [anon_sym_LT_LT_EQ] = ACTIONS(2264),
    [anon_sym_CARET_EQ] = ACTIONS(2264),
    [anon_sym_QMARK] = ACTIONS(2264),
    [anon_sym_COLON] = ACTIONS(2264),
    [anon_sym_DOT_DOT] = ACTIONS(2266),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2264),
    [anon_sym_and] = ACTIONS(2264),
    [anon_sym_or] = ACTIONS(2264),
    [anon_sym_PIPE_PIPE] = ACTIONS(2266),
    [anon_sym_AMP_AMP] = ACTIONS(2266),
    [anon_sym_LT_LT] = ACTIONS(2266),
    [anon_sym_GT_GT] = ACTIONS(2266),
    [anon_sym_EQ_EQ] = ACTIONS(2266),
    [anon_sym_BANG_EQ] = ACTIONS(2264),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2264),
    [anon_sym_LT_EQ_GT] = ACTIONS(2264),
    [anon_sym_EQ_TILDE] = ACTIONS(2264),
    [anon_sym_BANG_TILDE] = ACTIONS(2264),
    [anon_sym_LT_EQ] = ACTIONS(2266),
    [anon_sym_GT] = ACTIONS(2266),
    [anon_sym_GT_EQ] = ACTIONS(2264),
    [anon_sym_CARET] = ACTIONS(2266),
    [anon_sym_PLUS] = ACTIONS(2266),
    [anon_sym_SLASH] = ACTIONS(2266),
    [anon_sym_PERCENT] = ACTIONS(2266),
    [sym_comment] = ACTIONS(256),
  },
  [9265] = {
    [sym__simple_heredoc_body] = ACTIONS(2286),
    [sym__heredoc_body_beginning] = ACTIONS(2286),
    [sym__element_reference_left_bracket] = ACTIONS(2286),
    [sym__scope_double_colon] = ACTIONS(2286),
    [sym__binary_minus] = ACTIONS(2286),
    [sym__binary_star] = ACTIONS(2286),
    [anon_sym_LBRACE] = ACTIONS(2286),
    [anon_sym_RBRACE] = ACTIONS(2286),
    [anon_sym_RPAREN] = ACTIONS(2286),
    [anon_sym_DOT] = ACTIONS(2288),
    [anon_sym_COMMA] = ACTIONS(2286),
    [anon_sym_PIPE] = ACTIONS(2288),
    [anon_sym_SEMI] = ACTIONS(2286),
    [anon_sym_STAR_STAR] = ACTIONS(2288),
    [anon_sym_AMP] = ACTIONS(2288),
    [anon_sym_EQ] = ACTIONS(2288),
    [anon_sym_LT] = ACTIONS(2288),
    [anon_sym_in] = ACTIONS(2286),
    [anon_sym_do] = ACTIONS(2286),
    [anon_sym_RBRACK] = ACTIONS(2286),
    [anon_sym_AMP_DOT] = ACTIONS(2286),
    [anon_sym_PLUS_EQ] = ACTIONS(2286),
    [anon_sym_DASH_EQ] = ACTIONS(2286),
    [anon_sym_STAR_EQ] = ACTIONS(2286),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2286),
    [anon_sym_SLASH_EQ] = ACTIONS(2286),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2286),
    [anon_sym_PIPE_EQ] = ACTIONS(2286),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2286),
    [anon_sym_AMP_EQ] = ACTIONS(2286),
    [anon_sym_PERCENT_EQ] = ACTIONS(2286),
    [anon_sym_GT_GT_EQ] = ACTIONS(2286),
    [anon_sym_LT_LT_EQ] = ACTIONS(2286),
    [anon_sym_CARET_EQ] = ACTIONS(2286),
    [anon_sym_QMARK] = ACTIONS(2286),
    [anon_sym_COLON] = ACTIONS(2286),
    [anon_sym_DOT_DOT] = ACTIONS(2288),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2286),
    [anon_sym_and] = ACTIONS(2286),
    [anon_sym_or] = ACTIONS(2286),
    [anon_sym_PIPE_PIPE] = ACTIONS(2288),
    [anon_sym_AMP_AMP] = ACTIONS(2288),
    [anon_sym_LT_LT] = ACTIONS(2288),
    [anon_sym_GT_GT] = ACTIONS(2288),
    [anon_sym_EQ_EQ] = ACTIONS(2288),
    [anon_sym_BANG_EQ] = ACTIONS(2286),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2286),
    [anon_sym_LT_EQ_GT] = ACTIONS(2286),
    [anon_sym_EQ_TILDE] = ACTIONS(2286),
    [anon_sym_BANG_TILDE] = ACTIONS(2286),
    [anon_sym_LT_EQ] = ACTIONS(2288),
    [anon_sym_GT] = ACTIONS(2288),
    [anon_sym_GT_EQ] = ACTIONS(2286),
    [anon_sym_CARET] = ACTIONS(2288),
    [anon_sym_PLUS] = ACTIONS(2288),
    [anon_sym_SLASH] = ACTIONS(2288),
    [anon_sym_PERCENT] = ACTIONS(2288),
    [sym_comment] = ACTIONS(256),
  },
  [9266] = {
    [sym__simple_heredoc_body] = ACTIONS(2290),
    [sym__heredoc_body_beginning] = ACTIONS(2290),
    [sym__element_reference_left_bracket] = ACTIONS(2290),
    [sym__scope_double_colon] = ACTIONS(2290),
    [sym__binary_minus] = ACTIONS(2290),
    [sym__binary_star] = ACTIONS(2290),
    [anon_sym_LBRACE] = ACTIONS(2290),
    [anon_sym_RBRACE] = ACTIONS(2290),
    [anon_sym_RPAREN] = ACTIONS(2290),
    [anon_sym_DOT] = ACTIONS(2292),
    [anon_sym_COMMA] = ACTIONS(2290),
    [anon_sym_PIPE] = ACTIONS(2292),
    [anon_sym_SEMI] = ACTIONS(2290),
    [anon_sym_STAR_STAR] = ACTIONS(2292),
    [anon_sym_AMP] = ACTIONS(2292),
    [anon_sym_EQ] = ACTIONS(2292),
    [anon_sym_LT] = ACTIONS(2292),
    [anon_sym_in] = ACTIONS(2290),
    [anon_sym_do] = ACTIONS(2290),
    [anon_sym_RBRACK] = ACTIONS(2290),
    [anon_sym_AMP_DOT] = ACTIONS(2290),
    [anon_sym_PLUS_EQ] = ACTIONS(2290),
    [anon_sym_DASH_EQ] = ACTIONS(2290),
    [anon_sym_STAR_EQ] = ACTIONS(2290),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2290),
    [anon_sym_SLASH_EQ] = ACTIONS(2290),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2290),
    [anon_sym_PIPE_EQ] = ACTIONS(2290),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2290),
    [anon_sym_AMP_EQ] = ACTIONS(2290),
    [anon_sym_PERCENT_EQ] = ACTIONS(2290),
    [anon_sym_GT_GT_EQ] = ACTIONS(2290),
    [anon_sym_LT_LT_EQ] = ACTIONS(2290),
    [anon_sym_CARET_EQ] = ACTIONS(2290),
    [anon_sym_QMARK] = ACTIONS(2290),
    [anon_sym_COLON] = ACTIONS(2290),
    [anon_sym_DOT_DOT] = ACTIONS(2292),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2290),
    [anon_sym_and] = ACTIONS(2290),
    [anon_sym_or] = ACTIONS(2290),
    [anon_sym_PIPE_PIPE] = ACTIONS(2292),
    [anon_sym_AMP_AMP] = ACTIONS(2292),
    [anon_sym_LT_LT] = ACTIONS(2292),
    [anon_sym_GT_GT] = ACTIONS(2292),
    [anon_sym_EQ_EQ] = ACTIONS(2292),
    [anon_sym_BANG_EQ] = ACTIONS(2290),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2290),
    [anon_sym_LT_EQ_GT] = ACTIONS(2290),
    [anon_sym_EQ_TILDE] = ACTIONS(2290),
    [anon_sym_BANG_TILDE] = ACTIONS(2290),
    [anon_sym_LT_EQ] = ACTIONS(2292),
    [anon_sym_GT] = ACTIONS(2292),
    [anon_sym_GT_EQ] = ACTIONS(2290),
    [anon_sym_CARET] = ACTIONS(2292),
    [anon_sym_PLUS] = ACTIONS(2292),
    [anon_sym_SLASH] = ACTIONS(2292),
    [anon_sym_PERCENT] = ACTIONS(2292),
    [sym_comment] = ACTIONS(256),
  },
  [9267] = {
    [sym__simple_heredoc_body] = ACTIONS(2294),
    [sym__heredoc_body_beginning] = ACTIONS(2294),
    [sym__element_reference_left_bracket] = ACTIONS(2294),
    [sym__scope_double_colon] = ACTIONS(2294),
    [sym__binary_minus] = ACTIONS(2294),
    [sym__binary_star] = ACTIONS(2294),
    [anon_sym_LBRACE] = ACTIONS(2294),
    [anon_sym_RBRACE] = ACTIONS(2294),
    [anon_sym_RPAREN] = ACTIONS(2294),
    [anon_sym_DOT] = ACTIONS(2296),
    [anon_sym_COMMA] = ACTIONS(2294),
    [anon_sym_PIPE] = ACTIONS(2296),
    [anon_sym_SEMI] = ACTIONS(2294),
    [anon_sym_STAR_STAR] = ACTIONS(2296),
    [anon_sym_AMP] = ACTIONS(2296),
    [anon_sym_EQ] = ACTIONS(2296),
    [anon_sym_LT] = ACTIONS(2296),
    [anon_sym_in] = ACTIONS(2294),
    [anon_sym_do] = ACTIONS(2294),
    [anon_sym_RBRACK] = ACTIONS(2294),
    [anon_sym_AMP_DOT] = ACTIONS(2294),
    [anon_sym_PLUS_EQ] = ACTIONS(2294),
    [anon_sym_DASH_EQ] = ACTIONS(2294),
    [anon_sym_STAR_EQ] = ACTIONS(2294),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2294),
    [anon_sym_SLASH_EQ] = ACTIONS(2294),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2294),
    [anon_sym_PIPE_EQ] = ACTIONS(2294),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2294),
    [anon_sym_AMP_EQ] = ACTIONS(2294),
    [anon_sym_PERCENT_EQ] = ACTIONS(2294),
    [anon_sym_GT_GT_EQ] = ACTIONS(2294),
    [anon_sym_LT_LT_EQ] = ACTIONS(2294),
    [anon_sym_CARET_EQ] = ACTIONS(2294),
    [anon_sym_QMARK] = ACTIONS(2294),
    [anon_sym_COLON] = ACTIONS(2294),
    [anon_sym_DOT_DOT] = ACTIONS(2296),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2294),
    [anon_sym_and] = ACTIONS(2294),
    [anon_sym_or] = ACTIONS(2294),
    [anon_sym_PIPE_PIPE] = ACTIONS(2296),
    [anon_sym_AMP_AMP] = ACTIONS(2296),
    [anon_sym_LT_LT] = ACTIONS(2296),
    [anon_sym_GT_GT] = ACTIONS(2296),
    [anon_sym_EQ_EQ] = ACTIONS(2296),
    [anon_sym_BANG_EQ] = ACTIONS(2294),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2294),
    [anon_sym_LT_EQ_GT] = ACTIONS(2294),
    [anon_sym_EQ_TILDE] = ACTIONS(2294),
    [anon_sym_BANG_TILDE] = ACTIONS(2294),
    [anon_sym_LT_EQ] = ACTIONS(2296),
    [anon_sym_GT] = ACTIONS(2296),
    [anon_sym_GT_EQ] = ACTIONS(2294),
    [anon_sym_CARET] = ACTIONS(2296),
    [anon_sym_PLUS] = ACTIONS(2296),
    [anon_sym_SLASH] = ACTIONS(2296),
    [anon_sym_PERCENT] = ACTIONS(2296),
    [sym_comment] = ACTIONS(256),
  },
  [9268] = {
    [sym__then] = STATE(11794),
    [sym_heredoc_end] = STATE(1476),
    [sym__terminator] = STATE(1484),
    [sym__simple_heredoc_body] = ACTIONS(2322),
    [sym__heredoc_body_beginning] = ACTIONS(2324),
    [sym__line_break] = ACTIONS(2326),
    [anon_sym_SEMI] = ACTIONS(2326),
    [anon_sym_if] = ACTIONS(2328),
    [anon_sym_unless] = ACTIONS(2330),
    [anon_sym_while] = ACTIONS(2332),
    [anon_sym_until] = ACTIONS(2334),
    [anon_sym_rescue] = ACTIONS(2336),
    [anon_sym_then] = ACTIONS(2338),
    [sym_comment] = ACTIONS(110),
  },
  [9269] = {
    [sym__then] = STATE(11795),
    [sym_heredoc_end] = STATE(1521),
    [sym__terminator] = STATE(1524),
    [sym__simple_heredoc_body] = ACTIONS(2402),
    [sym__heredoc_body_beginning] = ACTIONS(2404),
    [sym__line_break] = ACTIONS(2406),
    [anon_sym_SEMI] = ACTIONS(2406),
    [anon_sym_if] = ACTIONS(2328),
    [anon_sym_unless] = ACTIONS(2330),
    [anon_sym_while] = ACTIONS(2332),
    [anon_sym_until] = ACTIONS(2334),
    [anon_sym_rescue] = ACTIONS(2336),
    [anon_sym_then] = ACTIONS(2408),
    [sym_comment] = ACTIONS(110),
  },
  [9270] = {
    [sym__do] = STATE(11796),
    [sym_heredoc_end] = STATE(1550),
    [sym__terminator] = STATE(1557),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym__line_break] = ACTIONS(2446),
    [sym__binary_minus] = ACTIONS(2448),
    [sym__binary_star] = ACTIONS(2450),
    [anon_sym_PIPE] = ACTIONS(2452),
    [anon_sym_SEMI] = ACTIONS(2446),
    [anon_sym_STAR_STAR] = ACTIONS(2454),
    [anon_sym_AMP] = ACTIONS(2456),
    [anon_sym_LT] = ACTIONS(2458),
    [anon_sym_do] = ACTIONS(2460),
    [anon_sym_QMARK] = ACTIONS(2462),
    [anon_sym_DOT_DOT] = ACTIONS(2464),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2466),
    [anon_sym_and] = ACTIONS(2468),
    [anon_sym_or] = ACTIONS(2468),
    [anon_sym_PIPE_PIPE] = ACTIONS(2470),
    [anon_sym_AMP_AMP] = ACTIONS(2470),
    [anon_sym_LT_LT] = ACTIONS(2472),
    [anon_sym_GT_GT] = ACTIONS(2472),
    [anon_sym_EQ_EQ] = ACTIONS(2474),
    [anon_sym_BANG_EQ] = ACTIONS(2470),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2470),
    [anon_sym_LT_EQ_GT] = ACTIONS(2470),
    [anon_sym_EQ_TILDE] = ACTIONS(2470),
    [anon_sym_BANG_TILDE] = ACTIONS(2470),
    [anon_sym_LT_EQ] = ACTIONS(2458),
    [anon_sym_GT] = ACTIONS(2458),
    [anon_sym_GT_EQ] = ACTIONS(2476),
    [anon_sym_CARET] = ACTIONS(2478),
    [anon_sym_PLUS] = ACTIONS(2480),
    [anon_sym_SLASH] = ACTIONS(2454),
    [anon_sym_PERCENT] = ACTIONS(2454),
    [sym_comment] = ACTIONS(110),
  },
  [9271] = {
    [sym__do] = STATE(11797),
    [sym_heredoc_end] = STATE(1550),
    [sym__terminator] = STATE(1557),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym__line_break] = ACTIONS(2446),
    [sym__binary_minus] = ACTIONS(2448),
    [sym__binary_star] = ACTIONS(2450),
    [anon_sym_PIPE] = ACTIONS(2452),
    [anon_sym_SEMI] = ACTIONS(2446),
    [anon_sym_STAR_STAR] = ACTIONS(2454),
    [anon_sym_AMP] = ACTIONS(2456),
    [anon_sym_LT] = ACTIONS(2458),
    [anon_sym_do] = ACTIONS(2460),
    [anon_sym_QMARK] = ACTIONS(2462),
    [anon_sym_DOT_DOT] = ACTIONS(2464),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2466),
    [anon_sym_and] = ACTIONS(2468),
    [anon_sym_or] = ACTIONS(2468),
    [anon_sym_PIPE_PIPE] = ACTIONS(2470),
    [anon_sym_AMP_AMP] = ACTIONS(2470),
    [anon_sym_LT_LT] = ACTIONS(2472),
    [anon_sym_GT_GT] = ACTIONS(2472),
    [anon_sym_EQ_EQ] = ACTIONS(2474),
    [anon_sym_BANG_EQ] = ACTIONS(2470),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2470),
    [anon_sym_LT_EQ_GT] = ACTIONS(2470),
    [anon_sym_EQ_TILDE] = ACTIONS(2470),
    [anon_sym_BANG_TILDE] = ACTIONS(2470),
    [anon_sym_LT_EQ] = ACTIONS(2458),
    [anon_sym_GT] = ACTIONS(2458),
    [anon_sym_GT_EQ] = ACTIONS(2476),
    [anon_sym_CARET] = ACTIONS(2478),
    [anon_sym_PLUS] = ACTIONS(2480),
    [anon_sym_SLASH] = ACTIONS(2454),
    [anon_sym_PERCENT] = ACTIONS(2454),
    [sym_comment] = ACTIONS(110),
  },
  [9272] = {
    [sym_in] = STATE(11798),
    [anon_sym_in] = ACTIONS(2548),
    [sym_comment] = ACTIONS(110),
  },
  [9273] = {
    [anon_sym_end] = ACTIONS(14692),
    [sym_comment] = ACTIONS(110),
  },
  [9274] = {
    [sym_when] = STATE(11800),
    [sym_heredoc_end] = STATE(387),
    [sym__terminator] = STATE(402),
    [aux_sym_case_repeat1] = STATE(11801),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym__line_break] = ACTIONS(666),
    [sym__binary_minus] = ACTIONS(2600),
    [sym__binary_star] = ACTIONS(2602),
    [anon_sym_PIPE] = ACTIONS(2604),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_STAR_STAR] = ACTIONS(2606),
    [anon_sym_AMP] = ACTIONS(2608),
    [anon_sym_LT] = ACTIONS(2610),
    [anon_sym_when] = ACTIONS(2612),
    [anon_sym_QMARK] = ACTIONS(2614),
    [anon_sym_DOT_DOT] = ACTIONS(2616),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2618),
    [anon_sym_and] = ACTIONS(2620),
    [anon_sym_or] = ACTIONS(2620),
    [anon_sym_PIPE_PIPE] = ACTIONS(2622),
    [anon_sym_AMP_AMP] = ACTIONS(2622),
    [anon_sym_LT_LT] = ACTIONS(2624),
    [anon_sym_GT_GT] = ACTIONS(2624),
    [anon_sym_EQ_EQ] = ACTIONS(2626),
    [anon_sym_BANG_EQ] = ACTIONS(2622),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2622),
    [anon_sym_LT_EQ_GT] = ACTIONS(2622),
    [anon_sym_EQ_TILDE] = ACTIONS(2622),
    [anon_sym_BANG_TILDE] = ACTIONS(2622),
    [anon_sym_LT_EQ] = ACTIONS(2610),
    [anon_sym_GT] = ACTIONS(2610),
    [anon_sym_GT_EQ] = ACTIONS(2628),
    [anon_sym_CARET] = ACTIONS(2630),
    [anon_sym_PLUS] = ACTIONS(2632),
    [anon_sym_SLASH] = ACTIONS(2606),
    [anon_sym_PERCENT] = ACTIONS(2606),
    [sym_comment] = ACTIONS(110),
  },
  [9275] = {
    [sym_when] = STATE(11800),
    [sym_heredoc_end] = STATE(387),
    [sym__terminator] = STATE(1688),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym__line_break] = ACTIONS(666),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_when] = ACTIONS(2612),
    [sym_comment] = ACTIONS(110),
  },
  [9276] = {
    [sym__simple_heredoc_body] = ACTIONS(2674),
    [sym__heredoc_body_beginning] = ACTIONS(2674),
    [sym__element_reference_left_bracket] = ACTIONS(2674),
    [sym__scope_double_colon] = ACTIONS(2674),
    [sym__binary_minus] = ACTIONS(2674),
    [sym__binary_star] = ACTIONS(2674),
    [anon_sym_LBRACE] = ACTIONS(2674),
    [anon_sym_RBRACE] = ACTIONS(2674),
    [anon_sym_RPAREN] = ACTIONS(2674),
    [anon_sym_DOT] = ACTIONS(2676),
    [anon_sym_COMMA] = ACTIONS(2674),
    [anon_sym_PIPE] = ACTIONS(2676),
    [anon_sym_SEMI] = ACTIONS(2674),
    [anon_sym_STAR_STAR] = ACTIONS(2676),
    [anon_sym_AMP] = ACTIONS(2676),
    [anon_sym_EQ] = ACTIONS(2676),
    [anon_sym_LT] = ACTIONS(2676),
    [anon_sym_in] = ACTIONS(2674),
    [anon_sym_do] = ACTIONS(2674),
    [anon_sym_RBRACK] = ACTIONS(2674),
    [anon_sym_AMP_DOT] = ACTIONS(2674),
    [anon_sym_PLUS_EQ] = ACTIONS(2674),
    [anon_sym_DASH_EQ] = ACTIONS(2674),
    [anon_sym_STAR_EQ] = ACTIONS(2674),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2674),
    [anon_sym_SLASH_EQ] = ACTIONS(2674),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2674),
    [anon_sym_PIPE_EQ] = ACTIONS(2674),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2674),
    [anon_sym_AMP_EQ] = ACTIONS(2674),
    [anon_sym_PERCENT_EQ] = ACTIONS(2674),
    [anon_sym_GT_GT_EQ] = ACTIONS(2674),
    [anon_sym_LT_LT_EQ] = ACTIONS(2674),
    [anon_sym_CARET_EQ] = ACTIONS(2674),
    [anon_sym_QMARK] = ACTIONS(2674),
    [anon_sym_COLON] = ACTIONS(2674),
    [anon_sym_DOT_DOT] = ACTIONS(2676),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2674),
    [anon_sym_and] = ACTIONS(2674),
    [anon_sym_or] = ACTIONS(2674),
    [anon_sym_PIPE_PIPE] = ACTIONS(2676),
    [anon_sym_AMP_AMP] = ACTIONS(2676),
    [anon_sym_LT_LT] = ACTIONS(2676),
    [anon_sym_GT_GT] = ACTIONS(2676),
    [anon_sym_EQ_EQ] = ACTIONS(2676),
    [anon_sym_BANG_EQ] = ACTIONS(2674),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2674),
    [anon_sym_LT_EQ_GT] = ACTIONS(2674),
    [anon_sym_EQ_TILDE] = ACTIONS(2674),
    [anon_sym_BANG_TILDE] = ACTIONS(2674),
    [anon_sym_LT_EQ] = ACTIONS(2676),
    [anon_sym_GT] = ACTIONS(2676),
    [anon_sym_GT_EQ] = ACTIONS(2674),
    [anon_sym_CARET] = ACTIONS(2676),
    [anon_sym_PLUS] = ACTIONS(2676),
    [anon_sym_SLASH] = ACTIONS(2676),
    [anon_sym_PERCENT] = ACTIONS(2676),
    [sym_comment] = ACTIONS(256),
  },
  [9277] = {
    [anon_sym_end] = ACTIONS(14694),
    [sym_comment] = ACTIONS(110),
  },
  [9278] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(11803),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14696),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9279] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_RBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(12164),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2872),
    [anon_sym_AMP_AMP] = ACTIONS(2872),
    [anon_sym_LT_LT] = ACTIONS(2872),
    [anon_sym_GT_GT] = ACTIONS(2872),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2872),
    [anon_sym_PLUS] = ACTIONS(2872),
    [anon_sym_SLASH] = ACTIONS(2872),
    [anon_sym_PERCENT] = ACTIONS(2872),
    [sym_comment] = ACTIONS(256),
  },
  [9280] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(12158),
    [sym__binary_star] = ACTIONS(12160),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_RBRACE] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(12162),
    [anon_sym_STAR_STAR] = ACTIONS(12164),
    [anon_sym_AMP] = ACTIONS(12166),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(12168),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(12170),
    [anon_sym_DOT_DOT] = ACTIONS(12172),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12174),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(12176),
    [anon_sym_AMP_AMP] = ACTIONS(12176),
    [anon_sym_LT_LT] = ACTIONS(12178),
    [anon_sym_GT_GT] = ACTIONS(12178),
    [anon_sym_EQ_EQ] = ACTIONS(12176),
    [anon_sym_BANG_EQ] = ACTIONS(12180),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12180),
    [anon_sym_LT_EQ_GT] = ACTIONS(12180),
    [anon_sym_EQ_TILDE] = ACTIONS(12180),
    [anon_sym_BANG_TILDE] = ACTIONS(12180),
    [anon_sym_LT_EQ] = ACTIONS(12168),
    [anon_sym_GT] = ACTIONS(12168),
    [anon_sym_GT_EQ] = ACTIONS(12182),
    [anon_sym_CARET] = ACTIONS(12162),
    [anon_sym_PLUS] = ACTIONS(12184),
    [anon_sym_SLASH] = ACTIONS(12164),
    [anon_sym_PERCENT] = ACTIONS(12164),
    [sym_comment] = ACTIONS(256),
  },
  [9281] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_RBRACE] = ACTIONS(2870),
    [anon_sym_RPAREN] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(2872),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_in] = ACTIONS(2870),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_RBRACK] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_COLON] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2872),
    [anon_sym_AMP_AMP] = ACTIONS(2872),
    [anon_sym_LT_LT] = ACTIONS(2872),
    [anon_sym_GT_GT] = ACTIONS(2872),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2872),
    [anon_sym_PLUS] = ACTIONS(2872),
    [anon_sym_SLASH] = ACTIONS(2872),
    [anon_sym_PERCENT] = ACTIONS(2872),
    [sym_comment] = ACTIONS(256),
  },
  [9282] = {
    [sym__simple_heredoc_body] = ACTIONS(2882),
    [sym__heredoc_body_beginning] = ACTIONS(2882),
    [sym__element_reference_left_bracket] = ACTIONS(2882),
    [sym__scope_double_colon] = ACTIONS(2882),
    [sym__binary_minus] = ACTIONS(2882),
    [sym__binary_star] = ACTIONS(2882),
    [anon_sym_LBRACE] = ACTIONS(2882),
    [anon_sym_RBRACE] = ACTIONS(2882),
    [anon_sym_RPAREN] = ACTIONS(2882),
    [anon_sym_DOT] = ACTIONS(2884),
    [anon_sym_COMMA] = ACTIONS(2882),
    [anon_sym_PIPE] = ACTIONS(2884),
    [anon_sym_SEMI] = ACTIONS(2882),
    [anon_sym_STAR_STAR] = ACTIONS(2884),
    [anon_sym_AMP] = ACTIONS(2884),
    [anon_sym_EQ] = ACTIONS(2884),
    [anon_sym_LT] = ACTIONS(2884),
    [anon_sym_in] = ACTIONS(2882),
    [anon_sym_do] = ACTIONS(2882),
    [anon_sym_RBRACK] = ACTIONS(2882),
    [anon_sym_AMP_DOT] = ACTIONS(2882),
    [anon_sym_PLUS_EQ] = ACTIONS(2882),
    [anon_sym_DASH_EQ] = ACTIONS(2882),
    [anon_sym_STAR_EQ] = ACTIONS(2882),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2882),
    [anon_sym_SLASH_EQ] = ACTIONS(2882),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2882),
    [anon_sym_PIPE_EQ] = ACTIONS(2882),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2882),
    [anon_sym_AMP_EQ] = ACTIONS(2882),
    [anon_sym_PERCENT_EQ] = ACTIONS(2882),
    [anon_sym_GT_GT_EQ] = ACTIONS(2882),
    [anon_sym_LT_LT_EQ] = ACTIONS(2882),
    [anon_sym_CARET_EQ] = ACTIONS(2882),
    [anon_sym_QMARK] = ACTIONS(2882),
    [anon_sym_COLON] = ACTIONS(2882),
    [anon_sym_DOT_DOT] = ACTIONS(2884),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2882),
    [anon_sym_and] = ACTIONS(2882),
    [anon_sym_or] = ACTIONS(2882),
    [anon_sym_PIPE_PIPE] = ACTIONS(2884),
    [anon_sym_AMP_AMP] = ACTIONS(2884),
    [anon_sym_LT_LT] = ACTIONS(2884),
    [anon_sym_GT_GT] = ACTIONS(2884),
    [anon_sym_EQ_EQ] = ACTIONS(2884),
    [anon_sym_BANG_EQ] = ACTIONS(2882),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2882),
    [anon_sym_LT_EQ_GT] = ACTIONS(2882),
    [anon_sym_EQ_TILDE] = ACTIONS(2882),
    [anon_sym_BANG_TILDE] = ACTIONS(2882),
    [anon_sym_LT_EQ] = ACTIONS(2884),
    [anon_sym_GT] = ACTIONS(2884),
    [anon_sym_GT_EQ] = ACTIONS(2882),
    [anon_sym_CARET] = ACTIONS(2884),
    [anon_sym_PLUS] = ACTIONS(2884),
    [anon_sym_SLASH] = ACTIONS(2884),
    [anon_sym_PERCENT] = ACTIONS(2884),
    [sym_comment] = ACTIONS(256),
  },
  [9283] = {
    [sym__simple_heredoc_body] = ACTIONS(2952),
    [sym__heredoc_body_beginning] = ACTIONS(2952),
    [sym__element_reference_left_bracket] = ACTIONS(2952),
    [sym__scope_double_colon] = ACTIONS(2952),
    [sym__binary_minus] = ACTIONS(2952),
    [sym__binary_star] = ACTIONS(2952),
    [anon_sym_LBRACE] = ACTIONS(2952),
    [anon_sym_RBRACE] = ACTIONS(2952),
    [anon_sym_RPAREN] = ACTIONS(2952),
    [anon_sym_DOT] = ACTIONS(2954),
    [anon_sym_COMMA] = ACTIONS(2952),
    [anon_sym_PIPE] = ACTIONS(2954),
    [anon_sym_SEMI] = ACTIONS(2952),
    [anon_sym_STAR_STAR] = ACTIONS(2954),
    [anon_sym_AMP] = ACTIONS(2954),
    [anon_sym_EQ] = ACTIONS(2954),
    [anon_sym_LT] = ACTIONS(2954),
    [anon_sym_in] = ACTIONS(2952),
    [anon_sym_do] = ACTIONS(2952),
    [anon_sym_RBRACK] = ACTIONS(2952),
    [anon_sym_AMP_DOT] = ACTIONS(2952),
    [anon_sym_PLUS_EQ] = ACTIONS(2952),
    [anon_sym_DASH_EQ] = ACTIONS(2952),
    [anon_sym_STAR_EQ] = ACTIONS(2952),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2952),
    [anon_sym_SLASH_EQ] = ACTIONS(2952),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2952),
    [anon_sym_PIPE_EQ] = ACTIONS(2952),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2952),
    [anon_sym_AMP_EQ] = ACTIONS(2952),
    [anon_sym_PERCENT_EQ] = ACTIONS(2952),
    [anon_sym_GT_GT_EQ] = ACTIONS(2952),
    [anon_sym_LT_LT_EQ] = ACTIONS(2952),
    [anon_sym_CARET_EQ] = ACTIONS(2952),
    [anon_sym_QMARK] = ACTIONS(2952),
    [anon_sym_COLON] = ACTIONS(2952),
    [anon_sym_DOT_DOT] = ACTIONS(2954),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2952),
    [anon_sym_and] = ACTIONS(2952),
    [anon_sym_or] = ACTIONS(2952),
    [anon_sym_PIPE_PIPE] = ACTIONS(2954),
    [anon_sym_AMP_AMP] = ACTIONS(2954),
    [anon_sym_LT_LT] = ACTIONS(2954),
    [anon_sym_GT_GT] = ACTIONS(2954),
    [anon_sym_EQ_EQ] = ACTIONS(2954),
    [anon_sym_BANG_EQ] = ACTIONS(2952),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2952),
    [anon_sym_LT_EQ_GT] = ACTIONS(2952),
    [anon_sym_EQ_TILDE] = ACTIONS(2952),
    [anon_sym_BANG_TILDE] = ACTIONS(2952),
    [anon_sym_LT_EQ] = ACTIONS(2954),
    [anon_sym_GT] = ACTIONS(2954),
    [anon_sym_GT_EQ] = ACTIONS(2952),
    [anon_sym_CARET] = ACTIONS(2954),
    [anon_sym_PLUS] = ACTIONS(2954),
    [anon_sym_SLASH] = ACTIONS(2954),
    [anon_sym_PERCENT] = ACTIONS(2954),
    [sym_comment] = ACTIONS(256),
  },
  [9284] = {
    [sym_heredoc_end] = STATE(11804),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RBRACK] = ACTIONS(14680),
    [sym_comment] = ACTIONS(110),
  },
  [9285] = {
    [anon_sym_RBRACK] = ACTIONS(14680),
    [sym_comment] = ACTIONS(110),
  },
  [9286] = {
    [sym_do_block] = STATE(11805),
    [sym_block] = STATE(11805),
    [anon_sym_LBRACE] = ACTIONS(8526),
    [anon_sym_do] = ACTIONS(8528),
    [sym_comment] = ACTIONS(110),
  },
  [9287] = {
    [sym__simple_heredoc_body] = ACTIONS(3100),
    [sym__heredoc_body_beginning] = ACTIONS(3100),
    [sym__element_reference_left_bracket] = ACTIONS(3100),
    [sym__scope_double_colon] = ACTIONS(3100),
    [sym__binary_minus] = ACTIONS(3100),
    [sym__binary_star] = ACTIONS(3100),
    [anon_sym_LBRACE] = ACTIONS(3100),
    [anon_sym_RBRACE] = ACTIONS(3100),
    [anon_sym_RPAREN] = ACTIONS(3100),
    [anon_sym_DOT] = ACTIONS(3102),
    [anon_sym_COMMA] = ACTIONS(3100),
    [anon_sym_PIPE] = ACTIONS(3102),
    [anon_sym_SEMI] = ACTIONS(3100),
    [anon_sym_STAR_STAR] = ACTIONS(3102),
    [anon_sym_AMP] = ACTIONS(3102),
    [anon_sym_EQ] = ACTIONS(3102),
    [anon_sym_LT] = ACTIONS(3102),
    [anon_sym_in] = ACTIONS(3100),
    [anon_sym_do] = ACTIONS(3100),
    [anon_sym_RBRACK] = ACTIONS(3100),
    [anon_sym_AMP_DOT] = ACTIONS(3100),
    [anon_sym_PLUS_EQ] = ACTIONS(3100),
    [anon_sym_DASH_EQ] = ACTIONS(3100),
    [anon_sym_STAR_EQ] = ACTIONS(3100),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3100),
    [anon_sym_SLASH_EQ] = ACTIONS(3100),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3100),
    [anon_sym_PIPE_EQ] = ACTIONS(3100),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3100),
    [anon_sym_AMP_EQ] = ACTIONS(3100),
    [anon_sym_PERCENT_EQ] = ACTIONS(3100),
    [anon_sym_GT_GT_EQ] = ACTIONS(3100),
    [anon_sym_LT_LT_EQ] = ACTIONS(3100),
    [anon_sym_CARET_EQ] = ACTIONS(3100),
    [anon_sym_QMARK] = ACTIONS(3100),
    [anon_sym_COLON] = ACTIONS(3100),
    [anon_sym_DOT_DOT] = ACTIONS(3102),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3100),
    [anon_sym_and] = ACTIONS(3100),
    [anon_sym_or] = ACTIONS(3100),
    [anon_sym_PIPE_PIPE] = ACTIONS(3102),
    [anon_sym_AMP_AMP] = ACTIONS(3102),
    [anon_sym_LT_LT] = ACTIONS(3102),
    [anon_sym_GT_GT] = ACTIONS(3102),
    [anon_sym_EQ_EQ] = ACTIONS(3102),
    [anon_sym_BANG_EQ] = ACTIONS(3100),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3100),
    [anon_sym_LT_EQ_GT] = ACTIONS(3100),
    [anon_sym_EQ_TILDE] = ACTIONS(3100),
    [anon_sym_BANG_TILDE] = ACTIONS(3100),
    [anon_sym_LT_EQ] = ACTIONS(3102),
    [anon_sym_GT] = ACTIONS(3102),
    [anon_sym_GT_EQ] = ACTIONS(3100),
    [anon_sym_CARET] = ACTIONS(3102),
    [anon_sym_PLUS] = ACTIONS(3102),
    [anon_sym_SLASH] = ACTIONS(3102),
    [anon_sym_PERCENT] = ACTIONS(3102),
    [sym_comment] = ACTIONS(256),
  },
  [9288] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(11806),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6051),
    [sym_call] = STATE(6051),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(6053),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6054),
    [sym__variable] = STATE(6051),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(8420),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(8432),
    [anon_sym_yield] = ACTIONS(8434),
    [anon_sym_break] = ACTIONS(8436),
    [anon_sym_next] = ACTIONS(8438),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(8458),
    [anon_sym_defined_QMARK] = ACTIONS(8460),
    [anon_sym_not] = ACTIONS(8462),
    [anon_sym_BANG] = ACTIONS(8464),
    [anon_sym_TILDE] = ACTIONS(8464),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [9289] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(11807),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6051),
    [sym_call] = STATE(6051),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(6053),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6054),
    [sym__variable] = STATE(6051),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(8420),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(8432),
    [anon_sym_yield] = ACTIONS(8434),
    [anon_sym_break] = ACTIONS(8436),
    [anon_sym_next] = ACTIONS(8438),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(8458),
    [anon_sym_defined_QMARK] = ACTIONS(8460),
    [anon_sym_not] = ACTIONS(8462),
    [anon_sym_BANG] = ACTIONS(8464),
    [anon_sym_TILDE] = ACTIONS(8464),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [9290] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(11808),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6051),
    [sym_call] = STATE(6051),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(6053),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6054),
    [sym__variable] = STATE(6051),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(8420),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(8432),
    [anon_sym_yield] = ACTIONS(8434),
    [anon_sym_break] = ACTIONS(8436),
    [anon_sym_next] = ACTIONS(8438),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(8458),
    [anon_sym_defined_QMARK] = ACTIONS(8460),
    [anon_sym_not] = ACTIONS(8462),
    [anon_sym_BANG] = ACTIONS(8464),
    [anon_sym_TILDE] = ACTIONS(8464),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [9291] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(11809),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6051),
    [sym_call] = STATE(6051),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(6053),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6054),
    [sym__variable] = STATE(6051),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(8420),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(8432),
    [anon_sym_yield] = ACTIONS(8434),
    [anon_sym_break] = ACTIONS(8436),
    [anon_sym_next] = ACTIONS(8438),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(8458),
    [anon_sym_defined_QMARK] = ACTIONS(8460),
    [anon_sym_not] = ACTIONS(8462),
    [anon_sym_BANG] = ACTIONS(8464),
    [anon_sym_TILDE] = ACTIONS(8464),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [9292] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(11810),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6051),
    [sym_call] = STATE(6051),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(6053),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6054),
    [sym__variable] = STATE(6051),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(8420),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(8432),
    [anon_sym_yield] = ACTIONS(8434),
    [anon_sym_break] = ACTIONS(8436),
    [anon_sym_next] = ACTIONS(8438),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(8458),
    [anon_sym_defined_QMARK] = ACTIONS(8460),
    [anon_sym_not] = ACTIONS(8462),
    [anon_sym_BANG] = ACTIONS(8464),
    [anon_sym_TILDE] = ACTIONS(8464),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [9293] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(11811),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6051),
    [sym_call] = STATE(6051),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(6053),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6054),
    [sym__variable] = STATE(6051),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(8420),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(8432),
    [anon_sym_yield] = ACTIONS(8434),
    [anon_sym_break] = ACTIONS(8436),
    [anon_sym_next] = ACTIONS(8438),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(8458),
    [anon_sym_defined_QMARK] = ACTIONS(8460),
    [anon_sym_not] = ACTIONS(8462),
    [anon_sym_BANG] = ACTIONS(8464),
    [anon_sym_TILDE] = ACTIONS(8464),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [9294] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(11812),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [9295] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(11813),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6051),
    [sym_call] = STATE(6051),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(6053),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6054),
    [sym__variable] = STATE(6051),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(8420),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(8432),
    [anon_sym_yield] = ACTIONS(8434),
    [anon_sym_break] = ACTIONS(8436),
    [anon_sym_next] = ACTIONS(8438),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(8458),
    [anon_sym_defined_QMARK] = ACTIONS(8460),
    [anon_sym_not] = ACTIONS(8462),
    [anon_sym_BANG] = ACTIONS(8464),
    [anon_sym_TILDE] = ACTIONS(8464),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [9296] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(11814),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6051),
    [sym_call] = STATE(6051),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(6053),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6054),
    [sym__variable] = STATE(6051),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(8420),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(8432),
    [anon_sym_yield] = ACTIONS(8434),
    [anon_sym_break] = ACTIONS(8436),
    [anon_sym_next] = ACTIONS(8438),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(8458),
    [anon_sym_defined_QMARK] = ACTIONS(8460),
    [anon_sym_not] = ACTIONS(8462),
    [anon_sym_BANG] = ACTIONS(8464),
    [anon_sym_TILDE] = ACTIONS(8464),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [9297] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(11815),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6051),
    [sym_call] = STATE(6051),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(6053),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6054),
    [sym__variable] = STATE(6051),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(8420),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(8432),
    [anon_sym_yield] = ACTIONS(8434),
    [anon_sym_break] = ACTIONS(8436),
    [anon_sym_next] = ACTIONS(8438),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(8458),
    [anon_sym_defined_QMARK] = ACTIONS(8460),
    [anon_sym_not] = ACTIONS(8462),
    [anon_sym_BANG] = ACTIONS(8464),
    [anon_sym_TILDE] = ACTIONS(8464),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [9298] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(11816),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6051),
    [sym_call] = STATE(6051),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(6053),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6054),
    [sym__variable] = STATE(6051),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(8420),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(8432),
    [anon_sym_yield] = ACTIONS(8434),
    [anon_sym_break] = ACTIONS(8436),
    [anon_sym_next] = ACTIONS(8438),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(8458),
    [anon_sym_defined_QMARK] = ACTIONS(8460),
    [anon_sym_not] = ACTIONS(8462),
    [anon_sym_BANG] = ACTIONS(8464),
    [anon_sym_TILDE] = ACTIONS(8464),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [9299] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(11817),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6051),
    [sym_call] = STATE(6051),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(6053),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6054),
    [sym__variable] = STATE(6051),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(8420),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(8432),
    [anon_sym_yield] = ACTIONS(8434),
    [anon_sym_break] = ACTIONS(8436),
    [anon_sym_next] = ACTIONS(8438),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(8458),
    [anon_sym_defined_QMARK] = ACTIONS(8460),
    [anon_sym_not] = ACTIONS(8462),
    [anon_sym_BANG] = ACTIONS(8464),
    [anon_sym_TILDE] = ACTIONS(8464),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [9300] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(11818),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6051),
    [sym_call] = STATE(6051),
    [sym_method_call] = STATE(976),
    [sym_splat_argument] = STATE(11819),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_right_assignment_list] = STATE(11820),
    [sym__arg_or_splat_arg] = STATE(11821),
    [sym_left_assignment_list] = STATE(6053),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6054),
    [sym__variable] = STATE(6051),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__splat_star] = ACTIONS(4328),
    [sym__unary_minus] = ACTIONS(8420),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(8432),
    [anon_sym_yield] = ACTIONS(8434),
    [anon_sym_break] = ACTIONS(8436),
    [anon_sym_next] = ACTIONS(8438),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(8458),
    [anon_sym_defined_QMARK] = ACTIONS(8460),
    [anon_sym_not] = ACTIONS(8462),
    [anon_sym_BANG] = ACTIONS(8464),
    [anon_sym_TILDE] = ACTIONS(8464),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [9301] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(11822),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6051),
    [sym_call] = STATE(6051),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(6053),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6054),
    [sym__variable] = STATE(6051),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(8420),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(8432),
    [anon_sym_yield] = ACTIONS(8434),
    [anon_sym_break] = ACTIONS(8436),
    [anon_sym_next] = ACTIONS(8438),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(8458),
    [anon_sym_defined_QMARK] = ACTIONS(8460),
    [anon_sym_not] = ACTIONS(8462),
    [anon_sym_BANG] = ACTIONS(8464),
    [anon_sym_TILDE] = ACTIONS(8464),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [9302] = {
    [sym__simple_string] = ACTIONS(3382),
    [sym__simple_heredoc_body] = ACTIONS(3382),
    [sym__string_beginning] = ACTIONS(3382),
    [sym__heredoc_body_beginning] = ACTIONS(3382),
    [sym__element_reference_left_bracket] = ACTIONS(3382),
    [sym__scope_double_colon] = ACTIONS(3382),
    [sym__binary_minus] = ACTIONS(3382),
    [sym__binary_star] = ACTIONS(3382),
    [anon_sym_LBRACE] = ACTIONS(3382),
    [anon_sym_RBRACE] = ACTIONS(3382),
    [anon_sym_RPAREN] = ACTIONS(3382),
    [anon_sym_DOT] = ACTIONS(3384),
    [anon_sym_COMMA] = ACTIONS(3382),
    [anon_sym_PIPE] = ACTIONS(3384),
    [anon_sym_SEMI] = ACTIONS(3382),
    [anon_sym_STAR_STAR] = ACTIONS(3384),
    [anon_sym_AMP] = ACTIONS(3384),
    [anon_sym_EQ] = ACTIONS(3384),
    [anon_sym_LT] = ACTIONS(3384),
    [anon_sym_in] = ACTIONS(3382),
    [anon_sym_do] = ACTIONS(3382),
    [anon_sym_RBRACK] = ACTIONS(3382),
    [anon_sym_AMP_DOT] = ACTIONS(3382),
    [anon_sym_PLUS_EQ] = ACTIONS(3382),
    [anon_sym_DASH_EQ] = ACTIONS(3382),
    [anon_sym_STAR_EQ] = ACTIONS(3382),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3382),
    [anon_sym_SLASH_EQ] = ACTIONS(3382),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3382),
    [anon_sym_PIPE_EQ] = ACTIONS(3382),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3382),
    [anon_sym_AMP_EQ] = ACTIONS(3382),
    [anon_sym_PERCENT_EQ] = ACTIONS(3382),
    [anon_sym_GT_GT_EQ] = ACTIONS(3382),
    [anon_sym_LT_LT_EQ] = ACTIONS(3382),
    [anon_sym_CARET_EQ] = ACTIONS(3382),
    [anon_sym_QMARK] = ACTIONS(3384),
    [anon_sym_COLON] = ACTIONS(3382),
    [anon_sym_DOT_DOT] = ACTIONS(3384),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3382),
    [anon_sym_and] = ACTIONS(3382),
    [anon_sym_or] = ACTIONS(3382),
    [anon_sym_PIPE_PIPE] = ACTIONS(3384),
    [anon_sym_AMP_AMP] = ACTIONS(3384),
    [anon_sym_LT_LT] = ACTIONS(3384),
    [anon_sym_GT_GT] = ACTIONS(3384),
    [anon_sym_EQ_EQ] = ACTIONS(3384),
    [anon_sym_BANG_EQ] = ACTIONS(3382),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3382),
    [anon_sym_LT_EQ_GT] = ACTIONS(3382),
    [anon_sym_EQ_TILDE] = ACTIONS(3382),
    [anon_sym_BANG_TILDE] = ACTIONS(3382),
    [anon_sym_LT_EQ] = ACTIONS(3384),
    [anon_sym_GT] = ACTIONS(3384),
    [anon_sym_GT_EQ] = ACTIONS(3382),
    [anon_sym_CARET] = ACTIONS(3384),
    [anon_sym_PLUS] = ACTIONS(3384),
    [anon_sym_SLASH] = ACTIONS(3384),
    [anon_sym_PERCENT] = ACTIONS(3384),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(3384),
  },
  [9303] = {
    [sym_string] = STATE(11823),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_heredoc_body] = ACTIONS(3386),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__heredoc_body_beginning] = ACTIONS(3386),
    [sym__element_reference_left_bracket] = ACTIONS(3386),
    [sym__scope_double_colon] = ACTIONS(3386),
    [sym__binary_minus] = ACTIONS(3386),
    [sym__binary_star] = ACTIONS(3386),
    [anon_sym_LBRACE] = ACTIONS(3386),
    [anon_sym_RBRACE] = ACTIONS(3386),
    [anon_sym_RPAREN] = ACTIONS(3386),
    [anon_sym_DOT] = ACTIONS(3388),
    [anon_sym_COMMA] = ACTIONS(3386),
    [anon_sym_PIPE] = ACTIONS(3388),
    [anon_sym_SEMI] = ACTIONS(3386),
    [anon_sym_STAR_STAR] = ACTIONS(3388),
    [anon_sym_AMP] = ACTIONS(3388),
    [anon_sym_EQ] = ACTIONS(3388),
    [anon_sym_LT] = ACTIONS(3388),
    [anon_sym_in] = ACTIONS(3386),
    [anon_sym_do] = ACTIONS(3386),
    [anon_sym_RBRACK] = ACTIONS(3386),
    [anon_sym_AMP_DOT] = ACTIONS(3386),
    [anon_sym_PLUS_EQ] = ACTIONS(3386),
    [anon_sym_DASH_EQ] = ACTIONS(3386),
    [anon_sym_STAR_EQ] = ACTIONS(3386),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3386),
    [anon_sym_SLASH_EQ] = ACTIONS(3386),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3386),
    [anon_sym_PIPE_EQ] = ACTIONS(3386),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3386),
    [anon_sym_AMP_EQ] = ACTIONS(3386),
    [anon_sym_PERCENT_EQ] = ACTIONS(3386),
    [anon_sym_GT_GT_EQ] = ACTIONS(3386),
    [anon_sym_LT_LT_EQ] = ACTIONS(3386),
    [anon_sym_CARET_EQ] = ACTIONS(3386),
    [anon_sym_QMARK] = ACTIONS(3388),
    [anon_sym_COLON] = ACTIONS(3386),
    [anon_sym_DOT_DOT] = ACTIONS(3388),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3386),
    [anon_sym_and] = ACTIONS(3386),
    [anon_sym_or] = ACTIONS(3386),
    [anon_sym_PIPE_PIPE] = ACTIONS(3388),
    [anon_sym_AMP_AMP] = ACTIONS(3388),
    [anon_sym_LT_LT] = ACTIONS(3388),
    [anon_sym_GT_GT] = ACTIONS(3388),
    [anon_sym_EQ_EQ] = ACTIONS(3388),
    [anon_sym_BANG_EQ] = ACTIONS(3386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3386),
    [anon_sym_LT_EQ_GT] = ACTIONS(3386),
    [anon_sym_EQ_TILDE] = ACTIONS(3386),
    [anon_sym_BANG_TILDE] = ACTIONS(3386),
    [anon_sym_LT_EQ] = ACTIONS(3388),
    [anon_sym_GT] = ACTIONS(3388),
    [anon_sym_GT_EQ] = ACTIONS(3386),
    [anon_sym_CARET] = ACTIONS(3388),
    [anon_sym_PLUS] = ACTIONS(3388),
    [anon_sym_SLASH] = ACTIONS(3388),
    [anon_sym_PERCENT] = ACTIONS(3388),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(8474),
  },
  [9304] = {
    [sym__simple_heredoc_body] = ACTIONS(9456),
    [sym__heredoc_body_beginning] = ACTIONS(9456),
    [sym__element_reference_left_bracket] = ACTIONS(9456),
    [sym__scope_double_colon] = ACTIONS(9456),
    [sym__binary_minus] = ACTIONS(9456),
    [sym__binary_star] = ACTIONS(9456),
    [anon_sym_LBRACE] = ACTIONS(9456),
    [anon_sym_RBRACE] = ACTIONS(9456),
    [anon_sym_RPAREN] = ACTIONS(9456),
    [anon_sym_DOT] = ACTIONS(9458),
    [anon_sym_COMMA] = ACTIONS(9456),
    [anon_sym_PIPE] = ACTIONS(9458),
    [anon_sym_SEMI] = ACTIONS(9456),
    [anon_sym_STAR_STAR] = ACTIONS(9458),
    [anon_sym_AMP] = ACTIONS(9458),
    [anon_sym_EQ] = ACTIONS(9458),
    [anon_sym_LT] = ACTIONS(9458),
    [anon_sym_in] = ACTIONS(9456),
    [anon_sym_do] = ACTIONS(9456),
    [anon_sym_RBRACK] = ACTIONS(9456),
    [anon_sym_AMP_DOT] = ACTIONS(9456),
    [anon_sym_PLUS_EQ] = ACTIONS(9456),
    [anon_sym_DASH_EQ] = ACTIONS(9456),
    [anon_sym_STAR_EQ] = ACTIONS(9456),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9456),
    [anon_sym_SLASH_EQ] = ACTIONS(9456),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9456),
    [anon_sym_PIPE_EQ] = ACTIONS(9456),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9456),
    [anon_sym_AMP_EQ] = ACTIONS(9456),
    [anon_sym_PERCENT_EQ] = ACTIONS(9456),
    [anon_sym_GT_GT_EQ] = ACTIONS(9456),
    [anon_sym_LT_LT_EQ] = ACTIONS(9456),
    [anon_sym_CARET_EQ] = ACTIONS(9456),
    [anon_sym_QMARK] = ACTIONS(9456),
    [anon_sym_COLON] = ACTIONS(9456),
    [anon_sym_DOT_DOT] = ACTIONS(9458),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9456),
    [anon_sym_and] = ACTIONS(9456),
    [anon_sym_or] = ACTIONS(9456),
    [anon_sym_PIPE_PIPE] = ACTIONS(9458),
    [anon_sym_AMP_AMP] = ACTIONS(9458),
    [anon_sym_LT_LT] = ACTIONS(9458),
    [anon_sym_GT_GT] = ACTIONS(9458),
    [anon_sym_EQ_EQ] = ACTIONS(9458),
    [anon_sym_BANG_EQ] = ACTIONS(9456),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9456),
    [anon_sym_LT_EQ_GT] = ACTIONS(9456),
    [anon_sym_EQ_TILDE] = ACTIONS(9456),
    [anon_sym_BANG_TILDE] = ACTIONS(9456),
    [anon_sym_LT_EQ] = ACTIONS(9458),
    [anon_sym_GT] = ACTIONS(9458),
    [anon_sym_GT_EQ] = ACTIONS(9456),
    [anon_sym_CARET] = ACTIONS(9458),
    [anon_sym_PLUS] = ACTIONS(9458),
    [anon_sym_SLASH] = ACTIONS(9458),
    [anon_sym_PERCENT] = ACTIONS(9458),
    [sym_comment] = ACTIONS(256),
  },
  [9305] = {
    [anon_sym_RPAREN] = ACTIONS(14698),
    [sym_comment] = ACTIONS(110),
  },
  [9306] = {
    [sym__simple_heredoc_body] = ACTIONS(11064),
    [sym__heredoc_body_beginning] = ACTIONS(11064),
    [sym__element_reference_left_bracket] = ACTIONS(11064),
    [sym__scope_double_colon] = ACTIONS(11064),
    [sym__binary_minus] = ACTIONS(11064),
    [sym__binary_star] = ACTIONS(11064),
    [anon_sym_LBRACE] = ACTIONS(11064),
    [anon_sym_RBRACE] = ACTIONS(11064),
    [anon_sym_RPAREN] = ACTIONS(11064),
    [anon_sym_DOT] = ACTIONS(11066),
    [anon_sym_COMMA] = ACTIONS(11064),
    [anon_sym_PIPE] = ACTIONS(11066),
    [anon_sym_SEMI] = ACTIONS(11064),
    [anon_sym_STAR_STAR] = ACTIONS(11066),
    [anon_sym_AMP] = ACTIONS(11066),
    [anon_sym_EQ] = ACTIONS(11066),
    [anon_sym_LT] = ACTIONS(11066),
    [anon_sym_in] = ACTIONS(11064),
    [anon_sym_do] = ACTIONS(11064),
    [anon_sym_RBRACK] = ACTIONS(11064),
    [anon_sym_AMP_DOT] = ACTIONS(11064),
    [anon_sym_PLUS_EQ] = ACTIONS(11064),
    [anon_sym_DASH_EQ] = ACTIONS(11064),
    [anon_sym_STAR_EQ] = ACTIONS(11064),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(11064),
    [anon_sym_SLASH_EQ] = ACTIONS(11064),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(11064),
    [anon_sym_PIPE_EQ] = ACTIONS(11064),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(11064),
    [anon_sym_AMP_EQ] = ACTIONS(11064),
    [anon_sym_PERCENT_EQ] = ACTIONS(11064),
    [anon_sym_GT_GT_EQ] = ACTIONS(11064),
    [anon_sym_LT_LT_EQ] = ACTIONS(11064),
    [anon_sym_CARET_EQ] = ACTIONS(11064),
    [anon_sym_QMARK] = ACTIONS(11064),
    [anon_sym_COLON] = ACTIONS(11064),
    [anon_sym_DOT_DOT] = ACTIONS(11066),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11064),
    [anon_sym_and] = ACTIONS(11064),
    [anon_sym_or] = ACTIONS(11064),
    [anon_sym_PIPE_PIPE] = ACTIONS(11066),
    [anon_sym_AMP_AMP] = ACTIONS(11066),
    [anon_sym_LT_LT] = ACTIONS(11066),
    [anon_sym_GT_GT] = ACTIONS(11066),
    [anon_sym_EQ_EQ] = ACTIONS(11066),
    [anon_sym_BANG_EQ] = ACTIONS(11064),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11064),
    [anon_sym_LT_EQ_GT] = ACTIONS(11064),
    [anon_sym_EQ_TILDE] = ACTIONS(11064),
    [anon_sym_BANG_TILDE] = ACTIONS(11064),
    [anon_sym_LT_EQ] = ACTIONS(11066),
    [anon_sym_GT] = ACTIONS(11066),
    [anon_sym_GT_EQ] = ACTIONS(11064),
    [anon_sym_CARET] = ACTIONS(11066),
    [anon_sym_PLUS] = ACTIONS(11066),
    [anon_sym_SLASH] = ACTIONS(11066),
    [anon_sym_PERCENT] = ACTIONS(11066),
    [sym_comment] = ACTIONS(256),
  },
  [9307] = {
    [anon_sym_RBRACE] = ACTIONS(14700),
    [sym_comment] = ACTIONS(110),
  },
  [9308] = {
    [sym__simple_heredoc_body] = ACTIONS(11094),
    [sym__heredoc_body_beginning] = ACTIONS(11094),
    [sym__element_reference_left_bracket] = ACTIONS(11094),
    [sym__scope_double_colon] = ACTIONS(11094),
    [sym__binary_minus] = ACTIONS(11094),
    [sym__binary_star] = ACTIONS(11094),
    [anon_sym_LBRACE] = ACTIONS(11094),
    [anon_sym_RBRACE] = ACTIONS(11094),
    [anon_sym_RPAREN] = ACTIONS(11094),
    [anon_sym_DOT] = ACTIONS(11096),
    [anon_sym_COMMA] = ACTIONS(11094),
    [anon_sym_PIPE] = ACTIONS(11096),
    [anon_sym_SEMI] = ACTIONS(11094),
    [anon_sym_STAR_STAR] = ACTIONS(11096),
    [anon_sym_AMP] = ACTIONS(11096),
    [anon_sym_EQ] = ACTIONS(11096),
    [anon_sym_LT] = ACTIONS(11096),
    [anon_sym_in] = ACTIONS(11094),
    [anon_sym_do] = ACTIONS(11094),
    [anon_sym_RBRACK] = ACTIONS(11094),
    [anon_sym_AMP_DOT] = ACTIONS(11094),
    [anon_sym_PLUS_EQ] = ACTIONS(11094),
    [anon_sym_DASH_EQ] = ACTIONS(11094),
    [anon_sym_STAR_EQ] = ACTIONS(11094),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(11094),
    [anon_sym_SLASH_EQ] = ACTIONS(11094),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(11094),
    [anon_sym_PIPE_EQ] = ACTIONS(11094),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(11094),
    [anon_sym_AMP_EQ] = ACTIONS(11094),
    [anon_sym_PERCENT_EQ] = ACTIONS(11094),
    [anon_sym_GT_GT_EQ] = ACTIONS(11094),
    [anon_sym_LT_LT_EQ] = ACTIONS(11094),
    [anon_sym_CARET_EQ] = ACTIONS(11094),
    [anon_sym_QMARK] = ACTIONS(11094),
    [anon_sym_COLON] = ACTIONS(11094),
    [anon_sym_DOT_DOT] = ACTIONS(11096),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11094),
    [anon_sym_and] = ACTIONS(11094),
    [anon_sym_or] = ACTIONS(11094),
    [anon_sym_PIPE_PIPE] = ACTIONS(11096),
    [anon_sym_AMP_AMP] = ACTIONS(11096),
    [anon_sym_LT_LT] = ACTIONS(11096),
    [anon_sym_GT_GT] = ACTIONS(11096),
    [anon_sym_EQ_EQ] = ACTIONS(11096),
    [anon_sym_BANG_EQ] = ACTIONS(11094),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11094),
    [anon_sym_LT_EQ_GT] = ACTIONS(11094),
    [anon_sym_EQ_TILDE] = ACTIONS(11094),
    [anon_sym_BANG_TILDE] = ACTIONS(11094),
    [anon_sym_LT_EQ] = ACTIONS(11096),
    [anon_sym_GT] = ACTIONS(11096),
    [anon_sym_GT_EQ] = ACTIONS(11094),
    [anon_sym_CARET] = ACTIONS(11096),
    [anon_sym_PLUS] = ACTIONS(11096),
    [anon_sym_SLASH] = ACTIONS(11096),
    [anon_sym_PERCENT] = ACTIONS(11096),
    [sym_comment] = ACTIONS(256),
  },
  [9309] = {
    [anon_sym_end] = ACTIONS(14702),
    [sym_comment] = ACTIONS(110),
  },
  [9310] = {
    [sym__statements] = STATE(11827),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14704),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9311] = {
    [sym__statements] = STATE(11827),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(11828),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14704),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9312] = {
    [sym__simple_heredoc_body] = ACTIONS(8568),
    [sym__heredoc_body_beginning] = ACTIONS(8568),
    [sym__element_reference_left_bracket] = ACTIONS(8568),
    [sym__scope_double_colon] = ACTIONS(8568),
    [sym__binary_minus] = ACTIONS(12158),
    [sym__binary_star] = ACTIONS(12160),
    [anon_sym_LBRACE] = ACTIONS(8568),
    [anon_sym_RBRACE] = ACTIONS(8568),
    [anon_sym_DOT] = ACTIONS(9468),
    [anon_sym_COMMA] = ACTIONS(8568),
    [anon_sym_PIPE] = ACTIONS(12162),
    [anon_sym_STAR_STAR] = ACTIONS(12164),
    [anon_sym_AMP] = ACTIONS(12166),
    [anon_sym_EQ] = ACTIONS(9468),
    [anon_sym_LT] = ACTIONS(12168),
    [anon_sym_do] = ACTIONS(8568),
    [anon_sym_AMP_DOT] = ACTIONS(8568),
    [anon_sym_PLUS_EQ] = ACTIONS(8568),
    [anon_sym_DASH_EQ] = ACTIONS(8568),
    [anon_sym_STAR_EQ] = ACTIONS(8568),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8568),
    [anon_sym_SLASH_EQ] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8568),
    [anon_sym_PIPE_EQ] = ACTIONS(8568),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8568),
    [anon_sym_AMP_EQ] = ACTIONS(8568),
    [anon_sym_PERCENT_EQ] = ACTIONS(8568),
    [anon_sym_GT_GT_EQ] = ACTIONS(8568),
    [anon_sym_LT_LT_EQ] = ACTIONS(8568),
    [anon_sym_CARET_EQ] = ACTIONS(8568),
    [anon_sym_QMARK] = ACTIONS(12170),
    [anon_sym_DOT_DOT] = ACTIONS(12172),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12174),
    [anon_sym_and] = ACTIONS(8568),
    [anon_sym_or] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE] = ACTIONS(12176),
    [anon_sym_AMP_AMP] = ACTIONS(12176),
    [anon_sym_LT_LT] = ACTIONS(12178),
    [anon_sym_GT_GT] = ACTIONS(12178),
    [anon_sym_EQ_EQ] = ACTIONS(12176),
    [anon_sym_BANG_EQ] = ACTIONS(12180),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12180),
    [anon_sym_LT_EQ_GT] = ACTIONS(12180),
    [anon_sym_EQ_TILDE] = ACTIONS(12180),
    [anon_sym_BANG_TILDE] = ACTIONS(12180),
    [anon_sym_LT_EQ] = ACTIONS(12168),
    [anon_sym_GT] = ACTIONS(12168),
    [anon_sym_GT_EQ] = ACTIONS(12182),
    [anon_sym_CARET] = ACTIONS(12162),
    [anon_sym_PLUS] = ACTIONS(12184),
    [anon_sym_SLASH] = ACTIONS(12164),
    [anon_sym_PERCENT] = ACTIONS(12164),
    [sym_comment] = ACTIONS(256),
  },
  [9313] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__element_reference_left_bracket] = ACTIONS(7008),
    [sym__scope_double_colon] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(8500),
    [anon_sym_LBRACE] = ACTIONS(7008),
    [anon_sym_RBRACE] = ACTIONS(7008),
    [anon_sym_DOT] = ACTIONS(7010),
    [anon_sym_COMMA] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_STAR_STAR] = ACTIONS(8504),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_EQ] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_do] = ACTIONS(7008),
    [anon_sym_EQ_GT] = ACTIONS(7008),
    [anon_sym_AMP_DOT] = ACTIONS(7008),
    [anon_sym_PLUS_EQ] = ACTIONS(7008),
    [anon_sym_DASH_EQ] = ACTIONS(7008),
    [anon_sym_STAR_EQ] = ACTIONS(7008),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7008),
    [anon_sym_SLASH_EQ] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7008),
    [anon_sym_PIPE_EQ] = ACTIONS(7008),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7008),
    [anon_sym_AMP_EQ] = ACTIONS(7008),
    [anon_sym_PERCENT_EQ] = ACTIONS(7008),
    [anon_sym_GT_GT_EQ] = ACTIONS(7008),
    [anon_sym_LT_LT_EQ] = ACTIONS(7008),
    [anon_sym_CARET_EQ] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7010),
    [anon_sym_AMP_AMP] = ACTIONS(7010),
    [anon_sym_LT_LT] = ACTIONS(7010),
    [anon_sym_GT_GT] = ACTIONS(7010),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7010),
    [anon_sym_PLUS] = ACTIONS(7010),
    [anon_sym_SLASH] = ACTIONS(8504),
    [anon_sym_PERCENT] = ACTIONS(8504),
    [sym_comment] = ACTIONS(256),
  },
  [9314] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__element_reference_left_bracket] = ACTIONS(7012),
    [sym__scope_double_colon] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_LBRACE] = ACTIONS(7012),
    [anon_sym_RBRACE] = ACTIONS(7012),
    [anon_sym_DOT] = ACTIONS(7014),
    [anon_sym_COMMA] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_STAR_STAR] = ACTIONS(8504),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_EQ] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_do] = ACTIONS(7012),
    [anon_sym_EQ_GT] = ACTIONS(7012),
    [anon_sym_AMP_DOT] = ACTIONS(7012),
    [anon_sym_PLUS_EQ] = ACTIONS(7012),
    [anon_sym_DASH_EQ] = ACTIONS(7012),
    [anon_sym_STAR_EQ] = ACTIONS(7012),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7012),
    [anon_sym_SLASH_EQ] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7012),
    [anon_sym_PIPE_EQ] = ACTIONS(7012),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7012),
    [anon_sym_AMP_EQ] = ACTIONS(7012),
    [anon_sym_PERCENT_EQ] = ACTIONS(7012),
    [anon_sym_GT_GT_EQ] = ACTIONS(7012),
    [anon_sym_LT_LT_EQ] = ACTIONS(7012),
    [anon_sym_CARET_EQ] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7014),
    [anon_sym_AMP_AMP] = ACTIONS(7014),
    [anon_sym_LT_LT] = ACTIONS(7014),
    [anon_sym_GT_GT] = ACTIONS(7014),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7014),
    [anon_sym_PLUS] = ACTIONS(7014),
    [anon_sym_SLASH] = ACTIONS(7014),
    [anon_sym_PERCENT] = ACTIONS(7014),
    [sym_comment] = ACTIONS(256),
  },
  [9315] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(8498),
    [sym__binary_star] = ACTIONS(8500),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_RBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(8504),
    [anon_sym_AMP] = ACTIONS(8506),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(8518),
    [anon_sym_GT_GT] = ACTIONS(8518),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(8524),
    [anon_sym_SLASH] = ACTIONS(8504),
    [anon_sym_PERCENT] = ACTIONS(8504),
    [sym_comment] = ACTIONS(256),
  },
  [9316] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_RBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(8504),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7018),
    [anon_sym_GT_GT] = ACTIONS(7018),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(7018),
    [anon_sym_SLASH] = ACTIONS(7018),
    [anon_sym_PERCENT] = ACTIONS(7018),
    [sym_comment] = ACTIONS(256),
  },
  [9317] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(8498),
    [sym__binary_star] = ACTIONS(8500),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_RBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(8504),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(8518),
    [anon_sym_GT_GT] = ACTIONS(8518),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(8524),
    [anon_sym_SLASH] = ACTIONS(8504),
    [anon_sym_PERCENT] = ACTIONS(8504),
    [sym_comment] = ACTIONS(256),
  },
  [9318] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(8498),
    [sym__binary_star] = ACTIONS(8500),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_RBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(8502),
    [anon_sym_STAR_STAR] = ACTIONS(8504),
    [anon_sym_AMP] = ACTIONS(8506),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(8518),
    [anon_sym_GT_GT] = ACTIONS(8518),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(8502),
    [anon_sym_PLUS] = ACTIONS(8524),
    [anon_sym_SLASH] = ACTIONS(8504),
    [anon_sym_PERCENT] = ACTIONS(8504),
    [sym_comment] = ACTIONS(256),
  },
  [9319] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(14706),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [9320] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__element_reference_left_bracket] = ACTIONS(7108),
    [sym__scope_double_colon] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(8498),
    [sym__binary_star] = ACTIONS(8500),
    [anon_sym_LBRACE] = ACTIONS(7108),
    [anon_sym_RBRACE] = ACTIONS(7108),
    [anon_sym_DOT] = ACTIONS(9472),
    [anon_sym_COMMA] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(8502),
    [anon_sym_STAR_STAR] = ACTIONS(8504),
    [anon_sym_AMP] = ACTIONS(8506),
    [anon_sym_EQ] = ACTIONS(9472),
    [anon_sym_LT] = ACTIONS(8508),
    [anon_sym_do] = ACTIONS(7108),
    [anon_sym_EQ_GT] = ACTIONS(7108),
    [anon_sym_AMP_DOT] = ACTIONS(7108),
    [anon_sym_PLUS_EQ] = ACTIONS(7108),
    [anon_sym_DASH_EQ] = ACTIONS(7108),
    [anon_sym_STAR_EQ] = ACTIONS(7108),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7108),
    [anon_sym_SLASH_EQ] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7108),
    [anon_sym_PIPE_EQ] = ACTIONS(7108),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7108),
    [anon_sym_AMP_EQ] = ACTIONS(7108),
    [anon_sym_PERCENT_EQ] = ACTIONS(7108),
    [anon_sym_GT_GT_EQ] = ACTIONS(7108),
    [anon_sym_LT_LT_EQ] = ACTIONS(7108),
    [anon_sym_CARET_EQ] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(8512),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8514),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(8516),
    [anon_sym_AMP_AMP] = ACTIONS(8516),
    [anon_sym_LT_LT] = ACTIONS(8518),
    [anon_sym_GT_GT] = ACTIONS(8518),
    [anon_sym_EQ_EQ] = ACTIONS(8516),
    [anon_sym_BANG_EQ] = ACTIONS(8520),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8520),
    [anon_sym_LT_EQ_GT] = ACTIONS(8520),
    [anon_sym_EQ_TILDE] = ACTIONS(8520),
    [anon_sym_BANG_TILDE] = ACTIONS(8520),
    [anon_sym_LT_EQ] = ACTIONS(8508),
    [anon_sym_GT] = ACTIONS(8508),
    [anon_sym_GT_EQ] = ACTIONS(8522),
    [anon_sym_CARET] = ACTIONS(8502),
    [anon_sym_PLUS] = ACTIONS(8524),
    [anon_sym_SLASH] = ACTIONS(8504),
    [anon_sym_PERCENT] = ACTIONS(8504),
    [sym_comment] = ACTIONS(256),
  },
  [9321] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(8498),
    [sym__binary_star] = ACTIONS(8500),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_RBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(8502),
    [anon_sym_STAR_STAR] = ACTIONS(8504),
    [anon_sym_AMP] = ACTIONS(8506),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(8508),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(8510),
    [anon_sym_DOT_DOT] = ACTIONS(8512),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8514),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(8516),
    [anon_sym_AMP_AMP] = ACTIONS(8516),
    [anon_sym_LT_LT] = ACTIONS(8518),
    [anon_sym_GT_GT] = ACTIONS(8518),
    [anon_sym_EQ_EQ] = ACTIONS(8516),
    [anon_sym_BANG_EQ] = ACTIONS(8520),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8520),
    [anon_sym_LT_EQ_GT] = ACTIONS(8520),
    [anon_sym_EQ_TILDE] = ACTIONS(8520),
    [anon_sym_BANG_TILDE] = ACTIONS(8520),
    [anon_sym_LT_EQ] = ACTIONS(8508),
    [anon_sym_GT] = ACTIONS(8508),
    [anon_sym_GT_EQ] = ACTIONS(8522),
    [anon_sym_CARET] = ACTIONS(8502),
    [anon_sym_PLUS] = ACTIONS(8524),
    [anon_sym_SLASH] = ACTIONS(8504),
    [anon_sym_PERCENT] = ACTIONS(8504),
    [sym_comment] = ACTIONS(256),
  },
  [9322] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(8498),
    [sym__binary_star] = ACTIONS(8500),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_RBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(8502),
    [anon_sym_STAR_STAR] = ACTIONS(8504),
    [anon_sym_AMP] = ACTIONS(8506),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(8508),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(8518),
    [anon_sym_GT_GT] = ACTIONS(8518),
    [anon_sym_EQ_EQ] = ACTIONS(8516),
    [anon_sym_BANG_EQ] = ACTIONS(8520),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8520),
    [anon_sym_LT_EQ_GT] = ACTIONS(8520),
    [anon_sym_EQ_TILDE] = ACTIONS(8520),
    [anon_sym_BANG_TILDE] = ACTIONS(8520),
    [anon_sym_LT_EQ] = ACTIONS(8508),
    [anon_sym_GT] = ACTIONS(8508),
    [anon_sym_GT_EQ] = ACTIONS(8522),
    [anon_sym_CARET] = ACTIONS(8502),
    [anon_sym_PLUS] = ACTIONS(8524),
    [anon_sym_SLASH] = ACTIONS(8504),
    [anon_sym_PERCENT] = ACTIONS(8504),
    [sym_comment] = ACTIONS(256),
  },
  [9323] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(8498),
    [sym__binary_star] = ACTIONS(8500),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_RBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(8504),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7018),
    [anon_sym_GT_GT] = ACTIONS(7018),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(8524),
    [anon_sym_SLASH] = ACTIONS(8504),
    [anon_sym_PERCENT] = ACTIONS(8504),
    [sym_comment] = ACTIONS(256),
  },
  [9324] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(8500),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_RBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(8504),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7018),
    [anon_sym_GT_GT] = ACTIONS(7018),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(7018),
    [anon_sym_SLASH] = ACTIONS(8504),
    [anon_sym_PERCENT] = ACTIONS(8504),
    [sym_comment] = ACTIONS(256),
  },
  [9325] = {
    [sym__simple_heredoc_body] = ACTIONS(6902),
    [sym__heredoc_body_beginning] = ACTIONS(6902),
    [sym__element_reference_left_bracket] = ACTIONS(6902),
    [sym__scope_double_colon] = ACTIONS(6902),
    [sym__binary_minus] = ACTIONS(6902),
    [sym__binary_star] = ACTIONS(6902),
    [anon_sym_LBRACE] = ACTIONS(6902),
    [anon_sym_RBRACE] = ACTIONS(6902),
    [anon_sym_RPAREN] = ACTIONS(6902),
    [anon_sym_DOT] = ACTIONS(6904),
    [anon_sym_COMMA] = ACTIONS(6902),
    [anon_sym_PIPE] = ACTIONS(6904),
    [anon_sym_SEMI] = ACTIONS(6902),
    [anon_sym_STAR_STAR] = ACTIONS(6904),
    [anon_sym_AMP] = ACTIONS(6904),
    [anon_sym_EQ] = ACTIONS(6904),
    [anon_sym_LT] = ACTIONS(6904),
    [anon_sym_in] = ACTIONS(6902),
    [anon_sym_do] = ACTIONS(6902),
    [anon_sym_RBRACK] = ACTIONS(6902),
    [anon_sym_AMP_DOT] = ACTIONS(6902),
    [anon_sym_PLUS_EQ] = ACTIONS(6902),
    [anon_sym_DASH_EQ] = ACTIONS(6902),
    [anon_sym_STAR_EQ] = ACTIONS(6902),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6902),
    [anon_sym_SLASH_EQ] = ACTIONS(6902),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6902),
    [anon_sym_PIPE_EQ] = ACTIONS(6902),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6902),
    [anon_sym_AMP_EQ] = ACTIONS(6902),
    [anon_sym_PERCENT_EQ] = ACTIONS(6902),
    [anon_sym_GT_GT_EQ] = ACTIONS(6902),
    [anon_sym_LT_LT_EQ] = ACTIONS(6902),
    [anon_sym_CARET_EQ] = ACTIONS(6902),
    [anon_sym_QMARK] = ACTIONS(6902),
    [anon_sym_COLON] = ACTIONS(6902),
    [anon_sym_DOT_DOT] = ACTIONS(6904),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6902),
    [anon_sym_and] = ACTIONS(6902),
    [anon_sym_or] = ACTIONS(6902),
    [anon_sym_PIPE_PIPE] = ACTIONS(6904),
    [anon_sym_AMP_AMP] = ACTIONS(6904),
    [anon_sym_LT_LT] = ACTIONS(6904),
    [anon_sym_GT_GT] = ACTIONS(6904),
    [anon_sym_EQ_EQ] = ACTIONS(6904),
    [anon_sym_BANG_EQ] = ACTIONS(6902),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6902),
    [anon_sym_LT_EQ_GT] = ACTIONS(6902),
    [anon_sym_EQ_TILDE] = ACTIONS(6902),
    [anon_sym_BANG_TILDE] = ACTIONS(6902),
    [anon_sym_LT_EQ] = ACTIONS(6904),
    [anon_sym_GT] = ACTIONS(6904),
    [anon_sym_GT_EQ] = ACTIONS(6902),
    [anon_sym_CARET] = ACTIONS(6904),
    [anon_sym_PLUS] = ACTIONS(6904),
    [anon_sym_SLASH] = ACTIONS(6904),
    [anon_sym_PERCENT] = ACTIONS(6904),
    [sym_comment] = ACTIONS(256),
  },
  [9326] = {
    [sym__heredoc_body_middle] = ACTIONS(4108),
    [sym__heredoc_body_end] = ACTIONS(14708),
    [anon_sym_if] = ACTIONS(4112),
    [anon_sym_unless] = ACTIONS(4114),
    [anon_sym_while] = ACTIONS(4116),
    [anon_sym_until] = ACTIONS(4118),
    [anon_sym_rescue] = ACTIONS(4120),
    [sym_comment] = ACTIONS(110),
  },
  [9327] = {
    [sym__statement] = STATE(11831),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [9328] = {
    [sym__simple_heredoc_body] = ACTIONS(9492),
    [sym__heredoc_body_beginning] = ACTIONS(9492),
    [sym__element_reference_left_bracket] = ACTIONS(9492),
    [sym__scope_double_colon] = ACTIONS(9492),
    [sym__binary_minus] = ACTIONS(9492),
    [sym__binary_star] = ACTIONS(9492),
    [anon_sym_LBRACE] = ACTIONS(9492),
    [anon_sym_RBRACE] = ACTIONS(9492),
    [anon_sym_RPAREN] = ACTIONS(9492),
    [anon_sym_DOT] = ACTIONS(9494),
    [anon_sym_COMMA] = ACTIONS(9492),
    [anon_sym_PIPE] = ACTIONS(9494),
    [anon_sym_SEMI] = ACTIONS(9492),
    [anon_sym_STAR_STAR] = ACTIONS(9494),
    [anon_sym_AMP] = ACTIONS(9494),
    [anon_sym_EQ] = ACTIONS(9494),
    [anon_sym_LT] = ACTIONS(9494),
    [anon_sym_in] = ACTIONS(9492),
    [anon_sym_do] = ACTIONS(9492),
    [anon_sym_RBRACK] = ACTIONS(9492),
    [anon_sym_AMP_DOT] = ACTIONS(9492),
    [anon_sym_PLUS_EQ] = ACTIONS(9492),
    [anon_sym_DASH_EQ] = ACTIONS(9492),
    [anon_sym_STAR_EQ] = ACTIONS(9492),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9492),
    [anon_sym_SLASH_EQ] = ACTIONS(9492),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9492),
    [anon_sym_PIPE_EQ] = ACTIONS(9492),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9492),
    [anon_sym_AMP_EQ] = ACTIONS(9492),
    [anon_sym_PERCENT_EQ] = ACTIONS(9492),
    [anon_sym_GT_GT_EQ] = ACTIONS(9492),
    [anon_sym_LT_LT_EQ] = ACTIONS(9492),
    [anon_sym_CARET_EQ] = ACTIONS(9492),
    [anon_sym_QMARK] = ACTIONS(9492),
    [anon_sym_COLON] = ACTIONS(9492),
    [anon_sym_DOT_DOT] = ACTIONS(9494),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9492),
    [anon_sym_and] = ACTIONS(9492),
    [anon_sym_or] = ACTIONS(9492),
    [anon_sym_PIPE_PIPE] = ACTIONS(9494),
    [anon_sym_AMP_AMP] = ACTIONS(9494),
    [anon_sym_LT_LT] = ACTIONS(9494),
    [anon_sym_GT_GT] = ACTIONS(9494),
    [anon_sym_EQ_EQ] = ACTIONS(9494),
    [anon_sym_BANG_EQ] = ACTIONS(9492),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9492),
    [anon_sym_LT_EQ_GT] = ACTIONS(9492),
    [anon_sym_EQ_TILDE] = ACTIONS(9492),
    [anon_sym_BANG_TILDE] = ACTIONS(9492),
    [anon_sym_LT_EQ] = ACTIONS(9494),
    [anon_sym_GT] = ACTIONS(9494),
    [anon_sym_GT_EQ] = ACTIONS(9492),
    [anon_sym_CARET] = ACTIONS(9494),
    [anon_sym_PLUS] = ACTIONS(9494),
    [anon_sym_SLASH] = ACTIONS(9494),
    [anon_sym_PERCENT] = ACTIONS(9494),
    [sym_comment] = ACTIONS(256),
  },
  [9329] = {
    [sym__simple_heredoc_body] = ACTIONS(9496),
    [sym__heredoc_body_beginning] = ACTIONS(9496),
    [sym__element_reference_left_bracket] = ACTIONS(9496),
    [sym__scope_double_colon] = ACTIONS(9496),
    [sym__binary_minus] = ACTIONS(9496),
    [sym__binary_star] = ACTIONS(9496),
    [anon_sym_LBRACE] = ACTIONS(9496),
    [anon_sym_RBRACE] = ACTIONS(9496),
    [anon_sym_RPAREN] = ACTIONS(9496),
    [anon_sym_DOT] = ACTIONS(9498),
    [anon_sym_COMMA] = ACTIONS(9496),
    [anon_sym_PIPE] = ACTIONS(9498),
    [anon_sym_SEMI] = ACTIONS(9496),
    [anon_sym_STAR_STAR] = ACTIONS(9498),
    [anon_sym_AMP] = ACTIONS(9498),
    [anon_sym_EQ] = ACTIONS(9498),
    [anon_sym_LT] = ACTIONS(9498),
    [anon_sym_in] = ACTIONS(9496),
    [anon_sym_do] = ACTIONS(9496),
    [anon_sym_RBRACK] = ACTIONS(9496),
    [anon_sym_AMP_DOT] = ACTIONS(9496),
    [anon_sym_PLUS_EQ] = ACTIONS(9496),
    [anon_sym_DASH_EQ] = ACTIONS(9496),
    [anon_sym_STAR_EQ] = ACTIONS(9496),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9496),
    [anon_sym_SLASH_EQ] = ACTIONS(9496),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9496),
    [anon_sym_PIPE_EQ] = ACTIONS(9496),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9496),
    [anon_sym_AMP_EQ] = ACTIONS(9496),
    [anon_sym_PERCENT_EQ] = ACTIONS(9496),
    [anon_sym_GT_GT_EQ] = ACTIONS(9496),
    [anon_sym_LT_LT_EQ] = ACTIONS(9496),
    [anon_sym_CARET_EQ] = ACTIONS(9496),
    [anon_sym_QMARK] = ACTIONS(9496),
    [anon_sym_COLON] = ACTIONS(9496),
    [anon_sym_DOT_DOT] = ACTIONS(9498),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9496),
    [anon_sym_and] = ACTIONS(9496),
    [anon_sym_or] = ACTIONS(9496),
    [anon_sym_PIPE_PIPE] = ACTIONS(9498),
    [anon_sym_AMP_AMP] = ACTIONS(9498),
    [anon_sym_LT_LT] = ACTIONS(9498),
    [anon_sym_GT_GT] = ACTIONS(9498),
    [anon_sym_EQ_EQ] = ACTIONS(9498),
    [anon_sym_BANG_EQ] = ACTIONS(9496),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9496),
    [anon_sym_LT_EQ_GT] = ACTIONS(9496),
    [anon_sym_EQ_TILDE] = ACTIONS(9496),
    [anon_sym_BANG_TILDE] = ACTIONS(9496),
    [anon_sym_LT_EQ] = ACTIONS(9498),
    [anon_sym_GT] = ACTIONS(9498),
    [anon_sym_GT_EQ] = ACTIONS(9496),
    [anon_sym_CARET] = ACTIONS(9498),
    [anon_sym_PLUS] = ACTIONS(9498),
    [anon_sym_SLASH] = ACTIONS(9498),
    [anon_sym_PERCENT] = ACTIONS(9498),
    [sym_comment] = ACTIONS(256),
  },
  [9330] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(2956),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2957),
    [sym_call] = STATE(2957),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(11832),
    [sym_splat_argument] = STATE(2961),
    [sym_hash_splat_argument] = STATE(2961),
    [sym_block_argument] = STATE(2961),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(2963),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2964),
    [sym__variable] = STATE(2957),
    [sym_reserved_identifier] = STATE(2965),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(2966),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(2961),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__block_ampersand] = ACTIONS(4326),
    [sym__splat_star] = ACTIONS(4328),
    [sym__unary_minus] = ACTIONS(4332),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(12202),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(4336),
    [anon_sym_yield] = ACTIONS(4338),
    [anon_sym_break] = ACTIONS(4340),
    [anon_sym_next] = ACTIONS(4342),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(8490),
    [anon_sym_defined_QMARK] = ACTIONS(4346),
    [anon_sym_not] = ACTIONS(4348),
    [anon_sym_BANG] = ACTIONS(4352),
    [anon_sym_TILDE] = ACTIONS(4352),
    [sym_constant] = ACTIONS(4354),
    [sym_identifier] = ACTIONS(4354),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [9331] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(2956),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(2957),
    [sym_call] = STATE(2957),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(11832),
    [sym_splat_argument] = STATE(2961),
    [sym_hash_splat_argument] = STATE(2961),
    [sym_block_argument] = STATE(2961),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(2963),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2964),
    [sym__variable] = STATE(2957),
    [sym_reserved_identifier] = STATE(2965),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(2966),
    [sym_subshell] = STATE(1062),
    [sym_heredoc_end] = STATE(11833),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(2961),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__block_ampersand] = ACTIONS(4326),
    [sym__splat_star] = ACTIONS(4328),
    [sym__unary_minus] = ACTIONS(4332),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(12202),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(4336),
    [anon_sym_yield] = ACTIONS(4338),
    [anon_sym_break] = ACTIONS(4340),
    [anon_sym_next] = ACTIONS(4342),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(8490),
    [anon_sym_defined_QMARK] = ACTIONS(4346),
    [anon_sym_not] = ACTIONS(4348),
    [anon_sym_BANG] = ACTIONS(4352),
    [anon_sym_TILDE] = ACTIONS(4352),
    [sym_constant] = ACTIONS(4354),
    [sym_identifier] = ACTIONS(4354),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [9332] = {
    [sym_heredoc_end] = STATE(9328),
    [sym__simple_heredoc_body] = ACTIONS(8530),
    [sym__heredoc_body_beginning] = ACTIONS(8532),
    [sym__element_reference_left_bracket] = ACTIONS(9500),
    [sym__scope_double_colon] = ACTIONS(9500),
    [sym__binary_minus] = ACTIONS(9500),
    [sym__binary_star] = ACTIONS(9500),
    [anon_sym_LBRACE] = ACTIONS(9500),
    [anon_sym_RBRACE] = ACTIONS(9500),
    [anon_sym_RPAREN] = ACTIONS(9500),
    [anon_sym_DOT] = ACTIONS(9502),
    [anon_sym_COMMA] = ACTIONS(9500),
    [anon_sym_PIPE] = ACTIONS(9502),
    [anon_sym_SEMI] = ACTIONS(9500),
    [anon_sym_STAR_STAR] = ACTIONS(9502),
    [anon_sym_AMP] = ACTIONS(9502),
    [anon_sym_EQ] = ACTIONS(9502),
    [anon_sym_LT] = ACTIONS(9502),
    [anon_sym_in] = ACTIONS(9500),
    [anon_sym_do] = ACTIONS(9500),
    [anon_sym_RBRACK] = ACTIONS(9500),
    [anon_sym_AMP_DOT] = ACTIONS(9500),
    [anon_sym_PLUS_EQ] = ACTIONS(9500),
    [anon_sym_DASH_EQ] = ACTIONS(9500),
    [anon_sym_STAR_EQ] = ACTIONS(9500),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9500),
    [anon_sym_SLASH_EQ] = ACTIONS(9500),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9500),
    [anon_sym_PIPE_EQ] = ACTIONS(9500),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9500),
    [anon_sym_AMP_EQ] = ACTIONS(9500),
    [anon_sym_PERCENT_EQ] = ACTIONS(9500),
    [anon_sym_GT_GT_EQ] = ACTIONS(9500),
    [anon_sym_LT_LT_EQ] = ACTIONS(9500),
    [anon_sym_CARET_EQ] = ACTIONS(9500),
    [anon_sym_QMARK] = ACTIONS(9500),
    [anon_sym_COLON] = ACTIONS(9500),
    [anon_sym_DOT_DOT] = ACTIONS(9502),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9500),
    [anon_sym_and] = ACTIONS(9500),
    [anon_sym_or] = ACTIONS(9500),
    [anon_sym_PIPE_PIPE] = ACTIONS(9502),
    [anon_sym_AMP_AMP] = ACTIONS(9502),
    [anon_sym_LT_LT] = ACTIONS(9502),
    [anon_sym_GT_GT] = ACTIONS(9502),
    [anon_sym_EQ_EQ] = ACTIONS(9502),
    [anon_sym_BANG_EQ] = ACTIONS(9500),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9500),
    [anon_sym_LT_EQ_GT] = ACTIONS(9500),
    [anon_sym_EQ_TILDE] = ACTIONS(9500),
    [anon_sym_BANG_TILDE] = ACTIONS(9500),
    [anon_sym_LT_EQ] = ACTIONS(9502),
    [anon_sym_GT] = ACTIONS(9502),
    [anon_sym_GT_EQ] = ACTIONS(9500),
    [anon_sym_CARET] = ACTIONS(9502),
    [anon_sym_PLUS] = ACTIONS(9502),
    [anon_sym_SLASH] = ACTIONS(9502),
    [anon_sym_PERCENT] = ACTIONS(9502),
    [sym_comment] = ACTIONS(256),
  },
  [9333] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__element_reference_left_bracket] = ACTIONS(6346),
    [sym__scope_double_colon] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(8498),
    [sym__binary_star] = ACTIONS(8500),
    [anon_sym_LBRACE] = ACTIONS(6346),
    [anon_sym_RBRACE] = ACTIONS(6346),
    [anon_sym_DOT] = ACTIONS(7328),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(8502),
    [anon_sym_STAR_STAR] = ACTIONS(8504),
    [anon_sym_AMP] = ACTIONS(8506),
    [anon_sym_EQ] = ACTIONS(7328),
    [anon_sym_LT] = ACTIONS(8508),
    [anon_sym_do] = ACTIONS(6346),
    [anon_sym_EQ_GT] = ACTIONS(6346),
    [anon_sym_AMP_DOT] = ACTIONS(6346),
    [anon_sym_PLUS_EQ] = ACTIONS(6346),
    [anon_sym_DASH_EQ] = ACTIONS(6346),
    [anon_sym_STAR_EQ] = ACTIONS(6346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6346),
    [anon_sym_SLASH_EQ] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6346),
    [anon_sym_PIPE_EQ] = ACTIONS(6346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6346),
    [anon_sym_AMP_EQ] = ACTIONS(6346),
    [anon_sym_PERCENT_EQ] = ACTIONS(6346),
    [anon_sym_GT_GT_EQ] = ACTIONS(6346),
    [anon_sym_LT_LT_EQ] = ACTIONS(6346),
    [anon_sym_CARET_EQ] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(8510),
    [anon_sym_DOT_DOT] = ACTIONS(8512),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8514),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(8516),
    [anon_sym_AMP_AMP] = ACTIONS(8516),
    [anon_sym_LT_LT] = ACTIONS(8518),
    [anon_sym_GT_GT] = ACTIONS(8518),
    [anon_sym_EQ_EQ] = ACTIONS(8516),
    [anon_sym_BANG_EQ] = ACTIONS(8520),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8520),
    [anon_sym_LT_EQ_GT] = ACTIONS(8520),
    [anon_sym_EQ_TILDE] = ACTIONS(8520),
    [anon_sym_BANG_TILDE] = ACTIONS(8520),
    [anon_sym_LT_EQ] = ACTIONS(8508),
    [anon_sym_GT] = ACTIONS(8508),
    [anon_sym_GT_EQ] = ACTIONS(8522),
    [anon_sym_CARET] = ACTIONS(8502),
    [anon_sym_PLUS] = ACTIONS(8524),
    [anon_sym_SLASH] = ACTIONS(8504),
    [anon_sym_PERCENT] = ACTIONS(8504),
    [sym_comment] = ACTIONS(256),
  },
  [9334] = {
    [aux_sym_exceptions_repeat1] = STATE(11835),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__element_reference_left_bracket] = ACTIONS(7330),
    [sym__scope_double_colon] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_LBRACE] = ACTIONS(7330),
    [anon_sym_RBRACE] = ACTIONS(7330),
    [anon_sym_DOT] = ACTIONS(7332),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_STAR_STAR] = ACTIONS(7332),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_EQ] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_do] = ACTIONS(7330),
    [anon_sym_EQ_GT] = ACTIONS(7330),
    [anon_sym_AMP_DOT] = ACTIONS(7330),
    [anon_sym_PLUS_EQ] = ACTIONS(7330),
    [anon_sym_DASH_EQ] = ACTIONS(7330),
    [anon_sym_STAR_EQ] = ACTIONS(7330),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7330),
    [anon_sym_SLASH_EQ] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7330),
    [anon_sym_PIPE_EQ] = ACTIONS(7330),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7330),
    [anon_sym_AMP_EQ] = ACTIONS(7330),
    [anon_sym_PERCENT_EQ] = ACTIONS(7330),
    [anon_sym_GT_GT_EQ] = ACTIONS(7330),
    [anon_sym_LT_LT_EQ] = ACTIONS(7330),
    [anon_sym_CARET_EQ] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7332),
    [anon_sym_AMP_AMP] = ACTIONS(7332),
    [anon_sym_LT_LT] = ACTIONS(7332),
    [anon_sym_GT_GT] = ACTIONS(7332),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7332),
    [anon_sym_PLUS] = ACTIONS(7332),
    [anon_sym_SLASH] = ACTIONS(7332),
    [anon_sym_PERCENT] = ACTIONS(7332),
    [sym_comment] = ACTIONS(256),
  },
  [9335] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__element_reference_left_bracket] = ACTIONS(7344),
    [sym__scope_double_colon] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(8498),
    [sym__binary_star] = ACTIONS(8500),
    [anon_sym_LBRACE] = ACTIONS(7344),
    [anon_sym_RBRACE] = ACTIONS(7344),
    [anon_sym_DOT] = ACTIONS(9504),
    [anon_sym_COMMA] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(8502),
    [anon_sym_STAR_STAR] = ACTIONS(8504),
    [anon_sym_AMP] = ACTIONS(8506),
    [anon_sym_EQ] = ACTIONS(9504),
    [anon_sym_LT] = ACTIONS(8508),
    [anon_sym_do] = ACTIONS(7344),
    [anon_sym_EQ_GT] = ACTIONS(7344),
    [anon_sym_AMP_DOT] = ACTIONS(7344),
    [anon_sym_PLUS_EQ] = ACTIONS(7344),
    [anon_sym_DASH_EQ] = ACTIONS(7344),
    [anon_sym_STAR_EQ] = ACTIONS(7344),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7344),
    [anon_sym_SLASH_EQ] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7344),
    [anon_sym_PIPE_EQ] = ACTIONS(7344),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7344),
    [anon_sym_AMP_EQ] = ACTIONS(7344),
    [anon_sym_PERCENT_EQ] = ACTIONS(7344),
    [anon_sym_GT_GT_EQ] = ACTIONS(7344),
    [anon_sym_LT_LT_EQ] = ACTIONS(7344),
    [anon_sym_CARET_EQ] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(8510),
    [anon_sym_DOT_DOT] = ACTIONS(8512),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8514),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(8516),
    [anon_sym_AMP_AMP] = ACTIONS(8516),
    [anon_sym_LT_LT] = ACTIONS(8518),
    [anon_sym_GT_GT] = ACTIONS(8518),
    [anon_sym_EQ_EQ] = ACTIONS(8516),
    [anon_sym_BANG_EQ] = ACTIONS(8520),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8520),
    [anon_sym_LT_EQ_GT] = ACTIONS(8520),
    [anon_sym_EQ_TILDE] = ACTIONS(8520),
    [anon_sym_BANG_TILDE] = ACTIONS(8520),
    [anon_sym_LT_EQ] = ACTIONS(8508),
    [anon_sym_GT] = ACTIONS(8508),
    [anon_sym_GT_EQ] = ACTIONS(8522),
    [anon_sym_CARET] = ACTIONS(8502),
    [anon_sym_PLUS] = ACTIONS(8524),
    [anon_sym_SLASH] = ACTIONS(8504),
    [anon_sym_PERCENT] = ACTIONS(8504),
    [sym_comment] = ACTIONS(256),
  },
  [9336] = {
    [sym__simple_heredoc_body] = ACTIONS(8662),
    [sym__heredoc_body_beginning] = ACTIONS(8662),
    [sym__element_reference_left_bracket] = ACTIONS(8662),
    [sym__scope_double_colon] = ACTIONS(8662),
    [sym__binary_minus] = ACTIONS(12158),
    [sym__binary_star] = ACTIONS(12160),
    [anon_sym_LBRACE] = ACTIONS(8662),
    [anon_sym_RBRACE] = ACTIONS(8662),
    [anon_sym_DOT] = ACTIONS(9506),
    [anon_sym_COMMA] = ACTIONS(8662),
    [anon_sym_PIPE] = ACTIONS(12162),
    [anon_sym_STAR_STAR] = ACTIONS(12164),
    [anon_sym_AMP] = ACTIONS(12166),
    [anon_sym_EQ] = ACTIONS(9506),
    [anon_sym_LT] = ACTIONS(12168),
    [anon_sym_do] = ACTIONS(8662),
    [anon_sym_AMP_DOT] = ACTIONS(8662),
    [anon_sym_PLUS_EQ] = ACTIONS(8662),
    [anon_sym_DASH_EQ] = ACTIONS(8662),
    [anon_sym_STAR_EQ] = ACTIONS(8662),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8662),
    [anon_sym_SLASH_EQ] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8662),
    [anon_sym_PIPE_EQ] = ACTIONS(8662),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8662),
    [anon_sym_AMP_EQ] = ACTIONS(8662),
    [anon_sym_PERCENT_EQ] = ACTIONS(8662),
    [anon_sym_GT_GT_EQ] = ACTIONS(8662),
    [anon_sym_LT_LT_EQ] = ACTIONS(8662),
    [anon_sym_CARET_EQ] = ACTIONS(8662),
    [anon_sym_QMARK] = ACTIONS(12170),
    [anon_sym_DOT_DOT] = ACTIONS(12172),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12174),
    [anon_sym_and] = ACTIONS(8662),
    [anon_sym_or] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE] = ACTIONS(12176),
    [anon_sym_AMP_AMP] = ACTIONS(12176),
    [anon_sym_LT_LT] = ACTIONS(12178),
    [anon_sym_GT_GT] = ACTIONS(12178),
    [anon_sym_EQ_EQ] = ACTIONS(12176),
    [anon_sym_BANG_EQ] = ACTIONS(12180),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12180),
    [anon_sym_LT_EQ_GT] = ACTIONS(12180),
    [anon_sym_EQ_TILDE] = ACTIONS(12180),
    [anon_sym_BANG_TILDE] = ACTIONS(12180),
    [anon_sym_LT_EQ] = ACTIONS(12168),
    [anon_sym_GT] = ACTIONS(12168),
    [anon_sym_GT_EQ] = ACTIONS(12182),
    [anon_sym_CARET] = ACTIONS(12162),
    [anon_sym_PLUS] = ACTIONS(12184),
    [anon_sym_SLASH] = ACTIONS(12164),
    [anon_sym_PERCENT] = ACTIONS(12164),
    [sym_comment] = ACTIONS(256),
  },
  [9337] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(4286),
    [sym__binary_star] = ACTIONS(4288),
    [anon_sym_RBRACE] = ACTIONS(5338),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(4290),
    [anon_sym_STAR_STAR] = ACTIONS(4292),
    [anon_sym_AMP] = ACTIONS(4294),
    [anon_sym_LT] = ACTIONS(4296),
    [anon_sym_QMARK] = ACTIONS(4298),
    [anon_sym_DOT_DOT] = ACTIONS(4300),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4302),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(4306),
    [anon_sym_AMP_AMP] = ACTIONS(4306),
    [anon_sym_LT_LT] = ACTIONS(4308),
    [anon_sym_GT_GT] = ACTIONS(4308),
    [anon_sym_EQ_EQ] = ACTIONS(4310),
    [anon_sym_BANG_EQ] = ACTIONS(4306),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4306),
    [anon_sym_LT_EQ_GT] = ACTIONS(4306),
    [anon_sym_EQ_TILDE] = ACTIONS(4306),
    [anon_sym_BANG_TILDE] = ACTIONS(4306),
    [anon_sym_LT_EQ] = ACTIONS(4296),
    [anon_sym_GT] = ACTIONS(4296),
    [anon_sym_GT_EQ] = ACTIONS(4312),
    [anon_sym_CARET] = ACTIONS(4314),
    [anon_sym_PLUS] = ACTIONS(4316),
    [anon_sym_SLASH] = ACTIONS(4292),
    [anon_sym_PERCENT] = ACTIONS(4292),
    [sym_comment] = ACTIONS(110),
  },
  [9338] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6100),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(977),
    [sym_call] = STATE(977),
    [sym_method_call] = STATE(976),
    [sym_splat_argument] = STATE(4790),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym__arg_or_splat_arg] = STATE(11066),
    [sym_left_assignment_list] = STATE(978),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(979),
    [sym__variable] = STATE(977),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__splat_star] = ACTIONS(8544),
    [sym__unary_minus] = ACTIONS(1568),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(1578),
    [anon_sym_yield] = ACTIONS(1580),
    [anon_sym_break] = ACTIONS(1582),
    [anon_sym_next] = ACTIONS(1584),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(1604),
    [anon_sym_defined_QMARK] = ACTIONS(1606),
    [anon_sym_not] = ACTIONS(1608),
    [anon_sym_BANG] = ACTIONS(1610),
    [anon_sym_TILDE] = ACTIONS(1610),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9339] = {
    [sym__simple_heredoc_body] = ACTIONS(11422),
    [sym__heredoc_body_beginning] = ACTIONS(11422),
    [sym__binary_minus] = ACTIONS(11422),
    [sym__binary_star] = ACTIONS(11422),
    [anon_sym_RBRACE] = ACTIONS(11422),
    [anon_sym_COMMA] = ACTIONS(14710),
    [anon_sym_PIPE] = ACTIONS(11426),
    [anon_sym_STAR_STAR] = ACTIONS(11422),
    [anon_sym_AMP] = ACTIONS(11426),
    [anon_sym_LT] = ACTIONS(11426),
    [anon_sym_QMARK] = ACTIONS(11422),
    [anon_sym_DOT_DOT] = ACTIONS(11426),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11422),
    [anon_sym_and] = ACTIONS(11422),
    [anon_sym_or] = ACTIONS(11422),
    [anon_sym_PIPE_PIPE] = ACTIONS(11422),
    [anon_sym_AMP_AMP] = ACTIONS(11422),
    [anon_sym_LT_LT] = ACTIONS(11422),
    [anon_sym_GT_GT] = ACTIONS(11422),
    [anon_sym_EQ_EQ] = ACTIONS(11426),
    [anon_sym_BANG_EQ] = ACTIONS(11422),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11422),
    [anon_sym_LT_EQ_GT] = ACTIONS(11422),
    [anon_sym_EQ_TILDE] = ACTIONS(11422),
    [anon_sym_BANG_TILDE] = ACTIONS(11422),
    [anon_sym_LT_EQ] = ACTIONS(11426),
    [anon_sym_GT] = ACTIONS(11426),
    [anon_sym_GT_EQ] = ACTIONS(11422),
    [anon_sym_CARET] = ACTIONS(11422),
    [anon_sym_PLUS] = ACTIONS(11422),
    [anon_sym_SLASH] = ACTIONS(11422),
    [anon_sym_PERCENT] = ACTIONS(11422),
    [sym_comment] = ACTIONS(110),
  },
  [9340] = {
    [sym__element_reference_left_bracket] = ACTIONS(12724),
    [sym__scope_double_colon] = ACTIONS(12724),
    [sym__binary_minus] = ACTIONS(12724),
    [sym__binary_star] = ACTIONS(12724),
    [anon_sym_LBRACE] = ACTIONS(12724),
    [anon_sym_RPAREN] = ACTIONS(12724),
    [anon_sym_DOT] = ACTIONS(12726),
    [anon_sym_COMMA] = ACTIONS(12724),
    [anon_sym_PIPE] = ACTIONS(12726),
    [anon_sym_SEMI] = ACTIONS(12724),
    [anon_sym_STAR_STAR] = ACTIONS(12724),
    [anon_sym_AMP] = ACTIONS(12726),
    [anon_sym_LT] = ACTIONS(12726),
    [anon_sym_do] = ACTIONS(12724),
    [anon_sym_EQ_GT] = ACTIONS(12724),
    [anon_sym_AMP_DOT] = ACTIONS(12724),
    [anon_sym_QMARK] = ACTIONS(12724),
    [anon_sym_COLON] = ACTIONS(12724),
    [anon_sym_DOT_DOT] = ACTIONS(12726),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12724),
    [anon_sym_and] = ACTIONS(12724),
    [anon_sym_or] = ACTIONS(12724),
    [anon_sym_PIPE_PIPE] = ACTIONS(12724),
    [anon_sym_AMP_AMP] = ACTIONS(12724),
    [anon_sym_LT_LT] = ACTIONS(12724),
    [anon_sym_GT_GT] = ACTIONS(12724),
    [anon_sym_EQ_EQ] = ACTIONS(12726),
    [anon_sym_BANG_EQ] = ACTIONS(12724),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12724),
    [anon_sym_LT_EQ_GT] = ACTIONS(12724),
    [anon_sym_EQ_TILDE] = ACTIONS(12724),
    [anon_sym_BANG_TILDE] = ACTIONS(12724),
    [anon_sym_LT_EQ] = ACTIONS(12726),
    [anon_sym_GT] = ACTIONS(12726),
    [anon_sym_GT_EQ] = ACTIONS(12724),
    [anon_sym_CARET] = ACTIONS(12724),
    [anon_sym_PLUS] = ACTIONS(12724),
    [anon_sym_SLASH] = ACTIONS(12724),
    [anon_sym_PERCENT] = ACTIONS(12724),
    [sym_comment] = ACTIONS(110),
  },
  [9341] = {
    [anon_sym_end] = ACTIONS(14712),
    [sym_comment] = ACTIONS(110),
  },
  [9342] = {
    [sym__element_reference_left_bracket] = ACTIONS(12732),
    [sym__scope_double_colon] = ACTIONS(12732),
    [sym__binary_minus] = ACTIONS(12732),
    [sym__binary_star] = ACTIONS(12732),
    [anon_sym_LBRACE] = ACTIONS(12732),
    [anon_sym_RPAREN] = ACTIONS(12732),
    [anon_sym_DOT] = ACTIONS(12734),
    [anon_sym_COMMA] = ACTIONS(12732),
    [anon_sym_PIPE] = ACTIONS(12734),
    [anon_sym_SEMI] = ACTIONS(12732),
    [anon_sym_STAR_STAR] = ACTIONS(12732),
    [anon_sym_AMP] = ACTIONS(12734),
    [anon_sym_LT] = ACTIONS(12734),
    [anon_sym_do] = ACTIONS(12732),
    [anon_sym_EQ_GT] = ACTIONS(12732),
    [anon_sym_AMP_DOT] = ACTIONS(12732),
    [anon_sym_QMARK] = ACTIONS(12732),
    [anon_sym_COLON] = ACTIONS(12732),
    [anon_sym_DOT_DOT] = ACTIONS(12734),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12732),
    [anon_sym_and] = ACTIONS(12732),
    [anon_sym_or] = ACTIONS(12732),
    [anon_sym_PIPE_PIPE] = ACTIONS(12732),
    [anon_sym_AMP_AMP] = ACTIONS(12732),
    [anon_sym_LT_LT] = ACTIONS(12732),
    [anon_sym_GT_GT] = ACTIONS(12732),
    [anon_sym_EQ_EQ] = ACTIONS(12734),
    [anon_sym_BANG_EQ] = ACTIONS(12732),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12732),
    [anon_sym_LT_EQ_GT] = ACTIONS(12732),
    [anon_sym_EQ_TILDE] = ACTIONS(12732),
    [anon_sym_BANG_TILDE] = ACTIONS(12732),
    [anon_sym_LT_EQ] = ACTIONS(12734),
    [anon_sym_GT] = ACTIONS(12734),
    [anon_sym_GT_EQ] = ACTIONS(12732),
    [anon_sym_CARET] = ACTIONS(12732),
    [anon_sym_PLUS] = ACTIONS(12732),
    [anon_sym_SLASH] = ACTIONS(12732),
    [anon_sym_PERCENT] = ACTIONS(12732),
    [sym_comment] = ACTIONS(110),
  },
  [9343] = {
    [anon_sym_end] = ACTIONS(14714),
    [sym_comment] = ACTIONS(110),
  },
  [9344] = {
    [sym__element_reference_left_bracket] = ACTIONS(12750),
    [sym__scope_double_colon] = ACTIONS(12750),
    [sym__binary_minus] = ACTIONS(12750),
    [sym__binary_star] = ACTIONS(12750),
    [anon_sym_LBRACE] = ACTIONS(12750),
    [anon_sym_RPAREN] = ACTIONS(12750),
    [anon_sym_DOT] = ACTIONS(12752),
    [anon_sym_COMMA] = ACTIONS(12750),
    [anon_sym_PIPE] = ACTIONS(12752),
    [anon_sym_SEMI] = ACTIONS(12750),
    [anon_sym_STAR_STAR] = ACTIONS(12750),
    [anon_sym_AMP] = ACTIONS(12752),
    [anon_sym_LT] = ACTIONS(12752),
    [anon_sym_do] = ACTIONS(12750),
    [anon_sym_EQ_GT] = ACTIONS(12750),
    [anon_sym_AMP_DOT] = ACTIONS(12750),
    [anon_sym_QMARK] = ACTIONS(12750),
    [anon_sym_COLON] = ACTIONS(12750),
    [anon_sym_DOT_DOT] = ACTIONS(12752),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12750),
    [anon_sym_and] = ACTIONS(12750),
    [anon_sym_or] = ACTIONS(12750),
    [anon_sym_PIPE_PIPE] = ACTIONS(12750),
    [anon_sym_AMP_AMP] = ACTIONS(12750),
    [anon_sym_LT_LT] = ACTIONS(12750),
    [anon_sym_GT_GT] = ACTIONS(12750),
    [anon_sym_EQ_EQ] = ACTIONS(12752),
    [anon_sym_BANG_EQ] = ACTIONS(12750),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12750),
    [anon_sym_LT_EQ_GT] = ACTIONS(12750),
    [anon_sym_EQ_TILDE] = ACTIONS(12750),
    [anon_sym_BANG_TILDE] = ACTIONS(12750),
    [anon_sym_LT_EQ] = ACTIONS(12752),
    [anon_sym_GT] = ACTIONS(12752),
    [anon_sym_GT_EQ] = ACTIONS(12750),
    [anon_sym_CARET] = ACTIONS(12750),
    [anon_sym_PLUS] = ACTIONS(12750),
    [anon_sym_SLASH] = ACTIONS(12750),
    [anon_sym_PERCENT] = ACTIONS(12750),
    [sym_comment] = ACTIONS(110),
  },
  [9345] = {
    [sym__simple_heredoc_body] = ACTIONS(12768),
    [sym__heredoc_body_beginning] = ACTIONS(12768),
    [sym__element_reference_left_bracket] = ACTIONS(12768),
    [sym__scope_double_colon] = ACTIONS(12768),
    [sym__binary_minus] = ACTIONS(12768),
    [sym__binary_star] = ACTIONS(12768),
    [anon_sym_LBRACE] = ACTIONS(12768),
    [anon_sym_RBRACE] = ACTIONS(12768),
    [anon_sym_RPAREN] = ACTIONS(12768),
    [anon_sym_DOT] = ACTIONS(12770),
    [anon_sym_COMMA] = ACTIONS(12768),
    [anon_sym_PIPE] = ACTIONS(12770),
    [anon_sym_SEMI] = ACTIONS(12768),
    [anon_sym_STAR_STAR] = ACTIONS(12768),
    [anon_sym_AMP] = ACTIONS(12770),
    [anon_sym_EQ] = ACTIONS(12770),
    [anon_sym_LT] = ACTIONS(12770),
    [anon_sym_in] = ACTIONS(12768),
    [anon_sym_do] = ACTIONS(12768),
    [anon_sym_EQ_GT] = ACTIONS(12768),
    [anon_sym_RBRACK] = ACTIONS(12768),
    [anon_sym_AMP_DOT] = ACTIONS(12768),
    [anon_sym_QMARK] = ACTIONS(12768),
    [anon_sym_COLON] = ACTIONS(12768),
    [anon_sym_DOT_DOT] = ACTIONS(12770),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12768),
    [anon_sym_and] = ACTIONS(12768),
    [anon_sym_or] = ACTIONS(12768),
    [anon_sym_PIPE_PIPE] = ACTIONS(12768),
    [anon_sym_AMP_AMP] = ACTIONS(12768),
    [anon_sym_LT_LT] = ACTIONS(12768),
    [anon_sym_GT_GT] = ACTIONS(12768),
    [anon_sym_EQ_EQ] = ACTIONS(12770),
    [anon_sym_BANG_EQ] = ACTIONS(12768),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12768),
    [anon_sym_LT_EQ_GT] = ACTIONS(12768),
    [anon_sym_EQ_TILDE] = ACTIONS(12768),
    [anon_sym_BANG_TILDE] = ACTIONS(12768),
    [anon_sym_LT_EQ] = ACTIONS(12770),
    [anon_sym_GT] = ACTIONS(12770),
    [anon_sym_GT_EQ] = ACTIONS(12768),
    [anon_sym_CARET] = ACTIONS(12768),
    [anon_sym_PLUS] = ACTIONS(12768),
    [anon_sym_SLASH] = ACTIONS(12768),
    [anon_sym_PERCENT] = ACTIONS(12768),
    [sym_comment] = ACTIONS(256),
  },
  [9346] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(11839),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(1640),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(4366),
    [anon_sym_yield] = ACTIONS(4368),
    [anon_sym_break] = ACTIONS(4370),
    [anon_sym_next] = ACTIONS(4372),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2038),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(4374),
    [anon_sym_BANG] = ACTIONS(1656),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9347] = {
    [sym__simple_heredoc_body] = ACTIONS(8070),
    [sym__heredoc_body_beginning] = ACTIONS(8070),
    [sym__element_reference_left_bracket] = ACTIONS(8070),
    [sym__scope_double_colon] = ACTIONS(8070),
    [sym__binary_minus] = ACTIONS(8070),
    [sym__binary_star] = ACTIONS(8070),
    [anon_sym_LBRACE] = ACTIONS(8070),
    [anon_sym_RBRACE] = ACTIONS(8070),
    [anon_sym_RPAREN] = ACTIONS(8070),
    [anon_sym_DOT] = ACTIONS(10414),
    [anon_sym_COMMA] = ACTIONS(8070),
    [anon_sym_PIPE] = ACTIONS(10414),
    [anon_sym_SEMI] = ACTIONS(8070),
    [anon_sym_STAR_STAR] = ACTIONS(8070),
    [anon_sym_AMP] = ACTIONS(10414),
    [anon_sym_EQ] = ACTIONS(10414),
    [anon_sym_LT] = ACTIONS(10414),
    [anon_sym_in] = ACTIONS(8070),
    [anon_sym_do] = ACTIONS(8070),
    [anon_sym_EQ_GT] = ACTIONS(8070),
    [anon_sym_RBRACK] = ACTIONS(8070),
    [anon_sym_AMP_DOT] = ACTIONS(8070),
    [anon_sym_QMARK] = ACTIONS(8070),
    [anon_sym_COLON] = ACTIONS(8070),
    [anon_sym_DOT_DOT] = ACTIONS(10414),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8070),
    [anon_sym_and] = ACTIONS(8070),
    [anon_sym_or] = ACTIONS(8070),
    [anon_sym_PIPE_PIPE] = ACTIONS(8070),
    [anon_sym_AMP_AMP] = ACTIONS(8070),
    [anon_sym_LT_LT] = ACTIONS(8070),
    [anon_sym_GT_GT] = ACTIONS(8070),
    [anon_sym_EQ_EQ] = ACTIONS(10414),
    [anon_sym_BANG_EQ] = ACTIONS(8070),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8070),
    [anon_sym_LT_EQ_GT] = ACTIONS(8070),
    [anon_sym_EQ_TILDE] = ACTIONS(8070),
    [anon_sym_BANG_TILDE] = ACTIONS(8070),
    [anon_sym_LT_EQ] = ACTIONS(10414),
    [anon_sym_GT] = ACTIONS(10414),
    [anon_sym_GT_EQ] = ACTIONS(8070),
    [anon_sym_CARET] = ACTIONS(8070),
    [anon_sym_PLUS] = ACTIONS(8070),
    [anon_sym_SLASH] = ACTIONS(8070),
    [anon_sym_PERCENT] = ACTIONS(8070),
    [sym_comment] = ACTIONS(256),
  },
  [9348] = {
    [sym__heredoc_body_middle] = ACTIONS(8296),
    [sym__heredoc_body_end] = ACTIONS(14716),
    [anon_sym_if] = ACTIONS(4112),
    [anon_sym_unless] = ACTIONS(4114),
    [anon_sym_while] = ACTIONS(4116),
    [anon_sym_until] = ACTIONS(4118),
    [anon_sym_rescue] = ACTIONS(4120),
    [sym_comment] = ACTIONS(110),
  },
  [9349] = {
    [sym__simple_heredoc_body] = ACTIONS(12790),
    [sym__heredoc_body_beginning] = ACTIONS(12790),
    [sym__element_reference_left_bracket] = ACTIONS(12790),
    [sym__scope_double_colon] = ACTIONS(12790),
    [sym__binary_minus] = ACTIONS(12790),
    [sym__binary_star] = ACTIONS(12790),
    [anon_sym_LBRACE] = ACTIONS(12790),
    [anon_sym_RBRACE] = ACTIONS(12790),
    [anon_sym_RPAREN] = ACTIONS(12790),
    [anon_sym_DOT] = ACTIONS(12792),
    [anon_sym_COMMA] = ACTIONS(12790),
    [anon_sym_PIPE] = ACTIONS(12792),
    [anon_sym_SEMI] = ACTIONS(12790),
    [anon_sym_STAR_STAR] = ACTIONS(12790),
    [anon_sym_AMP] = ACTIONS(12792),
    [anon_sym_EQ] = ACTIONS(12792),
    [anon_sym_LT] = ACTIONS(12792),
    [anon_sym_in] = ACTIONS(12790),
    [anon_sym_do] = ACTIONS(12790),
    [anon_sym_EQ_GT] = ACTIONS(12790),
    [anon_sym_RBRACK] = ACTIONS(12790),
    [anon_sym_AMP_DOT] = ACTIONS(12790),
    [anon_sym_QMARK] = ACTIONS(12790),
    [anon_sym_COLON] = ACTIONS(12790),
    [anon_sym_DOT_DOT] = ACTIONS(12792),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12790),
    [anon_sym_and] = ACTIONS(12790),
    [anon_sym_or] = ACTIONS(12790),
    [anon_sym_PIPE_PIPE] = ACTIONS(12790),
    [anon_sym_AMP_AMP] = ACTIONS(12790),
    [anon_sym_LT_LT] = ACTIONS(12790),
    [anon_sym_GT_GT] = ACTIONS(12790),
    [anon_sym_EQ_EQ] = ACTIONS(12792),
    [anon_sym_BANG_EQ] = ACTIONS(12790),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12790),
    [anon_sym_LT_EQ_GT] = ACTIONS(12790),
    [anon_sym_EQ_TILDE] = ACTIONS(12790),
    [anon_sym_BANG_TILDE] = ACTIONS(12790),
    [anon_sym_LT_EQ] = ACTIONS(12792),
    [anon_sym_GT] = ACTIONS(12792),
    [anon_sym_GT_EQ] = ACTIONS(12790),
    [anon_sym_CARET] = ACTIONS(12790),
    [anon_sym_PLUS] = ACTIONS(12790),
    [anon_sym_SLASH] = ACTIONS(12790),
    [anon_sym_PERCENT] = ACTIONS(12790),
    [sym_comment] = ACTIONS(256),
  },
  [9350] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1000),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(11841),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_reserved_identifier] = STATE(1009),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1010),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(1634),
    [sym__splat_star] = ACTIONS(1636),
    [sym__unary_minus] = ACTIONS(1640),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(8552),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(1642),
    [anon_sym_yield] = ACTIONS(1644),
    [anon_sym_break] = ACTIONS(1646),
    [anon_sym_next] = ACTIONS(1648),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2038),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(1652),
    [anon_sym_BANG] = ACTIONS(1656),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(1658),
    [sym_identifier] = ACTIONS(1658),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9351] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6131),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym_splat_argument] = STATE(6132),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym__arg_or_splat_arg] = STATE(11842),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__splat_star] = ACTIONS(1636),
    [sym__unary_minus] = ACTIONS(1640),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(4366),
    [anon_sym_yield] = ACTIONS(4368),
    [anon_sym_break] = ACTIONS(4370),
    [anon_sym_next] = ACTIONS(4372),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2038),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(4374),
    [anon_sym_BANG] = ACTIONS(1656),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9352] = {
    [sym__simple_heredoc_body] = ACTIONS(11422),
    [sym__heredoc_body_beginning] = ACTIONS(11422),
    [sym__element_reference_left_bracket] = ACTIONS(11422),
    [sym__scope_double_colon] = ACTIONS(11422),
    [sym__binary_minus] = ACTIONS(11422),
    [sym__binary_star] = ACTIONS(11422),
    [anon_sym_DOT] = ACTIONS(11426),
    [anon_sym_COMMA] = ACTIONS(14718),
    [anon_sym_PIPE] = ACTIONS(11426),
    [anon_sym_STAR_STAR] = ACTIONS(11422),
    [anon_sym_AMP] = ACTIONS(11426),
    [anon_sym_LT] = ACTIONS(11426),
    [anon_sym_EQ_GT] = ACTIONS(11422),
    [anon_sym_AMP_DOT] = ACTIONS(11422),
    [anon_sym_QMARK] = ACTIONS(11422),
    [anon_sym_DOT_DOT] = ACTIONS(11426),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11422),
    [anon_sym_and] = ACTIONS(11422),
    [anon_sym_or] = ACTIONS(11422),
    [anon_sym_PIPE_PIPE] = ACTIONS(11422),
    [anon_sym_AMP_AMP] = ACTIONS(11422),
    [anon_sym_LT_LT] = ACTIONS(11422),
    [anon_sym_GT_GT] = ACTIONS(11422),
    [anon_sym_EQ_EQ] = ACTIONS(11426),
    [anon_sym_BANG_EQ] = ACTIONS(11422),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11422),
    [anon_sym_LT_EQ_GT] = ACTIONS(11422),
    [anon_sym_EQ_TILDE] = ACTIONS(11422),
    [anon_sym_BANG_TILDE] = ACTIONS(11422),
    [anon_sym_LT_EQ] = ACTIONS(11426),
    [anon_sym_GT] = ACTIONS(11426),
    [anon_sym_GT_EQ] = ACTIONS(11422),
    [anon_sym_CARET] = ACTIONS(11422),
    [anon_sym_PLUS] = ACTIONS(11422),
    [anon_sym_SLASH] = ACTIONS(11422),
    [anon_sym_PERCENT] = ACTIONS(11422),
    [sym_comment] = ACTIONS(110),
  },
  [9353] = {
    [sym__element_reference_left_bracket] = ACTIONS(12894),
    [sym__scope_double_colon] = ACTIONS(12894),
    [sym__binary_minus] = ACTIONS(12894),
    [sym__binary_star] = ACTIONS(12894),
    [anon_sym_LBRACE] = ACTIONS(12894),
    [anon_sym_RPAREN] = ACTIONS(12894),
    [anon_sym_DOT] = ACTIONS(12896),
    [anon_sym_COMMA] = ACTIONS(12894),
    [anon_sym_PIPE] = ACTIONS(12896),
    [anon_sym_SEMI] = ACTIONS(12894),
    [anon_sym_STAR_STAR] = ACTIONS(12894),
    [anon_sym_AMP] = ACTIONS(12896),
    [anon_sym_LT] = ACTIONS(12896),
    [anon_sym_do] = ACTIONS(12894),
    [anon_sym_EQ_GT] = ACTIONS(12894),
    [anon_sym_AMP_DOT] = ACTIONS(12894),
    [anon_sym_QMARK] = ACTIONS(12894),
    [anon_sym_COLON] = ACTIONS(12894),
    [anon_sym_DOT_DOT] = ACTIONS(12896),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12894),
    [anon_sym_and] = ACTIONS(12894),
    [anon_sym_or] = ACTIONS(12894),
    [anon_sym_PIPE_PIPE] = ACTIONS(12894),
    [anon_sym_AMP_AMP] = ACTIONS(12894),
    [anon_sym_LT_LT] = ACTIONS(12894),
    [anon_sym_GT_GT] = ACTIONS(12894),
    [anon_sym_EQ_EQ] = ACTIONS(12896),
    [anon_sym_BANG_EQ] = ACTIONS(12894),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12894),
    [anon_sym_LT_EQ_GT] = ACTIONS(12894),
    [anon_sym_EQ_TILDE] = ACTIONS(12894),
    [anon_sym_BANG_TILDE] = ACTIONS(12894),
    [anon_sym_LT_EQ] = ACTIONS(12896),
    [anon_sym_GT] = ACTIONS(12896),
    [anon_sym_GT_EQ] = ACTIONS(12894),
    [anon_sym_CARET] = ACTIONS(12894),
    [anon_sym_PLUS] = ACTIONS(12894),
    [anon_sym_SLASH] = ACTIONS(12894),
    [anon_sym_PERCENT] = ACTIONS(12894),
    [sym_comment] = ACTIONS(110),
  },
  [9354] = {
    [anon_sym_end] = ACTIONS(14720),
    [sym_comment] = ACTIONS(110),
  },
  [9355] = {
    [sym_elsif] = STATE(3865),
    [sym_else] = STATE(3865),
    [sym__if_tail] = STATE(11845),
    [anon_sym_end] = ACTIONS(14720),
    [anon_sym_elsif] = ACTIONS(9592),
    [anon_sym_else] = ACTIONS(9594),
    [sym_comment] = ACTIONS(110),
  },
  [9356] = {
    [sym__element_reference_left_bracket] = ACTIONS(13064),
    [sym__scope_double_colon] = ACTIONS(13064),
    [sym__binary_minus] = ACTIONS(13064),
    [sym__binary_star] = ACTIONS(13064),
    [anon_sym_LBRACE] = ACTIONS(13064),
    [anon_sym_RPAREN] = ACTIONS(13064),
    [anon_sym_DOT] = ACTIONS(13066),
    [anon_sym_COMMA] = ACTIONS(13064),
    [anon_sym_PIPE] = ACTIONS(13066),
    [anon_sym_SEMI] = ACTIONS(13064),
    [anon_sym_STAR_STAR] = ACTIONS(13064),
    [anon_sym_AMP] = ACTIONS(13066),
    [anon_sym_LT] = ACTIONS(13066),
    [anon_sym_do] = ACTIONS(13064),
    [anon_sym_EQ_GT] = ACTIONS(13064),
    [anon_sym_AMP_DOT] = ACTIONS(13064),
    [anon_sym_QMARK] = ACTIONS(13064),
    [anon_sym_COLON] = ACTIONS(13064),
    [anon_sym_DOT_DOT] = ACTIONS(13066),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(13064),
    [anon_sym_and] = ACTIONS(13064),
    [anon_sym_or] = ACTIONS(13064),
    [anon_sym_PIPE_PIPE] = ACTIONS(13064),
    [anon_sym_AMP_AMP] = ACTIONS(13064),
    [anon_sym_LT_LT] = ACTIONS(13064),
    [anon_sym_GT_GT] = ACTIONS(13064),
    [anon_sym_EQ_EQ] = ACTIONS(13066),
    [anon_sym_BANG_EQ] = ACTIONS(13064),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(13064),
    [anon_sym_LT_EQ_GT] = ACTIONS(13064),
    [anon_sym_EQ_TILDE] = ACTIONS(13064),
    [anon_sym_BANG_TILDE] = ACTIONS(13064),
    [anon_sym_LT_EQ] = ACTIONS(13066),
    [anon_sym_GT] = ACTIONS(13066),
    [anon_sym_GT_EQ] = ACTIONS(13064),
    [anon_sym_CARET] = ACTIONS(13064),
    [anon_sym_PLUS] = ACTIONS(13064),
    [anon_sym_SLASH] = ACTIONS(13064),
    [anon_sym_PERCENT] = ACTIONS(13064),
    [sym_comment] = ACTIONS(110),
  },
  [9357] = {
    [anon_sym_end] = ACTIONS(14722),
    [sym_comment] = ACTIONS(110),
  },
  [9358] = {
    [sym__element_reference_left_bracket] = ACTIONS(13164),
    [sym__scope_double_colon] = ACTIONS(13164),
    [sym__binary_minus] = ACTIONS(13164),
    [sym__binary_star] = ACTIONS(13164),
    [anon_sym_LBRACE] = ACTIONS(13164),
    [anon_sym_RPAREN] = ACTIONS(13164),
    [anon_sym_DOT] = ACTIONS(13166),
    [anon_sym_COMMA] = ACTIONS(13164),
    [anon_sym_PIPE] = ACTIONS(13166),
    [anon_sym_SEMI] = ACTIONS(13164),
    [anon_sym_STAR_STAR] = ACTIONS(13164),
    [anon_sym_AMP] = ACTIONS(13166),
    [anon_sym_LT] = ACTIONS(13166),
    [anon_sym_do] = ACTIONS(13164),
    [anon_sym_EQ_GT] = ACTIONS(13164),
    [anon_sym_AMP_DOT] = ACTIONS(13164),
    [anon_sym_QMARK] = ACTIONS(13164),
    [anon_sym_COLON] = ACTIONS(13164),
    [anon_sym_DOT_DOT] = ACTIONS(13166),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(13164),
    [anon_sym_and] = ACTIONS(13164),
    [anon_sym_or] = ACTIONS(13164),
    [anon_sym_PIPE_PIPE] = ACTIONS(13164),
    [anon_sym_AMP_AMP] = ACTIONS(13164),
    [anon_sym_LT_LT] = ACTIONS(13164),
    [anon_sym_GT_GT] = ACTIONS(13164),
    [anon_sym_EQ_EQ] = ACTIONS(13166),
    [anon_sym_BANG_EQ] = ACTIONS(13164),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(13164),
    [anon_sym_LT_EQ_GT] = ACTIONS(13164),
    [anon_sym_EQ_TILDE] = ACTIONS(13164),
    [anon_sym_BANG_TILDE] = ACTIONS(13164),
    [anon_sym_LT_EQ] = ACTIONS(13166),
    [anon_sym_GT] = ACTIONS(13166),
    [anon_sym_GT_EQ] = ACTIONS(13164),
    [anon_sym_CARET] = ACTIONS(13164),
    [anon_sym_PLUS] = ACTIONS(13164),
    [anon_sym_SLASH] = ACTIONS(13164),
    [anon_sym_PERCENT] = ACTIONS(13164),
    [sym_comment] = ACTIONS(110),
  },
  [9359] = {
    [sym__element_reference_left_bracket] = ACTIONS(13172),
    [sym__scope_double_colon] = ACTIONS(13172),
    [sym__binary_minus] = ACTIONS(13172),
    [sym__binary_star] = ACTIONS(13172),
    [anon_sym_LBRACE] = ACTIONS(13172),
    [anon_sym_RPAREN] = ACTIONS(13172),
    [anon_sym_DOT] = ACTIONS(13174),
    [anon_sym_COMMA] = ACTIONS(13172),
    [anon_sym_PIPE] = ACTIONS(13174),
    [anon_sym_SEMI] = ACTIONS(13172),
    [anon_sym_STAR_STAR] = ACTIONS(13172),
    [anon_sym_AMP] = ACTIONS(13174),
    [anon_sym_LT] = ACTIONS(13174),
    [anon_sym_do] = ACTIONS(13172),
    [anon_sym_EQ_GT] = ACTIONS(13172),
    [anon_sym_AMP_DOT] = ACTIONS(13172),
    [anon_sym_QMARK] = ACTIONS(13172),
    [anon_sym_COLON] = ACTIONS(13172),
    [anon_sym_DOT_DOT] = ACTIONS(13174),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(13172),
    [anon_sym_and] = ACTIONS(13172),
    [anon_sym_or] = ACTIONS(13172),
    [anon_sym_PIPE_PIPE] = ACTIONS(13172),
    [anon_sym_AMP_AMP] = ACTIONS(13172),
    [anon_sym_LT_LT] = ACTIONS(13172),
    [anon_sym_GT_GT] = ACTIONS(13172),
    [anon_sym_EQ_EQ] = ACTIONS(13174),
    [anon_sym_BANG_EQ] = ACTIONS(13172),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(13172),
    [anon_sym_LT_EQ_GT] = ACTIONS(13172),
    [anon_sym_EQ_TILDE] = ACTIONS(13172),
    [anon_sym_BANG_TILDE] = ACTIONS(13172),
    [anon_sym_LT_EQ] = ACTIONS(13174),
    [anon_sym_GT] = ACTIONS(13174),
    [anon_sym_GT_EQ] = ACTIONS(13172),
    [anon_sym_CARET] = ACTIONS(13172),
    [anon_sym_PLUS] = ACTIONS(13172),
    [anon_sym_SLASH] = ACTIONS(13172),
    [anon_sym_PERCENT] = ACTIONS(13172),
    [sym_comment] = ACTIONS(110),
  },
  [9360] = {
    [sym__element_reference_left_bracket] = ACTIONS(13216),
    [sym__scope_double_colon] = ACTIONS(13216),
    [sym__binary_minus] = ACTIONS(13216),
    [sym__binary_star] = ACTIONS(13216),
    [anon_sym_LBRACE] = ACTIONS(13216),
    [anon_sym_RPAREN] = ACTIONS(13216),
    [anon_sym_DOT] = ACTIONS(13218),
    [anon_sym_COMMA] = ACTIONS(13216),
    [anon_sym_PIPE] = ACTIONS(13218),
    [anon_sym_SEMI] = ACTIONS(13216),
    [anon_sym_STAR_STAR] = ACTIONS(13216),
    [anon_sym_AMP] = ACTIONS(13218),
    [anon_sym_LT] = ACTIONS(13218),
    [anon_sym_do] = ACTIONS(13216),
    [anon_sym_EQ_GT] = ACTIONS(13216),
    [anon_sym_AMP_DOT] = ACTIONS(13216),
    [anon_sym_QMARK] = ACTIONS(13216),
    [anon_sym_COLON] = ACTIONS(13216),
    [anon_sym_DOT_DOT] = ACTIONS(13218),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(13216),
    [anon_sym_and] = ACTIONS(13216),
    [anon_sym_or] = ACTIONS(13216),
    [anon_sym_PIPE_PIPE] = ACTIONS(13216),
    [anon_sym_AMP_AMP] = ACTIONS(13216),
    [anon_sym_LT_LT] = ACTIONS(13216),
    [anon_sym_GT_GT] = ACTIONS(13216),
    [anon_sym_EQ_EQ] = ACTIONS(13218),
    [anon_sym_BANG_EQ] = ACTIONS(13216),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(13216),
    [anon_sym_LT_EQ_GT] = ACTIONS(13216),
    [anon_sym_EQ_TILDE] = ACTIONS(13216),
    [anon_sym_BANG_TILDE] = ACTIONS(13216),
    [anon_sym_LT_EQ] = ACTIONS(13218),
    [anon_sym_GT] = ACTIONS(13218),
    [anon_sym_GT_EQ] = ACTIONS(13216),
    [anon_sym_CARET] = ACTIONS(13216),
    [anon_sym_PLUS] = ACTIONS(13216),
    [anon_sym_SLASH] = ACTIONS(13216),
    [anon_sym_PERCENT] = ACTIONS(13216),
    [sym_comment] = ACTIONS(110),
  },
  [9361] = {
    [anon_sym_end] = ACTIONS(14724),
    [sym_comment] = ACTIONS(110),
  },
  [9362] = {
    [sym__element_reference_left_bracket] = ACTIONS(13422),
    [sym__scope_double_colon] = ACTIONS(13422),
    [sym__binary_minus] = ACTIONS(13422),
    [sym__binary_star] = ACTIONS(13422),
    [anon_sym_LBRACE] = ACTIONS(13422),
    [anon_sym_RPAREN] = ACTIONS(13422),
    [anon_sym_DOT] = ACTIONS(13424),
    [anon_sym_COMMA] = ACTIONS(13422),
    [anon_sym_PIPE] = ACTIONS(13424),
    [anon_sym_SEMI] = ACTIONS(13422),
    [anon_sym_STAR_STAR] = ACTIONS(13422),
    [anon_sym_AMP] = ACTIONS(13424),
    [anon_sym_LT] = ACTIONS(13424),
    [anon_sym_do] = ACTIONS(13422),
    [anon_sym_EQ_GT] = ACTIONS(13422),
    [anon_sym_AMP_DOT] = ACTIONS(13422),
    [anon_sym_QMARK] = ACTIONS(13422),
    [anon_sym_COLON] = ACTIONS(13422),
    [anon_sym_DOT_DOT] = ACTIONS(13424),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(13422),
    [anon_sym_and] = ACTIONS(13422),
    [anon_sym_or] = ACTIONS(13422),
    [anon_sym_PIPE_PIPE] = ACTIONS(13422),
    [anon_sym_AMP_AMP] = ACTIONS(13422),
    [anon_sym_LT_LT] = ACTIONS(13422),
    [anon_sym_GT_GT] = ACTIONS(13422),
    [anon_sym_EQ_EQ] = ACTIONS(13424),
    [anon_sym_BANG_EQ] = ACTIONS(13422),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(13422),
    [anon_sym_LT_EQ_GT] = ACTIONS(13422),
    [anon_sym_EQ_TILDE] = ACTIONS(13422),
    [anon_sym_BANG_TILDE] = ACTIONS(13422),
    [anon_sym_LT_EQ] = ACTIONS(13424),
    [anon_sym_GT] = ACTIONS(13424),
    [anon_sym_GT_EQ] = ACTIONS(13422),
    [anon_sym_CARET] = ACTIONS(13422),
    [anon_sym_PLUS] = ACTIONS(13422),
    [anon_sym_SLASH] = ACTIONS(13422),
    [anon_sym_PERCENT] = ACTIONS(13422),
    [sym_comment] = ACTIONS(110),
  },
  [9363] = {
    [sym__element_reference_left_bracket] = ACTIONS(14000),
    [sym__scope_double_colon] = ACTIONS(14000),
    [sym__binary_minus] = ACTIONS(14000),
    [sym__binary_star] = ACTIONS(14000),
    [anon_sym_LBRACE] = ACTIONS(14000),
    [anon_sym_RPAREN] = ACTIONS(14000),
    [anon_sym_DOT] = ACTIONS(14002),
    [anon_sym_COMMA] = ACTIONS(14000),
    [anon_sym_PIPE] = ACTIONS(14002),
    [anon_sym_SEMI] = ACTIONS(14000),
    [anon_sym_STAR_STAR] = ACTIONS(14000),
    [anon_sym_AMP] = ACTIONS(14002),
    [anon_sym_LT] = ACTIONS(14002),
    [anon_sym_do] = ACTIONS(14000),
    [anon_sym_EQ_GT] = ACTIONS(14000),
    [anon_sym_AMP_DOT] = ACTIONS(14000),
    [anon_sym_QMARK] = ACTIONS(14000),
    [anon_sym_COLON] = ACTIONS(14000),
    [anon_sym_DOT_DOT] = ACTIONS(14002),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(14000),
    [anon_sym_and] = ACTIONS(14000),
    [anon_sym_or] = ACTIONS(14000),
    [anon_sym_PIPE_PIPE] = ACTIONS(14000),
    [anon_sym_AMP_AMP] = ACTIONS(14000),
    [anon_sym_LT_LT] = ACTIONS(14000),
    [anon_sym_GT_GT] = ACTIONS(14000),
    [anon_sym_EQ_EQ] = ACTIONS(14002),
    [anon_sym_BANG_EQ] = ACTIONS(14000),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(14000),
    [anon_sym_LT_EQ_GT] = ACTIONS(14000),
    [anon_sym_EQ_TILDE] = ACTIONS(14000),
    [anon_sym_BANG_TILDE] = ACTIONS(14000),
    [anon_sym_LT_EQ] = ACTIONS(14002),
    [anon_sym_GT] = ACTIONS(14002),
    [anon_sym_GT_EQ] = ACTIONS(14000),
    [anon_sym_CARET] = ACTIONS(14000),
    [anon_sym_PLUS] = ACTIONS(14000),
    [anon_sym_SLASH] = ACTIONS(14000),
    [anon_sym_PERCENT] = ACTIONS(14000),
    [sym_comment] = ACTIONS(110),
  },
  [9364] = {
    [sym__element_reference_left_bracket] = ACTIONS(14030),
    [sym__scope_double_colon] = ACTIONS(14030),
    [sym__binary_minus] = ACTIONS(14030),
    [sym__binary_star] = ACTIONS(14030),
    [anon_sym_LBRACE] = ACTIONS(14030),
    [anon_sym_RPAREN] = ACTIONS(14030),
    [anon_sym_DOT] = ACTIONS(14032),
    [anon_sym_COMMA] = ACTIONS(14030),
    [anon_sym_PIPE] = ACTIONS(14032),
    [anon_sym_SEMI] = ACTIONS(14030),
    [anon_sym_STAR_STAR] = ACTIONS(14030),
    [anon_sym_AMP] = ACTIONS(14032),
    [anon_sym_LT] = ACTIONS(14032),
    [anon_sym_do] = ACTIONS(14030),
    [anon_sym_EQ_GT] = ACTIONS(14030),
    [anon_sym_AMP_DOT] = ACTIONS(14030),
    [anon_sym_QMARK] = ACTIONS(14030),
    [anon_sym_COLON] = ACTIONS(14030),
    [anon_sym_DOT_DOT] = ACTIONS(14032),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(14030),
    [anon_sym_and] = ACTIONS(14030),
    [anon_sym_or] = ACTIONS(14030),
    [anon_sym_PIPE_PIPE] = ACTIONS(14030),
    [anon_sym_AMP_AMP] = ACTIONS(14030),
    [anon_sym_LT_LT] = ACTIONS(14030),
    [anon_sym_GT_GT] = ACTIONS(14030),
    [anon_sym_EQ_EQ] = ACTIONS(14032),
    [anon_sym_BANG_EQ] = ACTIONS(14030),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(14030),
    [anon_sym_LT_EQ_GT] = ACTIONS(14030),
    [anon_sym_EQ_TILDE] = ACTIONS(14030),
    [anon_sym_BANG_TILDE] = ACTIONS(14030),
    [anon_sym_LT_EQ] = ACTIONS(14032),
    [anon_sym_GT] = ACTIONS(14032),
    [anon_sym_GT_EQ] = ACTIONS(14030),
    [anon_sym_CARET] = ACTIONS(14030),
    [anon_sym_PLUS] = ACTIONS(14030),
    [anon_sym_SLASH] = ACTIONS(14030),
    [anon_sym_PERCENT] = ACTIONS(14030),
    [sym_comment] = ACTIONS(110),
  },
  [9365] = {
    [anon_sym_end] = ACTIONS(14726),
    [sym_comment] = ACTIONS(110),
  },
  [9366] = {
    [sym__statements] = STATE(11849),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14728),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9367] = {
    [sym__binary_minus] = ACTIONS(1672),
    [sym__binary_star] = ACTIONS(1674),
    [anon_sym_PIPE] = ACTIONS(1676),
    [anon_sym_STAR_STAR] = ACTIONS(1678),
    [anon_sym_AMP] = ACTIONS(1680),
    [anon_sym_LT] = ACTIONS(1682),
    [anon_sym_EQ_GT] = ACTIONS(14096),
    [anon_sym_QMARK] = ACTIONS(1684),
    [anon_sym_DOT_DOT] = ACTIONS(1686),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1688),
    [anon_sym_and] = ACTIONS(14096),
    [anon_sym_or] = ACTIONS(14096),
    [anon_sym_PIPE_PIPE] = ACTIONS(1692),
    [anon_sym_AMP_AMP] = ACTIONS(1692),
    [anon_sym_LT_LT] = ACTIONS(1694),
    [anon_sym_GT_GT] = ACTIONS(1694),
    [anon_sym_EQ_EQ] = ACTIONS(1696),
    [anon_sym_BANG_EQ] = ACTIONS(1692),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1692),
    [anon_sym_LT_EQ_GT] = ACTIONS(1692),
    [anon_sym_EQ_TILDE] = ACTIONS(1692),
    [anon_sym_BANG_TILDE] = ACTIONS(1692),
    [anon_sym_LT_EQ] = ACTIONS(1682),
    [anon_sym_GT] = ACTIONS(1682),
    [anon_sym_GT_EQ] = ACTIONS(1698),
    [anon_sym_CARET] = ACTIONS(1700),
    [anon_sym_PLUS] = ACTIONS(1702),
    [anon_sym_SLASH] = ACTIONS(1678),
    [anon_sym_PERCENT] = ACTIONS(1678),
    [sym_comment] = ACTIONS(110),
  },
  [9368] = {
    [sym__element_reference_left_bracket] = ACTIONS(14174),
    [sym__scope_double_colon] = ACTIONS(14174),
    [sym__binary_minus] = ACTIONS(14174),
    [sym__binary_star] = ACTIONS(14174),
    [anon_sym_DOT] = ACTIONS(14176),
    [anon_sym_COMMA] = ACTIONS(14174),
    [anon_sym_PIPE] = ACTIONS(14176),
    [anon_sym_STAR_STAR] = ACTIONS(14176),
    [anon_sym_AMP] = ACTIONS(14176),
    [anon_sym_EQ] = ACTIONS(14176),
    [anon_sym_LT] = ACTIONS(14176),
    [anon_sym_EQ_GT] = ACTIONS(14174),
    [anon_sym_AMP_DOT] = ACTIONS(14174),
    [anon_sym_PLUS_EQ] = ACTIONS(14174),
    [anon_sym_DASH_EQ] = ACTIONS(14174),
    [anon_sym_STAR_EQ] = ACTIONS(14174),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(14174),
    [anon_sym_SLASH_EQ] = ACTIONS(14174),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(14174),
    [anon_sym_PIPE_EQ] = ACTIONS(14174),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(14174),
    [anon_sym_AMP_EQ] = ACTIONS(14174),
    [anon_sym_PERCENT_EQ] = ACTIONS(14174),
    [anon_sym_GT_GT_EQ] = ACTIONS(14174),
    [anon_sym_LT_LT_EQ] = ACTIONS(14174),
    [anon_sym_CARET_EQ] = ACTIONS(14174),
    [anon_sym_QMARK] = ACTIONS(14174),
    [anon_sym_DOT_DOT] = ACTIONS(14176),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(14174),
    [anon_sym_and] = ACTIONS(14174),
    [anon_sym_or] = ACTIONS(14174),
    [anon_sym_PIPE_PIPE] = ACTIONS(14176),
    [anon_sym_AMP_AMP] = ACTIONS(14176),
    [anon_sym_LT_LT] = ACTIONS(14176),
    [anon_sym_GT_GT] = ACTIONS(14176),
    [anon_sym_EQ_EQ] = ACTIONS(14176),
    [anon_sym_BANG_EQ] = ACTIONS(14174),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(14174),
    [anon_sym_LT_EQ_GT] = ACTIONS(14174),
    [anon_sym_EQ_TILDE] = ACTIONS(14174),
    [anon_sym_BANG_TILDE] = ACTIONS(14174),
    [anon_sym_LT_EQ] = ACTIONS(14176),
    [anon_sym_GT] = ACTIONS(14176),
    [anon_sym_GT_EQ] = ACTIONS(14174),
    [anon_sym_CARET] = ACTIONS(14176),
    [anon_sym_PLUS] = ACTIONS(14176),
    [anon_sym_SLASH] = ACTIONS(14176),
    [anon_sym_PERCENT] = ACTIONS(14176),
    [sym_comment] = ACTIONS(256),
  },
  [9369] = {
    [sym__simple_string] = ACTIONS(9456),
    [sym__simple_symbol] = ACTIONS(9456),
    [sym__simple_subshell] = ACTIONS(9456),
    [sym__simple_regex] = ACTIONS(9456),
    [sym__simple_word_list] = ACTIONS(9456),
    [sym__string_beginning] = ACTIONS(9456),
    [sym__symbol_beginning] = ACTIONS(9456),
    [sym__subshell_beginning] = ACTIONS(9456),
    [sym__regex_beginning] = ACTIONS(9456),
    [sym__word_list_beginning] = ACTIONS(9456),
    [sym_heredoc_beginning] = ACTIONS(9456),
    [sym__element_reference_left_bracket] = ACTIONS(9456),
    [sym__block_ampersand] = ACTIONS(9456),
    [sym__splat_star] = ACTIONS(9456),
    [sym__argument_list_left_paren] = ACTIONS(9456),
    [sym__scope_double_colon] = ACTIONS(9456),
    [sym__unary_minus] = ACTIONS(9456),
    [sym__binary_minus] = ACTIONS(9456),
    [sym__binary_star] = ACTIONS(9456),
    [anon_sym_LBRACE] = ACTIONS(9456),
    [anon_sym_def] = ACTIONS(9458),
    [anon_sym_LPAREN] = ACTIONS(9456),
    [anon_sym_DOT] = ACTIONS(9458),
    [anon_sym_COLON_COLON] = ACTIONS(9456),
    [anon_sym_end] = ACTIONS(9458),
    [anon_sym_COMMA] = ACTIONS(9456),
    [anon_sym_PIPE] = ACTIONS(9458),
    [anon_sym_STAR] = ACTIONS(9458),
    [anon_sym_STAR_STAR] = ACTIONS(9458),
    [anon_sym_AMP] = ACTIONS(9458),
    [anon_sym_EQ] = ACTIONS(9458),
    [anon_sym_class] = ACTIONS(9458),
    [anon_sym_LT] = ACTIONS(9458),
    [anon_sym_module] = ACTIONS(9458),
    [anon_sym_return] = ACTIONS(9458),
    [anon_sym_yield] = ACTIONS(9458),
    [anon_sym_break] = ACTIONS(9458),
    [anon_sym_next] = ACTIONS(9458),
    [anon_sym_redo] = ACTIONS(9458),
    [anon_sym_retry] = ACTIONS(9458),
    [anon_sym_if] = ACTIONS(9458),
    [anon_sym_unless] = ACTIONS(9458),
    [anon_sym_while] = ACTIONS(9458),
    [anon_sym_until] = ACTIONS(9458),
    [anon_sym_rescue] = ACTIONS(9458),
    [anon_sym_for] = ACTIONS(9458),
    [anon_sym_in] = ACTIONS(9458),
    [anon_sym_do] = ACTIONS(9458),
    [anon_sym_case] = ACTIONS(9458),
    [anon_sym_when] = ACTIONS(9458),
    [anon_sym_elsif] = ACTIONS(9458),
    [anon_sym_else] = ACTIONS(9458),
    [anon_sym_then] = ACTIONS(9458),
    [anon_sym_begin] = ACTIONS(9458),
    [anon_sym_ensure] = ACTIONS(9458),
    [anon_sym_EQ_GT] = ACTIONS(9456),
    [anon_sym_AMP_DOT] = ACTIONS(9456),
    [anon_sym_PLUS_EQ] = ACTIONS(9456),
    [anon_sym_DASH_EQ] = ACTIONS(9456),
    [anon_sym_STAR_EQ] = ACTIONS(9456),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9456),
    [anon_sym_SLASH_EQ] = ACTIONS(9456),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9456),
    [anon_sym_PIPE_EQ] = ACTIONS(9456),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9456),
    [anon_sym_AMP_EQ] = ACTIONS(9456),
    [anon_sym_PERCENT_EQ] = ACTIONS(9456),
    [anon_sym_GT_GT_EQ] = ACTIONS(9456),
    [anon_sym_LT_LT_EQ] = ACTIONS(9456),
    [anon_sym_CARET_EQ] = ACTIONS(9456),
    [anon_sym_QMARK] = ACTIONS(9458),
    [anon_sym_DOT_DOT] = ACTIONS(9458),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9456),
    [anon_sym_and] = ACTIONS(9458),
    [anon_sym_or] = ACTIONS(9458),
    [anon_sym_PIPE_PIPE] = ACTIONS(9458),
    [anon_sym_AMP_AMP] = ACTIONS(9458),
    [anon_sym_LT_LT] = ACTIONS(9458),
    [anon_sym_GT_GT] = ACTIONS(9458),
    [anon_sym_EQ_EQ] = ACTIONS(9458),
    [anon_sym_BANG_EQ] = ACTIONS(9456),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9456),
    [anon_sym_LT_EQ_GT] = ACTIONS(9456),
    [anon_sym_EQ_TILDE] = ACTIONS(9456),
    [anon_sym_BANG_TILDE] = ACTIONS(9456),
    [anon_sym_LT_EQ] = ACTIONS(9458),
    [anon_sym_GT] = ACTIONS(9458),
    [anon_sym_GT_EQ] = ACTIONS(9456),
    [anon_sym_CARET] = ACTIONS(9458),
    [anon_sym_PLUS] = ACTIONS(9458),
    [anon_sym_SLASH] = ACTIONS(9458),
    [anon_sym_PERCENT] = ACTIONS(9458),
    [anon_sym_defined_QMARK] = ACTIONS(9456),
    [anon_sym_not] = ACTIONS(9458),
    [anon_sym_BANG] = ACTIONS(9458),
    [anon_sym_TILDE] = ACTIONS(9456),
    [sym_constant] = ACTIONS(14178),
    [sym_identifier] = ACTIONS(14178),
    [sym_instance_variable] = ACTIONS(9458),
    [sym_class_variable] = ACTIONS(9458),
    [sym_global_variable] = ACTIONS(9458),
    [anon_sym_alias] = ACTIONS(9458),
    [anon_sym_defined] = ACTIONS(9458),
    [anon_sym_false] = ACTIONS(9458),
    [anon_sym_nil] = ACTIONS(9458),
    [anon_sym_self] = ACTIONS(9458),
    [anon_sym_super] = ACTIONS(9458),
    [anon_sym_true] = ACTIONS(9458),
    [anon_sym_undef] = ACTIONS(9458),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(9458),
    [sym_float] = ACTIONS(14178),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(9456),
    [anon_sym_TRUE] = ACTIONS(9458),
    [anon_sym_FALSE] = ACTIONS(9458),
    [anon_sym_NIL] = ACTIONS(9458),
    [sym_keyword__FILE__] = ACTIONS(9458),
    [sym_keyword__LINE__] = ACTIONS(9458),
    [sym_keyword__ENCODING__] = ACTIONS(9458),
    [sym__character_literal] = ACTIONS(9458),
    [anon_sym_LBRACK] = ACTIONS(9456),
    [anon_sym_DASH_GT] = ACTIONS(9456),
  },
  [9370] = {
    [anon_sym_RPAREN] = ACTIONS(14730),
    [sym_comment] = ACTIONS(110),
  },
  [9371] = {
    [sym__simple_string] = ACTIONS(7678),
    [sym__simple_heredoc_body] = ACTIONS(7678),
    [sym__string_beginning] = ACTIONS(7678),
    [sym__heredoc_body_beginning] = ACTIONS(7678),
    [sym__element_reference_left_bracket] = ACTIONS(7678),
    [sym__scope_double_colon] = ACTIONS(7678),
    [sym__keyword_colon] = ACTIONS(7678),
    [sym__binary_minus] = ACTIONS(7678),
    [sym__binary_star] = ACTIONS(7678),
    [anon_sym_LBRACE] = ACTIONS(7678),
    [anon_sym_RBRACE] = ACTIONS(7678),
    [anon_sym_RPAREN] = ACTIONS(7678),
    [anon_sym_DOT] = ACTIONS(7680),
    [anon_sym_COMMA] = ACTIONS(7678),
    [anon_sym_PIPE] = ACTIONS(7680),
    [anon_sym_SEMI] = ACTIONS(7678),
    [anon_sym_STAR_STAR] = ACTIONS(7680),
    [anon_sym_AMP] = ACTIONS(7680),
    [anon_sym_EQ] = ACTIONS(7680),
    [anon_sym_LT] = ACTIONS(7680),
    [anon_sym_in] = ACTIONS(7678),
    [anon_sym_do] = ACTIONS(7678),
    [anon_sym_EQ_GT] = ACTIONS(7678),
    [anon_sym_RBRACK] = ACTIONS(7678),
    [anon_sym_AMP_DOT] = ACTIONS(7678),
    [anon_sym_PLUS_EQ] = ACTIONS(7678),
    [anon_sym_DASH_EQ] = ACTIONS(7678),
    [anon_sym_STAR_EQ] = ACTIONS(7678),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7678),
    [anon_sym_SLASH_EQ] = ACTIONS(7678),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7678),
    [anon_sym_PIPE_EQ] = ACTIONS(7678),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7678),
    [anon_sym_AMP_EQ] = ACTIONS(7678),
    [anon_sym_PERCENT_EQ] = ACTIONS(7678),
    [anon_sym_GT_GT_EQ] = ACTIONS(7678),
    [anon_sym_LT_LT_EQ] = ACTIONS(7678),
    [anon_sym_CARET_EQ] = ACTIONS(7678),
    [anon_sym_QMARK] = ACTIONS(7680),
    [anon_sym_COLON] = ACTIONS(7678),
    [anon_sym_DOT_DOT] = ACTIONS(7680),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7678),
    [anon_sym_and] = ACTIONS(7678),
    [anon_sym_or] = ACTIONS(7678),
    [anon_sym_PIPE_PIPE] = ACTIONS(7680),
    [anon_sym_AMP_AMP] = ACTIONS(7680),
    [anon_sym_LT_LT] = ACTIONS(7680),
    [anon_sym_GT_GT] = ACTIONS(7680),
    [anon_sym_EQ_EQ] = ACTIONS(7680),
    [anon_sym_BANG_EQ] = ACTIONS(7678),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7678),
    [anon_sym_LT_EQ_GT] = ACTIONS(7678),
    [anon_sym_EQ_TILDE] = ACTIONS(7678),
    [anon_sym_BANG_TILDE] = ACTIONS(7678),
    [anon_sym_LT_EQ] = ACTIONS(7680),
    [anon_sym_GT] = ACTIONS(7680),
    [anon_sym_GT_EQ] = ACTIONS(7678),
    [anon_sym_CARET] = ACTIONS(7680),
    [anon_sym_PLUS] = ACTIONS(7680),
    [anon_sym_SLASH] = ACTIONS(7680),
    [anon_sym_PERCENT] = ACTIONS(7680),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(7680),
  },
  [9372] = {
    [sym__simple_heredoc_body] = ACTIONS(7682),
    [sym__heredoc_body_beginning] = ACTIONS(7682),
    [sym__element_reference_left_bracket] = ACTIONS(7682),
    [sym__scope_double_colon] = ACTIONS(7682),
    [sym__binary_minus] = ACTIONS(7682),
    [sym__binary_star] = ACTIONS(7682),
    [anon_sym_LBRACE] = ACTIONS(7682),
    [anon_sym_RBRACE] = ACTIONS(7682),
    [anon_sym_RPAREN] = ACTIONS(7682),
    [anon_sym_DOT] = ACTIONS(7684),
    [anon_sym_COMMA] = ACTIONS(7682),
    [anon_sym_PIPE] = ACTIONS(7684),
    [anon_sym_SEMI] = ACTIONS(7682),
    [anon_sym_STAR_STAR] = ACTIONS(7684),
    [anon_sym_AMP] = ACTIONS(7684),
    [anon_sym_EQ] = ACTIONS(7684),
    [anon_sym_LT] = ACTIONS(7684),
    [anon_sym_in] = ACTIONS(7682),
    [anon_sym_do] = ACTIONS(7682),
    [anon_sym_EQ_GT] = ACTIONS(7682),
    [anon_sym_RBRACK] = ACTIONS(7682),
    [anon_sym_AMP_DOT] = ACTIONS(7682),
    [anon_sym_PLUS_EQ] = ACTIONS(7682),
    [anon_sym_DASH_EQ] = ACTIONS(7682),
    [anon_sym_STAR_EQ] = ACTIONS(7682),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7682),
    [anon_sym_SLASH_EQ] = ACTIONS(7682),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7682),
    [anon_sym_PIPE_EQ] = ACTIONS(7682),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7682),
    [anon_sym_AMP_EQ] = ACTIONS(7682),
    [anon_sym_PERCENT_EQ] = ACTIONS(7682),
    [anon_sym_GT_GT_EQ] = ACTIONS(7682),
    [anon_sym_LT_LT_EQ] = ACTIONS(7682),
    [anon_sym_CARET_EQ] = ACTIONS(7682),
    [anon_sym_QMARK] = ACTIONS(7682),
    [anon_sym_COLON] = ACTIONS(7682),
    [anon_sym_DOT_DOT] = ACTIONS(7684),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7682),
    [anon_sym_and] = ACTIONS(7682),
    [anon_sym_or] = ACTIONS(7682),
    [anon_sym_PIPE_PIPE] = ACTIONS(7684),
    [anon_sym_AMP_AMP] = ACTIONS(7684),
    [anon_sym_LT_LT] = ACTIONS(7684),
    [anon_sym_GT_GT] = ACTIONS(7684),
    [anon_sym_EQ_EQ] = ACTIONS(7684),
    [anon_sym_BANG_EQ] = ACTIONS(7682),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7682),
    [anon_sym_LT_EQ_GT] = ACTIONS(7682),
    [anon_sym_EQ_TILDE] = ACTIONS(7682),
    [anon_sym_BANG_TILDE] = ACTIONS(7682),
    [anon_sym_LT_EQ] = ACTIONS(7684),
    [anon_sym_GT] = ACTIONS(7684),
    [anon_sym_GT_EQ] = ACTIONS(7682),
    [anon_sym_CARET] = ACTIONS(7684),
    [anon_sym_PLUS] = ACTIONS(7684),
    [anon_sym_SLASH] = ACTIONS(7684),
    [anon_sym_PERCENT] = ACTIONS(7684),
    [sym_comment] = ACTIONS(256),
  },
  [9373] = {
    [sym__simple_heredoc_body] = ACTIONS(7686),
    [sym__heredoc_body_beginning] = ACTIONS(7686),
    [sym__element_reference_left_bracket] = ACTIONS(7686),
    [sym__scope_double_colon] = ACTIONS(7686),
    [sym__binary_minus] = ACTIONS(7686),
    [sym__binary_star] = ACTIONS(7686),
    [anon_sym_LBRACE] = ACTIONS(7686),
    [anon_sym_RBRACE] = ACTIONS(7686),
    [anon_sym_RPAREN] = ACTIONS(7686),
    [anon_sym_DOT] = ACTIONS(7688),
    [anon_sym_COMMA] = ACTIONS(7686),
    [anon_sym_PIPE] = ACTIONS(7688),
    [anon_sym_SEMI] = ACTIONS(7686),
    [anon_sym_STAR_STAR] = ACTIONS(7688),
    [anon_sym_AMP] = ACTIONS(7688),
    [anon_sym_EQ] = ACTIONS(7688),
    [anon_sym_LT] = ACTIONS(7688),
    [anon_sym_in] = ACTIONS(7686),
    [anon_sym_do] = ACTIONS(7686),
    [anon_sym_EQ_GT] = ACTIONS(7686),
    [anon_sym_RBRACK] = ACTIONS(7686),
    [anon_sym_AMP_DOT] = ACTIONS(7686),
    [anon_sym_PLUS_EQ] = ACTIONS(7686),
    [anon_sym_DASH_EQ] = ACTIONS(7686),
    [anon_sym_STAR_EQ] = ACTIONS(7686),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7686),
    [anon_sym_SLASH_EQ] = ACTIONS(7686),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7686),
    [anon_sym_PIPE_EQ] = ACTIONS(7686),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7686),
    [anon_sym_AMP_EQ] = ACTIONS(7686),
    [anon_sym_PERCENT_EQ] = ACTIONS(7686),
    [anon_sym_GT_GT_EQ] = ACTIONS(7686),
    [anon_sym_LT_LT_EQ] = ACTIONS(7686),
    [anon_sym_CARET_EQ] = ACTIONS(7686),
    [anon_sym_QMARK] = ACTIONS(7686),
    [anon_sym_COLON] = ACTIONS(7686),
    [anon_sym_DOT_DOT] = ACTIONS(7688),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7686),
    [anon_sym_and] = ACTIONS(7686),
    [anon_sym_or] = ACTIONS(7686),
    [anon_sym_PIPE_PIPE] = ACTIONS(7688),
    [anon_sym_AMP_AMP] = ACTIONS(7688),
    [anon_sym_LT_LT] = ACTIONS(7688),
    [anon_sym_GT_GT] = ACTIONS(7688),
    [anon_sym_EQ_EQ] = ACTIONS(7688),
    [anon_sym_BANG_EQ] = ACTIONS(7686),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7686),
    [anon_sym_LT_EQ_GT] = ACTIONS(7686),
    [anon_sym_EQ_TILDE] = ACTIONS(7686),
    [anon_sym_BANG_TILDE] = ACTIONS(7686),
    [anon_sym_LT_EQ] = ACTIONS(7688),
    [anon_sym_GT] = ACTIONS(7688),
    [anon_sym_GT_EQ] = ACTIONS(7686),
    [anon_sym_CARET] = ACTIONS(7688),
    [anon_sym_PLUS] = ACTIONS(7688),
    [anon_sym_SLASH] = ACTIONS(7688),
    [anon_sym_PERCENT] = ACTIONS(7688),
    [sym_comment] = ACTIONS(256),
  },
  [9374] = {
    [sym__simple_heredoc_body] = ACTIONS(7690),
    [sym__heredoc_body_beginning] = ACTIONS(7690),
    [sym__element_reference_left_bracket] = ACTIONS(7690),
    [sym__scope_double_colon] = ACTIONS(7690),
    [sym__binary_minus] = ACTIONS(7690),
    [sym__binary_star] = ACTIONS(7690),
    [anon_sym_LBRACE] = ACTIONS(7690),
    [anon_sym_RBRACE] = ACTIONS(7690),
    [anon_sym_RPAREN] = ACTIONS(7690),
    [anon_sym_DOT] = ACTIONS(7692),
    [anon_sym_COMMA] = ACTIONS(7690),
    [anon_sym_PIPE] = ACTIONS(7692),
    [anon_sym_SEMI] = ACTIONS(7690),
    [anon_sym_STAR_STAR] = ACTIONS(7692),
    [anon_sym_AMP] = ACTIONS(7692),
    [anon_sym_EQ] = ACTIONS(7692),
    [anon_sym_LT] = ACTIONS(7692),
    [anon_sym_in] = ACTIONS(7690),
    [anon_sym_do] = ACTIONS(7690),
    [anon_sym_EQ_GT] = ACTIONS(7690),
    [anon_sym_RBRACK] = ACTIONS(7690),
    [anon_sym_AMP_DOT] = ACTIONS(7690),
    [anon_sym_PLUS_EQ] = ACTIONS(7690),
    [anon_sym_DASH_EQ] = ACTIONS(7690),
    [anon_sym_STAR_EQ] = ACTIONS(7690),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7690),
    [anon_sym_SLASH_EQ] = ACTIONS(7690),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7690),
    [anon_sym_PIPE_EQ] = ACTIONS(7690),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7690),
    [anon_sym_AMP_EQ] = ACTIONS(7690),
    [anon_sym_PERCENT_EQ] = ACTIONS(7690),
    [anon_sym_GT_GT_EQ] = ACTIONS(7690),
    [anon_sym_LT_LT_EQ] = ACTIONS(7690),
    [anon_sym_CARET_EQ] = ACTIONS(7690),
    [anon_sym_QMARK] = ACTIONS(7690),
    [anon_sym_COLON] = ACTIONS(7690),
    [anon_sym_DOT_DOT] = ACTIONS(7692),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7690),
    [anon_sym_and] = ACTIONS(7690),
    [anon_sym_or] = ACTIONS(7690),
    [anon_sym_PIPE_PIPE] = ACTIONS(7692),
    [anon_sym_AMP_AMP] = ACTIONS(7692),
    [anon_sym_LT_LT] = ACTIONS(7692),
    [anon_sym_GT_GT] = ACTIONS(7692),
    [anon_sym_EQ_EQ] = ACTIONS(7692),
    [anon_sym_BANG_EQ] = ACTIONS(7690),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7690),
    [anon_sym_LT_EQ_GT] = ACTIONS(7690),
    [anon_sym_EQ_TILDE] = ACTIONS(7690),
    [anon_sym_BANG_TILDE] = ACTIONS(7690),
    [anon_sym_LT_EQ] = ACTIONS(7692),
    [anon_sym_GT] = ACTIONS(7692),
    [anon_sym_GT_EQ] = ACTIONS(7690),
    [anon_sym_CARET] = ACTIONS(7692),
    [anon_sym_PLUS] = ACTIONS(7692),
    [anon_sym_SLASH] = ACTIONS(7692),
    [anon_sym_PERCENT] = ACTIONS(7692),
    [sym_comment] = ACTIONS(256),
  },
  [9375] = {
    [sym__simple_heredoc_body] = ACTIONS(7694),
    [sym__heredoc_body_beginning] = ACTIONS(7694),
    [sym__element_reference_left_bracket] = ACTIONS(7694),
    [sym__scope_double_colon] = ACTIONS(7694),
    [sym__binary_minus] = ACTIONS(7694),
    [sym__binary_star] = ACTIONS(7694),
    [anon_sym_LBRACE] = ACTIONS(7694),
    [anon_sym_RBRACE] = ACTIONS(7694),
    [anon_sym_RPAREN] = ACTIONS(7694),
    [anon_sym_DOT] = ACTIONS(7696),
    [anon_sym_COMMA] = ACTIONS(7694),
    [anon_sym_PIPE] = ACTIONS(7696),
    [anon_sym_SEMI] = ACTIONS(7694),
    [anon_sym_STAR_STAR] = ACTIONS(7696),
    [anon_sym_AMP] = ACTIONS(7696),
    [anon_sym_EQ] = ACTIONS(7696),
    [anon_sym_LT] = ACTIONS(7696),
    [anon_sym_in] = ACTIONS(7694),
    [anon_sym_do] = ACTIONS(7694),
    [anon_sym_EQ_GT] = ACTIONS(7694),
    [anon_sym_RBRACK] = ACTIONS(7694),
    [anon_sym_AMP_DOT] = ACTIONS(7694),
    [anon_sym_PLUS_EQ] = ACTIONS(7694),
    [anon_sym_DASH_EQ] = ACTIONS(7694),
    [anon_sym_STAR_EQ] = ACTIONS(7694),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7694),
    [anon_sym_SLASH_EQ] = ACTIONS(7694),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7694),
    [anon_sym_PIPE_EQ] = ACTIONS(7694),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7694),
    [anon_sym_AMP_EQ] = ACTIONS(7694),
    [anon_sym_PERCENT_EQ] = ACTIONS(7694),
    [anon_sym_GT_GT_EQ] = ACTIONS(7694),
    [anon_sym_LT_LT_EQ] = ACTIONS(7694),
    [anon_sym_CARET_EQ] = ACTIONS(7694),
    [anon_sym_QMARK] = ACTIONS(7694),
    [anon_sym_COLON] = ACTIONS(7694),
    [anon_sym_DOT_DOT] = ACTIONS(7696),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7694),
    [anon_sym_and] = ACTIONS(7694),
    [anon_sym_or] = ACTIONS(7694),
    [anon_sym_PIPE_PIPE] = ACTIONS(7696),
    [anon_sym_AMP_AMP] = ACTIONS(7696),
    [anon_sym_LT_LT] = ACTIONS(7696),
    [anon_sym_GT_GT] = ACTIONS(7696),
    [anon_sym_EQ_EQ] = ACTIONS(7696),
    [anon_sym_BANG_EQ] = ACTIONS(7694),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7694),
    [anon_sym_LT_EQ_GT] = ACTIONS(7694),
    [anon_sym_EQ_TILDE] = ACTIONS(7694),
    [anon_sym_BANG_TILDE] = ACTIONS(7694),
    [anon_sym_LT_EQ] = ACTIONS(7696),
    [anon_sym_GT] = ACTIONS(7696),
    [anon_sym_GT_EQ] = ACTIONS(7694),
    [anon_sym_CARET] = ACTIONS(7696),
    [anon_sym_PLUS] = ACTIONS(7696),
    [anon_sym_SLASH] = ACTIONS(7696),
    [anon_sym_PERCENT] = ACTIONS(7696),
    [sym_comment] = ACTIONS(256),
  },
  [9376] = {
    [sym__simple_string] = ACTIONS(3612),
    [sym__simple_heredoc_body] = ACTIONS(3612),
    [sym__string_beginning] = ACTIONS(3612),
    [sym__heredoc_body_beginning] = ACTIONS(3612),
    [sym__element_reference_left_bracket] = ACTIONS(3612),
    [sym__scope_double_colon] = ACTIONS(3612),
    [sym__binary_minus] = ACTIONS(3612),
    [sym__binary_star] = ACTIONS(3612),
    [anon_sym_LBRACE] = ACTIONS(3612),
    [anon_sym_RBRACE] = ACTIONS(3612),
    [anon_sym_RPAREN] = ACTIONS(3612),
    [anon_sym_DOT] = ACTIONS(3614),
    [anon_sym_COMMA] = ACTIONS(3612),
    [anon_sym_PIPE] = ACTIONS(3614),
    [anon_sym_SEMI] = ACTIONS(3612),
    [anon_sym_STAR_STAR] = ACTIONS(3614),
    [anon_sym_AMP] = ACTIONS(3614),
    [anon_sym_EQ] = ACTIONS(3614),
    [anon_sym_LT] = ACTIONS(3614),
    [anon_sym_in] = ACTIONS(3612),
    [anon_sym_do] = ACTIONS(3612),
    [anon_sym_EQ_GT] = ACTIONS(3612),
    [anon_sym_RBRACK] = ACTIONS(3612),
    [anon_sym_AMP_DOT] = ACTIONS(3612),
    [anon_sym_PLUS_EQ] = ACTIONS(3612),
    [anon_sym_DASH_EQ] = ACTIONS(3612),
    [anon_sym_STAR_EQ] = ACTIONS(3612),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(3612),
    [anon_sym_SLASH_EQ] = ACTIONS(3612),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(3612),
    [anon_sym_PIPE_EQ] = ACTIONS(3612),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(3612),
    [anon_sym_AMP_EQ] = ACTIONS(3612),
    [anon_sym_PERCENT_EQ] = ACTIONS(3612),
    [anon_sym_GT_GT_EQ] = ACTIONS(3612),
    [anon_sym_LT_LT_EQ] = ACTIONS(3612),
    [anon_sym_CARET_EQ] = ACTIONS(3612),
    [anon_sym_QMARK] = ACTIONS(3614),
    [anon_sym_COLON] = ACTIONS(3612),
    [anon_sym_DOT_DOT] = ACTIONS(3614),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3612),
    [anon_sym_and] = ACTIONS(3612),
    [anon_sym_or] = ACTIONS(3612),
    [anon_sym_PIPE_PIPE] = ACTIONS(3614),
    [anon_sym_AMP_AMP] = ACTIONS(3614),
    [anon_sym_LT_LT] = ACTIONS(3614),
    [anon_sym_GT_GT] = ACTIONS(3614),
    [anon_sym_EQ_EQ] = ACTIONS(3614),
    [anon_sym_BANG_EQ] = ACTIONS(3612),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3612),
    [anon_sym_LT_EQ_GT] = ACTIONS(3612),
    [anon_sym_EQ_TILDE] = ACTIONS(3612),
    [anon_sym_BANG_TILDE] = ACTIONS(3612),
    [anon_sym_LT_EQ] = ACTIONS(3614),
    [anon_sym_GT] = ACTIONS(3614),
    [anon_sym_GT_EQ] = ACTIONS(3612),
    [anon_sym_CARET] = ACTIONS(3614),
    [anon_sym_PLUS] = ACTIONS(3614),
    [anon_sym_SLASH] = ACTIONS(3614),
    [anon_sym_PERCENT] = ACTIONS(3614),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(3614),
  },
  [9377] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(14732),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [9378] = {
    [sym__simple_heredoc_body] = ACTIONS(12768),
    [sym__heredoc_body_beginning] = ACTIONS(12768),
    [sym__element_reference_left_bracket] = ACTIONS(12768),
    [sym__scope_double_colon] = ACTIONS(12768),
    [sym__binary_minus] = ACTIONS(12768),
    [sym__binary_star] = ACTIONS(12768),
    [anon_sym_LBRACE] = ACTIONS(12768),
    [anon_sym_RBRACE] = ACTIONS(12768),
    [anon_sym_RPAREN] = ACTIONS(12768),
    [anon_sym_DOT] = ACTIONS(12770),
    [anon_sym_COMMA] = ACTIONS(12768),
    [anon_sym_PIPE] = ACTIONS(12770),
    [anon_sym_SEMI] = ACTIONS(12768),
    [anon_sym_STAR_STAR] = ACTIONS(12770),
    [anon_sym_AMP] = ACTIONS(12770),
    [anon_sym_EQ] = ACTIONS(12770),
    [anon_sym_LT] = ACTIONS(12770),
    [anon_sym_in] = ACTIONS(12768),
    [anon_sym_do] = ACTIONS(12768),
    [anon_sym_EQ_GT] = ACTIONS(12768),
    [anon_sym_RBRACK] = ACTIONS(12768),
    [anon_sym_AMP_DOT] = ACTIONS(12768),
    [anon_sym_PLUS_EQ] = ACTIONS(12768),
    [anon_sym_DASH_EQ] = ACTIONS(12768),
    [anon_sym_STAR_EQ] = ACTIONS(12768),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(12768),
    [anon_sym_SLASH_EQ] = ACTIONS(12768),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(12768),
    [anon_sym_PIPE_EQ] = ACTIONS(12768),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(12768),
    [anon_sym_AMP_EQ] = ACTIONS(12768),
    [anon_sym_PERCENT_EQ] = ACTIONS(12768),
    [anon_sym_GT_GT_EQ] = ACTIONS(12768),
    [anon_sym_LT_LT_EQ] = ACTIONS(12768),
    [anon_sym_CARET_EQ] = ACTIONS(12768),
    [anon_sym_QMARK] = ACTIONS(12768),
    [anon_sym_COLON] = ACTIONS(12768),
    [anon_sym_DOT_DOT] = ACTIONS(12770),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12768),
    [anon_sym_and] = ACTIONS(12768),
    [anon_sym_or] = ACTIONS(12768),
    [anon_sym_PIPE_PIPE] = ACTIONS(12770),
    [anon_sym_AMP_AMP] = ACTIONS(12770),
    [anon_sym_LT_LT] = ACTIONS(12770),
    [anon_sym_GT_GT] = ACTIONS(12770),
    [anon_sym_EQ_EQ] = ACTIONS(12770),
    [anon_sym_BANG_EQ] = ACTIONS(12768),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12768),
    [anon_sym_LT_EQ_GT] = ACTIONS(12768),
    [anon_sym_EQ_TILDE] = ACTIONS(12768),
    [anon_sym_BANG_TILDE] = ACTIONS(12768),
    [anon_sym_LT_EQ] = ACTIONS(12770),
    [anon_sym_GT] = ACTIONS(12770),
    [anon_sym_GT_EQ] = ACTIONS(12768),
    [anon_sym_CARET] = ACTIONS(12770),
    [anon_sym_PLUS] = ACTIONS(12770),
    [anon_sym_SLASH] = ACTIONS(12770),
    [anon_sym_PERCENT] = ACTIONS(12770),
    [sym_comment] = ACTIONS(256),
  },
  [9379] = {
    [sym__element_reference_left_bracket] = ACTIONS(14000),
    [sym__scope_double_colon] = ACTIONS(14000),
    [sym__binary_minus] = ACTIONS(14000),
    [sym__binary_star] = ACTIONS(14000),
    [anon_sym_DOT] = ACTIONS(14002),
    [anon_sym_COMMA] = ACTIONS(14000),
    [anon_sym_PIPE] = ACTIONS(14002),
    [anon_sym_STAR_STAR] = ACTIONS(14002),
    [anon_sym_AMP] = ACTIONS(14002),
    [anon_sym_EQ] = ACTIONS(14002),
    [anon_sym_LT] = ACTIONS(14002),
    [anon_sym_EQ_GT] = ACTIONS(14000),
    [anon_sym_AMP_DOT] = ACTIONS(14000),
    [anon_sym_PLUS_EQ] = ACTIONS(14000),
    [anon_sym_DASH_EQ] = ACTIONS(14000),
    [anon_sym_STAR_EQ] = ACTIONS(14000),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(14000),
    [anon_sym_SLASH_EQ] = ACTIONS(14000),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(14000),
    [anon_sym_PIPE_EQ] = ACTIONS(14000),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(14000),
    [anon_sym_AMP_EQ] = ACTIONS(14000),
    [anon_sym_PERCENT_EQ] = ACTIONS(14000),
    [anon_sym_GT_GT_EQ] = ACTIONS(14000),
    [anon_sym_LT_LT_EQ] = ACTIONS(14000),
    [anon_sym_CARET_EQ] = ACTIONS(14000),
    [anon_sym_QMARK] = ACTIONS(14000),
    [anon_sym_DOT_DOT] = ACTIONS(14002),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(14000),
    [anon_sym_and] = ACTIONS(14000),
    [anon_sym_or] = ACTIONS(14000),
    [anon_sym_PIPE_PIPE] = ACTIONS(14002),
    [anon_sym_AMP_AMP] = ACTIONS(14002),
    [anon_sym_LT_LT] = ACTIONS(14002),
    [anon_sym_GT_GT] = ACTIONS(14002),
    [anon_sym_EQ_EQ] = ACTIONS(14002),
    [anon_sym_BANG_EQ] = ACTIONS(14000),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(14000),
    [anon_sym_LT_EQ_GT] = ACTIONS(14000),
    [anon_sym_EQ_TILDE] = ACTIONS(14000),
    [anon_sym_BANG_TILDE] = ACTIONS(14000),
    [anon_sym_LT_EQ] = ACTIONS(14002),
    [anon_sym_GT] = ACTIONS(14002),
    [anon_sym_GT_EQ] = ACTIONS(14000),
    [anon_sym_CARET] = ACTIONS(14002),
    [anon_sym_PLUS] = ACTIONS(14002),
    [anon_sym_SLASH] = ACTIONS(14002),
    [anon_sym_PERCENT] = ACTIONS(14002),
    [sym_comment] = ACTIONS(256),
  },
  [9380] = {
    [sym__simple_heredoc_body] = ACTIONS(8664),
    [sym__heredoc_body_beginning] = ACTIONS(8664),
    [sym__element_reference_left_bracket] = ACTIONS(8664),
    [sym__scope_double_colon] = ACTIONS(8664),
    [sym__binary_minus] = ACTIONS(8664),
    [sym__binary_star] = ACTIONS(8664),
    [anon_sym_LBRACE] = ACTIONS(8664),
    [anon_sym_RBRACE] = ACTIONS(8664),
    [anon_sym_RPAREN] = ACTIONS(8664),
    [anon_sym_DOT] = ACTIONS(8666),
    [anon_sym_COMMA] = ACTIONS(8664),
    [anon_sym_PIPE] = ACTIONS(8666),
    [anon_sym_SEMI] = ACTIONS(8664),
    [anon_sym_STAR_STAR] = ACTIONS(8666),
    [anon_sym_AMP] = ACTIONS(8666),
    [anon_sym_EQ] = ACTIONS(8666),
    [anon_sym_LT] = ACTIONS(8666),
    [anon_sym_in] = ACTIONS(8664),
    [anon_sym_do] = ACTIONS(8664),
    [anon_sym_EQ_GT] = ACTIONS(8664),
    [anon_sym_RBRACK] = ACTIONS(8664),
    [anon_sym_AMP_DOT] = ACTIONS(8664),
    [anon_sym_PLUS_EQ] = ACTIONS(8664),
    [anon_sym_DASH_EQ] = ACTIONS(8664),
    [anon_sym_STAR_EQ] = ACTIONS(8664),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8664),
    [anon_sym_SLASH_EQ] = ACTIONS(8664),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8664),
    [anon_sym_PIPE_EQ] = ACTIONS(8664),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8664),
    [anon_sym_AMP_EQ] = ACTIONS(8664),
    [anon_sym_PERCENT_EQ] = ACTIONS(8664),
    [anon_sym_GT_GT_EQ] = ACTIONS(8664),
    [anon_sym_LT_LT_EQ] = ACTIONS(8664),
    [anon_sym_CARET_EQ] = ACTIONS(8664),
    [anon_sym_QMARK] = ACTIONS(8664),
    [anon_sym_COLON] = ACTIONS(8664),
    [anon_sym_DOT_DOT] = ACTIONS(8666),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8664),
    [anon_sym_and] = ACTIONS(8664),
    [anon_sym_or] = ACTIONS(8664),
    [anon_sym_PIPE_PIPE] = ACTIONS(8666),
    [anon_sym_AMP_AMP] = ACTIONS(8666),
    [anon_sym_LT_LT] = ACTIONS(8666),
    [anon_sym_GT_GT] = ACTIONS(8666),
    [anon_sym_EQ_EQ] = ACTIONS(8666),
    [anon_sym_BANG_EQ] = ACTIONS(8664),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8664),
    [anon_sym_LT_EQ_GT] = ACTIONS(8664),
    [anon_sym_EQ_TILDE] = ACTIONS(8664),
    [anon_sym_BANG_TILDE] = ACTIONS(8664),
    [anon_sym_LT_EQ] = ACTIONS(8666),
    [anon_sym_GT] = ACTIONS(8666),
    [anon_sym_GT_EQ] = ACTIONS(8664),
    [anon_sym_CARET] = ACTIONS(8666),
    [anon_sym_PLUS] = ACTIONS(8666),
    [anon_sym_SLASH] = ACTIONS(8666),
    [anon_sym_PERCENT] = ACTIONS(8666),
    [sym_comment] = ACTIONS(256),
  },
  [9381] = {
    [anon_sym_DOT] = ACTIONS(14734),
    [anon_sym_COLON_COLON] = ACTIONS(14734),
    [sym_comment] = ACTIONS(110),
  },
  [9382] = {
    [sym__simple_heredoc_body] = ACTIONS(8832),
    [sym__heredoc_body_beginning] = ACTIONS(8832),
    [sym__element_reference_left_bracket] = ACTIONS(8832),
    [sym__scope_double_colon] = ACTIONS(8832),
    [sym__binary_minus] = ACTIONS(8832),
    [sym__binary_star] = ACTIONS(8832),
    [anon_sym_LBRACE] = ACTIONS(8832),
    [anon_sym_RBRACE] = ACTIONS(8832),
    [anon_sym_RPAREN] = ACTIONS(8832),
    [anon_sym_DOT] = ACTIONS(8834),
    [anon_sym_COMMA] = ACTIONS(8832),
    [anon_sym_PIPE] = ACTIONS(8834),
    [anon_sym_SEMI] = ACTIONS(8832),
    [anon_sym_STAR_STAR] = ACTIONS(8834),
    [anon_sym_AMP] = ACTIONS(8834),
    [anon_sym_EQ] = ACTIONS(8834),
    [anon_sym_LT] = ACTIONS(8834),
    [anon_sym_in] = ACTIONS(8832),
    [anon_sym_do] = ACTIONS(8832),
    [anon_sym_EQ_GT] = ACTIONS(8832),
    [anon_sym_RBRACK] = ACTIONS(8832),
    [anon_sym_AMP_DOT] = ACTIONS(8832),
    [anon_sym_PLUS_EQ] = ACTIONS(8832),
    [anon_sym_DASH_EQ] = ACTIONS(8832),
    [anon_sym_STAR_EQ] = ACTIONS(8832),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8832),
    [anon_sym_SLASH_EQ] = ACTIONS(8832),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8832),
    [anon_sym_PIPE_EQ] = ACTIONS(8832),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8832),
    [anon_sym_AMP_EQ] = ACTIONS(8832),
    [anon_sym_PERCENT_EQ] = ACTIONS(8832),
    [anon_sym_GT_GT_EQ] = ACTIONS(8832),
    [anon_sym_LT_LT_EQ] = ACTIONS(8832),
    [anon_sym_CARET_EQ] = ACTIONS(8832),
    [anon_sym_QMARK] = ACTIONS(8832),
    [anon_sym_COLON] = ACTIONS(8832),
    [anon_sym_DOT_DOT] = ACTIONS(8834),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8832),
    [anon_sym_and] = ACTIONS(8832),
    [anon_sym_or] = ACTIONS(8832),
    [anon_sym_PIPE_PIPE] = ACTIONS(8834),
    [anon_sym_AMP_AMP] = ACTIONS(8834),
    [anon_sym_LT_LT] = ACTIONS(8834),
    [anon_sym_GT_GT] = ACTIONS(8834),
    [anon_sym_EQ_EQ] = ACTIONS(8834),
    [anon_sym_BANG_EQ] = ACTIONS(8832),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8832),
    [anon_sym_LT_EQ_GT] = ACTIONS(8832),
    [anon_sym_EQ_TILDE] = ACTIONS(8832),
    [anon_sym_BANG_TILDE] = ACTIONS(8832),
    [anon_sym_LT_EQ] = ACTIONS(8834),
    [anon_sym_GT] = ACTIONS(8834),
    [anon_sym_GT_EQ] = ACTIONS(8832),
    [anon_sym_CARET] = ACTIONS(8834),
    [anon_sym_PLUS] = ACTIONS(8834),
    [anon_sym_SLASH] = ACTIONS(8834),
    [anon_sym_PERCENT] = ACTIONS(8834),
    [sym_comment] = ACTIONS(256),
  },
  [9383] = {
    [sym__simple_heredoc_body] = ACTIONS(8858),
    [sym__heredoc_body_beginning] = ACTIONS(8858),
    [sym__element_reference_left_bracket] = ACTIONS(8858),
    [sym__scope_double_colon] = ACTIONS(8858),
    [sym__binary_minus] = ACTIONS(8858),
    [sym__binary_star] = ACTIONS(8858),
    [anon_sym_LBRACE] = ACTIONS(8858),
    [anon_sym_RBRACE] = ACTIONS(8858),
    [anon_sym_RPAREN] = ACTIONS(8858),
    [anon_sym_DOT] = ACTIONS(8860),
    [anon_sym_COMMA] = ACTIONS(8858),
    [anon_sym_PIPE] = ACTIONS(8860),
    [anon_sym_SEMI] = ACTIONS(8858),
    [anon_sym_STAR_STAR] = ACTIONS(8860),
    [anon_sym_AMP] = ACTIONS(8860),
    [anon_sym_EQ] = ACTIONS(8860),
    [anon_sym_LT] = ACTIONS(8860),
    [anon_sym_in] = ACTIONS(8858),
    [anon_sym_do] = ACTIONS(8858),
    [anon_sym_EQ_GT] = ACTIONS(8858),
    [anon_sym_RBRACK] = ACTIONS(8858),
    [anon_sym_AMP_DOT] = ACTIONS(8858),
    [anon_sym_PLUS_EQ] = ACTIONS(8858),
    [anon_sym_DASH_EQ] = ACTIONS(8858),
    [anon_sym_STAR_EQ] = ACTIONS(8858),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8858),
    [anon_sym_SLASH_EQ] = ACTIONS(8858),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8858),
    [anon_sym_PIPE_EQ] = ACTIONS(8858),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8858),
    [anon_sym_AMP_EQ] = ACTIONS(8858),
    [anon_sym_PERCENT_EQ] = ACTIONS(8858),
    [anon_sym_GT_GT_EQ] = ACTIONS(8858),
    [anon_sym_LT_LT_EQ] = ACTIONS(8858),
    [anon_sym_CARET_EQ] = ACTIONS(8858),
    [anon_sym_QMARK] = ACTIONS(8858),
    [anon_sym_COLON] = ACTIONS(8858),
    [anon_sym_DOT_DOT] = ACTIONS(8860),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8858),
    [anon_sym_and] = ACTIONS(8858),
    [anon_sym_or] = ACTIONS(8858),
    [anon_sym_PIPE_PIPE] = ACTIONS(8860),
    [anon_sym_AMP_AMP] = ACTIONS(8860),
    [anon_sym_LT_LT] = ACTIONS(8860),
    [anon_sym_GT_GT] = ACTIONS(8860),
    [anon_sym_EQ_EQ] = ACTIONS(8860),
    [anon_sym_BANG_EQ] = ACTIONS(8858),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8858),
    [anon_sym_LT_EQ_GT] = ACTIONS(8858),
    [anon_sym_EQ_TILDE] = ACTIONS(8858),
    [anon_sym_BANG_TILDE] = ACTIONS(8858),
    [anon_sym_LT_EQ] = ACTIONS(8860),
    [anon_sym_GT] = ACTIONS(8860),
    [anon_sym_GT_EQ] = ACTIONS(8858),
    [anon_sym_CARET] = ACTIONS(8860),
    [anon_sym_PLUS] = ACTIONS(8860),
    [anon_sym_SLASH] = ACTIONS(8860),
    [anon_sym_PERCENT] = ACTIONS(8860),
    [sym_comment] = ACTIONS(256),
  },
  [9384] = {
    [anon_sym_end] = ACTIONS(14736),
    [sym_comment] = ACTIONS(110),
  },
  [9385] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(11855),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14738),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9386] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(11857),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14740),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9387] = {
    [sym__simple_heredoc_body] = ACTIONS(9340),
    [sym__heredoc_body_beginning] = ACTIONS(9340),
    [sym__element_reference_left_bracket] = ACTIONS(9340),
    [sym__scope_double_colon] = ACTIONS(9340),
    [sym__binary_minus] = ACTIONS(9340),
    [sym__binary_star] = ACTIONS(9340),
    [anon_sym_LBRACE] = ACTIONS(9340),
    [anon_sym_RBRACE] = ACTIONS(9340),
    [anon_sym_RPAREN] = ACTIONS(9340),
    [anon_sym_DOT] = ACTIONS(9342),
    [anon_sym_COMMA] = ACTIONS(9340),
    [anon_sym_PIPE] = ACTIONS(9342),
    [anon_sym_SEMI] = ACTIONS(9340),
    [anon_sym_STAR_STAR] = ACTIONS(9342),
    [anon_sym_AMP] = ACTIONS(9342),
    [anon_sym_EQ] = ACTIONS(9342),
    [anon_sym_LT] = ACTIONS(9342),
    [anon_sym_in] = ACTIONS(9340),
    [anon_sym_do] = ACTIONS(9340),
    [anon_sym_EQ_GT] = ACTIONS(9340),
    [anon_sym_RBRACK] = ACTIONS(9340),
    [anon_sym_AMP_DOT] = ACTIONS(9340),
    [anon_sym_PLUS_EQ] = ACTIONS(9340),
    [anon_sym_DASH_EQ] = ACTIONS(9340),
    [anon_sym_STAR_EQ] = ACTIONS(9340),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9340),
    [anon_sym_SLASH_EQ] = ACTIONS(9340),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9340),
    [anon_sym_PIPE_EQ] = ACTIONS(9340),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9340),
    [anon_sym_AMP_EQ] = ACTIONS(9340),
    [anon_sym_PERCENT_EQ] = ACTIONS(9340),
    [anon_sym_GT_GT_EQ] = ACTIONS(9340),
    [anon_sym_LT_LT_EQ] = ACTIONS(9340),
    [anon_sym_CARET_EQ] = ACTIONS(9340),
    [anon_sym_QMARK] = ACTIONS(9340),
    [anon_sym_COLON] = ACTIONS(9340),
    [anon_sym_DOT_DOT] = ACTIONS(9342),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9340),
    [anon_sym_and] = ACTIONS(9340),
    [anon_sym_or] = ACTIONS(9340),
    [anon_sym_PIPE_PIPE] = ACTIONS(9342),
    [anon_sym_AMP_AMP] = ACTIONS(9342),
    [anon_sym_LT_LT] = ACTIONS(9342),
    [anon_sym_GT_GT] = ACTIONS(9342),
    [anon_sym_EQ_EQ] = ACTIONS(9342),
    [anon_sym_BANG_EQ] = ACTIONS(9340),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9340),
    [anon_sym_LT_EQ_GT] = ACTIONS(9340),
    [anon_sym_EQ_TILDE] = ACTIONS(9340),
    [anon_sym_BANG_TILDE] = ACTIONS(9340),
    [anon_sym_LT_EQ] = ACTIONS(9342),
    [anon_sym_GT] = ACTIONS(9342),
    [anon_sym_GT_EQ] = ACTIONS(9340),
    [anon_sym_CARET] = ACTIONS(9342),
    [anon_sym_PLUS] = ACTIONS(9342),
    [anon_sym_SLASH] = ACTIONS(9342),
    [anon_sym_PERCENT] = ACTIONS(9342),
    [sym_comment] = ACTIONS(256),
  },
  [9388] = {
    [anon_sym_end] = ACTIONS(14742),
    [sym_comment] = ACTIONS(110),
  },
  [9389] = {
    [sym__simple_heredoc_body] = ACTIONS(9398),
    [sym__heredoc_body_beginning] = ACTIONS(9398),
    [sym__element_reference_left_bracket] = ACTIONS(9398),
    [sym__scope_double_colon] = ACTIONS(9398),
    [sym__binary_minus] = ACTIONS(9398),
    [sym__binary_star] = ACTIONS(9398),
    [anon_sym_LBRACE] = ACTIONS(9398),
    [anon_sym_RBRACE] = ACTIONS(9398),
    [anon_sym_RPAREN] = ACTIONS(9398),
    [anon_sym_DOT] = ACTIONS(9400),
    [anon_sym_COMMA] = ACTIONS(9398),
    [anon_sym_PIPE] = ACTIONS(9400),
    [anon_sym_SEMI] = ACTIONS(9398),
    [anon_sym_STAR_STAR] = ACTIONS(9400),
    [anon_sym_AMP] = ACTIONS(9400),
    [anon_sym_EQ] = ACTIONS(9400),
    [anon_sym_LT] = ACTIONS(9400),
    [anon_sym_in] = ACTIONS(9398),
    [anon_sym_do] = ACTIONS(9398),
    [anon_sym_EQ_GT] = ACTIONS(9398),
    [anon_sym_RBRACK] = ACTIONS(9398),
    [anon_sym_AMP_DOT] = ACTIONS(9398),
    [anon_sym_PLUS_EQ] = ACTIONS(9398),
    [anon_sym_DASH_EQ] = ACTIONS(9398),
    [anon_sym_STAR_EQ] = ACTIONS(9398),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9398),
    [anon_sym_SLASH_EQ] = ACTIONS(9398),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9398),
    [anon_sym_PIPE_EQ] = ACTIONS(9398),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9398),
    [anon_sym_AMP_EQ] = ACTIONS(9398),
    [anon_sym_PERCENT_EQ] = ACTIONS(9398),
    [anon_sym_GT_GT_EQ] = ACTIONS(9398),
    [anon_sym_LT_LT_EQ] = ACTIONS(9398),
    [anon_sym_CARET_EQ] = ACTIONS(9398),
    [anon_sym_QMARK] = ACTIONS(9398),
    [anon_sym_COLON] = ACTIONS(9398),
    [anon_sym_DOT_DOT] = ACTIONS(9400),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9398),
    [anon_sym_and] = ACTIONS(9398),
    [anon_sym_or] = ACTIONS(9398),
    [anon_sym_PIPE_PIPE] = ACTIONS(9400),
    [anon_sym_AMP_AMP] = ACTIONS(9400),
    [anon_sym_LT_LT] = ACTIONS(9400),
    [anon_sym_GT_GT] = ACTIONS(9400),
    [anon_sym_EQ_EQ] = ACTIONS(9400),
    [anon_sym_BANG_EQ] = ACTIONS(9398),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9398),
    [anon_sym_LT_EQ_GT] = ACTIONS(9398),
    [anon_sym_EQ_TILDE] = ACTIONS(9398),
    [anon_sym_BANG_TILDE] = ACTIONS(9398),
    [anon_sym_LT_EQ] = ACTIONS(9400),
    [anon_sym_GT] = ACTIONS(9400),
    [anon_sym_GT_EQ] = ACTIONS(9398),
    [anon_sym_CARET] = ACTIONS(9400),
    [anon_sym_PLUS] = ACTIONS(9400),
    [anon_sym_SLASH] = ACTIONS(9400),
    [anon_sym_PERCENT] = ACTIONS(9400),
    [sym_comment] = ACTIONS(256),
  },
  [9390] = {
    [anon_sym_end] = ACTIONS(14744),
    [sym_comment] = ACTIONS(110),
  },
  [9391] = {
    [sym__simple_heredoc_body] = ACTIONS(9562),
    [sym__heredoc_body_beginning] = ACTIONS(9562),
    [sym__element_reference_left_bracket] = ACTIONS(9562),
    [sym__scope_double_colon] = ACTIONS(9562),
    [sym__binary_minus] = ACTIONS(9562),
    [sym__binary_star] = ACTIONS(9562),
    [anon_sym_LBRACE] = ACTIONS(9562),
    [anon_sym_RBRACE] = ACTIONS(9562),
    [anon_sym_RPAREN] = ACTIONS(9562),
    [anon_sym_DOT] = ACTIONS(9564),
    [anon_sym_COMMA] = ACTIONS(9562),
    [anon_sym_PIPE] = ACTIONS(9564),
    [anon_sym_SEMI] = ACTIONS(9562),
    [anon_sym_STAR_STAR] = ACTIONS(9564),
    [anon_sym_AMP] = ACTIONS(9564),
    [anon_sym_EQ] = ACTIONS(9564),
    [anon_sym_LT] = ACTIONS(9564),
    [anon_sym_in] = ACTIONS(9562),
    [anon_sym_do] = ACTIONS(9562),
    [anon_sym_EQ_GT] = ACTIONS(9562),
    [anon_sym_RBRACK] = ACTIONS(9562),
    [anon_sym_AMP_DOT] = ACTIONS(9562),
    [anon_sym_PLUS_EQ] = ACTIONS(9562),
    [anon_sym_DASH_EQ] = ACTIONS(9562),
    [anon_sym_STAR_EQ] = ACTIONS(9562),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9562),
    [anon_sym_SLASH_EQ] = ACTIONS(9562),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9562),
    [anon_sym_PIPE_EQ] = ACTIONS(9562),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9562),
    [anon_sym_AMP_EQ] = ACTIONS(9562),
    [anon_sym_PERCENT_EQ] = ACTIONS(9562),
    [anon_sym_GT_GT_EQ] = ACTIONS(9562),
    [anon_sym_LT_LT_EQ] = ACTIONS(9562),
    [anon_sym_CARET_EQ] = ACTIONS(9562),
    [anon_sym_QMARK] = ACTIONS(9562),
    [anon_sym_COLON] = ACTIONS(9562),
    [anon_sym_DOT_DOT] = ACTIONS(9564),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9562),
    [anon_sym_and] = ACTIONS(9562),
    [anon_sym_or] = ACTIONS(9562),
    [anon_sym_PIPE_PIPE] = ACTIONS(9564),
    [anon_sym_AMP_AMP] = ACTIONS(9564),
    [anon_sym_LT_LT] = ACTIONS(9564),
    [anon_sym_GT_GT] = ACTIONS(9564),
    [anon_sym_EQ_EQ] = ACTIONS(9564),
    [anon_sym_BANG_EQ] = ACTIONS(9562),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9562),
    [anon_sym_LT_EQ_GT] = ACTIONS(9562),
    [anon_sym_EQ_TILDE] = ACTIONS(9562),
    [anon_sym_BANG_TILDE] = ACTIONS(9562),
    [anon_sym_LT_EQ] = ACTIONS(9564),
    [anon_sym_GT] = ACTIONS(9564),
    [anon_sym_GT_EQ] = ACTIONS(9562),
    [anon_sym_CARET] = ACTIONS(9564),
    [anon_sym_PLUS] = ACTIONS(9564),
    [anon_sym_SLASH] = ACTIONS(9564),
    [anon_sym_PERCENT] = ACTIONS(9564),
    [sym_comment] = ACTIONS(256),
  },
  [9392] = {
    [sym_elsif] = STATE(3865),
    [sym_else] = STATE(3865),
    [sym__if_tail] = STATE(11860),
    [anon_sym_end] = ACTIONS(14746),
    [anon_sym_elsif] = ACTIONS(9592),
    [anon_sym_else] = ACTIONS(9594),
    [sym_comment] = ACTIONS(110),
  },
  [9393] = {
    [anon_sym_end] = ACTIONS(14746),
    [sym_comment] = ACTIONS(110),
  },
  [9394] = {
    [sym__statements] = STATE(11861),
    [sym__top_level_statement] = STATE(3863),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(3864),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_elsif] = STATE(3865),
    [sym_else] = STATE(3865),
    [sym__if_tail] = STATE(11860),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3867),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3869),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3870),
    [sym__variable] = STATE(3868),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5572),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14748),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_elsif] = ACTIONS(5586),
    [anon_sym_else] = ACTIONS(5588),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5590),
    [anon_sym_defined_QMARK] = ACTIONS(5592),
    [anon_sym_not] = ACTIONS(5594),
    [anon_sym_BANG] = ACTIONS(5596),
    [anon_sym_TILDE] = ACTIONS(5596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9395] = {
    [sym__simple_heredoc_body] = ACTIONS(9758),
    [sym__heredoc_body_beginning] = ACTIONS(9758),
    [sym__element_reference_left_bracket] = ACTIONS(9758),
    [sym__scope_double_colon] = ACTIONS(9758),
    [sym__binary_minus] = ACTIONS(9758),
    [sym__binary_star] = ACTIONS(9758),
    [anon_sym_LBRACE] = ACTIONS(9758),
    [anon_sym_RBRACE] = ACTIONS(9758),
    [anon_sym_RPAREN] = ACTIONS(9758),
    [anon_sym_DOT] = ACTIONS(9760),
    [anon_sym_COMMA] = ACTIONS(9758),
    [anon_sym_PIPE] = ACTIONS(9760),
    [anon_sym_SEMI] = ACTIONS(9758),
    [anon_sym_STAR_STAR] = ACTIONS(9760),
    [anon_sym_AMP] = ACTIONS(9760),
    [anon_sym_EQ] = ACTIONS(9760),
    [anon_sym_LT] = ACTIONS(9760),
    [anon_sym_in] = ACTIONS(9758),
    [anon_sym_do] = ACTIONS(9758),
    [anon_sym_EQ_GT] = ACTIONS(9758),
    [anon_sym_RBRACK] = ACTIONS(9758),
    [anon_sym_AMP_DOT] = ACTIONS(9758),
    [anon_sym_PLUS_EQ] = ACTIONS(9758),
    [anon_sym_DASH_EQ] = ACTIONS(9758),
    [anon_sym_STAR_EQ] = ACTIONS(9758),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9758),
    [anon_sym_SLASH_EQ] = ACTIONS(9758),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9758),
    [anon_sym_PIPE_EQ] = ACTIONS(9758),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9758),
    [anon_sym_AMP_EQ] = ACTIONS(9758),
    [anon_sym_PERCENT_EQ] = ACTIONS(9758),
    [anon_sym_GT_GT_EQ] = ACTIONS(9758),
    [anon_sym_LT_LT_EQ] = ACTIONS(9758),
    [anon_sym_CARET_EQ] = ACTIONS(9758),
    [anon_sym_QMARK] = ACTIONS(9758),
    [anon_sym_COLON] = ACTIONS(9758),
    [anon_sym_DOT_DOT] = ACTIONS(9760),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9758),
    [anon_sym_and] = ACTIONS(9758),
    [anon_sym_or] = ACTIONS(9758),
    [anon_sym_PIPE_PIPE] = ACTIONS(9760),
    [anon_sym_AMP_AMP] = ACTIONS(9760),
    [anon_sym_LT_LT] = ACTIONS(9760),
    [anon_sym_GT_GT] = ACTIONS(9760),
    [anon_sym_EQ_EQ] = ACTIONS(9760),
    [anon_sym_BANG_EQ] = ACTIONS(9758),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9758),
    [anon_sym_LT_EQ_GT] = ACTIONS(9758),
    [anon_sym_EQ_TILDE] = ACTIONS(9758),
    [anon_sym_BANG_TILDE] = ACTIONS(9758),
    [anon_sym_LT_EQ] = ACTIONS(9760),
    [anon_sym_GT] = ACTIONS(9760),
    [anon_sym_GT_EQ] = ACTIONS(9758),
    [anon_sym_CARET] = ACTIONS(9760),
    [anon_sym_PLUS] = ACTIONS(9760),
    [anon_sym_SLASH] = ACTIONS(9760),
    [anon_sym_PERCENT] = ACTIONS(9760),
    [sym_comment] = ACTIONS(256),
  },
  [9396] = {
    [sym_else] = STATE(11863),
    [anon_sym_end] = ACTIONS(14750),
    [anon_sym_else] = ACTIONS(9594),
    [sym_comment] = ACTIONS(110),
  },
  [9397] = {
    [anon_sym_end] = ACTIONS(14750),
    [sym_comment] = ACTIONS(110),
  },
  [9398] = {
    [sym__simple_heredoc_body] = ACTIONS(9922),
    [sym__heredoc_body_beginning] = ACTIONS(9922),
    [sym__element_reference_left_bracket] = ACTIONS(9922),
    [sym__scope_double_colon] = ACTIONS(9922),
    [sym__binary_minus] = ACTIONS(9922),
    [sym__binary_star] = ACTIONS(9922),
    [anon_sym_LBRACE] = ACTIONS(9922),
    [anon_sym_RBRACE] = ACTIONS(9922),
    [anon_sym_RPAREN] = ACTIONS(9922),
    [anon_sym_DOT] = ACTIONS(9924),
    [anon_sym_COMMA] = ACTIONS(9922),
    [anon_sym_PIPE] = ACTIONS(9924),
    [anon_sym_SEMI] = ACTIONS(9922),
    [anon_sym_STAR_STAR] = ACTIONS(9924),
    [anon_sym_AMP] = ACTIONS(9924),
    [anon_sym_EQ] = ACTIONS(9924),
    [anon_sym_LT] = ACTIONS(9924),
    [anon_sym_in] = ACTIONS(9922),
    [anon_sym_do] = ACTIONS(9922),
    [anon_sym_EQ_GT] = ACTIONS(9922),
    [anon_sym_RBRACK] = ACTIONS(9922),
    [anon_sym_AMP_DOT] = ACTIONS(9922),
    [anon_sym_PLUS_EQ] = ACTIONS(9922),
    [anon_sym_DASH_EQ] = ACTIONS(9922),
    [anon_sym_STAR_EQ] = ACTIONS(9922),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9922),
    [anon_sym_SLASH_EQ] = ACTIONS(9922),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9922),
    [anon_sym_PIPE_EQ] = ACTIONS(9922),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9922),
    [anon_sym_AMP_EQ] = ACTIONS(9922),
    [anon_sym_PERCENT_EQ] = ACTIONS(9922),
    [anon_sym_GT_GT_EQ] = ACTIONS(9922),
    [anon_sym_LT_LT_EQ] = ACTIONS(9922),
    [anon_sym_CARET_EQ] = ACTIONS(9922),
    [anon_sym_QMARK] = ACTIONS(9922),
    [anon_sym_COLON] = ACTIONS(9922),
    [anon_sym_DOT_DOT] = ACTIONS(9924),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9922),
    [anon_sym_and] = ACTIONS(9922),
    [anon_sym_or] = ACTIONS(9922),
    [anon_sym_PIPE_PIPE] = ACTIONS(9924),
    [anon_sym_AMP_AMP] = ACTIONS(9924),
    [anon_sym_LT_LT] = ACTIONS(9924),
    [anon_sym_GT_GT] = ACTIONS(9924),
    [anon_sym_EQ_EQ] = ACTIONS(9924),
    [anon_sym_BANG_EQ] = ACTIONS(9922),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9922),
    [anon_sym_LT_EQ_GT] = ACTIONS(9922),
    [anon_sym_EQ_TILDE] = ACTIONS(9922),
    [anon_sym_BANG_TILDE] = ACTIONS(9922),
    [anon_sym_LT_EQ] = ACTIONS(9924),
    [anon_sym_GT] = ACTIONS(9924),
    [anon_sym_GT_EQ] = ACTIONS(9922),
    [anon_sym_CARET] = ACTIONS(9924),
    [anon_sym_PLUS] = ACTIONS(9924),
    [anon_sym_SLASH] = ACTIONS(9924),
    [anon_sym_PERCENT] = ACTIONS(9924),
    [sym_comment] = ACTIONS(256),
  },
  [9399] = {
    [anon_sym_end] = ACTIONS(14752),
    [sym_comment] = ACTIONS(110),
  },
  [9400] = {
    [sym__simple_heredoc_body] = ACTIONS(10004),
    [sym__heredoc_body_beginning] = ACTIONS(10004),
    [sym__element_reference_left_bracket] = ACTIONS(10004),
    [sym__scope_double_colon] = ACTIONS(10004),
    [sym__binary_minus] = ACTIONS(10004),
    [sym__binary_star] = ACTIONS(10004),
    [anon_sym_LBRACE] = ACTIONS(10004),
    [anon_sym_RBRACE] = ACTIONS(10004),
    [anon_sym_RPAREN] = ACTIONS(10004),
    [anon_sym_DOT] = ACTIONS(10006),
    [anon_sym_COMMA] = ACTIONS(10004),
    [anon_sym_PIPE] = ACTIONS(10006),
    [anon_sym_SEMI] = ACTIONS(10004),
    [anon_sym_STAR_STAR] = ACTIONS(10006),
    [anon_sym_AMP] = ACTIONS(10006),
    [anon_sym_EQ] = ACTIONS(10006),
    [anon_sym_LT] = ACTIONS(10006),
    [anon_sym_in] = ACTIONS(10004),
    [anon_sym_do] = ACTIONS(10004),
    [anon_sym_EQ_GT] = ACTIONS(10004),
    [anon_sym_RBRACK] = ACTIONS(10004),
    [anon_sym_AMP_DOT] = ACTIONS(10004),
    [anon_sym_PLUS_EQ] = ACTIONS(10004),
    [anon_sym_DASH_EQ] = ACTIONS(10004),
    [anon_sym_STAR_EQ] = ACTIONS(10004),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(10004),
    [anon_sym_SLASH_EQ] = ACTIONS(10004),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(10004),
    [anon_sym_PIPE_EQ] = ACTIONS(10004),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(10004),
    [anon_sym_AMP_EQ] = ACTIONS(10004),
    [anon_sym_PERCENT_EQ] = ACTIONS(10004),
    [anon_sym_GT_GT_EQ] = ACTIONS(10004),
    [anon_sym_LT_LT_EQ] = ACTIONS(10004),
    [anon_sym_CARET_EQ] = ACTIONS(10004),
    [anon_sym_QMARK] = ACTIONS(10004),
    [anon_sym_COLON] = ACTIONS(10004),
    [anon_sym_DOT_DOT] = ACTIONS(10006),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10004),
    [anon_sym_and] = ACTIONS(10004),
    [anon_sym_or] = ACTIONS(10004),
    [anon_sym_PIPE_PIPE] = ACTIONS(10006),
    [anon_sym_AMP_AMP] = ACTIONS(10006),
    [anon_sym_LT_LT] = ACTIONS(10006),
    [anon_sym_GT_GT] = ACTIONS(10006),
    [anon_sym_EQ_EQ] = ACTIONS(10006),
    [anon_sym_BANG_EQ] = ACTIONS(10004),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10004),
    [anon_sym_LT_EQ_GT] = ACTIONS(10004),
    [anon_sym_EQ_TILDE] = ACTIONS(10004),
    [anon_sym_BANG_TILDE] = ACTIONS(10004),
    [anon_sym_LT_EQ] = ACTIONS(10006),
    [anon_sym_GT] = ACTIONS(10006),
    [anon_sym_GT_EQ] = ACTIONS(10004),
    [anon_sym_CARET] = ACTIONS(10006),
    [anon_sym_PLUS] = ACTIONS(10006),
    [anon_sym_SLASH] = ACTIONS(10006),
    [anon_sym_PERCENT] = ACTIONS(10006),
    [sym_comment] = ACTIONS(256),
  },
  [9401] = {
    [anon_sym_end] = ACTIONS(14754),
    [sym_comment] = ACTIONS(110),
  },
  [9402] = {
    [sym__statements] = STATE(11867),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14756),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9403] = {
    [sym__element_reference_left_bracket] = ACTIONS(14030),
    [sym__scope_double_colon] = ACTIONS(14030),
    [sym__binary_minus] = ACTIONS(14030),
    [sym__binary_star] = ACTIONS(14030),
    [anon_sym_DOT] = ACTIONS(14032),
    [anon_sym_COMMA] = ACTIONS(14030),
    [anon_sym_PIPE] = ACTIONS(14032),
    [anon_sym_STAR_STAR] = ACTIONS(14032),
    [anon_sym_AMP] = ACTIONS(14032),
    [anon_sym_EQ] = ACTIONS(14032),
    [anon_sym_LT] = ACTIONS(14032),
    [anon_sym_EQ_GT] = ACTIONS(14030),
    [anon_sym_AMP_DOT] = ACTIONS(14030),
    [anon_sym_PLUS_EQ] = ACTIONS(14030),
    [anon_sym_DASH_EQ] = ACTIONS(14030),
    [anon_sym_STAR_EQ] = ACTIONS(14030),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(14030),
    [anon_sym_SLASH_EQ] = ACTIONS(14030),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(14030),
    [anon_sym_PIPE_EQ] = ACTIONS(14030),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(14030),
    [anon_sym_AMP_EQ] = ACTIONS(14030),
    [anon_sym_PERCENT_EQ] = ACTIONS(14030),
    [anon_sym_GT_GT_EQ] = ACTIONS(14030),
    [anon_sym_LT_LT_EQ] = ACTIONS(14030),
    [anon_sym_CARET_EQ] = ACTIONS(14030),
    [anon_sym_QMARK] = ACTIONS(14030),
    [anon_sym_DOT_DOT] = ACTIONS(14032),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(14030),
    [anon_sym_and] = ACTIONS(14030),
    [anon_sym_or] = ACTIONS(14030),
    [anon_sym_PIPE_PIPE] = ACTIONS(14032),
    [anon_sym_AMP_AMP] = ACTIONS(14032),
    [anon_sym_LT_LT] = ACTIONS(14032),
    [anon_sym_GT_GT] = ACTIONS(14032),
    [anon_sym_EQ_EQ] = ACTIONS(14032),
    [anon_sym_BANG_EQ] = ACTIONS(14030),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(14030),
    [anon_sym_LT_EQ_GT] = ACTIONS(14030),
    [anon_sym_EQ_TILDE] = ACTIONS(14030),
    [anon_sym_BANG_TILDE] = ACTIONS(14030),
    [anon_sym_LT_EQ] = ACTIONS(14032),
    [anon_sym_GT] = ACTIONS(14032),
    [anon_sym_GT_EQ] = ACTIONS(14030),
    [anon_sym_CARET] = ACTIONS(14032),
    [anon_sym_PLUS] = ACTIONS(14032),
    [anon_sym_SLASH] = ACTIONS(14032),
    [anon_sym_PERCENT] = ACTIONS(14032),
    [sym_comment] = ACTIONS(256),
  },
  [9404] = {
    [anon_sym_end] = ACTIONS(14758),
    [sym_comment] = ACTIONS(110),
  },
  [9405] = {
    [sym__statements] = STATE(11869),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14760),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9406] = {
    [sym__simple_heredoc_body] = ACTIONS(10332),
    [sym__heredoc_body_beginning] = ACTIONS(10332),
    [sym__element_reference_left_bracket] = ACTIONS(10332),
    [sym__scope_double_colon] = ACTIONS(10332),
    [sym__binary_minus] = ACTIONS(10332),
    [sym__binary_star] = ACTIONS(10332),
    [anon_sym_LBRACE] = ACTIONS(10332),
    [anon_sym_RBRACE] = ACTIONS(10332),
    [anon_sym_RPAREN] = ACTIONS(10332),
    [anon_sym_DOT] = ACTIONS(10334),
    [anon_sym_COMMA] = ACTIONS(10332),
    [anon_sym_PIPE] = ACTIONS(10334),
    [anon_sym_SEMI] = ACTIONS(10332),
    [anon_sym_STAR_STAR] = ACTIONS(10334),
    [anon_sym_AMP] = ACTIONS(10334),
    [anon_sym_EQ] = ACTIONS(10334),
    [anon_sym_LT] = ACTIONS(10334),
    [anon_sym_in] = ACTIONS(10332),
    [anon_sym_do] = ACTIONS(10332),
    [anon_sym_EQ_GT] = ACTIONS(10332),
    [anon_sym_RBRACK] = ACTIONS(10332),
    [anon_sym_AMP_DOT] = ACTIONS(10332),
    [anon_sym_PLUS_EQ] = ACTIONS(10332),
    [anon_sym_DASH_EQ] = ACTIONS(10332),
    [anon_sym_STAR_EQ] = ACTIONS(10332),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(10332),
    [anon_sym_SLASH_EQ] = ACTIONS(10332),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(10332),
    [anon_sym_PIPE_EQ] = ACTIONS(10332),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(10332),
    [anon_sym_AMP_EQ] = ACTIONS(10332),
    [anon_sym_PERCENT_EQ] = ACTIONS(10332),
    [anon_sym_GT_GT_EQ] = ACTIONS(10332),
    [anon_sym_LT_LT_EQ] = ACTIONS(10332),
    [anon_sym_CARET_EQ] = ACTIONS(10332),
    [anon_sym_QMARK] = ACTIONS(10332),
    [anon_sym_COLON] = ACTIONS(10332),
    [anon_sym_DOT_DOT] = ACTIONS(10334),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10332),
    [anon_sym_and] = ACTIONS(10332),
    [anon_sym_or] = ACTIONS(10332),
    [anon_sym_PIPE_PIPE] = ACTIONS(10334),
    [anon_sym_AMP_AMP] = ACTIONS(10334),
    [anon_sym_LT_LT] = ACTIONS(10334),
    [anon_sym_GT_GT] = ACTIONS(10334),
    [anon_sym_EQ_EQ] = ACTIONS(10334),
    [anon_sym_BANG_EQ] = ACTIONS(10332),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10332),
    [anon_sym_LT_EQ_GT] = ACTIONS(10332),
    [anon_sym_EQ_TILDE] = ACTIONS(10332),
    [anon_sym_BANG_TILDE] = ACTIONS(10332),
    [anon_sym_LT_EQ] = ACTIONS(10334),
    [anon_sym_GT] = ACTIONS(10334),
    [anon_sym_GT_EQ] = ACTIONS(10332),
    [anon_sym_CARET] = ACTIONS(10334),
    [anon_sym_PLUS] = ACTIONS(10334),
    [anon_sym_SLASH] = ACTIONS(10334),
    [anon_sym_PERCENT] = ACTIONS(10334),
    [sym_comment] = ACTIONS(256),
  },
  [9407] = {
    [anon_sym_end] = ACTIONS(14762),
    [sym_comment] = ACTIONS(110),
  },
  [9408] = {
    [sym__simple_heredoc_body] = ACTIONS(10934),
    [sym__heredoc_body_beginning] = ACTIONS(10934),
    [sym__element_reference_left_bracket] = ACTIONS(10934),
    [sym__scope_double_colon] = ACTIONS(10934),
    [sym__binary_minus] = ACTIONS(10934),
    [sym__binary_star] = ACTIONS(10934),
    [anon_sym_LBRACE] = ACTIONS(10934),
    [anon_sym_RBRACE] = ACTIONS(10934),
    [anon_sym_RPAREN] = ACTIONS(10934),
    [anon_sym_DOT] = ACTIONS(10936),
    [anon_sym_COMMA] = ACTIONS(10934),
    [anon_sym_PIPE] = ACTIONS(10936),
    [anon_sym_SEMI] = ACTIONS(10934),
    [anon_sym_STAR_STAR] = ACTIONS(10936),
    [anon_sym_AMP] = ACTIONS(10936),
    [anon_sym_EQ] = ACTIONS(10936),
    [anon_sym_LT] = ACTIONS(10936),
    [anon_sym_in] = ACTIONS(10934),
    [anon_sym_do] = ACTIONS(10934),
    [anon_sym_EQ_GT] = ACTIONS(10934),
    [anon_sym_RBRACK] = ACTIONS(10934),
    [anon_sym_AMP_DOT] = ACTIONS(10934),
    [anon_sym_PLUS_EQ] = ACTIONS(10934),
    [anon_sym_DASH_EQ] = ACTIONS(10934),
    [anon_sym_STAR_EQ] = ACTIONS(10934),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(10934),
    [anon_sym_SLASH_EQ] = ACTIONS(10934),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(10934),
    [anon_sym_PIPE_EQ] = ACTIONS(10934),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(10934),
    [anon_sym_AMP_EQ] = ACTIONS(10934),
    [anon_sym_PERCENT_EQ] = ACTIONS(10934),
    [anon_sym_GT_GT_EQ] = ACTIONS(10934),
    [anon_sym_LT_LT_EQ] = ACTIONS(10934),
    [anon_sym_CARET_EQ] = ACTIONS(10934),
    [anon_sym_QMARK] = ACTIONS(10934),
    [anon_sym_COLON] = ACTIONS(10934),
    [anon_sym_DOT_DOT] = ACTIONS(10936),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(10934),
    [anon_sym_and] = ACTIONS(10934),
    [anon_sym_or] = ACTIONS(10934),
    [anon_sym_PIPE_PIPE] = ACTIONS(10936),
    [anon_sym_AMP_AMP] = ACTIONS(10936),
    [anon_sym_LT_LT] = ACTIONS(10936),
    [anon_sym_GT_GT] = ACTIONS(10936),
    [anon_sym_EQ_EQ] = ACTIONS(10936),
    [anon_sym_BANG_EQ] = ACTIONS(10934),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(10934),
    [anon_sym_LT_EQ_GT] = ACTIONS(10934),
    [anon_sym_EQ_TILDE] = ACTIONS(10934),
    [anon_sym_BANG_TILDE] = ACTIONS(10934),
    [anon_sym_LT_EQ] = ACTIONS(10936),
    [anon_sym_GT] = ACTIONS(10936),
    [anon_sym_GT_EQ] = ACTIONS(10934),
    [anon_sym_CARET] = ACTIONS(10936),
    [anon_sym_PLUS] = ACTIONS(10936),
    [anon_sym_SLASH] = ACTIONS(10936),
    [anon_sym_PERCENT] = ACTIONS(10936),
    [sym_comment] = ACTIONS(256),
  },
  [9409] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(11871),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1105),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1106),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__unary_minus] = ACTIONS(1740),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(4460),
    [anon_sym_yield] = ACTIONS(4462),
    [anon_sym_break] = ACTIONS(4464),
    [anon_sym_next] = ACTIONS(4466),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(4486),
    [anon_sym_defined_QMARK] = ACTIONS(1780),
    [anon_sym_not] = ACTIONS(4488),
    [anon_sym_BANG] = ACTIONS(1786),
    [anon_sym_TILDE] = ACTIONS(1786),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [9410] = {
    [sym__simple_heredoc_body] = ACTIONS(8070),
    [sym__heredoc_body_beginning] = ACTIONS(8070),
    [sym__element_reference_left_bracket] = ACTIONS(8070),
    [sym__scope_double_colon] = ACTIONS(8070),
    [sym__binary_minus] = ACTIONS(8070),
    [sym__binary_star] = ACTIONS(8070),
    [anon_sym_LBRACE] = ACTIONS(8070),
    [anon_sym_RBRACE] = ACTIONS(8070),
    [anon_sym_RPAREN] = ACTIONS(8070),
    [anon_sym_DOT] = ACTIONS(10414),
    [anon_sym_COMMA] = ACTIONS(8070),
    [anon_sym_PIPE] = ACTIONS(10414),
    [anon_sym_SEMI] = ACTIONS(8070),
    [anon_sym_STAR_STAR] = ACTIONS(10414),
    [anon_sym_AMP] = ACTIONS(10414),
    [anon_sym_EQ] = ACTIONS(10414),
    [anon_sym_LT] = ACTIONS(10414),
    [anon_sym_in] = ACTIONS(8070),
    [anon_sym_do] = ACTIONS(8070),
    [anon_sym_EQ_GT] = ACTIONS(8070),
    [anon_sym_RBRACK] = ACTIONS(8070),
    [anon_sym_AMP_DOT] = ACTIONS(8070),
    [anon_sym_PLUS_EQ] = ACTIONS(8070),
    [anon_sym_DASH_EQ] = ACTIONS(8070),
    [anon_sym_STAR_EQ] = ACTIONS(8070),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8070),
    [anon_sym_SLASH_EQ] = ACTIONS(8070),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8070),
    [anon_sym_PIPE_EQ] = ACTIONS(8070),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8070),
    [anon_sym_AMP_EQ] = ACTIONS(8070),
    [anon_sym_PERCENT_EQ] = ACTIONS(8070),
    [anon_sym_GT_GT_EQ] = ACTIONS(8070),
    [anon_sym_LT_LT_EQ] = ACTIONS(8070),
    [anon_sym_CARET_EQ] = ACTIONS(8070),
    [anon_sym_QMARK] = ACTIONS(8070),
    [anon_sym_COLON] = ACTIONS(8070),
    [anon_sym_DOT_DOT] = ACTIONS(10414),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8070),
    [anon_sym_and] = ACTIONS(8070),
    [anon_sym_or] = ACTIONS(8070),
    [anon_sym_PIPE_PIPE] = ACTIONS(10414),
    [anon_sym_AMP_AMP] = ACTIONS(10414),
    [anon_sym_LT_LT] = ACTIONS(10414),
    [anon_sym_GT_GT] = ACTIONS(10414),
    [anon_sym_EQ_EQ] = ACTIONS(10414),
    [anon_sym_BANG_EQ] = ACTIONS(8070),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8070),
    [anon_sym_LT_EQ_GT] = ACTIONS(8070),
    [anon_sym_EQ_TILDE] = ACTIONS(8070),
    [anon_sym_BANG_TILDE] = ACTIONS(8070),
    [anon_sym_LT_EQ] = ACTIONS(10414),
    [anon_sym_GT] = ACTIONS(10414),
    [anon_sym_GT_EQ] = ACTIONS(8070),
    [anon_sym_CARET] = ACTIONS(10414),
    [anon_sym_PLUS] = ACTIONS(10414),
    [anon_sym_SLASH] = ACTIONS(10414),
    [anon_sym_PERCENT] = ACTIONS(10414),
    [sym_comment] = ACTIONS(256),
  },
  [9411] = {
    [sym__heredoc_body_middle] = ACTIONS(8296),
    [sym__heredoc_body_end] = ACTIONS(14764),
    [anon_sym_if] = ACTIONS(4112),
    [anon_sym_unless] = ACTIONS(4114),
    [anon_sym_while] = ACTIONS(4116),
    [anon_sym_until] = ACTIONS(4118),
    [anon_sym_rescue] = ACTIONS(4120),
    [sym_comment] = ACTIONS(110),
  },
  [9412] = {
    [sym__simple_heredoc_body] = ACTIONS(12790),
    [sym__heredoc_body_beginning] = ACTIONS(12790),
    [sym__element_reference_left_bracket] = ACTIONS(12790),
    [sym__scope_double_colon] = ACTIONS(12790),
    [sym__binary_minus] = ACTIONS(12790),
    [sym__binary_star] = ACTIONS(12790),
    [anon_sym_LBRACE] = ACTIONS(12790),
    [anon_sym_RBRACE] = ACTIONS(12790),
    [anon_sym_RPAREN] = ACTIONS(12790),
    [anon_sym_DOT] = ACTIONS(12792),
    [anon_sym_COMMA] = ACTIONS(12790),
    [anon_sym_PIPE] = ACTIONS(12792),
    [anon_sym_SEMI] = ACTIONS(12790),
    [anon_sym_STAR_STAR] = ACTIONS(12792),
    [anon_sym_AMP] = ACTIONS(12792),
    [anon_sym_EQ] = ACTIONS(12792),
    [anon_sym_LT] = ACTIONS(12792),
    [anon_sym_in] = ACTIONS(12790),
    [anon_sym_do] = ACTIONS(12790),
    [anon_sym_EQ_GT] = ACTIONS(12790),
    [anon_sym_RBRACK] = ACTIONS(12790),
    [anon_sym_AMP_DOT] = ACTIONS(12790),
    [anon_sym_PLUS_EQ] = ACTIONS(12790),
    [anon_sym_DASH_EQ] = ACTIONS(12790),
    [anon_sym_STAR_EQ] = ACTIONS(12790),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(12790),
    [anon_sym_SLASH_EQ] = ACTIONS(12790),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(12790),
    [anon_sym_PIPE_EQ] = ACTIONS(12790),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(12790),
    [anon_sym_AMP_EQ] = ACTIONS(12790),
    [anon_sym_PERCENT_EQ] = ACTIONS(12790),
    [anon_sym_GT_GT_EQ] = ACTIONS(12790),
    [anon_sym_LT_LT_EQ] = ACTIONS(12790),
    [anon_sym_CARET_EQ] = ACTIONS(12790),
    [anon_sym_QMARK] = ACTIONS(12790),
    [anon_sym_COLON] = ACTIONS(12790),
    [anon_sym_DOT_DOT] = ACTIONS(12792),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12790),
    [anon_sym_and] = ACTIONS(12790),
    [anon_sym_or] = ACTIONS(12790),
    [anon_sym_PIPE_PIPE] = ACTIONS(12792),
    [anon_sym_AMP_AMP] = ACTIONS(12792),
    [anon_sym_LT_LT] = ACTIONS(12792),
    [anon_sym_GT_GT] = ACTIONS(12792),
    [anon_sym_EQ_EQ] = ACTIONS(12792),
    [anon_sym_BANG_EQ] = ACTIONS(12790),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12790),
    [anon_sym_LT_EQ_GT] = ACTIONS(12790),
    [anon_sym_EQ_TILDE] = ACTIONS(12790),
    [anon_sym_BANG_TILDE] = ACTIONS(12790),
    [anon_sym_LT_EQ] = ACTIONS(12792),
    [anon_sym_GT] = ACTIONS(12792),
    [anon_sym_GT_EQ] = ACTIONS(12790),
    [anon_sym_CARET] = ACTIONS(12792),
    [anon_sym_PLUS] = ACTIONS(12792),
    [anon_sym_SLASH] = ACTIONS(12792),
    [anon_sym_PERCENT] = ACTIONS(12792),
    [sym_comment] = ACTIONS(256),
  },
  [9413] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(1096),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(11873),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1105),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1106),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1107),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(1108),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__block_ampersand] = ACTIONS(1734),
    [sym__splat_star] = ACTIONS(1736),
    [sym__unary_minus] = ACTIONS(1740),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(8620),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(1752),
    [anon_sym_yield] = ACTIONS(1754),
    [anon_sym_break] = ACTIONS(1756),
    [anon_sym_next] = ACTIONS(1758),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(4486),
    [anon_sym_defined_QMARK] = ACTIONS(1780),
    [anon_sym_not] = ACTIONS(1782),
    [anon_sym_BANG] = ACTIONS(1786),
    [anon_sym_TILDE] = ACTIONS(1786),
    [sym_constant] = ACTIONS(1788),
    [sym_identifier] = ACTIONS(1788),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [9414] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(6230),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_splat_argument] = STATE(6231),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym__arg_or_splat_arg] = STATE(11874),
    [sym_left_assignment_list] = STATE(1105),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1106),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3081),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(4448),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(4450),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__splat_star] = ACTIONS(1736),
    [sym__unary_minus] = ACTIONS(1740),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(4454),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(4456),
    [anon_sym_module] = ACTIONS(4458),
    [anon_sym_return] = ACTIONS(4460),
    [anon_sym_yield] = ACTIONS(4462),
    [anon_sym_break] = ACTIONS(4464),
    [anon_sym_next] = ACTIONS(4466),
    [anon_sym_redo] = ACTIONS(4468),
    [anon_sym_retry] = ACTIONS(4470),
    [anon_sym_if] = ACTIONS(4472),
    [anon_sym_unless] = ACTIONS(4474),
    [anon_sym_while] = ACTIONS(4476),
    [anon_sym_until] = ACTIONS(4478),
    [anon_sym_for] = ACTIONS(4480),
    [anon_sym_case] = ACTIONS(4482),
    [anon_sym_begin] = ACTIONS(4484),
    [anon_sym_PLUS] = ACTIONS(4486),
    [anon_sym_defined_QMARK] = ACTIONS(1780),
    [anon_sym_not] = ACTIONS(4488),
    [anon_sym_BANG] = ACTIONS(1786),
    [anon_sym_TILDE] = ACTIONS(1786),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(4490),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [9415] = {
    [sym__simple_heredoc_body] = ACTIONS(11422),
    [sym__heredoc_body_beginning] = ACTIONS(11422),
    [sym__element_reference_left_bracket] = ACTIONS(11422),
    [sym__scope_double_colon] = ACTIONS(11422),
    [sym__binary_minus] = ACTIONS(11422),
    [sym__binary_star] = ACTIONS(11422),
    [anon_sym_LBRACE] = ACTIONS(11422),
    [anon_sym_DOT] = ACTIONS(11426),
    [anon_sym_COMMA] = ACTIONS(14766),
    [anon_sym_PIPE] = ACTIONS(11426),
    [anon_sym_STAR_STAR] = ACTIONS(11426),
    [anon_sym_AMP] = ACTIONS(11426),
    [anon_sym_EQ] = ACTIONS(11426),
    [anon_sym_LT] = ACTIONS(11426),
    [anon_sym_do] = ACTIONS(11422),
    [anon_sym_EQ_GT] = ACTIONS(11422),
    [anon_sym_AMP_DOT] = ACTIONS(11422),
    [anon_sym_PLUS_EQ] = ACTIONS(11422),
    [anon_sym_DASH_EQ] = ACTIONS(11422),
    [anon_sym_STAR_EQ] = ACTIONS(11422),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(11422),
    [anon_sym_SLASH_EQ] = ACTIONS(11422),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(11422),
    [anon_sym_PIPE_EQ] = ACTIONS(11422),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(11422),
    [anon_sym_AMP_EQ] = ACTIONS(11422),
    [anon_sym_PERCENT_EQ] = ACTIONS(11422),
    [anon_sym_GT_GT_EQ] = ACTIONS(11422),
    [anon_sym_LT_LT_EQ] = ACTIONS(11422),
    [anon_sym_CARET_EQ] = ACTIONS(11422),
    [anon_sym_QMARK] = ACTIONS(11422),
    [anon_sym_DOT_DOT] = ACTIONS(11426),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11422),
    [anon_sym_and] = ACTIONS(11422),
    [anon_sym_or] = ACTIONS(11422),
    [anon_sym_PIPE_PIPE] = ACTIONS(11426),
    [anon_sym_AMP_AMP] = ACTIONS(11426),
    [anon_sym_LT_LT] = ACTIONS(11426),
    [anon_sym_GT_GT] = ACTIONS(11426),
    [anon_sym_EQ_EQ] = ACTIONS(11426),
    [anon_sym_BANG_EQ] = ACTIONS(11422),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11422),
    [anon_sym_LT_EQ_GT] = ACTIONS(11422),
    [anon_sym_EQ_TILDE] = ACTIONS(11422),
    [anon_sym_BANG_TILDE] = ACTIONS(11422),
    [anon_sym_LT_EQ] = ACTIONS(11426),
    [anon_sym_GT] = ACTIONS(11426),
    [anon_sym_GT_EQ] = ACTIONS(11422),
    [anon_sym_CARET] = ACTIONS(11426),
    [anon_sym_PLUS] = ACTIONS(11426),
    [anon_sym_SLASH] = ACTIONS(11426),
    [anon_sym_PERCENT] = ACTIONS(11426),
    [sym_comment] = ACTIONS(256),
  },
  [9416] = {
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(8626),
    [anon_sym_COMMA] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_STAR_STAR] = ACTIONS(8630),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_EQ_GT] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7008),
    [anon_sym_AMP_AMP] = ACTIONS(7008),
    [anon_sym_LT_LT] = ACTIONS(7008),
    [anon_sym_GT_GT] = ACTIONS(7008),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7008),
    [anon_sym_PLUS] = ACTIONS(7008),
    [anon_sym_SLASH] = ACTIONS(8630),
    [anon_sym_PERCENT] = ACTIONS(8630),
    [sym_comment] = ACTIONS(110),
  },
  [9417] = {
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_COMMA] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_STAR_STAR] = ACTIONS(8630),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_EQ_GT] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7012),
    [anon_sym_AMP_AMP] = ACTIONS(7012),
    [anon_sym_LT_LT] = ACTIONS(7012),
    [anon_sym_GT_GT] = ACTIONS(7012),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7012),
    [anon_sym_PLUS] = ACTIONS(7012),
    [anon_sym_SLASH] = ACTIONS(7012),
    [anon_sym_PERCENT] = ACTIONS(7012),
    [sym_comment] = ACTIONS(110),
  },
  [9418] = {
    [sym__binary_minus] = ACTIONS(8624),
    [sym__binary_star] = ACTIONS(8626),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(8630),
    [anon_sym_AMP] = ACTIONS(8632),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(8644),
    [anon_sym_GT_GT] = ACTIONS(8644),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(8652),
    [anon_sym_SLASH] = ACTIONS(8630),
    [anon_sym_PERCENT] = ACTIONS(8630),
    [sym_comment] = ACTIONS(110),
  },
  [9419] = {
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(8630),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7016),
    [anon_sym_PERCENT] = ACTIONS(7016),
    [sym_comment] = ACTIONS(110),
  },
  [9420] = {
    [sym__binary_minus] = ACTIONS(8624),
    [sym__binary_star] = ACTIONS(8626),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(8630),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(8644),
    [anon_sym_GT_GT] = ACTIONS(8644),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(8652),
    [anon_sym_SLASH] = ACTIONS(8630),
    [anon_sym_PERCENT] = ACTIONS(8630),
    [sym_comment] = ACTIONS(110),
  },
  [9421] = {
    [sym__binary_minus] = ACTIONS(8624),
    [sym__binary_star] = ACTIONS(8626),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(8628),
    [anon_sym_STAR_STAR] = ACTIONS(8630),
    [anon_sym_AMP] = ACTIONS(8632),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(8644),
    [anon_sym_GT_GT] = ACTIONS(8644),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(8650),
    [anon_sym_PLUS] = ACTIONS(8652),
    [anon_sym_SLASH] = ACTIONS(8630),
    [anon_sym_PERCENT] = ACTIONS(8630),
    [sym_comment] = ACTIONS(110),
  },
  [9422] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(14768),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [9423] = {
    [sym__binary_minus] = ACTIONS(8624),
    [sym__binary_star] = ACTIONS(8626),
    [anon_sym_COMMA] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(8628),
    [anon_sym_STAR_STAR] = ACTIONS(8630),
    [anon_sym_AMP] = ACTIONS(8632),
    [anon_sym_LT] = ACTIONS(8634),
    [anon_sym_EQ_GT] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(8638),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8640),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(8642),
    [anon_sym_AMP_AMP] = ACTIONS(8642),
    [anon_sym_LT_LT] = ACTIONS(8644),
    [anon_sym_GT_GT] = ACTIONS(8644),
    [anon_sym_EQ_EQ] = ACTIONS(8646),
    [anon_sym_BANG_EQ] = ACTIONS(8642),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8642),
    [anon_sym_LT_EQ_GT] = ACTIONS(8642),
    [anon_sym_EQ_TILDE] = ACTIONS(8642),
    [anon_sym_BANG_TILDE] = ACTIONS(8642),
    [anon_sym_LT_EQ] = ACTIONS(8634),
    [anon_sym_GT] = ACTIONS(8634),
    [anon_sym_GT_EQ] = ACTIONS(8648),
    [anon_sym_CARET] = ACTIONS(8650),
    [anon_sym_PLUS] = ACTIONS(8652),
    [anon_sym_SLASH] = ACTIONS(8630),
    [anon_sym_PERCENT] = ACTIONS(8630),
    [sym_comment] = ACTIONS(110),
  },
  [9424] = {
    [sym__binary_minus] = ACTIONS(8624),
    [sym__binary_star] = ACTIONS(8626),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(8628),
    [anon_sym_STAR_STAR] = ACTIONS(8630),
    [anon_sym_AMP] = ACTIONS(8632),
    [anon_sym_LT] = ACTIONS(8634),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(8636),
    [anon_sym_DOT_DOT] = ACTIONS(8638),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8640),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(8642),
    [anon_sym_AMP_AMP] = ACTIONS(8642),
    [anon_sym_LT_LT] = ACTIONS(8644),
    [anon_sym_GT_GT] = ACTIONS(8644),
    [anon_sym_EQ_EQ] = ACTIONS(8646),
    [anon_sym_BANG_EQ] = ACTIONS(8642),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8642),
    [anon_sym_LT_EQ_GT] = ACTIONS(8642),
    [anon_sym_EQ_TILDE] = ACTIONS(8642),
    [anon_sym_BANG_TILDE] = ACTIONS(8642),
    [anon_sym_LT_EQ] = ACTIONS(8634),
    [anon_sym_GT] = ACTIONS(8634),
    [anon_sym_GT_EQ] = ACTIONS(8648),
    [anon_sym_CARET] = ACTIONS(8650),
    [anon_sym_PLUS] = ACTIONS(8652),
    [anon_sym_SLASH] = ACTIONS(8630),
    [anon_sym_PERCENT] = ACTIONS(8630),
    [sym_comment] = ACTIONS(110),
  },
  [9425] = {
    [sym__binary_minus] = ACTIONS(8624),
    [sym__binary_star] = ACTIONS(8626),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(8628),
    [anon_sym_STAR_STAR] = ACTIONS(8630),
    [anon_sym_AMP] = ACTIONS(8632),
    [anon_sym_LT] = ACTIONS(8634),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(8644),
    [anon_sym_GT_GT] = ACTIONS(8644),
    [anon_sym_EQ_EQ] = ACTIONS(8646),
    [anon_sym_BANG_EQ] = ACTIONS(8642),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8642),
    [anon_sym_LT_EQ_GT] = ACTIONS(8642),
    [anon_sym_EQ_TILDE] = ACTIONS(8642),
    [anon_sym_BANG_TILDE] = ACTIONS(8642),
    [anon_sym_LT_EQ] = ACTIONS(8634),
    [anon_sym_GT] = ACTIONS(8634),
    [anon_sym_GT_EQ] = ACTIONS(8648),
    [anon_sym_CARET] = ACTIONS(8650),
    [anon_sym_PLUS] = ACTIONS(8652),
    [anon_sym_SLASH] = ACTIONS(8630),
    [anon_sym_PERCENT] = ACTIONS(8630),
    [sym_comment] = ACTIONS(110),
  },
  [9426] = {
    [sym__binary_minus] = ACTIONS(8624),
    [sym__binary_star] = ACTIONS(8626),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(8630),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(8652),
    [anon_sym_SLASH] = ACTIONS(8630),
    [anon_sym_PERCENT] = ACTIONS(8630),
    [sym_comment] = ACTIONS(110),
  },
  [9427] = {
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(8626),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(8630),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(8630),
    [anon_sym_PERCENT] = ACTIONS(8630),
    [sym_comment] = ACTIONS(110),
  },
  [9428] = {
    [sym__binary_minus] = ACTIONS(13562),
    [sym__binary_star] = ACTIONS(13562),
    [anon_sym_LBRACE] = ACTIONS(13562),
    [anon_sym_RPAREN] = ACTIONS(13562),
    [anon_sym_COMMA] = ACTIONS(13562),
    [anon_sym_PIPE] = ACTIONS(14302),
    [anon_sym_SEMI] = ACTIONS(13562),
    [anon_sym_STAR_STAR] = ACTIONS(13562),
    [anon_sym_AMP] = ACTIONS(14302),
    [anon_sym_LT] = ACTIONS(14302),
    [anon_sym_do] = ACTIONS(13562),
    [anon_sym_EQ_GT] = ACTIONS(13562),
    [anon_sym_QMARK] = ACTIONS(13562),
    [anon_sym_COLON] = ACTIONS(13562),
    [anon_sym_DOT_DOT] = ACTIONS(14302),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(13562),
    [anon_sym_and] = ACTIONS(13562),
    [anon_sym_or] = ACTIONS(13562),
    [anon_sym_PIPE_PIPE] = ACTIONS(13562),
    [anon_sym_AMP_AMP] = ACTIONS(13562),
    [anon_sym_LT_LT] = ACTIONS(13562),
    [anon_sym_GT_GT] = ACTIONS(13562),
    [anon_sym_EQ_EQ] = ACTIONS(14302),
    [anon_sym_BANG_EQ] = ACTIONS(13562),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(13562),
    [anon_sym_LT_EQ_GT] = ACTIONS(13562),
    [anon_sym_EQ_TILDE] = ACTIONS(13562),
    [anon_sym_BANG_TILDE] = ACTIONS(13562),
    [anon_sym_LT_EQ] = ACTIONS(14302),
    [anon_sym_GT] = ACTIONS(14302),
    [anon_sym_GT_EQ] = ACTIONS(13562),
    [anon_sym_CARET] = ACTIONS(13562),
    [anon_sym_PLUS] = ACTIONS(13562),
    [anon_sym_SLASH] = ACTIONS(13562),
    [anon_sym_PERCENT] = ACTIONS(13562),
    [sym_comment] = ACTIONS(110),
  },
  [9429] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(3167),
    [sym__primary] = STATE(194),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(195),
    [sym_scope_resolution] = STATE(196),
    [sym_call] = STATE(196),
    [sym_method_call] = STATE(195),
    [sym_splat_argument] = STATE(3168),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym__arg_or_splat_arg] = STATE(11877),
    [sym_left_assignment_list] = STATE(3171),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3172),
    [sym__variable] = STATE(196),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(180),
    [sym_true] = STATE(195),
    [sym_false] = STATE(195),
    [sym_self] = STATE(180),
    [sym_nil] = STATE(195),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__splat_star] = ACTIONS(4566),
    [sym__unary_minus] = ACTIONS(4568),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(296),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1514),
    [anon_sym_yield] = ACTIONS(1516),
    [anon_sym_break] = ACTIONS(1518),
    [anon_sym_next] = ACTIONS(1520),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(4570),
    [anon_sym_defined_QMARK] = ACTIONS(4572),
    [anon_sym_not] = ACTIONS(4574),
    [anon_sym_BANG] = ACTIONS(4576),
    [anon_sym_TILDE] = ACTIONS(4576),
    [sym_constant] = ACTIONS(1542),
    [sym_identifier] = ACTIONS(1542),
    [sym_instance_variable] = ACTIONS(344),
    [sym_class_variable] = ACTIONS(344),
    [sym_global_variable] = ACTIONS(344),
    [anon_sym_false] = ACTIONS(364),
    [anon_sym_nil] = ACTIONS(366),
    [anon_sym_self] = ACTIONS(1544),
    [anon_sym_super] = ACTIONS(1546),
    [anon_sym_true] = ACTIONS(362),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(362),
    [anon_sym_FALSE] = ACTIONS(364),
    [anon_sym_NIL] = ACTIONS(366),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [9430] = {
    [aux_sym_exceptions_repeat1] = STATE(6254),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_EQ_GT] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [9431] = {
    [sym__binary_minus] = ACTIONS(8624),
    [sym__binary_star] = ACTIONS(8626),
    [anon_sym_COMMA] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(8628),
    [anon_sym_STAR_STAR] = ACTIONS(8630),
    [anon_sym_AMP] = ACTIONS(8632),
    [anon_sym_LT] = ACTIONS(8634),
    [anon_sym_EQ_GT] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(8636),
    [anon_sym_DOT_DOT] = ACTIONS(8638),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8640),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(8642),
    [anon_sym_AMP_AMP] = ACTIONS(8642),
    [anon_sym_LT_LT] = ACTIONS(8644),
    [anon_sym_GT_GT] = ACTIONS(8644),
    [anon_sym_EQ_EQ] = ACTIONS(8646),
    [anon_sym_BANG_EQ] = ACTIONS(8642),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8642),
    [anon_sym_LT_EQ_GT] = ACTIONS(8642),
    [anon_sym_EQ_TILDE] = ACTIONS(8642),
    [anon_sym_BANG_TILDE] = ACTIONS(8642),
    [anon_sym_LT_EQ] = ACTIONS(8634),
    [anon_sym_GT] = ACTIONS(8634),
    [anon_sym_GT_EQ] = ACTIONS(8648),
    [anon_sym_CARET] = ACTIONS(8650),
    [anon_sym_PLUS] = ACTIONS(8652),
    [anon_sym_SLASH] = ACTIONS(8630),
    [anon_sym_PERCENT] = ACTIONS(8630),
    [sym_comment] = ACTIONS(110),
  },
  [9432] = {
    [sym__simple_string] = ACTIONS(8070),
    [sym__simple_symbol] = ACTIONS(8070),
    [sym__simple_subshell] = ACTIONS(8070),
    [sym__simple_regex] = ACTIONS(8070),
    [sym__simple_word_list] = ACTIONS(8070),
    [sym__simple_heredoc_body] = ACTIONS(8070),
    [sym__string_beginning] = ACTIONS(8070),
    [sym__symbol_beginning] = ACTIONS(8070),
    [sym__subshell_beginning] = ACTIONS(8070),
    [sym__regex_beginning] = ACTIONS(8070),
    [sym__word_list_beginning] = ACTIONS(8070),
    [sym__heredoc_body_beginning] = ACTIONS(8070),
    [sym_heredoc_beginning] = ACTIONS(8070),
    [sym__unary_minus] = ACTIONS(8070),
    [anon_sym_LBRACE] = ACTIONS(8070),
    [anon_sym_RBRACE] = ACTIONS(8070),
    [anon_sym_def] = ACTIONS(10414),
    [anon_sym_LPAREN] = ACTIONS(8070),
    [anon_sym_COLON_COLON] = ACTIONS(8070),
    [anon_sym_end] = ACTIONS(10414),
    [anon_sym_STAR] = ACTIONS(10414),
    [anon_sym_STAR_STAR] = ACTIONS(8070),
    [anon_sym_class] = ACTIONS(10414),
    [anon_sym_module] = ACTIONS(10414),
    [anon_sym_return] = ACTIONS(10414),
    [anon_sym_yield] = ACTIONS(10414),
    [anon_sym_break] = ACTIONS(10414),
    [anon_sym_next] = ACTIONS(10414),
    [anon_sym_redo] = ACTIONS(10414),
    [anon_sym_retry] = ACTIONS(10414),
    [anon_sym_if] = ACTIONS(10414),
    [anon_sym_unless] = ACTIONS(10414),
    [anon_sym_while] = ACTIONS(10414),
    [anon_sym_until] = ACTIONS(10414),
    [anon_sym_rescue] = ACTIONS(10414),
    [anon_sym_for] = ACTIONS(10414),
    [anon_sym_in] = ACTIONS(10414),
    [anon_sym_do] = ACTIONS(10414),
    [anon_sym_case] = ACTIONS(10414),
    [anon_sym_when] = ACTIONS(10414),
    [anon_sym_elsif] = ACTIONS(10414),
    [anon_sym_else] = ACTIONS(10414),
    [anon_sym_then] = ACTIONS(10414),
    [anon_sym_begin] = ACTIONS(10414),
    [anon_sym_ensure] = ACTIONS(10414),
    [anon_sym_and] = ACTIONS(10414),
    [anon_sym_or] = ACTIONS(10414),
    [anon_sym_PLUS] = ACTIONS(10414),
    [anon_sym_defined_QMARK] = ACTIONS(8070),
    [anon_sym_not] = ACTIONS(10414),
    [anon_sym_BANG] = ACTIONS(8070),
    [anon_sym_TILDE] = ACTIONS(8070),
    [sym_constant] = ACTIONS(10416),
    [sym_identifier] = ACTIONS(10416),
    [sym_instance_variable] = ACTIONS(10414),
    [sym_class_variable] = ACTIONS(10414),
    [sym_global_variable] = ACTIONS(10414),
    [anon_sym_alias] = ACTIONS(10414),
    [anon_sym_defined] = ACTIONS(10414),
    [anon_sym_false] = ACTIONS(10414),
    [anon_sym_nil] = ACTIONS(10414),
    [anon_sym_self] = ACTIONS(10414),
    [anon_sym_super] = ACTIONS(10414),
    [anon_sym_true] = ACTIONS(10414),
    [anon_sym_undef] = ACTIONS(10414),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(10414),
    [sym_float] = ACTIONS(10416),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8070),
    [anon_sym_TRUE] = ACTIONS(10414),
    [anon_sym_FALSE] = ACTIONS(10414),
    [anon_sym_NIL] = ACTIONS(10414),
    [sym_keyword__FILE__] = ACTIONS(10414),
    [sym_keyword__LINE__] = ACTIONS(10414),
    [sym_keyword__ENCODING__] = ACTIONS(10414),
    [sym__character_literal] = ACTIONS(10414),
    [anon_sym_LBRACK] = ACTIONS(8070),
    [anon_sym_DASH_GT] = ACTIONS(8070),
  },
  [9433] = {
    [sym__heredoc_body_middle] = ACTIONS(8296),
    [sym__heredoc_body_end] = ACTIONS(14770),
    [anon_sym_if] = ACTIONS(4112),
    [anon_sym_unless] = ACTIONS(4114),
    [anon_sym_while] = ACTIONS(4116),
    [anon_sym_until] = ACTIONS(4118),
    [anon_sym_rescue] = ACTIONS(4120),
    [sym_comment] = ACTIONS(110),
  },
  [9434] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_RPAREN] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_STAR_STAR] = ACTIONS(12302),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [9435] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_RPAREN] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(12302),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [9436] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(12296),
    [sym__binary_star] = ACTIONS(12298),
    [anon_sym_RPAREN] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(12300),
    [anon_sym_STAR_STAR] = ACTIONS(12302),
    [anon_sym_AMP] = ACTIONS(12304),
    [anon_sym_LT] = ACTIONS(12306),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(12308),
    [anon_sym_DOT_DOT] = ACTIONS(12310),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12312),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(12314),
    [anon_sym_AMP_AMP] = ACTIONS(12314),
    [anon_sym_LT_LT] = ACTIONS(12316),
    [anon_sym_GT_GT] = ACTIONS(12316),
    [anon_sym_EQ_EQ] = ACTIONS(12318),
    [anon_sym_BANG_EQ] = ACTIONS(12314),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12314),
    [anon_sym_LT_EQ_GT] = ACTIONS(12314),
    [anon_sym_EQ_TILDE] = ACTIONS(12314),
    [anon_sym_BANG_TILDE] = ACTIONS(12314),
    [anon_sym_LT_EQ] = ACTIONS(12306),
    [anon_sym_GT] = ACTIONS(12306),
    [anon_sym_GT_EQ] = ACTIONS(12320),
    [anon_sym_CARET] = ACTIONS(12322),
    [anon_sym_PLUS] = ACTIONS(12324),
    [anon_sym_SLASH] = ACTIONS(12302),
    [anon_sym_PERCENT] = ACTIONS(12302),
    [sym_comment] = ACTIONS(110),
  },
  [9437] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(11879),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3679),
    [sym_call] = STATE(3679),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(6266),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6267),
    [sym__variable] = STATE(3679),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(8674),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5344),
    [anon_sym_yield] = ACTIONS(5346),
    [anon_sym_break] = ACTIONS(5348),
    [anon_sym_next] = ACTIONS(5350),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8676),
    [anon_sym_defined_QMARK] = ACTIONS(8678),
    [anon_sym_not] = ACTIONS(8680),
    [anon_sym_BANG] = ACTIONS(8682),
    [anon_sym_TILDE] = ACTIONS(8682),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9438] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(11880),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3679),
    [sym_call] = STATE(3679),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(6266),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6267),
    [sym__variable] = STATE(3679),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(8674),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5344),
    [anon_sym_yield] = ACTIONS(5346),
    [anon_sym_break] = ACTIONS(5348),
    [anon_sym_next] = ACTIONS(5350),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8676),
    [anon_sym_defined_QMARK] = ACTIONS(8678),
    [anon_sym_not] = ACTIONS(8680),
    [anon_sym_BANG] = ACTIONS(8682),
    [anon_sym_TILDE] = ACTIONS(8682),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9439] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(11881),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3679),
    [sym_call] = STATE(3679),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(6266),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6267),
    [sym__variable] = STATE(3679),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(8674),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5344),
    [anon_sym_yield] = ACTIONS(5346),
    [anon_sym_break] = ACTIONS(5348),
    [anon_sym_next] = ACTIONS(5350),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8676),
    [anon_sym_defined_QMARK] = ACTIONS(8678),
    [anon_sym_not] = ACTIONS(8680),
    [anon_sym_BANG] = ACTIONS(8682),
    [anon_sym_TILDE] = ACTIONS(8682),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9440] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(11882),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3679),
    [sym_call] = STATE(3679),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(6266),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6267),
    [sym__variable] = STATE(3679),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(8674),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5344),
    [anon_sym_yield] = ACTIONS(5346),
    [anon_sym_break] = ACTIONS(5348),
    [anon_sym_next] = ACTIONS(5350),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8676),
    [anon_sym_defined_QMARK] = ACTIONS(8678),
    [anon_sym_not] = ACTIONS(8680),
    [anon_sym_BANG] = ACTIONS(8682),
    [anon_sym_TILDE] = ACTIONS(8682),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9441] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(11883),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3679),
    [sym_call] = STATE(3679),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(6266),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6267),
    [sym__variable] = STATE(3679),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(8674),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5344),
    [anon_sym_yield] = ACTIONS(5346),
    [anon_sym_break] = ACTIONS(5348),
    [anon_sym_next] = ACTIONS(5350),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8676),
    [anon_sym_defined_QMARK] = ACTIONS(8678),
    [anon_sym_not] = ACTIONS(8680),
    [anon_sym_BANG] = ACTIONS(8682),
    [anon_sym_TILDE] = ACTIONS(8682),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9442] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(11884),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3679),
    [sym_call] = STATE(3679),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(6266),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6267),
    [sym__variable] = STATE(3679),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(8674),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5344),
    [anon_sym_yield] = ACTIONS(5346),
    [anon_sym_break] = ACTIONS(5348),
    [anon_sym_next] = ACTIONS(5350),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8676),
    [anon_sym_defined_QMARK] = ACTIONS(8678),
    [anon_sym_not] = ACTIONS(8680),
    [anon_sym_BANG] = ACTIONS(8682),
    [anon_sym_TILDE] = ACTIONS(8682),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9443] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(11885),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [9444] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(11886),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3679),
    [sym_call] = STATE(3679),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(6266),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6267),
    [sym__variable] = STATE(3679),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(8674),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5344),
    [anon_sym_yield] = ACTIONS(5346),
    [anon_sym_break] = ACTIONS(5348),
    [anon_sym_next] = ACTIONS(5350),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8676),
    [anon_sym_defined_QMARK] = ACTIONS(8678),
    [anon_sym_not] = ACTIONS(8680),
    [anon_sym_BANG] = ACTIONS(8682),
    [anon_sym_TILDE] = ACTIONS(8682),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9445] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(11887),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3679),
    [sym_call] = STATE(3679),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(6266),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6267),
    [sym__variable] = STATE(3679),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(8674),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5344),
    [anon_sym_yield] = ACTIONS(5346),
    [anon_sym_break] = ACTIONS(5348),
    [anon_sym_next] = ACTIONS(5350),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8676),
    [anon_sym_defined_QMARK] = ACTIONS(8678),
    [anon_sym_not] = ACTIONS(8680),
    [anon_sym_BANG] = ACTIONS(8682),
    [anon_sym_TILDE] = ACTIONS(8682),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9446] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(11888),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3679),
    [sym_call] = STATE(3679),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(6266),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6267),
    [sym__variable] = STATE(3679),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(8674),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5344),
    [anon_sym_yield] = ACTIONS(5346),
    [anon_sym_break] = ACTIONS(5348),
    [anon_sym_next] = ACTIONS(5350),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8676),
    [anon_sym_defined_QMARK] = ACTIONS(8678),
    [anon_sym_not] = ACTIONS(8680),
    [anon_sym_BANG] = ACTIONS(8682),
    [anon_sym_TILDE] = ACTIONS(8682),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9447] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(11889),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3679),
    [sym_call] = STATE(3679),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(6266),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6267),
    [sym__variable] = STATE(3679),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(8674),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5344),
    [anon_sym_yield] = ACTIONS(5346),
    [anon_sym_break] = ACTIONS(5348),
    [anon_sym_next] = ACTIONS(5350),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8676),
    [anon_sym_defined_QMARK] = ACTIONS(8678),
    [anon_sym_not] = ACTIONS(8680),
    [anon_sym_BANG] = ACTIONS(8682),
    [anon_sym_TILDE] = ACTIONS(8682),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9448] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(11890),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3679),
    [sym_call] = STATE(3679),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(6266),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6267),
    [sym__variable] = STATE(3679),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(8674),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5344),
    [anon_sym_yield] = ACTIONS(5346),
    [anon_sym_break] = ACTIONS(5348),
    [anon_sym_next] = ACTIONS(5350),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8676),
    [anon_sym_defined_QMARK] = ACTIONS(8678),
    [anon_sym_not] = ACTIONS(8680),
    [anon_sym_BANG] = ACTIONS(8682),
    [anon_sym_TILDE] = ACTIONS(8682),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9449] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(11891),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3679),
    [sym_call] = STATE(3679),
    [sym_method_call] = STATE(976),
    [sym_splat_argument] = STATE(6132),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_right_assignment_list] = STATE(6133),
    [sym__arg_or_splat_arg] = STATE(11892),
    [sym_left_assignment_list] = STATE(6266),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6267),
    [sym__variable] = STATE(3679),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__splat_star] = ACTIONS(4600),
    [sym__unary_minus] = ACTIONS(8674),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5344),
    [anon_sym_yield] = ACTIONS(5346),
    [anon_sym_break] = ACTIONS(5348),
    [anon_sym_next] = ACTIONS(5350),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8676),
    [anon_sym_defined_QMARK] = ACTIONS(8678),
    [anon_sym_not] = ACTIONS(8680),
    [anon_sym_BANG] = ACTIONS(8682),
    [anon_sym_TILDE] = ACTIONS(8682),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9450] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(11893),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3679),
    [sym_call] = STATE(3679),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(6266),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6267),
    [sym__variable] = STATE(3679),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(8674),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5344),
    [anon_sym_yield] = ACTIONS(5346),
    [anon_sym_break] = ACTIONS(5348),
    [anon_sym_next] = ACTIONS(5350),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(8676),
    [anon_sym_defined_QMARK] = ACTIONS(8678),
    [anon_sym_not] = ACTIONS(8680),
    [anon_sym_BANG] = ACTIONS(8682),
    [anon_sym_TILDE] = ACTIONS(8682),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9451] = {
    [sym__simple_heredoc_body] = ACTIONS(8568),
    [sym__heredoc_body_beginning] = ACTIONS(8568),
    [sym__element_reference_left_bracket] = ACTIONS(8568),
    [sym__scope_double_colon] = ACTIONS(8568),
    [sym__binary_minus] = ACTIONS(12296),
    [sym__binary_star] = ACTIONS(12298),
    [anon_sym_RPAREN] = ACTIONS(8568),
    [anon_sym_DOT] = ACTIONS(9468),
    [anon_sym_COMMA] = ACTIONS(8568),
    [anon_sym_PIPE] = ACTIONS(12300),
    [anon_sym_STAR_STAR] = ACTIONS(12302),
    [anon_sym_AMP] = ACTIONS(12304),
    [anon_sym_LT] = ACTIONS(12306),
    [anon_sym_AMP_DOT] = ACTIONS(8568),
    [anon_sym_QMARK] = ACTIONS(12308),
    [anon_sym_DOT_DOT] = ACTIONS(12310),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12312),
    [anon_sym_and] = ACTIONS(8568),
    [anon_sym_or] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE] = ACTIONS(12314),
    [anon_sym_AMP_AMP] = ACTIONS(12314),
    [anon_sym_LT_LT] = ACTIONS(12316),
    [anon_sym_GT_GT] = ACTIONS(12316),
    [anon_sym_EQ_EQ] = ACTIONS(12318),
    [anon_sym_BANG_EQ] = ACTIONS(12314),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12314),
    [anon_sym_LT_EQ_GT] = ACTIONS(12314),
    [anon_sym_EQ_TILDE] = ACTIONS(12314),
    [anon_sym_BANG_TILDE] = ACTIONS(12314),
    [anon_sym_LT_EQ] = ACTIONS(12306),
    [anon_sym_GT] = ACTIONS(12306),
    [anon_sym_GT_EQ] = ACTIONS(12320),
    [anon_sym_CARET] = ACTIONS(12322),
    [anon_sym_PLUS] = ACTIONS(12324),
    [anon_sym_SLASH] = ACTIONS(12302),
    [anon_sym_PERCENT] = ACTIONS(12302),
    [sym_comment] = ACTIONS(110),
  },
  [9452] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__element_reference_left_bracket] = ACTIONS(7008),
    [sym__scope_double_colon] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(8692),
    [anon_sym_RPAREN] = ACTIONS(7008),
    [anon_sym_DOT] = ACTIONS(7010),
    [anon_sym_COMMA] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_STAR_STAR] = ACTIONS(8696),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_EQ_GT] = ACTIONS(7008),
    [anon_sym_AMP_DOT] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7008),
    [anon_sym_AMP_AMP] = ACTIONS(7008),
    [anon_sym_LT_LT] = ACTIONS(7008),
    [anon_sym_GT_GT] = ACTIONS(7008),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7008),
    [anon_sym_PLUS] = ACTIONS(7008),
    [anon_sym_SLASH] = ACTIONS(8696),
    [anon_sym_PERCENT] = ACTIONS(8696),
    [sym_comment] = ACTIONS(110),
  },
  [9453] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__element_reference_left_bracket] = ACTIONS(7012),
    [sym__scope_double_colon] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_RPAREN] = ACTIONS(7012),
    [anon_sym_DOT] = ACTIONS(7014),
    [anon_sym_COMMA] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_STAR_STAR] = ACTIONS(8696),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_EQ_GT] = ACTIONS(7012),
    [anon_sym_AMP_DOT] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7012),
    [anon_sym_AMP_AMP] = ACTIONS(7012),
    [anon_sym_LT_LT] = ACTIONS(7012),
    [anon_sym_GT_GT] = ACTIONS(7012),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7012),
    [anon_sym_PLUS] = ACTIONS(7012),
    [anon_sym_SLASH] = ACTIONS(7012),
    [anon_sym_PERCENT] = ACTIONS(7012),
    [sym_comment] = ACTIONS(110),
  },
  [9454] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(8690),
    [sym__binary_star] = ACTIONS(8692),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(8696),
    [anon_sym_AMP] = ACTIONS(8698),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(8710),
    [anon_sym_GT_GT] = ACTIONS(8710),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(8718),
    [anon_sym_SLASH] = ACTIONS(8696),
    [anon_sym_PERCENT] = ACTIONS(8696),
    [sym_comment] = ACTIONS(110),
  },
  [9455] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(8696),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7016),
    [anon_sym_PERCENT] = ACTIONS(7016),
    [sym_comment] = ACTIONS(110),
  },
  [9456] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(8690),
    [sym__binary_star] = ACTIONS(8692),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(8696),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(8710),
    [anon_sym_GT_GT] = ACTIONS(8710),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(8718),
    [anon_sym_SLASH] = ACTIONS(8696),
    [anon_sym_PERCENT] = ACTIONS(8696),
    [sym_comment] = ACTIONS(110),
  },
  [9457] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(8690),
    [sym__binary_star] = ACTIONS(8692),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(8694),
    [anon_sym_STAR_STAR] = ACTIONS(8696),
    [anon_sym_AMP] = ACTIONS(8698),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(8710),
    [anon_sym_GT_GT] = ACTIONS(8710),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(8716),
    [anon_sym_PLUS] = ACTIONS(8718),
    [anon_sym_SLASH] = ACTIONS(8696),
    [anon_sym_PERCENT] = ACTIONS(8696),
    [sym_comment] = ACTIONS(110),
  },
  [9458] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(14772),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [9459] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__element_reference_left_bracket] = ACTIONS(7108),
    [sym__scope_double_colon] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(8690),
    [sym__binary_star] = ACTIONS(8692),
    [anon_sym_RPAREN] = ACTIONS(7108),
    [anon_sym_DOT] = ACTIONS(9472),
    [anon_sym_COMMA] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(8694),
    [anon_sym_STAR_STAR] = ACTIONS(8696),
    [anon_sym_AMP] = ACTIONS(8698),
    [anon_sym_LT] = ACTIONS(8700),
    [anon_sym_EQ_GT] = ACTIONS(7108),
    [anon_sym_AMP_DOT] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(8704),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8706),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(8708),
    [anon_sym_AMP_AMP] = ACTIONS(8708),
    [anon_sym_LT_LT] = ACTIONS(8710),
    [anon_sym_GT_GT] = ACTIONS(8710),
    [anon_sym_EQ_EQ] = ACTIONS(8712),
    [anon_sym_BANG_EQ] = ACTIONS(8708),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8708),
    [anon_sym_LT_EQ_GT] = ACTIONS(8708),
    [anon_sym_EQ_TILDE] = ACTIONS(8708),
    [anon_sym_BANG_TILDE] = ACTIONS(8708),
    [anon_sym_LT_EQ] = ACTIONS(8700),
    [anon_sym_GT] = ACTIONS(8700),
    [anon_sym_GT_EQ] = ACTIONS(8714),
    [anon_sym_CARET] = ACTIONS(8716),
    [anon_sym_PLUS] = ACTIONS(8718),
    [anon_sym_SLASH] = ACTIONS(8696),
    [anon_sym_PERCENT] = ACTIONS(8696),
    [sym_comment] = ACTIONS(110),
  },
  [9460] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(8690),
    [sym__binary_star] = ACTIONS(8692),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(8694),
    [anon_sym_STAR_STAR] = ACTIONS(8696),
    [anon_sym_AMP] = ACTIONS(8698),
    [anon_sym_LT] = ACTIONS(8700),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(8702),
    [anon_sym_DOT_DOT] = ACTIONS(8704),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8706),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(8708),
    [anon_sym_AMP_AMP] = ACTIONS(8708),
    [anon_sym_LT_LT] = ACTIONS(8710),
    [anon_sym_GT_GT] = ACTIONS(8710),
    [anon_sym_EQ_EQ] = ACTIONS(8712),
    [anon_sym_BANG_EQ] = ACTIONS(8708),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8708),
    [anon_sym_LT_EQ_GT] = ACTIONS(8708),
    [anon_sym_EQ_TILDE] = ACTIONS(8708),
    [anon_sym_BANG_TILDE] = ACTIONS(8708),
    [anon_sym_LT_EQ] = ACTIONS(8700),
    [anon_sym_GT] = ACTIONS(8700),
    [anon_sym_GT_EQ] = ACTIONS(8714),
    [anon_sym_CARET] = ACTIONS(8716),
    [anon_sym_PLUS] = ACTIONS(8718),
    [anon_sym_SLASH] = ACTIONS(8696),
    [anon_sym_PERCENT] = ACTIONS(8696),
    [sym_comment] = ACTIONS(110),
  },
  [9461] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(8690),
    [sym__binary_star] = ACTIONS(8692),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(8694),
    [anon_sym_STAR_STAR] = ACTIONS(8696),
    [anon_sym_AMP] = ACTIONS(8698),
    [anon_sym_LT] = ACTIONS(8700),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(8710),
    [anon_sym_GT_GT] = ACTIONS(8710),
    [anon_sym_EQ_EQ] = ACTIONS(8712),
    [anon_sym_BANG_EQ] = ACTIONS(8708),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8708),
    [anon_sym_LT_EQ_GT] = ACTIONS(8708),
    [anon_sym_EQ_TILDE] = ACTIONS(8708),
    [anon_sym_BANG_TILDE] = ACTIONS(8708),
    [anon_sym_LT_EQ] = ACTIONS(8700),
    [anon_sym_GT] = ACTIONS(8700),
    [anon_sym_GT_EQ] = ACTIONS(8714),
    [anon_sym_CARET] = ACTIONS(8716),
    [anon_sym_PLUS] = ACTIONS(8718),
    [anon_sym_SLASH] = ACTIONS(8696),
    [anon_sym_PERCENT] = ACTIONS(8696),
    [sym_comment] = ACTIONS(110),
  },
  [9462] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(8690),
    [sym__binary_star] = ACTIONS(8692),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(8696),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(8718),
    [anon_sym_SLASH] = ACTIONS(8696),
    [anon_sym_PERCENT] = ACTIONS(8696),
    [sym_comment] = ACTIONS(110),
  },
  [9463] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(8692),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(8696),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(8696),
    [anon_sym_PERCENT] = ACTIONS(8696),
    [sym_comment] = ACTIONS(110),
  },
  [9464] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3195),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(9349),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3197),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3198),
    [sym__variable] = STATE(1383),
    [sym_reserved_identifier] = STATE(3199),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(3200),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(4598),
    [sym__splat_star] = ACTIONS(4600),
    [sym__unary_minus] = ACTIONS(4602),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(12332),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2164),
    [anon_sym_yield] = ACTIONS(2166),
    [anon_sym_break] = ACTIONS(2168),
    [anon_sym_next] = ACTIONS(2170),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(8684),
    [anon_sym_defined_QMARK] = ACTIONS(4604),
    [anon_sym_not] = ACTIONS(4606),
    [anon_sym_BANG] = ACTIONS(4610),
    [anon_sym_TILDE] = ACTIONS(4610),
    [sym_constant] = ACTIONS(4612),
    [sym_identifier] = ACTIONS(4612),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9465] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3195),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(9349),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3197),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3198),
    [sym__variable] = STATE(1383),
    [sym_reserved_identifier] = STATE(3199),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(3200),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(11895),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(4598),
    [sym__splat_star] = ACTIONS(4600),
    [sym__unary_minus] = ACTIONS(4602),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(12332),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2164),
    [anon_sym_yield] = ACTIONS(2166),
    [anon_sym_break] = ACTIONS(2168),
    [anon_sym_next] = ACTIONS(2170),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(8684),
    [anon_sym_defined_QMARK] = ACTIONS(4604),
    [anon_sym_not] = ACTIONS(4606),
    [anon_sym_BANG] = ACTIONS(4610),
    [anon_sym_TILDE] = ACTIONS(4610),
    [sym_constant] = ACTIONS(4612),
    [sym_identifier] = ACTIONS(4612),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9466] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__element_reference_left_bracket] = ACTIONS(6346),
    [sym__scope_double_colon] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(8690),
    [sym__binary_star] = ACTIONS(8692),
    [anon_sym_RPAREN] = ACTIONS(6346),
    [anon_sym_DOT] = ACTIONS(7328),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(8694),
    [anon_sym_STAR_STAR] = ACTIONS(8696),
    [anon_sym_AMP] = ACTIONS(8698),
    [anon_sym_LT] = ACTIONS(8700),
    [anon_sym_EQ_GT] = ACTIONS(6346),
    [anon_sym_AMP_DOT] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(8702),
    [anon_sym_DOT_DOT] = ACTIONS(8704),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8706),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(8708),
    [anon_sym_AMP_AMP] = ACTIONS(8708),
    [anon_sym_LT_LT] = ACTIONS(8710),
    [anon_sym_GT_GT] = ACTIONS(8710),
    [anon_sym_EQ_EQ] = ACTIONS(8712),
    [anon_sym_BANG_EQ] = ACTIONS(8708),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8708),
    [anon_sym_LT_EQ_GT] = ACTIONS(8708),
    [anon_sym_EQ_TILDE] = ACTIONS(8708),
    [anon_sym_BANG_TILDE] = ACTIONS(8708),
    [anon_sym_LT_EQ] = ACTIONS(8700),
    [anon_sym_GT] = ACTIONS(8700),
    [anon_sym_GT_EQ] = ACTIONS(8714),
    [anon_sym_CARET] = ACTIONS(8716),
    [anon_sym_PLUS] = ACTIONS(8718),
    [anon_sym_SLASH] = ACTIONS(8696),
    [anon_sym_PERCENT] = ACTIONS(8696),
    [sym_comment] = ACTIONS(110),
  },
  [9467] = {
    [aux_sym_exceptions_repeat1] = STATE(11897),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__element_reference_left_bracket] = ACTIONS(7330),
    [sym__scope_double_colon] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_RPAREN] = ACTIONS(7330),
    [anon_sym_DOT] = ACTIONS(7332),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_EQ_GT] = ACTIONS(7330),
    [anon_sym_AMP_DOT] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [9468] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__element_reference_left_bracket] = ACTIONS(7344),
    [sym__scope_double_colon] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(8690),
    [sym__binary_star] = ACTIONS(8692),
    [anon_sym_RPAREN] = ACTIONS(7344),
    [anon_sym_DOT] = ACTIONS(9504),
    [anon_sym_COMMA] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(8694),
    [anon_sym_STAR_STAR] = ACTIONS(8696),
    [anon_sym_AMP] = ACTIONS(8698),
    [anon_sym_LT] = ACTIONS(8700),
    [anon_sym_EQ_GT] = ACTIONS(7344),
    [anon_sym_AMP_DOT] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(8702),
    [anon_sym_DOT_DOT] = ACTIONS(8704),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8706),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(8708),
    [anon_sym_AMP_AMP] = ACTIONS(8708),
    [anon_sym_LT_LT] = ACTIONS(8710),
    [anon_sym_GT_GT] = ACTIONS(8710),
    [anon_sym_EQ_EQ] = ACTIONS(8712),
    [anon_sym_BANG_EQ] = ACTIONS(8708),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8708),
    [anon_sym_LT_EQ_GT] = ACTIONS(8708),
    [anon_sym_EQ_TILDE] = ACTIONS(8708),
    [anon_sym_BANG_TILDE] = ACTIONS(8708),
    [anon_sym_LT_EQ] = ACTIONS(8700),
    [anon_sym_GT] = ACTIONS(8700),
    [anon_sym_GT_EQ] = ACTIONS(8714),
    [anon_sym_CARET] = ACTIONS(8716),
    [anon_sym_PLUS] = ACTIONS(8718),
    [anon_sym_SLASH] = ACTIONS(8696),
    [anon_sym_PERCENT] = ACTIONS(8696),
    [sym_comment] = ACTIONS(110),
  },
  [9469] = {
    [sym__simple_heredoc_body] = ACTIONS(8662),
    [sym__heredoc_body_beginning] = ACTIONS(8662),
    [sym__element_reference_left_bracket] = ACTIONS(8662),
    [sym__scope_double_colon] = ACTIONS(8662),
    [sym__binary_minus] = ACTIONS(12296),
    [sym__binary_star] = ACTIONS(12298),
    [anon_sym_RPAREN] = ACTIONS(8662),
    [anon_sym_DOT] = ACTIONS(9506),
    [anon_sym_COMMA] = ACTIONS(8662),
    [anon_sym_PIPE] = ACTIONS(12300),
    [anon_sym_STAR_STAR] = ACTIONS(12302),
    [anon_sym_AMP] = ACTIONS(12304),
    [anon_sym_LT] = ACTIONS(12306),
    [anon_sym_AMP_DOT] = ACTIONS(8662),
    [anon_sym_QMARK] = ACTIONS(12308),
    [anon_sym_DOT_DOT] = ACTIONS(12310),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12312),
    [anon_sym_and] = ACTIONS(8662),
    [anon_sym_or] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE] = ACTIONS(12314),
    [anon_sym_AMP_AMP] = ACTIONS(12314),
    [anon_sym_LT_LT] = ACTIONS(12316),
    [anon_sym_GT_GT] = ACTIONS(12316),
    [anon_sym_EQ_EQ] = ACTIONS(12318),
    [anon_sym_BANG_EQ] = ACTIONS(12314),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12314),
    [anon_sym_LT_EQ_GT] = ACTIONS(12314),
    [anon_sym_EQ_TILDE] = ACTIONS(12314),
    [anon_sym_BANG_TILDE] = ACTIONS(12314),
    [anon_sym_LT_EQ] = ACTIONS(12306),
    [anon_sym_GT] = ACTIONS(12306),
    [anon_sym_GT_EQ] = ACTIONS(12320),
    [anon_sym_CARET] = ACTIONS(12322),
    [anon_sym_PLUS] = ACTIONS(12324),
    [anon_sym_SLASH] = ACTIONS(12302),
    [anon_sym_PERCENT] = ACTIONS(12302),
    [sym_comment] = ACTIONS(110),
  },
  [9470] = {
    [sym__simple_heredoc_body] = ACTIONS(14774),
    [sym__heredoc_body_beginning] = ACTIONS(14774),
    [sym__line_break] = ACTIONS(14774),
    [sym__element_reference_left_bracket] = ACTIONS(14774),
    [sym__scope_double_colon] = ACTIONS(14774),
    [sym__binary_minus] = ACTIONS(14774),
    [sym__binary_star] = ACTIONS(14774),
    [ts_builtin_sym_end] = ACTIONS(14774),
    [anon_sym___END__] = ACTIONS(14774),
    [anon_sym_LBRACE] = ACTIONS(14774),
    [anon_sym_RBRACE] = ACTIONS(14774),
    [anon_sym_RPAREN] = ACTIONS(14774),
    [anon_sym_DOT] = ACTIONS(14776),
    [anon_sym_end] = ACTIONS(14774),
    [anon_sym_COMMA] = ACTIONS(14774),
    [anon_sym_PIPE] = ACTIONS(14776),
    [anon_sym_SEMI] = ACTIONS(14774),
    [anon_sym_STAR_STAR] = ACTIONS(14774),
    [anon_sym_AMP] = ACTIONS(14776),
    [anon_sym_LT] = ACTIONS(14776),
    [anon_sym_if] = ACTIONS(14774),
    [anon_sym_unless] = ACTIONS(14774),
    [anon_sym_while] = ACTIONS(14774),
    [anon_sym_until] = ACTIONS(14774),
    [anon_sym_rescue] = ACTIONS(14774),
    [anon_sym_do] = ACTIONS(14774),
    [anon_sym_when] = ACTIONS(14774),
    [anon_sym_elsif] = ACTIONS(14774),
    [anon_sym_else] = ACTIONS(14774),
    [anon_sym_then] = ACTIONS(14774),
    [anon_sym_ensure] = ACTIONS(14774),
    [anon_sym_EQ_GT] = ACTIONS(14774),
    [anon_sym_AMP_DOT] = ACTIONS(14774),
    [anon_sym_QMARK] = ACTIONS(14774),
    [anon_sym_DOT_DOT] = ACTIONS(14776),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(14774),
    [anon_sym_and] = ACTIONS(14774),
    [anon_sym_or] = ACTIONS(14774),
    [anon_sym_PIPE_PIPE] = ACTIONS(14774),
    [anon_sym_AMP_AMP] = ACTIONS(14774),
    [anon_sym_LT_LT] = ACTIONS(14774),
    [anon_sym_GT_GT] = ACTIONS(14774),
    [anon_sym_EQ_EQ] = ACTIONS(14776),
    [anon_sym_BANG_EQ] = ACTIONS(14774),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(14774),
    [anon_sym_LT_EQ_GT] = ACTIONS(14774),
    [anon_sym_EQ_TILDE] = ACTIONS(14774),
    [anon_sym_BANG_TILDE] = ACTIONS(14774),
    [anon_sym_LT_EQ] = ACTIONS(14776),
    [anon_sym_GT] = ACTIONS(14776),
    [anon_sym_GT_EQ] = ACTIONS(14774),
    [anon_sym_CARET] = ACTIONS(14774),
    [anon_sym_PLUS] = ACTIONS(14774),
    [anon_sym_SLASH] = ACTIONS(14774),
    [anon_sym_PERCENT] = ACTIONS(14774),
    [sym_comment] = ACTIONS(110),
  },
  [9471] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(11898),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(1139),
    [sym_call] = STATE(1139),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(1140),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1141),
    [sym__variable] = STATE(1139),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(1822),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_yield] = ACTIONS(1828),
    [anon_sym_break] = ACTIONS(1830),
    [anon_sym_next] = ACTIONS(1832),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(1834),
    [anon_sym_defined_QMARK] = ACTIONS(1836),
    [anon_sym_not] = ACTIONS(1838),
    [anon_sym_BANG] = ACTIONS(1840),
    [anon_sym_TILDE] = ACTIONS(1840),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [9472] = {
    [sym__element_reference_left_bracket] = ACTIONS(11316),
    [sym__scope_double_colon] = ACTIONS(11316),
    [sym__binary_minus] = ACTIONS(11316),
    [sym__binary_star] = ACTIONS(11316),
    [anon_sym_LBRACE] = ACTIONS(11316),
    [anon_sym_RPAREN] = ACTIONS(11316),
    [anon_sym_DOT] = ACTIONS(11318),
    [anon_sym_COMMA] = ACTIONS(11316),
    [anon_sym_PIPE] = ACTIONS(11318),
    [anon_sym_SEMI] = ACTIONS(11316),
    [anon_sym_STAR_STAR] = ACTIONS(11318),
    [anon_sym_AMP] = ACTIONS(11318),
    [anon_sym_EQ] = ACTIONS(11318),
    [anon_sym_LT] = ACTIONS(11318),
    [anon_sym_do] = ACTIONS(11316),
    [anon_sym_AMP_DOT] = ACTIONS(11316),
    [anon_sym_PLUS_EQ] = ACTIONS(11316),
    [anon_sym_DASH_EQ] = ACTIONS(11316),
    [anon_sym_STAR_EQ] = ACTIONS(11316),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(11316),
    [anon_sym_SLASH_EQ] = ACTIONS(11316),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(11316),
    [anon_sym_PIPE_EQ] = ACTIONS(11316),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(11316),
    [anon_sym_AMP_EQ] = ACTIONS(11316),
    [anon_sym_PERCENT_EQ] = ACTIONS(11316),
    [anon_sym_GT_GT_EQ] = ACTIONS(11316),
    [anon_sym_LT_LT_EQ] = ACTIONS(11316),
    [anon_sym_CARET_EQ] = ACTIONS(11316),
    [anon_sym_QMARK] = ACTIONS(11316),
    [anon_sym_COLON] = ACTIONS(11316),
    [anon_sym_DOT_DOT] = ACTIONS(11318),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11316),
    [anon_sym_and] = ACTIONS(11316),
    [anon_sym_or] = ACTIONS(11316),
    [anon_sym_PIPE_PIPE] = ACTIONS(11318),
    [anon_sym_AMP_AMP] = ACTIONS(11318),
    [anon_sym_LT_LT] = ACTIONS(11318),
    [anon_sym_GT_GT] = ACTIONS(11318),
    [anon_sym_EQ_EQ] = ACTIONS(11318),
    [anon_sym_BANG_EQ] = ACTIONS(11316),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11316),
    [anon_sym_LT_EQ_GT] = ACTIONS(11316),
    [anon_sym_EQ_TILDE] = ACTIONS(11316),
    [anon_sym_BANG_TILDE] = ACTIONS(11316),
    [anon_sym_LT_EQ] = ACTIONS(11318),
    [anon_sym_GT] = ACTIONS(11318),
    [anon_sym_GT_EQ] = ACTIONS(11316),
    [anon_sym_CARET] = ACTIONS(11318),
    [anon_sym_PLUS] = ACTIONS(11318),
    [anon_sym_SLASH] = ACTIONS(11318),
    [anon_sym_PERCENT] = ACTIONS(11318),
    [sym_comment] = ACTIONS(256),
  },
  [9473] = {
    [anon_sym_RBRACK] = ACTIONS(14778),
    [sym_comment] = ACTIONS(110),
  },
  [9474] = {
    [sym__simple_string] = ACTIONS(5370),
    [sym__simple_symbol] = ACTIONS(5370),
    [sym__simple_subshell] = ACTIONS(5370),
    [sym__simple_regex] = ACTIONS(5370),
    [sym__simple_word_list] = ACTIONS(5370),
    [sym__string_beginning] = ACTIONS(5370),
    [sym__symbol_beginning] = ACTIONS(5370),
    [sym__subshell_beginning] = ACTIONS(5370),
    [sym__regex_beginning] = ACTIONS(5370),
    [sym__word_list_beginning] = ACTIONS(5370),
    [sym_heredoc_beginning] = ACTIONS(5370),
    [sym__element_reference_left_bracket] = ACTIONS(5370),
    [sym__block_ampersand] = ACTIONS(5370),
    [sym__splat_star] = ACTIONS(5370),
    [sym__argument_list_left_paren] = ACTIONS(5370),
    [sym__scope_double_colon] = ACTIONS(5370),
    [sym__unary_minus] = ACTIONS(5370),
    [sym__binary_minus] = ACTIONS(5370),
    [sym__binary_star] = ACTIONS(5370),
    [anon_sym_LBRACE] = ACTIONS(5370),
    [anon_sym_def] = ACTIONS(5372),
    [anon_sym_LPAREN] = ACTIONS(5370),
    [anon_sym_RPAREN] = ACTIONS(5370),
    [anon_sym_DOT] = ACTIONS(5372),
    [anon_sym_COLON_COLON] = ACTIONS(5370),
    [anon_sym_end] = ACTIONS(5372),
    [anon_sym_COMMA] = ACTIONS(5370),
    [anon_sym_PIPE] = ACTIONS(5372),
    [anon_sym_SEMI] = ACTIONS(5370),
    [anon_sym_STAR] = ACTIONS(5372),
    [anon_sym_STAR_STAR] = ACTIONS(5372),
    [anon_sym_AMP] = ACTIONS(5372),
    [anon_sym_EQ] = ACTIONS(5372),
    [anon_sym_class] = ACTIONS(5372),
    [anon_sym_LT] = ACTIONS(5372),
    [anon_sym_module] = ACTIONS(5372),
    [anon_sym_return] = ACTIONS(5372),
    [anon_sym_yield] = ACTIONS(5372),
    [anon_sym_break] = ACTIONS(5372),
    [anon_sym_next] = ACTIONS(5372),
    [anon_sym_redo] = ACTIONS(5372),
    [anon_sym_retry] = ACTIONS(5372),
    [anon_sym_if] = ACTIONS(5372),
    [anon_sym_unless] = ACTIONS(5372),
    [anon_sym_while] = ACTIONS(5372),
    [anon_sym_until] = ACTIONS(5372),
    [anon_sym_rescue] = ACTIONS(5372),
    [anon_sym_for] = ACTIONS(5372),
    [anon_sym_in] = ACTIONS(5372),
    [anon_sym_do] = ACTIONS(5372),
    [anon_sym_case] = ACTIONS(5372),
    [anon_sym_when] = ACTIONS(5372),
    [anon_sym_elsif] = ACTIONS(5372),
    [anon_sym_else] = ACTIONS(5372),
    [anon_sym_then] = ACTIONS(5372),
    [anon_sym_begin] = ACTIONS(5372),
    [anon_sym_ensure] = ACTIONS(5372),
    [anon_sym_AMP_DOT] = ACTIONS(5370),
    [anon_sym_PLUS_EQ] = ACTIONS(5370),
    [anon_sym_DASH_EQ] = ACTIONS(5370),
    [anon_sym_STAR_EQ] = ACTIONS(5370),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5370),
    [anon_sym_SLASH_EQ] = ACTIONS(5370),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5370),
    [anon_sym_PIPE_EQ] = ACTIONS(5370),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5370),
    [anon_sym_AMP_EQ] = ACTIONS(5370),
    [anon_sym_PERCENT_EQ] = ACTIONS(5370),
    [anon_sym_GT_GT_EQ] = ACTIONS(5370),
    [anon_sym_LT_LT_EQ] = ACTIONS(5370),
    [anon_sym_CARET_EQ] = ACTIONS(5370),
    [anon_sym_QMARK] = ACTIONS(5372),
    [anon_sym_COLON] = ACTIONS(5372),
    [anon_sym_DOT_DOT] = ACTIONS(5372),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5370),
    [anon_sym_and] = ACTIONS(5372),
    [anon_sym_or] = ACTIONS(5372),
    [anon_sym_PIPE_PIPE] = ACTIONS(5372),
    [anon_sym_AMP_AMP] = ACTIONS(5372),
    [anon_sym_LT_LT] = ACTIONS(5372),
    [anon_sym_GT_GT] = ACTIONS(5372),
    [anon_sym_EQ_EQ] = ACTIONS(5372),
    [anon_sym_BANG_EQ] = ACTIONS(5370),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5370),
    [anon_sym_LT_EQ_GT] = ACTIONS(5370),
    [anon_sym_EQ_TILDE] = ACTIONS(5370),
    [anon_sym_BANG_TILDE] = ACTIONS(5370),
    [anon_sym_LT_EQ] = ACTIONS(5372),
    [anon_sym_GT] = ACTIONS(5372),
    [anon_sym_GT_EQ] = ACTIONS(5370),
    [anon_sym_CARET] = ACTIONS(5372),
    [anon_sym_PLUS] = ACTIONS(5372),
    [anon_sym_SLASH] = ACTIONS(5372),
    [anon_sym_PERCENT] = ACTIONS(5372),
    [anon_sym_defined_QMARK] = ACTIONS(5370),
    [anon_sym_not] = ACTIONS(5372),
    [anon_sym_BANG] = ACTIONS(5372),
    [anon_sym_TILDE] = ACTIONS(5370),
    [sym_constant] = ACTIONS(11322),
    [sym_identifier] = ACTIONS(11322),
    [sym_instance_variable] = ACTIONS(5372),
    [sym_class_variable] = ACTIONS(5372),
    [sym_global_variable] = ACTIONS(5372),
    [anon_sym_alias] = ACTIONS(5372),
    [anon_sym_defined] = ACTIONS(5372),
    [anon_sym_false] = ACTIONS(5372),
    [anon_sym_nil] = ACTIONS(5372),
    [anon_sym_self] = ACTIONS(5372),
    [anon_sym_super] = ACTIONS(5372),
    [anon_sym_true] = ACTIONS(5372),
    [anon_sym_undef] = ACTIONS(5372),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(5372),
    [sym_float] = ACTIONS(11322),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5370),
    [anon_sym_TRUE] = ACTIONS(5372),
    [anon_sym_FALSE] = ACTIONS(5372),
    [anon_sym_NIL] = ACTIONS(5372),
    [sym_keyword__FILE__] = ACTIONS(5372),
    [sym_keyword__LINE__] = ACTIONS(5372),
    [sym_keyword__ENCODING__] = ACTIONS(5372),
    [sym__character_literal] = ACTIONS(5372),
    [anon_sym_LBRACK] = ACTIONS(5370),
    [anon_sym_DASH_GT] = ACTIONS(5370),
  },
  [9475] = {
    [sym_heredoc_end] = STATE(11901),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RPAREN] = ACTIONS(14780),
    [sym_comment] = ACTIONS(110),
  },
  [9476] = {
    [anon_sym_RPAREN] = ACTIONS(14780),
    [sym_comment] = ACTIONS(110),
  },
  [9477] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_LBRACE] = ACTIONS(1372),
    [anon_sym_RPAREN] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_STAR_STAR] = ACTIONS(12348),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_EQ] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_do] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_PLUS_EQ] = ACTIONS(1372),
    [anon_sym_DASH_EQ] = ACTIONS(1372),
    [anon_sym_STAR_EQ] = ACTIONS(1372),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1372),
    [anon_sym_SLASH_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_PIPE_EQ] = ACTIONS(1372),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1372),
    [anon_sym_AMP_EQ] = ACTIONS(1372),
    [anon_sym_PERCENT_EQ] = ACTIONS(1372),
    [anon_sym_GT_GT_EQ] = ACTIONS(1372),
    [anon_sym_LT_LT_EQ] = ACTIONS(1372),
    [anon_sym_CARET_EQ] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1374),
    [anon_sym_AMP_AMP] = ACTIONS(1374),
    [anon_sym_LT_LT] = ACTIONS(1374),
    [anon_sym_GT_GT] = ACTIONS(1374),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1374),
    [anon_sym_PLUS] = ACTIONS(1374),
    [anon_sym_SLASH] = ACTIONS(1374),
    [anon_sym_PERCENT] = ACTIONS(1374),
    [sym_comment] = ACTIONS(256),
  },
  [9478] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_RPAREN] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(12348),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2872),
    [anon_sym_AMP_AMP] = ACTIONS(2872),
    [anon_sym_LT_LT] = ACTIONS(2872),
    [anon_sym_GT_GT] = ACTIONS(2872),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2872),
    [anon_sym_PLUS] = ACTIONS(2872),
    [anon_sym_SLASH] = ACTIONS(2872),
    [anon_sym_PERCENT] = ACTIONS(2872),
    [sym_comment] = ACTIONS(256),
  },
  [9479] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(12342),
    [sym__binary_star] = ACTIONS(12344),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_RPAREN] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(12346),
    [anon_sym_STAR_STAR] = ACTIONS(12348),
    [anon_sym_AMP] = ACTIONS(12350),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(12352),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_PLUS_EQ] = ACTIONS(2870),
    [anon_sym_DASH_EQ] = ACTIONS(2870),
    [anon_sym_STAR_EQ] = ACTIONS(2870),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2870),
    [anon_sym_SLASH_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_PIPE_EQ] = ACTIONS(2870),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2870),
    [anon_sym_AMP_EQ] = ACTIONS(2870),
    [anon_sym_PERCENT_EQ] = ACTIONS(2870),
    [anon_sym_GT_GT_EQ] = ACTIONS(2870),
    [anon_sym_LT_LT_EQ] = ACTIONS(2870),
    [anon_sym_CARET_EQ] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(12354),
    [anon_sym_DOT_DOT] = ACTIONS(12356),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12358),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(12360),
    [anon_sym_AMP_AMP] = ACTIONS(12360),
    [anon_sym_LT_LT] = ACTIONS(12362),
    [anon_sym_GT_GT] = ACTIONS(12362),
    [anon_sym_EQ_EQ] = ACTIONS(12360),
    [anon_sym_BANG_EQ] = ACTIONS(12364),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12364),
    [anon_sym_LT_EQ_GT] = ACTIONS(12364),
    [anon_sym_EQ_TILDE] = ACTIONS(12364),
    [anon_sym_BANG_TILDE] = ACTIONS(12364),
    [anon_sym_LT_EQ] = ACTIONS(12352),
    [anon_sym_GT] = ACTIONS(12352),
    [anon_sym_GT_EQ] = ACTIONS(12366),
    [anon_sym_CARET] = ACTIONS(12346),
    [anon_sym_PLUS] = ACTIONS(12368),
    [anon_sym_SLASH] = ACTIONS(12348),
    [anon_sym_PERCENT] = ACTIONS(12348),
    [sym_comment] = ACTIONS(256),
  },
  [9480] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(11902),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6321),
    [sym_call] = STATE(6321),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(6322),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6323),
    [sym__variable] = STATE(6321),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(8744),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(8746),
    [anon_sym_yield] = ACTIONS(8748),
    [anon_sym_break] = ACTIONS(8750),
    [anon_sym_next] = ACTIONS(8752),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(8754),
    [anon_sym_defined_QMARK] = ACTIONS(8756),
    [anon_sym_not] = ACTIONS(8758),
    [anon_sym_BANG] = ACTIONS(8760),
    [anon_sym_TILDE] = ACTIONS(8760),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [9481] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(11903),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6321),
    [sym_call] = STATE(6321),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(6322),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6323),
    [sym__variable] = STATE(6321),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(8744),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(8746),
    [anon_sym_yield] = ACTIONS(8748),
    [anon_sym_break] = ACTIONS(8750),
    [anon_sym_next] = ACTIONS(8752),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(8754),
    [anon_sym_defined_QMARK] = ACTIONS(8756),
    [anon_sym_not] = ACTIONS(8758),
    [anon_sym_BANG] = ACTIONS(8760),
    [anon_sym_TILDE] = ACTIONS(8760),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [9482] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(11904),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6321),
    [sym_call] = STATE(6321),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(6322),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6323),
    [sym__variable] = STATE(6321),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(8744),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(8746),
    [anon_sym_yield] = ACTIONS(8748),
    [anon_sym_break] = ACTIONS(8750),
    [anon_sym_next] = ACTIONS(8752),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(8754),
    [anon_sym_defined_QMARK] = ACTIONS(8756),
    [anon_sym_not] = ACTIONS(8758),
    [anon_sym_BANG] = ACTIONS(8760),
    [anon_sym_TILDE] = ACTIONS(8760),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [9483] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(11905),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6321),
    [sym_call] = STATE(6321),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(6322),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6323),
    [sym__variable] = STATE(6321),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(8744),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(8746),
    [anon_sym_yield] = ACTIONS(8748),
    [anon_sym_break] = ACTIONS(8750),
    [anon_sym_next] = ACTIONS(8752),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(8754),
    [anon_sym_defined_QMARK] = ACTIONS(8756),
    [anon_sym_not] = ACTIONS(8758),
    [anon_sym_BANG] = ACTIONS(8760),
    [anon_sym_TILDE] = ACTIONS(8760),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [9484] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(11906),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6321),
    [sym_call] = STATE(6321),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(6322),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6323),
    [sym__variable] = STATE(6321),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(8744),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(8746),
    [anon_sym_yield] = ACTIONS(8748),
    [anon_sym_break] = ACTIONS(8750),
    [anon_sym_next] = ACTIONS(8752),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(8754),
    [anon_sym_defined_QMARK] = ACTIONS(8756),
    [anon_sym_not] = ACTIONS(8758),
    [anon_sym_BANG] = ACTIONS(8760),
    [anon_sym_TILDE] = ACTIONS(8760),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [9485] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(11907),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6321),
    [sym_call] = STATE(6321),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(6322),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6323),
    [sym__variable] = STATE(6321),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(8744),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(8746),
    [anon_sym_yield] = ACTIONS(8748),
    [anon_sym_break] = ACTIONS(8750),
    [anon_sym_next] = ACTIONS(8752),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(8754),
    [anon_sym_defined_QMARK] = ACTIONS(8756),
    [anon_sym_not] = ACTIONS(8758),
    [anon_sym_BANG] = ACTIONS(8760),
    [anon_sym_TILDE] = ACTIONS(8760),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [9486] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(11908),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [9487] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(11909),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6321),
    [sym_call] = STATE(6321),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(6322),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6323),
    [sym__variable] = STATE(6321),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(8744),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(8746),
    [anon_sym_yield] = ACTIONS(8748),
    [anon_sym_break] = ACTIONS(8750),
    [anon_sym_next] = ACTIONS(8752),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(8754),
    [anon_sym_defined_QMARK] = ACTIONS(8756),
    [anon_sym_not] = ACTIONS(8758),
    [anon_sym_BANG] = ACTIONS(8760),
    [anon_sym_TILDE] = ACTIONS(8760),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [9488] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(11910),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6321),
    [sym_call] = STATE(6321),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(6322),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6323),
    [sym__variable] = STATE(6321),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(8744),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(8746),
    [anon_sym_yield] = ACTIONS(8748),
    [anon_sym_break] = ACTIONS(8750),
    [anon_sym_next] = ACTIONS(8752),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(8754),
    [anon_sym_defined_QMARK] = ACTIONS(8756),
    [anon_sym_not] = ACTIONS(8758),
    [anon_sym_BANG] = ACTIONS(8760),
    [anon_sym_TILDE] = ACTIONS(8760),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [9489] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(11911),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6321),
    [sym_call] = STATE(6321),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(6322),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6323),
    [sym__variable] = STATE(6321),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(8744),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(8746),
    [anon_sym_yield] = ACTIONS(8748),
    [anon_sym_break] = ACTIONS(8750),
    [anon_sym_next] = ACTIONS(8752),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(8754),
    [anon_sym_defined_QMARK] = ACTIONS(8756),
    [anon_sym_not] = ACTIONS(8758),
    [anon_sym_BANG] = ACTIONS(8760),
    [anon_sym_TILDE] = ACTIONS(8760),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [9490] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(11912),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6321),
    [sym_call] = STATE(6321),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(6322),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6323),
    [sym__variable] = STATE(6321),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(8744),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(8746),
    [anon_sym_yield] = ACTIONS(8748),
    [anon_sym_break] = ACTIONS(8750),
    [anon_sym_next] = ACTIONS(8752),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(8754),
    [anon_sym_defined_QMARK] = ACTIONS(8756),
    [anon_sym_not] = ACTIONS(8758),
    [anon_sym_BANG] = ACTIONS(8760),
    [anon_sym_TILDE] = ACTIONS(8760),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [9491] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(11913),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6321),
    [sym_call] = STATE(6321),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(6322),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6323),
    [sym__variable] = STATE(6321),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(8744),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(8746),
    [anon_sym_yield] = ACTIONS(8748),
    [anon_sym_break] = ACTIONS(8750),
    [anon_sym_next] = ACTIONS(8752),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(8754),
    [anon_sym_defined_QMARK] = ACTIONS(8756),
    [anon_sym_not] = ACTIONS(8758),
    [anon_sym_BANG] = ACTIONS(8760),
    [anon_sym_TILDE] = ACTIONS(8760),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [9492] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(11914),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6321),
    [sym_call] = STATE(6321),
    [sym_method_call] = STATE(976),
    [sym_splat_argument] = STATE(11819),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_right_assignment_list] = STATE(11820),
    [sym__arg_or_splat_arg] = STATE(11915),
    [sym_left_assignment_list] = STATE(6322),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6323),
    [sym__variable] = STATE(6321),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__splat_star] = ACTIONS(4658),
    [sym__unary_minus] = ACTIONS(8744),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(8746),
    [anon_sym_yield] = ACTIONS(8748),
    [anon_sym_break] = ACTIONS(8750),
    [anon_sym_next] = ACTIONS(8752),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(8754),
    [anon_sym_defined_QMARK] = ACTIONS(8756),
    [anon_sym_not] = ACTIONS(8758),
    [anon_sym_BANG] = ACTIONS(8760),
    [anon_sym_TILDE] = ACTIONS(8760),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [9493] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(11916),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6321),
    [sym_call] = STATE(6321),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(6322),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6323),
    [sym__variable] = STATE(6321),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(8744),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(8746),
    [anon_sym_yield] = ACTIONS(8748),
    [anon_sym_break] = ACTIONS(8750),
    [anon_sym_next] = ACTIONS(8752),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(8754),
    [anon_sym_defined_QMARK] = ACTIONS(8756),
    [anon_sym_not] = ACTIONS(8758),
    [anon_sym_BANG] = ACTIONS(8760),
    [anon_sym_TILDE] = ACTIONS(8760),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [9494] = {
    [sym__element_reference_left_bracket] = ACTIONS(11064),
    [sym__scope_double_colon] = ACTIONS(11064),
    [sym__binary_minus] = ACTIONS(11064),
    [sym__binary_star] = ACTIONS(11064),
    [anon_sym_LBRACE] = ACTIONS(11064),
    [anon_sym_RPAREN] = ACTIONS(11064),
    [anon_sym_DOT] = ACTIONS(11066),
    [anon_sym_COMMA] = ACTIONS(11064),
    [anon_sym_PIPE] = ACTIONS(11066),
    [anon_sym_SEMI] = ACTIONS(11064),
    [anon_sym_STAR_STAR] = ACTIONS(11066),
    [anon_sym_AMP] = ACTIONS(11066),
    [anon_sym_EQ] = ACTIONS(11066),
    [anon_sym_LT] = ACTIONS(11066),
    [anon_sym_do] = ACTIONS(11064),
    [anon_sym_AMP_DOT] = ACTIONS(11064),
    [anon_sym_PLUS_EQ] = ACTIONS(11064),
    [anon_sym_DASH_EQ] = ACTIONS(11064),
    [anon_sym_STAR_EQ] = ACTIONS(11064),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(11064),
    [anon_sym_SLASH_EQ] = ACTIONS(11064),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(11064),
    [anon_sym_PIPE_EQ] = ACTIONS(11064),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(11064),
    [anon_sym_AMP_EQ] = ACTIONS(11064),
    [anon_sym_PERCENT_EQ] = ACTIONS(11064),
    [anon_sym_GT_GT_EQ] = ACTIONS(11064),
    [anon_sym_LT_LT_EQ] = ACTIONS(11064),
    [anon_sym_CARET_EQ] = ACTIONS(11064),
    [anon_sym_QMARK] = ACTIONS(11064),
    [anon_sym_COLON] = ACTIONS(11064),
    [anon_sym_DOT_DOT] = ACTIONS(11066),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11064),
    [anon_sym_and] = ACTIONS(11064),
    [anon_sym_or] = ACTIONS(11064),
    [anon_sym_PIPE_PIPE] = ACTIONS(11066),
    [anon_sym_AMP_AMP] = ACTIONS(11066),
    [anon_sym_LT_LT] = ACTIONS(11066),
    [anon_sym_GT_GT] = ACTIONS(11066),
    [anon_sym_EQ_EQ] = ACTIONS(11066),
    [anon_sym_BANG_EQ] = ACTIONS(11064),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11064),
    [anon_sym_LT_EQ_GT] = ACTIONS(11064),
    [anon_sym_EQ_TILDE] = ACTIONS(11064),
    [anon_sym_BANG_TILDE] = ACTIONS(11064),
    [anon_sym_LT_EQ] = ACTIONS(11066),
    [anon_sym_GT] = ACTIONS(11066),
    [anon_sym_GT_EQ] = ACTIONS(11064),
    [anon_sym_CARET] = ACTIONS(11066),
    [anon_sym_PLUS] = ACTIONS(11066),
    [anon_sym_SLASH] = ACTIONS(11066),
    [anon_sym_PERCENT] = ACTIONS(11066),
    [sym_comment] = ACTIONS(256),
  },
  [9495] = {
    [anon_sym_RBRACE] = ACTIONS(14782),
    [sym_comment] = ACTIONS(110),
  },
  [9496] = {
    [sym__element_reference_left_bracket] = ACTIONS(11094),
    [sym__scope_double_colon] = ACTIONS(11094),
    [sym__binary_minus] = ACTIONS(11094),
    [sym__binary_star] = ACTIONS(11094),
    [anon_sym_LBRACE] = ACTIONS(11094),
    [anon_sym_RPAREN] = ACTIONS(11094),
    [anon_sym_DOT] = ACTIONS(11096),
    [anon_sym_COMMA] = ACTIONS(11094),
    [anon_sym_PIPE] = ACTIONS(11096),
    [anon_sym_SEMI] = ACTIONS(11094),
    [anon_sym_STAR_STAR] = ACTIONS(11096),
    [anon_sym_AMP] = ACTIONS(11096),
    [anon_sym_EQ] = ACTIONS(11096),
    [anon_sym_LT] = ACTIONS(11096),
    [anon_sym_do] = ACTIONS(11094),
    [anon_sym_AMP_DOT] = ACTIONS(11094),
    [anon_sym_PLUS_EQ] = ACTIONS(11094),
    [anon_sym_DASH_EQ] = ACTIONS(11094),
    [anon_sym_STAR_EQ] = ACTIONS(11094),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(11094),
    [anon_sym_SLASH_EQ] = ACTIONS(11094),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(11094),
    [anon_sym_PIPE_EQ] = ACTIONS(11094),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(11094),
    [anon_sym_AMP_EQ] = ACTIONS(11094),
    [anon_sym_PERCENT_EQ] = ACTIONS(11094),
    [anon_sym_GT_GT_EQ] = ACTIONS(11094),
    [anon_sym_LT_LT_EQ] = ACTIONS(11094),
    [anon_sym_CARET_EQ] = ACTIONS(11094),
    [anon_sym_QMARK] = ACTIONS(11094),
    [anon_sym_COLON] = ACTIONS(11094),
    [anon_sym_DOT_DOT] = ACTIONS(11096),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11094),
    [anon_sym_and] = ACTIONS(11094),
    [anon_sym_or] = ACTIONS(11094),
    [anon_sym_PIPE_PIPE] = ACTIONS(11096),
    [anon_sym_AMP_AMP] = ACTIONS(11096),
    [anon_sym_LT_LT] = ACTIONS(11096),
    [anon_sym_GT_GT] = ACTIONS(11096),
    [anon_sym_EQ_EQ] = ACTIONS(11096),
    [anon_sym_BANG_EQ] = ACTIONS(11094),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11094),
    [anon_sym_LT_EQ_GT] = ACTIONS(11094),
    [anon_sym_EQ_TILDE] = ACTIONS(11094),
    [anon_sym_BANG_TILDE] = ACTIONS(11094),
    [anon_sym_LT_EQ] = ACTIONS(11096),
    [anon_sym_GT] = ACTIONS(11096),
    [anon_sym_GT_EQ] = ACTIONS(11094),
    [anon_sym_CARET] = ACTIONS(11096),
    [anon_sym_PLUS] = ACTIONS(11096),
    [anon_sym_SLASH] = ACTIONS(11096),
    [anon_sym_PERCENT] = ACTIONS(11096),
    [sym_comment] = ACTIONS(256),
  },
  [9497] = {
    [anon_sym_end] = ACTIONS(14784),
    [sym_comment] = ACTIONS(110),
  },
  [9498] = {
    [sym__statements] = STATE(11919),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14786),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9499] = {
    [sym__statements] = STATE(11919),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(11920),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14786),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9500] = {
    [sym__simple_heredoc_body] = ACTIONS(8568),
    [sym__heredoc_body_beginning] = ACTIONS(8568),
    [sym__element_reference_left_bracket] = ACTIONS(8568),
    [sym__scope_double_colon] = ACTIONS(8568),
    [sym__binary_minus] = ACTIONS(12342),
    [sym__binary_star] = ACTIONS(12344),
    [anon_sym_LBRACE] = ACTIONS(8568),
    [anon_sym_RPAREN] = ACTIONS(8568),
    [anon_sym_DOT] = ACTIONS(9468),
    [anon_sym_COMMA] = ACTIONS(8568),
    [anon_sym_PIPE] = ACTIONS(12346),
    [anon_sym_STAR_STAR] = ACTIONS(12348),
    [anon_sym_AMP] = ACTIONS(12350),
    [anon_sym_EQ] = ACTIONS(9468),
    [anon_sym_LT] = ACTIONS(12352),
    [anon_sym_do] = ACTIONS(8568),
    [anon_sym_AMP_DOT] = ACTIONS(8568),
    [anon_sym_PLUS_EQ] = ACTIONS(8568),
    [anon_sym_DASH_EQ] = ACTIONS(8568),
    [anon_sym_STAR_EQ] = ACTIONS(8568),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8568),
    [anon_sym_SLASH_EQ] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8568),
    [anon_sym_PIPE_EQ] = ACTIONS(8568),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8568),
    [anon_sym_AMP_EQ] = ACTIONS(8568),
    [anon_sym_PERCENT_EQ] = ACTIONS(8568),
    [anon_sym_GT_GT_EQ] = ACTIONS(8568),
    [anon_sym_LT_LT_EQ] = ACTIONS(8568),
    [anon_sym_CARET_EQ] = ACTIONS(8568),
    [anon_sym_QMARK] = ACTIONS(12354),
    [anon_sym_DOT_DOT] = ACTIONS(12356),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12358),
    [anon_sym_and] = ACTIONS(8568),
    [anon_sym_or] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE] = ACTIONS(12360),
    [anon_sym_AMP_AMP] = ACTIONS(12360),
    [anon_sym_LT_LT] = ACTIONS(12362),
    [anon_sym_GT_GT] = ACTIONS(12362),
    [anon_sym_EQ_EQ] = ACTIONS(12360),
    [anon_sym_BANG_EQ] = ACTIONS(12364),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12364),
    [anon_sym_LT_EQ_GT] = ACTIONS(12364),
    [anon_sym_EQ_TILDE] = ACTIONS(12364),
    [anon_sym_BANG_TILDE] = ACTIONS(12364),
    [anon_sym_LT_EQ] = ACTIONS(12352),
    [anon_sym_GT] = ACTIONS(12352),
    [anon_sym_GT_EQ] = ACTIONS(12366),
    [anon_sym_CARET] = ACTIONS(12346),
    [anon_sym_PLUS] = ACTIONS(12368),
    [anon_sym_SLASH] = ACTIONS(12348),
    [anon_sym_PERCENT] = ACTIONS(12348),
    [sym_comment] = ACTIONS(256),
  },
  [9501] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__element_reference_left_bracket] = ACTIONS(7008),
    [sym__scope_double_colon] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(8780),
    [anon_sym_LBRACE] = ACTIONS(7008),
    [anon_sym_RPAREN] = ACTIONS(7008),
    [anon_sym_DOT] = ACTIONS(7010),
    [anon_sym_COMMA] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_STAR_STAR] = ACTIONS(8784),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_EQ] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_do] = ACTIONS(7008),
    [anon_sym_EQ_GT] = ACTIONS(7008),
    [anon_sym_AMP_DOT] = ACTIONS(7008),
    [anon_sym_PLUS_EQ] = ACTIONS(7008),
    [anon_sym_DASH_EQ] = ACTIONS(7008),
    [anon_sym_STAR_EQ] = ACTIONS(7008),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7008),
    [anon_sym_SLASH_EQ] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7008),
    [anon_sym_PIPE_EQ] = ACTIONS(7008),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7008),
    [anon_sym_AMP_EQ] = ACTIONS(7008),
    [anon_sym_PERCENT_EQ] = ACTIONS(7008),
    [anon_sym_GT_GT_EQ] = ACTIONS(7008),
    [anon_sym_LT_LT_EQ] = ACTIONS(7008),
    [anon_sym_CARET_EQ] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7010),
    [anon_sym_AMP_AMP] = ACTIONS(7010),
    [anon_sym_LT_LT] = ACTIONS(7010),
    [anon_sym_GT_GT] = ACTIONS(7010),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7010),
    [anon_sym_PLUS] = ACTIONS(7010),
    [anon_sym_SLASH] = ACTIONS(8784),
    [anon_sym_PERCENT] = ACTIONS(8784),
    [sym_comment] = ACTIONS(256),
  },
  [9502] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__element_reference_left_bracket] = ACTIONS(7012),
    [sym__scope_double_colon] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_LBRACE] = ACTIONS(7012),
    [anon_sym_RPAREN] = ACTIONS(7012),
    [anon_sym_DOT] = ACTIONS(7014),
    [anon_sym_COMMA] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_STAR_STAR] = ACTIONS(8784),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_EQ] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_do] = ACTIONS(7012),
    [anon_sym_EQ_GT] = ACTIONS(7012),
    [anon_sym_AMP_DOT] = ACTIONS(7012),
    [anon_sym_PLUS_EQ] = ACTIONS(7012),
    [anon_sym_DASH_EQ] = ACTIONS(7012),
    [anon_sym_STAR_EQ] = ACTIONS(7012),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7012),
    [anon_sym_SLASH_EQ] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7012),
    [anon_sym_PIPE_EQ] = ACTIONS(7012),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7012),
    [anon_sym_AMP_EQ] = ACTIONS(7012),
    [anon_sym_PERCENT_EQ] = ACTIONS(7012),
    [anon_sym_GT_GT_EQ] = ACTIONS(7012),
    [anon_sym_LT_LT_EQ] = ACTIONS(7012),
    [anon_sym_CARET_EQ] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7014),
    [anon_sym_AMP_AMP] = ACTIONS(7014),
    [anon_sym_LT_LT] = ACTIONS(7014),
    [anon_sym_GT_GT] = ACTIONS(7014),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7014),
    [anon_sym_PLUS] = ACTIONS(7014),
    [anon_sym_SLASH] = ACTIONS(7014),
    [anon_sym_PERCENT] = ACTIONS(7014),
    [sym_comment] = ACTIONS(256),
  },
  [9503] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(8778),
    [sym__binary_star] = ACTIONS(8780),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(8784),
    [anon_sym_AMP] = ACTIONS(8786),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(8798),
    [anon_sym_GT_GT] = ACTIONS(8798),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(8804),
    [anon_sym_SLASH] = ACTIONS(8784),
    [anon_sym_PERCENT] = ACTIONS(8784),
    [sym_comment] = ACTIONS(256),
  },
  [9504] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(8784),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7018),
    [anon_sym_GT_GT] = ACTIONS(7018),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(7018),
    [anon_sym_SLASH] = ACTIONS(7018),
    [anon_sym_PERCENT] = ACTIONS(7018),
    [sym_comment] = ACTIONS(256),
  },
  [9505] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(8778),
    [sym__binary_star] = ACTIONS(8780),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(8784),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(8798),
    [anon_sym_GT_GT] = ACTIONS(8798),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(8804),
    [anon_sym_SLASH] = ACTIONS(8784),
    [anon_sym_PERCENT] = ACTIONS(8784),
    [sym_comment] = ACTIONS(256),
  },
  [9506] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(8778),
    [sym__binary_star] = ACTIONS(8780),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(8782),
    [anon_sym_STAR_STAR] = ACTIONS(8784),
    [anon_sym_AMP] = ACTIONS(8786),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(8798),
    [anon_sym_GT_GT] = ACTIONS(8798),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(8782),
    [anon_sym_PLUS] = ACTIONS(8804),
    [anon_sym_SLASH] = ACTIONS(8784),
    [anon_sym_PERCENT] = ACTIONS(8784),
    [sym_comment] = ACTIONS(256),
  },
  [9507] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(14788),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [9508] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__element_reference_left_bracket] = ACTIONS(7108),
    [sym__scope_double_colon] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(8778),
    [sym__binary_star] = ACTIONS(8780),
    [anon_sym_LBRACE] = ACTIONS(7108),
    [anon_sym_RPAREN] = ACTIONS(7108),
    [anon_sym_DOT] = ACTIONS(9472),
    [anon_sym_COMMA] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(8782),
    [anon_sym_STAR_STAR] = ACTIONS(8784),
    [anon_sym_AMP] = ACTIONS(8786),
    [anon_sym_EQ] = ACTIONS(9472),
    [anon_sym_LT] = ACTIONS(8788),
    [anon_sym_do] = ACTIONS(7108),
    [anon_sym_EQ_GT] = ACTIONS(7108),
    [anon_sym_AMP_DOT] = ACTIONS(7108),
    [anon_sym_PLUS_EQ] = ACTIONS(7108),
    [anon_sym_DASH_EQ] = ACTIONS(7108),
    [anon_sym_STAR_EQ] = ACTIONS(7108),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7108),
    [anon_sym_SLASH_EQ] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7108),
    [anon_sym_PIPE_EQ] = ACTIONS(7108),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7108),
    [anon_sym_AMP_EQ] = ACTIONS(7108),
    [anon_sym_PERCENT_EQ] = ACTIONS(7108),
    [anon_sym_GT_GT_EQ] = ACTIONS(7108),
    [anon_sym_LT_LT_EQ] = ACTIONS(7108),
    [anon_sym_CARET_EQ] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(8792),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8794),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(8796),
    [anon_sym_AMP_AMP] = ACTIONS(8796),
    [anon_sym_LT_LT] = ACTIONS(8798),
    [anon_sym_GT_GT] = ACTIONS(8798),
    [anon_sym_EQ_EQ] = ACTIONS(8796),
    [anon_sym_BANG_EQ] = ACTIONS(8800),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8800),
    [anon_sym_LT_EQ_GT] = ACTIONS(8800),
    [anon_sym_EQ_TILDE] = ACTIONS(8800),
    [anon_sym_BANG_TILDE] = ACTIONS(8800),
    [anon_sym_LT_EQ] = ACTIONS(8788),
    [anon_sym_GT] = ACTIONS(8788),
    [anon_sym_GT_EQ] = ACTIONS(8802),
    [anon_sym_CARET] = ACTIONS(8782),
    [anon_sym_PLUS] = ACTIONS(8804),
    [anon_sym_SLASH] = ACTIONS(8784),
    [anon_sym_PERCENT] = ACTIONS(8784),
    [sym_comment] = ACTIONS(256),
  },
  [9509] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(8778),
    [sym__binary_star] = ACTIONS(8780),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(8782),
    [anon_sym_STAR_STAR] = ACTIONS(8784),
    [anon_sym_AMP] = ACTIONS(8786),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(8788),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(8790),
    [anon_sym_DOT_DOT] = ACTIONS(8792),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8794),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(8796),
    [anon_sym_AMP_AMP] = ACTIONS(8796),
    [anon_sym_LT_LT] = ACTIONS(8798),
    [anon_sym_GT_GT] = ACTIONS(8798),
    [anon_sym_EQ_EQ] = ACTIONS(8796),
    [anon_sym_BANG_EQ] = ACTIONS(8800),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8800),
    [anon_sym_LT_EQ_GT] = ACTIONS(8800),
    [anon_sym_EQ_TILDE] = ACTIONS(8800),
    [anon_sym_BANG_TILDE] = ACTIONS(8800),
    [anon_sym_LT_EQ] = ACTIONS(8788),
    [anon_sym_GT] = ACTIONS(8788),
    [anon_sym_GT_EQ] = ACTIONS(8802),
    [anon_sym_CARET] = ACTIONS(8782),
    [anon_sym_PLUS] = ACTIONS(8804),
    [anon_sym_SLASH] = ACTIONS(8784),
    [anon_sym_PERCENT] = ACTIONS(8784),
    [sym_comment] = ACTIONS(256),
  },
  [9510] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(8778),
    [sym__binary_star] = ACTIONS(8780),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(8782),
    [anon_sym_STAR_STAR] = ACTIONS(8784),
    [anon_sym_AMP] = ACTIONS(8786),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(8788),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(8798),
    [anon_sym_GT_GT] = ACTIONS(8798),
    [anon_sym_EQ_EQ] = ACTIONS(8796),
    [anon_sym_BANG_EQ] = ACTIONS(8800),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8800),
    [anon_sym_LT_EQ_GT] = ACTIONS(8800),
    [anon_sym_EQ_TILDE] = ACTIONS(8800),
    [anon_sym_BANG_TILDE] = ACTIONS(8800),
    [anon_sym_LT_EQ] = ACTIONS(8788),
    [anon_sym_GT] = ACTIONS(8788),
    [anon_sym_GT_EQ] = ACTIONS(8802),
    [anon_sym_CARET] = ACTIONS(8782),
    [anon_sym_PLUS] = ACTIONS(8804),
    [anon_sym_SLASH] = ACTIONS(8784),
    [anon_sym_PERCENT] = ACTIONS(8784),
    [sym_comment] = ACTIONS(256),
  },
  [9511] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(8778),
    [sym__binary_star] = ACTIONS(8780),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(8784),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7018),
    [anon_sym_GT_GT] = ACTIONS(7018),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(8804),
    [anon_sym_SLASH] = ACTIONS(8784),
    [anon_sym_PERCENT] = ACTIONS(8784),
    [sym_comment] = ACTIONS(256),
  },
  [9512] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(8780),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(8784),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7018),
    [anon_sym_GT_GT] = ACTIONS(7018),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(7018),
    [anon_sym_SLASH] = ACTIONS(8784),
    [anon_sym_PERCENT] = ACTIONS(8784),
    [sym_comment] = ACTIONS(256),
  },
  [9513] = {
    [sym__element_reference_left_bracket] = ACTIONS(6902),
    [sym__scope_double_colon] = ACTIONS(6902),
    [sym__binary_minus] = ACTIONS(6902),
    [sym__binary_star] = ACTIONS(6902),
    [anon_sym_LBRACE] = ACTIONS(6902),
    [anon_sym_RPAREN] = ACTIONS(6902),
    [anon_sym_DOT] = ACTIONS(6904),
    [anon_sym_COMMA] = ACTIONS(6902),
    [anon_sym_PIPE] = ACTIONS(6904),
    [anon_sym_SEMI] = ACTIONS(6902),
    [anon_sym_STAR_STAR] = ACTIONS(6904),
    [anon_sym_AMP] = ACTIONS(6904),
    [anon_sym_EQ] = ACTIONS(6904),
    [anon_sym_LT] = ACTIONS(6904),
    [anon_sym_do] = ACTIONS(6902),
    [anon_sym_AMP_DOT] = ACTIONS(6902),
    [anon_sym_PLUS_EQ] = ACTIONS(6902),
    [anon_sym_DASH_EQ] = ACTIONS(6902),
    [anon_sym_STAR_EQ] = ACTIONS(6902),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6902),
    [anon_sym_SLASH_EQ] = ACTIONS(6902),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6902),
    [anon_sym_PIPE_EQ] = ACTIONS(6902),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6902),
    [anon_sym_AMP_EQ] = ACTIONS(6902),
    [anon_sym_PERCENT_EQ] = ACTIONS(6902),
    [anon_sym_GT_GT_EQ] = ACTIONS(6902),
    [anon_sym_LT_LT_EQ] = ACTIONS(6902),
    [anon_sym_CARET_EQ] = ACTIONS(6902),
    [anon_sym_QMARK] = ACTIONS(6902),
    [anon_sym_COLON] = ACTIONS(6902),
    [anon_sym_DOT_DOT] = ACTIONS(6904),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6902),
    [anon_sym_and] = ACTIONS(6902),
    [anon_sym_or] = ACTIONS(6902),
    [anon_sym_PIPE_PIPE] = ACTIONS(6904),
    [anon_sym_AMP_AMP] = ACTIONS(6904),
    [anon_sym_LT_LT] = ACTIONS(6904),
    [anon_sym_GT_GT] = ACTIONS(6904),
    [anon_sym_EQ_EQ] = ACTIONS(6904),
    [anon_sym_BANG_EQ] = ACTIONS(6902),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6902),
    [anon_sym_LT_EQ_GT] = ACTIONS(6902),
    [anon_sym_EQ_TILDE] = ACTIONS(6902),
    [anon_sym_BANG_TILDE] = ACTIONS(6902),
    [anon_sym_LT_EQ] = ACTIONS(6904),
    [anon_sym_GT] = ACTIONS(6904),
    [anon_sym_GT_EQ] = ACTIONS(6902),
    [anon_sym_CARET] = ACTIONS(6904),
    [anon_sym_PLUS] = ACTIONS(6904),
    [anon_sym_SLASH] = ACTIONS(6904),
    [anon_sym_PERCENT] = ACTIONS(6904),
    [sym_comment] = ACTIONS(256),
  },
  [9514] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(3234),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(11832),
    [sym_splat_argument] = STATE(2961),
    [sym_hash_splat_argument] = STATE(2961),
    [sym_block_argument] = STATE(2961),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(3239),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3240),
    [sym__variable] = STATE(3235),
    [sym_reserved_identifier] = STATE(3241),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3242),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(2961),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__block_ampersand] = ACTIONS(4656),
    [sym__splat_star] = ACTIONS(4658),
    [sym__unary_minus] = ACTIONS(4660),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(12384),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(4664),
    [anon_sym_yield] = ACTIONS(4666),
    [anon_sym_break] = ACTIONS(4668),
    [anon_sym_next] = ACTIONS(4670),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(8770),
    [anon_sym_defined_QMARK] = ACTIONS(4674),
    [anon_sym_not] = ACTIONS(4676),
    [anon_sym_BANG] = ACTIONS(4680),
    [anon_sym_TILDE] = ACTIONS(4680),
    [sym_constant] = ACTIONS(4682),
    [sym_identifier] = ACTIONS(4682),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [9515] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(3234),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(11832),
    [sym_splat_argument] = STATE(2961),
    [sym_hash_splat_argument] = STATE(2961),
    [sym_block_argument] = STATE(2961),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(3239),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3240),
    [sym__variable] = STATE(3235),
    [sym_reserved_identifier] = STATE(3241),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3242),
    [sym_subshell] = STATE(1062),
    [sym_heredoc_end] = STATE(11922),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(2961),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__block_ampersand] = ACTIONS(4656),
    [sym__splat_star] = ACTIONS(4658),
    [sym__unary_minus] = ACTIONS(4660),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(12384),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(4664),
    [anon_sym_yield] = ACTIONS(4666),
    [anon_sym_break] = ACTIONS(4668),
    [anon_sym_next] = ACTIONS(4670),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(8770),
    [anon_sym_defined_QMARK] = ACTIONS(4674),
    [anon_sym_not] = ACTIONS(4676),
    [anon_sym_BANG] = ACTIONS(4680),
    [anon_sym_TILDE] = ACTIONS(4680),
    [sym_constant] = ACTIONS(4682),
    [sym_identifier] = ACTIONS(4682),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [9516] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__element_reference_left_bracket] = ACTIONS(6346),
    [sym__scope_double_colon] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(8778),
    [sym__binary_star] = ACTIONS(8780),
    [anon_sym_LBRACE] = ACTIONS(6346),
    [anon_sym_RPAREN] = ACTIONS(6346),
    [anon_sym_DOT] = ACTIONS(7328),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(8782),
    [anon_sym_STAR_STAR] = ACTIONS(8784),
    [anon_sym_AMP] = ACTIONS(8786),
    [anon_sym_EQ] = ACTIONS(7328),
    [anon_sym_LT] = ACTIONS(8788),
    [anon_sym_do] = ACTIONS(6346),
    [anon_sym_EQ_GT] = ACTIONS(6346),
    [anon_sym_AMP_DOT] = ACTIONS(6346),
    [anon_sym_PLUS_EQ] = ACTIONS(6346),
    [anon_sym_DASH_EQ] = ACTIONS(6346),
    [anon_sym_STAR_EQ] = ACTIONS(6346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6346),
    [anon_sym_SLASH_EQ] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6346),
    [anon_sym_PIPE_EQ] = ACTIONS(6346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6346),
    [anon_sym_AMP_EQ] = ACTIONS(6346),
    [anon_sym_PERCENT_EQ] = ACTIONS(6346),
    [anon_sym_GT_GT_EQ] = ACTIONS(6346),
    [anon_sym_LT_LT_EQ] = ACTIONS(6346),
    [anon_sym_CARET_EQ] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(8790),
    [anon_sym_DOT_DOT] = ACTIONS(8792),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8794),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(8796),
    [anon_sym_AMP_AMP] = ACTIONS(8796),
    [anon_sym_LT_LT] = ACTIONS(8798),
    [anon_sym_GT_GT] = ACTIONS(8798),
    [anon_sym_EQ_EQ] = ACTIONS(8796),
    [anon_sym_BANG_EQ] = ACTIONS(8800),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8800),
    [anon_sym_LT_EQ_GT] = ACTIONS(8800),
    [anon_sym_EQ_TILDE] = ACTIONS(8800),
    [anon_sym_BANG_TILDE] = ACTIONS(8800),
    [anon_sym_LT_EQ] = ACTIONS(8788),
    [anon_sym_GT] = ACTIONS(8788),
    [anon_sym_GT_EQ] = ACTIONS(8802),
    [anon_sym_CARET] = ACTIONS(8782),
    [anon_sym_PLUS] = ACTIONS(8804),
    [anon_sym_SLASH] = ACTIONS(8784),
    [anon_sym_PERCENT] = ACTIONS(8784),
    [sym_comment] = ACTIONS(256),
  },
  [9517] = {
    [aux_sym_exceptions_repeat1] = STATE(11924),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__element_reference_left_bracket] = ACTIONS(7330),
    [sym__scope_double_colon] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_LBRACE] = ACTIONS(7330),
    [anon_sym_RPAREN] = ACTIONS(7330),
    [anon_sym_DOT] = ACTIONS(7332),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_STAR_STAR] = ACTIONS(7332),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_EQ] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_do] = ACTIONS(7330),
    [anon_sym_EQ_GT] = ACTIONS(7330),
    [anon_sym_AMP_DOT] = ACTIONS(7330),
    [anon_sym_PLUS_EQ] = ACTIONS(7330),
    [anon_sym_DASH_EQ] = ACTIONS(7330),
    [anon_sym_STAR_EQ] = ACTIONS(7330),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7330),
    [anon_sym_SLASH_EQ] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7330),
    [anon_sym_PIPE_EQ] = ACTIONS(7330),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7330),
    [anon_sym_AMP_EQ] = ACTIONS(7330),
    [anon_sym_PERCENT_EQ] = ACTIONS(7330),
    [anon_sym_GT_GT_EQ] = ACTIONS(7330),
    [anon_sym_LT_LT_EQ] = ACTIONS(7330),
    [anon_sym_CARET_EQ] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7332),
    [anon_sym_AMP_AMP] = ACTIONS(7332),
    [anon_sym_LT_LT] = ACTIONS(7332),
    [anon_sym_GT_GT] = ACTIONS(7332),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7332),
    [anon_sym_PLUS] = ACTIONS(7332),
    [anon_sym_SLASH] = ACTIONS(7332),
    [anon_sym_PERCENT] = ACTIONS(7332),
    [sym_comment] = ACTIONS(256),
  },
  [9518] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__element_reference_left_bracket] = ACTIONS(7344),
    [sym__scope_double_colon] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(8778),
    [sym__binary_star] = ACTIONS(8780),
    [anon_sym_LBRACE] = ACTIONS(7344),
    [anon_sym_RPAREN] = ACTIONS(7344),
    [anon_sym_DOT] = ACTIONS(9504),
    [anon_sym_COMMA] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(8782),
    [anon_sym_STAR_STAR] = ACTIONS(8784),
    [anon_sym_AMP] = ACTIONS(8786),
    [anon_sym_EQ] = ACTIONS(9504),
    [anon_sym_LT] = ACTIONS(8788),
    [anon_sym_do] = ACTIONS(7344),
    [anon_sym_EQ_GT] = ACTIONS(7344),
    [anon_sym_AMP_DOT] = ACTIONS(7344),
    [anon_sym_PLUS_EQ] = ACTIONS(7344),
    [anon_sym_DASH_EQ] = ACTIONS(7344),
    [anon_sym_STAR_EQ] = ACTIONS(7344),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7344),
    [anon_sym_SLASH_EQ] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7344),
    [anon_sym_PIPE_EQ] = ACTIONS(7344),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7344),
    [anon_sym_AMP_EQ] = ACTIONS(7344),
    [anon_sym_PERCENT_EQ] = ACTIONS(7344),
    [anon_sym_GT_GT_EQ] = ACTIONS(7344),
    [anon_sym_LT_LT_EQ] = ACTIONS(7344),
    [anon_sym_CARET_EQ] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(8790),
    [anon_sym_DOT_DOT] = ACTIONS(8792),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8794),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(8796),
    [anon_sym_AMP_AMP] = ACTIONS(8796),
    [anon_sym_LT_LT] = ACTIONS(8798),
    [anon_sym_GT_GT] = ACTIONS(8798),
    [anon_sym_EQ_EQ] = ACTIONS(8796),
    [anon_sym_BANG_EQ] = ACTIONS(8800),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8800),
    [anon_sym_LT_EQ_GT] = ACTIONS(8800),
    [anon_sym_EQ_TILDE] = ACTIONS(8800),
    [anon_sym_BANG_TILDE] = ACTIONS(8800),
    [anon_sym_LT_EQ] = ACTIONS(8788),
    [anon_sym_GT] = ACTIONS(8788),
    [anon_sym_GT_EQ] = ACTIONS(8802),
    [anon_sym_CARET] = ACTIONS(8782),
    [anon_sym_PLUS] = ACTIONS(8804),
    [anon_sym_SLASH] = ACTIONS(8784),
    [anon_sym_PERCENT] = ACTIONS(8784),
    [sym_comment] = ACTIONS(256),
  },
  [9519] = {
    [sym__simple_heredoc_body] = ACTIONS(8662),
    [sym__heredoc_body_beginning] = ACTIONS(8662),
    [sym__element_reference_left_bracket] = ACTIONS(8662),
    [sym__scope_double_colon] = ACTIONS(8662),
    [sym__binary_minus] = ACTIONS(12342),
    [sym__binary_star] = ACTIONS(12344),
    [anon_sym_LBRACE] = ACTIONS(8662),
    [anon_sym_RPAREN] = ACTIONS(8662),
    [anon_sym_DOT] = ACTIONS(9506),
    [anon_sym_COMMA] = ACTIONS(8662),
    [anon_sym_PIPE] = ACTIONS(12346),
    [anon_sym_STAR_STAR] = ACTIONS(12348),
    [anon_sym_AMP] = ACTIONS(12350),
    [anon_sym_EQ] = ACTIONS(9506),
    [anon_sym_LT] = ACTIONS(12352),
    [anon_sym_do] = ACTIONS(8662),
    [anon_sym_AMP_DOT] = ACTIONS(8662),
    [anon_sym_PLUS_EQ] = ACTIONS(8662),
    [anon_sym_DASH_EQ] = ACTIONS(8662),
    [anon_sym_STAR_EQ] = ACTIONS(8662),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8662),
    [anon_sym_SLASH_EQ] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8662),
    [anon_sym_PIPE_EQ] = ACTIONS(8662),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8662),
    [anon_sym_AMP_EQ] = ACTIONS(8662),
    [anon_sym_PERCENT_EQ] = ACTIONS(8662),
    [anon_sym_GT_GT_EQ] = ACTIONS(8662),
    [anon_sym_LT_LT_EQ] = ACTIONS(8662),
    [anon_sym_CARET_EQ] = ACTIONS(8662),
    [anon_sym_QMARK] = ACTIONS(12354),
    [anon_sym_DOT_DOT] = ACTIONS(12356),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12358),
    [anon_sym_and] = ACTIONS(8662),
    [anon_sym_or] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE] = ACTIONS(12360),
    [anon_sym_AMP_AMP] = ACTIONS(12360),
    [anon_sym_LT_LT] = ACTIONS(12362),
    [anon_sym_GT_GT] = ACTIONS(12362),
    [anon_sym_EQ_EQ] = ACTIONS(12360),
    [anon_sym_BANG_EQ] = ACTIONS(12364),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12364),
    [anon_sym_LT_EQ_GT] = ACTIONS(12364),
    [anon_sym_EQ_TILDE] = ACTIONS(12364),
    [anon_sym_BANG_TILDE] = ACTIONS(12364),
    [anon_sym_LT_EQ] = ACTIONS(12352),
    [anon_sym_GT] = ACTIONS(12352),
    [anon_sym_GT_EQ] = ACTIONS(12366),
    [anon_sym_CARET] = ACTIONS(12346),
    [anon_sym_PLUS] = ACTIONS(12368),
    [anon_sym_SLASH] = ACTIONS(12348),
    [anon_sym_PERCENT] = ACTIONS(12348),
    [sym_comment] = ACTIONS(256),
  },
  [9520] = {
    [sym__binary_minus] = ACTIONS(12388),
    [sym__binary_star] = ACTIONS(12390),
    [anon_sym_RPAREN] = ACTIONS(5338),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(12392),
    [anon_sym_STAR_STAR] = ACTIONS(12394),
    [anon_sym_AMP] = ACTIONS(12396),
    [anon_sym_LT] = ACTIONS(12398),
    [anon_sym_QMARK] = ACTIONS(12400),
    [anon_sym_DOT_DOT] = ACTIONS(12402),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12404),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(12406),
    [anon_sym_AMP_AMP] = ACTIONS(12406),
    [anon_sym_LT_LT] = ACTIONS(12408),
    [anon_sym_GT_GT] = ACTIONS(12408),
    [anon_sym_EQ_EQ] = ACTIONS(12410),
    [anon_sym_BANG_EQ] = ACTIONS(12406),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12406),
    [anon_sym_LT_EQ_GT] = ACTIONS(12406),
    [anon_sym_EQ_TILDE] = ACTIONS(12406),
    [anon_sym_BANG_TILDE] = ACTIONS(12406),
    [anon_sym_LT_EQ] = ACTIONS(12398),
    [anon_sym_GT] = ACTIONS(12398),
    [anon_sym_GT_EQ] = ACTIONS(12412),
    [anon_sym_CARET] = ACTIONS(12414),
    [anon_sym_PLUS] = ACTIONS(12416),
    [anon_sym_SLASH] = ACTIONS(12394),
    [anon_sym_PERCENT] = ACTIONS(12394),
    [sym_comment] = ACTIONS(110),
  },
  [9521] = {
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_RPAREN] = ACTIONS(1372),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_STAR_STAR] = ACTIONS(12394),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [9522] = {
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_RPAREN] = ACTIONS(2870),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(12394),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [9523] = {
    [sym__binary_minus] = ACTIONS(12388),
    [sym__binary_star] = ACTIONS(12390),
    [anon_sym_RPAREN] = ACTIONS(2870),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(12392),
    [anon_sym_STAR_STAR] = ACTIONS(12394),
    [anon_sym_AMP] = ACTIONS(12396),
    [anon_sym_LT] = ACTIONS(12398),
    [anon_sym_QMARK] = ACTIONS(12400),
    [anon_sym_DOT_DOT] = ACTIONS(12402),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12404),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(12406),
    [anon_sym_AMP_AMP] = ACTIONS(12406),
    [anon_sym_LT_LT] = ACTIONS(12408),
    [anon_sym_GT_GT] = ACTIONS(12408),
    [anon_sym_EQ_EQ] = ACTIONS(12410),
    [anon_sym_BANG_EQ] = ACTIONS(12406),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12406),
    [anon_sym_LT_EQ_GT] = ACTIONS(12406),
    [anon_sym_EQ_TILDE] = ACTIONS(12406),
    [anon_sym_BANG_TILDE] = ACTIONS(12406),
    [anon_sym_LT_EQ] = ACTIONS(12398),
    [anon_sym_GT] = ACTIONS(12398),
    [anon_sym_GT_EQ] = ACTIONS(12412),
    [anon_sym_CARET] = ACTIONS(12414),
    [anon_sym_PLUS] = ACTIONS(12416),
    [anon_sym_SLASH] = ACTIONS(12394),
    [anon_sym_PERCENT] = ACTIONS(12394),
    [sym_comment] = ACTIONS(110),
  },
  [9524] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(11925),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(1139),
    [sym_call] = STATE(1139),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(6367),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6368),
    [sym__variable] = STATE(1139),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(8822),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_yield] = ACTIONS(1828),
    [anon_sym_break] = ACTIONS(1830),
    [anon_sym_next] = ACTIONS(1832),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(8824),
    [anon_sym_defined_QMARK] = ACTIONS(8826),
    [anon_sym_not] = ACTIONS(8828),
    [anon_sym_BANG] = ACTIONS(8830),
    [anon_sym_TILDE] = ACTIONS(8830),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [9525] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(11926),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(1139),
    [sym_call] = STATE(1139),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(6367),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6368),
    [sym__variable] = STATE(1139),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(8822),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_yield] = ACTIONS(1828),
    [anon_sym_break] = ACTIONS(1830),
    [anon_sym_next] = ACTIONS(1832),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(8824),
    [anon_sym_defined_QMARK] = ACTIONS(8826),
    [anon_sym_not] = ACTIONS(8828),
    [anon_sym_BANG] = ACTIONS(8830),
    [anon_sym_TILDE] = ACTIONS(8830),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [9526] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(11927),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(1139),
    [sym_call] = STATE(1139),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(6367),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6368),
    [sym__variable] = STATE(1139),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(8822),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_yield] = ACTIONS(1828),
    [anon_sym_break] = ACTIONS(1830),
    [anon_sym_next] = ACTIONS(1832),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(8824),
    [anon_sym_defined_QMARK] = ACTIONS(8826),
    [anon_sym_not] = ACTIONS(8828),
    [anon_sym_BANG] = ACTIONS(8830),
    [anon_sym_TILDE] = ACTIONS(8830),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [9527] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(11928),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(1139),
    [sym_call] = STATE(1139),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(6367),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6368),
    [sym__variable] = STATE(1139),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(8822),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_yield] = ACTIONS(1828),
    [anon_sym_break] = ACTIONS(1830),
    [anon_sym_next] = ACTIONS(1832),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(8824),
    [anon_sym_defined_QMARK] = ACTIONS(8826),
    [anon_sym_not] = ACTIONS(8828),
    [anon_sym_BANG] = ACTIONS(8830),
    [anon_sym_TILDE] = ACTIONS(8830),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [9528] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(11929),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(1139),
    [sym_call] = STATE(1139),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(6367),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6368),
    [sym__variable] = STATE(1139),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(8822),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_yield] = ACTIONS(1828),
    [anon_sym_break] = ACTIONS(1830),
    [anon_sym_next] = ACTIONS(1832),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(8824),
    [anon_sym_defined_QMARK] = ACTIONS(8826),
    [anon_sym_not] = ACTIONS(8828),
    [anon_sym_BANG] = ACTIONS(8830),
    [anon_sym_TILDE] = ACTIONS(8830),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [9529] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(11930),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(1139),
    [sym_call] = STATE(1139),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(6367),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6368),
    [sym__variable] = STATE(1139),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(8822),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_yield] = ACTIONS(1828),
    [anon_sym_break] = ACTIONS(1830),
    [anon_sym_next] = ACTIONS(1832),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(8824),
    [anon_sym_defined_QMARK] = ACTIONS(8826),
    [anon_sym_not] = ACTIONS(8828),
    [anon_sym_BANG] = ACTIONS(8830),
    [anon_sym_TILDE] = ACTIONS(8830),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [9530] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(11931),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [9531] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(11932),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(1139),
    [sym_call] = STATE(1139),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(6367),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6368),
    [sym__variable] = STATE(1139),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(8822),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_yield] = ACTIONS(1828),
    [anon_sym_break] = ACTIONS(1830),
    [anon_sym_next] = ACTIONS(1832),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(8824),
    [anon_sym_defined_QMARK] = ACTIONS(8826),
    [anon_sym_not] = ACTIONS(8828),
    [anon_sym_BANG] = ACTIONS(8830),
    [anon_sym_TILDE] = ACTIONS(8830),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [9532] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(11933),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(1139),
    [sym_call] = STATE(1139),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(6367),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6368),
    [sym__variable] = STATE(1139),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(8822),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_yield] = ACTIONS(1828),
    [anon_sym_break] = ACTIONS(1830),
    [anon_sym_next] = ACTIONS(1832),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(8824),
    [anon_sym_defined_QMARK] = ACTIONS(8826),
    [anon_sym_not] = ACTIONS(8828),
    [anon_sym_BANG] = ACTIONS(8830),
    [anon_sym_TILDE] = ACTIONS(8830),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [9533] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(11934),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(1139),
    [sym_call] = STATE(1139),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(6367),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6368),
    [sym__variable] = STATE(1139),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(8822),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_yield] = ACTIONS(1828),
    [anon_sym_break] = ACTIONS(1830),
    [anon_sym_next] = ACTIONS(1832),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(8824),
    [anon_sym_defined_QMARK] = ACTIONS(8826),
    [anon_sym_not] = ACTIONS(8828),
    [anon_sym_BANG] = ACTIONS(8830),
    [anon_sym_TILDE] = ACTIONS(8830),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [9534] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(11935),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(1139),
    [sym_call] = STATE(1139),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(6367),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6368),
    [sym__variable] = STATE(1139),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(8822),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_yield] = ACTIONS(1828),
    [anon_sym_break] = ACTIONS(1830),
    [anon_sym_next] = ACTIONS(1832),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(8824),
    [anon_sym_defined_QMARK] = ACTIONS(8826),
    [anon_sym_not] = ACTIONS(8828),
    [anon_sym_BANG] = ACTIONS(8830),
    [anon_sym_TILDE] = ACTIONS(8830),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [9535] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(11936),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(1139),
    [sym_call] = STATE(1139),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(6367),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6368),
    [sym__variable] = STATE(1139),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(8822),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_yield] = ACTIONS(1828),
    [anon_sym_break] = ACTIONS(1830),
    [anon_sym_next] = ACTIONS(1832),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(8824),
    [anon_sym_defined_QMARK] = ACTIONS(8826),
    [anon_sym_not] = ACTIONS(8828),
    [anon_sym_BANG] = ACTIONS(8830),
    [anon_sym_TILDE] = ACTIONS(8830),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [9536] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(6365),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(1139),
    [sym_call] = STATE(1139),
    [sym_method_call] = STATE(1138),
    [sym_splat_argument] = STATE(3168),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym__arg_or_splat_arg] = STATE(9428),
    [sym_left_assignment_list] = STATE(6367),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6368),
    [sym__variable] = STATE(1139),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__splat_star] = ACTIONS(8820),
    [sym__unary_minus] = ACTIONS(8822),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_yield] = ACTIONS(1828),
    [anon_sym_break] = ACTIONS(1830),
    [anon_sym_next] = ACTIONS(1832),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(8824),
    [anon_sym_defined_QMARK] = ACTIONS(8826),
    [anon_sym_not] = ACTIONS(8828),
    [anon_sym_BANG] = ACTIONS(8830),
    [anon_sym_TILDE] = ACTIONS(8830),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [9537] = {
    [sym__binary_minus] = ACTIONS(11422),
    [sym__binary_star] = ACTIONS(11422),
    [anon_sym_RPAREN] = ACTIONS(11422),
    [anon_sym_COMMA] = ACTIONS(14790),
    [anon_sym_PIPE] = ACTIONS(11426),
    [anon_sym_STAR_STAR] = ACTIONS(11422),
    [anon_sym_AMP] = ACTIONS(11426),
    [anon_sym_LT] = ACTIONS(11426),
    [anon_sym_QMARK] = ACTIONS(11422),
    [anon_sym_DOT_DOT] = ACTIONS(11426),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11422),
    [anon_sym_and] = ACTIONS(11422),
    [anon_sym_or] = ACTIONS(11422),
    [anon_sym_PIPE_PIPE] = ACTIONS(11422),
    [anon_sym_AMP_AMP] = ACTIONS(11422),
    [anon_sym_LT_LT] = ACTIONS(11422),
    [anon_sym_GT_GT] = ACTIONS(11422),
    [anon_sym_EQ_EQ] = ACTIONS(11426),
    [anon_sym_BANG_EQ] = ACTIONS(11422),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11422),
    [anon_sym_LT_EQ_GT] = ACTIONS(11422),
    [anon_sym_EQ_TILDE] = ACTIONS(11422),
    [anon_sym_BANG_TILDE] = ACTIONS(11422),
    [anon_sym_LT_EQ] = ACTIONS(11426),
    [anon_sym_GT] = ACTIONS(11426),
    [anon_sym_GT_EQ] = ACTIONS(11422),
    [anon_sym_CARET] = ACTIONS(11422),
    [anon_sym_PLUS] = ACTIONS(11422),
    [anon_sym_SLASH] = ACTIONS(11422),
    [anon_sym_PERCENT] = ACTIONS(11422),
    [sym_comment] = ACTIONS(110),
  },
  [9538] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(6365),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(1139),
    [sym_call] = STATE(1139),
    [sym_method_call] = STATE(1138),
    [sym_splat_argument] = STATE(3168),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_right_assignment_list] = STATE(3169),
    [sym__arg_or_splat_arg] = STATE(11938),
    [sym_left_assignment_list] = STATE(6367),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6368),
    [sym__variable] = STATE(1139),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__splat_star] = ACTIONS(8820),
    [sym__unary_minus] = ACTIONS(8822),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_yield] = ACTIONS(1828),
    [anon_sym_break] = ACTIONS(1830),
    [anon_sym_next] = ACTIONS(1832),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(8824),
    [anon_sym_defined_QMARK] = ACTIONS(8826),
    [anon_sym_not] = ACTIONS(8828),
    [anon_sym_BANG] = ACTIONS(8830),
    [anon_sym_TILDE] = ACTIONS(8830),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [9539] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(11939),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(1139),
    [sym_call] = STATE(1139),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(6367),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6368),
    [sym__variable] = STATE(1139),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(8822),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_yield] = ACTIONS(1828),
    [anon_sym_break] = ACTIONS(1830),
    [anon_sym_next] = ACTIONS(1832),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(8824),
    [anon_sym_defined_QMARK] = ACTIONS(8826),
    [anon_sym_not] = ACTIONS(8828),
    [anon_sym_BANG] = ACTIONS(8830),
    [anon_sym_TILDE] = ACTIONS(8830),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [9540] = {
    [sym__simple_string] = ACTIONS(14792),
    [sym__simple_symbol] = ACTIONS(14792),
    [sym__simple_subshell] = ACTIONS(14792),
    [sym__simple_regex] = ACTIONS(14792),
    [sym__simple_word_list] = ACTIONS(14792),
    [sym__string_beginning] = ACTIONS(14792),
    [sym__symbol_beginning] = ACTIONS(14792),
    [sym__subshell_beginning] = ACTIONS(14792),
    [sym__regex_beginning] = ACTIONS(14792),
    [sym__word_list_beginning] = ACTIONS(14792),
    [sym_heredoc_beginning] = ACTIONS(14792),
    [sym__unary_minus] = ACTIONS(14792),
    [anon_sym_BEGIN] = ACTIONS(14794),
    [anon_sym_LBRACE] = ACTIONS(14792),
    [anon_sym_END] = ACTIONS(14794),
    [anon_sym_def] = ACTIONS(14794),
    [anon_sym_LPAREN] = ACTIONS(14792),
    [anon_sym_COLON_COLON] = ACTIONS(14792),
    [anon_sym_end] = ACTIONS(14794),
    [anon_sym_SEMI] = ACTIONS(14792),
    [anon_sym_STAR] = ACTIONS(14792),
    [anon_sym_class] = ACTIONS(14794),
    [anon_sym_module] = ACTIONS(14794),
    [anon_sym_return] = ACTIONS(14794),
    [anon_sym_yield] = ACTIONS(14794),
    [anon_sym_break] = ACTIONS(14794),
    [anon_sym_next] = ACTIONS(14794),
    [anon_sym_redo] = ACTIONS(14794),
    [anon_sym_retry] = ACTIONS(14794),
    [anon_sym_if] = ACTIONS(14794),
    [anon_sym_unless] = ACTIONS(14794),
    [anon_sym_while] = ACTIONS(14794),
    [anon_sym_until] = ACTIONS(14794),
    [anon_sym_rescue] = ACTIONS(14794),
    [anon_sym_for] = ACTIONS(14794),
    [anon_sym_case] = ACTIONS(14794),
    [anon_sym_else] = ACTIONS(14794),
    [anon_sym_begin] = ACTIONS(14794),
    [anon_sym_ensure] = ACTIONS(14794),
    [anon_sym_PLUS] = ACTIONS(14794),
    [anon_sym_defined_QMARK] = ACTIONS(14792),
    [anon_sym_not] = ACTIONS(14794),
    [anon_sym_BANG] = ACTIONS(14792),
    [anon_sym_TILDE] = ACTIONS(14792),
    [sym_constant] = ACTIONS(14796),
    [sym_identifier] = ACTIONS(14796),
    [sym_instance_variable] = ACTIONS(14794),
    [sym_class_variable] = ACTIONS(14794),
    [sym_global_variable] = ACTIONS(14794),
    [anon_sym_alias] = ACTIONS(14794),
    [anon_sym_false] = ACTIONS(14794),
    [anon_sym_nil] = ACTIONS(14794),
    [anon_sym_self] = ACTIONS(14794),
    [anon_sym_super] = ACTIONS(14794),
    [anon_sym_true] = ACTIONS(14794),
    [anon_sym_undef] = ACTIONS(14794),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(14794),
    [sym_float] = ACTIONS(14796),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(14792),
    [anon_sym_TRUE] = ACTIONS(14794),
    [anon_sym_FALSE] = ACTIONS(14794),
    [anon_sym_NIL] = ACTIONS(14794),
    [sym_keyword__FILE__] = ACTIONS(14794),
    [sym_keyword__LINE__] = ACTIONS(14794),
    [sym_keyword__ENCODING__] = ACTIONS(14794),
    [sym__character_literal] = ACTIONS(14794),
    [anon_sym_LBRACK] = ACTIONS(14792),
    [anon_sym_DASH_GT] = ACTIONS(14792),
  },
  [9541] = {
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(11940),
    [sym__simple_string] = ACTIONS(14792),
    [sym__simple_symbol] = ACTIONS(14792),
    [sym__simple_subshell] = ACTIONS(14792),
    [sym__simple_regex] = ACTIONS(14792),
    [sym__simple_word_list] = ACTIONS(14792),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__string_beginning] = ACTIONS(14792),
    [sym__symbol_beginning] = ACTIONS(14792),
    [sym__subshell_beginning] = ACTIONS(14792),
    [sym__regex_beginning] = ACTIONS(14792),
    [sym__word_list_beginning] = ACTIONS(14792),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym_heredoc_beginning] = ACTIONS(14792),
    [sym__line_break] = ACTIONS(692),
    [sym__unary_minus] = ACTIONS(14792),
    [anon_sym_BEGIN] = ACTIONS(14794),
    [anon_sym_LBRACE] = ACTIONS(14792),
    [anon_sym_END] = ACTIONS(14794),
    [anon_sym_def] = ACTIONS(14794),
    [anon_sym_LPAREN] = ACTIONS(14792),
    [anon_sym_COLON_COLON] = ACTIONS(14792),
    [anon_sym_end] = ACTIONS(14794),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR] = ACTIONS(14792),
    [anon_sym_class] = ACTIONS(14794),
    [anon_sym_module] = ACTIONS(14794),
    [anon_sym_return] = ACTIONS(14794),
    [anon_sym_yield] = ACTIONS(14794),
    [anon_sym_break] = ACTIONS(14794),
    [anon_sym_next] = ACTIONS(14794),
    [anon_sym_redo] = ACTIONS(14794),
    [anon_sym_retry] = ACTIONS(14794),
    [anon_sym_if] = ACTIONS(14794),
    [anon_sym_unless] = ACTIONS(14794),
    [anon_sym_while] = ACTIONS(14794),
    [anon_sym_until] = ACTIONS(14794),
    [anon_sym_rescue] = ACTIONS(14794),
    [anon_sym_for] = ACTIONS(14794),
    [anon_sym_case] = ACTIONS(14794),
    [anon_sym_else] = ACTIONS(14794),
    [anon_sym_begin] = ACTIONS(14794),
    [anon_sym_ensure] = ACTIONS(14794),
    [anon_sym_PLUS] = ACTIONS(14794),
    [anon_sym_defined_QMARK] = ACTIONS(14792),
    [anon_sym_not] = ACTIONS(14794),
    [anon_sym_BANG] = ACTIONS(14792),
    [anon_sym_TILDE] = ACTIONS(14792),
    [sym_constant] = ACTIONS(14796),
    [sym_identifier] = ACTIONS(14796),
    [sym_instance_variable] = ACTIONS(14794),
    [sym_class_variable] = ACTIONS(14794),
    [sym_global_variable] = ACTIONS(14794),
    [anon_sym_alias] = ACTIONS(14794),
    [anon_sym_false] = ACTIONS(14794),
    [anon_sym_nil] = ACTIONS(14794),
    [anon_sym_self] = ACTIONS(14794),
    [anon_sym_super] = ACTIONS(14794),
    [anon_sym_true] = ACTIONS(14794),
    [anon_sym_undef] = ACTIONS(14794),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(14794),
    [sym_float] = ACTIONS(14796),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(14792),
    [anon_sym_TRUE] = ACTIONS(14794),
    [anon_sym_FALSE] = ACTIONS(14794),
    [anon_sym_NIL] = ACTIONS(14794),
    [sym_keyword__FILE__] = ACTIONS(14794),
    [sym_keyword__LINE__] = ACTIONS(14794),
    [sym_keyword__ENCODING__] = ACTIONS(14794),
    [sym__character_literal] = ACTIONS(14794),
    [anon_sym_LBRACK] = ACTIONS(14792),
    [anon_sym_DASH_GT] = ACTIONS(14792),
  },
  [9542] = {
    [sym__simple_heredoc_body] = ACTIONS(6902),
    [sym__heredoc_body_beginning] = ACTIONS(6902),
    [sym__line_break] = ACTIONS(6902),
    [anon_sym_COMMA] = ACTIONS(6902),
    [anon_sym_SEMI] = ACTIONS(6902),
    [sym_comment] = ACTIONS(110),
  },
  [9543] = {
    [anon_sym_RBRACE] = ACTIONS(14798),
    [sym_comment] = ACTIONS(110),
  },
  [9544] = {
    [sym__statements] = STATE(11942),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(841),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(14798),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9545] = {
    [sym__simple_heredoc_body] = ACTIONS(6942),
    [sym__heredoc_body_beginning] = ACTIONS(6942),
    [sym__line_break] = ACTIONS(6942),
    [anon_sym_COMMA] = ACTIONS(6942),
    [anon_sym_SEMI] = ACTIONS(6942),
    [sym_comment] = ACTIONS(110),
  },
  [9546] = {
    [anon_sym_end] = ACTIONS(14800),
    [sym_comment] = ACTIONS(110),
  },
  [9547] = {
    [sym__statements] = STATE(11944),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(11945),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14802),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9548] = {
    [sym__statements] = STATE(11944),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(11946),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(11945),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14802),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9549] = {
    [sym__simple_heredoc_body] = ACTIONS(6980),
    [sym__heredoc_body_beginning] = ACTIONS(6980),
    [sym__line_break] = ACTIONS(6980),
    [anon_sym_COMMA] = ACTIONS(6980),
    [anon_sym_SEMI] = ACTIONS(6980),
    [sym_comment] = ACTIONS(110),
  },
  [9550] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(12446),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [9551] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(12446),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [9552] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(12440),
    [sym__binary_star] = ACTIONS(12442),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(12444),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(12446),
    [anon_sym_AMP] = ACTIONS(12448),
    [anon_sym_LT] = ACTIONS(12450),
    [anon_sym_QMARK] = ACTIONS(12452),
    [anon_sym_DOT_DOT] = ACTIONS(12454),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12456),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(12460),
    [anon_sym_AMP_AMP] = ACTIONS(12460),
    [anon_sym_LT_LT] = ACTIONS(12462),
    [anon_sym_GT_GT] = ACTIONS(12462),
    [anon_sym_EQ_EQ] = ACTIONS(12464),
    [anon_sym_BANG_EQ] = ACTIONS(12460),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12460),
    [anon_sym_LT_EQ_GT] = ACTIONS(12460),
    [anon_sym_EQ_TILDE] = ACTIONS(12460),
    [anon_sym_BANG_TILDE] = ACTIONS(12460),
    [anon_sym_LT_EQ] = ACTIONS(12450),
    [anon_sym_GT] = ACTIONS(12450),
    [anon_sym_GT_EQ] = ACTIONS(12466),
    [anon_sym_CARET] = ACTIONS(12468),
    [anon_sym_PLUS] = ACTIONS(12470),
    [anon_sym_SLASH] = ACTIONS(12446),
    [anon_sym_PERCENT] = ACTIONS(12446),
    [sym_comment] = ACTIONS(110),
  },
  [9553] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(11947),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(6382),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6383),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(8848),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(8850),
    [anon_sym_defined_QMARK] = ACTIONS(8852),
    [anon_sym_not] = ACTIONS(8854),
    [anon_sym_BANG] = ACTIONS(8856),
    [anon_sym_TILDE] = ACTIONS(8856),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9554] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(11948),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(6382),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6383),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(8848),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(8850),
    [anon_sym_defined_QMARK] = ACTIONS(8852),
    [anon_sym_not] = ACTIONS(8854),
    [anon_sym_BANG] = ACTIONS(8856),
    [anon_sym_TILDE] = ACTIONS(8856),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9555] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(11949),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(6382),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6383),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(8848),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(8850),
    [anon_sym_defined_QMARK] = ACTIONS(8852),
    [anon_sym_not] = ACTIONS(8854),
    [anon_sym_BANG] = ACTIONS(8856),
    [anon_sym_TILDE] = ACTIONS(8856),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9556] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(11950),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(6382),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6383),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(8848),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(8850),
    [anon_sym_defined_QMARK] = ACTIONS(8852),
    [anon_sym_not] = ACTIONS(8854),
    [anon_sym_BANG] = ACTIONS(8856),
    [anon_sym_TILDE] = ACTIONS(8856),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9557] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(11951),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(6382),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6383),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(8848),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(8850),
    [anon_sym_defined_QMARK] = ACTIONS(8852),
    [anon_sym_not] = ACTIONS(8854),
    [anon_sym_BANG] = ACTIONS(8856),
    [anon_sym_TILDE] = ACTIONS(8856),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9558] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(11952),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(6382),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6383),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(8848),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(8850),
    [anon_sym_defined_QMARK] = ACTIONS(8852),
    [anon_sym_not] = ACTIONS(8854),
    [anon_sym_BANG] = ACTIONS(8856),
    [anon_sym_TILDE] = ACTIONS(8856),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9559] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(11953),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [9560] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(11954),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(6382),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6383),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(8848),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(8850),
    [anon_sym_defined_QMARK] = ACTIONS(8852),
    [anon_sym_not] = ACTIONS(8854),
    [anon_sym_BANG] = ACTIONS(8856),
    [anon_sym_TILDE] = ACTIONS(8856),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9561] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(11955),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(6382),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6383),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(8848),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(8850),
    [anon_sym_defined_QMARK] = ACTIONS(8852),
    [anon_sym_not] = ACTIONS(8854),
    [anon_sym_BANG] = ACTIONS(8856),
    [anon_sym_TILDE] = ACTIONS(8856),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9562] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(11956),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(6382),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6383),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(8848),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(8850),
    [anon_sym_defined_QMARK] = ACTIONS(8852),
    [anon_sym_not] = ACTIONS(8854),
    [anon_sym_BANG] = ACTIONS(8856),
    [anon_sym_TILDE] = ACTIONS(8856),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9563] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(11957),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(6382),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6383),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(8848),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(8850),
    [anon_sym_defined_QMARK] = ACTIONS(8852),
    [anon_sym_not] = ACTIONS(8854),
    [anon_sym_BANG] = ACTIONS(8856),
    [anon_sym_TILDE] = ACTIONS(8856),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9564] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(11958),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(6382),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6383),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(8848),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(8850),
    [anon_sym_defined_QMARK] = ACTIONS(8852),
    [anon_sym_not] = ACTIONS(8854),
    [anon_sym_BANG] = ACTIONS(8856),
    [anon_sym_TILDE] = ACTIONS(8856),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9565] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6800),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_splat_argument] = STATE(2211),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_right_assignment_list] = STATE(2212),
    [sym__arg_or_splat_arg] = STATE(11959),
    [sym_left_assignment_list] = STATE(6382),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6383),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(9334),
    [sym__unary_minus] = ACTIONS(8848),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(8850),
    [anon_sym_defined_QMARK] = ACTIONS(8852),
    [anon_sym_not] = ACTIONS(8854),
    [anon_sym_BANG] = ACTIONS(8856),
    [anon_sym_TILDE] = ACTIONS(8856),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9566] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(11960),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(6382),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6383),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(8848),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(8850),
    [anon_sym_defined_QMARK] = ACTIONS(8852),
    [anon_sym_not] = ACTIONS(8854),
    [anon_sym_BANG] = ACTIONS(8856),
    [anon_sym_TILDE] = ACTIONS(8856),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9567] = {
    [aux_sym_method_parameters_repeat1] = STATE(11962),
    [anon_sym_RPAREN] = ACTIONS(14804),
    [anon_sym_COMMA] = ACTIONS(6928),
    [sym_comment] = ACTIONS(110),
  },
  [9568] = {
    [sym__formal_parameter] = STATE(11963),
    [sym__simple_formal_parameter] = STATE(6388),
    [sym_destructured_parameter] = STATE(6388),
    [sym_splat_parameter] = STATE(1151),
    [sym_hash_splat_parameter] = STATE(1151),
    [sym_block_parameter] = STATE(1151),
    [sym_keyword_parameter] = STATE(1151),
    [sym_optional_parameter] = STATE(1151),
    [anon_sym_LPAREN] = ACTIONS(8864),
    [anon_sym_STAR] = ACTIONS(1874),
    [anon_sym_STAR_STAR] = ACTIONS(1876),
    [anon_sym_AMP] = ACTIONS(1878),
    [sym_identifier] = ACTIONS(1880),
    [sym_comment] = ACTIONS(110),
  },
  [9569] = {
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(11940),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym__line_break] = ACTIONS(692),
    [anon_sym_COMMA] = ACTIONS(14806),
    [anon_sym_SEMI] = ACTIONS(692),
    [sym_comment] = ACTIONS(110),
  },
  [9570] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_LBRACE] = ACTIONS(1372),
    [anon_sym_RPAREN] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_STAR_STAR] = ACTIONS(12496),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_EQ] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_do] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(256),
  },
  [9571] = {
    [sym_method] = STATE(3490),
    [sym_singleton_method] = STATE(3490),
    [sym_class] = STATE(3490),
    [sym_singleton_class] = STATE(3490),
    [sym_module] = STATE(3490),
    [sym_return] = STATE(3490),
    [sym_yield] = STATE(3490),
    [sym_break] = STATE(3490),
    [sym_next] = STATE(3490),
    [sym_redo] = STATE(3490),
    [sym_retry] = STATE(3490),
    [sym_while] = STATE(3490),
    [sym_until] = STATE(3490),
    [sym_for] = STATE(3490),
    [sym_case] = STATE(3490),
    [sym_if] = STATE(3490),
    [sym_unless] = STATE(3490),
    [sym_begin] = STATE(3490),
    [sym__arg] = STATE(11965),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(3490),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6321),
    [sym_call] = STATE(6321),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(3519),
    [sym_operator_assignment] = STATE(3519),
    [sym_conditional] = STATE(3519),
    [sym_range] = STATE(3519),
    [sym_binary] = STATE(3519),
    [sym_unary] = STATE(3519),
    [sym_left_assignment_list] = STATE(6398),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6399),
    [sym__variable] = STATE(6321),
    [sym_symbol] = STATE(3490),
    [sym_complex] = STATE(3490),
    [sym_rational] = STATE(3490),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(3490),
    [sym_string] = STATE(3522),
    [sym_subshell] = STATE(3490),
    [sym_array] = STATE(3490),
    [sym_hash] = STATE(3490),
    [sym_regex] = STATE(3490),
    [sym_lambda] = STATE(3490),
    [sym__simple_string] = ACTIONS(5000),
    [sym__simple_symbol] = ACTIONS(5002),
    [sym__simple_subshell] = ACTIONS(5004),
    [sym__simple_regex] = ACTIONS(5006),
    [sym__simple_word_list] = ACTIONS(5008),
    [sym__string_beginning] = ACTIONS(5010),
    [sym__symbol_beginning] = ACTIONS(5012),
    [sym__subshell_beginning] = ACTIONS(5014),
    [sym__regex_beginning] = ACTIONS(5016),
    [sym__word_list_beginning] = ACTIONS(5018),
    [sym_heredoc_beginning] = ACTIONS(5020),
    [sym__unary_minus] = ACTIONS(8866),
    [anon_sym_LBRACE] = ACTIONS(5024),
    [anon_sym_def] = ACTIONS(5026),
    [anon_sym_LPAREN] = ACTIONS(5028),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(5030),
    [anon_sym_module] = ACTIONS(5032),
    [anon_sym_return] = ACTIONS(8868),
    [anon_sym_yield] = ACTIONS(8870),
    [anon_sym_break] = ACTIONS(8872),
    [anon_sym_next] = ACTIONS(8874),
    [anon_sym_redo] = ACTIONS(5042),
    [anon_sym_retry] = ACTIONS(5044),
    [anon_sym_if] = ACTIONS(5046),
    [anon_sym_unless] = ACTIONS(5048),
    [anon_sym_while] = ACTIONS(5050),
    [anon_sym_until] = ACTIONS(5052),
    [anon_sym_for] = ACTIONS(5054),
    [anon_sym_case] = ACTIONS(5056),
    [anon_sym_begin] = ACTIONS(5058),
    [anon_sym_PLUS] = ACTIONS(8876),
    [anon_sym_defined_QMARK] = ACTIONS(8878),
    [anon_sym_not] = ACTIONS(8880),
    [anon_sym_BANG] = ACTIONS(8882),
    [anon_sym_TILDE] = ACTIONS(8882),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5068),
    [sym_float] = ACTIONS(5070),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5072),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(5074),
    [sym_keyword__LINE__] = ACTIONS(5074),
    [sym_keyword__ENCODING__] = ACTIONS(5074),
    [sym__character_literal] = ACTIONS(5076),
    [anon_sym_LBRACK] = ACTIONS(5078),
    [anon_sym_DASH_GT] = ACTIONS(5080),
  },
  [9572] = {
    [sym_method] = STATE(3490),
    [sym_singleton_method] = STATE(3490),
    [sym_class] = STATE(3490),
    [sym_singleton_class] = STATE(3490),
    [sym_module] = STATE(3490),
    [sym_return] = STATE(3490),
    [sym_yield] = STATE(3490),
    [sym_break] = STATE(3490),
    [sym_next] = STATE(3490),
    [sym_redo] = STATE(3490),
    [sym_retry] = STATE(3490),
    [sym_while] = STATE(3490),
    [sym_until] = STATE(3490),
    [sym_for] = STATE(3490),
    [sym_case] = STATE(3490),
    [sym_if] = STATE(3490),
    [sym_unless] = STATE(3490),
    [sym_begin] = STATE(3490),
    [sym__arg] = STATE(11966),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(3490),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6321),
    [sym_call] = STATE(6321),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(3519),
    [sym_operator_assignment] = STATE(3519),
    [sym_conditional] = STATE(3519),
    [sym_range] = STATE(3519),
    [sym_binary] = STATE(3519),
    [sym_unary] = STATE(3519),
    [sym_left_assignment_list] = STATE(6398),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6399),
    [sym__variable] = STATE(6321),
    [sym_symbol] = STATE(3490),
    [sym_complex] = STATE(3490),
    [sym_rational] = STATE(3490),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(3490),
    [sym_string] = STATE(3522),
    [sym_subshell] = STATE(3490),
    [sym_array] = STATE(3490),
    [sym_hash] = STATE(3490),
    [sym_regex] = STATE(3490),
    [sym_lambda] = STATE(3490),
    [sym__simple_string] = ACTIONS(5000),
    [sym__simple_symbol] = ACTIONS(5002),
    [sym__simple_subshell] = ACTIONS(5004),
    [sym__simple_regex] = ACTIONS(5006),
    [sym__simple_word_list] = ACTIONS(5008),
    [sym__string_beginning] = ACTIONS(5010),
    [sym__symbol_beginning] = ACTIONS(5012),
    [sym__subshell_beginning] = ACTIONS(5014),
    [sym__regex_beginning] = ACTIONS(5016),
    [sym__word_list_beginning] = ACTIONS(5018),
    [sym_heredoc_beginning] = ACTIONS(5020),
    [sym__unary_minus] = ACTIONS(8866),
    [anon_sym_LBRACE] = ACTIONS(5024),
    [anon_sym_def] = ACTIONS(5026),
    [anon_sym_LPAREN] = ACTIONS(5028),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(5030),
    [anon_sym_module] = ACTIONS(5032),
    [anon_sym_return] = ACTIONS(8868),
    [anon_sym_yield] = ACTIONS(8870),
    [anon_sym_break] = ACTIONS(8872),
    [anon_sym_next] = ACTIONS(8874),
    [anon_sym_redo] = ACTIONS(5042),
    [anon_sym_retry] = ACTIONS(5044),
    [anon_sym_if] = ACTIONS(5046),
    [anon_sym_unless] = ACTIONS(5048),
    [anon_sym_while] = ACTIONS(5050),
    [anon_sym_until] = ACTIONS(5052),
    [anon_sym_for] = ACTIONS(5054),
    [anon_sym_case] = ACTIONS(5056),
    [anon_sym_begin] = ACTIONS(5058),
    [anon_sym_PLUS] = ACTIONS(8876),
    [anon_sym_defined_QMARK] = ACTIONS(8878),
    [anon_sym_not] = ACTIONS(8880),
    [anon_sym_BANG] = ACTIONS(8882),
    [anon_sym_TILDE] = ACTIONS(8882),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5068),
    [sym_float] = ACTIONS(5070),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5072),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(5074),
    [sym_keyword__LINE__] = ACTIONS(5074),
    [sym_keyword__ENCODING__] = ACTIONS(5074),
    [sym__character_literal] = ACTIONS(5076),
    [anon_sym_LBRACK] = ACTIONS(5078),
    [anon_sym_DASH_GT] = ACTIONS(5080),
  },
  [9573] = {
    [sym_method] = STATE(3490),
    [sym_singleton_method] = STATE(3490),
    [sym_class] = STATE(3490),
    [sym_singleton_class] = STATE(3490),
    [sym_module] = STATE(3490),
    [sym_return] = STATE(3490),
    [sym_yield] = STATE(3490),
    [sym_break] = STATE(3490),
    [sym_next] = STATE(3490),
    [sym_redo] = STATE(3490),
    [sym_retry] = STATE(3490),
    [sym_while] = STATE(3490),
    [sym_until] = STATE(3490),
    [sym_for] = STATE(3490),
    [sym_case] = STATE(3490),
    [sym_if] = STATE(3490),
    [sym_unless] = STATE(3490),
    [sym_begin] = STATE(3490),
    [sym__arg] = STATE(11967),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(3490),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6321),
    [sym_call] = STATE(6321),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(3519),
    [sym_operator_assignment] = STATE(3519),
    [sym_conditional] = STATE(3519),
    [sym_range] = STATE(3519),
    [sym_binary] = STATE(3519),
    [sym_unary] = STATE(3519),
    [sym_left_assignment_list] = STATE(6398),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6399),
    [sym__variable] = STATE(6321),
    [sym_symbol] = STATE(3490),
    [sym_complex] = STATE(3490),
    [sym_rational] = STATE(3490),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(3490),
    [sym_string] = STATE(3522),
    [sym_subshell] = STATE(3490),
    [sym_array] = STATE(3490),
    [sym_hash] = STATE(3490),
    [sym_regex] = STATE(3490),
    [sym_lambda] = STATE(3490),
    [sym__simple_string] = ACTIONS(5000),
    [sym__simple_symbol] = ACTIONS(5002),
    [sym__simple_subshell] = ACTIONS(5004),
    [sym__simple_regex] = ACTIONS(5006),
    [sym__simple_word_list] = ACTIONS(5008),
    [sym__string_beginning] = ACTIONS(5010),
    [sym__symbol_beginning] = ACTIONS(5012),
    [sym__subshell_beginning] = ACTIONS(5014),
    [sym__regex_beginning] = ACTIONS(5016),
    [sym__word_list_beginning] = ACTIONS(5018),
    [sym_heredoc_beginning] = ACTIONS(5020),
    [sym__unary_minus] = ACTIONS(8866),
    [anon_sym_LBRACE] = ACTIONS(5024),
    [anon_sym_def] = ACTIONS(5026),
    [anon_sym_LPAREN] = ACTIONS(5028),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(5030),
    [anon_sym_module] = ACTIONS(5032),
    [anon_sym_return] = ACTIONS(8868),
    [anon_sym_yield] = ACTIONS(8870),
    [anon_sym_break] = ACTIONS(8872),
    [anon_sym_next] = ACTIONS(8874),
    [anon_sym_redo] = ACTIONS(5042),
    [anon_sym_retry] = ACTIONS(5044),
    [anon_sym_if] = ACTIONS(5046),
    [anon_sym_unless] = ACTIONS(5048),
    [anon_sym_while] = ACTIONS(5050),
    [anon_sym_until] = ACTIONS(5052),
    [anon_sym_for] = ACTIONS(5054),
    [anon_sym_case] = ACTIONS(5056),
    [anon_sym_begin] = ACTIONS(5058),
    [anon_sym_PLUS] = ACTIONS(8876),
    [anon_sym_defined_QMARK] = ACTIONS(8878),
    [anon_sym_not] = ACTIONS(8880),
    [anon_sym_BANG] = ACTIONS(8882),
    [anon_sym_TILDE] = ACTIONS(8882),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5068),
    [sym_float] = ACTIONS(5070),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5072),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(5074),
    [sym_keyword__LINE__] = ACTIONS(5074),
    [sym_keyword__ENCODING__] = ACTIONS(5074),
    [sym__character_literal] = ACTIONS(5076),
    [anon_sym_LBRACK] = ACTIONS(5078),
    [anon_sym_DASH_GT] = ACTIONS(5080),
  },
  [9574] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(14808),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_RPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [9575] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(8904),
    [sym__binary_star] = ACTIONS(8906),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_RPAREN] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(8908),
    [anon_sym_STAR_STAR] = ACTIONS(8910),
    [anon_sym_AMP] = ACTIONS(8912),
    [anon_sym_EQ] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(8914),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(14808),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(8916),
    [anon_sym_DOT_DOT] = ACTIONS(8918),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8920),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(8924),
    [anon_sym_AMP_AMP] = ACTIONS(8924),
    [anon_sym_LT_LT] = ACTIONS(8926),
    [anon_sym_GT_GT] = ACTIONS(8926),
    [anon_sym_EQ_EQ] = ACTIONS(8928),
    [anon_sym_BANG_EQ] = ACTIONS(8924),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8924),
    [anon_sym_LT_EQ_GT] = ACTIONS(8924),
    [anon_sym_EQ_TILDE] = ACTIONS(8924),
    [anon_sym_BANG_TILDE] = ACTIONS(8924),
    [anon_sym_LT_EQ] = ACTIONS(8914),
    [anon_sym_GT] = ACTIONS(8914),
    [anon_sym_GT_EQ] = ACTIONS(8930),
    [anon_sym_CARET] = ACTIONS(8932),
    [anon_sym_PLUS] = ACTIONS(8934),
    [anon_sym_SLASH] = ACTIONS(8910),
    [anon_sym_PERCENT] = ACTIONS(8910),
    [sym_comment] = ACTIONS(256),
  },
  [9576] = {
    [sym_heredoc_end] = STATE(9788),
    [aux_sym_argument_list_repeat1] = STATE(11970),
    [aux_sym_argument_list_repeat2] = STATE(9789),
    [sym__simple_heredoc_body] = ACTIONS(12650),
    [sym__heredoc_body_beginning] = ACTIONS(12652),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_RPAREN] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_COMMA] = ACTIONS(14810),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_STAR_STAR] = ACTIONS(2272),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_EQ] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2272),
    [anon_sym_AMP_AMP] = ACTIONS(2272),
    [anon_sym_LT_LT] = ACTIONS(2272),
    [anon_sym_GT_GT] = ACTIONS(2272),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2272),
    [anon_sym_PLUS] = ACTIONS(2272),
    [anon_sym_SLASH] = ACTIONS(2272),
    [anon_sym_PERCENT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(256),
  },
  [9577] = {
    [sym__keyword_colon] = ACTIONS(14812),
    [sym_comment] = ACTIONS(110),
  },
  [9578] = {
    [sym_string] = STATE(1962),
    [aux_sym_chained_string_repeat1] = STATE(1963),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(14808),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_RPAREN] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(1626),
  },
  [9579] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_RPAREN] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_STAR_STAR] = ACTIONS(12496),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(256),
  },
  [9580] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(12490),
    [sym__binary_star] = ACTIONS(12492),
    [anon_sym_LBRACE] = ACTIONS(2870),
    [anon_sym_RPAREN] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(12494),
    [anon_sym_STAR_STAR] = ACTIONS(12496),
    [anon_sym_AMP] = ACTIONS(12498),
    [anon_sym_EQ] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(12500),
    [anon_sym_do] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(12502),
    [anon_sym_DOT_DOT] = ACTIONS(12504),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12506),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(12510),
    [anon_sym_AMP_AMP] = ACTIONS(12510),
    [anon_sym_LT_LT] = ACTIONS(12512),
    [anon_sym_GT_GT] = ACTIONS(12512),
    [anon_sym_EQ_EQ] = ACTIONS(12514),
    [anon_sym_BANG_EQ] = ACTIONS(12510),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12510),
    [anon_sym_LT_EQ_GT] = ACTIONS(12510),
    [anon_sym_EQ_TILDE] = ACTIONS(12510),
    [anon_sym_BANG_TILDE] = ACTIONS(12510),
    [anon_sym_LT_EQ] = ACTIONS(12500),
    [anon_sym_GT] = ACTIONS(12500),
    [anon_sym_GT_EQ] = ACTIONS(12516),
    [anon_sym_CARET] = ACTIONS(12518),
    [anon_sym_PLUS] = ACTIONS(12520),
    [anon_sym_SLASH] = ACTIONS(12496),
    [anon_sym_PERCENT] = ACTIONS(12496),
    [sym_comment] = ACTIONS(256),
  },
  [9581] = {
    [sym_method] = STATE(3490),
    [sym_singleton_method] = STATE(3490),
    [sym_class] = STATE(3490),
    [sym_singleton_class] = STATE(3490),
    [sym_module] = STATE(3490),
    [sym_return] = STATE(3490),
    [sym_yield] = STATE(3490),
    [sym_break] = STATE(3490),
    [sym_next] = STATE(3490),
    [sym_redo] = STATE(3490),
    [sym_retry] = STATE(3490),
    [sym_while] = STATE(3490),
    [sym_until] = STATE(3490),
    [sym_for] = STATE(3490),
    [sym_case] = STATE(3490),
    [sym_if] = STATE(3490),
    [sym_unless] = STATE(3490),
    [sym_begin] = STATE(3490),
    [sym__arg] = STATE(11972),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(3490),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6321),
    [sym_call] = STATE(6321),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(3519),
    [sym_operator_assignment] = STATE(3519),
    [sym_conditional] = STATE(3519),
    [sym_range] = STATE(3519),
    [sym_binary] = STATE(3519),
    [sym_unary] = STATE(3519),
    [sym_left_assignment_list] = STATE(6398),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6399),
    [sym__variable] = STATE(6321),
    [sym_symbol] = STATE(3490),
    [sym_complex] = STATE(3490),
    [sym_rational] = STATE(3490),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(3490),
    [sym_string] = STATE(3522),
    [sym_subshell] = STATE(3490),
    [sym_array] = STATE(3490),
    [sym_hash] = STATE(3490),
    [sym_regex] = STATE(3490),
    [sym_lambda] = STATE(3490),
    [sym__simple_string] = ACTIONS(5000),
    [sym__simple_symbol] = ACTIONS(5002),
    [sym__simple_subshell] = ACTIONS(5004),
    [sym__simple_regex] = ACTIONS(5006),
    [sym__simple_word_list] = ACTIONS(5008),
    [sym__string_beginning] = ACTIONS(5010),
    [sym__symbol_beginning] = ACTIONS(5012),
    [sym__subshell_beginning] = ACTIONS(5014),
    [sym__regex_beginning] = ACTIONS(5016),
    [sym__word_list_beginning] = ACTIONS(5018),
    [sym_heredoc_beginning] = ACTIONS(5020),
    [sym__unary_minus] = ACTIONS(8866),
    [anon_sym_LBRACE] = ACTIONS(5024),
    [anon_sym_def] = ACTIONS(5026),
    [anon_sym_LPAREN] = ACTIONS(5028),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(5030),
    [anon_sym_module] = ACTIONS(5032),
    [anon_sym_return] = ACTIONS(8868),
    [anon_sym_yield] = ACTIONS(8870),
    [anon_sym_break] = ACTIONS(8872),
    [anon_sym_next] = ACTIONS(8874),
    [anon_sym_redo] = ACTIONS(5042),
    [anon_sym_retry] = ACTIONS(5044),
    [anon_sym_if] = ACTIONS(5046),
    [anon_sym_unless] = ACTIONS(5048),
    [anon_sym_while] = ACTIONS(5050),
    [anon_sym_until] = ACTIONS(5052),
    [anon_sym_for] = ACTIONS(5054),
    [anon_sym_case] = ACTIONS(5056),
    [anon_sym_begin] = ACTIONS(5058),
    [anon_sym_PLUS] = ACTIONS(8876),
    [anon_sym_defined_QMARK] = ACTIONS(8878),
    [anon_sym_not] = ACTIONS(8880),
    [anon_sym_BANG] = ACTIONS(8882),
    [anon_sym_TILDE] = ACTIONS(8882),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5068),
    [sym_float] = ACTIONS(5070),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5072),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(5074),
    [sym_keyword__LINE__] = ACTIONS(5074),
    [sym_keyword__ENCODING__] = ACTIONS(5074),
    [sym__character_literal] = ACTIONS(5076),
    [anon_sym_LBRACK] = ACTIONS(5078),
    [anon_sym_DASH_GT] = ACTIONS(5080),
  },
  [9582] = {
    [sym_method] = STATE(3490),
    [sym_singleton_method] = STATE(3490),
    [sym_class] = STATE(3490),
    [sym_singleton_class] = STATE(3490),
    [sym_module] = STATE(3490),
    [sym_return] = STATE(3490),
    [sym_yield] = STATE(3490),
    [sym_break] = STATE(3490),
    [sym_next] = STATE(3490),
    [sym_redo] = STATE(3490),
    [sym_retry] = STATE(3490),
    [sym_while] = STATE(3490),
    [sym_until] = STATE(3490),
    [sym_for] = STATE(3490),
    [sym_case] = STATE(3490),
    [sym_if] = STATE(3490),
    [sym_unless] = STATE(3490),
    [sym_begin] = STATE(3490),
    [sym__arg] = STATE(11973),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(3490),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6321),
    [sym_call] = STATE(6321),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(3519),
    [sym_operator_assignment] = STATE(3519),
    [sym_conditional] = STATE(3519),
    [sym_range] = STATE(3519),
    [sym_binary] = STATE(3519),
    [sym_unary] = STATE(3519),
    [sym_left_assignment_list] = STATE(6398),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6399),
    [sym__variable] = STATE(6321),
    [sym_symbol] = STATE(3490),
    [sym_complex] = STATE(3490),
    [sym_rational] = STATE(3490),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(3490),
    [sym_string] = STATE(3522),
    [sym_subshell] = STATE(3490),
    [sym_array] = STATE(3490),
    [sym_hash] = STATE(3490),
    [sym_regex] = STATE(3490),
    [sym_lambda] = STATE(3490),
    [sym__simple_string] = ACTIONS(5000),
    [sym__simple_symbol] = ACTIONS(5002),
    [sym__simple_subshell] = ACTIONS(5004),
    [sym__simple_regex] = ACTIONS(5006),
    [sym__simple_word_list] = ACTIONS(5008),
    [sym__string_beginning] = ACTIONS(5010),
    [sym__symbol_beginning] = ACTIONS(5012),
    [sym__subshell_beginning] = ACTIONS(5014),
    [sym__regex_beginning] = ACTIONS(5016),
    [sym__word_list_beginning] = ACTIONS(5018),
    [sym_heredoc_beginning] = ACTIONS(5020),
    [sym__unary_minus] = ACTIONS(8866),
    [anon_sym_LBRACE] = ACTIONS(5024),
    [anon_sym_def] = ACTIONS(5026),
    [anon_sym_LPAREN] = ACTIONS(5028),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(5030),
    [anon_sym_module] = ACTIONS(5032),
    [anon_sym_return] = ACTIONS(8868),
    [anon_sym_yield] = ACTIONS(8870),
    [anon_sym_break] = ACTIONS(8872),
    [anon_sym_next] = ACTIONS(8874),
    [anon_sym_redo] = ACTIONS(5042),
    [anon_sym_retry] = ACTIONS(5044),
    [anon_sym_if] = ACTIONS(5046),
    [anon_sym_unless] = ACTIONS(5048),
    [anon_sym_while] = ACTIONS(5050),
    [anon_sym_until] = ACTIONS(5052),
    [anon_sym_for] = ACTIONS(5054),
    [anon_sym_case] = ACTIONS(5056),
    [anon_sym_begin] = ACTIONS(5058),
    [anon_sym_PLUS] = ACTIONS(8876),
    [anon_sym_defined_QMARK] = ACTIONS(8878),
    [anon_sym_not] = ACTIONS(8880),
    [anon_sym_BANG] = ACTIONS(8882),
    [anon_sym_TILDE] = ACTIONS(8882),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5068),
    [sym_float] = ACTIONS(5070),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5072),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(5074),
    [sym_keyword__LINE__] = ACTIONS(5074),
    [sym_keyword__ENCODING__] = ACTIONS(5074),
    [sym__character_literal] = ACTIONS(5076),
    [anon_sym_LBRACK] = ACTIONS(5078),
    [anon_sym_DASH_GT] = ACTIONS(5080),
  },
  [9583] = {
    [sym_method] = STATE(3490),
    [sym_singleton_method] = STATE(3490),
    [sym_class] = STATE(3490),
    [sym_singleton_class] = STATE(3490),
    [sym_module] = STATE(3490),
    [sym_return] = STATE(3490),
    [sym_yield] = STATE(3490),
    [sym_break] = STATE(3490),
    [sym_next] = STATE(3490),
    [sym_redo] = STATE(3490),
    [sym_retry] = STATE(3490),
    [sym_while] = STATE(3490),
    [sym_until] = STATE(3490),
    [sym_for] = STATE(3490),
    [sym_case] = STATE(3490),
    [sym_if] = STATE(3490),
    [sym_unless] = STATE(3490),
    [sym_begin] = STATE(3490),
    [sym__arg] = STATE(11974),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(3490),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6321),
    [sym_call] = STATE(6321),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(3519),
    [sym_operator_assignment] = STATE(3519),
    [sym_conditional] = STATE(3519),
    [sym_range] = STATE(3519),
    [sym_binary] = STATE(3519),
    [sym_unary] = STATE(3519),
    [sym_left_assignment_list] = STATE(6398),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6399),
    [sym__variable] = STATE(6321),
    [sym_symbol] = STATE(3490),
    [sym_complex] = STATE(3490),
    [sym_rational] = STATE(3490),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(3490),
    [sym_string] = STATE(3522),
    [sym_subshell] = STATE(3490),
    [sym_array] = STATE(3490),
    [sym_hash] = STATE(3490),
    [sym_regex] = STATE(3490),
    [sym_lambda] = STATE(3490),
    [sym__simple_string] = ACTIONS(5000),
    [sym__simple_symbol] = ACTIONS(5002),
    [sym__simple_subshell] = ACTIONS(5004),
    [sym__simple_regex] = ACTIONS(5006),
    [sym__simple_word_list] = ACTIONS(5008),
    [sym__string_beginning] = ACTIONS(5010),
    [sym__symbol_beginning] = ACTIONS(5012),
    [sym__subshell_beginning] = ACTIONS(5014),
    [sym__regex_beginning] = ACTIONS(5016),
    [sym__word_list_beginning] = ACTIONS(5018),
    [sym_heredoc_beginning] = ACTIONS(5020),
    [sym__unary_minus] = ACTIONS(8866),
    [anon_sym_LBRACE] = ACTIONS(5024),
    [anon_sym_def] = ACTIONS(5026),
    [anon_sym_LPAREN] = ACTIONS(5028),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(5030),
    [anon_sym_module] = ACTIONS(5032),
    [anon_sym_return] = ACTIONS(8868),
    [anon_sym_yield] = ACTIONS(8870),
    [anon_sym_break] = ACTIONS(8872),
    [anon_sym_next] = ACTIONS(8874),
    [anon_sym_redo] = ACTIONS(5042),
    [anon_sym_retry] = ACTIONS(5044),
    [anon_sym_if] = ACTIONS(5046),
    [anon_sym_unless] = ACTIONS(5048),
    [anon_sym_while] = ACTIONS(5050),
    [anon_sym_until] = ACTIONS(5052),
    [anon_sym_for] = ACTIONS(5054),
    [anon_sym_case] = ACTIONS(5056),
    [anon_sym_begin] = ACTIONS(5058),
    [anon_sym_PLUS] = ACTIONS(8876),
    [anon_sym_defined_QMARK] = ACTIONS(8878),
    [anon_sym_not] = ACTIONS(8880),
    [anon_sym_BANG] = ACTIONS(8882),
    [anon_sym_TILDE] = ACTIONS(8882),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5068),
    [sym_float] = ACTIONS(5070),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5072),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(5074),
    [sym_keyword__LINE__] = ACTIONS(5074),
    [sym_keyword__ENCODING__] = ACTIONS(5074),
    [sym__character_literal] = ACTIONS(5076),
    [anon_sym_LBRACK] = ACTIONS(5078),
    [anon_sym_DASH_GT] = ACTIONS(5080),
  },
  [9584] = {
    [sym_method] = STATE(3490),
    [sym_singleton_method] = STATE(3490),
    [sym_class] = STATE(3490),
    [sym_singleton_class] = STATE(3490),
    [sym_module] = STATE(3490),
    [sym_return] = STATE(3490),
    [sym_yield] = STATE(3490),
    [sym_break] = STATE(3490),
    [sym_next] = STATE(3490),
    [sym_redo] = STATE(3490),
    [sym_retry] = STATE(3490),
    [sym_while] = STATE(3490),
    [sym_until] = STATE(3490),
    [sym_for] = STATE(3490),
    [sym_case] = STATE(3490),
    [sym_if] = STATE(3490),
    [sym_unless] = STATE(3490),
    [sym_begin] = STATE(3490),
    [sym__arg] = STATE(11975),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(3490),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6321),
    [sym_call] = STATE(6321),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(3519),
    [sym_operator_assignment] = STATE(3519),
    [sym_conditional] = STATE(3519),
    [sym_range] = STATE(3519),
    [sym_binary] = STATE(3519),
    [sym_unary] = STATE(3519),
    [sym_left_assignment_list] = STATE(6398),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6399),
    [sym__variable] = STATE(6321),
    [sym_symbol] = STATE(3490),
    [sym_complex] = STATE(3490),
    [sym_rational] = STATE(3490),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(3490),
    [sym_string] = STATE(3522),
    [sym_subshell] = STATE(3490),
    [sym_array] = STATE(3490),
    [sym_hash] = STATE(3490),
    [sym_regex] = STATE(3490),
    [sym_lambda] = STATE(3490),
    [sym__simple_string] = ACTIONS(5000),
    [sym__simple_symbol] = ACTIONS(5002),
    [sym__simple_subshell] = ACTIONS(5004),
    [sym__simple_regex] = ACTIONS(5006),
    [sym__simple_word_list] = ACTIONS(5008),
    [sym__string_beginning] = ACTIONS(5010),
    [sym__symbol_beginning] = ACTIONS(5012),
    [sym__subshell_beginning] = ACTIONS(5014),
    [sym__regex_beginning] = ACTIONS(5016),
    [sym__word_list_beginning] = ACTIONS(5018),
    [sym_heredoc_beginning] = ACTIONS(5020),
    [sym__unary_minus] = ACTIONS(8866),
    [anon_sym_LBRACE] = ACTIONS(5024),
    [anon_sym_def] = ACTIONS(5026),
    [anon_sym_LPAREN] = ACTIONS(5028),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(5030),
    [anon_sym_module] = ACTIONS(5032),
    [anon_sym_return] = ACTIONS(8868),
    [anon_sym_yield] = ACTIONS(8870),
    [anon_sym_break] = ACTIONS(8872),
    [anon_sym_next] = ACTIONS(8874),
    [anon_sym_redo] = ACTIONS(5042),
    [anon_sym_retry] = ACTIONS(5044),
    [anon_sym_if] = ACTIONS(5046),
    [anon_sym_unless] = ACTIONS(5048),
    [anon_sym_while] = ACTIONS(5050),
    [anon_sym_until] = ACTIONS(5052),
    [anon_sym_for] = ACTIONS(5054),
    [anon_sym_case] = ACTIONS(5056),
    [anon_sym_begin] = ACTIONS(5058),
    [anon_sym_PLUS] = ACTIONS(8876),
    [anon_sym_defined_QMARK] = ACTIONS(8878),
    [anon_sym_not] = ACTIONS(8880),
    [anon_sym_BANG] = ACTIONS(8882),
    [anon_sym_TILDE] = ACTIONS(8882),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5068),
    [sym_float] = ACTIONS(5070),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5072),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(5074),
    [sym_keyword__LINE__] = ACTIONS(5074),
    [sym_keyword__ENCODING__] = ACTIONS(5074),
    [sym__character_literal] = ACTIONS(5076),
    [anon_sym_LBRACK] = ACTIONS(5078),
    [anon_sym_DASH_GT] = ACTIONS(5080),
  },
  [9585] = {
    [sym_method] = STATE(3490),
    [sym_singleton_method] = STATE(3490),
    [sym_class] = STATE(3490),
    [sym_singleton_class] = STATE(3490),
    [sym_module] = STATE(3490),
    [sym_return] = STATE(3490),
    [sym_yield] = STATE(3490),
    [sym_break] = STATE(3490),
    [sym_next] = STATE(3490),
    [sym_redo] = STATE(3490),
    [sym_retry] = STATE(3490),
    [sym_while] = STATE(3490),
    [sym_until] = STATE(3490),
    [sym_for] = STATE(3490),
    [sym_case] = STATE(3490),
    [sym_if] = STATE(3490),
    [sym_unless] = STATE(3490),
    [sym_begin] = STATE(3490),
    [sym__arg] = STATE(11976),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(3490),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6321),
    [sym_call] = STATE(6321),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(3519),
    [sym_operator_assignment] = STATE(3519),
    [sym_conditional] = STATE(3519),
    [sym_range] = STATE(3519),
    [sym_binary] = STATE(3519),
    [sym_unary] = STATE(3519),
    [sym_left_assignment_list] = STATE(6398),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6399),
    [sym__variable] = STATE(6321),
    [sym_symbol] = STATE(3490),
    [sym_complex] = STATE(3490),
    [sym_rational] = STATE(3490),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(3490),
    [sym_string] = STATE(3522),
    [sym_subshell] = STATE(3490),
    [sym_array] = STATE(3490),
    [sym_hash] = STATE(3490),
    [sym_regex] = STATE(3490),
    [sym_lambda] = STATE(3490),
    [sym__simple_string] = ACTIONS(5000),
    [sym__simple_symbol] = ACTIONS(5002),
    [sym__simple_subshell] = ACTIONS(5004),
    [sym__simple_regex] = ACTIONS(5006),
    [sym__simple_word_list] = ACTIONS(5008),
    [sym__string_beginning] = ACTIONS(5010),
    [sym__symbol_beginning] = ACTIONS(5012),
    [sym__subshell_beginning] = ACTIONS(5014),
    [sym__regex_beginning] = ACTIONS(5016),
    [sym__word_list_beginning] = ACTIONS(5018),
    [sym_heredoc_beginning] = ACTIONS(5020),
    [sym__unary_minus] = ACTIONS(8866),
    [anon_sym_LBRACE] = ACTIONS(5024),
    [anon_sym_def] = ACTIONS(5026),
    [anon_sym_LPAREN] = ACTIONS(5028),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(5030),
    [anon_sym_module] = ACTIONS(5032),
    [anon_sym_return] = ACTIONS(8868),
    [anon_sym_yield] = ACTIONS(8870),
    [anon_sym_break] = ACTIONS(8872),
    [anon_sym_next] = ACTIONS(8874),
    [anon_sym_redo] = ACTIONS(5042),
    [anon_sym_retry] = ACTIONS(5044),
    [anon_sym_if] = ACTIONS(5046),
    [anon_sym_unless] = ACTIONS(5048),
    [anon_sym_while] = ACTIONS(5050),
    [anon_sym_until] = ACTIONS(5052),
    [anon_sym_for] = ACTIONS(5054),
    [anon_sym_case] = ACTIONS(5056),
    [anon_sym_begin] = ACTIONS(5058),
    [anon_sym_PLUS] = ACTIONS(8876),
    [anon_sym_defined_QMARK] = ACTIONS(8878),
    [anon_sym_not] = ACTIONS(8880),
    [anon_sym_BANG] = ACTIONS(8882),
    [anon_sym_TILDE] = ACTIONS(8882),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5068),
    [sym_float] = ACTIONS(5070),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5072),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(5074),
    [sym_keyword__LINE__] = ACTIONS(5074),
    [sym_keyword__ENCODING__] = ACTIONS(5074),
    [sym__character_literal] = ACTIONS(5076),
    [anon_sym_LBRACK] = ACTIONS(5078),
    [anon_sym_DASH_GT] = ACTIONS(5080),
  },
  [9586] = {
    [sym_method] = STATE(3490),
    [sym_singleton_method] = STATE(3490),
    [sym_class] = STATE(3490),
    [sym_singleton_class] = STATE(3490),
    [sym_module] = STATE(3490),
    [sym_return] = STATE(3490),
    [sym_yield] = STATE(3490),
    [sym_break] = STATE(3490),
    [sym_next] = STATE(3490),
    [sym_redo] = STATE(3490),
    [sym_retry] = STATE(3490),
    [sym_while] = STATE(3490),
    [sym_until] = STATE(3490),
    [sym_for] = STATE(3490),
    [sym_case] = STATE(3490),
    [sym_if] = STATE(3490),
    [sym_unless] = STATE(3490),
    [sym_begin] = STATE(3490),
    [sym__arg] = STATE(11977),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(3490),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6321),
    [sym_call] = STATE(6321),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(3519),
    [sym_operator_assignment] = STATE(3519),
    [sym_conditional] = STATE(3519),
    [sym_range] = STATE(3519),
    [sym_binary] = STATE(3519),
    [sym_unary] = STATE(3519),
    [sym_left_assignment_list] = STATE(6398),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6399),
    [sym__variable] = STATE(6321),
    [sym_symbol] = STATE(3490),
    [sym_complex] = STATE(3490),
    [sym_rational] = STATE(3490),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(3490),
    [sym_string] = STATE(3522),
    [sym_subshell] = STATE(3490),
    [sym_array] = STATE(3490),
    [sym_hash] = STATE(3490),
    [sym_regex] = STATE(3490),
    [sym_lambda] = STATE(3490),
    [sym__simple_string] = ACTIONS(5000),
    [sym__simple_symbol] = ACTIONS(5002),
    [sym__simple_subshell] = ACTIONS(5004),
    [sym__simple_regex] = ACTIONS(5006),
    [sym__simple_word_list] = ACTIONS(5008),
    [sym__string_beginning] = ACTIONS(5010),
    [sym__symbol_beginning] = ACTIONS(5012),
    [sym__subshell_beginning] = ACTIONS(5014),
    [sym__regex_beginning] = ACTIONS(5016),
    [sym__word_list_beginning] = ACTIONS(5018),
    [sym_heredoc_beginning] = ACTIONS(5020),
    [sym__unary_minus] = ACTIONS(8866),
    [anon_sym_LBRACE] = ACTIONS(5024),
    [anon_sym_def] = ACTIONS(5026),
    [anon_sym_LPAREN] = ACTIONS(5028),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(5030),
    [anon_sym_module] = ACTIONS(5032),
    [anon_sym_return] = ACTIONS(8868),
    [anon_sym_yield] = ACTIONS(8870),
    [anon_sym_break] = ACTIONS(8872),
    [anon_sym_next] = ACTIONS(8874),
    [anon_sym_redo] = ACTIONS(5042),
    [anon_sym_retry] = ACTIONS(5044),
    [anon_sym_if] = ACTIONS(5046),
    [anon_sym_unless] = ACTIONS(5048),
    [anon_sym_while] = ACTIONS(5050),
    [anon_sym_until] = ACTIONS(5052),
    [anon_sym_for] = ACTIONS(5054),
    [anon_sym_case] = ACTIONS(5056),
    [anon_sym_begin] = ACTIONS(5058),
    [anon_sym_PLUS] = ACTIONS(8876),
    [anon_sym_defined_QMARK] = ACTIONS(8878),
    [anon_sym_not] = ACTIONS(8880),
    [anon_sym_BANG] = ACTIONS(8882),
    [anon_sym_TILDE] = ACTIONS(8882),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5068),
    [sym_float] = ACTIONS(5070),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5072),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(5074),
    [sym_keyword__LINE__] = ACTIONS(5074),
    [sym_keyword__ENCODING__] = ACTIONS(5074),
    [sym__character_literal] = ACTIONS(5076),
    [anon_sym_LBRACK] = ACTIONS(5078),
    [anon_sym_DASH_GT] = ACTIONS(5080),
  },
  [9587] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(11978),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [9588] = {
    [sym_method] = STATE(3490),
    [sym_singleton_method] = STATE(3490),
    [sym_class] = STATE(3490),
    [sym_singleton_class] = STATE(3490),
    [sym_module] = STATE(3490),
    [sym_return] = STATE(3490),
    [sym_yield] = STATE(3490),
    [sym_break] = STATE(3490),
    [sym_next] = STATE(3490),
    [sym_redo] = STATE(3490),
    [sym_retry] = STATE(3490),
    [sym_while] = STATE(3490),
    [sym_until] = STATE(3490),
    [sym_for] = STATE(3490),
    [sym_case] = STATE(3490),
    [sym_if] = STATE(3490),
    [sym_unless] = STATE(3490),
    [sym_begin] = STATE(3490),
    [sym__arg] = STATE(11979),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(3490),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6321),
    [sym_call] = STATE(6321),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(3519),
    [sym_operator_assignment] = STATE(3519),
    [sym_conditional] = STATE(3519),
    [sym_range] = STATE(3519),
    [sym_binary] = STATE(3519),
    [sym_unary] = STATE(3519),
    [sym_left_assignment_list] = STATE(6398),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6399),
    [sym__variable] = STATE(6321),
    [sym_symbol] = STATE(3490),
    [sym_complex] = STATE(3490),
    [sym_rational] = STATE(3490),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(3490),
    [sym_string] = STATE(3522),
    [sym_subshell] = STATE(3490),
    [sym_array] = STATE(3490),
    [sym_hash] = STATE(3490),
    [sym_regex] = STATE(3490),
    [sym_lambda] = STATE(3490),
    [sym__simple_string] = ACTIONS(5000),
    [sym__simple_symbol] = ACTIONS(5002),
    [sym__simple_subshell] = ACTIONS(5004),
    [sym__simple_regex] = ACTIONS(5006),
    [sym__simple_word_list] = ACTIONS(5008),
    [sym__string_beginning] = ACTIONS(5010),
    [sym__symbol_beginning] = ACTIONS(5012),
    [sym__subshell_beginning] = ACTIONS(5014),
    [sym__regex_beginning] = ACTIONS(5016),
    [sym__word_list_beginning] = ACTIONS(5018),
    [sym_heredoc_beginning] = ACTIONS(5020),
    [sym__unary_minus] = ACTIONS(8866),
    [anon_sym_LBRACE] = ACTIONS(5024),
    [anon_sym_def] = ACTIONS(5026),
    [anon_sym_LPAREN] = ACTIONS(5028),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(5030),
    [anon_sym_module] = ACTIONS(5032),
    [anon_sym_return] = ACTIONS(8868),
    [anon_sym_yield] = ACTIONS(8870),
    [anon_sym_break] = ACTIONS(8872),
    [anon_sym_next] = ACTIONS(8874),
    [anon_sym_redo] = ACTIONS(5042),
    [anon_sym_retry] = ACTIONS(5044),
    [anon_sym_if] = ACTIONS(5046),
    [anon_sym_unless] = ACTIONS(5048),
    [anon_sym_while] = ACTIONS(5050),
    [anon_sym_until] = ACTIONS(5052),
    [anon_sym_for] = ACTIONS(5054),
    [anon_sym_case] = ACTIONS(5056),
    [anon_sym_begin] = ACTIONS(5058),
    [anon_sym_PLUS] = ACTIONS(8876),
    [anon_sym_defined_QMARK] = ACTIONS(8878),
    [anon_sym_not] = ACTIONS(8880),
    [anon_sym_BANG] = ACTIONS(8882),
    [anon_sym_TILDE] = ACTIONS(8882),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5068),
    [sym_float] = ACTIONS(5070),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5072),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(5074),
    [sym_keyword__LINE__] = ACTIONS(5074),
    [sym_keyword__ENCODING__] = ACTIONS(5074),
    [sym__character_literal] = ACTIONS(5076),
    [anon_sym_LBRACK] = ACTIONS(5078),
    [anon_sym_DASH_GT] = ACTIONS(5080),
  },
  [9589] = {
    [sym_method] = STATE(3490),
    [sym_singleton_method] = STATE(3490),
    [sym_class] = STATE(3490),
    [sym_singleton_class] = STATE(3490),
    [sym_module] = STATE(3490),
    [sym_return] = STATE(3490),
    [sym_yield] = STATE(3490),
    [sym_break] = STATE(3490),
    [sym_next] = STATE(3490),
    [sym_redo] = STATE(3490),
    [sym_retry] = STATE(3490),
    [sym_while] = STATE(3490),
    [sym_until] = STATE(3490),
    [sym_for] = STATE(3490),
    [sym_case] = STATE(3490),
    [sym_if] = STATE(3490),
    [sym_unless] = STATE(3490),
    [sym_begin] = STATE(3490),
    [sym__arg] = STATE(11980),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(3490),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6321),
    [sym_call] = STATE(6321),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(3519),
    [sym_operator_assignment] = STATE(3519),
    [sym_conditional] = STATE(3519),
    [sym_range] = STATE(3519),
    [sym_binary] = STATE(3519),
    [sym_unary] = STATE(3519),
    [sym_left_assignment_list] = STATE(6398),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6399),
    [sym__variable] = STATE(6321),
    [sym_symbol] = STATE(3490),
    [sym_complex] = STATE(3490),
    [sym_rational] = STATE(3490),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(3490),
    [sym_string] = STATE(3522),
    [sym_subshell] = STATE(3490),
    [sym_array] = STATE(3490),
    [sym_hash] = STATE(3490),
    [sym_regex] = STATE(3490),
    [sym_lambda] = STATE(3490),
    [sym__simple_string] = ACTIONS(5000),
    [sym__simple_symbol] = ACTIONS(5002),
    [sym__simple_subshell] = ACTIONS(5004),
    [sym__simple_regex] = ACTIONS(5006),
    [sym__simple_word_list] = ACTIONS(5008),
    [sym__string_beginning] = ACTIONS(5010),
    [sym__symbol_beginning] = ACTIONS(5012),
    [sym__subshell_beginning] = ACTIONS(5014),
    [sym__regex_beginning] = ACTIONS(5016),
    [sym__word_list_beginning] = ACTIONS(5018),
    [sym_heredoc_beginning] = ACTIONS(5020),
    [sym__unary_minus] = ACTIONS(8866),
    [anon_sym_LBRACE] = ACTIONS(5024),
    [anon_sym_def] = ACTIONS(5026),
    [anon_sym_LPAREN] = ACTIONS(5028),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(5030),
    [anon_sym_module] = ACTIONS(5032),
    [anon_sym_return] = ACTIONS(8868),
    [anon_sym_yield] = ACTIONS(8870),
    [anon_sym_break] = ACTIONS(8872),
    [anon_sym_next] = ACTIONS(8874),
    [anon_sym_redo] = ACTIONS(5042),
    [anon_sym_retry] = ACTIONS(5044),
    [anon_sym_if] = ACTIONS(5046),
    [anon_sym_unless] = ACTIONS(5048),
    [anon_sym_while] = ACTIONS(5050),
    [anon_sym_until] = ACTIONS(5052),
    [anon_sym_for] = ACTIONS(5054),
    [anon_sym_case] = ACTIONS(5056),
    [anon_sym_begin] = ACTIONS(5058),
    [anon_sym_PLUS] = ACTIONS(8876),
    [anon_sym_defined_QMARK] = ACTIONS(8878),
    [anon_sym_not] = ACTIONS(8880),
    [anon_sym_BANG] = ACTIONS(8882),
    [anon_sym_TILDE] = ACTIONS(8882),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5068),
    [sym_float] = ACTIONS(5070),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5072),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(5074),
    [sym_keyword__LINE__] = ACTIONS(5074),
    [sym_keyword__ENCODING__] = ACTIONS(5074),
    [sym__character_literal] = ACTIONS(5076),
    [anon_sym_LBRACK] = ACTIONS(5078),
    [anon_sym_DASH_GT] = ACTIONS(5080),
  },
  [9590] = {
    [sym_method] = STATE(3490),
    [sym_singleton_method] = STATE(3490),
    [sym_class] = STATE(3490),
    [sym_singleton_class] = STATE(3490),
    [sym_module] = STATE(3490),
    [sym_return] = STATE(3490),
    [sym_yield] = STATE(3490),
    [sym_break] = STATE(3490),
    [sym_next] = STATE(3490),
    [sym_redo] = STATE(3490),
    [sym_retry] = STATE(3490),
    [sym_while] = STATE(3490),
    [sym_until] = STATE(3490),
    [sym_for] = STATE(3490),
    [sym_case] = STATE(3490),
    [sym_if] = STATE(3490),
    [sym_unless] = STATE(3490),
    [sym_begin] = STATE(3490),
    [sym__arg] = STATE(11981),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(3490),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6321),
    [sym_call] = STATE(6321),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(3519),
    [sym_operator_assignment] = STATE(3519),
    [sym_conditional] = STATE(3519),
    [sym_range] = STATE(3519),
    [sym_binary] = STATE(3519),
    [sym_unary] = STATE(3519),
    [sym_left_assignment_list] = STATE(6398),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6399),
    [sym__variable] = STATE(6321),
    [sym_symbol] = STATE(3490),
    [sym_complex] = STATE(3490),
    [sym_rational] = STATE(3490),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(3490),
    [sym_string] = STATE(3522),
    [sym_subshell] = STATE(3490),
    [sym_array] = STATE(3490),
    [sym_hash] = STATE(3490),
    [sym_regex] = STATE(3490),
    [sym_lambda] = STATE(3490),
    [sym__simple_string] = ACTIONS(5000),
    [sym__simple_symbol] = ACTIONS(5002),
    [sym__simple_subshell] = ACTIONS(5004),
    [sym__simple_regex] = ACTIONS(5006),
    [sym__simple_word_list] = ACTIONS(5008),
    [sym__string_beginning] = ACTIONS(5010),
    [sym__symbol_beginning] = ACTIONS(5012),
    [sym__subshell_beginning] = ACTIONS(5014),
    [sym__regex_beginning] = ACTIONS(5016),
    [sym__word_list_beginning] = ACTIONS(5018),
    [sym_heredoc_beginning] = ACTIONS(5020),
    [sym__unary_minus] = ACTIONS(8866),
    [anon_sym_LBRACE] = ACTIONS(5024),
    [anon_sym_def] = ACTIONS(5026),
    [anon_sym_LPAREN] = ACTIONS(5028),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(5030),
    [anon_sym_module] = ACTIONS(5032),
    [anon_sym_return] = ACTIONS(8868),
    [anon_sym_yield] = ACTIONS(8870),
    [anon_sym_break] = ACTIONS(8872),
    [anon_sym_next] = ACTIONS(8874),
    [anon_sym_redo] = ACTIONS(5042),
    [anon_sym_retry] = ACTIONS(5044),
    [anon_sym_if] = ACTIONS(5046),
    [anon_sym_unless] = ACTIONS(5048),
    [anon_sym_while] = ACTIONS(5050),
    [anon_sym_until] = ACTIONS(5052),
    [anon_sym_for] = ACTIONS(5054),
    [anon_sym_case] = ACTIONS(5056),
    [anon_sym_begin] = ACTIONS(5058),
    [anon_sym_PLUS] = ACTIONS(8876),
    [anon_sym_defined_QMARK] = ACTIONS(8878),
    [anon_sym_not] = ACTIONS(8880),
    [anon_sym_BANG] = ACTIONS(8882),
    [anon_sym_TILDE] = ACTIONS(8882),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5068),
    [sym_float] = ACTIONS(5070),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5072),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(5074),
    [sym_keyword__LINE__] = ACTIONS(5074),
    [sym_keyword__ENCODING__] = ACTIONS(5074),
    [sym__character_literal] = ACTIONS(5076),
    [anon_sym_LBRACK] = ACTIONS(5078),
    [anon_sym_DASH_GT] = ACTIONS(5080),
  },
  [9591] = {
    [sym_method] = STATE(3490),
    [sym_singleton_method] = STATE(3490),
    [sym_class] = STATE(3490),
    [sym_singleton_class] = STATE(3490),
    [sym_module] = STATE(3490),
    [sym_return] = STATE(3490),
    [sym_yield] = STATE(3490),
    [sym_break] = STATE(3490),
    [sym_next] = STATE(3490),
    [sym_redo] = STATE(3490),
    [sym_retry] = STATE(3490),
    [sym_while] = STATE(3490),
    [sym_until] = STATE(3490),
    [sym_for] = STATE(3490),
    [sym_case] = STATE(3490),
    [sym_if] = STATE(3490),
    [sym_unless] = STATE(3490),
    [sym_begin] = STATE(3490),
    [sym__arg] = STATE(11982),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(3490),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6321),
    [sym_call] = STATE(6321),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(3519),
    [sym_operator_assignment] = STATE(3519),
    [sym_conditional] = STATE(3519),
    [sym_range] = STATE(3519),
    [sym_binary] = STATE(3519),
    [sym_unary] = STATE(3519),
    [sym_left_assignment_list] = STATE(6398),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6399),
    [sym__variable] = STATE(6321),
    [sym_symbol] = STATE(3490),
    [sym_complex] = STATE(3490),
    [sym_rational] = STATE(3490),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(3490),
    [sym_string] = STATE(3522),
    [sym_subshell] = STATE(3490),
    [sym_array] = STATE(3490),
    [sym_hash] = STATE(3490),
    [sym_regex] = STATE(3490),
    [sym_lambda] = STATE(3490),
    [sym__simple_string] = ACTIONS(5000),
    [sym__simple_symbol] = ACTIONS(5002),
    [sym__simple_subshell] = ACTIONS(5004),
    [sym__simple_regex] = ACTIONS(5006),
    [sym__simple_word_list] = ACTIONS(5008),
    [sym__string_beginning] = ACTIONS(5010),
    [sym__symbol_beginning] = ACTIONS(5012),
    [sym__subshell_beginning] = ACTIONS(5014),
    [sym__regex_beginning] = ACTIONS(5016),
    [sym__word_list_beginning] = ACTIONS(5018),
    [sym_heredoc_beginning] = ACTIONS(5020),
    [sym__unary_minus] = ACTIONS(8866),
    [anon_sym_LBRACE] = ACTIONS(5024),
    [anon_sym_def] = ACTIONS(5026),
    [anon_sym_LPAREN] = ACTIONS(5028),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(5030),
    [anon_sym_module] = ACTIONS(5032),
    [anon_sym_return] = ACTIONS(8868),
    [anon_sym_yield] = ACTIONS(8870),
    [anon_sym_break] = ACTIONS(8872),
    [anon_sym_next] = ACTIONS(8874),
    [anon_sym_redo] = ACTIONS(5042),
    [anon_sym_retry] = ACTIONS(5044),
    [anon_sym_if] = ACTIONS(5046),
    [anon_sym_unless] = ACTIONS(5048),
    [anon_sym_while] = ACTIONS(5050),
    [anon_sym_until] = ACTIONS(5052),
    [anon_sym_for] = ACTIONS(5054),
    [anon_sym_case] = ACTIONS(5056),
    [anon_sym_begin] = ACTIONS(5058),
    [anon_sym_PLUS] = ACTIONS(8876),
    [anon_sym_defined_QMARK] = ACTIONS(8878),
    [anon_sym_not] = ACTIONS(8880),
    [anon_sym_BANG] = ACTIONS(8882),
    [anon_sym_TILDE] = ACTIONS(8882),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5068),
    [sym_float] = ACTIONS(5070),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5072),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(5074),
    [sym_keyword__LINE__] = ACTIONS(5074),
    [sym_keyword__ENCODING__] = ACTIONS(5074),
    [sym__character_literal] = ACTIONS(5076),
    [anon_sym_LBRACK] = ACTIONS(5078),
    [anon_sym_DASH_GT] = ACTIONS(5080),
  },
  [9592] = {
    [sym_method] = STATE(3490),
    [sym_singleton_method] = STATE(3490),
    [sym_class] = STATE(3490),
    [sym_singleton_class] = STATE(3490),
    [sym_module] = STATE(3490),
    [sym_return] = STATE(3490),
    [sym_yield] = STATE(3490),
    [sym_break] = STATE(3490),
    [sym_next] = STATE(3490),
    [sym_redo] = STATE(3490),
    [sym_retry] = STATE(3490),
    [sym_while] = STATE(3490),
    [sym_until] = STATE(3490),
    [sym_for] = STATE(3490),
    [sym_case] = STATE(3490),
    [sym_if] = STATE(3490),
    [sym_unless] = STATE(3490),
    [sym_begin] = STATE(3490),
    [sym__arg] = STATE(11983),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(3490),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6321),
    [sym_call] = STATE(6321),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(3519),
    [sym_operator_assignment] = STATE(3519),
    [sym_conditional] = STATE(3519),
    [sym_range] = STATE(3519),
    [sym_binary] = STATE(3519),
    [sym_unary] = STATE(3519),
    [sym_left_assignment_list] = STATE(6398),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6399),
    [sym__variable] = STATE(6321),
    [sym_symbol] = STATE(3490),
    [sym_complex] = STATE(3490),
    [sym_rational] = STATE(3490),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(3490),
    [sym_string] = STATE(3522),
    [sym_subshell] = STATE(3490),
    [sym_array] = STATE(3490),
    [sym_hash] = STATE(3490),
    [sym_regex] = STATE(3490),
    [sym_lambda] = STATE(3490),
    [sym__simple_string] = ACTIONS(5000),
    [sym__simple_symbol] = ACTIONS(5002),
    [sym__simple_subshell] = ACTIONS(5004),
    [sym__simple_regex] = ACTIONS(5006),
    [sym__simple_word_list] = ACTIONS(5008),
    [sym__string_beginning] = ACTIONS(5010),
    [sym__symbol_beginning] = ACTIONS(5012),
    [sym__subshell_beginning] = ACTIONS(5014),
    [sym__regex_beginning] = ACTIONS(5016),
    [sym__word_list_beginning] = ACTIONS(5018),
    [sym_heredoc_beginning] = ACTIONS(5020),
    [sym__unary_minus] = ACTIONS(8866),
    [anon_sym_LBRACE] = ACTIONS(5024),
    [anon_sym_def] = ACTIONS(5026),
    [anon_sym_LPAREN] = ACTIONS(5028),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(5030),
    [anon_sym_module] = ACTIONS(5032),
    [anon_sym_return] = ACTIONS(8868),
    [anon_sym_yield] = ACTIONS(8870),
    [anon_sym_break] = ACTIONS(8872),
    [anon_sym_next] = ACTIONS(8874),
    [anon_sym_redo] = ACTIONS(5042),
    [anon_sym_retry] = ACTIONS(5044),
    [anon_sym_if] = ACTIONS(5046),
    [anon_sym_unless] = ACTIONS(5048),
    [anon_sym_while] = ACTIONS(5050),
    [anon_sym_until] = ACTIONS(5052),
    [anon_sym_for] = ACTIONS(5054),
    [anon_sym_case] = ACTIONS(5056),
    [anon_sym_begin] = ACTIONS(5058),
    [anon_sym_PLUS] = ACTIONS(8876),
    [anon_sym_defined_QMARK] = ACTIONS(8878),
    [anon_sym_not] = ACTIONS(8880),
    [anon_sym_BANG] = ACTIONS(8882),
    [anon_sym_TILDE] = ACTIONS(8882),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5068),
    [sym_float] = ACTIONS(5070),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5072),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(5074),
    [sym_keyword__LINE__] = ACTIONS(5074),
    [sym_keyword__ENCODING__] = ACTIONS(5074),
    [sym__character_literal] = ACTIONS(5076),
    [anon_sym_LBRACK] = ACTIONS(5078),
    [anon_sym_DASH_GT] = ACTIONS(5080),
  },
  [9593] = {
    [sym_method] = STATE(3490),
    [sym_singleton_method] = STATE(3490),
    [sym_class] = STATE(3490),
    [sym_singleton_class] = STATE(3490),
    [sym_module] = STATE(3490),
    [sym_return] = STATE(3490),
    [sym_yield] = STATE(3490),
    [sym_break] = STATE(3490),
    [sym_next] = STATE(3490),
    [sym_redo] = STATE(3490),
    [sym_retry] = STATE(3490),
    [sym_while] = STATE(3490),
    [sym_until] = STATE(3490),
    [sym_for] = STATE(3490),
    [sym_case] = STATE(3490),
    [sym_if] = STATE(3490),
    [sym_unless] = STATE(3490),
    [sym_begin] = STATE(3490),
    [sym__arg] = STATE(11984),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(3490),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6321),
    [sym_call] = STATE(6321),
    [sym_method_call] = STATE(976),
    [sym_splat_argument] = STATE(9825),
    [sym_assignment] = STATE(3519),
    [sym_operator_assignment] = STATE(3519),
    [sym_conditional] = STATE(3519),
    [sym_range] = STATE(3519),
    [sym_binary] = STATE(3519),
    [sym_unary] = STATE(3519),
    [sym_right_assignment_list] = STATE(9826),
    [sym__arg_or_splat_arg] = STATE(11985),
    [sym_left_assignment_list] = STATE(6398),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6399),
    [sym__variable] = STATE(6321),
    [sym_symbol] = STATE(3490),
    [sym_complex] = STATE(3490),
    [sym_rational] = STATE(3490),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(3490),
    [sym_string] = STATE(3522),
    [sym_subshell] = STATE(3490),
    [sym_array] = STATE(3490),
    [sym_hash] = STATE(3490),
    [sym_regex] = STATE(3490),
    [sym_lambda] = STATE(3490),
    [sym__simple_string] = ACTIONS(5000),
    [sym__simple_symbol] = ACTIONS(5002),
    [sym__simple_subshell] = ACTIONS(5004),
    [sym__simple_regex] = ACTIONS(5006),
    [sym__simple_word_list] = ACTIONS(5008),
    [sym__string_beginning] = ACTIONS(5010),
    [sym__symbol_beginning] = ACTIONS(5012),
    [sym__subshell_beginning] = ACTIONS(5014),
    [sym__regex_beginning] = ACTIONS(5016),
    [sym__word_list_beginning] = ACTIONS(5018),
    [sym_heredoc_beginning] = ACTIONS(5020),
    [sym__splat_star] = ACTIONS(12486),
    [sym__unary_minus] = ACTIONS(8866),
    [anon_sym_LBRACE] = ACTIONS(5024),
    [anon_sym_def] = ACTIONS(5026),
    [anon_sym_LPAREN] = ACTIONS(5028),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(5030),
    [anon_sym_module] = ACTIONS(5032),
    [anon_sym_return] = ACTIONS(8868),
    [anon_sym_yield] = ACTIONS(8870),
    [anon_sym_break] = ACTIONS(8872),
    [anon_sym_next] = ACTIONS(8874),
    [anon_sym_redo] = ACTIONS(5042),
    [anon_sym_retry] = ACTIONS(5044),
    [anon_sym_if] = ACTIONS(5046),
    [anon_sym_unless] = ACTIONS(5048),
    [anon_sym_while] = ACTIONS(5050),
    [anon_sym_until] = ACTIONS(5052),
    [anon_sym_for] = ACTIONS(5054),
    [anon_sym_case] = ACTIONS(5056),
    [anon_sym_begin] = ACTIONS(5058),
    [anon_sym_PLUS] = ACTIONS(8876),
    [anon_sym_defined_QMARK] = ACTIONS(8878),
    [anon_sym_not] = ACTIONS(8880),
    [anon_sym_BANG] = ACTIONS(8882),
    [anon_sym_TILDE] = ACTIONS(8882),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5068),
    [sym_float] = ACTIONS(5070),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5072),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(5074),
    [sym_keyword__LINE__] = ACTIONS(5074),
    [sym_keyword__ENCODING__] = ACTIONS(5074),
    [sym__character_literal] = ACTIONS(5076),
    [anon_sym_LBRACK] = ACTIONS(5078),
    [anon_sym_DASH_GT] = ACTIONS(5080),
  },
  [9594] = {
    [sym_method] = STATE(3490),
    [sym_singleton_method] = STATE(3490),
    [sym_class] = STATE(3490),
    [sym_singleton_class] = STATE(3490),
    [sym_module] = STATE(3490),
    [sym_return] = STATE(3490),
    [sym_yield] = STATE(3490),
    [sym_break] = STATE(3490),
    [sym_next] = STATE(3490),
    [sym_redo] = STATE(3490),
    [sym_retry] = STATE(3490),
    [sym_while] = STATE(3490),
    [sym_until] = STATE(3490),
    [sym_for] = STATE(3490),
    [sym_case] = STATE(3490),
    [sym_if] = STATE(3490),
    [sym_unless] = STATE(3490),
    [sym_begin] = STATE(3490),
    [sym__arg] = STATE(11986),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(3490),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(6321),
    [sym_call] = STATE(6321),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(3519),
    [sym_operator_assignment] = STATE(3519),
    [sym_conditional] = STATE(3519),
    [sym_range] = STATE(3519),
    [sym_binary] = STATE(3519),
    [sym_unary] = STATE(3519),
    [sym_left_assignment_list] = STATE(6398),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6399),
    [sym__variable] = STATE(6321),
    [sym_symbol] = STATE(3490),
    [sym_complex] = STATE(3490),
    [sym_rational] = STATE(3490),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(3490),
    [sym_string] = STATE(3522),
    [sym_subshell] = STATE(3490),
    [sym_array] = STATE(3490),
    [sym_hash] = STATE(3490),
    [sym_regex] = STATE(3490),
    [sym_lambda] = STATE(3490),
    [sym__simple_string] = ACTIONS(5000),
    [sym__simple_symbol] = ACTIONS(5002),
    [sym__simple_subshell] = ACTIONS(5004),
    [sym__simple_regex] = ACTIONS(5006),
    [sym__simple_word_list] = ACTIONS(5008),
    [sym__string_beginning] = ACTIONS(5010),
    [sym__symbol_beginning] = ACTIONS(5012),
    [sym__subshell_beginning] = ACTIONS(5014),
    [sym__regex_beginning] = ACTIONS(5016),
    [sym__word_list_beginning] = ACTIONS(5018),
    [sym_heredoc_beginning] = ACTIONS(5020),
    [sym__unary_minus] = ACTIONS(8866),
    [anon_sym_LBRACE] = ACTIONS(5024),
    [anon_sym_def] = ACTIONS(5026),
    [anon_sym_LPAREN] = ACTIONS(5028),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(5030),
    [anon_sym_module] = ACTIONS(5032),
    [anon_sym_return] = ACTIONS(8868),
    [anon_sym_yield] = ACTIONS(8870),
    [anon_sym_break] = ACTIONS(8872),
    [anon_sym_next] = ACTIONS(8874),
    [anon_sym_redo] = ACTIONS(5042),
    [anon_sym_retry] = ACTIONS(5044),
    [anon_sym_if] = ACTIONS(5046),
    [anon_sym_unless] = ACTIONS(5048),
    [anon_sym_while] = ACTIONS(5050),
    [anon_sym_until] = ACTIONS(5052),
    [anon_sym_for] = ACTIONS(5054),
    [anon_sym_case] = ACTIONS(5056),
    [anon_sym_begin] = ACTIONS(5058),
    [anon_sym_PLUS] = ACTIONS(8876),
    [anon_sym_defined_QMARK] = ACTIONS(8878),
    [anon_sym_not] = ACTIONS(8880),
    [anon_sym_BANG] = ACTIONS(8882),
    [anon_sym_TILDE] = ACTIONS(8882),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5068),
    [sym_float] = ACTIONS(5070),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5072),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(5074),
    [sym_keyword__LINE__] = ACTIONS(5074),
    [sym_keyword__ENCODING__] = ACTIONS(5074),
    [sym__character_literal] = ACTIONS(5076),
    [anon_sym_LBRACK] = ACTIONS(5078),
    [anon_sym_DASH_GT] = ACTIONS(5080),
  },
  [9595] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(8904),
    [sym__binary_star] = ACTIONS(8906),
    [anon_sym_LBRACE] = ACTIONS(5298),
    [anon_sym_RPAREN] = ACTIONS(5298),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(8908),
    [anon_sym_STAR_STAR] = ACTIONS(8910),
    [anon_sym_AMP] = ACTIONS(8912),
    [anon_sym_EQ] = ACTIONS(5304),
    [anon_sym_LT] = ACTIONS(8914),
    [anon_sym_do] = ACTIONS(5298),
    [anon_sym_EQ_GT] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(8916),
    [anon_sym_DOT_DOT] = ACTIONS(8918),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8920),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(8924),
    [anon_sym_AMP_AMP] = ACTIONS(8924),
    [anon_sym_LT_LT] = ACTIONS(8926),
    [anon_sym_GT_GT] = ACTIONS(8926),
    [anon_sym_EQ_EQ] = ACTIONS(8928),
    [anon_sym_BANG_EQ] = ACTIONS(8924),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8924),
    [anon_sym_LT_EQ_GT] = ACTIONS(8924),
    [anon_sym_EQ_TILDE] = ACTIONS(8924),
    [anon_sym_BANG_TILDE] = ACTIONS(8924),
    [anon_sym_LT_EQ] = ACTIONS(8914),
    [anon_sym_GT] = ACTIONS(8914),
    [anon_sym_GT_EQ] = ACTIONS(8930),
    [anon_sym_CARET] = ACTIONS(8932),
    [anon_sym_PLUS] = ACTIONS(8934),
    [anon_sym_SLASH] = ACTIONS(8910),
    [anon_sym_PERCENT] = ACTIONS(8910),
    [sym_comment] = ACTIONS(256),
  },
  [9596] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(8904),
    [sym__binary_star] = ACTIONS(8906),
    [anon_sym_LBRACE] = ACTIONS(5338),
    [anon_sym_RPAREN] = ACTIONS(5338),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(8908),
    [anon_sym_STAR_STAR] = ACTIONS(8910),
    [anon_sym_AMP] = ACTIONS(8912),
    [anon_sym_EQ] = ACTIONS(5340),
    [anon_sym_LT] = ACTIONS(8914),
    [anon_sym_do] = ACTIONS(5338),
    [anon_sym_EQ_GT] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(8916),
    [anon_sym_DOT_DOT] = ACTIONS(8918),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8920),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(8924),
    [anon_sym_AMP_AMP] = ACTIONS(8924),
    [anon_sym_LT_LT] = ACTIONS(8926),
    [anon_sym_GT_GT] = ACTIONS(8926),
    [anon_sym_EQ_EQ] = ACTIONS(8928),
    [anon_sym_BANG_EQ] = ACTIONS(8924),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8924),
    [anon_sym_LT_EQ_GT] = ACTIONS(8924),
    [anon_sym_EQ_TILDE] = ACTIONS(8924),
    [anon_sym_BANG_TILDE] = ACTIONS(8924),
    [anon_sym_LT_EQ] = ACTIONS(8914),
    [anon_sym_GT] = ACTIONS(8914),
    [anon_sym_GT_EQ] = ACTIONS(8930),
    [anon_sym_CARET] = ACTIONS(8932),
    [anon_sym_PLUS] = ACTIONS(8934),
    [anon_sym_SLASH] = ACTIONS(8910),
    [anon_sym_PERCENT] = ACTIONS(8910),
    [sym_comment] = ACTIONS(256),
  },
  [9597] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(8904),
    [sym__binary_star] = ACTIONS(8906),
    [anon_sym_LBRACE] = ACTIONS(4284),
    [anon_sym_RPAREN] = ACTIONS(4284),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(8908),
    [anon_sym_STAR_STAR] = ACTIONS(8910),
    [anon_sym_AMP] = ACTIONS(8912),
    [anon_sym_EQ] = ACTIONS(5432),
    [anon_sym_LT] = ACTIONS(8914),
    [anon_sym_do] = ACTIONS(4284),
    [anon_sym_EQ_GT] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(8916),
    [anon_sym_DOT_DOT] = ACTIONS(8918),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8920),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(8924),
    [anon_sym_AMP_AMP] = ACTIONS(8924),
    [anon_sym_LT_LT] = ACTIONS(8926),
    [anon_sym_GT_GT] = ACTIONS(8926),
    [anon_sym_EQ_EQ] = ACTIONS(8928),
    [anon_sym_BANG_EQ] = ACTIONS(8924),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8924),
    [anon_sym_LT_EQ_GT] = ACTIONS(8924),
    [anon_sym_EQ_TILDE] = ACTIONS(8924),
    [anon_sym_BANG_TILDE] = ACTIONS(8924),
    [anon_sym_LT_EQ] = ACTIONS(8914),
    [anon_sym_GT] = ACTIONS(8914),
    [anon_sym_GT_EQ] = ACTIONS(8930),
    [anon_sym_CARET] = ACTIONS(8932),
    [anon_sym_PLUS] = ACTIONS(8934),
    [anon_sym_SLASH] = ACTIONS(8910),
    [anon_sym_PERCENT] = ACTIONS(8910),
    [sym_comment] = ACTIONS(256),
  },
  [9598] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(11987),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3274),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3275),
    [sym__variable] = STATE(3235),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4720),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(8884),
    [anon_sym_yield] = ACTIONS(8886),
    [anon_sym_break] = ACTIONS(8888),
    [anon_sym_next] = ACTIONS(8890),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(4732),
    [anon_sym_defined_QMARK] = ACTIONS(4734),
    [anon_sym_not] = ACTIONS(8892),
    [anon_sym_BANG] = ACTIONS(4738),
    [anon_sym_TILDE] = ACTIONS(4738),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9599] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6411),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(6127),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3274),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3275),
    [sym__variable] = STATE(3235),
    [sym_reserved_identifier] = STATE(6413),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(6414),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(11988),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(8894),
    [sym__splat_star] = ACTIONS(8896),
    [sym__unary_minus] = ACTIONS(4720),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(14814),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(4724),
    [anon_sym_yield] = ACTIONS(4726),
    [anon_sym_break] = ACTIONS(4728),
    [anon_sym_next] = ACTIONS(4730),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(4732),
    [anon_sym_defined_QMARK] = ACTIONS(4734),
    [anon_sym_not] = ACTIONS(4736),
    [anon_sym_BANG] = ACTIONS(4738),
    [anon_sym_TILDE] = ACTIONS(4738),
    [sym_constant] = ACTIONS(8900),
    [sym_identifier] = ACTIONS(8900),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9600] = {
    [sym_heredoc_end] = STATE(3004),
    [aux_sym_argument_list_repeat2] = STATE(6130),
    [sym__simple_heredoc_body] = ACTIONS(4410),
    [sym__heredoc_body_beginning] = ACTIONS(4412),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_LBRACE] = ACTIONS(5472),
    [anon_sym_RPAREN] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(14816),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_STAR_STAR] = ACTIONS(5472),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_EQ] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_do] = ACTIONS(5472),
    [anon_sym_EQ_GT] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5472),
    [anon_sym_AMP_AMP] = ACTIONS(5472),
    [anon_sym_LT_LT] = ACTIONS(5472),
    [anon_sym_GT_GT] = ACTIONS(5472),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5472),
    [anon_sym_PLUS] = ACTIONS(5472),
    [anon_sym_SLASH] = ACTIONS(5472),
    [anon_sym_PERCENT] = ACTIONS(5472),
    [sym_comment] = ACTIONS(256),
  },
  [9601] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(11990),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3274),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3275),
    [sym__variable] = STATE(3235),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4720),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(8884),
    [anon_sym_yield] = ACTIONS(8886),
    [anon_sym_break] = ACTIONS(8888),
    [anon_sym_next] = ACTIONS(8890),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(4732),
    [anon_sym_defined_QMARK] = ACTIONS(4734),
    [anon_sym_not] = ACTIONS(8892),
    [anon_sym_BANG] = ACTIONS(4738),
    [anon_sym_TILDE] = ACTIONS(4738),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9602] = {
    [sym__simple_heredoc_body] = ACTIONS(8568),
    [sym__heredoc_body_beginning] = ACTIONS(8568),
    [sym__element_reference_left_bracket] = ACTIONS(8568),
    [sym__scope_double_colon] = ACTIONS(8568),
    [sym__binary_minus] = ACTIONS(12490),
    [sym__binary_star] = ACTIONS(12492),
    [anon_sym_LBRACE] = ACTIONS(8568),
    [anon_sym_RPAREN] = ACTIONS(8568),
    [anon_sym_DOT] = ACTIONS(9468),
    [anon_sym_COMMA] = ACTIONS(8568),
    [anon_sym_PIPE] = ACTIONS(12494),
    [anon_sym_STAR_STAR] = ACTIONS(12496),
    [anon_sym_AMP] = ACTIONS(12498),
    [anon_sym_EQ] = ACTIONS(9468),
    [anon_sym_LT] = ACTIONS(12500),
    [anon_sym_do] = ACTIONS(8568),
    [anon_sym_AMP_DOT] = ACTIONS(8568),
    [anon_sym_QMARK] = ACTIONS(12502),
    [anon_sym_DOT_DOT] = ACTIONS(12504),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12506),
    [anon_sym_and] = ACTIONS(12508),
    [anon_sym_or] = ACTIONS(12508),
    [anon_sym_PIPE_PIPE] = ACTIONS(12510),
    [anon_sym_AMP_AMP] = ACTIONS(12510),
    [anon_sym_LT_LT] = ACTIONS(12512),
    [anon_sym_GT_GT] = ACTIONS(12512),
    [anon_sym_EQ_EQ] = ACTIONS(12514),
    [anon_sym_BANG_EQ] = ACTIONS(12510),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12510),
    [anon_sym_LT_EQ_GT] = ACTIONS(12510),
    [anon_sym_EQ_TILDE] = ACTIONS(12510),
    [anon_sym_BANG_TILDE] = ACTIONS(12510),
    [anon_sym_LT_EQ] = ACTIONS(12500),
    [anon_sym_GT] = ACTIONS(12500),
    [anon_sym_GT_EQ] = ACTIONS(12516),
    [anon_sym_CARET] = ACTIONS(12518),
    [anon_sym_PLUS] = ACTIONS(12520),
    [anon_sym_SLASH] = ACTIONS(12496),
    [anon_sym_PERCENT] = ACTIONS(12496),
    [sym_comment] = ACTIONS(256),
  },
  [9603] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__element_reference_left_bracket] = ACTIONS(7008),
    [sym__scope_double_colon] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(8906),
    [anon_sym_LBRACE] = ACTIONS(7008),
    [anon_sym_RPAREN] = ACTIONS(7008),
    [anon_sym_DOT] = ACTIONS(7010),
    [anon_sym_COMMA] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_STAR_STAR] = ACTIONS(8910),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_EQ] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_do] = ACTIONS(7008),
    [anon_sym_EQ_GT] = ACTIONS(7008),
    [anon_sym_AMP_DOT] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7008),
    [anon_sym_AMP_AMP] = ACTIONS(7008),
    [anon_sym_LT_LT] = ACTIONS(7008),
    [anon_sym_GT_GT] = ACTIONS(7008),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7008),
    [anon_sym_PLUS] = ACTIONS(7008),
    [anon_sym_SLASH] = ACTIONS(8910),
    [anon_sym_PERCENT] = ACTIONS(8910),
    [sym_comment] = ACTIONS(256),
  },
  [9604] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__element_reference_left_bracket] = ACTIONS(7012),
    [sym__scope_double_colon] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_LBRACE] = ACTIONS(7012),
    [anon_sym_RPAREN] = ACTIONS(7012),
    [anon_sym_DOT] = ACTIONS(7014),
    [anon_sym_COMMA] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_STAR_STAR] = ACTIONS(8910),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_EQ] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_do] = ACTIONS(7012),
    [anon_sym_EQ_GT] = ACTIONS(7012),
    [anon_sym_AMP_DOT] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7012),
    [anon_sym_AMP_AMP] = ACTIONS(7012),
    [anon_sym_LT_LT] = ACTIONS(7012),
    [anon_sym_GT_GT] = ACTIONS(7012),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7012),
    [anon_sym_PLUS] = ACTIONS(7012),
    [anon_sym_SLASH] = ACTIONS(7012),
    [anon_sym_PERCENT] = ACTIONS(7012),
    [sym_comment] = ACTIONS(256),
  },
  [9605] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(8904),
    [sym__binary_star] = ACTIONS(8906),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(8910),
    [anon_sym_AMP] = ACTIONS(8912),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(8926),
    [anon_sym_GT_GT] = ACTIONS(8926),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(8934),
    [anon_sym_SLASH] = ACTIONS(8910),
    [anon_sym_PERCENT] = ACTIONS(8910),
    [sym_comment] = ACTIONS(256),
  },
  [9606] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(8910),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7016),
    [anon_sym_PERCENT] = ACTIONS(7016),
    [sym_comment] = ACTIONS(256),
  },
  [9607] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(8904),
    [sym__binary_star] = ACTIONS(8906),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(8910),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(8926),
    [anon_sym_GT_GT] = ACTIONS(8926),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(8934),
    [anon_sym_SLASH] = ACTIONS(8910),
    [anon_sym_PERCENT] = ACTIONS(8910),
    [sym_comment] = ACTIONS(256),
  },
  [9608] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(8904),
    [sym__binary_star] = ACTIONS(8906),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(8908),
    [anon_sym_STAR_STAR] = ACTIONS(8910),
    [anon_sym_AMP] = ACTIONS(8912),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(8926),
    [anon_sym_GT_GT] = ACTIONS(8926),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(8932),
    [anon_sym_PLUS] = ACTIONS(8934),
    [anon_sym_SLASH] = ACTIONS(8910),
    [anon_sym_PERCENT] = ACTIONS(8910),
    [sym_comment] = ACTIONS(256),
  },
  [9609] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(14818),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [9610] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__element_reference_left_bracket] = ACTIONS(7108),
    [sym__scope_double_colon] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(8904),
    [sym__binary_star] = ACTIONS(8906),
    [anon_sym_LBRACE] = ACTIONS(7108),
    [anon_sym_RPAREN] = ACTIONS(7108),
    [anon_sym_DOT] = ACTIONS(9472),
    [anon_sym_COMMA] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(8908),
    [anon_sym_STAR_STAR] = ACTIONS(8910),
    [anon_sym_AMP] = ACTIONS(8912),
    [anon_sym_EQ] = ACTIONS(9472),
    [anon_sym_LT] = ACTIONS(8914),
    [anon_sym_do] = ACTIONS(7108),
    [anon_sym_EQ_GT] = ACTIONS(7108),
    [anon_sym_AMP_DOT] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(8918),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8920),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(8924),
    [anon_sym_AMP_AMP] = ACTIONS(8924),
    [anon_sym_LT_LT] = ACTIONS(8926),
    [anon_sym_GT_GT] = ACTIONS(8926),
    [anon_sym_EQ_EQ] = ACTIONS(8928),
    [anon_sym_BANG_EQ] = ACTIONS(8924),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8924),
    [anon_sym_LT_EQ_GT] = ACTIONS(8924),
    [anon_sym_EQ_TILDE] = ACTIONS(8924),
    [anon_sym_BANG_TILDE] = ACTIONS(8924),
    [anon_sym_LT_EQ] = ACTIONS(8914),
    [anon_sym_GT] = ACTIONS(8914),
    [anon_sym_GT_EQ] = ACTIONS(8930),
    [anon_sym_CARET] = ACTIONS(8932),
    [anon_sym_PLUS] = ACTIONS(8934),
    [anon_sym_SLASH] = ACTIONS(8910),
    [anon_sym_PERCENT] = ACTIONS(8910),
    [sym_comment] = ACTIONS(256),
  },
  [9611] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(8904),
    [sym__binary_star] = ACTIONS(8906),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(8908),
    [anon_sym_STAR_STAR] = ACTIONS(8910),
    [anon_sym_AMP] = ACTIONS(8912),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(8914),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(8916),
    [anon_sym_DOT_DOT] = ACTIONS(8918),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8920),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(8924),
    [anon_sym_AMP_AMP] = ACTIONS(8924),
    [anon_sym_LT_LT] = ACTIONS(8926),
    [anon_sym_GT_GT] = ACTIONS(8926),
    [anon_sym_EQ_EQ] = ACTIONS(8928),
    [anon_sym_BANG_EQ] = ACTIONS(8924),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8924),
    [anon_sym_LT_EQ_GT] = ACTIONS(8924),
    [anon_sym_EQ_TILDE] = ACTIONS(8924),
    [anon_sym_BANG_TILDE] = ACTIONS(8924),
    [anon_sym_LT_EQ] = ACTIONS(8914),
    [anon_sym_GT] = ACTIONS(8914),
    [anon_sym_GT_EQ] = ACTIONS(8930),
    [anon_sym_CARET] = ACTIONS(8932),
    [anon_sym_PLUS] = ACTIONS(8934),
    [anon_sym_SLASH] = ACTIONS(8910),
    [anon_sym_PERCENT] = ACTIONS(8910),
    [sym_comment] = ACTIONS(256),
  },
  [9612] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(8904),
    [sym__binary_star] = ACTIONS(8906),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(8908),
    [anon_sym_STAR_STAR] = ACTIONS(8910),
    [anon_sym_AMP] = ACTIONS(8912),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(8914),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(8926),
    [anon_sym_GT_GT] = ACTIONS(8926),
    [anon_sym_EQ_EQ] = ACTIONS(8928),
    [anon_sym_BANG_EQ] = ACTIONS(8924),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8924),
    [anon_sym_LT_EQ_GT] = ACTIONS(8924),
    [anon_sym_EQ_TILDE] = ACTIONS(8924),
    [anon_sym_BANG_TILDE] = ACTIONS(8924),
    [anon_sym_LT_EQ] = ACTIONS(8914),
    [anon_sym_GT] = ACTIONS(8914),
    [anon_sym_GT_EQ] = ACTIONS(8930),
    [anon_sym_CARET] = ACTIONS(8932),
    [anon_sym_PLUS] = ACTIONS(8934),
    [anon_sym_SLASH] = ACTIONS(8910),
    [anon_sym_PERCENT] = ACTIONS(8910),
    [sym_comment] = ACTIONS(256),
  },
  [9613] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(8904),
    [sym__binary_star] = ACTIONS(8906),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(8910),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(8934),
    [anon_sym_SLASH] = ACTIONS(8910),
    [anon_sym_PERCENT] = ACTIONS(8910),
    [sym_comment] = ACTIONS(256),
  },
  [9614] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(8906),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(8910),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(8910),
    [anon_sym_PERCENT] = ACTIONS(8910),
    [sym_comment] = ACTIONS(256),
  },
  [9615] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3272),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(9738),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3274),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3275),
    [sym__variable] = STATE(3235),
    [sym_reserved_identifier] = STATE(3276),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(3277),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(4716),
    [sym__splat_star] = ACTIONS(4718),
    [sym__unary_minus] = ACTIONS(4720),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(4722),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(4724),
    [anon_sym_yield] = ACTIONS(4726),
    [anon_sym_break] = ACTIONS(4728),
    [anon_sym_next] = ACTIONS(4730),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(4732),
    [anon_sym_defined_QMARK] = ACTIONS(4734),
    [anon_sym_not] = ACTIONS(4736),
    [anon_sym_BANG] = ACTIONS(4738),
    [anon_sym_TILDE] = ACTIONS(4738),
    [sym_constant] = ACTIONS(4740),
    [sym_identifier] = ACTIONS(4740),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9616] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3272),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(9738),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3274),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3275),
    [sym__variable] = STATE(3235),
    [sym_reserved_identifier] = STATE(3276),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(3277),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(11992),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(4716),
    [sym__splat_star] = ACTIONS(4718),
    [sym__unary_minus] = ACTIONS(4720),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(4722),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(4724),
    [anon_sym_yield] = ACTIONS(4726),
    [anon_sym_break] = ACTIONS(4728),
    [anon_sym_next] = ACTIONS(4730),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(4732),
    [anon_sym_defined_QMARK] = ACTIONS(4734),
    [anon_sym_not] = ACTIONS(4736),
    [anon_sym_BANG] = ACTIONS(4738),
    [anon_sym_TILDE] = ACTIONS(4738),
    [sym_constant] = ACTIONS(4740),
    [sym_identifier] = ACTIONS(4740),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9617] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__element_reference_left_bracket] = ACTIONS(6346),
    [sym__scope_double_colon] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(8904),
    [sym__binary_star] = ACTIONS(8906),
    [anon_sym_LBRACE] = ACTIONS(6346),
    [anon_sym_RPAREN] = ACTIONS(6346),
    [anon_sym_DOT] = ACTIONS(7328),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(8908),
    [anon_sym_STAR_STAR] = ACTIONS(8910),
    [anon_sym_AMP] = ACTIONS(8912),
    [anon_sym_EQ] = ACTIONS(7328),
    [anon_sym_LT] = ACTIONS(8914),
    [anon_sym_do] = ACTIONS(6346),
    [anon_sym_EQ_GT] = ACTIONS(6346),
    [anon_sym_AMP_DOT] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(8916),
    [anon_sym_DOT_DOT] = ACTIONS(8918),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8920),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(8924),
    [anon_sym_AMP_AMP] = ACTIONS(8924),
    [anon_sym_LT_LT] = ACTIONS(8926),
    [anon_sym_GT_GT] = ACTIONS(8926),
    [anon_sym_EQ_EQ] = ACTIONS(8928),
    [anon_sym_BANG_EQ] = ACTIONS(8924),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8924),
    [anon_sym_LT_EQ_GT] = ACTIONS(8924),
    [anon_sym_EQ_TILDE] = ACTIONS(8924),
    [anon_sym_BANG_TILDE] = ACTIONS(8924),
    [anon_sym_LT_EQ] = ACTIONS(8914),
    [anon_sym_GT] = ACTIONS(8914),
    [anon_sym_GT_EQ] = ACTIONS(8930),
    [anon_sym_CARET] = ACTIONS(8932),
    [anon_sym_PLUS] = ACTIONS(8934),
    [anon_sym_SLASH] = ACTIONS(8910),
    [anon_sym_PERCENT] = ACTIONS(8910),
    [sym_comment] = ACTIONS(256),
  },
  [9618] = {
    [aux_sym_exceptions_repeat1] = STATE(11994),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__element_reference_left_bracket] = ACTIONS(7330),
    [sym__scope_double_colon] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_LBRACE] = ACTIONS(7330),
    [anon_sym_RPAREN] = ACTIONS(7330),
    [anon_sym_DOT] = ACTIONS(7332),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_EQ] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_do] = ACTIONS(7330),
    [anon_sym_EQ_GT] = ACTIONS(7330),
    [anon_sym_AMP_DOT] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(256),
  },
  [9619] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__element_reference_left_bracket] = ACTIONS(7344),
    [sym__scope_double_colon] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(8904),
    [sym__binary_star] = ACTIONS(8906),
    [anon_sym_LBRACE] = ACTIONS(7344),
    [anon_sym_RPAREN] = ACTIONS(7344),
    [anon_sym_DOT] = ACTIONS(9504),
    [anon_sym_COMMA] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(8908),
    [anon_sym_STAR_STAR] = ACTIONS(8910),
    [anon_sym_AMP] = ACTIONS(8912),
    [anon_sym_EQ] = ACTIONS(9504),
    [anon_sym_LT] = ACTIONS(8914),
    [anon_sym_do] = ACTIONS(7344),
    [anon_sym_EQ_GT] = ACTIONS(7344),
    [anon_sym_AMP_DOT] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(8916),
    [anon_sym_DOT_DOT] = ACTIONS(8918),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8920),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(8924),
    [anon_sym_AMP_AMP] = ACTIONS(8924),
    [anon_sym_LT_LT] = ACTIONS(8926),
    [anon_sym_GT_GT] = ACTIONS(8926),
    [anon_sym_EQ_EQ] = ACTIONS(8928),
    [anon_sym_BANG_EQ] = ACTIONS(8924),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8924),
    [anon_sym_LT_EQ_GT] = ACTIONS(8924),
    [anon_sym_EQ_TILDE] = ACTIONS(8924),
    [anon_sym_BANG_TILDE] = ACTIONS(8924),
    [anon_sym_LT_EQ] = ACTIONS(8914),
    [anon_sym_GT] = ACTIONS(8914),
    [anon_sym_GT_EQ] = ACTIONS(8930),
    [anon_sym_CARET] = ACTIONS(8932),
    [anon_sym_PLUS] = ACTIONS(8934),
    [anon_sym_SLASH] = ACTIONS(8910),
    [anon_sym_PERCENT] = ACTIONS(8910),
    [sym_comment] = ACTIONS(256),
  },
  [9620] = {
    [sym__simple_heredoc_body] = ACTIONS(8662),
    [sym__heredoc_body_beginning] = ACTIONS(8662),
    [sym__element_reference_left_bracket] = ACTIONS(8662),
    [sym__scope_double_colon] = ACTIONS(8662),
    [sym__binary_minus] = ACTIONS(12490),
    [sym__binary_star] = ACTIONS(12492),
    [anon_sym_LBRACE] = ACTIONS(8662),
    [anon_sym_RPAREN] = ACTIONS(8662),
    [anon_sym_DOT] = ACTIONS(9506),
    [anon_sym_COMMA] = ACTIONS(8662),
    [anon_sym_PIPE] = ACTIONS(12494),
    [anon_sym_STAR_STAR] = ACTIONS(12496),
    [anon_sym_AMP] = ACTIONS(12498),
    [anon_sym_EQ] = ACTIONS(9506),
    [anon_sym_LT] = ACTIONS(12500),
    [anon_sym_do] = ACTIONS(8662),
    [anon_sym_AMP_DOT] = ACTIONS(8662),
    [anon_sym_QMARK] = ACTIONS(12502),
    [anon_sym_DOT_DOT] = ACTIONS(12504),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12506),
    [anon_sym_and] = ACTIONS(12508),
    [anon_sym_or] = ACTIONS(12508),
    [anon_sym_PIPE_PIPE] = ACTIONS(12510),
    [anon_sym_AMP_AMP] = ACTIONS(12510),
    [anon_sym_LT_LT] = ACTIONS(12512),
    [anon_sym_GT_GT] = ACTIONS(12512),
    [anon_sym_EQ_EQ] = ACTIONS(12514),
    [anon_sym_BANG_EQ] = ACTIONS(12510),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12510),
    [anon_sym_LT_EQ_GT] = ACTIONS(12510),
    [anon_sym_EQ_TILDE] = ACTIONS(12510),
    [anon_sym_BANG_TILDE] = ACTIONS(12510),
    [anon_sym_LT_EQ] = ACTIONS(12500),
    [anon_sym_GT] = ACTIONS(12500),
    [anon_sym_GT_EQ] = ACTIONS(12516),
    [anon_sym_CARET] = ACTIONS(12518),
    [anon_sym_PLUS] = ACTIONS(12520),
    [anon_sym_SLASH] = ACTIONS(12496),
    [anon_sym_PERCENT] = ACTIONS(12496),
    [sym_comment] = ACTIONS(256),
  },
  [9621] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__line_break] = ACTIONS(7008),
    [sym__element_reference_left_bracket] = ACTIONS(7008),
    [sym__scope_double_colon] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(8948),
    [anon_sym_RPAREN] = ACTIONS(7008),
    [anon_sym_DOT] = ACTIONS(7010),
    [anon_sym_COMMA] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_SEMI] = ACTIONS(7008),
    [anon_sym_STAR_STAR] = ACTIONS(8952),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_if] = ACTIONS(7008),
    [anon_sym_unless] = ACTIONS(7008),
    [anon_sym_while] = ACTIONS(7008),
    [anon_sym_until] = ACTIONS(7008),
    [anon_sym_rescue] = ACTIONS(7008),
    [anon_sym_AMP_DOT] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7008),
    [anon_sym_AMP_AMP] = ACTIONS(7008),
    [anon_sym_LT_LT] = ACTIONS(7008),
    [anon_sym_GT_GT] = ACTIONS(7008),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7008),
    [anon_sym_PLUS] = ACTIONS(7008),
    [anon_sym_SLASH] = ACTIONS(8952),
    [anon_sym_PERCENT] = ACTIONS(8952),
    [sym_comment] = ACTIONS(110),
  },
  [9622] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__line_break] = ACTIONS(7012),
    [sym__element_reference_left_bracket] = ACTIONS(7012),
    [sym__scope_double_colon] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_RPAREN] = ACTIONS(7012),
    [anon_sym_DOT] = ACTIONS(7014),
    [anon_sym_COMMA] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_SEMI] = ACTIONS(7012),
    [anon_sym_STAR_STAR] = ACTIONS(8952),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_if] = ACTIONS(7012),
    [anon_sym_unless] = ACTIONS(7012),
    [anon_sym_while] = ACTIONS(7012),
    [anon_sym_until] = ACTIONS(7012),
    [anon_sym_rescue] = ACTIONS(7012),
    [anon_sym_AMP_DOT] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7012),
    [anon_sym_AMP_AMP] = ACTIONS(7012),
    [anon_sym_LT_LT] = ACTIONS(7012),
    [anon_sym_GT_GT] = ACTIONS(7012),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7012),
    [anon_sym_PLUS] = ACTIONS(7012),
    [anon_sym_SLASH] = ACTIONS(7012),
    [anon_sym_PERCENT] = ACTIONS(7012),
    [sym_comment] = ACTIONS(110),
  },
  [9623] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(8946),
    [sym__binary_star] = ACTIONS(8948),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(8952),
    [anon_sym_AMP] = ACTIONS(8954),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(8966),
    [anon_sym_GT_GT] = ACTIONS(8966),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(8974),
    [anon_sym_SLASH] = ACTIONS(8952),
    [anon_sym_PERCENT] = ACTIONS(8952),
    [sym_comment] = ACTIONS(110),
  },
  [9624] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(8952),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7016),
    [anon_sym_PERCENT] = ACTIONS(7016),
    [sym_comment] = ACTIONS(110),
  },
  [9625] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(8946),
    [sym__binary_star] = ACTIONS(8948),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(8952),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(8966),
    [anon_sym_GT_GT] = ACTIONS(8966),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(8974),
    [anon_sym_SLASH] = ACTIONS(8952),
    [anon_sym_PERCENT] = ACTIONS(8952),
    [sym_comment] = ACTIONS(110),
  },
  [9626] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(8946),
    [sym__binary_star] = ACTIONS(8948),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(8950),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(8952),
    [anon_sym_AMP] = ACTIONS(8954),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(8966),
    [anon_sym_GT_GT] = ACTIONS(8966),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(8972),
    [anon_sym_PLUS] = ACTIONS(8974),
    [anon_sym_SLASH] = ACTIONS(8952),
    [anon_sym_PERCENT] = ACTIONS(8952),
    [sym_comment] = ACTIONS(110),
  },
  [9627] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(14820),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [9628] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__line_break] = ACTIONS(7108),
    [sym__element_reference_left_bracket] = ACTIONS(7108),
    [sym__scope_double_colon] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(8946),
    [sym__binary_star] = ACTIONS(8948),
    [anon_sym_RPAREN] = ACTIONS(7108),
    [anon_sym_DOT] = ACTIONS(9472),
    [anon_sym_COMMA] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(8950),
    [anon_sym_SEMI] = ACTIONS(7108),
    [anon_sym_STAR_STAR] = ACTIONS(8952),
    [anon_sym_AMP] = ACTIONS(8954),
    [anon_sym_LT] = ACTIONS(8956),
    [anon_sym_if] = ACTIONS(7108),
    [anon_sym_unless] = ACTIONS(7108),
    [anon_sym_while] = ACTIONS(7108),
    [anon_sym_until] = ACTIONS(7108),
    [anon_sym_rescue] = ACTIONS(7108),
    [anon_sym_AMP_DOT] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(8960),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8962),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(8964),
    [anon_sym_AMP_AMP] = ACTIONS(8964),
    [anon_sym_LT_LT] = ACTIONS(8966),
    [anon_sym_GT_GT] = ACTIONS(8966),
    [anon_sym_EQ_EQ] = ACTIONS(8968),
    [anon_sym_BANG_EQ] = ACTIONS(8964),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8964),
    [anon_sym_LT_EQ_GT] = ACTIONS(8964),
    [anon_sym_EQ_TILDE] = ACTIONS(8964),
    [anon_sym_BANG_TILDE] = ACTIONS(8964),
    [anon_sym_LT_EQ] = ACTIONS(8956),
    [anon_sym_GT] = ACTIONS(8956),
    [anon_sym_GT_EQ] = ACTIONS(8970),
    [anon_sym_CARET] = ACTIONS(8972),
    [anon_sym_PLUS] = ACTIONS(8974),
    [anon_sym_SLASH] = ACTIONS(8952),
    [anon_sym_PERCENT] = ACTIONS(8952),
    [sym_comment] = ACTIONS(110),
  },
  [9629] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(8946),
    [sym__binary_star] = ACTIONS(8948),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(8950),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(8952),
    [anon_sym_AMP] = ACTIONS(8954),
    [anon_sym_LT] = ACTIONS(8956),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(8958),
    [anon_sym_DOT_DOT] = ACTIONS(8960),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8962),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(8964),
    [anon_sym_AMP_AMP] = ACTIONS(8964),
    [anon_sym_LT_LT] = ACTIONS(8966),
    [anon_sym_GT_GT] = ACTIONS(8966),
    [anon_sym_EQ_EQ] = ACTIONS(8968),
    [anon_sym_BANG_EQ] = ACTIONS(8964),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8964),
    [anon_sym_LT_EQ_GT] = ACTIONS(8964),
    [anon_sym_EQ_TILDE] = ACTIONS(8964),
    [anon_sym_BANG_TILDE] = ACTIONS(8964),
    [anon_sym_LT_EQ] = ACTIONS(8956),
    [anon_sym_GT] = ACTIONS(8956),
    [anon_sym_GT_EQ] = ACTIONS(8970),
    [anon_sym_CARET] = ACTIONS(8972),
    [anon_sym_PLUS] = ACTIONS(8974),
    [anon_sym_SLASH] = ACTIONS(8952),
    [anon_sym_PERCENT] = ACTIONS(8952),
    [sym_comment] = ACTIONS(110),
  },
  [9630] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(8946),
    [sym__binary_star] = ACTIONS(8948),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(8950),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(8952),
    [anon_sym_AMP] = ACTIONS(8954),
    [anon_sym_LT] = ACTIONS(8956),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(8966),
    [anon_sym_GT_GT] = ACTIONS(8966),
    [anon_sym_EQ_EQ] = ACTIONS(8968),
    [anon_sym_BANG_EQ] = ACTIONS(8964),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8964),
    [anon_sym_LT_EQ_GT] = ACTIONS(8964),
    [anon_sym_EQ_TILDE] = ACTIONS(8964),
    [anon_sym_BANG_TILDE] = ACTIONS(8964),
    [anon_sym_LT_EQ] = ACTIONS(8956),
    [anon_sym_GT] = ACTIONS(8956),
    [anon_sym_GT_EQ] = ACTIONS(8970),
    [anon_sym_CARET] = ACTIONS(8972),
    [anon_sym_PLUS] = ACTIONS(8974),
    [anon_sym_SLASH] = ACTIONS(8952),
    [anon_sym_PERCENT] = ACTIONS(8952),
    [sym_comment] = ACTIONS(110),
  },
  [9631] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(8946),
    [sym__binary_star] = ACTIONS(8948),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(8952),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(8974),
    [anon_sym_SLASH] = ACTIONS(8952),
    [anon_sym_PERCENT] = ACTIONS(8952),
    [sym_comment] = ACTIONS(110),
  },
  [9632] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(8948),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(8952),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(8952),
    [anon_sym_PERCENT] = ACTIONS(8952),
    [sym_comment] = ACTIONS(110),
  },
  [9633] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__line_break] = ACTIONS(6346),
    [sym__element_reference_left_bracket] = ACTIONS(6346),
    [sym__scope_double_colon] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(8946),
    [sym__binary_star] = ACTIONS(8948),
    [anon_sym_RPAREN] = ACTIONS(6346),
    [anon_sym_DOT] = ACTIONS(7328),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(8950),
    [anon_sym_SEMI] = ACTIONS(6346),
    [anon_sym_STAR_STAR] = ACTIONS(8952),
    [anon_sym_AMP] = ACTIONS(8954),
    [anon_sym_LT] = ACTIONS(8956),
    [anon_sym_if] = ACTIONS(6346),
    [anon_sym_unless] = ACTIONS(6346),
    [anon_sym_while] = ACTIONS(6346),
    [anon_sym_until] = ACTIONS(6346),
    [anon_sym_rescue] = ACTIONS(6346),
    [anon_sym_AMP_DOT] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(8958),
    [anon_sym_DOT_DOT] = ACTIONS(8960),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8962),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(8964),
    [anon_sym_AMP_AMP] = ACTIONS(8964),
    [anon_sym_LT_LT] = ACTIONS(8966),
    [anon_sym_GT_GT] = ACTIONS(8966),
    [anon_sym_EQ_EQ] = ACTIONS(8968),
    [anon_sym_BANG_EQ] = ACTIONS(8964),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8964),
    [anon_sym_LT_EQ_GT] = ACTIONS(8964),
    [anon_sym_EQ_TILDE] = ACTIONS(8964),
    [anon_sym_BANG_TILDE] = ACTIONS(8964),
    [anon_sym_LT_EQ] = ACTIONS(8956),
    [anon_sym_GT] = ACTIONS(8956),
    [anon_sym_GT_EQ] = ACTIONS(8970),
    [anon_sym_CARET] = ACTIONS(8972),
    [anon_sym_PLUS] = ACTIONS(8974),
    [anon_sym_SLASH] = ACTIONS(8952),
    [anon_sym_PERCENT] = ACTIONS(8952),
    [sym_comment] = ACTIONS(110),
  },
  [9634] = {
    [aux_sym_exceptions_repeat1] = STATE(11997),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__line_break] = ACTIONS(7330),
    [sym__element_reference_left_bracket] = ACTIONS(7330),
    [sym__scope_double_colon] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_RPAREN] = ACTIONS(7330),
    [anon_sym_DOT] = ACTIONS(7332),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_SEMI] = ACTIONS(7330),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_if] = ACTIONS(7330),
    [anon_sym_unless] = ACTIONS(7330),
    [anon_sym_while] = ACTIONS(7330),
    [anon_sym_until] = ACTIONS(7330),
    [anon_sym_rescue] = ACTIONS(7330),
    [anon_sym_AMP_DOT] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [9635] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__line_break] = ACTIONS(7344),
    [sym__element_reference_left_bracket] = ACTIONS(7344),
    [sym__scope_double_colon] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(8946),
    [sym__binary_star] = ACTIONS(8948),
    [anon_sym_RPAREN] = ACTIONS(7344),
    [anon_sym_DOT] = ACTIONS(9504),
    [anon_sym_COMMA] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(8950),
    [anon_sym_SEMI] = ACTIONS(7344),
    [anon_sym_STAR_STAR] = ACTIONS(8952),
    [anon_sym_AMP] = ACTIONS(8954),
    [anon_sym_LT] = ACTIONS(8956),
    [anon_sym_if] = ACTIONS(7344),
    [anon_sym_unless] = ACTIONS(7344),
    [anon_sym_while] = ACTIONS(7344),
    [anon_sym_until] = ACTIONS(7344),
    [anon_sym_rescue] = ACTIONS(7344),
    [anon_sym_AMP_DOT] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(8958),
    [anon_sym_DOT_DOT] = ACTIONS(8960),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8962),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(8964),
    [anon_sym_AMP_AMP] = ACTIONS(8964),
    [anon_sym_LT_LT] = ACTIONS(8966),
    [anon_sym_GT_GT] = ACTIONS(8966),
    [anon_sym_EQ_EQ] = ACTIONS(8968),
    [anon_sym_BANG_EQ] = ACTIONS(8964),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8964),
    [anon_sym_LT_EQ_GT] = ACTIONS(8964),
    [anon_sym_EQ_TILDE] = ACTIONS(8964),
    [anon_sym_BANG_TILDE] = ACTIONS(8964),
    [anon_sym_LT_EQ] = ACTIONS(8956),
    [anon_sym_GT] = ACTIONS(8956),
    [anon_sym_GT_EQ] = ACTIONS(8970),
    [anon_sym_CARET] = ACTIONS(8972),
    [anon_sym_PLUS] = ACTIONS(8974),
    [anon_sym_SLASH] = ACTIONS(8952),
    [anon_sym_PERCENT] = ACTIONS(8952),
    [sym_comment] = ACTIONS(110),
  },
  [9636] = {
    [sym__simple_heredoc_body] = ACTIONS(8568),
    [sym__heredoc_body_beginning] = ACTIONS(8568),
    [sym__line_break] = ACTIONS(8568),
    [sym__element_reference_left_bracket] = ACTIONS(8568),
    [sym__scope_double_colon] = ACTIONS(8568),
    [sym__binary_minus] = ACTIONS(4774),
    [sym__binary_star] = ACTIONS(4776),
    [anon_sym_RPAREN] = ACTIONS(8568),
    [anon_sym_DOT] = ACTIONS(9468),
    [anon_sym_COMMA] = ACTIONS(8568),
    [anon_sym_PIPE] = ACTIONS(4778),
    [anon_sym_SEMI] = ACTIONS(8568),
    [anon_sym_STAR_STAR] = ACTIONS(4780),
    [anon_sym_AMP] = ACTIONS(4782),
    [anon_sym_LT] = ACTIONS(4784),
    [anon_sym_if] = ACTIONS(8568),
    [anon_sym_unless] = ACTIONS(8568),
    [anon_sym_while] = ACTIONS(8568),
    [anon_sym_until] = ACTIONS(8568),
    [anon_sym_rescue] = ACTIONS(8568),
    [anon_sym_EQ_GT] = ACTIONS(8568),
    [anon_sym_AMP_DOT] = ACTIONS(8568),
    [anon_sym_QMARK] = ACTIONS(4786),
    [anon_sym_DOT_DOT] = ACTIONS(4788),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4790),
    [anon_sym_and] = ACTIONS(8568),
    [anon_sym_or] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE] = ACTIONS(4792),
    [anon_sym_AMP_AMP] = ACTIONS(4792),
    [anon_sym_LT_LT] = ACTIONS(4794),
    [anon_sym_GT_GT] = ACTIONS(4794),
    [anon_sym_EQ_EQ] = ACTIONS(4796),
    [anon_sym_BANG_EQ] = ACTIONS(4792),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4792),
    [anon_sym_LT_EQ_GT] = ACTIONS(4792),
    [anon_sym_EQ_TILDE] = ACTIONS(4792),
    [anon_sym_BANG_TILDE] = ACTIONS(4792),
    [anon_sym_LT_EQ] = ACTIONS(4784),
    [anon_sym_GT] = ACTIONS(4784),
    [anon_sym_GT_EQ] = ACTIONS(4798),
    [anon_sym_CARET] = ACTIONS(4800),
    [anon_sym_PLUS] = ACTIONS(4802),
    [anon_sym_SLASH] = ACTIONS(4780),
    [anon_sym_PERCENT] = ACTIONS(4780),
    [sym_comment] = ACTIONS(110),
  },
  [9637] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3297),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1174),
    [sym_call] = STATE(1174),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(6955),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1176),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(1174),
    [sym_reserved_identifier] = STATE(3299),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(3300),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__block_ampersand] = ACTIONS(4766),
    [sym__splat_star] = ACTIONS(4768),
    [sym__unary_minus] = ACTIONS(1892),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(12536),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(1896),
    [anon_sym_yield] = ACTIONS(1898),
    [anon_sym_break] = ACTIONS(1900),
    [anon_sym_next] = ACTIONS(1902),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(4760),
    [anon_sym_defined_QMARK] = ACTIONS(1904),
    [anon_sym_not] = ACTIONS(1906),
    [anon_sym_BANG] = ACTIONS(1910),
    [anon_sym_TILDE] = ACTIONS(1910),
    [sym_constant] = ACTIONS(4770),
    [sym_identifier] = ACTIONS(4770),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9638] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3297),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1174),
    [sym_call] = STATE(1174),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(6955),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1176),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(1174),
    [sym_reserved_identifier] = STATE(3299),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(3300),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(11998),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__block_ampersand] = ACTIONS(4766),
    [sym__splat_star] = ACTIONS(4768),
    [sym__unary_minus] = ACTIONS(1892),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(12536),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(1896),
    [anon_sym_yield] = ACTIONS(1898),
    [anon_sym_break] = ACTIONS(1900),
    [anon_sym_next] = ACTIONS(1902),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(4760),
    [anon_sym_defined_QMARK] = ACTIONS(1904),
    [anon_sym_not] = ACTIONS(1906),
    [anon_sym_BANG] = ACTIONS(1910),
    [anon_sym_TILDE] = ACTIONS(1910),
    [sym_constant] = ACTIONS(4770),
    [sym_identifier] = ACTIONS(4770),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9639] = {
    [sym__simple_heredoc_body] = ACTIONS(8662),
    [sym__heredoc_body_beginning] = ACTIONS(8662),
    [sym__line_break] = ACTIONS(8662),
    [sym__element_reference_left_bracket] = ACTIONS(8662),
    [sym__scope_double_colon] = ACTIONS(8662),
    [sym__binary_minus] = ACTIONS(4774),
    [sym__binary_star] = ACTIONS(4776),
    [anon_sym_RPAREN] = ACTIONS(8662),
    [anon_sym_DOT] = ACTIONS(9506),
    [anon_sym_COMMA] = ACTIONS(8662),
    [anon_sym_PIPE] = ACTIONS(4778),
    [anon_sym_SEMI] = ACTIONS(8662),
    [anon_sym_STAR_STAR] = ACTIONS(4780),
    [anon_sym_AMP] = ACTIONS(4782),
    [anon_sym_LT] = ACTIONS(4784),
    [anon_sym_if] = ACTIONS(8662),
    [anon_sym_unless] = ACTIONS(8662),
    [anon_sym_while] = ACTIONS(8662),
    [anon_sym_until] = ACTIONS(8662),
    [anon_sym_rescue] = ACTIONS(8662),
    [anon_sym_EQ_GT] = ACTIONS(8662),
    [anon_sym_AMP_DOT] = ACTIONS(8662),
    [anon_sym_QMARK] = ACTIONS(4786),
    [anon_sym_DOT_DOT] = ACTIONS(4788),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4790),
    [anon_sym_and] = ACTIONS(8662),
    [anon_sym_or] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE] = ACTIONS(4792),
    [anon_sym_AMP_AMP] = ACTIONS(4792),
    [anon_sym_LT_LT] = ACTIONS(4794),
    [anon_sym_GT_GT] = ACTIONS(4794),
    [anon_sym_EQ_EQ] = ACTIONS(4796),
    [anon_sym_BANG_EQ] = ACTIONS(4792),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4792),
    [anon_sym_LT_EQ_GT] = ACTIONS(4792),
    [anon_sym_EQ_TILDE] = ACTIONS(4792),
    [anon_sym_BANG_TILDE] = ACTIONS(4792),
    [anon_sym_LT_EQ] = ACTIONS(4784),
    [anon_sym_GT] = ACTIONS(4784),
    [anon_sym_GT_EQ] = ACTIONS(4798),
    [anon_sym_CARET] = ACTIONS(4800),
    [anon_sym_PLUS] = ACTIONS(4802),
    [anon_sym_SLASH] = ACTIONS(4780),
    [anon_sym_PERCENT] = ACTIONS(4780),
    [sym_comment] = ACTIONS(110),
  },
  [9640] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(11999),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1174),
    [sym_call] = STATE(1174),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1176),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(1174),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1892),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(4752),
    [anon_sym_yield] = ACTIONS(4754),
    [anon_sym_break] = ACTIONS(4756),
    [anon_sym_next] = ACTIONS(4758),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4760),
    [anon_sym_defined_QMARK] = ACTIONS(1904),
    [anon_sym_not] = ACTIONS(4762),
    [anon_sym_BANG] = ACTIONS(1910),
    [anon_sym_TILDE] = ACTIONS(1910),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9641] = {
    [sym__simple_string] = ACTIONS(5370),
    [sym__simple_symbol] = ACTIONS(5370),
    [sym__simple_subshell] = ACTIONS(5370),
    [sym__simple_regex] = ACTIONS(5370),
    [sym__simple_word_list] = ACTIONS(5370),
    [sym__simple_heredoc_body] = ACTIONS(5370),
    [sym__string_beginning] = ACTIONS(5370),
    [sym__symbol_beginning] = ACTIONS(5370),
    [sym__subshell_beginning] = ACTIONS(5370),
    [sym__regex_beginning] = ACTIONS(5370),
    [sym__word_list_beginning] = ACTIONS(5370),
    [sym__heredoc_body_beginning] = ACTIONS(5370),
    [sym_heredoc_beginning] = ACTIONS(5370),
    [sym__line_break] = ACTIONS(5370),
    [sym__element_reference_left_bracket] = ACTIONS(5370),
    [sym__block_ampersand] = ACTIONS(5370),
    [sym__splat_star] = ACTIONS(5370),
    [sym__argument_list_left_paren] = ACTIONS(5370),
    [sym__scope_double_colon] = ACTIONS(5370),
    [sym__unary_minus] = ACTIONS(5370),
    [sym__binary_minus] = ACTIONS(5370),
    [sym__binary_star] = ACTIONS(5370),
    [anon_sym_LBRACE] = ACTIONS(5370),
    [anon_sym_RBRACE] = ACTIONS(5370),
    [anon_sym_def] = ACTIONS(5372),
    [anon_sym_LPAREN] = ACTIONS(5370),
    [anon_sym_RPAREN] = ACTIONS(5370),
    [anon_sym_DOT] = ACTIONS(5372),
    [anon_sym_COLON_COLON] = ACTIONS(5370),
    [anon_sym_end] = ACTIONS(5372),
    [anon_sym_COMMA] = ACTIONS(5370),
    [anon_sym_PIPE] = ACTIONS(5372),
    [anon_sym_SEMI] = ACTIONS(5370),
    [anon_sym_STAR] = ACTIONS(5372),
    [anon_sym_STAR_STAR] = ACTIONS(5372),
    [anon_sym_AMP] = ACTIONS(5372),
    [anon_sym_EQ] = ACTIONS(5372),
    [anon_sym_class] = ACTIONS(5372),
    [anon_sym_LT] = ACTIONS(5372),
    [anon_sym_module] = ACTIONS(5372),
    [anon_sym_return] = ACTIONS(5372),
    [anon_sym_yield] = ACTIONS(5372),
    [anon_sym_break] = ACTIONS(5372),
    [anon_sym_next] = ACTIONS(5372),
    [anon_sym_redo] = ACTIONS(5372),
    [anon_sym_retry] = ACTIONS(5372),
    [anon_sym_if] = ACTIONS(5372),
    [anon_sym_unless] = ACTIONS(5372),
    [anon_sym_while] = ACTIONS(5372),
    [anon_sym_until] = ACTIONS(5372),
    [anon_sym_rescue] = ACTIONS(5372),
    [anon_sym_for] = ACTIONS(5372),
    [anon_sym_in] = ACTIONS(5372),
    [anon_sym_do] = ACTIONS(5372),
    [anon_sym_case] = ACTIONS(5372),
    [anon_sym_when] = ACTIONS(5372),
    [anon_sym_elsif] = ACTIONS(5372),
    [anon_sym_else] = ACTIONS(5372),
    [anon_sym_then] = ACTIONS(5372),
    [anon_sym_begin] = ACTIONS(5372),
    [anon_sym_ensure] = ACTIONS(5372),
    [anon_sym_EQ_GT] = ACTIONS(5370),
    [anon_sym_AMP_DOT] = ACTIONS(5370),
    [anon_sym_PLUS_EQ] = ACTIONS(5370),
    [anon_sym_DASH_EQ] = ACTIONS(5370),
    [anon_sym_STAR_EQ] = ACTIONS(5370),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5370),
    [anon_sym_SLASH_EQ] = ACTIONS(5370),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5370),
    [anon_sym_PIPE_EQ] = ACTIONS(5370),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5370),
    [anon_sym_AMP_EQ] = ACTIONS(5370),
    [anon_sym_PERCENT_EQ] = ACTIONS(5370),
    [anon_sym_GT_GT_EQ] = ACTIONS(5370),
    [anon_sym_LT_LT_EQ] = ACTIONS(5370),
    [anon_sym_CARET_EQ] = ACTIONS(5370),
    [anon_sym_QMARK] = ACTIONS(5372),
    [anon_sym_DOT_DOT] = ACTIONS(5372),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5370),
    [anon_sym_and] = ACTIONS(5372),
    [anon_sym_or] = ACTIONS(5372),
    [anon_sym_PIPE_PIPE] = ACTIONS(5372),
    [anon_sym_AMP_AMP] = ACTIONS(5372),
    [anon_sym_LT_LT] = ACTIONS(5372),
    [anon_sym_GT_GT] = ACTIONS(5372),
    [anon_sym_EQ_EQ] = ACTIONS(5372),
    [anon_sym_BANG_EQ] = ACTIONS(5370),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5370),
    [anon_sym_LT_EQ_GT] = ACTIONS(5370),
    [anon_sym_EQ_TILDE] = ACTIONS(5370),
    [anon_sym_BANG_TILDE] = ACTIONS(5370),
    [anon_sym_LT_EQ] = ACTIONS(5372),
    [anon_sym_GT] = ACTIONS(5372),
    [anon_sym_GT_EQ] = ACTIONS(5370),
    [anon_sym_CARET] = ACTIONS(5372),
    [anon_sym_PLUS] = ACTIONS(5372),
    [anon_sym_SLASH] = ACTIONS(5372),
    [anon_sym_PERCENT] = ACTIONS(5372),
    [anon_sym_defined_QMARK] = ACTIONS(5370),
    [anon_sym_not] = ACTIONS(5372),
    [anon_sym_BANG] = ACTIONS(5372),
    [anon_sym_TILDE] = ACTIONS(5370),
    [sym_constant] = ACTIONS(11322),
    [sym_identifier] = ACTIONS(11322),
    [sym_instance_variable] = ACTIONS(5372),
    [sym_class_variable] = ACTIONS(5372),
    [sym_global_variable] = ACTIONS(5372),
    [anon_sym_alias] = ACTIONS(5372),
    [anon_sym_defined] = ACTIONS(5372),
    [anon_sym_false] = ACTIONS(5372),
    [anon_sym_nil] = ACTIONS(5372),
    [anon_sym_self] = ACTIONS(5372),
    [anon_sym_super] = ACTIONS(5372),
    [anon_sym_true] = ACTIONS(5372),
    [anon_sym_undef] = ACTIONS(5372),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(5372),
    [sym_float] = ACTIONS(11322),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5370),
    [anon_sym_TRUE] = ACTIONS(5372),
    [anon_sym_FALSE] = ACTIONS(5372),
    [anon_sym_NIL] = ACTIONS(5372),
    [sym_keyword__FILE__] = ACTIONS(5372),
    [sym_keyword__LINE__] = ACTIONS(5372),
    [sym_keyword__ENCODING__] = ACTIONS(5372),
    [sym__character_literal] = ACTIONS(5372),
    [anon_sym_LBRACK] = ACTIONS(5370),
    [anon_sym_DASH_GT] = ACTIONS(5370),
  },
  [9642] = {
    [sym_heredoc_end] = STATE(12001),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RPAREN] = ACTIONS(14822),
    [sym_comment] = ACTIONS(110),
  },
  [9643] = {
    [anon_sym_RPAREN] = ACTIONS(14822),
    [sym_comment] = ACTIONS(110),
  },
  [9644] = {
    [sym__simple_heredoc_body] = ACTIONS(8568),
    [sym__heredoc_body_beginning] = ACTIONS(8568),
    [sym__line_break] = ACTIONS(8568),
    [sym__element_reference_left_bracket] = ACTIONS(8568),
    [sym__scope_double_colon] = ACTIONS(8568),
    [sym__binary_minus] = ACTIONS(4872),
    [sym__binary_star] = ACTIONS(4874),
    [anon_sym_LBRACE] = ACTIONS(8568),
    [anon_sym_RPAREN] = ACTIONS(8568),
    [anon_sym_DOT] = ACTIONS(9468),
    [anon_sym_COMMA] = ACTIONS(8568),
    [anon_sym_PIPE] = ACTIONS(4876),
    [anon_sym_SEMI] = ACTIONS(8568),
    [anon_sym_STAR_STAR] = ACTIONS(4878),
    [anon_sym_AMP] = ACTIONS(4880),
    [anon_sym_EQ] = ACTIONS(9468),
    [anon_sym_LT] = ACTIONS(4882),
    [anon_sym_if] = ACTIONS(8568),
    [anon_sym_unless] = ACTIONS(8568),
    [anon_sym_while] = ACTIONS(8568),
    [anon_sym_until] = ACTIONS(8568),
    [anon_sym_rescue] = ACTIONS(8568),
    [anon_sym_do] = ACTIONS(8568),
    [anon_sym_EQ_GT] = ACTIONS(8568),
    [anon_sym_AMP_DOT] = ACTIONS(8568),
    [anon_sym_PLUS_EQ] = ACTIONS(8568),
    [anon_sym_DASH_EQ] = ACTIONS(8568),
    [anon_sym_STAR_EQ] = ACTIONS(8568),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8568),
    [anon_sym_SLASH_EQ] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8568),
    [anon_sym_PIPE_EQ] = ACTIONS(8568),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8568),
    [anon_sym_AMP_EQ] = ACTIONS(8568),
    [anon_sym_PERCENT_EQ] = ACTIONS(8568),
    [anon_sym_GT_GT_EQ] = ACTIONS(8568),
    [anon_sym_LT_LT_EQ] = ACTIONS(8568),
    [anon_sym_CARET_EQ] = ACTIONS(8568),
    [anon_sym_QMARK] = ACTIONS(4884),
    [anon_sym_DOT_DOT] = ACTIONS(4886),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4888),
    [anon_sym_and] = ACTIONS(8568),
    [anon_sym_or] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE] = ACTIONS(4890),
    [anon_sym_AMP_AMP] = ACTIONS(4890),
    [anon_sym_LT_LT] = ACTIONS(4892),
    [anon_sym_GT_GT] = ACTIONS(4892),
    [anon_sym_EQ_EQ] = ACTIONS(4890),
    [anon_sym_BANG_EQ] = ACTIONS(4894),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4894),
    [anon_sym_LT_EQ_GT] = ACTIONS(4894),
    [anon_sym_EQ_TILDE] = ACTIONS(4894),
    [anon_sym_BANG_TILDE] = ACTIONS(4894),
    [anon_sym_LT_EQ] = ACTIONS(4882),
    [anon_sym_GT] = ACTIONS(4882),
    [anon_sym_GT_EQ] = ACTIONS(4896),
    [anon_sym_CARET] = ACTIONS(4876),
    [anon_sym_PLUS] = ACTIONS(4898),
    [anon_sym_SLASH] = ACTIONS(4878),
    [anon_sym_PERCENT] = ACTIONS(4878),
    [sym_comment] = ACTIONS(256),
  },
  [9645] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(3322),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1222),
    [sym_call] = STATE(1222),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(9960),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1224),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1225),
    [sym__variable] = STATE(1222),
    [sym_reserved_identifier] = STATE(3324),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(3325),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__block_ampersand] = ACTIONS(4810),
    [sym__splat_star] = ACTIONS(4812),
    [sym__unary_minus] = ACTIONS(1980),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(12544),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(1982),
    [anon_sym_yield] = ACTIONS(1984),
    [anon_sym_break] = ACTIONS(1986),
    [anon_sym_next] = ACTIONS(1988),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(4866),
    [anon_sym_defined_QMARK] = ACTIONS(1990),
    [anon_sym_not] = ACTIONS(1992),
    [anon_sym_BANG] = ACTIONS(1996),
    [anon_sym_TILDE] = ACTIONS(1996),
    [sym_constant] = ACTIONS(4814),
    [sym_identifier] = ACTIONS(4814),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [9646] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(3322),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1222),
    [sym_call] = STATE(1222),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(9960),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1224),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1225),
    [sym__variable] = STATE(1222),
    [sym_reserved_identifier] = STATE(3324),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(3325),
    [sym_subshell] = STATE(561),
    [sym_heredoc_end] = STATE(12002),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__block_ampersand] = ACTIONS(4810),
    [sym__splat_star] = ACTIONS(4812),
    [sym__unary_minus] = ACTIONS(1980),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(12544),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(1982),
    [anon_sym_yield] = ACTIONS(1984),
    [anon_sym_break] = ACTIONS(1986),
    [anon_sym_next] = ACTIONS(1988),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(4866),
    [anon_sym_defined_QMARK] = ACTIONS(1990),
    [anon_sym_not] = ACTIONS(1992),
    [anon_sym_BANG] = ACTIONS(1996),
    [anon_sym_TILDE] = ACTIONS(1996),
    [sym_constant] = ACTIONS(4814),
    [sym_identifier] = ACTIONS(4814),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [9647] = {
    [sym__simple_heredoc_body] = ACTIONS(8662),
    [sym__heredoc_body_beginning] = ACTIONS(8662),
    [sym__line_break] = ACTIONS(8662),
    [sym__element_reference_left_bracket] = ACTIONS(8662),
    [sym__scope_double_colon] = ACTIONS(8662),
    [sym__binary_minus] = ACTIONS(4872),
    [sym__binary_star] = ACTIONS(4874),
    [anon_sym_LBRACE] = ACTIONS(8662),
    [anon_sym_RPAREN] = ACTIONS(8662),
    [anon_sym_DOT] = ACTIONS(9506),
    [anon_sym_COMMA] = ACTIONS(8662),
    [anon_sym_PIPE] = ACTIONS(4876),
    [anon_sym_SEMI] = ACTIONS(8662),
    [anon_sym_STAR_STAR] = ACTIONS(4878),
    [anon_sym_AMP] = ACTIONS(4880),
    [anon_sym_EQ] = ACTIONS(9506),
    [anon_sym_LT] = ACTIONS(4882),
    [anon_sym_if] = ACTIONS(8662),
    [anon_sym_unless] = ACTIONS(8662),
    [anon_sym_while] = ACTIONS(8662),
    [anon_sym_until] = ACTIONS(8662),
    [anon_sym_rescue] = ACTIONS(8662),
    [anon_sym_do] = ACTIONS(8662),
    [anon_sym_EQ_GT] = ACTIONS(8662),
    [anon_sym_AMP_DOT] = ACTIONS(8662),
    [anon_sym_PLUS_EQ] = ACTIONS(8662),
    [anon_sym_DASH_EQ] = ACTIONS(8662),
    [anon_sym_STAR_EQ] = ACTIONS(8662),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8662),
    [anon_sym_SLASH_EQ] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8662),
    [anon_sym_PIPE_EQ] = ACTIONS(8662),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8662),
    [anon_sym_AMP_EQ] = ACTIONS(8662),
    [anon_sym_PERCENT_EQ] = ACTIONS(8662),
    [anon_sym_GT_GT_EQ] = ACTIONS(8662),
    [anon_sym_LT_LT_EQ] = ACTIONS(8662),
    [anon_sym_CARET_EQ] = ACTIONS(8662),
    [anon_sym_QMARK] = ACTIONS(4884),
    [anon_sym_DOT_DOT] = ACTIONS(4886),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4888),
    [anon_sym_and] = ACTIONS(8662),
    [anon_sym_or] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE] = ACTIONS(4890),
    [anon_sym_AMP_AMP] = ACTIONS(4890),
    [anon_sym_LT_LT] = ACTIONS(4892),
    [anon_sym_GT_GT] = ACTIONS(4892),
    [anon_sym_EQ_EQ] = ACTIONS(4890),
    [anon_sym_BANG_EQ] = ACTIONS(4894),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4894),
    [anon_sym_LT_EQ_GT] = ACTIONS(4894),
    [anon_sym_EQ_TILDE] = ACTIONS(4894),
    [anon_sym_BANG_TILDE] = ACTIONS(4894),
    [anon_sym_LT_EQ] = ACTIONS(4882),
    [anon_sym_GT] = ACTIONS(4882),
    [anon_sym_GT_EQ] = ACTIONS(4896),
    [anon_sym_CARET] = ACTIONS(4876),
    [anon_sym_PLUS] = ACTIONS(4898),
    [anon_sym_SLASH] = ACTIONS(4878),
    [anon_sym_PERCENT] = ACTIONS(4878),
    [sym_comment] = ACTIONS(256),
  },
  [9648] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1172),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1174),
    [sym_call] = STATE(1174),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(9965),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1176),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(1174),
    [sym_reserved_identifier] = STATE(1178),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(1179),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__block_ampersand] = ACTIONS(1888),
    [sym__splat_star] = ACTIONS(1890),
    [sym__unary_minus] = ACTIONS(1892),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(9004),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(1896),
    [anon_sym_yield] = ACTIONS(1898),
    [anon_sym_break] = ACTIONS(1900),
    [anon_sym_next] = ACTIONS(1902),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(4760),
    [anon_sym_defined_QMARK] = ACTIONS(1904),
    [anon_sym_not] = ACTIONS(1906),
    [anon_sym_BANG] = ACTIONS(1910),
    [anon_sym_TILDE] = ACTIONS(1910),
    [sym_constant] = ACTIONS(1912),
    [sym_identifier] = ACTIONS(1912),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9649] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6486),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1174),
    [sym_call] = STATE(1174),
    [sym_method_call] = STATE(338),
    [sym_splat_argument] = STATE(3785),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym__arg_or_splat_arg] = STATE(9966),
    [sym_left_assignment_list] = STATE(1176),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(1174),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(4768),
    [sym__unary_minus] = ACTIONS(1892),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(4752),
    [anon_sym_yield] = ACTIONS(4754),
    [anon_sym_break] = ACTIONS(4756),
    [anon_sym_next] = ACTIONS(4758),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4760),
    [anon_sym_defined_QMARK] = ACTIONS(1904),
    [anon_sym_not] = ACTIONS(4762),
    [anon_sym_BANG] = ACTIONS(1910),
    [anon_sym_TILDE] = ACTIONS(1910),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9650] = {
    [sym__simple_heredoc_body] = ACTIONS(11422),
    [sym__heredoc_body_beginning] = ACTIONS(11422),
    [sym__line_break] = ACTIONS(11422),
    [sym__element_reference_left_bracket] = ACTIONS(11422),
    [sym__scope_double_colon] = ACTIONS(11422),
    [sym__binary_minus] = ACTIONS(11422),
    [sym__binary_star] = ACTIONS(11422),
    [anon_sym_RPAREN] = ACTIONS(11422),
    [anon_sym_DOT] = ACTIONS(11426),
    [anon_sym_COMMA] = ACTIONS(14824),
    [anon_sym_PIPE] = ACTIONS(11426),
    [anon_sym_SEMI] = ACTIONS(11422),
    [anon_sym_STAR_STAR] = ACTIONS(11422),
    [anon_sym_AMP] = ACTIONS(11426),
    [anon_sym_LT] = ACTIONS(11426),
    [anon_sym_if] = ACTIONS(11422),
    [anon_sym_unless] = ACTIONS(11422),
    [anon_sym_while] = ACTIONS(11422),
    [anon_sym_until] = ACTIONS(11422),
    [anon_sym_rescue] = ACTIONS(11422),
    [anon_sym_EQ_GT] = ACTIONS(11422),
    [anon_sym_AMP_DOT] = ACTIONS(11422),
    [anon_sym_QMARK] = ACTIONS(11422),
    [anon_sym_DOT_DOT] = ACTIONS(11426),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11422),
    [anon_sym_and] = ACTIONS(11422),
    [anon_sym_or] = ACTIONS(11422),
    [anon_sym_PIPE_PIPE] = ACTIONS(11422),
    [anon_sym_AMP_AMP] = ACTIONS(11422),
    [anon_sym_LT_LT] = ACTIONS(11422),
    [anon_sym_GT_GT] = ACTIONS(11422),
    [anon_sym_EQ_EQ] = ACTIONS(11426),
    [anon_sym_BANG_EQ] = ACTIONS(11422),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11422),
    [anon_sym_LT_EQ_GT] = ACTIONS(11422),
    [anon_sym_EQ_TILDE] = ACTIONS(11422),
    [anon_sym_BANG_TILDE] = ACTIONS(11422),
    [anon_sym_LT_EQ] = ACTIONS(11426),
    [anon_sym_GT] = ACTIONS(11426),
    [anon_sym_GT_EQ] = ACTIONS(11422),
    [anon_sym_CARET] = ACTIONS(11422),
    [anon_sym_PLUS] = ACTIONS(11422),
    [anon_sym_SLASH] = ACTIONS(11422),
    [anon_sym_PERCENT] = ACTIONS(11422),
    [sym_comment] = ACTIONS(110),
  },
  [9651] = {
    [sym__simple_string] = ACTIONS(12070),
    [sym__simple_symbol] = ACTIONS(12070),
    [sym__simple_subshell] = ACTIONS(12070),
    [sym__simple_regex] = ACTIONS(12070),
    [sym__simple_word_list] = ACTIONS(12070),
    [sym__string_beginning] = ACTIONS(12070),
    [sym__symbol_beginning] = ACTIONS(12070),
    [sym__subshell_beginning] = ACTIONS(12070),
    [sym__regex_beginning] = ACTIONS(12070),
    [sym__word_list_beginning] = ACTIONS(12070),
    [sym_heredoc_beginning] = ACTIONS(12070),
    [sym__unary_minus] = ACTIONS(12070),
    [anon_sym_BEGIN] = ACTIONS(13430),
    [anon_sym_LBRACE] = ACTIONS(12070),
    [anon_sym_RBRACE] = ACTIONS(12070),
    [anon_sym_END] = ACTIONS(13430),
    [anon_sym_def] = ACTIONS(13430),
    [anon_sym_LPAREN] = ACTIONS(12070),
    [anon_sym_RPAREN] = ACTIONS(12070),
    [anon_sym_COLON_COLON] = ACTIONS(12070),
    [anon_sym_SEMI] = ACTIONS(12070),
    [anon_sym_STAR] = ACTIONS(12070),
    [anon_sym_class] = ACTIONS(13430),
    [anon_sym_module] = ACTIONS(13430),
    [anon_sym_return] = ACTIONS(13430),
    [anon_sym_yield] = ACTIONS(13430),
    [anon_sym_break] = ACTIONS(13430),
    [anon_sym_next] = ACTIONS(13430),
    [anon_sym_redo] = ACTIONS(13430),
    [anon_sym_retry] = ACTIONS(13430),
    [anon_sym_if] = ACTIONS(13430),
    [anon_sym_unless] = ACTIONS(13430),
    [anon_sym_while] = ACTIONS(13430),
    [anon_sym_until] = ACTIONS(13430),
    [anon_sym_for] = ACTIONS(13430),
    [anon_sym_case] = ACTIONS(13430),
    [anon_sym_begin] = ACTIONS(13430),
    [anon_sym_PLUS] = ACTIONS(13430),
    [anon_sym_defined_QMARK] = ACTIONS(12070),
    [anon_sym_not] = ACTIONS(13430),
    [anon_sym_BANG] = ACTIONS(12070),
    [anon_sym_TILDE] = ACTIONS(12070),
    [sym_constant] = ACTIONS(13432),
    [sym_identifier] = ACTIONS(13432),
    [sym_instance_variable] = ACTIONS(13430),
    [sym_class_variable] = ACTIONS(13430),
    [sym_global_variable] = ACTIONS(13430),
    [anon_sym_alias] = ACTIONS(13430),
    [anon_sym_false] = ACTIONS(13430),
    [anon_sym_nil] = ACTIONS(13430),
    [anon_sym_self] = ACTIONS(13430),
    [anon_sym_super] = ACTIONS(13430),
    [anon_sym_true] = ACTIONS(13430),
    [anon_sym_undef] = ACTIONS(13430),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(13430),
    [sym_float] = ACTIONS(13432),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(12070),
    [anon_sym_TRUE] = ACTIONS(13430),
    [anon_sym_FALSE] = ACTIONS(13430),
    [anon_sym_NIL] = ACTIONS(13430),
    [sym_keyword__FILE__] = ACTIONS(13430),
    [sym_keyword__LINE__] = ACTIONS(13430),
    [sym_keyword__ENCODING__] = ACTIONS(13430),
    [sym__character_literal] = ACTIONS(13430),
    [anon_sym_LBRACK] = ACTIONS(12070),
    [anon_sym_DASH_GT] = ACTIONS(12070),
  },
  [9652] = {
    [sym__simple_heredoc_body] = ACTIONS(14096),
    [sym__heredoc_body_beginning] = ACTIONS(14096),
    [sym__line_break] = ACTIONS(14096),
    [sym__binary_minus] = ACTIONS(1938),
    [sym__binary_star] = ACTIONS(1940),
    [anon_sym_RPAREN] = ACTIONS(14096),
    [anon_sym_PIPE] = ACTIONS(1942),
    [anon_sym_SEMI] = ACTIONS(14096),
    [anon_sym_STAR_STAR] = ACTIONS(1944),
    [anon_sym_AMP] = ACTIONS(1946),
    [anon_sym_LT] = ACTIONS(1948),
    [anon_sym_if] = ACTIONS(14096),
    [anon_sym_unless] = ACTIONS(14096),
    [anon_sym_while] = ACTIONS(14096),
    [anon_sym_until] = ACTIONS(14096),
    [anon_sym_rescue] = ACTIONS(14096),
    [anon_sym_QMARK] = ACTIONS(1950),
    [anon_sym_DOT_DOT] = ACTIONS(1952),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1954),
    [anon_sym_and] = ACTIONS(14096),
    [anon_sym_or] = ACTIONS(14096),
    [anon_sym_PIPE_PIPE] = ACTIONS(1958),
    [anon_sym_AMP_AMP] = ACTIONS(1958),
    [anon_sym_LT_LT] = ACTIONS(1960),
    [anon_sym_GT_GT] = ACTIONS(1960),
    [anon_sym_EQ_EQ] = ACTIONS(1962),
    [anon_sym_BANG_EQ] = ACTIONS(1958),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1958),
    [anon_sym_LT_EQ_GT] = ACTIONS(1958),
    [anon_sym_EQ_TILDE] = ACTIONS(1958),
    [anon_sym_BANG_TILDE] = ACTIONS(1958),
    [anon_sym_LT_EQ] = ACTIONS(1948),
    [anon_sym_GT] = ACTIONS(1948),
    [anon_sym_GT_EQ] = ACTIONS(1964),
    [anon_sym_CARET] = ACTIONS(1966),
    [anon_sym_PLUS] = ACTIONS(1968),
    [anon_sym_SLASH] = ACTIONS(1944),
    [anon_sym_PERCENT] = ACTIONS(1944),
    [sym_comment] = ACTIONS(110),
  },
  [9653] = {
    [sym__simple_string] = ACTIONS(9456),
    [sym__simple_symbol] = ACTIONS(9456),
    [sym__simple_subshell] = ACTIONS(9456),
    [sym__simple_regex] = ACTIONS(9456),
    [sym__simple_word_list] = ACTIONS(9456),
    [sym__simple_heredoc_body] = ACTIONS(9456),
    [sym__string_beginning] = ACTIONS(9456),
    [sym__symbol_beginning] = ACTIONS(9456),
    [sym__subshell_beginning] = ACTIONS(9456),
    [sym__regex_beginning] = ACTIONS(9456),
    [sym__word_list_beginning] = ACTIONS(9456),
    [sym__heredoc_body_beginning] = ACTIONS(9456),
    [sym_heredoc_beginning] = ACTIONS(9456),
    [sym__line_break] = ACTIONS(9456),
    [sym__element_reference_left_bracket] = ACTIONS(9456),
    [sym__block_ampersand] = ACTIONS(9456),
    [sym__splat_star] = ACTIONS(9456),
    [sym__argument_list_left_paren] = ACTIONS(9456),
    [sym__scope_double_colon] = ACTIONS(9456),
    [sym__unary_minus] = ACTIONS(9456),
    [sym__binary_minus] = ACTIONS(9456),
    [sym__binary_star] = ACTIONS(9456),
    [anon_sym_LBRACE] = ACTIONS(9456),
    [anon_sym_RBRACE] = ACTIONS(9456),
    [anon_sym_def] = ACTIONS(9458),
    [anon_sym_LPAREN] = ACTIONS(9456),
    [anon_sym_RPAREN] = ACTIONS(9456),
    [anon_sym_DOT] = ACTIONS(9458),
    [anon_sym_COLON_COLON] = ACTIONS(9456),
    [anon_sym_end] = ACTIONS(9458),
    [anon_sym_COMMA] = ACTIONS(9456),
    [anon_sym_PIPE] = ACTIONS(9458),
    [anon_sym_SEMI] = ACTIONS(9456),
    [anon_sym_STAR] = ACTIONS(9458),
    [anon_sym_STAR_STAR] = ACTIONS(9458),
    [anon_sym_AMP] = ACTIONS(9458),
    [anon_sym_EQ] = ACTIONS(9458),
    [anon_sym_class] = ACTIONS(9458),
    [anon_sym_LT] = ACTIONS(9458),
    [anon_sym_module] = ACTIONS(9458),
    [anon_sym_return] = ACTIONS(9458),
    [anon_sym_yield] = ACTIONS(9458),
    [anon_sym_break] = ACTIONS(9458),
    [anon_sym_next] = ACTIONS(9458),
    [anon_sym_redo] = ACTIONS(9458),
    [anon_sym_retry] = ACTIONS(9458),
    [anon_sym_if] = ACTIONS(9458),
    [anon_sym_unless] = ACTIONS(9458),
    [anon_sym_while] = ACTIONS(9458),
    [anon_sym_until] = ACTIONS(9458),
    [anon_sym_rescue] = ACTIONS(9458),
    [anon_sym_for] = ACTIONS(9458),
    [anon_sym_in] = ACTIONS(9458),
    [anon_sym_do] = ACTIONS(9458),
    [anon_sym_case] = ACTIONS(9458),
    [anon_sym_when] = ACTIONS(9458),
    [anon_sym_elsif] = ACTIONS(9458),
    [anon_sym_else] = ACTIONS(9458),
    [anon_sym_then] = ACTIONS(9458),
    [anon_sym_begin] = ACTIONS(9458),
    [anon_sym_ensure] = ACTIONS(9458),
    [anon_sym_AMP_DOT] = ACTIONS(9456),
    [anon_sym_PLUS_EQ] = ACTIONS(9456),
    [anon_sym_DASH_EQ] = ACTIONS(9456),
    [anon_sym_STAR_EQ] = ACTIONS(9456),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9456),
    [anon_sym_SLASH_EQ] = ACTIONS(9456),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9456),
    [anon_sym_PIPE_EQ] = ACTIONS(9456),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9456),
    [anon_sym_AMP_EQ] = ACTIONS(9456),
    [anon_sym_PERCENT_EQ] = ACTIONS(9456),
    [anon_sym_GT_GT_EQ] = ACTIONS(9456),
    [anon_sym_LT_LT_EQ] = ACTIONS(9456),
    [anon_sym_CARET_EQ] = ACTIONS(9456),
    [anon_sym_QMARK] = ACTIONS(9458),
    [anon_sym_DOT_DOT] = ACTIONS(9458),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9456),
    [anon_sym_and] = ACTIONS(9458),
    [anon_sym_or] = ACTIONS(9458),
    [anon_sym_PIPE_PIPE] = ACTIONS(9458),
    [anon_sym_AMP_AMP] = ACTIONS(9458),
    [anon_sym_LT_LT] = ACTIONS(9458),
    [anon_sym_GT_GT] = ACTIONS(9458),
    [anon_sym_EQ_EQ] = ACTIONS(9458),
    [anon_sym_BANG_EQ] = ACTIONS(9456),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9456),
    [anon_sym_LT_EQ_GT] = ACTIONS(9456),
    [anon_sym_EQ_TILDE] = ACTIONS(9456),
    [anon_sym_BANG_TILDE] = ACTIONS(9456),
    [anon_sym_LT_EQ] = ACTIONS(9458),
    [anon_sym_GT] = ACTIONS(9458),
    [anon_sym_GT_EQ] = ACTIONS(9456),
    [anon_sym_CARET] = ACTIONS(9458),
    [anon_sym_PLUS] = ACTIONS(9458),
    [anon_sym_SLASH] = ACTIONS(9458),
    [anon_sym_PERCENT] = ACTIONS(9458),
    [anon_sym_defined_QMARK] = ACTIONS(9456),
    [anon_sym_not] = ACTIONS(9458),
    [anon_sym_BANG] = ACTIONS(9458),
    [anon_sym_TILDE] = ACTIONS(9456),
    [sym_constant] = ACTIONS(14178),
    [sym_identifier] = ACTIONS(14178),
    [sym_instance_variable] = ACTIONS(9458),
    [sym_class_variable] = ACTIONS(9458),
    [sym_global_variable] = ACTIONS(9458),
    [anon_sym_alias] = ACTIONS(9458),
    [anon_sym_defined] = ACTIONS(9458),
    [anon_sym_false] = ACTIONS(9458),
    [anon_sym_nil] = ACTIONS(9458),
    [anon_sym_self] = ACTIONS(9458),
    [anon_sym_super] = ACTIONS(9458),
    [anon_sym_true] = ACTIONS(9458),
    [anon_sym_undef] = ACTIONS(9458),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(9458),
    [sym_float] = ACTIONS(14178),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(9456),
    [anon_sym_TRUE] = ACTIONS(9458),
    [anon_sym_FALSE] = ACTIONS(9458),
    [anon_sym_NIL] = ACTIONS(9458),
    [sym_keyword__FILE__] = ACTIONS(9458),
    [sym_keyword__LINE__] = ACTIONS(9458),
    [sym_keyword__ENCODING__] = ACTIONS(9458),
    [sym__character_literal] = ACTIONS(9458),
    [anon_sym_LBRACK] = ACTIONS(9456),
    [anon_sym_DASH_GT] = ACTIONS(9456),
  },
  [9654] = {
    [anon_sym_RPAREN] = ACTIONS(14826),
    [sym_comment] = ACTIONS(110),
  },
  [9655] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__line_break] = ACTIONS(7008),
    [sym__element_reference_left_bracket] = ACTIONS(7008),
    [sym__scope_double_colon] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(9016),
    [anon_sym_LBRACE] = ACTIONS(7008),
    [anon_sym_RPAREN] = ACTIONS(7008),
    [anon_sym_DOT] = ACTIONS(7010),
    [anon_sym_COMMA] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_SEMI] = ACTIONS(7008),
    [anon_sym_STAR_STAR] = ACTIONS(9020),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_EQ] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_if] = ACTIONS(7008),
    [anon_sym_unless] = ACTIONS(7008),
    [anon_sym_while] = ACTIONS(7008),
    [anon_sym_until] = ACTIONS(7008),
    [anon_sym_rescue] = ACTIONS(7008),
    [anon_sym_do] = ACTIONS(7008),
    [anon_sym_AMP_DOT] = ACTIONS(7008),
    [anon_sym_PLUS_EQ] = ACTIONS(7008),
    [anon_sym_DASH_EQ] = ACTIONS(7008),
    [anon_sym_STAR_EQ] = ACTIONS(7008),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7008),
    [anon_sym_SLASH_EQ] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7008),
    [anon_sym_PIPE_EQ] = ACTIONS(7008),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7008),
    [anon_sym_AMP_EQ] = ACTIONS(7008),
    [anon_sym_PERCENT_EQ] = ACTIONS(7008),
    [anon_sym_GT_GT_EQ] = ACTIONS(7008),
    [anon_sym_LT_LT_EQ] = ACTIONS(7008),
    [anon_sym_CARET_EQ] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7010),
    [anon_sym_AMP_AMP] = ACTIONS(7010),
    [anon_sym_LT_LT] = ACTIONS(7010),
    [anon_sym_GT_GT] = ACTIONS(7010),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7010),
    [anon_sym_PLUS] = ACTIONS(7010),
    [anon_sym_SLASH] = ACTIONS(9020),
    [anon_sym_PERCENT] = ACTIONS(9020),
    [sym_comment] = ACTIONS(256),
  },
  [9656] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__line_break] = ACTIONS(7012),
    [sym__element_reference_left_bracket] = ACTIONS(7012),
    [sym__scope_double_colon] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_LBRACE] = ACTIONS(7012),
    [anon_sym_RPAREN] = ACTIONS(7012),
    [anon_sym_DOT] = ACTIONS(7014),
    [anon_sym_COMMA] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_SEMI] = ACTIONS(7012),
    [anon_sym_STAR_STAR] = ACTIONS(9020),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_EQ] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_if] = ACTIONS(7012),
    [anon_sym_unless] = ACTIONS(7012),
    [anon_sym_while] = ACTIONS(7012),
    [anon_sym_until] = ACTIONS(7012),
    [anon_sym_rescue] = ACTIONS(7012),
    [anon_sym_do] = ACTIONS(7012),
    [anon_sym_AMP_DOT] = ACTIONS(7012),
    [anon_sym_PLUS_EQ] = ACTIONS(7012),
    [anon_sym_DASH_EQ] = ACTIONS(7012),
    [anon_sym_STAR_EQ] = ACTIONS(7012),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7012),
    [anon_sym_SLASH_EQ] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7012),
    [anon_sym_PIPE_EQ] = ACTIONS(7012),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7012),
    [anon_sym_AMP_EQ] = ACTIONS(7012),
    [anon_sym_PERCENT_EQ] = ACTIONS(7012),
    [anon_sym_GT_GT_EQ] = ACTIONS(7012),
    [anon_sym_LT_LT_EQ] = ACTIONS(7012),
    [anon_sym_CARET_EQ] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7014),
    [anon_sym_AMP_AMP] = ACTIONS(7014),
    [anon_sym_LT_LT] = ACTIONS(7014),
    [anon_sym_GT_GT] = ACTIONS(7014),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7014),
    [anon_sym_PLUS] = ACTIONS(7014),
    [anon_sym_SLASH] = ACTIONS(7014),
    [anon_sym_PERCENT] = ACTIONS(7014),
    [sym_comment] = ACTIONS(256),
  },
  [9657] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(9014),
    [sym__binary_star] = ACTIONS(9016),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(9020),
    [anon_sym_AMP] = ACTIONS(9022),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(9034),
    [anon_sym_GT_GT] = ACTIONS(9034),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(9040),
    [anon_sym_SLASH] = ACTIONS(9020),
    [anon_sym_PERCENT] = ACTIONS(9020),
    [sym_comment] = ACTIONS(256),
  },
  [9658] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(9020),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7018),
    [anon_sym_GT_GT] = ACTIONS(7018),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(7018),
    [anon_sym_SLASH] = ACTIONS(7018),
    [anon_sym_PERCENT] = ACTIONS(7018),
    [sym_comment] = ACTIONS(256),
  },
  [9659] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(9014),
    [sym__binary_star] = ACTIONS(9016),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(9020),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(9034),
    [anon_sym_GT_GT] = ACTIONS(9034),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(9040),
    [anon_sym_SLASH] = ACTIONS(9020),
    [anon_sym_PERCENT] = ACTIONS(9020),
    [sym_comment] = ACTIONS(256),
  },
  [9660] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(9014),
    [sym__binary_star] = ACTIONS(9016),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(9018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(9020),
    [anon_sym_AMP] = ACTIONS(9022),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(9034),
    [anon_sym_GT_GT] = ACTIONS(9034),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(9018),
    [anon_sym_PLUS] = ACTIONS(9040),
    [anon_sym_SLASH] = ACTIONS(9020),
    [anon_sym_PERCENT] = ACTIONS(9020),
    [sym_comment] = ACTIONS(256),
  },
  [9661] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(14828),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [9662] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__line_break] = ACTIONS(7108),
    [sym__element_reference_left_bracket] = ACTIONS(7108),
    [sym__scope_double_colon] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(9014),
    [sym__binary_star] = ACTIONS(9016),
    [anon_sym_LBRACE] = ACTIONS(7108),
    [anon_sym_RPAREN] = ACTIONS(7108),
    [anon_sym_DOT] = ACTIONS(9472),
    [anon_sym_COMMA] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(9018),
    [anon_sym_SEMI] = ACTIONS(7108),
    [anon_sym_STAR_STAR] = ACTIONS(9020),
    [anon_sym_AMP] = ACTIONS(9022),
    [anon_sym_EQ] = ACTIONS(9472),
    [anon_sym_LT] = ACTIONS(9024),
    [anon_sym_if] = ACTIONS(7108),
    [anon_sym_unless] = ACTIONS(7108),
    [anon_sym_while] = ACTIONS(7108),
    [anon_sym_until] = ACTIONS(7108),
    [anon_sym_rescue] = ACTIONS(7108),
    [anon_sym_do] = ACTIONS(7108),
    [anon_sym_AMP_DOT] = ACTIONS(7108),
    [anon_sym_PLUS_EQ] = ACTIONS(7108),
    [anon_sym_DASH_EQ] = ACTIONS(7108),
    [anon_sym_STAR_EQ] = ACTIONS(7108),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7108),
    [anon_sym_SLASH_EQ] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7108),
    [anon_sym_PIPE_EQ] = ACTIONS(7108),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7108),
    [anon_sym_AMP_EQ] = ACTIONS(7108),
    [anon_sym_PERCENT_EQ] = ACTIONS(7108),
    [anon_sym_GT_GT_EQ] = ACTIONS(7108),
    [anon_sym_LT_LT_EQ] = ACTIONS(7108),
    [anon_sym_CARET_EQ] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(9028),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9030),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(9032),
    [anon_sym_AMP_AMP] = ACTIONS(9032),
    [anon_sym_LT_LT] = ACTIONS(9034),
    [anon_sym_GT_GT] = ACTIONS(9034),
    [anon_sym_EQ_EQ] = ACTIONS(9032),
    [anon_sym_BANG_EQ] = ACTIONS(9036),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9036),
    [anon_sym_LT_EQ_GT] = ACTIONS(9036),
    [anon_sym_EQ_TILDE] = ACTIONS(9036),
    [anon_sym_BANG_TILDE] = ACTIONS(9036),
    [anon_sym_LT_EQ] = ACTIONS(9024),
    [anon_sym_GT] = ACTIONS(9024),
    [anon_sym_GT_EQ] = ACTIONS(9038),
    [anon_sym_CARET] = ACTIONS(9018),
    [anon_sym_PLUS] = ACTIONS(9040),
    [anon_sym_SLASH] = ACTIONS(9020),
    [anon_sym_PERCENT] = ACTIONS(9020),
    [sym_comment] = ACTIONS(256),
  },
  [9663] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(9014),
    [sym__binary_star] = ACTIONS(9016),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(9018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(9020),
    [anon_sym_AMP] = ACTIONS(9022),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(9024),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(9026),
    [anon_sym_DOT_DOT] = ACTIONS(9028),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9030),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(9032),
    [anon_sym_AMP_AMP] = ACTIONS(9032),
    [anon_sym_LT_LT] = ACTIONS(9034),
    [anon_sym_GT_GT] = ACTIONS(9034),
    [anon_sym_EQ_EQ] = ACTIONS(9032),
    [anon_sym_BANG_EQ] = ACTIONS(9036),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9036),
    [anon_sym_LT_EQ_GT] = ACTIONS(9036),
    [anon_sym_EQ_TILDE] = ACTIONS(9036),
    [anon_sym_BANG_TILDE] = ACTIONS(9036),
    [anon_sym_LT_EQ] = ACTIONS(9024),
    [anon_sym_GT] = ACTIONS(9024),
    [anon_sym_GT_EQ] = ACTIONS(9038),
    [anon_sym_CARET] = ACTIONS(9018),
    [anon_sym_PLUS] = ACTIONS(9040),
    [anon_sym_SLASH] = ACTIONS(9020),
    [anon_sym_PERCENT] = ACTIONS(9020),
    [sym_comment] = ACTIONS(256),
  },
  [9664] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(9014),
    [sym__binary_star] = ACTIONS(9016),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(9018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(9020),
    [anon_sym_AMP] = ACTIONS(9022),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(9024),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(9034),
    [anon_sym_GT_GT] = ACTIONS(9034),
    [anon_sym_EQ_EQ] = ACTIONS(9032),
    [anon_sym_BANG_EQ] = ACTIONS(9036),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9036),
    [anon_sym_LT_EQ_GT] = ACTIONS(9036),
    [anon_sym_EQ_TILDE] = ACTIONS(9036),
    [anon_sym_BANG_TILDE] = ACTIONS(9036),
    [anon_sym_LT_EQ] = ACTIONS(9024),
    [anon_sym_GT] = ACTIONS(9024),
    [anon_sym_GT_EQ] = ACTIONS(9038),
    [anon_sym_CARET] = ACTIONS(9018),
    [anon_sym_PLUS] = ACTIONS(9040),
    [anon_sym_SLASH] = ACTIONS(9020),
    [anon_sym_PERCENT] = ACTIONS(9020),
    [sym_comment] = ACTIONS(256),
  },
  [9665] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(9014),
    [sym__binary_star] = ACTIONS(9016),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(9020),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7018),
    [anon_sym_GT_GT] = ACTIONS(7018),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(9040),
    [anon_sym_SLASH] = ACTIONS(9020),
    [anon_sym_PERCENT] = ACTIONS(9020),
    [sym_comment] = ACTIONS(256),
  },
  [9666] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(9016),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(9020),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_PLUS_EQ] = ACTIONS(7016),
    [anon_sym_DASH_EQ] = ACTIONS(7016),
    [anon_sym_STAR_EQ] = ACTIONS(7016),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7016),
    [anon_sym_SLASH_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_PIPE_EQ] = ACTIONS(7016),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7016),
    [anon_sym_AMP_EQ] = ACTIONS(7016),
    [anon_sym_PERCENT_EQ] = ACTIONS(7016),
    [anon_sym_GT_GT_EQ] = ACTIONS(7016),
    [anon_sym_LT_LT_EQ] = ACTIONS(7016),
    [anon_sym_CARET_EQ] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7018),
    [anon_sym_AMP_AMP] = ACTIONS(7018),
    [anon_sym_LT_LT] = ACTIONS(7018),
    [anon_sym_GT_GT] = ACTIONS(7018),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7018),
    [anon_sym_PLUS] = ACTIONS(7018),
    [anon_sym_SLASH] = ACTIONS(9020),
    [anon_sym_PERCENT] = ACTIONS(9020),
    [sym_comment] = ACTIONS(256),
  },
  [9667] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__line_break] = ACTIONS(6346),
    [sym__element_reference_left_bracket] = ACTIONS(6346),
    [sym__scope_double_colon] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(9014),
    [sym__binary_star] = ACTIONS(9016),
    [anon_sym_LBRACE] = ACTIONS(6346),
    [anon_sym_RPAREN] = ACTIONS(6346),
    [anon_sym_DOT] = ACTIONS(7328),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(9018),
    [anon_sym_SEMI] = ACTIONS(6346),
    [anon_sym_STAR_STAR] = ACTIONS(9020),
    [anon_sym_AMP] = ACTIONS(9022),
    [anon_sym_EQ] = ACTIONS(7328),
    [anon_sym_LT] = ACTIONS(9024),
    [anon_sym_if] = ACTIONS(6346),
    [anon_sym_unless] = ACTIONS(6346),
    [anon_sym_while] = ACTIONS(6346),
    [anon_sym_until] = ACTIONS(6346),
    [anon_sym_rescue] = ACTIONS(6346),
    [anon_sym_do] = ACTIONS(6346),
    [anon_sym_AMP_DOT] = ACTIONS(6346),
    [anon_sym_PLUS_EQ] = ACTIONS(6346),
    [anon_sym_DASH_EQ] = ACTIONS(6346),
    [anon_sym_STAR_EQ] = ACTIONS(6346),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(6346),
    [anon_sym_SLASH_EQ] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(6346),
    [anon_sym_PIPE_EQ] = ACTIONS(6346),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(6346),
    [anon_sym_AMP_EQ] = ACTIONS(6346),
    [anon_sym_PERCENT_EQ] = ACTIONS(6346),
    [anon_sym_GT_GT_EQ] = ACTIONS(6346),
    [anon_sym_LT_LT_EQ] = ACTIONS(6346),
    [anon_sym_CARET_EQ] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(9026),
    [anon_sym_DOT_DOT] = ACTIONS(9028),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9030),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(9032),
    [anon_sym_AMP_AMP] = ACTIONS(9032),
    [anon_sym_LT_LT] = ACTIONS(9034),
    [anon_sym_GT_GT] = ACTIONS(9034),
    [anon_sym_EQ_EQ] = ACTIONS(9032),
    [anon_sym_BANG_EQ] = ACTIONS(9036),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9036),
    [anon_sym_LT_EQ_GT] = ACTIONS(9036),
    [anon_sym_EQ_TILDE] = ACTIONS(9036),
    [anon_sym_BANG_TILDE] = ACTIONS(9036),
    [anon_sym_LT_EQ] = ACTIONS(9024),
    [anon_sym_GT] = ACTIONS(9024),
    [anon_sym_GT_EQ] = ACTIONS(9038),
    [anon_sym_CARET] = ACTIONS(9018),
    [anon_sym_PLUS] = ACTIONS(9040),
    [anon_sym_SLASH] = ACTIONS(9020),
    [anon_sym_PERCENT] = ACTIONS(9020),
    [sym_comment] = ACTIONS(256),
  },
  [9668] = {
    [aux_sym_exceptions_repeat1] = STATE(12007),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__line_break] = ACTIONS(7330),
    [sym__element_reference_left_bracket] = ACTIONS(7330),
    [sym__scope_double_colon] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_LBRACE] = ACTIONS(7330),
    [anon_sym_RPAREN] = ACTIONS(7330),
    [anon_sym_DOT] = ACTIONS(7332),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_SEMI] = ACTIONS(7330),
    [anon_sym_STAR_STAR] = ACTIONS(7332),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_EQ] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_if] = ACTIONS(7330),
    [anon_sym_unless] = ACTIONS(7330),
    [anon_sym_while] = ACTIONS(7330),
    [anon_sym_until] = ACTIONS(7330),
    [anon_sym_rescue] = ACTIONS(7330),
    [anon_sym_do] = ACTIONS(7330),
    [anon_sym_AMP_DOT] = ACTIONS(7330),
    [anon_sym_PLUS_EQ] = ACTIONS(7330),
    [anon_sym_DASH_EQ] = ACTIONS(7330),
    [anon_sym_STAR_EQ] = ACTIONS(7330),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7330),
    [anon_sym_SLASH_EQ] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7330),
    [anon_sym_PIPE_EQ] = ACTIONS(7330),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7330),
    [anon_sym_AMP_EQ] = ACTIONS(7330),
    [anon_sym_PERCENT_EQ] = ACTIONS(7330),
    [anon_sym_GT_GT_EQ] = ACTIONS(7330),
    [anon_sym_LT_LT_EQ] = ACTIONS(7330),
    [anon_sym_CARET_EQ] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7332),
    [anon_sym_AMP_AMP] = ACTIONS(7332),
    [anon_sym_LT_LT] = ACTIONS(7332),
    [anon_sym_GT_GT] = ACTIONS(7332),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7332),
    [anon_sym_PLUS] = ACTIONS(7332),
    [anon_sym_SLASH] = ACTIONS(7332),
    [anon_sym_PERCENT] = ACTIONS(7332),
    [sym_comment] = ACTIONS(256),
  },
  [9669] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__line_break] = ACTIONS(7344),
    [sym__element_reference_left_bracket] = ACTIONS(7344),
    [sym__scope_double_colon] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(9014),
    [sym__binary_star] = ACTIONS(9016),
    [anon_sym_LBRACE] = ACTIONS(7344),
    [anon_sym_RPAREN] = ACTIONS(7344),
    [anon_sym_DOT] = ACTIONS(9504),
    [anon_sym_COMMA] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(9018),
    [anon_sym_SEMI] = ACTIONS(7344),
    [anon_sym_STAR_STAR] = ACTIONS(9020),
    [anon_sym_AMP] = ACTIONS(9022),
    [anon_sym_EQ] = ACTIONS(9504),
    [anon_sym_LT] = ACTIONS(9024),
    [anon_sym_if] = ACTIONS(7344),
    [anon_sym_unless] = ACTIONS(7344),
    [anon_sym_while] = ACTIONS(7344),
    [anon_sym_until] = ACTIONS(7344),
    [anon_sym_rescue] = ACTIONS(7344),
    [anon_sym_do] = ACTIONS(7344),
    [anon_sym_AMP_DOT] = ACTIONS(7344),
    [anon_sym_PLUS_EQ] = ACTIONS(7344),
    [anon_sym_DASH_EQ] = ACTIONS(7344),
    [anon_sym_STAR_EQ] = ACTIONS(7344),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(7344),
    [anon_sym_SLASH_EQ] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(7344),
    [anon_sym_PIPE_EQ] = ACTIONS(7344),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(7344),
    [anon_sym_AMP_EQ] = ACTIONS(7344),
    [anon_sym_PERCENT_EQ] = ACTIONS(7344),
    [anon_sym_GT_GT_EQ] = ACTIONS(7344),
    [anon_sym_LT_LT_EQ] = ACTIONS(7344),
    [anon_sym_CARET_EQ] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(9026),
    [anon_sym_DOT_DOT] = ACTIONS(9028),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9030),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(9032),
    [anon_sym_AMP_AMP] = ACTIONS(9032),
    [anon_sym_LT_LT] = ACTIONS(9034),
    [anon_sym_GT_GT] = ACTIONS(9034),
    [anon_sym_EQ_EQ] = ACTIONS(9032),
    [anon_sym_BANG_EQ] = ACTIONS(9036),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9036),
    [anon_sym_LT_EQ_GT] = ACTIONS(9036),
    [anon_sym_EQ_TILDE] = ACTIONS(9036),
    [anon_sym_BANG_TILDE] = ACTIONS(9036),
    [anon_sym_LT_EQ] = ACTIONS(9024),
    [anon_sym_GT] = ACTIONS(9024),
    [anon_sym_GT_EQ] = ACTIONS(9038),
    [anon_sym_CARET] = ACTIONS(9018),
    [anon_sym_PLUS] = ACTIONS(9040),
    [anon_sym_SLASH] = ACTIONS(9020),
    [anon_sym_PERCENT] = ACTIONS(9020),
    [sym_comment] = ACTIONS(256),
  },
  [9670] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(12008),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1222),
    [sym_call] = STATE(1222),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1224),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1225),
    [sym__variable] = STATE(1222),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(1980),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(4858),
    [anon_sym_yield] = ACTIONS(4860),
    [anon_sym_break] = ACTIONS(4862),
    [anon_sym_next] = ACTIONS(4864),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(4866),
    [anon_sym_defined_QMARK] = ACTIONS(1990),
    [anon_sym_not] = ACTIONS(4868),
    [anon_sym_BANG] = ACTIONS(1996),
    [anon_sym_TILDE] = ACTIONS(1996),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [9671] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1220),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1222),
    [sym_call] = STATE(1222),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(11312),
    [sym_splat_argument] = STATE(601),
    [sym_hash_splat_argument] = STATE(601),
    [sym_block_argument] = STATE(601),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1224),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1225),
    [sym__variable] = STATE(1222),
    [sym_reserved_identifier] = STATE(1226),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1227),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(601),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__block_ampersand] = ACTIONS(1976),
    [sym__splat_star] = ACTIONS(1978),
    [sym__unary_minus] = ACTIONS(1980),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(9048),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(1982),
    [anon_sym_yield] = ACTIONS(1984),
    [anon_sym_break] = ACTIONS(1986),
    [anon_sym_next] = ACTIONS(1988),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(4866),
    [anon_sym_defined_QMARK] = ACTIONS(1990),
    [anon_sym_not] = ACTIONS(1992),
    [anon_sym_BANG] = ACTIONS(1996),
    [anon_sym_TILDE] = ACTIONS(1996),
    [sym_constant] = ACTIONS(1998),
    [sym_identifier] = ACTIONS(1998),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [9672] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(6528),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1222),
    [sym_call] = STATE(1222),
    [sym_method_call] = STATE(338),
    [sym_splat_argument] = STATE(5074),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym__arg_or_splat_arg] = STATE(11313),
    [sym_left_assignment_list] = STATE(1224),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1225),
    [sym__variable] = STATE(1222),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__splat_star] = ACTIONS(4812),
    [sym__unary_minus] = ACTIONS(1980),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(4858),
    [anon_sym_yield] = ACTIONS(4860),
    [anon_sym_break] = ACTIONS(4862),
    [anon_sym_next] = ACTIONS(4864),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(4866),
    [anon_sym_defined_QMARK] = ACTIONS(1990),
    [anon_sym_not] = ACTIONS(4868),
    [anon_sym_BANG] = ACTIONS(1996),
    [anon_sym_TILDE] = ACTIONS(1996),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [9673] = {
    [sym__simple_heredoc_body] = ACTIONS(11422),
    [sym__heredoc_body_beginning] = ACTIONS(11422),
    [sym__line_break] = ACTIONS(11422),
    [sym__element_reference_left_bracket] = ACTIONS(11422),
    [sym__scope_double_colon] = ACTIONS(11422),
    [sym__binary_minus] = ACTIONS(11422),
    [sym__binary_star] = ACTIONS(11422),
    [anon_sym_LBRACE] = ACTIONS(11422),
    [anon_sym_RPAREN] = ACTIONS(11422),
    [anon_sym_DOT] = ACTIONS(11426),
    [anon_sym_COMMA] = ACTIONS(14830),
    [anon_sym_PIPE] = ACTIONS(11426),
    [anon_sym_SEMI] = ACTIONS(11422),
    [anon_sym_STAR_STAR] = ACTIONS(11426),
    [anon_sym_AMP] = ACTIONS(11426),
    [anon_sym_EQ] = ACTIONS(11426),
    [anon_sym_LT] = ACTIONS(11426),
    [anon_sym_if] = ACTIONS(11422),
    [anon_sym_unless] = ACTIONS(11422),
    [anon_sym_while] = ACTIONS(11422),
    [anon_sym_until] = ACTIONS(11422),
    [anon_sym_rescue] = ACTIONS(11422),
    [anon_sym_do] = ACTIONS(11422),
    [anon_sym_EQ_GT] = ACTIONS(11422),
    [anon_sym_AMP_DOT] = ACTIONS(11422),
    [anon_sym_PLUS_EQ] = ACTIONS(11422),
    [anon_sym_DASH_EQ] = ACTIONS(11422),
    [anon_sym_STAR_EQ] = ACTIONS(11422),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(11422),
    [anon_sym_SLASH_EQ] = ACTIONS(11422),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(11422),
    [anon_sym_PIPE_EQ] = ACTIONS(11422),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(11422),
    [anon_sym_AMP_EQ] = ACTIONS(11422),
    [anon_sym_PERCENT_EQ] = ACTIONS(11422),
    [anon_sym_GT_GT_EQ] = ACTIONS(11422),
    [anon_sym_LT_LT_EQ] = ACTIONS(11422),
    [anon_sym_CARET_EQ] = ACTIONS(11422),
    [anon_sym_QMARK] = ACTIONS(11422),
    [anon_sym_DOT_DOT] = ACTIONS(11426),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11422),
    [anon_sym_and] = ACTIONS(11422),
    [anon_sym_or] = ACTIONS(11422),
    [anon_sym_PIPE_PIPE] = ACTIONS(11426),
    [anon_sym_AMP_AMP] = ACTIONS(11426),
    [anon_sym_LT_LT] = ACTIONS(11426),
    [anon_sym_GT_GT] = ACTIONS(11426),
    [anon_sym_EQ_EQ] = ACTIONS(11426),
    [anon_sym_BANG_EQ] = ACTIONS(11422),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11422),
    [anon_sym_LT_EQ_GT] = ACTIONS(11422),
    [anon_sym_EQ_TILDE] = ACTIONS(11422),
    [anon_sym_BANG_TILDE] = ACTIONS(11422),
    [anon_sym_LT_EQ] = ACTIONS(11426),
    [anon_sym_GT] = ACTIONS(11426),
    [anon_sym_GT_EQ] = ACTIONS(11422),
    [anon_sym_CARET] = ACTIONS(11426),
    [anon_sym_PLUS] = ACTIONS(11426),
    [anon_sym_SLASH] = ACTIONS(11426),
    [anon_sym_PERCENT] = ACTIONS(11426),
    [sym_comment] = ACTIONS(256),
  },
  [9674] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__line_break] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(9054),
    [anon_sym_RPAREN] = ACTIONS(7008),
    [anon_sym_COMMA] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_SEMI] = ACTIONS(7008),
    [anon_sym_STAR_STAR] = ACTIONS(9058),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_if] = ACTIONS(7008),
    [anon_sym_unless] = ACTIONS(7008),
    [anon_sym_while] = ACTIONS(7008),
    [anon_sym_until] = ACTIONS(7008),
    [anon_sym_rescue] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7008),
    [anon_sym_AMP_AMP] = ACTIONS(7008),
    [anon_sym_LT_LT] = ACTIONS(7008),
    [anon_sym_GT_GT] = ACTIONS(7008),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7008),
    [anon_sym_PLUS] = ACTIONS(7008),
    [anon_sym_SLASH] = ACTIONS(9058),
    [anon_sym_PERCENT] = ACTIONS(9058),
    [sym_comment] = ACTIONS(110),
  },
  [9675] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__line_break] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_RPAREN] = ACTIONS(7012),
    [anon_sym_COMMA] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_SEMI] = ACTIONS(7012),
    [anon_sym_STAR_STAR] = ACTIONS(9058),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_if] = ACTIONS(7012),
    [anon_sym_unless] = ACTIONS(7012),
    [anon_sym_while] = ACTIONS(7012),
    [anon_sym_until] = ACTIONS(7012),
    [anon_sym_rescue] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7012),
    [anon_sym_AMP_AMP] = ACTIONS(7012),
    [anon_sym_LT_LT] = ACTIONS(7012),
    [anon_sym_GT_GT] = ACTIONS(7012),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7012),
    [anon_sym_PLUS] = ACTIONS(7012),
    [anon_sym_SLASH] = ACTIONS(7012),
    [anon_sym_PERCENT] = ACTIONS(7012),
    [sym_comment] = ACTIONS(110),
  },
  [9676] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(9052),
    [sym__binary_star] = ACTIONS(9054),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(9058),
    [anon_sym_AMP] = ACTIONS(9060),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(9072),
    [anon_sym_GT_GT] = ACTIONS(9072),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(9080),
    [anon_sym_SLASH] = ACTIONS(9058),
    [anon_sym_PERCENT] = ACTIONS(9058),
    [sym_comment] = ACTIONS(110),
  },
  [9677] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(9058),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7016),
    [anon_sym_PERCENT] = ACTIONS(7016),
    [sym_comment] = ACTIONS(110),
  },
  [9678] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(9052),
    [sym__binary_star] = ACTIONS(9054),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(9058),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(9072),
    [anon_sym_GT_GT] = ACTIONS(9072),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(9080),
    [anon_sym_SLASH] = ACTIONS(9058),
    [anon_sym_PERCENT] = ACTIONS(9058),
    [sym_comment] = ACTIONS(110),
  },
  [9679] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(9052),
    [sym__binary_star] = ACTIONS(9054),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(9056),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(9058),
    [anon_sym_AMP] = ACTIONS(9060),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(9072),
    [anon_sym_GT_GT] = ACTIONS(9072),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(9078),
    [anon_sym_PLUS] = ACTIONS(9080),
    [anon_sym_SLASH] = ACTIONS(9058),
    [anon_sym_PERCENT] = ACTIONS(9058),
    [sym_comment] = ACTIONS(110),
  },
  [9680] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(14832),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [9681] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__line_break] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(9052),
    [sym__binary_star] = ACTIONS(9054),
    [anon_sym_RPAREN] = ACTIONS(7108),
    [anon_sym_COMMA] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(9056),
    [anon_sym_SEMI] = ACTIONS(7108),
    [anon_sym_STAR_STAR] = ACTIONS(9058),
    [anon_sym_AMP] = ACTIONS(9060),
    [anon_sym_LT] = ACTIONS(9062),
    [anon_sym_if] = ACTIONS(7108),
    [anon_sym_unless] = ACTIONS(7108),
    [anon_sym_while] = ACTIONS(7108),
    [anon_sym_until] = ACTIONS(7108),
    [anon_sym_rescue] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(9066),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9068),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(9070),
    [anon_sym_AMP_AMP] = ACTIONS(9070),
    [anon_sym_LT_LT] = ACTIONS(9072),
    [anon_sym_GT_GT] = ACTIONS(9072),
    [anon_sym_EQ_EQ] = ACTIONS(9074),
    [anon_sym_BANG_EQ] = ACTIONS(9070),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9070),
    [anon_sym_LT_EQ_GT] = ACTIONS(9070),
    [anon_sym_EQ_TILDE] = ACTIONS(9070),
    [anon_sym_BANG_TILDE] = ACTIONS(9070),
    [anon_sym_LT_EQ] = ACTIONS(9062),
    [anon_sym_GT] = ACTIONS(9062),
    [anon_sym_GT_EQ] = ACTIONS(9076),
    [anon_sym_CARET] = ACTIONS(9078),
    [anon_sym_PLUS] = ACTIONS(9080),
    [anon_sym_SLASH] = ACTIONS(9058),
    [anon_sym_PERCENT] = ACTIONS(9058),
    [sym_comment] = ACTIONS(110),
  },
  [9682] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(9052),
    [sym__binary_star] = ACTIONS(9054),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(9056),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(9058),
    [anon_sym_AMP] = ACTIONS(9060),
    [anon_sym_LT] = ACTIONS(9062),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(9064),
    [anon_sym_DOT_DOT] = ACTIONS(9066),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9068),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(9070),
    [anon_sym_AMP_AMP] = ACTIONS(9070),
    [anon_sym_LT_LT] = ACTIONS(9072),
    [anon_sym_GT_GT] = ACTIONS(9072),
    [anon_sym_EQ_EQ] = ACTIONS(9074),
    [anon_sym_BANG_EQ] = ACTIONS(9070),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9070),
    [anon_sym_LT_EQ_GT] = ACTIONS(9070),
    [anon_sym_EQ_TILDE] = ACTIONS(9070),
    [anon_sym_BANG_TILDE] = ACTIONS(9070),
    [anon_sym_LT_EQ] = ACTIONS(9062),
    [anon_sym_GT] = ACTIONS(9062),
    [anon_sym_GT_EQ] = ACTIONS(9076),
    [anon_sym_CARET] = ACTIONS(9078),
    [anon_sym_PLUS] = ACTIONS(9080),
    [anon_sym_SLASH] = ACTIONS(9058),
    [anon_sym_PERCENT] = ACTIONS(9058),
    [sym_comment] = ACTIONS(110),
  },
  [9683] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(9052),
    [sym__binary_star] = ACTIONS(9054),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(9056),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(9058),
    [anon_sym_AMP] = ACTIONS(9060),
    [anon_sym_LT] = ACTIONS(9062),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(9072),
    [anon_sym_GT_GT] = ACTIONS(9072),
    [anon_sym_EQ_EQ] = ACTIONS(9074),
    [anon_sym_BANG_EQ] = ACTIONS(9070),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9070),
    [anon_sym_LT_EQ_GT] = ACTIONS(9070),
    [anon_sym_EQ_TILDE] = ACTIONS(9070),
    [anon_sym_BANG_TILDE] = ACTIONS(9070),
    [anon_sym_LT_EQ] = ACTIONS(9062),
    [anon_sym_GT] = ACTIONS(9062),
    [anon_sym_GT_EQ] = ACTIONS(9076),
    [anon_sym_CARET] = ACTIONS(9078),
    [anon_sym_PLUS] = ACTIONS(9080),
    [anon_sym_SLASH] = ACTIONS(9058),
    [anon_sym_PERCENT] = ACTIONS(9058),
    [sym_comment] = ACTIONS(110),
  },
  [9684] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(9052),
    [sym__binary_star] = ACTIONS(9054),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(9058),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(9080),
    [anon_sym_SLASH] = ACTIONS(9058),
    [anon_sym_PERCENT] = ACTIONS(9058),
    [sym_comment] = ACTIONS(110),
  },
  [9685] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(9054),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(9058),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(9058),
    [anon_sym_PERCENT] = ACTIONS(9058),
    [sym_comment] = ACTIONS(110),
  },
  [9686] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3401),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(239),
    [sym_call] = STATE(239),
    [sym_method_call] = STATE(61),
    [sym_splat_argument] = STATE(2211),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym__arg_or_splat_arg] = STATE(11316),
    [sym_left_assignment_list] = STATE(3403),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3404),
    [sym__variable] = STATE(239),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(4910),
    [sym__unary_minus] = ACTIONS(4912),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(404),
    [anon_sym_yield] = ACTIONS(406),
    [anon_sym_break] = ACTIONS(408),
    [anon_sym_next] = ACTIONS(410),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(4914),
    [anon_sym_defined_QMARK] = ACTIONS(4916),
    [anon_sym_not] = ACTIONS(4918),
    [anon_sym_BANG] = ACTIONS(4920),
    [anon_sym_TILDE] = ACTIONS(4920),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9687] = {
    [aux_sym_exceptions_repeat1] = STATE(6549),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__line_break] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_RPAREN] = ACTIONS(7330),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_SEMI] = ACTIONS(7330),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_if] = ACTIONS(7330),
    [anon_sym_unless] = ACTIONS(7330),
    [anon_sym_while] = ACTIONS(7330),
    [anon_sym_until] = ACTIONS(7330),
    [anon_sym_rescue] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [9688] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__line_break] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(9052),
    [sym__binary_star] = ACTIONS(9054),
    [anon_sym_RPAREN] = ACTIONS(7344),
    [anon_sym_COMMA] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(9056),
    [anon_sym_SEMI] = ACTIONS(7344),
    [anon_sym_STAR_STAR] = ACTIONS(9058),
    [anon_sym_AMP] = ACTIONS(9060),
    [anon_sym_LT] = ACTIONS(9062),
    [anon_sym_if] = ACTIONS(7344),
    [anon_sym_unless] = ACTIONS(7344),
    [anon_sym_while] = ACTIONS(7344),
    [anon_sym_until] = ACTIONS(7344),
    [anon_sym_rescue] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(9064),
    [anon_sym_DOT_DOT] = ACTIONS(9066),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9068),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(9070),
    [anon_sym_AMP_AMP] = ACTIONS(9070),
    [anon_sym_LT_LT] = ACTIONS(9072),
    [anon_sym_GT_GT] = ACTIONS(9072),
    [anon_sym_EQ_EQ] = ACTIONS(9074),
    [anon_sym_BANG_EQ] = ACTIONS(9070),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9070),
    [anon_sym_LT_EQ_GT] = ACTIONS(9070),
    [anon_sym_EQ_TILDE] = ACTIONS(9070),
    [anon_sym_BANG_TILDE] = ACTIONS(9070),
    [anon_sym_LT_EQ] = ACTIONS(9062),
    [anon_sym_GT] = ACTIONS(9062),
    [anon_sym_GT_EQ] = ACTIONS(9076),
    [anon_sym_CARET] = ACTIONS(9078),
    [anon_sym_PLUS] = ACTIONS(9080),
    [anon_sym_SLASH] = ACTIONS(9058),
    [anon_sym_PERCENT] = ACTIONS(9058),
    [sym_comment] = ACTIONS(110),
  },
  [9689] = {
    [sym__method_rest] = STATE(12011),
    [sym_operator] = STATE(217),
    [sym__method_name] = STATE(1248),
    [sym_setter] = STATE(217),
    [sym_symbol] = STATE(217),
    [sym__simple_symbol] = ACTIONS(378),
    [sym__symbol_beginning] = ACTIONS(380),
    [anon_sym_PIPE] = ACTIONS(384),
    [anon_sym_STAR] = ACTIONS(386),
    [anon_sym_STAR_STAR] = ACTIONS(384),
    [anon_sym_AMP] = ACTIONS(384),
    [anon_sym_LT] = ACTIONS(386),
    [anon_sym_DOT_DOT] = ACTIONS(384),
    [anon_sym_LT_LT] = ACTIONS(384),
    [anon_sym_GT_GT] = ACTIONS(384),
    [anon_sym_EQ_EQ] = ACTIONS(386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(384),
    [anon_sym_LT_EQ_GT] = ACTIONS(384),
    [anon_sym_EQ_TILDE] = ACTIONS(384),
    [anon_sym_BANG_TILDE] = ACTIONS(384),
    [anon_sym_LT_EQ] = ACTIONS(386),
    [anon_sym_GT] = ACTIONS(386),
    [anon_sym_GT_EQ] = ACTIONS(384),
    [anon_sym_CARET] = ACTIONS(384),
    [anon_sym_PLUS] = ACTIONS(386),
    [anon_sym_SLASH] = ACTIONS(384),
    [anon_sym_PERCENT] = ACTIONS(384),
    [anon_sym_BANG] = ACTIONS(386),
    [anon_sym_TILDE] = ACTIONS(384),
    [sym_constant] = ACTIONS(4694),
    [sym_identifier] = ACTIONS(4696),
    [sym_instance_variable] = ACTIONS(4694),
    [sym_class_variable] = ACTIONS(4694),
    [sym_global_variable] = ACTIONS(4694),
    [anon_sym_DASH] = ACTIONS(386),
    [anon_sym_PLUS_AT] = ACTIONS(384),
    [anon_sym_DASH_AT] = ACTIONS(384),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(386),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(384),
    [anon_sym_BQUOTE] = ACTIONS(384),
    [sym_comment] = ACTIONS(110),
  },
  [9690] = {
    [sym__element_reference_left_bracket] = ACTIONS(12478),
    [sym__scope_double_colon] = ACTIONS(12478),
    [anon_sym_DOT] = ACTIONS(12478),
    [anon_sym_AMP_DOT] = ACTIONS(12478),
    [sym_comment] = ACTIONS(110),
  },
  [9691] = {
    [sym__element_reference_left_bracket] = ACTIONS(12724),
    [sym__scope_double_colon] = ACTIONS(12724),
    [anon_sym_DOT] = ACTIONS(12724),
    [anon_sym_AMP_DOT] = ACTIONS(12724),
    [sym_comment] = ACTIONS(110),
  },
  [9692] = {
    [anon_sym_end] = ACTIONS(14834),
    [sym_comment] = ACTIONS(110),
  },
  [9693] = {
    [sym__element_reference_left_bracket] = ACTIONS(12732),
    [sym__scope_double_colon] = ACTIONS(12732),
    [anon_sym_DOT] = ACTIONS(12732),
    [anon_sym_AMP_DOT] = ACTIONS(12732),
    [sym_comment] = ACTIONS(110),
  },
  [9694] = {
    [anon_sym_end] = ACTIONS(14836),
    [sym_comment] = ACTIONS(110),
  },
  [9695] = {
    [sym__element_reference_left_bracket] = ACTIONS(12750),
    [sym__scope_double_colon] = ACTIONS(12750),
    [anon_sym_DOT] = ACTIONS(12750),
    [anon_sym_AMP_DOT] = ACTIONS(12750),
    [sym_comment] = ACTIONS(110),
  },
  [9696] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(9116),
    [sym__binary_star] = ACTIONS(9118),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(9120),
    [anon_sym_STAR_STAR] = ACTIONS(9122),
    [anon_sym_AMP] = ACTIONS(9124),
    [anon_sym_LT] = ACTIONS(9126),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(9128),
    [anon_sym_DOT_DOT] = ACTIONS(9130),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9132),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(9136),
    [anon_sym_AMP_AMP] = ACTIONS(9136),
    [anon_sym_LT_LT] = ACTIONS(9138),
    [anon_sym_GT_GT] = ACTIONS(9138),
    [anon_sym_EQ_EQ] = ACTIONS(9140),
    [anon_sym_BANG_EQ] = ACTIONS(9136),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9136),
    [anon_sym_LT_EQ_GT] = ACTIONS(9136),
    [anon_sym_EQ_TILDE] = ACTIONS(9136),
    [anon_sym_BANG_TILDE] = ACTIONS(9136),
    [anon_sym_LT_EQ] = ACTIONS(9126),
    [anon_sym_GT] = ACTIONS(9126),
    [anon_sym_GT_EQ] = ACTIONS(9142),
    [anon_sym_CARET] = ACTIONS(9144),
    [anon_sym_PLUS] = ACTIONS(9146),
    [anon_sym_SLASH] = ACTIONS(9122),
    [anon_sym_PERCENT] = ACTIONS(9122),
    [sym_comment] = ACTIONS(110),
  },
  [9697] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(9116),
    [sym__binary_star] = ACTIONS(9118),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(9120),
    [anon_sym_STAR_STAR] = ACTIONS(9122),
    [anon_sym_AMP] = ACTIONS(9124),
    [anon_sym_LT] = ACTIONS(9126),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(9128),
    [anon_sym_DOT_DOT] = ACTIONS(9130),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9132),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(9136),
    [anon_sym_AMP_AMP] = ACTIONS(9136),
    [anon_sym_LT_LT] = ACTIONS(9138),
    [anon_sym_GT_GT] = ACTIONS(9138),
    [anon_sym_EQ_EQ] = ACTIONS(9140),
    [anon_sym_BANG_EQ] = ACTIONS(9136),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9136),
    [anon_sym_LT_EQ_GT] = ACTIONS(9136),
    [anon_sym_EQ_TILDE] = ACTIONS(9136),
    [anon_sym_BANG_TILDE] = ACTIONS(9136),
    [anon_sym_LT_EQ] = ACTIONS(9126),
    [anon_sym_GT] = ACTIONS(9126),
    [anon_sym_GT_EQ] = ACTIONS(9142),
    [anon_sym_CARET] = ACTIONS(9144),
    [anon_sym_PLUS] = ACTIONS(9146),
    [anon_sym_SLASH] = ACTIONS(9122),
    [anon_sym_PERCENT] = ACTIONS(9122),
    [sym_comment] = ACTIONS(110),
  },
  [9698] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(9116),
    [sym__binary_star] = ACTIONS(9118),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(9120),
    [anon_sym_STAR_STAR] = ACTIONS(9122),
    [anon_sym_AMP] = ACTIONS(9124),
    [anon_sym_LT] = ACTIONS(9126),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(9128),
    [anon_sym_DOT_DOT] = ACTIONS(9130),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9132),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(9136),
    [anon_sym_AMP_AMP] = ACTIONS(9136),
    [anon_sym_LT_LT] = ACTIONS(9138),
    [anon_sym_GT_GT] = ACTIONS(9138),
    [anon_sym_EQ_EQ] = ACTIONS(9140),
    [anon_sym_BANG_EQ] = ACTIONS(9136),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9136),
    [anon_sym_LT_EQ_GT] = ACTIONS(9136),
    [anon_sym_EQ_TILDE] = ACTIONS(9136),
    [anon_sym_BANG_TILDE] = ACTIONS(9136),
    [anon_sym_LT_EQ] = ACTIONS(9126),
    [anon_sym_GT] = ACTIONS(9126),
    [anon_sym_GT_EQ] = ACTIONS(9142),
    [anon_sym_CARET] = ACTIONS(9144),
    [anon_sym_PLUS] = ACTIONS(9146),
    [anon_sym_SLASH] = ACTIONS(9122),
    [anon_sym_PERCENT] = ACTIONS(9122),
    [sym_comment] = ACTIONS(110),
  },
  [9699] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(12014),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3437),
    [sym_call] = STATE(3437),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3438),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3439),
    [sym__variable] = STATE(3437),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4944),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(4946),
    [anon_sym_yield] = ACTIONS(4948),
    [anon_sym_break] = ACTIONS(4950),
    [anon_sym_next] = ACTIONS(4952),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(4954),
    [anon_sym_defined_QMARK] = ACTIONS(4956),
    [anon_sym_not] = ACTIONS(4958),
    [anon_sym_BANG] = ACTIONS(4960),
    [anon_sym_TILDE] = ACTIONS(4960),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9700] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6573),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(6127),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_reserved_identifier] = STATE(6575),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(6576),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(12015),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(9110),
    [sym__splat_star] = ACTIONS(9112),
    [sym__unary_minus] = ACTIONS(1640),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(14838),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(1642),
    [anon_sym_yield] = ACTIONS(1644),
    [anon_sym_break] = ACTIONS(1646),
    [anon_sym_next] = ACTIONS(1648),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2038),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(1652),
    [anon_sym_BANG] = ACTIONS(1656),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(9114),
    [sym_identifier] = ACTIONS(9114),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9701] = {
    [sym_heredoc_end] = STATE(3004),
    [aux_sym_argument_list_repeat2] = STATE(6130),
    [sym__simple_heredoc_body] = ACTIONS(4410),
    [sym__heredoc_body_beginning] = ACTIONS(4412),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(14840),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_STAR_STAR] = ACTIONS(5472),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5472),
    [anon_sym_AMP_AMP] = ACTIONS(5472),
    [anon_sym_LT_LT] = ACTIONS(5472),
    [anon_sym_GT_GT] = ACTIONS(5472),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5472),
    [anon_sym_PLUS] = ACTIONS(5472),
    [anon_sym_SLASH] = ACTIONS(5472),
    [anon_sym_PERCENT] = ACTIONS(5472),
    [sym_comment] = ACTIONS(110),
  },
  [9702] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(12017),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3437),
    [sym_call] = STATE(3437),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3438),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3439),
    [sym__variable] = STATE(3437),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(4944),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(4946),
    [anon_sym_yield] = ACTIONS(4948),
    [anon_sym_break] = ACTIONS(4950),
    [anon_sym_next] = ACTIONS(4952),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(4954),
    [anon_sym_defined_QMARK] = ACTIONS(4956),
    [anon_sym_not] = ACTIONS(4958),
    [anon_sym_BANG] = ACTIONS(4960),
    [anon_sym_TILDE] = ACTIONS(4960),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9703] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__element_reference_left_bracket] = ACTIONS(7008),
    [sym__scope_double_colon] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(9118),
    [anon_sym_DOT] = ACTIONS(7010),
    [anon_sym_COMMA] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_STAR_STAR] = ACTIONS(9122),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_AMP_DOT] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7008),
    [anon_sym_AMP_AMP] = ACTIONS(7008),
    [anon_sym_LT_LT] = ACTIONS(7008),
    [anon_sym_GT_GT] = ACTIONS(7008),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7008),
    [anon_sym_PLUS] = ACTIONS(7008),
    [anon_sym_SLASH] = ACTIONS(9122),
    [anon_sym_PERCENT] = ACTIONS(9122),
    [sym_comment] = ACTIONS(110),
  },
  [9704] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__element_reference_left_bracket] = ACTIONS(7012),
    [sym__scope_double_colon] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_DOT] = ACTIONS(7014),
    [anon_sym_COMMA] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_STAR_STAR] = ACTIONS(9122),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_AMP_DOT] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7012),
    [anon_sym_AMP_AMP] = ACTIONS(7012),
    [anon_sym_LT_LT] = ACTIONS(7012),
    [anon_sym_GT_GT] = ACTIONS(7012),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7012),
    [anon_sym_PLUS] = ACTIONS(7012),
    [anon_sym_SLASH] = ACTIONS(7012),
    [anon_sym_PERCENT] = ACTIONS(7012),
    [sym_comment] = ACTIONS(110),
  },
  [9705] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(9116),
    [sym__binary_star] = ACTIONS(9118),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(9122),
    [anon_sym_AMP] = ACTIONS(9124),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(9138),
    [anon_sym_GT_GT] = ACTIONS(9138),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(9146),
    [anon_sym_SLASH] = ACTIONS(9122),
    [anon_sym_PERCENT] = ACTIONS(9122),
    [sym_comment] = ACTIONS(110),
  },
  [9706] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(9122),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7016),
    [anon_sym_PERCENT] = ACTIONS(7016),
    [sym_comment] = ACTIONS(110),
  },
  [9707] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(9116),
    [sym__binary_star] = ACTIONS(9118),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(9122),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(9138),
    [anon_sym_GT_GT] = ACTIONS(9138),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(9146),
    [anon_sym_SLASH] = ACTIONS(9122),
    [anon_sym_PERCENT] = ACTIONS(9122),
    [sym_comment] = ACTIONS(110),
  },
  [9708] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(9116),
    [sym__binary_star] = ACTIONS(9118),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(9120),
    [anon_sym_STAR_STAR] = ACTIONS(9122),
    [anon_sym_AMP] = ACTIONS(9124),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(9138),
    [anon_sym_GT_GT] = ACTIONS(9138),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(9144),
    [anon_sym_PLUS] = ACTIONS(9146),
    [anon_sym_SLASH] = ACTIONS(9122),
    [anon_sym_PERCENT] = ACTIONS(9122),
    [sym_comment] = ACTIONS(110),
  },
  [9709] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(14842),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [9710] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__element_reference_left_bracket] = ACTIONS(7108),
    [sym__scope_double_colon] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(9116),
    [sym__binary_star] = ACTIONS(9118),
    [anon_sym_DOT] = ACTIONS(9472),
    [anon_sym_COMMA] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(9120),
    [anon_sym_STAR_STAR] = ACTIONS(9122),
    [anon_sym_AMP] = ACTIONS(9124),
    [anon_sym_LT] = ACTIONS(9126),
    [anon_sym_AMP_DOT] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(9130),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9132),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(9136),
    [anon_sym_AMP_AMP] = ACTIONS(9136),
    [anon_sym_LT_LT] = ACTIONS(9138),
    [anon_sym_GT_GT] = ACTIONS(9138),
    [anon_sym_EQ_EQ] = ACTIONS(9140),
    [anon_sym_BANG_EQ] = ACTIONS(9136),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9136),
    [anon_sym_LT_EQ_GT] = ACTIONS(9136),
    [anon_sym_EQ_TILDE] = ACTIONS(9136),
    [anon_sym_BANG_TILDE] = ACTIONS(9136),
    [anon_sym_LT_EQ] = ACTIONS(9126),
    [anon_sym_GT] = ACTIONS(9126),
    [anon_sym_GT_EQ] = ACTIONS(9142),
    [anon_sym_CARET] = ACTIONS(9144),
    [anon_sym_PLUS] = ACTIONS(9146),
    [anon_sym_SLASH] = ACTIONS(9122),
    [anon_sym_PERCENT] = ACTIONS(9122),
    [sym_comment] = ACTIONS(110),
  },
  [9711] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(9116),
    [sym__binary_star] = ACTIONS(9118),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(9120),
    [anon_sym_STAR_STAR] = ACTIONS(9122),
    [anon_sym_AMP] = ACTIONS(9124),
    [anon_sym_LT] = ACTIONS(9126),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(9128),
    [anon_sym_DOT_DOT] = ACTIONS(9130),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9132),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(9136),
    [anon_sym_AMP_AMP] = ACTIONS(9136),
    [anon_sym_LT_LT] = ACTIONS(9138),
    [anon_sym_GT_GT] = ACTIONS(9138),
    [anon_sym_EQ_EQ] = ACTIONS(9140),
    [anon_sym_BANG_EQ] = ACTIONS(9136),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9136),
    [anon_sym_LT_EQ_GT] = ACTIONS(9136),
    [anon_sym_EQ_TILDE] = ACTIONS(9136),
    [anon_sym_BANG_TILDE] = ACTIONS(9136),
    [anon_sym_LT_EQ] = ACTIONS(9126),
    [anon_sym_GT] = ACTIONS(9126),
    [anon_sym_GT_EQ] = ACTIONS(9142),
    [anon_sym_CARET] = ACTIONS(9144),
    [anon_sym_PLUS] = ACTIONS(9146),
    [anon_sym_SLASH] = ACTIONS(9122),
    [anon_sym_PERCENT] = ACTIONS(9122),
    [sym_comment] = ACTIONS(110),
  },
  [9712] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(9116),
    [sym__binary_star] = ACTIONS(9118),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(9120),
    [anon_sym_STAR_STAR] = ACTIONS(9122),
    [anon_sym_AMP] = ACTIONS(9124),
    [anon_sym_LT] = ACTIONS(9126),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(9138),
    [anon_sym_GT_GT] = ACTIONS(9138),
    [anon_sym_EQ_EQ] = ACTIONS(9140),
    [anon_sym_BANG_EQ] = ACTIONS(9136),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9136),
    [anon_sym_LT_EQ_GT] = ACTIONS(9136),
    [anon_sym_EQ_TILDE] = ACTIONS(9136),
    [anon_sym_BANG_TILDE] = ACTIONS(9136),
    [anon_sym_LT_EQ] = ACTIONS(9126),
    [anon_sym_GT] = ACTIONS(9126),
    [anon_sym_GT_EQ] = ACTIONS(9142),
    [anon_sym_CARET] = ACTIONS(9144),
    [anon_sym_PLUS] = ACTIONS(9146),
    [anon_sym_SLASH] = ACTIONS(9122),
    [anon_sym_PERCENT] = ACTIONS(9122),
    [sym_comment] = ACTIONS(110),
  },
  [9713] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(9116),
    [sym__binary_star] = ACTIONS(9118),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(9122),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(9146),
    [anon_sym_SLASH] = ACTIONS(9122),
    [anon_sym_PERCENT] = ACTIONS(9122),
    [sym_comment] = ACTIONS(110),
  },
  [9714] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(9118),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(9122),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(9122),
    [anon_sym_PERCENT] = ACTIONS(9122),
    [sym_comment] = ACTIONS(110),
  },
  [9715] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(12019),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(9724),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(9725),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(12574),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(12576),
    [anon_sym_yield] = ACTIONS(12578),
    [anon_sym_break] = ACTIONS(12580),
    [anon_sym_next] = ACTIONS(12582),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(12584),
    [anon_sym_defined_QMARK] = ACTIONS(12586),
    [anon_sym_not] = ACTIONS(12588),
    [anon_sym_BANG] = ACTIONS(12590),
    [anon_sym_TILDE] = ACTIONS(12590),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [9716] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(6595),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(9264),
    [sym__argument_list_with_parens] = STATE(2959),
    [sym__argument] = STATE(6596),
    [sym_splat_argument] = STATE(2961),
    [sym_hash_splat_argument] = STATE(2961),
    [sym_block_argument] = STATE(2961),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1105),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1106),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(6597),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(6598),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(2961),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(9148),
    [sym__splat_star] = ACTIONS(9150),
    [sym__argument_list_left_paren] = ACTIONS(4330),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(1740),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(544),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_EQ] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(1752),
    [anon_sym_yield] = ACTIONS(1754),
    [anon_sym_break] = ACTIONS(1756),
    [anon_sym_next] = ACTIONS(1758),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(544),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_PLUS_EQ] = ACTIONS(532),
    [anon_sym_DASH_EQ] = ACTIONS(532),
    [anon_sym_STAR_EQ] = ACTIONS(532),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(532),
    [anon_sym_SLASH_EQ] = ACTIONS(532),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(532),
    [anon_sym_PIPE_EQ] = ACTIONS(532),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(532),
    [anon_sym_AMP_EQ] = ACTIONS(532),
    [anon_sym_PERCENT_EQ] = ACTIONS(532),
    [anon_sym_GT_GT_EQ] = ACTIONS(532),
    [anon_sym_LT_LT_EQ] = ACTIONS(532),
    [anon_sym_CARET_EQ] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(544),
    [anon_sym_AMP_AMP] = ACTIONS(544),
    [anon_sym_LT_LT] = ACTIONS(544),
    [anon_sym_GT_GT] = ACTIONS(544),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(544),
    [anon_sym_PERCENT] = ACTIONS(544),
    [anon_sym_defined_QMARK] = ACTIONS(1780),
    [anon_sym_not] = ACTIONS(1782),
    [anon_sym_BANG] = ACTIONS(1784),
    [anon_sym_TILDE] = ACTIONS(1786),
    [sym_constant] = ACTIONS(9152),
    [sym_identifier] = ACTIONS(9152),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [9717] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(6595),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(9265),
    [sym__argument_list_with_parens] = STATE(2959),
    [sym__argument] = STATE(6596),
    [sym_splat_argument] = STATE(2961),
    [sym_hash_splat_argument] = STATE(2961),
    [sym_block_argument] = STATE(2961),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1105),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1106),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(6597),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(6598),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(2961),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(9148),
    [sym__splat_star] = ACTIONS(9150),
    [sym__argument_list_left_paren] = ACTIONS(4330),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(1740),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(602),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(604),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_EQ] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(1752),
    [anon_sym_yield] = ACTIONS(1754),
    [anon_sym_break] = ACTIONS(1756),
    [anon_sym_next] = ACTIONS(1758),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(604),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_PLUS_EQ] = ACTIONS(602),
    [anon_sym_DASH_EQ] = ACTIONS(602),
    [anon_sym_STAR_EQ] = ACTIONS(602),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(602),
    [anon_sym_SLASH_EQ] = ACTIONS(602),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(602),
    [anon_sym_PIPE_EQ] = ACTIONS(602),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(602),
    [anon_sym_AMP_EQ] = ACTIONS(602),
    [anon_sym_PERCENT_EQ] = ACTIONS(602),
    [anon_sym_GT_GT_EQ] = ACTIONS(602),
    [anon_sym_LT_LT_EQ] = ACTIONS(602),
    [anon_sym_CARET_EQ] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(604),
    [anon_sym_AMP_AMP] = ACTIONS(604),
    [anon_sym_LT_LT] = ACTIONS(604),
    [anon_sym_GT_GT] = ACTIONS(604),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(604),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(604),
    [anon_sym_PERCENT] = ACTIONS(604),
    [anon_sym_defined_QMARK] = ACTIONS(1780),
    [anon_sym_not] = ACTIONS(1782),
    [anon_sym_BANG] = ACTIONS(1784),
    [anon_sym_TILDE] = ACTIONS(1786),
    [sym_constant] = ACTIONS(9152),
    [sym_identifier] = ACTIONS(9152),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [9718] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(6595),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(9266),
    [sym__argument_list_with_parens] = STATE(2959),
    [sym__argument] = STATE(6596),
    [sym_splat_argument] = STATE(2961),
    [sym_hash_splat_argument] = STATE(2961),
    [sym_block_argument] = STATE(2961),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1105),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1106),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(6597),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(6598),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(2961),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(9148),
    [sym__splat_star] = ACTIONS(9150),
    [sym__argument_list_left_paren] = ACTIONS(4330),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(1740),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(608),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_EQ] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(1752),
    [anon_sym_yield] = ACTIONS(1754),
    [anon_sym_break] = ACTIONS(1756),
    [anon_sym_next] = ACTIONS(1758),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(608),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_PLUS_EQ] = ACTIONS(606),
    [anon_sym_DASH_EQ] = ACTIONS(606),
    [anon_sym_STAR_EQ] = ACTIONS(606),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(606),
    [anon_sym_SLASH_EQ] = ACTIONS(606),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(606),
    [anon_sym_PIPE_EQ] = ACTIONS(606),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(606),
    [anon_sym_AMP_EQ] = ACTIONS(606),
    [anon_sym_PERCENT_EQ] = ACTIONS(606),
    [anon_sym_GT_GT_EQ] = ACTIONS(606),
    [anon_sym_LT_LT_EQ] = ACTIONS(606),
    [anon_sym_CARET_EQ] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(608),
    [anon_sym_AMP_AMP] = ACTIONS(608),
    [anon_sym_LT_LT] = ACTIONS(608),
    [anon_sym_GT_GT] = ACTIONS(608),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(608),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(608),
    [anon_sym_PERCENT] = ACTIONS(608),
    [anon_sym_defined_QMARK] = ACTIONS(1780),
    [anon_sym_not] = ACTIONS(1782),
    [anon_sym_BANG] = ACTIONS(1784),
    [anon_sym_TILDE] = ACTIONS(1786),
    [sym_constant] = ACTIONS(9152),
    [sym_identifier] = ACTIONS(9152),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [9719] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(6595),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_argument_list] = STATE(9267),
    [sym__argument_list_with_parens] = STATE(2959),
    [sym__argument] = STATE(6596),
    [sym_splat_argument] = STATE(2961),
    [sym_hash_splat_argument] = STATE(2961),
    [sym_block_argument] = STATE(2961),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1105),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1106),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(6597),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(6598),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(2961),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(9148),
    [sym__splat_star] = ACTIONS(9150),
    [sym__argument_list_left_paren] = ACTIONS(4330),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(1740),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(610),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(612),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_EQ] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(1752),
    [anon_sym_yield] = ACTIONS(1754),
    [anon_sym_break] = ACTIONS(1756),
    [anon_sym_next] = ACTIONS(1758),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(612),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_PLUS_EQ] = ACTIONS(610),
    [anon_sym_DASH_EQ] = ACTIONS(610),
    [anon_sym_STAR_EQ] = ACTIONS(610),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(610),
    [anon_sym_SLASH_EQ] = ACTIONS(610),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(610),
    [anon_sym_PIPE_EQ] = ACTIONS(610),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(610),
    [anon_sym_AMP_EQ] = ACTIONS(610),
    [anon_sym_PERCENT_EQ] = ACTIONS(610),
    [anon_sym_GT_GT_EQ] = ACTIONS(610),
    [anon_sym_LT_LT_EQ] = ACTIONS(610),
    [anon_sym_CARET_EQ] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(612),
    [anon_sym_AMP_AMP] = ACTIONS(612),
    [anon_sym_LT_LT] = ACTIONS(612),
    [anon_sym_GT_GT] = ACTIONS(612),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(612),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(612),
    [anon_sym_PERCENT] = ACTIONS(612),
    [anon_sym_defined_QMARK] = ACTIONS(1780),
    [anon_sym_not] = ACTIONS(1782),
    [anon_sym_BANG] = ACTIONS(1784),
    [anon_sym_TILDE] = ACTIONS(1786),
    [sym_constant] = ACTIONS(9152),
    [sym_identifier] = ACTIONS(9152),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [9720] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(12020),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(9724),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(9725),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(12574),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(12576),
    [anon_sym_yield] = ACTIONS(12578),
    [anon_sym_break] = ACTIONS(12580),
    [anon_sym_next] = ACTIONS(12582),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(12584),
    [anon_sym_defined_QMARK] = ACTIONS(12586),
    [anon_sym_not] = ACTIONS(12588),
    [anon_sym_BANG] = ACTIONS(12590),
    [anon_sym_TILDE] = ACTIONS(12590),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [9721] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(12021),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(9724),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(9725),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(12574),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(12576),
    [anon_sym_yield] = ACTIONS(12578),
    [anon_sym_break] = ACTIONS(12580),
    [anon_sym_next] = ACTIONS(12582),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(12584),
    [anon_sym_defined_QMARK] = ACTIONS(12586),
    [anon_sym_not] = ACTIONS(12588),
    [anon_sym_BANG] = ACTIONS(12590),
    [anon_sym_TILDE] = ACTIONS(12590),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [9722] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(9281),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(9724),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(9725),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(12574),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(12576),
    [anon_sym_yield] = ACTIONS(12578),
    [anon_sym_break] = ACTIONS(12580),
    [anon_sym_next] = ACTIONS(12582),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(12584),
    [anon_sym_defined_QMARK] = ACTIONS(12586),
    [anon_sym_not] = ACTIONS(12588),
    [anon_sym_BANG] = ACTIONS(12590),
    [anon_sym_TILDE] = ACTIONS(12590),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [9723] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(14844),
    [sym__binary_star] = ACTIONS(14846),
    [anon_sym_LBRACE] = ACTIONS(5298),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(14848),
    [anon_sym_STAR_STAR] = ACTIONS(14850),
    [anon_sym_AMP] = ACTIONS(14852),
    [anon_sym_EQ] = ACTIONS(5304),
    [anon_sym_LT] = ACTIONS(14854),
    [anon_sym_do] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_PLUS_EQ] = ACTIONS(5298),
    [anon_sym_DASH_EQ] = ACTIONS(5298),
    [anon_sym_STAR_EQ] = ACTIONS(5298),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5298),
    [anon_sym_SLASH_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_PIPE_EQ] = ACTIONS(5298),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5298),
    [anon_sym_AMP_EQ] = ACTIONS(5298),
    [anon_sym_PERCENT_EQ] = ACTIONS(5298),
    [anon_sym_GT_GT_EQ] = ACTIONS(5298),
    [anon_sym_LT_LT_EQ] = ACTIONS(5298),
    [anon_sym_CARET_EQ] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(14856),
    [anon_sym_DOT_DOT] = ACTIONS(14858),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(14860),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(14862),
    [anon_sym_AMP_AMP] = ACTIONS(14862),
    [anon_sym_LT_LT] = ACTIONS(14864),
    [anon_sym_GT_GT] = ACTIONS(14864),
    [anon_sym_EQ_EQ] = ACTIONS(14862),
    [anon_sym_BANG_EQ] = ACTIONS(14866),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(14866),
    [anon_sym_LT_EQ_GT] = ACTIONS(14866),
    [anon_sym_EQ_TILDE] = ACTIONS(14866),
    [anon_sym_BANG_TILDE] = ACTIONS(14866),
    [anon_sym_LT_EQ] = ACTIONS(14854),
    [anon_sym_GT] = ACTIONS(14854),
    [anon_sym_GT_EQ] = ACTIONS(14868),
    [anon_sym_CARET] = ACTIONS(14848),
    [anon_sym_PLUS] = ACTIONS(14870),
    [anon_sym_SLASH] = ACTIONS(14850),
    [anon_sym_PERCENT] = ACTIONS(14850),
    [sym_comment] = ACTIONS(256),
  },
  [9724] = {
    [anon_sym_EQ] = ACTIONS(14872),
    [sym_comment] = ACTIONS(256),
  },
  [9725] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(14874),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(14876),
    [anon_sym_DASH_EQ] = ACTIONS(14876),
    [anon_sym_STAR_EQ] = ACTIONS(14876),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(14876),
    [anon_sym_SLASH_EQ] = ACTIONS(14876),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(14876),
    [anon_sym_PIPE_EQ] = ACTIONS(14876),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(14876),
    [anon_sym_AMP_EQ] = ACTIONS(14876),
    [anon_sym_PERCENT_EQ] = ACTIONS(14876),
    [anon_sym_GT_GT_EQ] = ACTIONS(14876),
    [anon_sym_LT_LT_EQ] = ACTIONS(14876),
    [anon_sym_CARET_EQ] = ACTIONS(14876),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [9726] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(14844),
    [sym__binary_star] = ACTIONS(14846),
    [anon_sym_LBRACE] = ACTIONS(5338),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(14848),
    [anon_sym_STAR_STAR] = ACTIONS(14850),
    [anon_sym_AMP] = ACTIONS(14852),
    [anon_sym_EQ] = ACTIONS(5340),
    [anon_sym_LT] = ACTIONS(14854),
    [anon_sym_do] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_PLUS_EQ] = ACTIONS(5338),
    [anon_sym_DASH_EQ] = ACTIONS(5338),
    [anon_sym_STAR_EQ] = ACTIONS(5338),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5338),
    [anon_sym_SLASH_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_PIPE_EQ] = ACTIONS(5338),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5338),
    [anon_sym_AMP_EQ] = ACTIONS(5338),
    [anon_sym_PERCENT_EQ] = ACTIONS(5338),
    [anon_sym_GT_GT_EQ] = ACTIONS(5338),
    [anon_sym_LT_LT_EQ] = ACTIONS(5338),
    [anon_sym_CARET_EQ] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(14856),
    [anon_sym_DOT_DOT] = ACTIONS(14858),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(14860),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(14862),
    [anon_sym_AMP_AMP] = ACTIONS(14862),
    [anon_sym_LT_LT] = ACTIONS(14864),
    [anon_sym_GT_GT] = ACTIONS(14864),
    [anon_sym_EQ_EQ] = ACTIONS(14862),
    [anon_sym_BANG_EQ] = ACTIONS(14866),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(14866),
    [anon_sym_LT_EQ_GT] = ACTIONS(14866),
    [anon_sym_EQ_TILDE] = ACTIONS(14866),
    [anon_sym_BANG_TILDE] = ACTIONS(14866),
    [anon_sym_LT_EQ] = ACTIONS(14854),
    [anon_sym_GT] = ACTIONS(14854),
    [anon_sym_GT_EQ] = ACTIONS(14868),
    [anon_sym_CARET] = ACTIONS(14848),
    [anon_sym_PLUS] = ACTIONS(14870),
    [anon_sym_SLASH] = ACTIONS(14850),
    [anon_sym_PERCENT] = ACTIONS(14850),
    [sym_comment] = ACTIONS(256),
  },
  [9727] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(14844),
    [sym__binary_star] = ACTIONS(14846),
    [anon_sym_LBRACE] = ACTIONS(4284),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(14848),
    [anon_sym_STAR_STAR] = ACTIONS(14850),
    [anon_sym_AMP] = ACTIONS(14852),
    [anon_sym_EQ] = ACTIONS(5432),
    [anon_sym_LT] = ACTIONS(14854),
    [anon_sym_do] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_PLUS_EQ] = ACTIONS(4284),
    [anon_sym_DASH_EQ] = ACTIONS(4284),
    [anon_sym_STAR_EQ] = ACTIONS(4284),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(4284),
    [anon_sym_SLASH_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_PIPE_EQ] = ACTIONS(4284),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(4284),
    [anon_sym_AMP_EQ] = ACTIONS(4284),
    [anon_sym_PERCENT_EQ] = ACTIONS(4284),
    [anon_sym_GT_GT_EQ] = ACTIONS(4284),
    [anon_sym_LT_LT_EQ] = ACTIONS(4284),
    [anon_sym_CARET_EQ] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(14856),
    [anon_sym_DOT_DOT] = ACTIONS(14858),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(14860),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(14862),
    [anon_sym_AMP_AMP] = ACTIONS(14862),
    [anon_sym_LT_LT] = ACTIONS(14864),
    [anon_sym_GT_GT] = ACTIONS(14864),
    [anon_sym_EQ_EQ] = ACTIONS(14862),
    [anon_sym_BANG_EQ] = ACTIONS(14866),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(14866),
    [anon_sym_LT_EQ_GT] = ACTIONS(14866),
    [anon_sym_EQ_TILDE] = ACTIONS(14866),
    [anon_sym_BANG_TILDE] = ACTIONS(14866),
    [anon_sym_LT_EQ] = ACTIONS(14854),
    [anon_sym_GT] = ACTIONS(14854),
    [anon_sym_GT_EQ] = ACTIONS(14868),
    [anon_sym_CARET] = ACTIONS(14848),
    [anon_sym_PLUS] = ACTIONS(14870),
    [anon_sym_SLASH] = ACTIONS(14850),
    [anon_sym_PERCENT] = ACTIONS(14850),
    [sym_comment] = ACTIONS(256),
  },
  [9728] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(12036),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(9724),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(9725),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(12574),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(12576),
    [anon_sym_yield] = ACTIONS(12578),
    [anon_sym_break] = ACTIONS(12580),
    [anon_sym_next] = ACTIONS(12582),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(12584),
    [anon_sym_defined_QMARK] = ACTIONS(12586),
    [anon_sym_not] = ACTIONS(12588),
    [anon_sym_BANG] = ACTIONS(12590),
    [anon_sym_TILDE] = ACTIONS(12590),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [9729] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(6595),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(9329),
    [sym_splat_argument] = STATE(2961),
    [sym_hash_splat_argument] = STATE(2961),
    [sym_block_argument] = STATE(2961),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(1105),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1106),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(6597),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(6598),
    [sym_subshell] = STATE(1062),
    [sym_heredoc_end] = STATE(12037),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(2961),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__block_ampersand] = ACTIONS(9148),
    [sym__splat_star] = ACTIONS(9150),
    [sym__unary_minus] = ACTIONS(1740),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(14878),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(1752),
    [anon_sym_yield] = ACTIONS(1754),
    [anon_sym_break] = ACTIONS(1756),
    [anon_sym_next] = ACTIONS(1758),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(4486),
    [anon_sym_defined_QMARK] = ACTIONS(1780),
    [anon_sym_not] = ACTIONS(1782),
    [anon_sym_BANG] = ACTIONS(1786),
    [anon_sym_TILDE] = ACTIONS(1786),
    [sym_constant] = ACTIONS(9152),
    [sym_identifier] = ACTIONS(9152),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [9730] = {
    [sym_heredoc_end] = STATE(6092),
    [aux_sym_argument_list_repeat2] = STATE(9332),
    [sym__simple_heredoc_body] = ACTIONS(8530),
    [sym__heredoc_body_beginning] = ACTIONS(8532),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_LBRACE] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(14880),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_STAR_STAR] = ACTIONS(5474),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_EQ] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_do] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_PLUS_EQ] = ACTIONS(5472),
    [anon_sym_DASH_EQ] = ACTIONS(5472),
    [anon_sym_STAR_EQ] = ACTIONS(5472),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(5472),
    [anon_sym_SLASH_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_PIPE_EQ] = ACTIONS(5472),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(5472),
    [anon_sym_AMP_EQ] = ACTIONS(5472),
    [anon_sym_PERCENT_EQ] = ACTIONS(5472),
    [anon_sym_GT_GT_EQ] = ACTIONS(5472),
    [anon_sym_LT_LT_EQ] = ACTIONS(5472),
    [anon_sym_CARET_EQ] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5474),
    [anon_sym_AMP_AMP] = ACTIONS(5474),
    [anon_sym_LT_LT] = ACTIONS(5474),
    [anon_sym_GT_GT] = ACTIONS(5474),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5474),
    [anon_sym_PLUS] = ACTIONS(5474),
    [anon_sym_SLASH] = ACTIONS(5474),
    [anon_sym_PERCENT] = ACTIONS(5474),
    [sym_comment] = ACTIONS(256),
  },
  [9731] = {
    [sym_method] = STATE(6022),
    [sym_singleton_method] = STATE(6022),
    [sym_class] = STATE(6022),
    [sym_singleton_class] = STATE(6022),
    [sym_module] = STATE(6022),
    [sym_return] = STATE(6022),
    [sym_yield] = STATE(6022),
    [sym_break] = STATE(6022),
    [sym_next] = STATE(6022),
    [sym_redo] = STATE(6022),
    [sym_retry] = STATE(6022),
    [sym_while] = STATE(6022),
    [sym_until] = STATE(6022),
    [sym_for] = STATE(6022),
    [sym_case] = STATE(6022),
    [sym_if] = STATE(6022),
    [sym_unless] = STATE(6022),
    [sym_begin] = STATE(6022),
    [sym__arg] = STATE(12039),
    [sym__primary] = STATE(6050),
    [sym_parenthesized_statements] = STATE(6022),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(6052),
    [sym_operator_assignment] = STATE(6052),
    [sym_conditional] = STATE(6052),
    [sym_range] = STATE(6052),
    [sym_binary] = STATE(6052),
    [sym_unary] = STATE(6052),
    [sym_left_assignment_list] = STATE(9724),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(9725),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(6022),
    [sym_complex] = STATE(6022),
    [sym_rational] = STATE(6022),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(6022),
    [sym_string] = STATE(6055),
    [sym_subshell] = STATE(6022),
    [sym_array] = STATE(6022),
    [sym_hash] = STATE(6022),
    [sym_regex] = STATE(6022),
    [sym_lambda] = STATE(6022),
    [sym__simple_string] = ACTIONS(8398),
    [sym__simple_symbol] = ACTIONS(8400),
    [sym__simple_subshell] = ACTIONS(8402),
    [sym__simple_regex] = ACTIONS(8404),
    [sym__simple_word_list] = ACTIONS(8406),
    [sym__string_beginning] = ACTIONS(8408),
    [sym__symbol_beginning] = ACTIONS(8410),
    [sym__subshell_beginning] = ACTIONS(8412),
    [sym__regex_beginning] = ACTIONS(8414),
    [sym__word_list_beginning] = ACTIONS(8416),
    [sym_heredoc_beginning] = ACTIONS(8418),
    [sym__unary_minus] = ACTIONS(12574),
    [anon_sym_LBRACE] = ACTIONS(8422),
    [anon_sym_def] = ACTIONS(8424),
    [anon_sym_LPAREN] = ACTIONS(8426),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(8428),
    [anon_sym_module] = ACTIONS(8430),
    [anon_sym_return] = ACTIONS(12576),
    [anon_sym_yield] = ACTIONS(12578),
    [anon_sym_break] = ACTIONS(12580),
    [anon_sym_next] = ACTIONS(12582),
    [anon_sym_redo] = ACTIONS(8440),
    [anon_sym_retry] = ACTIONS(8442),
    [anon_sym_if] = ACTIONS(8444),
    [anon_sym_unless] = ACTIONS(8446),
    [anon_sym_while] = ACTIONS(8448),
    [anon_sym_until] = ACTIONS(8450),
    [anon_sym_for] = ACTIONS(8452),
    [anon_sym_case] = ACTIONS(8454),
    [anon_sym_begin] = ACTIONS(8456),
    [anon_sym_PLUS] = ACTIONS(12584),
    [anon_sym_defined_QMARK] = ACTIONS(12586),
    [anon_sym_not] = ACTIONS(12588),
    [anon_sym_BANG] = ACTIONS(12590),
    [anon_sym_TILDE] = ACTIONS(12590),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(8466),
    [sym_float] = ACTIONS(8468),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8470),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(8472),
    [sym_keyword__LINE__] = ACTIONS(8472),
    [sym_keyword__ENCODING__] = ACTIONS(8472),
    [sym__character_literal] = ACTIONS(8474),
    [anon_sym_LBRACK] = ACTIONS(8476),
    [anon_sym_DASH_GT] = ACTIONS(8478),
  },
  [9732] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__element_reference_left_bracket] = ACTIONS(6346),
    [sym__scope_double_colon] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(9116),
    [sym__binary_star] = ACTIONS(9118),
    [anon_sym_DOT] = ACTIONS(7328),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(9120),
    [anon_sym_STAR_STAR] = ACTIONS(9122),
    [anon_sym_AMP] = ACTIONS(9124),
    [anon_sym_LT] = ACTIONS(9126),
    [anon_sym_AMP_DOT] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(9128),
    [anon_sym_DOT_DOT] = ACTIONS(9130),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9132),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(9136),
    [anon_sym_AMP_AMP] = ACTIONS(9136),
    [anon_sym_LT_LT] = ACTIONS(9138),
    [anon_sym_GT_GT] = ACTIONS(9138),
    [anon_sym_EQ_EQ] = ACTIONS(9140),
    [anon_sym_BANG_EQ] = ACTIONS(9136),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9136),
    [anon_sym_LT_EQ_GT] = ACTIONS(9136),
    [anon_sym_EQ_TILDE] = ACTIONS(9136),
    [anon_sym_BANG_TILDE] = ACTIONS(9136),
    [anon_sym_LT_EQ] = ACTIONS(9126),
    [anon_sym_GT] = ACTIONS(9126),
    [anon_sym_GT_EQ] = ACTIONS(9142),
    [anon_sym_CARET] = ACTIONS(9144),
    [anon_sym_PLUS] = ACTIONS(9146),
    [anon_sym_SLASH] = ACTIONS(9122),
    [anon_sym_PERCENT] = ACTIONS(9122),
    [sym_comment] = ACTIONS(110),
  },
  [9733] = {
    [aux_sym_exceptions_repeat1] = STATE(12041),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__element_reference_left_bracket] = ACTIONS(7330),
    [sym__scope_double_colon] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_DOT] = ACTIONS(7332),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_AMP_DOT] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [9734] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__element_reference_left_bracket] = ACTIONS(7344),
    [sym__scope_double_colon] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(9116),
    [sym__binary_star] = ACTIONS(9118),
    [anon_sym_DOT] = ACTIONS(9504),
    [anon_sym_COMMA] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(9120),
    [anon_sym_STAR_STAR] = ACTIONS(9122),
    [anon_sym_AMP] = ACTIONS(9124),
    [anon_sym_LT] = ACTIONS(9126),
    [anon_sym_AMP_DOT] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(9128),
    [anon_sym_DOT_DOT] = ACTIONS(9130),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9132),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(9136),
    [anon_sym_AMP_AMP] = ACTIONS(9136),
    [anon_sym_LT_LT] = ACTIONS(9138),
    [anon_sym_GT_GT] = ACTIONS(9138),
    [anon_sym_EQ_EQ] = ACTIONS(9140),
    [anon_sym_BANG_EQ] = ACTIONS(9136),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9136),
    [anon_sym_LT_EQ_GT] = ACTIONS(9136),
    [anon_sym_EQ_TILDE] = ACTIONS(9136),
    [anon_sym_BANG_TILDE] = ACTIONS(9136),
    [anon_sym_LT_EQ] = ACTIONS(9126),
    [anon_sym_GT] = ACTIONS(9126),
    [anon_sym_GT_EQ] = ACTIONS(9142),
    [anon_sym_CARET] = ACTIONS(9144),
    [anon_sym_PLUS] = ACTIONS(9146),
    [anon_sym_SLASH] = ACTIONS(9122),
    [anon_sym_PERCENT] = ACTIONS(9122),
    [sym_comment] = ACTIONS(110),
  },
  [9735] = {
    [sym__simple_heredoc_body] = ACTIONS(12768),
    [sym__heredoc_body_beginning] = ACTIONS(12768),
    [sym__element_reference_left_bracket] = ACTIONS(12768),
    [sym__scope_double_colon] = ACTIONS(12768),
    [anon_sym_LBRACE] = ACTIONS(12768),
    [anon_sym_RPAREN] = ACTIONS(12768),
    [anon_sym_DOT] = ACTIONS(12768),
    [anon_sym_COMMA] = ACTIONS(12768),
    [anon_sym_EQ] = ACTIONS(12768),
    [anon_sym_in] = ACTIONS(12768),
    [anon_sym_do] = ACTIONS(12768),
    [anon_sym_AMP_DOT] = ACTIONS(12768),
    [sym_comment] = ACTIONS(256),
  },
  [9736] = {
    [sym__simple_heredoc_body] = ACTIONS(8070),
    [sym__heredoc_body_beginning] = ACTIONS(8070),
    [sym__element_reference_left_bracket] = ACTIONS(8070),
    [sym__scope_double_colon] = ACTIONS(8070),
    [anon_sym_LBRACE] = ACTIONS(8070),
    [anon_sym_RPAREN] = ACTIONS(8070),
    [anon_sym_DOT] = ACTIONS(8070),
    [anon_sym_COMMA] = ACTIONS(8070),
    [anon_sym_EQ] = ACTIONS(8070),
    [anon_sym_in] = ACTIONS(8070),
    [anon_sym_do] = ACTIONS(8070),
    [anon_sym_AMP_DOT] = ACTIONS(8070),
    [sym_comment] = ACTIONS(256),
  },
  [9737] = {
    [sym__heredoc_body_middle] = ACTIONS(8296),
    [sym__heredoc_body_end] = ACTIONS(14882),
    [anon_sym_if] = ACTIONS(4112),
    [anon_sym_unless] = ACTIONS(4114),
    [anon_sym_while] = ACTIONS(4116),
    [anon_sym_until] = ACTIONS(4118),
    [anon_sym_rescue] = ACTIONS(4120),
    [sym_comment] = ACTIONS(110),
  },
  [9738] = {
    [sym__simple_heredoc_body] = ACTIONS(12790),
    [sym__heredoc_body_beginning] = ACTIONS(12790),
    [sym__element_reference_left_bracket] = ACTIONS(12790),
    [sym__scope_double_colon] = ACTIONS(12790),
    [anon_sym_LBRACE] = ACTIONS(12790),
    [anon_sym_RPAREN] = ACTIONS(12790),
    [anon_sym_DOT] = ACTIONS(12790),
    [anon_sym_COMMA] = ACTIONS(12790),
    [anon_sym_EQ] = ACTIONS(12790),
    [anon_sym_in] = ACTIONS(12790),
    [anon_sym_do] = ACTIONS(12790),
    [anon_sym_AMP_DOT] = ACTIONS(12790),
    [sym_comment] = ACTIONS(256),
  },
  [9739] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1262),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1001),
    [sym_call] = STATE(1001),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(12043),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1007),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1008),
    [sym__variable] = STATE(1001),
    [sym_reserved_identifier] = STATE(1267),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1268),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(2030),
    [sym__splat_star] = ACTIONS(2032),
    [sym__unary_minus] = ACTIONS(1640),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2036),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(1642),
    [anon_sym_yield] = ACTIONS(1644),
    [anon_sym_break] = ACTIONS(1646),
    [anon_sym_next] = ACTIONS(1648),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2038),
    [anon_sym_defined_QMARK] = ACTIONS(1650),
    [anon_sym_not] = ACTIONS(1652),
    [anon_sym_BANG] = ACTIONS(1656),
    [anon_sym_TILDE] = ACTIONS(1656),
    [sym_constant] = ACTIONS(2040),
    [sym_identifier] = ACTIONS(2040),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9740] = {
    [sym__element_reference_left_bracket] = ACTIONS(12894),
    [sym__scope_double_colon] = ACTIONS(12894),
    [anon_sym_DOT] = ACTIONS(12894),
    [anon_sym_AMP_DOT] = ACTIONS(12894),
    [sym_comment] = ACTIONS(110),
  },
  [9741] = {
    [anon_sym_end] = ACTIONS(14884),
    [sym_comment] = ACTIONS(110),
  },
  [9742] = {
    [sym_elsif] = STATE(3865),
    [sym_else] = STATE(3865),
    [sym__if_tail] = STATE(12045),
    [anon_sym_end] = ACTIONS(14884),
    [anon_sym_elsif] = ACTIONS(9592),
    [anon_sym_else] = ACTIONS(9594),
    [sym_comment] = ACTIONS(110),
  },
  [9743] = {
    [sym__element_reference_left_bracket] = ACTIONS(13064),
    [sym__scope_double_colon] = ACTIONS(13064),
    [anon_sym_DOT] = ACTIONS(13064),
    [anon_sym_AMP_DOT] = ACTIONS(13064),
    [sym_comment] = ACTIONS(110),
  },
  [9744] = {
    [anon_sym_end] = ACTIONS(14886),
    [sym_comment] = ACTIONS(110),
  },
  [9745] = {
    [sym__element_reference_left_bracket] = ACTIONS(13164),
    [sym__scope_double_colon] = ACTIONS(13164),
    [anon_sym_DOT] = ACTIONS(13164),
    [anon_sym_AMP_DOT] = ACTIONS(13164),
    [sym_comment] = ACTIONS(110),
  },
  [9746] = {
    [sym__element_reference_left_bracket] = ACTIONS(13172),
    [sym__scope_double_colon] = ACTIONS(13172),
    [anon_sym_DOT] = ACTIONS(13172),
    [anon_sym_AMP_DOT] = ACTIONS(13172),
    [sym_comment] = ACTIONS(110),
  },
  [9747] = {
    [sym__element_reference_left_bracket] = ACTIONS(13216),
    [sym__scope_double_colon] = ACTIONS(13216),
    [anon_sym_DOT] = ACTIONS(13216),
    [anon_sym_AMP_DOT] = ACTIONS(13216),
    [sym_comment] = ACTIONS(110),
  },
  [9748] = {
    [anon_sym_end] = ACTIONS(14888),
    [sym_comment] = ACTIONS(110),
  },
  [9749] = {
    [sym__element_reference_left_bracket] = ACTIONS(13422),
    [sym__scope_double_colon] = ACTIONS(13422),
    [anon_sym_DOT] = ACTIONS(13422),
    [anon_sym_AMP_DOT] = ACTIONS(13422),
    [sym_comment] = ACTIONS(110),
  },
  [9750] = {
    [sym__element_reference_left_bracket] = ACTIONS(14000),
    [sym__scope_double_colon] = ACTIONS(14000),
    [anon_sym_RPAREN] = ACTIONS(14000),
    [anon_sym_DOT] = ACTIONS(14000),
    [anon_sym_COMMA] = ACTIONS(14000),
    [anon_sym_EQ] = ACTIONS(14000),
    [anon_sym_in] = ACTIONS(14000),
    [anon_sym_AMP_DOT] = ACTIONS(14000),
    [sym_comment] = ACTIONS(256),
  },
  [9751] = {
    [sym__element_reference_left_bracket] = ACTIONS(14030),
    [sym__scope_double_colon] = ACTIONS(14030),
    [anon_sym_RPAREN] = ACTIONS(14030),
    [anon_sym_DOT] = ACTIONS(14030),
    [anon_sym_COMMA] = ACTIONS(14030),
    [anon_sym_EQ] = ACTIONS(14030),
    [anon_sym_in] = ACTIONS(14030),
    [anon_sym_AMP_DOT] = ACTIONS(14030),
    [sym_comment] = ACTIONS(256),
  },
  [9752] = {
    [anon_sym_end] = ACTIONS(14890),
    [sym_comment] = ACTIONS(110),
  },
  [9753] = {
    [sym__statements] = STATE(12049),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14892),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9754] = {
    [sym__element_reference_left_bracket] = ACTIONS(14174),
    [sym__scope_double_colon] = ACTIONS(14174),
    [anon_sym_RPAREN] = ACTIONS(14174),
    [anon_sym_DOT] = ACTIONS(14174),
    [anon_sym_COMMA] = ACTIONS(14174),
    [anon_sym_EQ] = ACTIONS(14174),
    [anon_sym_in] = ACTIONS(14174),
    [anon_sym_AMP_DOT] = ACTIONS(14174),
    [sym_comment] = ACTIONS(256),
  },
  [9755] = {
    [sym__simple_string] = ACTIONS(9456),
    [sym__simple_symbol] = ACTIONS(9456),
    [sym__simple_subshell] = ACTIONS(9456),
    [sym__simple_regex] = ACTIONS(9456),
    [sym__simple_word_list] = ACTIONS(9456),
    [sym__string_beginning] = ACTIONS(9456),
    [sym__symbol_beginning] = ACTIONS(9456),
    [sym__subshell_beginning] = ACTIONS(9456),
    [sym__regex_beginning] = ACTIONS(9456),
    [sym__word_list_beginning] = ACTIONS(9456),
    [sym_heredoc_beginning] = ACTIONS(9456),
    [sym__element_reference_left_bracket] = ACTIONS(9456),
    [sym__block_ampersand] = ACTIONS(9456),
    [sym__splat_star] = ACTIONS(9456),
    [sym__argument_list_left_paren] = ACTIONS(9456),
    [sym__scope_double_colon] = ACTIONS(9456),
    [sym__unary_minus] = ACTIONS(9456),
    [anon_sym_LBRACE] = ACTIONS(9456),
    [anon_sym_def] = ACTIONS(9458),
    [anon_sym_LPAREN] = ACTIONS(9456),
    [anon_sym_RPAREN] = ACTIONS(9456),
    [anon_sym_DOT] = ACTIONS(9456),
    [anon_sym_COLON_COLON] = ACTIONS(9456),
    [anon_sym_end] = ACTIONS(9458),
    [anon_sym_COMMA] = ACTIONS(9456),
    [anon_sym_STAR] = ACTIONS(9458),
    [anon_sym_STAR_STAR] = ACTIONS(9456),
    [anon_sym_EQ] = ACTIONS(9456),
    [anon_sym_class] = ACTIONS(9458),
    [anon_sym_module] = ACTIONS(9458),
    [anon_sym_return] = ACTIONS(9458),
    [anon_sym_yield] = ACTIONS(9458),
    [anon_sym_break] = ACTIONS(9458),
    [anon_sym_next] = ACTIONS(9458),
    [anon_sym_redo] = ACTIONS(9458),
    [anon_sym_retry] = ACTIONS(9458),
    [anon_sym_if] = ACTIONS(9458),
    [anon_sym_unless] = ACTIONS(9458),
    [anon_sym_while] = ACTIONS(9458),
    [anon_sym_until] = ACTIONS(9458),
    [anon_sym_rescue] = ACTIONS(9458),
    [anon_sym_for] = ACTIONS(9458),
    [anon_sym_in] = ACTIONS(9458),
    [anon_sym_do] = ACTIONS(9458),
    [anon_sym_case] = ACTIONS(9458),
    [anon_sym_when] = ACTIONS(9458),
    [anon_sym_elsif] = ACTIONS(9458),
    [anon_sym_else] = ACTIONS(9458),
    [anon_sym_then] = ACTIONS(9458),
    [anon_sym_begin] = ACTIONS(9458),
    [anon_sym_ensure] = ACTIONS(9458),
    [anon_sym_AMP_DOT] = ACTIONS(9456),
    [anon_sym_and] = ACTIONS(9458),
    [anon_sym_or] = ACTIONS(9458),
    [anon_sym_PLUS] = ACTIONS(9458),
    [anon_sym_defined_QMARK] = ACTIONS(9456),
    [anon_sym_not] = ACTIONS(9458),
    [anon_sym_BANG] = ACTIONS(9456),
    [anon_sym_TILDE] = ACTIONS(9456),
    [sym_constant] = ACTIONS(14178),
    [sym_identifier] = ACTIONS(14178),
    [sym_instance_variable] = ACTIONS(9458),
    [sym_class_variable] = ACTIONS(9458),
    [sym_global_variable] = ACTIONS(9458),
    [anon_sym_alias] = ACTIONS(9458),
    [anon_sym_defined] = ACTIONS(9458),
    [anon_sym_false] = ACTIONS(9458),
    [anon_sym_nil] = ACTIONS(9458),
    [anon_sym_self] = ACTIONS(9458),
    [anon_sym_super] = ACTIONS(9458),
    [anon_sym_true] = ACTIONS(9458),
    [anon_sym_undef] = ACTIONS(9458),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(9458),
    [sym_float] = ACTIONS(14178),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(9456),
    [anon_sym_TRUE] = ACTIONS(9458),
    [anon_sym_FALSE] = ACTIONS(9458),
    [anon_sym_NIL] = ACTIONS(9458),
    [sym_keyword__FILE__] = ACTIONS(9458),
    [sym_keyword__LINE__] = ACTIONS(9458),
    [sym_keyword__ENCODING__] = ACTIONS(9458),
    [sym__character_literal] = ACTIONS(9458),
    [anon_sym_LBRACK] = ACTIONS(9456),
    [anon_sym_DASH_GT] = ACTIONS(9456),
  },
  [9756] = {
    [anon_sym_RPAREN] = ACTIONS(14894),
    [sym_comment] = ACTIONS(110),
  },
  [9757] = {
    [sym__simple_string] = ACTIONS(3612),
    [sym__simple_heredoc_body] = ACTIONS(3612),
    [sym__string_beginning] = ACTIONS(3612),
    [sym__heredoc_body_beginning] = ACTIONS(3612),
    [sym__element_reference_left_bracket] = ACTIONS(3612),
    [sym__scope_double_colon] = ACTIONS(3612),
    [sym__binary_minus] = ACTIONS(3612),
    [sym__binary_star] = ACTIONS(3612),
    [anon_sym_LBRACE] = ACTIONS(3612),
    [anon_sym_RPAREN] = ACTIONS(3612),
    [anon_sym_DOT] = ACTIONS(3614),
    [anon_sym_COMMA] = ACTIONS(3612),
    [anon_sym_PIPE] = ACTIONS(3614),
    [anon_sym_STAR_STAR] = ACTIONS(3612),
    [anon_sym_AMP] = ACTIONS(3614),
    [anon_sym_EQ] = ACTIONS(3614),
    [anon_sym_LT] = ACTIONS(3614),
    [anon_sym_do] = ACTIONS(3612),
    [anon_sym_AMP_DOT] = ACTIONS(3612),
    [anon_sym_QMARK] = ACTIONS(3614),
    [anon_sym_DOT_DOT] = ACTIONS(3614),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3612),
    [anon_sym_and] = ACTIONS(3612),
    [anon_sym_or] = ACTIONS(3612),
    [anon_sym_PIPE_PIPE] = ACTIONS(3612),
    [anon_sym_AMP_AMP] = ACTIONS(3612),
    [anon_sym_LT_LT] = ACTIONS(3612),
    [anon_sym_GT_GT] = ACTIONS(3612),
    [anon_sym_EQ_EQ] = ACTIONS(3614),
    [anon_sym_BANG_EQ] = ACTIONS(3612),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3612),
    [anon_sym_LT_EQ_GT] = ACTIONS(3612),
    [anon_sym_EQ_TILDE] = ACTIONS(3612),
    [anon_sym_BANG_TILDE] = ACTIONS(3612),
    [anon_sym_LT_EQ] = ACTIONS(3614),
    [anon_sym_GT] = ACTIONS(3614),
    [anon_sym_GT_EQ] = ACTIONS(3612),
    [anon_sym_CARET] = ACTIONS(3612),
    [anon_sym_PLUS] = ACTIONS(3612),
    [anon_sym_SLASH] = ACTIONS(3612),
    [anon_sym_PERCENT] = ACTIONS(3612),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(3614),
  },
  [9758] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(14896),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [9759] = {
    [sym__simple_heredoc_body] = ACTIONS(3844),
    [sym__heredoc_body_beginning] = ACTIONS(3844),
    [sym__element_reference_left_bracket] = ACTIONS(3844),
    [sym__scope_double_colon] = ACTIONS(3844),
    [sym__binary_minus] = ACTIONS(3844),
    [sym__binary_star] = ACTIONS(3844),
    [anon_sym_LBRACE] = ACTIONS(3844),
    [anon_sym_RPAREN] = ACTIONS(3844),
    [anon_sym_DOT] = ACTIONS(3846),
    [anon_sym_COMMA] = ACTIONS(3844),
    [anon_sym_PIPE] = ACTIONS(3846),
    [anon_sym_STAR_STAR] = ACTIONS(3844),
    [anon_sym_AMP] = ACTIONS(3846),
    [anon_sym_EQ] = ACTIONS(3846),
    [anon_sym_LT] = ACTIONS(3846),
    [anon_sym_do] = ACTIONS(3844),
    [anon_sym_AMP_DOT] = ACTIONS(3844),
    [anon_sym_QMARK] = ACTIONS(3844),
    [anon_sym_DOT_DOT] = ACTIONS(3846),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3844),
    [anon_sym_and] = ACTIONS(3844),
    [anon_sym_or] = ACTIONS(3844),
    [anon_sym_PIPE_PIPE] = ACTIONS(3844),
    [anon_sym_AMP_AMP] = ACTIONS(3844),
    [anon_sym_LT_LT] = ACTIONS(3844),
    [anon_sym_GT_GT] = ACTIONS(3844),
    [anon_sym_EQ_EQ] = ACTIONS(3846),
    [anon_sym_BANG_EQ] = ACTIONS(3844),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3844),
    [anon_sym_LT_EQ_GT] = ACTIONS(3844),
    [anon_sym_EQ_TILDE] = ACTIONS(3844),
    [anon_sym_BANG_TILDE] = ACTIONS(3844),
    [anon_sym_LT_EQ] = ACTIONS(3846),
    [anon_sym_GT] = ACTIONS(3846),
    [anon_sym_GT_EQ] = ACTIONS(3844),
    [anon_sym_CARET] = ACTIONS(3844),
    [anon_sym_PLUS] = ACTIONS(3844),
    [anon_sym_SLASH] = ACTIONS(3844),
    [anon_sym_PERCENT] = ACTIONS(3844),
    [sym_comment] = ACTIONS(256),
  },
  [9760] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(14898),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [9761] = {
    [sym__simple_heredoc_body] = ACTIONS(3850),
    [sym__heredoc_body_beginning] = ACTIONS(3850),
    [sym__element_reference_left_bracket] = ACTIONS(3850),
    [sym__scope_double_colon] = ACTIONS(3850),
    [sym__binary_minus] = ACTIONS(3850),
    [sym__binary_star] = ACTIONS(3850),
    [anon_sym_LBRACE] = ACTIONS(3850),
    [anon_sym_RPAREN] = ACTIONS(3850),
    [anon_sym_DOT] = ACTIONS(3852),
    [anon_sym_COMMA] = ACTIONS(3850),
    [anon_sym_PIPE] = ACTIONS(3852),
    [anon_sym_STAR_STAR] = ACTIONS(3850),
    [anon_sym_AMP] = ACTIONS(3852),
    [anon_sym_EQ] = ACTIONS(3852),
    [anon_sym_LT] = ACTIONS(3852),
    [anon_sym_do] = ACTIONS(3850),
    [anon_sym_AMP_DOT] = ACTIONS(3850),
    [anon_sym_QMARK] = ACTIONS(3850),
    [anon_sym_DOT_DOT] = ACTIONS(3852),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3850),
    [anon_sym_and] = ACTIONS(3850),
    [anon_sym_or] = ACTIONS(3850),
    [anon_sym_PIPE_PIPE] = ACTIONS(3850),
    [anon_sym_AMP_AMP] = ACTIONS(3850),
    [anon_sym_LT_LT] = ACTIONS(3850),
    [anon_sym_GT_GT] = ACTIONS(3850),
    [anon_sym_EQ_EQ] = ACTIONS(3852),
    [anon_sym_BANG_EQ] = ACTIONS(3850),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3850),
    [anon_sym_LT_EQ_GT] = ACTIONS(3850),
    [anon_sym_EQ_TILDE] = ACTIONS(3850),
    [anon_sym_BANG_TILDE] = ACTIONS(3850),
    [anon_sym_LT_EQ] = ACTIONS(3852),
    [anon_sym_GT] = ACTIONS(3852),
    [anon_sym_GT_EQ] = ACTIONS(3850),
    [anon_sym_CARET] = ACTIONS(3850),
    [anon_sym_PLUS] = ACTIONS(3850),
    [anon_sym_SLASH] = ACTIONS(3850),
    [anon_sym_PERCENT] = ACTIONS(3850),
    [sym_comment] = ACTIONS(256),
  },
  [9762] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(14900),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [9763] = {
    [sym__simple_heredoc_body] = ACTIONS(3856),
    [sym__heredoc_body_beginning] = ACTIONS(3856),
    [sym__element_reference_left_bracket] = ACTIONS(3856),
    [sym__scope_double_colon] = ACTIONS(3856),
    [sym__binary_minus] = ACTIONS(3856),
    [sym__binary_star] = ACTIONS(3856),
    [anon_sym_LBRACE] = ACTIONS(3856),
    [anon_sym_RPAREN] = ACTIONS(3856),
    [anon_sym_DOT] = ACTIONS(3858),
    [anon_sym_COMMA] = ACTIONS(3856),
    [anon_sym_PIPE] = ACTIONS(3858),
    [anon_sym_STAR_STAR] = ACTIONS(3856),
    [anon_sym_AMP] = ACTIONS(3858),
    [anon_sym_EQ] = ACTIONS(3858),
    [anon_sym_LT] = ACTIONS(3858),
    [anon_sym_do] = ACTIONS(3856),
    [anon_sym_AMP_DOT] = ACTIONS(3856),
    [anon_sym_QMARK] = ACTIONS(3856),
    [anon_sym_DOT_DOT] = ACTIONS(3858),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3856),
    [anon_sym_and] = ACTIONS(3856),
    [anon_sym_or] = ACTIONS(3856),
    [anon_sym_PIPE_PIPE] = ACTIONS(3856),
    [anon_sym_AMP_AMP] = ACTIONS(3856),
    [anon_sym_LT_LT] = ACTIONS(3856),
    [anon_sym_GT_GT] = ACTIONS(3856),
    [anon_sym_EQ_EQ] = ACTIONS(3858),
    [anon_sym_BANG_EQ] = ACTIONS(3856),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3856),
    [anon_sym_LT_EQ_GT] = ACTIONS(3856),
    [anon_sym_EQ_TILDE] = ACTIONS(3856),
    [anon_sym_BANG_TILDE] = ACTIONS(3856),
    [anon_sym_LT_EQ] = ACTIONS(3858),
    [anon_sym_GT] = ACTIONS(3858),
    [anon_sym_GT_EQ] = ACTIONS(3856),
    [anon_sym_CARET] = ACTIONS(3856),
    [anon_sym_PLUS] = ACTIONS(3856),
    [anon_sym_SLASH] = ACTIONS(3856),
    [anon_sym_PERCENT] = ACTIONS(3856),
    [sym_comment] = ACTIONS(256),
  },
  [9764] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(14902),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [9765] = {
    [sym__simple_heredoc_body] = ACTIONS(3862),
    [sym__heredoc_body_beginning] = ACTIONS(3862),
    [sym__element_reference_left_bracket] = ACTIONS(3862),
    [sym__scope_double_colon] = ACTIONS(3862),
    [sym__binary_minus] = ACTIONS(3862),
    [sym__binary_star] = ACTIONS(3862),
    [anon_sym_LBRACE] = ACTIONS(3862),
    [anon_sym_RPAREN] = ACTIONS(3862),
    [anon_sym_DOT] = ACTIONS(3864),
    [anon_sym_COMMA] = ACTIONS(3862),
    [anon_sym_PIPE] = ACTIONS(3864),
    [anon_sym_STAR_STAR] = ACTIONS(3862),
    [anon_sym_AMP] = ACTIONS(3864),
    [anon_sym_EQ] = ACTIONS(3864),
    [anon_sym_LT] = ACTIONS(3864),
    [anon_sym_do] = ACTIONS(3862),
    [anon_sym_AMP_DOT] = ACTIONS(3862),
    [anon_sym_QMARK] = ACTIONS(3862),
    [anon_sym_DOT_DOT] = ACTIONS(3864),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(3862),
    [anon_sym_and] = ACTIONS(3862),
    [anon_sym_or] = ACTIONS(3862),
    [anon_sym_PIPE_PIPE] = ACTIONS(3862),
    [anon_sym_AMP_AMP] = ACTIONS(3862),
    [anon_sym_LT_LT] = ACTIONS(3862),
    [anon_sym_GT_GT] = ACTIONS(3862),
    [anon_sym_EQ_EQ] = ACTIONS(3864),
    [anon_sym_BANG_EQ] = ACTIONS(3862),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(3862),
    [anon_sym_LT_EQ_GT] = ACTIONS(3862),
    [anon_sym_EQ_TILDE] = ACTIONS(3862),
    [anon_sym_BANG_TILDE] = ACTIONS(3862),
    [anon_sym_LT_EQ] = ACTIONS(3864),
    [anon_sym_GT] = ACTIONS(3864),
    [anon_sym_GT_EQ] = ACTIONS(3862),
    [anon_sym_CARET] = ACTIONS(3862),
    [anon_sym_PLUS] = ACTIONS(3862),
    [anon_sym_SLASH] = ACTIONS(3862),
    [anon_sym_PERCENT] = ACTIONS(3862),
    [sym_comment] = ACTIONS(256),
  },
  [9766] = {
    [sym__string_middle] = ACTIONS(3840),
    [sym__string_end] = ACTIONS(14904),
    [anon_sym_if] = ACTIONS(1224),
    [anon_sym_unless] = ACTIONS(1226),
    [anon_sym_while] = ACTIONS(1228),
    [anon_sym_until] = ACTIONS(1230),
    [anon_sym_rescue] = ACTIONS(1232),
    [sym_comment] = ACTIONS(110),
  },
  [9767] = {
    [sym__simple_heredoc_body] = ACTIONS(4578),
    [sym__heredoc_body_beginning] = ACTIONS(4578),
    [sym__element_reference_left_bracket] = ACTIONS(4578),
    [sym__scope_double_colon] = ACTIONS(4578),
    [sym__binary_minus] = ACTIONS(4578),
    [sym__binary_star] = ACTIONS(4578),
    [anon_sym_LBRACE] = ACTIONS(4578),
    [anon_sym_RPAREN] = ACTIONS(4578),
    [anon_sym_DOT] = ACTIONS(4580),
    [anon_sym_COMMA] = ACTIONS(4578),
    [anon_sym_PIPE] = ACTIONS(4580),
    [anon_sym_STAR_STAR] = ACTIONS(4578),
    [anon_sym_AMP] = ACTIONS(4580),
    [anon_sym_EQ] = ACTIONS(4580),
    [anon_sym_LT] = ACTIONS(4580),
    [anon_sym_do] = ACTIONS(4578),
    [anon_sym_AMP_DOT] = ACTIONS(4578),
    [anon_sym_QMARK] = ACTIONS(4578),
    [anon_sym_DOT_DOT] = ACTIONS(4580),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4578),
    [anon_sym_and] = ACTIONS(4578),
    [anon_sym_or] = ACTIONS(4578),
    [anon_sym_PIPE_PIPE] = ACTIONS(4578),
    [anon_sym_AMP_AMP] = ACTIONS(4578),
    [anon_sym_LT_LT] = ACTIONS(4578),
    [anon_sym_GT_GT] = ACTIONS(4578),
    [anon_sym_EQ_EQ] = ACTIONS(4580),
    [anon_sym_BANG_EQ] = ACTIONS(4578),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4578),
    [anon_sym_LT_EQ_GT] = ACTIONS(4578),
    [anon_sym_EQ_TILDE] = ACTIONS(4578),
    [anon_sym_BANG_TILDE] = ACTIONS(4578),
    [anon_sym_LT_EQ] = ACTIONS(4580),
    [anon_sym_GT] = ACTIONS(4580),
    [anon_sym_GT_EQ] = ACTIONS(4578),
    [anon_sym_CARET] = ACTIONS(4578),
    [anon_sym_PLUS] = ACTIONS(4578),
    [anon_sym_SLASH] = ACTIONS(4578),
    [anon_sym_PERCENT] = ACTIONS(4578),
    [sym_comment] = ACTIONS(256),
  },
  [9768] = {
    [anon_sym_RBRACE] = ACTIONS(14906),
    [sym_comment] = ACTIONS(110),
  },
  [9769] = {
    [sym__binary_minus] = ACTIONS(4614),
    [sym__binary_star] = ACTIONS(4616),
    [anon_sym_RPAREN] = ACTIONS(14908),
    [anon_sym_PIPE] = ACTIONS(4620),
    [anon_sym_STAR_STAR] = ACTIONS(4622),
    [anon_sym_AMP] = ACTIONS(4624),
    [anon_sym_LT] = ACTIONS(4626),
    [anon_sym_QMARK] = ACTIONS(4628),
    [anon_sym_DOT_DOT] = ACTIONS(4630),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4632),
    [anon_sym_and] = ACTIONS(4634),
    [anon_sym_or] = ACTIONS(4634),
    [anon_sym_PIPE_PIPE] = ACTIONS(4636),
    [anon_sym_AMP_AMP] = ACTIONS(4636),
    [anon_sym_LT_LT] = ACTIONS(4638),
    [anon_sym_GT_GT] = ACTIONS(4638),
    [anon_sym_EQ_EQ] = ACTIONS(4640),
    [anon_sym_BANG_EQ] = ACTIONS(4636),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4636),
    [anon_sym_LT_EQ_GT] = ACTIONS(4636),
    [anon_sym_EQ_TILDE] = ACTIONS(4636),
    [anon_sym_BANG_TILDE] = ACTIONS(4636),
    [anon_sym_LT_EQ] = ACTIONS(4626),
    [anon_sym_GT] = ACTIONS(4626),
    [anon_sym_GT_EQ] = ACTIONS(4642),
    [anon_sym_CARET] = ACTIONS(4644),
    [anon_sym_PLUS] = ACTIONS(4646),
    [anon_sym_SLASH] = ACTIONS(4622),
    [anon_sym_PERCENT] = ACTIONS(4622),
    [sym_comment] = ACTIONS(110),
  },
  [9770] = {
    [sym__method_rest] = STATE(12058),
    [sym_operator] = STATE(217),
    [sym__method_name] = STATE(6655),
    [sym_setter] = STATE(217),
    [sym_symbol] = STATE(217),
    [sym__simple_symbol] = ACTIONS(378),
    [sym__symbol_beginning] = ACTIONS(380),
    [anon_sym_PIPE] = ACTIONS(384),
    [anon_sym_STAR] = ACTIONS(386),
    [anon_sym_STAR_STAR] = ACTIONS(384),
    [anon_sym_AMP] = ACTIONS(384),
    [anon_sym_LT] = ACTIONS(386),
    [anon_sym_DOT_DOT] = ACTIONS(384),
    [anon_sym_LT_LT] = ACTIONS(384),
    [anon_sym_GT_GT] = ACTIONS(384),
    [anon_sym_EQ_EQ] = ACTIONS(386),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(384),
    [anon_sym_LT_EQ_GT] = ACTIONS(384),
    [anon_sym_EQ_TILDE] = ACTIONS(384),
    [anon_sym_BANG_TILDE] = ACTIONS(384),
    [anon_sym_LT_EQ] = ACTIONS(386),
    [anon_sym_GT] = ACTIONS(386),
    [anon_sym_GT_EQ] = ACTIONS(384),
    [anon_sym_CARET] = ACTIONS(384),
    [anon_sym_PLUS] = ACTIONS(386),
    [anon_sym_SLASH] = ACTIONS(384),
    [anon_sym_PERCENT] = ACTIONS(384),
    [anon_sym_BANG] = ACTIONS(386),
    [anon_sym_TILDE] = ACTIONS(384),
    [sym_constant] = ACTIONS(4694),
    [sym_identifier] = ACTIONS(4696),
    [sym_instance_variable] = ACTIONS(4694),
    [sym_class_variable] = ACTIONS(4694),
    [sym_global_variable] = ACTIONS(4694),
    [anon_sym_DASH] = ACTIONS(386),
    [anon_sym_PLUS_AT] = ACTIONS(384),
    [anon_sym_DASH_AT] = ACTIONS(384),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(386),
    [anon_sym_LBRACK_RBRACK_EQ] = ACTIONS(384),
    [anon_sym_BQUOTE] = ACTIONS(384),
    [sym_comment] = ACTIONS(110),
  },
  [9771] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(12060),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14910),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9772] = {
    [sym__simple_heredoc_body] = ACTIONS(4826),
    [sym__heredoc_body_beginning] = ACTIONS(4826),
    [sym__element_reference_left_bracket] = ACTIONS(4826),
    [sym__scope_double_colon] = ACTIONS(4826),
    [sym__binary_minus] = ACTIONS(4826),
    [sym__binary_star] = ACTIONS(4826),
    [anon_sym_LBRACE] = ACTIONS(4826),
    [anon_sym_RPAREN] = ACTIONS(4826),
    [anon_sym_DOT] = ACTIONS(4828),
    [anon_sym_COMMA] = ACTIONS(4826),
    [anon_sym_PIPE] = ACTIONS(4828),
    [anon_sym_STAR_STAR] = ACTIONS(4826),
    [anon_sym_AMP] = ACTIONS(4828),
    [anon_sym_EQ] = ACTIONS(4828),
    [anon_sym_LT] = ACTIONS(4828),
    [anon_sym_do] = ACTIONS(4826),
    [anon_sym_AMP_DOT] = ACTIONS(4826),
    [anon_sym_QMARK] = ACTIONS(4826),
    [anon_sym_DOT_DOT] = ACTIONS(4828),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(4826),
    [anon_sym_and] = ACTIONS(4826),
    [anon_sym_or] = ACTIONS(4826),
    [anon_sym_PIPE_PIPE] = ACTIONS(4826),
    [anon_sym_AMP_AMP] = ACTIONS(4826),
    [anon_sym_LT_LT] = ACTIONS(4826),
    [anon_sym_GT_GT] = ACTIONS(4826),
    [anon_sym_EQ_EQ] = ACTIONS(4828),
    [anon_sym_BANG_EQ] = ACTIONS(4826),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(4826),
    [anon_sym_LT_EQ_GT] = ACTIONS(4826),
    [anon_sym_EQ_TILDE] = ACTIONS(4826),
    [anon_sym_BANG_TILDE] = ACTIONS(4826),
    [anon_sym_LT_EQ] = ACTIONS(4828),
    [anon_sym_GT] = ACTIONS(4828),
    [anon_sym_GT_EQ] = ACTIONS(4826),
    [anon_sym_CARET] = ACTIONS(4826),
    [anon_sym_PLUS] = ACTIONS(4826),
    [anon_sym_SLASH] = ACTIONS(4826),
    [anon_sym_PERCENT] = ACTIONS(4826),
    [sym_comment] = ACTIONS(256),
  },
  [9773] = {
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(12061),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym__line_break] = ACTIONS(692),
    [sym__binary_minus] = ACTIONS(5168),
    [sym__binary_star] = ACTIONS(5170),
    [anon_sym_PIPE] = ACTIONS(5172),
    [anon_sym_SEMI] = ACTIONS(692),
    [anon_sym_STAR_STAR] = ACTIONS(5174),
    [anon_sym_AMP] = ACTIONS(5176),
    [anon_sym_LT] = ACTIONS(5178),
    [anon_sym_QMARK] = ACTIONS(5180),
    [anon_sym_DOT_DOT] = ACTIONS(5182),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5184),
    [anon_sym_and] = ACTIONS(5186),
    [anon_sym_or] = ACTIONS(5186),
    [anon_sym_PIPE_PIPE] = ACTIONS(5188),
    [anon_sym_AMP_AMP] = ACTIONS(5188),
    [anon_sym_LT_LT] = ACTIONS(5190),
    [anon_sym_GT_GT] = ACTIONS(5190),
    [anon_sym_EQ_EQ] = ACTIONS(5192),
    [anon_sym_BANG_EQ] = ACTIONS(5188),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5188),
    [anon_sym_LT_EQ_GT] = ACTIONS(5188),
    [anon_sym_EQ_TILDE] = ACTIONS(5188),
    [anon_sym_BANG_TILDE] = ACTIONS(5188),
    [anon_sym_LT_EQ] = ACTIONS(5178),
    [anon_sym_GT] = ACTIONS(5178),
    [anon_sym_GT_EQ] = ACTIONS(5194),
    [anon_sym_CARET] = ACTIONS(5196),
    [anon_sym_PLUS] = ACTIONS(5198),
    [anon_sym_SLASH] = ACTIONS(5174),
    [anon_sym_PERCENT] = ACTIONS(5174),
    [sym_comment] = ACTIONS(110),
  },
  [9774] = {
    [sym_heredoc_end] = STATE(406),
    [sym__terminator] = STATE(12062),
    [sym__simple_heredoc_body] = ACTIONS(688),
    [sym__heredoc_body_beginning] = ACTIONS(690),
    [sym__line_break] = ACTIONS(692),
    [anon_sym_SEMI] = ACTIONS(692),
    [sym_comment] = ACTIONS(110),
  },
  [9775] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(12064),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14912),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9776] = {
    [sym__simple_heredoc_body] = ACTIONS(5290),
    [sym__heredoc_body_beginning] = ACTIONS(5290),
    [sym__element_reference_left_bracket] = ACTIONS(5290),
    [sym__scope_double_colon] = ACTIONS(5290),
    [sym__binary_minus] = ACTIONS(5290),
    [sym__binary_star] = ACTIONS(5290),
    [anon_sym_LBRACE] = ACTIONS(5290),
    [anon_sym_RPAREN] = ACTIONS(5290),
    [anon_sym_DOT] = ACTIONS(5292),
    [anon_sym_COMMA] = ACTIONS(5290),
    [anon_sym_PIPE] = ACTIONS(5292),
    [anon_sym_STAR_STAR] = ACTIONS(5290),
    [anon_sym_AMP] = ACTIONS(5292),
    [anon_sym_EQ] = ACTIONS(5292),
    [anon_sym_LT] = ACTIONS(5292),
    [anon_sym_do] = ACTIONS(5290),
    [anon_sym_AMP_DOT] = ACTIONS(5290),
    [anon_sym_QMARK] = ACTIONS(5290),
    [anon_sym_DOT_DOT] = ACTIONS(5292),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5290),
    [anon_sym_and] = ACTIONS(5290),
    [anon_sym_or] = ACTIONS(5290),
    [anon_sym_PIPE_PIPE] = ACTIONS(5290),
    [anon_sym_AMP_AMP] = ACTIONS(5290),
    [anon_sym_LT_LT] = ACTIONS(5290),
    [anon_sym_GT_GT] = ACTIONS(5290),
    [anon_sym_EQ_EQ] = ACTIONS(5292),
    [anon_sym_BANG_EQ] = ACTIONS(5290),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5290),
    [anon_sym_LT_EQ_GT] = ACTIONS(5290),
    [anon_sym_EQ_TILDE] = ACTIONS(5290),
    [anon_sym_BANG_TILDE] = ACTIONS(5290),
    [anon_sym_LT_EQ] = ACTIONS(5292),
    [anon_sym_GT] = ACTIONS(5292),
    [anon_sym_GT_EQ] = ACTIONS(5290),
    [anon_sym_CARET] = ACTIONS(5290),
    [anon_sym_PLUS] = ACTIONS(5290),
    [anon_sym_SLASH] = ACTIONS(5290),
    [anon_sym_PERCENT] = ACTIONS(5290),
    [sym_comment] = ACTIONS(256),
  },
  [9777] = {
    [sym__statements] = STATE(420),
    [sym__top_level_statement] = STATE(421),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(422),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(423),
    [sym_begin] = STATE(12),
    [sym_ensure] = STATE(424),
    [sym_rescue] = STATE(425),
    [sym__body_statement] = STATE(12066),
    [sym__arg] = STATE(427),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(428),
    [sym_call] = STATE(428),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(429),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(430),
    [sym__variable] = STATE(428),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(694),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14914),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(700),
    [anon_sym_yield] = ACTIONS(702),
    [anon_sym_break] = ACTIONS(704),
    [anon_sym_next] = ACTIONS(706),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_rescue] = ACTIONS(708),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(710),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_ensure] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(714),
    [anon_sym_defined_QMARK] = ACTIONS(716),
    [anon_sym_not] = ACTIONS(718),
    [anon_sym_BANG] = ACTIONS(720),
    [anon_sym_TILDE] = ACTIONS(720),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9778] = {
    [sym__simple_heredoc_body] = ACTIONS(5290),
    [sym__heredoc_body_beginning] = ACTIONS(5290),
    [sym__element_reference_left_bracket] = ACTIONS(5290),
    [sym__scope_double_colon] = ACTIONS(5290),
    [sym__keyword_colon] = ACTIONS(1556),
    [sym__binary_minus] = ACTIONS(5290),
    [sym__binary_star] = ACTIONS(5290),
    [anon_sym_LBRACE] = ACTIONS(5290),
    [anon_sym_RPAREN] = ACTIONS(5290),
    [anon_sym_DOT] = ACTIONS(5292),
    [anon_sym_COMMA] = ACTIONS(5290),
    [anon_sym_PIPE] = ACTIONS(5292),
    [anon_sym_STAR_STAR] = ACTIONS(5290),
    [anon_sym_AMP] = ACTIONS(5292),
    [anon_sym_EQ] = ACTIONS(5292),
    [anon_sym_LT] = ACTIONS(5292),
    [anon_sym_do] = ACTIONS(5290),
    [anon_sym_AMP_DOT] = ACTIONS(5290),
    [anon_sym_QMARK] = ACTIONS(5290),
    [anon_sym_DOT_DOT] = ACTIONS(5292),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5290),
    [anon_sym_and] = ACTIONS(5290),
    [anon_sym_or] = ACTIONS(5290),
    [anon_sym_PIPE_PIPE] = ACTIONS(5290),
    [anon_sym_AMP_AMP] = ACTIONS(5290),
    [anon_sym_LT_LT] = ACTIONS(5290),
    [anon_sym_GT_GT] = ACTIONS(5290),
    [anon_sym_EQ_EQ] = ACTIONS(5292),
    [anon_sym_BANG_EQ] = ACTIONS(5290),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5290),
    [anon_sym_LT_EQ_GT] = ACTIONS(5290),
    [anon_sym_EQ_TILDE] = ACTIONS(5290),
    [anon_sym_BANG_TILDE] = ACTIONS(5290),
    [anon_sym_LT_EQ] = ACTIONS(5292),
    [anon_sym_GT] = ACTIONS(5292),
    [anon_sym_GT_EQ] = ACTIONS(5290),
    [anon_sym_CARET] = ACTIONS(5290),
    [anon_sym_PLUS] = ACTIONS(5290),
    [anon_sym_SLASH] = ACTIONS(5290),
    [anon_sym_PERCENT] = ACTIONS(5290),
    [sym_comment] = ACTIONS(256),
  },
  [9779] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(9216),
    [sym__binary_star] = ACTIONS(9218),
    [anon_sym_LBRACE] = ACTIONS(5298),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(9220),
    [anon_sym_STAR_STAR] = ACTIONS(9222),
    [anon_sym_AMP] = ACTIONS(9224),
    [anon_sym_EQ] = ACTIONS(5304),
    [anon_sym_LT] = ACTIONS(9226),
    [anon_sym_do] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(9228),
    [anon_sym_DOT_DOT] = ACTIONS(9230),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9232),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(9236),
    [anon_sym_AMP_AMP] = ACTIONS(9236),
    [anon_sym_LT_LT] = ACTIONS(9238),
    [anon_sym_GT_GT] = ACTIONS(9238),
    [anon_sym_EQ_EQ] = ACTIONS(9240),
    [anon_sym_BANG_EQ] = ACTIONS(9236),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9236),
    [anon_sym_LT_EQ_GT] = ACTIONS(9236),
    [anon_sym_EQ_TILDE] = ACTIONS(9236),
    [anon_sym_BANG_TILDE] = ACTIONS(9236),
    [anon_sym_LT_EQ] = ACTIONS(9226),
    [anon_sym_GT] = ACTIONS(9226),
    [anon_sym_GT_EQ] = ACTIONS(9242),
    [anon_sym_CARET] = ACTIONS(9244),
    [anon_sym_PLUS] = ACTIONS(9246),
    [anon_sym_SLASH] = ACTIONS(9222),
    [anon_sym_PERCENT] = ACTIONS(9222),
    [sym_comment] = ACTIONS(256),
  },
  [9780] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(9216),
    [sym__binary_star] = ACTIONS(9218),
    [anon_sym_LBRACE] = ACTIONS(5338),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(9220),
    [anon_sym_STAR_STAR] = ACTIONS(9222),
    [anon_sym_AMP] = ACTIONS(9224),
    [anon_sym_EQ] = ACTIONS(5340),
    [anon_sym_LT] = ACTIONS(9226),
    [anon_sym_do] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(9228),
    [anon_sym_DOT_DOT] = ACTIONS(9230),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9232),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(9236),
    [anon_sym_AMP_AMP] = ACTIONS(9236),
    [anon_sym_LT_LT] = ACTIONS(9238),
    [anon_sym_GT_GT] = ACTIONS(9238),
    [anon_sym_EQ_EQ] = ACTIONS(9240),
    [anon_sym_BANG_EQ] = ACTIONS(9236),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9236),
    [anon_sym_LT_EQ_GT] = ACTIONS(9236),
    [anon_sym_EQ_TILDE] = ACTIONS(9236),
    [anon_sym_BANG_TILDE] = ACTIONS(9236),
    [anon_sym_LT_EQ] = ACTIONS(9226),
    [anon_sym_GT] = ACTIONS(9226),
    [anon_sym_GT_EQ] = ACTIONS(9242),
    [anon_sym_CARET] = ACTIONS(9244),
    [anon_sym_PLUS] = ACTIONS(9246),
    [anon_sym_SLASH] = ACTIONS(9222),
    [anon_sym_PERCENT] = ACTIONS(9222),
    [sym_comment] = ACTIONS(256),
  },
  [9781] = {
    [sym__simple_heredoc_body] = ACTIONS(5370),
    [sym__heredoc_body_beginning] = ACTIONS(5370),
    [sym__element_reference_left_bracket] = ACTIONS(5370),
    [sym__scope_double_colon] = ACTIONS(5370),
    [sym__binary_minus] = ACTIONS(5370),
    [sym__binary_star] = ACTIONS(5370),
    [anon_sym_LBRACE] = ACTIONS(5370),
    [anon_sym_RPAREN] = ACTIONS(5370),
    [anon_sym_DOT] = ACTIONS(5372),
    [anon_sym_COMMA] = ACTIONS(5370),
    [anon_sym_PIPE] = ACTIONS(5372),
    [anon_sym_STAR_STAR] = ACTIONS(5370),
    [anon_sym_AMP] = ACTIONS(5372),
    [anon_sym_EQ] = ACTIONS(5372),
    [anon_sym_LT] = ACTIONS(5372),
    [anon_sym_do] = ACTIONS(5370),
    [anon_sym_AMP_DOT] = ACTIONS(5370),
    [anon_sym_QMARK] = ACTIONS(5370),
    [anon_sym_DOT_DOT] = ACTIONS(5372),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5370),
    [anon_sym_and] = ACTIONS(5370),
    [anon_sym_or] = ACTIONS(5370),
    [anon_sym_PIPE_PIPE] = ACTIONS(5370),
    [anon_sym_AMP_AMP] = ACTIONS(5370),
    [anon_sym_LT_LT] = ACTIONS(5370),
    [anon_sym_GT_GT] = ACTIONS(5370),
    [anon_sym_EQ_EQ] = ACTIONS(5372),
    [anon_sym_BANG_EQ] = ACTIONS(5370),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5370),
    [anon_sym_LT_EQ_GT] = ACTIONS(5370),
    [anon_sym_EQ_TILDE] = ACTIONS(5370),
    [anon_sym_BANG_TILDE] = ACTIONS(5370),
    [anon_sym_LT_EQ] = ACTIONS(5372),
    [anon_sym_GT] = ACTIONS(5372),
    [anon_sym_GT_EQ] = ACTIONS(5370),
    [anon_sym_CARET] = ACTIONS(5370),
    [anon_sym_PLUS] = ACTIONS(5370),
    [anon_sym_SLASH] = ACTIONS(5370),
    [anon_sym_PERCENT] = ACTIONS(5370),
    [sym_comment] = ACTIONS(256),
  },
  [9782] = {
    [sym_heredoc_end] = STATE(12068),
    [sym__simple_heredoc_body] = ACTIONS(270),
    [sym__heredoc_body_beginning] = ACTIONS(282),
    [anon_sym_RPAREN] = ACTIONS(14916),
    [sym_comment] = ACTIONS(110),
  },
  [9783] = {
    [anon_sym_RPAREN] = ACTIONS(14916),
    [sym_comment] = ACTIONS(110),
  },
  [9784] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(9216),
    [sym__binary_star] = ACTIONS(9218),
    [anon_sym_LBRACE] = ACTIONS(4284),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(9220),
    [anon_sym_STAR_STAR] = ACTIONS(9222),
    [anon_sym_AMP] = ACTIONS(9224),
    [anon_sym_EQ] = ACTIONS(5432),
    [anon_sym_LT] = ACTIONS(9226),
    [anon_sym_do] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(9228),
    [anon_sym_DOT_DOT] = ACTIONS(9230),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9232),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(9236),
    [anon_sym_AMP_AMP] = ACTIONS(9236),
    [anon_sym_LT_LT] = ACTIONS(9238),
    [anon_sym_GT_GT] = ACTIONS(9238),
    [anon_sym_EQ_EQ] = ACTIONS(9240),
    [anon_sym_BANG_EQ] = ACTIONS(9236),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9236),
    [anon_sym_LT_EQ_GT] = ACTIONS(9236),
    [anon_sym_EQ_TILDE] = ACTIONS(9236),
    [anon_sym_BANG_TILDE] = ACTIONS(9236),
    [anon_sym_LT_EQ] = ACTIONS(9226),
    [anon_sym_GT] = ACTIONS(9226),
    [anon_sym_GT_EQ] = ACTIONS(9242),
    [anon_sym_CARET] = ACTIONS(9244),
    [anon_sym_PLUS] = ACTIONS(9246),
    [anon_sym_SLASH] = ACTIONS(9222),
    [anon_sym_PERCENT] = ACTIONS(9222),
    [sym_comment] = ACTIONS(256),
  },
  [9785] = {
    [sym_method] = STATE(3490),
    [sym_singleton_method] = STATE(3490),
    [sym_class] = STATE(3490),
    [sym_singleton_class] = STATE(3490),
    [sym_module] = STATE(3490),
    [sym_return] = STATE(3490),
    [sym_yield] = STATE(3490),
    [sym_break] = STATE(3490),
    [sym_next] = STATE(3490),
    [sym_redo] = STATE(3490),
    [sym_retry] = STATE(3490),
    [sym_while] = STATE(3490),
    [sym_until] = STATE(3490),
    [sym_for] = STATE(3490),
    [sym_case] = STATE(3490),
    [sym_if] = STATE(3490),
    [sym_unless] = STATE(3490),
    [sym_begin] = STATE(3490),
    [sym__arg] = STATE(12069),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(3490),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(3519),
    [sym_operator_assignment] = STATE(3519),
    [sym_conditional] = STATE(3519),
    [sym_range] = STATE(3519),
    [sym_binary] = STATE(3519),
    [sym_unary] = STATE(3519),
    [sym_left_assignment_list] = STATE(3520),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3521),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(3490),
    [sym_complex] = STATE(3490),
    [sym_rational] = STATE(3490),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(3490),
    [sym_string] = STATE(3522),
    [sym_subshell] = STATE(3490),
    [sym_array] = STATE(3490),
    [sym_hash] = STATE(3490),
    [sym_regex] = STATE(3490),
    [sym_lambda] = STATE(3490),
    [sym__simple_string] = ACTIONS(5000),
    [sym__simple_symbol] = ACTIONS(5002),
    [sym__simple_subshell] = ACTIONS(5004),
    [sym__simple_regex] = ACTIONS(5006),
    [sym__simple_word_list] = ACTIONS(5008),
    [sym__string_beginning] = ACTIONS(5010),
    [sym__symbol_beginning] = ACTIONS(5012),
    [sym__subshell_beginning] = ACTIONS(5014),
    [sym__regex_beginning] = ACTIONS(5016),
    [sym__word_list_beginning] = ACTIONS(5018),
    [sym_heredoc_beginning] = ACTIONS(5020),
    [sym__unary_minus] = ACTIONS(5022),
    [anon_sym_LBRACE] = ACTIONS(5024),
    [anon_sym_def] = ACTIONS(5026),
    [anon_sym_LPAREN] = ACTIONS(5028),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(5030),
    [anon_sym_module] = ACTIONS(5032),
    [anon_sym_return] = ACTIONS(5034),
    [anon_sym_yield] = ACTIONS(5036),
    [anon_sym_break] = ACTIONS(5038),
    [anon_sym_next] = ACTIONS(5040),
    [anon_sym_redo] = ACTIONS(5042),
    [anon_sym_retry] = ACTIONS(5044),
    [anon_sym_if] = ACTIONS(5046),
    [anon_sym_unless] = ACTIONS(5048),
    [anon_sym_while] = ACTIONS(5050),
    [anon_sym_until] = ACTIONS(5052),
    [anon_sym_for] = ACTIONS(5054),
    [anon_sym_case] = ACTIONS(5056),
    [anon_sym_begin] = ACTIONS(5058),
    [anon_sym_PLUS] = ACTIONS(5060),
    [anon_sym_defined_QMARK] = ACTIONS(5062),
    [anon_sym_not] = ACTIONS(5064),
    [anon_sym_BANG] = ACTIONS(5066),
    [anon_sym_TILDE] = ACTIONS(5066),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5068),
    [sym_float] = ACTIONS(5070),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5072),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(5074),
    [sym_keyword__LINE__] = ACTIONS(5074),
    [sym_keyword__ENCODING__] = ACTIONS(5074),
    [sym__character_literal] = ACTIONS(5076),
    [anon_sym_LBRACK] = ACTIONS(5078),
    [anon_sym_DASH_GT] = ACTIONS(5080),
  },
  [9786] = {
    [sym__simple_heredoc_body] = ACTIONS(1398),
    [sym__heredoc_body_beginning] = ACTIONS(1398),
    [sym__element_reference_left_bracket] = ACTIONS(1398),
    [sym__scope_double_colon] = ACTIONS(1398),
    [sym__binary_minus] = ACTIONS(1398),
    [sym__binary_star] = ACTIONS(1398),
    [anon_sym_LBRACE] = ACTIONS(1398),
    [anon_sym_RPAREN] = ACTIONS(1398),
    [anon_sym_DOT] = ACTIONS(2666),
    [anon_sym_COMMA] = ACTIONS(1398),
    [anon_sym_PIPE] = ACTIONS(2666),
    [anon_sym_STAR_STAR] = ACTIONS(1398),
    [anon_sym_AMP] = ACTIONS(2666),
    [anon_sym_EQ] = ACTIONS(2666),
    [anon_sym_LT] = ACTIONS(2666),
    [anon_sym_do] = ACTIONS(1398),
    [anon_sym_AMP_DOT] = ACTIONS(1398),
    [anon_sym_QMARK] = ACTIONS(1398),
    [anon_sym_DOT_DOT] = ACTIONS(2666),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1398),
    [anon_sym_and] = ACTIONS(1398),
    [anon_sym_or] = ACTIONS(1398),
    [anon_sym_PIPE_PIPE] = ACTIONS(1398),
    [anon_sym_AMP_AMP] = ACTIONS(1398),
    [anon_sym_LT_LT] = ACTIONS(1398),
    [anon_sym_GT_GT] = ACTIONS(1398),
    [anon_sym_EQ_EQ] = ACTIONS(2666),
    [anon_sym_BANG_EQ] = ACTIONS(1398),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1398),
    [anon_sym_LT_EQ_GT] = ACTIONS(1398),
    [anon_sym_EQ_TILDE] = ACTIONS(1398),
    [anon_sym_BANG_TILDE] = ACTIONS(1398),
    [anon_sym_LT_EQ] = ACTIONS(2666),
    [anon_sym_GT] = ACTIONS(2666),
    [anon_sym_GT_EQ] = ACTIONS(1398),
    [anon_sym_CARET] = ACTIONS(1398),
    [anon_sym_PLUS] = ACTIONS(1398),
    [anon_sym_SLASH] = ACTIONS(1398),
    [anon_sym_PERCENT] = ACTIONS(1398),
    [sym_comment] = ACTIONS(256),
  },
  [9787] = {
    [sym__statement] = STATE(12070),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [aux_sym_heredoc_end_repeat1] = STATE(12071),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [9788] = {
    [sym__simple_heredoc_body] = ACTIONS(5468),
    [sym__heredoc_body_beginning] = ACTIONS(5468),
    [sym__element_reference_left_bracket] = ACTIONS(5468),
    [sym__scope_double_colon] = ACTIONS(5468),
    [sym__binary_minus] = ACTIONS(5468),
    [sym__binary_star] = ACTIONS(5468),
    [anon_sym_LBRACE] = ACTIONS(5468),
    [anon_sym_RPAREN] = ACTIONS(5468),
    [anon_sym_DOT] = ACTIONS(5470),
    [anon_sym_COMMA] = ACTIONS(5468),
    [anon_sym_PIPE] = ACTIONS(5470),
    [anon_sym_STAR_STAR] = ACTIONS(5468),
    [anon_sym_AMP] = ACTIONS(5470),
    [anon_sym_EQ] = ACTIONS(5470),
    [anon_sym_LT] = ACTIONS(5470),
    [anon_sym_do] = ACTIONS(5468),
    [anon_sym_AMP_DOT] = ACTIONS(5468),
    [anon_sym_QMARK] = ACTIONS(5468),
    [anon_sym_DOT_DOT] = ACTIONS(5470),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5468),
    [anon_sym_and] = ACTIONS(5468),
    [anon_sym_or] = ACTIONS(5468),
    [anon_sym_PIPE_PIPE] = ACTIONS(5468),
    [anon_sym_AMP_AMP] = ACTIONS(5468),
    [anon_sym_LT_LT] = ACTIONS(5468),
    [anon_sym_GT_GT] = ACTIONS(5468),
    [anon_sym_EQ_EQ] = ACTIONS(5470),
    [anon_sym_BANG_EQ] = ACTIONS(5468),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5468),
    [anon_sym_LT_EQ_GT] = ACTIONS(5468),
    [anon_sym_EQ_TILDE] = ACTIONS(5468),
    [anon_sym_BANG_TILDE] = ACTIONS(5468),
    [anon_sym_LT_EQ] = ACTIONS(5470),
    [anon_sym_GT] = ACTIONS(5470),
    [anon_sym_GT_EQ] = ACTIONS(5468),
    [anon_sym_CARET] = ACTIONS(5468),
    [anon_sym_PLUS] = ACTIONS(5468),
    [anon_sym_SLASH] = ACTIONS(5468),
    [anon_sym_PERCENT] = ACTIONS(5468),
    [sym_comment] = ACTIONS(256),
  },
  [9789] = {
    [sym_heredoc_end] = STATE(12072),
    [sym__simple_heredoc_body] = ACTIONS(12650),
    [sym__heredoc_body_beginning] = ACTIONS(12652),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_LBRACE] = ACTIONS(5472),
    [anon_sym_RPAREN] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(5472),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_STAR_STAR] = ACTIONS(5472),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_EQ] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_do] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5472),
    [anon_sym_AMP_AMP] = ACTIONS(5472),
    [anon_sym_LT_LT] = ACTIONS(5472),
    [anon_sym_GT_GT] = ACTIONS(5472),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5472),
    [anon_sym_PLUS] = ACTIONS(5472),
    [anon_sym_SLASH] = ACTIONS(5472),
    [anon_sym_PERCENT] = ACTIONS(5472),
    [sym_comment] = ACTIONS(256),
  },
  [9790] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6668),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(12073),
    [sym_splat_argument] = STATE(6672),
    [sym_hash_splat_argument] = STATE(6672),
    [sym_block_argument] = STATE(6672),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1313),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1314),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(6673),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(6674),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(12074),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(6672),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(9198),
    [sym__splat_star] = ACTIONS(9200),
    [sym__unary_minus] = ACTIONS(2062),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(14918),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2068),
    [anon_sym_yield] = ACTIONS(2070),
    [anon_sym_break] = ACTIONS(2072),
    [anon_sym_next] = ACTIONS(2074),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2078),
    [anon_sym_defined_QMARK] = ACTIONS(2080),
    [anon_sym_not] = ACTIONS(2082),
    [anon_sym_BANG] = ACTIONS(2084),
    [anon_sym_TILDE] = ACTIONS(2084),
    [sym_constant] = ACTIONS(9204),
    [sym_identifier] = ACTIONS(9204),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9791] = {
    [sym_heredoc_end] = STATE(9788),
    [aux_sym_argument_list_repeat2] = STATE(12076),
    [sym__simple_heredoc_body] = ACTIONS(12650),
    [sym__heredoc_body_beginning] = ACTIONS(12652),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_LBRACE] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(14920),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_STAR_STAR] = ACTIONS(5472),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_EQ] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_do] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5472),
    [anon_sym_AMP_AMP] = ACTIONS(5472),
    [anon_sym_LT_LT] = ACTIONS(5472),
    [anon_sym_GT_GT] = ACTIONS(5472),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5472),
    [anon_sym_PLUS] = ACTIONS(5472),
    [anon_sym_SLASH] = ACTIONS(5472),
    [anon_sym_PERCENT] = ACTIONS(5472),
    [sym_comment] = ACTIONS(256),
  },
  [9792] = {
    [sym_method] = STATE(3490),
    [sym_singleton_method] = STATE(3490),
    [sym_class] = STATE(3490),
    [sym_singleton_class] = STATE(3490),
    [sym_module] = STATE(3490),
    [sym_return] = STATE(3490),
    [sym_yield] = STATE(3490),
    [sym_break] = STATE(3490),
    [sym_next] = STATE(3490),
    [sym_redo] = STATE(3490),
    [sym_retry] = STATE(3490),
    [sym_while] = STATE(3490),
    [sym_until] = STATE(3490),
    [sym_for] = STATE(3490),
    [sym_case] = STATE(3490),
    [sym_if] = STATE(3490),
    [sym_unless] = STATE(3490),
    [sym_begin] = STATE(3490),
    [sym__arg] = STATE(12077),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(3490),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(3519),
    [sym_operator_assignment] = STATE(3519),
    [sym_conditional] = STATE(3519),
    [sym_range] = STATE(3519),
    [sym_binary] = STATE(3519),
    [sym_unary] = STATE(3519),
    [sym_left_assignment_list] = STATE(3520),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3521),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(3490),
    [sym_complex] = STATE(3490),
    [sym_rational] = STATE(3490),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(3490),
    [sym_string] = STATE(3522),
    [sym_subshell] = STATE(3490),
    [sym_array] = STATE(3490),
    [sym_hash] = STATE(3490),
    [sym_regex] = STATE(3490),
    [sym_lambda] = STATE(3490),
    [sym__simple_string] = ACTIONS(5000),
    [sym__simple_symbol] = ACTIONS(5002),
    [sym__simple_subshell] = ACTIONS(5004),
    [sym__simple_regex] = ACTIONS(5006),
    [sym__simple_word_list] = ACTIONS(5008),
    [sym__string_beginning] = ACTIONS(5010),
    [sym__symbol_beginning] = ACTIONS(5012),
    [sym__subshell_beginning] = ACTIONS(5014),
    [sym__regex_beginning] = ACTIONS(5016),
    [sym__word_list_beginning] = ACTIONS(5018),
    [sym_heredoc_beginning] = ACTIONS(5020),
    [sym__unary_minus] = ACTIONS(5022),
    [anon_sym_LBRACE] = ACTIONS(5024),
    [anon_sym_def] = ACTIONS(5026),
    [anon_sym_LPAREN] = ACTIONS(5028),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(5030),
    [anon_sym_module] = ACTIONS(5032),
    [anon_sym_return] = ACTIONS(5034),
    [anon_sym_yield] = ACTIONS(5036),
    [anon_sym_break] = ACTIONS(5038),
    [anon_sym_next] = ACTIONS(5040),
    [anon_sym_redo] = ACTIONS(5042),
    [anon_sym_retry] = ACTIONS(5044),
    [anon_sym_if] = ACTIONS(5046),
    [anon_sym_unless] = ACTIONS(5048),
    [anon_sym_while] = ACTIONS(5050),
    [anon_sym_until] = ACTIONS(5052),
    [anon_sym_for] = ACTIONS(5054),
    [anon_sym_case] = ACTIONS(5056),
    [anon_sym_begin] = ACTIONS(5058),
    [anon_sym_PLUS] = ACTIONS(5060),
    [anon_sym_defined_QMARK] = ACTIONS(5062),
    [anon_sym_not] = ACTIONS(5064),
    [anon_sym_BANG] = ACTIONS(5066),
    [anon_sym_TILDE] = ACTIONS(5066),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(5068),
    [sym_float] = ACTIONS(5070),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(5072),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(5074),
    [sym_keyword__LINE__] = ACTIONS(5074),
    [sym_keyword__ENCODING__] = ACTIONS(5074),
    [sym__character_literal] = ACTIONS(5076),
    [anon_sym_LBRACK] = ACTIONS(5078),
    [anon_sym_DASH_GT] = ACTIONS(5080),
  },
  [9793] = {
    [sym__statements] = STATE(12079),
    [sym__top_level_statement] = STATE(3863),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(3864),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_elsif] = STATE(3865),
    [sym_else] = STATE(3865),
    [sym__if_tail] = STATE(12080),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3867),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3869),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3870),
    [sym__variable] = STATE(3868),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(3849),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(12081),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(5566),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(5568),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(5570),
    [sym__unary_minus] = ACTIONS(5572),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14922),
    [anon_sym_SEMI] = ACTIONS(5576),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_elsif] = ACTIONS(5586),
    [anon_sym_else] = ACTIONS(5588),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5590),
    [anon_sym_defined_QMARK] = ACTIONS(5592),
    [anon_sym_not] = ACTIONS(5594),
    [anon_sym_BANG] = ACTIONS(5596),
    [anon_sym_TILDE] = ACTIONS(5596),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9794] = {
    [sym__statements] = STATE(12083),
    [sym__top_level_statement] = STATE(3946),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(3947),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_else] = STATE(12084),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3949),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3950),
    [sym_call] = STATE(3950),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(3951),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3952),
    [sym__variable] = STATE(3950),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5682),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14924),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5686),
    [anon_sym_yield] = ACTIONS(5688),
    [anon_sym_break] = ACTIONS(5690),
    [anon_sym_next] = ACTIONS(5692),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_else] = ACTIONS(5588),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5694),
    [anon_sym_defined_QMARK] = ACTIONS(5696),
    [anon_sym_not] = ACTIONS(5698),
    [anon_sym_BANG] = ACTIONS(5700),
    [anon_sym_TILDE] = ACTIONS(5700),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9795] = {
    [sym__statements] = STATE(12086),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14926),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9796] = {
    [sym__statements] = STATE(12088),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14928),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9797] = {
    [sym__do] = STATE(12089),
    [sym_heredoc_end] = STATE(1550),
    [sym__terminator] = STATE(1557),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym__line_break] = ACTIONS(2446),
    [anon_sym_SEMI] = ACTIONS(2446),
    [anon_sym_do] = ACTIONS(2460),
    [sym_comment] = ACTIONS(110),
  },
  [9798] = {
    [sym__simple_heredoc_body] = ACTIONS(6154),
    [sym__heredoc_body_beginning] = ACTIONS(6154),
    [sym__element_reference_left_bracket] = ACTIONS(6154),
    [sym__scope_double_colon] = ACTIONS(6154),
    [sym__binary_minus] = ACTIONS(6154),
    [sym__binary_star] = ACTIONS(6154),
    [anon_sym_LBRACE] = ACTIONS(6154),
    [anon_sym_RPAREN] = ACTIONS(6154),
    [anon_sym_DOT] = ACTIONS(6156),
    [anon_sym_COMMA] = ACTIONS(6154),
    [anon_sym_PIPE] = ACTIONS(6156),
    [anon_sym_STAR_STAR] = ACTIONS(6154),
    [anon_sym_AMP] = ACTIONS(6156),
    [anon_sym_EQ] = ACTIONS(6156),
    [anon_sym_LT] = ACTIONS(6156),
    [anon_sym_do] = ACTIONS(6154),
    [anon_sym_AMP_DOT] = ACTIONS(6154),
    [anon_sym_QMARK] = ACTIONS(6154),
    [anon_sym_DOT_DOT] = ACTIONS(6156),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6154),
    [anon_sym_and] = ACTIONS(6154),
    [anon_sym_or] = ACTIONS(6154),
    [anon_sym_PIPE_PIPE] = ACTIONS(6154),
    [anon_sym_AMP_AMP] = ACTIONS(6154),
    [anon_sym_LT_LT] = ACTIONS(6154),
    [anon_sym_GT_GT] = ACTIONS(6154),
    [anon_sym_EQ_EQ] = ACTIONS(6156),
    [anon_sym_BANG_EQ] = ACTIONS(6154),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6154),
    [anon_sym_LT_EQ_GT] = ACTIONS(6154),
    [anon_sym_EQ_TILDE] = ACTIONS(6154),
    [anon_sym_BANG_TILDE] = ACTIONS(6154),
    [anon_sym_LT_EQ] = ACTIONS(6156),
    [anon_sym_GT] = ACTIONS(6156),
    [anon_sym_GT_EQ] = ACTIONS(6154),
    [anon_sym_CARET] = ACTIONS(6154),
    [anon_sym_PLUS] = ACTIONS(6154),
    [anon_sym_SLASH] = ACTIONS(6154),
    [anon_sym_PERCENT] = ACTIONS(6154),
    [sym_comment] = ACTIONS(256),
  },
  [9799] = {
    [anon_sym_end] = ACTIONS(14930),
    [sym_comment] = ACTIONS(110),
  },
  [9800] = {
    [sym_when] = STATE(12091),
    [sym_heredoc_end] = STATE(387),
    [sym__terminator] = STATE(1688),
    [sym__simple_heredoc_body] = ACTIONS(662),
    [sym__heredoc_body_beginning] = ACTIONS(664),
    [sym__line_break] = ACTIONS(666),
    [anon_sym_SEMI] = ACTIONS(666),
    [anon_sym_when] = ACTIONS(2612),
    [sym_comment] = ACTIONS(110),
  },
  [9801] = {
    [sym__simple_heredoc_body] = ACTIONS(6600),
    [sym__heredoc_body_beginning] = ACTIONS(6600),
    [sym__element_reference_left_bracket] = ACTIONS(6600),
    [sym__scope_double_colon] = ACTIONS(6600),
    [sym__binary_minus] = ACTIONS(6600),
    [sym__binary_star] = ACTIONS(6600),
    [anon_sym_LBRACE] = ACTIONS(6600),
    [anon_sym_RPAREN] = ACTIONS(6600),
    [anon_sym_DOT] = ACTIONS(6602),
    [anon_sym_COMMA] = ACTIONS(6600),
    [anon_sym_PIPE] = ACTIONS(6602),
    [anon_sym_STAR_STAR] = ACTIONS(6600),
    [anon_sym_AMP] = ACTIONS(6602),
    [anon_sym_EQ] = ACTIONS(6602),
    [anon_sym_LT] = ACTIONS(6602),
    [anon_sym_do] = ACTIONS(6600),
    [anon_sym_AMP_DOT] = ACTIONS(6600),
    [anon_sym_QMARK] = ACTIONS(6600),
    [anon_sym_DOT_DOT] = ACTIONS(6602),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6600),
    [anon_sym_and] = ACTIONS(6600),
    [anon_sym_or] = ACTIONS(6600),
    [anon_sym_PIPE_PIPE] = ACTIONS(6600),
    [anon_sym_AMP_AMP] = ACTIONS(6600),
    [anon_sym_LT_LT] = ACTIONS(6600),
    [anon_sym_GT_GT] = ACTIONS(6600),
    [anon_sym_EQ_EQ] = ACTIONS(6602),
    [anon_sym_BANG_EQ] = ACTIONS(6600),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6600),
    [anon_sym_LT_EQ_GT] = ACTIONS(6600),
    [anon_sym_EQ_TILDE] = ACTIONS(6600),
    [anon_sym_BANG_TILDE] = ACTIONS(6600),
    [anon_sym_LT_EQ] = ACTIONS(6602),
    [anon_sym_GT] = ACTIONS(6602),
    [anon_sym_GT_EQ] = ACTIONS(6600),
    [anon_sym_CARET] = ACTIONS(6600),
    [anon_sym_PLUS] = ACTIONS(6600),
    [anon_sym_SLASH] = ACTIONS(6600),
    [anon_sym_PERCENT] = ACTIONS(6600),
    [sym_comment] = ACTIONS(256),
  },
  [9802] = {
    [anon_sym_end] = ACTIONS(14932),
    [sym_comment] = ACTIONS(110),
  },
  [9803] = {
    [anon_sym_RBRACK] = ACTIONS(14904),
    [sym_comment] = ACTIONS(110),
  },
  [9804] = {
    [sym__simple_heredoc_body] = ACTIONS(6902),
    [sym__heredoc_body_beginning] = ACTIONS(6902),
    [sym__element_reference_left_bracket] = ACTIONS(6902),
    [sym__scope_double_colon] = ACTIONS(6902),
    [sym__binary_minus] = ACTIONS(6902),
    [sym__binary_star] = ACTIONS(6902),
    [anon_sym_LBRACE] = ACTIONS(6902),
    [anon_sym_RPAREN] = ACTIONS(6902),
    [anon_sym_DOT] = ACTIONS(6904),
    [anon_sym_COMMA] = ACTIONS(6902),
    [anon_sym_PIPE] = ACTIONS(6904),
    [anon_sym_STAR_STAR] = ACTIONS(6902),
    [anon_sym_AMP] = ACTIONS(6904),
    [anon_sym_EQ] = ACTIONS(6904),
    [anon_sym_LT] = ACTIONS(6904),
    [anon_sym_do] = ACTIONS(6902),
    [anon_sym_AMP_DOT] = ACTIONS(6902),
    [anon_sym_QMARK] = ACTIONS(6902),
    [anon_sym_DOT_DOT] = ACTIONS(6904),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6902),
    [anon_sym_and] = ACTIONS(6902),
    [anon_sym_or] = ACTIONS(6902),
    [anon_sym_PIPE_PIPE] = ACTIONS(6902),
    [anon_sym_AMP_AMP] = ACTIONS(6902),
    [anon_sym_LT_LT] = ACTIONS(6902),
    [anon_sym_GT_GT] = ACTIONS(6902),
    [anon_sym_EQ_EQ] = ACTIONS(6904),
    [anon_sym_BANG_EQ] = ACTIONS(6902),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6902),
    [anon_sym_LT_EQ_GT] = ACTIONS(6902),
    [anon_sym_EQ_TILDE] = ACTIONS(6902),
    [anon_sym_BANG_TILDE] = ACTIONS(6902),
    [anon_sym_LT_EQ] = ACTIONS(6904),
    [anon_sym_GT] = ACTIONS(6904),
    [anon_sym_GT_EQ] = ACTIONS(6902),
    [anon_sym_CARET] = ACTIONS(6902),
    [anon_sym_PLUS] = ACTIONS(6902),
    [anon_sym_SLASH] = ACTIONS(6902),
    [anon_sym_PERCENT] = ACTIONS(6902),
    [sym_comment] = ACTIONS(256),
  },
  [9805] = {
    [anon_sym_RBRACE] = ACTIONS(14934),
    [sym_comment] = ACTIONS(110),
  },
  [9806] = {
    [sym__statements] = STATE(12094),
    [sym__top_level_statement] = STATE(839),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(840),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(841),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(842),
    [sym_call] = STATE(842),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(843),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(844),
    [sym__variable] = STATE(842),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(1378),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_RBRACE] = ACTIONS(14934),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(1382),
    [anon_sym_yield] = ACTIONS(1384),
    [anon_sym_break] = ACTIONS(1386),
    [anon_sym_next] = ACTIONS(1388),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(1390),
    [anon_sym_defined_QMARK] = ACTIONS(1392),
    [anon_sym_not] = ACTIONS(1394),
    [anon_sym_BANG] = ACTIONS(1396),
    [anon_sym_TILDE] = ACTIONS(1396),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9807] = {
    [sym__simple_heredoc_body] = ACTIONS(6942),
    [sym__heredoc_body_beginning] = ACTIONS(6942),
    [sym__element_reference_left_bracket] = ACTIONS(6942),
    [sym__scope_double_colon] = ACTIONS(6942),
    [sym__binary_minus] = ACTIONS(6942),
    [sym__binary_star] = ACTIONS(6942),
    [anon_sym_LBRACE] = ACTIONS(6942),
    [anon_sym_RPAREN] = ACTIONS(6942),
    [anon_sym_DOT] = ACTIONS(6944),
    [anon_sym_COMMA] = ACTIONS(6942),
    [anon_sym_PIPE] = ACTIONS(6944),
    [anon_sym_STAR_STAR] = ACTIONS(6942),
    [anon_sym_AMP] = ACTIONS(6944),
    [anon_sym_EQ] = ACTIONS(6944),
    [anon_sym_LT] = ACTIONS(6944),
    [anon_sym_do] = ACTIONS(6942),
    [anon_sym_AMP_DOT] = ACTIONS(6942),
    [anon_sym_QMARK] = ACTIONS(6942),
    [anon_sym_DOT_DOT] = ACTIONS(6944),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6942),
    [anon_sym_and] = ACTIONS(6942),
    [anon_sym_or] = ACTIONS(6942),
    [anon_sym_PIPE_PIPE] = ACTIONS(6942),
    [anon_sym_AMP_AMP] = ACTIONS(6942),
    [anon_sym_LT_LT] = ACTIONS(6942),
    [anon_sym_GT_GT] = ACTIONS(6942),
    [anon_sym_EQ_EQ] = ACTIONS(6944),
    [anon_sym_BANG_EQ] = ACTIONS(6942),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6942),
    [anon_sym_LT_EQ_GT] = ACTIONS(6942),
    [anon_sym_EQ_TILDE] = ACTIONS(6942),
    [anon_sym_BANG_TILDE] = ACTIONS(6942),
    [anon_sym_LT_EQ] = ACTIONS(6944),
    [anon_sym_GT] = ACTIONS(6944),
    [anon_sym_GT_EQ] = ACTIONS(6942),
    [anon_sym_CARET] = ACTIONS(6942),
    [anon_sym_PLUS] = ACTIONS(6942),
    [anon_sym_SLASH] = ACTIONS(6942),
    [anon_sym_PERCENT] = ACTIONS(6942),
    [sym_comment] = ACTIONS(256),
  },
  [9808] = {
    [anon_sym_end] = ACTIONS(14936),
    [sym_comment] = ACTIONS(110),
  },
  [9809] = {
    [sym__statements] = STATE(12096),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(12097),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14938),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9810] = {
    [sym__statements] = STATE(12096),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_block_parameters] = STATE(12098),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(1550),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__terminator] = STATE(12097),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(2442),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(2444),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(2446),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14938),
    [anon_sym_PIPE] = ACTIONS(3084),
    [anon_sym_SEMI] = ACTIONS(6956),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9811] = {
    [sym__simple_heredoc_body] = ACTIONS(6980),
    [sym__heredoc_body_beginning] = ACTIONS(6980),
    [sym__element_reference_left_bracket] = ACTIONS(6980),
    [sym__scope_double_colon] = ACTIONS(6980),
    [sym__binary_minus] = ACTIONS(6980),
    [sym__binary_star] = ACTIONS(6980),
    [anon_sym_LBRACE] = ACTIONS(6980),
    [anon_sym_RPAREN] = ACTIONS(6980),
    [anon_sym_DOT] = ACTIONS(6982),
    [anon_sym_COMMA] = ACTIONS(6980),
    [anon_sym_PIPE] = ACTIONS(6982),
    [anon_sym_STAR_STAR] = ACTIONS(6980),
    [anon_sym_AMP] = ACTIONS(6982),
    [anon_sym_EQ] = ACTIONS(6982),
    [anon_sym_LT] = ACTIONS(6982),
    [anon_sym_do] = ACTIONS(6980),
    [anon_sym_AMP_DOT] = ACTIONS(6980),
    [anon_sym_QMARK] = ACTIONS(6980),
    [anon_sym_DOT_DOT] = ACTIONS(6982),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6980),
    [anon_sym_and] = ACTIONS(6980),
    [anon_sym_or] = ACTIONS(6980),
    [anon_sym_PIPE_PIPE] = ACTIONS(6980),
    [anon_sym_AMP_AMP] = ACTIONS(6980),
    [anon_sym_LT_LT] = ACTIONS(6980),
    [anon_sym_GT_GT] = ACTIONS(6980),
    [anon_sym_EQ_EQ] = ACTIONS(6982),
    [anon_sym_BANG_EQ] = ACTIONS(6980),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6980),
    [anon_sym_LT_EQ_GT] = ACTIONS(6980),
    [anon_sym_EQ_TILDE] = ACTIONS(6980),
    [anon_sym_BANG_TILDE] = ACTIONS(6980),
    [anon_sym_LT_EQ] = ACTIONS(6982),
    [anon_sym_GT] = ACTIONS(6982),
    [anon_sym_GT_EQ] = ACTIONS(6980),
    [anon_sym_CARET] = ACTIONS(6980),
    [anon_sym_PLUS] = ACTIONS(6980),
    [anon_sym_SLASH] = ACTIONS(6980),
    [anon_sym_PERCENT] = ACTIONS(6980),
    [sym_comment] = ACTIONS(256),
  },
  [9812] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__element_reference_left_bracket] = ACTIONS(7008),
    [sym__scope_double_colon] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(9218),
    [anon_sym_LBRACE] = ACTIONS(7008),
    [anon_sym_DOT] = ACTIONS(7010),
    [anon_sym_COMMA] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_STAR_STAR] = ACTIONS(9222),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_EQ] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_do] = ACTIONS(7008),
    [anon_sym_AMP_DOT] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7008),
    [anon_sym_AMP_AMP] = ACTIONS(7008),
    [anon_sym_LT_LT] = ACTIONS(7008),
    [anon_sym_GT_GT] = ACTIONS(7008),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7008),
    [anon_sym_PLUS] = ACTIONS(7008),
    [anon_sym_SLASH] = ACTIONS(9222),
    [anon_sym_PERCENT] = ACTIONS(9222),
    [sym_comment] = ACTIONS(256),
  },
  [9813] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__element_reference_left_bracket] = ACTIONS(7012),
    [sym__scope_double_colon] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_LBRACE] = ACTIONS(7012),
    [anon_sym_DOT] = ACTIONS(7014),
    [anon_sym_COMMA] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_STAR_STAR] = ACTIONS(9222),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_EQ] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_do] = ACTIONS(7012),
    [anon_sym_AMP_DOT] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7012),
    [anon_sym_AMP_AMP] = ACTIONS(7012),
    [anon_sym_LT_LT] = ACTIONS(7012),
    [anon_sym_GT_GT] = ACTIONS(7012),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7012),
    [anon_sym_PLUS] = ACTIONS(7012),
    [anon_sym_SLASH] = ACTIONS(7012),
    [anon_sym_PERCENT] = ACTIONS(7012),
    [sym_comment] = ACTIONS(256),
  },
  [9814] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(9216),
    [sym__binary_star] = ACTIONS(9218),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(9222),
    [anon_sym_AMP] = ACTIONS(9224),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(9238),
    [anon_sym_GT_GT] = ACTIONS(9238),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(9246),
    [anon_sym_SLASH] = ACTIONS(9222),
    [anon_sym_PERCENT] = ACTIONS(9222),
    [sym_comment] = ACTIONS(256),
  },
  [9815] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(9222),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7016),
    [anon_sym_PERCENT] = ACTIONS(7016),
    [sym_comment] = ACTIONS(256),
  },
  [9816] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(9216),
    [sym__binary_star] = ACTIONS(9218),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(9222),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(9238),
    [anon_sym_GT_GT] = ACTIONS(9238),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(9246),
    [anon_sym_SLASH] = ACTIONS(9222),
    [anon_sym_PERCENT] = ACTIONS(9222),
    [sym_comment] = ACTIONS(256),
  },
  [9817] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(9216),
    [sym__binary_star] = ACTIONS(9218),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(9220),
    [anon_sym_STAR_STAR] = ACTIONS(9222),
    [anon_sym_AMP] = ACTIONS(9224),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(9238),
    [anon_sym_GT_GT] = ACTIONS(9238),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(9244),
    [anon_sym_PLUS] = ACTIONS(9246),
    [anon_sym_SLASH] = ACTIONS(9222),
    [anon_sym_PERCENT] = ACTIONS(9222),
    [sym_comment] = ACTIONS(256),
  },
  [9818] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(14940),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [9819] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__element_reference_left_bracket] = ACTIONS(7108),
    [sym__scope_double_colon] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(9216),
    [sym__binary_star] = ACTIONS(9218),
    [anon_sym_LBRACE] = ACTIONS(7108),
    [anon_sym_DOT] = ACTIONS(9472),
    [anon_sym_COMMA] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(9220),
    [anon_sym_STAR_STAR] = ACTIONS(9222),
    [anon_sym_AMP] = ACTIONS(9224),
    [anon_sym_EQ] = ACTIONS(9472),
    [anon_sym_LT] = ACTIONS(9226),
    [anon_sym_do] = ACTIONS(7108),
    [anon_sym_AMP_DOT] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(9230),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9232),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(9236),
    [anon_sym_AMP_AMP] = ACTIONS(9236),
    [anon_sym_LT_LT] = ACTIONS(9238),
    [anon_sym_GT_GT] = ACTIONS(9238),
    [anon_sym_EQ_EQ] = ACTIONS(9240),
    [anon_sym_BANG_EQ] = ACTIONS(9236),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9236),
    [anon_sym_LT_EQ_GT] = ACTIONS(9236),
    [anon_sym_EQ_TILDE] = ACTIONS(9236),
    [anon_sym_BANG_TILDE] = ACTIONS(9236),
    [anon_sym_LT_EQ] = ACTIONS(9226),
    [anon_sym_GT] = ACTIONS(9226),
    [anon_sym_GT_EQ] = ACTIONS(9242),
    [anon_sym_CARET] = ACTIONS(9244),
    [anon_sym_PLUS] = ACTIONS(9246),
    [anon_sym_SLASH] = ACTIONS(9222),
    [anon_sym_PERCENT] = ACTIONS(9222),
    [sym_comment] = ACTIONS(256),
  },
  [9820] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(9216),
    [sym__binary_star] = ACTIONS(9218),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(9220),
    [anon_sym_STAR_STAR] = ACTIONS(9222),
    [anon_sym_AMP] = ACTIONS(9224),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(9226),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(9228),
    [anon_sym_DOT_DOT] = ACTIONS(9230),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9232),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(9236),
    [anon_sym_AMP_AMP] = ACTIONS(9236),
    [anon_sym_LT_LT] = ACTIONS(9238),
    [anon_sym_GT_GT] = ACTIONS(9238),
    [anon_sym_EQ_EQ] = ACTIONS(9240),
    [anon_sym_BANG_EQ] = ACTIONS(9236),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9236),
    [anon_sym_LT_EQ_GT] = ACTIONS(9236),
    [anon_sym_EQ_TILDE] = ACTIONS(9236),
    [anon_sym_BANG_TILDE] = ACTIONS(9236),
    [anon_sym_LT_EQ] = ACTIONS(9226),
    [anon_sym_GT] = ACTIONS(9226),
    [anon_sym_GT_EQ] = ACTIONS(9242),
    [anon_sym_CARET] = ACTIONS(9244),
    [anon_sym_PLUS] = ACTIONS(9246),
    [anon_sym_SLASH] = ACTIONS(9222),
    [anon_sym_PERCENT] = ACTIONS(9222),
    [sym_comment] = ACTIONS(256),
  },
  [9821] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(9216),
    [sym__binary_star] = ACTIONS(9218),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(9220),
    [anon_sym_STAR_STAR] = ACTIONS(9222),
    [anon_sym_AMP] = ACTIONS(9224),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(9226),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(9238),
    [anon_sym_GT_GT] = ACTIONS(9238),
    [anon_sym_EQ_EQ] = ACTIONS(9240),
    [anon_sym_BANG_EQ] = ACTIONS(9236),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9236),
    [anon_sym_LT_EQ_GT] = ACTIONS(9236),
    [anon_sym_EQ_TILDE] = ACTIONS(9236),
    [anon_sym_BANG_TILDE] = ACTIONS(9236),
    [anon_sym_LT_EQ] = ACTIONS(9226),
    [anon_sym_GT] = ACTIONS(9226),
    [anon_sym_GT_EQ] = ACTIONS(9242),
    [anon_sym_CARET] = ACTIONS(9244),
    [anon_sym_PLUS] = ACTIONS(9246),
    [anon_sym_SLASH] = ACTIONS(9222),
    [anon_sym_PERCENT] = ACTIONS(9222),
    [sym_comment] = ACTIONS(256),
  },
  [9822] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(9216),
    [sym__binary_star] = ACTIONS(9218),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(9222),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(9246),
    [anon_sym_SLASH] = ACTIONS(9222),
    [anon_sym_PERCENT] = ACTIONS(9222),
    [sym_comment] = ACTIONS(256),
  },
  [9823] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(9218),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(9222),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_EQ] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(9222),
    [anon_sym_PERCENT] = ACTIONS(9222),
    [sym_comment] = ACTIONS(256),
  },
  [9824] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__element_reference_left_bracket] = ACTIONS(6346),
    [sym__scope_double_colon] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(9216),
    [sym__binary_star] = ACTIONS(9218),
    [anon_sym_LBRACE] = ACTIONS(6346),
    [anon_sym_DOT] = ACTIONS(7328),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(9220),
    [anon_sym_STAR_STAR] = ACTIONS(9222),
    [anon_sym_AMP] = ACTIONS(9224),
    [anon_sym_EQ] = ACTIONS(7328),
    [anon_sym_LT] = ACTIONS(9226),
    [anon_sym_do] = ACTIONS(6346),
    [anon_sym_AMP_DOT] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(9228),
    [anon_sym_DOT_DOT] = ACTIONS(9230),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9232),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(9236),
    [anon_sym_AMP_AMP] = ACTIONS(9236),
    [anon_sym_LT_LT] = ACTIONS(9238),
    [anon_sym_GT_GT] = ACTIONS(9238),
    [anon_sym_EQ_EQ] = ACTIONS(9240),
    [anon_sym_BANG_EQ] = ACTIONS(9236),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9236),
    [anon_sym_LT_EQ_GT] = ACTIONS(9236),
    [anon_sym_EQ_TILDE] = ACTIONS(9236),
    [anon_sym_BANG_TILDE] = ACTIONS(9236),
    [anon_sym_LT_EQ] = ACTIONS(9226),
    [anon_sym_GT] = ACTIONS(9226),
    [anon_sym_GT_EQ] = ACTIONS(9242),
    [anon_sym_CARET] = ACTIONS(9244),
    [anon_sym_PLUS] = ACTIONS(9246),
    [anon_sym_SLASH] = ACTIONS(9222),
    [anon_sym_PERCENT] = ACTIONS(9222),
    [sym_comment] = ACTIONS(256),
  },
  [9825] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__element_reference_left_bracket] = ACTIONS(6346),
    [sym__scope_double_colon] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(6346),
    [sym__binary_star] = ACTIONS(6346),
    [anon_sym_LBRACE] = ACTIONS(6346),
    [anon_sym_RPAREN] = ACTIONS(6346),
    [anon_sym_DOT] = ACTIONS(7328),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(7328),
    [anon_sym_STAR_STAR] = ACTIONS(6346),
    [anon_sym_AMP] = ACTIONS(7328),
    [anon_sym_EQ] = ACTIONS(7328),
    [anon_sym_LT] = ACTIONS(7328),
    [anon_sym_do] = ACTIONS(6346),
    [anon_sym_AMP_DOT] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(6346),
    [anon_sym_DOT_DOT] = ACTIONS(7328),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(6346),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(6346),
    [anon_sym_AMP_AMP] = ACTIONS(6346),
    [anon_sym_LT_LT] = ACTIONS(6346),
    [anon_sym_GT_GT] = ACTIONS(6346),
    [anon_sym_EQ_EQ] = ACTIONS(7328),
    [anon_sym_BANG_EQ] = ACTIONS(6346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(6346),
    [anon_sym_LT_EQ_GT] = ACTIONS(6346),
    [anon_sym_EQ_TILDE] = ACTIONS(6346),
    [anon_sym_BANG_TILDE] = ACTIONS(6346),
    [anon_sym_LT_EQ] = ACTIONS(7328),
    [anon_sym_GT] = ACTIONS(7328),
    [anon_sym_GT_EQ] = ACTIONS(6346),
    [anon_sym_CARET] = ACTIONS(6346),
    [anon_sym_PLUS] = ACTIONS(6346),
    [anon_sym_SLASH] = ACTIONS(6346),
    [anon_sym_PERCENT] = ACTIONS(6346),
    [sym_comment] = ACTIONS(256),
  },
  [9826] = {
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__element_reference_left_bracket] = ACTIONS(7330),
    [sym__scope_double_colon] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_LBRACE] = ACTIONS(7330),
    [anon_sym_RPAREN] = ACTIONS(7330),
    [anon_sym_DOT] = ACTIONS(7332),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_EQ] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_do] = ACTIONS(7330),
    [anon_sym_AMP_DOT] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(256),
  },
  [9827] = {
    [aux_sym_exceptions_repeat1] = STATE(12101),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__element_reference_left_bracket] = ACTIONS(7330),
    [sym__scope_double_colon] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_LBRACE] = ACTIONS(7330),
    [anon_sym_DOT] = ACTIONS(7332),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_EQ] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_do] = ACTIONS(7330),
    [anon_sym_AMP_DOT] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(256),
  },
  [9828] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__element_reference_left_bracket] = ACTIONS(7344),
    [sym__scope_double_colon] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(9216),
    [sym__binary_star] = ACTIONS(9218),
    [anon_sym_LBRACE] = ACTIONS(7344),
    [anon_sym_DOT] = ACTIONS(9504),
    [anon_sym_COMMA] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(9220),
    [anon_sym_STAR_STAR] = ACTIONS(9222),
    [anon_sym_AMP] = ACTIONS(9224),
    [anon_sym_EQ] = ACTIONS(9504),
    [anon_sym_LT] = ACTIONS(9226),
    [anon_sym_do] = ACTIONS(7344),
    [anon_sym_AMP_DOT] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(9228),
    [anon_sym_DOT_DOT] = ACTIONS(9230),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9232),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(9236),
    [anon_sym_AMP_AMP] = ACTIONS(9236),
    [anon_sym_LT_LT] = ACTIONS(9238),
    [anon_sym_GT_GT] = ACTIONS(9238),
    [anon_sym_EQ_EQ] = ACTIONS(9240),
    [anon_sym_BANG_EQ] = ACTIONS(9236),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9236),
    [anon_sym_LT_EQ_GT] = ACTIONS(9236),
    [anon_sym_EQ_TILDE] = ACTIONS(9236),
    [anon_sym_BANG_TILDE] = ACTIONS(9236),
    [anon_sym_LT_EQ] = ACTIONS(9226),
    [anon_sym_GT] = ACTIONS(9226),
    [anon_sym_GT_EQ] = ACTIONS(9242),
    [anon_sym_CARET] = ACTIONS(9244),
    [anon_sym_PLUS] = ACTIONS(9246),
    [anon_sym_SLASH] = ACTIONS(9222),
    [anon_sym_PERCENT] = ACTIONS(9222),
    [sym_comment] = ACTIONS(256),
  },
  [9829] = {
    [sym__simple_string] = ACTIONS(7346),
    [sym__simple_heredoc_body] = ACTIONS(7346),
    [sym__string_beginning] = ACTIONS(7346),
    [sym__heredoc_body_beginning] = ACTIONS(7346),
    [sym__element_reference_left_bracket] = ACTIONS(7346),
    [sym__scope_double_colon] = ACTIONS(7346),
    [sym__binary_minus] = ACTIONS(7346),
    [sym__binary_star] = ACTIONS(7346),
    [anon_sym_LBRACE] = ACTIONS(7346),
    [anon_sym_RPAREN] = ACTIONS(7346),
    [anon_sym_DOT] = ACTIONS(7348),
    [anon_sym_COMMA] = ACTIONS(7346),
    [anon_sym_PIPE] = ACTIONS(7348),
    [anon_sym_STAR_STAR] = ACTIONS(7346),
    [anon_sym_AMP] = ACTIONS(7348),
    [anon_sym_EQ] = ACTIONS(7348),
    [anon_sym_LT] = ACTIONS(7348),
    [anon_sym_do] = ACTIONS(7346),
    [anon_sym_AMP_DOT] = ACTIONS(7346),
    [anon_sym_QMARK] = ACTIONS(7348),
    [anon_sym_DOT_DOT] = ACTIONS(7348),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7346),
    [anon_sym_and] = ACTIONS(7346),
    [anon_sym_or] = ACTIONS(7346),
    [anon_sym_PIPE_PIPE] = ACTIONS(7346),
    [anon_sym_AMP_AMP] = ACTIONS(7346),
    [anon_sym_LT_LT] = ACTIONS(7346),
    [anon_sym_GT_GT] = ACTIONS(7346),
    [anon_sym_EQ_EQ] = ACTIONS(7348),
    [anon_sym_BANG_EQ] = ACTIONS(7346),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7346),
    [anon_sym_LT_EQ_GT] = ACTIONS(7346),
    [anon_sym_EQ_TILDE] = ACTIONS(7346),
    [anon_sym_BANG_TILDE] = ACTIONS(7346),
    [anon_sym_LT_EQ] = ACTIONS(7348),
    [anon_sym_GT] = ACTIONS(7348),
    [anon_sym_GT_EQ] = ACTIONS(7346),
    [anon_sym_CARET] = ACTIONS(7346),
    [anon_sym_PLUS] = ACTIONS(7346),
    [anon_sym_SLASH] = ACTIONS(7346),
    [anon_sym_PERCENT] = ACTIONS(7346),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(7348),
  },
  [9830] = {
    [sym__simple_heredoc_body] = ACTIONS(8568),
    [sym__heredoc_body_beginning] = ACTIONS(8568),
    [sym__element_reference_left_bracket] = ACTIONS(8568),
    [sym__scope_double_colon] = ACTIONS(8568),
    [sym__binary_minus] = ACTIONS(5102),
    [sym__binary_star] = ACTIONS(5104),
    [anon_sym_LBRACE] = ACTIONS(8568),
    [anon_sym_DOT] = ACTIONS(9468),
    [anon_sym_COMMA] = ACTIONS(8568),
    [anon_sym_PIPE] = ACTIONS(5106),
    [anon_sym_STAR_STAR] = ACTIONS(5108),
    [anon_sym_AMP] = ACTIONS(5110),
    [anon_sym_EQ] = ACTIONS(9468),
    [anon_sym_LT] = ACTIONS(5112),
    [anon_sym_do] = ACTIONS(8568),
    [anon_sym_EQ_GT] = ACTIONS(8568),
    [anon_sym_AMP_DOT] = ACTIONS(8568),
    [anon_sym_QMARK] = ACTIONS(5114),
    [anon_sym_DOT_DOT] = ACTIONS(5116),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5118),
    [anon_sym_and] = ACTIONS(8568),
    [anon_sym_or] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE] = ACTIONS(5122),
    [anon_sym_AMP_AMP] = ACTIONS(5122),
    [anon_sym_LT_LT] = ACTIONS(5124),
    [anon_sym_GT_GT] = ACTIONS(5124),
    [anon_sym_EQ_EQ] = ACTIONS(5126),
    [anon_sym_BANG_EQ] = ACTIONS(5122),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5122),
    [anon_sym_LT_EQ_GT] = ACTIONS(5122),
    [anon_sym_EQ_TILDE] = ACTIONS(5122),
    [anon_sym_BANG_TILDE] = ACTIONS(5122),
    [anon_sym_LT_EQ] = ACTIONS(5112),
    [anon_sym_GT] = ACTIONS(5112),
    [anon_sym_GT_EQ] = ACTIONS(5128),
    [anon_sym_CARET] = ACTIONS(5130),
    [anon_sym_PLUS] = ACTIONS(5132),
    [anon_sym_SLASH] = ACTIONS(5108),
    [anon_sym_PERCENT] = ACTIONS(5108),
    [sym_comment] = ACTIONS(256),
  },
  [9831] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3534),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(9349),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1313),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1314),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(3536),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(3537),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(5092),
    [sym__splat_star] = ACTIONS(5094),
    [sym__unary_minus] = ACTIONS(2062),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(12670),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2068),
    [anon_sym_yield] = ACTIONS(2070),
    [anon_sym_break] = ACTIONS(2072),
    [anon_sym_next] = ACTIONS(2074),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2078),
    [anon_sym_defined_QMARK] = ACTIONS(2080),
    [anon_sym_not] = ACTIONS(2082),
    [anon_sym_BANG] = ACTIONS(2084),
    [anon_sym_TILDE] = ACTIONS(2084),
    [sym_constant] = ACTIONS(5098),
    [sym_identifier] = ACTIONS(5098),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9832] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3534),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(9349),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1313),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1314),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(3536),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(3537),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(12102),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(5092),
    [sym__splat_star] = ACTIONS(5094),
    [sym__unary_minus] = ACTIONS(2062),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(12670),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2068),
    [anon_sym_yield] = ACTIONS(2070),
    [anon_sym_break] = ACTIONS(2072),
    [anon_sym_next] = ACTIONS(2074),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2078),
    [anon_sym_defined_QMARK] = ACTIONS(2080),
    [anon_sym_not] = ACTIONS(2082),
    [anon_sym_BANG] = ACTIONS(2084),
    [anon_sym_TILDE] = ACTIONS(2084),
    [sym_constant] = ACTIONS(5098),
    [sym_identifier] = ACTIONS(5098),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9833] = {
    [sym__simple_heredoc_body] = ACTIONS(8662),
    [sym__heredoc_body_beginning] = ACTIONS(8662),
    [sym__element_reference_left_bracket] = ACTIONS(8662),
    [sym__scope_double_colon] = ACTIONS(8662),
    [sym__binary_minus] = ACTIONS(5102),
    [sym__binary_star] = ACTIONS(5104),
    [anon_sym_LBRACE] = ACTIONS(8662),
    [anon_sym_DOT] = ACTIONS(9506),
    [anon_sym_COMMA] = ACTIONS(8662),
    [anon_sym_PIPE] = ACTIONS(5106),
    [anon_sym_STAR_STAR] = ACTIONS(5108),
    [anon_sym_AMP] = ACTIONS(5110),
    [anon_sym_EQ] = ACTIONS(9506),
    [anon_sym_LT] = ACTIONS(5112),
    [anon_sym_do] = ACTIONS(8662),
    [anon_sym_EQ_GT] = ACTIONS(8662),
    [anon_sym_AMP_DOT] = ACTIONS(8662),
    [anon_sym_QMARK] = ACTIONS(5114),
    [anon_sym_DOT_DOT] = ACTIONS(5116),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5118),
    [anon_sym_and] = ACTIONS(8662),
    [anon_sym_or] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE] = ACTIONS(5122),
    [anon_sym_AMP_AMP] = ACTIONS(5122),
    [anon_sym_LT_LT] = ACTIONS(5124),
    [anon_sym_GT_GT] = ACTIONS(5124),
    [anon_sym_EQ_EQ] = ACTIONS(5126),
    [anon_sym_BANG_EQ] = ACTIONS(5122),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5122),
    [anon_sym_LT_EQ_GT] = ACTIONS(5122),
    [anon_sym_EQ_TILDE] = ACTIONS(5122),
    [anon_sym_BANG_TILDE] = ACTIONS(5122),
    [anon_sym_LT_EQ] = ACTIONS(5112),
    [anon_sym_GT] = ACTIONS(5112),
    [anon_sym_GT_EQ] = ACTIONS(5128),
    [anon_sym_CARET] = ACTIONS(5130),
    [anon_sym_PLUS] = ACTIONS(5132),
    [anon_sym_SLASH] = ACTIONS(5108),
    [anon_sym_PERCENT] = ACTIONS(5108),
    [sym_comment] = ACTIONS(256),
  },
  [9834] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(12103),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1313),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1314),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2062),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5082),
    [anon_sym_yield] = ACTIONS(5084),
    [anon_sym_break] = ACTIONS(5086),
    [anon_sym_next] = ACTIONS(5088),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2078),
    [anon_sym_defined_QMARK] = ACTIONS(2080),
    [anon_sym_not] = ACTIONS(5090),
    [anon_sym_BANG] = ACTIONS(2084),
    [anon_sym_TILDE] = ACTIONS(2084),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9835] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1309),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(12043),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1313),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1314),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1315),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1316),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(2058),
    [sym__splat_star] = ACTIONS(2060),
    [sym__unary_minus] = ACTIONS(2062),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2066),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2068),
    [anon_sym_yield] = ACTIONS(2070),
    [anon_sym_break] = ACTIONS(2072),
    [anon_sym_next] = ACTIONS(2074),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2078),
    [anon_sym_defined_QMARK] = ACTIONS(2080),
    [anon_sym_not] = ACTIONS(2082),
    [anon_sym_BANG] = ACTIONS(2084),
    [anon_sym_TILDE] = ACTIONS(2084),
    [sym_constant] = ACTIONS(2086),
    [sym_identifier] = ACTIONS(2086),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9836] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6739),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_splat_argument] = STATE(6132),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym__arg_or_splat_arg] = STATE(11842),
    [sym_left_assignment_list] = STATE(1313),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1314),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__splat_star] = ACTIONS(5094),
    [sym__unary_minus] = ACTIONS(2062),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5082),
    [anon_sym_yield] = ACTIONS(5084),
    [anon_sym_break] = ACTIONS(5086),
    [anon_sym_next] = ACTIONS(5088),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2078),
    [anon_sym_defined_QMARK] = ACTIONS(2080),
    [anon_sym_not] = ACTIONS(5090),
    [anon_sym_BANG] = ACTIONS(2084),
    [anon_sym_TILDE] = ACTIONS(2084),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9837] = {
    [sym__simple_heredoc_body] = ACTIONS(11422),
    [sym__heredoc_body_beginning] = ACTIONS(11422),
    [sym__element_reference_left_bracket] = ACTIONS(11422),
    [sym__scope_double_colon] = ACTIONS(11422),
    [sym__binary_minus] = ACTIONS(11422),
    [sym__binary_star] = ACTIONS(11422),
    [anon_sym_LBRACE] = ACTIONS(11422),
    [anon_sym_DOT] = ACTIONS(11426),
    [anon_sym_COMMA] = ACTIONS(14942),
    [anon_sym_PIPE] = ACTIONS(11426),
    [anon_sym_STAR_STAR] = ACTIONS(11422),
    [anon_sym_AMP] = ACTIONS(11426),
    [anon_sym_EQ] = ACTIONS(11426),
    [anon_sym_LT] = ACTIONS(11426),
    [anon_sym_do] = ACTIONS(11422),
    [anon_sym_EQ_GT] = ACTIONS(11422),
    [anon_sym_AMP_DOT] = ACTIONS(11422),
    [anon_sym_QMARK] = ACTIONS(11422),
    [anon_sym_DOT_DOT] = ACTIONS(11426),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11422),
    [anon_sym_and] = ACTIONS(11422),
    [anon_sym_or] = ACTIONS(11422),
    [anon_sym_PIPE_PIPE] = ACTIONS(11422),
    [anon_sym_AMP_AMP] = ACTIONS(11422),
    [anon_sym_LT_LT] = ACTIONS(11422),
    [anon_sym_GT_GT] = ACTIONS(11422),
    [anon_sym_EQ_EQ] = ACTIONS(11426),
    [anon_sym_BANG_EQ] = ACTIONS(11422),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11422),
    [anon_sym_LT_EQ_GT] = ACTIONS(11422),
    [anon_sym_EQ_TILDE] = ACTIONS(11422),
    [anon_sym_BANG_TILDE] = ACTIONS(11422),
    [anon_sym_LT_EQ] = ACTIONS(11426),
    [anon_sym_GT] = ACTIONS(11426),
    [anon_sym_GT_EQ] = ACTIONS(11422),
    [anon_sym_CARET] = ACTIONS(11422),
    [anon_sym_PLUS] = ACTIONS(11422),
    [anon_sym_SLASH] = ACTIONS(11422),
    [anon_sym_PERCENT] = ACTIONS(11422),
    [sym_comment] = ACTIONS(256),
  },
  [9838] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(12682),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [9839] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(12682),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [9840] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(12676),
    [sym__binary_star] = ACTIONS(12678),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(12680),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(12682),
    [anon_sym_AMP] = ACTIONS(12684),
    [anon_sym_LT] = ACTIONS(12686),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(12688),
    [anon_sym_DOT_DOT] = ACTIONS(12690),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12692),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(12694),
    [anon_sym_AMP_AMP] = ACTIONS(12694),
    [anon_sym_LT_LT] = ACTIONS(12696),
    [anon_sym_GT_GT] = ACTIONS(12696),
    [anon_sym_EQ_EQ] = ACTIONS(12698),
    [anon_sym_BANG_EQ] = ACTIONS(12694),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12694),
    [anon_sym_LT_EQ_GT] = ACTIONS(12694),
    [anon_sym_EQ_TILDE] = ACTIONS(12694),
    [anon_sym_BANG_TILDE] = ACTIONS(12694),
    [anon_sym_LT_EQ] = ACTIONS(12686),
    [anon_sym_GT] = ACTIONS(12686),
    [anon_sym_GT_EQ] = ACTIONS(12700),
    [anon_sym_CARET] = ACTIONS(12702),
    [anon_sym_PLUS] = ACTIONS(12704),
    [anon_sym_SLASH] = ACTIONS(12682),
    [anon_sym_PERCENT] = ACTIONS(12682),
    [sym_comment] = ACTIONS(110),
  },
  [9841] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(12105),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(6748),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6749),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(9262),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(9264),
    [anon_sym_defined_QMARK] = ACTIONS(9266),
    [anon_sym_not] = ACTIONS(9268),
    [anon_sym_BANG] = ACTIONS(9270),
    [anon_sym_TILDE] = ACTIONS(9270),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9842] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(12106),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(6748),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6749),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(9262),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(9264),
    [anon_sym_defined_QMARK] = ACTIONS(9266),
    [anon_sym_not] = ACTIONS(9268),
    [anon_sym_BANG] = ACTIONS(9270),
    [anon_sym_TILDE] = ACTIONS(9270),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9843] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(12107),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(6748),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6749),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(9262),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(9264),
    [anon_sym_defined_QMARK] = ACTIONS(9266),
    [anon_sym_not] = ACTIONS(9268),
    [anon_sym_BANG] = ACTIONS(9270),
    [anon_sym_TILDE] = ACTIONS(9270),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9844] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(12108),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(6748),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6749),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(9262),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(9264),
    [anon_sym_defined_QMARK] = ACTIONS(9266),
    [anon_sym_not] = ACTIONS(9268),
    [anon_sym_BANG] = ACTIONS(9270),
    [anon_sym_TILDE] = ACTIONS(9270),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9845] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(12109),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(6748),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6749),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(9262),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(9264),
    [anon_sym_defined_QMARK] = ACTIONS(9266),
    [anon_sym_not] = ACTIONS(9268),
    [anon_sym_BANG] = ACTIONS(9270),
    [anon_sym_TILDE] = ACTIONS(9270),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9846] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(12110),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(6748),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6749),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(9262),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(9264),
    [anon_sym_defined_QMARK] = ACTIONS(9266),
    [anon_sym_not] = ACTIONS(9268),
    [anon_sym_BANG] = ACTIONS(9270),
    [anon_sym_TILDE] = ACTIONS(9270),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9847] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(12111),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [9848] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(12112),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(6748),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6749),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(9262),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(9264),
    [anon_sym_defined_QMARK] = ACTIONS(9266),
    [anon_sym_not] = ACTIONS(9268),
    [anon_sym_BANG] = ACTIONS(9270),
    [anon_sym_TILDE] = ACTIONS(9270),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9849] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(12113),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(6748),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6749),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(9262),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(9264),
    [anon_sym_defined_QMARK] = ACTIONS(9266),
    [anon_sym_not] = ACTIONS(9268),
    [anon_sym_BANG] = ACTIONS(9270),
    [anon_sym_TILDE] = ACTIONS(9270),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9850] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(12114),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(6748),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6749),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(9262),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(9264),
    [anon_sym_defined_QMARK] = ACTIONS(9266),
    [anon_sym_not] = ACTIONS(9268),
    [anon_sym_BANG] = ACTIONS(9270),
    [anon_sym_TILDE] = ACTIONS(9270),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9851] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(12115),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(6748),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6749),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(9262),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(9264),
    [anon_sym_defined_QMARK] = ACTIONS(9266),
    [anon_sym_not] = ACTIONS(9268),
    [anon_sym_BANG] = ACTIONS(9270),
    [anon_sym_TILDE] = ACTIONS(9270),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9852] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(12116),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(6748),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6749),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(9262),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(9264),
    [anon_sym_defined_QMARK] = ACTIONS(9266),
    [anon_sym_not] = ACTIONS(9268),
    [anon_sym_BANG] = ACTIONS(9270),
    [anon_sym_TILDE] = ACTIONS(9270),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9853] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(12117),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_splat_argument] = STATE(3785),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_right_assignment_list] = STATE(3786),
    [sym__arg_or_splat_arg] = STATE(12118),
    [sym_left_assignment_list] = STATE(6748),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6749),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(5146),
    [sym__unary_minus] = ACTIONS(9262),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(9264),
    [anon_sym_defined_QMARK] = ACTIONS(9266),
    [anon_sym_not] = ACTIONS(9268),
    [anon_sym_BANG] = ACTIONS(9270),
    [anon_sym_TILDE] = ACTIONS(9270),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9854] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(12119),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(6748),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6749),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(9262),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(9264),
    [anon_sym_defined_QMARK] = ACTIONS(9266),
    [anon_sym_not] = ACTIONS(9268),
    [anon_sym_BANG] = ACTIONS(9270),
    [anon_sym_TILDE] = ACTIONS(9270),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9855] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__line_break] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(9292),
    [sym__binary_star] = ACTIONS(9294),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(9296),
    [anon_sym_SEMI] = ACTIONS(5298),
    [anon_sym_STAR_STAR] = ACTIONS(9298),
    [anon_sym_AMP] = ACTIONS(9300),
    [anon_sym_LT] = ACTIONS(9302),
    [anon_sym_EQ_GT] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(9304),
    [anon_sym_DOT_DOT] = ACTIONS(9306),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9308),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(9310),
    [anon_sym_AMP_AMP] = ACTIONS(9310),
    [anon_sym_LT_LT] = ACTIONS(9312),
    [anon_sym_GT_GT] = ACTIONS(9312),
    [anon_sym_EQ_EQ] = ACTIONS(9314),
    [anon_sym_BANG_EQ] = ACTIONS(9310),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9310),
    [anon_sym_LT_EQ_GT] = ACTIONS(9310),
    [anon_sym_EQ_TILDE] = ACTIONS(9310),
    [anon_sym_BANG_TILDE] = ACTIONS(9310),
    [anon_sym_LT_EQ] = ACTIONS(9302),
    [anon_sym_GT] = ACTIONS(9302),
    [anon_sym_GT_EQ] = ACTIONS(9316),
    [anon_sym_CARET] = ACTIONS(9318),
    [anon_sym_PLUS] = ACTIONS(9320),
    [anon_sym_SLASH] = ACTIONS(9298),
    [anon_sym_PERCENT] = ACTIONS(9298),
    [sym_comment] = ACTIONS(110),
  },
  [9856] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__line_break] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(9292),
    [sym__binary_star] = ACTIONS(9294),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(9296),
    [anon_sym_SEMI] = ACTIONS(5338),
    [anon_sym_STAR_STAR] = ACTIONS(9298),
    [anon_sym_AMP] = ACTIONS(9300),
    [anon_sym_LT] = ACTIONS(9302),
    [anon_sym_EQ_GT] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(9304),
    [anon_sym_DOT_DOT] = ACTIONS(9306),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9308),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(9310),
    [anon_sym_AMP_AMP] = ACTIONS(9310),
    [anon_sym_LT_LT] = ACTIONS(9312),
    [anon_sym_GT_GT] = ACTIONS(9312),
    [anon_sym_EQ_EQ] = ACTIONS(9314),
    [anon_sym_BANG_EQ] = ACTIONS(9310),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9310),
    [anon_sym_LT_EQ_GT] = ACTIONS(9310),
    [anon_sym_EQ_TILDE] = ACTIONS(9310),
    [anon_sym_BANG_TILDE] = ACTIONS(9310),
    [anon_sym_LT_EQ] = ACTIONS(9302),
    [anon_sym_GT] = ACTIONS(9302),
    [anon_sym_GT_EQ] = ACTIONS(9316),
    [anon_sym_CARET] = ACTIONS(9318),
    [anon_sym_PLUS] = ACTIONS(9320),
    [anon_sym_SLASH] = ACTIONS(9298),
    [anon_sym_PERCENT] = ACTIONS(9298),
    [sym_comment] = ACTIONS(110),
  },
  [9857] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__line_break] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(9292),
    [sym__binary_star] = ACTIONS(9294),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(9296),
    [anon_sym_SEMI] = ACTIONS(4284),
    [anon_sym_STAR_STAR] = ACTIONS(9298),
    [anon_sym_AMP] = ACTIONS(9300),
    [anon_sym_LT] = ACTIONS(9302),
    [anon_sym_EQ_GT] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(9304),
    [anon_sym_DOT_DOT] = ACTIONS(9306),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9308),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(9310),
    [anon_sym_AMP_AMP] = ACTIONS(9310),
    [anon_sym_LT_LT] = ACTIONS(9312),
    [anon_sym_GT_GT] = ACTIONS(9312),
    [anon_sym_EQ_EQ] = ACTIONS(9314),
    [anon_sym_BANG_EQ] = ACTIONS(9310),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9310),
    [anon_sym_LT_EQ_GT] = ACTIONS(9310),
    [anon_sym_EQ_TILDE] = ACTIONS(9310),
    [anon_sym_BANG_TILDE] = ACTIONS(9310),
    [anon_sym_LT_EQ] = ACTIONS(9302),
    [anon_sym_GT] = ACTIONS(9302),
    [anon_sym_GT_EQ] = ACTIONS(9316),
    [anon_sym_CARET] = ACTIONS(9318),
    [anon_sym_PLUS] = ACTIONS(9320),
    [anon_sym_SLASH] = ACTIONS(9298),
    [anon_sym_PERCENT] = ACTIONS(9298),
    [sym_comment] = ACTIONS(110),
  },
  [9858] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(12120),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(3575),
    [sym_call] = STATE(3575),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3577),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3578),
    [sym__variable] = STATE(3575),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5148),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(9272),
    [anon_sym_yield] = ACTIONS(9274),
    [anon_sym_break] = ACTIONS(9276),
    [anon_sym_next] = ACTIONS(9278),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(9280),
    [anon_sym_defined_QMARK] = ACTIONS(5158),
    [anon_sym_not] = ACTIONS(9282),
    [anon_sym_BANG] = ACTIONS(5164),
    [anon_sym_TILDE] = ACTIONS(5164),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9859] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6761),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(3575),
    [sym_call] = STATE(3575),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(3780),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3577),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3578),
    [sym__variable] = STATE(3575),
    [sym_reserved_identifier] = STATE(6763),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(6764),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(12121),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__block_ampersand] = ACTIONS(9284),
    [sym__splat_star] = ACTIONS(9286),
    [sym__unary_minus] = ACTIONS(5148),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(14944),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(5150),
    [anon_sym_yield] = ACTIONS(5152),
    [anon_sym_break] = ACTIONS(5154),
    [anon_sym_next] = ACTIONS(5156),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(9280),
    [anon_sym_defined_QMARK] = ACTIONS(5158),
    [anon_sym_not] = ACTIONS(5160),
    [anon_sym_BANG] = ACTIONS(5164),
    [anon_sym_TILDE] = ACTIONS(5164),
    [sym_constant] = ACTIONS(9288),
    [sym_identifier] = ACTIONS(9288),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9860] = {
    [sym_heredoc_end] = STATE(1444),
    [aux_sym_argument_list_repeat2] = STATE(3783),
    [sym__simple_heredoc_body] = ACTIONS(2268),
    [sym__heredoc_body_beginning] = ACTIONS(2270),
    [sym__line_break] = ACTIONS(5472),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(14946),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_SEMI] = ACTIONS(5472),
    [anon_sym_STAR_STAR] = ACTIONS(5472),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_EQ_GT] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5472),
    [anon_sym_AMP_AMP] = ACTIONS(5472),
    [anon_sym_LT_LT] = ACTIONS(5472),
    [anon_sym_GT_GT] = ACTIONS(5472),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5472),
    [anon_sym_PLUS] = ACTIONS(5472),
    [anon_sym_SLASH] = ACTIONS(5472),
    [anon_sym_PERCENT] = ACTIONS(5472),
    [sym_comment] = ACTIONS(110),
  },
  [9861] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(12123),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(3575),
    [sym_call] = STATE(3575),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3577),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3578),
    [sym__variable] = STATE(3575),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(5148),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(9272),
    [anon_sym_yield] = ACTIONS(9274),
    [anon_sym_break] = ACTIONS(9276),
    [anon_sym_next] = ACTIONS(9278),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(9280),
    [anon_sym_defined_QMARK] = ACTIONS(5158),
    [anon_sym_not] = ACTIONS(9282),
    [anon_sym_BANG] = ACTIONS(5164),
    [anon_sym_TILDE] = ACTIONS(5164),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9862] = {
    [sym__simple_heredoc_body] = ACTIONS(8568),
    [sym__heredoc_body_beginning] = ACTIONS(8568),
    [sym__line_break] = ACTIONS(8568),
    [sym__element_reference_left_bracket] = ACTIONS(8568),
    [sym__scope_double_colon] = ACTIONS(8568),
    [sym__binary_minus] = ACTIONS(12676),
    [sym__binary_star] = ACTIONS(12678),
    [anon_sym_DOT] = ACTIONS(9468),
    [anon_sym_COMMA] = ACTIONS(8568),
    [anon_sym_PIPE] = ACTIONS(12680),
    [anon_sym_SEMI] = ACTIONS(8568),
    [anon_sym_STAR_STAR] = ACTIONS(12682),
    [anon_sym_AMP] = ACTIONS(12684),
    [anon_sym_LT] = ACTIONS(12686),
    [anon_sym_AMP_DOT] = ACTIONS(8568),
    [anon_sym_QMARK] = ACTIONS(12688),
    [anon_sym_DOT_DOT] = ACTIONS(12690),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12692),
    [anon_sym_and] = ACTIONS(8568),
    [anon_sym_or] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE] = ACTIONS(12694),
    [anon_sym_AMP_AMP] = ACTIONS(12694),
    [anon_sym_LT_LT] = ACTIONS(12696),
    [anon_sym_GT_GT] = ACTIONS(12696),
    [anon_sym_EQ_EQ] = ACTIONS(12698),
    [anon_sym_BANG_EQ] = ACTIONS(12694),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12694),
    [anon_sym_LT_EQ_GT] = ACTIONS(12694),
    [anon_sym_EQ_TILDE] = ACTIONS(12694),
    [anon_sym_BANG_TILDE] = ACTIONS(12694),
    [anon_sym_LT_EQ] = ACTIONS(12686),
    [anon_sym_GT] = ACTIONS(12686),
    [anon_sym_GT_EQ] = ACTIONS(12700),
    [anon_sym_CARET] = ACTIONS(12702),
    [anon_sym_PLUS] = ACTIONS(12704),
    [anon_sym_SLASH] = ACTIONS(12682),
    [anon_sym_PERCENT] = ACTIONS(12682),
    [sym_comment] = ACTIONS(110),
  },
  [9863] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__line_break] = ACTIONS(7008),
    [sym__element_reference_left_bracket] = ACTIONS(7008),
    [sym__scope_double_colon] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(9294),
    [anon_sym_DOT] = ACTIONS(7010),
    [anon_sym_COMMA] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_SEMI] = ACTIONS(7008),
    [anon_sym_STAR_STAR] = ACTIONS(9298),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_EQ_GT] = ACTIONS(7008),
    [anon_sym_AMP_DOT] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7008),
    [anon_sym_AMP_AMP] = ACTIONS(7008),
    [anon_sym_LT_LT] = ACTIONS(7008),
    [anon_sym_GT_GT] = ACTIONS(7008),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7008),
    [anon_sym_PLUS] = ACTIONS(7008),
    [anon_sym_SLASH] = ACTIONS(9298),
    [anon_sym_PERCENT] = ACTIONS(9298),
    [sym_comment] = ACTIONS(110),
  },
  [9864] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__line_break] = ACTIONS(7012),
    [sym__element_reference_left_bracket] = ACTIONS(7012),
    [sym__scope_double_colon] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_DOT] = ACTIONS(7014),
    [anon_sym_COMMA] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_SEMI] = ACTIONS(7012),
    [anon_sym_STAR_STAR] = ACTIONS(9298),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_EQ_GT] = ACTIONS(7012),
    [anon_sym_AMP_DOT] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7012),
    [anon_sym_AMP_AMP] = ACTIONS(7012),
    [anon_sym_LT_LT] = ACTIONS(7012),
    [anon_sym_GT_GT] = ACTIONS(7012),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7012),
    [anon_sym_PLUS] = ACTIONS(7012),
    [anon_sym_SLASH] = ACTIONS(7012),
    [anon_sym_PERCENT] = ACTIONS(7012),
    [sym_comment] = ACTIONS(110),
  },
  [9865] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(9292),
    [sym__binary_star] = ACTIONS(9294),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(9298),
    [anon_sym_AMP] = ACTIONS(9300),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(9312),
    [anon_sym_GT_GT] = ACTIONS(9312),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(9320),
    [anon_sym_SLASH] = ACTIONS(9298),
    [anon_sym_PERCENT] = ACTIONS(9298),
    [sym_comment] = ACTIONS(110),
  },
  [9866] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(9298),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7016),
    [anon_sym_PERCENT] = ACTIONS(7016),
    [sym_comment] = ACTIONS(110),
  },
  [9867] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(9292),
    [sym__binary_star] = ACTIONS(9294),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(9298),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(9312),
    [anon_sym_GT_GT] = ACTIONS(9312),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(9320),
    [anon_sym_SLASH] = ACTIONS(9298),
    [anon_sym_PERCENT] = ACTIONS(9298),
    [sym_comment] = ACTIONS(110),
  },
  [9868] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(9292),
    [sym__binary_star] = ACTIONS(9294),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(9296),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(9298),
    [anon_sym_AMP] = ACTIONS(9300),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(9312),
    [anon_sym_GT_GT] = ACTIONS(9312),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(9318),
    [anon_sym_PLUS] = ACTIONS(9320),
    [anon_sym_SLASH] = ACTIONS(9298),
    [anon_sym_PERCENT] = ACTIONS(9298),
    [sym_comment] = ACTIONS(110),
  },
  [9869] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(14948),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [9870] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__line_break] = ACTIONS(7108),
    [sym__element_reference_left_bracket] = ACTIONS(7108),
    [sym__scope_double_colon] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(9292),
    [sym__binary_star] = ACTIONS(9294),
    [anon_sym_DOT] = ACTIONS(9472),
    [anon_sym_COMMA] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(9296),
    [anon_sym_SEMI] = ACTIONS(7108),
    [anon_sym_STAR_STAR] = ACTIONS(9298),
    [anon_sym_AMP] = ACTIONS(9300),
    [anon_sym_LT] = ACTIONS(9302),
    [anon_sym_EQ_GT] = ACTIONS(7108),
    [anon_sym_AMP_DOT] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(9306),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9308),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(9310),
    [anon_sym_AMP_AMP] = ACTIONS(9310),
    [anon_sym_LT_LT] = ACTIONS(9312),
    [anon_sym_GT_GT] = ACTIONS(9312),
    [anon_sym_EQ_EQ] = ACTIONS(9314),
    [anon_sym_BANG_EQ] = ACTIONS(9310),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9310),
    [anon_sym_LT_EQ_GT] = ACTIONS(9310),
    [anon_sym_EQ_TILDE] = ACTIONS(9310),
    [anon_sym_BANG_TILDE] = ACTIONS(9310),
    [anon_sym_LT_EQ] = ACTIONS(9302),
    [anon_sym_GT] = ACTIONS(9302),
    [anon_sym_GT_EQ] = ACTIONS(9316),
    [anon_sym_CARET] = ACTIONS(9318),
    [anon_sym_PLUS] = ACTIONS(9320),
    [anon_sym_SLASH] = ACTIONS(9298),
    [anon_sym_PERCENT] = ACTIONS(9298),
    [sym_comment] = ACTIONS(110),
  },
  [9871] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(9292),
    [sym__binary_star] = ACTIONS(9294),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(9296),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(9298),
    [anon_sym_AMP] = ACTIONS(9300),
    [anon_sym_LT] = ACTIONS(9302),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(9304),
    [anon_sym_DOT_DOT] = ACTIONS(9306),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9308),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(9310),
    [anon_sym_AMP_AMP] = ACTIONS(9310),
    [anon_sym_LT_LT] = ACTIONS(9312),
    [anon_sym_GT_GT] = ACTIONS(9312),
    [anon_sym_EQ_EQ] = ACTIONS(9314),
    [anon_sym_BANG_EQ] = ACTIONS(9310),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9310),
    [anon_sym_LT_EQ_GT] = ACTIONS(9310),
    [anon_sym_EQ_TILDE] = ACTIONS(9310),
    [anon_sym_BANG_TILDE] = ACTIONS(9310),
    [anon_sym_LT_EQ] = ACTIONS(9302),
    [anon_sym_GT] = ACTIONS(9302),
    [anon_sym_GT_EQ] = ACTIONS(9316),
    [anon_sym_CARET] = ACTIONS(9318),
    [anon_sym_PLUS] = ACTIONS(9320),
    [anon_sym_SLASH] = ACTIONS(9298),
    [anon_sym_PERCENT] = ACTIONS(9298),
    [sym_comment] = ACTIONS(110),
  },
  [9872] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(9292),
    [sym__binary_star] = ACTIONS(9294),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(9296),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(9298),
    [anon_sym_AMP] = ACTIONS(9300),
    [anon_sym_LT] = ACTIONS(9302),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(9312),
    [anon_sym_GT_GT] = ACTIONS(9312),
    [anon_sym_EQ_EQ] = ACTIONS(9314),
    [anon_sym_BANG_EQ] = ACTIONS(9310),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9310),
    [anon_sym_LT_EQ_GT] = ACTIONS(9310),
    [anon_sym_EQ_TILDE] = ACTIONS(9310),
    [anon_sym_BANG_TILDE] = ACTIONS(9310),
    [anon_sym_LT_EQ] = ACTIONS(9302),
    [anon_sym_GT] = ACTIONS(9302),
    [anon_sym_GT_EQ] = ACTIONS(9316),
    [anon_sym_CARET] = ACTIONS(9318),
    [anon_sym_PLUS] = ACTIONS(9320),
    [anon_sym_SLASH] = ACTIONS(9298),
    [anon_sym_PERCENT] = ACTIONS(9298),
    [sym_comment] = ACTIONS(110),
  },
  [9873] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(9292),
    [sym__binary_star] = ACTIONS(9294),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(9298),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(9320),
    [anon_sym_SLASH] = ACTIONS(9298),
    [anon_sym_PERCENT] = ACTIONS(9298),
    [sym_comment] = ACTIONS(110),
  },
  [9874] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(9294),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(9298),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_EQ_GT] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(9298),
    [anon_sym_PERCENT] = ACTIONS(9298),
    [sym_comment] = ACTIONS(110),
  },
  [9875] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3574),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(3575),
    [sym_call] = STATE(3575),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(6955),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3577),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3578),
    [sym__variable] = STATE(3575),
    [sym_reserved_identifier] = STATE(3579),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(3580),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__block_ampersand] = ACTIONS(5144),
    [sym__splat_star] = ACTIONS(5146),
    [sym__unary_minus] = ACTIONS(5148),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(12718),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(5150),
    [anon_sym_yield] = ACTIONS(5152),
    [anon_sym_break] = ACTIONS(5154),
    [anon_sym_next] = ACTIONS(5156),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(9280),
    [anon_sym_defined_QMARK] = ACTIONS(5158),
    [anon_sym_not] = ACTIONS(5160),
    [anon_sym_BANG] = ACTIONS(5164),
    [anon_sym_TILDE] = ACTIONS(5164),
    [sym_constant] = ACTIONS(5166),
    [sym_identifier] = ACTIONS(5166),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9876] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3574),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(3575),
    [sym_call] = STATE(3575),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(6955),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(3577),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3578),
    [sym__variable] = STATE(3575),
    [sym_reserved_identifier] = STATE(3579),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(3580),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(12125),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__block_ampersand] = ACTIONS(5144),
    [sym__splat_star] = ACTIONS(5146),
    [sym__unary_minus] = ACTIONS(5148),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(12718),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(5150),
    [anon_sym_yield] = ACTIONS(5152),
    [anon_sym_break] = ACTIONS(5154),
    [anon_sym_next] = ACTIONS(5156),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(9280),
    [anon_sym_defined_QMARK] = ACTIONS(5158),
    [anon_sym_not] = ACTIONS(5160),
    [anon_sym_BANG] = ACTIONS(5164),
    [anon_sym_TILDE] = ACTIONS(5164),
    [sym_constant] = ACTIONS(5166),
    [sym_identifier] = ACTIONS(5166),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9877] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__line_break] = ACTIONS(6346),
    [sym__element_reference_left_bracket] = ACTIONS(6346),
    [sym__scope_double_colon] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(9292),
    [sym__binary_star] = ACTIONS(9294),
    [anon_sym_DOT] = ACTIONS(7328),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(9296),
    [anon_sym_SEMI] = ACTIONS(6346),
    [anon_sym_STAR_STAR] = ACTIONS(9298),
    [anon_sym_AMP] = ACTIONS(9300),
    [anon_sym_LT] = ACTIONS(9302),
    [anon_sym_EQ_GT] = ACTIONS(6346),
    [anon_sym_AMP_DOT] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(9304),
    [anon_sym_DOT_DOT] = ACTIONS(9306),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9308),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(9310),
    [anon_sym_AMP_AMP] = ACTIONS(9310),
    [anon_sym_LT_LT] = ACTIONS(9312),
    [anon_sym_GT_GT] = ACTIONS(9312),
    [anon_sym_EQ_EQ] = ACTIONS(9314),
    [anon_sym_BANG_EQ] = ACTIONS(9310),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9310),
    [anon_sym_LT_EQ_GT] = ACTIONS(9310),
    [anon_sym_EQ_TILDE] = ACTIONS(9310),
    [anon_sym_BANG_TILDE] = ACTIONS(9310),
    [anon_sym_LT_EQ] = ACTIONS(9302),
    [anon_sym_GT] = ACTIONS(9302),
    [anon_sym_GT_EQ] = ACTIONS(9316),
    [anon_sym_CARET] = ACTIONS(9318),
    [anon_sym_PLUS] = ACTIONS(9320),
    [anon_sym_SLASH] = ACTIONS(9298),
    [anon_sym_PERCENT] = ACTIONS(9298),
    [sym_comment] = ACTIONS(110),
  },
  [9878] = {
    [aux_sym_exceptions_repeat1] = STATE(12127),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__line_break] = ACTIONS(7330),
    [sym__element_reference_left_bracket] = ACTIONS(7330),
    [sym__scope_double_colon] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_DOT] = ACTIONS(7332),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_SEMI] = ACTIONS(7330),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_EQ_GT] = ACTIONS(7330),
    [anon_sym_AMP_DOT] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [9879] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__line_break] = ACTIONS(7344),
    [sym__element_reference_left_bracket] = ACTIONS(7344),
    [sym__scope_double_colon] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(9292),
    [sym__binary_star] = ACTIONS(9294),
    [anon_sym_DOT] = ACTIONS(9504),
    [anon_sym_COMMA] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(9296),
    [anon_sym_SEMI] = ACTIONS(7344),
    [anon_sym_STAR_STAR] = ACTIONS(9298),
    [anon_sym_AMP] = ACTIONS(9300),
    [anon_sym_LT] = ACTIONS(9302),
    [anon_sym_EQ_GT] = ACTIONS(7344),
    [anon_sym_AMP_DOT] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(9304),
    [anon_sym_DOT_DOT] = ACTIONS(9306),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9308),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(9310),
    [anon_sym_AMP_AMP] = ACTIONS(9310),
    [anon_sym_LT_LT] = ACTIONS(9312),
    [anon_sym_GT_GT] = ACTIONS(9312),
    [anon_sym_EQ_EQ] = ACTIONS(9314),
    [anon_sym_BANG_EQ] = ACTIONS(9310),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9310),
    [anon_sym_LT_EQ_GT] = ACTIONS(9310),
    [anon_sym_EQ_TILDE] = ACTIONS(9310),
    [anon_sym_BANG_TILDE] = ACTIONS(9310),
    [anon_sym_LT_EQ] = ACTIONS(9302),
    [anon_sym_GT] = ACTIONS(9302),
    [anon_sym_GT_EQ] = ACTIONS(9316),
    [anon_sym_CARET] = ACTIONS(9318),
    [anon_sym_PLUS] = ACTIONS(9320),
    [anon_sym_SLASH] = ACTIONS(9298),
    [anon_sym_PERCENT] = ACTIONS(9298),
    [sym_comment] = ACTIONS(110),
  },
  [9880] = {
    [sym__simple_heredoc_body] = ACTIONS(8662),
    [sym__heredoc_body_beginning] = ACTIONS(8662),
    [sym__line_break] = ACTIONS(8662),
    [sym__element_reference_left_bracket] = ACTIONS(8662),
    [sym__scope_double_colon] = ACTIONS(8662),
    [sym__binary_minus] = ACTIONS(12676),
    [sym__binary_star] = ACTIONS(12678),
    [anon_sym_DOT] = ACTIONS(9506),
    [anon_sym_COMMA] = ACTIONS(8662),
    [anon_sym_PIPE] = ACTIONS(12680),
    [anon_sym_SEMI] = ACTIONS(8662),
    [anon_sym_STAR_STAR] = ACTIONS(12682),
    [anon_sym_AMP] = ACTIONS(12684),
    [anon_sym_LT] = ACTIONS(12686),
    [anon_sym_AMP_DOT] = ACTIONS(8662),
    [anon_sym_QMARK] = ACTIONS(12688),
    [anon_sym_DOT_DOT] = ACTIONS(12690),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12692),
    [anon_sym_and] = ACTIONS(8662),
    [anon_sym_or] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE] = ACTIONS(12694),
    [anon_sym_AMP_AMP] = ACTIONS(12694),
    [anon_sym_LT_LT] = ACTIONS(12696),
    [anon_sym_GT_GT] = ACTIONS(12696),
    [anon_sym_EQ_EQ] = ACTIONS(12698),
    [anon_sym_BANG_EQ] = ACTIONS(12694),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12694),
    [anon_sym_LT_EQ_GT] = ACTIONS(12694),
    [anon_sym_EQ_TILDE] = ACTIONS(12694),
    [anon_sym_BANG_TILDE] = ACTIONS(12694),
    [anon_sym_LT_EQ] = ACTIONS(12686),
    [anon_sym_GT] = ACTIONS(12686),
    [anon_sym_GT_EQ] = ACTIONS(12700),
    [anon_sym_CARET] = ACTIONS(12702),
    [anon_sym_PLUS] = ACTIONS(12704),
    [anon_sym_SLASH] = ACTIONS(12682),
    [anon_sym_PERCENT] = ACTIONS(12682),
    [sym_comment] = ACTIONS(110),
  },
  [9881] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(12128),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1329),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1330),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2090),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2100),
    [anon_sym_defined_QMARK] = ACTIONS(2102),
    [anon_sym_not] = ACTIONS(2104),
    [anon_sym_BANG] = ACTIONS(2106),
    [anon_sym_TILDE] = ACTIONS(2106),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9882] = {
    [sym__simple_heredoc_body] = ACTIONS(14950),
    [sym__heredoc_body_beginning] = ACTIONS(14950),
    [sym__line_break] = ACTIONS(14950),
    [sym__element_reference_left_bracket] = ACTIONS(14950),
    [sym__scope_double_colon] = ACTIONS(14950),
    [sym__binary_minus] = ACTIONS(14950),
    [sym__binary_star] = ACTIONS(14950),
    [ts_builtin_sym_end] = ACTIONS(14950),
    [anon_sym___END__] = ACTIONS(14950),
    [anon_sym_LBRACE] = ACTIONS(14950),
    [anon_sym_RBRACE] = ACTIONS(14950),
    [anon_sym_RPAREN] = ACTIONS(14950),
    [anon_sym_DOT] = ACTIONS(14952),
    [anon_sym_end] = ACTIONS(14950),
    [anon_sym_COMMA] = ACTIONS(14950),
    [anon_sym_PIPE] = ACTIONS(14952),
    [anon_sym_SEMI] = ACTIONS(14950),
    [anon_sym_STAR_STAR] = ACTIONS(14950),
    [anon_sym_AMP] = ACTIONS(14952),
    [anon_sym_LT] = ACTIONS(14952),
    [anon_sym_if] = ACTIONS(14950),
    [anon_sym_unless] = ACTIONS(14950),
    [anon_sym_while] = ACTIONS(14950),
    [anon_sym_until] = ACTIONS(14950),
    [anon_sym_rescue] = ACTIONS(14950),
    [anon_sym_do] = ACTIONS(14950),
    [anon_sym_when] = ACTIONS(14950),
    [anon_sym_elsif] = ACTIONS(14950),
    [anon_sym_else] = ACTIONS(14950),
    [anon_sym_then] = ACTIONS(14950),
    [anon_sym_ensure] = ACTIONS(14950),
    [anon_sym_EQ_GT] = ACTIONS(14950),
    [anon_sym_AMP_DOT] = ACTIONS(14950),
    [anon_sym_QMARK] = ACTIONS(14950),
    [anon_sym_DOT_DOT] = ACTIONS(14952),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(14950),
    [anon_sym_and] = ACTIONS(14950),
    [anon_sym_or] = ACTIONS(14950),
    [anon_sym_PIPE_PIPE] = ACTIONS(14950),
    [anon_sym_AMP_AMP] = ACTIONS(14950),
    [anon_sym_LT_LT] = ACTIONS(14950),
    [anon_sym_GT_GT] = ACTIONS(14950),
    [anon_sym_EQ_EQ] = ACTIONS(14952),
    [anon_sym_BANG_EQ] = ACTIONS(14950),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(14950),
    [anon_sym_LT_EQ_GT] = ACTIONS(14950),
    [anon_sym_EQ_TILDE] = ACTIONS(14950),
    [anon_sym_BANG_TILDE] = ACTIONS(14950),
    [anon_sym_LT_EQ] = ACTIONS(14952),
    [anon_sym_GT] = ACTIONS(14952),
    [anon_sym_GT_EQ] = ACTIONS(14950),
    [anon_sym_CARET] = ACTIONS(14950),
    [anon_sym_PLUS] = ACTIONS(14950),
    [anon_sym_SLASH] = ACTIONS(14950),
    [anon_sym_PERCENT] = ACTIONS(14950),
    [sym_comment] = ACTIONS(110),
  },
  [9883] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__line_break] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(12440),
    [sym__binary_star] = ACTIONS(12442),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(12444),
    [anon_sym_SEMI] = ACTIONS(5338),
    [anon_sym_STAR_STAR] = ACTIONS(12446),
    [anon_sym_AMP] = ACTIONS(12448),
    [anon_sym_LT] = ACTIONS(12450),
    [anon_sym_QMARK] = ACTIONS(12452),
    [anon_sym_DOT_DOT] = ACTIONS(12454),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12456),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(12460),
    [anon_sym_AMP_AMP] = ACTIONS(12460),
    [anon_sym_LT_LT] = ACTIONS(12462),
    [anon_sym_GT_GT] = ACTIONS(12462),
    [anon_sym_EQ_EQ] = ACTIONS(12464),
    [anon_sym_BANG_EQ] = ACTIONS(12460),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12460),
    [anon_sym_LT_EQ_GT] = ACTIONS(12460),
    [anon_sym_EQ_TILDE] = ACTIONS(12460),
    [anon_sym_BANG_TILDE] = ACTIONS(12460),
    [anon_sym_LT_EQ] = ACTIONS(12450),
    [anon_sym_GT] = ACTIONS(12450),
    [anon_sym_GT_EQ] = ACTIONS(12466),
    [anon_sym_CARET] = ACTIONS(12468),
    [anon_sym_PLUS] = ACTIONS(12470),
    [anon_sym_SLASH] = ACTIONS(12446),
    [anon_sym_PERCENT] = ACTIONS(12446),
    [sym_comment] = ACTIONS(110),
  },
  [9884] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6800),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1328),
    [sym_call] = STATE(1328),
    [sym_method_call] = STATE(61),
    [sym_splat_argument] = STATE(2211),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym__arg_or_splat_arg] = STATE(8497),
    [sym_left_assignment_list] = STATE(6382),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(6383),
    [sym__variable] = STATE(1328),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(9334),
    [sym__unary_minus] = ACTIONS(8848),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2092),
    [anon_sym_yield] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2096),
    [anon_sym_next] = ACTIONS(2098),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(8850),
    [anon_sym_defined_QMARK] = ACTIONS(8852),
    [anon_sym_not] = ACTIONS(8854),
    [anon_sym_BANG] = ACTIONS(8856),
    [anon_sym_TILDE] = ACTIONS(8856),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9885] = {
    [sym__simple_heredoc_body] = ACTIONS(11422),
    [sym__heredoc_body_beginning] = ACTIONS(11422),
    [sym__line_break] = ACTIONS(11422),
    [sym__binary_minus] = ACTIONS(11422),
    [sym__binary_star] = ACTIONS(11422),
    [anon_sym_COMMA] = ACTIONS(14954),
    [anon_sym_PIPE] = ACTIONS(11426),
    [anon_sym_SEMI] = ACTIONS(11422),
    [anon_sym_STAR_STAR] = ACTIONS(11422),
    [anon_sym_AMP] = ACTIONS(11426),
    [anon_sym_LT] = ACTIONS(11426),
    [anon_sym_QMARK] = ACTIONS(11422),
    [anon_sym_DOT_DOT] = ACTIONS(11426),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11422),
    [anon_sym_and] = ACTIONS(11422),
    [anon_sym_or] = ACTIONS(11422),
    [anon_sym_PIPE_PIPE] = ACTIONS(11422),
    [anon_sym_AMP_AMP] = ACTIONS(11422),
    [anon_sym_LT_LT] = ACTIONS(11422),
    [anon_sym_GT_GT] = ACTIONS(11422),
    [anon_sym_EQ_EQ] = ACTIONS(11426),
    [anon_sym_BANG_EQ] = ACTIONS(11422),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11422),
    [anon_sym_LT_EQ_GT] = ACTIONS(11422),
    [anon_sym_EQ_TILDE] = ACTIONS(11422),
    [anon_sym_BANG_TILDE] = ACTIONS(11422),
    [anon_sym_LT_EQ] = ACTIONS(11426),
    [anon_sym_GT] = ACTIONS(11426),
    [anon_sym_GT_EQ] = ACTIONS(11422),
    [anon_sym_CARET] = ACTIONS(11422),
    [anon_sym_PLUS] = ACTIONS(11422),
    [anon_sym_SLASH] = ACTIONS(11422),
    [anon_sym_PERCENT] = ACTIONS(11422),
    [sym_comment] = ACTIONS(110),
  },
  [9886] = {
    [sym__simple_heredoc_body] = ACTIONS(14956),
    [sym__heredoc_body_beginning] = ACTIONS(14956),
    [sym__line_break] = ACTIONS(14956),
    [sym__element_reference_left_bracket] = ACTIONS(14956),
    [sym__scope_double_colon] = ACTIONS(14956),
    [sym__binary_minus] = ACTIONS(14956),
    [sym__binary_star] = ACTIONS(14956),
    [ts_builtin_sym_end] = ACTIONS(14956),
    [anon_sym___END__] = ACTIONS(14956),
    [anon_sym_LBRACE] = ACTIONS(14956),
    [anon_sym_RBRACE] = ACTIONS(14956),
    [anon_sym_RPAREN] = ACTIONS(14956),
    [anon_sym_DOT] = ACTIONS(14958),
    [anon_sym_end] = ACTIONS(14956),
    [anon_sym_COMMA] = ACTIONS(14956),
    [anon_sym_PIPE] = ACTIONS(14958),
    [anon_sym_SEMI] = ACTIONS(14956),
    [anon_sym_STAR_STAR] = ACTIONS(14956),
    [anon_sym_AMP] = ACTIONS(14958),
    [anon_sym_LT] = ACTIONS(14958),
    [anon_sym_if] = ACTIONS(14956),
    [anon_sym_unless] = ACTIONS(14956),
    [anon_sym_while] = ACTIONS(14956),
    [anon_sym_until] = ACTIONS(14956),
    [anon_sym_rescue] = ACTIONS(14956),
    [anon_sym_do] = ACTIONS(14956),
    [anon_sym_when] = ACTIONS(14956),
    [anon_sym_elsif] = ACTIONS(14956),
    [anon_sym_else] = ACTIONS(14956),
    [anon_sym_then] = ACTIONS(14956),
    [anon_sym_ensure] = ACTIONS(14956),
    [anon_sym_EQ_GT] = ACTIONS(14956),
    [anon_sym_AMP_DOT] = ACTIONS(14956),
    [anon_sym_QMARK] = ACTIONS(14956),
    [anon_sym_DOT_DOT] = ACTIONS(14958),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(14956),
    [anon_sym_and] = ACTIONS(14956),
    [anon_sym_or] = ACTIONS(14956),
    [anon_sym_PIPE_PIPE] = ACTIONS(14956),
    [anon_sym_AMP_AMP] = ACTIONS(14956),
    [anon_sym_LT_LT] = ACTIONS(14956),
    [anon_sym_GT_GT] = ACTIONS(14956),
    [anon_sym_EQ_EQ] = ACTIONS(14958),
    [anon_sym_BANG_EQ] = ACTIONS(14956),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(14956),
    [anon_sym_LT_EQ_GT] = ACTIONS(14956),
    [anon_sym_EQ_TILDE] = ACTIONS(14956),
    [anon_sym_BANG_TILDE] = ACTIONS(14956),
    [anon_sym_LT_EQ] = ACTIONS(14958),
    [anon_sym_GT] = ACTIONS(14958),
    [anon_sym_GT_EQ] = ACTIONS(14956),
    [anon_sym_CARET] = ACTIONS(14956),
    [anon_sym_PLUS] = ACTIONS(14956),
    [anon_sym_SLASH] = ACTIONS(14956),
    [anon_sym_PERCENT] = ACTIONS(14956),
    [sym_comment] = ACTIONS(110),
  },
  [9887] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(9352),
    [sym__binary_star] = ACTIONS(9354),
    [anon_sym_LBRACE] = ACTIONS(5298),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(9356),
    [anon_sym_STAR_STAR] = ACTIONS(9358),
    [anon_sym_AMP] = ACTIONS(9360),
    [anon_sym_LT] = ACTIONS(9362),
    [anon_sym_do] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(9364),
    [anon_sym_DOT_DOT] = ACTIONS(9366),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9368),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(9372),
    [anon_sym_AMP_AMP] = ACTIONS(9372),
    [anon_sym_LT_LT] = ACTIONS(9374),
    [anon_sym_GT_GT] = ACTIONS(9374),
    [anon_sym_EQ_EQ] = ACTIONS(9376),
    [anon_sym_BANG_EQ] = ACTIONS(9372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9372),
    [anon_sym_LT_EQ_GT] = ACTIONS(9372),
    [anon_sym_EQ_TILDE] = ACTIONS(9372),
    [anon_sym_BANG_TILDE] = ACTIONS(9372),
    [anon_sym_LT_EQ] = ACTIONS(9362),
    [anon_sym_GT] = ACTIONS(9362),
    [anon_sym_GT_EQ] = ACTIONS(9378),
    [anon_sym_CARET] = ACTIONS(9380),
    [anon_sym_PLUS] = ACTIONS(9382),
    [anon_sym_SLASH] = ACTIONS(9358),
    [anon_sym_PERCENT] = ACTIONS(9358),
    [sym_comment] = ACTIONS(110),
  },
  [9888] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(9352),
    [sym__binary_star] = ACTIONS(9354),
    [anon_sym_LBRACE] = ACTIONS(5338),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(9356),
    [anon_sym_STAR_STAR] = ACTIONS(9358),
    [anon_sym_AMP] = ACTIONS(9360),
    [anon_sym_LT] = ACTIONS(9362),
    [anon_sym_do] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(9364),
    [anon_sym_DOT_DOT] = ACTIONS(9366),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9368),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(9372),
    [anon_sym_AMP_AMP] = ACTIONS(9372),
    [anon_sym_LT_LT] = ACTIONS(9374),
    [anon_sym_GT_GT] = ACTIONS(9374),
    [anon_sym_EQ_EQ] = ACTIONS(9376),
    [anon_sym_BANG_EQ] = ACTIONS(9372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9372),
    [anon_sym_LT_EQ_GT] = ACTIONS(9372),
    [anon_sym_EQ_TILDE] = ACTIONS(9372),
    [anon_sym_BANG_TILDE] = ACTIONS(9372),
    [anon_sym_LT_EQ] = ACTIONS(9362),
    [anon_sym_GT] = ACTIONS(9362),
    [anon_sym_GT_EQ] = ACTIONS(9378),
    [anon_sym_CARET] = ACTIONS(9380),
    [anon_sym_PLUS] = ACTIONS(9382),
    [anon_sym_SLASH] = ACTIONS(9358),
    [anon_sym_PERCENT] = ACTIONS(9358),
    [sym_comment] = ACTIONS(110),
  },
  [9889] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(9352),
    [sym__binary_star] = ACTIONS(9354),
    [anon_sym_LBRACE] = ACTIONS(4284),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(9356),
    [anon_sym_STAR_STAR] = ACTIONS(9358),
    [anon_sym_AMP] = ACTIONS(9360),
    [anon_sym_LT] = ACTIONS(9362),
    [anon_sym_do] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(9364),
    [anon_sym_DOT_DOT] = ACTIONS(9366),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9368),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(9372),
    [anon_sym_AMP_AMP] = ACTIONS(9372),
    [anon_sym_LT_LT] = ACTIONS(9374),
    [anon_sym_GT_GT] = ACTIONS(9374),
    [anon_sym_EQ_EQ] = ACTIONS(9376),
    [anon_sym_BANG_EQ] = ACTIONS(9372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9372),
    [anon_sym_LT_EQ_GT] = ACTIONS(9372),
    [anon_sym_EQ_TILDE] = ACTIONS(9372),
    [anon_sym_BANG_TILDE] = ACTIONS(9372),
    [anon_sym_LT_EQ] = ACTIONS(9362),
    [anon_sym_GT] = ACTIONS(9362),
    [anon_sym_GT_EQ] = ACTIONS(9378),
    [anon_sym_CARET] = ACTIONS(9380),
    [anon_sym_PLUS] = ACTIONS(9382),
    [anon_sym_SLASH] = ACTIONS(9358),
    [anon_sym_PERCENT] = ACTIONS(9358),
    [sym_comment] = ACTIONS(110),
  },
  [9890] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(12130),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3612),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3613),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5210),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5212),
    [anon_sym_yield] = ACTIONS(5214),
    [anon_sym_break] = ACTIONS(5216),
    [anon_sym_next] = ACTIONS(5218),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5220),
    [anon_sym_defined_QMARK] = ACTIONS(5222),
    [anon_sym_not] = ACTIONS(5224),
    [anon_sym_BANG] = ACTIONS(5226),
    [anon_sym_TILDE] = ACTIONS(5226),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9891] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6810),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(6127),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(6812),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(6813),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(12131),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(9346),
    [sym__splat_star] = ACTIONS(9348),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(14960),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(9350),
    [sym_identifier] = ACTIONS(9350),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9892] = {
    [sym_heredoc_end] = STATE(3004),
    [aux_sym_argument_list_repeat2] = STATE(6130),
    [sym__simple_heredoc_body] = ACTIONS(4410),
    [sym__heredoc_body_beginning] = ACTIONS(4412),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_LBRACE] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_COMMA] = ACTIONS(14962),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_STAR_STAR] = ACTIONS(5472),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_do] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5472),
    [anon_sym_AMP_AMP] = ACTIONS(5472),
    [anon_sym_LT_LT] = ACTIONS(5472),
    [anon_sym_GT_GT] = ACTIONS(5472),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5472),
    [anon_sym_PLUS] = ACTIONS(5472),
    [anon_sym_SLASH] = ACTIONS(5472),
    [anon_sym_PERCENT] = ACTIONS(5472),
    [sym_comment] = ACTIONS(110),
  },
  [9893] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(12133),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3518),
    [sym_call] = STATE(3518),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3612),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3613),
    [sym__variable] = STATE(3518),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5210),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5212),
    [anon_sym_yield] = ACTIONS(5214),
    [anon_sym_break] = ACTIONS(5216),
    [anon_sym_next] = ACTIONS(5218),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5220),
    [anon_sym_defined_QMARK] = ACTIONS(5222),
    [anon_sym_not] = ACTIONS(5224),
    [anon_sym_BANG] = ACTIONS(5226),
    [anon_sym_TILDE] = ACTIONS(5226),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9894] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__element_reference_left_bracket] = ACTIONS(7008),
    [sym__scope_double_colon] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(9354),
    [anon_sym_LBRACE] = ACTIONS(7008),
    [anon_sym_DOT] = ACTIONS(7010),
    [anon_sym_COMMA] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_STAR_STAR] = ACTIONS(9358),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_do] = ACTIONS(7008),
    [anon_sym_AMP_DOT] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7008),
    [anon_sym_AMP_AMP] = ACTIONS(7008),
    [anon_sym_LT_LT] = ACTIONS(7008),
    [anon_sym_GT_GT] = ACTIONS(7008),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7008),
    [anon_sym_PLUS] = ACTIONS(7008),
    [anon_sym_SLASH] = ACTIONS(9358),
    [anon_sym_PERCENT] = ACTIONS(9358),
    [sym_comment] = ACTIONS(110),
  },
  [9895] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__element_reference_left_bracket] = ACTIONS(7012),
    [sym__scope_double_colon] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_LBRACE] = ACTIONS(7012),
    [anon_sym_DOT] = ACTIONS(7014),
    [anon_sym_COMMA] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_STAR_STAR] = ACTIONS(9358),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_do] = ACTIONS(7012),
    [anon_sym_AMP_DOT] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7012),
    [anon_sym_AMP_AMP] = ACTIONS(7012),
    [anon_sym_LT_LT] = ACTIONS(7012),
    [anon_sym_GT_GT] = ACTIONS(7012),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7012),
    [anon_sym_PLUS] = ACTIONS(7012),
    [anon_sym_SLASH] = ACTIONS(7012),
    [anon_sym_PERCENT] = ACTIONS(7012),
    [sym_comment] = ACTIONS(110),
  },
  [9896] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(9352),
    [sym__binary_star] = ACTIONS(9354),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(9358),
    [anon_sym_AMP] = ACTIONS(9360),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(9374),
    [anon_sym_GT_GT] = ACTIONS(9374),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(9382),
    [anon_sym_SLASH] = ACTIONS(9358),
    [anon_sym_PERCENT] = ACTIONS(9358),
    [sym_comment] = ACTIONS(110),
  },
  [9897] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(9358),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7016),
    [anon_sym_PERCENT] = ACTIONS(7016),
    [sym_comment] = ACTIONS(110),
  },
  [9898] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(9352),
    [sym__binary_star] = ACTIONS(9354),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(9358),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(9374),
    [anon_sym_GT_GT] = ACTIONS(9374),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(9382),
    [anon_sym_SLASH] = ACTIONS(9358),
    [anon_sym_PERCENT] = ACTIONS(9358),
    [sym_comment] = ACTIONS(110),
  },
  [9899] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(9352),
    [sym__binary_star] = ACTIONS(9354),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(9356),
    [anon_sym_STAR_STAR] = ACTIONS(9358),
    [anon_sym_AMP] = ACTIONS(9360),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(9374),
    [anon_sym_GT_GT] = ACTIONS(9374),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(9380),
    [anon_sym_PLUS] = ACTIONS(9382),
    [anon_sym_SLASH] = ACTIONS(9358),
    [anon_sym_PERCENT] = ACTIONS(9358),
    [sym_comment] = ACTIONS(110),
  },
  [9900] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(14964),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [9901] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__element_reference_left_bracket] = ACTIONS(7108),
    [sym__scope_double_colon] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(9352),
    [sym__binary_star] = ACTIONS(9354),
    [anon_sym_LBRACE] = ACTIONS(7108),
    [anon_sym_DOT] = ACTIONS(9472),
    [anon_sym_COMMA] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(9356),
    [anon_sym_STAR_STAR] = ACTIONS(9358),
    [anon_sym_AMP] = ACTIONS(9360),
    [anon_sym_LT] = ACTIONS(9362),
    [anon_sym_do] = ACTIONS(7108),
    [anon_sym_AMP_DOT] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(9366),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9368),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(9372),
    [anon_sym_AMP_AMP] = ACTIONS(9372),
    [anon_sym_LT_LT] = ACTIONS(9374),
    [anon_sym_GT_GT] = ACTIONS(9374),
    [anon_sym_EQ_EQ] = ACTIONS(9376),
    [anon_sym_BANG_EQ] = ACTIONS(9372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9372),
    [anon_sym_LT_EQ_GT] = ACTIONS(9372),
    [anon_sym_EQ_TILDE] = ACTIONS(9372),
    [anon_sym_BANG_TILDE] = ACTIONS(9372),
    [anon_sym_LT_EQ] = ACTIONS(9362),
    [anon_sym_GT] = ACTIONS(9362),
    [anon_sym_GT_EQ] = ACTIONS(9378),
    [anon_sym_CARET] = ACTIONS(9380),
    [anon_sym_PLUS] = ACTIONS(9382),
    [anon_sym_SLASH] = ACTIONS(9358),
    [anon_sym_PERCENT] = ACTIONS(9358),
    [sym_comment] = ACTIONS(110),
  },
  [9902] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(9352),
    [sym__binary_star] = ACTIONS(9354),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(9356),
    [anon_sym_STAR_STAR] = ACTIONS(9358),
    [anon_sym_AMP] = ACTIONS(9360),
    [anon_sym_LT] = ACTIONS(9362),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(9364),
    [anon_sym_DOT_DOT] = ACTIONS(9366),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9368),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(9372),
    [anon_sym_AMP_AMP] = ACTIONS(9372),
    [anon_sym_LT_LT] = ACTIONS(9374),
    [anon_sym_GT_GT] = ACTIONS(9374),
    [anon_sym_EQ_EQ] = ACTIONS(9376),
    [anon_sym_BANG_EQ] = ACTIONS(9372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9372),
    [anon_sym_LT_EQ_GT] = ACTIONS(9372),
    [anon_sym_EQ_TILDE] = ACTIONS(9372),
    [anon_sym_BANG_TILDE] = ACTIONS(9372),
    [anon_sym_LT_EQ] = ACTIONS(9362),
    [anon_sym_GT] = ACTIONS(9362),
    [anon_sym_GT_EQ] = ACTIONS(9378),
    [anon_sym_CARET] = ACTIONS(9380),
    [anon_sym_PLUS] = ACTIONS(9382),
    [anon_sym_SLASH] = ACTIONS(9358),
    [anon_sym_PERCENT] = ACTIONS(9358),
    [sym_comment] = ACTIONS(110),
  },
  [9903] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(9352),
    [sym__binary_star] = ACTIONS(9354),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(9356),
    [anon_sym_STAR_STAR] = ACTIONS(9358),
    [anon_sym_AMP] = ACTIONS(9360),
    [anon_sym_LT] = ACTIONS(9362),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(9374),
    [anon_sym_GT_GT] = ACTIONS(9374),
    [anon_sym_EQ_EQ] = ACTIONS(9376),
    [anon_sym_BANG_EQ] = ACTIONS(9372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9372),
    [anon_sym_LT_EQ_GT] = ACTIONS(9372),
    [anon_sym_EQ_TILDE] = ACTIONS(9372),
    [anon_sym_BANG_TILDE] = ACTIONS(9372),
    [anon_sym_LT_EQ] = ACTIONS(9362),
    [anon_sym_GT] = ACTIONS(9362),
    [anon_sym_GT_EQ] = ACTIONS(9378),
    [anon_sym_CARET] = ACTIONS(9380),
    [anon_sym_PLUS] = ACTIONS(9382),
    [anon_sym_SLASH] = ACTIONS(9358),
    [anon_sym_PERCENT] = ACTIONS(9358),
    [sym_comment] = ACTIONS(110),
  },
  [9904] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(9352),
    [sym__binary_star] = ACTIONS(9354),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(9358),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(9382),
    [anon_sym_SLASH] = ACTIONS(9358),
    [anon_sym_PERCENT] = ACTIONS(9358),
    [sym_comment] = ACTIONS(110),
  },
  [9905] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(9354),
    [anon_sym_LBRACE] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(9358),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_do] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(9358),
    [anon_sym_PERCENT] = ACTIONS(9358),
    [sym_comment] = ACTIONS(110),
  },
  [9906] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__element_reference_left_bracket] = ACTIONS(6346),
    [sym__scope_double_colon] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(9352),
    [sym__binary_star] = ACTIONS(9354),
    [anon_sym_LBRACE] = ACTIONS(6346),
    [anon_sym_DOT] = ACTIONS(7328),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(9356),
    [anon_sym_STAR_STAR] = ACTIONS(9358),
    [anon_sym_AMP] = ACTIONS(9360),
    [anon_sym_LT] = ACTIONS(9362),
    [anon_sym_do] = ACTIONS(6346),
    [anon_sym_AMP_DOT] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(9364),
    [anon_sym_DOT_DOT] = ACTIONS(9366),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9368),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(9372),
    [anon_sym_AMP_AMP] = ACTIONS(9372),
    [anon_sym_LT_LT] = ACTIONS(9374),
    [anon_sym_GT_GT] = ACTIONS(9374),
    [anon_sym_EQ_EQ] = ACTIONS(9376),
    [anon_sym_BANG_EQ] = ACTIONS(9372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9372),
    [anon_sym_LT_EQ_GT] = ACTIONS(9372),
    [anon_sym_EQ_TILDE] = ACTIONS(9372),
    [anon_sym_BANG_TILDE] = ACTIONS(9372),
    [anon_sym_LT_EQ] = ACTIONS(9362),
    [anon_sym_GT] = ACTIONS(9362),
    [anon_sym_GT_EQ] = ACTIONS(9378),
    [anon_sym_CARET] = ACTIONS(9380),
    [anon_sym_PLUS] = ACTIONS(9382),
    [anon_sym_SLASH] = ACTIONS(9358),
    [anon_sym_PERCENT] = ACTIONS(9358),
    [sym_comment] = ACTIONS(110),
  },
  [9907] = {
    [aux_sym_exceptions_repeat1] = STATE(12136),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__element_reference_left_bracket] = ACTIONS(7330),
    [sym__scope_double_colon] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_LBRACE] = ACTIONS(7330),
    [anon_sym_DOT] = ACTIONS(7332),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_do] = ACTIONS(7330),
    [anon_sym_AMP_DOT] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [9908] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__element_reference_left_bracket] = ACTIONS(7344),
    [sym__scope_double_colon] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(9352),
    [sym__binary_star] = ACTIONS(9354),
    [anon_sym_LBRACE] = ACTIONS(7344),
    [anon_sym_DOT] = ACTIONS(9504),
    [anon_sym_COMMA] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(9356),
    [anon_sym_STAR_STAR] = ACTIONS(9358),
    [anon_sym_AMP] = ACTIONS(9360),
    [anon_sym_LT] = ACTIONS(9362),
    [anon_sym_do] = ACTIONS(7344),
    [anon_sym_AMP_DOT] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(9364),
    [anon_sym_DOT_DOT] = ACTIONS(9366),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9368),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(9372),
    [anon_sym_AMP_AMP] = ACTIONS(9372),
    [anon_sym_LT_LT] = ACTIONS(9374),
    [anon_sym_GT_GT] = ACTIONS(9374),
    [anon_sym_EQ_EQ] = ACTIONS(9376),
    [anon_sym_BANG_EQ] = ACTIONS(9372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9372),
    [anon_sym_LT_EQ_GT] = ACTIONS(9372),
    [anon_sym_EQ_TILDE] = ACTIONS(9372),
    [anon_sym_BANG_TILDE] = ACTIONS(9372),
    [anon_sym_LT_EQ] = ACTIONS(9362),
    [anon_sym_GT] = ACTIONS(9362),
    [anon_sym_GT_EQ] = ACTIONS(9378),
    [anon_sym_CARET] = ACTIONS(9380),
    [anon_sym_PLUS] = ACTIONS(9382),
    [anon_sym_SLASH] = ACTIONS(9358),
    [anon_sym_PERCENT] = ACTIONS(9358),
    [sym_comment] = ACTIONS(110),
  },
  [9909] = {
    [sym__simple_heredoc_body] = ACTIONS(8568),
    [sym__heredoc_body_beginning] = ACTIONS(8568),
    [sym__element_reference_left_bracket] = ACTIONS(8568),
    [sym__scope_double_colon] = ACTIONS(8568),
    [sym__binary_minus] = ACTIONS(5248),
    [sym__binary_star] = ACTIONS(5250),
    [anon_sym_LBRACE] = ACTIONS(8568),
    [anon_sym_DOT] = ACTIONS(9468),
    [anon_sym_COMMA] = ACTIONS(8568),
    [anon_sym_PIPE] = ACTIONS(5252),
    [anon_sym_STAR_STAR] = ACTIONS(5254),
    [anon_sym_AMP] = ACTIONS(5256),
    [anon_sym_LT] = ACTIONS(5258),
    [anon_sym_do] = ACTIONS(8568),
    [anon_sym_EQ_GT] = ACTIONS(8568),
    [anon_sym_AMP_DOT] = ACTIONS(8568),
    [anon_sym_QMARK] = ACTIONS(5260),
    [anon_sym_DOT_DOT] = ACTIONS(5262),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5264),
    [anon_sym_and] = ACTIONS(8568),
    [anon_sym_or] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE] = ACTIONS(5268),
    [anon_sym_AMP_AMP] = ACTIONS(5268),
    [anon_sym_LT_LT] = ACTIONS(5270),
    [anon_sym_GT_GT] = ACTIONS(5270),
    [anon_sym_EQ_EQ] = ACTIONS(5272),
    [anon_sym_BANG_EQ] = ACTIONS(5268),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5268),
    [anon_sym_LT_EQ_GT] = ACTIONS(5268),
    [anon_sym_EQ_TILDE] = ACTIONS(5268),
    [anon_sym_BANG_TILDE] = ACTIONS(5268),
    [anon_sym_LT_EQ] = ACTIONS(5258),
    [anon_sym_GT] = ACTIONS(5258),
    [anon_sym_GT_EQ] = ACTIONS(5274),
    [anon_sym_CARET] = ACTIONS(5276),
    [anon_sym_PLUS] = ACTIONS(5278),
    [anon_sym_SLASH] = ACTIONS(5254),
    [anon_sym_PERCENT] = ACTIONS(5254),
    [sym_comment] = ACTIONS(110),
  },
  [9910] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3625),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(9349),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(3627),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(3628),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(5238),
    [sym__splat_star] = ACTIONS(5240),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(12744),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(5244),
    [sym_identifier] = ACTIONS(5244),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9911] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3625),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(9349),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(3627),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(3628),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(12137),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(5238),
    [sym__splat_star] = ACTIONS(5240),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(12744),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(5244),
    [sym_identifier] = ACTIONS(5244),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9912] = {
    [sym__simple_heredoc_body] = ACTIONS(8662),
    [sym__heredoc_body_beginning] = ACTIONS(8662),
    [sym__element_reference_left_bracket] = ACTIONS(8662),
    [sym__scope_double_colon] = ACTIONS(8662),
    [sym__binary_minus] = ACTIONS(5248),
    [sym__binary_star] = ACTIONS(5250),
    [anon_sym_LBRACE] = ACTIONS(8662),
    [anon_sym_DOT] = ACTIONS(9506),
    [anon_sym_COMMA] = ACTIONS(8662),
    [anon_sym_PIPE] = ACTIONS(5252),
    [anon_sym_STAR_STAR] = ACTIONS(5254),
    [anon_sym_AMP] = ACTIONS(5256),
    [anon_sym_LT] = ACTIONS(5258),
    [anon_sym_do] = ACTIONS(8662),
    [anon_sym_EQ_GT] = ACTIONS(8662),
    [anon_sym_AMP_DOT] = ACTIONS(8662),
    [anon_sym_QMARK] = ACTIONS(5260),
    [anon_sym_DOT_DOT] = ACTIONS(5262),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5264),
    [anon_sym_and] = ACTIONS(8662),
    [anon_sym_or] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE] = ACTIONS(5268),
    [anon_sym_AMP_AMP] = ACTIONS(5268),
    [anon_sym_LT_LT] = ACTIONS(5270),
    [anon_sym_GT_GT] = ACTIONS(5270),
    [anon_sym_EQ_EQ] = ACTIONS(5272),
    [anon_sym_BANG_EQ] = ACTIONS(5268),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5268),
    [anon_sym_LT_EQ_GT] = ACTIONS(5268),
    [anon_sym_EQ_TILDE] = ACTIONS(5268),
    [anon_sym_BANG_TILDE] = ACTIONS(5268),
    [anon_sym_LT_EQ] = ACTIONS(5258),
    [anon_sym_GT] = ACTIONS(5258),
    [anon_sym_GT_EQ] = ACTIONS(5274),
    [anon_sym_CARET] = ACTIONS(5276),
    [anon_sym_PLUS] = ACTIONS(5278),
    [anon_sym_SLASH] = ACTIONS(5254),
    [anon_sym_PERCENT] = ACTIONS(5254),
    [sym_comment] = ACTIONS(110),
  },
  [9913] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(12138),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5228),
    [anon_sym_yield] = ACTIONS(5230),
    [anon_sym_break] = ACTIONS(5232),
    [anon_sym_next] = ACTIONS(5234),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(5236),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9914] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(1349),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(12043),
    [sym_splat_argument] = STATE(1266),
    [sym_hash_splat_argument] = STATE(1266),
    [sym_block_argument] = STATE(1266),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_reserved_identifier] = STATE(1353),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(1354),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1266),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(2114),
    [sym__splat_star] = ACTIONS(2116),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(2120),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2122),
    [anon_sym_yield] = ACTIONS(2124),
    [anon_sym_break] = ACTIONS(2126),
    [anon_sym_next] = ACTIONS(2128),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(2134),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2138),
    [sym_identifier] = ACTIONS(2138),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9915] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6852),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1098),
    [sym_call] = STATE(1098),
    [sym_method_call] = STATE(503),
    [sym_splat_argument] = STATE(6132),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym__arg_or_splat_arg] = STATE(11842),
    [sym_left_assignment_list] = STATE(1351),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1352),
    [sym__variable] = STATE(1098),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__splat_star] = ACTIONS(5240),
    [sym__unary_minus] = ACTIONS(2118),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5228),
    [anon_sym_yield] = ACTIONS(5230),
    [anon_sym_break] = ACTIONS(5232),
    [anon_sym_next] = ACTIONS(5234),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2130),
    [anon_sym_defined_QMARK] = ACTIONS(2132),
    [anon_sym_not] = ACTIONS(5236),
    [anon_sym_BANG] = ACTIONS(2136),
    [anon_sym_TILDE] = ACTIONS(2136),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9916] = {
    [sym__simple_heredoc_body] = ACTIONS(11422),
    [sym__heredoc_body_beginning] = ACTIONS(11422),
    [sym__element_reference_left_bracket] = ACTIONS(11422),
    [sym__scope_double_colon] = ACTIONS(11422),
    [sym__binary_minus] = ACTIONS(11422),
    [sym__binary_star] = ACTIONS(11422),
    [anon_sym_LBRACE] = ACTIONS(11422),
    [anon_sym_DOT] = ACTIONS(11426),
    [anon_sym_COMMA] = ACTIONS(14966),
    [anon_sym_PIPE] = ACTIONS(11426),
    [anon_sym_STAR_STAR] = ACTIONS(11422),
    [anon_sym_AMP] = ACTIONS(11426),
    [anon_sym_LT] = ACTIONS(11426),
    [anon_sym_do] = ACTIONS(11422),
    [anon_sym_EQ_GT] = ACTIONS(11422),
    [anon_sym_AMP_DOT] = ACTIONS(11422),
    [anon_sym_QMARK] = ACTIONS(11422),
    [anon_sym_DOT_DOT] = ACTIONS(11426),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11422),
    [anon_sym_and] = ACTIONS(11422),
    [anon_sym_or] = ACTIONS(11422),
    [anon_sym_PIPE_PIPE] = ACTIONS(11422),
    [anon_sym_AMP_AMP] = ACTIONS(11422),
    [anon_sym_LT_LT] = ACTIONS(11422),
    [anon_sym_GT_GT] = ACTIONS(11422),
    [anon_sym_EQ_EQ] = ACTIONS(11426),
    [anon_sym_BANG_EQ] = ACTIONS(11422),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11422),
    [anon_sym_LT_EQ_GT] = ACTIONS(11422),
    [anon_sym_EQ_TILDE] = ACTIONS(11422),
    [anon_sym_BANG_TILDE] = ACTIONS(11422),
    [anon_sym_LT_EQ] = ACTIONS(11426),
    [anon_sym_GT] = ACTIONS(11426),
    [anon_sym_GT_EQ] = ACTIONS(11422),
    [anon_sym_CARET] = ACTIONS(11422),
    [anon_sym_PLUS] = ACTIONS(11422),
    [anon_sym_SLASH] = ACTIONS(11422),
    [anon_sym_PERCENT] = ACTIONS(11422),
    [sym_comment] = ACTIONS(110),
  },
  [9917] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(12140),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1365),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1366),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2144),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2146),
    [anon_sym_defined_QMARK] = ACTIONS(2148),
    [anon_sym_not] = ACTIONS(2150),
    [anon_sym_BANG] = ACTIONS(2152),
    [anon_sym_TILDE] = ACTIONS(2152),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9918] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(6870),
    [sym__primary] = STATE(60),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(62),
    [sym_call] = STATE(62),
    [sym_method_call] = STATE(61),
    [sym_splat_argument] = STATE(3785),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym__arg_or_splat_arg] = STATE(9966),
    [sym_left_assignment_list] = STATE(1365),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1366),
    [sym__variable] = STATE(62),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(41),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(41),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(538),
    [sym__unary_minus] = ACTIONS(2144),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(48),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(58),
    [anon_sym_yield] = ACTIONS(60),
    [anon_sym_break] = ACTIONS(62),
    [anon_sym_next] = ACTIONS(64),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2146),
    [anon_sym_defined_QMARK] = ACTIONS(2148),
    [anon_sym_not] = ACTIONS(2150),
    [anon_sym_BANG] = ACTIONS(2152),
    [anon_sym_TILDE] = ACTIONS(2152),
    [sym_constant] = ACTIONS(92),
    [sym_identifier] = ACTIONS(92),
    [sym_instance_variable] = ACTIONS(94),
    [sym_class_variable] = ACTIONS(94),
    [sym_global_variable] = ACTIONS(94),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(102),
    [anon_sym_super] = ACTIONS(104),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9919] = {
    [sym__simple_heredoc_body] = ACTIONS(11422),
    [sym__heredoc_body_beginning] = ACTIONS(11422),
    [sym__line_break] = ACTIONS(11422),
    [sym__element_reference_left_bracket] = ACTIONS(11422),
    [sym__scope_double_colon] = ACTIONS(11422),
    [sym__binary_minus] = ACTIONS(11422),
    [sym__binary_star] = ACTIONS(11422),
    [ts_builtin_sym_end] = ACTIONS(11422),
    [anon_sym___END__] = ACTIONS(11422),
    [anon_sym_DOT] = ACTIONS(11426),
    [anon_sym_COMMA] = ACTIONS(14968),
    [anon_sym_PIPE] = ACTIONS(11426),
    [anon_sym_SEMI] = ACTIONS(11422),
    [anon_sym_STAR_STAR] = ACTIONS(11422),
    [anon_sym_AMP] = ACTIONS(11426),
    [anon_sym_LT] = ACTIONS(11426),
    [anon_sym_if] = ACTIONS(11422),
    [anon_sym_unless] = ACTIONS(11422),
    [anon_sym_while] = ACTIONS(11422),
    [anon_sym_until] = ACTIONS(11422),
    [anon_sym_rescue] = ACTIONS(11422),
    [anon_sym_AMP_DOT] = ACTIONS(11422),
    [anon_sym_QMARK] = ACTIONS(11422),
    [anon_sym_DOT_DOT] = ACTIONS(11426),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11422),
    [anon_sym_and] = ACTIONS(11422),
    [anon_sym_or] = ACTIONS(11422),
    [anon_sym_PIPE_PIPE] = ACTIONS(11422),
    [anon_sym_AMP_AMP] = ACTIONS(11422),
    [anon_sym_LT_LT] = ACTIONS(11422),
    [anon_sym_GT_GT] = ACTIONS(11422),
    [anon_sym_EQ_EQ] = ACTIONS(11426),
    [anon_sym_BANG_EQ] = ACTIONS(11422),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11422),
    [anon_sym_LT_EQ_GT] = ACTIONS(11422),
    [anon_sym_EQ_TILDE] = ACTIONS(11422),
    [anon_sym_BANG_TILDE] = ACTIONS(11422),
    [anon_sym_LT_EQ] = ACTIONS(11426),
    [anon_sym_GT] = ACTIONS(11426),
    [anon_sym_GT_EQ] = ACTIONS(11422),
    [anon_sym_CARET] = ACTIONS(11422),
    [anon_sym_PLUS] = ACTIONS(11422),
    [anon_sym_SLASH] = ACTIONS(11422),
    [anon_sym_PERCENT] = ACTIONS(11422),
    [sym_comment] = ACTIONS(110),
  },
  [9920] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(9408),
    [anon_sym_RPAREN] = ACTIONS(7008),
    [anon_sym_COMMA] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_STAR_STAR] = ACTIONS(9412),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7008),
    [anon_sym_AMP_AMP] = ACTIONS(7008),
    [anon_sym_LT_LT] = ACTIONS(7008),
    [anon_sym_GT_GT] = ACTIONS(7008),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7008),
    [anon_sym_PLUS] = ACTIONS(7008),
    [anon_sym_SLASH] = ACTIONS(9412),
    [anon_sym_PERCENT] = ACTIONS(9412),
    [sym_comment] = ACTIONS(110),
  },
  [9921] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_RPAREN] = ACTIONS(7012),
    [anon_sym_COMMA] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_STAR_STAR] = ACTIONS(9412),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7012),
    [anon_sym_AMP_AMP] = ACTIONS(7012),
    [anon_sym_LT_LT] = ACTIONS(7012),
    [anon_sym_GT_GT] = ACTIONS(7012),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7012),
    [anon_sym_PLUS] = ACTIONS(7012),
    [anon_sym_SLASH] = ACTIONS(7012),
    [anon_sym_PERCENT] = ACTIONS(7012),
    [sym_comment] = ACTIONS(110),
  },
  [9922] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(9406),
    [sym__binary_star] = ACTIONS(9408),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(9412),
    [anon_sym_AMP] = ACTIONS(9414),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(9428),
    [anon_sym_GT_GT] = ACTIONS(9428),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(9436),
    [anon_sym_SLASH] = ACTIONS(9412),
    [anon_sym_PERCENT] = ACTIONS(9412),
    [sym_comment] = ACTIONS(110),
  },
  [9923] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(9412),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7016),
    [anon_sym_PERCENT] = ACTIONS(7016),
    [sym_comment] = ACTIONS(110),
  },
  [9924] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(9406),
    [sym__binary_star] = ACTIONS(9408),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(9412),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(9428),
    [anon_sym_GT_GT] = ACTIONS(9428),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(9436),
    [anon_sym_SLASH] = ACTIONS(9412),
    [anon_sym_PERCENT] = ACTIONS(9412),
    [sym_comment] = ACTIONS(110),
  },
  [9925] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(9406),
    [sym__binary_star] = ACTIONS(9408),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(9410),
    [anon_sym_STAR_STAR] = ACTIONS(9412),
    [anon_sym_AMP] = ACTIONS(9414),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(9428),
    [anon_sym_GT_GT] = ACTIONS(9428),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(9434),
    [anon_sym_PLUS] = ACTIONS(9436),
    [anon_sym_SLASH] = ACTIONS(9412),
    [anon_sym_PERCENT] = ACTIONS(9412),
    [sym_comment] = ACTIONS(110),
  },
  [9926] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(14970),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [9927] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(9406),
    [sym__binary_star] = ACTIONS(9408),
    [anon_sym_RPAREN] = ACTIONS(7108),
    [anon_sym_COMMA] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(9410),
    [anon_sym_STAR_STAR] = ACTIONS(9412),
    [anon_sym_AMP] = ACTIONS(9414),
    [anon_sym_LT] = ACTIONS(9416),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(9420),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9422),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(9426),
    [anon_sym_AMP_AMP] = ACTIONS(9426),
    [anon_sym_LT_LT] = ACTIONS(9428),
    [anon_sym_GT_GT] = ACTIONS(9428),
    [anon_sym_EQ_EQ] = ACTIONS(9430),
    [anon_sym_BANG_EQ] = ACTIONS(9426),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9426),
    [anon_sym_LT_EQ_GT] = ACTIONS(9426),
    [anon_sym_EQ_TILDE] = ACTIONS(9426),
    [anon_sym_BANG_TILDE] = ACTIONS(9426),
    [anon_sym_LT_EQ] = ACTIONS(9416),
    [anon_sym_GT] = ACTIONS(9416),
    [anon_sym_GT_EQ] = ACTIONS(9432),
    [anon_sym_CARET] = ACTIONS(9434),
    [anon_sym_PLUS] = ACTIONS(9436),
    [anon_sym_SLASH] = ACTIONS(9412),
    [anon_sym_PERCENT] = ACTIONS(9412),
    [sym_comment] = ACTIONS(110),
  },
  [9928] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(9406),
    [sym__binary_star] = ACTIONS(9408),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(9410),
    [anon_sym_STAR_STAR] = ACTIONS(9412),
    [anon_sym_AMP] = ACTIONS(9414),
    [anon_sym_LT] = ACTIONS(9416),
    [anon_sym_QMARK] = ACTIONS(9418),
    [anon_sym_DOT_DOT] = ACTIONS(9420),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9422),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(9426),
    [anon_sym_AMP_AMP] = ACTIONS(9426),
    [anon_sym_LT_LT] = ACTIONS(9428),
    [anon_sym_GT_GT] = ACTIONS(9428),
    [anon_sym_EQ_EQ] = ACTIONS(9430),
    [anon_sym_BANG_EQ] = ACTIONS(9426),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9426),
    [anon_sym_LT_EQ_GT] = ACTIONS(9426),
    [anon_sym_EQ_TILDE] = ACTIONS(9426),
    [anon_sym_BANG_TILDE] = ACTIONS(9426),
    [anon_sym_LT_EQ] = ACTIONS(9416),
    [anon_sym_GT] = ACTIONS(9416),
    [anon_sym_GT_EQ] = ACTIONS(9432),
    [anon_sym_CARET] = ACTIONS(9434),
    [anon_sym_PLUS] = ACTIONS(9436),
    [anon_sym_SLASH] = ACTIONS(9412),
    [anon_sym_PERCENT] = ACTIONS(9412),
    [sym_comment] = ACTIONS(110),
  },
  [9929] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(9406),
    [sym__binary_star] = ACTIONS(9408),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(9410),
    [anon_sym_STAR_STAR] = ACTIONS(9412),
    [anon_sym_AMP] = ACTIONS(9414),
    [anon_sym_LT] = ACTIONS(9416),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(9428),
    [anon_sym_GT_GT] = ACTIONS(9428),
    [anon_sym_EQ_EQ] = ACTIONS(9430),
    [anon_sym_BANG_EQ] = ACTIONS(9426),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9426),
    [anon_sym_LT_EQ_GT] = ACTIONS(9426),
    [anon_sym_EQ_TILDE] = ACTIONS(9426),
    [anon_sym_BANG_TILDE] = ACTIONS(9426),
    [anon_sym_LT_EQ] = ACTIONS(9416),
    [anon_sym_GT] = ACTIONS(9416),
    [anon_sym_GT_EQ] = ACTIONS(9432),
    [anon_sym_CARET] = ACTIONS(9434),
    [anon_sym_PLUS] = ACTIONS(9436),
    [anon_sym_SLASH] = ACTIONS(9412),
    [anon_sym_PERCENT] = ACTIONS(9412),
    [sym_comment] = ACTIONS(110),
  },
  [9930] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(9406),
    [sym__binary_star] = ACTIONS(9408),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(9412),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(9436),
    [anon_sym_SLASH] = ACTIONS(9412),
    [anon_sym_PERCENT] = ACTIONS(9412),
    [sym_comment] = ACTIONS(110),
  },
  [9931] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(9408),
    [anon_sym_RPAREN] = ACTIONS(7016),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_STAR_STAR] = ACTIONS(9412),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(9412),
    [anon_sym_PERCENT] = ACTIONS(9412),
    [sym_comment] = ACTIONS(110),
  },
  [9932] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(12143),
    [sym__primary] = STATE(975),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(976),
    [sym_scope_resolution] = STATE(3679),
    [sym_call] = STATE(3679),
    [sym_method_call] = STATE(976),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(3680),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3681),
    [sym__variable] = STATE(3679),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(968),
    [sym_true] = STATE(976),
    [sym_false] = STATE(976),
    [sym_self] = STATE(968),
    [sym_nil] = STATE(976),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(5342),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5344),
    [anon_sym_yield] = ACTIONS(5346),
    [anon_sym_break] = ACTIONS(5348),
    [anon_sym_next] = ACTIONS(5350),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(5352),
    [anon_sym_defined_QMARK] = ACTIONS(5354),
    [anon_sym_not] = ACTIONS(5356),
    [anon_sym_BANG] = ACTIONS(5358),
    [anon_sym_TILDE] = ACTIONS(5358),
    [sym_constant] = ACTIONS(1612),
    [sym_identifier] = ACTIONS(1612),
    [sym_instance_variable] = ACTIONS(1614),
    [sym_class_variable] = ACTIONS(1614),
    [sym_global_variable] = ACTIONS(1614),
    [anon_sym_false] = ACTIONS(1616),
    [anon_sym_nil] = ACTIONS(1618),
    [anon_sym_self] = ACTIONS(1620),
    [anon_sym_super] = ACTIONS(1622),
    [anon_sym_true] = ACTIONS(1624),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(1624),
    [anon_sym_FALSE] = ACTIONS(1616),
    [anon_sym_NIL] = ACTIONS(1618),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9933] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(9406),
    [sym__binary_star] = ACTIONS(9408),
    [anon_sym_RPAREN] = ACTIONS(6346),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(9410),
    [anon_sym_STAR_STAR] = ACTIONS(9412),
    [anon_sym_AMP] = ACTIONS(9414),
    [anon_sym_LT] = ACTIONS(9416),
    [anon_sym_QMARK] = ACTIONS(9418),
    [anon_sym_DOT_DOT] = ACTIONS(9420),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9422),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(9426),
    [anon_sym_AMP_AMP] = ACTIONS(9426),
    [anon_sym_LT_LT] = ACTIONS(9428),
    [anon_sym_GT_GT] = ACTIONS(9428),
    [anon_sym_EQ_EQ] = ACTIONS(9430),
    [anon_sym_BANG_EQ] = ACTIONS(9426),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9426),
    [anon_sym_LT_EQ_GT] = ACTIONS(9426),
    [anon_sym_EQ_TILDE] = ACTIONS(9426),
    [anon_sym_BANG_TILDE] = ACTIONS(9426),
    [anon_sym_LT_EQ] = ACTIONS(9416),
    [anon_sym_GT] = ACTIONS(9416),
    [anon_sym_GT_EQ] = ACTIONS(9432),
    [anon_sym_CARET] = ACTIONS(9434),
    [anon_sym_PLUS] = ACTIONS(9436),
    [anon_sym_SLASH] = ACTIONS(9412),
    [anon_sym_PERCENT] = ACTIONS(9412),
    [sym_comment] = ACTIONS(110),
  },
  [9934] = {
    [aux_sym_exceptions_repeat1] = STATE(12145),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_RPAREN] = ACTIONS(7330),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [9935] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(9406),
    [sym__binary_star] = ACTIONS(9408),
    [anon_sym_RPAREN] = ACTIONS(7344),
    [anon_sym_COMMA] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(9410),
    [anon_sym_STAR_STAR] = ACTIONS(9412),
    [anon_sym_AMP] = ACTIONS(9414),
    [anon_sym_LT] = ACTIONS(9416),
    [anon_sym_QMARK] = ACTIONS(9418),
    [anon_sym_DOT_DOT] = ACTIONS(9420),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9422),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(9426),
    [anon_sym_AMP_AMP] = ACTIONS(9426),
    [anon_sym_LT_LT] = ACTIONS(9428),
    [anon_sym_GT_GT] = ACTIONS(9428),
    [anon_sym_EQ_EQ] = ACTIONS(9430),
    [anon_sym_BANG_EQ] = ACTIONS(9426),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9426),
    [anon_sym_LT_EQ_GT] = ACTIONS(9426),
    [anon_sym_EQ_TILDE] = ACTIONS(9426),
    [anon_sym_BANG_TILDE] = ACTIONS(9426),
    [anon_sym_LT_EQ] = ACTIONS(9416),
    [anon_sym_GT] = ACTIONS(9416),
    [anon_sym_GT_EQ] = ACTIONS(9432),
    [anon_sym_CARET] = ACTIONS(9434),
    [anon_sym_PLUS] = ACTIONS(9436),
    [anon_sym_SLASH] = ACTIONS(9412),
    [anon_sym_PERCENT] = ACTIONS(9412),
    [sym_comment] = ACTIONS(110),
  },
  [9936] = {
    [sym__simple_heredoc_body] = ACTIONS(8568),
    [sym__heredoc_body_beginning] = ACTIONS(8568),
    [sym__element_reference_left_bracket] = ACTIONS(8568),
    [sym__scope_double_colon] = ACTIONS(8568),
    [sym__binary_minus] = ACTIONS(8690),
    [sym__binary_star] = ACTIONS(8692),
    [anon_sym_RPAREN] = ACTIONS(8568),
    [anon_sym_DOT] = ACTIONS(9468),
    [anon_sym_COMMA] = ACTIONS(8568),
    [anon_sym_PIPE] = ACTIONS(8694),
    [anon_sym_STAR_STAR] = ACTIONS(8696),
    [anon_sym_AMP] = ACTIONS(8698),
    [anon_sym_LT] = ACTIONS(8700),
    [anon_sym_EQ_GT] = ACTIONS(8568),
    [anon_sym_AMP_DOT] = ACTIONS(8568),
    [anon_sym_QMARK] = ACTIONS(8702),
    [anon_sym_DOT_DOT] = ACTIONS(8704),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8706),
    [anon_sym_and] = ACTIONS(8568),
    [anon_sym_or] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE] = ACTIONS(8708),
    [anon_sym_AMP_AMP] = ACTIONS(8708),
    [anon_sym_LT_LT] = ACTIONS(8710),
    [anon_sym_GT_GT] = ACTIONS(8710),
    [anon_sym_EQ_EQ] = ACTIONS(8712),
    [anon_sym_BANG_EQ] = ACTIONS(8708),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8708),
    [anon_sym_LT_EQ_GT] = ACTIONS(8708),
    [anon_sym_EQ_TILDE] = ACTIONS(8708),
    [anon_sym_BANG_TILDE] = ACTIONS(8708),
    [anon_sym_LT_EQ] = ACTIONS(8700),
    [anon_sym_GT] = ACTIONS(8700),
    [anon_sym_GT_EQ] = ACTIONS(8714),
    [anon_sym_CARET] = ACTIONS(8716),
    [anon_sym_PLUS] = ACTIONS(8718),
    [anon_sym_SLASH] = ACTIONS(8696),
    [anon_sym_PERCENT] = ACTIONS(8696),
    [sym_comment] = ACTIONS(110),
  },
  [9937] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3693),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(9349),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3197),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3198),
    [sym__variable] = STATE(1383),
    [sym_reserved_identifier] = STATE(3695),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(3696),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(5374),
    [sym__splat_star] = ACTIONS(5376),
    [sym__unary_minus] = ACTIONS(4602),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(12758),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2164),
    [anon_sym_yield] = ACTIONS(2166),
    [anon_sym_break] = ACTIONS(2168),
    [anon_sym_next] = ACTIONS(2170),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(8684),
    [anon_sym_defined_QMARK] = ACTIONS(4604),
    [anon_sym_not] = ACTIONS(4606),
    [anon_sym_BANG] = ACTIONS(4610),
    [anon_sym_TILDE] = ACTIONS(4610),
    [sym_constant] = ACTIONS(5378),
    [sym_identifier] = ACTIONS(5378),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9938] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(3693),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(9349),
    [sym_splat_argument] = STATE(1005),
    [sym_hash_splat_argument] = STATE(1005),
    [sym_block_argument] = STATE(1005),
    [sym_assignment] = STATE(1006),
    [sym_operator_assignment] = STATE(1006),
    [sym_conditional] = STATE(1006),
    [sym_range] = STATE(1006),
    [sym_binary] = STATE(1006),
    [sym_unary] = STATE(1006),
    [sym_left_assignment_list] = STATE(3197),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3198),
    [sym__variable] = STATE(1383),
    [sym_reserved_identifier] = STATE(3695),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(3696),
    [sym_subshell] = STATE(458),
    [sym_heredoc_end] = STATE(12146),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_pair] = STATE(1005),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(782),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(792),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__block_ampersand] = ACTIONS(5374),
    [sym__splat_star] = ACTIONS(5376),
    [sym__unary_minus] = ACTIONS(4602),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(812),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(12758),
    [anon_sym_class] = ACTIONS(820),
    [anon_sym_module] = ACTIONS(822),
    [anon_sym_return] = ACTIONS(2164),
    [anon_sym_yield] = ACTIONS(2166),
    [anon_sym_break] = ACTIONS(2168),
    [anon_sym_next] = ACTIONS(2170),
    [anon_sym_redo] = ACTIONS(832),
    [anon_sym_retry] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(836),
    [anon_sym_unless] = ACTIONS(838),
    [anon_sym_while] = ACTIONS(840),
    [anon_sym_until] = ACTIONS(842),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(846),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(848),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(8684),
    [anon_sym_defined_QMARK] = ACTIONS(4604),
    [anon_sym_not] = ACTIONS(4606),
    [anon_sym_BANG] = ACTIONS(4610),
    [anon_sym_TILDE] = ACTIONS(4610),
    [sym_constant] = ACTIONS(5378),
    [sym_identifier] = ACTIONS(5378),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9939] = {
    [sym__simple_heredoc_body] = ACTIONS(8662),
    [sym__heredoc_body_beginning] = ACTIONS(8662),
    [sym__element_reference_left_bracket] = ACTIONS(8662),
    [sym__scope_double_colon] = ACTIONS(8662),
    [sym__binary_minus] = ACTIONS(8690),
    [sym__binary_star] = ACTIONS(8692),
    [anon_sym_RPAREN] = ACTIONS(8662),
    [anon_sym_DOT] = ACTIONS(9506),
    [anon_sym_COMMA] = ACTIONS(8662),
    [anon_sym_PIPE] = ACTIONS(8694),
    [anon_sym_STAR_STAR] = ACTIONS(8696),
    [anon_sym_AMP] = ACTIONS(8698),
    [anon_sym_LT] = ACTIONS(8700),
    [anon_sym_EQ_GT] = ACTIONS(8662),
    [anon_sym_AMP_DOT] = ACTIONS(8662),
    [anon_sym_QMARK] = ACTIONS(8702),
    [anon_sym_DOT_DOT] = ACTIONS(8704),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8706),
    [anon_sym_and] = ACTIONS(8662),
    [anon_sym_or] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE] = ACTIONS(8708),
    [anon_sym_AMP_AMP] = ACTIONS(8708),
    [anon_sym_LT_LT] = ACTIONS(8710),
    [anon_sym_GT_GT] = ACTIONS(8710),
    [anon_sym_EQ_EQ] = ACTIONS(8712),
    [anon_sym_BANG_EQ] = ACTIONS(8708),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8708),
    [anon_sym_LT_EQ_GT] = ACTIONS(8708),
    [anon_sym_EQ_TILDE] = ACTIONS(8708),
    [anon_sym_BANG_TILDE] = ACTIONS(8708),
    [anon_sym_LT_EQ] = ACTIONS(8700),
    [anon_sym_GT] = ACTIONS(8700),
    [anon_sym_GT_EQ] = ACTIONS(8714),
    [anon_sym_CARET] = ACTIONS(8716),
    [anon_sym_PLUS] = ACTIONS(8718),
    [anon_sym_SLASH] = ACTIONS(8696),
    [anon_sym_PERCENT] = ACTIONS(8696),
    [sym_comment] = ACTIONS(110),
  },
  [9940] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(12147),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym_left_assignment_list] = STATE(1386),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1387),
    [sym__variable] = STATE(1383),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__unary_minus] = ACTIONS(2158),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5360),
    [anon_sym_yield] = ACTIONS(5362),
    [anon_sym_break] = ACTIONS(5364),
    [anon_sym_next] = ACTIONS(5366),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2172),
    [anon_sym_defined_QMARK] = ACTIONS(2174),
    [anon_sym_not] = ACTIONS(5368),
    [anon_sym_BANG] = ACTIONS(2178),
    [anon_sym_TILDE] = ACTIONS(2178),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9941] = {
    [sym__simple_heredoc_body] = ACTIONS(8568),
    [sym__heredoc_body_beginning] = ACTIONS(8568),
    [sym__element_reference_left_bracket] = ACTIONS(8568),
    [sym__scope_double_colon] = ACTIONS(8568),
    [sym__binary_minus] = ACTIONS(8778),
    [sym__binary_star] = ACTIONS(8780),
    [anon_sym_LBRACE] = ACTIONS(8568),
    [anon_sym_RPAREN] = ACTIONS(8568),
    [anon_sym_DOT] = ACTIONS(9468),
    [anon_sym_COMMA] = ACTIONS(8568),
    [anon_sym_PIPE] = ACTIONS(8782),
    [anon_sym_STAR_STAR] = ACTIONS(8784),
    [anon_sym_AMP] = ACTIONS(8786),
    [anon_sym_EQ] = ACTIONS(9468),
    [anon_sym_LT] = ACTIONS(8788),
    [anon_sym_do] = ACTIONS(8568),
    [anon_sym_EQ_GT] = ACTIONS(8568),
    [anon_sym_AMP_DOT] = ACTIONS(8568),
    [anon_sym_PLUS_EQ] = ACTIONS(8568),
    [anon_sym_DASH_EQ] = ACTIONS(8568),
    [anon_sym_STAR_EQ] = ACTIONS(8568),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8568),
    [anon_sym_SLASH_EQ] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8568),
    [anon_sym_PIPE_EQ] = ACTIONS(8568),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8568),
    [anon_sym_AMP_EQ] = ACTIONS(8568),
    [anon_sym_PERCENT_EQ] = ACTIONS(8568),
    [anon_sym_GT_GT_EQ] = ACTIONS(8568),
    [anon_sym_LT_LT_EQ] = ACTIONS(8568),
    [anon_sym_CARET_EQ] = ACTIONS(8568),
    [anon_sym_QMARK] = ACTIONS(8790),
    [anon_sym_DOT_DOT] = ACTIONS(8792),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8794),
    [anon_sym_and] = ACTIONS(8568),
    [anon_sym_or] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE] = ACTIONS(8796),
    [anon_sym_AMP_AMP] = ACTIONS(8796),
    [anon_sym_LT_LT] = ACTIONS(8798),
    [anon_sym_GT_GT] = ACTIONS(8798),
    [anon_sym_EQ_EQ] = ACTIONS(8796),
    [anon_sym_BANG_EQ] = ACTIONS(8800),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8800),
    [anon_sym_LT_EQ_GT] = ACTIONS(8800),
    [anon_sym_EQ_TILDE] = ACTIONS(8800),
    [anon_sym_BANG_TILDE] = ACTIONS(8800),
    [anon_sym_LT_EQ] = ACTIONS(8788),
    [anon_sym_GT] = ACTIONS(8788),
    [anon_sym_GT_EQ] = ACTIONS(8802),
    [anon_sym_CARET] = ACTIONS(8782),
    [anon_sym_PLUS] = ACTIONS(8804),
    [anon_sym_SLASH] = ACTIONS(8784),
    [anon_sym_PERCENT] = ACTIONS(8784),
    [sym_comment] = ACTIONS(256),
  },
  [9942] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(3716),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(9412),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(3239),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3240),
    [sym__variable] = STATE(3235),
    [sym_reserved_identifier] = STATE(3718),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3719),
    [sym_subshell] = STATE(1062),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__block_ampersand] = ACTIONS(5414),
    [sym__splat_star] = ACTIONS(5416),
    [sym__unary_minus] = ACTIONS(4660),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(12764),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(4664),
    [anon_sym_yield] = ACTIONS(4666),
    [anon_sym_break] = ACTIONS(4668),
    [anon_sym_next] = ACTIONS(4670),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(8770),
    [anon_sym_defined_QMARK] = ACTIONS(4674),
    [anon_sym_not] = ACTIONS(4676),
    [anon_sym_BANG] = ACTIONS(4680),
    [anon_sym_TILDE] = ACTIONS(4680),
    [sym_constant] = ACTIONS(5418),
    [sym_identifier] = ACTIONS(5418),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [9943] = {
    [sym_method] = STATE(1062),
    [sym_singleton_method] = STATE(1062),
    [sym_class] = STATE(1062),
    [sym_singleton_class] = STATE(1062),
    [sym_module] = STATE(1062),
    [sym_return] = STATE(1062),
    [sym_yield] = STATE(1062),
    [sym_break] = STATE(1062),
    [sym_next] = STATE(1062),
    [sym_redo] = STATE(1062),
    [sym_retry] = STATE(1062),
    [sym_while] = STATE(1062),
    [sym_until] = STATE(1062),
    [sym_for] = STATE(1062),
    [sym_case] = STATE(1062),
    [sym_if] = STATE(1062),
    [sym_unless] = STATE(1062),
    [sym_begin] = STATE(1062),
    [sym__arg] = STATE(3716),
    [sym__primary] = STATE(1097),
    [sym_parenthesized_statements] = STATE(1062),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(3235),
    [sym_call] = STATE(3235),
    [sym_method_call] = STATE(503),
    [sym__argument] = STATE(9412),
    [sym_splat_argument] = STATE(1102),
    [sym_hash_splat_argument] = STATE(1102),
    [sym_block_argument] = STATE(1102),
    [sym_assignment] = STATE(1104),
    [sym_operator_assignment] = STATE(1104),
    [sym_conditional] = STATE(1104),
    [sym_range] = STATE(1104),
    [sym_binary] = STATE(1104),
    [sym_unary] = STATE(1104),
    [sym_left_assignment_list] = STATE(3239),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(3240),
    [sym__variable] = STATE(3235),
    [sym_reserved_identifier] = STATE(3718),
    [sym_symbol] = STATE(1062),
    [sym_complex] = STATE(1062),
    [sym_rational] = STATE(1062),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(1062),
    [sym_string] = STATE(3719),
    [sym_subshell] = STATE(1062),
    [sym_heredoc_end] = STATE(12148),
    [sym_array] = STATE(1062),
    [sym_hash] = STATE(1062),
    [sym_pair] = STATE(1102),
    [sym_regex] = STATE(1062),
    [sym_lambda] = STATE(1062),
    [sym__simple_string] = ACTIONS(1712),
    [sym__simple_symbol] = ACTIONS(1714),
    [sym__simple_subshell] = ACTIONS(1716),
    [sym__simple_regex] = ACTIONS(1718),
    [sym__simple_word_list] = ACTIONS(1720),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(1722),
    [sym__symbol_beginning] = ACTIONS(1724),
    [sym__subshell_beginning] = ACTIONS(1726),
    [sym__regex_beginning] = ACTIONS(1728),
    [sym__word_list_beginning] = ACTIONS(1730),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(1732),
    [sym__block_ampersand] = ACTIONS(5414),
    [sym__splat_star] = ACTIONS(5416),
    [sym__unary_minus] = ACTIONS(4660),
    [anon_sym_LBRACE] = ACTIONS(4452),
    [anon_sym_def] = ACTIONS(1744),
    [anon_sym_LPAREN] = ACTIONS(1746),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(12764),
    [anon_sym_class] = ACTIONS(1748),
    [anon_sym_module] = ACTIONS(1750),
    [anon_sym_return] = ACTIONS(4664),
    [anon_sym_yield] = ACTIONS(4666),
    [anon_sym_break] = ACTIONS(4668),
    [anon_sym_next] = ACTIONS(4670),
    [anon_sym_redo] = ACTIONS(1760),
    [anon_sym_retry] = ACTIONS(1762),
    [anon_sym_if] = ACTIONS(1764),
    [anon_sym_unless] = ACTIONS(1766),
    [anon_sym_while] = ACTIONS(1768),
    [anon_sym_until] = ACTIONS(1770),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1772),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1776),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1778),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(8770),
    [anon_sym_defined_QMARK] = ACTIONS(4674),
    [anon_sym_not] = ACTIONS(4676),
    [anon_sym_BANG] = ACTIONS(4680),
    [anon_sym_TILDE] = ACTIONS(4680),
    [sym_constant] = ACTIONS(5418),
    [sym_identifier] = ACTIONS(5418),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(864),
    [anon_sym_nil] = ACTIONS(866),
    [anon_sym_self] = ACTIONS(868),
    [anon_sym_super] = ACTIONS(870),
    [anon_sym_true] = ACTIONS(872),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1790),
    [sym_float] = ACTIONS(1792),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1794),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(1796),
    [sym_keyword__LINE__] = ACTIONS(1796),
    [sym_keyword__ENCODING__] = ACTIONS(1796),
    [sym__character_literal] = ACTIONS(1798),
    [anon_sym_LBRACK] = ACTIONS(1800),
    [anon_sym_DASH_GT] = ACTIONS(1802),
  },
  [9944] = {
    [sym__simple_heredoc_body] = ACTIONS(8662),
    [sym__heredoc_body_beginning] = ACTIONS(8662),
    [sym__element_reference_left_bracket] = ACTIONS(8662),
    [sym__scope_double_colon] = ACTIONS(8662),
    [sym__binary_minus] = ACTIONS(8778),
    [sym__binary_star] = ACTIONS(8780),
    [anon_sym_LBRACE] = ACTIONS(8662),
    [anon_sym_RPAREN] = ACTIONS(8662),
    [anon_sym_DOT] = ACTIONS(9506),
    [anon_sym_COMMA] = ACTIONS(8662),
    [anon_sym_PIPE] = ACTIONS(8782),
    [anon_sym_STAR_STAR] = ACTIONS(8784),
    [anon_sym_AMP] = ACTIONS(8786),
    [anon_sym_EQ] = ACTIONS(9506),
    [anon_sym_LT] = ACTIONS(8788),
    [anon_sym_do] = ACTIONS(8662),
    [anon_sym_EQ_GT] = ACTIONS(8662),
    [anon_sym_AMP_DOT] = ACTIONS(8662),
    [anon_sym_PLUS_EQ] = ACTIONS(8662),
    [anon_sym_DASH_EQ] = ACTIONS(8662),
    [anon_sym_STAR_EQ] = ACTIONS(8662),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8662),
    [anon_sym_SLASH_EQ] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8662),
    [anon_sym_PIPE_EQ] = ACTIONS(8662),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8662),
    [anon_sym_AMP_EQ] = ACTIONS(8662),
    [anon_sym_PERCENT_EQ] = ACTIONS(8662),
    [anon_sym_GT_GT_EQ] = ACTIONS(8662),
    [anon_sym_LT_LT_EQ] = ACTIONS(8662),
    [anon_sym_CARET_EQ] = ACTIONS(8662),
    [anon_sym_QMARK] = ACTIONS(8790),
    [anon_sym_DOT_DOT] = ACTIONS(8792),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8794),
    [anon_sym_and] = ACTIONS(8662),
    [anon_sym_or] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE] = ACTIONS(8796),
    [anon_sym_AMP_AMP] = ACTIONS(8796),
    [anon_sym_LT_LT] = ACTIONS(8798),
    [anon_sym_GT_GT] = ACTIONS(8798),
    [anon_sym_EQ_EQ] = ACTIONS(8796),
    [anon_sym_BANG_EQ] = ACTIONS(8800),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8800),
    [anon_sym_LT_EQ_GT] = ACTIONS(8800),
    [anon_sym_EQ_TILDE] = ACTIONS(8800),
    [anon_sym_BANG_TILDE] = ACTIONS(8800),
    [anon_sym_LT_EQ] = ACTIONS(8788),
    [anon_sym_GT] = ACTIONS(8788),
    [anon_sym_GT_EQ] = ACTIONS(8802),
    [anon_sym_CARET] = ACTIONS(8782),
    [anon_sym_PLUS] = ACTIONS(8804),
    [anon_sym_SLASH] = ACTIONS(8784),
    [anon_sym_PERCENT] = ACTIONS(8784),
    [sym_comment] = ACTIONS(256),
  },
  [9945] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(5382),
    [sym__binary_star] = ACTIONS(5384),
    [anon_sym_RPAREN] = ACTIONS(5338),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(5386),
    [anon_sym_STAR_STAR] = ACTIONS(5388),
    [anon_sym_AMP] = ACTIONS(5390),
    [anon_sym_LT] = ACTIONS(5392),
    [anon_sym_EQ_GT] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(5394),
    [anon_sym_DOT_DOT] = ACTIONS(5396),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5398),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(5402),
    [anon_sym_AMP_AMP] = ACTIONS(5402),
    [anon_sym_LT_LT] = ACTIONS(5404),
    [anon_sym_GT_GT] = ACTIONS(5404),
    [anon_sym_EQ_EQ] = ACTIONS(5406),
    [anon_sym_BANG_EQ] = ACTIONS(5402),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5402),
    [anon_sym_LT_EQ_GT] = ACTIONS(5402),
    [anon_sym_EQ_TILDE] = ACTIONS(5402),
    [anon_sym_BANG_TILDE] = ACTIONS(5402),
    [anon_sym_LT_EQ] = ACTIONS(5392),
    [anon_sym_GT] = ACTIONS(5392),
    [anon_sym_GT_EQ] = ACTIONS(5408),
    [anon_sym_CARET] = ACTIONS(5410),
    [anon_sym_PLUS] = ACTIONS(5412),
    [anon_sym_SLASH] = ACTIONS(5388),
    [anon_sym_PERCENT] = ACTIONS(5388),
    [sym_comment] = ACTIONS(110),
  },
  [9946] = {
    [sym_method] = STATE(458),
    [sym_singleton_method] = STATE(458),
    [sym_class] = STATE(458),
    [sym_singleton_class] = STATE(458),
    [sym_module] = STATE(458),
    [sym_return] = STATE(458),
    [sym_yield] = STATE(458),
    [sym_break] = STATE(458),
    [sym_next] = STATE(458),
    [sym_redo] = STATE(458),
    [sym_retry] = STATE(458),
    [sym_while] = STATE(458),
    [sym_until] = STATE(458),
    [sym_for] = STATE(458),
    [sym_case] = STATE(458),
    [sym_if] = STATE(458),
    [sym_unless] = STATE(458),
    [sym_begin] = STATE(458),
    [sym__arg] = STATE(6920),
    [sym__primary] = STATE(502),
    [sym_parenthesized_statements] = STATE(458),
    [sym_element_reference] = STATE(503),
    [sym_scope_resolution] = STATE(1383),
    [sym_call] = STATE(1383),
    [sym_method_call] = STATE(503),
    [sym_splat_argument] = STATE(4790),
    [sym_assignment] = STATE(508),
    [sym_operator_assignment] = STATE(508),
    [sym_conditional] = STATE(508),
    [sym_range] = STATE(508),
    [sym_binary] = STATE(508),
    [sym_unary] = STATE(508),
    [sym__arg_or_splat_arg] = STATE(11066),
    [sym_left_assignment_list] = STATE(1386),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1387),
    [sym__variable] = STATE(1383),
    [sym_symbol] = STATE(458),
    [sym_complex] = STATE(458),
    [sym_rational] = STATE(458),
    [sym_super] = STATE(488),
    [sym_true] = STATE(503),
    [sym_false] = STATE(503),
    [sym_self] = STATE(488),
    [sym_nil] = STATE(503),
    [sym_chained_string] = STATE(458),
    [sym_string] = STATE(980),
    [sym_subshell] = STATE(458),
    [sym_array] = STATE(458),
    [sym_hash] = STATE(458),
    [sym_regex] = STATE(458),
    [sym_lambda] = STATE(458),
    [sym__simple_string] = ACTIONS(1564),
    [sym__simple_symbol] = ACTIONS(784),
    [sym__simple_subshell] = ACTIONS(786),
    [sym__simple_regex] = ACTIONS(788),
    [sym__simple_word_list] = ACTIONS(790),
    [sym__string_beginning] = ACTIONS(1566),
    [sym__symbol_beginning] = ACTIONS(794),
    [sym__subshell_beginning] = ACTIONS(796),
    [sym__regex_beginning] = ACTIONS(798),
    [sym__word_list_beginning] = ACTIONS(800),
    [sym_heredoc_beginning] = ACTIONS(802),
    [sym__splat_star] = ACTIONS(9462),
    [sym__unary_minus] = ACTIONS(2158),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_def] = ACTIONS(1570),
    [anon_sym_LPAREN] = ACTIONS(814),
    [anon_sym_COLON_COLON] = ACTIONS(816),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1574),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(5360),
    [anon_sym_yield] = ACTIONS(5362),
    [anon_sym_break] = ACTIONS(5364),
    [anon_sym_next] = ACTIONS(5366),
    [anon_sym_redo] = ACTIONS(1586),
    [anon_sym_retry] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1590),
    [anon_sym_unless] = ACTIONS(1592),
    [anon_sym_while] = ACTIONS(1594),
    [anon_sym_until] = ACTIONS(1596),
    [anon_sym_for] = ACTIONS(1598),
    [anon_sym_case] = ACTIONS(1600),
    [anon_sym_begin] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(2172),
    [anon_sym_defined_QMARK] = ACTIONS(2174),
    [anon_sym_not] = ACTIONS(5368),
    [anon_sym_BANG] = ACTIONS(2178),
    [anon_sym_TILDE] = ACTIONS(2178),
    [sym_constant] = ACTIONS(2914),
    [sym_identifier] = ACTIONS(2914),
    [sym_instance_variable] = ACTIONS(862),
    [sym_class_variable] = ACTIONS(862),
    [sym_global_variable] = ACTIONS(862),
    [anon_sym_false] = ACTIONS(882),
    [anon_sym_nil] = ACTIONS(884),
    [anon_sym_self] = ACTIONS(2916),
    [anon_sym_super] = ACTIONS(2918),
    [anon_sym_true] = ACTIONS(880),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(874),
    [sym_float] = ACTIONS(876),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(878),
    [anon_sym_TRUE] = ACTIONS(880),
    [anon_sym_FALSE] = ACTIONS(882),
    [anon_sym_NIL] = ACTIONS(884),
    [sym_keyword__FILE__] = ACTIONS(886),
    [sym_keyword__LINE__] = ACTIONS(886),
    [sym_keyword__ENCODING__] = ACTIONS(886),
    [sym__character_literal] = ACTIONS(1626),
    [anon_sym_LBRACK] = ACTIONS(890),
    [anon_sym_DASH_GT] = ACTIONS(892),
  },
  [9947] = {
    [sym__simple_heredoc_body] = ACTIONS(11422),
    [sym__heredoc_body_beginning] = ACTIONS(11422),
    [sym__binary_minus] = ACTIONS(11422),
    [sym__binary_star] = ACTIONS(11422),
    [anon_sym_RPAREN] = ACTIONS(11422),
    [anon_sym_COMMA] = ACTIONS(14972),
    [anon_sym_PIPE] = ACTIONS(11426),
    [anon_sym_STAR_STAR] = ACTIONS(11422),
    [anon_sym_AMP] = ACTIONS(11426),
    [anon_sym_LT] = ACTIONS(11426),
    [anon_sym_EQ_GT] = ACTIONS(11422),
    [anon_sym_QMARK] = ACTIONS(11422),
    [anon_sym_DOT_DOT] = ACTIONS(11426),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11422),
    [anon_sym_and] = ACTIONS(11422),
    [anon_sym_or] = ACTIONS(11422),
    [anon_sym_PIPE_PIPE] = ACTIONS(11422),
    [anon_sym_AMP_AMP] = ACTIONS(11422),
    [anon_sym_LT_LT] = ACTIONS(11422),
    [anon_sym_GT_GT] = ACTIONS(11422),
    [anon_sym_EQ_EQ] = ACTIONS(11426),
    [anon_sym_BANG_EQ] = ACTIONS(11422),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11422),
    [anon_sym_LT_EQ_GT] = ACTIONS(11422),
    [anon_sym_EQ_TILDE] = ACTIONS(11422),
    [anon_sym_BANG_TILDE] = ACTIONS(11422),
    [anon_sym_LT_EQ] = ACTIONS(11426),
    [anon_sym_GT] = ACTIONS(11426),
    [anon_sym_GT_EQ] = ACTIONS(11422),
    [anon_sym_CARET] = ACTIONS(11422),
    [anon_sym_PLUS] = ACTIONS(11422),
    [anon_sym_SLASH] = ACTIONS(11422),
    [anon_sym_PERCENT] = ACTIONS(11422),
    [sym_comment] = ACTIONS(110),
  },
  [9948] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1404),
    [sym__primary] = STATE(337),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(339),
    [sym_call] = STATE(339),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(9965),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(345),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(346),
    [sym__variable] = STATE(339),
    [sym_reserved_identifier] = STATE(1406),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(1407),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__block_ampersand] = ACTIONS(2202),
    [sym__splat_star] = ACTIONS(2204),
    [sym__unary_minus] = ACTIONS(542),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(9464),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(554),
    [anon_sym_yield] = ACTIONS(556),
    [anon_sym_break] = ACTIONS(558),
    [anon_sym_next] = ACTIONS(560),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(2190),
    [anon_sym_defined_QMARK] = ACTIONS(572),
    [anon_sym_not] = ACTIONS(574),
    [anon_sym_BANG] = ACTIONS(578),
    [anon_sym_TILDE] = ACTIONS(578),
    [sym_constant] = ACTIONS(2206),
    [sym_identifier] = ACTIONS(2206),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(588),
    [anon_sym_super] = ACTIONS(590),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9949] = {
    [sym__simple_heredoc_body] = ACTIONS(14096),
    [sym__heredoc_body_beginning] = ACTIONS(14096),
    [sym__line_break] = ACTIONS(14096),
    [sym__element_reference_left_bracket] = ACTIONS(14096),
    [sym__scope_double_colon] = ACTIONS(14096),
    [sym__binary_minus] = ACTIONS(2212),
    [sym__binary_star] = ACTIONS(2214),
    [ts_builtin_sym_end] = ACTIONS(14096),
    [anon_sym___END__] = ACTIONS(14096),
    [anon_sym_DOT] = ACTIONS(14974),
    [anon_sym_COMMA] = ACTIONS(14096),
    [anon_sym_PIPE] = ACTIONS(2218),
    [anon_sym_SEMI] = ACTIONS(14096),
    [anon_sym_STAR_STAR] = ACTIONS(2220),
    [anon_sym_AMP] = ACTIONS(2222),
    [anon_sym_LT] = ACTIONS(2224),
    [anon_sym_if] = ACTIONS(14096),
    [anon_sym_unless] = ACTIONS(14096),
    [anon_sym_while] = ACTIONS(14096),
    [anon_sym_until] = ACTIONS(14096),
    [anon_sym_rescue] = ACTIONS(14096),
    [anon_sym_EQ_GT] = ACTIONS(14096),
    [anon_sym_AMP_DOT] = ACTIONS(14096),
    [anon_sym_QMARK] = ACTIONS(2226),
    [anon_sym_DOT_DOT] = ACTIONS(2228),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2230),
    [anon_sym_and] = ACTIONS(14096),
    [anon_sym_or] = ACTIONS(14096),
    [anon_sym_PIPE_PIPE] = ACTIONS(2232),
    [anon_sym_AMP_AMP] = ACTIONS(2232),
    [anon_sym_LT_LT] = ACTIONS(2234),
    [anon_sym_GT_GT] = ACTIONS(2234),
    [anon_sym_EQ_EQ] = ACTIONS(2236),
    [anon_sym_BANG_EQ] = ACTIONS(2232),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2232),
    [anon_sym_LT_EQ_GT] = ACTIONS(2232),
    [anon_sym_EQ_TILDE] = ACTIONS(2232),
    [anon_sym_BANG_TILDE] = ACTIONS(2232),
    [anon_sym_LT_EQ] = ACTIONS(2224),
    [anon_sym_GT] = ACTIONS(2224),
    [anon_sym_GT_EQ] = ACTIONS(2238),
    [anon_sym_CARET] = ACTIONS(2240),
    [anon_sym_PLUS] = ACTIONS(2242),
    [anon_sym_SLASH] = ACTIONS(2220),
    [anon_sym_PERCENT] = ACTIONS(2220),
    [sym_comment] = ACTIONS(110),
  },
  [9950] = {
    [sym__simple_heredoc_body] = ACTIONS(14174),
    [sym__heredoc_body_beginning] = ACTIONS(14174),
    [sym__line_break] = ACTIONS(14174),
    [sym__element_reference_left_bracket] = ACTIONS(14174),
    [sym__scope_double_colon] = ACTIONS(14174),
    [sym__binary_minus] = ACTIONS(14174),
    [sym__binary_star] = ACTIONS(14174),
    [ts_builtin_sym_end] = ACTIONS(14174),
    [anon_sym___END__] = ACTIONS(14174),
    [anon_sym_LBRACE] = ACTIONS(14174),
    [anon_sym_RBRACE] = ACTIONS(14174),
    [anon_sym_RPAREN] = ACTIONS(14174),
    [anon_sym_DOT] = ACTIONS(14176),
    [anon_sym_end] = ACTIONS(14174),
    [anon_sym_COMMA] = ACTIONS(14174),
    [anon_sym_PIPE] = ACTIONS(14176),
    [anon_sym_SEMI] = ACTIONS(14174),
    [anon_sym_STAR_STAR] = ACTIONS(14176),
    [anon_sym_AMP] = ACTIONS(14176),
    [anon_sym_EQ] = ACTIONS(14176),
    [anon_sym_LT] = ACTIONS(14176),
    [anon_sym_if] = ACTIONS(14174),
    [anon_sym_unless] = ACTIONS(14174),
    [anon_sym_while] = ACTIONS(14174),
    [anon_sym_until] = ACTIONS(14174),
    [anon_sym_rescue] = ACTIONS(14174),
    [anon_sym_do] = ACTIONS(14174),
    [anon_sym_when] = ACTIONS(14174),
    [anon_sym_elsif] = ACTIONS(14174),
    [anon_sym_else] = ACTIONS(14174),
    [anon_sym_then] = ACTIONS(14174),
    [anon_sym_ensure] = ACTIONS(14174),
    [anon_sym_EQ_GT] = ACTIONS(14174),
    [anon_sym_AMP_DOT] = ACTIONS(14174),
    [anon_sym_PLUS_EQ] = ACTIONS(14174),
    [anon_sym_DASH_EQ] = ACTIONS(14174),
    [anon_sym_STAR_EQ] = ACTIONS(14174),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(14174),
    [anon_sym_SLASH_EQ] = ACTIONS(14174),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(14174),
    [anon_sym_PIPE_EQ] = ACTIONS(14174),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(14174),
    [anon_sym_AMP_EQ] = ACTIONS(14174),
    [anon_sym_PERCENT_EQ] = ACTIONS(14174),
    [anon_sym_GT_GT_EQ] = ACTIONS(14174),
    [anon_sym_LT_LT_EQ] = ACTIONS(14174),
    [anon_sym_CARET_EQ] = ACTIONS(14174),
    [anon_sym_QMARK] = ACTIONS(14174),
    [anon_sym_DOT_DOT] = ACTIONS(14176),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(14174),
    [anon_sym_and] = ACTIONS(14174),
    [anon_sym_or] = ACTIONS(14174),
    [anon_sym_PIPE_PIPE] = ACTIONS(14176),
    [anon_sym_AMP_AMP] = ACTIONS(14176),
    [anon_sym_LT_LT] = ACTIONS(14176),
    [anon_sym_GT_GT] = ACTIONS(14176),
    [anon_sym_EQ_EQ] = ACTIONS(14176),
    [anon_sym_BANG_EQ] = ACTIONS(14174),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(14174),
    [anon_sym_LT_EQ_GT] = ACTIONS(14174),
    [anon_sym_EQ_TILDE] = ACTIONS(14174),
    [anon_sym_BANG_TILDE] = ACTIONS(14174),
    [anon_sym_LT_EQ] = ACTIONS(14176),
    [anon_sym_GT] = ACTIONS(14176),
    [anon_sym_GT_EQ] = ACTIONS(14174),
    [anon_sym_CARET] = ACTIONS(14176),
    [anon_sym_PLUS] = ACTIONS(14176),
    [anon_sym_SLASH] = ACTIONS(14176),
    [anon_sym_PERCENT] = ACTIONS(14176),
    [sym_comment] = ACTIONS(256),
  },
  [9951] = {
    [sym__simple_string] = ACTIONS(9456),
    [sym__simple_symbol] = ACTIONS(9456),
    [sym__simple_subshell] = ACTIONS(9456),
    [sym__simple_regex] = ACTIONS(9456),
    [sym__simple_word_list] = ACTIONS(9456),
    [sym__simple_heredoc_body] = ACTIONS(9456),
    [sym__string_beginning] = ACTIONS(9456),
    [sym__symbol_beginning] = ACTIONS(9456),
    [sym__subshell_beginning] = ACTIONS(9456),
    [sym__regex_beginning] = ACTIONS(9456),
    [sym__word_list_beginning] = ACTIONS(9456),
    [sym__heredoc_body_beginning] = ACTIONS(9456),
    [sym_heredoc_beginning] = ACTIONS(9456),
    [sym__line_break] = ACTIONS(9456),
    [sym__element_reference_left_bracket] = ACTIONS(9456),
    [sym__block_ampersand] = ACTIONS(9456),
    [sym__splat_star] = ACTIONS(9456),
    [sym__argument_list_left_paren] = ACTIONS(9456),
    [sym__scope_double_colon] = ACTIONS(9456),
    [sym__unary_minus] = ACTIONS(9456),
    [sym__binary_minus] = ACTIONS(9456),
    [sym__binary_star] = ACTIONS(9456),
    [ts_builtin_sym_end] = ACTIONS(9456),
    [anon_sym___END__] = ACTIONS(9458),
    [anon_sym_LBRACE] = ACTIONS(9456),
    [anon_sym_def] = ACTIONS(9458),
    [anon_sym_LPAREN] = ACTIONS(9456),
    [anon_sym_DOT] = ACTIONS(9458),
    [anon_sym_COLON_COLON] = ACTIONS(9456),
    [anon_sym_end] = ACTIONS(9458),
    [anon_sym_COMMA] = ACTIONS(9456),
    [anon_sym_PIPE] = ACTIONS(9458),
    [anon_sym_SEMI] = ACTIONS(9456),
    [anon_sym_STAR] = ACTIONS(9458),
    [anon_sym_STAR_STAR] = ACTIONS(9458),
    [anon_sym_AMP] = ACTIONS(9458),
    [anon_sym_EQ] = ACTIONS(9458),
    [anon_sym_class] = ACTIONS(9458),
    [anon_sym_LT] = ACTIONS(9458),
    [anon_sym_module] = ACTIONS(9458),
    [anon_sym_return] = ACTIONS(9458),
    [anon_sym_yield] = ACTIONS(9458),
    [anon_sym_break] = ACTIONS(9458),
    [anon_sym_next] = ACTIONS(9458),
    [anon_sym_redo] = ACTIONS(9458),
    [anon_sym_retry] = ACTIONS(9458),
    [anon_sym_if] = ACTIONS(9458),
    [anon_sym_unless] = ACTIONS(9458),
    [anon_sym_while] = ACTIONS(9458),
    [anon_sym_until] = ACTIONS(9458),
    [anon_sym_rescue] = ACTIONS(9458),
    [anon_sym_for] = ACTIONS(9458),
    [anon_sym_in] = ACTIONS(9458),
    [anon_sym_do] = ACTIONS(9458),
    [anon_sym_case] = ACTIONS(9458),
    [anon_sym_when] = ACTIONS(9458),
    [anon_sym_elsif] = ACTIONS(9458),
    [anon_sym_else] = ACTIONS(9458),
    [anon_sym_then] = ACTIONS(9458),
    [anon_sym_begin] = ACTIONS(9458),
    [anon_sym_ensure] = ACTIONS(9458),
    [anon_sym_EQ_GT] = ACTIONS(9456),
    [anon_sym_AMP_DOT] = ACTIONS(9456),
    [anon_sym_PLUS_EQ] = ACTIONS(9456),
    [anon_sym_DASH_EQ] = ACTIONS(9456),
    [anon_sym_STAR_EQ] = ACTIONS(9456),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(9456),
    [anon_sym_SLASH_EQ] = ACTIONS(9456),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(9456),
    [anon_sym_PIPE_EQ] = ACTIONS(9456),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(9456),
    [anon_sym_AMP_EQ] = ACTIONS(9456),
    [anon_sym_PERCENT_EQ] = ACTIONS(9456),
    [anon_sym_GT_GT_EQ] = ACTIONS(9456),
    [anon_sym_LT_LT_EQ] = ACTIONS(9456),
    [anon_sym_CARET_EQ] = ACTIONS(9456),
    [anon_sym_QMARK] = ACTIONS(9458),
    [anon_sym_DOT_DOT] = ACTIONS(9458),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9456),
    [anon_sym_and] = ACTIONS(9458),
    [anon_sym_or] = ACTIONS(9458),
    [anon_sym_PIPE_PIPE] = ACTIONS(9458),
    [anon_sym_AMP_AMP] = ACTIONS(9458),
    [anon_sym_LT_LT] = ACTIONS(9458),
    [anon_sym_GT_GT] = ACTIONS(9458),
    [anon_sym_EQ_EQ] = ACTIONS(9458),
    [anon_sym_BANG_EQ] = ACTIONS(9456),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9456),
    [anon_sym_LT_EQ_GT] = ACTIONS(9456),
    [anon_sym_EQ_TILDE] = ACTIONS(9456),
    [anon_sym_BANG_TILDE] = ACTIONS(9456),
    [anon_sym_LT_EQ] = ACTIONS(9458),
    [anon_sym_GT] = ACTIONS(9458),
    [anon_sym_GT_EQ] = ACTIONS(9456),
    [anon_sym_CARET] = ACTIONS(9458),
    [anon_sym_PLUS] = ACTIONS(9458),
    [anon_sym_SLASH] = ACTIONS(9458),
    [anon_sym_PERCENT] = ACTIONS(9458),
    [anon_sym_defined_QMARK] = ACTIONS(9456),
    [anon_sym_not] = ACTIONS(9458),
    [anon_sym_BANG] = ACTIONS(9458),
    [anon_sym_TILDE] = ACTIONS(9456),
    [sym_constant] = ACTIONS(14178),
    [sym_identifier] = ACTIONS(14178),
    [sym_instance_variable] = ACTIONS(9458),
    [sym_class_variable] = ACTIONS(9458),
    [sym_global_variable] = ACTIONS(9458),
    [anon_sym_alias] = ACTIONS(9458),
    [anon_sym_defined] = ACTIONS(9458),
    [anon_sym_false] = ACTIONS(9458),
    [anon_sym_nil] = ACTIONS(9458),
    [anon_sym_self] = ACTIONS(9458),
    [anon_sym_super] = ACTIONS(9458),
    [anon_sym_true] = ACTIONS(9458),
    [anon_sym_undef] = ACTIONS(9458),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(9458),
    [sym_float] = ACTIONS(14178),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(9456),
    [anon_sym_TRUE] = ACTIONS(9458),
    [anon_sym_FALSE] = ACTIONS(9458),
    [anon_sym_NIL] = ACTIONS(9458),
    [sym_keyword__FILE__] = ACTIONS(9458),
    [sym_keyword__LINE__] = ACTIONS(9458),
    [sym_keyword__ENCODING__] = ACTIONS(9458),
    [sym__character_literal] = ACTIONS(9458),
    [anon_sym_LBRACK] = ACTIONS(9456),
    [anon_sym_DASH_GT] = ACTIONS(9456),
  },
  [9952] = {
    [anon_sym_RPAREN] = ACTIONS(14976),
    [sym_comment] = ACTIONS(110),
  },
  [9953] = {
    [sym__simple_heredoc_body] = ACTIONS(12768),
    [sym__heredoc_body_beginning] = ACTIONS(12768),
    [sym__line_break] = ACTIONS(12768),
    [sym__element_reference_left_bracket] = ACTIONS(12768),
    [sym__scope_double_colon] = ACTIONS(12768),
    [sym__binary_minus] = ACTIONS(12768),
    [sym__binary_star] = ACTIONS(12768),
    [ts_builtin_sym_end] = ACTIONS(12768),
    [anon_sym___END__] = ACTIONS(12768),
    [anon_sym_LBRACE] = ACTIONS(12768),
    [anon_sym_RBRACE] = ACTIONS(12768),
    [anon_sym_RPAREN] = ACTIONS(12768),
    [anon_sym_DOT] = ACTIONS(12770),
    [anon_sym_end] = ACTIONS(12768),
    [anon_sym_COMMA] = ACTIONS(12768),
    [anon_sym_PIPE] = ACTIONS(12770),
    [anon_sym_SEMI] = ACTIONS(12768),
    [anon_sym_STAR_STAR] = ACTIONS(12770),
    [anon_sym_AMP] = ACTIONS(12770),
    [anon_sym_EQ] = ACTIONS(12770),
    [anon_sym_LT] = ACTIONS(12770),
    [anon_sym_if] = ACTIONS(12768),
    [anon_sym_unless] = ACTIONS(12768),
    [anon_sym_while] = ACTIONS(12768),
    [anon_sym_until] = ACTIONS(12768),
    [anon_sym_rescue] = ACTIONS(12768),
    [anon_sym_do] = ACTIONS(12768),
    [anon_sym_when] = ACTIONS(12768),
    [anon_sym_elsif] = ACTIONS(12768),
    [anon_sym_else] = ACTIONS(12768),
    [anon_sym_then] = ACTIONS(12768),
    [anon_sym_ensure] = ACTIONS(12768),
    [anon_sym_EQ_GT] = ACTIONS(12768),
    [anon_sym_AMP_DOT] = ACTIONS(12768),
    [anon_sym_PLUS_EQ] = ACTIONS(12768),
    [anon_sym_DASH_EQ] = ACTIONS(12768),
    [anon_sym_STAR_EQ] = ACTIONS(12768),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(12768),
    [anon_sym_SLASH_EQ] = ACTIONS(12768),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(12768),
    [anon_sym_PIPE_EQ] = ACTIONS(12768),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(12768),
    [anon_sym_AMP_EQ] = ACTIONS(12768),
    [anon_sym_PERCENT_EQ] = ACTIONS(12768),
    [anon_sym_GT_GT_EQ] = ACTIONS(12768),
    [anon_sym_LT_LT_EQ] = ACTIONS(12768),
    [anon_sym_CARET_EQ] = ACTIONS(12768),
    [anon_sym_QMARK] = ACTIONS(12768),
    [anon_sym_DOT_DOT] = ACTIONS(12770),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12768),
    [anon_sym_and] = ACTIONS(12768),
    [anon_sym_or] = ACTIONS(12768),
    [anon_sym_PIPE_PIPE] = ACTIONS(12770),
    [anon_sym_AMP_AMP] = ACTIONS(12770),
    [anon_sym_LT_LT] = ACTIONS(12770),
    [anon_sym_GT_GT] = ACTIONS(12770),
    [anon_sym_EQ_EQ] = ACTIONS(12770),
    [anon_sym_BANG_EQ] = ACTIONS(12768),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12768),
    [anon_sym_LT_EQ_GT] = ACTIONS(12768),
    [anon_sym_EQ_TILDE] = ACTIONS(12768),
    [anon_sym_BANG_TILDE] = ACTIONS(12768),
    [anon_sym_LT_EQ] = ACTIONS(12770),
    [anon_sym_GT] = ACTIONS(12770),
    [anon_sym_GT_EQ] = ACTIONS(12768),
    [anon_sym_CARET] = ACTIONS(12770),
    [anon_sym_PLUS] = ACTIONS(12770),
    [anon_sym_SLASH] = ACTIONS(12770),
    [anon_sym_PERCENT] = ACTIONS(12770),
    [sym_comment] = ACTIONS(256),
  },
  [9954] = {
    [sym__simple_heredoc_body] = ACTIONS(14000),
    [sym__heredoc_body_beginning] = ACTIONS(14000),
    [sym__line_break] = ACTIONS(14000),
    [sym__element_reference_left_bracket] = ACTIONS(14000),
    [sym__scope_double_colon] = ACTIONS(14000),
    [sym__binary_minus] = ACTIONS(14000),
    [sym__binary_star] = ACTIONS(14000),
    [ts_builtin_sym_end] = ACTIONS(14000),
    [anon_sym___END__] = ACTIONS(14000),
    [anon_sym_LBRACE] = ACTIONS(14000),
    [anon_sym_RBRACE] = ACTIONS(14000),
    [anon_sym_RPAREN] = ACTIONS(14000),
    [anon_sym_DOT] = ACTIONS(14002),
    [anon_sym_end] = ACTIONS(14000),
    [anon_sym_COMMA] = ACTIONS(14000),
    [anon_sym_PIPE] = ACTIONS(14002),
    [anon_sym_SEMI] = ACTIONS(14000),
    [anon_sym_STAR_STAR] = ACTIONS(14002),
    [anon_sym_AMP] = ACTIONS(14002),
    [anon_sym_EQ] = ACTIONS(14002),
    [anon_sym_LT] = ACTIONS(14002),
    [anon_sym_if] = ACTIONS(14000),
    [anon_sym_unless] = ACTIONS(14000),
    [anon_sym_while] = ACTIONS(14000),
    [anon_sym_until] = ACTIONS(14000),
    [anon_sym_rescue] = ACTIONS(14000),
    [anon_sym_do] = ACTIONS(14000),
    [anon_sym_when] = ACTIONS(14000),
    [anon_sym_elsif] = ACTIONS(14000),
    [anon_sym_else] = ACTIONS(14000),
    [anon_sym_then] = ACTIONS(14000),
    [anon_sym_ensure] = ACTIONS(14000),
    [anon_sym_EQ_GT] = ACTIONS(14000),
    [anon_sym_AMP_DOT] = ACTIONS(14000),
    [anon_sym_PLUS_EQ] = ACTIONS(14000),
    [anon_sym_DASH_EQ] = ACTIONS(14000),
    [anon_sym_STAR_EQ] = ACTIONS(14000),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(14000),
    [anon_sym_SLASH_EQ] = ACTIONS(14000),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(14000),
    [anon_sym_PIPE_EQ] = ACTIONS(14000),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(14000),
    [anon_sym_AMP_EQ] = ACTIONS(14000),
    [anon_sym_PERCENT_EQ] = ACTIONS(14000),
    [anon_sym_GT_GT_EQ] = ACTIONS(14000),
    [anon_sym_LT_LT_EQ] = ACTIONS(14000),
    [anon_sym_CARET_EQ] = ACTIONS(14000),
    [anon_sym_QMARK] = ACTIONS(14000),
    [anon_sym_DOT_DOT] = ACTIONS(14002),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(14000),
    [anon_sym_and] = ACTIONS(14000),
    [anon_sym_or] = ACTIONS(14000),
    [anon_sym_PIPE_PIPE] = ACTIONS(14002),
    [anon_sym_AMP_AMP] = ACTIONS(14002),
    [anon_sym_LT_LT] = ACTIONS(14002),
    [anon_sym_GT_GT] = ACTIONS(14002),
    [anon_sym_EQ_EQ] = ACTIONS(14002),
    [anon_sym_BANG_EQ] = ACTIONS(14000),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(14000),
    [anon_sym_LT_EQ_GT] = ACTIONS(14000),
    [anon_sym_EQ_TILDE] = ACTIONS(14000),
    [anon_sym_BANG_TILDE] = ACTIONS(14000),
    [anon_sym_LT_EQ] = ACTIONS(14002),
    [anon_sym_GT] = ACTIONS(14002),
    [anon_sym_GT_EQ] = ACTIONS(14000),
    [anon_sym_CARET] = ACTIONS(14002),
    [anon_sym_PLUS] = ACTIONS(14002),
    [anon_sym_SLASH] = ACTIONS(14002),
    [anon_sym_PERCENT] = ACTIONS(14002),
    [sym_comment] = ACTIONS(256),
  },
  [9955] = {
    [sym__simple_heredoc_body] = ACTIONS(14030),
    [sym__heredoc_body_beginning] = ACTIONS(14030),
    [sym__line_break] = ACTIONS(14030),
    [sym__element_reference_left_bracket] = ACTIONS(14030),
    [sym__scope_double_colon] = ACTIONS(14030),
    [sym__binary_minus] = ACTIONS(14030),
    [sym__binary_star] = ACTIONS(14030),
    [ts_builtin_sym_end] = ACTIONS(14030),
    [anon_sym___END__] = ACTIONS(14030),
    [anon_sym_LBRACE] = ACTIONS(14030),
    [anon_sym_RBRACE] = ACTIONS(14030),
    [anon_sym_RPAREN] = ACTIONS(14030),
    [anon_sym_DOT] = ACTIONS(14032),
    [anon_sym_end] = ACTIONS(14030),
    [anon_sym_COMMA] = ACTIONS(14030),
    [anon_sym_PIPE] = ACTIONS(14032),
    [anon_sym_SEMI] = ACTIONS(14030),
    [anon_sym_STAR_STAR] = ACTIONS(14032),
    [anon_sym_AMP] = ACTIONS(14032),
    [anon_sym_EQ] = ACTIONS(14032),
    [anon_sym_LT] = ACTIONS(14032),
    [anon_sym_if] = ACTIONS(14030),
    [anon_sym_unless] = ACTIONS(14030),
    [anon_sym_while] = ACTIONS(14030),
    [anon_sym_until] = ACTIONS(14030),
    [anon_sym_rescue] = ACTIONS(14030),
    [anon_sym_do] = ACTIONS(14030),
    [anon_sym_when] = ACTIONS(14030),
    [anon_sym_elsif] = ACTIONS(14030),
    [anon_sym_else] = ACTIONS(14030),
    [anon_sym_then] = ACTIONS(14030),
    [anon_sym_ensure] = ACTIONS(14030),
    [anon_sym_EQ_GT] = ACTIONS(14030),
    [anon_sym_AMP_DOT] = ACTIONS(14030),
    [anon_sym_PLUS_EQ] = ACTIONS(14030),
    [anon_sym_DASH_EQ] = ACTIONS(14030),
    [anon_sym_STAR_EQ] = ACTIONS(14030),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(14030),
    [anon_sym_SLASH_EQ] = ACTIONS(14030),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(14030),
    [anon_sym_PIPE_EQ] = ACTIONS(14030),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(14030),
    [anon_sym_AMP_EQ] = ACTIONS(14030),
    [anon_sym_PERCENT_EQ] = ACTIONS(14030),
    [anon_sym_GT_GT_EQ] = ACTIONS(14030),
    [anon_sym_LT_LT_EQ] = ACTIONS(14030),
    [anon_sym_CARET_EQ] = ACTIONS(14030),
    [anon_sym_QMARK] = ACTIONS(14030),
    [anon_sym_DOT_DOT] = ACTIONS(14032),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(14030),
    [anon_sym_and] = ACTIONS(14030),
    [anon_sym_or] = ACTIONS(14030),
    [anon_sym_PIPE_PIPE] = ACTIONS(14032),
    [anon_sym_AMP_AMP] = ACTIONS(14032),
    [anon_sym_LT_LT] = ACTIONS(14032),
    [anon_sym_GT_GT] = ACTIONS(14032),
    [anon_sym_EQ_EQ] = ACTIONS(14032),
    [anon_sym_BANG_EQ] = ACTIONS(14030),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(14030),
    [anon_sym_LT_EQ_GT] = ACTIONS(14030),
    [anon_sym_EQ_TILDE] = ACTIONS(14030),
    [anon_sym_BANG_TILDE] = ACTIONS(14030),
    [anon_sym_LT_EQ] = ACTIONS(14032),
    [anon_sym_GT] = ACTIONS(14032),
    [anon_sym_GT_EQ] = ACTIONS(14030),
    [anon_sym_CARET] = ACTIONS(14032),
    [anon_sym_PLUS] = ACTIONS(14032),
    [anon_sym_SLASH] = ACTIONS(14032),
    [anon_sym_PERCENT] = ACTIONS(14032),
    [sym_comment] = ACTIONS(256),
  },
  [9956] = {
    [anon_sym_end] = ACTIONS(14978),
    [sym_comment] = ACTIONS(110),
  },
  [9957] = {
    [sym__statements] = STATE(12152),
    [sym__top_level_statement] = STATE(1767),
    [sym_begin_block] = STATE(56),
    [sym_end_block] = STATE(56),
    [sym__statement] = STATE(1768),
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_if_modifier] = STATE(58),
    [sym_unless_modifier] = STATE(58),
    [sym_while_modifier] = STATE(58),
    [sym_until_modifier] = STATE(58),
    [sym_rescue_modifier] = STATE(58),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(1770),
    [sym_call] = STATE(1770),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(63),
    [sym_operator_assignment] = STATE(63),
    [sym_conditional] = STATE(63),
    [sym_range] = STATE(63),
    [sym_binary] = STATE(63),
    [sym_unary] = STATE(63),
    [sym_left_assignment_list] = STATE(1771),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1772),
    [sym__variable] = STATE(1770),
    [sym_undef] = STATE(58),
    [sym_alias] = STATE(58),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym_empty_statement] = STATE(58),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2766),
    [anon_sym_BEGIN] = ACTIONS(38),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_END] = ACTIONS(42),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_end] = ACTIONS(14980),
    [anon_sym_SEMI] = ACTIONS(50),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2770),
    [anon_sym_yield] = ACTIONS(2772),
    [anon_sym_break] = ACTIONS(2774),
    [anon_sym_next] = ACTIONS(2776),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2778),
    [anon_sym_defined_QMARK] = ACTIONS(2780),
    [anon_sym_not] = ACTIONS(2782),
    [anon_sym_BANG] = ACTIONS(2784),
    [anon_sym_TILDE] = ACTIONS(2784),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_alias] = ACTIONS(96),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [anon_sym_undef] = ACTIONS(108),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9958] = {
    [sym__simple_heredoc_body] = ACTIONS(8070),
    [sym__heredoc_body_beginning] = ACTIONS(8070),
    [sym__line_break] = ACTIONS(8070),
    [sym__element_reference_left_bracket] = ACTIONS(8070),
    [sym__scope_double_colon] = ACTIONS(8070),
    [sym__binary_minus] = ACTIONS(8070),
    [sym__binary_star] = ACTIONS(8070),
    [ts_builtin_sym_end] = ACTIONS(8070),
    [anon_sym___END__] = ACTIONS(8070),
    [anon_sym_LBRACE] = ACTIONS(8070),
    [anon_sym_RBRACE] = ACTIONS(8070),
    [anon_sym_RPAREN] = ACTIONS(8070),
    [anon_sym_DOT] = ACTIONS(10414),
    [anon_sym_end] = ACTIONS(8070),
    [anon_sym_COMMA] = ACTIONS(8070),
    [anon_sym_PIPE] = ACTIONS(10414),
    [anon_sym_SEMI] = ACTIONS(8070),
    [anon_sym_STAR_STAR] = ACTIONS(10414),
    [anon_sym_AMP] = ACTIONS(10414),
    [anon_sym_EQ] = ACTIONS(10414),
    [anon_sym_LT] = ACTIONS(10414),
    [anon_sym_if] = ACTIONS(8070),
    [anon_sym_unless] = ACTIONS(8070),
    [anon_sym_while] = ACTIONS(8070),
    [anon_sym_until] = ACTIONS(8070),
    [anon_sym_rescue] = ACTIONS(8070),
    [anon_sym_do] = ACTIONS(8070),
    [anon_sym_when] = ACTIONS(8070),
    [anon_sym_elsif] = ACTIONS(8070),
    [anon_sym_else] = ACTIONS(8070),
    [anon_sym_then] = ACTIONS(8070),
    [anon_sym_ensure] = ACTIONS(8070),
    [anon_sym_EQ_GT] = ACTIONS(8070),
    [anon_sym_AMP_DOT] = ACTIONS(8070),
    [anon_sym_PLUS_EQ] = ACTIONS(8070),
    [anon_sym_DASH_EQ] = ACTIONS(8070),
    [anon_sym_STAR_EQ] = ACTIONS(8070),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8070),
    [anon_sym_SLASH_EQ] = ACTIONS(8070),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8070),
    [anon_sym_PIPE_EQ] = ACTIONS(8070),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8070),
    [anon_sym_AMP_EQ] = ACTIONS(8070),
    [anon_sym_PERCENT_EQ] = ACTIONS(8070),
    [anon_sym_GT_GT_EQ] = ACTIONS(8070),
    [anon_sym_LT_LT_EQ] = ACTIONS(8070),
    [anon_sym_CARET_EQ] = ACTIONS(8070),
    [anon_sym_QMARK] = ACTIONS(8070),
    [anon_sym_DOT_DOT] = ACTIONS(10414),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(8070),
    [anon_sym_and] = ACTIONS(8070),
    [anon_sym_or] = ACTIONS(8070),
    [anon_sym_PIPE_PIPE] = ACTIONS(10414),
    [anon_sym_AMP_AMP] = ACTIONS(10414),
    [anon_sym_LT_LT] = ACTIONS(10414),
    [anon_sym_GT_GT] = ACTIONS(10414),
    [anon_sym_EQ_EQ] = ACTIONS(10414),
    [anon_sym_BANG_EQ] = ACTIONS(8070),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(8070),
    [anon_sym_LT_EQ_GT] = ACTIONS(8070),
    [anon_sym_EQ_TILDE] = ACTIONS(8070),
    [anon_sym_BANG_TILDE] = ACTIONS(8070),
    [anon_sym_LT_EQ] = ACTIONS(10414),
    [anon_sym_GT] = ACTIONS(10414),
    [anon_sym_GT_EQ] = ACTIONS(8070),
    [anon_sym_CARET] = ACTIONS(10414),
    [anon_sym_PLUS] = ACTIONS(10414),
    [anon_sym_SLASH] = ACTIONS(10414),
    [anon_sym_PERCENT] = ACTIONS(10414),
    [sym_comment] = ACTIONS(256),
  },
  [9959] = {
    [sym__heredoc_body_middle] = ACTIONS(8296),
    [sym__heredoc_body_end] = ACTIONS(14982),
    [anon_sym_if] = ACTIONS(4112),
    [anon_sym_unless] = ACTIONS(4114),
    [anon_sym_while] = ACTIONS(4116),
    [anon_sym_until] = ACTIONS(4118),
    [anon_sym_rescue] = ACTIONS(4120),
    [sym_comment] = ACTIONS(110),
  },
  [9960] = {
    [sym__simple_heredoc_body] = ACTIONS(12790),
    [sym__heredoc_body_beginning] = ACTIONS(12790),
    [sym__line_break] = ACTIONS(12790),
    [sym__element_reference_left_bracket] = ACTIONS(12790),
    [sym__scope_double_colon] = ACTIONS(12790),
    [sym__binary_minus] = ACTIONS(12790),
    [sym__binary_star] = ACTIONS(12790),
    [ts_builtin_sym_end] = ACTIONS(12790),
    [anon_sym___END__] = ACTIONS(12790),
    [anon_sym_LBRACE] = ACTIONS(12790),
    [anon_sym_RBRACE] = ACTIONS(12790),
    [anon_sym_RPAREN] = ACTIONS(12790),
    [anon_sym_DOT] = ACTIONS(12792),
    [anon_sym_end] = ACTIONS(12790),
    [anon_sym_COMMA] = ACTIONS(12790),
    [anon_sym_PIPE] = ACTIONS(12792),
    [anon_sym_SEMI] = ACTIONS(12790),
    [anon_sym_STAR_STAR] = ACTIONS(12792),
    [anon_sym_AMP] = ACTIONS(12792),
    [anon_sym_EQ] = ACTIONS(12792),
    [anon_sym_LT] = ACTIONS(12792),
    [anon_sym_if] = ACTIONS(12790),
    [anon_sym_unless] = ACTIONS(12790),
    [anon_sym_while] = ACTIONS(12790),
    [anon_sym_until] = ACTIONS(12790),
    [anon_sym_rescue] = ACTIONS(12790),
    [anon_sym_do] = ACTIONS(12790),
    [anon_sym_when] = ACTIONS(12790),
    [anon_sym_elsif] = ACTIONS(12790),
    [anon_sym_else] = ACTIONS(12790),
    [anon_sym_then] = ACTIONS(12790),
    [anon_sym_ensure] = ACTIONS(12790),
    [anon_sym_EQ_GT] = ACTIONS(12790),
    [anon_sym_AMP_DOT] = ACTIONS(12790),
    [anon_sym_PLUS_EQ] = ACTIONS(12790),
    [anon_sym_DASH_EQ] = ACTIONS(12790),
    [anon_sym_STAR_EQ] = ACTIONS(12790),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(12790),
    [anon_sym_SLASH_EQ] = ACTIONS(12790),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(12790),
    [anon_sym_PIPE_EQ] = ACTIONS(12790),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(12790),
    [anon_sym_AMP_EQ] = ACTIONS(12790),
    [anon_sym_PERCENT_EQ] = ACTIONS(12790),
    [anon_sym_GT_GT_EQ] = ACTIONS(12790),
    [anon_sym_LT_LT_EQ] = ACTIONS(12790),
    [anon_sym_CARET_EQ] = ACTIONS(12790),
    [anon_sym_QMARK] = ACTIONS(12790),
    [anon_sym_DOT_DOT] = ACTIONS(12792),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12790),
    [anon_sym_and] = ACTIONS(12790),
    [anon_sym_or] = ACTIONS(12790),
    [anon_sym_PIPE_PIPE] = ACTIONS(12792),
    [anon_sym_AMP_AMP] = ACTIONS(12792),
    [anon_sym_LT_LT] = ACTIONS(12792),
    [anon_sym_GT_GT] = ACTIONS(12792),
    [anon_sym_EQ_EQ] = ACTIONS(12792),
    [anon_sym_BANG_EQ] = ACTIONS(12790),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12790),
    [anon_sym_LT_EQ_GT] = ACTIONS(12790),
    [anon_sym_EQ_TILDE] = ACTIONS(12790),
    [anon_sym_BANG_TILDE] = ACTIONS(12790),
    [anon_sym_LT_EQ] = ACTIONS(12792),
    [anon_sym_GT] = ACTIONS(12792),
    [anon_sym_GT_EQ] = ACTIONS(12790),
    [anon_sym_CARET] = ACTIONS(12792),
    [anon_sym_PLUS] = ACTIONS(12792),
    [anon_sym_SLASH] = ACTIONS(12792),
    [anon_sym_PERCENT] = ACTIONS(12792),
    [sym_comment] = ACTIONS(256),
  },
  [9961] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(1434),
    [sym__primary] = STATE(596),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(597),
    [sym_call] = STATE(597),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(12154),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(604),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(605),
    [sym__variable] = STATE(597),
    [sym_reserved_identifier] = STATE(1440),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(1441),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__block_ampersand] = ACTIONS(2252),
    [sym__splat_star] = ACTIONS(2254),
    [sym__unary_minus] = ACTIONS(1012),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(9486),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(1024),
    [anon_sym_yield] = ACTIONS(1026),
    [anon_sym_break] = ACTIONS(1028),
    [anon_sym_next] = ACTIONS(1030),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(3262),
    [anon_sym_defined_QMARK] = ACTIONS(1044),
    [anon_sym_not] = ACTIONS(1046),
    [anon_sym_BANG] = ACTIONS(1050),
    [anon_sym_TILDE] = ACTIONS(1050),
    [sym_constant] = ACTIONS(2262),
    [sym_identifier] = ACTIONS(2262),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(588),
    [anon_sym_super] = ACTIONS(590),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [9962] = {
    [sym__simple_heredoc_body] = ACTIONS(12070),
    [sym__heredoc_body_beginning] = ACTIONS(12070),
    [sym__line_break] = ACTIONS(12070),
    [sym__element_reference_left_bracket] = ACTIONS(12070),
    [sym__scope_double_colon] = ACTIONS(12070),
    [sym__binary_minus] = ACTIONS(12070),
    [sym__binary_star] = ACTIONS(12070),
    [ts_builtin_sym_end] = ACTIONS(12070),
    [anon_sym___END__] = ACTIONS(12070),
    [anon_sym_LBRACE] = ACTIONS(12070),
    [anon_sym_RBRACE] = ACTIONS(12070),
    [anon_sym_RPAREN] = ACTIONS(12070),
    [anon_sym_DOT] = ACTIONS(13430),
    [anon_sym_end] = ACTIONS(12070),
    [anon_sym_COMMA] = ACTIONS(12070),
    [anon_sym_PIPE] = ACTIONS(13430),
    [anon_sym_SEMI] = ACTIONS(12070),
    [anon_sym_STAR_STAR] = ACTIONS(12070),
    [anon_sym_AMP] = ACTIONS(13430),
    [anon_sym_LT] = ACTIONS(13430),
    [anon_sym_if] = ACTIONS(12070),
    [anon_sym_unless] = ACTIONS(12070),
    [anon_sym_while] = ACTIONS(12070),
    [anon_sym_until] = ACTIONS(12070),
    [anon_sym_rescue] = ACTIONS(12070),
    [anon_sym_do] = ACTIONS(12070),
    [anon_sym_when] = ACTIONS(12070),
    [anon_sym_elsif] = ACTIONS(12070),
    [anon_sym_else] = ACTIONS(12070),
    [anon_sym_then] = ACTIONS(12070),
    [anon_sym_ensure] = ACTIONS(12070),
    [anon_sym_EQ_GT] = ACTIONS(12070),
    [anon_sym_AMP_DOT] = ACTIONS(12070),
    [anon_sym_QMARK] = ACTIONS(12070),
    [anon_sym_DOT_DOT] = ACTIONS(13430),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12070),
    [anon_sym_and] = ACTIONS(12070),
    [anon_sym_or] = ACTIONS(12070),
    [anon_sym_PIPE_PIPE] = ACTIONS(12070),
    [anon_sym_AMP_AMP] = ACTIONS(12070),
    [anon_sym_LT_LT] = ACTIONS(12070),
    [anon_sym_GT_GT] = ACTIONS(12070),
    [anon_sym_EQ_EQ] = ACTIONS(13430),
    [anon_sym_BANG_EQ] = ACTIONS(12070),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12070),
    [anon_sym_LT_EQ_GT] = ACTIONS(12070),
    [anon_sym_EQ_TILDE] = ACTIONS(12070),
    [anon_sym_BANG_TILDE] = ACTIONS(12070),
    [anon_sym_LT_EQ] = ACTIONS(13430),
    [anon_sym_GT] = ACTIONS(13430),
    [anon_sym_GT_EQ] = ACTIONS(12070),
    [anon_sym_CARET] = ACTIONS(12070),
    [anon_sym_PLUS] = ACTIONS(12070),
    [anon_sym_SLASH] = ACTIONS(12070),
    [anon_sym_PERCENT] = ACTIONS(12070),
    [sym_comment] = ACTIONS(110),
  },
  [9963] = {
    [sym__simple_string] = ACTIONS(8070),
    [sym__simple_symbol] = ACTIONS(8070),
    [sym__simple_subshell] = ACTIONS(8070),
    [sym__simple_regex] = ACTIONS(8070),
    [sym__simple_word_list] = ACTIONS(8070),
    [sym__string_beginning] = ACTIONS(8070),
    [sym__symbol_beginning] = ACTIONS(8070),
    [sym__subshell_beginning] = ACTIONS(8070),
    [sym__regex_beginning] = ACTIONS(8070),
    [sym__word_list_beginning] = ACTIONS(8070),
    [sym_heredoc_beginning] = ACTIONS(8070),
    [sym__block_ampersand] = ACTIONS(8070),
    [sym__splat_star] = ACTIONS(8070),
    [sym__unary_minus] = ACTIONS(8070),
    [anon_sym_LBRACE] = ACTIONS(8070),
    [anon_sym_def] = ACTIONS(10414),
    [anon_sym_LPAREN] = ACTIONS(8070),
    [anon_sym_COLON_COLON] = ACTIONS(8070),
    [anon_sym_end] = ACTIONS(10414),
    [anon_sym_STAR] = ACTIONS(10414),
    [anon_sym_STAR_STAR] = ACTIONS(8070),
    [anon_sym_class] = ACTIONS(10414),
    [anon_sym_module] = ACTIONS(10414),
    [anon_sym_return] = ACTIONS(10414),
    [anon_sym_yield] = ACTIONS(10414),
    [anon_sym_break] = ACTIONS(10414),
    [anon_sym_next] = ACTIONS(10414),
    [anon_sym_redo] = ACTIONS(10414),
    [anon_sym_retry] = ACTIONS(10414),
    [anon_sym_if] = ACTIONS(10414),
    [anon_sym_unless] = ACTIONS(10414),
    [anon_sym_while] = ACTIONS(10414),
    [anon_sym_until] = ACTIONS(10414),
    [anon_sym_rescue] = ACTIONS(10414),
    [anon_sym_for] = ACTIONS(10414),
    [anon_sym_in] = ACTIONS(10414),
    [anon_sym_do] = ACTIONS(10414),
    [anon_sym_case] = ACTIONS(10414),
    [anon_sym_when] = ACTIONS(10414),
    [anon_sym_elsif] = ACTIONS(10414),
    [anon_sym_else] = ACTIONS(10414),
    [anon_sym_then] = ACTIONS(10414),
    [anon_sym_begin] = ACTIONS(10414),
    [anon_sym_ensure] = ACTIONS(10414),
    [anon_sym_and] = ACTIONS(10414),
    [anon_sym_or] = ACTIONS(10414),
    [anon_sym_PLUS] = ACTIONS(10414),
    [anon_sym_defined_QMARK] = ACTIONS(8070),
    [anon_sym_not] = ACTIONS(10414),
    [anon_sym_BANG] = ACTIONS(8070),
    [anon_sym_TILDE] = ACTIONS(8070),
    [sym_constant] = ACTIONS(10416),
    [sym_identifier] = ACTIONS(10416),
    [sym_instance_variable] = ACTIONS(10414),
    [sym_class_variable] = ACTIONS(10414),
    [sym_global_variable] = ACTIONS(10414),
    [anon_sym_alias] = ACTIONS(10414),
    [anon_sym_defined] = ACTIONS(10414),
    [anon_sym_false] = ACTIONS(10414),
    [anon_sym_nil] = ACTIONS(10414),
    [anon_sym_self] = ACTIONS(10414),
    [anon_sym_super] = ACTIONS(10414),
    [anon_sym_true] = ACTIONS(10414),
    [anon_sym_undef] = ACTIONS(10414),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(10414),
    [sym_float] = ACTIONS(10416),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8070),
    [anon_sym_TRUE] = ACTIONS(10414),
    [anon_sym_FALSE] = ACTIONS(10414),
    [anon_sym_NIL] = ACTIONS(10414),
    [sym_keyword__FILE__] = ACTIONS(10414),
    [sym_keyword__LINE__] = ACTIONS(10414),
    [sym_keyword__ENCODING__] = ACTIONS(10414),
    [sym__character_literal] = ACTIONS(10414),
    [anon_sym_LBRACK] = ACTIONS(8070),
    [anon_sym_DASH_GT] = ACTIONS(8070),
  },
  [9964] = {
    [sym__heredoc_body_middle] = ACTIONS(8296),
    [sym__heredoc_body_end] = ACTIONS(14984),
    [anon_sym_if] = ACTIONS(4112),
    [anon_sym_unless] = ACTIONS(4114),
    [anon_sym_while] = ACTIONS(4116),
    [anon_sym_until] = ACTIONS(4118),
    [anon_sym_rescue] = ACTIONS(4120),
    [sym_comment] = ACTIONS(110),
  },
  [9965] = {
    [sym__simple_heredoc_body] = ACTIONS(14986),
    [sym__heredoc_body_beginning] = ACTIONS(14986),
    [sym__line_break] = ACTIONS(14986),
    [sym__element_reference_left_bracket] = ACTIONS(14986),
    [sym__scope_double_colon] = ACTIONS(14986),
    [sym__binary_minus] = ACTIONS(14986),
    [sym__binary_star] = ACTIONS(14986),
    [ts_builtin_sym_end] = ACTIONS(14986),
    [anon_sym___END__] = ACTIONS(14986),
    [anon_sym_LBRACE] = ACTIONS(14986),
    [anon_sym_RBRACE] = ACTIONS(14986),
    [anon_sym_RPAREN] = ACTIONS(14986),
    [anon_sym_DOT] = ACTIONS(14988),
    [anon_sym_end] = ACTIONS(14986),
    [anon_sym_COMMA] = ACTIONS(14986),
    [anon_sym_PIPE] = ACTIONS(14988),
    [anon_sym_SEMI] = ACTIONS(14986),
    [anon_sym_STAR_STAR] = ACTIONS(14986),
    [anon_sym_AMP] = ACTIONS(14988),
    [anon_sym_LT] = ACTIONS(14988),
    [anon_sym_if] = ACTIONS(14986),
    [anon_sym_unless] = ACTIONS(14986),
    [anon_sym_while] = ACTIONS(14986),
    [anon_sym_until] = ACTIONS(14986),
    [anon_sym_rescue] = ACTIONS(14986),
    [anon_sym_do] = ACTIONS(14986),
    [anon_sym_when] = ACTIONS(14986),
    [anon_sym_elsif] = ACTIONS(14986),
    [anon_sym_else] = ACTIONS(14986),
    [anon_sym_then] = ACTIONS(14986),
    [anon_sym_ensure] = ACTIONS(14986),
    [anon_sym_EQ_GT] = ACTIONS(14986),
    [anon_sym_AMP_DOT] = ACTIONS(14986),
    [anon_sym_QMARK] = ACTIONS(14986),
    [anon_sym_DOT_DOT] = ACTIONS(14988),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(14986),
    [anon_sym_and] = ACTIONS(14986),
    [anon_sym_or] = ACTIONS(14986),
    [anon_sym_PIPE_PIPE] = ACTIONS(14986),
    [anon_sym_AMP_AMP] = ACTIONS(14986),
    [anon_sym_LT_LT] = ACTIONS(14986),
    [anon_sym_GT_GT] = ACTIONS(14986),
    [anon_sym_EQ_EQ] = ACTIONS(14988),
    [anon_sym_BANG_EQ] = ACTIONS(14986),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(14986),
    [anon_sym_LT_EQ_GT] = ACTIONS(14986),
    [anon_sym_EQ_TILDE] = ACTIONS(14986),
    [anon_sym_BANG_TILDE] = ACTIONS(14986),
    [anon_sym_LT_EQ] = ACTIONS(14988),
    [anon_sym_GT] = ACTIONS(14988),
    [anon_sym_GT_EQ] = ACTIONS(14986),
    [anon_sym_CARET] = ACTIONS(14986),
    [anon_sym_PLUS] = ACTIONS(14986),
    [anon_sym_SLASH] = ACTIONS(14986),
    [anon_sym_PERCENT] = ACTIONS(14986),
    [sym_comment] = ACTIONS(110),
  },
  [9966] = {
    [sym__simple_heredoc_body] = ACTIONS(13562),
    [sym__heredoc_body_beginning] = ACTIONS(13562),
    [sym__line_break] = ACTIONS(13562),
    [sym__element_reference_left_bracket] = ACTIONS(13562),
    [sym__scope_double_colon] = ACTIONS(13562),
    [sym__binary_minus] = ACTIONS(13562),
    [sym__binary_star] = ACTIONS(13562),
    [ts_builtin_sym_end] = ACTIONS(13562),
    [anon_sym___END__] = ACTIONS(13562),
    [anon_sym_LBRACE] = ACTIONS(13562),
    [anon_sym_RBRACE] = ACTIONS(13562),
    [anon_sym_RPAREN] = ACTIONS(13562),
    [anon_sym_DOT] = ACTIONS(14302),
    [anon_sym_end] = ACTIONS(13562),
    [anon_sym_COMMA] = ACTIONS(13562),
    [anon_sym_PIPE] = ACTIONS(14302),
    [anon_sym_SEMI] = ACTIONS(13562),
    [anon_sym_STAR_STAR] = ACTIONS(13562),
    [anon_sym_AMP] = ACTIONS(14302),
    [anon_sym_LT] = ACTIONS(14302),
    [anon_sym_if] = ACTIONS(13562),
    [anon_sym_unless] = ACTIONS(13562),
    [anon_sym_while] = ACTIONS(13562),
    [anon_sym_until] = ACTIONS(13562),
    [anon_sym_rescue] = ACTIONS(13562),
    [anon_sym_do] = ACTIONS(13562),
    [anon_sym_when] = ACTIONS(13562),
    [anon_sym_elsif] = ACTIONS(13562),
    [anon_sym_else] = ACTIONS(13562),
    [anon_sym_then] = ACTIONS(13562),
    [anon_sym_ensure] = ACTIONS(13562),
    [anon_sym_EQ_GT] = ACTIONS(13562),
    [anon_sym_AMP_DOT] = ACTIONS(13562),
    [anon_sym_QMARK] = ACTIONS(13562),
    [anon_sym_DOT_DOT] = ACTIONS(14302),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(13562),
    [anon_sym_and] = ACTIONS(13562),
    [anon_sym_or] = ACTIONS(13562),
    [anon_sym_PIPE_PIPE] = ACTIONS(13562),
    [anon_sym_AMP_AMP] = ACTIONS(13562),
    [anon_sym_LT_LT] = ACTIONS(13562),
    [anon_sym_GT_GT] = ACTIONS(13562),
    [anon_sym_EQ_EQ] = ACTIONS(14302),
    [anon_sym_BANG_EQ] = ACTIONS(13562),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(13562),
    [anon_sym_LT_EQ_GT] = ACTIONS(13562),
    [anon_sym_EQ_TILDE] = ACTIONS(13562),
    [anon_sym_BANG_TILDE] = ACTIONS(13562),
    [anon_sym_LT_EQ] = ACTIONS(14302),
    [anon_sym_GT] = ACTIONS(14302),
    [anon_sym_GT_EQ] = ACTIONS(13562),
    [anon_sym_CARET] = ACTIONS(13562),
    [anon_sym_PLUS] = ACTIONS(13562),
    [anon_sym_SLASH] = ACTIONS(13562),
    [anon_sym_PERCENT] = ACTIONS(13562),
    [sym_comment] = ACTIONS(110),
  },
  [9967] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3784),
    [sym__primary] = STATE(337),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(339),
    [sym_call] = STATE(339),
    [sym_method_call] = STATE(338),
    [sym_splat_argument] = STATE(3785),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym__arg_or_splat_arg] = STATE(12156),
    [sym_left_assignment_list] = STATE(345),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(346),
    [sym__variable] = STATE(339),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(327),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(327),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(2204),
    [sym__unary_minus] = ACTIONS(542),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(548),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(2182),
    [anon_sym_yield] = ACTIONS(2184),
    [anon_sym_break] = ACTIONS(2186),
    [anon_sym_next] = ACTIONS(2188),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(2190),
    [anon_sym_defined_QMARK] = ACTIONS(572),
    [anon_sym_not] = ACTIONS(2192),
    [anon_sym_BANG] = ACTIONS(578),
    [anon_sym_TILDE] = ACTIONS(578),
    [sym_constant] = ACTIONS(2194),
    [sym_identifier] = ACTIONS(2194),
    [sym_instance_variable] = ACTIONS(582),
    [sym_class_variable] = ACTIONS(582),
    [sym_global_variable] = ACTIONS(582),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2196),
    [anon_sym_super] = ACTIONS(2198),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9968] = {
    [sym__simple_heredoc_body] = ACTIONS(7008),
    [sym__heredoc_body_beginning] = ACTIONS(7008),
    [sym__line_break] = ACTIONS(7008),
    [sym__element_reference_left_bracket] = ACTIONS(7008),
    [sym__scope_double_colon] = ACTIONS(7008),
    [sym__binary_minus] = ACTIONS(7008),
    [sym__binary_star] = ACTIONS(9510),
    [anon_sym_DOT] = ACTIONS(7010),
    [anon_sym_COMMA] = ACTIONS(7008),
    [anon_sym_PIPE] = ACTIONS(7010),
    [anon_sym_SEMI] = ACTIONS(7008),
    [anon_sym_STAR_STAR] = ACTIONS(9514),
    [anon_sym_AMP] = ACTIONS(7010),
    [anon_sym_LT] = ACTIONS(7010),
    [anon_sym_if] = ACTIONS(7008),
    [anon_sym_unless] = ACTIONS(7008),
    [anon_sym_while] = ACTIONS(7008),
    [anon_sym_until] = ACTIONS(7008),
    [anon_sym_rescue] = ACTIONS(7008),
    [anon_sym_then] = ACTIONS(7008),
    [anon_sym_AMP_DOT] = ACTIONS(7008),
    [anon_sym_QMARK] = ACTIONS(7008),
    [anon_sym_DOT_DOT] = ACTIONS(7010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7008),
    [anon_sym_and] = ACTIONS(7008),
    [anon_sym_or] = ACTIONS(7008),
    [anon_sym_PIPE_PIPE] = ACTIONS(7008),
    [anon_sym_AMP_AMP] = ACTIONS(7008),
    [anon_sym_LT_LT] = ACTIONS(7008),
    [anon_sym_GT_GT] = ACTIONS(7008),
    [anon_sym_EQ_EQ] = ACTIONS(7010),
    [anon_sym_BANG_EQ] = ACTIONS(7008),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7008),
    [anon_sym_LT_EQ_GT] = ACTIONS(7008),
    [anon_sym_EQ_TILDE] = ACTIONS(7008),
    [anon_sym_BANG_TILDE] = ACTIONS(7008),
    [anon_sym_LT_EQ] = ACTIONS(7010),
    [anon_sym_GT] = ACTIONS(7010),
    [anon_sym_GT_EQ] = ACTIONS(7008),
    [anon_sym_CARET] = ACTIONS(7008),
    [anon_sym_PLUS] = ACTIONS(7008),
    [anon_sym_SLASH] = ACTIONS(9514),
    [anon_sym_PERCENT] = ACTIONS(9514),
    [sym_comment] = ACTIONS(110),
  },
  [9969] = {
    [sym__simple_heredoc_body] = ACTIONS(7012),
    [sym__heredoc_body_beginning] = ACTIONS(7012),
    [sym__line_break] = ACTIONS(7012),
    [sym__element_reference_left_bracket] = ACTIONS(7012),
    [sym__scope_double_colon] = ACTIONS(7012),
    [sym__binary_minus] = ACTIONS(7012),
    [sym__binary_star] = ACTIONS(7012),
    [anon_sym_DOT] = ACTIONS(7014),
    [anon_sym_COMMA] = ACTIONS(7012),
    [anon_sym_PIPE] = ACTIONS(7014),
    [anon_sym_SEMI] = ACTIONS(7012),
    [anon_sym_STAR_STAR] = ACTIONS(9514),
    [anon_sym_AMP] = ACTIONS(7014),
    [anon_sym_LT] = ACTIONS(7014),
    [anon_sym_if] = ACTIONS(7012),
    [anon_sym_unless] = ACTIONS(7012),
    [anon_sym_while] = ACTIONS(7012),
    [anon_sym_until] = ACTIONS(7012),
    [anon_sym_rescue] = ACTIONS(7012),
    [anon_sym_then] = ACTIONS(7012),
    [anon_sym_AMP_DOT] = ACTIONS(7012),
    [anon_sym_QMARK] = ACTIONS(7012),
    [anon_sym_DOT_DOT] = ACTIONS(7014),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7012),
    [anon_sym_and] = ACTIONS(7012),
    [anon_sym_or] = ACTIONS(7012),
    [anon_sym_PIPE_PIPE] = ACTIONS(7012),
    [anon_sym_AMP_AMP] = ACTIONS(7012),
    [anon_sym_LT_LT] = ACTIONS(7012),
    [anon_sym_GT_GT] = ACTIONS(7012),
    [anon_sym_EQ_EQ] = ACTIONS(7014),
    [anon_sym_BANG_EQ] = ACTIONS(7012),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7012),
    [anon_sym_LT_EQ_GT] = ACTIONS(7012),
    [anon_sym_EQ_TILDE] = ACTIONS(7012),
    [anon_sym_BANG_TILDE] = ACTIONS(7012),
    [anon_sym_LT_EQ] = ACTIONS(7014),
    [anon_sym_GT] = ACTIONS(7014),
    [anon_sym_GT_EQ] = ACTIONS(7012),
    [anon_sym_CARET] = ACTIONS(7012),
    [anon_sym_PLUS] = ACTIONS(7012),
    [anon_sym_SLASH] = ACTIONS(7012),
    [anon_sym_PERCENT] = ACTIONS(7012),
    [sym_comment] = ACTIONS(110),
  },
  [9970] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(9508),
    [sym__binary_star] = ACTIONS(9510),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(9514),
    [anon_sym_AMP] = ACTIONS(9516),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_then] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(9528),
    [anon_sym_GT_GT] = ACTIONS(9528),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(9536),
    [anon_sym_SLASH] = ACTIONS(9514),
    [anon_sym_PERCENT] = ACTIONS(9514),
    [sym_comment] = ACTIONS(110),
  },
  [9971] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(7016),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(9514),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_then] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(7016),
    [anon_sym_PERCENT] = ACTIONS(7016),
    [sym_comment] = ACTIONS(110),
  },
  [9972] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(9508),
    [sym__binary_star] = ACTIONS(9510),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(9514),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_then] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(9528),
    [anon_sym_GT_GT] = ACTIONS(9528),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(9536),
    [anon_sym_SLASH] = ACTIONS(9514),
    [anon_sym_PERCENT] = ACTIONS(9514),
    [sym_comment] = ACTIONS(110),
  },
  [9973] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(9508),
    [sym__binary_star] = ACTIONS(9510),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(9512),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(9514),
    [anon_sym_AMP] = ACTIONS(9516),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_then] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(9528),
    [anon_sym_GT_GT] = ACTIONS(9528),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(9534),
    [anon_sym_PLUS] = ACTIONS(9536),
    [anon_sym_SLASH] = ACTIONS(9514),
    [anon_sym_PERCENT] = ACTIONS(9514),
    [sym_comment] = ACTIONS(110),
  },
  [9974] = {
    [sym__binary_minus] = ACTIONS(7044),
    [sym__binary_star] = ACTIONS(7046),
    [anon_sym_PIPE] = ACTIONS(7048),
    [anon_sym_STAR_STAR] = ACTIONS(7050),
    [anon_sym_AMP] = ACTIONS(7052),
    [anon_sym_LT] = ACTIONS(7054),
    [anon_sym_QMARK] = ACTIONS(7056),
    [anon_sym_COLON] = ACTIONS(14990),
    [anon_sym_DOT_DOT] = ACTIONS(7060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7062),
    [anon_sym_and] = ACTIONS(7064),
    [anon_sym_or] = ACTIONS(7064),
    [anon_sym_PIPE_PIPE] = ACTIONS(7066),
    [anon_sym_AMP_AMP] = ACTIONS(7066),
    [anon_sym_LT_LT] = ACTIONS(7068),
    [anon_sym_GT_GT] = ACTIONS(7068),
    [anon_sym_EQ_EQ] = ACTIONS(7070),
    [anon_sym_BANG_EQ] = ACTIONS(7066),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7066),
    [anon_sym_LT_EQ_GT] = ACTIONS(7066),
    [anon_sym_EQ_TILDE] = ACTIONS(7066),
    [anon_sym_BANG_TILDE] = ACTIONS(7066),
    [anon_sym_LT_EQ] = ACTIONS(7054),
    [anon_sym_GT] = ACTIONS(7054),
    [anon_sym_GT_EQ] = ACTIONS(7072),
    [anon_sym_CARET] = ACTIONS(7074),
    [anon_sym_PLUS] = ACTIONS(7076),
    [anon_sym_SLASH] = ACTIONS(7050),
    [anon_sym_PERCENT] = ACTIONS(7050),
    [sym_comment] = ACTIONS(110),
  },
  [9975] = {
    [sym__simple_heredoc_body] = ACTIONS(7108),
    [sym__heredoc_body_beginning] = ACTIONS(7108),
    [sym__line_break] = ACTIONS(7108),
    [sym__element_reference_left_bracket] = ACTIONS(7108),
    [sym__scope_double_colon] = ACTIONS(7108),
    [sym__binary_minus] = ACTIONS(9508),
    [sym__binary_star] = ACTIONS(9510),
    [anon_sym_DOT] = ACTIONS(9472),
    [anon_sym_COMMA] = ACTIONS(7108),
    [anon_sym_PIPE] = ACTIONS(9512),
    [anon_sym_SEMI] = ACTIONS(7108),
    [anon_sym_STAR_STAR] = ACTIONS(9514),
    [anon_sym_AMP] = ACTIONS(9516),
    [anon_sym_LT] = ACTIONS(9518),
    [anon_sym_if] = ACTIONS(7108),
    [anon_sym_unless] = ACTIONS(7108),
    [anon_sym_while] = ACTIONS(7108),
    [anon_sym_until] = ACTIONS(7108),
    [anon_sym_rescue] = ACTIONS(7108),
    [anon_sym_then] = ACTIONS(7108),
    [anon_sym_AMP_DOT] = ACTIONS(7108),
    [anon_sym_QMARK] = ACTIONS(7108),
    [anon_sym_DOT_DOT] = ACTIONS(9522),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9524),
    [anon_sym_and] = ACTIONS(7108),
    [anon_sym_or] = ACTIONS(7108),
    [anon_sym_PIPE_PIPE] = ACTIONS(9526),
    [anon_sym_AMP_AMP] = ACTIONS(9526),
    [anon_sym_LT_LT] = ACTIONS(9528),
    [anon_sym_GT_GT] = ACTIONS(9528),
    [anon_sym_EQ_EQ] = ACTIONS(9530),
    [anon_sym_BANG_EQ] = ACTIONS(9526),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9526),
    [anon_sym_LT_EQ_GT] = ACTIONS(9526),
    [anon_sym_EQ_TILDE] = ACTIONS(9526),
    [anon_sym_BANG_TILDE] = ACTIONS(9526),
    [anon_sym_LT_EQ] = ACTIONS(9518),
    [anon_sym_GT] = ACTIONS(9518),
    [anon_sym_GT_EQ] = ACTIONS(9532),
    [anon_sym_CARET] = ACTIONS(9534),
    [anon_sym_PLUS] = ACTIONS(9536),
    [anon_sym_SLASH] = ACTIONS(9514),
    [anon_sym_PERCENT] = ACTIONS(9514),
    [sym_comment] = ACTIONS(110),
  },
  [9976] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(9508),
    [sym__binary_star] = ACTIONS(9510),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(9512),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(9514),
    [anon_sym_AMP] = ACTIONS(9516),
    [anon_sym_LT] = ACTIONS(9518),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_then] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(9520),
    [anon_sym_DOT_DOT] = ACTIONS(9522),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9524),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(9526),
    [anon_sym_AMP_AMP] = ACTIONS(9526),
    [anon_sym_LT_LT] = ACTIONS(9528),
    [anon_sym_GT_GT] = ACTIONS(9528),
    [anon_sym_EQ_EQ] = ACTIONS(9530),
    [anon_sym_BANG_EQ] = ACTIONS(9526),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9526),
    [anon_sym_LT_EQ_GT] = ACTIONS(9526),
    [anon_sym_EQ_TILDE] = ACTIONS(9526),
    [anon_sym_BANG_TILDE] = ACTIONS(9526),
    [anon_sym_LT_EQ] = ACTIONS(9518),
    [anon_sym_GT] = ACTIONS(9518),
    [anon_sym_GT_EQ] = ACTIONS(9532),
    [anon_sym_CARET] = ACTIONS(9534),
    [anon_sym_PLUS] = ACTIONS(9536),
    [anon_sym_SLASH] = ACTIONS(9514),
    [anon_sym_PERCENT] = ACTIONS(9514),
    [sym_comment] = ACTIONS(110),
  },
  [9977] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(9508),
    [sym__binary_star] = ACTIONS(9510),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(9512),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(9514),
    [anon_sym_AMP] = ACTIONS(9516),
    [anon_sym_LT] = ACTIONS(9518),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_then] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(9528),
    [anon_sym_GT_GT] = ACTIONS(9528),
    [anon_sym_EQ_EQ] = ACTIONS(9530),
    [anon_sym_BANG_EQ] = ACTIONS(9526),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9526),
    [anon_sym_LT_EQ_GT] = ACTIONS(9526),
    [anon_sym_EQ_TILDE] = ACTIONS(9526),
    [anon_sym_BANG_TILDE] = ACTIONS(9526),
    [anon_sym_LT_EQ] = ACTIONS(9518),
    [anon_sym_GT] = ACTIONS(9518),
    [anon_sym_GT_EQ] = ACTIONS(9532),
    [anon_sym_CARET] = ACTIONS(9534),
    [anon_sym_PLUS] = ACTIONS(9536),
    [anon_sym_SLASH] = ACTIONS(9514),
    [anon_sym_PERCENT] = ACTIONS(9514),
    [sym_comment] = ACTIONS(110),
  },
  [9978] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(9508),
    [sym__binary_star] = ACTIONS(9510),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(9514),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_then] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(9536),
    [anon_sym_SLASH] = ACTIONS(9514),
    [anon_sym_PERCENT] = ACTIONS(9514),
    [sym_comment] = ACTIONS(110),
  },
  [9979] = {
    [sym__simple_heredoc_body] = ACTIONS(7016),
    [sym__heredoc_body_beginning] = ACTIONS(7016),
    [sym__line_break] = ACTIONS(7016),
    [sym__element_reference_left_bracket] = ACTIONS(7016),
    [sym__scope_double_colon] = ACTIONS(7016),
    [sym__binary_minus] = ACTIONS(7016),
    [sym__binary_star] = ACTIONS(9510),
    [anon_sym_DOT] = ACTIONS(7018),
    [anon_sym_COMMA] = ACTIONS(7016),
    [anon_sym_PIPE] = ACTIONS(7018),
    [anon_sym_SEMI] = ACTIONS(7016),
    [anon_sym_STAR_STAR] = ACTIONS(9514),
    [anon_sym_AMP] = ACTIONS(7018),
    [anon_sym_LT] = ACTIONS(7018),
    [anon_sym_if] = ACTIONS(7016),
    [anon_sym_unless] = ACTIONS(7016),
    [anon_sym_while] = ACTIONS(7016),
    [anon_sym_until] = ACTIONS(7016),
    [anon_sym_rescue] = ACTIONS(7016),
    [anon_sym_then] = ACTIONS(7016),
    [anon_sym_AMP_DOT] = ACTIONS(7016),
    [anon_sym_QMARK] = ACTIONS(7016),
    [anon_sym_DOT_DOT] = ACTIONS(7018),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7016),
    [anon_sym_and] = ACTIONS(7016),
    [anon_sym_or] = ACTIONS(7016),
    [anon_sym_PIPE_PIPE] = ACTIONS(7016),
    [anon_sym_AMP_AMP] = ACTIONS(7016),
    [anon_sym_LT_LT] = ACTIONS(7016),
    [anon_sym_GT_GT] = ACTIONS(7016),
    [anon_sym_EQ_EQ] = ACTIONS(7018),
    [anon_sym_BANG_EQ] = ACTIONS(7016),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7016),
    [anon_sym_LT_EQ_GT] = ACTIONS(7016),
    [anon_sym_EQ_TILDE] = ACTIONS(7016),
    [anon_sym_BANG_TILDE] = ACTIONS(7016),
    [anon_sym_LT_EQ] = ACTIONS(7018),
    [anon_sym_GT] = ACTIONS(7018),
    [anon_sym_GT_EQ] = ACTIONS(7016),
    [anon_sym_CARET] = ACTIONS(7016),
    [anon_sym_PLUS] = ACTIONS(7016),
    [anon_sym_SLASH] = ACTIONS(9514),
    [anon_sym_PERCENT] = ACTIONS(9514),
    [sym_comment] = ACTIONS(110),
  },
  [9980] = {
    [sym__simple_heredoc_body] = ACTIONS(6346),
    [sym__heredoc_body_beginning] = ACTIONS(6346),
    [sym__line_break] = ACTIONS(6346),
    [sym__element_reference_left_bracket] = ACTIONS(6346),
    [sym__scope_double_colon] = ACTIONS(6346),
    [sym__binary_minus] = ACTIONS(9508),
    [sym__binary_star] = ACTIONS(9510),
    [anon_sym_DOT] = ACTIONS(7328),
    [anon_sym_COMMA] = ACTIONS(6346),
    [anon_sym_PIPE] = ACTIONS(9512),
    [anon_sym_SEMI] = ACTIONS(6346),
    [anon_sym_STAR_STAR] = ACTIONS(9514),
    [anon_sym_AMP] = ACTIONS(9516),
    [anon_sym_LT] = ACTIONS(9518),
    [anon_sym_if] = ACTIONS(6346),
    [anon_sym_unless] = ACTIONS(6346),
    [anon_sym_while] = ACTIONS(6346),
    [anon_sym_until] = ACTIONS(6346),
    [anon_sym_rescue] = ACTIONS(6346),
    [anon_sym_then] = ACTIONS(6346),
    [anon_sym_AMP_DOT] = ACTIONS(6346),
    [anon_sym_QMARK] = ACTIONS(9520),
    [anon_sym_DOT_DOT] = ACTIONS(9522),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9524),
    [anon_sym_and] = ACTIONS(6346),
    [anon_sym_or] = ACTIONS(6346),
    [anon_sym_PIPE_PIPE] = ACTIONS(9526),
    [anon_sym_AMP_AMP] = ACTIONS(9526),
    [anon_sym_LT_LT] = ACTIONS(9528),
    [anon_sym_GT_GT] = ACTIONS(9528),
    [anon_sym_EQ_EQ] = ACTIONS(9530),
    [anon_sym_BANG_EQ] = ACTIONS(9526),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9526),
    [anon_sym_LT_EQ_GT] = ACTIONS(9526),
    [anon_sym_EQ_TILDE] = ACTIONS(9526),
    [anon_sym_BANG_TILDE] = ACTIONS(9526),
    [anon_sym_LT_EQ] = ACTIONS(9518),
    [anon_sym_GT] = ACTIONS(9518),
    [anon_sym_GT_EQ] = ACTIONS(9532),
    [anon_sym_CARET] = ACTIONS(9534),
    [anon_sym_PLUS] = ACTIONS(9536),
    [anon_sym_SLASH] = ACTIONS(9514),
    [anon_sym_PERCENT] = ACTIONS(9514),
    [sym_comment] = ACTIONS(110),
  },
  [9981] = {
    [aux_sym_exceptions_repeat1] = STATE(12159),
    [sym__simple_heredoc_body] = ACTIONS(7330),
    [sym__heredoc_body_beginning] = ACTIONS(7330),
    [sym__line_break] = ACTIONS(7330),
    [sym__element_reference_left_bracket] = ACTIONS(7330),
    [sym__scope_double_colon] = ACTIONS(7330),
    [sym__binary_minus] = ACTIONS(7330),
    [sym__binary_star] = ACTIONS(7330),
    [anon_sym_DOT] = ACTIONS(7332),
    [anon_sym_COMMA] = ACTIONS(7330),
    [anon_sym_PIPE] = ACTIONS(7332),
    [anon_sym_SEMI] = ACTIONS(7330),
    [anon_sym_STAR_STAR] = ACTIONS(7330),
    [anon_sym_AMP] = ACTIONS(7332),
    [anon_sym_LT] = ACTIONS(7332),
    [anon_sym_if] = ACTIONS(7330),
    [anon_sym_unless] = ACTIONS(7330),
    [anon_sym_while] = ACTIONS(7330),
    [anon_sym_until] = ACTIONS(7330),
    [anon_sym_rescue] = ACTIONS(7330),
    [anon_sym_then] = ACTIONS(7330),
    [anon_sym_AMP_DOT] = ACTIONS(7330),
    [anon_sym_QMARK] = ACTIONS(7330),
    [anon_sym_DOT_DOT] = ACTIONS(7332),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(7330),
    [anon_sym_and] = ACTIONS(7330),
    [anon_sym_or] = ACTIONS(7330),
    [anon_sym_PIPE_PIPE] = ACTIONS(7330),
    [anon_sym_AMP_AMP] = ACTIONS(7330),
    [anon_sym_LT_LT] = ACTIONS(7330),
    [anon_sym_GT_GT] = ACTIONS(7330),
    [anon_sym_EQ_EQ] = ACTIONS(7332),
    [anon_sym_BANG_EQ] = ACTIONS(7330),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(7330),
    [anon_sym_LT_EQ_GT] = ACTIONS(7330),
    [anon_sym_EQ_TILDE] = ACTIONS(7330),
    [anon_sym_BANG_TILDE] = ACTIONS(7330),
    [anon_sym_LT_EQ] = ACTIONS(7332),
    [anon_sym_GT] = ACTIONS(7332),
    [anon_sym_GT_EQ] = ACTIONS(7330),
    [anon_sym_CARET] = ACTIONS(7330),
    [anon_sym_PLUS] = ACTIONS(7330),
    [anon_sym_SLASH] = ACTIONS(7330),
    [anon_sym_PERCENT] = ACTIONS(7330),
    [sym_comment] = ACTIONS(110),
  },
  [9982] = {
    [sym__simple_heredoc_body] = ACTIONS(7344),
    [sym__heredoc_body_beginning] = ACTIONS(7344),
    [sym__line_break] = ACTIONS(7344),
    [sym__element_reference_left_bracket] = ACTIONS(7344),
    [sym__scope_double_colon] = ACTIONS(7344),
    [sym__binary_minus] = ACTIONS(9508),
    [sym__binary_star] = ACTIONS(9510),
    [anon_sym_DOT] = ACTIONS(9504),
    [anon_sym_COMMA] = ACTIONS(7344),
    [anon_sym_PIPE] = ACTIONS(9512),
    [anon_sym_SEMI] = ACTIONS(7344),
    [anon_sym_STAR_STAR] = ACTIONS(9514),
    [anon_sym_AMP] = ACTIONS(9516),
    [anon_sym_LT] = ACTIONS(9518),
    [anon_sym_if] = ACTIONS(7344),
    [anon_sym_unless] = ACTIONS(7344),
    [anon_sym_while] = ACTIONS(7344),
    [anon_sym_until] = ACTIONS(7344),
    [anon_sym_rescue] = ACTIONS(7344),
    [anon_sym_then] = ACTIONS(7344),
    [anon_sym_AMP_DOT] = ACTIONS(7344),
    [anon_sym_QMARK] = ACTIONS(9520),
    [anon_sym_DOT_DOT] = ACTIONS(9522),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(9524),
    [anon_sym_and] = ACTIONS(7344),
    [anon_sym_or] = ACTIONS(7344),
    [anon_sym_PIPE_PIPE] = ACTIONS(9526),
    [anon_sym_AMP_AMP] = ACTIONS(9526),
    [anon_sym_LT_LT] = ACTIONS(9528),
    [anon_sym_GT_GT] = ACTIONS(9528),
    [anon_sym_EQ_EQ] = ACTIONS(9530),
    [anon_sym_BANG_EQ] = ACTIONS(9526),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(9526),
    [anon_sym_LT_EQ_GT] = ACTIONS(9526),
    [anon_sym_EQ_TILDE] = ACTIONS(9526),
    [anon_sym_BANG_TILDE] = ACTIONS(9526),
    [anon_sym_LT_EQ] = ACTIONS(9518),
    [anon_sym_GT] = ACTIONS(9518),
    [anon_sym_GT_EQ] = ACTIONS(9532),
    [anon_sym_CARET] = ACTIONS(9534),
    [anon_sym_PLUS] = ACTIONS(9536),
    [anon_sym_SLASH] = ACTIONS(9514),
    [anon_sym_PERCENT] = ACTIONS(9514),
    [sym_comment] = ACTIONS(110),
  },
  [9983] = {
    [sym__simple_heredoc_body] = ACTIONS(8568),
    [sym__heredoc_body_beginning] = ACTIONS(8568),
    [sym__line_break] = ACTIONS(8568),
    [sym__element_reference_left_bracket] = ACTIONS(8568),
    [sym__scope_double_colon] = ACTIONS(8568),
    [sym__binary_minus] = ACTIONS(5514),
    [sym__binary_star] = ACTIONS(5516),
    [anon_sym_DOT] = ACTIONS(9468),
    [anon_sym_COMMA] = ACTIONS(8568),
    [anon_sym_PIPE] = ACTIONS(5518),
    [anon_sym_SEMI] = ACTIONS(8568),
    [anon_sym_STAR_STAR] = ACTIONS(5520),
    [anon_sym_AMP] = ACTIONS(5522),
    [anon_sym_LT] = ACTIONS(5524),
    [anon_sym_if] = ACTIONS(8568),
    [anon_sym_unless] = ACTIONS(8568),
    [anon_sym_while] = ACTIONS(8568),
    [anon_sym_until] = ACTIONS(8568),
    [anon_sym_rescue] = ACTIONS(8568),
    [anon_sym_then] = ACTIONS(8568),
    [anon_sym_EQ_GT] = ACTIONS(8568),
    [anon_sym_AMP_DOT] = ACTIONS(8568),
    [anon_sym_QMARK] = ACTIONS(5526),
    [anon_sym_DOT_DOT] = ACTIONS(5528),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5530),
    [anon_sym_and] = ACTIONS(8568),
    [anon_sym_or] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE] = ACTIONS(5532),
    [anon_sym_AMP_AMP] = ACTIONS(5532),
    [anon_sym_LT_LT] = ACTIONS(5534),
    [anon_sym_GT_GT] = ACTIONS(5534),
    [anon_sym_EQ_EQ] = ACTIONS(5536),
    [anon_sym_BANG_EQ] = ACTIONS(5532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5532),
    [anon_sym_LT_EQ_GT] = ACTIONS(5532),
    [anon_sym_EQ_TILDE] = ACTIONS(5532),
    [anon_sym_BANG_TILDE] = ACTIONS(5532),
    [anon_sym_LT_EQ] = ACTIONS(5524),
    [anon_sym_GT] = ACTIONS(5524),
    [anon_sym_GT_EQ] = ACTIONS(5538),
    [anon_sym_CARET] = ACTIONS(5540),
    [anon_sym_PLUS] = ACTIONS(5542),
    [anon_sym_SLASH] = ACTIONS(5520),
    [anon_sym_PERCENT] = ACTIONS(5520),
    [sym_comment] = ACTIONS(110),
  },
  [9984] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3808),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1466),
    [sym_call] = STATE(1466),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(6955),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1468),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1469),
    [sym__variable] = STATE(1466),
    [sym_reserved_identifier] = STATE(3810),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(3811),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__block_ampersand] = ACTIONS(5506),
    [sym__splat_star] = ACTIONS(5508),
    [sym__unary_minus] = ACTIONS(2302),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(12796),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2304),
    [anon_sym_yield] = ACTIONS(2306),
    [anon_sym_break] = ACTIONS(2308),
    [anon_sym_next] = ACTIONS(2310),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(5502),
    [anon_sym_defined_QMARK] = ACTIONS(2312),
    [anon_sym_not] = ACTIONS(2314),
    [anon_sym_BANG] = ACTIONS(2318),
    [anon_sym_TILDE] = ACTIONS(2318),
    [sym_constant] = ACTIONS(5510),
    [sym_identifier] = ACTIONS(5510),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9985] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(3808),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1466),
    [sym_call] = STATE(1466),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(6955),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1468),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1469),
    [sym__variable] = STATE(1466),
    [sym_reserved_identifier] = STATE(3810),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(3811),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(12160),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__block_ampersand] = ACTIONS(5506),
    [sym__splat_star] = ACTIONS(5508),
    [sym__unary_minus] = ACTIONS(2302),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(12796),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2304),
    [anon_sym_yield] = ACTIONS(2306),
    [anon_sym_break] = ACTIONS(2308),
    [anon_sym_next] = ACTIONS(2310),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(5502),
    [anon_sym_defined_QMARK] = ACTIONS(2312),
    [anon_sym_not] = ACTIONS(2314),
    [anon_sym_BANG] = ACTIONS(2318),
    [anon_sym_TILDE] = ACTIONS(2318),
    [sym_constant] = ACTIONS(5510),
    [sym_identifier] = ACTIONS(5510),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9986] = {
    [sym__simple_heredoc_body] = ACTIONS(8662),
    [sym__heredoc_body_beginning] = ACTIONS(8662),
    [sym__line_break] = ACTIONS(8662),
    [sym__element_reference_left_bracket] = ACTIONS(8662),
    [sym__scope_double_colon] = ACTIONS(8662),
    [sym__binary_minus] = ACTIONS(5514),
    [sym__binary_star] = ACTIONS(5516),
    [anon_sym_DOT] = ACTIONS(9506),
    [anon_sym_COMMA] = ACTIONS(8662),
    [anon_sym_PIPE] = ACTIONS(5518),
    [anon_sym_SEMI] = ACTIONS(8662),
    [anon_sym_STAR_STAR] = ACTIONS(5520),
    [anon_sym_AMP] = ACTIONS(5522),
    [anon_sym_LT] = ACTIONS(5524),
    [anon_sym_if] = ACTIONS(8662),
    [anon_sym_unless] = ACTIONS(8662),
    [anon_sym_while] = ACTIONS(8662),
    [anon_sym_until] = ACTIONS(8662),
    [anon_sym_rescue] = ACTIONS(8662),
    [anon_sym_then] = ACTIONS(8662),
    [anon_sym_EQ_GT] = ACTIONS(8662),
    [anon_sym_AMP_DOT] = ACTIONS(8662),
    [anon_sym_QMARK] = ACTIONS(5526),
    [anon_sym_DOT_DOT] = ACTIONS(5528),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5530),
    [anon_sym_and] = ACTIONS(8662),
    [anon_sym_or] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE] = ACTIONS(5532),
    [anon_sym_AMP_AMP] = ACTIONS(5532),
    [anon_sym_LT_LT] = ACTIONS(5534),
    [anon_sym_GT_GT] = ACTIONS(5534),
    [anon_sym_EQ_EQ] = ACTIONS(5536),
    [anon_sym_BANG_EQ] = ACTIONS(5532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5532),
    [anon_sym_LT_EQ_GT] = ACTIONS(5532),
    [anon_sym_EQ_TILDE] = ACTIONS(5532),
    [anon_sym_BANG_TILDE] = ACTIONS(5532),
    [anon_sym_LT_EQ] = ACTIONS(5524),
    [anon_sym_GT] = ACTIONS(5524),
    [anon_sym_GT_EQ] = ACTIONS(5538),
    [anon_sym_CARET] = ACTIONS(5540),
    [anon_sym_PLUS] = ACTIONS(5542),
    [anon_sym_SLASH] = ACTIONS(5520),
    [anon_sym_PERCENT] = ACTIONS(5520),
    [sym_comment] = ACTIONS(110),
  },
  [9987] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(12161),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1466),
    [sym_call] = STATE(1466),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1468),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1469),
    [sym__variable] = STATE(1466),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(2302),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5494),
    [anon_sym_yield] = ACTIONS(5496),
    [anon_sym_break] = ACTIONS(5498),
    [anon_sym_next] = ACTIONS(5500),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5502),
    [anon_sym_defined_QMARK] = ACTIONS(2312),
    [anon_sym_not] = ACTIONS(5504),
    [anon_sym_BANG] = ACTIONS(2318),
    [anon_sym_TILDE] = ACTIONS(2318),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9988] = {
    [sym__simple_heredoc_body] = ACTIONS(8568),
    [sym__heredoc_body_beginning] = ACTIONS(8568),
    [sym__line_break] = ACTIONS(8568),
    [sym__element_reference_left_bracket] = ACTIONS(8568),
    [sym__scope_double_colon] = ACTIONS(8568),
    [sym__binary_minus] = ACTIONS(5632),
    [sym__binary_star] = ACTIONS(5634),
    [anon_sym_LBRACE] = ACTIONS(8568),
    [anon_sym_DOT] = ACTIONS(9468),
    [anon_sym_COMMA] = ACTIONS(8568),
    [anon_sym_PIPE] = ACTIONS(5636),
    [anon_sym_SEMI] = ACTIONS(8568),
    [anon_sym_STAR_STAR] = ACTIONS(5638),
    [anon_sym_AMP] = ACTIONS(5640),
    [anon_sym_EQ] = ACTIONS(9468),
    [anon_sym_LT] = ACTIONS(5642),
    [anon_sym_if] = ACTIONS(8568),
    [anon_sym_unless] = ACTIONS(8568),
    [anon_sym_while] = ACTIONS(8568),
    [anon_sym_until] = ACTIONS(8568),
    [anon_sym_rescue] = ACTIONS(8568),
    [anon_sym_do] = ACTIONS(8568),
    [anon_sym_then] = ACTIONS(8568),
    [anon_sym_EQ_GT] = ACTIONS(8568),
    [anon_sym_AMP_DOT] = ACTIONS(8568),
    [anon_sym_PLUS_EQ] = ACTIONS(8568),
    [anon_sym_DASH_EQ] = ACTIONS(8568),
    [anon_sym_STAR_EQ] = ACTIONS(8568),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8568),
    [anon_sym_SLASH_EQ] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8568),
    [anon_sym_PIPE_EQ] = ACTIONS(8568),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8568),
    [anon_sym_AMP_EQ] = ACTIONS(8568),
    [anon_sym_PERCENT_EQ] = ACTIONS(8568),
    [anon_sym_GT_GT_EQ] = ACTIONS(8568),
    [anon_sym_LT_LT_EQ] = ACTIONS(8568),
    [anon_sym_CARET_EQ] = ACTIONS(8568),
    [anon_sym_QMARK] = ACTIONS(5644),
    [anon_sym_DOT_DOT] = ACTIONS(5646),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5648),
    [anon_sym_and] = ACTIONS(8568),
    [anon_sym_or] = ACTIONS(8568),
    [anon_sym_PIPE_PIPE] = ACTIONS(5650),
    [anon_sym_AMP_AMP] = ACTIONS(5650),
    [anon_sym_LT_LT] = ACTIONS(5652),
    [anon_sym_GT_GT] = ACTIONS(5652),
    [anon_sym_EQ_EQ] = ACTIONS(5650),
    [anon_sym_BANG_EQ] = ACTIONS(5654),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5654),
    [anon_sym_LT_EQ_GT] = ACTIONS(5654),
    [anon_sym_EQ_TILDE] = ACTIONS(5654),
    [anon_sym_BANG_TILDE] = ACTIONS(5654),
    [anon_sym_LT_EQ] = ACTIONS(5642),
    [anon_sym_GT] = ACTIONS(5642),
    [anon_sym_GT_EQ] = ACTIONS(5656),
    [anon_sym_CARET] = ACTIONS(5636),
    [anon_sym_PLUS] = ACTIONS(5658),
    [anon_sym_SLASH] = ACTIONS(5638),
    [anon_sym_PERCENT] = ACTIONS(5638),
    [sym_comment] = ACTIONS(256),
  },
  [9989] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(3831),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1511),
    [sym_call] = STATE(1511),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(9960),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1513),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1514),
    [sym__variable] = STATE(1511),
    [sym_reserved_identifier] = STATE(3833),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(3834),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__block_ampersand] = ACTIONS(5544),
    [sym__splat_star] = ACTIONS(5546),
    [sym__unary_minus] = ACTIONS(2376),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(12802),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2378),
    [anon_sym_yield] = ACTIONS(2380),
    [anon_sym_break] = ACTIONS(2382),
    [anon_sym_next] = ACTIONS(2384),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(5626),
    [anon_sym_defined_QMARK] = ACTIONS(2386),
    [anon_sym_not] = ACTIONS(2388),
    [anon_sym_BANG] = ACTIONS(2392),
    [anon_sym_TILDE] = ACTIONS(2392),
    [sym_constant] = ACTIONS(5548),
    [sym_identifier] = ACTIONS(5548),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [9990] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(3831),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1511),
    [sym_call] = STATE(1511),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(9960),
    [sym_splat_argument] = STATE(1438),
    [sym_hash_splat_argument] = STATE(1438),
    [sym_block_argument] = STATE(1438),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(1513),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1514),
    [sym__variable] = STATE(1511),
    [sym_reserved_identifier] = STATE(3833),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(3834),
    [sym_subshell] = STATE(561),
    [sym_heredoc_end] = STATE(12162),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_pair] = STATE(1438),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(984),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(994),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__block_ampersand] = ACTIONS(5544),
    [sym__splat_star] = ACTIONS(5546),
    [sym__unary_minus] = ACTIONS(2376),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(12802),
    [anon_sym_class] = ACTIONS(1020),
    [anon_sym_module] = ACTIONS(1022),
    [anon_sym_return] = ACTIONS(2378),
    [anon_sym_yield] = ACTIONS(2380),
    [anon_sym_break] = ACTIONS(2382),
    [anon_sym_next] = ACTIONS(2384),
    [anon_sym_redo] = ACTIONS(1032),
    [anon_sym_retry] = ACTIONS(1034),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_unless] = ACTIONS(2498),
    [anon_sym_while] = ACTIONS(2500),
    [anon_sym_until] = ACTIONS(2502),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(1040),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(1042),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(5626),
    [anon_sym_defined_QMARK] = ACTIONS(2386),
    [anon_sym_not] = ACTIONS(2388),
    [anon_sym_BANG] = ACTIONS(2392),
    [anon_sym_TILDE] = ACTIONS(2392),
    [sym_constant] = ACTIONS(5548),
    [sym_identifier] = ACTIONS(5548),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(1062),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [9991] = {
    [sym__simple_heredoc_body] = ACTIONS(8662),
    [sym__heredoc_body_beginning] = ACTIONS(8662),
    [sym__line_break] = ACTIONS(8662),
    [sym__element_reference_left_bracket] = ACTIONS(8662),
    [sym__scope_double_colon] = ACTIONS(8662),
    [sym__binary_minus] = ACTIONS(5632),
    [sym__binary_star] = ACTIONS(5634),
    [anon_sym_LBRACE] = ACTIONS(8662),
    [anon_sym_DOT] = ACTIONS(9506),
    [anon_sym_COMMA] = ACTIONS(8662),
    [anon_sym_PIPE] = ACTIONS(5636),
    [anon_sym_SEMI] = ACTIONS(8662),
    [anon_sym_STAR_STAR] = ACTIONS(5638),
    [anon_sym_AMP] = ACTIONS(5640),
    [anon_sym_EQ] = ACTIONS(9506),
    [anon_sym_LT] = ACTIONS(5642),
    [anon_sym_if] = ACTIONS(8662),
    [anon_sym_unless] = ACTIONS(8662),
    [anon_sym_while] = ACTIONS(8662),
    [anon_sym_until] = ACTIONS(8662),
    [anon_sym_rescue] = ACTIONS(8662),
    [anon_sym_do] = ACTIONS(8662),
    [anon_sym_then] = ACTIONS(8662),
    [anon_sym_EQ_GT] = ACTIONS(8662),
    [anon_sym_AMP_DOT] = ACTIONS(8662),
    [anon_sym_PLUS_EQ] = ACTIONS(8662),
    [anon_sym_DASH_EQ] = ACTIONS(8662),
    [anon_sym_STAR_EQ] = ACTIONS(8662),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(8662),
    [anon_sym_SLASH_EQ] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(8662),
    [anon_sym_PIPE_EQ] = ACTIONS(8662),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(8662),
    [anon_sym_AMP_EQ] = ACTIONS(8662),
    [anon_sym_PERCENT_EQ] = ACTIONS(8662),
    [anon_sym_GT_GT_EQ] = ACTIONS(8662),
    [anon_sym_LT_LT_EQ] = ACTIONS(8662),
    [anon_sym_CARET_EQ] = ACTIONS(8662),
    [anon_sym_QMARK] = ACTIONS(5644),
    [anon_sym_DOT_DOT] = ACTIONS(5646),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5648),
    [anon_sym_and] = ACTIONS(8662),
    [anon_sym_or] = ACTIONS(8662),
    [anon_sym_PIPE_PIPE] = ACTIONS(5650),
    [anon_sym_AMP_AMP] = ACTIONS(5650),
    [anon_sym_LT_LT] = ACTIONS(5652),
    [anon_sym_GT_GT] = ACTIONS(5652),
    [anon_sym_EQ_EQ] = ACTIONS(5650),
    [anon_sym_BANG_EQ] = ACTIONS(5654),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5654),
    [anon_sym_LT_EQ_GT] = ACTIONS(5654),
    [anon_sym_EQ_TILDE] = ACTIONS(5654),
    [anon_sym_BANG_TILDE] = ACTIONS(5654),
    [anon_sym_LT_EQ] = ACTIONS(5642),
    [anon_sym_GT] = ACTIONS(5642),
    [anon_sym_GT_EQ] = ACTIONS(5656),
    [anon_sym_CARET] = ACTIONS(5636),
    [anon_sym_PLUS] = ACTIONS(5658),
    [anon_sym_SLASH] = ACTIONS(5638),
    [anon_sym_PERCENT] = ACTIONS(5638),
    [sym_comment] = ACTIONS(256),
  },
  [9992] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1465),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1466),
    [sym_call] = STATE(1466),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(9965),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(1468),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1469),
    [sym__variable] = STATE(1466),
    [sym_reserved_identifier] = STATE(1470),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(1471),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__block_ampersand] = ACTIONS(2298),
    [sym__splat_star] = ACTIONS(2300),
    [sym__unary_minus] = ACTIONS(2302),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(9556),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(2304),
    [anon_sym_yield] = ACTIONS(2306),
    [anon_sym_break] = ACTIONS(2308),
    [anon_sym_next] = ACTIONS(2310),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(5502),
    [anon_sym_defined_QMARK] = ACTIONS(2312),
    [anon_sym_not] = ACTIONS(2314),
    [anon_sym_BANG] = ACTIONS(2318),
    [anon_sym_TILDE] = ACTIONS(2318),
    [sym_constant] = ACTIONS(2320),
    [sym_identifier] = ACTIONS(2320),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9993] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7005),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(1466),
    [sym_call] = STATE(1466),
    [sym_method_call] = STATE(338),
    [sym_splat_argument] = STATE(3785),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym__arg_or_splat_arg] = STATE(9966),
    [sym_left_assignment_list] = STATE(1468),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(1469),
    [sym__variable] = STATE(1466),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(5508),
    [sym__unary_minus] = ACTIONS(2302),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5494),
    [anon_sym_yield] = ACTIONS(5496),
    [anon_sym_break] = ACTIONS(5498),
    [anon_sym_next] = ACTIONS(5500),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(5502),
    [anon_sym_defined_QMARK] = ACTIONS(2312),
    [anon_sym_not] = ACTIONS(5504),
    [anon_sym_BANG] = ACTIONS(2318),
    [anon_sym_TILDE] = ACTIONS(2318),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9994] = {
    [sym__simple_heredoc_body] = ACTIONS(11422),
    [sym__heredoc_body_beginning] = ACTIONS(11422),
    [sym__line_break] = ACTIONS(11422),
    [sym__element_reference_left_bracket] = ACTIONS(11422),
    [sym__scope_double_colon] = ACTIONS(11422),
    [sym__binary_minus] = ACTIONS(11422),
    [sym__binary_star] = ACTIONS(11422),
    [anon_sym_DOT] = ACTIONS(11426),
    [anon_sym_COMMA] = ACTIONS(14992),
    [anon_sym_PIPE] = ACTIONS(11426),
    [anon_sym_SEMI] = ACTIONS(11422),
    [anon_sym_STAR_STAR] = ACTIONS(11422),
    [anon_sym_AMP] = ACTIONS(11426),
    [anon_sym_LT] = ACTIONS(11426),
    [anon_sym_if] = ACTIONS(11422),
    [anon_sym_unless] = ACTIONS(11422),
    [anon_sym_while] = ACTIONS(11422),
    [anon_sym_until] = ACTIONS(11422),
    [anon_sym_rescue] = ACTIONS(11422),
    [anon_sym_then] = ACTIONS(11422),
    [anon_sym_EQ_GT] = ACTIONS(11422),
    [anon_sym_AMP_DOT] = ACTIONS(11422),
    [anon_sym_QMARK] = ACTIONS(11422),
    [anon_sym_DOT_DOT] = ACTIONS(11426),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(11422),
    [anon_sym_and] = ACTIONS(11422),
    [anon_sym_or] = ACTIONS(11422),
    [anon_sym_PIPE_PIPE] = ACTIONS(11422),
    [anon_sym_AMP_AMP] = ACTIONS(11422),
    [anon_sym_LT_LT] = ACTIONS(11422),
    [anon_sym_GT_GT] = ACTIONS(11422),
    [anon_sym_EQ_EQ] = ACTIONS(11426),
    [anon_sym_BANG_EQ] = ACTIONS(11422),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(11422),
    [anon_sym_LT_EQ_GT] = ACTIONS(11422),
    [anon_sym_EQ_TILDE] = ACTIONS(11422),
    [anon_sym_BANG_TILDE] = ACTIONS(11422),
    [anon_sym_LT_EQ] = ACTIONS(11426),
    [anon_sym_GT] = ACTIONS(11426),
    [anon_sym_GT_EQ] = ACTIONS(11422),
    [anon_sym_CARET] = ACTIONS(11422),
    [anon_sym_PLUS] = ACTIONS(11422),
    [anon_sym_SLASH] = ACTIONS(11422),
    [anon_sym_PERCENT] = ACTIONS(11422),
    [sym_comment] = ACTIONS(110),
  },
  [9995] = {
    [sym__simple_string] = ACTIONS(12070),
    [sym__simple_symbol] = ACTIONS(12070),
    [sym__simple_subshell] = ACTIONS(12070),
    [sym__simple_regex] = ACTIONS(12070),
    [sym__simple_word_list] = ACTIONS(12070),
    [sym__simple_heredoc_body] = ACTIONS(12070),
    [sym__string_beginning] = ACTIONS(12070),
    [sym__symbol_beginning] = ACTIONS(12070),
    [sym__subshell_beginning] = ACTIONS(12070),
    [sym__regex_beginning] = ACTIONS(12070),
    [sym__word_list_beginning] = ACTIONS(12070),
    [sym__heredoc_body_beginning] = ACTIONS(12070),
    [sym_heredoc_beginning] = ACTIONS(12070),
    [sym__line_break] = ACTIONS(12070),
    [sym__unary_minus] = ACTIONS(12070),
    [anon_sym_BEGIN] = ACTIONS(13430),
    [anon_sym_LBRACE] = ACTIONS(12070),
    [anon_sym_END] = ACTIONS(13430),
    [anon_sym_def] = ACTIONS(13430),
    [anon_sym_LPAREN] = ACTIONS(12070),
    [anon_sym_COLON_COLON] = ACTIONS(12070),
    [anon_sym_end] = ACTIONS(13430),
    [anon_sym_SEMI] = ACTIONS(12070),
    [anon_sym_STAR] = ACTIONS(12070),
    [anon_sym_class] = ACTIONS(13430),
    [anon_sym_module] = ACTIONS(13430),
    [anon_sym_return] = ACTIONS(13430),
    [anon_sym_yield] = ACTIONS(13430),
    [anon_sym_break] = ACTIONS(13430),
    [anon_sym_next] = ACTIONS(13430),
    [anon_sym_redo] = ACTIONS(13430),
    [anon_sym_retry] = ACTIONS(13430),
    [anon_sym_if] = ACTIONS(13430),
    [anon_sym_unless] = ACTIONS(13430),
    [anon_sym_while] = ACTIONS(13430),
    [anon_sym_until] = ACTIONS(13430),
    [anon_sym_for] = ACTIONS(13430),
    [anon_sym_case] = ACTIONS(13430),
    [anon_sym_elsif] = ACTIONS(13430),
    [anon_sym_else] = ACTIONS(13430),
    [anon_sym_then] = ACTIONS(13430),
    [anon_sym_begin] = ACTIONS(13430),
    [anon_sym_PLUS] = ACTIONS(13430),
    [anon_sym_defined_QMARK] = ACTIONS(12070),
    [anon_sym_not] = ACTIONS(13430),
    [anon_sym_BANG] = ACTIONS(12070),
    [anon_sym_TILDE] = ACTIONS(12070),
    [sym_constant] = ACTIONS(13432),
    [sym_identifier] = ACTIONS(13432),
    [sym_instance_variable] = ACTIONS(13430),
    [sym_class_variable] = ACTIONS(13430),
    [sym_global_variable] = ACTIONS(13430),
    [anon_sym_alias] = ACTIONS(13430),
    [anon_sym_false] = ACTIONS(13430),
    [anon_sym_nil] = ACTIONS(13430),
    [anon_sym_self] = ACTIONS(13430),
    [anon_sym_super] = ACTIONS(13430),
    [anon_sym_true] = ACTIONS(13430),
    [anon_sym_undef] = ACTIONS(13430),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(13430),
    [sym_float] = ACTIONS(13432),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(12070),
    [anon_sym_TRUE] = ACTIONS(13430),
    [anon_sym_FALSE] = ACTIONS(13430),
    [anon_sym_NIL] = ACTIONS(13430),
    [sym_keyword__FILE__] = ACTIONS(13430),
    [sym_keyword__LINE__] = ACTIONS(13430),
    [sym_keyword__ENCODING__] = ACTIONS(13430),
    [sym__character_literal] = ACTIONS(13430),
    [anon_sym_LBRACK] = ACTIONS(12070),
    [anon_sym_DASH_GT] = ACTIONS(12070),
  },
  [9996] = {
    [sym__simple_string] = ACTIONS(8070),
    [sym__simple_symbol] = ACTIONS(8070),
    [sym__simple_subshell] = ACTIONS(8070),
    [sym__simple_regex] = ACTIONS(8070),
    [sym__simple_word_list] = ACTIONS(8070),
    [sym__string_beginning] = ACTIONS(8070),
    [sym__symbol_beginning] = ACTIONS(8070),
    [sym__subshell_beginning] = ACTIONS(8070),
    [sym__regex_beginning] = ACTIONS(8070),
    [sym__word_list_beginning] = ACTIONS(8070),
    [sym_heredoc_beginning] = ACTIONS(8070),
    [sym__unary_minus] = ACTIONS(8070),
    [anon_sym_BEGIN] = ACTIONS(10414),
    [anon_sym_LBRACE] = ACTIONS(8070),
    [anon_sym_END] = ACTIONS(10414),
    [anon_sym_def] = ACTIONS(10414),
    [anon_sym_LPAREN] = ACTIONS(8070),
    [anon_sym_COLON_COLON] = ACTIONS(8070),
    [anon_sym_end] = ACTIONS(10414),
    [anon_sym_SEMI] = ACTIONS(8070),
    [anon_sym_STAR] = ACTIONS(8070),
    [anon_sym_class] = ACTIONS(10414),
    [anon_sym_module] = ACTIONS(10414),
    [anon_sym_return] = ACTIONS(10414),
    [anon_sym_yield] = ACTIONS(10414),
    [anon_sym_break] = ACTIONS(10414),
    [anon_sym_next] = ACTIONS(10414),
    [anon_sym_redo] = ACTIONS(10414),
    [anon_sym_retry] = ACTIONS(10414),
    [anon_sym_if] = ACTIONS(10414),
    [anon_sym_unless] = ACTIONS(10414),
    [anon_sym_while] = ACTIONS(10414),
    [anon_sym_until] = ACTIONS(10414),
    [anon_sym_for] = ACTIONS(10414),
    [anon_sym_case] = ACTIONS(10414),
    [anon_sym_elsif] = ACTIONS(10414),
    [anon_sym_else] = ACTIONS(10414),
    [anon_sym_begin] = ACTIONS(10414),
    [anon_sym_PLUS] = ACTIONS(10414),
    [anon_sym_defined_QMARK] = ACTIONS(8070),
    [anon_sym_not] = ACTIONS(10414),
    [anon_sym_BANG] = ACTIONS(8070),
    [anon_sym_TILDE] = ACTIONS(8070),
    [sym_constant] = ACTIONS(10416),
    [sym_identifier] = ACTIONS(10416),
    [sym_instance_variable] = ACTIONS(10414),
    [sym_class_variable] = ACTIONS(10414),
    [sym_global_variable] = ACTIONS(10414),
    [anon_sym_alias] = ACTIONS(10414),
    [anon_sym_false] = ACTIONS(10414),
    [anon_sym_nil] = ACTIONS(10414),
    [anon_sym_self] = ACTIONS(10414),
    [anon_sym_super] = ACTIONS(10414),
    [anon_sym_true] = ACTIONS(10414),
    [anon_sym_undef] = ACTIONS(10414),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(10414),
    [sym_float] = ACTIONS(10416),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(8070),
    [anon_sym_TRUE] = ACTIONS(10414),
    [anon_sym_FALSE] = ACTIONS(10414),
    [anon_sym_NIL] = ACTIONS(10414),
    [sym_keyword__FILE__] = ACTIONS(10414),
    [sym_keyword__LINE__] = ACTIONS(10414),
    [sym_keyword__ENCODING__] = ACTIONS(10414),
    [sym__character_literal] = ACTIONS(10414),
    [anon_sym_LBRACK] = ACTIONS(8070),
    [anon_sym_DASH_GT] = ACTIONS(8070),
  },
  [9997] = {
    [sym__heredoc_body_middle] = ACTIONS(8296),
    [sym__heredoc_body_end] = ACTIONS(14994),
    [anon_sym_if] = ACTIONS(4112),
    [anon_sym_unless] = ACTIONS(4114),
    [anon_sym_while] = ACTIONS(4116),
    [anon_sym_until] = ACTIONS(4118),
    [anon_sym_rescue] = ACTIONS(4120),
    [sym_comment] = ACTIONS(110),
  },
  [9998] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(12165),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(10003),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(10004),
    [sym__variable] = STATE(3868),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(12810),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(12812),
    [anon_sym_defined_QMARK] = ACTIONS(12814),
    [anon_sym_not] = ACTIONS(12816),
    [anon_sym_BANG] = ACTIONS(12818),
    [anon_sym_TILDE] = ACTIONS(12818),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [9999] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(12166),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(10003),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(10004),
    [sym__variable] = STATE(3868),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(12810),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(12812),
    [anon_sym_defined_QMARK] = ACTIONS(12814),
    [anon_sym_not] = ACTIONS(12816),
    [anon_sym_BANG] = ACTIONS(12818),
    [anon_sym_TILDE] = ACTIONS(12818),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [10000] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(12167),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(10003),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(10004),
    [sym__variable] = STATE(3868),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(12810),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(12812),
    [anon_sym_defined_QMARK] = ACTIONS(12814),
    [anon_sym_not] = ACTIONS(12816),
    [anon_sym_BANG] = ACTIONS(12818),
    [anon_sym_TILDE] = ACTIONS(12818),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [10001] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(1410),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(10003),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(10004),
    [sym__variable] = STATE(3868),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(12810),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(12812),
    [anon_sym_defined_QMARK] = ACTIONS(12814),
    [anon_sym_not] = ACTIONS(12816),
    [anon_sym_BANG] = ACTIONS(12818),
    [anon_sym_TILDE] = ACTIONS(12818),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [10002] = {
    [sym__simple_heredoc_body] = ACTIONS(5298),
    [sym__heredoc_body_beginning] = ACTIONS(5298),
    [sym__line_break] = ACTIONS(5298),
    [sym__element_reference_left_bracket] = ACTIONS(5298),
    [sym__scope_double_colon] = ACTIONS(5298),
    [sym__binary_minus] = ACTIONS(14996),
    [sym__binary_star] = ACTIONS(14998),
    [anon_sym_DOT] = ACTIONS(5304),
    [anon_sym_end] = ACTIONS(5298),
    [anon_sym_COMMA] = ACTIONS(5298),
    [anon_sym_PIPE] = ACTIONS(15000),
    [anon_sym_SEMI] = ACTIONS(5298),
    [anon_sym_STAR_STAR] = ACTIONS(15002),
    [anon_sym_AMP] = ACTIONS(15004),
    [anon_sym_LT] = ACTIONS(15006),
    [anon_sym_if] = ACTIONS(5298),
    [anon_sym_unless] = ACTIONS(5298),
    [anon_sym_while] = ACTIONS(5298),
    [anon_sym_until] = ACTIONS(5298),
    [anon_sym_rescue] = ACTIONS(5298),
    [anon_sym_elsif] = ACTIONS(5298),
    [anon_sym_else] = ACTIONS(5298),
    [anon_sym_AMP_DOT] = ACTIONS(5298),
    [anon_sym_QMARK] = ACTIONS(15008),
    [anon_sym_DOT_DOT] = ACTIONS(15010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(15012),
    [anon_sym_and] = ACTIONS(5298),
    [anon_sym_or] = ACTIONS(5298),
    [anon_sym_PIPE_PIPE] = ACTIONS(15014),
    [anon_sym_AMP_AMP] = ACTIONS(15014),
    [anon_sym_LT_LT] = ACTIONS(15016),
    [anon_sym_GT_GT] = ACTIONS(15016),
    [anon_sym_EQ_EQ] = ACTIONS(15018),
    [anon_sym_BANG_EQ] = ACTIONS(15014),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(15014),
    [anon_sym_LT_EQ_GT] = ACTIONS(15014),
    [anon_sym_EQ_TILDE] = ACTIONS(15014),
    [anon_sym_BANG_TILDE] = ACTIONS(15014),
    [anon_sym_LT_EQ] = ACTIONS(15006),
    [anon_sym_GT] = ACTIONS(15006),
    [anon_sym_GT_EQ] = ACTIONS(15020),
    [anon_sym_CARET] = ACTIONS(15022),
    [anon_sym_PLUS] = ACTIONS(15024),
    [anon_sym_SLASH] = ACTIONS(15002),
    [anon_sym_PERCENT] = ACTIONS(15002),
    [sym_comment] = ACTIONS(110),
  },
  [10003] = {
    [anon_sym_EQ] = ACTIONS(15026),
    [sym_comment] = ACTIONS(256),
  },
  [10004] = {
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_end] = ACTIONS(250),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(15028),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_elsif] = ACTIONS(250),
    [anon_sym_else] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(15030),
    [anon_sym_DASH_EQ] = ACTIONS(15030),
    [anon_sym_STAR_EQ] = ACTIONS(15030),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(15030),
    [anon_sym_SLASH_EQ] = ACTIONS(15030),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(15030),
    [anon_sym_PIPE_EQ] = ACTIONS(15030),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(15030),
    [anon_sym_AMP_EQ] = ACTIONS(15030),
    [anon_sym_PERCENT_EQ] = ACTIONS(15030),
    [anon_sym_GT_GT_EQ] = ACTIONS(15030),
    [anon_sym_LT_LT_EQ] = ACTIONS(15030),
    [anon_sym_CARET_EQ] = ACTIONS(15030),
    [anon_sym_QMARK] = ACTIONS(250),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
  },
  [10005] = {
    [sym__simple_heredoc_body] = ACTIONS(5338),
    [sym__heredoc_body_beginning] = ACTIONS(5338),
    [sym__line_break] = ACTIONS(5338),
    [sym__element_reference_left_bracket] = ACTIONS(5338),
    [sym__scope_double_colon] = ACTIONS(5338),
    [sym__binary_minus] = ACTIONS(14996),
    [sym__binary_star] = ACTIONS(14998),
    [anon_sym_DOT] = ACTIONS(5340),
    [anon_sym_end] = ACTIONS(5338),
    [anon_sym_COMMA] = ACTIONS(5338),
    [anon_sym_PIPE] = ACTIONS(15000),
    [anon_sym_SEMI] = ACTIONS(5338),
    [anon_sym_STAR_STAR] = ACTIONS(15002),
    [anon_sym_AMP] = ACTIONS(15004),
    [anon_sym_LT] = ACTIONS(15006),
    [anon_sym_if] = ACTIONS(5338),
    [anon_sym_unless] = ACTIONS(5338),
    [anon_sym_while] = ACTIONS(5338),
    [anon_sym_until] = ACTIONS(5338),
    [anon_sym_rescue] = ACTIONS(5338),
    [anon_sym_elsif] = ACTIONS(5338),
    [anon_sym_else] = ACTIONS(5338),
    [anon_sym_AMP_DOT] = ACTIONS(5338),
    [anon_sym_QMARK] = ACTIONS(15008),
    [anon_sym_DOT_DOT] = ACTIONS(15010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(15012),
    [anon_sym_and] = ACTIONS(5338),
    [anon_sym_or] = ACTIONS(5338),
    [anon_sym_PIPE_PIPE] = ACTIONS(15014),
    [anon_sym_AMP_AMP] = ACTIONS(15014),
    [anon_sym_LT_LT] = ACTIONS(15016),
    [anon_sym_GT_GT] = ACTIONS(15016),
    [anon_sym_EQ_EQ] = ACTIONS(15018),
    [anon_sym_BANG_EQ] = ACTIONS(15014),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(15014),
    [anon_sym_LT_EQ_GT] = ACTIONS(15014),
    [anon_sym_EQ_TILDE] = ACTIONS(15014),
    [anon_sym_BANG_TILDE] = ACTIONS(15014),
    [anon_sym_LT_EQ] = ACTIONS(15006),
    [anon_sym_GT] = ACTIONS(15006),
    [anon_sym_GT_EQ] = ACTIONS(15020),
    [anon_sym_CARET] = ACTIONS(15022),
    [anon_sym_PLUS] = ACTIONS(15024),
    [anon_sym_SLASH] = ACTIONS(15002),
    [anon_sym_PERCENT] = ACTIONS(15002),
    [sym_comment] = ACTIONS(110),
  },
  [10006] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10016),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7028),
    [sym_call] = STATE(7028),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(340),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(10017),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7030),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7031),
    [sym__variable] = STATE(7028),
    [sym_reserved_identifier] = STATE(10018),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(10019),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(532),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(532),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(532),
    [sym__element_reference_left_bracket] = ACTIONS(532),
    [sym__block_ampersand] = ACTIONS(12832),
    [sym__splat_star] = ACTIONS(12834),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(532),
    [sym__unary_minus] = ACTIONS(9570),
    [sym__binary_minus] = ACTIONS(532),
    [sym__binary_star] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(544),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(544),
    [anon_sym_COMMA] = ACTIONS(532),
    [anon_sym_PIPE] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(544),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(544),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(9572),
    [anon_sym_yield] = ACTIONS(9574),
    [anon_sym_break] = ACTIONS(9576),
    [anon_sym_next] = ACTIONS(9578),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(544),
    [anon_sym_unless] = ACTIONS(544),
    [anon_sym_while] = ACTIONS(544),
    [anon_sym_until] = ACTIONS(544),
    [anon_sym_rescue] = ACTIONS(544),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(544),
    [anon_sym_else] = ACTIONS(544),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(532),
    [anon_sym_AMP_DOT] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(544),
    [anon_sym_DOT_DOT] = ACTIONS(544),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(532),
    [anon_sym_and] = ACTIONS(544),
    [anon_sym_or] = ACTIONS(544),
    [anon_sym_PIPE_PIPE] = ACTIONS(532),
    [anon_sym_AMP_AMP] = ACTIONS(532),
    [anon_sym_LT_LT] = ACTIONS(532),
    [anon_sym_GT_GT] = ACTIONS(532),
    [anon_sym_EQ_EQ] = ACTIONS(544),
    [anon_sym_BANG_EQ] = ACTIONS(532),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(532),
    [anon_sym_LT_EQ_GT] = ACTIONS(532),
    [anon_sym_EQ_TILDE] = ACTIONS(532),
    [anon_sym_BANG_TILDE] = ACTIONS(532),
    [anon_sym_LT_EQ] = ACTIONS(544),
    [anon_sym_GT] = ACTIONS(544),
    [anon_sym_GT_EQ] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(544),
    [anon_sym_SLASH] = ACTIONS(532),
    [anon_sym_PERCENT] = ACTIONS(532),
    [anon_sym_defined_QMARK] = ACTIONS(9580),
    [anon_sym_not] = ACTIONS(9582),
    [anon_sym_BANG] = ACTIONS(9584),
    [anon_sym_TILDE] = ACTIONS(9586),
    [sym_constant] = ACTIONS(12836),
    [sym_identifier] = ACTIONS(12836),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [10007] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10016),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7028),
    [sym_call] = STATE(7028),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(349),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(10017),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7030),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7031),
    [sym__variable] = STATE(7028),
    [sym_reserved_identifier] = STATE(10018),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(10019),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(602),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(602),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(602),
    [sym__element_reference_left_bracket] = ACTIONS(602),
    [sym__block_ampersand] = ACTIONS(12832),
    [sym__splat_star] = ACTIONS(12834),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(602),
    [sym__unary_minus] = ACTIONS(9570),
    [sym__binary_minus] = ACTIONS(602),
    [sym__binary_star] = ACTIONS(602),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(604),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(604),
    [anon_sym_COMMA] = ACTIONS(602),
    [anon_sym_PIPE] = ACTIONS(604),
    [anon_sym_SEMI] = ACTIONS(602),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(602),
    [anon_sym_AMP] = ACTIONS(604),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(604),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(9572),
    [anon_sym_yield] = ACTIONS(9574),
    [anon_sym_break] = ACTIONS(9576),
    [anon_sym_next] = ACTIONS(9578),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(604),
    [anon_sym_unless] = ACTIONS(604),
    [anon_sym_while] = ACTIONS(604),
    [anon_sym_until] = ACTIONS(604),
    [anon_sym_rescue] = ACTIONS(604),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(604),
    [anon_sym_else] = ACTIONS(604),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(602),
    [anon_sym_AMP_DOT] = ACTIONS(602),
    [anon_sym_QMARK] = ACTIONS(604),
    [anon_sym_DOT_DOT] = ACTIONS(604),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(602),
    [anon_sym_and] = ACTIONS(604),
    [anon_sym_or] = ACTIONS(604),
    [anon_sym_PIPE_PIPE] = ACTIONS(602),
    [anon_sym_AMP_AMP] = ACTIONS(602),
    [anon_sym_LT_LT] = ACTIONS(602),
    [anon_sym_GT_GT] = ACTIONS(602),
    [anon_sym_EQ_EQ] = ACTIONS(604),
    [anon_sym_BANG_EQ] = ACTIONS(602),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(602),
    [anon_sym_LT_EQ_GT] = ACTIONS(602),
    [anon_sym_EQ_TILDE] = ACTIONS(602),
    [anon_sym_BANG_TILDE] = ACTIONS(602),
    [anon_sym_LT_EQ] = ACTIONS(604),
    [anon_sym_GT] = ACTIONS(604),
    [anon_sym_GT_EQ] = ACTIONS(602),
    [anon_sym_CARET] = ACTIONS(602),
    [anon_sym_PLUS] = ACTIONS(604),
    [anon_sym_SLASH] = ACTIONS(602),
    [anon_sym_PERCENT] = ACTIONS(602),
    [anon_sym_defined_QMARK] = ACTIONS(9580),
    [anon_sym_not] = ACTIONS(9582),
    [anon_sym_BANG] = ACTIONS(9584),
    [anon_sym_TILDE] = ACTIONS(9586),
    [sym_constant] = ACTIONS(12836),
    [sym_identifier] = ACTIONS(12836),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [10008] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10016),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7028),
    [sym_call] = STATE(7028),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(350),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(10017),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7030),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7031),
    [sym__variable] = STATE(7028),
    [sym_reserved_identifier] = STATE(10018),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(10019),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(606),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(606),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(606),
    [sym__element_reference_left_bracket] = ACTIONS(606),
    [sym__block_ampersand] = ACTIONS(12832),
    [sym__splat_star] = ACTIONS(12834),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(606),
    [sym__unary_minus] = ACTIONS(9570),
    [sym__binary_minus] = ACTIONS(606),
    [sym__binary_star] = ACTIONS(606),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(608),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(608),
    [anon_sym_COMMA] = ACTIONS(606),
    [anon_sym_PIPE] = ACTIONS(608),
    [anon_sym_SEMI] = ACTIONS(606),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(606),
    [anon_sym_AMP] = ACTIONS(608),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(608),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(9572),
    [anon_sym_yield] = ACTIONS(9574),
    [anon_sym_break] = ACTIONS(9576),
    [anon_sym_next] = ACTIONS(9578),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(608),
    [anon_sym_unless] = ACTIONS(608),
    [anon_sym_while] = ACTIONS(608),
    [anon_sym_until] = ACTIONS(608),
    [anon_sym_rescue] = ACTIONS(608),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(608),
    [anon_sym_else] = ACTIONS(608),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(606),
    [anon_sym_AMP_DOT] = ACTIONS(606),
    [anon_sym_QMARK] = ACTIONS(608),
    [anon_sym_DOT_DOT] = ACTIONS(608),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(606),
    [anon_sym_and] = ACTIONS(608),
    [anon_sym_or] = ACTIONS(608),
    [anon_sym_PIPE_PIPE] = ACTIONS(606),
    [anon_sym_AMP_AMP] = ACTIONS(606),
    [anon_sym_LT_LT] = ACTIONS(606),
    [anon_sym_GT_GT] = ACTIONS(606),
    [anon_sym_EQ_EQ] = ACTIONS(608),
    [anon_sym_BANG_EQ] = ACTIONS(606),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(606),
    [anon_sym_LT_EQ_GT] = ACTIONS(606),
    [anon_sym_EQ_TILDE] = ACTIONS(606),
    [anon_sym_BANG_TILDE] = ACTIONS(606),
    [anon_sym_LT_EQ] = ACTIONS(608),
    [anon_sym_GT] = ACTIONS(608),
    [anon_sym_GT_EQ] = ACTIONS(606),
    [anon_sym_CARET] = ACTIONS(606),
    [anon_sym_PLUS] = ACTIONS(608),
    [anon_sym_SLASH] = ACTIONS(606),
    [anon_sym_PERCENT] = ACTIONS(606),
    [anon_sym_defined_QMARK] = ACTIONS(9580),
    [anon_sym_not] = ACTIONS(9582),
    [anon_sym_BANG] = ACTIONS(9584),
    [anon_sym_TILDE] = ACTIONS(9586),
    [sym_constant] = ACTIONS(12836),
    [sym_identifier] = ACTIONS(12836),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [10009] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(10016),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7028),
    [sym_call] = STATE(7028),
    [sym_method_call] = STATE(338),
    [sym_argument_list] = STATE(351),
    [sym__argument_list_with_parens] = STATE(341),
    [sym__argument] = STATE(10017),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7030),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7031),
    [sym__variable] = STATE(7028),
    [sym_reserved_identifier] = STATE(10018),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(10019),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(610),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(610),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__line_break] = ACTIONS(610),
    [sym__element_reference_left_bracket] = ACTIONS(610),
    [sym__block_ampersand] = ACTIONS(12832),
    [sym__splat_star] = ACTIONS(12834),
    [sym__argument_list_left_paren] = ACTIONS(540),
    [sym__scope_double_colon] = ACTIONS(610),
    [sym__unary_minus] = ACTIONS(9570),
    [sym__binary_minus] = ACTIONS(610),
    [sym__binary_star] = ACTIONS(610),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_DOT] = ACTIONS(612),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(612),
    [anon_sym_COMMA] = ACTIONS(610),
    [anon_sym_PIPE] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(610),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(610),
    [anon_sym_AMP] = ACTIONS(612),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_LT] = ACTIONS(612),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(9572),
    [anon_sym_yield] = ACTIONS(9574),
    [anon_sym_break] = ACTIONS(9576),
    [anon_sym_next] = ACTIONS(9578),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(612),
    [anon_sym_unless] = ACTIONS(612),
    [anon_sym_while] = ACTIONS(612),
    [anon_sym_until] = ACTIONS(612),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(612),
    [anon_sym_else] = ACTIONS(612),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_EQ_GT] = ACTIONS(610),
    [anon_sym_AMP_DOT] = ACTIONS(610),
    [anon_sym_QMARK] = ACTIONS(612),
    [anon_sym_DOT_DOT] = ACTIONS(612),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(610),
    [anon_sym_and] = ACTIONS(612),
    [anon_sym_or] = ACTIONS(612),
    [anon_sym_PIPE_PIPE] = ACTIONS(610),
    [anon_sym_AMP_AMP] = ACTIONS(610),
    [anon_sym_LT_LT] = ACTIONS(610),
    [anon_sym_GT_GT] = ACTIONS(610),
    [anon_sym_EQ_EQ] = ACTIONS(612),
    [anon_sym_BANG_EQ] = ACTIONS(610),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(610),
    [anon_sym_LT_EQ_GT] = ACTIONS(610),
    [anon_sym_EQ_TILDE] = ACTIONS(610),
    [anon_sym_BANG_TILDE] = ACTIONS(610),
    [anon_sym_LT_EQ] = ACTIONS(612),
    [anon_sym_GT] = ACTIONS(612),
    [anon_sym_GT_EQ] = ACTIONS(610),
    [anon_sym_CARET] = ACTIONS(610),
    [anon_sym_PLUS] = ACTIONS(612),
    [anon_sym_SLASH] = ACTIONS(610),
    [anon_sym_PERCENT] = ACTIONS(610),
    [anon_sym_defined_QMARK] = ACTIONS(9580),
    [anon_sym_not] = ACTIONS(9582),
    [anon_sym_BANG] = ACTIONS(9584),
    [anon_sym_TILDE] = ACTIONS(9586),
    [sym_constant] = ACTIONS(12836),
    [sym_identifier] = ACTIONS(12836),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [10010] = {
    [sym__simple_heredoc_body] = ACTIONS(1372),
    [sym__heredoc_body_beginning] = ACTIONS(1372),
    [sym__line_break] = ACTIONS(1372),
    [sym__element_reference_left_bracket] = ACTIONS(1372),
    [sym__scope_double_colon] = ACTIONS(1372),
    [sym__binary_minus] = ACTIONS(1372),
    [sym__binary_star] = ACTIONS(1372),
    [anon_sym_DOT] = ACTIONS(1374),
    [anon_sym_end] = ACTIONS(1372),
    [anon_sym_COMMA] = ACTIONS(1372),
    [anon_sym_PIPE] = ACTIONS(1374),
    [anon_sym_SEMI] = ACTIONS(1372),
    [anon_sym_STAR_STAR] = ACTIONS(12846),
    [anon_sym_AMP] = ACTIONS(1374),
    [anon_sym_LT] = ACTIONS(1374),
    [anon_sym_if] = ACTIONS(1372),
    [anon_sym_unless] = ACTIONS(1372),
    [anon_sym_while] = ACTIONS(1372),
    [anon_sym_until] = ACTIONS(1372),
    [anon_sym_rescue] = ACTIONS(1372),
    [anon_sym_elsif] = ACTIONS(1372),
    [anon_sym_else] = ACTIONS(1372),
    [anon_sym_EQ_GT] = ACTIONS(1372),
    [anon_sym_AMP_DOT] = ACTIONS(1372),
    [anon_sym_QMARK] = ACTIONS(1372),
    [anon_sym_DOT_DOT] = ACTIONS(1374),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1372),
    [anon_sym_and] = ACTIONS(1372),
    [anon_sym_or] = ACTIONS(1372),
    [anon_sym_PIPE_PIPE] = ACTIONS(1372),
    [anon_sym_AMP_AMP] = ACTIONS(1372),
    [anon_sym_LT_LT] = ACTIONS(1372),
    [anon_sym_GT_GT] = ACTIONS(1372),
    [anon_sym_EQ_EQ] = ACTIONS(1374),
    [anon_sym_BANG_EQ] = ACTIONS(1372),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1372),
    [anon_sym_LT_EQ_GT] = ACTIONS(1372),
    [anon_sym_EQ_TILDE] = ACTIONS(1372),
    [anon_sym_BANG_TILDE] = ACTIONS(1372),
    [anon_sym_LT_EQ] = ACTIONS(1374),
    [anon_sym_GT] = ACTIONS(1374),
    [anon_sym_GT_EQ] = ACTIONS(1372),
    [anon_sym_CARET] = ACTIONS(1372),
    [anon_sym_PLUS] = ACTIONS(1372),
    [anon_sym_SLASH] = ACTIONS(1372),
    [anon_sym_PERCENT] = ACTIONS(1372),
    [sym_comment] = ACTIONS(110),
  },
  [10011] = {
    [sym__simple_heredoc_body] = ACTIONS(4284),
    [sym__heredoc_body_beginning] = ACTIONS(4284),
    [sym__line_break] = ACTIONS(4284),
    [sym__element_reference_left_bracket] = ACTIONS(4284),
    [sym__scope_double_colon] = ACTIONS(4284),
    [sym__binary_minus] = ACTIONS(14996),
    [sym__binary_star] = ACTIONS(14998),
    [anon_sym_DOT] = ACTIONS(5432),
    [anon_sym_end] = ACTIONS(4284),
    [anon_sym_COMMA] = ACTIONS(4284),
    [anon_sym_PIPE] = ACTIONS(15000),
    [anon_sym_SEMI] = ACTIONS(4284),
    [anon_sym_STAR_STAR] = ACTIONS(15002),
    [anon_sym_AMP] = ACTIONS(15004),
    [anon_sym_LT] = ACTIONS(15006),
    [anon_sym_if] = ACTIONS(4284),
    [anon_sym_unless] = ACTIONS(4284),
    [anon_sym_while] = ACTIONS(4284),
    [anon_sym_until] = ACTIONS(4284),
    [anon_sym_rescue] = ACTIONS(4284),
    [anon_sym_elsif] = ACTIONS(4284),
    [anon_sym_else] = ACTIONS(4284),
    [anon_sym_AMP_DOT] = ACTIONS(4284),
    [anon_sym_QMARK] = ACTIONS(15008),
    [anon_sym_DOT_DOT] = ACTIONS(15010),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(15012),
    [anon_sym_and] = ACTIONS(4284),
    [anon_sym_or] = ACTIONS(4284),
    [anon_sym_PIPE_PIPE] = ACTIONS(15014),
    [anon_sym_AMP_AMP] = ACTIONS(15014),
    [anon_sym_LT_LT] = ACTIONS(15016),
    [anon_sym_GT_GT] = ACTIONS(15016),
    [anon_sym_EQ_EQ] = ACTIONS(15018),
    [anon_sym_BANG_EQ] = ACTIONS(15014),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(15014),
    [anon_sym_LT_EQ_GT] = ACTIONS(15014),
    [anon_sym_EQ_TILDE] = ACTIONS(15014),
    [anon_sym_BANG_TILDE] = ACTIONS(15014),
    [anon_sym_LT_EQ] = ACTIONS(15006),
    [anon_sym_GT] = ACTIONS(15006),
    [anon_sym_GT_EQ] = ACTIONS(15020),
    [anon_sym_CARET] = ACTIONS(15022),
    [anon_sym_PLUS] = ACTIONS(15024),
    [anon_sym_SLASH] = ACTIONS(15002),
    [anon_sym_PERCENT] = ACTIONS(15002),
    [sym_comment] = ACTIONS(110),
  },
  [10012] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(12182),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7028),
    [sym_call] = STATE(7028),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7030),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7031),
    [sym__variable] = STATE(7028),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(9570),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(12820),
    [anon_sym_yield] = ACTIONS(12822),
    [anon_sym_break] = ACTIONS(12824),
    [anon_sym_next] = ACTIONS(12826),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(12828),
    [anon_sym_defined_QMARK] = ACTIONS(9580),
    [anon_sym_not] = ACTIONS(12830),
    [anon_sym_BANG] = ACTIONS(9586),
    [anon_sym_TILDE] = ACTIONS(9586),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [10013] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(12183),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7028),
    [sym_call] = STATE(7028),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7030),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7031),
    [sym__variable] = STATE(7028),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(9570),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(12820),
    [anon_sym_yield] = ACTIONS(12822),
    [anon_sym_break] = ACTIONS(12824),
    [anon_sym_next] = ACTIONS(12826),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(12828),
    [anon_sym_defined_QMARK] = ACTIONS(9580),
    [anon_sym_not] = ACTIONS(12830),
    [anon_sym_BANG] = ACTIONS(9586),
    [anon_sym_TILDE] = ACTIONS(9586),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [10014] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(12184),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7028),
    [sym_call] = STATE(7028),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7030),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7031),
    [sym__variable] = STATE(7028),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(9570),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(12820),
    [anon_sym_yield] = ACTIONS(12822),
    [anon_sym_break] = ACTIONS(12824),
    [anon_sym_next] = ACTIONS(12826),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(12828),
    [anon_sym_defined_QMARK] = ACTIONS(9580),
    [anon_sym_not] = ACTIONS(12830),
    [anon_sym_BANG] = ACTIONS(9586),
    [anon_sym_TILDE] = ACTIONS(9586),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [10015] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(15032),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [10016] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__line_break] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(12840),
    [sym__binary_star] = ACTIONS(12842),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_end] = ACTIONS(2210),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(12844),
    [anon_sym_SEMI] = ACTIONS(2210),
    [anon_sym_STAR_STAR] = ACTIONS(12846),
    [anon_sym_AMP] = ACTIONS(12848),
    [anon_sym_LT] = ACTIONS(12850),
    [anon_sym_if] = ACTIONS(2210),
    [anon_sym_unless] = ACTIONS(2210),
    [anon_sym_while] = ACTIONS(2210),
    [anon_sym_until] = ACTIONS(2210),
    [anon_sym_rescue] = ACTIONS(2210),
    [anon_sym_elsif] = ACTIONS(2210),
    [anon_sym_else] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(12852),
    [anon_sym_DOT_DOT] = ACTIONS(12854),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12856),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(12858),
    [anon_sym_AMP_AMP] = ACTIONS(12858),
    [anon_sym_LT_LT] = ACTIONS(12860),
    [anon_sym_GT_GT] = ACTIONS(12860),
    [anon_sym_EQ_EQ] = ACTIONS(12862),
    [anon_sym_BANG_EQ] = ACTIONS(12858),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12858),
    [anon_sym_LT_EQ_GT] = ACTIONS(12858),
    [anon_sym_EQ_TILDE] = ACTIONS(12858),
    [anon_sym_BANG_TILDE] = ACTIONS(12858),
    [anon_sym_LT_EQ] = ACTIONS(12850),
    [anon_sym_GT] = ACTIONS(12850),
    [anon_sym_GT_EQ] = ACTIONS(12864),
    [anon_sym_CARET] = ACTIONS(12866),
    [anon_sym_PLUS] = ACTIONS(12868),
    [anon_sym_SLASH] = ACTIONS(12846),
    [anon_sym_PERCENT] = ACTIONS(12846),
    [sym_comment] = ACTIONS(110),
  },
  [10017] = {
    [sym_heredoc_end] = STATE(1444),
    [aux_sym_argument_list_repeat1] = STATE(12187),
    [aux_sym_argument_list_repeat2] = STATE(1445),
    [sym__simple_heredoc_body] = ACTIONS(2268),
    [sym__heredoc_body_beginning] = ACTIONS(2270),
    [sym__line_break] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_end] = ACTIONS(2272),
    [anon_sym_COMMA] = ACTIONS(15034),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_STAR_STAR] = ACTIONS(2272),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_if] = ACTIONS(2272),
    [anon_sym_unless] = ACTIONS(2272),
    [anon_sym_while] = ACTIONS(2272),
    [anon_sym_until] = ACTIONS(2272),
    [anon_sym_rescue] = ACTIONS(2272),
    [anon_sym_elsif] = ACTIONS(2272),
    [anon_sym_else] = ACTIONS(2272),
    [anon_sym_EQ_GT] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2272),
    [anon_sym_AMP_AMP] = ACTIONS(2272),
    [anon_sym_LT_LT] = ACTIONS(2272),
    [anon_sym_GT_GT] = ACTIONS(2272),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2272),
    [anon_sym_PLUS] = ACTIONS(2272),
    [anon_sym_SLASH] = ACTIONS(2272),
    [anon_sym_PERCENT] = ACTIONS(2272),
    [sym_comment] = ACTIONS(110),
  },
  [10018] = {
    [sym__keyword_colon] = ACTIONS(15036),
    [sym_comment] = ACTIONS(110),
  },
  [10019] = {
    [sym_string] = STATE(611),
    [aux_sym_chained_string_repeat1] = STATE(612),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(20),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(15032),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_end] = ACTIONS(250),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(250),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_elsif] = ACTIONS(250),
    [anon_sym_else] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(250),
    [anon_sym_AMP_AMP] = ACTIONS(250),
    [anon_sym_LT_LT] = ACTIONS(250),
    [anon_sym_GT_GT] = ACTIONS(250),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(250),
    [anon_sym_PLUS] = ACTIONS(250),
    [anon_sym_SLASH] = ACTIONS(250),
    [anon_sym_PERCENT] = ACTIONS(250),
    [sym_comment] = ACTIONS(110),
    [sym__character_literal] = ACTIONS(120),
  },
  [10020] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(2870),
    [sym__binary_star] = ACTIONS(2870),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_end] = ACTIONS(2870),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(2872),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(12846),
    [anon_sym_AMP] = ACTIONS(2872),
    [anon_sym_LT] = ACTIONS(2872),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_elsif] = ACTIONS(2870),
    [anon_sym_else] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(2870),
    [anon_sym_DOT_DOT] = ACTIONS(2872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2870),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(2870),
    [anon_sym_AMP_AMP] = ACTIONS(2870),
    [anon_sym_LT_LT] = ACTIONS(2870),
    [anon_sym_GT_GT] = ACTIONS(2870),
    [anon_sym_EQ_EQ] = ACTIONS(2872),
    [anon_sym_BANG_EQ] = ACTIONS(2870),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2870),
    [anon_sym_LT_EQ_GT] = ACTIONS(2870),
    [anon_sym_EQ_TILDE] = ACTIONS(2870),
    [anon_sym_BANG_TILDE] = ACTIONS(2870),
    [anon_sym_LT_EQ] = ACTIONS(2872),
    [anon_sym_GT] = ACTIONS(2872),
    [anon_sym_GT_EQ] = ACTIONS(2870),
    [anon_sym_CARET] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(2870),
    [anon_sym_SLASH] = ACTIONS(2870),
    [anon_sym_PERCENT] = ACTIONS(2870),
    [sym_comment] = ACTIONS(110),
  },
  [10021] = {
    [sym__simple_heredoc_body] = ACTIONS(2870),
    [sym__heredoc_body_beginning] = ACTIONS(2870),
    [sym__line_break] = ACTIONS(2870),
    [sym__element_reference_left_bracket] = ACTIONS(2870),
    [sym__scope_double_colon] = ACTIONS(2870),
    [sym__binary_minus] = ACTIONS(12840),
    [sym__binary_star] = ACTIONS(12842),
    [anon_sym_DOT] = ACTIONS(2872),
    [anon_sym_end] = ACTIONS(2870),
    [anon_sym_COMMA] = ACTIONS(2870),
    [anon_sym_PIPE] = ACTIONS(12844),
    [anon_sym_SEMI] = ACTIONS(2870),
    [anon_sym_STAR_STAR] = ACTIONS(12846),
    [anon_sym_AMP] = ACTIONS(12848),
    [anon_sym_LT] = ACTIONS(12850),
    [anon_sym_if] = ACTIONS(2870),
    [anon_sym_unless] = ACTIONS(2870),
    [anon_sym_while] = ACTIONS(2870),
    [anon_sym_until] = ACTIONS(2870),
    [anon_sym_rescue] = ACTIONS(2870),
    [anon_sym_elsif] = ACTIONS(2870),
    [anon_sym_else] = ACTIONS(2870),
    [anon_sym_EQ_GT] = ACTIONS(2870),
    [anon_sym_AMP_DOT] = ACTIONS(2870),
    [anon_sym_QMARK] = ACTIONS(12852),
    [anon_sym_DOT_DOT] = ACTIONS(12854),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12856),
    [anon_sym_and] = ACTIONS(2870),
    [anon_sym_or] = ACTIONS(2870),
    [anon_sym_PIPE_PIPE] = ACTIONS(12858),
    [anon_sym_AMP_AMP] = ACTIONS(12858),
    [anon_sym_LT_LT] = ACTIONS(12860),
    [anon_sym_GT_GT] = ACTIONS(12860),
    [anon_sym_EQ_EQ] = ACTIONS(12862),
    [anon_sym_BANG_EQ] = ACTIONS(12858),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12858),
    [anon_sym_LT_EQ_GT] = ACTIONS(12858),
    [anon_sym_EQ_TILDE] = ACTIONS(12858),
    [anon_sym_BANG_TILDE] = ACTIONS(12858),
    [anon_sym_LT_EQ] = ACTIONS(12850),
    [anon_sym_GT] = ACTIONS(12850),
    [anon_sym_GT_EQ] = ACTIONS(12864),
    [anon_sym_CARET] = ACTIONS(12866),
    [anon_sym_PLUS] = ACTIONS(12868),
    [anon_sym_SLASH] = ACTIONS(12846),
    [anon_sym_PERCENT] = ACTIONS(12846),
    [sym_comment] = ACTIONS(110),
  },
  [10022] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(12189),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(10003),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(10004),
    [sym__variable] = STATE(3868),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(12810),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(12812),
    [anon_sym_defined_QMARK] = ACTIONS(12814),
    [anon_sym_not] = ACTIONS(12816),
    [anon_sym_BANG] = ACTIONS(12818),
    [anon_sym_TILDE] = ACTIONS(12818),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [10023] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(12190),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7028),
    [sym_call] = STATE(7028),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7030),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7031),
    [sym__variable] = STATE(7028),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(9570),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(12820),
    [anon_sym_yield] = ACTIONS(12822),
    [anon_sym_break] = ACTIONS(12824),
    [anon_sym_next] = ACTIONS(12826),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(12828),
    [anon_sym_defined_QMARK] = ACTIONS(9580),
    [anon_sym_not] = ACTIONS(12830),
    [anon_sym_BANG] = ACTIONS(9586),
    [anon_sym_TILDE] = ACTIONS(9586),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [10024] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(12191),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7028),
    [sym_call] = STATE(7028),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7030),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7031),
    [sym__variable] = STATE(7028),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(9570),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(12820),
    [anon_sym_yield] = ACTIONS(12822),
    [anon_sym_break] = ACTIONS(12824),
    [anon_sym_next] = ACTIONS(12826),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(12828),
    [anon_sym_defined_QMARK] = ACTIONS(9580),
    [anon_sym_not] = ACTIONS(12830),
    [anon_sym_BANG] = ACTIONS(9586),
    [anon_sym_TILDE] = ACTIONS(9586),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [10025] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(12192),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7028),
    [sym_call] = STATE(7028),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7030),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7031),
    [sym__variable] = STATE(7028),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(9570),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(12820),
    [anon_sym_yield] = ACTIONS(12822),
    [anon_sym_break] = ACTIONS(12824),
    [anon_sym_next] = ACTIONS(12826),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(12828),
    [anon_sym_defined_QMARK] = ACTIONS(9580),
    [anon_sym_not] = ACTIONS(12830),
    [anon_sym_BANG] = ACTIONS(9586),
    [anon_sym_TILDE] = ACTIONS(9586),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [10026] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(12193),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7028),
    [sym_call] = STATE(7028),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7030),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7031),
    [sym__variable] = STATE(7028),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(9570),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(12820),
    [anon_sym_yield] = ACTIONS(12822),
    [anon_sym_break] = ACTIONS(12824),
    [anon_sym_next] = ACTIONS(12826),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(12828),
    [anon_sym_defined_QMARK] = ACTIONS(9580),
    [anon_sym_not] = ACTIONS(12830),
    [anon_sym_BANG] = ACTIONS(9586),
    [anon_sym_TILDE] = ACTIONS(9586),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [10027] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(12194),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7028),
    [sym_call] = STATE(7028),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7030),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7031),
    [sym__variable] = STATE(7028),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(9570),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(12820),
    [anon_sym_yield] = ACTIONS(12822),
    [anon_sym_break] = ACTIONS(12824),
    [anon_sym_next] = ACTIONS(12826),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(12828),
    [anon_sym_defined_QMARK] = ACTIONS(9580),
    [anon_sym_not] = ACTIONS(12830),
    [anon_sym_BANG] = ACTIONS(9586),
    [anon_sym_TILDE] = ACTIONS(9586),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [10028] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(12195),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7028),
    [sym_call] = STATE(7028),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7030),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7031),
    [sym__variable] = STATE(7028),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(9570),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(12820),
    [anon_sym_yield] = ACTIONS(12822),
    [anon_sym_break] = ACTIONS(12824),
    [anon_sym_next] = ACTIONS(12826),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(12828),
    [anon_sym_defined_QMARK] = ACTIONS(9580),
    [anon_sym_not] = ACTIONS(12830),
    [anon_sym_BANG] = ACTIONS(9586),
    [anon_sym_TILDE] = ACTIONS(9586),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [10029] = {
    [sym_method] = STATE(151),
    [sym_singleton_method] = STATE(151),
    [sym_class] = STATE(151),
    [sym_singleton_class] = STATE(151),
    [sym_module] = STATE(151),
    [sym_return] = STATE(151),
    [sym_yield] = STATE(151),
    [sym_break] = STATE(151),
    [sym_next] = STATE(151),
    [sym_redo] = STATE(151),
    [sym_retry] = STATE(151),
    [sym_while] = STATE(151),
    [sym_until] = STATE(151),
    [sym_for] = STATE(151),
    [sym_case] = STATE(151),
    [sym_if] = STATE(151),
    [sym_unless] = STATE(151),
    [sym_begin] = STATE(151),
    [sym__arg] = STATE(12196),
    [sym__primary] = STATE(1137),
    [sym_parenthesized_statements] = STATE(151),
    [sym_element_reference] = STATE(1138),
    [sym_scope_resolution] = STATE(2018),
    [sym_call] = STATE(2018),
    [sym_method_call] = STATE(1138),
    [sym_assignment] = STATE(198),
    [sym_operator_assignment] = STATE(198),
    [sym_conditional] = STATE(198),
    [sym_range] = STATE(198),
    [sym_binary] = STATE(198),
    [sym_unary] = STATE(198),
    [sym_left_assignment_list] = STATE(2019),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(2020),
    [sym__variable] = STATE(2018),
    [sym_symbol] = STATE(151),
    [sym_complex] = STATE(151),
    [sym_rational] = STATE(151),
    [sym_super] = STATE(1130),
    [sym_true] = STATE(1138),
    [sym_false] = STATE(1138),
    [sym_self] = STATE(1130),
    [sym_nil] = STATE(1138),
    [sym_chained_string] = STATE(151),
    [sym_string] = STATE(934),
    [sym_subshell] = STATE(151),
    [sym_array] = STATE(151),
    [sym_hash] = STATE(151),
    [sym_regex] = STATE(151),
    [sym_lambda] = STATE(151),
    [sym__simple_string] = ACTIONS(1504),
    [sym__simple_symbol] = ACTIONS(262),
    [sym__simple_subshell] = ACTIONS(264),
    [sym__simple_regex] = ACTIONS(266),
    [sym__simple_word_list] = ACTIONS(268),
    [sym__string_beginning] = ACTIONS(1506),
    [sym__symbol_beginning] = ACTIONS(274),
    [sym__subshell_beginning] = ACTIONS(276),
    [sym__regex_beginning] = ACTIONS(278),
    [sym__word_list_beginning] = ACTIONS(280),
    [sym_heredoc_beginning] = ACTIONS(284),
    [sym__unary_minus] = ACTIONS(3110),
    [anon_sym_LBRACE] = ACTIONS(288),
    [anon_sym_def] = ACTIONS(1508),
    [anon_sym_LPAREN] = ACTIONS(294),
    [anon_sym_COLON_COLON] = ACTIONS(1824),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1510),
    [anon_sym_module] = ACTIONS(1512),
    [anon_sym_return] = ACTIONS(3112),
    [anon_sym_yield] = ACTIONS(3114),
    [anon_sym_break] = ACTIONS(3116),
    [anon_sym_next] = ACTIONS(3118),
    [anon_sym_redo] = ACTIONS(1522),
    [anon_sym_retry] = ACTIONS(1524),
    [anon_sym_if] = ACTIONS(1526),
    [anon_sym_unless] = ACTIONS(1528),
    [anon_sym_while] = ACTIONS(1530),
    [anon_sym_until] = ACTIONS(1532),
    [anon_sym_for] = ACTIONS(1534),
    [anon_sym_case] = ACTIONS(1536),
    [anon_sym_begin] = ACTIONS(1538),
    [anon_sym_PLUS] = ACTIONS(3120),
    [anon_sym_defined_QMARK] = ACTIONS(3122),
    [anon_sym_not] = ACTIONS(3124),
    [anon_sym_BANG] = ACTIONS(3126),
    [anon_sym_TILDE] = ACTIONS(3126),
    [sym_constant] = ACTIONS(1842),
    [sym_identifier] = ACTIONS(1842),
    [sym_instance_variable] = ACTIONS(1844),
    [sym_class_variable] = ACTIONS(1844),
    [sym_global_variable] = ACTIONS(1844),
    [anon_sym_false] = ACTIONS(1846),
    [anon_sym_nil] = ACTIONS(1848),
    [anon_sym_self] = ACTIONS(1850),
    [anon_sym_super] = ACTIONS(1852),
    [anon_sym_true] = ACTIONS(1854),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(356),
    [sym_float] = ACTIONS(358),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(360),
    [anon_sym_TRUE] = ACTIONS(1854),
    [anon_sym_FALSE] = ACTIONS(1846),
    [anon_sym_NIL] = ACTIONS(1848),
    [sym_keyword__FILE__] = ACTIONS(368),
    [sym_keyword__LINE__] = ACTIONS(368),
    [sym_keyword__ENCODING__] = ACTIONS(368),
    [sym__character_literal] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(372),
    [anon_sym_DASH_GT] = ACTIONS(374),
  },
  [10030] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(12197),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7028),
    [sym_call] = STATE(7028),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7030),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7031),
    [sym__variable] = STATE(7028),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(9570),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(12820),
    [anon_sym_yield] = ACTIONS(12822),
    [anon_sym_break] = ACTIONS(12824),
    [anon_sym_next] = ACTIONS(12826),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(12828),
    [anon_sym_defined_QMARK] = ACTIONS(9580),
    [anon_sym_not] = ACTIONS(12830),
    [anon_sym_BANG] = ACTIONS(9586),
    [anon_sym_TILDE] = ACTIONS(9586),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [10031] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(12198),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7028),
    [sym_call] = STATE(7028),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7030),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7031),
    [sym__variable] = STATE(7028),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(9570),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(12820),
    [anon_sym_yield] = ACTIONS(12822),
    [anon_sym_break] = ACTIONS(12824),
    [anon_sym_next] = ACTIONS(12826),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(12828),
    [anon_sym_defined_QMARK] = ACTIONS(9580),
    [anon_sym_not] = ACTIONS(12830),
    [anon_sym_BANG] = ACTIONS(9586),
    [anon_sym_TILDE] = ACTIONS(9586),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [10032] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(12199),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7028),
    [sym_call] = STATE(7028),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7030),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7031),
    [sym__variable] = STATE(7028),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(9570),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(12820),
    [anon_sym_yield] = ACTIONS(12822),
    [anon_sym_break] = ACTIONS(12824),
    [anon_sym_next] = ACTIONS(12826),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(12828),
    [anon_sym_defined_QMARK] = ACTIONS(9580),
    [anon_sym_not] = ACTIONS(12830),
    [anon_sym_BANG] = ACTIONS(9586),
    [anon_sym_TILDE] = ACTIONS(9586),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [10033] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(12200),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7028),
    [sym_call] = STATE(7028),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7030),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7031),
    [sym__variable] = STATE(7028),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(9570),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(12820),
    [anon_sym_yield] = ACTIONS(12822),
    [anon_sym_break] = ACTIONS(12824),
    [anon_sym_next] = ACTIONS(12826),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(12828),
    [anon_sym_defined_QMARK] = ACTIONS(9580),
    [anon_sym_not] = ACTIONS(12830),
    [anon_sym_BANG] = ACTIONS(9586),
    [anon_sym_TILDE] = ACTIONS(9586),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [10034] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(12201),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7028),
    [sym_call] = STATE(7028),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7030),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7031),
    [sym__variable] = STATE(7028),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(9570),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(12820),
    [anon_sym_yield] = ACTIONS(12822),
    [anon_sym_break] = ACTIONS(12824),
    [anon_sym_next] = ACTIONS(12826),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(12828),
    [anon_sym_defined_QMARK] = ACTIONS(9580),
    [anon_sym_not] = ACTIONS(12830),
    [anon_sym_BANG] = ACTIONS(9586),
    [anon_sym_TILDE] = ACTIONS(9586),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [10035] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(12202),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7073),
    [sym_call] = STATE(7073),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(7075),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7076),
    [sym__variable] = STATE(7073),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(9644),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(12918),
    [anon_sym_yield] = ACTIONS(12920),
    [anon_sym_break] = ACTIONS(12922),
    [anon_sym_next] = ACTIONS(12924),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(12926),
    [anon_sym_defined_QMARK] = ACTIONS(9654),
    [anon_sym_not] = ACTIONS(12928),
    [anon_sym_BANG] = ACTIONS(9660),
    [anon_sym_TILDE] = ACTIONS(9660),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [10036] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(12203),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7073),
    [sym_call] = STATE(7073),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(7075),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7076),
    [sym__variable] = STATE(7073),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(9644),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(12918),
    [anon_sym_yield] = ACTIONS(12920),
    [anon_sym_break] = ACTIONS(12922),
    [anon_sym_next] = ACTIONS(12924),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(12926),
    [anon_sym_defined_QMARK] = ACTIONS(9654),
    [anon_sym_not] = ACTIONS(12928),
    [anon_sym_BANG] = ACTIONS(9660),
    [anon_sym_TILDE] = ACTIONS(9660),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [10037] = {
    [sym_method] = STATE(561),
    [sym_singleton_method] = STATE(561),
    [sym_class] = STATE(561),
    [sym_singleton_class] = STATE(561),
    [sym_module] = STATE(561),
    [sym_return] = STATE(561),
    [sym_yield] = STATE(561),
    [sym_break] = STATE(561),
    [sym_next] = STATE(561),
    [sym_redo] = STATE(561),
    [sym_retry] = STATE(561),
    [sym_while] = STATE(561),
    [sym_until] = STATE(561),
    [sym_for] = STATE(561),
    [sym_case] = STATE(561),
    [sym_if] = STATE(561),
    [sym_unless] = STATE(561),
    [sym_begin] = STATE(561),
    [sym__arg] = STATE(12204),
    [sym__primary] = STATE(1221),
    [sym_parenthesized_statements] = STATE(561),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7073),
    [sym_call] = STATE(7073),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(603),
    [sym_operator_assignment] = STATE(603),
    [sym_conditional] = STATE(603),
    [sym_range] = STATE(603),
    [sym_binary] = STATE(603),
    [sym_unary] = STATE(603),
    [sym_left_assignment_list] = STATE(7075),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7076),
    [sym__variable] = STATE(7073),
    [sym_symbol] = STATE(561),
    [sym_complex] = STATE(561),
    [sym_rational] = STATE(561),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(561),
    [sym_string] = STATE(2112),
    [sym_subshell] = STATE(561),
    [sym_array] = STATE(561),
    [sym_hash] = STATE(561),
    [sym_regex] = STATE(561),
    [sym_lambda] = STATE(561),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_symbol] = ACTIONS(986),
    [sym__simple_subshell] = ACTIONS(988),
    [sym__simple_regex] = ACTIONS(990),
    [sym__simple_word_list] = ACTIONS(992),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__symbol_beginning] = ACTIONS(996),
    [sym__subshell_beginning] = ACTIONS(998),
    [sym__regex_beginning] = ACTIONS(1000),
    [sym__word_list_beginning] = ACTIONS(1002),
    [sym_heredoc_beginning] = ACTIONS(1004),
    [sym__unary_minus] = ACTIONS(9644),
    [anon_sym_LBRACE] = ACTIONS(3228),
    [anon_sym_def] = ACTIONS(3230),
    [anon_sym_LPAREN] = ACTIONS(1018),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(3232),
    [anon_sym_module] = ACTIONS(3234),
    [anon_sym_return] = ACTIONS(12918),
    [anon_sym_yield] = ACTIONS(12920),
    [anon_sym_break] = ACTIONS(12922),
    [anon_sym_next] = ACTIONS(12924),
    [anon_sym_redo] = ACTIONS(3244),
    [anon_sym_retry] = ACTIONS(3246),
    [anon_sym_if] = ACTIONS(3248),
    [anon_sym_unless] = ACTIONS(3250),
    [anon_sym_while] = ACTIONS(3252),
    [anon_sym_until] = ACTIONS(3254),
    [anon_sym_for] = ACTIONS(3256),
    [anon_sym_case] = ACTIONS(3258),
    [anon_sym_begin] = ACTIONS(3260),
    [anon_sym_PLUS] = ACTIONS(12926),
    [anon_sym_defined_QMARK] = ACTIONS(9654),
    [anon_sym_not] = ACTIONS(12928),
    [anon_sym_BANG] = ACTIONS(9660),
    [anon_sym_TILDE] = ACTIONS(9660),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1054),
    [sym_float] = ACTIONS(1056),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1058),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(1060),
    [sym_keyword__LINE__] = ACTIONS(1060),
    [sym_keyword__ENCODING__] = ACTIONS(1060),
    [sym__character_literal] = ACTIONS(3266),
    [anon_sym_LBRACK] = ACTIONS(1064),
    [anon_sym_DASH_GT] = ACTIONS(1066),
  },
  [10038] = {
    [sym__simple_string] = ACTIONS(722),
    [sym__simple_symbol] = ACTIONS(722),
    [sym__simple_subshell] = ACTIONS(722),
    [sym__simple_regex] = ACTIONS(722),
    [sym__simple_word_list] = ACTIONS(722),
    [sym__simple_heredoc_body] = ACTIONS(722),
    [sym__string_beginning] = ACTIONS(722),
    [sym__symbol_beginning] = ACTIONS(722),
    [sym__subshell_beginning] = ACTIONS(722),
    [sym__regex_beginning] = ACTIONS(722),
    [sym__word_list_beginning] = ACTIONS(722),
    [sym__heredoc_body_beginning] = ACTIONS(722),
    [sym_heredoc_beginning] = ACTIONS(722),
    [sym__line_break] = ACTIONS(722),
    [sym__element_reference_left_bracket] = ACTIONS(722),
    [sym__block_ampersand] = ACTIONS(722),
    [sym__splat_star] = ACTIONS(722),
    [sym__argument_list_left_paren] = ACTIONS(722),
    [sym__scope_double_colon] = ACTIONS(722),
    [sym__keyword_colon] = ACTIONS(15038),
    [sym__unary_minus] = ACTIONS(722),
    [sym__binary_minus] = ACTIONS(722),
    [sym__binary_star] = ACTIONS(722),
    [anon_sym_LBRACE] = ACTIONS(722),
    [anon_sym_def] = ACTIONS(724),
    [anon_sym_LPAREN] = ACTIONS(722),
    [anon_sym_DOT] = ACTIONS(724),
    [anon_sym_COLON_COLON] = ACTIONS(722),
    [anon_sym_end] = ACTIONS(724),
    [anon_sym_COMMA] = ACTIONS(722),
    [anon_sym_PIPE] = ACTIONS(724),
    [anon_sym_SEMI] = ACTIONS(722),
    [anon_sym_STAR] = ACTIONS(724),
    [anon_sym_STAR_STAR] = ACTIONS(724),
    [anon_sym_AMP] = ACTIONS(724),
    [anon_sym_EQ] = ACTIONS(724),
    [anon_sym_class] = ACTIONS(724),
    [anon_sym_LT] = ACTIONS(724),
    [anon_sym_module] = ACTIONS(724),
    [anon_sym_return] = ACTIONS(724),
    [anon_sym_yield] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(724),
    [anon_sym_next] = ACTIONS(724),
    [anon_sym_redo] = ACTIONS(724),
    [anon_sym_retry] = ACTIONS(724),
    [anon_sym_if] = ACTIONS(724),
    [anon_sym_unless] = ACTIONS(724),
    [anon_sym_while] = ACTIONS(724),
    [anon_sym_until] = ACTIONS(724),
    [anon_sym_rescue] = ACTIONS(724),
    [anon_sym_for] = ACTIONS(724),
    [anon_sym_in] = ACTIONS(724),
    [anon_sym_do] = ACTIONS(724),
    [anon_sym_case] = ACTIONS(724),
    [anon_sym_when] = ACTIONS(724),
    [anon_sym_elsif] = ACTIONS(724),
    [anon_sym_else] = ACTIONS(724),
    [anon_sym_then] = ACTIONS(724),
    [anon_sym_begin] = ACTIONS(724),
    [anon_sym_ensure] = ACTIONS(724),
    [anon_sym_EQ_GT] = ACTIONS(722),
    [anon_sym_AMP_DOT] = ACTIONS(722),
    [anon_sym_PLUS_EQ] = ACTIONS(722),
    [anon_sym_DASH_EQ] = ACTIONS(722),
    [anon_sym_STAR_EQ] = ACTIONS(722),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(722),
    [anon_sym_SLASH_EQ] = ACTIONS(722),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(722),
    [anon_sym_PIPE_EQ] = ACTIONS(722),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(722),
    [anon_sym_AMP_EQ] = ACTIONS(722),
    [anon_sym_PERCENT_EQ] = ACTIONS(722),
    [anon_sym_GT_GT_EQ] = ACTIONS(722),
    [anon_sym_LT_LT_EQ] = ACTIONS(722),
    [anon_sym_CARET_EQ] = ACTIONS(722),
    [anon_sym_QMARK] = ACTIONS(724),
    [anon_sym_DOT_DOT] = ACTIONS(724),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(722),
    [anon_sym_and] = ACTIONS(724),
    [anon_sym_or] = ACTIONS(724),
    [anon_sym_PIPE_PIPE] = ACTIONS(724),
    [anon_sym_AMP_AMP] = ACTIONS(724),
    [anon_sym_LT_LT] = ACTIONS(724),
    [anon_sym_GT_GT] = ACTIONS(724),
    [anon_sym_EQ_EQ] = ACTIONS(724),
    [anon_sym_BANG_EQ] = ACTIONS(722),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(722),
    [anon_sym_LT_EQ_GT] = ACTIONS(722),
    [anon_sym_EQ_TILDE] = ACTIONS(722),
    [anon_sym_BANG_TILDE] = ACTIONS(722),
    [anon_sym_LT_EQ] = ACTIONS(724),
    [anon_sym_GT] = ACTIONS(724),
    [anon_sym_GT_EQ] = ACTIONS(722),
    [anon_sym_CARET] = ACTIONS(724),
    [anon_sym_PLUS] = ACTIONS(724),
    [anon_sym_SLASH] = ACTIONS(724),
    [anon_sym_PERCENT] = ACTIONS(724),
    [anon_sym_defined_QMARK] = ACTIONS(722),
    [anon_sym_not] = ACTIONS(724),
    [anon_sym_BANG] = ACTIONS(724),
    [anon_sym_TILDE] = ACTIONS(722),
    [sym_constant] = ACTIONS(726),
    [sym_identifier] = ACTIONS(726),
    [sym_instance_variable] = ACTIONS(724),
    [sym_class_variable] = ACTIONS(724),
    [sym_global_variable] = ACTIONS(724),
    [anon_sym_alias] = ACTIONS(724),
    [anon_sym_defined] = ACTIONS(724),
    [anon_sym_false] = ACTIONS(724),
    [anon_sym_nil] = ACTIONS(724),
    [anon_sym_self] = ACTIONS(724),
    [anon_sym_super] = ACTIONS(724),
    [anon_sym_true] = ACTIONS(724),
    [anon_sym_undef] = ACTIONS(724),
    [sym_comment] = ACTIONS(256),
    [sym_integer] = ACTIONS(724),
    [sym_float] = ACTIONS(726),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(722),
    [anon_sym_TRUE] = ACTIONS(724),
    [anon_sym_FALSE] = ACTIONS(724),
    [anon_sym_NIL] = ACTIONS(724),
    [sym_keyword__FILE__] = ACTIONS(724),
    [sym_keyword__LINE__] = ACTIONS(724),
    [sym_keyword__ENCODING__] = ACTIONS(724),
    [sym__character_literal] = ACTIONS(724),
    [anon_sym_LBRACK] = ACTIONS(722),
    [anon_sym_DASH_GT] = ACTIONS(722),
  },
  [10039] = {
    [sym__simple_heredoc_body] = ACTIONS(2210),
    [sym__heredoc_body_beginning] = ACTIONS(2210),
    [sym__line_break] = ACTIONS(2210),
    [sym__element_reference_left_bracket] = ACTIONS(2210),
    [sym__scope_double_colon] = ACTIONS(2210),
    [sym__binary_minus] = ACTIONS(12932),
    [sym__binary_star] = ACTIONS(12934),
    [anon_sym_LBRACE] = ACTIONS(2210),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_end] = ACTIONS(2210),
    [anon_sym_COMMA] = ACTIONS(2210),
    [anon_sym_PIPE] = ACTIONS(12936),
    [anon_sym_SEMI] = ACTIONS(2210),
    [anon_sym_STAR_STAR] = ACTIONS(12938),
    [anon_sym_AMP] = ACTIONS(12940),
    [anon_sym_EQ] = ACTIONS(2216),
    [anon_sym_LT] = ACTIONS(12942),
    [anon_sym_if] = ACTIONS(2210),
    [anon_sym_unless] = ACTIONS(2210),
    [anon_sym_while] = ACTIONS(2210),
    [anon_sym_until] = ACTIONS(2210),
    [anon_sym_rescue] = ACTIONS(2210),
    [anon_sym_do] = ACTIONS(2210),
    [anon_sym_elsif] = ACTIONS(2210),
    [anon_sym_else] = ACTIONS(2210),
    [anon_sym_EQ_GT] = ACTIONS(2210),
    [anon_sym_AMP_DOT] = ACTIONS(2210),
    [anon_sym_PLUS_EQ] = ACTIONS(2210),
    [anon_sym_DASH_EQ] = ACTIONS(2210),
    [anon_sym_STAR_EQ] = ACTIONS(2210),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2210),
    [anon_sym_SLASH_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_PIPE_EQ] = ACTIONS(2210),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2210),
    [anon_sym_AMP_EQ] = ACTIONS(2210),
    [anon_sym_PERCENT_EQ] = ACTIONS(2210),
    [anon_sym_GT_GT_EQ] = ACTIONS(2210),
    [anon_sym_LT_LT_EQ] = ACTIONS(2210),
    [anon_sym_CARET_EQ] = ACTIONS(2210),
    [anon_sym_QMARK] = ACTIONS(12944),
    [anon_sym_DOT_DOT] = ACTIONS(12946),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(12948),
    [anon_sym_and] = ACTIONS(2210),
    [anon_sym_or] = ACTIONS(2210),
    [anon_sym_PIPE_PIPE] = ACTIONS(12950),
    [anon_sym_AMP_AMP] = ACTIONS(12950),
    [anon_sym_LT_LT] = ACTIONS(12952),
    [anon_sym_GT_GT] = ACTIONS(12952),
    [anon_sym_EQ_EQ] = ACTIONS(12950),
    [anon_sym_BANG_EQ] = ACTIONS(12954),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(12954),
    [anon_sym_LT_EQ_GT] = ACTIONS(12954),
    [anon_sym_EQ_TILDE] = ACTIONS(12954),
    [anon_sym_BANG_TILDE] = ACTIONS(12954),
    [anon_sym_LT_EQ] = ACTIONS(12942),
    [anon_sym_GT] = ACTIONS(12942),
    [anon_sym_GT_EQ] = ACTIONS(12956),
    [anon_sym_CARET] = ACTIONS(12936),
    [anon_sym_PLUS] = ACTIONS(12958),
    [anon_sym_SLASH] = ACTIONS(12938),
    [anon_sym_PERCENT] = ACTIONS(12938),
    [sym_comment] = ACTIONS(256),
  },
  [10040] = {
    [sym_heredoc_end] = STATE(3770),
    [aux_sym_argument_list_repeat1] = STATE(12207),
    [aux_sym_argument_list_repeat2] = STATE(3771),
    [sym__simple_heredoc_body] = ACTIONS(5460),
    [sym__heredoc_body_beginning] = ACTIONS(5462),
    [sym__line_break] = ACTIONS(2272),
    [sym__element_reference_left_bracket] = ACTIONS(2272),
    [sym__scope_double_colon] = ACTIONS(2272),
    [sym__binary_minus] = ACTIONS(2272),
    [sym__binary_star] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2274),
    [anon_sym_end] = ACTIONS(2272),
    [anon_sym_COMMA] = ACTIONS(15040),
    [anon_sym_PIPE] = ACTIONS(2274),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_STAR_STAR] = ACTIONS(2274),
    [anon_sym_AMP] = ACTIONS(2274),
    [anon_sym_EQ] = ACTIONS(2274),
    [anon_sym_LT] = ACTIONS(2274),
    [anon_sym_if] = ACTIONS(2272),
    [anon_sym_unless] = ACTIONS(2272),
    [anon_sym_while] = ACTIONS(2272),
    [anon_sym_until] = ACTIONS(2272),
    [anon_sym_rescue] = ACTIONS(2272),
    [anon_sym_do] = ACTIONS(2272),
    [anon_sym_elsif] = ACTIONS(2272),
    [anon_sym_else] = ACTIONS(2272),
    [anon_sym_EQ_GT] = ACTIONS(2272),
    [anon_sym_AMP_DOT] = ACTIONS(2272),
    [anon_sym_PLUS_EQ] = ACTIONS(2272),
    [anon_sym_DASH_EQ] = ACTIONS(2272),
    [anon_sym_STAR_EQ] = ACTIONS(2272),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(2272),
    [anon_sym_SLASH_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_PIPE_EQ] = ACTIONS(2272),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(2272),
    [anon_sym_AMP_EQ] = ACTIONS(2272),
    [anon_sym_PERCENT_EQ] = ACTIONS(2272),
    [anon_sym_GT_GT_EQ] = ACTIONS(2272),
    [anon_sym_LT_LT_EQ] = ACTIONS(2272),
    [anon_sym_CARET_EQ] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_DOT_DOT] = ACTIONS(2274),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2272),
    [anon_sym_and] = ACTIONS(2272),
    [anon_sym_or] = ACTIONS(2272),
    [anon_sym_PIPE_PIPE] = ACTIONS(2274),
    [anon_sym_AMP_AMP] = ACTIONS(2274),
    [anon_sym_LT_LT] = ACTIONS(2274),
    [anon_sym_GT_GT] = ACTIONS(2274),
    [anon_sym_EQ_EQ] = ACTIONS(2274),
    [anon_sym_BANG_EQ] = ACTIONS(2272),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(2272),
    [anon_sym_LT_EQ_GT] = ACTIONS(2272),
    [anon_sym_EQ_TILDE] = ACTIONS(2272),
    [anon_sym_BANG_TILDE] = ACTIONS(2272),
    [anon_sym_LT_EQ] = ACTIONS(2274),
    [anon_sym_GT] = ACTIONS(2274),
    [anon_sym_GT_EQ] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2274),
    [anon_sym_PLUS] = ACTIONS(2274),
    [anon_sym_SLASH] = ACTIONS(2274),
    [anon_sym_PERCENT] = ACTIONS(2274),
    [sym_comment] = ACTIONS(256),
  },
  [10041] = {
    [sym__keyword_colon] = ACTIONS(15042),
    [sym_comment] = ACTIONS(110),
  },
  [10042] = {
    [sym_string] = STATE(2203),
    [aux_sym_chained_string_repeat1] = STATE(2204),
    [sym__simple_string] = ACTIONS(3224),
    [sym__simple_heredoc_body] = ACTIONS(250),
    [sym__string_beginning] = ACTIONS(3226),
    [sym__heredoc_body_beginning] = ACTIONS(250),
    [sym__line_break] = ACTIONS(250),
    [sym__element_reference_left_bracket] = ACTIONS(250),
    [sym__scope_double_colon] = ACTIONS(250),
    [sym__keyword_colon] = ACTIONS(15038),
    [sym__binary_minus] = ACTIONS(250),
    [sym__binary_star] = ACTIONS(250),
    [anon_sym_LBRACE] = ACTIONS(250),
    [anon_sym_DOT] = ACTIONS(252),
    [anon_sym_end] = ACTIONS(250),
    [anon_sym_COMMA] = ACTIONS(250),
    [anon_sym_PIPE] = ACTIONS(252),
    [anon_sym_SEMI] = ACTIONS(250),
    [anon_sym_STAR_STAR] = ACTIONS(252),
    [anon_sym_AMP] = ACTIONS(252),
    [anon_sym_EQ] = ACTIONS(252),
    [anon_sym_LT] = ACTIONS(252),
    [anon_sym_if] = ACTIONS(250),
    [anon_sym_unless] = ACTIONS(250),
    [anon_sym_while] = ACTIONS(250),
    [anon_sym_until] = ACTIONS(250),
    [anon_sym_rescue] = ACTIONS(250),
    [anon_sym_do] = ACTIONS(250),
    [anon_sym_elsif] = ACTIONS(250),
    [anon_sym_else] = ACTIONS(250),
    [anon_sym_EQ_GT] = ACTIONS(250),
    [anon_sym_AMP_DOT] = ACTIONS(250),
    [anon_sym_PLUS_EQ] = ACTIONS(250),
    [anon_sym_DASH_EQ] = ACTIONS(250),
    [anon_sym_STAR_EQ] = ACTIONS(250),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(250),
    [anon_sym_SLASH_EQ] = ACTIONS(250),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(250),
    [anon_sym_PIPE_EQ] = ACTIONS(250),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(250),
    [anon_sym_AMP_EQ] = ACTIONS(250),
    [anon_sym_PERCENT_EQ] = ACTIONS(250),
    [anon_sym_GT_GT_EQ] = ACTIONS(250),
    [anon_sym_LT_LT_EQ] = ACTIONS(250),
    [anon_sym_CARET_EQ] = ACTIONS(250),
    [anon_sym_QMARK] = ACTIONS(252),
    [anon_sym_DOT_DOT] = ACTIONS(252),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(250),
    [anon_sym_and] = ACTIONS(250),
    [anon_sym_or] = ACTIONS(250),
    [anon_sym_PIPE_PIPE] = ACTIONS(252),
    [anon_sym_AMP_AMP] = ACTIONS(252),
    [anon_sym_LT_LT] = ACTIONS(252),
    [anon_sym_GT_GT] = ACTIONS(252),
    [anon_sym_EQ_EQ] = ACTIONS(252),
    [anon_sym_BANG_EQ] = ACTIONS(250),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(250),
    [anon_sym_LT_EQ_GT] = ACTIONS(250),
    [anon_sym_EQ_TILDE] = ACTIONS(250),
    [anon_sym_BANG_TILDE] = ACTIONS(250),
    [anon_sym_LT_EQ] = ACTIONS(252),
    [anon_sym_GT] = ACTIONS(252),
    [anon_sym_GT_EQ] = ACTIONS(250),
    [anon_sym_CARET] = ACTIONS(252),
    [anon_sym_PLUS] = ACTIONS(252),
    [anon_sym_SLASH] = ACTIONS(252),
    [anon_sym_PERCENT] = ACTIONS(252),
    [sym_comment] = ACTIONS(256),
    [sym__character_literal] = ACTIONS(3266),
  },
  [10043] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(7027),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7028),
    [sym_call] = STATE(7028),
    [sym_method_call] = STATE(338),
    [sym__argument] = STATE(3780),
    [sym_splat_argument] = STATE(343),
    [sym_hash_splat_argument] = STATE(343),
    [sym_block_argument] = STATE(343),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7030),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7031),
    [sym__variable] = STATE(7028),
    [sym_reserved_identifier] = STATE(7032),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(7033),
    [sym_subshell] = STATE(12),
    [sym_heredoc_end] = STATE(12209),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_pair] = STATE(343),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(530),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__simple_heredoc_body] = ACTIONS(5476),
    [sym__string_beginning] = ACTIONS(534),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym__heredoc_body_beginning] = ACTIONS(5478),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__block_ampersand] = ACTIONS(9566),
    [sym__splat_star] = ACTIONS(9568),
    [sym__unary_minus] = ACTIONS(9570),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(546),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_end] = ACTIONS(298),
    [anon_sym_STAR] = ACTIONS(300),
    [anon_sym_STAR_STAR] = ACTIONS(15044),
    [anon_sym_class] = ACTIONS(550),
    [anon_sym_module] = ACTIONS(552),
    [anon_sym_return] = ACTIONS(9572),
    [anon_sym_yield] = ACTIONS(9574),
    [anon_sym_break] = ACTIONS(9576),
    [anon_sym_next] = ACTIONS(9578),
    [anon_sym_redo] = ACTIONS(562),
    [anon_sym_retry] = ACTIONS(564),
    [anon_sym_if] = ACTIONS(2424),
    [anon_sym_unless] = ACTIONS(2426),
    [anon_sym_while] = ACTIONS(2428),
    [anon_sym_until] = ACTIONS(2430),
    [anon_sym_rescue] = ACTIONS(298),
    [anon_sym_for] = ACTIONS(566),
    [anon_sym_in] = ACTIONS(298),
    [anon_sym_do] = ACTIONS(298),
    [anon_sym_case] = ACTIONS(568),
    [anon_sym_when] = ACTIONS(298),
    [anon_sym_elsif] = ACTIONS(298),
    [anon_sym_else] = ACTIONS(298),
    [anon_sym_then] = ACTIONS(298),
    [anon_sym_begin] = ACTIONS(570),
    [anon_sym_ensure] = ACTIONS(298),
    [anon_sym_and] = ACTIONS(298),
    [anon_sym_or] = ACTIONS(298),
    [anon_sym_PLUS] = ACTIONS(12828),
    [anon_sym_defined_QMARK] = ACTIONS(9580),
    [anon_sym_not] = ACTIONS(9582),
    [anon_sym_BANG] = ACTIONS(9586),
    [anon_sym_TILDE] = ACTIONS(9586),
    [sym_constant] = ACTIONS(9588),
    [sym_identifier] = ACTIONS(9588),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_alias] = ACTIONS(298),
    [anon_sym_defined] = ACTIONS(298),
    [anon_sym_false] = ACTIONS(584),
    [anon_sym_nil] = ACTIONS(586),
    [anon_sym_self] = ACTIONS(1916),
    [anon_sym_super] = ACTIONS(1918),
    [anon_sym_true] = ACTIONS(592),
    [anon_sym_undef] = ACTIONS(298),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(600),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [10044] = {
    [sym_heredoc_end] = STATE(1444),
    [aux_sym_argument_list_repeat2] = STATE(3783),
    [sym__simple_heredoc_body] = ACTIONS(2268),
    [sym__heredoc_body_beginning] = ACTIONS(2270),
    [sym__line_break] = ACTIONS(5472),
    [sym__element_reference_left_bracket] = ACTIONS(5472),
    [sym__scope_double_colon] = ACTIONS(5472),
    [sym__binary_minus] = ACTIONS(5472),
    [sym__binary_star] = ACTIONS(5472),
    [anon_sym_DOT] = ACTIONS(5474),
    [anon_sym_end] = ACTIONS(5472),
    [anon_sym_COMMA] = ACTIONS(15046),
    [anon_sym_PIPE] = ACTIONS(5474),
    [anon_sym_SEMI] = ACTIONS(5472),
    [anon_sym_STAR_STAR] = ACTIONS(5472),
    [anon_sym_AMP] = ACTIONS(5474),
    [anon_sym_LT] = ACTIONS(5474),
    [anon_sym_if] = ACTIONS(5472),
    [anon_sym_unless] = ACTIONS(5472),
    [anon_sym_while] = ACTIONS(5472),
    [anon_sym_until] = ACTIONS(5472),
    [anon_sym_rescue] = ACTIONS(5472),
    [anon_sym_elsif] = ACTIONS(5472),
    [anon_sym_else] = ACTIONS(5472),
    [anon_sym_AMP_DOT] = ACTIONS(5472),
    [anon_sym_QMARK] = ACTIONS(5472),
    [anon_sym_DOT_DOT] = ACTIONS(5474),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(5472),
    [anon_sym_and] = ACTIONS(5472),
    [anon_sym_or] = ACTIONS(5472),
    [anon_sym_PIPE_PIPE] = ACTIONS(5472),
    [anon_sym_AMP_AMP] = ACTIONS(5472),
    [anon_sym_LT_LT] = ACTIONS(5472),
    [anon_sym_GT_GT] = ACTIONS(5472),
    [anon_sym_EQ_EQ] = ACTIONS(5474),
    [anon_sym_BANG_EQ] = ACTIONS(5472),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(5472),
    [anon_sym_LT_EQ_GT] = ACTIONS(5472),
    [anon_sym_EQ_TILDE] = ACTIONS(5472),
    [anon_sym_BANG_TILDE] = ACTIONS(5472),
    [anon_sym_LT_EQ] = ACTIONS(5474),
    [anon_sym_GT] = ACTIONS(5474),
    [anon_sym_GT_EQ] = ACTIONS(5472),
    [anon_sym_CARET] = ACTIONS(5472),
    [anon_sym_PLUS] = ACTIONS(5472),
    [anon_sym_SLASH] = ACTIONS(5472),
    [anon_sym_PERCENT] = ACTIONS(5472),
    [sym_comment] = ACTIONS(110),
  },
  [10045] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(12211),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7028),
    [sym_call] = STATE(7028),
    [sym_method_call] = STATE(338),
    [sym_splat_argument] = STATE(3785),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_right_assignment_list] = STATE(3786),
    [sym__arg_or_splat_arg] = STATE(12212),
    [sym_left_assignment_list] = STATE(7030),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7031),
    [sym__variable] = STATE(7028),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__splat_star] = ACTIONS(12834),
    [sym__unary_minus] = ACTIONS(9570),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(12820),
    [anon_sym_yield] = ACTIONS(12822),
    [anon_sym_break] = ACTIONS(12824),
    [anon_sym_next] = ACTIONS(12826),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(12828),
    [anon_sym_defined_QMARK] = ACTIONS(9580),
    [anon_sym_not] = ACTIONS(12830),
    [anon_sym_BANG] = ACTIONS(9586),
    [anon_sym_TILDE] = ACTIONS(9586),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [10046] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(12213),
    [sym__primary] = STATE(1173),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(338),
    [sym_scope_resolution] = STATE(7028),
    [sym_call] = STATE(7028),
    [sym_method_call] = STATE(338),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(7030),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(7031),
    [sym__variable] = STATE(7028),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(1169),
    [sym_true] = STATE(338),
    [sym_false] = STATE(338),
    [sym_self] = STATE(1169),
    [sym_nil] = STATE(338),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(9570),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(1894),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(12820),
    [anon_sym_yield] = ACTIONS(12822),
    [anon_sym_break] = ACTIONS(12824),
    [anon_sym_next] = ACTIONS(12826),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(12828),
    [anon_sym_defined_QMARK] = ACTIONS(9580),
    [anon_sym_not] = ACTIONS(12830),
    [anon_sym_BANG] = ACTIONS(9586),
    [anon_sym_TILDE] = ACTIONS(9586),
    [sym_constant] = ACTIONS(2732),
    [sym_identifier] = ACTIONS(2732),
    [sym_instance_variable] = ACTIONS(1914),
    [sym_class_variable] = ACTIONS(1914),
    [sym_global_variable] = ACTIONS(1914),
    [anon_sym_false] = ACTIONS(596),
    [anon_sym_nil] = ACTIONS(598),
    [anon_sym_self] = ACTIONS(2734),
    [anon_sym_super] = ACTIONS(2736),
    [anon_sym_true] = ACTIONS(594),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(594),
    [anon_sym_FALSE] = ACTIONS(596),
    [anon_sym_NIL] = ACTIONS(598),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [10047] = {
    [sym_method] = STATE(12),
    [sym_singleton_method] = STATE(12),
    [sym_class] = STATE(12),
    [sym_singleton_class] = STATE(12),
    [sym_module] = STATE(12),
    [sym_return] = STATE(12),
    [sym_yield] = STATE(12),
    [sym_break] = STATE(12),
    [sym_next] = STATE(12),
    [sym_redo] = STATE(12),
    [sym_retry] = STATE(12),
    [sym_while] = STATE(12),
    [sym_until] = STATE(12),
    [sym_for] = STATE(12),
    [sym_case] = STATE(12),
    [sym_if] = STATE(12),
    [sym_unless] = STATE(12),
    [sym_begin] = STATE(12),
    [sym__arg] = STATE(12214),
    [sym__primary] = STATE(238),
    [sym_parenthesized_statements] = STATE(12),
    [sym_element_reference] = STATE(61),
    [sym_scope_resolution] = STATE(3868),
    [sym_call] = STATE(3868),
    [sym_method_call] = STATE(61),
    [sym_assignment] = STATE(344),
    [sym_operator_assignment] = STATE(344),
    [sym_conditional] = STATE(344),
    [sym_range] = STATE(344),
    [sym_binary] = STATE(344),
    [sym_unary] = STATE(344),
    [sym_left_assignment_list] = STATE(10003),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(10004),
    [sym__variable] = STATE(3868),
    [sym_symbol] = STATE(12),
    [sym_complex] = STATE(12),
    [sym_rational] = STATE(12),
    [sym_super] = STATE(231),
    [sym_true] = STATE(61),
    [sym_false] = STATE(61),
    [sym_self] = STATE(231),
    [sym_nil] = STATE(61),
    [sym_chained_string] = STATE(12),
    [sym_string] = STATE(69),
    [sym_subshell] = STATE(12),
    [sym_array] = STATE(12),
    [sym_hash] = STATE(12),
    [sym_regex] = STATE(12),
    [sym_lambda] = STATE(12),
    [sym__simple_string] = ACTIONS(10),
    [sym__simple_symbol] = ACTIONS(12),
    [sym__simple_subshell] = ACTIONS(14),
    [sym__simple_regex] = ACTIONS(16),
    [sym__simple_word_list] = ACTIONS(18),
    [sym__string_beginning] = ACTIONS(20),
    [sym__symbol_beginning] = ACTIONS(22),
    [sym__subshell_beginning] = ACTIONS(24),
    [sym__regex_beginning] = ACTIONS(26),
    [sym__word_list_beginning] = ACTIONS(28),
    [sym_heredoc_beginning] = ACTIONS(30),
    [sym__unary_minus] = ACTIONS(12810),
    [anon_sym_LBRACE] = ACTIONS(40),
    [anon_sym_def] = ACTIONS(44),
    [anon_sym_LPAREN] = ACTIONS(46),
    [anon_sym_COLON_COLON] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(54),
    [anon_sym_module] = ACTIONS(56),
    [anon_sym_return] = ACTIONS(5578),
    [anon_sym_yield] = ACTIONS(5580),
    [anon_sym_break] = ACTIONS(5582),
    [anon_sym_next] = ACTIONS(5584),
    [anon_sym_redo] = ACTIONS(66),
    [anon_sym_retry] = ACTIONS(68),
    [anon_sym_if] = ACTIONS(70),
    [anon_sym_unless] = ACTIONS(72),
    [anon_sym_while] = ACTIONS(74),
    [anon_sym_until] = ACTIONS(76),
    [anon_sym_for] = ACTIONS(78),
    [anon_sym_case] = ACTIONS(80),
    [anon_sym_begin] = ACTIONS(82),
    [anon_sym_PLUS] = ACTIONS(12812),
    [anon_sym_defined_QMARK] = ACTIONS(12814),
    [anon_sym_not] = ACTIONS(12816),
    [anon_sym_BANG] = ACTIONS(12818),
    [anon_sym_TILDE] = ACTIONS(12818),
    [sym_constant] = ACTIONS(420),
    [sym_identifier] = ACTIONS(420),
    [sym_instance_variable] = ACTIONS(422),
    [sym_class_variable] = ACTIONS(422),
    [sym_global_variable] = ACTIONS(422),
    [anon_sym_false] = ACTIONS(98),
    [anon_sym_nil] = ACTIONS(100),
    [anon_sym_self] = ACTIONS(424),
    [anon_sym_super] = ACTIONS(426),
    [anon_sym_true] = ACTIONS(106),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(112),
    [sym_float] = ACTIONS(114),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(116),
    [anon_sym_TRUE] = ACTIONS(106),
    [anon_sym_FALSE] = ACTIONS(98),
    [anon_sym_NIL] = ACTIONS(100),
    [sym_keyword__FILE__] = ACTIONS(118),
    [sym_keyword__LINE__] = ACTIONS(118),
    [sym_keyword__ENCODING__] = ACTIONS(118),
    [sym__character_literal] = ACTIONS(120),
    [anon_sym_LBRACK] = ACTIONS(122),
    [anon_sym_DASH_GT] = ACTIONS(124),
  },
  [10048] = {
    [sym__simple_string] = ACTIONS(1398),
    [sym__simple_symbol] = ACTIONS(1398),
    [sym__simple_subshell] = ACTIONS(1398),
    [sym__simple_regex] = ACTIONS(1398),
    [sym__simple_word_list] = ACTIONS(1398),
    [sym__string_beginning] = ACTIONS(1398),
    [sym__symbol_beginning] = ACTIONS(1398),
    [sym__subshell_beginning] = ACTIONS(1398),
    [sym__regex_beginning] = ACTIONS(1398),
    [sym__word_list_beginning] = ACTIONS(1398),
    [sym_heredoc_beginning] = ACTIONS(1398),
    [sym__unary_minus] = ACTIONS(1398),
    [anon_sym_BEGIN] = ACTIONS(2666),
    [anon_sym_LBRACE] = ACTIONS(1398),
    [anon_sym_END] = ACTIONS(2666),
    [anon_sym_def] = ACTIONS(2666),
    [anon_sym_LPAREN] = ACTIONS(1398),
    [anon_sym_COLON_COLON] = ACTIONS(1398),
    [anon_sym_end] = ACTIONS(2666),
    [anon_sym_SEMI] = ACTIONS(1398),
    [anon_sym_STAR] = ACTIONS(1398),
    [anon_sym_class] = ACTIONS(2666),
    [anon_sym_module] = ACTIONS(2666),
    [anon_sym_return] = ACTIONS(2666),
    [anon_sym_yield] = ACTIONS(2666),
    [anon_sym_break] = ACTIONS(2666),
    [anon_sym_next] = ACTIONS(2666),
    [anon_sym_redo] = ACTIONS(2666),
    [anon_sym_retry] = ACTIONS(2666),
    [anon_sym_if] = ACTIONS(2666),
    [anon_sym_unless] = ACTIONS(2666),
    [anon_sym_while] = ACTIONS(2666),
    [anon_sym_until] = ACTIONS(2666),
    [anon_sym_for] = ACTIONS(2666),
    [anon_sym_case] = ACTIONS(2666),
    [anon_sym_elsif] = ACTIONS(2666),
    [anon_sym_else] = ACTIONS(2666),
    [anon_sym_then] = ACTIONS(2666),
    [anon_sym_begin] = ACTIONS(2666),
    [anon_sym_PLUS] = ACTIONS(2666),
    [anon_sym_defined_QMARK] = ACTIONS(1398),
    [anon_sym_not] = ACTIONS(2666),
    [anon_sym_BANG] = ACTIONS(1398),
    [anon_sym_TILDE] = ACTIONS(1398),
    [sym_constant] = ACTIONS(2668),
    [sym_identifier] = ACTIONS(2668),
    [sym_instance_variable] = ACTIONS(2666),
    [sym_class_variable] = ACTIONS(2666),
    [sym_global_variable] = ACTIONS(2666),
    [anon_sym_alias] = ACTIONS(2666),
    [anon_sym_false] = ACTIONS(2666),
    [anon_sym_nil] = ACTIONS(2666),
    [anon_sym_self] = ACTIONS(2666),
    [anon_sym_super] = ACTIONS(2666),
    [anon_sym_true] = ACTIONS(2666),
    [anon_sym_undef] = ACTIONS(2666),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(2666),
    [sym_float] = ACTIONS(2668),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1398),
    [anon_sym_TRUE] = ACTIONS(2666),
    [anon_sym_FALSE] = ACTIONS(2666),
    [anon_sym_NIL] = ACTIONS(2666),
    [sym_keyword__FILE__] = ACTIONS(2666),
    [sym_keyword__LINE__] = ACTIONS(2666),
    [sym_keyword__ENCODING__] = ACTIONS(2666),
    [sym__character_literal] = ACTIONS(2666),
    [anon_sym_LBRACK] = ACTIONS(1398),
    [anon_sym_DASH_GT] = ACTIONS(1398),
  },
  [10049] = {
    [sym__statement] = STATE(12215),
    [sym_method] = STATE(865),
    [sym_singleton_method] = STATE(865),
    [sym_class] = STATE(865),
    [sym_singleton_class] = STATE(865),
    [sym_module] = STATE(865),
    [sym_return] = STATE(865),
    [sym_yield] = STATE(865),
    [sym_break] = STATE(865),
    [sym_next] = STATE(865),
    [sym_redo] = STATE(865),
    [sym_retry] = STATE(865),
    [sym_if_modifier] = STATE(903),
    [sym_unless_modifier] = STATE(903),
    [sym_while_modifier] = STATE(903),
    [sym_until_modifier] = STATE(903),
    [sym_rescue_modifier] = STATE(903),
    [sym_while] = STATE(865),
    [sym_until] = STATE(865),
    [sym_for] = STATE(865),
    [sym_case] = STATE(865),
    [sym_if] = STATE(865),
    [sym_unless] = STATE(865),
    [sym_begin] = STATE(865),
    [sym__arg] = STATE(904),
    [sym__primary] = STATE(905),
    [sym_parenthesized_statements] = STATE(865),
    [sym_element_reference] = STATE(906),
    [sym_scope_resolution] = STATE(907),
    [sym_call] = STATE(907),
    [sym_method_call] = STATE(906),
    [sym_assignment] = STATE(908),
    [sym_operator_assignment] = STATE(908),
    [sym_conditional] = STATE(908),
    [sym_range] = STATE(908),
    [sym_binary] = STATE(908),
    [sym_unary] = STATE(908),
    [sym_left_assignment_list] = STATE(909),
    [sym__mlhs] = STATE(65),
    [sym__simple_mlhs] = STATE(66),
    [sym_destructured_left_assignment] = STATE(66),
    [sym_rest_assignment] = STATE(67),
    [sym__lhs] = STATE(910),
    [sym__variable] = STATE(907),
    [sym_undef] = STATE(903),
    [sym_alias] = STATE(903),
    [sym_symbol] = STATE(865),
    [sym_complex] = STATE(865),
    [sym_rational] = STATE(865),
    [sym_super] = STATE(890),
    [sym_true] = STATE(906),
    [sym_false] = STATE(906),
    [sym_self] = STATE(890),
    [sym_nil] = STATE(906),
    [sym_chained_string] = STATE(865),
    [sym_string] = STATE(911),
    [sym_subshell] = STATE(865),
    [sym_array] = STATE(865),
    [sym_hash] = STATE(865),
    [sym_regex] = STATE(865),
    [sym_lambda] = STATE(865),
    [sym_empty_statement] = STATE(903),
    [aux_sym_heredoc_end_repeat1] = STATE(12216),
    [sym__simple_string] = ACTIONS(1400),
    [sym__simple_symbol] = ACTIONS(1402),
    [sym__simple_subshell] = ACTIONS(1404),
    [sym__simple_regex] = ACTIONS(1406),
    [sym__simple_word_list] = ACTIONS(1408),
    [sym__string_beginning] = ACTIONS(1410),
    [sym__symbol_beginning] = ACTIONS(1412),
    [sym__subshell_beginning] = ACTIONS(1414),
    [sym__regex_beginning] = ACTIONS(1416),
    [sym__word_list_beginning] = ACTIONS(1418),
    [sym_heredoc_beginning] = ACTIONS(1420),
    [sym__unary_minus] = ACTIONS(1422),
    [anon_sym_LBRACE] = ACTIONS(1424),
    [anon_sym_def] = ACTIONS(1426),
    [anon_sym_LPAREN] = ACTIONS(1428),
    [anon_sym_COLON_COLON] = ACTIONS(1430),
    [anon_sym_SEMI] = ACTIONS(1432),
    [anon_sym_STAR] = ACTIONS(52),
    [anon_sym_class] = ACTIONS(1434),
    [anon_sym_module] = ACTIONS(1436),
    [anon_sym_return] = ACTIONS(1438),
    [anon_sym_yield] = ACTIONS(1440),
    [anon_sym_break] = ACTIONS(1442),
    [anon_sym_next] = ACTIONS(1444),
    [anon_sym_redo] = ACTIONS(1446),
    [anon_sym_retry] = ACTIONS(1448),
    [anon_sym_if] = ACTIONS(1450),
    [anon_sym_unless] = ACTIONS(1452),
    [anon_sym_while] = ACTIONS(1454),
    [anon_sym_until] = ACTIONS(1456),
    [anon_sym_for] = ACTIONS(1458),
    [anon_sym_case] = ACTIONS(1460),
    [anon_sym_begin] = ACTIONS(1462),
    [anon_sym_PLUS] = ACTIONS(1464),
    [anon_sym_defined_QMARK] = ACTIONS(1466),
    [anon_sym_not] = ACTIONS(1468),
    [anon_sym_BANG] = ACTIONS(1470),
    [anon_sym_TILDE] = ACTIONS(1470),
    [sym_constant] = ACTIONS(1472),
    [sym_identifier] = ACTIONS(1472),
    [sym_instance_variable] = ACTIONS(1474),
    [sym_class_variable] = ACTIONS(1474),
    [sym_global_variable] = ACTIONS(1474),
    [anon_sym_alias] = ACTIONS(1476),
    [anon_sym_false] = ACTIONS(1478),
    [anon_sym_nil] = ACTIONS(1480),
    [anon_sym_self] = ACTIONS(1482),
    [anon_sym_super] = ACTIONS(1484),
    [anon_sym_true] = ACTIONS(1486),
    [anon_sym_undef] = ACTIONS(1488),
    [sym_comment] = ACTIONS(110),
    [sym_integer] = ACTIONS(1490),
    [sym_float] = ACTIONS(1492),
    [aux_sym_SLASH_LPAREN_BSLASHd_PLUS_RPAREN_QMARK_LPAREN_BSLASH_PLUS_PIPE_DASH_RPAREN_QMARK_LPAREN_BSLASHd_PLUS_RPARENi_SLASH] = ACTIONS(1494),
    [anon_sym_TRUE] = ACTIONS(1486),
    [anon_sym_FALSE] = ACTIONS(1478),
    [anon_sym_NIL] = ACTIONS(1480),
    [sym_keyword__FILE__] = ACTIONS(1496),
    [sym_keyword__LINE__] = ACTIONS(1496),
    [sym_keyword__ENCODING__] = ACTIONS(1496),
    [sym__character_literal] = ACTIONS(1498),
    [anon_sym_LBRACK] = ACTIONS(1500),
    [anon_sym_DASH_GT] = ACTIONS(1502),
  },
  [10050] = {
    [sym__simple_string] = ACTIONS(2552),
    [sym__simple_symbol] = ACTIONS(2552),
    [sym__simple_subshell] = ACTIONS(2552),
    [sym__simple_regex] = ACTIONS(2552),
    [sym__simple_word_list] = ACTIONS(2552),
    [sym__string_beginning] = ACTIONS(2552),
    [sym__symbol_beginning] = ACTIONS(2552),
    [sym__subshell_beginning] = ACTIONS(2552),
    [sym__regex_beginning] = ACTIONS(2552),
    [sym__word_list_beginning] = ACTIONS(2552),
    [sym_heredoc_beginning] = ACTIONS(2552),
    [sym__unary_minus] = ACTIONS(2552),
    [anon_sym_BEGIN] = ACTIONS(2670),
    [anon_sym_LBRACE] = ACTIONS(2552),
    [anon_sym_END] = ACTIONS(2670),
    [anon_sym_def] = ACTIONS(2670),
    [anon_sym_LPAREN] = ACTIONS(2552),
    [anon_sym_COLON_COLON] = ACTIONS(2552),
    [anon_sym_end] = ACTIONS(2670),
    [anon_sym_SEMI] = ACTIONS(2552),
    [anon_sym_STAR] = ACTIONS(2552),
    [anon_sym_class] =